<?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>226678</bug_id>
          
          <creation_ts>2021-06-04 22:44:54 -0700</creation_ts>
          <short_desc>Move Timing-Allow-Origin checks to the network process</short_desc>
          <delta_ts>2023-05-03 08:10:36 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>annulen</cc>
    
    <cc>berto</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>clopez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>galpeter</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>ugoel</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1767111</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-06-04 22:44:54 -0700</bug_when>
    <thetext>Move Timing-Allow-Origin checks to the network process</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767114</commentid>
    <comment_count>1</comment_count>
      <attachid>430645</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-06-04 22:51:23 -0700</bug_when>
    <thetext>Created attachment 430645
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767115</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-06-04 22:52:29 -0700</bug_when>
    <thetext>This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767568</commentid>
    <comment_count>3</comment_count>
      <attachid>430785</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-06-07 15:06:47 -0700</bug_when>
    <thetext>Created attachment 430785
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767579</commentid>
    <comment_count>4</comment_count>
      <attachid>430787</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-06-07 15:15:14 -0700</bug_when>
    <thetext>Created attachment 430787
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767839</commentid>
    <comment_count>5</comment_count>
      <attachid>430868</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-06-08 11:20:24 -0700</bug_when>
    <thetext>Created attachment 430868
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767858</commentid>
    <comment_count>6</comment_count>
      <attachid>430876</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-06-08 12:38:32 -0700</bug_when>
    <thetext>Created attachment 430876
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767913</commentid>
    <comment_count>7</comment_count>
      <attachid>430893</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-06-08 14:43:41 -0700</bug_when>
    <thetext>Created attachment 430893
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768001</commentid>
    <comment_count>8</comment_count>
      <attachid>430927</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-06-08 17:57:35 -0700</bug_when>
    <thetext>Created attachment 430927
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768219</commentid>
    <comment_count>9</comment_count>
      <attachid>430974</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-06-09 10:18:26 -0700</bug_when>
    <thetext>Created attachment 430974
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768577</commentid>
    <comment_count>10</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-06-10 09:29:41 -0700</bug_when>
    <thetext>I need to mark http/wpt/resource-timing/rt-revalidate-requests-2.html as failing on Windows, but otherwise this should be ready for review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768580</commentid>
    <comment_count>11</comment_count>
      <attachid>430974</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-10 09:41:54 -0700</bug_when>
    <thetext>Comment on attachment 430974
Patch

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

&gt; Source/WebCore/platform/network/TimingAllowOrigin.cpp:42
&gt; +    const String&amp; timingAllowOriginString = response.httpHeaderField(HTTPHeaderName::TimingAllowOrigin);

auto&amp; ?

&gt; Source/WebCore/platform/network/TimingAllowOrigin.cpp:43
&gt; +    const String&amp; securityOrigin = initiatorSecurityOrigin.toString();

ditto.

&gt; Source/WebCore/platform/network/TimingAllowOrigin.cpp:44
&gt; +    for (auto&amp; originWithSpace : timingAllowOriginString.split(&apos;,&apos;)) {

Wouldn&apos;t it be more efficient to iterate over StringView(timingAllowOriginString).split(&apos;,&apos;) ?

&gt; Source/WebCore/platform/network/TimingAllowOrigin.cpp:45
&gt; +        auto origin = stripLeadingAndTrailingHTTPSpaces(StringView(originWithSpace));

Since you want StringViews anyway?

&gt; Source/WebCore/platform/network/TimingAllowOrigin.h:33
&gt; +WEBCORE_EXPORT bool passesTimingAllowOriginCheck(const ResourceResponse&amp;, const WebCore::SecurityOrigin&amp; initiatorSecurityOrigin);

WebCore:: is unnecessary.

&gt; Source/WebCore/platform/network/cf/ResourceHandleCFNet.cpp:525
&gt; +void ResourceHandle::platformLoadResourceSynchronously(NetworkingContext* context, const ResourceRequest&amp; request,  StoredCredentialsPolicy storedCredentialsPolicy, SecurityOrigin* sourceOrigin, ResourceError&amp; error, ResourceResponse&amp; response, Vector&lt;uint8_t&gt;&amp; data)

extra space before StoredCredentialsPolicy

&gt; Source/WebCore/platform/network/cf/ResourceHandleCFNet.cpp:540
&gt; +    RefPtr&lt;ResourceHandle&gt; handle = adoptRef(new ResourceHandle(context, request, &amp;client, defersLoading, shouldContentSniff, shouldContentEncodingSniff, sourceOrigin, false));

A comment by the &apos;false&apos; to clarify what it means or an enum class would be nice

&gt; LayoutTests/imported/w3c/web-platform-tests/resource-timing/buffer-full-inspect-buffer-during-callback-expected.txt:2
&gt; +Harness Error (TIMEOUT), message = null

Please skip in TestExpectations.

&gt; LayoutTests/imported/w3c/web-platform-tests/resource-timing/buffer-full-set-to-current-buffer-expected.txt:2
&gt; +Harness Error (TIMEOUT), message = null

Please skip in TestExpectations.

&gt; LayoutTests/imported/w3c/web-platform-tests/resource-timing/document-domain-no-impact-opener-expected.txt:2
&gt; +Harness Error (TIMEOUT), message = null

Please skip test in TestExpectations to avoid slowing runs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768599</commentid>
    <comment_count>12</comment_count>
      <attachid>431092</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-06-10 10:27:33 -0700</bug_when>
    <thetext>Created attachment 431092
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768806</commentid>
    <comment_count>13</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-06-10 16:30:49 -0700</bug_when>
    <thetext>Marked EWS failing tests as flaky and landed in r278738</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1768807</commentid>
    <comment_count>14</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-10 16:31:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/79166791&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1952638</commentid>
    <comment_count>15</comment_count>
    <who name="Anne van Kesteren">annevk</who>
    <bug_when>2023-05-03 08:10:36 -0700</bug_when>
    <thetext>*** Bug 184627 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430645</attachid>
            <date>2021-06-04 22:51:23 -0700</date>
            <delta_ts>2021-06-07 15:06:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226678-20210604225122.patch</filename>
            <type>text/plain</type>
            <size>264174</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NDc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTVhMGRiNTc5YmRmYzM2
NmMwMzY3ZmVjZGRlZWVmNzc1YWU5NDM3YS4uYjY4NDAwYjBjZDBmMzhmMTQxNDJmNTY3YzVlNmE0
OTRmZjEzNjBjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwOCBAQAorMjAyMS0wNi0wNCAgQWxl
eCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUg
VGltaW5nLUFsbG93LU9yaWdpbiBjaGVja3MgdG8gdGhlIG5ldHdvcmsgcHJvY2VzcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2Njc4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgdHJpZWQgaGFyZCB0
byBkbyBpdCBpbiB0aGUgd2ViIHByb2Nlc3MgYnkga2VlcGluZyB0cmFjayBvZiB3aGV0aGVyIHRo
ZSBsYXN0IHJlZGlyZWN0IHdhcyBjcm9zcy1vcmlnaW4KKyAgICAgICAgYW5kIGNoZWNraW5nIHRo
ZSBmaW5hbCByZXNwb25zZSBhbmQgb3JpZ2luYWwgc2VjdXJpdHkgb3JpZ2luLiAgV2UgZ290IG1h
bnkgdGVzdHMgdG8gcGFzcywgYnV0IHRvIGdldCB0aGUgcmVzdAorICAgICAgICBhbmQgYmUgY29y
cmVjdCwgd2UgbmVlZCB0byBjaGVjayB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiBoZWFkZXIgZmll
bGQgb2YgZWFjaCByZWRpcmVjdCBhZ2FpbnN0IHRoZSBvcmlnaW5hbCBzZWN1cml0eSBvcmlnaW4u
CisKKyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL1NPLVhPLVNPLXJlZGlyZWN0LWNoYWluLXRhby5odHRwcy5odG1sCisgICAgICAg
ICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9U
QU8tbWF0Y2guaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW51bGwtb3BhcXVlLW9yaWdpbi5odG1sCisgICAgICAg
ICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9U
QU8tcG9ydC1taXNtYXRjaC1tZWFucy1jcm9zc29yaWdpbi5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0aW9u
LXJldXNlLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHR0cHMuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY3Jv
c3Mtb3JpZ2luLXN0YXJ0LWVuZC10aW1lLXdpdGgtcmVkaXJlY3RzLmh0bWwKKyAgICAgICAgICAg
ICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2RvY3Vt
ZW50LWRvbWFpbi1uby1pbXBhY3Qtb3BlbmVyLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2VudHJ5LWF0dHJpYnV0ZXMu
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvZmV0Y2gtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0dHBzLmh0bWwKKyAgICAg
ICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2ZvbnQtdGltZXN0YW1wcy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9pZnJhbWUtZmFpbGVkLWNvbW1pdC5odG1sCisg
ICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9pbml0aWF0b3ItdHlwZS1mb3Itc2NyaXB0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL25leHRIb3BQcm90b2Nv
bC1pcy10YW8tcHJvdGVjdGVkLmh0dHBzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0
ZXItVEFPLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5k
LWFmdGVyLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZWRpcmVjdHMuaHRtbAor
ICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2UtaWdub3JlLWRhdGEtdXJsLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX2NhY2hl
ZC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9yZXNvdXJjZV90aW1pbmdfY29udGVudF9sZW5ndGguaHRtbAorICAgICAg
ICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
c2FtZS1vcmlnaW4tZnJvbS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMt
cmVkaXJlY3QtaW1nLmh0bWwKKworICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICog
U291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZXNvdXJjZUxvYWRlcjo6c3RhcnQpOgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZVRpbWlu
Zy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVRpbWluZzo6UmVzb3VyY2VUaW1pbmcp
OgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VUaW1pbmc6OmluaXRTZXJ2ZXJUaW1pbmcpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VUaW1pbmc6Omlzb2xhdGVkQ29weSBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpwYXNzZXNUaW1pbmdBbGxvd0NoZWNrKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBsb2FkZXIvUmVzb3VyY2VUaW1pbmcuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNl
VGltaW5nOjpuZXR3b3JrTG9hZE1ldHJpY3MgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVz
b3VyY2VUaW1pbmc6OlJlc291cmNlVGltaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNl
VGltaW5nOjphbGxvd1RpbWluZ0RldGFpbHMgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoKTog
RGVsZXRlZC4KKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZU5hdmlnYXRpb246OnJlZGlyZWN0Q291bnQgY29uc3Qp
OgorICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZzo6c2FtZU9yaWdpbkNoZWNr
RmFpbHMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGlt
aW5nOjpyZWRpcmVjdENvdW50IGNvbnN0KToKKyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZW50cnlTdGFydFRpbWUpOgorICAg
ICAgICAoV2ViQ29yZTo6ZW50cnlFbmRUaW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmc6OnJlZGlyZWN0U3RhcnQgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVkaXJlY3RFbmQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZG9tYWluTG9va3VwU3RhcnQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZG9t
YWluTG9va3VwRW5kIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmc6OmNvbm5lY3RTdGFydCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nOjpjb25uZWN0RW5kIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnNlY3VyZUNvbm5lY3Rpb25TdGFydCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXF1ZXN0U3Rh
cnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6
cmVzcG9uc2VTdGFydCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nOjp0cmFuc2ZlclNpemUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZzo6ZW5jb2RlZEJvZHlTaXplIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmRlY29kZWRCb2R5U2l6ZSBjb25zdCk6
CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZVRpbWluZzo6dW5sb2FkRXZlbnRTdGFydCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZVRpbWluZzo6dW5sb2FkRXZlbnRFbmQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OnJlZGlyZWN0U3RhcnQgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OnJlZGlyZWN0RW5kIGNvbnN0KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZXNvdXJjZUhhbmRsZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpCbG9iUmVzb3VyY2VIYW5kbGU6OkJsb2JSZXNvdXJjZUhhbmRsZSk6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrTG9hZE1ldHJpY3MuaDoKKyAgICAgICAgKFdl
YkNvcmU6Ok5ldHdvcmtMb2FkTWV0cmljczo6aXNvbGF0ZWRDb3B5IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6Ok5ldHdvcmtMb2FkTWV0cmljczo6b3BlcmF0b3I9PSBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJpY3M6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJpY3M6OmRlY29kZSk6CisgICAgICAgICogcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZUhhbmRsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhh
bmRsZTo6UmVzb3VyY2VIYW5kbGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6bG9hZFJlc291cmNl
U3luY2hyb25vdXNseSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6aXNDcm9z
c09yaWdpbldpdGhvdXRUQU8gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5k
bGU6Om1hcmtBc0Nyb3NzT3JpZ2luV2l0aG91dFRBTyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNv
dXJjZUhhbmRsZTo6c291cmNlT3JpZ2luIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlSGFuZGxlOjpoYXNDcm9zc09yaWdpblJlZGlyZWN0IGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpzZXRIYXNDcm9zc09yaWdpblJlZGlyZWN0KTog
RGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmg6CisgICAg
ICAgIChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZUludGVybmFsOjpSZXNvdXJjZUhhbmRsZUludGVy
bmFsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1RpbWluZ0FsbG93T3JpZ2luLmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpwYXNzZXNUaW1pbmdBbGxvd09yaWdpbkNoZWNrKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1RpbWluZ0FsbG93T3JpZ2luLmg6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvY29jb2EvTmV0d29ya0xvYWRNZXRyaWNzLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6cGFja2FnZVRpbWluZ0RhdGEpOgorICAgICAgICAoV2ViQ29yZTo6
Y29weVRpbWluZ0RhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNl
SGFuZGxlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OnBsYXRmb3Jt
TG9hZFJlc291cmNlU3luY2hyb25vdXNseSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9t
YWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLm1tOgorICAg
ICAgICAoLVtXZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUgY29u
bmVjdGlvbjp3aWxsU2VuZFJlcXVlc3Q6cmVkaXJlY3RSZXNwb25zZTpdKToKKyAgICAgICAgKC1b
V2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlIGNvbm5lY3Rpb246
ZGlkUmVjZWl2ZVJlc3BvbnNlOl0pOgorCiAyMDIxLTA2LTA0ICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgSW1wbGVtZW50IG9mZi1ieS1kZWZh
dWx0IGV4cGVyaW1lbnRhbCBmZWF0dXJlIGZvciBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLnRy
YW5zZmVyU2l6ZSwgZW5jb2RlZEJvZHlTaXplLCBhbmQgZGVjb2RlZEJvZHlTaXplCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IDJjN2RmYWNkYmZjYzc5ZWViN2ZkNzc3ZmZkZTI5Y2NlNTBjMTk0NGYuLmVhOTFhZTkxM2I5
ZGYyMjdmNTNjMWU4ZjBkMzA5NmY1MTgyYWRiYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAK
KzIwMjEtMDYtMDQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4K
KworICAgICAgICBNb3ZlIFRpbWluZy1BbGxvdy1PcmlnaW4gY2hlY2tzIHRvIHRoZSBuZXR3b3Jr
IHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyNjY3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRQYXJhbWV0ZXJzLmg6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0
OjpzZW5kUmVwbHlUb1N5bmNocm9ub3VzUmVxdWVzdCk6CisgICAgICAgIFBhc3MgY29tcGxldGUg
bWV0cmljcyB3aXRoIHN5bmMgeGhyIHJlc3BvbnNlcy4gIE1hbnkgb2YgdGhlIHRlc3RzIHVzZSBz
eW5jIHhoci4KKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRGaW5p
c2hMb2FkaW5nKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRG
YWlsTG9hZGluZyk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlk
UmV0cmlldmVDYWNoZUVudHJ5KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3
b3JrRGF0YVRhc2tDb2NvYS5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdv
cmtEYXRhVGFza0NvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2Nv
YTo6TmV0d29ya0RhdGFUYXNrQ29jb2EpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRh
c2tDb2NvYTo6d2lsbFBlcmZvcm1IVFRQUmVkaXJlY3Rpb24pOgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW06CisgICAgICAgICgtW1dLTmV0d29y
a1Nlc3Npb25EZWxlZ2F0ZSBVUkxTZXNzaW9uOnRhc2s6d2lsbFBlcmZvcm1IVFRQUmVkaXJlY3Rp
b246bmV3UmVxdWVzdDpjb21wbGV0aW9uSGFuZGxlcjpdKToKKyAgICAgICAgKC1bV0tOZXR3b3Jr
U2Vzc2lvbkRlbGVnYXRlIFVSTFNlc3Npb246ZGF0YVRhc2s6ZGlkUmVjZWl2ZVJlc3BvbnNlOmNv
bXBsZXRpb25IYW5kbGVyOl0pOgorCiAyMDIxLTA2LTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNo
cmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgSW1wbGVtZW50IG9mZi1ieS1kZWZhdWx0
IGV4cGVyaW1lbnRhbCBmZWF0dXJlIGZvciBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLnRyYW5z
ZmVyU2l6ZSwgZW5jb2RlZEJvZHlTaXplLCBhbmQgZGVjb2RlZEJvZHlTaXplCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hh
bmdlTG9nCmluZGV4IGVkMTUzNWJkMDliZDQzOWU3Y2NiNDVlYzhmZDRiNTgzNTkwNDQ1ZjcuLmVj
MzY2MzRlMjg2YWQ3ZDRlNzU4M2Y1NWJhMTFmNWYxMWU5MmY5M2EgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDYtMDQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hy
aXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBNb3ZlIFRpbWluZy1BbGxvdy1PcmlnaW4g
Y2hlY2tzIHRvIHRoZSBuZXR3b3JrIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjY3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGluZ0hhbmRsZS5oOgorICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHA6CisgICAg
ICAgIChXZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkp
OgorCiAyMDIxLTA1LTMwICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZW1vdmUgc29tZSBvZiB0aGUgdW5uZWVkZWQgV2ViS2l0TGVnYWN5IFdpbmRvd3Mtc3BlY2lm
aWMgcGx1Zy1pbiBjb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtl
IGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCA1NTQ2YzRkM2U2MzZmMzY2MDlj
NDE4OTA4ODJmNDE2YzdhMGVhYTE3Li43YjkzZWM4YWMzZDRiNzc2ZjQ2MTU1YTEyODEyMmFmMWU3
YjhmZDdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKQEAgLTE0ODIsNiArMTQ4Miw3IEBAIHNldChXZWJD
b3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICBwbGF0Zm9ybS9uZXR3b3JrL1N0b3Jh
Z2VTZXNzaW9uUHJvdmlkZXIuaAogICAgIHBsYXRmb3JtL25ldHdvcmsvU3RvcmVkQ3JlZGVudGlh
bHNQb2xpY3kuaAogICAgIHBsYXRmb3JtL25ldHdvcmsvU3luY2hyb25vdXNMb2FkZXJDbGllbnQu
aAorICAgIHBsYXRmb3JtL25ldHdvcmsvVGltaW5nQWxsb3dPcmlnaW4uaAogCiAgICAgcGxhdGZv
cm0vc3FsL1NRTFZhbHVlLmgKICAgICBwbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dAppbmRleCBiNGEzMDM0ZGQ2Yzk0MDNhMzEwODAzZmM4ZGQ1YzQwMGRjN2M3OGU1Li4z
ZmFiNDUzNzFlN2Y5YzMxNWVmOWM4NGFhNWU4NTUxMWU1OGUxMjFmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApA
QCAtMjE5MSw2ICsyMTkxLDcgQEAgcGxhdGZvcm0vbmV0d29yay9TYW1lU2l0ZUluZm8uY3BwCiBw
bGF0Zm9ybS9uZXR3b3JrL1NvY2tldFN0cmVhbUhhbmRsZS5jcHAKIHBsYXRmb3JtL25ldHdvcmsv
U29ja2V0U3RyZWFtSGFuZGxlSW1wbC5jcHAKIHBsYXRmb3JtL25ldHdvcmsvU3luY2hyb25vdXNM
b2FkZXJDbGllbnQuY3BwCitwbGF0Zm9ybS9uZXR3b3JrL1RpbWluZ0FsbG93T3JpZ2luLmNwcAog
cGxhdGZvcm0vc3FsL1NRTGl0ZUF1dGhvcml6ZXIuY3BwCiBwbGF0Zm9ybS9zcWwvU1FMaXRlRGF0
YWJhc2UuY3BwCiBwbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2VUcmFja2VyLmNwcApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDQ2
ZjI2ODI4NDhiMGU1OTc2MjcxNWFjMjAyYjUxNWU0ZjMzMzQxM2QuLjMzMGU5NzZlZjZjODY1ZDQ3
YWQxOTgyNTU0OGUxZmFhYzM1NTZhMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE5OTcsNiArMTk5Nyw3IEBACiAJCTVDQjM3
RkZGMUM2MkQyQTEwMEYyMDE4OCAvKiBTY3JvbGxBbmltYXRvck1vY2suaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQjM3RkZEMUM2MkQyNzgwMEYyMDE4
OCAvKiBTY3JvbGxBbmltYXRvck1vY2suaCAqLzsgfTsKIAkJNUNCQzhEQUQxQUFBMzAyMjAwRTFD
ODAzIC8qIE1lZGlhQWNjZXNzaWJpbGl0eVNvZnRMaW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1Q0JDOERBQjFBQUEzMDIyMDBFMUM4MDMgLyogTWVk
aWFBY2Nlc3NpYmlsaXR5U29mdExpbmsuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk1Q0JENTk1OTIyODBFOTI2MDAyQjIyQUEgLyogQ3VzdG9tSGVh
ZGVyRmllbGRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDVDNUQyMzg2MjI3QTA3N0MwMDBCOUJEQSAvKiBDdXN0b21IZWFkZXJGaWVsZHMuY3BwICov
OyB9OworCQk1Q0M3OTAwRTI2NkFGQTg5MDA2OTI0RkUgLyogVGltaW5nQWxsb3dPcmlnaW4uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQzc5MDBCMjY2
QUZBODgwMDY5MjRGRSAvKiBUaW1pbmdBbGxvd09yaWdpbi5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTVDQ0MyNzA5MjJENTQ4M0EwMDk2NEZBMCAv
KiBBdXRvZmlsbEVsZW1lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1Q0NDMjcwNjIyRDUzQjY4MDA5NjRGQTAgLyogQXV0b2ZpbGxFbGVtZW50cy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTVDRDlG
NTY2MUFBMEY3M0MwMERBNDVGRiAvKiBERkFCeXRlY29kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUMzOTMwNUQxQUEwRjZBOTAwMjlDODE2IC8qIERG
QUJ5dGVjb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNUNEOUY1NjcxQUEwRjc0MjAwREE0NUZGIC8qIERGQUJ5dGVjb2RlQ29tcGlsZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDMzkzMDVGMUFB
MEY2QTkwMDI5QzgxNiAvKiBERkFCeXRlY29kZUNvbXBpbGVyLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTk3MDgsNiArOTcwOSw4IEBACiAJCTVD
QjM3RkZEMUM2MkQyNzgwMEYyMDE4OCAvKiBTY3JvbGxBbmltYXRvck1vY2suaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xsQW5pbWF0b3JNb2NrLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTVDQkM4REFBMUFBQTMwMjIwMEUxQzgwMyAvKiBNZWRpYUFjY2Vz
c2liaWxpdHlTb2Z0TGluay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBNZWRpYUFjY2Vzc2liaWxpdHlTb2Z0TGluay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTVDQkM4REFCMUFBQTMwMjIwMEUxQzgwMyAvKiBNZWRpYUFjY2Vzc2liaWxpdHlTb2Z0
TGluay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUFjY2Vzc2liaWxp
dHlTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1Q0M3OTAwQjI2NkFG
QTg4MDA2OTI0RkUgLyogVGltaW5nQWxsb3dPcmlnaW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gVGltaW5nQWxsb3dPcmlnaW4uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNUNDNzkwMEQyNjZBRkE4OTAwNjkyNEZFIC8qIFRpbWluZ0FsbG93T3JpZ2luLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRpbWluZ0FsbG93T3JpZ2luLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNDQzI3MDYyMkQ1M0I2ODAwOTY0RkEw
IC8qIEF1dG9maWxsRWxlbWVudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
QXV0b2ZpbGxFbGVtZW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0NDMjcw
NzIyRDUzQjY5MDA5NjRGQTAgLyogQXV0b2ZpbGxFbGVtZW50cy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBdXRvZmlsbEVsZW1lbnRzLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNUNEQ0REQkYyM0Q3QjdCRTAwQkEzNEExIC8qIENvbnRlbnRGaWx0
ZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29udGVudEZpbHRl
ckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjIyMTksNiArMjIyMjIs
OCBAQAogCQkJCTQ2ODJEMUZGMUY3OTc4MjMwMEM4NjNEQiAvKiBTdG9yZWRDcmVkZW50aWFsc1Bv
bGljeS5oICovLAogCQkJCUUxODA4MTEwMTZGQ0Y0MkUwMEI4MEQwNyAvKiBTeW5jaHJvbm91c0xv
YWRlckNsaWVudC5jcHAgKi8sCiAJCQkJRTE4MDgxMTUxNkZDRjlDQjAwQjgwRDA3IC8qIFN5bmNo
cm9ub3VzTG9hZGVyQ2xpZW50LmggKi8sCisJCQkJNUNDNzkwMEQyNjZBRkE4OTAwNjkyNEZFIC8q
IFRpbWluZ0FsbG93T3JpZ2luLmNwcCAqLywKKwkJCQk1Q0M3OTAwQjI2NkFGQTg4MDA2OTI0RkUg
LyogVGltaW5nQWxsb3dPcmlnaW4uaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gbmV0d29yazsKIAkJ
CXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0zNTc1Nyw2ICszNTc2Miw3IEBACiAJCQkJOTMw
NUIyNEQwOThGMUI2QjAwQzI4ODU1IC8qIFRpbWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlFNDQ2
MTNCMDBDRDYzMzEwMDBGQURBNzUgLyogVGltZVJhbmdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MkQ3RUQwQUIxQkFFOTkxNzAwNDNCM0U1IC8qIFRpbWVyRXZlbnRCYXNlZE1vY2suaCBpbiBIZWFk
ZXJzICovLAorCQkJCTVDQzc5MDBFMjY2QUZBODkwMDY5MjRGRSAvKiBUaW1pbmdBbGxvd09yaWdp
bi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlFOTEyQUUwRUZBQzkwNjAwOUQwQ0FGIC8qIFRpbWlu
Z0Z1bmN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjU0REQwODE4ODFENUY1MDAzRUVEQkIg
LyogVG91Y2guaCBpbiBIZWFkZXJzICovLAogCQkJCTcxQjdFRTBEMjFCNUM2ODcwMDMxQzFFRiAv
KiBUb3VjaEFjdGlvbi5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291
cmNlTG9hZGVyLmNwcAppbmRleCA1MzUzOWZiNjdkZTFmNWYxNjI4NDI5ZGIzZjFhYjJmNTNjZWRk
NjcyLi42YjQyMmRkYjQzOTc3MGE3ZjBjNWEwNmFjYzA2ZmJhZDRjY2JjNGMxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKQEAgLTUxLDYgKzUxLDcgQEAKICNpbmNs
dWRlICJSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5j
bHVkZSAiU2hhcmVkQnVmZmVyLmgiCisjaW5jbHVkZSAiU3VicmVzb3VyY2VMb2FkZXIuaCIKICNp
bmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAK
QEAgLTI0MSw3ICsyNDIsMTMgQEAgdm9pZCBSZXNvdXJjZUxvYWRlcjo6c3RhcnQoKQogICAgIH0K
ICNlbmRpZgogCi0gICAgbV9oYW5kbGUgPSBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlKGZyYW1lTG9h
ZGVyKCktPm5ldHdvcmtpbmdDb250ZXh0KCksIG1fcmVxdWVzdCwgdGhpcywgbV9kZWZlcnNMb2Fk
aW5nLCBtX29wdGlvbnMuc25pZmZDb250ZW50ID09IENvbnRlbnRTbmlmZmluZ1BvbGljeTo6U25p
ZmZDb250ZW50LCBtX29wdGlvbnMuc25pZmZDb250ZW50RW5jb2RpbmcgPT0gQ29udGVudEVuY29k
aW5nU25pZmZpbmdQb2xpY3k6OlNuaWZmKTsKKyAgICBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHNv
dXJjZU9yaWdpbiA9IGlzPFN1YnJlc291cmNlTG9hZGVyPigqdGhpcykgPyBkb3duY2FzdDxTdWJy
ZXNvdXJjZUxvYWRlcj4oKnRoaXMpLm9yaWdpbigpIDogbnVsbHB0cjsKKyAgICBpZiAoIXNvdXJj
ZU9yaWdpbiAmJiBmcmFtZUxvYWRlcigpKSB7CisgICAgICAgIGF1dG8qIGRvY3VtZW50ID0gZnJh
bWVMb2FkZXIoKS0+ZnJhbWUoKS5kb2N1bWVudCgpOworICAgICAgICBzb3VyY2VPcmlnaW4gPSAg
ZG9jdW1lbnQgPyAmZG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2luKCkgOiBudWxscHRyOworICAgIH0K
KworICAgIG1faGFuZGxlID0gUmVzb3VyY2VIYW5kbGU6OmNyZWF0ZShmcmFtZUxvYWRlcigpLT5u
ZXR3b3JraW5nQ29udGV4dCgpLCBtX3JlcXVlc3QsIHRoaXMsIG1fZGVmZXJzTG9hZGluZywgbV9v
cHRpb25zLnNuaWZmQ29udGVudCA9PSBDb250ZW50U25pZmZpbmdQb2xpY3k6OlNuaWZmQ29udGVu
dCwgbV9vcHRpb25zLnNuaWZmQ29udGVudEVuY29kaW5nID09IENvbnRlbnRFbmNvZGluZ1NuaWZm
aW5nUG9saWN5OjpTbmlmZiwgV1RGTW92ZShzb3VyY2VPcmlnaW4pKTsKIH0KIAogdm9pZCBSZXNv
dXJjZUxvYWRlcjo6c2V0RGVmZXJzTG9hZGluZyhib29sIGRlZmVycykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZVRpbWluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VUaW1pbmcuY3BwCmluZGV4IDQ5OGUzMzI3NGJmOWI5ODJjOWU5ODUyY2U5
MjdiZWNmNGEyODNhMDUuLmZlMmU5NjYzZjI4YmY4MmQ0ZjUyMDJjYTFmZGNmY2RkYjkzMzUxNzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZVRpbWluZy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nLmNwcApAQCAtMzUsMjggKzM1
LDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgYm9vbCBwYXNzZXNUaW1pbmdB
bGxvd0NoZWNrKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25zdCBTZWN1cml0
eU9yaWdpbiYgaW5pdGlhdG9yU2VjdXJpdHlPcmlnaW4pCi17Ci0gICAgUmVmPFNlY3VyaXR5T3Jp
Z2luPiByZXNvdXJjZU9yaWdpbiA9IFNlY3VyaXR5T3JpZ2luOjpjcmVhdGUocmVzcG9uc2UudXJs
KCkpOwotICAgIGlmIChyZXNvdXJjZU9yaWdpbi0+aXNTYW1lU2NoZW1lSG9zdFBvcnQoaW5pdGlh
dG9yU2VjdXJpdHlPcmlnaW4pKQotICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGNvbnN0IFN0
cmluZyYgdGltaW5nQWxsb3dPcmlnaW5TdHJpbmcgPSByZXNwb25zZS5odHRwSGVhZGVyRmllbGQo
SFRUUEhlYWRlck5hbWU6OlRpbWluZ0FsbG93T3JpZ2luKTsKLSAgICBpZiAodGltaW5nQWxsb3dP
cmlnaW5TdHJpbmcuaXNFbXB0eSgpIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHRp
bWluZ0FsbG93T3JpZ2luU3RyaW5nLCAibnVsbCIpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0K
LSAgICBpZiAodGltaW5nQWxsb3dPcmlnaW5TdHJpbmcgPT0gIioiKQotICAgICAgICByZXR1cm4g
dHJ1ZTsKLQotICAgIGNvbnN0IFN0cmluZyYgc2VjdXJpdHlPcmlnaW4gPSBpbml0aWF0b3JTZWN1
cml0eU9yaWdpbi50b1N0cmluZygpOwotICAgIGZvciAoYXV0byYgb3JpZ2luIDogdGltaW5nQWxs
b3dPcmlnaW5TdHJpbmcuc3BsaXQoJywnKSkgewotICAgICAgICBpZiAob3JpZ2luLnN0cmlwV2hp
dGVTcGFjZSgpID09IHNlY3VyaXR5T3JpZ2luKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgfQotCi0gICAgcmV0dXJuIGZhbHNlOwotfQotCiBSZXNvdXJjZVRpbWluZyBSZXNvdXJjZVRp
bWluZzo6ZnJvbU1lbW9yeUNhY2hlKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIGluaXRp
YXRvciwgY29uc3QgUmVzb3VyY2VMb2FkVGltaW5nJiBsb2FkVGltaW5nLCBjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJiByZXNwb25zZSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHNlY3VyaXR5T3JpZ2lu
KQogewogICAgIHJldHVybiBSZXNvdXJjZVRpbWluZyh1cmwsIGluaXRpYXRvciwgbG9hZFRpbWlu
ZywgcmVzcG9uc2UsIHNlY3VyaXR5T3JpZ2luKTsKQEAgLTcyLDI4ICs1MCwyNiBAQCBSZXNvdXJj
ZVRpbWluZyBSZXNvdXJjZVRpbWluZzo6ZnJvbVN5bmNocm9ub3VzTG9hZChjb25zdCBVUkwmIHVy
bCwgY29uc3QgU3RyaW5nJgogICAgIHJldHVybiBSZXNvdXJjZVRpbWluZyh1cmwsIGluaXRpYXRv
ciwgbG9hZFRpbWluZywgbmV0d29ya0xvYWRNZXRyaWNzLCByZXNwb25zZSwgc2VjdXJpdHlPcmln
aW4pOwogfQogCi1SZXNvdXJjZVRpbWluZzo6UmVzb3VyY2VUaW1pbmcoY29uc3QgVVJMJiB1cmws
IGNvbnN0IFN0cmluZyYgaW5pdGlhdG9yLCBjb25zdCBSZXNvdXJjZUxvYWRUaW1pbmcmIGxvYWRU
aW1pbmcsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25zdCBTZWN1cml0eU9y
aWdpbiYgc2VjdXJpdHlPcmlnaW4pCitSZXNvdXJjZVRpbWluZzo6UmVzb3VyY2VUaW1pbmcoY29u
c3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgaW5pdGlhdG9yLCBjb25zdCBSZXNvdXJjZUxvYWRU
aW1pbmcmIGxvYWRUaW1pbmcsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25z
dCBTZWN1cml0eU9yaWdpbiYpCiAgICAgOiBtX3VybCh1cmwpCiAgICAgLCBtX2luaXRpYXRvcihp
bml0aWF0b3IpCiAgICAgLCBtX3Jlc291cmNlTG9hZFRpbWluZyhsb2FkVGltaW5nKQotICAgICwg
bV9hbGxvd1RpbWluZ0RldGFpbHMocGFzc2VzVGltaW5nQWxsb3dDaGVjayhyZXNwb25zZSwgc2Vj
dXJpdHlPcmlnaW4pKQogewogICAgIGluaXRTZXJ2ZXJUaW1pbmcocmVzcG9uc2UpOwogfQogCi1S
ZXNvdXJjZVRpbWluZzo6UmVzb3VyY2VUaW1pbmcoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmlu
ZyYgaW5pdGlhdG9yLCBjb25zdCBSZXNvdXJjZUxvYWRUaW1pbmcmIHRpbWluZywgY29uc3QgTmV0
d29ya0xvYWRNZXRyaWNzJiBuZXR3b3JrTG9hZE1ldHJpY3MsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmIHJlc3BvbnNlLCBjb25zdCBTZWN1cml0eU9yaWdpbiYgc2VjdXJpdHlPcmlnaW4pCitSZXNv
dXJjZVRpbWluZzo6UmVzb3VyY2VUaW1pbmcoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYg
aW5pdGlhdG9yLCBjb25zdCBSZXNvdXJjZUxvYWRUaW1pbmcmIHRpbWluZywgY29uc3QgTmV0d29y
a0xvYWRNZXRyaWNzJiBuZXR3b3JrTG9hZE1ldHJpY3MsIGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
IHJlc3BvbnNlLCBjb25zdCBTZWN1cml0eU9yaWdpbiYpCiAgICAgOiBtX3VybCh1cmwpCiAgICAg
LCBtX2luaXRpYXRvcihpbml0aWF0b3IpCiAgICAgLCBtX3Jlc291cmNlTG9hZFRpbWluZyh0aW1p
bmcpCiAgICAgLCBtX25ldHdvcmtMb2FkTWV0cmljcyhuZXR3b3JrTG9hZE1ldHJpY3MpCi0gICAg
LCBtX2FsbG93VGltaW5nRGV0YWlscyhwYXNzZXNUaW1pbmdBbGxvd0NoZWNrKHJlc3BvbnNlLCBz
ZWN1cml0eU9yaWdpbikpCiB7CiAgICAgaW5pdFNlcnZlclRpbWluZyhyZXNwb25zZSk7CiB9CiAK
IHZvaWQgUmVzb3VyY2VUaW1pbmc6OmluaXRTZXJ2ZXJUaW1pbmcoY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYgcmVzcG9uc2UpCiB7Ci0gICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkuc2VydmVyVGltaW5nRW5hYmxlZCgpICYmIG1fYWxsb3dUaW1pbmdEZXRhaWxz
KQorICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNlcnZl
clRpbWluZ0VuYWJsZWQoKSAmJiAhbV9uZXR3b3JrTG9hZE1ldHJpY3MuaXNDcm9zc09yaWdpbldp
dGhvdXRUQU8pCiAgICAgICAgIG1fc2VydmVyVGltaW5nID0gU2VydmVyVGltaW5nUGFyc2VyOjpw
YXJzZVNlcnZlclRpbWluZyhyZXNwb25zZS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6
OlNlcnZlclRpbWluZykpOwogfQogCkBAIC0xMTEsNyArODcsNiBAQCBSZXNvdXJjZVRpbWluZyBS
ZXNvdXJjZVRpbWluZzo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKICAgICAgICAgbV9pbml0aWF0b3Iu
aXNvbGF0ZWRDb3B5KCksCiAgICAgICAgIG1fcmVzb3VyY2VMb2FkVGltaW5nLmlzb2xhdGVkQ29w
eSgpLAogICAgICAgICBtX25ldHdvcmtMb2FkTWV0cmljcy5pc29sYXRlZENvcHkoKSwKLSAgICAg
ICAgbV9hbGxvd1RpbWluZ0RldGFpbHMsCiAgICAgICAgIGNyb3NzVGhyZWFkQ29weShtX3NlcnZl
clRpbWluZykKICAgICApOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jl
c291cmNlVGltaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VUaW1pbmcuaApp
bmRleCBkM2IyYjliMzk4NDVmMGFkNjc2MmMzMjhlMDYyOWRlZmZiYjgyNzI2Li5hY2JhZmJkODVi
YTI1ZDU0OTBiMThhNWE3Y2Y1NjNiZGYxZmE2MjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VUaW1pbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVz
b3VyY2VUaW1pbmcuaApAQCAtNDksNyArNDksNiBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5n
JiBpbml0aWF0b3IoKSBjb25zdCB7IHJldHVybiBtX2luaXRpYXRvcjsgfQogICAgIGNvbnN0IFJl
c291cmNlTG9hZFRpbWluZyYgcmVzb3VyY2VMb2FkVGltaW5nKCkgY29uc3QgeyByZXR1cm4gbV9y
ZXNvdXJjZUxvYWRUaW1pbmc7IH0KICAgICBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG5ldHdv
cmtMb2FkTWV0cmljcygpIGNvbnN0IHsgcmV0dXJuIG1fbmV0d29ya0xvYWRNZXRyaWNzOyB9Ci0g
ICAgYm9vbCBhbGxvd1RpbWluZ0RldGFpbHMoKSBjb25zdCB7IHJldHVybiBtX2FsbG93VGltaW5n
RGV0YWlsczsgfQogICAgIFZlY3RvcjxSZWY8UGVyZm9ybWFuY2VTZXJ2ZXJUaW1pbmc+PiBwb3B1
bGF0ZVNlcnZlclRpbWluZygpIGNvbnN0OwogICAgIFJlc291cmNlVGltaW5nIGlzb2xhdGVkQ29w
eSgpIGNvbnN0OwogCkBAIC01OCwxMiArNTcsMTEgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBS
ZXNvdXJjZVRpbWluZyhjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIGluaXRpYXRvciwgY29uc3Qg
UmVzb3VyY2VMb2FkVGltaW5nJiwgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJiwgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJik7CiAgICAgUmVzb3VyY2VUaW1p
bmcoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiBpbml0aWF0b3IsIGNvbnN0IFJlc291cmNlTG9h
ZFRpbWluZyYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBTZWN1cml0eU9yaWdpbiYp
OwotICAgIFJlc291cmNlVGltaW5nKFVSTCYmIHVybCwgU3RyaW5nJiYgaW5pdGlhdG9yLCBjb25z
dCBSZXNvdXJjZUxvYWRUaW1pbmcmIHJlc291cmNlTG9hZFRpbWluZywgTmV0d29ya0xvYWRNZXRy
aWNzJiYgbmV0d29ya0xvYWRNZXRyaWNzLCBib29sIGFsbG93VGltaW5nRGV0YWlscywgVmVjdG9y
PFNlcnZlclRpbWluZz4mJiBzZXJ2ZXJUaW1pbmcpCisgICAgUmVzb3VyY2VUaW1pbmcoVVJMJiYg
dXJsLCBTdHJpbmcmJiBpbml0aWF0b3IsIGNvbnN0IFJlc291cmNlTG9hZFRpbWluZyYgcmVzb3Vy
Y2VMb2FkVGltaW5nLCBOZXR3b3JrTG9hZE1ldHJpY3MmJiBuZXR3b3JrTG9hZE1ldHJpY3MsIFZl
Y3RvcjxTZXJ2ZXJUaW1pbmc+JiYgc2VydmVyVGltaW5nKQogICAgICAgICA6IG1fdXJsKFdURk1v
dmUodXJsKSkKICAgICAgICAgLCBtX2luaXRpYXRvcihXVEZNb3ZlKGluaXRpYXRvcikpCiAgICAg
ICAgICwgbV9yZXNvdXJjZUxvYWRUaW1pbmcocmVzb3VyY2VMb2FkVGltaW5nKQogICAgICAgICAs
IG1fbmV0d29ya0xvYWRNZXRyaWNzKFdURk1vdmUobmV0d29ya0xvYWRNZXRyaWNzKSkKLSAgICAg
ICAgLCBtX2FsbG93VGltaW5nRGV0YWlscyhhbGxvd1RpbWluZ0RldGFpbHMpCiAgICAgICAgICwg
bV9zZXJ2ZXJUaW1pbmcoV1RGTW92ZShzZXJ2ZXJUaW1pbmcpKQogICAgIHsKICAgICB9CkBAIC03
Myw3ICs3MSw2IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1faW5pdGlhdG9yOwogICAgIFJlc291
cmNlTG9hZFRpbWluZyBtX3Jlc291cmNlTG9hZFRpbWluZzsKICAgICBOZXR3b3JrTG9hZE1ldHJp
Y3MgbV9uZXR3b3JrTG9hZE1ldHJpY3M7Ci0gICAgYm9vbCBtX2FsbG93VGltaW5nRGV0YWlscyB7
IGZhbHNlIH07CiAgICAgVmVjdG9yPFNlcnZlclRpbWluZz4gbV9zZXJ2ZXJUaW1pbmc7CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAKaW5kZXgg
MGNjNzNmZGY4NjNjNDIxYzVkYWFkYTJmMjViY2EyNTRhOGU5NmU4YS4uYzFjNDhkNmYxODgyZmZh
ZDU3MWM1NTk2ODkxZWIwZjAwYmIwMTBkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVy
Zm9ybWFuY2VOYXZpZ2F0aW9uLmNwcApAQCAtNzgsNyArNzgsNyBAQCB1bnNpZ25lZCBzaG9ydCBQ
ZXJmb3JtYW5jZU5hdmlnYXRpb246OnJlZGlyZWN0Q291bnQoKSBjb25zdAogICAgIGlmICghbWV0
cmljcykKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBpZiAobWV0cmljcy0+aGFzQ3Jvc3NPcmln
aW5SZWRpcmVjdCkKKyAgICBpZiAobWV0cmljcy0+aXNDcm9zc09yaWdpbldpdGhvdXRUQU8pCiAg
ICAgICAgIHJldHVybiAwOwogCiAgICAgcmV0dXJuIG1ldHJpY3MtPnJlZGlyZWN0Q291bnQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWlu
Zy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZy5j
cHAKaW5kZXggNjhkMmNjNzU4YzNmMTU0YWZhYTFiYWYyMmY1ZTRkMzA3OGY0NzM1OS4uNmM1ZGM2
MzFkM2I4YmFlMThjOWM4YzA2YzhkNWI5NzJmZTkzMzYwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nLmNwcApAQCAtNjgsOCArNjgs
NyBAQCBkb3VibGUgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nOjptaWxsaXNlY29uZHNTaW5j
ZU9yaWdpbihNb25vdG9uaWNUaW1lIHRpbWUpCiBib29sIFBlcmZvcm1hbmNlTmF2aWdhdGlvblRp
bWluZzo6c2FtZU9yaWdpbkNoZWNrRmFpbHMoKSBjb25zdAogewogICAgIC8vIGh0dHBzOi8vd3d3
LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy0yLyNkZm4tc2FtZS1vcmlnaW4tY2hlY2sKLSAg
ICByZXR1cm4gIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAg
fHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJl
ZGlyZWN0CisgICAgcmV0dXJuIG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCku
aXNDcm9zc09yaWdpbldpdGhvdXRUQU8KICAgICAgICAgfHwgIW1fZG9jdW1lbnRMb2FkVGltaW5n
Lmhhc1NhbWVPcmlnaW5Bc1ByZXZpb3VzRG9jdW1lbnQoKTsKIH0KIApAQCAtMTI0LDEwICsxMjMs
NyBAQCBQZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmc6Ok5hdmlnYXRpb25UeXBlIFBlcmZvcm1h
bmNlTmF2aWdhdGlvblRpbWluZzo6dHlwZSgpCiAKIHVuc2lnbmVkIHNob3J0IFBlcmZvcm1hbmNl
TmF2aWdhdGlvblRpbWluZzo6cmVkaXJlY3RDb3VudCgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3Jl
c291cmNlVGltaW5nLmFsbG93VGltaW5nRGV0YWlscygpKQotICAgICAgICByZXR1cm4gMDsKLQot
ICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmhhc0Nyb3NzT3Jp
Z2luUmVkaXJlY3QpCisgICAgaWYgKG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNz
KCkuaXNDcm9zc09yaWdpbldpdGhvdXRUQU8pCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgcmV0
dXJuIG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkucmVkaXJlY3RDb3VudDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
Zy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3Bw
CmluZGV4IDU5YjFhZTZmY2NlNzRkYzcxYTg4Y2ViNWRhYjU3MGZhOGY0YWU3MjIuLjI3YmFmOTRm
NjQwZTIwMDU2ZmE0M2Y5NWMwZDA5OTM5NDI0MzA4MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcApAQCAtNjQsOCArNjQsNyBAQCBz
dGF0aWMgZG91YmxlIGZldGNoU3RhcnQoTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBS
ZXNvdXJjZVRpbWluZyYgcmVzb3VyYwogCiBzdGF0aWMgZG91YmxlIGVudHJ5U3RhcnRUaW1lKE1v
bm90b25pY1RpbWUgdGltZU9yaWdpbiwgY29uc3QgUmVzb3VyY2VUaW1pbmcmIHJlc291cmNlVGlt
aW5nKQogewotICAgIGlmICghcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAg
ICAgICAgfHwgcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmln
aW5SZWRpcmVjdAorICAgIGlmIChyZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5p
c0Nyb3NzT3JpZ2luV2l0aG91dFRBTwogICAgICAgICB8fCAhcmVzb3VyY2VUaW1pbmcubmV0d29y
a0xvYWRNZXRyaWNzKCkucmVkaXJlY3RDb3VudCkKICAgICAgICAgcmV0dXJuIGZldGNoU3RhcnQo
dGltZU9yaWdpbiwgcmVzb3VyY2VUaW1pbmcpOwogCkBAIC03Nyw5ICs3Niw2IEBAIHN0YXRpYyBk
b3VibGUgZW50cnlTdGFydFRpbWUoTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZXNv
dXJjZVRpbWluZyYgcmVzCiAKIHN0YXRpYyBkb3VibGUgZW50cnlFbmRUaW1lKE1vbm90b25pY1Rp
bWUgdGltZU9yaWdpbiwgY29uc3QgUmVzb3VyY2VUaW1pbmcmIHJlc291cmNlVGltaW5nKQogewot
ICAgIGlmICghcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkpCi0gICAgICAgIHJl
dHVybiBlbnRyeVN0YXJ0VGltZSh0aW1lT3JpZ2luLCByZXNvdXJjZVRpbWluZyk7Ci0KICAgICBp
ZiAocmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkucmVzcG9uc2VFbmQpCiAgICAg
ICAgIHJldHVybiBuZXR3b3JrTG9hZFRpbWVUb0RPTUhpZ2hSZXNUaW1lU3RhbXAodGltZU9yaWdp
biwgcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkucmVzcG9uc2VFbmQpOwogCkBA
IC0xMTQsOCArMTEwLDcgQEAgZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6Ondvcmtl
clN0YXJ0KCkgY29uc3QKIAogZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlZGly
ZWN0U3RhcnQoKSBjb25zdAogewotICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5hbGxvd1RpbWlu
Z0RldGFpbHMoKQotICAgICAgICB8fCBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmlj
cygpLmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QpCisgICAgaWYgKG1fcmVzb3VyY2VUaW1pbmcubmV0
d29ya0xvYWRNZXRyaWNzKCkuaXNDcm9zc09yaWdpbldpdGhvdXRUQU8pCiAgICAgICAgIHJldHVy
biAwLjA7CiAKICAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCku
cmVkaXJlY3RDb3VudCkKQEAgLTEyNiw4ICsxMjEsNyBAQCBkb3VibGUgUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZzo6cmVkaXJlY3RTdGFydCgpIGNvbnN0CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nOjpyZWRpcmVjdEVuZCgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3Jlc291cmNl
VGltaW5nLmFsbG93VGltaW5nRGV0YWlscygpCi0gICAgICAgIHx8IG1fcmVzb3VyY2VUaW1pbmcu
bmV0d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKKyAgICBpZiAobV9y
ZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5pc0Nyb3NzT3JpZ2luV2l0aG91dFRB
TykKICAgICAgICAgcmV0dXJuIDAuMDsKIAogICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5uZXR3
b3JrTG9hZE1ldHJpY3MoKS5yZWRpcmVjdENvdW50KQpAQCAtMTQ1LDggKzEzOSw3IEBAIGRvdWJs
ZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpmZXRjaFN0YXJ0KCkgY29uc3QKIAogZG91Ymxl
IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmRvbWFpbkxvb2t1cFN0YXJ0KCkgY29uc3QKIHsK
LSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAg
fHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJl
ZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmlz
Q3Jvc3NPcmlnaW5XaXRob3V0VEFPKQogICAgICAgICByZXR1cm4gMC4wOwogCiAgICAgaWYgKCFt
X3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmRvbWFpbkxvb2t1cFN0YXJ0KQpA
QCAtMTU3LDggKzE1MCw3IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21h
aW5Mb29rdXBTdGFydCgpIGNvbnN0CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
Ojpkb21haW5Mb29rdXBFbmQoKSBjb25zdAogewotICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5h
bGxvd1RpbWluZ0RldGFpbHMoKQotICAgICAgICB8fCBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtM
b2FkTWV0cmljcygpLmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QpCisgICAgaWYgKG1fcmVzb3VyY2VU
aW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuaXNDcm9zc09yaWdpbldpdGhvdXRUQU8pCiAgICAg
ICAgIHJldHVybiAwLjA7CiAKICAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRN
ZXRyaWNzKCkuZG9tYWluTG9va3VwRW5kKQpAQCAtMTY5LDggKzE2MSw3IEBAIGRvdWJsZSBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29rdXBFbmQoKSBjb25zdAogCiBkb3VibGUg
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdFN0YXJ0KCkgY29uc3QKIHsKLSAgICBp
ZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwgbV9y
ZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0
KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmlzQ3Jvc3NP
cmlnaW5XaXRob3V0VEFPKQogICAgICAgICByZXR1cm4gMC4wOwogCiAgICAgaWYgKCFtX3Jlc291
cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmNvbm5lY3RTdGFydCkKQEAgLTE4MSw4ICsx
NzIsNyBAQCBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdFN0YXJ0KCkg
Y29uc3QKIAogZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RFbmQoKSBj
b25zdAogewotICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5hbGxvd1RpbWluZ0RldGFpbHMoKQot
ICAgICAgICB8fCBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmhhc0Nyb3Nz
T3JpZ2luUmVkaXJlY3QpCisgICAgaWYgKG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRy
aWNzKCkuaXNDcm9zc09yaWdpbldpdGhvdXRUQU8pCiAgICAgICAgIHJldHVybiAwLjA7CiAKICAg
ICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuY29ubmVjdEVuZCkK
QEAgLTE5Myw4ICsxODMsNyBAQCBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y29u
bmVjdEVuZCgpIGNvbnN0CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpzZWN1
cmVDb25uZWN0aW9uU3RhcnQoKSBjb25zdAogewotICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5h
bGxvd1RpbWluZ0RldGFpbHMoKQotICAgICAgICB8fCBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtM
b2FkTWV0cmljcygpLmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QpCisgICAgaWYgKG1fcmVzb3VyY2VU
aW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuaXNDcm9zc09yaWdpbldpdGhvdXRUQU8pCiAgICAg
ICAgIHJldHVybiAwLjA7CiAKICAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1l
dHJpY3MoKS5zZWN1cmVDb25uZWN0aW9uU3RhcnQgPT0gcmV1c2VkVExTQ29ubmVjdGlvblNlbnRp
bmVsKQpAQCAtMjA4LDggKzE5Nyw3IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
OjpzZWN1cmVDb25uZWN0aW9uU3RhcnQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZzo6cmVxdWVzdFN0YXJ0KCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VU
aW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5u
ZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jl
c291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmlzQ3Jvc3NPcmlnaW5XaXRob3V0VEFP
KQogICAgICAgICByZXR1cm4gMC4wOwogCiAgICAgLy8gcmVxdWVzdFN0YXJ0IGlzIDAgd2hlbiBh
IG5ldHdvcmsgcmVxdWVzdCBpcyBub3QgbWFkZS4KQEAgLTIyMSw4ICsyMDksNyBAQCBkb3VibGUg
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVxdWVzdFN0YXJ0KCkgY29uc3QKIAogZG91Ymxl
IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlc3BvbnNlU3RhcnQoKSBjb25zdAogewotICAg
IGlmICghbV9yZXNvdXJjZVRpbWluZy5hbGxvd1RpbWluZ0RldGFpbHMoKQotICAgICAgICB8fCBt
X3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmhhc0Nyb3NzT3JpZ2luUmVkaXJl
Y3QpCisgICAgaWYgKG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuaXNDcm9z
c09yaWdpbldpdGhvdXRUQU8pCiAgICAgICAgIHJldHVybiAwLjA7CiAKICAgICAvLyByZXNwb25z
ZVN0YXJ0IGlzIDAgd2hlbiBhIG5ldHdvcmsgcmVxdWVzdCBpcyBub3QgbWFkZS4KQEAgLTI1OCw4
ICsyNDUsNyBAQCBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVzcG9uc2VFbmQo
KSBjb25zdAogCiB1aW50NjRfdCBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjp0cmFuc2ZlclNp
emUoKSBjb25zdAogewotICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5hbGxvd1RpbWluZ0RldGFp
bHMoKQotICAgICAgICB8fCBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmhh
c0Nyb3NzT3JpZ2luUmVkaXJlY3QpCisgICAgaWYgKG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xv
YWRNZXRyaWNzKCkuaXNDcm9zc09yaWdpbldpdGhvdXRUQU8pCiAgICAgICAgIHJldHVybiAwOwog
CiAgICAgYXV0byBlbmNvZGVkQm9keVNpemUgPSBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2Fk
TWV0cmljcygpLnJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQ7CkBAIC0yNzIsOCArMjU4LDcgQEAg
dWludDY0X3QgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6dHJhbnNmZXJTaXplKCkgY29uc3QK
IAogdWludDY0X3QgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZW5jb2RlZEJvZHlTaXplKCkg
Y29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkK
LSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9z
c09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0
cmljcygpLmlzQ3Jvc3NPcmlnaW5XaXRob3V0VEFPKQogICAgICAgICByZXR1cm4gMDsKIAogICAg
IGF1dG8gZW5jb2RlZEJvZHlTaXplID0gbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJp
Y3MoKS5yZXNwb25zZUJvZHlCeXRlc1JlY2VpdmVkOwpAQCAtMjg1LDggKzI3MCw3IEBAIHVpbnQ2
NF90IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmVuY29kZWRCb2R5U2l6ZSgpIGNvbnN0CiAK
IHVpbnQ2NF90IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmRlY29kZWRCb2R5U2l6ZSgpIGNv
bnN0CiB7Ci0gICAgaWYgKCFtX3Jlc291cmNlVGltaW5nLmFsbG93VGltaW5nRGV0YWlscygpCi0g
ICAgICAgIHx8IG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NP
cmlnaW5SZWRpcmVjdCkKKyAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJp
Y3MoKS5pc0Nyb3NzT3JpZ2luV2l0aG91dFRBTykKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBh
dXRvIGRlY29kZWRCb2R5U2l6ZSA9IG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNz
KCkucmVzcG9uc2VCb2R5RGVjb2RlZFNpemU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlVGltaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFu
Y2VUaW1pbmcuY3BwCmluZGV4IDdjNDI2NWE1NzQ5OWIzZGRiYWUxNTc1YjI5MDVmZTc1MWU0Mjgy
NGMuLmQ3NWFhODQ4MmZhMjc0ZTU2ZmQyZDhmZDcwMGM0NGE3NThiZDFlNmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwCkBAIC02Nyw3ICs2Nyw3IEBAIHVuc2ln
bmVkIGxvbmcgbG9uZyBQZXJmb3JtYW5jZVRpbWluZzo6dW5sb2FkRXZlbnRTdGFydCgpIGNvbnN0
CiAgICAgaWYgKCFtZXRyaWNzKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIGlmIChtZXRyaWNz
LT5oYXNDcm9zc09yaWdpblJlZGlyZWN0IHx8ICF0aW1pbmctPmhhc1NhbWVPcmlnaW5Bc1ByZXZp
b3VzRG9jdW1lbnQoKSkKKyAgICBpZiAobWV0cmljcy0+aXNDcm9zc09yaWdpbldpdGhvdXRUQU8g
fHwgIXRpbWluZy0+aGFzU2FtZU9yaWdpbkFzUHJldmlvdXNEb2N1bWVudCgpKQogICAgICAgICBy
ZXR1cm4gMDsKIAogICAgIHJldHVybiBtb25vdG9uaWNUaW1lVG9JbnRlZ2VyTWlsbGlzZWNvbmRz
KHRpbWluZy0+dW5sb2FkRXZlbnRTdGFydCgpKTsKQEAgLTgzLDcgKzgzLDcgQEAgdW5zaWduZWQg
bG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjp1bmxvYWRFdmVudEVuZCgpIGNvbnN0CiAgICAg
aWYgKCFtZXRyaWNzKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIGlmIChtZXRyaWNzLT5oYXND
cm9zc09yaWdpblJlZGlyZWN0IHx8ICF0aW1pbmctPmhhc1NhbWVPcmlnaW5Bc1ByZXZpb3VzRG9j
dW1lbnQoKSkKKyAgICBpZiAobWV0cmljcy0+aXNDcm9zc09yaWdpbldpdGhvdXRUQU8gfHwgIXRp
bWluZy0+aGFzU2FtZU9yaWdpbkFzUHJldmlvdXNEb2N1bWVudCgpKQogICAgICAgICByZXR1cm4g
MDsKIAogICAgIHJldHVybiBtb25vdG9uaWNUaW1lVG9JbnRlZ2VyTWlsbGlzZWNvbmRzKHRpbWlu
Zy0+dW5sb2FkRXZlbnRFbmQoKSk7CkBAIC05Myw3ICs5Myw3IEBAIHVuc2lnbmVkIGxvbmcgbG9u
ZyBQZXJmb3JtYW5jZVRpbWluZzo6cmVkaXJlY3RTdGFydCgpIGNvbnN0CiB7CiAgICAgYXV0byog
bWV0cmljcyA9IG5ldHdvcmtMb2FkTWV0cmljcygpOwogICAgIGlmICghbWV0cmljcwotICAgICAg
ICB8fCBtZXRyaWNzLT5oYXNDcm9zc09yaWdpblJlZGlyZWN0CisgICAgICAgIHx8IG1ldHJpY3Mt
PmlzQ3Jvc3NPcmlnaW5XaXRob3V0VEFPCiAgICAgICAgIHx8ICFtZXRyaWNzLT5yZWRpcmVjdENv
dW50KQogICAgICAgICByZXR1cm4gMDsKIApAQCAtMTA0LDcgKzEwNCw3IEBAIHVuc2lnbmVkIGxv
bmcgbG9uZyBQZXJmb3JtYW5jZVRpbWluZzo6cmVkaXJlY3RFbmQoKSBjb25zdAogewogICAgIGF1
dG8qIG1ldHJpY3MgPSBuZXR3b3JrTG9hZE1ldHJpY3MoKTsKICAgICBpZiAoIW1ldHJpY3MKLSAg
ICAgICAgfHwgbWV0cmljcy0+aGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdAorICAgICAgICB8fCBtZXRy
aWNzLT5pc0Nyb3NzT3JpZ2luV2l0aG91dFRBTwogICAgICAgICB8fCAhbWV0cmljcy0+cmVkaXJl
Y3RDb3VudCkKICAgICAgICAgcmV0dXJuIDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmNwcAppbmRleCA5MTY4N2UwOTU5
ODRjZGY2MTBiYTU0NWNlZGM2NTc1NzEyNjMxZmZjLi43MDhhMTNmZDIyMGQ0YWMzMDFlYTNkZWRj
NWMxZmEzNjFkNGI2YmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL0Jsb2JSZXNvdXJjZUhhbmRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9CbG9iUmVzb3VyY2VIYW5kbGUuY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVk
ZSAiUmVzb3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIK
ICNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4u
aCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhh
bmRsZXIuaD4KICNpbmNsdWRlIDx3dGYvRmlsZVN5c3RlbS5oPgpAQCAtMTU0LDcgKzE1NSw3IEBA
IHZvaWQgQmxvYlJlc291cmNlSGFuZGxlOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KEJsb2JE
YXRhKiBibG9iRGF0YSwgY29uc3QgUmVzCiB9CiAKIEJsb2JSZXNvdXJjZUhhbmRsZTo6QmxvYlJl
c291cmNlSGFuZGxlKEJsb2JEYXRhKiBibG9iRGF0YSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBy
ZXF1ZXN0LCBSZXNvdXJjZUhhbmRsZUNsaWVudCogY2xpZW50LCBib29sIGFzeW5jKQotICAgIDog
UmVzb3VyY2VIYW5kbGUgeyBudWxscHRyLCByZXF1ZXN0LCBjbGllbnQsIGZhbHNlIC8qIGRlZmVy
c0xvYWRpbmcgKi8sIGZhbHNlIC8qIHNob3VsZENvbnRlbnRTbmlmZiAqLywgdHJ1ZSAvKiBzaG91
bGRDb250ZW50RW5jb2RpbmdTbmlmZiAqLyB9CisgICAgOiBSZXNvdXJjZUhhbmRsZSB7IG51bGxw
dHIsIHJlcXVlc3QsIGNsaWVudCwgZmFsc2UgLyogZGVmZXJzTG9hZGluZyAqLywgZmFsc2UgLyog
c2hvdWxkQ29udGVudFNuaWZmICovLCB0cnVlIC8qIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZm
ICovLCBudWxscHRyIC8qIHNvdXJjZU9yaWdpbiAqLyB9CiAgICAgLCBtX2Jsb2JEYXRhIHsgYmxv
YkRhdGEgfQogICAgICwgbV9hc3luYyB7IGFzeW5jIH0KIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtMb2FkTWV0cmljcy5oCmluZGV4IDdmYTY1Mjk1
MGIzYWQ3ODE5ZjVmNDMzYTMwNjk5MWU4ODgyNGExNmEuLmFlZjllZTQ4NzhkYzMwNmRjYmNjYjZh
MWFlZGFlMGVkZDUzN2UzZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9OZXR3b3JrTG9hZE1ldHJpY3MuaApAQCAtOTUsNyArOTUsNyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBjb25zdHJhaW5lZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtdWx0aXBhdGggeyBmYWxz
ZSB9OwogICAgIGJvb2wgaXNSZXVzZWRDb25uZWN0aW9uIHsgZmFsc2UgfTsKLSAgICBib29sIGhh
c0Nyb3NzT3JpZ2luUmVkaXJlY3QgeyBmYWxzZSB9OworICAgIGJvb2wgaXNDcm9zc09yaWdpbldp
dGhvdXRUQU8geyBmYWxzZSB9OwogfTsKIAogY2xhc3MgTmV0d29ya0xvYWRNZXRyaWNzIDogcHVi
bGljIE5ldHdvcmtMb2FkTWV0cmljc1dpdGhvdXROb25UaW1pbmdEYXRhIHsKQEAgLTEyOCw3ICsx
MjgsNyBAQCBwdWJsaWM6CiAgICAgICAgIGNvcHkuY29uc3RyYWluZWQgPSBjb25zdHJhaW5lZDsK
ICAgICAgICAgY29weS5tdWx0aXBhdGggPSBtdWx0aXBhdGg7CiAgICAgICAgIGNvcHkuaXNSZXVz
ZWRDb25uZWN0aW9uID0gaXNSZXVzZWRDb25uZWN0aW9uOwotICAgICAgICBjb3B5Lmhhc0Nyb3Nz
T3JpZ2luUmVkaXJlY3QgPSBoYXNDcm9zc09yaWdpblJlZGlyZWN0OworICAgICAgICBjb3B5Lmlz
Q3Jvc3NPcmlnaW5XaXRob3V0VEFPID0gaXNDcm9zc09yaWdpbldpdGhvdXRUQU87CiAKICAgICAg
ICAgY29weS5yZW1vdGVBZGRyZXNzID0gcmVtb3RlQWRkcmVzcy5pc29sYXRlZENvcHkoKTsKICAg
ICAgICAgY29weS5jb25uZWN0aW9uSWRlbnRpZmllciA9IGNvbm5lY3Rpb25JZGVudGlmaWVyLmlz
b2xhdGVkQ29weSgpOwpAQCAtMTY1LDcgKzE2NSw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgICYm
IGNvbnN0cmFpbmVkID09IG90aGVyLmNvbnN0cmFpbmVkCiAgICAgICAgICAgICAmJiBtdWx0aXBh
dGggPT0gb3RoZXIubXVsdGlwYXRoCiAgICAgICAgICAgICAmJiBpc1JldXNlZENvbm5lY3Rpb24g
PT0gb3RoZXIuaXNSZXVzZWRDb25uZWN0aW9uCi0gICAgICAgICAgICAmJiBoYXNDcm9zc09yaWdp
blJlZGlyZWN0ID09IG90aGVyLmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QKKyAgICAgICAgICAgICYm
IGlzQ3Jvc3NPcmlnaW5XaXRob3V0VEFPID09IG90aGVyLmlzQ3Jvc3NPcmlnaW5XaXRob3V0VEFP
CiAgICAgICAgICAgICAmJiBwcm90b2NvbCA9PSBvdGhlci5wcm90b2NvbAogICAgICAgICAgICAg
JiYgcmVkaXJlY3RDb3VudCA9PSBvdGhlci5yZWRpcmVjdENvdW50CiAgICAgICAgICAgICAmJiBy
ZW1vdGVBZGRyZXNzID09IG90aGVyLnJlbW90ZUFkZHJlc3MKQEAgLTIxMCw3ICsyMTAsNyBAQCBw
dWJsaWM6CiAKICNpZiBQTEFURk9STShDT0NPQSkKIEJveDxOZXR3b3JrTG9hZE1ldHJpY3M+IGNv
cHlUaW1pbmdEYXRhKE5TVVJMQ29ubmVjdGlvbiAqLCBjb25zdCBSZXNvdXJjZUhhbmRsZSYpOwot
V0VCQ09SRV9FWFBPUlQgQm94PE5ldHdvcmtMb2FkTWV0cmljcz4gY29weVRpbWluZ0RhdGEoTlNV
UkxTZXNzaW9uVGFza01ldHJpY3MgKmluY29tcGxldGVNZXRyaWNzLCBib29sIGhhc0Nyb3NzT3Jp
Z2luUmVkaXJlY3QpOworV0VCQ09SRV9FWFBPUlQgQm94PE5ldHdvcmtMb2FkTWV0cmljcz4gY29w
eVRpbWluZ0RhdGEoTlNVUkxTZXNzaW9uVGFza01ldHJpY3MgKmluY29tcGxldGVNZXRyaWNzLCBi
b29sIGlzQ3Jvc3NPcmlnaW5XaXRob3V0VEFPKTsKICNlbmRpZgogCiB0ZW1wbGF0ZTxjbGFzcyBF
bmNvZGVyPgpAQCAtMjM0LDcgKzIzNCw3IEBAIHZvaWQgTmV0d29ya0xvYWRNZXRyaWNzOjplbmNv
ZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICBlbmNvZGVyIDw8IGNvbnN0cmFpbmVkOwog
ICAgIGVuY29kZXIgPDwgbXVsdGlwYXRoOwogICAgIGVuY29kZXIgPDwgaXNSZXVzZWRDb25uZWN0
aW9uOwotICAgIGVuY29kZXIgPDwgaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdDsKKyAgICBlbmNvZGVy
IDw8IGlzQ3Jvc3NPcmlnaW5XaXRob3V0VEFPOwogICAgIGVuY29kZXIgPDwgcHJvdG9jb2w7CiAg
ICAgZW5jb2RlciA8PCByZWRpcmVjdENvdW50OwogICAgIGVuY29kZXIgPDwgcmVtb3RlQWRkcmVz
czsKQEAgLTI3Miw3ICsyNzIsNyBAQCBib29sIE5ldHdvcmtMb2FkTWV0cmljczo6ZGVjb2RlKERl
Y29kZXImIGRlY29kZXIsIE5ldHdvcmtMb2FkTWV0cmljcyYgbWV0cmljcykKICAgICAgICAgJiYg
ZGVjb2Rlci5kZWNvZGUobWV0cmljcy5jb25zdHJhaW5lZCkKICAgICAgICAgJiYgZGVjb2Rlci5k
ZWNvZGUobWV0cmljcy5tdWx0aXBhdGgpCiAgICAgICAgICYmIGRlY29kZXIuZGVjb2RlKG1ldHJp
Y3MuaXNSZXVzZWRDb25uZWN0aW9uKQotICAgICAgICAmJiBkZWNvZGVyLmRlY29kZShtZXRyaWNz
Lmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QpCisgICAgICAgICYmIGRlY29kZXIuZGVjb2RlKG1ldHJp
Y3MuaXNDcm9zc09yaWdpbldpdGhvdXRUQU8pCiAgICAgICAgICYmIGRlY29kZXIuZGVjb2RlKG1l
dHJpY3MucHJvdG9jb2wpCiAgICAgICAgICYmIGRlY29kZXIuZGVjb2RlKG1ldHJpY3MucmVkaXJl
Y3RDb3VudCkKICAgICAgICAgJiYgZGVjb2Rlci5kZWNvZGUobWV0cmljcy5yZW1vdGVBZGRyZXNz
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhh
bmRsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxl
LmNwcAppbmRleCAwZDdhNzNkMWEzMmVkZTJkZjY4MzAxYTI1Y2YxMWY1N2Y1YmE2YTE2Li40NGQ0
YjEwY2U2YzI3ZDkxYTQyMDczZmQ0YzJlZDUwZWIzNDUxZTA2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcApAQCAtNzUsOCArNzUs
OCBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpyZWdpc3RlckJ1aWx0aW5TeW5jaHJvbm91c0xvYWRl
cihjb25zdCBBdG9tU3RyaW5nJiBwcm90b2NvbAogICAgIGJ1aWx0aW5SZXNvdXJjZUhhbmRsZVN5
bmNocm9ub3VzTG9hZGVyTWFwKCkuYWRkKHByb3RvY29sLCBsb2FkZXIpOwogfQogCi1SZXNvdXJj
ZUhhbmRsZTo6UmVzb3VyY2VIYW5kbGUoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQsIGNvbnN0
IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VIYW5kbGVDbGllbnQqIGNsaWVudCwg
Ym9vbCBkZWZlcnNMb2FkaW5nLCBib29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91bGRD
b250ZW50RW5jb2RpbmdTbmlmZikKLSAgICA6IGQobWFrZVVuaXF1ZTxSZXNvdXJjZUhhbmRsZUlu
dGVybmFsPih0aGlzLCBjb250ZXh0LCByZXF1ZXN0LCBjbGllbnQsIGRlZmVyc0xvYWRpbmcsIHNo
b3VsZENvbnRlbnRTbmlmZiAmJiBzaG91bGRDb250ZW50U25pZmZVUkwocmVxdWVzdC51cmwoKSks
IHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKSkKK1Jlc291cmNlSGFuZGxlOjpSZXNvdXJjZUhh
bmRsZShOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBy
ZXF1ZXN0LCBSZXNvdXJjZUhhbmRsZUNsaWVudCogY2xpZW50LCBib29sIGRlZmVyc0xvYWRpbmcs
IGJvb2wgc2hvdWxkQ29udGVudFNuaWZmLCBib29sIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZm
LCBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+JiYgc291cmNlT3JpZ2luKQorICAgIDogZChtYWtlVW5p
cXVlPFJlc291cmNlSGFuZGxlSW50ZXJuYWw+KHRoaXMsIGNvbnRleHQsIHJlcXVlc3QsIGNsaWVu
dCwgZGVmZXJzTG9hZGluZywgc2hvdWxkQ29udGVudFNuaWZmICYmIHNob3VsZENvbnRlbnRTbmlm
ZlVSTChyZXF1ZXN0LnVybCgpKSwgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYsIFdURk1vdmUo
c291cmNlT3JpZ2luKSkpCiB7CiAgICAgaWYgKCFyZXF1ZXN0LnVybCgpLmlzVmFsaWQoKSkgewog
ICAgICAgICBzY2hlZHVsZUZhaWx1cmUoSW52YWxpZFVSTEZhaWx1cmUpOwpAQCAtODksMTIgKzg5
LDEyIEBAIFJlc291cmNlSGFuZGxlOjpSZXNvdXJjZUhhbmRsZShOZXR3b3JraW5nQ29udGV4dCog
Y29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0CiAgICAgfQogfQogCi1SZWZQdHI8UmVzb3Vy
Y2VIYW5kbGU+IFJlc291cmNlSGFuZGxlOjpjcmVhdGUoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRl
eHQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VIYW5kbGVDbGllbnQq
IGNsaWVudCwgYm9vbCBkZWZlcnNMb2FkaW5nLCBib29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9v
bCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZikKK1JlZlB0cjxSZXNvdXJjZUhhbmRsZT4gUmVz
b3VyY2VIYW5kbGU6OmNyZWF0ZShOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwgY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUhhbmRsZUNsaWVudCogY2xpZW50LCBib29s
IGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVudFNuaWZmLCBib29sIHNob3VsZENvbnRl
bnRFbmNvZGluZ1NuaWZmLCBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+JiYgc291cmNlT3JpZ2luKQog
ewogICAgIGlmIChhdXRvIGNvbnN0cnVjdG9yID0gYnVpbHRpblJlc291cmNlSGFuZGxlQ29uc3Ry
dWN0b3JNYXAoKS5nZXQocmVxdWVzdC51cmwoKS5wcm90b2NvbCgpLnRvU3RyaW5nV2l0aG91dENv
cHlpbmcoKSkpCiAgICAgICAgIHJldHVybiBjb25zdHJ1Y3RvcihyZXF1ZXN0LCBjbGllbnQpOwog
Ci0gICAgYXV0byBuZXdIYW5kbGUgPSBhZG9wdFJlZigqbmV3IFJlc291cmNlSGFuZGxlKGNvbnRl
eHQsIHJlcXVlc3QsIGNsaWVudCwgZGVmZXJzTG9hZGluZywgc2hvdWxkQ29udGVudFNuaWZmLCBz
aG91bGRDb250ZW50RW5jb2RpbmdTbmlmZikpOworICAgIGF1dG8gbmV3SGFuZGxlID0gYWRvcHRS
ZWYoKm5ldyBSZXNvdXJjZUhhbmRsZShjb250ZXh0LCByZXF1ZXN0LCBjbGllbnQsIGRlZmVyc0xv
YWRpbmcsIHNob3VsZENvbnRlbnRTbmlmZiwgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYsIFdU
Rk1vdmUoc291cmNlT3JpZ2luKSkpOwogCiAgICAgaWYgKG5ld0hhbmRsZS0+ZC0+bV9zY2hlZHVs
ZWRGYWlsdXJlVHlwZSAhPSBOb0ZhaWx1cmUpCiAgICAgICAgIHJldHVybiBuZXdIYW5kbGU7CkBA
IC0xMzMsMTQgKzEzMywxNCBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpmYWlsdXJlVGltZXJGaXJl
ZCgpCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKLXZvaWQgUmVzb3VyY2VIYW5kbGU6
OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQsIGNv
bnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kgc3Rv
cmVkQ3JlZGVudGlhbHNQb2xpY3ksIFJlc291cmNlRXJyb3ImIGVycm9yLCBSZXNvdXJjZVJlc3Bv
bnNlJiByZXNwb25zZSwgVmVjdG9yPHVpbnQ4X3Q+JiBkYXRhKQordm9pZCBSZXNvdXJjZUhhbmRs
ZTo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSBz
dG9yZWRDcmVkZW50aWFsc1BvbGljeSwgU2VjdXJpdHlPcmlnaW4qIHNvdXJjZU9yaWdpbiwgUmVz
b3VyY2VFcnJvciYgZXJyb3IsIFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBWZWN0b3I8dWlu
dDhfdD4mIGRhdGEpCiB7CiAgICAgaWYgKGF1dG8gY29uc3RydWN0b3IgPSBidWlsdGluUmVzb3Vy
Y2VIYW5kbGVTeW5jaHJvbm91c0xvYWRlck1hcCgpLmdldChyZXF1ZXN0LnVybCgpLnByb3RvY29s
KCkudG9TdHJpbmdXaXRob3V0Q29weWluZygpKSkgewogICAgICAgICBjb25zdHJ1Y3Rvcihjb250
ZXh0LCByZXF1ZXN0LCBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgZXJyb3IsIHJlc3BvbnNlLCBk
YXRhKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIHBsYXRmb3JtTG9hZFJlc291cmNl
U3luY2hyb25vdXNseShjb250ZXh0LCByZXF1ZXN0LCBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwg
ZXJyb3IsIHJlc3BvbnNlLCBkYXRhKTsKKyAgICBwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9u
b3VzbHkoY29udGV4dCwgcmVxdWVzdCwgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIHNvdXJjZU9y
aWdpbiwgZXJyb3IsIHJlc3BvbnNlLCBkYXRhKTsKIH0KIAogUmVzb3VyY2VIYW5kbGVDbGllbnQq
IFJlc291cmNlSGFuZGxlOjpjbGllbnQoKSBjb25zdApAQCAtMjA0LDE0ICsyMDQsMTQgQEAgdm9p
ZCBSZXNvdXJjZUhhbmRsZTo6Y2xlYXJBdXRoZW50aWNhdGlvbigpCiAgICAgZC0+bV9jdXJyZW50
V2ViQ2hhbGxlbmdlLm51bGxpZnkoKTsKIH0KIAotYm9vbCBSZXNvdXJjZUhhbmRsZTo6aGFzQ3Jv
c3NPcmlnaW5SZWRpcmVjdCgpIGNvbnN0Citib29sIFJlc291cmNlSGFuZGxlOjppc0Nyb3NzT3Jp
Z2luV2l0aG91dFRBTygpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGQtPm1faGFzQ3Jvc3NPcmlnaW5S
ZWRpcmVjdDsKKyAgICByZXR1cm4gZC0+bV9pc0Nyb3NzT3JpZ2luV2l0aG91dFRBTzsKIH0KIAot
dm9pZCBSZXNvdXJjZUhhbmRsZTo6c2V0SGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdChib29sIHZhbHVl
KQordm9pZCBSZXNvdXJjZUhhbmRsZTo6bWFya0FzQ3Jvc3NPcmlnaW5XaXRob3V0VEFPKCkKIHsK
LSAgICBkLT5tX2hhc0Nyb3NzT3JpZ2luUmVkaXJlY3QgPSB2YWx1ZTsKKyAgICBkLT5tX2lzQ3Jv
c3NPcmlnaW5XaXRob3V0VEFPID0gdHJ1ZTsKIH0KIAogdm9pZCBSZXNvdXJjZUhhbmRsZTo6aW5j
cmVtZW50UmVkaXJlY3RDb3VudCgpCkBAIC0yMjQsNiArMjI0LDExIEBAIHVpbnQxNl90IFJlc291
cmNlSGFuZGxlOjpyZWRpcmVjdENvdW50KCkgY29uc3QKICAgICByZXR1cm4gZC0+bV9yZWRpcmVj
dENvdW50OwogfQogCitjb25zdCBTZWN1cml0eU9yaWdpbiogUmVzb3VyY2VIYW5kbGU6OnNvdXJj
ZU9yaWdpbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIGQtPm1fc291cmNlT3JpZ2luLmdldCgpOwor
fQorCiBNb25vdG9uaWNUaW1lIFJlc291cmNlSGFuZGxlOjpzdGFydFRpbWVCZWZvcmVSZWRpcmVj
dHMoKSBjb25zdAogewogICAgIHJldHVybiBkLT5tX3N0YXJ0VGltZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAppbmRleCBmZmQ4ODU0N2U2
MDZiZjhjMGViNTJhZjhiYjhhOTIwY2E2MWIxNzlkLi4yMzQ2MjRlMzU2MGVmMzU3ODI2MTM4ZDQ4
YTNhNTE1ZWE1NjBiY2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1Jlc291cmNlSGFuZGxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZUhhbmRsZS5oCkBAIC04Myw2ICs4Myw3IEBAIGNsYXNzIFJlc291cmNlSGFuZGxl
SW50ZXJuYWw7CiBjbGFzcyBOZXR3b3JrTG9hZE1ldHJpY3M7CiBjbGFzcyBSZXNvdXJjZVJlcXVl
c3Q7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOworY2xhc3MgU2VjdXJpdHlPcmlnaW47CiBjbGFz
cyBTaGFyZWRCdWZmZXI7CiBjbGFzcyBTeW5jaHJvbm91c0xvYWRlck1lc3NhZ2VRdWV1ZTsKIGNs
YXNzIFRpbWVyOwpAQCAtOTQsOCArOTUsOCBAQCBjbGFzcyBDdXJsUmVzb3VyY2VIYW5kbGVEZWxl
Z2F0ZTsKIAogY2xhc3MgUmVzb3VyY2VIYW5kbGUgOiBwdWJsaWMgUmVmQ291bnRlZDxSZXNvdXJj
ZUhhbmRsZT4sIHB1YmxpYyBBdXRoZW50aWNhdGlvbkNsaWVudCB7CiBwdWJsaWM6Ci0gICAgV0VC
Q09SRV9FWFBPUlQgc3RhdGljIFJlZlB0cjxSZXNvdXJjZUhhbmRsZT4gY3JlYXRlKE5ldHdvcmtp
bmdDb250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgUmVzb3VyY2VIYW5kbGVDbGllbnQq
LCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVudFNuaWZmLCBib29sIHNob3Vs
ZENvbnRlbnRFbmNvZGluZ1NuaWZmKTsKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBs
b2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0KiwgY29uc3QgUmVzb3Vy
Y2VSZXF1ZXN0JiwgU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIFJlc291cmNlRXJyb3ImLCBSZXNv
dXJjZVJlc3BvbnNlJiwgVmVjdG9yPHVpbnQ4X3Q+JiBkYXRhKTsKKyAgICBXRUJDT1JFX0VYUE9S
VCBzdGF0aWMgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBjcmVhdGUoTmV0d29ya2luZ0NvbnRleHQq
LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBSZXNvdXJjZUhhbmRsZUNsaWVudCosIGJvb2wgZGVm
ZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVudEVu
Y29kaW5nU25pZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBzb3VyY2VPcmlnaW4pOworICAg
IFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0
d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBTdG9yZWRDcmVkZW50aWFs
c1BvbGljeSwgU2VjdXJpdHlPcmlnaW4qLCBSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VSZXNwb25z
ZSYsIFZlY3Rvcjx1aW50OF90PiYgZGF0YSk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB+
UmVzb3VyY2VIYW5kbGUoKTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBVU0UoQ0ZVUkxDT05O
RUNUSU9OKQpAQCAtMTc0LDEwICsxNzUsMTEgQEAgcHVibGljOgogICAgIHZvaWQgc2V0TmV0d29y
a0xvYWRNZXRyaWNzKEJveDxOZXR3b3JrTG9hZE1ldHJpY3M+JiYpOwogCiAgICAgTW9ub3Rvbmlj
VGltZSBzdGFydFRpbWVCZWZvcmVSZWRpcmVjdHMoKSBjb25zdDsKLSAgICBib29sIGhhc0Nyb3Nz
T3JpZ2luUmVkaXJlY3QoKSBjb25zdDsKLSAgICB2b2lkIHNldEhhc0Nyb3NzT3JpZ2luUmVkaXJl
Y3QoYm9vbCk7CisgICAgYm9vbCBpc0Nyb3NzT3JpZ2luV2l0aG91dFRBTygpIGNvbnN0OworICAg
IHZvaWQgbWFya0FzQ3Jvc3NPcmlnaW5XaXRob3V0VEFPKCk7CiAgICAgdWludDE2X3QgcmVkaXJl
Y3RDb3VudCgpIGNvbnN0OwogICAgIHZvaWQgaW5jcmVtZW50UmVkaXJlY3RDb3VudCgpOworICAg
IGNvbnN0IFNlY3VyaXR5T3JpZ2luKiBzb3VyY2VPcmlnaW4oKSBjb25zdDsKIAogICAgIC8vIFRo
ZSBjbGllbnQgbWF5IGJlIDAsIGluIHdoaWNoIGNhc2Ugbm8gY2FsbGJhY2tzIHdpbGwgYmUgbWFk
ZS4KICAgICBXRUJDT1JFX0VYUE9SVCBSZXNvdXJjZUhhbmRsZUNsaWVudCogY2xpZW50KCkgY29u
c3Q7CkBAIC0yMDYsNyArMjA4LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVy
QnVpbHRpblN5bmNocm9ub3VzTG9hZGVyKGNvbnN0IEF0b21TdHJpbmcmIHByb3RvY29sLCBCdWls
dGluU3luY2hyb25vdXNMb2FkZXIpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgUmVzb3VyY2VIYW5kbGUo
TmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBSZXNvdXJjZUhhbmRs
ZUNsaWVudCosIGJvb2wgZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJv
b2wgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYpOworICAgIFJlc291cmNlSGFuZGxlKE5ldHdv
cmtpbmdDb250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgUmVzb3VyY2VIYW5kbGVDbGll
bnQqLCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVudFNuaWZmLCBib29sIHNo
b3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmLCBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+JiYgc291cmNl
T3JpZ2luKTsKIAogcHJpdmF0ZToKICAgICBlbnVtIEZhaWx1cmVUeXBlIHsKQEAgLTIyMiw3ICsy
MjQsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1bGVGYWlsdXJlKEZhaWx1cmVUeXBlKTsK
IAogICAgIGJvb2wgc3RhcnQoKTsKLSAgICBzdGF0aWMgdm9pZCBwbGF0Zm9ybUxvYWRSZXNvdXJj
ZVN5bmNocm9ub3VzbHkoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
LCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVzcG9u
c2UmLCBWZWN0b3I8dWludDhfdD4mIGRhdGEpOworICAgIHN0YXRpYyB2b2lkIHBsYXRmb3JtTG9h
ZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFJlc291cmNl
UmVxdWVzdCYsIFN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBTZWN1cml0eU9yaWdpbiosIFJlc291
cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlJiwgVmVjdG9yPHVpbnQ4X3Q+JiBkYXRhKTsKIAog
ICAgIHZvaWQgcmVmQXV0aGVudGljYXRpb25DbGllbnQoKSBvdmVycmlkZSB7IHJlZigpOyB9CiAg
ICAgdm9pZCBkZXJlZkF1dGhlbnRpY2F0aW9uQ2xpZW50KCkgb3ZlcnJpZGUgeyBkZXJlZigpOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFu
ZGxlSW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VI
YW5kbGVJbnRlcm5hbC5oCmluZGV4IDE4ZmQ0MWM4NjY3N2Y1ZTAwMDQ3ODZlMzFkNTZiNTNhNTc1
ZDgxYWUuLjFmZGE1YzQyMGY1MTQxZDNmNzcxMWVjNDFhOGY3YzM2NTMwZDE0YWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5h
bC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJ
bnRlcm5hbC5oCkBAIC02NSw3ICs2NSw3IEBAIGNsYXNzIFJlc291cmNlSGFuZGxlSW50ZXJuYWwg
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlc291cmNlSGFuZGxlSW50ZXJuYWwpOwogICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEX1dJVEhfSEVBUF9JREVOVElGSUVSKFJlc291cmNlSGFu
ZGxlSW50ZXJuYWwpOwogcHVibGljOgotICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwoUmVzb3Vy
Y2VIYW5kbGUqIGxvYWRlciwgTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IFJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VIYW5kbGVDbGllbnQqIGNsaWVudCwgYm9vbCBk
ZWZlcnNMb2FkaW5nLCBib29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91bGRDb250ZW50
RW5jb2RpbmdTbmlmZikKKyAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKFJlc291cmNlSGFuZGxl
KiBsb2FkZXIsIE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVl
c3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQsIGJvb2wgZGVmZXJzTG9h
ZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVudEVuY29kaW5n
U25pZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBzb3VyY2VPcmlnaW4pCiAgICAgICAgIDog
bV9jb250ZXh0KGNvbnRleHQpCiAgICAgICAgICwgbV9jbGllbnQoY2xpZW50KQogICAgICAgICAs
IG1fZmlyc3RSZXF1ZXN0KHJlcXVlc3QpCkBAIC03OCw2ICs3OCw3IEBAIHB1YmxpYzoKICAgICAg
ICAgLCBtX2N1cnJlbnRSZXF1ZXN0KHJlcXVlc3QpCiAjZW5kaWYKICAgICAgICAgLCBtX2ZhaWx1
cmVUaW1lcigqbG9hZGVyLCAmUmVzb3VyY2VIYW5kbGU6OmZhaWx1cmVUaW1lckZpcmVkKQorICAg
ICAgICAsIG1fc291cmNlT3JpZ2luKFdURk1vdmUoc291cmNlT3JpZ2luKSkKICAgICB7CiAgICAg
ICAgIGNvbnN0IFVSTCYgdXJsID0gbV9maXJzdFJlcXVlc3QudXJsKCk7CiAgICAgICAgIG1fdXNl
ciA9IHVybC51c2VyKCk7CkBAIC0xMzMsNyArMTM0LDcgQEAgcHVibGljOgogICAgIEJveDxOZXR3
b3JrTG9hZE1ldHJpY3M+IG1fbmV0d29ya0xvYWRNZXRyaWNzOwogICAgIE1vbm90b25pY1RpbWUg
bV9zdGFydFRpbWU7CiAgICAgdWludDE2X3QgbV9yZWRpcmVjdENvdW50IHsgMCB9OwotICAgIGJv
b2wgbV9oYXNDcm9zc09yaWdpblJlZGlyZWN0IHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNDcm9z
c09yaWdpbldpdGhvdXRUQU8geyBmYWxzZSB9OwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAg
Ly8gV2UgbmVlZCB0byBrZWVwIGEgcmVmZXJlbmNlIHRvIHRoZSBvcmlnaW5hbCBjaGFsbGVuZ2Ug
dG8gYmUgYWJsZSB0byBjYW5jZWwgaXQuCkBAIC0xNDQsNiArMTQ1LDcgQEAgcHVibGljOgogICAg
IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlIG1fY3VycmVudFdlYkNoYWxsZW5nZTsKICAgICBSZXNv
dXJjZUhhbmRsZTo6RmFpbHVyZVR5cGUgbV9zY2hlZHVsZWRGYWlsdXJlVHlwZSB7IFJlc291cmNl
SGFuZGxlOjpOb0ZhaWx1cmUgfTsKICAgICBUaW1lciBtX2ZhaWx1cmVUaW1lcjsKKyAgICBSZWZQ
dHI8U2VjdXJpdHlPcmlnaW4+IG1fc291cmNlT3JpZ2luOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9UaW1p
bmdBbGxvd09yaWdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1RpbWlu
Z0FsbG93T3JpZ2luLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MzRkOTE2NmUyMDQ4ZWY4ZjRmNDRlMjJjY2E1
YWJjN2ExY2UxNDBjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5jcHAKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJUaW1pbmdBbGxvd09yaWdpbi5oIgor
CisjaW5jbHVkZSAiSFRUUFBhcnNlcnMuaCIKKyNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgi
CisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCiti
b29sIHBhc3Nlc1RpbWluZ0FsbG93T3JpZ2luQ2hlY2soY29uc3QgUmVzb3VyY2VSZXNwb25zZSYg
cmVzcG9uc2UsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiBpbml0aWF0b3JTZWN1cml0eU9yaWdpbikK
K3sKKyAgICAvLyBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8jdGFvLWNoZWNrCisgICAg
YXV0byByZXNvdXJjZU9yaWdpbiA9IFNlY3VyaXR5T3JpZ2luOjpjcmVhdGUocmVzcG9uc2UudXJs
KCkpOworICAgIGlmIChyZXNvdXJjZU9yaWdpbi0+aXNTYW1lU2NoZW1lSG9zdFBvcnQoaW5pdGlh
dG9yU2VjdXJpdHlPcmlnaW4pKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGNvbnN0IFN0
cmluZyYgdGltaW5nQWxsb3dPcmlnaW5TdHJpbmcgPSByZXNwb25zZS5odHRwSGVhZGVyRmllbGQo
SFRUUEhlYWRlck5hbWU6OlRpbWluZ0FsbG93T3JpZ2luKTsKKyAgICBjb25zdCBTdHJpbmcmIHNl
Y3VyaXR5T3JpZ2luID0gaW5pdGlhdG9yU2VjdXJpdHlPcmlnaW4udG9TdHJpbmcoKTsKKyAgICBm
b3IgKGF1dG8mIG9yaWdpbldpdGhTcGFjZSA6IHRpbWluZ0FsbG93T3JpZ2luU3RyaW5nLnNwbGl0
KCcsJykpIHsKKyAgICAgICAgYXV0byBvcmlnaW4gPSBzdHJpcExlYWRpbmdBbmRUcmFpbGluZ0hU
VFBTcGFjZXMoU3RyaW5nVmlldyhvcmlnaW5XaXRoU3BhY2UpKTsKKyAgICAgICAgaWYgKG9yaWdp
biA9PSAiKiIgfHwgb3JpZ2luID09IHNlY3VyaXR5T3JpZ2luKQorICAgICAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIGZhbHNlOworfQorCit9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1RpbWluZ0FsbG93T3JpZ2luLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1RpbWluZ0FsbG93T3JpZ2luLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjgzMDA4MzM5MzhhYTI1ZGQ4YzkwOWEwNWU0YzZkZGZkYTFmMzk1ZQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvVGltaW5nQWxsb3dPcmlnaW4u
aApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgUmVzb3VyY2VSZXNwb25zZTsKK2NsYXNzIFNlY3VyaXR5T3Jp
Z2luOworCitXRUJDT1JFX0VYUE9SVCBib29sIHBhc3Nlc1RpbWluZ0FsbG93T3JpZ2luQ2hlY2so
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luJiBp
bml0aWF0b3JTZWN1cml0eU9yaWdpbik7CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY29jb2EvTmV0d29ya0xvYWRNZXRyaWNzLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2NvYS9OZXR3b3JrTG9hZE1ldHJpY3MubW0KaW5kZXgg
YjU0NDdkZjU0NzZjMGM0YzRhYmM1ODljYjMxNzg1YmJmNDhjYWQ5NS4uOTc3OWE3MmFhOTdhY2Jl
ODI1NTUyODZiYzg0MjEwNWZlY2JkZjBiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jb2NvYS9OZXR3b3JrTG9hZE1ldHJpY3MubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2NvYS9OZXR3b3JrTG9hZE1ldHJpY3MubW0KQEAgLTM4
LDcgKzM4LDcgQEAgc3RhdGljIE1vbm90b25pY1RpbWUgZGF0ZVRvTW9ub3RvbmljVGltZShOU0Rh
dGUgKmRhdGUpCiAgICAgcmV0dXJuIHsgfTsKIH0KIAotc3RhdGljIEJveDxOZXR3b3JrTG9hZE1l
dHJpY3M+IHBhY2thZ2VUaW1pbmdEYXRhKE1vbm90b25pY1RpbWUgcmVkaXJlY3RTdGFydCwgTlNE
YXRlICpmZXRjaFN0YXJ0LCBOU0RhdGUgKmRvbWFpbkxvb2t1cFN0YXJ0LCBOU0RhdGUgKmRvbWFp
bkxvb2t1cEVuZCwgTlNEYXRlICpjb25uZWN0U3RhcnQsIE5TRGF0ZSAqc2VjdXJlQ29ubmVjdGlv
blN0YXJ0LCBOU0RhdGUgKmNvbm5lY3RFbmQsIE5TRGF0ZSAqcmVxdWVzdFN0YXJ0LCBOU0RhdGUg
KnJlc3BvbnNlU3RhcnQsIGJvb2wgcmV1c2VkVExTQ29ubmVjdGlvbiwgTlNTdHJpbmcgKnByb3Rv
Y29sLCB1aW50MTZfdCByZWRpcmVjdENvdW50LCBib29sIGhhc0Nyb3NzT3JpZ2luUmVkaXJlY3Qp
CitzdGF0aWMgQm94PE5ldHdvcmtMb2FkTWV0cmljcz4gcGFja2FnZVRpbWluZ0RhdGEoTW9ub3Rv
bmljVGltZSByZWRpcmVjdFN0YXJ0LCBOU0RhdGUgKmZldGNoU3RhcnQsIE5TRGF0ZSAqZG9tYWlu
TG9va3VwU3RhcnQsIE5TRGF0ZSAqZG9tYWluTG9va3VwRW5kLCBOU0RhdGUgKmNvbm5lY3RTdGFy
dCwgTlNEYXRlICpzZWN1cmVDb25uZWN0aW9uU3RhcnQsIE5TRGF0ZSAqY29ubmVjdEVuZCwgTlNE
YXRlICpyZXF1ZXN0U3RhcnQsIE5TRGF0ZSAqcmVzcG9uc2VTdGFydCwgYm9vbCByZXVzZWRUTFND
b25uZWN0aW9uLCBOU1N0cmluZyAqcHJvdG9jb2wsIHVpbnQxNl90IHJlZGlyZWN0Q291bnQsIGJv
b2wgaXNDcm9zc09yaWdpbldpdGhvdXRUQU8pCiB7CiAKICAgICBhdXRvIHRpbWluZyA9IEJveDxO
ZXR3b3JrTG9hZE1ldHJpY3M+OjpjcmVhdGUoKTsKQEAgLTU2LDE0ICs1NiwxNCBAQCBzdGF0aWMg
Qm94PE5ldHdvcmtMb2FkTWV0cmljcz4gcGFja2FnZVRpbWluZ0RhdGEoTW9ub3RvbmljVGltZSBy
ZWRpcmVjdFN0YXJ0LCBOUwogICAgIHRpbWluZy0+cmVxdWVzdFN0YXJ0ID0gZGF0ZVRvTW9ub3Rv
bmljVGltZShyZXF1ZXN0U3RhcnQpOwogICAgIHRpbWluZy0+cmVzcG9uc2VTdGFydCA9IGRhdGVU
b01vbm90b25pY1RpbWUocmVzcG9uc2VTdGFydCk7CiAgICAgdGltaW5nLT5yZWRpcmVjdENvdW50
ID0gcmVkaXJlY3RDb3VudDsKLSAgICB0aW1pbmctPmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QgPSBo
YXNDcm9zc09yaWdpblJlZGlyZWN0OworICAgIHRpbWluZy0+aXNDcm9zc09yaWdpbldpdGhvdXRU
QU8gPSBpc0Nyb3NzT3JpZ2luV2l0aG91dFRBTzsKIAogICAgIC8vIE5PVEU6IHJlc3BvbnNlRW5k
IGlzIG5vdCBwb3B1bGF0ZWQgaW4gdGhpcyBjb2RlIHBhdGguCiAKICAgICByZXR1cm4gdGltaW5n
OwogfQogCi1Cb3g8TmV0d29ya0xvYWRNZXRyaWNzPiBjb3B5VGltaW5nRGF0YShOU1VSTFNlc3Np
b25UYXNrTWV0cmljcyAqaW5jb21wbGV0ZU1ldHJpY3MsIGJvb2wgaGFzQ3Jvc3NPcmlnaW5SZWRp
cmVjdCkKK0JveDxOZXR3b3JrTG9hZE1ldHJpY3M+IGNvcHlUaW1pbmdEYXRhKE5TVVJMU2Vzc2lv
blRhc2tNZXRyaWNzICppbmNvbXBsZXRlTWV0cmljcywgYm9vbCBpc0Nyb3NzT3JpZ2luV2l0aG91
dFRBTykKIHsKICAgICBOU0FycmF5PE5TVVJMU2Vzc2lvblRhc2tUcmFuc2FjdGlvbk1ldHJpY3Mg
Kj4gKnRyYW5zYWN0aW9uTWV0cmljcyA9IGluY29tcGxldGVNZXRyaWNzLnRyYW5zYWN0aW9uTWV0
cmljczsKICAgICBOU1VSTFNlc3Npb25UYXNrVHJhbnNhY3Rpb25NZXRyaWNzICptZXRyaWNzID0g
dHJhbnNhY3Rpb25NZXRyaWNzLmxhc3RPYmplY3Q7CkBAIC04MCw3ICs4MCw3IEBAIEJveDxOZXR3
b3JrTG9hZE1ldHJpY3M+IGNvcHlUaW1pbmdEYXRhKE5TVVJMU2Vzc2lvblRhc2tNZXRyaWNzICpp
bmNvbXBsZXRlTWV0cmljCiAgICAgICAgIG1ldHJpY3MucmV1c2VkQ29ubmVjdGlvbiwKICAgICAg
ICAgbWV0cmljcy5yZXNwb25zZS5VUkwuc2NoZW1lLAogICAgICAgICBpbmNvbXBsZXRlTWV0cmlj
cy5yZWRpcmVjdENvdW50LAotICAgICAgICBoYXNDcm9zc09yaWdpblJlZGlyZWN0CisgICAgICAg
IGlzQ3Jvc3NPcmlnaW5XaXRob3V0VEFPCiAgICAgKTsKIH0KIApAQCAtMTA5LDcgKzEwOSw3IEBA
IEJveDxOZXR3b3JrTG9hZE1ldHJpY3M+IGNvcHlUaW1pbmdEYXRhKE5TVVJMQ29ubmVjdGlvbiAq
Y29ubmVjdGlvbiwgY29uc3QgUmVzb3VyCiAgICAgICAgIHRpbWluZ1ZhbHVlKEAiX2tDRk5UaW1p
bmdEYXRhQ29ubmVjdGlvblJldXNlZCIpLmdldCgpLAogICAgICAgICBjb25uZWN0aW9uLmN1cnJl
bnRSZXF1ZXN0LlVSTC5zY2hlbWUsCiAgICAgICAgIGhhbmRsZS5yZWRpcmVjdENvdW50KCksCi0g
ICAgICAgIGhhbmRsZS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KCkKKyAgICAgICAgaGFuZGxlLmlz
Q3Jvc3NPcmlnaW5XaXRob3V0VEFPKCkKICAgICApOwogCiAgICAgaWYgKCFkYXRhLT5mZXRjaFN0
YXJ0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVz
b3VyY2VIYW5kbGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9S
ZXNvdXJjZUhhbmRsZU1hYy5tbQppbmRleCBmMmMxZWQ2NjQyZTZiN2JjYmRjZmEzMjdhYWY4MmU5
YjAzN2FhNGE1Li40ODEzMjBjODMzNDRjMGExNzFhNDUzZjcwZTNlODU3ZGUwOWVlYzI3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRs
ZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJj
ZUhhbmRsZU1hYy5tbQpAQCAtMzUxLDcgKzM1MSw3IEBAIENGU3RyaW5nUmVmIFJlc291cmNlSGFu
ZGxlOjpzeW5jaHJvbm91c0xvYWRSdW5Mb29wTW9kZSgpCiAgICAgcmV0dXJuIENGU1RSKCJXZWJD
b3JlU3luY2hyb25vdXNMb2FkZXJSdW5Mb29wTW9kZSIpOwogfQogCi12b2lkIFJlc291cmNlSGFu
ZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2luZ0NvbnRleHQq
IGNvbnRleHQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgU3RvcmVkQ3JlZGVudGlh
bHNQb2xpY3kgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIFJlc291cmNlRXJyb3ImIGVycm9yLCBS
ZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgVmVjdG9yPHVpbnQ4X3Q+JiBkYXRhKQordm9pZCBS
ZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtp
bmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFN0b3Jl
ZENyZWRlbnRpYWxzUG9saWN5IHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBTZWN1cml0eU9yaWdp
biogc291cmNlT3JpZ2luLCBSZXNvdXJjZUVycm9yJiBlcnJvciwgUmVzb3VyY2VSZXNwb25zZSYg
cmVzcG9uc2UsIFZlY3Rvcjx1aW50OF90PiYgZGF0YSkKIHsKICAgICBMT0coTmV0d29yaywgIlJl
c291cmNlSGFuZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHk6JUAgc3RvcmVk
Q3JlZGVudGlhbHNQb2xpY3k6JXUiLCByZXF1ZXN0Lm5zVVJMUmVxdWVzdChIVFRQQm9keVVwZGF0
ZVBvbGljeTo6RG9Ob3RVcGRhdGVIVFRQQm9keSksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihzdG9y
ZWRDcmVkZW50aWFsc1BvbGljeSkpOwogCkBAIC0zNjMsNyArMzYzLDcgQEAgdm9pZCBSZXNvdXJj
ZUhhbmRsZTo6cGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdDb250
ZXh0KiBjb250ZXgKICAgICBib29sIGRlZmVyc0xvYWRpbmcgPSBmYWxzZTsKICAgICBib29sIHNo
b3VsZENvbnRlbnRTbmlmZiA9IHRydWU7CiAgICAgYm9vbCBzaG91bGRDb250ZW50RW5jb2RpbmdT
bmlmZiA9IHRydWU7Ci0gICAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBoYW5kbGUgPSBhZG9wdFJl
ZihuZXcgUmVzb3VyY2VIYW5kbGUoY29udGV4dCwgcmVxdWVzdCwgJmNsaWVudCwgZGVmZXJzTG9h
ZGluZywgc2hvdWxkQ29udGVudFNuaWZmLCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZikpOwor
ICAgIFJlZlB0cjxSZXNvdXJjZUhhbmRsZT4gaGFuZGxlID0gYWRvcHRSZWYobmV3IFJlc291cmNl
SGFuZGxlKGNvbnRleHQsIHJlcXVlc3QsICZjbGllbnQsIGRlZmVyc0xvYWRpbmcsIHNob3VsZENv
bnRlbnRTbmlmZiwgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYsIHNvdXJjZU9yaWdpbikpOwog
CiAgICAgaGFuZGxlLT5kLT5tX3N0b3JhZ2VTZXNzaW9uID0gY29udGV4dC0+c3RvcmFnZVNlc3Np
b24oKS0+cGxhdGZvcm1TZXNzaW9uKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVE
ZWxlZ2F0ZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVS
ZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5tbQppbmRleCBjNDMyNjE2OTZl
M2NlZGYzNmY3ZTJkMzhhMDdkYWU0Y2EyZmUyNjRkLi40NmQ5NWE1MjFkYTgwMDViNGVhZTBkMjY2
NmNjM2MyMThjYTkwNmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNl
SGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLm1tCkBAIC0zNyw2ICszNyw3IEBACiAjaW1w
b3J0ICJTZWN1cml0eU9yaWdpbi5oIgogI2ltcG9ydCAiU2hhcmVkQnVmZmVyLmgiCiAjaW1wb3J0
ICJTeW5jaHJvbm91c0xvYWRlckNsaWVudC5oIgorI2ltcG9ydCAiVGltaW5nQWxsb3dPcmlnaW4u
aCIKICNpbXBvcnQgIldlYkNvcmVVUkxSZXNwb25zZS5oIgogI2ltcG9ydCA8cGFsL3NwaS9jZi9D
Rk5ldHdvcmtTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvTlNVUkxDb25uZWN0aW9uU1BJ
Lmg+CkBAIC0xNDEsNiArMTQyLDcgQEAgc3RhdGljIGJvb2wgc2NoZWR1bGVkV2l0aEN1c3RvbVJ1
bkxvb3BNb2RlKGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2NoZWR1bGVQYWlySGFzaFMKICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgfQogCisgICAgICAgIFJlc291cmNlUmVzcG9uc2UgcmVzcG9u
c2UocmVkaXJlY3RSZXNwb25zZS5nZXQoKSk7CiAgICAgICAgIFJlc291cmNlUmVxdWVzdCByZWRp
cmVjdFJlcXVlc3QgPSBuZXdSZXF1ZXN0LmdldCgpOwogICAgICAgICBpZiAoW25ld1JlcXVlc3Qu
Z2V0KCkgSFRUUEJvZHlTdHJlYW1dKSB7CiAgICAgICAgICAgICBBU1NFUlQobV9oYW5kbGUtPmZp
cnN0UmVxdWVzdCgpLmh0dHBCb2R5KCkpOwpAQCAtMTUwLDEwICsxNTIsMTIgQEAgc3RhdGljIGJv
b2wgc2NoZWR1bGVkV2l0aEN1c3RvbVJ1bkxvb3BNb2RlKGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2No
ZWR1bGVQYWlySGFzaFMKICAgICAgICAgICAgIHJlZGlyZWN0UmVxdWVzdC5jbGVhckhUVFBDb250
ZW50VHlwZSgpOwogCiAgICAgICAgIC8vIENoZWNrIGlmIHRoZSByZWRpcmVjdGVkIHVybCBpcyBh
bGxvd2VkIHRvIGFjY2VzcyB0aGUgcmVkaXJlY3RpbmcgdXJsJ3MgdGltaW5nIGluZm9ybWF0aW9u
LgotICAgICAgICBtX2hhbmRsZS0+c2V0SGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCghV2ViQ29yZTo6
U2VjdXJpdHlPcmlnaW46OmNyZWF0ZShyZWRpcmVjdFJlcXVlc3QudXJsKCkpLT5jYW5SZXF1ZXN0
KHJlZGlyZWN0UmVzcG9uc2UuZ2V0KCkuVVJMKSk7CisgICAgICAgIGlmIChhdXRvKiBzb3VyY2VP
cmlnaW4gPSBtX2hhbmRsZS0+c291cmNlT3JpZ2luKCk7IHNvdXJjZU9yaWdpbiAmJiAhbV9oYW5k
bGUtPmlzQ3Jvc3NPcmlnaW5XaXRob3V0VEFPKCkgJiYgIXBhc3Nlc1RpbWluZ0FsbG93T3JpZ2lu
Q2hlY2socmVzcG9uc2UsICpzb3VyY2VPcmlnaW4pKQorICAgICAgICAgICAgbV9oYW5kbGUtPm1h
cmtBc0Nyb3NzT3JpZ2luV2l0aG91dFRBTygpOworCiAgICAgICAgIG1faGFuZGxlLT5pbmNyZW1l
bnRSZWRpcmVjdENvdW50KCk7CiAKLSAgICAgICAgbV9oYW5kbGUtPndpbGxTZW5kUmVxdWVzdChX
VEZNb3ZlKHJlZGlyZWN0UmVxdWVzdCksIHJlZGlyZWN0UmVzcG9uc2UuZ2V0KCksIFtzZWxmLCBw
cm90ZWN0ZWRTZWxmID0gV1RGTW92ZShwcm90ZWN0ZWRTZWxmKV0oUmVzb3VyY2VSZXF1ZXN0JiYg
cmVxdWVzdCkgeworICAgICAgICBtX2hhbmRsZS0+d2lsbFNlbmRSZXF1ZXN0KFdURk1vdmUocmVk
aXJlY3RSZXF1ZXN0KSwgV1RGTW92ZShyZXNwb25zZSksIFtzZWxmLCBwcm90ZWN0ZWRTZWxmID0g
V1RGTW92ZShwcm90ZWN0ZWRTZWxmKV0oUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCkgewogICAg
ICAgICAgICAgbV9yZXF1ZXN0UmVzdWx0ID0gcmVxdWVzdC5uc1VSTFJlcXVlc3QoSFRUUEJvZHlV
cGRhdGVQb2xpY3k6OlVwZGF0ZUhUVFBCb2R5KTsKICAgICAgICAgICAgIG1fc2VtYXBob3JlLnNp
Z25hbCgpOwogICAgICAgICB9KTsKQEAgLTI1Nyw4ICsyNjEsMTEgQEAgQUxMT1dfREVQUkVDQVRF
RF9JTVBMRU1FTlRBVElPTlNfRU5ECiAgICAgICAgIGlmIChbbV9oYW5kbGUtPmZpcnN0UmVxdWVz
dCgpLm5zVVJMUmVxdWVzdChIVFRQQm9keVVwZGF0ZVBvbGljeTo6RG9Ob3RVcGRhdGVIVFRQQm9k
eSkgX3Byb3BlcnR5Rm9yS2V5OkAiRm9yY2VIVE1MTUlNRVR5cGUiXSkKICAgICAgICAgICAgIFty
IF9zZXRNSU1FVHlwZTpAInRleHQvaHRtbCJdOwogCi0gICAgICAgIGF1dG8gbWV0cmljcyA9IGNv
cHlUaW1pbmdEYXRhKGNvbm5lY3Rpb24uZ2V0KCksICptX2hhbmRsZSk7CiAgICAgICAgIFJlc291
cmNlUmVzcG9uc2UgcmVzb3VyY2VSZXNwb25zZShyLmdldCgpKTsKKyAgICAgICAgaWYgKGF1dG8q
IHNvdXJjZU9yaWdpbiA9IG1faGFuZGxlLT5zb3VyY2VPcmlnaW4oKTsgc291cmNlT3JpZ2luICYm
ICFtX2hhbmRsZS0+aXNDcm9zc09yaWdpbldpdGhvdXRUQU8oKSAmJiAhcGFzc2VzVGltaW5nQWxs
b3dPcmlnaW5DaGVjayhyZXNvdXJjZVJlc3BvbnNlLCAqc291cmNlT3JpZ2luKSkKKyAgICAgICAg
ICAgIG1faGFuZGxlLT5tYXJrQXNDcm9zc09yaWdpbldpdGhvdXRUQU8oKTsKKworICAgICAgICBh
dXRvIG1ldHJpY3MgPSBjb3B5VGltaW5nRGF0YShjb25uZWN0aW9uLmdldCgpLCAqbV9oYW5kbGUp
OwogICAgICAgICByZXNvdXJjZVJlc3BvbnNlLnNldFNvdXJjZShSZXNvdXJjZVJlc3BvbnNlOjpT
b3VyY2U6Ok5ldHdvcmspOwogICAgICAgICByZXNvdXJjZVJlc3BvbnNlLnNldERlcHJlY2F0ZWRO
ZXR3b3JrTG9hZE1ldHJpY3MoQm94PE5ldHdvcmtMb2FkTWV0cmljcz4geyBtZXRyaWNzIH0pOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkUGFy
YW1ldGVycy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZFBhcmFt
ZXRlcnMuaAppbmRleCBmOGQ2MTdhZTkzZjBkYWE5ZThlYmU5Yjk3MDU2ZWYwMDM2ZTRkMzljLi4w
NGNiMDM5MGM5Y2ZkODZiOTExZDQ4ZjlhZjljZDE3MmU4YjNhNzM3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkUGFyYW1ldGVycy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRQYXJhbWV0ZXJzLmgKQEAgLTQ4
LDYgKzQ4LDcgQEAgcHVibGljOgogICAgIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIHdlYlBhZ2VJ
RDsKICAgICBXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgd2ViRnJhbWVJRDsKICAgICBSZWZQdHI8
V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+IHRvcE9yaWdpbjsKKyAgICBSZWZQdHI8V2ViQ29yZTo6
U2VjdXJpdHlPcmlnaW4+IHNvdXJjZU9yaWdpbjsKICAgICBXVEY6OlByb2Nlc3NJRCBwYXJlbnRQ
SUQgeyAwIH07CiAjaWYgSEFWRShBVURJVF9UT0tFTikKICAgICBzdGQ6Om9wdGlvbmFsPGF1ZGl0
X3Rva2VuX3Q+IG5ldHdvcmtQcm9jZXNzQXVkaXRUb2tlbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMu
aAppbmRleCBmMGU0MjBmNTEwM2ViZDUxYWZkN2NlODljYmI3YjM1Zjk2MjVhMzU5Li4yMjJkNmY0
YTc0NzZjOTEzODNmN2EzYTU5NzY5OTVlNTZlYjM3MGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgKKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVy
cy5oCkBAIC01Miw3ICs1Miw2IEBAIHB1YmxpYzoKICAgICBWZWN0b3I8UmVmUHRyPFNhbmRib3hF
eHRlbnNpb24+PiByZXF1ZXN0Qm9keVNhbmRib3hFeHRlbnNpb25zOyAvLyBDcmVhdGVkIGF1dG9t
YXRpY2FsbHkgZm9yIHRoZSBzZW5kZXIuCiAgICAgUmVmUHRyPFNhbmRib3hFeHRlbnNpb24+IHJl
c291cmNlU2FuZGJveEV4dGVuc2lvbjsgLy8gQ3JlYXRlZCBhdXRvbWF0aWNhbGx5IGZvciB0aGUg
c2VuZGVyLgogICAgIFNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWU7Ci0gICAgUmVmUHRyPFdl
YkNvcmU6OlNlY3VyaXR5T3JpZ2luPiBzb3VyY2VPcmlnaW47CiAgICAgV2ViQ29yZTo6RmV0Y2hP
cHRpb25zIG9wdGlvbnM7CiAgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpDb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnM+IGNzcFJlc3BvbnNlSGVhZGVyczsKICAgICBXZWJDb3Jl
OjpIVFRQSGVhZGVyTWFwIG9yaWdpbmFsUmVxdWVzdEhlYWRlcnM7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXgg
MDg0YmRlMWIzZmMxYmU2NWM4ZmQ3NDBkYjBiNDIyNTBkY2E2ODNhNS4uZWMxNmQ5NzJkMzRiZTEy
OTAzOGYzY2E2YjIzNjM0M2NmNzBiNTQyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtODYsNyArODYsNyBA
QCBzdHJ1Y3QgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpTeW5jaHJvbm91c0xvYWREYXRhIHsKICAg
ICBSZXNvdXJjZUVycm9yIGVycm9yOwogfTsKIAotc3RhdGljIHZvaWQgc2VuZFJlcGx5VG9TeW5j
aHJvbm91c1JlcXVlc3QoTmV0d29ya1Jlc291cmNlTG9hZGVyOjpTeW5jaHJvbm91c0xvYWREYXRh
JiBkYXRhLCBjb25zdCBTaGFyZWRCdWZmZXIqIGJ1ZmZlcikKK3N0YXRpYyB2b2lkIHNlbmRSZXBs
eVRvU3luY2hyb25vdXNSZXF1ZXN0KE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6U3luY2hyb25vdXNM
b2FkRGF0YSYgZGF0YSwgY29uc3QgU2hhcmVkQnVmZmVyKiBidWZmZXIsIGNvbnN0IE5ldHdvcmtM
b2FkTWV0cmljcyYgbWV0cmljcykKIHsKICAgICBBU1NFUlQoZGF0YS5kZWxheWVkUmVwbHkpOwog
ICAgIEFTU0VSVCghZGF0YS5yZXNwb25zZS5pc051bGwoKSB8fCAhZGF0YS5lcnJvci5pc051bGwo
KSk7CkBAIC05NSw2ICs5NSw4IEBAIHN0YXRpYyB2b2lkIHNlbmRSZXBseVRvU3luY2hyb25vdXNS
ZXF1ZXN0KE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6U3luY2hyb25vdXNMb2FkCiAgICAgaWYgKGJ1
ZmZlciAmJiBidWZmZXItPnNpemUoKSkKICAgICAgICAgcmVzcG9uc2VCdWZmZXIuYXBwZW5kKGJ1
ZmZlci0+ZGF0YSgpLCBidWZmZXItPnNpemUoKSk7CiAKKyAgICBkYXRhLnJlc3BvbnNlLnNldERl
cHJlY2F0ZWROZXR3b3JrTG9hZE1ldHJpY3MoQm94PE5ldHdvcmtMb2FkTWV0cmljcz46OmNyZWF0
ZShtZXRyaWNzKSk7CisKICAgICBkYXRhLmRlbGF5ZWRSZXBseShkYXRhLmVycm9yLCBkYXRhLnJl
c3BvbnNlLCByZXNwb25zZUJ1ZmZlcik7CiAgICAgZGF0YS5kZWxheWVkUmVwbHkgPSBudWxscHRy
OwogfQpAQCAtNzI4LDcgKzczMCw3IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRG
aW5pc2hMb2FkaW5nKGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYgbmV0d29ya0xvCiAjZW5kaWYK
IAogICAgIGlmIChpc1N5bmNocm9ub3VzKCkpCi0gICAgICAgIHNlbmRSZXBseVRvU3luY2hyb25v
dXNSZXF1ZXN0KCptX3N5bmNocm9ub3VzTG9hZERhdGEsIG1fYnVmZmVyZWREYXRhLmdldCgpKTsK
KyAgICAgICAgc2VuZFJlcGx5VG9TeW5jaHJvbm91c1JlcXVlc3QoKm1fc3luY2hyb25vdXNMb2Fk
RGF0YSwgbV9idWZmZXJlZERhdGEuZ2V0KCksIG5ldHdvcmtMb2FkTWV0cmljcyk7CiAgICAgZWxz
ZSB7CiAgICAgICAgIGlmIChtX2J1ZmZlcmVkRGF0YSAmJiAhbV9idWZmZXJlZERhdGEtPmlzRW1w
dHkoKSkgewogICAgICAgICAgICAgLy8gRklYTUU6IFBhc3MgYSByZWFsIHZhbHVlIG9yIHJlbW92
ZSB0aGUgZW5jb2RlZCBkYXRhIHNpemUgZmVhdHVyZS4KQEAgLTc2Myw3ICs3NjUsNyBAQCB2b2lk
IE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkRmFpbExvYWRpbmcoY29uc3QgUmVzb3VyY2VFcnJv
ciYgZXJyb3IpCiAKICAgICBpZiAoaXNTeW5jaHJvbm91cygpKSB7CiAgICAgICAgIG1fc3luY2hy
b25vdXNMb2FkRGF0YS0+ZXJyb3IgPSBlcnJvcjsKLSAgICAgICAgc2VuZFJlcGx5VG9TeW5jaHJv
bm91c1JlcXVlc3QoKm1fc3luY2hyb25vdXNMb2FkRGF0YSwgbnVsbHB0cik7CisgICAgICAgIHNl
bmRSZXBseVRvU3luY2hyb25vdXNSZXF1ZXN0KCptX3N5bmNocm9ub3VzTG9hZERhdGEsIG51bGxw
dHIsIHsgfSk7CiAgICAgfSBlbHNlIGlmIChhdXRvKiBjb25uZWN0aW9uID0gbWVzc2FnZVNlbmRl
ckNvbm5lY3Rpb24oKSkgewogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKICAgICAgICAgaWYg
KG1fc2VydmljZVdvcmtlckZldGNoVGFzaykKQEAgLTExNDIsNyArMTE0NCw3IEBAIHZvaWQgTmV0
d29ya1Jlc291cmNlTG9hZGVyOjpkaWRSZXRyaWV2ZUNhY2hlRW50cnkoc3RkOjp1bmlxdWVfcHRy
PE5ldHdvcmtDYWNoZTo6CiAgICAgcmVzcG9uc2UgPSBzYW5pdGl6ZVJlc3BvbnNlSWZQb3NzaWJs
ZShXVEZNb3ZlKHJlc3BvbnNlKSwgUmVzb3VyY2VSZXNwb25zZTo6U2FuaXRpemF0aW9uVHlwZTo6
Q3Jvc3NPcmlnaW5TYWZlKTsKICAgICBpZiAoaXNTeW5jaHJvbm91cygpKSB7CiAgICAgICAgIG1f
c3luY2hyb25vdXNMb2FkRGF0YS0+cmVzcG9uc2UgPSBXVEZNb3ZlKHJlc3BvbnNlKTsKLSAgICAg
ICAgc2VuZFJlcGx5VG9TeW5jaHJvbm91c1JlcXVlc3QoKm1fc3luY2hyb25vdXNMb2FkRGF0YSwg
ZW50cnktPmJ1ZmZlcigpKTsKKyAgICAgICAgc2VuZFJlcGx5VG9TeW5jaHJvbm91c1JlcXVlc3Qo
Km1fc3luY2hyb25vdXNMb2FkRGF0YSwgZW50cnktPmJ1ZmZlcigpLCB7IH0pOwogICAgICAgICBj
bGVhbnVwKExvYWRSZXN1bHQ6OlN1Y2Nlc3MpOwogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRh
c2tDb2NvYS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0
YVRhc2tDb2NvYS5oCmluZGV4IGZhZDI0OGU5Mzk0Njg3M2MyNjliZDk4YWQ0MzRjYTc0MjE4MDA0
YTMuLjRiZjRmMGQxYTE0OWYyYjE1OTRmMDE1ZTE0YTE5MTRjYTk2MDM1NDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2Eu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFz
a0NvY29hLmgKQEAgLTg0LDYgKzg0LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0SDJQaW5nQ2Fs
bGJhY2soY29uc3QgVVJMJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxXVEY6OlNl
Y29uZHMsIFdlYkNvcmU6OlJlc291cmNlRXJyb3I+JiYpPiYmKSBvdmVycmlkZTsKICAgICB2b2lk
IHNldFByaW9yaXR5KFdlYkNvcmU6OlJlc291cmNlTG9hZFByaW9yaXR5KSBvdmVycmlkZTsKIAor
ICAgIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luKiBzb3VyY2VPcmlnaW4oKSBjb25zdCB7
IHJldHVybiBtX3NvdXJjZU9yaWdpbi5nZXQoKTsgfQorICAgIAogcHJpdmF0ZToKICAgICBOZXR3
b3JrRGF0YVRhc2tDb2NvYShOZXR3b3JrU2Vzc2lvbiYsIE5ldHdvcmtEYXRhVGFza0NsaWVudCYs
IGNvbnN0IE5ldHdvcmtMb2FkUGFyYW1ldGVycyYpOwogCkBAIC0xMjAsNiArMTIyLDcgQEAgcHJp
dmF0ZToKICAgICBib29sIG1faXNGb3JNYWluUmVzb3VyY2VOYXZpZ2F0aW9uRm9yQW55RnJhbWUg
eyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQgeyBmYWxzZSB9
OwogICAgIFdlYkNvcmU6OlNob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nIG1fc2hv
dWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tpbmcgeyBXZWJDb3JlOjpTaG91bGRSZWxheFRo
aXJkUGFydHlDb29raWVCbG9ja2luZzo6Tm8gfTsKKyAgICBSZWZQdHI8V2ViQ29yZTo6U2VjdXJp
dHlPcmlnaW4+IG1fc291cmNlT3JpZ2luOwogfTsKIAogV2ViQ29yZTo6Q3JlZGVudGlhbCBzZXJ2
ZXJUcnVzdENyZWRlbnRpYWwoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2Um
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29y
a0RhdGFUYXNrQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05l
dHdvcmtEYXRhVGFza0NvY29hLm1tCmluZGV4IGNmZGZlMTM2OWNlNmE4ZTVmYmUzZjZmYTQxMTU3
NzMwMjk0ZjczMjMuLmIwYThmZjU1ODkxMWMzMDcyOTQxYzY5NGIxZWU5NjI3NTY4ZTliMDUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFU
YXNrQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3
b3JrRGF0YVRhc2tDb2NvYS5tbQpAQCAtMzAwLDYgKzMwMCw3IEBAIE5ldHdvcmtEYXRhVGFza0Nv
Y29hOjpOZXR3b3JrRGF0YVRhc2tDb2NvYShOZXR3b3JrU2Vzc2lvbiYgc2Vzc2lvbiwgTmV0d29y
a0RhdGFUCiAgICAgLCBtX2lzRm9yTWFpblJlc291cmNlTmF2aWdhdGlvbkZvckFueUZyYW1lKHBh
cmFtZXRlcnMuaXNNYWluUmVzb3VyY2VOYXZpZ2F0aW9uRm9yQW55RnJhbWUpCiAgICAgLCBtX2lz
QWx3YXlzT25Mb2dnaW5nQWxsb3dlZChjb21wdXRlSXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKHNl
c3Npb24pKQogICAgICwgbV9zaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZyhwYXJh
bWV0ZXJzLnNob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nKQorICAgICwgbV9zb3Vy
Y2VPcmlnaW4ocGFyYW1ldGVycy5zb3VyY2VPcmlnaW4pCiB7CiAgICAgYXV0byByZXF1ZXN0ID0g
cGFyYW1ldGVycy5yZXF1ZXN0OwogICAgIGF1dG8gdXJsID0gcmVxdWVzdC51cmwoKTsKQEAgLTQ2
MCwxMCArNDYxLDYgQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6d2lsbFBlcmZvcm1IVFRQ
UmVkaXJlY3Rpb24oV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYKIHsKICAgICBXVEZFbWl0U2ln
bnBvc3QobV90YXNrLmdldCgpLCAiRGF0YVRhc2siLCAicmVkaXJlY3QiKTsKIAotICAgIC8vIENo
ZWNrIGlmIHRoZSByZWRpcmVjdGVkIHVybCBpcyBhbGxvd2VkIHRvIGFjY2VzcyB0aGUgcmVkaXJl
Y3RpbmcgdXJsJ3MgdGltaW5nIGluZm9ybWF0aW9uLgotICAgIC8vIEZJWE1FOiBUaGlzIHNob3Vs
ZCBub3Qgc2V0IGJhY2sgdG8gdHJ1ZSBhZnRlciBhbm90aGVyIHNhbWUtb3JpZ2luIHJlZGlyZWN0
IG9uY2UgaXQgaGFzIGJlZW4gc2V0IHRvIHRydWUuCi0gICAgbmV0d29ya0xvYWRNZXRyaWNzKCku
aGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCA9ICFXZWJDb3JlOjpTZWN1cml0eU9yaWdpbjo6Y3JlYXRl
KHJlcXVlc3QudXJsKCkpLT5jYW5SZXF1ZXN0KHJlZGlyZWN0UmVzcG9uc2UudXJsKCkpOwotCiAg
ICAgaWYgKHJlZGlyZWN0UmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSA9PSAzMDcgfHwgcmVkaXJl
Y3RSZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpID09IDMwOCkgewogICAgICAgICBBU1NFUlQobV9s
YXN0SFRUUE1ldGhvZCA9PSByZXF1ZXN0Lmh0dHBNZXRob2QoKSk7CiAgICAgICAgIFdlYkNvcmU6
OkZvcm1EYXRhKiBib2R5ID0gbV9maXJzdFJlcXVlc3QuaHR0cEJvZHkoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5t
bSBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2Nv
YS5tbQppbmRleCBjNjk2MjdkZWUyMzEwZjVjMzQ3YmExNDVkYjY0YmRlZjkyM2ExYjU0Li4xZmFm
M2I2N2E5YzYxNzhiNzM2OTFlZWYwMmM3ZmMxMGI1NDU4YjYxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0KKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1t
CkBAIC00OCw2ICs0OCw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgog
I2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1No
YXJlZEJ1ZmZlci5oPgorI2ltcG9ydCA8V2ViQ29yZS9UaW1pbmdBbGxvd09yaWdpbi5oPgogI2lt
cG9ydCA8V2ViQ29yZS9XZWJDb3JlVVJMUmVzcG9uc2UuaD4KICNpbXBvcnQgPHBhbC9zcGkvY2Yv
Q0ZOZXR3b3JrU1BJLmg+CiAjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4KQEAgLTU1NSw3ICs1NTYs
MTEgQEAgc3RhdGljIHZvaWQgdXBkYXRlSWdub3JlU3RyaWN0VHJhbnNwb3J0U2VjdXJpdHlTZXR0
aW5nKFJldGFpblB0cjxOU1VSTFJlcXVlc3Q+JgogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CiAjZW5kaWYKIAotICAgICAgICBuZXR3b3JrRGF0YVRhc2stPndpbGxQZXJmb3JtSFRU
UFJlZGlyZWN0aW9uKHJlc3BvbnNlLCByZXF1ZXN0LCBbY29tcGxldGlvbkhhbmRsZXIgPSBtYWtl
QmxvY2tQdHIoY29tcGxldGlvbkhhbmRsZXIpLCB0YXNrSWRlbnRpZmllciwgc2hvdWxkSWdub3Jl
SFNUU10oYXV0byYmIHJlcXVlc3QpIHsKKyAgICAgICAgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZSByZXNvdXJjZVJlc3BvbnNlKHJlc3BvbnNlKTsKKyAgICAgICAgaWYgKGF1dG8qIHNvdXJjZU9y
aWdpbiA9IG5ldHdvcmtEYXRhVGFzay0+c291cmNlT3JpZ2luKCkpCisgICAgICAgICAgICBuZXR3
b3JrRGF0YVRhc2stPm5ldHdvcmtMb2FkTWV0cmljcygpLmlzQ3Jvc3NPcmlnaW5XaXRob3V0VEFP
ID0gbmV0d29ya0RhdGFUYXNrLT5uZXR3b3JrTG9hZE1ldHJpY3MoKS5pc0Nyb3NzT3JpZ2luV2l0
aG91dFRBTyB8fCAhcGFzc2VzVGltaW5nQWxsb3dPcmlnaW5DaGVjayhyZXNvdXJjZVJlc3BvbnNl
LCAqc291cmNlT3JpZ2luKTsKKworICAgICAgICBuZXR3b3JrRGF0YVRhc2stPndpbGxQZXJmb3Jt
SFRUUFJlZGlyZWN0aW9uKFdURk1vdmUocmVzb3VyY2VSZXNwb25zZSksIHJlcXVlc3QsIFtjb21w
bGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlciksIHRhc2tJZGVu
dGlmaWVyLCBzaG91bGRJZ25vcmVIU1RTXShhdXRvJiYgcmVxdWVzdCkgewogI2lmICFMT0dfRElT
QUJMRUQKICAgICAgICAgICAgIExPRyhOZXR3b3JrU2Vzc2lvbiwgIiVsbHUgd2lsbFBlcmZvcm1I
VFRQUmVkaXJlY3Rpb24gY29tcGxldGlvbkhhbmRsZXIgKCVzKSIsIHRhc2tJZGVudGlmaWVyLCBy
ZXF1ZXN0LnVybCgpLnN0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwogI2Vsc2UKQEAgLTkxNSw3ICs5
MjAsMTAgQEAgc3RhdGljIGlubGluZSB2b2lkIHByb2Nlc3NTZXJ2ZXJUcnVzdEV2YWx1YXRpb24o
TmV0d29ya1Nlc3Npb25Db2NvYSYgc2Vzc2lvbiwgU2UKICAgICAgICAgLy8gYWxsIHRoZSBmaWVs
ZHMgd2hlbiBzZW5kaW5nIHRoZSByZXNwb25zZSB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzIG92
ZXIgSVBDLgogICAgICAgICByZXNvdXJjZVJlc3BvbnNlLmRpc2FibGVMYXp5SW5pdGlhbGl6YXRp
b24oKTsKIAotICAgICAgICByZXNvdXJjZVJlc3BvbnNlLnNldERlcHJlY2F0ZWROZXR3b3JrTG9h
ZE1ldHJpY3MoV2ViQ29yZTo6Y29weVRpbWluZ0RhdGEodGFza01ldHJpY3MsIG5ldHdvcmtEYXRh
VGFzay0+bmV0d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkpOworICAg
ICAgICBpZiAoYXV0byogc291cmNlT3JpZ2luID0gbmV0d29ya0RhdGFUYXNrLT5zb3VyY2VPcmln
aW4oKSkKKyAgICAgICAgICAgIG5ldHdvcmtEYXRhVGFzay0+bmV0d29ya0xvYWRNZXRyaWNzKCku
aXNDcm9zc09yaWdpbldpdGhvdXRUQU8gPSBuZXR3b3JrRGF0YVRhc2stPm5ldHdvcmtMb2FkTWV0
cmljcygpLmlzQ3Jvc3NPcmlnaW5XaXRob3V0VEFPIHx8ICFwYXNzZXNUaW1pbmdBbGxvd09yaWdp
bkNoZWNrKHJlc291cmNlUmVzcG9uc2UsICpzb3VyY2VPcmlnaW4pOworCisgICAgICAgIHJlc291
cmNlUmVzcG9uc2Uuc2V0RGVwcmVjYXRlZE5ldHdvcmtMb2FkTWV0cmljcyhXZWJDb3JlOjpjb3B5
VGltaW5nRGF0YSh0YXNrTWV0cmljcywgbmV0d29ya0RhdGFUYXNrLT5uZXR3b3JrTG9hZE1ldHJp
Y3MoKS5pc0Nyb3NzT3JpZ2luV2l0aG91dFRBTykpOwogCiAgICAgICAgIG5ldHdvcmtEYXRhVGFz
ay0+ZGlkUmVjZWl2ZVJlc3BvbnNlKFdURk1vdmUocmVzb3VyY2VSZXNwb25zZSksIG5lZ290aWF0
ZWRMZWdhY3lUTFMsIFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9u
SGFuZGxlciksIHRhc2tJZGVudGlmaWVyXShXZWJDb3JlOjpQb2xpY3lBY3Rpb24gcG9saWN5QWN0
aW9uKSB7CiAjaWYgIUxPR19ESVNBQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2Fj
eS9XZWJDb3JlU3VwcG9ydC9QaW5nSGFuZGxlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYkNv
cmVTdXBwb3J0L1BpbmdIYW5kbGUuaAppbmRleCAwOTI5Y2VmOTc4OWMwY2NmMTFhM2U5NDEwZjVk
ZTZmZmNhZmViYTYwLi40MmI3NWMxZjg3YTU1ZjcyNjk2MmMxNDc0YWJiZTY3ZGI0ZDNiNWNlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYkNvcmVTdXBwb3J0L1BpbmdIYW5kbGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYkNvcmVTdXBwb3J0L1BpbmdIYW5kbGUuaApA
QCAtNTAsNyArNTAsNyBAQCBwdWJsaWM6CiAgICAgICAgIGJvb2wgZGVmZXJzTG9hZGluZyA9IGZh
bHNlOwogICAgICAgICBib29sIHNob3VsZENvbnRlbnRTbmlmZiA9IGZhbHNlOwogICAgICAgICBi
b29sIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmID0gdHJ1ZTsKLSAgICAgICAgbV9oYW5kbGUg
PSBXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlKG5ldHdvcmtpbmdDb250ZXh0LCByZXF1
ZXN0LCB0aGlzLCBkZWZlcnNMb2FkaW5nLCBzaG91bGRDb250ZW50U25pZmYsIHNob3VsZENvbnRl
bnRFbmNvZGluZ1NuaWZmKTsKKyAgICAgICAgbV9oYW5kbGUgPSBXZWJDb3JlOjpSZXNvdXJjZUhh
bmRsZTo6Y3JlYXRlKG5ldHdvcmtpbmdDb250ZXh0LCByZXF1ZXN0LCB0aGlzLCBkZWZlcnNMb2Fk
aW5nLCBzaG91bGRDb250ZW50U25pZmYsIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmLCBudWxs
cHRyKTsKIAogICAgICAgICAvLyBJZiB0aGUgc2VydmVyIG5ldmVyIHJlc3BvbmRzLCB0aGlzIG9i
amVjdCB3aWxsIGhhbmcgYXJvdW5kIGZvcmV2ZXIuCiAgICAgICAgIC8vIFNldCBhIHZlcnkgZ2Vu
ZXJvdXMgdGltZW91dCwganVzdCBpbiBjYXNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwIGIvU291cmNl
L1dlYktpdExlZ2FjeS9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3Bw
CmluZGV4IDkxYzgzYTA0M2YyNzM1YTk3MDQ2ZjFkMzIzOGYwZWZhYWYzYjYzN2UuLjdkY2ZlMGI4
NzljYTg1NDU2OTY4MzdlZWM3Y2E4OTBmOTk4YTk5MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVk
dWxlci5jcHAKQEAgLTEwOSw3ICsxMDksOSBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFNjaGVkdWxl
cjo6bG9hZFJlc291cmNlKEZyYW1lJiBmcmFtZSwgQ2FjaGVkUmVzb3VyY2UmIHJlc291cgogCiB2
b2lkIFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShG
cmFtZUxvYWRlciYgZnJhbWVMb2FkZXIsIHVuc2lnbmVkIGxvbmcsIGNvbnN0IFJlc291cmNlUmVx
dWVzdCYgcmVxdWVzdCwgQ2xpZW50Q3JlZGVudGlhbFBvbGljeSwgY29uc3QgRmV0Y2hPcHRpb25z
JiBvcHRpb25zLCBjb25zdCBIVFRQSGVhZGVyTWFwJiwgUmVzb3VyY2VFcnJvciYgZXJyb3IsIFJl
c291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBWZWN0b3I8dWludDhfdD4mIGRhdGEpCiB7Ci0gICAg
UmVzb3VyY2VIYW5kbGU6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoZnJhbWVMb2FkZXIubmV0
d29ya2luZ0NvbnRleHQoKSwgcmVxdWVzdCwgb3B0aW9ucy5jcmVkZW50aWFscyA9PSBGZXRjaE9w
dGlvbnM6OkNyZWRlbnRpYWxzOjpPbWl0ID8gU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3k6OkRvTm90
VXNlIDogU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3k6OlVzZSwgZXJyb3IsIHJlc3BvbnNlLCBkYXRh
KTsKKyAgICBhdXRvKiBkb2N1bWVudCA9IGZyYW1lTG9hZGVyLmZyYW1lKCkuZG9jdW1lbnQoKTsK
KyAgICBhdXRvKiBzb3VyY2VPcmlnaW4gPSBkb2N1bWVudCA/ICZkb2N1bWVudC0+c2VjdXJpdHlP
cmlnaW4oKSA6IG51bGxwdHI7CisgICAgUmVzb3VyY2VIYW5kbGU6OmxvYWRSZXNvdXJjZVN5bmNo
cm9ub3VzbHkoZnJhbWVMb2FkZXIubmV0d29ya2luZ0NvbnRleHQoKSwgcmVxdWVzdCwgb3B0aW9u
cy5jcmVkZW50aWFscyA9PSBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzOjpPbWl0ID8gU3RvcmVk
Q3JlZGVudGlhbHNQb2xpY3k6OkRvTm90VXNlIDogU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3k6OlVz
ZSwgc291cmNlT3JpZ2luLCBlcnJvciwgcmVzcG9uc2UsIGRhdGEpOwogfQogCiB2b2lkIFdlYlJl
c291cmNlTG9hZFNjaGVkdWxlcjo6cGFnZUxvYWRDb21wbGV0ZWQoUGFnZSYpCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggM2Qx
YWUzYmMwMGNlNDllN2I0YjEzNzgyOGEyZTg1YzBlM2EwMjI0OC4uZmQ2YjIxYjk5MTI2ZmE1ZjU0
ZGVlMzVjOTcyZTRlYmI3NmI4ZjM3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIxLTA2LTA0
ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
TW92ZSBUaW1pbmctQWxsb3ctT3JpZ2luIGNoZWNrcyB0byB0aGUgbmV0d29yayBwcm9jZXNzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY2NzgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBl
Y3RhdGlvbnM6CisKIDIwMjEtMDYtMDQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5A
d2Via2l0Lm9yZz4KIAogICAgICAgICBJbXBsZW1lbnQgb2ZmLWJ5LWRlZmF1bHQgZXhwZXJpbWVu
dGFsIGZlYXR1cmUgZm9yIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcudHJhbnNmZXJTaXplLCBl
bmNvZGVkQm9keVNpemUsIGFuZCBkZWNvZGVkQm9keVNpemUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCmluZGV4IGRkY2E4YzI2MTRmMWJjZDZhNWJlNzdkZjc2MzdjMmQwNDQ4ZWI5MmQuLmM2
NWVjMWUxMjVjYmZkYjNjZThlYTE1ODU2ZjllZTBmYTI4N2NhNzMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1NSBAQAorMjAyMS0wNi0wNCAgQWxleCBDaHJpc3Rl
bnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUgVGltaW5nLUFs
bG93LU9yaWdpbiBjaGVja3MgdG8gdGhlIG5ldHdvcmsgcHJvY2VzcworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2Njc4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL0NvZGluZ0NvbnZlbnRpb25zLm1kOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1NPLVhPLVNPLXJlZGlyZWN0LWNoYWluLXRh
by5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvU08tWE8tU08tcmVkaXJlY3QtY2hhaW4tdGFvLmh0dHBzLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU3lu
dGhldGljUmVzcG9uc2UucHk6CisgICAgICAgIChtYWluKToKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1tYXRjaC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW1hdGNoLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
VEFPLW51bGwtb3BhcXVlLW9yaWdpbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW51bGwtb3BhcXVlLW9yaWdpbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L1RBTy1wb3J0LW1pc21hdGNoLW1lYW5zLWNyb3Nzb3JpZ2luLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tcG9ydC1t
aXNtYXRjaC1tZWFucy1jcm9zc29yaWdpbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL19faW5pdF9fLnB5OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFkZC1hZnRl
ci1mdWxsLWV2ZW50LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFkZC1hZnRlci1mdWxsLWV2ZW50Lmh0bWw6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1h
ZGQtZW50cmllcy1kdXJpbmctY2FsbGJhY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWVudHJpZXMtZHVy
aW5nLWNhbGxiYWNrLXRoYXQtZHJvcC5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWVudHJpZXMtZHVyaW5nLWNhbGxiYWNr
Lmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZm
ZXItZnVsbC1hZGQtdGhlbi1jbGVhci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtdGhlbi1jbGVhci5odG1s
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1
bGwtZGVjcmVhc2UtYnVmZmVyLWR1cmluZy1jYWxsYmFjay5odG1sOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5jcmVhc2UtYnVmZmVy
LWR1cmluZy1jYWxsYmFjay1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbmNyZWFzZS1idWZmZXItZHVyaW5nLWNh
bGxiYWNrLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9idWZmZXItZnVsbC1pbnNwZWN0LWJ1ZmZlci1kdXJpbmctY2FsbGJhY2stZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1
bGwtaW5zcGVjdC1idWZmZXItZHVyaW5nLWNhbGxiYWNrLmh0bWw6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zZXQtdG8tY3VycmVudC1i
dWZmZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvYnVmZmVyLWZ1bGwtc2V0LXRvLWN1cnJlbnQtYnVmZmVyLmh0bWw6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zdG9yZS1h
bmQtY2xlYXItZHVyaW5nLWNhbGxiYWNrLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXN0b3JlLWFuZC1jbGVhci1k
dXJpbmctY2FsbGJhY2suaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2J1ZmZlci1mdWxsLXRoZW4taW5jcmVhc2VkLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXRoZW4t
aW5jcmVhc2VkLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9idWZmZXItZnVsbC13aGVuLXBvcHVsYXRlLWVudHJpZXMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtd2hl
bi1wb3B1bGF0ZS1lbnRyaWVzLmh0bWw6CisgICAgICAgIEFsbCB0aGVzZSBidWZmZXItZnVsbCB0
ZXN0cyBzdGFydCBmYWlsaW5nIHdoZW4gSSB1cGRhdGUgdGhlbS4gIEkgc2hvdWxkIHByb2JhYmx5
IHVwZGF0ZSB0aGVtIGluIGEgc2VwYXJhdGUgY2hhbmdlLAorICAgICAgICBiZWNhdXNlIHRoYXQg
aXMgYW4gdW5yZWxhdGVkIGJ1Zy4gIEZpcmVmb3ggaGFzIHRoZSBzYW1lIGJ1Zy4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0aW9uLXJldXNlLmh0dHBzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9jb25uZWN0aW9uLXJldXNlLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mtb3JpZ2luLXN0YXJ0LWVuZC10aW1lLXdp
dGgtcmVkaXJlY3RzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhcnQtZW5kLXRpbWUtd2l0aC1y
ZWRpcmVjdHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhdHVzLWNvZGVzLmh0bWw6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9kb2N1bWVudC1kb21haW4tbm8taW1wYWN0
LW9wZW5lci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC1vcGVuZXIuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9lbnRy
eS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9lbnRyeS1hdHRyaWJ1dGVzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZmV0Y2gtY3Jvc3Mtb3Jp
Z2luLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mZXRjaC1jcm9zcy1vcmlnaW4tcmVkaXJlY3Qu
aHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9mb250LXRpbWVzdGFtcHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZvbnQtdGltZXN0YW1wcy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2lmcmFt
ZS1mYWlsZWQtY29tbWl0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9pZnJhbWUtZmFpbGVkLWNvbW1pdC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2luaXRpYXRv
ci10eXBlLWZvci1zY3JpcHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2luaXRpYXRvci10eXBlLWZvci1zY3JpcHQuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9u
ZXh0SG9wUHJvdG9jb2wtaXMtdGFvLXByb3RlY3RlZC5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvbmV4dEhvcFBy
b3RvY29sLWlzLXRhby1wcm90ZWN0ZWQuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLVRB
Ty1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXIt
VEFPLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItY3Jvc3Mt
b3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLWNyb3NzLW9y
aWdpbi1yZWRpcmVjdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3JlZGlyZWN0cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVkaXJlY3RzLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Ut
aWdub3JlLWRhdGEtdXJsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25vcmUtZGF0YS11cmwuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZV9UQU9fY3Jvc3Nfb3JpZ2luX3JlZGlyZWN0X2NoYWluLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgVGhpcyBhcHBhcmVudCByZWdyZXNzaW9uIGlzIGFjdHVhbGx5IGEgcHJvZ3Jlc3Npb24uCisg
ICAgICAgIFdoZW4gdGhpcyB0ZXN0IGlzIHJ1biBmcm9tIG91ciB0ZXN0IGluZnJhc3RydWN0dXJl
LCBDaHJvbWUgYW5kIEZpcmVmb3ggZmFpbCB0aGUgc2FtZSB0ZXN0cyB0aGF0IHlvdSBzZWUgbm93
IGZhaWxpbmcgaGVyZSwKKyAgICAgICAgaW5kaWNhdGluZyB0aGF0IHNvbWV0aGluZyBpcyB3cm9u
ZyB3aXRoIG91ciB0ZXN0IGluZnJhc3RydWN0dXJlLiAgV2hlbiBydW4gb24gd3B0LmxpdmUsIGFs
bCBicm93c2VycyBwYXNzIHRoaXMgdGVzdAorICAgICAgICBhZnRlciB0aGlzIGNoYW5nZS4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX2NhY2hl
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3Jlc291cmNlX2luaXRpYXRvcl90eXBlcy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfbmVzdGVkX2RlZGljYXRlZF93b3JrZXIu
d29ya2VyLmpzOgorICAgICAgICAoYXN5bmNfdGVzdCk6CisgICAgICAgIChhc3luY190ZXN0LmFz
eW5jIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlX3RpbWluZ19jb250ZW50X2xlbmd0aC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2VfdGltaW5nX2NvbnRlbnRfbGVuZ3RoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzLzIwMF9lbXB0eS5hc2lzOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
cy9UQU9SZXNwb25zZS5weToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2FsbF9yZXNvdXJjZV90eXBlcy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlcy9idWZmZXItZnVsbC11dGlsaXRpZXMuanM6CisgICAgICAgIChjb25zdC53YWl0Rm9y
TmV4dFRhc2spOgorICAgICAgICAoY29uc3QuZm9yY2VCdWZmZXJGdWxsRXZlbnQuYXN5bmMgY2xl
YXJCdWZmZXJBbmRTZXRTaXplKToKKyAgICAgICAgKGNvbnN0LmZvcmNlQnVmZmVyRnVsbEV2ZW50
KToKKyAgICAgICAgKGNvbnN0LmZpbGxVcFRoZUJ1ZmZlcldpdGhUd29SZXNvdXJjZXMuYXN5bmMg
Y2xlYXJCdWZmZXJBbmRTZXRTaXplKToKKyAgICAgICAgKGFzeW5jIGNvbnN0LmZpbGxVcFRoZUJ1
ZmZlcldpdGhTaW5nbGVSZXNvdXJjZS5hc3luYyBjbGVhckJ1ZmZlckFuZFNldFNpemUpOgorICAg
ICAgICAoYXN5bmMgY29uc3QpOgorICAgICAgICAobGV0LmFwcGVuZFNjcmlwdCk6IERlbGV0ZWQu
CisgICAgICAgIChsZXQud2FpdEZvck5leHRUYXNrKTogRGVsZXRlZC4KKyAgICAgICAgKGxldC53
YWl0VW50aWxDb25kaXRpb25Jc01ldC5jb25kLnJldHVybi5uZXcuUHJvbWlzZS5yZXNvbHZlLmxl
dC5jaGVja0NvbmRpdGlvbik6IERlbGV0ZWQuCisgICAgICAgIChsZXQud2FpdEZvckV2ZW50VG9G
aXJlLnJldHVybi5uZXcuUHJvbWlzZSk6IERlbGV0ZWQuCisgICAgICAgIChsZXQud2FpdEZvckV2
ZW50VG9GaXJlKTogRGVsZXRlZC4KKyAgICAgICAgKGxldC5maWxsVXBUaGVCdWZmZXJXaXRoVHdv
UmVzb3VyY2VzLmFzeW5jIHNyYyk6IERlbGV0ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvY2FjaGVhYmxlLWFuZC12YWxpZGF0ZWQucHk6
IEFkZGVkLgorICAgICAgICAobWFpbik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9yZXNvdXJjZXMvY29ubmVjdGlvbi1yZXVzZS10ZXN0LmpzOiBBZGRlZC4K
KyAgICAgICAgKGF0dHJpYnV0ZV90ZXN0LmFzeW5jIGNsaWVudCk6CisgICAgICAgIChhdHRyaWJ1
dGVfdGVzdCk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvY3NwLWRlZmF1bHQtbm9uZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0
bWwuaGVhZGVyczogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9k
b2N1bWVudC1yZWZyZXNoZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZG9jdW1lbnQtdGhhdC1yZWZyZXNoZXMuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvZW1iZWQtcmVmcmVzaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi1mcmFtZS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
cy9ncmVlbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi5odG1sLmhlYWRlcnM6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2d6aXBfeG1sLnB5
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vz
L2lmcmFtZS1yZWZyZXNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2lmcmFtZS1yZWxvYWQtVEFPLnN1Yi5odG1sOgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211
bHRpX3JlZGlyZWN0LnB5OgorICAgICAgICAobWFpbik6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvb2JqZWN0LXJlZnJlc2guaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZXMvcmVkaXJlY3QtY29ycy5weTogQWRkZWQuCisgICAgICAgIChtYWluKToKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9yZXNvdXJjZS10aW1p
bmctY29udGVudC1sZW5ndGgucHk6IEFkZGVkLgorICAgICAgICAobWFpbik6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVzb3VyY2VfdGlt
aW5nX3Rlc3QwLnhtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3Jlc291cmNlcy9zaXplcy1oZWxwZXIuanM6IEFkZGVkLgorICAgICAgICAoY29uc3QuY2hl
Y2tTaXplRmllbGRzKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3Jlc291cmNlcy9zdGF0dXMtY29kZS5weToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0
aGFybmVzcy5qczoKKyAgICAgICAgKHRlc3RfbmFtZXNwYWNlKToKKyAgICAgICAgKHRlc3RfYXR0
cmlidXRlX2V4aXN0cyk6CisgICAgICAgICh0ZXN0X2VudW0pOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzc2V4
dGVuc2lvbi5qczoKKyAgICAgICAgKHRlc3RfbWV0aG9kX2V4aXN0cyk6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zYW1lLW9yaWdpbi1mcm9tLWNyb3NzLW9y
aWdpbi1yZWRpcmVjdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2FtZS1vcmlnaW4tZnJvbS1jcm9zcy1vcmlnaW4tcmVk
aXJlY3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9zaXplcy1jYWNoZS5hbnkuanM6IEFkZGVkLgorICAgICAgICAoY29uc3QuYWNjdW11
bGF0ZUVudHJpZXMpOgorICAgICAgICAoY29uc3QuY2hlY2tSZXNvdXJjZVNpemVzLmxpc3QubGV0
LmVudHJ5Lm9mLmVudHJpZXMuZWxzZSk6CisgICAgICAgIChwcm9taXNlX3Rlc3QpOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3QtaW1n
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC1pbWcuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC5hbnkuanM6IEFk
ZGVkLgorICAgICAgICAoY29uc3QuYWNjdW11bGF0ZUVudHJ5KToKKyAgICAgICAgKGNvbnN0LmNo
ZWNrUmVzb3VyY2VTaXplcyk6CisgICAgICAgIChjb25zdC5yZWRpcmVjdFVybCk6CisgICAgICAg
IChwcm9taXNlX3Rlc3QpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvc3RhdHVzLWNvZGVzLWNyZWF0ZS1lbnRyeS5odG1sOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90aW1pbmctZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9y
ZXNvdXJjZV90aW1pbmcuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvd29ya2VyU3RhcnQtdGFvLXByb3RlY3RlZC5odHRwcy5o
dG1sOgorCiAyMDIxLTA2LTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgSW1wbGVtZW50IG9mZi1ieS1kZWZhdWx0IGV4cGVyaW1lbnRhbCBm
ZWF0dXJlIGZvciBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLnRyYW5zZmVyU2l6ZSwgZW5jb2Rl
ZEJvZHlTaXplLCBhbmQgZGVjb2RlZEJvZHlTaXplCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBmZjdj
ZjhmN2NiODk2N2Q4OThlYTcwNmZiZjNjMDMxOWEyOGE1OTU3Li40MTU5OWYzOWE1OGMxY2ZjMzUz
MDM0ODJhYWM5ZTYwZWVmZGE0NDk0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTkzMSw2ICs5MzEs
OSBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50c291cmNlL3JlcXVlc3Qt
Y3JlZGVudGlhbHMuaHRtIFsgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL21lZGlhY2FwdHVyZS1mcm9tZWxlbWVudC9jYXB0dXJlLmh0bWwgWyBGYWlsdXJlIF0KIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLWZyb21lbGVtZW50L2Vu
ZGVkLmh0bWwgWyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVk
aWFjYXB0dXJlLWZyb21lbGVtZW50L2NyZWF0aW9uLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQoraW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZm9udC10aW1lc3Rh
bXBzLmh0bWwgWyBGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL1NPLVhPLVNPLXJlZGlyZWN0LWNoYWluLXRhby5odHRwcy5odG1sIFsgRmFp
bHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZV9UQU9fY3Jvc3Nfb3JpZ2luX3JlZGlyZWN0X2NoYWluLmh0bWwgWyBGYWlsdXJlIF0K
IHdlYmtpdC5vcmcvYi8xODAyNDAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvc2luZ2xlLWVudHJ5LXBlci1yZXNvdXJjZS5odG1sIFsgUGFzcyBGYWlsdXJl
IF0KIHdlYmtpdC5vcmcvYi8xODk5MDYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfdGltaW5nX2J1ZmZlcl9mdWxsX2V2ZW50dWFsbHkuaHRt
bCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2UtcmVsb2FkLVRBTy5zdWIuaHRtbCBbIFNraXAgXQpAQCAtMTM4Myw4ICsxMzg2
LDYgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1yZWRpcmVjdC1i
b2d1cy5odG0gWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhyL3Nl
bmQtcmVkaXJlY3QtdG8tY29ycy5odG0gWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMveGhyL3NlbmQtcmVkaXJlY3QtdG8tbm9uLWNvcnMuaHRtIFsgU2tpcCBdCiAKLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Rlc3RfcmVzb3Vy
Y2VfdGltaW5nLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90aW1pbmcuaHR0cHMuaHRtbCBb
IFBhc3MgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9idWZmZXItZnVsbC1hZGQtZW50cmllcy1kdXJpbmctY2FsbGJhY2stdGhhdC1kcm9w
Lmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2J1ZmZlci1mdWxsLWRlY3JlYXNlLWJ1ZmZlci1kdXJpbmctY2FsbGJhY2suaHRtbCBb
IFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
Y3Jvc3Mtb3JpZ2luLXN0YXR1cy1jb2Rlcy5odG1sIFsgU2tpcCBdCkBAIC0xMzkzLDggKzEzOTQs
NiBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9uZXN0
ZWQtY29udGV4dC1uYXZpZ2F0aW9ucy1pZnJhbQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvbmVzdGVkLWNvbnRleHQtbmF2aWdhdGlvbnMtb2JqZWN0Lmh0
bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3Jlc291cmNlX25lc3RlZF9kZWRpY2F0ZWRfd29ya2VyLndvcmtlci5odG1sIFsgU2tpcCBd
CiAKLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlX2Nvbm5lY3Rpb25fcmV1c2UuaHRtbCBbIEZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfY29ubmVjdGlvbl9yZXVzZS5o
dHRwcy5odG1sIFsgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9yZXNvdXJjZV9yZXBhcmVudGluZy5odG1sIFsgRmFpbHVyZSBdCiAKIHdl
YmtpdC5vcmcvYi8xNjgzNTcgaHR0cC93cHQvcmVzb3VyY2UtdGltaW5nL3J0LWluaXRpYXRvclR5
cGUtbWVkaWEuaHRtbCBbIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvQ29kaW5nQ29udmVudGlv
bnMubWQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9Db2RpbmdDb252ZW50aW9ucy5tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOWI4ZDEzNDM1ZWY0
OTkxOTUzM2VmNzQ5NzMyNmRhYzA2YmY5NjRiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvQ29kaW5n
Q29udmVudGlvbnMubWQKQEAgLTAsMCArMSw3NyBAQAorRm9yIFtSZXNvdXJjZSBUaW1pbmddWzFd
IHRlc3RzLCB3ZSB3YW50IHRvIGhhdmUgYSBjb25zaXN0ZW50IGFuZCBjbGVhciBjb2RpbmcKK3N0
eWxlLiBUaGUgZ29hbHMgb2YgdGhpcyBzdHlsZSBhcmUgdG86CisqICAgTWFrZSBpdCBlYXNpZXIg
Zm9yIG5ldyBjb250cmlidXRvcnMgdG8gZmluZCB0aGVpciB3YXkgYXJvdW5kCisqICAgSGVscCBp
bXByb3ZlIHJlYWRhYmlsaXR5IGFuZCBtYWludGFpbmFiaWxpdHkKKyogICBIZWxwIHVzIHVuZGVy
c3RhbmQgd2hpY2ggcGFydHMgb2YgdGhlIHNwZWMgYXJlIHRlc3RlZCBvciBub3QKK0xvdHMgb2Yg
dGhlIGZvbGxvd2luZyBydWxlcyBhcmUgYXJiaXRyYXJ5IGJ1dCB0aGUgdmFsdWUgaXMgcmVhbGl6
ZWQgaW4KK2NvbnNpc3RlbmN5IGluc3RlYWQgb2YgYWRoZXJpbmcgdG8gdGhlICdwZXJmZWN0JyBz
dHlsZS4KKworV2Ugd2FudCB0aGUgdGVzdCBzdWl0ZSB0byBiZSBuYXZpZ2FibGUuIERldmVsb3Bl
cnMgc2hvdWxkIGJlIGFibGUgdG8gZWFzaWx5CitmaW5kIHRoZSBmaWxlIG9yIHRlc3QgdGhhdCBp
cyByZWxldmFudCB0byB0aGVpciB3b3JrLgorKiAgIFRlc3RzIHNob3VsZCBiZSBhcnJhbmdlZCBp
biBmaWxlcyBhY2NvcmRpbmcgdG8gd2hpY2ggcGllY2Ugb2YgdGhlIHNwZWMgdGhleQorICAgIHRl
c3QKKyogICBGaWxlcyBzaG91bGQgYmUgbmFtZWQgdXNpbmcgYSBjb25zaXN0ZW50IHBhdHRlcm4K
KyogICBIVE1MIGZpbGVzIHNob3VsZCBpbmNsdWRlIHVzZWZ1bCBtZXRhIHRhZ3MKKyAgICAqICAg
YDx0aXRsZT5gIGZvciBjb250cm9sbGluZyBsYWJlbHMgaW4gcmVzdWx0cyBwYWdlcworICAgICog
ICBgPGxpbmsgcmVsPSJoZWxwIj5gIHRvIHBvaW50IGF0IHRoZSByZWxldmFudCBwaWVjZSBvZiB0
aGUgc3BlYworCitXZSB3YW50IHRoZSB0ZXN0IHN1aXRlIHRvIHJ1biBjb25zaXN0ZW50bHkuIEZs
YWt5IHRlc3RzIGFyZSBjb3VudGVycHJvZHVjdGl2ZS4KKyogICBQcmVmZXIgYHByb21pc2VfdGVz
dGAgdG8gYGFzeW5jX3Rlc3RgCisgICAgKiAgIE5vdGUgdGhhdCB0aGVyZeKAmXMgW3N0aWxsIHBv
dGVudGlhbCBmb3Igc29tZSBjb25jdXJyZW5jeV1bMl07IHVzZQorICAgICAgICBgYWRkX2NsZWFu
dXAoKWAgaWYgbmVlZGVkCisKK1dlIHdhbnQgdGhlIHRlc3RzIHRvIGJlIHJlYWRhYmxlLiBUZXN0
cyBzaG91bGQgYmUgd3JpdHRlbiBpbiBhIG1vZGVybiBzdHlsZQord2l0aCByZWN1cnJpbmcgcGF0
dGVybnMuCisqICAgODAgY2hhcmFjdGVyIGxpbmUgbGltaXRzIHdoZXJlIHdlIGNhbgorKiAgIENv
bnNpc3RlbnQgdXNlIG9mIGFub255bW91cyBmdW5jdGlvbnMKKyAgICAqICAgcHJlZmVyCisgICAg
ICAgIGBgYAorICAgICAgICBjb25zdCBmdW5jMSA9IHBhcmFtMSA9PiB7CisgICAgICAgICAgYm9k
eSgpOworICAgICAgICB9CisgICAgICAgIGNvbnN0IGZ1bmMyID0gKHBhcmFtMSwgcGFyYW0yKSA9
PiB7CisgICAgICAgICAgYm9keSgpOworICAgICAgICB9CisgICAgICAgIGZuKHBhcmFtID0+IHsK
KyAgICAgICAgICAgIGJvZHkoKTsKKyAgICAgICAgfSk7CisgICAgICAgIGBgYAorCisgICAgICAg
IG92ZXIKKworICAgICAgICBgYGAKKyAgICAgICAgZnVuY3Rpb24gZnVuYzEocGFyYW0xKSB7Cisg
ICAgICAgICAgYm9keSgpOworICAgICAgICB9CisgICAgICAgIGZ1bmN0aW9uIGZ1bmMyKHBhcmFt
MSwgcGFyYW0yKSB7CisgICAgICAgICAgYm9keSgpOworICAgICAgICB9CisgICAgICAgIGZuKGZ1
bmN0aW9uKHBhcmFtKSB7CisgICAgICAgICAgICBib2R5KCk7CisgICAgICAgIH0pOworICAgICAg
ICBgYGAKKworKiAgIFByZWZlciBgY29uc3RgIChvciwgaWYgbmVlZGVkLCBgbGV0YCkgdG8gYHZh
cmAKKyogICBDb250YWluIHVzZSBvZiDigJguc3Vi4oCZIGluIGZpbGVuYW1lcyB0byBrbm93biBo
ZWxwZXIgdXRpbGl0aWVzIHdoZXJlIHBvc3NpYmxlCisgICAgKiAgIEUuZy4gcHJlZmVyIHVzZSBv
ZiBnZXQtaG9zdC1pbmZvLnN1Yi5qcyB0byBge3tob3N0fX1gIG9yIGB7e3BvcnRzWzBdfX1gCisg
ICAgICAgIGV4cHJlc3Npb25zCisqICAgQXZvaWQgdXNlIG9mIHdlYnBlcmZ0ZXN0aGFybmVzc1tl
eHRlbnNpb25dLmpzIGFzIGl04oCZcyBhIGxheWVyIG9mIGNvZ25pdGl2ZQorICAgIG92ZXJoZWFk
IGJldHdlZW4gdGVzdCBjb250ZW50IGFuZCB0ZXN0IGludGVudAorICAgICogICBIZWxwZXIgLmpz
IGZpbGVzIGFyZSBzdGlsbCBlbmNvdXJhZ2VkIHdoZXJlIGl0IG1ha2VzIHNlbnNlIGJ1dCB3ZSB3
YW50CisgICAgICAgIHRvIGF2b2lkIGEgdGVzdGluZyBmcmFtZXdvcmsgdGhhdCBpcyBzcGVjaWZp
YyB0byBSZXNvdXJjZSBUaW1pbmcgKG9yCisgICAgICAgIHdlYiBwZXJmb3JtYW5jZSBBUElzLCBp
biBnZW5lcmFsKS4KKyogICBQcmVmZXIgW2BmZXRjaF90ZXN0c19mcm9tX3dpbmRvd2BdWzNdIHRv
IGNvbGxlY3QgdGVzdCByZXN1bHRzIGZyb20gZW1iZWRkZWQKKyAgICBpZnJhbWVzIGluc3RlYWQg
b2YgaGFuZC1yb2xsZWQgYHBvc3RNZXNzYWdlYCBhcHByb2FjaGVzCisqICAgVXNlIHRoZSBbYGFz
c2VydF8qYF1bNF0gZmFtaWx5IG9mIGZ1bmN0aW9ucyB0byBjaGVjayBjb25mb3JtYW5jZSB0byB0
aGUgc3BlYworICAgIGJ1dCB0aHJvdyBleGNlcHRpb25zIGV4cGxpY2l0bHkgd2hlbiB0aGUgdGVz
dCBpdHNlbGYgaXMgYnJva2VuLgorICAgICogICAgQSBmYWlsZWQgYXNzZXJ0IGluZGljYXRlcyAi
dGhlIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgY29uZm9ybSB0byB0aGUKKyAgICAgICAgIHNwZWMi
CisgICAgKiAgICBPdGhlciB1bmNhdWdodCBleGNlcHRpb25zIGluZGljYXRlICJ0aGUgdGVzdCBj
YXNlIGl0c2VsZiBoYXMgYSBidWciCisqICAgV2hlcmUgcG9zc2libGUsIHdlIHdhbnQgdGVzdHMg
dG8gYmUgc2NhbGFibGUgLSBhZGRpbmcgYW5vdGhlciB0ZXN0IGNhc2UKKyAgICBzaG91bGQgYmUg
YXMgc2ltcGxlIGFzIGNhbGxpbmcgdGhlIHRlc3RzIHdpdGggbmV3IHBhcmFtZXRlcnMsIHJhdGhl
ciB0aGFuCisgICAgY29weWluZyBhbiBleGlzdGluZyB0ZXN0IGFuZCBtb2RpZnlpbmcgaXQuCisK
K1sxXTogaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLworWzJdOiBodHRw
czovL3dlYi1wbGF0Zm9ybS10ZXN0cy5vcmcvd3JpdGluZy10ZXN0cy90ZXN0aGFybmVzcy1hcGku
aHRtbCNwcm9taXNlLXRlc3RzCitbM106IGh0dHBzOi8vd2ViLXBsYXRmb3JtLXRlc3RzLm9yZy93
cml0aW5nLXRlc3RzL3Rlc3RoYXJuZXNzLWFwaS5odG1sI2NvbnNvbGlkYXRpbmctdGVzdHMtZnJv
bS1vdGhlci1kb2N1bWVudHMKK1s0XTogaHR0cHM6Ly93ZWItcGxhdGZvcm0tdGVzdHMub3JnL3dy
aXRpbmctdGVzdHMvdGVzdGhhcm5lc3MtYXBpLmh0bWwjbGlzdC1vZi1hc3NlcnRpb25zCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9TTy1YTy1TTy1yZWRpcmVjdC1jaGFpbi10YW8uaHR0cHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvU08tWE8tU08tcmVkaXJlY3QtY2hhaW4tdGFvLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41ZjhkMjkwM2Q1MTA1NjUwZWE5Y2Y1Nzc0M2NhMTIyZTI3NzFhNjQ3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvU08tWE8tU08tcmVkaXJlY3QtY2hhaW4tdGFvLmh0dHBzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDYgQEAKKworRkFJTCBWZXJpZnkgdGhhdCBjcm9zcyBvcmlnaW4gcmVz
b3VyY2VzJyB0aW1pbmdzIGFyZSBub3QgZXhwb3NlZCB3aGVuIHNhbWUtb3JpZ2luPT5jcm9zcy1v
cmlnaW49PnNhbWUtb3JpZ2luIHJlZGlyZWN0cyBoYXZlIG5vIGBUaW1pbmctQWxsb3ctT3JpZ2lu
OmAgaGVhZGVycy4gYXNzZXJ0X2VxdWFsczogZG9tYWluTG9va3VwU3RhcnQgc2hvdWxkIGJlIDAg
ZXhwZWN0ZWQgMCBidXQgZ290IDxub25kZXRlcm1pbmlzdGljIHRlc3Qgb3V0cHV0PgorRkFJTCBW
ZXJpZnkgdGhhdCBjcm9zcyBvcmlnaW4gcmVzb3VyY2VzJyB0aW1pbmdzIGFyZSBub3QgZXhwb3Nl
ZCB3aGVuIHNhbWUtb3JpZ2luPT5jcm9zcy1vcmlnaW49PnNhbWUtb3JpZ2luIHJlZGlyZWN0cyBo
YXZlIGBUaW1pbmctQWxsb3ctT3JpZ2luOmAgaGVhZGVycyBvbmx5IG9uIHNvbWUgb2YgdGhlIHJl
c3BvbnNlcy4gYXNzZXJ0X2VxdWFsczogZG9tYWluTG9va3VwU3RhcnQgc2hvdWxkIGJlIDAgZXhw
ZWN0ZWQgMCBidXQgZ290IDxub25kZXRlcm1pbmlzdGljIHRlc3Qgb3V0cHV0PgorRkFJTCBWZXJp
ZnkgdGhhdCBjcm9zcyBvcmlnaW4gcmVzb3VyY2VzJyB0aW1pbmdzIGFyZSBleHBvc2VkIHdoZW4g
Y3Jvc3Mtb3JpZ2luIHJlZGlyZWN0cyBoYXZlIGBUaW1pbmctQWxsb3ctT3JpZ2luOiAqYCBoZWFk
ZXJzIGFzc2VydF9ncmVhdGVyX3RoYW46IHJlZGlyZWN0U3RhcnQgc2hvdWxkIGJlIGdyZWF0ZXIg
dGhhbiAwIGV4cGVjdGVkIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiAwIGJ1dCBnb3QgMAorUEFTUyBW
ZXJpZnkgdGhhdCBjcm9zcyBvcmlnaW4gcmVzb3VyY2VzJyB0aW1pbmdzIGFyZSBub3QgZXhwb3Nl
ZCB3aGVuIHNhbWUtb3JpZ2luPT5jcm9zcy1vcmlnaW49PnNhbWUtb3JpZ2luIHJlZGlyZWN0cyBo
YXZlIGBUaW1pbmctQWxsb3ctT3JpZ2luOmAgaGVhZGVycyB3aXRoIGEgc3BlY2lmaWMgb3JpZ2lu
LgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9TTy1YTy1TTy1yZWRpcmVjdC1jaGFpbi10YW8uaHR0cHMuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL1NPLVhPLVNPLXJlZGlyZWN0LWNoYWluLXRhby5odHRwcy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmU2NTY4OTEwZTRmZTdiNjFkYzhhODY5ZGZkNGZjZmYwNzUwZTcyNjUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9TTy1YTy1TTy1yZWRpcmVjdC1jaGFpbi10YW8uaHR0cHMuaHRtbApAQCAtMCwwICsx
LDY0IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCIgLz4KKzx0aXRsZT5UaGlzIHRlc3QgdmFsaWRhdGVzIHJlc291cmNlIHRpbWluZyBpbmZv
cm1hdGlvbiBmb3IgYSBzYW1lLW9yaWdpbj0+Y3Jvc3Mtb3JpZ2luPT5zYW1lLW9yaWdpbiByZWRp
cmVjdCBjaGFpbiB3aXRob3V0IFRpbWluZy1BbGxvdy1PcmlnaW4uPC90aXRsZT4KKzxsaW5rIHJl
bD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNz
ZWMtY3Jvc3Mtb3JpZ2luLXJlc291cmNlcyIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5m
by5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2Fk
ZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnktaW52YXJpYW50
cy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citjb25zdCB7SFRUUFNf
UkVNT1RFX09SSUdJTn0gPSBnZXRfaG9zdF9pbmZvKCk7Citjb25zdCBTQU1FX09SSUdJTiA9IGxv
Y2F0aW9uLm9yaWdpbjsKKy8vIFNhbWUtT3JpZ2luID0+IENyb3NzLU9yaWdpbiA9PiBTYW1lLU9y
aWdpbiA9PiBTYW1lLU9yaWdpbiByZWRpcmVjdCBjaGFpbgorbGV0IGRlc3RVcmwgPSBgJHtTQU1F
X09SSUdJTn0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9tdWx0aV9yZWRpcmVjdC5weT9gOwor
ZGVzdFVybCArPSBgcGFnZV9vcmlnaW49JHtTQU1FX09SSUdJTn1gOworZGVzdFVybCArPSBgJmNy
b3NzX29yaWdpbj0ke0hUVFBTX1JFTU9URV9PUklHSU59YDsKK2Rlc3RVcmwgKz0gYCZmaW5hbF9y
ZXNvdXJjZT0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVuLmh0bWA7
CisKKy8vIE5vIFRBTyBpbiB0aGUgcmVkaXJlY3QgY2hhaW4KK2F0dHJpYnV0ZV90ZXN0KAorICBs
b2FkLmlmcmFtZSwgZGVzdFVybCwKKyAgaW52YXJpYW50cy5hc3NlcnRfY3Jvc3Nfb3JpZ2luX3Jl
ZGlyZWN0ZWRfcmVzb3VyY2UsCisgICJWZXJpZnkgdGhhdCBjcm9zcyBvcmlnaW4gcmVzb3VyY2Vz
JyB0aW1pbmdzIGFyZSBub3QgZXhwb3NlZCB3aGVuICIgKworICAic2FtZS1vcmlnaW49PmNyb3Nz
LW9yaWdpbj0+c2FtZS1vcmlnaW4gcmVkaXJlY3RzIGhhdmUgbm8gIiArCisgICJgVGltaW5nLUFs
bG93LU9yaWdpbjpgIGhlYWRlcnMuIik7CisKKy8vIFBhcnRpYWwgVEFPIGluIHRoZSByZWRpcmVj
dCBjaGFpbgorZGVzdFVybCArPSAnJnRhb19zdGVwcz0yJzsKK2F0dHJpYnV0ZV90ZXN0KAorICBs
b2FkLmlmcmFtZSwgZGVzdFVybCwKKyAgaW52YXJpYW50cy5hc3NlcnRfY3Jvc3Nfb3JpZ2luX3Jl
ZGlyZWN0ZWRfcmVzb3VyY2UsCisgICJWZXJpZnkgdGhhdCBjcm9zcyBvcmlnaW4gcmVzb3VyY2Vz
JyB0aW1pbmdzIGFyZSBub3QgZXhwb3NlZCB3aGVuICIgKworICAic2FtZS1vcmlnaW49PmNyb3Nz
LW9yaWdpbj0+c2FtZS1vcmlnaW4gcmVkaXJlY3RzIGhhdmUgIiArCisgICJgVGltaW5nLUFsbG93
LU9yaWdpbjpgIGhlYWRlcnMgb25seSBvbiBzb21lIG9mIHRoZSByZXNwb25zZXMuIik7CisKKy8v
IENyb3NzLW9yaWdpbiA9PiBDcm9zcy1PcmlnaW4gPT4gU2FtZS1PcmlnaW4gPT4gU2FtZS1Pcmln
aW4gcmVkaXJlY3QgY2hhaW4uCitkZXN0VXJsID0gYCR7SFRUUFNfUkVNT1RFX09SSUdJTn0vcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlcy9tdWx0aV9yZWRpcmVjdC5weT9gOworZGVzdFVybCArPSBg
cGFnZV9vcmlnaW49JHtTQU1FX09SSUdJTn1gOworZGVzdFVybCArPSBgJmNyb3NzX29yaWdpbj0k
e0hUVFBTX1JFTU9URV9PUklHSU59YDsKK2Rlc3RVcmwgKz0gYCZmaW5hbF9yZXNvdXJjZT0vcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlcy9ibHVlLXdpdGgtdGFvLnBuZ2A7CitkZXN0VXJsICs9IGAm
dGFvX3N0ZXBzPTNgOworCisvLyBGdWxsIHJlZGlyZWN0IGNoYWluIHdpdGggYFRBTzogKmAuCith
dHRyaWJ1dGVfdGVzdCgKKyAgbG9hZC5pbWFnZSwgZGVzdFVybCwKKyAgaW52YXJpYW50cy5hc3Nl
cnRfdGFvX2VuYWJsZWRfY3Jvc3Nfb3JpZ2luX3JlZGlyZWN0ZWRfcmVzb3VyY2UsCisgICJWZXJp
ZnkgdGhhdCBjcm9zcyBvcmlnaW4gcmVzb3VyY2VzJyB0aW1pbmdzIGFyZSBleHBvc2VkIHdoZW4g
Y3Jvc3Mtb3JpZ2luICIgKworICAicmVkaXJlY3RzIGhhdmUgYFRpbWluZy1BbGxvdy1PcmlnaW46
ICpgIGhlYWRlcnMiKTsKKworLy8gVEFPIHdpdGggYSBzcGVjaWZpYyBvcmlnaW4KK2Rlc3RVcmwg
Kz0gYCZ0YW9fdmFsdWU9JHtTQU1FX09SSUdJTn1gOworYXR0cmlidXRlX3Rlc3QoCisgIGxvYWQu
aW1hZ2UsIGRlc3RVcmwsCisgIGludmFyaWFudHMuYXNzZXJ0X2Nyb3NzX29yaWdpbl9yZWRpcmVj
dGVkX3Jlc291cmNlLAorICAiVmVyaWZ5IHRoYXQgY3Jvc3Mgb3JpZ2luIHJlc291cmNlcycgdGlt
aW5ncyBhcmUgbm90IGV4cG9zZWQgd2hlbiAiICsKKyAgInNhbWUtb3JpZ2luPT5jcm9zcy1vcmln
aW49PnNhbWUtb3JpZ2luIHJlZGlyZWN0cyBoYXZlICIgKworICAiYFRpbWluZy1BbGxvdy1Pcmln
aW46YCBoZWFkZXJzIHdpdGggYSBzcGVjaWZpYyBvcmlnaW4uIik7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1N5bnRoZXRpY1Jlc3BvbnNlLnB5IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU3lu
dGhldGljUmVzcG9uc2UucHkKaW5kZXggZGM1N2Q4NDUxZjlmMWVlZjY4MTI3OGM4NzU2ZDEwYjdl
ZjJhZjRiMS4uNmY4ODhmMzc4OTZlMTI0MDEzMDFlMTg3ZWJkNTE3ZTk0MmE3ZWNlOCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvU3ludGhldGljUmVzcG9uc2UucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU3ludGhldGljUmVzcG9uc2Uu
cHkKQEAgLTEsOCArMSw5IEBACi1mcm9tIHNpeC5tb3Zlcy51cmxsaWIucGFyc2UgaW1wb3J0IHVu
cXVvdGUKK2Zyb20gdXJsbGliLnBhcnNlIGltcG9ydCB1bnF1b3RlCiAKIGZyb20gd3B0c2VydmUu
dXRpbHMgaW1wb3J0IGlzb21vcnBoaWNfZGVjb2RlLCBpc29tb3JwaGljX2VuY29kZQogCi1pbXBv
cnQgc2xlZXAKK2ltcG9ydCBpbXBvcnRsaWIKK3NsZWVwID0gaW1wb3J0bGliLmltcG9ydF9tb2R1
bGUoInJlc291cmNlLXRpbWluZy5zbGVlcCIpCiAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNl
KToKICAgICBpbmRleCA9IGlzb21vcnBoaWNfZW5jb2RlKHJlcXVlc3QucmVxdWVzdF9wYXRoKS5p
bmRleChiIj8iKQpAQCAtNDMsOCArNDQsNiBAQCBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6
CiAgICAgICAgICAgICAgICAgcmVzcG9uc2Uud3JpdGVyLmVuZF9oZWFkZXJzKCkKICAgICAgICAg
ICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgc3RhdHVzU2VudCA9IFRydWUKLSAgICAgICAgZWxp
ZiBhcmcgPT0gYiJmbHVzaCI6Ci0gICAgICAgICAgICByZXNwb25zZS53cml0ZXIuZmx1c2goKQog
CiAjICAgICAgICBlbHNlOgogIyAgICAgICAgICAgIGVycm9yICIgIElOVkFMSUQgQVJHVU1FTlQg
JXMiICUgYXJnCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbWF0Y2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFP
LW1hdGNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMGU3NmE4MWFmNmViNWI3NWU0ZWMxMjJi
Mjk2YWI2YWQ3ZWNmY2JlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW1hdGNoLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDEyIEBACisKK1BBU1MgVGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdv
cml0aG0gd2lsbCBwYXNzIHdoZW4gdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gaGVhZGVyIHZhbHVl
IGxpc3QgY29udGFpbnMgYSBjYXNlLXNlbnNpdGl2ZSBtYXRjaC4KK1BBU1MgVGhlIHRpbWluZyBh
bGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBwYXNzIHdoZW4gdGhlIFRpbWluZy1BbGxvdy1Pcmln
aW4gaGVhZGVyIHZhbHVlIGxpc3QgY29udGFpbnMgYSB3aWxkY2FyZC4KK1BBU1MgVGhlIHRpbWlu
ZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1BbGxvdy1P
cmlnaW4gaGVhZGVyIHZhbHVlIGxpc3QgY29udGFpbnMgYSBudWxsIG9yaWdpbi4KK1BBU1MgVGhl
IHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBwYXNzIHdoZW4gdGhlIFRpbWluZy1B
bGxvdy1PcmlnaW4gaGVhZGVyIHZhbHVlIGxpc3QgY29udGFpbnMgdGhlIG9yaWdpbiBhbmQgYSB3
aWxkY2FyZC4KK1BBU1MgVGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBwYXNz
IHdoZW4gdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gaGVhZGVyIHZhbHVlIGxpc3QgY29udGFpbnMg
bXVsdGlwbGUgd2lsZGNhcmRzLgorUEFTUyBUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRo
bSB3aWxsIHBhc3Mgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiBoZWFkZXIgdmFsdWUgY29u
dGFpbnMgb25seSB0aGUgb3JpZ2luLgorUEFTUyBUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29y
aXRobSB3aWxsIGZhaWwgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiBoZWFkZXIgdmFsdWUg
Y29udGFpbnMgb25seSB0aGUgdXBwZXJjYXNlZCBvcmlnaW4uCitQQVNTIFRoZSB0aW1pbmcgYWxs
b3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2lu
IGhlYWRlciB2YWx1ZSBjb250YWlucyBvbmx5IGEgc3BhY2UuCitQQVNTIFRoZSB0aW1pbmcgYWxs
b3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2lu
IGhlYWRlciB2YWx1ZSBjb250YWlucyBvbmx5IGEgd2lsZGNhcmQuCitQQVNTIFRoZSB0aW1pbmcg
YWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRoZSBUaW1pbmctQWxsb3ctT3Jp
Z2luIGhlYWRlciBpcyBub3QgcHJlc2VudC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW1hdGNoLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9UQU8tbWF0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMjY0NWE2MzhiZWYyNmE2NTVlZjI1
M2Y2NTVjOTVhYzk2MDdmZmY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW1hdGNoLmh0bWwK
QEAgLTAsMCArMSw2OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nIFRBTyB0ZXN0czwvdGl0
bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5n
b29nbGUuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIKKyAgICAgIGhyZWY9Imh0dHBzOi8vd3d3
LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmctMi8jdGltaW5nLWFsbG93LW9yaWdpbiIvPgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
InJlc291cmNlcy9lbnRyeS1pbnZhcmlhbnRzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorY29uc3Qg
e1JFTU9URV9PUklHSU59ID0gZ2V0X2hvc3RfaW5mbygpOworY29uc3QgcGF0aCA9IFJFTU9URV9P
UklHSU4gKyAnL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvVEFPUmVzcG9uc2UucHk/dGFvPSc7
CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQueGhyX3N5bmMsIHBhdGggKyAnbWF0Y2hfb3JpZ2luJywK
KyAgaW52YXJpYW50cy5hc3NlcnRfdGFvX3Bhc3Nfbm9fcmVkaXJlY3RfaHR0cCwKKydUaGUgdGlt
aW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIHBhc3Mgd2hlbiB0aGUgVGltaW5nLUFsbG93
LU9yaWdpbiAnICsKKydoZWFkZXIgdmFsdWUgbGlzdCBjb250YWlucyBhIGNhc2Utc2Vuc2l0aXZl
IG1hdGNoLicpOworCithdHRyaWJ1dGVfdGVzdChsb2FkLnhocl9zeW5jLCBwYXRoICsgJ21hdGNo
X3dpbGRjYXJkJywKKyAgaW52YXJpYW50cy5hc3NlcnRfdGFvX3Bhc3Nfbm9fcmVkaXJlY3RfaHR0
cCwKKydUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIHBhc3Mgd2hlbiB0aGUg
VGltaW5nLUFsbG93LU9yaWdpbiAnICsKKydoZWFkZXIgdmFsdWUgbGlzdCBjb250YWlucyBhIHdp
bGRjYXJkLicpOworCithdHRyaWJ1dGVfdGVzdChsb2FkLnhocl9zeW5jLCBwYXRoICsgJ251bGwn
LAorICBpbnZhcmlhbnRzLmFzc2VydF90YW9fZmFpbHVyZV9yZXNvdXJjZSwKKydUaGUgdGltaW5n
IGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIGZhaWwgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9y
aWdpbiAnICsKKydoZWFkZXIgdmFsdWUgbGlzdCBjb250YWlucyBhIG51bGwgb3JpZ2luLicpOwor
CithdHRyaWJ1dGVfdGVzdChsb2FkLnhocl9zeW5jLCBwYXRoICsgJ211bHRpJywKKyAgaW52YXJp
YW50cy5hc3NlcnRfdGFvX3Bhc3Nfbm9fcmVkaXJlY3RfaHR0cCwKKydUaGUgdGltaW5nIGFsbG93
IGNoZWNrIGFsZ29yaXRobSB3aWxsIHBhc3Mgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiAn
ICsKKydoZWFkZXIgdmFsdWUgbGlzdCBjb250YWlucyB0aGUgb3JpZ2luIGFuZCBhIHdpbGRjYXJk
LicpOworCithdHRyaWJ1dGVfdGVzdChsb2FkLnhocl9zeW5jLCBwYXRoICsgJ211bHRpX3dpbGRj
YXJkJywKKyAgaW52YXJpYW50cy5hc3NlcnRfdGFvX3Bhc3Nfbm9fcmVkaXJlY3RfaHR0cCwKKydU
aGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIHBhc3Mgd2hlbiB0aGUgVGltaW5n
LUFsbG93LU9yaWdpbiAnICsKKydoZWFkZXIgdmFsdWUgbGlzdCBjb250YWlucyBtdWx0aXBsZSB3
aWxkY2FyZHMuJyk7CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQueGhyX3N5bmMsIHBhdGggKyAnb3Jp
Z2luJywKKyAgaW52YXJpYW50cy5hc3NlcnRfdGFvX3Bhc3Nfbm9fcmVkaXJlY3RfaHR0cCwKKydU
aGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIHBhc3Mgd2hlbiB0aGUgVGltaW5n
LUFsbG93LU9yaWdpbiAnICsKKydoZWFkZXIgdmFsdWUgY29udGFpbnMgb25seSB0aGUgb3JpZ2lu
LicpOworCithdHRyaWJ1dGVfdGVzdChsb2FkLnhocl9zeW5jLCBwYXRoICsgJ3VwcGVyY2FzZScs
CisgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19mYWlsdXJlX3Jlc291cmNlLAorJ1RoZSB0aW1pbmcg
YWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRoZSBUaW1pbmctQWxsb3ctT3Jp
Z2luICcgKworJ2hlYWRlciB2YWx1ZSBjb250YWlucyBvbmx5IHRoZSB1cHBlcmNhc2VkIG9yaWdp
bi4nKTsKKworYXR0cmlidXRlX3Rlc3QobG9hZC54aHJfc3luYywgcGF0aCArICdzcGFjZScsCisg
IGludmFyaWFudHMuYXNzZXJ0X3Rhb19mYWlsdXJlX3Jlc291cmNlLAorJ1RoZSB0aW1pbmcgYWxs
b3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2lu
ICcgKworJ2hlYWRlciB2YWx1ZSBjb250YWlucyBvbmx5IGEgc3BhY2UuJyk7CisKK2F0dHJpYnV0
ZV90ZXN0KGxvYWQueGhyX3N5bmMsIHBhdGggKyAnd2lsZGNhcmQnLAorICBpbnZhcmlhbnRzLmFz
c2VydF90YW9fcGFzc19ub19yZWRpcmVjdF9odHRwLAorJ1RoZSB0aW1pbmcgYWxsb3cgY2hlY2sg
YWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luICcgKworJ2hl
YWRlciB2YWx1ZSBjb250YWlucyBvbmx5IGEgd2lsZGNhcmQuJyk7CisKK2F0dHJpYnV0ZV90ZXN0
KGxvYWQueGhyX3N5bmMsIHBhdGggKyAnemVybycsCisgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19m
YWlsdXJlX3Jlc291cmNlLAorJ1RoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwg
ZmFpbCB3aGVuIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luICcgKworJ2hlYWRlciBpcyBub3QgcHJl
c2VudC4nKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFP
LW51bGwtb3BhcXVlLW9yaWdpbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbnVsbC1vcGFxdWUtb3Jp
Z2luLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZDZhMzdmMTQ1MGUyOTljZmNmNTg1NGY2OWJl
YzA0OTNmYzIxNGJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW51bGwtb3BhcXVlLW9yaWdp
bi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3Qg
dmFsaWRhdGVzIHRoYXQsIGZvciBhIGNyb3NzIG9yaWdpbiByZXNvdXJjZSwgdGhlIHRpbWluZyBh
bGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBzdWNjZWVkIHdoZW4gdGhlIHZhbHVlIG9mIFRpbWlu
Zy1BbGxvdy1PcmlnaW4gaXMgbnVsbCBhbmQgdGhlIG9yaWdpbiBpcyBhbiBvcGFxdWUgb3JpZ2lu
LgorCisKK1BBU1MgQW4gb3BhcXVlIG9yaWdpbiBzaG91bGQgYmUgYXV0aG9yaXplZCB0byBzZWUg
cmVzb3VyY2UgdGltaW5ncyB3aGVuIHRoZSBUQU8gaGVhZGVyIGlzIHRoZSBzdHJpbmcgJ251bGwn
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL1RBTy1udWxsLW9wYXF1ZS1vcmlnaW4uaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1u
dWxsLW9wYXF1ZS1vcmlnaW4uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NTQ4YTdiOWFkNDM3NDA3ZWFkZWQy
YzZlZmM0OTc0ZGVjMjQyZWNkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW51bGwtb3BhcXVl
LW9yaWdpbi5odG1sCkBAIC0wLDAgKzEsNTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZyBU
QU8gLSAibnVsbCIgYW5kIG9wYXF1ZSBvcmlnaW48L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3Ii
IHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGluayBy
ZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmctMi8j
dGltaW5nLWFsbG93LW9yaWdpbiIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRpb248L2gxPgorPHA+
VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0LCBmb3IgYSBjcm9zcyBvcmlnaW4gcmVzb3VyY2UsIHRo
ZSB0aW1pbmcgYWxsb3cKK2NoZWNrIGFsZ29yaXRobSB3aWxsIHN1Y2NlZWQgd2hlbiB0aGUgdmFs
dWUgb2YgVGltaW5nLUFsbG93LU9yaWdpbiBpcyBudWxsIGFuZAordGhlIG9yaWdpbiBpcyBhbiBv
cGFxdWUgb3JpZ2luLjwvcD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8aWZyYW1lIGlkPSJmcmFt
ZUNvbnRleHQiPjwvaWZyYW1lPgorPHNjcmlwdD4KK2NvbnN0IG9yaWdpbiA9IGdldF9ob3N0X2lu
Zm8oKVsiT1JJR0lOIl07Citjb25zdCBmcmFtZV9jb250ZW50ID0gYGRhdGE6dGV4dC9odG1sO3V0
ZjgsPGJvZHk+CisgIDxzY3JpcHQgc3JjPSIke29yaWdpbn0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L2AgKyBgc2NyaXB0PgorICA8c2NyaXB0PgorICAgIGNvbnN0IHVybCA9ICIke29yaWdp
bn0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9UQU9SZXNwb25zZS5weT90YW89bnVsbCI7Cisg
ICAgcHJvbWlzZV90ZXN0KCgpID0+IHsgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWpl
Y3QpID0+IHsKKyAgICAgIGNvbnN0IHJ1bl90ZXN0ID0gZW50cnlMaXN0ID0+IHsKKyAgICAgICAg
Y29uc3QgZW50cnkgPSBlbnRyeUxpc3QuZ2V0RW50cmllcygpWzBdOworICAgICAgICBjb25zdCBz
dW0gPSBlbnRyeS5yZWRpcmVjdFN0YXJ0ICsgZW50cnkucmVkaXJlY3RFbmQgKworICAgICAgICAg
ICAgICAgICAgICBlbnRyeS5kb21haW5Mb29rdXBTdGFydCArIGVudHJ5LmRvbWFpbkxvb2t1cEVu
ZCArCisgICAgICAgICAgICAgICAgICAgIGVudHJ5LmNvbm5lY3RTdGFydCArIGVudHJ5LmNvbm5l
Y3RFbmQgKworICAgICAgICAgICAgICAgICAgICBlbnRyeS5zZWN1cmVDb25uZWN0aW9uU3RhcnQg
KyBlbnRyeS5yZXF1ZXN0U3RhcnQgKworICAgICAgICAgICAgICAgICAgICBlbnRyeS5yZXNwb25z
ZVN0YXJ0ICsgZW50cnkudHJhbnNmZXJTaXplICsKKyAgICAgICAgICAgICAgICAgICAgZW50cnku
ZW5jb2RlZEJvZHlTaXplICsgZW50cnkuZGVjb2RlZEJvZHlTaXplOworICAgICAgICBhc3NlcnRf
bm90X2VxdWFscyhzdW0sIDAsICJUaW1pbmdzIG11c3QgYmUgbm9uLXplcm8iKTsKKyAgICAgIH07
CisgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGxpc3QgPT4g
eworICAgICAgICB0cnkgeworICAgICAgICAgIHJ1bl90ZXN0KGxpc3QpOworICAgICAgICAgIHJl
c29sdmUoKTsKKyAgICAgICAgfSBjYXRjaChlKSB7CisgICAgICAgICAgcmVqZWN0KGUpOworICAg
ICAgICB9CisgICAgICB9KTsKKyAgICAgIG9ic2VydmVyLm9ic2VydmUoeyBlbnRyeVR5cGVzOiBb
InJlc291cmNlIl0gfSk7CisgICAgICBmZXRjaCh1cmwpOworICAgIH0pfSwgIkFuIG9wYXF1ZSBv
cmlnaW4gc2hvdWxkIGJlIGF1dGhvcml6ZWQgdG8gc2VlIHJlc291cmNlIHRpbWluZ3Mgd2hlbiIg
KworICAgICAgICAgIiB0aGUgVEFPIGhlYWRlciBpcyB0aGUgc3RyaW5nICdudWxsJyIpOworICA8
L2AgKyBgc2NyaXB0PjwvYm9keT5gOworCitmcmFtZUNvbnRleHQuc3R5bGUgPSAiZGlzcGxheTpu
b25lIgorZnJhbWVDb250ZXh0LnNyYyA9IGZyYW1lX2NvbnRlbnQ7CitmZXRjaF90ZXN0c19mcm9t
X3dpbmRvdyhmcmFtZUNvbnRleHQuY29udGVudFdpbmRvdyk7Cis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5zLWNyb3Nzb3Jp
Z2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5zLWNyb3Nzb3JpZ2lu
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA4YTUzMjExZjEzM2RhMzMxZWJlNWI1OWFiNWNj
M2I5Njg2MmJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLXBvcnQtbWlzbWF0Y2gtbWVhbnMt
Y3Jvc3NvcmlnaW4tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorRGVzY3JpcHRpb24KKwor
VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGZvciBhIGNyb3NzIG9yaWdpbiByZXNvdXJjZSB3aXRo
IGRpZmZlcmVudCBwb3J0cywgdGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBm
YWlsIHdoZW4gdGhlIHZhbHVlIG9mIFRpbWluZy1BbGxvdy1PcmlnaW4gdmFsdWUgaGFzIHRoZSBy
aWdodCBob3N0IGJ1dCB0aGUgd3JvbmcgcG9ydCBpbiBpdC4KKworCitGQUlMIEEgcG9ydCBtaXNt
YXRjaCBtdXN0IGZhaWwgdGhlIFRBTyBjaGVjayBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFVSTCBpcyBub3QgdmFsaWQgb3Ig
Y29udGFpbnMgdXNlciBjcmVkZW50aWFscy4iCitGQUlMIEFuIGlkZW50aWNhbCBwb3J0IG11c3Qg
cGFzcyB0aGUgVEFPIGNoZWNrIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVVJMIGlzIG5vdCB2YWxpZCBvciBjb250YWlucyB1
c2VyIGNyZWRlbnRpYWxzLiIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLXBvcnQtbWlzbWF0Y2gtbWVh
bnMtY3Jvc3NvcmlnaW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5zLWNyb3Nzb3Jp
Z2luLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjEyMThkMTdhMGE0NGYwMTNhMDFhOWIxYTI4YjNhYjE5Zjkx
YzkxZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5zLWNyb3Nz
b3JpZ2luLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+VEFPIC0gcG9ydCBtaXNtYXRj
aCBtdXN0IGZhaWwgdGhlIGNoZWNrPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0i
R29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxw
IiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI3NlYy10aW1p
bmctYWxsb3ctb3JpZ2luIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFudHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdD4KKworY29uc3Qge09SSUdJTkFMX0hPU1QsIFBPUlQsIFBPUlQyfSA9
IGdldF9ob3N0X2luZm8oKTsKKworLy8gVGhlIG1haW4gcGFnZSBpcyBiZWluZyByZXF1ZXN0ZWQg
b24gdGhlIGRlZmF1bHQgcG9ydCAoUE9SVCksIHdoaWxlIHRoZQorLy8gc3VicmVzb3VyY2Ugd2ls
bCBiZSByZXF1ZXN0ZWQgb24gYSBzZXBhcmF0ZSBwb3J0IChQT1JUMikuIFRoZSByZXNwb25zZSB3
aWxsCisvLyBoYXZlIGEgVGltaW5nLUFsbG93LU9yaWdpbiBoZWFkZXIgdmFsdWUgd2l0aCB0aGUg
c2Vjb25kIHBvcnQgc28gdGhpcyBwYWdlJ3MKKy8vIG9yaWdpbiBzaG91bGQgbm90IGJlIGEgbWF0
Y2guCitjb25zdCBwb3J0X21pc21hdGNoX3VybCA9IGAke2xvY2F0aW9uLnByb3RvY29sfS8vJHtP
UklHSU5BTF9IT1NUfToke1BPUlQyfWAgKworICAgICAgICAgICAgICAgICAgICAgICAgICBgL3Jl
c291cmNlLXRpbWluZy9yZXNvdXJjZXMvVEFPUmVzcG9uc2UucHk/YCArCisgICAgICAgICAgICAg
ICAgICAgICAgICAgIGB0YW89b3JpZ2luX3BvcnRfJHtQT1JUMn1gOworYXR0cmlidXRlX3Rlc3Qo
CisgIGZldGNoLCBwb3J0X21pc21hdGNoX3VybCwgaW52YXJpYW50cy5hc3NlcnRfdGFvX2ZhaWx1
cmVfcmVzb3VyY2UsCisgICJBIHBvcnQgbWlzbWF0Y2ggbXVzdCBmYWlsIHRoZSBUQU8gY2hlY2si
KTsKKworLy8gVGhlIHNhbWUgVVJMIGFzIGFib3ZlIGV4Y2VwdCB0aGUgVGltaW5nLUFsbG93LU9y
aWdpbiBoZWFkZXIgd2lsbCBoYXZlIHRoZQorLy8gc2FtZSBwb3J0IGFzIHRoaXMgcGFnZSdzIG9y
aWdpbi4gVGhlcmVmb3JlLCB0aGlzIHBhZ2UncyBvcmlnaW4gd2lsbCBtYXRjaAorLy8gdGhlIFRp
bWluZy1BbGxvdy1PcmlnaW4gaGVhZGVyJ3MgdmFsdWUuIFRoZXJlZm9yZSwgdGhlIHN1YnJlc291
cmNlJ3MgdGltaW5ncworLy8gbXVzdCBiZSBleHBvc2VkLgorY29uc3QgcG9ydF9tYXRjaF91cmwg
PSBgJHtsb2NhdGlvbi5wcm90b2NvbH0vLyR7T1JJR0lOQUxfSE9TVH06JHtQT1JUMn1gICsKKyAg
ICAgICAgICAgICAgICAgICAgICAgYC9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL1RBT1Jlc3Bv
bnNlLnB5P2AgKworICAgICAgICAgICAgICAgICAgICAgICBgdGFvPW9yaWdpbl9wb3J0XyR7UE9S
VH1gOworYXR0cmlidXRlX3Rlc3QoCisgIGZldGNoLCBwb3J0X21hdGNoX3VybCwgaW52YXJpYW50
cy5hc3NlcnRfdGFvX3Bhc3Nfbm9fcmVkaXJlY3RfaHR0cCwKKyAgIkFuIGlkZW50aWNhbCBwb3J0
IG11c3QgcGFzcyB0aGUgVEFPIGNoZWNrIik7CisKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8aDE+RGVzY3JpcHRpb248L2gxPgorPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGZvciBh
IGNyb3NzIG9yaWdpbiByZXNvdXJjZSB3aXRoIGRpZmZlcmVudCBwb3J0cywKK3RoZSB0aW1pbmcg
YWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRoZSB2YWx1ZSBvZgorVGltaW5n
LUFsbG93LU9yaWdpbiB2YWx1ZSBoYXMgdGhlIHJpZ2h0IGhvc3QgYnV0IHRoZSB3cm9uZyBwb3J0
IGluIGl0LjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL19faW5pdF9fLnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvX19pbml0X18ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTY5ZGUyOWJiMmQxZDY0MzRiOGIyOWFlNzc1
YWQ4YzJlNDhjNTM5MQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWFmdGVyLWZ1bGwt
ZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWFmdGVyLWZ1bGwtZXZlbnQt
ZXhwZWN0ZWQudHh0CmluZGV4IDYzOGUzNjY2MDdiYjQzYjhjYmY1MTBiMDMxZTZhMWVmMDc0ODM2
Y2YuLjFlMmU1NDkwYWMzMDNhZjI4YzlhYzk4MmVmZjU1ZjE5OTMwZTI2N2QgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL2J1ZmZlci1mdWxsLWFkZC1hZnRlci1mdWxsLWV2ZW50LWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9idWZmZXItZnVsbC1hZGQtYWZ0ZXItZnVsbC1ldmVudC1leHBlY3RlZC50eHQKQEAgLTEsMyAr
MSw1IEBACiAKLVBBU1MgVGVzdCB0aGF0IGVudHJ5IHdhcyBhZGRlZCB0byB0aGUgYnVmZmVyIGFm
dGVyIGEgYnVmZmVyIGZ1bGwgZXZlbnQKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdl
ID0gbnVsbAorCitUSU1FT1VUIFRlc3QgdGhhdCBlbnRyeSB3YXMgYWRkZWQgdG8gdGhlIGJ1ZmZl
ciBhZnRlciBhIGJ1ZmZlciBmdWxsIGV2ZW50IFRlc3QgdGltZWQgb3V0CiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL2J1ZmZlci1mdWxsLWFkZC1hZnRlci1mdWxsLWV2ZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVs
bC1hZGQtYWZ0ZXItZnVsbC1ldmVudC5odG1sCmluZGV4IDg0ZDI1N2U0ZjQ1MjdiN2RkZjE5OWRm
YmM5MWI1OTE4MzY1MTA5OWYuLjQzZGMzZDg0ZmQzZGQxYjYyNjNkZmRmOTYxMTEzZWRiOWUxYTBk
YTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFkZC1hZnRlci1mdWxsLWV2ZW50Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWFmdGVyLWZ1bGwtZXZlbnQuaHRtbApAQCAtMiw4NCAr
MiwyNiBAQAogPGh0bWw+CiA8aGVhZD4KIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLTxsaW5rIHJl
bD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Jlc291cmNlLXRpbWluZy8jZG9t
LXBlcmZvcm1hbmNlLXNldHJlc291cmNldGltaW5nYnVmZmVyc2l6ZSI+Cis8bGluayByZWw9ImF1
dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxs
aW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWlu
Zy0yLyNkb20tcGVyZm9ybWFuY2Utc2V0cmVzb3VyY2V0aW1pbmdidWZmZXJzaXplIj4KIDx0aXRs
ZT5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgc2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJGdWxsIGJl
aGF2ZXMgYXBwcm9wcmlhdGVseSB3aGVuIHNldCB0byB0aGUgY3VycmVudCBidWZmZXIgbGV2ZWwu
PC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2J1ZmZlci1mdWxsLXV0aWxpdGllcy5qcyI+PC9zY3Jp
cHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+Ci1sZXQgZXZlbnRGaXJlZCA9IGZhbHNlOwot
bGV0IGxvYWRSYW5kb21SZXNvdXJjZSA9ICgpID0+IHsKLSAgICByZXR1cm4gZmV0Y2god2luZG93
LmxvY2F0aW9uLmhyZWYgKyAiPyIgKyBNYXRoLnJhbmRvbSgpKS50aGVuKHIgPT4gci50ZXh0KCkp
OwotfQotCi1zZXR1cCgoKSA9PiB7Ci0gICAgLy8gR2V0IHRoZSBicm93c2VyIGludG8gYSBjb25z
aXN0ZW50IHN0YXRlLgotICAgIGNsZWFyQnVmZmVyQW5kU2V0U2l6ZSgxMDApOwotfSk7Ci0KLWxl
dCBsb2FkUmVzb3VyY2VzVG9GaWxsRnV0dXJlQnVmZmVyID0gKCkgPT4geworcHJvbWlzZV90ZXN0
KGFzeW5jIHQgPT4geworICAgIGF3YWl0IGZvcmNlQnVmZmVyRnVsbEV2ZW50KCk7CisgICAgcGVy
Zm9ybWFuY2UuY2xlYXJSZXNvdXJjZVRpbWluZ3MoKTsKICAgICByZXR1cm4gbmV3IFByb21pc2Uo
cmVzb2x2ZSA9PiB7Ci0gICAgICAgIC8vIEdhdGhlciB1cCAzIFJlc291cmNlIEVudHJpZXMgdG8g
a2ljayBvZmYgdGhlIHJlc3Qgb2YgdGVzdCBiZWhhdmlvci4KLSAgICAgICAgbGV0IHJlc291cmNl
cyA9IDA7Ci0gICAgICAgIGxldCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGZ1
bmN0aW9uKGxpc3QpIHsKLSAgICAgICAgICAgIHJlc291cmNlcyArPSBsaXN0LmdldEVudHJpZXNC
eVR5cGUoInJlc291cmNlIikubGVuZ3RoOwotICAgICAgICAgICAgaWYgKHJlc291cmNlcyAhPT0g
MykKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICBvYnNlcnZlci5kaXNjb25u
ZWN0KCk7Ci0gICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAgIH0pOwotICAgICAgICBvYnNl
cnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbInJlc291cmNlIl19KTsKLSAgICAgICAgZm9yIChs
ZXQgaSA9IDA7IGkgPCAzOyArK2kpCi0gICAgICAgICAgICBsb2FkUmFuZG9tUmVzb3VyY2UoKTsK
KyAgICAgIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICAg
ICAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdyZXNvdXJjZScp
Lmxlbmd0aCwgMSwKKyAgICAgICAgICAgICdUaGUgZW50cnkgc2hvdWxkIGJlIGF2YWlsYWJsZSBp
biB0aGUgcGVyZm9ybWFuY2UgdGltZWxpbmUhJyk7CisgICAgICAgIHJlc29sdmUoKTsKKyAgICAg
IH0pKS5vYnNlcnZlKHt0eXBlOiAncmVzb3VyY2UnfSk7CisgICAgICBsb2FkLnNjcmlwdChzY3Jp
cHRSZXNvdXJjZXNbMl0pOwogICAgIH0pOwotfTsKLQotbGV0IHNldEJ1ZmZlckZ1bGxFdmVudEFu
ZEJ1ZmZlclNpemUgPSAoKSA9PiB7Ci0gICAgcGVyZm9ybWFuY2Uuc2V0UmVzb3VyY2VUaW1pbmdC
dWZmZXJTaXplKDMpOwotICAgIHBlcmZvcm1hbmNlLm9ucmVzb3VyY2V0aW1pbmdidWZmZXJmdWxs
ID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgIGV2ZW50RmlyZWQgPSB0cnVlOwotICAgICAgICBwZXJm
b3JtYW5jZS5jbGVhclJlc291cmNlVGltaW5ncygpOwotICAgIH07Ci19OwotCi1sZXQgY2xlYXJB
bmRBZGRBbm90aGVyRW50cnlUb0J1ZmZlciA9ICgpID0+IHsKLSAgICByZXR1cm4gbmV3IFByb21p
c2UocmVzb2x2ZSA9PiB7Ci0gICAgICAgIHBlcmZvcm1hbmNlLmNsZWFyUmVzb3VyY2VUaW1pbmdz
KCk7Ci0gICAgICAgIGxvYWRSYW5kb21SZXNvdXJjZSgpLnRoZW4ocmVzb2x2ZSk7Ci0gICAgfSk7
Ci19OwotCi1sZXQgdGVzdFRoYXRFbnRyeVdhc0FkZGVkID0gKCkgPT4gewotICAgIGxldCB0cmll
cyA9IDE7Ci0gICAgbGV0IG1heFRyaWVzID0gNTsKLSAgICByZXR1cm4gd2FpdFVudGlsQ29uZGl0
aW9uSXNNZXQoIGZ1bmN0aW9uKCkgewotICAgICAgICBpZiAocGVyZm9ybWFuY2UuZ2V0RW50cmll
c0J5VHlwZSgicmVzb3VyY2UiKS5sZW5ndGgpIHsKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwot
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgaWYgKHRyaWVzIDwgbWF4VHJpZXMpIHsKLSAg
ICAgICAgICAgICAgICB0cmllcysrOwotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgIH0KLSAgICB9KS50aGVuKCAoKSA9PiB7Ci0gICAgICAgIGFzc2VydF90
cnVlKChwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJyZXNvdXJjZSIpLmxlbmd0aCkgPT09
IDEpOwotICAgIH0pOwotfTsKLQotcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKLSAgICBhd2Fp
dCBsb2FkUmVzb3VyY2VzVG9GaWxsRnV0dXJlQnVmZmVyKCk7Ci0gICAgc2V0QnVmZmVyRnVsbEV2
ZW50QW5kQnVmZmVyU2l6ZSgpOwotICAgIC8vIE92ZXJmbG93IHRoZSBidWZmZXIuCi0gICAgYXdh
aXQgbG9hZFJhbmRvbVJlc291cmNlKCk7Ci0gICAgYXdhaXQgd2FpdEZvckV2ZW50VG9GaXJlKCk7
Ci0gICAgYXdhaXQgY2xlYXJBbmRBZGRBbm90aGVyRW50cnlUb0J1ZmZlcigpOwotICAgIC8vIFNp
bmNlIHdlIGhhdmUgbm8gc3RyaWN0IGd1YXJhbnRlZXMgd2hlbiBhbiBlbnRyeSB3aWxsIGJlIGFk
ZGVkIHRvIHRoZQotICAgIC8vIGJ1ZmZlciwgd2FpdGluZyB0aWxsIG5leHQgdGFzayB0byB0cnkg
dG8gYXZvaWQgZmxha2luZXNzLgotICAgIGF3YWl0IHRlc3RUaGF0RW50cnlXYXNBZGRlZCgpOwog
fSwgIlRlc3QgdGhhdCBlbnRyeSB3YXMgYWRkZWQgdG8gdGhlIGJ1ZmZlciBhZnRlciBhIGJ1ZmZl
ciBmdWxsIGV2ZW50Iik7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFk
ZC1lbnRyaWVzLWR1cmluZy1jYWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1h
ZGQtZW50cmllcy1kdXJpbmctY2FsbGJhY2stZXhwZWN0ZWQudHh0CmluZGV4IDcyMDhjNTlkMWVm
ZGJkY2Q2N2M5NjY1MmY2ZjJjNjUwNzU5OTNmN2MuLjFjYTk3NjIxYWQ2NzFhNmMxMTRlMGEyZWZi
OGEzMDFlYTc5ZDkzNTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFkZC1lbnRyaWVzLWR1
cmluZy1jYWxsYmFjay1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWVudHJp
ZXMtZHVyaW5nLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDUgQEAKIAotUEFTUyBU
ZXN0IHRoYXQgZW50cmllcyBzeW5jaHJvbm91c2x5IGFkZGVkIHRvIHRoZSBidWZmZXIgZHVyaW5n
IHRoZSBjYWxsYmFjayBkb24ndCBnZXQgZHJvcHBlZCBpZiB0aGUgYnVmZmVyIGlzIGluY3JlYXNl
ZAorSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgVGVz
dCB0aGF0IGVudHJpZXMgc3luY2hyb25vdXNseSBhZGRlZCB0byB0aGUgYnVmZmVyIGR1cmluZyB0
aGUgY2FsbGJhY2sgZG9uJ3QgZ2V0IGRyb3BwZWQgaWYgdGhlIGJ1ZmZlciBpcyBpbmNyZWFzZWQg
VGVzdCB0aW1lZCBvdXQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWVudHJpZXMt
ZHVyaW5nLWNhbGxiYWNrLXRoYXQtZHJvcC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWVudHJp
ZXMtZHVyaW5nLWNhbGxiYWNrLXRoYXQtZHJvcC5odG1sCmluZGV4IGQ2MWQyYWYwNWM2NzMwYzU3
NzAzZTdiYTk0ODIwNjc2ODllNzhmYmIuLmIwMDE4NWM1YjZjODgxMGZkZDE4ZWY2YzkyZmViZjRm
Y2IwNjVkZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFkZC1lbnRyaWVzLWR1cmluZy1j
YWxsYmFjay10aGF0LWRyb3AuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtZW50cmllcy1k
dXJpbmctY2FsbGJhY2stdGhhdC1kcm9wLmh0bWwKQEAgLTMsNDggKzMsMjYgQEAKIDxoZWFkIG9u
bG9hZD4KIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgogPHRpdGxlPlRoaXMgdGVzdCB2YWxpZGF0
ZXMgdGhhdCBzeW5jaHJvbm91c2x5IGFkZGluZyBlbnRyaWVzIGluIG9ucmVzb3VyY2V0aW1pbmdi
dWZmZXJmdWxsIGNhbGxiYWNrIHJlc3VsdHMgaW4gdGhlc2UgZW50cmllcyBiZWluZyBwcm9wZXJs
eSBoYW5kbGVkLjwvdGl0bGU+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMu
b3JnL1RSL3Jlc291cmNlLXRpbWluZy8jcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgorPGxp
bmsgcmVsPSJhdXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNv
bS8iIC8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9yZXNv
dXJjZS10aW1pbmctMi8jZG9tLXBlcmZvcm1hbmNlLW9ucmVzb3VyY2V0aW1pbmdidWZmZXJmdWxs
Ii8+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9InJlc291cmNlcy9idWZmZXItZnVsbC11dGlsaXRpZXMuanMiPjwvc2NyaXB0Pgog
PC9oZWFkPgogPGJvZHk+CiA8c2NyaXB0PgotY29uc3QgcmVzb3VyY2VfdGltaW5nX2J1ZmZlcl9z
aXplID0gMTsKLQotc2V0dXAoKCkgPT4gewotICAgIC8vIEdldCB0aGUgYnJvd3NlciBpbnRvIGEg
Y29uc2lzdGVudCBzdGF0ZS4KLSAgICBjbGVhckJ1ZmZlckFuZFNldFNpemUocmVzb3VyY2VfdGlt
aW5nX2J1ZmZlcl9zaXplKTsKLX0pOwotCi1sZXQgb3ZlcmZsb3dUaGVCdWZmZXJBbmRXYWl0Rm9y
RXZlbnQgPSAoKSA9PiB7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAg
ICAgICB2YXIgYWRkX2VudHJ5ID0gKCkgPT4gewotICAgICAgICAgICAgcGVyZm9ybWFuY2Uuc2V0
UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKHJlc291cmNlX3RpbWluZ19idWZmZXJfc2l6ZSArIDEp
OwotICAgICAgICAgICAgLy8gVGhlIHN5bmMgZW50cnkgaXMgYWRkZWQgdG8gdGhlIHNlY29uZGFy
eSBidWZmZXIsIHNvIHdpbGwgYmUgdGhlIGxhc3Qgb25lIHRoZXJlIGFuZCBldmVudHVhbGx5IGRy
b3BwZWQuCi0gICAgICAgICAgICB4aHJTY3JpcHQoInJlc291cmNlcy9lbXB0eS5qcz94aHIiKTsK
LSAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgfQotICAgICAgICBwZXJmb3JtYW5jZS5h
ZGRFdmVudExpc3RlbmVyKCdyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwnLCBhZGRfZW50cnkpOwot
ICAgICAgICAvLyBUaGlzIHJlc291cmNlIG92ZXJmbG93cyB0aGUgZW50cnkgYnVmZmVyLCBhbmQg
Z29lcyBpbnRvIHRoZSBzZWNvbmRhcnkgYnVmZmVyLgotICAgICAgICBhcHBlbmRTY3JpcHQoJ3Jl
c291cmNlcy9lbXB0eV9zY3JpcHQuanMnKTsKLSAgICB9KTsKLX07Ci0KLWxldCB0ZXN0VGhhdEJ1
ZmZlckNvbnRhaW5zVGhlUmlnaHRSZXNvdXJjZXMgPSAoKSA9PiB7Ci0gICAgbGV0IGVudHJpZXMg
PSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdyZXNvdXJjZScpOwotICAgIGFzc2VydF9l
cXVhbHMoZW50cmllcy5sZW5ndGgsIDIsCi0gICAgICAgICAgICAgICAgICAnQm90aCBlbnRyaWVz
IHNob3VsZCBiZSBzdG9yZWQgaW4gcmVzb3VyY2UgdGltaW5nIGJ1ZmZlciBzaW5jZSBpdHMgaW5j
cmVhc2VzIHNpemUgb25jZSBpdCBvdmVyZmxvd3MuJyk7Ci0gICAgYXNzZXJ0X3RydWUoZW50cmll
c1swXS5uYW1lLmluY2x1ZGVzKCdlbXB0eS5qcycpLCAiZW1wdHkuanMgaXMgaW4gdGhlIGVudHJp
ZXMgYnVmZmVyIik7Ci0gICAgYXNzZXJ0X3RydWUoZW50cmllc1sxXS5uYW1lLmluY2x1ZGVzKCdl
bXB0eV9zY3JpcHQuanMnKSwgImVtcHR5X3NjcmlwdC5qcyBpcyBpbiB0aGUgZW50cmllcyBidWZm
ZXIiKTsKLX07Ci0KIHByb21pc2VfdGVzdChhc3luYyAoKSA9PiB7Ci0gICAgYXdhaXQgZmlsbFVw
VGhlQnVmZmVyV2l0aFNpbmdsZVJlc291cmNlKCJyZXNvdXJjZXMvZW1wdHkuanMiKTsKLSAgICBh
d2FpdCBvdmVyZmxvd1RoZUJ1ZmZlckFuZFdhaXRGb3JFdmVudCgpOwotICAgIC8vIFRPRE8oeW9h
dik6IEZpZ3VyZSBvdXQgd2h5IHRoaXMgdGFzayBpcyBuZWVkZWQKLSAgICBhd2FpdCB3YWl0Rm9y
TmV4dFRhc2soKTsKLSAgICB0ZXN0VGhhdEJ1ZmZlckNvbnRhaW5zVGhlUmlnaHRSZXNvdXJjZXMo
KTsKKyAgICBhd2FpdCBmaWxsVXBUaGVCdWZmZXJXaXRoU2luZ2xlUmVzb3VyY2UoKTsKKyAgICBw
ZXJmb3JtYW5jZS5hZGRFdmVudExpc3RlbmVyKCdyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwnLCAo
KSA9PiB7CisgICAgICAgIHBlcmZvcm1hbmNlLnNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6ZSgy
KTsKKyAgICAgICAgLy8gVGhlIHN5bmMgZW50cnkgaXMgYWRkZWQgdG8gdGhlIHNlY29uZGFyeSBi
dWZmZXIsIHNvIHdpbGwgYmUgdGhlIGxhc3Qgb25lIHRoZXJlIGFuZCBldmVudHVhbGx5IGRyb3Bw
ZWQuCisgICAgICAgIGxvYWQueGhyX3N5bmMoc2NyaXB0UmVzb3VyY2VzWzJdKTsKKyAgICB9KTsK
KyAgICAvLyBUaGlzIHJlc291cmNlIG92ZXJmbG93cyB0aGUgZW50cnkgYnVmZmVyLCBhbmQgZ29l
cyBpbnRvIHRoZSBzZWNvbmRhcnkgYnVmZmVyLgorICAgIGxvYWQuc2NyaXB0KHNjcmlwdFJlc291
cmNlc1sxXSk7CisgICAgYXdhaXQgYnVmZmVyRnVsbEZpcmVQcm9taXNlOworICAgIGNoZWNrRW50
cmllcygyKTsKIH0sICJUZXN0IHRoYXQgZW50cmllcyBzeW5jaHJvbm91c2x5IGFkZGVkIHRvIHRo
ZSBidWZmZXIgZHVyaW5nIHRoZSBjYWxsYmFjayBhcmUgZHJvcHBlZCIpOwogPC9zY3JpcHQ+CiA8
L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtZW50cmllcy1kdXJpbmctY2Fs
bGJhY2suaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFkZC1lbnRyaWVzLWR1cmluZy1jYWxsYmFjay5o
dG1sCmluZGV4IGIzN2M0N2IyM2ZiNTAyNjQ4MDY4MzU5NGI5NjRlZTcxMmFiYmU3MDguLmQ1ODgz
ZDMzZDVkNzgwNzA4YTExMTY3NzMxY2Q3MDcwZjAxMDVlZGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZl
ci1mdWxsLWFkZC1lbnRyaWVzLWR1cmluZy1jYWxsYmFjay5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1m
dWxsLWFkZC1lbnRyaWVzLWR1cmluZy1jYWxsYmFjay5odG1sCkBAIC0zLDQ3ICszLDI1IEBACiA8
aGVhZCBvbmxvYWQ+CiA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KIDx0aXRsZT5UaGlzIHRlc3Qg
dmFsaWRhdGVzIHRoYXQgc3luY2hyb25vdXNseSBhZGRpbmcgZW50cmllcyBpbiBvbnJlc291cmNl
dGltaW5nYnVmZmVyZnVsbCBjYWxsYmFjayByZXN1bHRzIGluIHRoZXNlIGVudHJpZXMgYmVpbmcg
cHJvcGVybHkgaGFuZGxlZC48L3RpdGxlPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8v
d3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmci
Lz4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdv
b2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcv
VFIvcmVzb3VyY2UtdGltaW5nLTIvI2RvbS1wZXJmb3JtYW5jZS1vbnJlc291cmNldGltaW5nYnVm
ZmVyZnVsbCIvPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzIj48L3Nj
cmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPHNjcmlwdD4KLWNvbnN0IHJlc291cmNlX3RpbWluZ19i
dWZmZXJfc2l6ZSA9IDE7Ci0KLXNldHVwKCgpID0+IHsKLSAgICAvLyBHZXQgdGhlIGJyb3dzZXIg
aW50byBhIGNvbnNpc3RlbnQgc3RhdGUuCi0gICAgY2xlYXJCdWZmZXJBbmRTZXRTaXplKHJlc291
cmNlX3RpbWluZ19idWZmZXJfc2l6ZSk7Ci19KTsKLQotbGV0IG92ZXJmbG93VGhlQnVmZmVyQW5k
V2FpdEZvckV2ZW50ID0gKCkgPT4gewotICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+
IHsKLSAgICAgICAgdmFyIGFkZF9lbnRyeSA9ICgpID0+IHsKLSAgICAgICAgICAgIHBlcmZvcm1h
bmNlLnNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6ZShyZXNvdXJjZV90aW1pbmdfYnVmZmVyX3Np
emUgKyAyKTsKLSAgICAgICAgICAgIHhoclNjcmlwdCgicmVzb3VyY2VzL2VtcHR5LmpzP3hociIp
OwotICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICB9Ci0gICAgICAgIHBlcmZvcm1hbmNl
LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc291cmNldGltaW5nYnVmZmVyZnVsbCcsIGFkZF9lbnRyeSk7
Ci0gICAgICAgIC8vIFRoaXMgcmVzb3VyY2Ugb3ZlcmZsb3dzIHRoZSBlbnRyeSBidWZmZXIsIGFu
ZCBnb2VzIGludG8gdGhlIHNlY29uZGFyeSBidWZmZXIuCi0gICAgICAgIGFwcGVuZFNjcmlwdCgn
cmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5qcycpOwotICAgIH0pOwotfTsKLQotbGV0IHRlc3RUaGF0
QnVmZmVyQ29udGFpbnNUaGVSaWdodFJlc291cmNlcyA9ICgpID0+IHsKLSAgICBsZXQgZW50cmll
cyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7Ci0gICAgYXNzZXJ0
X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMywKLSAgICAgICAgICAgICAgICAgICdBbGwgZW50cmll
cyBzaG91bGQgYmUgc3RvcmVkIGluIHJlc291cmNlIHRpbWluZyBidWZmZXIgc2luY2UgaXRzIGlu
Y3JlYXNlcyBzaXplIG9uY2UgaXQgb3ZlcmZsb3dzLicpOwotICAgIGFzc2VydF90cnVlKGVudHJp
ZXNbMF0ubmFtZS5pbmNsdWRlcygnZW1wdHkuanMnKSwgImVtcHR5LmpzIGlzIGluIHRoZSBlbnRy
aWVzIGJ1ZmZlciIpOwotICAgIGFzc2VydF90cnVlKGVudHJpZXNbMV0ubmFtZS5pbmNsdWRlcygn
ZW1wdHlfc2NyaXB0LmpzJyksICJlbXB0eV9zY3JpcHQuanMgaXMgaW4gdGhlIGVudHJpZXMgYnVm
ZmVyIik7Ci0gICAgYXNzZXJ0X3RydWUoZW50cmllc1syXS5uYW1lLmluY2x1ZGVzKCdlbXB0eS5q
cz94aHInKSwgImVtcHR5LmpzP3hociBpcyBpbiB0aGUgZW50cmllcyBidWZmZXIiKTsKLX07Ci0K
IHByb21pc2VfdGVzdChhc3luYyAoKSA9PiB7Ci0gICAgYXdhaXQgZmlsbFVwVGhlQnVmZmVyV2l0
aFNpbmdsZVJlc291cmNlKCJyZXNvdXJjZXMvZW1wdHkuanMiKTsKLSAgICBhd2FpdCBvdmVyZmxv
d1RoZUJ1ZmZlckFuZFdhaXRGb3JFdmVudCgpOwotICAgIGF3YWl0IHdhaXRGb3JOZXh0VGFzaygp
OwotICAgIHRlc3RUaGF0QnVmZmVyQ29udGFpbnNUaGVSaWdodFJlc291cmNlcygpOworICAgIGF3
YWl0IGZpbGxVcFRoZUJ1ZmZlcldpdGhTaW5nbGVSZXNvdXJjZSgpOworICAgIHBlcmZvcm1hbmNl
LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc291cmNldGltaW5nYnVmZmVyZnVsbCcsICgpID0+IHsKKyAg
ICAgICAgcGVyZm9ybWFuY2Uuc2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKDMpOworICAgICAg
ICBsb2FkLnhocl9zeW5jKHNjcmlwdFJlc291cmNlc1syXSk7CisgICAgfSk7CisgICAgLy8gVGhp
cyByZXNvdXJjZSBvdmVyZmxvd3MgdGhlIGVudHJ5IGJ1ZmZlciwgYW5kIGdvZXMgaW50byB0aGUg
c2Vjb25kYXJ5IGJ1ZmZlci4KKyAgICBsb2FkLnNjcmlwdChzY3JpcHRSZXNvdXJjZXNbMV0pOwor
ICAgIGF3YWl0IGJ1ZmZlckZ1bGxGaXJlUHJvbWlzZTsKKyAgICBjaGVja0VudHJpZXMoMyk7CiB9
LCAiVGVzdCB0aGF0IGVudHJpZXMgc3luY2hyb25vdXNseSBhZGRlZCB0byB0aGUgYnVmZmVyIGR1
cmluZyB0aGUgY2FsbGJhY2sgZG9uJ3QgZ2V0IGRyb3BwZWQgaWYgdGhlIGJ1ZmZlciBpcyBpbmNy
ZWFzZWQiKTsKIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwt
YWRkLXRoZW4tY2xlYXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLXRoZW4tY2xl
YXItZXhwZWN0ZWQudHh0CmluZGV4IDg1OWI1MjU3YjU4MGVkN2QxZmI4NWJmYjhlMDE1NTQxMzFi
YTQwODcuLjA2Y2FiMDBjYTNlMjdhZWE4MTkwNmNkYWYwNzAyM2JiMWVhN2ZlNzEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2J1ZmZlci1mdWxsLWFkZC10aGVuLWNsZWFyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9i
dWZmZXItZnVsbC1hZGQtdGhlbi1jbGVhci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAK
LVBBU1MgVGVzdCB0aGF0IGlmIHRoZSBidWZmZXIgaXMgY2xlYXJlZCBhZnRlciBlbnRyaWVzIHdl
cmUgYWRkZWQgdG8gdGhlIHNlY29uZGFyeSBidWZmZXIsIHRob3NlIGVudHJpZXMgbWFrZSBpdCBp
bnRvIHRoZSBwcmltYXJ5IG9uZQorRkFJTCBUZXN0IHRoYXQgaWYgdGhlIGJ1ZmZlciBpcyBjbGVh
cmVkIGFmdGVyIGVudHJpZXMgd2VyZSBhZGRlZCB0byB0aGUgc2Vjb25kYXJ5IGJ1ZmZlciwgdGhv
c2UgZW50cmllcyBtYWtlIGl0IGludG8gdGhlIHByaW1hcnkgb25lIGFzc2VydF9lcXVhbHM6IE51
bWJlciBvZiBlbnRyaWVzIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCB2YWx1ZS4gZXhwZWN0
ZWQgMyBidXQgZ290IDIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLXRoZW4tY2xl
YXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFkZC10aGVuLWNsZWFyLmh0bWwKaW5kZXggNzEwODUy
Y2VkNTVmNzE2YTM0OGNjOWU2ODY1ZDdhOGI3MDQ4YTQ2YS4uNTYxN2MzMGI4ODUwZDhkODU1MDU2
MWM3OWY2OWVhMDJjNjkxZDEzNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLXRoZW4t
Y2xlYXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtdGhlbi1jbGVhci5odG1sCkBAIC0z
LDQ2ICszLDI4IEBACiA8aGVhZCBvbmxvYWQ+CiA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KIDx0
aXRsZT5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgc3luY2hyb25vdXNseSBhZGRpbmcgZW50cmll
cyBpbiBvbnJlc291cmNldGltaW5nYnVmZmVyZnVsbCBjYWxsYmFjayByZXN1bHRzIGluIHRoZXNl
IGVudHJpZXMgYmVpbmcgcHJvcGVybHkgaGFuZGxlZC48L3RpdGxlPgotPGxpbmsgcmVsPSJoZWxw
IiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1hbmNl
cmVzb3VyY2V0aW1pbmciLz4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVm
PSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRw
czovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI2RvbS1wZXJmb3JtYW5jZS1vbnJl
c291cmNldGltaW5nYnVmZmVyZnVsbCIvPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2Fk
ZXJzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRp
bGl0aWVzLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPHNjcmlwdD4KLWNvbnN0IHJl
c291cmNlX3RpbWluZ19idWZmZXJfc2l6ZSA9IDE7Ci0KLXNldHVwKCgpID0+IHsKLSAgICAvLyBH
ZXQgdGhlIGJyb3dzZXIgaW50byBhIGNvbnNpc3RlbnQgc3RhdGUuCi0gICAgY2xlYXJCdWZmZXJB
bmRTZXRTaXplKHJlc291cmNlX3RpbWluZ19idWZmZXJfc2l6ZSk7Ci0gICAgcGVyZm9ybWFuY2Uu
YWRkRXZlbnRMaXN0ZW5lcigncmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsJywgKCkgPT4geyBhc3Nl
cnRfdW5yZWFjaGVkKCJyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwgc2hvdWxkIG5vdCBmaXJlIil9
KTsKLX0pOwotCi1sZXQgb3ZlcmZsb3dUaGVCdWZmZXIgPSAoKSA9PiB7Citwcm9taXNlX3Rlc3Qo
YXN5bmMgdCA9PiB7CisgICAgYWRkQXNzZXJ0VW5yZWFjaGVkQnVmZmVyRnVsbCh0KTsKKyAgICBh
d2FpdCBmaWxsVXBUaGVCdWZmZXJXaXRoU2luZ2xlUmVzb3VyY2UoJ3Jlc291cmNlcy9lbXB0eS5q
cz93aWxsYmVsb3N0Jyk7CiAgICAgLy8gVGhlc2UgcmVzb3VyY2VzIG92ZXJmbG93IHRoZSBlbnRy
eSBidWZmZXIsIGFuZCBnbyBpbnRvIHRoZSBzZWNvbmRhcnkgYnVmZmVyLgotICAgIHhoclNjcmlw
dCgncmVzb3VyY2VzL2VtcHR5LmpzP3hocjInKTsKLSAgICB4aHJTY3JpcHQoJ3Jlc291cmNlcy9l
bXB0eS5qcz94aHIzJyk7CisgICAgbG9hZC54aHJfc3luYyhzY3JpcHRSZXNvdXJjZXNbMF0pOwor
ICAgIGxvYWQueGhyX3N5bmMoc2NyaXB0UmVzb3VyY2VzWzFdKTsKICAgICBwZXJmb3JtYW5jZS5j
bGVhclJlc291cmNlVGltaW5ncygpOwogICAgIHBlcmZvcm1hbmNlLnNldFJlc291cmNlVGltaW5n
QnVmZmVyU2l6ZSgzKTsKLSAgICB4aHJTY3JpcHQoJ3Jlc291cmNlcy9lbXB0eS5qcz94aHI0Jyk7
Ci0gICAgd2luZG93LmVudHJpZXNBZnRlckFkZGl0aW9uID0gcGVyZm9ybWFuY2UuZ2V0RW50cmll
c0J5VHlwZSgncmVzb3VyY2UnKTsKLX07Ci0KLWxldCB0ZXN0VGhhdEJ1ZmZlckNvbnRhaW5zVGhl
UmlnaHRSZXNvdXJjZXMgPSAoKSA9PiB7Ci0gICAgbGV0IGVudHJpZXMgPSBwZXJmb3JtYW5jZS5n
ZXRFbnRyaWVzQnlUeXBlKCdyZXNvdXJjZScpOwotICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5s
ZW5ndGgsIDMsCi0gICAgICAgICAgICAgICAgICAndGhlIGxhc3QgMyByZXNvdXJjZXMgc2hvdWxk
IGJlIGluIHRoZSBidWZmZXIsIHNpbmNlIHRoZSBmaXJzdCBvbmUgd2FzIGNsZWFyZWQnKTsKLSAg
ICBhc3NlcnRfdHJ1ZShlbnRyaWVzWzBdLm5hbWUuaW5jbHVkZXMoJ2VtcHR5LmpzP3hocjInKSwg
ImVtcHR5LmpzP3hocjIgaXMgaW4gdGhlIGVudHJpZXMgYnVmZmVyIik7Ci0gICAgYXNzZXJ0X3Ry
dWUoZW50cmllc1sxXS5uYW1lLmluY2x1ZGVzKCdlbXB0eS5qcz94aHIzJyksICJlbXB0eS5qcz94
aHIzIGlzIGluIHRoZSBlbnRyaWVzIGJ1ZmZlciIpOwotICAgIGFzc2VydF90cnVlKGVudHJpZXNb
Ml0ubmFtZS5pbmNsdWRlcygnZW1wdHkuanM/eGhyNCcpLCAiZW1wdHkuanM/eGhyNCBpcyBpbiB0
aGUgZW50cmllcyBidWZmZXIiKTsKLSAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXNBZnRlckFkZGl0
aW9uLmxlbmd0aCwgMCwgIk5vIGVudHJpZXMgc2hvdWxkIGhhdmUgYmVlbiBhZGRlZCB0byB0aGUg
cHJpbWFyeSBidWZmZXIgYmVmb3JlIHRoZSB0YXNrIHRvICdmaXJlIGEgYnVmZmVyIGZ1bGwgZXZl
bnQnLiIpOwotfTsKLQotcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKLSAgICBhd2FpdCBmaWxs
VXBUaGVCdWZmZXJXaXRoU2luZ2xlUmVzb3VyY2UoInJlc291cmNlcy9lbXB0eS5qcyIpOwotICAg
IG92ZXJmbG93VGhlQnVmZmVyKCk7CisgICAgbG9hZC54aHJfc3luYyhzY3JpcHRSZXNvdXJjZXNb
Ml0pOworICAgIGNvbnN0IGVudHJpZXNBZnRlckFkZGl0aW9uID0gcGVyZm9ybWFuY2UuZ2V0RW50
cmllc0J5VHlwZSgncmVzb3VyY2UnKTsKICAgICBhd2FpdCB3YWl0Rm9yTmV4dFRhc2soKTsKLSAg
ICB0ZXN0VGhhdEJ1ZmZlckNvbnRhaW5zVGhlUmlnaHRSZXNvdXJjZXMoKTsKKyAgICBjaGVja0Vu
dHJpZXMoMyk7CisgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzQWZ0ZXJBZGRpdGlvbi5sZW5ndGgs
IDAsICJObyBlbnRyaWVzIHNob3VsZCBoYXZlIGJlZW4gYWRkZWQgdG8gdGhlIHByaW1hcnkgYnVm
ZmVyIGJlZm9yZSB0aGUgdGFzayB0byAnZmlyZSBhIGJ1ZmZlciBmdWxsIGV2ZW50Jy4iKTsKIH0s
ICJUZXN0IHRoYXQgaWYgdGhlIGJ1ZmZlciBpcyBjbGVhcmVkIGFmdGVyIGVudHJpZXMgd2VyZSBh
ZGRlZCB0byB0aGUgc2Vjb25kYXJ5IGJ1ZmZlciwgdGhvc2UgZW50cmllcyBtYWtlIGl0IGludG8g
dGhlIHByaW1hcnkgb25lIik7CiA8L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1
ZmZlci1mdWxsLWRlY3JlYXNlLWJ1ZmZlci1kdXJpbmctY2FsbGJhY2suaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZl
ci1mdWxsLWRlY3JlYXNlLWJ1ZmZlci1kdXJpbmctY2FsbGJhY2suaHRtbAppbmRleCBlNmRlMzNk
ZWQxYjczMzQ1YTc2MzY5MmExYmFjOTEzOGM4ZjIwOGRlLi4zMDkxZmNmNDI2OTE5MmQ5MDliODdk
YzMzNTU5YzNmMTg4ODFjMzdkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1kZWNyZWFzZS1i
dWZmZXItZHVyaW5nLWNhbGxiYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtZGVjcmVhc2Ut
YnVmZmVyLWR1cmluZy1jYWxsYmFjay5odG1sCkBAIC0zLDQ2ICszLDIzIEBACiA8aGVhZCBvbmxv
YWQ+CiA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KIDx0aXRsZT5UaGlzIHRlc3QgdmFsaWRhdGVz
IHRoYXQgZGVjcmVhc2luZyB0aGUgYnVmZmVyIHNpemUgaW4gb25yZXNvdXJjZXRpbWluZ2J1ZmZl
cmZ1bGwgY2FsbGJhY2sgZG9lcyBub3QgcmVzdWx0IGluIGV4dHJhIGVudHJpZXMgYmVpbmcgZHJv
cHBlZC48L3RpdGxlPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9U
Ui9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxsaW5rIHJl
bD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAv
PgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2Ut
dGltaW5nLTIvI2RvbS1wZXJmb3JtYW5jZS1vbnJlc291cmNldGltaW5nYnVmZmVyZnVsbCIvPgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KIDwvaGVh
ZD4KIDxib2R5PgogPHNjcmlwdD4KLWNvbnN0IHJlc291cmNlX3RpbWluZ19idWZmZXJfc2l6ZSA9
IDI7Ci1sZXQgZXZlbnRGaXJlZCA9IGZhbHNlOwotc2V0dXAoKCkgPT4gewotICAgIC8vIEdldCB0
aGUgYnJvd3NlciBpbnRvIGEgY29uc2lzdGVudCBzdGF0ZS4KLSAgICBjbGVhckJ1ZmZlckFuZFNl
dFNpemUocmVzb3VyY2VfdGltaW5nX2J1ZmZlcl9zaXplKTsKLSAgICBsZXQgcmVzaXplID0gKCkg
PT4gewotICAgICAgICBwZXJmb3JtYW5jZS5zZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUocmVz
b3VyY2VfdGltaW5nX2J1ZmZlcl9zaXplIC0gMSk7Ci0gICAgICAgIGV2ZW50RmlyZWQgPSB0cnVl
OwotICAgIH0KLSAgICBwZXJmb3JtYW5jZS5hZGRFdmVudExpc3RlbmVyKCdyZXNvdXJjZXRpbWlu
Z2J1ZmZlcmZ1bGwnLCByZXNpemUpOwotfSk7Ci0KLWxldCBvdmVyZmxvd1RoZUJ1ZmZlciA9ICgp
ID0+IHsKLSAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0gICAgICAgIC8vIFRo
aXMgcmVzb3VyY2Ugb3ZlcmZsb3dzIHRoZSBlbnRyeSBidWZmZXIsIGFuZCBnb2VzIGludG8gdGhl
IHNlY29uZGFyeSBidWZmZXIuCi0gICAgICAgIC8vIFNpbmNlIHRoZSBidWZmZXIgc2l6ZSBkb2Vz
bid0IGluY3JlYXNlLCBpdCB3aWxsIGV2ZW50dWFsbHkgYmUgZHJvcHBlZC4KLSAgICAgICAgYXBw
ZW5kU2NyaXB0KCdyZXNvdXJjZXMvZW1wdHlfc2NyaXB0LmpzJywgcmVzb2x2ZSk7Ci0gICAgfSk7
Ci19OwotCi1sZXQgdGVzdFRoYXRCdWZmZXJDb250YWluc1RoZVJpZ2h0UmVzb3VyY2VzID0gKCkg
PT4gewotICAgIGxldCBlbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncmVz
b3VyY2UnKTsKLSAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAyLAotICAgICAgICAg
ICAgICAgICAgJ0JvdGggZW50cmllcyBzaG91bGQgYmUgc3RvcmVkIGluIHJlc291cmNlIHRpbWlu
ZyBidWZmZXIgc2luY2UgaXQgZGVjcmVhc2VkIGl0cyBsaW1pdCBvbmx5IGFmdGVyIGl0IG92ZXJm
bG93ZWQuJyk7Ci0gICAgYXNzZXJ0X3RydWUoZW50cmllc1swXS5uYW1lLmluY2x1ZGVzKCdlbXB0
eS5qcycpLCAiZW1wdHkuanMgaXMgaW4gdGhlIGVudHJpZXMgYnVmZmVyIik7Ci0gICAgYXNzZXJ0
X3RydWUoZW50cmllc1sxXS5uYW1lLmluY2x1ZGVzKCdlbXB0eS5qcz9zZWNvbmQnKSwgImVtcHR5
LmpzP3NlY29uZCBpcyBpbiB0aGUgZW50cmllcyBidWZmZXIiKTsKLX07Ci0KIHByb21pc2VfdGVz
dChhc3luYyAoKSA9PiB7Ci0gICAgYXdhaXQgZmlsbFVwVGhlQnVmZmVyV2l0aFR3b1Jlc291cmNl
cygncmVzb3VyY2VzL2VtcHR5LmpzJyk7Ci0gICAgYXdhaXQgb3ZlcmZsb3dUaGVCdWZmZXIoKTsK
LSAgICBhd2FpdCB3YWl0Rm9yRXZlbnRUb0ZpcmUoKTsKLSAgICB0ZXN0VGhhdEJ1ZmZlckNvbnRh
aW5zVGhlUmlnaHRSZXNvdXJjZXMoKTsKKyAgICBwZXJmb3JtYW5jZS5hZGRFdmVudExpc3RlbmVy
KCdyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwnLCAoKSA9PiB7CisgICAgICAgIHBlcmZvcm1hbmNl
LnNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6ZSgxKTsKKyAgICB9KTsKKyAgICBhd2FpdCBmaWxs
VXBUaGVCdWZmZXJXaXRoVHdvUmVzb3VyY2VzKCk7CisgICAgbG9hZC5zY3JpcHQoc2NyaXB0UmVz
b3VyY2VzWzJdKTsKKyAgICBhd2FpdCBidWZmZXJGdWxsRmlyZVByb21pc2U7CisgICAgY2hlY2tF
bnRyaWVzKDIpOwogfSwgIlRlc3QgdGhhdCBkZWNyZWFzaW5nIHRoZSBidWZmZXIgbGltaXQgZHVy
aW5nIHRoZSBjYWxsYmFjayBkb2VzIG5vdCBkcm9wIGVudHJpZXMiKTsKIDwvc2NyaXB0PgogPC9i
b2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5jcmVhc2UtYnVmZmVyLWR1cmluZy1j
YWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbmNyZWFzZS1idWZmZXItZHVy
aW5nLWNhbGxiYWNrLWV4cGVjdGVkLnR4dAppbmRleCBjYWFjMzc3YWYzOWQ5N2U2ODY5NGRkYmE2
OTlkYjM0OTU5YThmNGYyLi5hZTY0YTY2MDQ3MGYzMDQxNmIwMjQ1MmQ2ZDI0ZjJkMjI5NWI4NmJl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbmNyZWFzZS1idWZmZXItZHVyaW5nLWNhbGxi
YWNrLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbmNyZWFzZS1idWZmZXItZHVy
aW5nLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDUgQEAKIAotUEFTUyBUZXN0IHRo
YXQgaW5jcmVhc2luZyB0aGUgYnVmZmVyIGR1cmluZyB0aGUgY2FsbGJhY2sgaXMgZW5vdWdoIGZv
ciBlbnRyaWVzIG5vdCB0byBiZSBkcm9wcGVkCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVz
c2FnZSA9IG51bGwKKworVElNRU9VVCBUZXN0IHRoYXQgaW5jcmVhc2luZyB0aGUgYnVmZmVyIGR1
cmluZyB0aGUgY2FsbGJhY2sgaXMgZW5vdWdoIGZvciBlbnRyaWVzIG5vdCB0byBiZSBkcm9wcGVk
IFRlc3QgdGltZWQgb3V0CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluY3JlYXNlLWJ1
ZmZlci1kdXJpbmctY2FsbGJhY2suaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluY3JlYXNlLWJ1ZmZl
ci1kdXJpbmctY2FsbGJhY2suaHRtbAppbmRleCBiNDZkMmQ2NTY5MGE4ODY4MzdiOGVhNzYyMWYz
OTI2MDgxNTUyZDk3Li5kZDEyZGQ3YWZhOWJlMThiYmRlNDY0MjEyZGMwODE3Nzk2OGRhN2Q2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbmNyZWFzZS1idWZmZXItZHVyaW5nLWNhbGxiYWNr
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5jcmVhc2UtYnVmZmVyLWR1cmluZy1jYWxsYmFj
ay5odG1sCkBAIC0zLDQ2ICszLDIzIEBACiA8aGVhZCBvbmxvYWQ+CiA8bWV0YSBjaGFyc2V0PSJ1
dGYtOCIgLz4KIDx0aXRsZT5UaGlzIHRlc3QgdmFsaWRhdGVzIGluY3JlYXNpbmcgdGhlIGJ1ZmZl
ciBzaXplIGluIG9ucmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIGNhbGxiYWNrIG9mIHJlc291cmNl
IHRpbWluZy48L3RpdGxlPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9y
Zy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxsaW5r
IHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20v
IiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3Vy
Y2UtdGltaW5nLTIvI2RvbS1wZXJmb3JtYW5jZS1vbnJlc291cmNldGltaW5nYnVmZmVyZnVsbCIv
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KIDwv
aGVhZD4KIDxib2R5PgogPHNjcmlwdD4KLWNvbnN0IHJlc291cmNlX3RpbWluZ19idWZmZXJfc2l6
ZSA9IDE7Ci1sZXQgZXZlbnRGaXJlZCA9IGZhbHNlOwotCi1zZXR1cCgoKSA9PiB7Ci0gICAgLy8g
R2V0IHRoZSBicm93c2VyIGludG8gYSBjb25zaXN0ZW50IHN0YXRlLgotICAgIGNsZWFyQnVmZmVy
QW5kU2V0U2l6ZShyZXNvdXJjZV90aW1pbmdfYnVmZmVyX3NpemUpOwotICAgIHZhciBpbmNyZWFz
ZSA9IGZ1bmN0aW9uKCkgewotICAgICAgICBwZXJmb3JtYW5jZS5zZXRSZXNvdXJjZVRpbWluZ0J1
ZmZlclNpemUocmVzb3VyY2VfdGltaW5nX2J1ZmZlcl9zaXplICogMik7Ci0gICAgICAgIGV2ZW50
RmlyZWQgPSB0cnVlOwotICAgIH0KLSAgICBwZXJmb3JtYW5jZS5hZGRFdmVudExpc3RlbmVyKCdy
ZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwnLCBpbmNyZWFzZSk7Ci19KTsKLQotbGV0IG92ZXJmbG93
VGhlQnVmZmVyID0gKCkgPT4gewotICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsK
LSAgICAgICAgLy8gVGhpcyByZXNvdXJjZSBvdmVyZmxvd3MgdGhlIGVudHJ5IGJ1ZmZlciwgYW5k
IGdvZXMgaW50byB0aGUgc2Vjb25kYXJ5IGJ1ZmZlci4KLSAgICAgICAgYXBwZW5kU2NyaXB0KCdy
ZXNvdXJjZXMvZW1wdHlfc2NyaXB0LmpzJywgcmVzb2x2ZSk7Ci0gICAgfSk7Ci19OwotCi1sZXQg
dGVzdFRoYXRCdWZmZXJDb250YWluc1RoZVJpZ2h0UmVzb3VyY2VzID0gKCkgPT4gewotICAgIGxl
dCBlbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKTsKLSAg
ICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAyLAotICAgICAgICAgICAgICAgICAgJ0Jv
dGggZW50cmllcyBzaG91bGQgYmUgc3RvcmVkIGluIHJlc291cmNlIHRpbWluZyBidWZmZXIgc2lu
Y2UgaXRzIGluY3JlYXNlcyBzaXplIG9uY2UgaXQgb3ZlcmZsb3dzLicpOwotICAgIGFzc2VydF90
cnVlKGVudHJpZXNbMF0ubmFtZS5pbmNsdWRlcygnZW1wdHkuanMnKSwgImVtcHR5LmpzIGlzIGlu
IHRoZSBlbnRyaWVzIGJ1ZmZlciIpOwotICAgIGFzc2VydF90cnVlKGVudHJpZXNbMV0ubmFtZS5p
bmNsdWRlcygnZW1wdHlfc2NyaXB0LmpzJyksICJlbXB0eV9zY3JpcHQuanMgaXMgaW4gdGhlIGVu
dHJpZXMgYnVmZmVyIik7Ci19OwotCiBwcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4gewotICAgIGF3
YWl0IGZpbGxVcFRoZUJ1ZmZlcldpdGhTaW5nbGVSZXNvdXJjZSgicmVzb3VyY2VzL2VtcHR5Lmpz
Iik7Ci0gICAgYXdhaXQgb3ZlcmZsb3dUaGVCdWZmZXIoKTsKLSAgICBhd2FpdCB3YWl0Rm9yRXZl
bnRUb0ZpcmUoKTsKLSAgICB0ZXN0VGhhdEJ1ZmZlckNvbnRhaW5zVGhlUmlnaHRSZXNvdXJjZXMo
KTsKKyAgICBhd2FpdCBmaWxsVXBUaGVCdWZmZXJXaXRoU2luZ2xlUmVzb3VyY2UoKTsKKyAgICBw
ZXJmb3JtYW5jZS5hZGRFdmVudExpc3RlbmVyKCdyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwnLCAo
KSA9PiB7CisgICAgICAgIHBlcmZvcm1hbmNlLnNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6ZSgy
KTsKKyAgICB9KTsKKyAgICBhd2FpdCBsb2FkLnNjcmlwdChzY3JpcHRSZXNvdXJjZXNbMV0pOwor
ICAgIGF3YWl0IGJ1ZmZlckZ1bGxGaXJlUHJvbWlzZTsKKyAgICBjaGVja0VudHJpZXMoMik7CiB9
LCAiVGVzdCB0aGF0IGluY3JlYXNpbmcgdGhlIGJ1ZmZlciBkdXJpbmcgdGhlIGNhbGxiYWNrIGlz
IGVub3VnaCBmb3IgZW50cmllcyBub3QgdG8gYmUgZHJvcHBlZCIpOwogPC9zY3JpcHQ+CiA8L2Jv
ZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbnNwZWN0LWJ1ZmZlci1kdXJpbmctY2Fs
bGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5zcGVjdC1idWZmZXItZHVyaW5n
LWNhbGxiYWNrLWV4cGVjdGVkLnR4dAppbmRleCBmMGM0ZWZhMDMwOGNjOTkzOTdlNDliNGJlNTdi
Y2ZjNzRlNWZkNTJmLi43YTBlNjk3ZDRhZTAyMGMzNzlkNDQ2M2E0ZTQ3ZDFjOTg4MWVkMzMxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbnNwZWN0LWJ1ZmZlci1kdXJpbmctY2FsbGJhY2st
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluc3BlY3QtYnVmZmVyLWR1cmluZy1j
YWxsYmFjay1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw1IEBACiAKLVBBU1MgVGVzdCB0aGF0IGVu
dHJpZXMgaW4gdGhlIHNlY29uZGFyeSBidWZmZXIgYXJlIG5vdCBleHBvc2VkIGR1cmluZyB0aGUg
Y2FsbGJhY2sgYW5kIGJlZm9yZSB0aGV5IGFyZSBjb3BpZWQgdG8gdGhlIHByaW1hcnkgYnVmZmVy
CitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBUZXN0
IHRoYXQgZW50cmllcyBpbiB0aGUgc2Vjb25kYXJ5IGJ1ZmZlciBhcmUgbm90IGV4cG9zZWQgZHVy
aW5nIHRoZSBjYWxsYmFjayBhbmQgYmVmb3JlIHRoZXkgYXJlIGNvcGllZCB0byB0aGUgcHJpbWFy
eSBidWZmZXIgVGVzdCB0aW1lZCBvdXQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5z
cGVjdC1idWZmZXItZHVyaW5nLWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbnNwZWN0
LWJ1ZmZlci1kdXJpbmctY2FsbGJhY2suaHRtbAppbmRleCBkNDZkNDY5MmE1NWI5Y2JlZjFhYTVm
ODgyZjM4ODg3ZTFmNzk0MGU5Li5kNWNjOGU2ZWNkOGQxMTMwNDExYjRlYmRkYWRmZGZlNmM3ODMy
ZDg3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbnNwZWN0LWJ1ZmZlci1kdXJpbmctY2Fs
bGJhY2suaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbnNwZWN0LWJ1ZmZlci1kdXJpbmctY2Fs
bGJhY2suaHRtbApAQCAtMyw1MyArMywyNyBAQAogPGhlYWQgb25sb2FkPgogPG1ldGEgY2hhcnNl
dD0idXRmLTgiIC8+CiA8dGl0bGU+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUgYnVmZmVyIGRvZXNu
J3QgY29udGFpbiBtb3JlIGVudHJpZXMgdGhhbiBpdCBzaG91bGQgaW5zaWRlIG9ucmVzb3VyY2V0
aW1pbmdidWZmZXJmdWxsIGNhbGxiYWNrLjwvdGl0bGU+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9
Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jcGVyZm9ybWFuY2VyZXNvdXJj
ZXRpbWluZyIvPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6
Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3
LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmctMi8jZG9tLXBlcmZvcm1hbmNlLXNldHJlc291cmNl
dGltaW5nYnVmZmVyc2l6ZSIvPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVz
LmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPHNjcmlwdD4KLWxldCByZXNvdXJjZV90
aW1pbmdfYnVmZmVyX3NpemUgPSAyOwotbGV0IGV2ZW50RmlyZWQgPSBmYWxzZTsKLQotc2V0dXAo
KCkgPT4gewotICAgIGNsZWFyQnVmZmVyQW5kU2V0U2l6ZShyZXNvdXJjZV90aW1pbmdfYnVmZmVy
X3NpemUpOwotICAgIHZhciByZXNpemUgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgYXNzZXJ0X2Vx
dWFscyhwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJyZXNvdXJjZSIpLmxlbmd0aCwgcmVz
b3VyY2VfdGltaW5nX2J1ZmZlcl9zaXplLCAicmVzb3VyY2UgdGltaW5nIGJ1ZmZlciBpbiByZXNv
dXJjZXRpbWluZ2J1ZmZlcmZ1bGwgaXMgdGhlIHNpemUgb2YgdGhlIGxpbWl0Iik7Ci0gICAgICAg
ICsrcmVzb3VyY2VfdGltaW5nX2J1ZmZlcl9zaXplOwotICAgICAgICBwZXJmb3JtYW5jZS5zZXRS
ZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUocmVzb3VyY2VfdGltaW5nX2J1ZmZlcl9zaXplKTsKLSAg
ICAgICAgeGhyU2NyaXB0KCJyZXNvdXJjZXMvZW1wdHkuanM/eGhyIik7Ci0gICAgICAgIGFzc2Vy
dF9lcXVhbHMocGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgicmVzb3VyY2UiKS5sZW5ndGgs
IHJlc291cmNlX3RpbWluZ19idWZmZXJfc2l6ZSAtIDEsICJBIHN5bmMgcmVxdWVzdCB3YXMgbm90
IGFkZGVkIHRvIHRoZSBwcmltYXJ5IGJ1ZmZlciBqdXN0IHlldCwgYmVjYXVzZSBpdCBpcyBmdWxs
Iik7Ci0gICAgICAgICsrcmVzb3VyY2VfdGltaW5nX2J1ZmZlcl9zaXplOwotICAgICAgICBwZXJm
b3JtYW5jZS5zZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUocmVzb3VyY2VfdGltaW5nX2J1ZmZl
cl9zaXplKTsKLSAgICAgICAgZXZlbnRGaXJlZCA9IHRydWU7Ci0gICAgfQotICAgIHBlcmZvcm1h
bmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc291cmNldGltaW5nYnVmZmVyZnVsbCcsIHJlc2l6ZSk7
Ci19KTsKLQotbGV0IG92ZXJmbG93VGhlQnVmZmVyID0gKCkgPT4gewotICAgIHJldHVybiBuZXcg
UHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgICAgLy8gVGhpcyByZXNvdXJjZSBvdmVyZmxvd3Mg
dGhlIGVudHJ5IGJ1ZmZlciwgYW5kIGdvZXMgaW50byB0aGUgc2Vjb25kYXJ5IGJ1ZmZlci4KLSAg
ICAgICAgYXBwZW5kU2NyaXB0KCdyZXNvdXJjZXMvZW1wdHlfc2NyaXB0LmpzJywgcmVzb2x2ZSk7
Ci0gICAgfSk7Ci19OwotCi1sZXQgdGVzdFRoYXRCdWZmZXJDb250YWluc1RoZVJpZ2h0UmVzb3Vy
Y2VzID0gKCkgPT4gewotICAgIGxldCBlbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5
VHlwZSgncmVzb3VyY2UnKTsKLSAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCByZXNv
dXJjZV90aW1pbmdfYnVmZmVyX3NpemUsCi0gICAgICAgICAgICAgICAgICAnQWxsIDQgZW50cmll
cyBzaG91bGQgYmUgc3RvcmVkIGluIHJlc291cmNlIHRpbWluZyBidWZmZXIuJyk7Ci0gICAgYXNz
ZXJ0X3RydWUoZW50cmllc1swXS5uYW1lLmluY2x1ZGVzKCdlbXB0eS5qcycpLCAiZW1wdHkuanMg
aXMgaW4gdGhlIGVudHJpZXMgYnVmZmVyIik7Ci0gICAgYXNzZXJ0X3RydWUoZW50cmllc1sxXS5u
YW1lLmluY2x1ZGVzKCdlbXB0eS5qcz9zZWNvbmQnKSwgImVtcHR5LmpzP3NlY29uZCBpcyBpbiB0
aGUgZW50cmllcyBidWZmZXIiKTsKLSAgICBhc3NlcnRfdHJ1ZShlbnRyaWVzWzJdLm5hbWUuaW5j
bHVkZXMoJ2VtcHR5X3NjcmlwdC5qcycpLCAiZW1wdHlfc2NyaXB0LmpzIGlzIGluIHRoZSBlbnRy
aWVzIGJ1ZmZlciIpOwotICAgIGFzc2VydF90cnVlKGVudHJpZXNbM10ubmFtZS5pbmNsdWRlcygn
ZW1wdHkuanM/eGhyJyksICJlbXB0eS5qcz94aHIgaXMgaW4gdGhlIGVudHJpZXMgYnVmZmVyIik7
Ci19OwotCi1wcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4gewotICAgIGF3YWl0IGZpbGxVcFRoZUJ1
ZmZlcldpdGhUd29SZXNvdXJjZXMoJ3Jlc291cmNlcy9lbXB0eS5qcycpOwotICAgIGF3YWl0IG92
ZXJmbG93VGhlQnVmZmVyKCk7Ci0gICAgYXdhaXQgd2FpdEZvckV2ZW50VG9GaXJlKCk7Ci0gICAg
dGVzdFRoYXRCdWZmZXJDb250YWluc1RoZVJpZ2h0UmVzb3VyY2VzKCk7Citwcm9taXNlX3Rlc3Qo
YXN5bmMgdCA9PiB7CisgICAgcGVyZm9ybWFuY2UuYWRkRXZlbnRMaXN0ZW5lcigncmVzb3VyY2V0
aW1pbmdidWZmZXJmdWxsJywgdC5zdGVwX2Z1bmMoKCkgPT4geworICAgICAgICBhc3NlcnRfZXF1
YWxzKHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoInJlc291cmNlIikubGVuZ3RoLCAxLAor
ICAgICAgICAgICAgInJlc291cmNlIHRpbWluZyBidWZmZXIgaW4gcmVzb3VyY2V0aW1pbmdidWZm
ZXJmdWxsIGlzIHRoZSBzaXplIG9mIHRoZSBsaW1pdCIpOworICAgICAgICBsb2FkLnhocl9zeW5j
KHNjcmlwdFJlc291cmNlc1syXSk7CisgICAgICAgIHBlcmZvcm1hbmNlLnNldFJlc291cmNlVGlt
aW5nQnVmZmVyU2l6ZSgzKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5nZXRF
bnRyaWVzQnlUeXBlKCJyZXNvdXJjZSIpLmxlbmd0aCwgMSwKKyAgICAgICAgICAgICJBIHN5bmMg
cmVxdWVzdCBtdXN0IG5vdCBiZSBhZGRlZCB0byB0aGUgcHJpbWFyeSBidWZmZXIganVzdCB5ZXQs
IGJlY2F1c2UgaXQgaXMgZnVsbCIpOworICAgIH0pKTsKKyAgICBhd2FpdCBmb3JjZUJ1ZmZlckZ1
bGxFdmVudCgpOworICAgIGF3YWl0IHdhaXRGb3JOZXh0VGFzaygpOworICAgIGNoZWNrRW50cmll
cygzKTsKIH0sICJUZXN0IHRoYXQgZW50cmllcyBpbiB0aGUgc2Vjb25kYXJ5IGJ1ZmZlciBhcmUg
bm90IGV4cG9zZWQgZHVyaW5nIHRoZSBjYWxsYmFjayBhbmQgYmVmb3JlIHRoZXkgYXJlIGNvcGll
ZCB0byB0aGUgcHJpbWFyeSBidWZmZXIiKTsKIDwvc2NyaXB0PgogPC9ib2R5PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvYnVmZmVyLWZ1bGwtc2V0LXRvLWN1cnJlbnQtYnVmZmVyLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2J1ZmZlci1mdWxsLXNldC10by1jdXJyZW50LWJ1ZmZlci1leHBlY3RlZC50eHQKaW5kZXggOGMz
NTY5ZDY1ODg5ZDM0ZDA3OGRjYTk2N2ZiNTNmYzlkYWE4NTQ2Yy4uZWUyZDA3NjNjY2E4MTI4OGZh
NmRlMzkxZGY3NzY3MjFkNzI4ZGE3MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc2V0LXRv
LWN1cnJlbnQtYnVmZmVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zZXQtdG8t
Y3VycmVudC1idWZmZXItZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNSBAQAogCi1QQVNTIFRlc3Qg
dGhhdCBlbnRyaWVzIGFkZGVkIGFuZCBldmVudCBmaXJpbmcgaGFwcGVuZWQgaW4gdGhlIHJpZ2h0
IHNlcXVlbmNlCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElN
RU9VVCBUZXN0IHRoYXQgYWRkaW5nIGVudHJpZXMgYW5kIGZpcmluZyB0aGUgYnVmZmVyIGZ1bGwg
ZXZlbnQgaGFwcGVuIGluIHRoZSByaWdodCBvcmRlci4gVGVzdCB0aW1lZCBvdXQKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvYnVmZmVyLWZ1bGwtc2V0LXRvLWN1cnJlbnQtYnVmZmVyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZm
ZXItZnVsbC1zZXQtdG8tY3VycmVudC1idWZmZXIuaHRtbAppbmRleCAxZTU0ODZlYzJjZGZjNDQy
ODc2YmExZjViMmM1MjQ5ODVlNzBlNWI1Li5kYzUyN2I5YTMyZjUxNDlmZGU0YmU4NmQzYjJhZTVk
ODFmZDJkNGM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zZXQtdG8tY3VycmVudC1idWZm
ZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zZXQtdG8tY3VycmVudC1idWZmZXIuaHRtbApA
QCAtMiw4MSArMiwzMyBAQAogPGh0bWw+CiA8aGVhZD4KIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4K
LTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Jlc291cmNlLXRp
bWluZy8jZG9tLXBlcmZvcm1hbmNlLXNldHJlc291cmNldGltaW5nYnVmZmVyc2l6ZSI+CiA8dGl0
bGU+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHNldFJlc291cmNlVGltaW5nQnVmZmVyRnVsbCBi
ZWhhdmVzIGFwcHJvcHJpYXRlbHkgd2hlbiBzZXQgdG8gdGhlIGN1cnJlbnQgYnVmZmVyIGxldmVs
LjwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDov
L3d3dy5nb29nbGUuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cu
dzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNkb20tcGVyZm9ybWFuY2Utb25yZXNvdXJjZXRp
bWluZ2J1ZmZlcmZ1bGwiPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpz
Ij48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPHNjcmlwdD4KLWxldCBldmVudEZpcmVkID0g
ZmFsc2U7Ci0KLWxldCBsb2FkUmFuZG9tUmVzb3VyY2UgPSAoKSA9PiB7Ci0gICAgcmV0dXJuIGZl
dGNoKHdpbmRvdy5sb2NhdGlvbi5ocmVmICsgIj8iICsgTWF0aC5yYW5kb20oKSk7Ci19OwotCi1z
ZXR1cCgoKSA9PiB7Ci0gICAgLy8gR2V0IHRoZSBicm93c2VyIGludG8gYSBjb25zaXN0ZW50IHN0
YXRlLgotICAgIGNsZWFyQnVmZmVyQW5kU2V0U2l6ZSgxMDApOwotICAgIHdpbmRvdy5yZXN1bHQg
PSAiIjsKLX0pOwotCi1sZXQgZmlsbFVwVGhlQnVmZmVyID0gKCkgPT4gewotICAgIHJldHVybiBu
ZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgICAgLy8gR2F0aGVyIHVwIDMgUmVzb3VyY2Ug
RW50cmllcyB0byBraWNrIG9mZiB0aGUgcmVzdCBvZiB0ZXN0IGJlaGF2aW9yLgotICAgICAgICBs
ZXQgcmVzb3VyY2VzID0gMDsKLSAgICAgICAgbGV0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNl
T2JzZXJ2ZXIobGlzdCA9PiB7Ci0gICAgICAgICAgICByZXNvdXJjZXMgKz0gbGlzdC5nZXRFbnRy
aWVzQnlUeXBlKCJyZXNvdXJjZSIpLmxlbmd0aDsKLSAgICAgICAgICAgIGlmIChyZXNvdXJjZXMg
IT09IDMpCi0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgb2JzZXJ2ZXIuZGlz
Y29ubmVjdCgpOwotICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICB9KTsKLSAgICAgICAg
b2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJyZXNvdXJjZSJdfSk7Ci0gICAgICAgIGZv
ciAobGV0IGkgPSAwOyBpIDwgMzsgKytpKQotICAgICAgICAgICAgbG9hZFJhbmRvbVJlc291cmNl
KCk7Ci0gICAgfSk7Ci19OwotCi1sZXQgc2V0QnVmZmVyU2l6ZSA9ICgpID0+IHsKLSAgICBwZXJm
b3JtYW5jZS5vbnJlc291cmNldGltaW5nYnVmZmVyZnVsbCA9ICgpID0+IHsKLSAgICAgICAgZXZl
bnRGaXJlZCA9IHRydWU7Ci0gICAgICAgIHdpbmRvdy5yZXN1bHQgKz0gIkV2ZW50IEZpcmVkIHdp
dGggIiAgKyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJyZXNvdXJjZSIpLmxlbmd0aCAr
ICIgZW50cmllcy4gIjsKK3Byb21pc2VfdGVzdChhc3luYyAoKSA9PiB7CisgICAgbGV0IHJlc3Vs
dCA9ICcnOworICAgIHBlcmZvcm1hbmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc291cmNldGltaW5n
YnVmZmVyZnVsbCcsICgpID0+IHsKKyAgICAgICAgcmVzdWx0ICs9ICdFdmVudCBGaXJlZCB3aXRo
ICcgICsKKyAgICAgICAgICAgIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNl
JykubGVuZ3RoICsgJyBlbnRyaWVzLic7CiAgICAgICAgIHBlcmZvcm1hbmNlLmNsZWFyUmVzb3Vy
Y2VUaW1pbmdzKCk7Ci0gICAgfTsKLSAgICB3aW5kb3cucmVzdWx0ICs9ICJiZWZvcmUgc2V0TGlt
aXQoMykuICI7Ci0gICAgcGVyZm9ybWFuY2Uuc2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKDMp
OwotICAgIHdpbmRvdy5yZXN1bHQgKz0gImFmdGVyIHNldExpbWl0KDMpLiAiOwotfTsKLQotbGV0
IG92ZXJmbG93VGhlQnVmZmVyID0gKCkgPT4gewotICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNv
bHZlID0+IHsKLSAgICAgICAgbG9hZFJhbmRvbVJlc291cmNlKCkudGhlbigoKSA9PiB7Ci0gICAg
ICAgICAgICB3aW5kb3cucmVzdWx0ICs9ICJhZnRlciBsb2FkaW5nIDR0aCByZXNvdXJjZS4gIjsK
LSAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgfSk7CiAgICAgfSk7Ci19OwotCi1sZXQg
Y2hlY2tSZXN1bHQgPSAoKSA9PiB7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCBy
ZWplY3QpID0+IHsKLSAgICAgICAgaWYgKHdpbmRvdy5yZXN1bHQgIT0gImJlZm9yZSBzZXRMaW1p
dCgzKS4gYWZ0ZXIgc2V0TGltaXQoMykuIGFmdGVyIGxvYWRpbmcgNHRoIHJlc291cmNlLiBFdmVu
dCBGaXJlZCB3aXRoIDMgZW50cmllcy4gIikgewotICAgICAgICAgICAgcmVqZWN0KCJOb24gbWF0
Y2hpbmcgdmFsdWU6ICIgKyB3aW5kb3cucmVzdWx0KTsKLSAgICAgICAgfQotICAgICAgICBsZXQg
ZW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoInJlc291cmNlIik7Ci0gICAg
ICAgIGlmIChlbnRyaWVzLmxlbmd0aCAhPSAxKSB7Ci0gICAgICAgICAgICByZWplY3QoIk51bWJl
ciBvZiBlbnRyaWVzIGluIHJlc291cmNlIHRpbWluZyBidWZmZXIgaXMgdW5leHBlY3RlZDogIiAr
IGVudHJpZXMubGVuZ3RoKTsKLSAgICAgICAgfQotICAgICAgICByZXNvbHZlKCk7Ci0gICAgfSk7
Ci19OwotCi1wcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4gewotICAgIGF3YWl0IGZpbGxVcFRoZUJ1
ZmZlcigpOwotICAgIHNldEJ1ZmZlclNpemUoKTsKLSAgICBhd2FpdCBvdmVyZmxvd1RoZUJ1ZmZl
cigpOwotICAgIGF3YWl0IHdhaXRGb3JFdmVudFRvRmlyZSgpOwotICAgIGF3YWl0IGNoZWNrUmVz
dWx0KCk7Ci19LCAiVGVzdCB0aGF0IGVudHJpZXMgYWRkZWQgYW5kIGV2ZW50IGZpcmluZyBoYXBw
ZW5lZCBpbiB0aGUgcmlnaHQgc2VxdWVuY2UiKTsKKyAgICByZXN1bHQgKz0gJ0JlZm9yZSBhZGRp
bmcgZW50cmllcy4gJzsKKyAgICBhd2FpdCBmaWxsVXBUaGVCdWZmZXJXaXRoVHdvUmVzb3VyY2Vz
KCk7CisgICAgcmVzdWx0ICs9ICdBZnRlciBhZGRpbmcgZW50cmllcy4gJzsKKyAgICBsb2FkLnNj
cmlwdChzY3JpcHRSZXNvdXJjZXNbMl0pOworICAgIGF3YWl0IGJ1ZmZlckZ1bGxGaXJlUHJvbWlz
ZTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwgJ0JlZm9yZSBhZGRpbmcgZW50cmllcy4gQWZ0
ZXIgYWRkaW5nIGVudHJpZXMuIEV2ZW50IEZpcmVkIHdpdGggMiBlbnRyaWVzLicpOworICAgIGNv
bnN0IGVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdyZXNvdXJjZScpOwor
ICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsCisgICAgICAgICdOdW1iZXIgb2Yg
ZW50cmllcyBpbiByZXNvdXJjZSB0aW1pbmcgYnVmZmVyIGlzIHVuZXhwZWN0ZWQnKTsKKyAgICBh
c3NlcnRfdHJ1ZShlbnRyaWVzWzBdLm5hbWUuaW5jbHVkZXMoc2NyaXB0UmVzb3VyY2VzWzJdKSwK
KyAgICAgICAgJ1RoZSBlbnRyeSBtdXN0IGNvcnJlc3BvbmQgdG8gdGhlIGxhc3QgcmVzb3VyY2Ug
bG9hZGVkLicpCit9LCAiVGVzdCB0aGF0IGFkZGluZyBlbnRyaWVzIGFuZCBmaXJpbmcgdGhlIGJ1
ZmZlciBmdWxsIGV2ZW50IGhhcHBlbiBpbiB0aGUgcmlnaHQgb3JkZXIuIik7CiA8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXN0b3JlLWFuZC1jbGVhci1kdXJpbmctY2FsbGJh
Y2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc3RvcmUtYW5kLWNsZWFyLWR1cmluZy1j
YWxsYmFjay1leHBlY3RlZC50eHQKaW5kZXggYmYyNzU1ZmM0Mjg4MmEyNTE3Y2JkNGRiMzQxZDU1
ZjUxYzYyNjI2ZS4uMzdmMGNmMTk5ZTk0MjdkYzdhODczMGFlNjM5NzQ0NTQ0NTgwMzc1MyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc3RvcmUtYW5kLWNsZWFyLWR1cmluZy1jYWxsYmFjay1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc3RvcmUtYW5kLWNsZWFyLWR1cmluZy1j
YWxsYmFjay1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw1IEBACiAKLVBBU1MgVGVzdCB0aGF0IGVu
dHJpZXMgb3ZlcmZsb3dpbmcgdGhlIGJ1ZmZlciB0cmlnZ2VyIHRoZSBidWZmZXIgZnVsbCBldmVu
dCwgY2FuIGJlIHN0b3JlZCwgYW5kIGZpbmQgdGhlbXNlbHZlcyBpbiB0aGUgcHJpbWFyeSBidWZm
ZXIgYWZ0ZXIgaXQncyBjbGVhcmVkLgorSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2Ug
PSBudWxsCisKK1RJTUVPVVQgVGVzdCB0aGF0IGVudHJpZXMgb3ZlcmZsb3dpbmcgdGhlIGJ1ZmZl
ciB0cmlnZ2VyIHRoZSBidWZmZXIgZnVsbCBldmVudCwgY2FuIGJlIHN0b3JlZCwgYW5kIG1ha2Ug
dGhlaXIgd2F5IHRvIHRoZSBwcmltYXJ5IGJ1ZmZlciBhZnRlciBpdCdzIGNsZWFyZWQgaW4gdGhl
IGJ1ZmZlciBmdWxsIGV2ZW50LiBUZXN0IHRpbWVkIG91dAogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZm
ZXItZnVsbC1zdG9yZS1hbmQtY2xlYXItZHVyaW5nLWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXIt
ZnVsbC1zdG9yZS1hbmQtY2xlYXItZHVyaW5nLWNhbGxiYWNrLmh0bWwKaW5kZXggZjA3OTFjYmE2
YjM5ZmI0YjdlMWFmMDkwNzc3NzJmMWVlM2I0Mjc0NC4uM2VhMDU3NzI1NmM4NWIzNTQ1MzM1OGQx
OGM5NzBlNGZiMzA0NWM0YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc3RvcmUtYW5kLWNs
ZWFyLWR1cmluZy1jYWxsYmFjay5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXN0b3JlLWFuZC1j
bGVhci1kdXJpbmctY2FsbGJhY2suaHRtbApAQCAtNCw1MiArNCwzMyBAQAogPG1ldGEgY2hhcnNl
dD0idXRmLTgiIC8+CiA8dGl0bGU+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUgYmVoYXZpb3Igb2Yg
cmVhZCBhbmQgY2xlYXIgb3BlcmF0aW9uIGluIG9ucmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIGNh
bGxiYWNrIG9mIHJlc291cmNlIHRpbWluZy48L3RpdGxlPgogPGxpbmsgcmVsPSJhdXRob3IiIHRp
dGxlPSJJbnRlbCIgaHJlZj0iaHR0cDovL3d3dy5pbnRlbC5jb20vIiAvPgotPGxpbmsgcmVsPSJo
ZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1h
bmNlcmVzb3VyY2V0aW1pbmciLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cu
dzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNkb20tcGVyZm9ybWFuY2Utb25yZXNvdXJjZXRp
bWluZ2J1ZmZlcmZ1bGwiLz4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2J1ZmZlci1mdWxsLXV0aWxpdGllcy5q
cyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+Ci1jb25zdCByZXNvdXJjZV90
aW1pbmdfYnVmZmVyX3NpemUgPSAxOwotbGV0IGdsb2JhbF9idWZmZXIgPSBbXTsKLWxldCBldmVu
dEZpcmVkID0gZmFsc2U7Ci0KLXNldHVwKCgpID0+IHsKLSAgICBjbGVhckJ1ZmZlckFuZFNldFNp
emUocmVzb3VyY2VfdGltaW5nX2J1ZmZlcl9zaXplKTsKLSAgICBsZXQgc3RvcmVfYW5kX2NsZWFy
ID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgIGNvbnN0IGVudHJ5TGlzdCA9IHBlcmZvcm1hbmNlLmdl
dEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7Ci0gICAgICAgIGVudHJ5TGlzdC5mb3JFYWNoKGZ1
bmN0aW9uIChlbnRyeSkgewotICAgICAgICAgICAgZ2xvYmFsX2J1ZmZlci5wdXNoKGVudHJ5KTsK
LSAgICAgICAgfSk7Ci0gICAgICAgIHBlcmZvcm1hbmNlLmNsZWFyUmVzb3VyY2VUaW1pbmdzKCk7
Ci0gICAgICAgIGV2ZW50RmlyZWQgPSB0cnVlOwotICAgIH0KLSAgICBwZXJmb3JtYW5jZS5hZGRF
dmVudExpc3RlbmVyKCdyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwnLCBzdG9yZV9hbmRfY2xlYXIp
OwotfSk7Ci0KLWxldCBvdmVyZmxvd1RoZUJ1ZmZlciA9ICgpID0+IHsKLSAgICByZXR1cm4gbmV3
IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0gICAgICAgIC8vIFRoaXMgcmVzb3VyY2Ugb3ZlcmZsb3dz
IHRoZSBlbnRyeSBidWZmZXIsIGFuZCBnb2VzIGludG8gdGhlIHNlY29uZGFyeSBidWZmZXIuCi0g
ICAgICAgIGFwcGVuZFNjcmlwdCgncmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5qcycsIHJlc29sdmUp
OworcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAgICBhd2FpdCBmaWxsVXBUaGVCdWZmZXJX
aXRoU2luZ2xlUmVzb3VyY2UoKTsKKyAgICBjb25zdCBlbnRyeUJ1ZmZlciA9IFtdOworICAgIHBl
cmZvcm1hbmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc291cmNldGltaW5nYnVmZmVyZnVsbCcsICgp
ID0+IHsKKyAgICAgIGVudHJ5QnVmZmVyLnB1c2goLi4ucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5
VHlwZSgncmVzb3VyY2UnKSk7CisgICAgICBwZXJmb3JtYW5jZS5jbGVhclJlc291cmNlVGltaW5n
cygpOwogICAgIH0pOwotfTsKLQotbGV0IHRlc3RUaGF0QnVmZmVyQ29udGFpbnNUaGVSaWdodFJl
c291cmNlcyA9ICgpID0+IHsKLSAgICBsZXQgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeVR5cGUoJ3Jlc291cmNlJyk7CisgICAgbG9hZC5zY3JpcHQoc2NyaXB0UmVzb3VyY2VzWzFd
KTsKKyAgICBhd2FpdCBidWZmZXJGdWxsRmlyZVByb21pc2U7CisgICAgY29uc3QgZW50cmllcyA9
IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7CiAgICAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzLmxlbmd0aCwgMSwKLSAgICAgICAgICAgICAgICAgICJPbmx5IHRoZSBsYXN0
IGVudHJ5IHNob3VsZCBiZSBzdG9yZWQgaW4gcmVzb3VyY2UgdGltaW5nIGJ1ZmZlciBzaW5jZSBp
dCdzIGNsZWFyZWQgb25jZSBpdCBvdmVyZmxvd3MuIik7Ci0gICAgYXNzZXJ0X2VxdWFscyhnbG9i
YWxfYnVmZmVyLmxlbmd0aCwgMSwgJzEgcmVzb3VyY2UgdGltaW5nIGVudHJ5IHNob3VsZCBiZSBt
b3ZlZCB0byBnbG9iYWwgYnVmZmVyLicpOwotICAgIGFzc2VydF90cnVlKGdsb2JhbF9idWZmZXJb
MF0ubmFtZS5pbmNsdWRlcygnZW1wdHkuanMnKSwgImVtcHR5LmpzIGlzIGluIHRoZSBnbG9iYWwg
YnVmZmVyIik7Ci0gICAgYXNzZXJ0X3RydWUoZW50cmllc1swXS5uYW1lLmluY2x1ZGVzKCdlbXB0
eV9zY3JpcHQuanMnKSwgImVtcHR5X3NjcmlwdC5qcyBpcyBpbiB0aGUgZW50cmllcyBidWZmZXIi
KTsKLX07Ci0KLXByb21pc2VfdGVzdChhc3luYyAoKSA9PiB7Ci0gICAgYXdhaXQgZmlsbFVwVGhl
QnVmZmVyV2l0aFNpbmdsZVJlc291cmNlKCJyZXNvdXJjZXMvZW1wdHkuanMiKTsKLSAgICBhd2Fp
dCBvdmVyZmxvd1RoZUJ1ZmZlcigpOwotICAgIGF3YWl0IHdhaXRGb3JFdmVudFRvRmlyZSgpOwot
ICAgIHRlc3RUaGF0QnVmZmVyQ29udGFpbnNUaGVSaWdodFJlc291cmNlcygpOwotfSwgIlRlc3Qg
dGhhdCBlbnRyaWVzIG92ZXJmbG93aW5nIHRoZSBidWZmZXIgdHJpZ2dlciB0aGUgYnVmZmVyIGZ1
bGwgZXZlbnQsIGNhbiBiZSBzdG9yZWQsIGFuZCBmaW5kIHRoZW1zZWx2ZXMgaW4gdGhlIHByaW1h
cnkgYnVmZmVyIGFmdGVyIGl0J3MgY2xlYXJlZC4iKTsKKyAgICAgICAgIk9ubHkgdGhlIGxhc3Qg
ZW50cnkgc2hvdWxkIGJlIHN0b3JlZCBpbiByZXNvdXJjZSB0aW1pbmcgYnVmZmVyIHNpbmNlIGl0
J3MgY2xlYXJlZCBvbmNlIGl0IG92ZXJmbG93cy4iKTsKKyAgICBhc3NlcnRfdHJ1ZShlbnRyaWVz
WzBdLm5hbWUuaW5jbHVkZXMoc2NyaXB0UmVzb3VyY2VzWzFdKSwKKyAgICAgICAgc2NyaXB0UmVz
b3VyY2VzWzFdICArICIgaXMgaW4gdGhlIGVudHJpZXMgYnVmZmVyIik7CisgICAgYXNzZXJ0X2Vx
dWFscyhlbnRyeUJ1ZmZlci5sZW5ndGgsIDEsCisgICAgICAgICcxIHJlc291cmNlIHRpbWluZyBl
bnRyeSBzaG91bGQgYmUgbW92ZWQgdG8gZW50cnlCdWZmZXIuJyk7CisgICAgYXNzZXJ0X3RydWUo
ZW50cnlCdWZmZXJbMF0ubmFtZS5pbmNsdWRlcyhzY3JpcHRSZXNvdXJjZXNbMF0pLAorICAgICAg
ICBzY3JpcHRSZXNvdXJjZXNbMF0gKyAnIGlzIGluIHRoZSBlbnRyeUJ1ZmZlcicpOworfSwgIlRl
c3QgdGhhdCBlbnRyaWVzIG92ZXJmbG93aW5nIHRoZSBidWZmZXIgdHJpZ2dlciB0aGUgYnVmZmVy
IGZ1bGwgZXZlbnQsIGNhbiBiZSBzdG9yZWQsIGFuZCBtYWtlIHRoZWlyIHdheSB0byB0aGUgcHJp
bWFyeSBidWZmZXIgYWZ0ZXIgaXQncyBjbGVhcmVkIGluIHRoZSBidWZmZXIgZnVsbCBldmVudC4i
KTsKIDwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1
bGwtdGhlbi1pbmNyZWFzZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1pbmNy
ZWFzZWQtZXhwZWN0ZWQudHh0CmluZGV4IGVmYmI2OTc0YmE3M2FlZDkwMGMwNWZjNTFlZmQzNzgz
NDUwODI5MTkuLjUwZmU2NmFkYWQzMGVjMzRiZWM2MWJlYjQxNmRhMzcxM2FlYTEwYjEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2J1ZmZlci1mdWxsLXRoZW4taW5jcmVhc2VkLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9idWZmZXItZnVsbC10aGVuLWluY3JlYXNlZC1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBA
CiAKLVBBU1MgVGVzdCB0aGF0IG92ZXJmbG93aW5nIHRoZSBidWZmZXIgYW5kIGltbWVkaWF0ZWx5
IGluY3JlYXNpbmcgaXRzIGxpbWl0IGRvZXMgbm90IHRyaWdnZXIgdGhlIHJlc291cmNldGltaW5n
YnVmZmVyZnVsbCBldmVudAorRkFJTCBUZXN0IHRoYXQgb3ZlcmZsb3dpbmcgdGhlIGJ1ZmZlciBh
bmQgaW1tZWRpYXRlbHkgaW5jcmVhc2luZyBpdHMgbGltaXQgZG9lcyBub3QgdHJpZ2dlciB0aGUg
cmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIGV2ZW50IGFzc2VydF9lcXVhbHM6IE51bWJlciBvZiBl
bnRyaWVzIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCB2YWx1ZS4gZXhwZWN0ZWQgMyBidXQg
Z290IDIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL2J1ZmZlci1mdWxsLXRoZW4taW5jcmVhc2VkLmh0bWwKaW5kZXggMjI2NTA3N2ZjMTVhMjc3
YzMzNTJkYTIxNWZhNWFjOGEyNzZjNjBhYS4uZGU1MTdiZjQwNWM2NmU5NGU3MmY5NDJkZTMzYWM2
YWI3MjgwN2UyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9idWZmZXItZnVsbC10aGVuLWluY3JlYXNlZC5odG1sCkBAIC0zLDQxICszLDI1
IEBACiA8aGVhZCBvbmxvYWQ+CiA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KIDx0aXRsZT5UaGlz
IHRlc3QgdmFsaWRhdGVzIHRoYXQgc3luY2hyb25vdXNseSBhZGRpbmcgZW50cmllcyBpbiBvbnJl
c291cmNldGltaW5nYnVmZmVyZnVsbCBjYWxsYmFjayByZXN1bHRzIGluIHRoZXNlIGVudHJpZXMg
YmVpbmcgcHJvcGVybHkgaGFuZGxlZC48L3RpdGxlPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJo
dHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1hbmNlcmVzb3VyY2V0
aW1pbmciLz4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8v
d3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53
My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI2RvbS1wZXJmb3JtYW5jZS1vbnJlc291cmNldGlt
aW5nYnVmZmVyZnVsbCIvPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpz
Ij48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPHNjcmlwdD4KLWNvbnN0IHJlc291cmNlX3Rp
bWluZ19idWZmZXJfc2l6ZSA9IDE7Ci0KLXNldHVwKCgpID0+IHsKLSAgICBjbGVhckJ1ZmZlckFu
ZFNldFNpemUocmVzb3VyY2VfdGltaW5nX2J1ZmZlcl9zaXplKTsKLSAgICBwZXJmb3JtYW5jZS5h
ZGRFdmVudExpc3RlbmVyKCdyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwnLCAoKSA9PiB7IGFzc2Vy
dF91bnJlYWNoZWQoInJlc291cmNldGltaW5nYnVmZmVyZnVsbCBzaG91bGQgbm90IGZpcmUiKTsg
fSk7Ci19KTsKLQotbGV0IG92ZXJmbG93VGhlQnVmZmVyID0gKCkgPT4geworcHJvbWlzZV90ZXN0
KGFzeW5jIHQgPT4geworICAgIGFkZEFzc2VydFVucmVhY2hlZEJ1ZmZlckZ1bGwodCk7CisgICAg
YXdhaXQgZmlsbFVwVGhlQnVmZmVyV2l0aFNpbmdsZVJlc291cmNlKCk7CiAgICAgLy8gVGhlc2Ug
cmVzb3VyY2VzIG92ZXJmbG93IHRoZSBlbnRyeSBidWZmZXIsIGFuZCBnbyBpbnRvIHRoZSBzZWNv
bmRhcnkgYnVmZmVyLgotICAgIHhoclNjcmlwdCgncmVzb3VyY2VzL2VtcHR5LmpzP3hocjInKTsK
LSAgICB4aHJTY3JpcHQoJ3Jlc291cmNlcy9lbXB0eS5qcz94aHIzJyk7CisgICAgbG9hZC54aHJf
c3luYyhzY3JpcHRSZXNvdXJjZXNbMV0pOworICAgIGxvYWQueGhyX3N5bmMoc2NyaXB0UmVzb3Vy
Y2VzWzJdKTsKKyAgICAvLyBJbW1lZGlhdGVseSBpbmNyZWFzZSB0aGUgc2l6ZTogdGhlIGJ1ZmZl
cmZ1bGwgZXZlbnQgc2hvdWxkIG5vdCBiZSBmaXJlZC4KICAgICBwZXJmb3JtYW5jZS5zZXRSZXNv
dXJjZVRpbWluZ0J1ZmZlclNpemUoMyk7Ci19OwotCi1sZXQgdGVzdFRoYXRCdWZmZXJDb250YWlu
c1RoZVJpZ2h0UmVzb3VyY2VzID0gKCkgPT4gewotICAgICAgICBsZXQgZW50cmllcyA9IHBlcmZv
cm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7Ci0gICAgICAgIGFzc2VydF9lcXVh
bHMoZW50cmllcy5sZW5ndGgsIDMsCi0gICAgICAgICAgICAgICAgICAgICAgJ0FsbCByZXNvdXJj
ZXMgc2hvdWxkIGJlIGluIHRoZSBidWZmZXIsIHNpbmNlIGl0cyBzaXplIHdhcyBpbmNyZWFzZWQn
KTsKLSAgICAgICAgYXNzZXJ0X3RydWUoZW50cmllc1swXS5uYW1lLmluY2x1ZGVzKCdlbXB0eS5q
cycpLCAiZW1wdHkuanM/eGhyMiBpcyBpbiB0aGUgZW50cmllcyBidWZmZXIiKTsKLSAgICAgICAg
YXNzZXJ0X3RydWUoZW50cmllc1sxXS5uYW1lLmluY2x1ZGVzKCdlbXB0eS5qcz94aHIyJyksICJl
bXB0eS5qcz94aHIzIGlzIGluIHRoZSBlbnRyaWVzIGJ1ZmZlciIpOwotICAgICAgICBhc3NlcnRf
dHJ1ZShlbnRyaWVzWzJdLm5hbWUuaW5jbHVkZXMoJ2VtcHR5LmpzP3hocjMnKSwgImVtcHR5Lmpz
P3hocjMgaXMgaW4gdGhlIGVudHJpZXMgYnVmZmVyIik7Ci19OwotCi1wcm9taXNlX3Rlc3QoYXN5
bmMgKCkgPT4gewotICAgIGF3YWl0IGZpbGxVcFRoZUJ1ZmZlcldpdGhTaW5nbGVSZXNvdXJjZSgi
cmVzb3VyY2VzL2VtcHR5LmpzIik7Ci0gICAgb3ZlcmZsb3dUaGVCdWZmZXIoKTsKICAgICBhd2Fp
dCB3YWl0Rm9yTmV4dFRhc2soKTsKLSAgICB0ZXN0VGhhdEJ1ZmZlckNvbnRhaW5zVGhlUmlnaHRS
ZXNvdXJjZXMoKTsKKyAgICBjaGVja0VudHJpZXMoMyk7CiB9LCAiVGVzdCB0aGF0IG92ZXJmbG93
aW5nIHRoZSBidWZmZXIgYW5kIGltbWVkaWF0ZWx5IGluY3JlYXNpbmcgaXRzIGxpbWl0IGRvZXMg
bm90IHRyaWdnZXIgdGhlIHJlc291cmNldGltaW5nYnVmZmVyZnVsbCBldmVudCIpOwogPC9zY3Jp
cHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC13aGVuLXBvcHVsYXRlLWVu
dHJpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtd2hlbi1wb3B1bGF0ZS1lbnRyaWVz
LWV4cGVjdGVkLnR4dAppbmRleCAzNGVjODE4NTg5ZDY1ZTkxOGEzYWI5NDM2NzI2ZDE0MjEzMTE1
ZTc2Li5mMTlmZjE4NjNkNzljOTM5MzhjMjRjOWNmNjVlMjU1YzFiZTdmYTZkIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9idWZmZXItZnVsbC13aGVuLXBvcHVsYXRlLWVudHJpZXMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL2J1ZmZlci1mdWxsLXdoZW4tcG9wdWxhdGUtZW50cmllcy1leHBlY3RlZC50eHQKQEAgLTEs
MyArMSwzIEBACiAKLVBBU1MgVGVzdCB0aGF0IGEgYnVmZmVyIGZ1bGwgZXZlbnQgZG9lcyBub3Qg
YnViYmxlIGFuZCB0aGF0IHJlc291cmNldGltaW5nYnVmZmVyZnVsbCBpcyBjYWxsZWQgb25seSBv
bmNlIHBlciBvdmVyZmxvdworRkFJTCBUZXN0IHRoYXQgYSBidWZmZXIgZnVsbCBldmVudCBkb2Vz
IG5vdCBidWJibGUgYW5kIHRoYXQgcmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIGlzIGNhbGxlZCBv
bmx5IG9uY2UgcGVyIG92ZXJmbG93IGFzc2VydF9lcXVhbHM6IE51bWJlciBvZiBlbnRyaWVzIGRv
ZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCB2YWx1ZS4gZXhwZWN0ZWQgMiBidXQgZ290IDAKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtd2hlbi1wb3B1bGF0ZS1lbnRyaWVzLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9idWZmZXItZnVsbC13aGVuLXBvcHVsYXRlLWVudHJpZXMuaHRtbAppbmRleCAwMGQyYWUwZTQ0
MjZmNDY0NGY3MGU5MjE3NTFmZmZjMzI3ZGU0NmQ2Li5mNGIxYTJlN2U3YWJiYTI1Yzc4ZTRjMWRi
ZTBiMWFiYTI5MDYxZDQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC13aGVuLXBvcHVsYXRl
LWVudHJpZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC13aGVuLXBvcHVsYXRlLWVudHJpZXMu
aHRtbApAQCAtMiw0NCArMiwyOCBAQAogPGh0bWw+CiA8aGVhZD4KIDxtZXRhIGNoYXJzZXQ9InV0
Zi04IiAvPgotPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJJbnRlbCIgaHJlZj0iaHR0cDovL3d3
dy5pbnRlbC5jb20vIiAvPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9y
Zy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KIDx0aXRs
ZT5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSBmdW5jdGlvbmFsaXR5IG9mIG9ucmVzb3VyY2V0aW1p
bmdidWZmZXJmdWxsIGluIHJlc291cmNlIHRpbWluZy48L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRo
b3IiIHRpdGxlPSJJbnRlbCIgaHJlZj0iaHR0cDovL3d3dy5pbnRlbC5jb20vIiAvPgorPGxpbmsg
cmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIv
I2RvbS1wZXJmb3JtYW5jZS1vbnJlc291cmNldGltaW5nYnVmZmVyZnVsbCIvPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJl
c291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5
PgogPHNjcmlwdD4KLWNvbnN0IHJlc291cmNlX3RpbWluZ19idWZmZXJfc2l6ZSA9IDI7Ci1sZXQg
YnVmZmVyRnVsbENvdW50ID0gMDsKLWxldCBldmVudEZpcmVkID0gZmFsc2U7Ci1zZXR1cCgoKSA9
PiB7Ci0gICAgY2xlYXJCdWZmZXJBbmRTZXRTaXplKHJlc291cmNlX3RpbWluZ19idWZmZXJfc2l6
ZSk7Citwcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4geworICAgIGxldCBidWZmZXJGdWxsQ291bnQg
PSAwOwogICAgIHBlcmZvcm1hbmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc291cmNldGltaW5nYnVm
ZmVyZnVsbCcsIGUgPT4gewogICAgICAgICBhc3NlcnRfZXF1YWxzKGUuYnViYmxlcywgZmFsc2Us
ICJFdmVudCBidWJibGVzIGF0dHJpYnV0ZSBpcyBmYWxzZSIpOwogICAgICAgICBidWZmZXJGdWxs
Q291bnQrKzsKLSAgICAgICAgZXZlbnRGaXJlZCA9IHRydWU7CiAgICAgfSk7Ci19KTsKLQotbGV0
IG92ZXJmbG93VGhlQnVmZmVyID0gKCkgPT4gewotICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNv
bHZlID0+IHsKLSAgICAgICAgLy8gVGhpcyByZXNvdXJjZSBvdmVyZmxvd3MgdGhlIGVudHJ5IGJ1
ZmZlciwgYW5kIGdvZXMgaW50byB0aGUgc2Vjb25kYXJ5IGJ1ZmZlci4KLSAgICAgICAgYXBwZW5k
U2NyaXB0KCdyZXNvdXJjZXMvZW1wdHlfc2NyaXB0LmpzJywgcmVzb2x2ZSk7Ci0gICAgfSk7Ci19
OwotCi1sZXQgdGVzdFRoYXRCdWZmZXJDb250YWluc1RoZVJpZ2h0UmVzb3VyY2VzID0gKCkgPT4g
ewotICAgIGFzc2VydF9lcXVhbHMocGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncmVzb3Vy
Y2UnKS5sZW5ndGgsIHJlc291cmNlX3RpbWluZ19idWZmZXJfc2l6ZSwgJ1RoZXJlIHNob3VsZCBv
bmx5IGJlIHxidWZmZXJTaXplfCByZXNvdXJjZSBlbnRyaWVzLicpOworICAgIGF3YWl0IGZpbGxV
cFRoZUJ1ZmZlcldpdGhUd29SZXNvdXJjZXMoKTsKKyAgICAvLyBPdmVyZmxvdyB0aGUgYnVmZmVy
CisgICAgYXdhaXQgbG9hZC5zY3JpcHQoc2NyaXB0UmVzb3VyY2VzWzJdKTsKKyAgICBhd2FpdCB3
YWl0Rm9yTmV4dFRhc2soKTsKKyAgICBjaGVja0VudHJpZXMoMik7CiAgICAgYXNzZXJ0X2VxdWFs
cyhidWZmZXJGdWxsQ291bnQsIDEsICdvbnJlc291cmNldGltaW5nYnVmZmVyZnVsbCBzaG91bGQg
aGF2ZSBiZWVuIGludm9rZWQgb25jZS4nKTsKLX07Ci0KLXByb21pc2VfdGVzdChhc3luYyAoKSA9
PiB7Ci0gICAgYXdhaXQgZmlsbFVwVGhlQnVmZmVyV2l0aFR3b1Jlc291cmNlcygncmVzb3VyY2Vz
L2VtcHR5LmpzJyk7Ci0gICAgYXdhaXQgb3ZlcmZsb3dUaGVCdWZmZXIoKTsKLSAgICBhd2FpdCB3
YWl0Rm9yRXZlbnRUb0ZpcmUoKTsKLSAgICB0ZXN0VGhhdEJ1ZmZlckNvbnRhaW5zVGhlUmlnaHRS
ZXNvdXJjZXMoKTsKIH0sICJUZXN0IHRoYXQgYSBidWZmZXIgZnVsbCBldmVudCBkb2VzIG5vdCBi
dWJibGUgYW5kIHRoYXQgcmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIGlzIGNhbGxlZCBvbmx5IG9u
Y2UgcGVyIG92ZXJmbG93Iik7CiA8L3NjcmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nv
bm5lY3Rpb24tcmV1c2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1yZXVzZS1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYjViMTU4NzJmNjM4MThjZTU1NzIzYTA1N2NkOTZjOWNkM2Q2Zjcx
NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsOCBAQAorRGVzY3JpcHRpb24KKworU2VlIHRoZSBpbmNsdWRlZCB0ZXN0IHNjcmlw
dAorCisKK1BBU1MgUGVyZm9ybWFuY2VSZXNyb3VjZVRpbWluZyBlbnRyaWVzIG5lZWQgdG8gY29u
Zm9ybSB0byB0aGUgc3BlYyB3aGVuIGEgZGlzdGluY3QgcmVzb3VyY2UgaXMgZmV0Y2hlZCBvdmVy
IGEgcGVyc2lzdGVudCBjb25uZWN0aW9uCitQQVNTIFBlcmZvcm1hbmNlUmVzcm91Y2VUaW1pbmcg
ZW50cmllcyBuZWVkIHRvIGNvbmZvcm0gdG8gdGhlIHNwZWMgd2hlbiB0aGUgcmVzb3VyY2UgaXMg
Y2FjaGUtcmV2YWxpZGF0ZWQgb3ZlciBhIHBlcnNpc3RlbnQgY29ubmVjdGlvbgorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9jb25uZWN0aW9uLXJldXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0aW9uLXJldXNlLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZTgyYjdiYzRlYTliYjFjMzkwNDdjNWY1MTg2N2RjM2EzYTQ1ZGJlYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHRtbApAQCAtMCwwICsxLDE4IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIg
Lz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmcgY29ubmVjdGlvbiByZXVzZTwvdGl0bGU+Cis8bGlu
ayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29t
LyIgLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291
cmNlLXRpbWluZy0yLyNzZWMtcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJl
c291cmNlcy9lbnRyeS1pbnZhcmlhbnRzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvY29ubmVjdGlvbi1yZXVzZS10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxwPlNlZSA8YSBocmVmPSJyZXNvdXJjZXMvY29ubmVj
dGlvbi1yZXVzZS10ZXN0LmpzIj50aGUgaW5jbHVkZWQgdGVzdAorICBzY3JpcHQ8L2E+PC9wPgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1yZXVzZS5odHRwcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9jb25uZWN0aW9uLXJldXNlLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iNWIxNTg3MmY2MzgxOGNlNTU3MjNhMDU3Y2Q5NmM5Y2QzZDZmNzE2Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1yZXVzZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw4IEBACitEZXNjcmlwdGlvbgorCitTZWUgdGhlIGluY2x1ZGVkIHRlc3Qgc2NyaXB0CisK
KworUEFTUyBQZXJmb3JtYW5jZVJlc3JvdWNlVGltaW5nIGVudHJpZXMgbmVlZCB0byBjb25mb3Jt
IHRvIHRoZSBzcGVjIHdoZW4gYSBkaXN0aW5jdCByZXNvdXJjZSBpcyBmZXRjaGVkIG92ZXIgYSBw
ZXJzaXN0ZW50IGNvbm5lY3Rpb24KK1BBU1MgUGVyZm9ybWFuY2VSZXNyb3VjZVRpbWluZyBlbnRy
aWVzIG5lZWQgdG8gY29uZm9ybSB0byB0aGUgc3BlYyB3aGVuIHRoZSByZXNvdXJjZSBpcyBjYWNo
ZS1yZXZhbGlkYXRlZCBvdmVyIGEgcGVyc2lzdGVudCBjb25uZWN0aW9uCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHR0
cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lODJiN2JjNGVhOWJiMWMzOTA0N2M1ZjUxODY3ZGMzYTNhNDVk
YmViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1yZXVzZS5odHRwcy5odG1sCkBA
IC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZyBjb25uZWN0aW9uIHJldXNl
PC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8v
d3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53
My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI3NlYy1wZXJmb3JtYW5jZXJlc291cmNldGltaW5n
Ii8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFudHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9InJlc291cmNlcy9jb25uZWN0aW9uLXJldXNlLXRlc3QuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRpb248L2gxPgorPHA+U2VlIDxhIGhyZWY9InJl
c291cmNlcy9jb25uZWN0aW9uLXJldXNlLXRlc3QuanMiPnRoZSBpbmNsdWRlZCB0ZXN0CisgIHNj
cmlwdDwvYT48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmln
aW4tc3RhcnQtZW5kLXRpbWUtd2l0aC1yZWRpcmVjdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mt
b3JpZ2luLXN0YXJ0LWVuZC10aW1lLXdpdGgtcmVkaXJlY3RzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5jYWU3MjJmYzlhMTJjNmVlNDIyN2Y0OTRiZWI2NzYzYWI0N2ZkMzhiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvY3Jvc3Mtb3JpZ2luLXN0YXJ0LWVuZC10aW1lLXdpdGgtcmVkaXJlY3RzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBWZXJpZnkgdGhhdCBjcm9zcy1vcmln
aW4gcmVzb3VyY2VzIGRvbid0IGltcGxpY2l0bHkgZXhwb3NlIHRoZWlyIHJlZGlyZWN0IHRpbWlu
Z3MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mtb3JpZ2luLXN0YXJ0LWVuZC10aW1lLXdpdGgtcmVk
aXJlY3RzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhcnQtZW5kLXRpbWUtd2l0aC1yZWRpcmVj
dHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xYjEwN2QzYWVmNzc2NGQ5Yjk2MDNlYTI2NThjZjQ2OWNmMjg1
OTgwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mtb3JpZ2luLXN0YXJ0LWVuZC10aW1lLXdp
dGgtcmVkaXJlY3RzLmh0bWwKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+VGhpcyB0ZXN0IHZh
bGlkYXRlcyB0aGUgdmFsdWVzIGluIHJlc291cmNlIHRpbWluZyBmb3IgY3Jvc3Mtb3JpZ2luCity
ZWRpcmVjdHMuPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iTm9hbSBSb3NlbnRo
YWwiIGhyZWY9Im5vYW1Ad2Via2l0Lm9yZyI+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBz
Oi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmctMi8jc2VjLXBlcmZvcm1hbmNlcmVzb3Vy
Y2V0aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFudHMuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorY29uc3Qge1JFTU9URV9PUklHSU59ID0gZ2V0X2hv
c3RfaW5mbygpOworY29uc3QgZGVsYXkgPSAyCitjb25zdCBibGFua19wYWdlID0gYC9yZXNvdXJj
ZS10aW1pbmcvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRtYDsKK2NvbnN0IGRlc3RVcmwg
PSBgL2NvbW1vbi9zbG93LXJlZGlyZWN0LnB5P2RlbGF5PSR7ZGVsYXl9JmxvY2F0aW9uPSR7UkVN
T1RFX09SSUdJTn0vJHtibGFua19wYWdlfWA7CisKK2NvbnN0IHRpbWVCZWZvcmUgPSBwZXJmb3Jt
YW5jZS5ub3coKQorYXR0cmlidXRlX3Rlc3QobG9hZC5pZnJhbWUsIGRlc3RVcmwsIGVudHJ5ID0+
IHsKKyAgICBhc3NlcnRfZXF1YWxzKGVudHJ5LnN0YXJ0VGltZSwgZW50cnkuZmV0Y2hTdGFydCwg
J3N0YXJ0VGltZSBhbmQgZmV0Y2hTdGFydCBzaG91bGQgYmUgZXF1YWwnKTsKKyAgICBhc3NlcnRf
Z3JlYXRlcl90aGFuKGVudHJ5LnN0YXJ0VGltZSwgdGltZUJlZm9yZSwgJ3N0YXJ0VGltZSBhbmQg
ZmV0Y2hTdGFydCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIHRoZSB0aW1lIGJlZm9yZSBmZXRjaGlu
ZycpOworICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdzNjL3Jlc291cmNlLXRpbWluZy9p
c3N1ZXMvMjY0CisgICAgYXNzZXJ0X2xlc3NfdGhhbihNYXRoLnJvdW5kKGVudHJ5LnN0YXJ0VGlt
ZSAtIHRpbWVCZWZvcmUpLCBkZWxheSAqIDEwMDAsICdzdGFydFRpbWUgc2hvdWxkIG5vdCBleHBv
c2UgcmVkaXJlY3QgZGVsYXlzJyk7Cit9LCAiVmVyaWZ5IHRoYXQgY3Jvc3Mtb3JpZ2luIHJlc291
cmNlcyBkb24ndCBpbXBsaWNpdGx5IGV4cG9zZSB0aGVpciByZWRpcmVjdCB0aW1pbmdzIikKKwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4t
c3RhdHVzLWNvZGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhdHVzLWNvZGVzLmh0bWwKaW5k
ZXggZThlY2U1ZmYyZmVhM2Q0ZDg1NmNkZjM3NzQ4NzBjNTkwODBhMWM0NS4uMTk3YTc2NjMzOTZl
ZjY2Yzc3NjRkNjU5OWIwMzg1NGQxMzhmMmU2MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mtb3JpZ2lu
LXN0YXR1cy1jb2Rlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1zdGF0dXMtY29kZXMuaHRt
bApAQCAtMSw2ICsxLDkgQEAKIDwhZG9jdHlwZSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzx0aXRs
ZT5SZXNvdXJjZSBUaW1pbmc6IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgYXR0cmlidXRlcyBz
aG91bGRuJ3QgY2hhbmdlCisgIGlmIHRoZSBIVFRQIHN0YXR1cyBjb2RlIGNoYW5nZXM8L3RpdGxl
PgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2Ut
dGltaW5nLTIvI3NlYy1wZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0vY29tbW9u
L2dldC1ob3N0LWluZm8uc3ViLmpzPjwvc2NyaXB0PgpAQCAtMTUsMzQgKzE4LDUzIEBACiA8c2Ny
aXB0IGlkPSJzY3JpcHRfNDA0Ij48L3NjcmlwdD4KIDxzY3JpcHQgaWQ9InNjcmlwdF81MDIiPjwv
c2NyaXB0PgogPHNjcmlwdD4KLWFzeW5jX3Rlc3QodCA9PiB7Ci0gIGxldCBkZXN0VXJsID0gZ2V0
X2hvc3RfaW5mbygpLkhUVFBfUkVNT1RFX09SSUdJTiArICcvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy8nOwotICBsZXQgc3RhdHVzQ29kZXMgPSBbJzIwMCcsICczMDcnLCAnNDA0JywgJzUwMidd
OworCitjb25zdCBsaXN0ZW5Gb3JQZXJmb3JtYW5jZUVudHJpZXMgPSBudW1fZXhwZWN0ZWQgPT4g
eworICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgbGV0IHJlc3VsdHMgPSBb
XTsKKyAgICBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihlbnRyeUxpc3QgPT4geworICAgICAgZW50
cnlMaXN0LmdldEVudHJpZXMoKS5mb3JFYWNoKGVudHJ5ID0+IHsKKyAgICAgICAgaWYgKCFlbnRy
eS5uYW1lLmluY2x1ZGVzKCJzdGF0dXMtY29kZSIpKQorICAgICAgICAgIHJldHVybjsKKworICAg
ICAgICByZXN1bHRzLnB1c2goZW50cnkpOworICAgICAgICBpZiAocmVzdWx0cy5sZW5ndGggPT0g
bnVtX2V4cGVjdGVkKSB7CisgICAgICAgICAgcmVzb2x2ZShyZXN1bHRzKTsKKyAgICAgICAgfQor
ICAgICAgfSk7CisgICAgfSkub2JzZXJ2ZSh7ZW50cnlUeXBlczogWydyZXNvdXJjZSddfSk7Cisg
IH0pOworfQorCitwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgIGNvbnN0IGRlc3RVcmwgPSBn
ZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lOICsgJy9yZXNvdXJjZS10aW1pbmcvcmVz
b3VyY2VzLyc7CisgIGNvbnN0IHN0YXR1c0NvZGVzID0gWycyMDAnLCAnMzA3JywgJzQwNCcsICc1
MDInXTsKKworICBsZXQgZXhwZWN0ZWRfZW50cnlfY291bnQgPSAwOwogICBzdGF0dXNDb2Rlcy5m
b3JFYWNoKHN0YXR1cyA9PiB7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ltZ18nICsg
c3RhdHVzKS5zcmMgPSBkZXN0VXJsICsgJ3N0YXR1cy1jb2RlLnB5P3N0YXR1cz0nICsgc3RhdHVz
OwotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY3JpcHRfJyArIHN0YXR1cykuc3JjID0g
ZGVzdFVybCArICdzdGF0dXMtY29kZS5weT9zdGF0dXM9JyArIHN0YXR1cyArICcmc2NyaXB0PTEn
OworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBpbWdfJHtzdGF0dXN9YCkuc3JjID0gYCR7
ZGVzdFVybH1zdGF0dXMtY29kZS5weT9zdGF0dXM9JHtzdGF0dXN9YDsKKyAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZChgc2NyaXB0XyR7c3RhdHVzfWApLnNyYyA9IGAke2Rlc3RVcmx9c3RhdHVz
LWNvZGUucHk/c3RhdHVzPSR7c3RhdHVzfSZzY3JpcHQ9MWA7CisgICAgZXhwZWN0ZWRfZW50cnlf
Y291bnQgKz0gMjsKICAgfSk7Ci0gIGxldCBuYW1lTWFwID0ge307Ci0gIGxldCBmaXJzdEVudHJ5
ID0gbnVsbDsKLSAgLy8gV2Ugd2lsbCBjaGVjayB0aGF0IHRoZSBub24tdGltZXN0YW1wIHZhbHVl
cyBvZiB0aGUgZW50cnkgbWF0Y2ggZm9yIGFsbCBlbnRyaWVzLgotICBjb25zdCBrZXlzID0gWydl
bnRyeVR5cGUnLCAnbmV4dEhvcFByb3RvY29sJywgJ3RyYW5zZmVyU2l6ZScsICdlbmNvZGVkQm9k
eVNpemUnLCAnZGVjb2RlZEJvZHlTaXplJ107Ci0gIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHQu
c3RlcF9mdW5jKGVudHJ5TGlzdCA9PiB7Ci0gICAgZW50cnlMaXN0LmdldEVudHJpZXMoKS5mb3JF
YWNoKGVudHJ5ID0+IHsKLSAgICAgIGlmICghZW50cnkubmFtZS5pbmNsdWRlcygic3RhdHVzLWNv
ZGUiKSkKLSAgICAgICAgcmV0dXJuOwogCi0gICAgICBuYW1lTWFwW2VudHJ5Lm5hbWVdID0gdHJ1
ZTsKLSAgICAgIGlmICghZmlyc3RFbnRyeSkgewotICAgICAgICBmaXJzdEVudHJ5ID0gZW50cnk7
Ci0gICAgICB9IGVsc2UgewotICAgICAgICBrZXlzLmZvckVhY2goa2V5ID0+IHsKLSAgICAgICAg
ICBhc3NlcnRfZXF1YWxzKGVudHJ5W2tleV0sIGZpcnN0RW50cnlba2V5XSwgYERpc2Nlcm5pYmxl
IGRpZmZlcmVuY2UgaW4gJHtrZXl9IGZvciAke2VudHJ5Lm5hbWV9YCk7Ci0gICAgICAgIH0pOwot
ICAgICAgfQotICAgIH0pOwotICAgIGlmIChPYmplY3Qua2V5cyhuYW1lTWFwKS5sZW5ndGggPT09
IDgpIHsKLSAgICAgIHQuZG9uZSgpOwotICAgIH0KLSAgfSkpLm9ic2VydmUoe2VudHJ5VHlwZXM6
IFsncmVzb3VyY2UnXX0pOworICBjb25zdCBlbnRyaWVzID0gYXdhaXQgbGlzdGVuRm9yUGVyZm9y
bWFuY2VFbnRyaWVzKGV4cGVjdGVkX2VudHJ5X2NvdW50KTsKKworICAvLyBXZSB3aWxsIGNoZWNr
IHRoYXQgdGhlIG5vbi10aW1lc3RhbXAgdmFsdWVzIG9mIHRoZSBlbnRyeSBtYXRjaCBmb3IgYWxs
CisgIC8vIGVudHJpZXMuCisgIGNvbnN0IGtleXMgPSBbCisgICAgJ2VudHJ5VHlwZScsCisgICAg
J25leHRIb3BQcm90b2NvbCcsCisgICAgJ3RyYW5zZmVyU2l6ZScsCisgICAgJ2VuY29kZWRCb2R5
U2l6ZScsCisgICAgJ2RlY29kZWRCb2R5U2l6ZScsCisgIF07CisKKyAgY29uc3QgZmlyc3QgPSBl
bnRyaWVzWzBdOworICBlbnRyaWVzLnNsaWNlKDEpLmZvckVhY2goZW50cnkgPT4geworICAgIGtl
eXMuZm9yRWFjaChhdHRyaWJ1dGUgPT4geworICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyeVthdHRy
aWJ1dGVdLCBmaXJzdFthdHRyaWJ1dGVdLAorICAgICAgICBgVGhlcmUgbXVzdCBiZSBubyBkaXNj
ZXJuaWJsZSBkaWZmZXJlbmNlIGZvciB0aGUgJHthdHRyaWJ1dGV9IGAgKworICAgICAgICBgYXR0
cmlidXRlIGJ1dCBmb3VuZCBhIGRpZmZlcmVuY2UgZm9yIHRoZSAke2VudHJ5Lm5hbWV9IHJlc291
cmNlLmApOworICB9KX0pOwogfSwgIk1ha2Ugc3VyZSBjcm9zcyBvcmlnaW4gcmVzb3VyY2UgZmV0
Y2ggZmFpbHVyZXMgd2l0aCBkaWZmZXJlbnQgc3RhdHVzIGNvZGVzIGFyZSBpbmRpc3Rpbmd1aXNo
YWJsZSIpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9kb2N1bWVudC1kb21haW4tbm8taW1w
YWN0LW9wZW5lci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9kb2N1bWVudC1kb21haW4tbm8taW1wYWN0LW9w
ZW5lci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODkyOGY3NzVlOGZiYThiYmY5NTlkMGZhZGRk
MjJlNGMxZGNiM2E1ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2RvY3VtZW50LWRvbWFpbi1uby1p
bXBhY3Qtb3BlbmVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworSGFybmVzcyBFcnJv
ciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZG9jdW1lbnQt
ZG9tYWluLW5vLWltcGFjdC1vcGVuZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2RvY3VtZW50LWRvbWFpbi1uby1pbXBh
Y3Qtb3BlbmVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjlkZjJmMjdmYTViMTk1ZjdiOTU2NzE0Y2Y4MTZh
NjFlMTgyNThiOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2RvY3VtZW50LWRvbWFpbi1uby1pbXBh
Y3Qtb3BlbmVyLmh0bWwKQEAgLTAsMCArMSwxNiBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3Qt
aW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKy8vIE9wZW4gYSBkb2N1bWVudCBvbiBv
bmUgb2YgaG9zdHMgb24gdGhlIHdlYi1wbGF0Zm9ybSB0ZXN0IGRvbWFpbiwgc28gdGhhdAorLy8g
ZG9jdW1lbnQuZG9tYWluIHdpbGwgc2V0IGEgdmFsaWQgZG9tYWluLCB0dXJuaW5nIHRoZSBmcmFt
ZSBpbnRvIGEKKy8vIGNyb3NzLW9yaWdpbiBmcmFtZS4KK2NvbnN0IHtPVEhFUl9PUklHSU59ID0g
Z2V0X2hvc3RfaW5mbygpOworY29uc3Qgb3BlbmVlID0gd2luZG93Lm9wZW4oT1RIRVJfT1JJR0lO
ICsKKyAgICAgICAgICAgICAgICIvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVudC1k
b21haW4tbm8taW1wYWN0Lmh0bWwiKTsKK2ZldGNoX3Rlc3RzX2Zyb21fd2luZG93KG9wZW5lZSk7
Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2VudHJ5LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvZW50cnktYXR0cmlidXRlcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWFmYjQ1ZWNi
NWFiMjAwYjUxNTMxOTU1ZjBjZThiZDc4NmM1NTA0OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Vu
dHJ5LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK0Rlc2NyaXB0aW9u
CisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGVu
dHJpZXMnIGF0dHJpYnV0ZXMgYXJlIHBvcHVsYXRlZCB3aXRoIHRoZSBjb3JyZWN0IHZhbHVlcy4K
KworCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBJ
bWFnZSByZXNvdXJjZXMgc2hvdWxkIGdlbmVyYXRlIGNvbmZvcm1hbnQgZW50cmllcyBUZXN0IHRp
bWVkIG91dAorTk9UUlVOIEZvbnQgcmVzb3VyY2VzIHNob3VsZCBnZW5lcmF0ZSBjb25mb3JtYW50
IGVudHJpZXMKK05PVFJVTiBTYW1lLW9yaWdpbiByZWRpcmVjdHMgc2hvdWxkIHBvcHVsYXRlIHJl
ZGlyZWN0U3RhcnQvcmVkaXJlY3RFbmQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZW50cnktYXR0cmlidXRl
cy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvZW50cnktYXR0cmlidXRlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4OWI0ZTc0Yzg1
NTE4NzVjNTAzMTMzYWQ2NjUyYzhhOGI2YzU5MzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9lbnRy
eS1hdHRyaWJ1dGVzLmh0bWwKQEAgLTAsMCArMSwzNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGlt
aW5nOiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGF0dHJpYnV0ZXM8L3RpdGxlPgorPGxpbmsg
cmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIv
I3NlYy1wZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291
cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9lbnRyeS1p
bnZhcmlhbnRzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CithdHRyaWJ1dGVfdGVzdCgKKyAgbG9h
ZC5pbWFnZSwgInJlc291cmNlcy9mYWtlX3Jlc3BvbnNlcy5weSNoYXNoPTEiLAorICBlbnRyeSA9
PiB7CisgICAgYXNzZXJ0X3RydWUoZW50cnkubmFtZS5pbmNsdWRlcygnI2hhc2g9MScpLAorICAg
ICAgIlRoZXJlIHNob3VsZCBiZSBhIGhhc2ggaW4gdGhlIHJlc291cmNlIG5hbWUiKTsKKyAgICBp
bnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc19ub19yZWRpcmVjdF9odHRwKGVudHJ5KTsKKyAgfSwK
KyAgIkltYWdlIHJlc291cmNlcyBzaG91bGQgZ2VuZXJhdGUgY29uZm9ybWFudCBlbnRyaWVzIik7
CisKK2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLmZvbnQsICIvZm9udHMvQWhlbS50dGYiLAorICBp
bnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc19ub19yZWRpcmVjdF9odHRwLAorICAiRm9udCByZXNv
dXJjZXMgc2hvdWxkIGdlbmVyYXRlIGNvbmZvcm1hbnQgZW50cmllcyIpOworCithdHRyaWJ1dGVf
dGVzdCgKKyAgbG9hZC5pbWFnZSwgIi9jb21tb24vcmVkaXJlY3QucHk/bG9jYXRpb249cmVzb3Vy
Y2VzL2Zha2VfcmVzcG9uc2VzLnB5IiwKKyAgaW52YXJpYW50cy5hc3NlcnRfc2FtZV9vcmlnaW5f
cmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAgIlNhbWUtb3JpZ2luIHJlZGlyZWN0cyBzaG91bGQgcG9w
dWxhdGUgcmVkaXJlY3RTdGFydC9yZWRpcmVjdEVuZCIpOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxoMT5EZXNjcmlwdGlvbjwvaDE+Cis8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQg
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyBlbnRyaWVzJyBhdHRyaWJ1dGVzIGFyZQorcG9wdWxh
dGVkIHdpdGggdGhlIGNvcnJlY3QgdmFsdWVzLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2ZldGNoLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9mZXRjaC1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEyZmIzMGQxYTc4MTNhY2VlZjUwMzMzNGEwZDQ4MDA0MjA2MjM0MGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9mZXRjaC1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIFRlc3QgZmV0Y2hpbmcgdGhyb3VnaCBhIGNyb3Nz
LW9yaWdpbiByZWRpcmVjdCBVUkwKK1BBU1MgVGVzdCBmZXRjaGluZyB0aHJvdWdoIGEgc2FtZS1v
cmlnaW4gcmVkaXJlY3QgVVJMCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZldGNoLWNyb3NzLW9yaWdpbi1y
ZWRpcmVjdC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZmV0Y2gtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0dHBz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDE5MzQyMjY1M2E1OTU0ZmYwMzM1MThjNjkwZjY1NDYwYmM1NDMz
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZldGNoLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odHRw
cy5odG1sCkBAIC0wLDAgKzEsMzMgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPHRpdGxlPlRlc3QgY3Jvc3Mtb3JpZ2luIGZldGNoIHJlZGlyZWN0cyBoYXZlIHRo
ZSByaWdodCB2YWx1ZXMuPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xl
IiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVm
PSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI3NlYy1wZXJmb3JtYW5j
ZXJlc291cmNldGltaW5nIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFudHMuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+CisKK2NvbnN0IHtSRU1PVEVfT1JJR0lOLCBPUklHSU59ID0gZ2V0X2hv
c3RfaW5mbygpOworY29uc3QgcmVkaXJlY3QgPSAiL2NvbW1vbi9yZWRpcmVjdC5weT8iICsKKyAg
ICAgICAgICAgICAgICAgImxvY2F0aW9uPS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2dyZWVu
Lmh0bWwiOworY29uc3QgY3Jvc3Nfb3JpZ2luX3JlZGlyZWN0ID0gUkVNT1RFX09SSUdJTiArIHJl
ZGlyZWN0OworY29uc3Qgc2FtZV9vcmlnaW5fcmVkaXJlY3QgPSBPUklHSU4gKyByZWRpcmVjdDsK
KworYXR0cmlidXRlX3Rlc3QoCisgIHVybCA9PiBmZXRjaCh1cmwsIHttb2RlOiAibm8tY29ycyIs
IGNyZWRlbnRpYWxzOiAiaW5jbHVkZSJ9KSwKKyAgbmV3IFVSTChjcm9zc19vcmlnaW5fcmVkaXJl
Y3QpLmhyZWYsCisgIGludmFyaWFudHMuYXNzZXJ0X2Nyb3NzX29yaWdpbl9yZWRpcmVjdGVkX3Jl
c291cmNlLAorICAiVGVzdCBmZXRjaGluZyB0aHJvdWdoIGEgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0
IFVSTCIKKyk7CisKK2F0dHJpYnV0ZV90ZXN0KAorICB1cmwgPT4gZmV0Y2godXJsLCB7bW9kZTog
Im5vLWNvcnMiLCBjcmVkZW50aWFsczogImluY2x1ZGUifSksCisgIG5ldyBVUkwoc2FtZV9vcmln
aW5fcmVkaXJlY3QpLmhyZWYsCisgIGludmFyaWFudHMuYXNzZXJ0X3NhbWVfb3JpZ2luX3JlZGly
ZWN0ZWRfcmVzb3VyY2UsCisgICJUZXN0IGZldGNoaW5nIHRocm91Z2ggYSBzYW1lLW9yaWdpbiBy
ZWRpcmVjdCBVUkwiCispOworCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZvbnQtdGltZXN0
YW1wcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9mb250LXRpbWVzdGFtcHMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmQxOTY0NDE4NzViZWNkMjQzYmZlMjIzZTVhYjliMDA4ZDBhMTlmOTkKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9mb250LXRpbWVzdGFtcHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBA
QAorVGhpcyBmZXRjaGVzIGFoZW0gZm9udC4KKworRkFJTCBUZXN0IGEgZm9udCdzIHRpbWVzdGFt
cHMgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbDogZG9tYWluTG9va3VwU3RhcnQgc2hvdWxkIGJl
IG1vcmUgdGhhbiAwIGluIHNhbWUtb3JpZ2luIHJlZGlyZWN0LiBleHBlY3RlZCBhIG51bWJlciBn
cmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gPG5vbmRldGVybWluaXN0aWMgdGVzdCBvdXRwdXQ+IGJ1
dCBnb3QgMAorUEFTUyBUZXN0IGEgZm9udCdzIHRpbWVzdGFtcHMgd2l0aCBkZWxheXMKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvZm9udC10aW1lc3RhbXBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mb250LXRpbWVzdGFtcHMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmVjYjVjNGJmZGRiNjBlNzgzZWU3N2NkMzA4YjI4YTBjNGVhOWMyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvZm9udC10aW1lc3RhbXBzLmh0bWwKQEAgLTAsMCArMSw2MiBA
QAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdCBj
cm9zcy1vcmlnaW4gZmV0Y2ggcmVkaXJlY3RzIGhhdmUgdGhlIHJpZ2h0IHZhbHVlcy48L3RpdGxl
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPGJvZHk+
Cis8c2NyaXB0PgorY29uc3QgbG9hZF9mb250ID0gdXJsID0+IHsKKyAgZG9jdW1lbnQuYm9keS5p
bm5lckhUTUwgPSBgCisgICAgPHN0eWxlPgorICAgIEBmb250LWZhY2UgeworICAgICAgICBmb250
LWZhbWlseTogYWhlbTsKKyAgICAgICAgc3JjOiB1cmwoJyR7dXJsfScpOworICAgIH0KKyAgICA8
L3N0eWxlPgorICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBhaGVtOyI+VGhpcyBmZXRjaGVz
IGFoZW0gZm9udC48L2Rpdj4KKyAgYDsKKyAgcmV0dXJuIGRvY3VtZW50LmZvbnRzLnJlYWR5Owor
fTsKKworY29uc3QgcnVuX3Rlc3QgPSBhc3luYyAodCwgdXJsKSA9PiB7CisgIC8vIFNldCB1cCBQ
ZXJmb3JtYW5jZU9ic2VydmVyCisgIGNvbnN0IGhyZWYgPSBuZXcgVVJMKHVybCkuaHJlZjsKKyAg
Y29uc3Qgc2V0UGVyZm9ybWFuY2VPYnNlcnZlciA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewor
ICAgIGNvbnN0IHBvID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIocmVzb2x2ZSk7CisgICAgcG8u
b2JzZXJ2ZSh7dHlwZTogInJlc291cmNlIn0pOworICB9KTsKKworICAvLyBMb2FkIHRoZSBmb250
IHJlc291cmNlIGFuZCB3YWl0IGZvciBpdCB0byBiZSBmZXRjaGVkLgorICBhd2FpdCBsb2FkX2Zv
bnQoaHJlZik7CisKKyAgLy8gV2FpdCBmb3IgYW4gZW50cnkKKyAgY29uc3QgdGltZW91dCA9IG5l
dyBQcm9taXNlKHJlc29sdmUgPT4gdC5zdGVwX3RpbWVvdXQocmVzb2x2ZSwgMzAwMCkpOworICBj
b25zdCBsaXN0ID0gYXdhaXQgUHJvbWlzZS5yYWNlKFtzZXRQZXJmb3JtYW5jZU9ic2VydmVyLCB0
aW1lb3V0XSk7CisgIGFzc2VydF9lcXVhbHModHlwZW9mKGxpc3QpLCAib2JqZWN0IiwgIk5vIGlm
cmFtZSBlbnRyeSB3YXMgZmlyZWQiKTsKKyAgY29uc3QgZW50cmllcyA9IGxpc3QuZ2V0RW50cmll
c0J5TmFtZSh1cmwpOworICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxKTsKKworICAv
LyBUZXN0IGVudHJ5IHZhbHVlcworICBjb25zdCBlbnRyeSA9IGVudHJpZXNbMF07CisgIGFzc2Vy
dF9ncmVhdGVyX3RoYW4oZW50cnkuZmV0Y2hTdGFydCwgMCwgImZldGNoU3RhcnQgc2hvdWxkIGJl
IGdyZWF0ZXIgdGhhbiAwIGluIHJlZGlyZWN0cy4iKTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9l
cXVhbChlbnRyeS5kb21haW5Mb29rdXBTdGFydCwgZW50cnkuZmV0Y2hTdGFydCwgImRvbWFpbkxv
b2t1cFN0YXJ0IHNob3VsZCBiZSBtb3JlIHRoYW4gMCBpbiBzYW1lLW9yaWdpbiByZWRpcmVjdC4i
KTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChlbnRyeS5kb21haW5Mb29rdXBFbmQsIGVu
dHJ5LmRvbWFpbkxvb2t1cFN0YXJ0LCAiZG9tYWluTG9va3VwRW5kIHNob3VsZCBiZSBtb3JlIHRo
YW4gMCBpbiBzYW1lLW9yaWdpbiByZWRpcmVjdC4iKTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9l
cXVhbChlbnRyeS5jb25uZWN0U3RhcnQsIGVudHJ5LmRvbWFpbkxvb2t1cEVuZCwgImNvbm5lY3RT
dGFydCBzaG91bGQgYmUgbW9yZSB0aGFuIDAgaW4gc2FtZS1vcmlnaW4gcmVkaXJlY3QuIik7Cisg
IGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkuc2VjdXJlQ29ubmVjdGlvblN0YXJ0LCBl
bnRyeS5jb25uZWN0U3RhcnQsICJzZWN1cmVDb25uZWN0aW9uU3RhcnQgc2hvdWxkIGJlIG1vcmUg
dGhhbiAwIGluIHNhbWUtb3JpZ2luIHJlZGlyZWN0LiIpOworICBhc3NlcnRfZ3JlYXRlcl90aGFu
X2VxdWFsKGVudHJ5LmNvbm5lY3RFbmQsIGVudHJ5LnNlY3VyZUNvbm5lY3Rpb25TdGFydCwgImNv
bm5lY3RFbmQgc2hvdWxkIGJlIG1vcmUgdGhhbiAwIGluIHNhbWUtb3JpZ2luIHJlZGlyZWN0LiIp
OworICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LnJlcXVlc3RTdGFydCwgZW50cnku
Y29ubmVjdEVuZCwgInJlcXVlc3RTdGFydCBzaG91bGQgYmUgbW9yZSB0aGFuIDAgaW4gc2FtZS1v
cmlnaW4gcmVkaXJlY3QuIik7CisgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkucmVz
cG9uc2VTdGFydCwgZW50cnkucmVxdWVzdFN0YXJ0LCAicmVzcG9uc2VTdGFydCBzaG91bGQgYmUg
bW9yZSB0aGFuIDAgaW4gc2FtZS1vcmlnaW4gcmVkaXJlY3QuIik7CisgIGFzc2VydF9ncmVhdGVy
X3RoYW5fZXF1YWwoZW50cnkucmVzcG9uc2VFbmQsIGVudHJ5LnJlc3BvbnNlU3RhcnQsICJyZXNw
b25zZUVuZCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIDAgaW4gcmVkaXJlY3RzLiIpOworICBhc3Nl
cnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LmR1cmF0aW9uLCAwLCAiZHVyYXRpb24gc2hvdWxk
IGJlIGdyZWF0ZXIgdGhhbiAwIGluIHJlZGlyZWN0cy4iKTsKK30KKworY29uc3Qge0hUVFBTX1JF
TU9URV9PUklHSU59ID0gZ2V0X2hvc3RfaW5mbygpOworcHJvbWlzZV90ZXN0KHQgPT4geworICBy
ZXR1cm4gcnVuX3Rlc3QodCwgSFRUUFNfUkVNT1RFX09SSUdJTiArICIvZm9udHMvQWhlbS50dGYi
KTsKK30sICJUZXN0IGEgZm9udCdzIHRpbWVzdGFtcHMiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4g
eworICByZXR1cm4gcnVuX3Rlc3QodCwgSFRUUFNfUkVNT1RFX09SSUdJTiArICIvcmVzb3VyY2Ut
dGltaW5nL3Jlc291cmNlcy9jb3JzLWFoZW0ucHk/cGlwZT10cmlja2xlKGQxKSIpOworfSwgIlRl
c3QgYSBmb250J3MgdGltZXN0YW1wcyB3aXRoIGRlbGF5cyIpOworPC9zY3JpcHQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9pZnJhbWUtZmFpbGVkLWNvbW1pdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9pZnJhbWUtZmFp
bGVkLWNvbW1pdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzQ0YmQxNzUyZjI5MjZmMjNmM2Ni
MzA3N2EzYTZlYzc1MmY4MTVlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2lmcmFtZS1mYWlsZWQt
Y29tbWl0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitCbG9ja2VkIGFjY2VzcyB0byBl
eHRlcm5hbCBVUkwgaHR0cHM6Ly9ub25leGlzdGVudC5sb2NhbGhvc3Q6OTQ0My8KK0Jsb2NrZWQg
YWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL25vbmV4aXN0ZW50LmxvY2FsaG9zdDo5NDQz
LworCisKK1BBU1MgUHJlY29uZGl0aW9uCitGQUlMIFRlc3QgaWZyYW1lIGZyb20gbm9uLWV4aXN0
ZW50IGhvc3QgYXNzZXJ0X2VxdWFsczogTm8gaWZyYW1lIGVudHJ5IHdhcyBmaXJlZCBleHBlY3Rl
ZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCitGQUlMIFRlc3QgaWZyYW1lIHJlZGlyZWN0
aW5nIHRvIG5vbi1leGlzdGVudCBob3N0IGFzc2VydF9lcXVhbHM6IE5vIGlmcmFtZSBlbnRyeSB3
YXMgZmlyZWQgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgorUEFTUyBTYW1l
LW9yaWdpbiBpZnJhbWUgdGhhdCBjb21wbGllcyB3aXRoIENTUCBhdHRyaWJ1dGUgZ2V0cyByZXBv
cnRlZAorUEFTUyBTYW1lLW9yaWdpbiBpZnJhbWUgdGhhdCBkb2Vzbid0IGNvbXBseSB3aXRoIENT
UCBhdHRyaWJ1dGUgZ2V0cyByZXBvcnRlZAorUEFTUyBDcm9zcy1vcmlnaW4gaWZyYW1lIHRoYXQg
Y29tcGxpZXMgd2l0aCBDU1AgYXR0cmlidXRlIGdldHMgcmVwb3J0ZWQKK1BBU1MgQ3Jvc3Mtb3Jp
Z2luIGlmcmFtZSB0aGF0IGRvZXNuJ3QgY29tcGx5IHdpdGggQ1NQIGF0dHJpYnV0ZSBnZXRzIHJl
cG9ydGVkCitGQUlMIFNhbWUtb3JpZ2luIGVtcHR5IGlmcmFtZSB3aXRoIGEgMjAwIHN0YXR1cyBn
ZXRzIHJlcG9ydGVkIGFzc2VydF9lcXVhbHM6IE5vIGlmcmFtZSBlbnRyeSB3YXMgZmlyZWQgZXhw
ZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgorRkFJTCBDcm9zcy1vcmlnaW4gZW1w
dHkgaWZyYW1lIHdpdGggYSAyMDAgc3RhdHVzIGdldHMgcmVwb3J0ZWQgYXNzZXJ0X2VxdWFsczog
Tm8gaWZyYW1lIGVudHJ5IHdhcyBmaXJlZCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRl
ZmluZWQiCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2lmcmFtZS1mYWlsZWQtY29tbWl0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9p
ZnJhbWUtZmFpbGVkLWNvbW1pdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5YmQ5MzQyN2MxZDM5YWM1YWVk
OTI4Y2FhM2QwMjUzNTU3ZGQ0MTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9pZnJhbWUtZmFpbGVk
LWNvbW1pdC5odG1sCkBAIC0wLDAgKzEsODAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZyAt
IHRlc3QgdGhhdCB1bnN1Y2Nlc3NmdWwgaWZyYW1lcyBjcmVhdGUgZW50cmllczwvdGl0bGU+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxz
Y3JpcHQ+Cit0ZXN0KCgpID0+IHsKKyAgY29uc3QgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVu
dHJpZXNCeVR5cGUoInJlc291cmNlIik7CisgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgs
IDMsICJQcmVjb25kaXRpb24gLSBFbnRyaWVzIGZvciBibG9ja2luZyBzY3JpcHRzIGZpcmVkIik7
Cit9LCAiUHJlY29uZGl0aW9uIik7CisKK2NvbnN0IHJ1bl90ZXN0ID0gYXN5bmMgKHQsIHVybCwg
Y3NwKSA9PiB7CisgIGNvbnN0IHNldFBlcmZvcm1hbmNlT2JzZXJ2ZXIgPSBuZXcgUHJvbWlzZShy
ZXNvbHZlID0+IHsKKyAgICBjb25zdCBwbyA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHJlc29s
dmUpOworICAgIHBvLm9ic2VydmUoe3R5cGU6ICJyZXNvdXJjZSJ9KTsKKyAgfSk7CisgIGNvbnN0
IHRpbWVvdXQgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHQuc3RlcF90aW1lb3V0KHJlc29sdmUs
IDEwMDApKTsKKyAgY29uc3QgZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUi
KTsKKyAgZnJhbWUuc3JjID0gdXJsOworICBpZiAoY3NwKSB7CisgICAgZnJhbWUuY3NwID0gY3Nw
OworICB9CisgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJhbWUpOworICBjb25zdCBsaXN0
ID0gYXdhaXQgUHJvbWlzZS5yYWNlKFtzZXRQZXJmb3JtYW5jZU9ic2VydmVyLCB0aW1lb3V0XSk7
CisgIGFzc2VydF9lcXVhbHModHlwZW9mKGxpc3QpLCAib2JqZWN0IiwgIk5vIGlmcmFtZSBlbnRy
eSB3YXMgZmlyZWQiKTsKKyAgY29uc3QgZW50cmllcyA9IGxpc3QuZ2V0RW50cmllc0J5TmFtZSh1
cmwpOworICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxKTsKKyAgYXNzZXJ0X2dyZWF0
ZXJfdGhhbihlbnRyaWVzWzBdLmR1cmF0aW9uLCAwLCAiRHVyYXRpb24gZ3JlYXRlciB0aGFuIDAi
KTsKK30KKworY29uc3Qge1JFTU9URV9PUklHSU4sIE9SSUdJTkFMX0hPU1QsIEhUVFBTX1BPUlR9
ID0gZ2V0X2hvc3RfaW5mbygpOworY29uc3Qgbm9uZXhpc3RlbnRfdXJsID0gImh0dHBzOi8vbm9u
ZXhpc3RlbnQuIiArIE9SSUdJTkFMX0hPU1QgKyAiOiIgKyBIVFRQU19QT1JUICsgIi8iOworCitw
cm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBydW5fdGVzdCh0LCBub25leGlzdGVudF91cmwp
OworfSwgIlRlc3QgaWZyYW1lIGZyb20gbm9uLWV4aXN0ZW50IGhvc3QiKTsKKworcHJvbWlzZV90
ZXN0KHQgPT4geworICBjb25zdCB1cmwgPSBuZXcgVVJMKCJyZXNvdXJjZXMvZmFrZV9yZXNwb25z
ZXMucHk/cmVkaXJlY3Q9IiArIG5vbmV4aXN0ZW50X3VybCwgbG9jYXRpb24uaHJlZik7CisgIHJl
dHVybiBydW5fdGVzdCh0LCB1cmwudG9TdHJpbmcoKSk7Cit9LCAiVGVzdCBpZnJhbWUgcmVkaXJl
Y3RpbmcgdG8gbm9uLWV4aXN0ZW50IGhvc3QiKTsKKworY29uc3QgY3NwX2RpcmVjdGl2ZSA9ICJk
ZWZhdWx0LXNyYyAnbm9uZSciOworcHJvbWlzZV90ZXN0KHQgPT4geworICBjb25zdCB1cmwgPSBu
ZXcgVVJMKCIvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0bWwi
LCBsb2NhdGlvbi5ocmVmKTsKKyAgcmV0dXJuIHJ1bl90ZXN0KHQsIHVybCwgY3NwX2RpcmVjdGl2
ZSk7Cit9LCAiU2FtZS1vcmlnaW4gaWZyYW1lIHRoYXQgY29tcGxpZXMgd2l0aCBDU1AgYXR0cmli
dXRlIGdldHMgcmVwb3J0ZWQiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBjb25zdCB1cmwg
PSBuZXcgVVJMKCIvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi1mcmFtZS5odG1sIiwg
bG9jYXRpb24uaHJlZik7CisgIHJldHVybiBydW5fdGVzdCh0LCB1cmwudG9TdHJpbmcoKSwgY3Nw
X2RpcmVjdGl2ZSk7Cit9LCAiU2FtZS1vcmlnaW4gaWZyYW1lIHRoYXQgZG9lc24ndCBjb21wbHkg
d2l0aCBDU1AgYXR0cmlidXRlIGdldHMgcmVwb3J0ZWQiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4g
eworICBjb25zdCB1cmwgPSBuZXcgVVJMKCIvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jc3At
ZGVmYXVsdC1ub25lLmh0bWwiLCBSRU1PVEVfT1JJR0lOKTsKKyAgcmV0dXJuIHJ1bl90ZXN0KHQs
IHVybC50b1N0cmluZygpLCBjc3BfZGlyZWN0aXZlKTsKK30sICJDcm9zcy1vcmlnaW4gaWZyYW1l
IHRoYXQgY29tcGxpZXMgd2l0aCBDU1AgYXR0cmlidXRlIGdldHMgcmVwb3J0ZWQiKTsKKworcHJv
bWlzZV90ZXN0KHQgPT4geworICBjb25zdCB1cmwgPSBuZXcgVVJMKCIvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlcy9ncmVlbi1mcmFtZS5odG1sIiwgUkVNT1RFX09SSUdJTik7CisgIHJldHVybiBy
dW5fdGVzdCh0LCB1cmwudG9TdHJpbmcoKSwgY3NwX2RpcmVjdGl2ZSk7Cit9LCAiQ3Jvc3Mtb3Jp
Z2luIGlmcmFtZSB0aGF0IGRvZXNuJ3QgY29tcGx5IHdpdGggQ1NQIGF0dHJpYnV0ZSBnZXRzIHJl
cG9ydGVkIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgY29uc3QgdXJsID0gbmV3IFVSTCgi
L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvMjAwX2VtcHR5LmFzaXMiLCBsb2NhdGlvbi5ocmVm
KTsKKyAgcmV0dXJuIHJ1bl90ZXN0KHQsIHVybC50b1N0cmluZygpLCBjc3BfZGlyZWN0aXZlKTsK
K30sICJTYW1lLW9yaWdpbiBlbXB0eSBpZnJhbWUgd2l0aCBhIDIwMCBzdGF0dXMgZ2V0cyByZXBv
cnRlZCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIGNvbnN0IHVybCA9IG5ldyBVUkwoIi9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzLzIwMF9lbXB0eS5hc2lzIiwgUkVNT1RFX09SSUdJTik7
CisgIHJldHVybiBydW5fdGVzdCh0LCB1cmwudG9TdHJpbmcoKSwgY3NwX2RpcmVjdGl2ZSk7Cit9
LCAiQ3Jvc3Mtb3JpZ2luIGVtcHR5IGlmcmFtZSB3aXRoIGEgMjAwIHN0YXR1cyBnZXRzIHJlcG9y
dGVkIik7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaW5p
dGlhdG9yLXR5cGUtZm9yLXNjcmlwdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9pbml0aWF0b3ItdHlwZS1m
b3Itc2NyaXB0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OTE5ODdiNjBiYjY2NjgzN2Y5NjY5
ODdmZDJiMzA3Y2MyNjA3ZDg5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaW5pdGlhdG9yLXR5cGUt
Zm9yLXNjcmlwdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgVmFsaWRhdGUg
aW5pdGlhdG9yVHlwZSBmb3Igc2NyaXB0cyBpcyAnc2NyaXB0JworCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9p
bml0aWF0b3ItdHlwZS1mb3Itc2NyaXB0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9pbml0aWF0b3ItdHlwZS1mb3Itc2Ny
aXB0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNzIxNzMzOThkNTZhYTQ4ZmQzZDk4MTdhMDU4YzE5MTE1ZTdk
ZjlkZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2luaXRpYXRvci10eXBlLWZvci1zY3JpcHQuaHRt
bApAQCAtMCwwICsxLDY3IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgdGhl
IGluaXRpYXRvclR5cGUgaW5mb3JtYXRpb24gZm9yIHZhcmlvdXMKK1Jlc291cmNlIFRpbWluZyBl
bnRyaWVzIGlzIGFjY3VyYXRlIGZvciBzY3JpcHRzLjwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAi
CisgICAgICBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI2Rv
bS1wZXJmb3JtYW5jZXJlc291cmNldGltaW5nLWluaXRpYXRvcnR5cGUiLz4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29t
bW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L2VudHJ5LWludmFyaWFudHMuanMiPjwvc2NyaXB0PgorPCEtLSBUZXN0ZWQgcmVzb3VyY2VzIC0t
PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9lbXB0eV9zY3JpcHQuanM/aWQ9YmxvY2tpbmciPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9lbXB0eV9zY3JpcHQuanM/aWQ9YXN5bmMi
IGFzeW5jPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9lbXB0eV9zY3JpcHQuanM/
aWQ9YXN5bmNfZmFsc2UiIGFzeW5jPWZhbHNlPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy9lbXB0eV9zY3JpcHQuanM/aWQ9ZGVmZXIiIGRlZmVyPjwvc2NyaXB0PgorPHNjcmlwdD4K
K2RvY3VtZW50LndyaXRlKCI8c2NyaXB0IHNyYz0ncmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5qcz9p
ZD1kb2Nfd3JpdHRlbic+PC9zY3IiCisgICAgICAgICAgICAgICArICJpcHQ+Iik7CisKK2NvbnN0
IGhlYWQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdOworY29uc3Qg
czEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKK3MxLnNyYyA9ICJlbXB0eV9z
Y3JpcHQuanM/aWQ9YXBwZW5kZWQiOworaGVhZC5hcHBlbmRDaGlsZChzMSk7CisKK2NvbnN0IHMy
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CitzMi5zcmMgPSAiZW1wdHlfc2Ny
aXB0LmpzP2lkPWFwcGVuZGVkX2FzeW5jIjsKK3MyLmFzeW5jID0gdHJ1ZTsKK2hlYWQuYXBwZW5k
Q2hpbGQoczIpOworCitjb25zdCBzMyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIp
OworczMuc3JjID0gImVtcHR5X3NjcmlwdC5qcz9pZD1hcHBlbmRlZF9heW5jX2ZhbHNlIjsKK3Mz
LmFzeW5jID0gZmFsc2U7CitoZWFkLmFwcGVuZENoaWxkKHMzKTsKKworY29uc3QgczQgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKK3M0LnNyYyA9ICJlbXB0eV9zY3JpcHQuanM/
aWQ9YXBwZW5kZWRfZGVmZXIiOworczQuZGVmZXIgPSB0cnVlOworaGVhZC5hcHBlbmRDaGlsZChz
NCk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKworY29uc3Qgd2FpdF9m
b3Jfb25sb2FkID0gKCkgPT4geworICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Cisg
ICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCByZXNvbHZlKTsKK30pfTsKKworcHJv
bWlzZV90ZXN0KAorICBhc3luYyAoKSA9PiB7CisgICAgYXdhaXQgd2FpdF9mb3Jfb25sb2FkKCk7
CisKKyAgICBjb25zdCBlbnRyeV9saXN0ID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgi
cmVzb3VyY2UiKTsKKyAgICBmb3IgKGVudHJ5IG9mIGVudHJ5X2xpc3QpIHsKKyAgICAgIGlmIChl
bnRyeS5uYW1lLmluY2x1ZGVzKCJlbXB0eV9zY3JpcHQuanMiKSkgeworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGVudHJ5LmluaXRpYXRvclR5cGUsICJzY3JpcHQiLAorICAgICAgICAgICAgICAgICAg
ICAgICJpbml0aWF0b3JUeXBlIHNob3VsZCBiZSAnc2NyaXB0JyBmb3IgIiArIGVudHJ5Lm5hbWUp
OworICAgICAgfQorICAgIH0KK30sICJWYWxpZGF0ZSBpbml0aWF0b3JUeXBlIGZvciBzY3JpcHRz
IGlzICdzY3JpcHQnIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvbmV4dEhvcFByb3RvY29sLWlzLXRhby1wcm90ZWN0ZWQuaHR0cHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvbmV4dEhvcFByb3RvY29sLWlzLXRhby1wcm90ZWN0ZWQuaHR0cHMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmM0Y2JiYWE0ZDIwNWI1YzQ0N2ZmOGZjMDQ0ZDY4YmRhMjUwMzQwZDcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9uZXh0SG9wUHJvdG9jb2wtaXMtdGFvLXByb3RlY3RlZC5odHRw
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK0ZBSUwgQWRkIFRBTy1sZXNzIGlmcmFt
ZSBmcm9tIHJlbW90ZSBvcmlnaW4uIE1ha2Ugc3VyZSBuZXh0SG9wUHJvdG9jb2wgaXMgdGhlIGVt
cHR5IHN0cmluZyBhc3NlcnRfZXF1YWxzOiBuZXh0SG9wUHJvdG9jb2wgc2hvdWxkIGJlIHRoZSBl
bXB0eSBzdHJpbmcgZXhwZWN0ZWQgIiIgYnV0IGdvdCAiaHR0cC8xLjEiCitQQVNTIEFkZCBUQU8n
ZCBpZnJhbWUgZnJvbSByZW1vdGUgb3JpZ2luLiBNYWtlIHN1cmUgbmV4dEhvcFByb3RvY29sIGlz
IG5vdCB0aGUgZW1wdHkgc3RyaW5nCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL25leHRIb3BQcm90b2NvbC1p
cy10YW8tcHJvdGVjdGVkLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9uZXh0SG9wUHJvdG9jb2wtaXMtdGFvLXBy
b3RlY3RlZC5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUwZTk2YWY4ZTgwY2Y0ZmIwNmQ3ZjFiMzM5
M2YyMTkxMjY1YjIzY2UKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9uZXh0SG9wUHJvdG9jb2wtaXMt
dGFvLXByb3RlY3RlZC5odHRwcy5odG1sCkBAIC0wLDAgKzEsMzggQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291
cmNlIFRpbWluZyAtIENoZWNrIHRoYXQgbmV4dEhvcFByb3RvY29sIGlzIFRBTyBwcm90ZWN0ZWQ8
L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVz
b3VyY2UtdGltaW5nLTIvI3NlYy1wZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL2VudHJ5LWludmFyaWFudHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNj
cmlwdD4KKworY29uc3Qge0hUVFBTX1JFTU9URV9PUklHSU59ID0gZ2V0X2hvc3RfaW5mbygpOwor
Y29uc3QgcmVtb3RlX3Jlc291cmNlcyA9IGAke0hUVFBTX1JFTU9URV9PUklHSU59L3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXNgOworCisvLyBBZGQgaWZyYW1lIHRvIHJlbW90ZSBvcmlnaW4gLSBw
YWdlIHdpdGhvdXQgVEFPCithdHRyaWJ1dGVfdGVzdCgKKyAgbG9hZC5pZnJhbWUsIGAke3JlbW90
ZV9yZXNvdXJjZXN9L2dyZWVuLmh0bWAsCisgIGVudHJ5ID0+IGFzc2VydF9lcXVhbHMoZW50cnku
bmV4dEhvcFByb3RvY29sLCAiIiwKKyAgICAibmV4dEhvcFByb3RvY29sIHNob3VsZCBiZSB0aGUg
ZW1wdHkgc3RyaW5nIiksCisgICJBZGQgVEFPLWxlc3MgaWZyYW1lIGZyb20gcmVtb3RlIG9yaWdp
bi4gTWFrZSBzdXJlIG5leHRIb3BQcm90b2NvbCBpcyB0aGUgIiArCisgICJlbXB0eSBzdHJpbmci
CispOworCisvLyBBZGQgaWZyYW1lIHRvIHJlbW90ZSBvcmlnaW4gLSBwYWdlIHdpdGggVEFPCith
dHRyaWJ1dGVfdGVzdCgKKyAgbG9hZC5pZnJhbWUsIGAke3JlbW90ZV9yZXNvdXJjZXN9L2JsYW5r
LXdpdGgtdGFvLmh0bWxgLAorICBlbnRyeSA9PiBhc3NlcnRfbm90X2VxdWFscyhlbnRyeS5uZXh0
SG9wUHJvdG9jb2wsICIiLAorICAgICJuZXh0SG9wUHJvdG9jb2wgc2hvdWxkIG5vdCBiZSB0aGUg
ZW1wdHkgc3RyaW5nIiksCisgICJBZGQgVEFPJ2QgaWZyYW1lIGZyb20gcmVtb3RlIG9yaWdpbi4g
TWFrZSBzdXJlIG5leHRIb3BQcm90b2NvbCBpcyBub3QgIiArCisgICJ0aGUgZW1wdHkgc3RyaW5n
IgorKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0
LW5vdC1mb3VuZC1hZnRlci1UQU8tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItVEFPLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMzY3ZjYwY2YxNTZlNDQ5ZjdiNWYxZTI5NTBiZDc5ZmQzMjUw
MTE3MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItVEFPLWNy
b3NzLW9yaWdpbi1yZWRpcmVjdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACisKKworSGFy
bmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1BBU1Mgd2luZG93LnBlcmZv
cm1hbmNlIGlzIGRlZmluZWQKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5h
bWUgaXMgZGVmaW5lZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLVRB
Ty1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXIt
VEFPLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwZGFkOTM4MWJhNDJi
Yzg0OGViZWNhODZhY2FmN2YxMGE3YTFlODIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qt
bm90LWZvdW5kLWFmdGVyLVRBTy1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbApAQCAtMCwwICsx
LDQ3IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCIgLz4KKzx0aXRsZT5UaGlzIHRlc3QgdmFsaWRhdGVzIHJlc291cmNlIHRpbWluZyBpbmZv
cm1hdGlvbiBmb3IgYSB0aW1pbmcgYWxsb3dlZCBjcm9zcy1vcmlnaW4gcmVkaXJlY3QgY2hhaW4u
PC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVz
b3VyY2UtdGltaW5nLyNwZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vY29tbW9u
L2dldC1ob3N0LWluZm8uc3ViLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93
ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93
ZWJwZXJmdGVzdGhhcm5lc3NleHRlbnNpb24uanMiPjwvc2NyaXB0PgorCis8c2NyaXB0PgorICAg
IHNldHVwKHtleHBsaWNpdF9kb25lOiB0cnVlfSk7CisgICAgdGVzdF9uYW1lc3BhY2UoJ2dldEVu
dHJpZXNCeU5hbWUnKTsKKworICAgIGZ1bmN0aW9uIG9ubG9hZF90ZXN0KCkKKyAgICB7CisgICAg
ICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgUGVyZm9ybWFuY2VDb250ZXh0KHBlcmZvcm1hbmNlKTsK
KyAgICAgICAgY29uc3QgZW50cmllcyA9IGNvbnRleHQuZ2V0RW50cmllc0J5TmFtZShkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yKCdvYmplY3QnKS5kYXRhLCAncmVzb3VyY2UnKTsKKyAgICAgICAgdGVz
dF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEsICdUaGVyZSBzaG91bGQgYmUgb25lIGVudHJ5Licp
OworICAgICAgICBjb25zdCBlbnRyeSA9IGVudHJpZXNbMF07CisKKyAgICAgICAgdGVzdF9ncmVh
dGVyX3RoYW4oZW50cnkucmVkaXJlY3RTdGFydCwgMCwgJ3JlZGlyZWN0U3RhcnQgPiAwIGluIHRp
bWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4nKTsKKyAgICAgICAgdGVzdF9lcXVh
bHMoZW50cnkucmVkaXJlY3RTdGFydCwgZW50cnkuc3RhcnRUaW1lLCAncmVkaXJlY3RTdGFydCA9
PSBzdGFydFRpbWUgaW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LicpOwor
ICAgICAgICB0ZXN0X2dyZWF0ZXJfdGhhbihlbnRyeS5yZWRpcmVjdEVuZCwgZW50cnkucmVkaXJl
Y3RTdGFydCwgJ3JlZGlyZWN0RW5kID4gcmVkaXJlY3RTdGFydCBpbiB0aW1pbmcgYWxsb3dlZCBj
cm9zcy1vcmlnaW4gcmVkaXJlY3QuJyk7CisgICAgICAgIHRlc3RfZ3JlYXRlcl9vcl9lcXVhbHMo
ZW50cnkuZmV0Y2hTdGFydCwgZW50cnkucmVkaXJlY3RFbmQsICdmZXRjaFN0YXJ0ID49IHJlZGly
ZWN0RW5kIGluIHRpbWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4nKTsKKyAgICAg
ICAgZG9uZSgpOworICAgIH0KKzwvc2NyaXB0PgorCis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+
CisgICAgbGV0IGRlc3RVcmwgPSBnZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lOICsg
Jy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRpX3JlZGlyZWN0LnB5Pyc7CisgICAgZGVz
dFVybCArPSAncGFnZV9vcmlnaW49JyArICdodHRwOi8vJyArIGRvY3VtZW50LmxvY2F0aW9uLmhv
c3Q7CisgICAgZGVzdFVybCArPSAnJmNyb3NzX29yaWdpbj0nICsgZ2V0X2hvc3RfaW5mbygpLkhU
VFBfUkVNT1RFX09SSUdJTjsKKyAgICBkZXN0VXJsICs9ICcmZmluYWxfcmVzb3VyY2U9JyArIGVu
Y29kZVVSSUNvbXBvbmVudCgiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvc3RhdHVzLWNvZGUu
cHk/c3RhdHVzPTQwNCZ0YW9fdmFsdWU9KiIpOworICAgIGRlc3RVcmwgKz0gJyZ0YW9fc3RlcHM9
Myc7CisgICAgY29uc3Qgb2JqRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ29iamVj
dCcpOworICAgIG9iakVsZW1lbnQuc3R5bGUgPSAnd2lkdGg6IDBweDsgaGVpZ2h0OiAwcHg7JzsK
KyAgICBvYmpFbGVtZW50LmRhdGEgPSBkZXN0VXJsOworICAgIG9iakVsZW1lbnQub25lcnJvciA9
IG9ubG9hZF90ZXN0OworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQob2JqRWxlbWVudCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3Qt
Zm91bmQtYWZ0ZXItY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL29iamVj
dC1ub3QtZm91bmQtYWZ0ZXItY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zNjdmNjBjZjE1NmU0NDlmN2I1ZjFlMjk1MGJkNzlmZDMyNTAxMTcyCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1jcm9zcy1vcmlnaW4tcmVkaXJl
Y3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorCisKK0hhcm5lc3MgRXJyb3IgKFRJTUVP
VVQpLCBtZXNzYWdlID0gbnVsbAorCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVk
CitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lIGlzIGRlZmluZWQKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1jcm9zcy1vcmlnaW4tcmVkaXJl
Y3QuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYTQ1NWVjNDA2YjNlOTUxOWQ5OWJiZmViMTJhNDRlNzIxNGM2NmU2
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItY3Jvc3Mtb3Jp
Z2luLXJlZGlyZWN0Lmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+VGhpcyB0ZXN0IHZh
bGlkYXRlcyByZXNvdXJjZSB0aW1pbmcgaW5mb3JtYXRpb24gZm9yIGEgY3Jvc3Mtb3JpZ2luIHJl
ZGlyZWN0IGNoYWluLjwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cu
dzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9L2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzZXh0ZW5zaW9uLmpzIj48L3NjcmlwdD4KKwor
PHNjcmlwdD4KKyAgICBzZXR1cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOworICAgIHRlc3RfbmFt
ZXNwYWNlKCdnZXRFbnRyaWVzQnlOYW1lJyk7CisKKyAgICBmdW5jdGlvbiBvbmxvYWRfdGVzdCgp
CisgICAgeworICAgICAgICBjb25zdCBjb250ZXh0ID0gbmV3IFBlcmZvcm1hbmNlQ29udGV4dChw
ZXJmb3JtYW5jZSk7CisgICAgICAgIGNvbnN0IGVudHJpZXMgPSBjb250ZXh0LmdldEVudHJpZXNC
eU5hbWUoZG9jdW1lbnQucXVlcnlTZWxlY3Rvcignb2JqZWN0JykuZGF0YSwgJ3Jlc291cmNlJyk7
CisgICAgICAgIHRlc3RfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAnVGhlcmUgc2hvdWxkIGJl
IG9uZSBlbnRyeS4nKTsKKyAgICAgICAgY29uc3QgZW50cnkgPSBlbnRyaWVzWzBdOworCisgICAg
ICAgIHRlc3RfZXF1YWxzKGVudHJ5LnJlZGlyZWN0U3RhcnQsIDAsICdyZWRpcmVjdFN0YXJ0ID09
IDAgaW4gY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LicpOworICAgICAgICB0ZXN0X2VxdWFscyhlbnRy
eS5yZWRpcmVjdEVuZCwgMCwgJ3JlZGlyZWN0RW5kID09IDAgaW4gY3Jvc3Mtb3JpZ2luIHJlZGly
ZWN0LicpOworICAgICAgICB0ZXN0X2dyZWF0ZXJfdGhhbihlbnRyeS5mZXRjaFN0YXJ0LCAwLCAn
ZmV0Y2hTdGFydCA+IDAgaW4gY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LicpOworICAgICAgICB0ZXN0
X2VxdWFscyhlbnRyeS5zdGFydFRpbWUsIGVudHJ5LmZldGNoU3RhcnQsICdzdGFydFRpbWUgPT0g
ZmV0Y2hTdGFydCBpbiBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuJyk7CisgICAgICAgIGRvbmUoKTsK
KyAgICB9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGxldCBk
ZXN0VXJsID0gZ2V0X2hvc3RfaW5mbygpLkhUVFBfUkVNT1RFX09SSUdJTiArICcvcmVzb3VyY2Ut
dGltaW5nL3Jlc291cmNlcy9tdWx0aV9yZWRpcmVjdC5weT8nOworICAgIGRlc3RVcmwgKz0gJ3Bh
Z2Vfb3JpZ2luPScgKyAnaHR0cDovLycgKyBkb2N1bWVudC5sb2NhdGlvbi5ob3N0OworICAgIGRl
c3RVcmwgKz0gJyZjcm9zc19vcmlnaW49JyArIGdldF9ob3N0X2luZm8oKS5IVFRQX1JFTU9URV9P
UklHSU47CisgICAgZGVzdFVybCArPSAnJmZpbmFsX3Jlc291cmNlPScgKyBlbmNvZGVVUklDb21w
b25lbnQoIi9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3N0YXR1cy1jb2RlLnB5P3N0YXR1cz00
MDQiKTsKKyAgICBjb25zdCBvYmpFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnb2Jq
ZWN0Jyk7CisgICAgb2JqRWxlbWVudC5zdHlsZSA9ICd3aWR0aDogMHB4OyBoZWlnaHQ6IDBweDsn
OworICAgIG9iakVsZW1lbnQuZGF0YSA9IGRlc3RVcmw7CisgICAgb2JqRWxlbWVudC5vbmVycm9y
ID0gb25sb2FkX3Rlc3Q7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChvYmpFbGVtZW50
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVkaXJlY3Rz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3JlZGlyZWN0cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjc1
MmRlMWVjZGE2MWIyNWFhODQ5ZGVlOWRlYjY5ZjI1ZDBhMzZlOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3JlZGlyZWN0cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorRGVzY3JpcHRpb24K
KworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0LCB3aGVuIGEgZmV0Y2hpbmcgcmVzb3VyY2VzIHRo
YXQgZW5jb3VudGVyIHNhbWUtb3JpZ2luIHJlZGlyZWN0cywgYXR0cmlidXRlcyBvZiB0aGUgUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZyBlbnRyeSBjb25mb3JtIHRvIHRoZSBzcGVjaWZpY2F0aW9u
LgorCisKK1BBU1MgVmVyaWZ5IGF0dHJpYnV0ZXMgb2YgYSByZWRpcmVjdGVkIHN0eWxlc2hlZXQn
cyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nCitQQVNTIFZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEg
cmVkaXJlY3RlZCBpbWFnZSdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcKK1BBU1MgVmVyaWZ5
IGF0dHJpYnV0ZXMgb2YgYSByZWRpcmVjdGVkIGlmcmFtZSdzIFBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmcKK1BBU1MgVmVyaWZ5IGF0dHJpYnV0ZXMgb2YgYSByZWRpcmVjdGVkIHNjcmlwdCdzIFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcKK1BBU1MgVmVyaWZ5IGF0dHJpYnV0ZXMgb2YgYSByZWRp
cmVjdGVkIHN5bmNocm9ub3VzIFhNTEh0dHBSZXF1ZXN0J3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZworUEFTUyBWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHN5bmNocm9ub3VzIFhNTEh0dHBSZXF1
ZXN0J3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyB3aGVyZSB0aGUgaW5pdGlhbCBIVFRQIHJl
cXVlc3QgaXMgcmVkaXJlY3RlZCB0byBhIGNyb3NzLW9yaWdpbiBIVFRQUyByZXNvdXJjZS4KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVkaXJlY3RzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZWRpcmVjdHMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iYTY5OTA3YTVmNmU0NmEzZThhNzkwNDFkYTE3MDM5ZDE0ZDIwZmViCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvcmVkaXJlY3RzLmh0bWwKQEAgLTAsMCArMSw2MSBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVz
b3VyY2UgVGltaW5nOiByZXNvdXJjZXMgZmV0Y2hlZCB0aHJvdWdoIHNhbWUtb3JpZ2luIHJlZGly
ZWN0czwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0
cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93
d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNzZWMtcGVyZm9ybWFuY2VyZXNvdXJjZXRp
bWluZyIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnktaW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0PgorY29uc3Qge0hUVFBTX05PVFNBTUVTSVRFX09SSUdJTn0gPSBnZXRfaG9zdF9pbmZvKCk7
Citjb25zdCByZWRpcmVjdF91cmwgPSBgL2NvbW1vbi9yZWRpcmVjdC5weWA7Citjb25zdCB1cmxf
cHJlZml4ID0gYCR7cmVkaXJlY3RfdXJsfT9sb2NhdGlvbj0vcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy9gOworY29uc3QgaHR0cHNfdXJsX3ByZWZpeCA9IGAke3JlZGlyZWN0X3VybH0/bG9jYXRp
b249JHtIVFRQU19OT1RTQU1FU0lURV9PUklHSU59L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMv
YDsKKworYXR0cmlidXRlX3Rlc3QoCisgIGxvYWQuc3R5bGVzaGVldCwgdXJsX3ByZWZpeCArICJy
ZXNvdXJjZV90aW1pbmdfdGVzdDAuY3NzIiwKKyAgaW52YXJpYW50cy5hc3NlcnRfc2FtZV9vcmln
aW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAgIlZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEgcmVkaXJl
Y3RlZCBzdHlsZXNoZWV0J3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyIpOworCithdHRyaWJ1
dGVfdGVzdCgKKyAgbG9hZC5pbWFnZSwgdXJsX3ByZWZpeCArICJibHVlLnBuZyIsCisgIGludmFy
aWFudHMuYXNzZXJ0X3NhbWVfb3JpZ2luX3JlZGlyZWN0ZWRfcmVzb3VyY2UsCisgICJWZXJpZnkg
YXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgaW1hZ2UncyBQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nIik7CisKK2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLmlmcmFtZSwgdXJsX3ByZWZpeCArICJn
cmVlbi5odG1sIiwKKyAgaW52YXJpYW50cy5hc3NlcnRfc2FtZV9vcmlnaW5fcmVkaXJlY3RlZF9y
ZXNvdXJjZSwKKyAgIlZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEgcmVkaXJlY3RlZCBpZnJhbWUncyBQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIik7CisKK2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLnNj
cmlwdCwgdXJsX3ByZWZpeCArICJlbXB0eV9zY3JpcHQuanMiLAorICBpbnZhcmlhbnRzLmFzc2Vy
dF9zYW1lX29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNlLAorICAiVmVyaWZ5IGF0dHJpYnV0ZXMg
b2YgYSByZWRpcmVjdGVkIHNjcmlwdCdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmciKTsKKwor
YXR0cmlidXRlX3Rlc3QoCisgIGxvYWQueGhyX3N5bmMsIHVybF9wcmVmaXggKyAiZ3JlZW4uaHRt
bD9pZD14aHIiLAorICBpbnZhcmlhbnRzLmFzc2VydF9zYW1lX29yaWdpbl9yZWRpcmVjdGVkX3Jl
c291cmNlLAorICAiVmVyaWZ5IGF0dHJpYnV0ZXMgb2YgYSByZWRpcmVjdGVkIHN5bmNocm9ub3Vz
IFhNTEh0dHBSZXF1ZXN0J3MgIiArCisgICJQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIik7CisK
K2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLnhocl9zeW5jLCBodHRwc191cmxfcHJlZml4ICsgImdy
ZWVuLmh0bWw/aWQ9eGhyIiwKKyAgaW52YXJpYW50cy5hc3NlcnRfY3Jvc3Nfb3JpZ2luX3JlZGly
ZWN0ZWRfcmVzb3VyY2UsCisgICJWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHN5bmNocm9ub3VzIFhN
TEh0dHBSZXF1ZXN0J3MgIiArCisgICJQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIHdoZXJlIHRo
ZSBpbml0aWFsIEhUVFAgcmVxdWVzdCBpcyByZWRpcmVjdGVkICIgKworICAidG8gYSBjcm9zcy1v
cmlnaW4gSFRUUFMgcmVzb3VyY2UuIgorKTsKKworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxoMT5EZXNjcmlwdGlvbjwvaDE+Cis8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQsIHdoZW4g
YSBmZXRjaGluZyByZXNvdXJjZXMgdGhhdCBlbmNvdW50ZXIKK3NhbWUtb3JpZ2luIHJlZGlyZWN0
cywgYXR0cmlidXRlcyBvZiB0aGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyBlbnRyeQorY29u
Zm9ybSB0byB0aGUgc3BlY2lmaWNhdGlvbi48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZS1pZ25vcmUtZGF0YS11cmwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2UtaWdub3JlLWRhdGEtdXJsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xM2VjNWFmNDU0ZWMx
ZjNkMDhkMDdiYzA5YmJlMTdlOTJhZmI3Y2EyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2UtaWdub3JlLWRhdGEtdXJsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworCitQQVNT
IFJlc291cmNlcyB3aXRoIGRhdGE6IFVSSXMgbXVzdCBub3QgYmUgc3VyZmFjZWQgaW4gUmVzb3Vy
Y2UgVGltaW5nCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlLWlnbm9yZS1kYXRhLXVybC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2UtaWdub3JlLWRhdGEtdXJsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTcwNTZhODA4
MDc5NjdkOWI5NGIxZDRjNTRjMDYyMGRjMmE0YmFkOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlLWlnbm9yZS1kYXRhLXVybC5odG1sCkBAIC0wLDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJl
c291cmNlIFRpbWluZyBpZ25vcmVzIHJlc291cmNlcyB3aXRoIGRhdGE6IFVSSXM8L3RpdGxlPgor
PGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xl
LmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9y
ZXNvdXJjZS10aW1pbmctMi8jcmVzb3VyY2VzLWluY2x1ZGVkLWluLXRoZS1wZXJmb3JtYW5jZXJl
c291cmNldGltaW5nLWludGVyZmFjZSIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2Fk
ZXJzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGltZyBzcmM9ImRhdGE6aW1hZ2Uv
Z2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQU9UbTdBQUFBQ0g1QkFFQUFBQUFMQUFBQUFBQkFB
RUFBQUlDUkFFQU93PT0iPjwvaW1nPgorPHNjcmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQg
PT4geworICAgIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAg
IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jKGxpc3QgPT4geworICAgICAgICBj
b25zdCBlbnRyaWVzID0gbGlzdC5nZXRFbnRyaWVzKCk7CisgICAgICAgIGNvbnN0IGRhdGFFbnRy
aWVzID0gZW50cmllcy5maWx0ZXIoZSA9PiBlLm5hbWUuaW5jbHVkZXMoJ2RhdGE6JykpOworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGRhdGFFbnRyaWVzLmxlbmd0aCwgMCwgJ1RoZXJlIG11c3QgYmUg
bm8gZW50cnkgZm9yIGBkYXRhOiBVUkxgLicpOworICAgICAgICBjb25zdCBibHVlRW50cmllcyA9
IGVudHJpZXMuZmlsdGVyKGUgPT4gZS5uYW1lLmluY2x1ZGVzKCdibHVlLnBuZycpKTsKKyAgICAg
ICAgaWYgKGJsdWVFbnRyaWVzLmxlbmd0aCkgeworICAgICAgICAgIC8vIFdlIGNhbiBmaW5pc2gg
dGhlIHRlc3Qgb25jZSB3ZSBzZWUgdGhlIGVudHJ5IHdpdGggYmx1ZS5wbmcuCisgICAgICAgICAg
cmVzb2x2ZSgpOworICAgICAgICB9CisgICAgICB9KSkub2JzZXJ2ZSh7ZW50cnlUeXBlczogWydy
ZXNvdXJjZSddfSk7CisgICAgfSk7CisgICAgLy8gV2FpdCB1bnRpbCB0aGUgZG9jdW1lbnQgaXMg
bG9hZGVkLgorICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAgd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByZXNvbHZlKTsKKyAgICB9KTsKKyAgICAvLyBBZGQg
dGhlIGJsdWUucG5nIGltYWdlIGFmdGVyIGRvY3VtZW50IGlzIGxvYWRlZCB0byBlbnN1cmUgd2Un
dmUgcmVjZWl2ZWQKKyAgICAvLyBhbGwgb2YgdGhlIHByZXZpb3VzIFJlc291cmNlIFRpbWluZyBl
bnRyaWVzLgorICAgIGxvYWQuaW1hZ2UoJ2JsdWUucG5nJyk7CisgICAgcmV0dXJuIHByb21pc2U7
CisgIH0sICdSZXNvdXJjZXMgd2l0aCBkYXRhOiBVUklzIG11c3Qgbm90IGJlIHN1cmZhY2VkIGlu
IFJlc291cmNlIFRpbWluZycpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZV9UQU9fY3Jvc3Nfb3JpZ2luX3JlZGlyZWN0X2NoYWluLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlX1RBT19jcm9zc19vcmlnaW5fcmVkaXJlY3RfY2hhaW4tZXhwZWN0
ZWQudHh0CmluZGV4IDQ3Y2ZkMWRkYjRlNTc1NTdmNDk0NWE0MGQ5ZTBlMzE4ODYxNTljNDIuLmM1
ZmFkOTE1MWE4MjY3NWY3N2Q0ODg3NzhkMzYzZmVlMGI4NGFjYTAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlX1RBT19jcm9zc19vcmlnaW5fcmVkaXJlY3RfY2hhaW4tZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3Jlc291cmNlX1RBT19jcm9zc19vcmlnaW5fcmVkaXJlY3RfY2hhaW4tZXhwZWN0ZWQudHh0
CkBAIC0zLDggKzMsOCBAQAogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZAogUEFT
UyB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSBpcyBkZWZpbmVkCiBQQVNTIFRo
ZXJlIHNob3VsZCBiZSBvbmUgZW50cnkuCi1QQVNTIHJlZGlyZWN0U3RhcnQgPiAwIGluIHRpbWlu
ZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4KLVBBU1MgcmVkaXJlY3RTdGFydCA9PSBz
dGFydFRpbWUgaW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LgotUEFTUyBy
ZWRpcmVjdEVuZCA+IHJlZGlyZWN0U3RhcnQgaW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2lu
IHJlZGlyZWN0LgorRkFJTCByZWRpcmVjdFN0YXJ0ID4gMCBpbiB0aW1pbmcgYWxsb3dlZCBjcm9z
cy1vcmlnaW4gcmVkaXJlY3QuIGFzc2VydF90cnVlOiByZWRpcmVjdFN0YXJ0ID4gMCBpbiB0aW1p
bmcgYWxsb3dlZCBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuIGV4cGVjdGVkIHRydWUgZ290IGZhbHNl
CitGQUlMIHJlZGlyZWN0U3RhcnQgPT0gc3RhcnRUaW1lIGluIHRpbWluZyBhbGxvd2VkIGNyb3Nz
LW9yaWdpbiByZWRpcmVjdC4gYXNzZXJ0X2VxdWFsczogcmVkaXJlY3RTdGFydCA9PSBzdGFydFRp
bWUgaW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LiBleHBlY3RlZCA8bm9u
ZGV0ZXJtaW5pc3RpYyB0ZXN0IG91dHB1dD4gYnV0IGdvdCAwCitGQUlMIHJlZGlyZWN0RW5kID4g
cmVkaXJlY3RTdGFydCBpbiB0aW1pbmcgYWxsb3dlZCBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuIGFz
c2VydF90cnVlOiByZWRpcmVjdEVuZCA+IHJlZGlyZWN0U3RhcnQgaW4gdGltaW5nIGFsbG93ZWQg
Y3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogUEFTUyBmZXRj
aFN0YXJ0ID49IHJlZGlyZWN0RW5kIGluIHRpbWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiByZWRp
cmVjdC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfY2FjaGVkLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZV9jYWNoZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZDYxZDYzOTYxNmIxODAyZmY0YjYzZGU4MmEwMWZm
ZDcwMWY4MTRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfY2FjaGVkLmh0bWwKQEAg
LTAsMCArMSw1MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nIGNhY2hlZCByZXNvdXJjZXM8
L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93
d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMu
b3JnL1RSL3Jlc291cmNlLXRpbWluZy8jZG9tLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmctaW5p
dGlhdG9ydHlwZSIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3NleHRlbnNp
b24uanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3NldHVwKHtleHBsaWNpdF9kb25lOiB0cnVlfSk7
CisKKy8vIGV4cGxpY2l0bHkgdGVzdCB0aGUgbmFtZXNwYWNlIGJlZm9yZSB3ZSBzdGFydCB0ZXN0
aW5nCit0ZXN0X25hbWVzcGFjZSgiZ2V0RW50cmllc0J5VHlwZSIpOworCit2YXIgZDsKK3ZhciBp
ZnJhbWU7Cit2YXIgaWZyYW1lQm9keTsKK3ZhciBpbWFnZTsKK3ZhciByYW5kb20gPSBNYXRoLnJh
bmRvbSgpOworCitmdW5jdGlvbiBzZXR1cF9pZnJhbWUoKSB7CisgICAgaWZyYW1lID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2ZyYW1lQ29udGV4dCcpOworICAgIGQgPSBpZnJhbWUuY29udGVu
dFdpbmRvdy5kb2N1bWVudDsKKyAgICBpZnJhbWVCb2R5ID0gZC5ib2R5OworICAgIGlmcmFtZS5h
ZGRFdmVudExpc3RlbmVyKCdsb2FkJywgb25sb2FkX3Rlc3QsIGZhbHNlKTsKK30KK2Z1bmN0aW9u
IG9ubG9hZF90ZXN0KCkgeworICAgIGlmICh3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5
VHlwZSA9PT0gdW5kZWZpbmVkKSB7CisgICAgICBkb25lKCk7CisgICAgICByZXR1cm47CisgICAg
fQorICAgIHZhciBjb250ZXh0ID0gbmV3IFBlcmZvcm1hbmNlQ29udGV4dChpZnJhbWUuY29udGVu
dFdpbmRvdy5wZXJmb3JtYW5jZSk7CisgICAgdmFyIGVudHJpZXMgPSBjb250ZXh0LmdldEVudHJp
ZXNCeVR5cGUoJ3Jlc291cmNlJyk7CisgICAgdGVzdF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDIs
ICJUaGVyZSBzaG91bGQgYmUgdHdvIGVudHJpZXMiKTsKKyAgICBpZiAoZW50cmllcy5sZW5ndGgg
Pj0gMikgeworICAgICAgICB0ZXN0X2VxdWFscyhlbnRyaWVzWzBdLm5hbWUsIGVudHJpZXNbMV0u
bmFtZSwgIkJvdGggZW50cmllcyBzaG91bGQgaGF2ZSB0aGUgc2FtZSBuYW1lIik7CisgICAgfQor
ICAgIGRvbmUoKTsKK30KK3dpbmRvdy5zZXR1cF9pZnJhbWUgPSBzZXR1cF9pZnJhbWU7Cis8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxwPlRoaXMgdGVz
dCB2YWxpZGF0ZXMgdGhhdCBhIDMwNCBOb3QgTW9kaWZpZWQgcmVzb3VyY2UgYXBwZWFycyBpbiB0
aGUgYnVmZmVyLjwvcD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8aWZyYW1lIGlkPSJmcmFtZUNv
bnRleHQiIHNyYz0icmVzb3VyY2VzL2Zha2VfcmVzcG9uc2VzLmh0bWwiPjwvaWZyYW1lPgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZV9pbml0aWF0b3JfdHlwZXMuaHRtbAppbmRleCA5OTEyZGE3YzM0MDAx
MzhkNzMyNDVhY2MzNzI0NjNjYTE3NGU2ZjU4Li4yZTUyZjBlNGNkMDllYzllMGQyNmUyNDk0YWM1
ZTIwYjU4Y2U2MmI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9pbml0aWF0b3JfdHlwZXMuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZV9pbml0aWF0b3JfdHlwZXMuaHRtbApAQCAtOTUsOCArOTUsOCBA
QCBmdW5jdGlvbiBwZXJmb3JtX3Rlc3QoKSB7CiAgICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVz
LCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdyZXNvdXJjZV90aW1pbmdfdGVzdDAucG5n
JywgJ2ltZycpOwogICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmll
cywgcGF0aG5hbWUgKyAncmVzb3VyY2VfdGltaW5nX3Rlc3QwLnBuZz9pZD1zcmNzZXQtc3Jjc2V0
JywgJ2ltZycpOwogICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmll
cywgcGF0aG5hbWUgKyAncmVzb3VyY2VfdGltaW5nX3Rlc3QwLnBuZz9pZD1zcmNzZXQtc3JjJywg
J2ltZycpOwotICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcywg
cGF0aG5hbWUgKyAnYmxhbmtfcGFnZV9ncmVlbi5odG0nLCAnaWZyYW1lJyk7Ci0gICAgYWRkRW50
cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdibGFua19w
YWdlX2dyZWVuLmh0bT9pZD1mcmFtZScsICdmcmFtZScpOworICAgIGFkZEVudHJ5SWZFeGlzdHMo
ZW50cmllcywgZXhwZWN0ZWRfZW50cmllcywgcGF0aG5hbWUgKyAnZ3JlZW4uaHRtbCcsICdpZnJh
bWUnKTsKKyAgICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBh
dGhuYW1lICsgJ2dyZWVuLmh0bWw/aWQ9ZnJhbWUnLCAnZnJhbWUnKTsKICAgICBhZGRFbnRyeUlm
RXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ2VtcHR5X3Njcmlw
dC5qcycsICdzY3JpcHQnKTsKICAgICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVk
X2VudHJpZXMsIHBhdGhuYW1lICsgJ3Jlc291cmNlX3RpbWluZ190ZXN0MC5jc3M/aWQ9ZW1iZWQn
LCAnZW1iZWQnKTsKICAgICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJp
ZXMsIHBhdGhuYW1lICsgJ3Jlc291cmNlX3RpbWluZ190ZXN0MC5jc3M/aWQ9bjEnLCAnY3NzJyk7
CkBAIC0xMjgsNyArMTI4LDcgQEAgZnVuY3Rpb24gcGVyZm9ybV90ZXN0KCkgewogICAgIGFkZEVu
dHJ5SWZFeGlzdHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcywgcGF0aG5hbWUgKyAnbmVzdGVk
LmNzcycsICdsaW5rJyk7CiAgICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9l
bnRyaWVzLCBwYXRobmFtZSArICduZXN0ZWQuY3NzP2lkPXByZWZldGNoJywgJ2xpbmsnKTsKICAg
ICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsg
J25lc3RlZC5jc3M/aWQ9cHJlbG9hZCcsICdsaW5rJyk7Ci0gICAgYWRkRW50cnlJZkV4aXN0cyhl
bnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdibGFua19wYWdlX2dyZWVuLmh0
bT9pZD1wcmVyZW5kZXInLCAnbGluaycpOworICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywg
ZXhwZWN0ZWRfZW50cmllcywgcGF0aG5hbWUgKyAnZ3JlZW4uaHRtbD9pZD1wcmVyZW5kZXInLCAn
bGluaycpOwogICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcywg
cGF0aG5hbWUgKyAnbWFuaWZlc3QuanNvbicsICdsaW5rJyk7CiAgICAgYWRkRW50cnlJZkV4aXN0
cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdlbXB0eS5weT9pZD1iZWFj
b24nLCAnYmVhY29uJyk7CiAgICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9l
bnRyaWVzLCBwYXRobmFtZSArICdlbXB0eS5weT9pZD1mZXRjaCcsICdmZXRjaCcpOwpAQCAtMTU4
LDcgKzE1OCw3IEBAIHdpbmRvdy5vbl9hc3luY194aHJfZG9uZSA9IGZ1bmN0aW9uKCkgewogPGgx
PkRlc2NyaXB0aW9uPC9oMT4KIDxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBhbGwgb2YgdGhl
IGluaXRpYXRvciB0eXBlcyBhcmUgcmVwcmVzZW50ZWQuPC9wPgogPGRpdiBpZD0ibG9nIj48L2Rp
dj4KLTxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgb25sb2FkPSJvbmxvYWRfdGVzdCgpOyIgc3Jj
PSJyZXNvdXJjZXMvYWxsX3Jlc291cmNlX3R5cGVzLmh0bSIgc3R5bGU9IndpZHRoOiAyNTBweDsg
aGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1lPgotPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0MiIgb25s
b2FkPSJmcmFtZXNldF9vbmxvYWQoKTsiIHNyYz0icmVzb3VyY2VzL2dyZWVuX2ZyYW1lLmh0bSIg
c3R5bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1lPgorPGlmcmFtZSBp
ZD0iZnJhbWVDb250ZXh0IiBvbmxvYWQ9Im9ubG9hZF90ZXN0KCk7IiBzcmM9InJlc291cmNlcy9h
bGxfcmVzb3VyY2VfdHlwZXMuaHRtbCIgc3R5bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAyNTBw
eDsiPjwvaWZyYW1lPgorPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0MiIgb25sb2FkPSJmcmFtZXNl
dF9vbmxvYWQoKTsiIHNyYz0icmVzb3VyY2VzL2dyZWVuLWZyYW1lLmh0bWwiIHN0eWxlPSJ3aWR0
aDogMjUwcHg7IGhlaWdodDogMjUwcHg7Ij48L2lmcmFtZT4KIDwvYm9keT4KIDwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlX25lc3RlZF9kZWRpY2F0ZWRfd29ya2VyLndvcmtlci5qcyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3Jlc291cmNlX25lc3RlZF9kZWRpY2F0ZWRfd29ya2VyLndvcmtlci5qcwppbmRleCBmYzc5
MzA3NWJiYWRlMWIwODkxZWE4ZWNmNTAxMzcwNTFkODRiODIwLi4yYzlmNWY5NTQyOGFjYTVjZTlk
MTg3MTQyMjNmYWI2Zjc4ZjM2MGMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9uZXN0ZWRfZGVk
aWNhdGVkX3dvcmtlci53b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfbmVzdGVkX2RlZGljYXRl
ZF93b3JrZXIud29ya2VyLmpzCkBAIC0xLDYgKzEsNiBAQAogaW1wb3J0U2NyaXB0cygiL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyIpOwogCi1hc3luY190ZXN0KGFzeW5jIGZ1bmN0aW9uKCkgewor
YXN5bmNfdGVzdChmdW5jdGlvbigpIHsKICAgY29uc3Qgd29ya2VyID0gbmV3IFdvcmtlcigncmVz
b3VyY2VzL3dvcmtlcl93aXRoX2ltYWdlcy5qcycpOwogICB3b3JrZXIub25tZXNzYWdlID0gdGhp
cy5zdGVwX2Z1bmNfZG9uZSgoZXZlbnQpID0+IHsKICAgICBjb25zdCBjaGlsZE51bUVudHJpZXMg
PSBldmVudC5kYXRhOwpAQCAtMTQsNCArMTQsNCBAQCBhc3luY190ZXN0KGFzeW5jIGZ1bmN0aW9u
KCkgewogICAgIHdvcmtlci50ZXJtaW5hdGUoKTsKICAgfSk7CiB9LCAiUmVzb3VyY2UgdGltaW5n
IGZvciBuZXN0ZWQgZGVkaWNhdGVkIHdvcmtlcnMiKTsKLWRvbmUoKTsKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCitkb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV90aW1pbmdfY29u
dGVudF9sZW5ndGgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfdGltaW5nX2NvbnRlbnRfbGVu
Z3RoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kM2EzZjg4ZDFiZWFjMTAzNzAwNWVjYWY4ODg0
NTE2MDNjZGVlZTdhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfdGltaW5nX2NvbnRl
bnRfbGVuZ3RoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKKworSGFybmVzcyBFcnJvciAo
VElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1BBU1MgZW5jb2RlZEJvZHlTaXplIHNob3VsZCBi
ZSBlcXVhbCB0byB0aGUgYWN0dWFsIGJ5dGUgc2l6ZSBvZiB0aGUgY29udGVudAorUEFTUyBlbmNv
ZGVkQm9keVNpemUgc2hvdWxkIGJlIGVxdWFsIHRvIHRoZSBhY3R1YWwgYnl0ZSBzaXplIG9mIHRo
ZSBjb250ZW50IHdoZW4gbm8gaGVhZGVyIHByZXNlbnQKK1BBU1MgZW5jb2RlZEJvZHlTaXplIHNo
b3VsZCBiZSBlcXVhbCB0byB0aGUgYWN0dWFsIGJ5dGUgc2l6ZSBvZiB0aGUgY29udGVudCB3aGVu
IGhlYWRlciB2YWx1ZSBpcyBsb3dlciB0aGFuIGFjdHVhbCBjb250ZW50CitUSU1FT1VUIGVuY29k
ZWRCb2R5U2l6ZSBzaG91bGQgYmUgZXF1YWwgdG8gdGhlIGFjdHVhbCBieXRlIHNpemUgb2YgdGhl
IGNvbnRlbnQgd2hlbiBoZWFkZXIgdmFsdWUgaXMgaGlnaGVyIHRoYW4gYWN0dWFsIGNvbnRlbnQg
VGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfdGltaW5nX2NvbnRlbnRf
bGVuZ3RoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV90aW1pbmdfY29udGVudF9sZW5ndGguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zMmJkOGE5N2UwNzM0MTMyMzA2MTUxMjY5OGE1NjUyMzJmMTk3MmJkCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfdGltaW5nX2NvbnRlbnRfbGVuZ3RoLmh0bWwKQEAgLTAs
MCArMSwzNSBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiIC8+Cis8dGl0bGU+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUgdmFsdWUgb2YgZW5j
b2RlZEJvZHlTaXplIGluIGNlcnRhaW4gc2l0dWF0aW9ucy48L3RpdGxlPgorPGxpbmsgcmVsPSJo
ZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1h
bmNlcmVzb3VyY2V0aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXN0X3Jlc291cmNlX3Rp
bWluZ19mb3JfY29udGVudF9sZW5ndGgoe2FjdHVhbENvbnRlbnRMZW5ndGgsIGxlbmd0aEhlYWRl
cn0sIHRpdGxlKSB7CisgICAgICAgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgICAg
ICAgIGNvbnN0IGNvbnRlbnQgPSBuZXcgQXJyYXkoYWN0dWFsQ29udGVudExlbmd0aCkuZmlsbCgn
eCcpLmpvaW4oJycpCisgICAgICAgICAgICBjb25zdCB1cmwgPSBgcmVzb3VyY2VzL3Jlc291cmNl
LXRpbWluZy1jb250ZW50LWxlbmd0aC5weT9jb250ZW50PSR7Y29udGVudH0mbGVuZ3RoPSR7bGVu
Z3RoSGVhZGVyfWAKKyAgICAgICAgICAgIGZldGNoKHVybCkKKyAgICAgICAgICAgIGNvbnN0IGVu
dHJ5ID0gYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBuZXcgUGVyZm9ybWFuY2VPYnNlcnZl
cigoZW50cnlMaXN0LCBvYnNlcnZlcikgPT4geworICAgICAgICAgICAgICAgIG9ic2VydmVyLmRp
c2Nvbm5lY3QoKQorICAgICAgICAgICAgICAgIHJlc29sdmUoZW50cnlMaXN0LmdldEVudHJpZXMo
KVswXSkKKyAgICAgICAgICAgIH0pLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsncmVzb3VyY2UnXX0p
KQorCisgICAgICAgICAgICBjb25zdCBleHBlY3RlZENvbnRlbnRMZW5ndGggPSBOdW1iZXIuaXNJ
bnRlZ2VyKGxlbmd0aEhlYWRlcikgPyBNYXRoLm1pbihhY3R1YWxDb250ZW50TGVuZ3RoLCBsZW5n
dGhIZWFkZXIpIDogYWN0dWFsQ29udGVudExlbmd0aAorICAgICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhlbnRyeS5lbmNvZGVkQm9keVNpemUsIGV4cGVjdGVkQ29udGVudExlbmd0aCkKKyAgICAgICAg
fSwgdGl0bGUpOworICAgIH0KKworICAgIHRlc3RfcmVzb3VyY2VfdGltaW5nX2Zvcl9jb250ZW50
X2xlbmd0aCh7YWN0dWFsQ29udGVudExlbmd0aDogMywgbGVuZ3RoSGVhZGVyOiAnYXV0byd9LAor
ICAgICAgICAiZW5jb2RlZEJvZHlTaXplIHNob3VsZCBiZSBlcXVhbCB0byB0aGUgYWN0dWFsIGJ5
dGUgc2l6ZSBvZiB0aGUgY29udGVudCIpCisgICAgdGVzdF9yZXNvdXJjZV90aW1pbmdfZm9yX2Nv
bnRlbnRfbGVuZ3RoKHthY3R1YWxDb250ZW50TGVuZ3RoOiAxMywgbGVuZ3RoSGVhZGVyOiAnbm9u
ZSd9LAorICAgICAgICAiZW5jb2RlZEJvZHlTaXplIHNob3VsZCBiZSBlcXVhbCB0byB0aGUgYWN0
dWFsIGJ5dGUgc2l6ZSBvZiB0aGUgY29udGVudCB3aGVuIG5vIGhlYWRlciBwcmVzZW50IikKKyAg
ICB0ZXN0X3Jlc291cmNlX3RpbWluZ19mb3JfY29udGVudF9sZW5ndGgoe2FjdHVhbENvbnRlbnRM
ZW5ndGg6IDcsIGxlbmd0aEhlYWRlcjogM30sCisgICAgICAgICJlbmNvZGVkQm9keVNpemUgc2hv
dWxkIGJlIGVxdWFsIHRvIHRoZSBhY3R1YWwgYnl0ZSBzaXplIG9mIHRoZSBjb250ZW50IHdoZW4g
aGVhZGVyIHZhbHVlIGlzIGxvd2VyIHRoYW4gYWN0dWFsIGNvbnRlbnQiKQorICAgIHRlc3RfcmVz
b3VyY2VfdGltaW5nX2Zvcl9jb250ZW50X2xlbmd0aCh7YWN0dWFsQ29udGVudExlbmd0aDogOCwg
bGVuZ3RoSGVhZGVyOiA0MH0sCisgICAgICAgICJlbmNvZGVkQm9keVNpemUgc2hvdWxkIGJlIGVx
dWFsIHRvIHRoZSBhY3R1YWwgYnl0ZSBzaXplIG9mIHRoZSBjb250ZW50IHdoZW4gaGVhZGVyIHZh
bHVlIGlzIGhpZ2hlciB0aGFuIGFjdHVhbCBjb250ZW50IikKKzwvc2NyaXB0PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzLzIwMF9lbXB0eS5hc2lzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzLzIw
MF9lbXB0eS5hc2lzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI1ZDEwYmRhMzI0NTI4ZDFkODU0NjNiOWExNWEzNDdm
NWMxZmFlZDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvMjAwX2VtcHR5LmFzaXMK
QEAgLTAsMCArMSwzIEBACitIVFRQLzEuMCAyMDAgT0sKK0NvbnRlbnQtTGVuZ3RoOiAwCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlcy9UQU9SZXNwb25zZS5weSBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9UQU9S
ZXNwb25zZS5weQppbmRleCA5MDhiNjg4NjFhZTgyNjJhMThlMDgzYjAyNmQxNDU5MWQxZTAyMDZl
Li42MDM5MmI4ZTEwYWRhNGZkNzBhMDNhNjI1ODg0OTMwNmU5NzE0ZWM0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9yZXNvdXJjZXMvVEFPUmVzcG9uc2UucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL1RBT1Jlc3BvbnNl
LnB5CkBAIC0xLDggKzEsMTIgQEAKK2ltcG9ydCBvcworCiBkZWYgbWFpbihyZXF1ZXN0LCByZXNw
b25zZSk6Ci0gICAgb3JpZ2luID0gcmVxdWVzdC5oZWFkZXJzW2Inb3JpZ2luJ10KLSAgICByZXNw
b25zZS5oZWFkZXJzLnNldChiJ0FjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbicsIG9yaWdpbikK
KyAgICBpZiBiJ29yaWdpbicgaW4gcmVxdWVzdC5oZWFkZXJzOgorICAgICAgb3JpZ2luID0gcmVx
dWVzdC5oZWFkZXJzW2Inb3JpZ2luJ10KKyAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGInQWNj
ZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luJywgb3JpZ2luKQogCiAgICAgdGFvID0gcmVxdWVzdC5H
RVQuZmlyc3QoYid0YW8nKQorICAgIGltZyA9IHJlcXVlc3QuR0VULmZpcnN0KGInaW1nJykgaWYg
YidpbWcnIGluIHJlcXVlc3QuR0VUIGVsc2UgTm9uZQogCiAgICAgaWYgdGFvID09IGInemVybyc6
CiAgICAgIyB6ZXJvIFRBTyB2YWx1ZSwgZmFpbApAQCAtMTQsNyArMTgsNyBAQCBkZWYgbWFpbihy
ZXF1ZXN0LCByZXNwb25zZSk6CiAgICAgIyBudWxsLCBmYWlsIHVubGVzcyBpdCdzIGFuIG9wYXF1
ZSBvcmlnaW4KICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYidUaW1pbmctQWxsb3ctT3Jp
Z2luJywgYidudWxsJykKICAgICBlbGlmIHRhbyA9PSBiJ051bGwnOgotICAgICMgY2FzZS1pbnNl
bnRpdmUgbnVsbCwgZmFpbAorICAgICMgY2FzZS1pbnNlbnNpdGl2ZSBudWxsLCBmYWlsCiAgICAg
ICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGInVGltaW5nLUFsbG93LU9yaWdpbicsIGInTnVsbCcp
CiAgICAgZWxpZiB0YW8gPT0gYidvcmlnaW4nOgogICAgICMgY2FzZS1zZW5zaXRpdmUgbWF0Y2gg
Zm9yIG9yaWdpbiwgcGFzcwpAQCAtNDksMyArNTMsMTIgQEAgZGVmIG1haW4ocmVxdWVzdCwgcmVz
cG9uc2UpOgogICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiJ1RpbWluZy1BbGxvdy1Pcmln
aW4nLCBvcmlnaW4udXBwZXIoKSkKICAgICBlbHNlOgogICAgICAgICBwYXNzCisgICAgcmVzcG9u
c2Uuc3RhdHVzID0gMjAwCisgICAgaWYgaW1nOgorICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQo
YiJDb250ZW50LVR5cGUiLCBiImltYWdlL3BuZyIpCisgICAgICB3aXRoIG9wZW4ocmVxdWVzdC5k
b2Nfcm9vdCArICIvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ibHVlLnBuZyIsICJyYiIpIGFz
IGY6CisgICAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSBmLnJlYWQoKQorICAgICAgICBmLmNsb3Nl
KCkKKyAgICBlbHNlOgorICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJDb250ZW50LVR5cGUi
LCBiInRleHQvcGxhaW4iKQorICAgICAgcmVzcG9uc2UuY29udGVudCA9ICJURVNUIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvcmVzb3VyY2VzL2FsbF9yZXNvdXJjZV90eXBlcy5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vz
L2FsbF9yZXNvdXJjZV90eXBlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUyNTJhNDg3MmFiNGUyOGU2NjUw
YzQ1Yzc3OWIzODA1MjU0ZmE5MGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvYWxs
X3Jlc291cmNlX3R5cGVzLmh0bWwKQEAgLTAsMCArMSwxMDcgQEAKKzwhRE9DVFlQRSBIVE1MPgor
PGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hh
cnNldD11dGYtOCIgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiAvPgorICAgICAgICA8dGl0bGU+
QWxsIFJlc291cmNlIFR5cGVzIFRlc3QgUGFnZTwvdGl0bGU+CisgICAgICAgIDxsaW5rIHJlbD0i
c2hvcnRjdXQgaWNvbiIgaHJlZj0iZW1wdHkucHk/ZmF2aWNvbiI+CisgICAgPC9oZWFkPgorICAg
IDxib2R5IGJhY2tncm91bmQ9J2JsdWUucG5nP2lkPWJvZHknPgorICAgICAgICA8c2NyaXB0Pgor
ICAgICAgICAgICAgaWYgKHdpbmRvdy5wYXJlbnQuaGFzT3duUHJvcGVydHkoJ29uX3Rlc3RfYm9k
eV9jcmVhdGVkJykpCisgICAgICAgICAgICAgICAgd2luZG93LnBhcmVudC5vbl90ZXN0X2JvZHlf
Y3JlYXRlZCgpOworICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSJuZXN0ZWQuY3NzIj48L2xpbms+CisgICAgICAgIDxsaW5rIHJlbD0icHJlZmV0
Y2giIGhyZWY9Im5lc3RlZC5jc3M/aWQ9cHJlZmV0Y2giPjwvbGluaz4KKyAgICAgICAgPGxpbmsg
cmVsPSJwcmVsb2FkIiBocmVmPSJuZXN0ZWQuY3NzP2lkPXByZWxvYWQiIGFzPSJzdHlsZSI+PC9s
aW5rPgorICAgICAgICA8bGluayByZWw9InByZXJlbmRlciIgaHJlZj0iZ3JlZW4uaHRtbD9pZD1w
cmVyZW5kZXIiPjwvbGluaz4KKyAgICAgICAgPGxpbmsgcmVsPSJtYW5pZmVzdCIgaHJlZj0ibWFu
aWZlc3QuanNvbiI+PC9saW5rPgorICAgICAgICA8aW1nIHNyYz0icmVzb3VyY2VfdGltaW5nX3Rl
c3QwLnBuZyI+PC9pbWc+CisgICAgICAgIDxpbWcgc3JjPSJyZXNvdXJjZV90aW1pbmdfdGVzdDAu
cG5nP2lkPXNyY3NldC1zcmMiCisgICAgICAgICAgICBzcmNzZXQ9InJlc291cmNlX3RpbWluZ190
ZXN0MC5wbmc/aWQ9c3Jjc2V0LXNyY3NldCA2N3ciCisgICAgICAgICAgICBzaXplcz0iNjdweCI+
PC9pbWc+CisgICAgICAgIDxpZnJhbWUgc3JjPSJncmVlbi5odG1sIiB3aWR0aD0iMTAwcHgiIGhl
aWdodD0iMTAwcHgiPjwvaWZyYW1lPgorICAgICAgICA8c2NyaXB0IHNyYz0iZW1wdHlfc2NyaXB0
LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIHZhciBhc3luY194
aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7CisgICAgICAgICAgICBhc3luY194aHIub3BlbignR0VU
JywgJ2JsdWUucG5nP2lkPWFzeW5jX3hocicsIHRydWUpOworICAgICAgICAgICAgYXN5bmNfeGhy
Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIGlmIChh
c3luY194aHIucmVhZHlTdGF0ZSA9PSA0ICYmIGFzeW5jX3hoci5zdGF0dXMgPT0gMjAwICYmIHBh
cmVudC5oYXNPd25Qcm9wZXJ0eSgnb25fYXN5bmNfeGhyX2RvbmUnKSkKKyAgICAgICAgICAgICAg
ICAgICAgcGFyZW50Lm9uX2FzeW5jX3hocl9kb25lKCk7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICBhc3luY194aHIuc2VuZCgpOworCisgICAgICAgICAgICBpZiAod2luZG93Lm5hdmlnYXRv
ciAmJiBuYXZpZ2F0b3Iuc2VuZEJlYWNvbikgeworICAgICAgICAgICAgICAgIG5hdmlnYXRvci5z
ZW5kQmVhY29uKCdlbXB0eS5weT9pZD1iZWFjb24nKTsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgaWYgKHdpbmRvdy5mZXRjaCkgeworICAgICAgICAgICAgICAgIGZldGNoKCdlbXB0eS5w
eT9pZD1mZXRjaCcpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAod2luZG93LkV2
ZW50U291cmNlKSB7CisgICAgICAgICAgICAgICAgdmFyIGV2dFNvdXJjZSA9IG5ldyBFdmVudFNv
dXJjZSgnZXZlbnRzb3VyY2UucHk/aWQ9ZXZlbnRzb3VyY2UnKTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIEBmb250LWZhY2Ug
eworICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiByZW1vdGVGb250QWhlbTsKKyAgICAgICAg
ICAgICAgICBzcmM6IHVybCgnL2ZvbnRzL0FoZW0udHRmJyk7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICBpZnJhbWUgeworICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnYmx1ZS5w
bmc/aWQ9MScpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYm9keSB7CisgICAgICAgICAg
ICAgICAgY3Vyc29yOiB1cmwoJ2JsdWUucG5nP2lkPWN1cnNvcicpLCBwb2ludGVyOworICAgICAg
ICAgICAgfQorICAgICAgICAgICAgdWwgeworICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBy
ZW1vdGVGb250QWhlbTsKKyAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLWltYWdlOiB1cmwoJ2Js
dWUucG5nP2lkPTInKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICAgICAg
PHVsPgorICAgICAgICAgICAgPGxpPlRlc3Q8L2xpPgorICAgICAgICA8L3VsPgorICAgICAgICA8
b2w+CisgICAgICAgICAgICA8bGk+VGVzdDwvbGk+CisgICAgICAgIDwvb2w+CisgICAgICAgIDxl
bWJlZCBzcmM9InJlc291cmNlX3RpbWluZ190ZXN0MC5jc3M/aWQ9ZW1iZWQiIHR5cGU9InRleHQv
Y3NzIj48L2VtYmVkPgorICAgICAgICA8aW5wdXQgdHlwZT0iaW1hZ2UiIHNyYz0iYmx1ZS5wbmc/
aWQ9aW5wdXQiPjwvaW5wdXQ+CisgICAgICAgIDxvYmplY3QgdHlwZT0iaW1hZ2UvcG5nIiBkYXRh
PSJibHVlLnBuZz9pZD1vYmplY3QiPjwvb2JqZWN0PgorICAgICAgICA8dmlkZW8gcG9zdGVyPSJi
bHVlLnBuZz9pZD12aWRlby1wb3N0ZXIiPjwvdmlkZW8+CisgICAgICAgIDx2aWRlbyBzcmM9Ii9t
ZWRpYS90ZXN0Lm1wND9pZD12aWRlby1zcmMiIGF1dG9wbGF5PSJ0cnVlIj48L3ZpZGVvPgorICAg
ICAgICA8dmlkZW8gYXV0b3BsYXk9InRydWUiPgorICAgICAgICAgICAgPHNvdXJjZSBzcmM9Ii9t
ZWRpYS90ZXN0Lm1wND9pZD12aWRlby1zb3VyY2UiIHR5cGU9InZpZGVvL21wNCI+CisgICAgICAg
ICAgICA8c291cmNlIHNyYz0iL21lZGlhL3Rlc3Qub2d2P2lkPXZpZGVvLXNvdXJjZSIgdHlwZT0i
dmlkZW8vb2dnIj4KKyAgICAgICAgICAgIDx0cmFjayBraW5kPSJzdWJ0aXRsZXMiIHNyYz0iZW1w
dHkucHk/aWQ9dmlkZW8tdHJhY2siIHNyY2xhbmc9ImVuIiBkZWZhdWx0PgorICAgICAgICA8L3Zp
ZGVvPgorICAgICAgICA8YXVkaW8gc3JjPSJlbXB0eS5weT9pZD1hdWRpby1zcmMiPjwvYXVkaW8+
CisgICAgICAgIDxhdWRpbz4KKyAgICAgICAgICAgIDxzb3VyY2Ugc3JjPSJlbXB0eS5weT9pZD1h
dWRpby1zb3VyY2Utd2F2IiB0eXBlPSJhdWRpby93YXYiIC8+CisgICAgICAgICAgICA8c291cmNl
IHNyYz0iZW1wdHkucHk/aWQ9YXVkaW8tc291cmNlLW1wZWciIHR5cGU9ImF1ZGlvL21wZWciIC8+
CisgICAgICAgICAgICA8c291cmNlIHNyYz0iZW1wdHkucHk/aWQ9YXVkaW8tc291cmNlLW9nZyIg
dHlwZT0iYXVkaW8vb2dnIiAvPgorICAgICAgICA8L2F1ZGlvPgorICAgICAgICA8c3ZnIHdpZHRo
PTIwMCBoZWlnaHQ9MjAwCisgICAgICAgICAgICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAw
MC9zdmciCisgICAgICAgICAgICB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94
bGluayI+CisgICAgICAgICAgICA8aW1hZ2UgaHJlZj0iYmx1ZS5wbmc/aWQ9c3ZnLWltYWdlIiBo
ZWlnaHQ9IjIwMCIgd2lkdGg9IjIwMCIvPgorICAgICAgICA8L3N2Zz4KKyAgICAgICAgPHBpY3R1
cmU+CisgICAgICAgICAgICA8c291cmNlIHNyY3NldD0iYmx1ZS5wbmc/aWQ9cGljdHVyZS1zb3Vy
Y2UiIHR5cGU9ImltYWdlL3BuZyIgLz4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJibHVlLnBuZz9p
ZD1waWN0dXJlLWltZyIgLz4KKyAgICAgICAgPC9waWN0dXJlPgorICAgICAgICA8cGljdHVyZT4K
KyAgICAgICAgICAgIDxzb3VyY2Ugc3Jjc2V0PSJibHVlLnBuZz9pZD1waWN0dXJlLW5vdHN1cHBv
cnRlZC1zb3VyY2UiIHR5cGU9ImltYWdlL25vdHN1cHBvcnRlZCIgLz4KKyAgICAgICAgICAgIDxp
bWcgc3JjPSJibHVlLnBuZz9pZD1waWN0dXJlLW5vdHN1cHBvcnRlZC1pbWciIC8+CisgICAgICAg
IDwvcGljdHVyZT4KKyAgICAgICAgPHBpY3R1cmU+CisgICAgICAgICAgICA8aW1nIHNyYz0iYmx1
ZS5wbmc/aWQ9cGljdHVyZS1pbWctc3JjIgorICAgICAgICAgICAgICAgIHNyY3NldD0iYmx1ZS5w
bmc/aWQ9cGljdHVyZS1pbWctc3Jjc2V0IgorICAgICAgICAgICAgICAgIHNpemVzPSI2N3B4Ij48
L2ltZz4KKyAgICAgICAgPC9waWN0dXJlPgorICAgICAgICA8cGljdHVyZT4KKyAgICAgICAgICAg
IDxpbWcgc3JjPSJibHVlLnBuZz9pZD1waWN0dXJlLTk5eC1pbWctc3JjIgorICAgICAgICAgICAg
ICAgIHNyY3NldD0iYmx1ZS5wbmc/aWQ9cGljdHVyZS05OXgtaW1nLXNyY3NldCA5OXgiCisgICAg
ICAgICAgICAgICAgc2l6ZXM9IjY3cHgiPjwvaW1nPgorICAgICAgICA8L3BpY3R1cmU+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2J1ZmZlci1mdWxsLXV0
aWxpdGllcy5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9idWZmZXItZnVsbC11dGlsaXRpZXMuanMKaW5kZXgg
ZTBhNGYwYjEwODA5NDY1OGJlMGFlZjQ1M2JmODI2YmYwMWMyOGY5My4uNmNiMTc1M2IyZTlmYjg0
ZWM2ZmFjNDBlODM1ZTliYWM4M2YzZTY0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2J1ZmZl
ci1mdWxsLXV0aWxpdGllcy5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0
aWVzLmpzCkBAIC0xLDcxICsxLDc1IEBACi1sZXQgYXBwZW5kU2NyaXB0ID0gKHNyYywgcmVzb2x2
ZSkgPT4gewotICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3Njcmlw
dCcpOwotICAgIHNjcmlwdC50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7Ci0gICAgc2NyaXB0LnNy
YyA9IHNyYzsKLSAgICBzY3JpcHQub25sb2FkID0gcmVzb2x2ZTsKLSAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKHNjcmlwdCk7Ci19CisvLyBUaGlzIHNjcmlwdCByZWxpZXMgb24gcmVzb3Vy
Y2VzL3Jlc291cmNlLWxvYWRlcnMuanMuIEluY2x1ZGUgaXQgYmVmb3JlIGluIG9yZGVyIGZvciB0
aGUgYmVsb3cKKy8vIG1ldGhvZHMgdG8gd29yayBwcm9wZXJseS4KIAotbGV0IHhoclNjcmlwdCA9
IHNyYyA9PiB7Ci0gICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwotICAgIHhoci5v
cGVuKCJHRVQiLCBzcmMsIGZhbHNlKTsKLSAgICB4aHIuc2VuZChudWxsKTsKLX0KKy8vIFRoZSBy
ZXNvdXJjZXMgdXNlZCB0byB0cmlnZ2VyIG5ldyBlbnRyaWVzLgorY29uc3Qgc2NyaXB0UmVzb3Vy
Y2VzID0gWworICAgICdyZXNvdXJjZXMvZW1wdHkuanMnLAorICAgICdyZXNvdXJjZXMvZW1wdHlf
c2NyaXB0LmpzJywKKyAgICAncmVzb3VyY2VzL2VtcHR5LmpzP2lkJworXTsKIAotbGV0IHdhaXRG
b3JOZXh0VGFzayA9ICgpID0+IHsKK2NvbnN0IHdhaXRGb3JOZXh0VGFzayA9ICgpID0+IHsKICAg
ICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CiAgICAgICAgIHN0ZXBfdGltZW91dChy
ZXNvbHZlLCAwKTsKICAgICB9KTsKIH07CiAKLWxldCB3YWl0VW50aWxDb25kaXRpb25Jc01ldCA9
IGNvbmQgPT4gewotICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgICAg
bGV0IGNoZWNrQ29uZGl0aW9uID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBpZiAoY29uZC5h
cHBseShudWxsKSkgewotICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICAgICAgc3RlcF90aW1lb3V0KGNoZWNrQ29uZGl0aW9uLmJpbmQo
bnVsbCxjb25kKSwgMCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgc3RlcF90
aW1lb3V0KGNoZWNrQ29uZGl0aW9uLmJpbmQobnVsbCwgY29uZCksIDApOwotICAgIH0pOworY29u
c3QgY2xlYXJCdWZmZXJBbmRTZXRTaXplID0gc2l6ZSA9PiB7CisgIHBlcmZvcm1hbmNlLmNsZWFy
UmVzb3VyY2VUaW1pbmdzKCk7CisgIHBlcmZvcm1hbmNlLnNldFJlc291cmNlVGltaW5nQnVmZmVy
U2l6ZShzaXplKTsKIH0KIAotbGV0IHdhaXRGb3JFdmVudFRvRmlyZSA9ICgpID0+IHsKLSAgICBy
ZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0gICAgICAgIGxldCB3YWl0Rm9ySXQgPSBm
dW5jdGlvbigpIHsKLSAgICAgICAgICAgIGlmIChldmVudEZpcmVkKSB7Ci0gICAgICAgICAgICAg
ICAgZXZlbnRGaXJlZCA9IGZhbHNlOwotICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAg
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgc3RlcF90aW1lb3V0KHdhaXRGb3JJdCwg
MCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgc3RlcF90aW1lb3V0KHdhaXRG
b3JJdCwgMCk7Ci0gICAgfSk7Citjb25zdCBmb3JjZUJ1ZmZlckZ1bGxFdmVudCA9IGFzeW5jICgp
ID0+IHsKKyAgY2xlYXJCdWZmZXJBbmRTZXRTaXplKDEpOworICByZXR1cm4gbmV3IFByb21pc2Uo
YXN5bmMgcmVzb2x2ZSA9PiB7CisgICAgcGVyZm9ybWFuY2UuYWRkRXZlbnRMaXN0ZW5lcigncmVz
b3VyY2V0aW1pbmdidWZmZXJmdWxsJywgcmVzb2x2ZSk7CisgICAgLy8gTG9hZCAyIHJlc291cmNl
cyB0byBlbnN1cmUgb25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwgaXMgZmlyZWQuCisgICAgLy8g
TG9hZCB0aGVtIGluIG9yZGVyIGluIG9yZGVyIHRvIGdldCB0aGUgZW50cmllcyBpbiB0aGF0IG9y
ZGVyIQorICAgIGF3YWl0IGxvYWQuc2NyaXB0KHNjcmlwdFJlc291cmNlc1swXSk7CisgICAgYXdh
aXQgbG9hZC5zY3JpcHQoc2NyaXB0UmVzb3VyY2VzWzFdKTsKKyAgfSk7CiB9OwogCi1sZXQgY2xl
YXJCdWZmZXJBbmRTZXRTaXplID0gc2l6ZSA9PiB7Ci0gICAgcGVyZm9ybWFuY2UuY2xlYXJSZXNv
dXJjZVRpbWluZ3MoKTsKLSAgICBwZXJmb3JtYW5jZS5zZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNp
emUoc2l6ZSk7Ci19Ci0KLWxldCBmaWxsVXBUaGVCdWZmZXJXaXRoU2luZ2xlUmVzb3VyY2UgPSBz
cmMgPT4gewotICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgICAgLy8g
VGhpcyByZXNvdXJjZSBnZXRzIGJ1ZmZlcmVkIGluIHRoZSByZXNvdXJjZSB0aW1pbmcgZW50cnkg
YnVmZmVyLgotICAgICAgICBhcHBlbmRTY3JpcHQoc3JjLCByZXNvbHZlKTsKLSAgICB9KTsKK2Nv
bnN0IGZpbGxVcFRoZUJ1ZmZlcldpdGhTaW5nbGVSZXNvdXJjZSA9IGFzeW5jIChzcmMgPSBzY3Jp
cHRSZXNvdXJjZXNbMF0pID0+IHsKKyAgY2xlYXJCdWZmZXJBbmRTZXRTaXplKDEpOworICBhd2Fp
dCBsb2FkLnNjcmlwdChzcmMpOwogfTsKIAotbGV0IGxvYWRSZXNvdXJjZSA9IHNyYyA9PiB7Ci0g
ICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgICAgICBhcHBlbmRTY3JpcHQo
c3JjLCByZXNvbHZlKTsKLSAgICB9KTsKK2NvbnN0IGZpbGxVcFRoZUJ1ZmZlcldpdGhUd29SZXNv
dXJjZXMgPSBhc3luYyAoKSA9PiB7CisgICAgY2xlYXJCdWZmZXJBbmRTZXRTaXplKDIpOworICAg
IC8vIExvYWQgdGhlbSBpbiBvcmRlciBpbiBvcmRlciB0byBnZXQgdGhlIGVudHJpZXMgaW4gdGhh
dCBvcmRlciEKKyAgICBhd2FpdCBsb2FkLnNjcmlwdChzY3JpcHRSZXNvdXJjZXNbMF0pOworICAg
IGF3YWl0IGxvYWQuc2NyaXB0KHNjcmlwdFJlc291cmNlc1sxXSk7CiB9OwogCi1sZXQgZmlsbFVw
VGhlQnVmZmVyV2l0aFR3b1Jlc291cmNlcyA9IGFzeW5jIHNyYyA9PiB7Ci0gICAgLy8gVGhlc2Ug
cmVzb3VyY2VzIGdldCBidWZmZXJlZCBpbiB0aGUgcmVzb3VyY2UgdGltaW5nIGVudHJ5IGJ1ZmZl
ci4KLSAgICBhd2FpdCBsb2FkUmVzb3VyY2Uoc3JjKTsKLSAgICBhd2FpdCBsb2FkUmVzb3VyY2Uo
c3JjICsgJz9zZWNvbmQnKTsKK2NvbnN0IGFkZEFzc2VydFVucmVhY2hlZEJ1ZmZlckZ1bGwgPSB0
ID0+IHsKKyAgcGVyZm9ybWFuY2UuYWRkRXZlbnRMaXN0ZW5lcigncmVzb3VyY2V0aW1pbmdidWZm
ZXJmdWxsJywgdC5zdGVwX2Z1bmMoKCkgPT4geworICAgIGFzc2VydF91bnJlYWNoZWQoInJlc291
cmNldGltaW5nYnVmZmVyZnVsbCBzaG91bGQgbm90IGZpcmUiKQorICB9KSk7CiB9OwogCitjb25z
dCBjaGVja0VudHJpZXMgPSBudW1FbnRyaWVzID0+IHsKKyAgY29uc3QgZW50cmllcyA9IHBlcmZv
cm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7CisgIGFzc2VydF9lcXVhbHMoZW50
cmllcy5sZW5ndGgsIG51bUVudHJpZXMsCisgICAgICAnTnVtYmVyIG9mIGVudHJpZXMgZG9lcyBu
b3QgbWF0Y2ggdGhlIGV4cGVjdGVkIHZhbHVlLicpOworICBhc3NlcnRfdHJ1ZShlbnRyaWVzWzBd
Lm5hbWUuaW5jbHVkZXMoc2NyaXB0UmVzb3VyY2VzWzBdKSwKKyAgICAgIHNjcmlwdFJlc291cmNl
c1swXSArICIgaXMgaW4gdGhlIGVudHJpZXMgYnVmZmVyIik7CisgIGlmIChlbnRyaWVzLmxlbmd0
aCA+IDEpIHsKKyAgICBhc3NlcnRfdHJ1ZShlbnRyaWVzWzFdLm5hbWUuaW5jbHVkZXMoc2NyaXB0
UmVzb3VyY2VzWzFdKSwKKyAgICAgICAgc2NyaXB0UmVzb3VyY2VzWzFdICsgIiBpcyBpbiB0aGUg
ZW50cmllcyBidWZmZXIiKTsKKyAgfQorICBpZiAoZW50cmllcy5sZW5ndGggPiAyKSB7CisgICAg
YXNzZXJ0X3RydWUoZW50cmllc1syXS5uYW1lLmluY2x1ZGVzKHNjcmlwdFJlc291cmNlc1syXSks
CisgICAgICAgIHNjcmlwdFJlc291cmNlc1syXSArICIgaXMgaW4gdGhlIGVudHJpZXMgYnVmZmVy
Iik7CisgIH0KK30KKworY29uc3QgYnVmZmVyRnVsbEZpcmVQcm9taXNlID0gbmV3IFByb21pc2Uo
cmVzb2x2ZSA9PiB7CisgIHBlcmZvcm1hbmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc291cmNldGlt
aW5nYnVmZmVyZnVsbCcsIGFzeW5jICgpID0+IHsKKyAgICAvLyBXYWl0IGZvciB0aGUgbmV4dCB0
YXNrIGp1c3QgdG8gZW5zdXJlIHRoYXQgYWxsIGJ1ZmZlcmZ1bGwgZXZlbnRzIGhhdmUgZmlyZWQs
IGFuZCB0byBlbnN1cmUKKyAgICAvLyB0aGF0IHRoZSBzZWNvbmRhcnkgYnVmZmVyIGlzIGNvcGll
ZCAoYXMgdGhpcyBpcyBhbiBldmVudCwgdGhlcmUgbWF5IGJlIG1pY3JvdGFzayBjaGVja3BvaW50
cworICAgIC8vIHJpZ2h0IGFmdGVyIHJ1bm5pbmcgYW4gZXZlbnQgaGFuZGxlcikuCisgICAgYXdh
aXQgd2FpdEZvck5leHRUYXNrKCk7CisgICAgcmVzb2x2ZSgpOworICB9KTsKK30pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvcmVzb3VyY2VzL2NhY2hlYWJsZS1hbmQtdmFsaWRhdGVkLnB5IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2VzL2NhY2hlYWJsZS1hbmQtdmFsaWRhdGVkLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMxZjBlM2FiNDE3YTY5
MDc5ZjIwNzQ4NzUxYjJkNmJlOWE3ZDU1NTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZXMvY2FjaGVhYmxlLWFuZC12YWxpZGF0ZWQucHkKQEAgLTAsMCArMSwxMSBAQAorZGVmIG1haW4o
cmVxdWVzdCwgcmVzcG9uc2UpOgorICAgIHJldmFsaWRhdGlvbiA9ICdDYWNoZS1Db250cm9sJyBp
biByZXF1ZXN0LmhlYWRlcnMKKyAgICBjb250ZW50ID0gcmVxdWVzdC5HRVQuZmlyc3QoYidjb250
ZW50JykKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiJ0NhY2hlLUNvbnRyb2wnLCBiJ21heC1h
Z2U9NjAnKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGInRVRhZycsIGInYXNzZGZzZGZlJykK
KyAgICBpZiByZXZhbGlkYXRpb246CisgICAgICByZXNwb25zZS5zdGF0dXMgPSAoMzA0LCBiJ05v
dE1vZGlmaWVkJykKKyAgICBlbHNlOgorICAgICAgcmVzcG9uc2Uuc3RhdHVzID0gKDIwMCwgYidP
SycpOworICAgICAgcmVzcG9uc2Uud3JpdGVfc3RhdHVzX2hlYWRlcnMoKQorICAgICAgcmVzcG9u
c2Uud3JpdGVyLndyaXRlKGNvbnRlbnQpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2Nvbm5l
Y3Rpb24tcmV1c2UtdGVzdC5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jb25uZWN0aW9uLXJldXNlLXRlc3Qu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNGRlZjE2YzBiMGVjOTA0N2Y2ZjIyMjA3YmZlMTk5MzMwMjI5ODY0MQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jb25uZWN0aW9uLXJldXNlLXRlc3QuanMK
QEAgLTAsMCArMSw3MCBAQAorLy8gVGhpcyBzY3JpcHQgaXMgbG9hZGVkIGluIEhUVFAgYW5kIEhU
VFBTIGNvbnRleHRzIHRvIHZhbGlkYXRlCisvLyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGVu
dHJpZXMnIGF0dHJpYnV0ZXMgd2hlbiByZXVzaW5nIGNvbm5lY3Rpb25zLgorCisvLyBNYWtlIHRo
ZSBmaXJzdCByZXF1ZXN0IGJlZm9yZSBjYWxsaW5nICdhdHRyaWJ1dGVfdGVzdCcgc28gdGhhdCBv
bmx5IHRoZQorLy8gc2Vjb25kIHJlcXVlc3QncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGVu
dHJ5IHdpbGwgYmUgaW50ZXJyb2dhdGVkLgorLy8gV2UgZG9uJ3QgY2hlY2sgdGhlIGZpcnN0IHJl
cXVlc3QncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGVudHJ5IGJlY2F1c2UKKy8vIHRoYXQn
cyBub3Qgd2hhdCB0aGlzIHRlc3QgaXMgdHJ5aW5nIHRvIHZhbGlkYXRlLgorLy8KKy8vIE5vdGU6
IHRvIGVuc3VyZSB0aGF0IHdlIHJldXNlIHRoZSBjb25uZWN0aW9uIHRvIGZldGNoIG11bHRpcGxl
IHJlc291cmNlcywKKy8vIHdlIHVzZSB0aGUgc2FtZSBYTUxIdHRwUmVxdWVzdCBvYmplY3QgZm9y
IGVhY2ggcmVxdWVzdC4gQWx0aG91Z2ggaXQgZG9lc24ndAorLy8gc2VlbSB0byBiZSBzcGVjaWZp
ZWQsIGVhY2ggYnJvd3NlciB0ZXN0ZWQgYnkgV1BUIHdpbGwgcmV1c2UgdGhlIHVuZGVybHlpbmcK
Ky8vIFRDUCBjb25uZWN0aW9uIHdpdGggdGhpcyBhcHByb2FjaC4gUHJlLWVzdGFibGlzaGluZyB0
aGUgWEhSJ3MgY29ubmVjdGlvbgorLy8gaGVscHMgdXMgdG8gdGVzdCBjb25uZWN0aW9uIHJldXNl
IGFsc28gaW4gYnJvd3NlcnMgdGhhdCBtYXkga2V5IHRoZWlyCisvLyBjb25uZWN0aW9ucyBvbiB0
aGUgcmVsYXRlZCByZXF1ZXN0J3MgY3JlZGVudGlhbHMgbW9kZS4KK2NvbnN0IGNsaWVudCA9IG5l
dyBYTUxIdHRwUmVxdWVzdCgpOworY29uc3QgaWRlbnRpZmllciA9IE1hdGgucmFuZG9tKCk7Citj
b25zdCBwYXRoID0gYHJlc291cmNlcy9mYWtlX3Jlc3BvbnNlcy5weT90YWc9JHtpZGVudGlmaWVy
fWA7CitjbGllbnQub3BlbigiR0VUIiwgcGF0aCwgZmFsc2UpOworY2xpZW50LnNlbmQoKTsKKwor
YXR0cmlidXRlX3Rlc3QoCisgIGFzeW5jICgpID0+IHsKKyAgICBjbGllbnQub3BlbigiR0VUIiwg
cGF0aCArICImc2FtZV9yZXNvdXJjZT1mYWxzZSIsIGZhbHNlKTsKKyAgICBjbGllbnQuc2VuZCgp
OworCisgICAgLy8gV2UgZXhwZWN0IHRvIGdldCBhIDIwMCBPayByZXNwb25zZSBiZWNhdXNlIHdl
J3ZlIHJlcXVlc3RlZCBhIGRpZmZlcmVudAorICAgIC8vIHJlc291cmNlIHRoYW4gcHJldmlvdXMg
cmVxdWVzdHMuCisgICAgaWYgKGNsaWVudC5zdGF0dXMgIT0gMjAwKSB7CisgICAgICB0aHJvdyBu
ZXcgRXJyb3IoYEdvdCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhIDIwMCByZXNwb25zZS4gYCArCisg
ICAgICAgICAgICAgICAgICAgICAgYGNsaWVudC5zdGF0dXM6ICR7Y2xpZW50LnN0YXR1c31gKTsK
KyAgICB9CisgIH0sIHBhdGgsIGVudHJ5ID0+IHsKKyAgICBpbnZhcmlhbnRzLmFzc2VydF9jb25u
ZWN0aW9uX3JldXNlZChlbnRyeSk7CisKKyAgICAvLyBUaGUgZW50cnkgbXVzdCBhbHNvIGZvbGxv
dyB0aGUgc3BlY2lmaWNhdGlvbiBmb3IgYW55IGVudHJ5IGNvcnJlc3BvbmRpbmcKKyAgICAvLyB0
byBhICd0eXBpY2FsJyAyMDAgT2sgcmVzcG9uc2UuCisgICAgaWYgKHNlbGYubG9jYXRpb24ucHJv
dG9jb2wgPT0gJ2h0dHBzOicpIHsKKyAgICAgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzX25v
X3JlZGlyZWN0X2h0dHBzKGVudHJ5KTsKKyAgICB9IGVsc2UgeworICAgICAgaW52YXJpYW50cy5h
c3NlcnRfdGFvX3Bhc3Nfbm9fcmVkaXJlY3RfaHR0cChlbnRyeSk7CisgICAgfQorICB9LAorICAi
UGVyZm9ybWFuY2VSZXNyb3VjZVRpbWluZyBlbnRyaWVzIG5lZWQgdG8gY29uZm9ybSB0byB0aGUg
c3BlYyB3aGVuIGEgIiArCisgICJkaXN0aW5jdCByZXNvdXJjZSBpcyBmZXRjaGVkIG92ZXIgYSBw
ZXJzaXN0ZW50IGNvbm5lY3Rpb24iKTsKKworYXR0cmlidXRlX3Rlc3QoCisgIGFzeW5jICgpID0+
IHsKKyAgICBjbGllbnQub3BlbigiR0VUIiwgcGF0aCwgZmFsc2UpOworICAgIGNsaWVudC5zZXRS
ZXF1ZXN0SGVhZGVyKCJJZi1Ob25lLU1hdGNoIiwgaWRlbnRpZmllcik7CisgICAgY2xpZW50LnNl
bmQoKTsKKworICAgIC8vIFdlIGV4cGVjdCB0byBnZXQgYSAzMDQgTm90IE1vZGlmaWVkIHJlc3Bv
bnNlIGJlY2F1c2Ugd2UndmUgdXNlZCBhCisgICAgLy8gbWF0Y2hpbmcgJ2lkZW50aWZpZXInIGZv
ciB0aGUgSWYtTm9uZS1NYXRjaCBoZWFkZXIuCisgICAgaWYgKGNsaWVudC5zdGF0dXMgIT0gMzA0
KSB7CisgICAgICB0aHJvdyBuZXcgRXJyb3IoYEdvdCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhIDMw
NCByZXNwb25zZS4gYCArCisgICAgICAgICAgICAgICAgICAgICAgYGNsaWVudC5zdGF0dXM6ICR7
Y2xpZW50LnN0YXR1c31gKTsKKyAgICB9CisgIH0sIHBhdGgsIGVudHJ5ID0+IHsKKyAgICBpbnZh
cmlhbnRzLmFzc2VydF9jb25uZWN0aW9uX3JldXNlZChlbnRyeSk7CisKKyAgICAvLyBUaGUgZW50
cnkgbXVzdCBhbHNvIGZvbGxvdyB0aGUgc3BlY2lmaWNhdGlvbiBmb3IgYW55IGVudHJ5IGNvcnJl
c3BvbmRpbmcKKyAgICAvLyB0byBhICd0eXBpY2FsJyAzMDQgTm90IE1vZGlmaWVkIHJlc3BvbnNl
LgorICAgIGlmIChzZWxmLmxvY2F0aW9uLnByb3RvY29sID09ICdodHRwczonKSB7CisgICAgICBp
bnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc18zMDRfbm90X21vZGlmaWVkX2h0dHBzKGVudHJ5KTsK
KyAgICB9IGVsc2UgeworICAgICAgaW52YXJpYW50cy5hc3NlcnRfdGFvX3Bhc3NfMzA0X25vdF9t
b2RpZmllZF9odHRwKGVudHJ5KTsKKyAgICB9CisgIH0sCisgICJQZXJmb3JtYW5jZVJlc3JvdWNl
VGltaW5nIGVudHJpZXMgbmVlZCB0byBjb25mb3JtIHRvIHRoZSBzcGVjIHdoZW4gdGhlICIgKwor
ICAicmVzb3VyY2UgaXMgY2FjaGUtcmV2YWxpZGF0ZWQgb3ZlciBhIHBlcnNpc3RlbnQgY29ubmVj
dGlvbiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NzcC1kZWZhdWx0LW5vbmUuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3Jlc291cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWY1OWQ4YzIy
NTBmN2YxN2YxNDM4ODdkYzRmOGU2OGNkZjdmYWE4MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0bWwKQEAgLTAsMCArMSwzIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5lbXB0eSBwYWdlPC90aXRsZT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0bWwuaGVhZGVycyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3Jlc291cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0bWwuaGVhZGVycwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
NjZmODg2ZGQyM2Q0NGJiMzM3NTBjYjU3MjNmM2VkYjZiNzkzMGFiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL2NzcC1kZWZhdWx0LW5vbmUuaHRtbC5oZWFkZXJzCkBAIC0wLDAgKzEs
MiBAQAorQ29udGVudC1TZWN1cml0eS1Qb2xpY3k6IGRlZmF1bHQtc3JjICdub25lJworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3QuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NGNk
ZDhhODcwMWViNGQ3NDlmMTEyYWQ0MDE1ZDRlNTc3OWI3N2IxCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VzL2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3QuaHRtbApAQCAtMCwwICsxLDI4
IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0icmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
ZW50cnktaW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citjb25zdCBw
YXRoID0gbG9jYXRpb24ub3JpZ2luICsKKyAgICAgICAgICAgICAiL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvaWZyYW1lLXNldGRvbWFpbi5zdWIuaHRtbCI7CithdHRyaWJ1dGVfdGVzdF93aXRo
X3ZhbGlkYXRvcihsb2FkLmlmcmFtZSwgcGF0aCwKKyAgZWwgPT4geworICAgIHRyeSB7CisgICAg
ICBlbC5jb250ZW50V2luZG93LmRvY3VtZW50OworICAgICAgdGhyb3cgbmV3IEVycm9yKCJpZnJh
bWUgZG9jdW1lbnQuZG9tYWluIHdhcyBub3Qgc2V0Iik7CisgICAgfSBjYXRjaChlcnJvcikgewor
ICAgICAgaWYgKGVycm9yLm5hbWUgIT0gIlNlY3VyaXR5RXJyb3IiKSB7CisgICAgICAgIHRocm93
KGVycm9yKTsKKyAgICAgIH0KKyAgICB9CisgIH0sCisgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19w
YXNzX25vX3JlZGlyZWN0X2h0dHAsCisgICJ0ZXN0IHRoYXQgZG9jdW1lbnQuZG9tYWluIGJlaW5n
IHNldCBkb2Vzbid0IGhhdmUgYW4gaW1wYWN0IG9uIHRoZSAiICsKKyAgInJlc291cmNlIHRpbWlu
ZyBlbnRyeS4iCispOworPC9zY3JpcHQ+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1
bWVudC1yZWZyZXNoZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVudC1yZWZyZXNoZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43ZTRjYTA5ODkxZWQzNWUyNDRiMTUxNTFhMmE2MDc3YWY3NGU4NjVmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2RvY3VtZW50LXJlZnJlc2hlZC5odG1sCkBA
IC0wLDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04IiAvPgorPC9oZWFkPgorPGJvZHk+CisgICAgUmVmcmVzaGVkIGRvY3VtZW50
IQorPHNjcmlwdD4KKyAgICB0b3AucG9zdE1lc3NhZ2UoInJlZnJlc2hlZCIsICIqIik7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVu
dC10aGF0LXJlZnJlc2hlcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2RvY3VtZW50LXRoYXQtcmVmcmVz
aGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNzU1MjI3ODJhNjJkYmUzYjk4YjJmMWEwOWM1YmFiYzcwNjNi
NzUxMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVudC10aGF0LXJlZnJl
c2hlcy5odG1sCkBAIC0wLDAgKzEsOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8bWV0YSBodHRwLWVxdWl2PSJyZWZyZXNoIiBj
b250ZW50PSIwO2RvY3VtZW50LXJlZnJlc2hlZC5odG1sIj4KKzwvaGVhZD4KKzxib2R5PjwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9lbWJlZC1yZWZyZXNoLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvZW1iZWQtcmVmcmVzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRhNDlmZDBiNGMx
YjU0YzBmMDMyMDBmN2VkMmNiMmFlMjcyMzk3ODgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZXMvZW1iZWQtcmVmcmVzaC5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291
cmNlIFRpbWluZyBlbWJlZCByZWZyZXNoPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dl
dC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJuZXN0ZWQtY29udGV4
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgICBzZXR1cF9yZWZyZXNoX3Rlc3QoKTsKKzwv
c2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8ZW1iZWQgdHlwZT0idGV4dC9odG1sIj4KKzxz
Y3JpcHQ+CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImVtYmVkIilbMF0uc3Jj
ID0gcHJlX3JlZnJlc2hfdXJsOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMv
Z3JlZW4tZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi1mcmFtZS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjk2MTMyNDBhZTM4Nzg5YTEwNGQ3N2Q1NmY4OTBmZjYyNDIwOTM0YjAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4tZnJhbWUuaHRtbApAQCAtMCwwICsxLDcgQEAKKzxo
dG1sPgorICA8aGVhZD4KKyAgICA8ZnJhbWVzZXQ+CisgICAgICA8ZnJhbWUgc3JjPSJncmVlbi5o
dG1sP2lkPWZyYW1lIj4KKyAgICA8L2ZyYW1lc2V0PgorICA8L2hlYWQ+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmI4YTE5NDdiNzdlMjVhYzZiMGQxMDBjNzU5MzJlOGMwYTY3ZDg0NmYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4uaHRtbApAQCAtMCwwICsxLDEwIEBA
Cis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBjb250
ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Lz4KKyAgICAgICAgPHRpdGxlPkdyZWVuIFRlc3QgUGFnZTwvdGl0bGU+CisgICAgPC9oZWFkPgor
ICAgIDxib2R5IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiMwMEZGMDA7Ij4KKyAgICAgICAgPGgx
PlBsYWNlaG9sZGVyPC9oMT4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvZ3JlZW4uaHRtbC5oZWFkZXJzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2dyZWVuLmh0bWwuaGVh
ZGVycwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jYjc2MmVmZjgwNjg0OWRmNDZkYzc1OGVmN2I5OGI2M2YyN2Y1NGM5
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2dyZWVuLmh0bWwuaGVhZGVycwpAQCAt
MCwwICsxIEBACitBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW46ICoKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlcy9nemlwX3htbC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9nemlwX3htbC5weQppbmRleCAy
MjkzNjA1YWMzM2E0ZDM1N2E0MjZjZGUxMzliYjdkNDRlNGUwY2IzLi43ZGViYzljZTNmNmNiMDYx
YmU4Y2EzN2I3M2ZjZjlmMmE1Mzk2Mzg5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3ppcF94
bWwucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2d6aXBfeG1sLnB5CkBAIC0xLDcgKzEsNyBAQAogaW1w
b3J0IGd6aXAgYXMgZ3ppcF9tb2R1bGUKIGltcG9ydCBvcwogCi1mcm9tIHNpeCBpbXBvcnQgQnl0
ZXNJTworZnJvbSBpbyBpbXBvcnQgQnl0ZXNJTwogCiBmcm9tIHdwdHNlcnZlLnV0aWxzIGltcG9y
dCBpc29tb3JwaGljX2RlY29kZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvaWZyYW1lLXJl
ZnJlc2guaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9pZnJhbWUtcmVmcmVzaC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjRjZTNlYTA0MjQyOTdhYzdhODY2NGZjN2Y3YTZkY2JmZjY0ZDZmMTQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvaWZyYW1lLXJlZnJlc2guaHRtbApAQCAtMCwwICsxLDE1IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4K
Kzx0aXRsZT5SZXNvdXJjZSBUaW1pbmcgaWZyYW1lIHJlZnJlc2g8L3RpdGxlPgorPHNjcmlwdCBz
cmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Im5lc3RlZC1jb250ZXh0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICAgIHNldHVwX3JlZnJl
c2hfdGVzdCgpOworPC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4KKzxpZnJhbWU+PC9pZnJh
bWU+Cis8c2NyaXB0PgorICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpZnJhbWUi
KVswXS5zcmMgPSBwcmVfcmVmcmVzaF91cmw7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlcy9pZnJhbWUtcmVsb2FkLVRBTy5zdWIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9pZnJhbWUt
cmVsb2FkLVRBTy5zdWIuaHRtbAppbmRleCAyNTY4MDI2ZTY0ZWRiODRlNTc0ZTVjMWIwNmYzMjNj
YjM1ODliOTkyLi41NzdhZmY3NzU4Yzc3OTg5M2YwMTA2NThkMjE2ZjM0ODAyYTRlZGZlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvaWZyYW1lLXJlbG9hZC1UQU8uc3ViLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL2lmcmFtZS1yZWxvYWQtVEFPLnN1Yi5odG1sCkBAIC0xLDE0ICsxLDE0IEBACiA8
c3R5bGU+CiBAZm9udC1mYWNlIHsKICAgICBmb250LWZhbWlseTogYWhlbTsKLSAgICBzcmM6IHVy
bChodHRwOi8ve3tob3N0c1thbHRdW119fTp7e3BvcnRzW2h0dHBdWzFdfX0vcmVzb3VyY2UtdGlt
aW5nL3Jlc291cmNlcy9jb3JzLWFoZW0ucHkpOworICAgIHNyYzogdXJsKGh0dHA6Ly97e2RvbWFp
bnNbd3d3XX19Ont7cG9ydHNbaHR0cF1bMV19fS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2Nv
cnMtYWhlbS5weSk7CiB9CiA8L3N0eWxlPgogPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IGFoZW07
Ij5UaGlzIGZldGNoZXMgYWhlbSBmb250LjwvZGl2PgogPHNjcmlwdD4KICAgaWYgKGxvY2F0aW9u
Lmhhc2ggPT09ICcjY2hlY2snKSB7CiAgICAgICBkb2N1bWVudC5mb250cy5yZWFkeS50aGVuKCgp
PT4gewotICAgICAgICBjb25zdCBlbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFt
ZSgnaHR0cDovL3t7aG9zdHNbYWx0XVtdfX06e3twb3J0c1todHRwXVsxXX19L3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvY29ycy1haGVtLnB5Jyk7CisgICAgICAgIGNvbnN0IGVudHJpZXMgPSBw
ZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdodHRwOi8ve3tkb21haW5zW3d3d119fTp7e3Bv
cnRzW2h0dHBdWzFdfX0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jb3JzLWFoZW0ucHknKTsK
ICAgICAgICAgaWYgKGVudHJpZXMubGVuZ3RoICE9IDEpCiAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICBjb25zdCBlbnRyeSA9IGVudHJpZXNbMF07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMv
bXVsdGlfcmVkaXJlY3QucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvbXVsdGlfcmVkaXJlY3QucHkKaW5kZXgg
NTZmNWQ2Yzc3MTUzYTU1OThhZWUwYzY3OTVmYjkwOWMzZmRjZGRiZi4uYTVmYzVkYjRhYzkwMTU5
MTQ5MDhiYTJjY2VlYzE4OWY5ZDMyNzRkMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRp
X3JlZGlyZWN0LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9tdWx0aV9yZWRpcmVjdC5weQpAQCAtMSwz
ICsxLDQgQEAKK2ltcG9ydCB1cmxsaWIucGFyc2UKIGZyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0
IGlzb21vcnBoaWNfZW5jb2RlCiAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKQEAgLTM3
LDcgKzM4LDcgQEAgZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgogICAgIHJlZGlyZWN0X3Vy
bF9wYXRoID0gYiIvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9tdWx0aV9yZWRpcmVjdC5weT8i
CiAgICAgcmVkaXJlY3RfdXJsX3BhdGggKz0gYiJwYWdlX29yaWdpbj0iICsgcGFnZV9vcmlnaW4K
ICAgICByZWRpcmVjdF91cmxfcGF0aCArPSBiIiZjcm9zc19vcmlnaW49IiArIGNyb3NzX29yaWdp
bgotICAgIHJlZGlyZWN0X3VybF9wYXRoICs9IGIiJmZpbmFsX3Jlc291cmNlPSIgKyBmaW5hbF9y
ZXNvdXJjZQorICAgIHJlZGlyZWN0X3VybF9wYXRoICs9IGIiJmZpbmFsX3Jlc291cmNlPSIgKyB1
cmxsaWIucGFyc2UucXVvdGUoZmluYWxfcmVzb3VyY2UpLmVuY29kZSgnYXNjaWknKQogICAgIHJl
ZGlyZWN0X3VybF9wYXRoICs9IGIiJnRhb192YWx1ZT0iICsgdGFvX3ZhbHVlCiAgICAgcmVkaXJl
Y3RfdXJsX3BhdGggKz0gYiImdGFvX3N0ZXBzPSIgKyBpc29tb3JwaGljX2VuY29kZShzdHIobmV4
dF90YW9fc3RlcHMpKQogICAgIHJlZGlyZWN0X3VybF9wYXRoICs9IGIiJnN0ZXA9IgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvcmVzb3VyY2VzL29iamVjdC1yZWZyZXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvb2Jq
ZWN0LXJlZnJlc2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZTQzZTE5ZGUxOWZjN2MzNjRlNjhlMGIyNDE1
OTYzZjU1ZTlkZGIyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL29iamVjdC1yZWZy
ZXNoLmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nIG9iamVj
dCByZWZyZXNoPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3Vi
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJuZXN0ZWQtY29udGV4dHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdD4KKyAgICBzZXR1cF9yZWZyZXNoX3Rlc3QoKTsKKzwvc2NyaXB0PgorPGRpdiBp
ZD1sb2c+PC9kaXY+Cis8b2JqZWN0IHR5cGU9InRleHQvaHRtbCI+PC9vYmplY3Q+Cis8c2NyaXB0
PgorICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJvYmplY3QiKVswXS5kYXRhID0g
cHJlX3JlZnJlc2hfdXJsOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVk
aXJlY3QtY29ycy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9yZWRpcmVjdC1jb3JzLnB5Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmVhNjdjYjhlN2FjNGU2MTA0NWQwNWFmNTFmMDY2ZGI0OGJmZGYxMDEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvcmVkaXJlY3QtY29ycy5weQpAQCAtMCwwICsxLDEwIEBACitkZWYg
bWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CisgICAgbG9jYXRpb24gPSByZXF1ZXN0LkdFVC5maXJz
dChiImxvY2F0aW9uIikKKyAgICByZXNwb25zZS5zdGF0dXMgPSAzMDIKKyAgICByZXNwb25zZS5o
ZWFkZXJzLnNldChiIkxvY2F0aW9uIiwgbG9jYXRpb24pCisKKyAgICBpZiBiImFsbG93X29yaWdp
biIgaW4gcmVxdWVzdC5HRVQ6CisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNz
LUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5HRVQuZmlyc3QoYiJhbGxvd19vcmlnaW4i
KSkKKworICAgIGlmIGIidGltaW5nX2FsbG93X29yaWdpbiIgaW4gcmVxdWVzdC5HRVQ6CisgICAg
ICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiVGltaW5nLUFsbG93LU9yaWdpbiIsIHJlcXVlc3Qu
R0VULmZpcnN0KGIidGltaW5nX2FsbG93X29yaWdpbiIpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2VzL3Jlc291cmNlLXRpbWluZy1jb250ZW50LWxlbmd0aC5weSBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9yZXNv
dXJjZS10aW1pbmctY29udGVudC1sZW5ndGgucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmRiY2UwNDdiNzJlZjA1
OTc2ZDUyOTZlYTM4OTYxZTIwNWEwZjA0ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
cy9yZXNvdXJjZS10aW1pbmctY29udGVudC1sZW5ndGgucHkKQEAgLTAsMCArMSwxOSBAQAorZGVm
IG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorICAgIGNvbnRlbnQgPSByZXF1ZXN0LkdFVC5maXJz
dChiImNvbnRlbnQiKQorICAgIGxlbmd0aCA9IHJlcXVlc3QuR0VULmZpcnN0KGIibGVuZ3RoIiku
ZGVjb2RlKCJhc2NpaSIpCisgICAgcmVzcG9uc2UuYWRkX3JlcXVpcmVkX2hlYWRlcnMgPSBGYWxz
ZQorCisgICAgb3V0cHV0ID0gIGIiSFRUUC8xLjEgMjAwIE9LXHJcbiIKKyAgICBvdXRwdXQgKz0g
YiJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47Y2hhcnNldD1VVEYtOFxyXG4iCisgICAgaWYgbGVu
Z3RoID09IGIiYXV0byIgOgorICAgICAgICBvdXRwdXQgKz0gYiJDb250ZW50LUxlbmd0aDoiCisg
ICAgICAgIG91dHB1dCArPSAiezB9Ii5mb3JtYXQobGVuKGNvbnRlbnQpKS5lbmNvZGUoImFzY2lp
IikKKyAgICAgICAgb3V0cHV0ICs9IGIiXHJcbiIKKyAgICBlbGlmIGxlbmd0aCAhPSBiIm5vbmUi
IDoKKyAgICAgICAgb3V0cHV0ICs9IGIiQ29udGVudC1MZW5ndGg6IgorICAgICAgICBvdXRwdXQg
Kz0gInswfSIuZm9ybWF0KGxlbmd0aCkuZW5jb2RlKCJhc2NpaSIpCisgICAgICAgIG91dHB1dCAr
PSBiIlxyXG4iCisgICAgb3V0cHV0ICs9IGIiXHJcbiIKKyAgICBvdXRwdXQgKz0gY29udGVudAor
ICAgIHJlc3BvbnNlLndyaXRlci53cml0ZShvdXRwdXQpCisgICAgcmVzcG9uc2UuY2xvc2VfY29u
bmVjdGlvbiA9IFRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9yZXNvdXJjZV90aW1pbmdf
dGVzdDAueG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3Jlc291cmNlX3RpbWluZ190ZXN0MC54bWwKaW5kZXgg
YWRmNjAxYzhhMTQ5YWI2M2Q0YWNiODI3MWFlOTI1YzYyOGM3NzU4Yi4uOTFjZDY3NmJlNmU2ZjFh
ZTJiYWIzZGMxYTAwNTNkYTQ5MmI0MzUxNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3Jlc291
cmNlX3RpbWluZ190ZXN0MC54bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3Jlc291cmNlX3RpbWluZ190
ZXN0MC54bWwKQEAgLTEsNiArMSw2IEBACiA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJ
U08tODg1OS0xIj8+CiA8VEVTVERBVEE+CiAgICAgPElURU0+Ci0gICAgICAgIDxEQVRBPlRlc3Qg
WE1MIERhdGE8L2RhdGE+Ci0gICAgPC9pdGVtPgotPC90ZXN0ZGF0YT4KKyAgICAgICAgPERBVEE+
VGVzdCBYTUwgRGF0YTwvREFUQT4KKyAgICA8L0lURU0+Cis8L1RFU1REQVRBPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL3NpemVzLWhlbHBlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9zaXplcy1oZWxw
ZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODYzMzY2ODZiMzI5MDJlYzFjMTIzYjBmNTVmZjY3ZTlhYmE0MzA2
MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9zaXplcy1oZWxwZXIuanMKQEAgLTAs
MCArMSwxNiBAQAorLy8gSGVhZGVyIHNpemUgaXMgYSBmaXhlZCBjb25zdGFudC4KKy8vIGh0dHBz
Oi8vdzNjLmdpdGh1Yi5pby9yZXNvdXJjZS10aW1pbmcvI2RvbS1wZXJmb3JtYW5jZXJlc291cmNl
dGltaW5nLXRyYW5zZmVyc2l6ZQorY29uc3QgaGVhZGVyU2l6ZSA9IDMwMDsKKworY29uc3QgY2Fj
aGVCdXN0VXJsID0gdXJsID0+IHsKKyAgcmV0dXJuIHVybCArICcmdW5pcXVlPScgKyBNYXRoLnJh
bmRvbSgpLnRvU3RyaW5nKCkuc3Vic3RyaW5nKDIpOworfQorCitjb25zdCBjaGVja1NpemVGaWVs
ZHMgPSAoZW50cnksIGJvZHlTaXplLCB0cmFuc2ZlclNpemUpID0+IHsKKyAgYXNzZXJ0X2VxdWFs
cyhlbnRyeS5kZWNvZGVkQm9keVNpemUsIGJvZHlTaXplLAorICAgICAgICAgICAgICAgICdkZWNv
ZGVkQm9keVNpemUnKTsKKyAgYXNzZXJ0X2VxdWFscyhlbnRyeS5lbmNvZGVkQm9keVNpemUsIGJv
ZHlTaXplLAorICAgICAgICAgICAgICAgICdlbmNvZGVkQm9keVNpemUnKTsKKyAgYXNzZXJ0X2Vx
dWFscyhlbnRyeS50cmFuc2ZlclNpemUsIHRyYW5zZmVyU2l6ZSwKKyAgICAgICAgICAgICAgICAn
dHJhbnNmZXJTaXplJyk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvc3RhdHVzLWNvZGUu
cHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvc3RhdHVzLWNvZGUucHkKaW5kZXggOWJjMDJiZDM0Njc5ZWRkNjNm
MDBkYzQ2MTBjNDg1YjhkMTBjYTZkMy4uNzIyMjJiMzllNDg1NzRjNjY2MDUyYjJiYjRkNzAyOWZk
NmJhNTI2YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3N0YXR1cy1jb2RlLnB5CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlcy9zdGF0dXMtY29kZS5weQpAQCAtMSw0ICsxLDYgQEAKIGRlZiBtYWluKHJlcXVl
c3QsIHJlc3BvbnNlKToKICAgICBzdGF0dXMgPSByZXF1ZXN0LkdFVC5maXJzdChiJ3N0YXR1cycp
CiAgICAgcmVzcG9uc2Uuc3RhdHVzID0gKHN0YXR1cywgYiIiKTsKKyAgICBpZiBiJ3Rhb192YWx1
ZScgaW4gcmVxdWVzdC5HRVQ6CisgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiJ3RpbWluZy1h
bGxvdy1vcmlnaW4nLCByZXF1ZXN0LkdFVC5maXJzdChiJ3Rhb192YWx1ZScpKQogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3dl
YnBlcmZ0ZXN0aGFybmVzcy5qcwppbmRleCA4ZTA0ZTUyZjljNTdmYWZiNmE1OTlkYTNhMTk2M2Fh
NmVkNTQ1ZTZmLi44NjllZjNkNzRmNzdiNTg1ZTE0YWZjMDBhOGRjOTBiZTA5ZGI5NzBhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMKQEAgLTYyLDI2ICs2MiwyNiBAQCBmdW5jdGlvbiB0
ZXN0X25hbWVzcGFjZShjaGlsZF9uYW1lLCBza2lwX3Jvb3QpCiAgICAgaWYgKHNraXBfcm9vdCA9
PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgIHZhciBtc2cgPSAnd2luZG93LnBlcmZvcm1hbmNlIGlz
IGRlZmluZWQnOwogICAgICAgICAvLyBUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBw
cm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVz
LgotICAgICAgICB3cF90ZXN0KGZ1bmN0aW9uICgpIHsgYXNzZXJ0X3RydWUocGVyZm9ybWFuY2VO
YW1lc3BhY2UgIT09IHVuZGVmaW5lZCwgbXNnKTsgfSwgbXNnKTsKKyAgICAgICAgd3BfdGVzdChm
dW5jdGlvbiAoKSB7IGFzc2VydF9ub3RfZXF1YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNlLCB1bmRl
ZmluZWQsIG1zZyk7IH0sIG1zZyk7CiAgICAgfQogCiAgICAgaWYgKGNoaWxkX25hbWUgIT09IHVu
ZGVmaW5lZCkgewogICAgICAgICB2YXIgbXNnMiA9ICd3aW5kb3cucGVyZm9ybWFuY2UuJyArIGNo
aWxkX25hbWUgKyAnIGlzIGRlZmluZWQnOwogICAgICAgICAvLyBUaGUgd2luZG93LnBlcmZvcm1h
bmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVs
YXRlZCBhdHRyaWJ1dGVzLgotICAgICAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfdHJ1
ZShwZXJmb3JtYW5jZU5hbWVzcGFjZVtjaGlsZF9uYW1lXSAhPT0gdW5kZWZpbmVkLCBtc2cyKTsg
fSwgbXNnMik7CisgICAgICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF9ub3RfZXF1YWxz
KHBlcmZvcm1hbmNlTmFtZXNwYWNlW2NoaWxkX25hbWVdLCB1bmRlZmluZWQsIG1zZzIpOyB9LCBt
c2cyKTsKICAgICB9CiB9CiAKIGZ1bmN0aW9uIHRlc3RfYXR0cmlidXRlX2V4aXN0cyhwYXJlbnRf
bmFtZSwgYXR0cmlidXRlX25hbWUsIHByb3BlcnRpZXMpCiB7CiAgICAgdmFyIG1zZyA9ICd3aW5k
b3cucGVyZm9ybWFuY2UuJyArIHBhcmVudF9uYW1lICsgJy4nICsgYXR0cmlidXRlX25hbWUgKyAn
IGlzIGRlZmluZWQuJzsKLSAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfdHJ1ZShwZXJm
b3JtYW5jZU5hbWVzcGFjZVtwYXJlbnRfbmFtZV1bYXR0cmlidXRlX25hbWVdICE9PSB1bmRlZmlu
ZWQsIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7CisgICAgd3BfdGVzdChmdW5jdGlvbigpIHsg
YXNzZXJ0X25vdF9lcXVhbHMocGVyZm9ybWFuY2VOYW1lc3BhY2VbcGFyZW50X25hbWVdW2F0dHJp
YnV0ZV9uYW1lXSwgdW5kZWZpbmVkLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOwogfQogCiBm
dW5jdGlvbiB0ZXN0X2VudW0ocGFyZW50X25hbWUsIGVudW1fbmFtZSwgdmFsdWUsIHByb3BlcnRp
ZXMpCiB7CiAgICAgdmFyIG1zZyA9ICd3aW5kb3cucGVyZm9ybWFuY2UuJyArIHBhcmVudF9uYW1l
ICsgJy4nICsgZW51bV9uYW1lICsgJyBpcyBkZWZpbmVkLic7Ci0gICAgd3BfdGVzdChmdW5jdGlv
bigpIHsgYXNzZXJ0X3RydWUocGVyZm9ybWFuY2VOYW1lc3BhY2VbcGFyZW50X25hbWVdW2VudW1f
bmFtZV0gIT09IHVuZGVmaW5lZCwgbXNnKTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKKyAgICB3cF90
ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfbm90X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZVtw
YXJlbnRfbmFtZV1bZW51bV9uYW1lXSwgdW5kZWZpbmVkLCBtc2cpOyB9LCBtc2csIHByb3BlcnRp
ZXMpOwogCiAgICAgbXNnID0gJ3dpbmRvdy5wZXJmb3JtYW5jZS4nICsgcGFyZW50X25hbWUgKyAn
LicgKyBlbnVtX25hbWUgKyAnID0gJyArIHZhbHVlOwogICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7
IGFzc2VydF9lcXVhbHMocGVyZm9ybWFuY2VOYW1lc3BhY2VbcGFyZW50X25hbWVdW2VudW1fbmFt
ZV0sIHZhbHVlLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOwpAQCAtMTQ4LDcgKzE0OCw3IEBA
IGZ1bmN0aW9uIHRlc3RfZ3JlYXRlcl9vcl9lcXVhbHModmFsdWUsIGdyZWF0ZXJfdGhhbiwgbXNn
LCBwcm9wZXJ0aWVzKQogCiBmdW5jdGlvbiB0ZXN0X25vdF9lcXVhbHModmFsdWUsIG5vdGVxdWFs
cywgbXNnLCBwcm9wZXJ0aWVzKQogewotICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF90
cnVlKHZhbHVlICE9PSBub3RlcXVhbHMsIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7CisgICAg
d3BfdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X25vdF9lcXVhbHModmFsdWUsIG5vdGVxdWFscywg
bXNnKTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKIH0KIAogZnVuY3Rpb24gdGVzdF90YW9fcGFzcyhl
bnRyeSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzc2V4dGVu
c2lvbi5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3NleHRlbnNpb24uanMKaW5k
ZXggOGJjNzRiZjgxMWU5MTZmM2E4MTFkNDZkZWUzNjMyYzk3MGMwNWJlNi4uZGMwMmMwNzViM2Qw
N2Y3YzU3MTY0ZjBlYzI0YzMyYWRiNzZjMGRlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3dl
YnBlcmZ0ZXN0aGFybmVzc2V4dGVuc2lvbi5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvd2VicGVyZnRl
c3RoYXJuZXNzZXh0ZW5zaW9uLmpzCkBAIC0xLDEyICsxLDYgQEAKLS8qCi1EaXN0cmlidXRlZCB1
bmRlciBib3RoIHRoZSBXM0MgVGVzdCBTdWl0ZSBMaWNlbnNlIFsxXSBhbmQgdGhlIFczQwotMy1j
bGF1c2UgQlNEIExpY2Vuc2UgWzJdLiBUbyBjb250cmlidXRlIHRvIGEgVzNDIFRlc3QgU3VpdGUs
IHNlZSB0aGUKLXBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgotCi1bMV0gaHR0
cDovL3d3dy53My5vcmcvQ29uc29ydGl1bS9MZWdhbC8yMDA4LzA0LXRlc3RzdWl0ZS1saWNlbnNl
Ci1bMl0gaHR0cDovL3d3dy53My5vcmcvQ29uc29ydGl1bS9MZWdhbC8yMDA4LzAzLWJzZC1saWNl
bnNlCi1bM10gaHR0cDovL3d3dy53My5vcmcvMjAwNC8xMC8yNy10ZXN0Y2FzZXMKLSAqLworLy8K
Ky8vIEhlbHBlciBmdW5jdGlvbnMgZm9yIFJlc291cmNlIFRpbWluZyB0ZXN0cworLy8KIAogdmFy
IG1hcmtfbmFtZXMgPSBbCiAgICAgJycsCkBAIC0yNyw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3Rf
bWV0aG9kX2V4aXN0cyhtZXRob2QsIG1ldGhvZF9uYW1lLCBwcm9wZXJ0aWVzKQogICAgICAgICBt
c2cgPSAncGVyZm9ybWFuY2UuJyArIG1ldGhvZC5uYW1lICsgJyBpcyBzdXBwb3J0ZWQhJzsKICAg
ICBlbHNlCiAgICAgICAgIG1zZyA9ICdwZXJmb3JtYW5jZS4nICsgbWV0aG9kX25hbWUgKyAnIGlz
IHN1cHBvcnRlZCEnOwotICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF90cnVlKHR5cGVv
ZiBtZXRob2QgPT09ICdmdW5jdGlvbicsIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7CisgICAg
d3BfdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X2VxdWFscyh0eXBlb2YgbWV0aG9kLCAnZnVuY3Rp
b24nLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOwogfQogCiBmdW5jdGlvbiB0ZXN0X25vbGVz
c190aGFuKHZhbHVlLCBncmVhdGVyX3RoYW4sIG1zZywgcHJvcGVydGllcykKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3NhbWUtb3JpZ2luLWZyb20tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3NhbWUtb3JpZ2luLWZyb20tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMDVhNzZlZDljOTY3NDkxYTU0N2VhY2M3Y2UzZTY4ZjZkM2QxMzlkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvc2FtZS1vcmlnaW4tZnJvbS1jcm9zcy1vcmlnaW4tcmVkaXJlY3Qt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFZlcmlmeSB0aGF0IGNyb3NzIG9y
aWdpbiByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIGV4cG9zZWQgd2hlbiB0aGUgZmluYWwgcmVzb3Vy
Y2UgYXQgdGhlIGVuZCBvZiBhbiBIVFRQIHJlZGlyZWN0IGNoYWluIGlzIHNhbWUtb3JpZ2luLgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9zYW1lLW9yaWdpbi1mcm9tLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvc2FtZS1vcmlnaW4tZnJvbS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44NzQwYjgxYjEzZmQ4YWE3YTI2OWExMGNmMmRkMzAyM2EwZmJjMmE1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvc2FtZS1vcmlnaW4tZnJvbS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRt
bApAQCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5UaGlzIHRlc3QgdmFsaWRhdGVzIHJlc291cmNl
IHRpbWluZyBpbmZvcm1hdGlvbiBmb3IgYSBzYW1lLW9yaWdpbgorcmVzb3VyY2UgZmV0Y2hlZCB0
aHJvdWdoIGEgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0IGNoYWluLjwvdGl0bGU+Cis8bGluayByZWw9
ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cHM6Ly9nb29nbGUuY29tLyIgLz4KKzxs
aW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWlu
Zy0yLyNzZWMtcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0
LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNv
dXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnkt
aW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citjb25z
dCB7SFRUUF9SRU1PVEVfT1JJR0lOfSA9IGdldF9ob3N0X2luZm8oKTsKK2xldCBkZXN0VXJsID0g
YCR7SFRUUF9SRU1PVEVfT1JJR0lOfS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRpX3Jl
ZGlyZWN0LnB5P2A7CitkZXN0VXJsICs9IGBwYWdlX29yaWdpbj1odHRwOi8vJHtkb2N1bWVudC5s
b2NhdGlvbi5ob3N0fWA7CitkZXN0VXJsICs9IGAmY3Jvc3Nfb3JpZ2luPSR7SFRUUF9SRU1PVEVf
T1JJR0lOfWA7CitkZXN0VXJsICs9IGAmZmluYWxfcmVzb3VyY2U9L3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvYmxhbmstd2l0aC10YW8uaHRtbGA7CisKK2F0dHJpYnV0ZV90ZXN0KAorICBsb2Fk
LmlmcmFtZSwgZGVzdFVybCwKKyAgaW52YXJpYW50cy5hc3NlcnRfc2FtZV9vcmlnaW5fcmVkaXJl
Y3RlZF9mcm9tX2Nyb3NzX29yaWdpbl9yZXNvdXJjZSwKKyAgIlZlcmlmeSB0aGF0IGNyb3NzIG9y
aWdpbiByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIGV4cG9zZWQgd2hlbiB0aGUgZmluYWwgIiArCisg
ICJyZXNvdXJjZSBhdCB0aGUgZW5kIG9mIGFuIEhUVFAgcmVkaXJlY3QgY2hhaW4gaXMgc2FtZS1v
cmlnaW4uIik7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
c2l6ZXMtY2FjaGUuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMtY2FjaGUuYW55LmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFm
NzBlNWE2ZGVkM2U2M2QxNThmZDkyOWZlYWNmMDgyN2IzY2FmYzkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9zaXplcy1jYWNoZS5hbnkuanMKQEAgLTAsMCArMSw1NSBAQAorLy8gTUVUQTogZ2xvYmFs
PXdpbmRvdyx3b3JrZXIKKy8vIE1FVEE6IHNjcmlwdD0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
cy9zaXplcy1oZWxwZXIuanMKKy8vIE1FVEE6IHNjcmlwdD0vcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzCisKK2xldCB1cmwgPSBuZXcgVVJMKAorICAnL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvY2FjaGVhYmxlLWFuZC12YWxpZGF0ZWQucHknICsKKyAgJz9j
b250ZW50PWxvcmVtaXBzdW1ibGFibGFibGEnLAorICBsb2NhdGlvbi5ocmVmKS5ocmVmOworY29u
c3QgYm9keVNpemUgPSAxOTsKKworY29uc3QgYWNjdW11bGF0ZUVudHJpZXMgPSAoKSA9PiB7Cisg
IHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBjb25zdCBwbyA9IG5ldyBQZXJm
b3JtYW5jZU9ic2VydmVyKGxpc3QgPT4geworICAgICAgcmVzb2x2ZShsaXN0KTsKKyAgICB9KTsK
KyAgICBwby5vYnNlcnZlKHt0eXBlOiAicmVzb3VyY2UiLCBidWZmZXJlZDogdHJ1ZX0pOworICB9
KTsKK307CisKK2NvbnN0IGNoZWNrUmVzb3VyY2VTaXplcyA9IGxpc3QgPT4geworICBjb25zdCBl
bnRyaWVzID0gbGlzdC5nZXRFbnRyaWVzQnlOYW1lKHVybCk7CisgIGFzc2VydF9lcXVhbHMoZW50
cmllcy5sZW5ndGgsIDMsICdXcm9uZyBudW1iZXIgb2YgZW50cmllcycpOworICBsZXQgc2VlbkNv
dW50ID0gMDsKKyAgZm9yIChsZXQgZW50cnkgb2YgZW50cmllcykgeworICAgIGlmIChzZWVuQ291
bnQgPT09IDApIHsKKyAgICAgIC8vIDIwMCByZXNwb25zZQorICAgICAgY2hlY2tTaXplRmllbGRz
KGVudHJ5LCBib2R5U2l6ZSwgYm9keVNpemUgKyBoZWFkZXJTaXplKTsKKyAgICB9IGVsc2UgaWYg
KHNlZW5Db3VudCA9PT0gMSkgeworICAgICAgLy8gZnJvbSBjYWNoZQorICAgICAgY2hlY2tTaXpl
RmllbGRzKGVudHJ5LCBib2R5U2l6ZSwgMCk7CisgICAgfSBlbHNlIGlmIChzZWVuQ291bnQgPT09
IDIpIHsKKyAgICAgIC8vIDMwNCByZXNwb25zZQorICAgICAgY2hlY2tTaXplRmllbGRzKGVudHJ5
LCBib2R5U2l6ZSwgaGVhZGVyU2l6ZSk7CisgICAgfSBlbHNlIHsKKyAgICAgIGFzc2VydF91bnJl
YWNoZWQoJ1RvbyBtYW55IG1hdGNoaW5nIGVudHJpZXMnKTsKKyAgICB9CisgICAgKytzZWVuQ291
bnQ7CisgIH0KK307CisKK3Byb21pc2VfdGVzdCgoKSA9PiB7CisgIC8vIFVzZSBhIGRpZmZlcmVu
dCBVUkwgZXZlcnkgdGltZSBzbyB0aGF0IHRoZSBjYWNoZSBiZWhhdmlvdXIgZG9lcyBub3QKKyAg
Ly8gZGVwZW5kIG9uIGV4ZWN1dGlvbiBvcmRlci4KKyAgdXJsID0gbG9hZC5jYWNoZV9idXN0KHVy
bCk7CisgIGNvbnN0IGVhdEJvZHkgPSByZXNwb25zZSA9PiByZXNwb25zZS5hcnJheUJ1ZmZlcigp
OworICBjb25zdCBtdXN0UmV2YWxpZGF0ZSA9IHtoZWFkZXJzOiB7J0NhY2hlLUNvbnRyb2wnOiAn
bWF4LWFnZT0wJ319OworICByZXR1cm4gZmV0Y2godXJsKQorICAgIC50aGVuKGVhdEJvZHkpCisg
ICAgLnRoZW4oKCkgPT4gZmV0Y2godXJsKSkKKyAgICAudGhlbihlYXRCb2R5KQorICAgIC50aGVu
KCgpID0+IGZldGNoKHVybCwgbXVzdFJldmFsaWRhdGUpKQorICAgIC50aGVuKGVhdEJvZHkpCisg
ICAgLnRoZW4oYWNjdW11bGF0ZUVudHJpZXMpCisgICAgLnRoZW4oY2hlY2tSZXNvdXJjZVNpemVz
KTsKK30sICdQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIHNpemVzIGNhY2hpbmcgdGVzdCcpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3QtaW1nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVz
LXJlZGlyZWN0LWltZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTkwMzIxOTYyMGFlNjVkMmFi
ODhjYzIzMDhjZGViNDcxN2JlM2UyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLXJlZGly
ZWN0LWltZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACisKK1BBU1MgUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZyBzaXplcyByZWRpcmVjdCBpbWFnZSAtIGRpcmVjdCBVUkwKK1BBU1MgUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZyBzaXplcyByZWRpcmVjdCBpbWFnZSAtIHNhbWUgb3JpZ2lu
IHJlZGlyZWN0CitQQVNTIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgc2l6ZXMgcmVkaXJlY3Qg
aW1hZ2UgLSBjcm9zcyBvcmlnaW4gcmVkaXJlY3QKK1BBU1MgUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZyBzaXplcyByZWRpcmVjdCBpbWFnZSAtIGNyb3NzIG9yaWdpbiB0byBzYW1lIG9yaWdpbiBy
ZWRpcmVjdAorUEFTUyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIHNpemVzIHJlZGlyZWN0IGlt
YWdlIC0gc2FtZSBvcmlnaW4gdG8gcmVtb3RlIG9yaWdpbiB0byBzYW1lIG9yaWdpbiByZWRpcmVj
dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC1pbWcuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLXJl
ZGlyZWN0LWltZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc4NjAxOGQwYzQ2MzRjM2Q4YzZkZjJjNDAwM2Iy
MDFlNmU0YmM0ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC1pbWcuaHRt
bApAQCAtMCwwICsxLDU3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1o
b3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2l6ZXMt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9h
ZGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFu
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKy8vIFJlZGlyZWN0cyBmb3IgZmV0Y2goKSBhbHdh
eXMgYXBwbHkgQ09SUyBydWxlcywgd2hlcmVhcyBub3JtYWwgcmVzb3VyY2VzCisvLyBkb24ndCwg
c28gdGhpcyB0ZXN0IGNvdmVycyBleHRyYSBjb2RlIHBhdGhzIGJleW9uZCB0aG9zZSBjb3ZlcmVk
IGJ5CisvLyByZXNvdXJjZS10aW1pbmctc2l6ZXMtcmVkaXJlY3QuaHRtbC4KKworY29uc3QgYmFz
ZVVybCA9IG5ldyBVUkwoJy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL1RBT1Jlc3BvbnNlLnB5
P3Rhbz13aWxkY2FyZCZpbWc9dHJ1ZScsIGxvY2F0aW9uLmhyZWYpLmhyZWY7CisKK2NvbnN0IGV4
cGVjdGVkU2l6ZSA9IDEwMTA7CisKK2NvbnN0IGhvc3RJbmZvID0gZ2V0X2hvc3RfaW5mbygpOwor
Citjb25zdCByZWRpcmVjdFVybCA9IChyZWRpcmVjdFNvdXJjZU9yaWdpbiwgdGFyZ2V0VXJsKSA9
PiB7CisgIHJldHVybiByZWRpcmVjdFNvdXJjZU9yaWdpbiArCisgICAgJy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VzL3JlZGlyZWN0LWNvcnMucHk/dGltaW5nX2FsbG93X29yaWdpbj0qJyArCisg
ICAgJyZsb2NhdGlvbj0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHRhcmdldFVybCk7Cit9OworCitj
b25zdCB2ZXJpZnlfZW50cnkgPSBlbnRyeSA9PiB7CisgIGNoZWNrU2l6ZUZpZWxkcyhlbnRyeSwg
ZXhwZWN0ZWRTaXplLCBleHBlY3RlZFNpemUgKyBoZWFkZXJTaXplKTsKK307CisKK2F0dHJpYnV0
ZV90ZXN0KGxvYWQuaW1hZ2UsIGJhc2VVcmwsCisgIHZlcmlmeV9lbnRyeSwKKyAgIlBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcgc2l6ZXMgcmVkaXJlY3QgaW1hZ2UgLSBkaXJlY3QgVVJMIik7CisK
K2F0dHJpYnV0ZV90ZXN0KGxvYWQuaW1hZ2UsCisgIHJlZGlyZWN0VXJsKGhvc3RJbmZvLkhUVFBf
T1JJR0lOLCBiYXNlVXJsKSwKKyAgdmVyaWZ5X2VudHJ5LAorICAiUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZyBzaXplcyByZWRpcmVjdCBpbWFnZSAtIHNhbWUgb3JpZ2luIHJlZGlyZWN0Iik7CisK
K2F0dHJpYnV0ZV90ZXN0KGxvYWQuaW1hZ2UsCisgIHJlZGlyZWN0VXJsKGhvc3RJbmZvLkhUVFBf
UkVNT1RFX09SSUdJTiwgYmFzZVVybCksCisgIHZlcmlmeV9lbnRyeSwKKyAgIlBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcgc2l6ZXMgcmVkaXJlY3QgaW1hZ2UgLSBjcm9zcyBvcmlnaW4gcmVkaXJl
Y3QiKTsKKworYXR0cmlidXRlX3Rlc3QobG9hZC5pbWFnZSwKKyAgcmVkaXJlY3RVcmwoaG9zdElu
Zm8uSFRUUF9SRU1PVEVfT1JJR0lOLAorICAgIHJlZGlyZWN0VXJsKGhvc3RJbmZvLkhUVFBfT1JJ
R0lOLCBiYXNlVXJsKSksCisgIHZlcmlmeV9lbnRyeSwKKyAgIlBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmcgc2l6ZXMgcmVkaXJlY3QgaW1hZ2UgLSBjcm9zcyBvcmlnaW4gdG8gc2FtZSBvcmlnaW4g
cmVkaXJlY3QiKTsKKworYXR0cmlidXRlX3Rlc3QobG9hZC5pbWFnZSwKKyAgcmVkaXJlY3RVcmwo
aG9zdEluZm8uSFRUUF9PUklHSU4sCisgICAgcmVkaXJlY3RVcmwoaG9zdEluZm8uSFRUUF9SRU1P
VEVfT1JJR0lOLAorICAgICAgcmVkaXJlY3RVcmwoaG9zdEluZm8uSFRUUF9PUklHSU4sCisgICAg
ICAgIGJhc2VVcmwpKSksCisgIHZlcmlmeV9lbnRyeSwKKyAgIlBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmcgc2l6ZXMgcmVkaXJlY3QgaW1hZ2UgLSBzYW1lIG9yaWdpbiB0byByZW1vdGUgIiArCisg
ICJvcmlnaW4gdG8gc2FtZSBvcmlnaW4gcmVkaXJlY3QiKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvc2l6ZXMtcmVkaXJlY3QuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3QuYW55LmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmU0ODNhNGQ0MDljNmMyZGVlZTczZmEyMTNkNjk4Yjk1Yjg2NWQwYzgKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC5hbnkuanMKQEAgLTAsMCArMSw2MiBAQAor
Ly8gTUVUQTogZ2xvYmFsPXdpbmRvdyx3b3JrZXIKKy8vIE1FVEE6IHNjcmlwdD0vY29tbW9uL2dl
dC1ob3N0LWluZm8uc3ViLmpzCisvLyBNRVRBOiBzY3JpcHQ9L3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZXMvc2l6ZXMtaGVscGVyLmpzCisKK2NvbnN0IGJhc2VVcmwgPQorICBuZXcgVVJMKCcvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlcy9UQU9SZXNwb25zZS5weT90YW89d2lsZGNhcmQnLCBsb2Nh
dGlvbi5ocmVmKS5ocmVmOworY29uc3QgZXhwZWN0ZWRTaXplID0gNDsKKworY29uc3QgaG9zdElu
Zm8gPSBnZXRfaG9zdF9pbmZvKCk7CitwZXJmb3JtYW5jZS5jbGVhclJlc291cmNlVGltaW5ncygp
OworCitjb25zdCBhY2N1bXVsYXRlRW50cnkgPSAoKSA9PiB7CisgIHJldHVybiBuZXcgUHJvbWlz
ZShyZXNvbHZlID0+IHsKKyAgICBjb25zdCBwbyA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGxp
c3QgPT4geworICAgICAgcmVzb2x2ZShsaXN0KTsKKyAgICB9KTsKKyAgICBwby5vYnNlcnZlKHt0
eXBlOiAicmVzb3VyY2UiLCBidWZmZXJlZDogdHJ1ZX0pOworICB9KTsKK307CisKK2NvbnN0IGNo
ZWNrUmVzb3VyY2VTaXplcyA9ICgpID0+IHsKKyAgY29uc3QgZW50cmllcyA9IHBlcmZvcm1hbmNl
LmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7CisgIGZvciAobGV0IGVudHJ5IG9mIGVudHJp
ZXMpIHsKKyAgICBjaGVja1NpemVGaWVsZHMoZW50cnksIGV4cGVjdGVkU2l6ZSwgZXhwZWN0ZWRT
aXplICsgaGVhZGVyU2l6ZSk7CisgIH0KK30KKworY29uc3QgcmVkaXJlY3RVcmwgPSAocmVkaXJl
Y3RTb3VyY2VPcmlnaW4sIGFsbG93T3JpZ2luLCB0YXJnZXRVcmwpID0+IHsKKyAgcmV0dXJuIHJl
ZGlyZWN0U291cmNlT3JpZ2luICsKKyAgICAnL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVk
aXJlY3QtY29ycy5weT9hbGxvd19vcmlnaW49JyArCisgICAgZW5jb2RlVVJJQ29tcG9uZW50KGFs
bG93T3JpZ2luKSArCisgICAgJyZ0aW1pbmdfYWxsb3dfb3JpZ2luPSonICsKKyAgICAnJmxvY2F0
aW9uPScgKyBlbmNvZGVVUklDb21wb25lbnQodGFyZ2V0VXJsKTsKK30KKworcHJvbWlzZV90ZXN0
KCgpID0+IHsKKyAgLy8gVXNlIGEgZGlmZmVyZW50IFVSTCBldmVyeSB0aW1lIHNvIHRoYXQgdGhl
IGNhY2hlIGJlaGF2aW91ciBkb2VzIG5vdAorICAvLyBkZXBlbmQgb24gZXhlY3V0aW9uIG9yZGVy
LgorICBjb25zdCBkaXJlY3RVcmwgPSBjYWNoZUJ1c3RVcmwoYmFzZVVybCk7CisgIGNvbnN0IHNh
bWVPcmlnaW5SZWRpcmVjdCA9IHJlZGlyZWN0VXJsKGhvc3RJbmZvLk9SSUdJTiwgJyonLCBkaXJl
Y3RVcmwpOworICBjb25zdCBjcm9zc09yaWdpblJlZGlyZWN0ID0gcmVkaXJlY3RVcmwoaG9zdElu
Zm8uUkVNT1RFX09SSUdJTiwKKyAgICBob3N0SW5mby5PUklHSU4sIGRpcmVjdFVybCk7CisgIGNv
bnN0IG1peGVkUmVkaXJlY3QgPSByZWRpcmVjdFVybChob3N0SW5mby5SRU1PVEVfT1JJR0lOLAor
ICAgIGhvc3RJbmZvLk9SSUdJTiwgc2FtZU9yaWdpblJlZGlyZWN0KTsKKyAgY29uc3QgY29tcGxl
eFJlZGlyZWN0ID0gcmVkaXJlY3RVcmwoaG9zdEluZm8uT1JJR0lOLAorICAgIGhvc3RJbmZvLlJF
TU9URV9PUklHSU4sIG1peGVkUmVkaXJlY3QpOworICBsZXQgZWF0Qm9keSA9IHJlc3BvbnNlID0+
IHJlc3BvbnNlLmFycmF5QnVmZmVyKCk7CisgIHJldHVybiBmZXRjaChkaXJlY3RVcmwpCisgICAg
LnRoZW4oZWF0Qm9keSkKKyAgICAudGhlbigoKSA9PiBmZXRjaChzYW1lT3JpZ2luUmVkaXJlY3Qp
KQorICAgIC50aGVuKGVhdEJvZHkpCisgICAgLnRoZW4oKCkgPT4gZmV0Y2goY3Jvc3NPcmlnaW5S
ZWRpcmVjdCkpCisgICAgLnRoZW4oZWF0Qm9keSkKKyAgICAudGhlbigoKSA9PiBmZXRjaChtaXhl
ZFJlZGlyZWN0KSkKKyAgICAudGhlbihlYXRCb2R5KQorICAgIC50aGVuKCgpID0+IGZldGNoKGNv
bXBsZXhSZWRpcmVjdCkpCisgICAgLnRoZW4oZWF0Qm9keSkKKyAgICAudGhlbihhY2N1bXVsYXRl
RW50cnkpCisgICAgLnRoZW4oY2hlY2tSZXNvdXJjZVNpemVzKTsKK30sICdQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nIHNpemVzIEZldGNoIHdpdGggcmVkaXJlY3QgdGVzdCcpOworCitkb25lKCk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9zdGF0dXMtY29kZXMtY3JlYXRlLWVudHJ5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zdGF0
dXMtY29kZXMtY3JlYXRlLWVudHJ5Lmh0bWwKaW5kZXggYzMxNTA1YTQ1MmRhNmI2YWYxNDZmZWJj
ZDE1Y2E2MmZmMTg2YTc2Ny4uY2MwY2Q4Y2NiODgyNTAzMzExODZjMzg1NTRiMDlmZjg1MTVjYWNl
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvc3RhdHVzLWNvZGVzLWNyZWF0ZS1lbnRyeS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3N0YXR1cy1jb2Rlcy1jcmVhdGUtZW50cnkuaHRtbApAQCAtMTgsMTMgKzE4LDE3IEBAIGFzeW5j
X3Rlc3QodCA9PiB7CiAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgdC5zdGVwX2Z1
bmNfZG9uZSgoKSA9PiB7CiAgICAgY29uc3QgaW1hZ2VzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNC
eVRhZ05hbWUoImltZyIpOwogICAgIGZvciAobGV0IGltZyBvZiBpbWFnZXMpIHsKLSAgICAgIGFz
c2VydF9ncmVhdGVyX3RoYW4ocGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZShpbWcuc3JjKS5s
ZW5ndGgsIDAsIGltZy5zcmMpOworICAgICAgY29uc3QgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdl
dEVudHJpZXNCeU5hbWUoaW1nLnNyYyk7CisgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKGVudHJp
ZXMubGVuZ3RoLCAwLCBpbWcuc3JjKTsKKyAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oZW50cmll
c1swXS5kdXJhdGlvbiwgMCwgaW1nLnNyYyk7CiAgICAgfQogICAgIGNvbnN0IHNjcmlwdHMgPSBk
b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0Iik7CiAgICAgbGV0IG5vU3JjU2Ny
aXB0Rm91bmQgPSBmYWxzZTsKICAgICBmb3IgKGxldCBzY3JpcHQgb2Ygc2NyaXB0cykgewogICAg
ICAgaWYgKHNjcmlwdC5zcmMpIHsKLSAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihwZXJmb3Jt
YW5jZS5nZXRFbnRyaWVzQnlOYW1lKHNjcmlwdC5zcmMpLmxlbmd0aCwgMCwgc2NyaXB0LnNyYyk7
CisgICAgICAgIGNvbnN0IGVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKHNj
cmlwdC5zcmMpOworICAgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKGVudHJpZXMubGVuZ3RoLCAw
LCBzY3JpcHQuc3JjKTsKKyAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihlbnRyaWVzWzBdLmR1
cmF0aW9uLCAwLCBzY3JpcHQuc3JjKTsKICAgICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIElnbm9y
ZSB0aGlzIHNjcmlwdCwgd2hpY2ggaGFzIG5vIHNyYyB2YWx1ZS4gVGhlcmUgc2hvdWxkIG9ubHkg
YmUgb25lIHN1Y2ggc2NyaXB0LgogICAgICAgICBhc3NlcnRfZmFsc2Uobm9TcmNTY3JpcHRGb3Vu
ZCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy90ZXN0X3Jlc291cmNlX3RpbWluZy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy90ZXN0X3Jlc291cmNlX3RpbWluZy1leHBlY3RlZC50eHQKaW5kZXggMjAwNDhhNThjYmZhYzI5
ZjgxZjA0OWQ4NjhlMjY0NGE0ZTAwMzM3OS4uZDZjYzExZDE0MzNhNWY0NWFkOGYzZTMzZjA3YTc5
ZGQ2NmZlOTM2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90aW1pbmctZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3Rlc3RfcmVzb3VyY2VfdGltaW5nLWV4cGVjdGVkLnR4dApAQCAtNiwyOCAr
NiwyOCBAQCBOT1RFOiBEdWUgdG8gY2FjaGluZyBiZWhhdmlvciBpbiB0aGUgYnJvd3NlciwgaXQg
aXMgcG9zc2libGUgdGhhdCB3aGVuIHJldmlzaXRpbgogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2Uu
Z2V0RW50cmllc0J5TmFtZSgpIGFuZCB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFt
ZVR5cGUoKSByZXR1cm4gc2FtZSBkYXRhIChpZnJhbWUpCiBQQVNTIFBlcmZvcm1hbmNlRW50cnkg
aGFzIGNvcnJlY3QgbmFtZSwgaW5pdGlhdG9yVHlwZSwgc3RhcnRUaW1lLCBhbmQgZHVyYXRpb24g
KGlmcmFtZSkKIFBBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBvcmRlciBvZiB0aW1p
bmcgYXR0cmlidXRlcyAoaWZyYW1lKQotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0
IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAoaWZyYW1lKSBhc3NlcnRfZXF1YWxzOiBlbmNv
ZGVkQm9keVNpemUgc2l6ZSBleHBlY3RlZCAobnVtYmVyKSAyMTUgYnV0IGdvdCAodW5kZWZpbmVk
KSB1bmRlZmluZWQKLUZBSUwgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBwcm90b2NvbCBh
dHRyaWJ1dGUgKGlmcmFtZSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgcHJvdG9jb2wgZXhwZWN0
ZWQgKHN0cmluZykgImh0dHAvMS4xIiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorUEFT
UyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRl
cyAoaWZyYW1lKQorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0
dHJpYnV0ZSAoaWZyYW1lKQogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFt
ZSgpIGFuZCB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZVR5cGUoKSByZXR1cm4g
c2FtZSBkYXRhIChpbWcpCiBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmFtZSwg
aW5pdGlhdG9yVHlwZSwgc3RhcnRUaW1lLCBhbmQgZHVyYXRpb24gKGltZykKIFBBU1MgUGVyZm9y
bWFuY2VFbnRyeSBoYXMgY29ycmVjdCBvcmRlciBvZiB0aW1pbmcgYXR0cmlidXRlcyAoaW1nKQot
RkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmli
dXRlcyAoaW1nKSBhc3NlcnRfZXF1YWxzOiBlbmNvZGVkQm9keVNpemUgc2l6ZSBleHBlY3RlZCAo
bnVtYmVyKSAyNDkgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgUGVyZm9ybWFu
Y2VFbnRyeSBoYXMgY29ycmVjdCBwcm90b2NvbCBhdHRyaWJ1dGUgKGltZykgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgcHJvdG9jb2wgZXhwZWN0ZWQgKHN0cmluZykgImh0dHAvMS4xIiBidXQgZ290
ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0
IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAoaW1nKQorUEFTUyBQZXJmb3JtYW5jZUVudHJ5
IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0dHJpYnV0ZSAoaW1nKQogUEFTUyB3aW5kb3cucGVyZm9y
bWFuY2UuZ2V0RW50cmllc0J5TmFtZSgpIGFuZCB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmll
c0J5TmFtZVR5cGUoKSByZXR1cm4gc2FtZSBkYXRhIChsaW5rKQogUEFTUyBQZXJmb3JtYW5jZUVu
dHJ5IGhhcyBjb3JyZWN0IG5hbWUsIGluaXRpYXRvclR5cGUsIHN0YXJ0VGltZSwgYW5kIGR1cmF0
aW9uIChsaW5rKQogUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG9yZGVyIG9mIHRp
bWluZyBhdHRyaWJ1dGVzIChsaW5rKQotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0
IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAobGluaykgYXNzZXJ0X2VxdWFsczogZW5jb2Rl
ZEJvZHlTaXplIHNpemUgZXhwZWN0ZWQgKG51bWJlcikgNDQgYnV0IGdvdCAodW5kZWZpbmVkKSB1
bmRlZmluZWQKLUZBSUwgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBwcm90b2NvbCBhdHRy
aWJ1dGUgKGxpbmspIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIHByb3RvY29sIGV4cGVjdGVkIChz
dHJpbmcpICJodHRwLzEuMSIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKK1BBU1MgUGVy
Zm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuZXR3b3JrIHRyYW5zZmVyIGF0dHJpYnV0ZXMgKGxp
bmspCitQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgcHJvdG9jb2wgYXR0cmlidXRl
IChsaW5rKQogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgpIGFuZCB3
aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZVR5cGUoKSByZXR1cm4gc2FtZSBkYXRh
IChzY3JpcHQpCiBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmFtZSwgaW5pdGlh
dG9yVHlwZSwgc3RhcnRUaW1lLCBhbmQgZHVyYXRpb24gKHNjcmlwdCkKIFBBU1MgUGVyZm9ybWFu
Y2VFbnRyeSBoYXMgY29ycmVjdCBvcmRlciBvZiB0aW1pbmcgYXR0cmlidXRlcyAoc2NyaXB0KQot
RkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmli
dXRlcyAoc2NyaXB0KSBhc3NlcnRfZXF1YWxzOiBlbmNvZGVkQm9keVNpemUgc2l6ZSBleHBlY3Rl
ZCAobnVtYmVyKSAxMzMgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgUGVyZm9y
bWFuY2VFbnRyeSBoYXMgY29ycmVjdCBwcm90b2NvbCBhdHRyaWJ1dGUgKHNjcmlwdCkgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgcHJvdG9jb2wgZXhwZWN0ZWQgKHN0cmluZykgImh0dHAvMS4xIiBi
dXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBj
b3JyZWN0IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAoc2NyaXB0KQorUEFTUyBQZXJmb3Jt
YW5jZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0dHJpYnV0ZSAoc2NyaXB0KQogUEFTUyB3
aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgpIGFuZCB3aW5kb3cucGVyZm9ybWFu
Y2UuZ2V0RW50cmllc0J5TmFtZVR5cGUoKSByZXR1cm4gc2FtZSBkYXRhICh4bWxodHRwcmVxdWVz
dCkKIFBBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuYW1lLCBpbml0aWF0b3JUeXBl
LCBzdGFydFRpbWUsIGFuZCBkdXJhdGlvbiAoeG1saHR0cHJlcXVlc3QpCiBQQVNTIFBlcmZvcm1h
bmNlRW50cnkgaGFzIGNvcnJlY3Qgb3JkZXIgb2YgdGltaW5nIGF0dHJpYnV0ZXMgKHhtbGh0dHBy
ZXF1ZXN0KQotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdvcmsgdHJhbnNm
ZXIgYXR0cmlidXRlcyAoeG1saHR0cHJlcXVlc3QpIGFzc2VydF9lcXVhbHM6IGVuY29kZWRCb2R5
U2l6ZSBzaXplIGV4cGVjdGVkIChudW1iZXIpIDExMiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVm
aW5lZAotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0dHJpYnV0
ZSAoeG1saHR0cHJlcXVlc3QpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIHByb3RvY29sIGV4cGVj
dGVkIChzdHJpbmcpICJodHRwLzEuMSIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKK1BB
U1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuZXR3b3JrIHRyYW5zZmVyIGF0dHJpYnV0
ZXMgKHhtbGh0dHByZXF1ZXN0KQorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IHBy
b3RvY29sIGF0dHJpYnV0ZSAoeG1saHR0cHJlcXVlc3QpCiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5j
ZSBSZXNvdXJjZSBUaW1pbmcgRW50cmllcyBleGlzdAogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2Ug
UmVzb3VyY2UgVGltaW5nIEVudHJpZXMgZXhpc3QgMQogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2Ug
UmVzb3VyY2UgVGltaW5nIEVudHJpZXMgZXhpc3QgMgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNv
dXJjZV90aW1pbmcuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90aW1pbmcu
aHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGNlYTBmMWNiMmFhYjllY2U0OTJlZjNiZGY0Mzc0MTIy
ZDU1Mjk3NDAuLmQ2Y2MxMWQxNDMzYTVmNDVhZDhmM2UzM2YwN2E3OWRkNjZmZTkzNmIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Rlc3RfcmVzb3VyY2VfdGltaW5nLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy90ZXN0X3Jlc291cmNlX3RpbWluZy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTI2LDcgKzI2LDcg
QEAgUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0dHJpYnV0ZSAo
c2NyaXB0KQogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgpIGFuZCB3
aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZVR5cGUoKSByZXR1cm4gc2FtZSBkYXRh
ICh4bWxodHRwcmVxdWVzdCkKIFBBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuYW1l
LCBpbml0aWF0b3JUeXBlLCBzdGFydFRpbWUsIGFuZCBkdXJhdGlvbiAoeG1saHR0cHJlcXVlc3Qp
CiBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3Qgb3JkZXIgb2YgdGltaW5nIGF0dHJp
YnV0ZXMgKHhtbGh0dHByZXF1ZXN0KQotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0
IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAoeG1saHR0cHJlcXVlc3QpIGFzc2VydF9lcXVh
bHM6IGVuY29kZWRCb2R5U2l6ZSBzaXplIGV4cGVjdGVkIDExMiBidXQgZ290IDEyMAorUEFTUyBQ
ZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAo
eG1saHR0cHJlcXVlc3QpCiBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgcHJvdG9j
b2wgYXR0cmlidXRlICh4bWxodHRwcmVxdWVzdCkKIFBBU1Mgd2luZG93LnBlcmZvcm1hbmNlIFJl
c291cmNlIFRpbWluZyBFbnRyaWVzIGV4aXN0CiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBSZXNv
dXJjZSBUaW1pbmcgRW50cmllcyBleGlzdCAxCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy93b3JrZXJTdGFydC10
YW8tcHJvdGVjdGVkLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy93b3JrZXJTdGFydC10YW8tcHJvdGVjdGVkLmh0
dHBzLmh0bWwKaW5kZXggZjliNTBmNzAzNjBkZDZlMDk5MDhiYzJkODFkZmYxMzczNWFhZDIzNi4u
NDg1NmY0NjdmMTZmNmUzODIxZDQ4ZWE3NTQyZDE1NGIzZGU1M2JkNyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
d29ya2VyU3RhcnQtdGFvLXByb3RlY3RlZC5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3dvcmtlclN0YXJ0
LXRhby1wcm90ZWN0ZWQuaHR0cHMuaHRtbApAQCAtNDAsNyArNDAsNyBAQCBwcm9taXNlX3Rlc3Qo
dCA9PiB7CiAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihsaXN0
ID0+IHsKICAgICAgIGNvbnN0IGVudHJpZXMgPSBsaXN0LmdldEVudHJpZXMoKTsKICAgICAgIGZv
ciAoZW50cnkgb2YgZW50cmllcykgewotICAgICAgICBpZiAoZW50cnkubmFtZS5pbmNsdWRlcygi
YmxhbmtfcGFnZV9ncmVlbi5odG0iKSkgeworICAgICAgICBpZiAoZW50cnkubmFtZS5pbmNsdWRl
cygiZ3JlZW4uaHRtbCIpKSB7CiAgICAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOwogICAg
ICAgICAgIC8vIE9ic2VydmUgaXRzIHBlcmZvcm1hbmNlIGVudHJ5IHRvIG1ha2Ugc3VyZSB3b3Jr
ZXJTdGFydCBpcyB6ZXJvCiAgICAgICAgICAgaWYgKGVudHJ5LndvcmtlclN0YXJ0ICE9IDApIHsK
QEAgLTUxLDcgKzUxLDcgQEAgcHJvbWlzZV90ZXN0KHQgPT4gewogICAgICAgfQogICAgIH0pOwog
ICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsicmVzb3VyY2UiXX0pOwotICAgIGFk
ZEZyYW1lKGhvc3RfaW5mby5IVFRQU19SRU1PVEVfT1JJR0lOICsgIi9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRtIik7CisgICAgYWRkRnJhbWUoaG9zdF9pbmZv
LkhUVFBTX1JFTU9URV9PUklHSU4gKyAiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4u
aHRtbCIpOwogICB9KTsKIH0sICJBZGQgVEFPLWxlc3MgaWZyYW1lIHRvIHJlbW90ZSBvcmlnaW4u
IE1ha2Ugc3VyZSB3b3JrZXJTdGFydCBpcyB6ZXJvIik7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430785</attachid>
            <date>2021-06-07 15:06:47 -0700</date>
            <delta_ts>2021-06-07 15:59:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226678-20210607150646.patch</filename>
            <type>text/plain</type>
            <size>245923</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NDc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTVhMGRiNTc5YmRmYzM2
NmMwMzY3ZmVjZGRlZWVmNzc1YWU5NDM3YS4uNzY1YTg4MTJiMDUyMWM5ZGFmY2VlNTkxYTk1YzE1
MDk5NmZlZTk1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMCBAQAorMjAyMS0wNi0wNCAgQWxl
eCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUg
VGltaW5nLUFsbG93LU9yaWdpbiBjaGVja3MgdG8gdGhlIG5ldHdvcmsgcHJvY2VzcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2Njc4CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS80NTIyNzc4OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXZSB0cmllZCBoYXJkIHRvIGRvIGl0IGluIHRoZSB3ZWIgcHJv
Y2VzcyBieSBrZWVwaW5nIHRyYWNrIG9mIHdoZXRoZXIgdGhlIGxhc3QgcmVkaXJlY3Qgd2FzIGNy
b3NzLW9yaWdpbgorICAgICAgICBhbmQgY2hlY2tpbmcgdGhlIGZpbmFsIHJlc3BvbnNlIGFuZCBv
cmlnaW5hbCBzZWN1cml0eSBvcmlnaW4uICBXZSBnb3QgbWFueSB0ZXN0cyB0byBwYXNzLCBidXQg
dG8gZ2V0IHRoZSByZXN0CisgICAgICAgIGFuZCBiZSBjb3JyZWN0LCB3ZSBuZWVkIHRvIGNoZWNr
IHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRlciBmaWVsZCBvZiBlYWNoIHJlZGlyZWN0IGFn
YWluc3QgdGhlIG9yaWdpbmFsIHNlY3VyaXR5IG9yaWdpbi4KKworICAgICAgICBUZXN0czogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU08tWE8tU08tcmVk
aXJlY3QtY2hhaW4tdGFvLmh0dHBzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1tYXRjaC5odG1sCisgICAgICAg
ICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9U
QU8tbnVsbC1vcGFxdWUtb3JpZ2luLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5z
LWNyb3Nzb3JpZ2luLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29u
bmVjdGlvbi1yZXVzZS5odHRwcy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhcnQtZW5kLXRp
bWUtd2l0aC1yZWRpcmVjdHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC1v
cGVuZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvZW50cnktYXR0cmlidXRlcy5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mZXRjaC1jcm9z
cy1vcmlnaW4tcmVkaXJlY3QuaHR0cHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZm9udC10aW1lc3RhbXBzLmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2lmcmFtZS1mYWlsZWQtY29tbWl0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2luaXRpYXRvci10eXBlLWZv
ci1zY3JpcHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvbmV4dEhvcFByb3RvY29sLWlzLXRhby1wcm90ZWN0ZWQuaHR0
cHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1UQU8tY3Jvc3Mtb3JpZ2luLXJl
ZGlyZWN0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItY3Jvc3Mtb3JpZ2luLXJl
ZGlyZWN0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3JlZGlyZWN0cy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25vcmUt
ZGF0YS11cmwuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfY2FjaGVkLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
X3RpbWluZ19jb250ZW50X2xlbmd0aC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zYW1lLW9yaWdpbi1mcm9tLWNyb3Nz
LW9yaWdpbi1yZWRpcmVjdC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC1pbWcuaHRtbAorCisg
ICAgICAgICogSGVhZGVycy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogbG9hZGVyL1Jl
c291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjpzdGFy
dCk6CisgICAgICAgIEdldCBhIFNlY3VyaXR5T3JpZ2luIGZvciBvdXIgV2ViS2l0TGVnYWN5IFJl
c291cmNlSGFuZGxlIHVzZSBsaWtlIHdlIGRvIGluIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVs
ZUxvYWRGcm9tTmV0d29ya1Byb2Nlc3MKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VUaW1pbmcu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VUaW1pbmc6OlJlc291cmNlVGltaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlVGltaW5nOjppbml0U2VydmVyVGltaW5nKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlVGltaW5nOjppc29sYXRlZENvcHkgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6cGFzc2VzVGltaW5nQWxsb3dDaGVjayk6IERlbGV0ZWQuCisgICAgICAg
ICogbG9hZGVyL1Jlc291cmNlVGltaW5nLmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVRp
bWluZzo6bmV0d29ya0xvYWRNZXRyaWNzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlVGltaW5nOjpSZXNvdXJjZVRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVRp
bWluZzo6YWxsb3dUaW1pbmdEZXRhaWxzIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKCk6IERl
bGV0ZWQuCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpyZWRpcmVjdENvdW50IGNvbnN0KToK
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmc6OnNhbWVPcmlnaW5DaGVja0Zh
aWxzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWlu
Zzo6cmVkaXJlY3RDb3VudCBjb25zdCk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmVudHJ5U3RhcnRUaW1lKToKKyAgICAg
ICAgKFdlYkNvcmU6OmVudHJ5RW5kVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlZGlyZWN0RW5kIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmRvbWFpbkxvb2t1cFN0YXJ0IGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmRvbWFp
bkxvb2t1cEVuZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nOjpjb25uZWN0U3RhcnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdEVuZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpzZWN1cmVDb25uZWN0aW9uU3RhcnQgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVxdWVzdFN0YXJ0
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJl
c3BvbnNlU3RhcnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZzo6dHJhbnNmZXJTaXplIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmc6OmVuY29kZWRCb2R5U2l6ZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkZWNvZGVkQm9keVNpemUgY29uc3QpOgor
ICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VUaW1pbmc6OnVubG9hZEV2ZW50U3RhcnQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OnVubG9hZEV2ZW50RW5kIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0IGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpyZWRpcmVjdEVuZCBjb25zdCk6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VIYW5kbGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6QmxvYlJlc291cmNlSGFuZGxlOjpCbG9iUmVzb3VyY2VIYW5kbGUpOgorICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmg6CisgICAgICAgIChXZWJD
b3JlOjpOZXR3b3JrTG9hZE1ldHJpY3M6Omlzb2xhdGVkQ29weSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJpY3M6Om9wZXJhdG9yPT0gY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TmV0d29ya0xvYWRNZXRyaWNzOjpkZWNvZGUpOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5k
bGU6OlJlc291cmNlSGFuZGxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmxvYWRSZXNvdXJjZVN5
bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmlzQ3Jvc3NP
cmlnaW5XaXRob3V0VEFPIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxl
OjptYXJrQXNDcm9zc09yaWdpbldpdGhvdXRUQU8pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3Vy
Y2VIYW5kbGU6OnNvdXJjZU9yaWdpbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZUhhbmRsZTo6aGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6c2V0SGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCk6IERl
bGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGVJbnRlcm5hbDo6UmVzb3VyY2VIYW5kbGVJbnRlcm5h
bCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5jcHA6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6cGFzc2VzVGltaW5nQWxsb3dPcmlnaW5DaGVjayk6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5oOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtMb2FkTWV0cmljcy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OnBhY2thZ2VUaW1pbmdEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OmNv
cHlUaW1pbmdEYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhh
bmRsZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpwbGF0Zm9ybUxv
YWRSZXNvdXJjZVN5bmNocm9ub3VzbHkpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFj
L1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5tbToKKyAgICAg
ICAgKC1bV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlIGNvbm5l
Y3Rpb246d2lsbFNlbmRSZXF1ZXN0OnJlZGlyZWN0UmVzcG9uc2U6XSk6CisgICAgICAgICgtW1dl
YkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSBjb25uZWN0aW9uOmRp
ZFJlY2VpdmVSZXNwb25zZTpdKToKKwogMjAyMS0wNi0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFj
aHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEltcGxlbWVudCBvZmYtYnktZGVmYXVs
dCBleHBlcmltZW50YWwgZmVhdHVyZSBmb3IgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy50cmFu
c2ZlclNpemUsIGVuY29kZWRCb2R5U2l6ZSwgYW5kIGRlY29kZWRCb2R5U2l6ZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCAyYzdkZmFjZGJmY2M3OWVlYjdmZDc3N2ZmZGUyOWNjZTUwYzE5NDRmLi4yMWVjYTllMzZkZWY2
OGU4YTllMThmOGIyZGY5YjY0MDBiYmQ4NjczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisy
MDIxLTA2LTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgTW92ZSBUaW1pbmctQWxsb3ctT3JpZ2luIGNoZWNrcyB0byB0aGUgbmV0d29yayBw
cm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjY2NzgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ1MjI3Nzg4PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29y
a0xvYWRQYXJhbWV0ZXJzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZFBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVz
b3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpzZW5kUmVwbHlUb1N5bmNocm9ub3Vz
UmVxdWVzdCk6CisgICAgICAgIFBhc3MgY29tcGxldGUgbWV0cmljcyB3aXRoIHN5bmMgeGhyIHJl
c3BvbnNlcy4gIE1hbnkgb2YgdGhlIHRlc3RzIHVzZSBzeW5jIHhoci4KKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRGYWlsTG9hZGluZyk6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkUmV0cmlldmVDYWNoZUVudHJ5KToKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5oOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6TmV0d29ya0RhdGFUYXNrQ29jb2Ep
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6d2lsbFBlcmZvcm1IVFRQ
UmVkaXJlY3Rpb24pOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNz
aW9uQ29jb2EubW06CisgICAgICAgICgtW1dLTmV0d29ya1Nlc3Npb25EZWxlZ2F0ZSBVUkxTZXNz
aW9uOnRhc2s6d2lsbFBlcmZvcm1IVFRQUmVkaXJlY3Rpb246bmV3UmVxdWVzdDpjb21wbGV0aW9u
SGFuZGxlcjpdKToKKyAgICAgICAgKC1bV0tOZXR3b3JrU2Vzc2lvbkRlbGVnYXRlIFVSTFNlc3Np
b246ZGF0YVRhc2s6ZGlkUmVjZWl2ZVJlc3BvbnNlOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorCiAy
MDIxLTA2LTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgSW1wbGVtZW50IG9mZi1ieS1kZWZhdWx0IGV4cGVyaW1lbnRhbCBmZWF0dXJlIGZv
ciBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLnRyYW5zZmVyU2l6ZSwgZW5jb2RlZEJvZHlTaXpl
LCBhbmQgZGVjb2RlZEJvZHlTaXplCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCmluZGV4IGVkMTUzNWJkMDli
ZDQzOWU3Y2NiNDVlYzhmZDRiNTgzNTkwNDQ1ZjcuLmRmYTJiM2NiN2Y3OGU3ZTAzZWQ1NjI1N2M4
NmE5ZTgzMWYyZGU3NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MjEtMDYtMDQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKwor
ICAgICAgICBNb3ZlIFRpbWluZy1BbGxvdy1PcmlnaW4gY2hlY2tzIHRvIHRoZSBuZXR3b3JrIHBy
b2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NjY3OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDUyMjc3ODg+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QaW5nSGFu
ZGxlLmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVy
LmNwcDoKKyAgICAgICAgKFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjo6bG9hZFJlc291cmNlU3lu
Y2hyb25vdXNseSk6CisKIDIwMjEtMDUtMzAgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29t
PgogCiAgICAgICAgIFJlbW92ZSBzb21lIG9mIHRoZSB1bm5lZWRlZCBXZWJLaXRMZWdhY3kgV2lu
ZG93cy1zcGVjaWZpYyBwbHVnLWluIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hl
YWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IDU1NDZjNGQz
ZTYzNmYzNjYwOWM0MTg5MDg4MmY0MTZjN2EwZWFhMTcuLjdiOTNlYzhhYzNkNGI3NzZmNDYxNTVh
MTI4MTIyYWYxZTdiOGZkN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21h
a2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMTQ4Miw2ICsxNDgyLDcg
QEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIHBsYXRmb3JtL25l
dHdvcmsvU3RvcmFnZVNlc3Npb25Qcm92aWRlci5oCiAgICAgcGxhdGZvcm0vbmV0d29yay9TdG9y
ZWRDcmVkZW50aWFsc1BvbGljeS5oCiAgICAgcGxhdGZvcm0vbmV0d29yay9TeW5jaHJvbm91c0xv
YWRlckNsaWVudC5oCisgICAgcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5oCiAK
ICAgICBwbGF0Zm9ybS9zcWwvU1FMVmFsdWUuaAogICAgIHBsYXRmb3JtL3NxbC9TUUxpdGVEYXRh
YmFzZS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IGI0YTMwMzRkZDZjOTQwM2EzMTA4MDNmYzhkZDVjNDAw
ZGM3Yzc4ZTUuLjNmYWI0NTM3MWU3ZjljMzE1ZWY5Yzg0YWE1ZTg1NTExZTU4ZTEyMWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CkBAIC0yMTkxLDYgKzIxOTEsNyBAQCBwbGF0Zm9ybS9uZXR3b3JrL1NhbWVTaXRl
SW5mby5jcHAKIHBsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFtSGFuZGxlLmNwcAogcGxhdGZv
cm0vbmV0d29yay9Tb2NrZXRTdHJlYW1IYW5kbGVJbXBsLmNwcAogcGxhdGZvcm0vbmV0d29yay9T
eW5jaHJvbm91c0xvYWRlckNsaWVudC5jcHAKK3BsYXRmb3JtL25ldHdvcmsvVGltaW5nQWxsb3dP
cmlnaW4uY3BwCiBwbGF0Zm9ybS9zcWwvU1FMaXRlQXV0aG9yaXplci5jcHAKIHBsYXRmb3JtL3Nx
bC9TUUxpdGVEYXRhYmFzZS5jcHAKIHBsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZVRyYWNrZXIu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggNDZmMjY4Mjg0OGIwZTU5NzYyNzE1YWMyMDJiNTE1ZTRmMzMzNDEzZC4uMzMwZTk3
NmVmNmM4NjVkNDdhZDE5ODI1NTQ4ZTFmYWFjMzU1NmEzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTk5Nyw2ICsxOTk3LDcg
QEAKIAkJNUNCMzdGRkYxQzYyRDJBMTAwRjIwMTg4IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNCMzdGRkQxQzYy
RDI3ODAwRjIwMTg4IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5oICovOyB9OwogCQk1Q0JDOERBRDFB
QUEzMDIyMDBFMUM4MDMgLyogTWVkaWFBY2Nlc3NpYmlsaXR5U29mdExpbmsuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQkM4REFCMUFBQTMwMjIwMEUx
QzgwMyAvKiBNZWRpYUFjY2Vzc2liaWxpdHlTb2Z0TGluay5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTVDQkQ1OTU5MjI4MEU5MjYwMDJCMjJBQSAv
KiBDdXN0b21IZWFkZXJGaWVsZHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNUM1RDIzODYyMjdBMDc3QzAwMEI5QkRBIC8qIEN1c3RvbUhlYWRlckZp
ZWxkcy5jcHAgKi87IH07CisJCTVDQzc5MDBFMjY2QUZBODkwMDY5MjRGRSAvKiBUaW1pbmdBbGxv
d09yaWdpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NUNDNzkwMEIyNjZBRkE4ODAwNjkyNEZFIC8qIFRpbWluZ0FsbG93T3JpZ2luLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNUNDQzI3MDkyMkQ1NDgz
QTAwOTY0RkEwIC8qIEF1dG9maWxsRWxlbWVudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQ0MyNzA2MjJENTNCNjgwMDk2NEZBMCAvKiBBdXRvZmls
bEVsZW1lbnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNUNEOUY1NjYxQUEwRjczQzAwREE0NUZGIC8qIERGQUJ5dGVjb2RlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1QzM5MzA1RDFBQTBGNkE5MDAy
OUM4MTYgLyogREZBQnl0ZWNvZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk1Q0Q5RjU2NzFBQTBGNzQyMDBEQTQ1RkYgLyogREZBQnl0ZWNvZGVD
b21waWxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NUMzOTMwNUYxQUEwRjZBOTAwMjlDODE2IC8qIERGQUJ5dGVjb2RlQ29tcGlsZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTcwOCw2ICs5NzA5
LDggQEAKIAkJNUNCMzdGRkQxQzYyRDI3ODAwRjIwMTg4IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxBbmltYXRvck1vY2suaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNCQzhEQUExQUFBMzAyMjAwRTFDODAzIC8q
IE1lZGlhQWNjZXNzaWJpbGl0eVNvZnRMaW5rLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IE1lZGlhQWNjZXNzaWJpbGl0eVNvZnRMaW5rLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNUNCQzhEQUIxQUFBMzAyMjAwRTFDODAzIC8qIE1lZGlhQWNjZXNz
aWJpbGl0eVNvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlh
QWNjZXNzaWJpbGl0eVNvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVD
Qzc5MDBCMjY2QUZBODgwMDY5MjRGRSAvKiBUaW1pbmdBbGxvd09yaWdpbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBUaW1pbmdBbGxvd09yaWdpbi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1Q0M3OTAwRDI2NkFGQTg5MDA2OTI0RkUgLyogVGltaW5nQWxsb3dP
cmlnaW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGltaW5nQWxs
b3dPcmlnaW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0NDMjcwNjIyRDUz
QjY4MDA5NjRGQTAgLyogQXV0b2ZpbGxFbGVtZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBBdXRvZmlsbEVsZW1lbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTVDQ0MyNzA3MjJENTNCNjkwMDk2NEZBMCAvKiBBdXRvZmlsbEVsZW1lbnRzLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEF1dG9maWxsRWxlbWVudHMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0RDRERCRjIzRDdCN0JFMDBCQTM0QTEgLyog
Q29udGVudEZpbHRlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
b250ZW50RmlsdGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjIx
OSw2ICsyMjIyMiw4IEBACiAJCQkJNDY4MkQxRkYxRjc5NzgyMzAwQzg2M0RCIC8qIFN0b3JlZENy
ZWRlbnRpYWxzUG9saWN5LmggKi8sCiAJCQkJRTE4MDgxMTAxNkZDRjQyRTAwQjgwRDA3IC8qIFN5
bmNocm9ub3VzTG9hZGVyQ2xpZW50LmNwcCAqLywKIAkJCQlFMTgwODExNTE2RkNGOUNCMDBCODBE
MDcgLyogU3luY2hyb25vdXNMb2FkZXJDbGllbnQuaCAqLywKKwkJCQk1Q0M3OTAwRDI2NkFGQTg5
MDA2OTI0RkUgLyogVGltaW5nQWxsb3dPcmlnaW4uY3BwICovLAorCQkJCTVDQzc5MDBCMjY2QUZB
ODgwMDY5MjRGRSAvKiBUaW1pbmdBbGxvd09yaWdpbi5oICovLAogCQkJKTsKIAkJCXBhdGggPSBu
ZXR3b3JrOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTM1NzU3LDYgKzM1NzYyLDcg
QEAKIAkJCQk5MzA1QjI0RDA5OEYxQjZCMDBDMjg4NTUgLyogVGltZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCUU0NDYxM0IwMENENjMzMTAwMEZBREE3NSAvKiBUaW1lUmFuZ2VzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkyRDdFRDBBQjFCQUU5OTE3MDA0M0IzRTUgLyogVGltZXJFdmVudEJhc2VkTW9j
ay5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUNDNzkwMEUyNjZBRkE4OTAwNjkyNEZFIC8qIFRpbWlu
Z0FsbG93T3JpZ2luLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5MTJBRTBFRkFDOTA2MDA5RDBD
QUYgLyogVGltaW5nRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNTRERDA4MTg4MUQ1
RjUwMDNFRURCQiAvKiBUb3VjaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzFCN0VFMEQyMUI1QzY4
NzAwMzFDMUVGIC8qIFRvdWNoQWN0aW9uLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDUzNTM5ZmI2N2RlMWY1ZjE2Mjg0MjlkYjNm
MWFiMmY1M2NlZGQ2NzIuLjZiNDIyZGRiNDM5NzcwYTdmMGM1YTA2YWNjMDZmYmFkNGNjYmM0YzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcApAQCAtNTEsNiArNTEs
NyBAQAogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmln
aW4uaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKKyNpbmNsdWRlICJTdWJyZXNvdXJjZUxv
YWRlci5oIgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0
Zi9SZWYuaD4KIApAQCAtMjQxLDcgKzI0MiwxMyBAQCB2b2lkIFJlc291cmNlTG9hZGVyOjpzdGFy
dCgpCiAgICAgfQogI2VuZGlmCiAKLSAgICBtX2hhbmRsZSA9IFJlc291cmNlSGFuZGxlOjpjcmVh
dGUoZnJhbWVMb2FkZXIoKS0+bmV0d29ya2luZ0NvbnRleHQoKSwgbV9yZXF1ZXN0LCB0aGlzLCBt
X2RlZmVyc0xvYWRpbmcsIG1fb3B0aW9ucy5zbmlmZkNvbnRlbnQgPT0gQ29udGVudFNuaWZmaW5n
UG9saWN5OjpTbmlmZkNvbnRlbnQsIG1fb3B0aW9ucy5zbmlmZkNvbnRlbnRFbmNvZGluZyA9PSBD
b250ZW50RW5jb2RpbmdTbmlmZmluZ1BvbGljeTo6U25pZmYpOworICAgIFJlZlB0cjxTZWN1cml0
eU9yaWdpbj4gc291cmNlT3JpZ2luID0gaXM8U3VicmVzb3VyY2VMb2FkZXI+KCp0aGlzKSA/IGRv
d25jYXN0PFN1YnJlc291cmNlTG9hZGVyPigqdGhpcykub3JpZ2luKCkgOiBudWxscHRyOworICAg
IGlmICghc291cmNlT3JpZ2luICYmIGZyYW1lTG9hZGVyKCkpIHsKKyAgICAgICAgYXV0byogZG9j
dW1lbnQgPSBmcmFtZUxvYWRlcigpLT5mcmFtZSgpLmRvY3VtZW50KCk7CisgICAgICAgIHNvdXJj
ZU9yaWdpbiA9ICBkb2N1bWVudCA/ICZkb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKSA6IG51bGxw
dHI7CisgICAgfQorCisgICAgbV9oYW5kbGUgPSBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlKGZyYW1l
TG9hZGVyKCktPm5ldHdvcmtpbmdDb250ZXh0KCksIG1fcmVxdWVzdCwgdGhpcywgbV9kZWZlcnNM
b2FkaW5nLCBtX29wdGlvbnMuc25pZmZDb250ZW50ID09IENvbnRlbnRTbmlmZmluZ1BvbGljeTo6
U25pZmZDb250ZW50LCBtX29wdGlvbnMuc25pZmZDb250ZW50RW5jb2RpbmcgPT0gQ29udGVudEVu
Y29kaW5nU25pZmZpbmdQb2xpY3k6OlNuaWZmLCBXVEZNb3ZlKHNvdXJjZU9yaWdpbikpOwogfQog
CiB2b2lkIFJlc291cmNlTG9hZGVyOjpzZXREZWZlcnNMb2FkaW5nKGJvb2wgZGVmZXJzKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZVRpbWluZy5jcHAKaW5kZXggNDk4ZTMzMjc0YmY5Yjk4
MmM5ZTk4NTJjZTkyN2JlY2Y0YTI4M2EwNS4uZmUyZTk2NjNmMjhiZjgyZDRmNTIwMmNhMWZkY2Zj
ZGRiOTMzNTE3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGlt
aW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VUaW1pbmcuY3BwCkBA
IC0zNSwyOCArMzUsNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBib29sIHBh
c3Nlc1RpbWluZ0FsbG93Q2hlY2soY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNv
bnN0IFNlY3VyaXR5T3JpZ2luJiBpbml0aWF0b3JTZWN1cml0eU9yaWdpbikKLXsKLSAgICBSZWY8
U2VjdXJpdHlPcmlnaW4+IHJlc291cmNlT3JpZ2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZShy
ZXNwb25zZS51cmwoKSk7Ci0gICAgaWYgKHJlc291cmNlT3JpZ2luLT5pc1NhbWVTY2hlbWVIb3N0
UG9ydChpbml0aWF0b3JTZWN1cml0eU9yaWdpbikpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0g
ICAgY29uc3QgU3RyaW5nJiB0aW1pbmdBbGxvd09yaWdpblN0cmluZyA9IHJlc3BvbnNlLmh0dHBI
ZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6VGltaW5nQWxsb3dPcmlnaW4pOwotICAgIGlmICh0
aW1pbmdBbGxvd09yaWdpblN0cmluZy5pc0VtcHR5KCkgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdB
U0NJSUNhc2UodGltaW5nQWxsb3dPcmlnaW5TdHJpbmcsICJudWxsIikpCi0gICAgICAgIHJldHVy
biBmYWxzZTsKLQotICAgIGlmICh0aW1pbmdBbGxvd09yaWdpblN0cmluZyA9PSAiKiIpCi0gICAg
ICAgIHJldHVybiB0cnVlOwotCi0gICAgY29uc3QgU3RyaW5nJiBzZWN1cml0eU9yaWdpbiA9IGlu
aXRpYXRvclNlY3VyaXR5T3JpZ2luLnRvU3RyaW5nKCk7Ci0gICAgZm9yIChhdXRvJiBvcmlnaW4g
OiB0aW1pbmdBbGxvd09yaWdpblN0cmluZy5zcGxpdCgnLCcpKSB7Ci0gICAgICAgIGlmIChvcmln
aW4uc3RyaXBXaGl0ZVNwYWNlKCkgPT0gc2VjdXJpdHlPcmlnaW4pCi0gICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKLSAgICB9Ci0KLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KIFJlc291cmNlVGltaW5n
IFJlc291cmNlVGltaW5nOjpmcm9tTWVtb3J5Q2FjaGUoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0
cmluZyYgaW5pdGlhdG9yLCBjb25zdCBSZXNvdXJjZUxvYWRUaW1pbmcmIGxvYWRUaW1pbmcsIGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25zdCBTZWN1cml0eU9yaWdpbiYgc2Vj
dXJpdHlPcmlnaW4pCiB7CiAgICAgcmV0dXJuIFJlc291cmNlVGltaW5nKHVybCwgaW5pdGlhdG9y
LCBsb2FkVGltaW5nLCByZXNwb25zZSwgc2VjdXJpdHlPcmlnaW4pOwpAQCAtNzIsMjggKzUwLDI2
IEBAIFJlc291cmNlVGltaW5nIFJlc291cmNlVGltaW5nOjpmcm9tU3luY2hyb25vdXNMb2FkKGNv
bnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmCiAgICAgcmV0dXJuIFJlc291cmNlVGltaW5nKHVy
bCwgaW5pdGlhdG9yLCBsb2FkVGltaW5nLCBuZXR3b3JrTG9hZE1ldHJpY3MsIHJlc3BvbnNlLCBz
ZWN1cml0eU9yaWdpbik7CiB9CiAKLVJlc291cmNlVGltaW5nOjpSZXNvdXJjZVRpbWluZyhjb25z
dCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBpbml0aWF0b3IsIGNvbnN0IFJlc291cmNlTG9hZFRp
bWluZyYgbG9hZFRpbWluZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0
IFNlY3VyaXR5T3JpZ2luJiBzZWN1cml0eU9yaWdpbikKK1Jlc291cmNlVGltaW5nOjpSZXNvdXJj
ZVRpbWluZyhjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBpbml0aWF0b3IsIGNvbnN0IFJl
c291cmNlTG9hZFRpbWluZyYgbG9hZFRpbWluZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVz
cG9uc2UsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJikKICAgICA6IG1fdXJsKHVybCkKICAgICAsIG1f
aW5pdGlhdG9yKGluaXRpYXRvcikKICAgICAsIG1fcmVzb3VyY2VMb2FkVGltaW5nKGxvYWRUaW1p
bmcpCi0gICAgLCBtX2FsbG93VGltaW5nRGV0YWlscyhwYXNzZXNUaW1pbmdBbGxvd0NoZWNrKHJl
c3BvbnNlLCBzZWN1cml0eU9yaWdpbikpCiB7CiAgICAgaW5pdFNlcnZlclRpbWluZyhyZXNwb25z
ZSk7CiB9CiAKLVJlc291cmNlVGltaW5nOjpSZXNvdXJjZVRpbWluZyhjb25zdCBVUkwmIHVybCwg
Y29uc3QgU3RyaW5nJiBpbml0aWF0b3IsIGNvbnN0IFJlc291cmNlTG9hZFRpbWluZyYgdGltaW5n
LCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG5ldHdvcmtMb2FkTWV0cmljcywgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiBzZWN1cml0eU9y
aWdpbikKK1Jlc291cmNlVGltaW5nOjpSZXNvdXJjZVRpbWluZyhjb25zdCBVUkwmIHVybCwgY29u
c3QgU3RyaW5nJiBpbml0aWF0b3IsIGNvbnN0IFJlc291cmNlTG9hZFRpbWluZyYgdGltaW5nLCBj
b25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG5ldHdvcmtMb2FkTWV0cmljcywgY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJikKICAgICA6IG1fdXJs
KHVybCkKICAgICAsIG1faW5pdGlhdG9yKGluaXRpYXRvcikKICAgICAsIG1fcmVzb3VyY2VMb2Fk
VGltaW5nKHRpbWluZykKICAgICAsIG1fbmV0d29ya0xvYWRNZXRyaWNzKG5ldHdvcmtMb2FkTWV0
cmljcykKLSAgICAsIG1fYWxsb3dUaW1pbmdEZXRhaWxzKHBhc3Nlc1RpbWluZ0FsbG93Q2hlY2so
cmVzcG9uc2UsIHNlY3VyaXR5T3JpZ2luKSkKIHsKICAgICBpbml0U2VydmVyVGltaW5nKHJlc3Bv
bnNlKTsKIH0KIAogdm9pZCBSZXNvdXJjZVRpbWluZzo6aW5pdFNlcnZlclRpbWluZyhjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKIHsKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXJ2ZXJUaW1pbmdFbmFibGVkKCkgJiYgbV9hbGxvd1Rp
bWluZ0RldGFpbHMpCisgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuc2VydmVyVGltaW5nRW5hYmxlZCgpICYmICFtX25ldHdvcmtMb2FkTWV0cmljcy5pc0Ny
b3NzT3JpZ2luV2l0aG91dFRBTykKICAgICAgICAgbV9zZXJ2ZXJUaW1pbmcgPSBTZXJ2ZXJUaW1p
bmdQYXJzZXI6OnBhcnNlU2VydmVyVGltaW5nKHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQ
SGVhZGVyTmFtZTo6U2VydmVyVGltaW5nKSk7CiB9CiAKQEAgLTExMSw3ICs4Nyw2IEBAIFJlc291
cmNlVGltaW5nIFJlc291cmNlVGltaW5nOjppc29sYXRlZENvcHkoKSBjb25zdAogICAgICAgICBt
X2luaXRpYXRvci5pc29sYXRlZENvcHkoKSwKICAgICAgICAgbV9yZXNvdXJjZUxvYWRUaW1pbmcu
aXNvbGF0ZWRDb3B5KCksCiAgICAgICAgIG1fbmV0d29ya0xvYWRNZXRyaWNzLmlzb2xhdGVkQ29w
eSgpLAotICAgICAgICBtX2FsbG93VGltaW5nRGV0YWlscywKICAgICAgICAgY3Jvc3NUaHJlYWRD
b3B5KG1fc2VydmVyVGltaW5nKQogICAgICk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VUaW1pbmcuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJj
ZVRpbWluZy5oCmluZGV4IGQzYjJiOWIzOTg0NWYwYWQ2NzYyYzMyOGUwNjI5ZGVmZmJiODI3MjYu
LmFjYmFmYmQ4NWJhMjVkNTQ5MGIxOGE1YTdjZjU2M2JkZjFmYTYyNDYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZVRpbWluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9SZXNvdXJjZVRpbWluZy5oCkBAIC00OSw3ICs0OSw2IEBAIHB1YmxpYzoKICAgICBj
b25zdCBTdHJpbmcmIGluaXRpYXRvcigpIGNvbnN0IHsgcmV0dXJuIG1faW5pdGlhdG9yOyB9CiAg
ICAgY29uc3QgUmVzb3VyY2VMb2FkVGltaW5nJiByZXNvdXJjZUxvYWRUaW1pbmcoKSBjb25zdCB7
IHJldHVybiBtX3Jlc291cmNlTG9hZFRpbWluZzsgfQogICAgIGNvbnN0IE5ldHdvcmtMb2FkTWV0
cmljcyYgbmV0d29ya0xvYWRNZXRyaWNzKCkgY29uc3QgeyByZXR1cm4gbV9uZXR3b3JrTG9hZE1l
dHJpY3M7IH0KLSAgICBib29sIGFsbG93VGltaW5nRGV0YWlscygpIGNvbnN0IHsgcmV0dXJuIG1f
YWxsb3dUaW1pbmdEZXRhaWxzOyB9CiAgICAgVmVjdG9yPFJlZjxQZXJmb3JtYW5jZVNlcnZlclRp
bWluZz4+IHBvcHVsYXRlU2VydmVyVGltaW5nKCkgY29uc3Q7CiAgICAgUmVzb3VyY2VUaW1pbmcg
aXNvbGF0ZWRDb3B5KCkgY29uc3Q7CiAKQEAgLTU4LDEyICs1NywxMSBAQCBwdWJsaWM6CiBwcml2
YXRlOgogICAgIFJlc291cmNlVGltaW5nKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgaW5pdGlh
dG9yLCBjb25zdCBSZXNvdXJjZUxvYWRUaW1pbmcmLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3Mm
LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgU2VjdXJpdHlPcmlnaW4mKTsKICAgICBS
ZXNvdXJjZVRpbWluZyhjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIGluaXRpYXRvciwgY29uc3Qg
UmVzb3VyY2VMb2FkVGltaW5nJiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFNlY3Vy
aXR5T3JpZ2luJik7Ci0gICAgUmVzb3VyY2VUaW1pbmcoVVJMJiYgdXJsLCBTdHJpbmcmJiBpbml0
aWF0b3IsIGNvbnN0IFJlc291cmNlTG9hZFRpbWluZyYgcmVzb3VyY2VMb2FkVGltaW5nLCBOZXR3
b3JrTG9hZE1ldHJpY3MmJiBuZXR3b3JrTG9hZE1ldHJpY3MsIGJvb2wgYWxsb3dUaW1pbmdEZXRh
aWxzLCBWZWN0b3I8U2VydmVyVGltaW5nPiYmIHNlcnZlclRpbWluZykKKyAgICBSZXNvdXJjZVRp
bWluZyhVUkwmJiB1cmwsIFN0cmluZyYmIGluaXRpYXRvciwgY29uc3QgUmVzb3VyY2VMb2FkVGlt
aW5nJiByZXNvdXJjZUxvYWRUaW1pbmcsIE5ldHdvcmtMb2FkTWV0cmljcyYmIG5ldHdvcmtMb2Fk
TWV0cmljcywgVmVjdG9yPFNlcnZlclRpbWluZz4mJiBzZXJ2ZXJUaW1pbmcpCiAgICAgICAgIDog
bV91cmwoV1RGTW92ZSh1cmwpKQogICAgICAgICAsIG1faW5pdGlhdG9yKFdURk1vdmUoaW5pdGlh
dG9yKSkKICAgICAgICAgLCBtX3Jlc291cmNlTG9hZFRpbWluZyhyZXNvdXJjZUxvYWRUaW1pbmcp
CiAgICAgICAgICwgbV9uZXR3b3JrTG9hZE1ldHJpY3MoV1RGTW92ZShuZXR3b3JrTG9hZE1ldHJp
Y3MpKQotICAgICAgICAsIG1fYWxsb3dUaW1pbmdEZXRhaWxzKGFsbG93VGltaW5nRGV0YWlscykK
ICAgICAgICAgLCBtX3NlcnZlclRpbWluZyhXVEZNb3ZlKHNlcnZlclRpbWluZykpCiAgICAgewog
ICAgIH0KQEAgLTczLDcgKzcxLDYgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9pbml0aWF0b3I7
CiAgICAgUmVzb3VyY2VMb2FkVGltaW5nIG1fcmVzb3VyY2VMb2FkVGltaW5nOwogICAgIE5ldHdv
cmtMb2FkTWV0cmljcyBtX25ldHdvcmtMb2FkTWV0cmljczsKLSAgICBib29sIG1fYWxsb3dUaW1p
bmdEZXRhaWxzIHsgZmFsc2UgfTsKICAgICBWZWN0b3I8U2VydmVyVGltaW5nPiBtX3NlcnZlclRp
bWluZzsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VO
YXZpZ2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9u
LmNwcAppbmRleCAwY2M3M2ZkZjg2M2M0MjFjNWRhYWRhMmYyNWJjYTI1NGE4ZTk2ZThhLi5jMWM0
OGQ2ZjE4ODJmZmFkNTcxYzU1OTY4OTFlYjBmMDBiYjAxMGQ5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwCkBAIC03OCw3ICs3OCw3IEBAIHVuc2ln
bmVkIHNob3J0IFBlcmZvcm1hbmNlTmF2aWdhdGlvbjo6cmVkaXJlY3RDb3VudCgpIGNvbnN0CiAg
ICAgaWYgKCFtZXRyaWNzKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIGlmIChtZXRyaWNzLT5o
YXNDcm9zc09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtZXRyaWNzLT5pc0Nyb3NzT3JpZ2luV2l0
aG91dFRBTykKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICByZXR1cm4gbWV0cmljcy0+cmVkaXJl
Y3RDb3VudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZp
Z2F0aW9uVGltaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0
aW9uVGltaW5nLmNwcAppbmRleCA2OGQyY2M3NThjM2YxNTRhZmFhMWJhZjIyZjVlNGQzMDc4ZjQ3
MzU5Li42YzVkYzYzMWQzYjhiYWUxOGM5YzhjMDZjOGQ1Yjk3MmZlOTMzNjA2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmcuY3BwCkBA
IC02OCw4ICs2OCw3IEBAIGRvdWJsZSBQZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmc6Om1pbGxp
c2Vjb25kc1NpbmNlT3JpZ2luKE1vbm90b25pY1RpbWUgdGltZSkKIGJvb2wgUGVyZm9ybWFuY2VO
YXZpZ2F0aW9uVGltaW5nOjpzYW1lT3JpZ2luQ2hlY2tGYWlscygpIGNvbnN0CiB7CiAgICAgLy8g
aHR0cHM6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLTIvI2Rmbi1zYW1lLW9yaWdp
bi1jaGVjawotICAgIHJldHVybiAhbV9yZXNvdXJjZVRpbWluZy5hbGxvd1RpbWluZ0RldGFpbHMo
KQotICAgICAgICB8fCBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmhhc0Ny
b3NzT3JpZ2luUmVkaXJlY3QKKyAgICByZXR1cm4gbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9h
ZE1ldHJpY3MoKS5pc0Nyb3NzT3JpZ2luV2l0aG91dFRBTwogICAgICAgICB8fCAhbV9kb2N1bWVu
dExvYWRUaW1pbmcuaGFzU2FtZU9yaWdpbkFzUHJldmlvdXNEb2N1bWVudCgpOwogfQogCkBAIC0x
MjQsMTAgKzEyMyw3IEBAIFBlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZzo6TmF2aWdhdGlvblR5
cGUgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nOjp0eXBlKCkKIAogdW5zaWduZWQgc2hvcnQg
UGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nOjpyZWRpcmVjdENvdW50KCkgY29uc3QKIHsKLSAg
ICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkpCi0gICAgICAgIHJl
dHVybiAwOwotCi0gICAgaWYgKG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCku
aGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKKyAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3b3Jr
TG9hZE1ldHJpY3MoKS5pc0Nyb3NzT3JpZ2luV2l0aG91dFRBTykKICAgICAgICAgcmV0dXJuIDA7
CiAKICAgICByZXR1cm4gbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5yZWRp
cmVjdENvdW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZy5jcHAKaW5kZXggNTliMWFlNmZjY2U3NGRjNzFhODhjZWI1ZGFiNTcwZmE4ZjRhZTcy
Mi4uMjdiYWY5NGY2NDBlMjAwNTZmYTQzZjk1YzBkMDk5Mzk0MjQzMDgwNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwCkBAIC02NCw4
ICs2NCw3IEBAIHN0YXRpYyBkb3VibGUgZmV0Y2hTdGFydChNb25vdG9uaWNUaW1lIHRpbWVPcmln
aW4sIGNvbnN0IFJlc291cmNlVGltaW5nJiByZXNvdXJjCiAKIHN0YXRpYyBkb3VibGUgZW50cnlT
dGFydFRpbWUoTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZXNvdXJjZVRpbWluZyYg
cmVzb3VyY2VUaW1pbmcpCiB7Ci0gICAgaWYgKCFyZXNvdXJjZVRpbWluZy5hbGxvd1RpbWluZ0Rl
dGFpbHMoKQotICAgICAgICB8fCByZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5o
YXNDcm9zc09yaWdpblJlZGlyZWN0CisgICAgaWYgKHJlc291cmNlVGltaW5nLm5ldHdvcmtMb2Fk
TWV0cmljcygpLmlzQ3Jvc3NPcmlnaW5XaXRob3V0VEFPCiAgICAgICAgIHx8ICFyZXNvdXJjZVRp
bWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5yZWRpcmVjdENvdW50KQogICAgICAgICByZXR1cm4g
ZmV0Y2hTdGFydCh0aW1lT3JpZ2luLCByZXNvdXJjZVRpbWluZyk7CiAKQEAgLTc3LDkgKzc2LDYg
QEAgc3RhdGljIGRvdWJsZSBlbnRyeVN0YXJ0VGltZShNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4s
IGNvbnN0IFJlc291cmNlVGltaW5nJiByZXMKIAogc3RhdGljIGRvdWJsZSBlbnRyeUVuZFRpbWUo
TW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZXNvdXJjZVRpbWluZyYgcmVzb3VyY2VU
aW1pbmcpCiB7Ci0gICAgaWYgKCFyZXNvdXJjZVRpbWluZy5hbGxvd1RpbWluZ0RldGFpbHMoKSkK
LSAgICAgICAgcmV0dXJuIGVudHJ5U3RhcnRUaW1lKHRpbWVPcmlnaW4sIHJlc291cmNlVGltaW5n
KTsKLQogICAgIGlmIChyZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5yZXNwb25z
ZUVuZCkKICAgICAgICAgcmV0dXJuIG5ldHdvcmtMb2FkVGltZVRvRE9NSGlnaFJlc1RpbWVTdGFt
cCh0aW1lT3JpZ2luLCByZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5yZXNwb25z
ZUVuZCk7CiAKQEAgLTExNCw4ICsxMTAsNyBAQCBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZzo6d29ya2VyU3RhcnQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZzo6cmVkaXJlY3RTdGFydCgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3Jlc291cmNlVGltaW5n
LmFsbG93VGltaW5nRGV0YWlscygpCi0gICAgICAgIHx8IG1fcmVzb3VyY2VUaW1pbmcubmV0d29y
a0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKKyAgICBpZiAobV9yZXNvdXJj
ZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5pc0Nyb3NzT3JpZ2luV2l0aG91dFRBTykKICAg
ICAgICAgcmV0dXJuIDAuMDsKIAogICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9h
ZE1ldHJpY3MoKS5yZWRpcmVjdENvdW50KQpAQCAtMTI2LDggKzEyMSw3IEBAIGRvdWJsZSBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0KCkgY29uc3QKIAogZG91YmxlIFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlZGlyZWN0RW5kKCkgY29uc3QKIHsKLSAgICBpZiAo
IW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwgbV9yZXNv
dXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQor
ICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmlzQ3Jvc3NPcmln
aW5XaXRob3V0VEFPKQogICAgICAgICByZXR1cm4gMC4wOwogCiAgICAgaWYgKCFtX3Jlc291cmNl
VGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlZGlyZWN0Q291bnQpCkBAIC0xNDUsOCArMTM5
LDcgQEAgZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmZldGNoU3RhcnQoKSBjb25z
dAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZG9tYWluTG9va3VwU3RhcnQo
KSBjb25zdAogewotICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5hbGxvd1RpbWluZ0RldGFpbHMo
KQotICAgICAgICB8fCBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmhhc0Ny
b3NzT3JpZ2luUmVkaXJlY3QpCisgICAgaWYgKG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRN
ZXRyaWNzKCkuaXNDcm9zc09yaWdpbldpdGhvdXRUQU8pCiAgICAgICAgIHJldHVybiAwLjA7CiAK
ICAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuZG9tYWluTG9v
a3VwU3RhcnQpCkBAIC0xNTcsOCArMTUwLDcgQEAgZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmc6OmRvbWFpbkxvb2t1cFN0YXJ0KCkgY29uc3QKIAogZG91YmxlIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmc6OmRvbWFpbkxvb2t1cEVuZCgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3Jlc291
cmNlVGltaW5nLmFsbG93VGltaW5nRGV0YWlscygpCi0gICAgICAgIHx8IG1fcmVzb3VyY2VUaW1p
bmcubmV0d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKKyAgICBpZiAo
bV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5pc0Nyb3NzT3JpZ2luV2l0aG91
dFRBTykKICAgICAgICAgcmV0dXJuIDAuMDsKIAogICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5u
ZXR3b3JrTG9hZE1ldHJpY3MoKS5kb21haW5Mb29rdXBFbmQpCkBAIC0xNjksOCArMTYxLDcgQEAg
ZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmRvbWFpbkxvb2t1cEVuZCgpIGNvbnN0
CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjb25uZWN0U3RhcnQoKSBjb25z
dAogewotICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5hbGxvd1RpbWluZ0RldGFpbHMoKQotICAg
ICAgICB8fCBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmhhc0Nyb3NzT3Jp
Z2luUmVkaXJlY3QpCisgICAgaWYgKG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNz
KCkuaXNDcm9zc09yaWdpbldpdGhvdXRUQU8pCiAgICAgICAgIHJldHVybiAwLjA7CiAKICAgICBp
ZiAoIW1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuY29ubmVjdFN0YXJ0KQpA
QCAtMTgxLDggKzE3Miw3IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjb25u
ZWN0U3RhcnQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y29u
bmVjdEVuZCgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3Jlc291cmNlVGltaW5nLmFsbG93VGltaW5n
RGV0YWlscygpCi0gICAgICAgIHx8IG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNz
KCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKKyAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3
b3JrTG9hZE1ldHJpY3MoKS5pc0Nyb3NzT3JpZ2luV2l0aG91dFRBTykKICAgICAgICAgcmV0dXJu
IDAuMDsKIAogICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5j
b25uZWN0RW5kKQpAQCAtMTkzLDggKzE4Myw3IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nOjpjb25uZWN0RW5kKCkgY29uc3QKIAogZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmc6OnNlY3VyZUNvbm5lY3Rpb25TdGFydCgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3Jlc291
cmNlVGltaW5nLmFsbG93VGltaW5nRGV0YWlscygpCi0gICAgICAgIHx8IG1fcmVzb3VyY2VUaW1p
bmcubmV0d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKKyAgICBpZiAo
bV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5pc0Nyb3NzT3JpZ2luV2l0aG91
dFRBTykKICAgICAgICAgcmV0dXJuIDAuMDsKIAogICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5l
dHdvcmtMb2FkTWV0cmljcygpLnNlY3VyZUNvbm5lY3Rpb25TdGFydCA9PSByZXVzZWRUTFNDb25u
ZWN0aW9uU2VudGluZWwpCkBAIC0yMDgsOCArMTk3LDcgQEAgZG91YmxlIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmc6OnNlY3VyZUNvbm5lY3Rpb25TdGFydCgpIGNvbnN0CiAKIGRvdWJsZSBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXF1ZXN0U3RhcnQoKSBjb25zdAogewotICAgIGlmICgh
bV9yZXNvdXJjZVRpbWluZy5hbGxvd1RpbWluZ0RldGFpbHMoKQotICAgICAgICB8fCBtX3Jlc291
cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QpCisg
ICAgaWYgKG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuaXNDcm9zc09yaWdp
bldpdGhvdXRUQU8pCiAgICAgICAgIHJldHVybiAwLjA7CiAKICAgICAvLyByZXF1ZXN0U3RhcnQg
aXMgMCB3aGVuIGEgbmV0d29yayByZXF1ZXN0IGlzIG5vdCBtYWRlLgpAQCAtMjIxLDggKzIwOSw3
IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXF1ZXN0U3RhcnQoKSBjb25z
dAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVzcG9uc2VTdGFydCgpIGNv
bnN0CiB7Ci0gICAgaWYgKCFtX3Jlc291cmNlVGltaW5nLmFsbG93VGltaW5nRGV0YWlscygpCi0g
ICAgICAgIHx8IG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NP
cmlnaW5SZWRpcmVjdCkKKyAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJp
Y3MoKS5pc0Nyb3NzT3JpZ2luV2l0aG91dFRBTykKICAgICAgICAgcmV0dXJuIDAuMDsKIAogICAg
IC8vIHJlc3BvbnNlU3RhcnQgaXMgMCB3aGVuIGEgbmV0d29yayByZXF1ZXN0IGlzIG5vdCBtYWRl
LgpAQCAtMjU4LDggKzI0NSw3IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpy
ZXNwb25zZUVuZCgpIGNvbnN0CiAKIHVpbnQ2NF90IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6
OnRyYW5zZmVyU2l6ZSgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3Jlc291cmNlVGltaW5nLmFsbG93
VGltaW5nRGV0YWlscygpCi0gICAgICAgIHx8IG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRN
ZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKKyAgICBpZiAobV9yZXNvdXJjZVRpbWlu
Zy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5pc0Nyb3NzT3JpZ2luV2l0aG91dFRBTykKICAgICAgICAg
cmV0dXJuIDA7CiAKICAgICBhdXRvIGVuY29kZWRCb2R5U2l6ZSA9IG1fcmVzb3VyY2VUaW1pbmcu
bmV0d29ya0xvYWRNZXRyaWNzKCkucmVzcG9uc2VCb2R5Qnl0ZXNSZWNlaXZlZDsKQEAgLTI3Miw4
ICsyNTgsNyBAQCB1aW50NjRfdCBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjp0cmFuc2ZlclNp
emUoKSBjb25zdAogCiB1aW50NjRfdCBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjplbmNvZGVk
Qm9keVNpemUoKSBjb25zdAogewotICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5hbGxvd1RpbWlu
Z0RldGFpbHMoKQotICAgICAgICB8fCBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmlj
cygpLmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QpCisgICAgaWYgKG1fcmVzb3VyY2VUaW1pbmcubmV0
d29ya0xvYWRNZXRyaWNzKCkuaXNDcm9zc09yaWdpbldpdGhvdXRUQU8pCiAgICAgICAgIHJldHVy
biAwOwogCiAgICAgYXV0byBlbmNvZGVkQm9keVNpemUgPSBtX3Jlc291cmNlVGltaW5nLm5ldHdv
cmtMb2FkTWV0cmljcygpLnJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQ7CkBAIC0yODUsOCArMjcw
LDcgQEAgdWludDY0X3QgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZW5jb2RlZEJvZHlTaXpl
KCkgY29uc3QKIAogdWludDY0X3QgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZGVjb2RlZEJv
ZHlTaXplKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdE
ZXRhaWxzKCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3Mo
KS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdv
cmtMb2FkTWV0cmljcygpLmlzQ3Jvc3NPcmlnaW5XaXRob3V0VEFPKQogICAgICAgICByZXR1cm4g
MDsKIAogICAgIGF1dG8gZGVjb2RlZEJvZHlTaXplID0gbV9yZXNvdXJjZVRpbWluZy5uZXR3b3Jr
TG9hZE1ldHJpY3MoKS5yZXNwb25zZUJvZHlEZWNvZGVkU2l6ZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZVRpbWluZy5jcHAKaW5kZXggN2M0MjY1YTU3NDk5YjNkZGJhZTE1NzViMjkw
NWZlNzUxZTQyODI0Yy4uZDc1YWE4NDgyZmEyNzRlNTZmZDJkOGZkNzAwYzQ0YTc1OGJkMWU2YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5jcHAKQEAgLTY3LDcgKzY3
LDcgQEAgdW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjp1bmxvYWRFdmVudFN0
YXJ0KCkgY29uc3QKICAgICBpZiAoIW1ldHJpY3MpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAg
aWYgKG1ldHJpY3MtPmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QgfHwgIXRpbWluZy0+aGFzU2FtZU9y
aWdpbkFzUHJldmlvdXNEb2N1bWVudCgpKQorICAgIGlmIChtZXRyaWNzLT5pc0Nyb3NzT3JpZ2lu
V2l0aG91dFRBTyB8fCAhdGltaW5nLT5oYXNTYW1lT3JpZ2luQXNQcmV2aW91c0RvY3VtZW50KCkp
CiAgICAgICAgIHJldHVybiAwOwogCiAgICAgcmV0dXJuIG1vbm90b25pY1RpbWVUb0ludGVnZXJN
aWxsaXNlY29uZHModGltaW5nLT51bmxvYWRFdmVudFN0YXJ0KCkpOwpAQCAtODMsNyArODMsNyBA
QCB1bnNpZ25lZCBsb25nIGxvbmcgUGVyZm9ybWFuY2VUaW1pbmc6OnVubG9hZEV2ZW50RW5kKCkg
Y29uc3QKICAgICBpZiAoIW1ldHJpY3MpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgaWYgKG1l
dHJpY3MtPmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QgfHwgIXRpbWluZy0+aGFzU2FtZU9yaWdpbkFz
UHJldmlvdXNEb2N1bWVudCgpKQorICAgIGlmIChtZXRyaWNzLT5pc0Nyb3NzT3JpZ2luV2l0aG91
dFRBTyB8fCAhdGltaW5nLT5oYXNTYW1lT3JpZ2luQXNQcmV2aW91c0RvY3VtZW50KCkpCiAgICAg
ICAgIHJldHVybiAwOwogCiAgICAgcmV0dXJuIG1vbm90b25pY1RpbWVUb0ludGVnZXJNaWxsaXNl
Y29uZHModGltaW5nLT51bmxvYWRFdmVudEVuZCgpKTsKQEAgLTkzLDcgKzkzLDcgQEAgdW5zaWdu
ZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0KCkgY29uc3QKIHsK
ICAgICBhdXRvKiBtZXRyaWNzID0gbmV0d29ya0xvYWRNZXRyaWNzKCk7CiAgICAgaWYgKCFtZXRy
aWNzCi0gICAgICAgIHx8IG1ldHJpY3MtPmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QKKyAgICAgICAg
fHwgbWV0cmljcy0+aXNDcm9zc09yaWdpbldpdGhvdXRUQU8KICAgICAgICAgfHwgIW1ldHJpY3Mt
PnJlZGlyZWN0Q291bnQpCiAgICAgICAgIHJldHVybiAwOwogCkBAIC0xMDQsNyArMTA0LDcgQEAg
dW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjpyZWRpcmVjdEVuZCgpIGNvbnN0
CiB7CiAgICAgYXV0byogbWV0cmljcyA9IG5ldHdvcmtMb2FkTWV0cmljcygpOwogICAgIGlmICgh
bWV0cmljcwotICAgICAgICB8fCBtZXRyaWNzLT5oYXNDcm9zc09yaWdpblJlZGlyZWN0CisgICAg
ICAgIHx8IG1ldHJpY3MtPmlzQ3Jvc3NPcmlnaW5XaXRob3V0VEFPCiAgICAgICAgIHx8ICFtZXRy
aWNzLT5yZWRpcmVjdENvdW50KQogICAgICAgICByZXR1cm4gMDsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VIYW5kbGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VIYW5kbGUuY3BwCmluZGV4
IDkxNjg3ZTA5NTk4NGNkZjYxMGJhNTQ1Y2VkYzY1NzU3MTI2MzFmZmMuLjcwOGExM2ZkMjIwZDRh
YzMwMWVhM2RlZGM1YzFmYTM2MWQ0YjZiZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZXNvdXJjZUhhbmRsZS5jcHAKQEAgLTQyLDYgKzQyLDcg
QEAKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlJlc291cmNl
UmVxdWVzdC5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKKyNpbmNsdWRlICJTZWN1
cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgogI2luY2x1ZGUgPHd0Zi9D
b21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0Zi9GaWxlU3lzdGVtLmg+CkBAIC0xNTQs
NyArMTU1LDcgQEAgdm9pZCBCbG9iUmVzb3VyY2VIYW5kbGU6OmxvYWRSZXNvdXJjZVN5bmNocm9u
b3VzbHkoQmxvYkRhdGEqIGJsb2JEYXRhLCBjb25zdCBSZXMKIH0KIAogQmxvYlJlc291cmNlSGFu
ZGxlOjpCbG9iUmVzb3VyY2VIYW5kbGUoQmxvYkRhdGEqIGJsb2JEYXRhLCBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQsIGJvb2wgYXN5
bmMpCi0gICAgOiBSZXNvdXJjZUhhbmRsZSB7IG51bGxwdHIsIHJlcXVlc3QsIGNsaWVudCwgZmFs
c2UgLyogZGVmZXJzTG9hZGluZyAqLywgZmFsc2UgLyogc2hvdWxkQ29udGVudFNuaWZmICovLCB0
cnVlIC8qIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmICovIH0KKyAgICA6IFJlc291cmNlSGFu
ZGxlIHsgbnVsbHB0ciwgcmVxdWVzdCwgY2xpZW50LCBmYWxzZSAvKiBkZWZlcnNMb2FkaW5nICov
LCBmYWxzZSAvKiBzaG91bGRDb250ZW50U25pZmYgKi8sIHRydWUgLyogc2hvdWxkQ29udGVudEVu
Y29kaW5nU25pZmYgKi8sIG51bGxwdHIgLyogc291cmNlT3JpZ2luICovIH0KICAgICAsIG1fYmxv
YkRhdGEgeyBibG9iRGF0YSB9CiAgICAgLCBtX2FzeW5jIHsgYXN5bmMgfQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrTG9hZE1ldHJpY3MuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmgKaW5k
ZXggN2ZhNjUyOTUwYjNhZDc4MTlmNWY0MzNhMzA2OTkxZTg4ODI0YTE2YS4uYWVmOWVlNDg3OGRj
MzA2ZGNiY2NiNmExYWVkYWUwZWRkNTM3ZTNlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9OZXR3b3JrTG9hZE1ldHJpY3MuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtMb2FkTWV0cmljcy5oCkBAIC05NSw3ICs5NSw3IEBA
IHB1YmxpYzoKICAgICBib29sIGNvbnN0cmFpbmVkIHsgZmFsc2UgfTsKICAgICBib29sIG11bHRp
cGF0aCB7IGZhbHNlIH07CiAgICAgYm9vbCBpc1JldXNlZENvbm5lY3Rpb24geyBmYWxzZSB9Owot
ICAgIGJvb2wgaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCB7IGZhbHNlIH07CisgICAgYm9vbCBpc0Ny
b3NzT3JpZ2luV2l0aG91dFRBTyB7IGZhbHNlIH07CiB9OwogCiBjbGFzcyBOZXR3b3JrTG9hZE1l
dHJpY3MgOiBwdWJsaWMgTmV0d29ya0xvYWRNZXRyaWNzV2l0aG91dE5vblRpbWluZ0RhdGEgewpA
QCAtMTI4LDcgKzEyOCw3IEBAIHB1YmxpYzoKICAgICAgICAgY29weS5jb25zdHJhaW5lZCA9IGNv
bnN0cmFpbmVkOwogICAgICAgICBjb3B5Lm11bHRpcGF0aCA9IG11bHRpcGF0aDsKICAgICAgICAg
Y29weS5pc1JldXNlZENvbm5lY3Rpb24gPSBpc1JldXNlZENvbm5lY3Rpb247Ci0gICAgICAgIGNv
cHkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCA9IGhhc0Nyb3NzT3JpZ2luUmVkaXJlY3Q7CisgICAg
ICAgIGNvcHkuaXNDcm9zc09yaWdpbldpdGhvdXRUQU8gPSBpc0Nyb3NzT3JpZ2luV2l0aG91dFRB
TzsKIAogICAgICAgICBjb3B5LnJlbW90ZUFkZHJlc3MgPSByZW1vdGVBZGRyZXNzLmlzb2xhdGVk
Q29weSgpOwogICAgICAgICBjb3B5LmNvbm5lY3Rpb25JZGVudGlmaWVyID0gY29ubmVjdGlvbklk
ZW50aWZpZXIuaXNvbGF0ZWRDb3B5KCk7CkBAIC0xNjUsNyArMTY1LDcgQEAgcHVibGljOgogICAg
ICAgICAgICAgJiYgY29uc3RyYWluZWQgPT0gb3RoZXIuY29uc3RyYWluZWQKICAgICAgICAgICAg
ICYmIG11bHRpcGF0aCA9PSBvdGhlci5tdWx0aXBhdGgKICAgICAgICAgICAgICYmIGlzUmV1c2Vk
Q29ubmVjdGlvbiA9PSBvdGhlci5pc1JldXNlZENvbm5lY3Rpb24KLSAgICAgICAgICAgICYmIGhh
c0Nyb3NzT3JpZ2luUmVkaXJlY3QgPT0gb3RoZXIuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdAorICAg
ICAgICAgICAgJiYgaXNDcm9zc09yaWdpbldpdGhvdXRUQU8gPT0gb3RoZXIuaXNDcm9zc09yaWdp
bldpdGhvdXRUQU8KICAgICAgICAgICAgICYmIHByb3RvY29sID09IG90aGVyLnByb3RvY29sCiAg
ICAgICAgICAgICAmJiByZWRpcmVjdENvdW50ID09IG90aGVyLnJlZGlyZWN0Q291bnQKICAgICAg
ICAgICAgICYmIHJlbW90ZUFkZHJlc3MgPT0gb3RoZXIucmVtb3RlQWRkcmVzcwpAQCAtMjEwLDcg
KzIxMCw3IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogQm94PE5ldHdvcmtMb2Fk
TWV0cmljcz4gY29weVRpbWluZ0RhdGEoTlNVUkxDb25uZWN0aW9uICosIGNvbnN0IFJlc291cmNl
SGFuZGxlJik7Ci1XRUJDT1JFX0VYUE9SVCBCb3g8TmV0d29ya0xvYWRNZXRyaWNzPiBjb3B5VGlt
aW5nRGF0YShOU1VSTFNlc3Npb25UYXNrTWV0cmljcyAqaW5jb21wbGV0ZU1ldHJpY3MsIGJvb2wg
aGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCk7CitXRUJDT1JFX0VYUE9SVCBCb3g8TmV0d29ya0xvYWRN
ZXRyaWNzPiBjb3B5VGltaW5nRGF0YShOU1VSTFNlc3Npb25UYXNrTWV0cmljcyAqaW5jb21wbGV0
ZU1ldHJpY3MsIGJvb2wgaXNDcm9zc09yaWdpbldpdGhvdXRUQU8pOwogI2VuZGlmCiAKIHRlbXBs
YXRlPGNsYXNzIEVuY29kZXI+CkBAIC0yMzQsNyArMjM0LDcgQEAgdm9pZCBOZXR3b3JrTG9hZE1l
dHJpY3M6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgY29u
c3RyYWluZWQ7CiAgICAgZW5jb2RlciA8PCBtdWx0aXBhdGg7CiAgICAgZW5jb2RlciA8PCBpc1Jl
dXNlZENvbm5lY3Rpb247Ci0gICAgZW5jb2RlciA8PCBoYXNDcm9zc09yaWdpblJlZGlyZWN0Owor
ICAgIGVuY29kZXIgPDwgaXNDcm9zc09yaWdpbldpdGhvdXRUQU87CiAgICAgZW5jb2RlciA8PCBw
cm90b2NvbDsKICAgICBlbmNvZGVyIDw8IHJlZGlyZWN0Q291bnQ7CiAgICAgZW5jb2RlciA8PCBy
ZW1vdGVBZGRyZXNzOwpAQCAtMjcyLDcgKzI3Miw3IEBAIGJvb2wgTmV0d29ya0xvYWRNZXRyaWNz
OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgTmV0d29ya0xvYWRNZXRyaWNzJiBtZXRyaWNzKQog
ICAgICAgICAmJiBkZWNvZGVyLmRlY29kZShtZXRyaWNzLmNvbnN0cmFpbmVkKQogICAgICAgICAm
JiBkZWNvZGVyLmRlY29kZShtZXRyaWNzLm11bHRpcGF0aCkKICAgICAgICAgJiYgZGVjb2Rlci5k
ZWNvZGUobWV0cmljcy5pc1JldXNlZENvbm5lY3Rpb24pCi0gICAgICAgICYmIGRlY29kZXIuZGVj
b2RlKG1ldHJpY3MuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKKyAgICAgICAgJiYgZGVjb2Rlci5k
ZWNvZGUobWV0cmljcy5pc0Nyb3NzT3JpZ2luV2l0aG91dFRBTykKICAgICAgICAgJiYgZGVjb2Rl
ci5kZWNvZGUobWV0cmljcy5wcm90b2NvbCkKICAgICAgICAgJiYgZGVjb2Rlci5kZWNvZGUobWV0
cmljcy5yZWRpcmVjdENvdW50KQogICAgICAgICAmJiBkZWNvZGVyLmRlY29kZShtZXRyaWNzLnJl
bW90ZUFkZHJlc3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L1Jlc291cmNlSGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VIYW5kbGUuY3BwCmluZGV4IDBkN2E3M2QxYTMyZWRlMmRmNjgzMDFhMjVjZjExZjU3ZjVi
YTZhMTYuLjQ0ZDRiMTBjZTZjMjdkOTFhNDIwNzNmZDRjMmVkNTBlYjM0NTFlMDYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwCkBA
IC03NSw4ICs3NSw4IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnJlZ2lzdGVyQnVpbHRpblN5bmNo
cm9ub3VzTG9hZGVyKGNvbnN0IEF0b21TdHJpbmcmIHByb3RvY29sCiAgICAgYnVpbHRpblJlc291
cmNlSGFuZGxlU3luY2hyb25vdXNMb2FkZXJNYXAoKS5hZGQocHJvdG9jb2wsIGxvYWRlcik7CiB9
CiAKLVJlc291cmNlSGFuZGxlOjpSZXNvdXJjZUhhbmRsZShOZXR3b3JraW5nQ29udGV4dCogY29u
dGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUhhbmRsZUNsaWVu
dCogY2xpZW50LCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVudFNuaWZmLCBi
b29sIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKQotICAgIDogZChtYWtlVW5pcXVlPFJlc291
cmNlSGFuZGxlSW50ZXJuYWw+KHRoaXMsIGNvbnRleHQsIHJlcXVlc3QsIGNsaWVudCwgZGVmZXJz
TG9hZGluZywgc2hvdWxkQ29udGVudFNuaWZmICYmIHNob3VsZENvbnRlbnRTbmlmZlVSTChyZXF1
ZXN0LnVybCgpKSwgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYpKQorUmVzb3VyY2VIYW5kbGU6
OlJlc291cmNlSGFuZGxlKE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQsIGJvb2wgZGVm
ZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVudEVu
Y29kaW5nU25pZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBzb3VyY2VPcmlnaW4pCisgICAg
OiBkKG1ha2VVbmlxdWU8UmVzb3VyY2VIYW5kbGVJbnRlcm5hbD4odGhpcywgY29udGV4dCwgcmVx
dWVzdCwgY2xpZW50LCBkZWZlcnNMb2FkaW5nLCBzaG91bGRDb250ZW50U25pZmYgJiYgc2hvdWxk
Q29udGVudFNuaWZmVVJMKHJlcXVlc3QudXJsKCkpLCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlm
ZiwgV1RGTW92ZShzb3VyY2VPcmlnaW4pKSkKIHsKICAgICBpZiAoIXJlcXVlc3QudXJsKCkuaXNW
YWxpZCgpKSB7CiAgICAgICAgIHNjaGVkdWxlRmFpbHVyZShJbnZhbGlkVVJMRmFpbHVyZSk7CkBA
IC04OSwxMiArODksMTIgQEAgUmVzb3VyY2VIYW5kbGU6OlJlc291cmNlSGFuZGxlKE5ldHdvcmtp
bmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QKICAgICB9CiB9CiAKLVJl
ZlB0cjxSZXNvdXJjZUhhbmRsZT4gUmVzb3VyY2VIYW5kbGU6OmNyZWF0ZShOZXR3b3JraW5nQ29u
dGV4dCogY29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUhh
bmRsZUNsaWVudCogY2xpZW50LCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVu
dFNuaWZmLCBib29sIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKQorUmVmUHRyPFJlc291cmNl
SGFuZGxlPiBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlKE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0
LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBj
bGllbnQsIGJvb2wgZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wg
c2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBzb3Vy
Y2VPcmlnaW4pCiB7CiAgICAgaWYgKGF1dG8gY29uc3RydWN0b3IgPSBidWlsdGluUmVzb3VyY2VI
YW5kbGVDb25zdHJ1Y3Rvck1hcCgpLmdldChyZXF1ZXN0LnVybCgpLnByb3RvY29sKCkudG9TdHJp
bmdXaXRob3V0Q29weWluZygpKSkKICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yKHJlcXVlc3Qs
IGNsaWVudCk7CiAKLSAgICBhdXRvIG5ld0hhbmRsZSA9IGFkb3B0UmVmKCpuZXcgUmVzb3VyY2VI
YW5kbGUoY29udGV4dCwgcmVxdWVzdCwgY2xpZW50LCBkZWZlcnNMb2FkaW5nLCBzaG91bGRDb250
ZW50U25pZmYsIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKSk7CisgICAgYXV0byBuZXdIYW5k
bGUgPSBhZG9wdFJlZigqbmV3IFJlc291cmNlSGFuZGxlKGNvbnRleHQsIHJlcXVlc3QsIGNsaWVu
dCwgZGVmZXJzTG9hZGluZywgc2hvdWxkQ29udGVudFNuaWZmLCBzaG91bGRDb250ZW50RW5jb2Rp
bmdTbmlmZiwgV1RGTW92ZShzb3VyY2VPcmlnaW4pKSk7CiAKICAgICBpZiAobmV3SGFuZGxlLT5k
LT5tX3NjaGVkdWxlZEZhaWx1cmVUeXBlICE9IE5vRmFpbHVyZSkKICAgICAgICAgcmV0dXJuIG5l
d0hhbmRsZTsKQEAgLTEzMywxNCArMTMzLDE0IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmZhaWx1
cmVUaW1lckZpcmVkKCkKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAotdm9pZCBSZXNv
dXJjZUhhbmRsZTo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCog
Y29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBTdG9yZWRDcmVkZW50aWFs
c1BvbGljeSBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYgZXJyb3IsIFJl
c291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBWZWN0b3I8dWludDhfdD4mIGRhdGEpCit2b2lkIFJl
c291cmNlSGFuZGxlOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0
KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFN0b3JlZENyZWRlbnRp
YWxzUG9saWN5IHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBTZWN1cml0eU9yaWdpbiogc291cmNl
T3JpZ2luLCBSZXNvdXJjZUVycm9yJiBlcnJvciwgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2Us
IFZlY3Rvcjx1aW50OF90PiYgZGF0YSkKIHsKICAgICBpZiAoYXV0byBjb25zdHJ1Y3RvciA9IGJ1
aWx0aW5SZXNvdXJjZUhhbmRsZVN5bmNocm9ub3VzTG9hZGVyTWFwKCkuZ2V0KHJlcXVlc3QudXJs
KCkucHJvdG9jb2woKS50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCkpKSB7CiAgICAgICAgIGNvbnN0
cnVjdG9yKGNvbnRleHQsIHJlcXVlc3QsIHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBlcnJvciwg
cmVzcG9uc2UsIGRhdGEpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgcGxhdGZvcm1M
b2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KGNvbnRleHQsIHJlcXVlc3QsIHN0b3JlZENyZWRlbnRp
YWxzUG9saWN5LCBlcnJvciwgcmVzcG9uc2UsIGRhdGEpOworICAgIHBsYXRmb3JtTG9hZFJlc291
cmNlU3luY2hyb25vdXNseShjb250ZXh0LCByZXF1ZXN0LCBzdG9yZWRDcmVkZW50aWFsc1BvbGlj
eSwgc291cmNlT3JpZ2luLCBlcnJvciwgcmVzcG9uc2UsIGRhdGEpOwogfQogCiBSZXNvdXJjZUhh
bmRsZUNsaWVudCogUmVzb3VyY2VIYW5kbGU6OmNsaWVudCgpIGNvbnN0CkBAIC0yMDQsMTQgKzIw
NCwxNCBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpjbGVhckF1dGhlbnRpY2F0aW9uKCkKICAgICBk
LT5tX2N1cnJlbnRXZWJDaGFsbGVuZ2UubnVsbGlmeSgpOwogfQogCi1ib29sIFJlc291cmNlSGFu
ZGxlOjpoYXNDcm9zc09yaWdpblJlZGlyZWN0KCkgY29uc3QKK2Jvb2wgUmVzb3VyY2VIYW5kbGU6
OmlzQ3Jvc3NPcmlnaW5XaXRob3V0VEFPKCkgY29uc3QKIHsKLSAgICByZXR1cm4gZC0+bV9oYXND
cm9zc09yaWdpblJlZGlyZWN0OworICAgIHJldHVybiBkLT5tX2lzQ3Jvc3NPcmlnaW5XaXRob3V0
VEFPOwogfQogCi12b2lkIFJlc291cmNlSGFuZGxlOjpzZXRIYXNDcm9zc09yaWdpblJlZGlyZWN0
KGJvb2wgdmFsdWUpCit2b2lkIFJlc291cmNlSGFuZGxlOjptYXJrQXNDcm9zc09yaWdpbldpdGhv
dXRUQU8oKQogewotICAgIGQtPm1faGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCA9IHZhbHVlOworICAg
IGQtPm1faXNDcm9zc09yaWdpbldpdGhvdXRUQU8gPSB0cnVlOwogfQogCiB2b2lkIFJlc291cmNl
SGFuZGxlOjppbmNyZW1lbnRSZWRpcmVjdENvdW50KCkKQEAgLTIyNCw2ICsyMjQsMTEgQEAgdWlu
dDE2X3QgUmVzb3VyY2VIYW5kbGU6OnJlZGlyZWN0Q291bnQoKSBjb25zdAogICAgIHJldHVybiBk
LT5tX3JlZGlyZWN0Q291bnQ7CiB9CiAKK2NvbnN0IFNlY3VyaXR5T3JpZ2luKiBSZXNvdXJjZUhh
bmRsZTo6c291cmNlT3JpZ2luKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZC0+bV9zb3VyY2VPcmln
aW4uZ2V0KCk7Cit9CisKIE1vbm90b25pY1RpbWUgUmVzb3VyY2VIYW5kbGU6OnN0YXJ0VGltZUJl
Zm9yZVJlZGlyZWN0cygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGQtPm1fc3RhcnRUaW1lOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCmluZGV4
IGZmZDg4NTQ3ZTYwNmJmOGMwZWI1MmFmOGJiOGE5MjBjYTYxYjE3OWQuLjIzNDYyNGUzNTYwZWYz
NTc4MjYxMzhkNDhhM2E1MTVlYTU2MGJjYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgKQEAgLTgzLDYgKzgzLDcgQEAgY2xhc3MgUmVz
b3VyY2VIYW5kbGVJbnRlcm5hbDsKIGNsYXNzIE5ldHdvcmtMb2FkTWV0cmljczsKIGNsYXNzIFJl
c291cmNlUmVxdWVzdDsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CitjbGFzcyBTZWN1cml0eU9y
aWdpbjsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIGNsYXNzIFN5bmNocm9ub3VzTG9hZGVyTWVzc2Fn
ZVF1ZXVlOwogY2xhc3MgVGltZXI7CkBAIC05NCw4ICs5NSw4IEBAIGNsYXNzIEN1cmxSZXNvdXJj
ZUhhbmRsZURlbGVnYXRlOwogCiBjbGFzcyBSZXNvdXJjZUhhbmRsZSA6IHB1YmxpYyBSZWZDb3Vu
dGVkPFJlc291cmNlSGFuZGxlPiwgcHVibGljIEF1dGhlbnRpY2F0aW9uQ2xpZW50IHsKIHB1Ymxp
YzoKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBjcmVh
dGUoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBSZXNvdXJjZUhh
bmRsZUNsaWVudCosIGJvb2wgZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYs
IGJvb2wgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYpOwotICAgIFdFQkNPUkVfRVhQT1JUIHN0
YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2luZ0NvbnRleHQqLCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmLCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgUmVzb3VyY2VF
cnJvciYsIFJlc291cmNlUmVzcG9uc2UmLCBWZWN0b3I8dWludDhfdD4mIGRhdGEpOworICAgIFdF
QkNPUkVfRVhQT1JUIHN0YXRpYyBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IGNyZWF0ZShOZXR3b3Jr
aW5nQ29udGV4dCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFJlc291cmNlSGFuZGxlQ2xpZW50
KiwgYm9vbCBkZWZlcnNMb2FkaW5nLCBib29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91
bGRDb250ZW50RW5jb2RpbmdTbmlmZiwgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiYmIHNvdXJjZU9y
aWdpbik7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hy
b25vdXNseShOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFN0b3Jl
ZENyZWRlbnRpYWxzUG9saWN5LCBTZWN1cml0eU9yaWdpbiosIFJlc291cmNlRXJyb3ImLCBSZXNv
dXJjZVJlc3BvbnNlJiwgVmVjdG9yPHVpbnQ4X3Q+JiBkYXRhKTsKICAgICBXRUJDT1JFX0VYUE9S
VCB2aXJ0dWFsIH5SZXNvdXJjZUhhbmRsZSgpOwogCiAjaWYgUExBVEZPUk0oQ09DT0EpIHx8IFVT
RShDRlVSTENPTk5FQ1RJT04pCkBAIC0xNzQsMTAgKzE3NSwxMSBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXROZXR3b3JrTG9hZE1ldHJpY3MoQm94PE5ldHdvcmtMb2FkTWV0cmljcz4mJik7CiAKICAg
ICBNb25vdG9uaWNUaW1lIHN0YXJ0VGltZUJlZm9yZVJlZGlyZWN0cygpIGNvbnN0OwotICAgIGJv
b2wgaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCgpIGNvbnN0OwotICAgIHZvaWQgc2V0SGFzQ3Jvc3NP
cmlnaW5SZWRpcmVjdChib29sKTsKKyAgICBib29sIGlzQ3Jvc3NPcmlnaW5XaXRob3V0VEFPKCkg
Y29uc3Q7CisgICAgdm9pZCBtYXJrQXNDcm9zc09yaWdpbldpdGhvdXRUQU8oKTsKICAgICB1aW50
MTZfdCByZWRpcmVjdENvdW50KCkgY29uc3Q7CiAgICAgdm9pZCBpbmNyZW1lbnRSZWRpcmVjdENv
dW50KCk7CisgICAgY29uc3QgU2VjdXJpdHlPcmlnaW4qIHNvdXJjZU9yaWdpbigpIGNvbnN0Owog
CiAgICAgLy8gVGhlIGNsaWVudCBtYXkgYmUgMCwgaW4gd2hpY2ggY2FzZSBubyBjYWxsYmFja3Mg
d2lsbCBiZSBtYWRlLgogICAgIFdFQkNPUkVfRVhQT1JUIFJlc291cmNlSGFuZGxlQ2xpZW50KiBj
bGllbnQoKSBjb25zdDsKQEAgLTIwNiw3ICsyMDgsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZv
aWQgcmVnaXN0ZXJCdWlsdGluU3luY2hyb25vdXNMb2FkZXIoY29uc3QgQXRvbVN0cmluZyYgcHJv
dG9jb2wsIEJ1aWx0aW5TeW5jaHJvbm91c0xvYWRlcik7CiAKIHByb3RlY3RlZDoKLSAgICBSZXNv
dXJjZUhhbmRsZShOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFJl
c291cmNlSGFuZGxlQ2xpZW50KiwgYm9vbCBkZWZlcnNMb2FkaW5nLCBib29sIHNob3VsZENvbnRl
bnRTbmlmZiwgYm9vbCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZik7CisgICAgUmVzb3VyY2VI
YW5kbGUoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBSZXNvdXJj
ZUhhbmRsZUNsaWVudCosIGJvb2wgZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25p
ZmYsIGJvb2wgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdp
bj4mJiBzb3VyY2VPcmlnaW4pOwogCiBwcml2YXRlOgogICAgIGVudW0gRmFpbHVyZVR5cGUgewpA
QCAtMjIyLDcgKzIyNCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzY2hlZHVsZUZhaWx1cmUoRmFp
bHVyZVR5cGUpOwogCiAgICAgYm9vbCBzdGFydCgpOwotICAgIHN0YXRpYyB2b2lkIHBsYXRmb3Jt
TG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFJlc291
cmNlUmVxdWVzdCYsIFN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBSZXNvdXJjZUVycm9yJiwgUmVz
b3VyY2VSZXNwb25zZSYsIFZlY3Rvcjx1aW50OF90PiYgZGF0YSk7CisgICAgc3RhdGljIHZvaWQg
cGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0KiwgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiwgU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIFNlY3VyaXR5T3Jp
Z2luKiwgUmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVzcG9uc2UmLCBWZWN0b3I8dWludDhfdD4m
IGRhdGEpOwogCiAgICAgdm9pZCByZWZBdXRoZW50aWNhdGlvbkNsaWVudCgpIG92ZXJyaWRlIHsg
cmVmKCk7IH0KICAgICB2b2lkIGRlcmVmQXV0aGVudGljYXRpb25DbGllbnQoKSBvdmVycmlkZSB7
IGRlcmVmKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgKaW5kZXggMThmZDQxYzg2Njc3ZjVlMDAwNDc4NmUz
MWQ1NmI1M2E1NzVkODFhZS4uMWZkYTVjNDIwZjUxNDFkM2Y3NzExZWM0MWE4ZjdjMzY1MzBkMTRh
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhh
bmRsZUludGVybmFsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZUhhbmRsZUludGVybmFsLmgKQEAgLTY1LDcgKzY1LDcgQEAgY2xhc3MgUmVzb3VyY2VIYW5k
bGVJbnRlcm5hbCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVzb3VyY2VIYW5kbGVJbnRl
cm5hbCk7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURURfV0lUSF9IRUFQX0lERU5USUZJRVIo
UmVzb3VyY2VIYW5kbGVJbnRlcm5hbCk7CiBwdWJsaWM6Ci0gICAgUmVzb3VyY2VIYW5kbGVJbnRl
cm5hbChSZXNvdXJjZUhhbmRsZSogbG9hZGVyLCBOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUhhbmRsZUNsaWVudCogY2xp
ZW50LCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVudFNuaWZmLCBib29sIHNo
b3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKQorICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwoUmVz
b3VyY2VIYW5kbGUqIGxvYWRlciwgTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IFJl
c291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VIYW5kbGVDbGllbnQqIGNsaWVudCwgYm9v
bCBkZWZlcnNMb2FkaW5nLCBib29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91bGRDb250
ZW50RW5jb2RpbmdTbmlmZiwgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiYmIHNvdXJjZU9yaWdpbikK
ICAgICAgICAgOiBtX2NvbnRleHQoY29udGV4dCkKICAgICAgICAgLCBtX2NsaWVudChjbGllbnQp
CiAgICAgICAgICwgbV9maXJzdFJlcXVlc3QocmVxdWVzdCkKQEAgLTc4LDYgKzc4LDcgQEAgcHVi
bGljOgogICAgICAgICAsIG1fY3VycmVudFJlcXVlc3QocmVxdWVzdCkKICNlbmRpZgogICAgICAg
ICAsIG1fZmFpbHVyZVRpbWVyKCpsb2FkZXIsICZSZXNvdXJjZUhhbmRsZTo6ZmFpbHVyZVRpbWVy
RmlyZWQpCisgICAgICAgICwgbV9zb3VyY2VPcmlnaW4oV1RGTW92ZShzb3VyY2VPcmlnaW4pKQog
ICAgIHsKICAgICAgICAgY29uc3QgVVJMJiB1cmwgPSBtX2ZpcnN0UmVxdWVzdC51cmwoKTsKICAg
ICAgICAgbV91c2VyID0gdXJsLnVzZXIoKTsKQEAgLTEzMyw3ICsxMzQsNyBAQCBwdWJsaWM6CiAg
ICAgQm94PE5ldHdvcmtMb2FkTWV0cmljcz4gbV9uZXR3b3JrTG9hZE1ldHJpY3M7CiAgICAgTW9u
b3RvbmljVGltZSBtX3N0YXJ0VGltZTsKICAgICB1aW50MTZfdCBtX3JlZGlyZWN0Q291bnQgeyAw
IH07Ci0gICAgYm9vbCBtX2hhc0Nyb3NzT3JpZ2luUmVkaXJlY3QgeyBmYWxzZSB9OworICAgIGJv
b2wgbV9pc0Nyb3NzT3JpZ2luV2l0aG91dFRBTyB7IGZhbHNlIH07CiAKICNpZiBQTEFURk9STShD
T0NPQSkKICAgICAvLyBXZSBuZWVkIHRvIGtlZXAgYSByZWZlcmVuY2UgdG8gdGhlIG9yaWdpbmFs
IGNoYWxsZW5nZSB0byBiZSBhYmxlIHRvIGNhbmNlbCBpdC4KQEAgLTE0NCw2ICsxNDUsNyBAQCBw
dWJsaWM6CiAgICAgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UgbV9jdXJyZW50V2ViQ2hhbGxlbmdl
OwogICAgIFJlc291cmNlSGFuZGxlOjpGYWlsdXJlVHlwZSBtX3NjaGVkdWxlZEZhaWx1cmVUeXBl
IHsgUmVzb3VyY2VIYW5kbGU6Ok5vRmFpbHVyZSB9OwogICAgIFRpbWVyIG1fZmFpbHVyZVRpbWVy
OworICAgIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4gbV9zb3VyY2VPcmlnaW47CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1RpbWluZ0FsbG93T3JpZ2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvVGltaW5nQWxsb3dPcmlnaW4uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczNGQ5MTY2ZTIwNDhlZjhm
NGY0NGUyMmNjYTVhYmM3YTFjZTE0MGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1RpbWluZ0FsbG93T3JpZ2luLmNwcApAQCAtMCwwICsxLDUzIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlRpbWluZ0FsbG93
T3JpZ2luLmgiCisKKyNpbmNsdWRlICJIVFRQUGFyc2Vycy5oIgorI2luY2x1ZGUgIlJlc291cmNl
UmVzcG9uc2UuaCIKKyNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2Jvb2wgcGFzc2VzVGltaW5nQWxsb3dPcmlnaW5DaGVjayhjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJiByZXNwb25zZSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIGluaXRpYXRvclNlY3Vy
aXR5T3JpZ2luKQoreworICAgIC8vIGh0dHBzOi8vZmV0Y2guc3BlYy53aGF0d2cub3JnLyN0YW8t
Y2hlY2sKKyAgICBhdXRvIHJlc291cmNlT3JpZ2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZShy
ZXNwb25zZS51cmwoKSk7CisgICAgaWYgKHJlc291cmNlT3JpZ2luLT5pc1NhbWVTY2hlbWVIb3N0
UG9ydChpbml0aWF0b3JTZWN1cml0eU9yaWdpbikpCisgICAgICAgIHJldHVybiB0cnVlOworCisg
ICAgY29uc3QgU3RyaW5nJiB0aW1pbmdBbGxvd09yaWdpblN0cmluZyA9IHJlc3BvbnNlLmh0dHBI
ZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6VGltaW5nQWxsb3dPcmlnaW4pOworICAgIGNvbnN0
IFN0cmluZyYgc2VjdXJpdHlPcmlnaW4gPSBpbml0aWF0b3JTZWN1cml0eU9yaWdpbi50b1N0cmlu
ZygpOworICAgIGZvciAoYXV0byYgb3JpZ2luV2l0aFNwYWNlIDogdGltaW5nQWxsb3dPcmlnaW5T
dHJpbmcuc3BsaXQoJywnKSkgeworICAgICAgICBhdXRvIG9yaWdpbiA9IHN0cmlwTGVhZGluZ0Fu
ZFRyYWlsaW5nSFRUUFNwYWNlcyhTdHJpbmdWaWV3KG9yaWdpbldpdGhTcGFjZSkpOworICAgICAg
ICBpZiAob3JpZ2luID09ICIqIiB8fCBvcmlnaW4gPT0gc2VjdXJpdHlPcmlnaW4pCisgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvVGltaW5nQWxsb3dPcmln
aW4uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvVGltaW5nQWxsb3dPcmlnaW4u
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42ODMwMDgzMzkzOGFhMjVkZDhjOTA5YTA1ZTRjNmRkZmRhMWYzOTVlCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9UaW1pbmdB
bGxvd09yaWdpbi5oCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOworY2xhc3Mg
U2VjdXJpdHlPcmlnaW47CisKK1dFQkNPUkVfRVhQT1JUIGJvb2wgcGFzc2VzVGltaW5nQWxsb3dP
cmlnaW5DaGVjayhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgV2ViQ29yZTo6U2VjdXJp
dHlPcmlnaW4mIGluaXRpYXRvclNlY3VyaXR5T3JpZ2luKTsKKworfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2NvYS9OZXR3b3JrTG9hZE1ldHJpY3MubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtMb2FkTWV0cmlj
cy5tbQppbmRleCBiNTQ0N2RmNTQ3NmMwYzRjNGFiYzU4OWNiMzE3ODViYmY0OGNhZDk1Li45Nzc5
YTcyYWE5N2FjYmU4MjU1NTI4NmJjODQyMTA1ZmVjYmRmMGI2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtMb2FkTWV0cmljcy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtMb2FkTWV0cmlj
cy5tbQpAQCAtMzgsNyArMzgsNyBAQCBzdGF0aWMgTW9ub3RvbmljVGltZSBkYXRlVG9Nb25vdG9u
aWNUaW1lKE5TRGF0ZSAqZGF0ZSkKICAgICByZXR1cm4geyB9OwogfQogCi1zdGF0aWMgQm94PE5l
dHdvcmtMb2FkTWV0cmljcz4gcGFja2FnZVRpbWluZ0RhdGEoTW9ub3RvbmljVGltZSByZWRpcmVj
dFN0YXJ0LCBOU0RhdGUgKmZldGNoU3RhcnQsIE5TRGF0ZSAqZG9tYWluTG9va3VwU3RhcnQsIE5T
RGF0ZSAqZG9tYWluTG9va3VwRW5kLCBOU0RhdGUgKmNvbm5lY3RTdGFydCwgTlNEYXRlICpzZWN1
cmVDb25uZWN0aW9uU3RhcnQsIE5TRGF0ZSAqY29ubmVjdEVuZCwgTlNEYXRlICpyZXF1ZXN0U3Rh
cnQsIE5TRGF0ZSAqcmVzcG9uc2VTdGFydCwgYm9vbCByZXVzZWRUTFNDb25uZWN0aW9uLCBOU1N0
cmluZyAqcHJvdG9jb2wsIHVpbnQxNl90IHJlZGlyZWN0Q291bnQsIGJvb2wgaGFzQ3Jvc3NPcmln
aW5SZWRpcmVjdCkKK3N0YXRpYyBCb3g8TmV0d29ya0xvYWRNZXRyaWNzPiBwYWNrYWdlVGltaW5n
RGF0YShNb25vdG9uaWNUaW1lIHJlZGlyZWN0U3RhcnQsIE5TRGF0ZSAqZmV0Y2hTdGFydCwgTlNE
YXRlICpkb21haW5Mb29rdXBTdGFydCwgTlNEYXRlICpkb21haW5Mb29rdXBFbmQsIE5TRGF0ZSAq
Y29ubmVjdFN0YXJ0LCBOU0RhdGUgKnNlY3VyZUNvbm5lY3Rpb25TdGFydCwgTlNEYXRlICpjb25u
ZWN0RW5kLCBOU0RhdGUgKnJlcXVlc3RTdGFydCwgTlNEYXRlICpyZXNwb25zZVN0YXJ0LCBib29s
IHJldXNlZFRMU0Nvbm5lY3Rpb24sIE5TU3RyaW5nICpwcm90b2NvbCwgdWludDE2X3QgcmVkaXJl
Y3RDb3VudCwgYm9vbCBpc0Nyb3NzT3JpZ2luV2l0aG91dFRBTykKIHsKIAogICAgIGF1dG8gdGlt
aW5nID0gQm94PE5ldHdvcmtMb2FkTWV0cmljcz46OmNyZWF0ZSgpOwpAQCAtNTYsMTQgKzU2LDE0
IEBAIHN0YXRpYyBCb3g8TmV0d29ya0xvYWRNZXRyaWNzPiBwYWNrYWdlVGltaW5nRGF0YShNb25v
dG9uaWNUaW1lIHJlZGlyZWN0U3RhcnQsIE5TCiAgICAgdGltaW5nLT5yZXF1ZXN0U3RhcnQgPSBk
YXRlVG9Nb25vdG9uaWNUaW1lKHJlcXVlc3RTdGFydCk7CiAgICAgdGltaW5nLT5yZXNwb25zZVN0
YXJ0ID0gZGF0ZVRvTW9ub3RvbmljVGltZShyZXNwb25zZVN0YXJ0KTsKICAgICB0aW1pbmctPnJl
ZGlyZWN0Q291bnQgPSByZWRpcmVjdENvdW50OwotICAgIHRpbWluZy0+aGFzQ3Jvc3NPcmlnaW5S
ZWRpcmVjdCA9IGhhc0Nyb3NzT3JpZ2luUmVkaXJlY3Q7CisgICAgdGltaW5nLT5pc0Nyb3NzT3Jp
Z2luV2l0aG91dFRBTyA9IGlzQ3Jvc3NPcmlnaW5XaXRob3V0VEFPOwogCiAgICAgLy8gTk9URTog
cmVzcG9uc2VFbmQgaXMgbm90IHBvcHVsYXRlZCBpbiB0aGlzIGNvZGUgcGF0aC4KIAogICAgIHJl
dHVybiB0aW1pbmc7CiB9CiAKLUJveDxOZXR3b3JrTG9hZE1ldHJpY3M+IGNvcHlUaW1pbmdEYXRh
KE5TVVJMU2Vzc2lvblRhc2tNZXRyaWNzICppbmNvbXBsZXRlTWV0cmljcywgYm9vbCBoYXNDcm9z
c09yaWdpblJlZGlyZWN0KQorQm94PE5ldHdvcmtMb2FkTWV0cmljcz4gY29weVRpbWluZ0RhdGEo
TlNVUkxTZXNzaW9uVGFza01ldHJpY3MgKmluY29tcGxldGVNZXRyaWNzLCBib29sIGlzQ3Jvc3NP
cmlnaW5XaXRob3V0VEFPKQogewogICAgIE5TQXJyYXk8TlNVUkxTZXNzaW9uVGFza1RyYW5zYWN0
aW9uTWV0cmljcyAqPiAqdHJhbnNhY3Rpb25NZXRyaWNzID0gaW5jb21wbGV0ZU1ldHJpY3MudHJh
bnNhY3Rpb25NZXRyaWNzOwogICAgIE5TVVJMU2Vzc2lvblRhc2tUcmFuc2FjdGlvbk1ldHJpY3Mg
Km1ldHJpY3MgPSB0cmFuc2FjdGlvbk1ldHJpY3MubGFzdE9iamVjdDsKQEAgLTgwLDcgKzgwLDcg
QEAgQm94PE5ldHdvcmtMb2FkTWV0cmljcz4gY29weVRpbWluZ0RhdGEoTlNVUkxTZXNzaW9uVGFz
a01ldHJpY3MgKmluY29tcGxldGVNZXRyaWMKICAgICAgICAgbWV0cmljcy5yZXVzZWRDb25uZWN0
aW9uLAogICAgICAgICBtZXRyaWNzLnJlc3BvbnNlLlVSTC5zY2hlbWUsCiAgICAgICAgIGluY29t
cGxldGVNZXRyaWNzLnJlZGlyZWN0Q291bnQsCi0gICAgICAgIGhhc0Nyb3NzT3JpZ2luUmVkaXJl
Y3QKKyAgICAgICAgaXNDcm9zc09yaWdpbldpdGhvdXRUQU8KICAgICApOwogfQogCkBAIC0xMDks
NyArMTA5LDcgQEAgQm94PE5ldHdvcmtMb2FkTWV0cmljcz4gY29weVRpbWluZ0RhdGEoTlNVUkxD
b25uZWN0aW9uICpjb25uZWN0aW9uLCBjb25zdCBSZXNvdXIKICAgICAgICAgdGltaW5nVmFsdWUo
QCJfa0NGTlRpbWluZ0RhdGFDb25uZWN0aW9uUmV1c2VkIikuZ2V0KCksCiAgICAgICAgIGNvbm5l
Y3Rpb24uY3VycmVudFJlcXVlc3QuVVJMLnNjaGVtZSwKICAgICAgICAgaGFuZGxlLnJlZGlyZWN0
Q291bnQoKSwKLSAgICAgICAgaGFuZGxlLmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QoKQorICAgICAg
ICBoYW5kbGUuaXNDcm9zc09yaWdpbldpdGhvdXRUQU8oKQogICAgICk7CiAKICAgICBpZiAoIWRh
dGEtPmZldGNoU3RhcnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2N1cmwvQ3VybENhY2hlRW50cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jdXJsL0N1cmxDYWNoZUVudHJ5LmNwcAppbmRleCA2ZDkyNDc1YjVlYjYyMGI3ZGE5YjMz
OGU3NmFiYTBmYzg4N2EzZWQ2Li5jMTg1ZWIzYjkzNTk1NjU1MmQxYTRkMzQwNmE4YThmOTRmMDBm
ZmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3Vy
bENhY2hlRW50cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3Vy
bC9DdXJsQ2FjaGVFbnRyeS5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlICJSZXNvdXJj
ZUhhbmRsZUludGVybmFsLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVk
ZSAiUmVzb3VyY2VSZXNwb25zZS5oIgorI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5j
bHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAjaW5jbHVkZSA8d3RmL0RhdGVNYXRoLmg+CiAjaW5jbHVk
ZSA8d3RmL0hleE51bWJlci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlQ3VybC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVDdXJsLmNwcAppbmRleCAzOGU1ZWUxOWIx
NDYxNzFiN2I4MjY4NTFhYmIxZjJmNDg5NWM1MDQxLi5kYWYzYWY2ODVkOGNhYmUxMjQ5ODFkN2Mw
ODEyNWI3NzE5Y2NiMjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVDdXJsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVDdXJsLmNwcApAQCAtMzY1LDcgKzM2NSw3
IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnJlc3RhcnRSZXF1ZXN0V2l0aENyZWRlbnRpYWwoY29u
c3QgUHJvdGVjdGlvblNwYWNlJiBwcm90ZWN0CiAgICAgZC0+bV9jdXJsUmVxdWVzdC0+c3RhcnQo
KTsKIH0KIAotdm9pZCBSZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5jaHJv
bm91c2x5KE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIFN0b3JlZENyZWRlbnRpYWxzUG9saWN5IHN0b3JlZENyZWRlbnRpYWxzUG9saWN5
LCBSZXNvdXJjZUVycm9yJiBlcnJvciwgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFZlY3Rv
cjx1aW50OF90PiYgZGF0YSkKK3ZvaWQgUmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtTG9hZFJlc291
cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwgY29uc3QgUmVzb3Vy
Y2VSZXF1ZXN0JiByZXF1ZXN0LCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSBzdG9yZWRDcmVkZW50
aWFsc1BvbGljeSwgU2VjdXJpdHlPcmlnaW4qLCBSZXNvdXJjZUVycm9yJiBlcnJvciwgUmVzb3Vy
Y2VSZXNwb25zZSYgcmVzcG9uc2UsIFZlY3Rvcjx1aW50OF90PiYgZGF0YSkKIHsKICAgICBBU1NF
UlQoaXNNYWluVGhyZWFkKCkpOwogICAgIEFTU0VSVCghcmVxdWVzdC5pc0VtcHR5KCkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5k
bGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhh
bmRsZU1hYy5tbQppbmRleCBmMmMxZWQ2NjQyZTZiN2JjYmRjZmEzMjdhYWY4MmU5YjAzN2FhNGE1
Li40ODEzMjBjODMzNDRjMGExNzFhNDUzZjcwZTNlODU3ZGUwOWVlYzI3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1h
Yy5tbQpAQCAtMzUxLDcgKzM1MSw3IEBAIENGU3RyaW5nUmVmIFJlc291cmNlSGFuZGxlOjpzeW5j
aHJvbm91c0xvYWRSdW5Mb29wTW9kZSgpCiAgICAgcmV0dXJuIENGU1RSKCJXZWJDb3JlU3luY2hy
b25vdXNMb2FkZXJSdW5Mb29wTW9kZSIpOwogfQogCi12b2lkIFJlc291cmNlSGFuZGxlOjpwbGF0
Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQs
IGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kg
c3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIFJlc291cmNlRXJyb3ImIGVycm9yLCBSZXNvdXJjZVJl
c3BvbnNlJiByZXNwb25zZSwgVmVjdG9yPHVpbnQ4X3Q+JiBkYXRhKQordm9pZCBSZXNvdXJjZUhh
bmRsZTo6cGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0
KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFN0b3JlZENyZWRlbnRp
YWxzUG9saWN5IHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBTZWN1cml0eU9yaWdpbiogc291cmNl
T3JpZ2luLCBSZXNvdXJjZUVycm9yJiBlcnJvciwgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2Us
IFZlY3Rvcjx1aW50OF90PiYgZGF0YSkKIHsKICAgICBMT0coTmV0d29yaywgIlJlc291cmNlSGFu
ZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHk6JUAgc3RvcmVkQ3JlZGVudGlh
bHNQb2xpY3k6JXUiLCByZXF1ZXN0Lm5zVVJMUmVxdWVzdChIVFRQQm9keVVwZGF0ZVBvbGljeTo6
RG9Ob3RVcGRhdGVIVFRQQm9keSksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihzdG9yZWRDcmVkZW50
aWFsc1BvbGljeSkpOwogCkBAIC0zNjMsNyArMzYzLDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6
cGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0KiBjb250
ZXgKICAgICBib29sIGRlZmVyc0xvYWRpbmcgPSBmYWxzZTsKICAgICBib29sIHNob3VsZENvbnRl
bnRTbmlmZiA9IHRydWU7CiAgICAgYm9vbCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiA9IHRy
dWU7Ci0gICAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBoYW5kbGUgPSBhZG9wdFJlZihuZXcgUmVz
b3VyY2VIYW5kbGUoY29udGV4dCwgcmVxdWVzdCwgJmNsaWVudCwgZGVmZXJzTG9hZGluZywgc2hv
dWxkQ29udGVudFNuaWZmLCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZikpOworICAgIFJlZlB0
cjxSZXNvdXJjZUhhbmRsZT4gaGFuZGxlID0gYWRvcHRSZWYobmV3IFJlc291cmNlSGFuZGxlKGNv
bnRleHQsIHJlcXVlc3QsICZjbGllbnQsIGRlZmVyc0xvYWRpbmcsIHNob3VsZENvbnRlbnRTbmlm
Ziwgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYsIHNvdXJjZU9yaWdpbikpOwogCiAgICAgaGFu
ZGxlLT5kLT5tX3N0b3JhZ2VTZXNzaW9uID0gY29udGV4dC0+c3RvcmFnZVNlc3Npb24oKS0+cGxh
dGZvcm1TZXNzaW9uKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhh
bmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5tbQppbmRleCBjNDMyNjE2OTZlM2NlZGYzNmY3
ZTJkMzhhMDdkYWU0Y2EyZmUyNjRkLi44MThjNDk2MWI5NDU0MjQ0ZWUxNzcwY2FiMTc3OTc5YWUz
ZDk4ODZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9X
ZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNP
cGVyYXRpb25RdWV1ZURlbGVnYXRlLm1tCkBAIC0zNyw2ICszNyw3IEBACiAjaW1wb3J0ICJTZWN1
cml0eU9yaWdpbi5oIgogI2ltcG9ydCAiU2hhcmVkQnVmZmVyLmgiCiAjaW1wb3J0ICJTeW5jaHJv
bm91c0xvYWRlckNsaWVudC5oIgorI2ltcG9ydCAiVGltaW5nQWxsb3dPcmlnaW4uaCIKICNpbXBv
cnQgIldlYkNvcmVVUkxSZXNwb25zZS5oIgogI2ltcG9ydCA8cGFsL3NwaS9jZi9DRk5ldHdvcmtT
UEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvTlNVUkxDb25uZWN0aW9uU1BJLmg+CkBAIC0x
NDEsNiArMTQyLDcgQEAgc3RhdGljIGJvb2wgc2NoZWR1bGVkV2l0aEN1c3RvbVJ1bkxvb3BNb2Rl
KGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2NoZWR1bGVQYWlySGFzaFMKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgfQogCisgICAgICAgIFJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UocmVkaXJl
Y3RSZXNwb25zZS5nZXQoKSk7CiAgICAgICAgIFJlc291cmNlUmVxdWVzdCByZWRpcmVjdFJlcXVl
c3QgPSBuZXdSZXF1ZXN0LmdldCgpOwogICAgICAgICBpZiAoW25ld1JlcXVlc3QuZ2V0KCkgSFRU
UEJvZHlTdHJlYW1dKSB7CiAgICAgICAgICAgICBBU1NFUlQobV9oYW5kbGUtPmZpcnN0UmVxdWVz
dCgpLmh0dHBCb2R5KCkpOwpAQCAtMTUwLDEwICsxNTIsMTIgQEAgc3RhdGljIGJvb2wgc2NoZWR1
bGVkV2l0aEN1c3RvbVJ1bkxvb3BNb2RlKGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2NoZWR1bGVQYWly
SGFzaFMKICAgICAgICAgICAgIHJlZGlyZWN0UmVxdWVzdC5jbGVhckhUVFBDb250ZW50VHlwZSgp
OwogCiAgICAgICAgIC8vIENoZWNrIGlmIHRoZSByZWRpcmVjdGVkIHVybCBpcyBhbGxvd2VkIHRv
IGFjY2VzcyB0aGUgcmVkaXJlY3RpbmcgdXJsJ3MgdGltaW5nIGluZm9ybWF0aW9uLgotICAgICAg
ICBtX2hhbmRsZS0+c2V0SGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCghV2ViQ29yZTo6U2VjdXJpdHlP
cmlnaW46OmNyZWF0ZShyZWRpcmVjdFJlcXVlc3QudXJsKCkpLT5jYW5SZXF1ZXN0KHJlZGlyZWN0
UmVzcG9uc2UuZ2V0KCkuVVJMKSk7CisgICAgICAgIGlmIChhdXRvKiBzb3VyY2VPcmlnaW4gPSBt
X2hhbmRsZS0+c291cmNlT3JpZ2luKCk7IHNvdXJjZU9yaWdpbiAmJiAhbV9oYW5kbGUtPmlzQ3Jv
c3NPcmlnaW5XaXRob3V0VEFPKCkgJiYgIXBhc3Nlc1RpbWluZ0FsbG93T3JpZ2luQ2hlY2socmVz
cG9uc2UsICpzb3VyY2VPcmlnaW4pKQorICAgICAgICAgICAgbV9oYW5kbGUtPm1hcmtBc0Nyb3Nz
T3JpZ2luV2l0aG91dFRBTygpOworCiAgICAgICAgIG1faGFuZGxlLT5pbmNyZW1lbnRSZWRpcmVj
dENvdW50KCk7CiAKLSAgICAgICAgbV9oYW5kbGUtPndpbGxTZW5kUmVxdWVzdChXVEZNb3ZlKHJl
ZGlyZWN0UmVxdWVzdCksIHJlZGlyZWN0UmVzcG9uc2UuZ2V0KCksIFtzZWxmLCBwcm90ZWN0ZWRT
ZWxmID0gV1RGTW92ZShwcm90ZWN0ZWRTZWxmKV0oUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCkg
eworICAgICAgICBtX2hhbmRsZS0+d2lsbFNlbmRSZXF1ZXN0KFdURk1vdmUocmVkaXJlY3RSZXF1
ZXN0KSwgV1RGTW92ZShyZXNwb25zZSksIFtzZWxmLCBwcm90ZWN0ZWRTZWxmID0gV1RGTW92ZShw
cm90ZWN0ZWRTZWxmKV0oUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCkgewogICAgICAgICAgICAg
bV9yZXF1ZXN0UmVzdWx0ID0gcmVxdWVzdC5uc1VSTFJlcXVlc3QoSFRUUEJvZHlVcGRhdGVQb2xp
Y3k6OlVwZGF0ZUhUVFBCb2R5KTsKICAgICAgICAgICAgIG1fc2VtYXBob3JlLnNpZ25hbCgpOwog
ICAgICAgICB9KTsKQEAgLTI1Nyw4ICsyNjEsMTEgQEAgQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1F
TlRBVElPTlNfRU5ECiAgICAgICAgIGlmIChbbV9oYW5kbGUtPmZpcnN0UmVxdWVzdCgpLm5zVVJM
UmVxdWVzdChIVFRQQm9keVVwZGF0ZVBvbGljeTo6RG9Ob3RVcGRhdGVIVFRQQm9keSkgX3Byb3Bl
cnR5Rm9yS2V5OkAiRm9yY2VIVE1MTUlNRVR5cGUiXSkKICAgICAgICAgICAgIFtyIF9zZXRNSU1F
VHlwZTpAInRleHQvaHRtbCJdOwogCi0gICAgICAgIGF1dG8gbWV0cmljcyA9IGNvcHlUaW1pbmdE
YXRhKGNvbm5lY3Rpb24uZ2V0KCksICptX2hhbmRsZSk7CiAgICAgICAgIFJlc291cmNlUmVzcG9u
c2UgcmVzb3VyY2VSZXNwb25zZShyLmdldCgpKTsKKyAgICAgICAgaWYgKGF1dG8qIHNvdXJjZU9y
aWdpbiA9IG1faGFuZGxlLT5zb3VyY2VPcmlnaW4oKTsgc291cmNlT3JpZ2luICYmICFtX2hhbmRs
ZS0+aXNDcm9zc09yaWdpbldpdGhvdXRUQU8oKSAmJiAhcGFzc2VzVGltaW5nQWxsb3dPcmlnaW5D
aGVjayhyZXNvdXJjZVJlc3BvbnNlLCAqc291cmNlT3JpZ2luKSkKKyAgICAgICAgICAgIG1faGFu
ZGxlLT5tYXJrQXNDcm9zc09yaWdpbldpdGhvdXRUQU8oKTsKKworICAgICAgICBhdXRvIG1ldHJp
Y3MgPSBjb3B5VGltaW5nRGF0YShjb25uZWN0aW9uLmdldCgpLCAqbV9oYW5kbGUpOwogICAgICAg
ICByZXNvdXJjZVJlc3BvbnNlLnNldFNvdXJjZShSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6Ok5l
dHdvcmspOwogICAgICAgICByZXNvdXJjZVJlc3BvbnNlLnNldERlcHJlY2F0ZWROZXR3b3JrTG9h
ZE1ldHJpY3MoQm94PE5ldHdvcmtMb2FkTWV0cmljcz4geyBtZXRyaWNzIH0pOwogCkBAIC0zMzMs
NiArMzQwLDcgQEAgQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1FTlRBVElPTlNfRU5ECiAgICAgICAg
ICAgICAgICAgbWV0cmljcy0+cmVzcG9uc2VFbmQgPSBXYWxsVGltZTo6ZnJvbVJhd1NlY29uZHMo
YWRvcHROUyhbW05TRGF0ZSBhbGxvY10gaW5pdFdpdGhUaW1lSW50ZXJ2YWxTaW5jZVJlZmVyZW5j
ZURhdGU6cmVzcG9uc2VFbmRUaW1lXSkuZ2V0KCkudGltZUludGVydmFsU2luY2UxOTcwKS5hcHBy
b3hpbWF0ZU1vbm90b25pY1RpbWUoKTsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAg
ICBtZXRyaWNzLT5yZXNwb25zZUVuZCA9IG1ldHJpY3MtPnJlc3BvbnNlU3RhcnQ7CisgICAgICAg
ICAgICBtZXRyaWNzLT5wcm90b2NvbCA9IChOU1N0cmluZyAqKVt0aW1pbmdEYXRhIG9iamVjdEZv
cktleTpAIl9rQ0ZOVGltaW5nRGF0YU5ldHdvcmtQcm90b2NvbE5hbWUiXTsKICAgICAgICAgICAg
IG1ldHJpY3MtPnJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQgPSBbW3RpbWluZ0RhdGEgb2JqZWN0
Rm9yS2V5OkAiX2tDRk5UaW1pbmdEYXRhUmVzcG9uc2VCb2R5Qnl0ZXNSZWNlaXZlZCJdIHVuc2ln
bmVkTG9uZ0xvbmdWYWx1ZV07CiAgICAgICAgICAgICBtZXRyaWNzLT5yZXNwb25zZUJvZHlEZWNv
ZGVkU2l6ZSA9IFtbdGltaW5nRGF0YSBvYmplY3RGb3JLZXk6QCJfa0NGTlRpbWluZ0RhdGFSZXNw
b25zZUJvZHlCeXRlc0RlY29kZWQiXSB1bnNpZ25lZExvbmdMb25nVmFsdWVdOwogICAgICAgICAg
ICAgbWV0cmljcy0+bWFya0NvbXBsZXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCmluZGV4IDY4
YWQ0NjQxNzEzNjBlZTlhODg2OTU3MzYxZTc4ZjViODRkMjQwZDEuLjQ5NzU0Y2Q3ZjEwM2RkMTg1
ZDdhMTc4NTFlOTVjZTJlNDU1OTEwZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCkBAIC0xMjcs
NyArMTI3LDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1TZXREZWZlcnNMb2FkaW5n
KGJvb2wpCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKLXZvaWQgUmVzb3VyY2VIYW5k
bGU6OnBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCos
IGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBSZXNvdXJj
ZUVycm9yJiwgUmVzb3VyY2VSZXNwb25zZSYsIFZlY3Rvcjx1aW50OF90PiYpCit2b2lkIFJlc291
cmNlSGFuZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2luZ0Nv
bnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSwg
U2VjdXJpdHlPcmlnaW4qLCBSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VSZXNwb25zZSYsIFZlY3Rv
cjx1aW50OF90PiYpCiB7CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkUGFyYW1ldGVycy5oIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZFBhcmFtZXRlcnMuaAppbmRl
eCBmOGQ2MTdhZTkzZjBkYWE5ZThlYmU5Yjk3MDU2ZWYwMDM2ZTRkMzljLi4wNGNiMDM5MGM5Y2Zk
ODZiOTExZDQ4ZjlhZjljZDE3MmU4YjNhNzM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRQYXJhbWV0ZXJzLmgKQEAgLTQ4LDYgKzQ4LDcgQEAg
cHVibGljOgogICAgIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIHdlYlBhZ2VJRDsKICAgICBXZWJD
b3JlOjpGcmFtZUlkZW50aWZpZXIgd2ViRnJhbWVJRDsKICAgICBSZWZQdHI8V2ViQ29yZTo6U2Vj
dXJpdHlPcmlnaW4+IHRvcE9yaWdpbjsKKyAgICBSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmln
aW4+IHNvdXJjZU9yaWdpbjsKICAgICBXVEY6OlByb2Nlc3NJRCBwYXJlbnRQSUQgeyAwIH07CiAj
aWYgSEFWRShBVURJVF9UT0tFTikKICAgICBzdGQ6Om9wdGlvbmFsPGF1ZGl0X3Rva2VuX3Q+IG5l
dHdvcmtQcm9jZXNzQXVkaXRUb2tlbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaAppbmRleCBmMGU0
MjBmNTEwM2ViZDUxYWZkN2NlODljYmI3YjM1Zjk2MjVhMzU5Li4yMjJkNmY0YTc0NzZjOTEzODNm
N2EzYTU5NzY5OTVlNTZlYjM3MGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCkBAIC01Miw3
ICs1Miw2IEBAIHB1YmxpYzoKICAgICBWZWN0b3I8UmVmUHRyPFNhbmRib3hFeHRlbnNpb24+PiBy
ZXF1ZXN0Qm9keVNhbmRib3hFeHRlbnNpb25zOyAvLyBDcmVhdGVkIGF1dG9tYXRpY2FsbHkgZm9y
IHRoZSBzZW5kZXIuCiAgICAgUmVmUHRyPFNhbmRib3hFeHRlbnNpb24+IHJlc291cmNlU2FuZGJv
eEV4dGVuc2lvbjsgLy8gQ3JlYXRlZCBhdXRvbWF0aWNhbGx5IGZvciB0aGUgc2VuZGVyLgogICAg
IFNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWU7Ci0gICAgUmVmUHRyPFdlYkNvcmU6OlNlY3Vy
aXR5T3JpZ2luPiBzb3VyY2VPcmlnaW47CiAgICAgV2ViQ29yZTo6RmV0Y2hPcHRpb25zIG9wdGlv
bnM7CiAgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnM+IGNzcFJlc3BvbnNlSGVhZGVyczsKICAgICBXZWJDb3JlOjpIVFRQSGVhZGVy
TWFwIG9yaWdpbmFsUmVxdWVzdEhlYWRlcnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggMDg0YmRlMWIzZmMx
YmU2NWM4ZmQ3NDBkYjBiNDIyNTBkY2E2ODNhNS4uZWMxNmQ5NzJkMzRiZTEyOTAzOGYzY2E2YjIz
NjM0M2NmNzBiNTQyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtODYsNyArODYsNyBAQCBzdHJ1Y3QgTmV0
d29ya1Jlc291cmNlTG9hZGVyOjpTeW5jaHJvbm91c0xvYWREYXRhIHsKICAgICBSZXNvdXJjZUVy
cm9yIGVycm9yOwogfTsKIAotc3RhdGljIHZvaWQgc2VuZFJlcGx5VG9TeW5jaHJvbm91c1JlcXVl
c3QoTmV0d29ya1Jlc291cmNlTG9hZGVyOjpTeW5jaHJvbm91c0xvYWREYXRhJiBkYXRhLCBjb25z
dCBTaGFyZWRCdWZmZXIqIGJ1ZmZlcikKK3N0YXRpYyB2b2lkIHNlbmRSZXBseVRvU3luY2hyb25v
dXNSZXF1ZXN0KE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6U3luY2hyb25vdXNMb2FkRGF0YSYgZGF0
YSwgY29uc3QgU2hhcmVkQnVmZmVyKiBidWZmZXIsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYg
bWV0cmljcykKIHsKICAgICBBU1NFUlQoZGF0YS5kZWxheWVkUmVwbHkpOwogICAgIEFTU0VSVCgh
ZGF0YS5yZXNwb25zZS5pc051bGwoKSB8fCAhZGF0YS5lcnJvci5pc051bGwoKSk7CkBAIC05NSw2
ICs5NSw4IEBAIHN0YXRpYyB2b2lkIHNlbmRSZXBseVRvU3luY2hyb25vdXNSZXF1ZXN0KE5ldHdv
cmtSZXNvdXJjZUxvYWRlcjo6U3luY2hyb25vdXNMb2FkCiAgICAgaWYgKGJ1ZmZlciAmJiBidWZm
ZXItPnNpemUoKSkKICAgICAgICAgcmVzcG9uc2VCdWZmZXIuYXBwZW5kKGJ1ZmZlci0+ZGF0YSgp
LCBidWZmZXItPnNpemUoKSk7CiAKKyAgICBkYXRhLnJlc3BvbnNlLnNldERlcHJlY2F0ZWROZXR3
b3JrTG9hZE1ldHJpY3MoQm94PE5ldHdvcmtMb2FkTWV0cmljcz46OmNyZWF0ZShtZXRyaWNzKSk7
CisKICAgICBkYXRhLmRlbGF5ZWRSZXBseShkYXRhLmVycm9yLCBkYXRhLnJlc3BvbnNlLCByZXNw
b25zZUJ1ZmZlcik7CiAgICAgZGF0YS5kZWxheWVkUmVwbHkgPSBudWxscHRyOwogfQpAQCAtNzI4
LDcgKzczMCw3IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5n
KGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYgbmV0d29ya0xvCiAjZW5kaWYKIAogICAgIGlmIChp
c1N5bmNocm9ub3VzKCkpCi0gICAgICAgIHNlbmRSZXBseVRvU3luY2hyb25vdXNSZXF1ZXN0KCpt
X3N5bmNocm9ub3VzTG9hZERhdGEsIG1fYnVmZmVyZWREYXRhLmdldCgpKTsKKyAgICAgICAgc2Vu
ZFJlcGx5VG9TeW5jaHJvbm91c1JlcXVlc3QoKm1fc3luY2hyb25vdXNMb2FkRGF0YSwgbV9idWZm
ZXJlZERhdGEuZ2V0KCksIG5ldHdvcmtMb2FkTWV0cmljcyk7CiAgICAgZWxzZSB7CiAgICAgICAg
IGlmIChtX2J1ZmZlcmVkRGF0YSAmJiAhbV9idWZmZXJlZERhdGEtPmlzRW1wdHkoKSkgewogICAg
ICAgICAgICAgLy8gRklYTUU6IFBhc3MgYSByZWFsIHZhbHVlIG9yIHJlbW92ZSB0aGUgZW5jb2Rl
ZCBkYXRhIHNpemUgZmVhdHVyZS4KQEAgLTc2Myw3ICs3NjUsNyBAQCB2b2lkIE5ldHdvcmtSZXNv
dXJjZUxvYWRlcjo6ZGlkRmFpbExvYWRpbmcoY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCiAK
ICAgICBpZiAoaXNTeW5jaHJvbm91cygpKSB7CiAgICAgICAgIG1fc3luY2hyb25vdXNMb2FkRGF0
YS0+ZXJyb3IgPSBlcnJvcjsKLSAgICAgICAgc2VuZFJlcGx5VG9TeW5jaHJvbm91c1JlcXVlc3Qo
Km1fc3luY2hyb25vdXNMb2FkRGF0YSwgbnVsbHB0cik7CisgICAgICAgIHNlbmRSZXBseVRvU3lu
Y2hyb25vdXNSZXF1ZXN0KCptX3N5bmNocm9ub3VzTG9hZERhdGEsIG51bGxwdHIsIHsgfSk7CiAg
ICAgfSBlbHNlIGlmIChhdXRvKiBjb25uZWN0aW9uID0gbWVzc2FnZVNlbmRlckNvbm5lY3Rpb24o
KSkgewogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKICAgICAgICAgaWYgKG1fc2VydmljZVdv
cmtlckZldGNoVGFzaykKQEAgLTExNDIsNyArMTE0NCw3IEBAIHZvaWQgTmV0d29ya1Jlc291cmNl
TG9hZGVyOjpkaWRSZXRyaWV2ZUNhY2hlRW50cnkoc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtDYWNo
ZTo6CiAgICAgcmVzcG9uc2UgPSBzYW5pdGl6ZVJlc3BvbnNlSWZQb3NzaWJsZShXVEZNb3ZlKHJl
c3BvbnNlKSwgUmVzb3VyY2VSZXNwb25zZTo6U2FuaXRpemF0aW9uVHlwZTo6Q3Jvc3NPcmlnaW5T
YWZlKTsKICAgICBpZiAoaXNTeW5jaHJvbm91cygpKSB7CiAgICAgICAgIG1fc3luY2hyb25vdXNM
b2FkRGF0YS0+cmVzcG9uc2UgPSBXVEZNb3ZlKHJlc3BvbnNlKTsKLSAgICAgICAgc2VuZFJlcGx5
VG9TeW5jaHJvbm91c1JlcXVlc3QoKm1fc3luY2hyb25vdXNMb2FkRGF0YSwgZW50cnktPmJ1ZmZl
cigpKTsKKyAgICAgICAgc2VuZFJlcGx5VG9TeW5jaHJvbm91c1JlcXVlc3QoKm1fc3luY2hyb25v
dXNMb2FkRGF0YSwgZW50cnktPmJ1ZmZlcigpLCB7IH0pOwogICAgICAgICBjbGVhbnVwKExvYWRS
ZXN1bHQ6OlN1Y2Nlc3MpOwogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5oIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5o
CmluZGV4IGZhZDI0OGU5Mzk0Njg3M2MyNjliZDk4YWQ0MzRjYTc0MjE4MDA0YTMuLjRiZjRmMGQx
YTE0OWYyYjE1OTRmMDE1ZTE0YTE5MTRjYTk2MDM1NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLmgKQEAg
LTg0LDYgKzg0LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0SDJQaW5nQ2FsbGJhY2soY29uc3Qg
VVJMJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxXVEY6OlNlY29uZHMsIFdlYkNv
cmU6OlJlc291cmNlRXJyb3I+JiYpPiYmKSBvdmVycmlkZTsKICAgICB2b2lkIHNldFByaW9yaXR5
KFdlYkNvcmU6OlJlc291cmNlTG9hZFByaW9yaXR5KSBvdmVycmlkZTsKIAorICAgIGNvbnN0IFdl
YkNvcmU6OlNlY3VyaXR5T3JpZ2luKiBzb3VyY2VPcmlnaW4oKSBjb25zdCB7IHJldHVybiBtX3Nv
dXJjZU9yaWdpbi5nZXQoKTsgfQorICAgIAogcHJpdmF0ZToKICAgICBOZXR3b3JrRGF0YVRhc2tD
b2NvYShOZXR3b3JrU2Vzc2lvbiYsIE5ldHdvcmtEYXRhVGFza0NsaWVudCYsIGNvbnN0IE5ldHdv
cmtMb2FkUGFyYW1ldGVycyYpOwogCkBAIC0xMjAsNiArMTIyLDcgQEAgcHJpdmF0ZToKICAgICBi
b29sIG1faXNGb3JNYWluUmVzb3VyY2VOYXZpZ2F0aW9uRm9yQW55RnJhbWUgeyBmYWxzZSB9Owog
ICAgIGJvb2wgbV9pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQgeyBmYWxzZSB9OwogICAgIFdlYkNv
cmU6OlNob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nIG1fc2hvdWxkUmVsYXhUaGly
ZFBhcnR5Q29va2llQmxvY2tpbmcgeyBXZWJDb3JlOjpTaG91bGRSZWxheFRoaXJkUGFydHlDb29r
aWVCbG9ja2luZzo6Tm8gfTsKKyAgICBSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+IG1f
c291cmNlT3JpZ2luOwogfTsKIAogV2ViQ29yZTo6Q3JlZGVudGlhbCBzZXJ2ZXJUcnVzdENyZWRl
bnRpYWwoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29j
b2EubW0gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFz
a0NvY29hLm1tCmluZGV4IGNmZGZlMTM2OWNlNmE4ZTVmYmUzZjZmYTQxMTU3NzMwMjk0ZjczMjMu
LmIwYThmZjU1ODkxMWMzMDcyOTQxYzY5NGIxZWU5NjI3NTY4ZTliMDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0K
KysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tD
b2NvYS5tbQpAQCAtMzAwLDYgKzMwMCw3IEBAIE5ldHdvcmtEYXRhVGFza0NvY29hOjpOZXR3b3Jr
RGF0YVRhc2tDb2NvYShOZXR3b3JrU2Vzc2lvbiYgc2Vzc2lvbiwgTmV0d29ya0RhdGFUCiAgICAg
LCBtX2lzRm9yTWFpblJlc291cmNlTmF2aWdhdGlvbkZvckFueUZyYW1lKHBhcmFtZXRlcnMuaXNN
YWluUmVzb3VyY2VOYXZpZ2F0aW9uRm9yQW55RnJhbWUpCiAgICAgLCBtX2lzQWx3YXlzT25Mb2dn
aW5nQWxsb3dlZChjb21wdXRlSXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKHNlc3Npb24pKQogICAg
ICwgbV9zaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZyhwYXJhbWV0ZXJzLnNob3Vs
ZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nKQorICAgICwgbV9zb3VyY2VPcmlnaW4ocGFy
YW1ldGVycy5zb3VyY2VPcmlnaW4pCiB7CiAgICAgYXV0byByZXF1ZXN0ID0gcGFyYW1ldGVycy5y
ZXF1ZXN0OwogICAgIGF1dG8gdXJsID0gcmVxdWVzdC51cmwoKTsKQEAgLTQ2MCwxMCArNDYxLDYg
QEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6d2lsbFBlcmZvcm1IVFRQUmVkaXJlY3Rpb24o
V2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYKIHsKICAgICBXVEZFbWl0U2lnbnBvc3QobV90YXNr
LmdldCgpLCAiRGF0YVRhc2siLCAicmVkaXJlY3QiKTsKIAotICAgIC8vIENoZWNrIGlmIHRoZSBy
ZWRpcmVjdGVkIHVybCBpcyBhbGxvd2VkIHRvIGFjY2VzcyB0aGUgcmVkaXJlY3RpbmcgdXJsJ3Mg
dGltaW5nIGluZm9ybWF0aW9uLgotICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBub3Qgc2V0IGJh
Y2sgdG8gdHJ1ZSBhZnRlciBhbm90aGVyIHNhbWUtb3JpZ2luIHJlZGlyZWN0IG9uY2UgaXQgaGFz
IGJlZW4gc2V0IHRvIHRydWUuCi0gICAgbmV0d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmln
aW5SZWRpcmVjdCA9ICFXZWJDb3JlOjpTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKHJlcXVlc3QudXJs
KCkpLT5jYW5SZXF1ZXN0KHJlZGlyZWN0UmVzcG9uc2UudXJsKCkpOwotCiAgICAgaWYgKHJlZGly
ZWN0UmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSA9PSAzMDcgfHwgcmVkaXJlY3RSZXNwb25zZS5o
dHRwU3RhdHVzQ29kZSgpID09IDMwOCkgewogICAgICAgICBBU1NFUlQobV9sYXN0SFRUUE1ldGhv
ZCA9PSByZXF1ZXN0Lmh0dHBNZXRob2QoKSk7CiAgICAgICAgIFdlYkNvcmU6OkZvcm1EYXRhKiBi
b2R5ID0gbV9maXJzdFJlcXVlc3QuaHR0cEJvZHkoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbSBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbQppbmRleCBj
Njk2MjdkZWUyMzEwZjVjMzQ3YmExNDVkYjY0YmRlZjkyM2ExYjU0Li4xZmFmM2I2N2E5YzYxNzhi
NzM2OTFlZWYwMmM3ZmMxMGI1NDU4YjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCkBAIC00OCw2ICs0
OCw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5o
PgorI2ltcG9ydCA8V2ViQ29yZS9UaW1pbmdBbGxvd09yaWdpbi5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9XZWJDb3JlVVJMUmVzcG9uc2UuaD4KICNpbXBvcnQgPHBhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJ
Lmg+CiAjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4KQEAgLTU1NSw3ICs1NTYsMTEgQEAgc3RhdGlj
IHZvaWQgdXBkYXRlSWdub3JlU3RyaWN0VHJhbnNwb3J0U2VjdXJpdHlTZXR0aW5nKFJldGFpblB0
cjxOU1VSTFJlcXVlc3Q+JgogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAjZW5k
aWYKIAotICAgICAgICBuZXR3b3JrRGF0YVRhc2stPndpbGxQZXJmb3JtSFRUUFJlZGlyZWN0aW9u
KHJlc3BvbnNlLCByZXF1ZXN0LCBbY29tcGxldGlvbkhhbmRsZXIgPSBtYWtlQmxvY2tQdHIoY29t
cGxldGlvbkhhbmRsZXIpLCB0YXNrSWRlbnRpZmllciwgc2hvdWxkSWdub3JlSFNUU10oYXV0byYm
IHJlcXVlc3QpIHsKKyAgICAgICAgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZXNvdXJjZVJl
c3BvbnNlKHJlc3BvbnNlKTsKKyAgICAgICAgaWYgKGF1dG8qIHNvdXJjZU9yaWdpbiA9IG5ldHdv
cmtEYXRhVGFzay0+c291cmNlT3JpZ2luKCkpCisgICAgICAgICAgICBuZXR3b3JrRGF0YVRhc2st
Pm5ldHdvcmtMb2FkTWV0cmljcygpLmlzQ3Jvc3NPcmlnaW5XaXRob3V0VEFPID0gbmV0d29ya0Rh
dGFUYXNrLT5uZXR3b3JrTG9hZE1ldHJpY3MoKS5pc0Nyb3NzT3JpZ2luV2l0aG91dFRBTyB8fCAh
cGFzc2VzVGltaW5nQWxsb3dPcmlnaW5DaGVjayhyZXNvdXJjZVJlc3BvbnNlLCAqc291cmNlT3Jp
Z2luKTsKKworICAgICAgICBuZXR3b3JrRGF0YVRhc2stPndpbGxQZXJmb3JtSFRUUFJlZGlyZWN0
aW9uKFdURk1vdmUocmVzb3VyY2VSZXNwb25zZSksIHJlcXVlc3QsIFtjb21wbGV0aW9uSGFuZGxl
ciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlciksIHRhc2tJZGVudGlmaWVyLCBzaG91
bGRJZ25vcmVIU1RTXShhdXRvJiYgcmVxdWVzdCkgewogI2lmICFMT0dfRElTQUJMRUQKICAgICAg
ICAgICAgIExPRyhOZXR3b3JrU2Vzc2lvbiwgIiVsbHUgd2lsbFBlcmZvcm1IVFRQUmVkaXJlY3Rp
b24gY29tcGxldGlvbkhhbmRsZXIgKCVzKSIsIHRhc2tJZGVudGlmaWVyLCByZXF1ZXN0LnVybCgp
LnN0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwogI2Vsc2UKQEAgLTkxNSw3ICs5MjAsMTAgQEAgc3Rh
dGljIGlubGluZSB2b2lkIHByb2Nlc3NTZXJ2ZXJUcnVzdEV2YWx1YXRpb24oTmV0d29ya1Nlc3Np
b25Db2NvYSYgc2Vzc2lvbiwgU2UKICAgICAgICAgLy8gYWxsIHRoZSBmaWVsZHMgd2hlbiBzZW5k
aW5nIHRoZSByZXNwb25zZSB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzIG92ZXIgSVBDLgogICAg
ICAgICByZXNvdXJjZVJlc3BvbnNlLmRpc2FibGVMYXp5SW5pdGlhbGl6YXRpb24oKTsKIAotICAg
ICAgICByZXNvdXJjZVJlc3BvbnNlLnNldERlcHJlY2F0ZWROZXR3b3JrTG9hZE1ldHJpY3MoV2Vi
Q29yZTo6Y29weVRpbWluZ0RhdGEodGFza01ldHJpY3MsIG5ldHdvcmtEYXRhVGFzay0+bmV0d29y
a0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkpOworICAgICAgICBpZiAoYXV0
byogc291cmNlT3JpZ2luID0gbmV0d29ya0RhdGFUYXNrLT5zb3VyY2VPcmlnaW4oKSkKKyAgICAg
ICAgICAgIG5ldHdvcmtEYXRhVGFzay0+bmV0d29ya0xvYWRNZXRyaWNzKCkuaXNDcm9zc09yaWdp
bldpdGhvdXRUQU8gPSBuZXR3b3JrRGF0YVRhc2stPm5ldHdvcmtMb2FkTWV0cmljcygpLmlzQ3Jv
c3NPcmlnaW5XaXRob3V0VEFPIHx8ICFwYXNzZXNUaW1pbmdBbGxvd09yaWdpbkNoZWNrKHJlc291
cmNlUmVzcG9uc2UsICpzb3VyY2VPcmlnaW4pOworCisgICAgICAgIHJlc291cmNlUmVzcG9uc2Uu
c2V0RGVwcmVjYXRlZE5ldHdvcmtMb2FkTWV0cmljcyhXZWJDb3JlOjpjb3B5VGltaW5nRGF0YSh0
YXNrTWV0cmljcywgbmV0d29ya0RhdGFUYXNrLT5uZXR3b3JrTG9hZE1ldHJpY3MoKS5pc0Nyb3Nz
T3JpZ2luV2l0aG91dFRBTykpOwogCiAgICAgICAgIG5ldHdvcmtEYXRhVGFzay0+ZGlkUmVjZWl2
ZVJlc3BvbnNlKFdURk1vdmUocmVzb3VyY2VSZXNwb25zZSksIG5lZ290aWF0ZWRMZWdhY3lUTFMs
IFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlciksIHRh
c2tJZGVudGlmaWVyXShXZWJDb3JlOjpQb2xpY3lBY3Rpb24gcG9saWN5QWN0aW9uKSB7CiAjaWYg
IUxPR19ESVNBQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9XZWJDb3JlU3Vw
cG9ydC9QaW5nSGFuZGxlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYkNvcmVTdXBwb3J0L1Bp
bmdIYW5kbGUuaAppbmRleCAwOTI5Y2VmOTc4OWMwY2NmMTFhM2U5NDEwZjVkZTZmZmNhZmViYTYw
Li40MmI3NWMxZjg3YTU1ZjcyNjk2MmMxNDc0YWJiZTY3ZGI0ZDNiNWNlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L1dlYkNvcmVTdXBwb3J0L1BpbmdIYW5kbGUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L1dlYkNvcmVTdXBwb3J0L1BpbmdIYW5kbGUuaApAQCAtNTAsNyArNTAs
NyBAQCBwdWJsaWM6CiAgICAgICAgIGJvb2wgZGVmZXJzTG9hZGluZyA9IGZhbHNlOwogICAgICAg
ICBib29sIHNob3VsZENvbnRlbnRTbmlmZiA9IGZhbHNlOwogICAgICAgICBib29sIHNob3VsZENv
bnRlbnRFbmNvZGluZ1NuaWZmID0gdHJ1ZTsKLSAgICAgICAgbV9oYW5kbGUgPSBXZWJDb3JlOjpS
ZXNvdXJjZUhhbmRsZTo6Y3JlYXRlKG5ldHdvcmtpbmdDb250ZXh0LCByZXF1ZXN0LCB0aGlzLCBk
ZWZlcnNMb2FkaW5nLCBzaG91bGRDb250ZW50U25pZmYsIHNob3VsZENvbnRlbnRFbmNvZGluZ1Nu
aWZmKTsKKyAgICAgICAgbV9oYW5kbGUgPSBXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6Y3JlYXRl
KG5ldHdvcmtpbmdDb250ZXh0LCByZXF1ZXN0LCB0aGlzLCBkZWZlcnNMb2FkaW5nLCBzaG91bGRD
b250ZW50U25pZmYsIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmLCBudWxscHRyKTsKIAogICAg
ICAgICAvLyBJZiB0aGUgc2VydmVyIG5ldmVyIHJlc3BvbmRzLCB0aGlzIG9iamVjdCB3aWxsIGhh
bmcgYXJvdW5kIGZvcmV2ZXIuCiAgICAgICAgIC8vIFNldCBhIHZlcnkgZ2VuZXJvdXMgdGltZW91
dCwganVzdCBpbiBjYXNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9XZWJDb3Jl
U3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwCmluZGV4IDkxYzgz
YTA0M2YyNzM1YTk3MDQ2ZjFkMzIzOGYwZWZhYWYzYjYzN2UuLjdkY2ZlMGI4NzljYTg1NDU2OTY4
MzdlZWM3Y2E4OTBmOTk4YTk5MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvV2Vi
Q29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAKQEAg
LTEwOSw3ICsxMDksOSBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjo6bG9hZFJlc291
cmNlKEZyYW1lJiBmcmFtZSwgQ2FjaGVkUmVzb3VyY2UmIHJlc291cgogCiB2b2lkIFdlYlJlc291
cmNlTG9hZFNjaGVkdWxlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShGcmFtZUxvYWRlciYg
ZnJhbWVMb2FkZXIsIHVuc2lnbmVkIGxvbmcsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVz
dCwgQ2xpZW50Q3JlZGVudGlhbFBvbGljeSwgY29uc3QgRmV0Y2hPcHRpb25zJiBvcHRpb25zLCBj
b25zdCBIVFRQSGVhZGVyTWFwJiwgUmVzb3VyY2VFcnJvciYgZXJyb3IsIFJlc291cmNlUmVzcG9u
c2UmIHJlc3BvbnNlLCBWZWN0b3I8dWludDhfdD4mIGRhdGEpCiB7Ci0gICAgUmVzb3VyY2VIYW5k
bGU6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoZnJhbWVMb2FkZXIubmV0d29ya2luZ0NvbnRl
eHQoKSwgcmVxdWVzdCwgb3B0aW9ucy5jcmVkZW50aWFscyA9PSBGZXRjaE9wdGlvbnM6OkNyZWRl
bnRpYWxzOjpPbWl0ID8gU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3k6OkRvTm90VXNlIDogU3RvcmVk
Q3JlZGVudGlhbHNQb2xpY3k6OlVzZSwgZXJyb3IsIHJlc3BvbnNlLCBkYXRhKTsKKyAgICBhdXRv
KiBkb2N1bWVudCA9IGZyYW1lTG9hZGVyLmZyYW1lKCkuZG9jdW1lbnQoKTsKKyAgICBhdXRvKiBz
b3VyY2VPcmlnaW4gPSBkb2N1bWVudCA/ICZkb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKSA6IG51
bGxwdHI7CisgICAgUmVzb3VyY2VIYW5kbGU6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoZnJh
bWVMb2FkZXIubmV0d29ya2luZ0NvbnRleHQoKSwgcmVxdWVzdCwgb3B0aW9ucy5jcmVkZW50aWFs
cyA9PSBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzOjpPbWl0ID8gU3RvcmVkQ3JlZGVudGlhbHNQ
b2xpY3k6OkRvTm90VXNlIDogU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3k6OlVzZSwgc291cmNlT3Jp
Z2luLCBlcnJvciwgcmVzcG9uc2UsIGRhdGEpOwogfQogCiB2b2lkIFdlYlJlc291cmNlTG9hZFNj
aGVkdWxlcjo6cGFnZUxvYWRDb21wbGV0ZWQoUGFnZSYpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggM2QxYWUzYmMwMGNlNDll
N2I0YjEzNzgyOGEyZTg1YzBlM2EwMjI0OC4uNTA2MWRmMzdmMTZmYWE4ZDA1YTAzNDQ5ODIyNWU4
OGY5MGRhODk0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIxLTA2LTA0ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBUaW1pbmct
QWxsb3ctT3JpZ2luIGNoZWNrcyB0byB0aGUgbmV0d29yayBwcm9jZXNzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY2NzgKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzQ1MjI3Nzg4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMS0wNi0wNCAgQWxleCBDaHJp
c3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEltcGxlbWVudCBv
ZmYtYnktZGVmYXVsdCBleHBlcmltZW50YWwgZmVhdHVyZSBmb3IgUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZy50cmFuc2ZlclNpemUsIGVuY29kZWRCb2R5U2l6ZSwgYW5kIGRlY29kZWRCb2R5U2l6
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZGRjYThjMjYxNGYxYmNkNmE1YmU3
N2RmNzYzN2MyZDA0NDhlYjkyZC4uOWRiZDMzYTIzMTI4MGExZDY0ZTk5NTlhYmEwMDk3ZGY0NThh
MzEwYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTU2IEBACisy
MDIxLTA2LTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgTW92ZSBUaW1pbmctQWxsb3ctT3JpZ2luIGNoZWNrcyB0byB0aGUgbmV0d29yayBw
cm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjY2NzgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ1MjI3Nzg4PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9Db2RpbmdDb252ZW50aW9ucy5tZDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9TTy1YTy1TTy1yZWRpcmVjdC1jaGFpbi10
YW8uaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL1NPLVhPLVNPLXJlZGlyZWN0LWNoYWluLXRhby5odHRwcy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1N5
bnRoZXRpY1Jlc3BvbnNlLnB5OgorICAgICAgICAobWFpbik6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbWF0Y2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1tYXRjaC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L1RBTy1udWxsLW9wYXF1ZS1vcmlnaW4tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1udWxsLW9wYXF1ZS1vcmlnaW4u
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9UQU8tcG9ydC1taXNtYXRjaC1tZWFucy1jcm9zc29yaWdpbi1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLXBvcnQt
bWlzbWF0Y2gtbWVhbnMtY3Jvc3NvcmlnaW4uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9fX2luaXRfXy5weTogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtYWZ0
ZXItZnVsbC1ldmVudC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtYWZ0ZXItZnVsbC1ldmVudC5odG1sOgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwt
YWRkLWVudHJpZXMtZHVyaW5nLWNhbGxiYWNrLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFkZC1lbnRyaWVzLWR1
cmluZy1jYWxsYmFjay10aGF0LWRyb3AuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFkZC1lbnRyaWVzLWR1cmluZy1jYWxsYmFj
ay5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVm
ZmVyLWZ1bGwtYWRkLXRoZW4tY2xlYXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLXRoZW4tY2xlYXIuaHRt
bDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1m
dWxsLWRlY3JlYXNlLWJ1ZmZlci1kdXJpbmctY2FsbGJhY2suaHRtbDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluY3JlYXNlLWJ1ZmZl
ci1kdXJpbmctY2FsbGJhY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5jcmVhc2UtYnVmZmVyLWR1cmluZy1j
YWxsYmFjay5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvYnVmZmVyLWZ1bGwtaW5zcGVjdC1idWZmZXItZHVyaW5nLWNhbGxiYWNrLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1m
dWxsLWluc3BlY3QtYnVmZmVyLWR1cmluZy1jYWxsYmFjay5odG1sOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc2V0LXRvLWN1cnJlbnQt
YnVmZmVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2J1ZmZlci1mdWxsLXNldC10by1jdXJyZW50LWJ1ZmZlci5odG1sOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc3RvcmUt
YW5kLWNsZWFyLWR1cmluZy1jYWxsYmFjay1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zdG9yZS1hbmQtY2xlYXIt
ZHVyaW5nLWNhbGxiYWNrLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9idWZmZXItZnVsbC10aGVuLWluY3JlYXNlZC1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC10aGVu
LWluY3JlYXNlZC5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvYnVmZmVyLWZ1bGwtd2hlbi1wb3B1bGF0ZS1lbnRyaWVzLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXdo
ZW4tcG9wdWxhdGUtZW50cmllcy5odG1sOgorICAgICAgICBBbGwgdGhlc2UgYnVmZmVyLWZ1bGwg
dGVzdHMgc3RhcnQgZmFpbGluZyB3aGVuIEkgdXBkYXRlIHRoZW0uCisgICAgICAgIFRoYXQgaXMg
YW4gdW5yZWxhdGVkIGJ1Zy4gIEZpcmVmb3ggaGFzIHRoZSBzYW1lIGJ1ZywgYW5kIHdlIGhhZCB0
aGUgc2FtZSBidWcgYmVmb3JlIGFuZCBhZnRlciB0aGlzIGNoYW5nZS4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2Nvbm5lY3Rpb24tcmV1c2UuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0aW9uLXJldXNlLmh0dHBzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25u
ZWN0aW9uLXJldXNlLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mtb3JpZ2luLXN0YXJ0LWVuZC10aW1lLXdpdGgtcmVk
aXJlY3RzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhcnQtZW5kLXRpbWUtd2l0aC1yZWRpcmVj
dHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9jcm9zcy1vcmlnaW4tc3RhdHVzLWNvZGVzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9kb2N1bWVudC1kb21haW4tbm8taW1wYWN0LW9wZW5l
ci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC1vcGVuZXIuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9lbnRyeS1hdHRy
aWJ1dGVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9lbnRyeS1hdHRyaWJ1dGVzLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZmV0Y2gtY3Jvc3Mtb3JpZ2luLXJl
ZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9mZXRjaC1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHR0cHMu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9mb250LXRpbWVzdGFtcHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZvbnQtdGltZXN0YW1wcy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2lmcmFtZS1mYWls
ZWQtY29tbWl0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9pZnJhbWUtZmFpbGVkLWNvbW1pdC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2luaXRpYXRvci10eXBl
LWZvci1zY3JpcHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL2luaXRpYXRvci10eXBlLWZvci1zY3JpcHQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9uZXh0SG9w
UHJvdG9jb2wtaXMtdGFvLXByb3RlY3RlZC5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvbmV4dEhvcFByb3RvY29s
LWlzLXRhby1wcm90ZWN0ZWQuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLVRBTy1jcm9z
cy1vcmlnaW4tcmVkaXJlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItVEFPLWNy
b3NzLW9yaWdpbi1yZWRpcmVjdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItY3Jvc3Mtb3JpZ2lu
LXJlZGlyZWN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLWNyb3NzLW9yaWdpbi1y
ZWRpcmVjdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3JlZGlyZWN0cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVkaXJlY3RzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2UtaWdub3Jl
LWRhdGEtdXJsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25vcmUtZGF0YS11cmwuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9U
QU9fY3Jvc3Nfb3JpZ2luX3JlZGlyZWN0X2NoYWluLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgVGhp
cyBhcHBhcmVudCByZWdyZXNzaW9uIGlzIGFjdHVhbGx5IGEgcHJvZ3Jlc3Npb24uCisgICAgICAg
IFdoZW4gdGhpcyB0ZXN0IGlzIHJ1biBmcm9tIG91ciB0ZXN0IGluZnJhc3RydWN0dXJlLCBDaHJv
bWUgYW5kIEZpcmVmb3ggZmFpbCB0aGUgc2FtZSB0ZXN0cyB0aGF0IHlvdSBzZWUgbm93IGZhaWxp
bmcgaGVyZSwKKyAgICAgICAgaW5kaWNhdGluZyB0aGF0IHNvbWV0aGluZyBpcyB3cm9uZyB3aXRo
IG91ciB0ZXN0IGluZnJhc3RydWN0dXJlLiAgV2hlbiBydW4gb24gd3B0LmxpdmUsIGFsbCBicm93
c2VycyBwYXNzIHRoaXMgdGVzdAorICAgICAgICBhZnRlciB0aGlzIGNoYW5nZS4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX2NhY2hlZC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlX2luaXRpYXRvcl90eXBlcy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfbmVzdGVkX2RlZGljYXRlZF93b3JrZXIud29ya2Vy
LmpzOgorICAgICAgICAoYXN5bmNfdGVzdCk6CisgICAgICAgIChhc3luY190ZXN0LmFzeW5jIGNv
bnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3Jlc291cmNlX3RpbWluZ19jb250ZW50X2xlbmd0aC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfdGlt
aW5nX2NvbnRlbnRfbGVuZ3RoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzLzIwMF9lbXB0eS5hc2lzOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9UQU9S
ZXNwb25zZS5weToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2FsbF9yZXNvdXJjZV90eXBlcy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
cy9idWZmZXItZnVsbC11dGlsaXRpZXMuanM6CisgICAgICAgIChjb25zdC53YWl0Rm9yTmV4dFRh
c2spOgorICAgICAgICAoY29uc3QuZm9yY2VCdWZmZXJGdWxsRXZlbnQuYXN5bmMgY2xlYXJCdWZm
ZXJBbmRTZXRTaXplKToKKyAgICAgICAgKGNvbnN0LmZvcmNlQnVmZmVyRnVsbEV2ZW50KToKKyAg
ICAgICAgKGNvbnN0LmZpbGxVcFRoZUJ1ZmZlcldpdGhUd29SZXNvdXJjZXMuYXN5bmMgY2xlYXJC
dWZmZXJBbmRTZXRTaXplKToKKyAgICAgICAgKGFzeW5jIGNvbnN0LmZpbGxVcFRoZUJ1ZmZlcldp
dGhTaW5nbGVSZXNvdXJjZS5hc3luYyBjbGVhckJ1ZmZlckFuZFNldFNpemUpOgorICAgICAgICAo
YXN5bmMgY29uc3QpOgorICAgICAgICAobGV0LmFwcGVuZFNjcmlwdCk6IERlbGV0ZWQuCisgICAg
ICAgIChsZXQud2FpdEZvck5leHRUYXNrKTogRGVsZXRlZC4KKyAgICAgICAgKGxldC53YWl0VW50
aWxDb25kaXRpb25Jc01ldC5jb25kLnJldHVybi5uZXcuUHJvbWlzZS5yZXNvbHZlLmxldC5jaGVj
a0NvbmRpdGlvbik6IERlbGV0ZWQuCisgICAgICAgIChsZXQud2FpdEZvckV2ZW50VG9GaXJlLnJl
dHVybi5uZXcuUHJvbWlzZSk6IERlbGV0ZWQuCisgICAgICAgIChsZXQud2FpdEZvckV2ZW50VG9G
aXJlKTogRGVsZXRlZC4KKyAgICAgICAgKGxldC5maWxsVXBUaGVCdWZmZXJXaXRoVHdvUmVzb3Vy
Y2VzLmFzeW5jIHNyYyk6IERlbGV0ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9yZXNvdXJjZXMvY2FjaGVhYmxlLWFuZC12YWxpZGF0ZWQucHk6IEFkZGVk
LgorICAgICAgICAobWFpbik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvY29ubmVjdGlvbi1yZXVzZS10ZXN0LmpzOiBBZGRlZC4KKyAgICAg
ICAgKGF0dHJpYnV0ZV90ZXN0LmFzeW5jIGNsaWVudCk6CisgICAgICAgIChhdHRyaWJ1dGVfdGVz
dCk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZXMvY3NwLWRlZmF1bHQtbm9uZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0bWwuaGVh
ZGVyczogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9yZXNvdXJjZXMvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVu
dC1yZWZyZXNoZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9yZXNvdXJjZXMvZG9jdW1lbnQtdGhhdC1yZWZyZXNoZXMuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZXMvZW1iZWQtcmVmcmVzaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi1mcmFtZS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVl
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3Jlc291cmNlcy9ncmVlbi5odG1sLmhlYWRlcnM6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2d6aXBfeG1sLnB5OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2lmcmFt
ZS1yZWZyZXNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvcmVzb3VyY2VzL2lmcmFtZS1yZWxvYWQtVEFPLnN1Yi5odG1sOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRpX3Jl
ZGlyZWN0LnB5OgorICAgICAgICAobWFpbik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvb2JqZWN0LXJlZnJlc2guaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVk
aXJlY3QtY29ycy5weTogQWRkZWQuCisgICAgICAgIChtYWluKToKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9yZXNvdXJjZS10aW1pbmctY29u
dGVudC1sZW5ndGgucHk6IEFkZGVkLgorICAgICAgICAobWFpbik6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVzb3VyY2VfdGltaW5nX3Rl
c3QwLnhtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlcy9zaXplcy1oZWxwZXIuanM6IEFkZGVkLgorICAgICAgICAoY29uc3QuY2hlY2tTaXpl
RmllbGRzKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlcy9zdGF0dXMtY29kZS5weToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVz
cy5qczoKKyAgICAgICAgKHRlc3RfbmFtZXNwYWNlKToKKyAgICAgICAgKHRlc3RfYXR0cmlidXRl
X2V4aXN0cyk6CisgICAgICAgICh0ZXN0X2VudW0pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzc2V4dGVuc2lv
bi5qczoKKyAgICAgICAgKHRlc3RfbWV0aG9kX2V4aXN0cyk6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zYW1lLW9yaWdpbi1mcm9tLWNyb3NzLW9yaWdpbi1y
ZWRpcmVjdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvc2FtZS1vcmlnaW4tZnJvbS1jcm9zcy1vcmlnaW4tcmVkaXJlY3Qu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9zaXplcy1jYWNoZS5hbnkuanM6IEFkZGVkLgorICAgICAgICAoY29uc3QuYWNjdW11bGF0ZUVu
dHJpZXMpOgorICAgICAgICAoY29uc3QuY2hlY2tSZXNvdXJjZVNpemVzLmxpc3QubGV0LmVudHJ5
Lm9mLmVudHJpZXMuZWxzZSk6CisgICAgICAgIChwcm9taXNlX3Rlc3QpOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3QtaW1nLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9zaXplcy1yZWRpcmVjdC1pbWcuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC5hbnkuanM6IEFkZGVkLgor
ICAgICAgICAoY29uc3QuYWNjdW11bGF0ZUVudHJ5KToKKyAgICAgICAgKGNvbnN0LmNoZWNrUmVz
b3VyY2VTaXplcyk6CisgICAgICAgIChjb25zdC5yZWRpcmVjdFVybCk6CisgICAgICAgIChwcm9t
aXNlX3Rlc3QpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
c3RhdHVzLWNvZGVzLWNyZWF0ZS1lbnRyeS5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90aW1pbmctZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJj
ZV90aW1pbmcuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvd29ya2VyU3RhcnQtdGFvLXByb3RlY3RlZC5odHRwcy5odG1sOgor
CiAyMDIxLTA2LTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgSW1wbGVtZW50IG9mZi1ieS1kZWZhdWx0IGV4cGVyaW1lbnRhbCBmZWF0dXJl
IGZvciBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLnRyYW5zZmVyU2l6ZSwgZW5jb2RlZEJvZHlT
aXplLCBhbmQgZGVjb2RlZEJvZHlTaXplCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBmZjdjZjhmN2Ni
ODk2N2Q4OThlYTcwNmZiZjNjMDMxOWEyOGE1OTU3Li5jM2E2YjIxNWNkYzY5MmVjYjllZmIwZTE4
NTI4N2QyZGU2NDYzYTI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25z
CisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTkzMSw2ICs5MzEsOSBAQCBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50c291cmNlL3JlcXVlc3QtY3JlZGVu
dGlhbHMuaHRtIFsgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhY2FwdHVyZS1mcm9tZWxlbWVudC9jYXB0dXJlLmh0bWwgWyBGYWlsdXJlIF0KIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLWZyb21lbGVtZW50L2VuZGVkLmh0
bWwgWyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0
dXJlLWZyb21lbGVtZW50L2NyZWF0aW9uLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQoraW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZm9udC10aW1lc3RhbXBzLmh0
bWwgWyBGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL1NPLVhPLVNPLXJlZGlyZWN0LWNoYWluLXRhby5odHRwcy5odG1sIFsgRmFpbHVyZSBd
CitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZV9UQU9fY3Jvc3Nfb3JpZ2luX3JlZGlyZWN0X2NoYWluLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtp
dC5vcmcvYi8xODAyNDAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvc2luZ2xlLWVudHJ5LXBlci1yZXNvdXJjZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIHdl
YmtpdC5vcmcvYi8xODk5MDYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvcmVzb3VyY2VfdGltaW5nX2J1ZmZlcl9mdWxsX2V2ZW50dWFsbHkuaHRtbCBbIFNr
aXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVz
b3VyY2UtcmVsb2FkLVRBTy5zdWIuaHRtbCBbIFNraXAgXQpAQCAtMTM4MywxOCArMTM4NiwxNiBA
QCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlZGlyZWN0LWJvZ3Vz
Lmh0bSBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1y
ZWRpcmVjdC10by1jb3JzLmh0bSBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy94aHIvc2VuZC1yZWRpcmVjdC10by1ub24tY29ycy5odG0gWyBTa2lwIF0KIAotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90
aW1pbmcuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy90ZXN0X3Jlc291cmNlX3RpbWluZy5odHRwcy5odG1sIFsgUGFz
cyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL2J1ZmZlci1mdWxsLWFkZC1lbnRyaWVzLWR1cmluZy1jYWxsYmFjay10aGF0LWRyb3AuaHRt
bCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvYnVmZmVyLWZ1bGwtZGVjcmVhc2UtYnVmZmVyLWR1cmluZy1jYWxsYmFjay5odG1sIFsgU2tp
cCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZm
ZXItZnVsbC1pbmNyZWFzZS1idWZmZXItZHVyaW5nLWNhbGxiYWNrLmh0bWwgWyBTa2lwIF0KK2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxs
LWFkZC1lbnRyaWVzLWR1cmluZy1jYWxsYmFjay5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhdHVzLWNv
ZGVzLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL25lc3RlZC1jb250ZXh0LW5hdmlnYXRpb25zLWVtYmVkLmh0bWwgWyBTa2lwIF0K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL25lc3RlZC1j
b250ZXh0LW5hdmlnYXRpb25zLWlmcmFtZS5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9uZXN0ZWQtY29udGV4dC1uYXZpZ2F0aW9u
cy1vYmplY3QuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfbmVzdGVkX2RlZGljYXRlZF93b3JrZXIud29ya2VyLmh0
bWwgWyBTa2lwIF0KIAotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VfY29ubmVjdGlvbl9yZXVzZS5odG1sIFsgRmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9jb25uZWN0
aW9uX3JldXNlLmh0dHBzLmh0bWwgWyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX3JlcGFyZW50aW5nLmh0bWwgWyBGYWls
dXJlIF0KIAogd2Via2l0Lm9yZy9iLzE2ODM1NyBodHRwL3dwdC9yZXNvdXJjZS10aW1pbmcvcnQt
aW5pdGlhdG9yVHlwZS1tZWRpYS5odG1sIFsgRmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9Db2Rp
bmdDb252ZW50aW9ucy5tZCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL0NvZGluZ0NvbnZlbnRpb25zLm1kCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5
YjhkMTM0MzVlZjQ5OTE5NTMzZWY3NDk3MzI2ZGFjMDZiZjk2NGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9Db2RpbmdDb252ZW50aW9ucy5tZApAQCAtMCwwICsxLDc3IEBACitGb3IgW1Jlc291cmNl
IFRpbWluZ11bMV0gdGVzdHMsIHdlIHdhbnQgdG8gaGF2ZSBhIGNvbnNpc3RlbnQgYW5kIGNsZWFy
IGNvZGluZworc3R5bGUuIFRoZSBnb2FscyBvZiB0aGlzIHN0eWxlIGFyZSB0bzoKKyogICBNYWtl
IGl0IGVhc2llciBmb3IgbmV3IGNvbnRyaWJ1dG9ycyB0byBmaW5kIHRoZWlyIHdheSBhcm91bmQK
KyogICBIZWxwIGltcHJvdmUgcmVhZGFiaWxpdHkgYW5kIG1haW50YWluYWJpbGl0eQorKiAgIEhl
bHAgdXMgdW5kZXJzdGFuZCB3aGljaCBwYXJ0cyBvZiB0aGUgc3BlYyBhcmUgdGVzdGVkIG9yIG5v
dAorTG90cyBvZiB0aGUgZm9sbG93aW5nIHJ1bGVzIGFyZSBhcmJpdHJhcnkgYnV0IHRoZSB2YWx1
ZSBpcyByZWFsaXplZCBpbgorY29uc2lzdGVuY3kgaW5zdGVhZCBvZiBhZGhlcmluZyB0byB0aGUg
J3BlcmZlY3QnIHN0eWxlLgorCitXZSB3YW50IHRoZSB0ZXN0IHN1aXRlIHRvIGJlIG5hdmlnYWJs
ZS4gRGV2ZWxvcGVycyBzaG91bGQgYmUgYWJsZSB0byBlYXNpbHkKK2ZpbmQgdGhlIGZpbGUgb3Ig
dGVzdCB0aGF0IGlzIHJlbGV2YW50IHRvIHRoZWlyIHdvcmsuCisqICAgVGVzdHMgc2hvdWxkIGJl
IGFycmFuZ2VkIGluIGZpbGVzIGFjY29yZGluZyB0byB3aGljaCBwaWVjZSBvZiB0aGUgc3BlYyB0
aGV5CisgICAgdGVzdAorKiAgIEZpbGVzIHNob3VsZCBiZSBuYW1lZCB1c2luZyBhIGNvbnNpc3Rl
bnQgcGF0dGVybgorKiAgIEhUTUwgZmlsZXMgc2hvdWxkIGluY2x1ZGUgdXNlZnVsIG1ldGEgdGFn
cworICAgICogICBgPHRpdGxlPmAgZm9yIGNvbnRyb2xsaW5nIGxhYmVscyBpbiByZXN1bHRzIHBh
Z2VzCisgICAgKiAgIGA8bGluayByZWw9ImhlbHAiPmAgdG8gcG9pbnQgYXQgdGhlIHJlbGV2YW50
IHBpZWNlIG9mIHRoZSBzcGVjCisKK1dlIHdhbnQgdGhlIHRlc3Qgc3VpdGUgdG8gcnVuIGNvbnNp
c3RlbnRseS4gRmxha3kgdGVzdHMgYXJlIGNvdW50ZXJwcm9kdWN0aXZlLgorKiAgIFByZWZlciBg
cHJvbWlzZV90ZXN0YCB0byBgYXN5bmNfdGVzdGAKKyAgICAqICAgTm90ZSB0aGF0IHRoZXJl4oCZ
cyBbc3RpbGwgcG90ZW50aWFsIGZvciBzb21lIGNvbmN1cnJlbmN5XVsyXTsgdXNlCisgICAgICAg
IGBhZGRfY2xlYW51cCgpYCBpZiBuZWVkZWQKKworV2Ugd2FudCB0aGUgdGVzdHMgdG8gYmUgcmVh
ZGFibGUuIFRlc3RzIHNob3VsZCBiZSB3cml0dGVuIGluIGEgbW9kZXJuIHN0eWxlCit3aXRoIHJl
Y3VycmluZyBwYXR0ZXJucy4KKyogICA4MCBjaGFyYWN0ZXIgbGluZSBsaW1pdHMgd2hlcmUgd2Ug
Y2FuCisqICAgQ29uc2lzdGVudCB1c2Ugb2YgYW5vbnltb3VzIGZ1bmN0aW9ucworICAgICogICBw
cmVmZXIKKyAgICAgICAgYGBgCisgICAgICAgIGNvbnN0IGZ1bmMxID0gcGFyYW0xID0+IHsKKyAg
ICAgICAgICBib2R5KCk7CisgICAgICAgIH0KKyAgICAgICAgY29uc3QgZnVuYzIgPSAocGFyYW0x
LCBwYXJhbTIpID0+IHsKKyAgICAgICAgICBib2R5KCk7CisgICAgICAgIH0KKyAgICAgICAgZm4o
cGFyYW0gPT4geworICAgICAgICAgICAgYm9keSgpOworICAgICAgICB9KTsKKyAgICAgICAgYGBg
CisKKyAgICAgICAgb3ZlcgorCisgICAgICAgIGBgYAorICAgICAgICBmdW5jdGlvbiBmdW5jMShw
YXJhbTEpIHsKKyAgICAgICAgICBib2R5KCk7CisgICAgICAgIH0KKyAgICAgICAgZnVuY3Rpb24g
ZnVuYzIocGFyYW0xLCBwYXJhbTIpIHsKKyAgICAgICAgICBib2R5KCk7CisgICAgICAgIH0KKyAg
ICAgICAgZm4oZnVuY3Rpb24ocGFyYW0pIHsKKyAgICAgICAgICAgIGJvZHkoKTsKKyAgICAgICAg
fSk7CisgICAgICAgIGBgYAorCisqICAgUHJlZmVyIGBjb25zdGAgKG9yLCBpZiBuZWVkZWQsIGBs
ZXRgKSB0byBgdmFyYAorKiAgIENvbnRhaW4gdXNlIG9mIOKAmC5zdWLigJkgaW4gZmlsZW5hbWVz
IHRvIGtub3duIGhlbHBlciB1dGlsaXRpZXMgd2hlcmUgcG9zc2libGUKKyAgICAqICAgRS5nLiBw
cmVmZXIgdXNlIG9mIGdldC1ob3N0LWluZm8uc3ViLmpzIHRvIGB7e2hvc3R9fWAgb3IgYHt7cG9y
dHNbMF19fWAKKyAgICAgICAgZXhwcmVzc2lvbnMKKyogICBBdm9pZCB1c2Ugb2Ygd2VicGVyZnRl
c3RoYXJuZXNzW2V4dGVuc2lvbl0uanMgYXMgaXTigJlzIGEgbGF5ZXIgb2YgY29nbml0aXZlCisg
ICAgb3ZlcmhlYWQgYmV0d2VlbiB0ZXN0IGNvbnRlbnQgYW5kIHRlc3QgaW50ZW50CisgICAgKiAg
IEhlbHBlciAuanMgZmlsZXMgYXJlIHN0aWxsIGVuY291cmFnZWQgd2hlcmUgaXQgbWFrZXMgc2Vu
c2UgYnV0IHdlIHdhbnQKKyAgICAgICAgdG8gYXZvaWQgYSB0ZXN0aW5nIGZyYW1ld29yayB0aGF0
IGlzIHNwZWNpZmljIHRvIFJlc291cmNlIFRpbWluZyAob3IKKyAgICAgICAgd2ViIHBlcmZvcm1h
bmNlIEFQSXMsIGluIGdlbmVyYWwpLgorKiAgIFByZWZlciBbYGZldGNoX3Rlc3RzX2Zyb21fd2lu
ZG93YF1bM10gdG8gY29sbGVjdCB0ZXN0IHJlc3VsdHMgZnJvbSBlbWJlZGRlZAorICAgIGlmcmFt
ZXMgaW5zdGVhZCBvZiBoYW5kLXJvbGxlZCBgcG9zdE1lc3NhZ2VgIGFwcHJvYWNoZXMKKyogICBV
c2UgdGhlIFtgYXNzZXJ0XypgXVs0XSBmYW1pbHkgb2YgZnVuY3Rpb25zIHRvIGNoZWNrIGNvbmZv
cm1hbmNlIHRvIHRoZSBzcGVjCisgICAgYnV0IHRocm93IGV4Y2VwdGlvbnMgZXhwbGljaXRseSB3
aGVuIHRoZSB0ZXN0IGl0c2VsZiBpcyBicm9rZW4uCisgICAgKiAgICBBIGZhaWxlZCBhc3NlcnQg
aW5kaWNhdGVzICJ0aGUgaW1wbGVtZW50YXRpb24gZG9lc24ndCBjb25mb3JtIHRvIHRoZQorICAg
ICAgICAgc3BlYyIKKyAgICAqICAgIE90aGVyIHVuY2F1Z2h0IGV4Y2VwdGlvbnMgaW5kaWNhdGUg
InRoZSB0ZXN0IGNhc2UgaXRzZWxmIGhhcyBhIGJ1ZyIKKyogICBXaGVyZSBwb3NzaWJsZSwgd2Ug
d2FudCB0ZXN0cyB0byBiZSBzY2FsYWJsZSAtIGFkZGluZyBhbm90aGVyIHRlc3QgY2FzZQorICAg
IHNob3VsZCBiZSBhcyBzaW1wbGUgYXMgY2FsbGluZyB0aGUgdGVzdHMgd2l0aCBuZXcgcGFyYW1l
dGVycywgcmF0aGVyIHRoYW4KKyAgICBjb3B5aW5nIGFuIGV4aXN0aW5nIHRlc3QgYW5kIG1vZGlm
eWluZyBpdC4KKworWzFdOiBodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIv
CitbMl06IGh0dHBzOi8vd2ViLXBsYXRmb3JtLXRlc3RzLm9yZy93cml0aW5nLXRlc3RzL3Rlc3Ro
YXJuZXNzLWFwaS5odG1sI3Byb21pc2UtdGVzdHMKK1szXTogaHR0cHM6Ly93ZWItcGxhdGZvcm0t
dGVzdHMub3JnL3dyaXRpbmctdGVzdHMvdGVzdGhhcm5lc3MtYXBpLmh0bWwjY29uc29saWRhdGlu
Zy10ZXN0cy1mcm9tLW90aGVyLWRvY3VtZW50cworWzRdOiBodHRwczovL3dlYi1wbGF0Zm9ybS10
ZXN0cy5vcmcvd3JpdGluZy10ZXN0cy90ZXN0aGFybmVzcy1hcGkuaHRtbCNsaXN0LW9mLWFzc2Vy
dGlvbnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL1NPLVhPLVNPLXJlZGlyZWN0LWNoYWluLXRhby5odHRwcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9TTy1YTy1TTy1yZWRpcmVjdC1jaGFpbi10YW8uaHR0cHMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjVmOGQyOTAzZDUxMDU2NTBlYTljZjU3NzQzY2ExMjJlMjc3MWE2
NDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9TTy1YTy1TTy1yZWRpcmVjdC1jaGFpbi10YW8uaHR0
cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorCitGQUlMIFZlcmlmeSB0aGF0IGNyb3Nz
IG9yaWdpbiByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIG5vdCBleHBvc2VkIHdoZW4gc2FtZS1vcmln
aW49PmNyb3NzLW9yaWdpbj0+c2FtZS1vcmlnaW4gcmVkaXJlY3RzIGhhdmUgbm8gYFRpbWluZy1B
bGxvdy1PcmlnaW46YCBoZWFkZXJzLiBhc3NlcnRfZXF1YWxzOiBkb21haW5Mb29rdXBTdGFydCBz
aG91bGQgYmUgMCBleHBlY3RlZCAwIGJ1dCBnb3QgPG5vbmRldGVybWluaXN0aWMgdGVzdCBvdXRw
dXQ+CitGQUlMIFZlcmlmeSB0aGF0IGNyb3NzIG9yaWdpbiByZXNvdXJjZXMnIHRpbWluZ3MgYXJl
IG5vdCBleHBvc2VkIHdoZW4gc2FtZS1vcmlnaW49PmNyb3NzLW9yaWdpbj0+c2FtZS1vcmlnaW4g
cmVkaXJlY3RzIGhhdmUgYFRpbWluZy1BbGxvdy1PcmlnaW46YCBoZWFkZXJzIG9ubHkgb24gc29t
ZSBvZiB0aGUgcmVzcG9uc2VzLiBhc3NlcnRfZXF1YWxzOiBkb21haW5Mb29rdXBTdGFydCBzaG91
bGQgYmUgMCBleHBlY3RlZCAwIGJ1dCBnb3QgPG5vbmRldGVybWluaXN0aWMgdGVzdCBvdXRwdXQ+
CitGQUlMIFZlcmlmeSB0aGF0IGNyb3NzIG9yaWdpbiByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIGV4
cG9zZWQgd2hlbiBjcm9zcy1vcmlnaW4gcmVkaXJlY3RzIGhhdmUgYFRpbWluZy1BbGxvdy1Pcmln
aW46ICpgIGhlYWRlcnMgYXNzZXJ0X2dyZWF0ZXJfdGhhbjogcmVkaXJlY3RTdGFydCBzaG91bGQg
YmUgZ3JlYXRlciB0aGFuIDAgZXhwZWN0ZWQgYSBudW1iZXIgZ3JlYXRlciB0aGFuIDAgYnV0IGdv
dCAwCitQQVNTIFZlcmlmeSB0aGF0IGNyb3NzIG9yaWdpbiByZXNvdXJjZXMnIHRpbWluZ3MgYXJl
IG5vdCBleHBvc2VkIHdoZW4gc2FtZS1vcmlnaW49PmNyb3NzLW9yaWdpbj0+c2FtZS1vcmlnaW4g
cmVkaXJlY3RzIGhhdmUgYFRpbWluZy1BbGxvdy1PcmlnaW46YCBoZWFkZXJzIHdpdGggYSBzcGVj
aWZpYyBvcmlnaW4uCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1NPLVhPLVNPLXJlZGlyZWN0LWNoYWluLXRh
by5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvU08tWE8tU08tcmVkaXJlY3QtY2hhaW4tdGFvLmh0dHBzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZTY1Njg5MTBlNGZlN2I2MWRjOGE4NjlkZmQ0ZmNmZjA3NTBlNzI2NQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL1NPLVhPLVNPLXJlZGlyZWN0LWNoYWluLXRhby5odHRwcy5odG1s
CkBAIC0wLDAgKzEsNjQgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlRoaXMgdGVzdCB2YWxpZGF0ZXMgcmVzb3VyY2Ug
dGltaW5nIGluZm9ybWF0aW9uIGZvciBhIHNhbWUtb3JpZ2luPT5jcm9zcy1vcmlnaW49PnNhbWUt
b3JpZ2luIHJlZGlyZWN0IGNoYWluIHdpdGhvdXQgVGltaW5nLUFsbG93LU9yaWdpbi48L3RpdGxl
PgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2Ut
dGltaW5nLTIvI3NlYy1jcm9zcy1vcmlnaW4tcmVzb3VyY2VzIi8+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9n
ZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jl
c291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9lbnRy
eS1pbnZhcmlhbnRzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2Nv
bnN0IHtIVFRQU19SRU1PVEVfT1JJR0lOfSA9IGdldF9ob3N0X2luZm8oKTsKK2NvbnN0IFNBTUVf
T1JJR0lOID0gbG9jYXRpb24ub3JpZ2luOworLy8gU2FtZS1PcmlnaW4gPT4gQ3Jvc3MtT3JpZ2lu
ID0+IFNhbWUtT3JpZ2luID0+IFNhbWUtT3JpZ2luIHJlZGlyZWN0IGNoYWluCitsZXQgZGVzdFVy
bCA9IGAke1NBTUVfT1JJR0lOfS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRpX3JlZGly
ZWN0LnB5P2A7CitkZXN0VXJsICs9IGBwYWdlX29yaWdpbj0ke1NBTUVfT1JJR0lOfWA7CitkZXN0
VXJsICs9IGAmY3Jvc3Nfb3JpZ2luPSR7SFRUUFNfUkVNT1RFX09SSUdJTn1gOworZGVzdFVybCAr
PSBgJmZpbmFsX3Jlc291cmNlPS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2JsYW5rX3BhZ2Vf
Z3JlZW4uaHRtYDsKKworLy8gTm8gVEFPIGluIHRoZSByZWRpcmVjdCBjaGFpbgorYXR0cmlidXRl
X3Rlc3QoCisgIGxvYWQuaWZyYW1lLCBkZXN0VXJsLAorICBpbnZhcmlhbnRzLmFzc2VydF9jcm9z
c19vcmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAgIlZlcmlmeSB0aGF0IGNyb3NzIG9yaWdp
biByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIG5vdCBleHBvc2VkIHdoZW4gIiArCisgICJzYW1lLW9y
aWdpbj0+Y3Jvc3Mtb3JpZ2luPT5zYW1lLW9yaWdpbiByZWRpcmVjdHMgaGF2ZSBubyAiICsKKyAg
ImBUaW1pbmctQWxsb3ctT3JpZ2luOmAgaGVhZGVycy4iKTsKKworLy8gUGFydGlhbCBUQU8gaW4g
dGhlIHJlZGlyZWN0IGNoYWluCitkZXN0VXJsICs9ICcmdGFvX3N0ZXBzPTInOworYXR0cmlidXRl
X3Rlc3QoCisgIGxvYWQuaWZyYW1lLCBkZXN0VXJsLAorICBpbnZhcmlhbnRzLmFzc2VydF9jcm9z
c19vcmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAgIlZlcmlmeSB0aGF0IGNyb3NzIG9yaWdp
biByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIG5vdCBleHBvc2VkIHdoZW4gIiArCisgICJzYW1lLW9y
aWdpbj0+Y3Jvc3Mtb3JpZ2luPT5zYW1lLW9yaWdpbiByZWRpcmVjdHMgaGF2ZSAiICsKKyAgImBU
aW1pbmctQWxsb3ctT3JpZ2luOmAgaGVhZGVycyBvbmx5IG9uIHNvbWUgb2YgdGhlIHJlc3BvbnNl
cy4iKTsKKworLy8gQ3Jvc3Mtb3JpZ2luID0+IENyb3NzLU9yaWdpbiA9PiBTYW1lLU9yaWdpbiA9
PiBTYW1lLU9yaWdpbiByZWRpcmVjdCBjaGFpbi4KK2Rlc3RVcmwgPSBgJHtIVFRQU19SRU1PVEVf
T1JJR0lOfS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRpX3JlZGlyZWN0LnB5P2A7Citk
ZXN0VXJsICs9IGBwYWdlX29yaWdpbj0ke1NBTUVfT1JJR0lOfWA7CitkZXN0VXJsICs9IGAmY3Jv
c3Nfb3JpZ2luPSR7SFRUUFNfUkVNT1RFX09SSUdJTn1gOworZGVzdFVybCArPSBgJmZpbmFsX3Jl
c291cmNlPS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2JsdWUtd2l0aC10YW8ucG5nYDsKK2Rl
c3RVcmwgKz0gYCZ0YW9fc3RlcHM9M2A7CisKKy8vIEZ1bGwgcmVkaXJlY3QgY2hhaW4gd2l0aCBg
VEFPOiAqYC4KK2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLmltYWdlLCBkZXN0VXJsLAorICBpbnZh
cmlhbnRzLmFzc2VydF90YW9fZW5hYmxlZF9jcm9zc19vcmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJj
ZSwKKyAgIlZlcmlmeSB0aGF0IGNyb3NzIG9yaWdpbiByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIGV4
cG9zZWQgd2hlbiBjcm9zcy1vcmlnaW4gIiArCisgICJyZWRpcmVjdHMgaGF2ZSBgVGltaW5nLUFs
bG93LU9yaWdpbjogKmAgaGVhZGVycyIpOworCisvLyBUQU8gd2l0aCBhIHNwZWNpZmljIG9yaWdp
bgorZGVzdFVybCArPSBgJnRhb192YWx1ZT0ke1NBTUVfT1JJR0lOfWA7CithdHRyaWJ1dGVfdGVz
dCgKKyAgbG9hZC5pbWFnZSwgZGVzdFVybCwKKyAgaW52YXJpYW50cy5hc3NlcnRfY3Jvc3Nfb3Jp
Z2luX3JlZGlyZWN0ZWRfcmVzb3VyY2UsCisgICJWZXJpZnkgdGhhdCBjcm9zcyBvcmlnaW4gcmVz
b3VyY2VzJyB0aW1pbmdzIGFyZSBub3QgZXhwb3NlZCB3aGVuICIgKworICAic2FtZS1vcmlnaW49
PmNyb3NzLW9yaWdpbj0+c2FtZS1vcmlnaW4gcmVkaXJlY3RzIGhhdmUgIiArCisgICJgVGltaW5n
LUFsbG93LU9yaWdpbjpgIGhlYWRlcnMgd2l0aCBhIHNwZWNpZmljIG9yaWdpbi4iKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU3ludGhldGljUmVzcG9uc2Uu
cHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9TeW50aGV0aWNSZXNwb25zZS5weQppbmRleCBkYzU3ZDg0NTFmOWYxZWVmNjgxMjc4
Yzg3NTZkMTBiN2VmMmFmNGIxLi42Zjg4OGYzNzg5NmUxMjQwMTMwMWUxODdlYmQ1MTdlOTQyYTdl
Y2U4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9TeW50aGV0aWNSZXNwb25zZS5weQorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9TeW50aGV0
aWNSZXNwb25zZS5weQpAQCAtMSw4ICsxLDkgQEAKLWZyb20gc2l4Lm1vdmVzLnVybGxpYi5wYXJz
ZSBpbXBvcnQgdW5xdW90ZQorZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHVucXVvdGUKIAogZnJv
bSB3cHRzZXJ2ZS51dGlscyBpbXBvcnQgaXNvbW9ycGhpY19kZWNvZGUsIGlzb21vcnBoaWNfZW5j
b2RlCiAKLWltcG9ydCBzbGVlcAoraW1wb3J0IGltcG9ydGxpYgorc2xlZXAgPSBpbXBvcnRsaWIu
aW1wb3J0X21vZHVsZSgicmVzb3VyY2UtdGltaW5nLnNsZWVwIikKIAogZGVmIG1haW4ocmVxdWVz
dCwgcmVzcG9uc2UpOgogICAgIGluZGV4ID0gaXNvbW9ycGhpY19lbmNvZGUocmVxdWVzdC5yZXF1
ZXN0X3BhdGgpLmluZGV4KGIiPyIpCkBAIC00Myw4ICs0NCw2IEBAIGRlZiBtYWluKHJlcXVlc3Qs
IHJlc3BvbnNlKToKICAgICAgICAgICAgICAgICByZXNwb25zZS53cml0ZXIuZW5kX2hlYWRlcnMo
KQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBzdGF0dXNTZW50ID0gVHJ1ZQot
ICAgICAgICBlbGlmIGFyZyA9PSBiImZsdXNoIjoKLSAgICAgICAgICAgIHJlc3BvbnNlLndyaXRl
ci5mbHVzaCgpCiAKICMgICAgICAgIGVsc2U6CiAjICAgICAgICAgICAgZXJyb3IgIiAgSU5WQUxJ
RCBBUkdVTUVOVCAlcyIgJSBhcmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1tYXRjaC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9UQU8tbWF0Y2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEwZTc2YTgxYWY2ZWI1
Yjc1ZTRlYzEyMmIyOTZhYjZhZDdlY2ZjYmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbWF0
Y2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKKworUEFTUyBUaGUgdGltaW5nIGFsbG93
IGNoZWNrIGFsZ29yaXRobSB3aWxsIHBhc3Mgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiBo
ZWFkZXIgdmFsdWUgbGlzdCBjb250YWlucyBhIGNhc2Utc2Vuc2l0aXZlIG1hdGNoLgorUEFTUyBU
aGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIHBhc3Mgd2hlbiB0aGUgVGltaW5n
LUFsbG93LU9yaWdpbiBoZWFkZXIgdmFsdWUgbGlzdCBjb250YWlucyBhIHdpbGRjYXJkLgorUEFT
UyBUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIGZhaWwgd2hlbiB0aGUgVGlt
aW5nLUFsbG93LU9yaWdpbiBoZWFkZXIgdmFsdWUgbGlzdCBjb250YWlucyBhIG51bGwgb3JpZ2lu
LgorUEFTUyBUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIHBhc3Mgd2hlbiB0
aGUgVGltaW5nLUFsbG93LU9yaWdpbiBoZWFkZXIgdmFsdWUgbGlzdCBjb250YWlucyB0aGUgb3Jp
Z2luIGFuZCBhIHdpbGRjYXJkLgorUEFTUyBUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRo
bSB3aWxsIHBhc3Mgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiBoZWFkZXIgdmFsdWUgbGlz
dCBjb250YWlucyBtdWx0aXBsZSB3aWxkY2FyZHMuCitQQVNTIFRoZSB0aW1pbmcgYWxsb3cgY2hl
Y2sgYWxnb3JpdGhtIHdpbGwgcGFzcyB3aGVuIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRl
ciB2YWx1ZSBjb250YWlucyBvbmx5IHRoZSBvcmlnaW4uCitQQVNTIFRoZSB0aW1pbmcgYWxsb3cg
Y2hlY2sgYWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhl
YWRlciB2YWx1ZSBjb250YWlucyBvbmx5IHRoZSB1cHBlcmNhc2VkIG9yaWdpbi4KK1BBU1MgVGhl
IHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1B
bGxvdy1PcmlnaW4gaGVhZGVyIHZhbHVlIGNvbnRhaW5zIG9ubHkgYSBzcGFjZS4KK1BBU1MgVGhl
IHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1B
bGxvdy1PcmlnaW4gaGVhZGVyIHZhbHVlIGNvbnRhaW5zIG9ubHkgYSB3aWxkY2FyZC4KK1BBU1Mg
VGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWlu
Zy1BbGxvdy1PcmlnaW4gaGVhZGVyIGlzIG5vdCBwcmVzZW50LgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9U
QU8tbWF0Y2guaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL1RBTy1tYXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEyNjQ1YTYzOGJl
ZjI2YTY1NWVmMjUzZjY1NWM5NWFjOTYwN2ZmZjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8t
bWF0Y2guaHRtbApAQCAtMCwwICsxLDY5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmcgVEFP
IHRlc3RzPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJo
dHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIgorICAgICAgaHJlZj0i
aHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyN0aW1pbmctYWxsb3ctb3Jp
Z2luIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFudHMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQ+Citjb25zdCB7UkVNT1RFX09SSUdJTn0gPSBnZXRfaG9zdF9pbmZvKCk7Citjb25zdCBwYXRo
ID0gUkVNT1RFX09SSUdJTiArICcvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9UQU9SZXNwb25z
ZS5weT90YW89JzsKKworYXR0cmlidXRlX3Rlc3QobG9hZC54aHJfc3luYywgcGF0aCArICdtYXRj
aF9vcmlnaW4nLAorICBpbnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc19ub19yZWRpcmVjdF9odHRw
LAorJ1RoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgcGFzcyB3aGVuIHRoZSBU
aW1pbmctQWxsb3ctT3JpZ2luICcgKworJ2hlYWRlciB2YWx1ZSBsaXN0IGNvbnRhaW5zIGEgY2Fz
ZS1zZW5zaXRpdmUgbWF0Y2guJyk7CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQueGhyX3N5bmMsIHBh
dGggKyAnbWF0Y2hfd2lsZGNhcmQnLAorICBpbnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc19ub19y
ZWRpcmVjdF9odHRwLAorJ1RoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgcGFz
cyB3aGVuIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luICcgKworJ2hlYWRlciB2YWx1ZSBsaXN0IGNv
bnRhaW5zIGEgd2lsZGNhcmQuJyk7CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQueGhyX3N5bmMsIHBh
dGggKyAnbnVsbCcsCisgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19mYWlsdXJlX3Jlc291cmNlLAor
J1RoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRoZSBUaW1p
bmctQWxsb3ctT3JpZ2luICcgKworJ2hlYWRlciB2YWx1ZSBsaXN0IGNvbnRhaW5zIGEgbnVsbCBv
cmlnaW4uJyk7CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQueGhyX3N5bmMsIHBhdGggKyAnbXVsdGkn
LAorICBpbnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc19ub19yZWRpcmVjdF9odHRwLAorJ1RoZSB0
aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgcGFzcyB3aGVuIHRoZSBUaW1pbmctQWxs
b3ctT3JpZ2luICcgKworJ2hlYWRlciB2YWx1ZSBsaXN0IGNvbnRhaW5zIHRoZSBvcmlnaW4gYW5k
IGEgd2lsZGNhcmQuJyk7CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQueGhyX3N5bmMsIHBhdGggKyAn
bXVsdGlfd2lsZGNhcmQnLAorICBpbnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc19ub19yZWRpcmVj
dF9odHRwLAorJ1RoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgcGFzcyB3aGVu
IHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luICcgKworJ2hlYWRlciB2YWx1ZSBsaXN0IGNvbnRhaW5z
IG11bHRpcGxlIHdpbGRjYXJkcy4nKTsKKworYXR0cmlidXRlX3Rlc3QobG9hZC54aHJfc3luYywg
cGF0aCArICdvcmlnaW4nLAorICBpbnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc19ub19yZWRpcmVj
dF9odHRwLAorJ1RoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgcGFzcyB3aGVu
IHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luICcgKworJ2hlYWRlciB2YWx1ZSBjb250YWlucyBvbmx5
IHRoZSBvcmlnaW4uJyk7CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQueGhyX3N5bmMsIHBhdGggKyAn
dXBwZXJjYXNlJywKKyAgaW52YXJpYW50cy5hc3NlcnRfdGFvX2ZhaWx1cmVfcmVzb3VyY2UsCisn
VGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWlu
Zy1BbGxvdy1PcmlnaW4gJyArCisnaGVhZGVyIHZhbHVlIGNvbnRhaW5zIG9ubHkgdGhlIHVwcGVy
Y2FzZWQgb3JpZ2luLicpOworCithdHRyaWJ1dGVfdGVzdChsb2FkLnhocl9zeW5jLCBwYXRoICsg
J3NwYWNlJywKKyAgaW52YXJpYW50cy5hc3NlcnRfdGFvX2ZhaWx1cmVfcmVzb3VyY2UsCisnVGhl
IHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1B
bGxvdy1PcmlnaW4gJyArCisnaGVhZGVyIHZhbHVlIGNvbnRhaW5zIG9ubHkgYSBzcGFjZS4nKTsK
KworYXR0cmlidXRlX3Rlc3QobG9hZC54aHJfc3luYywgcGF0aCArICd3aWxkY2FyZCcsCisgIGlu
dmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzX25vX3JlZGlyZWN0X2h0dHAsCisnVGhlIHRpbWluZyBh
bGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1BbGxvdy1Pcmln
aW4gJyArCisnaGVhZGVyIHZhbHVlIGNvbnRhaW5zIG9ubHkgYSB3aWxkY2FyZC4nKTsKKworYXR0
cmlidXRlX3Rlc3QobG9hZC54aHJfc3luYywgcGF0aCArICd6ZXJvJywKKyAgaW52YXJpYW50cy5h
c3NlcnRfdGFvX2ZhaWx1cmVfcmVzb3VyY2UsCisnVGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdv
cml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gJyArCisnaGVhZGVy
IGlzIG5vdCBwcmVzZW50LicpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9UQU8tbnVsbC1vcGFxdWUtb3JpZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1udWxs
LW9wYXF1ZS1vcmlnaW4tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkNmEzN2YxNDUwZTI5OWNm
Y2Y1ODU0ZjY5YmVjMDQ5M2ZjMjE0YmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbnVsbC1v
cGFxdWUtb3JpZ2luLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK0Rlc2NyaXB0aW9uCisK
K1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCwgZm9yIGEgY3Jvc3Mgb3JpZ2luIHJlc291cmNlLCB0
aGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIHN1Y2NlZWQgd2hlbiB0aGUgdmFs
dWUgb2YgVGltaW5nLUFsbG93LU9yaWdpbiBpcyBudWxsIGFuZCB0aGUgb3JpZ2luIGlzIGFuIG9w
YXF1ZSBvcmlnaW4uCisKKworUEFTUyBBbiBvcGFxdWUgb3JpZ2luIHNob3VsZCBiZSBhdXRob3Jp
emVkIHRvIHNlZSByZXNvdXJjZSB0aW1pbmdzIHdoZW4gdGhlIFRBTyBoZWFkZXIgaXMgdGhlIHN0
cmluZyAnbnVsbCcKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW51bGwtb3BhcXVlLW9yaWdpbi5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvVEFPLW51bGwtb3BhcXVlLW9yaWdpbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY1NDhhN2I5YWQ0
Mzc0MDdlYWRlZDJjNmVmYzQ5NzRkZWMyNDJlY2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8t
bnVsbC1vcGFxdWUtb3JpZ2luLmh0bWwKQEAgLTAsMCArMSw1NSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3Vy
Y2UgVGltaW5nIFRBTyAtICJudWxsIiBhbmQgb3BhcXVlIG9yaWdpbjwvdGl0bGU+Cis8bGluayBy
ZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIg
Lz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNl
LXRpbWluZy0yLyN0aW1pbmctYWxsb3ctb3JpZ2luIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9z
dC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5EZXNjcmlwdGlv
bjwvaDE+Cis8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQsIGZvciBhIGNyb3NzIG9yaWdpbiBy
ZXNvdXJjZSwgdGhlIHRpbWluZyBhbGxvdworY2hlY2sgYWxnb3JpdGhtIHdpbGwgc3VjY2VlZCB3
aGVuIHRoZSB2YWx1ZSBvZiBUaW1pbmctQWxsb3ctT3JpZ2luIGlzIG51bGwgYW5kCit0aGUgb3Jp
Z2luIGlzIGFuIG9wYXF1ZSBvcmlnaW4uPC9wPgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxpZnJh
bWUgaWQ9ImZyYW1lQ29udGV4dCI+PC9pZnJhbWU+Cis8c2NyaXB0PgorY29uc3Qgb3JpZ2luID0g
Z2V0X2hvc3RfaW5mbygpWyJPUklHSU4iXTsKK2NvbnN0IGZyYW1lX2NvbnRlbnQgPSBgZGF0YTp0
ZXh0L2h0bWw7dXRmOCw8Ym9keT4KKyAgPHNjcmlwdCBzcmM9IiR7b3JpZ2lufS9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvYCArIGBzY3JpcHQ+CisgIDxzY3JpcHQ+CisgICAgY29uc3QgdXJs
ID0gIiR7b3JpZ2lufS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL1RBT1Jlc3BvbnNlLnB5P3Rh
bz1udWxsIjsKKyAgICBwcm9taXNlX3Rlc3QoKCkgPT4geyByZXR1cm4gbmV3IFByb21pc2UoKHJl
c29sdmUsIHJlamVjdCkgPT4geworICAgICAgY29uc3QgcnVuX3Rlc3QgPSBlbnRyeUxpc3QgPT4g
eworICAgICAgICBjb25zdCBlbnRyeSA9IGVudHJ5TGlzdC5nZXRFbnRyaWVzKClbMF07CisgICAg
ICAgIGNvbnN0IHN1bSA9IGVudHJ5LnJlZGlyZWN0U3RhcnQgKyBlbnRyeS5yZWRpcmVjdEVuZCAr
CisgICAgICAgICAgICAgICAgICAgIGVudHJ5LmRvbWFpbkxvb2t1cFN0YXJ0ICsgZW50cnkuZG9t
YWluTG9va3VwRW5kICsKKyAgICAgICAgICAgICAgICAgICAgZW50cnkuY29ubmVjdFN0YXJ0ICsg
ZW50cnkuY29ubmVjdEVuZCArCisgICAgICAgICAgICAgICAgICAgIGVudHJ5LnNlY3VyZUNvbm5l
Y3Rpb25TdGFydCArIGVudHJ5LnJlcXVlc3RTdGFydCArCisgICAgICAgICAgICAgICAgICAgIGVu
dHJ5LnJlc3BvbnNlU3RhcnQgKyBlbnRyeS50cmFuc2ZlclNpemUgKworICAgICAgICAgICAgICAg
ICAgICBlbnRyeS5lbmNvZGVkQm9keVNpemUgKyBlbnRyeS5kZWNvZGVkQm9keVNpemU7CisgICAg
ICAgIGFzc2VydF9ub3RfZXF1YWxzKHN1bSwgMCwgIlRpbWluZ3MgbXVzdCBiZSBub24temVybyIp
OworICAgICAgfTsKKyAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2
ZXIobGlzdCA9PiB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgcnVuX3Rlc3QobGlzdCk7Cisg
ICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgICByZWpl
Y3QoZSk7CisgICAgICAgIH0KKyAgICAgIH0pOworICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7IGVu
dHJ5VHlwZXM6IFsicmVzb3VyY2UiXSB9KTsKKyAgICAgIGZldGNoKHVybCk7CisgICAgfSl9LCAi
QW4gb3BhcXVlIG9yaWdpbiBzaG91bGQgYmUgYXV0aG9yaXplZCB0byBzZWUgcmVzb3VyY2UgdGlt
aW5ncyB3aGVuIiArCisgICAgICAgICAiIHRoZSBUQU8gaGVhZGVyIGlzIHRoZSBzdHJpbmcgJ251
bGwnIik7CisgIDwvYCArIGBzY3JpcHQ+PC9ib2R5PmA7CisKK2ZyYW1lQ29udGV4dC5zdHlsZSA9
ICJkaXNwbGF5Om5vbmUiCitmcmFtZUNvbnRleHQuc3JjID0gZnJhbWVfY29udGVudDsKK2ZldGNo
X3Rlc3RzX2Zyb21fd2luZG93KGZyYW1lQ29udGV4dC5jb250ZW50V2luZG93KTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW51bGwtb3BhcXVlLW9yaWdp
bi5zdWItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW51bGwtb3BhcXVlLW9yaWdpbi5zdWItZXhwZWN0
ZWQudHh0CmluZGV4IDJlYzdlMDhhM2E3Y2I4YmI4MDRlY2FiNDZiMDY3NjYwZjA0YzZjYmIuLjk3
MjM1ZGM3YTk5YmQyNzE1YzgzZTQyYWFlMGU5YmY1Nzg3ZTFmNjAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RB
Ty1udWxsLW9wYXF1ZS1vcmlnaW4uc3ViLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbnVsbC1v
cGFxdWUtb3JpZ2luLnN1Yi1leHBlY3RlZC50eHQKQEAgLTMsNSArMyw1IEBAIERlc2NyaXB0aW9u
CiBUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgZm9yIGEgY3Jvc3Mgb3JpZ2luIHJlc291cmNlLCB0
aGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIHN1Y2NlZWQgd2hlbiB0aGUgdmFs
dWUgb2YgVGltaW5nLUFsbG93LU9yaWdpbiBpcyBudWxsIGFuZCB0aGUgb3JpZ2luIGlzIGFuIG9w
YXF1ZSBvcmlnaW4uCiAKIAotRkFJTCBUZXN0IG51bGwgVEFPIHZhbHVlIHdpdGggb3BhcXVlIG9y
aWdpbnMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlBBU1MiIGJ1dCBnb3QgIkZBSUwiCitQQVNT
IFRlc3QgbnVsbCBUQU8gdmFsdWUgd2l0aCBvcGFxdWUgb3JpZ2lucwogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9UQU8tcG9ydC1taXNtYXRjaC1tZWFucy1jcm9zc29yaWdpbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9U
QU8tcG9ydC1taXNtYXRjaC1tZWFucy1jcm9zc29yaWdpbi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODIwOGE1MzIxMWYxMzNkYTMzMWViZTViNTlhYjVjYzNiOTY4NjJiZQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5zLWNyb3Nzb3JpZ2luLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDggQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhh
dCBmb3IgYSBjcm9zcyBvcmlnaW4gcmVzb3VyY2Ugd2l0aCBkaWZmZXJlbnQgcG9ydHMsIHRoZSB0
aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRoZSB2YWx1ZSBvZiBU
aW1pbmctQWxsb3ctT3JpZ2luIHZhbHVlIGhhcyB0aGUgcmlnaHQgaG9zdCBidXQgdGhlIHdyb25n
IHBvcnQgaW4gaXQuCisKKworRkFJTCBBIHBvcnQgbWlzbWF0Y2ggbXVzdCBmYWlsIHRoZSBUQU8g
Y2hlY2sgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiVHlwZUVycm9yOiBVUkwgaXMgbm90IHZhbGlkIG9yIGNvbnRhaW5zIHVzZXIgY3JlZGVudGlh
bHMuIgorRkFJTCBBbiBpZGVudGljYWwgcG9ydCBtdXN0IHBhc3MgdGhlIFRBTyBjaGVjayBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IFVSTCBpcyBub3QgdmFsaWQgb3IgY29udGFpbnMgdXNlciBjcmVkZW50aWFscy4iCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5zLWNyb3Nzb3JpZ2luLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9UQU8tcG9ydC1taXNtYXRjaC1tZWFucy1jcm9zc29yaWdpbi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYx
MjE4ZDE3YTBhNDRmMDEzYTAxYTliMWEyOGIzYWIxOWY5MWM5MWQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9UQU8tcG9ydC1taXNtYXRjaC1tZWFucy1jcm9zc29yaWdpbi5odG1sCkBAIC0wLDAgKzEs
NDYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04IiAvPgorPHRpdGxlPlRBTyAtIHBvcnQgbWlzbWF0Y2ggbXVzdCBmYWlsIHRoZSBjaGVjazwv
dGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3
dy5nb29nbGUuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMu
b3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNzZWMtdGltaW5nLWFsbG93LW9yaWdpbiIvPgorPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
InJlc291cmNlcy9lbnRyeS1pbnZhcmlhbnRzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2Nv
bnN0IHtPUklHSU5BTF9IT1NULCBQT1JULCBQT1JUMn0gPSBnZXRfaG9zdF9pbmZvKCk7CisKKy8v
IFRoZSBtYWluIHBhZ2UgaXMgYmVpbmcgcmVxdWVzdGVkIG9uIHRoZSBkZWZhdWx0IHBvcnQgKFBP
UlQpLCB3aGlsZSB0aGUKKy8vIHN1YnJlc291cmNlIHdpbGwgYmUgcmVxdWVzdGVkIG9uIGEgc2Vw
YXJhdGUgcG9ydCAoUE9SVDIpLiBUaGUgcmVzcG9uc2Ugd2lsbAorLy8gaGF2ZSBhIFRpbWluZy1B
bGxvdy1PcmlnaW4gaGVhZGVyIHZhbHVlIHdpdGggdGhlIHNlY29uZCBwb3J0IHNvIHRoaXMgcGFn
ZSdzCisvLyBvcmlnaW4gc2hvdWxkIG5vdCBiZSBhIG1hdGNoLgorY29uc3QgcG9ydF9taXNtYXRj
aF91cmwgPSBgJHtsb2NhdGlvbi5wcm90b2NvbH0vLyR7T1JJR0lOQUxfSE9TVH06JHtQT1JUMn1g
ICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYC9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vz
L1RBT1Jlc3BvbnNlLnB5P2AgKworICAgICAgICAgICAgICAgICAgICAgICAgICBgdGFvPW9yaWdp
bl9wb3J0XyR7UE9SVDJ9YDsKK2F0dHJpYnV0ZV90ZXN0KAorICBmZXRjaCwgcG9ydF9taXNtYXRj
aF91cmwsIGludmFyaWFudHMuYXNzZXJ0X3Rhb19mYWlsdXJlX3Jlc291cmNlLAorICAiQSBwb3J0
IG1pc21hdGNoIG11c3QgZmFpbCB0aGUgVEFPIGNoZWNrIik7CisKKy8vIFRoZSBzYW1lIFVSTCBh
cyBhYm92ZSBleGNlcHQgdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gaGVhZGVyIHdpbGwgaGF2ZSB0
aGUKKy8vIHNhbWUgcG9ydCBhcyB0aGlzIHBhZ2UncyBvcmlnaW4uIFRoZXJlZm9yZSwgdGhpcyBw
YWdlJ3Mgb3JpZ2luIHdpbGwgbWF0Y2gKKy8vIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRl
cidzIHZhbHVlLiBUaGVyZWZvcmUsIHRoZSBzdWJyZXNvdXJjZSdzIHRpbWluZ3MKKy8vIG11c3Qg
YmUgZXhwb3NlZC4KK2NvbnN0IHBvcnRfbWF0Y2hfdXJsID0gYCR7bG9jYXRpb24ucHJvdG9jb2x9
Ly8ke09SSUdJTkFMX0hPU1R9OiR7UE9SVDJ9YCArCisgICAgICAgICAgICAgICAgICAgICAgIGAv
cmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9UQU9SZXNwb25zZS5weT9gICsKKyAgICAgICAgICAg
ICAgICAgICAgICAgYHRhbz1vcmlnaW5fcG9ydF8ke1BPUlR9YDsKK2F0dHJpYnV0ZV90ZXN0KAor
ICBmZXRjaCwgcG9ydF9tYXRjaF91cmwsIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzX25vX3Jl
ZGlyZWN0X2h0dHAsCisgICJBbiBpZGVudGljYWwgcG9ydCBtdXN0IHBhc3MgdGhlIFRBTyBjaGVj
ayIpOworCis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4K
KzxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBmb3IgYSBjcm9zcyBvcmlnaW4gcmVzb3VyY2Ug
d2l0aCBkaWZmZXJlbnQgcG9ydHMsCit0aGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3
aWxsIGZhaWwgd2hlbiB0aGUgdmFsdWUgb2YKK1RpbWluZy1BbGxvdy1PcmlnaW4gdmFsdWUgaGFz
IHRoZSByaWdodCBob3N0IGJ1dCB0aGUgd3JvbmcgcG9ydCBpbiBpdC48L3A+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9fX2luaXRfXy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL19faW5pdF9fLnB5Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4YzUzOTEKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2J1ZmZlci1mdWxsLWFkZC1lbnRyaWVzLWR1cmluZy1jYWxsYmFjay5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
YnVmZmVyLWZ1bGwtYWRkLWVudHJpZXMtZHVyaW5nLWNhbGxiYWNrLmh0bWwKaW5kZXggYjM3YzQ3
YjIzZmI1MDI2NDgwNjgzNTk0Yjk2NGVlNzEyYWJiZTcwOC4uM2M4NmUwMDhmNTRkMjg0NmI1NGJh
MWM4YmQwODZlNGViMGE2MTRjOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWVudHJp
ZXMtZHVyaW5nLWNhbGxiYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWVudHJpZXMt
ZHVyaW5nLWNhbGxiYWNrLmh0bWwKQEAgLTYsNiArNiw3IEBACiA8bGluayByZWw9ImhlbHAiIGhy
ZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jcGVyZm9ybWFuY2VyZXNv
dXJjZXRpbWluZyIvPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzIj48
L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRk
LXRoZW4tY2xlYXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLXRoZW4tY2xlYXIt
ZXhwZWN0ZWQudHh0CmluZGV4IDg1OWI1MjU3YjU4MGVkN2QxZmI4NWJmYjhlMDE1NTQxMzFiYTQw
ODcuLjk1ZDMzZmE1OTk2ZWZlYjg2MmJhMWJiMjk4OWMyYmM1NmEyMmY4YWIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL2J1ZmZlci1mdWxsLWFkZC10aGVuLWNsZWFyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZm
ZXItZnVsbC1hZGQtdGhlbi1jbGVhci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLVBB
U1MgVGVzdCB0aGF0IGlmIHRoZSBidWZmZXIgaXMgY2xlYXJlZCBhZnRlciBlbnRyaWVzIHdlcmUg
YWRkZWQgdG8gdGhlIHNlY29uZGFyeSBidWZmZXIsIHRob3NlIGVudHJpZXMgbWFrZSBpdCBpbnRv
IHRoZSBwcmltYXJ5IG9uZQorRkFJTCBUZXN0IHRoYXQgaWYgdGhlIGJ1ZmZlciBpcyBjbGVhcmVk
IGFmdGVyIGVudHJpZXMgd2VyZSBhZGRlZCB0byB0aGUgc2Vjb25kYXJ5IGJ1ZmZlciwgdGhvc2Ug
ZW50cmllcyBtYWtlIGl0IGludG8gdGhlIHByaW1hcnkgb25lIGFzc2VydF9lcXVhbHM6IHRoZSBs
YXN0IDMgcmVzb3VyY2VzIHNob3VsZCBiZSBpbiB0aGUgYnVmZmVyLCBzaW5jZSB0aGUgZmlyc3Qg
b25lIHdhcyBjbGVhcmVkIGV4cGVjdGVkIDMgYnV0IGdvdCAyCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1
ZmZlci1mdWxsLWFkZC10aGVuLWNsZWFyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtdGhlbi1j
bGVhci5odG1sCmluZGV4IDcxMDg1MmNlZDU1ZjcxNmEzNDhjYzllNjg2NWQ3YThiNzA0OGE0NmEu
LjMyYWM1OTQ4MWY5OTk4MTkwM2ZhNGE4ZjA5M2Y2MDFjZmZhNzcxNTAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2J1ZmZlci1mdWxsLWFkZC10aGVuLWNsZWFyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRk
LXRoZW4tY2xlYXIuaHRtbApAQCAtNiw2ICs2LDcgQEAKIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0i
aHR0cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNwZXJmb3JtYW5jZXJlc291cmNl
dGltaW5nIi8+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy9idWZmZXItZnVsbC11dGlsaXRpZXMuanMiPjwvc2Ny
aXB0PgogPC9oZWFkPgogPGJvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbmNyZWFz
ZS1idWZmZXItZHVyaW5nLWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbmNyZWFzZS1i
dWZmZXItZHVyaW5nLWNhbGxiYWNrLmh0bWwKaW5kZXggYjQ2ZDJkNjU2OTBhODg2ODM3YjhlYTc2
MjFmMzkyNjA4MTU1MmQ5Ny4uZGQxMmRkN2FmYTliZTE4YmJkZTQ2NDIxMmRjMDgxNzc5NjhkYTdk
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5jcmVhc2UtYnVmZmVyLWR1cmluZy1jYWxs
YmFjay5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluY3JlYXNlLWJ1ZmZlci1kdXJpbmctY2Fs
bGJhY2suaHRtbApAQCAtMyw0NiArMywyMyBAQAogPGhlYWQgb25sb2FkPgogPG1ldGEgY2hhcnNl
dD0idXRmLTgiIC8+CiA8dGl0bGU+VGhpcyB0ZXN0IHZhbGlkYXRlcyBpbmNyZWFzaW5nIHRoZSBi
dWZmZXIgc2l6ZSBpbiBvbnJlc291cmNldGltaW5nYnVmZmVyZnVsbCBjYWxsYmFjayBvZiByZXNv
dXJjZSB0aW1pbmcuPC90aXRsZT4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53
My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNwZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+Cis8
bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUu
Y29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jl
c291cmNlLXRpbWluZy0yLyNkb20tcGVyZm9ybWFuY2Utb25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1
bGwiLz4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+CiA8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL2J1ZmZlci1mdWxsLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+
CiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+Ci1jb25zdCByZXNvdXJjZV90aW1pbmdfYnVmZmVy
X3NpemUgPSAxOwotbGV0IGV2ZW50RmlyZWQgPSBmYWxzZTsKLQotc2V0dXAoKCkgPT4gewotICAg
IC8vIEdldCB0aGUgYnJvd3NlciBpbnRvIGEgY29uc2lzdGVudCBzdGF0ZS4KLSAgICBjbGVhckJ1
ZmZlckFuZFNldFNpemUocmVzb3VyY2VfdGltaW5nX2J1ZmZlcl9zaXplKTsKLSAgICB2YXIgaW5j
cmVhc2UgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgcGVyZm9ybWFuY2Uuc2V0UmVzb3VyY2VUaW1p
bmdCdWZmZXJTaXplKHJlc291cmNlX3RpbWluZ19idWZmZXJfc2l6ZSAqIDIpOwotICAgICAgICBl
dmVudEZpcmVkID0gdHJ1ZTsKLSAgICB9Ci0gICAgcGVyZm9ybWFuY2UuYWRkRXZlbnRMaXN0ZW5l
cigncmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsJywgaW5jcmVhc2UpOwotfSk7Ci0KLWxldCBvdmVy
Zmxvd1RoZUJ1ZmZlciA9ICgpID0+IHsKLSAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9
PiB7Ci0gICAgICAgIC8vIFRoaXMgcmVzb3VyY2Ugb3ZlcmZsb3dzIHRoZSBlbnRyeSBidWZmZXIs
IGFuZCBnb2VzIGludG8gdGhlIHNlY29uZGFyeSBidWZmZXIuCi0gICAgICAgIGFwcGVuZFNjcmlw
dCgncmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5qcycsIHJlc29sdmUpOwotICAgIH0pOwotfTsKLQot
bGV0IHRlc3RUaGF0QnVmZmVyQ29udGFpbnNUaGVSaWdodFJlc291cmNlcyA9ICgpID0+IHsKLSAg
ICBsZXQgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7
Ci0gICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMiwKLSAgICAgICAgICAgICAgICAg
ICdCb3RoIGVudHJpZXMgc2hvdWxkIGJlIHN0b3JlZCBpbiByZXNvdXJjZSB0aW1pbmcgYnVmZmVy
IHNpbmNlIGl0cyBpbmNyZWFzZXMgc2l6ZSBvbmNlIGl0IG92ZXJmbG93cy4nKTsKLSAgICBhc3Nl
cnRfdHJ1ZShlbnRyaWVzWzBdLm5hbWUuaW5jbHVkZXMoJ2VtcHR5LmpzJyksICJlbXB0eS5qcyBp
cyBpbiB0aGUgZW50cmllcyBidWZmZXIiKTsKLSAgICBhc3NlcnRfdHJ1ZShlbnRyaWVzWzFdLm5h
bWUuaW5jbHVkZXMoJ2VtcHR5X3NjcmlwdC5qcycpLCAiZW1wdHlfc2NyaXB0LmpzIGlzIGluIHRo
ZSBlbnRyaWVzIGJ1ZmZlciIpOwotfTsKLQogcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKLSAg
ICBhd2FpdCBmaWxsVXBUaGVCdWZmZXJXaXRoU2luZ2xlUmVzb3VyY2UoInJlc291cmNlcy9lbXB0
eS5qcyIpOwotICAgIGF3YWl0IG92ZXJmbG93VGhlQnVmZmVyKCk7Ci0gICAgYXdhaXQgd2FpdEZv
ckV2ZW50VG9GaXJlKCk7Ci0gICAgdGVzdFRoYXRCdWZmZXJDb250YWluc1RoZVJpZ2h0UmVzb3Vy
Y2VzKCk7CisgICAgYXdhaXQgZmlsbFVwVGhlQnVmZmVyV2l0aFNpbmdsZVJlc291cmNlKCk7Cisg
ICAgcGVyZm9ybWFuY2UuYWRkRXZlbnRMaXN0ZW5lcigncmVzb3VyY2V0aW1pbmdidWZmZXJmdWxs
JywgKCkgPT4geworICAgICAgICBwZXJmb3JtYW5jZS5zZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNp
emUoMik7CisgICAgfSk7CisgICAgYXdhaXQgbG9hZC5zY3JpcHQoc2NyaXB0UmVzb3VyY2VzWzFd
KTsKKyAgICBhd2FpdCBidWZmZXJGdWxsRmlyZVByb21pc2U7CisgICAgY2hlY2tFbnRyaWVzKDIp
OwogfSwgIlRlc3QgdGhhdCBpbmNyZWFzaW5nIHRoZSBidWZmZXIgZHVyaW5nIHRoZSBjYWxsYmFj
ayBpcyBlbm91Z2ggZm9yIGVudHJpZXMgbm90IHRvIGJlIGRyb3BwZWQiKTsKIDwvc2NyaXB0Pgog
PC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5zcGVjdC1idWZmZXItZHVyaW5n
LWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluc3BlY3QtYnVmZmVyLWR1
cmluZy1jYWxsYmFjay1leHBlY3RlZC50eHQKaW5kZXggZjBjNGVmYTAzMDhjYzk5Mzk3ZTQ5YjRi
ZTU3YmNmYzc0ZTVmZDUyZi4uN2EwZTY5N2Q0YWUwMjBjMzc5ZDQ0NjNhNGU0N2QxYzk4ODFlZDMz
MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5zcGVjdC1idWZmZXItZHVyaW5nLWNhbGxi
YWNrLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbnNwZWN0LWJ1ZmZlci1kdXJp
bmctY2FsbGJhY2stZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNSBAQAogCi1QQVNTIFRlc3QgdGhh
dCBlbnRyaWVzIGluIHRoZSBzZWNvbmRhcnkgYnVmZmVyIGFyZSBub3QgZXhwb3NlZCBkdXJpbmcg
dGhlIGNhbGxiYWNrIGFuZCBiZWZvcmUgdGhleSBhcmUgY29waWVkIHRvIHRoZSBwcmltYXJ5IGJ1
ZmZlcgorSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQg
VGVzdCB0aGF0IGVudHJpZXMgaW4gdGhlIHNlY29uZGFyeSBidWZmZXIgYXJlIG5vdCBleHBvc2Vk
IGR1cmluZyB0aGUgY2FsbGJhY2sgYW5kIGJlZm9yZSB0aGV5IGFyZSBjb3BpZWQgdG8gdGhlIHBy
aW1hcnkgYnVmZmVyIFRlc3QgdGltZWQgb3V0CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxs
LWluc3BlY3QtYnVmZmVyLWR1cmluZy1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5z
cGVjdC1idWZmZXItZHVyaW5nLWNhbGxiYWNrLmh0bWwKaW5kZXggZDQ2ZDQ2OTJhNTViOWNiZWYx
YWE1Zjg4MmYzODg4N2UxZjc5NDBlOS4uZDRhYjA0Y2RkMzQ1Yzk1MzA0ZmE2YjNlZjViZDM3OTIy
YzA1ZWEyYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5zcGVjdC1idWZmZXItZHVyaW5n
LWNhbGxiYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5zcGVjdC1idWZmZXItZHVyaW5n
LWNhbGxiYWNrLmh0bWwKQEAgLTYsNiArNiw3IEBACiA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0
dHA6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jcGVyZm9ybWFuY2VyZXNvdXJjZXRp
bWluZyIvPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzIj48L3Njcmlw
dD4KIDwvaGVhZD4KIDxib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc2V0LXRvLWN1
cnJlbnQtYnVmZmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXNldC10by1jdXJyZW50
LWJ1ZmZlci1leHBlY3RlZC50eHQKaW5kZXggOGMzNTY5ZDY1ODg5ZDM0ZDA3OGRjYTk2N2ZiNTNm
YzlkYWE4NTQ2Yy4uZWUyZDA3NjNjY2E4MTI4OGZhNmRlMzkxZGY3NzY3MjFkNzI4ZGE3MyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc2V0LXRvLWN1cnJlbnQtYnVmZmVyLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9idWZmZXItZnVsbC1zZXQtdG8tY3VycmVudC1idWZmZXItZXhwZWN0ZWQudHh0
CkBAIC0xLDMgKzEsNSBAQAogCi1QQVNTIFRlc3QgdGhhdCBlbnRyaWVzIGFkZGVkIGFuZCBldmVu
dCBmaXJpbmcgaGFwcGVuZWQgaW4gdGhlIHJpZ2h0IHNlcXVlbmNlCitIYXJuZXNzIEVycm9yIChU
SU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBUZXN0IHRoYXQgYWRkaW5nIGVudHJp
ZXMgYW5kIGZpcmluZyB0aGUgYnVmZmVyIGZ1bGwgZXZlbnQgaGFwcGVuIGluIHRoZSByaWdodCBv
cmRlci4gVGVzdCB0aW1lZCBvdXQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc2V0LXRv
LWN1cnJlbnQtYnVmZmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zZXQtdG8tY3VycmVudC1idWZm
ZXIuaHRtbAppbmRleCAxZTU0ODZlYzJjZGZjNDQyODc2YmExZjViMmM1MjQ5ODVlNzBlNWI1Li5k
YzUyN2I5YTMyZjUxNDlmZGU0YmU4NmQzYjJhZTVkODFmZDJkNGM3IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9i
dWZmZXItZnVsbC1zZXQtdG8tY3VycmVudC1idWZmZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVs
bC1zZXQtdG8tY3VycmVudC1idWZmZXIuaHRtbApAQCAtMiw4MSArMiwzMyBAQAogPGh0bWw+CiA8
aGVhZD4KIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0
cHM6Ly93M2MuZ2l0aHViLmlvL3Jlc291cmNlLXRpbWluZy8jZG9tLXBlcmZvcm1hbmNlLXNldHJl
c291cmNldGltaW5nYnVmZmVyc2l6ZSI+CiA8dGl0bGU+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0
IHNldFJlc291cmNlVGltaW5nQnVmZmVyRnVsbCBiZWhhdmVzIGFwcHJvcHJpYXRlbHkgd2hlbiBz
ZXQgdG8gdGhlIGN1cnJlbnQgYnVmZmVyIGxldmVsLjwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhv
ciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0y
LyNkb20tcGVyZm9ybWFuY2Utb25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwiPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJl
c291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5
PgogPHNjcmlwdD4KLWxldCBldmVudEZpcmVkID0gZmFsc2U7Ci0KLWxldCBsb2FkUmFuZG9tUmVz
b3VyY2UgPSAoKSA9PiB7Ci0gICAgcmV0dXJuIGZldGNoKHdpbmRvdy5sb2NhdGlvbi5ocmVmICsg
Ij8iICsgTWF0aC5yYW5kb20oKSk7Ci19OwotCi1zZXR1cCgoKSA9PiB7Ci0gICAgLy8gR2V0IHRo
ZSBicm93c2VyIGludG8gYSBjb25zaXN0ZW50IHN0YXRlLgotICAgIGNsZWFyQnVmZmVyQW5kU2V0
U2l6ZSgxMDApOwotICAgIHdpbmRvdy5yZXN1bHQgPSAiIjsKLX0pOwotCi1sZXQgZmlsbFVwVGhl
QnVmZmVyID0gKCkgPT4gewotICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAg
ICAgICAgLy8gR2F0aGVyIHVwIDMgUmVzb3VyY2UgRW50cmllcyB0byBraWNrIG9mZiB0aGUgcmVz
dCBvZiB0ZXN0IGJlaGF2aW9yLgotICAgICAgICBsZXQgcmVzb3VyY2VzID0gMDsKLSAgICAgICAg
bGV0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIobGlzdCA9PiB7Ci0gICAgICAg
ICAgICByZXNvdXJjZXMgKz0gbGlzdC5nZXRFbnRyaWVzQnlUeXBlKCJyZXNvdXJjZSIpLmxlbmd0
aDsKLSAgICAgICAgICAgIGlmIChyZXNvdXJjZXMgIT09IDMpCi0gICAgICAgICAgICAgICAgcmV0
dXJuOwotICAgICAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOwotICAgICAgICAgICAgcmVz
b2x2ZSgpOwotICAgICAgICB9KTsKLSAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBl
czogWyJyZXNvdXJjZSJdfSk7Ci0gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMzsgKytpKQot
ICAgICAgICAgICAgbG9hZFJhbmRvbVJlc291cmNlKCk7Ci0gICAgfSk7Ci19OwotCi1sZXQgc2V0
QnVmZmVyU2l6ZSA9ICgpID0+IHsKLSAgICBwZXJmb3JtYW5jZS5vbnJlc291cmNldGltaW5nYnVm
ZmVyZnVsbCA9ICgpID0+IHsKLSAgICAgICAgZXZlbnRGaXJlZCA9IHRydWU7Ci0gICAgICAgIHdp
bmRvdy5yZXN1bHQgKz0gIkV2ZW50IEZpcmVkIHdpdGggIiAgKyBwZXJmb3JtYW5jZS5nZXRFbnRy
aWVzQnlUeXBlKCJyZXNvdXJjZSIpLmxlbmd0aCArICIgZW50cmllcy4gIjsKK3Byb21pc2VfdGVz
dChhc3luYyAoKSA9PiB7CisgICAgbGV0IHJlc3VsdCA9ICcnOworICAgIHBlcmZvcm1hbmNlLmFk
ZEV2ZW50TGlzdGVuZXIoJ3Jlc291cmNldGltaW5nYnVmZmVyZnVsbCcsICgpID0+IHsKKyAgICAg
ICAgcmVzdWx0ICs9ICdFdmVudCBGaXJlZCB3aXRoICcgICsKKyAgICAgICAgICAgIHBlcmZvcm1h
bmNlLmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJykubGVuZ3RoICsgJyBlbnRyaWVzLic7CiAg
ICAgICAgIHBlcmZvcm1hbmNlLmNsZWFyUmVzb3VyY2VUaW1pbmdzKCk7Ci0gICAgfTsKLSAgICB3
aW5kb3cucmVzdWx0ICs9ICJiZWZvcmUgc2V0TGltaXQoMykuICI7Ci0gICAgcGVyZm9ybWFuY2Uu
c2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKDMpOwotICAgIHdpbmRvdy5yZXN1bHQgKz0gImFm
dGVyIHNldExpbWl0KDMpLiAiOwotfTsKLQotbGV0IG92ZXJmbG93VGhlQnVmZmVyID0gKCkgPT4g
ewotICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgICAgbG9hZFJhbmRv
bVJlc291cmNlKCkudGhlbigoKSA9PiB7Ci0gICAgICAgICAgICB3aW5kb3cucmVzdWx0ICs9ICJh
ZnRlciBsb2FkaW5nIDR0aCByZXNvdXJjZS4gIjsKLSAgICAgICAgICAgIHJlc29sdmUoKTsKLSAg
ICAgICAgfSk7CiAgICAgfSk7Ci19OwotCi1sZXQgY2hlY2tSZXN1bHQgPSAoKSA9PiB7Ci0gICAg
cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKLSAgICAgICAgaWYgKHdp
bmRvdy5yZXN1bHQgIT0gImJlZm9yZSBzZXRMaW1pdCgzKS4gYWZ0ZXIgc2V0TGltaXQoMykuIGFm
dGVyIGxvYWRpbmcgNHRoIHJlc291cmNlLiBFdmVudCBGaXJlZCB3aXRoIDMgZW50cmllcy4gIikg
ewotICAgICAgICAgICAgcmVqZWN0KCJOb24gbWF0Y2hpbmcgdmFsdWU6ICIgKyB3aW5kb3cucmVz
dWx0KTsKLSAgICAgICAgfQotICAgICAgICBsZXQgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVu
dHJpZXNCeVR5cGUoInJlc291cmNlIik7Ci0gICAgICAgIGlmIChlbnRyaWVzLmxlbmd0aCAhPSAx
KSB7Ci0gICAgICAgICAgICByZWplY3QoIk51bWJlciBvZiBlbnRyaWVzIGluIHJlc291cmNlIHRp
bWluZyBidWZmZXIgaXMgdW5leHBlY3RlZDogIiArIGVudHJpZXMubGVuZ3RoKTsKLSAgICAgICAg
fQotICAgICAgICByZXNvbHZlKCk7Ci0gICAgfSk7Ci19OwotCi1wcm9taXNlX3Rlc3QoYXN5bmMg
KCkgPT4gewotICAgIGF3YWl0IGZpbGxVcFRoZUJ1ZmZlcigpOwotICAgIHNldEJ1ZmZlclNpemUo
KTsKLSAgICBhd2FpdCBvdmVyZmxvd1RoZUJ1ZmZlcigpOwotICAgIGF3YWl0IHdhaXRGb3JFdmVu
dFRvRmlyZSgpOwotICAgIGF3YWl0IGNoZWNrUmVzdWx0KCk7Ci19LCAiVGVzdCB0aGF0IGVudHJp
ZXMgYWRkZWQgYW5kIGV2ZW50IGZpcmluZyBoYXBwZW5lZCBpbiB0aGUgcmlnaHQgc2VxdWVuY2Ui
KTsKKyAgICByZXN1bHQgKz0gJ0JlZm9yZSBhZGRpbmcgZW50cmllcy4gJzsKKyAgICBhd2FpdCBm
aWxsVXBUaGVCdWZmZXJXaXRoVHdvUmVzb3VyY2VzKCk7CisgICAgcmVzdWx0ICs9ICdBZnRlciBh
ZGRpbmcgZW50cmllcy4gJzsKKyAgICBsb2FkLnNjcmlwdChzY3JpcHRSZXNvdXJjZXNbMl0pOwor
ICAgIGF3YWl0IGJ1ZmZlckZ1bGxGaXJlUHJvbWlzZTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3Vs
dCwgJ0JlZm9yZSBhZGRpbmcgZW50cmllcy4gQWZ0ZXIgYWRkaW5nIGVudHJpZXMuIEV2ZW50IEZp
cmVkIHdpdGggMiBlbnRyaWVzLicpOworICAgIGNvbnN0IGVudHJpZXMgPSBwZXJmb3JtYW5jZS5n
ZXRFbnRyaWVzQnlUeXBlKCdyZXNvdXJjZScpOworICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5s
ZW5ndGgsIDEsCisgICAgICAgICdOdW1iZXIgb2YgZW50cmllcyBpbiByZXNvdXJjZSB0aW1pbmcg
YnVmZmVyIGlzIHVuZXhwZWN0ZWQnKTsKKyAgICBhc3NlcnRfdHJ1ZShlbnRyaWVzWzBdLm5hbWUu
aW5jbHVkZXMoc2NyaXB0UmVzb3VyY2VzWzJdKSwKKyAgICAgICAgJ1RoZSBlbnRyeSBtdXN0IGNv
cnJlc3BvbmQgdG8gdGhlIGxhc3QgcmVzb3VyY2UgbG9hZGVkLicpCit9LCAiVGVzdCB0aGF0IGFk
ZGluZyBlbnRyaWVzIGFuZCBmaXJpbmcgdGhlIGJ1ZmZlciBmdWxsIGV2ZW50IGhhcHBlbiBpbiB0
aGUgcmlnaHQgb3JkZXIuIik7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxs
LXN0b3JlLWFuZC1jbGVhci1kdXJpbmctY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVy
LWZ1bGwtc3RvcmUtYW5kLWNsZWFyLWR1cmluZy1jYWxsYmFjay1leHBlY3RlZC50eHQKaW5kZXgg
YmYyNzU1ZmM0Mjg4MmEyNTE3Y2JkNGRiMzQxZDU1ZjUxYzYyNjI2ZS4uMzdmMGNmMTk5ZTk0Mjdk
YzdhODczMGFlNjM5NzQ0NTQ0NTgwMzc1MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc3Rv
cmUtYW5kLWNsZWFyLWR1cmluZy1jYWxsYmFjay1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVy
LWZ1bGwtc3RvcmUtYW5kLWNsZWFyLWR1cmluZy1jYWxsYmFjay1leHBlY3RlZC50eHQKQEAgLTEs
MyArMSw1IEBACiAKLVBBU1MgVGVzdCB0aGF0IGVudHJpZXMgb3ZlcmZsb3dpbmcgdGhlIGJ1ZmZl
ciB0cmlnZ2VyIHRoZSBidWZmZXIgZnVsbCBldmVudCwgY2FuIGJlIHN0b3JlZCwgYW5kIGZpbmQg
dGhlbXNlbHZlcyBpbiB0aGUgcHJpbWFyeSBidWZmZXIgYWZ0ZXIgaXQncyBjbGVhcmVkLgorSGFy
bmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgVGVzdCB0aGF0
IGVudHJpZXMgb3ZlcmZsb3dpbmcgdGhlIGJ1ZmZlciB0cmlnZ2VyIHRoZSBidWZmZXIgZnVsbCBl
dmVudCwgY2FuIGJlIHN0b3JlZCwgYW5kIG1ha2UgdGhlaXIgd2F5IHRvIHRoZSBwcmltYXJ5IGJ1
ZmZlciBhZnRlciBpdCdzIGNsZWFyZWQgaW4gdGhlIGJ1ZmZlciBmdWxsIGV2ZW50LiBUZXN0IHRp
bWVkIG91dAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zdG9yZS1hbmQtY2xlYXItZHVy
aW5nLWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zdG9yZS1hbmQtY2xlYXItZHVyaW5n
LWNhbGxiYWNrLmh0bWwKaW5kZXggZjA3OTFjYmE2YjM5ZmI0YjdlMWFmMDkwNzc3NzJmMWVlM2I0
Mjc0NC4uM2VhMDU3NzI1NmM4NWIzNTQ1MzM1OGQxOGM5NzBlNGZiMzA0NWM0YyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvYnVmZmVyLWZ1bGwtc3RvcmUtYW5kLWNsZWFyLWR1cmluZy1jYWxsYmFjay5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2J1ZmZlci1mdWxsLXN0b3JlLWFuZC1jbGVhci1kdXJpbmctY2FsbGJhY2suaHRtbApA
QCAtNCw1MiArNCwzMyBAQAogPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+CiA8dGl0bGU+VGhpcyB0
ZXN0IHZhbGlkYXRlcyB0aGUgYmVoYXZpb3Igb2YgcmVhZCBhbmQgY2xlYXIgb3BlcmF0aW9uIGlu
IG9ucmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIGNhbGxiYWNrIG9mIHJlc291cmNlIHRpbWluZy48
L3RpdGxlPgogPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJJbnRlbCIgaHJlZj0iaHR0cDovL3d3
dy5pbnRlbC5jb20vIiAvPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9y
Zy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0y
LyNkb20tcGVyZm9ybWFuY2Utb25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwiLz4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL2J1ZmZlci1mdWxsLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9k
eT4KIDxzY3JpcHQ+Ci1jb25zdCByZXNvdXJjZV90aW1pbmdfYnVmZmVyX3NpemUgPSAxOwotbGV0
IGdsb2JhbF9idWZmZXIgPSBbXTsKLWxldCBldmVudEZpcmVkID0gZmFsc2U7Ci0KLXNldHVwKCgp
ID0+IHsKLSAgICBjbGVhckJ1ZmZlckFuZFNldFNpemUocmVzb3VyY2VfdGltaW5nX2J1ZmZlcl9z
aXplKTsKLSAgICBsZXQgc3RvcmVfYW5kX2NsZWFyID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgIGNv
bnN0IGVudHJ5TGlzdCA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7
Ci0gICAgICAgIGVudHJ5TGlzdC5mb3JFYWNoKGZ1bmN0aW9uIChlbnRyeSkgewotICAgICAgICAg
ICAgZ2xvYmFsX2J1ZmZlci5wdXNoKGVudHJ5KTsKLSAgICAgICAgfSk7Ci0gICAgICAgIHBlcmZv
cm1hbmNlLmNsZWFyUmVzb3VyY2VUaW1pbmdzKCk7Ci0gICAgICAgIGV2ZW50RmlyZWQgPSB0cnVl
OwotICAgIH0KLSAgICBwZXJmb3JtYW5jZS5hZGRFdmVudExpc3RlbmVyKCdyZXNvdXJjZXRpbWlu
Z2J1ZmZlcmZ1bGwnLCBzdG9yZV9hbmRfY2xlYXIpOwotfSk7Ci0KLWxldCBvdmVyZmxvd1RoZUJ1
ZmZlciA9ICgpID0+IHsKLSAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0gICAg
ICAgIC8vIFRoaXMgcmVzb3VyY2Ugb3ZlcmZsb3dzIHRoZSBlbnRyeSBidWZmZXIsIGFuZCBnb2Vz
IGludG8gdGhlIHNlY29uZGFyeSBidWZmZXIuCi0gICAgICAgIGFwcGVuZFNjcmlwdCgncmVzb3Vy
Y2VzL2VtcHR5X3NjcmlwdC5qcycsIHJlc29sdmUpOworcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+
IHsKKyAgICBhd2FpdCBmaWxsVXBUaGVCdWZmZXJXaXRoU2luZ2xlUmVzb3VyY2UoKTsKKyAgICBj
b25zdCBlbnRyeUJ1ZmZlciA9IFtdOworICAgIHBlcmZvcm1hbmNlLmFkZEV2ZW50TGlzdGVuZXIo
J3Jlc291cmNldGltaW5nYnVmZmVyZnVsbCcsICgpID0+IHsKKyAgICAgIGVudHJ5QnVmZmVyLnB1
c2goLi4ucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKSk7CisgICAgICBw
ZXJmb3JtYW5jZS5jbGVhclJlc291cmNlVGltaW5ncygpOwogICAgIH0pOwotfTsKLQotbGV0IHRl
c3RUaGF0QnVmZmVyQ29udGFpbnNUaGVSaWdodFJlc291cmNlcyA9ICgpID0+IHsKLSAgICBsZXQg
ZW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7CisgICAg
bG9hZC5zY3JpcHQoc2NyaXB0UmVzb3VyY2VzWzFdKTsKKyAgICBhd2FpdCBidWZmZXJGdWxsRmly
ZVByb21pc2U7CisgICAgY29uc3QgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5
cGUoJ3Jlc291cmNlJyk7CiAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwKLSAg
ICAgICAgICAgICAgICAgICJPbmx5IHRoZSBsYXN0IGVudHJ5IHNob3VsZCBiZSBzdG9yZWQgaW4g
cmVzb3VyY2UgdGltaW5nIGJ1ZmZlciBzaW5jZSBpdCdzIGNsZWFyZWQgb25jZSBpdCBvdmVyZmxv
d3MuIik7Ci0gICAgYXNzZXJ0X2VxdWFscyhnbG9iYWxfYnVmZmVyLmxlbmd0aCwgMSwgJzEgcmVz
b3VyY2UgdGltaW5nIGVudHJ5IHNob3VsZCBiZSBtb3ZlZCB0byBnbG9iYWwgYnVmZmVyLicpOwot
ICAgIGFzc2VydF90cnVlKGdsb2JhbF9idWZmZXJbMF0ubmFtZS5pbmNsdWRlcygnZW1wdHkuanMn
KSwgImVtcHR5LmpzIGlzIGluIHRoZSBnbG9iYWwgYnVmZmVyIik7Ci0gICAgYXNzZXJ0X3RydWUo
ZW50cmllc1swXS5uYW1lLmluY2x1ZGVzKCdlbXB0eV9zY3JpcHQuanMnKSwgImVtcHR5X3Njcmlw
dC5qcyBpcyBpbiB0aGUgZW50cmllcyBidWZmZXIiKTsKLX07Ci0KLXByb21pc2VfdGVzdChhc3lu
YyAoKSA9PiB7Ci0gICAgYXdhaXQgZmlsbFVwVGhlQnVmZmVyV2l0aFNpbmdsZVJlc291cmNlKCJy
ZXNvdXJjZXMvZW1wdHkuanMiKTsKLSAgICBhd2FpdCBvdmVyZmxvd1RoZUJ1ZmZlcigpOwotICAg
IGF3YWl0IHdhaXRGb3JFdmVudFRvRmlyZSgpOwotICAgIHRlc3RUaGF0QnVmZmVyQ29udGFpbnNU
aGVSaWdodFJlc291cmNlcygpOwotfSwgIlRlc3QgdGhhdCBlbnRyaWVzIG92ZXJmbG93aW5nIHRo
ZSBidWZmZXIgdHJpZ2dlciB0aGUgYnVmZmVyIGZ1bGwgZXZlbnQsIGNhbiBiZSBzdG9yZWQsIGFu
ZCBmaW5kIHRoZW1zZWx2ZXMgaW4gdGhlIHByaW1hcnkgYnVmZmVyIGFmdGVyIGl0J3MgY2xlYXJl
ZC4iKTsKKyAgICAgICAgIk9ubHkgdGhlIGxhc3QgZW50cnkgc2hvdWxkIGJlIHN0b3JlZCBpbiBy
ZXNvdXJjZSB0aW1pbmcgYnVmZmVyIHNpbmNlIGl0J3MgY2xlYXJlZCBvbmNlIGl0IG92ZXJmbG93
cy4iKTsKKyAgICBhc3NlcnRfdHJ1ZShlbnRyaWVzWzBdLm5hbWUuaW5jbHVkZXMoc2NyaXB0UmVz
b3VyY2VzWzFdKSwKKyAgICAgICAgc2NyaXB0UmVzb3VyY2VzWzFdICArICIgaXMgaW4gdGhlIGVu
dHJpZXMgYnVmZmVyIik7CisgICAgYXNzZXJ0X2VxdWFscyhlbnRyeUJ1ZmZlci5sZW5ndGgsIDEs
CisgICAgICAgICcxIHJlc291cmNlIHRpbWluZyBlbnRyeSBzaG91bGQgYmUgbW92ZWQgdG8gZW50
cnlCdWZmZXIuJyk7CisgICAgYXNzZXJ0X3RydWUoZW50cnlCdWZmZXJbMF0ubmFtZS5pbmNsdWRl
cyhzY3JpcHRSZXNvdXJjZXNbMF0pLAorICAgICAgICBzY3JpcHRSZXNvdXJjZXNbMF0gKyAnIGlz
IGluIHRoZSBlbnRyeUJ1ZmZlcicpOworfSwgIlRlc3QgdGhhdCBlbnRyaWVzIG92ZXJmbG93aW5n
IHRoZSBidWZmZXIgdHJpZ2dlciB0aGUgYnVmZmVyIGZ1bGwgZXZlbnQsIGNhbiBiZSBzdG9yZWQs
IGFuZCBtYWtlIHRoZWlyIHdheSB0byB0aGUgcHJpbWFyeSBidWZmZXIgYWZ0ZXIgaXQncyBjbGVh
cmVkIGluIHRoZSBidWZmZXIgZnVsbCBldmVudC4iKTsKIDwvc2NyaXB0PgogPC9ib2R5PgogPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQtZXhwZWN0ZWQudHh0CmluZGV4IGVm
YmI2OTc0YmE3M2FlZDkwMGMwNWZjNTFlZmQzNzgzNDUwODI5MTkuLjZmOWUzZjgyZDAxMWM4MzE5
NDgxYWVhOTJiZmUyMTRhYzdhZTYwN2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXRoZW4t
aW5jcmVhc2VkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC10aGVuLWluY3JlYXNl
ZC1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLVBBU1MgVGVzdCB0aGF0IG92ZXJmbG93
aW5nIHRoZSBidWZmZXIgYW5kIGltbWVkaWF0ZWx5IGluY3JlYXNpbmcgaXRzIGxpbWl0IGRvZXMg
bm90IHRyaWdnZXIgdGhlIHJlc291cmNldGltaW5nYnVmZmVyZnVsbCBldmVudAorRkFJTCBUZXN0
IHRoYXQgb3ZlcmZsb3dpbmcgdGhlIGJ1ZmZlciBhbmQgaW1tZWRpYXRlbHkgaW5jcmVhc2luZyBp
dHMgbGltaXQgZG9lcyBub3QgdHJpZ2dlciB0aGUgcmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIGV2
ZW50IGFzc2VydF9lcXVhbHM6IEFsbCByZXNvdXJjZXMgc2hvdWxkIGJlIGluIHRoZSBidWZmZXIs
IHNpbmNlIGl0cyBzaXplIHdhcyBpbmNyZWFzZWQgZXhwZWN0ZWQgMyBidXQgZ290IDIKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1m
dWxsLXRoZW4taW5jcmVhc2VkLmh0bWwKaW5kZXggMjI2NTA3N2ZjMTVhMjc3YzMzNTJkYTIxNWZh
NWFjOGEyNzZjNjBhYS4uNjUyYWQxOTIxZDNkNTk3NjhiNzJkNDVmYjY5ZTdkOTRlZDczMDUyNyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9i
dWZmZXItZnVsbC10aGVuLWluY3JlYXNlZC5odG1sCkBAIC02LDYgKzYsNyBAQAogPGxpbmsgcmVs
PSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZv
cm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVy
cy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2J1ZmZlci1mdWxsLXV0aWxp
dGllcy5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZl
ci1mdWxsLXdoZW4tcG9wdWxhdGUtZW50cmllcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVs
bC13aGVuLXBvcHVsYXRlLWVudHJpZXMtZXhwZWN0ZWQudHh0CmluZGV4IDM0ZWM4MTg1ODlkNjVl
OTE4YTNhYjk0MzY3MjZkMTQyMTMxMTVlNzYuLmYxOWZmMTg2M2Q3OWM5MzkzOGMyNGM5Y2Y2NWUy
NTVjMWJlN2ZhNmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXdoZW4tcG9wdWxhdGUtZW50
cmllcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtd2hlbi1wb3B1bGF0ZS1lbnRy
aWVzLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotUEFTUyBUZXN0IHRoYXQgYSBidWZm
ZXIgZnVsbCBldmVudCBkb2VzIG5vdCBidWJibGUgYW5kIHRoYXQgcmVzb3VyY2V0aW1pbmdidWZm
ZXJmdWxsIGlzIGNhbGxlZCBvbmx5IG9uY2UgcGVyIG92ZXJmbG93CitGQUlMIFRlc3QgdGhhdCBh
IGJ1ZmZlciBmdWxsIGV2ZW50IGRvZXMgbm90IGJ1YmJsZSBhbmQgdGhhdCByZXNvdXJjZXRpbWlu
Z2J1ZmZlcmZ1bGwgaXMgY2FsbGVkIG9ubHkgb25jZSBwZXIgb3ZlcmZsb3cgYXNzZXJ0X2VxdWFs
czogTnVtYmVyIG9mIGVudHJpZXMgZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIHZhbHVlLiBl
eHBlY3RlZCAyIGJ1dCBnb3QgMAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC13aGVuLXBv
cHVsYXRlLWVudHJpZXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXdoZW4tcG9wdWxhdGUtZW50cmll
cy5odG1sCmluZGV4IDAwZDJhZTBlNDQyNmY0NjQ0ZjcwZTkyMTc1MWZmZmMzMjdkZTQ2ZDYuLmY0
YjFhMmU3ZTdhYmJhMjVjNzhlNGMxZGJlMGIxYWJhMjkwNjFkNDcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1
ZmZlci1mdWxsLXdoZW4tcG9wdWxhdGUtZW50cmllcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxs
LXdoZW4tcG9wdWxhdGUtZW50cmllcy5odG1sCkBAIC0yLDQ0ICsyLDI4IEBACiA8aHRtbD4KIDxo
ZWFkPgogPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Ci08bGluayByZWw9ImF1dGhvciIgdGl0bGU9
IkludGVsIiBocmVmPSJodHRwOi8vd3d3LmludGVsLmNvbS8iIC8+Ci08bGluayByZWw9ImhlbHAi
IGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jcGVyZm9ybWFuY2Vy
ZXNvdXJjZXRpbWluZyIvPgogPHRpdGxlPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIGZ1bmN0aW9u
YWxpdHkgb2Ygb25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwgaW4gcmVzb3VyY2UgdGltaW5nLjwv
dGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkludGVsIiBocmVmPSJodHRwOi8vd3d3
LmludGVsLmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9y
Zy9UUi9yZXNvdXJjZS10aW1pbmctMi8jZG9tLXBlcmZvcm1hbmNlLW9ucmVzb3VyY2V0aW1pbmdi
dWZmZXJmdWxsIi8+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy9idWZmZXItZnVsbC11dGlsaXRpZXMuanMiPjwv
c2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CiA8c2NyaXB0PgotY29uc3QgcmVzb3VyY2VfdGltaW5n
X2J1ZmZlcl9zaXplID0gMjsKLWxldCBidWZmZXJGdWxsQ291bnQgPSAwOwotbGV0IGV2ZW50Rmly
ZWQgPSBmYWxzZTsKLXNldHVwKCgpID0+IHsKLSAgICBjbGVhckJ1ZmZlckFuZFNldFNpemUocmVz
b3VyY2VfdGltaW5nX2J1ZmZlcl9zaXplKTsKK3Byb21pc2VfdGVzdChhc3luYyAoKSA9PiB7Cisg
ICAgbGV0IGJ1ZmZlckZ1bGxDb3VudCA9IDA7CiAgICAgcGVyZm9ybWFuY2UuYWRkRXZlbnRMaXN0
ZW5lcigncmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsJywgZSA9PiB7CiAgICAgICAgIGFzc2VydF9l
cXVhbHMoZS5idWJibGVzLCBmYWxzZSwgIkV2ZW50IGJ1YmJsZXMgYXR0cmlidXRlIGlzIGZhbHNl
Iik7CiAgICAgICAgIGJ1ZmZlckZ1bGxDb3VudCsrOwotICAgICAgICBldmVudEZpcmVkID0gdHJ1
ZTsKICAgICB9KTsKLX0pOwotCi1sZXQgb3ZlcmZsb3dUaGVCdWZmZXIgPSAoKSA9PiB7Ci0gICAg
cmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgICAgICAvLyBUaGlzIHJlc291cmNl
IG92ZXJmbG93cyB0aGUgZW50cnkgYnVmZmVyLCBhbmQgZ29lcyBpbnRvIHRoZSBzZWNvbmRhcnkg
YnVmZmVyLgotICAgICAgICBhcHBlbmRTY3JpcHQoJ3Jlc291cmNlcy9lbXB0eV9zY3JpcHQuanMn
LCByZXNvbHZlKTsKLSAgICB9KTsKLX07Ci0KLWxldCB0ZXN0VGhhdEJ1ZmZlckNvbnRhaW5zVGhl
UmlnaHRSZXNvdXJjZXMgPSAoKSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5n
ZXRFbnRyaWVzQnlUeXBlKCdyZXNvdXJjZScpLmxlbmd0aCwgcmVzb3VyY2VfdGltaW5nX2J1ZmZl
cl9zaXplLCAnVGhlcmUgc2hvdWxkIG9ubHkgYmUgfGJ1ZmZlclNpemV8IHJlc291cmNlIGVudHJp
ZXMuJyk7CisgICAgYXdhaXQgZmlsbFVwVGhlQnVmZmVyV2l0aFR3b1Jlc291cmNlcygpOworICAg
IC8vIE92ZXJmbG93IHRoZSBidWZmZXIKKyAgICBhd2FpdCBsb2FkLnNjcmlwdChzY3JpcHRSZXNv
dXJjZXNbMl0pOworICAgIGF3YWl0IHdhaXRGb3JOZXh0VGFzaygpOworICAgIGNoZWNrRW50cmll
cygyKTsKICAgICBhc3NlcnRfZXF1YWxzKGJ1ZmZlckZ1bGxDb3VudCwgMSwgJ29ucmVzb3VyY2V0
aW1pbmdidWZmZXJmdWxsIHNob3VsZCBoYXZlIGJlZW4gaW52b2tlZCBvbmNlLicpOwotfTsKLQot
cHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKLSAgICBhd2FpdCBmaWxsVXBUaGVCdWZmZXJXaXRo
VHdvUmVzb3VyY2VzKCdyZXNvdXJjZXMvZW1wdHkuanMnKTsKLSAgICBhd2FpdCBvdmVyZmxvd1Ro
ZUJ1ZmZlcigpOwotICAgIGF3YWl0IHdhaXRGb3JFdmVudFRvRmlyZSgpOwotICAgIHRlc3RUaGF0
QnVmZmVyQ29udGFpbnNUaGVSaWdodFJlc291cmNlcygpOwogfSwgIlRlc3QgdGhhdCBhIGJ1ZmZl
ciBmdWxsIGV2ZW50IGRvZXMgbm90IGJ1YmJsZSBhbmQgdGhhdCByZXNvdXJjZXRpbWluZ2J1ZmZl
cmZ1bGwgaXMgY2FsbGVkIG9ubHkgb25jZSBwZXIgb3ZlcmZsb3ciKTsKIDwvc2NyaXB0PgogPC9i
b2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1yZXVzZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9j
b25uZWN0aW9uLXJldXNlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNWIxNTg3MmY2MzgxOGNl
NTU3MjNhMDU3Y2Q5NmM5Y2QzZDZmNzE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlv
bi1yZXVzZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACitEZXNjcmlwdGlvbgorCitTZWUg
dGhlIGluY2x1ZGVkIHRlc3Qgc2NyaXB0CisKKworUEFTUyBQZXJmb3JtYW5jZVJlc3JvdWNlVGlt
aW5nIGVudHJpZXMgbmVlZCB0byBjb25mb3JtIHRvIHRoZSBzcGVjIHdoZW4gYSBkaXN0aW5jdCBy
ZXNvdXJjZSBpcyBmZXRjaGVkIG92ZXIgYSBwZXJzaXN0ZW50IGNvbm5lY3Rpb24KK1BBU1MgUGVy
Zm9ybWFuY2VSZXNyb3VjZVRpbWluZyBlbnRyaWVzIG5lZWQgdG8gY29uZm9ybSB0byB0aGUgc3Bl
YyB3aGVuIHRoZSByZXNvdXJjZSBpcyBjYWNoZS1yZXZhbGlkYXRlZCBvdmVyIGEgcGVyc2lzdGVu
dCBjb25uZWN0aW9uCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2Nvbm5lY3Rpb24tcmV1c2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lODJiN2JjNGVhOWJiMWMzOTA0N2M1
ZjUxODY3ZGMzYTNhNDVkYmViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1yZXVz
ZS5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZyBjb25uZWN0
aW9uIHJldXNlPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVm
PSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRw
czovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI3NlYy1wZXJmb3JtYW5jZXJlc291
cmNldGltaW5nIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFudHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9jb25uZWN0aW9uLXJldXNlLXRlc3QuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRpb248L2gxPgorPHA+U2VlIDxh
IGhyZWY9InJlc291cmNlcy9jb25uZWN0aW9uLXJldXNlLXRlc3QuanMiPnRoZSBpbmNsdWRlZCB0
ZXN0CisgIHNjcmlwdDwvYT48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9j
b25uZWN0aW9uLXJldXNlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2Uu
aHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI1YjE1ODcyZjYzODE4Y2U1NTcyM2EwNTdj
ZDk2YzljZDNkNmY3MTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0aW9uLXJldXNlLmh0
dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKK0Rlc2NyaXB0aW9uCisKK1NlZSB0aGUg
aW5jbHVkZWQgdGVzdCBzY3JpcHQKKworCitQQVNTIFBlcmZvcm1hbmNlUmVzcm91Y2VUaW1pbmcg
ZW50cmllcyBuZWVkIHRvIGNvbmZvcm0gdG8gdGhlIHNwZWMgd2hlbiBhIGRpc3RpbmN0IHJlc291
cmNlIGlzIGZldGNoZWQgb3ZlciBhIHBlcnNpc3RlbnQgY29ubmVjdGlvbgorUEFTUyBQZXJmb3Jt
YW5jZVJlc3JvdWNlVGltaW5nIGVudHJpZXMgbmVlZCB0byBjb25mb3JtIHRvIHRoZSBzcGVjIHdo
ZW4gdGhlIHJlc291cmNlIGlzIGNhY2hlLXJldmFsaWRhdGVkIG92ZXIgYSBwZXJzaXN0ZW50IGNv
bm5lY3Rpb24KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1yZXVzZS5odHRwcy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvY29ubmVjdGlvbi1yZXVzZS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4MmI3YmM0ZWE5YmIx
YzM5MDQ3YzVmNTE4NjdkYzNhM2E0NWRiZWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0
aW9uLXJldXNlLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2Ug
VGltaW5nIGNvbm5lY3Rpb24gcmV1c2U8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxl
PSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGluayByZWw9Imhl
bHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmctMi8jc2VjLXBl
cmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnktaW52YXJp
YW50cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2Nvbm5lY3Rpb24tcmV1
c2UtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5EZXNjcmlwdGlvbjwv
aDE+Cis8cD5TZWUgPGEgaHJlZj0icmVzb3VyY2VzL2Nvbm5lY3Rpb24tcmV1c2UtdGVzdC5qcyI+
dGhlIGluY2x1ZGVkIHRlc3QKKyAgc2NyaXB0PC9hPjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1zdGFydC1lbmQtdGltZS13aXRoLXJlZGlyZWN0cy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhcnQtZW5kLXRpbWUtd2l0aC1yZWRpcmVj
dHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNhZTcyMmZjOWExMmM2ZWU0MjI3ZjQ5NGJlYjY3
NjNhYjQ3ZmQzOGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhcnQtZW5k
LXRpbWUtd2l0aC1yZWRpcmVjdHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNT
IFZlcmlmeSB0aGF0IGNyb3NzLW9yaWdpbiByZXNvdXJjZXMgZG9uJ3QgaW1wbGljaXRseSBleHBv
c2UgdGhlaXIgcmVkaXJlY3QgdGltaW5ncworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4t
c3RhcnQtZW5kLXRpbWUtd2l0aC1yZWRpcmVjdHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1zdGFy
dC1lbmQtdGltZS13aXRoLXJlZGlyZWN0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFiMTA3ZDNhZWY3NzY0
ZDliOTYwM2VhMjY1OGNmNDY5Y2YyODU5ODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1v
cmlnaW4tc3RhcnQtZW5kLXRpbWUtd2l0aC1yZWRpcmVjdHMuaHRtbApAQCAtMCwwICsxLDMyIEBA
Cis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIg
Lz4KKzx0aXRsZT5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB2YWx1ZXMgaW4gcmVzb3VyY2UgdGlt
aW5nIGZvciBjcm9zcy1vcmlnaW4KK3JlZGlyZWN0cy48L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRo
b3IiIHRpdGxlPSJOb2FtIFJvc2VudGhhbCIgaHJlZj0ibm9hbUB3ZWJraXQub3JnIj4KKzxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0y
LyNzZWMtcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhv
c3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJj
ZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnktaW52
YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citjb25zdCB7
UkVNT1RFX09SSUdJTn0gPSBnZXRfaG9zdF9pbmZvKCk7Citjb25zdCBkZWxheSA9IDIKK2NvbnN0
IGJsYW5rX3BhZ2UgPSBgL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVl
bi5odG1gOworY29uc3QgZGVzdFVybCA9IGAvY29tbW9uL3Nsb3ctcmVkaXJlY3QucHk/ZGVsYXk9
JHtkZWxheX0mbG9jYXRpb249JHtSRU1PVEVfT1JJR0lOfS8ke2JsYW5rX3BhZ2V9YDsKKworY29u
c3QgdGltZUJlZm9yZSA9IHBlcmZvcm1hbmNlLm5vdygpCithdHRyaWJ1dGVfdGVzdChsb2FkLmlm
cmFtZSwgZGVzdFVybCwgZW50cnkgPT4geworICAgIGFzc2VydF9lcXVhbHMoZW50cnkuc3RhcnRU
aW1lLCBlbnRyeS5mZXRjaFN0YXJ0LCAnc3RhcnRUaW1lIGFuZCBmZXRjaFN0YXJ0IHNob3VsZCBi
ZSBlcXVhbCcpOworICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oZW50cnkuc3RhcnRUaW1lLCB0aW1l
QmVmb3JlLCAnc3RhcnRUaW1lIGFuZCBmZXRjaFN0YXJ0IHNob3VsZCBiZSBncmVhdGVyIHRoYW4g
dGhlIHRpbWUgYmVmb3JlIGZldGNoaW5nJyk7CisgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNv
bS93M2MvcmVzb3VyY2UtdGltaW5nL2lzc3Vlcy8yNjQKKyAgICBhc3NlcnRfbGVzc190aGFuKE1h
dGgucm91bmQoZW50cnkuc3RhcnRUaW1lIC0gdGltZUJlZm9yZSksIGRlbGF5ICogMTAwMCwgJ3N0
YXJ0VGltZSBzaG91bGQgbm90IGV4cG9zZSByZWRpcmVjdCBkZWxheXMnKTsKK30sICJWZXJpZnkg
dGhhdCBjcm9zcy1vcmlnaW4gcmVzb3VyY2VzIGRvbid0IGltcGxpY2l0bHkgZXhwb3NlIHRoZWly
IHJlZGlyZWN0IHRpbWluZ3MiKQorCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1zdGF0dXMtY29kZXMuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nyb3NzLW9yaWdp
bi1zdGF0dXMtY29kZXMuaHRtbAppbmRleCBlOGVjZTVmZjJmZWEzZDRkODU2Y2RmMzc3NDg3MGM1
OTA4MGExYzQ1Li4xOTdhNzY2MzM5NmVmNjZjNzc2NGQ2NTk5YjAzODU0ZDEzOGYyZTYwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhdHVzLWNvZGVzLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mt
b3JpZ2luLXN0YXR1cy1jb2Rlcy5odG1sCkBAIC0xLDYgKzEsOSBAQAogPCFkb2N0eXBlIGh0bWw+
CiA8aHRtbD4KIDxoZWFkPgorPHRpdGxlPlJlc291cmNlIFRpbWluZzogUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZyBhdHRyaWJ1dGVzIHNob3VsZG4ndCBjaGFuZ2UKKyAgaWYgdGhlIEhUVFAgc3Rh
dHVzIGNvZGUgY2hhbmdlczwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8v
d3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmctMi8jc2VjLXBlcmZvcm1hbmNlcmVzb3VyY2V0
aW1pbmciLz4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPS9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanM+PC9zY3JpcHQ+CkBA
IC0xNSwzNCArMTgsNTMgQEAKIDxzY3JpcHQgaWQ9InNjcmlwdF80MDQiPjwvc2NyaXB0PgogPHNj
cmlwdCBpZD0ic2NyaXB0XzUwMiI+PC9zY3JpcHQ+CiA8c2NyaXB0PgotYXN5bmNfdGVzdCh0ID0+
IHsKLSAgbGV0IGRlc3RVcmwgPSBnZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lOICsg
Jy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzLyc7Ci0gIGxldCBzdGF0dXNDb2RlcyA9IFsnMjAw
JywgJzMwNycsICc0MDQnLCAnNTAyJ107CisKK2NvbnN0IGxpc3RlbkZvclBlcmZvcm1hbmNlRW50
cmllcyA9IG51bV9leHBlY3RlZCA9PiB7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+
IHsKKyAgICBsZXQgcmVzdWx0cyA9IFtdOworICAgIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGVu
dHJ5TGlzdCA9PiB7CisgICAgICBlbnRyeUxpc3QuZ2V0RW50cmllcygpLmZvckVhY2goZW50cnkg
PT4geworICAgICAgICBpZiAoIWVudHJ5Lm5hbWUuaW5jbHVkZXMoInN0YXR1cy1jb2RlIikpCisg
ICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHJlc3VsdHMucHVzaChlbnRyeSk7CisgICAgICAg
IGlmIChyZXN1bHRzLmxlbmd0aCA9PSBudW1fZXhwZWN0ZWQpIHsKKyAgICAgICAgICByZXNvbHZl
KHJlc3VsdHMpOworICAgICAgICB9CisgICAgICB9KTsKKyAgICB9KS5vYnNlcnZlKHtlbnRyeVR5
cGVzOiBbJ3Jlc291cmNlJ119KTsKKyAgfSk7Cit9CisKK3Byb21pc2VfdGVzdChhc3luYyB0ID0+
IHsKKyAgY29uc3QgZGVzdFVybCA9IGdldF9ob3N0X2luZm8oKS5IVFRQX1JFTU9URV9PUklHSU4g
KyAnL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvJzsKKyAgY29uc3Qgc3RhdHVzQ29kZXMgPSBb
JzIwMCcsICczMDcnLCAnNDA0JywgJzUwMiddOworCisgIGxldCBleHBlY3RlZF9lbnRyeV9jb3Vu
dCA9IDA7CiAgIHN0YXR1c0NvZGVzLmZvckVhY2goc3RhdHVzID0+IHsKLSAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnaW1nXycgKyBzdGF0dXMpLnNyYyA9IGRlc3RVcmwgKyAnc3RhdHVzLWNv
ZGUucHk/c3RhdHVzPScgKyBzdGF0dXM7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Nj
cmlwdF8nICsgc3RhdHVzKS5zcmMgPSBkZXN0VXJsICsgJ3N0YXR1cy1jb2RlLnB5P3N0YXR1cz0n
ICsgc3RhdHVzICsgJyZzY3JpcHQ9MSc7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYGlt
Z18ke3N0YXR1c31gKS5zcmMgPSBgJHtkZXN0VXJsfXN0YXR1cy1jb2RlLnB5P3N0YXR1cz0ke3N0
YXR1c31gOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBzY3JpcHRfJHtzdGF0dXN9YCku
c3JjID0gYCR7ZGVzdFVybH1zdGF0dXMtY29kZS5weT9zdGF0dXM9JHtzdGF0dXN9JnNjcmlwdD0x
YDsKKyAgICBleHBlY3RlZF9lbnRyeV9jb3VudCArPSAyOwogICB9KTsKLSAgbGV0IG5hbWVNYXAg
PSB7fTsKLSAgbGV0IGZpcnN0RW50cnkgPSBudWxsOwotICAvLyBXZSB3aWxsIGNoZWNrIHRoYXQg
dGhlIG5vbi10aW1lc3RhbXAgdmFsdWVzIG9mIHRoZSBlbnRyeSBtYXRjaCBmb3IgYWxsIGVudHJp
ZXMuCi0gIGNvbnN0IGtleXMgPSBbJ2VudHJ5VHlwZScsICduZXh0SG9wUHJvdG9jb2wnLCAndHJh
bnNmZXJTaXplJywgJ2VuY29kZWRCb2R5U2l6ZScsICdkZWNvZGVkQm9keVNpemUnXTsKLSAgbmV3
IFBlcmZvcm1hbmNlT2JzZXJ2ZXIodC5zdGVwX2Z1bmMoZW50cnlMaXN0ID0+IHsKLSAgICBlbnRy
eUxpc3QuZ2V0RW50cmllcygpLmZvckVhY2goZW50cnkgPT4gewotICAgICAgaWYgKCFlbnRyeS5u
YW1lLmluY2x1ZGVzKCJzdGF0dXMtY29kZSIpKQotICAgICAgICByZXR1cm47CiAKLSAgICAgIG5h
bWVNYXBbZW50cnkubmFtZV0gPSB0cnVlOwotICAgICAgaWYgKCFmaXJzdEVudHJ5KSB7Ci0gICAg
ICAgIGZpcnN0RW50cnkgPSBlbnRyeTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIGtleXMuZm9y
RWFjaChrZXkgPT4gewotICAgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cnlba2V5XSwgZmlyc3RF
bnRyeVtrZXldLCBgRGlzY2VybmlibGUgZGlmZmVyZW5jZSBpbiAke2tleX0gZm9yICR7ZW50cnku
bmFtZX1gKTsKLSAgICAgICAgfSk7Ci0gICAgICB9Ci0gICAgfSk7Ci0gICAgaWYgKE9iamVjdC5r
ZXlzKG5hbWVNYXApLmxlbmd0aCA9PT0gOCkgewotICAgICAgdC5kb25lKCk7Ci0gICAgfQotICB9
KSkub2JzZXJ2ZSh7ZW50cnlUeXBlczogWydyZXNvdXJjZSddfSk7CisgIGNvbnN0IGVudHJpZXMg
PSBhd2FpdCBsaXN0ZW5Gb3JQZXJmb3JtYW5jZUVudHJpZXMoZXhwZWN0ZWRfZW50cnlfY291bnQp
OworCisgIC8vIFdlIHdpbGwgY2hlY2sgdGhhdCB0aGUgbm9uLXRpbWVzdGFtcCB2YWx1ZXMgb2Yg
dGhlIGVudHJ5IG1hdGNoIGZvciBhbGwKKyAgLy8gZW50cmllcy4KKyAgY29uc3Qga2V5cyA9IFsK
KyAgICAnZW50cnlUeXBlJywKKyAgICAnbmV4dEhvcFByb3RvY29sJywKKyAgICAndHJhbnNmZXJT
aXplJywKKyAgICAnZW5jb2RlZEJvZHlTaXplJywKKyAgICAnZGVjb2RlZEJvZHlTaXplJywKKyAg
XTsKKworICBjb25zdCBmaXJzdCA9IGVudHJpZXNbMF07CisgIGVudHJpZXMuc2xpY2UoMSkuZm9y
RWFjaChlbnRyeSA9PiB7CisgICAga2V5cy5mb3JFYWNoKGF0dHJpYnV0ZSA9PiB7CisgICAgICBh
c3NlcnRfZXF1YWxzKGVudHJ5W2F0dHJpYnV0ZV0sIGZpcnN0W2F0dHJpYnV0ZV0sCisgICAgICAg
IGBUaGVyZSBtdXN0IGJlIG5vIGRpc2Nlcm5pYmxlIGRpZmZlcmVuY2UgZm9yIHRoZSAke2F0dHJp
YnV0ZX0gYCArCisgICAgICAgIGBhdHRyaWJ1dGUgYnV0IGZvdW5kIGEgZGlmZmVyZW5jZSBmb3Ig
dGhlICR7ZW50cnkubmFtZX0gcmVzb3VyY2UuYCk7CisgIH0pfSk7CiB9LCAiTWFrZSBzdXJlIGNy
b3NzIG9yaWdpbiByZXNvdXJjZSBmZXRjaCBmYWlsdXJlcyB3aXRoIGRpZmZlcmVudCBzdGF0dXMg
Y29kZXMgYXJlIGluZGlzdGluZ3Vpc2hhYmxlIik7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3Qtb3BlbmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2RvY3Vt
ZW50LWRvbWFpbi1uby1pbXBhY3Qtb3BlbmVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44OTI4
Zjc3NWU4ZmJhOGJiZjk1OWQwZmFkZGQyMmU0YzFkY2IzYTVmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC1vcGVuZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNCBAQAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9kb2N1bWVudC1kb21haW4tbm8taW1wYWN0LW9wZW5lci5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
ZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC1vcGVuZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OWRmMmYy
N2ZhNWIxOTVmN2I5NTY3MTRjZjgxNmE2MWUxODI1OGI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
ZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC1vcGVuZXIuaHRtbApAQCAtMCwwICsxLDE2IEBACis8
IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
Ly8gT3BlbiBhIGRvY3VtZW50IG9uIG9uZSBvZiBob3N0cyBvbiB0aGUgd2ViLXBsYXRmb3JtIHRl
c3QgZG9tYWluLCBzbyB0aGF0CisvLyBkb2N1bWVudC5kb21haW4gd2lsbCBzZXQgYSB2YWxpZCBk
b21haW4sIHR1cm5pbmcgdGhlIGZyYW1lIGludG8gYQorLy8gY3Jvc3Mtb3JpZ2luIGZyYW1lLgor
Y29uc3Qge09USEVSX09SSUdJTn0gPSBnZXRfaG9zdF9pbmZvKCk7Citjb25zdCBvcGVuZWUgPSB3
aW5kb3cub3BlbihPVEhFUl9PUklHSU4gKworICAgICAgICAgICAgICAgIi9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VzL2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3QuaHRtbCIpOworZmV0Y2hfdGVz
dHNfZnJvbV93aW5kb3cob3BlbmVlKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZW50cnkt
YXR0cmlidXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9lbnRyeS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hYWZiNDVlY2I1YWIyMDBiNTE1MzE5NTVmMGNlOGJkNzg2YzU1MDQ4Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvZW50cnktYXR0cmlidXRlcy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMSBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcgZW50cmllcycgYXR0cmlidXRlcyBhcmUgcG9wdWxhdGVkIHdp
dGggdGhlIGNvcnJlY3QgdmFsdWVzLgorCisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNz
YWdlID0gbnVsbAorCitUSU1FT1VUIEltYWdlIHJlc291cmNlcyBzaG91bGQgZ2VuZXJhdGUgY29u
Zm9ybWFudCBlbnRyaWVzIFRlc3QgdGltZWQgb3V0CitOT1RSVU4gRm9udCByZXNvdXJjZXMgc2hv
dWxkIGdlbmVyYXRlIGNvbmZvcm1hbnQgZW50cmllcworTk9UUlVOIFNhbWUtb3JpZ2luIHJlZGly
ZWN0cyBzaG91bGQgcG9wdWxhdGUgcmVkaXJlY3RTdGFydC9yZWRpcmVjdEVuZAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9lbnRyeS1hdHRyaWJ1dGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9lbnRyeS1hdHRyaWJ1dGVzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjg5YjRlNzRjODU1MTg3NWM1MDMxMzNhZDY2NTJjOGE4YjZjNTkzOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2VudHJ5LWF0dHJpYnV0ZXMuaHRtbApAQCAtMCwwICsxLDM3IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIg
Lz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmc6IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgYXR0
cmlidXRlczwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9y
Zy9UUi9yZXNvdXJjZS10aW1pbmctMi8jc2VjLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFudHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
K2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLmltYWdlLCAicmVzb3VyY2VzL2Zha2VfcmVzcG9uc2Vz
LnB5I2hhc2g9MSIsCisgIGVudHJ5ID0+IHsKKyAgICBhc3NlcnRfdHJ1ZShlbnRyeS5uYW1lLmlu
Y2x1ZGVzKCcjaGFzaD0xJyksCisgICAgICAiVGhlcmUgc2hvdWxkIGJlIGEgaGFzaCBpbiB0aGUg
cmVzb3VyY2UgbmFtZSIpOworICAgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzX25vX3JlZGly
ZWN0X2h0dHAoZW50cnkpOworICB9LAorICAiSW1hZ2UgcmVzb3VyY2VzIHNob3VsZCBnZW5lcmF0
ZSBjb25mb3JtYW50IGVudHJpZXMiKTsKKworYXR0cmlidXRlX3Rlc3QoCisgIGxvYWQuZm9udCwg
Ii9mb250cy9BaGVtLnR0ZiIsCisgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzX25vX3JlZGly
ZWN0X2h0dHAsCisgICJGb250IHJlc291cmNlcyBzaG91bGQgZ2VuZXJhdGUgY29uZm9ybWFudCBl
bnRyaWVzIik7CisKK2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLmltYWdlLCAiL2NvbW1vbi9yZWRp
cmVjdC5weT9sb2NhdGlvbj1yZXNvdXJjZXMvZmFrZV9yZXNwb25zZXMucHkiLAorICBpbnZhcmlh
bnRzLmFzc2VydF9zYW1lX29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNlLAorICAiU2FtZS1vcmln
aW4gcmVkaXJlY3RzIHNob3VsZCBwb3B1bGF0ZSByZWRpcmVjdFN0YXJ0L3JlZGlyZWN0RW5kIik7
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxwPlRo
aXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGVudHJpZXMn
IGF0dHJpYnV0ZXMgYXJlCitwb3B1bGF0ZWQgd2l0aCB0aGUgY29ycmVjdCB2YWx1ZXMuPC9wPgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZmV0Y2gtY3Jvc3Mtb3JpZ2luLXJlZGly
ZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZldGNoLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5o
dHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTJmYjMwZDFhNzgxM2FjZWVmNTAzMzM0YTBk
NDgwMDQyMDYyMzQwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZldGNoLWNyb3NzLW9yaWdpbi1y
ZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgVGVzdCBm
ZXRjaGluZyB0aHJvdWdoIGEgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0IFVSTAorUEFTUyBUZXN0IGZl
dGNoaW5nIHRocm91Z2ggYSBzYW1lLW9yaWdpbiByZWRpcmVjdCBVUkwKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvZmV0Y2gtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mZXRjaC1jcm9z
cy1vcmlnaW4tcmVkaXJlY3QuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MTkzNDIyNjUzYTU5NTRm
ZjAzMzUxOGM2OTBmNjU0NjBiYzU0MzNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZmV0Y2gtY3Jv
c3Mtb3JpZ2luLXJlZGlyZWN0Lmh0dHBzLmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPCFET0NUWVBF
IGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdCBjcm9zcy1vcmlnaW4g
ZmV0Y2ggcmVkaXJlY3RzIGhhdmUgdGhlIHJpZ2h0IHZhbHVlcy48L3RpdGxlPgorPGxpbmsgcmVs
PSJhdXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+
Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10
aW1pbmctMi8jc2VjLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9u
L2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
ZW50cnktaW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jl
c291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworY29uc3Qge1JFTU9URV9P
UklHSU4sIE9SSUdJTn0gPSBnZXRfaG9zdF9pbmZvKCk7Citjb25zdCByZWRpcmVjdCA9ICIvY29t
bW9uL3JlZGlyZWN0LnB5PyIgKworICAgICAgICAgICAgICAgICAibG9jYXRpb249L3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4uaHRtbCI7Citjb25zdCBjcm9zc19vcmlnaW5fcmVkaXJl
Y3QgPSBSRU1PVEVfT1JJR0lOICsgcmVkaXJlY3Q7Citjb25zdCBzYW1lX29yaWdpbl9yZWRpcmVj
dCA9IE9SSUdJTiArIHJlZGlyZWN0OworCithdHRyaWJ1dGVfdGVzdCgKKyAgdXJsID0+IGZldGNo
KHVybCwge21vZGU6ICJuby1jb3JzIiwgY3JlZGVudGlhbHM6ICJpbmNsdWRlIn0pLAorICBuZXcg
VVJMKGNyb3NzX29yaWdpbl9yZWRpcmVjdCkuaHJlZiwKKyAgaW52YXJpYW50cy5hc3NlcnRfY3Jv
c3Nfb3JpZ2luX3JlZGlyZWN0ZWRfcmVzb3VyY2UsCisgICJUZXN0IGZldGNoaW5nIHRocm91Z2gg
YSBjcm9zcy1vcmlnaW4gcmVkaXJlY3QgVVJMIgorKTsKKworYXR0cmlidXRlX3Rlc3QoCisgIHVy
bCA9PiBmZXRjaCh1cmwsIHttb2RlOiAibm8tY29ycyIsIGNyZWRlbnRpYWxzOiAiaW5jbHVkZSJ9
KSwKKyAgbmV3IFVSTChzYW1lX29yaWdpbl9yZWRpcmVjdCkuaHJlZiwKKyAgaW52YXJpYW50cy5h
c3NlcnRfc2FtZV9vcmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAgIlRlc3QgZmV0Y2hpbmcg
dGhyb3VnaCBhIHNhbWUtb3JpZ2luIHJlZGlyZWN0IFVSTCIKKyk7CisKKzwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvZm9udC10aW1lc3RhbXBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZvbnQtdGltZXN0
YW1wcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDE5NjQ0MTg3NWJlY2QyNDNiZmUyMjNlNWFi
OWIwMDhkMGExOWY5OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZvbnQtdGltZXN0YW1wcy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIGZldGNoZXMgYWhlbSBmb250LgorCitGQUlM
IFRlc3QgYSBmb250J3MgdGltZXN0YW1wcyBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsOiBkb21h
aW5Mb29rdXBTdGFydCBzaG91bGQgYmUgbW9yZSB0aGFuIDAgaW4gc2FtZS1vcmlnaW4gcmVkaXJl
Y3QuIGV4cGVjdGVkIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byA8bm9uZGV0ZXJt
aW5pc3RpYyB0ZXN0IG91dHB1dD4gYnV0IGdvdCAwCitQQVNTIFRlc3QgYSBmb250J3MgdGltZXN0
YW1wcyB3aXRoIGRlbGF5cworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mb250LXRpbWVzdGFtcHMuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL2ZvbnQtdGltZXN0YW1wcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2ZWNiNWM0YmZkZGI2MGU3ODNl
ZTc3Y2QzMDhiMjhhMGM0ZWE5YzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mb250LXRpbWVzdGFt
cHMuaHRtbApAQCAtMCwwICsxLDYyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04Ij4KKzx0aXRsZT5UZXN0IGNyb3NzLW9yaWdpbiBmZXRjaCByZWRpcmVjdHMgaGF2ZSB0
aGUgcmlnaHQgdmFsdWVzLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1
Yi5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citjb25zdCBsb2FkX2ZvbnQgPSB1cmwg
PT4geworICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9IGAKKyAgICA8c3R5bGU+CisgICAgQGZv
bnQtZmFjZSB7CisgICAgICAgIGZvbnQtZmFtaWx5OiBhaGVtOworICAgICAgICBzcmM6IHVybCgn
JHt1cmx9Jyk7CisgICAgfQorICAgIDwvc3R5bGU+CisgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1p
bHk6IGFoZW07Ij5UaGlzIGZldGNoZXMgYWhlbSBmb250LjwvZGl2PgorICBgOworICByZXR1cm4g
ZG9jdW1lbnQuZm9udHMucmVhZHk7Cit9OworCitjb25zdCBydW5fdGVzdCA9IGFzeW5jICh0LCB1
cmwpID0+IHsKKyAgLy8gU2V0IHVwIFBlcmZvcm1hbmNlT2JzZXJ2ZXIKKyAgY29uc3QgaHJlZiA9
IG5ldyBVUkwodXJsKS5ocmVmOworICBjb25zdCBzZXRQZXJmb3JtYW5jZU9ic2VydmVyID0gbmV3
IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgY29uc3QgcG8gPSBuZXcgUGVyZm9ybWFuY2VPYnNl
cnZlcihyZXNvbHZlKTsKKyAgICBwby5vYnNlcnZlKHt0eXBlOiAicmVzb3VyY2UifSk7CisgIH0p
OworCisgIC8vIExvYWQgdGhlIGZvbnQgcmVzb3VyY2UgYW5kIHdhaXQgZm9yIGl0IHRvIGJlIGZl
dGNoZWQuCisgIGF3YWl0IGxvYWRfZm9udChocmVmKTsKKworICAvLyBXYWl0IGZvciBhbiBlbnRy
eQorICBjb25zdCB0aW1lb3V0ID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB0LnN0ZXBfdGltZW91
dChyZXNvbHZlLCAzMDAwKSk7CisgIGNvbnN0IGxpc3QgPSBhd2FpdCBQcm9taXNlLnJhY2UoW3Nl
dFBlcmZvcm1hbmNlT2JzZXJ2ZXIsIHRpbWVvdXRdKTsKKyAgYXNzZXJ0X2VxdWFscyh0eXBlb2Yo
bGlzdCksICJvYmplY3QiLCAiTm8gaWZyYW1lIGVudHJ5IHdhcyBmaXJlZCIpOworICBjb25zdCBl
bnRyaWVzID0gbGlzdC5nZXRFbnRyaWVzQnlOYW1lKHVybCk7CisgIGFzc2VydF9lcXVhbHMoZW50
cmllcy5sZW5ndGgsIDEpOworCisgIC8vIFRlc3QgZW50cnkgdmFsdWVzCisgIGNvbnN0IGVudHJ5
ID0gZW50cmllc1swXTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihlbnRyeS5mZXRjaFN0YXJ0LCAw
LCAiZmV0Y2hTdGFydCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIDAgaW4gcmVkaXJlY3RzLiIpOwor
ICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LmRvbWFpbkxvb2t1cFN0YXJ0LCBlbnRy
eS5mZXRjaFN0YXJ0LCAiZG9tYWluTG9va3VwU3RhcnQgc2hvdWxkIGJlIG1vcmUgdGhhbiAwIGlu
IHNhbWUtb3JpZ2luIHJlZGlyZWN0LiIpOworICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVu
dHJ5LmRvbWFpbkxvb2t1cEVuZCwgZW50cnkuZG9tYWluTG9va3VwU3RhcnQsICJkb21haW5Mb29r
dXBFbmQgc2hvdWxkIGJlIG1vcmUgdGhhbiAwIGluIHNhbWUtb3JpZ2luIHJlZGlyZWN0LiIpOwor
ICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LmNvbm5lY3RTdGFydCwgZW50cnkuZG9t
YWluTG9va3VwRW5kLCAiY29ubmVjdFN0YXJ0IHNob3VsZCBiZSBtb3JlIHRoYW4gMCBpbiBzYW1l
LW9yaWdpbiByZWRpcmVjdC4iKTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChlbnRyeS5z
ZWN1cmVDb25uZWN0aW9uU3RhcnQsIGVudHJ5LmNvbm5lY3RTdGFydCwgInNlY3VyZUNvbm5lY3Rp
b25TdGFydCBzaG91bGQgYmUgbW9yZSB0aGFuIDAgaW4gc2FtZS1vcmlnaW4gcmVkaXJlY3QuIik7
CisgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkuY29ubmVjdEVuZCwgZW50cnkuc2Vj
dXJlQ29ubmVjdGlvblN0YXJ0LCAiY29ubmVjdEVuZCBzaG91bGQgYmUgbW9yZSB0aGFuIDAgaW4g
c2FtZS1vcmlnaW4gcmVkaXJlY3QuIik7CisgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50
cnkucmVxdWVzdFN0YXJ0LCBlbnRyeS5jb25uZWN0RW5kLCAicmVxdWVzdFN0YXJ0IHNob3VsZCBi
ZSBtb3JlIHRoYW4gMCBpbiBzYW1lLW9yaWdpbiByZWRpcmVjdC4iKTsKKyAgYXNzZXJ0X2dyZWF0
ZXJfdGhhbl9lcXVhbChlbnRyeS5yZXNwb25zZVN0YXJ0LCBlbnRyeS5yZXF1ZXN0U3RhcnQsICJy
ZXNwb25zZVN0YXJ0IHNob3VsZCBiZSBtb3JlIHRoYW4gMCBpbiBzYW1lLW9yaWdpbiByZWRpcmVj
dC4iKTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChlbnRyeS5yZXNwb25zZUVuZCwgZW50
cnkucmVzcG9uc2VTdGFydCwgInJlc3BvbnNlRW5kIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMCBp
biByZWRpcmVjdHMuIik7CisgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkuZHVyYXRp
b24sIDAsICJkdXJhdGlvbiBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIDAgaW4gcmVkaXJlY3RzLiIp
OworfQorCitjb25zdCB7SFRUUFNfUkVNT1RFX09SSUdJTn0gPSBnZXRfaG9zdF9pbmZvKCk7Citw
cm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBydW5fdGVzdCh0LCBIVFRQU19SRU1PVEVfT1JJ
R0lOICsgIi9mb250cy9BaGVtLnR0ZiIpOworfSwgIlRlc3QgYSBmb250J3MgdGltZXN0YW1wcyIp
OworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBydW5fdGVzdCh0LCBIVFRQU19SRU1P
VEVfT1JJR0lOICsgIi9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NvcnMtYWhlbS5weT9waXBl
PXRyaWNrbGUoZDEpIik7Cit9LCAiVGVzdCBhIGZvbnQncyB0aW1lc3RhbXBzIHdpdGggZGVsYXlz
Iik7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2lmcmFtZS1mYWlsZWQtY29tbWl0LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL2lmcmFtZS1mYWlsZWQtY29tbWl0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43NDRiZDE3NTJmMjkyNmYyM2YzY2IzMDc3YTNhNmVjNzUyZjgxNWUzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvaWZyYW1lLWZhaWxlZC1jb21taXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQg
QEAKK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL25vbmV4aXN0ZW50Lmxv
Y2FsaG9zdDo5NDQzLworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vbm9u
ZXhpc3RlbnQubG9jYWxob3N0Ojk0NDMvCisKKworUEFTUyBQcmVjb25kaXRpb24KK0ZBSUwgVGVz
dCBpZnJhbWUgZnJvbSBub24tZXhpc3RlbnQgaG9zdCBhc3NlcnRfZXF1YWxzOiBObyBpZnJhbWUg
ZW50cnkgd2FzIGZpcmVkIGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKK0ZB
SUwgVGVzdCBpZnJhbWUgcmVkaXJlY3RpbmcgdG8gbm9uLWV4aXN0ZW50IGhvc3QgYXNzZXJ0X2Vx
dWFsczogTm8gaWZyYW1lIGVudHJ5IHdhcyBmaXJlZCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290
ICJ1bmRlZmluZWQiCitQQVNTIFNhbWUtb3JpZ2luIGlmcmFtZSB0aGF0IGNvbXBsaWVzIHdpdGgg
Q1NQIGF0dHJpYnV0ZSBnZXRzIHJlcG9ydGVkCitQQVNTIFNhbWUtb3JpZ2luIGlmcmFtZSB0aGF0
IGRvZXNuJ3QgY29tcGx5IHdpdGggQ1NQIGF0dHJpYnV0ZSBnZXRzIHJlcG9ydGVkCitQQVNTIENy
b3NzLW9yaWdpbiBpZnJhbWUgdGhhdCBjb21wbGllcyB3aXRoIENTUCBhdHRyaWJ1dGUgZ2V0cyBy
ZXBvcnRlZAorUEFTUyBDcm9zcy1vcmlnaW4gaWZyYW1lIHRoYXQgZG9lc24ndCBjb21wbHkgd2l0
aCBDU1AgYXR0cmlidXRlIGdldHMgcmVwb3J0ZWQKK0ZBSUwgU2FtZS1vcmlnaW4gZW1wdHkgaWZy
YW1lIHdpdGggYSAyMDAgc3RhdHVzIGdldHMgcmVwb3J0ZWQgYXNzZXJ0X2VxdWFsczogTm8gaWZy
YW1lIGVudHJ5IHdhcyBmaXJlZCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQi
CitGQUlMIENyb3NzLW9yaWdpbiBlbXB0eSBpZnJhbWUgd2l0aCBhIDIwMCBzdGF0dXMgZ2V0cyBy
ZXBvcnRlZCBhc3NlcnRfZXF1YWxzOiBObyBpZnJhbWUgZW50cnkgd2FzIGZpcmVkIGV4cGVjdGVk
ICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaWZyYW1lLWZh
aWxlZC1jb21taXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL2lmcmFtZS1mYWlsZWQtY29tbWl0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNDliZDkzNDI3YzFkMzlhYzVhZWQ5MjhjYWEzZDAyNTM1NTdkZDQxNgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2lmcmFtZS1mYWlsZWQtY29tbWl0Lmh0bWwKQEAgLTAsMCArMSw4MCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8
dGl0bGU+UmVzb3VyY2UgVGltaW5nIC0gdGVzdCB0aGF0IHVuc3VjY2Vzc2Z1bCBpZnJhbWVzIGNy
ZWF0ZSBlbnRyaWVzPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpz
Ij48L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4KK3Rlc3QoKCkgPT4geworICBjb25zdCBlbnRy
aWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgicmVzb3VyY2UiKTsKKyAgYXNzZXJ0
X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMywgIlByZWNvbmRpdGlvbiAtIEVudHJpZXMgZm9yIGJs
b2NraW5nIHNjcmlwdHMgZmlyZWQiKTsKK30sICJQcmVjb25kaXRpb24iKTsKKworY29uc3QgcnVu
X3Rlc3QgPSBhc3luYyAodCwgdXJsLCBjc3ApID0+IHsKKyAgY29uc3Qgc2V0UGVyZm9ybWFuY2VP
YnNlcnZlciA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIGNvbnN0IHBvID0gbmV3IFBl
cmZvcm1hbmNlT2JzZXJ2ZXIocmVzb2x2ZSk7CisgICAgcG8ub2JzZXJ2ZSh7dHlwZTogInJlc291
cmNlIn0pOworICB9KTsKKyAgY29uc3QgdGltZW91dCA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4g
dC5zdGVwX3RpbWVvdXQocmVzb2x2ZSwgMTAwMCkpOworICBjb25zdCBmcmFtZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOworICBmcmFtZS5zcmMgPSB1cmw7CisgIGlmIChjc3Ap
IHsKKyAgICBmcmFtZS5jc3AgPSBjc3A7CisgIH0KKyAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChmcmFtZSk7CisgIGNvbnN0IGxpc3QgPSBhd2FpdCBQcm9taXNlLnJhY2UoW3NldFBlcmZvcm1h
bmNlT2JzZXJ2ZXIsIHRpbWVvdXRdKTsKKyAgYXNzZXJ0X2VxdWFscyh0eXBlb2YobGlzdCksICJv
YmplY3QiLCAiTm8gaWZyYW1lIGVudHJ5IHdhcyBmaXJlZCIpOworICBjb25zdCBlbnRyaWVzID0g
bGlzdC5nZXRFbnRyaWVzQnlOYW1lKHVybCk7CisgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5n
dGgsIDEpOworICBhc3NlcnRfZ3JlYXRlcl90aGFuKGVudHJpZXNbMF0uZHVyYXRpb24sIDAsICJE
dXJhdGlvbiBncmVhdGVyIHRoYW4gMCIpOworfQorCitjb25zdCB7UkVNT1RFX09SSUdJTiwgT1JJ
R0lOQUxfSE9TVCwgSFRUUFNfUE9SVH0gPSBnZXRfaG9zdF9pbmZvKCk7Citjb25zdCBub25leGlz
dGVudF91cmwgPSAiaHR0cHM6Ly9ub25leGlzdGVudC4iICsgT1JJR0lOQUxfSE9TVCArICI6IiAr
IEhUVFBTX1BPUlQgKyAiLyI7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHJ1bl90
ZXN0KHQsIG5vbmV4aXN0ZW50X3VybCk7Cit9LCAiVGVzdCBpZnJhbWUgZnJvbSBub24tZXhpc3Rl
bnQgaG9zdCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIGNvbnN0IHVybCA9IG5ldyBVUkwo
InJlc291cmNlcy9mYWtlX3Jlc3BvbnNlcy5weT9yZWRpcmVjdD0iICsgbm9uZXhpc3RlbnRfdXJs
LCBsb2NhdGlvbi5ocmVmKTsKKyAgcmV0dXJuIHJ1bl90ZXN0KHQsIHVybC50b1N0cmluZygpKTsK
K30sICJUZXN0IGlmcmFtZSByZWRpcmVjdGluZyB0byBub24tZXhpc3RlbnQgaG9zdCIpOworCitj
b25zdCBjc3BfZGlyZWN0aXZlID0gImRlZmF1bHQtc3JjICdub25lJyI7Citwcm9taXNlX3Rlc3Qo
dCA9PiB7CisgIGNvbnN0IHVybCA9IG5ldyBVUkwoIi9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vz
L2NzcC1kZWZhdWx0LW5vbmUuaHRtbCIsIGxvY2F0aW9uLmhyZWYpOworICByZXR1cm4gcnVuX3Rl
c3QodCwgdXJsLCBjc3BfZGlyZWN0aXZlKTsKK30sICJTYW1lLW9yaWdpbiBpZnJhbWUgdGhhdCBj
b21wbGllcyB3aXRoIENTUCBhdHRyaWJ1dGUgZ2V0cyByZXBvcnRlZCIpOworCitwcm9taXNlX3Rl
c3QodCA9PiB7CisgIGNvbnN0IHVybCA9IG5ldyBVUkwoIi9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2VzL2dyZWVuLWZyYW1lLmh0bWwiLCBsb2NhdGlvbi5ocmVmKTsKKyAgcmV0dXJuIHJ1bl90ZXN0
KHQsIHVybC50b1N0cmluZygpLCBjc3BfZGlyZWN0aXZlKTsKK30sICJTYW1lLW9yaWdpbiBpZnJh
bWUgdGhhdCBkb2Vzbid0IGNvbXBseSB3aXRoIENTUCBhdHRyaWJ1dGUgZ2V0cyByZXBvcnRlZCIp
OworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIGNvbnN0IHVybCA9IG5ldyBVUkwoIi9yZXNvdXJj
ZS10aW1pbmcvcmVzb3VyY2VzL2NzcC1kZWZhdWx0LW5vbmUuaHRtbCIsIFJFTU9URV9PUklHSU4p
OworICByZXR1cm4gcnVuX3Rlc3QodCwgdXJsLnRvU3RyaW5nKCksIGNzcF9kaXJlY3RpdmUpOwor
fSwgIkNyb3NzLW9yaWdpbiBpZnJhbWUgdGhhdCBjb21wbGllcyB3aXRoIENTUCBhdHRyaWJ1dGUg
Z2V0cyByZXBvcnRlZCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIGNvbnN0IHVybCA9IG5l
dyBVUkwoIi9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2dyZWVuLWZyYW1lLmh0bWwiLCBSRU1P
VEVfT1JJR0lOKTsKKyAgcmV0dXJuIHJ1bl90ZXN0KHQsIHVybC50b1N0cmluZygpLCBjc3BfZGly
ZWN0aXZlKTsKK30sICJDcm9zcy1vcmlnaW4gaWZyYW1lIHRoYXQgZG9lc24ndCBjb21wbHkgd2l0
aCBDU1AgYXR0cmlidXRlIGdldHMgcmVwb3J0ZWQiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4gewor
ICBjb25zdCB1cmwgPSBuZXcgVVJMKCIvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy8yMDBfZW1w
dHkuYXNpcyIsIGxvY2F0aW9uLmhyZWYpOworICByZXR1cm4gcnVuX3Rlc3QodCwgdXJsLnRvU3Ry
aW5nKCksIGNzcF9kaXJlY3RpdmUpOworfSwgIlNhbWUtb3JpZ2luIGVtcHR5IGlmcmFtZSB3aXRo
IGEgMjAwIHN0YXR1cyBnZXRzIHJlcG9ydGVkIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAg
Y29uc3QgdXJsID0gbmV3IFVSTCgiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvMjAwX2VtcHR5
LmFzaXMiLCBSRU1PVEVfT1JJR0lOKTsKKyAgcmV0dXJuIHJ1bl90ZXN0KHQsIHVybC50b1N0cmlu
ZygpLCBjc3BfZGlyZWN0aXZlKTsKK30sICJDcm9zcy1vcmlnaW4gZW1wdHkgaWZyYW1lIHdpdGgg
YSAyMDAgc3RhdHVzIGdldHMgcmVwb3J0ZWQiKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9pbml0aWF0b3ItdHlwZS1mb3Itc2NyaXB0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2luaXRpYXRvci10eXBlLWZvci1zY3JpcHQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjQ5MTk4N2I2MGJiNjY2ODM3Zjk2Njk4N2ZkMmIzMDdjYzI2MDdkODkKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9pbml0aWF0b3ItdHlwZS1mb3Itc2NyaXB0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDMgQEAKKworUEFTUyBWYWxpZGF0ZSBpbml0aWF0b3JUeXBlIGZvciBzY3JpcHRzIGlzICdzY3Jp
cHQnCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL2luaXRpYXRvci10eXBlLWZvci1zY3JpcHQuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2luaXRpYXRvci10eXBlLWZvci1zY3JpcHQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MjE3MzM5OGQ1NmFh
NDhmZDNkOTgxN2EwNThjMTkxMTVlN2RmOWRkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaW5pdGlh
dG9yLXR5cGUtZm9yLXNjcmlwdC5odG1sCkBAIC0wLDAgKzEsNjcgQEAKKzwhRE9DVFlQRSBIVE1M
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlRoaXMg
dGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUgaW5pdGlhdG9yVHlwZSBpbmZvcm1hdGlvbiBmb3IgdmFy
aW91cworUmVzb3VyY2UgVGltaW5nIGVudHJpZXMgaXMgYWNjdXJhdGUgZm9yIHNjcmlwdHMuPC90
aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIKKyAgICAgIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9U
Ui9yZXNvdXJjZS10aW1pbmctMi8jZG9tLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmctaW5pdGlh
dG9ydHlwZSIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnktaW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8
IS0tIFRlc3RlZCByZXNvdXJjZXMgLS0+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VtcHR5X3Nj
cmlwdC5qcz9pZD1ibG9ja2luZyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2Vt
cHR5X3NjcmlwdC5qcz9pZD1hc3luYyIgYXN5bmM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL2VtcHR5X3NjcmlwdC5qcz9pZD1hc3luY19mYWxzZSIgYXN5bmM9ZmFsc2U+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5qcz9pZD1kZWZlciIgZGVm
ZXI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZG9jdW1lbnQud3JpdGUoIjxzY3JpcHQgc3JjPSdyZXNv
dXJjZXMvZW1wdHlfc2NyaXB0LmpzP2lkPWRvY193cml0dGVuJz48L3NjciIKKyAgICAgICAgICAg
ICAgICsgImlwdD4iKTsKKworY29uc3QgaGVhZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdO
YW1lKCJoZWFkIilbMF07Citjb25zdCBzMSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlw
dCIpOworczEuc3JjID0gImVtcHR5X3NjcmlwdC5qcz9pZD1hcHBlbmRlZCI7CitoZWFkLmFwcGVu
ZENoaWxkKHMxKTsKKworY29uc3QgczIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQi
KTsKK3MyLnNyYyA9ICJlbXB0eV9zY3JpcHQuanM/aWQ9YXBwZW5kZWRfYXN5bmMiOworczIuYXN5
bmMgPSB0cnVlOworaGVhZC5hcHBlbmRDaGlsZChzMik7CisKK2NvbnN0IHMzID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CitzMy5zcmMgPSAiZW1wdHlfc2NyaXB0LmpzP2lkPWFw
cGVuZGVkX2F5bmNfZmFsc2UiOworczMuYXN5bmMgPSBmYWxzZTsKK2hlYWQuYXBwZW5kQ2hpbGQo
czMpOworCitjb25zdCBzNCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOworczQu
c3JjID0gImVtcHR5X3NjcmlwdC5qcz9pZD1hcHBlbmRlZF9kZWZlciI7CitzNC5kZWZlciA9IHRy
dWU7CitoZWFkLmFwcGVuZENoaWxkKHM0KTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0PgorCitjb25zdCB3YWl0X2Zvcl9vbmxvYWQgPSAoKSA9PiB7CisgIHJldHVybiBuZXcg
UHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
IHJlc29sdmUpOworfSl9OworCitwcm9taXNlX3Rlc3QoCisgIGFzeW5jICgpID0+IHsKKyAgICBh
d2FpdCB3YWl0X2Zvcl9vbmxvYWQoKTsKKworICAgIGNvbnN0IGVudHJ5X2xpc3QgPSBwZXJmb3Jt
YW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJyZXNvdXJjZSIpOworICAgIGZvciAoZW50cnkgb2YgZW50
cnlfbGlzdCkgeworICAgICAgaWYgKGVudHJ5Lm5hbWUuaW5jbHVkZXMoImVtcHR5X3NjcmlwdC5q
cyIpKSB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cnkuaW5pdGlhdG9yVHlwZSwgInNjcmlw
dCIsCisgICAgICAgICAgICAgICAgICAgICAgImluaXRpYXRvclR5cGUgc2hvdWxkIGJlICdzY3Jp
cHQnIGZvciAiICsgZW50cnkubmFtZSk7CisgICAgICB9CisgICAgfQorfSwgIlZhbGlkYXRlIGlu
aXRpYXRvclR5cGUgZm9yIHNjcmlwdHMgaXMgJ3NjcmlwdCciKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9uZXh0SG9wUHJvdG9jb2wtaXMtdGFvLXByb3Rl
Y3RlZC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9uZXh0SG9wUHJvdG9jb2wtaXMtdGFvLXByb3Rl
Y3RlZC5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzRjYmJhYTRkMjA1YjVjNDQ3ZmY4
ZmMwNDRkNjhiZGEyNTAzNDBkNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL25leHRIb3BQcm90b2Nv
bC1pcy10YW8tcHJvdGVjdGVkLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKwor
RkFJTCBBZGQgVEFPLWxlc3MgaWZyYW1lIGZyb20gcmVtb3RlIG9yaWdpbi4gTWFrZSBzdXJlIG5l
eHRIb3BQcm90b2NvbCBpcyB0aGUgZW1wdHkgc3RyaW5nIGFzc2VydF9lcXVhbHM6IG5leHRIb3BQ
cm90b2NvbCBzaG91bGQgYmUgdGhlIGVtcHR5IHN0cmluZyBleHBlY3RlZCAiIiBidXQgZ290ICJo
dHRwLzEuMSIKK1BBU1MgQWRkIFRBTydkIGlmcmFtZSBmcm9tIHJlbW90ZSBvcmlnaW4uIE1ha2Ug
c3VyZSBuZXh0SG9wUHJvdG9jb2wgaXMgbm90IHRoZSBlbXB0eSBzdHJpbmcKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvbmV4dEhvcFByb3RvY29sLWlzLXRhby1wcm90ZWN0ZWQuaHR0cHMuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL25l
eHRIb3BQcm90b2NvbC1pcy10YW8tcHJvdGVjdGVkLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTBl
OTZhZjhlODBjZjRmYjA2ZDdmMWIzMzkzZjIxOTEyNjViMjNjZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL25leHRIb3BQcm90b2NvbC1pcy10YW8tcHJvdGVjdGVkLmh0dHBzLmh0bWwKQEAgLTAsMCAr
MSwzOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nIC0gQ2hlY2sgdGhhdCBuZXh0SG9wUHJv
dG9jb2wgaXMgVEFPIHByb3RlY3RlZDwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0
dHBzOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmctMi8jc2VjLXBlcmZvcm1hbmNlcmVz
b3VyY2V0aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnktaW52YXJpYW50cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorCitjb25zdCB7SFRUUFNfUkVNT1RFX09SSUdJ
Tn0gPSBnZXRfaG9zdF9pbmZvKCk7Citjb25zdCByZW1vdGVfcmVzb3VyY2VzID0gYCR7SFRUUFNf
UkVNT1RFX09SSUdJTn0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlc2A7CisKKy8vIEFkZCBpZnJh
bWUgdG8gcmVtb3RlIG9yaWdpbiAtIHBhZ2Ugd2l0aG91dCBUQU8KK2F0dHJpYnV0ZV90ZXN0KAor
ICBsb2FkLmlmcmFtZSwgYCR7cmVtb3RlX3Jlc291cmNlc30vZ3JlZW4uaHRtYCwKKyAgZW50cnkg
PT4gYXNzZXJ0X2VxdWFscyhlbnRyeS5uZXh0SG9wUHJvdG9jb2wsICIiLAorICAgICJuZXh0SG9w
UHJvdG9jb2wgc2hvdWxkIGJlIHRoZSBlbXB0eSBzdHJpbmciKSwKKyAgIkFkZCBUQU8tbGVzcyBp
ZnJhbWUgZnJvbSByZW1vdGUgb3JpZ2luLiBNYWtlIHN1cmUgbmV4dEhvcFByb3RvY29sIGlzIHRo
ZSAiICsKKyAgImVtcHR5IHN0cmluZyIKKyk7CisKKy8vIEFkZCBpZnJhbWUgdG8gcmVtb3RlIG9y
aWdpbiAtIHBhZ2Ugd2l0aCBUQU8KK2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLmlmcmFtZSwgYCR7
cmVtb3RlX3Jlc291cmNlc30vYmxhbmstd2l0aC10YW8uaHRtbGAsCisgIGVudHJ5ID0+IGFzc2Vy
dF9ub3RfZXF1YWxzKGVudHJ5Lm5leHRIb3BQcm90b2NvbCwgIiIsCisgICAgIm5leHRIb3BQcm90
b2NvbCBzaG91bGQgbm90IGJlIHRoZSBlbXB0eSBzdHJpbmciKSwKKyAgIkFkZCBUQU8nZCBpZnJh
bWUgZnJvbSByZW1vdGUgb3JpZ2luLiBNYWtlIHN1cmUgbmV4dEhvcFByb3RvY29sIGlzIG5vdCAi
ICsKKyAgInRoZSBlbXB0eSBzdHJpbmciCispOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLVRBTy1jcm9zcy1vcmlnaW4t
cmVkaXJlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1UQU8tY3Jv
c3Mtb3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjdmNjBjZjE1NmU0
NDlmN2I1ZjFlMjk1MGJkNzlmZDMyNTAxMTcyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0
LW5vdC1mb3VuZC1hZnRlci1UQU8tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDcgQEAKKworCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51
bGwKKworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZAorUEFTUyB3aW5kb3cucGVy
Zm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSBpcyBkZWZpbmVkCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL29i
amVjdC1ub3QtZm91bmQtYWZ0ZXItVEFPLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
b2JqZWN0LW5vdC1mb3VuZC1hZnRlci1UQU8tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZDBkYWQ5MzgxYmE0MmJjODQ4ZWJlY2E4NmFjYWY3ZjEwYTdhMWU4MgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItVEFPLWNyb3NzLW9yaWdpbi1y
ZWRpcmVjdC5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlRoaXMgdGVzdCB2YWxpZGF0
ZXMgcmVzb3VyY2UgdGltaW5nIGluZm9ybWF0aW9uIGZvciBhIHRpbWluZyBhbGxvd2VkIGNyb3Nz
LW9yaWdpbiByZWRpcmVjdCBjaGFpbi48L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJo
dHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1hbmNlcmVzb3VyY2V0
aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPS9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanM+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzc2V4dGVuc2lvbi5qcyI+PC9z
Y3JpcHQ+CisKKzxzY3JpcHQ+CisgICAgc2V0dXAoe2V4cGxpY2l0X2RvbmU6IHRydWV9KTsKKyAg
ICB0ZXN0X25hbWVzcGFjZSgnZ2V0RW50cmllc0J5TmFtZScpOworCisgICAgZnVuY3Rpb24gb25s
b2FkX3Rlc3QoKQorICAgIHsKKyAgICAgICAgY29uc3QgY29udGV4dCA9IG5ldyBQZXJmb3JtYW5j
ZUNvbnRleHQocGVyZm9ybWFuY2UpOworICAgICAgICBjb25zdCBlbnRyaWVzID0gY29udGV4dC5n
ZXRFbnRyaWVzQnlOYW1lKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ29iamVjdCcpLmRhdGEsICdy
ZXNvdXJjZScpOworICAgICAgICB0ZXN0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgJ1RoZXJl
IHNob3VsZCBiZSBvbmUgZW50cnkuJyk7CisgICAgICAgIGNvbnN0IGVudHJ5ID0gZW50cmllc1sw
XTsKKworICAgICAgICB0ZXN0X2dyZWF0ZXJfdGhhbihlbnRyeS5yZWRpcmVjdFN0YXJ0LCAwLCAn
cmVkaXJlY3RTdGFydCA+IDAgaW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0
LicpOworICAgICAgICB0ZXN0X2VxdWFscyhlbnRyeS5yZWRpcmVjdFN0YXJ0LCBlbnRyeS5zdGFy
dFRpbWUsICdyZWRpcmVjdFN0YXJ0ID09IHN0YXJ0VGltZSBpbiB0aW1pbmcgYWxsb3dlZCBjcm9z
cy1vcmlnaW4gcmVkaXJlY3QuJyk7CisgICAgICAgIHRlc3RfZ3JlYXRlcl90aGFuKGVudHJ5LnJl
ZGlyZWN0RW5kLCBlbnRyeS5yZWRpcmVjdFN0YXJ0LCAncmVkaXJlY3RFbmQgPiByZWRpcmVjdFN0
YXJ0IGluIHRpbWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4nKTsKKyAgICAgICAg
dGVzdF9ncmVhdGVyX29yX2VxdWFscyhlbnRyeS5mZXRjaFN0YXJ0LCBlbnRyeS5yZWRpcmVjdEVu
ZCwgJ2ZldGNoU3RhcnQgPj0gcmVkaXJlY3RFbmQgaW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3Jp
Z2luIHJlZGlyZWN0LicpOworICAgICAgICBkb25lKCk7CisgICAgfQorPC9zY3JpcHQ+CisKKzwv
aGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKyAgICBsZXQgZGVzdFVybCA9IGdldF9ob3N0X2luZm8o
KS5IVFRQX1JFTU9URV9PUklHSU4gKyAnL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvbXVsdGlf
cmVkaXJlY3QucHk/JzsKKyAgICBkZXN0VXJsICs9ICdwYWdlX29yaWdpbj0nICsgJ2h0dHA6Ly8n
ICsgZG9jdW1lbnQubG9jYXRpb24uaG9zdDsKKyAgICBkZXN0VXJsICs9ICcmY3Jvc3Nfb3JpZ2lu
PScgKyBnZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lOOworICAgIGRlc3RVcmwgKz0g
JyZmaW5hbF9yZXNvdXJjZT0nICsgZW5jb2RlVVJJQ29tcG9uZW50KCIvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlcy9zdGF0dXMtY29kZS5weT9zdGF0dXM9NDA0JnRhb192YWx1ZT0qIik7CisgICAg
ZGVzdFVybCArPSAnJnRhb19zdGVwcz0zJzsKKyAgICBjb25zdCBvYmpFbGVtZW50ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnb2JqZWN0Jyk7CisgICAgb2JqRWxlbWVudC5zdHlsZSA9ICd3aWR0
aDogMHB4OyBoZWlnaHQ6IDBweDsnOworICAgIG9iakVsZW1lbnQuZGF0YSA9IGRlc3RVcmw7Cisg
ICAgb2JqRWxlbWVudC5vbmVycm9yID0gb25sb2FkX3Rlc3Q7CisgICAgZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZChvYmpFbGVtZW50KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1jcm9zcy1vcmlnaW4tcmVkaXJlY3Qt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1jcm9zcy1vcmlnaW4tcmVk
aXJlY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2N2Y2MGNmMTU2ZTQ0OWY3YjVmMWUyOTUw
YmQ3OWZkMzI1MDExNzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFm
dGVyLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACisK
KworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1BBU1Mgd2luZG93
LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeU5hbWUgaXMgZGVmaW5lZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFm
dGVyLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRl
ci1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNDU1ZWM0MDZiM2U5NTE5
ZDk5YmJmZWIxMmE0NGU3MjE0YzY2ZTZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5v
dC1mb3VuZC1hZnRlci1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbApAQCAtMCwwICsxLDQ2IEBA
Cis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIg
Lz4KKzx0aXRsZT5UaGlzIHRlc3QgdmFsaWRhdGVzIHJlc291cmNlIHRpbWluZyBpbmZvcm1hdGlv
biBmb3IgYSBjcm9zcy1vcmlnaW4gcmVkaXJlY3QgY2hhaW4uPC90aXRsZT4KKzxsaW5rIHJlbD0i
aGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNwZXJmb3Jt
YW5jZXJlc291cmNldGltaW5nIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpz
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3NleHRl
bnNpb24uanMiPjwvc2NyaXB0PgorCis8c2NyaXB0PgorICAgIHNldHVwKHtleHBsaWNpdF9kb25l
OiB0cnVlfSk7CisgICAgdGVzdF9uYW1lc3BhY2UoJ2dldEVudHJpZXNCeU5hbWUnKTsKKworICAg
IGZ1bmN0aW9uIG9ubG9hZF90ZXN0KCkKKyAgICB7CisgICAgICAgIGNvbnN0IGNvbnRleHQgPSBu
ZXcgUGVyZm9ybWFuY2VDb250ZXh0KHBlcmZvcm1hbmNlKTsKKyAgICAgICAgY29uc3QgZW50cmll
cyA9IGNvbnRleHQuZ2V0RW50cmllc0J5TmFtZShkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdvYmpl
Y3QnKS5kYXRhLCAncmVzb3VyY2UnKTsKKyAgICAgICAgdGVzdF9lcXVhbHMoZW50cmllcy5sZW5n
dGgsIDEsICdUaGVyZSBzaG91bGQgYmUgb25lIGVudHJ5LicpOworICAgICAgICBjb25zdCBlbnRy
eSA9IGVudHJpZXNbMF07CisKKyAgICAgICAgdGVzdF9lcXVhbHMoZW50cnkucmVkaXJlY3RTdGFy
dCwgMCwgJ3JlZGlyZWN0U3RhcnQgPT0gMCBpbiBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuJyk7Cisg
ICAgICAgIHRlc3RfZXF1YWxzKGVudHJ5LnJlZGlyZWN0RW5kLCAwLCAncmVkaXJlY3RFbmQgPT0g
MCBpbiBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuJyk7CisgICAgICAgIHRlc3RfZ3JlYXRlcl90aGFu
KGVudHJ5LmZldGNoU3RhcnQsIDAsICdmZXRjaFN0YXJ0ID4gMCBpbiBjcm9zcy1vcmlnaW4gcmVk
aXJlY3QuJyk7CisgICAgICAgIHRlc3RfZXF1YWxzKGVudHJ5LnN0YXJ0VGltZSwgZW50cnkuZmV0
Y2hTdGFydCwgJ3N0YXJ0VGltZSA9PSBmZXRjaFN0YXJ0IGluIGNyb3NzLW9yaWdpbiByZWRpcmVj
dC4nKTsKKyAgICAgICAgZG9uZSgpOworICAgIH0KKzwvc2NyaXB0PgorCis8L2hlYWQ+Cis8Ym9k
eT4KKzxzY3JpcHQ+CisgICAgbGV0IGRlc3RVcmwgPSBnZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1P
VEVfT1JJR0lOICsgJy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRpX3JlZGlyZWN0LnB5
Pyc7CisgICAgZGVzdFVybCArPSAncGFnZV9vcmlnaW49JyArICdodHRwOi8vJyArIGRvY3VtZW50
LmxvY2F0aW9uLmhvc3Q7CisgICAgZGVzdFVybCArPSAnJmNyb3NzX29yaWdpbj0nICsgZ2V0X2hv
c3RfaW5mbygpLkhUVFBfUkVNT1RFX09SSUdJTjsKKyAgICBkZXN0VXJsICs9ICcmZmluYWxfcmVz
b3VyY2U9JyArIGVuY29kZVVSSUNvbXBvbmVudCgiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMv
c3RhdHVzLWNvZGUucHk/c3RhdHVzPTQwNCIpOworICAgIGNvbnN0IG9iakVsZW1lbnQgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCdvYmplY3QnKTsKKyAgICBvYmpFbGVtZW50LnN0eWxlID0gJ3dp
ZHRoOiAwcHg7IGhlaWdodDogMHB4Oyc7CisgICAgb2JqRWxlbWVudC5kYXRhID0gZGVzdFVybDsK
KyAgICBvYmpFbGVtZW50Lm9uZXJyb3IgPSBvbmxvYWRfdGVzdDsKKyAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKG9iakVsZW1lbnQpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9yZWRpcmVjdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVkaXJlY3RzLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iNzUyZGUxZWNkYTYxYjI1YWE4NDlkZWU5ZGViNjlmMjVkMGEz
NmU4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVkaXJlY3RzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEyIEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQsIHdoZW4g
YSBmZXRjaGluZyByZXNvdXJjZXMgdGhhdCBlbmNvdW50ZXIgc2FtZS1vcmlnaW4gcmVkaXJlY3Rz
LCBhdHRyaWJ1dGVzIG9mIHRoZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGVudHJ5IGNvbmZv
cm0gdG8gdGhlIHNwZWNpZmljYXRpb24uCisKKworUEFTUyBWZXJpZnkgYXR0cmlidXRlcyBvZiBh
IHJlZGlyZWN0ZWQgc3R5bGVzaGVldCdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcKK1BBU1Mg
VmVyaWZ5IGF0dHJpYnV0ZXMgb2YgYSByZWRpcmVjdGVkIGltYWdlJ3MgUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZworUEFTUyBWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgaWZyYW1l
J3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZworUEFTUyBWZXJpZnkgYXR0cmlidXRlcyBvZiBh
IHJlZGlyZWN0ZWQgc2NyaXB0J3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZworUEFTUyBWZXJp
ZnkgYXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgc3luY2hyb25vdXMgWE1MSHR0cFJlcXVlc3Qn
cyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nCitQQVNTIFZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEg
c3luY2hyb25vdXMgWE1MSHR0cFJlcXVlc3QncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIHdo
ZXJlIHRoZSBpbml0aWFsIEhUVFAgcmVxdWVzdCBpcyByZWRpcmVjdGVkIHRvIGEgY3Jvc3Mtb3Jp
Z2luIEhUVFBTIHJlc291cmNlLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZWRpcmVjdHMuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3JlZGlyZWN0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJhNjk5MDdhNWY2ZTQ2YTNlOGE3OTA0MWRhMTcw
MzlkMTRkMjBmZWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZWRpcmVjdHMuaHRtbApAQCAtMCww
ICsxLDYxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmc6IHJlc291cmNlcyBmZXRjaGVkIHRo
cm91Z2ggc2FtZS1vcmlnaW4gcmVkaXJlY3RzPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0
aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVs
PSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI3Nl
Yy1wZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1p
bmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxv
YWRlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9lbnRyeS1pbnZhcmlh
bnRzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citjb25zdCB7SFRUUFNfTk9UU0FNRVNJVEVfT1JJ
R0lOfSA9IGdldF9ob3N0X2luZm8oKTsKK2NvbnN0IHJlZGlyZWN0X3VybCA9IGAvY29tbW9uL3Jl
ZGlyZWN0LnB5YDsKK2NvbnN0IHVybF9wcmVmaXggPSBgJHtyZWRpcmVjdF91cmx9P2xvY2F0aW9u
PS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2A7Citjb25zdCBodHRwc191cmxfcHJlZml4ID0g
YCR7cmVkaXJlY3RfdXJsfT9sb2NhdGlvbj0ke0hUVFBTX05PVFNBTUVTSVRFX09SSUdJTn0vcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlcy9gOworCithdHRyaWJ1dGVfdGVzdCgKKyAgbG9hZC5zdHls
ZXNoZWV0LCB1cmxfcHJlZml4ICsgInJlc291cmNlX3RpbWluZ190ZXN0MC5jc3MiLAorICBpbnZh
cmlhbnRzLmFzc2VydF9zYW1lX29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNlLAorICAiVmVyaWZ5
IGF0dHJpYnV0ZXMgb2YgYSByZWRpcmVjdGVkIHN0eWxlc2hlZXQncyBQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nIik7CisKK2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLmltYWdlLCB1cmxfcHJlZml4
ICsgImJsdWUucG5nIiwKKyAgaW52YXJpYW50cy5hc3NlcnRfc2FtZV9vcmlnaW5fcmVkaXJlY3Rl
ZF9yZXNvdXJjZSwKKyAgIlZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEgcmVkaXJlY3RlZCBpbWFnZSdz
IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmciKTsKKworYXR0cmlidXRlX3Rlc3QoCisgIGxvYWQu
aWZyYW1lLCB1cmxfcHJlZml4ICsgImdyZWVuLmh0bWwiLAorICBpbnZhcmlhbnRzLmFzc2VydF9z
YW1lX29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNlLAorICAiVmVyaWZ5IGF0dHJpYnV0ZXMgb2Yg
YSByZWRpcmVjdGVkIGlmcmFtZSdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmciKTsKKworYXR0
cmlidXRlX3Rlc3QoCisgIGxvYWQuc2NyaXB0LCB1cmxfcHJlZml4ICsgImVtcHR5X3NjcmlwdC5q
cyIsCisgIGludmFyaWFudHMuYXNzZXJ0X3NhbWVfb3JpZ2luX3JlZGlyZWN0ZWRfcmVzb3VyY2Us
CisgICJWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgc2NyaXB0J3MgUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZyIpOworCithdHRyaWJ1dGVfdGVzdCgKKyAgbG9hZC54aHJfc3luYywg
dXJsX3ByZWZpeCArICJncmVlbi5odG1sP2lkPXhociIsCisgIGludmFyaWFudHMuYXNzZXJ0X3Nh
bWVfb3JpZ2luX3JlZGlyZWN0ZWRfcmVzb3VyY2UsCisgICJWZXJpZnkgYXR0cmlidXRlcyBvZiBh
IHJlZGlyZWN0ZWQgc3luY2hyb25vdXMgWE1MSHR0cFJlcXVlc3QncyAiICsKKyAgIlBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmciKTsKKworYXR0cmlidXRlX3Rlc3QoCisgIGxvYWQueGhyX3N5bmMs
IGh0dHBzX3VybF9wcmVmaXggKyAiZ3JlZW4uaHRtbD9pZD14aHIiLAorICBpbnZhcmlhbnRzLmFz
c2VydF9jcm9zc19vcmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAgIlZlcmlmeSBhdHRyaWJ1
dGVzIG9mIGEgc3luY2hyb25vdXMgWE1MSHR0cFJlcXVlc3QncyAiICsKKyAgIlBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcgd2hlcmUgdGhlIGluaXRpYWwgSFRUUCByZXF1ZXN0IGlzIHJlZGlyZWN0
ZWQgIiArCisgICJ0byBhIGNyb3NzLW9yaWdpbiBIVFRQUyByZXNvdXJjZS4iCispOworCis8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxwPlRoaXMgdGVz
dCB2YWxpZGF0ZXMgdGhhdCwgd2hlbiBhIGZldGNoaW5nIHJlc291cmNlcyB0aGF0IGVuY291bnRl
cgorc2FtZS1vcmlnaW4gcmVkaXJlY3RzLCBhdHRyaWJ1dGVzIG9mIHRoZSBQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nIGVudHJ5Citjb25mb3JtIHRvIHRoZSBzcGVjaWZpY2F0aW9uLjwvcD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlLWlnbm9yZS1kYXRhLXVybC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25vcmUtZGF0YS11cmwtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEzZWM1YWY0NTRlYzFmM2QwOGQwN2JjMDliYmUxN2U5MmFmYjdjYTIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25vcmUtZGF0YS11cmwtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNCBAQAorCisKK1BBU1MgUmVzb3VyY2VzIHdpdGggZGF0YTogVVJJcyBtdXN0IG5v
dCBiZSBzdXJmYWNlZCBpbiBSZXNvdXJjZSBUaW1pbmcKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2UtaWdub3JlLWRhdGEtdXJsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25vcmUtZGF0YS11cmwuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hNzA1NmE4MDgwNzk2N2Q5Yjk0YjFkNGM1NGMwNjIwZGMyYTRiYWQ4Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2UtaWdub3JlLWRhdGEtdXJsLmh0bWwKQEAgLTAs
MCArMSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nIGlnbm9yZXMgcmVzb3VyY2VzIHdp
dGggZGF0YTogVVJJczwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIg
aHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0i
aHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNyZXNvdXJjZXMtaW5jbHVk
ZWQtaW4tdGhlLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmctaW50ZXJmYWNlIi8+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
cmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8aW1nIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBT1RtN0FB
QUFDSDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUNSQUVBT3c9PSI+PC9pbWc+Cis8c2NyaXB0Pgor
ICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9t
aXNlKHJlc29sdmUgPT4geworICAgICAgbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIodC5zdGVwX2Z1
bmMobGlzdCA9PiB7CisgICAgICAgIGNvbnN0IGVudHJpZXMgPSBsaXN0LmdldEVudHJpZXMoKTsK
KyAgICAgICAgY29uc3QgZGF0YUVudHJpZXMgPSBlbnRyaWVzLmZpbHRlcihlID0+IGUubmFtZS5p
bmNsdWRlcygnZGF0YTonKSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZGF0YUVudHJpZXMubGVu
Z3RoLCAwLCAnVGhlcmUgbXVzdCBiZSBubyBlbnRyeSBmb3IgYGRhdGE6IFVSTGAuJyk7CisgICAg
ICAgIGNvbnN0IGJsdWVFbnRyaWVzID0gZW50cmllcy5maWx0ZXIoZSA9PiBlLm5hbWUuaW5jbHVk
ZXMoJ2JsdWUucG5nJykpOworICAgICAgICBpZiAoYmx1ZUVudHJpZXMubGVuZ3RoKSB7CisgICAg
ICAgICAgLy8gV2UgY2FuIGZpbmlzaCB0aGUgdGVzdCBvbmNlIHdlIHNlZSB0aGUgZW50cnkgd2l0
aCBibHVlLnBuZy4KKyAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIH0KKyAgICAgIH0pKS5v
YnNlcnZlKHtlbnRyeVR5cGVzOiBbJ3Jlc291cmNlJ119KTsKKyAgICB9KTsKKyAgICAvLyBXYWl0
IHVudGlsIHRoZSBkb2N1bWVudCBpcyBsb2FkZWQuCisgICAgYXdhaXQgbmV3IFByb21pc2UocmVz
b2x2ZSA9PiB7CisgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJlc29sdmUp
OworICAgIH0pOworICAgIC8vIEFkZCB0aGUgYmx1ZS5wbmcgaW1hZ2UgYWZ0ZXIgZG9jdW1lbnQg
aXMgbG9hZGVkIHRvIGVuc3VyZSB3ZSd2ZSByZWNlaXZlZAorICAgIC8vIGFsbCBvZiB0aGUgcHJl
dmlvdXMgUmVzb3VyY2UgVGltaW5nIGVudHJpZXMuCisgICAgbG9hZC5pbWFnZSgnYmx1ZS5wbmcn
KTsKKyAgICByZXR1cm4gcHJvbWlzZTsKKyAgfSwgJ1Jlc291cmNlcyB3aXRoIGRhdGE6IFVSSXMg
bXVzdCBub3QgYmUgc3VyZmFjZWQgaW4gUmVzb3VyY2UgVGltaW5nJyk7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX1RBT19jcm9zc19vcmlnaW5f
cmVkaXJlY3RfY2hhaW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfVEFPX2Nyb3NzX29yaWdp
bl9yZWRpcmVjdF9jaGFpbi1leHBlY3RlZC50eHQKaW5kZXggNDdjZmQxZGRiNGU1NzU1N2Y0OTQ1
YTQwZDllMGUzMTg4NjE1OWM0Mi4uYzVmYWQ5MTUxYTgyNjc1Zjc3ZDQ4ODc3OGQzNjNmZWUwYjg0
YWNhMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfVEFPX2Nyb3NzX29yaWdpbl9yZWRpcmVjdF9j
aGFpbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfVEFPX2Nyb3NzX29yaWdpbl9yZWRp
cmVjdF9jaGFpbi1leHBlY3RlZC50eHQKQEAgLTMsOCArMyw4IEBACiBQQVNTIHdpbmRvdy5wZXJm
b3JtYW5jZSBpcyBkZWZpbmVkCiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlO
YW1lIGlzIGRlZmluZWQKIFBBU1MgVGhlcmUgc2hvdWxkIGJlIG9uZSBlbnRyeS4KLVBBU1MgcmVk
aXJlY3RTdGFydCA+IDAgaW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0Lgot
UEFTUyByZWRpcmVjdFN0YXJ0ID09IHN0YXJ0VGltZSBpbiB0aW1pbmcgYWxsb3dlZCBjcm9zcy1v
cmlnaW4gcmVkaXJlY3QuCi1QQVNTIHJlZGlyZWN0RW5kID4gcmVkaXJlY3RTdGFydCBpbiB0aW1p
bmcgYWxsb3dlZCBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuCitGQUlMIHJlZGlyZWN0U3RhcnQgPiAw
IGluIHRpbWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4gYXNzZXJ0X3RydWU6IHJl
ZGlyZWN0U3RhcnQgPiAwIGluIHRpbWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4g
ZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgcmVkaXJlY3RTdGFydCA9PSBzdGFydFRpbWUg
aW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LiBhc3NlcnRfZXF1YWxzOiBy
ZWRpcmVjdFN0YXJ0ID09IHN0YXJ0VGltZSBpbiB0aW1pbmcgYWxsb3dlZCBjcm9zcy1vcmlnaW4g
cmVkaXJlY3QuIGV4cGVjdGVkIDxub25kZXRlcm1pbmlzdGljIHRlc3Qgb3V0cHV0PiBidXQgZ290
IDAKK0ZBSUwgcmVkaXJlY3RFbmQgPiByZWRpcmVjdFN0YXJ0IGluIHRpbWluZyBhbGxvd2VkIGNy
b3NzLW9yaWdpbiByZWRpcmVjdC4gYXNzZXJ0X3RydWU6IHJlZGlyZWN0RW5kID4gcmVkaXJlY3RT
dGFydCBpbiB0aW1pbmcgYWxsb3dlZCBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuIGV4cGVjdGVkIHRy
dWUgZ290IGZhbHNlCiBQQVNTIGZldGNoU3RhcnQgPj0gcmVkaXJlY3RFbmQgaW4gdGltaW5nIGFs
bG93ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9j
YWNoZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX2NhY2hlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkNjFkNjM5
NjE2YjE4MDJmZjRiNjNkZTgyYTAxZmZkNzAxZjgxNGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZV9jYWNoZWQuaHRtbApAQCAtMCwwICsxLDUyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBU
aW1pbmcgY2FjaGVkIHJlc291cmNlczwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9
Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVs
cCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNkb20tcGVyZm9y
bWFuY2VyZXNvdXJjZXRpbWluZy1pbml0aWF0b3J0eXBlIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dl
YnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dl
YnBlcmZ0ZXN0aGFybmVzc2V4dGVuc2lvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgorc2V0dXAo
e2V4cGxpY2l0X2RvbmU6IHRydWV9KTsKKworLy8gZXhwbGljaXRseSB0ZXN0IHRoZSBuYW1lc3Bh
Y2UgYmVmb3JlIHdlIHN0YXJ0IHRlc3RpbmcKK3Rlc3RfbmFtZXNwYWNlKCJnZXRFbnRyaWVzQnlU
eXBlIik7CisKK3ZhciBkOwordmFyIGlmcmFtZTsKK3ZhciBpZnJhbWVCb2R5OwordmFyIGltYWdl
OwordmFyIHJhbmRvbSA9IE1hdGgucmFuZG9tKCk7CisKK2Z1bmN0aW9uIHNldHVwX2lmcmFtZSgp
IHsKKyAgICBpZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnJhbWVDb250ZXh0Jyk7
CisgICAgZCA9IGlmcmFtZS5jb250ZW50V2luZG93LmRvY3VtZW50OworICAgIGlmcmFtZUJvZHkg
PSBkLmJvZHk7CisgICAgaWZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBvbmxvYWRfdGVz
dCwgZmFsc2UpOworfQorZnVuY3Rpb24gb25sb2FkX3Rlc3QoKSB7CisgICAgaWYgKHdpbmRvdy5w
ZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlID09PSB1bmRlZmluZWQpIHsKKyAgICAgIGRvbmUo
KTsKKyAgICAgIHJldHVybjsKKyAgICB9CisgICAgdmFyIGNvbnRleHQgPSBuZXcgUGVyZm9ybWFu
Y2VDb250ZXh0KGlmcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlKTsKKyAgICB2YXIgZW50
cmllcyA9IGNvbnRleHQuZ2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKTsKKyAgICB0ZXN0X2Vx
dWFscyhlbnRyaWVzLmxlbmd0aCwgMiwgIlRoZXJlIHNob3VsZCBiZSB0d28gZW50cmllcyIpOwor
ICAgIGlmIChlbnRyaWVzLmxlbmd0aCA+PSAyKSB7CisgICAgICAgIHRlc3RfZXF1YWxzKGVudHJp
ZXNbMF0ubmFtZSwgZW50cmllc1sxXS5uYW1lLCAiQm90aCBlbnRyaWVzIHNob3VsZCBoYXZlIHRo
ZSBzYW1lIG5hbWUiKTsKKyAgICB9CisgICAgZG9uZSgpOworfQord2luZG93LnNldHVwX2lmcmFt
ZSA9IHNldHVwX2lmcmFtZTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3Jp
cHRpb248L2gxPgorPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGEgMzA0IE5vdCBNb2RpZmll
ZCByZXNvdXJjZSBhcHBlYXJzIGluIHRoZSBidWZmZXIuPC9wPgorPGRpdiBpZD0ibG9nIj48L2Rp
dj4KKzxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgc3JjPSJyZXNvdXJjZXMvZmFrZV9yZXNwb25z
ZXMuaHRtbCI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZV9pbml0aWF0b3JfdHlwZXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX2luaXRpYXRvcl90eXBlcy5o
dG1sCmluZGV4IDk5MTJkYTdjMzQwMDEzOGQ3MzI0NWFjYzM3MjQ2M2NhMTc0ZTZmNTguLjJlNTJm
MGU0Y2QwOWVjOWUwZDI2ZTI0OTRhYzVlMjBiNThjZTYyYjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlX2luaXRpYXRvcl90eXBlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX2luaXRpYXRvcl90eXBl
cy5odG1sCkBAIC05NSw4ICs5NSw4IEBAIGZ1bmN0aW9uIHBlcmZvcm1fdGVzdCgpIHsKICAgICBh
ZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ3Jl
c291cmNlX3RpbWluZ190ZXN0MC5wbmcnLCAnaW1nJyk7CiAgICAgYWRkRW50cnlJZkV4aXN0cyhl
bnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdyZXNvdXJjZV90aW1pbmdfdGVz
dDAucG5nP2lkPXNyY3NldC1zcmNzZXQnLCAnaW1nJyk7CiAgICAgYWRkRW50cnlJZkV4aXN0cyhl
bnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdyZXNvdXJjZV90aW1pbmdfdGVz
dDAucG5nP2lkPXNyY3NldC1zcmMnLCAnaW1nJyk7Ci0gICAgYWRkRW50cnlJZkV4aXN0cyhlbnRy
aWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdibGFua19wYWdlX2dyZWVuLmh0bScs
ICdpZnJhbWUnKTsKLSAgICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJp
ZXMsIHBhdGhuYW1lICsgJ2JsYW5rX3BhZ2VfZ3JlZW4uaHRtP2lkPWZyYW1lJywgJ2ZyYW1lJyk7
CisgICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFt
ZSArICdncmVlbi5odG1sJywgJ2lmcmFtZScpOworICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmll
cywgZXhwZWN0ZWRfZW50cmllcywgcGF0aG5hbWUgKyAnZ3JlZW4uaHRtbD9pZD1mcmFtZScsICdm
cmFtZScpOwogICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcywg
cGF0aG5hbWUgKyAnZW1wdHlfc2NyaXB0LmpzJywgJ3NjcmlwdCcpOwogICAgIGFkZEVudHJ5SWZF
eGlzdHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcywgcGF0aG5hbWUgKyAncmVzb3VyY2VfdGlt
aW5nX3Rlc3QwLmNzcz9pZD1lbWJlZCcsICdlbWJlZCcpOwogICAgIGFkZEVudHJ5SWZFeGlzdHMo
ZW50cmllcywgZXhwZWN0ZWRfZW50cmllcywgcGF0aG5hbWUgKyAncmVzb3VyY2VfdGltaW5nX3Rl
c3QwLmNzcz9pZD1uMScsICdjc3MnKTsKQEAgLTEyOCw3ICsxMjgsNyBAQCBmdW5jdGlvbiBwZXJm
b3JtX3Rlc3QoKSB7CiAgICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRy
aWVzLCBwYXRobmFtZSArICduZXN0ZWQuY3NzJywgJ2xpbmsnKTsKICAgICBhZGRFbnRyeUlmRXhp
c3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ25lc3RlZC5jc3M/aWQ9
cHJlZmV0Y2gnLCAnbGluaycpOwogICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywgZXhwZWN0
ZWRfZW50cmllcywgcGF0aG5hbWUgKyAnbmVzdGVkLmNzcz9pZD1wcmVsb2FkJywgJ2xpbmsnKTsK
LSAgICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1l
ICsgJ2JsYW5rX3BhZ2VfZ3JlZW4uaHRtP2lkPXByZXJlbmRlcicsICdsaW5rJyk7CisgICAgYWRk
RW50cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdncmVl
bi5odG1sP2lkPXByZXJlbmRlcicsICdsaW5rJyk7CiAgICAgYWRkRW50cnlJZkV4aXN0cyhlbnRy
aWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdtYW5pZmVzdC5qc29uJywgJ2xpbmsn
KTsKICAgICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhu
YW1lICsgJ2VtcHR5LnB5P2lkPWJlYWNvbicsICdiZWFjb24nKTsKICAgICBhZGRFbnRyeUlmRXhp
c3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ2VtcHR5LnB5P2lkPWZl
dGNoJywgJ2ZldGNoJyk7CkBAIC0xNTgsNyArMTU4LDcgQEAgd2luZG93Lm9uX2FzeW5jX3hocl9k
b25lID0gZnVuY3Rpb24oKSB7CiA8aDE+RGVzY3JpcHRpb248L2gxPgogPHA+VGhpcyB0ZXN0IHZh
bGlkYXRlcyB0aGF0IGFsbCBvZiB0aGUgaW5pdGlhdG9yIHR5cGVzIGFyZSByZXByZXNlbnRlZC48
L3A+CiA8ZGl2IGlkPSJsb2ciPjwvZGl2PgotPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBvbmxv
YWQ9Im9ubG9hZF90ZXN0KCk7IiBzcmM9InJlc291cmNlcy9hbGxfcmVzb3VyY2VfdHlwZXMuaHRt
IiBzdHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MHB4OyI+PC9pZnJhbWU+Ci08aWZyYW1l
IGlkPSJmcmFtZUNvbnRleHQyIiBvbmxvYWQ9ImZyYW1lc2V0X29ubG9hZCgpOyIgc3JjPSJyZXNv
dXJjZXMvZ3JlZW5fZnJhbWUuaHRtIiBzdHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MHB4
OyI+PC9pZnJhbWU+Cis8aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQiIG9ubG9hZD0ib25sb2FkX3Rl
c3QoKTsiIHNyYz0icmVzb3VyY2VzL2FsbF9yZXNvdXJjZV90eXBlcy5odG1sIiBzdHlsZT0id2lk
dGg6IDI1MHB4OyBoZWlnaHQ6IDI1MHB4OyI+PC9pZnJhbWU+Cis8aWZyYW1lIGlkPSJmcmFtZUNv
bnRleHQyIiBvbmxvYWQ9ImZyYW1lc2V0X29ubG9hZCgpOyIgc3JjPSJyZXNvdXJjZXMvZ3JlZW4t
ZnJhbWUuaHRtbCIgc3R5bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1l
PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfbmVzdGVkX2RlZGlj
YXRlZF93b3JrZXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfbmVzdGVkX2RlZGljYXRlZF93b3Jr
ZXIud29ya2VyLmpzCmluZGV4IGZjNzkzMDc1YmJhZGUxYjA4OTFlYThlY2Y1MDEzNzA1MWQ4NGI4
MjAuLjJjOWY1Zjk1NDI4YWNhNWNlOWQxODcxNDIyM2ZhYjZmNzhmMzYwYzAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3Jlc291cmNlX25lc3RlZF9kZWRpY2F0ZWRfd29ya2VyLndvcmtlci5qcworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZV9uZXN0ZWRfZGVkaWNhdGVkX3dvcmtlci53b3JrZXIuanMKQEAgLTEsNiArMSw2IEBA
CiBpbXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7CiAKLWFzeW5jX3Rl
c3QoYXN5bmMgZnVuY3Rpb24oKSB7Cithc3luY190ZXN0KGZ1bmN0aW9uKCkgewogICBjb25zdCB3
b3JrZXIgPSBuZXcgV29ya2VyKCdyZXNvdXJjZXMvd29ya2VyX3dpdGhfaW1hZ2VzLmpzJyk7CiAg
IHdvcmtlci5vbm1lc3NhZ2UgPSB0aGlzLnN0ZXBfZnVuY19kb25lKChldmVudCkgPT4gewogICAg
IGNvbnN0IGNoaWxkTnVtRW50cmllcyA9IGV2ZW50LmRhdGE7CkBAIC0xNCw0ICsxNCw0IEBAIGFz
eW5jX3Rlc3QoYXN5bmMgZnVuY3Rpb24oKSB7CiAgICAgd29ya2VyLnRlcm1pbmF0ZSgpOwogICB9
KTsKIH0sICJSZXNvdXJjZSB0aW1pbmcgZm9yIG5lc3RlZCBkZWRpY2F0ZWQgd29ya2VycyIpOwot
ZG9uZSgpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2RvbmUoKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3Jlc291cmNlX3RpbWluZ19jb250ZW50X2xlbmd0aC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZV90aW1pbmdfY29udGVudF9sZW5ndGgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzYTNm
ODhkMWJlYWMxMDM3MDA1ZWNhZjg4ODQ1MTYwM2NkZWVlN2EKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9yZXNvdXJjZV90aW1pbmdfY29udGVudF9sZW5ndGgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
OCBAQAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworUEFTUyBl
bmNvZGVkQm9keVNpemUgc2hvdWxkIGJlIGVxdWFsIHRvIHRoZSBhY3R1YWwgYnl0ZSBzaXplIG9m
IHRoZSBjb250ZW50CitQQVNTIGVuY29kZWRCb2R5U2l6ZSBzaG91bGQgYmUgZXF1YWwgdG8gdGhl
IGFjdHVhbCBieXRlIHNpemUgb2YgdGhlIGNvbnRlbnQgd2hlbiBubyBoZWFkZXIgcHJlc2VudAor
UEFTUyBlbmNvZGVkQm9keVNpemUgc2hvdWxkIGJlIGVxdWFsIHRvIHRoZSBhY3R1YWwgYnl0ZSBz
aXplIG9mIHRoZSBjb250ZW50IHdoZW4gaGVhZGVyIHZhbHVlIGlzIGxvd2VyIHRoYW4gYWN0dWFs
IGNvbnRlbnQKK1RJTUVPVVQgZW5jb2RlZEJvZHlTaXplIHNob3VsZCBiZSBlcXVhbCB0byB0aGUg
YWN0dWFsIGJ5dGUgc2l6ZSBvZiB0aGUgY29udGVudCB3aGVuIGhlYWRlciB2YWx1ZSBpcyBoaWdo
ZXIgdGhhbiBhY3R1YWwgY29udGVudCBUZXN0IHRpbWVkIG91dAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZV90aW1pbmdfY29udGVudF9sZW5ndGguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX3RpbWluZ19j
b250ZW50X2xlbmd0aC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMyYmQ4YTk3ZTA3MzQxMzIzMDYxNTEyNjk4
YTU2NTIzMmYxOTcyYmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV90aW1pbmdfY29u
dGVudF9sZW5ndGguaHRtbApAQCAtMCwwICsxLDM1IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5UaGlzIHRlc3QgdmFs
aWRhdGVzIHRoZSB2YWx1ZSBvZiBlbmNvZGVkQm9keVNpemUgaW4gY2VydGFpbiBzaXR1YXRpb25z
LjwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jl
c291cmNlLXRpbWluZy8jcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0PgorICAgIGZ1
bmN0aW9uIHRlc3RfcmVzb3VyY2VfdGltaW5nX2Zvcl9jb250ZW50X2xlbmd0aCh7YWN0dWFsQ29u
dGVudExlbmd0aCwgbGVuZ3RoSGVhZGVyfSwgdGl0bGUpIHsKKyAgICAgICAgcHJvbWlzZV90ZXN0
KGFzeW5jIHQgPT4geworICAgICAgICAgICAgY29uc3QgY29udGVudCA9IG5ldyBBcnJheShhY3R1
YWxDb250ZW50TGVuZ3RoKS5maWxsKCd4Jykuam9pbignJykKKyAgICAgICAgICAgIGNvbnN0IHVy
bCA9IGByZXNvdXJjZXMvcmVzb3VyY2UtdGltaW5nLWNvbnRlbnQtbGVuZ3RoLnB5P2NvbnRlbnQ9
JHtjb250ZW50fSZsZW5ndGg9JHtsZW5ndGhIZWFkZXJ9YAorICAgICAgICAgICAgZmV0Y2godXJs
KQorICAgICAgICAgICAgY29uc3QgZW50cnkgPSBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+
IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKChlbnRyeUxpc3QsIG9ic2VydmVyKSA9PiB7CisgICAg
ICAgICAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpCisgICAgICAgICAgICAgICAgcmVzb2x2
ZShlbnRyeUxpc3QuZ2V0RW50cmllcygpWzBdKQorICAgICAgICAgICAgfSkub2JzZXJ2ZSh7ZW50
cnlUeXBlczogWydyZXNvdXJjZSddfSkpCisKKyAgICAgICAgICAgIGNvbnN0IGV4cGVjdGVkQ29u
dGVudExlbmd0aCA9IE51bWJlci5pc0ludGVnZXIobGVuZ3RoSGVhZGVyKSA/IE1hdGgubWluKGFj
dHVhbENvbnRlbnRMZW5ndGgsIGxlbmd0aEhlYWRlcikgOiBhY3R1YWxDb250ZW50TGVuZ3RoCisg
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJ5LmVuY29kZWRCb2R5U2l6ZSwgZXhwZWN0ZWRD
b250ZW50TGVuZ3RoKQorICAgICAgICB9LCB0aXRsZSk7CisgICAgfQorCisgICAgdGVzdF9yZXNv
dXJjZV90aW1pbmdfZm9yX2NvbnRlbnRfbGVuZ3RoKHthY3R1YWxDb250ZW50TGVuZ3RoOiAzLCBs
ZW5ndGhIZWFkZXI6ICdhdXRvJ30sCisgICAgICAgICJlbmNvZGVkQm9keVNpemUgc2hvdWxkIGJl
IGVxdWFsIHRvIHRoZSBhY3R1YWwgYnl0ZSBzaXplIG9mIHRoZSBjb250ZW50IikKKyAgICB0ZXN0
X3Jlc291cmNlX3RpbWluZ19mb3JfY29udGVudF9sZW5ndGgoe2FjdHVhbENvbnRlbnRMZW5ndGg6
IDEzLCBsZW5ndGhIZWFkZXI6ICdub25lJ30sCisgICAgICAgICJlbmNvZGVkQm9keVNpemUgc2hv
dWxkIGJlIGVxdWFsIHRvIHRoZSBhY3R1YWwgYnl0ZSBzaXplIG9mIHRoZSBjb250ZW50IHdoZW4g
bm8gaGVhZGVyIHByZXNlbnQiKQorICAgIHRlc3RfcmVzb3VyY2VfdGltaW5nX2Zvcl9jb250ZW50
X2xlbmd0aCh7YWN0dWFsQ29udGVudExlbmd0aDogNywgbGVuZ3RoSGVhZGVyOiAzfSwKKyAgICAg
ICAgImVuY29kZWRCb2R5U2l6ZSBzaG91bGQgYmUgZXF1YWwgdG8gdGhlIGFjdHVhbCBieXRlIHNp
emUgb2YgdGhlIGNvbnRlbnQgd2hlbiBoZWFkZXIgdmFsdWUgaXMgbG93ZXIgdGhhbiBhY3R1YWwg
Y29udGVudCIpCisgICAgdGVzdF9yZXNvdXJjZV90aW1pbmdfZm9yX2NvbnRlbnRfbGVuZ3RoKHth
Y3R1YWxDb250ZW50TGVuZ3RoOiA4LCBsZW5ndGhIZWFkZXI6IDQwfSwKKyAgICAgICAgImVuY29k
ZWRCb2R5U2l6ZSBzaG91bGQgYmUgZXF1YWwgdG8gdGhlIGFjdHVhbCBieXRlIHNpemUgb2YgdGhl
IGNvbnRlbnQgd2hlbiBoZWFkZXIgdmFsdWUgaXMgaGlnaGVyIHRoYW4gYWN0dWFsIGNvbnRlbnQi
KQorPC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvMjAwX2VtcHR5
LmFzaXMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvMjAwX2VtcHR5LmFzaXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjVkMTBiZGEz
MjQ1MjhkMWQ4NTQ2M2I5YTE1YTM0N2Y1YzFmYWVkOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlcy8yMDBfZW1wdHkuYXNpcwpAQCAtMCwwICsxLDMgQEAKK0hUVFAvMS4wIDIwMCBPSwor
Q29udGVudC1MZW5ndGg6IDAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL1RBT1Jlc3BvbnNl
LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvcmVzb3VyY2VzL1RBT1Jlc3BvbnNlLnB5CmluZGV4IDkwOGI2ODg2MWFlODI2MmEx
OGUwODNiMDI2ZDE0NTkxZDFlMDIwNmUuLjYwMzkyYjhlMTBhZGE0ZmQ3MGEwM2E2MjU4ODQ5MzA2
ZTk3MTRlYzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9UQU9SZXNwb25zZS5weQorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9yZXNvdXJjZXMvVEFPUmVzcG9uc2UucHkKQEAgLTEsOCArMSwxMiBAQAoraW1wb3J0IG9zCisK
IGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICBvcmlnaW4gPSByZXF1ZXN0LmhlYWRl
cnNbYidvcmlnaW4nXQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGInQWNjZXNzLUNvbnRyb2wt
QWxsb3ctT3JpZ2luJywgb3JpZ2luKQorICAgIGlmIGInb3JpZ2luJyBpbiByZXF1ZXN0LmhlYWRl
cnM6CisgICAgICBvcmlnaW4gPSByZXF1ZXN0LmhlYWRlcnNbYidvcmlnaW4nXQorICAgICAgcmVz
cG9uc2UuaGVhZGVycy5zZXQoYidBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4nLCBvcmlnaW4p
CiAKICAgICB0YW8gPSByZXF1ZXN0LkdFVC5maXJzdChiJ3RhbycpCisgICAgaW1nID0gcmVxdWVz
dC5HRVQuZmlyc3QoYidpbWcnKSBpZiBiJ2ltZycgaW4gcmVxdWVzdC5HRVQgZWxzZSBOb25lCiAK
ICAgICBpZiB0YW8gPT0gYid6ZXJvJzoKICAgICAjIHplcm8gVEFPIHZhbHVlLCBmYWlsCkBAIC0x
NCw3ICsxOCw3IEBAIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICAjIG51bGwsIGZh
aWwgdW5sZXNzIGl0J3MgYW4gb3BhcXVlIG9yaWdpbgogICAgICAgICByZXNwb25zZS5oZWFkZXJz
LnNldChiJ1RpbWluZy1BbGxvdy1PcmlnaW4nLCBiJ251bGwnKQogICAgIGVsaWYgdGFvID09IGIn
TnVsbCc6Ci0gICAgIyBjYXNlLWluc2VudGl2ZSBudWxsLCBmYWlsCisgICAgIyBjYXNlLWluc2Vu
c2l0aXZlIG51bGwsIGZhaWwKICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYidUaW1pbmct
QWxsb3ctT3JpZ2luJywgYidOdWxsJykKICAgICBlbGlmIHRhbyA9PSBiJ29yaWdpbic6CiAgICAg
IyBjYXNlLXNlbnNpdGl2ZSBtYXRjaCBmb3Igb3JpZ2luLCBwYXNzCkBAIC00OSwzICs1MywxMiBA
QCBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CiAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMu
c2V0KGInVGltaW5nLUFsbG93LU9yaWdpbicsIG9yaWdpbi51cHBlcigpKQogICAgIGVsc2U6CiAg
ICAgICAgIHBhc3MKKyAgICByZXNwb25zZS5zdGF0dXMgPSAyMDAKKyAgICBpZiBpbWc6CisgICAg
ICByZXNwb25zZS5oZWFkZXJzLnNldChiIkNvbnRlbnQtVHlwZSIsIGIiaW1hZ2UvcG5nIikKKyAg
ICAgIHdpdGggb3BlbihyZXF1ZXN0LmRvY19yb290ICsgIi9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2VzL2JsdWUucG5nIiwgInJiIikgYXMgZjoKKyAgICAgICAgcmVzcG9uc2UuY29udGVudCA9IGYu
cmVhZCgpCisgICAgICAgIGYuY2xvc2UoKQorICAgIGVsc2U6CisgICAgICByZXNwb25zZS5oZWFk
ZXJzLnNldChiIkNvbnRlbnQtVHlwZSIsIGIidGV4dC9wbGFpbiIpCisgICAgICByZXNwb25zZS5j
b250ZW50ID0gIlRFU1QiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvYWxsX3Jlc291cmNlX3R5
cGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9yZXNvdXJjZXMvYWxsX3Jlc291cmNlX3R5cGVzLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTI1MmE0ODcyYWI0ZTI4ZTY2NTBjNDVjNzc5YjM4MDUyNTRmYTkwZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy9hbGxfcmVzb3VyY2VfdHlwZXMuaHRtbApAQCAtMCwwICsxLDEw
NyBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiBodHRwLWVxdWl2PSJDb250ZW50LVR5
cGUiIC8+CisgICAgICAgIDx0aXRsZT5BbGwgUmVzb3VyY2UgVHlwZXMgVGVzdCBQYWdlPC90aXRs
ZT4KKyAgICAgICAgPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSJlbXB0eS5weT9mYXZp
Y29uIj4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgYmFja2dyb3VuZD0nYmx1ZS5wbmc/aWQ9Ym9k
eSc+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93LnBhcmVudC5oYXNP
d25Qcm9wZXJ0eSgnb25fdGVzdF9ib2R5X2NyZWF0ZWQnKSkKKyAgICAgICAgICAgICAgICB3aW5k
b3cucGFyZW50Lm9uX3Rlc3RfYm9keV9jcmVhdGVkKCk7CisgICAgICAgIDwvc2NyaXB0PgorICAg
ICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Im5lc3RlZC5jc3MiPjwvbGluaz4KKyAg
ICAgICAgPGxpbmsgcmVsPSJwcmVmZXRjaCIgaHJlZj0ibmVzdGVkLmNzcz9pZD1wcmVmZXRjaCI+
PC9saW5rPgorICAgICAgICA8bGluayByZWw9InByZWxvYWQiIGhyZWY9Im5lc3RlZC5jc3M/aWQ9
cHJlbG9hZCIgYXM9InN0eWxlIj48L2xpbms+CisgICAgICAgIDxsaW5rIHJlbD0icHJlcmVuZGVy
IiBocmVmPSJncmVlbi5odG1sP2lkPXByZXJlbmRlciI+PC9saW5rPgorICAgICAgICA8bGluayBy
ZWw9Im1hbmlmZXN0IiBocmVmPSJtYW5pZmVzdC5qc29uIj48L2xpbms+CisgICAgICAgIDxpbWcg
c3JjPSJyZXNvdXJjZV90aW1pbmdfdGVzdDAucG5nIj48L2ltZz4KKyAgICAgICAgPGltZyBzcmM9
InJlc291cmNlX3RpbWluZ190ZXN0MC5wbmc/aWQ9c3Jjc2V0LXNyYyIKKyAgICAgICAgICAgIHNy
Y3NldD0icmVzb3VyY2VfdGltaW5nX3Rlc3QwLnBuZz9pZD1zcmNzZXQtc3Jjc2V0IDY3dyIKKyAg
ICAgICAgICAgIHNpemVzPSI2N3B4Ij48L2ltZz4KKyAgICAgICAgPGlmcmFtZSBzcmM9ImdyZWVu
Lmh0bWwiIHdpZHRoPSIxMDBweCIgaGVpZ2h0PSIxMDBweCI+PC9pZnJhbWU+CisgICAgICAgIDxz
Y3JpcHQgc3JjPSJlbXB0eV9zY3JpcHQuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0Pgor
ICAgICAgICAgICAgdmFyIGFzeW5jX3hociA9IG5ldyBYTUxIdHRwUmVxdWVzdDsKKyAgICAgICAg
ICAgIGFzeW5jX3hoci5vcGVuKCdHRVQnLCAnYmx1ZS5wbmc/aWQ9YXN5bmNfeGhyJywgdHJ1ZSk7
CisgICAgICAgICAgICBhc3luY194aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7
CisgICAgICAgICAgICAgICAgaWYgKGFzeW5jX3hoci5yZWFkeVN0YXRlID09IDQgJiYgYXN5bmNf
eGhyLnN0YXR1cyA9PSAyMDAgJiYgcGFyZW50Lmhhc093blByb3BlcnR5KCdvbl9hc3luY194aHJf
ZG9uZScpKQorICAgICAgICAgICAgICAgICAgICBwYXJlbnQub25fYXN5bmNfeGhyX2RvbmUoKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGFzeW5jX3hoci5zZW5kKCk7CisKKyAgICAgICAg
ICAgIGlmICh3aW5kb3cubmF2aWdhdG9yICYmIG5hdmlnYXRvci5zZW5kQmVhY29uKSB7CisgICAg
ICAgICAgICAgICAgbmF2aWdhdG9yLnNlbmRCZWFjb24oJ2VtcHR5LnB5P2lkPWJlYWNvbicpOwor
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAod2luZG93LmZldGNoKSB7CisgICAgICAg
ICAgICAgICAgZmV0Y2goJ2VtcHR5LnB5P2lkPWZldGNoJyk7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIGlmICh3aW5kb3cuRXZlbnRTb3VyY2UpIHsKKyAgICAgICAgICAgICAgICB2YXIg
ZXZ0U291cmNlID0gbmV3IEV2ZW50U291cmNlKCdldmVudHNvdXJjZS5weT9pZD1ldmVudHNvdXJj
ZScpOworICAgICAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgQGZvbnQtZmFjZSB7CisgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHJl
bW90ZUZvbnRBaGVtOworICAgICAgICAgICAgICAgIHNyYzogdXJsKCcvZm9udHMvQWhlbS50dGYn
KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmcmFtZSB7CisgICAgICAgICAgICAgICAg
YmFja2dyb3VuZDogdXJsKCdibHVlLnBuZz9pZD0xJyk7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICBib2R5IHsKKyAgICAgICAgICAgICAgICBjdXJzb3I6IHVybCgnYmx1ZS5wbmc/aWQ9Y3Vy
c29yJyksIHBvaW50ZXI7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB1bCB7CisgICAgICAg
ICAgICAgICAgZm9udC1mYW1pbHk6IHJlbW90ZUZvbnRBaGVtOworICAgICAgICAgICAgICAgIGxp
c3Qtc3R5bGUtaW1hZ2U6IHVybCgnYmx1ZS5wbmc/aWQ9MicpOworICAgICAgICAgICAgfQorICAg
ICAgICA8L3N0eWxlPgorICAgICAgICA8dWw+CisgICAgICAgICAgICA8bGk+VGVzdDwvbGk+Cisg
ICAgICAgIDwvdWw+CisgICAgICAgIDxvbD4KKyAgICAgICAgICAgIDxsaT5UZXN0PC9saT4KKyAg
ICAgICAgPC9vbD4KKyAgICAgICAgPGVtYmVkIHNyYz0icmVzb3VyY2VfdGltaW5nX3Rlc3QwLmNz
cz9pZD1lbWJlZCIgdHlwZT0idGV4dC9jc3MiPjwvZW1iZWQ+CisgICAgICAgIDxpbnB1dCB0eXBl
PSJpbWFnZSIgc3JjPSJibHVlLnBuZz9pZD1pbnB1dCI+PC9pbnB1dD4KKyAgICAgICAgPG9iamVj
dCB0eXBlPSJpbWFnZS9wbmciIGRhdGE9ImJsdWUucG5nP2lkPW9iamVjdCI+PC9vYmplY3Q+Cisg
ICAgICAgIDx2aWRlbyBwb3N0ZXI9ImJsdWUucG5nP2lkPXZpZGVvLXBvc3RlciI+PC92aWRlbz4K
KyAgICAgICAgPHZpZGVvIHNyYz0iL21lZGlhL3Rlc3QubXA0P2lkPXZpZGVvLXNyYyIgYXV0b3Bs
YXk9InRydWUiPjwvdmlkZW8+CisgICAgICAgIDx2aWRlbyBhdXRvcGxheT0idHJ1ZSI+CisgICAg
ICAgICAgICA8c291cmNlIHNyYz0iL21lZGlhL3Rlc3QubXA0P2lkPXZpZGVvLXNvdXJjZSIgdHlw
ZT0idmlkZW8vbXA0Ij4KKyAgICAgICAgICAgIDxzb3VyY2Ugc3JjPSIvbWVkaWEvdGVzdC5vZ3Y/
aWQ9dmlkZW8tc291cmNlIiB0eXBlPSJ2aWRlby9vZ2ciPgorICAgICAgICAgICAgPHRyYWNrIGtp
bmQ9InN1YnRpdGxlcyIgc3JjPSJlbXB0eS5weT9pZD12aWRlby10cmFjayIgc3JjbGFuZz0iZW4i
IGRlZmF1bHQ+CisgICAgICAgIDwvdmlkZW8+CisgICAgICAgIDxhdWRpbyBzcmM9ImVtcHR5LnB5
P2lkPWF1ZGlvLXNyYyI+PC9hdWRpbz4KKyAgICAgICAgPGF1ZGlvPgorICAgICAgICAgICAgPHNv
dXJjZSBzcmM9ImVtcHR5LnB5P2lkPWF1ZGlvLXNvdXJjZS13YXYiIHR5cGU9ImF1ZGlvL3dhdiIg
Lz4KKyAgICAgICAgICAgIDxzb3VyY2Ugc3JjPSJlbXB0eS5weT9pZD1hdWRpby1zb3VyY2UtbXBl
ZyIgdHlwZT0iYXVkaW8vbXBlZyIgLz4KKyAgICAgICAgICAgIDxzb3VyY2Ugc3JjPSJlbXB0eS5w
eT9pZD1hdWRpby1zb3VyY2Utb2dnIiB0eXBlPSJhdWRpby9vZ2ciIC8+CisgICAgICAgIDwvYXVk
aW8+CisgICAgICAgIDxzdmcgd2lkdGg9MjAwIGhlaWdodD0yMDAKKyAgICAgICAgICAgIHhtbG5z
PSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKKyAgICAgICAgICAgIHhtbG5zOnhsaW5rPSJo
dHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KKyAgICAgICAgICAgIDxpbWFnZSBocmVmPSJi
bHVlLnBuZz9pZD1zdmctaW1hZ2UiIGhlaWdodD0iMjAwIiB3aWR0aD0iMjAwIi8+CisgICAgICAg
IDwvc3ZnPgorICAgICAgICA8cGljdHVyZT4KKyAgICAgICAgICAgIDxzb3VyY2Ugc3Jjc2V0PSJi
bHVlLnBuZz9pZD1waWN0dXJlLXNvdXJjZSIgdHlwZT0iaW1hZ2UvcG5nIiAvPgorICAgICAgICAg
ICAgPGltZyBzcmM9ImJsdWUucG5nP2lkPXBpY3R1cmUtaW1nIiAvPgorICAgICAgICA8L3BpY3R1
cmU+CisgICAgICAgIDxwaWN0dXJlPgorICAgICAgICAgICAgPHNvdXJjZSBzcmNzZXQ9ImJsdWUu
cG5nP2lkPXBpY3R1cmUtbm90c3VwcG9ydGVkLXNvdXJjZSIgdHlwZT0iaW1hZ2Uvbm90c3VwcG9y
dGVkIiAvPgorICAgICAgICAgICAgPGltZyBzcmM9ImJsdWUucG5nP2lkPXBpY3R1cmUtbm90c3Vw
cG9ydGVkLWltZyIgLz4KKyAgICAgICAgPC9waWN0dXJlPgorICAgICAgICA8cGljdHVyZT4KKyAg
ICAgICAgICAgIDxpbWcgc3JjPSJibHVlLnBuZz9pZD1waWN0dXJlLWltZy1zcmMiCisgICAgICAg
ICAgICAgICAgc3Jjc2V0PSJibHVlLnBuZz9pZD1waWN0dXJlLWltZy1zcmNzZXQiCisgICAgICAg
ICAgICAgICAgc2l6ZXM9IjY3cHgiPjwvaW1nPgorICAgICAgICA8L3BpY3R1cmU+CisgICAgICAg
IDxwaWN0dXJlPgorICAgICAgICAgICAgPGltZyBzcmM9ImJsdWUucG5nP2lkPXBpY3R1cmUtOTl4
LWltZy1zcmMiCisgICAgICAgICAgICAgICAgc3Jjc2V0PSJibHVlLnBuZz9pZD1waWN0dXJlLTk5
eC1pbWctc3Jjc2V0IDk5eCIKKyAgICAgICAgICAgICAgICBzaXplcz0iNjdweCI+PC9pbWc+Cisg
ICAgICAgIDwvcGljdHVyZT4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2J1ZmZlci1m
dWxsLXV0aWxpdGllcy5qcwppbmRleCBlMGE0ZjBiMTA4MDk0NjU4YmUwYWVmNDUzYmY4MjZiZjAx
YzI4ZjkzLi4yMWNkNjMzY2VkOTdkYmY2Yzc1ZWFlMTBiZmQ5N2EyOTQyZTRiZDVhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy9idWZmZXItZnVsbC11dGlsaXRpZXMuanMKQEAgLTEyLDEyICsxMiwyNyBAQCBsZXQgeGhy
U2NyaXB0ID0gc3JjID0+IHsKICAgICB4aHIuc2VuZChudWxsKTsKIH0KIAotbGV0IHdhaXRGb3JO
ZXh0VGFzayA9ICgpID0+IHsKKy8vIFRoaXMgc2NyaXB0IHJlbGllcyBvbiByZXNvdXJjZXMvcmVz
b3VyY2UtbG9hZGVycy5qcy4gSW5jbHVkZSBpdCBiZWZvcmUgaW4gb3JkZXIgZm9yIHRoZSBiZWxv
dworLy8gbWV0aG9kcyB0byB3b3JrIHByb3Blcmx5LgorCisvLyBUaGUgcmVzb3VyY2VzIHVzZWQg
dG8gdHJpZ2dlciBuZXcgZW50cmllcy4KK2NvbnN0IHNjcmlwdFJlc291cmNlcyA9IFsKKyAgICAn
cmVzb3VyY2VzL2VtcHR5LmpzJywKKyAgICAncmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5qcycsCisg
ICAgJ3Jlc291cmNlcy9lbXB0eS5qcz9pZCcKK107CisKK2NvbnN0IHdhaXRGb3JOZXh0VGFzayA9
ICgpID0+IHsKICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CiAgICAgICAgIHN0
ZXBfdGltZW91dChyZXNvbHZlLCAwKTsKICAgICB9KTsKIH07CiAKK2NvbnN0IGNsZWFyQnVmZmVy
QW5kU2V0U2l6ZSA9IHNpemUgPT4geworICBwZXJmb3JtYW5jZS5jbGVhclJlc291cmNlVGltaW5n
cygpOworICBwZXJmb3JtYW5jZS5zZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUoc2l6ZSk7Cit9
CisKIGxldCB3YWl0VW50aWxDb25kaXRpb25Jc01ldCA9IGNvbmQgPT4gewogICAgIHJldHVybiBu
ZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKICAgICAgICAgbGV0IGNoZWNrQ29uZGl0aW9uID0gZnVu
Y3Rpb24oKSB7CkBAIC00NSwyNyArNjAsNTcgQEAgbGV0IHdhaXRGb3JFdmVudFRvRmlyZSA9ICgp
ID0+IHsKICAgICB9KTsKIH07CiAKLWxldCBjbGVhckJ1ZmZlckFuZFNldFNpemUgPSBzaXplID0+
IHsKLSAgICBwZXJmb3JtYW5jZS5jbGVhclJlc291cmNlVGltaW5ncygpOwotICAgIHBlcmZvcm1h
bmNlLnNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6ZShzaXplKTsKLX0KK2NvbnN0IGZvcmNlQnVm
ZmVyRnVsbEV2ZW50ID0gYXN5bmMgKCkgPT4geworICBjbGVhckJ1ZmZlckFuZFNldFNpemUoMSk7
CisgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyByZXNvbHZlID0+IHsKKyAgICBwZXJmb3JtYW5j
ZS5hZGRFdmVudExpc3RlbmVyKCdyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwnLCByZXNvbHZlKTsK
KyAgICAvLyBMb2FkIDIgcmVzb3VyY2VzIHRvIGVuc3VyZSBvbnJlc291cmNldGltaW5nYnVmZmVy
ZnVsbCBpcyBmaXJlZC4KKyAgICAvLyBMb2FkIHRoZW0gaW4gb3JkZXIgaW4gb3JkZXIgdG8gZ2V0
IHRoZSBlbnRyaWVzIGluIHRoYXQgb3JkZXIhCisgICAgYXdhaXQgbG9hZC5zY3JpcHQoc2NyaXB0
UmVzb3VyY2VzWzBdKTsKKyAgICBhd2FpdCBsb2FkLnNjcmlwdChzY3JpcHRSZXNvdXJjZXNbMV0p
OworICB9KTsKK307CiAKLWxldCBmaWxsVXBUaGVCdWZmZXJXaXRoU2luZ2xlUmVzb3VyY2UgPSBz
cmMgPT4gewotICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgICAgLy8g
VGhpcyByZXNvdXJjZSBnZXRzIGJ1ZmZlcmVkIGluIHRoZSByZXNvdXJjZSB0aW1pbmcgZW50cnkg
YnVmZmVyLgotICAgICAgICBhcHBlbmRTY3JpcHQoc3JjLCByZXNvbHZlKTsKLSAgICB9KTsKK2Nv
bnN0IGZpbGxVcFRoZUJ1ZmZlcldpdGhTaW5nbGVSZXNvdXJjZSA9IGFzeW5jIChzcmMgPSBzY3Jp
cHRSZXNvdXJjZXNbMF0pID0+IHsKKyAgY2xlYXJCdWZmZXJBbmRTZXRTaXplKDEpOworICBhd2Fp
dCBsb2FkLnNjcmlwdChzcmMpOwogfTsKIAotbGV0IGxvYWRSZXNvdXJjZSA9IHNyYyA9PiB7Ci0g
ICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgICAgICBhcHBlbmRTY3JpcHQo
c3JjLCByZXNvbHZlKTsKLSAgICB9KTsKK2NvbnN0IGZpbGxVcFRoZUJ1ZmZlcldpdGhUd29SZXNv
dXJjZXMgPSBhc3luYyAoKSA9PiB7CisgICAgY2xlYXJCdWZmZXJBbmRTZXRTaXplKDIpOworICAg
IC8vIExvYWQgdGhlbSBpbiBvcmRlciBpbiBvcmRlciB0byBnZXQgdGhlIGVudHJpZXMgaW4gdGhh
dCBvcmRlciEKKyAgICBhd2FpdCBsb2FkLnNjcmlwdChzY3JpcHRSZXNvdXJjZXNbMF0pOworICAg
IGF3YWl0IGxvYWQuc2NyaXB0KHNjcmlwdFJlc291cmNlc1sxXSk7CiB9OwogCi1sZXQgZmlsbFVw
VGhlQnVmZmVyV2l0aFR3b1Jlc291cmNlcyA9IGFzeW5jIHNyYyA9PiB7Ci0gICAgLy8gVGhlc2Ug
cmVzb3VyY2VzIGdldCBidWZmZXJlZCBpbiB0aGUgcmVzb3VyY2UgdGltaW5nIGVudHJ5IGJ1ZmZl
ci4KLSAgICBhd2FpdCBsb2FkUmVzb3VyY2Uoc3JjKTsKLSAgICBhd2FpdCBsb2FkUmVzb3VyY2Uo
c3JjICsgJz9zZWNvbmQnKTsKK2NvbnN0IGFkZEFzc2VydFVucmVhY2hlZEJ1ZmZlckZ1bGwgPSB0
ID0+IHsKKyAgcGVyZm9ybWFuY2UuYWRkRXZlbnRMaXN0ZW5lcigncmVzb3VyY2V0aW1pbmdidWZm
ZXJmdWxsJywgdC5zdGVwX2Z1bmMoKCkgPT4geworICAgIGFzc2VydF91bnJlYWNoZWQoInJlc291
cmNldGltaW5nYnVmZmVyZnVsbCBzaG91bGQgbm90IGZpcmUiKQorICB9KSk7CiB9OwogCitjb25z
dCBjaGVja0VudHJpZXMgPSBudW1FbnRyaWVzID0+IHsKKyAgY29uc3QgZW50cmllcyA9IHBlcmZv
cm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7CisgIGFzc2VydF9lcXVhbHMoZW50
cmllcy5sZW5ndGgsIG51bUVudHJpZXMsCisgICAgICAnTnVtYmVyIG9mIGVudHJpZXMgZG9lcyBu
b3QgbWF0Y2ggdGhlIGV4cGVjdGVkIHZhbHVlLicpOworICBhc3NlcnRfdHJ1ZShlbnRyaWVzWzBd
Lm5hbWUuaW5jbHVkZXMoc2NyaXB0UmVzb3VyY2VzWzBdKSwKKyAgICAgIHNjcmlwdFJlc291cmNl
c1swXSArICIgaXMgaW4gdGhlIGVudHJpZXMgYnVmZmVyIik7CisgIGlmIChlbnRyaWVzLmxlbmd0
aCA+IDEpIHsKKyAgICBhc3NlcnRfdHJ1ZShlbnRyaWVzWzFdLm5hbWUuaW5jbHVkZXMoc2NyaXB0
UmVzb3VyY2VzWzFdKSwKKyAgICAgICAgc2NyaXB0UmVzb3VyY2VzWzFdICsgIiBpcyBpbiB0aGUg
ZW50cmllcyBidWZmZXIiKTsKKyAgfQorICBpZiAoZW50cmllcy5sZW5ndGggPiAyKSB7CisgICAg
YXNzZXJ0X3RydWUoZW50cmllc1syXS5uYW1lLmluY2x1ZGVzKHNjcmlwdFJlc291cmNlc1syXSks
CisgICAgICAgIHNjcmlwdFJlc291cmNlc1syXSArICIgaXMgaW4gdGhlIGVudHJpZXMgYnVmZmVy
Iik7CisgIH0KK30KKworY29uc3QgYnVmZmVyRnVsbEZpcmVQcm9taXNlID0gbmV3IFByb21pc2Uo
cmVzb2x2ZSA9PiB7CisgIHBlcmZvcm1hbmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc291cmNldGlt
aW5nYnVmZmVyZnVsbCcsIGFzeW5jICgpID0+IHsKKyAgICAvLyBXYWl0IGZvciB0aGUgbmV4dCB0
YXNrIGp1c3QgdG8gZW5zdXJlIHRoYXQgYWxsIGJ1ZmZlcmZ1bGwgZXZlbnRzIGhhdmUgZmlyZWQs
IGFuZCB0byBlbnN1cmUKKyAgICAvLyB0aGF0IHRoZSBzZWNvbmRhcnkgYnVmZmVyIGlzIGNvcGll
ZCAoYXMgdGhpcyBpcyBhbiBldmVudCwgdGhlcmUgbWF5IGJlIG1pY3JvdGFzayBjaGVja3BvaW50
cworICAgIC8vIHJpZ2h0IGFmdGVyIHJ1bm5pbmcgYW4gZXZlbnQgaGFuZGxlcikuCisgICAgYXdh
aXQgd2FpdEZvck5leHRUYXNrKCk7CisgICAgcmVzb2x2ZSgpOworICB9KTsKK30pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvcmVzb3VyY2VzL2NhY2hlYWJsZS1hbmQtdmFsaWRhdGVkLnB5IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2VzL2NhY2hlYWJsZS1hbmQtdmFsaWRhdGVkLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMxZjBlM2FiNDE3YTY5
MDc5ZjIwNzQ4NzUxYjJkNmJlOWE3ZDU1NTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZXMvY2FjaGVhYmxlLWFuZC12YWxpZGF0ZWQucHkKQEAgLTAsMCArMSwxMSBAQAorZGVmIG1haW4o
cmVxdWVzdCwgcmVzcG9uc2UpOgorICAgIHJldmFsaWRhdGlvbiA9ICdDYWNoZS1Db250cm9sJyBp
biByZXF1ZXN0LmhlYWRlcnMKKyAgICBjb250ZW50ID0gcmVxdWVzdC5HRVQuZmlyc3QoYidjb250
ZW50JykKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiJ0NhY2hlLUNvbnRyb2wnLCBiJ21heC1h
Z2U9NjAnKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGInRVRhZycsIGInYXNzZGZzZGZlJykK
KyAgICBpZiByZXZhbGlkYXRpb246CisgICAgICByZXNwb25zZS5zdGF0dXMgPSAoMzA0LCBiJ05v
dE1vZGlmaWVkJykKKyAgICBlbHNlOgorICAgICAgcmVzcG9uc2Uuc3RhdHVzID0gKDIwMCwgYidP
SycpOworICAgICAgcmVzcG9uc2Uud3JpdGVfc3RhdHVzX2hlYWRlcnMoKQorICAgICAgcmVzcG9u
c2Uud3JpdGVyLndyaXRlKGNvbnRlbnQpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2Nvbm5l
Y3Rpb24tcmV1c2UtdGVzdC5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jb25uZWN0aW9uLXJldXNlLXRlc3Qu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNGRlZjE2YzBiMGVjOTA0N2Y2ZjIyMjA3YmZlMTk5MzMwMjI5ODY0MQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jb25uZWN0aW9uLXJldXNlLXRlc3QuanMK
QEAgLTAsMCArMSw3MCBAQAorLy8gVGhpcyBzY3JpcHQgaXMgbG9hZGVkIGluIEhUVFAgYW5kIEhU
VFBTIGNvbnRleHRzIHRvIHZhbGlkYXRlCisvLyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGVu
dHJpZXMnIGF0dHJpYnV0ZXMgd2hlbiByZXVzaW5nIGNvbm5lY3Rpb25zLgorCisvLyBNYWtlIHRo
ZSBmaXJzdCByZXF1ZXN0IGJlZm9yZSBjYWxsaW5nICdhdHRyaWJ1dGVfdGVzdCcgc28gdGhhdCBv
bmx5IHRoZQorLy8gc2Vjb25kIHJlcXVlc3QncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGVu
dHJ5IHdpbGwgYmUgaW50ZXJyb2dhdGVkLgorLy8gV2UgZG9uJ3QgY2hlY2sgdGhlIGZpcnN0IHJl
cXVlc3QncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGVudHJ5IGJlY2F1c2UKKy8vIHRoYXQn
cyBub3Qgd2hhdCB0aGlzIHRlc3QgaXMgdHJ5aW5nIHRvIHZhbGlkYXRlLgorLy8KKy8vIE5vdGU6
IHRvIGVuc3VyZSB0aGF0IHdlIHJldXNlIHRoZSBjb25uZWN0aW9uIHRvIGZldGNoIG11bHRpcGxl
IHJlc291cmNlcywKKy8vIHdlIHVzZSB0aGUgc2FtZSBYTUxIdHRwUmVxdWVzdCBvYmplY3QgZm9y
IGVhY2ggcmVxdWVzdC4gQWx0aG91Z2ggaXQgZG9lc24ndAorLy8gc2VlbSB0byBiZSBzcGVjaWZp
ZWQsIGVhY2ggYnJvd3NlciB0ZXN0ZWQgYnkgV1BUIHdpbGwgcmV1c2UgdGhlIHVuZGVybHlpbmcK
Ky8vIFRDUCBjb25uZWN0aW9uIHdpdGggdGhpcyBhcHByb2FjaC4gUHJlLWVzdGFibGlzaGluZyB0
aGUgWEhSJ3MgY29ubmVjdGlvbgorLy8gaGVscHMgdXMgdG8gdGVzdCBjb25uZWN0aW9uIHJldXNl
IGFsc28gaW4gYnJvd3NlcnMgdGhhdCBtYXkga2V5IHRoZWlyCisvLyBjb25uZWN0aW9ucyBvbiB0
aGUgcmVsYXRlZCByZXF1ZXN0J3MgY3JlZGVudGlhbHMgbW9kZS4KK2NvbnN0IGNsaWVudCA9IG5l
dyBYTUxIdHRwUmVxdWVzdCgpOworY29uc3QgaWRlbnRpZmllciA9IE1hdGgucmFuZG9tKCk7Citj
b25zdCBwYXRoID0gYHJlc291cmNlcy9mYWtlX3Jlc3BvbnNlcy5weT90YWc9JHtpZGVudGlmaWVy
fWA7CitjbGllbnQub3BlbigiR0VUIiwgcGF0aCwgZmFsc2UpOworY2xpZW50LnNlbmQoKTsKKwor
YXR0cmlidXRlX3Rlc3QoCisgIGFzeW5jICgpID0+IHsKKyAgICBjbGllbnQub3BlbigiR0VUIiwg
cGF0aCArICImc2FtZV9yZXNvdXJjZT1mYWxzZSIsIGZhbHNlKTsKKyAgICBjbGllbnQuc2VuZCgp
OworCisgICAgLy8gV2UgZXhwZWN0IHRvIGdldCBhIDIwMCBPayByZXNwb25zZSBiZWNhdXNlIHdl
J3ZlIHJlcXVlc3RlZCBhIGRpZmZlcmVudAorICAgIC8vIHJlc291cmNlIHRoYW4gcHJldmlvdXMg
cmVxdWVzdHMuCisgICAgaWYgKGNsaWVudC5zdGF0dXMgIT0gMjAwKSB7CisgICAgICB0aHJvdyBu
ZXcgRXJyb3IoYEdvdCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhIDIwMCByZXNwb25zZS4gYCArCisg
ICAgICAgICAgICAgICAgICAgICAgYGNsaWVudC5zdGF0dXM6ICR7Y2xpZW50LnN0YXR1c31gKTsK
KyAgICB9CisgIH0sIHBhdGgsIGVudHJ5ID0+IHsKKyAgICBpbnZhcmlhbnRzLmFzc2VydF9jb25u
ZWN0aW9uX3JldXNlZChlbnRyeSk7CisKKyAgICAvLyBUaGUgZW50cnkgbXVzdCBhbHNvIGZvbGxv
dyB0aGUgc3BlY2lmaWNhdGlvbiBmb3IgYW55IGVudHJ5IGNvcnJlc3BvbmRpbmcKKyAgICAvLyB0
byBhICd0eXBpY2FsJyAyMDAgT2sgcmVzcG9uc2UuCisgICAgaWYgKHNlbGYubG9jYXRpb24ucHJv
dG9jb2wgPT0gJ2h0dHBzOicpIHsKKyAgICAgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzX25v
X3JlZGlyZWN0X2h0dHBzKGVudHJ5KTsKKyAgICB9IGVsc2UgeworICAgICAgaW52YXJpYW50cy5h
c3NlcnRfdGFvX3Bhc3Nfbm9fcmVkaXJlY3RfaHR0cChlbnRyeSk7CisgICAgfQorICB9LAorICAi
UGVyZm9ybWFuY2VSZXNyb3VjZVRpbWluZyBlbnRyaWVzIG5lZWQgdG8gY29uZm9ybSB0byB0aGUg
c3BlYyB3aGVuIGEgIiArCisgICJkaXN0aW5jdCByZXNvdXJjZSBpcyBmZXRjaGVkIG92ZXIgYSBw
ZXJzaXN0ZW50IGNvbm5lY3Rpb24iKTsKKworYXR0cmlidXRlX3Rlc3QoCisgIGFzeW5jICgpID0+
IHsKKyAgICBjbGllbnQub3BlbigiR0VUIiwgcGF0aCwgZmFsc2UpOworICAgIGNsaWVudC5zZXRS
ZXF1ZXN0SGVhZGVyKCJJZi1Ob25lLU1hdGNoIiwgaWRlbnRpZmllcik7CisgICAgY2xpZW50LnNl
bmQoKTsKKworICAgIC8vIFdlIGV4cGVjdCB0byBnZXQgYSAzMDQgTm90IE1vZGlmaWVkIHJlc3Bv
bnNlIGJlY2F1c2Ugd2UndmUgdXNlZCBhCisgICAgLy8gbWF0Y2hpbmcgJ2lkZW50aWZpZXInIGZv
ciB0aGUgSWYtTm9uZS1NYXRjaCBoZWFkZXIuCisgICAgaWYgKGNsaWVudC5zdGF0dXMgIT0gMzA0
KSB7CisgICAgICB0aHJvdyBuZXcgRXJyb3IoYEdvdCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhIDMw
NCByZXNwb25zZS4gYCArCisgICAgICAgICAgICAgICAgICAgICAgYGNsaWVudC5zdGF0dXM6ICR7
Y2xpZW50LnN0YXR1c31gKTsKKyAgICB9CisgIH0sIHBhdGgsIGVudHJ5ID0+IHsKKyAgICBpbnZh
cmlhbnRzLmFzc2VydF9jb25uZWN0aW9uX3JldXNlZChlbnRyeSk7CisKKyAgICAvLyBUaGUgZW50
cnkgbXVzdCBhbHNvIGZvbGxvdyB0aGUgc3BlY2lmaWNhdGlvbiBmb3IgYW55IGVudHJ5IGNvcnJl
c3BvbmRpbmcKKyAgICAvLyB0byBhICd0eXBpY2FsJyAzMDQgTm90IE1vZGlmaWVkIHJlc3BvbnNl
LgorICAgIGlmIChzZWxmLmxvY2F0aW9uLnByb3RvY29sID09ICdodHRwczonKSB7CisgICAgICBp
bnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc18zMDRfbm90X21vZGlmaWVkX2h0dHBzKGVudHJ5KTsK
KyAgICB9IGVsc2UgeworICAgICAgaW52YXJpYW50cy5hc3NlcnRfdGFvX3Bhc3NfMzA0X25vdF9t
b2RpZmllZF9odHRwKGVudHJ5KTsKKyAgICB9CisgIH0sCisgICJQZXJmb3JtYW5jZVJlc3JvdWNl
VGltaW5nIGVudHJpZXMgbmVlZCB0byBjb25mb3JtIHRvIHRoZSBzcGVjIHdoZW4gdGhlICIgKwor
ICAicmVzb3VyY2UgaXMgY2FjaGUtcmV2YWxpZGF0ZWQgb3ZlciBhIHBlcnNpc3RlbnQgY29ubmVj
dGlvbiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NzcC1kZWZhdWx0LW5vbmUuaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3Jlc291cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWY1OWQ4YzIy
NTBmN2YxN2YxNDM4ODdkYzRmOGU2OGNkZjdmYWE4MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0bWwKQEAgLTAsMCArMSwzIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5lbXB0eSBwYWdlPC90aXRsZT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0bWwuaGVhZGVycyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3Jlc291cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0bWwuaGVhZGVycwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5k
NjZmODg2ZGQyM2Q0NGJiMzM3NTBjYjU3MjNmM2VkYjZiNzkzMGFiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL2NzcC1kZWZhdWx0LW5vbmUuaHRtbC5oZWFkZXJzCkBAIC0wLDAgKzEs
MiBAQAorQ29udGVudC1TZWN1cml0eS1Qb2xpY3k6IGRlZmF1bHQtc3JjICdub25lJworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3QuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NGNk
ZDhhODcwMWViNGQ3NDlmMTEyYWQ0MDE1ZDRlNTc3OWI3N2IxCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VzL2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3QuaHRtbApAQCAtMCwwICsxLDI4
IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0icmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
ZW50cnktaW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citjb25zdCBw
YXRoID0gbG9jYXRpb24ub3JpZ2luICsKKyAgICAgICAgICAgICAiL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvaWZyYW1lLXNldGRvbWFpbi5zdWIuaHRtbCI7CithdHRyaWJ1dGVfdGVzdF93aXRo
X3ZhbGlkYXRvcihsb2FkLmlmcmFtZSwgcGF0aCwKKyAgZWwgPT4geworICAgIHRyeSB7CisgICAg
ICBlbC5jb250ZW50V2luZG93LmRvY3VtZW50OworICAgICAgdGhyb3cgbmV3IEVycm9yKCJpZnJh
bWUgZG9jdW1lbnQuZG9tYWluIHdhcyBub3Qgc2V0Iik7CisgICAgfSBjYXRjaChlcnJvcikgewor
ICAgICAgaWYgKGVycm9yLm5hbWUgIT0gIlNlY3VyaXR5RXJyb3IiKSB7CisgICAgICAgIHRocm93
KGVycm9yKTsKKyAgICAgIH0KKyAgICB9CisgIH0sCisgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19w
YXNzX25vX3JlZGlyZWN0X2h0dHAsCisgICJ0ZXN0IHRoYXQgZG9jdW1lbnQuZG9tYWluIGJlaW5n
IHNldCBkb2Vzbid0IGhhdmUgYW4gaW1wYWN0IG9uIHRoZSAiICsKKyAgInJlc291cmNlIHRpbWlu
ZyBlbnRyeS4iCispOworPC9zY3JpcHQ+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1
bWVudC1yZWZyZXNoZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVudC1yZWZyZXNoZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43ZTRjYTA5ODkxZWQzNWUyNDRiMTUxNTFhMmE2MDc3YWY3NGU4NjVmCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2RvY3VtZW50LXJlZnJlc2hlZC5odG1sCkBA
IC0wLDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04IiAvPgorPC9oZWFkPgorPGJvZHk+CisgICAgUmVmcmVzaGVkIGRvY3VtZW50
IQorPHNjcmlwdD4KKyAgICB0b3AucG9zdE1lc3NhZ2UoInJlZnJlc2hlZCIsICIqIik7Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVu
dC10aGF0LXJlZnJlc2hlcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2RvY3VtZW50LXRoYXQtcmVmcmVz
aGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNzU1MjI3ODJhNjJkYmUzYjk4YjJmMWEwOWM1YmFiYzcwNjNi
NzUxMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVudC10aGF0LXJlZnJl
c2hlcy5odG1sCkBAIC0wLDAgKzEsOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8bWV0YSBodHRwLWVxdWl2PSJyZWZyZXNoIiBj
b250ZW50PSIwO2RvY3VtZW50LXJlZnJlc2hlZC5odG1sIj4KKzwvaGVhZD4KKzxib2R5PjwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9lbWJlZC1yZWZyZXNoLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvZW1iZWQtcmVmcmVzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRhNDlmZDBiNGMx
YjU0YzBmMDMyMDBmN2VkMmNiMmFlMjcyMzk3ODgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZXMvZW1iZWQtcmVmcmVzaC5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291
cmNlIFRpbWluZyBlbWJlZCByZWZyZXNoPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dl
dC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJuZXN0ZWQtY29udGV4
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgICBzZXR1cF9yZWZyZXNoX3Rlc3QoKTsKKzwv
c2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8ZW1iZWQgdHlwZT0idGV4dC9odG1sIj4KKzxz
Y3JpcHQ+CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImVtYmVkIilbMF0uc3Jj
ID0gcHJlX3JlZnJlc2hfdXJsOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMv
Z3JlZW4tZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi1mcmFtZS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjk2MTMyNDBhZTM4Nzg5YTEwNGQ3N2Q1NmY4OTBmZjYyNDIwOTM0YjAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4tZnJhbWUuaHRtbApAQCAtMCwwICsxLDcgQEAKKzxo
dG1sPgorICA8aGVhZD4KKyAgICA8ZnJhbWVzZXQ+CisgICAgICA8ZnJhbWUgc3JjPSJncmVlbi5o
dG1sP2lkPWZyYW1lIj4KKyAgICA8L2ZyYW1lc2V0PgorICA8L2hlYWQ+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmI4YTE5NDdiNzdlMjVhYzZiMGQxMDBjNzU5MzJlOGMwYTY3ZDg0NmYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4uaHRtbApAQCAtMCwwICsxLDEwIEBA
Cis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBjb250
ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Lz4KKyAgICAgICAgPHRpdGxlPkdyZWVuIFRlc3QgUGFnZTwvdGl0bGU+CisgICAgPC9oZWFkPgor
ICAgIDxib2R5IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiMwMEZGMDA7Ij4KKyAgICAgICAgPGgx
PlBsYWNlaG9sZGVyPC9oMT4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvZ3JlZW4uaHRtbC5oZWFkZXJzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2dyZWVuLmh0bWwuaGVh
ZGVycwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jYjc2MmVmZjgwNjg0OWRmNDZkYzc1OGVmN2I5OGI2M2YyN2Y1NGM5
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2dyZWVuLmh0bWwuaGVhZGVycwpAQCAt
MCwwICsxIEBACitBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW46ICoKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlcy9nemlwX3htbC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9nemlwX3htbC5weQppbmRleCAy
MjkzNjA1YWMzM2E0ZDM1N2E0MjZjZGUxMzliYjdkNDRlNGUwY2IzLi43ZGViYzljZTNmNmNiMDYx
YmU4Y2EzN2I3M2ZjZjlmMmE1Mzk2Mzg5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3ppcF94
bWwucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2d6aXBfeG1sLnB5CkBAIC0xLDcgKzEsNyBAQAogaW1w
b3J0IGd6aXAgYXMgZ3ppcF9tb2R1bGUKIGltcG9ydCBvcwogCi1mcm9tIHNpeCBpbXBvcnQgQnl0
ZXNJTworZnJvbSBpbyBpbXBvcnQgQnl0ZXNJTwogCiBmcm9tIHdwdHNlcnZlLnV0aWxzIGltcG9y
dCBpc29tb3JwaGljX2RlY29kZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvaWZyYW1lLXJl
ZnJlc2guaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9pZnJhbWUtcmVmcmVzaC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjRjZTNlYTA0MjQyOTdhYzdhODY2NGZjN2Y3YTZkY2JmZjY0ZDZmMTQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvaWZyYW1lLXJlZnJlc2guaHRtbApAQCAtMCwwICsxLDE1IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4K
Kzx0aXRsZT5SZXNvdXJjZSBUaW1pbmcgaWZyYW1lIHJlZnJlc2g8L3RpdGxlPgorPHNjcmlwdCBz
cmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Im5lc3RlZC1jb250ZXh0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICAgIHNldHVwX3JlZnJl
c2hfdGVzdCgpOworPC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4KKzxpZnJhbWU+PC9pZnJh
bWU+Cis8c2NyaXB0PgorICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpZnJhbWUi
KVswXS5zcmMgPSBwcmVfcmVmcmVzaF91cmw7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlcy9pZnJhbWUtcmVsb2FkLVRBTy5zdWIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9pZnJhbWUt
cmVsb2FkLVRBTy5zdWIuaHRtbAppbmRleCAyNTY4MDI2ZTY0ZWRiODRlNTc0ZTVjMWIwNmYzMjNj
YjM1ODliOTkyLi41NzdhZmY3NzU4Yzc3OTg5M2YwMTA2NThkMjE2ZjM0ODAyYTRlZGZlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvaWZyYW1lLXJlbG9hZC1UQU8uc3ViLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL2lmcmFtZS1yZWxvYWQtVEFPLnN1Yi5odG1sCkBAIC0xLDE0ICsxLDE0IEBACiA8
c3R5bGU+CiBAZm9udC1mYWNlIHsKICAgICBmb250LWZhbWlseTogYWhlbTsKLSAgICBzcmM6IHVy
bChodHRwOi8ve3tob3N0c1thbHRdW119fTp7e3BvcnRzW2h0dHBdWzFdfX0vcmVzb3VyY2UtdGlt
aW5nL3Jlc291cmNlcy9jb3JzLWFoZW0ucHkpOworICAgIHNyYzogdXJsKGh0dHA6Ly97e2RvbWFp
bnNbd3d3XX19Ont7cG9ydHNbaHR0cF1bMV19fS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2Nv
cnMtYWhlbS5weSk7CiB9CiA8L3N0eWxlPgogPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IGFoZW07
Ij5UaGlzIGZldGNoZXMgYWhlbSBmb250LjwvZGl2PgogPHNjcmlwdD4KICAgaWYgKGxvY2F0aW9u
Lmhhc2ggPT09ICcjY2hlY2snKSB7CiAgICAgICBkb2N1bWVudC5mb250cy5yZWFkeS50aGVuKCgp
PT4gewotICAgICAgICBjb25zdCBlbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFt
ZSgnaHR0cDovL3t7aG9zdHNbYWx0XVtdfX06e3twb3J0c1todHRwXVsxXX19L3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvY29ycy1haGVtLnB5Jyk7CisgICAgICAgIGNvbnN0IGVudHJpZXMgPSBw
ZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdodHRwOi8ve3tkb21haW5zW3d3d119fTp7e3Bv
cnRzW2h0dHBdWzFdfX0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jb3JzLWFoZW0ucHknKTsK
ICAgICAgICAgaWYgKGVudHJpZXMubGVuZ3RoICE9IDEpCiAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICBjb25zdCBlbnRyeSA9IGVudHJpZXNbMF07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMv
bXVsdGlfcmVkaXJlY3QucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvbXVsdGlfcmVkaXJlY3QucHkKaW5kZXgg
NTZmNWQ2Yzc3MTUzYTU1OThhZWUwYzY3OTVmYjkwOWMzZmRjZGRiZi4uYTVmYzVkYjRhYzkwMTU5
MTQ5MDhiYTJjY2VlYzE4OWY5ZDMyNzRkMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRp
X3JlZGlyZWN0LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9tdWx0aV9yZWRpcmVjdC5weQpAQCAtMSwz
ICsxLDQgQEAKK2ltcG9ydCB1cmxsaWIucGFyc2UKIGZyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0
IGlzb21vcnBoaWNfZW5jb2RlCiAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKQEAgLTM3
LDcgKzM4LDcgQEAgZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgogICAgIHJlZGlyZWN0X3Vy
bF9wYXRoID0gYiIvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9tdWx0aV9yZWRpcmVjdC5weT8i
CiAgICAgcmVkaXJlY3RfdXJsX3BhdGggKz0gYiJwYWdlX29yaWdpbj0iICsgcGFnZV9vcmlnaW4K
ICAgICByZWRpcmVjdF91cmxfcGF0aCArPSBiIiZjcm9zc19vcmlnaW49IiArIGNyb3NzX29yaWdp
bgotICAgIHJlZGlyZWN0X3VybF9wYXRoICs9IGIiJmZpbmFsX3Jlc291cmNlPSIgKyBmaW5hbF9y
ZXNvdXJjZQorICAgIHJlZGlyZWN0X3VybF9wYXRoICs9IGIiJmZpbmFsX3Jlc291cmNlPSIgKyB1
cmxsaWIucGFyc2UucXVvdGUoZmluYWxfcmVzb3VyY2UpLmVuY29kZSgnYXNjaWknKQogICAgIHJl
ZGlyZWN0X3VybF9wYXRoICs9IGIiJnRhb192YWx1ZT0iICsgdGFvX3ZhbHVlCiAgICAgcmVkaXJl
Y3RfdXJsX3BhdGggKz0gYiImdGFvX3N0ZXBzPSIgKyBpc29tb3JwaGljX2VuY29kZShzdHIobmV4
dF90YW9fc3RlcHMpKQogICAgIHJlZGlyZWN0X3VybF9wYXRoICs9IGIiJnN0ZXA9IgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvcmVzb3VyY2VzL29iamVjdC1yZWZyZXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvb2Jq
ZWN0LXJlZnJlc2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZTQzZTE5ZGUxOWZjN2MzNjRlNjhlMGIyNDE1
OTYzZjU1ZTlkZGIyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL29iamVjdC1yZWZy
ZXNoLmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nIG9iamVj
dCByZWZyZXNoPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3Vi
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJuZXN0ZWQtY29udGV4dHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdD4KKyAgICBzZXR1cF9yZWZyZXNoX3Rlc3QoKTsKKzwvc2NyaXB0PgorPGRpdiBp
ZD1sb2c+PC9kaXY+Cis8b2JqZWN0IHR5cGU9InRleHQvaHRtbCI+PC9vYmplY3Q+Cis8c2NyaXB0
PgorICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJvYmplY3QiKVswXS5kYXRhID0g
cHJlX3JlZnJlc2hfdXJsOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVk
aXJlY3QtY29ycy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9yZWRpcmVjdC1jb3JzLnB5Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmVhNjdjYjhlN2FjNGU2MTA0NWQwNWFmNTFmMDY2ZGI0OGJmZGYxMDEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvcmVkaXJlY3QtY29ycy5weQpAQCAtMCwwICsxLDEwIEBACitkZWYg
bWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CisgICAgbG9jYXRpb24gPSByZXF1ZXN0LkdFVC5maXJz
dChiImxvY2F0aW9uIikKKyAgICByZXNwb25zZS5zdGF0dXMgPSAzMDIKKyAgICByZXNwb25zZS5o
ZWFkZXJzLnNldChiIkxvY2F0aW9uIiwgbG9jYXRpb24pCisKKyAgICBpZiBiImFsbG93X29yaWdp
biIgaW4gcmVxdWVzdC5HRVQ6CisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNz
LUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5HRVQuZmlyc3QoYiJhbGxvd19vcmlnaW4i
KSkKKworICAgIGlmIGIidGltaW5nX2FsbG93X29yaWdpbiIgaW4gcmVxdWVzdC5HRVQ6CisgICAg
ICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiVGltaW5nLUFsbG93LU9yaWdpbiIsIHJlcXVlc3Qu
R0VULmZpcnN0KGIidGltaW5nX2FsbG93X29yaWdpbiIpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2VzL3Jlc291cmNlLXRpbWluZy1jb250ZW50LWxlbmd0aC5weSBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9yZXNv
dXJjZS10aW1pbmctY29udGVudC1sZW5ndGgucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmRiY2UwNDdiNzJlZjA1
OTc2ZDUyOTZlYTM4OTYxZTIwNWEwZjA0ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
cy9yZXNvdXJjZS10aW1pbmctY29udGVudC1sZW5ndGgucHkKQEAgLTAsMCArMSwxOSBAQAorZGVm
IG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorICAgIGNvbnRlbnQgPSByZXF1ZXN0LkdFVC5maXJz
dChiImNvbnRlbnQiKQorICAgIGxlbmd0aCA9IHJlcXVlc3QuR0VULmZpcnN0KGIibGVuZ3RoIiku
ZGVjb2RlKCJhc2NpaSIpCisgICAgcmVzcG9uc2UuYWRkX3JlcXVpcmVkX2hlYWRlcnMgPSBGYWxz
ZQorCisgICAgb3V0cHV0ID0gIGIiSFRUUC8xLjEgMjAwIE9LXHJcbiIKKyAgICBvdXRwdXQgKz0g
YiJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47Y2hhcnNldD1VVEYtOFxyXG4iCisgICAgaWYgbGVu
Z3RoID09IGIiYXV0byIgOgorICAgICAgICBvdXRwdXQgKz0gYiJDb250ZW50LUxlbmd0aDoiCisg
ICAgICAgIG91dHB1dCArPSAiezB9Ii5mb3JtYXQobGVuKGNvbnRlbnQpKS5lbmNvZGUoImFzY2lp
IikKKyAgICAgICAgb3V0cHV0ICs9IGIiXHJcbiIKKyAgICBlbGlmIGxlbmd0aCAhPSBiIm5vbmUi
IDoKKyAgICAgICAgb3V0cHV0ICs9IGIiQ29udGVudC1MZW5ndGg6IgorICAgICAgICBvdXRwdXQg
Kz0gInswfSIuZm9ybWF0KGxlbmd0aCkuZW5jb2RlKCJhc2NpaSIpCisgICAgICAgIG91dHB1dCAr
PSBiIlxyXG4iCisgICAgb3V0cHV0ICs9IGIiXHJcbiIKKyAgICBvdXRwdXQgKz0gY29udGVudAor
ICAgIHJlc3BvbnNlLndyaXRlci53cml0ZShvdXRwdXQpCisgICAgcmVzcG9uc2UuY2xvc2VfY29u
bmVjdGlvbiA9IFRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9yZXNvdXJjZV90aW1pbmdf
dGVzdDAueG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3Jlc291cmNlX3RpbWluZ190ZXN0MC54bWwKaW5kZXgg
YWRmNjAxYzhhMTQ5YWI2M2Q0YWNiODI3MWFlOTI1YzYyOGM3NzU4Yi4uOTFjZDY3NmJlNmU2ZjFh
ZTJiYWIzZGMxYTAwNTNkYTQ5MmI0MzUxNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3Jlc291
cmNlX3RpbWluZ190ZXN0MC54bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3Jlc291cmNlX3RpbWluZ190
ZXN0MC54bWwKQEAgLTEsNiArMSw2IEBACiA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJ
U08tODg1OS0xIj8+CiA8VEVTVERBVEE+CiAgICAgPElURU0+Ci0gICAgICAgIDxEQVRBPlRlc3Qg
WE1MIERhdGE8L2RhdGE+Ci0gICAgPC9pdGVtPgotPC90ZXN0ZGF0YT4KKyAgICAgICAgPERBVEE+
VGVzdCBYTUwgRGF0YTwvREFUQT4KKyAgICA8L0lURU0+Cis8L1RFU1REQVRBPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL3NpemVzLWhlbHBlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9zaXplcy1oZWxw
ZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODYzMzY2ODZiMzI5MDJlYzFjMTIzYjBmNTVmZjY3ZTlhYmE0MzA2
MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9zaXplcy1oZWxwZXIuanMKQEAgLTAs
MCArMSwxNiBAQAorLy8gSGVhZGVyIHNpemUgaXMgYSBmaXhlZCBjb25zdGFudC4KKy8vIGh0dHBz
Oi8vdzNjLmdpdGh1Yi5pby9yZXNvdXJjZS10aW1pbmcvI2RvbS1wZXJmb3JtYW5jZXJlc291cmNl
dGltaW5nLXRyYW5zZmVyc2l6ZQorY29uc3QgaGVhZGVyU2l6ZSA9IDMwMDsKKworY29uc3QgY2Fj
aGVCdXN0VXJsID0gdXJsID0+IHsKKyAgcmV0dXJuIHVybCArICcmdW5pcXVlPScgKyBNYXRoLnJh
bmRvbSgpLnRvU3RyaW5nKCkuc3Vic3RyaW5nKDIpOworfQorCitjb25zdCBjaGVja1NpemVGaWVs
ZHMgPSAoZW50cnksIGJvZHlTaXplLCB0cmFuc2ZlclNpemUpID0+IHsKKyAgYXNzZXJ0X2VxdWFs
cyhlbnRyeS5kZWNvZGVkQm9keVNpemUsIGJvZHlTaXplLAorICAgICAgICAgICAgICAgICdkZWNv
ZGVkQm9keVNpemUnKTsKKyAgYXNzZXJ0X2VxdWFscyhlbnRyeS5lbmNvZGVkQm9keVNpemUsIGJv
ZHlTaXplLAorICAgICAgICAgICAgICAgICdlbmNvZGVkQm9keVNpemUnKTsKKyAgYXNzZXJ0X2Vx
dWFscyhlbnRyeS50cmFuc2ZlclNpemUsIHRyYW5zZmVyU2l6ZSwKKyAgICAgICAgICAgICAgICAn
dHJhbnNmZXJTaXplJyk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvc3RhdHVzLWNvZGUu
cHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvc3RhdHVzLWNvZGUucHkKaW5kZXggOWJjMDJiZDM0Njc5ZWRkNjNm
MDBkYzQ2MTBjNDg1YjhkMTBjYTZkMy4uNzIyMjJiMzllNDg1NzRjNjY2MDUyYjJiYjRkNzAyOWZk
NmJhNTI2YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3N0YXR1cy1jb2RlLnB5CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlcy9zdGF0dXMtY29kZS5weQpAQCAtMSw0ICsxLDYgQEAKIGRlZiBtYWluKHJlcXVl
c3QsIHJlc3BvbnNlKToKICAgICBzdGF0dXMgPSByZXF1ZXN0LkdFVC5maXJzdChiJ3N0YXR1cycp
CiAgICAgcmVzcG9uc2Uuc3RhdHVzID0gKHN0YXR1cywgYiIiKTsKKyAgICBpZiBiJ3Rhb192YWx1
ZScgaW4gcmVxdWVzdC5HRVQ6CisgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiJ3RpbWluZy1h
bGxvdy1vcmlnaW4nLCByZXF1ZXN0LkdFVC5maXJzdChiJ3Rhb192YWx1ZScpKQogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3dl
YnBlcmZ0ZXN0aGFybmVzcy5qcwppbmRleCA4ZTA0ZTUyZjljNTdmYWZiNmE1OTlkYTNhMTk2M2Fh
NmVkNTQ1ZTZmLi44NjllZjNkNzRmNzdiNTg1ZTE0YWZjMDBhOGRjOTBiZTA5ZGI5NzBhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMKQEAgLTYyLDI2ICs2MiwyNiBAQCBmdW5jdGlvbiB0
ZXN0X25hbWVzcGFjZShjaGlsZF9uYW1lLCBza2lwX3Jvb3QpCiAgICAgaWYgKHNraXBfcm9vdCA9
PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgIHZhciBtc2cgPSAnd2luZG93LnBlcmZvcm1hbmNlIGlz
IGRlZmluZWQnOwogICAgICAgICAvLyBUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBw
cm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVz
LgotICAgICAgICB3cF90ZXN0KGZ1bmN0aW9uICgpIHsgYXNzZXJ0X3RydWUocGVyZm9ybWFuY2VO
YW1lc3BhY2UgIT09IHVuZGVmaW5lZCwgbXNnKTsgfSwgbXNnKTsKKyAgICAgICAgd3BfdGVzdChm
dW5jdGlvbiAoKSB7IGFzc2VydF9ub3RfZXF1YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNlLCB1bmRl
ZmluZWQsIG1zZyk7IH0sIG1zZyk7CiAgICAgfQogCiAgICAgaWYgKGNoaWxkX25hbWUgIT09IHVu
ZGVmaW5lZCkgewogICAgICAgICB2YXIgbXNnMiA9ICd3aW5kb3cucGVyZm9ybWFuY2UuJyArIGNo
aWxkX25hbWUgKyAnIGlzIGRlZmluZWQnOwogICAgICAgICAvLyBUaGUgd2luZG93LnBlcmZvcm1h
bmNlIGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVs
YXRlZCBhdHRyaWJ1dGVzLgotICAgICAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfdHJ1
ZShwZXJmb3JtYW5jZU5hbWVzcGFjZVtjaGlsZF9uYW1lXSAhPT0gdW5kZWZpbmVkLCBtc2cyKTsg
fSwgbXNnMik7CisgICAgICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF9ub3RfZXF1YWxz
KHBlcmZvcm1hbmNlTmFtZXNwYWNlW2NoaWxkX25hbWVdLCB1bmRlZmluZWQsIG1zZzIpOyB9LCBt
c2cyKTsKICAgICB9CiB9CiAKIGZ1bmN0aW9uIHRlc3RfYXR0cmlidXRlX2V4aXN0cyhwYXJlbnRf
bmFtZSwgYXR0cmlidXRlX25hbWUsIHByb3BlcnRpZXMpCiB7CiAgICAgdmFyIG1zZyA9ICd3aW5k
b3cucGVyZm9ybWFuY2UuJyArIHBhcmVudF9uYW1lICsgJy4nICsgYXR0cmlidXRlX25hbWUgKyAn
IGlzIGRlZmluZWQuJzsKLSAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfdHJ1ZShwZXJm
b3JtYW5jZU5hbWVzcGFjZVtwYXJlbnRfbmFtZV1bYXR0cmlidXRlX25hbWVdICE9PSB1bmRlZmlu
ZWQsIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7CisgICAgd3BfdGVzdChmdW5jdGlvbigpIHsg
YXNzZXJ0X25vdF9lcXVhbHMocGVyZm9ybWFuY2VOYW1lc3BhY2VbcGFyZW50X25hbWVdW2F0dHJp
YnV0ZV9uYW1lXSwgdW5kZWZpbmVkLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOwogfQogCiBm
dW5jdGlvbiB0ZXN0X2VudW0ocGFyZW50X25hbWUsIGVudW1fbmFtZSwgdmFsdWUsIHByb3BlcnRp
ZXMpCiB7CiAgICAgdmFyIG1zZyA9ICd3aW5kb3cucGVyZm9ybWFuY2UuJyArIHBhcmVudF9uYW1l
ICsgJy4nICsgZW51bV9uYW1lICsgJyBpcyBkZWZpbmVkLic7Ci0gICAgd3BfdGVzdChmdW5jdGlv
bigpIHsgYXNzZXJ0X3RydWUocGVyZm9ybWFuY2VOYW1lc3BhY2VbcGFyZW50X25hbWVdW2VudW1f
bmFtZV0gIT09IHVuZGVmaW5lZCwgbXNnKTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKKyAgICB3cF90
ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfbm90X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZVtw
YXJlbnRfbmFtZV1bZW51bV9uYW1lXSwgdW5kZWZpbmVkLCBtc2cpOyB9LCBtc2csIHByb3BlcnRp
ZXMpOwogCiAgICAgbXNnID0gJ3dpbmRvdy5wZXJmb3JtYW5jZS4nICsgcGFyZW50X25hbWUgKyAn
LicgKyBlbnVtX25hbWUgKyAnID0gJyArIHZhbHVlOwogICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7
IGFzc2VydF9lcXVhbHMocGVyZm9ybWFuY2VOYW1lc3BhY2VbcGFyZW50X25hbWVdW2VudW1fbmFt
ZV0sIHZhbHVlLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOwpAQCAtMTQ4LDcgKzE0OCw3IEBA
IGZ1bmN0aW9uIHRlc3RfZ3JlYXRlcl9vcl9lcXVhbHModmFsdWUsIGdyZWF0ZXJfdGhhbiwgbXNn
LCBwcm9wZXJ0aWVzKQogCiBmdW5jdGlvbiB0ZXN0X25vdF9lcXVhbHModmFsdWUsIG5vdGVxdWFs
cywgbXNnLCBwcm9wZXJ0aWVzKQogewotICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF90
cnVlKHZhbHVlICE9PSBub3RlcXVhbHMsIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7CisgICAg
d3BfdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X25vdF9lcXVhbHModmFsdWUsIG5vdGVxdWFscywg
bXNnKTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKIH0KIAogZnVuY3Rpb24gdGVzdF90YW9fcGFzcyhl
bnRyeSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzc2V4dGVu
c2lvbi5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3NleHRlbnNpb24uanMKaW5k
ZXggOGJjNzRiZjgxMWU5MTZmM2E4MTFkNDZkZWUzNjMyYzk3MGMwNWJlNi4uZGMwMmMwNzViM2Qw
N2Y3YzU3MTY0ZjBlYzI0YzMyYWRiNzZjMGRlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3dl
YnBlcmZ0ZXN0aGFybmVzc2V4dGVuc2lvbi5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvd2VicGVyZnRl
c3RoYXJuZXNzZXh0ZW5zaW9uLmpzCkBAIC0xLDEyICsxLDYgQEAKLS8qCi1EaXN0cmlidXRlZCB1
bmRlciBib3RoIHRoZSBXM0MgVGVzdCBTdWl0ZSBMaWNlbnNlIFsxXSBhbmQgdGhlIFczQwotMy1j
bGF1c2UgQlNEIExpY2Vuc2UgWzJdLiBUbyBjb250cmlidXRlIHRvIGEgVzNDIFRlc3QgU3VpdGUs
IHNlZSB0aGUKLXBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgotCi1bMV0gaHR0
cDovL3d3dy53My5vcmcvQ29uc29ydGl1bS9MZWdhbC8yMDA4LzA0LXRlc3RzdWl0ZS1saWNlbnNl
Ci1bMl0gaHR0cDovL3d3dy53My5vcmcvQ29uc29ydGl1bS9MZWdhbC8yMDA4LzAzLWJzZC1saWNl
bnNlCi1bM10gaHR0cDovL3d3dy53My5vcmcvMjAwNC8xMC8yNy10ZXN0Y2FzZXMKLSAqLworLy8K
Ky8vIEhlbHBlciBmdW5jdGlvbnMgZm9yIFJlc291cmNlIFRpbWluZyB0ZXN0cworLy8KIAogdmFy
IG1hcmtfbmFtZXMgPSBbCiAgICAgJycsCkBAIC0yNyw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3Rf
bWV0aG9kX2V4aXN0cyhtZXRob2QsIG1ldGhvZF9uYW1lLCBwcm9wZXJ0aWVzKQogICAgICAgICBt
c2cgPSAncGVyZm9ybWFuY2UuJyArIG1ldGhvZC5uYW1lICsgJyBpcyBzdXBwb3J0ZWQhJzsKICAg
ICBlbHNlCiAgICAgICAgIG1zZyA9ICdwZXJmb3JtYW5jZS4nICsgbWV0aG9kX25hbWUgKyAnIGlz
IHN1cHBvcnRlZCEnOwotICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF90cnVlKHR5cGVv
ZiBtZXRob2QgPT09ICdmdW5jdGlvbicsIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7CisgICAg
d3BfdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X2VxdWFscyh0eXBlb2YgbWV0aG9kLCAnZnVuY3Rp
b24nLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOwogfQogCiBmdW5jdGlvbiB0ZXN0X25vbGVz
c190aGFuKHZhbHVlLCBncmVhdGVyX3RoYW4sIG1zZywgcHJvcGVydGllcykKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3NhbWUtb3JpZ2luLWZyb20tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3NhbWUtb3JpZ2luLWZyb20tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMDVhNzZlZDljOTY3NDkxYTU0N2VhY2M3Y2UzZTY4ZjZkM2QxMzlkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvc2FtZS1vcmlnaW4tZnJvbS1jcm9zcy1vcmlnaW4tcmVkaXJlY3Qt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFZlcmlmeSB0aGF0IGNyb3NzIG9y
aWdpbiByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIGV4cG9zZWQgd2hlbiB0aGUgZmluYWwgcmVzb3Vy
Y2UgYXQgdGhlIGVuZCBvZiBhbiBIVFRQIHJlZGlyZWN0IGNoYWluIGlzIHNhbWUtb3JpZ2luLgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9zYW1lLW9yaWdpbi1mcm9tLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvc2FtZS1vcmlnaW4tZnJvbS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi44NzQwYjgxYjEzZmQ4YWE3YTI2OWExMGNmMmRkMzAyM2EwZmJjMmE1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvc2FtZS1vcmlnaW4tZnJvbS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRt
bApAQCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0
YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5UaGlzIHRlc3QgdmFsaWRhdGVzIHJlc291cmNl
IHRpbWluZyBpbmZvcm1hdGlvbiBmb3IgYSBzYW1lLW9yaWdpbgorcmVzb3VyY2UgZmV0Y2hlZCB0
aHJvdWdoIGEgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0IGNoYWluLjwvdGl0bGU+Cis8bGluayByZWw9
ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cHM6Ly9nb29nbGUuY29tLyIgLz4KKzxs
aW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWlu
Zy0yLyNzZWMtcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0
LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNv
dXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnkt
aW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citjb25z
dCB7SFRUUF9SRU1PVEVfT1JJR0lOfSA9IGdldF9ob3N0X2luZm8oKTsKK2xldCBkZXN0VXJsID0g
YCR7SFRUUF9SRU1PVEVfT1JJR0lOfS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRpX3Jl
ZGlyZWN0LnB5P2A7CitkZXN0VXJsICs9IGBwYWdlX29yaWdpbj1odHRwOi8vJHtkb2N1bWVudC5s
b2NhdGlvbi5ob3N0fWA7CitkZXN0VXJsICs9IGAmY3Jvc3Nfb3JpZ2luPSR7SFRUUF9SRU1PVEVf
T1JJR0lOfWA7CitkZXN0VXJsICs9IGAmZmluYWxfcmVzb3VyY2U9L3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvYmxhbmstd2l0aC10YW8uaHRtbGA7CisKK2F0dHJpYnV0ZV90ZXN0KAorICBsb2Fk
LmlmcmFtZSwgZGVzdFVybCwKKyAgaW52YXJpYW50cy5hc3NlcnRfc2FtZV9vcmlnaW5fcmVkaXJl
Y3RlZF9mcm9tX2Nyb3NzX29yaWdpbl9yZXNvdXJjZSwKKyAgIlZlcmlmeSB0aGF0IGNyb3NzIG9y
aWdpbiByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIGV4cG9zZWQgd2hlbiB0aGUgZmluYWwgIiArCisg
ICJyZXNvdXJjZSBhdCB0aGUgZW5kIG9mIGFuIEhUVFAgcmVkaXJlY3QgY2hhaW4gaXMgc2FtZS1v
cmlnaW4uIik7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
c2l6ZXMtY2FjaGUuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMtY2FjaGUuYW55LmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFm
NzBlNWE2ZGVkM2U2M2QxNThmZDkyOWZlYWNmMDgyN2IzY2FmYzkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9zaXplcy1jYWNoZS5hbnkuanMKQEAgLTAsMCArMSw1NSBAQAorLy8gTUVUQTogZ2xvYmFs
PXdpbmRvdyx3b3JrZXIKKy8vIE1FVEE6IHNjcmlwdD0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
cy9zaXplcy1oZWxwZXIuanMKKy8vIE1FVEE6IHNjcmlwdD0vcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzCisKK2xldCB1cmwgPSBuZXcgVVJMKAorICAnL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvY2FjaGVhYmxlLWFuZC12YWxpZGF0ZWQucHknICsKKyAgJz9j
b250ZW50PWxvcmVtaXBzdW1ibGFibGFibGEnLAorICBsb2NhdGlvbi5ocmVmKS5ocmVmOworY29u
c3QgYm9keVNpemUgPSAxOTsKKworY29uc3QgYWNjdW11bGF0ZUVudHJpZXMgPSAoKSA9PiB7Cisg
IHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBjb25zdCBwbyA9IG5ldyBQZXJm
b3JtYW5jZU9ic2VydmVyKGxpc3QgPT4geworICAgICAgcmVzb2x2ZShsaXN0KTsKKyAgICB9KTsK
KyAgICBwby5vYnNlcnZlKHt0eXBlOiAicmVzb3VyY2UiLCBidWZmZXJlZDogdHJ1ZX0pOworICB9
KTsKK307CisKK2NvbnN0IGNoZWNrUmVzb3VyY2VTaXplcyA9IGxpc3QgPT4geworICBjb25zdCBl
bnRyaWVzID0gbGlzdC5nZXRFbnRyaWVzQnlOYW1lKHVybCk7CisgIGFzc2VydF9lcXVhbHMoZW50
cmllcy5sZW5ndGgsIDMsICdXcm9uZyBudW1iZXIgb2YgZW50cmllcycpOworICBsZXQgc2VlbkNv
dW50ID0gMDsKKyAgZm9yIChsZXQgZW50cnkgb2YgZW50cmllcykgeworICAgIGlmIChzZWVuQ291
bnQgPT09IDApIHsKKyAgICAgIC8vIDIwMCByZXNwb25zZQorICAgICAgY2hlY2tTaXplRmllbGRz
KGVudHJ5LCBib2R5U2l6ZSwgYm9keVNpemUgKyBoZWFkZXJTaXplKTsKKyAgICB9IGVsc2UgaWYg
KHNlZW5Db3VudCA9PT0gMSkgeworICAgICAgLy8gZnJvbSBjYWNoZQorICAgICAgY2hlY2tTaXpl
RmllbGRzKGVudHJ5LCBib2R5U2l6ZSwgMCk7CisgICAgfSBlbHNlIGlmIChzZWVuQ291bnQgPT09
IDIpIHsKKyAgICAgIC8vIDMwNCByZXNwb25zZQorICAgICAgY2hlY2tTaXplRmllbGRzKGVudHJ5
LCBib2R5U2l6ZSwgaGVhZGVyU2l6ZSk7CisgICAgfSBlbHNlIHsKKyAgICAgIGFzc2VydF91bnJl
YWNoZWQoJ1RvbyBtYW55IG1hdGNoaW5nIGVudHJpZXMnKTsKKyAgICB9CisgICAgKytzZWVuQ291
bnQ7CisgIH0KK307CisKK3Byb21pc2VfdGVzdCgoKSA9PiB7CisgIC8vIFVzZSBhIGRpZmZlcmVu
dCBVUkwgZXZlcnkgdGltZSBzbyB0aGF0IHRoZSBjYWNoZSBiZWhhdmlvdXIgZG9lcyBub3QKKyAg
Ly8gZGVwZW5kIG9uIGV4ZWN1dGlvbiBvcmRlci4KKyAgdXJsID0gbG9hZC5jYWNoZV9idXN0KHVy
bCk7CisgIGNvbnN0IGVhdEJvZHkgPSByZXNwb25zZSA9PiByZXNwb25zZS5hcnJheUJ1ZmZlcigp
OworICBjb25zdCBtdXN0UmV2YWxpZGF0ZSA9IHtoZWFkZXJzOiB7J0NhY2hlLUNvbnRyb2wnOiAn
bWF4LWFnZT0wJ319OworICByZXR1cm4gZmV0Y2godXJsKQorICAgIC50aGVuKGVhdEJvZHkpCisg
ICAgLnRoZW4oKCkgPT4gZmV0Y2godXJsKSkKKyAgICAudGhlbihlYXRCb2R5KQorICAgIC50aGVu
KCgpID0+IGZldGNoKHVybCwgbXVzdFJldmFsaWRhdGUpKQorICAgIC50aGVuKGVhdEJvZHkpCisg
ICAgLnRoZW4oYWNjdW11bGF0ZUVudHJpZXMpCisgICAgLnRoZW4oY2hlY2tSZXNvdXJjZVNpemVz
KTsKK30sICdQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIHNpemVzIGNhY2hpbmcgdGVzdCcpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3QtaW1nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVz
LXJlZGlyZWN0LWltZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTkwMzIxOTYyMGFlNjVkMmFi
ODhjYzIzMDhjZGViNDcxN2JlM2UyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLXJlZGly
ZWN0LWltZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACisKK1BBU1MgUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZyBzaXplcyByZWRpcmVjdCBpbWFnZSAtIGRpcmVjdCBVUkwKK1BBU1MgUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZyBzaXplcyByZWRpcmVjdCBpbWFnZSAtIHNhbWUgb3JpZ2lu
IHJlZGlyZWN0CitQQVNTIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgc2l6ZXMgcmVkaXJlY3Qg
aW1hZ2UgLSBjcm9zcyBvcmlnaW4gcmVkaXJlY3QKK1BBU1MgUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZyBzaXplcyByZWRpcmVjdCBpbWFnZSAtIGNyb3NzIG9yaWdpbiB0byBzYW1lIG9yaWdpbiBy
ZWRpcmVjdAorUEFTUyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIHNpemVzIHJlZGlyZWN0IGlt
YWdlIC0gc2FtZSBvcmlnaW4gdG8gcmVtb3RlIG9yaWdpbiB0byBzYW1lIG9yaWdpbiByZWRpcmVj
dAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC1pbWcuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLXJl
ZGlyZWN0LWltZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc4NjAxOGQwYzQ2MzRjM2Q4YzZkZjJjNDAwM2Iy
MDFlNmU0YmM0ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC1pbWcuaHRt
bApAQCAtMCwwICsxLDU3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1o
b3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2l6ZXMt
aGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9h
ZGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFu
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKy8vIFJlZGlyZWN0cyBmb3IgZmV0Y2goKSBhbHdh
eXMgYXBwbHkgQ09SUyBydWxlcywgd2hlcmVhcyBub3JtYWwgcmVzb3VyY2VzCisvLyBkb24ndCwg
c28gdGhpcyB0ZXN0IGNvdmVycyBleHRyYSBjb2RlIHBhdGhzIGJleW9uZCB0aG9zZSBjb3ZlcmVk
IGJ5CisvLyByZXNvdXJjZS10aW1pbmctc2l6ZXMtcmVkaXJlY3QuaHRtbC4KKworY29uc3QgYmFz
ZVVybCA9IG5ldyBVUkwoJy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL1RBT1Jlc3BvbnNlLnB5
P3Rhbz13aWxkY2FyZCZpbWc9dHJ1ZScsIGxvY2F0aW9uLmhyZWYpLmhyZWY7CisKK2NvbnN0IGV4
cGVjdGVkU2l6ZSA9IDEwMTA7CisKK2NvbnN0IGhvc3RJbmZvID0gZ2V0X2hvc3RfaW5mbygpOwor
Citjb25zdCByZWRpcmVjdFVybCA9IChyZWRpcmVjdFNvdXJjZU9yaWdpbiwgdGFyZ2V0VXJsKSA9
PiB7CisgIHJldHVybiByZWRpcmVjdFNvdXJjZU9yaWdpbiArCisgICAgJy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VzL3JlZGlyZWN0LWNvcnMucHk/dGltaW5nX2FsbG93X29yaWdpbj0qJyArCisg
ICAgJyZsb2NhdGlvbj0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHRhcmdldFVybCk7Cit9OworCitj
b25zdCB2ZXJpZnlfZW50cnkgPSBlbnRyeSA9PiB7CisgIGNoZWNrU2l6ZUZpZWxkcyhlbnRyeSwg
ZXhwZWN0ZWRTaXplLCBleHBlY3RlZFNpemUgKyBoZWFkZXJTaXplKTsKK307CisKK2F0dHJpYnV0
ZV90ZXN0KGxvYWQuaW1hZ2UsIGJhc2VVcmwsCisgIHZlcmlmeV9lbnRyeSwKKyAgIlBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcgc2l6ZXMgcmVkaXJlY3QgaW1hZ2UgLSBkaXJlY3QgVVJMIik7CisK
K2F0dHJpYnV0ZV90ZXN0KGxvYWQuaW1hZ2UsCisgIHJlZGlyZWN0VXJsKGhvc3RJbmZvLkhUVFBf
T1JJR0lOLCBiYXNlVXJsKSwKKyAgdmVyaWZ5X2VudHJ5LAorICAiUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZyBzaXplcyByZWRpcmVjdCBpbWFnZSAtIHNhbWUgb3JpZ2luIHJlZGlyZWN0Iik7CisK
K2F0dHJpYnV0ZV90ZXN0KGxvYWQuaW1hZ2UsCisgIHJlZGlyZWN0VXJsKGhvc3RJbmZvLkhUVFBf
UkVNT1RFX09SSUdJTiwgYmFzZVVybCksCisgIHZlcmlmeV9lbnRyeSwKKyAgIlBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcgc2l6ZXMgcmVkaXJlY3QgaW1hZ2UgLSBjcm9zcyBvcmlnaW4gcmVkaXJl
Y3QiKTsKKworYXR0cmlidXRlX3Rlc3QobG9hZC5pbWFnZSwKKyAgcmVkaXJlY3RVcmwoaG9zdElu
Zm8uSFRUUF9SRU1PVEVfT1JJR0lOLAorICAgIHJlZGlyZWN0VXJsKGhvc3RJbmZvLkhUVFBfT1JJ
R0lOLCBiYXNlVXJsKSksCisgIHZlcmlmeV9lbnRyeSwKKyAgIlBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmcgc2l6ZXMgcmVkaXJlY3QgaW1hZ2UgLSBjcm9zcyBvcmlnaW4gdG8gc2FtZSBvcmlnaW4g
cmVkaXJlY3QiKTsKKworYXR0cmlidXRlX3Rlc3QobG9hZC5pbWFnZSwKKyAgcmVkaXJlY3RVcmwo
aG9zdEluZm8uSFRUUF9PUklHSU4sCisgICAgcmVkaXJlY3RVcmwoaG9zdEluZm8uSFRUUF9SRU1P
VEVfT1JJR0lOLAorICAgICAgcmVkaXJlY3RVcmwoaG9zdEluZm8uSFRUUF9PUklHSU4sCisgICAg
ICAgIGJhc2VVcmwpKSksCisgIHZlcmlmeV9lbnRyeSwKKyAgIlBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmcgc2l6ZXMgcmVkaXJlY3QgaW1hZ2UgLSBzYW1lIG9yaWdpbiB0byByZW1vdGUgIiArCisg
ICJvcmlnaW4gdG8gc2FtZSBvcmlnaW4gcmVkaXJlY3QiKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvc2l6ZXMtcmVkaXJlY3QuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3QuYW55LmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmU0ODNhNGQ0MDljNmMyZGVlZTczZmEyMTNkNjk4Yjk1Yjg2NWQwYzgKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC5hbnkuanMKQEAgLTAsMCArMSw2MiBAQAor
Ly8gTUVUQTogZ2xvYmFsPXdpbmRvdyx3b3JrZXIKKy8vIE1FVEE6IHNjcmlwdD0vY29tbW9uL2dl
dC1ob3N0LWluZm8uc3ViLmpzCisvLyBNRVRBOiBzY3JpcHQ9L3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZXMvc2l6ZXMtaGVscGVyLmpzCisKK2NvbnN0IGJhc2VVcmwgPQorICBuZXcgVVJMKCcvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlcy9UQU9SZXNwb25zZS5weT90YW89d2lsZGNhcmQnLCBsb2Nh
dGlvbi5ocmVmKS5ocmVmOworY29uc3QgZXhwZWN0ZWRTaXplID0gNDsKKworY29uc3QgaG9zdElu
Zm8gPSBnZXRfaG9zdF9pbmZvKCk7CitwZXJmb3JtYW5jZS5jbGVhclJlc291cmNlVGltaW5ncygp
OworCitjb25zdCBhY2N1bXVsYXRlRW50cnkgPSAoKSA9PiB7CisgIHJldHVybiBuZXcgUHJvbWlz
ZShyZXNvbHZlID0+IHsKKyAgICBjb25zdCBwbyA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGxp
c3QgPT4geworICAgICAgcmVzb2x2ZShsaXN0KTsKKyAgICB9KTsKKyAgICBwby5vYnNlcnZlKHt0
eXBlOiAicmVzb3VyY2UiLCBidWZmZXJlZDogdHJ1ZX0pOworICB9KTsKK307CisKK2NvbnN0IGNo
ZWNrUmVzb3VyY2VTaXplcyA9ICgpID0+IHsKKyAgY29uc3QgZW50cmllcyA9IHBlcmZvcm1hbmNl
LmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7CisgIGZvciAobGV0IGVudHJ5IG9mIGVudHJp
ZXMpIHsKKyAgICBjaGVja1NpemVGaWVsZHMoZW50cnksIGV4cGVjdGVkU2l6ZSwgZXhwZWN0ZWRT
aXplICsgaGVhZGVyU2l6ZSk7CisgIH0KK30KKworY29uc3QgcmVkaXJlY3RVcmwgPSAocmVkaXJl
Y3RTb3VyY2VPcmlnaW4sIGFsbG93T3JpZ2luLCB0YXJnZXRVcmwpID0+IHsKKyAgcmV0dXJuIHJl
ZGlyZWN0U291cmNlT3JpZ2luICsKKyAgICAnL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVk
aXJlY3QtY29ycy5weT9hbGxvd19vcmlnaW49JyArCisgICAgZW5jb2RlVVJJQ29tcG9uZW50KGFs
bG93T3JpZ2luKSArCisgICAgJyZ0aW1pbmdfYWxsb3dfb3JpZ2luPSonICsKKyAgICAnJmxvY2F0
aW9uPScgKyBlbmNvZGVVUklDb21wb25lbnQodGFyZ2V0VXJsKTsKK30KKworcHJvbWlzZV90ZXN0
KCgpID0+IHsKKyAgLy8gVXNlIGEgZGlmZmVyZW50IFVSTCBldmVyeSB0aW1lIHNvIHRoYXQgdGhl
IGNhY2hlIGJlaGF2aW91ciBkb2VzIG5vdAorICAvLyBkZXBlbmQgb24gZXhlY3V0aW9uIG9yZGVy
LgorICBjb25zdCBkaXJlY3RVcmwgPSBjYWNoZUJ1c3RVcmwoYmFzZVVybCk7CisgIGNvbnN0IHNh
bWVPcmlnaW5SZWRpcmVjdCA9IHJlZGlyZWN0VXJsKGhvc3RJbmZvLk9SSUdJTiwgJyonLCBkaXJl
Y3RVcmwpOworICBjb25zdCBjcm9zc09yaWdpblJlZGlyZWN0ID0gcmVkaXJlY3RVcmwoaG9zdElu
Zm8uUkVNT1RFX09SSUdJTiwKKyAgICBob3N0SW5mby5PUklHSU4sIGRpcmVjdFVybCk7CisgIGNv
bnN0IG1peGVkUmVkaXJlY3QgPSByZWRpcmVjdFVybChob3N0SW5mby5SRU1PVEVfT1JJR0lOLAor
ICAgIGhvc3RJbmZvLk9SSUdJTiwgc2FtZU9yaWdpblJlZGlyZWN0KTsKKyAgY29uc3QgY29tcGxl
eFJlZGlyZWN0ID0gcmVkaXJlY3RVcmwoaG9zdEluZm8uT1JJR0lOLAorICAgIGhvc3RJbmZvLlJF
TU9URV9PUklHSU4sIG1peGVkUmVkaXJlY3QpOworICBsZXQgZWF0Qm9keSA9IHJlc3BvbnNlID0+
IHJlc3BvbnNlLmFycmF5QnVmZmVyKCk7CisgIHJldHVybiBmZXRjaChkaXJlY3RVcmwpCisgICAg
LnRoZW4oZWF0Qm9keSkKKyAgICAudGhlbigoKSA9PiBmZXRjaChzYW1lT3JpZ2luUmVkaXJlY3Qp
KQorICAgIC50aGVuKGVhdEJvZHkpCisgICAgLnRoZW4oKCkgPT4gZmV0Y2goY3Jvc3NPcmlnaW5S
ZWRpcmVjdCkpCisgICAgLnRoZW4oZWF0Qm9keSkKKyAgICAudGhlbigoKSA9PiBmZXRjaChtaXhl
ZFJlZGlyZWN0KSkKKyAgICAudGhlbihlYXRCb2R5KQorICAgIC50aGVuKCgpID0+IGZldGNoKGNv
bXBsZXhSZWRpcmVjdCkpCisgICAgLnRoZW4oZWF0Qm9keSkKKyAgICAudGhlbihhY2N1bXVsYXRl
RW50cnkpCisgICAgLnRoZW4oY2hlY2tSZXNvdXJjZVNpemVzKTsKK30sICdQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nIHNpemVzIEZldGNoIHdpdGggcmVkaXJlY3QgdGVzdCcpOworCitkb25lKCk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9zdGF0dXMtY29kZXMtY3JlYXRlLWVudHJ5Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zdGF0
dXMtY29kZXMtY3JlYXRlLWVudHJ5Lmh0bWwKaW5kZXggYzMxNTA1YTQ1MmRhNmI2YWYxNDZmZWJj
ZDE1Y2E2MmZmMTg2YTc2Ny4uY2MwY2Q4Y2NiODgyNTAzMzExODZjMzg1NTRiMDlmZjg1MTVjYWNl
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvc3RhdHVzLWNvZGVzLWNyZWF0ZS1lbnRyeS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3N0YXR1cy1jb2Rlcy1jcmVhdGUtZW50cnkuaHRtbApAQCAtMTgsMTMgKzE4LDE3IEBAIGFzeW5j
X3Rlc3QodCA9PiB7CiAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgdC5zdGVwX2Z1
bmNfZG9uZSgoKSA9PiB7CiAgICAgY29uc3QgaW1hZ2VzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNC
eVRhZ05hbWUoImltZyIpOwogICAgIGZvciAobGV0IGltZyBvZiBpbWFnZXMpIHsKLSAgICAgIGFz
c2VydF9ncmVhdGVyX3RoYW4ocGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZShpbWcuc3JjKS5s
ZW5ndGgsIDAsIGltZy5zcmMpOworICAgICAgY29uc3QgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdl
dEVudHJpZXNCeU5hbWUoaW1nLnNyYyk7CisgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKGVudHJp
ZXMubGVuZ3RoLCAwLCBpbWcuc3JjKTsKKyAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oZW50cmll
c1swXS5kdXJhdGlvbiwgMCwgaW1nLnNyYyk7CiAgICAgfQogICAgIGNvbnN0IHNjcmlwdHMgPSBk
b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0Iik7CiAgICAgbGV0IG5vU3JjU2Ny
aXB0Rm91bmQgPSBmYWxzZTsKICAgICBmb3IgKGxldCBzY3JpcHQgb2Ygc2NyaXB0cykgewogICAg
ICAgaWYgKHNjcmlwdC5zcmMpIHsKLSAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihwZXJmb3Jt
YW5jZS5nZXRFbnRyaWVzQnlOYW1lKHNjcmlwdC5zcmMpLmxlbmd0aCwgMCwgc2NyaXB0LnNyYyk7
CisgICAgICAgIGNvbnN0IGVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKHNj
cmlwdC5zcmMpOworICAgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKGVudHJpZXMubGVuZ3RoLCAw
LCBzY3JpcHQuc3JjKTsKKyAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihlbnRyaWVzWzBdLmR1
cmF0aW9uLCAwLCBzY3JpcHQuc3JjKTsKICAgICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIElnbm9y
ZSB0aGlzIHNjcmlwdCwgd2hpY2ggaGFzIG5vIHNyYyB2YWx1ZS4gVGhlcmUgc2hvdWxkIG9ubHkg
YmUgb25lIHN1Y2ggc2NyaXB0LgogICAgICAgICBhc3NlcnRfZmFsc2Uobm9TcmNTY3JpcHRGb3Vu
ZCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy90ZXN0X3Jlc291cmNlX3RpbWluZy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy90ZXN0X3Jlc291cmNlX3RpbWluZy1leHBlY3RlZC50eHQKaW5kZXggMjAwNDhhNThjYmZhYzI5
ZjgxZjA0OWQ4NjhlMjY0NGE0ZTAwMzM3OS4uZDZjYzExZDE0MzNhNWY0NWFkOGYzZTMzZjA3YTc5
ZGQ2NmZlOTM2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90aW1pbmctZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3Rlc3RfcmVzb3VyY2VfdGltaW5nLWV4cGVjdGVkLnR4dApAQCAtNiwyOCAr
NiwyOCBAQCBOT1RFOiBEdWUgdG8gY2FjaGluZyBiZWhhdmlvciBpbiB0aGUgYnJvd3NlciwgaXQg
aXMgcG9zc2libGUgdGhhdCB3aGVuIHJldmlzaXRpbgogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2Uu
Z2V0RW50cmllc0J5TmFtZSgpIGFuZCB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFt
ZVR5cGUoKSByZXR1cm4gc2FtZSBkYXRhIChpZnJhbWUpCiBQQVNTIFBlcmZvcm1hbmNlRW50cnkg
aGFzIGNvcnJlY3QgbmFtZSwgaW5pdGlhdG9yVHlwZSwgc3RhcnRUaW1lLCBhbmQgZHVyYXRpb24g
KGlmcmFtZSkKIFBBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBvcmRlciBvZiB0aW1p
bmcgYXR0cmlidXRlcyAoaWZyYW1lKQotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0
IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAoaWZyYW1lKSBhc3NlcnRfZXF1YWxzOiBlbmNv
ZGVkQm9keVNpemUgc2l6ZSBleHBlY3RlZCAobnVtYmVyKSAyMTUgYnV0IGdvdCAodW5kZWZpbmVk
KSB1bmRlZmluZWQKLUZBSUwgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBwcm90b2NvbCBh
dHRyaWJ1dGUgKGlmcmFtZSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgcHJvdG9jb2wgZXhwZWN0
ZWQgKHN0cmluZykgImh0dHAvMS4xIiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorUEFT
UyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRl
cyAoaWZyYW1lKQorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0
dHJpYnV0ZSAoaWZyYW1lKQogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFt
ZSgpIGFuZCB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZVR5cGUoKSByZXR1cm4g
c2FtZSBkYXRhIChpbWcpCiBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmFtZSwg
aW5pdGlhdG9yVHlwZSwgc3RhcnRUaW1lLCBhbmQgZHVyYXRpb24gKGltZykKIFBBU1MgUGVyZm9y
bWFuY2VFbnRyeSBoYXMgY29ycmVjdCBvcmRlciBvZiB0aW1pbmcgYXR0cmlidXRlcyAoaW1nKQot
RkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmli
dXRlcyAoaW1nKSBhc3NlcnRfZXF1YWxzOiBlbmNvZGVkQm9keVNpemUgc2l6ZSBleHBlY3RlZCAo
bnVtYmVyKSAyNDkgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgUGVyZm9ybWFu
Y2VFbnRyeSBoYXMgY29ycmVjdCBwcm90b2NvbCBhdHRyaWJ1dGUgKGltZykgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgcHJvdG9jb2wgZXhwZWN0ZWQgKHN0cmluZykgImh0dHAvMS4xIiBidXQgZ290
ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0
IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAoaW1nKQorUEFTUyBQZXJmb3JtYW5jZUVudHJ5
IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0dHJpYnV0ZSAoaW1nKQogUEFTUyB3aW5kb3cucGVyZm9y
bWFuY2UuZ2V0RW50cmllc0J5TmFtZSgpIGFuZCB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmll
c0J5TmFtZVR5cGUoKSByZXR1cm4gc2FtZSBkYXRhIChsaW5rKQogUEFTUyBQZXJmb3JtYW5jZUVu
dHJ5IGhhcyBjb3JyZWN0IG5hbWUsIGluaXRpYXRvclR5cGUsIHN0YXJ0VGltZSwgYW5kIGR1cmF0
aW9uIChsaW5rKQogUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG9yZGVyIG9mIHRp
bWluZyBhdHRyaWJ1dGVzIChsaW5rKQotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0
IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAobGluaykgYXNzZXJ0X2VxdWFsczogZW5jb2Rl
ZEJvZHlTaXplIHNpemUgZXhwZWN0ZWQgKG51bWJlcikgNDQgYnV0IGdvdCAodW5kZWZpbmVkKSB1
bmRlZmluZWQKLUZBSUwgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBwcm90b2NvbCBhdHRy
aWJ1dGUgKGxpbmspIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIHByb3RvY29sIGV4cGVjdGVkIChz
dHJpbmcpICJodHRwLzEuMSIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKK1BBU1MgUGVy
Zm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuZXR3b3JrIHRyYW5zZmVyIGF0dHJpYnV0ZXMgKGxp
bmspCitQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgcHJvdG9jb2wgYXR0cmlidXRl
IChsaW5rKQogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgpIGFuZCB3
aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZVR5cGUoKSByZXR1cm4gc2FtZSBkYXRh
IChzY3JpcHQpCiBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmFtZSwgaW5pdGlh
dG9yVHlwZSwgc3RhcnRUaW1lLCBhbmQgZHVyYXRpb24gKHNjcmlwdCkKIFBBU1MgUGVyZm9ybWFu
Y2VFbnRyeSBoYXMgY29ycmVjdCBvcmRlciBvZiB0aW1pbmcgYXR0cmlidXRlcyAoc2NyaXB0KQot
RkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmli
dXRlcyAoc2NyaXB0KSBhc3NlcnRfZXF1YWxzOiBlbmNvZGVkQm9keVNpemUgc2l6ZSBleHBlY3Rl
ZCAobnVtYmVyKSAxMzMgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgUGVyZm9y
bWFuY2VFbnRyeSBoYXMgY29ycmVjdCBwcm90b2NvbCBhdHRyaWJ1dGUgKHNjcmlwdCkgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgcHJvdG9jb2wgZXhwZWN0ZWQgKHN0cmluZykgImh0dHAvMS4xIiBi
dXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBj
b3JyZWN0IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAoc2NyaXB0KQorUEFTUyBQZXJmb3Jt
YW5jZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0dHJpYnV0ZSAoc2NyaXB0KQogUEFTUyB3
aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgpIGFuZCB3aW5kb3cucGVyZm9ybWFu
Y2UuZ2V0RW50cmllc0J5TmFtZVR5cGUoKSByZXR1cm4gc2FtZSBkYXRhICh4bWxodHRwcmVxdWVz
dCkKIFBBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuYW1lLCBpbml0aWF0b3JUeXBl
LCBzdGFydFRpbWUsIGFuZCBkdXJhdGlvbiAoeG1saHR0cHJlcXVlc3QpCiBQQVNTIFBlcmZvcm1h
bmNlRW50cnkgaGFzIGNvcnJlY3Qgb3JkZXIgb2YgdGltaW5nIGF0dHJpYnV0ZXMgKHhtbGh0dHBy
ZXF1ZXN0KQotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdvcmsgdHJhbnNm
ZXIgYXR0cmlidXRlcyAoeG1saHR0cHJlcXVlc3QpIGFzc2VydF9lcXVhbHM6IGVuY29kZWRCb2R5
U2l6ZSBzaXplIGV4cGVjdGVkIChudW1iZXIpIDExMiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVm
aW5lZAotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0dHJpYnV0
ZSAoeG1saHR0cHJlcXVlc3QpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIHByb3RvY29sIGV4cGVj
dGVkIChzdHJpbmcpICJodHRwLzEuMSIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKK1BB
U1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuZXR3b3JrIHRyYW5zZmVyIGF0dHJpYnV0
ZXMgKHhtbGh0dHByZXF1ZXN0KQorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IHBy
b3RvY29sIGF0dHJpYnV0ZSAoeG1saHR0cHJlcXVlc3QpCiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5j
ZSBSZXNvdXJjZSBUaW1pbmcgRW50cmllcyBleGlzdAogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2Ug
UmVzb3VyY2UgVGltaW5nIEVudHJpZXMgZXhpc3QgMQogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2Ug
UmVzb3VyY2UgVGltaW5nIEVudHJpZXMgZXhpc3QgMgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNv
dXJjZV90aW1pbmcuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90aW1pbmcu
aHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGNlYTBmMWNiMmFhYjllY2U0OTJlZjNiZGY0Mzc0MTIy
ZDU1Mjk3NDAuLmQ2Y2MxMWQxNDMzYTVmNDVhZDhmM2UzM2YwN2E3OWRkNjZmZTkzNmIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Rlc3RfcmVzb3VyY2VfdGltaW5nLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy90ZXN0X3Jlc291cmNlX3RpbWluZy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTI2LDcgKzI2LDcg
QEAgUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0dHJpYnV0ZSAo
c2NyaXB0KQogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgpIGFuZCB3
aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZVR5cGUoKSByZXR1cm4gc2FtZSBkYXRh
ICh4bWxodHRwcmVxdWVzdCkKIFBBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuYW1l
LCBpbml0aWF0b3JUeXBlLCBzdGFydFRpbWUsIGFuZCBkdXJhdGlvbiAoeG1saHR0cHJlcXVlc3Qp
CiBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3Qgb3JkZXIgb2YgdGltaW5nIGF0dHJp
YnV0ZXMgKHhtbGh0dHByZXF1ZXN0KQotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0
IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAoeG1saHR0cHJlcXVlc3QpIGFzc2VydF9lcXVh
bHM6IGVuY29kZWRCb2R5U2l6ZSBzaXplIGV4cGVjdGVkIDExMiBidXQgZ290IDEyMAorUEFTUyBQ
ZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAo
eG1saHR0cHJlcXVlc3QpCiBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgcHJvdG9j
b2wgYXR0cmlidXRlICh4bWxodHRwcmVxdWVzdCkKIFBBU1Mgd2luZG93LnBlcmZvcm1hbmNlIFJl
c291cmNlIFRpbWluZyBFbnRyaWVzIGV4aXN0CiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBSZXNv
dXJjZSBUaW1pbmcgRW50cmllcyBleGlzdCAxCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy93b3JrZXJTdGFydC10
YW8tcHJvdGVjdGVkLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy93b3JrZXJTdGFydC10YW8tcHJvdGVjdGVkLmh0
dHBzLmh0bWwKaW5kZXggZjliNTBmNzAzNjBkZDZlMDk5MDhiYzJkODFkZmYxMzczNWFhZDIzNi4u
NDg1NmY0NjdmMTZmNmUzODIxZDQ4ZWE3NTQyZDE1NGIzZGU1M2JkNyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
d29ya2VyU3RhcnQtdGFvLXByb3RlY3RlZC5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3dvcmtlclN0YXJ0
LXRhby1wcm90ZWN0ZWQuaHR0cHMuaHRtbApAQCAtNDAsNyArNDAsNyBAQCBwcm9taXNlX3Rlc3Qo
dCA9PiB7CiAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihsaXN0
ID0+IHsKICAgICAgIGNvbnN0IGVudHJpZXMgPSBsaXN0LmdldEVudHJpZXMoKTsKICAgICAgIGZv
ciAoZW50cnkgb2YgZW50cmllcykgewotICAgICAgICBpZiAoZW50cnkubmFtZS5pbmNsdWRlcygi
YmxhbmtfcGFnZV9ncmVlbi5odG0iKSkgeworICAgICAgICBpZiAoZW50cnkubmFtZS5pbmNsdWRl
cygiZ3JlZW4uaHRtbCIpKSB7CiAgICAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOwogICAg
ICAgICAgIC8vIE9ic2VydmUgaXRzIHBlcmZvcm1hbmNlIGVudHJ5IHRvIG1ha2Ugc3VyZSB3b3Jr
ZXJTdGFydCBpcyB6ZXJvCiAgICAgICAgICAgaWYgKGVudHJ5LndvcmtlclN0YXJ0ICE9IDApIHsK
QEAgLTUxLDcgKzUxLDcgQEAgcHJvbWlzZV90ZXN0KHQgPT4gewogICAgICAgfQogICAgIH0pOwog
ICAgIG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsicmVzb3VyY2UiXX0pOwotICAgIGFk
ZEZyYW1lKGhvc3RfaW5mby5IVFRQU19SRU1PVEVfT1JJR0lOICsgIi9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRtIik7CisgICAgYWRkRnJhbWUoaG9zdF9pbmZv
LkhUVFBTX1JFTU9URV9PUklHSU4gKyAiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4u
aHRtbCIpOwogICB9KTsKIH0sICJBZGQgVEFPLWxlc3MgaWZyYW1lIHRvIHJlbW90ZSBvcmlnaW4u
IE1ha2Ugc3VyZSB3b3JrZXJTdGFydCBpcyB6ZXJvIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvcmVkaXJlY3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
cmVkaXJlY3RzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMWViNTQ2MWQzNDBhM2YwYzJlODIy
NzU0MGYxYWQxYjA5YWE1MmIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9yZWRpcmVjdHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK0Rlc2NyaXB0aW9uCisK
K1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCwgd2hlbiBhIGZldGNoaW5nIHJlc291cmNlcyB0aGF0
IGVuY291bnRlciBzYW1lLW9yaWdpbiByZWRpcmVjdHMsIGF0dHJpYnV0ZXMgb2YgdGhlIFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcgZW50cnkgY29uZm9ybSB0byB0aGUgc3BlY2lmaWNhdGlvbi4K
KworCitQQVNTIFZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEgcmVkaXJlY3RlZCBzdHlsZXNoZWV0J3Mg
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZworUEFTUyBWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJl
ZGlyZWN0ZWQgaW1hZ2UncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nCitQQVNTIFZlcmlmeSBh
dHRyaWJ1dGVzIG9mIGEgcmVkaXJlY3RlZCBpZnJhbWUncyBQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nCitQQVNTIFZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEgcmVkaXJlY3RlZCBzY3JpcHQncyBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nCitGQUlMIFZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEgcmVkaXJl
Y3RlZCBzeW5jaHJvbm91cyBYTUxIdHRwUmVxdWVzdCdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcgYXNzZXJ0X2dyZWF0ZXJfdGhhbjogcmVkaXJlY3RTdGFydCBzaG91bGQgYmUgZ3JlYXRlciB0
aGFuIDAgZXhwZWN0ZWQgYSBudW1iZXIgZ3JlYXRlciB0aGFuIDAgYnV0IGdvdCAwCitGQUlMIFZl
cmlmeSBhdHRyaWJ1dGVzIG9mIGEgc3luY2hyb25vdXMgWE1MSHR0cFJlcXVlc3QncyBQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nIHdoZXJlIHRoZSBpbml0aWFsIEhUVFAgcmVxdWVzdCBpcyByZWRp
cmVjdGVkIHRvIGEgY3Jvc3Mtb3JpZ2luIEhUVFBTIHJlc291cmNlLiBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOZXR3b3JrRXJyb3I6ICBBIG5l
dHdvcmsgZXJyb3Igb2NjdXJyZWQuIgorCg==
</data>
<flag name="commit-queue"
          id="452372"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430787</attachid>
            <date>2021-06-07 15:15:14 -0700</date>
            <delta_ts>2021-06-08 11:20:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226678-20210607151513.patch</filename>
            <type>text/plain</type>
            <size>247596</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NDc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTVhMGRiNTc5YmRmYzM2
NmMwMzY3ZmVjZGRlZWVmNzc1YWU5NDM3YS4uNzY1YTg4MTJiMDUyMWM5ZGFmY2VlNTkxYTk1YzE1
MDk5NmZlZTk1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMCBAQAorMjAyMS0wNi0wNCAgQWxl
eCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUg
VGltaW5nLUFsbG93LU9yaWdpbiBjaGVja3MgdG8gdGhlIG5ldHdvcmsgcHJvY2VzcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2Njc4CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS80NTIyNzc4OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXZSB0cmllZCBoYXJkIHRvIGRvIGl0IGluIHRoZSB3ZWIgcHJv
Y2VzcyBieSBrZWVwaW5nIHRyYWNrIG9mIHdoZXRoZXIgdGhlIGxhc3QgcmVkaXJlY3Qgd2FzIGNy
b3NzLW9yaWdpbgorICAgICAgICBhbmQgY2hlY2tpbmcgdGhlIGZpbmFsIHJlc3BvbnNlIGFuZCBv
cmlnaW5hbCBzZWN1cml0eSBvcmlnaW4uICBXZSBnb3QgbWFueSB0ZXN0cyB0byBwYXNzLCBidXQg
dG8gZ2V0IHRoZSByZXN0CisgICAgICAgIGFuZCBiZSBjb3JyZWN0LCB3ZSBuZWVkIHRvIGNoZWNr
IHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRlciBmaWVsZCBvZiBlYWNoIHJlZGlyZWN0IGFn
YWluc3QgdGhlIG9yaWdpbmFsIHNlY3VyaXR5IG9yaWdpbi4KKworICAgICAgICBUZXN0czogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU08tWE8tU08tcmVk
aXJlY3QtY2hhaW4tdGFvLmh0dHBzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1tYXRjaC5odG1sCisgICAgICAg
ICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9U
QU8tbnVsbC1vcGFxdWUtb3JpZ2luLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5z
LWNyb3Nzb3JpZ2luLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29u
bmVjdGlvbi1yZXVzZS5odHRwcy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhcnQtZW5kLXRp
bWUtd2l0aC1yZWRpcmVjdHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC1v
cGVuZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvZW50cnktYXR0cmlidXRlcy5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mZXRjaC1jcm9z
cy1vcmlnaW4tcmVkaXJlY3QuaHR0cHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZm9udC10aW1lc3RhbXBzLmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2lmcmFtZS1mYWlsZWQtY29tbWl0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2luaXRpYXRvci10eXBlLWZv
ci1zY3JpcHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvbmV4dEhvcFByb3RvY29sLWlzLXRhby1wcm90ZWN0ZWQuaHR0
cHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1UQU8tY3Jvc3Mtb3JpZ2luLXJl
ZGlyZWN0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItY3Jvc3Mtb3JpZ2luLXJl
ZGlyZWN0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3JlZGlyZWN0cy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25vcmUt
ZGF0YS11cmwuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfY2FjaGVkLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
X3RpbWluZ19jb250ZW50X2xlbmd0aC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zYW1lLW9yaWdpbi1mcm9tLWNyb3Nz
LW9yaWdpbi1yZWRpcmVjdC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC1pbWcuaHRtbAorCisg
ICAgICAgICogSGVhZGVycy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogbG9hZGVyL1Jl
c291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjpzdGFy
dCk6CisgICAgICAgIEdldCBhIFNlY3VyaXR5T3JpZ2luIGZvciBvdXIgV2ViS2l0TGVnYWN5IFJl
c291cmNlSGFuZGxlIHVzZSBsaWtlIHdlIGRvIGluIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVs
ZUxvYWRGcm9tTmV0d29ya1Byb2Nlc3MKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VUaW1pbmcu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VUaW1pbmc6OlJlc291cmNlVGltaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlVGltaW5nOjppbml0U2VydmVyVGltaW5nKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlVGltaW5nOjppc29sYXRlZENvcHkgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6cGFzc2VzVGltaW5nQWxsb3dDaGVjayk6IERlbGV0ZWQuCisgICAgICAg
ICogbG9hZGVyL1Jlc291cmNlVGltaW5nLmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVRp
bWluZzo6bmV0d29ya0xvYWRNZXRyaWNzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlVGltaW5nOjpSZXNvdXJjZVRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVRp
bWluZzo6YWxsb3dUaW1pbmdEZXRhaWxzIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKCk6IERl
bGV0ZWQuCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpyZWRpcmVjdENvdW50IGNvbnN0KToK
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmc6OnNhbWVPcmlnaW5DaGVja0Zh
aWxzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWlu
Zzo6cmVkaXJlY3RDb3VudCBjb25zdCk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmVudHJ5U3RhcnRUaW1lKToKKyAgICAg
ICAgKFdlYkNvcmU6OmVudHJ5RW5kVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlZGlyZWN0RW5kIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmRvbWFpbkxvb2t1cFN0YXJ0IGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmRvbWFp
bkxvb2t1cEVuZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nOjpjb25uZWN0U3RhcnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdEVuZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpzZWN1cmVDb25uZWN0aW9uU3RhcnQgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVxdWVzdFN0YXJ0
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJl
c3BvbnNlU3RhcnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZzo6dHJhbnNmZXJTaXplIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmc6OmVuY29kZWRCb2R5U2l6ZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkZWNvZGVkQm9keVNpemUgY29uc3QpOgor
ICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VUaW1pbmc6OnVubG9hZEV2ZW50U3RhcnQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OnVubG9hZEV2ZW50RW5kIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0IGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpyZWRpcmVjdEVuZCBjb25zdCk6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VIYW5kbGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6QmxvYlJlc291cmNlSGFuZGxlOjpCbG9iUmVzb3VyY2VIYW5kbGUpOgorICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmg6CisgICAgICAgIChXZWJD
b3JlOjpOZXR3b3JrTG9hZE1ldHJpY3M6Omlzb2xhdGVkQ29weSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJpY3M6Om9wZXJhdG9yPT0gY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TmV0d29ya0xvYWRNZXRyaWNzOjpkZWNvZGUpOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5k
bGU6OlJlc291cmNlSGFuZGxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmxvYWRSZXNvdXJjZVN5
bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmlzQ3Jvc3NP
cmlnaW5XaXRob3V0VEFPIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxl
OjptYXJrQXNDcm9zc09yaWdpbldpdGhvdXRUQU8pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3Vy
Y2VIYW5kbGU6OnNvdXJjZU9yaWdpbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZUhhbmRsZTo6aGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6c2V0SGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCk6IERl
bGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGVJbnRlcm5hbDo6UmVzb3VyY2VIYW5kbGVJbnRlcm5h
bCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5jcHA6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6cGFzc2VzVGltaW5nQWxsb3dPcmlnaW5DaGVjayk6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5oOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtMb2FkTWV0cmljcy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OnBhY2thZ2VUaW1pbmdEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OmNv
cHlUaW1pbmdEYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhh
bmRsZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpwbGF0Zm9ybUxv
YWRSZXNvdXJjZVN5bmNocm9ub3VzbHkpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFj
L1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5tbToKKyAgICAg
ICAgKC1bV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlIGNvbm5l
Y3Rpb246d2lsbFNlbmRSZXF1ZXN0OnJlZGlyZWN0UmVzcG9uc2U6XSk6CisgICAgICAgICgtW1dl
YkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSBjb25uZWN0aW9uOmRp
ZFJlY2VpdmVSZXNwb25zZTpdKToKKwogMjAyMS0wNi0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFj
aHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEltcGxlbWVudCBvZmYtYnktZGVmYXVs
dCBleHBlcmltZW50YWwgZmVhdHVyZSBmb3IgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy50cmFu
c2ZlclNpemUsIGVuY29kZWRCb2R5U2l6ZSwgYW5kIGRlY29kZWRCb2R5U2l6ZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCAyYzdkZmFjZGJmY2M3OWVlYjdmZDc3N2ZmZGUyOWNjZTUwYzE5NDRmLi4yMWVjYTllMzZkZWY2
OGU4YTllMThmOGIyZGY5YjY0MDBiYmQ4NjczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisy
MDIxLTA2LTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgTW92ZSBUaW1pbmctQWxsb3ctT3JpZ2luIGNoZWNrcyB0byB0aGUgbmV0d29yayBw
cm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjY2NzgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ1MjI3Nzg4PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29y
a0xvYWRQYXJhbWV0ZXJzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZFBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVz
b3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpzZW5kUmVwbHlUb1N5bmNocm9ub3Vz
UmVxdWVzdCk6CisgICAgICAgIFBhc3MgY29tcGxldGUgbWV0cmljcyB3aXRoIHN5bmMgeGhyIHJl
c3BvbnNlcy4gIE1hbnkgb2YgdGhlIHRlc3RzIHVzZSBzeW5jIHhoci4KKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRGYWlsTG9hZGluZyk6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkUmV0cmlldmVDYWNoZUVudHJ5KToKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5oOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6TmV0d29ya0RhdGFUYXNrQ29jb2Ep
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6d2lsbFBlcmZvcm1IVFRQ
UmVkaXJlY3Rpb24pOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNz
aW9uQ29jb2EubW06CisgICAgICAgICgtW1dLTmV0d29ya1Nlc3Npb25EZWxlZ2F0ZSBVUkxTZXNz
aW9uOnRhc2s6d2lsbFBlcmZvcm1IVFRQUmVkaXJlY3Rpb246bmV3UmVxdWVzdDpjb21wbGV0aW9u
SGFuZGxlcjpdKToKKyAgICAgICAgKC1bV0tOZXR3b3JrU2Vzc2lvbkRlbGVnYXRlIFVSTFNlc3Np
b246ZGF0YVRhc2s6ZGlkUmVjZWl2ZVJlc3BvbnNlOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorCiAy
MDIxLTA2LTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgSW1wbGVtZW50IG9mZi1ieS1kZWZhdWx0IGV4cGVyaW1lbnRhbCBmZWF0dXJlIGZv
ciBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLnRyYW5zZmVyU2l6ZSwgZW5jb2RlZEJvZHlTaXpl
LCBhbmQgZGVjb2RlZEJvZHlTaXplCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCmluZGV4IGVkMTUzNWJkMDli
ZDQzOWU3Y2NiNDVlYzhmZDRiNTgzNTkwNDQ1ZjcuLmRmYTJiM2NiN2Y3OGU3ZTAzZWQ1NjI1N2M4
NmE5ZTgzMWYyZGU3NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MjEtMDYtMDQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKwor
ICAgICAgICBNb3ZlIFRpbWluZy1BbGxvdy1PcmlnaW4gY2hlY2tzIHRvIHRoZSBuZXR3b3JrIHBy
b2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NjY3OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDUyMjc3ODg+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QaW5nSGFu
ZGxlLmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVy
LmNwcDoKKyAgICAgICAgKFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjo6bG9hZFJlc291cmNlU3lu
Y2hyb25vdXNseSk6CisKIDIwMjEtMDUtMzAgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29t
PgogCiAgICAgICAgIFJlbW92ZSBzb21lIG9mIHRoZSB1bm5lZWRlZCBXZWJLaXRMZWdhY3kgV2lu
ZG93cy1zcGVjaWZpYyBwbHVnLWluIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hl
YWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IDU1NDZjNGQz
ZTYzNmYzNjYwOWM0MTg5MDg4MmY0MTZjN2EwZWFhMTcuLjdiOTNlYzhhYzNkNGI3NzZmNDYxNTVh
MTI4MTIyYWYxZTdiOGZkN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21h
a2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMTQ4Miw2ICsxNDgyLDcg
QEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIHBsYXRmb3JtL25l
dHdvcmsvU3RvcmFnZVNlc3Npb25Qcm92aWRlci5oCiAgICAgcGxhdGZvcm0vbmV0d29yay9TdG9y
ZWRDcmVkZW50aWFsc1BvbGljeS5oCiAgICAgcGxhdGZvcm0vbmV0d29yay9TeW5jaHJvbm91c0xv
YWRlckNsaWVudC5oCisgICAgcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5oCiAK
ICAgICBwbGF0Zm9ybS9zcWwvU1FMVmFsdWUuaAogICAgIHBsYXRmb3JtL3NxbC9TUUxpdGVEYXRh
YmFzZS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IGI0YTMwMzRkZDZjOTQwM2EzMTA4MDNmYzhkZDVjNDAw
ZGM3Yzc4ZTUuLjNmYWI0NTM3MWU3ZjljMzE1ZWY5Yzg0YWE1ZTg1NTExZTU4ZTEyMWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CkBAIC0yMTkxLDYgKzIxOTEsNyBAQCBwbGF0Zm9ybS9uZXR3b3JrL1NhbWVTaXRl
SW5mby5jcHAKIHBsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFtSGFuZGxlLmNwcAogcGxhdGZv
cm0vbmV0d29yay9Tb2NrZXRTdHJlYW1IYW5kbGVJbXBsLmNwcAogcGxhdGZvcm0vbmV0d29yay9T
eW5jaHJvbm91c0xvYWRlckNsaWVudC5jcHAKK3BsYXRmb3JtL25ldHdvcmsvVGltaW5nQWxsb3dP
cmlnaW4uY3BwCiBwbGF0Zm9ybS9zcWwvU1FMaXRlQXV0aG9yaXplci5jcHAKIHBsYXRmb3JtL3Nx
bC9TUUxpdGVEYXRhYmFzZS5jcHAKIHBsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZVRyYWNrZXIu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggNDZmMjY4Mjg0OGIwZTU5NzYyNzE1YWMyMDJiNTE1ZTRmMzMzNDEzZC4uMzMwZTk3
NmVmNmM4NjVkNDdhZDE5ODI1NTQ4ZTFmYWFjMzU1NmEzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTk5Nyw2ICsxOTk3LDcg
QEAKIAkJNUNCMzdGRkYxQzYyRDJBMTAwRjIwMTg4IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNCMzdGRkQxQzYy
RDI3ODAwRjIwMTg4IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5oICovOyB9OwogCQk1Q0JDOERBRDFB
QUEzMDIyMDBFMUM4MDMgLyogTWVkaWFBY2Nlc3NpYmlsaXR5U29mdExpbmsuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQkM4REFCMUFBQTMwMjIwMEUx
QzgwMyAvKiBNZWRpYUFjY2Vzc2liaWxpdHlTb2Z0TGluay5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTVDQkQ1OTU5MjI4MEU5MjYwMDJCMjJBQSAv
KiBDdXN0b21IZWFkZXJGaWVsZHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNUM1RDIzODYyMjdBMDc3QzAwMEI5QkRBIC8qIEN1c3RvbUhlYWRlckZp
ZWxkcy5jcHAgKi87IH07CisJCTVDQzc5MDBFMjY2QUZBODkwMDY5MjRGRSAvKiBUaW1pbmdBbGxv
d09yaWdpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NUNDNzkwMEIyNjZBRkE4ODAwNjkyNEZFIC8qIFRpbWluZ0FsbG93T3JpZ2luLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNUNDQzI3MDkyMkQ1NDgz
QTAwOTY0RkEwIC8qIEF1dG9maWxsRWxlbWVudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQ0MyNzA2MjJENTNCNjgwMDk2NEZBMCAvKiBBdXRvZmls
bEVsZW1lbnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNUNEOUY1NjYxQUEwRjczQzAwREE0NUZGIC8qIERGQUJ5dGVjb2RlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1QzM5MzA1RDFBQTBGNkE5MDAy
OUM4MTYgLyogREZBQnl0ZWNvZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk1Q0Q5RjU2NzFBQTBGNzQyMDBEQTQ1RkYgLyogREZBQnl0ZWNvZGVD
b21waWxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NUMzOTMwNUYxQUEwRjZBOTAwMjlDODE2IC8qIERGQUJ5dGVjb2RlQ29tcGlsZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTcwOCw2ICs5NzA5
LDggQEAKIAkJNUNCMzdGRkQxQzYyRDI3ODAwRjIwMTg4IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxBbmltYXRvck1vY2suaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNCQzhEQUExQUFBMzAyMjAwRTFDODAzIC8q
IE1lZGlhQWNjZXNzaWJpbGl0eVNvZnRMaW5rLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IE1lZGlhQWNjZXNzaWJpbGl0eVNvZnRMaW5rLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNUNCQzhEQUIxQUFBMzAyMjAwRTFDODAzIC8qIE1lZGlhQWNjZXNz
aWJpbGl0eVNvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlh
QWNjZXNzaWJpbGl0eVNvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVD
Qzc5MDBCMjY2QUZBODgwMDY5MjRGRSAvKiBUaW1pbmdBbGxvd09yaWdpbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBUaW1pbmdBbGxvd09yaWdpbi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1Q0M3OTAwRDI2NkFGQTg5MDA2OTI0RkUgLyogVGltaW5nQWxsb3dP
cmlnaW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGltaW5nQWxs
b3dPcmlnaW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0NDMjcwNjIyRDUz
QjY4MDA5NjRGQTAgLyogQXV0b2ZpbGxFbGVtZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBBdXRvZmlsbEVsZW1lbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTVDQ0MyNzA3MjJENTNCNjkwMDk2NEZBMCAvKiBBdXRvZmlsbEVsZW1lbnRzLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEF1dG9maWxsRWxlbWVudHMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0RDRERCRjIzRDdCN0JFMDBCQTM0QTEgLyog
Q29udGVudEZpbHRlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
b250ZW50RmlsdGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjIx
OSw2ICsyMjIyMiw4IEBACiAJCQkJNDY4MkQxRkYxRjc5NzgyMzAwQzg2M0RCIC8qIFN0b3JlZENy
ZWRlbnRpYWxzUG9saWN5LmggKi8sCiAJCQkJRTE4MDgxMTAxNkZDRjQyRTAwQjgwRDA3IC8qIFN5
bmNocm9ub3VzTG9hZGVyQ2xpZW50LmNwcCAqLywKIAkJCQlFMTgwODExNTE2RkNGOUNCMDBCODBE
MDcgLyogU3luY2hyb25vdXNMb2FkZXJDbGllbnQuaCAqLywKKwkJCQk1Q0M3OTAwRDI2NkFGQTg5
MDA2OTI0RkUgLyogVGltaW5nQWxsb3dPcmlnaW4uY3BwICovLAorCQkJCTVDQzc5MDBCMjY2QUZB
ODgwMDY5MjRGRSAvKiBUaW1pbmdBbGxvd09yaWdpbi5oICovLAogCQkJKTsKIAkJCXBhdGggPSBu
ZXR3b3JrOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTM1NzU3LDYgKzM1NzYyLDcg
QEAKIAkJCQk5MzA1QjI0RDA5OEYxQjZCMDBDMjg4NTUgLyogVGltZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCUU0NDYxM0IwMENENjMzMTAwMEZBREE3NSAvKiBUaW1lUmFuZ2VzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkyRDdFRDBBQjFCQUU5OTE3MDA0M0IzRTUgLyogVGltZXJFdmVudEJhc2VkTW9j
ay5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUNDNzkwMEUyNjZBRkE4OTAwNjkyNEZFIC8qIFRpbWlu
Z0FsbG93T3JpZ2luLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5MTJBRTBFRkFDOTA2MDA5RDBD
QUYgLyogVGltaW5nRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNTRERDA4MTg4MUQ1
RjUwMDNFRURCQiAvKiBUb3VjaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzFCN0VFMEQyMUI1QzY4
NzAwMzFDMUVGIC8qIFRvdWNoQWN0aW9uLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDUzNTM5ZmI2N2RlMWY1ZjE2Mjg0MjlkYjNm
MWFiMmY1M2NlZGQ2NzIuLjZiNDIyZGRiNDM5NzcwYTdmMGM1YTA2YWNjMDZmYmFkNGNjYmM0YzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcApAQCAtNTEsNiArNTEs
NyBAQAogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmln
aW4uaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKKyNpbmNsdWRlICJTdWJyZXNvdXJjZUxv
YWRlci5oIgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0
Zi9SZWYuaD4KIApAQCAtMjQxLDcgKzI0MiwxMyBAQCB2b2lkIFJlc291cmNlTG9hZGVyOjpzdGFy
dCgpCiAgICAgfQogI2VuZGlmCiAKLSAgICBtX2hhbmRsZSA9IFJlc291cmNlSGFuZGxlOjpjcmVh
dGUoZnJhbWVMb2FkZXIoKS0+bmV0d29ya2luZ0NvbnRleHQoKSwgbV9yZXF1ZXN0LCB0aGlzLCBt
X2RlZmVyc0xvYWRpbmcsIG1fb3B0aW9ucy5zbmlmZkNvbnRlbnQgPT0gQ29udGVudFNuaWZmaW5n
UG9saWN5OjpTbmlmZkNvbnRlbnQsIG1fb3B0aW9ucy5zbmlmZkNvbnRlbnRFbmNvZGluZyA9PSBD
b250ZW50RW5jb2RpbmdTbmlmZmluZ1BvbGljeTo6U25pZmYpOworICAgIFJlZlB0cjxTZWN1cml0
eU9yaWdpbj4gc291cmNlT3JpZ2luID0gaXM8U3VicmVzb3VyY2VMb2FkZXI+KCp0aGlzKSA/IGRv
d25jYXN0PFN1YnJlc291cmNlTG9hZGVyPigqdGhpcykub3JpZ2luKCkgOiBudWxscHRyOworICAg
IGlmICghc291cmNlT3JpZ2luICYmIGZyYW1lTG9hZGVyKCkpIHsKKyAgICAgICAgYXV0byogZG9j
dW1lbnQgPSBmcmFtZUxvYWRlcigpLT5mcmFtZSgpLmRvY3VtZW50KCk7CisgICAgICAgIHNvdXJj
ZU9yaWdpbiA9ICBkb2N1bWVudCA/ICZkb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKSA6IG51bGxw
dHI7CisgICAgfQorCisgICAgbV9oYW5kbGUgPSBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlKGZyYW1l
TG9hZGVyKCktPm5ldHdvcmtpbmdDb250ZXh0KCksIG1fcmVxdWVzdCwgdGhpcywgbV9kZWZlcnNM
b2FkaW5nLCBtX29wdGlvbnMuc25pZmZDb250ZW50ID09IENvbnRlbnRTbmlmZmluZ1BvbGljeTo6
U25pZmZDb250ZW50LCBtX29wdGlvbnMuc25pZmZDb250ZW50RW5jb2RpbmcgPT0gQ29udGVudEVu
Y29kaW5nU25pZmZpbmdQb2xpY3k6OlNuaWZmLCBXVEZNb3ZlKHNvdXJjZU9yaWdpbikpOwogfQog
CiB2b2lkIFJlc291cmNlTG9hZGVyOjpzZXREZWZlcnNMb2FkaW5nKGJvb2wgZGVmZXJzKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZVRpbWluZy5jcHAKaW5kZXggNDk4ZTMzMjc0YmY5Yjk4
MmM5ZTk4NTJjZTkyN2JlY2Y0YTI4M2EwNS4uZmUyZTk2NjNmMjhiZjgyZDRmNTIwMmNhMWZkY2Zj
ZGRiOTMzNTE3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGlt
aW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VUaW1pbmcuY3BwCkBA
IC0zNSwyOCArMzUsNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBib29sIHBh
c3Nlc1RpbWluZ0FsbG93Q2hlY2soY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNv
bnN0IFNlY3VyaXR5T3JpZ2luJiBpbml0aWF0b3JTZWN1cml0eU9yaWdpbikKLXsKLSAgICBSZWY8
U2VjdXJpdHlPcmlnaW4+IHJlc291cmNlT3JpZ2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZShy
ZXNwb25zZS51cmwoKSk7Ci0gICAgaWYgKHJlc291cmNlT3JpZ2luLT5pc1NhbWVTY2hlbWVIb3N0
UG9ydChpbml0aWF0b3JTZWN1cml0eU9yaWdpbikpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0g
ICAgY29uc3QgU3RyaW5nJiB0aW1pbmdBbGxvd09yaWdpblN0cmluZyA9IHJlc3BvbnNlLmh0dHBI
ZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6VGltaW5nQWxsb3dPcmlnaW4pOwotICAgIGlmICh0
aW1pbmdBbGxvd09yaWdpblN0cmluZy5pc0VtcHR5KCkgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdB
U0NJSUNhc2UodGltaW5nQWxsb3dPcmlnaW5TdHJpbmcsICJudWxsIikpCi0gICAgICAgIHJldHVy
biBmYWxzZTsKLQotICAgIGlmICh0aW1pbmdBbGxvd09yaWdpblN0cmluZyA9PSAiKiIpCi0gICAg
ICAgIHJldHVybiB0cnVlOwotCi0gICAgY29uc3QgU3RyaW5nJiBzZWN1cml0eU9yaWdpbiA9IGlu
aXRpYXRvclNlY3VyaXR5T3JpZ2luLnRvU3RyaW5nKCk7Ci0gICAgZm9yIChhdXRvJiBvcmlnaW4g
OiB0aW1pbmdBbGxvd09yaWdpblN0cmluZy5zcGxpdCgnLCcpKSB7Ci0gICAgICAgIGlmIChvcmln
aW4uc3RyaXBXaGl0ZVNwYWNlKCkgPT0gc2VjdXJpdHlPcmlnaW4pCi0gICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKLSAgICB9Ci0KLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KIFJlc291cmNlVGltaW5n
IFJlc291cmNlVGltaW5nOjpmcm9tTWVtb3J5Q2FjaGUoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0
cmluZyYgaW5pdGlhdG9yLCBjb25zdCBSZXNvdXJjZUxvYWRUaW1pbmcmIGxvYWRUaW1pbmcsIGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25zdCBTZWN1cml0eU9yaWdpbiYgc2Vj
dXJpdHlPcmlnaW4pCiB7CiAgICAgcmV0dXJuIFJlc291cmNlVGltaW5nKHVybCwgaW5pdGlhdG9y
LCBsb2FkVGltaW5nLCByZXNwb25zZSwgc2VjdXJpdHlPcmlnaW4pOwpAQCAtNzIsMjggKzUwLDI2
IEBAIFJlc291cmNlVGltaW5nIFJlc291cmNlVGltaW5nOjpmcm9tU3luY2hyb25vdXNMb2FkKGNv
bnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmCiAgICAgcmV0dXJuIFJlc291cmNlVGltaW5nKHVy
bCwgaW5pdGlhdG9yLCBsb2FkVGltaW5nLCBuZXR3b3JrTG9hZE1ldHJpY3MsIHJlc3BvbnNlLCBz
ZWN1cml0eU9yaWdpbik7CiB9CiAKLVJlc291cmNlVGltaW5nOjpSZXNvdXJjZVRpbWluZyhjb25z
dCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBpbml0aWF0b3IsIGNvbnN0IFJlc291cmNlTG9hZFRp
bWluZyYgbG9hZFRpbWluZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0
IFNlY3VyaXR5T3JpZ2luJiBzZWN1cml0eU9yaWdpbikKK1Jlc291cmNlVGltaW5nOjpSZXNvdXJj
ZVRpbWluZyhjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBpbml0aWF0b3IsIGNvbnN0IFJl
c291cmNlTG9hZFRpbWluZyYgbG9hZFRpbWluZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVz
cG9uc2UsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJikKICAgICA6IG1fdXJsKHVybCkKICAgICAsIG1f
aW5pdGlhdG9yKGluaXRpYXRvcikKICAgICAsIG1fcmVzb3VyY2VMb2FkVGltaW5nKGxvYWRUaW1p
bmcpCi0gICAgLCBtX2FsbG93VGltaW5nRGV0YWlscyhwYXNzZXNUaW1pbmdBbGxvd0NoZWNrKHJl
c3BvbnNlLCBzZWN1cml0eU9yaWdpbikpCiB7CiAgICAgaW5pdFNlcnZlclRpbWluZyhyZXNwb25z
ZSk7CiB9CiAKLVJlc291cmNlVGltaW5nOjpSZXNvdXJjZVRpbWluZyhjb25zdCBVUkwmIHVybCwg
Y29uc3QgU3RyaW5nJiBpbml0aWF0b3IsIGNvbnN0IFJlc291cmNlTG9hZFRpbWluZyYgdGltaW5n
LCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG5ldHdvcmtMb2FkTWV0cmljcywgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiBzZWN1cml0eU9y
aWdpbikKK1Jlc291cmNlVGltaW5nOjpSZXNvdXJjZVRpbWluZyhjb25zdCBVUkwmIHVybCwgY29u
c3QgU3RyaW5nJiBpbml0aWF0b3IsIGNvbnN0IFJlc291cmNlTG9hZFRpbWluZyYgdGltaW5nLCBj
b25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG5ldHdvcmtMb2FkTWV0cmljcywgY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJikKICAgICA6IG1fdXJs
KHVybCkKICAgICAsIG1faW5pdGlhdG9yKGluaXRpYXRvcikKICAgICAsIG1fcmVzb3VyY2VMb2Fk
VGltaW5nKHRpbWluZykKICAgICAsIG1fbmV0d29ya0xvYWRNZXRyaWNzKG5ldHdvcmtMb2FkTWV0
cmljcykKLSAgICAsIG1fYWxsb3dUaW1pbmdEZXRhaWxzKHBhc3Nlc1RpbWluZ0FsbG93Q2hlY2so
cmVzcG9uc2UsIHNlY3VyaXR5T3JpZ2luKSkKIHsKICAgICBpbml0U2VydmVyVGltaW5nKHJlc3Bv
bnNlKTsKIH0KIAogdm9pZCBSZXNvdXJjZVRpbWluZzo6aW5pdFNlcnZlclRpbWluZyhjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKIHsKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXJ2ZXJUaW1pbmdFbmFibGVkKCkgJiYgbV9hbGxvd1Rp
bWluZ0RldGFpbHMpCisgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuc2VydmVyVGltaW5nRW5hYmxlZCgpICYmICFtX25ldHdvcmtMb2FkTWV0cmljcy5pc0Ny
b3NzT3JpZ2luV2l0aG91dFRBTykKICAgICAgICAgbV9zZXJ2ZXJUaW1pbmcgPSBTZXJ2ZXJUaW1p
bmdQYXJzZXI6OnBhcnNlU2VydmVyVGltaW5nKHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQ
SGVhZGVyTmFtZTo6U2VydmVyVGltaW5nKSk7CiB9CiAKQEAgLTExMSw3ICs4Nyw2IEBAIFJlc291
cmNlVGltaW5nIFJlc291cmNlVGltaW5nOjppc29sYXRlZENvcHkoKSBjb25zdAogICAgICAgICBt
X2luaXRpYXRvci5pc29sYXRlZENvcHkoKSwKICAgICAgICAgbV9yZXNvdXJjZUxvYWRUaW1pbmcu
aXNvbGF0ZWRDb3B5KCksCiAgICAgICAgIG1fbmV0d29ya0xvYWRNZXRyaWNzLmlzb2xhdGVkQ29w
eSgpLAotICAgICAgICBtX2FsbG93VGltaW5nRGV0YWlscywKICAgICAgICAgY3Jvc3NUaHJlYWRD
b3B5KG1fc2VydmVyVGltaW5nKQogICAgICk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VUaW1pbmcuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJj
ZVRpbWluZy5oCmluZGV4IGQzYjJiOWIzOTg0NWYwYWQ2NzYyYzMyOGUwNjI5ZGVmZmJiODI3MjYu
LmFjYmFmYmQ4NWJhMjVkNTQ5MGIxOGE1YTdjZjU2M2JkZjFmYTYyNDYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZVRpbWluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9SZXNvdXJjZVRpbWluZy5oCkBAIC00OSw3ICs0OSw2IEBAIHB1YmxpYzoKICAgICBj
b25zdCBTdHJpbmcmIGluaXRpYXRvcigpIGNvbnN0IHsgcmV0dXJuIG1faW5pdGlhdG9yOyB9CiAg
ICAgY29uc3QgUmVzb3VyY2VMb2FkVGltaW5nJiByZXNvdXJjZUxvYWRUaW1pbmcoKSBjb25zdCB7
IHJldHVybiBtX3Jlc291cmNlTG9hZFRpbWluZzsgfQogICAgIGNvbnN0IE5ldHdvcmtMb2FkTWV0
cmljcyYgbmV0d29ya0xvYWRNZXRyaWNzKCkgY29uc3QgeyByZXR1cm4gbV9uZXR3b3JrTG9hZE1l
dHJpY3M7IH0KLSAgICBib29sIGFsbG93VGltaW5nRGV0YWlscygpIGNvbnN0IHsgcmV0dXJuIG1f
YWxsb3dUaW1pbmdEZXRhaWxzOyB9CiAgICAgVmVjdG9yPFJlZjxQZXJmb3JtYW5jZVNlcnZlclRp
bWluZz4+IHBvcHVsYXRlU2VydmVyVGltaW5nKCkgY29uc3Q7CiAgICAgUmVzb3VyY2VUaW1pbmcg
aXNvbGF0ZWRDb3B5KCkgY29uc3Q7CiAKQEAgLTU4LDEyICs1NywxMSBAQCBwdWJsaWM6CiBwcml2
YXRlOgogICAgIFJlc291cmNlVGltaW5nKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgaW5pdGlh
dG9yLCBjb25zdCBSZXNvdXJjZUxvYWRUaW1pbmcmLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3Mm
LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgU2VjdXJpdHlPcmlnaW4mKTsKICAgICBS
ZXNvdXJjZVRpbWluZyhjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIGluaXRpYXRvciwgY29uc3Qg
UmVzb3VyY2VMb2FkVGltaW5nJiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFNlY3Vy
aXR5T3JpZ2luJik7Ci0gICAgUmVzb3VyY2VUaW1pbmcoVVJMJiYgdXJsLCBTdHJpbmcmJiBpbml0
aWF0b3IsIGNvbnN0IFJlc291cmNlTG9hZFRpbWluZyYgcmVzb3VyY2VMb2FkVGltaW5nLCBOZXR3
b3JrTG9hZE1ldHJpY3MmJiBuZXR3b3JrTG9hZE1ldHJpY3MsIGJvb2wgYWxsb3dUaW1pbmdEZXRh
aWxzLCBWZWN0b3I8U2VydmVyVGltaW5nPiYmIHNlcnZlclRpbWluZykKKyAgICBSZXNvdXJjZVRp
bWluZyhVUkwmJiB1cmwsIFN0cmluZyYmIGluaXRpYXRvciwgY29uc3QgUmVzb3VyY2VMb2FkVGlt
aW5nJiByZXNvdXJjZUxvYWRUaW1pbmcsIE5ldHdvcmtMb2FkTWV0cmljcyYmIG5ldHdvcmtMb2Fk
TWV0cmljcywgVmVjdG9yPFNlcnZlclRpbWluZz4mJiBzZXJ2ZXJUaW1pbmcpCiAgICAgICAgIDog
bV91cmwoV1RGTW92ZSh1cmwpKQogICAgICAgICAsIG1faW5pdGlhdG9yKFdURk1vdmUoaW5pdGlh
dG9yKSkKICAgICAgICAgLCBtX3Jlc291cmNlTG9hZFRpbWluZyhyZXNvdXJjZUxvYWRUaW1pbmcp
CiAgICAgICAgICwgbV9uZXR3b3JrTG9hZE1ldHJpY3MoV1RGTW92ZShuZXR3b3JrTG9hZE1ldHJp
Y3MpKQotICAgICAgICAsIG1fYWxsb3dUaW1pbmdEZXRhaWxzKGFsbG93VGltaW5nRGV0YWlscykK
ICAgICAgICAgLCBtX3NlcnZlclRpbWluZyhXVEZNb3ZlKHNlcnZlclRpbWluZykpCiAgICAgewog
ICAgIH0KQEAgLTczLDcgKzcxLDYgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9pbml0aWF0b3I7
CiAgICAgUmVzb3VyY2VMb2FkVGltaW5nIG1fcmVzb3VyY2VMb2FkVGltaW5nOwogICAgIE5ldHdv
cmtMb2FkTWV0cmljcyBtX25ldHdvcmtMb2FkTWV0cmljczsKLSAgICBib29sIG1fYWxsb3dUaW1p
bmdEZXRhaWxzIHsgZmFsc2UgfTsKICAgICBWZWN0b3I8U2VydmVyVGltaW5nPiBtX3NlcnZlclRp
bWluZzsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VO
YXZpZ2F0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9u
LmNwcAppbmRleCAwY2M3M2ZkZjg2M2M0MjFjNWRhYWRhMmYyNWJjYTI1NGE4ZTk2ZThhLi5jMWM0
OGQ2ZjE4ODJmZmFkNTcxYzU1OTY4OTFlYjBmMDBiYjAxMGQ5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwCkBAIC03OCw3ICs3OCw3IEBAIHVuc2ln
bmVkIHNob3J0IFBlcmZvcm1hbmNlTmF2aWdhdGlvbjo6cmVkaXJlY3RDb3VudCgpIGNvbnN0CiAg
ICAgaWYgKCFtZXRyaWNzKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIGlmIChtZXRyaWNzLT5o
YXNDcm9zc09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtZXRyaWNzLT5pc0Nyb3NzT3JpZ2luV2l0
aG91dFRBTykKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICByZXR1cm4gbWV0cmljcy0+cmVkaXJl
Y3RDb3VudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZp
Z2F0aW9uVGltaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0
aW9uVGltaW5nLmNwcAppbmRleCA2OGQyY2M3NThjM2YxNTRhZmFhMWJhZjIyZjVlNGQzMDc4ZjQ3
MzU5Li42YzVkYzYzMWQzYjhiYWUxOGM5YzhjMDZjOGQ1Yjk3MmZlOTMzNjA2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmcuY3BwCkBA
IC02OCw4ICs2OCw3IEBAIGRvdWJsZSBQZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmc6Om1pbGxp
c2Vjb25kc1NpbmNlT3JpZ2luKE1vbm90b25pY1RpbWUgdGltZSkKIGJvb2wgUGVyZm9ybWFuY2VO
YXZpZ2F0aW9uVGltaW5nOjpzYW1lT3JpZ2luQ2hlY2tGYWlscygpIGNvbnN0CiB7CiAgICAgLy8g
aHR0cHM6Ly93d3cudzMub3JnL1RSL25hdmlnYXRpb24tdGltaW5nLTIvI2Rmbi1zYW1lLW9yaWdp
bi1jaGVjawotICAgIHJldHVybiAhbV9yZXNvdXJjZVRpbWluZy5hbGxvd1RpbWluZ0RldGFpbHMo
KQotICAgICAgICB8fCBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmhhc0Ny
b3NzT3JpZ2luUmVkaXJlY3QKKyAgICByZXR1cm4gbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9h
ZE1ldHJpY3MoKS5pc0Nyb3NzT3JpZ2luV2l0aG91dFRBTwogICAgICAgICB8fCAhbV9kb2N1bWVu
dExvYWRUaW1pbmcuaGFzU2FtZU9yaWdpbkFzUHJldmlvdXNEb2N1bWVudCgpOwogfQogCkBAIC0x
MjQsMTAgKzEyMyw3IEBAIFBlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZzo6TmF2aWdhdGlvblR5
cGUgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nOjp0eXBlKCkKIAogdW5zaWduZWQgc2hvcnQg
UGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nOjpyZWRpcmVjdENvdW50KCkgY29uc3QKIHsKLSAg
ICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkpCi0gICAgICAgIHJl
dHVybiAwOwotCi0gICAgaWYgKG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCku
aGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKKyAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3b3Jr
TG9hZE1ldHJpY3MoKS5pc0Nyb3NzT3JpZ2luV2l0aG91dFRBTykKICAgICAgICAgcmV0dXJuIDA7
CiAKICAgICByZXR1cm4gbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5yZWRp
cmVjdENvdW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZy5jcHAKaW5kZXggNTliMWFlNmZjY2U3NGRjNzFhODhjZWI1ZGFiNTcwZmE4ZjRhZTcy
Mi4uMjdiYWY5NGY2NDBlMjAwNTZmYTQzZjk1YzBkMDk5Mzk0MjQzMDgwNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwCkBAIC02NCw4
ICs2NCw3IEBAIHN0YXRpYyBkb3VibGUgZmV0Y2hTdGFydChNb25vdG9uaWNUaW1lIHRpbWVPcmln
aW4sIGNvbnN0IFJlc291cmNlVGltaW5nJiByZXNvdXJjCiAKIHN0YXRpYyBkb3VibGUgZW50cnlT
dGFydFRpbWUoTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZXNvdXJjZVRpbWluZyYg
cmVzb3VyY2VUaW1pbmcpCiB7Ci0gICAgaWYgKCFyZXNvdXJjZVRpbWluZy5hbGxvd1RpbWluZ0Rl
dGFpbHMoKQotICAgICAgICB8fCByZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5o
YXNDcm9zc09yaWdpblJlZGlyZWN0CisgICAgaWYgKHJlc291cmNlVGltaW5nLm5ldHdvcmtMb2Fk
TWV0cmljcygpLmlzQ3Jvc3NPcmlnaW5XaXRob3V0VEFPCiAgICAgICAgIHx8ICFyZXNvdXJjZVRp
bWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5yZWRpcmVjdENvdW50KQogICAgICAgICByZXR1cm4g
ZmV0Y2hTdGFydCh0aW1lT3JpZ2luLCByZXNvdXJjZVRpbWluZyk7CiAKQEAgLTc3LDkgKzc2LDYg
QEAgc3RhdGljIGRvdWJsZSBlbnRyeVN0YXJ0VGltZShNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4s
IGNvbnN0IFJlc291cmNlVGltaW5nJiByZXMKIAogc3RhdGljIGRvdWJsZSBlbnRyeUVuZFRpbWUo
TW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZXNvdXJjZVRpbWluZyYgcmVzb3VyY2VU
aW1pbmcpCiB7Ci0gICAgaWYgKCFyZXNvdXJjZVRpbWluZy5hbGxvd1RpbWluZ0RldGFpbHMoKSkK
LSAgICAgICAgcmV0dXJuIGVudHJ5U3RhcnRUaW1lKHRpbWVPcmlnaW4sIHJlc291cmNlVGltaW5n
KTsKLQogICAgIGlmIChyZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5yZXNwb25z
ZUVuZCkKICAgICAgICAgcmV0dXJuIG5ldHdvcmtMb2FkVGltZVRvRE9NSGlnaFJlc1RpbWVTdGFt
cCh0aW1lT3JpZ2luLCByZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5yZXNwb25z
ZUVuZCk7CiAKQEAgLTExNCw4ICsxMTAsNyBAQCBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZzo6d29ya2VyU3RhcnQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZzo6cmVkaXJlY3RTdGFydCgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3Jlc291cmNlVGltaW5n
LmFsbG93VGltaW5nRGV0YWlscygpCi0gICAgICAgIHx8IG1fcmVzb3VyY2VUaW1pbmcubmV0d29y
a0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKKyAgICBpZiAobV9yZXNvdXJj
ZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5pc0Nyb3NzT3JpZ2luV2l0aG91dFRBTykKICAg
ICAgICAgcmV0dXJuIDAuMDsKIAogICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9h
ZE1ldHJpY3MoKS5yZWRpcmVjdENvdW50KQpAQCAtMTI2LDggKzEyMSw3IEBAIGRvdWJsZSBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0KCkgY29uc3QKIAogZG91YmxlIFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlZGlyZWN0RW5kKCkgY29uc3QKIHsKLSAgICBpZiAo
IW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwgbV9yZXNv
dXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQor
ICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmlzQ3Jvc3NPcmln
aW5XaXRob3V0VEFPKQogICAgICAgICByZXR1cm4gMC4wOwogCiAgICAgaWYgKCFtX3Jlc291cmNl
VGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlZGlyZWN0Q291bnQpCkBAIC0xNDUsOCArMTM5
LDcgQEAgZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmZldGNoU3RhcnQoKSBjb25z
dAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZG9tYWluTG9va3VwU3RhcnQo
KSBjb25zdAogewotICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5hbGxvd1RpbWluZ0RldGFpbHMo
KQotICAgICAgICB8fCBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmhhc0Ny
b3NzT3JpZ2luUmVkaXJlY3QpCisgICAgaWYgKG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRN
ZXRyaWNzKCkuaXNDcm9zc09yaWdpbldpdGhvdXRUQU8pCiAgICAgICAgIHJldHVybiAwLjA7CiAK
ICAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuZG9tYWluTG9v
a3VwU3RhcnQpCkBAIC0xNTcsOCArMTUwLDcgQEAgZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmc6OmRvbWFpbkxvb2t1cFN0YXJ0KCkgY29uc3QKIAogZG91YmxlIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmc6OmRvbWFpbkxvb2t1cEVuZCgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3Jlc291
cmNlVGltaW5nLmFsbG93VGltaW5nRGV0YWlscygpCi0gICAgICAgIHx8IG1fcmVzb3VyY2VUaW1p
bmcubmV0d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKKyAgICBpZiAo
bV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5pc0Nyb3NzT3JpZ2luV2l0aG91
dFRBTykKICAgICAgICAgcmV0dXJuIDAuMDsKIAogICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5u
ZXR3b3JrTG9hZE1ldHJpY3MoKS5kb21haW5Mb29rdXBFbmQpCkBAIC0xNjksOCArMTYxLDcgQEAg
ZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmRvbWFpbkxvb2t1cEVuZCgpIGNvbnN0
CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjb25uZWN0U3RhcnQoKSBjb25z
dAogewotICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5hbGxvd1RpbWluZ0RldGFpbHMoKQotICAg
ICAgICB8fCBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmhhc0Nyb3NzT3Jp
Z2luUmVkaXJlY3QpCisgICAgaWYgKG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNz
KCkuaXNDcm9zc09yaWdpbldpdGhvdXRUQU8pCiAgICAgICAgIHJldHVybiAwLjA7CiAKICAgICBp
ZiAoIW1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuY29ubmVjdFN0YXJ0KQpA
QCAtMTgxLDggKzE3Miw3IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjb25u
ZWN0U3RhcnQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y29u
bmVjdEVuZCgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3Jlc291cmNlVGltaW5nLmFsbG93VGltaW5n
RGV0YWlscygpCi0gICAgICAgIHx8IG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNz
KCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKKyAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3
b3JrTG9hZE1ldHJpY3MoKS5pc0Nyb3NzT3JpZ2luV2l0aG91dFRBTykKICAgICAgICAgcmV0dXJu
IDAuMDsKIAogICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5j
b25uZWN0RW5kKQpAQCAtMTkzLDggKzE4Myw3IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nOjpjb25uZWN0RW5kKCkgY29uc3QKIAogZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmc6OnNlY3VyZUNvbm5lY3Rpb25TdGFydCgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3Jlc291
cmNlVGltaW5nLmFsbG93VGltaW5nRGV0YWlscygpCi0gICAgICAgIHx8IG1fcmVzb3VyY2VUaW1p
bmcubmV0d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKKyAgICBpZiAo
bV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5pc0Nyb3NzT3JpZ2luV2l0aG91
dFRBTykKICAgICAgICAgcmV0dXJuIDAuMDsKIAogICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5l
dHdvcmtMb2FkTWV0cmljcygpLnNlY3VyZUNvbm5lY3Rpb25TdGFydCA9PSByZXVzZWRUTFNDb25u
ZWN0aW9uU2VudGluZWwpCkBAIC0yMDgsOCArMTk3LDcgQEAgZG91YmxlIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmc6OnNlY3VyZUNvbm5lY3Rpb25TdGFydCgpIGNvbnN0CiAKIGRvdWJsZSBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXF1ZXN0U3RhcnQoKSBjb25zdAogewotICAgIGlmICgh
bV9yZXNvdXJjZVRpbWluZy5hbGxvd1RpbWluZ0RldGFpbHMoKQotICAgICAgICB8fCBtX3Jlc291
cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QpCisg
ICAgaWYgKG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuaXNDcm9zc09yaWdp
bldpdGhvdXRUQU8pCiAgICAgICAgIHJldHVybiAwLjA7CiAKICAgICAvLyByZXF1ZXN0U3RhcnQg
aXMgMCB3aGVuIGEgbmV0d29yayByZXF1ZXN0IGlzIG5vdCBtYWRlLgpAQCAtMjIxLDggKzIwOSw3
IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXF1ZXN0U3RhcnQoKSBjb25z
dAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVzcG9uc2VTdGFydCgpIGNv
bnN0CiB7Ci0gICAgaWYgKCFtX3Jlc291cmNlVGltaW5nLmFsbG93VGltaW5nRGV0YWlscygpCi0g
ICAgICAgIHx8IG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NP
cmlnaW5SZWRpcmVjdCkKKyAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJp
Y3MoKS5pc0Nyb3NzT3JpZ2luV2l0aG91dFRBTykKICAgICAgICAgcmV0dXJuIDAuMDsKIAogICAg
IC8vIHJlc3BvbnNlU3RhcnQgaXMgMCB3aGVuIGEgbmV0d29yayByZXF1ZXN0IGlzIG5vdCBtYWRl
LgpAQCAtMjU4LDggKzI0NSw3IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpy
ZXNwb25zZUVuZCgpIGNvbnN0CiAKIHVpbnQ2NF90IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6
OnRyYW5zZmVyU2l6ZSgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3Jlc291cmNlVGltaW5nLmFsbG93
VGltaW5nRGV0YWlscygpCi0gICAgICAgIHx8IG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRN
ZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKKyAgICBpZiAobV9yZXNvdXJjZVRpbWlu
Zy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5pc0Nyb3NzT3JpZ2luV2l0aG91dFRBTykKICAgICAgICAg
cmV0dXJuIDA7CiAKICAgICBhdXRvIGVuY29kZWRCb2R5U2l6ZSA9IG1fcmVzb3VyY2VUaW1pbmcu
bmV0d29ya0xvYWRNZXRyaWNzKCkucmVzcG9uc2VCb2R5Qnl0ZXNSZWNlaXZlZDsKQEAgLTI3Miw4
ICsyNTgsNyBAQCB1aW50NjRfdCBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjp0cmFuc2ZlclNp
emUoKSBjb25zdAogCiB1aW50NjRfdCBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjplbmNvZGVk
Qm9keVNpemUoKSBjb25zdAogewotICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5hbGxvd1RpbWlu
Z0RldGFpbHMoKQotICAgICAgICB8fCBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmlj
cygpLmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QpCisgICAgaWYgKG1fcmVzb3VyY2VUaW1pbmcubmV0
d29ya0xvYWRNZXRyaWNzKCkuaXNDcm9zc09yaWdpbldpdGhvdXRUQU8pCiAgICAgICAgIHJldHVy
biAwOwogCiAgICAgYXV0byBlbmNvZGVkQm9keVNpemUgPSBtX3Jlc291cmNlVGltaW5nLm5ldHdv
cmtMb2FkTWV0cmljcygpLnJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQ7CkBAIC0yODUsOCArMjcw
LDcgQEAgdWludDY0X3QgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZW5jb2RlZEJvZHlTaXpl
KCkgY29uc3QKIAogdWludDY0X3QgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZGVjb2RlZEJv
ZHlTaXplKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdE
ZXRhaWxzKCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3Mo
KS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdv
cmtMb2FkTWV0cmljcygpLmlzQ3Jvc3NPcmlnaW5XaXRob3V0VEFPKQogICAgICAgICByZXR1cm4g
MDsKIAogICAgIGF1dG8gZGVjb2RlZEJvZHlTaXplID0gbV9yZXNvdXJjZVRpbWluZy5uZXR3b3Jr
TG9hZE1ldHJpY3MoKS5yZXNwb25zZUJvZHlEZWNvZGVkU2l6ZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZVRpbWluZy5jcHAKaW5kZXggN2M0MjY1YTU3NDk5YjNkZGJhZTE1NzViMjkw
NWZlNzUxZTQyODI0Yy4uZDc1YWE4NDgyZmEyNzRlNTZmZDJkOGZkNzAwYzQ0YTc1OGJkMWU2YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5jcHAKQEAgLTY3LDcgKzY3
LDcgQEAgdW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjp1bmxvYWRFdmVudFN0
YXJ0KCkgY29uc3QKICAgICBpZiAoIW1ldHJpY3MpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAg
aWYgKG1ldHJpY3MtPmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QgfHwgIXRpbWluZy0+aGFzU2FtZU9y
aWdpbkFzUHJldmlvdXNEb2N1bWVudCgpKQorICAgIGlmIChtZXRyaWNzLT5pc0Nyb3NzT3JpZ2lu
V2l0aG91dFRBTyB8fCAhdGltaW5nLT5oYXNTYW1lT3JpZ2luQXNQcmV2aW91c0RvY3VtZW50KCkp
CiAgICAgICAgIHJldHVybiAwOwogCiAgICAgcmV0dXJuIG1vbm90b25pY1RpbWVUb0ludGVnZXJN
aWxsaXNlY29uZHModGltaW5nLT51bmxvYWRFdmVudFN0YXJ0KCkpOwpAQCAtODMsNyArODMsNyBA
QCB1bnNpZ25lZCBsb25nIGxvbmcgUGVyZm9ybWFuY2VUaW1pbmc6OnVubG9hZEV2ZW50RW5kKCkg
Y29uc3QKICAgICBpZiAoIW1ldHJpY3MpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgaWYgKG1l
dHJpY3MtPmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QgfHwgIXRpbWluZy0+aGFzU2FtZU9yaWdpbkFz
UHJldmlvdXNEb2N1bWVudCgpKQorICAgIGlmIChtZXRyaWNzLT5pc0Nyb3NzT3JpZ2luV2l0aG91
dFRBTyB8fCAhdGltaW5nLT5oYXNTYW1lT3JpZ2luQXNQcmV2aW91c0RvY3VtZW50KCkpCiAgICAg
ICAgIHJldHVybiAwOwogCiAgICAgcmV0dXJuIG1vbm90b25pY1RpbWVUb0ludGVnZXJNaWxsaXNl
Y29uZHModGltaW5nLT51bmxvYWRFdmVudEVuZCgpKTsKQEAgLTkzLDcgKzkzLDcgQEAgdW5zaWdu
ZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0KCkgY29uc3QKIHsK
ICAgICBhdXRvKiBtZXRyaWNzID0gbmV0d29ya0xvYWRNZXRyaWNzKCk7CiAgICAgaWYgKCFtZXRy
aWNzCi0gICAgICAgIHx8IG1ldHJpY3MtPmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QKKyAgICAgICAg
fHwgbWV0cmljcy0+aXNDcm9zc09yaWdpbldpdGhvdXRUQU8KICAgICAgICAgfHwgIW1ldHJpY3Mt
PnJlZGlyZWN0Q291bnQpCiAgICAgICAgIHJldHVybiAwOwogCkBAIC0xMDQsNyArMTA0LDcgQEAg
dW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjpyZWRpcmVjdEVuZCgpIGNvbnN0
CiB7CiAgICAgYXV0byogbWV0cmljcyA9IG5ldHdvcmtMb2FkTWV0cmljcygpOwogICAgIGlmICgh
bWV0cmljcwotICAgICAgICB8fCBtZXRyaWNzLT5oYXNDcm9zc09yaWdpblJlZGlyZWN0CisgICAg
ICAgIHx8IG1ldHJpY3MtPmlzQ3Jvc3NPcmlnaW5XaXRob3V0VEFPCiAgICAgICAgIHx8ICFtZXRy
aWNzLT5yZWRpcmVjdENvdW50KQogICAgICAgICByZXR1cm4gMDsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VIYW5kbGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VIYW5kbGUuY3BwCmluZGV4
IDkxNjg3ZTA5NTk4NGNkZjYxMGJhNTQ1Y2VkYzY1NzU3MTI2MzFmZmMuLjcwOGExM2ZkMjIwZDRh
YzMwMWVhM2RlZGM1YzFmYTM2MWQ0YjZiZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZXNvdXJjZUhhbmRsZS5jcHAKQEAgLTQyLDYgKzQyLDcg
QEAKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlJlc291cmNl
UmVxdWVzdC5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKKyNpbmNsdWRlICJTZWN1
cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgogI2luY2x1ZGUgPHd0Zi9D
b21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0Zi9GaWxlU3lzdGVtLmg+CkBAIC0xNTQs
NyArMTU1LDcgQEAgdm9pZCBCbG9iUmVzb3VyY2VIYW5kbGU6OmxvYWRSZXNvdXJjZVN5bmNocm9u
b3VzbHkoQmxvYkRhdGEqIGJsb2JEYXRhLCBjb25zdCBSZXMKIH0KIAogQmxvYlJlc291cmNlSGFu
ZGxlOjpCbG9iUmVzb3VyY2VIYW5kbGUoQmxvYkRhdGEqIGJsb2JEYXRhLCBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQsIGJvb2wgYXN5
bmMpCi0gICAgOiBSZXNvdXJjZUhhbmRsZSB7IG51bGxwdHIsIHJlcXVlc3QsIGNsaWVudCwgZmFs
c2UgLyogZGVmZXJzTG9hZGluZyAqLywgZmFsc2UgLyogc2hvdWxkQ29udGVudFNuaWZmICovLCB0
cnVlIC8qIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmICovIH0KKyAgICA6IFJlc291cmNlSGFu
ZGxlIHsgbnVsbHB0ciwgcmVxdWVzdCwgY2xpZW50LCBmYWxzZSAvKiBkZWZlcnNMb2FkaW5nICov
LCBmYWxzZSAvKiBzaG91bGRDb250ZW50U25pZmYgKi8sIHRydWUgLyogc2hvdWxkQ29udGVudEVu
Y29kaW5nU25pZmYgKi8sIG51bGxwdHIgLyogc291cmNlT3JpZ2luICovIH0KICAgICAsIG1fYmxv
YkRhdGEgeyBibG9iRGF0YSB9CiAgICAgLCBtX2FzeW5jIHsgYXN5bmMgfQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrTG9hZE1ldHJpY3MuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmgKaW5k
ZXggN2ZhNjUyOTUwYjNhZDc4MTlmNWY0MzNhMzA2OTkxZTg4ODI0YTE2YS4uYWVmOWVlNDg3OGRj
MzA2ZGNiY2NiNmExYWVkYWUwZWRkNTM3ZTNlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9OZXR3b3JrTG9hZE1ldHJpY3MuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtMb2FkTWV0cmljcy5oCkBAIC05NSw3ICs5NSw3IEBA
IHB1YmxpYzoKICAgICBib29sIGNvbnN0cmFpbmVkIHsgZmFsc2UgfTsKICAgICBib29sIG11bHRp
cGF0aCB7IGZhbHNlIH07CiAgICAgYm9vbCBpc1JldXNlZENvbm5lY3Rpb24geyBmYWxzZSB9Owot
ICAgIGJvb2wgaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCB7IGZhbHNlIH07CisgICAgYm9vbCBpc0Ny
b3NzT3JpZ2luV2l0aG91dFRBTyB7IGZhbHNlIH07CiB9OwogCiBjbGFzcyBOZXR3b3JrTG9hZE1l
dHJpY3MgOiBwdWJsaWMgTmV0d29ya0xvYWRNZXRyaWNzV2l0aG91dE5vblRpbWluZ0RhdGEgewpA
QCAtMTI4LDcgKzEyOCw3IEBAIHB1YmxpYzoKICAgICAgICAgY29weS5jb25zdHJhaW5lZCA9IGNv
bnN0cmFpbmVkOwogICAgICAgICBjb3B5Lm11bHRpcGF0aCA9IG11bHRpcGF0aDsKICAgICAgICAg
Y29weS5pc1JldXNlZENvbm5lY3Rpb24gPSBpc1JldXNlZENvbm5lY3Rpb247Ci0gICAgICAgIGNv
cHkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCA9IGhhc0Nyb3NzT3JpZ2luUmVkaXJlY3Q7CisgICAg
ICAgIGNvcHkuaXNDcm9zc09yaWdpbldpdGhvdXRUQU8gPSBpc0Nyb3NzT3JpZ2luV2l0aG91dFRB
TzsKIAogICAgICAgICBjb3B5LnJlbW90ZUFkZHJlc3MgPSByZW1vdGVBZGRyZXNzLmlzb2xhdGVk
Q29weSgpOwogICAgICAgICBjb3B5LmNvbm5lY3Rpb25JZGVudGlmaWVyID0gY29ubmVjdGlvbklk
ZW50aWZpZXIuaXNvbGF0ZWRDb3B5KCk7CkBAIC0xNjUsNyArMTY1LDcgQEAgcHVibGljOgogICAg
ICAgICAgICAgJiYgY29uc3RyYWluZWQgPT0gb3RoZXIuY29uc3RyYWluZWQKICAgICAgICAgICAg
ICYmIG11bHRpcGF0aCA9PSBvdGhlci5tdWx0aXBhdGgKICAgICAgICAgICAgICYmIGlzUmV1c2Vk
Q29ubmVjdGlvbiA9PSBvdGhlci5pc1JldXNlZENvbm5lY3Rpb24KLSAgICAgICAgICAgICYmIGhh
c0Nyb3NzT3JpZ2luUmVkaXJlY3QgPT0gb3RoZXIuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdAorICAg
ICAgICAgICAgJiYgaXNDcm9zc09yaWdpbldpdGhvdXRUQU8gPT0gb3RoZXIuaXNDcm9zc09yaWdp
bldpdGhvdXRUQU8KICAgICAgICAgICAgICYmIHByb3RvY29sID09IG90aGVyLnByb3RvY29sCiAg
ICAgICAgICAgICAmJiByZWRpcmVjdENvdW50ID09IG90aGVyLnJlZGlyZWN0Q291bnQKICAgICAg
ICAgICAgICYmIHJlbW90ZUFkZHJlc3MgPT0gb3RoZXIucmVtb3RlQWRkcmVzcwpAQCAtMjEwLDcg
KzIxMCw3IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogQm94PE5ldHdvcmtMb2Fk
TWV0cmljcz4gY29weVRpbWluZ0RhdGEoTlNVUkxDb25uZWN0aW9uICosIGNvbnN0IFJlc291cmNl
SGFuZGxlJik7Ci1XRUJDT1JFX0VYUE9SVCBCb3g8TmV0d29ya0xvYWRNZXRyaWNzPiBjb3B5VGlt
aW5nRGF0YShOU1VSTFNlc3Npb25UYXNrTWV0cmljcyAqaW5jb21wbGV0ZU1ldHJpY3MsIGJvb2wg
aGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCk7CitXRUJDT1JFX0VYUE9SVCBCb3g8TmV0d29ya0xvYWRN
ZXRyaWNzPiBjb3B5VGltaW5nRGF0YShOU1VSTFNlc3Npb25UYXNrTWV0cmljcyAqaW5jb21wbGV0
ZU1ldHJpY3MsIGJvb2wgaXNDcm9zc09yaWdpbldpdGhvdXRUQU8pOwogI2VuZGlmCiAKIHRlbXBs
YXRlPGNsYXNzIEVuY29kZXI+CkBAIC0yMzQsNyArMjM0LDcgQEAgdm9pZCBOZXR3b3JrTG9hZE1l
dHJpY3M6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgY29u
c3RyYWluZWQ7CiAgICAgZW5jb2RlciA8PCBtdWx0aXBhdGg7CiAgICAgZW5jb2RlciA8PCBpc1Jl
dXNlZENvbm5lY3Rpb247Ci0gICAgZW5jb2RlciA8PCBoYXNDcm9zc09yaWdpblJlZGlyZWN0Owor
ICAgIGVuY29kZXIgPDwgaXNDcm9zc09yaWdpbldpdGhvdXRUQU87CiAgICAgZW5jb2RlciA8PCBw
cm90b2NvbDsKICAgICBlbmNvZGVyIDw8IHJlZGlyZWN0Q291bnQ7CiAgICAgZW5jb2RlciA8PCBy
ZW1vdGVBZGRyZXNzOwpAQCAtMjcyLDcgKzI3Miw3IEBAIGJvb2wgTmV0d29ya0xvYWRNZXRyaWNz
OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgTmV0d29ya0xvYWRNZXRyaWNzJiBtZXRyaWNzKQog
ICAgICAgICAmJiBkZWNvZGVyLmRlY29kZShtZXRyaWNzLmNvbnN0cmFpbmVkKQogICAgICAgICAm
JiBkZWNvZGVyLmRlY29kZShtZXRyaWNzLm11bHRpcGF0aCkKICAgICAgICAgJiYgZGVjb2Rlci5k
ZWNvZGUobWV0cmljcy5pc1JldXNlZENvbm5lY3Rpb24pCi0gICAgICAgICYmIGRlY29kZXIuZGVj
b2RlKG1ldHJpY3MuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKKyAgICAgICAgJiYgZGVjb2Rlci5k
ZWNvZGUobWV0cmljcy5pc0Nyb3NzT3JpZ2luV2l0aG91dFRBTykKICAgICAgICAgJiYgZGVjb2Rl
ci5kZWNvZGUobWV0cmljcy5wcm90b2NvbCkKICAgICAgICAgJiYgZGVjb2Rlci5kZWNvZGUobWV0
cmljcy5yZWRpcmVjdENvdW50KQogICAgICAgICAmJiBkZWNvZGVyLmRlY29kZShtZXRyaWNzLnJl
bW90ZUFkZHJlc3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L1Jlc291cmNlSGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVz
b3VyY2VIYW5kbGUuY3BwCmluZGV4IDBkN2E3M2QxYTMyZWRlMmRmNjgzMDFhMjVjZjExZjU3ZjVi
YTZhMTYuLjQ0ZDRiMTBjZTZjMjdkOTFhNDIwNzNmZDRjMmVkNTBlYjM0NTFlMDYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwCkBA
IC03NSw4ICs3NSw4IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnJlZ2lzdGVyQnVpbHRpblN5bmNo
cm9ub3VzTG9hZGVyKGNvbnN0IEF0b21TdHJpbmcmIHByb3RvY29sCiAgICAgYnVpbHRpblJlc291
cmNlSGFuZGxlU3luY2hyb25vdXNMb2FkZXJNYXAoKS5hZGQocHJvdG9jb2wsIGxvYWRlcik7CiB9
CiAKLVJlc291cmNlSGFuZGxlOjpSZXNvdXJjZUhhbmRsZShOZXR3b3JraW5nQ29udGV4dCogY29u
dGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUhhbmRsZUNsaWVu
dCogY2xpZW50LCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVudFNuaWZmLCBi
b29sIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKQotICAgIDogZChtYWtlVW5pcXVlPFJlc291
cmNlSGFuZGxlSW50ZXJuYWw+KHRoaXMsIGNvbnRleHQsIHJlcXVlc3QsIGNsaWVudCwgZGVmZXJz
TG9hZGluZywgc2hvdWxkQ29udGVudFNuaWZmICYmIHNob3VsZENvbnRlbnRTbmlmZlVSTChyZXF1
ZXN0LnVybCgpKSwgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYpKQorUmVzb3VyY2VIYW5kbGU6
OlJlc291cmNlSGFuZGxlKE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQsIGJvb2wgZGVm
ZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVudEVu
Y29kaW5nU25pZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBzb3VyY2VPcmlnaW4pCisgICAg
OiBkKG1ha2VVbmlxdWU8UmVzb3VyY2VIYW5kbGVJbnRlcm5hbD4odGhpcywgY29udGV4dCwgcmVx
dWVzdCwgY2xpZW50LCBkZWZlcnNMb2FkaW5nLCBzaG91bGRDb250ZW50U25pZmYgJiYgc2hvdWxk
Q29udGVudFNuaWZmVVJMKHJlcXVlc3QudXJsKCkpLCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlm
ZiwgV1RGTW92ZShzb3VyY2VPcmlnaW4pKSkKIHsKICAgICBpZiAoIXJlcXVlc3QudXJsKCkuaXNW
YWxpZCgpKSB7CiAgICAgICAgIHNjaGVkdWxlRmFpbHVyZShJbnZhbGlkVVJMRmFpbHVyZSk7CkBA
IC04OSwxMiArODksMTIgQEAgUmVzb3VyY2VIYW5kbGU6OlJlc291cmNlSGFuZGxlKE5ldHdvcmtp
bmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QKICAgICB9CiB9CiAKLVJl
ZlB0cjxSZXNvdXJjZUhhbmRsZT4gUmVzb3VyY2VIYW5kbGU6OmNyZWF0ZShOZXR3b3JraW5nQ29u
dGV4dCogY29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUhh
bmRsZUNsaWVudCogY2xpZW50LCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVu
dFNuaWZmLCBib29sIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKQorUmVmUHRyPFJlc291cmNl
SGFuZGxlPiBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlKE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0
LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBj
bGllbnQsIGJvb2wgZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wg
c2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBzb3Vy
Y2VPcmlnaW4pCiB7CiAgICAgaWYgKGF1dG8gY29uc3RydWN0b3IgPSBidWlsdGluUmVzb3VyY2VI
YW5kbGVDb25zdHJ1Y3Rvck1hcCgpLmdldChyZXF1ZXN0LnVybCgpLnByb3RvY29sKCkudG9TdHJp
bmdXaXRob3V0Q29weWluZygpKSkKICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yKHJlcXVlc3Qs
IGNsaWVudCk7CiAKLSAgICBhdXRvIG5ld0hhbmRsZSA9IGFkb3B0UmVmKCpuZXcgUmVzb3VyY2VI
YW5kbGUoY29udGV4dCwgcmVxdWVzdCwgY2xpZW50LCBkZWZlcnNMb2FkaW5nLCBzaG91bGRDb250
ZW50U25pZmYsIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKSk7CisgICAgYXV0byBuZXdIYW5k
bGUgPSBhZG9wdFJlZigqbmV3IFJlc291cmNlSGFuZGxlKGNvbnRleHQsIHJlcXVlc3QsIGNsaWVu
dCwgZGVmZXJzTG9hZGluZywgc2hvdWxkQ29udGVudFNuaWZmLCBzaG91bGRDb250ZW50RW5jb2Rp
bmdTbmlmZiwgV1RGTW92ZShzb3VyY2VPcmlnaW4pKSk7CiAKICAgICBpZiAobmV3SGFuZGxlLT5k
LT5tX3NjaGVkdWxlZEZhaWx1cmVUeXBlICE9IE5vRmFpbHVyZSkKICAgICAgICAgcmV0dXJuIG5l
d0hhbmRsZTsKQEAgLTEzMywxNCArMTMzLDE0IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmZhaWx1
cmVUaW1lckZpcmVkKCkKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAotdm9pZCBSZXNv
dXJjZUhhbmRsZTo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCog
Y29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBTdG9yZWRDcmVkZW50aWFs
c1BvbGljeSBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYgZXJyb3IsIFJl
c291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBWZWN0b3I8dWludDhfdD4mIGRhdGEpCit2b2lkIFJl
c291cmNlSGFuZGxlOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0
KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFN0b3JlZENyZWRlbnRp
YWxzUG9saWN5IHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBTZWN1cml0eU9yaWdpbiogc291cmNl
T3JpZ2luLCBSZXNvdXJjZUVycm9yJiBlcnJvciwgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2Us
IFZlY3Rvcjx1aW50OF90PiYgZGF0YSkKIHsKICAgICBpZiAoYXV0byBjb25zdHJ1Y3RvciA9IGJ1
aWx0aW5SZXNvdXJjZUhhbmRsZVN5bmNocm9ub3VzTG9hZGVyTWFwKCkuZ2V0KHJlcXVlc3QudXJs
KCkucHJvdG9jb2woKS50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCkpKSB7CiAgICAgICAgIGNvbnN0
cnVjdG9yKGNvbnRleHQsIHJlcXVlc3QsIHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBlcnJvciwg
cmVzcG9uc2UsIGRhdGEpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgcGxhdGZvcm1M
b2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KGNvbnRleHQsIHJlcXVlc3QsIHN0b3JlZENyZWRlbnRp
YWxzUG9saWN5LCBlcnJvciwgcmVzcG9uc2UsIGRhdGEpOworICAgIHBsYXRmb3JtTG9hZFJlc291
cmNlU3luY2hyb25vdXNseShjb250ZXh0LCByZXF1ZXN0LCBzdG9yZWRDcmVkZW50aWFsc1BvbGlj
eSwgc291cmNlT3JpZ2luLCBlcnJvciwgcmVzcG9uc2UsIGRhdGEpOwogfQogCiBSZXNvdXJjZUhh
bmRsZUNsaWVudCogUmVzb3VyY2VIYW5kbGU6OmNsaWVudCgpIGNvbnN0CkBAIC0yMDQsMTQgKzIw
NCwxNCBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpjbGVhckF1dGhlbnRpY2F0aW9uKCkKICAgICBk
LT5tX2N1cnJlbnRXZWJDaGFsbGVuZ2UubnVsbGlmeSgpOwogfQogCi1ib29sIFJlc291cmNlSGFu
ZGxlOjpoYXNDcm9zc09yaWdpblJlZGlyZWN0KCkgY29uc3QKK2Jvb2wgUmVzb3VyY2VIYW5kbGU6
OmlzQ3Jvc3NPcmlnaW5XaXRob3V0VEFPKCkgY29uc3QKIHsKLSAgICByZXR1cm4gZC0+bV9oYXND
cm9zc09yaWdpblJlZGlyZWN0OworICAgIHJldHVybiBkLT5tX2lzQ3Jvc3NPcmlnaW5XaXRob3V0
VEFPOwogfQogCi12b2lkIFJlc291cmNlSGFuZGxlOjpzZXRIYXNDcm9zc09yaWdpblJlZGlyZWN0
KGJvb2wgdmFsdWUpCit2b2lkIFJlc291cmNlSGFuZGxlOjptYXJrQXNDcm9zc09yaWdpbldpdGhv
dXRUQU8oKQogewotICAgIGQtPm1faGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCA9IHZhbHVlOworICAg
IGQtPm1faXNDcm9zc09yaWdpbldpdGhvdXRUQU8gPSB0cnVlOwogfQogCiB2b2lkIFJlc291cmNl
SGFuZGxlOjppbmNyZW1lbnRSZWRpcmVjdENvdW50KCkKQEAgLTIyNCw2ICsyMjQsMTEgQEAgdWlu
dDE2X3QgUmVzb3VyY2VIYW5kbGU6OnJlZGlyZWN0Q291bnQoKSBjb25zdAogICAgIHJldHVybiBk
LT5tX3JlZGlyZWN0Q291bnQ7CiB9CiAKK2NvbnN0IFNlY3VyaXR5T3JpZ2luKiBSZXNvdXJjZUhh
bmRsZTo6c291cmNlT3JpZ2luKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZC0+bV9zb3VyY2VPcmln
aW4uZ2V0KCk7Cit9CisKIE1vbm90b25pY1RpbWUgUmVzb3VyY2VIYW5kbGU6OnN0YXJ0VGltZUJl
Zm9yZVJlZGlyZWN0cygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGQtPm1fc3RhcnRUaW1lOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCmluZGV4
IGZmZDg4NTQ3ZTYwNmJmOGMwZWI1MmFmOGJiOGE5MjBjYTYxYjE3OWQuLjIzNDYyNGUzNTYwZWYz
NTc4MjYxMzhkNDhhM2E1MTVlYTU2MGJjYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgKQEAgLTgzLDYgKzgzLDcgQEAgY2xhc3MgUmVz
b3VyY2VIYW5kbGVJbnRlcm5hbDsKIGNsYXNzIE5ldHdvcmtMb2FkTWV0cmljczsKIGNsYXNzIFJl
c291cmNlUmVxdWVzdDsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CitjbGFzcyBTZWN1cml0eU9y
aWdpbjsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIGNsYXNzIFN5bmNocm9ub3VzTG9hZGVyTWVzc2Fn
ZVF1ZXVlOwogY2xhc3MgVGltZXI7CkBAIC05NCw4ICs5NSw4IEBAIGNsYXNzIEN1cmxSZXNvdXJj
ZUhhbmRsZURlbGVnYXRlOwogCiBjbGFzcyBSZXNvdXJjZUhhbmRsZSA6IHB1YmxpYyBSZWZDb3Vu
dGVkPFJlc291cmNlSGFuZGxlPiwgcHVibGljIEF1dGhlbnRpY2F0aW9uQ2xpZW50IHsKIHB1Ymxp
YzoKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBjcmVh
dGUoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBSZXNvdXJjZUhh
bmRsZUNsaWVudCosIGJvb2wgZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYs
IGJvb2wgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYpOwotICAgIFdFQkNPUkVfRVhQT1JUIHN0
YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2luZ0NvbnRleHQqLCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmLCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgUmVzb3VyY2VF
cnJvciYsIFJlc291cmNlUmVzcG9uc2UmLCBWZWN0b3I8dWludDhfdD4mIGRhdGEpOworICAgIFdF
QkNPUkVfRVhQT1JUIHN0YXRpYyBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IGNyZWF0ZShOZXR3b3Jr
aW5nQ29udGV4dCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFJlc291cmNlSGFuZGxlQ2xpZW50
KiwgYm9vbCBkZWZlcnNMb2FkaW5nLCBib29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91
bGRDb250ZW50RW5jb2RpbmdTbmlmZiwgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiYmIHNvdXJjZU9y
aWdpbik7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hy
b25vdXNseShOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFN0b3Jl
ZENyZWRlbnRpYWxzUG9saWN5LCBTZWN1cml0eU9yaWdpbiosIFJlc291cmNlRXJyb3ImLCBSZXNv
dXJjZVJlc3BvbnNlJiwgVmVjdG9yPHVpbnQ4X3Q+JiBkYXRhKTsKICAgICBXRUJDT1JFX0VYUE9S
VCB2aXJ0dWFsIH5SZXNvdXJjZUhhbmRsZSgpOwogCiAjaWYgUExBVEZPUk0oQ09DT0EpIHx8IFVT
RShDRlVSTENPTk5FQ1RJT04pCkBAIC0xNzQsMTAgKzE3NSwxMSBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXROZXR3b3JrTG9hZE1ldHJpY3MoQm94PE5ldHdvcmtMb2FkTWV0cmljcz4mJik7CiAKICAg
ICBNb25vdG9uaWNUaW1lIHN0YXJ0VGltZUJlZm9yZVJlZGlyZWN0cygpIGNvbnN0OwotICAgIGJv
b2wgaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCgpIGNvbnN0OwotICAgIHZvaWQgc2V0SGFzQ3Jvc3NP
cmlnaW5SZWRpcmVjdChib29sKTsKKyAgICBib29sIGlzQ3Jvc3NPcmlnaW5XaXRob3V0VEFPKCkg
Y29uc3Q7CisgICAgdm9pZCBtYXJrQXNDcm9zc09yaWdpbldpdGhvdXRUQU8oKTsKICAgICB1aW50
MTZfdCByZWRpcmVjdENvdW50KCkgY29uc3Q7CiAgICAgdm9pZCBpbmNyZW1lbnRSZWRpcmVjdENv
dW50KCk7CisgICAgY29uc3QgU2VjdXJpdHlPcmlnaW4qIHNvdXJjZU9yaWdpbigpIGNvbnN0Owog
CiAgICAgLy8gVGhlIGNsaWVudCBtYXkgYmUgMCwgaW4gd2hpY2ggY2FzZSBubyBjYWxsYmFja3Mg
d2lsbCBiZSBtYWRlLgogICAgIFdFQkNPUkVfRVhQT1JUIFJlc291cmNlSGFuZGxlQ2xpZW50KiBj
bGllbnQoKSBjb25zdDsKQEAgLTIwNiw3ICsyMDgsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZv
aWQgcmVnaXN0ZXJCdWlsdGluU3luY2hyb25vdXNMb2FkZXIoY29uc3QgQXRvbVN0cmluZyYgcHJv
dG9jb2wsIEJ1aWx0aW5TeW5jaHJvbm91c0xvYWRlcik7CiAKIHByb3RlY3RlZDoKLSAgICBSZXNv
dXJjZUhhbmRsZShOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFJl
c291cmNlSGFuZGxlQ2xpZW50KiwgYm9vbCBkZWZlcnNMb2FkaW5nLCBib29sIHNob3VsZENvbnRl
bnRTbmlmZiwgYm9vbCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZik7CisgICAgUmVzb3VyY2VI
YW5kbGUoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBSZXNvdXJj
ZUhhbmRsZUNsaWVudCosIGJvb2wgZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25p
ZmYsIGJvb2wgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdp
bj4mJiBzb3VyY2VPcmlnaW4pOwogCiBwcml2YXRlOgogICAgIGVudW0gRmFpbHVyZVR5cGUgewpA
QCAtMjIyLDcgKzIyNCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzY2hlZHVsZUZhaWx1cmUoRmFp
bHVyZVR5cGUpOwogCiAgICAgYm9vbCBzdGFydCgpOwotICAgIHN0YXRpYyB2b2lkIHBsYXRmb3Jt
TG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFJlc291
cmNlUmVxdWVzdCYsIFN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBSZXNvdXJjZUVycm9yJiwgUmVz
b3VyY2VSZXNwb25zZSYsIFZlY3Rvcjx1aW50OF90PiYgZGF0YSk7CisgICAgc3RhdGljIHZvaWQg
cGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0KiwgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiwgU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIFNlY3VyaXR5T3Jp
Z2luKiwgUmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVzcG9uc2UmLCBWZWN0b3I8dWludDhfdD4m
IGRhdGEpOwogCiAgICAgdm9pZCByZWZBdXRoZW50aWNhdGlvbkNsaWVudCgpIG92ZXJyaWRlIHsg
cmVmKCk7IH0KICAgICB2b2lkIGRlcmVmQXV0aGVudGljYXRpb25DbGllbnQoKSBvdmVycmlkZSB7
IGRlcmVmKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgKaW5kZXggMThmZDQxYzg2Njc3ZjVlMDAwNDc4NmUz
MWQ1NmI1M2E1NzVkODFhZS4uMWZkYTVjNDIwZjUxNDFkM2Y3NzExZWM0MWE4ZjdjMzY1MzBkMTRh
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhh
bmRsZUludGVybmFsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNv
dXJjZUhhbmRsZUludGVybmFsLmgKQEAgLTY1LDcgKzY1LDcgQEAgY2xhc3MgUmVzb3VyY2VIYW5k
bGVJbnRlcm5hbCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoUmVzb3VyY2VIYW5kbGVJbnRl
cm5hbCk7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURURfV0lUSF9IRUFQX0lERU5USUZJRVIo
UmVzb3VyY2VIYW5kbGVJbnRlcm5hbCk7CiBwdWJsaWM6Ci0gICAgUmVzb3VyY2VIYW5kbGVJbnRl
cm5hbChSZXNvdXJjZUhhbmRsZSogbG9hZGVyLCBOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUhhbmRsZUNsaWVudCogY2xp
ZW50LCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVudFNuaWZmLCBib29sIHNo
b3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKQorICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwoUmVz
b3VyY2VIYW5kbGUqIGxvYWRlciwgTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IFJl
c291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VIYW5kbGVDbGllbnQqIGNsaWVudCwgYm9v
bCBkZWZlcnNMb2FkaW5nLCBib29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91bGRDb250
ZW50RW5jb2RpbmdTbmlmZiwgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiYmIHNvdXJjZU9yaWdpbikK
ICAgICAgICAgOiBtX2NvbnRleHQoY29udGV4dCkKICAgICAgICAgLCBtX2NsaWVudChjbGllbnQp
CiAgICAgICAgICwgbV9maXJzdFJlcXVlc3QocmVxdWVzdCkKQEAgLTc4LDYgKzc4LDcgQEAgcHVi
bGljOgogICAgICAgICAsIG1fY3VycmVudFJlcXVlc3QocmVxdWVzdCkKICNlbmRpZgogICAgICAg
ICAsIG1fZmFpbHVyZVRpbWVyKCpsb2FkZXIsICZSZXNvdXJjZUhhbmRsZTo6ZmFpbHVyZVRpbWVy
RmlyZWQpCisgICAgICAgICwgbV9zb3VyY2VPcmlnaW4oV1RGTW92ZShzb3VyY2VPcmlnaW4pKQog
ICAgIHsKICAgICAgICAgY29uc3QgVVJMJiB1cmwgPSBtX2ZpcnN0UmVxdWVzdC51cmwoKTsKICAg
ICAgICAgbV91c2VyID0gdXJsLnVzZXIoKTsKQEAgLTEzMyw3ICsxMzQsNyBAQCBwdWJsaWM6CiAg
ICAgQm94PE5ldHdvcmtMb2FkTWV0cmljcz4gbV9uZXR3b3JrTG9hZE1ldHJpY3M7CiAgICAgTW9u
b3RvbmljVGltZSBtX3N0YXJ0VGltZTsKICAgICB1aW50MTZfdCBtX3JlZGlyZWN0Q291bnQgeyAw
IH07Ci0gICAgYm9vbCBtX2hhc0Nyb3NzT3JpZ2luUmVkaXJlY3QgeyBmYWxzZSB9OworICAgIGJv
b2wgbV9pc0Nyb3NzT3JpZ2luV2l0aG91dFRBTyB7IGZhbHNlIH07CiAKICNpZiBQTEFURk9STShD
T0NPQSkKICAgICAvLyBXZSBuZWVkIHRvIGtlZXAgYSByZWZlcmVuY2UgdG8gdGhlIG9yaWdpbmFs
IGNoYWxsZW5nZSB0byBiZSBhYmxlIHRvIGNhbmNlbCBpdC4KQEAgLTE0NCw2ICsxNDUsNyBAQCBw
dWJsaWM6CiAgICAgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UgbV9jdXJyZW50V2ViQ2hhbGxlbmdl
OwogICAgIFJlc291cmNlSGFuZGxlOjpGYWlsdXJlVHlwZSBtX3NjaGVkdWxlZEZhaWx1cmVUeXBl
IHsgUmVzb3VyY2VIYW5kbGU6Ok5vRmFpbHVyZSB9OwogICAgIFRpbWVyIG1fZmFpbHVyZVRpbWVy
OworICAgIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4gbV9zb3VyY2VPcmlnaW47CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1RpbWluZ0FsbG93T3JpZ2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvVGltaW5nQWxsb3dPcmlnaW4uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczNGQ5MTY2ZTIwNDhlZjhm
NGY0NGUyMmNjYTVhYmM3YTFjZTE0MGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1RpbWluZ0FsbG93T3JpZ2luLmNwcApAQCAtMCwwICsxLDUzIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlRpbWluZ0FsbG93
T3JpZ2luLmgiCisKKyNpbmNsdWRlICJIVFRQUGFyc2Vycy5oIgorI2luY2x1ZGUgIlJlc291cmNl
UmVzcG9uc2UuaCIKKyNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2Jvb2wgcGFzc2VzVGltaW5nQWxsb3dPcmlnaW5DaGVjayhjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJiByZXNwb25zZSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIGluaXRpYXRvclNlY3Vy
aXR5T3JpZ2luKQoreworICAgIC8vIGh0dHBzOi8vZmV0Y2guc3BlYy53aGF0d2cub3JnLyN0YW8t
Y2hlY2sKKyAgICBhdXRvIHJlc291cmNlT3JpZ2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZShy
ZXNwb25zZS51cmwoKSk7CisgICAgaWYgKHJlc291cmNlT3JpZ2luLT5pc1NhbWVTY2hlbWVIb3N0
UG9ydChpbml0aWF0b3JTZWN1cml0eU9yaWdpbikpCisgICAgICAgIHJldHVybiB0cnVlOworCisg
ICAgY29uc3QgU3RyaW5nJiB0aW1pbmdBbGxvd09yaWdpblN0cmluZyA9IHJlc3BvbnNlLmh0dHBI
ZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6VGltaW5nQWxsb3dPcmlnaW4pOworICAgIGNvbnN0
IFN0cmluZyYgc2VjdXJpdHlPcmlnaW4gPSBpbml0aWF0b3JTZWN1cml0eU9yaWdpbi50b1N0cmlu
ZygpOworICAgIGZvciAoYXV0byYgb3JpZ2luV2l0aFNwYWNlIDogdGltaW5nQWxsb3dPcmlnaW5T
dHJpbmcuc3BsaXQoJywnKSkgeworICAgICAgICBhdXRvIG9yaWdpbiA9IHN0cmlwTGVhZGluZ0Fu
ZFRyYWlsaW5nSFRUUFNwYWNlcyhTdHJpbmdWaWV3KG9yaWdpbldpdGhTcGFjZSkpOworICAgICAg
ICBpZiAob3JpZ2luID09ICIqIiB8fCBvcmlnaW4gPT0gc2VjdXJpdHlPcmlnaW4pCisgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvVGltaW5nQWxsb3dPcmln
aW4uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvVGltaW5nQWxsb3dPcmlnaW4u
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42ODMwMDgzMzkzOGFhMjVkZDhjOTA5YTA1ZTRjNmRkZmRhMWYzOTVlCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9UaW1pbmdB
bGxvd09yaWdpbi5oCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOworY2xhc3Mg
U2VjdXJpdHlPcmlnaW47CisKK1dFQkNPUkVfRVhQT1JUIGJvb2wgcGFzc2VzVGltaW5nQWxsb3dP
cmlnaW5DaGVjayhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgV2ViQ29yZTo6U2VjdXJp
dHlPcmlnaW4mIGluaXRpYXRvclNlY3VyaXR5T3JpZ2luKTsKKworfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jb2NvYS9OZXR3b3JrTG9hZE1ldHJpY3MubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtMb2FkTWV0cmlj
cy5tbQppbmRleCBiNTQ0N2RmNTQ3NmMwYzRjNGFiYzU4OWNiMzE3ODViYmY0OGNhZDk1Li45Nzc5
YTcyYWE5N2FjYmU4MjU1NTI4NmJjODQyMTA1ZmVjYmRmMGI2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtMb2FkTWV0cmljcy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtMb2FkTWV0cmlj
cy5tbQpAQCAtMzgsNyArMzgsNyBAQCBzdGF0aWMgTW9ub3RvbmljVGltZSBkYXRlVG9Nb25vdG9u
aWNUaW1lKE5TRGF0ZSAqZGF0ZSkKICAgICByZXR1cm4geyB9OwogfQogCi1zdGF0aWMgQm94PE5l
dHdvcmtMb2FkTWV0cmljcz4gcGFja2FnZVRpbWluZ0RhdGEoTW9ub3RvbmljVGltZSByZWRpcmVj
dFN0YXJ0LCBOU0RhdGUgKmZldGNoU3RhcnQsIE5TRGF0ZSAqZG9tYWluTG9va3VwU3RhcnQsIE5T
RGF0ZSAqZG9tYWluTG9va3VwRW5kLCBOU0RhdGUgKmNvbm5lY3RTdGFydCwgTlNEYXRlICpzZWN1
cmVDb25uZWN0aW9uU3RhcnQsIE5TRGF0ZSAqY29ubmVjdEVuZCwgTlNEYXRlICpyZXF1ZXN0U3Rh
cnQsIE5TRGF0ZSAqcmVzcG9uc2VTdGFydCwgYm9vbCByZXVzZWRUTFNDb25uZWN0aW9uLCBOU1N0
cmluZyAqcHJvdG9jb2wsIHVpbnQxNl90IHJlZGlyZWN0Q291bnQsIGJvb2wgaGFzQ3Jvc3NPcmln
aW5SZWRpcmVjdCkKK3N0YXRpYyBCb3g8TmV0d29ya0xvYWRNZXRyaWNzPiBwYWNrYWdlVGltaW5n
RGF0YShNb25vdG9uaWNUaW1lIHJlZGlyZWN0U3RhcnQsIE5TRGF0ZSAqZmV0Y2hTdGFydCwgTlNE
YXRlICpkb21haW5Mb29rdXBTdGFydCwgTlNEYXRlICpkb21haW5Mb29rdXBFbmQsIE5TRGF0ZSAq
Y29ubmVjdFN0YXJ0LCBOU0RhdGUgKnNlY3VyZUNvbm5lY3Rpb25TdGFydCwgTlNEYXRlICpjb25u
ZWN0RW5kLCBOU0RhdGUgKnJlcXVlc3RTdGFydCwgTlNEYXRlICpyZXNwb25zZVN0YXJ0LCBib29s
IHJldXNlZFRMU0Nvbm5lY3Rpb24sIE5TU3RyaW5nICpwcm90b2NvbCwgdWludDE2X3QgcmVkaXJl
Y3RDb3VudCwgYm9vbCBpc0Nyb3NzT3JpZ2luV2l0aG91dFRBTykKIHsKIAogICAgIGF1dG8gdGlt
aW5nID0gQm94PE5ldHdvcmtMb2FkTWV0cmljcz46OmNyZWF0ZSgpOwpAQCAtNTYsMTQgKzU2LDE0
IEBAIHN0YXRpYyBCb3g8TmV0d29ya0xvYWRNZXRyaWNzPiBwYWNrYWdlVGltaW5nRGF0YShNb25v
dG9uaWNUaW1lIHJlZGlyZWN0U3RhcnQsIE5TCiAgICAgdGltaW5nLT5yZXF1ZXN0U3RhcnQgPSBk
YXRlVG9Nb25vdG9uaWNUaW1lKHJlcXVlc3RTdGFydCk7CiAgICAgdGltaW5nLT5yZXNwb25zZVN0
YXJ0ID0gZGF0ZVRvTW9ub3RvbmljVGltZShyZXNwb25zZVN0YXJ0KTsKICAgICB0aW1pbmctPnJl
ZGlyZWN0Q291bnQgPSByZWRpcmVjdENvdW50OwotICAgIHRpbWluZy0+aGFzQ3Jvc3NPcmlnaW5S
ZWRpcmVjdCA9IGhhc0Nyb3NzT3JpZ2luUmVkaXJlY3Q7CisgICAgdGltaW5nLT5pc0Nyb3NzT3Jp
Z2luV2l0aG91dFRBTyA9IGlzQ3Jvc3NPcmlnaW5XaXRob3V0VEFPOwogCiAgICAgLy8gTk9URTog
cmVzcG9uc2VFbmQgaXMgbm90IHBvcHVsYXRlZCBpbiB0aGlzIGNvZGUgcGF0aC4KIAogICAgIHJl
dHVybiB0aW1pbmc7CiB9CiAKLUJveDxOZXR3b3JrTG9hZE1ldHJpY3M+IGNvcHlUaW1pbmdEYXRh
KE5TVVJMU2Vzc2lvblRhc2tNZXRyaWNzICppbmNvbXBsZXRlTWV0cmljcywgYm9vbCBoYXNDcm9z
c09yaWdpblJlZGlyZWN0KQorQm94PE5ldHdvcmtMb2FkTWV0cmljcz4gY29weVRpbWluZ0RhdGEo
TlNVUkxTZXNzaW9uVGFza01ldHJpY3MgKmluY29tcGxldGVNZXRyaWNzLCBib29sIGlzQ3Jvc3NP
cmlnaW5XaXRob3V0VEFPKQogewogICAgIE5TQXJyYXk8TlNVUkxTZXNzaW9uVGFza1RyYW5zYWN0
aW9uTWV0cmljcyAqPiAqdHJhbnNhY3Rpb25NZXRyaWNzID0gaW5jb21wbGV0ZU1ldHJpY3MudHJh
bnNhY3Rpb25NZXRyaWNzOwogICAgIE5TVVJMU2Vzc2lvblRhc2tUcmFuc2FjdGlvbk1ldHJpY3Mg
Km1ldHJpY3MgPSB0cmFuc2FjdGlvbk1ldHJpY3MubGFzdE9iamVjdDsKQEAgLTgwLDcgKzgwLDcg
QEAgQm94PE5ldHdvcmtMb2FkTWV0cmljcz4gY29weVRpbWluZ0RhdGEoTlNVUkxTZXNzaW9uVGFz
a01ldHJpY3MgKmluY29tcGxldGVNZXRyaWMKICAgICAgICAgbWV0cmljcy5yZXVzZWRDb25uZWN0
aW9uLAogICAgICAgICBtZXRyaWNzLnJlc3BvbnNlLlVSTC5zY2hlbWUsCiAgICAgICAgIGluY29t
cGxldGVNZXRyaWNzLnJlZGlyZWN0Q291bnQsCi0gICAgICAgIGhhc0Nyb3NzT3JpZ2luUmVkaXJl
Y3QKKyAgICAgICAgaXNDcm9zc09yaWdpbldpdGhvdXRUQU8KICAgICApOwogfQogCkBAIC0xMDks
NyArMTA5LDcgQEAgQm94PE5ldHdvcmtMb2FkTWV0cmljcz4gY29weVRpbWluZ0RhdGEoTlNVUkxD
b25uZWN0aW9uICpjb25uZWN0aW9uLCBjb25zdCBSZXNvdXIKICAgICAgICAgdGltaW5nVmFsdWUo
QCJfa0NGTlRpbWluZ0RhdGFDb25uZWN0aW9uUmV1c2VkIikuZ2V0KCksCiAgICAgICAgIGNvbm5l
Y3Rpb24uY3VycmVudFJlcXVlc3QuVVJMLnNjaGVtZSwKICAgICAgICAgaGFuZGxlLnJlZGlyZWN0
Q291bnQoKSwKLSAgICAgICAgaGFuZGxlLmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QoKQorICAgICAg
ICBoYW5kbGUuaXNDcm9zc09yaWdpbldpdGhvdXRUQU8oKQogICAgICk7CiAKICAgICBpZiAoIWRh
dGEtPmZldGNoU3RhcnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2N1cmwvQ3VybENhY2hlRW50cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jdXJsL0N1cmxDYWNoZUVudHJ5LmNwcAppbmRleCA2ZDkyNDc1YjVlYjYyMGI3ZGE5YjMz
OGU3NmFiYTBmYzg4N2EzZWQ2Li5jMTg1ZWIzYjkzNTk1NjU1MmQxYTRkMzQwNmE4YThmOTRmMDBm
ZmU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3Vy
bENhY2hlRW50cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3Vy
bC9DdXJsQ2FjaGVFbnRyeS5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlICJSZXNvdXJj
ZUhhbmRsZUludGVybmFsLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVk
ZSAiUmVzb3VyY2VSZXNwb25zZS5oIgorI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5j
bHVkZSAiU2hhcmVkQnVmZmVyLmgiCiAjaW5jbHVkZSA8d3RmL0RhdGVNYXRoLmg+CiAjaW5jbHVk
ZSA8d3RmL0hleE51bWJlci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jdXJsL0N1cmxDYWNoZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jdXJsL0N1cmxDYWNoZU1hbmFnZXIuY3BwCmluZGV4IGU2OWY2YzM1Nzc1ZWRl
Y2NlYjIyZTg1MTU0NjUzYTk0ODYyNmZiY2QuLjc4NjlhMGRmNGU5ZWI3MjhhNmQ4ZmZlYzQzMzJl
M2RmNzE5YTllNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Y3VybC9DdXJsQ2FjaGVNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2N1cmwvQ3VybENhY2hlTWFuYWdlci5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNs
dWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlSW50
ZXJuYWwuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJTZWN1cml0
eU9yaWdpbi5oIgogI2luY2x1ZGUgPHd0Zi9GaWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZUN1cmwuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlQ3Vy
bC5jcHAKaW5kZXggMzhlNWVlMTliMTQ2MTcxYjdiODI2ODUxYWJiMWYyZjQ4OTVjNTA0MS4uZGFm
M2FmNjg1ZDhjYWJlMTI0OTgxZDdjMDgxMjViNzcxOWNjYjI1NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlQ3VybC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlQ3Vy
bC5jcHAKQEAgLTM2NSw3ICszNjUsNyBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpyZXN0YXJ0UmVx
dWVzdFdpdGhDcmVkZW50aWFsKGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgcHJvdGVjdAogICAgIGQt
Pm1fY3VybFJlcXVlc3QtPnN0YXJ0KCk7CiB9CiAKLXZvaWQgUmVzb3VyY2VIYW5kbGU6OnBsYXRm
b3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSBz
dG9yZWRDcmVkZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYgZXJyb3IsIFJlc291cmNlUmVz
cG9uc2UmIHJlc3BvbnNlLCBWZWN0b3I8dWludDhfdD4mIGRhdGEpCit2b2lkIFJlc291cmNlSGFu
ZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2luZ0NvbnRleHQq
IGNvbnRleHQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgU3RvcmVkQ3JlZGVudGlh
bHNQb2xpY3kgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIFNlY3VyaXR5T3JpZ2luKiwgUmVzb3Vy
Y2VFcnJvciYgZXJyb3IsIFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBWZWN0b3I8dWludDhf
dD4mIGRhdGEpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICBBU1NFUlQoIXJl
cXVlc3QuaXNFbXB0eSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0KaW5kZXggZjJjMWVkNjY0MmU2YjdiY2Jk
Y2ZhMzI3YWFmODJlOWIwMzdhYTRhNS4uNDgxMzIwYzgzMzQ0YzBhMTcxYTQ1M2Y3MGUzZTg1N2Rl
MDllZWMyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMv
UmVzb3VyY2VIYW5kbGVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0KQEAgLTM1MSw3ICszNTEsNyBAQCBDRlN0cmluZ1Jl
ZiBSZXNvdXJjZUhhbmRsZTo6c3luY2hyb25vdXNMb2FkUnVuTG9vcE1vZGUoKQogICAgIHJldHVy
biBDRlNUUigiV2ViQ29yZVN5bmNocm9ub3VzTG9hZGVyUnVuTG9vcE1vZGUiKTsKIH0KIAotdm9p
ZCBSZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdv
cmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFN0
b3JlZENyZWRlbnRpYWxzUG9saWN5IHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBSZXNvdXJjZUVy
cm9yJiBlcnJvciwgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFZlY3Rvcjx1aW50OF90PiYg
ZGF0YSkKK3ZvaWQgUmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25v
dXNseShOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBy
ZXF1ZXN0LCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwg
U2VjdXJpdHlPcmlnaW4qIHNvdXJjZU9yaWdpbiwgUmVzb3VyY2VFcnJvciYgZXJyb3IsIFJlc291
cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBWZWN0b3I8dWludDhfdD4mIGRhdGEpCiB7CiAgICAgTE9H
KE5ldHdvcmssICJSZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5jaHJvbm91
c2x5OiVAIHN0b3JlZENyZWRlbnRpYWxzUG9saWN5OiV1IiwgcmVxdWVzdC5uc1VSTFJlcXVlc3Qo
SFRUUEJvZHlVcGRhdGVQb2xpY3k6OkRvTm90VXBkYXRlSFRUUEJvZHkpLCBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kpKTsKIApAQCAtMzYzLDcgKzM2Myw3IEBA
IHZvaWQgUmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseShO
ZXR3b3JraW5nQ29udGV4dCogY29udGV4CiAgICAgYm9vbCBkZWZlcnNMb2FkaW5nID0gZmFsc2U7
CiAgICAgYm9vbCBzaG91bGRDb250ZW50U25pZmYgPSB0cnVlOwogICAgIGJvb2wgc2hvdWxkQ29u
dGVudEVuY29kaW5nU25pZmYgPSB0cnVlOwotICAgIFJlZlB0cjxSZXNvdXJjZUhhbmRsZT4gaGFu
ZGxlID0gYWRvcHRSZWYobmV3IFJlc291cmNlSGFuZGxlKGNvbnRleHQsIHJlcXVlc3QsICZjbGll
bnQsIGRlZmVyc0xvYWRpbmcsIHNob3VsZENvbnRlbnRTbmlmZiwgc2hvdWxkQ29udGVudEVuY29k
aW5nU25pZmYpKTsKKyAgICBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IGhhbmRsZSA9IGFkb3B0UmVm
KG5ldyBSZXNvdXJjZUhhbmRsZShjb250ZXh0LCByZXF1ZXN0LCAmY2xpZW50LCBkZWZlcnNMb2Fk
aW5nLCBzaG91bGRDb250ZW50U25pZmYsIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmLCBzb3Vy
Y2VPcmlnaW4pKTsKIAogICAgIGhhbmRsZS0+ZC0+bV9zdG9yYWdlU2Vzc2lvbiA9IGNvbnRleHQt
PnN0b3JhZ2VTZXNzaW9uKCktPnBsYXRmb3JtU2Vzc2lvbigpOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09w
ZXJhdGlvblF1ZXVlRGVsZWdhdGUubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUubW0KaW5k
ZXggYzQzMjYxNjk2ZTNjZWRmMzZmN2UyZDM4YTA3ZGFlNGNhMmZlMjY0ZC4uODE4YzQ5NjFiOTQ1
NDI0NGVlMTc3MGNhYjE3Nzk3OWFlM2Q5ODg2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1
ZURlbGVnYXRlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dl
YkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5tbQpAQCAtMzcsNiAr
MzcsNyBAQAogI2ltcG9ydCAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbXBvcnQgIlNoYXJlZEJ1ZmZl
ci5oIgogI2ltcG9ydCAiU3luY2hyb25vdXNMb2FkZXJDbGllbnQuaCIKKyNpbXBvcnQgIlRpbWlu
Z0FsbG93T3JpZ2luLmgiCiAjaW1wb3J0ICJXZWJDb3JlVVJMUmVzcG9uc2UuaCIKICNpbXBvcnQg
PHBhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL05TVVJM
Q29ubmVjdGlvblNQSS5oPgpAQCAtMTQxLDYgKzE0Miw3IEBAIHN0YXRpYyBib29sIHNjaGVkdWxl
ZFdpdGhDdXN0b21SdW5Mb29wTW9kZShjb25zdCBzdGQ6Om9wdGlvbmFsPFNjaGVkdWxlUGFpckhh
c2hTCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAorICAgICAgICBSZXNvdXJjZVJl
c3BvbnNlIHJlc3BvbnNlKHJlZGlyZWN0UmVzcG9uc2UuZ2V0KCkpOwogICAgICAgICBSZXNvdXJj
ZVJlcXVlc3QgcmVkaXJlY3RSZXF1ZXN0ID0gbmV3UmVxdWVzdC5nZXQoKTsKICAgICAgICAgaWYg
KFtuZXdSZXF1ZXN0LmdldCgpIEhUVFBCb2R5U3RyZWFtXSkgewogICAgICAgICAgICAgQVNTRVJU
KG1faGFuZGxlLT5maXJzdFJlcXVlc3QoKS5odHRwQm9keSgpKTsKQEAgLTE1MCwxMCArMTUyLDEy
IEBAIHN0YXRpYyBib29sIHNjaGVkdWxlZFdpdGhDdXN0b21SdW5Mb29wTW9kZShjb25zdCBzdGQ6
Om9wdGlvbmFsPFNjaGVkdWxlUGFpckhhc2hTCiAgICAgICAgICAgICByZWRpcmVjdFJlcXVlc3Qu
Y2xlYXJIVFRQQ29udGVudFR5cGUoKTsKIAogICAgICAgICAvLyBDaGVjayBpZiB0aGUgcmVkaXJl
Y3RlZCB1cmwgaXMgYWxsb3dlZCB0byBhY2Nlc3MgdGhlIHJlZGlyZWN0aW5nIHVybCdzIHRpbWlu
ZyBpbmZvcm1hdGlvbi4KLSAgICAgICAgbV9oYW5kbGUtPnNldEhhc0Nyb3NzT3JpZ2luUmVkaXJl
Y3QoIVdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luOjpjcmVhdGUocmVkaXJlY3RSZXF1ZXN0LnVybCgp
KS0+Y2FuUmVxdWVzdChyZWRpcmVjdFJlc3BvbnNlLmdldCgpLlVSTCkpOworICAgICAgICBpZiAo
YXV0byogc291cmNlT3JpZ2luID0gbV9oYW5kbGUtPnNvdXJjZU9yaWdpbigpOyBzb3VyY2VPcmln
aW4gJiYgIW1faGFuZGxlLT5pc0Nyb3NzT3JpZ2luV2l0aG91dFRBTygpICYmICFwYXNzZXNUaW1p
bmdBbGxvd09yaWdpbkNoZWNrKHJlc3BvbnNlLCAqc291cmNlT3JpZ2luKSkKKyAgICAgICAgICAg
IG1faGFuZGxlLT5tYXJrQXNDcm9zc09yaWdpbldpdGhvdXRUQU8oKTsKKwogICAgICAgICBtX2hh
bmRsZS0+aW5jcmVtZW50UmVkaXJlY3RDb3VudCgpOwogCi0gICAgICAgIG1faGFuZGxlLT53aWxs
U2VuZFJlcXVlc3QoV1RGTW92ZShyZWRpcmVjdFJlcXVlc3QpLCByZWRpcmVjdFJlc3BvbnNlLmdl
dCgpLCBbc2VsZiwgcHJvdGVjdGVkU2VsZiA9IFdURk1vdmUocHJvdGVjdGVkU2VsZildKFJlc291
cmNlUmVxdWVzdCYmIHJlcXVlc3QpIHsKKyAgICAgICAgbV9oYW5kbGUtPndpbGxTZW5kUmVxdWVz
dChXVEZNb3ZlKHJlZGlyZWN0UmVxdWVzdCksIFdURk1vdmUocmVzcG9uc2UpLCBbc2VsZiwgcHJv
dGVjdGVkU2VsZiA9IFdURk1vdmUocHJvdGVjdGVkU2VsZildKFJlc291cmNlUmVxdWVzdCYmIHJl
cXVlc3QpIHsKICAgICAgICAgICAgIG1fcmVxdWVzdFJlc3VsdCA9IHJlcXVlc3QubnNVUkxSZXF1
ZXN0KEhUVFBCb2R5VXBkYXRlUG9saWN5OjpVcGRhdGVIVFRQQm9keSk7CiAgICAgICAgICAgICBt
X3NlbWFwaG9yZS5zaWduYWwoKTsKICAgICAgICAgfSk7CkBAIC0yNTcsOCArMjYxLDExIEBAIEFM
TE9XX0RFUFJFQ0FURURfSU1QTEVNRU5UQVRJT05TX0VORAogICAgICAgICBpZiAoW21faGFuZGxl
LT5maXJzdFJlcXVlc3QoKS5uc1VSTFJlcXVlc3QoSFRUUEJvZHlVcGRhdGVQb2xpY3k6OkRvTm90
VXBkYXRlSFRUUEJvZHkpIF9wcm9wZXJ0eUZvcktleTpAIkZvcmNlSFRNTE1JTUVUeXBlIl0pCiAg
ICAgICAgICAgICBbciBfc2V0TUlNRVR5cGU6QCJ0ZXh0L2h0bWwiXTsKIAotICAgICAgICBhdXRv
IG1ldHJpY3MgPSBjb3B5VGltaW5nRGF0YShjb25uZWN0aW9uLmdldCgpLCAqbV9oYW5kbGUpOwog
ICAgICAgICBSZXNvdXJjZVJlc3BvbnNlIHJlc291cmNlUmVzcG9uc2Uoci5nZXQoKSk7CisgICAg
ICAgIGlmIChhdXRvKiBzb3VyY2VPcmlnaW4gPSBtX2hhbmRsZS0+c291cmNlT3JpZ2luKCk7IHNv
dXJjZU9yaWdpbiAmJiAhbV9oYW5kbGUtPmlzQ3Jvc3NPcmlnaW5XaXRob3V0VEFPKCkgJiYgIXBh
c3Nlc1RpbWluZ0FsbG93T3JpZ2luQ2hlY2socmVzb3VyY2VSZXNwb25zZSwgKnNvdXJjZU9yaWdp
bikpCisgICAgICAgICAgICBtX2hhbmRsZS0+bWFya0FzQ3Jvc3NPcmlnaW5XaXRob3V0VEFPKCk7
CisKKyAgICAgICAgYXV0byBtZXRyaWNzID0gY29weVRpbWluZ0RhdGEoY29ubmVjdGlvbi5nZXQo
KSwgKm1faGFuZGxlKTsKICAgICAgICAgcmVzb3VyY2VSZXNwb25zZS5zZXRTb3VyY2UoUmVzb3Vy
Y2VSZXNwb25zZTo6U291cmNlOjpOZXR3b3JrKTsKICAgICAgICAgcmVzb3VyY2VSZXNwb25zZS5z
ZXREZXByZWNhdGVkTmV0d29ya0xvYWRNZXRyaWNzKEJveDxOZXR3b3JrTG9hZE1ldHJpY3M+IHsg
bWV0cmljcyB9KTsKIApAQCAtMzMzLDYgKzM0MCw3IEBAIEFMTE9XX0RFUFJFQ0FURURfSU1QTEVN
RU5UQVRJT05TX0VORAogICAgICAgICAgICAgICAgIG1ldHJpY3MtPnJlc3BvbnNlRW5kID0gV2Fs
bFRpbWU6OmZyb21SYXdTZWNvbmRzKGFkb3B0TlMoW1tOU0RhdGUgYWxsb2NdIGluaXRXaXRoVGlt
ZUludGVydmFsU2luY2VSZWZlcmVuY2VEYXRlOnJlc3BvbnNlRW5kVGltZV0pLmdldCgpLnRpbWVJ
bnRlcnZhbFNpbmNlMTk3MCkuYXBwcm94aW1hdGVNb25vdG9uaWNUaW1lKCk7CiAgICAgICAgICAg
ICBlbHNlCiAgICAgICAgICAgICAgICAgbWV0cmljcy0+cmVzcG9uc2VFbmQgPSBtZXRyaWNzLT5y
ZXNwb25zZVN0YXJ0OworICAgICAgICAgICAgbWV0cmljcy0+cHJvdG9jb2wgPSAoTlNTdHJpbmcg
KilbdGltaW5nRGF0YSBvYmplY3RGb3JLZXk6QCJfa0NGTlRpbWluZ0RhdGFOZXR3b3JrUHJvdG9j
b2xOYW1lIl07CiAgICAgICAgICAgICBtZXRyaWNzLT5yZXNwb25zZUJvZHlCeXRlc1JlY2VpdmVk
ID0gW1t0aW1pbmdEYXRhIG9iamVjdEZvcktleTpAIl9rQ0ZOVGltaW5nRGF0YVJlc3BvbnNlQm9k
eUJ5dGVzUmVjZWl2ZWQiXSB1bnNpZ25lZExvbmdMb25nVmFsdWVdOwogICAgICAgICAgICAgbWV0
cmljcy0+cmVzcG9uc2VCb2R5RGVjb2RlZFNpemUgPSBbW3RpbWluZ0RhdGEgb2JqZWN0Rm9yS2V5
OkAiX2tDRk5UaW1pbmdEYXRhUmVzcG9uc2VCb2R5Qnl0ZXNEZWNvZGVkIl0gdW5zaWduZWRMb25n
TG9uZ1ZhbHVlXTsKICAgICAgICAgICAgIG1ldHJpY3MtPm1hcmtDb21wbGV0ZSgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxl
U291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VI
YW5kbGVTb3VwLmNwcAppbmRleCA2OGFkNDY0MTcxMzYwZWU5YTg4Njk1NzM2MWU3OGY1Yjg0ZDI0
MGQxLi40OTc1NGNkN2YxMDNkZDE4NWQ3YTE3ODUxZTk1Y2UyZTQ1NTkxMGU2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3Vw
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VI
YW5kbGVTb3VwLmNwcApAQCAtMTI3LDcgKzEyNyw3IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnBs
YXRmb3JtU2V0RGVmZXJzTG9hZGluZyhib29sKQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
fQogCi12b2lkIFJlc291cmNlSGFuZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3Vz
bHkoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBTdG9yZWRDcmVk
ZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVzcG9uc2UmLCBWZWN0b3I8
dWludDhfdD4mKQordm9pZCBSZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5j
aHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgU3Rv
cmVkQ3JlZGVudGlhbHNQb2xpY3ksIFNlY3VyaXR5T3JpZ2luKiwgUmVzb3VyY2VFcnJvciYsIFJl
c291cmNlUmVzcG9uc2UmLCBWZWN0b3I8dWludDhfdD4mKQogewogICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrTG9hZFBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a0xvYWRQYXJhbWV0ZXJzLmgKaW5kZXggZjhkNjE3YWU5M2YwZGFhOWU4ZWJlOWI5NzA1NmVmMDAz
NmU0ZDM5Yy4uMDRjYjAzOTBjOWNmZDg2YjkxMWQ0OGY5YWY5Y2QxNzJlOGIzYTczNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZFBhcmFtZXRlcnMu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkUGFyYW1ldGVy
cy5oCkBAIC00OCw2ICs0OCw3IEBAIHB1YmxpYzoKICAgICBXZWJDb3JlOjpQYWdlSWRlbnRpZmll
ciB3ZWJQYWdlSUQ7CiAgICAgV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIHdlYkZyYW1lSUQ7CiAg
ICAgUmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPiB0b3BPcmlnaW47CisgICAgUmVmUHRy
PFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPiBzb3VyY2VPcmlnaW47CiAgICAgV1RGOjpQcm9jZXNz
SUQgcGFyZW50UElEIHsgMCB9OwogI2lmIEhBVkUoQVVESVRfVE9LRU4pCiAgICAgc3RkOjpvcHRp
b25hbDxhdWRpdF90b2tlbl90PiBuZXR3b3JrUHJvY2Vzc0F1ZGl0VG9rZW47CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0
ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQ
YXJhbWV0ZXJzLmgKaW5kZXggZjBlNDIwZjUxMDNlYmQ1MWFmZDdjZTg5Y2JiN2IzNWY5NjI1YTM1
OS4uMjIyZDZmNGE3NDc2YzkxMzgzZjdhM2E1OTc2OTk1ZTU2ZWIzNzBmNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVy
cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9h
ZFBhcmFtZXRlcnMuaApAQCAtNTIsNyArNTIsNiBAQCBwdWJsaWM6CiAgICAgVmVjdG9yPFJlZlB0
cjxTYW5kYm94RXh0ZW5zaW9uPj4gcmVxdWVzdEJvZHlTYW5kYm94RXh0ZW5zaW9uczsgLy8gQ3Jl
YXRlZCBhdXRvbWF0aWNhbGx5IGZvciB0aGUgc2VuZGVyLgogICAgIFJlZlB0cjxTYW5kYm94RXh0
ZW5zaW9uPiByZXNvdXJjZVNhbmRib3hFeHRlbnNpb247IC8vIENyZWF0ZWQgYXV0b21hdGljYWxs
eSBmb3IgdGhlIHNlbmRlci4KICAgICBTZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1lOwotICAg
IFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4gc291cmNlT3JpZ2luOwogICAgIFdlYkNv
cmU6OkZldGNoT3B0aW9ucyBvcHRpb25zOwogICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6Q29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzPiBjc3BSZXNwb25zZUhlYWRlcnM7CiAg
ICAgV2ViQ29yZTo6SFRUUEhlYWRlck1hcCBvcmlnaW5hbFJlcXVlc3RIZWFkZXJzOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIu
Y3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIu
Y3BwCmluZGV4IDA4NGJkZTFiM2ZjMWJlNjVjOGZkNzQwZGIwYjQyMjUwZGNhNjgzYTUuLmVjMTZk
OTcyZDM0YmUxMjkwMzhmM2NhNmIyMzYzNDNjZjcwYjU0MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTg2
LDcgKzg2LDcgQEAgc3RydWN0IE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6U3luY2hyb25vdXNMb2Fk
RGF0YSB7CiAgICAgUmVzb3VyY2VFcnJvciBlcnJvcjsKIH07CiAKLXN0YXRpYyB2b2lkIHNlbmRS
ZXBseVRvU3luY2hyb25vdXNSZXF1ZXN0KE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6U3luY2hyb25v
dXNMb2FkRGF0YSYgZGF0YSwgY29uc3QgU2hhcmVkQnVmZmVyKiBidWZmZXIpCitzdGF0aWMgdm9p
ZCBzZW5kUmVwbHlUb1N5bmNocm9ub3VzUmVxdWVzdChOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OlN5
bmNocm9ub3VzTG9hZERhdGEmIGRhdGEsIGNvbnN0IFNoYXJlZEJ1ZmZlciogYnVmZmVyLCBjb25z
dCBOZXR3b3JrTG9hZE1ldHJpY3MmIG1ldHJpY3MpCiB7CiAgICAgQVNTRVJUKGRhdGEuZGVsYXll
ZFJlcGx5KTsKICAgICBBU1NFUlQoIWRhdGEucmVzcG9uc2UuaXNOdWxsKCkgfHwgIWRhdGEuZXJy
b3IuaXNOdWxsKCkpOwpAQCAtOTUsNiArOTUsOCBAQCBzdGF0aWMgdm9pZCBzZW5kUmVwbHlUb1N5
bmNocm9ub3VzUmVxdWVzdChOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OlN5bmNocm9ub3VzTG9hZAog
ICAgIGlmIChidWZmZXIgJiYgYnVmZmVyLT5zaXplKCkpCiAgICAgICAgIHJlc3BvbnNlQnVmZmVy
LmFwcGVuZChidWZmZXItPmRhdGEoKSwgYnVmZmVyLT5zaXplKCkpOwogCisgICAgZGF0YS5yZXNw
b25zZS5zZXREZXByZWNhdGVkTmV0d29ya0xvYWRNZXRyaWNzKEJveDxOZXR3b3JrTG9hZE1ldHJp
Y3M+OjpjcmVhdGUobWV0cmljcykpOworCiAgICAgZGF0YS5kZWxheWVkUmVwbHkoZGF0YS5lcnJv
ciwgZGF0YS5yZXNwb25zZSwgcmVzcG9uc2VCdWZmZXIpOwogICAgIGRhdGEuZGVsYXllZFJlcGx5
ID0gbnVsbHB0cjsKIH0KQEAgLTcyOCw3ICs3MzAsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxv
YWRlcjo6ZGlkRmluaXNoTG9hZGluZyhjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG5ldHdvcmtM
bwogI2VuZGlmCiAKICAgICBpZiAoaXNTeW5jaHJvbm91cygpKQotICAgICAgICBzZW5kUmVwbHlU
b1N5bmNocm9ub3VzUmVxdWVzdCgqbV9zeW5jaHJvbm91c0xvYWREYXRhLCBtX2J1ZmZlcmVkRGF0
YS5nZXQoKSk7CisgICAgICAgIHNlbmRSZXBseVRvU3luY2hyb25vdXNSZXF1ZXN0KCptX3N5bmNo
cm9ub3VzTG9hZERhdGEsIG1fYnVmZmVyZWREYXRhLmdldCgpLCBuZXR3b3JrTG9hZE1ldHJpY3Mp
OwogICAgIGVsc2UgewogICAgICAgICBpZiAobV9idWZmZXJlZERhdGEgJiYgIW1fYnVmZmVyZWRE
YXRhLT5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIC8vIEZJWE1FOiBQYXNzIGEgcmVhbCB2YWx1
ZSBvciByZW1vdmUgdGhlIGVuY29kZWQgZGF0YSBzaXplIGZlYXR1cmUuCkBAIC03NjMsNyArNzY1
LDcgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpZEZhaWxMb2FkaW5nKGNvbnN0IFJl
c291cmNlRXJyb3ImIGVycm9yKQogCiAgICAgaWYgKGlzU3luY2hyb25vdXMoKSkgewogICAgICAg
ICBtX3N5bmNocm9ub3VzTG9hZERhdGEtPmVycm9yID0gZXJyb3I7Ci0gICAgICAgIHNlbmRSZXBs
eVRvU3luY2hyb25vdXNSZXF1ZXN0KCptX3N5bmNocm9ub3VzTG9hZERhdGEsIG51bGxwdHIpOwor
ICAgICAgICBzZW5kUmVwbHlUb1N5bmNocm9ub3VzUmVxdWVzdCgqbV9zeW5jaHJvbm91c0xvYWRE
YXRhLCBudWxscHRyLCB7IH0pOwogICAgIH0gZWxzZSBpZiAoYXV0byogY29ubmVjdGlvbiA9IG1l
c3NhZ2VTZW5kZXJDb25uZWN0aW9uKCkpIHsKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAg
ICAgICAgIGlmIChtX3NlcnZpY2VXb3JrZXJGZXRjaFRhc2spCkBAIC0xMTQyLDcgKzExNDQsNyBA
QCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkUmV0cmlldmVDYWNoZUVudHJ5KHN0ZDo6
dW5pcXVlX3B0cjxOZXR3b3JrQ2FjaGU6OgogICAgIHJlc3BvbnNlID0gc2FuaXRpemVSZXNwb25z
ZUlmUG9zc2libGUoV1RGTW92ZShyZXNwb25zZSksIFJlc291cmNlUmVzcG9uc2U6OlNhbml0aXph
dGlvblR5cGU6OkNyb3NzT3JpZ2luU2FmZSk7CiAgICAgaWYgKGlzU3luY2hyb25vdXMoKSkgewog
ICAgICAgICBtX3N5bmNocm9ub3VzTG9hZERhdGEtPnJlc3BvbnNlID0gV1RGTW92ZShyZXNwb25z
ZSk7Ci0gICAgICAgIHNlbmRSZXBseVRvU3luY2hyb25vdXNSZXF1ZXN0KCptX3N5bmNocm9ub3Vz
TG9hZERhdGEsIGVudHJ5LT5idWZmZXIoKSk7CisgICAgICAgIHNlbmRSZXBseVRvU3luY2hyb25v
dXNSZXF1ZXN0KCptX3N5bmNocm9ub3VzTG9hZERhdGEsIGVudHJ5LT5idWZmZXIoKSwgeyB9KTsK
ICAgICAgICAgY2xlYW51cChMb2FkUmVzdWx0OjpTdWNjZXNzKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0
d29ya0RhdGFUYXNrQ29jb2EuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2Ev
TmV0d29ya0RhdGFUYXNrQ29jb2EuaAppbmRleCBmYWQyNDhlOTM5NDY4NzNjMjY5YmQ5OGFkNDM0
Y2E3NDIxODAwNGEzLi40YmY0ZjBkMWExNDlmMmIxNTk0ZjAxNWUxNGExOTE0Y2E5NjAzNTQ5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRh
VGFza0NvY29hLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3
b3JrRGF0YVRhc2tDb2NvYS5oCkBAIC04NCw2ICs4NCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNl
dEgyUGluZ0NhbGxiYWNrKGNvbnN0IFVSTCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0
ZWQ8V1RGOjpTZWNvbmRzLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPiYmKT4mJikgb3ZlcnJpZGU7
CiAgICAgdm9pZCBzZXRQcmlvcml0eShXZWJDb3JlOjpSZXNvdXJjZUxvYWRQcmlvcml0eSkgb3Zl
cnJpZGU7CiAKKyAgICBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiogc291cmNlT3JpZ2lu
KCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2VPcmlnaW4uZ2V0KCk7IH0KKyAgICAKIHByaXZhdGU6
CiAgICAgTmV0d29ya0RhdGFUYXNrQ29jb2EoTmV0d29ya1Nlc3Npb24mLCBOZXR3b3JrRGF0YVRh
c2tDbGllbnQmLCBjb25zdCBOZXR3b3JrTG9hZFBhcmFtZXRlcnMmKTsKIApAQCAtMTIwLDYgKzEy
Miw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzRm9yTWFpblJlc291cmNlTmF2aWdhdGlvbkZv
ckFueUZyYW1lIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNBbHdheXNPbkxvZ2dpbmdBbGxvd2Vk
IHsgZmFsc2UgfTsKICAgICBXZWJDb3JlOjpTaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9j
a2luZyBtX3Nob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nIHsgV2ViQ29yZTo6U2hv
dWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tpbmc6Ok5vIH07CisgICAgUmVmUHRyPFdlYkNv
cmU6OlNlY3VyaXR5T3JpZ2luPiBtX3NvdXJjZU9yaWdpbjsKIH07CiAKIFdlYkNvcmU6OkNyZWRl
bnRpYWwgc2VydmVyVHJ1c3RDcmVkZW50aWFsKGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2Nv
Y29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQppbmRleCBjZmRmZTEzNjljZTZhOGU1ZmJl
M2Y2ZmE0MTE1NzczMDI5NGY3MzIzLi5iMGE4ZmY1NTg5MTFjMzA3Mjk0MWM2OTRiMWVlOTYyNzU2
OGU5YjA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05l
dHdvcmtEYXRhVGFza0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KQEAgLTMwMCw2ICszMDAsNyBAQCBOZXR3b3Jr
RGF0YVRhc2tDb2NvYTo6TmV0d29ya0RhdGFUYXNrQ29jb2EoTmV0d29ya1Nlc3Npb24mIHNlc3Np
b24sIE5ldHdvcmtEYXRhVAogICAgICwgbV9pc0Zvck1haW5SZXNvdXJjZU5hdmlnYXRpb25Gb3JB
bnlGcmFtZShwYXJhbWV0ZXJzLmlzTWFpblJlc291cmNlTmF2aWdhdGlvbkZvckFueUZyYW1lKQog
ICAgICwgbV9pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoY29tcHV0ZUlzQWx3YXlzT25Mb2dnaW5n
QWxsb3dlZChzZXNzaW9uKSkKICAgICAsIG1fc2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxv
Y2tpbmcocGFyYW1ldGVycy5zaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZykKKyAg
ICAsIG1fc291cmNlT3JpZ2luKHBhcmFtZXRlcnMuc291cmNlT3JpZ2luKQogewogICAgIGF1dG8g
cmVxdWVzdCA9IHBhcmFtZXRlcnMucmVxdWVzdDsKICAgICBhdXRvIHVybCA9IHJlcXVlc3QudXJs
KCk7CkBAIC00NjAsMTAgKzQ2MSw2IEBAIHZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OndpbGxQ
ZXJmb3JtSFRUUFJlZGlyZWN0aW9uKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmCiB7CiAgICAg
V1RGRW1pdFNpZ25wb3N0KG1fdGFzay5nZXQoKSwgIkRhdGFUYXNrIiwgInJlZGlyZWN0Iik7CiAK
LSAgICAvLyBDaGVjayBpZiB0aGUgcmVkaXJlY3RlZCB1cmwgaXMgYWxsb3dlZCB0byBhY2Nlc3Mg
dGhlIHJlZGlyZWN0aW5nIHVybCdzIHRpbWluZyBpbmZvcm1hdGlvbi4KLSAgICAvLyBGSVhNRTog
VGhpcyBzaG91bGQgbm90IHNldCBiYWNrIHRvIHRydWUgYWZ0ZXIgYW5vdGhlciBzYW1lLW9yaWdp
biByZWRpcmVjdCBvbmNlIGl0IGhhcyBiZWVuIHNldCB0byB0cnVlLgotICAgIG5ldHdvcmtMb2Fk
TWV0cmljcygpLmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QgPSAhV2ViQ29yZTo6U2VjdXJpdHlPcmln
aW46OmNyZWF0ZShyZXF1ZXN0LnVybCgpKS0+Y2FuUmVxdWVzdChyZWRpcmVjdFJlc3BvbnNlLnVy
bCgpKTsKLQogICAgIGlmIChyZWRpcmVjdFJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkgPT0gMzA3
IHx8IHJlZGlyZWN0UmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSA9PSAzMDgpIHsKICAgICAgICAg
QVNTRVJUKG1fbGFzdEhUVFBNZXRob2QgPT0gcmVxdWVzdC5odHRwTWV0aG9kKCkpOwogICAgICAg
ICBXZWJDb3JlOjpGb3JtRGF0YSogYm9keSA9IG1fZmlyc3RSZXF1ZXN0Lmh0dHBCb2R5KCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNz
aW9uQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtT
ZXNzaW9uQ29jb2EubW0KaW5kZXggYzY5NjI3ZGVlMjMxMGY1YzM0N2JhMTQ1ZGI2NGJkZWY5MjNh
MWI1NC4uMWZhZjNiNjdhOWM2MTc4YjczNjkxZWVmMDJjN2ZjMTBiNTQ1OGI2MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29h
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Np
b25Db2NvYS5tbQpAQCAtNDgsNiArNDgsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJl
cXVlc3QuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgogI2ltcG9ydCA8
V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4KKyNpbXBvcnQgPFdlYkNvcmUvVGltaW5nQWxsb3dPcmln
aW4uaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZVVSTFJlc3BvbnNlLmg+CiAjaW1wb3J0IDxw
YWwvc3BpL2NmL0NGTmV0d29ya1NQSS5oPgogI2ltcG9ydCA8d3RmL0Jsb2NrUHRyLmg+CkBAIC01
NTUsNyArNTU2LDExIEBAIHN0YXRpYyB2b2lkIHVwZGF0ZUlnbm9yZVN0cmljdFRyYW5zcG9ydFNl
Y3VyaXR5U2V0dGluZyhSZXRhaW5QdHI8TlNVUkxSZXF1ZXN0PiYKICAgICAgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwogI2VuZGlmCiAKLSAgICAgICAgbmV0d29ya0RhdGFUYXNrLT53aWxs
UGVyZm9ybUhUVFBSZWRpcmVjdGlvbihyZXNwb25zZSwgcmVxdWVzdCwgW2NvbXBsZXRpb25IYW5k
bGVyID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKSwgdGFza0lkZW50aWZpZXIsIHNo
b3VsZElnbm9yZUhTVFNdKGF1dG8mJiByZXF1ZXN0KSB7CisgICAgICAgIFdlYkNvcmU6OlJlc291
cmNlUmVzcG9uc2UgcmVzb3VyY2VSZXNwb25zZShyZXNwb25zZSk7CisgICAgICAgIGlmIChhdXRv
KiBzb3VyY2VPcmlnaW4gPSBuZXR3b3JrRGF0YVRhc2stPnNvdXJjZU9yaWdpbigpKQorICAgICAg
ICAgICAgbmV0d29ya0RhdGFUYXNrLT5uZXR3b3JrTG9hZE1ldHJpY3MoKS5pc0Nyb3NzT3JpZ2lu
V2l0aG91dFRBTyA9IG5ldHdvcmtEYXRhVGFzay0+bmV0d29ya0xvYWRNZXRyaWNzKCkuaXNDcm9z
c09yaWdpbldpdGhvdXRUQU8gfHwgIXBhc3Nlc1RpbWluZ0FsbG93T3JpZ2luQ2hlY2socmVzb3Vy
Y2VSZXNwb25zZSwgKnNvdXJjZU9yaWdpbik7CisKKyAgICAgICAgbmV0d29ya0RhdGFUYXNrLT53
aWxsUGVyZm9ybUhUVFBSZWRpcmVjdGlvbihXVEZNb3ZlKHJlc291cmNlUmVzcG9uc2UpLCByZXF1
ZXN0LCBbY29tcGxldGlvbkhhbmRsZXIgPSBtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhhbmRsZXIp
LCB0YXNrSWRlbnRpZmllciwgc2hvdWxkSWdub3JlSFNUU10oYXV0byYmIHJlcXVlc3QpIHsKICNp
ZiAhTE9HX0RJU0FCTEVECiAgICAgICAgICAgICBMT0coTmV0d29ya1Nlc3Npb24sICIlbGx1IHdp
bGxQZXJmb3JtSFRUUFJlZGlyZWN0aW9uIGNvbXBsZXRpb25IYW5kbGVyICglcykiLCB0YXNrSWRl
bnRpZmllciwgcmVxdWVzdC51cmwoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKICNlbHNlCkBA
IC05MTUsNyArOTIwLDEwIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBwcm9jZXNzU2VydmVyVHJ1c3RF
dmFsdWF0aW9uKE5ldHdvcmtTZXNzaW9uQ29jb2EmIHNlc3Npb24sIFNlCiAgICAgICAgIC8vIGFs
bCB0aGUgZmllbGRzIHdoZW4gc2VuZGluZyB0aGUgcmVzcG9uc2UgdG8gdGhlIFdlYkNvbnRlbnQg
cHJvY2VzcyBvdmVyIElQQy4KICAgICAgICAgcmVzb3VyY2VSZXNwb25zZS5kaXNhYmxlTGF6eUlu
aXRpYWxpemF0aW9uKCk7CiAKLSAgICAgICAgcmVzb3VyY2VSZXNwb25zZS5zZXREZXByZWNhdGVk
TmV0d29ya0xvYWRNZXRyaWNzKFdlYkNvcmU6OmNvcHlUaW1pbmdEYXRhKHRhc2tNZXRyaWNzLCBu
ZXR3b3JrRGF0YVRhc2stPm5ldHdvcmtMb2FkTWV0cmljcygpLmhhc0Nyb3NzT3JpZ2luUmVkaXJl
Y3QpKTsKKyAgICAgICAgaWYgKGF1dG8qIHNvdXJjZU9yaWdpbiA9IG5ldHdvcmtEYXRhVGFzay0+
c291cmNlT3JpZ2luKCkpCisgICAgICAgICAgICBuZXR3b3JrRGF0YVRhc2stPm5ldHdvcmtMb2Fk
TWV0cmljcygpLmlzQ3Jvc3NPcmlnaW5XaXRob3V0VEFPID0gbmV0d29ya0RhdGFUYXNrLT5uZXR3
b3JrTG9hZE1ldHJpY3MoKS5pc0Nyb3NzT3JpZ2luV2l0aG91dFRBTyB8fCAhcGFzc2VzVGltaW5n
QWxsb3dPcmlnaW5DaGVjayhyZXNvdXJjZVJlc3BvbnNlLCAqc291cmNlT3JpZ2luKTsKKworICAg
ICAgICByZXNvdXJjZVJlc3BvbnNlLnNldERlcHJlY2F0ZWROZXR3b3JrTG9hZE1ldHJpY3MoV2Vi
Q29yZTo6Y29weVRpbWluZ0RhdGEodGFza01ldHJpY3MsIG5ldHdvcmtEYXRhVGFzay0+bmV0d29y
a0xvYWRNZXRyaWNzKCkuaXNDcm9zc09yaWdpbldpdGhvdXRUQU8pKTsKIAogICAgICAgICBuZXR3
b3JrRGF0YVRhc2stPmRpZFJlY2VpdmVSZXNwb25zZShXVEZNb3ZlKHJlc291cmNlUmVzcG9uc2Up
LCBuZWdvdGlhdGVkTGVnYWN5VExTLCBbY29tcGxldGlvbkhhbmRsZXIgPSBtYWtlQmxvY2tQdHIo
Y29tcGxldGlvbkhhbmRsZXIpLCB0YXNrSWRlbnRpZmllcl0oV2ViQ29yZTo6UG9saWN5QWN0aW9u
IHBvbGljeUFjdGlvbikgewogI2lmICFMT0dfRElTQUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrRGF0YVRhc2tTb3VwLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrRGF0YVRhc2tTb3VwLmNwcAppbmRl
eCA0NTc4MDc2MDVkNzgxYmUzMzQ4OTczNTc4NDlmMDBmNGMwZjVhYjVhLi5jYWU2ZjZmZTc5NzIz
NGFjNWM5YzA0MzI4MGU5Mjc4NjBiOGE4MDgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya0RhdGFUYXNrU291cC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRhVGFza1NvdXAuY3BwCkBAIC04NjEs
OCArODYxLDggQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tTb3VwOjpjb250aW51ZUhUVFBSZWRpcmVj
dGlvbigpCiAgICAgICAgIHJlZGlyZWN0ZWRVUkwuc2V0RnJhZ21lbnRJZGVudGlmaWVyKHJlcXVl
c3QudXJsKCkuZnJhZ21lbnRJZGVudGlmaWVyKCkpOwogICAgIHJlcXVlc3Quc2V0VVJMKHJlZGly
ZWN0ZWRVUkwpOwogCi0gICAgLy8gQ2hlY2sgaWYgdGhlIHJlZGlyZWN0ZWQgdXJsIGlzIGFsbG93
ZWQgdG8gYWNjZXNzIHRoZSByZWRpcmVjdGluZyB1cmwncyB0aW1pbmcgaW5mb3JtYXRpb24uCi0g
ICAgbV9uZXR3b3JrTG9hZE1ldHJpY3MuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCA9ICFTZWN1cml0
eU9yaWdpbjo6Y3JlYXRlKG1fY3VycmVudFJlcXVlc3QudXJsKCkpLT5jYW5SZXF1ZXN0KHJlcXVl
c3QudXJsKCkpOworICAgIC8vIEZJWE1FOiBDaGVjayBpZiB0aGUgcmVkaXJlY3RlZCB1cmwgaXMg
YWxsb3dlZCB0byBhY2Nlc3MgdGhlIHJlZGlyZWN0aW5nIHVybCdzIHRpbWluZyBpbmZvcm1hdGlv
bi4KKyAgICAvLyBUaGlzIHdhcyBkb25lIG9uIENvY29hIHBsYXRmb3JtcyBpbiBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2Njc4CiAKICAgICAvLyBDbGVhciB0aGUg
dXNlciBhZ2VudCB0byBlbnN1cmUgYSBuZXcgb25lIGlzIGNvbXB1dGVkLgogICAgIGF1dG8gdXNl
ckFnZW50ID0gcmVxdWVzdC5odHRwVXNlckFnZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L1dlYkNvcmVTdXBwb3J0L1BpbmdIYW5kbGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvV2ViQ29yZVN1cHBvcnQvUGluZ0hhbmRsZS5oCmluZGV4IDA5MjljZWY5Nzg5YzBjY2YxMWEz
ZTk0MTBmNWRlNmZmY2FmZWJhNjAuLjQyYjc1YzFmODdhNTVmNzI2OTYyYzE0NzRhYmJlNjdkYjRk
M2I1Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvV2ViQ29yZVN1cHBvcnQvUGlu
Z0hhbmRsZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvV2ViQ29yZVN1cHBvcnQvUGluZ0hh
bmRsZS5oCkBAIC01MCw3ICs1MCw3IEBAIHB1YmxpYzoKICAgICAgICAgYm9vbCBkZWZlcnNMb2Fk
aW5nID0gZmFsc2U7CiAgICAgICAgIGJvb2wgc2hvdWxkQ29udGVudFNuaWZmID0gZmFsc2U7CiAg
ICAgICAgIGJvb2wgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYgPSB0cnVlOwotICAgICAgICBt
X2hhbmRsZSA9IFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpjcmVhdGUobmV0d29ya2luZ0NvbnRl
eHQsIHJlcXVlc3QsIHRoaXMsIGRlZmVyc0xvYWRpbmcsIHNob3VsZENvbnRlbnRTbmlmZiwgc2hv
dWxkQ29udGVudEVuY29kaW5nU25pZmYpOworICAgICAgICBtX2hhbmRsZSA9IFdlYkNvcmU6OlJl
c291cmNlSGFuZGxlOjpjcmVhdGUobmV0d29ya2luZ0NvbnRleHQsIHJlcXVlc3QsIHRoaXMsIGRl
ZmVyc0xvYWRpbmcsIHNob3VsZENvbnRlbnRTbmlmZiwgc2hvdWxkQ29udGVudEVuY29kaW5nU25p
ZmYsIG51bGxwdHIpOwogCiAgICAgICAgIC8vIElmIHRoZSBzZXJ2ZXIgbmV2ZXIgcmVzcG9uZHMs
IHRoaXMgb2JqZWN0IHdpbGwgaGFuZyBhcm91bmQgZm9yZXZlci4KICAgICAgICAgLy8gU2V0IGEg
dmVyeSBnZW5lcm91cyB0aW1lb3V0LCBqdXN0IGluIGNhc2UuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVk
dWxlci5jcHAKaW5kZXggOTFjODNhMDQzZjI3MzVhOTcwNDZmMWQzMjM4ZjBlZmFhZjNiNjM3ZS4u
N2RjZmUwYjg3OWNhODU0NTY5NjgzN2VlYzdjYTg5MGY5OThhOTkxZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VM
b2FkU2NoZWR1bGVyLmNwcApAQCAtMTA5LDcgKzEwOSw5IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2Fk
U2NoZWR1bGVyOjpsb2FkUmVzb3VyY2UoRnJhbWUmIGZyYW1lLCBDYWNoZWRSZXNvdXJjZSYgcmVz
b3VyCiAKIHZvaWQgV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJv
bm91c2x5KEZyYW1lTG9hZGVyJiBmcmFtZUxvYWRlciwgdW5zaWduZWQgbG9uZywgY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBDbGllbnRDcmVkZW50aWFsUG9saWN5LCBjb25zdCBGZXRj
aE9wdGlvbnMmIG9wdGlvbnMsIGNvbnN0IEhUVFBIZWFkZXJNYXAmLCBSZXNvdXJjZUVycm9yJiBl
cnJvciwgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFZlY3Rvcjx1aW50OF90PiYgZGF0YSkK
IHsKLSAgICBSZXNvdXJjZUhhbmRsZTo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShmcmFtZUxv
YWRlci5uZXR3b3JraW5nQ29udGV4dCgpLCByZXF1ZXN0LCBvcHRpb25zLmNyZWRlbnRpYWxzID09
IEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHM6Ok9taXQgPyBTdG9yZWRDcmVkZW50aWFsc1BvbGlj
eTo6RG9Ob3RVc2UgOiBTdG9yZWRDcmVkZW50aWFsc1BvbGljeTo6VXNlLCBlcnJvciwgcmVzcG9u
c2UsIGRhdGEpOworICAgIGF1dG8qIGRvY3VtZW50ID0gZnJhbWVMb2FkZXIuZnJhbWUoKS5kb2N1
bWVudCgpOworICAgIGF1dG8qIHNvdXJjZU9yaWdpbiA9IGRvY3VtZW50ID8gJmRvY3VtZW50LT5z
ZWN1cml0eU9yaWdpbigpIDogbnVsbHB0cjsKKyAgICBSZXNvdXJjZUhhbmRsZTo6bG9hZFJlc291
cmNlU3luY2hyb25vdXNseShmcmFtZUxvYWRlci5uZXR3b3JraW5nQ29udGV4dCgpLCByZXF1ZXN0
LCBvcHRpb25zLmNyZWRlbnRpYWxzID09IEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHM6Ok9taXQg
PyBTdG9yZWRDcmVkZW50aWFsc1BvbGljeTo6RG9Ob3RVc2UgOiBTdG9yZWRDcmVkZW50aWFsc1Bv
bGljeTo6VXNlLCBzb3VyY2VPcmlnaW4sIGVycm9yLCByZXNwb25zZSwgZGF0YSk7CiB9CiAKIHZv
aWQgV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpwYWdlTG9hZENvbXBsZXRlZChQYWdlJikKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCAzZDFhZTNiYzAwY2U0OWU3YjRiMTM3ODI4YTJlODVjMGUzYTAyMjQ4Li41MDYxZGYzN2Yx
NmZhYThkMDVhMDM0NDk4MjI1ZTg4ZjkwZGE4OTQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MjEtMDYtMDQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKwor
ICAgICAgICBNb3ZlIFRpbWluZy1BbGxvdy1PcmlnaW4gY2hlY2tzIHRvIHRoZSBuZXR3b3JrIHBy
b2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NjY3OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDUyMjc3ODg+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorCiAy
MDIxLTA2LTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgSW1wbGVtZW50IG9mZi1ieS1kZWZhdWx0IGV4cGVyaW1lbnRhbCBmZWF0dXJlIGZv
ciBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLnRyYW5zZmVyU2l6ZSwgZW5jb2RlZEJvZHlTaXpl
LCBhbmQgZGVjb2RlZEJvZHlTaXplCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBk
ZGNhOGMyNjE0ZjFiY2Q2YTViZTc3ZGY3NjM3YzJkMDQ0OGViOTJkLi45ZGJkMzNhMjMxMjgwYTFk
NjRlOTk1OWFiYTAwOTdkZjQ1OGEzMTBhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNTYgQEAKKzIwMjEtMDYtMDQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0
ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBNb3ZlIFRpbWluZy1BbGxvdy1PcmlnaW4gY2hl
Y2tzIHRvIHRoZSBuZXR3b3JrIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyNjY3OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDUyMjc3
ODg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL0NvZGluZ0NvbnZlbnRpb25zLm1kOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1NPLVhP
LVNPLXJlZGlyZWN0LWNoYWluLXRhby5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU08tWE8tU08tcmVkaXJlY3Qt
Y2hhaW4tdGFvLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvU3ludGhldGljUmVzcG9uc2UucHk6CisgICAgICAgIChtYWluKToK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1tYXRjaC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvVEFPLW1hdGNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW51bGwtb3BhcXVlLW9yaWdpbi1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFP
LW51bGwtb3BhcXVlLW9yaWdpbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5zLWNyb3Nzb3JpZ2lu
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9UQU8tcG9ydC1taXNtYXRjaC1tZWFucy1jcm9zc29yaWdpbi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL19faW5pdF9f
LnB5OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2J1ZmZlci1mdWxsLWFkZC1hZnRlci1mdWxsLWV2ZW50LWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFkZC1hZnRl
ci1mdWxsLWV2ZW50Lmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9idWZmZXItZnVsbC1hZGQtZW50cmllcy1kdXJpbmctY2FsbGJhY2stZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVy
LWZ1bGwtYWRkLWVudHJpZXMtZHVyaW5nLWNhbGxiYWNrLXRoYXQtZHJvcC5odG1sOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWVu
dHJpZXMtZHVyaW5nLWNhbGxiYWNrLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtdGhlbi1jbGVhci1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVs
bC1hZGQtdGhlbi1jbGVhci5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtZGVjcmVhc2UtYnVmZmVyLWR1cmluZy1jYWxsYmFjay5o
dG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVy
LWZ1bGwtaW5jcmVhc2UtYnVmZmVyLWR1cmluZy1jYWxsYmFjay1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbmNy
ZWFzZS1idWZmZXItZHVyaW5nLWNhbGxiYWNrLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbnNwZWN0LWJ1ZmZlci1kdXJpbmct
Y2FsbGJhY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5zcGVjdC1idWZmZXItZHVyaW5nLWNhbGxiYWNrLmh0
bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXIt
ZnVsbC1zZXQtdG8tY3VycmVudC1idWZmZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc2V0LXRvLWN1cnJlbnQt
YnVmZmVyLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9idWZmZXItZnVsbC1zdG9yZS1hbmQtY2xlYXItZHVyaW5nLWNhbGxiYWNrLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1m
dWxsLXN0b3JlLWFuZC1jbGVhci1kdXJpbmctY2FsbGJhY2suaHRtbDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXRoZW4taW5jcmVhc2Vk
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL2J1ZmZlci1mdWxsLXRoZW4taW5jcmVhc2VkLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC13aGVuLXBvcHVsYXRlLWVudHJp
ZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvYnVmZmVyLWZ1bGwtd2hlbi1wb3B1bGF0ZS1lbnRyaWVzLmh0bWw6CisgICAgICAgIEFs
bCB0aGVzZSBidWZmZXItZnVsbCB0ZXN0cyBzdGFydCBmYWlsaW5nIHdoZW4gSSB1cGRhdGUgdGhl
bS4KKyAgICAgICAgVGhhdCBpcyBhbiB1bnJlbGF0ZWQgYnVnLiAgRmlyZWZveCBoYXMgdGhlIHNh
bWUgYnVnLCBhbmQgd2UgaGFkIHRoZSBzYW1lIGJ1ZyBiZWZvcmUgYW5kIGFmdGVyIHRoaXMgY2hh
bmdlLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVj
dGlvbi1yZXVzZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1yZXVzZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2Uu
aHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHR0cHMuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3Rh
cnQtZW5kLXRpbWUtd2l0aC1yZWRpcmVjdHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1zdGFydC1l
bmQtdGltZS13aXRoLXJlZGlyZWN0cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1zdGF0dXMtY29kZXMuaHRtbDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2RvY3VtZW50LWRv
bWFpbi1uby1pbXBhY3Qtb3BlbmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9kb2N1bWVudC1kb21haW4tbm8taW1wYWN0
LW9wZW5lci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2VudHJ5LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2VudHJ5LWF0dHJpYnV0ZXMuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9m
ZXRjaC1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZldGNoLWNyb3NzLW9y
aWdpbi1yZWRpcmVjdC5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZvbnQtdGltZXN0YW1wcy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZm9udC10aW1l
c3RhbXBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvaWZyYW1lLWZhaWxlZC1jb21taXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2lmcmFtZS1mYWlsZWQtY29t
bWl0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvaW5pdGlhdG9yLXR5cGUtZm9yLXNjcmlwdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaW5pdGlhdG9yLXR5cGUt
Zm9yLXNjcmlwdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL25leHRIb3BQcm90b2NvbC1pcy10YW8tcHJvdGVjdGVkLmh0dHBzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9uZXh0SG9wUHJvdG9jb2wtaXMtdGFvLXByb3RlY3RlZC5odHRwcy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3Qt
Zm91bmQtYWZ0ZXItVEFPLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5v
dC1mb3VuZC1hZnRlci1UQU8tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3Vu
ZC1hZnRlci1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQt
YWZ0ZXItY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVkaXJlY3RzLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZWRpcmVj
dHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZS1pZ25vcmUtZGF0YS11cmwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlLWlnbm9yZS1k
YXRhLXVybC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlX1RBT19jcm9zc19vcmlnaW5fcmVkaXJlY3RfY2hhaW4tZXhwZWN0
ZWQudHh0OgorICAgICAgICBUaGlzIGFwcGFyZW50IHJlZ3Jlc3Npb24gaXMgYWN0dWFsbHkgYSBw
cm9ncmVzc2lvbi4KKyAgICAgICAgV2hlbiB0aGlzIHRlc3QgaXMgcnVuIGZyb20gb3VyIHRlc3Qg
aW5mcmFzdHJ1Y3R1cmUsIENocm9tZSBhbmQgRmlyZWZveCBmYWlsIHRoZSBzYW1lIHRlc3RzIHRo
YXQgeW91IHNlZSBub3cgZmFpbGluZyBoZXJlLAorICAgICAgICBpbmRpY2F0aW5nIHRoYXQgc29t
ZXRoaW5nIGlzIHdyb25nIHdpdGggb3VyIHRlc3QgaW5mcmFzdHJ1Y3R1cmUuICBXaGVuIHJ1biBv
biB3cHQubGl2ZSwgYWxsIGJyb3dzZXJzIHBhc3MgdGhpcyB0ZXN0CisgICAgICAgIGFmdGVyIHRo
aXMgY2hhbmdlLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VfY2FjaGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLmh0bWw6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9uZXN0ZWRfZGVk
aWNhdGVkX3dvcmtlci53b3JrZXIuanM6CisgICAgICAgIChhc3luY190ZXN0KToKKyAgICAgICAg
KGFzeW5jX3Rlc3QuYXN5bmMgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfdGltaW5nX2NvbnRlbnRfbGVuZ3RoLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZV90aW1pbmdfY29udGVudF9sZW5ndGguaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvMjAwX2Vt
cHR5LmFzaXM6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL1RBT1Jlc3BvbnNlLnB5OgorICAgICAgICAobWFpbik6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvYWxsX3Jlc291
cmNlX3R5cGVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvcmVzb3VyY2VzL2J1ZmZlci1mdWxsLXV0aWxpdGllcy5qczoKKyAgICAgICAg
KGNvbnN0LndhaXRGb3JOZXh0VGFzayk6CisgICAgICAgIChjb25zdC5mb3JjZUJ1ZmZlckZ1bGxF
dmVudC5hc3luYyBjbGVhckJ1ZmZlckFuZFNldFNpemUpOgorICAgICAgICAoY29uc3QuZm9yY2VC
dWZmZXJGdWxsRXZlbnQpOgorICAgICAgICAoY29uc3QuZmlsbFVwVGhlQnVmZmVyV2l0aFR3b1Jl
c291cmNlcy5hc3luYyBjbGVhckJ1ZmZlckFuZFNldFNpemUpOgorICAgICAgICAoYXN5bmMgY29u
c3QuZmlsbFVwVGhlQnVmZmVyV2l0aFNpbmdsZVJlc291cmNlLmFzeW5jIGNsZWFyQnVmZmVyQW5k
U2V0U2l6ZSk6CisgICAgICAgIChhc3luYyBjb25zdCk6CisgICAgICAgIChsZXQuYXBwZW5kU2Ny
aXB0KTogRGVsZXRlZC4KKyAgICAgICAgKGxldC53YWl0Rm9yTmV4dFRhc2spOiBEZWxldGVkLgor
ICAgICAgICAobGV0LndhaXRVbnRpbENvbmRpdGlvbklzTWV0LmNvbmQucmV0dXJuLm5ldy5Qcm9t
aXNlLnJlc29sdmUubGV0LmNoZWNrQ29uZGl0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKGxldC53
YWl0Rm9yRXZlbnRUb0ZpcmUucmV0dXJuLm5ldy5Qcm9taXNlKTogRGVsZXRlZC4KKyAgICAgICAg
KGxldC53YWl0Rm9yRXZlbnRUb0ZpcmUpOiBEZWxldGVkLgorICAgICAgICAobGV0LmZpbGxVcFRo
ZUJ1ZmZlcldpdGhUd29SZXNvdXJjZXMuYXN5bmMgc3JjKTogRGVsZXRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jYWNoZWFibGUtYW5k
LXZhbGlkYXRlZC5weTogQWRkZWQuCisgICAgICAgIChtYWluKToKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jb25uZWN0aW9uLXJldXNlLXRl
c3QuanM6IEFkZGVkLgorICAgICAgICAoYXR0cmlidXRlX3Rlc3QuYXN5bmMgY2xpZW50KToKKyAg
ICAgICAgKGF0dHJpYnV0ZV90ZXN0KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NzcC1k
ZWZhdWx0LW5vbmUuaHRtbC5oZWFkZXJzOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVudC1kb21haW4tbm8taW1wYWN0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VzL2RvY3VtZW50LXJlZnJlc2hlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVudC10aGF0
LXJlZnJlc2hlcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlcy9lbWJlZC1yZWZyZXNoLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2dyZWVuLWZy
YW1lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL2dyZWVuLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2dyZWVuLmh0bWwuaGVhZGVyczogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZXMvZ3ppcF94bWwucHk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvaWZyYW1lLXJlZnJlc2guaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvaWZyYW1lLXJlbG9hZC1U
QU8uc3ViLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9yZXNvdXJjZXMvbXVsdGlfcmVkaXJlY3QucHk6CisgICAgICAgIChtYWluKToKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9vYmplY3QtcmVm
cmVzaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL3Jlc291cmNlcy9yZWRpcmVjdC1jb3JzLnB5OiBBZGRlZC4KKyAgICAgICAgKG1haW4p
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vz
L3Jlc291cmNlLXRpbWluZy1jb250ZW50LWxlbmd0aC5weTogQWRkZWQuCisgICAgICAgIChtYWlu
KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
cy9yZXNvdXJjZV90aW1pbmdfdGVzdDAueG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3NpemVzLWhlbHBlci5qczogQWRkZWQuCisgICAg
ICAgIChjb25zdC5jaGVja1NpemVGaWVsZHMpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3N0YXR1cy1jb2RlLnB5OgorICAgICAgICAobWFp
bik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzOgorICAgICAgICAodGVzdF9uYW1lc3BhY2UpOgorICAg
ICAgICAodGVzdF9hdHRyaWJ1dGVfZXhpc3RzKToKKyAgICAgICAgKHRlc3RfZW51bSk6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvd2VicGVy
ZnRlc3RoYXJuZXNzZXh0ZW5zaW9uLmpzOgorICAgICAgICAodGVzdF9tZXRob2RfZXhpc3RzKToK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NhbWUtb3JpZ2lu
LWZyb20tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zYW1lLW9yaWdpbi1mcm9tLWNy
b3NzLW9yaWdpbi1yZWRpcmVjdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLWNhY2hlLmFueS5qczogQWRkZWQuCisgICAgICAg
IChjb25zdC5hY2N1bXVsYXRlRW50cmllcyk6CisgICAgICAgIChjb25zdC5jaGVja1Jlc291cmNl
U2l6ZXMubGlzdC5sZXQuZW50cnkub2YuZW50cmllcy5lbHNlKToKKyAgICAgICAgKHByb21pc2Vf
dGVzdCk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXpl
cy1yZWRpcmVjdC1pbWctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLXJlZGlyZWN0LWltZy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLXJlZGly
ZWN0LmFueS5qczogQWRkZWQuCisgICAgICAgIChjb25zdC5hY2N1bXVsYXRlRW50cnkpOgorICAg
ICAgICAoY29uc3QuY2hlY2tSZXNvdXJjZVNpemVzKToKKyAgICAgICAgKGNvbnN0LnJlZGlyZWN0
VXJsKToKKyAgICAgICAgKHByb21pc2VfdGVzdCk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9zdGF0dXMtY29kZXMtY3JlYXRlLWVudHJ5Lmh0bWw6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy90ZXN0X3Jlc291cmNlX3Rp
bWluZy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy90ZXN0X3Jlc291cmNlX3RpbWluZy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy93b3JrZXJTdGFydC10YW8tcHJv
dGVjdGVkLmh0dHBzLmh0bWw6CisKIDIwMjEtMDYtMDQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hy
aXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBJbXBsZW1lbnQgb2ZmLWJ5LWRlZmF1bHQg
ZXhwZXJpbWVudGFsIGZlYXR1cmUgZm9yIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcudHJhbnNm
ZXJTaXplLCBlbmNvZGVkQm9keVNpemUsIGFuZCBkZWNvZGVkQm9keVNpemUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zCmluZGV4IGZmN2NmOGY3Y2I4OTY3ZDg5OGVhNzA2ZmJmM2MwMzE5YTI4YTU5NTcuLmMzYTZi
MjE1Y2RjNjkyZWNiOWVmYjBlMTg1Mjg3ZDJkZTY0NjNhMjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtOTMxLDYgKzkzMSw5IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnRz
b3VyY2UvcmVxdWVzdC1jcmVkZW50aWFscy5odG0gWyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLWZyb21lbGVtZW50L2NhcHR1cmUuaHRtbCBb
IEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUt
ZnJvbWVsZW1lbnQvZW5kZWQuaHRtbCBbIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtZnJvbWVsZW1lbnQvY3JlYXRpb24uaHRtbCBbIFBhc3Mg
RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9mb250LXRpbWVzdGFtcHMuaHRtbCBbIEZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU08tWE8tU08tcmVkaXJlY3QtY2hhaW4tdGFvLmh0
dHBzLmh0bWwgWyBGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlX1RBT19jcm9zc19vcmlnaW5fcmVkaXJlY3RfY2hhaW4uaHRt
bCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE4MDI0MCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaW5nbGUtZW50cnktcGVyLXJlc291cmNlLmh0bWwg
WyBQYXNzIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE4OTkwNiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV90aW1pbmdfYnVmZmVyX2Z1bGxf
ZXZlbnR1YWxseS5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZS1yZWxvYWQtVEFPLnN1Yi5odG1sIFsgU2tpcCBdCkBA
IC0xMzgzLDE4ICsxMzg2LDE2IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3NlbmQtcmVkaXJlY3QtYm9ndXMuaHRtIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3hoci9zZW5kLXJlZGlyZWN0LXRvLWNvcnMuaHRtIFsgU2tpcCBdCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlZGlyZWN0LXRvLW5vbi1jb3JzLmh0
bSBbIFNraXAgXQogCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy90ZXN0X3Jlc291cmNlX3RpbWluZy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Rlc3RfcmVzb3VyY2VfdGlt
aW5nLmh0dHBzLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWVudHJpZXMtZHVyaW5nLWNh
bGxiYWNrLXRoYXQtZHJvcC5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1kZWNyZWFzZS1idWZmZXItZHVyaW5n
LWNhbGxiYWNrLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluY3JlYXNlLWJ1ZmZlci1kdXJpbmctY2FsbGJh
Y2suaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWVudHJpZXMtZHVyaW5nLWNhbGxiYWNrLmh0bWwgWyBT
a2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Ny
b3NzLW9yaWdpbi1zdGF0dXMtY29kZXMuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvbmVzdGVkLWNvbnRleHQtbmF2aWdhdGlvbnMt
ZW1iZWQuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvbmVzdGVkLWNvbnRleHQtbmF2aWdhdGlvbnMtaWZyYW1lLmh0bWwgWyBTa2lw
IF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL25lc3Rl
ZC1jb250ZXh0LW5hdmlnYXRpb25zLW9iamVjdC5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9uZXN0ZWRfZGVkaWNh
dGVkX3dvcmtlci53b3JrZXIuaHRtbCBbIFNraXAgXQogCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9jb25uZWN0aW9uX3JldXNlLmh0bWwg
WyBGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3Jlc291cmNlX2Nvbm5lY3Rpb25fcmV1c2UuaHR0cHMuaHRtbCBbIEZhaWx1cmUgXQogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfcmVw
YXJlbnRpbmcuaHRtbCBbIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMTY4MzU3IGh0dHAvd3B0
L3Jlc291cmNlLXRpbWluZy9ydC1pbml0aWF0b3JUeXBlLW1lZGlhLmh0bWwgWyBGYWlsdXJlIF0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL0NvZGluZ0NvbnZlbnRpb25zLm1kIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvQ29kaW5nQ29udmVudGlv
bnMubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMzliOGQxMzQzNWVmNDk5MTk1MzNlZjc0OTczMjZkYWMwNmJmOTY0
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL0NvZGluZ0NvbnZlbnRpb25zLm1kCkBAIC0wLDAgKzEs
NzcgQEAKK0ZvciBbUmVzb3VyY2UgVGltaW5nXVsxXSB0ZXN0cywgd2Ugd2FudCB0byBoYXZlIGEg
Y29uc2lzdGVudCBhbmQgY2xlYXIgY29kaW5nCitzdHlsZS4gVGhlIGdvYWxzIG9mIHRoaXMgc3R5
bGUgYXJlIHRvOgorKiAgIE1ha2UgaXQgZWFzaWVyIGZvciBuZXcgY29udHJpYnV0b3JzIHRvIGZp
bmQgdGhlaXIgd2F5IGFyb3VuZAorKiAgIEhlbHAgaW1wcm92ZSByZWFkYWJpbGl0eSBhbmQgbWFp
bnRhaW5hYmlsaXR5CisqICAgSGVscCB1cyB1bmRlcnN0YW5kIHdoaWNoIHBhcnRzIG9mIHRoZSBz
cGVjIGFyZSB0ZXN0ZWQgb3Igbm90CitMb3RzIG9mIHRoZSBmb2xsb3dpbmcgcnVsZXMgYXJlIGFy
Yml0cmFyeSBidXQgdGhlIHZhbHVlIGlzIHJlYWxpemVkIGluCitjb25zaXN0ZW5jeSBpbnN0ZWFk
IG9mIGFkaGVyaW5nIHRvIHRoZSAncGVyZmVjdCcgc3R5bGUuCisKK1dlIHdhbnQgdGhlIHRlc3Qg
c3VpdGUgdG8gYmUgbmF2aWdhYmxlLiBEZXZlbG9wZXJzIHNob3VsZCBiZSBhYmxlIHRvIGVhc2ls
eQorZmluZCB0aGUgZmlsZSBvciB0ZXN0IHRoYXQgaXMgcmVsZXZhbnQgdG8gdGhlaXIgd29yay4K
KyogICBUZXN0cyBzaG91bGQgYmUgYXJyYW5nZWQgaW4gZmlsZXMgYWNjb3JkaW5nIHRvIHdoaWNo
IHBpZWNlIG9mIHRoZSBzcGVjIHRoZXkKKyAgICB0ZXN0CisqICAgRmlsZXMgc2hvdWxkIGJlIG5h
bWVkIHVzaW5nIGEgY29uc2lzdGVudCBwYXR0ZXJuCisqICAgSFRNTCBmaWxlcyBzaG91bGQgaW5j
bHVkZSB1c2VmdWwgbWV0YSB0YWdzCisgICAgKiAgIGA8dGl0bGU+YCBmb3IgY29udHJvbGxpbmcg
bGFiZWxzIGluIHJlc3VsdHMgcGFnZXMKKyAgICAqICAgYDxsaW5rIHJlbD0iaGVscCI+YCB0byBw
b2ludCBhdCB0aGUgcmVsZXZhbnQgcGllY2Ugb2YgdGhlIHNwZWMKKworV2Ugd2FudCB0aGUgdGVz
dCBzdWl0ZSB0byBydW4gY29uc2lzdGVudGx5LiBGbGFreSB0ZXN0cyBhcmUgY291bnRlcnByb2R1
Y3RpdmUuCisqICAgUHJlZmVyIGBwcm9taXNlX3Rlc3RgIHRvIGBhc3luY190ZXN0YAorICAgICog
ICBOb3RlIHRoYXQgdGhlcmXigJlzIFtzdGlsbCBwb3RlbnRpYWwgZm9yIHNvbWUgY29uY3VycmVu
Y3ldWzJdOyB1c2UKKyAgICAgICAgYGFkZF9jbGVhbnVwKClgIGlmIG5lZWRlZAorCitXZSB3YW50
IHRoZSB0ZXN0cyB0byBiZSByZWFkYWJsZS4gVGVzdHMgc2hvdWxkIGJlIHdyaXR0ZW4gaW4gYSBt
b2Rlcm4gc3R5bGUKK3dpdGggcmVjdXJyaW5nIHBhdHRlcm5zLgorKiAgIDgwIGNoYXJhY3RlciBs
aW5lIGxpbWl0cyB3aGVyZSB3ZSBjYW4KKyogICBDb25zaXN0ZW50IHVzZSBvZiBhbm9ueW1vdXMg
ZnVuY3Rpb25zCisgICAgKiAgIHByZWZlcgorICAgICAgICBgYGAKKyAgICAgICAgY29uc3QgZnVu
YzEgPSBwYXJhbTEgPT4geworICAgICAgICAgIGJvZHkoKTsKKyAgICAgICAgfQorICAgICAgICBj
b25zdCBmdW5jMiA9IChwYXJhbTEsIHBhcmFtMikgPT4geworICAgICAgICAgIGJvZHkoKTsKKyAg
ICAgICAgfQorICAgICAgICBmbihwYXJhbSA9PiB7CisgICAgICAgICAgICBib2R5KCk7CisgICAg
ICAgIH0pOworICAgICAgICBgYGAKKworICAgICAgICBvdmVyCisKKyAgICAgICAgYGBgCisgICAg
ICAgIGZ1bmN0aW9uIGZ1bmMxKHBhcmFtMSkgeworICAgICAgICAgIGJvZHkoKTsKKyAgICAgICAg
fQorICAgICAgICBmdW5jdGlvbiBmdW5jMihwYXJhbTEsIHBhcmFtMikgeworICAgICAgICAgIGJv
ZHkoKTsKKyAgICAgICAgfQorICAgICAgICBmbihmdW5jdGlvbihwYXJhbSkgeworICAgICAgICAg
ICAgYm9keSgpOworICAgICAgICB9KTsKKyAgICAgICAgYGBgCisKKyogICBQcmVmZXIgYGNvbnN0
YCAob3IsIGlmIG5lZWRlZCwgYGxldGApIHRvIGB2YXJgCisqICAgQ29udGFpbiB1c2Ugb2Yg4oCY
LnN1YuKAmSBpbiBmaWxlbmFtZXMgdG8ga25vd24gaGVscGVyIHV0aWxpdGllcyB3aGVyZSBwb3Nz
aWJsZQorICAgICogICBFLmcuIHByZWZlciB1c2Ugb2YgZ2V0LWhvc3QtaW5mby5zdWIuanMgdG8g
YHt7aG9zdH19YCBvciBge3twb3J0c1swXX19YAorICAgICAgICBleHByZXNzaW9ucworKiAgIEF2
b2lkIHVzZSBvZiB3ZWJwZXJmdGVzdGhhcm5lc3NbZXh0ZW5zaW9uXS5qcyBhcyBpdOKAmXMgYSBs
YXllciBvZiBjb2duaXRpdmUKKyAgICBvdmVyaGVhZCBiZXR3ZWVuIHRlc3QgY29udGVudCBhbmQg
dGVzdCBpbnRlbnQKKyAgICAqICAgSGVscGVyIC5qcyBmaWxlcyBhcmUgc3RpbGwgZW5jb3VyYWdl
ZCB3aGVyZSBpdCBtYWtlcyBzZW5zZSBidXQgd2Ugd2FudAorICAgICAgICB0byBhdm9pZCBhIHRl
c3RpbmcgZnJhbWV3b3JrIHRoYXQgaXMgc3BlY2lmaWMgdG8gUmVzb3VyY2UgVGltaW5nIChvcgor
ICAgICAgICB3ZWIgcGVyZm9ybWFuY2UgQVBJcywgaW4gZ2VuZXJhbCkuCisqICAgUHJlZmVyIFtg
ZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3dgXVszXSB0byBjb2xsZWN0IHRlc3QgcmVzdWx0cyBmcm9t
IGVtYmVkZGVkCisgICAgaWZyYW1lcyBpbnN0ZWFkIG9mIGhhbmQtcm9sbGVkIGBwb3N0TWVzc2Fn
ZWAgYXBwcm9hY2hlcworKiAgIFVzZSB0aGUgW2Bhc3NlcnRfKmBdWzRdIGZhbWlseSBvZiBmdW5j
dGlvbnMgdG8gY2hlY2sgY29uZm9ybWFuY2UgdG8gdGhlIHNwZWMKKyAgICBidXQgdGhyb3cgZXhj
ZXB0aW9ucyBleHBsaWNpdGx5IHdoZW4gdGhlIHRlc3QgaXRzZWxmIGlzIGJyb2tlbi4KKyAgICAq
ICAgIEEgZmFpbGVkIGFzc2VydCBpbmRpY2F0ZXMgInRoZSBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0
IGNvbmZvcm0gdG8gdGhlCisgICAgICAgICBzcGVjIgorICAgICogICAgT3RoZXIgdW5jYXVnaHQg
ZXhjZXB0aW9ucyBpbmRpY2F0ZSAidGhlIHRlc3QgY2FzZSBpdHNlbGYgaGFzIGEgYnVnIgorKiAg
IFdoZXJlIHBvc3NpYmxlLCB3ZSB3YW50IHRlc3RzIHRvIGJlIHNjYWxhYmxlIC0gYWRkaW5nIGFu
b3RoZXIgdGVzdCBjYXNlCisgICAgc2hvdWxkIGJlIGFzIHNpbXBsZSBhcyBjYWxsaW5nIHRoZSB0
ZXN0cyB3aXRoIG5ldyBwYXJhbWV0ZXJzLCByYXRoZXIgdGhhbgorICAgIGNvcHlpbmcgYW4gZXhp
c3RpbmcgdGVzdCBhbmQgbW9kaWZ5aW5nIGl0LgorCitbMV06IGh0dHBzOi8vd3d3LnczLm9yZy9U
Ui9yZXNvdXJjZS10aW1pbmctMi8KK1syXTogaHR0cHM6Ly93ZWItcGxhdGZvcm0tdGVzdHMub3Jn
L3dyaXRpbmctdGVzdHMvdGVzdGhhcm5lc3MtYXBpLmh0bWwjcHJvbWlzZS10ZXN0cworWzNdOiBo
dHRwczovL3dlYi1wbGF0Zm9ybS10ZXN0cy5vcmcvd3JpdGluZy10ZXN0cy90ZXN0aGFybmVzcy1h
cGkuaHRtbCNjb25zb2xpZGF0aW5nLXRlc3RzLWZyb20tb3RoZXItZG9jdW1lbnRzCitbNF06IGh0
dHBzOi8vd2ViLXBsYXRmb3JtLXRlc3RzLm9yZy93cml0aW5nLXRlc3RzL3Rlc3RoYXJuZXNzLWFw
aS5odG1sI2xpc3Qtb2YtYXNzZXJ0aW9ucwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU08tWE8tU08tcmVkaXJl
Y3QtY2hhaW4tdGFvLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1NPLVhPLVNPLXJlZGlyZWN0LWNo
YWluLXRhby5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWY4ZDI5MDNkNTEwNTY1MGVh
OWNmNTc3NDNjYTEyMmUyNzcxYTY0NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1NPLVhPLVNPLXJl
ZGlyZWN0LWNoYWluLXRhby5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACisKK0ZB
SUwgVmVyaWZ5IHRoYXQgY3Jvc3Mgb3JpZ2luIHJlc291cmNlcycgdGltaW5ncyBhcmUgbm90IGV4
cG9zZWQgd2hlbiBzYW1lLW9yaWdpbj0+Y3Jvc3Mtb3JpZ2luPT5zYW1lLW9yaWdpbiByZWRpcmVj
dHMgaGF2ZSBubyBgVGltaW5nLUFsbG93LU9yaWdpbjpgIGhlYWRlcnMuIGFzc2VydF9lcXVhbHM6
IGRvbWFpbkxvb2t1cFN0YXJ0IHNob3VsZCBiZSAwIGV4cGVjdGVkIDAgYnV0IGdvdCA8bm9uZGV0
ZXJtaW5pc3RpYyB0ZXN0IG91dHB1dD4KK0ZBSUwgVmVyaWZ5IHRoYXQgY3Jvc3Mgb3JpZ2luIHJl
c291cmNlcycgdGltaW5ncyBhcmUgbm90IGV4cG9zZWQgd2hlbiBzYW1lLW9yaWdpbj0+Y3Jvc3Mt
b3JpZ2luPT5zYW1lLW9yaWdpbiByZWRpcmVjdHMgaGF2ZSBgVGltaW5nLUFsbG93LU9yaWdpbjpg
IGhlYWRlcnMgb25seSBvbiBzb21lIG9mIHRoZSByZXNwb25zZXMuIGFzc2VydF9lcXVhbHM6IGRv
bWFpbkxvb2t1cFN0YXJ0IHNob3VsZCBiZSAwIGV4cGVjdGVkIDAgYnV0IGdvdCA8bm9uZGV0ZXJt
aW5pc3RpYyB0ZXN0IG91dHB1dD4KK0ZBSUwgVmVyaWZ5IHRoYXQgY3Jvc3Mgb3JpZ2luIHJlc291
cmNlcycgdGltaW5ncyBhcmUgZXhwb3NlZCB3aGVuIGNyb3NzLW9yaWdpbiByZWRpcmVjdHMgaGF2
ZSBgVGltaW5nLUFsbG93LU9yaWdpbjogKmAgaGVhZGVycyBhc3NlcnRfZ3JlYXRlcl90aGFuOiBy
ZWRpcmVjdFN0YXJ0IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMCBleHBlY3RlZCBhIG51bWJlciBn
cmVhdGVyIHRoYW4gMCBidXQgZ290IDAKK1BBU1MgVmVyaWZ5IHRoYXQgY3Jvc3Mgb3JpZ2luIHJl
c291cmNlcycgdGltaW5ncyBhcmUgbm90IGV4cG9zZWQgd2hlbiBzYW1lLW9yaWdpbj0+Y3Jvc3Mt
b3JpZ2luPT5zYW1lLW9yaWdpbiByZWRpcmVjdHMgaGF2ZSBgVGltaW5nLUFsbG93LU9yaWdpbjpg
IGhlYWRlcnMgd2l0aCBhIHNwZWNpZmljIG9yaWdpbi4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU08tWE8t
U08tcmVkaXJlY3QtY2hhaW4tdGFvLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9TTy1YTy1TTy1yZWRpcmVjdC1j
aGFpbi10YW8uaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNjU2ODkxMGU0ZmU3YjYxZGM4YTg2OWRm
ZDRmY2ZmMDc1MGU3MjY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU08tWE8tU08tcmVkaXJlY3Qt
Y2hhaW4tdGFvLmh0dHBzLmh0bWwKQEAgLTAsMCArMSw2NCBAQAorPCFET0NUWVBFIEhUTUw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+VGhpcyB0ZXN0
IHZhbGlkYXRlcyByZXNvdXJjZSB0aW1pbmcgaW5mb3JtYXRpb24gZm9yIGEgc2FtZS1vcmlnaW49
PmNyb3NzLW9yaWdpbj0+c2FtZS1vcmlnaW4gcmVkaXJlY3QgY2hhaW4gd2l0aG91dCBUaW1pbmct
QWxsb3ctT3JpZ2luLjwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3
LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmctMi8jc2VjLWNyb3NzLW9yaWdpbi1yZXNvdXJjZXMi
Lz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFudHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8c2NyaXB0PgorY29uc3Qge0hUVFBTX1JFTU9URV9PUklHSU59ID0gZ2V0X2hvc3Rf
aW5mbygpOworY29uc3QgU0FNRV9PUklHSU4gPSBsb2NhdGlvbi5vcmlnaW47CisvLyBTYW1lLU9y
aWdpbiA9PiBDcm9zcy1PcmlnaW4gPT4gU2FtZS1PcmlnaW4gPT4gU2FtZS1PcmlnaW4gcmVkaXJl
Y3QgY2hhaW4KK2xldCBkZXN0VXJsID0gYCR7U0FNRV9PUklHSU59L3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvbXVsdGlfcmVkaXJlY3QucHk/YDsKK2Rlc3RVcmwgKz0gYHBhZ2Vfb3JpZ2luPSR7
U0FNRV9PUklHSU59YDsKK2Rlc3RVcmwgKz0gYCZjcm9zc19vcmlnaW49JHtIVFRQU19SRU1PVEVf
T1JJR0lOfWA7CitkZXN0VXJsICs9IGAmZmluYWxfcmVzb3VyY2U9L3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5odG1gOworCisvLyBObyBUQU8gaW4gdGhlIHJlZGly
ZWN0IGNoYWluCithdHRyaWJ1dGVfdGVzdCgKKyAgbG9hZC5pZnJhbWUsIGRlc3RVcmwsCisgIGlu
dmFyaWFudHMuYXNzZXJ0X2Nyb3NzX29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNlLAorICAiVmVy
aWZ5IHRoYXQgY3Jvc3Mgb3JpZ2luIHJlc291cmNlcycgdGltaW5ncyBhcmUgbm90IGV4cG9zZWQg
d2hlbiAiICsKKyAgInNhbWUtb3JpZ2luPT5jcm9zcy1vcmlnaW49PnNhbWUtb3JpZ2luIHJlZGly
ZWN0cyBoYXZlIG5vICIgKworICAiYFRpbWluZy1BbGxvdy1PcmlnaW46YCBoZWFkZXJzLiIpOwor
CisvLyBQYXJ0aWFsIFRBTyBpbiB0aGUgcmVkaXJlY3QgY2hhaW4KK2Rlc3RVcmwgKz0gJyZ0YW9f
c3RlcHM9Mic7CithdHRyaWJ1dGVfdGVzdCgKKyAgbG9hZC5pZnJhbWUsIGRlc3RVcmwsCisgIGlu
dmFyaWFudHMuYXNzZXJ0X2Nyb3NzX29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNlLAorICAiVmVy
aWZ5IHRoYXQgY3Jvc3Mgb3JpZ2luIHJlc291cmNlcycgdGltaW5ncyBhcmUgbm90IGV4cG9zZWQg
d2hlbiAiICsKKyAgInNhbWUtb3JpZ2luPT5jcm9zcy1vcmlnaW49PnNhbWUtb3JpZ2luIHJlZGly
ZWN0cyBoYXZlICIgKworICAiYFRpbWluZy1BbGxvdy1PcmlnaW46YCBoZWFkZXJzIG9ubHkgb24g
c29tZSBvZiB0aGUgcmVzcG9uc2VzLiIpOworCisvLyBDcm9zcy1vcmlnaW4gPT4gQ3Jvc3MtT3Jp
Z2luID0+IFNhbWUtT3JpZ2luID0+IFNhbWUtT3JpZ2luIHJlZGlyZWN0IGNoYWluLgorZGVzdFVy
bCA9IGAke0hUVFBTX1JFTU9URV9PUklHSU59L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvbXVs
dGlfcmVkaXJlY3QucHk/YDsKK2Rlc3RVcmwgKz0gYHBhZ2Vfb3JpZ2luPSR7U0FNRV9PUklHSU59
YDsKK2Rlc3RVcmwgKz0gYCZjcm9zc19vcmlnaW49JHtIVFRQU19SRU1PVEVfT1JJR0lOfWA7Citk
ZXN0VXJsICs9IGAmZmluYWxfcmVzb3VyY2U9L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvYmx1
ZS13aXRoLXRhby5wbmdgOworZGVzdFVybCArPSBgJnRhb19zdGVwcz0zYDsKKworLy8gRnVsbCBy
ZWRpcmVjdCBjaGFpbiB3aXRoIGBUQU86ICpgLgorYXR0cmlidXRlX3Rlc3QoCisgIGxvYWQuaW1h
Z2UsIGRlc3RVcmwsCisgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19lbmFibGVkX2Nyb3NzX29yaWdp
bl9yZWRpcmVjdGVkX3Jlc291cmNlLAorICAiVmVyaWZ5IHRoYXQgY3Jvc3Mgb3JpZ2luIHJlc291
cmNlcycgdGltaW5ncyBhcmUgZXhwb3NlZCB3aGVuIGNyb3NzLW9yaWdpbiAiICsKKyAgInJlZGly
ZWN0cyBoYXZlIGBUaW1pbmctQWxsb3ctT3JpZ2luOiAqYCBoZWFkZXJzIik7CisKKy8vIFRBTyB3
aXRoIGEgc3BlY2lmaWMgb3JpZ2luCitkZXN0VXJsICs9IGAmdGFvX3ZhbHVlPSR7U0FNRV9PUklH
SU59YDsKK2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLmltYWdlLCBkZXN0VXJsLAorICBpbnZhcmlh
bnRzLmFzc2VydF9jcm9zc19vcmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAgIlZlcmlmeSB0
aGF0IGNyb3NzIG9yaWdpbiByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIG5vdCBleHBvc2VkIHdoZW4g
IiArCisgICJzYW1lLW9yaWdpbj0+Y3Jvc3Mtb3JpZ2luPT5zYW1lLW9yaWdpbiByZWRpcmVjdHMg
aGF2ZSAiICsKKyAgImBUaW1pbmctQWxsb3ctT3JpZ2luOmAgaGVhZGVycyB3aXRoIGEgc3BlY2lm
aWMgb3JpZ2luLiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9TeW50aGV0aWNSZXNwb25zZS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1N5bnRoZXRpY1Jlc3BvbnNlLnB5CmluZGV4IGRj
NTdkODQ1MWY5ZjFlZWY2ODEyNzhjODc1NmQxMGI3ZWYyYWY0YjEuLjZmODg4ZjM3ODk2ZTEyNDAx
MzAxZTE4N2ViZDUxN2U5NDJhN2VjZTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1N5bnRoZXRpY1Jlc3BvbnNl
LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL1N5bnRoZXRpY1Jlc3BvbnNlLnB5CkBAIC0xLDggKzEsOSBAQAotZnJvbSBz
aXgubW92ZXMudXJsbGliLnBhcnNlIGltcG9ydCB1bnF1b3RlCitmcm9tIHVybGxpYi5wYXJzZSBp
bXBvcnQgdW5xdW90ZQogCiBmcm9tIHdwdHNlcnZlLnV0aWxzIGltcG9ydCBpc29tb3JwaGljX2Rl
Y29kZSwgaXNvbW9ycGhpY19lbmNvZGUKIAotaW1wb3J0IHNsZWVwCitpbXBvcnQgaW1wb3J0bGli
CitzbGVlcCA9IGltcG9ydGxpYi5pbXBvcnRfbW9kdWxlKCJyZXNvdXJjZS10aW1pbmcuc2xlZXAi
KQogCiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CiAgICAgaW5kZXggPSBpc29tb3JwaGlj
X2VuY29kZShyZXF1ZXN0LnJlcXVlc3RfcGF0aCkuaW5kZXgoYiI/IikKQEAgLTQzLDggKzQ0LDYg
QEAgZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgogICAgICAgICAgICAgICAgIHJlc3BvbnNl
LndyaXRlci5lbmRfaGVhZGVycygpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAg
IHN0YXR1c1NlbnQgPSBUcnVlCi0gICAgICAgIGVsaWYgYXJnID09IGIiZmx1c2giOgotICAgICAg
ICAgICAgcmVzcG9uc2Uud3JpdGVyLmZsdXNoKCkKIAogIyAgICAgICAgZWxzZToKICMgICAgICAg
ICAgICBlcnJvciAiICBJTlZBTElEIEFSR1VNRU5UICVzIiAlIGFyZwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
VEFPLW1hdGNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1tYXRjaC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMTBlNzZhODFhZjZlYjViNzVlNGVjMTIyYjI5NmFiNmFkN2VjZmNiZQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL1RBTy1tYXRjaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorCitQ
QVNTIFRoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgcGFzcyB3aGVuIHRoZSBU
aW1pbmctQWxsb3ctT3JpZ2luIGhlYWRlciB2YWx1ZSBsaXN0IGNvbnRhaW5zIGEgY2FzZS1zZW5z
aXRpdmUgbWF0Y2guCitQQVNTIFRoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwg
cGFzcyB3aGVuIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRlciB2YWx1ZSBsaXN0IGNvbnRh
aW5zIGEgd2lsZGNhcmQuCitQQVNTIFRoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdp
bGwgZmFpbCB3aGVuIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRlciB2YWx1ZSBsaXN0IGNv
bnRhaW5zIGEgbnVsbCBvcmlnaW4uCitQQVNTIFRoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3Jp
dGhtIHdpbGwgcGFzcyB3aGVuIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRlciB2YWx1ZSBs
aXN0IGNvbnRhaW5zIHRoZSBvcmlnaW4gYW5kIGEgd2lsZGNhcmQuCitQQVNTIFRoZSB0aW1pbmcg
YWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgcGFzcyB3aGVuIHRoZSBUaW1pbmctQWxsb3ctT3Jp
Z2luIGhlYWRlciB2YWx1ZSBsaXN0IGNvbnRhaW5zIG11bHRpcGxlIHdpbGRjYXJkcy4KK1BBU1Mg
VGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBwYXNzIHdoZW4gdGhlIFRpbWlu
Zy1BbGxvdy1PcmlnaW4gaGVhZGVyIHZhbHVlIGNvbnRhaW5zIG9ubHkgdGhlIG9yaWdpbi4KK1BB
U1MgVGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRp
bWluZy1BbGxvdy1PcmlnaW4gaGVhZGVyIHZhbHVlIGNvbnRhaW5zIG9ubHkgdGhlIHVwcGVyY2Fz
ZWQgb3JpZ2luLgorUEFTUyBUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIGZh
aWwgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiBoZWFkZXIgdmFsdWUgY29udGFpbnMgb25s
eSBhIHNwYWNlLgorUEFTUyBUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIGZh
aWwgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiBoZWFkZXIgdmFsdWUgY29udGFpbnMgb25s
eSBhIHdpbGRjYXJkLgorUEFTUyBUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxs
IGZhaWwgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiBoZWFkZXIgaXMgbm90IHByZXNlbnQu
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL1RBTy1tYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW1hdGNoLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYTI2NDVhNjM4YmVmMjZhNjU1ZWYyNTNmNjU1Yzk1YWM5NjA3ZmZmNQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL1RBTy1tYXRjaC5odG1sCkBAIC0wLDAgKzEsNjkgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxl
PlJlc291cmNlIFRpbWluZyBUQU8gdGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRp
dGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGluayByZWw9
ImhlbHAiCisgICAgICBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5n
LTIvI3RpbWluZy1hbGxvdy1vcmlnaW4iLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8u
c3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnktaW52YXJpYW50
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2NvbnN0IHtSRU1PVEVfT1JJR0lOfSA9IGdldF9ob3N0
X2luZm8oKTsKK2NvbnN0IHBhdGggPSBSRU1PVEVfT1JJR0lOICsgJy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL1RBT1Jlc3BvbnNlLnB5P3Rhbz0nOworCithdHRyaWJ1dGVfdGVzdChsb2FkLnho
cl9zeW5jLCBwYXRoICsgJ21hdGNoX29yaWdpbicsCisgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19w
YXNzX25vX3JlZGlyZWN0X2h0dHAsCisnVGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0g
d2lsbCBwYXNzIHdoZW4gdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gJyArCisnaGVhZGVyIHZhbHVl
IGxpc3QgY29udGFpbnMgYSBjYXNlLXNlbnNpdGl2ZSBtYXRjaC4nKTsKKworYXR0cmlidXRlX3Rl
c3QobG9hZC54aHJfc3luYywgcGF0aCArICdtYXRjaF93aWxkY2FyZCcsCisgIGludmFyaWFudHMu
YXNzZXJ0X3Rhb19wYXNzX25vX3JlZGlyZWN0X2h0dHAsCisnVGhlIHRpbWluZyBhbGxvdyBjaGVj
ayBhbGdvcml0aG0gd2lsbCBwYXNzIHdoZW4gdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gJyArCisn
aGVhZGVyIHZhbHVlIGxpc3QgY29udGFpbnMgYSB3aWxkY2FyZC4nKTsKKworYXR0cmlidXRlX3Rl
c3QobG9hZC54aHJfc3luYywgcGF0aCArICdudWxsJywKKyAgaW52YXJpYW50cy5hc3NlcnRfdGFv
X2ZhaWx1cmVfcmVzb3VyY2UsCisnVGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2ls
bCBmYWlsIHdoZW4gdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gJyArCisnaGVhZGVyIHZhbHVlIGxp
c3QgY29udGFpbnMgYSBudWxsIG9yaWdpbi4nKTsKKworYXR0cmlidXRlX3Rlc3QobG9hZC54aHJf
c3luYywgcGF0aCArICdtdWx0aScsCisgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzX25vX3Jl
ZGlyZWN0X2h0dHAsCisnVGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBwYXNz
IHdoZW4gdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gJyArCisnaGVhZGVyIHZhbHVlIGxpc3QgY29u
dGFpbnMgdGhlIG9yaWdpbiBhbmQgYSB3aWxkY2FyZC4nKTsKKworYXR0cmlidXRlX3Rlc3QobG9h
ZC54aHJfc3luYywgcGF0aCArICdtdWx0aV93aWxkY2FyZCcsCisgIGludmFyaWFudHMuYXNzZXJ0
X3Rhb19wYXNzX25vX3JlZGlyZWN0X2h0dHAsCisnVGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdv
cml0aG0gd2lsbCBwYXNzIHdoZW4gdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gJyArCisnaGVhZGVy
IHZhbHVlIGxpc3QgY29udGFpbnMgbXVsdGlwbGUgd2lsZGNhcmRzLicpOworCithdHRyaWJ1dGVf
dGVzdChsb2FkLnhocl9zeW5jLCBwYXRoICsgJ29yaWdpbicsCisgIGludmFyaWFudHMuYXNzZXJ0
X3Rhb19wYXNzX25vX3JlZGlyZWN0X2h0dHAsCisnVGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdv
cml0aG0gd2lsbCBwYXNzIHdoZW4gdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gJyArCisnaGVhZGVy
IHZhbHVlIGNvbnRhaW5zIG9ubHkgdGhlIG9yaWdpbi4nKTsKKworYXR0cmlidXRlX3Rlc3QobG9h
ZC54aHJfc3luYywgcGF0aCArICd1cHBlcmNhc2UnLAorICBpbnZhcmlhbnRzLmFzc2VydF90YW9f
ZmFpbHVyZV9yZXNvdXJjZSwKKydUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxs
IGZhaWwgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiAnICsKKydoZWFkZXIgdmFsdWUgY29u
dGFpbnMgb25seSB0aGUgdXBwZXJjYXNlZCBvcmlnaW4uJyk7CisKK2F0dHJpYnV0ZV90ZXN0KGxv
YWQueGhyX3N5bmMsIHBhdGggKyAnc3BhY2UnLAorICBpbnZhcmlhbnRzLmFzc2VydF90YW9fZmFp
bHVyZV9yZXNvdXJjZSwKKydUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIGZh
aWwgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiAnICsKKydoZWFkZXIgdmFsdWUgY29udGFp
bnMgb25seSBhIHNwYWNlLicpOworCithdHRyaWJ1dGVfdGVzdChsb2FkLnhocl9zeW5jLCBwYXRo
ICsgJ3dpbGRjYXJkJywKKyAgaW52YXJpYW50cy5hc3NlcnRfdGFvX3Bhc3Nfbm9fcmVkaXJlY3Rf
aHR0cCwKKydUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIGZhaWwgd2hlbiB0
aGUgVGltaW5nLUFsbG93LU9yaWdpbiAnICsKKydoZWFkZXIgdmFsdWUgY29udGFpbnMgb25seSBh
IHdpbGRjYXJkLicpOworCithdHRyaWJ1dGVfdGVzdChsb2FkLnhocl9zeW5jLCBwYXRoICsgJ3pl
cm8nLAorICBpbnZhcmlhbnRzLmFzc2VydF90YW9fZmFpbHVyZV9yZXNvdXJjZSwKKydUaGUgdGlt
aW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIGZhaWwgd2hlbiB0aGUgVGltaW5nLUFsbG93
LU9yaWdpbiAnICsKKydoZWFkZXIgaXMgbm90IHByZXNlbnQuJyk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1udWxsLW9wYXF1ZS1vcmlnaW4tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvVEFPLW51bGwtb3BhcXVlLW9yaWdpbi1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMmQ2YTM3ZjE0NTBlMjk5Y2ZjZjU4NTRmNjliZWMwNDkzZmMyMTRiZQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL1RBTy1udWxsLW9wYXF1ZS1vcmlnaW4tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NyBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0LCBmb3IgYSBjcm9z
cyBvcmlnaW4gcmVzb3VyY2UsIHRoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwg
c3VjY2VlZCB3aGVuIHRoZSB2YWx1ZSBvZiBUaW1pbmctQWxsb3ctT3JpZ2luIGlzIG51bGwgYW5k
IHRoZSBvcmlnaW4gaXMgYW4gb3BhcXVlIG9yaWdpbi4KKworCitQQVNTIEFuIG9wYXF1ZSBvcmln
aW4gc2hvdWxkIGJlIGF1dGhvcml6ZWQgdG8gc2VlIHJlc291cmNlIHRpbWluZ3Mgd2hlbiB0aGUg
VEFPIGhlYWRlciBpcyB0aGUgc3RyaW5nICdudWxsJworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbnVs
bC1vcGFxdWUtb3JpZ2luLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbnVsbC1vcGFxdWUtb3JpZ2luLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjU0OGE3YjlhZDQzNzQwN2VhZGVkMmM2ZWZjNDk3NGRlYzI0MmVjZAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL1RBTy1udWxsLW9wYXF1ZS1vcmlnaW4uaHRtbApAQCAtMCwwICsxLDU1
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYt
OCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmcgVEFPIC0gIm51bGwiIGFuZCBvcGFxdWUgb3Jp
Z2luPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRw
Oi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3
dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI3RpbWluZy1hbGxvdy1vcmlnaW4iLz4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCwg
Zm9yIGEgY3Jvc3Mgb3JpZ2luIHJlc291cmNlLCB0aGUgdGltaW5nIGFsbG93CitjaGVjayBhbGdv
cml0aG0gd2lsbCBzdWNjZWVkIHdoZW4gdGhlIHZhbHVlIG9mIFRpbWluZy1BbGxvdy1PcmlnaW4g
aXMgbnVsbCBhbmQKK3RoZSBvcmlnaW4gaXMgYW4gb3BhcXVlIG9yaWdpbi48L3A+Cis8ZGl2IGlk
PSJsb2ciPjwvZGl2PgorPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0Ij48L2lmcmFtZT4KKzxzY3Jp
cHQ+Citjb25zdCBvcmlnaW4gPSBnZXRfaG9zdF9pbmZvKClbIk9SSUdJTiJdOworY29uc3QgZnJh
bWVfY29udGVudCA9IGBkYXRhOnRleHQvaHRtbDt1dGY4LDxib2R5PgorICA8c2NyaXB0IHNyYz0i
JHtvcmlnaW59L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9gICsgYHNjcmlwdD4KKyAgPHNj
cmlwdD4KKyAgICBjb25zdCB1cmwgPSAiJHtvcmlnaW59L3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZXMvVEFPUmVzcG9uc2UucHk/dGFvPW51bGwiOworICAgIHByb21pc2VfdGVzdCgoKSA9PiB7IHJl
dHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICBjb25zdCBydW5f
dGVzdCA9IGVudHJ5TGlzdCA9PiB7CisgICAgICAgIGNvbnN0IGVudHJ5ID0gZW50cnlMaXN0Lmdl
dEVudHJpZXMoKVswXTsKKyAgICAgICAgY29uc3Qgc3VtID0gZW50cnkucmVkaXJlY3RTdGFydCAr
IGVudHJ5LnJlZGlyZWN0RW5kICsKKyAgICAgICAgICAgICAgICAgICAgZW50cnkuZG9tYWluTG9v
a3VwU3RhcnQgKyBlbnRyeS5kb21haW5Mb29rdXBFbmQgKworICAgICAgICAgICAgICAgICAgICBl
bnRyeS5jb25uZWN0U3RhcnQgKyBlbnRyeS5jb25uZWN0RW5kICsKKyAgICAgICAgICAgICAgICAg
ICAgZW50cnkuc2VjdXJlQ29ubmVjdGlvblN0YXJ0ICsgZW50cnkucmVxdWVzdFN0YXJ0ICsKKyAg
ICAgICAgICAgICAgICAgICAgZW50cnkucmVzcG9uc2VTdGFydCArIGVudHJ5LnRyYW5zZmVyU2l6
ZSArCisgICAgICAgICAgICAgICAgICAgIGVudHJ5LmVuY29kZWRCb2R5U2l6ZSArIGVudHJ5LmRl
Y29kZWRCb2R5U2l6ZTsKKyAgICAgICAgYXNzZXJ0X25vdF9lcXVhbHMoc3VtLCAwLCAiVGltaW5n
cyBtdXN0IGJlIG5vbi16ZXJvIik7CisgICAgICB9OworICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBu
ZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihsaXN0ID0+IHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICBydW5fdGVzdChsaXN0KTsKKyAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIH0gY2F0Y2go
ZSkgeworICAgICAgICAgIHJlamVjdChlKTsKKyAgICAgICAgfQorICAgICAgfSk7CisgICAgICBv
YnNlcnZlci5vYnNlcnZlKHsgZW50cnlUeXBlczogWyJyZXNvdXJjZSJdIH0pOworICAgICAgZmV0
Y2godXJsKTsKKyAgICB9KX0sICJBbiBvcGFxdWUgb3JpZ2luIHNob3VsZCBiZSBhdXRob3JpemVk
IHRvIHNlZSByZXNvdXJjZSB0aW1pbmdzIHdoZW4iICsKKyAgICAgICAgICIgdGhlIFRBTyBoZWFk
ZXIgaXMgdGhlIHN0cmluZyAnbnVsbCciKTsKKyAgPC9gICsgYHNjcmlwdD48L2JvZHk+YDsKKwor
ZnJhbWVDb250ZXh0LnN0eWxlID0gImRpc3BsYXk6bm9uZSIKK2ZyYW1lQ29udGV4dC5zcmMgPSBm
cmFtZV9jb250ZW50OworZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3coZnJhbWVDb250ZXh0LmNvbnRl
bnRXaW5kb3cpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9U
QU8tbnVsbC1vcGFxdWUtb3JpZ2luLnN1Yi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbnVsbC1vcGFx
dWUtb3JpZ2luLnN1Yi1leHBlY3RlZC50eHQKaW5kZXggMmVjN2UwOGEzYTdjYjhiYjgwNGVjYWI0
NmIwNjc2NjBmMDRjNmNiYi4uOTcyMzVkYzdhOTliZDI3MTVjODNlNDJhYWUwZTliZjU3ODdlMWY2
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvVEFPLW51bGwtb3BhcXVlLW9yaWdpbi5zdWItZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL1RBTy1udWxsLW9wYXF1ZS1vcmlnaW4uc3ViLWV4cGVjdGVkLnR4dApAQCAtMyw1
ICszLDUgQEAgRGVzY3JpcHRpb24KIFRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBmb3IgYSBjcm9z
cyBvcmlnaW4gcmVzb3VyY2UsIHRoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwg
c3VjY2VlZCB3aGVuIHRoZSB2YWx1ZSBvZiBUaW1pbmctQWxsb3ctT3JpZ2luIGlzIG51bGwgYW5k
IHRoZSBvcmlnaW4gaXMgYW4gb3BhcXVlIG9yaWdpbi4KIAogCi1GQUlMIFRlc3QgbnVsbCBUQU8g
dmFsdWUgd2l0aCBvcGFxdWUgb3JpZ2lucyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUEFTUyIg
YnV0IGdvdCAiRkFJTCIKK1BBU1MgVGVzdCBudWxsIFRBTyB2YWx1ZSB3aXRoIG9wYXF1ZSBvcmln
aW5zCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5zLWNyb3Nzb3JpZ2lu
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5zLWNyb3Nzb3JpZ2luLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA4YTUzMjExZjEzM2RhMzMxZWJlNWI1OWFiNWNjM2I5
Njg2MmJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLXBvcnQtbWlzbWF0Y2gtbWVhbnMtY3Jv
c3NvcmlnaW4tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorRGVzY3JpcHRpb24KKworVGhp
cyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGZvciBhIGNyb3NzIG9yaWdpbiByZXNvdXJjZSB3aXRoIGRp
ZmZlcmVudCBwb3J0cywgdGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWls
IHdoZW4gdGhlIHZhbHVlIG9mIFRpbWluZy1BbGxvdy1PcmlnaW4gdmFsdWUgaGFzIHRoZSByaWdo
dCBob3N0IGJ1dCB0aGUgd3JvbmcgcG9ydCBpbiBpdC4KKworCitGQUlMIEEgcG9ydCBtaXNtYXRj
aCBtdXN0IGZhaWwgdGhlIFRBTyBjaGVjayBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFVSTCBpcyBub3QgdmFsaWQgb3IgY29u
dGFpbnMgdXNlciBjcmVkZW50aWFscy4iCitGQUlMIEFuIGlkZW50aWNhbCBwb3J0IG11c3QgcGFz
cyB0aGUgVEFPIGNoZWNrIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVVJMIGlzIG5vdCB2YWxpZCBvciBjb250YWlucyB1c2Vy
IGNyZWRlbnRpYWxzLiIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLXBvcnQtbWlzbWF0Y2gtbWVhbnMt
Y3Jvc3NvcmlnaW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5zLWNyb3Nzb3JpZ2lu
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjEyMThkMTdhMGE0NGYwMTNhMDFhOWIxYTI4YjNhYjE5ZjkxYzkx
ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5zLWNyb3Nzb3Jp
Z2luLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+VEFPIC0gcG9ydCBtaXNtYXRjaCBt
dXN0IGZhaWwgdGhlIGNoZWNrPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29v
Z2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBo
cmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI3NlYy10aW1pbmct
YWxsb3ctb3JpZ2luIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFudHMuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdD4KKworY29uc3Qge09SSUdJTkFMX0hPU1QsIFBPUlQsIFBPUlQyfSA9IGdl
dF9ob3N0X2luZm8oKTsKKworLy8gVGhlIG1haW4gcGFnZSBpcyBiZWluZyByZXF1ZXN0ZWQgb24g
dGhlIGRlZmF1bHQgcG9ydCAoUE9SVCksIHdoaWxlIHRoZQorLy8gc3VicmVzb3VyY2Ugd2lsbCBi
ZSByZXF1ZXN0ZWQgb24gYSBzZXBhcmF0ZSBwb3J0IChQT1JUMikuIFRoZSByZXNwb25zZSB3aWxs
CisvLyBoYXZlIGEgVGltaW5nLUFsbG93LU9yaWdpbiBoZWFkZXIgdmFsdWUgd2l0aCB0aGUgc2Vj
b25kIHBvcnQgc28gdGhpcyBwYWdlJ3MKKy8vIG9yaWdpbiBzaG91bGQgbm90IGJlIGEgbWF0Y2gu
Citjb25zdCBwb3J0X21pc21hdGNoX3VybCA9IGAke2xvY2F0aW9uLnByb3RvY29sfS8vJHtPUklH
SU5BTF9IT1NUfToke1BPUlQyfWAgKworICAgICAgICAgICAgICAgICAgICAgICAgICBgL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvVEFPUmVzcG9uc2UucHk/YCArCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIGB0YW89b3JpZ2luX3BvcnRfJHtQT1JUMn1gOworYXR0cmlidXRlX3Rlc3QoCisg
IGZldGNoLCBwb3J0X21pc21hdGNoX3VybCwgaW52YXJpYW50cy5hc3NlcnRfdGFvX2ZhaWx1cmVf
cmVzb3VyY2UsCisgICJBIHBvcnQgbWlzbWF0Y2ggbXVzdCBmYWlsIHRoZSBUQU8gY2hlY2siKTsK
KworLy8gVGhlIHNhbWUgVVJMIGFzIGFib3ZlIGV4Y2VwdCB0aGUgVGltaW5nLUFsbG93LU9yaWdp
biBoZWFkZXIgd2lsbCBoYXZlIHRoZQorLy8gc2FtZSBwb3J0IGFzIHRoaXMgcGFnZSdzIG9yaWdp
bi4gVGhlcmVmb3JlLCB0aGlzIHBhZ2UncyBvcmlnaW4gd2lsbCBtYXRjaAorLy8gdGhlIFRpbWlu
Zy1BbGxvdy1PcmlnaW4gaGVhZGVyJ3MgdmFsdWUuIFRoZXJlZm9yZSwgdGhlIHN1YnJlc291cmNl
J3MgdGltaW5ncworLy8gbXVzdCBiZSBleHBvc2VkLgorY29uc3QgcG9ydF9tYXRjaF91cmwgPSBg
JHtsb2NhdGlvbi5wcm90b2NvbH0vLyR7T1JJR0lOQUxfSE9TVH06JHtQT1JUMn1gICsKKyAgICAg
ICAgICAgICAgICAgICAgICAgYC9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL1RBT1Jlc3BvbnNl
LnB5P2AgKworICAgICAgICAgICAgICAgICAgICAgICBgdGFvPW9yaWdpbl9wb3J0XyR7UE9SVH1g
OworYXR0cmlidXRlX3Rlc3QoCisgIGZldGNoLCBwb3J0X21hdGNoX3VybCwgaW52YXJpYW50cy5h
c3NlcnRfdGFvX3Bhc3Nfbm9fcmVkaXJlY3RfaHR0cCwKKyAgIkFuIGlkZW50aWNhbCBwb3J0IG11
c3QgcGFzcyB0aGUgVEFPIGNoZWNrIik7CisKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
aDE+RGVzY3JpcHRpb248L2gxPgorPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGZvciBhIGNy
b3NzIG9yaWdpbiByZXNvdXJjZSB3aXRoIGRpZmZlcmVudCBwb3J0cywKK3RoZSB0aW1pbmcgYWxs
b3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRoZSB2YWx1ZSBvZgorVGltaW5nLUFs
bG93LU9yaWdpbiB2YWx1ZSBoYXMgdGhlIHJpZ2h0IGhvc3QgYnV0IHRoZSB3cm9uZyBwb3J0IGlu
IGl0LjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL19faW5pdF9fLnB5IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvX19pbml0X18ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTY5ZGUyOWJiMmQxZDY0MzRiOGIyOWFlNzc1YWQ4
YzJlNDhjNTM5MQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWVudHJpZXMtZHVyaW5n
LWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtZW50cmllcy1kdXJpbmctY2FsbGJh
Y2suaHRtbAppbmRleCBiMzdjNDdiMjNmYjUwMjY0ODA2ODM1OTRiOTY0ZWU3MTJhYmJlNzA4Li4z
Yzg2ZTAwOGY1NGQyODQ2YjU0YmExYzhiZDA4NmU0ZWIwYTYxNGM5IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9i
dWZmZXItZnVsbC1hZGQtZW50cmllcy1kdXJpbmctY2FsbGJhY2suaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZm
ZXItZnVsbC1hZGQtZW50cmllcy1kdXJpbmctY2FsbGJhY2suaHRtbApAQCAtNiw2ICs2LDcgQEAK
IDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGlt
aW5nLyNwZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291
cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy9idWZmZXIt
ZnVsbC11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9idWZmZXItZnVsbC1hZGQtdGhlbi1jbGVhci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXIt
ZnVsbC1hZGQtdGhlbi1jbGVhci1leHBlY3RlZC50eHQKaW5kZXggODU5YjUyNTdiNTgwZWQ3ZDFm
Yjg1YmZiOGUwMTU1NDEzMWJhNDA4Ny4uOTVkMzNmYTU5OTZlZmViODYyYmExYmIyOTg5YzJiYzU2
YTIyZjhhYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLXRoZW4tY2xlYXItZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFkZC10aGVuLWNsZWFyLWV4cGVjdGVkLnR4dApA
QCAtMSwzICsxLDMgQEAKIAotUEFTUyBUZXN0IHRoYXQgaWYgdGhlIGJ1ZmZlciBpcyBjbGVhcmVk
IGFmdGVyIGVudHJpZXMgd2VyZSBhZGRlZCB0byB0aGUgc2Vjb25kYXJ5IGJ1ZmZlciwgdGhvc2Ug
ZW50cmllcyBtYWtlIGl0IGludG8gdGhlIHByaW1hcnkgb25lCitGQUlMIFRlc3QgdGhhdCBpZiB0
aGUgYnVmZmVyIGlzIGNsZWFyZWQgYWZ0ZXIgZW50cmllcyB3ZXJlIGFkZGVkIHRvIHRoZSBzZWNv
bmRhcnkgYnVmZmVyLCB0aG9zZSBlbnRyaWVzIG1ha2UgaXQgaW50byB0aGUgcHJpbWFyeSBvbmUg
YXNzZXJ0X2VxdWFsczogdGhlIGxhc3QgMyByZXNvdXJjZXMgc2hvdWxkIGJlIGluIHRoZSBidWZm
ZXIsIHNpbmNlIHRoZSBmaXJzdCBvbmUgd2FzIGNsZWFyZWQgZXhwZWN0ZWQgMyBidXQgZ290IDIK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLXRoZW4tY2xlYXIuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1
ZmZlci1mdWxsLWFkZC10aGVuLWNsZWFyLmh0bWwKaW5kZXggNzEwODUyY2VkNTVmNzE2YTM0OGNj
OWU2ODY1ZDdhOGI3MDQ4YTQ2YS4uMzJhYzU5NDgxZjk5OTgxOTAzZmE0YThmMDkzZjYwMWNmZmE3
NzE1MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLXRoZW4tY2xlYXIuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9idWZmZXItZnVsbC1hZGQtdGhlbi1jbGVhci5odG1sCkBAIC02LDYgKzYsNyBAQAogPGxp
bmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcv
I3BlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2Ut
bG9hZGVycy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2J1ZmZlci1mdWxs
LXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2J1ZmZlci1mdWxsLWluY3JlYXNlLWJ1ZmZlci1kdXJpbmctY2FsbGJhY2suaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1
ZmZlci1mdWxsLWluY3JlYXNlLWJ1ZmZlci1kdXJpbmctY2FsbGJhY2suaHRtbAppbmRleCBiNDZk
MmQ2NTY5MGE4ODY4MzdiOGVhNzYyMWYzOTI2MDgxNTUyZDk3Li5kZDEyZGQ3YWZhOWJlMThiYmRl
NDY0MjEyZGMwODE3Nzk2OGRhN2Q2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbmNyZWFz
ZS1idWZmZXItZHVyaW5nLWNhbGxiYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5jcmVh
c2UtYnVmZmVyLWR1cmluZy1jYWxsYmFjay5odG1sCkBAIC0zLDQ2ICszLDIzIEBACiA8aGVhZCBv
bmxvYWQ+CiA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KIDx0aXRsZT5UaGlzIHRlc3QgdmFsaWRh
dGVzIGluY3JlYXNpbmcgdGhlIGJ1ZmZlciBzaXplIGluIG9ucmVzb3VyY2V0aW1pbmdidWZmZXJm
dWxsIGNhbGxiYWNrIG9mIHJlc291cmNlIHRpbWluZy48L3RpdGxlPgotPGxpbmsgcmVsPSJoZWxw
IiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1hbmNl
cmVzb3VyY2V0aW1pbmciLz4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVm
PSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRw
czovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI2RvbS1wZXJmb3JtYW5jZS1vbnJl
c291cmNldGltaW5nYnVmZmVyZnVsbCIvPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2Fk
ZXJzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRp
bGl0aWVzLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPHNjcmlwdD4KLWNvbnN0IHJl
c291cmNlX3RpbWluZ19idWZmZXJfc2l6ZSA9IDE7Ci1sZXQgZXZlbnRGaXJlZCA9IGZhbHNlOwot
Ci1zZXR1cCgoKSA9PiB7Ci0gICAgLy8gR2V0IHRoZSBicm93c2VyIGludG8gYSBjb25zaXN0ZW50
IHN0YXRlLgotICAgIGNsZWFyQnVmZmVyQW5kU2V0U2l6ZShyZXNvdXJjZV90aW1pbmdfYnVmZmVy
X3NpemUpOwotICAgIHZhciBpbmNyZWFzZSA9IGZ1bmN0aW9uKCkgewotICAgICAgICBwZXJmb3Jt
YW5jZS5zZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUocmVzb3VyY2VfdGltaW5nX2J1ZmZlcl9z
aXplICogMik7Ci0gICAgICAgIGV2ZW50RmlyZWQgPSB0cnVlOwotICAgIH0KLSAgICBwZXJmb3Jt
YW5jZS5hZGRFdmVudExpc3RlbmVyKCdyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwnLCBpbmNyZWFz
ZSk7Ci19KTsKLQotbGV0IG92ZXJmbG93VGhlQnVmZmVyID0gKCkgPT4gewotICAgIHJldHVybiBu
ZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgICAgLy8gVGhpcyByZXNvdXJjZSBvdmVyZmxv
d3MgdGhlIGVudHJ5IGJ1ZmZlciwgYW5kIGdvZXMgaW50byB0aGUgc2Vjb25kYXJ5IGJ1ZmZlci4K
LSAgICAgICAgYXBwZW5kU2NyaXB0KCdyZXNvdXJjZXMvZW1wdHlfc2NyaXB0LmpzJywgcmVzb2x2
ZSk7Ci0gICAgfSk7Ci19OwotCi1sZXQgdGVzdFRoYXRCdWZmZXJDb250YWluc1RoZVJpZ2h0UmVz
b3VyY2VzID0gKCkgPT4gewotICAgIGxldCBlbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmll
c0J5VHlwZSgncmVzb3VyY2UnKTsKLSAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAy
LAotICAgICAgICAgICAgICAgICAgJ0JvdGggZW50cmllcyBzaG91bGQgYmUgc3RvcmVkIGluIHJl
c291cmNlIHRpbWluZyBidWZmZXIgc2luY2UgaXRzIGluY3JlYXNlcyBzaXplIG9uY2UgaXQgb3Zl
cmZsb3dzLicpOwotICAgIGFzc2VydF90cnVlKGVudHJpZXNbMF0ubmFtZS5pbmNsdWRlcygnZW1w
dHkuanMnKSwgImVtcHR5LmpzIGlzIGluIHRoZSBlbnRyaWVzIGJ1ZmZlciIpOwotICAgIGFzc2Vy
dF90cnVlKGVudHJpZXNbMV0ubmFtZS5pbmNsdWRlcygnZW1wdHlfc2NyaXB0LmpzJyksICJlbXB0
eV9zY3JpcHQuanMgaXMgaW4gdGhlIGVudHJpZXMgYnVmZmVyIik7Ci19OwotCiBwcm9taXNlX3Rl
c3QoYXN5bmMgKCkgPT4gewotICAgIGF3YWl0IGZpbGxVcFRoZUJ1ZmZlcldpdGhTaW5nbGVSZXNv
dXJjZSgicmVzb3VyY2VzL2VtcHR5LmpzIik7Ci0gICAgYXdhaXQgb3ZlcmZsb3dUaGVCdWZmZXIo
KTsKLSAgICBhd2FpdCB3YWl0Rm9yRXZlbnRUb0ZpcmUoKTsKLSAgICB0ZXN0VGhhdEJ1ZmZlckNv
bnRhaW5zVGhlUmlnaHRSZXNvdXJjZXMoKTsKKyAgICBhd2FpdCBmaWxsVXBUaGVCdWZmZXJXaXRo
U2luZ2xlUmVzb3VyY2UoKTsKKyAgICBwZXJmb3JtYW5jZS5hZGRFdmVudExpc3RlbmVyKCdyZXNv
dXJjZXRpbWluZ2J1ZmZlcmZ1bGwnLCAoKSA9PiB7CisgICAgICAgIHBlcmZvcm1hbmNlLnNldFJl
c291cmNlVGltaW5nQnVmZmVyU2l6ZSgyKTsKKyAgICB9KTsKKyAgICBhd2FpdCBsb2FkLnNjcmlw
dChzY3JpcHRSZXNvdXJjZXNbMV0pOworICAgIGF3YWl0IGJ1ZmZlckZ1bGxGaXJlUHJvbWlzZTsK
KyAgICBjaGVja0VudHJpZXMoMik7CiB9LCAiVGVzdCB0aGF0IGluY3JlYXNpbmcgdGhlIGJ1ZmZl
ciBkdXJpbmcgdGhlIGNhbGxiYWNrIGlzIGVub3VnaCBmb3IgZW50cmllcyBub3QgdG8gYmUgZHJv
cHBlZCIpOwogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1p
bnNwZWN0LWJ1ZmZlci1kdXJpbmctY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1
bGwtaW5zcGVjdC1idWZmZXItZHVyaW5nLWNhbGxiYWNrLWV4cGVjdGVkLnR4dAppbmRleCBmMGM0
ZWZhMDMwOGNjOTkzOTdlNDliNGJlNTdiY2ZjNzRlNWZkNTJmLi43YTBlNjk3ZDRhZTAyMGMzNzlk
NDQ2M2E0ZTQ3ZDFjOTg4MWVkMzMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbnNwZWN0
LWJ1ZmZlci1kdXJpbmctY2FsbGJhY2stZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxs
LWluc3BlY3QtYnVmZmVyLWR1cmluZy1jYWxsYmFjay1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw1
IEBACiAKLVBBU1MgVGVzdCB0aGF0IGVudHJpZXMgaW4gdGhlIHNlY29uZGFyeSBidWZmZXIgYXJl
IG5vdCBleHBvc2VkIGR1cmluZyB0aGUgY2FsbGJhY2sgYW5kIGJlZm9yZSB0aGV5IGFyZSBjb3Bp
ZWQgdG8gdGhlIHByaW1hcnkgYnVmZmVyCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2Fn
ZSA9IG51bGwKKworVElNRU9VVCBUZXN0IHRoYXQgZW50cmllcyBpbiB0aGUgc2Vjb25kYXJ5IGJ1
ZmZlciBhcmUgbm90IGV4cG9zZWQgZHVyaW5nIHRoZSBjYWxsYmFjayBhbmQgYmVmb3JlIHRoZXkg
YXJlIGNvcGllZCB0byB0aGUgcHJpbWFyeSBidWZmZXIgVGVzdCB0aW1lZCBvdXQKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5zcGVjdC1idWZmZXItZHVyaW5nLWNhbGxiYWNrLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9idWZmZXItZnVsbC1pbnNwZWN0LWJ1ZmZlci1kdXJpbmctY2FsbGJhY2suaHRtbAppbmRl
eCBkNDZkNDY5MmE1NWI5Y2JlZjFhYTVmODgyZjM4ODg3ZTFmNzk0MGU5Li5kNGFiMDRjZGQzNDVj
OTUzMDRmYTZiM2VmNWJkMzc5MjJjMDVlYTJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1p
bnNwZWN0LWJ1ZmZlci1kdXJpbmctY2FsbGJhY2suaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1p
bnNwZWN0LWJ1ZmZlci1kdXJpbmctY2FsbGJhY2suaHRtbApAQCAtNiw2ICs2LDcgQEAKIDxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNw
ZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxv
YWRlcnMuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy9idWZmZXItZnVsbC11
dGlsaXRpZXMuanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9i
dWZmZXItZnVsbC1zZXQtdG8tY3VycmVudC1idWZmZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVy
LWZ1bGwtc2V0LXRvLWN1cnJlbnQtYnVmZmVyLWV4cGVjdGVkLnR4dAppbmRleCA4YzM1NjlkNjU4
ODlkMzRkMDc4ZGNhOTY3ZmI1M2ZjOWRhYTg1NDZjLi5lZTJkMDc2M2NjYTgxMjg4ZmE2ZGUzOTFk
Zjc3NjcyMWQ3MjhkYTczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zZXQtdG8tY3VycmVu
dC1idWZmZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXNldC10by1jdXJyZW50
LWJ1ZmZlci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw1IEBACiAKLVBBU1MgVGVzdCB0aGF0IGVu
dHJpZXMgYWRkZWQgYW5kIGV2ZW50IGZpcmluZyBoYXBwZW5lZCBpbiB0aGUgcmlnaHQgc2VxdWVu
Y2UKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIFRl
c3QgdGhhdCBhZGRpbmcgZW50cmllcyBhbmQgZmlyaW5nIHRoZSBidWZmZXIgZnVsbCBldmVudCBo
YXBwZW4gaW4gdGhlIHJpZ2h0IG9yZGVyLiBUZXN0IHRpbWVkIG91dAogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9idWZmZXItZnVsbC1zZXQtdG8tY3VycmVudC1idWZmZXIuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxs
LXNldC10by1jdXJyZW50LWJ1ZmZlci5odG1sCmluZGV4IDFlNTQ4NmVjMmNkZmM0NDI4NzZiYTFm
NWIyYzUyNDk4NWU3MGU1YjUuLmRjNTI3YjlhMzJmNTE0OWZkZTRiZTg2ZDNiMmFlNWQ4MWZkMmQ0
YzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXNldC10by1jdXJyZW50LWJ1ZmZlci5odG1s
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2J1ZmZlci1mdWxsLXNldC10by1jdXJyZW50LWJ1ZmZlci5odG1sCkBAIC0yLDgx
ICsyLDMzIEBACiA8aHRtbD4KIDxoZWFkPgogPG1ldGEgY2hhcnNldD0idXRmLTgiPgotPGxpbmsg
cmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vcmVzb3VyY2UtdGltaW5nLyNk
b20tcGVyZm9ybWFuY2Utc2V0cmVzb3VyY2V0aW1pbmdidWZmZXJzaXplIj4KIDx0aXRsZT5UaGlz
IHRlc3QgdmFsaWRhdGVzIHRoYXQgc2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJGdWxsIGJlaGF2ZXMg
YXBwcm9wcmlhdGVseSB3aGVuIHNldCB0byB0aGUgY3VycmVudCBidWZmZXIgbGV2ZWwuPC90aXRs
ZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdv
b2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcv
VFIvcmVzb3VyY2UtdGltaW5nLTIvI2RvbS1wZXJmb3JtYW5jZS1vbnJlc291cmNldGltaW5nYnVm
ZmVyZnVsbCI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy9idWZmZXItZnVsbC11dGlsaXRpZXMuanMiPjwvc2Ny
aXB0PgogPC9oZWFkPgogPGJvZHk+CiA8c2NyaXB0PgotbGV0IGV2ZW50RmlyZWQgPSBmYWxzZTsK
LQotbGV0IGxvYWRSYW5kb21SZXNvdXJjZSA9ICgpID0+IHsKLSAgICByZXR1cm4gZmV0Y2god2lu
ZG93LmxvY2F0aW9uLmhyZWYgKyAiPyIgKyBNYXRoLnJhbmRvbSgpKTsKLX07Ci0KLXNldHVwKCgp
ID0+IHsKLSAgICAvLyBHZXQgdGhlIGJyb3dzZXIgaW50byBhIGNvbnNpc3RlbnQgc3RhdGUuCi0g
ICAgY2xlYXJCdWZmZXJBbmRTZXRTaXplKDEwMCk7Ci0gICAgd2luZG93LnJlc3VsdCA9ICIiOwot
fSk7Ci0KLWxldCBmaWxsVXBUaGVCdWZmZXIgPSAoKSA9PiB7Ci0gICAgcmV0dXJuIG5ldyBQcm9t
aXNlKHJlc29sdmUgPT4gewotICAgICAgICAvLyBHYXRoZXIgdXAgMyBSZXNvdXJjZSBFbnRyaWVz
IHRvIGtpY2sgb2ZmIHRoZSByZXN0IG9mIHRlc3QgYmVoYXZpb3IuCi0gICAgICAgIGxldCByZXNv
dXJjZXMgPSAwOwotICAgICAgICBsZXQgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZl
cihsaXN0ID0+IHsKLSAgICAgICAgICAgIHJlc291cmNlcyArPSBsaXN0LmdldEVudHJpZXNCeVR5
cGUoInJlc291cmNlIikubGVuZ3RoOwotICAgICAgICAgICAgaWYgKHJlc291cmNlcyAhPT0gMykK
LSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0
KCk7Ci0gICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAgIH0pOwotICAgICAgICBvYnNlcnZl
ci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbInJlc291cmNlIl19KTsKLSAgICAgICAgZm9yIChsZXQg
aSA9IDA7IGkgPCAzOyArK2kpCi0gICAgICAgICAgICBsb2FkUmFuZG9tUmVzb3VyY2UoKTsKLSAg
ICB9KTsKLX07Ci0KLWxldCBzZXRCdWZmZXJTaXplID0gKCkgPT4gewotICAgIHBlcmZvcm1hbmNl
Lm9ucmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsID0gKCkgPT4gewotICAgICAgICBldmVudEZpcmVk
ID0gdHJ1ZTsKLSAgICAgICAgd2luZG93LnJlc3VsdCArPSAiRXZlbnQgRmlyZWQgd2l0aCAiICAr
IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoInJlc291cmNlIikubGVuZ3RoICsgIiBlbnRy
aWVzLiAiOworcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAgICBsZXQgcmVzdWx0ID0gJyc7
CisgICAgcGVyZm9ybWFuY2UuYWRkRXZlbnRMaXN0ZW5lcigncmVzb3VyY2V0aW1pbmdidWZmZXJm
dWxsJywgKCkgPT4geworICAgICAgICByZXN1bHQgKz0gJ0V2ZW50IEZpcmVkIHdpdGggJyAgKwor
ICAgICAgICAgICAgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKS5sZW5n
dGggKyAnIGVudHJpZXMuJzsKICAgICAgICAgcGVyZm9ybWFuY2UuY2xlYXJSZXNvdXJjZVRpbWlu
Z3MoKTsKLSAgICB9OwotICAgIHdpbmRvdy5yZXN1bHQgKz0gImJlZm9yZSBzZXRMaW1pdCgzKS4g
IjsKLSAgICBwZXJmb3JtYW5jZS5zZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUoMyk7Ci0gICAg
d2luZG93LnJlc3VsdCArPSAiYWZ0ZXIgc2V0TGltaXQoMykuICI7Ci19OwotCi1sZXQgb3ZlcmZs
b3dUaGVCdWZmZXIgPSAoKSA9PiB7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4g
ewotICAgICAgICBsb2FkUmFuZG9tUmVzb3VyY2UoKS50aGVuKCgpID0+IHsKLSAgICAgICAgICAg
IHdpbmRvdy5yZXN1bHQgKz0gImFmdGVyIGxvYWRpbmcgNHRoIHJlc291cmNlLiAiOwotICAgICAg
ICAgICAgcmVzb2x2ZSgpOwotICAgICAgICB9KTsKICAgICB9KTsKLX07Ci0KLWxldCBjaGVja1Jl
c3VsdCA9ICgpID0+IHsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkg
PT4gewotICAgICAgICBpZiAod2luZG93LnJlc3VsdCAhPSAiYmVmb3JlIHNldExpbWl0KDMpLiBh
ZnRlciBzZXRMaW1pdCgzKS4gYWZ0ZXIgbG9hZGluZyA0dGggcmVzb3VyY2UuIEV2ZW50IEZpcmVk
IHdpdGggMyBlbnRyaWVzLiAiKSB7Ci0gICAgICAgICAgICByZWplY3QoIk5vbiBtYXRjaGluZyB2
YWx1ZTogIiArIHdpbmRvdy5yZXN1bHQpOwotICAgICAgICB9Ci0gICAgICAgIGxldCBlbnRyaWVz
ID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgicmVzb3VyY2UiKTsKLSAgICAgICAgaWYg
KGVudHJpZXMubGVuZ3RoICE9IDEpIHsKLSAgICAgICAgICAgIHJlamVjdCgiTnVtYmVyIG9mIGVu
dHJpZXMgaW4gcmVzb3VyY2UgdGltaW5nIGJ1ZmZlciBpcyB1bmV4cGVjdGVkOiAiICsgZW50cmll
cy5sZW5ndGgpOwotICAgICAgICB9Ci0gICAgICAgIHJlc29sdmUoKTsKLSAgICB9KTsKLX07Ci0K
LXByb21pc2VfdGVzdChhc3luYyAoKSA9PiB7Ci0gICAgYXdhaXQgZmlsbFVwVGhlQnVmZmVyKCk7
Ci0gICAgc2V0QnVmZmVyU2l6ZSgpOwotICAgIGF3YWl0IG92ZXJmbG93VGhlQnVmZmVyKCk7Ci0g
ICAgYXdhaXQgd2FpdEZvckV2ZW50VG9GaXJlKCk7Ci0gICAgYXdhaXQgY2hlY2tSZXN1bHQoKTsK
LX0sICJUZXN0IHRoYXQgZW50cmllcyBhZGRlZCBhbmQgZXZlbnQgZmlyaW5nIGhhcHBlbmVkIGlu
IHRoZSByaWdodCBzZXF1ZW5jZSIpOworICAgIHJlc3VsdCArPSAnQmVmb3JlIGFkZGluZyBlbnRy
aWVzLiAnOworICAgIGF3YWl0IGZpbGxVcFRoZUJ1ZmZlcldpdGhUd29SZXNvdXJjZXMoKTsKKyAg
ICByZXN1bHQgKz0gJ0FmdGVyIGFkZGluZyBlbnRyaWVzLiAnOworICAgIGxvYWQuc2NyaXB0KHNj
cmlwdFJlc291cmNlc1syXSk7CisgICAgYXdhaXQgYnVmZmVyRnVsbEZpcmVQcm9taXNlOworICAg
IGFzc2VydF9lcXVhbHMocmVzdWx0LCAnQmVmb3JlIGFkZGluZyBlbnRyaWVzLiBBZnRlciBhZGRp
bmcgZW50cmllcy4gRXZlbnQgRmlyZWQgd2l0aCAyIGVudHJpZXMuJyk7CisgICAgY29uc3QgZW50
cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7CisgICAgYXNz
ZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwKKyAgICAgICAgJ051bWJlciBvZiBlbnRyaWVz
IGluIHJlc291cmNlIHRpbWluZyBidWZmZXIgaXMgdW5leHBlY3RlZCcpOworICAgIGFzc2VydF90
cnVlKGVudHJpZXNbMF0ubmFtZS5pbmNsdWRlcyhzY3JpcHRSZXNvdXJjZXNbMl0pLAorICAgICAg
ICAnVGhlIGVudHJ5IG11c3QgY29ycmVzcG9uZCB0byB0aGUgbGFzdCByZXNvdXJjZSBsb2FkZWQu
JykKK30sICJUZXN0IHRoYXQgYWRkaW5nIGVudHJpZXMgYW5kIGZpcmluZyB0aGUgYnVmZmVyIGZ1
bGwgZXZlbnQgaGFwcGVuIGluIHRoZSByaWdodCBvcmRlci4iKTsKIDwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvYnVmZmVyLWZ1bGwtc3RvcmUtYW5kLWNsZWFyLWR1cmluZy1jYWxsYmFjay1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zdG9yZS1hbmQtY2xlYXItZHVyaW5nLWNhbGxiYWNr
LWV4cGVjdGVkLnR4dAppbmRleCBiZjI3NTVmYzQyODgyYTI1MTdjYmQ0ZGIzNDFkNTVmNTFjNjI2
MjZlLi4zN2YwY2YxOTllOTQyN2RjN2E4NzMwYWU2Mzk3NDQ1NDQ1ODAzNzUzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9idWZmZXItZnVsbC1zdG9yZS1hbmQtY2xlYXItZHVyaW5nLWNhbGxiYWNrLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zdG9yZS1hbmQtY2xlYXItZHVyaW5nLWNhbGxiYWNr
LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDUgQEAKIAotUEFTUyBUZXN0IHRoYXQgZW50cmllcyBv
dmVyZmxvd2luZyB0aGUgYnVmZmVyIHRyaWdnZXIgdGhlIGJ1ZmZlciBmdWxsIGV2ZW50LCBjYW4g
YmUgc3RvcmVkLCBhbmQgZmluZCB0aGVtc2VsdmVzIGluIHRoZSBwcmltYXJ5IGJ1ZmZlciBhZnRl
ciBpdCdzIGNsZWFyZWQuCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwK
KworVElNRU9VVCBUZXN0IHRoYXQgZW50cmllcyBvdmVyZmxvd2luZyB0aGUgYnVmZmVyIHRyaWdn
ZXIgdGhlIGJ1ZmZlciBmdWxsIGV2ZW50LCBjYW4gYmUgc3RvcmVkLCBhbmQgbWFrZSB0aGVpciB3
YXkgdG8gdGhlIHByaW1hcnkgYnVmZmVyIGFmdGVyIGl0J3MgY2xlYXJlZCBpbiB0aGUgYnVmZmVy
IGZ1bGwgZXZlbnQuIFRlc3QgdGltZWQgb3V0CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxs
LXN0b3JlLWFuZC1jbGVhci1kdXJpbmctY2FsbGJhY2suaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXN0
b3JlLWFuZC1jbGVhci1kdXJpbmctY2FsbGJhY2suaHRtbAppbmRleCBmMDc5MWNiYTZiMzlmYjRi
N2UxYWYwOTA3Nzc3MmYxZWUzYjQyNzQ0Li4zZWEwNTc3MjU2Yzg1YjM1NDUzMzU4ZDE4Yzk3MGU0
ZmIzMDQ1YzRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zdG9yZS1hbmQtY2xlYXItZHVy
aW5nLWNhbGxiYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc3RvcmUtYW5kLWNsZWFyLWR1
cmluZy1jYWxsYmFjay5odG1sCkBAIC00LDUyICs0LDMzIEBACiA8bWV0YSBjaGFyc2V0PSJ1dGYt
OCIgLz4KIDx0aXRsZT5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSBiZWhhdmlvciBvZiByZWFkIGFu
ZCBjbGVhciBvcGVyYXRpb24gaW4gb25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwgY2FsbGJhY2sg
b2YgcmVzb3VyY2UgdGltaW5nLjwvdGl0bGU+CiA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Iklu
dGVsIiBocmVmPSJodHRwOi8vd3d3LmludGVsLmNvbS8iIC8+Ci08bGluayByZWw9ImhlbHAiIGhy
ZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jcGVyZm9ybWFuY2VyZXNv
dXJjZXRpbWluZyIvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcv
VFIvcmVzb3VyY2UtdGltaW5nLTIvI2RvbS1wZXJmb3JtYW5jZS1vbnJlc291cmNldGltaW5nYnVm
ZmVyZnVsbCIvPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzIj48L3Nj
cmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPHNjcmlwdD4KLWNvbnN0IHJlc291cmNlX3RpbWluZ19i
dWZmZXJfc2l6ZSA9IDE7Ci1sZXQgZ2xvYmFsX2J1ZmZlciA9IFtdOwotbGV0IGV2ZW50RmlyZWQg
PSBmYWxzZTsKLQotc2V0dXAoKCkgPT4gewotICAgIGNsZWFyQnVmZmVyQW5kU2V0U2l6ZShyZXNv
dXJjZV90aW1pbmdfYnVmZmVyX3NpemUpOwotICAgIGxldCBzdG9yZV9hbmRfY2xlYXIgPSBmdW5j
dGlvbigpIHsKLSAgICAgICAgY29uc3QgZW50cnlMaXN0ID0gcGVyZm9ybWFuY2UuZ2V0RW50cmll
c0J5VHlwZSgncmVzb3VyY2UnKTsKLSAgICAgICAgZW50cnlMaXN0LmZvckVhY2goZnVuY3Rpb24g
KGVudHJ5KSB7Ci0gICAgICAgICAgICBnbG9iYWxfYnVmZmVyLnB1c2goZW50cnkpOwotICAgICAg
ICB9KTsKLSAgICAgICAgcGVyZm9ybWFuY2UuY2xlYXJSZXNvdXJjZVRpbWluZ3MoKTsKLSAgICAg
ICAgZXZlbnRGaXJlZCA9IHRydWU7Ci0gICAgfQotICAgIHBlcmZvcm1hbmNlLmFkZEV2ZW50TGlz
dGVuZXIoJ3Jlc291cmNldGltaW5nYnVmZmVyZnVsbCcsIHN0b3JlX2FuZF9jbGVhcik7Ci19KTsK
LQotbGV0IG92ZXJmbG93VGhlQnVmZmVyID0gKCkgPT4gewotICAgIHJldHVybiBuZXcgUHJvbWlz
ZShyZXNvbHZlID0+IHsKLSAgICAgICAgLy8gVGhpcyByZXNvdXJjZSBvdmVyZmxvd3MgdGhlIGVu
dHJ5IGJ1ZmZlciwgYW5kIGdvZXMgaW50byB0aGUgc2Vjb25kYXJ5IGJ1ZmZlci4KLSAgICAgICAg
YXBwZW5kU2NyaXB0KCdyZXNvdXJjZXMvZW1wdHlfc2NyaXB0LmpzJywgcmVzb2x2ZSk7Citwcm9t
aXNlX3Rlc3QoYXN5bmMgKCkgPT4geworICAgIGF3YWl0IGZpbGxVcFRoZUJ1ZmZlcldpdGhTaW5n
bGVSZXNvdXJjZSgpOworICAgIGNvbnN0IGVudHJ5QnVmZmVyID0gW107CisgICAgcGVyZm9ybWFu
Y2UuYWRkRXZlbnRMaXN0ZW5lcigncmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsJywgKCkgPT4gewor
ICAgICAgZW50cnlCdWZmZXIucHVzaCguLi5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdy
ZXNvdXJjZScpKTsKKyAgICAgIHBlcmZvcm1hbmNlLmNsZWFyUmVzb3VyY2VUaW1pbmdzKCk7CiAg
ICAgfSk7Ci19OwotCi1sZXQgdGVzdFRoYXRCdWZmZXJDb250YWluc1RoZVJpZ2h0UmVzb3VyY2Vz
ID0gKCkgPT4gewotICAgIGxldCBlbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlw
ZSgncmVzb3VyY2UnKTsKKyAgICBsb2FkLnNjcmlwdChzY3JpcHRSZXNvdXJjZXNbMV0pOworICAg
IGF3YWl0IGJ1ZmZlckZ1bGxGaXJlUHJvbWlzZTsKKyAgICBjb25zdCBlbnRyaWVzID0gcGVyZm9y
bWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKTsKICAgICBhc3NlcnRfZXF1YWxzKGVu
dHJpZXMubGVuZ3RoLCAxLAotICAgICAgICAgICAgICAgICAgIk9ubHkgdGhlIGxhc3QgZW50cnkg
c2hvdWxkIGJlIHN0b3JlZCBpbiByZXNvdXJjZSB0aW1pbmcgYnVmZmVyIHNpbmNlIGl0J3MgY2xl
YXJlZCBvbmNlIGl0IG92ZXJmbG93cy4iKTsKLSAgICBhc3NlcnRfZXF1YWxzKGdsb2JhbF9idWZm
ZXIubGVuZ3RoLCAxLCAnMSByZXNvdXJjZSB0aW1pbmcgZW50cnkgc2hvdWxkIGJlIG1vdmVkIHRv
IGdsb2JhbCBidWZmZXIuJyk7Ci0gICAgYXNzZXJ0X3RydWUoZ2xvYmFsX2J1ZmZlclswXS5uYW1l
LmluY2x1ZGVzKCdlbXB0eS5qcycpLCAiZW1wdHkuanMgaXMgaW4gdGhlIGdsb2JhbCBidWZmZXIi
KTsKLSAgICBhc3NlcnRfdHJ1ZShlbnRyaWVzWzBdLm5hbWUuaW5jbHVkZXMoJ2VtcHR5X3Njcmlw
dC5qcycpLCAiZW1wdHlfc2NyaXB0LmpzIGlzIGluIHRoZSBlbnRyaWVzIGJ1ZmZlciIpOwotfTsK
LQotcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKLSAgICBhd2FpdCBmaWxsVXBUaGVCdWZmZXJX
aXRoU2luZ2xlUmVzb3VyY2UoInJlc291cmNlcy9lbXB0eS5qcyIpOwotICAgIGF3YWl0IG92ZXJm
bG93VGhlQnVmZmVyKCk7Ci0gICAgYXdhaXQgd2FpdEZvckV2ZW50VG9GaXJlKCk7Ci0gICAgdGVz
dFRoYXRCdWZmZXJDb250YWluc1RoZVJpZ2h0UmVzb3VyY2VzKCk7Ci19LCAiVGVzdCB0aGF0IGVu
dHJpZXMgb3ZlcmZsb3dpbmcgdGhlIGJ1ZmZlciB0cmlnZ2VyIHRoZSBidWZmZXIgZnVsbCBldmVu
dCwgY2FuIGJlIHN0b3JlZCwgYW5kIGZpbmQgdGhlbXNlbHZlcyBpbiB0aGUgcHJpbWFyeSBidWZm
ZXIgYWZ0ZXIgaXQncyBjbGVhcmVkLiIpOworICAgICAgICAiT25seSB0aGUgbGFzdCBlbnRyeSBz
aG91bGQgYmUgc3RvcmVkIGluIHJlc291cmNlIHRpbWluZyBidWZmZXIgc2luY2UgaXQncyBjbGVh
cmVkIG9uY2UgaXQgb3ZlcmZsb3dzLiIpOworICAgIGFzc2VydF90cnVlKGVudHJpZXNbMF0ubmFt
ZS5pbmNsdWRlcyhzY3JpcHRSZXNvdXJjZXNbMV0pLAorICAgICAgICBzY3JpcHRSZXNvdXJjZXNb
MV0gICsgIiBpcyBpbiB0aGUgZW50cmllcyBidWZmZXIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKGVu
dHJ5QnVmZmVyLmxlbmd0aCwgMSwKKyAgICAgICAgJzEgcmVzb3VyY2UgdGltaW5nIGVudHJ5IHNo
b3VsZCBiZSBtb3ZlZCB0byBlbnRyeUJ1ZmZlci4nKTsKKyAgICBhc3NlcnRfdHJ1ZShlbnRyeUJ1
ZmZlclswXS5uYW1lLmluY2x1ZGVzKHNjcmlwdFJlc291cmNlc1swXSksCisgICAgICAgIHNjcmlw
dFJlc291cmNlc1swXSArICcgaXMgaW4gdGhlIGVudHJ5QnVmZmVyJyk7Cit9LCAiVGVzdCB0aGF0
IGVudHJpZXMgb3ZlcmZsb3dpbmcgdGhlIGJ1ZmZlciB0cmlnZ2VyIHRoZSBidWZmZXIgZnVsbCBl
dmVudCwgY2FuIGJlIHN0b3JlZCwgYW5kIG1ha2UgdGhlaXIgd2F5IHRvIHRoZSBwcmltYXJ5IGJ1
ZmZlciBhZnRlciBpdCdzIGNsZWFyZWQgaW4gdGhlIGJ1ZmZlciBmdWxsIGV2ZW50LiIpOwogPC9z
Y3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC10aGVu
LWluY3JlYXNlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC10aGVuLWluY3JlYXNlZC1l
eHBlY3RlZC50eHQKaW5kZXggZWZiYjY5NzRiYTczYWVkOTAwYzA1ZmM1MWVmZDM3ODM0NTA4Mjkx
OS4uNmY5ZTNmODJkMDExYzgzMTk0ODFhZWE5MmJmZTIxNGFjN2FlNjA3YiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvYnVmZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZl
ci1mdWxsLXRoZW4taW5jcmVhc2VkLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotUEFT
UyBUZXN0IHRoYXQgb3ZlcmZsb3dpbmcgdGhlIGJ1ZmZlciBhbmQgaW1tZWRpYXRlbHkgaW5jcmVh
c2luZyBpdHMgbGltaXQgZG9lcyBub3QgdHJpZ2dlciB0aGUgcmVzb3VyY2V0aW1pbmdidWZmZXJm
dWxsIGV2ZW50CitGQUlMIFRlc3QgdGhhdCBvdmVyZmxvd2luZyB0aGUgYnVmZmVyIGFuZCBpbW1l
ZGlhdGVseSBpbmNyZWFzaW5nIGl0cyBsaW1pdCBkb2VzIG5vdCB0cmlnZ2VyIHRoZSByZXNvdXJj
ZXRpbWluZ2J1ZmZlcmZ1bGwgZXZlbnQgYXNzZXJ0X2VxdWFsczogQWxsIHJlc291cmNlcyBzaG91
bGQgYmUgaW4gdGhlIGJ1ZmZlciwgc2luY2UgaXRzIHNpemUgd2FzIGluY3JlYXNlZCBleHBlY3Rl
ZCAzIGJ1dCBnb3QgMgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC10aGVuLWluY3JlYXNl
ZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQuaHRtbAppbmRleCAyMjY1MDc3
ZmMxNWEyNzdjMzM1MmRhMjE1ZmE1YWM4YTI3NmM2MGFhLi42NTJhZDE5MjFkM2Q1OTc2OGI3MmQ0
NWZiNjllN2Q5NGVkNzMwNTI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC10aGVuLWluY3Jl
YXNlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXRoZW4taW5jcmVhc2VkLmh0bWwKQEAgLTYs
NiArNiw3IEBACiA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jl
c291cmNlLXRpbWluZy8jcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtd2hlbi1wb3B1bGF0ZS1lbnRyaWVzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2J1ZmZlci1mdWxsLXdoZW4tcG9wdWxhdGUtZW50cmllcy1leHBlY3RlZC50eHQK
aW5kZXggMzRlYzgxODU4OWQ2NWU5MThhM2FiOTQzNjcyNmQxNDIxMzExNWU3Ni4uZjE5ZmYxODYz
ZDc5YzkzOTM4YzI0YzljZjY1ZTI1NWMxYmU3ZmE2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1
bGwtd2hlbi1wb3B1bGF0ZS1lbnRyaWVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVs
bC13aGVuLXBvcHVsYXRlLWVudHJpZXMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1Q
QVNTIFRlc3QgdGhhdCBhIGJ1ZmZlciBmdWxsIGV2ZW50IGRvZXMgbm90IGJ1YmJsZSBhbmQgdGhh
dCByZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwgaXMgY2FsbGVkIG9ubHkgb25jZSBwZXIgb3ZlcmZs
b3cKK0ZBSUwgVGVzdCB0aGF0IGEgYnVmZmVyIGZ1bGwgZXZlbnQgZG9lcyBub3QgYnViYmxlIGFu
ZCB0aGF0IHJlc291cmNldGltaW5nYnVmZmVyZnVsbCBpcyBjYWxsZWQgb25seSBvbmNlIHBlciBv
dmVyZmxvdyBhc3NlcnRfZXF1YWxzOiBOdW1iZXIgb2YgZW50cmllcyBkb2VzIG5vdCBtYXRjaCB0
aGUgZXhwZWN0ZWQgdmFsdWUuIGV4cGVjdGVkIDIgYnV0IGdvdCAwCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2J1ZmZlci1mdWxsLXdoZW4tcG9wdWxhdGUtZW50cmllcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwt
d2hlbi1wb3B1bGF0ZS1lbnRyaWVzLmh0bWwKaW5kZXggMDBkMmFlMGU0NDI2ZjQ2NDRmNzBlOTIx
NzUxZmZmYzMyN2RlNDZkNi4uZjRiMWEyZTdlN2FiYmEyNWM3OGU0YzFkYmUwYjFhYmEyOTA2MWQ0
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtd2hlbi1wb3B1bGF0ZS1lbnRyaWVzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvYnVmZmVyLWZ1bGwtd2hlbi1wb3B1bGF0ZS1lbnRyaWVzLmh0bWwKQEAgLTIsNDQg
KzIsMjggQEAKIDxodG1sPgogPGhlYWQ+CiA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KLTxsaW5r
IHJlbD0iYXV0aG9yIiB0aXRsZT0iSW50ZWwiIGhyZWY9Imh0dHA6Ly93d3cuaW50ZWwuY29tLyIg
Lz4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2Ut
dGltaW5nLyNwZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+CiA8dGl0bGU+VGhpcyB0ZXN0IHZh
bGlkYXRlcyB0aGUgZnVuY3Rpb25hbGl0eSBvZiBvbnJlc291cmNldGltaW5nYnVmZmVyZnVsbCBp
biByZXNvdXJjZSB0aW1pbmcuPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iSW50
ZWwiIGhyZWY9Imh0dHA6Ly93d3cuaW50ZWwuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJl
Zj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNkb20tcGVyZm9ybWFu
Y2Utb25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwiLz4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3Vy
Y2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2J1ZmZlci1m
dWxsLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+Ci1j
b25zdCByZXNvdXJjZV90aW1pbmdfYnVmZmVyX3NpemUgPSAyOwotbGV0IGJ1ZmZlckZ1bGxDb3Vu
dCA9IDA7Ci1sZXQgZXZlbnRGaXJlZCA9IGZhbHNlOwotc2V0dXAoKCkgPT4gewotICAgIGNsZWFy
QnVmZmVyQW5kU2V0U2l6ZShyZXNvdXJjZV90aW1pbmdfYnVmZmVyX3NpemUpOworcHJvbWlzZV90
ZXN0KGFzeW5jICgpID0+IHsKKyAgICBsZXQgYnVmZmVyRnVsbENvdW50ID0gMDsKICAgICBwZXJm
b3JtYW5jZS5hZGRFdmVudExpc3RlbmVyKCdyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwnLCBlID0+
IHsKICAgICAgICAgYXNzZXJ0X2VxdWFscyhlLmJ1YmJsZXMsIGZhbHNlLCAiRXZlbnQgYnViYmxl
cyBhdHRyaWJ1dGUgaXMgZmFsc2UiKTsKICAgICAgICAgYnVmZmVyRnVsbENvdW50Kys7Ci0gICAg
ICAgIGV2ZW50RmlyZWQgPSB0cnVlOwogICAgIH0pOwotfSk7Ci0KLWxldCBvdmVyZmxvd1RoZUJ1
ZmZlciA9ICgpID0+IHsKLSAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0gICAg
ICAgIC8vIFRoaXMgcmVzb3VyY2Ugb3ZlcmZsb3dzIHRoZSBlbnRyeSBidWZmZXIsIGFuZCBnb2Vz
IGludG8gdGhlIHNlY29uZGFyeSBidWZmZXIuCi0gICAgICAgIGFwcGVuZFNjcmlwdCgncmVzb3Vy
Y2VzL2VtcHR5X3NjcmlwdC5qcycsIHJlc29sdmUpOwotICAgIH0pOwotfTsKLQotbGV0IHRlc3RU
aGF0QnVmZmVyQ29udGFpbnNUaGVSaWdodFJlc291cmNlcyA9ICgpID0+IHsKLSAgICBhc3NlcnRf
ZXF1YWxzKHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJykubGVuZ3RoLCBy
ZXNvdXJjZV90aW1pbmdfYnVmZmVyX3NpemUsICdUaGVyZSBzaG91bGQgb25seSBiZSB8YnVmZmVy
U2l6ZXwgcmVzb3VyY2UgZW50cmllcy4nKTsKKyAgICBhd2FpdCBmaWxsVXBUaGVCdWZmZXJXaXRo
VHdvUmVzb3VyY2VzKCk7CisgICAgLy8gT3ZlcmZsb3cgdGhlIGJ1ZmZlcgorICAgIGF3YWl0IGxv
YWQuc2NyaXB0KHNjcmlwdFJlc291cmNlc1syXSk7CisgICAgYXdhaXQgd2FpdEZvck5leHRUYXNr
KCk7CisgICAgY2hlY2tFbnRyaWVzKDIpOwogICAgIGFzc2VydF9lcXVhbHMoYnVmZmVyRnVsbENv
dW50LCAxLCAnb25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwgc2hvdWxkIGhhdmUgYmVlbiBpbnZv
a2VkIG9uY2UuJyk7Ci19OwotCi1wcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4gewotICAgIGF3YWl0
IGZpbGxVcFRoZUJ1ZmZlcldpdGhUd29SZXNvdXJjZXMoJ3Jlc291cmNlcy9lbXB0eS5qcycpOwot
ICAgIGF3YWl0IG92ZXJmbG93VGhlQnVmZmVyKCk7Ci0gICAgYXdhaXQgd2FpdEZvckV2ZW50VG9G
aXJlKCk7Ci0gICAgdGVzdFRoYXRCdWZmZXJDb250YWluc1RoZVJpZ2h0UmVzb3VyY2VzKCk7CiB9
LCAiVGVzdCB0aGF0IGEgYnVmZmVyIGZ1bGwgZXZlbnQgZG9lcyBub3QgYnViYmxlIGFuZCB0aGF0
IHJlc291cmNldGltaW5nYnVmZmVyZnVsbCBpcyBjYWxsZWQgb25seSBvbmNlIHBlciBvdmVyZmxv
dyIpOwogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0aW9uLXJldXNl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmI1YjE1ODcyZjYzODE4Y2U1NTcyM2EwNTdjZDk2YzljZDNkNmY3MTYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9jb25uZWN0aW9uLXJldXNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAK
K0Rlc2NyaXB0aW9uCisKK1NlZSB0aGUgaW5jbHVkZWQgdGVzdCBzY3JpcHQKKworCitQQVNTIFBl
cmZvcm1hbmNlUmVzcm91Y2VUaW1pbmcgZW50cmllcyBuZWVkIHRvIGNvbmZvcm0gdG8gdGhlIHNw
ZWMgd2hlbiBhIGRpc3RpbmN0IHJlc291cmNlIGlzIGZldGNoZWQgb3ZlciBhIHBlcnNpc3RlbnQg
Y29ubmVjdGlvbgorUEFTUyBQZXJmb3JtYW5jZVJlc3JvdWNlVGltaW5nIGVudHJpZXMgbmVlZCB0
byBjb25mb3JtIHRvIHRoZSBzcGVjIHdoZW4gdGhlIHJlc291cmNlIGlzIGNhY2hlLXJldmFsaWRh
dGVkIG92ZXIgYSBwZXJzaXN0ZW50IGNvbm5lY3Rpb24KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVj
dGlvbi1yZXVzZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1yZXVzZS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4
MmI3YmM0ZWE5YmIxYzM5MDQ3YzVmNTE4NjdkYzNhM2E0NWRiZWIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9jb25uZWN0aW9uLXJldXNlLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVz
b3VyY2UgVGltaW5nIGNvbm5lY3Rpb24gcmV1c2U8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3Ii
IHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGluayBy
ZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmctMi8j
c2VjLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnkt
aW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2Nvbm5lY3Rp
b24tcmV1c2UtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5EZXNjcmlw
dGlvbjwvaDE+Cis8cD5TZWUgPGEgaHJlZj0icmVzb3VyY2VzL2Nvbm5lY3Rpb24tcmV1c2UtdGVz
dC5qcyI+dGhlIGluY2x1ZGVkIHRlc3QKKyAgc2NyaXB0PC9hPjwvcD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHR0cHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvY29ubmVjdGlvbi1yZXVzZS5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjViMTU4
NzJmNjM4MThjZTU1NzIzYTA1N2NkOTZjOWNkM2Q2ZjcxNgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2Nvbm5lY3Rpb24tcmV1c2UuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorRGVz
Y3JpcHRpb24KKworU2VlIHRoZSBpbmNsdWRlZCB0ZXN0IHNjcmlwdAorCisKK1BBU1MgUGVyZm9y
bWFuY2VSZXNyb3VjZVRpbWluZyBlbnRyaWVzIG5lZWQgdG8gY29uZm9ybSB0byB0aGUgc3BlYyB3
aGVuIGEgZGlzdGluY3QgcmVzb3VyY2UgaXMgZmV0Y2hlZCBvdmVyIGEgcGVyc2lzdGVudCBjb25u
ZWN0aW9uCitQQVNTIFBlcmZvcm1hbmNlUmVzcm91Y2VUaW1pbmcgZW50cmllcyBuZWVkIHRvIGNv
bmZvcm0gdG8gdGhlIHNwZWMgd2hlbiB0aGUgcmVzb3VyY2UgaXMgY2FjaGUtcmV2YWxpZGF0ZWQg
b3ZlciBhIHBlcnNpc3RlbnQgY29ubmVjdGlvbgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0aW9u
LXJldXNlLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0aW9uLXJldXNlLmh0dHBzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZTgyYjdiYzRlYTliYjFjMzkwNDdjNWY1MTg2N2RjM2EzYTQ1ZGJlYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHR0cHMuaHRtbApAQCAtMCwwICsxLDE4IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIg
Lz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmcgY29ubmVjdGlvbiByZXVzZTwvdGl0bGU+Cis8bGlu
ayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29t
LyIgLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291
cmNlLXRpbWluZy0yLyNzZWMtcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJl
c291cmNlcy9lbnRyeS1pbnZhcmlhbnRzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvY29ubmVjdGlvbi1yZXVzZS10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxwPlNlZSA8YSBocmVmPSJyZXNvdXJjZXMvY29ubmVj
dGlvbi1yZXVzZS10ZXN0LmpzIj50aGUgaW5jbHVkZWQgdGVzdAorICBzY3JpcHQ8L2E+PC9wPgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mtb3JpZ2luLXN0YXJ0LWVuZC10
aW1lLXdpdGgtcmVkaXJlY3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1zdGFydC1l
bmQtdGltZS13aXRoLXJlZGlyZWN0cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2FlNzIyZmM5
YTEyYzZlZTQyMjdmNDk0YmViNjc2M2FiNDdmZDM4YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Ny
b3NzLW9yaWdpbi1zdGFydC1lbmQtdGltZS13aXRoLXJlZGlyZWN0cy1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzIEBACisKK1BBU1MgVmVyaWZ5IHRoYXQgY3Jvc3Mtb3JpZ2luIHJlc291cmNlcyBk
b24ndCBpbXBsaWNpdGx5IGV4cG9zZSB0aGVpciByZWRpcmVjdCB0aW1pbmdzCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2Nyb3NzLW9yaWdpbi1zdGFydC1lbmQtdGltZS13aXRoLXJlZGlyZWN0cy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvY3Jvc3Mtb3JpZ2luLXN0YXJ0LWVuZC10aW1lLXdpdGgtcmVkaXJlY3RzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMWIxMDdkM2FlZjc3NjRkOWI5NjAzZWEyNjU4Y2Y0NjljZjI4NTk4MAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1zdGFydC1lbmQtdGltZS13aXRoLXJlZGlyZWN0cy5o
dG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIHZh
bHVlcyBpbiByZXNvdXJjZSB0aW1pbmcgZm9yIGNyb3NzLW9yaWdpbgorcmVkaXJlY3RzLjwvdGl0
bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik5vYW0gUm9zZW50aGFsIiBocmVmPSJub2Ft
QHdlYmtpdC5vcmciPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcv
VFIvcmVzb3VyY2UtdGltaW5nLTIvI3NlYy1wZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
InJlc291cmNlcy9lbnRyeS1pbnZhcmlhbnRzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHNjcmlwdD4KK2NvbnN0IHtSRU1PVEVfT1JJR0lOfSA9IGdldF9ob3N0X2luZm8oKTsKK2Nv
bnN0IGRlbGF5ID0gMgorY29uc3QgYmxhbmtfcGFnZSA9IGAvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy9ibGFua19wYWdlX2dyZWVuLmh0bWA7Citjb25zdCBkZXN0VXJsID0gYC9jb21tb24vc2xv
dy1yZWRpcmVjdC5weT9kZWxheT0ke2RlbGF5fSZsb2NhdGlvbj0ke1JFTU9URV9PUklHSU59LyR7
YmxhbmtfcGFnZX1gOworCitjb25zdCB0aW1lQmVmb3JlID0gcGVyZm9ybWFuY2Uubm93KCkKK2F0
dHJpYnV0ZV90ZXN0KGxvYWQuaWZyYW1lLCBkZXN0VXJsLCBlbnRyeSA9PiB7CisgICAgYXNzZXJ0
X2VxdWFscyhlbnRyeS5zdGFydFRpbWUsIGVudHJ5LmZldGNoU3RhcnQsICdzdGFydFRpbWUgYW5k
IGZldGNoU3RhcnQgc2hvdWxkIGJlIGVxdWFsJyk7CisgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihl
bnRyeS5zdGFydFRpbWUsIHRpbWVCZWZvcmUsICdzdGFydFRpbWUgYW5kIGZldGNoU3RhcnQgc2hv
dWxkIGJlIGdyZWF0ZXIgdGhhbiB0aGUgdGltZSBiZWZvcmUgZmV0Y2hpbmcnKTsKKyAgICAvLyBT
ZWUgaHR0cHM6Ly9naXRodWIuY29tL3czYy9yZXNvdXJjZS10aW1pbmcvaXNzdWVzLzI2NAorICAg
IGFzc2VydF9sZXNzX3RoYW4oTWF0aC5yb3VuZChlbnRyeS5zdGFydFRpbWUgLSB0aW1lQmVmb3Jl
KSwgZGVsYXkgKiAxMDAwLCAnc3RhcnRUaW1lIHNob3VsZCBub3QgZXhwb3NlIHJlZGlyZWN0IGRl
bGF5cycpOworfSwgIlZlcmlmeSB0aGF0IGNyb3NzLW9yaWdpbiByZXNvdXJjZXMgZG9uJ3QgaW1w
bGljaXRseSBleHBvc2UgdGhlaXIgcmVkaXJlY3QgdGltaW5ncyIpCisKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mtb3JpZ2luLXN0YXR1cy1jb2Rlcy5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvY3Jvc3Mtb3JpZ2luLXN0YXR1cy1jb2Rlcy5odG1sCmluZGV4IGU4ZWNlNWZmMmZl
YTNkNGQ4NTZjZGYzNzc0ODcwYzU5MDgwYTFjNDUuLjE5N2E3NjYzMzk2ZWY2NmM3NzY0ZDY1OTli
MDM4NTRkMTM4ZjJlNjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1zdGF0dXMtY29kZXMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhdHVzLWNvZGVzLmh0bWwKQEAgLTEsNiArMSw5
IEBACiA8IWRvY3R5cGUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8dGl0bGU+UmVzb3VyY2UgVGlt
aW5nOiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGF0dHJpYnV0ZXMgc2hvdWxkbid0IGNoYW5n
ZQorICBpZiB0aGUgSFRUUCBzdGF0dXMgY29kZSBjaGFuZ2VzPC90aXRsZT4KKzxsaW5rIHJlbD0i
aGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNzZWMt
cGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9L2NvbW1vbi9nZXQtaG9zdC1pbmZv
LnN1Yi5qcz48L3NjcmlwdD4KQEAgLTE1LDM0ICsxOCw1MyBAQAogPHNjcmlwdCBpZD0ic2NyaXB0
XzQwNCI+PC9zY3JpcHQ+CiA8c2NyaXB0IGlkPSJzY3JpcHRfNTAyIj48L3NjcmlwdD4KIDxzY3Jp
cHQ+Ci1hc3luY190ZXN0KHQgPT4gewotICBsZXQgZGVzdFVybCA9IGdldF9ob3N0X2luZm8oKS5I
VFRQX1JFTU9URV9PUklHSU4gKyAnL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvJzsKLSAgbGV0
IHN0YXR1c0NvZGVzID0gWycyMDAnLCAnMzA3JywgJzQwNCcsICc1MDInXTsKKworY29uc3QgbGlz
dGVuRm9yUGVyZm9ybWFuY2VFbnRyaWVzID0gbnVtX2V4cGVjdGVkID0+IHsKKyAgcmV0dXJuIG5l
dyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIGxldCByZXN1bHRzID0gW107CisgICAgbmV3IFBl
cmZvcm1hbmNlT2JzZXJ2ZXIoZW50cnlMaXN0ID0+IHsKKyAgICAgIGVudHJ5TGlzdC5nZXRFbnRy
aWVzKCkuZm9yRWFjaChlbnRyeSA9PiB7CisgICAgICAgIGlmICghZW50cnkubmFtZS5pbmNsdWRl
cygic3RhdHVzLWNvZGUiKSkKKyAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgcmVzdWx0cy5w
dXNoKGVudHJ5KTsKKyAgICAgICAgaWYgKHJlc3VsdHMubGVuZ3RoID09IG51bV9leHBlY3RlZCkg
eworICAgICAgICAgIHJlc29sdmUocmVzdWx0cyk7CisgICAgICAgIH0KKyAgICAgIH0pOworICAg
IH0pLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsncmVzb3VyY2UnXX0pOworICB9KTsKK30KKworcHJv
bWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBkZXN0VXJsID0gZ2V0X2hvc3RfaW5mbygp
LkhUVFBfUkVNT1RFX09SSUdJTiArICcvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy8nOworICBj
b25zdCBzdGF0dXNDb2RlcyA9IFsnMjAwJywgJzMwNycsICc0MDQnLCAnNTAyJ107CisKKyAgbGV0
IGV4cGVjdGVkX2VudHJ5X2NvdW50ID0gMDsKICAgc3RhdHVzQ29kZXMuZm9yRWFjaChzdGF0dXMg
PT4gewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbWdfJyArIHN0YXR1cykuc3JjID0g
ZGVzdFVybCArICdzdGF0dXMtY29kZS5weT9zdGF0dXM9JyArIHN0YXR1czsKLSAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnc2NyaXB0XycgKyBzdGF0dXMpLnNyYyA9IGRlc3RVcmwgKyAnc3Rh
dHVzLWNvZGUucHk/c3RhdHVzPScgKyBzdGF0dXMgKyAnJnNjcmlwdD0xJzsKKyAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZChgaW1nXyR7c3RhdHVzfWApLnNyYyA9IGAke2Rlc3RVcmx9c3RhdHVz
LWNvZGUucHk/c3RhdHVzPSR7c3RhdHVzfWA7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
YHNjcmlwdF8ke3N0YXR1c31gKS5zcmMgPSBgJHtkZXN0VXJsfXN0YXR1cy1jb2RlLnB5P3N0YXR1
cz0ke3N0YXR1c30mc2NyaXB0PTFgOworICAgIGV4cGVjdGVkX2VudHJ5X2NvdW50ICs9IDI7CiAg
IH0pOwotICBsZXQgbmFtZU1hcCA9IHt9OwotICBsZXQgZmlyc3RFbnRyeSA9IG51bGw7Ci0gIC8v
IFdlIHdpbGwgY2hlY2sgdGhhdCB0aGUgbm9uLXRpbWVzdGFtcCB2YWx1ZXMgb2YgdGhlIGVudHJ5
IG1hdGNoIGZvciBhbGwgZW50cmllcy4KLSAgY29uc3Qga2V5cyA9IFsnZW50cnlUeXBlJywgJ25l
eHRIb3BQcm90b2NvbCcsICd0cmFuc2ZlclNpemUnLCAnZW5jb2RlZEJvZHlTaXplJywgJ2RlY29k
ZWRCb2R5U2l6ZSddOwotICBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcih0LnN0ZXBfZnVuYyhlbnRy
eUxpc3QgPT4gewotICAgIGVudHJ5TGlzdC5nZXRFbnRyaWVzKCkuZm9yRWFjaChlbnRyeSA9PiB7
Ci0gICAgICBpZiAoIWVudHJ5Lm5hbWUuaW5jbHVkZXMoInN0YXR1cy1jb2RlIikpCi0gICAgICAg
IHJldHVybjsKIAotICAgICAgbmFtZU1hcFtlbnRyeS5uYW1lXSA9IHRydWU7Ci0gICAgICBpZiAo
IWZpcnN0RW50cnkpIHsKLSAgICAgICAgZmlyc3RFbnRyeSA9IGVudHJ5OwotICAgICAgfSBlbHNl
IHsKLSAgICAgICAga2V5cy5mb3JFYWNoKGtleSA9PiB7Ci0gICAgICAgICAgYXNzZXJ0X2VxdWFs
cyhlbnRyeVtrZXldLCBmaXJzdEVudHJ5W2tleV0sIGBEaXNjZXJuaWJsZSBkaWZmZXJlbmNlIGlu
ICR7a2V5fSBmb3IgJHtlbnRyeS5uYW1lfWApOwotICAgICAgICB9KTsKLSAgICAgIH0KLSAgICB9
KTsKLSAgICBpZiAoT2JqZWN0LmtleXMobmFtZU1hcCkubGVuZ3RoID09PSA4KSB7Ci0gICAgICB0
LmRvbmUoKTsKLSAgICB9Ci0gIH0pKS5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbJ3Jlc291cmNlJ119
KTsKKyAgY29uc3QgZW50cmllcyA9IGF3YWl0IGxpc3RlbkZvclBlcmZvcm1hbmNlRW50cmllcyhl
eHBlY3RlZF9lbnRyeV9jb3VudCk7CisKKyAgLy8gV2Ugd2lsbCBjaGVjayB0aGF0IHRoZSBub24t
dGltZXN0YW1wIHZhbHVlcyBvZiB0aGUgZW50cnkgbWF0Y2ggZm9yIGFsbAorICAvLyBlbnRyaWVz
LgorICBjb25zdCBrZXlzID0gWworICAgICdlbnRyeVR5cGUnLAorICAgICduZXh0SG9wUHJvdG9j
b2wnLAorICAgICd0cmFuc2ZlclNpemUnLAorICAgICdlbmNvZGVkQm9keVNpemUnLAorICAgICdk
ZWNvZGVkQm9keVNpemUnLAorICBdOworCisgIGNvbnN0IGZpcnN0ID0gZW50cmllc1swXTsKKyAg
ZW50cmllcy5zbGljZSgxKS5mb3JFYWNoKGVudHJ5ID0+IHsKKyAgICBrZXlzLmZvckVhY2goYXR0
cmlidXRlID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZW50cnlbYXR0cmlidXRlXSwgZmlyc3Rb
YXR0cmlidXRlXSwKKyAgICAgICAgYFRoZXJlIG11c3QgYmUgbm8gZGlzY2VybmlibGUgZGlmZmVy
ZW5jZSBmb3IgdGhlICR7YXR0cmlidXRlfSBgICsKKyAgICAgICAgYGF0dHJpYnV0ZSBidXQgZm91
bmQgYSBkaWZmZXJlbmNlIGZvciB0aGUgJHtlbnRyeS5uYW1lfSByZXNvdXJjZS5gKTsKKyAgfSl9
KTsKIH0sICJNYWtlIHN1cmUgY3Jvc3Mgb3JpZ2luIHJlc291cmNlIGZldGNoIGZhaWx1cmVzIHdp
dGggZGlmZmVyZW50IHN0YXR1cyBjb2RlcyBhcmUgaW5kaXN0aW5ndWlzaGFibGUiKTsKIDwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC1vcGVuZXItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC1vcGVuZXItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjg5MjhmNzc1ZThmYmE4YmJmOTU5ZDBmYWRkZDIyZTRjMWRjYjNhNWYK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9kb2N1bWVudC1kb21haW4tbm8taW1wYWN0LW9wZW5lci1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBt
ZXNzYWdlID0gbnVsbAorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2RvY3VtZW50LWRvbWFpbi1uby1pbXBh
Y3Qtb3BlbmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9kb2N1bWVudC1kb21haW4tbm8taW1wYWN0LW9wZW5lci5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY5ZGYyZjI3ZmE1YjE5NWY3Yjk1NjcxNGNmODE2YTYxZTE4MjU4YjgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9kb2N1bWVudC1kb21haW4tbm8taW1wYWN0LW9wZW5lci5odG1s
CkBAIC0wLDAgKzEsMTYgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQ+CisvLyBPcGVuIGEgZG9jdW1lbnQgb24gb25lIG9mIGhvc3RzIG9u
IHRoZSB3ZWItcGxhdGZvcm0gdGVzdCBkb21haW4sIHNvIHRoYXQKKy8vIGRvY3VtZW50LmRvbWFp
biB3aWxsIHNldCBhIHZhbGlkIGRvbWFpbiwgdHVybmluZyB0aGUgZnJhbWUgaW50byBhCisvLyBj
cm9zcy1vcmlnaW4gZnJhbWUuCitjb25zdCB7T1RIRVJfT1JJR0lOfSA9IGdldF9ob3N0X2luZm8o
KTsKK2NvbnN0IG9wZW5lZSA9IHdpbmRvdy5vcGVuKE9USEVSX09SSUdJTiArCisgICAgICAgICAg
ICAgICAiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFj
dC5odG1sIik7CitmZXRjaF90ZXN0c19mcm9tX3dpbmRvdyhvcGVuZWUpOworPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9lbnRyeS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2VudHJ5LWF0
dHJpYnV0ZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhZmI0NWVjYjVhYjIwMGI1MTUzMTk1
NWYwY2U4YmQ3ODZjNTUwNDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9lbnRyeS1hdHRyaWJ1dGVz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3Qg
dmFsaWRhdGVzIHRoYXQgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyBlbnRyaWVzJyBhdHRyaWJ1
dGVzIGFyZSBwb3B1bGF0ZWQgd2l0aCB0aGUgY29ycmVjdCB2YWx1ZXMuCisKKworSGFybmVzcyBF
cnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgSW1hZ2UgcmVzb3VyY2Vz
IHNob3VsZCBnZW5lcmF0ZSBjb25mb3JtYW50IGVudHJpZXMgVGVzdCB0aW1lZCBvdXQKK05PVFJV
TiBGb250IHJlc291cmNlcyBzaG91bGQgZ2VuZXJhdGUgY29uZm9ybWFudCBlbnRyaWVzCitOT1RS
VU4gU2FtZS1vcmlnaW4gcmVkaXJlY3RzIHNob3VsZCBwb3B1bGF0ZSByZWRpcmVjdFN0YXJ0L3Jl
ZGlyZWN0RW5kCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2VudHJ5LWF0dHJpYnV0ZXMuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Vu
dHJ5LWF0dHJpYnV0ZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ODliNGU3NGM4NTUxODc1YzUwMzEzM2Fk
NjY1MmM4YThiNmM1OTM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZW50cnktYXR0cmlidXRlcy5o
dG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZzogUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZyBhdHRyaWJ1dGVzPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJl
Zj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNzZWMtcGVyZm9ybWFu
Y2VyZXNvdXJjZXRpbWluZyIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnktaW52YXJpYW50cy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0PgorYXR0cmlidXRlX3Rlc3QoCisgIGxvYWQuaW1hZ2UsICJyZXNv
dXJjZXMvZmFrZV9yZXNwb25zZXMucHkjaGFzaD0xIiwKKyAgZW50cnkgPT4geworICAgIGFzc2Vy
dF90cnVlKGVudHJ5Lm5hbWUuaW5jbHVkZXMoJyNoYXNoPTEnKSwKKyAgICAgICJUaGVyZSBzaG91
bGQgYmUgYSBoYXNoIGluIHRoZSByZXNvdXJjZSBuYW1lIik7CisgICAgaW52YXJpYW50cy5hc3Nl
cnRfdGFvX3Bhc3Nfbm9fcmVkaXJlY3RfaHR0cChlbnRyeSk7CisgIH0sCisgICJJbWFnZSByZXNv
dXJjZXMgc2hvdWxkIGdlbmVyYXRlIGNvbmZvcm1hbnQgZW50cmllcyIpOworCithdHRyaWJ1dGVf
dGVzdCgKKyAgbG9hZC5mb250LCAiL2ZvbnRzL0FoZW0udHRmIiwKKyAgaW52YXJpYW50cy5hc3Nl
cnRfdGFvX3Bhc3Nfbm9fcmVkaXJlY3RfaHR0cCwKKyAgIkZvbnQgcmVzb3VyY2VzIHNob3VsZCBn
ZW5lcmF0ZSBjb25mb3JtYW50IGVudHJpZXMiKTsKKworYXR0cmlidXRlX3Rlc3QoCisgIGxvYWQu
aW1hZ2UsICIvY29tbW9uL3JlZGlyZWN0LnB5P2xvY2F0aW9uPXJlc291cmNlcy9mYWtlX3Jlc3Bv
bnNlcy5weSIsCisgIGludmFyaWFudHMuYXNzZXJ0X3NhbWVfb3JpZ2luX3JlZGlyZWN0ZWRfcmVz
b3VyY2UsCisgICJTYW1lLW9yaWdpbiByZWRpcmVjdHMgc2hvdWxkIHBvcHVsYXRlIHJlZGlyZWN0
U3RhcnQvcmVkaXJlY3RFbmQiKTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVz
Y3JpcHRpb248L2gxPgorPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcgZW50cmllcycgYXR0cmlidXRlcyBhcmUKK3BvcHVsYXRlZCB3aXRoIHRoZSBj
b3JyZWN0IHZhbHVlcy48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mZXRj
aC1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZmV0Y2gtY3Jv
c3Mtb3JpZ2luLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMmZiMzBk
MWE3ODEzYWNlZWY1MDMzMzRhMGQ0ODAwNDIwNjIzNDBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
ZmV0Y2gtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDQgQEAKKworUEFTUyBUZXN0IGZldGNoaW5nIHRocm91Z2ggYSBjcm9zcy1vcmlnaW4gcmVkaXJl
Y3QgVVJMCitQQVNTIFRlc3QgZmV0Y2hpbmcgdGhyb3VnaCBhIHNhbWUtb3JpZ2luIHJlZGlyZWN0
IFVSTAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9mZXRjaC1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHR0cHMu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2ZldGNoLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odHRwcy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjQxOTM0MjI2NTNhNTk1NGZmMDMzNTE4YzY5MGY2NTQ2MGJjNTQzM2IKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9mZXRjaC1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHR0cHMuaHRtbApAQCAtMCww
ICsxLDMzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRs
ZT5UZXN0IGNyb3NzLW9yaWdpbiBmZXRjaCByZWRpcmVjdHMgaGF2ZSB0aGUgcmlnaHQgdmFsdWVz
LjwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDov
L3d3dy5nb29nbGUuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cu
dzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNzZWMtcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWlu
ZyIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9InJlc291cmNlcy9lbnRyeS1pbnZhcmlhbnRzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgorCitjb25zdCB7UkVNT1RFX09SSUdJTiwgT1JJR0lOfSA9IGdldF9ob3N0X2luZm8oKTsKK2Nv
bnN0IHJlZGlyZWN0ID0gIi9jb21tb24vcmVkaXJlY3QucHk/IiArCisgICAgICAgICAgICAgICAg
ICJsb2NhdGlvbj0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi5odG1sIjsKK2NvbnN0
IGNyb3NzX29yaWdpbl9yZWRpcmVjdCA9IFJFTU9URV9PUklHSU4gKyByZWRpcmVjdDsKK2NvbnN0
IHNhbWVfb3JpZ2luX3JlZGlyZWN0ID0gT1JJR0lOICsgcmVkaXJlY3Q7CisKK2F0dHJpYnV0ZV90
ZXN0KAorICB1cmwgPT4gZmV0Y2godXJsLCB7bW9kZTogIm5vLWNvcnMiLCBjcmVkZW50aWFsczog
ImluY2x1ZGUifSksCisgIG5ldyBVUkwoY3Jvc3Nfb3JpZ2luX3JlZGlyZWN0KS5ocmVmLAorICBp
bnZhcmlhbnRzLmFzc2VydF9jcm9zc19vcmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAgIlRl
c3QgZmV0Y2hpbmcgdGhyb3VnaCBhIGNyb3NzLW9yaWdpbiByZWRpcmVjdCBVUkwiCispOworCith
dHRyaWJ1dGVfdGVzdCgKKyAgdXJsID0+IGZldGNoKHVybCwge21vZGU6ICJuby1jb3JzIiwgY3Jl
ZGVudGlhbHM6ICJpbmNsdWRlIn0pLAorICBuZXcgVVJMKHNhbWVfb3JpZ2luX3JlZGlyZWN0KS5o
cmVmLAorICBpbnZhcmlhbnRzLmFzc2VydF9zYW1lX29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNl
LAorICAiVGVzdCBmZXRjaGluZyB0aHJvdWdoIGEgc2FtZS1vcmlnaW4gcmVkaXJlY3QgVVJMIgor
KTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mb250LXRpbWVzdGFtcHMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvZm9udC10aW1lc3RhbXBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMTk2NDQx
ODc1YmVjZDI0M2JmZTIyM2U1YWI5YjAwOGQwYTE5Zjk5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
Zm9udC10aW1lc3RhbXBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgZmV0Y2hl
cyBhaGVtIGZvbnQuCisKK0ZBSUwgVGVzdCBhIGZvbnQncyB0aW1lc3RhbXBzIGFzc2VydF9ncmVh
dGVyX3RoYW5fZXF1YWw6IGRvbWFpbkxvb2t1cFN0YXJ0IHNob3VsZCBiZSBtb3JlIHRoYW4gMCBp
biBzYW1lLW9yaWdpbiByZWRpcmVjdC4gZXhwZWN0ZWQgYSBudW1iZXIgZ3JlYXRlciB0aGFuIG9y
IGVxdWFsIHRvIDxub25kZXRlcm1pbmlzdGljIHRlc3Qgb3V0cHV0PiBidXQgZ290IDAKK1BBU1Mg
VGVzdCBhIGZvbnQncyB0aW1lc3RhbXBzIHdpdGggZGVsYXlzCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Zv
bnQtdGltZXN0YW1wcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZm9udC10aW1lc3RhbXBzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTZlY2I1YzRiZmRkYjYwZTc4M2VlNzdjZDMwOGIyOGEwYzRlYTljMgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2ZvbnQtdGltZXN0YW1wcy5odG1sCkBAIC0wLDAgKzEsNjIgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3QgY3Jvc3Mtb3JpZ2luIGZl
dGNoIHJlZGlyZWN0cyBoYXZlIHRoZSByaWdodCB2YWx1ZXMuPC90aXRsZT4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29t
bW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4KK2Nv
bnN0IGxvYWRfZm9udCA9IHVybCA9PiB7CisgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gYAor
ICAgIDxzdHlsZT4KKyAgICBAZm9udC1mYWNlIHsKKyAgICAgICAgZm9udC1mYW1pbHk6IGFoZW07
CisgICAgICAgIHNyYzogdXJsKCcke3VybH0nKTsKKyAgICB9CisgICAgPC9zdHlsZT4KKyAgICA8
ZGl2IHN0eWxlPSJmb250LWZhbWlseTogYWhlbTsiPlRoaXMgZmV0Y2hlcyBhaGVtIGZvbnQuPC9k
aXY+CisgIGA7CisgIHJldHVybiBkb2N1bWVudC5mb250cy5yZWFkeTsKK307CisKK2NvbnN0IHJ1
bl90ZXN0ID0gYXN5bmMgKHQsIHVybCkgPT4geworICAvLyBTZXQgdXAgUGVyZm9ybWFuY2VPYnNl
cnZlcgorICBjb25zdCBocmVmID0gbmV3IFVSTCh1cmwpLmhyZWY7CisgIGNvbnN0IHNldFBlcmZv
cm1hbmNlT2JzZXJ2ZXIgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBjb25zdCBwbyA9
IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHJlc29sdmUpOworICAgIHBvLm9ic2VydmUoe3R5cGU6
ICJyZXNvdXJjZSJ9KTsKKyAgfSk7CisKKyAgLy8gTG9hZCB0aGUgZm9udCByZXNvdXJjZSBhbmQg
d2FpdCBmb3IgaXQgdG8gYmUgZmV0Y2hlZC4KKyAgYXdhaXQgbG9hZF9mb250KGhyZWYpOworCisg
IC8vIFdhaXQgZm9yIGFuIGVudHJ5CisgIGNvbnN0IHRpbWVvdXQgPSBuZXcgUHJvbWlzZShyZXNv
bHZlID0+IHQuc3RlcF90aW1lb3V0KHJlc29sdmUsIDMwMDApKTsKKyAgY29uc3QgbGlzdCA9IGF3
YWl0IFByb21pc2UucmFjZShbc2V0UGVyZm9ybWFuY2VPYnNlcnZlciwgdGltZW91dF0pOworICBh
c3NlcnRfZXF1YWxzKHR5cGVvZihsaXN0KSwgIm9iamVjdCIsICJObyBpZnJhbWUgZW50cnkgd2Fz
IGZpcmVkIik7CisgIGNvbnN0IGVudHJpZXMgPSBsaXN0LmdldEVudHJpZXNCeU5hbWUodXJsKTsK
KyAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisKKyAgLy8gVGVzdCBlbnRyeSB2
YWx1ZXMKKyAgY29uc3QgZW50cnkgPSBlbnRyaWVzWzBdOworICBhc3NlcnRfZ3JlYXRlcl90aGFu
KGVudHJ5LmZldGNoU3RhcnQsIDAsICJmZXRjaFN0YXJ0IHNob3VsZCBiZSBncmVhdGVyIHRoYW4g
MCBpbiByZWRpcmVjdHMuIik7CisgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkuZG9t
YWluTG9va3VwU3RhcnQsIGVudHJ5LmZldGNoU3RhcnQsICJkb21haW5Mb29rdXBTdGFydCBzaG91
bGQgYmUgbW9yZSB0aGFuIDAgaW4gc2FtZS1vcmlnaW4gcmVkaXJlY3QuIik7CisgIGFzc2VydF9n
cmVhdGVyX3RoYW5fZXF1YWwoZW50cnkuZG9tYWluTG9va3VwRW5kLCBlbnRyeS5kb21haW5Mb29r
dXBTdGFydCwgImRvbWFpbkxvb2t1cEVuZCBzaG91bGQgYmUgbW9yZSB0aGFuIDAgaW4gc2FtZS1v
cmlnaW4gcmVkaXJlY3QuIik7CisgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkuY29u
bmVjdFN0YXJ0LCBlbnRyeS5kb21haW5Mb29rdXBFbmQsICJjb25uZWN0U3RhcnQgc2hvdWxkIGJl
IG1vcmUgdGhhbiAwIGluIHNhbWUtb3JpZ2luIHJlZGlyZWN0LiIpOworICBhc3NlcnRfZ3JlYXRl
cl90aGFuX2VxdWFsKGVudHJ5LnNlY3VyZUNvbm5lY3Rpb25TdGFydCwgZW50cnkuY29ubmVjdFN0
YXJ0LCAic2VjdXJlQ29ubmVjdGlvblN0YXJ0IHNob3VsZCBiZSBtb3JlIHRoYW4gMCBpbiBzYW1l
LW9yaWdpbiByZWRpcmVjdC4iKTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChlbnRyeS5j
b25uZWN0RW5kLCBlbnRyeS5zZWN1cmVDb25uZWN0aW9uU3RhcnQsICJjb25uZWN0RW5kIHNob3Vs
ZCBiZSBtb3JlIHRoYW4gMCBpbiBzYW1lLW9yaWdpbiByZWRpcmVjdC4iKTsKKyAgYXNzZXJ0X2dy
ZWF0ZXJfdGhhbl9lcXVhbChlbnRyeS5yZXF1ZXN0U3RhcnQsIGVudHJ5LmNvbm5lY3RFbmQsICJy
ZXF1ZXN0U3RhcnQgc2hvdWxkIGJlIG1vcmUgdGhhbiAwIGluIHNhbWUtb3JpZ2luIHJlZGlyZWN0
LiIpOworICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LnJlc3BvbnNlU3RhcnQsIGVu
dHJ5LnJlcXVlc3RTdGFydCwgInJlc3BvbnNlU3RhcnQgc2hvdWxkIGJlIG1vcmUgdGhhbiAwIGlu
IHNhbWUtb3JpZ2luIHJlZGlyZWN0LiIpOworICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVu
dHJ5LnJlc3BvbnNlRW5kLCBlbnRyeS5yZXNwb25zZVN0YXJ0LCAicmVzcG9uc2VFbmQgc2hvdWxk
IGJlIGdyZWF0ZXIgdGhhbiAwIGluIHJlZGlyZWN0cy4iKTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhh
bl9lcXVhbChlbnRyeS5kdXJhdGlvbiwgMCwgImR1cmF0aW9uIHNob3VsZCBiZSBncmVhdGVyIHRo
YW4gMCBpbiByZWRpcmVjdHMuIik7Cit9CisKK2NvbnN0IHtIVFRQU19SRU1PVEVfT1JJR0lOfSA9
IGdldF9ob3N0X2luZm8oKTsKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHJ1bl90ZXN0
KHQsIEhUVFBTX1JFTU9URV9PUklHSU4gKyAiL2ZvbnRzL0FoZW0udHRmIik7Cit9LCAiVGVzdCBh
IGZvbnQncyB0aW1lc3RhbXBzIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHJ1
bl90ZXN0KHQsIEhUVFBTX1JFTU9URV9PUklHSU4gKyAiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZXMvY29ycy1haGVtLnB5P3BpcGU9dHJpY2tsZShkMSkiKTsKK30sICJUZXN0IGEgZm9udCdzIHRp
bWVzdGFtcHMgd2l0aCBkZWxheXMiKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaWZyYW1l
LWZhaWxlZC1jb21taXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaWZyYW1lLWZhaWxlZC1jb21taXQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0NGJkMTc1MmYyOTI2ZjIzZjNjYjMwNzdhM2E2ZWM3NTJm
ODE1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9pZnJhbWUtZmFpbGVkLWNvbW1pdC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxNCBAQAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0
dHBzOi8vbm9uZXhpc3RlbnQubG9jYWxob3N0Ojk0NDMvCitCbG9ja2VkIGFjY2VzcyB0byBleHRl
cm5hbCBVUkwgaHR0cHM6Ly9ub25leGlzdGVudC5sb2NhbGhvc3Q6OTQ0My8KKworCitQQVNTIFBy
ZWNvbmRpdGlvbgorRkFJTCBUZXN0IGlmcmFtZSBmcm9tIG5vbi1leGlzdGVudCBob3N0IGFzc2Vy
dF9lcXVhbHM6IE5vIGlmcmFtZSBlbnRyeSB3YXMgZmlyZWQgZXhwZWN0ZWQgIm9iamVjdCIgYnV0
IGdvdCAidW5kZWZpbmVkIgorRkFJTCBUZXN0IGlmcmFtZSByZWRpcmVjdGluZyB0byBub24tZXhp
c3RlbnQgaG9zdCBhc3NlcnRfZXF1YWxzOiBObyBpZnJhbWUgZW50cnkgd2FzIGZpcmVkIGV4cGVj
dGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKK1BBU1MgU2FtZS1vcmlnaW4gaWZyYW1l
IHRoYXQgY29tcGxpZXMgd2l0aCBDU1AgYXR0cmlidXRlIGdldHMgcmVwb3J0ZWQKK1BBU1MgU2Ft
ZS1vcmlnaW4gaWZyYW1lIHRoYXQgZG9lc24ndCBjb21wbHkgd2l0aCBDU1AgYXR0cmlidXRlIGdl
dHMgcmVwb3J0ZWQKK1BBU1MgQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB0aGF0IGNvbXBsaWVzIHdpdGgg
Q1NQIGF0dHJpYnV0ZSBnZXRzIHJlcG9ydGVkCitQQVNTIENyb3NzLW9yaWdpbiBpZnJhbWUgdGhh
dCBkb2Vzbid0IGNvbXBseSB3aXRoIENTUCBhdHRyaWJ1dGUgZ2V0cyByZXBvcnRlZAorRkFJTCBT
YW1lLW9yaWdpbiBlbXB0eSBpZnJhbWUgd2l0aCBhIDIwMCBzdGF0dXMgZ2V0cyByZXBvcnRlZCBh
c3NlcnRfZXF1YWxzOiBObyBpZnJhbWUgZW50cnkgd2FzIGZpcmVkIGV4cGVjdGVkICJvYmplY3Qi
IGJ1dCBnb3QgInVuZGVmaW5lZCIKK0ZBSUwgQ3Jvc3Mtb3JpZ2luIGVtcHR5IGlmcmFtZSB3aXRo
IGEgMjAwIHN0YXR1cyBnZXRzIHJlcG9ydGVkIGFzc2VydF9lcXVhbHM6IE5vIGlmcmFtZSBlbnRy
eSB3YXMgZmlyZWQgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9pZnJhbWUtZmFpbGVkLWNvbW1pdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaWZyYW1lLWZhaWxlZC1j
b21taXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OWJkOTM0MjdjMWQzOWFjNWFlZDkyOGNhYTNkMDI1MzU1
N2RkNDE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaWZyYW1lLWZhaWxlZC1jb21taXQuaHRtbApA
QCAtMCwwICsxLDgwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmcgLSB0ZXN0IHRoYXQgdW5z
dWNjZXNzZnVsIGlmcmFtZXMgY3JlYXRlIGVudHJpZXM8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24v
Z2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0PgordGVzdCgo
KSA9PiB7CisgIGNvbnN0IGVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJy
ZXNvdXJjZSIpOworICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAzLCAiUHJlY29uZGl0
aW9uIC0gRW50cmllcyBmb3IgYmxvY2tpbmcgc2NyaXB0cyBmaXJlZCIpOworfSwgIlByZWNvbmRp
dGlvbiIpOworCitjb25zdCBydW5fdGVzdCA9IGFzeW5jICh0LCB1cmwsIGNzcCkgPT4geworICBj
b25zdCBzZXRQZXJmb3JtYW5jZU9ic2VydmVyID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Cisg
ICAgY29uc3QgcG8gPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihyZXNvbHZlKTsKKyAgICBwby5v
YnNlcnZlKHt0eXBlOiAicmVzb3VyY2UifSk7CisgIH0pOworICBjb25zdCB0aW1lb3V0ID0gbmV3
IFByb21pc2UocmVzb2x2ZSA9PiB0LnN0ZXBfdGltZW91dChyZXNvbHZlLCAxMDAwKSk7CisgIGNv
bnN0IGZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CisgIGZyYW1lLnNy
YyA9IHVybDsKKyAgaWYgKGNzcCkgeworICAgIGZyYW1lLmNzcCA9IGNzcDsKKyAgfQorICBkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKGZyYW1lKTsKKyAgY29uc3QgbGlzdCA9IGF3YWl0IFByb21p
c2UucmFjZShbc2V0UGVyZm9ybWFuY2VPYnNlcnZlciwgdGltZW91dF0pOworICBhc3NlcnRfZXF1
YWxzKHR5cGVvZihsaXN0KSwgIm9iamVjdCIsICJObyBpZnJhbWUgZW50cnkgd2FzIGZpcmVkIik7
CisgIGNvbnN0IGVudHJpZXMgPSBsaXN0LmdldEVudHJpZXNCeU5hbWUodXJsKTsKKyAgYXNzZXJ0
X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgIGFzc2VydF9ncmVhdGVyX3RoYW4oZW50cmll
c1swXS5kdXJhdGlvbiwgMCwgIkR1cmF0aW9uIGdyZWF0ZXIgdGhhbiAwIik7Cit9CisKK2NvbnN0
IHtSRU1PVEVfT1JJR0lOLCBPUklHSU5BTF9IT1NULCBIVFRQU19QT1JUfSA9IGdldF9ob3N0X2lu
Zm8oKTsKK2NvbnN0IG5vbmV4aXN0ZW50X3VybCA9ICJodHRwczovL25vbmV4aXN0ZW50LiIgKyBP
UklHSU5BTF9IT1NUICsgIjoiICsgSFRUUFNfUE9SVCArICIvIjsKKworcHJvbWlzZV90ZXN0KHQg
PT4geworICByZXR1cm4gcnVuX3Rlc3QodCwgbm9uZXhpc3RlbnRfdXJsKTsKK30sICJUZXN0IGlm
cmFtZSBmcm9tIG5vbi1leGlzdGVudCBob3N0Iik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAg
Y29uc3QgdXJsID0gbmV3IFVSTCgicmVzb3VyY2VzL2Zha2VfcmVzcG9uc2VzLnB5P3JlZGlyZWN0
PSIgKyBub25leGlzdGVudF91cmwsIGxvY2F0aW9uLmhyZWYpOworICByZXR1cm4gcnVuX3Rlc3Qo
dCwgdXJsLnRvU3RyaW5nKCkpOworfSwgIlRlc3QgaWZyYW1lIHJlZGlyZWN0aW5nIHRvIG5vbi1l
eGlzdGVudCBob3N0Iik7CisKK2NvbnN0IGNzcF9kaXJlY3RpdmUgPSAiZGVmYXVsdC1zcmMgJ25v
bmUnIjsKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgY29uc3QgdXJsID0gbmV3IFVSTCgiL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvY3NwLWRlZmF1bHQtbm9uZS5odG1sIiwgbG9jYXRpb24uaHJl
Zik7CisgIHJldHVybiBydW5fdGVzdCh0LCB1cmwsIGNzcF9kaXJlY3RpdmUpOworfSwgIlNhbWUt
b3JpZ2luIGlmcmFtZSB0aGF0IGNvbXBsaWVzIHdpdGggQ1NQIGF0dHJpYnV0ZSBnZXRzIHJlcG9y
dGVkIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgY29uc3QgdXJsID0gbmV3IFVSTCgiL3Jl
c291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4tZnJhbWUuaHRtbCIsIGxvY2F0aW9uLmhyZWYp
OworICByZXR1cm4gcnVuX3Rlc3QodCwgdXJsLnRvU3RyaW5nKCksIGNzcF9kaXJlY3RpdmUpOwor
fSwgIlNhbWUtb3JpZ2luIGlmcmFtZSB0aGF0IGRvZXNuJ3QgY29tcGx5IHdpdGggQ1NQIGF0dHJp
YnV0ZSBnZXRzIHJlcG9ydGVkIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgY29uc3QgdXJs
ID0gbmV3IFVSTCgiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvY3NwLWRlZmF1bHQtbm9uZS5o
dG1sIiwgUkVNT1RFX09SSUdJTik7CisgIHJldHVybiBydW5fdGVzdCh0LCB1cmwudG9TdHJpbmco
KSwgY3NwX2RpcmVjdGl2ZSk7Cit9LCAiQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB0aGF0IGNvbXBsaWVz
IHdpdGggQ1NQIGF0dHJpYnV0ZSBnZXRzIHJlcG9ydGVkIik7CisKK3Byb21pc2VfdGVzdCh0ID0+
IHsKKyAgY29uc3QgdXJsID0gbmV3IFVSTCgiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3Jl
ZW4tZnJhbWUuaHRtbCIsIFJFTU9URV9PUklHSU4pOworICByZXR1cm4gcnVuX3Rlc3QodCwgdXJs
LnRvU3RyaW5nKCksIGNzcF9kaXJlY3RpdmUpOworfSwgIkNyb3NzLW9yaWdpbiBpZnJhbWUgdGhh
dCBkb2Vzbid0IGNvbXBseSB3aXRoIENTUCBhdHRyaWJ1dGUgZ2V0cyByZXBvcnRlZCIpOworCitw
cm9taXNlX3Rlc3QodCA9PiB7CisgIGNvbnN0IHVybCA9IG5ldyBVUkwoIi9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VzLzIwMF9lbXB0eS5hc2lzIiwgbG9jYXRpb24uaHJlZik7CisgIHJldHVybiBy
dW5fdGVzdCh0LCB1cmwudG9TdHJpbmcoKSwgY3NwX2RpcmVjdGl2ZSk7Cit9LCAiU2FtZS1vcmln
aW4gZW1wdHkgaWZyYW1lIHdpdGggYSAyMDAgc3RhdHVzIGdldHMgcmVwb3J0ZWQiKTsKKworcHJv
bWlzZV90ZXN0KHQgPT4geworICBjb25zdCB1cmwgPSBuZXcgVVJMKCIvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlcy8yMDBfZW1wdHkuYXNpcyIsIFJFTU9URV9PUklHSU4pOworICByZXR1cm4gcnVu
X3Rlc3QodCwgdXJsLnRvU3RyaW5nKCksIGNzcF9kaXJlY3RpdmUpOworfSwgIkNyb3NzLW9yaWdp
biBlbXB0eSBpZnJhbWUgd2l0aCBhIDIwMCBzdGF0dXMgZ2V0cyByZXBvcnRlZCIpOworCis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2luaXRpYXRvci10eXBlLWZv
ci1zY3JpcHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaW5pdGlhdG9yLXR5cGUtZm9yLXNjcmlwdC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNDkxOTg3YjYwYmI2NjY4MzdmOTY2OTg3ZmQyYjMwN2NjMjYw
N2Q4OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2luaXRpYXRvci10eXBlLWZvci1zY3JpcHQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFZhbGlkYXRlIGluaXRpYXRvclR5cGUg
Zm9yIHNjcmlwdHMgaXMgJ3NjcmlwdCcKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaW5pdGlhdG9yLXR5cGUt
Zm9yLXNjcmlwdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvaW5pdGlhdG9yLXR5cGUtZm9yLXNjcmlwdC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjcyMTczMzk4ZDU2YWE0OGZkM2Q5ODE3YTA1OGMxOTExNWU3ZGY5ZGQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9pbml0aWF0b3ItdHlwZS1mb3Itc2NyaXB0Lmh0bWwKQEAgLTAsMCArMSw2
NyBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiIC8+Cis8dGl0bGU+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSBpbml0aWF0b3JUeXBl
IGluZm9ybWF0aW9uIGZvciB2YXJpb3VzCitSZXNvdXJjZSBUaW1pbmcgZW50cmllcyBpcyBhY2N1
cmF0ZSBmb3Igc2NyaXB0cy48L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIgorICAgICAgaHJlZj0i
aHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNkb20tcGVyZm9ybWFuY2Vy
ZXNvdXJjZXRpbWluZy1pbml0aWF0b3J0eXBlIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1p
bmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxv
YWRlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9lbnRyeS1pbnZhcmlh
bnRzLmpzIj48L3NjcmlwdD4KKzwhLS0gVGVzdGVkIHJlc291cmNlcyAtLT4KKzxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvZW1wdHlfc2NyaXB0LmpzP2lkPWJsb2NraW5nIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvZW1wdHlfc2NyaXB0LmpzP2lkPWFzeW5jIiBhc3luYz48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW1wdHlfc2NyaXB0LmpzP2lkPWFzeW5jX2ZhbHNl
IiBhc3luYz1mYWxzZT48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW1wdHlfc2Ny
aXB0LmpzP2lkPWRlZmVyIiBkZWZlcj48L3NjcmlwdD4KKzxzY3JpcHQ+Citkb2N1bWVudC53cml0
ZSgiPHNjcmlwdCBzcmM9J3Jlc291cmNlcy9lbXB0eV9zY3JpcHQuanM/aWQ9ZG9jX3dyaXR0ZW4n
Pjwvc2NyIgorICAgICAgICAgICAgICAgKyAiaXB0PiIpOworCitjb25zdCBoZWFkID0gZG9jdW1l
bnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXTsKK2NvbnN0IHMxID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CitzMS5zcmMgPSAiZW1wdHlfc2NyaXB0LmpzP2lkPWFw
cGVuZGVkIjsKK2hlYWQuYXBwZW5kQ2hpbGQoczEpOworCitjb25zdCBzMiA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInNjcmlwdCIpOworczIuc3JjID0gImVtcHR5X3NjcmlwdC5qcz9pZD1hcHBl
bmRlZF9hc3luYyI7CitzMi5hc3luYyA9IHRydWU7CitoZWFkLmFwcGVuZENoaWxkKHMyKTsKKwor
Y29uc3QgczMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKK3MzLnNyYyA9ICJl
bXB0eV9zY3JpcHQuanM/aWQ9YXBwZW5kZWRfYXluY19mYWxzZSI7CitzMy5hc3luYyA9IGZhbHNl
OworaGVhZC5hcHBlbmRDaGlsZChzMyk7CisKK2NvbnN0IHM0ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgic2NyaXB0Iik7CitzNC5zcmMgPSAiZW1wdHlfc2NyaXB0LmpzP2lkPWFwcGVuZGVkX2Rl
ZmVyIjsKK3M0LmRlZmVyID0gdHJ1ZTsKK2hlYWQuYXBwZW5kQ2hpbGQoczQpOworPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisKK2NvbnN0IHdhaXRfZm9yX29ubG9hZCA9ICgp
ID0+IHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIHdpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCJsb2FkIiwgcmVzb2x2ZSk7Cit9KX07CisKK3Byb21pc2VfdGVzdCgKKyAg
YXN5bmMgKCkgPT4geworICAgIGF3YWl0IHdhaXRfZm9yX29ubG9hZCgpOworCisgICAgY29uc3Qg
ZW50cnlfbGlzdCA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoInJlc291cmNlIik7Cisg
ICAgZm9yIChlbnRyeSBvZiBlbnRyeV9saXN0KSB7CisgICAgICBpZiAoZW50cnkubmFtZS5pbmNs
dWRlcygiZW1wdHlfc2NyaXB0LmpzIikpIHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyeS5p
bml0aWF0b3JUeXBlLCAic2NyaXB0IiwKKyAgICAgICAgICAgICAgICAgICAgICAiaW5pdGlhdG9y
VHlwZSBzaG91bGQgYmUgJ3NjcmlwdCcgZm9yICIgKyBlbnRyeS5uYW1lKTsKKyAgICAgIH0KKyAg
ICB9Cit9LCAiVmFsaWRhdGUgaW5pdGlhdG9yVHlwZSBmb3Igc2NyaXB0cyBpcyAnc2NyaXB0JyIp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL25leHRIb3BQ
cm90b2NvbC1pcy10YW8tcHJvdGVjdGVkLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL25leHRIb3BQ
cm90b2NvbC1pcy10YW8tcHJvdGVjdGVkLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
NGNiYmFhNGQyMDViNWM0NDdmZjhmYzA0NGQ2OGJkYTI1MDM0MGQ3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvbmV4dEhvcFByb3RvY29sLWlzLXRhby1wcm90ZWN0ZWQuaHR0cHMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNCBAQAorCitGQUlMIEFkZCBUQU8tbGVzcyBpZnJhbWUgZnJvbSByZW1vdGUg
b3JpZ2luLiBNYWtlIHN1cmUgbmV4dEhvcFByb3RvY29sIGlzIHRoZSBlbXB0eSBzdHJpbmcgYXNz
ZXJ0X2VxdWFsczogbmV4dEhvcFByb3RvY29sIHNob3VsZCBiZSB0aGUgZW1wdHkgc3RyaW5nIGV4
cGVjdGVkICIiIGJ1dCBnb3QgImh0dHAvMS4xIgorUEFTUyBBZGQgVEFPJ2QgaWZyYW1lIGZyb20g
cmVtb3RlIG9yaWdpbi4gTWFrZSBzdXJlIG5leHRIb3BQcm90b2NvbCBpcyBub3QgdGhlIGVtcHR5
IHN0cmluZworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9uZXh0SG9wUHJvdG9jb2wtaXMtdGFvLXByb3RlY3Rl
ZC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvbmV4dEhvcFByb3RvY29sLWlzLXRhby1wcm90ZWN0ZWQuaHR0cHMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lMGU5NmFmOGU4MGNmNGZiMDZkN2YxYjMzOTNmMjE5MTI2NWIyM2Nl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvbmV4dEhvcFByb3RvY29sLWlzLXRhby1wcm90ZWN0ZWQu
aHR0cHMuaHRtbApAQCAtMCwwICsxLDM4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmcgLSBD
aGVjayB0aGF0IG5leHRIb3BQcm90b2NvbCBpcyBUQU8gcHJvdGVjdGVkPC90aXRsZT4KKzxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0y
LyNzZWMtcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhv
c3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9lbnRyeS1p
bnZhcmlhbnRzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2Ut
bG9hZGVycy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisKK2NvbnN0
IHtIVFRQU19SRU1PVEVfT1JJR0lOfSA9IGdldF9ob3N0X2luZm8oKTsKK2NvbnN0IHJlbW90ZV9y
ZXNvdXJjZXMgPSBgJHtIVFRQU19SRU1PVEVfT1JJR0lOfS9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2VzYDsKKworLy8gQWRkIGlmcmFtZSB0byByZW1vdGUgb3JpZ2luIC0gcGFnZSB3aXRob3V0IFRB
TworYXR0cmlidXRlX3Rlc3QoCisgIGxvYWQuaWZyYW1lLCBgJHtyZW1vdGVfcmVzb3VyY2VzfS9n
cmVlbi5odG1gLAorICBlbnRyeSA9PiBhc3NlcnRfZXF1YWxzKGVudHJ5Lm5leHRIb3BQcm90b2Nv
bCwgIiIsCisgICAgIm5leHRIb3BQcm90b2NvbCBzaG91bGQgYmUgdGhlIGVtcHR5IHN0cmluZyIp
LAorICAiQWRkIFRBTy1sZXNzIGlmcmFtZSBmcm9tIHJlbW90ZSBvcmlnaW4uIE1ha2Ugc3VyZSBu
ZXh0SG9wUHJvdG9jb2wgaXMgdGhlICIgKworICAiZW1wdHkgc3RyaW5nIgorKTsKKworLy8gQWRk
IGlmcmFtZSB0byByZW1vdGUgb3JpZ2luIC0gcGFnZSB3aXRoIFRBTworYXR0cmlidXRlX3Rlc3Qo
CisgIGxvYWQuaWZyYW1lLCBgJHtyZW1vdGVfcmVzb3VyY2VzfS9ibGFuay13aXRoLXRhby5odG1s
YCwKKyAgZW50cnkgPT4gYXNzZXJ0X25vdF9lcXVhbHMoZW50cnkubmV4dEhvcFByb3RvY29sLCAi
IiwKKyAgICAibmV4dEhvcFByb3RvY29sIHNob3VsZCBub3QgYmUgdGhlIGVtcHR5IHN0cmluZyIp
LAorICAiQWRkIFRBTydkIGlmcmFtZSBmcm9tIHJlbW90ZSBvcmlnaW4uIE1ha2Ugc3VyZSBuZXh0
SG9wUHJvdG9jb2wgaXMgbm90ICIgKworICAidGhlIGVtcHR5IHN0cmluZyIKKyk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0
ZXItVEFPLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90
LWZvdW5kLWFmdGVyLVRBTy1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjM2N2Y2MGNmMTU2ZTQ0OWY3YjVmMWUyOTUwYmQ3OWZkMzI1MDExNzIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLVRBTy1jcm9zcy1vcmlnaW4tcmVk
aXJlY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorCisKK0hhcm5lc3MgRXJyb3IgKFRJ
TUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZp
bmVkCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lIGlzIGRlZmluZWQK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1UQU8tY3Jvc3Mtb3JpZ2lu
LXJlZGlyZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLVRBTy1jcm9zcy1vcmln
aW4tcmVkaXJlY3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMGRhZDkzODFiYTQyYmM4NDhlYmVjYTg2YWNh
ZjdmMTBhN2ExZTgyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRl
ci1UQU8tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NU
WVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0
bGU+VGhpcyB0ZXN0IHZhbGlkYXRlcyByZXNvdXJjZSB0aW1pbmcgaW5mb3JtYXRpb24gZm9yIGEg
dGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0IGNoYWluLjwvdGl0bGU+Cis8bGlu
ayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8j
cGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L2NvbW1vbi9nZXQtaG9zdC1pbmZv
LnN1Yi5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJu
ZXNzZXh0ZW5zaW9uLmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KKyAgICBzZXR1cCh7ZXhwbGlj
aXRfZG9uZTogdHJ1ZX0pOworICAgIHRlc3RfbmFtZXNwYWNlKCdnZXRFbnRyaWVzQnlOYW1lJyk7
CisKKyAgICBmdW5jdGlvbiBvbmxvYWRfdGVzdCgpCisgICAgeworICAgICAgICBjb25zdCBjb250
ZXh0ID0gbmV3IFBlcmZvcm1hbmNlQ29udGV4dChwZXJmb3JtYW5jZSk7CisgICAgICAgIGNvbnN0
IGVudHJpZXMgPSBjb250ZXh0LmdldEVudHJpZXNCeU5hbWUoZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cignb2JqZWN0JykuZGF0YSwgJ3Jlc291cmNlJyk7CisgICAgICAgIHRlc3RfZXF1YWxzKGVudHJp
ZXMubGVuZ3RoLCAxLCAnVGhlcmUgc2hvdWxkIGJlIG9uZSBlbnRyeS4nKTsKKyAgICAgICAgY29u
c3QgZW50cnkgPSBlbnRyaWVzWzBdOworCisgICAgICAgIHRlc3RfZ3JlYXRlcl90aGFuKGVudHJ5
LnJlZGlyZWN0U3RhcnQsIDAsICdyZWRpcmVjdFN0YXJ0ID4gMCBpbiB0aW1pbmcgYWxsb3dlZCBj
cm9zcy1vcmlnaW4gcmVkaXJlY3QuJyk7CisgICAgICAgIHRlc3RfZXF1YWxzKGVudHJ5LnJlZGly
ZWN0U3RhcnQsIGVudHJ5LnN0YXJ0VGltZSwgJ3JlZGlyZWN0U3RhcnQgPT0gc3RhcnRUaW1lIGlu
IHRpbWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4nKTsKKyAgICAgICAgdGVzdF9n
cmVhdGVyX3RoYW4oZW50cnkucmVkaXJlY3RFbmQsIGVudHJ5LnJlZGlyZWN0U3RhcnQsICdyZWRp
cmVjdEVuZCA+IHJlZGlyZWN0U3RhcnQgaW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2luIHJl
ZGlyZWN0LicpOworICAgICAgICB0ZXN0X2dyZWF0ZXJfb3JfZXF1YWxzKGVudHJ5LmZldGNoU3Rh
cnQsIGVudHJ5LnJlZGlyZWN0RW5kLCAnZmV0Y2hTdGFydCA+PSByZWRpcmVjdEVuZCBpbiB0aW1p
bmcgYWxsb3dlZCBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuJyk7CisgICAgICAgIGRvbmUoKTsKKyAg
ICB9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGxldCBkZXN0
VXJsID0gZ2V0X2hvc3RfaW5mbygpLkhUVFBfUkVNT1RFX09SSUdJTiArICcvcmVzb3VyY2UtdGlt
aW5nL3Jlc291cmNlcy9tdWx0aV9yZWRpcmVjdC5weT8nOworICAgIGRlc3RVcmwgKz0gJ3BhZ2Vf
b3JpZ2luPScgKyAnaHR0cDovLycgKyBkb2N1bWVudC5sb2NhdGlvbi5ob3N0OworICAgIGRlc3RV
cmwgKz0gJyZjcm9zc19vcmlnaW49JyArIGdldF9ob3N0X2luZm8oKS5IVFRQX1JFTU9URV9PUklH
SU47CisgICAgZGVzdFVybCArPSAnJmZpbmFsX3Jlc291cmNlPScgKyBlbmNvZGVVUklDb21wb25l
bnQoIi9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3N0YXR1cy1jb2RlLnB5P3N0YXR1cz00MDQm
dGFvX3ZhbHVlPSoiKTsKKyAgICBkZXN0VXJsICs9ICcmdGFvX3N0ZXBzPTMnOworICAgIGNvbnN0
IG9iakVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvYmplY3QnKTsKKyAgICBvYmpF
bGVtZW50LnN0eWxlID0gJ3dpZHRoOiAwcHg7IGhlaWdodDogMHB4Oyc7CisgICAgb2JqRWxlbWVu
dC5kYXRhID0gZGVzdFVybDsKKyAgICBvYmpFbGVtZW50Lm9uZXJyb3IgPSBvbmxvYWRfdGVzdDsK
KyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG9iakVsZW1lbnQpOworPC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLWNy
b3NzLW9yaWdpbi1yZWRpcmVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFm
dGVyLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzY3ZjYw
Y2YxNTZlNDQ5ZjdiNWYxZTI5NTBiZDc5ZmQzMjUwMTE3MgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L29iamVjdC1ub3QtZm91bmQtYWZ0ZXItY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDcgQEAKKworCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9
IG51bGwKKworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZAorUEFTUyB3aW5kb3cu
cGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSBpcyBkZWZpbmVkCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L29iamVjdC1ub3QtZm91bmQtYWZ0ZXItY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9v
YmplY3Qtbm90LWZvdW5kLWFmdGVyLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmE0NTVlYzQwNmIzZTk1MTlkOTliYmZlYjEyYTQ0ZTcyMTRjNjZlNmIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5o
dG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlRoaXMgdGVzdCB2YWxpZGF0ZXMgcmVzb3Vy
Y2UgdGltaW5nIGluZm9ybWF0aW9uIGZvciBhIGNyb3NzLW9yaWdpbiByZWRpcmVjdCBjaGFpbi48
L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNv
dXJjZS10aW1pbmcvI3BlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9jb21tb24v
Z2V0LWhvc3QtaW5mby5zdWIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dl
YnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dl
YnBlcmZ0ZXN0aGFybmVzc2V4dGVuc2lvbi5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQ+CisgICAg
c2V0dXAoe2V4cGxpY2l0X2RvbmU6IHRydWV9KTsKKyAgICB0ZXN0X25hbWVzcGFjZSgnZ2V0RW50
cmllc0J5TmFtZScpOworCisgICAgZnVuY3Rpb24gb25sb2FkX3Rlc3QoKQorICAgIHsKKyAgICAg
ICAgY29uc3QgY29udGV4dCA9IG5ldyBQZXJmb3JtYW5jZUNvbnRleHQocGVyZm9ybWFuY2UpOwor
ICAgICAgICBjb25zdCBlbnRyaWVzID0gY29udGV4dC5nZXRFbnRyaWVzQnlOYW1lKGRvY3VtZW50
LnF1ZXJ5U2VsZWN0b3IoJ29iamVjdCcpLmRhdGEsICdyZXNvdXJjZScpOworICAgICAgICB0ZXN0
X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgJ1RoZXJlIHNob3VsZCBiZSBvbmUgZW50cnkuJyk7
CisgICAgICAgIGNvbnN0IGVudHJ5ID0gZW50cmllc1swXTsKKworICAgICAgICB0ZXN0X2VxdWFs
cyhlbnRyeS5yZWRpcmVjdFN0YXJ0LCAwLCAncmVkaXJlY3RTdGFydCA9PSAwIGluIGNyb3NzLW9y
aWdpbiByZWRpcmVjdC4nKTsKKyAgICAgICAgdGVzdF9lcXVhbHMoZW50cnkucmVkaXJlY3RFbmQs
IDAsICdyZWRpcmVjdEVuZCA9PSAwIGluIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4nKTsKKyAgICAg
ICAgdGVzdF9ncmVhdGVyX3RoYW4oZW50cnkuZmV0Y2hTdGFydCwgMCwgJ2ZldGNoU3RhcnQgPiAw
IGluIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4nKTsKKyAgICAgICAgdGVzdF9lcXVhbHMoZW50cnku
c3RhcnRUaW1lLCBlbnRyeS5mZXRjaFN0YXJ0LCAnc3RhcnRUaW1lID09IGZldGNoU3RhcnQgaW4g
Y3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LicpOworICAgICAgICBkb25lKCk7CisgICAgfQorPC9zY3Jp
cHQ+CisKKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKyAgICBsZXQgZGVzdFVybCA9IGdldF9o
b3N0X2luZm8oKS5IVFRQX1JFTU9URV9PUklHSU4gKyAnL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZXMvbXVsdGlfcmVkaXJlY3QucHk/JzsKKyAgICBkZXN0VXJsICs9ICdwYWdlX29yaWdpbj0nICsg
J2h0dHA6Ly8nICsgZG9jdW1lbnQubG9jYXRpb24uaG9zdDsKKyAgICBkZXN0VXJsICs9ICcmY3Jv
c3Nfb3JpZ2luPScgKyBnZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lOOworICAgIGRl
c3RVcmwgKz0gJyZmaW5hbF9yZXNvdXJjZT0nICsgZW5jb2RlVVJJQ29tcG9uZW50KCIvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy9zdGF0dXMtY29kZS5weT9zdGF0dXM9NDA0Iik7CisgICAgY29u
c3Qgb2JqRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ29iamVjdCcpOworICAgIG9i
akVsZW1lbnQuc3R5bGUgPSAnd2lkdGg6IDBweDsgaGVpZ2h0OiAwcHg7JzsKKyAgICBvYmpFbGVt
ZW50LmRhdGEgPSBkZXN0VXJsOworICAgIG9iakVsZW1lbnQub25lcnJvciA9IG9ubG9hZF90ZXN0
OworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQob2JqRWxlbWVudCk7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3JlZGlyZWN0cy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZWRpcmVjdHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI3NTJkZTFlY2RhNjFiMjVh
YTg0OWRlZTlkZWI2OWYyNWQwYTM2ZTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZWRpcmVjdHMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2
YWxpZGF0ZXMgdGhhdCwgd2hlbiBhIGZldGNoaW5nIHJlc291cmNlcyB0aGF0IGVuY291bnRlciBz
YW1lLW9yaWdpbiByZWRpcmVjdHMsIGF0dHJpYnV0ZXMgb2YgdGhlIFBlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmcgZW50cnkgY29uZm9ybSB0byB0aGUgc3BlY2lmaWNhdGlvbi4KKworCitQQVNTIFZl
cmlmeSBhdHRyaWJ1dGVzIG9mIGEgcmVkaXJlY3RlZCBzdHlsZXNoZWV0J3MgUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZworUEFTUyBWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgaW1h
Z2UncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nCitQQVNTIFZlcmlmeSBhdHRyaWJ1dGVzIG9m
IGEgcmVkaXJlY3RlZCBpZnJhbWUncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nCitQQVNTIFZl
cmlmeSBhdHRyaWJ1dGVzIG9mIGEgcmVkaXJlY3RlZCBzY3JpcHQncyBQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nCitQQVNTIFZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEgcmVkaXJlY3RlZCBzeW5jaHJv
bm91cyBYTUxIdHRwUmVxdWVzdCdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcKK1BBU1MgVmVy
aWZ5IGF0dHJpYnV0ZXMgb2YgYSBzeW5jaHJvbm91cyBYTUxIdHRwUmVxdWVzdCdzIFBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcgd2hlcmUgdGhlIGluaXRpYWwgSFRUUCByZXF1ZXN0IGlzIHJlZGly
ZWN0ZWQgdG8gYSBjcm9zcy1vcmlnaW4gSFRUUFMgcmVzb3VyY2UuCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3JlZGlyZWN0cy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVkaXJlY3RzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmE2OTkwN2E1
ZjZlNDZhM2U4YTc5MDQxZGExNzAzOWQxNGQyMGZlYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
ZGlyZWN0cy5odG1sCkBAIC0wLDAgKzEsNjEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZzog
cmVzb3VyY2VzIGZldGNoZWQgdGhyb3VnaCBzYW1lLW9yaWdpbiByZWRpcmVjdHM8L3RpdGxlPgor
PGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xl
LmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9y
ZXNvdXJjZS10aW1pbmctMi8jc2VjLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL2VudHJ5LWludmFyaWFudHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2NvbnN0IHtI
VFRQU19OT1RTQU1FU0lURV9PUklHSU59ID0gZ2V0X2hvc3RfaW5mbygpOworY29uc3QgcmVkaXJl
Y3RfdXJsID0gYC9jb21tb24vcmVkaXJlY3QucHlgOworY29uc3QgdXJsX3ByZWZpeCA9IGAke3Jl
ZGlyZWN0X3VybH0/bG9jYXRpb249L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvYDsKK2NvbnN0
IGh0dHBzX3VybF9wcmVmaXggPSBgJHtyZWRpcmVjdF91cmx9P2xvY2F0aW9uPSR7SFRUUFNfTk9U
U0FNRVNJVEVfT1JJR0lOfS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2A7CisKK2F0dHJpYnV0
ZV90ZXN0KAorICBsb2FkLnN0eWxlc2hlZXQsIHVybF9wcmVmaXggKyAicmVzb3VyY2VfdGltaW5n
X3Rlc3QwLmNzcyIsCisgIGludmFyaWFudHMuYXNzZXJ0X3NhbWVfb3JpZ2luX3JlZGlyZWN0ZWRf
cmVzb3VyY2UsCisgICJWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgc3R5bGVzaGVl
dCdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmciKTsKKworYXR0cmlidXRlX3Rlc3QoCisgIGxv
YWQuaW1hZ2UsIHVybF9wcmVmaXggKyAiYmx1ZS5wbmciLAorICBpbnZhcmlhbnRzLmFzc2VydF9z
YW1lX29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNlLAorICAiVmVyaWZ5IGF0dHJpYnV0ZXMgb2Yg
YSByZWRpcmVjdGVkIGltYWdlJ3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyIpOworCithdHRy
aWJ1dGVfdGVzdCgKKyAgbG9hZC5pZnJhbWUsIHVybF9wcmVmaXggKyAiZ3JlZW4uaHRtbCIsCisg
IGludmFyaWFudHMuYXNzZXJ0X3NhbWVfb3JpZ2luX3JlZGlyZWN0ZWRfcmVzb3VyY2UsCisgICJW
ZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgaWZyYW1lJ3MgUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZyIpOworCithdHRyaWJ1dGVfdGVzdCgKKyAgbG9hZC5zY3JpcHQsIHVybF9wcmVm
aXggKyAiZW1wdHlfc2NyaXB0LmpzIiwKKyAgaW52YXJpYW50cy5hc3NlcnRfc2FtZV9vcmlnaW5f
cmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAgIlZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEgcmVkaXJlY3Rl
ZCBzY3JpcHQncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIik7CisKK2F0dHJpYnV0ZV90ZXN0
KAorICBsb2FkLnhocl9zeW5jLCB1cmxfcHJlZml4ICsgImdyZWVuLmh0bWw/aWQ9eGhyIiwKKyAg
aW52YXJpYW50cy5hc3NlcnRfc2FtZV9vcmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAgIlZl
cmlmeSBhdHRyaWJ1dGVzIG9mIGEgcmVkaXJlY3RlZCBzeW5jaHJvbm91cyBYTUxIdHRwUmVxdWVz
dCdzICIgKworICAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyIpOworCithdHRyaWJ1dGVfdGVz
dCgKKyAgbG9hZC54aHJfc3luYywgaHR0cHNfdXJsX3ByZWZpeCArICJncmVlbi5odG1sP2lkPXho
ciIsCisgIGludmFyaWFudHMuYXNzZXJ0X2Nyb3NzX29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNl
LAorICAiVmVyaWZ5IGF0dHJpYnV0ZXMgb2YgYSBzeW5jaHJvbm91cyBYTUxIdHRwUmVxdWVzdCdz
ICIgKworICAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyB3aGVyZSB0aGUgaW5pdGlhbCBIVFRQ
IHJlcXVlc3QgaXMgcmVkaXJlY3RlZCAiICsKKyAgInRvIGEgY3Jvc3Mtb3JpZ2luIEhUVFBTIHJl
c291cmNlLiIKKyk7CisKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRp
b248L2gxPgorPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0LCB3aGVuIGEgZmV0Y2hpbmcgcmVz
b3VyY2VzIHRoYXQgZW5jb3VudGVyCitzYW1lLW9yaWdpbiByZWRpcmVjdHMsIGF0dHJpYnV0ZXMg
b2YgdGhlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgZW50cnkKK2NvbmZvcm0gdG8gdGhlIHNw
ZWNpZmljYXRpb24uPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2UtaWdub3JlLWRhdGEtdXJsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlLWlnbm9yZS1kYXRh
LXVybC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTNlYzVhZjQ1NGVjMWYzZDA4ZDA3YmMwOWJi
ZTE3ZTkyYWZiN2NhMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlLWlnbm9yZS1kYXRh
LXVybC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKKworUEFTUyBSZXNvdXJjZXMgd2l0
aCBkYXRhOiBVUklzIG11c3Qgbm90IGJlIHN1cmZhY2VkIGluIFJlc291cmNlIFRpbWluZworCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25vcmUtZGF0YS11cmwuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
LWlnbm9yZS1kYXRhLXVybC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE3MDU2YTgwODA3OTY3ZDliOTRiMWQ0
YzU0YzA2MjBkYzJhNGJhZDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25vcmUt
ZGF0YS11cmwuaHRtbApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmcg
aWdub3JlcyByZXNvdXJjZXMgd2l0aCBkYXRhOiBVUklzPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0
aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxp
bmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5n
LTIvI3Jlc291cmNlcy1pbmNsdWRlZC1pbi10aGUtcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZy1p
bnRlcmZhY2UiLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxpbWcgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBs
R09EbGhBUUFCQUlBQUFPVG03QUFBQUNINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQ1JBRUFPdz09
Ij48L2ltZz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBjb25z
dCBwcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICBuZXcgUGVyZm9ybWFu
Y2VPYnNlcnZlcih0LnN0ZXBfZnVuYyhsaXN0ID0+IHsKKyAgICAgICAgY29uc3QgZW50cmllcyA9
IGxpc3QuZ2V0RW50cmllcygpOworICAgICAgICBjb25zdCBkYXRhRW50cmllcyA9IGVudHJpZXMu
ZmlsdGVyKGUgPT4gZS5uYW1lLmluY2x1ZGVzKCdkYXRhOicpKTsKKyAgICAgICAgYXNzZXJ0X2Vx
dWFscyhkYXRhRW50cmllcy5sZW5ndGgsIDAsICdUaGVyZSBtdXN0IGJlIG5vIGVudHJ5IGZvciBg
ZGF0YTogVVJMYC4nKTsKKyAgICAgICAgY29uc3QgYmx1ZUVudHJpZXMgPSBlbnRyaWVzLmZpbHRl
cihlID0+IGUubmFtZS5pbmNsdWRlcygnYmx1ZS5wbmcnKSk7CisgICAgICAgIGlmIChibHVlRW50
cmllcy5sZW5ndGgpIHsKKyAgICAgICAgICAvLyBXZSBjYW4gZmluaXNoIHRoZSB0ZXN0IG9uY2Ug
d2Ugc2VlIHRoZSBlbnRyeSB3aXRoIGJsdWUucG5nLgorICAgICAgICAgIHJlc29sdmUoKTsKKyAg
ICAgICAgfQorICAgICAgfSkpLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsncmVzb3VyY2UnXX0pOwor
ICAgIH0pOworICAgIC8vIFdhaXQgdW50aWwgdGhlIGRvY3VtZW50IGlzIGxvYWRlZC4KKyAgICBh
d2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgIHdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCdsb2FkJywgcmVzb2x2ZSk7CisgICAgfSk7CisgICAgLy8gQWRkIHRoZSBibHVlLnBuZyBp
bWFnZSBhZnRlciBkb2N1bWVudCBpcyBsb2FkZWQgdG8gZW5zdXJlIHdlJ3ZlIHJlY2VpdmVkCisg
ICAgLy8gYWxsIG9mIHRoZSBwcmV2aW91cyBSZXNvdXJjZSBUaW1pbmcgZW50cmllcy4KKyAgICBs
b2FkLmltYWdlKCdibHVlLnBuZycpOworICAgIHJldHVybiBwcm9taXNlOworICB9LCAnUmVzb3Vy
Y2VzIHdpdGggZGF0YTogVVJJcyBtdXN0IG5vdCBiZSBzdXJmYWNlZCBpbiBSZXNvdXJjZSBUaW1p
bmcnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2VfVEFPX2Nyb3NzX29yaWdpbl9yZWRpcmVjdF9jaGFpbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZV9UQU9fY3Jvc3Nfb3JpZ2luX3JlZGlyZWN0X2NoYWluLWV4cGVjdGVkLnR4dAppbmRleCA0
N2NmZDFkZGI0ZTU3NTU3ZjQ5NDVhNDBkOWUwZTMxODg2MTU5YzQyLi5jNWZhZDkxNTFhODI2NzVm
NzdkNDg4Nzc4ZDM2M2ZlZTBiODRhY2EwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9UQU9fY3Jv
c3Nfb3JpZ2luX3JlZGlyZWN0X2NoYWluLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9U
QU9fY3Jvc3Nfb3JpZ2luX3JlZGlyZWN0X2NoYWluLWV4cGVjdGVkLnR4dApAQCAtMyw4ICszLDgg
QEAKIFBBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQKIFBBU1Mgd2luZG93LnBlcmZv
cm1hbmNlLmdldEVudHJpZXNCeU5hbWUgaXMgZGVmaW5lZAogUEFTUyBUaGVyZSBzaG91bGQgYmUg
b25lIGVudHJ5LgotUEFTUyByZWRpcmVjdFN0YXJ0ID4gMCBpbiB0aW1pbmcgYWxsb3dlZCBjcm9z
cy1vcmlnaW4gcmVkaXJlY3QuCi1QQVNTIHJlZGlyZWN0U3RhcnQgPT0gc3RhcnRUaW1lIGluIHRp
bWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4KLVBBU1MgcmVkaXJlY3RFbmQgPiBy
ZWRpcmVjdFN0YXJ0IGluIHRpbWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4KK0ZB
SUwgcmVkaXJlY3RTdGFydCA+IDAgaW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2luIHJlZGly
ZWN0LiBhc3NlcnRfdHJ1ZTogcmVkaXJlY3RTdGFydCA+IDAgaW4gdGltaW5nIGFsbG93ZWQgY3Jv
c3Mtb3JpZ2luIHJlZGlyZWN0LiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCByZWRpcmVj
dFN0YXJ0ID09IHN0YXJ0VGltZSBpbiB0aW1pbmcgYWxsb3dlZCBjcm9zcy1vcmlnaW4gcmVkaXJl
Y3QuIGFzc2VydF9lcXVhbHM6IHJlZGlyZWN0U3RhcnQgPT0gc3RhcnRUaW1lIGluIHRpbWluZyBh
bGxvd2VkIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4gZXhwZWN0ZWQgPG5vbmRldGVybWluaXN0aWMg
dGVzdCBvdXRwdXQ+IGJ1dCBnb3QgMAorRkFJTCByZWRpcmVjdEVuZCA+IHJlZGlyZWN0U3RhcnQg
aW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LiBhc3NlcnRfdHJ1ZTogcmVk
aXJlY3RFbmQgPiByZWRpcmVjdFN0YXJ0IGluIHRpbWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiBy
ZWRpcmVjdC4gZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIFBBU1MgZmV0Y2hTdGFydCA+PSByZWRp
cmVjdEVuZCBpbiB0aW1pbmcgYWxsb3dlZCBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlX2NhY2hlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfY2FjaGVkLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZmQ2MWQ2Mzk2MTZiMTgwMmZmNGI2M2RlODJhMDFmZmQ3MDFmODE0ZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX2NhY2hlZC5odG1sCkBAIC0wLDAgKzEsNTIgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAv
PgorPHRpdGxlPlJlc291cmNlIFRpbWluZyBjYWNoZWQgcmVzb3VyY2VzPC90aXRsZT4KKzxsaW5r
IHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20v
IiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJj
ZS10aW1pbmcvI2RvbS1wZXJmb3JtYW5jZXJlc291cmNldGltaW5nLWluaXRpYXRvcnR5cGUiLz4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzZXh0ZW5zaW9uLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQ+CitzZXR1cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOworCisvLyBleHBsaWNp
dGx5IHRlc3QgdGhlIG5hbWVzcGFjZSBiZWZvcmUgd2Ugc3RhcnQgdGVzdGluZwordGVzdF9uYW1l
c3BhY2UoImdldEVudHJpZXNCeVR5cGUiKTsKKwordmFyIGQ7Cit2YXIgaWZyYW1lOwordmFyIGlm
cmFtZUJvZHk7Cit2YXIgaW1hZ2U7Cit2YXIgcmFuZG9tID0gTWF0aC5yYW5kb20oKTsKKworZnVu
Y3Rpb24gc2V0dXBfaWZyYW1lKCkgeworICAgIGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdmcmFtZUNvbnRleHQnKTsKKyAgICBkID0gaWZyYW1lLmNvbnRlbnRXaW5kb3cuZG9jdW1l
bnQ7CisgICAgaWZyYW1lQm9keSA9IGQuYm9keTsKKyAgICBpZnJhbWUuYWRkRXZlbnRMaXN0ZW5l
cignbG9hZCcsIG9ubG9hZF90ZXN0LCBmYWxzZSk7Cit9CitmdW5jdGlvbiBvbmxvYWRfdGVzdCgp
IHsKKyAgICBpZiAod2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUgPT09IHVuZGVm
aW5lZCkgeworICAgICAgZG9uZSgpOworICAgICAgcmV0dXJuOworICAgIH0KKyAgICB2YXIgY29u
dGV4dCA9IG5ldyBQZXJmb3JtYW5jZUNvbnRleHQoaWZyYW1lLmNvbnRlbnRXaW5kb3cucGVyZm9y
bWFuY2UpOworICAgIHZhciBlbnRyaWVzID0gY29udGV4dC5nZXRFbnRyaWVzQnlUeXBlKCdyZXNv
dXJjZScpOworICAgIHRlc3RfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAyLCAiVGhlcmUgc2hvdWxk
IGJlIHR3byBlbnRyaWVzIik7CisgICAgaWYgKGVudHJpZXMubGVuZ3RoID49IDIpIHsKKyAgICAg
ICAgdGVzdF9lcXVhbHMoZW50cmllc1swXS5uYW1lLCBlbnRyaWVzWzFdLm5hbWUsICJCb3RoIGVu
dHJpZXMgc2hvdWxkIGhhdmUgdGhlIHNhbWUgbmFtZSIpOworICAgIH0KKyAgICBkb25lKCk7Cit9
Cit3aW5kb3cuc2V0dXBfaWZyYW1lID0gc2V0dXBfaWZyYW1lOworPC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxoMT5EZXNjcmlwdGlvbjwvaDE+Cis8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRo
YXQgYSAzMDQgTm90IE1vZGlmaWVkIHJlc291cmNlIGFwcGVhcnMgaW4gdGhlIGJ1ZmZlci48L3A+
Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBzcmM9InJl
c291cmNlcy9mYWtlX3Jlc3BvbnNlcy5odG1sIj48L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX2luaXRpYXRvcl90eXBlcy5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2VfaW5pdGlhdG9yX3R5cGVzLmh0bWwKaW5kZXggOTkxMmRhN2MzNDAwMTM4ZDczMjQ1YWNjMzcy
NDYzY2ExNzRlNmY1OC4uMmU1MmYwZTRjZDA5ZWM5ZTBkMjZlMjQ5NGFjNWUyMGI1OGNlNjJiOSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVz
b3VyY2VfaW5pdGlhdG9yX3R5cGVzLmh0bWwKQEAgLTk1LDggKzk1LDggQEAgZnVuY3Rpb24gcGVy
Zm9ybV90ZXN0KCkgewogICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywgZXhwZWN0ZWRfZW50
cmllcywgcGF0aG5hbWUgKyAncmVzb3VyY2VfdGltaW5nX3Rlc3QwLnBuZycsICdpbWcnKTsKICAg
ICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsg
J3Jlc291cmNlX3RpbWluZ190ZXN0MC5wbmc/aWQ9c3Jjc2V0LXNyY3NldCcsICdpbWcnKTsKICAg
ICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsg
J3Jlc291cmNlX3RpbWluZ190ZXN0MC5wbmc/aWQ9c3Jjc2V0LXNyYycsICdpbWcnKTsKLSAgICBh
ZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ2Js
YW5rX3BhZ2VfZ3JlZW4uaHRtJywgJ2lmcmFtZScpOwotICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50
cmllcywgZXhwZWN0ZWRfZW50cmllcywgcGF0aG5hbWUgKyAnYmxhbmtfcGFnZV9ncmVlbi5odG0/
aWQ9ZnJhbWUnLCAnZnJhbWUnKTsKKyAgICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVj
dGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ2dyZWVuLmh0bWwnLCAnaWZyYW1lJyk7CisgICAgYWRk
RW50cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdncmVl
bi5odG1sP2lkPWZyYW1lJywgJ2ZyYW1lJyk7CiAgICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVz
LCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdlbXB0eV9zY3JpcHQuanMnLCAnc2NyaXB0
Jyk7CiAgICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRo
bmFtZSArICdyZXNvdXJjZV90aW1pbmdfdGVzdDAuY3NzP2lkPWVtYmVkJywgJ2VtYmVkJyk7CiAg
ICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSAr
ICdyZXNvdXJjZV90aW1pbmdfdGVzdDAuY3NzP2lkPW4xJywgJ2NzcycpOwpAQCAtMTI4LDcgKzEy
OCw3IEBAIGZ1bmN0aW9uIHBlcmZvcm1fdGVzdCgpIHsKICAgICBhZGRFbnRyeUlmRXhpc3RzKGVu
dHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ25lc3RlZC5jc3MnLCAnbGluaycp
OwogICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcywgcGF0aG5h
bWUgKyAnbmVzdGVkLmNzcz9pZD1wcmVmZXRjaCcsICdsaW5rJyk7CiAgICAgYWRkRW50cnlJZkV4
aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICduZXN0ZWQuY3NzP2lk
PXByZWxvYWQnLCAnbGluaycpOwotICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywgZXhwZWN0
ZWRfZW50cmllcywgcGF0aG5hbWUgKyAnYmxhbmtfcGFnZV9ncmVlbi5odG0/aWQ9cHJlcmVuZGVy
JywgJ2xpbmsnKTsKKyAgICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJp
ZXMsIHBhdGhuYW1lICsgJ2dyZWVuLmh0bWw/aWQ9cHJlcmVuZGVyJywgJ2xpbmsnKTsKICAgICBh
ZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ21h
bmlmZXN0Lmpzb24nLCAnbGluaycpOwogICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywgZXhw
ZWN0ZWRfZW50cmllcywgcGF0aG5hbWUgKyAnZW1wdHkucHk/aWQ9YmVhY29uJywgJ2JlYWNvbicp
OwogICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcywgcGF0aG5h
bWUgKyAnZW1wdHkucHk/aWQ9ZmV0Y2gnLCAnZmV0Y2gnKTsKQEAgLTE1OCw3ICsxNTgsNyBAQCB3
aW5kb3cub25fYXN5bmNfeGhyX2RvbmUgPSBmdW5jdGlvbigpIHsKIDxoMT5EZXNjcmlwdGlvbjwv
aDE+CiA8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgYWxsIG9mIHRoZSBpbml0aWF0b3IgdHlw
ZXMgYXJlIHJlcHJlc2VudGVkLjwvcD4KIDxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08aWZyYW1lIGlk
PSJmcmFtZUNvbnRleHQiIG9ubG9hZD0ib25sb2FkX3Rlc3QoKTsiIHNyYz0icmVzb3VyY2VzL2Fs
bF9yZXNvdXJjZV90eXBlcy5odG0iIHN0eWxlPSJ3aWR0aDogMjUwcHg7IGhlaWdodDogMjUwcHg7
Ij48L2lmcmFtZT4KLTxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dDIiIG9ubG9hZD0iZnJhbWVzZXRf
b25sb2FkKCk7IiBzcmM9InJlc291cmNlcy9ncmVlbl9mcmFtZS5odG0iIHN0eWxlPSJ3aWR0aDog
MjUwcHg7IGhlaWdodDogMjUwcHg7Ij48L2lmcmFtZT4KKzxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4
dCIgb25sb2FkPSJvbmxvYWRfdGVzdCgpOyIgc3JjPSJyZXNvdXJjZXMvYWxsX3Jlc291cmNlX3R5
cGVzLmh0bWwiIHN0eWxlPSJ3aWR0aDogMjUwcHg7IGhlaWdodDogMjUwcHg7Ij48L2lmcmFtZT4K
KzxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dDIiIG9ubG9hZD0iZnJhbWVzZXRfb25sb2FkKCk7IiBz
cmM9InJlc291cmNlcy9ncmVlbi1mcmFtZS5odG1sIiBzdHlsZT0id2lkdGg6IDI1MHB4OyBoZWln
aHQ6IDI1MHB4OyI+PC9pZnJhbWU+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZV9uZXN0ZWRfZGVkaWNhdGVkX3dvcmtlci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9u
ZXN0ZWRfZGVkaWNhdGVkX3dvcmtlci53b3JrZXIuanMKaW5kZXggZmM3OTMwNzViYmFkZTFiMDg5
MWVhOGVjZjUwMTM3MDUxZDg0YjgyMC4uMmM5ZjVmOTU0MjhhY2E1Y2U5ZDE4NzE0MjIzZmFiNmY3
OGYzNjBjMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfbmVzdGVkX2RlZGljYXRlZF93b3JrZXIu
d29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX25lc3RlZF9kZWRpY2F0ZWRfd29ya2VyLndvcmtl
ci5qcwpAQCAtMSw2ICsxLDYgQEAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiKTsKIAotYXN5bmNfdGVzdChhc3luYyBmdW5jdGlvbigpIHsKK2FzeW5jX3Rlc3QoZnVu
Y3Rpb24oKSB7CiAgIGNvbnN0IHdvcmtlciA9IG5ldyBXb3JrZXIoJ3Jlc291cmNlcy93b3JrZXJf
d2l0aF9pbWFnZXMuanMnKTsKICAgd29ya2VyLm9ubWVzc2FnZSA9IHRoaXMuc3RlcF9mdW5jX2Rv
bmUoKGV2ZW50KSA9PiB7CiAgICAgY29uc3QgY2hpbGROdW1FbnRyaWVzID0gZXZlbnQuZGF0YTsK
QEAgLTE0LDQgKzE0LDQgQEAgYXN5bmNfdGVzdChhc3luYyBmdW5jdGlvbigpIHsKICAgICB3b3Jr
ZXIudGVybWluYXRlKCk7CiAgIH0pOwogfSwgIlJlc291cmNlIHRpbWluZyBmb3IgbmVzdGVkIGRl
ZGljYXRlZCB3b3JrZXJzIik7Ci1kb25lKCk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQor
ZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfdGltaW5nX2NvbnRlbnRfbGVuZ3RoLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX3RpbWluZ19jb250ZW50X2xlbmd0aC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZDNhM2Y4OGQxYmVhYzEwMzcwMDVlY2FmODg4NDUxNjAzY2RlZWU3YQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX3RpbWluZ19jb250ZW50X2xlbmd0aC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw4IEBACisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNz
YWdlID0gbnVsbAorCitQQVNTIGVuY29kZWRCb2R5U2l6ZSBzaG91bGQgYmUgZXF1YWwgdG8gdGhl
IGFjdHVhbCBieXRlIHNpemUgb2YgdGhlIGNvbnRlbnQKK1BBU1MgZW5jb2RlZEJvZHlTaXplIHNo
b3VsZCBiZSBlcXVhbCB0byB0aGUgYWN0dWFsIGJ5dGUgc2l6ZSBvZiB0aGUgY29udGVudCB3aGVu
IG5vIGhlYWRlciBwcmVzZW50CitQQVNTIGVuY29kZWRCb2R5U2l6ZSBzaG91bGQgYmUgZXF1YWwg
dG8gdGhlIGFjdHVhbCBieXRlIHNpemUgb2YgdGhlIGNvbnRlbnQgd2hlbiBoZWFkZXIgdmFsdWUg
aXMgbG93ZXIgdGhhbiBhY3R1YWwgY29udGVudAorVElNRU9VVCBlbmNvZGVkQm9keVNpemUgc2hv
dWxkIGJlIGVxdWFsIHRvIHRoZSBhY3R1YWwgYnl0ZSBzaXplIG9mIHRoZSBjb250ZW50IHdoZW4g
aGVhZGVyIHZhbHVlIGlzIGhpZ2hlciB0aGFuIGFjdHVhbCBjb250ZW50IFRlc3QgdGltZWQgb3V0
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX3RpbWluZ19jb250ZW50X2xlbmd0aC5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VfdGltaW5nX2NvbnRlbnRfbGVuZ3RoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzJiZDhh
OTdlMDczNDEzMjMwNjE1MTI2OThhNTY1MjMyZjE5NzJiZAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlX3RpbWluZ19jb250ZW50X2xlbmd0aC5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwh
RE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgor
PHRpdGxlPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIHZhbHVlIG9mIGVuY29kZWRCb2R5U2l6ZSBp
biBjZXJ0YWluIHNpdHVhdGlvbnMuPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0
cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNwZXJmb3JtYW5jZXJlc291cmNldGlt
aW5nIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
CisKKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdF9yZXNvdXJjZV90aW1pbmdfZm9yX2NvbnRl
bnRfbGVuZ3RoKHthY3R1YWxDb250ZW50TGVuZ3RoLCBsZW5ndGhIZWFkZXJ9LCB0aXRsZSkgewor
ICAgICAgICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICAgICAgICBjb25zdCBjb250
ZW50ID0gbmV3IEFycmF5KGFjdHVhbENvbnRlbnRMZW5ndGgpLmZpbGwoJ3gnKS5qb2luKCcnKQor
ICAgICAgICAgICAgY29uc3QgdXJsID0gYHJlc291cmNlcy9yZXNvdXJjZS10aW1pbmctY29udGVu
dC1sZW5ndGgucHk/Y29udGVudD0ke2NvbnRlbnR9Jmxlbmd0aD0ke2xlbmd0aEhlYWRlcn1gCisg
ICAgICAgICAgICBmZXRjaCh1cmwpCisgICAgICAgICAgICBjb25zdCBlbnRyeSA9IGF3YWl0IG5l
dyBQcm9taXNlKHJlc29sdmUgPT4gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGVudHJ5TGlzdCwg
b2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCkKKyAg
ICAgICAgICAgICAgICByZXNvbHZlKGVudHJ5TGlzdC5nZXRFbnRyaWVzKClbMF0pCisgICAgICAg
ICAgICB9KS5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbJ3Jlc291cmNlJ119KSkKKworICAgICAgICAg
ICAgY29uc3QgZXhwZWN0ZWRDb250ZW50TGVuZ3RoID0gTnVtYmVyLmlzSW50ZWdlcihsZW5ndGhI
ZWFkZXIpID8gTWF0aC5taW4oYWN0dWFsQ29udGVudExlbmd0aCwgbGVuZ3RoSGVhZGVyKSA6IGFj
dHVhbENvbnRlbnRMZW5ndGgKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cnkuZW5jb2Rl
ZEJvZHlTaXplLCBleHBlY3RlZENvbnRlbnRMZW5ndGgpCisgICAgICAgIH0sIHRpdGxlKTsKKyAg
ICB9CisKKyAgICB0ZXN0X3Jlc291cmNlX3RpbWluZ19mb3JfY29udGVudF9sZW5ndGgoe2FjdHVh
bENvbnRlbnRMZW5ndGg6IDMsIGxlbmd0aEhlYWRlcjogJ2F1dG8nfSwKKyAgICAgICAgImVuY29k
ZWRCb2R5U2l6ZSBzaG91bGQgYmUgZXF1YWwgdG8gdGhlIGFjdHVhbCBieXRlIHNpemUgb2YgdGhl
IGNvbnRlbnQiKQorICAgIHRlc3RfcmVzb3VyY2VfdGltaW5nX2Zvcl9jb250ZW50X2xlbmd0aCh7
YWN0dWFsQ29udGVudExlbmd0aDogMTMsIGxlbmd0aEhlYWRlcjogJ25vbmUnfSwKKyAgICAgICAg
ImVuY29kZWRCb2R5U2l6ZSBzaG91bGQgYmUgZXF1YWwgdG8gdGhlIGFjdHVhbCBieXRlIHNpemUg
b2YgdGhlIGNvbnRlbnQgd2hlbiBubyBoZWFkZXIgcHJlc2VudCIpCisgICAgdGVzdF9yZXNvdXJj
ZV90aW1pbmdfZm9yX2NvbnRlbnRfbGVuZ3RoKHthY3R1YWxDb250ZW50TGVuZ3RoOiA3LCBsZW5n
dGhIZWFkZXI6IDN9LAorICAgICAgICAiZW5jb2RlZEJvZHlTaXplIHNob3VsZCBiZSBlcXVhbCB0
byB0aGUgYWN0dWFsIGJ5dGUgc2l6ZSBvZiB0aGUgY29udGVudCB3aGVuIGhlYWRlciB2YWx1ZSBp
cyBsb3dlciB0aGFuIGFjdHVhbCBjb250ZW50IikKKyAgICB0ZXN0X3Jlc291cmNlX3RpbWluZ19m
b3JfY29udGVudF9sZW5ndGgoe2FjdHVhbENvbnRlbnRMZW5ndGg6IDgsIGxlbmd0aEhlYWRlcjog
NDB9LAorICAgICAgICAiZW5jb2RlZEJvZHlTaXplIHNob3VsZCBiZSBlcXVhbCB0byB0aGUgYWN0
dWFsIGJ5dGUgc2l6ZSBvZiB0aGUgY29udGVudCB3aGVuIGhlYWRlciB2YWx1ZSBpcyBoaWdoZXIg
dGhhbiBhY3R1YWwgY29udGVudCIpCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlcy8yMDBfZW1wdHkuYXNpcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy8yMDBfZW1wdHkuYXNpcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iNWQxMGJkYTMyNDUyOGQxZDg1NDYzYjlhMTVhMzQ3ZjVjMWZhZWQ5Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzLzIwMF9lbXB0eS5hc2lzCkBAIC0wLDAgKzEsMyBA
QAorSFRUUC8xLjAgMjAwIE9LCitDb250ZW50LUxlbmd0aDogMAorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvVEFPUmVzcG9uc2UucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvVEFPUmVzcG9uc2UucHkKaW5k
ZXggOTA4YjY4ODYxYWU4MjYyYTE4ZTA4M2IwMjZkMTQ1OTFkMWUwMjA2ZS4uNjAzOTJiOGUxMGFk
YTRmZDcwYTAzYTYyNTg4NDkzMDZlOTcxNGVjNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL1RB
T1Jlc3BvbnNlLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9UQU9SZXNwb25zZS5weQpAQCAtMSw4ICsx
LDEyIEBACitpbXBvcnQgb3MKKwogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAgIG9y
aWdpbiA9IHJlcXVlc3QuaGVhZGVyc1tiJ29yaWdpbiddCi0gICAgcmVzcG9uc2UuaGVhZGVycy5z
ZXQoYidBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4nLCBvcmlnaW4pCisgICAgaWYgYidvcmln
aW4nIGluIHJlcXVlc3QuaGVhZGVyczoKKyAgICAgIG9yaWdpbiA9IHJlcXVlc3QuaGVhZGVyc1ti
J29yaWdpbiddCisgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiJ0FjY2Vzcy1Db250cm9sLUFs
bG93LU9yaWdpbicsIG9yaWdpbikKIAogICAgIHRhbyA9IHJlcXVlc3QuR0VULmZpcnN0KGIndGFv
JykKKyAgICBpbWcgPSByZXF1ZXN0LkdFVC5maXJzdChiJ2ltZycpIGlmIGInaW1nJyBpbiByZXF1
ZXN0LkdFVCBlbHNlIE5vbmUKIAogICAgIGlmIHRhbyA9PSBiJ3plcm8nOgogICAgICMgemVybyBU
QU8gdmFsdWUsIGZhaWwKQEAgLTE0LDcgKzE4LDcgQEAgZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9u
c2UpOgogICAgICMgbnVsbCwgZmFpbCB1bmxlc3MgaXQncyBhbiBvcGFxdWUgb3JpZ2luCiAgICAg
ICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGInVGltaW5nLUFsbG93LU9yaWdpbicsIGInbnVsbCcp
CiAgICAgZWxpZiB0YW8gPT0gYidOdWxsJzoKLSAgICAjIGNhc2UtaW5zZW50aXZlIG51bGwsIGZh
aWwKKyAgICAjIGNhc2UtaW5zZW5zaXRpdmUgbnVsbCwgZmFpbAogICAgICAgICByZXNwb25zZS5o
ZWFkZXJzLnNldChiJ1RpbWluZy1BbGxvdy1PcmlnaW4nLCBiJ051bGwnKQogICAgIGVsaWYgdGFv
ID09IGInb3JpZ2luJzoKICAgICAjIGNhc2Utc2Vuc2l0aXZlIG1hdGNoIGZvciBvcmlnaW4sIHBh
c3MKQEAgLTQ5LDMgKzUzLDEyIEBAIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICAg
ICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYidUaW1pbmctQWxsb3ctT3JpZ2luJywgb3JpZ2luLnVw
cGVyKCkpCiAgICAgZWxzZToKICAgICAgICAgcGFzcworICAgIHJlc3BvbnNlLnN0YXR1cyA9IDIw
MAorICAgIGlmIGltZzoKKyAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQ29udGVudC1UeXBl
IiwgYiJpbWFnZS9wbmciKQorICAgICAgd2l0aCBvcGVuKHJlcXVlc3QuZG9jX3Jvb3QgKyAiL3Jl
c291cmNlLXRpbWluZy9yZXNvdXJjZXMvYmx1ZS5wbmciLCAicmIiKSBhcyBmOgorICAgICAgICBy
ZXNwb25zZS5jb250ZW50ID0gZi5yZWFkKCkKKyAgICAgICAgZi5jbG9zZSgpCisgICAgZWxzZToK
KyAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQ29udGVudC1UeXBlIiwgYiJ0ZXh0L3BsYWlu
IikKKyAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiVEVTVCIKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy9hbGxfcmVzb3VyY2VfdHlwZXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9hbGxfcmVzb3VyY2Vf
dHlwZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MjUyYTQ4NzJhYjRlMjhlNjY1MGM0NWM3NzliMzgwNTI1
NGZhOTBmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2FsbF9yZXNvdXJjZV90eXBl
cy5odG1sCkBAIC0wLDAgKzEsMTA3IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorICAgIDxo
ZWFkPgorICAgICAgICA8bWV0YSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIGh0
dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgLz4KKyAgICAgICAgPHRpdGxlPkFsbCBSZXNvdXJjZSBU
eXBlcyBUZXN0IFBhZ2U8L3RpdGxlPgorICAgICAgICA8bGluayByZWw9InNob3J0Y3V0IGljb24i
IGhyZWY9ImVtcHR5LnB5P2Zhdmljb24iPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBiYWNrZ3Jv
dW5kPSdibHVlLnBuZz9pZD1ib2R5Jz4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlm
ICh3aW5kb3cucGFyZW50Lmhhc093blByb3BlcnR5KCdvbl90ZXN0X2JvZHlfY3JlYXRlZCcpKQor
ICAgICAgICAgICAgICAgIHdpbmRvdy5wYXJlbnQub25fdGVzdF9ib2R5X2NyZWF0ZWQoKTsKKyAg
ICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ibmVz
dGVkLmNzcyI+PC9saW5rPgorICAgICAgICA8bGluayByZWw9InByZWZldGNoIiBocmVmPSJuZXN0
ZWQuY3NzP2lkPXByZWZldGNoIj48L2xpbms+CisgICAgICAgIDxsaW5rIHJlbD0icHJlbG9hZCIg
aHJlZj0ibmVzdGVkLmNzcz9pZD1wcmVsb2FkIiBhcz0ic3R5bGUiPjwvbGluaz4KKyAgICAgICAg
PGxpbmsgcmVsPSJwcmVyZW5kZXIiIGhyZWY9ImdyZWVuLmh0bWw/aWQ9cHJlcmVuZGVyIj48L2xp
bms+CisgICAgICAgIDxsaW5rIHJlbD0ibWFuaWZlc3QiIGhyZWY9Im1hbmlmZXN0Lmpzb24iPjwv
bGluaz4KKyAgICAgICAgPGltZyBzcmM9InJlc291cmNlX3RpbWluZ190ZXN0MC5wbmciPjwvaW1n
PgorICAgICAgICA8aW1nIHNyYz0icmVzb3VyY2VfdGltaW5nX3Rlc3QwLnBuZz9pZD1zcmNzZXQt
c3JjIgorICAgICAgICAgICAgc3Jjc2V0PSJyZXNvdXJjZV90aW1pbmdfdGVzdDAucG5nP2lkPXNy
Y3NldC1zcmNzZXQgNjd3IgorICAgICAgICAgICAgc2l6ZXM9IjY3cHgiPjwvaW1nPgorICAgICAg
ICA8aWZyYW1lIHNyYz0iZ3JlZW4uaHRtbCIgd2lkdGg9IjEwMHB4IiBoZWlnaHQ9IjEwMHB4Ij48
L2lmcmFtZT4KKyAgICAgICAgPHNjcmlwdCBzcmM9ImVtcHR5X3NjcmlwdC5qcyI+PC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICB2YXIgYXN5bmNfeGhyID0gbmV3IFhNTEh0
dHBSZXF1ZXN0OworICAgICAgICAgICAgYXN5bmNfeGhyLm9wZW4oJ0dFVCcsICdibHVlLnBuZz9p
ZD1hc3luY194aHInLCB0cnVlKTsKKyAgICAgICAgICAgIGFzeW5jX3hoci5vbnJlYWR5c3RhdGVj
aGFuZ2UgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICBpZiAoYXN5bmNfeGhyLnJlYWR5
U3RhdGUgPT0gNCAmJiBhc3luY194aHIuc3RhdHVzID09IDIwMCAmJiBwYXJlbnQuaGFzT3duUHJv
cGVydHkoJ29uX2FzeW5jX3hocl9kb25lJykpCisgICAgICAgICAgICAgICAgICAgIHBhcmVudC5v
bl9hc3luY194aHJfZG9uZSgpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgYXN5bmNfeGhy
LnNlbmQoKTsKKworICAgICAgICAgICAgaWYgKHdpbmRvdy5uYXZpZ2F0b3IgJiYgbmF2aWdhdG9y
LnNlbmRCZWFjb24pIHsKKyAgICAgICAgICAgICAgICBuYXZpZ2F0b3Iuc2VuZEJlYWNvbignZW1w
dHkucHk/aWQ9YmVhY29uJyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmICh3aW5k
b3cuZmV0Y2gpIHsKKyAgICAgICAgICAgICAgICBmZXRjaCgnZW1wdHkucHk/aWQ9ZmV0Y2gnKTsK
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKHdpbmRvdy5FdmVudFNvdXJjZSkgewor
ICAgICAgICAgICAgICAgIHZhciBldnRTb3VyY2UgPSBuZXcgRXZlbnRTb3VyY2UoJ2V2ZW50c291
cmNlLnB5P2lkPWV2ZW50c291cmNlJyk7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBAZm9udC1mYWNlIHsKKyAgICAgICAgICAg
ICAgICBmb250LWZhbWlseTogcmVtb3RlRm9udEFoZW07CisgICAgICAgICAgICAgICAgc3JjOiB1
cmwoJy9mb250cy9BaGVtLnR0ZicpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWZyYW1l
IHsKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2JsdWUucG5nP2lkPTEnKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGJvZHkgeworICAgICAgICAgICAgICAgIGN1cnNvcjog
dXJsKCdibHVlLnBuZz9pZD1jdXJzb3InKSwgcG9pbnRlcjsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIHVsIHsKKyAgICAgICAgICAgICAgICBmb250LWZhbWlseTogcmVtb3RlRm9udEFoZW07
CisgICAgICAgICAgICAgICAgbGlzdC1zdHlsZS1pbWFnZTogdXJsKCdibHVlLnBuZz9pZD0yJyk7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgICAgIDx1bD4KKyAgICAgICAg
ICAgIDxsaT5UZXN0PC9saT4KKyAgICAgICAgPC91bD4KKyAgICAgICAgPG9sPgorICAgICAgICAg
ICAgPGxpPlRlc3Q8L2xpPgorICAgICAgICA8L29sPgorICAgICAgICA8ZW1iZWQgc3JjPSJyZXNv
dXJjZV90aW1pbmdfdGVzdDAuY3NzP2lkPWVtYmVkIiB0eXBlPSJ0ZXh0L2NzcyI+PC9lbWJlZD4K
KyAgICAgICAgPGlucHV0IHR5cGU9ImltYWdlIiBzcmM9ImJsdWUucG5nP2lkPWlucHV0Ij48L2lu
cHV0PgorICAgICAgICA8b2JqZWN0IHR5cGU9ImltYWdlL3BuZyIgZGF0YT0iYmx1ZS5wbmc/aWQ9
b2JqZWN0Ij48L29iamVjdD4KKyAgICAgICAgPHZpZGVvIHBvc3Rlcj0iYmx1ZS5wbmc/aWQ9dmlk
ZW8tcG9zdGVyIj48L3ZpZGVvPgorICAgICAgICA8dmlkZW8gc3JjPSIvbWVkaWEvdGVzdC5tcDQ/
aWQ9dmlkZW8tc3JjIiBhdXRvcGxheT0idHJ1ZSI+PC92aWRlbz4KKyAgICAgICAgPHZpZGVvIGF1
dG9wbGF5PSJ0cnVlIj4KKyAgICAgICAgICAgIDxzb3VyY2Ugc3JjPSIvbWVkaWEvdGVzdC5tcDQ/
aWQ9dmlkZW8tc291cmNlIiB0eXBlPSJ2aWRlby9tcDQiPgorICAgICAgICAgICAgPHNvdXJjZSBz
cmM9Ii9tZWRpYS90ZXN0Lm9ndj9pZD12aWRlby1zb3VyY2UiIHR5cGU9InZpZGVvL29nZyI+Cisg
ICAgICAgICAgICA8dHJhY2sga2luZD0ic3VidGl0bGVzIiBzcmM9ImVtcHR5LnB5P2lkPXZpZGVv
LXRyYWNrIiBzcmNsYW5nPSJlbiIgZGVmYXVsdD4KKyAgICAgICAgPC92aWRlbz4KKyAgICAgICAg
PGF1ZGlvIHNyYz0iZW1wdHkucHk/aWQ9YXVkaW8tc3JjIj48L2F1ZGlvPgorICAgICAgICA8YXVk
aW8+CisgICAgICAgICAgICA8c291cmNlIHNyYz0iZW1wdHkucHk/aWQ9YXVkaW8tc291cmNlLXdh
diIgdHlwZT0iYXVkaW8vd2F2IiAvPgorICAgICAgICAgICAgPHNvdXJjZSBzcmM9ImVtcHR5LnB5
P2lkPWF1ZGlvLXNvdXJjZS1tcGVnIiB0eXBlPSJhdWRpby9tcGVnIiAvPgorICAgICAgICAgICAg
PHNvdXJjZSBzcmM9ImVtcHR5LnB5P2lkPWF1ZGlvLXNvdXJjZS1vZ2ciIHR5cGU9ImF1ZGlvL29n
ZyIgLz4KKyAgICAgICAgPC9hdWRpbz4KKyAgICAgICAgPHN2ZyB3aWR0aD0yMDAgaGVpZ2h0PTIw
MAorICAgICAgICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgorICAgICAg
ICAgICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgorICAgICAg
ICAgICAgPGltYWdlIGhyZWY9ImJsdWUucG5nP2lkPXN2Zy1pbWFnZSIgaGVpZ2h0PSIyMDAiIHdp
ZHRoPSIyMDAiLz4KKyAgICAgICAgPC9zdmc+CisgICAgICAgIDxwaWN0dXJlPgorICAgICAgICAg
ICAgPHNvdXJjZSBzcmNzZXQ9ImJsdWUucG5nP2lkPXBpY3R1cmUtc291cmNlIiB0eXBlPSJpbWFn
ZS9wbmciIC8+CisgICAgICAgICAgICA8aW1nIHNyYz0iYmx1ZS5wbmc/aWQ9cGljdHVyZS1pbWci
IC8+CisgICAgICAgIDwvcGljdHVyZT4KKyAgICAgICAgPHBpY3R1cmU+CisgICAgICAgICAgICA8
c291cmNlIHNyY3NldD0iYmx1ZS5wbmc/aWQ9cGljdHVyZS1ub3RzdXBwb3J0ZWQtc291cmNlIiB0
eXBlPSJpbWFnZS9ub3RzdXBwb3J0ZWQiIC8+CisgICAgICAgICAgICA8aW1nIHNyYz0iYmx1ZS5w
bmc/aWQ9cGljdHVyZS1ub3RzdXBwb3J0ZWQtaW1nIiAvPgorICAgICAgICA8L3BpY3R1cmU+Cisg
ICAgICAgIDxwaWN0dXJlPgorICAgICAgICAgICAgPGltZyBzcmM9ImJsdWUucG5nP2lkPXBpY3R1
cmUtaW1nLXNyYyIKKyAgICAgICAgICAgICAgICBzcmNzZXQ9ImJsdWUucG5nP2lkPXBpY3R1cmUt
aW1nLXNyY3NldCIKKyAgICAgICAgICAgICAgICBzaXplcz0iNjdweCI+PC9pbWc+CisgICAgICAg
IDwvcGljdHVyZT4KKyAgICAgICAgPHBpY3R1cmU+CisgICAgICAgICAgICA8aW1nIHNyYz0iYmx1
ZS5wbmc/aWQ9cGljdHVyZS05OXgtaW1nLXNyYyIKKyAgICAgICAgICAgICAgICBzcmNzZXQ9ImJs
dWUucG5nP2lkPXBpY3R1cmUtOTl4LWltZy1zcmNzZXQgOTl4IgorICAgICAgICAgICAgICAgIHNp
emVzPSI2N3B4Ij48L2ltZz4KKyAgICAgICAgPC9waWN0dXJlPgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9idWZmZXItZnVsbC11dGlsaXRpZXMuanMgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9yZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzCmluZGV4IGUwYTRmMGIxMDgwOTQ2
NThiZTBhZWY0NTNiZjgyNmJmMDFjMjhmOTMuLjIxY2Q2MzNjZWQ5N2RiZjZjNzVlYWUxMGJmZDk3
YTI5NDJlNGJkNWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9idWZmZXItZnVsbC11dGlsaXRp
ZXMuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2J1ZmZlci1mdWxsLXV0aWxpdGllcy5qcwpAQCAtMTIs
MTIgKzEyLDI3IEBAIGxldCB4aHJTY3JpcHQgPSBzcmMgPT4gewogICAgIHhoci5zZW5kKG51bGwp
OwogfQogCi1sZXQgd2FpdEZvck5leHRUYXNrID0gKCkgPT4geworLy8gVGhpcyBzY3JpcHQgcmVs
aWVzIG9uIHJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzLiBJbmNsdWRlIGl0IGJlZm9yZSBp
biBvcmRlciBmb3IgdGhlIGJlbG93CisvLyBtZXRob2RzIHRvIHdvcmsgcHJvcGVybHkuCisKKy8v
IFRoZSByZXNvdXJjZXMgdXNlZCB0byB0cmlnZ2VyIG5ldyBlbnRyaWVzLgorY29uc3Qgc2NyaXB0
UmVzb3VyY2VzID0gWworICAgICdyZXNvdXJjZXMvZW1wdHkuanMnLAorICAgICdyZXNvdXJjZXMv
ZW1wdHlfc2NyaXB0LmpzJywKKyAgICAncmVzb3VyY2VzL2VtcHR5LmpzP2lkJworXTsKKworY29u
c3Qgd2FpdEZvck5leHRUYXNrID0gKCkgPT4gewogICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNv
bHZlID0+IHsKICAgICAgICAgc3RlcF90aW1lb3V0KHJlc29sdmUsIDApOwogICAgIH0pOwogfTsK
IAorY29uc3QgY2xlYXJCdWZmZXJBbmRTZXRTaXplID0gc2l6ZSA9PiB7CisgIHBlcmZvcm1hbmNl
LmNsZWFyUmVzb3VyY2VUaW1pbmdzKCk7CisgIHBlcmZvcm1hbmNlLnNldFJlc291cmNlVGltaW5n
QnVmZmVyU2l6ZShzaXplKTsKK30KKwogbGV0IHdhaXRVbnRpbENvbmRpdGlvbklzTWV0ID0gY29u
ZCA9PiB7CiAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewogICAgICAgICBsZXQg
Y2hlY2tDb25kaXRpb24gPSBmdW5jdGlvbigpIHsKQEAgLTQ1LDI3ICs2MCw1NyBAQCBsZXQgd2Fp
dEZvckV2ZW50VG9GaXJlID0gKCkgPT4gewogICAgIH0pOwogfTsKIAotbGV0IGNsZWFyQnVmZmVy
QW5kU2V0U2l6ZSA9IHNpemUgPT4gewotICAgIHBlcmZvcm1hbmNlLmNsZWFyUmVzb3VyY2VUaW1p
bmdzKCk7Ci0gICAgcGVyZm9ybWFuY2Uuc2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKHNpemUp
OwotfQorY29uc3QgZm9yY2VCdWZmZXJGdWxsRXZlbnQgPSBhc3luYyAoKSA9PiB7CisgIGNsZWFy
QnVmZmVyQW5kU2V0U2l6ZSgxKTsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIHJlc29sdmUg
PT4geworICAgIHBlcmZvcm1hbmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc291cmNldGltaW5nYnVm
ZmVyZnVsbCcsIHJlc29sdmUpOworICAgIC8vIExvYWQgMiByZXNvdXJjZXMgdG8gZW5zdXJlIG9u
cmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIGlzIGZpcmVkLgorICAgIC8vIExvYWQgdGhlbSBpbiBv
cmRlciBpbiBvcmRlciB0byBnZXQgdGhlIGVudHJpZXMgaW4gdGhhdCBvcmRlciEKKyAgICBhd2Fp
dCBsb2FkLnNjcmlwdChzY3JpcHRSZXNvdXJjZXNbMF0pOworICAgIGF3YWl0IGxvYWQuc2NyaXB0
KHNjcmlwdFJlc291cmNlc1sxXSk7CisgIH0pOworfTsKIAotbGV0IGZpbGxVcFRoZUJ1ZmZlcldp
dGhTaW5nbGVSZXNvdXJjZSA9IHNyYyA9PiB7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29s
dmUgPT4gewotICAgICAgICAvLyBUaGlzIHJlc291cmNlIGdldHMgYnVmZmVyZWQgaW4gdGhlIHJl
c291cmNlIHRpbWluZyBlbnRyeSBidWZmZXIuCi0gICAgICAgIGFwcGVuZFNjcmlwdChzcmMsIHJl
c29sdmUpOwotICAgIH0pOworY29uc3QgZmlsbFVwVGhlQnVmZmVyV2l0aFNpbmdsZVJlc291cmNl
ID0gYXN5bmMgKHNyYyA9IHNjcmlwdFJlc291cmNlc1swXSkgPT4geworICBjbGVhckJ1ZmZlckFu
ZFNldFNpemUoMSk7CisgIGF3YWl0IGxvYWQuc2NyaXB0KHNyYyk7CiB9OwogCi1sZXQgbG9hZFJl
c291cmNlID0gc3JjID0+IHsKLSAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0g
ICAgICAgIGFwcGVuZFNjcmlwdChzcmMsIHJlc29sdmUpOwotICAgIH0pOworY29uc3QgZmlsbFVw
VGhlQnVmZmVyV2l0aFR3b1Jlc291cmNlcyA9IGFzeW5jICgpID0+IHsKKyAgICBjbGVhckJ1ZmZl
ckFuZFNldFNpemUoMik7CisgICAgLy8gTG9hZCB0aGVtIGluIG9yZGVyIGluIG9yZGVyIHRvIGdl
dCB0aGUgZW50cmllcyBpbiB0aGF0IG9yZGVyIQorICAgIGF3YWl0IGxvYWQuc2NyaXB0KHNjcmlw
dFJlc291cmNlc1swXSk7CisgICAgYXdhaXQgbG9hZC5zY3JpcHQoc2NyaXB0UmVzb3VyY2VzWzFd
KTsKIH07CiAKLWxldCBmaWxsVXBUaGVCdWZmZXJXaXRoVHdvUmVzb3VyY2VzID0gYXN5bmMgc3Jj
ID0+IHsKLSAgICAvLyBUaGVzZSByZXNvdXJjZXMgZ2V0IGJ1ZmZlcmVkIGluIHRoZSByZXNvdXJj
ZSB0aW1pbmcgZW50cnkgYnVmZmVyLgotICAgIGF3YWl0IGxvYWRSZXNvdXJjZShzcmMpOwotICAg
IGF3YWl0IGxvYWRSZXNvdXJjZShzcmMgKyAnP3NlY29uZCcpOworY29uc3QgYWRkQXNzZXJ0VW5y
ZWFjaGVkQnVmZmVyRnVsbCA9IHQgPT4geworICBwZXJmb3JtYW5jZS5hZGRFdmVudExpc3RlbmVy
KCdyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwnLCB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgYXNz
ZXJ0X3VucmVhY2hlZCgicmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIHNob3VsZCBub3QgZmlyZSIp
CisgIH0pKTsKIH07CiAKK2NvbnN0IGNoZWNrRW50cmllcyA9IG51bUVudHJpZXMgPT4geworICBj
b25zdCBlbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKTsK
KyAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgbnVtRW50cmllcywKKyAgICAgICdOdW1i
ZXIgb2YgZW50cmllcyBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgdmFsdWUuJyk7CisgIGFz
c2VydF90cnVlKGVudHJpZXNbMF0ubmFtZS5pbmNsdWRlcyhzY3JpcHRSZXNvdXJjZXNbMF0pLAor
ICAgICAgc2NyaXB0UmVzb3VyY2VzWzBdICsgIiBpcyBpbiB0aGUgZW50cmllcyBidWZmZXIiKTsK
KyAgaWYgKGVudHJpZXMubGVuZ3RoID4gMSkgeworICAgIGFzc2VydF90cnVlKGVudHJpZXNbMV0u
bmFtZS5pbmNsdWRlcyhzY3JpcHRSZXNvdXJjZXNbMV0pLAorICAgICAgICBzY3JpcHRSZXNvdXJj
ZXNbMV0gKyAiIGlzIGluIHRoZSBlbnRyaWVzIGJ1ZmZlciIpOworICB9CisgIGlmIChlbnRyaWVz
Lmxlbmd0aCA+IDIpIHsKKyAgICBhc3NlcnRfdHJ1ZShlbnRyaWVzWzJdLm5hbWUuaW5jbHVkZXMo
c2NyaXB0UmVzb3VyY2VzWzJdKSwKKyAgICAgICAgc2NyaXB0UmVzb3VyY2VzWzJdICsgIiBpcyBp
biB0aGUgZW50cmllcyBidWZmZXIiKTsKKyAgfQorfQorCitjb25zdCBidWZmZXJGdWxsRmlyZVBy
b21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgcGVyZm9ybWFuY2UuYWRkRXZlbnRM
aXN0ZW5lcigncmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsJywgYXN5bmMgKCkgPT4geworICAgIC8v
IFdhaXQgZm9yIHRoZSBuZXh0IHRhc2sganVzdCB0byBlbnN1cmUgdGhhdCBhbGwgYnVmZmVyZnVs
bCBldmVudHMgaGF2ZSBmaXJlZCwgYW5kIHRvIGVuc3VyZQorICAgIC8vIHRoYXQgdGhlIHNlY29u
ZGFyeSBidWZmZXIgaXMgY29waWVkIChhcyB0aGlzIGlzIGFuIGV2ZW50LCB0aGVyZSBtYXkgYmUg
bWljcm90YXNrIGNoZWNrcG9pbnRzCisgICAgLy8gcmlnaHQgYWZ0ZXIgcnVubmluZyBhbiBldmVu
dCBoYW5kbGVyKS4KKyAgICBhd2FpdCB3YWl0Rm9yTmV4dFRhc2soKTsKKyAgICByZXNvbHZlKCk7
CisgIH0pOworfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvY2FjaGVhYmxlLWFuZC12YWxp
ZGF0ZWQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9yZXNvdXJjZXMvY2FjaGVhYmxlLWFuZC12YWxpZGF0ZWQucHkKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMzFmMGUzYWI0MTdhNjkwNzlmMjA3NDg3NTFiMmQ2YmU5YTdkNTU1MgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlcy9jYWNoZWFibGUtYW5kLXZhbGlkYXRlZC5weQpAQCAtMCww
ICsxLDExIEBACitkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CisgICAgcmV2YWxpZGF0aW9u
ID0gJ0NhY2hlLUNvbnRyb2wnIGluIHJlcXVlc3QuaGVhZGVycworICAgIGNvbnRlbnQgPSByZXF1
ZXN0LkdFVC5maXJzdChiJ2NvbnRlbnQnKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGInQ2Fj
aGUtQ29udHJvbCcsIGInbWF4LWFnZT02MCcpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYidF
VGFnJywgYidhc3NkZnNkZmUnKQorICAgIGlmIHJldmFsaWRhdGlvbjoKKyAgICAgIHJlc3BvbnNl
LnN0YXR1cyA9ICgzMDQsIGInTm90TW9kaWZpZWQnKQorICAgIGVsc2U6CisgICAgICByZXNwb25z
ZS5zdGF0dXMgPSAoMjAwLCBiJ09LJyk7CisgICAgICByZXNwb25zZS53cml0ZV9zdGF0dXNfaGVh
ZGVycygpCisgICAgICByZXNwb25zZS53cml0ZXIud3JpdGUoY29udGVudCk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvY29ubmVjdGlvbi1yZXVzZS10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2Nv
bm5lY3Rpb24tcmV1c2UtdGVzdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZGVmMTZjMGIwZWM5MDQ3ZjZmMjIy
MDdiZmUxOTkzMzAyMjk4NjQxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2Nvbm5l
Y3Rpb24tcmV1c2UtdGVzdC5qcwpAQCAtMCwwICsxLDcwIEBACisvLyBUaGlzIHNjcmlwdCBpcyBs
b2FkZWQgaW4gSFRUUCBhbmQgSFRUUFMgY29udGV4dHMgdG8gdmFsaWRhdGUKKy8vIFBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcgZW50cmllcycgYXR0cmlidXRlcyB3aGVuIHJldXNpbmcgY29ubmVj
dGlvbnMuCisKKy8vIE1ha2UgdGhlIGZpcnN0IHJlcXVlc3QgYmVmb3JlIGNhbGxpbmcgJ2F0dHJp
YnV0ZV90ZXN0JyBzbyB0aGF0IG9ubHkgdGhlCisvLyBzZWNvbmQgcmVxdWVzdCdzIFBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcgZW50cnkgd2lsbCBiZSBpbnRlcnJvZ2F0ZWQuCisvLyBXZSBkb24n
dCBjaGVjayB0aGUgZmlyc3QgcmVxdWVzdCdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgZW50
cnkgYmVjYXVzZQorLy8gdGhhdCdzIG5vdCB3aGF0IHRoaXMgdGVzdCBpcyB0cnlpbmcgdG8gdmFs
aWRhdGUuCisvLworLy8gTm90ZTogdG8gZW5zdXJlIHRoYXQgd2UgcmV1c2UgdGhlIGNvbm5lY3Rp
b24gdG8gZmV0Y2ggbXVsdGlwbGUgcmVzb3VyY2VzLAorLy8gd2UgdXNlIHRoZSBzYW1lIFhNTEh0
dHBSZXF1ZXN0IG9iamVjdCBmb3IgZWFjaCByZXF1ZXN0LiBBbHRob3VnaCBpdCBkb2Vzbid0Cisv
LyBzZWVtIHRvIGJlIHNwZWNpZmllZCwgZWFjaCBicm93c2VyIHRlc3RlZCBieSBXUFQgd2lsbCBy
ZXVzZSB0aGUgdW5kZXJseWluZworLy8gVENQIGNvbm5lY3Rpb24gd2l0aCB0aGlzIGFwcHJvYWNo
LiBQcmUtZXN0YWJsaXNoaW5nIHRoZSBYSFIncyBjb25uZWN0aW9uCisvLyBoZWxwcyB1cyB0byB0
ZXN0IGNvbm5lY3Rpb24gcmV1c2UgYWxzbyBpbiBicm93c2VycyB0aGF0IG1heSBrZXkgdGhlaXIK
Ky8vIGNvbm5lY3Rpb25zIG9uIHRoZSByZWxhdGVkIHJlcXVlc3QncyBjcmVkZW50aWFscyBtb2Rl
LgorY29uc3QgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7Citjb25zdCBpZGVudGlmaWVy
ID0gTWF0aC5yYW5kb20oKTsKK2NvbnN0IHBhdGggPSBgcmVzb3VyY2VzL2Zha2VfcmVzcG9uc2Vz
LnB5P3RhZz0ke2lkZW50aWZpZXJ9YDsKK2NsaWVudC5vcGVuKCJHRVQiLCBwYXRoLCBmYWxzZSk7
CitjbGllbnQuc2VuZCgpOworCithdHRyaWJ1dGVfdGVzdCgKKyAgYXN5bmMgKCkgPT4geworICAg
IGNsaWVudC5vcGVuKCJHRVQiLCBwYXRoICsgIiZzYW1lX3Jlc291cmNlPWZhbHNlIiwgZmFsc2Up
OworICAgIGNsaWVudC5zZW5kKCk7CisKKyAgICAvLyBXZSBleHBlY3QgdG8gZ2V0IGEgMjAwIE9r
IHJlc3BvbnNlIGJlY2F1c2Ugd2UndmUgcmVxdWVzdGVkIGEgZGlmZmVyZW50CisgICAgLy8gcmVz
b3VyY2UgdGhhbiBwcmV2aW91cyByZXF1ZXN0cy4KKyAgICBpZiAoY2xpZW50LnN0YXR1cyAhPSAy
MDApIHsKKyAgICAgIHRocm93IG5ldyBFcnJvcihgR290IHNvbWV0aGluZyBvdGhlciB0aGFuIGEg
MjAwIHJlc3BvbnNlLiBgICsKKyAgICAgICAgICAgICAgICAgICAgICBgY2xpZW50LnN0YXR1czog
JHtjbGllbnQuc3RhdHVzfWApOworICAgIH0KKyAgfSwgcGF0aCwgZW50cnkgPT4geworICAgIGlu
dmFyaWFudHMuYXNzZXJ0X2Nvbm5lY3Rpb25fcmV1c2VkKGVudHJ5KTsKKworICAgIC8vIFRoZSBl
bnRyeSBtdXN0IGFsc28gZm9sbG93IHRoZSBzcGVjaWZpY2F0aW9uIGZvciBhbnkgZW50cnkgY29y
cmVzcG9uZGluZworICAgIC8vIHRvIGEgJ3R5cGljYWwnIDIwMCBPayByZXNwb25zZS4KKyAgICBp
ZiAoc2VsZi5sb2NhdGlvbi5wcm90b2NvbCA9PSAnaHR0cHM6JykgeworICAgICAgaW52YXJpYW50
cy5hc3NlcnRfdGFvX3Bhc3Nfbm9fcmVkaXJlY3RfaHR0cHMoZW50cnkpOworICAgIH0gZWxzZSB7
CisgICAgICBpbnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc19ub19yZWRpcmVjdF9odHRwKGVudHJ5
KTsKKyAgICB9CisgIH0sCisgICJQZXJmb3JtYW5jZVJlc3JvdWNlVGltaW5nIGVudHJpZXMgbmVl
ZCB0byBjb25mb3JtIHRvIHRoZSBzcGVjIHdoZW4gYSAiICsKKyAgImRpc3RpbmN0IHJlc291cmNl
IGlzIGZldGNoZWQgb3ZlciBhIHBlcnNpc3RlbnQgY29ubmVjdGlvbiIpOworCithdHRyaWJ1dGVf
dGVzdCgKKyAgYXN5bmMgKCkgPT4geworICAgIGNsaWVudC5vcGVuKCJHRVQiLCBwYXRoLCBmYWxz
ZSk7CisgICAgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLCBpZGVudGlm
aWVyKTsKKyAgICBjbGllbnQuc2VuZCgpOworCisgICAgLy8gV2UgZXhwZWN0IHRvIGdldCBhIDMw
NCBOb3QgTW9kaWZpZWQgcmVzcG9uc2UgYmVjYXVzZSB3ZSd2ZSB1c2VkIGEKKyAgICAvLyBtYXRj
aGluZyAnaWRlbnRpZmllcicgZm9yIHRoZSBJZi1Ob25lLU1hdGNoIGhlYWRlci4KKyAgICBpZiAo
Y2xpZW50LnN0YXR1cyAhPSAzMDQpIHsKKyAgICAgIHRocm93IG5ldyBFcnJvcihgR290IHNvbWV0
aGluZyBvdGhlciB0aGFuIGEgMzA0IHJlc3BvbnNlLiBgICsKKyAgICAgICAgICAgICAgICAgICAg
ICBgY2xpZW50LnN0YXR1czogJHtjbGllbnQuc3RhdHVzfWApOworICAgIH0KKyAgfSwgcGF0aCwg
ZW50cnkgPT4geworICAgIGludmFyaWFudHMuYXNzZXJ0X2Nvbm5lY3Rpb25fcmV1c2VkKGVudHJ5
KTsKKworICAgIC8vIFRoZSBlbnRyeSBtdXN0IGFsc28gZm9sbG93IHRoZSBzcGVjaWZpY2F0aW9u
IGZvciBhbnkgZW50cnkgY29ycmVzcG9uZGluZworICAgIC8vIHRvIGEgJ3R5cGljYWwnIDMwNCBO
b3QgTW9kaWZpZWQgcmVzcG9uc2UuCisgICAgaWYgKHNlbGYubG9jYXRpb24ucHJvdG9jb2wgPT0g
J2h0dHBzOicpIHsKKyAgICAgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzXzMwNF9ub3RfbW9k
aWZpZWRfaHR0cHMoZW50cnkpOworICAgIH0gZWxzZSB7CisgICAgICBpbnZhcmlhbnRzLmFzc2Vy
dF90YW9fcGFzc18zMDRfbm90X21vZGlmaWVkX2h0dHAoZW50cnkpOworICAgIH0KKyAgfSwKKyAg
IlBlcmZvcm1hbmNlUmVzcm91Y2VUaW1pbmcgZW50cmllcyBuZWVkIHRvIGNvbmZvcm0gdG8gdGhl
IHNwZWMgd2hlbiB0aGUgIiArCisgICJyZXNvdXJjZSBpcyBjYWNoZS1yZXZhbGlkYXRlZCBvdmVy
IGEgcGVyc2lzdGVudCBjb25uZWN0aW9uIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvY3Nw
LWRlZmF1bHQtbm9uZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NzcC1kZWZhdWx0LW5vbmUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xZjU5ZDhjMjI1MGY3ZjE3ZjE0Mzg4N2RjNGY4ZTY4Y2RmN2ZhYTgzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NzcC1kZWZhdWx0LW5vbmUuaHRtbApAQCAtMCww
ICsxLDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxl
PmVtcHR5IHBhZ2U8L3RpdGxlPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NzcC1kZWZhdWx0
LW5vbmUuaHRtbC5oZWFkZXJzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NzcC1kZWZhdWx0LW5vbmUuaHRtbC5o
ZWFkZXJzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmQ2NmY4ODZkZDIzZDQ0YmIzMzc1MGNiNTcyM2YzZWRiNmI3OTMw
YWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvY3NwLWRlZmF1bHQtbm9uZS5odG1s
LmhlYWRlcnMKQEAgLTAsMCArMSwyIEBACitDb250ZW50LVNlY3VyaXR5LVBvbGljeTogZGVmYXVs
dC1zcmMgJ25vbmUnCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVudC1kb21haW4t
bm8taW1wYWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjY0Y2RkOGE4NzAxZWI0ZDc0OWYxMTJhZDQwMTVkNGU1Nzc5Yjc3YjEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFj
dC5odG1sCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZS1sb2FkZXJzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSJlbnRyeS1pbnZhcmlhbnRzLmpzIj48L3NjcmlwdD4KKzxib2R5
PgorPHNjcmlwdD4KK2NvbnN0IHBhdGggPSBsb2NhdGlvbi5vcmlnaW4gKworICAgICAgICAgICAg
ICIvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9pZnJhbWUtc2V0ZG9tYWluLnN1Yi5odG1sIjsK
K2F0dHJpYnV0ZV90ZXN0X3dpdGhfdmFsaWRhdG9yKGxvYWQuaWZyYW1lLCBwYXRoLAorICBlbCA9
PiB7CisgICAgdHJ5IHsKKyAgICAgIGVsLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7CisgICAgICB0
aHJvdyBuZXcgRXJyb3IoImlmcmFtZSBkb2N1bWVudC5kb21haW4gd2FzIG5vdCBzZXQiKTsKKyAg
ICB9IGNhdGNoKGVycm9yKSB7CisgICAgICBpZiAoZXJyb3IubmFtZSAhPSAiU2VjdXJpdHlFcnJv
ciIpIHsKKyAgICAgICAgdGhyb3coZXJyb3IpOworICAgICAgfQorICAgIH0KKyAgfSwKKyAgaW52
YXJpYW50cy5hc3NlcnRfdGFvX3Bhc3Nfbm9fcmVkaXJlY3RfaHR0cCwKKyAgInRlc3QgdGhhdCBk
b2N1bWVudC5kb21haW4gYmVpbmcgc2V0IGRvZXNuJ3QgaGF2ZSBhbiBpbXBhY3Qgb24gdGhlICIg
KworICAicmVzb3VyY2UgdGltaW5nIGVudHJ5LiIKKyk7Cis8L3NjcmlwdD4KKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL2RvY3VtZW50LXJlZnJlc2hlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2Rv
Y3VtZW50LXJlZnJlc2hlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlNGNhMDk4OTFlZDM1ZTI0NGIxNTE1
MWEyYTYwNzdhZjc0ZTg2NWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZG9jdW1l
bnQtcmVmcmVzaGVkLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8L2hlYWQ+Cis8Ym9keT4KKyAg
ICBSZWZyZXNoZWQgZG9jdW1lbnQhCis8c2NyaXB0PgorICAgIHRvcC5wb3N0TWVzc2FnZSgicmVm
cmVzaGVkIiwgIioiKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VzL2RvY3VtZW50LXRoYXQtcmVmcmVzaGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMv
ZG9jdW1lbnQtdGhhdC1yZWZyZXNoZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NTUyMjc4MmE2MmRiZTNi
OThiMmYxYTA5YzViYWJjNzA2M2I3NTEwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vz
L2RvY3VtZW50LXRoYXQtcmVmcmVzaGVzLmh0bWwKQEAgLTAsMCArMSw4IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzxtZXRhIGh0
dHAtZXF1aXY9InJlZnJlc2giIGNvbnRlbnQ9IjA7ZG9jdW1lbnQtcmVmcmVzaGVkLmh0bWwiPgor
PC9oZWFkPgorPGJvZHk+PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vz
L2VtYmVkLXJlZnJlc2guaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9lbWJlZC1yZWZyZXNoLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNGE0OWZkMGI0YzFiNTRjMGYwMzIwMGY3ZWQyY2IyYWUyNzIzOTc4OAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9lbWJlZC1yZWZyZXNoLmh0bWwKQEAgLTAsMCArMSwx
NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nIGVtYmVkIHJlZnJlc2g8L3RpdGxlPgorPHNj
cmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Im5lc3RlZC1jb250ZXh0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICAgIHNldHVw
X3JlZnJlc2hfdGVzdCgpOworPC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4KKzxlbWJlZCB0
eXBlPSJ0ZXh0L2h0bWwiPgorPHNjcmlwdD4KKyAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFn
TmFtZSgiZW1iZWQiKVswXS5zcmMgPSBwcmVfcmVmcmVzaF91cmw7Cis8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi1mcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2dyZWVu
LWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTYxMzI0MGFlMzg3ODlhMTA0ZDc3ZDU2Zjg5MGZmNjI0
MjA5MzRiMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi1mcmFtZS5odG1s
CkBAIC0wLDAgKzEsNyBAQAorPGh0bWw+CisgIDxoZWFkPgorICAgIDxmcmFtZXNldD4KKyAgICAg
IDxmcmFtZSBzcmM9ImdyZWVuLmh0bWw/aWQ9ZnJhbWUiPgorICAgIDwvZnJhbWVzZXQ+CisgIDwv
aGVhZD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL2dyZWVuLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjhhMTk0N2I3N2UyNWFjNmIwZDEwMGM3
NTkzMmU4YzBhNjdkODQ2ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi5o
dG1sCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+CisgICAgPGhlYWQ+
CisgICAgICAgIDxtZXRhIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgaHR0cC1l
cXVpdj0iQ29udGVudC1UeXBlIiAvPgorICAgICAgICA8dGl0bGU+R3JlZW4gVGVzdCBQYWdlPC90
aXRsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IzAw
RkYwMDsiPgorICAgICAgICA8aDE+UGxhY2Vob2xkZXI8L2gxPgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi5odG1sLmhlYWRlcnMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZXMvZ3JlZW4uaHRtbC5oZWFkZXJzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiNzYyZWZmODA2ODQ5ZGY0NmRj
NzU4ZWY3Yjk4YjYzZjI3ZjU0YzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3Jl
ZW4uaHRtbC5oZWFkZXJzCkBAIC0wLDAgKzEgQEAKK0FjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdp
bjogKgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2d6aXBfeG1sLnB5IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vz
L2d6aXBfeG1sLnB5CmluZGV4IDIyOTM2MDVhYzMzYTRkMzU3YTQyNmNkZTEzOWJiN2Q0NGU0ZTBj
YjMuLjdkZWJjOWNlM2Y2Y2IwNjFiZThjYTM3YjczZmNmOWYyYTUzOTYzODkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3Jlc291cmNlcy9nemlwX3htbC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3ppcF94bWwucHkK
QEAgLTEsNyArMSw3IEBACiBpbXBvcnQgZ3ppcCBhcyBnemlwX21vZHVsZQogaW1wb3J0IG9zCiAK
LWZyb20gc2l4IGltcG9ydCBCeXRlc0lPCitmcm9tIGlvIGltcG9ydCBCeXRlc0lPCiAKIGZyb20g
d3B0c2VydmUudXRpbHMgaW1wb3J0IGlzb21vcnBoaWNfZGVjb2RlCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlcy9pZnJhbWUtcmVmcmVzaC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2lmcmFtZS1yZWZy
ZXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNGNlM2VhMDQyNDI5N2FjN2E4NjY0ZmM3ZjdhNmRjYmZmNjRk
NmYxNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9pZnJhbWUtcmVmcmVzaC5odG1s
CkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZyBpZnJhbWUgcmVmcmVz
aDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0ibmVzdGVkLWNvbnRleHRzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQ+CisgICAgc2V0dXBfcmVmcmVzaF90ZXN0KCk7Cis8L3NjcmlwdD4KKzxkaXYgaWQ9bG9nPjwv
ZGl2PgorPGlmcmFtZT48L2lmcmFtZT4KKzxzY3JpcHQ+CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dHNCeVRhZ05hbWUoImlmcmFtZSIpWzBdLnNyYyA9IHByZV9yZWZyZXNoX3VybDsKKzwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2lmcmFtZS1yZWxvYWQtVEFPLnN1Yi5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VzL2lmcmFtZS1yZWxvYWQtVEFPLnN1Yi5odG1sCmluZGV4IDI1NjgwMjZlNjRl
ZGI4NGU1NzRlNWMxYjA2ZjMyM2NiMzU4OWI5OTIuLjU3N2FmZjc3NThjNzc5ODkzZjAxMDY1OGQy
MTZmMzQ4MDJhNGVkZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9pZnJhbWUtcmVsb2FkLVRB
Ty5zdWIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvaWZyYW1lLXJlbG9hZC1UQU8uc3ViLmh0bWwK
QEAgLTEsMTQgKzEsMTQgQEAKIDxzdHlsZT4KIEBmb250LWZhY2UgewogICAgIGZvbnQtZmFtaWx5
OiBhaGVtOwotICAgIHNyYzogdXJsKGh0dHA6Ly97e2hvc3RzW2FsdF1bXX19Ont7cG9ydHNbaHR0
cF1bMV19fS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NvcnMtYWhlbS5weSk7CisgICAgc3Jj
OiB1cmwoaHR0cDovL3t7ZG9tYWluc1t3d3ddfX06e3twb3J0c1todHRwXVsxXX19L3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvY29ycy1haGVtLnB5KTsKIH0KIDwvc3R5bGU+CiA8ZGl2IHN0eWxl
PSJmb250LWZhbWlseTogYWhlbTsiPlRoaXMgZmV0Y2hlcyBhaGVtIGZvbnQuPC9kaXY+CiA8c2Ny
aXB0PgogICBpZiAobG9jYXRpb24uaGFzaCA9PT0gJyNjaGVjaycpIHsKICAgICAgIGRvY3VtZW50
LmZvbnRzLnJlYWR5LnRoZW4oKCk9PiB7Ci0gICAgICAgIGNvbnN0IGVudHJpZXMgPSBwZXJmb3Jt
YW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdodHRwOi8ve3tob3N0c1thbHRdW119fTp7e3BvcnRzW2h0
dHBdWzFdfX0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jb3JzLWFoZW0ucHknKTsKKyAgICAg
ICAgY29uc3QgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoJ2h0dHA6Ly97
e2RvbWFpbnNbd3d3XX19Ont7cG9ydHNbaHR0cF1bMV19fS9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2VzL2NvcnMtYWhlbS5weScpOwogICAgICAgICBpZiAoZW50cmllcy5sZW5ndGggIT0gMSkKICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIGNvbnN0IGVudHJ5ID0gZW50cmllc1swXTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy9tdWx0aV9yZWRpcmVjdC5weSBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9tdWx0
aV9yZWRpcmVjdC5weQppbmRleCA1NmY1ZDZjNzcxNTNhNTU5OGFlZTBjNjc5NWZiOTA5YzNmZGNk
ZGJmLi5hNWZjNWRiNGFjOTAxNTkxNDkwOGJhMmNjZWVjMTg5ZjlkMzI3NGQwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvbXVsdGlfcmVkaXJlY3QucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRp
X3JlZGlyZWN0LnB5CkBAIC0xLDMgKzEsNCBAQAoraW1wb3J0IHVybGxpYi5wYXJzZQogZnJvbSB3
cHRzZXJ2ZS51dGlscyBpbXBvcnQgaXNvbW9ycGhpY19lbmNvZGUKIAogZGVmIG1haW4ocmVxdWVz
dCwgcmVzcG9uc2UpOgpAQCAtMzcsNyArMzgsNyBAQCBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25z
ZSk6CiAgICAgcmVkaXJlY3RfdXJsX3BhdGggPSBiIi9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vz
L211bHRpX3JlZGlyZWN0LnB5PyIKICAgICByZWRpcmVjdF91cmxfcGF0aCArPSBiInBhZ2Vfb3Jp
Z2luPSIgKyBwYWdlX29yaWdpbgogICAgIHJlZGlyZWN0X3VybF9wYXRoICs9IGIiJmNyb3NzX29y
aWdpbj0iICsgY3Jvc3Nfb3JpZ2luCi0gICAgcmVkaXJlY3RfdXJsX3BhdGggKz0gYiImZmluYWxf
cmVzb3VyY2U9IiArIGZpbmFsX3Jlc291cmNlCisgICAgcmVkaXJlY3RfdXJsX3BhdGggKz0gYiIm
ZmluYWxfcmVzb3VyY2U9IiArIHVybGxpYi5wYXJzZS5xdW90ZShmaW5hbF9yZXNvdXJjZSkuZW5j
b2RlKCdhc2NpaScpCiAgICAgcmVkaXJlY3RfdXJsX3BhdGggKz0gYiImdGFvX3ZhbHVlPSIgKyB0
YW9fdmFsdWUKICAgICByZWRpcmVjdF91cmxfcGF0aCArPSBiIiZ0YW9fc3RlcHM9IiArIGlzb21v
cnBoaWNfZW5jb2RlKHN0cihuZXh0X3Rhb19zdGVwcykpCiAgICAgcmVkaXJlY3RfdXJsX3BhdGgg
Kz0gYiImc3RlcD0iCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvb2JqZWN0LXJlZnJlc2guaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL3Jlc291cmNlcy9vYmplY3QtcmVmcmVzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjllNDNlMTlk
ZTE5ZmM3YzM2NGU2OGUwYjI0MTU5NjNmNTVlOWRkYjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvb2JqZWN0LXJlZnJlc2guaHRtbApAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5S
ZXNvdXJjZSBUaW1pbmcgb2JqZWN0IHJlZnJlc2g8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9jb21t
b24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Im5lc3RlZC1j
b250ZXh0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICAgIHNldHVwX3JlZnJlc2hfdGVzdCgp
OworPC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4KKzxvYmplY3QgdHlwZT0idGV4dC9odG1s
Ij48L29iamVjdD4KKzxzY3JpcHQ+CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUo
Im9iamVjdCIpWzBdLmRhdGEgPSBwcmVfcmVmcmVzaF91cmw7Cis8L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL3Jlc291cmNlcy9yZWRpcmVjdC1jb3JzLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3JlZGlyZWN0
LWNvcnMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZWE2N2NiOGU3YWM0ZTYxMDQ1ZDA1YWY1MWYwNjZkYjQ4YmZk
ZjEwMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9yZWRpcmVjdC1jb3JzLnB5CkBA
IC0wLDAgKzEsMTAgQEAKK2RlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKKyAgICBsb2NhdGlv
biA9IHJlcXVlc3QuR0VULmZpcnN0KGIibG9jYXRpb24iKQorICAgIHJlc3BvbnNlLnN0YXR1cyA9
IDMwMgorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiTG9jYXRpb24iLCBsb2NhdGlvbikKKwor
ICAgIGlmIGIiYWxsb3dfb3JpZ2luIiBpbiByZXF1ZXN0LkdFVDoKKyAgICAgICAgcmVzcG9uc2Uu
aGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCByZXF1ZXN0LkdFVC5m
aXJzdChiImFsbG93X29yaWdpbiIpKQorCisgICAgaWYgYiJ0aW1pbmdfYWxsb3dfb3JpZ2luIiBp
biByZXF1ZXN0LkdFVDoKKyAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJUaW1pbmctQWxs
b3ctT3JpZ2luIiwgcmVxdWVzdC5HRVQuZmlyc3QoYiJ0aW1pbmdfYWxsb3dfb3JpZ2luIikpCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVzb3VyY2UtdGltaW5nLWNvbnRlbnQtbGVuZ3RoLnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL3Jlc291cmNlLXRpbWluZy1jb250ZW50LWxlbmd0aC5weQpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42ZGJjZTA0N2I3MmVmMDU5NzZkNTI5NmVhMzg5NjFlMjA1YTBmMDRlCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvcmVzb3VyY2VzL3Jlc291cmNlLXRpbWluZy1jb250ZW50LWxlbmd0aC5weQpA
QCAtMCwwICsxLDE5IEBACitkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CisgICAgY29udGVu
dCA9IHJlcXVlc3QuR0VULmZpcnN0KGIiY29udGVudCIpCisgICAgbGVuZ3RoID0gcmVxdWVzdC5H
RVQuZmlyc3QoYiJsZW5ndGgiKS5kZWNvZGUoImFzY2lpIikKKyAgICByZXNwb25zZS5hZGRfcmVx
dWlyZWRfaGVhZGVycyA9IEZhbHNlCisKKyAgICBvdXRwdXQgPSAgYiJIVFRQLzEuMSAyMDAgT0tc
clxuIgorICAgIG91dHB1dCArPSBiIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjtjaGFyc2V0PVVU
Ri04XHJcbiIKKyAgICBpZiBsZW5ndGggPT0gYiJhdXRvIiA6CisgICAgICAgIG91dHB1dCArPSBi
IkNvbnRlbnQtTGVuZ3RoOiIKKyAgICAgICAgb3V0cHV0ICs9ICJ7MH0iLmZvcm1hdChsZW4oY29u
dGVudCkpLmVuY29kZSgiYXNjaWkiKQorICAgICAgICBvdXRwdXQgKz0gYiJcclxuIgorICAgIGVs
aWYgbGVuZ3RoICE9IGIibm9uZSIgOgorICAgICAgICBvdXRwdXQgKz0gYiJDb250ZW50LUxlbmd0
aDoiCisgICAgICAgIG91dHB1dCArPSAiezB9Ii5mb3JtYXQobGVuZ3RoKS5lbmNvZGUoImFzY2lp
IikKKyAgICAgICAgb3V0cHV0ICs9IGIiXHJcbiIKKyAgICBvdXRwdXQgKz0gYiJcclxuIgorICAg
IG91dHB1dCArPSBjb250ZW50CisgICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlKG91dHB1dCkKKyAg
ICByZXNwb25zZS5jbG9zZV9jb25uZWN0aW9uID0gVHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2VzL3Jlc291cmNlX3RpbWluZ190ZXN0MC54bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVzb3VyY2VfdGlt
aW5nX3Rlc3QwLnhtbAppbmRleCBhZGY2MDFjOGExNDlhYjYzZDRhY2I4MjcxYWU5MjVjNjI4Yzc3
NThiLi45MWNkNjc2YmU2ZTZmMWFlMmJhYjNkYzFhMDA1M2RhNDkyYjQzNTE3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvcmVzb3VyY2VfdGltaW5nX3Rlc3QwLnhtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZXMvcmVzb3VyY2VfdGltaW5nX3Rlc3QwLnhtbApAQCAtMSw2ICsxLDYgQEAKIDw/eG1sIHZlcnNp
b249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KIDxURVNUREFUQT4KICAgICA8SVRFTT4K
LSAgICAgICAgPERBVEE+VGVzdCBYTUwgRGF0YTwvZGF0YT4KLSAgICA8L2l0ZW0+Ci08L3Rlc3Rk
YXRhPgorICAgICAgICA8REFUQT5UZXN0IFhNTCBEYXRhPC9EQVRBPgorICAgIDwvSVRFTT4KKzwv
VEVTVERBVEE+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvc2l6ZXMtaGVscGVyLmpzIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL3NpemVzLWhlbHBlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NjMzNjY4NmIzMjkwMmVjMWMx
MjNiMGY1NWZmNjdlOWFiYTQzMDYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3Np
emVzLWhlbHBlci5qcwpAQCAtMCwwICsxLDE2IEBACisvLyBIZWFkZXIgc2l6ZSBpcyBhIGZpeGVk
IGNvbnN0YW50LgorLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Jlc291cmNlLXRpbWluZy8jZG9t
LXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmctdHJhbnNmZXJzaXplCitjb25zdCBoZWFkZXJTaXpl
ID0gMzAwOworCitjb25zdCBjYWNoZUJ1c3RVcmwgPSB1cmwgPT4geworICByZXR1cm4gdXJsICsg
JyZ1bmlxdWU9JyArIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoKS5zdWJzdHJpbmcoMik7Cit9CisK
K2NvbnN0IGNoZWNrU2l6ZUZpZWxkcyA9IChlbnRyeSwgYm9keVNpemUsIHRyYW5zZmVyU2l6ZSkg
PT4geworICBhc3NlcnRfZXF1YWxzKGVudHJ5LmRlY29kZWRCb2R5U2l6ZSwgYm9keVNpemUsCisg
ICAgICAgICAgICAgICAgJ2RlY29kZWRCb2R5U2l6ZScpOworICBhc3NlcnRfZXF1YWxzKGVudHJ5
LmVuY29kZWRCb2R5U2l6ZSwgYm9keVNpemUsCisgICAgICAgICAgICAgICAgJ2VuY29kZWRCb2R5
U2l6ZScpOworICBhc3NlcnRfZXF1YWxzKGVudHJ5LnRyYW5zZmVyU2l6ZSwgdHJhbnNmZXJTaXpl
LAorICAgICAgICAgICAgICAgICd0cmFuc2ZlclNpemUnKTsKK30KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlcy9zdGF0dXMtY29kZS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9zdGF0dXMtY29kZS5weQppbmRl
eCA5YmMwMmJkMzQ2NzllZGQ2M2YwMGRjNDYxMGM0ODViOGQxMGNhNmQzLi43MjIyMmIzOWU0ODU3
NGM2NjYwNTJiMmJiNGQ3MDI5ZmQ2YmE1MjZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvc3Rh
dHVzLWNvZGUucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3N0YXR1cy1jb2RlLnB5CkBAIC0xLDQgKzEs
NiBAQAogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgogICAgIHN0YXR1cyA9IHJlcXVlc3Qu
R0VULmZpcnN0KGInc3RhdHVzJykKICAgICByZXNwb25zZS5zdGF0dXMgPSAoc3RhdHVzLCBiIiIp
OworICAgIGlmIGIndGFvX3ZhbHVlJyBpbiByZXF1ZXN0LkdFVDoKKyAgICAgIHJlc3BvbnNlLmhl
YWRlcnMuc2V0KGIndGltaW5nLWFsbG93LW9yaWdpbicsIHJlcXVlc3QuR0VULmZpcnN0KGIndGFv
X3ZhbHVlJykpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3Mu
anMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzCmluZGV4IDhlMDRlNTJmOWM1
N2ZhZmI2YTU5OWRhM2ExOTYzYWE2ZWQ1NDVlNmYuLjg2OWVmM2Q3NGY3N2I1ODVlMTRhZmMwMGE4
ZGM5MGJlMDlkYjk3MGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5l
c3MuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcwpAQCAtNjIsMjYg
KzYyLDI2IEBAIGZ1bmN0aW9uIHRlc3RfbmFtZXNwYWNlKGNoaWxkX25hbWUsIHNraXBfcm9vdCkK
ICAgICBpZiAoc2tpcF9yb290ID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgdmFyIG1zZyA9ICd3
aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCc7CiAgICAgICAgIC8vIFRoZSB3aW5kb3cucGVy
Zm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5j
ZSByZWxhdGVkIGF0dHJpYnV0ZXMuCi0gICAgICAgIHdwX3Rlc3QoZnVuY3Rpb24gKCkgeyBhc3Nl
cnRfdHJ1ZShwZXJmb3JtYW5jZU5hbWVzcGFjZSAhPT0gdW5kZWZpbmVkLCBtc2cpOyB9LCBtc2cp
OworICAgICAgICB3cF90ZXN0KGZ1bmN0aW9uICgpIHsgYXNzZXJ0X25vdF9lcXVhbHMocGVyZm9y
bWFuY2VOYW1lc3BhY2UsIHVuZGVmaW5lZCwgbXNnKTsgfSwgbXNnKTsKICAgICB9CiAKICAgICBp
ZiAoY2hpbGRfbmFtZSAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgIHZhciBtc2cyID0gJ3dpbmRv
dy5wZXJmb3JtYW5jZS4nICsgY2hpbGRfbmFtZSArICcgaXMgZGVmaW5lZCc7CiAgICAgICAgIC8v
IFRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVh
IGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuCi0gICAgICAgIHdwX3Rlc3QoZnVu
Y3Rpb24oKSB7IGFzc2VydF90cnVlKHBlcmZvcm1hbmNlTmFtZXNwYWNlW2NoaWxkX25hbWVdICE9
PSB1bmRlZmluZWQsIG1zZzIpOyB9LCBtc2cyKTsKKyAgICAgICAgd3BfdGVzdChmdW5jdGlvbigp
IHsgYXNzZXJ0X25vdF9lcXVhbHMocGVyZm9ybWFuY2VOYW1lc3BhY2VbY2hpbGRfbmFtZV0sIHVu
ZGVmaW5lZCwgbXNnMik7IH0sIG1zZzIpOwogICAgIH0KIH0KIAogZnVuY3Rpb24gdGVzdF9hdHRy
aWJ1dGVfZXhpc3RzKHBhcmVudF9uYW1lLCBhdHRyaWJ1dGVfbmFtZSwgcHJvcGVydGllcykKIHsK
ICAgICB2YXIgbXNnID0gJ3dpbmRvdy5wZXJmb3JtYW5jZS4nICsgcGFyZW50X25hbWUgKyAnLicg
KyBhdHRyaWJ1dGVfbmFtZSArICcgaXMgZGVmaW5lZC4nOwotICAgIHdwX3Rlc3QoZnVuY3Rpb24o
KSB7IGFzc2VydF90cnVlKHBlcmZvcm1hbmNlTmFtZXNwYWNlW3BhcmVudF9uYW1lXVthdHRyaWJ1
dGVfbmFtZV0gIT09IHVuZGVmaW5lZCwgbXNnKTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKKyAgICB3
cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfbm90X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFj
ZVtwYXJlbnRfbmFtZV1bYXR0cmlidXRlX25hbWVdLCB1bmRlZmluZWQsIG1zZyk7IH0sIG1zZywg
cHJvcGVydGllcyk7CiB9CiAKIGZ1bmN0aW9uIHRlc3RfZW51bShwYXJlbnRfbmFtZSwgZW51bV9u
YW1lLCB2YWx1ZSwgcHJvcGVydGllcykKIHsKICAgICB2YXIgbXNnID0gJ3dpbmRvdy5wZXJmb3Jt
YW5jZS4nICsgcGFyZW50X25hbWUgKyAnLicgKyBlbnVtX25hbWUgKyAnIGlzIGRlZmluZWQuJzsK
LSAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfdHJ1ZShwZXJmb3JtYW5jZU5hbWVzcGFj
ZVtwYXJlbnRfbmFtZV1bZW51bV9uYW1lXSAhPT0gdW5kZWZpbmVkLCBtc2cpOyB9LCBtc2csIHBy
b3BlcnRpZXMpOworICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF9ub3RfZXF1YWxzKHBl
cmZvcm1hbmNlTmFtZXNwYWNlW3BhcmVudF9uYW1lXVtlbnVtX25hbWVdLCB1bmRlZmluZWQsIG1z
Zyk7IH0sIG1zZywgcHJvcGVydGllcyk7CiAKICAgICBtc2cgPSAnd2luZG93LnBlcmZvcm1hbmNl
LicgKyBwYXJlbnRfbmFtZSArICcuJyArIGVudW1fbmFtZSArICcgPSAnICsgdmFsdWU7CiAgICAg
d3BfdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZVtw
YXJlbnRfbmFtZV1bZW51bV9uYW1lXSwgdmFsdWUsIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7
CkBAIC0xNDgsNyArMTQ4LDcgQEAgZnVuY3Rpb24gdGVzdF9ncmVhdGVyX29yX2VxdWFscyh2YWx1
ZSwgZ3JlYXRlcl90aGFuLCBtc2csIHByb3BlcnRpZXMpCiAKIGZ1bmN0aW9uIHRlc3Rfbm90X2Vx
dWFscyh2YWx1ZSwgbm90ZXF1YWxzLCBtc2csIHByb3BlcnRpZXMpCiB7Ci0gICAgd3BfdGVzdChm
dW5jdGlvbigpIHsgYXNzZXJ0X3RydWUodmFsdWUgIT09IG5vdGVxdWFscywgbXNnKTsgfSwgbXNn
LCBwcm9wZXJ0aWVzKTsKKyAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfbm90X2VxdWFs
cyh2YWx1ZSwgbm90ZXF1YWxzLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOwogfQogCiBmdW5j
dGlvbiB0ZXN0X3Rhb19wYXNzKGVudHJ5KSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvd2Vi
cGVyZnRlc3RoYXJuZXNzZXh0ZW5zaW9uLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFy
bmVzc2V4dGVuc2lvbi5qcwppbmRleCA4YmM3NGJmODExZTkxNmYzYTgxMWQ0NmRlZTM2MzJjOTcw
YzA1YmU2Li5kYzAyYzA3NWIzZDA3ZjdjNTcxNjRmMGVjMjRjMzJhZGI3NmMwZGUyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzZXh0ZW5zaW9uLmpzCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3NleHRlbnNpb24uanMKQEAgLTEsMTIgKzEsNiBA
QAotLyoKLURpc3RyaWJ1dGVkIHVuZGVyIGJvdGggdGhlIFczQyBUZXN0IFN1aXRlIExpY2Vuc2Ug
WzFdIGFuZCB0aGUgVzNDCi0zLWNsYXVzZSBCU0QgTGljZW5zZSBbMl0uIFRvIGNvbnRyaWJ1dGUg
dG8gYSBXM0MgVGVzdCBTdWl0ZSwgc2VlIHRoZQotcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBm
b3JtcyBbM10uCi0KLVsxXSBodHRwOi8vd3d3LnczLm9yZy9Db25zb3J0aXVtL0xlZ2FsLzIwMDgv
MDQtdGVzdHN1aXRlLWxpY2Vuc2UKLVsyXSBodHRwOi8vd3d3LnczLm9yZy9Db25zb3J0aXVtL0xl
Z2FsLzIwMDgvMDMtYnNkLWxpY2Vuc2UKLVszXSBodHRwOi8vd3d3LnczLm9yZy8yMDA0LzEwLzI3
LXRlc3RjYXNlcwotICovCisvLworLy8gSGVscGVyIGZ1bmN0aW9ucyBmb3IgUmVzb3VyY2UgVGlt
aW5nIHRlc3RzCisvLwogCiB2YXIgbWFya19uYW1lcyA9IFsKICAgICAnJywKQEAgLTI3LDcgKzIx
LDcgQEAgZnVuY3Rpb24gdGVzdF9tZXRob2RfZXhpc3RzKG1ldGhvZCwgbWV0aG9kX25hbWUsIHBy
b3BlcnRpZXMpCiAgICAgICAgIG1zZyA9ICdwZXJmb3JtYW5jZS4nICsgbWV0aG9kLm5hbWUgKyAn
IGlzIHN1cHBvcnRlZCEnOwogICAgIGVsc2UKICAgICAgICAgbXNnID0gJ3BlcmZvcm1hbmNlLicg
KyBtZXRob2RfbmFtZSArICcgaXMgc3VwcG9ydGVkISc7Ci0gICAgd3BfdGVzdChmdW5jdGlvbigp
IHsgYXNzZXJ0X3RydWUodHlwZW9mIG1ldGhvZCA9PT0gJ2Z1bmN0aW9uJywgbXNnKTsgfSwgbXNn
LCBwcm9wZXJ0aWVzKTsKKyAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfZXF1YWxzKHR5
cGVvZiBtZXRob2QsICdmdW5jdGlvbicsIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7CiB9CiAK
IGZ1bmN0aW9uIHRlc3Rfbm9sZXNzX3RoYW4odmFsdWUsIGdyZWF0ZXJfdGhhbiwgbXNnLCBwcm9w
ZXJ0aWVzKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2FtZS1vcmlnaW4tZnJvbS1jcm9zcy1vcmlnaW4tcmVk
aXJlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2FtZS1vcmlnaW4tZnJvbS1jcm9zcy1vcmlnaW4tcmVk
aXJlY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEwNWE3NmVkOWM5Njc0OTFhNTQ3ZWFjYzdj
ZTNlNjhmNmQzZDEzOWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zYW1lLW9yaWdpbi1mcm9tLWNy
b3NzLW9yaWdpbi1yZWRpcmVjdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1Mg
VmVyaWZ5IHRoYXQgY3Jvc3Mgb3JpZ2luIHJlc291cmNlcycgdGltaW5ncyBhcmUgZXhwb3NlZCB3
aGVuIHRoZSBmaW5hbCByZXNvdXJjZSBhdCB0aGUgZW5kIG9mIGFuIEhUVFAgcmVkaXJlY3QgY2hh
aW4gaXMgc2FtZS1vcmlnaW4uCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NhbWUtb3JpZ2luLWZyb20tY3Jv
c3Mtb3JpZ2luLXJlZGlyZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zYW1lLW9yaWdpbi1mcm9tLWNyb3NzLW9yaWdp
bi1yZWRpcmVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3NDBiODFiMTNmZDhhYTdhMjY5YTEwY2YyZGQz
MDIzYTBmYmMyYTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zYW1lLW9yaWdpbi1mcm9tLWNyb3Nz
LW9yaWdpbi1yZWRpcmVjdC5odG1sCkBAIC0wLDAgKzEsMzEgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlRoaXMgdGVz
dCB2YWxpZGF0ZXMgcmVzb3VyY2UgdGltaW5nIGluZm9ybWF0aW9uIGZvciBhIHNhbWUtb3JpZ2lu
CityZXNvdXJjZSBmZXRjaGVkIHRocm91Z2ggYSBjcm9zcy1vcmlnaW4gcmVkaXJlY3QgY2hhaW4u
PC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwczov
L2dvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5v
cmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI3NlYy1wZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9lbnRyeS1pbnZhcmlhbnRzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHNjcmlwdD4KK2NvbnN0IHtIVFRQX1JFTU9URV9PUklHSU59ID0gZ2V0X2hvc3RfaW5m
bygpOworbGV0IGRlc3RVcmwgPSBgJHtIVFRQX1JFTU9URV9PUklHSU59L3Jlc291cmNlLXRpbWlu
Zy9yZXNvdXJjZXMvbXVsdGlfcmVkaXJlY3QucHk/YDsKK2Rlc3RVcmwgKz0gYHBhZ2Vfb3JpZ2lu
PWh0dHA6Ly8ke2RvY3VtZW50LmxvY2F0aW9uLmhvc3R9YDsKK2Rlc3RVcmwgKz0gYCZjcm9zc19v
cmlnaW49JHtIVFRQX1JFTU9URV9PUklHSU59YDsKK2Rlc3RVcmwgKz0gYCZmaW5hbF9yZXNvdXJj
ZT0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ibGFuay13aXRoLXRhby5odG1sYDsKKworYXR0
cmlidXRlX3Rlc3QoCisgIGxvYWQuaWZyYW1lLCBkZXN0VXJsLAorICBpbnZhcmlhbnRzLmFzc2Vy
dF9zYW1lX29yaWdpbl9yZWRpcmVjdGVkX2Zyb21fY3Jvc3Nfb3JpZ2luX3Jlc291cmNlLAorICAi
VmVyaWZ5IHRoYXQgY3Jvc3Mgb3JpZ2luIHJlc291cmNlcycgdGltaW5ncyBhcmUgZXhwb3NlZCB3
aGVuIHRoZSBmaW5hbCAiICsKKyAgInJlc291cmNlIGF0IHRoZSBlbmQgb2YgYW4gSFRUUCByZWRp
cmVjdCBjaGFpbiBpcyBzYW1lLW9yaWdpbi4iKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9zaXplcy1jYWNoZS5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXplcy1jYWNoZS5h
bnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYWY3MGU1YTZkZWQzZTYzZDE1OGZkOTI5ZmVhY2YwODI3YjNjYWZj
OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLWNhY2hlLmFueS5qcwpAQCAtMCwwICsxLDU1
IEBACisvLyBNRVRBOiBnbG9iYWw9d2luZG93LHdvcmtlcgorLy8gTUVUQTogc2NyaXB0PS9yZXNv
dXJjZS10aW1pbmcvcmVzb3VyY2VzL3NpemVzLWhlbHBlci5qcworLy8gTUVUQTogc2NyaXB0PS9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMKKworbGV0IHVybCA9
IG5ldyBVUkwoCisgICcvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jYWNoZWFibGUtYW5kLXZh
bGlkYXRlZC5weScgKworICAnP2NvbnRlbnQ9bG9yZW1pcHN1bWJsYWJsYWJsYScsCisgIGxvY2F0
aW9uLmhyZWYpLmhyZWY7Citjb25zdCBib2R5U2l6ZSA9IDE5OworCitjb25zdCBhY2N1bXVsYXRl
RW50cmllcyA9ICgpID0+IHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAg
IGNvbnN0IHBvID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIobGlzdCA9PiB7CisgICAgICByZXNv
bHZlKGxpc3QpOworICAgIH0pOworICAgIHBvLm9ic2VydmUoe3R5cGU6ICJyZXNvdXJjZSIsIGJ1
ZmZlcmVkOiB0cnVlfSk7CisgIH0pOworfTsKKworY29uc3QgY2hlY2tSZXNvdXJjZVNpemVzID0g
bGlzdCA9PiB7CisgIGNvbnN0IGVudHJpZXMgPSBsaXN0LmdldEVudHJpZXNCeU5hbWUodXJsKTsK
KyAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMywgJ1dyb25nIG51bWJlciBvZiBlbnRy
aWVzJyk7CisgIGxldCBzZWVuQ291bnQgPSAwOworICBmb3IgKGxldCBlbnRyeSBvZiBlbnRyaWVz
KSB7CisgICAgaWYgKHNlZW5Db3VudCA9PT0gMCkgeworICAgICAgLy8gMjAwIHJlc3BvbnNlCisg
ICAgICBjaGVja1NpemVGaWVsZHMoZW50cnksIGJvZHlTaXplLCBib2R5U2l6ZSArIGhlYWRlclNp
emUpOworICAgIH0gZWxzZSBpZiAoc2VlbkNvdW50ID09PSAxKSB7CisgICAgICAvLyBmcm9tIGNh
Y2hlCisgICAgICBjaGVja1NpemVGaWVsZHMoZW50cnksIGJvZHlTaXplLCAwKTsKKyAgICB9IGVs
c2UgaWYgKHNlZW5Db3VudCA9PT0gMikgeworICAgICAgLy8gMzA0IHJlc3BvbnNlCisgICAgICBj
aGVja1NpemVGaWVsZHMoZW50cnksIGJvZHlTaXplLCBoZWFkZXJTaXplKTsKKyAgICB9IGVsc2Ug
eworICAgICAgYXNzZXJ0X3VucmVhY2hlZCgnVG9vIG1hbnkgbWF0Y2hpbmcgZW50cmllcycpOwor
ICAgIH0KKyAgICArK3NlZW5Db3VudDsKKyAgfQorfTsKKworcHJvbWlzZV90ZXN0KCgpID0+IHsK
KyAgLy8gVXNlIGEgZGlmZmVyZW50IFVSTCBldmVyeSB0aW1lIHNvIHRoYXQgdGhlIGNhY2hlIGJl
aGF2aW91ciBkb2VzIG5vdAorICAvLyBkZXBlbmQgb24gZXhlY3V0aW9uIG9yZGVyLgorICB1cmwg
PSBsb2FkLmNhY2hlX2J1c3QodXJsKTsKKyAgY29uc3QgZWF0Qm9keSA9IHJlc3BvbnNlID0+IHJl
c3BvbnNlLmFycmF5QnVmZmVyKCk7CisgIGNvbnN0IG11c3RSZXZhbGlkYXRlID0ge2hlYWRlcnM6
IHsnQ2FjaGUtQ29udHJvbCc6ICdtYXgtYWdlPTAnfX07CisgIHJldHVybiBmZXRjaCh1cmwpCisg
ICAgLnRoZW4oZWF0Qm9keSkKKyAgICAudGhlbigoKSA9PiBmZXRjaCh1cmwpKQorICAgIC50aGVu
KGVhdEJvZHkpCisgICAgLnRoZW4oKCkgPT4gZmV0Y2godXJsLCBtdXN0UmV2YWxpZGF0ZSkpCisg
ICAgLnRoZW4oZWF0Qm9keSkKKyAgICAudGhlbihhY2N1bXVsYXRlRW50cmllcykKKyAgICAudGhl
bihjaGVja1Jlc291cmNlU2l6ZXMpOworfSwgJ1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgc2l6
ZXMgY2FjaGluZyB0ZXN0Jyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC1pbWctZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3QtaW1nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41OTAzMjE5NjIwYWU2NWQyYWI4OGNjMjMwOGNkZWI0NzE3YmUzZTJlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3QtaW1nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAK
KworUEFTUyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIHNpemVzIHJlZGlyZWN0IGltYWdlIC0g
ZGlyZWN0IFVSTAorUEFTUyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIHNpemVzIHJlZGlyZWN0
IGltYWdlIC0gc2FtZSBvcmlnaW4gcmVkaXJlY3QKK1BBU1MgUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZyBzaXplcyByZWRpcmVjdCBpbWFnZSAtIGNyb3NzIG9yaWdpbiByZWRpcmVjdAorUEFTUyBQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIHNpemVzIHJlZGlyZWN0IGltYWdlIC0gY3Jvc3Mgb3Jp
Z2luIHRvIHNhbWUgb3JpZ2luIHJlZGlyZWN0CitQQVNTIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcgc2l6ZXMgcmVkaXJlY3QgaW1hZ2UgLSBzYW1lIG9yaWdpbiB0byByZW1vdGUgb3JpZ2luIHRv
IHNhbWUgb3JpZ2luIHJlZGlyZWN0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLXJlZGlyZWN0LWlt
Zy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3QtaW1nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzg2MDE4ZDBj
NDYzNGMzZDhjNmRmMmM0MDAzYjIwMWU2ZTRiYzRlMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Np
emVzLXJlZGlyZWN0LWltZy5odG1sCkBAIC0wLDAgKzEsNTcgQEAKKzwhRE9DVFlQRSBodG1sPgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9zaXplcy1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJl
c291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvZW50cnktaW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorLy8gUmVkaXJl
Y3RzIGZvciBmZXRjaCgpIGFsd2F5cyBhcHBseSBDT1JTIHJ1bGVzLCB3aGVyZWFzIG5vcm1hbCBy
ZXNvdXJjZXMKKy8vIGRvbid0LCBzbyB0aGlzIHRlc3QgY292ZXJzIGV4dHJhIGNvZGUgcGF0aHMg
YmV5b25kIHRob3NlIGNvdmVyZWQgYnkKKy8vIHJlc291cmNlLXRpbWluZy1zaXplcy1yZWRpcmVj
dC5odG1sLgorCitjb25zdCBiYXNlVXJsID0gbmV3IFVSTCgnL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZXMvVEFPUmVzcG9uc2UucHk/dGFvPXdpbGRjYXJkJmltZz10cnVlJywgbG9jYXRpb24uaHJl
ZikuaHJlZjsKKworY29uc3QgZXhwZWN0ZWRTaXplID0gMTAxMDsKKworY29uc3QgaG9zdEluZm8g
PSBnZXRfaG9zdF9pbmZvKCk7CisKK2NvbnN0IHJlZGlyZWN0VXJsID0gKHJlZGlyZWN0U291cmNl
T3JpZ2luLCB0YXJnZXRVcmwpID0+IHsKKyAgcmV0dXJuIHJlZGlyZWN0U291cmNlT3JpZ2luICsK
KyAgICAnL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVkaXJlY3QtY29ycy5weT90aW1pbmdf
YWxsb3dfb3JpZ2luPSonICsKKyAgICAnJmxvY2F0aW9uPScgKyBlbmNvZGVVUklDb21wb25lbnQo
dGFyZ2V0VXJsKTsKK307CisKK2NvbnN0IHZlcmlmeV9lbnRyeSA9IGVudHJ5ID0+IHsKKyAgY2hl
Y2tTaXplRmllbGRzKGVudHJ5LCBleHBlY3RlZFNpemUsIGV4cGVjdGVkU2l6ZSArIGhlYWRlclNp
emUpOworfTsKKworYXR0cmlidXRlX3Rlc3QobG9hZC5pbWFnZSwgYmFzZVVybCwKKyAgdmVyaWZ5
X2VudHJ5LAorICAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyBzaXplcyByZWRpcmVjdCBpbWFn
ZSAtIGRpcmVjdCBVUkwiKTsKKworYXR0cmlidXRlX3Rlc3QobG9hZC5pbWFnZSwKKyAgcmVkaXJl
Y3RVcmwoaG9zdEluZm8uSFRUUF9PUklHSU4sIGJhc2VVcmwpLAorICB2ZXJpZnlfZW50cnksCisg
ICJQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIHNpemVzIHJlZGlyZWN0IGltYWdlIC0gc2FtZSBv
cmlnaW4gcmVkaXJlY3QiKTsKKworYXR0cmlidXRlX3Rlc3QobG9hZC5pbWFnZSwKKyAgcmVkaXJl
Y3RVcmwoaG9zdEluZm8uSFRUUF9SRU1PVEVfT1JJR0lOLCBiYXNlVXJsKSwKKyAgdmVyaWZ5X2Vu
dHJ5LAorICAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyBzaXplcyByZWRpcmVjdCBpbWFnZSAt
IGNyb3NzIG9yaWdpbiByZWRpcmVjdCIpOworCithdHRyaWJ1dGVfdGVzdChsb2FkLmltYWdlLAor
ICByZWRpcmVjdFVybChob3N0SW5mby5IVFRQX1JFTU9URV9PUklHSU4sCisgICAgcmVkaXJlY3RV
cmwoaG9zdEluZm8uSFRUUF9PUklHSU4sIGJhc2VVcmwpKSwKKyAgdmVyaWZ5X2VudHJ5LAorICAi
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyBzaXplcyByZWRpcmVjdCBpbWFnZSAtIGNyb3NzIG9y
aWdpbiB0byBzYW1lIG9yaWdpbiByZWRpcmVjdCIpOworCithdHRyaWJ1dGVfdGVzdChsb2FkLmlt
YWdlLAorICByZWRpcmVjdFVybChob3N0SW5mby5IVFRQX09SSUdJTiwKKyAgICByZWRpcmVjdFVy
bChob3N0SW5mby5IVFRQX1JFTU9URV9PUklHSU4sCisgICAgICByZWRpcmVjdFVybChob3N0SW5m
by5IVFRQX09SSUdJTiwKKyAgICAgICAgYmFzZVVybCkpKSwKKyAgdmVyaWZ5X2VudHJ5LAorICAi
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyBzaXplcyByZWRpcmVjdCBpbWFnZSAtIHNhbWUgb3Jp
Z2luIHRvIHJlbW90ZSAiICsKKyAgIm9yaWdpbiB0byBzYW1lIG9yaWdpbiByZWRpcmVjdCIpOwor
PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC5hbnkuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXpl
cy1yZWRpcmVjdC5hbnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTQ4M2E0ZDQwOWM2YzJkZWVlNzNmYTIxM2Q2
OThiOTViODY1ZDBjOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLXJlZGlyZWN0LmFueS5q
cwpAQCAtMCwwICsxLDYyIEBACisvLyBNRVRBOiBnbG9iYWw9d2luZG93LHdvcmtlcgorLy8gTUVU
QTogc2NyaXB0PS9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMKKy8vIE1FVEE6IHNjcmlwdD0v
cmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9zaXplcy1oZWxwZXIuanMKKworY29uc3QgYmFzZVVy
bCA9CisgIG5ldyBVUkwoJy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL1RBT1Jlc3BvbnNlLnB5
P3Rhbz13aWxkY2FyZCcsIGxvY2F0aW9uLmhyZWYpLmhyZWY7Citjb25zdCBleHBlY3RlZFNpemUg
PSA0OworCitjb25zdCBob3N0SW5mbyA9IGdldF9ob3N0X2luZm8oKTsKK3BlcmZvcm1hbmNlLmNs
ZWFyUmVzb3VyY2VUaW1pbmdzKCk7CisKK2NvbnN0IGFjY3VtdWxhdGVFbnRyeSA9ICgpID0+IHsK
KyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIGNvbnN0IHBvID0gbmV3IFBl
cmZvcm1hbmNlT2JzZXJ2ZXIobGlzdCA9PiB7CisgICAgICByZXNvbHZlKGxpc3QpOworICAgIH0p
OworICAgIHBvLm9ic2VydmUoe3R5cGU6ICJyZXNvdXJjZSIsIGJ1ZmZlcmVkOiB0cnVlfSk7Cisg
IH0pOworfTsKKworY29uc3QgY2hlY2tSZXNvdXJjZVNpemVzID0gKCkgPT4geworICBjb25zdCBl
bnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKTsKKyAgZm9y
IChsZXQgZW50cnkgb2YgZW50cmllcykgeworICAgIGNoZWNrU2l6ZUZpZWxkcyhlbnRyeSwgZXhw
ZWN0ZWRTaXplLCBleHBlY3RlZFNpemUgKyBoZWFkZXJTaXplKTsKKyAgfQorfQorCitjb25zdCBy
ZWRpcmVjdFVybCA9IChyZWRpcmVjdFNvdXJjZU9yaWdpbiwgYWxsb3dPcmlnaW4sIHRhcmdldFVy
bCkgPT4geworICByZXR1cm4gcmVkaXJlY3RTb3VyY2VPcmlnaW4gKworICAgICcvcmVzb3VyY2Ut
dGltaW5nL3Jlc291cmNlcy9yZWRpcmVjdC1jb3JzLnB5P2FsbG93X29yaWdpbj0nICsKKyAgICBl
bmNvZGVVUklDb21wb25lbnQoYWxsb3dPcmlnaW4pICsKKyAgICAnJnRpbWluZ19hbGxvd19vcmln
aW49KicgKworICAgICcmbG9jYXRpb249JyArIGVuY29kZVVSSUNvbXBvbmVudCh0YXJnZXRVcmwp
OworfQorCitwcm9taXNlX3Rlc3QoKCkgPT4geworICAvLyBVc2UgYSBkaWZmZXJlbnQgVVJMIGV2
ZXJ5IHRpbWUgc28gdGhhdCB0aGUgY2FjaGUgYmVoYXZpb3VyIGRvZXMgbm90CisgIC8vIGRlcGVu
ZCBvbiBleGVjdXRpb24gb3JkZXIuCisgIGNvbnN0IGRpcmVjdFVybCA9IGNhY2hlQnVzdFVybChi
YXNlVXJsKTsKKyAgY29uc3Qgc2FtZU9yaWdpblJlZGlyZWN0ID0gcmVkaXJlY3RVcmwoaG9zdElu
Zm8uT1JJR0lOLCAnKicsIGRpcmVjdFVybCk7CisgIGNvbnN0IGNyb3NzT3JpZ2luUmVkaXJlY3Qg
PSByZWRpcmVjdFVybChob3N0SW5mby5SRU1PVEVfT1JJR0lOLAorICAgIGhvc3RJbmZvLk9SSUdJ
TiwgZGlyZWN0VXJsKTsKKyAgY29uc3QgbWl4ZWRSZWRpcmVjdCA9IHJlZGlyZWN0VXJsKGhvc3RJ
bmZvLlJFTU9URV9PUklHSU4sCisgICAgaG9zdEluZm8uT1JJR0lOLCBzYW1lT3JpZ2luUmVkaXJl
Y3QpOworICBjb25zdCBjb21wbGV4UmVkaXJlY3QgPSByZWRpcmVjdFVybChob3N0SW5mby5PUklH
SU4sCisgICAgaG9zdEluZm8uUkVNT1RFX09SSUdJTiwgbWl4ZWRSZWRpcmVjdCk7CisgIGxldCBl
YXRCb2R5ID0gcmVzcG9uc2UgPT4gcmVzcG9uc2UuYXJyYXlCdWZmZXIoKTsKKyAgcmV0dXJuIGZl
dGNoKGRpcmVjdFVybCkKKyAgICAudGhlbihlYXRCb2R5KQorICAgIC50aGVuKCgpID0+IGZldGNo
KHNhbWVPcmlnaW5SZWRpcmVjdCkpCisgICAgLnRoZW4oZWF0Qm9keSkKKyAgICAudGhlbigoKSA9
PiBmZXRjaChjcm9zc09yaWdpblJlZGlyZWN0KSkKKyAgICAudGhlbihlYXRCb2R5KQorICAgIC50
aGVuKCgpID0+IGZldGNoKG1peGVkUmVkaXJlY3QpKQorICAgIC50aGVuKGVhdEJvZHkpCisgICAg
LnRoZW4oKCkgPT4gZmV0Y2goY29tcGxleFJlZGlyZWN0KSkKKyAgICAudGhlbihlYXRCb2R5KQor
ICAgIC50aGVuKGFjY3VtdWxhdGVFbnRyeSkKKyAgICAudGhlbihjaGVja1Jlc291cmNlU2l6ZXMp
OworfSwgJ1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgc2l6ZXMgRmV0Y2ggd2l0aCByZWRpcmVj
dCB0ZXN0Jyk7CisKK2RvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3N0YXR1cy1jb2Rlcy1jcmVhdGUt
ZW50cnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3N0YXR1cy1jb2Rlcy1jcmVhdGUtZW50cnkuaHRtbAppbmRleCBjMzE1
MDVhNDUyZGE2YjZhZjE0NmZlYmNkMTVjYTYyZmYxODZhNzY3Li5jYzBjZDhjY2I4ODI1MDMzMTE4
NmMzODU1NGIwOWZmODUxNWNhY2VlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zdGF0dXMtY29kZXMtY3JlYXRl
LWVudHJ5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvc3RhdHVzLWNvZGVzLWNyZWF0ZS1lbnRyeS5odG1sCkBAIC0x
OCwxMyArMTgsMTcgQEAgYXN5bmNfdGVzdCh0ID0+IHsKICAgd2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCB0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKICAgICBjb25zdCBpbWFnZXMgPSBk
b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW1nIik7CiAgICAgZm9yIChsZXQgaW1nIG9m
IGltYWdlcykgewotICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihwZXJmb3JtYW5jZS5nZXRFbnRy
aWVzQnlOYW1lKGltZy5zcmMpLmxlbmd0aCwgMCwgaW1nLnNyYyk7CisgICAgICBjb25zdCBlbnRy
aWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZShpbWcuc3JjKTsKKyAgICAgIGFzc2Vy
dF9ncmVhdGVyX3RoYW4oZW50cmllcy5sZW5ndGgsIDAsIGltZy5zcmMpOworICAgICAgYXNzZXJ0
X2dyZWF0ZXJfdGhhbihlbnRyaWVzWzBdLmR1cmF0aW9uLCAwLCBpbWcuc3JjKTsKICAgICB9CiAg
ICAgY29uc3Qgc2NyaXB0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQi
KTsKICAgICBsZXQgbm9TcmNTY3JpcHRGb3VuZCA9IGZhbHNlOwogICAgIGZvciAobGV0IHNjcmlw
dCBvZiBzY3JpcHRzKSB7CiAgICAgICBpZiAoc2NyaXB0LnNyYykgewotICAgICAgICBhc3NlcnRf
Z3JlYXRlcl90aGFuKHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoc2NyaXB0LnNyYykubGVu
Z3RoLCAwLCBzY3JpcHQuc3JjKTsKKyAgICAgICAgY29uc3QgZW50cmllcyA9IHBlcmZvcm1hbmNl
LmdldEVudHJpZXNCeU5hbWUoc2NyaXB0LnNyYyk7CisgICAgICAgIGFzc2VydF9ncmVhdGVyX3Ro
YW4oZW50cmllcy5sZW5ndGgsIDAsIHNjcmlwdC5zcmMpOworICAgICAgICBhc3NlcnRfZ3JlYXRl
cl90aGFuKGVudHJpZXNbMF0uZHVyYXRpb24sIDAsIHNjcmlwdC5zcmMpOwogICAgICAgfSBlbHNl
IHsKICAgICAgICAgLy8gSWdub3JlIHRoaXMgc2NyaXB0LCB3aGljaCBoYXMgbm8gc3JjIHZhbHVl
LiBUaGVyZSBzaG91bGQgb25seSBiZSBvbmUgc3VjaCBzY3JpcHQuCiAgICAgICAgIGFzc2VydF9m
YWxzZShub1NyY1NjcmlwdEZvdW5kKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Rlc3RfcmVzb3VyY2VfdGlt
aW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Rlc3RfcmVzb3VyY2VfdGltaW5nLWV4cGVjdGVkLnR4dApp
bmRleCAyMDA0OGE1OGNiZmFjMjlmODFmMDQ5ZDg2OGUyNjQ0YTRlMDAzMzc5Li5kNmNjMTFkMTQz
M2E1ZjQ1YWQ4ZjNlMzNmMDdhNzlkZDY2ZmU5MzZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy90ZXN0X3Jlc291
cmNlX3RpbWluZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90aW1pbmctZXhw
ZWN0ZWQudHh0CkBAIC02LDI4ICs2LDI4IEBAIE5PVEU6IER1ZSB0byBjYWNoaW5nIGJlaGF2aW9y
IGluIHRoZSBicm93c2VyLCBpdCBpcyBwb3NzaWJsZSB0aGF0IHdoZW4gcmV2aXNpdGluCiBQQVNT
IHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCkgYW5kIHdpbmRvdy5wZXJmb3Jt
YW5jZS5nZXRFbnRyaWVzQnlOYW1lVHlwZSgpIHJldHVybiBzYW1lIGRhdGEgKGlmcmFtZSkKIFBB
U1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuYW1lLCBpbml0aWF0b3JUeXBlLCBzdGFy
dFRpbWUsIGFuZCBkdXJhdGlvbiAoaWZyYW1lKQogUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBj
b3JyZWN0IG9yZGVyIG9mIHRpbWluZyBhdHRyaWJ1dGVzIChpZnJhbWUpCi1GQUlMIFBlcmZvcm1h
bmNlRW50cnkgaGFzIGNvcnJlY3QgbmV0d29yayB0cmFuc2ZlciBhdHRyaWJ1dGVzIChpZnJhbWUp
IGFzc2VydF9lcXVhbHM6IGVuY29kZWRCb2R5U2l6ZSBzaXplIGV4cGVjdGVkIChudW1iZXIpIDIx
NSBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhh
cyBjb3JyZWN0IHByb3RvY29sIGF0dHJpYnV0ZSAoaWZyYW1lKSBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCBwcm90b2NvbCBleHBlY3RlZCAoc3RyaW5nKSAiaHR0cC8xLjEiIGJ1dCBnb3QgKHVuZGVm
aW5lZCkgdW5kZWZpbmVkCitQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmV0d29y
ayB0cmFuc2ZlciBhdHRyaWJ1dGVzIChpZnJhbWUpCitQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFz
IGNvcnJlY3QgcHJvdG9jb2wgYXR0cmlidXRlIChpZnJhbWUpCiBQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZS5nZXRFbnRyaWVzQnlOYW1lKCkgYW5kIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVz
QnlOYW1lVHlwZSgpIHJldHVybiBzYW1lIGRhdGEgKGltZykKIFBBU1MgUGVyZm9ybWFuY2VFbnRy
eSBoYXMgY29ycmVjdCBuYW1lLCBpbml0aWF0b3JUeXBlLCBzdGFydFRpbWUsIGFuZCBkdXJhdGlv
biAoaW1nKQogUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG9yZGVyIG9mIHRpbWlu
ZyBhdHRyaWJ1dGVzIChpbWcpCi1GQUlMIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmV0
d29yayB0cmFuc2ZlciBhdHRyaWJ1dGVzIChpbWcpIGFzc2VydF9lcXVhbHM6IGVuY29kZWRCb2R5
U2l6ZSBzaXplIGV4cGVjdGVkIChudW1iZXIpIDI0OSBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVm
aW5lZAotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0dHJpYnV0
ZSAoaW1nKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBwcm90b2NvbCBleHBlY3RlZCAoc3RyaW5n
KSAiaHR0cC8xLjEiIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCitQQVNTIFBlcmZvcm1h
bmNlRW50cnkgaGFzIGNvcnJlY3QgbmV0d29yayB0cmFuc2ZlciBhdHRyaWJ1dGVzIChpbWcpCitQ
QVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgcHJvdG9jb2wgYXR0cmlidXRlIChpbWcp
CiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCkgYW5kIHdpbmRvdy5w
ZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lVHlwZSgpIHJldHVybiBzYW1lIGRhdGEgKGxpbmsp
CiBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmFtZSwgaW5pdGlhdG9yVHlwZSwg
c3RhcnRUaW1lLCBhbmQgZHVyYXRpb24gKGxpbmspCiBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFz
IGNvcnJlY3Qgb3JkZXIgb2YgdGltaW5nIGF0dHJpYnV0ZXMgKGxpbmspCi1GQUlMIFBlcmZvcm1h
bmNlRW50cnkgaGFzIGNvcnJlY3QgbmV0d29yayB0cmFuc2ZlciBhdHRyaWJ1dGVzIChsaW5rKSBh
c3NlcnRfZXF1YWxzOiBlbmNvZGVkQm9keVNpemUgc2l6ZSBleHBlY3RlZCAobnVtYmVyKSA0NCBi
dXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBj
b3JyZWN0IHByb3RvY29sIGF0dHJpYnV0ZSAobGluaykgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
cHJvdG9jb2wgZXhwZWN0ZWQgKHN0cmluZykgImh0dHAvMS4xIiBidXQgZ290ICh1bmRlZmluZWQp
IHVuZGVmaW5lZAorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdvcmsgdHJh
bnNmZXIgYXR0cmlidXRlcyAobGluaykKK1BBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVj
dCBwcm90b2NvbCBhdHRyaWJ1dGUgKGxpbmspCiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRF
bnRyaWVzQnlOYW1lKCkgYW5kIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lVHlw
ZSgpIHJldHVybiBzYW1lIGRhdGEgKHNjcmlwdCkKIFBBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMg
Y29ycmVjdCBuYW1lLCBpbml0aWF0b3JUeXBlLCBzdGFydFRpbWUsIGFuZCBkdXJhdGlvbiAoc2Ny
aXB0KQogUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG9yZGVyIG9mIHRpbWluZyBh
dHRyaWJ1dGVzIChzY3JpcHQpCi1GQUlMIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmV0
d29yayB0cmFuc2ZlciBhdHRyaWJ1dGVzIChzY3JpcHQpIGFzc2VydF9lcXVhbHM6IGVuY29kZWRC
b2R5U2l6ZSBzaXplIGV4cGVjdGVkIChudW1iZXIpIDEzMyBidXQgZ290ICh1bmRlZmluZWQpIHVu
ZGVmaW5lZAotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0dHJp
YnV0ZSAoc2NyaXB0KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBwcm90b2NvbCBleHBlY3RlZCAo
c3RyaW5nKSAiaHR0cC8xLjEiIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCitQQVNTIFBl
cmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmV0d29yayB0cmFuc2ZlciBhdHRyaWJ1dGVzIChz
Y3JpcHQpCitQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgcHJvdG9jb2wgYXR0cmli
dXRlIChzY3JpcHQpCiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCkg
YW5kIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lVHlwZSgpIHJldHVybiBzYW1l
IGRhdGEgKHhtbGh0dHByZXF1ZXN0KQogUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0
IG5hbWUsIGluaXRpYXRvclR5cGUsIHN0YXJ0VGltZSwgYW5kIGR1cmF0aW9uICh4bWxodHRwcmVx
dWVzdCkKIFBBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBvcmRlciBvZiB0aW1pbmcg
YXR0cmlidXRlcyAoeG1saHR0cHJlcXVlc3QpCi1GQUlMIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNv
cnJlY3QgbmV0d29yayB0cmFuc2ZlciBhdHRyaWJ1dGVzICh4bWxodHRwcmVxdWVzdCkgYXNzZXJ0
X2VxdWFsczogZW5jb2RlZEJvZHlTaXplIHNpemUgZXhwZWN0ZWQgKG51bWJlcikgMTEyIGJ1dCBn
b3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlMIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJl
Y3QgcHJvdG9jb2wgYXR0cmlidXRlICh4bWxodHRwcmVxdWVzdCkgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgcHJvdG9jb2wgZXhwZWN0ZWQgKHN0cmluZykgImh0dHAvMS4xIiBidXQgZ290ICh1bmRl
ZmluZWQpIHVuZGVmaW5lZAorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdv
cmsgdHJhbnNmZXIgYXR0cmlidXRlcyAoeG1saHR0cHJlcXVlc3QpCitQQVNTIFBlcmZvcm1hbmNl
RW50cnkgaGFzIGNvcnJlY3QgcHJvdG9jb2wgYXR0cmlidXRlICh4bWxodHRwcmVxdWVzdCkKIFBB
U1Mgd2luZG93LnBlcmZvcm1hbmNlIFJlc291cmNlIFRpbWluZyBFbnRyaWVzIGV4aXN0CiBQQVNT
IHdpbmRvdy5wZXJmb3JtYW5jZSBSZXNvdXJjZSBUaW1pbmcgRW50cmllcyBleGlzdCAxCiBQQVNT
IHdpbmRvdy5wZXJmb3JtYW5jZSBSZXNvdXJjZSBUaW1pbmcgRW50cmllcyBleGlzdCAyCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy90ZXN0X3Jlc291cmNlX3RpbWluZy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy90
ZXN0X3Jlc291cmNlX3RpbWluZy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggY2VhMGYxY2IyYWFi
OWVjZTQ5MmVmM2JkZjQzNzQxMjJkNTUyOTc0MC4uZDZjYzExZDE0MzNhNWY0NWFkOGYzZTMzZjA3
YTc5ZGQ2NmZlOTM2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90aW1pbmcuaHR0cHMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Rlc3RfcmVzb3VyY2VfdGltaW5nLmh0dHBzLWV4cGVjdGVk
LnR4dApAQCAtMjYsNyArMjYsNyBAQCBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3Qg
cHJvdG9jb2wgYXR0cmlidXRlIChzY3JpcHQpCiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRF
bnRyaWVzQnlOYW1lKCkgYW5kIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lVHlw
ZSgpIHJldHVybiBzYW1lIGRhdGEgKHhtbGh0dHByZXF1ZXN0KQogUEFTUyBQZXJmb3JtYW5jZUVu
dHJ5IGhhcyBjb3JyZWN0IG5hbWUsIGluaXRpYXRvclR5cGUsIHN0YXJ0VGltZSwgYW5kIGR1cmF0
aW9uICh4bWxodHRwcmVxdWVzdCkKIFBBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBv
cmRlciBvZiB0aW1pbmcgYXR0cmlidXRlcyAoeG1saHR0cHJlcXVlc3QpCi1GQUlMIFBlcmZvcm1h
bmNlRW50cnkgaGFzIGNvcnJlY3QgbmV0d29yayB0cmFuc2ZlciBhdHRyaWJ1dGVzICh4bWxodHRw
cmVxdWVzdCkgYXNzZXJ0X2VxdWFsczogZW5jb2RlZEJvZHlTaXplIHNpemUgZXhwZWN0ZWQgMTEy
IGJ1dCBnb3QgMTIwCitQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmV0d29yayB0
cmFuc2ZlciBhdHRyaWJ1dGVzICh4bWxodHRwcmVxdWVzdCkKIFBBU1MgUGVyZm9ybWFuY2VFbnRy
eSBoYXMgY29ycmVjdCBwcm90b2NvbCBhdHRyaWJ1dGUgKHhtbGh0dHByZXF1ZXN0KQogUEFTUyB3
aW5kb3cucGVyZm9ybWFuY2UgUmVzb3VyY2UgVGltaW5nIEVudHJpZXMgZXhpc3QKIFBBU1Mgd2lu
ZG93LnBlcmZvcm1hbmNlIFJlc291cmNlIFRpbWluZyBFbnRyaWVzIGV4aXN0IDEKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL3dvcmtlclN0YXJ0LXRhby1wcm90ZWN0ZWQuaHR0cHMuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3dvcmtlclN0
YXJ0LXRhby1wcm90ZWN0ZWQuaHR0cHMuaHRtbAppbmRleCBmOWI1MGY3MDM2MGRkNmUwOTkwOGJj
MmQ4MWRmZjEzNzM1YWFkMjM2Li40ODU2ZjQ2N2YxNmY2ZTM4MjFkNDhlYTc1NDJkMTU0YjNkZTUz
YmQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy93b3JrZXJTdGFydC10YW8tcHJvdGVjdGVkLmh0dHBzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvd29ya2VyU3RhcnQtdGFvLXByb3RlY3RlZC5odHRwcy5odG1sCkBAIC00MCw3ICs0
MCw3IEBAIHByb21pc2VfdGVzdCh0ID0+IHsKICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJm
b3JtYW5jZU9ic2VydmVyKGxpc3QgPT4gewogICAgICAgY29uc3QgZW50cmllcyA9IGxpc3QuZ2V0
RW50cmllcygpOwogICAgICAgZm9yIChlbnRyeSBvZiBlbnRyaWVzKSB7Ci0gICAgICAgIGlmIChl
bnRyeS5uYW1lLmluY2x1ZGVzKCJibGFua19wYWdlX2dyZWVuLmh0bSIpKSB7CisgICAgICAgIGlm
IChlbnRyeS5uYW1lLmluY2x1ZGVzKCJncmVlbi5odG1sIikpIHsKICAgICAgICAgICBvYnNlcnZl
ci5kaXNjb25uZWN0KCk7CiAgICAgICAgICAgLy8gT2JzZXJ2ZSBpdHMgcGVyZm9ybWFuY2UgZW50
cnkgdG8gbWFrZSBzdXJlIHdvcmtlclN0YXJ0IGlzIHplcm8KICAgICAgICAgICBpZiAoZW50cnku
d29ya2VyU3RhcnQgIT0gMCkgewpAQCAtNTEsNyArNTEsNyBAQCBwcm9taXNlX3Rlc3QodCA9PiB7
CiAgICAgICB9CiAgICAgfSk7CiAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJy
ZXNvdXJjZSJdfSk7Ci0gICAgYWRkRnJhbWUoaG9zdF9pbmZvLkhUVFBTX1JFTU9URV9PUklHSU4g
KyAiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5odG0iKTsKKyAg
ICBhZGRGcmFtZShob3N0X2luZm8uSFRUUFNfUkVNT1RFX09SSUdJTiArICIvcmVzb3VyY2UtdGlt
aW5nL3Jlc291cmNlcy9ncmVlbi5odG1sIik7CiAgIH0pOwogfSwgIkFkZCBUQU8tbGVzcyBpZnJh
bWUgdG8gcmVtb3RlIG9yaWdpbi4gTWFrZSBzdXJlIHdvcmtlclN0YXJ0IGlzIHplcm8iKTsKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZWRpcmVjdHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9yZWRpcmVjdHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAx
ZWI1NDYxZDM0MGEzZjBjMmU4MjI3NTQwZjFhZDFiMDlhYTUyYjEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3JlZGlyZWN0cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MiBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0LCB3aGVuIGEgZmV0
Y2hpbmcgcmVzb3VyY2VzIHRoYXQgZW5jb3VudGVyIHNhbWUtb3JpZ2luIHJlZGlyZWN0cywgYXR0
cmlidXRlcyBvZiB0aGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyBlbnRyeSBjb25mb3JtIHRv
IHRoZSBzcGVjaWZpY2F0aW9uLgorCisKK1BBU1MgVmVyaWZ5IGF0dHJpYnV0ZXMgb2YgYSByZWRp
cmVjdGVkIHN0eWxlc2hlZXQncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nCitQQVNTIFZlcmlm
eSBhdHRyaWJ1dGVzIG9mIGEgcmVkaXJlY3RlZCBpbWFnZSdzIFBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmcKK1BBU1MgVmVyaWZ5IGF0dHJpYnV0ZXMgb2YgYSByZWRpcmVjdGVkIGlmcmFtZSdzIFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcKK1BBU1MgVmVyaWZ5IGF0dHJpYnV0ZXMgb2YgYSByZWRp
cmVjdGVkIHNjcmlwdCdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcKK0ZBSUwgVmVyaWZ5IGF0
dHJpYnV0ZXMgb2YgYSByZWRpcmVjdGVkIHN5bmNocm9ub3VzIFhNTEh0dHBSZXF1ZXN0J3MgUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZyBhc3NlcnRfZ3JlYXRlcl90aGFuOiByZWRpcmVjdFN0YXJ0
IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMCBleHBlY3RlZCBhIG51bWJlciBncmVhdGVyIHRoYW4g
MCBidXQgZ290IDAKK0ZBSUwgVmVyaWZ5IGF0dHJpYnV0ZXMgb2YgYSBzeW5jaHJvbm91cyBYTUxI
dHRwUmVxdWVzdCdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgd2hlcmUgdGhlIGluaXRpYWwg
SFRUUCByZXF1ZXN0IGlzIHJlZGlyZWN0ZWQgdG8gYSBjcm9zcy1vcmlnaW4gSFRUUFMgcmVzb3Vy
Y2UuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
Ik5ldHdvcmtFcnJvcjogIEEgbmV0d29yayBlcnJvciBvY2N1cnJlZC4iCisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430868</attachid>
            <date>2021-06-08 11:20:24 -0700</date>
            <delta_ts>2021-06-08 12:39:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226678-20210608112023.patch</filename>
            <type>text/plain</type>
            <size>248324</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NDc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTVhMGRiNTc5YmRmYzM2
NmMwMzY3ZmVjZGRlZWVmNzc1YWU5NDM3YS4uNzY1YTg4MTJiMDUyMWM5ZGFmY2VlNTkxYTk1YzE1
MDk5NmZlZTk1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMCBAQAorMjAyMS0wNi0wNCAgQWxl
eCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUg
VGltaW5nLUFsbG93LU9yaWdpbiBjaGVja3MgdG8gdGhlIG5ldHdvcmsgcHJvY2VzcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2Njc4CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS80NTIyNzc4OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXZSB0cmllZCBoYXJkIHRvIGRvIGl0IGluIHRoZSB3ZWIgcHJv
Y2VzcyBieSBrZWVwaW5nIHRyYWNrIG9mIHdoZXRoZXIgdGhlIGxhc3QgcmVkaXJlY3Qgd2FzIGNy
b3NzLW9yaWdpbgorICAgICAgICBhbmQgY2hlY2tpbmcgdGhlIGZpbmFsIHJlc3BvbnNlIGFuZCBv
cmlnaW5hbCBzZWN1cml0eSBvcmlnaW4uICBXZSBnb3QgbWFueSB0ZXN0cyB0byBwYXNzLCBidXQg
dG8gZ2V0IHRoZSByZXN0CisgICAgICAgIGFuZCBiZSBjb3JyZWN0LCB3ZSBuZWVkIHRvIGNoZWNr
IHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRlciBmaWVsZCBvZiBlYWNoIHJlZGlyZWN0IGFn
YWluc3QgdGhlIG9yaWdpbmFsIHNlY3VyaXR5IG9yaWdpbi4KKworICAgICAgICBUZXN0czogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU08tWE8tU08tcmVk
aXJlY3QtY2hhaW4tdGFvLmh0dHBzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1tYXRjaC5odG1sCisgICAgICAg
ICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9U
QU8tbnVsbC1vcGFxdWUtb3JpZ2luLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5z
LWNyb3Nzb3JpZ2luLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29u
bmVjdGlvbi1yZXVzZS5odHRwcy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhcnQtZW5kLXRp
bWUtd2l0aC1yZWRpcmVjdHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC1v
cGVuZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvZW50cnktYXR0cmlidXRlcy5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mZXRjaC1jcm9z
cy1vcmlnaW4tcmVkaXJlY3QuaHR0cHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZm9udC10aW1lc3RhbXBzLmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2lmcmFtZS1mYWlsZWQtY29tbWl0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2luaXRpYXRvci10eXBlLWZv
ci1zY3JpcHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvbmV4dEhvcFByb3RvY29sLWlzLXRhby1wcm90ZWN0ZWQuaHR0
cHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1UQU8tY3Jvc3Mtb3JpZ2luLXJl
ZGlyZWN0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItY3Jvc3Mtb3JpZ2luLXJl
ZGlyZWN0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3JlZGlyZWN0cy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25vcmUt
ZGF0YS11cmwuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfY2FjaGVkLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
X3RpbWluZ19jb250ZW50X2xlbmd0aC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zYW1lLW9yaWdpbi1mcm9tLWNyb3Nz
LW9yaWdpbi1yZWRpcmVjdC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC1pbWcuaHRtbAorCisg
ICAgICAgICogSGVhZGVycy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogbG9hZGVyL1Jl
c291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjpzdGFy
dCk6CisgICAgICAgIEdldCBhIFNlY3VyaXR5T3JpZ2luIGZvciBvdXIgV2ViS2l0TGVnYWN5IFJl
c291cmNlSGFuZGxlIHVzZSBsaWtlIHdlIGRvIGluIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVs
ZUxvYWRGcm9tTmV0d29ya1Byb2Nlc3MKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VUaW1pbmcu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VUaW1pbmc6OlJlc291cmNlVGltaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlVGltaW5nOjppbml0U2VydmVyVGltaW5nKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlVGltaW5nOjppc29sYXRlZENvcHkgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6cGFzc2VzVGltaW5nQWxsb3dDaGVjayk6IERlbGV0ZWQuCisgICAgICAg
ICogbG9hZGVyL1Jlc291cmNlVGltaW5nLmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVRp
bWluZzo6bmV0d29ya0xvYWRNZXRyaWNzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlVGltaW5nOjpSZXNvdXJjZVRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVRp
bWluZzo6YWxsb3dUaW1pbmdEZXRhaWxzIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKCk6IERl
bGV0ZWQuCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpyZWRpcmVjdENvdW50IGNvbnN0KToK
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmc6OnNhbWVPcmlnaW5DaGVja0Zh
aWxzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWlu
Zzo6cmVkaXJlY3RDb3VudCBjb25zdCk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmVudHJ5U3RhcnRUaW1lKToKKyAgICAg
ICAgKFdlYkNvcmU6OmVudHJ5RW5kVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlZGlyZWN0RW5kIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmRvbWFpbkxvb2t1cFN0YXJ0IGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmRvbWFp
bkxvb2t1cEVuZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nOjpjb25uZWN0U3RhcnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdEVuZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpzZWN1cmVDb25uZWN0aW9uU3RhcnQgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVxdWVzdFN0YXJ0
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJl
c3BvbnNlU3RhcnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZzo6dHJhbnNmZXJTaXplIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmc6OmVuY29kZWRCb2R5U2l6ZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkZWNvZGVkQm9keVNpemUgY29uc3QpOgor
ICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VUaW1pbmc6OnVubG9hZEV2ZW50U3RhcnQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OnVubG9hZEV2ZW50RW5kIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0IGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpyZWRpcmVjdEVuZCBjb25zdCk6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VIYW5kbGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6QmxvYlJlc291cmNlSGFuZGxlOjpCbG9iUmVzb3VyY2VIYW5kbGUpOgorICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmg6CisgICAgICAgIChXZWJD
b3JlOjpOZXR3b3JrTG9hZE1ldHJpY3M6Omlzb2xhdGVkQ29weSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJpY3M6Om9wZXJhdG9yPT0gY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TmV0d29ya0xvYWRNZXRyaWNzOjpkZWNvZGUpOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5k
bGU6OlJlc291cmNlSGFuZGxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmxvYWRSZXNvdXJjZVN5
bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmlzQ3Jvc3NP
cmlnaW5XaXRob3V0VEFPIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxl
OjptYXJrQXNDcm9zc09yaWdpbldpdGhvdXRUQU8pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3Vy
Y2VIYW5kbGU6OnNvdXJjZU9yaWdpbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZUhhbmRsZTo6aGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6c2V0SGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCk6IERl
bGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGVJbnRlcm5hbDo6UmVzb3VyY2VIYW5kbGVJbnRlcm5h
bCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5jcHA6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6cGFzc2VzVGltaW5nQWxsb3dPcmlnaW5DaGVjayk6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5oOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtMb2FkTWV0cmljcy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OnBhY2thZ2VUaW1pbmdEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OmNv
cHlUaW1pbmdEYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhh
bmRsZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpwbGF0Zm9ybUxv
YWRSZXNvdXJjZVN5bmNocm9ub3VzbHkpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFj
L1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5tbToKKyAgICAg
ICAgKC1bV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlIGNvbm5l
Y3Rpb246d2lsbFNlbmRSZXF1ZXN0OnJlZGlyZWN0UmVzcG9uc2U6XSk6CisgICAgICAgICgtW1dl
YkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSBjb25uZWN0aW9uOmRp
ZFJlY2VpdmVSZXNwb25zZTpdKToKKwogMjAyMS0wNi0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFj
aHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEltcGxlbWVudCBvZmYtYnktZGVmYXVs
dCBleHBlcmltZW50YWwgZmVhdHVyZSBmb3IgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy50cmFu
c2ZlclNpemUsIGVuY29kZWRCb2R5U2l6ZSwgYW5kIGRlY29kZWRCb2R5U2l6ZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCAyYzdkZmFjZGJmY2M3OWVlYjdmZDc3N2ZmZGUyOWNjZTUwYzE5NDRmLi4yMWVjYTllMzZkZWY2
OGU4YTllMThmOGIyZGY5YjY0MDBiYmQ4NjczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisy
MDIxLTA2LTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgTW92ZSBUaW1pbmctQWxsb3ctT3JpZ2luIGNoZWNrcyB0byB0aGUgbmV0d29yayBw
cm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjY2NzgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ1MjI3Nzg4PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29y
a0xvYWRQYXJhbWV0ZXJzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZFBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVz
b3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpzZW5kUmVwbHlUb1N5bmNocm9ub3Vz
UmVxdWVzdCk6CisgICAgICAgIFBhc3MgY29tcGxldGUgbWV0cmljcyB3aXRoIHN5bmMgeGhyIHJl
c3BvbnNlcy4gIE1hbnkgb2YgdGhlIHRlc3RzIHVzZSBzeW5jIHhoci4KKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRGYWlsTG9hZGluZyk6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkUmV0cmlldmVDYWNoZUVudHJ5KToKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5oOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6TmV0d29ya0RhdGFUYXNrQ29jb2Ep
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6d2lsbFBlcmZvcm1IVFRQ
UmVkaXJlY3Rpb24pOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNz
aW9uQ29jb2EubW06CisgICAgICAgICgtW1dLTmV0d29ya1Nlc3Npb25EZWxlZ2F0ZSBVUkxTZXNz
aW9uOnRhc2s6d2lsbFBlcmZvcm1IVFRQUmVkaXJlY3Rpb246bmV3UmVxdWVzdDpjb21wbGV0aW9u
SGFuZGxlcjpdKToKKyAgICAgICAgKC1bV0tOZXR3b3JrU2Vzc2lvbkRlbGVnYXRlIFVSTFNlc3Np
b246ZGF0YVRhc2s6ZGlkUmVjZWl2ZVJlc3BvbnNlOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorCiAy
MDIxLTA2LTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgSW1wbGVtZW50IG9mZi1ieS1kZWZhdWx0IGV4cGVyaW1lbnRhbCBmZWF0dXJlIGZv
ciBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLnRyYW5zZmVyU2l6ZSwgZW5jb2RlZEJvZHlTaXpl
LCBhbmQgZGVjb2RlZEJvZHlTaXplCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCmluZGV4IGVkMTUzNWJkMDli
ZDQzOWU3Y2NiNDVlYzhmZDRiNTgzNTkwNDQ1ZjcuLmRmYTJiM2NiN2Y3OGU3ZTAzZWQ1NjI1N2M4
NmE5ZTgzMWYyZGU3NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MjEtMDYtMDQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKwor
ICAgICAgICBNb3ZlIFRpbWluZy1BbGxvdy1PcmlnaW4gY2hlY2tzIHRvIHRoZSBuZXR3b3JrIHBy
b2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NjY3OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDUyMjc3ODg+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QaW5nSGFu
ZGxlLmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVy
LmNwcDoKKyAgICAgICAgKFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjo6bG9hZFJlc291cmNlU3lu
Y2hyb25vdXNseSk6CisKIDIwMjEtMDUtMzAgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29t
PgogCiAgICAgICAgIFJlbW92ZSBzb21lIG9mIHRoZSB1bm5lZWRlZCBXZWJLaXRMZWdhY3kgV2lu
ZG93cy1zcGVjaWZpYyBwbHVnLWluIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hl
YWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IDU1NDZjNGQz
ZTYzNmYzNjYwOWM0MTg5MDg4MmY0MTZjN2EwZWFhMTcuLjdiOTNlYzhhYzNkNGI3NzZmNDYxNTVh
MTI4MTIyYWYxZTdiOGZkN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21h
a2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMTQ4Miw2ICsxNDgyLDcg
QEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIHBsYXRmb3JtL25l
dHdvcmsvU3RvcmFnZVNlc3Npb25Qcm92aWRlci5oCiAgICAgcGxhdGZvcm0vbmV0d29yay9TdG9y
ZWRDcmVkZW50aWFsc1BvbGljeS5oCiAgICAgcGxhdGZvcm0vbmV0d29yay9TeW5jaHJvbm91c0xv
YWRlckNsaWVudC5oCisgICAgcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5oCiAK
ICAgICBwbGF0Zm9ybS9zcWwvU1FMVmFsdWUuaAogICAgIHBsYXRmb3JtL3NxbC9TUUxpdGVEYXRh
YmFzZS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IGI0YTMwMzRkZDZjOTQwM2EzMTA4MDNmYzhkZDVjNDAw
ZGM3Yzc4ZTUuLjNmYWI0NTM3MWU3ZjljMzE1ZWY5Yzg0YWE1ZTg1NTExZTU4ZTEyMWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CkBAIC0yMTkxLDYgKzIxOTEsNyBAQCBwbGF0Zm9ybS9uZXR3b3JrL1NhbWVTaXRl
SW5mby5jcHAKIHBsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFtSGFuZGxlLmNwcAogcGxhdGZv
cm0vbmV0d29yay9Tb2NrZXRTdHJlYW1IYW5kbGVJbXBsLmNwcAogcGxhdGZvcm0vbmV0d29yay9T
eW5jaHJvbm91c0xvYWRlckNsaWVudC5jcHAKK3BsYXRmb3JtL25ldHdvcmsvVGltaW5nQWxsb3dP
cmlnaW4uY3BwCiBwbGF0Zm9ybS9zcWwvU1FMaXRlQXV0aG9yaXplci5jcHAKIHBsYXRmb3JtL3Nx
bC9TUUxpdGVEYXRhYmFzZS5jcHAKIHBsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZVRyYWNrZXIu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggNDZmMjY4Mjg0OGIwZTU5NzYyNzE1YWMyMDJiNTE1ZTRmMzMzNDEzZC4uMzMwZTk3
NmVmNmM4NjVkNDdhZDE5ODI1NTQ4ZTFmYWFjMzU1NmEzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTk5Nyw2ICsxOTk3LDcg
QEAKIAkJNUNCMzdGRkYxQzYyRDJBMTAwRjIwMTg4IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNCMzdGRkQxQzYy
RDI3ODAwRjIwMTg4IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5oICovOyB9OwogCQk1Q0JDOERBRDFB
QUEzMDIyMDBFMUM4MDMgLyogTWVkaWFBY2Nlc3NpYmlsaXR5U29mdExpbmsuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQkM4REFCMUFBQTMwMjIwMEUx
QzgwMyAvKiBNZWRpYUFjY2Vzc2liaWxpdHlTb2Z0TGluay5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTVDQkQ1OTU5MjI4MEU5MjYwMDJCMjJBQSAv
KiBDdXN0b21IZWFkZXJGaWVsZHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNUM1RDIzODYyMjdBMDc3QzAwMEI5QkRBIC8qIEN1c3RvbUhlYWRlckZp
ZWxkcy5jcHAgKi87IH07CisJCTVDQzc5MDBFMjY2QUZBODkwMDY5MjRGRSAvKiBUaW1pbmdBbGxv
d09yaWdpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NUNDNzkwMEIyNjZBRkE4ODAwNjkyNEZFIC8qIFRpbWluZ0FsbG93T3JpZ2luLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNUNDQzI3MDkyMkQ1NDgz
QTAwOTY0RkEwIC8qIEF1dG9maWxsRWxlbWVudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQ0MyNzA2MjJENTNCNjgwMDk2NEZBMCAvKiBBdXRvZmls
bEVsZW1lbnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNUNEOUY1NjYxQUEwRjczQzAwREE0NUZGIC8qIERGQUJ5dGVjb2RlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1QzM5MzA1RDFBQTBGNkE5MDAy
OUM4MTYgLyogREZBQnl0ZWNvZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk1Q0Q5RjU2NzFBQTBGNzQyMDBEQTQ1RkYgLyogREZBQnl0ZWNvZGVD
b21waWxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NUMzOTMwNUYxQUEwRjZBOTAwMjlDODE2IC8qIERGQUJ5dGVjb2RlQ29tcGlsZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTcwOCw2ICs5NzA5
LDggQEAKIAkJNUNCMzdGRkQxQzYyRDI3ODAwRjIwMTg4IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxBbmltYXRvck1vY2suaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNCQzhEQUExQUFBMzAyMjAwRTFDODAzIC8q
IE1lZGlhQWNjZXNzaWJpbGl0eVNvZnRMaW5rLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IE1lZGlhQWNjZXNzaWJpbGl0eVNvZnRMaW5rLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNUNCQzhEQUIxQUFBMzAyMjAwRTFDODAzIC8qIE1lZGlhQWNjZXNz
aWJpbGl0eVNvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlh
QWNjZXNzaWJpbGl0eVNvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVD
Qzc5MDBCMjY2QUZBODgwMDY5MjRGRSAvKiBUaW1pbmdBbGxvd09yaWdpbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBUaW1pbmdBbGxvd09yaWdpbi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1Q0M3OTAwRDI2NkFGQTg5MDA2OTI0RkUgLyogVGltaW5nQWxsb3dP
cmlnaW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGltaW5nQWxs
b3dPcmlnaW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0NDMjcwNjIyRDUz
QjY4MDA5NjRGQTAgLyogQXV0b2ZpbGxFbGVtZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBBdXRvZmlsbEVsZW1lbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTVDQ0MyNzA3MjJENTNCNjkwMDk2NEZBMCAvKiBBdXRvZmlsbEVsZW1lbnRzLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEF1dG9maWxsRWxlbWVudHMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0RDRERCRjIzRDdCN0JFMDBCQTM0QTEgLyog
Q29udGVudEZpbHRlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
b250ZW50RmlsdGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjIx
OSw2ICsyMjIyMiw4IEBACiAJCQkJNDY4MkQxRkYxRjc5NzgyMzAwQzg2M0RCIC8qIFN0b3JlZENy
ZWRlbnRpYWxzUG9saWN5LmggKi8sCiAJCQkJRTE4MDgxMTAxNkZDRjQyRTAwQjgwRDA3IC8qIFN5
bmNocm9ub3VzTG9hZGVyQ2xpZW50LmNwcCAqLywKIAkJCQlFMTgwODExNTE2RkNGOUNCMDBCODBE
MDcgLyogU3luY2hyb25vdXNMb2FkZXJDbGllbnQuaCAqLywKKwkJCQk1Q0M3OTAwRDI2NkFGQTg5
MDA2OTI0RkUgLyogVGltaW5nQWxsb3dPcmlnaW4uY3BwICovLAorCQkJCTVDQzc5MDBCMjY2QUZB
ODgwMDY5MjRGRSAvKiBUaW1pbmdBbGxvd09yaWdpbi5oICovLAogCQkJKTsKIAkJCXBhdGggPSBu
ZXR3b3JrOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTM1NzU3LDYgKzM1NzYyLDcg
QEAKIAkJCQk5MzA1QjI0RDA5OEYxQjZCMDBDMjg4NTUgLyogVGltZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCUU0NDYxM0IwMENENjMzMTAwMEZBREE3NSAvKiBUaW1lUmFuZ2VzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkyRDdFRDBBQjFCQUU5OTE3MDA0M0IzRTUgLyogVGltZXJFdmVudEJhc2VkTW9j
ay5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUNDNzkwMEUyNjZBRkE4OTAwNjkyNEZFIC8qIFRpbWlu
Z0FsbG93T3JpZ2luLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5MTJBRTBFRkFDOTA2MDA5RDBD
QUYgLyogVGltaW5nRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNTRERDA4MTg4MUQ1
RjUwMDNFRURCQiAvKiBUb3VjaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzFCN0VFMEQyMUI1QzY4
NzAwMzFDMUVGIC8qIFRvdWNoQWN0aW9uLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDUzNTM5ZmI2N2RlMWY1ZjE2Mjg0MjlkYjNm
MWFiMmY1M2NlZGQ2NzIuLjZiNDIyZGRiNDM5NzcwYTdmMGM1YTA2YWNjMDZmYmFkNGNjYmM0YzEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcApAQCAtNTEsNiArNTEs
NyBAQAogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmln
aW4uaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKKyNpbmNsdWRlICJTdWJyZXNvdXJjZUxv
YWRlci5oIgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0
Zi9SZWYuaD4KIApAQCAtMjQxLDcgKzI0MiwxMyBAQCB2b2lkIFJlc291cmNlTG9hZGVyOjpzdGFy
dCgpCiAgICAgfQogI2VuZGlmCiAKLSAgICBtX2hhbmRsZSA9IFJlc291cmNlSGFuZGxlOjpjcmVh
dGUoZnJhbWVMb2FkZXIoKS0+bmV0d29ya2luZ0NvbnRleHQoKSwgbV9yZXF1ZXN0LCB0aGlzLCBt
X2RlZmVyc0xvYWRpbmcsIG1fb3B0aW9ucy5zbmlmZkNvbnRlbnQgPT0gQ29udGVudFNuaWZmaW5n
UG9saWN5OjpTbmlmZkNvbnRlbnQsIG1fb3B0aW9ucy5zbmlmZkNvbnRlbnRFbmNvZGluZyA9PSBD
b250ZW50RW5jb2RpbmdTbmlmZmluZ1BvbGljeTo6U25pZmYpOworICAgIFJlZlB0cjxTZWN1cml0
eU9yaWdpbj4gc291cmNlT3JpZ2luID0gaXM8U3VicmVzb3VyY2VMb2FkZXI+KCp0aGlzKSA/IGRv
d25jYXN0PFN1YnJlc291cmNlTG9hZGVyPigqdGhpcykub3JpZ2luKCkgOiBudWxscHRyOworICAg
IGlmICghc291cmNlT3JpZ2luICYmIGZyYW1lTG9hZGVyKCkpIHsKKyAgICAgICAgYXV0byogZG9j
dW1lbnQgPSBmcmFtZUxvYWRlcigpLT5mcmFtZSgpLmRvY3VtZW50KCk7CisgICAgICAgIHNvdXJj
ZU9yaWdpbiA9ICBkb2N1bWVudCA/ICZkb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKSA6IG51bGxw
dHI7CisgICAgfQorCisgICAgbV9oYW5kbGUgPSBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlKGZyYW1l
TG9hZGVyKCktPm5ldHdvcmtpbmdDb250ZXh0KCksIG1fcmVxdWVzdCwgdGhpcywgbV9kZWZlcnNM
b2FkaW5nLCBtX29wdGlvbnMuc25pZmZDb250ZW50ID09IENvbnRlbnRTbmlmZmluZ1BvbGljeTo6
U25pZmZDb250ZW50LCBtX29wdGlvbnMuc25pZmZDb250ZW50RW5jb2RpbmcgPT0gQ29udGVudEVu
Y29kaW5nU25pZmZpbmdQb2xpY3k6OlNuaWZmLCBXVEZNb3ZlKHNvdXJjZU9yaWdpbikpOwogfQog
CiB2b2lkIFJlc291cmNlTG9hZGVyOjpzZXREZWZlcnNMb2FkaW5nKGJvb2wgZGVmZXJzKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZVRpbWluZy5jcHAKaW5kZXggNDk4ZTMzMjc0YmY5Yjk4
MmM5ZTk4NTJjZTkyN2JlY2Y0YTI4M2EwNS4uNDY5MGZhM2FkMzJlN2ZkMDM2N2Q1MzEyYTFhMGM1
MGE4OGNkNTMzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGlt
aW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VUaW1pbmcuY3BwCkBA
IC0zNSwyOCArMzUsNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBib29sIHBh
c3Nlc1RpbWluZ0FsbG93Q2hlY2soY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNv
bnN0IFNlY3VyaXR5T3JpZ2luJiBpbml0aWF0b3JTZWN1cml0eU9yaWdpbikKLXsKLSAgICBSZWY8
U2VjdXJpdHlPcmlnaW4+IHJlc291cmNlT3JpZ2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZShy
ZXNwb25zZS51cmwoKSk7Ci0gICAgaWYgKHJlc291cmNlT3JpZ2luLT5pc1NhbWVTY2hlbWVIb3N0
UG9ydChpbml0aWF0b3JTZWN1cml0eU9yaWdpbikpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0g
ICAgY29uc3QgU3RyaW5nJiB0aW1pbmdBbGxvd09yaWdpblN0cmluZyA9IHJlc3BvbnNlLmh0dHBI
ZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6VGltaW5nQWxsb3dPcmlnaW4pOwotICAgIGlmICh0
aW1pbmdBbGxvd09yaWdpblN0cmluZy5pc0VtcHR5KCkgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdB
U0NJSUNhc2UodGltaW5nQWxsb3dPcmlnaW5TdHJpbmcsICJudWxsIikpCi0gICAgICAgIHJldHVy
biBmYWxzZTsKLQotICAgIGlmICh0aW1pbmdBbGxvd09yaWdpblN0cmluZyA9PSAiKiIpCi0gICAg
ICAgIHJldHVybiB0cnVlOwotCi0gICAgY29uc3QgU3RyaW5nJiBzZWN1cml0eU9yaWdpbiA9IGlu
aXRpYXRvclNlY3VyaXR5T3JpZ2luLnRvU3RyaW5nKCk7Ci0gICAgZm9yIChhdXRvJiBvcmlnaW4g
OiB0aW1pbmdBbGxvd09yaWdpblN0cmluZy5zcGxpdCgnLCcpKSB7Ci0gICAgICAgIGlmIChvcmln
aW4uc3RyaXBXaGl0ZVNwYWNlKCkgPT0gc2VjdXJpdHlPcmlnaW4pCi0gICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKLSAgICB9Ci0KLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KIFJlc291cmNlVGltaW5n
IFJlc291cmNlVGltaW5nOjpmcm9tTWVtb3J5Q2FjaGUoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0
cmluZyYgaW5pdGlhdG9yLCBjb25zdCBSZXNvdXJjZUxvYWRUaW1pbmcmIGxvYWRUaW1pbmcsIGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25zdCBTZWN1cml0eU9yaWdpbiYgc2Vj
dXJpdHlPcmlnaW4pCiB7CiAgICAgcmV0dXJuIFJlc291cmNlVGltaW5nKHVybCwgaW5pdGlhdG9y
LCBsb2FkVGltaW5nLCByZXNwb25zZSwgc2VjdXJpdHlPcmlnaW4pOwpAQCAtNzIsMjggKzUwLDI2
IEBAIFJlc291cmNlVGltaW5nIFJlc291cmNlVGltaW5nOjpmcm9tU3luY2hyb25vdXNMb2FkKGNv
bnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmCiAgICAgcmV0dXJuIFJlc291cmNlVGltaW5nKHVy
bCwgaW5pdGlhdG9yLCBsb2FkVGltaW5nLCBuZXR3b3JrTG9hZE1ldHJpY3MsIHJlc3BvbnNlLCBz
ZWN1cml0eU9yaWdpbik7CiB9CiAKLVJlc291cmNlVGltaW5nOjpSZXNvdXJjZVRpbWluZyhjb25z
dCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBpbml0aWF0b3IsIGNvbnN0IFJlc291cmNlTG9hZFRp
bWluZyYgbG9hZFRpbWluZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0
IFNlY3VyaXR5T3JpZ2luJiBzZWN1cml0eU9yaWdpbikKK1Jlc291cmNlVGltaW5nOjpSZXNvdXJj
ZVRpbWluZyhjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBpbml0aWF0b3IsIGNvbnN0IFJl
c291cmNlTG9hZFRpbWluZyYgbG9hZFRpbWluZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVz
cG9uc2UsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJikKICAgICA6IG1fdXJsKHVybCkKICAgICAsIG1f
aW5pdGlhdG9yKGluaXRpYXRvcikKICAgICAsIG1fcmVzb3VyY2VMb2FkVGltaW5nKGxvYWRUaW1p
bmcpCi0gICAgLCBtX2FsbG93VGltaW5nRGV0YWlscyhwYXNzZXNUaW1pbmdBbGxvd0NoZWNrKHJl
c3BvbnNlLCBzZWN1cml0eU9yaWdpbikpCiB7CiAgICAgaW5pdFNlcnZlclRpbWluZyhyZXNwb25z
ZSk7CiB9CiAKLVJlc291cmNlVGltaW5nOjpSZXNvdXJjZVRpbWluZyhjb25zdCBVUkwmIHVybCwg
Y29uc3QgU3RyaW5nJiBpbml0aWF0b3IsIGNvbnN0IFJlc291cmNlTG9hZFRpbWluZyYgdGltaW5n
LCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG5ldHdvcmtMb2FkTWV0cmljcywgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiBzZWN1cml0eU9y
aWdpbikKK1Jlc291cmNlVGltaW5nOjpSZXNvdXJjZVRpbWluZyhjb25zdCBVUkwmIHVybCwgY29u
c3QgU3RyaW5nJiBpbml0aWF0b3IsIGNvbnN0IFJlc291cmNlTG9hZFRpbWluZyYgdGltaW5nLCBj
b25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG5ldHdvcmtMb2FkTWV0cmljcywgY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJikKICAgICA6IG1fdXJs
KHVybCkKICAgICAsIG1faW5pdGlhdG9yKGluaXRpYXRvcikKICAgICAsIG1fcmVzb3VyY2VMb2Fk
VGltaW5nKHRpbWluZykKICAgICAsIG1fbmV0d29ya0xvYWRNZXRyaWNzKG5ldHdvcmtMb2FkTWV0
cmljcykKLSAgICAsIG1fYWxsb3dUaW1pbmdEZXRhaWxzKHBhc3Nlc1RpbWluZ0FsbG93Q2hlY2so
cmVzcG9uc2UsIHNlY3VyaXR5T3JpZ2luKSkKIHsKICAgICBpbml0U2VydmVyVGltaW5nKHJlc3Bv
bnNlKTsKIH0KIAogdm9pZCBSZXNvdXJjZVRpbWluZzo6aW5pdFNlcnZlclRpbWluZyhjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKIHsKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXJ2ZXJUaW1pbmdFbmFibGVkKCkgJiYgbV9hbGxvd1Rp
bWluZ0RldGFpbHMpCisgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuc2VydmVyVGltaW5nRW5hYmxlZCgpICYmICFtX25ldHdvcmtMb2FkTWV0cmljcy5mYWls
c1RBT0NoZWNrKQogICAgICAgICBtX3NlcnZlclRpbWluZyA9IFNlcnZlclRpbWluZ1BhcnNlcjo6
cGFyc2VTZXJ2ZXJUaW1pbmcocmVzcG9uc2UuaHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1l
OjpTZXJ2ZXJUaW1pbmcpKTsKIH0KIApAQCAtMTExLDcgKzg3LDYgQEAgUmVzb3VyY2VUaW1pbmcg
UmVzb3VyY2VUaW1pbmc6Omlzb2xhdGVkQ29weSgpIGNvbnN0CiAgICAgICAgIG1faW5pdGlhdG9y
Lmlzb2xhdGVkQ29weSgpLAogICAgICAgICBtX3Jlc291cmNlTG9hZFRpbWluZy5pc29sYXRlZENv
cHkoKSwKICAgICAgICAgbV9uZXR3b3JrTG9hZE1ldHJpY3MuaXNvbGF0ZWRDb3B5KCksCi0gICAg
ICAgIG1fYWxsb3dUaW1pbmdEZXRhaWxzLAogICAgICAgICBjcm9zc1RocmVhZENvcHkobV9zZXJ2
ZXJUaW1pbmcpCiAgICAgKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9S
ZXNvdXJjZVRpbWluZy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nLmgK
aW5kZXggZDNiMmI5YjM5ODQ1ZjBhZDY3NjJjMzI4ZTA2MjlkZWZmYmI4MjcyNi4uYWNiYWZiZDg1
YmEyNWQ1NDkwYjE4YTVhN2NmNTYzYmRmMWZhNjI0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1Jlc291cmNlVGltaW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jl
c291cmNlVGltaW5nLmgKQEAgLTQ5LDcgKzQ5LDYgQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmlu
ZyYgaW5pdGlhdG9yKCkgY29uc3QgeyByZXR1cm4gbV9pbml0aWF0b3I7IH0KICAgICBjb25zdCBS
ZXNvdXJjZUxvYWRUaW1pbmcmIHJlc291cmNlTG9hZFRpbWluZygpIGNvbnN0IHsgcmV0dXJuIG1f
cmVzb3VyY2VMb2FkVGltaW5nOyB9CiAgICAgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJiBuZXR3
b3JrTG9hZE1ldHJpY3MoKSBjb25zdCB7IHJldHVybiBtX25ldHdvcmtMb2FkTWV0cmljczsgfQot
ICAgIGJvb2wgYWxsb3dUaW1pbmdEZXRhaWxzKCkgY29uc3QgeyByZXR1cm4gbV9hbGxvd1RpbWlu
Z0RldGFpbHM7IH0KICAgICBWZWN0b3I8UmVmPFBlcmZvcm1hbmNlU2VydmVyVGltaW5nPj4gcG9w
dWxhdGVTZXJ2ZXJUaW1pbmcoKSBjb25zdDsKICAgICBSZXNvdXJjZVRpbWluZyBpc29sYXRlZENv
cHkoKSBjb25zdDsKIApAQCAtNTgsMTIgKzU3LDExIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAg
UmVzb3VyY2VUaW1pbmcoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiBpbml0aWF0b3IsIGNvbnN0
IFJlc291cmNlTG9hZFRpbWluZyYsIGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYsIGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmLCBjb25zdCBTZWN1cml0eU9yaWdpbiYpOwogICAgIFJlc291cmNlVGlt
aW5nKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgaW5pdGlhdG9yLCBjb25zdCBSZXNvdXJjZUxv
YWRUaW1pbmcmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgU2VjdXJpdHlPcmlnaW4m
KTsKLSAgICBSZXNvdXJjZVRpbWluZyhVUkwmJiB1cmwsIFN0cmluZyYmIGluaXRpYXRvciwgY29u
c3QgUmVzb3VyY2VMb2FkVGltaW5nJiByZXNvdXJjZUxvYWRUaW1pbmcsIE5ldHdvcmtMb2FkTWV0
cmljcyYmIG5ldHdvcmtMb2FkTWV0cmljcywgYm9vbCBhbGxvd1RpbWluZ0RldGFpbHMsIFZlY3Rv
cjxTZXJ2ZXJUaW1pbmc+JiYgc2VydmVyVGltaW5nKQorICAgIFJlc291cmNlVGltaW5nKFVSTCYm
IHVybCwgU3RyaW5nJiYgaW5pdGlhdG9yLCBjb25zdCBSZXNvdXJjZUxvYWRUaW1pbmcmIHJlc291
cmNlTG9hZFRpbWluZywgTmV0d29ya0xvYWRNZXRyaWNzJiYgbmV0d29ya0xvYWRNZXRyaWNzLCBW
ZWN0b3I8U2VydmVyVGltaW5nPiYmIHNlcnZlclRpbWluZykKICAgICAgICAgOiBtX3VybChXVEZN
b3ZlKHVybCkpCiAgICAgICAgICwgbV9pbml0aWF0b3IoV1RGTW92ZShpbml0aWF0b3IpKQogICAg
ICAgICAsIG1fcmVzb3VyY2VMb2FkVGltaW5nKHJlc291cmNlTG9hZFRpbWluZykKICAgICAgICAg
LCBtX25ldHdvcmtMb2FkTWV0cmljcyhXVEZNb3ZlKG5ldHdvcmtMb2FkTWV0cmljcykpCi0gICAg
ICAgICwgbV9hbGxvd1RpbWluZ0RldGFpbHMoYWxsb3dUaW1pbmdEZXRhaWxzKQogICAgICAgICAs
IG1fc2VydmVyVGltaW5nKFdURk1vdmUoc2VydmVyVGltaW5nKSkKICAgICB7CiAgICAgfQpAQCAt
NzMsNyArNzEsNiBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX2luaXRpYXRvcjsKICAgICBSZXNv
dXJjZUxvYWRUaW1pbmcgbV9yZXNvdXJjZUxvYWRUaW1pbmc7CiAgICAgTmV0d29ya0xvYWRNZXRy
aWNzIG1fbmV0d29ya0xvYWRNZXRyaWNzOwotICAgIGJvb2wgbV9hbGxvd1RpbWluZ0RldGFpbHMg
eyBmYWxzZSB9OwogICAgIFZlY3RvcjxTZXJ2ZXJUaW1pbmc+IG1fc2VydmVyVGltaW5nOwogfTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24u
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwCmluZGV4
IDBjYzczZmRmODYzYzQyMWM1ZGFhZGEyZjI1YmNhMjU0YThlOTZlOGEuLjM0YmY5NzdkNjA0ZTUy
MGNiNzkxNzM3MTI2ODMwMjI5OTBkNDkzYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAKQEAgLTc4LDcgKzc4LDcgQEAgdW5zaWduZWQgc2hvcnQg
UGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpyZWRpcmVjdENvdW50KCkgY29uc3QKICAgICBpZiAoIW1l
dHJpY3MpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgaWYgKG1ldHJpY3MtPmhhc0Nyb3NzT3Jp
Z2luUmVkaXJlY3QpCisgICAgaWYgKG1ldHJpY3MtPmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJl
dHVybiAwOwogCiAgICAgcmV0dXJuIG1ldHJpY3MtPnJlZGlyZWN0Q291bnQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZy5jcHAKaW5kZXgg
NjhkMmNjNzU4YzNmMTU0YWZhYTFiYWYyMmY1ZTRkMzA3OGY0NzM1OS4uMjNjN2YzMWE3NTEyNDk4
NzY0NmMxZjQ4YmRkNmNlMTU3ZGE3N2IzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9QZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nLmNwcApAQCAtNjgsOCArNjgsNyBAQCBkb3Vi
bGUgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nOjptaWxsaXNlY29uZHNTaW5jZU9yaWdpbihN
b25vdG9uaWNUaW1lIHRpbWUpCiBib29sIFBlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZzo6c2Ft
ZU9yaWdpbkNoZWNrRmFpbHMoKSBjb25zdAogewogICAgIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9U
Ui9uYXZpZ2F0aW9uLXRpbWluZy0yLyNkZm4tc2FtZS1vcmlnaW4tY2hlY2sKLSAgICByZXR1cm4g
IW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwgbV9yZXNv
dXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0Cisg
ICAgcmV0dXJuIG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NP
cmlnaW5SZWRpcmVjdAogICAgICAgICB8fCAhbV9kb2N1bWVudExvYWRUaW1pbmcuaGFzU2FtZU9y
aWdpbkFzUHJldmlvdXNEb2N1bWVudCgpOwogfQogCkBAIC0xMjQsOSArMTIzLDYgQEAgUGVyZm9y
bWFuY2VOYXZpZ2F0aW9uVGltaW5nOjpOYXZpZ2F0aW9uVHlwZSBQZXJmb3JtYW5jZU5hdmlnYXRp
b25UaW1pbmc6OnR5cGUoKQogCiB1bnNpZ25lZCBzaG9ydCBQZXJmb3JtYW5jZU5hdmlnYXRpb25U
aW1pbmc6OnJlZGlyZWN0Q291bnQoKSBjb25zdAogewotICAgIGlmICghbV9yZXNvdXJjZVRpbWlu
Zy5hbGxvd1RpbWluZ0RldGFpbHMoKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0KICAgICBpZiAobV9y
ZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0
KQogICAgICAgICByZXR1cm4gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZy5jcHAKaW5kZXggNTliMWFlNmZjY2U3NGRjNzFhODhjZWI1ZGFi
NTcwZmE4ZjRhZTcyMi4uNmVkOWFmNDIyOWMyNGUxMTE0ZjEwNDNhZDI5MmQzYWYwMThmYWM5NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcu
Y3BwCkBAIC02NCw4ICs2NCw3IEBAIHN0YXRpYyBkb3VibGUgZmV0Y2hTdGFydChNb25vdG9uaWNU
aW1lIHRpbWVPcmlnaW4sIGNvbnN0IFJlc291cmNlVGltaW5nJiByZXNvdXJjCiAKIHN0YXRpYyBk
b3VibGUgZW50cnlTdGFydFRpbWUoTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZXNv
dXJjZVRpbWluZyYgcmVzb3VyY2VUaW1pbmcpCiB7Ci0gICAgaWYgKCFyZXNvdXJjZVRpbWluZy5h
bGxvd1RpbWluZ0RldGFpbHMoKQotICAgICAgICB8fCByZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9h
ZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0CisgICAgaWYgKHJlc291cmNlVGltaW5n
Lm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxzVEFPQ2hlY2sKICAgICAgICAgfHwgIXJlc291cmNl
VGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlZGlyZWN0Q291bnQpCiAgICAgICAgIHJldHVy
biBmZXRjaFN0YXJ0KHRpbWVPcmlnaW4sIHJlc291cmNlVGltaW5nKTsKIApAQCAtNzcsOSArNzYs
NiBAQCBzdGF0aWMgZG91YmxlIGVudHJ5U3RhcnRUaW1lKE1vbm90b25pY1RpbWUgdGltZU9yaWdp
biwgY29uc3QgUmVzb3VyY2VUaW1pbmcmIHJlcwogCiBzdGF0aWMgZG91YmxlIGVudHJ5RW5kVGlt
ZShNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFJlc291cmNlVGltaW5nJiByZXNvdXJj
ZVRpbWluZykKIHsKLSAgICBpZiAoIXJlc291cmNlVGltaW5nLmFsbG93VGltaW5nRGV0YWlscygp
KQotICAgICAgICByZXR1cm4gZW50cnlTdGFydFRpbWUodGltZU9yaWdpbiwgcmVzb3VyY2VUaW1p
bmcpOwotCiAgICAgaWYgKHJlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlc3Bv
bnNlRW5kKQogICAgICAgICByZXR1cm4gbmV0d29ya0xvYWRUaW1lVG9ET01IaWdoUmVzVGltZVN0
YW1wKHRpbWVPcmlnaW4sIHJlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlc3Bv
bnNlRW5kKTsKIApAQCAtMTE0LDggKzExMCw3IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nOjp3b3JrZXJTdGFydCgpIGNvbnN0CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nOjpyZWRpcmVjdFN0YXJ0KCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1p
bmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3
b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291
cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJl
dHVybiAwLjA7CiAKICAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNz
KCkucmVkaXJlY3RDb3VudCkKQEAgLTEyNiw4ICsxMjEsNyBAQCBkb3VibGUgUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZzo6cmVkaXJlY3RTdGFydCgpIGNvbnN0CiAKIGRvdWJsZSBQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nOjpyZWRpcmVjdEVuZCgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3Jlc291
cmNlVGltaW5nLmFsbG93VGltaW5nRGV0YWlscygpCi0gICAgICAgIHx8IG1fcmVzb3VyY2VUaW1p
bmcubmV0d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKKyAgICBpZiAo
bV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5mYWlsc1RBT0NoZWNrKQogICAg
ICAgICByZXR1cm4gMC4wOwogCiAgICAgaWYgKCFtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2Fk
TWV0cmljcygpLnJlZGlyZWN0Q291bnQpCkBAIC0xNDUsOCArMTM5LDcgQEAgZG91YmxlIFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmc6OmZldGNoU3RhcnQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZzo6ZG9tYWluTG9va3VwU3RhcnQoKSBjb25zdAogewotICAgIGlm
ICghbV9yZXNvdXJjZVRpbWluZy5hbGxvd1RpbWluZ0RldGFpbHMoKQotICAgICAgICB8fCBtX3Jl
c291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3Qp
CisgICAgaWYgKG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuZmFpbHNUQU9D
aGVjaykKICAgICAgICAgcmV0dXJuIDAuMDsKIAogICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5u
ZXR3b3JrTG9hZE1ldHJpY3MoKS5kb21haW5Mb29rdXBTdGFydCkKQEAgLTE1Nyw4ICsxNTAsNyBA
QCBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZG9tYWluTG9va3VwU3RhcnQoKSBj
b25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZG9tYWluTG9va3VwRW5k
KCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxz
KCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXND
cm9zc09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2Fk
TWV0cmljcygpLmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwLjA7CiAKICAgICBpZiAo
IW1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuZG9tYWluTG9va3VwRW5kKQpA
QCAtMTY5LDggKzE2MSw3IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21h
aW5Mb29rdXBFbmQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6
Y29ubmVjdFN0YXJ0KCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dU
aW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1l
dHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5n
Lm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwLjA7
CiAKICAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuY29ubmVj
dFN0YXJ0KQpAQCAtMTgxLDggKzE3Miw3IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nOjpjb25uZWN0U3RhcnQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZzo6Y29ubmVjdEVuZCgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3Jlc291cmNlVGltaW5nLmFs
bG93VGltaW5nRGV0YWlscygpCi0gICAgICAgIHx8IG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xv
YWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKKyAgICBpZiAobV9yZXNvdXJjZVRp
bWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5mYWlsc1RBT0NoZWNrKQogICAgICAgICByZXR1cm4g
MC4wOwogCiAgICAgaWYgKCFtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmNv
bm5lY3RFbmQpCkBAIC0xOTMsOCArMTgzLDcgQEAgZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmc6OmNvbm5lY3RFbmQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZzo6c2VjdXJlQ29ubmVjdGlvblN0YXJ0KCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3Vy
Y2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWlu
Zy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQorICAgIGlmICht
X3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxzVEFPQ2hlY2spCiAgICAg
ICAgIHJldHVybiAwLjA7CiAKICAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1l
dHJpY3MoKS5zZWN1cmVDb25uZWN0aW9uU3RhcnQgPT0gcmV1c2VkVExTQ29ubmVjdGlvblNlbnRp
bmVsKQpAQCAtMjA4LDggKzE5Nyw3IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
OjpzZWN1cmVDb25uZWN0aW9uU3RhcnQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZzo6cmVxdWVzdFN0YXJ0KCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VU
aW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5u
ZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jl
c291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxzVEFPQ2hlY2spCiAgICAgICAg
IHJldHVybiAwLjA7CiAKICAgICAvLyByZXF1ZXN0U3RhcnQgaXMgMCB3aGVuIGEgbmV0d29yayBy
ZXF1ZXN0IGlzIG5vdCBtYWRlLgpAQCAtMjIxLDggKzIwOSw3IEBAIGRvdWJsZSBQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nOjpyZXF1ZXN0U3RhcnQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZzo6cmVzcG9uc2VTdGFydCgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3Jl
c291cmNlVGltaW5nLmFsbG93VGltaW5nRGV0YWlscygpCi0gICAgICAgIHx8IG1fcmVzb3VyY2VU
aW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKKyAgICBp
ZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5mYWlsc1RBT0NoZWNrKQog
ICAgICAgICByZXR1cm4gMC4wOwogCiAgICAgLy8gcmVzcG9uc2VTdGFydCBpcyAwIHdoZW4gYSBu
ZXR3b3JrIHJlcXVlc3QgaXMgbm90IG1hZGUuCkBAIC0yNTgsOCArMjQ1LDcgQEAgZG91YmxlIFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlc3BvbnNlRW5kKCkgY29uc3QKIAogdWludDY0X3Qg
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6dHJhbnNmZXJTaXplKCkgY29uc3QKIHsKLSAgICBp
ZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwgbV9y
ZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0
KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxzVEFP
Q2hlY2spCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgYXV0byBlbmNvZGVkQm9keVNpemUgPSBt
X3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlc3BvbnNlQm9keUJ5dGVzUmVj
ZWl2ZWQ7CkBAIC0yNzIsOCArMjU4LDcgQEAgdWludDY0X3QgUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZzo6dHJhbnNmZXJTaXplKCkgY29uc3QKIAogdWludDY0X3QgUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZzo6ZW5jb2RlZEJvZHlTaXplKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VU
aW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5u
ZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jl
c291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxzVEFPQ2hlY2spCiAgICAgICAg
IHJldHVybiAwOwogCiAgICAgYXV0byBlbmNvZGVkQm9keVNpemUgPSBtX3Jlc291cmNlVGltaW5n
Lm5ldHdvcmtMb2FkTWV0cmljcygpLnJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQ7CkBAIC0yODUs
OCArMjcwLDcgQEAgdWludDY0X3QgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZW5jb2RlZEJv
ZHlTaXplKCkgY29uc3QKIAogdWludDY0X3QgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZGVj
b2RlZEJvZHlTaXplKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dU
aW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1l
dHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5n
Lm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwOwog
CiAgICAgYXV0byBkZWNvZGVkQm9keVNpemUgPSBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2Fk
TWV0cmljcygpLnJlc3BvbnNlQm9keURlY29kZWRTaXplOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bl
cmZvcm1hbmNlVGltaW5nLmNwcAppbmRleCA3YzQyNjVhNTc0OTliM2RkYmFlMTU3NWIyOTA1ZmU3
NTFlNDI4MjRjLi43YWYyMGQ3ZmQ1NTk1NWM2ODJmOGVjOWFiNTFlMDhhMzBmMTFjY2M4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmNwcApAQCAtNjcsNyArNjcsNyBA
QCB1bnNpZ25lZCBsb25nIGxvbmcgUGVyZm9ybWFuY2VUaW1pbmc6OnVubG9hZEV2ZW50U3RhcnQo
KSBjb25zdAogICAgIGlmICghbWV0cmljcykKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBpZiAo
bWV0cmljcy0+aGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCB8fCAhdGltaW5nLT5oYXNTYW1lT3JpZ2lu
QXNQcmV2aW91c0RvY3VtZW50KCkpCisgICAgaWYgKG1ldHJpY3MtPmZhaWxzVEFPQ2hlY2sgfHwg
IXRpbWluZy0+aGFzU2FtZU9yaWdpbkFzUHJldmlvdXNEb2N1bWVudCgpKQogICAgICAgICByZXR1
cm4gMDsKIAogICAgIHJldHVybiBtb25vdG9uaWNUaW1lVG9JbnRlZ2VyTWlsbGlzZWNvbmRzKHRp
bWluZy0+dW5sb2FkRXZlbnRTdGFydCgpKTsKQEAgLTgzLDcgKzgzLDcgQEAgdW5zaWduZWQgbG9u
ZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjp1bmxvYWRFdmVudEVuZCgpIGNvbnN0CiAgICAgaWYg
KCFtZXRyaWNzKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIGlmIChtZXRyaWNzLT5oYXNDcm9z
c09yaWdpblJlZGlyZWN0IHx8ICF0aW1pbmctPmhhc1NhbWVPcmlnaW5Bc1ByZXZpb3VzRG9jdW1l
bnQoKSkKKyAgICBpZiAobWV0cmljcy0+ZmFpbHNUQU9DaGVjayB8fCAhdGltaW5nLT5oYXNTYW1l
T3JpZ2luQXNQcmV2aW91c0RvY3VtZW50KCkpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgcmV0
dXJuIG1vbm90b25pY1RpbWVUb0ludGVnZXJNaWxsaXNlY29uZHModGltaW5nLT51bmxvYWRFdmVu
dEVuZCgpKTsKQEAgLTkzLDcgKzkzLDcgQEAgdW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNl
VGltaW5nOjpyZWRpcmVjdFN0YXJ0KCkgY29uc3QKIHsKICAgICBhdXRvKiBtZXRyaWNzID0gbmV0
d29ya0xvYWRNZXRyaWNzKCk7CiAgICAgaWYgKCFtZXRyaWNzCi0gICAgICAgIHx8IG1ldHJpY3Mt
Pmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QKKyAgICAgICAgfHwgbWV0cmljcy0+ZmFpbHNUQU9DaGVj
awogICAgICAgICB8fCAhbWV0cmljcy0+cmVkaXJlY3RDb3VudCkKICAgICAgICAgcmV0dXJuIDA7
CiAKQEAgLTEwNCw3ICsxMDQsNyBAQCB1bnNpZ25lZCBsb25nIGxvbmcgUGVyZm9ybWFuY2VUaW1p
bmc6OnJlZGlyZWN0RW5kKCkgY29uc3QKIHsKICAgICBhdXRvKiBtZXRyaWNzID0gbmV0d29ya0xv
YWRNZXRyaWNzKCk7CiAgICAgaWYgKCFtZXRyaWNzCi0gICAgICAgIHx8IG1ldHJpY3MtPmhhc0Ny
b3NzT3JpZ2luUmVkaXJlY3QKKyAgICAgICAgfHwgbWV0cmljcy0+ZmFpbHNUQU9DaGVjawogICAg
ICAgICB8fCAhbWV0cmljcy0+cmVkaXJlY3RDb3VudCkKICAgICAgICAgcmV0dXJuIDA7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFu
ZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFu
ZGxlLmNwcAppbmRleCA5MTY4N2UwOTU5ODRjZGY2MTBiYTU0NWNlZGM2NTc1NzEyNjMxZmZjLi43
MDhhMTNmZDIyMGQ0YWMzMDFlYTNkZWRjNWMxZmEzNjFkNGI2YmQ3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZXNvdXJjZUhhbmRsZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VIYW5kbGUuY3BwCkBA
IC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNs
dWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCisj
aW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKICNp
bmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KICNpbmNsdWRlIDx3dGYvRmlsZVN5c3Rl
bS5oPgpAQCAtMTU0LDcgKzE1NSw3IEBAIHZvaWQgQmxvYlJlc291cmNlSGFuZGxlOjpsb2FkUmVz
b3VyY2VTeW5jaHJvbm91c2x5KEJsb2JEYXRhKiBibG9iRGF0YSwgY29uc3QgUmVzCiB9CiAKIEJs
b2JSZXNvdXJjZUhhbmRsZTo6QmxvYlJlc291cmNlSGFuZGxlKEJsb2JEYXRhKiBibG9iRGF0YSwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUhhbmRsZUNsaWVudCogY2xp
ZW50LCBib29sIGFzeW5jKQotICAgIDogUmVzb3VyY2VIYW5kbGUgeyBudWxscHRyLCByZXF1ZXN0
LCBjbGllbnQsIGZhbHNlIC8qIGRlZmVyc0xvYWRpbmcgKi8sIGZhbHNlIC8qIHNob3VsZENvbnRl
bnRTbmlmZiAqLywgdHJ1ZSAvKiBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiAqLyB9CisgICAg
OiBSZXNvdXJjZUhhbmRsZSB7IG51bGxwdHIsIHJlcXVlc3QsIGNsaWVudCwgZmFsc2UgLyogZGVm
ZXJzTG9hZGluZyAqLywgZmFsc2UgLyogc2hvdWxkQ29udGVudFNuaWZmICovLCB0cnVlIC8qIHNo
b3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmICovLCBudWxscHRyIC8qIHNvdXJjZU9yaWdpbiAqLyB9
CiAgICAgLCBtX2Jsb2JEYXRhIHsgYmxvYkRhdGEgfQogICAgICwgbV9hc3luYyB7IGFzeW5jIH0K
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xv
YWRNZXRyaWNzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtMb2Fk
TWV0cmljcy5oCmluZGV4IDdmYTY1Mjk1MGIzYWQ3ODE5ZjVmNDMzYTMwNjk5MWU4ODgyNGExNmEu
LjVmOGMwMWE3YzAyZjgwOTIyYmFmMjQ2MmNhNmFlMDZhNjBiMzdhNjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrTG9hZE1ldHJpY3MuaApAQCAt
OTUsNiArOTUsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBjb25zdHJhaW5lZCB7IGZhbHNlIH07CiAg
ICAgYm9vbCBtdWx0aXBhdGggeyBmYWxzZSB9OwogICAgIGJvb2wgaXNSZXVzZWRDb25uZWN0aW9u
IHsgZmFsc2UgfTsKKyAgICBib29sIGZhaWxzVEFPQ2hlY2sgeyBmYWxzZSB9OwogICAgIGJvb2wg
aGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCB7IGZhbHNlIH07CiB9OwogCkBAIC0xMjgsNiArMTI5LDcg
QEAgcHVibGljOgogICAgICAgICBjb3B5LmNvbnN0cmFpbmVkID0gY29uc3RyYWluZWQ7CiAgICAg
ICAgIGNvcHkubXVsdGlwYXRoID0gbXVsdGlwYXRoOwogICAgICAgICBjb3B5LmlzUmV1c2VkQ29u
bmVjdGlvbiA9IGlzUmV1c2VkQ29ubmVjdGlvbjsKKyAgICAgICAgY29weS5mYWlsc1RBT0NoZWNr
ID0gZmFpbHNUQU9DaGVjazsKICAgICAgICAgY29weS5oYXNDcm9zc09yaWdpblJlZGlyZWN0ID0g
aGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdDsKIAogICAgICAgICBjb3B5LnJlbW90ZUFkZHJlc3MgPSBy
ZW1vdGVBZGRyZXNzLmlzb2xhdGVkQ29weSgpOwpAQCAtMTY1LDYgKzE2Nyw3IEBAIHB1YmxpYzoK
ICAgICAgICAgICAgICYmIGNvbnN0cmFpbmVkID09IG90aGVyLmNvbnN0cmFpbmVkCiAgICAgICAg
ICAgICAmJiBtdWx0aXBhdGggPT0gb3RoZXIubXVsdGlwYXRoCiAgICAgICAgICAgICAmJiBpc1Jl
dXNlZENvbm5lY3Rpb24gPT0gb3RoZXIuaXNSZXVzZWRDb25uZWN0aW9uCisgICAgICAgICAgICAm
JiBmYWlsc1RBT0NoZWNrID09IG90aGVyLmZhaWxzVEFPQ2hlY2sKICAgICAgICAgICAgICYmIGhh
c0Nyb3NzT3JpZ2luUmVkaXJlY3QgPT0gb3RoZXIuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdAogICAg
ICAgICAgICAgJiYgcHJvdG9jb2wgPT0gb3RoZXIucHJvdG9jb2wKICAgICAgICAgICAgICYmIHJl
ZGlyZWN0Q291bnQgPT0gb3RoZXIucmVkaXJlY3RDb3VudApAQCAtMjEwLDcgKzIxMyw3IEBAIHB1
YmxpYzoKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogQm94PE5ldHdvcmtMb2FkTWV0cmljcz4gY29w
eVRpbWluZ0RhdGEoTlNVUkxDb25uZWN0aW9uICosIGNvbnN0IFJlc291cmNlSGFuZGxlJik7Ci1X
RUJDT1JFX0VYUE9SVCBCb3g8TmV0d29ya0xvYWRNZXRyaWNzPiBjb3B5VGltaW5nRGF0YShOU1VS
TFNlc3Npb25UYXNrTWV0cmljcyAqaW5jb21wbGV0ZU1ldHJpY3MsIGJvb2wgaGFzQ3Jvc3NPcmln
aW5SZWRpcmVjdCk7CitXRUJDT1JFX0VYUE9SVCBCb3g8TmV0d29ya0xvYWRNZXRyaWNzPiBjb3B5
VGltaW5nRGF0YShOU1VSTFNlc3Npb25UYXNrTWV0cmljcyAqaW5jb21wbGV0ZU1ldHJpY3MsIGNv
bnN0IE5ldHdvcmtMb2FkTWV0cmljcyYpOwogI2VuZGlmCiAKIHRlbXBsYXRlPGNsYXNzIEVuY29k
ZXI+CkBAIC0yMzQsNiArMjM3LDcgQEAgdm9pZCBOZXR3b3JrTG9hZE1ldHJpY3M6OmVuY29kZShF
bmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgY29uc3RyYWluZWQ7CiAgICAg
ZW5jb2RlciA8PCBtdWx0aXBhdGg7CiAgICAgZW5jb2RlciA8PCBpc1JldXNlZENvbm5lY3Rpb247
CisgICAgZW5jb2RlciA8PCBmYWlsc1RBT0NoZWNrOwogICAgIGVuY29kZXIgPDwgaGFzQ3Jvc3NP
cmlnaW5SZWRpcmVjdDsKICAgICBlbmNvZGVyIDw8IHByb3RvY29sOwogICAgIGVuY29kZXIgPDwg
cmVkaXJlY3RDb3VudDsKQEAgLTI3Miw2ICsyNzYsNyBAQCBib29sIE5ldHdvcmtMb2FkTWV0cmlj
czo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIE5ldHdvcmtMb2FkTWV0cmljcyYgbWV0cmljcykK
ICAgICAgICAgJiYgZGVjb2Rlci5kZWNvZGUobWV0cmljcy5jb25zdHJhaW5lZCkKICAgICAgICAg
JiYgZGVjb2Rlci5kZWNvZGUobWV0cmljcy5tdWx0aXBhdGgpCiAgICAgICAgICYmIGRlY29kZXIu
ZGVjb2RlKG1ldHJpY3MuaXNSZXVzZWRDb25uZWN0aW9uKQorICAgICAgICAmJiBkZWNvZGVyLmRl
Y29kZShtZXRyaWNzLmZhaWxzVEFPQ2hlY2spCiAgICAgICAgICYmIGRlY29kZXIuZGVjb2RlKG1l
dHJpY3MuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKICAgICAgICAgJiYgZGVjb2Rlci5kZWNvZGUo
bWV0cmljcy5wcm90b2NvbCkKICAgICAgICAgJiYgZGVjb2Rlci5kZWNvZGUobWV0cmljcy5yZWRp
cmVjdENvdW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZUhhbmRsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291
cmNlSGFuZGxlLmNwcAppbmRleCAwZDdhNzNkMWEzMmVkZTJkZjY4MzAxYTI1Y2YxMWY1N2Y1YmE2
YTE2Li40NTQ1NjcxZTFjZThhNGYzZTdiY2QyZjI1YTUyODRhOTQ3NTUxNjUzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcApAQCAt
MzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiUmVz
b3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJUaW1lci5oIgorI2luY2x1ZGUgIlRpbWlu
Z0FsbG93T3JpZ2luLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPHd0Zi9Db21w
bGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CkBAIC03NSw4ICs3
Niw4IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnJlZ2lzdGVyQnVpbHRpblN5bmNocm9ub3VzTG9h
ZGVyKGNvbnN0IEF0b21TdHJpbmcmIHByb3RvY29sCiAgICAgYnVpbHRpblJlc291cmNlSGFuZGxl
U3luY2hyb25vdXNMb2FkZXJNYXAoKS5hZGQocHJvdG9jb2wsIGxvYWRlcik7CiB9CiAKLVJlc291
cmNlSGFuZGxlOjpSZXNvdXJjZUhhbmRsZShOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUhhbmRsZUNsaWVudCogY2xpZW50
LCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVudFNuaWZmLCBib29sIHNob3Vs
ZENvbnRlbnRFbmNvZGluZ1NuaWZmKQotICAgIDogZChtYWtlVW5pcXVlPFJlc291cmNlSGFuZGxl
SW50ZXJuYWw+KHRoaXMsIGNvbnRleHQsIHJlcXVlc3QsIGNsaWVudCwgZGVmZXJzTG9hZGluZywg
c2hvdWxkQ29udGVudFNuaWZmICYmIHNob3VsZENvbnRlbnRTbmlmZlVSTChyZXF1ZXN0LnVybCgp
KSwgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYpKQorUmVzb3VyY2VIYW5kbGU6OlJlc291cmNl
SGFuZGxlKE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQsIGJvb2wgZGVmZXJzTG9hZGlu
ZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVudEVuY29kaW5nU25p
ZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBzb3VyY2VPcmlnaW4pCisgICAgOiBkKG1ha2VV
bmlxdWU8UmVzb3VyY2VIYW5kbGVJbnRlcm5hbD4odGhpcywgY29udGV4dCwgcmVxdWVzdCwgY2xp
ZW50LCBkZWZlcnNMb2FkaW5nLCBzaG91bGRDb250ZW50U25pZmYgJiYgc2hvdWxkQ29udGVudFNu
aWZmVVJMKHJlcXVlc3QudXJsKCkpLCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwgV1RGTW92
ZShzb3VyY2VPcmlnaW4pKSkKIHsKICAgICBpZiAoIXJlcXVlc3QudXJsKCkuaXNWYWxpZCgpKSB7
CiAgICAgICAgIHNjaGVkdWxlRmFpbHVyZShJbnZhbGlkVVJMRmFpbHVyZSk7CkBAIC04OSwxMiAr
OTAsMTIgQEAgUmVzb3VyY2VIYW5kbGU6OlJlc291cmNlSGFuZGxlKE5ldHdvcmtpbmdDb250ZXh0
KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QKICAgICB9CiB9CiAKLVJlZlB0cjxSZXNv
dXJjZUhhbmRsZT4gUmVzb3VyY2VIYW5kbGU6OmNyZWF0ZShOZXR3b3JraW5nQ29udGV4dCogY29u
dGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUhhbmRsZUNsaWVu
dCogY2xpZW50LCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVudFNuaWZmLCBi
b29sIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKQorUmVmUHRyPFJlc291cmNlSGFuZGxlPiBS
ZXNvdXJjZUhhbmRsZTo6Y3JlYXRlKE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQsIGJv
b2wgZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29u
dGVudEVuY29kaW5nU25pZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBzb3VyY2VPcmlnaW4p
CiB7CiAgICAgaWYgKGF1dG8gY29uc3RydWN0b3IgPSBidWlsdGluUmVzb3VyY2VIYW5kbGVDb25z
dHJ1Y3Rvck1hcCgpLmdldChyZXF1ZXN0LnVybCgpLnByb3RvY29sKCkudG9TdHJpbmdXaXRob3V0
Q29weWluZygpKSkKICAgICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yKHJlcXVlc3QsIGNsaWVudCk7
CiAKLSAgICBhdXRvIG5ld0hhbmRsZSA9IGFkb3B0UmVmKCpuZXcgUmVzb3VyY2VIYW5kbGUoY29u
dGV4dCwgcmVxdWVzdCwgY2xpZW50LCBkZWZlcnNMb2FkaW5nLCBzaG91bGRDb250ZW50U25pZmYs
IHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKSk7CisgICAgYXV0byBuZXdIYW5kbGUgPSBhZG9w
dFJlZigqbmV3IFJlc291cmNlSGFuZGxlKGNvbnRleHQsIHJlcXVlc3QsIGNsaWVudCwgZGVmZXJz
TG9hZGluZywgc2hvdWxkQ29udGVudFNuaWZmLCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwg
V1RGTW92ZShzb3VyY2VPcmlnaW4pKSk7CiAKICAgICBpZiAobmV3SGFuZGxlLT5kLT5tX3NjaGVk
dWxlZEZhaWx1cmVUeXBlICE9IE5vRmFpbHVyZSkKICAgICAgICAgcmV0dXJuIG5ld0hhbmRsZTsK
QEAgLTEzMywxNCArMTM0LDE0IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmZhaWx1cmVUaW1lckZp
cmVkKCkKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAotdm9pZCBSZXNvdXJjZUhhbmRs
ZTo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSBz
dG9yZWRDcmVkZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYgZXJyb3IsIFJlc291cmNlUmVz
cG9uc2UmIHJlc3BvbnNlLCBWZWN0b3I8dWludDhfdD4mIGRhdGEpCit2b2lkIFJlc291cmNlSGFu
ZGxlOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0
LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFN0b3JlZENyZWRlbnRpYWxzUG9saWN5
IHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBTZWN1cml0eU9yaWdpbiogc291cmNlT3JpZ2luLCBS
ZXNvdXJjZUVycm9yJiBlcnJvciwgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFZlY3Rvcjx1
aW50OF90PiYgZGF0YSkKIHsKICAgICBpZiAoYXV0byBjb25zdHJ1Y3RvciA9IGJ1aWx0aW5SZXNv
dXJjZUhhbmRsZVN5bmNocm9ub3VzTG9hZGVyTWFwKCkuZ2V0KHJlcXVlc3QudXJsKCkucHJvdG9j
b2woKS50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCkpKSB7CiAgICAgICAgIGNvbnN0cnVjdG9yKGNv
bnRleHQsIHJlcXVlc3QsIHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBlcnJvciwgcmVzcG9uc2Us
IGRhdGEpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgcGxhdGZvcm1Mb2FkUmVzb3Vy
Y2VTeW5jaHJvbm91c2x5KGNvbnRleHQsIHJlcXVlc3QsIHN0b3JlZENyZWRlbnRpYWxzUG9saWN5
LCBlcnJvciwgcmVzcG9uc2UsIGRhdGEpOworICAgIHBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hy
b25vdXNseShjb250ZXh0LCByZXF1ZXN0LCBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgc291cmNl
T3JpZ2luLCBlcnJvciwgcmVzcG9uc2UsIGRhdGEpOwogfQogCiBSZXNvdXJjZUhhbmRsZUNsaWVu
dCogUmVzb3VyY2VIYW5kbGU6OmNsaWVudCgpIGNvbnN0CkBAIC0yMDQsMTQgKzIwNSwzNSBAQCB2
b2lkIFJlc291cmNlSGFuZGxlOjpjbGVhckF1dGhlbnRpY2F0aW9uKCkKICAgICBkLT5tX2N1cnJl
bnRXZWJDaGFsbGVuZ2UubnVsbGlmeSgpOwogfQogCitib29sIFJlc291cmNlSGFuZGxlOjpmYWls
c1RBT0NoZWNrKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZC0+bV9mYWlsc1RBT0NoZWNrOworfQor
Cit2b2lkIFJlc291cmNlSGFuZGxlOjpjaGVja1RBTyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBy
ZXNwb25zZSkKK3sKKyAgICBpZiAoZC0+bV9mYWlsc1RBT0NoZWNrKQorICAgICAgICByZXR1cm47
CisKKyAgICBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IG9yaWdpbjsKKyAgICBpZiAoYm9vbCBpc1Rv
cExldmVsTmF2aWdhdGlvbiA9IGZhbHNlKSAvLyBGSVhNRTogR2V0IHRoaXMgbGlrZSB3ZSBnZXQg
bG9hZFBhcmFtZXRlcnMuaXNNYWluRnJhbWVOYXZpZ2F0aW9uIGluIFdlYkxvYWRlclN0cmF0ZWd5
OjpzY2hlZHVsZUxvYWRGcm9tTmV0d29ya1Byb2Nlc3MKKyAgICAgICAgb3JpZ2luID0gU2VjdXJp
dHlPcmlnaW46OmNyZWF0ZShmaXJzdFJlcXVlc3QoKS51cmwoKSk7CisgICAgZWxzZQorICAgICAg
ICBvcmlnaW4gPSBkLT5tX3NvdXJjZU9yaWdpbjsKKworICAgIGlmIChhdXRvKiBzb3VyY2VPcmln
aW4gPSBkLT5tX3NvdXJjZU9yaWdpbi5nZXQoKSkKKyAgICAgICAgaWYgKCFwYXNzZXNUaW1pbmdB
bGxvd09yaWdpbkNoZWNrKHJlc3BvbnNlLCAqc291cmNlT3JpZ2luKSkKKyAgICAgICAgICAgIGQt
Pm1fZmFpbHNUQU9DaGVjayA9IHRydWU7Cit9CisKIGJvb2wgUmVzb3VyY2VIYW5kbGU6Omhhc0Ny
b3NzT3JpZ2luUmVkaXJlY3QoKSBjb25zdAogewogICAgIHJldHVybiBkLT5tX2hhc0Nyb3NzT3Jp
Z2luUmVkaXJlY3Q7CiB9CiAKLXZvaWQgUmVzb3VyY2VIYW5kbGU6OnNldEhhc0Nyb3NzT3JpZ2lu
UmVkaXJlY3QoYm9vbCB2YWx1ZSkKK3ZvaWQgUmVzb3VyY2VIYW5kbGU6Om1hcmtBc0hhdmluZ0Ny
b3NzT3JpZ2luUmVkaXJlY3QoKQogewotICAgIGQtPm1faGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCA9
IHZhbHVlOworICAgIGQtPm1faGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCA9IHRydWU7CiB9CiAKIHZv
aWQgUmVzb3VyY2VIYW5kbGU6OmluY3JlbWVudFJlZGlyZWN0Q291bnQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oCmluZGV4IGZmZDg4NTQ3
ZTYwNmJmOGMwZWI1MmFmOGJiOGE5MjBjYTYxYjE3OWQuLjVkNWFjMmVhOGIxMDAwYzg3MGIyNzU0
NDQxNjUxODU1MjU1NjBiOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VIYW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1Jlc291cmNlSGFuZGxlLmgKQEAgLTgzLDYgKzgzLDcgQEAgY2xhc3MgUmVzb3VyY2VIYW5k
bGVJbnRlcm5hbDsKIGNsYXNzIE5ldHdvcmtMb2FkTWV0cmljczsKIGNsYXNzIFJlc291cmNlUmVx
dWVzdDsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7CitjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNs
YXNzIFNoYXJlZEJ1ZmZlcjsKIGNsYXNzIFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlOwog
Y2xhc3MgVGltZXI7CkBAIC05NCw4ICs5NSw4IEBAIGNsYXNzIEN1cmxSZXNvdXJjZUhhbmRsZURl
bGVnYXRlOwogCiBjbGFzcyBSZXNvdXJjZUhhbmRsZSA6IHB1YmxpYyBSZWZDb3VudGVkPFJlc291
cmNlSGFuZGxlPiwgcHVibGljIEF1dGhlbnRpY2F0aW9uQ2xpZW50IHsKIHB1YmxpYzoKLSAgICBX
RUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBjcmVhdGUoTmV0d29y
a2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBSZXNvdXJjZUhhbmRsZUNsaWVu
dCosIGJvb2wgZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hv
dWxkQ29udGVudEVuY29kaW5nU25pZmYpOwotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lk
IGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmLCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYsIFJl
c291cmNlUmVzcG9uc2UmLCBWZWN0b3I8dWludDhfdD4mIGRhdGEpOworICAgIFdFQkNPUkVfRVhQ
T1JUIHN0YXRpYyBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IGNyZWF0ZShOZXR3b3JraW5nQ29udGV4
dCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFJlc291cmNlSGFuZGxlQ2xpZW50KiwgYm9vbCBk
ZWZlcnNMb2FkaW5nLCBib29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91bGRDb250ZW50
RW5jb2RpbmdTbmlmZiwgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiYmIHNvdXJjZU9yaWdpbik7Cisg
ICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgbG9hZFJlc291cmNlU3luY2hyb25vdXNseShO
ZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFN0b3JlZENyZWRlbnRp
YWxzUG9saWN5LCBTZWN1cml0eU9yaWdpbiosIFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3Bv
bnNlJiwgVmVjdG9yPHVpbnQ4X3Q+JiBkYXRhKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFs
IH5SZXNvdXJjZUhhbmRsZSgpOwogCiAjaWYgUExBVEZPUk0oQ09DT0EpIHx8IFVTRShDRlVSTENP
Tk5FQ1RJT04pCkBAIC0xNzQsOCArMTc1LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldE5ldHdv
cmtMb2FkTWV0cmljcyhCb3g8TmV0d29ya0xvYWRNZXRyaWNzPiYmKTsKIAogICAgIE1vbm90b25p
Y1RpbWUgc3RhcnRUaW1lQmVmb3JlUmVkaXJlY3RzKCkgY29uc3Q7CisgICAgYm9vbCBmYWlsc1RB
T0NoZWNrKCkgY29uc3Q7CisgICAgdm9pZCBjaGVja1RBTyhjb25zdCBSZXNvdXJjZVJlc3BvbnNl
Jik7CiAgICAgYm9vbCBoYXNDcm9zc09yaWdpblJlZGlyZWN0KCkgY29uc3Q7Ci0gICAgdm9pZCBz
ZXRIYXNDcm9zc09yaWdpblJlZGlyZWN0KGJvb2wpOworICAgIHZvaWQgbWFya0FzSGF2aW5nQ3Jv
c3NPcmlnaW5SZWRpcmVjdCgpOwogICAgIHVpbnQxNl90IHJlZGlyZWN0Q291bnQoKSBjb25zdDsK
ICAgICB2b2lkIGluY3JlbWVudFJlZGlyZWN0Q291bnQoKTsKIApAQCAtMjA2LDcgKzIwOSw3IEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCByZWdpc3RlckJ1aWx0aW5TeW5jaHJvbm91c0xvYWRl
cihjb25zdCBBdG9tU3RyaW5nJiBwcm90b2NvbCwgQnVpbHRpblN5bmNocm9ub3VzTG9hZGVyKTsK
IAogcHJvdGVjdGVkOgotICAgIFJlc291cmNlSGFuZGxlKE5ldHdvcmtpbmdDb250ZXh0KiwgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiwgUmVzb3VyY2VIYW5kbGVDbGllbnQqLCBib29sIGRlZmVyc0xv
YWRpbmcsIGJvb2wgc2hvdWxkQ29udGVudFNuaWZmLCBib29sIHNob3VsZENvbnRlbnRFbmNvZGlu
Z1NuaWZmKTsKKyAgICBSZXNvdXJjZUhhbmRsZShOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFJl
c291cmNlUmVxdWVzdCYsIFJlc291cmNlSGFuZGxlQ2xpZW50KiwgYm9vbCBkZWZlcnNMb2FkaW5n
LCBib29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlm
ZiwgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiYmIHNvdXJjZU9yaWdpbik7CiAKIHByaXZhdGU6CiAg
ICAgZW51bSBGYWlsdXJlVHlwZSB7CkBAIC0yMjIsNyArMjI1LDcgQEAgcHJpdmF0ZToKICAgICB2
b2lkIHNjaGVkdWxlRmFpbHVyZShGYWlsdXJlVHlwZSk7CiAKICAgICBib29sIHN0YXJ0KCk7Ci0g
ICAgc3RhdGljIHZvaWQgcGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtp
bmdDb250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgU3RvcmVkQ3JlZGVudGlhbHNQb2xp
Y3ksIFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlJiwgVmVjdG9yPHVpbnQ4X3Q+JiBk
YXRhKTsKKyAgICBzdGF0aWMgdm9pZCBwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHko
TmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBTdG9yZWRDcmVkZW50
aWFsc1BvbGljeSwgU2VjdXJpdHlPcmlnaW4qLCBSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VSZXNw
b25zZSYsIFZlY3Rvcjx1aW50OF90PiYgZGF0YSk7CiAKICAgICB2b2lkIHJlZkF1dGhlbnRpY2F0
aW9uQ2xpZW50KCkgb3ZlcnJpZGUgeyByZWYoKTsgfQogICAgIHZvaWQgZGVyZWZBdXRoZW50aWNh
dGlvbkNsaWVudCgpIG92ZXJyaWRlIHsgZGVyZWYoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAppbmRleCAx
OGZkNDFjODY2NzdmNWUwMDA0Nzg2ZTMxZDU2YjUzYTU3NWQ4MWFlLi45YzRjNzhhNDZhYWVkNjlm
MTI5YzFmNWMwMTY5NDEyOGFiNmEyOGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwuaApAQCAtNjUsNyArNjUs
NyBAQCBjbGFzcyBSZXNvdXJjZUhhbmRsZUludGVybmFsIHsKICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShSZXNvdXJjZUhhbmRsZUludGVybmFsKTsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRF
RF9XSVRIX0hFQVBfSURFTlRJRklFUihSZXNvdXJjZUhhbmRsZUludGVybmFsKTsKIHB1YmxpYzoK
LSAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKFJlc291cmNlSGFuZGxlKiBsb2FkZXIsIE5ldHdv
cmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJl
c291cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQsIGJvb2wgZGVmZXJzTG9hZGluZywgYm9vbCBzaG91
bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYpCisgICAgUmVz
b3VyY2VIYW5kbGVJbnRlcm5hbChSZXNvdXJjZUhhbmRsZSogbG9hZGVyLCBOZXR3b3JraW5nQ29u
dGV4dCogY29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUhh
bmRsZUNsaWVudCogY2xpZW50LCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVu
dFNuaWZmLCBib29sIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmLCBSZWZQdHI8U2VjdXJpdHlP
cmlnaW4+JiYgc291cmNlT3JpZ2luKQogICAgICAgICA6IG1fY29udGV4dChjb250ZXh0KQogICAg
ICAgICAsIG1fY2xpZW50KGNsaWVudCkKICAgICAgICAgLCBtX2ZpcnN0UmVxdWVzdChyZXF1ZXN0
KQpAQCAtNzgsNiArNzgsNyBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9jdXJyZW50UmVxdWVzdChy
ZXF1ZXN0KQogI2VuZGlmCiAgICAgICAgICwgbV9mYWlsdXJlVGltZXIoKmxvYWRlciwgJlJlc291
cmNlSGFuZGxlOjpmYWlsdXJlVGltZXJGaXJlZCkKKyAgICAgICAgLCBtX3NvdXJjZU9yaWdpbihX
VEZNb3ZlKHNvdXJjZU9yaWdpbikpCiAgICAgewogICAgICAgICBjb25zdCBVUkwmIHVybCA9IG1f
Zmlyc3RSZXF1ZXN0LnVybCgpOwogICAgICAgICBtX3VzZXIgPSB1cmwudXNlcigpOwpAQCAtMTMz
LDcgKzEzNCw5IEBAIHB1YmxpYzoKICAgICBCb3g8TmV0d29ya0xvYWRNZXRyaWNzPiBtX25ldHdv
cmtMb2FkTWV0cmljczsKICAgICBNb25vdG9uaWNUaW1lIG1fc3RhcnRUaW1lOwogICAgIHVpbnQx
Nl90IG1fcmVkaXJlY3RDb3VudCB7IDAgfTsKKyAgICBib29sIG1fZmFpbHNUQU9DaGVjayB7IGZh
bHNlIH07CiAgICAgYm9vbCBtX2hhc0Nyb3NzT3JpZ2luUmVkaXJlY3QgeyBmYWxzZSB9OworICAg
IGJvb2wgbV9pc0Nyb3NzT3JpZ2luIHsgZmFsc2UgfTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKQog
ICAgIC8vIFdlIG5lZWQgdG8ga2VlcCBhIHJlZmVyZW5jZSB0byB0aGUgb3JpZ2luYWwgY2hhbGxl
bmdlIHRvIGJlIGFibGUgdG8gY2FuY2VsIGl0LgpAQCAtMTQ0LDYgKzE0Nyw3IEBAIHB1YmxpYzoK
ICAgICBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSBtX2N1cnJlbnRXZWJDaGFsbGVuZ2U7CiAgICAg
UmVzb3VyY2VIYW5kbGU6OkZhaWx1cmVUeXBlIG1fc2NoZWR1bGVkRmFpbHVyZVR5cGUgeyBSZXNv
dXJjZUhhbmRsZTo6Tm9GYWlsdXJlIH07CiAgICAgVGltZXIgbV9mYWlsdXJlVGltZXI7CisgICAg
UmVmUHRyPFNlY3VyaXR5T3JpZ2luPiBtX3NvdXJjZU9yaWdpbjsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
VGltaW5nQWxsb3dPcmlnaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9U
aW1pbmdBbGxvd09yaWdpbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzM0ZDkxNjZlMjA0OGVmOGY0ZjQ0ZTIy
Y2NhNWFiYzdhMWNlMTQwYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvVGltaW5nQWxsb3dPcmlnaW4uY3BwCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiVGltaW5nQWxsb3dPcmlnaW4u
aCIKKworI2luY2x1ZGUgIkhUVFBQYXJzZXJzLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VSZXNwb25z
ZS5oIgorI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworYm9vbCBwYXNzZXNUaW1pbmdBbGxvd09yaWdpbkNoZWNrKGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmIHJlc3BvbnNlLCBjb25zdCBTZWN1cml0eU9yaWdpbiYgaW5pdGlhdG9yU2VjdXJpdHlPcmln
aW4pCit7CisgICAgLy8gaHR0cHM6Ly9mZXRjaC5zcGVjLndoYXR3Zy5vcmcvI3Rhby1jaGVjawor
ICAgIGF1dG8gcmVzb3VyY2VPcmlnaW4gPSBTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKHJlc3BvbnNl
LnVybCgpKTsKKyAgICBpZiAocmVzb3VyY2VPcmlnaW4tPmlzU2FtZVNjaGVtZUhvc3RQb3J0KGlu
aXRpYXRvclNlY3VyaXR5T3JpZ2luKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBjb25z
dCBTdHJpbmcmIHRpbWluZ0FsbG93T3JpZ2luU3RyaW5nID0gcmVzcG9uc2UuaHR0cEhlYWRlckZp
ZWxkKEhUVFBIZWFkZXJOYW1lOjpUaW1pbmdBbGxvd09yaWdpbik7CisgICAgY29uc3QgU3RyaW5n
JiBzZWN1cml0eU9yaWdpbiA9IGluaXRpYXRvclNlY3VyaXR5T3JpZ2luLnRvU3RyaW5nKCk7Cisg
ICAgZm9yIChhdXRvJiBvcmlnaW5XaXRoU3BhY2UgOiB0aW1pbmdBbGxvd09yaWdpblN0cmluZy5z
cGxpdCgnLCcpKSB7CisgICAgICAgIGF1dG8gb3JpZ2luID0gc3RyaXBMZWFkaW5nQW5kVHJhaWxp
bmdIVFRQU3BhY2VzKFN0cmluZ1ZpZXcob3JpZ2luV2l0aFNwYWNlKSk7CisgICAgICAgIGlmIChv
cmlnaW4gPT0gIioiIHx8IG9yaWdpbiA9PSBzZWN1cml0eU9yaWdpbikKKyAgICAgICAgICAgIHJl
dHVybiB0cnVlOworICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKK30KKworfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY4MzAwODMzOTM4YWEyNWRkOGM5MDlhMDVlNGM2ZGRmZGExZjM5NWUKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1RpbWluZ0FsbG93T3Jp
Z2luLmgKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFJlc291cmNlUmVzcG9uc2U7CitjbGFzcyBTZWN1cml0
eU9yaWdpbjsKKworV0VCQ09SRV9FWFBPUlQgYm9vbCBwYXNzZXNUaW1pbmdBbGxvd09yaWdpbkNo
ZWNrKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdp
biYgaW5pdGlhdG9yU2VjdXJpdHlPcmlnaW4pOworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtMb2FkTWV0cmljcy5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvTmV0d29ya0xvYWRNZXRyaWNzLm1tCmlu
ZGV4IGI1NDQ3ZGY1NDc2YzBjNGM0YWJjNTg5Y2IzMTc4NWJiZjQ4Y2FkOTUuLjYzMTJlMDY4NDI5
N2I0M2MzMzExZTQ3MzliNjgxYWI0NDVjMzM2NzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY29jb2EvTmV0d29ya0xvYWRNZXRyaWNzLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY29jb2EvTmV0d29ya0xvYWRNZXRyaWNzLm1tCkBA
IC0zOCw3ICszOCw3IEBAIHN0YXRpYyBNb25vdG9uaWNUaW1lIGRhdGVUb01vbm90b25pY1RpbWUo
TlNEYXRlICpkYXRlKQogICAgIHJldHVybiB7IH07CiB9CiAKLXN0YXRpYyBCb3g8TmV0d29ya0xv
YWRNZXRyaWNzPiBwYWNrYWdlVGltaW5nRGF0YShNb25vdG9uaWNUaW1lIHJlZGlyZWN0U3RhcnQs
IE5TRGF0ZSAqZmV0Y2hTdGFydCwgTlNEYXRlICpkb21haW5Mb29rdXBTdGFydCwgTlNEYXRlICpk
b21haW5Mb29rdXBFbmQsIE5TRGF0ZSAqY29ubmVjdFN0YXJ0LCBOU0RhdGUgKnNlY3VyZUNvbm5l
Y3Rpb25TdGFydCwgTlNEYXRlICpjb25uZWN0RW5kLCBOU0RhdGUgKnJlcXVlc3RTdGFydCwgTlNE
YXRlICpyZXNwb25zZVN0YXJ0LCBib29sIHJldXNlZFRMU0Nvbm5lY3Rpb24sIE5TU3RyaW5nICpw
cm90b2NvbCwgdWludDE2X3QgcmVkaXJlY3RDb3VudCwgYm9vbCBoYXNDcm9zc09yaWdpblJlZGly
ZWN0KQorc3RhdGljIEJveDxOZXR3b3JrTG9hZE1ldHJpY3M+IHBhY2thZ2VUaW1pbmdEYXRhKE1v
bm90b25pY1RpbWUgcmVkaXJlY3RTdGFydCwgTlNEYXRlICpmZXRjaFN0YXJ0LCBOU0RhdGUgKmRv
bWFpbkxvb2t1cFN0YXJ0LCBOU0RhdGUgKmRvbWFpbkxvb2t1cEVuZCwgTlNEYXRlICpjb25uZWN0
U3RhcnQsIE5TRGF0ZSAqc2VjdXJlQ29ubmVjdGlvblN0YXJ0LCBOU0RhdGUgKmNvbm5lY3RFbmQs
IE5TRGF0ZSAqcmVxdWVzdFN0YXJ0LCBOU0RhdGUgKnJlc3BvbnNlU3RhcnQsIGJvb2wgcmV1c2Vk
VExTQ29ubmVjdGlvbiwgTlNTdHJpbmcgKnByb3RvY29sLCB1aW50MTZfdCByZWRpcmVjdENvdW50
LCBib29sIGZhaWxzVEFPQ2hlY2ssIGJvb2wgaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKIHsKIAog
ICAgIGF1dG8gdGltaW5nID0gQm94PE5ldHdvcmtMb2FkTWV0cmljcz46OmNyZWF0ZSgpOwpAQCAt
NTYsNiArNTYsNyBAQCBzdGF0aWMgQm94PE5ldHdvcmtMb2FkTWV0cmljcz4gcGFja2FnZVRpbWlu
Z0RhdGEoTW9ub3RvbmljVGltZSByZWRpcmVjdFN0YXJ0LCBOUwogICAgIHRpbWluZy0+cmVxdWVz
dFN0YXJ0ID0gZGF0ZVRvTW9ub3RvbmljVGltZShyZXF1ZXN0U3RhcnQpOwogICAgIHRpbWluZy0+
cmVzcG9uc2VTdGFydCA9IGRhdGVUb01vbm90b25pY1RpbWUocmVzcG9uc2VTdGFydCk7CiAgICAg
dGltaW5nLT5yZWRpcmVjdENvdW50ID0gcmVkaXJlY3RDb3VudDsKKyAgICB0aW1pbmctPmZhaWxz
VEFPQ2hlY2sgPSBmYWlsc1RBT0NoZWNrOwogICAgIHRpbWluZy0+aGFzQ3Jvc3NPcmlnaW5SZWRp
cmVjdCA9IGhhc0Nyb3NzT3JpZ2luUmVkaXJlY3Q7CiAKICAgICAvLyBOT1RFOiByZXNwb25zZUVu
ZCBpcyBub3QgcG9wdWxhdGVkIGluIHRoaXMgY29kZSBwYXRoLgpAQCAtNjMsNyArNjQsNyBAQCBz
dGF0aWMgQm94PE5ldHdvcmtMb2FkTWV0cmljcz4gcGFja2FnZVRpbWluZ0RhdGEoTW9ub3Rvbmlj
VGltZSByZWRpcmVjdFN0YXJ0LCBOUwogICAgIHJldHVybiB0aW1pbmc7CiB9CiAKLUJveDxOZXR3
b3JrTG9hZE1ldHJpY3M+IGNvcHlUaW1pbmdEYXRhKE5TVVJMU2Vzc2lvblRhc2tNZXRyaWNzICpp
bmNvbXBsZXRlTWV0cmljcywgYm9vbCBoYXNDcm9zc09yaWdpblJlZGlyZWN0KQorQm94PE5ldHdv
cmtMb2FkTWV0cmljcz4gY29weVRpbWluZ0RhdGEoTlNVUkxTZXNzaW9uVGFza01ldHJpY3MgKmlu
Y29tcGxldGVNZXRyaWNzLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG1ldHJpY3NGcm9tVGFz
aykKIHsKICAgICBOU0FycmF5PE5TVVJMU2Vzc2lvblRhc2tUcmFuc2FjdGlvbk1ldHJpY3MgKj4g
KnRyYW5zYWN0aW9uTWV0cmljcyA9IGluY29tcGxldGVNZXRyaWNzLnRyYW5zYWN0aW9uTWV0cmlj
czsKICAgICBOU1VSTFNlc3Npb25UYXNrVHJhbnNhY3Rpb25NZXRyaWNzICptZXRyaWNzID0gdHJh
bnNhY3Rpb25NZXRyaWNzLmxhc3RPYmplY3Q7CkBAIC04MCw3ICs4MSw4IEBAIEJveDxOZXR3b3Jr
TG9hZE1ldHJpY3M+IGNvcHlUaW1pbmdEYXRhKE5TVVJMU2Vzc2lvblRhc2tNZXRyaWNzICppbmNv
bXBsZXRlTWV0cmljCiAgICAgICAgIG1ldHJpY3MucmV1c2VkQ29ubmVjdGlvbiwKICAgICAgICAg
bWV0cmljcy5yZXNwb25zZS5VUkwuc2NoZW1lLAogICAgICAgICBpbmNvbXBsZXRlTWV0cmljcy5y
ZWRpcmVjdENvdW50LAotICAgICAgICBoYXNDcm9zc09yaWdpblJlZGlyZWN0CisgICAgICAgIG1l
dHJpY3NGcm9tVGFzay5mYWlsc1RBT0NoZWNrLAorICAgICAgICBtZXRyaWNzRnJvbVRhc2suaGFz
Q3Jvc3NPcmlnaW5SZWRpcmVjdAogICAgICk7CiB9CiAKQEAgLTEwOSw2ICsxMTEsNyBAQCBCb3g8
TmV0d29ya0xvYWRNZXRyaWNzPiBjb3B5VGltaW5nRGF0YShOU1VSTENvbm5lY3Rpb24gKmNvbm5l
Y3Rpb24sIGNvbnN0IFJlc291cgogICAgICAgICB0aW1pbmdWYWx1ZShAIl9rQ0ZOVGltaW5nRGF0
YUNvbm5lY3Rpb25SZXVzZWQiKS5nZXQoKSwKICAgICAgICAgY29ubmVjdGlvbi5jdXJyZW50UmVx
dWVzdC5VUkwuc2NoZW1lLAogICAgICAgICBoYW5kbGUucmVkaXJlY3RDb3VudCgpLAorICAgICAg
ICBoYW5kbGUuZmFpbHNUQU9DaGVjaygpLAogICAgICAgICBoYW5kbGUuaGFzQ3Jvc3NPcmlnaW5S
ZWRpcmVjdCgpCiAgICAgKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jdXJsL0N1cmxDYWNoZUVudHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvY3VybC9DdXJsQ2FjaGVFbnRyeS5jcHAKaW5kZXggNmQ5MjQ3NWI1ZWI2MjBiN2Rh
OWIzMzhlNzZhYmEwZmM4ODdhM2VkNi4uYzE4NWViM2I5MzU5NTY1NTJkMWE0ZDM0MDZhOGE4Zjk0
ZjAwZmZlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJs
L0N1cmxDYWNoZUVudHJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2N1cmwvQ3VybENhY2hlRW50cnkuY3BwCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAiUmVz
b3VyY2VIYW5kbGVJbnRlcm5hbC5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2lu
Y2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKKyNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgog
I2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgogI2luY2x1ZGUgPHd0Zi9EYXRlTWF0aC5oPgogI2lu
Y2x1ZGUgPHd0Zi9IZXhOdW1iZXIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvY3VybC9DdXJsQ2FjaGVNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY3VybC9DdXJsQ2FjaGVNYW5hZ2VyLmNwcAppbmRleCBlNjlmNmMzNTc3
NWVkZWNjZWIyMmU4NTE1NDY1M2E5NDg2MjZmYmNkLi43ODY5YTBkZjRlOWViNzI4YTZkOGZmZWM0
MzMyZTNkZjcxOWE5ZTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2N1cmwvQ3VybENhY2hlTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jdXJsL0N1cmxDYWNoZU1hbmFnZXIuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAj
aW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRs
ZUludGVybmFsLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCisjaW5jbHVkZSAiU2Vj
dXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlIDx3dGYvRmlsZVN5c3RlbS5oPgogI2luY2x1ZGUgPHd0
Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFJlc291cmNlSGFuZGxl
RGVsZWdhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxS
ZXNvdXJjZUhhbmRsZURlbGVnYXRlLmNwcAppbmRleCBlNTY0YTBjZTY2NjE0YTQ5YTEwMzEzNjg4
NTFjNGRhODgyMzUyYTYxLi43MzYzMTQ2NzgwODZkNDJkNzQzMTlhYjY5OTcxMGI5YmYxYjIxZDE5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFJl
c291cmNlSGFuZGxlRGVsZWdhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvY3VybC9DdXJsUmVzb3VyY2VIYW5kbGVEZWxlZ2F0ZS5jcHAKQEAgLTM2LDYgKzM2LDcg
QEAKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxl
Q2xpZW50LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgorI2luY2x1ZGUg
IlNlY3VyaXR5T3JpZ2luLmgiCiAKICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291
cmNlSGFuZGxlQ3VybC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwv
UmVzb3VyY2VIYW5kbGVDdXJsLmNwcAppbmRleCAzOGU1ZWUxOWIxNDYxNzFiN2I4MjY4NTFhYmIx
ZjJmNDg5NWM1MDQxLi5kYWYzYWY2ODVkOGNhYmUxMjQ5ODFkN2MwODEyNWI3NzE5Y2NiMjU2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VI
YW5kbGVDdXJsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwv
UmVzb3VyY2VIYW5kbGVDdXJsLmNwcApAQCAtMzY1LDcgKzM2NSw3IEBAIHZvaWQgUmVzb3VyY2VI
YW5kbGU6OnJlc3RhcnRSZXF1ZXN0V2l0aENyZWRlbnRpYWwoY29uc3QgUHJvdGVjdGlvblNwYWNl
JiBwcm90ZWN0CiAgICAgZC0+bV9jdXJsUmVxdWVzdC0+c3RhcnQoKTsKIH0KIAotdm9pZCBSZXNv
dXJjZUhhbmRsZTo6cGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdD
b250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFN0b3JlZENy
ZWRlbnRpYWxzUG9saWN5IHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBSZXNvdXJjZUVycm9yJiBl
cnJvciwgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFZlY3Rvcjx1aW50OF90PiYgZGF0YSkK
K3ZvaWQgUmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseShO
ZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0
LCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgU2VjdXJp
dHlPcmlnaW4qLCBSZXNvdXJjZUVycm9yJiBlcnJvciwgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9u
c2UsIFZlY3Rvcjx1aW50OF90PiYgZGF0YSkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkp
OwogICAgIEFTU0VSVCghcmVxdWVzdC5pc0VtcHR5KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbQppbmRleCBm
MmMxZWQ2NjQyZTZiN2JjYmRjZmEzMjdhYWY4MmU5YjAzN2FhNGE1Li40ODEzMjBjODMzNDRjMGEx
NzFhNDUzZjcwZTNlODU3ZGUwOWVlYzI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbQpAQCAtMzUxLDcgKzM1
MSw3IEBAIENGU3RyaW5nUmVmIFJlc291cmNlSGFuZGxlOjpzeW5jaHJvbm91c0xvYWRSdW5Mb29w
TW9kZSgpCiAgICAgcmV0dXJuIENGU1RSKCJXZWJDb3JlU3luY2hyb25vdXNMb2FkZXJSdW5Mb29w
TW9kZSIpOwogfQogCi12b2lkIFJlc291cmNlSGFuZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5
bmNocm9ub3VzbHkoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IFJlc291cmNlUmVx
dWVzdCYgcmVxdWVzdCwgU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kgc3RvcmVkQ3JlZGVudGlhbHNQ
b2xpY3ksIFJlc291cmNlRXJyb3ImIGVycm9yLCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwg
VmVjdG9yPHVpbnQ4X3Q+JiBkYXRhKQordm9pZCBSZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1Mb2Fk
UmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFN0b3JlZENyZWRlbnRpYWxzUG9saWN5IHN0b3JlZENy
ZWRlbnRpYWxzUG9saWN5LCBTZWN1cml0eU9yaWdpbiogc291cmNlT3JpZ2luLCBSZXNvdXJjZUVy
cm9yJiBlcnJvciwgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFZlY3Rvcjx1aW50OF90PiYg
ZGF0YSkKIHsKICAgICBMT0coTmV0d29yaywgIlJlc291cmNlSGFuZGxlOjpwbGF0Zm9ybUxvYWRS
ZXNvdXJjZVN5bmNocm9ub3VzbHk6JUAgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3k6JXUiLCByZXF1
ZXN0Lm5zVVJMUmVxdWVzdChIVFRQQm9keVVwZGF0ZVBvbGljeTo6RG9Ob3RVcGRhdGVIVFRQQm9k
eSksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihzdG9yZWRDcmVkZW50aWFsc1BvbGljeSkpOwogCkBA
IC0zNjMsNyArMzYzLDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1Mb2FkUmVzb3Vy
Y2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXgKICAgICBib29sIGRlZmVy
c0xvYWRpbmcgPSBmYWxzZTsKICAgICBib29sIHNob3VsZENvbnRlbnRTbmlmZiA9IHRydWU7CiAg
ICAgYm9vbCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiA9IHRydWU7Ci0gICAgUmVmUHRyPFJl
c291cmNlSGFuZGxlPiBoYW5kbGUgPSBhZG9wdFJlZihuZXcgUmVzb3VyY2VIYW5kbGUoY29udGV4
dCwgcmVxdWVzdCwgJmNsaWVudCwgZGVmZXJzTG9hZGluZywgc2hvdWxkQ29udGVudFNuaWZmLCBz
aG91bGRDb250ZW50RW5jb2RpbmdTbmlmZikpOworICAgIFJlZlB0cjxSZXNvdXJjZUhhbmRsZT4g
aGFuZGxlID0gYWRvcHRSZWYobmV3IFJlc291cmNlSGFuZGxlKGNvbnRleHQsIHJlcXVlc3QsICZj
bGllbnQsIGRlZmVyc0xvYWRpbmcsIHNob3VsZENvbnRlbnRTbmlmZiwgc2hvdWxkQ29udGVudEVu
Y29kaW5nU25pZmYsIHNvdXJjZU9yaWdpbikpOwogCiAgICAgaGFuZGxlLT5kLT5tX3N0b3JhZ2VT
ZXNzaW9uID0gY29udGV4dC0+c3RvcmFnZVNlc3Npb24oKS0+cGxhdGZvcm1TZXNzaW9uKCk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVS
ZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVl
dWVEZWxlZ2F0ZS5tbQppbmRleCBjNDMyNjE2OTZlM2NlZGYzNmY3ZTJkMzhhMDdkYWU0Y2EyZmUy
NjRkLi42NWI3YmE4YzQxNTM2MDllNjdlY2YxNmZjNjI0MDJhZWJlNTRkYTBhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5k
bGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVn
YXRlLm1tCkBAIC0xNDEsNiArMTQxLDcgQEAgc3RhdGljIGJvb2wgc2NoZWR1bGVkV2l0aEN1c3Rv
bVJ1bkxvb3BNb2RlKGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2NoZWR1bGVQYWlySGFzaFMKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQogCisgICAgICAgIFJlc291cmNlUmVzcG9uc2UgcmVz
cG9uc2UocmVkaXJlY3RSZXNwb25zZS5nZXQoKSk7CiAgICAgICAgIFJlc291cmNlUmVxdWVzdCBy
ZWRpcmVjdFJlcXVlc3QgPSBuZXdSZXF1ZXN0LmdldCgpOwogICAgICAgICBpZiAoW25ld1JlcXVl
c3QuZ2V0KCkgSFRUUEJvZHlTdHJlYW1dKSB7CiAgICAgICAgICAgICBBU1NFUlQobV9oYW5kbGUt
PmZpcnN0UmVxdWVzdCgpLmh0dHBCb2R5KCkpOwpAQCAtMTUwLDEwICsxNTEsMTMgQEAgc3RhdGlj
IGJvb2wgc2NoZWR1bGVkV2l0aEN1c3RvbVJ1bkxvb3BNb2RlKGNvbnN0IHN0ZDo6b3B0aW9uYWw8
U2NoZWR1bGVQYWlySGFzaFMKICAgICAgICAgICAgIHJlZGlyZWN0UmVxdWVzdC5jbGVhckhUVFBD
b250ZW50VHlwZSgpOwogCiAgICAgICAgIC8vIENoZWNrIGlmIHRoZSByZWRpcmVjdGVkIHVybCBp
cyBhbGxvd2VkIHRvIGFjY2VzcyB0aGUgcmVkaXJlY3RpbmcgdXJsJ3MgdGltaW5nIGluZm9ybWF0
aW9uLgotICAgICAgICBtX2hhbmRsZS0+c2V0SGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCghV2ViQ29y
ZTo6U2VjdXJpdHlPcmlnaW46OmNyZWF0ZShyZWRpcmVjdFJlcXVlc3QudXJsKCkpLT5jYW5SZXF1
ZXN0KHJlZGlyZWN0UmVzcG9uc2UuZ2V0KCkuVVJMKSk7CisgICAgICAgIGlmICghbV9oYW5kbGUt
Pmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QoKSAmJiAhV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OmNy
ZWF0ZShyZWRpcmVjdFJlcXVlc3QudXJsKCkpLT5jYW5SZXF1ZXN0KHJlZGlyZWN0UmVzcG9uc2Uu
Z2V0KCkuVVJMKSkKKyAgICAgICAgICAgIG1faGFuZGxlLT5tYXJrQXNIYXZpbmdDcm9zc09yaWdp
blJlZGlyZWN0KCk7CisgICAgICAgIG1faGFuZGxlLT5jaGVja1RBTyhyZXNwb25zZSk7CisKICAg
ICAgICAgbV9oYW5kbGUtPmluY3JlbWVudFJlZGlyZWN0Q291bnQoKTsKIAotICAgICAgICBtX2hh
bmRsZS0+d2lsbFNlbmRSZXF1ZXN0KFdURk1vdmUocmVkaXJlY3RSZXF1ZXN0KSwgcmVkaXJlY3RS
ZXNwb25zZS5nZXQoKSwgW3NlbGYsIHByb3RlY3RlZFNlbGYgPSBXVEZNb3ZlKHByb3RlY3RlZFNl
bGYpXShSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0KSB7CisgICAgICAgIG1faGFuZGxlLT53aWxs
U2VuZFJlcXVlc3QoV1RGTW92ZShyZWRpcmVjdFJlcXVlc3QpLCBXVEZNb3ZlKHJlc3BvbnNlKSwg
W3NlbGYsIHByb3RlY3RlZFNlbGYgPSBXVEZNb3ZlKHByb3RlY3RlZFNlbGYpXShSZXNvdXJjZVJl
cXVlc3QmJiByZXF1ZXN0KSB7CiAgICAgICAgICAgICBtX3JlcXVlc3RSZXN1bHQgPSByZXF1ZXN0
Lm5zVVJMUmVxdWVzdChIVFRQQm9keVVwZGF0ZVBvbGljeTo6VXBkYXRlSFRUUEJvZHkpOwogICAg
ICAgICAgICAgbV9zZW1hcGhvcmUuc2lnbmFsKCk7CiAgICAgICAgIH0pOwpAQCAtMjU3LDggKzI2
MSwxMCBAQCBBTExPV19ERVBSRUNBVEVEX0lNUExFTUVOVEFUSU9OU19FTkQKICAgICAgICAgaWYg
KFttX2hhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkubnNVUkxSZXF1ZXN0KEhUVFBCb2R5VXBkYXRlUG9s
aWN5OjpEb05vdFVwZGF0ZUhUVFBCb2R5KSBfcHJvcGVydHlGb3JLZXk6QCJGb3JjZUhUTUxNSU1F
VHlwZSJdKQogICAgICAgICAgICAgW3IgX3NldE1JTUVUeXBlOkAidGV4dC9odG1sIl07CiAKLSAg
ICAgICAgYXV0byBtZXRyaWNzID0gY29weVRpbWluZ0RhdGEoY29ubmVjdGlvbi5nZXQoKSwgKm1f
aGFuZGxlKTsKICAgICAgICAgUmVzb3VyY2VSZXNwb25zZSByZXNvdXJjZVJlc3BvbnNlKHIuZ2V0
KCkpOworICAgICAgICBtX2hhbmRsZS0+Y2hlY2tUQU8ocmVzb3VyY2VSZXNwb25zZSk7CisKKyAg
ICAgICAgYXV0byBtZXRyaWNzID0gY29weVRpbWluZ0RhdGEoY29ubmVjdGlvbi5nZXQoKSwgKm1f
aGFuZGxlKTsKICAgICAgICAgcmVzb3VyY2VSZXNwb25zZS5zZXRTb3VyY2UoUmVzb3VyY2VSZXNw
b25zZTo6U291cmNlOjpOZXR3b3JrKTsKICAgICAgICAgcmVzb3VyY2VSZXNwb25zZS5zZXREZXBy
ZWNhdGVkTmV0d29ya0xvYWRNZXRyaWNzKEJveDxOZXR3b3JrTG9hZE1ldHJpY3M+IHsgbWV0cmlj
cyB9KTsKIApAQCAtMzMzLDYgKzMzOSw3IEBAIEFMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5UQVRJ
T05TX0VORAogICAgICAgICAgICAgICAgIG1ldHJpY3MtPnJlc3BvbnNlRW5kID0gV2FsbFRpbWU6
OmZyb21SYXdTZWNvbmRzKGFkb3B0TlMoW1tOU0RhdGUgYWxsb2NdIGluaXRXaXRoVGltZUludGVy
dmFsU2luY2VSZWZlcmVuY2VEYXRlOnJlc3BvbnNlRW5kVGltZV0pLmdldCgpLnRpbWVJbnRlcnZh
bFNpbmNlMTk3MCkuYXBwcm94aW1hdGVNb25vdG9uaWNUaW1lKCk7CiAgICAgICAgICAgICBlbHNl
CiAgICAgICAgICAgICAgICAgbWV0cmljcy0+cmVzcG9uc2VFbmQgPSBtZXRyaWNzLT5yZXNwb25z
ZVN0YXJ0OworICAgICAgICAgICAgbWV0cmljcy0+cHJvdG9jb2wgPSAoTlNTdHJpbmcgKilbdGlt
aW5nRGF0YSBvYmplY3RGb3JLZXk6QCJfa0NGTlRpbWluZ0RhdGFOZXR3b3JrUHJvdG9jb2xOYW1l
Il07CiAgICAgICAgICAgICBtZXRyaWNzLT5yZXNwb25zZUJvZHlCeXRlc1JlY2VpdmVkID0gW1t0
aW1pbmdEYXRhIG9iamVjdEZvcktleTpAIl9rQ0ZOVGltaW5nRGF0YVJlc3BvbnNlQm9keUJ5dGVz
UmVjZWl2ZWQiXSB1bnNpZ25lZExvbmdMb25nVmFsdWVdOwogICAgICAgICAgICAgbWV0cmljcy0+
cmVzcG9uc2VCb2R5RGVjb2RlZFNpemUgPSBbW3RpbWluZ0RhdGEgb2JqZWN0Rm9yS2V5OkAiX2tD
Rk5UaW1pbmdEYXRhUmVzcG9uc2VCb2R5Qnl0ZXNEZWNvZGVkIl0gdW5zaWduZWRMb25nTG9uZ1Zh
bHVlXTsKICAgICAgICAgICAgIG1ldHJpY3MtPm1hcmtDb21wbGV0ZSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0NyZWRlbnRpYWxTdG9yYWdlU291
cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ3JlZGVudGlhbFN0
b3JhZ2VTb3VwLmNwcAppbmRleCBlNWVjMTZmOTUyNjAyNmRlYTRkMGVhNjZmMzlmMzEwOTcwY2Q0
Yzg2Li41MzU3ZTI4Mzk5YTgwNzZmYjJjOWZmMDIzNmJjZDBiMzU2YWQyNzMxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ3JlZGVudGlhbFN0b3JhZ2VT
b3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ3JlZGVu
dGlhbFN0b3JhZ2VTb3VwLmNwcApAQCAtMjksNiArMjksNyBAQAogI2lmIFVTRShTT1VQKQogCiAj
aW5jbHVkZSAiQ3JlZGVudGlhbC5oIgorI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAppbmRleCA2OGFkNDY0MTcx
MzYwZWU5YTg4Njk1NzM2MWU3OGY1Yjg0ZDI0MGQxLi40OTc1NGNkN2YxMDNkZDE4NWQ3YTE3ODUx
ZTk1Y2UyZTQ1NTkxMGU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcApAQCAtMTI3LDcgKzEyNyw3
IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtU2V0RGVmZXJzTG9hZGluZyhib29sKQog
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCi12b2lkIFJlc291cmNlSGFuZGxlOjpwbGF0
Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmLCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYs
IFJlc291cmNlUmVzcG9uc2UmLCBWZWN0b3I8dWludDhfdD4mKQordm9pZCBSZXNvdXJjZUhhbmRs
ZTo6cGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0Kiwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIFNlY3VyaXR5
T3JpZ2luKiwgUmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVzcG9uc2UmLCBWZWN0b3I8dWludDhf
dD4mKQogewogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZFBhcmFtZXRlcnMuaCBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRQYXJhbWV0ZXJzLmgKaW5kZXggZjhkNjE3
YWU5M2YwZGFhOWU4ZWJlOWI5NzA1NmVmMDAzNmU0ZDM5Yy4uMDRjYjAzOTBjOWNmZDg2YjkxMWQ0
OGY5YWY5Y2QxNzJlOGIzYTczNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrTG9hZFBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtMb2FkUGFyYW1ldGVycy5oCkBAIC00OCw2ICs0OCw3IEBAIHB1YmxpYzoK
ICAgICBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciB3ZWJQYWdlSUQ7CiAgICAgV2ViQ29yZTo6RnJh
bWVJZGVudGlmaWVyIHdlYkZyYW1lSUQ7CiAgICAgUmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3Jp
Z2luPiB0b3BPcmlnaW47CisgICAgUmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPiBzb3Vy
Y2VPcmlnaW47CiAgICAgV1RGOjpQcm9jZXNzSUQgcGFyZW50UElEIHsgMCB9OwogI2lmIEhBVkUo
QVVESVRfVE9LRU4pCiAgICAgc3RkOjpvcHRpb25hbDxhdWRpdF90b2tlbl90PiBuZXR3b3JrUHJv
Y2Vzc0F1ZGl0VG9rZW47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgKaW5kZXggZjBlNDIwZjUxMDNl
YmQ1MWFmZDdjZTg5Y2JiN2IzNWY5NjI1YTM1OS4uMjIyZDZmNGE3NDc2YzkxMzgzZjdhM2E1OTc2
OTk1ZTU2ZWIzNzBmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaApAQCAtNTIsNyArNTIsNiBA
QCBwdWJsaWM6CiAgICAgVmVjdG9yPFJlZlB0cjxTYW5kYm94RXh0ZW5zaW9uPj4gcmVxdWVzdEJv
ZHlTYW5kYm94RXh0ZW5zaW9uczsgLy8gQ3JlYXRlZCBhdXRvbWF0aWNhbGx5IGZvciB0aGUgc2Vu
ZGVyLgogICAgIFJlZlB0cjxTYW5kYm94RXh0ZW5zaW9uPiByZXNvdXJjZVNhbmRib3hFeHRlbnNp
b247IC8vIENyZWF0ZWQgYXV0b21hdGljYWxseSBmb3IgdGhlIHNlbmRlci4KICAgICBTZWNvbmRz
IG1heGltdW1CdWZmZXJpbmdUaW1lOwotICAgIFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdp
bj4gc291cmNlT3JpZ2luOwogICAgIFdlYkNvcmU6OkZldGNoT3B0aW9ucyBvcHRpb25zOwogICAg
IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzPiBjc3BSZXNwb25zZUhlYWRlcnM7CiAgICAgV2ViQ29yZTo6SFRUUEhlYWRlck1hcCBvcmln
aW5hbFJlcXVlc3RIZWFkZXJzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDA4NGJkZTFiM2ZjMWJlNjVjOGZk
NzQwZGIwYjQyMjUwZGNhNjgzYTUuLmVjMTZkOTcyZDM0YmUxMjkwMzhmM2NhNmIyMzYzNDNjZjcw
YjU0MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jl
c291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTg2LDcgKzg2LDcgQEAgc3RydWN0IE5ldHdvcmtSZXNv
dXJjZUxvYWRlcjo6U3luY2hyb25vdXNMb2FkRGF0YSB7CiAgICAgUmVzb3VyY2VFcnJvciBlcnJv
cjsKIH07CiAKLXN0YXRpYyB2b2lkIHNlbmRSZXBseVRvU3luY2hyb25vdXNSZXF1ZXN0KE5ldHdv
cmtSZXNvdXJjZUxvYWRlcjo6U3luY2hyb25vdXNMb2FkRGF0YSYgZGF0YSwgY29uc3QgU2hhcmVk
QnVmZmVyKiBidWZmZXIpCitzdGF0aWMgdm9pZCBzZW5kUmVwbHlUb1N5bmNocm9ub3VzUmVxdWVz
dChOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OlN5bmNocm9ub3VzTG9hZERhdGEmIGRhdGEsIGNvbnN0
IFNoYXJlZEJ1ZmZlciogYnVmZmVyLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG1ldHJpY3Mp
CiB7CiAgICAgQVNTRVJUKGRhdGEuZGVsYXllZFJlcGx5KTsKICAgICBBU1NFUlQoIWRhdGEucmVz
cG9uc2UuaXNOdWxsKCkgfHwgIWRhdGEuZXJyb3IuaXNOdWxsKCkpOwpAQCAtOTUsNiArOTUsOCBA
QCBzdGF0aWMgdm9pZCBzZW5kUmVwbHlUb1N5bmNocm9ub3VzUmVxdWVzdChOZXR3b3JrUmVzb3Vy
Y2VMb2FkZXI6OlN5bmNocm9ub3VzTG9hZAogICAgIGlmIChidWZmZXIgJiYgYnVmZmVyLT5zaXpl
KCkpCiAgICAgICAgIHJlc3BvbnNlQnVmZmVyLmFwcGVuZChidWZmZXItPmRhdGEoKSwgYnVmZmVy
LT5zaXplKCkpOwogCisgICAgZGF0YS5yZXNwb25zZS5zZXREZXByZWNhdGVkTmV0d29ya0xvYWRN
ZXRyaWNzKEJveDxOZXR3b3JrTG9hZE1ldHJpY3M+OjpjcmVhdGUobWV0cmljcykpOworCiAgICAg
ZGF0YS5kZWxheWVkUmVwbHkoZGF0YS5lcnJvciwgZGF0YS5yZXNwb25zZSwgcmVzcG9uc2VCdWZm
ZXIpOwogICAgIGRhdGEuZGVsYXllZFJlcGx5ID0gbnVsbHB0cjsKIH0KQEAgLTcyOCw3ICs3MzAs
NyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyhjb25zdCBO
ZXR3b3JrTG9hZE1ldHJpY3MmIG5ldHdvcmtMbwogI2VuZGlmCiAKICAgICBpZiAoaXNTeW5jaHJv
bm91cygpKQotICAgICAgICBzZW5kUmVwbHlUb1N5bmNocm9ub3VzUmVxdWVzdCgqbV9zeW5jaHJv
bm91c0xvYWREYXRhLCBtX2J1ZmZlcmVkRGF0YS5nZXQoKSk7CisgICAgICAgIHNlbmRSZXBseVRv
U3luY2hyb25vdXNSZXF1ZXN0KCptX3N5bmNocm9ub3VzTG9hZERhdGEsIG1fYnVmZmVyZWREYXRh
LmdldCgpLCBuZXR3b3JrTG9hZE1ldHJpY3MpOwogICAgIGVsc2UgewogICAgICAgICBpZiAobV9i
dWZmZXJlZERhdGEgJiYgIW1fYnVmZmVyZWREYXRhLT5pc0VtcHR5KCkpIHsKICAgICAgICAgICAg
IC8vIEZJWE1FOiBQYXNzIGEgcmVhbCB2YWx1ZSBvciByZW1vdmUgdGhlIGVuY29kZWQgZGF0YSBz
aXplIGZlYXR1cmUuCkBAIC03NjMsNyArNzY1LDcgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2Fk
ZXI6OmRpZEZhaWxMb2FkaW5nKGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQogCiAgICAgaWYg
KGlzU3luY2hyb25vdXMoKSkgewogICAgICAgICBtX3N5bmNocm9ub3VzTG9hZERhdGEtPmVycm9y
ID0gZXJyb3I7Ci0gICAgICAgIHNlbmRSZXBseVRvU3luY2hyb25vdXNSZXF1ZXN0KCptX3N5bmNo
cm9ub3VzTG9hZERhdGEsIG51bGxwdHIpOworICAgICAgICBzZW5kUmVwbHlUb1N5bmNocm9ub3Vz
UmVxdWVzdCgqbV9zeW5jaHJvbm91c0xvYWREYXRhLCBudWxscHRyLCB7IH0pOwogICAgIH0gZWxz
ZSBpZiAoYXV0byogY29ubmVjdGlvbiA9IG1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uKCkpIHsKICNp
ZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAgICAgICAgIGlmIChtX3NlcnZpY2VXb3JrZXJGZXRj
aFRhc2spCkBAIC0xMTQyLDcgKzExNDQsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6
ZGlkUmV0cmlldmVDYWNoZUVudHJ5KHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrQ2FjaGU6OgogICAg
IHJlc3BvbnNlID0gc2FuaXRpemVSZXNwb25zZUlmUG9zc2libGUoV1RGTW92ZShyZXNwb25zZSks
IFJlc291cmNlUmVzcG9uc2U6OlNhbml0aXphdGlvblR5cGU6OkNyb3NzT3JpZ2luU2FmZSk7CiAg
ICAgaWYgKGlzU3luY2hyb25vdXMoKSkgewogICAgICAgICBtX3N5bmNocm9ub3VzTG9hZERhdGEt
PnJlc3BvbnNlID0gV1RGTW92ZShyZXNwb25zZSk7Ci0gICAgICAgIHNlbmRSZXBseVRvU3luY2hy
b25vdXNSZXF1ZXN0KCptX3N5bmNocm9ub3VzTG9hZERhdGEsIGVudHJ5LT5idWZmZXIoKSk7Cisg
ICAgICAgIHNlbmRSZXBseVRvU3luY2hyb25vdXNSZXF1ZXN0KCptX3N5bmNocm9ub3VzTG9hZERh
dGEsIGVudHJ5LT5idWZmZXIoKSwgeyB9KTsKICAgICAgICAgY2xlYW51cChMb2FkUmVzdWx0OjpT
dWNjZXNzKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EuaCBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EuaAppbmRleCBm
YWQyNDhlOTM5NDY4NzNjMjY5YmQ5OGFkNDM0Y2E3NDIxODAwNGEzLi40ZWJiZDkwY2M2NDVkZjVm
OWRkYmI4NjBkMDhhYTNlYjA1M2MyZmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLmgKKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5oCkBAIC04NCw2ICs4
NCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEgyUGluZ0NhbGxiYWNrKGNvbnN0IFVSTCYsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8V1RGOjpTZWNvbmRzLCBXZWJDb3JlOjpSZXNv
dXJjZUVycm9yPiYmKT4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRQcmlvcml0eShXZWJDb3Jl
OjpSZXNvdXJjZUxvYWRQcmlvcml0eSkgb3ZlcnJpZGU7CiAKKyAgICB2b2lkIGNoZWNrVEFPKGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKTsKKwogcHJpdmF0ZToKICAgICBOZXR3b3Jr
RGF0YVRhc2tDb2NvYShOZXR3b3JrU2Vzc2lvbiYsIE5ldHdvcmtEYXRhVGFza0NsaWVudCYsIGNv
bnN0IE5ldHdvcmtMb2FkUGFyYW1ldGVycyYpOwogCkBAIC0xMjAsNiArMTIyLDcgQEAgcHJpdmF0
ZToKICAgICBib29sIG1faXNGb3JNYWluUmVzb3VyY2VOYXZpZ2F0aW9uRm9yQW55RnJhbWUgeyBm
YWxzZSB9OwogICAgIGJvb2wgbV9pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQgeyBmYWxzZSB9Owog
ICAgIFdlYkNvcmU6OlNob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nIG1fc2hvdWxk
UmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tpbmcgeyBXZWJDb3JlOjpTaG91bGRSZWxheFRoaXJk
UGFydHlDb29raWVCbG9ja2luZzo6Tm8gfTsKKyAgICBSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlP
cmlnaW4+IG1fc291cmNlT3JpZ2luOwogfTsKIAogV2ViQ29yZTo6Q3JlZGVudGlhbCBzZXJ2ZXJU
cnVzdENyZWRlbnRpYWwoY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0Rh
dGFUYXNrQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdv
cmtEYXRhVGFza0NvY29hLm1tCmluZGV4IGNmZGZlMTM2OWNlNmE4ZTVmYmUzZjZmYTQxMTU3NzMw
Mjk0ZjczMjMuLjM0MGQ3ZGFjMjg2YjczYjgzYzUxZWJkMGY2ODBmYzRhYmY5ZGFmOTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNr
Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3Jr
RGF0YVRhc2tDb2NvYS5tbQpAQCAtNDAsNiArNDAsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9Ob3RJ
bXBsZW1lbnRlZC5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZWdpc3RyYWJsZURvbWFpbi5oPgogI2lt
cG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KKyNpbXBvcnQgPFdlYkNvcmUvVGltaW5n
QWxsb3dPcmlnaW4uaD4KICNpbXBvcnQgPHBhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmg+CiAjaW1w
b3J0IDx3dGYvQmxvY2tQdHIuaD4KICNpbXBvcnQgPHd0Zi9GaWxlU3lzdGVtLmg+CkBAIC0zMDAs
NiArMzAxLDcgQEAgTmV0d29ya0RhdGFUYXNrQ29jb2E6Ok5ldHdvcmtEYXRhVGFza0NvY29hKE5l
dHdvcmtTZXNzaW9uJiBzZXNzaW9uLCBOZXR3b3JrRGF0YVQKICAgICAsIG1faXNGb3JNYWluUmVz
b3VyY2VOYXZpZ2F0aW9uRm9yQW55RnJhbWUocGFyYW1ldGVycy5pc01haW5SZXNvdXJjZU5hdmln
YXRpb25Gb3JBbnlGcmFtZSkKICAgICAsIG1faXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKGNvbXB1
dGVJc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoc2Vzc2lvbikpCiAgICAgLCBtX3Nob3VsZFJlbGF4
VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nKHBhcmFtZXRlcnMuc2hvdWxkUmVsYXhUaGlyZFBhcnR5
Q29va2llQmxvY2tpbmcpCisgICAgLCBtX3NvdXJjZU9yaWdpbihwYXJhbWV0ZXJzLnNvdXJjZU9y
aWdpbikKIHsKICAgICBhdXRvIHJlcXVlc3QgPSBwYXJhbWV0ZXJzLnJlcXVlc3Q7CiAgICAgYXV0
byB1cmwgPSByZXF1ZXN0LnVybCgpOwpAQCAtNDYwLDkgKzQ2Miw3IEBAIHZvaWQgTmV0d29ya0Rh
dGFUYXNrQ29jb2E6OndpbGxQZXJmb3JtSFRUUFJlZGlyZWN0aW9uKFdlYkNvcmU6OlJlc291cmNl
UmVzcG9uc2UmCiB7CiAgICAgV1RGRW1pdFNpZ25wb3N0KG1fdGFzay5nZXQoKSwgIkRhdGFUYXNr
IiwgInJlZGlyZWN0Iik7CiAKLSAgICAvLyBDaGVjayBpZiB0aGUgcmVkaXJlY3RlZCB1cmwgaXMg
YWxsb3dlZCB0byBhY2Nlc3MgdGhlIHJlZGlyZWN0aW5nIHVybCdzIHRpbWluZyBpbmZvcm1hdGlv
bi4KLSAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgbm90IHNldCBiYWNrIHRvIHRydWUgYWZ0ZXIg
YW5vdGhlciBzYW1lLW9yaWdpbiByZWRpcmVjdCBvbmNlIGl0IGhhcyBiZWVuIHNldCB0byB0cnVl
LgotICAgIG5ldHdvcmtMb2FkTWV0cmljcygpLmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QgPSAhV2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW46OmNyZWF0ZShyZXF1ZXN0LnVybCgpKS0+Y2FuUmVxdWVzdChy
ZWRpcmVjdFJlc3BvbnNlLnVybCgpKTsKKyAgICBuZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9z
c09yaWdpblJlZGlyZWN0ID0gbmV0d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRp
cmVjdCB8fCAhV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OmNyZWF0ZShyZXF1ZXN0LnVybCgpKS0+
Y2FuUmVxdWVzdChyZWRpcmVjdFJlc3BvbnNlLnVybCgpKTsKIAogICAgIGlmIChyZWRpcmVjdFJl
c3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkgPT0gMzA3IHx8IHJlZGlyZWN0UmVzcG9uc2UuaHR0cFN0
YXR1c0NvZGUoKSA9PSAzMDgpIHsKICAgICAgICAgQVNTRVJUKG1fbGFzdEhUVFBNZXRob2QgPT0g
cmVxdWVzdC5odHRwTWV0aG9kKCkpOwpAQCAtNzE5LDQgKzcxOSwxOSBAQCB2b2lkIE5ldHdvcmtE
YXRhVGFza0NvY29hOjpzZXRQcmlvcml0eShXZWJDb3JlOjpSZXNvdXJjZUxvYWRQcmlvcml0eSBw
cmlvcml0eSkKICAgICBtX3Rhc2suZ2V0KCkucHJpb3JpdHkgPSB0b05TVVJMU2Vzc2lvblRhc2tQ
cmlvcml0eShwcmlvcml0eSk7CiB9CiAKK3ZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OmNoZWNr
VEFPKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQoreworICAgIGlm
IChuZXR3b3JrTG9hZE1ldHJpY3MoKS5mYWlsc1RBT0NoZWNrKQorICAgICAgICByZXR1cm47CisK
KyAgICBSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+IG9yaWdpbjsKKyAgICBpZiAoaXNU
b3BMZXZlbE5hdmlnYXRpb24oKSkKKyAgICAgICAgb3JpZ2luID0gV2ViQ29yZTo6U2VjdXJpdHlP
cmlnaW46OmNyZWF0ZShmaXJzdFJlcXVlc3QoKS51cmwoKSk7CisgICAgZWxzZQorICAgICAgICBv
cmlnaW4gPSBtX3NvdXJjZU9yaWdpbjsKKworICAgIGlmIChvcmlnaW4pCisgICAgICAgIG5ldHdv
cmtMb2FkTWV0cmljcygpLmZhaWxzVEFPQ2hlY2sgPSAhcGFzc2VzVGltaW5nQWxsb3dPcmlnaW5D
aGVjayhyZXNwb25zZSwgKm9yaWdpbik7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbSBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbQppbmRleCBj
Njk2MjdkZWUyMzEwZjVjMzQ3YmExNDVkYjY0YmRlZjkyM2ExYjU0Li5lZTJhZmRhYjg4MjM4M2Ex
MTExMmVkZTBmNDJhZjhmMDI4OTJhZmExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCkBAIC01NTUsNyAr
NTU1LDEwIEBAIHN0YXRpYyB2b2lkIHVwZGF0ZUlnbm9yZVN0cmljdFRyYW5zcG9ydFNlY3VyaXR5
U2V0dGluZyhSZXRhaW5QdHI8TlNVUkxSZXF1ZXN0PiYKICAgICAgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogI2VuZGlmCiAKLSAgICAgICAgbmV0d29ya0RhdGFUYXNrLT53aWxsUGVyZm9y
bUhUVFBSZWRpcmVjdGlvbihyZXNwb25zZSwgcmVxdWVzdCwgW2NvbXBsZXRpb25IYW5kbGVyID0g
bWFrZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKSwgdGFza0lkZW50aWZpZXIsIHNob3VsZEln
bm9yZUhTVFNdKGF1dG8mJiByZXF1ZXN0KSB7CisgICAgICAgIFdlYkNvcmU6OlJlc291cmNlUmVz
cG9uc2UgcmVzb3VyY2VSZXNwb25zZShyZXNwb25zZSk7CisgICAgICAgIG5ldHdvcmtEYXRhVGFz
ay0+Y2hlY2tUQU8ocmVzb3VyY2VSZXNwb25zZSk7CisKKyAgICAgICAgbmV0d29ya0RhdGFUYXNr
LT53aWxsUGVyZm9ybUhUVFBSZWRpcmVjdGlvbihXVEZNb3ZlKHJlc291cmNlUmVzcG9uc2UpLCBy
ZXF1ZXN0LCBbY29tcGxldGlvbkhhbmRsZXIgPSBtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhhbmRs
ZXIpLCB0YXNrSWRlbnRpZmllciwgc2hvdWxkSWdub3JlSFNUU10oYXV0byYmIHJlcXVlc3QpIHsK
ICNpZiAhTE9HX0RJU0FCTEVECiAgICAgICAgICAgICBMT0coTmV0d29ya1Nlc3Npb24sICIlbGx1
IHdpbGxQZXJmb3JtSFRUUFJlZGlyZWN0aW9uIGNvbXBsZXRpb25IYW5kbGVyICglcykiLCB0YXNr
SWRlbnRpZmllciwgcmVxdWVzdC51cmwoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKICNlbHNl
CkBAIC05MTUsNyArOTE4LDkgQEAgc3RhdGljIGlubGluZSB2b2lkIHByb2Nlc3NTZXJ2ZXJUcnVz
dEV2YWx1YXRpb24oTmV0d29ya1Nlc3Npb25Db2NvYSYgc2Vzc2lvbiwgU2UKICAgICAgICAgLy8g
YWxsIHRoZSBmaWVsZHMgd2hlbiBzZW5kaW5nIHRoZSByZXNwb25zZSB0byB0aGUgV2ViQ29udGVu
dCBwcm9jZXNzIG92ZXIgSVBDLgogICAgICAgICByZXNvdXJjZVJlc3BvbnNlLmRpc2FibGVMYXp5
SW5pdGlhbGl6YXRpb24oKTsKIAotICAgICAgICByZXNvdXJjZVJlc3BvbnNlLnNldERlcHJlY2F0
ZWROZXR3b3JrTG9hZE1ldHJpY3MoV2ViQ29yZTo6Y29weVRpbWluZ0RhdGEodGFza01ldHJpY3Ms
IG5ldHdvcmtEYXRhVGFzay0+bmV0d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRp
cmVjdCkpOworICAgICAgICBuZXR3b3JrRGF0YVRhc2stPmNoZWNrVEFPKHJlc291cmNlUmVzcG9u
c2UpOworCisgICAgICAgIHJlc291cmNlUmVzcG9uc2Uuc2V0RGVwcmVjYXRlZE5ldHdvcmtMb2Fk
TWV0cmljcyhXZWJDb3JlOjpjb3B5VGltaW5nRGF0YSh0YXNrTWV0cmljcywgbmV0d29ya0RhdGFU
YXNrLT5uZXR3b3JrTG9hZE1ldHJpY3MoKSkpOwogCiAgICAgICAgIG5ldHdvcmtEYXRhVGFzay0+
ZGlkUmVjZWl2ZVJlc3BvbnNlKFdURk1vdmUocmVzb3VyY2VSZXNwb25zZSksIG5lZ290aWF0ZWRM
ZWdhY3lUTFMsIFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFu
ZGxlciksIHRhc2tJZGVudGlmaWVyXShXZWJDb3JlOjpQb2xpY3lBY3Rpb24gcG9saWN5QWN0aW9u
KSB7CiAjaWYgIUxPR19ESVNBQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRhVGFza1NvdXAuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRhVGFza1NvdXAuY3BwCmluZGV4IDQ1NzgwNzYwNWQ3
ODFiZTMzNDg5NzM1Nzg0OWYwMGY0YzBmNWFiNWEuLmNhZTZmNmZlNzk3MjM0YWM1YzljMDQzMjgw
ZTkyNzg2MGI4YTgwODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
c291cC9OZXR3b3JrRGF0YVRhc2tTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL3NvdXAvTmV0d29ya0RhdGFUYXNrU291cC5jcHAKQEAgLTg2MSw4ICs4NjEsOCBAQCB2
b2lkIE5ldHdvcmtEYXRhVGFza1NvdXA6OmNvbnRpbnVlSFRUUFJlZGlyZWN0aW9uKCkKICAgICAg
ICAgcmVkaXJlY3RlZFVSTC5zZXRGcmFnbWVudElkZW50aWZpZXIocmVxdWVzdC51cmwoKS5mcmFn
bWVudElkZW50aWZpZXIoKSk7CiAgICAgcmVxdWVzdC5zZXRVUkwocmVkaXJlY3RlZFVSTCk7CiAK
LSAgICAvLyBDaGVjayBpZiB0aGUgcmVkaXJlY3RlZCB1cmwgaXMgYWxsb3dlZCB0byBhY2Nlc3Mg
dGhlIHJlZGlyZWN0aW5nIHVybCdzIHRpbWluZyBpbmZvcm1hdGlvbi4KLSAgICBtX25ldHdvcmtM
b2FkTWV0cmljcy5oYXNDcm9zc09yaWdpblJlZGlyZWN0ID0gIVNlY3VyaXR5T3JpZ2luOjpjcmVh
dGUobV9jdXJyZW50UmVxdWVzdC51cmwoKSktPmNhblJlcXVlc3QocmVxdWVzdC51cmwoKSk7Cisg
ICAgLy8gRklYTUU6IENoZWNrIGlmIHRoZSByZWRpcmVjdGVkIHVybCBpcyBhbGxvd2VkIHRvIGFj
Y2VzcyB0aGUgcmVkaXJlY3RpbmcgdXJsJ3MgdGltaW5nIGluZm9ybWF0aW9uLgorICAgIC8vIFRo
aXMgd2FzIGRvbmUgb24gQ29jb2EgcGxhdGZvcm1zIGluIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjY2NzgKIAogICAgIC8vIENsZWFyIHRoZSB1c2VyIGFnZW50IHRv
IGVuc3VyZSBhIG5ldyBvbmUgaXMgY29tcHV0ZWQuCiAgICAgYXV0byB1c2VyQWdlbnQgPSByZXF1
ZXN0Lmh0dHBVc2VyQWdlbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvV2Vi
Q29yZVN1cHBvcnQvUGluZ0hhbmRsZS5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9XZWJDb3JlU3Vw
cG9ydC9QaW5nSGFuZGxlLmgKaW5kZXggMDkyOWNlZjk3ODljMGNjZjExYTNlOTQxMGY1ZGU2ZmZj
YWZlYmE2MC4uNDJiNzVjMWY4N2E1NWY3MjY5NjJjMTQ3NGFiYmU2N2RiNGQzYjVjZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9XZWJDb3JlU3VwcG9ydC9QaW5nSGFuZGxlLmgKKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS9XZWJDb3JlU3VwcG9ydC9QaW5nSGFuZGxlLmgKQEAgLTUw
LDcgKzUwLDcgQEAgcHVibGljOgogICAgICAgICBib29sIGRlZmVyc0xvYWRpbmcgPSBmYWxzZTsK
ICAgICAgICAgYm9vbCBzaG91bGRDb250ZW50U25pZmYgPSBmYWxzZTsKICAgICAgICAgYm9vbCBz
aG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiA9IHRydWU7Ci0gICAgICAgIG1faGFuZGxlID0gV2Vi
Q29yZTo6UmVzb3VyY2VIYW5kbGU6OmNyZWF0ZShuZXR3b3JraW5nQ29udGV4dCwgcmVxdWVzdCwg
dGhpcywgZGVmZXJzTG9hZGluZywgc2hvdWxkQ29udGVudFNuaWZmLCBzaG91bGRDb250ZW50RW5j
b2RpbmdTbmlmZik7CisgICAgICAgIG1faGFuZGxlID0gV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6
OmNyZWF0ZShuZXR3b3JraW5nQ29udGV4dCwgcmVxdWVzdCwgdGhpcywgZGVmZXJzTG9hZGluZywg
c2hvdWxkQ29udGVudFNuaWZmLCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwgbnVsbHB0cik7
CiAKICAgICAgICAgLy8gSWYgdGhlIHNlcnZlciBuZXZlciByZXNwb25kcywgdGhpcyBvYmplY3Qg
d2lsbCBoYW5nIGFyb3VuZCBmb3JldmVyLgogICAgICAgICAvLyBTZXQgYSB2ZXJ5IGdlbmVyb3Vz
IHRpbWVvdXQsIGp1c3QgaW4gY2FzZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
V2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcAppbmRl
eCA5MWM4M2EwNDNmMjczNWE5NzA0NmYxZDMyMzhmMGVmYWFmM2I2MzdlLi43ZGNmZTBiODc5Y2E4
NTQ1Njk2ODM3ZWVjN2NhODkwZjk5OGE5OTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAKKysrIGIvU291
cmNlL1dlYktpdExlZ2FjeS9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIu
Y3BwCkBAIC0xMDksNyArMTA5LDkgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXI6Omxv
YWRSZXNvdXJjZShGcmFtZSYgZnJhbWUsIENhY2hlZFJlc291cmNlJiByZXNvdXIKIAogdm9pZCBX
ZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoRnJhbWVM
b2FkZXImIGZyYW1lTG9hZGVyLCB1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIENsaWVudENyZWRlbnRpYWxQb2xpY3ksIGNvbnN0IEZldGNoT3B0aW9ucyYgb3B0
aW9ucywgY29uc3QgSFRUUEhlYWRlck1hcCYsIFJlc291cmNlRXJyb3ImIGVycm9yLCBSZXNvdXJj
ZVJlc3BvbnNlJiByZXNwb25zZSwgVmVjdG9yPHVpbnQ4X3Q+JiBkYXRhKQogewotICAgIFJlc291
cmNlSGFuZGxlOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KGZyYW1lTG9hZGVyLm5ldHdvcmtp
bmdDb250ZXh0KCksIHJlcXVlc3QsIG9wdGlvbnMuY3JlZGVudGlhbHMgPT0gRmV0Y2hPcHRpb25z
OjpDcmVkZW50aWFsczo6T21pdCA/IFN0b3JlZENyZWRlbnRpYWxzUG9saWN5OjpEb05vdFVzZSA6
IFN0b3JlZENyZWRlbnRpYWxzUG9saWN5OjpVc2UsIGVycm9yLCByZXNwb25zZSwgZGF0YSk7Cisg
ICAgYXV0byogZG9jdW1lbnQgPSBmcmFtZUxvYWRlci5mcmFtZSgpLmRvY3VtZW50KCk7CisgICAg
YXV0byogc291cmNlT3JpZ2luID0gZG9jdW1lbnQgPyAmZG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2lu
KCkgOiBudWxscHRyOworICAgIFJlc291cmNlSGFuZGxlOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91
c2x5KGZyYW1lTG9hZGVyLm5ldHdvcmtpbmdDb250ZXh0KCksIHJlcXVlc3QsIG9wdGlvbnMuY3Jl
ZGVudGlhbHMgPT0gRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFsczo6T21pdCA/IFN0b3JlZENyZWRl
bnRpYWxzUG9saWN5OjpEb05vdFVzZSA6IFN0b3JlZENyZWRlbnRpYWxzUG9saWN5OjpVc2UsIHNv
dXJjZU9yaWdpbiwgZXJyb3IsIHJlc3BvbnNlLCBkYXRhKTsKIH0KIAogdm9pZCBXZWJSZXNvdXJj
ZUxvYWRTY2hlZHVsZXI6OnBhZ2VMb2FkQ29tcGxldGVkKFBhZ2UmKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNkMWFlM2Jj
MDBjZTQ5ZTdiNGIxMzc4MjhhMmU4NWMwZTNhMDIyNDguLjUwNjFkZjM3ZjE2ZmFhOGQwNWEwMzQ0
OTgyMjVlODhmOTBkYTg5NDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0wNi0wNCAgQWxl
eCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUg
VGltaW5nLUFsbG93LU9yaWdpbiBjaGVja3MgdG8gdGhlIG5ldHdvcmsgcHJvY2VzcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2Njc4CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS80NTIyNzc4OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDYtMDQgIEFs
ZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBJbXBs
ZW1lbnQgb2ZmLWJ5LWRlZmF1bHQgZXhwZXJpbWVudGFsIGZlYXR1cmUgZm9yIFBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcudHJhbnNmZXJTaXplLCBlbmNvZGVkQm9keVNpemUsIGFuZCBkZWNvZGVk
Qm9keVNpemUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGRkY2E4YzI2MTRmMWJj
ZDZhNWJlNzdkZjc2MzdjMmQwNDQ4ZWI5MmQuLjlkYmQzM2EyMzEyODBhMWQ2NGU5OTU5YWJhMDA5
N2RmNDU4YTMxMGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
NiBAQAorMjAyMS0wNi0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQu
b3JnPgorCisgICAgICAgIE1vdmUgVGltaW5nLUFsbG93LU9yaWdpbiBjaGVja3MgdG8gdGhlIG5l
dHdvcmsgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI2Njc4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NTIyNzc4OD4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvQ29kaW5nQ29udmVudGlvbnMubWQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU08tWE8tU08tcmVkaXJlY3Qt
Y2hhaW4tdGFvLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9TTy1YTy1TTy1yZWRpcmVjdC1jaGFpbi10YW8uaHR0
cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9TeW50aGV0aWNSZXNwb25zZS5weToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW1hdGNoLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8t
bWF0Y2guaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9UQU8tbnVsbC1vcGFxdWUtb3JpZ2luLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbnVsbC1vcGFxdWUt
b3JpZ2luLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvVEFPLXBvcnQtbWlzbWF0Y2gtbWVhbnMtY3Jvc3NvcmlnaW4tZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RB
Ty1wb3J0LW1pc21hdGNoLW1lYW5zLWNyb3Nzb3JpZ2luLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvX19pbml0X18ucHk6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwt
YWRkLWFmdGVyLWZ1bGwtZXZlbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWFmdGVyLWZ1bGwtZXZlbnQu
aHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZl
ci1mdWxsLWFkZC1lbnRyaWVzLWR1cmluZy1jYWxsYmFjay1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtZW50
cmllcy1kdXJpbmctY2FsbGJhY2stdGhhdC1kcm9wLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtZW50cmllcy1kdXJpbmct
Y2FsbGJhY2suaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL2J1ZmZlci1mdWxsLWFkZC10aGVuLWNsZWFyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFkZC10aGVuLWNs
ZWFyLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9i
dWZmZXItZnVsbC1kZWNyZWFzZS1idWZmZXItZHVyaW5nLWNhbGxiYWNrLmh0bWw6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbmNyZWFz
ZS1idWZmZXItZHVyaW5nLWNhbGxiYWNrLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluY3JlYXNlLWJ1ZmZlci1k
dXJpbmctY2FsbGJhY2suaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2J1ZmZlci1mdWxsLWluc3BlY3QtYnVmZmVyLWR1cmluZy1jYWxsYmFjay1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9i
dWZmZXItZnVsbC1pbnNwZWN0LWJ1ZmZlci1kdXJpbmctY2FsbGJhY2suaHRtbDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXNldC10by1j
dXJyZW50LWJ1ZmZlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zZXQtdG8tY3VycmVudC1idWZmZXIuaHRtbDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxs
LXN0b3JlLWFuZC1jbGVhci1kdXJpbmctY2FsbGJhY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc3RvcmUtYW5k
LWNsZWFyLWR1cmluZy1jYWxsYmFjay5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1
bGwtdGhlbi1pbmNyZWFzZWQuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXdoZW4tcG9wdWxhdGUtZW50cmllcy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXIt
ZnVsbC13aGVuLXBvcHVsYXRlLWVudHJpZXMuaHRtbDoKKyAgICAgICAgQWxsIHRoZXNlIGJ1ZmZl
ci1mdWxsIHRlc3RzIHN0YXJ0IGZhaWxpbmcgd2hlbiBJIHVwZGF0ZSB0aGVtLgorICAgICAgICBU
aGF0IGlzIGFuIHVucmVsYXRlZCBidWcuICBGaXJlZm94IGhhcyB0aGUgc2FtZSBidWcsIGFuZCB3
ZSBoYWQgdGhlIHNhbWUgYnVnIGJlZm9yZSBhbmQgYWZ0ZXIgdGhpcyBjaGFuZ2UuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0aW9uLXJldXNlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9jb25uZWN0aW9uLXJldXNlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1yZXVzZS5odHRwcy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvY29ubmVjdGlvbi1yZXVzZS5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1zdGFydC1lbmQtdGltZS13
aXRoLXJlZGlyZWN0cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mtb3JpZ2luLXN0YXJ0LWVuZC10aW1lLXdpdGgt
cmVkaXJlY3RzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvY3Jvc3Mtb3JpZ2luLXN0YXR1cy1jb2Rlcy5odG1sOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFj
dC1vcGVuZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3Qtb3BlbmVyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZW50
cnktYXR0cmlidXRlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZW50cnktYXR0cmlidXRlcy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZldGNoLWNyb3NzLW9y
aWdpbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZmV0Y2gtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0
Lmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvZm9udC10aW1lc3RhbXBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mb250LXRpbWVzdGFtcHMuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9pZnJh
bWUtZmFpbGVkLWNvbW1pdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaWZyYW1lLWZhaWxlZC1jb21taXQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9pbml0aWF0
b3ItdHlwZS1mb3Itc2NyaXB0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9pbml0aWF0b3ItdHlwZS1mb3Itc2NyaXB0Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
bmV4dEhvcFByb3RvY29sLWlzLXRhby1wcm90ZWN0ZWQuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL25leHRIb3BQ
cm90b2NvbC1pcy10YW8tcHJvdGVjdGVkLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1U
QU8tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVy
LVRBTy1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLWNyb3Nz
LW9yaWdpbi1yZWRpcmVjdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1jcm9zcy1v
cmlnaW4tcmVkaXJlY3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9yZWRpcmVjdHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3JlZGlyZWN0cy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
LWlnbm9yZS1kYXRhLXVybC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2UtaWdub3JlLWRhdGEtdXJsLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVz
b3VyY2VfVEFPX2Nyb3NzX29yaWdpbl9yZWRpcmVjdF9jaGFpbi1leHBlY3RlZC50eHQ6CisgICAg
ICAgIFRoaXMgYXBwYXJlbnQgcmVncmVzc2lvbiBpcyBhY3R1YWxseSBhIHByb2dyZXNzaW9uLgor
ICAgICAgICBXaGVuIHRoaXMgdGVzdCBpcyBydW4gZnJvbSBvdXIgdGVzdCBpbmZyYXN0cnVjdHVy
ZSwgQ2hyb21lIGFuZCBGaXJlZm94IGZhaWwgdGhlIHNhbWUgdGVzdHMgdGhhdCB5b3Ugc2VlIG5v
dyBmYWlsaW5nIGhlcmUsCisgICAgICAgIGluZGljYXRpbmcgdGhhdCBzb21ldGhpbmcgaXMgd3Jv
bmcgd2l0aCBvdXIgdGVzdCBpbmZyYXN0cnVjdHVyZS4gIFdoZW4gcnVuIG9uIHdwdC5saXZlLCBh
bGwgYnJvd3NlcnMgcGFzcyB0aGlzIHRlc3QKKyAgICAgICAgYWZ0ZXIgdGhpcyBjaGFuZ2UuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9jYWNo
ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZV9pbml0aWF0b3JfdHlwZXMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX25lc3RlZF9kZWRpY2F0ZWRfd29ya2Vy
Lndvcmtlci5qczoKKyAgICAgICAgKGFzeW5jX3Rlc3QpOgorICAgICAgICAoYXN5bmNfdGVzdC5h
c3luYyBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZV90aW1pbmdfY29udGVudF9sZW5ndGgtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlX3RpbWluZ19jb250ZW50X2xlbmd0aC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy8yMDBfZW1wdHkuYXNpczogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZXMvVEFPUmVzcG9uc2UucHk6CisgICAgICAgIChtYWluKToKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9hbGxfcmVzb3VyY2VfdHlwZXMuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzOgorICAgICAgICAoY29uc3Qud2FpdEZv
ck5leHRUYXNrKToKKyAgICAgICAgKGNvbnN0LmZvcmNlQnVmZmVyRnVsbEV2ZW50LmFzeW5jIGNs
ZWFyQnVmZmVyQW5kU2V0U2l6ZSk6CisgICAgICAgIChjb25zdC5mb3JjZUJ1ZmZlckZ1bGxFdmVu
dCk6CisgICAgICAgIChjb25zdC5maWxsVXBUaGVCdWZmZXJXaXRoVHdvUmVzb3VyY2VzLmFzeW5j
IGNsZWFyQnVmZmVyQW5kU2V0U2l6ZSk6CisgICAgICAgIChhc3luYyBjb25zdC5maWxsVXBUaGVC
dWZmZXJXaXRoU2luZ2xlUmVzb3VyY2UuYXN5bmMgY2xlYXJCdWZmZXJBbmRTZXRTaXplKToKKyAg
ICAgICAgKGFzeW5jIGNvbnN0KToKKyAgICAgICAgKGxldC5hcHBlbmRTY3JpcHQpOiBEZWxldGVk
LgorICAgICAgICAobGV0LndhaXRGb3JOZXh0VGFzayk6IERlbGV0ZWQuCisgICAgICAgIChsZXQu
d2FpdFVudGlsQ29uZGl0aW9uSXNNZXQuY29uZC5yZXR1cm4ubmV3LlByb21pc2UucmVzb2x2ZS5s
ZXQuY2hlY2tDb25kaXRpb24pOiBEZWxldGVkLgorICAgICAgICAobGV0LndhaXRGb3JFdmVudFRv
RmlyZS5yZXR1cm4ubmV3LlByb21pc2UpOiBEZWxldGVkLgorICAgICAgICAobGV0LndhaXRGb3JF
dmVudFRvRmlyZSk6IERlbGV0ZWQuCisgICAgICAgIChsZXQuZmlsbFVwVGhlQnVmZmVyV2l0aFR3
b1Jlc291cmNlcy5hc3luYyBzcmMpOiBEZWxldGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NhY2hlYWJsZS1hbmQtdmFsaWRhdGVkLnB5
OiBBZGRlZC4KKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2Nvbm5lY3Rpb24tcmV1c2UtdGVzdC5qczogQWRkZWQu
CisgICAgICAgIChhdHRyaWJ1dGVfdGVzdC5hc3luYyBjbGllbnQpOgorICAgICAgICAoYXR0cmli
dXRlX3Rlc3QpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL2NzcC1kZWZhdWx0LW5vbmUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvY3NwLWRlZmF1bHQtbm9uZS5o
dG1sLmhlYWRlcnM6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvcmVzb3VyY2VzL2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3QuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMv
ZG9jdW1lbnQtcmVmcmVzaGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2RvY3VtZW50LXRoYXQtcmVmcmVzaGVzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL2VtYmVkLXJlZnJlc2guaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4tZnJhbWUuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZXMvZ3JlZW4uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4uaHRtbC5oZWFkZXJzOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9nemlwX3htbC5w
eToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
cy9pZnJhbWUtcmVmcmVzaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9pZnJhbWUtcmVsb2FkLVRBTy5zdWIuaHRtbDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9t
dWx0aV9yZWRpcmVjdC5weToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL29iamVjdC1yZWZyZXNoLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2VzL3JlZGlyZWN0LWNvcnMucHk6IEFkZGVkLgorICAgICAgICAobWFpbik6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVzb3VyY2UtdGlt
aW5nLWNvbnRlbnQtbGVuZ3RoLnB5OiBBZGRlZC4KKyAgICAgICAgKG1haW4pOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3Jlc291cmNlX3Rp
bWluZ190ZXN0MC54bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvc2l6ZXMtaGVscGVyLmpzOiBBZGRlZC4KKyAgICAgICAgKGNvbnN0LmNo
ZWNrU2l6ZUZpZWxkcyk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvc3RhdHVzLWNvZGUucHk6CisgICAgICAgIChtYWluKToKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy93ZWJwZXJmdGVz
dGhhcm5lc3MuanM6CisgICAgICAgICh0ZXN0X25hbWVzcGFjZSk6CisgICAgICAgICh0ZXN0X2F0
dHJpYnV0ZV9leGlzdHMpOgorICAgICAgICAodGVzdF9lbnVtKToKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3Nl
eHRlbnNpb24uanM6CisgICAgICAgICh0ZXN0X21ldGhvZF9leGlzdHMpOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2FtZS1vcmlnaW4tZnJvbS1jcm9zcy1v
cmlnaW4tcmVkaXJlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NhbWUtb3JpZ2luLWZyb20tY3Jvc3Mtb3JpZ2luLXJl
ZGlyZWN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvc2l6ZXMtY2FjaGUuYW55LmpzOiBBZGRlZC4KKyAgICAgICAgKGNvbnN0LmFjY3Vt
dWxhdGVFbnRyaWVzKToKKyAgICAgICAgKGNvbnN0LmNoZWNrUmVzb3VyY2VTaXplcy5saXN0Lmxl
dC5lbnRyeS5vZi5lbnRyaWVzLmVsc2UpOgorICAgICAgICAocHJvbWlzZV90ZXN0KToKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLXJlZGlyZWN0LWlt
Zy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3QtaW1nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3QuYW55LmpzOiBB
ZGRlZC4KKyAgICAgICAgKGNvbnN0LmFjY3VtdWxhdGVFbnRyeSk6CisgICAgICAgIChjb25zdC5j
aGVja1Jlc291cmNlU2l6ZXMpOgorICAgICAgICAoY29uc3QucmVkaXJlY3RVcmwpOgorICAgICAg
ICAocHJvbWlzZV90ZXN0KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL3N0YXR1cy1jb2Rlcy1jcmVhdGUtZW50cnkuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Rlc3RfcmVzb3VyY2VfdGltaW5nLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Rlc3Rf
cmVzb3VyY2VfdGltaW5nLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3dvcmtlclN0YXJ0LXRhby1wcm90ZWN0ZWQuaHR0cHMu
aHRtbDoKKwogMjAyMS0wNi0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJr
aXQub3JnPgogCiAgICAgICAgIEltcGxlbWVudCBvZmYtYnktZGVmYXVsdCBleHBlcmltZW50YWwg
ZmVhdHVyZSBmb3IgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy50cmFuc2ZlclNpemUsIGVuY29k
ZWRCb2R5U2l6ZSwgYW5kIGRlY29kZWRCb2R5U2l6ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZmY3
Y2Y4ZjdjYjg5NjdkODk4ZWE3MDZmYmYzYzAzMTlhMjhhNTk1Ny4uYzNhNmIyMTVjZGM2OTJlY2I5
ZWZiMGUxODUyODdkMmRlNjQ2M2EyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC05MzEsNiArOTMx
LDkgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9ldmVudHNvdXJjZS9yZXF1ZXN0
LWNyZWRlbnRpYWxzLmh0bSBbIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYWNhcHR1cmUtZnJvbWVsZW1lbnQvY2FwdHVyZS5odG1sIFsgRmFpbHVyZSBdCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1mcm9tZWxlbWVudC9l
bmRlZC5odG1sIFsgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21l
ZGlhY2FwdHVyZS1mcm9tZWxlbWVudC9jcmVhdGlvbi5odG1sIFsgUGFzcyBGYWlsdXJlIF0KK2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZvbnQtdGltZXN0
YW1wcy5odG1sIFsgRmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9TTy1YTy1TTy1yZWRpcmVjdC1jaGFpbi10YW8uaHR0cHMuaHRtbCBbIEZh
aWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VfVEFPX2Nyb3NzX29yaWdpbl9yZWRpcmVjdF9jaGFpbi5odG1sIFsgRmFpbHVyZSBd
CiB3ZWJraXQub3JnL2IvMTgwMjQwIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3NpbmdsZS1lbnRyeS1wZXItcmVzb3VyY2UuaHRtbCBbIFBhc3MgRmFpbHVy
ZSBdCiB3ZWJraXQub3JnL2IvMTg5OTA2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX3RpbWluZ19idWZmZXJfZnVsbF9ldmVudHVhbGx5Lmh0
bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3Jlc291cmNlLXJlbG9hZC1UQU8uc3ViLmh0bWwgWyBTa2lwIF0KQEAgLTEzODMsMTggKzEz
ODYsMTYgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1yZWRpcmVj
dC1ib2d1cy5odG0gWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMveGhy
L3NlbmQtcmVkaXJlY3QtdG8tY29ycy5odG0gWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMveGhyL3NlbmQtcmVkaXJlY3QtdG8tbm9uLWNvcnMuaHRtIFsgU2tpcCBdCiAK
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Rlc3RfcmVz
b3VyY2VfdGltaW5nLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90aW1pbmcuaHR0cHMuaHRt
bCBbIFBhc3MgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtZW50cmllcy1kdXJpbmctY2FsbGJhY2stdGhhdC1k
cm9wLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2J1ZmZlci1mdWxsLWRlY3JlYXNlLWJ1ZmZlci1kdXJpbmctY2FsbGJhY2suaHRt
bCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvYnVmZmVyLWZ1bGwtaW5jcmVhc2UtYnVmZmVyLWR1cmluZy1jYWxsYmFjay5odG1sIFsgU2tp
cCBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZm
ZXItZnVsbC1hZGQtZW50cmllcy1kdXJpbmctY2FsbGJhY2suaHRtbCBbIFNraXAgXQogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mtb3JpZ2luLXN0
YXR1cy1jb2Rlcy5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9uZXN0ZWQtY29udGV4dC1uYXZpZ2F0aW9ucy1lbWJlZC5odG1sIFsg
U2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9u
ZXN0ZWQtY29udGV4dC1uYXZpZ2F0aW9ucy1pZnJhbWUuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvbmVzdGVkLWNvbnRleHQtbmF2
aWdhdGlvbnMtb2JqZWN0Lmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX25lc3RlZF9kZWRpY2F0ZWRfd29ya2VyLndv
cmtlci5odG1sIFsgU2tpcCBdCiAKLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlX2Nvbm5lY3Rpb25fcmV1c2UuaHRtbCBbIEZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vf
Y29ubmVjdGlvbl9yZXVzZS5odHRwcy5odG1sIFsgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9yZXBhcmVudGluZy5odG1s
IFsgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8xNjgzNTcgaHR0cC93cHQvcmVzb3VyY2UtdGlt
aW5nL3J0LWluaXRpYXRvclR5cGUtbWVkaWEuaHRtbCBbIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvQ29kaW5nQ29udmVudGlvbnMubWQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9Db2RpbmdDb252ZW50aW9ucy5tZApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zOWI4ZDEzNDM1ZWY0OTkxOTUzM2VmNzQ5NzMyNmRhYzA2YmY5NjRiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvQ29kaW5nQ29udmVudGlvbnMubWQKQEAgLTAsMCArMSw3NyBAQAorRm9yIFtS
ZXNvdXJjZSBUaW1pbmddWzFdIHRlc3RzLCB3ZSB3YW50IHRvIGhhdmUgYSBjb25zaXN0ZW50IGFu
ZCBjbGVhciBjb2RpbmcKK3N0eWxlLiBUaGUgZ29hbHMgb2YgdGhpcyBzdHlsZSBhcmUgdG86Cisq
ICAgTWFrZSBpdCBlYXNpZXIgZm9yIG5ldyBjb250cmlidXRvcnMgdG8gZmluZCB0aGVpciB3YXkg
YXJvdW5kCisqICAgSGVscCBpbXByb3ZlIHJlYWRhYmlsaXR5IGFuZCBtYWludGFpbmFiaWxpdHkK
KyogICBIZWxwIHVzIHVuZGVyc3RhbmQgd2hpY2ggcGFydHMgb2YgdGhlIHNwZWMgYXJlIHRlc3Rl
ZCBvciBub3QKK0xvdHMgb2YgdGhlIGZvbGxvd2luZyBydWxlcyBhcmUgYXJiaXRyYXJ5IGJ1dCB0
aGUgdmFsdWUgaXMgcmVhbGl6ZWQgaW4KK2NvbnNpc3RlbmN5IGluc3RlYWQgb2YgYWRoZXJpbmcg
dG8gdGhlICdwZXJmZWN0JyBzdHlsZS4KKworV2Ugd2FudCB0aGUgdGVzdCBzdWl0ZSB0byBiZSBu
YXZpZ2FibGUuIERldmVsb3BlcnMgc2hvdWxkIGJlIGFibGUgdG8gZWFzaWx5CitmaW5kIHRoZSBm
aWxlIG9yIHRlc3QgdGhhdCBpcyByZWxldmFudCB0byB0aGVpciB3b3JrLgorKiAgIFRlc3RzIHNo
b3VsZCBiZSBhcnJhbmdlZCBpbiBmaWxlcyBhY2NvcmRpbmcgdG8gd2hpY2ggcGllY2Ugb2YgdGhl
IHNwZWMgdGhleQorICAgIHRlc3QKKyogICBGaWxlcyBzaG91bGQgYmUgbmFtZWQgdXNpbmcgYSBj
b25zaXN0ZW50IHBhdHRlcm4KKyogICBIVE1MIGZpbGVzIHNob3VsZCBpbmNsdWRlIHVzZWZ1bCBt
ZXRhIHRhZ3MKKyAgICAqICAgYDx0aXRsZT5gIGZvciBjb250cm9sbGluZyBsYWJlbHMgaW4gcmVz
dWx0cyBwYWdlcworICAgICogICBgPGxpbmsgcmVsPSJoZWxwIj5gIHRvIHBvaW50IGF0IHRoZSBy
ZWxldmFudCBwaWVjZSBvZiB0aGUgc3BlYworCitXZSB3YW50IHRoZSB0ZXN0IHN1aXRlIHRvIHJ1
biBjb25zaXN0ZW50bHkuIEZsYWt5IHRlc3RzIGFyZSBjb3VudGVycHJvZHVjdGl2ZS4KKyogICBQ
cmVmZXIgYHByb21pc2VfdGVzdGAgdG8gYGFzeW5jX3Rlc3RgCisgICAgKiAgIE5vdGUgdGhhdCB0
aGVyZeKAmXMgW3N0aWxsIHBvdGVudGlhbCBmb3Igc29tZSBjb25jdXJyZW5jeV1bMl07IHVzZQor
ICAgICAgICBgYWRkX2NsZWFudXAoKWAgaWYgbmVlZGVkCisKK1dlIHdhbnQgdGhlIHRlc3RzIHRv
IGJlIHJlYWRhYmxlLiBUZXN0cyBzaG91bGQgYmUgd3JpdHRlbiBpbiBhIG1vZGVybiBzdHlsZQor
d2l0aCByZWN1cnJpbmcgcGF0dGVybnMuCisqICAgODAgY2hhcmFjdGVyIGxpbmUgbGltaXRzIHdo
ZXJlIHdlIGNhbgorKiAgIENvbnNpc3RlbnQgdXNlIG9mIGFub255bW91cyBmdW5jdGlvbnMKKyAg
ICAqICAgcHJlZmVyCisgICAgICAgIGBgYAorICAgICAgICBjb25zdCBmdW5jMSA9IHBhcmFtMSA9
PiB7CisgICAgICAgICAgYm9keSgpOworICAgICAgICB9CisgICAgICAgIGNvbnN0IGZ1bmMyID0g
KHBhcmFtMSwgcGFyYW0yKSA9PiB7CisgICAgICAgICAgYm9keSgpOworICAgICAgICB9CisgICAg
ICAgIGZuKHBhcmFtID0+IHsKKyAgICAgICAgICAgIGJvZHkoKTsKKyAgICAgICAgfSk7CisgICAg
ICAgIGBgYAorCisgICAgICAgIG92ZXIKKworICAgICAgICBgYGAKKyAgICAgICAgZnVuY3Rpb24g
ZnVuYzEocGFyYW0xKSB7CisgICAgICAgICAgYm9keSgpOworICAgICAgICB9CisgICAgICAgIGZ1
bmN0aW9uIGZ1bmMyKHBhcmFtMSwgcGFyYW0yKSB7CisgICAgICAgICAgYm9keSgpOworICAgICAg
ICB9CisgICAgICAgIGZuKGZ1bmN0aW9uKHBhcmFtKSB7CisgICAgICAgICAgICBib2R5KCk7Cisg
ICAgICAgIH0pOworICAgICAgICBgYGAKKworKiAgIFByZWZlciBgY29uc3RgIChvciwgaWYgbmVl
ZGVkLCBgbGV0YCkgdG8gYHZhcmAKKyogICBDb250YWluIHVzZSBvZiDigJguc3Vi4oCZIGluIGZp
bGVuYW1lcyB0byBrbm93biBoZWxwZXIgdXRpbGl0aWVzIHdoZXJlIHBvc3NpYmxlCisgICAgKiAg
IEUuZy4gcHJlZmVyIHVzZSBvZiBnZXQtaG9zdC1pbmZvLnN1Yi5qcyB0byBge3tob3N0fX1gIG9y
IGB7e3BvcnRzWzBdfX1gCisgICAgICAgIGV4cHJlc3Npb25zCisqICAgQXZvaWQgdXNlIG9mIHdl
YnBlcmZ0ZXN0aGFybmVzc1tleHRlbnNpb25dLmpzIGFzIGl04oCZcyBhIGxheWVyIG9mIGNvZ25p
dGl2ZQorICAgIG92ZXJoZWFkIGJldHdlZW4gdGVzdCBjb250ZW50IGFuZCB0ZXN0IGludGVudAor
ICAgICogICBIZWxwZXIgLmpzIGZpbGVzIGFyZSBzdGlsbCBlbmNvdXJhZ2VkIHdoZXJlIGl0IG1h
a2VzIHNlbnNlIGJ1dCB3ZSB3YW50CisgICAgICAgIHRvIGF2b2lkIGEgdGVzdGluZyBmcmFtZXdv
cmsgdGhhdCBpcyBzcGVjaWZpYyB0byBSZXNvdXJjZSBUaW1pbmcgKG9yCisgICAgICAgIHdlYiBw
ZXJmb3JtYW5jZSBBUElzLCBpbiBnZW5lcmFsKS4KKyogICBQcmVmZXIgW2BmZXRjaF90ZXN0c19m
cm9tX3dpbmRvd2BdWzNdIHRvIGNvbGxlY3QgdGVzdCByZXN1bHRzIGZyb20gZW1iZWRkZWQKKyAg
ICBpZnJhbWVzIGluc3RlYWQgb2YgaGFuZC1yb2xsZWQgYHBvc3RNZXNzYWdlYCBhcHByb2FjaGVz
CisqICAgVXNlIHRoZSBbYGFzc2VydF8qYF1bNF0gZmFtaWx5IG9mIGZ1bmN0aW9ucyB0byBjaGVj
ayBjb25mb3JtYW5jZSB0byB0aGUgc3BlYworICAgIGJ1dCB0aHJvdyBleGNlcHRpb25zIGV4cGxp
Y2l0bHkgd2hlbiB0aGUgdGVzdCBpdHNlbGYgaXMgYnJva2VuLgorICAgICogICAgQSBmYWlsZWQg
YXNzZXJ0IGluZGljYXRlcyAidGhlIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgY29uZm9ybSB0byB0
aGUKKyAgICAgICAgIHNwZWMiCisgICAgKiAgICBPdGhlciB1bmNhdWdodCBleGNlcHRpb25zIGlu
ZGljYXRlICJ0aGUgdGVzdCBjYXNlIGl0c2VsZiBoYXMgYSBidWciCisqICAgV2hlcmUgcG9zc2li
bGUsIHdlIHdhbnQgdGVzdHMgdG8gYmUgc2NhbGFibGUgLSBhZGRpbmcgYW5vdGhlciB0ZXN0IGNh
c2UKKyAgICBzaG91bGQgYmUgYXMgc2ltcGxlIGFzIGNhbGxpbmcgdGhlIHRlc3RzIHdpdGggbmV3
IHBhcmFtZXRlcnMsIHJhdGhlciB0aGFuCisgICAgY29weWluZyBhbiBleGlzdGluZyB0ZXN0IGFu
ZCBtb2RpZnlpbmcgaXQuCisKK1sxXTogaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRp
bWluZy0yLworWzJdOiBodHRwczovL3dlYi1wbGF0Zm9ybS10ZXN0cy5vcmcvd3JpdGluZy10ZXN0
cy90ZXN0aGFybmVzcy1hcGkuaHRtbCNwcm9taXNlLXRlc3RzCitbM106IGh0dHBzOi8vd2ViLXBs
YXRmb3JtLXRlc3RzLm9yZy93cml0aW5nLXRlc3RzL3Rlc3RoYXJuZXNzLWFwaS5odG1sI2NvbnNv
bGlkYXRpbmctdGVzdHMtZnJvbS1vdGhlci1kb2N1bWVudHMKK1s0XTogaHR0cHM6Ly93ZWItcGxh
dGZvcm0tdGVzdHMub3JnL3dyaXRpbmctdGVzdHMvdGVzdGhhcm5lc3MtYXBpLmh0bWwjbGlzdC1v
Zi1hc3NlcnRpb25zCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9TTy1YTy1TTy1yZWRpcmVjdC1jaGFpbi10YW8u
aHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU08tWE8tU08tcmVkaXJlY3QtY2hhaW4tdGFvLmh0dHBz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZjhkMjkwM2Q1MTA1NjUwZWE5Y2Y1Nzc0M2NhMTIy
ZTI3NzFhNjQ3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU08tWE8tU08tcmVkaXJlY3QtY2hhaW4t
dGFvLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYgQEAKKworRkFJTCBWZXJpZnkgdGhh
dCBjcm9zcyBvcmlnaW4gcmVzb3VyY2VzJyB0aW1pbmdzIGFyZSBub3QgZXhwb3NlZCB3aGVuIHNh
bWUtb3JpZ2luPT5jcm9zcy1vcmlnaW49PnNhbWUtb3JpZ2luIHJlZGlyZWN0cyBoYXZlIG5vIGBU
aW1pbmctQWxsb3ctT3JpZ2luOmAgaGVhZGVycy4gYXNzZXJ0X2VxdWFsczogZG9tYWluTG9va3Vw
U3RhcnQgc2hvdWxkIGJlIDAgZXhwZWN0ZWQgMCBidXQgZ290IDxub25kZXRlcm1pbmlzdGljIHRl
c3Qgb3V0cHV0PgorRkFJTCBWZXJpZnkgdGhhdCBjcm9zcyBvcmlnaW4gcmVzb3VyY2VzJyB0aW1p
bmdzIGFyZSBub3QgZXhwb3NlZCB3aGVuIHNhbWUtb3JpZ2luPT5jcm9zcy1vcmlnaW49PnNhbWUt
b3JpZ2luIHJlZGlyZWN0cyBoYXZlIGBUaW1pbmctQWxsb3ctT3JpZ2luOmAgaGVhZGVycyBvbmx5
IG9uIHNvbWUgb2YgdGhlIHJlc3BvbnNlcy4gYXNzZXJ0X2VxdWFsczogZG9tYWluTG9va3VwU3Rh
cnQgc2hvdWxkIGJlIDAgZXhwZWN0ZWQgMCBidXQgZ290IDxub25kZXRlcm1pbmlzdGljIHRlc3Qg
b3V0cHV0PgorRkFJTCBWZXJpZnkgdGhhdCBjcm9zcyBvcmlnaW4gcmVzb3VyY2VzJyB0aW1pbmdz
IGFyZSBleHBvc2VkIHdoZW4gY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0cyBoYXZlIGBUaW1pbmctQWxs
b3ctT3JpZ2luOiAqYCBoZWFkZXJzIGFzc2VydF9ncmVhdGVyX3RoYW46IHJlZGlyZWN0U3RhcnQg
c2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiAwIGV4cGVjdGVkIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiAw
IGJ1dCBnb3QgMAorUEFTUyBWZXJpZnkgdGhhdCBjcm9zcyBvcmlnaW4gcmVzb3VyY2VzJyB0aW1p
bmdzIGFyZSBub3QgZXhwb3NlZCB3aGVuIHNhbWUtb3JpZ2luPT5jcm9zcy1vcmlnaW49PnNhbWUt
b3JpZ2luIHJlZGlyZWN0cyBoYXZlIGBUaW1pbmctQWxsb3ctT3JpZ2luOmAgaGVhZGVycyB3aXRo
IGEgc3BlY2lmaWMgb3JpZ2luLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9TTy1YTy1TTy1yZWRpcmVjdC1j
aGFpbi10YW8uaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1NPLVhPLVNPLXJlZGlyZWN0LWNoYWluLXRhby5odHRw
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmU2NTY4OTEwZTRmZTdiNjFkYzhhODY5ZGZkNGZjZmYwNzUwZTcy
NjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9TTy1YTy1TTy1yZWRpcmVjdC1jaGFpbi10YW8uaHR0
cHMuaHRtbApAQCAtMCwwICsxLDY0IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5UaGlzIHRlc3QgdmFsaWRhdGVzIHJl
c291cmNlIHRpbWluZyBpbmZvcm1hdGlvbiBmb3IgYSBzYW1lLW9yaWdpbj0+Y3Jvc3Mtb3JpZ2lu
PT5zYW1lLW9yaWdpbiByZWRpcmVjdCBjaGFpbiB3aXRob3V0IFRpbWluZy1BbGxvdy1PcmlnaW4u
PC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jl
c291cmNlLXRpbWluZy0yLyNzZWMtY3Jvc3Mtb3JpZ2luLXJlc291cmNlcyIvPgorPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9j
b21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvZW50cnktaW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3Jp
cHQ+Citjb25zdCB7SFRUUFNfUkVNT1RFX09SSUdJTn0gPSBnZXRfaG9zdF9pbmZvKCk7Citjb25z
dCBTQU1FX09SSUdJTiA9IGxvY2F0aW9uLm9yaWdpbjsKKy8vIFNhbWUtT3JpZ2luID0+IENyb3Nz
LU9yaWdpbiA9PiBTYW1lLU9yaWdpbiA9PiBTYW1lLU9yaWdpbiByZWRpcmVjdCBjaGFpbgorbGV0
IGRlc3RVcmwgPSBgJHtTQU1FX09SSUdJTn0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9tdWx0
aV9yZWRpcmVjdC5weT9gOworZGVzdFVybCArPSBgcGFnZV9vcmlnaW49JHtTQU1FX09SSUdJTn1g
OworZGVzdFVybCArPSBgJmNyb3NzX29yaWdpbj0ke0hUVFBTX1JFTU9URV9PUklHSU59YDsKK2Rl
c3RVcmwgKz0gYCZmaW5hbF9yZXNvdXJjZT0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ibGFu
a19wYWdlX2dyZWVuLmh0bWA7CisKKy8vIE5vIFRBTyBpbiB0aGUgcmVkaXJlY3QgY2hhaW4KK2F0
dHJpYnV0ZV90ZXN0KAorICBsb2FkLmlmcmFtZSwgZGVzdFVybCwKKyAgaW52YXJpYW50cy5hc3Nl
cnRfY3Jvc3Nfb3JpZ2luX3JlZGlyZWN0ZWRfcmVzb3VyY2UsCisgICJWZXJpZnkgdGhhdCBjcm9z
cyBvcmlnaW4gcmVzb3VyY2VzJyB0aW1pbmdzIGFyZSBub3QgZXhwb3NlZCB3aGVuICIgKworICAi
c2FtZS1vcmlnaW49PmNyb3NzLW9yaWdpbj0+c2FtZS1vcmlnaW4gcmVkaXJlY3RzIGhhdmUgbm8g
IiArCisgICJgVGltaW5nLUFsbG93LU9yaWdpbjpgIGhlYWRlcnMuIik7CisKKy8vIFBhcnRpYWwg
VEFPIGluIHRoZSByZWRpcmVjdCBjaGFpbgorZGVzdFVybCArPSAnJnRhb19zdGVwcz0yJzsKK2F0
dHJpYnV0ZV90ZXN0KAorICBsb2FkLmlmcmFtZSwgZGVzdFVybCwKKyAgaW52YXJpYW50cy5hc3Nl
cnRfY3Jvc3Nfb3JpZ2luX3JlZGlyZWN0ZWRfcmVzb3VyY2UsCisgICJWZXJpZnkgdGhhdCBjcm9z
cyBvcmlnaW4gcmVzb3VyY2VzJyB0aW1pbmdzIGFyZSBub3QgZXhwb3NlZCB3aGVuICIgKworICAi
c2FtZS1vcmlnaW49PmNyb3NzLW9yaWdpbj0+c2FtZS1vcmlnaW4gcmVkaXJlY3RzIGhhdmUgIiAr
CisgICJgVGltaW5nLUFsbG93LU9yaWdpbjpgIGhlYWRlcnMgb25seSBvbiBzb21lIG9mIHRoZSBy
ZXNwb25zZXMuIik7CisKKy8vIENyb3NzLW9yaWdpbiA9PiBDcm9zcy1PcmlnaW4gPT4gU2FtZS1P
cmlnaW4gPT4gU2FtZS1PcmlnaW4gcmVkaXJlY3QgY2hhaW4uCitkZXN0VXJsID0gYCR7SFRUUFNf
UkVNT1RFX09SSUdJTn0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9tdWx0aV9yZWRpcmVjdC5w
eT9gOworZGVzdFVybCArPSBgcGFnZV9vcmlnaW49JHtTQU1FX09SSUdJTn1gOworZGVzdFVybCAr
PSBgJmNyb3NzX29yaWdpbj0ke0hUVFBTX1JFTU9URV9PUklHSU59YDsKK2Rlc3RVcmwgKz0gYCZm
aW5hbF9yZXNvdXJjZT0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ibHVlLXdpdGgtdGFvLnBu
Z2A7CitkZXN0VXJsICs9IGAmdGFvX3N0ZXBzPTNgOworCisvLyBGdWxsIHJlZGlyZWN0IGNoYWlu
IHdpdGggYFRBTzogKmAuCithdHRyaWJ1dGVfdGVzdCgKKyAgbG9hZC5pbWFnZSwgZGVzdFVybCwK
KyAgaW52YXJpYW50cy5hc3NlcnRfdGFvX2VuYWJsZWRfY3Jvc3Nfb3JpZ2luX3JlZGlyZWN0ZWRf
cmVzb3VyY2UsCisgICJWZXJpZnkgdGhhdCBjcm9zcyBvcmlnaW4gcmVzb3VyY2VzJyB0aW1pbmdz
IGFyZSBleHBvc2VkIHdoZW4gY3Jvc3Mtb3JpZ2luICIgKworICAicmVkaXJlY3RzIGhhdmUgYFRp
bWluZy1BbGxvdy1PcmlnaW46ICpgIGhlYWRlcnMiKTsKKworLy8gVEFPIHdpdGggYSBzcGVjaWZp
YyBvcmlnaW4KK2Rlc3RVcmwgKz0gYCZ0YW9fdmFsdWU9JHtTQU1FX09SSUdJTn1gOworYXR0cmli
dXRlX3Rlc3QoCisgIGxvYWQuaW1hZ2UsIGRlc3RVcmwsCisgIGludmFyaWFudHMuYXNzZXJ0X2Ny
b3NzX29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNlLAorICAiVmVyaWZ5IHRoYXQgY3Jvc3Mgb3Jp
Z2luIHJlc291cmNlcycgdGltaW5ncyBhcmUgbm90IGV4cG9zZWQgd2hlbiAiICsKKyAgInNhbWUt
b3JpZ2luPT5jcm9zcy1vcmlnaW49PnNhbWUtb3JpZ2luIHJlZGlyZWN0cyBoYXZlICIgKworICAi
YFRpbWluZy1BbGxvdy1PcmlnaW46YCBoZWFkZXJzIHdpdGggYSBzcGVjaWZpYyBvcmlnaW4uIik7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1N5bnRoZXRpY1Jl
c3BvbnNlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvU3ludGhldGljUmVzcG9uc2UucHkKaW5kZXggZGM1N2Q4NDUxZjlmMWVl
ZjY4MTI3OGM4NzU2ZDEwYjdlZjJhZjRiMS4uNmY4ODhmMzc4OTZlMTI0MDEzMDFlMTg3ZWJkNTE3
ZTk0MmE3ZWNlOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU3ludGhldGljUmVzcG9uc2UucHkKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
U3ludGhldGljUmVzcG9uc2UucHkKQEAgLTEsOCArMSw5IEBACi1mcm9tIHNpeC5tb3Zlcy51cmxs
aWIucGFyc2UgaW1wb3J0IHVucXVvdGUKK2Zyb20gdXJsbGliLnBhcnNlIGltcG9ydCB1bnF1b3Rl
CiAKIGZyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0IGlzb21vcnBoaWNfZGVjb2RlLCBpc29tb3Jw
aGljX2VuY29kZQogCi1pbXBvcnQgc2xlZXAKK2ltcG9ydCBpbXBvcnRsaWIKK3NsZWVwID0gaW1w
b3J0bGliLmltcG9ydF9tb2R1bGUoInJlc291cmNlLXRpbWluZy5zbGVlcCIpCiAKIGRlZiBtYWlu
KHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICBpbmRleCA9IGlzb21vcnBoaWNfZW5jb2RlKHJlcXVl
c3QucmVxdWVzdF9wYXRoKS5pbmRleChiIj8iKQpAQCAtNDMsOCArNDQsNiBAQCBkZWYgbWFpbihy
ZXF1ZXN0LCByZXNwb25zZSk6CiAgICAgICAgICAgICAgICAgcmVzcG9uc2Uud3JpdGVyLmVuZF9o
ZWFkZXJzKCkKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgc3RhdHVzU2VudCA9
IFRydWUKLSAgICAgICAgZWxpZiBhcmcgPT0gYiJmbHVzaCI6Ci0gICAgICAgICAgICByZXNwb25z
ZS53cml0ZXIuZmx1c2goKQogCiAjICAgICAgICBlbHNlOgogIyAgICAgICAgICAgIGVycm9yICIg
IElOVkFMSUQgQVJHVU1FTlQgJXMiICUgYXJnCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbWF0Y2gtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvVEFPLW1hdGNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMGU3NmE4
MWFmNmViNWI3NWU0ZWMxMjJiMjk2YWI2YWQ3ZWNmY2JlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
VEFPLW1hdGNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACisKK1BBU1MgVGhlIHRpbWlu
ZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBwYXNzIHdoZW4gdGhlIFRpbWluZy1BbGxvdy1P
cmlnaW4gaGVhZGVyIHZhbHVlIGxpc3QgY29udGFpbnMgYSBjYXNlLXNlbnNpdGl2ZSBtYXRjaC4K
K1BBU1MgVGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBwYXNzIHdoZW4gdGhl
IFRpbWluZy1BbGxvdy1PcmlnaW4gaGVhZGVyIHZhbHVlIGxpc3QgY29udGFpbnMgYSB3aWxkY2Fy
ZC4KK1BBU1MgVGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4g
dGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gaGVhZGVyIHZhbHVlIGxpc3QgY29udGFpbnMgYSBudWxs
IG9yaWdpbi4KK1BBU1MgVGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBwYXNz
IHdoZW4gdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gaGVhZGVyIHZhbHVlIGxpc3QgY29udGFpbnMg
dGhlIG9yaWdpbiBhbmQgYSB3aWxkY2FyZC4KK1BBU1MgVGhlIHRpbWluZyBhbGxvdyBjaGVjayBh
bGdvcml0aG0gd2lsbCBwYXNzIHdoZW4gdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gaGVhZGVyIHZh
bHVlIGxpc3QgY29udGFpbnMgbXVsdGlwbGUgd2lsZGNhcmRzLgorUEFTUyBUaGUgdGltaW5nIGFs
bG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIHBhc3Mgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9yaWdp
biBoZWFkZXIgdmFsdWUgY29udGFpbnMgb25seSB0aGUgb3JpZ2luLgorUEFTUyBUaGUgdGltaW5n
IGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIGZhaWwgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9y
aWdpbiBoZWFkZXIgdmFsdWUgY29udGFpbnMgb25seSB0aGUgdXBwZXJjYXNlZCBvcmlnaW4uCitQ
QVNTIFRoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRoZSBU
aW1pbmctQWxsb3ctT3JpZ2luIGhlYWRlciB2YWx1ZSBjb250YWlucyBvbmx5IGEgc3BhY2UuCitQ
QVNTIFRoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRoZSBU
aW1pbmctQWxsb3ctT3JpZ2luIGhlYWRlciB2YWx1ZSBjb250YWlucyBvbmx5IGEgd2lsZGNhcmQu
CitQQVNTIFRoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRo
ZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRlciBpcyBub3QgcHJlc2VudC4KKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvVEFPLW1hdGNoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbWF0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMjY0
NWE2MzhiZWYyNmE2NTVlZjI1M2Y2NTVjOTVhYzk2MDdmZmY1Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvVEFPLW1hdGNoLmh0bWwKQEAgLTAsMCArMSw2OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGlt
aW5nIFRBTyB0ZXN0czwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIg
aHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIKKyAgICAg
IGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmctMi8jdGltaW5nLWFs
bG93LW9yaWdpbiIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9lbnRyeS1pbnZhcmlhbnRzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0PgorY29uc3Qge1JFTU9URV9PUklHSU59ID0gZ2V0X2hvc3RfaW5mbygpOworY29u
c3QgcGF0aCA9IFJFTU9URV9PUklHSU4gKyAnL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvVEFP
UmVzcG9uc2UucHk/dGFvPSc7CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQueGhyX3N5bmMsIHBhdGgg
KyAnbWF0Y2hfb3JpZ2luJywKKyAgaW52YXJpYW50cy5hc3NlcnRfdGFvX3Bhc3Nfbm9fcmVkaXJl
Y3RfaHR0cCwKKydUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIHBhc3Mgd2hl
biB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiAnICsKKydoZWFkZXIgdmFsdWUgbGlzdCBjb250YWlu
cyBhIGNhc2Utc2Vuc2l0aXZlIG1hdGNoLicpOworCithdHRyaWJ1dGVfdGVzdChsb2FkLnhocl9z
eW5jLCBwYXRoICsgJ21hdGNoX3dpbGRjYXJkJywKKyAgaW52YXJpYW50cy5hc3NlcnRfdGFvX3Bh
c3Nfbm9fcmVkaXJlY3RfaHR0cCwKKydUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3
aWxsIHBhc3Mgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiAnICsKKydoZWFkZXIgdmFsdWUg
bGlzdCBjb250YWlucyBhIHdpbGRjYXJkLicpOworCithdHRyaWJ1dGVfdGVzdChsb2FkLnhocl9z
eW5jLCBwYXRoICsgJ251bGwnLAorICBpbnZhcmlhbnRzLmFzc2VydF90YW9fZmFpbHVyZV9yZXNv
dXJjZSwKKydUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIGZhaWwgd2hlbiB0
aGUgVGltaW5nLUFsbG93LU9yaWdpbiAnICsKKydoZWFkZXIgdmFsdWUgbGlzdCBjb250YWlucyBh
IG51bGwgb3JpZ2luLicpOworCithdHRyaWJ1dGVfdGVzdChsb2FkLnhocl9zeW5jLCBwYXRoICsg
J211bHRpJywKKyAgaW52YXJpYW50cy5hc3NlcnRfdGFvX3Bhc3Nfbm9fcmVkaXJlY3RfaHR0cCwK
KydUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIHBhc3Mgd2hlbiB0aGUgVGlt
aW5nLUFsbG93LU9yaWdpbiAnICsKKydoZWFkZXIgdmFsdWUgbGlzdCBjb250YWlucyB0aGUgb3Jp
Z2luIGFuZCBhIHdpbGRjYXJkLicpOworCithdHRyaWJ1dGVfdGVzdChsb2FkLnhocl9zeW5jLCBw
YXRoICsgJ211bHRpX3dpbGRjYXJkJywKKyAgaW52YXJpYW50cy5hc3NlcnRfdGFvX3Bhc3Nfbm9f
cmVkaXJlY3RfaHR0cCwKKydUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIHBh
c3Mgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiAnICsKKydoZWFkZXIgdmFsdWUgbGlzdCBj
b250YWlucyBtdWx0aXBsZSB3aWxkY2FyZHMuJyk7CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQueGhy
X3N5bmMsIHBhdGggKyAnb3JpZ2luJywKKyAgaW52YXJpYW50cy5hc3NlcnRfdGFvX3Bhc3Nfbm9f
cmVkaXJlY3RfaHR0cCwKKydUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIHBh
c3Mgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiAnICsKKydoZWFkZXIgdmFsdWUgY29udGFp
bnMgb25seSB0aGUgb3JpZ2luLicpOworCithdHRyaWJ1dGVfdGVzdChsb2FkLnhocl9zeW5jLCBw
YXRoICsgJ3VwcGVyY2FzZScsCisgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19mYWlsdXJlX3Jlc291
cmNlLAorJ1RoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRo
ZSBUaW1pbmctQWxsb3ctT3JpZ2luICcgKworJ2hlYWRlciB2YWx1ZSBjb250YWlucyBvbmx5IHRo
ZSB1cHBlcmNhc2VkIG9yaWdpbi4nKTsKKworYXR0cmlidXRlX3Rlc3QobG9hZC54aHJfc3luYywg
cGF0aCArICdzcGFjZScsCisgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19mYWlsdXJlX3Jlc291cmNl
LAorJ1RoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRoZSBU
aW1pbmctQWxsb3ctT3JpZ2luICcgKworJ2hlYWRlciB2YWx1ZSBjb250YWlucyBvbmx5IGEgc3Bh
Y2UuJyk7CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQueGhyX3N5bmMsIHBhdGggKyAnd2lsZGNhcmQn
LAorICBpbnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc19ub19yZWRpcmVjdF9odHRwLAorJ1RoZSB0
aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRoZSBUaW1pbmctQWxs
b3ctT3JpZ2luICcgKworJ2hlYWRlciB2YWx1ZSBjb250YWlucyBvbmx5IGEgd2lsZGNhcmQuJyk7
CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQueGhyX3N5bmMsIHBhdGggKyAnemVybycsCisgIGludmFy
aWFudHMuYXNzZXJ0X3Rhb19mYWlsdXJlX3Jlc291cmNlLAorJ1RoZSB0aW1pbmcgYWxsb3cgY2hl
Y2sgYWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luICcgKwor
J2hlYWRlciBpcyBub3QgcHJlc2VudC4nKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvVEFPLW51bGwtb3BhcXVlLW9yaWdpbi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9U
QU8tbnVsbC1vcGFxdWUtb3JpZ2luLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZDZhMzdmMTQ1
MGUyOTljZmNmNTg1NGY2OWJlYzA0OTNmYzIxNGJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFP
LW51bGwtb3BhcXVlLW9yaWdpbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitEZXNjcmlw
dGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQsIGZvciBhIGNyb3NzIG9yaWdpbiByZXNv
dXJjZSwgdGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBzdWNjZWVkIHdoZW4g
dGhlIHZhbHVlIG9mIFRpbWluZy1BbGxvdy1PcmlnaW4gaXMgbnVsbCBhbmQgdGhlIG9yaWdpbiBp
cyBhbiBvcGFxdWUgb3JpZ2luLgorCisKK1BBU1MgQW4gb3BhcXVlIG9yaWdpbiBzaG91bGQgYmUg
YXV0aG9yaXplZCB0byBzZWUgcmVzb3VyY2UgdGltaW5ncyB3aGVuIHRoZSBUQU8gaGVhZGVyIGlz
IHRoZSBzdHJpbmcgJ251bGwnCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1udWxsLW9wYXF1ZS1vcmln
aW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL1RBTy1udWxsLW9wYXF1ZS1vcmlnaW4uaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NTQ4
YTdiOWFkNDM3NDA3ZWFkZWQyYzZlZmM0OTc0ZGVjMjQyZWNkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvVEFPLW51bGwtb3BhcXVlLW9yaWdpbi5odG1sCkBAIC0wLDAgKzEsNTUgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxl
PlJlc291cmNlIFRpbWluZyBUQU8gLSAibnVsbCIgYW5kIG9wYXF1ZSBvcmlnaW48L3RpdGxlPgor
PGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xl
LmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9y
ZXNvdXJjZS10aW1pbmctMi8jdGltaW5nLWFsbG93LW9yaWdpbiIvPgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24v
Z2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVz
Y3JpcHRpb248L2gxPgorPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0LCBmb3IgYSBjcm9zcyBv
cmlnaW4gcmVzb3VyY2UsIHRoZSB0aW1pbmcgYWxsb3cKK2NoZWNrIGFsZ29yaXRobSB3aWxsIHN1
Y2NlZWQgd2hlbiB0aGUgdmFsdWUgb2YgVGltaW5nLUFsbG93LU9yaWdpbiBpcyBudWxsIGFuZAor
dGhlIG9yaWdpbiBpcyBhbiBvcGFxdWUgb3JpZ2luLjwvcD4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+
Cis8aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQiPjwvaWZyYW1lPgorPHNjcmlwdD4KK2NvbnN0IG9y
aWdpbiA9IGdldF9ob3N0X2luZm8oKVsiT1JJR0lOIl07Citjb25zdCBmcmFtZV9jb250ZW50ID0g
YGRhdGE6dGV4dC9odG1sO3V0ZjgsPGJvZHk+CisgIDxzY3JpcHQgc3JjPSIke29yaWdpbn0vcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L2AgKyBgc2NyaXB0PgorICA8c2NyaXB0PgorICAgIGNv
bnN0IHVybCA9ICIke29yaWdpbn0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9UQU9SZXNwb25z
ZS5weT90YW89bnVsbCI7CisgICAgcHJvbWlzZV90ZXN0KCgpID0+IHsgcmV0dXJuIG5ldyBQcm9t
aXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICAgIGNvbnN0IHJ1bl90ZXN0ID0gZW50cnlM
aXN0ID0+IHsKKyAgICAgICAgY29uc3QgZW50cnkgPSBlbnRyeUxpc3QuZ2V0RW50cmllcygpWzBd
OworICAgICAgICBjb25zdCBzdW0gPSBlbnRyeS5yZWRpcmVjdFN0YXJ0ICsgZW50cnkucmVkaXJl
Y3RFbmQgKworICAgICAgICAgICAgICAgICAgICBlbnRyeS5kb21haW5Mb29rdXBTdGFydCArIGVu
dHJ5LmRvbWFpbkxvb2t1cEVuZCArCisgICAgICAgICAgICAgICAgICAgIGVudHJ5LmNvbm5lY3RT
dGFydCArIGVudHJ5LmNvbm5lY3RFbmQgKworICAgICAgICAgICAgICAgICAgICBlbnRyeS5zZWN1
cmVDb25uZWN0aW9uU3RhcnQgKyBlbnRyeS5yZXF1ZXN0U3RhcnQgKworICAgICAgICAgICAgICAg
ICAgICBlbnRyeS5yZXNwb25zZVN0YXJ0ICsgZW50cnkudHJhbnNmZXJTaXplICsKKyAgICAgICAg
ICAgICAgICAgICAgZW50cnkuZW5jb2RlZEJvZHlTaXplICsgZW50cnkuZGVjb2RlZEJvZHlTaXpl
OworICAgICAgICBhc3NlcnRfbm90X2VxdWFscyhzdW0sIDAsICJUaW1pbmdzIG11c3QgYmUgbm9u
LXplcm8iKTsKKyAgICAgIH07CisgICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5j
ZU9ic2VydmVyKGxpc3QgPT4geworICAgICAgICB0cnkgeworICAgICAgICAgIHJ1bl90ZXN0KGxp
c3QpOworICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgfSBjYXRjaChlKSB7CisgICAgICAg
ICAgcmVqZWN0KGUpOworICAgICAgICB9CisgICAgICB9KTsKKyAgICAgIG9ic2VydmVyLm9ic2Vy
dmUoeyBlbnRyeVR5cGVzOiBbInJlc291cmNlIl0gfSk7CisgICAgICBmZXRjaCh1cmwpOworICAg
IH0pfSwgIkFuIG9wYXF1ZSBvcmlnaW4gc2hvdWxkIGJlIGF1dGhvcml6ZWQgdG8gc2VlIHJlc291
cmNlIHRpbWluZ3Mgd2hlbiIgKworICAgICAgICAgIiB0aGUgVEFPIGhlYWRlciBpcyB0aGUgc3Ry
aW5nICdudWxsJyIpOworICA8L2AgKyBgc2NyaXB0PjwvYm9keT5gOworCitmcmFtZUNvbnRleHQu
c3R5bGUgPSAiZGlzcGxheTpub25lIgorZnJhbWVDb250ZXh0LnNyYyA9IGZyYW1lX2NvbnRlbnQ7
CitmZXRjaF90ZXN0c19mcm9tX3dpbmRvdyhmcmFtZUNvbnRleHQuY29udGVudFdpbmRvdyk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1udWxsLW9wYXF1
ZS1vcmlnaW4uc3ViLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1udWxsLW9wYXF1ZS1vcmlnaW4uc3Vi
LWV4cGVjdGVkLnR4dAppbmRleCAyZWM3ZTA4YTNhN2NiOGJiODA0ZWNhYjQ2YjA2NzY2MGYwNGM2
Y2JiLi45NzIzNWRjN2E5OWJkMjcxNWM4M2U0MmFhZTBlOWJmNTc4N2UxZjYwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9UQU8tbnVsbC1vcGFxdWUtb3JpZ2luLnN1Yi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFP
LW51bGwtb3BhcXVlLW9yaWdpbi5zdWItZXhwZWN0ZWQudHh0CkBAIC0zLDUgKzMsNSBAQCBEZXNj
cmlwdGlvbgogVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGZvciBhIGNyb3NzIG9yaWdpbiByZXNv
dXJjZSwgdGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBzdWNjZWVkIHdoZW4g
dGhlIHZhbHVlIG9mIFRpbWluZy1BbGxvdy1PcmlnaW4gaXMgbnVsbCBhbmQgdGhlIG9yaWdpbiBp
cyBhbiBvcGFxdWUgb3JpZ2luLgogCiAKLUZBSUwgVGVzdCBudWxsIFRBTyB2YWx1ZSB3aXRoIG9w
YXF1ZSBvcmlnaW5zIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJQQVNTIiBidXQgZ290ICJGQUlM
IgorUEFTUyBUZXN0IG51bGwgVEFPIHZhbHVlIHdpdGggb3BhcXVlIG9yaWdpbnMKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvVEFPLXBvcnQtbWlzbWF0Y2gtbWVhbnMtY3Jvc3NvcmlnaW4tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvVEFPLXBvcnQtbWlzbWF0Y2gtbWVhbnMtY3Jvc3NvcmlnaW4tZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjgyMDhhNTMyMTFmMTMzZGEzMzFlYmU1YjU5YWI1Y2MzYjk2ODYyYmUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9UQU8tcG9ydC1taXNtYXRjaC1tZWFucy1jcm9zc29yaWdpbi1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw4IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRh
dGVzIHRoYXQgZm9yIGEgY3Jvc3Mgb3JpZ2luIHJlc291cmNlIHdpdGggZGlmZmVyZW50IHBvcnRz
LCB0aGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIGZhaWwgd2hlbiB0aGUgdmFs
dWUgb2YgVGltaW5nLUFsbG93LU9yaWdpbiB2YWx1ZSBoYXMgdGhlIHJpZ2h0IGhvc3QgYnV0IHRo
ZSB3cm9uZyBwb3J0IGluIGl0LgorCisKK0ZBSUwgQSBwb3J0IG1pc21hdGNoIG11c3QgZmFpbCB0
aGUgVEFPIGNoZWNrIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogVVJMIGlzIG5vdCB2YWxpZCBvciBjb250YWlucyB1c2VyIGNy
ZWRlbnRpYWxzLiIKK0ZBSUwgQW4gaWRlbnRpY2FsIHBvcnQgbXVzdCBwYXNzIHRoZSBUQU8gY2hl
Y2sgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiBVUkwgaXMgbm90IHZhbGlkIG9yIGNvbnRhaW5zIHVzZXIgY3JlZGVudGlhbHMu
IgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9UQU8tcG9ydC1taXNtYXRjaC1tZWFucy1jcm9zc29yaWdpbi5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvVEFPLXBvcnQtbWlzbWF0Y2gtbWVhbnMtY3Jvc3NvcmlnaW4uaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMTIxOGQxN2EwYTQ0ZjAxM2EwMWE5YjFhMjhiM2FiMTlmOTFjOTFkCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvVEFPLXBvcnQtbWlzbWF0Y2gtbWVhbnMtY3Jvc3NvcmlnaW4uaHRtbApAQCAt
MCwwICsxLDQ2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5UQU8gLSBwb3J0IG1pc21hdGNoIG11c3QgZmFpbCB0aGUg
Y2hlY2s8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0
dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8v
d3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmctMi8jc2VjLXRpbWluZy1hbGxvdy1vcmlnaW4i
Lz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvZW50cnktaW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgorCitjb25zdCB7T1JJR0lOQUxfSE9TVCwgUE9SVCwgUE9SVDJ9ID0gZ2V0X2hvc3RfaW5mbygp
OworCisvLyBUaGUgbWFpbiBwYWdlIGlzIGJlaW5nIHJlcXVlc3RlZCBvbiB0aGUgZGVmYXVsdCBw
b3J0IChQT1JUKSwgd2hpbGUgdGhlCisvLyBzdWJyZXNvdXJjZSB3aWxsIGJlIHJlcXVlc3RlZCBv
biBhIHNlcGFyYXRlIHBvcnQgKFBPUlQyKS4gVGhlIHJlc3BvbnNlIHdpbGwKKy8vIGhhdmUgYSBU
aW1pbmctQWxsb3ctT3JpZ2luIGhlYWRlciB2YWx1ZSB3aXRoIHRoZSBzZWNvbmQgcG9ydCBzbyB0
aGlzIHBhZ2UncworLy8gb3JpZ2luIHNob3VsZCBub3QgYmUgYSBtYXRjaC4KK2NvbnN0IHBvcnRf
bWlzbWF0Y2hfdXJsID0gYCR7bG9jYXRpb24ucHJvdG9jb2x9Ly8ke09SSUdJTkFMX0hPU1R9OiR7
UE9SVDJ9YCArCisgICAgICAgICAgICAgICAgICAgICAgICAgIGAvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlcy9UQU9SZXNwb25zZS5weT9gICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYHRh
bz1vcmlnaW5fcG9ydF8ke1BPUlQyfWA7CithdHRyaWJ1dGVfdGVzdCgKKyAgZmV0Y2gsIHBvcnRf
bWlzbWF0Y2hfdXJsLCBpbnZhcmlhbnRzLmFzc2VydF90YW9fZmFpbHVyZV9yZXNvdXJjZSwKKyAg
IkEgcG9ydCBtaXNtYXRjaCBtdXN0IGZhaWwgdGhlIFRBTyBjaGVjayIpOworCisvLyBUaGUgc2Ft
ZSBVUkwgYXMgYWJvdmUgZXhjZXB0IHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRlciB3aWxs
IGhhdmUgdGhlCisvLyBzYW1lIHBvcnQgYXMgdGhpcyBwYWdlJ3Mgb3JpZ2luLiBUaGVyZWZvcmUs
IHRoaXMgcGFnZSdzIG9yaWdpbiB3aWxsIG1hdGNoCisvLyB0aGUgVGltaW5nLUFsbG93LU9yaWdp
biBoZWFkZXIncyB2YWx1ZS4gVGhlcmVmb3JlLCB0aGUgc3VicmVzb3VyY2UncyB0aW1pbmdzCisv
LyBtdXN0IGJlIGV4cG9zZWQuCitjb25zdCBwb3J0X21hdGNoX3VybCA9IGAke2xvY2F0aW9uLnBy
b3RvY29sfS8vJHtPUklHSU5BTF9IT1NUfToke1BPUlQyfWAgKworICAgICAgICAgICAgICAgICAg
ICAgICBgL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvVEFPUmVzcG9uc2UucHk/YCArCisgICAg
ICAgICAgICAgICAgICAgICAgIGB0YW89b3JpZ2luX3BvcnRfJHtQT1JUfWA7CithdHRyaWJ1dGVf
dGVzdCgKKyAgZmV0Y2gsIHBvcnRfbWF0Y2hfdXJsLCBpbnZhcmlhbnRzLmFzc2VydF90YW9fcGFz
c19ub19yZWRpcmVjdF9odHRwLAorICAiQW4gaWRlbnRpY2FsIHBvcnQgbXVzdCBwYXNzIHRoZSBU
QU8gY2hlY2siKTsKKworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5EZXNjcmlwdGlv
bjwvaDE+Cis8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgZm9yIGEgY3Jvc3Mgb3JpZ2luIHJl
c291cmNlIHdpdGggZGlmZmVyZW50IHBvcnRzLAordGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdv
cml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIHZhbHVlIG9mCitUaW1pbmctQWxsb3ctT3JpZ2luIHZh
bHVlIGhhcyB0aGUgcmlnaHQgaG9zdCBidXQgdGhlIHdyb25nIHBvcnQgaW4gaXQuPC9wPgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvX19pbml0X18ucHkgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9fX2luaXRfXy5w
eQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5lNjlkZTI5YmIyZDFkNjQzNGI4YjI5YWU3NzVhZDhjMmU0OGM1MzkxCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtZW50cmllcy1kdXJpbmctY2FsbGJhY2suaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2J1ZmZlci1mdWxsLWFkZC1lbnRyaWVzLWR1cmluZy1jYWxsYmFjay5odG1sCmluZGV4
IGIzN2M0N2IyM2ZiNTAyNjQ4MDY4MzU5NGI5NjRlZTcxMmFiYmU3MDguLjNjODZlMDA4ZjU0ZDI4
NDZiNTRiYTFjOGJkMDg2ZTRlYjBhNjE0YzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFk
ZC1lbnRyaWVzLWR1cmluZy1jYWxsYmFjay5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFkZC1l
bnRyaWVzLWR1cmluZy1jYWxsYmFjay5odG1sCkBAIC02LDYgKzYsNyBAQAogPGxpbmsgcmVsPSJo
ZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1h
bmNlcmVzb3VyY2V0aW1pbmciLz4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2J1ZmZlci1mdWxsLXV0aWxpdGll
cy5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1m
dWxsLWFkZC10aGVuLWNsZWFyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFkZC10aGVu
LWNsZWFyLWV4cGVjdGVkLnR4dAppbmRleCA4NTliNTI1N2I1ODBlZDdkMWZiODViZmI4ZTAxNTU0
MTMxYmE0MDg3Li45NWQzM2ZhNTk5NmVmZWI4NjJiYTFiYjI5ODljMmJjNTZhMjJmOGFiIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtdGhlbi1jbGVhci1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvYnVmZmVyLWZ1bGwtYWRkLXRoZW4tY2xlYXItZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBA
QAogCi1QQVNTIFRlc3QgdGhhdCBpZiB0aGUgYnVmZmVyIGlzIGNsZWFyZWQgYWZ0ZXIgZW50cmll
cyB3ZXJlIGFkZGVkIHRvIHRoZSBzZWNvbmRhcnkgYnVmZmVyLCB0aG9zZSBlbnRyaWVzIG1ha2Ug
aXQgaW50byB0aGUgcHJpbWFyeSBvbmUKK0ZBSUwgVGVzdCB0aGF0IGlmIHRoZSBidWZmZXIgaXMg
Y2xlYXJlZCBhZnRlciBlbnRyaWVzIHdlcmUgYWRkZWQgdG8gdGhlIHNlY29uZGFyeSBidWZmZXIs
IHRob3NlIGVudHJpZXMgbWFrZSBpdCBpbnRvIHRoZSBwcmltYXJ5IG9uZSBhc3NlcnRfZXF1YWxz
OiB0aGUgbGFzdCAzIHJlc291cmNlcyBzaG91bGQgYmUgaW4gdGhlIGJ1ZmZlciwgc2luY2UgdGhl
IGZpcnN0IG9uZSB3YXMgY2xlYXJlZCBleHBlY3RlZCAzIGJ1dCBnb3QgMgogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9idWZmZXItZnVsbC1hZGQtdGhlbi1jbGVhci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRk
LXRoZW4tY2xlYXIuaHRtbAppbmRleCA3MTA4NTJjZWQ1NWY3MTZhMzQ4Y2M5ZTY4NjVkN2E4Yjcw
NDhhNDZhLi4zMmFjNTk0ODFmOTk5ODE5MDNmYTRhOGYwOTNmNjAxY2ZmYTc3MTUwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9idWZmZXItZnVsbC1hZGQtdGhlbi1jbGVhci5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1m
dWxsLWFkZC10aGVuLWNsZWFyLmh0bWwKQEAgLTYsNiArNiw3IEBACiA8bGluayByZWw9ImhlbHAi
IGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jcGVyZm9ybWFuY2Vy
ZXNvdXJjZXRpbWluZyIvPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpz
Ij48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwt
aW5jcmVhc2UtYnVmZmVyLWR1cmluZy1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5j
cmVhc2UtYnVmZmVyLWR1cmluZy1jYWxsYmFjay5odG1sCmluZGV4IGI0NmQyZDY1NjkwYTg4Njgz
N2I4ZWE3NjIxZjM5MjYwODE1NTJkOTcuLmRkMTJkZDdhZmE5YmUxOGJiZGU0NjQyMTJkYzA4MTc3
OTY4ZGE3ZDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluY3JlYXNlLWJ1ZmZlci1kdXJp
bmctY2FsbGJhY2suaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbmNyZWFzZS1idWZmZXItZHVy
aW5nLWNhbGxiYWNrLmh0bWwKQEAgLTMsNDYgKzMsMjMgQEAKIDxoZWFkIG9ubG9hZD4KIDxtZXRh
IGNoYXJzZXQ9InV0Zi04IiAvPgogPHRpdGxlPlRoaXMgdGVzdCB2YWxpZGF0ZXMgaW5jcmVhc2lu
ZyB0aGUgYnVmZmVyIHNpemUgaW4gb25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwgY2FsbGJhY2sg
b2YgcmVzb3VyY2UgdGltaW5nLjwvdGl0bGU+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6
Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWlu
ZyIvPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93d3cu
Z29vZ2xlLmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9y
Zy9UUi9yZXNvdXJjZS10aW1pbmctMi8jZG9tLXBlcmZvcm1hbmNlLW9ucmVzb3VyY2V0aW1pbmdi
dWZmZXJmdWxsIi8+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy9idWZmZXItZnVsbC11dGlsaXRpZXMuanMiPjwv
c2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CiA8c2NyaXB0PgotY29uc3QgcmVzb3VyY2VfdGltaW5n
X2J1ZmZlcl9zaXplID0gMTsKLWxldCBldmVudEZpcmVkID0gZmFsc2U7Ci0KLXNldHVwKCgpID0+
IHsKLSAgICAvLyBHZXQgdGhlIGJyb3dzZXIgaW50byBhIGNvbnNpc3RlbnQgc3RhdGUuCi0gICAg
Y2xlYXJCdWZmZXJBbmRTZXRTaXplKHJlc291cmNlX3RpbWluZ19idWZmZXJfc2l6ZSk7Ci0gICAg
dmFyIGluY3JlYXNlID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgIHBlcmZvcm1hbmNlLnNldFJlc291
cmNlVGltaW5nQnVmZmVyU2l6ZShyZXNvdXJjZV90aW1pbmdfYnVmZmVyX3NpemUgKiAyKTsKLSAg
ICAgICAgZXZlbnRGaXJlZCA9IHRydWU7Ci0gICAgfQotICAgIHBlcmZvcm1hbmNlLmFkZEV2ZW50
TGlzdGVuZXIoJ3Jlc291cmNldGltaW5nYnVmZmVyZnVsbCcsIGluY3JlYXNlKTsKLX0pOwotCi1s
ZXQgb3ZlcmZsb3dUaGVCdWZmZXIgPSAoKSA9PiB7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJl
c29sdmUgPT4gewotICAgICAgICAvLyBUaGlzIHJlc291cmNlIG92ZXJmbG93cyB0aGUgZW50cnkg
YnVmZmVyLCBhbmQgZ29lcyBpbnRvIHRoZSBzZWNvbmRhcnkgYnVmZmVyLgotICAgICAgICBhcHBl
bmRTY3JpcHQoJ3Jlc291cmNlcy9lbXB0eV9zY3JpcHQuanMnLCByZXNvbHZlKTsKLSAgICB9KTsK
LX07Ci0KLWxldCB0ZXN0VGhhdEJ1ZmZlckNvbnRhaW5zVGhlUmlnaHRSZXNvdXJjZXMgPSAoKSA9
PiB7Ci0gICAgbGV0IGVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdyZXNv
dXJjZScpOwotICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDIsCi0gICAgICAgICAg
ICAgICAgICAnQm90aCBlbnRyaWVzIHNob3VsZCBiZSBzdG9yZWQgaW4gcmVzb3VyY2UgdGltaW5n
IGJ1ZmZlciBzaW5jZSBpdHMgaW5jcmVhc2VzIHNpemUgb25jZSBpdCBvdmVyZmxvd3MuJyk7Ci0g
ICAgYXNzZXJ0X3RydWUoZW50cmllc1swXS5uYW1lLmluY2x1ZGVzKCdlbXB0eS5qcycpLCAiZW1w
dHkuanMgaXMgaW4gdGhlIGVudHJpZXMgYnVmZmVyIik7Ci0gICAgYXNzZXJ0X3RydWUoZW50cmll
c1sxXS5uYW1lLmluY2x1ZGVzKCdlbXB0eV9zY3JpcHQuanMnKSwgImVtcHR5X3NjcmlwdC5qcyBp
cyBpbiB0aGUgZW50cmllcyBidWZmZXIiKTsKLX07Ci0KIHByb21pc2VfdGVzdChhc3luYyAoKSA9
PiB7Ci0gICAgYXdhaXQgZmlsbFVwVGhlQnVmZmVyV2l0aFNpbmdsZVJlc291cmNlKCJyZXNvdXJj
ZXMvZW1wdHkuanMiKTsKLSAgICBhd2FpdCBvdmVyZmxvd1RoZUJ1ZmZlcigpOwotICAgIGF3YWl0
IHdhaXRGb3JFdmVudFRvRmlyZSgpOwotICAgIHRlc3RUaGF0QnVmZmVyQ29udGFpbnNUaGVSaWdo
dFJlc291cmNlcygpOworICAgIGF3YWl0IGZpbGxVcFRoZUJ1ZmZlcldpdGhTaW5nbGVSZXNvdXJj
ZSgpOworICAgIHBlcmZvcm1hbmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc291cmNldGltaW5nYnVm
ZmVyZnVsbCcsICgpID0+IHsKKyAgICAgICAgcGVyZm9ybWFuY2Uuc2V0UmVzb3VyY2VUaW1pbmdC
dWZmZXJTaXplKDIpOworICAgIH0pOworICAgIGF3YWl0IGxvYWQuc2NyaXB0KHNjcmlwdFJlc291
cmNlc1sxXSk7CisgICAgYXdhaXQgYnVmZmVyRnVsbEZpcmVQcm9taXNlOworICAgIGNoZWNrRW50
cmllcygyKTsKIH0sICJUZXN0IHRoYXQgaW5jcmVhc2luZyB0aGUgYnVmZmVyIGR1cmluZyB0aGUg
Y2FsbGJhY2sgaXMgZW5vdWdoIGZvciBlbnRyaWVzIG5vdCB0byBiZSBkcm9wcGVkIik7CiA8L3Nj
cmlwdD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluc3BlY3QtYnVmZmVy
LWR1cmluZy1jYWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbnNwZWN0LWJ1
ZmZlci1kdXJpbmctY2FsbGJhY2stZXhwZWN0ZWQudHh0CmluZGV4IGYwYzRlZmEwMzA4Y2M5OTM5
N2U0OWI0YmU1N2JjZmM3NGU1ZmQ1MmYuLjdhMGU2OTdkNGFlMDIwYzM3OWQ0NDYzYTRlNDdkMWM5
ODgxZWQzMzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluc3BlY3QtYnVmZmVyLWR1cmlu
Zy1jYWxsYmFjay1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5zcGVjdC1idWZm
ZXItZHVyaW5nLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDUgQEAKIAotUEFTUyBU
ZXN0IHRoYXQgZW50cmllcyBpbiB0aGUgc2Vjb25kYXJ5IGJ1ZmZlciBhcmUgbm90IGV4cG9zZWQg
ZHVyaW5nIHRoZSBjYWxsYmFjayBhbmQgYmVmb3JlIHRoZXkgYXJlIGNvcGllZCB0byB0aGUgcHJp
bWFyeSBidWZmZXIKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitU
SU1FT1VUIFRlc3QgdGhhdCBlbnRyaWVzIGluIHRoZSBzZWNvbmRhcnkgYnVmZmVyIGFyZSBub3Qg
ZXhwb3NlZCBkdXJpbmcgdGhlIGNhbGxiYWNrIGFuZCBiZWZvcmUgdGhleSBhcmUgY29waWVkIHRv
IHRoZSBwcmltYXJ5IGJ1ZmZlciBUZXN0IHRpbWVkIG91dAogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZm
ZXItZnVsbC1pbnNwZWN0LWJ1ZmZlci1kdXJpbmctY2FsbGJhY2suaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1m
dWxsLWluc3BlY3QtYnVmZmVyLWR1cmluZy1jYWxsYmFjay5odG1sCmluZGV4IGQ0NmQ0NjkyYTU1
YjljYmVmMWFhNWY4ODJmMzg4ODdlMWY3OTQwZTkuLmQ0YWIwNGNkZDM0NWM5NTMwNGZhNmIzZWY1
YmQzNzkyMmMwNWVhMmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluc3BlY3QtYnVmZmVy
LWR1cmluZy1jYWxsYmFjay5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluc3BlY3QtYnVmZmVy
LWR1cmluZy1jYWxsYmFjay5odG1sCkBAIC02LDYgKzYsNyBAQAogPGxpbmsgcmVsPSJoZWxwIiBo
cmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1hbmNlcmVz
b3VyY2V0aW1pbmciLz4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2J1ZmZlci1mdWxsLXV0aWxpdGllcy5qcyI+
PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXNl
dC10by1jdXJyZW50LWJ1ZmZlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zZXQtdG8t
Y3VycmVudC1idWZmZXItZXhwZWN0ZWQudHh0CmluZGV4IDhjMzU2OWQ2NTg4OWQzNGQwNzhkY2E5
NjdmYjUzZmM5ZGFhODU0NmMuLmVlMmQwNzYzY2NhODEyODhmYTZkZTM5MWRmNzc2NzIxZDcyOGRh
NzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXNldC10by1jdXJyZW50LWJ1ZmZlci1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc2V0LXRvLWN1cnJlbnQtYnVmZmVyLWV4cGVj
dGVkLnR4dApAQCAtMSwzICsxLDUgQEAKIAotUEFTUyBUZXN0IHRoYXQgZW50cmllcyBhZGRlZCBh
bmQgZXZlbnQgZmlyaW5nIGhhcHBlbmVkIGluIHRoZSByaWdodCBzZXF1ZW5jZQorSGFybmVzcyBF
cnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgVGVzdCB0aGF0IGFkZGlu
ZyBlbnRyaWVzIGFuZCBmaXJpbmcgdGhlIGJ1ZmZlciBmdWxsIGV2ZW50IGhhcHBlbiBpbiB0aGUg
cmlnaHQgb3JkZXIuIFRlc3QgdGltZWQgb3V0CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxs
LXNldC10by1jdXJyZW50LWJ1ZmZlci5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc2V0LXRvLWN1cnJl
bnQtYnVmZmVyLmh0bWwKaW5kZXggMWU1NDg2ZWMyY2RmYzQ0Mjg3NmJhMWY1YjJjNTI0OTg1ZTcw
ZTViNS4uZGM1MjdiOWEzMmY1MTQ5ZmRlNGJlODZkM2IyYWU1ZDgxZmQyZDRjNyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvYnVmZmVyLWZ1bGwtc2V0LXRvLWN1cnJlbnQtYnVmZmVyLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVm
ZmVyLWZ1bGwtc2V0LXRvLWN1cnJlbnQtYnVmZmVyLmh0bWwKQEAgLTIsODEgKzIsMzMgQEAKIDxo
dG1sPgogPGhlYWQ+CiA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Ci08bGluayByZWw9ImhlbHAiIGhy
ZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby9yZXNvdXJjZS10aW1pbmcvI2RvbS1wZXJmb3JtYW5j
ZS1zZXRyZXNvdXJjZXRpbWluZ2J1ZmZlcnNpemUiPgogPHRpdGxlPlRoaXMgdGVzdCB2YWxpZGF0
ZXMgdGhhdCBzZXRSZXNvdXJjZVRpbWluZ0J1ZmZlckZ1bGwgYmVoYXZlcyBhcHByb3ByaWF0ZWx5
IHdoZW4gc2V0IHRvIHRoZSBjdXJyZW50IGJ1ZmZlciBsZXZlbC48L3RpdGxlPgorPGxpbmsgcmVs
PSJhdXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+
Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10
aW1pbmctMi8jZG9tLXBlcmZvcm1hbmNlLW9ucmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIj4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL2J1ZmZlci1mdWxsLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+
CiA8Ym9keT4KIDxzY3JpcHQ+Ci1sZXQgZXZlbnRGaXJlZCA9IGZhbHNlOwotCi1sZXQgbG9hZFJh
bmRvbVJlc291cmNlID0gKCkgPT4gewotICAgIHJldHVybiBmZXRjaCh3aW5kb3cubG9jYXRpb24u
aHJlZiArICI/IiArIE1hdGgucmFuZG9tKCkpOwotfTsKLQotc2V0dXAoKCkgPT4gewotICAgIC8v
IEdldCB0aGUgYnJvd3NlciBpbnRvIGEgY29uc2lzdGVudCBzdGF0ZS4KLSAgICBjbGVhckJ1ZmZl
ckFuZFNldFNpemUoMTAwKTsKLSAgICB3aW5kb3cucmVzdWx0ID0gIiI7Ci19KTsKLQotbGV0IGZp
bGxVcFRoZUJ1ZmZlciA9ICgpID0+IHsKLSAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9
PiB7Ci0gICAgICAgIC8vIEdhdGhlciB1cCAzIFJlc291cmNlIEVudHJpZXMgdG8ga2ljayBvZmYg
dGhlIHJlc3Qgb2YgdGVzdCBiZWhhdmlvci4KLSAgICAgICAgbGV0IHJlc291cmNlcyA9IDA7Ci0g
ICAgICAgIGxldCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGxpc3QgPT4gewot
ICAgICAgICAgICAgcmVzb3VyY2VzICs9IGxpc3QuZ2V0RW50cmllc0J5VHlwZSgicmVzb3VyY2Ui
KS5sZW5ndGg7Ci0gICAgICAgICAgICBpZiAocmVzb3VyY2VzICE9PSAzKQotICAgICAgICAgICAg
ICAgIHJldHVybjsKLSAgICAgICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTsKLSAgICAgICAg
ICAgIHJlc29sdmUoKTsKLSAgICAgICAgfSk7Ci0gICAgICAgIG9ic2VydmVyLm9ic2VydmUoe2Vu
dHJ5VHlwZXM6IFsicmVzb3VyY2UiXX0pOwotICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDM7
ICsraSkKLSAgICAgICAgICAgIGxvYWRSYW5kb21SZXNvdXJjZSgpOwotICAgIH0pOwotfTsKLQot
bGV0IHNldEJ1ZmZlclNpemUgPSAoKSA9PiB7Ci0gICAgcGVyZm9ybWFuY2Uub25yZXNvdXJjZXRp
bWluZ2J1ZmZlcmZ1bGwgPSAoKSA9PiB7Ci0gICAgICAgIGV2ZW50RmlyZWQgPSB0cnVlOwotICAg
ICAgICB3aW5kb3cucmVzdWx0ICs9ICJFdmVudCBGaXJlZCB3aXRoICIgICsgcGVyZm9ybWFuY2Uu
Z2V0RW50cmllc0J5VHlwZSgicmVzb3VyY2UiKS5sZW5ndGggKyAiIGVudHJpZXMuICI7Citwcm9t
aXNlX3Rlc3QoYXN5bmMgKCkgPT4geworICAgIGxldCByZXN1bHQgPSAnJzsKKyAgICBwZXJmb3Jt
YW5jZS5hZGRFdmVudExpc3RlbmVyKCdyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwnLCAoKSA9PiB7
CisgICAgICAgIHJlc3VsdCArPSAnRXZlbnQgRmlyZWQgd2l0aCAnICArCisgICAgICAgICAgICBw
ZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdyZXNvdXJjZScpLmxlbmd0aCArICcgZW50cmll
cy4nOwogICAgICAgICBwZXJmb3JtYW5jZS5jbGVhclJlc291cmNlVGltaW5ncygpOwotICAgIH07
Ci0gICAgd2luZG93LnJlc3VsdCArPSAiYmVmb3JlIHNldExpbWl0KDMpLiAiOwotICAgIHBlcmZv
cm1hbmNlLnNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6ZSgzKTsKLSAgICB3aW5kb3cucmVzdWx0
ICs9ICJhZnRlciBzZXRMaW1pdCgzKS4gIjsKLX07Ci0KLWxldCBvdmVyZmxvd1RoZUJ1ZmZlciA9
ICgpID0+IHsKLSAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0gICAgICAgIGxv
YWRSYW5kb21SZXNvdXJjZSgpLnRoZW4oKCkgPT4gewotICAgICAgICAgICAgd2luZG93LnJlc3Vs
dCArPSAiYWZ0ZXIgbG9hZGluZyA0dGggcmVzb3VyY2UuICI7Ci0gICAgICAgICAgICByZXNvbHZl
KCk7Ci0gICAgICAgIH0pOwogICAgIH0pOwotfTsKLQotbGV0IGNoZWNrUmVzdWx0ID0gKCkgPT4g
ewotICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7Ci0gICAgICAg
IGlmICh3aW5kb3cucmVzdWx0ICE9ICJiZWZvcmUgc2V0TGltaXQoMykuIGFmdGVyIHNldExpbWl0
KDMpLiBhZnRlciBsb2FkaW5nIDR0aCByZXNvdXJjZS4gRXZlbnQgRmlyZWQgd2l0aCAzIGVudHJp
ZXMuICIpIHsKLSAgICAgICAgICAgIHJlamVjdCgiTm9uIG1hdGNoaW5nIHZhbHVlOiAiICsgd2lu
ZG93LnJlc3VsdCk7Ci0gICAgICAgIH0KLSAgICAgICAgbGV0IGVudHJpZXMgPSBwZXJmb3JtYW5j
ZS5nZXRFbnRyaWVzQnlUeXBlKCJyZXNvdXJjZSIpOwotICAgICAgICBpZiAoZW50cmllcy5sZW5n
dGggIT0gMSkgewotICAgICAgICAgICAgcmVqZWN0KCJOdW1iZXIgb2YgZW50cmllcyBpbiByZXNv
dXJjZSB0aW1pbmcgYnVmZmVyIGlzIHVuZXhwZWN0ZWQ6ICIgKyBlbnRyaWVzLmxlbmd0aCk7Ci0g
ICAgICAgIH0KLSAgICAgICAgcmVzb2x2ZSgpOwotICAgIH0pOwotfTsKLQotcHJvbWlzZV90ZXN0
KGFzeW5jICgpID0+IHsKLSAgICBhd2FpdCBmaWxsVXBUaGVCdWZmZXIoKTsKLSAgICBzZXRCdWZm
ZXJTaXplKCk7Ci0gICAgYXdhaXQgb3ZlcmZsb3dUaGVCdWZmZXIoKTsKLSAgICBhd2FpdCB3YWl0
Rm9yRXZlbnRUb0ZpcmUoKTsKLSAgICBhd2FpdCBjaGVja1Jlc3VsdCgpOwotfSwgIlRlc3QgdGhh
dCBlbnRyaWVzIGFkZGVkIGFuZCBldmVudCBmaXJpbmcgaGFwcGVuZWQgaW4gdGhlIHJpZ2h0IHNl
cXVlbmNlIik7CisgICAgcmVzdWx0ICs9ICdCZWZvcmUgYWRkaW5nIGVudHJpZXMuICc7CisgICAg
YXdhaXQgZmlsbFVwVGhlQnVmZmVyV2l0aFR3b1Jlc291cmNlcygpOworICAgIHJlc3VsdCArPSAn
QWZ0ZXIgYWRkaW5nIGVudHJpZXMuICc7CisgICAgbG9hZC5zY3JpcHQoc2NyaXB0UmVzb3VyY2Vz
WzJdKTsKKyAgICBhd2FpdCBidWZmZXJGdWxsRmlyZVByb21pc2U7CisgICAgYXNzZXJ0X2VxdWFs
cyhyZXN1bHQsICdCZWZvcmUgYWRkaW5nIGVudHJpZXMuIEFmdGVyIGFkZGluZyBlbnRyaWVzLiBF
dmVudCBGaXJlZCB3aXRoIDIgZW50cmllcy4nKTsKKyAgICBjb25zdCBlbnRyaWVzID0gcGVyZm9y
bWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKTsKKyAgICBhc3NlcnRfZXF1YWxzKGVu
dHJpZXMubGVuZ3RoLCAxLAorICAgICAgICAnTnVtYmVyIG9mIGVudHJpZXMgaW4gcmVzb3VyY2Ug
dGltaW5nIGJ1ZmZlciBpcyB1bmV4cGVjdGVkJyk7CisgICAgYXNzZXJ0X3RydWUoZW50cmllc1sw
XS5uYW1lLmluY2x1ZGVzKHNjcmlwdFJlc291cmNlc1syXSksCisgICAgICAgICdUaGUgZW50cnkg
bXVzdCBjb3JyZXNwb25kIHRvIHRoZSBsYXN0IHJlc291cmNlIGxvYWRlZC4nKQorfSwgIlRlc3Qg
dGhhdCBhZGRpbmcgZW50cmllcyBhbmQgZmlyaW5nIHRoZSBidWZmZXIgZnVsbCBldmVudCBoYXBw
ZW4gaW4gdGhlIHJpZ2h0IG9yZGVyLiIpOwogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZm
ZXItZnVsbC1zdG9yZS1hbmQtY2xlYXItZHVyaW5nLWNhbGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2J1ZmZlci1mdWxsLXN0b3JlLWFuZC1jbGVhci1kdXJpbmctY2FsbGJhY2stZXhwZWN0ZWQudHh0
CmluZGV4IGJmMjc1NWZjNDI4ODJhMjUxN2NiZDRkYjM0MWQ1NWY1MWM2MjYyNmUuLjM3ZjBjZjE5
OWU5NDI3ZGM3YTg3MzBhZTYzOTc0NDU0NDU4MDM3NTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1m
dWxsLXN0b3JlLWFuZC1jbGVhci1kdXJpbmctY2FsbGJhY2stZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2J1ZmZlci1mdWxsLXN0b3JlLWFuZC1jbGVhci1kdXJpbmctY2FsbGJhY2stZXhwZWN0ZWQudHh0
CkBAIC0xLDMgKzEsNSBAQAogCi1QQVNTIFRlc3QgdGhhdCBlbnRyaWVzIG92ZXJmbG93aW5nIHRo
ZSBidWZmZXIgdHJpZ2dlciB0aGUgYnVmZmVyIGZ1bGwgZXZlbnQsIGNhbiBiZSBzdG9yZWQsIGFu
ZCBmaW5kIHRoZW1zZWx2ZXMgaW4gdGhlIHByaW1hcnkgYnVmZmVyIGFmdGVyIGl0J3MgY2xlYXJl
ZC4KK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIFRl
c3QgdGhhdCBlbnRyaWVzIG92ZXJmbG93aW5nIHRoZSBidWZmZXIgdHJpZ2dlciB0aGUgYnVmZmVy
IGZ1bGwgZXZlbnQsIGNhbiBiZSBzdG9yZWQsIGFuZCBtYWtlIHRoZWlyIHdheSB0byB0aGUgcHJp
bWFyeSBidWZmZXIgYWZ0ZXIgaXQncyBjbGVhcmVkIGluIHRoZSBidWZmZXIgZnVsbCBldmVudC4g
VGVzdCB0aW1lZCBvdXQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc3RvcmUtYW5kLWNs
ZWFyLWR1cmluZy1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc3RvcmUtYW5kLWNsZWFy
LWR1cmluZy1jYWxsYmFjay5odG1sCmluZGV4IGYwNzkxY2JhNmIzOWZiNGI3ZTFhZjA5MDc3Nzcy
ZjFlZTNiNDI3NDQuLjNlYTA1NzcyNTZjODViMzU0NTMzNThkMThjOTcwZTRmYjMwNDVjNGMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXN0b3JlLWFuZC1jbGVhci1kdXJpbmctY2FsbGJhY2su
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zdG9yZS1hbmQtY2xlYXItZHVyaW5nLWNhbGxiYWNr
Lmh0bWwKQEAgLTQsNTIgKzQsMzMgQEAKIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgogPHRpdGxl
PlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIGJlaGF2aW9yIG9mIHJlYWQgYW5kIGNsZWFyIG9wZXJh
dGlvbiBpbiBvbnJlc291cmNldGltaW5nYnVmZmVyZnVsbCBjYWxsYmFjayBvZiByZXNvdXJjZSB0
aW1pbmcuPC90aXRsZT4KIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iSW50ZWwiIGhyZWY9Imh0
dHA6Ly93d3cuaW50ZWwuY29tLyIgLz4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3
dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNwZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+
Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10
aW1pbmctMi8jZG9tLXBlcmZvcm1hbmNlLW9ucmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIi8+CiA8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9InJlc291cmNlcy9idWZmZXItZnVsbC11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgogPC9oZWFk
PgogPGJvZHk+CiA8c2NyaXB0PgotY29uc3QgcmVzb3VyY2VfdGltaW5nX2J1ZmZlcl9zaXplID0g
MTsKLWxldCBnbG9iYWxfYnVmZmVyID0gW107Ci1sZXQgZXZlbnRGaXJlZCA9IGZhbHNlOwotCi1z
ZXR1cCgoKSA9PiB7Ci0gICAgY2xlYXJCdWZmZXJBbmRTZXRTaXplKHJlc291cmNlX3RpbWluZ19i
dWZmZXJfc2l6ZSk7Ci0gICAgbGV0IHN0b3JlX2FuZF9jbGVhciA9IGZ1bmN0aW9uKCkgewotICAg
ICAgICBjb25zdCBlbnRyeUxpc3QgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdyZXNv
dXJjZScpOwotICAgICAgICBlbnRyeUxpc3QuZm9yRWFjaChmdW5jdGlvbiAoZW50cnkpIHsKLSAg
ICAgICAgICAgIGdsb2JhbF9idWZmZXIucHVzaChlbnRyeSk7Ci0gICAgICAgIH0pOwotICAgICAg
ICBwZXJmb3JtYW5jZS5jbGVhclJlc291cmNlVGltaW5ncygpOwotICAgICAgICBldmVudEZpcmVk
ID0gdHJ1ZTsKLSAgICB9Ci0gICAgcGVyZm9ybWFuY2UuYWRkRXZlbnRMaXN0ZW5lcigncmVzb3Vy
Y2V0aW1pbmdidWZmZXJmdWxsJywgc3RvcmVfYW5kX2NsZWFyKTsKLX0pOwotCi1sZXQgb3ZlcmZs
b3dUaGVCdWZmZXIgPSAoKSA9PiB7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4g
ewotICAgICAgICAvLyBUaGlzIHJlc291cmNlIG92ZXJmbG93cyB0aGUgZW50cnkgYnVmZmVyLCBh
bmQgZ29lcyBpbnRvIHRoZSBzZWNvbmRhcnkgYnVmZmVyLgotICAgICAgICBhcHBlbmRTY3JpcHQo
J3Jlc291cmNlcy9lbXB0eV9zY3JpcHQuanMnLCByZXNvbHZlKTsKK3Byb21pc2VfdGVzdChhc3lu
YyAoKSA9PiB7CisgICAgYXdhaXQgZmlsbFVwVGhlQnVmZmVyV2l0aFNpbmdsZVJlc291cmNlKCk7
CisgICAgY29uc3QgZW50cnlCdWZmZXIgPSBbXTsKKyAgICBwZXJmb3JtYW5jZS5hZGRFdmVudExp
c3RlbmVyKCdyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwnLCAoKSA9PiB7CisgICAgICBlbnRyeUJ1
ZmZlci5wdXNoKC4uLnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJykpOwor
ICAgICAgcGVyZm9ybWFuY2UuY2xlYXJSZXNvdXJjZVRpbWluZ3MoKTsKICAgICB9KTsKLX07Ci0K
LWxldCB0ZXN0VGhhdEJ1ZmZlckNvbnRhaW5zVGhlUmlnaHRSZXNvdXJjZXMgPSAoKSA9PiB7Ci0g
ICAgbGV0IGVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdyZXNvdXJjZScp
OworICAgIGxvYWQuc2NyaXB0KHNjcmlwdFJlc291cmNlc1sxXSk7CisgICAgYXdhaXQgYnVmZmVy
RnVsbEZpcmVQcm9taXNlOworICAgIGNvbnN0IGVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRy
aWVzQnlUeXBlKCdyZXNvdXJjZScpOwogICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgs
IDEsCi0gICAgICAgICAgICAgICAgICAiT25seSB0aGUgbGFzdCBlbnRyeSBzaG91bGQgYmUgc3Rv
cmVkIGluIHJlc291cmNlIHRpbWluZyBidWZmZXIgc2luY2UgaXQncyBjbGVhcmVkIG9uY2UgaXQg
b3ZlcmZsb3dzLiIpOwotICAgIGFzc2VydF9lcXVhbHMoZ2xvYmFsX2J1ZmZlci5sZW5ndGgsIDEs
ICcxIHJlc291cmNlIHRpbWluZyBlbnRyeSBzaG91bGQgYmUgbW92ZWQgdG8gZ2xvYmFsIGJ1ZmZl
ci4nKTsKLSAgICBhc3NlcnRfdHJ1ZShnbG9iYWxfYnVmZmVyWzBdLm5hbWUuaW5jbHVkZXMoJ2Vt
cHR5LmpzJyksICJlbXB0eS5qcyBpcyBpbiB0aGUgZ2xvYmFsIGJ1ZmZlciIpOwotICAgIGFzc2Vy
dF90cnVlKGVudHJpZXNbMF0ubmFtZS5pbmNsdWRlcygnZW1wdHlfc2NyaXB0LmpzJyksICJlbXB0
eV9zY3JpcHQuanMgaXMgaW4gdGhlIGVudHJpZXMgYnVmZmVyIik7Ci19OwotCi1wcm9taXNlX3Rl
c3QoYXN5bmMgKCkgPT4gewotICAgIGF3YWl0IGZpbGxVcFRoZUJ1ZmZlcldpdGhTaW5nbGVSZXNv
dXJjZSgicmVzb3VyY2VzL2VtcHR5LmpzIik7Ci0gICAgYXdhaXQgb3ZlcmZsb3dUaGVCdWZmZXIo
KTsKLSAgICBhd2FpdCB3YWl0Rm9yRXZlbnRUb0ZpcmUoKTsKLSAgICB0ZXN0VGhhdEJ1ZmZlckNv
bnRhaW5zVGhlUmlnaHRSZXNvdXJjZXMoKTsKLX0sICJUZXN0IHRoYXQgZW50cmllcyBvdmVyZmxv
d2luZyB0aGUgYnVmZmVyIHRyaWdnZXIgdGhlIGJ1ZmZlciBmdWxsIGV2ZW50LCBjYW4gYmUgc3Rv
cmVkLCBhbmQgZmluZCB0aGVtc2VsdmVzIGluIHRoZSBwcmltYXJ5IGJ1ZmZlciBhZnRlciBpdCdz
IGNsZWFyZWQuIik7CisgICAgICAgICJPbmx5IHRoZSBsYXN0IGVudHJ5IHNob3VsZCBiZSBzdG9y
ZWQgaW4gcmVzb3VyY2UgdGltaW5nIGJ1ZmZlciBzaW5jZSBpdCdzIGNsZWFyZWQgb25jZSBpdCBv
dmVyZmxvd3MuIik7CisgICAgYXNzZXJ0X3RydWUoZW50cmllc1swXS5uYW1lLmluY2x1ZGVzKHNj
cmlwdFJlc291cmNlc1sxXSksCisgICAgICAgIHNjcmlwdFJlc291cmNlc1sxXSAgKyAiIGlzIGlu
IHRoZSBlbnRyaWVzIGJ1ZmZlciIpOworICAgIGFzc2VydF9lcXVhbHMoZW50cnlCdWZmZXIubGVu
Z3RoLCAxLAorICAgICAgICAnMSByZXNvdXJjZSB0aW1pbmcgZW50cnkgc2hvdWxkIGJlIG1vdmVk
IHRvIGVudHJ5QnVmZmVyLicpOworICAgIGFzc2VydF90cnVlKGVudHJ5QnVmZmVyWzBdLm5hbWUu
aW5jbHVkZXMoc2NyaXB0UmVzb3VyY2VzWzBdKSwKKyAgICAgICAgc2NyaXB0UmVzb3VyY2VzWzBd
ICsgJyBpcyBpbiB0aGUgZW50cnlCdWZmZXInKTsKK30sICJUZXN0IHRoYXQgZW50cmllcyBvdmVy
Zmxvd2luZyB0aGUgYnVmZmVyIHRyaWdnZXIgdGhlIGJ1ZmZlciBmdWxsIGV2ZW50LCBjYW4gYmUg
c3RvcmVkLCBhbmQgbWFrZSB0aGVpciB3YXkgdG8gdGhlIHByaW1hcnkgYnVmZmVyIGFmdGVyIGl0
J3MgY2xlYXJlZCBpbiB0aGUgYnVmZmVyIGZ1bGwgZXZlbnQuIik7CiA8L3NjcmlwdD4KIDwvYm9k
eT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXRoZW4taW5jcmVhc2VkLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXRoZW4taW5jcmVhc2VkLWV4cGVjdGVkLnR4dApp
bmRleCBlZmJiNjk3NGJhNzNhZWQ5MDBjMDVmYzUxZWZkMzc4MzQ1MDgyOTE5Li42ZjllM2Y4MmQw
MTFjODMxOTQ4MWFlYTkyYmZlMjE0YWM3YWU2MDdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVs
bC10aGVuLWluY3JlYXNlZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1p
bmNyZWFzZWQtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1QQVNTIFRlc3QgdGhhdCBv
dmVyZmxvd2luZyB0aGUgYnVmZmVyIGFuZCBpbW1lZGlhdGVseSBpbmNyZWFzaW5nIGl0cyBsaW1p
dCBkb2VzIG5vdCB0cmlnZ2VyIHRoZSByZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwgZXZlbnQKK0ZB
SUwgVGVzdCB0aGF0IG92ZXJmbG93aW5nIHRoZSBidWZmZXIgYW5kIGltbWVkaWF0ZWx5IGluY3Jl
YXNpbmcgaXRzIGxpbWl0IGRvZXMgbm90IHRyaWdnZXIgdGhlIHJlc291cmNldGltaW5nYnVmZmVy
ZnVsbCBldmVudCBhc3NlcnRfZXF1YWxzOiBBbGwgcmVzb3VyY2VzIHNob3VsZCBiZSBpbiB0aGUg
YnVmZmVyLCBzaW5jZSBpdHMgc2l6ZSB3YXMgaW5jcmVhc2VkIGV4cGVjdGVkIDMgYnV0IGdvdCAy
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXRoZW4taW5jcmVhc2VkLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9i
dWZmZXItZnVsbC10aGVuLWluY3JlYXNlZC5odG1sCmluZGV4IDIyNjUwNzdmYzE1YTI3N2MzMzUy
ZGEyMTVmYTVhYzhhMjc2YzYwYWEuLjY1MmFkMTkyMWQzZDU5NzY4YjcyZDQ1ZmI2OWU3ZDk0ZWQ3
MzA1MjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXRoZW4taW5jcmVhc2VkLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQuaHRtbApAQCAtNiw2ICs2LDcgQEAKIDxs
aW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5n
LyNwZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNl
LWxvYWRlcnMuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy9idWZmZXItZnVs
bC11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9idWZmZXItZnVsbC13aGVuLXBvcHVsYXRlLWVudHJpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVm
ZmVyLWZ1bGwtd2hlbi1wb3B1bGF0ZS1lbnRyaWVzLWV4cGVjdGVkLnR4dAppbmRleCAzNGVjODE4
NTg5ZDY1ZTkxOGEzYWI5NDM2NzI2ZDE0MjEzMTE1ZTc2Li5mMTlmZjE4NjNkNzljOTM5MzhjMjRj
OWNmNjVlMjU1YzFiZTdmYTZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC13aGVuLXBvcHVs
YXRlLWVudHJpZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXdoZW4tcG9wdWxh
dGUtZW50cmllcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLVBBU1MgVGVzdCB0aGF0
IGEgYnVmZmVyIGZ1bGwgZXZlbnQgZG9lcyBub3QgYnViYmxlIGFuZCB0aGF0IHJlc291cmNldGlt
aW5nYnVmZmVyZnVsbCBpcyBjYWxsZWQgb25seSBvbmNlIHBlciBvdmVyZmxvdworRkFJTCBUZXN0
IHRoYXQgYSBidWZmZXIgZnVsbCBldmVudCBkb2VzIG5vdCBidWJibGUgYW5kIHRoYXQgcmVzb3Vy
Y2V0aW1pbmdidWZmZXJmdWxsIGlzIGNhbGxlZCBvbmx5IG9uY2UgcGVyIG92ZXJmbG93IGFzc2Vy
dF9lcXVhbHM6IE51bWJlciBvZiBlbnRyaWVzIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCB2
YWx1ZS4gZXhwZWN0ZWQgMiBidXQgZ290IDAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwt
d2hlbi1wb3B1bGF0ZS1lbnRyaWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC13aGVuLXBvcHVsYXRl
LWVudHJpZXMuaHRtbAppbmRleCAwMGQyYWUwZTQ0MjZmNDY0NGY3MGU5MjE3NTFmZmZjMzI3ZGU0
NmQ2Li5mNGIxYTJlN2U3YWJiYTI1Yzc4ZTRjMWRiZTBiMWFiYTI5MDYxZDQ3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9idWZmZXItZnVsbC13aGVuLXBvcHVsYXRlLWVudHJpZXMuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZm
ZXItZnVsbC13aGVuLXBvcHVsYXRlLWVudHJpZXMuaHRtbApAQCAtMiw0NCArMiwyOCBAQAogPGh0
bWw+CiA8aGVhZD4KIDxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgotPGxpbmsgcmVsPSJhdXRob3Ii
IHRpdGxlPSJJbnRlbCIgaHJlZj0iaHR0cDovL3d3dy5pbnRlbC5jb20vIiAvPgotPGxpbmsgcmVs
PSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZv
cm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KIDx0aXRsZT5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSBm
dW5jdGlvbmFsaXR5IG9mIG9ucmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIGluIHJlc291cmNlIHRp
bWluZy48L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJJbnRlbCIgaHJlZj0iaHR0
cDovL3d3dy5pbnRlbC5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3
dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI2RvbS1wZXJmb3JtYW5jZS1vbnJlc291cmNl
dGltaW5nYnVmZmVyZnVsbCIvPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVz
LmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPHNjcmlwdD4KLWNvbnN0IHJlc291cmNl
X3RpbWluZ19idWZmZXJfc2l6ZSA9IDI7Ci1sZXQgYnVmZmVyRnVsbENvdW50ID0gMDsKLWxldCBl
dmVudEZpcmVkID0gZmFsc2U7Ci1zZXR1cCgoKSA9PiB7Ci0gICAgY2xlYXJCdWZmZXJBbmRTZXRT
aXplKHJlc291cmNlX3RpbWluZ19idWZmZXJfc2l6ZSk7Citwcm9taXNlX3Rlc3QoYXN5bmMgKCkg
PT4geworICAgIGxldCBidWZmZXJGdWxsQ291bnQgPSAwOwogICAgIHBlcmZvcm1hbmNlLmFkZEV2
ZW50TGlzdGVuZXIoJ3Jlc291cmNldGltaW5nYnVmZmVyZnVsbCcsIGUgPT4gewogICAgICAgICBh
c3NlcnRfZXF1YWxzKGUuYnViYmxlcywgZmFsc2UsICJFdmVudCBidWJibGVzIGF0dHJpYnV0ZSBp
cyBmYWxzZSIpOwogICAgICAgICBidWZmZXJGdWxsQ291bnQrKzsKLSAgICAgICAgZXZlbnRGaXJl
ZCA9IHRydWU7CiAgICAgfSk7Ci19KTsKLQotbGV0IG92ZXJmbG93VGhlQnVmZmVyID0gKCkgPT4g
ewotICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgICAgLy8gVGhpcyBy
ZXNvdXJjZSBvdmVyZmxvd3MgdGhlIGVudHJ5IGJ1ZmZlciwgYW5kIGdvZXMgaW50byB0aGUgc2Vj
b25kYXJ5IGJ1ZmZlci4KLSAgICAgICAgYXBwZW5kU2NyaXB0KCdyZXNvdXJjZXMvZW1wdHlfc2Ny
aXB0LmpzJywgcmVzb2x2ZSk7Ci0gICAgfSk7Ci19OwotCi1sZXQgdGVzdFRoYXRCdWZmZXJDb250
YWluc1RoZVJpZ2h0UmVzb3VyY2VzID0gKCkgPT4gewotICAgIGFzc2VydF9lcXVhbHMocGVyZm9y
bWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKS5sZW5ndGgsIHJlc291cmNlX3RpbWlu
Z19idWZmZXJfc2l6ZSwgJ1RoZXJlIHNob3VsZCBvbmx5IGJlIHxidWZmZXJTaXplfCByZXNvdXJj
ZSBlbnRyaWVzLicpOworICAgIGF3YWl0IGZpbGxVcFRoZUJ1ZmZlcldpdGhUd29SZXNvdXJjZXMo
KTsKKyAgICAvLyBPdmVyZmxvdyB0aGUgYnVmZmVyCisgICAgYXdhaXQgbG9hZC5zY3JpcHQoc2Ny
aXB0UmVzb3VyY2VzWzJdKTsKKyAgICBhd2FpdCB3YWl0Rm9yTmV4dFRhc2soKTsKKyAgICBjaGVj
a0VudHJpZXMoMik7CiAgICAgYXNzZXJ0X2VxdWFscyhidWZmZXJGdWxsQ291bnQsIDEsICdvbnJl
c291cmNldGltaW5nYnVmZmVyZnVsbCBzaG91bGQgaGF2ZSBiZWVuIGludm9rZWQgb25jZS4nKTsK
LX07Ci0KLXByb21pc2VfdGVzdChhc3luYyAoKSA9PiB7Ci0gICAgYXdhaXQgZmlsbFVwVGhlQnVm
ZmVyV2l0aFR3b1Jlc291cmNlcygncmVzb3VyY2VzL2VtcHR5LmpzJyk7Ci0gICAgYXdhaXQgb3Zl
cmZsb3dUaGVCdWZmZXIoKTsKLSAgICBhd2FpdCB3YWl0Rm9yRXZlbnRUb0ZpcmUoKTsKLSAgICB0
ZXN0VGhhdEJ1ZmZlckNvbnRhaW5zVGhlUmlnaHRSZXNvdXJjZXMoKTsKIH0sICJUZXN0IHRoYXQg
YSBidWZmZXIgZnVsbCBldmVudCBkb2VzIG5vdCBidWJibGUgYW5kIHRoYXQgcmVzb3VyY2V0aW1p
bmdidWZmZXJmdWxsIGlzIGNhbGxlZCBvbmx5IG9uY2UgcGVyIG92ZXJmbG93Iik7CiA8L3Njcmlw
dD4KIDwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvY29ubmVjdGlvbi1yZXVzZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjViMTU4NzJm
NjM4MThjZTU1NzIzYTA1N2NkOTZjOWNkM2Q2ZjcxNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nv
bm5lY3Rpb24tcmV1c2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorRGVzY3JpcHRpb24K
KworU2VlIHRoZSBpbmNsdWRlZCB0ZXN0IHNjcmlwdAorCisKK1BBU1MgUGVyZm9ybWFuY2VSZXNy
b3VjZVRpbWluZyBlbnRyaWVzIG5lZWQgdG8gY29uZm9ybSB0byB0aGUgc3BlYyB3aGVuIGEgZGlz
dGluY3QgcmVzb3VyY2UgaXMgZmV0Y2hlZCBvdmVyIGEgcGVyc2lzdGVudCBjb25uZWN0aW9uCitQ
QVNTIFBlcmZvcm1hbmNlUmVzcm91Y2VUaW1pbmcgZW50cmllcyBuZWVkIHRvIGNvbmZvcm0gdG8g
dGhlIHNwZWMgd2hlbiB0aGUgcmVzb3VyY2UgaXMgY2FjaGUtcmV2YWxpZGF0ZWQgb3ZlciBhIHBl
cnNpc3RlbnQgY29ubmVjdGlvbgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0aW9uLXJldXNlLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9jb25uZWN0aW9uLXJldXNlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTgyYjdiYzRlYTliYjFj
MzkwNDdjNWY1MTg2N2RjM2EzYTQ1ZGJlYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rp
b24tcmV1c2UuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmcg
Y29ubmVjdGlvbiByZXVzZTwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2ds
ZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJl
Zj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNzZWMtcGVyZm9ybWFu
Y2VyZXNvdXJjZXRpbWluZyIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9lbnRyeS1pbnZhcmlhbnRzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvY29ubmVjdGlvbi1yZXVzZS10ZXN0
LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxw
PlNlZSA8YSBocmVmPSJyZXNvdXJjZXMvY29ubmVjdGlvbi1yZXVzZS10ZXN0LmpzIj50aGUgaW5j
bHVkZWQgdGVzdAorICBzY3JpcHQ8L2E+PC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvY29ubmVjdGlvbi1yZXVzZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0aW9u
LXJldXNlLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNWIxNTg3MmY2MzgxOGNlNTU3
MjNhMDU3Y2Q5NmM5Y2QzZDZmNzE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1y
ZXVzZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACitEZXNjcmlwdGlvbgorCitT
ZWUgdGhlIGluY2x1ZGVkIHRlc3Qgc2NyaXB0CisKKworUEFTUyBQZXJmb3JtYW5jZVJlc3JvdWNl
VGltaW5nIGVudHJpZXMgbmVlZCB0byBjb25mb3JtIHRvIHRoZSBzcGVjIHdoZW4gYSBkaXN0aW5j
dCByZXNvdXJjZSBpcyBmZXRjaGVkIG92ZXIgYSBwZXJzaXN0ZW50IGNvbm5lY3Rpb24KK1BBU1Mg
UGVyZm9ybWFuY2VSZXNyb3VjZVRpbWluZyBlbnRyaWVzIG5lZWQgdG8gY29uZm9ybSB0byB0aGUg
c3BlYyB3aGVuIHRoZSByZXNvdXJjZSBpcyBjYWNoZS1yZXZhbGlkYXRlZCBvdmVyIGEgcGVyc2lz
dGVudCBjb25uZWN0aW9uCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHR0cHMu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lODJiN2Jj
NGVhOWJiMWMzOTA0N2M1ZjUxODY3ZGMzYTNhNDVkYmViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
Y29ubmVjdGlvbi1yZXVzZS5odHRwcy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJl
c291cmNlIFRpbWluZyBjb25uZWN0aW9uIHJldXNlPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9y
IiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsg
cmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIv
I3NlYy1wZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VudHJ5
LWludmFyaWFudHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9jb25uZWN0
aW9uLXJldXNlLXRlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3Jp
cHRpb248L2gxPgorPHA+U2VlIDxhIGhyZWY9InJlc291cmNlcy9jb25uZWN0aW9uLXJldXNlLXRl
c3QuanMiPnRoZSBpbmNsdWRlZCB0ZXN0CisgIHNjcmlwdDwvYT48L3A+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhcnQtZW5kLXRpbWUtd2l0aC1yZWRp
cmVjdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mtb3JpZ2luLXN0YXJ0LWVuZC10aW1lLXdpdGgt
cmVkaXJlY3RzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYWU3MjJmYzlhMTJjNmVlNDIyN2Y0
OTRiZWI2NzYzYWI0N2ZkMzhiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mtb3JpZ2luLXN0
YXJ0LWVuZC10aW1lLXdpdGgtcmVkaXJlY3RzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAK
KworUEFTUyBWZXJpZnkgdGhhdCBjcm9zcy1vcmlnaW4gcmVzb3VyY2VzIGRvbid0IGltcGxpY2l0
bHkgZXhwb3NlIHRoZWlyIHJlZGlyZWN0IHRpbWluZ3MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mt
b3JpZ2luLXN0YXJ0LWVuZC10aW1lLXdpdGgtcmVkaXJlY3RzLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmln
aW4tc3RhcnQtZW5kLXRpbWUtd2l0aC1yZWRpcmVjdHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYjEwN2Qz
YWVmNzc2NGQ5Yjk2MDNlYTI2NThjZjQ2OWNmMjg1OTgwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
Y3Jvc3Mtb3JpZ2luLXN0YXJ0LWVuZC10aW1lLXdpdGgtcmVkaXJlY3RzLmh0bWwKQEAgLTAsMCAr
MSwzMiBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiIC8+Cis8dGl0bGU+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUgdmFsdWVzIGluIHJlc291
cmNlIHRpbWluZyBmb3IgY3Jvc3Mtb3JpZ2luCityZWRpcmVjdHMuPC90aXRsZT4KKzxsaW5rIHJl
bD0iYXV0aG9yIiB0aXRsZT0iTm9hbSBSb3NlbnRoYWwiIGhyZWY9Im5vYW1Ad2Via2l0Lm9yZyI+
Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10
aW1pbmctMi8jc2VjLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9u
L2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
cmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2Vu
dHJ5LWludmFyaWFudHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0Pgor
Y29uc3Qge1JFTU9URV9PUklHSU59ID0gZ2V0X2hvc3RfaW5mbygpOworY29uc3QgZGVsYXkgPSAy
Citjb25zdCBibGFua19wYWdlID0gYC9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2JsYW5rX3Bh
Z2VfZ3JlZW4uaHRtYDsKK2NvbnN0IGRlc3RVcmwgPSBgL2NvbW1vbi9zbG93LXJlZGlyZWN0LnB5
P2RlbGF5PSR7ZGVsYXl9JmxvY2F0aW9uPSR7UkVNT1RFX09SSUdJTn0vJHtibGFua19wYWdlfWA7
CisKK2NvbnN0IHRpbWVCZWZvcmUgPSBwZXJmb3JtYW5jZS5ub3coKQorYXR0cmlidXRlX3Rlc3Qo
bG9hZC5pZnJhbWUsIGRlc3RVcmwsIGVudHJ5ID0+IHsKKyAgICBhc3NlcnRfZXF1YWxzKGVudHJ5
LnN0YXJ0VGltZSwgZW50cnkuZmV0Y2hTdGFydCwgJ3N0YXJ0VGltZSBhbmQgZmV0Y2hTdGFydCBz
aG91bGQgYmUgZXF1YWwnKTsKKyAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKGVudHJ5LnN0YXJ0VGlt
ZSwgdGltZUJlZm9yZSwgJ3N0YXJ0VGltZSBhbmQgZmV0Y2hTdGFydCBzaG91bGQgYmUgZ3JlYXRl
ciB0aGFuIHRoZSB0aW1lIGJlZm9yZSBmZXRjaGluZycpOworICAgIC8vIFNlZSBodHRwczovL2dp
dGh1Yi5jb20vdzNjL3Jlc291cmNlLXRpbWluZy9pc3N1ZXMvMjY0CisgICAgYXNzZXJ0X2xlc3Nf
dGhhbihNYXRoLnJvdW5kKGVudHJ5LnN0YXJ0VGltZSAtIHRpbWVCZWZvcmUpLCBkZWxheSAqIDEw
MDAsICdzdGFydFRpbWUgc2hvdWxkIG5vdCBleHBvc2UgcmVkaXJlY3QgZGVsYXlzJyk7Cit9LCAi
VmVyaWZ5IHRoYXQgY3Jvc3Mtb3JpZ2luIHJlc291cmNlcyBkb24ndCBpbXBsaWNpdGx5IGV4cG9z
ZSB0aGVpciByZWRpcmVjdCB0aW1pbmdzIikKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhdHVzLWNvZGVzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9z
cy1vcmlnaW4tc3RhdHVzLWNvZGVzLmh0bWwKaW5kZXggZThlY2U1ZmYyZmVhM2Q0ZDg1NmNkZjM3
NzQ4NzBjNTkwODBhMWM0NS4uMTk3YTc2NjMzOTZlZjY2Yzc3NjRkNjU5OWIwMzg1NGQxMzhmMmU2
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mtb3JpZ2luLXN0YXR1cy1jb2Rlcy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2Nyb3NzLW9yaWdpbi1zdGF0dXMtY29kZXMuaHRtbApAQCAtMSw2ICsxLDkgQEAKIDwhZG9jdHlw
ZSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmc6IFBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcgYXR0cmlidXRlcyBzaG91bGRuJ3QgY2hhbmdlCisgIGlmIHRoZSBI
VFRQIHN0YXR1cyBjb2RlIGNoYW5nZXM8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJo
dHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI3NlYy1wZXJmb3JtYW5jZXJl
c291cmNldGltaW5nIi8+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0vY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzPjwvc2Ny
aXB0PgpAQCAtMTUsMzQgKzE4LDUzIEBACiA8c2NyaXB0IGlkPSJzY3JpcHRfNDA0Ij48L3Njcmlw
dD4KIDxzY3JpcHQgaWQ9InNjcmlwdF81MDIiPjwvc2NyaXB0PgogPHNjcmlwdD4KLWFzeW5jX3Rl
c3QodCA9PiB7Ci0gIGxldCBkZXN0VXJsID0gZ2V0X2hvc3RfaW5mbygpLkhUVFBfUkVNT1RFX09S
SUdJTiArICcvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy8nOwotICBsZXQgc3RhdHVzQ29kZXMg
PSBbJzIwMCcsICczMDcnLCAnNDA0JywgJzUwMiddOworCitjb25zdCBsaXN0ZW5Gb3JQZXJmb3Jt
YW5jZUVudHJpZXMgPSBudW1fZXhwZWN0ZWQgPT4geworICByZXR1cm4gbmV3IFByb21pc2UocmVz
b2x2ZSA9PiB7CisgICAgbGV0IHJlc3VsdHMgPSBbXTsKKyAgICBuZXcgUGVyZm9ybWFuY2VPYnNl
cnZlcihlbnRyeUxpc3QgPT4geworICAgICAgZW50cnlMaXN0LmdldEVudHJpZXMoKS5mb3JFYWNo
KGVudHJ5ID0+IHsKKyAgICAgICAgaWYgKCFlbnRyeS5uYW1lLmluY2x1ZGVzKCJzdGF0dXMtY29k
ZSIpKQorICAgICAgICAgIHJldHVybjsKKworICAgICAgICByZXN1bHRzLnB1c2goZW50cnkpOwor
ICAgICAgICBpZiAocmVzdWx0cy5sZW5ndGggPT0gbnVtX2V4cGVjdGVkKSB7CisgICAgICAgICAg
cmVzb2x2ZShyZXN1bHRzKTsKKyAgICAgICAgfQorICAgICAgfSk7CisgICAgfSkub2JzZXJ2ZSh7
ZW50cnlUeXBlczogWydyZXNvdXJjZSddfSk7CisgIH0pOworfQorCitwcm9taXNlX3Rlc3QoYXN5
bmMgdCA9PiB7CisgIGNvbnN0IGRlc3RVcmwgPSBnZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1PVEVf
T1JJR0lOICsgJy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzLyc7CisgIGNvbnN0IHN0YXR1c0Nv
ZGVzID0gWycyMDAnLCAnMzA3JywgJzQwNCcsICc1MDInXTsKKworICBsZXQgZXhwZWN0ZWRfZW50
cnlfY291bnQgPSAwOwogICBzdGF0dXNDb2Rlcy5mb3JFYWNoKHN0YXR1cyA9PiB7Ci0gICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ltZ18nICsgc3RhdHVzKS5zcmMgPSBkZXN0VXJsICsgJ3N0
YXR1cy1jb2RlLnB5P3N0YXR1cz0nICsgc3RhdHVzOwotICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdzY3JpcHRfJyArIHN0YXR1cykuc3JjID0gZGVzdFVybCArICdzdGF0dXMtY29kZS5weT9z
dGF0dXM9JyArIHN0YXR1cyArICcmc2NyaXB0PTEnOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKGBpbWdfJHtzdGF0dXN9YCkuc3JjID0gYCR7ZGVzdFVybH1zdGF0dXMtY29kZS5weT9zdGF0
dXM9JHtzdGF0dXN9YDsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgc2NyaXB0XyR7c3Rh
dHVzfWApLnNyYyA9IGAke2Rlc3RVcmx9c3RhdHVzLWNvZGUucHk/c3RhdHVzPSR7c3RhdHVzfSZz
Y3JpcHQ9MWA7CisgICAgZXhwZWN0ZWRfZW50cnlfY291bnQgKz0gMjsKICAgfSk7Ci0gIGxldCBu
YW1lTWFwID0ge307Ci0gIGxldCBmaXJzdEVudHJ5ID0gbnVsbDsKLSAgLy8gV2Ugd2lsbCBjaGVj
ayB0aGF0IHRoZSBub24tdGltZXN0YW1wIHZhbHVlcyBvZiB0aGUgZW50cnkgbWF0Y2ggZm9yIGFs
bCBlbnRyaWVzLgotICBjb25zdCBrZXlzID0gWydlbnRyeVR5cGUnLCAnbmV4dEhvcFByb3RvY29s
JywgJ3RyYW5zZmVyU2l6ZScsICdlbmNvZGVkQm9keVNpemUnLCAnZGVjb2RlZEJvZHlTaXplJ107
Ci0gIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHQuc3RlcF9mdW5jKGVudHJ5TGlzdCA9PiB7Ci0g
ICAgZW50cnlMaXN0LmdldEVudHJpZXMoKS5mb3JFYWNoKGVudHJ5ID0+IHsKLSAgICAgIGlmICgh
ZW50cnkubmFtZS5pbmNsdWRlcygic3RhdHVzLWNvZGUiKSkKLSAgICAgICAgcmV0dXJuOwogCi0g
ICAgICBuYW1lTWFwW2VudHJ5Lm5hbWVdID0gdHJ1ZTsKLSAgICAgIGlmICghZmlyc3RFbnRyeSkg
ewotICAgICAgICBmaXJzdEVudHJ5ID0gZW50cnk7Ci0gICAgICB9IGVsc2UgewotICAgICAgICBr
ZXlzLmZvckVhY2goa2V5ID0+IHsKLSAgICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJ5W2tleV0s
IGZpcnN0RW50cnlba2V5XSwgYERpc2Nlcm5pYmxlIGRpZmZlcmVuY2UgaW4gJHtrZXl9IGZvciAk
e2VudHJ5Lm5hbWV9YCk7Ci0gICAgICAgIH0pOwotICAgICAgfQotICAgIH0pOwotICAgIGlmIChP
YmplY3Qua2V5cyhuYW1lTWFwKS5sZW5ndGggPT09IDgpIHsKLSAgICAgIHQuZG9uZSgpOwotICAg
IH0KLSAgfSkpLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsncmVzb3VyY2UnXX0pOworICBjb25zdCBl
bnRyaWVzID0gYXdhaXQgbGlzdGVuRm9yUGVyZm9ybWFuY2VFbnRyaWVzKGV4cGVjdGVkX2VudHJ5
X2NvdW50KTsKKworICAvLyBXZSB3aWxsIGNoZWNrIHRoYXQgdGhlIG5vbi10aW1lc3RhbXAgdmFs
dWVzIG9mIHRoZSBlbnRyeSBtYXRjaCBmb3IgYWxsCisgIC8vIGVudHJpZXMuCisgIGNvbnN0IGtl
eXMgPSBbCisgICAgJ2VudHJ5VHlwZScsCisgICAgJ25leHRIb3BQcm90b2NvbCcsCisgICAgJ3Ry
YW5zZmVyU2l6ZScsCisgICAgJ2VuY29kZWRCb2R5U2l6ZScsCisgICAgJ2RlY29kZWRCb2R5U2l6
ZScsCisgIF07CisKKyAgY29uc3QgZmlyc3QgPSBlbnRyaWVzWzBdOworICBlbnRyaWVzLnNsaWNl
KDEpLmZvckVhY2goZW50cnkgPT4geworICAgIGtleXMuZm9yRWFjaChhdHRyaWJ1dGUgPT4gewor
ICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyeVthdHRyaWJ1dGVdLCBmaXJzdFthdHRyaWJ1dGVdLAor
ICAgICAgICBgVGhlcmUgbXVzdCBiZSBubyBkaXNjZXJuaWJsZSBkaWZmZXJlbmNlIGZvciB0aGUg
JHthdHRyaWJ1dGV9IGAgKworICAgICAgICBgYXR0cmlidXRlIGJ1dCBmb3VuZCBhIGRpZmZlcmVu
Y2UgZm9yIHRoZSAke2VudHJ5Lm5hbWV9IHJlc291cmNlLmApOworICB9KX0pOwogfSwgIk1ha2Ug
c3VyZSBjcm9zcyBvcmlnaW4gcmVzb3VyY2UgZmV0Y2ggZmFpbHVyZXMgd2l0aCBkaWZmZXJlbnQg
c3RhdHVzIGNvZGVzIGFyZSBpbmRpc3Rpbmd1aXNoYWJsZSIpOwogPC9zY3JpcHQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9kb2N1bWVudC1kb21haW4tbm8taW1wYWN0LW9wZW5lci1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9kb2N1bWVudC1kb21haW4tbm8taW1wYWN0LW9wZW5lci1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODkyOGY3NzVlOGZiYThiYmY5NTlkMGZhZGRkMjJlNGMxZGNiM2E1ZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3Qtb3BlbmVyLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDQgQEAKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxs
CisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC1vcGVuZXIuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3Qtb3BlbmVyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NjlkZjJmMjdmYTViMTk1ZjdiOTU2NzE0Y2Y4MTZhNjFlMTgyNThiOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3Qtb3BlbmVyLmh0bWwKQEAgLTAsMCArMSwx
NiBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNj
cmlwdD4KKy8vIE9wZW4gYSBkb2N1bWVudCBvbiBvbmUgb2YgaG9zdHMgb24gdGhlIHdlYi1wbGF0
Zm9ybSB0ZXN0IGRvbWFpbiwgc28gdGhhdAorLy8gZG9jdW1lbnQuZG9tYWluIHdpbGwgc2V0IGEg
dmFsaWQgZG9tYWluLCB0dXJuaW5nIHRoZSBmcmFtZSBpbnRvIGEKKy8vIGNyb3NzLW9yaWdpbiBm
cmFtZS4KK2NvbnN0IHtPVEhFUl9PUklHSU59ID0gZ2V0X2hvc3RfaW5mbygpOworY29uc3Qgb3Bl
bmVlID0gd2luZG93Lm9wZW4oT1RIRVJfT1JJR0lOICsKKyAgICAgICAgICAgICAgICIvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVudC1kb21haW4tbm8taW1wYWN0Lmh0bWwiKTsKK2Zl
dGNoX3Rlc3RzX2Zyb21fd2luZG93KG9wZW5lZSk7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2VudHJ5LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZW50cnktYXR0cmlidXRlcy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYWFmYjQ1ZWNiNWFiMjAwYjUxNTMxOTU1ZjBjZThiZDc4NmM1
NTA0OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2VudHJ5LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTEgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhh
dCBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGVudHJpZXMnIGF0dHJpYnV0ZXMgYXJlIHBvcHVs
YXRlZCB3aXRoIHRoZSBjb3JyZWN0IHZhbHVlcy4KKworCitIYXJuZXNzIEVycm9yIChUSU1FT1VU
KSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBJbWFnZSByZXNvdXJjZXMgc2hvdWxkIGdlbmVy
YXRlIGNvbmZvcm1hbnQgZW50cmllcyBUZXN0IHRpbWVkIG91dAorTk9UUlVOIEZvbnQgcmVzb3Vy
Y2VzIHNob3VsZCBnZW5lcmF0ZSBjb25mb3JtYW50IGVudHJpZXMKK05PVFJVTiBTYW1lLW9yaWdp
biByZWRpcmVjdHMgc2hvdWxkIHBvcHVsYXRlIHJlZGlyZWN0U3RhcnQvcmVkaXJlY3RFbmQKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvZW50cnktYXR0cmlidXRlcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZW50cnktYXR0cmlidXRl
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjY4OWI0ZTc0Yzg1NTE4NzVjNTAzMTMzYWQ2NjUyYzhhOGI2YzU5
MzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9lbnRyeS1hdHRyaWJ1dGVzLmh0bWwKQEAgLTAsMCAr
MSwzNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nOiBQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nIGF0dHJpYnV0ZXM8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3
dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI3NlYy1wZXJmb3JtYW5jZXJlc291cmNldGlt
aW5nIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9lbnRyeS1pbnZhcmlhbnRzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQ+CithdHRyaWJ1dGVfdGVzdCgKKyAgbG9hZC5pbWFnZSwgInJlc291cmNlcy9mYWtlX3Jl
c3BvbnNlcy5weSNoYXNoPTEiLAorICBlbnRyeSA9PiB7CisgICAgYXNzZXJ0X3RydWUoZW50cnku
bmFtZS5pbmNsdWRlcygnI2hhc2g9MScpLAorICAgICAgIlRoZXJlIHNob3VsZCBiZSBhIGhhc2gg
aW4gdGhlIHJlc291cmNlIG5hbWUiKTsKKyAgICBpbnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc19u
b19yZWRpcmVjdF9odHRwKGVudHJ5KTsKKyAgfSwKKyAgIkltYWdlIHJlc291cmNlcyBzaG91bGQg
Z2VuZXJhdGUgY29uZm9ybWFudCBlbnRyaWVzIik7CisKK2F0dHJpYnV0ZV90ZXN0KAorICBsb2Fk
LmZvbnQsICIvZm9udHMvQWhlbS50dGYiLAorICBpbnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc19u
b19yZWRpcmVjdF9odHRwLAorICAiRm9udCByZXNvdXJjZXMgc2hvdWxkIGdlbmVyYXRlIGNvbmZv
cm1hbnQgZW50cmllcyIpOworCithdHRyaWJ1dGVfdGVzdCgKKyAgbG9hZC5pbWFnZSwgIi9jb21t
b24vcmVkaXJlY3QucHk/bG9jYXRpb249cmVzb3VyY2VzL2Zha2VfcmVzcG9uc2VzLnB5IiwKKyAg
aW52YXJpYW50cy5hc3NlcnRfc2FtZV9vcmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAgIlNh
bWUtb3JpZ2luIHJlZGlyZWN0cyBzaG91bGQgcG9wdWxhdGUgcmVkaXJlY3RTdGFydC9yZWRpcmVj
dEVuZCIpOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5EZXNjcmlwdGlvbjwvaDE+
Cis8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyBl
bnRyaWVzJyBhdHRyaWJ1dGVzIGFyZQorcG9wdWxhdGVkIHdpdGggdGhlIGNvcnJlY3QgdmFsdWVz
LjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZldGNoLWNyb3NzLW9yaWdp
bi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mZXRjaC1jcm9zcy1vcmlnaW4tcmVk
aXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEyZmIzMGQxYTc4MTNhY2VlZjUw
MzMzNGEwZDQ4MDA0MjA2MjM0MGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mZXRjaC1jcm9zcy1v
cmlnaW4tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNT
IFRlc3QgZmV0Y2hpbmcgdGhyb3VnaCBhIGNyb3NzLW9yaWdpbiByZWRpcmVjdCBVUkwKK1BBU1Mg
VGVzdCBmZXRjaGluZyB0aHJvdWdoIGEgc2FtZS1vcmlnaW4gcmVkaXJlY3QgVVJMCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2ZldGNoLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odHRwcy5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZmV0
Y2gtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDE5MzQyMjY1
M2E1OTU0ZmYwMzM1MThjNjkwZjY1NDYwYmM1NDMzYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Zl
dGNoLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odHRwcy5odG1sCkBAIC0wLDAgKzEsMzMgQEAKKzwh
RE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3QgY3Jvc3Mt
b3JpZ2luIGZldGNoIHJlZGlyZWN0cyBoYXZlIHRoZSByaWdodCB2YWx1ZXMuPC90aXRsZT4KKzxs
aW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5j
b20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVz
b3VyY2UtdGltaW5nLTIvI3NlYy1wZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL2VudHJ5LWludmFyaWFudHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2NvbnN0IHtS
RU1PVEVfT1JJR0lOLCBPUklHSU59ID0gZ2V0X2hvc3RfaW5mbygpOworY29uc3QgcmVkaXJlY3Qg
PSAiL2NvbW1vbi9yZWRpcmVjdC5weT8iICsKKyAgICAgICAgICAgICAgICAgImxvY2F0aW9uPS9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2dyZWVuLmh0bWwiOworY29uc3QgY3Jvc3Nfb3JpZ2lu
X3JlZGlyZWN0ID0gUkVNT1RFX09SSUdJTiArIHJlZGlyZWN0OworY29uc3Qgc2FtZV9vcmlnaW5f
cmVkaXJlY3QgPSBPUklHSU4gKyByZWRpcmVjdDsKKworYXR0cmlidXRlX3Rlc3QoCisgIHVybCA9
PiBmZXRjaCh1cmwsIHttb2RlOiAibm8tY29ycyIsIGNyZWRlbnRpYWxzOiAiaW5jbHVkZSJ9KSwK
KyAgbmV3IFVSTChjcm9zc19vcmlnaW5fcmVkaXJlY3QpLmhyZWYsCisgIGludmFyaWFudHMuYXNz
ZXJ0X2Nyb3NzX29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNlLAorICAiVGVzdCBmZXRjaGluZyB0
aHJvdWdoIGEgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0IFVSTCIKKyk7CisKK2F0dHJpYnV0ZV90ZXN0
KAorICB1cmwgPT4gZmV0Y2godXJsLCB7bW9kZTogIm5vLWNvcnMiLCBjcmVkZW50aWFsczogImlu
Y2x1ZGUifSksCisgIG5ldyBVUkwoc2FtZV9vcmlnaW5fcmVkaXJlY3QpLmhyZWYsCisgIGludmFy
aWFudHMuYXNzZXJ0X3NhbWVfb3JpZ2luX3JlZGlyZWN0ZWRfcmVzb3VyY2UsCisgICJUZXN0IGZl
dGNoaW5nIHRocm91Z2ggYSBzYW1lLW9yaWdpbiByZWRpcmVjdCBVUkwiCispOworCis8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2ZvbnQtdGltZXN0YW1wcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mb250
LXRpbWVzdGFtcHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxOTY0NDE4NzViZWNkMjQzYmZl
MjIzZTVhYjliMDA4ZDBhMTlmOTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mb250LXRpbWVzdGFt
cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhpcyBmZXRjaGVzIGFoZW0gZm9udC4K
KworRkFJTCBUZXN0IGEgZm9udCdzIHRpbWVzdGFtcHMgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVh
bDogZG9tYWluTG9va3VwU3RhcnQgc2hvdWxkIGJlIG1vcmUgdGhhbiAwIGluIHNhbWUtb3JpZ2lu
IHJlZGlyZWN0LiBleHBlY3RlZCBhIG51bWJlciBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gPG5v
bmRldGVybWluaXN0aWMgdGVzdCBvdXRwdXQ+IGJ1dCBnb3QgMAorUEFTUyBUZXN0IGEgZm9udCdz
IHRpbWVzdGFtcHMgd2l0aCBkZWxheXMKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZm9udC10aW1lc3RhbXBz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9mb250LXRpbWVzdGFtcHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmVjYjVjNGJmZGRi
NjBlNzgzZWU3N2NkMzA4YjI4YTBjNGVhOWMyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZm9udC10
aW1lc3RhbXBzLmh0bWwKQEAgLTAsMCArMSw2MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdCBjcm9zcy1vcmlnaW4gZmV0Y2ggcmVkaXJlY3Rz
IGhhdmUgdGhlIHJpZ2h0IHZhbHVlcy48L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3Qt
aW5mby5zdWIuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0PgorY29uc3QgbG9hZF9mb250
ID0gdXJsID0+IHsKKyAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSBgCisgICAgPHN0eWxlPgor
ICAgIEBmb250LWZhY2UgeworICAgICAgICBmb250LWZhbWlseTogYWhlbTsKKyAgICAgICAgc3Jj
OiB1cmwoJyR7dXJsfScpOworICAgIH0KKyAgICA8L3N0eWxlPgorICAgIDxkaXYgc3R5bGU9ImZv
bnQtZmFtaWx5OiBhaGVtOyI+VGhpcyBmZXRjaGVzIGFoZW0gZm9udC48L2Rpdj4KKyAgYDsKKyAg
cmV0dXJuIGRvY3VtZW50LmZvbnRzLnJlYWR5OworfTsKKworY29uc3QgcnVuX3Rlc3QgPSBhc3lu
YyAodCwgdXJsKSA9PiB7CisgIC8vIFNldCB1cCBQZXJmb3JtYW5jZU9ic2VydmVyCisgIGNvbnN0
IGhyZWYgPSBuZXcgVVJMKHVybCkuaHJlZjsKKyAgY29uc3Qgc2V0UGVyZm9ybWFuY2VPYnNlcnZl
ciA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIGNvbnN0IHBvID0gbmV3IFBlcmZvcm1h
bmNlT2JzZXJ2ZXIocmVzb2x2ZSk7CisgICAgcG8ub2JzZXJ2ZSh7dHlwZTogInJlc291cmNlIn0p
OworICB9KTsKKworICAvLyBMb2FkIHRoZSBmb250IHJlc291cmNlIGFuZCB3YWl0IGZvciBpdCB0
byBiZSBmZXRjaGVkLgorICBhd2FpdCBsb2FkX2ZvbnQoaHJlZik7CisKKyAgLy8gV2FpdCBmb3Ig
YW4gZW50cnkKKyAgY29uc3QgdGltZW91dCA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gdC5zdGVw
X3RpbWVvdXQocmVzb2x2ZSwgMzAwMCkpOworICBjb25zdCBsaXN0ID0gYXdhaXQgUHJvbWlzZS5y
YWNlKFtzZXRQZXJmb3JtYW5jZU9ic2VydmVyLCB0aW1lb3V0XSk7CisgIGFzc2VydF9lcXVhbHMo
dHlwZW9mKGxpc3QpLCAib2JqZWN0IiwgIk5vIGlmcmFtZSBlbnRyeSB3YXMgZmlyZWQiKTsKKyAg
Y29uc3QgZW50cmllcyA9IGxpc3QuZ2V0RW50cmllc0J5TmFtZSh1cmwpOworICBhc3NlcnRfZXF1
YWxzKGVudHJpZXMubGVuZ3RoLCAxKTsKKworICAvLyBUZXN0IGVudHJ5IHZhbHVlcworICBjb25z
dCBlbnRyeSA9IGVudHJpZXNbMF07CisgIGFzc2VydF9ncmVhdGVyX3RoYW4oZW50cnkuZmV0Y2hT
dGFydCwgMCwgImZldGNoU3RhcnQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiAwIGluIHJlZGlyZWN0
cy4iKTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChlbnRyeS5kb21haW5Mb29rdXBTdGFy
dCwgZW50cnkuZmV0Y2hTdGFydCwgImRvbWFpbkxvb2t1cFN0YXJ0IHNob3VsZCBiZSBtb3JlIHRo
YW4gMCBpbiBzYW1lLW9yaWdpbiByZWRpcmVjdC4iKTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9l
cXVhbChlbnRyeS5kb21haW5Mb29rdXBFbmQsIGVudHJ5LmRvbWFpbkxvb2t1cFN0YXJ0LCAiZG9t
YWluTG9va3VwRW5kIHNob3VsZCBiZSBtb3JlIHRoYW4gMCBpbiBzYW1lLW9yaWdpbiByZWRpcmVj
dC4iKTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChlbnRyeS5jb25uZWN0U3RhcnQsIGVu
dHJ5LmRvbWFpbkxvb2t1cEVuZCwgImNvbm5lY3RTdGFydCBzaG91bGQgYmUgbW9yZSB0aGFuIDAg
aW4gc2FtZS1vcmlnaW4gcmVkaXJlY3QuIik7CisgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwo
ZW50cnkuc2VjdXJlQ29ubmVjdGlvblN0YXJ0LCBlbnRyeS5jb25uZWN0U3RhcnQsICJzZWN1cmVD
b25uZWN0aW9uU3RhcnQgc2hvdWxkIGJlIG1vcmUgdGhhbiAwIGluIHNhbWUtb3JpZ2luIHJlZGly
ZWN0LiIpOworICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LmNvbm5lY3RFbmQsIGVu
dHJ5LnNlY3VyZUNvbm5lY3Rpb25TdGFydCwgImNvbm5lY3RFbmQgc2hvdWxkIGJlIG1vcmUgdGhh
biAwIGluIHNhbWUtb3JpZ2luIHJlZGlyZWN0LiIpOworICBhc3NlcnRfZ3JlYXRlcl90aGFuX2Vx
dWFsKGVudHJ5LnJlcXVlc3RTdGFydCwgZW50cnkuY29ubmVjdEVuZCwgInJlcXVlc3RTdGFydCBz
aG91bGQgYmUgbW9yZSB0aGFuIDAgaW4gc2FtZS1vcmlnaW4gcmVkaXJlY3QuIik7CisgIGFzc2Vy
dF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkucmVzcG9uc2VTdGFydCwgZW50cnkucmVxdWVzdFN0
YXJ0LCAicmVzcG9uc2VTdGFydCBzaG91bGQgYmUgbW9yZSB0aGFuIDAgaW4gc2FtZS1vcmlnaW4g
cmVkaXJlY3QuIik7CisgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkucmVzcG9uc2VF
bmQsIGVudHJ5LnJlc3BvbnNlU3RhcnQsICJyZXNwb25zZUVuZCBzaG91bGQgYmUgZ3JlYXRlciB0
aGFuIDAgaW4gcmVkaXJlY3RzLiIpOworICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5
LmR1cmF0aW9uLCAwLCAiZHVyYXRpb24gc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiAwIGluIHJlZGly
ZWN0cy4iKTsKK30KKworY29uc3Qge0hUVFBTX1JFTU9URV9PUklHSU59ID0gZ2V0X2hvc3RfaW5m
bygpOworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcnVuX3Rlc3QodCwgSFRUUFNfUkVN
T1RFX09SSUdJTiArICIvZm9udHMvQWhlbS50dGYiKTsKK30sICJUZXN0IGEgZm9udCdzIHRpbWVz
dGFtcHMiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcnVuX3Rlc3QodCwgSFRU
UFNfUkVNT1RFX09SSUdJTiArICIvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jb3JzLWFoZW0u
cHk/cGlwZT10cmlja2xlKGQxKSIpOworfSwgIlRlc3QgYSBmb250J3MgdGltZXN0YW1wcyB3aXRo
IGRlbGF5cyIpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9pZnJhbWUtZmFpbGVkLWNvbW1p
dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9pZnJhbWUtZmFpbGVkLWNvbW1pdC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNzQ0YmQxNzUyZjI5MjZmMjNmM2NiMzA3N2EzYTZlYzc1MmY4MTVlMwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL2lmcmFtZS1mYWlsZWQtY29tbWl0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDE0IEBACitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly9ub25leGlz
dGVudC5sb2NhbGhvc3Q6OTQ0My8KK0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRw
czovL25vbmV4aXN0ZW50LmxvY2FsaG9zdDo5NDQzLworCisKK1BBU1MgUHJlY29uZGl0aW9uCitG
QUlMIFRlc3QgaWZyYW1lIGZyb20gbm9uLWV4aXN0ZW50IGhvc3QgYXNzZXJ0X2VxdWFsczogTm8g
aWZyYW1lIGVudHJ5IHdhcyBmaXJlZCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmlu
ZWQiCitGQUlMIFRlc3QgaWZyYW1lIHJlZGlyZWN0aW5nIHRvIG5vbi1leGlzdGVudCBob3N0IGFz
c2VydF9lcXVhbHM6IE5vIGlmcmFtZSBlbnRyeSB3YXMgZmlyZWQgZXhwZWN0ZWQgIm9iamVjdCIg
YnV0IGdvdCAidW5kZWZpbmVkIgorUEFTUyBTYW1lLW9yaWdpbiBpZnJhbWUgdGhhdCBjb21wbGll
cyB3aXRoIENTUCBhdHRyaWJ1dGUgZ2V0cyByZXBvcnRlZAorUEFTUyBTYW1lLW9yaWdpbiBpZnJh
bWUgdGhhdCBkb2Vzbid0IGNvbXBseSB3aXRoIENTUCBhdHRyaWJ1dGUgZ2V0cyByZXBvcnRlZAor
UEFTUyBDcm9zcy1vcmlnaW4gaWZyYW1lIHRoYXQgY29tcGxpZXMgd2l0aCBDU1AgYXR0cmlidXRl
IGdldHMgcmVwb3J0ZWQKK1BBU1MgQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB0aGF0IGRvZXNuJ3QgY29t
cGx5IHdpdGggQ1NQIGF0dHJpYnV0ZSBnZXRzIHJlcG9ydGVkCitGQUlMIFNhbWUtb3JpZ2luIGVt
cHR5IGlmcmFtZSB3aXRoIGEgMjAwIHN0YXR1cyBnZXRzIHJlcG9ydGVkIGFzc2VydF9lcXVhbHM6
IE5vIGlmcmFtZSBlbnRyeSB3YXMgZmlyZWQgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5k
ZWZpbmVkIgorRkFJTCBDcm9zcy1vcmlnaW4gZW1wdHkgaWZyYW1lIHdpdGggYSAyMDAgc3RhdHVz
IGdldHMgcmVwb3J0ZWQgYXNzZXJ0X2VxdWFsczogTm8gaWZyYW1lIGVudHJ5IHdhcyBmaXJlZCBl
eHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2lm
cmFtZS1mYWlsZWQtY29tbWl0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9pZnJhbWUtZmFpbGVkLWNvbW1pdC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjQ5YmQ5MzQyN2MxZDM5YWM1YWVkOTI4Y2FhM2QwMjUzNTU3ZGQ0MTYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9pZnJhbWUtZmFpbGVkLWNvbW1pdC5odG1sCkBAIC0wLDAgKzEsODAg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZyAtIHRlc3QgdGhhdCB1bnN1Y2Nlc3NmdWwgaWZy
YW1lcyBjcmVhdGUgZW50cmllczwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZv
LnN1Yi5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+Cit0ZXN0KCgpID0+IHsKKyAgY29u
c3QgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoInJlc291cmNlIik7Cisg
IGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDMsICJQcmVjb25kaXRpb24gLSBFbnRyaWVz
IGZvciBibG9ja2luZyBzY3JpcHRzIGZpcmVkIik7Cit9LCAiUHJlY29uZGl0aW9uIik7CisKK2Nv
bnN0IHJ1bl90ZXN0ID0gYXN5bmMgKHQsIHVybCwgY3NwKSA9PiB7CisgIGNvbnN0IHNldFBlcmZv
cm1hbmNlT2JzZXJ2ZXIgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBjb25zdCBwbyA9
IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHJlc29sdmUpOworICAgIHBvLm9ic2VydmUoe3R5cGU6
ICJyZXNvdXJjZSJ9KTsKKyAgfSk7CisgIGNvbnN0IHRpbWVvdXQgPSBuZXcgUHJvbWlzZShyZXNv
bHZlID0+IHQuc3RlcF90aW1lb3V0KHJlc29sdmUsIDEwMDApKTsKKyAgY29uc3QgZnJhbWUgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTsKKyAgZnJhbWUuc3JjID0gdXJsOworICBp
ZiAoY3NwKSB7CisgICAgZnJhbWUuY3NwID0gY3NwOworICB9CisgIGRvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQoZnJhbWUpOworICBjb25zdCBsaXN0ID0gYXdhaXQgUHJvbWlzZS5yYWNlKFtzZXRQ
ZXJmb3JtYW5jZU9ic2VydmVyLCB0aW1lb3V0XSk7CisgIGFzc2VydF9lcXVhbHModHlwZW9mKGxp
c3QpLCAib2JqZWN0IiwgIk5vIGlmcmFtZSBlbnRyeSB3YXMgZmlyZWQiKTsKKyAgY29uc3QgZW50
cmllcyA9IGxpc3QuZ2V0RW50cmllc0J5TmFtZSh1cmwpOworICBhc3NlcnRfZXF1YWxzKGVudHJp
ZXMubGVuZ3RoLCAxKTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihlbnRyaWVzWzBdLmR1cmF0aW9u
LCAwLCAiRHVyYXRpb24gZ3JlYXRlciB0aGFuIDAiKTsKK30KKworY29uc3Qge1JFTU9URV9PUklH
SU4sIE9SSUdJTkFMX0hPU1QsIEhUVFBTX1BPUlR9ID0gZ2V0X2hvc3RfaW5mbygpOworY29uc3Qg
bm9uZXhpc3RlbnRfdXJsID0gImh0dHBzOi8vbm9uZXhpc3RlbnQuIiArIE9SSUdJTkFMX0hPU1Qg
KyAiOiIgKyBIVFRQU19QT1JUICsgIi8iOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVy
biBydW5fdGVzdCh0LCBub25leGlzdGVudF91cmwpOworfSwgIlRlc3QgaWZyYW1lIGZyb20gbm9u
LWV4aXN0ZW50IGhvc3QiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBjb25zdCB1cmwgPSBu
ZXcgVVJMKCJyZXNvdXJjZXMvZmFrZV9yZXNwb25zZXMucHk/cmVkaXJlY3Q9IiArIG5vbmV4aXN0
ZW50X3VybCwgbG9jYXRpb24uaHJlZik7CisgIHJldHVybiBydW5fdGVzdCh0LCB1cmwudG9TdHJp
bmcoKSk7Cit9LCAiVGVzdCBpZnJhbWUgcmVkaXJlY3RpbmcgdG8gbm9uLWV4aXN0ZW50IGhvc3Qi
KTsKKworY29uc3QgY3NwX2RpcmVjdGl2ZSA9ICJkZWZhdWx0LXNyYyAnbm9uZSciOworcHJvbWlz
ZV90ZXN0KHQgPT4geworICBjb25zdCB1cmwgPSBuZXcgVVJMKCIvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0bWwiLCBsb2NhdGlvbi5ocmVmKTsKKyAgcmV0dXJu
IHJ1bl90ZXN0KHQsIHVybCwgY3NwX2RpcmVjdGl2ZSk7Cit9LCAiU2FtZS1vcmlnaW4gaWZyYW1l
IHRoYXQgY29tcGxpZXMgd2l0aCBDU1AgYXR0cmlidXRlIGdldHMgcmVwb3J0ZWQiKTsKKworcHJv
bWlzZV90ZXN0KHQgPT4geworICBjb25zdCB1cmwgPSBuZXcgVVJMKCIvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlcy9ncmVlbi1mcmFtZS5odG1sIiwgbG9jYXRpb24uaHJlZik7CisgIHJldHVybiBy
dW5fdGVzdCh0LCB1cmwudG9TdHJpbmcoKSwgY3NwX2RpcmVjdGl2ZSk7Cit9LCAiU2FtZS1vcmln
aW4gaWZyYW1lIHRoYXQgZG9lc24ndCBjb21wbHkgd2l0aCBDU1AgYXR0cmlidXRlIGdldHMgcmVw
b3J0ZWQiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBjb25zdCB1cmwgPSBuZXcgVVJMKCIv
cmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0bWwiLCBSRU1PVEVf
T1JJR0lOKTsKKyAgcmV0dXJuIHJ1bl90ZXN0KHQsIHVybC50b1N0cmluZygpLCBjc3BfZGlyZWN0
aXZlKTsKK30sICJDcm9zcy1vcmlnaW4gaWZyYW1lIHRoYXQgY29tcGxpZXMgd2l0aCBDU1AgYXR0
cmlidXRlIGdldHMgcmVwb3J0ZWQiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBjb25zdCB1
cmwgPSBuZXcgVVJMKCIvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi1mcmFtZS5odG1s
IiwgUkVNT1RFX09SSUdJTik7CisgIHJldHVybiBydW5fdGVzdCh0LCB1cmwudG9TdHJpbmcoKSwg
Y3NwX2RpcmVjdGl2ZSk7Cit9LCAiQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB0aGF0IGRvZXNuJ3QgY29t
cGx5IHdpdGggQ1NQIGF0dHJpYnV0ZSBnZXRzIHJlcG9ydGVkIik7CisKK3Byb21pc2VfdGVzdCh0
ID0+IHsKKyAgY29uc3QgdXJsID0gbmV3IFVSTCgiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMv
MjAwX2VtcHR5LmFzaXMiLCBsb2NhdGlvbi5ocmVmKTsKKyAgcmV0dXJuIHJ1bl90ZXN0KHQsIHVy
bC50b1N0cmluZygpLCBjc3BfZGlyZWN0aXZlKTsKK30sICJTYW1lLW9yaWdpbiBlbXB0eSBpZnJh
bWUgd2l0aCBhIDIwMCBzdGF0dXMgZ2V0cyByZXBvcnRlZCIpOworCitwcm9taXNlX3Rlc3QodCA9
PiB7CisgIGNvbnN0IHVybCA9IG5ldyBVUkwoIi9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzLzIw
MF9lbXB0eS5hc2lzIiwgUkVNT1RFX09SSUdJTik7CisgIHJldHVybiBydW5fdGVzdCh0LCB1cmwu
dG9TdHJpbmcoKSwgY3NwX2RpcmVjdGl2ZSk7Cit9LCAiQ3Jvc3Mtb3JpZ2luIGVtcHR5IGlmcmFt
ZSB3aXRoIGEgMjAwIHN0YXR1cyBnZXRzIHJlcG9ydGVkIik7CisKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaW5pdGlhdG9yLXR5cGUtZm9yLXNjcmlwdC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9pbml0aWF0b3ItdHlwZS1mb3Itc2NyaXB0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40OTE5ODdiNjBiYjY2NjgzN2Y5NjY5ODdmZDJiMzA3Y2MyNjA3ZDg5Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvaW5pdGlhdG9yLXR5cGUtZm9yLXNjcmlwdC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwzIEBACisKK1BBU1MgVmFsaWRhdGUgaW5pdGlhdG9yVHlwZSBmb3Igc2NyaXB0cyBp
cyAnc2NyaXB0JworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9pbml0aWF0b3ItdHlwZS1mb3Itc2NyaXB0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9pbml0aWF0b3ItdHlwZS1mb3Itc2NyaXB0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzIxNzMz
OThkNTZhYTQ4ZmQzZDk4MTdhMDU4YzE5MTE1ZTdkZjlkZAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2luaXRpYXRvci10eXBlLWZvci1zY3JpcHQuaHRtbApAQCAtMCwwICsxLDY3IEBACis8IURPQ1RZ
UEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRs
ZT5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgdGhlIGluaXRpYXRvclR5cGUgaW5mb3JtYXRpb24g
Zm9yIHZhcmlvdXMKK1Jlc291cmNlIFRpbWluZyBlbnRyaWVzIGlzIGFjY3VyYXRlIGZvciBzY3Jp
cHRzLjwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiCisgICAgICBocmVmPSJodHRwczovL3d3dy53
My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI2RvbS1wZXJmb3JtYW5jZXJlc291cmNldGltaW5n
LWluaXRpYXRvcnR5cGUiLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFudHMuanMiPjwvc2Ny
aXB0PgorPCEtLSBUZXN0ZWQgcmVzb3VyY2VzIC0tPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9l
bXB0eV9zY3JpcHQuanM/aWQ9YmxvY2tpbmciPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy9lbXB0eV9zY3JpcHQuanM/aWQ9YXN5bmMiIGFzeW5jPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9lbXB0eV9zY3JpcHQuanM/aWQ9YXN5bmNfZmFsc2UiIGFzeW5jPWZhbHNl
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9lbXB0eV9zY3JpcHQuanM/aWQ9ZGVm
ZXIiIGRlZmVyPjwvc2NyaXB0PgorPHNjcmlwdD4KK2RvY3VtZW50LndyaXRlKCI8c2NyaXB0IHNy
Yz0ncmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5qcz9pZD1kb2Nfd3JpdHRlbic+PC9zY3IiCisgICAg
ICAgICAgICAgICArICJpcHQ+Iik7CisKK2NvbnN0IGhlYWQgPSBkb2N1bWVudC5nZXRFbGVtZW50
c0J5VGFnTmFtZSgiaGVhZCIpWzBdOworY29uc3QgczEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJzY3JpcHQiKTsKK3MxLnNyYyA9ICJlbXB0eV9zY3JpcHQuanM/aWQ9YXBwZW5kZWQiOworaGVh
ZC5hcHBlbmRDaGlsZChzMSk7CisKK2NvbnN0IHMyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
c2NyaXB0Iik7CitzMi5zcmMgPSAiZW1wdHlfc2NyaXB0LmpzP2lkPWFwcGVuZGVkX2FzeW5jIjsK
K3MyLmFzeW5jID0gdHJ1ZTsKK2hlYWQuYXBwZW5kQ2hpbGQoczIpOworCitjb25zdCBzMyA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOworczMuc3JjID0gImVtcHR5X3NjcmlwdC5q
cz9pZD1hcHBlbmRlZF9heW5jX2ZhbHNlIjsKK3MzLmFzeW5jID0gZmFsc2U7CitoZWFkLmFwcGVu
ZENoaWxkKHMzKTsKKworY29uc3QgczQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQi
KTsKK3M0LnNyYyA9ICJlbXB0eV9zY3JpcHQuanM/aWQ9YXBwZW5kZWRfZGVmZXIiOworczQuZGVm
ZXIgPSB0cnVlOworaGVhZC5hcHBlbmRDaGlsZChzNCk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHNjcmlwdD4KKworY29uc3Qgd2FpdF9mb3Jfb25sb2FkID0gKCkgPT4geworICByZXR1
cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCByZXNvbHZlKTsKK30pfTsKKworcHJvbWlzZV90ZXN0KAorICBhc3luYyAoKSA9PiB7
CisgICAgYXdhaXQgd2FpdF9mb3Jfb25sb2FkKCk7CisKKyAgICBjb25zdCBlbnRyeV9saXN0ID0g
cGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgicmVzb3VyY2UiKTsKKyAgICBmb3IgKGVudHJ5
IG9mIGVudHJ5X2xpc3QpIHsKKyAgICAgIGlmIChlbnRyeS5uYW1lLmluY2x1ZGVzKCJlbXB0eV9z
Y3JpcHQuanMiKSkgeworICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJ5LmluaXRpYXRvclR5cGUs
ICJzY3JpcHQiLAorICAgICAgICAgICAgICAgICAgICAgICJpbml0aWF0b3JUeXBlIHNob3VsZCBi
ZSAnc2NyaXB0JyBmb3IgIiArIGVudHJ5Lm5hbWUpOworICAgICAgfQorICAgIH0KK30sICJWYWxp
ZGF0ZSBpbml0aWF0b3JUeXBlIGZvciBzY3JpcHRzIGlzICdzY3JpcHQnIik7Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvbmV4dEhvcFByb3RvY29sLWlzLXRh
by1wcm90ZWN0ZWQuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvbmV4dEhvcFByb3RvY29sLWlzLXRh
by1wcm90ZWN0ZWQuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM0Y2JiYWE0ZDIwNWI1
YzQ0N2ZmOGZjMDQ0ZDY4YmRhMjUwMzQwZDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9uZXh0SG9w
UHJvdG9jb2wtaXMtdGFvLXByb3RlY3RlZC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0
IEBACisKK0ZBSUwgQWRkIFRBTy1sZXNzIGlmcmFtZSBmcm9tIHJlbW90ZSBvcmlnaW4uIE1ha2Ug
c3VyZSBuZXh0SG9wUHJvdG9jb2wgaXMgdGhlIGVtcHR5IHN0cmluZyBhc3NlcnRfZXF1YWxzOiBu
ZXh0SG9wUHJvdG9jb2wgc2hvdWxkIGJlIHRoZSBlbXB0eSBzdHJpbmcgZXhwZWN0ZWQgIiIgYnV0
IGdvdCAiaHR0cC8xLjEiCitQQVNTIEFkZCBUQU8nZCBpZnJhbWUgZnJvbSByZW1vdGUgb3JpZ2lu
LiBNYWtlIHN1cmUgbmV4dEhvcFByb3RvY29sIGlzIG5vdCB0aGUgZW1wdHkgc3RyaW5nCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL25leHRIb3BQcm90b2NvbC1pcy10YW8tcHJvdGVjdGVkLmh0dHBzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9uZXh0SG9wUHJvdG9jb2wtaXMtdGFvLXByb3RlY3RlZC5odHRwcy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmUwZTk2YWY4ZTgwY2Y0ZmIwNmQ3ZjFiMzM5M2YyMTkxMjY1YjIzY2UKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9uZXh0SG9wUHJvdG9jb2wtaXMtdGFvLXByb3RlY3RlZC5odHRwcy5odG1sCkBA
IC0wLDAgKzEsMzggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZyAtIENoZWNrIHRoYXQgbmV4
dEhvcFByb3RvY29sIGlzIFRBTyBwcm90ZWN0ZWQ8L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBo
cmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI3NlYy1wZXJmb3Jt
YW5jZXJlc291cmNldGltaW5nIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFudHMuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKworY29uc3Qge0hUVFBTX1JFTU9U
RV9PUklHSU59ID0gZ2V0X2hvc3RfaW5mbygpOworY29uc3QgcmVtb3RlX3Jlc291cmNlcyA9IGAk
e0hUVFBTX1JFTU9URV9PUklHSU59L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXNgOworCisvLyBB
ZGQgaWZyYW1lIHRvIHJlbW90ZSBvcmlnaW4gLSBwYWdlIHdpdGhvdXQgVEFPCithdHRyaWJ1dGVf
dGVzdCgKKyAgbG9hZC5pZnJhbWUsIGAke3JlbW90ZV9yZXNvdXJjZXN9L2dyZWVuLmh0bWAsCisg
IGVudHJ5ID0+IGFzc2VydF9lcXVhbHMoZW50cnkubmV4dEhvcFByb3RvY29sLCAiIiwKKyAgICAi
bmV4dEhvcFByb3RvY29sIHNob3VsZCBiZSB0aGUgZW1wdHkgc3RyaW5nIiksCisgICJBZGQgVEFP
LWxlc3MgaWZyYW1lIGZyb20gcmVtb3RlIG9yaWdpbi4gTWFrZSBzdXJlIG5leHRIb3BQcm90b2Nv
bCBpcyB0aGUgIiArCisgICJlbXB0eSBzdHJpbmciCispOworCisvLyBBZGQgaWZyYW1lIHRvIHJl
bW90ZSBvcmlnaW4gLSBwYWdlIHdpdGggVEFPCithdHRyaWJ1dGVfdGVzdCgKKyAgbG9hZC5pZnJh
bWUsIGAke3JlbW90ZV9yZXNvdXJjZXN9L2JsYW5rLXdpdGgtdGFvLmh0bWxgLAorICBlbnRyeSA9
PiBhc3NlcnRfbm90X2VxdWFscyhlbnRyeS5uZXh0SG9wUHJvdG9jb2wsICIiLAorICAgICJuZXh0
SG9wUHJvdG9jb2wgc2hvdWxkIG5vdCBiZSB0aGUgZW1wdHkgc3RyaW5nIiksCisgICJBZGQgVEFP
J2QgaWZyYW1lIGZyb20gcmVtb3RlIG9yaWdpbi4gTWFrZSBzdXJlIG5leHRIb3BQcm90b2NvbCBp
cyBub3QgIiArCisgICJ0aGUgZW1wdHkgc3RyaW5nIgorKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1UQU8tY3Jvc3Mt
b3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXIt
VEFPLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzY3ZjYw
Y2YxNTZlNDQ5ZjdiNWYxZTI5NTBiZDc5ZmQzMjUwMTE3MgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L29iamVjdC1ub3QtZm91bmQtYWZ0ZXItVEFPLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw3IEBACisKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3Nh
Z2UgPSBudWxsCisKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQKK1BBU1Mgd2lu
ZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUgaXMgZGVmaW5lZAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLVRBTy1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItVEFPLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQwZGFkOTM4MWJhNDJiYzg0OGViZWNhODZhY2FmN2YxMGE3YTFlODIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLVRBTy1jcm9zcy1v
cmlnaW4tcmVkaXJlY3QuaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUgSFRNTD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5UaGlzIHRlc3Qg
dmFsaWRhdGVzIHJlc291cmNlIHRpbWluZyBpbmZvcm1hdGlvbiBmb3IgYSB0aW1pbmcgYWxsb3dl
ZCBjcm9zcy1vcmlnaW4gcmVkaXJlY3QgY2hhaW4uPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIg
aHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNwZXJmb3JtYW5jZXJl
c291cmNldGltaW5nIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3NleHRlbnNpb24u
anMiPjwvc2NyaXB0PgorCis8c2NyaXB0PgorICAgIHNldHVwKHtleHBsaWNpdF9kb25lOiB0cnVl
fSk7CisgICAgdGVzdF9uYW1lc3BhY2UoJ2dldEVudHJpZXNCeU5hbWUnKTsKKworICAgIGZ1bmN0
aW9uIG9ubG9hZF90ZXN0KCkKKyAgICB7CisgICAgICAgIGNvbnN0IGNvbnRleHQgPSBuZXcgUGVy
Zm9ybWFuY2VDb250ZXh0KHBlcmZvcm1hbmNlKTsKKyAgICAgICAgY29uc3QgZW50cmllcyA9IGNv
bnRleHQuZ2V0RW50cmllc0J5TmFtZShkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdvYmplY3QnKS5k
YXRhLCAncmVzb3VyY2UnKTsKKyAgICAgICAgdGVzdF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDEs
ICdUaGVyZSBzaG91bGQgYmUgb25lIGVudHJ5LicpOworICAgICAgICBjb25zdCBlbnRyeSA9IGVu
dHJpZXNbMF07CisKKyAgICAgICAgdGVzdF9ncmVhdGVyX3RoYW4oZW50cnkucmVkaXJlY3RTdGFy
dCwgMCwgJ3JlZGlyZWN0U3RhcnQgPiAwIGluIHRpbWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiBy
ZWRpcmVjdC4nKTsKKyAgICAgICAgdGVzdF9lcXVhbHMoZW50cnkucmVkaXJlY3RTdGFydCwgZW50
cnkuc3RhcnRUaW1lLCAncmVkaXJlY3RTdGFydCA9PSBzdGFydFRpbWUgaW4gdGltaW5nIGFsbG93
ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LicpOworICAgICAgICB0ZXN0X2dyZWF0ZXJfdGhhbihl
bnRyeS5yZWRpcmVjdEVuZCwgZW50cnkucmVkaXJlY3RTdGFydCwgJ3JlZGlyZWN0RW5kID4gcmVk
aXJlY3RTdGFydCBpbiB0aW1pbmcgYWxsb3dlZCBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuJyk7Cisg
ICAgICAgIHRlc3RfZ3JlYXRlcl9vcl9lcXVhbHMoZW50cnkuZmV0Y2hTdGFydCwgZW50cnkucmVk
aXJlY3RFbmQsICdmZXRjaFN0YXJ0ID49IHJlZGlyZWN0RW5kIGluIHRpbWluZyBhbGxvd2VkIGNy
b3NzLW9yaWdpbiByZWRpcmVjdC4nKTsKKyAgICAgICAgZG9uZSgpOworICAgIH0KKzwvc2NyaXB0
PgorCis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisgICAgbGV0IGRlc3RVcmwgPSBnZXRfaG9z
dF9pbmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lOICsgJy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vz
L211bHRpX3JlZGlyZWN0LnB5Pyc7CisgICAgZGVzdFVybCArPSAncGFnZV9vcmlnaW49JyArICdo
dHRwOi8vJyArIGRvY3VtZW50LmxvY2F0aW9uLmhvc3Q7CisgICAgZGVzdFVybCArPSAnJmNyb3Nz
X29yaWdpbj0nICsgZ2V0X2hvc3RfaW5mbygpLkhUVFBfUkVNT1RFX09SSUdJTjsKKyAgICBkZXN0
VXJsICs9ICcmZmluYWxfcmVzb3VyY2U9JyArIGVuY29kZVVSSUNvbXBvbmVudCgiL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvc3RhdHVzLWNvZGUucHk/c3RhdHVzPTQwNCZ0YW9fdmFsdWU9KiIp
OworICAgIGRlc3RVcmwgKz0gJyZ0YW9fc3RlcHM9Myc7CisgICAgY29uc3Qgb2JqRWxlbWVudCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ29iamVjdCcpOworICAgIG9iakVsZW1lbnQuc3R5bGUg
PSAnd2lkdGg6IDBweDsgaGVpZ2h0OiAwcHg7JzsKKyAgICBvYmpFbGVtZW50LmRhdGEgPSBkZXN0
VXJsOworICAgIG9iakVsZW1lbnQub25lcnJvciA9IG9ubG9hZF90ZXN0OworICAgIGRvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQob2JqRWxlbWVudCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItY3Jvc3Mtb3JpZ2luLXJl
ZGlyZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItY3Jvc3Mtb3Jp
Z2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjdmNjBjZjE1NmU0NDlmN2I1
ZjFlMjk1MGJkNzlmZDMyNTAxMTcyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1m
b3VuZC1hZnRlci1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NyBAQAorCisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitQQVNT
IHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5n
ZXRFbnRyaWVzQnlOYW1lIGlzIGRlZmluZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1m
b3VuZC1hZnRlci1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91
bmQtYWZ0ZXItY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTQ1NWVjNDA2
YjNlOTUxOWQ5OWJiZmViMTJhNDRlNzIxNGM2NmU2YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL29i
amVjdC1ub3QtZm91bmQtYWZ0ZXItY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiIC8+Cis8dGl0bGU+VGhpcyB0ZXN0IHZhbGlkYXRlcyByZXNvdXJjZSB0aW1pbmcgaW5m
b3JtYXRpb24gZm9yIGEgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0IGNoYWluLjwvdGl0bGU+Cis8bGlu
ayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8j
cGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L2NvbW1vbi9nZXQtaG9zdC1pbmZv
LnN1Yi5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJu
ZXNzZXh0ZW5zaW9uLmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KKyAgICBzZXR1cCh7ZXhwbGlj
aXRfZG9uZTogdHJ1ZX0pOworICAgIHRlc3RfbmFtZXNwYWNlKCdnZXRFbnRyaWVzQnlOYW1lJyk7
CisKKyAgICBmdW5jdGlvbiBvbmxvYWRfdGVzdCgpCisgICAgeworICAgICAgICBjb25zdCBjb250
ZXh0ID0gbmV3IFBlcmZvcm1hbmNlQ29udGV4dChwZXJmb3JtYW5jZSk7CisgICAgICAgIGNvbnN0
IGVudHJpZXMgPSBjb250ZXh0LmdldEVudHJpZXNCeU5hbWUoZG9jdW1lbnQucXVlcnlTZWxlY3Rv
cignb2JqZWN0JykuZGF0YSwgJ3Jlc291cmNlJyk7CisgICAgICAgIHRlc3RfZXF1YWxzKGVudHJp
ZXMubGVuZ3RoLCAxLCAnVGhlcmUgc2hvdWxkIGJlIG9uZSBlbnRyeS4nKTsKKyAgICAgICAgY29u
c3QgZW50cnkgPSBlbnRyaWVzWzBdOworCisgICAgICAgIHRlc3RfZXF1YWxzKGVudHJ5LnJlZGly
ZWN0U3RhcnQsIDAsICdyZWRpcmVjdFN0YXJ0ID09IDAgaW4gY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0
LicpOworICAgICAgICB0ZXN0X2VxdWFscyhlbnRyeS5yZWRpcmVjdEVuZCwgMCwgJ3JlZGlyZWN0
RW5kID09IDAgaW4gY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LicpOworICAgICAgICB0ZXN0X2dyZWF0
ZXJfdGhhbihlbnRyeS5mZXRjaFN0YXJ0LCAwLCAnZmV0Y2hTdGFydCA+IDAgaW4gY3Jvc3Mtb3Jp
Z2luIHJlZGlyZWN0LicpOworICAgICAgICB0ZXN0X2VxdWFscyhlbnRyeS5zdGFydFRpbWUsIGVu
dHJ5LmZldGNoU3RhcnQsICdzdGFydFRpbWUgPT0gZmV0Y2hTdGFydCBpbiBjcm9zcy1vcmlnaW4g
cmVkaXJlY3QuJyk7CisgICAgICAgIGRvbmUoKTsKKyAgICB9Cis8L3NjcmlwdD4KKworPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGxldCBkZXN0VXJsID0gZ2V0X2hvc3RfaW5mbygpLkhU
VFBfUkVNT1RFX09SSUdJTiArICcvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9tdWx0aV9yZWRp
cmVjdC5weT8nOworICAgIGRlc3RVcmwgKz0gJ3BhZ2Vfb3JpZ2luPScgKyAnaHR0cDovLycgKyBk
b2N1bWVudC5sb2NhdGlvbi5ob3N0OworICAgIGRlc3RVcmwgKz0gJyZjcm9zc19vcmlnaW49JyAr
IGdldF9ob3N0X2luZm8oKS5IVFRQX1JFTU9URV9PUklHSU47CisgICAgZGVzdFVybCArPSAnJmZp
bmFsX3Jlc291cmNlPScgKyBlbmNvZGVVUklDb21wb25lbnQoIi9yZXNvdXJjZS10aW1pbmcvcmVz
b3VyY2VzL3N0YXR1cy1jb2RlLnB5P3N0YXR1cz00MDQiKTsKKyAgICBjb25zdCBvYmpFbGVtZW50
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnb2JqZWN0Jyk7CisgICAgb2JqRWxlbWVudC5zdHls
ZSA9ICd3aWR0aDogMHB4OyBoZWlnaHQ6IDBweDsnOworICAgIG9iakVsZW1lbnQuZGF0YSA9IGRl
c3RVcmw7CisgICAgb2JqRWxlbWVudC5vbmVycm9yID0gb25sb2FkX3Rlc3Q7CisgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChvYmpFbGVtZW50KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVkaXJlY3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3JlZGlyZWN0
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjc1MmRlMWVjZGE2MWIyNWFhODQ5ZGVlOWRlYjY5
ZjI1ZDBhMzZlOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3JlZGlyZWN0cy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMiBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0
LCB3aGVuIGEgZmV0Y2hpbmcgcmVzb3VyY2VzIHRoYXQgZW5jb3VudGVyIHNhbWUtb3JpZ2luIHJl
ZGlyZWN0cywgYXR0cmlidXRlcyBvZiB0aGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyBlbnRy
eSBjb25mb3JtIHRvIHRoZSBzcGVjaWZpY2F0aW9uLgorCisKK1BBU1MgVmVyaWZ5IGF0dHJpYnV0
ZXMgb2YgYSByZWRpcmVjdGVkIHN0eWxlc2hlZXQncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
CitQQVNTIFZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEgcmVkaXJlY3RlZCBpbWFnZSdzIFBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcKK1BBU1MgVmVyaWZ5IGF0dHJpYnV0ZXMgb2YgYSByZWRpcmVjdGVk
IGlmcmFtZSdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcKK1BBU1MgVmVyaWZ5IGF0dHJpYnV0
ZXMgb2YgYSByZWRpcmVjdGVkIHNjcmlwdCdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcKK1BB
U1MgVmVyaWZ5IGF0dHJpYnV0ZXMgb2YgYSByZWRpcmVjdGVkIHN5bmNocm9ub3VzIFhNTEh0dHBS
ZXF1ZXN0J3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZworUEFTUyBWZXJpZnkgYXR0cmlidXRl
cyBvZiBhIHN5bmNocm9ub3VzIFhNTEh0dHBSZXF1ZXN0J3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZyB3aGVyZSB0aGUgaW5pdGlhbCBIVFRQIHJlcXVlc3QgaXMgcmVkaXJlY3RlZCB0byBhIGNy
b3NzLW9yaWdpbiBIVFRQUyByZXNvdXJjZS4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVkaXJlY3RzLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZWRpcmVjdHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYTY5OTA3YTVmNmU0NmEzZThhNzkw
NDFkYTE3MDM5ZDE0ZDIwZmViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVkaXJlY3RzLmh0bWwK
QEAgLTAsMCArMSw2MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nOiByZXNvdXJjZXMgZmV0
Y2hlZCB0aHJvdWdoIHNhbWUtb3JpZ2luIHJlZGlyZWN0czwvdGl0bGU+Cis8bGluayByZWw9ImF1
dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxs
aW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWlu
Zy0yLyNzZWMtcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0
LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNv
dXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnkt
aW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorY29uc3Qge0hUVFBTX05PVFNBTUVT
SVRFX09SSUdJTn0gPSBnZXRfaG9zdF9pbmZvKCk7Citjb25zdCByZWRpcmVjdF91cmwgPSBgL2Nv
bW1vbi9yZWRpcmVjdC5weWA7Citjb25zdCB1cmxfcHJlZml4ID0gYCR7cmVkaXJlY3RfdXJsfT9s
b2NhdGlvbj0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9gOworY29uc3QgaHR0cHNfdXJsX3By
ZWZpeCA9IGAke3JlZGlyZWN0X3VybH0/bG9jYXRpb249JHtIVFRQU19OT1RTQU1FU0lURV9PUklH
SU59L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvYDsKKworYXR0cmlidXRlX3Rlc3QoCisgIGxv
YWQuc3R5bGVzaGVldCwgdXJsX3ByZWZpeCArICJyZXNvdXJjZV90aW1pbmdfdGVzdDAuY3NzIiwK
KyAgaW52YXJpYW50cy5hc3NlcnRfc2FtZV9vcmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAg
IlZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEgcmVkaXJlY3RlZCBzdHlsZXNoZWV0J3MgUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZyIpOworCithdHRyaWJ1dGVfdGVzdCgKKyAgbG9hZC5pbWFnZSwgdXJs
X3ByZWZpeCArICJibHVlLnBuZyIsCisgIGludmFyaWFudHMuYXNzZXJ0X3NhbWVfb3JpZ2luX3Jl
ZGlyZWN0ZWRfcmVzb3VyY2UsCisgICJWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQg
aW1hZ2UncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIik7CisKK2F0dHJpYnV0ZV90ZXN0KAor
ICBsb2FkLmlmcmFtZSwgdXJsX3ByZWZpeCArICJncmVlbi5odG1sIiwKKyAgaW52YXJpYW50cy5h
c3NlcnRfc2FtZV9vcmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAgIlZlcmlmeSBhdHRyaWJ1
dGVzIG9mIGEgcmVkaXJlY3RlZCBpZnJhbWUncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIik7
CisKK2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLnNjcmlwdCwgdXJsX3ByZWZpeCArICJlbXB0eV9z
Y3JpcHQuanMiLAorICBpbnZhcmlhbnRzLmFzc2VydF9zYW1lX29yaWdpbl9yZWRpcmVjdGVkX3Jl
c291cmNlLAorICAiVmVyaWZ5IGF0dHJpYnV0ZXMgb2YgYSByZWRpcmVjdGVkIHNjcmlwdCdzIFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmciKTsKKworYXR0cmlidXRlX3Rlc3QoCisgIGxvYWQueGhy
X3N5bmMsIHVybF9wcmVmaXggKyAiZ3JlZW4uaHRtbD9pZD14aHIiLAorICBpbnZhcmlhbnRzLmFz
c2VydF9zYW1lX29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNlLAorICAiVmVyaWZ5IGF0dHJpYnV0
ZXMgb2YgYSByZWRpcmVjdGVkIHN5bmNocm9ub3VzIFhNTEh0dHBSZXF1ZXN0J3MgIiArCisgICJQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIik7CisKK2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLnho
cl9zeW5jLCBodHRwc191cmxfcHJlZml4ICsgImdyZWVuLmh0bWw/aWQ9eGhyIiwKKyAgaW52YXJp
YW50cy5hc3NlcnRfY3Jvc3Nfb3JpZ2luX3JlZGlyZWN0ZWRfcmVzb3VyY2UsCisgICJWZXJpZnkg
YXR0cmlidXRlcyBvZiBhIHN5bmNocm9ub3VzIFhNTEh0dHBSZXF1ZXN0J3MgIiArCisgICJQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nIHdoZXJlIHRoZSBpbml0aWFsIEhUVFAgcmVxdWVzdCBpcyBy
ZWRpcmVjdGVkICIgKworICAidG8gYSBjcm9zcy1vcmlnaW4gSFRUUFMgcmVzb3VyY2UuIgorKTsK
KworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5EZXNjcmlwdGlvbjwvaDE+Cis8cD5U
aGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQsIHdoZW4gYSBmZXRjaGluZyByZXNvdXJjZXMgdGhhdCBl
bmNvdW50ZXIKK3NhbWUtb3JpZ2luIHJlZGlyZWN0cywgYXR0cmlidXRlcyBvZiB0aGUgUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZyBlbnRyeQorY29uZm9ybSB0byB0aGUgc3BlY2lmaWNhdGlvbi48
L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25vcmUtZGF0
YS11cmwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2UtaWdub3JlLWRhdGEtdXJsLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xM2VjNWFmNDU0ZWMxZjNkMDhkMDdiYzA5YmJlMTdlOTJhZmI3Y2Ey
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2UtaWdub3JlLWRhdGEtdXJsLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDQgQEAKKworCitQQVNTIFJlc291cmNlcyB3aXRoIGRhdGE6IFVSSXMg
bXVzdCBub3QgYmUgc3VyZmFjZWQgaW4gUmVzb3VyY2UgVGltaW5nCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlLWlnbm9yZS1kYXRhLXVybC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2UtaWdub3JlLWRhdGEt
dXJsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYTcwNTZhODA4MDc5NjdkOWI5NGIxZDRjNTRjMDYyMGRjMmE0
YmFkOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlLWlnbm9yZS1kYXRhLXVybC5odG1s
CkBAIC0wLDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZyBpZ25vcmVzIHJlc291
cmNlcyB3aXRoIGRhdGE6IFVSSXM8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJH
b29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAi
IGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmctMi8jcmVzb3VyY2Vz
LWluY2x1ZGVkLWluLXRoZS1wZXJmb3JtYW5jZXJlc291cmNldGltaW5nLWludGVyZmFjZSIvPgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPGltZyBzcmM9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFB
QU9UbTdBQUFBQ0g1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlDUkFFQU93PT0iPjwvaW1nPgorPHNj
cmlwdD4KKyAgcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICAgIGNvbnN0IHByb21pc2UgPSBu
ZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHQu
c3RlcF9mdW5jKGxpc3QgPT4geworICAgICAgICBjb25zdCBlbnRyaWVzID0gbGlzdC5nZXRFbnRy
aWVzKCk7CisgICAgICAgIGNvbnN0IGRhdGFFbnRyaWVzID0gZW50cmllcy5maWx0ZXIoZSA9PiBl
Lm5hbWUuaW5jbHVkZXMoJ2RhdGE6JykpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGRhdGFFbnRy
aWVzLmxlbmd0aCwgMCwgJ1RoZXJlIG11c3QgYmUgbm8gZW50cnkgZm9yIGBkYXRhOiBVUkxgLicp
OworICAgICAgICBjb25zdCBibHVlRW50cmllcyA9IGVudHJpZXMuZmlsdGVyKGUgPT4gZS5uYW1l
LmluY2x1ZGVzKCdibHVlLnBuZycpKTsKKyAgICAgICAgaWYgKGJsdWVFbnRyaWVzLmxlbmd0aCkg
eworICAgICAgICAgIC8vIFdlIGNhbiBmaW5pc2ggdGhlIHRlc3Qgb25jZSB3ZSBzZWUgdGhlIGVu
dHJ5IHdpdGggYmx1ZS5wbmcuCisgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICB9CisgICAg
ICB9KSkub2JzZXJ2ZSh7ZW50cnlUeXBlczogWydyZXNvdXJjZSddfSk7CisgICAgfSk7CisgICAg
Ly8gV2FpdCB1bnRpbCB0aGUgZG9jdW1lbnQgaXMgbG9hZGVkLgorICAgIGF3YWl0IG5ldyBQcm9t
aXNlKHJlc29sdmUgPT4geworICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBy
ZXNvbHZlKTsKKyAgICB9KTsKKyAgICAvLyBBZGQgdGhlIGJsdWUucG5nIGltYWdlIGFmdGVyIGRv
Y3VtZW50IGlzIGxvYWRlZCB0byBlbnN1cmUgd2UndmUgcmVjZWl2ZWQKKyAgICAvLyBhbGwgb2Yg
dGhlIHByZXZpb3VzIFJlc291cmNlIFRpbWluZyBlbnRyaWVzLgorICAgIGxvYWQuaW1hZ2UoJ2Js
dWUucG5nJyk7CisgICAgcmV0dXJuIHByb21pc2U7CisgIH0sICdSZXNvdXJjZXMgd2l0aCBkYXRh
OiBVUklzIG11c3Qgbm90IGJlIHN1cmZhY2VkIGluIFJlc291cmNlIFRpbWluZycpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9UQU9fY3Jvc3Nf
b3JpZ2luX3JlZGlyZWN0X2NoYWluLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX1RBT19jcm9z
c19vcmlnaW5fcmVkaXJlY3RfY2hhaW4tZXhwZWN0ZWQudHh0CmluZGV4IDQ3Y2ZkMWRkYjRlNTc1
NTdmNDk0NWE0MGQ5ZTBlMzE4ODYxNTljNDIuLmM1ZmFkOTE1MWE4MjY3NWY3N2Q0ODg3NzhkMzYz
ZmVlMGI4NGFjYTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX1RBT19jcm9zc19vcmlnaW5fcmVk
aXJlY3RfY2hhaW4tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX1RBT19jcm9zc19vcmln
aW5fcmVkaXJlY3RfY2hhaW4tZXhwZWN0ZWQudHh0CkBAIC0zLDggKzMsOCBAQAogUEFTUyB3aW5k
b3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZAogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50
cmllc0J5TmFtZSBpcyBkZWZpbmVkCiBQQVNTIFRoZXJlIHNob3VsZCBiZSBvbmUgZW50cnkuCi1Q
QVNTIHJlZGlyZWN0U3RhcnQgPiAwIGluIHRpbWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiByZWRp
cmVjdC4KLVBBU1MgcmVkaXJlY3RTdGFydCA9PSBzdGFydFRpbWUgaW4gdGltaW5nIGFsbG93ZWQg
Y3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LgotUEFTUyByZWRpcmVjdEVuZCA+IHJlZGlyZWN0U3RhcnQg
aW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LgorRkFJTCByZWRpcmVjdFN0
YXJ0ID4gMCBpbiB0aW1pbmcgYWxsb3dlZCBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuIGFzc2VydF90
cnVlOiByZWRpcmVjdFN0YXJ0ID4gMCBpbiB0aW1pbmcgYWxsb3dlZCBjcm9zcy1vcmlnaW4gcmVk
aXJlY3QuIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIHJlZGlyZWN0U3RhcnQgPT0gc3Rh
cnRUaW1lIGluIHRpbWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4gYXNzZXJ0X2Vx
dWFsczogcmVkaXJlY3RTdGFydCA9PSBzdGFydFRpbWUgaW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mt
b3JpZ2luIHJlZGlyZWN0LiBleHBlY3RlZCA8bm9uZGV0ZXJtaW5pc3RpYyB0ZXN0IG91dHB1dD4g
YnV0IGdvdCAwCitGQUlMIHJlZGlyZWN0RW5kID4gcmVkaXJlY3RTdGFydCBpbiB0aW1pbmcgYWxs
b3dlZCBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuIGFzc2VydF90cnVlOiByZWRpcmVjdEVuZCA+IHJl
ZGlyZWN0U3RhcnQgaW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LiBleHBl
Y3RlZCB0cnVlIGdvdCBmYWxzZQogUEFTUyBmZXRjaFN0YXJ0ID49IHJlZGlyZWN0RW5kIGluIHRp
bWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVz
b3VyY2VfY2FjaGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9jYWNoZWQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
ZDYxZDYzOTYxNmIxODAyZmY0YjYzZGU4MmEwMWZmZDcwMWY4MTRlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VfY2FjaGVkLmh0bWwKQEAgLTAsMCArMSw1MiBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVz
b3VyY2UgVGltaW5nIGNhY2hlZCByZXNvdXJjZXM8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3Ii
IHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGluayBy
ZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jZG9t
LXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmctaW5pdGlhdG9ydHlwZSIvPgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3NleHRlbnNpb24uanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
K3NldHVwKHtleHBsaWNpdF9kb25lOiB0cnVlfSk7CisKKy8vIGV4cGxpY2l0bHkgdGVzdCB0aGUg
bmFtZXNwYWNlIGJlZm9yZSB3ZSBzdGFydCB0ZXN0aW5nCit0ZXN0X25hbWVzcGFjZSgiZ2V0RW50
cmllc0J5VHlwZSIpOworCit2YXIgZDsKK3ZhciBpZnJhbWU7Cit2YXIgaWZyYW1lQm9keTsKK3Zh
ciBpbWFnZTsKK3ZhciByYW5kb20gPSBNYXRoLnJhbmRvbSgpOworCitmdW5jdGlvbiBzZXR1cF9p
ZnJhbWUoKSB7CisgICAgaWZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZyYW1lQ29u
dGV4dCcpOworICAgIGQgPSBpZnJhbWUuY29udGVudFdpbmRvdy5kb2N1bWVudDsKKyAgICBpZnJh
bWVCb2R5ID0gZC5ib2R5OworICAgIGlmcmFtZS5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgb25s
b2FkX3Rlc3QsIGZhbHNlKTsKK30KK2Z1bmN0aW9uIG9ubG9hZF90ZXN0KCkgeworICAgIGlmICh3
aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSA9PT0gdW5kZWZpbmVkKSB7CisgICAg
ICBkb25lKCk7CisgICAgICByZXR1cm47CisgICAgfQorICAgIHZhciBjb250ZXh0ID0gbmV3IFBl
cmZvcm1hbmNlQ29udGV4dChpZnJhbWUuY29udGVudFdpbmRvdy5wZXJmb3JtYW5jZSk7CisgICAg
dmFyIGVudHJpZXMgPSBjb250ZXh0LmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7CisgICAg
dGVzdF9lcXVhbHMoZW50cmllcy5sZW5ndGgsIDIsICJUaGVyZSBzaG91bGQgYmUgdHdvIGVudHJp
ZXMiKTsKKyAgICBpZiAoZW50cmllcy5sZW5ndGggPj0gMikgeworICAgICAgICB0ZXN0X2VxdWFs
cyhlbnRyaWVzWzBdLm5hbWUsIGVudHJpZXNbMV0ubmFtZSwgIkJvdGggZW50cmllcyBzaG91bGQg
aGF2ZSB0aGUgc2FtZSBuYW1lIik7CisgICAgfQorICAgIGRvbmUoKTsKK30KK3dpbmRvdy5zZXR1
cF9pZnJhbWUgPSBzZXR1cF9pZnJhbWU7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGgx
PkRlc2NyaXB0aW9uPC9oMT4KKzxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBhIDMwNCBOb3Qg
TW9kaWZpZWQgcmVzb3VyY2UgYXBwZWFycyBpbiB0aGUgYnVmZmVyLjwvcD4KKzxkaXYgaWQ9Imxv
ZyI+PC9kaXY+Cis8aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQiIHNyYz0icmVzb3VyY2VzL2Zha2Vf
cmVzcG9uc2VzLmh0bWwiPjwvaWZyYW1lPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9pbml0aWF0b3Jf
dHlwZXMuaHRtbAppbmRleCA5OTEyZGE3YzM0MDAxMzhkNzMyNDVhY2MzNzI0NjNjYTE3NGU2ZjU4
Li4yZTUyZjBlNGNkMDllYzllMGQyNmUyNDk0YWM1ZTIwYjU4Y2U2MmI5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9yZXNvdXJjZV9pbml0aWF0b3JfdHlwZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9pbml0aWF0
b3JfdHlwZXMuaHRtbApAQCAtOTUsOCArOTUsOCBAQCBmdW5jdGlvbiBwZXJmb3JtX3Rlc3QoKSB7
CiAgICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFt
ZSArICdyZXNvdXJjZV90aW1pbmdfdGVzdDAucG5nJywgJ2ltZycpOwogICAgIGFkZEVudHJ5SWZF
eGlzdHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcywgcGF0aG5hbWUgKyAncmVzb3VyY2VfdGlt
aW5nX3Rlc3QwLnBuZz9pZD1zcmNzZXQtc3Jjc2V0JywgJ2ltZycpOwogICAgIGFkZEVudHJ5SWZF
eGlzdHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcywgcGF0aG5hbWUgKyAncmVzb3VyY2VfdGlt
aW5nX3Rlc3QwLnBuZz9pZD1zcmNzZXQtc3JjJywgJ2ltZycpOwotICAgIGFkZEVudHJ5SWZFeGlz
dHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcywgcGF0aG5hbWUgKyAnYmxhbmtfcGFnZV9ncmVl
bi5odG0nLCAnaWZyYW1lJyk7Ci0gICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3Rl
ZF9lbnRyaWVzLCBwYXRobmFtZSArICdibGFua19wYWdlX2dyZWVuLmh0bT9pZD1mcmFtZScsICdm
cmFtZScpOworICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcywg
cGF0aG5hbWUgKyAnZ3JlZW4uaHRtbCcsICdpZnJhbWUnKTsKKyAgICBhZGRFbnRyeUlmRXhpc3Rz
KGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ2dyZWVuLmh0bWw/aWQ9ZnJh
bWUnLCAnZnJhbWUnKTsKICAgICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2Vu
dHJpZXMsIHBhdGhuYW1lICsgJ2VtcHR5X3NjcmlwdC5qcycsICdzY3JpcHQnKTsKICAgICBhZGRF
bnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ3Jlc291
cmNlX3RpbWluZ190ZXN0MC5jc3M/aWQ9ZW1iZWQnLCAnZW1iZWQnKTsKICAgICBhZGRFbnRyeUlm
RXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ3Jlc291cmNlX3Rp
bWluZ190ZXN0MC5jc3M/aWQ9bjEnLCAnY3NzJyk7CkBAIC0xMjgsNyArMTI4LDcgQEAgZnVuY3Rp
b24gcGVyZm9ybV90ZXN0KCkgewogICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywgZXhwZWN0
ZWRfZW50cmllcywgcGF0aG5hbWUgKyAnbmVzdGVkLmNzcycsICdsaW5rJyk7CiAgICAgYWRkRW50
cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICduZXN0ZWQu
Y3NzP2lkPXByZWZldGNoJywgJ2xpbmsnKTsKICAgICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMs
IGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ25lc3RlZC5jc3M/aWQ9cHJlbG9hZCcsICds
aW5rJyk7Ci0gICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzLCBw
YXRobmFtZSArICdibGFua19wYWdlX2dyZWVuLmh0bT9pZD1wcmVyZW5kZXInLCAnbGluaycpOwor
ICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcywgcGF0aG5hbWUg
KyAnZ3JlZW4uaHRtbD9pZD1wcmVyZW5kZXInLCAnbGluaycpOwogICAgIGFkZEVudHJ5SWZFeGlz
dHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcywgcGF0aG5hbWUgKyAnbWFuaWZlc3QuanNvbics
ICdsaW5rJyk7CiAgICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVz
LCBwYXRobmFtZSArICdlbXB0eS5weT9pZD1iZWFjb24nLCAnYmVhY29uJyk7CiAgICAgYWRkRW50
cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdlbXB0eS5w
eT9pZD1mZXRjaCcsICdmZXRjaCcpOwpAQCAtMTU4LDcgKzE1OCw3IEBAIHdpbmRvdy5vbl9hc3lu
Y194aHJfZG9uZSA9IGZ1bmN0aW9uKCkgewogPGgxPkRlc2NyaXB0aW9uPC9oMT4KIDxwPlRoaXMg
dGVzdCB2YWxpZGF0ZXMgdGhhdCBhbGwgb2YgdGhlIGluaXRpYXRvciB0eXBlcyBhcmUgcmVwcmVz
ZW50ZWQuPC9wPgogPGRpdiBpZD0ibG9nIj48L2Rpdj4KLTxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4
dCIgb25sb2FkPSJvbmxvYWRfdGVzdCgpOyIgc3JjPSJyZXNvdXJjZXMvYWxsX3Jlc291cmNlX3R5
cGVzLmh0bSIgc3R5bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1lPgot
PGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0MiIgb25sb2FkPSJmcmFtZXNldF9vbmxvYWQoKTsiIHNy
Yz0icmVzb3VyY2VzL2dyZWVuX2ZyYW1lLmh0bSIgc3R5bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0
OiAyNTBweDsiPjwvaWZyYW1lPgorPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBvbmxvYWQ9Im9u
bG9hZF90ZXN0KCk7IiBzcmM9InJlc291cmNlcy9hbGxfcmVzb3VyY2VfdHlwZXMuaHRtbCIgc3R5
bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1lPgorPGlmcmFtZSBpZD0i
ZnJhbWVDb250ZXh0MiIgb25sb2FkPSJmcmFtZXNldF9vbmxvYWQoKTsiIHNyYz0icmVzb3VyY2Vz
L2dyZWVuLWZyYW1lLmh0bWwiIHN0eWxlPSJ3aWR0aDogMjUwcHg7IGhlaWdodDogMjUwcHg7Ij48
L2lmcmFtZT4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX25lc3Rl
ZF9kZWRpY2F0ZWRfd29ya2VyLndvcmtlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX25lc3RlZF9kZWRpY2F0
ZWRfd29ya2VyLndvcmtlci5qcwppbmRleCBmYzc5MzA3NWJiYWRlMWIwODkxZWE4ZWNmNTAxMzcw
NTFkODRiODIwLi4yYzlmNWY5NTQyOGFjYTVjZTlkMTg3MTQyMjNmYWI2Zjc4ZjM2MGMwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZV9uZXN0ZWRfZGVkaWNhdGVkX3dvcmtlci53b3JrZXIuanMKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VfbmVzdGVkX2RlZGljYXRlZF93b3JrZXIud29ya2VyLmpzCkBAIC0xLDYg
KzEsNiBAQAogaW1wb3J0U2NyaXB0cygiL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyIpOwogCi1h
c3luY190ZXN0KGFzeW5jIGZ1bmN0aW9uKCkgeworYXN5bmNfdGVzdChmdW5jdGlvbigpIHsKICAg
Y29uc3Qgd29ya2VyID0gbmV3IFdvcmtlcigncmVzb3VyY2VzL3dvcmtlcl93aXRoX2ltYWdlcy5q
cycpOwogICB3b3JrZXIub25tZXNzYWdlID0gdGhpcy5zdGVwX2Z1bmNfZG9uZSgoZXZlbnQpID0+
IHsKICAgICBjb25zdCBjaGlsZE51bUVudHJpZXMgPSBldmVudC5kYXRhOwpAQCAtMTQsNCArMTQs
NCBAQCBhc3luY190ZXN0KGFzeW5jIGZ1bmN0aW9uKCkgewogICAgIHdvcmtlci50ZXJtaW5hdGUo
KTsKICAgfSk7CiB9LCAiUmVzb3VyY2UgdGltaW5nIGZvciBuZXN0ZWQgZGVkaWNhdGVkIHdvcmtl
cnMiKTsKLWRvbmUoKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitkb25lKCk7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZV90aW1pbmdfY29udGVudF9sZW5ndGgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VfdGltaW5nX2NvbnRlbnRfbGVuZ3RoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5kM2EzZjg4ZDFiZWFjMTAzNzAwNWVjYWY4ODg0NTE2MDNjZGVlZTdhCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvcmVzb3VyY2VfdGltaW5nX2NvbnRlbnRfbGVuZ3RoLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDggQEAKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisK
K1BBU1MgZW5jb2RlZEJvZHlTaXplIHNob3VsZCBiZSBlcXVhbCB0byB0aGUgYWN0dWFsIGJ5dGUg
c2l6ZSBvZiB0aGUgY29udGVudAorUEFTUyBlbmNvZGVkQm9keVNpemUgc2hvdWxkIGJlIGVxdWFs
IHRvIHRoZSBhY3R1YWwgYnl0ZSBzaXplIG9mIHRoZSBjb250ZW50IHdoZW4gbm8gaGVhZGVyIHBy
ZXNlbnQKK1BBU1MgZW5jb2RlZEJvZHlTaXplIHNob3VsZCBiZSBlcXVhbCB0byB0aGUgYWN0dWFs
IGJ5dGUgc2l6ZSBvZiB0aGUgY29udGVudCB3aGVuIGhlYWRlciB2YWx1ZSBpcyBsb3dlciB0aGFu
IGFjdHVhbCBjb250ZW50CitUSU1FT1VUIGVuY29kZWRCb2R5U2l6ZSBzaG91bGQgYmUgZXF1YWwg
dG8gdGhlIGFjdHVhbCBieXRlIHNpemUgb2YgdGhlIGNvbnRlbnQgd2hlbiBoZWFkZXIgdmFsdWUg
aXMgaGlnaGVyIHRoYW4gYWN0dWFsIGNvbnRlbnQgVGVzdCB0aW1lZCBvdXQKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VfdGltaW5nX2NvbnRlbnRfbGVuZ3RoLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV90
aW1pbmdfY29udGVudF9sZW5ndGguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMmJkOGE5N2UwNzM0MTMyMzA2
MTUxMjY5OGE1NjUyMzJmMTk3MmJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfdGlt
aW5nX2NvbnRlbnRfbGVuZ3RoLmh0bWwKQEAgLTAsMCArMSwzNSBAQAorPCFET0NUWVBFIEhUTUw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+VGhpcyB0
ZXN0IHZhbGlkYXRlcyB0aGUgdmFsdWUgb2YgZW5jb2RlZEJvZHlTaXplIGluIGNlcnRhaW4gc2l0
dWF0aW9ucy48L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9y
Zy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4K
KyAgICBmdW5jdGlvbiB0ZXN0X3Jlc291cmNlX3RpbWluZ19mb3JfY29udGVudF9sZW5ndGgoe2Fj
dHVhbENvbnRlbnRMZW5ndGgsIGxlbmd0aEhlYWRlcn0sIHRpdGxlKSB7CisgICAgICAgIHByb21p
c2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSBuZXcgQXJy
YXkoYWN0dWFsQ29udGVudExlbmd0aCkuZmlsbCgneCcpLmpvaW4oJycpCisgICAgICAgICAgICBj
b25zdCB1cmwgPSBgcmVzb3VyY2VzL3Jlc291cmNlLXRpbWluZy1jb250ZW50LWxlbmd0aC5weT9j
b250ZW50PSR7Y29udGVudH0mbGVuZ3RoPSR7bGVuZ3RoSGVhZGVyfWAKKyAgICAgICAgICAgIGZl
dGNoKHVybCkKKyAgICAgICAgICAgIGNvbnN0IGVudHJ5ID0gYXdhaXQgbmV3IFByb21pc2UocmVz
b2x2ZSA9PiBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcigoZW50cnlMaXN0LCBvYnNlcnZlcikgPT4g
eworICAgICAgICAgICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKQorICAgICAgICAgICAgICAg
IHJlc29sdmUoZW50cnlMaXN0LmdldEVudHJpZXMoKVswXSkKKyAgICAgICAgICAgIH0pLm9ic2Vy
dmUoe2VudHJ5VHlwZXM6IFsncmVzb3VyY2UnXX0pKQorCisgICAgICAgICAgICBjb25zdCBleHBl
Y3RlZENvbnRlbnRMZW5ndGggPSBOdW1iZXIuaXNJbnRlZ2VyKGxlbmd0aEhlYWRlcikgPyBNYXRo
Lm1pbihhY3R1YWxDb250ZW50TGVuZ3RoLCBsZW5ndGhIZWFkZXIpIDogYWN0dWFsQ29udGVudExl
bmd0aAorICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyeS5lbmNvZGVkQm9keVNpemUsIGV4
cGVjdGVkQ29udGVudExlbmd0aCkKKyAgICAgICAgfSwgdGl0bGUpOworICAgIH0KKworICAgIHRl
c3RfcmVzb3VyY2VfdGltaW5nX2Zvcl9jb250ZW50X2xlbmd0aCh7YWN0dWFsQ29udGVudExlbmd0
aDogMywgbGVuZ3RoSGVhZGVyOiAnYXV0byd9LAorICAgICAgICAiZW5jb2RlZEJvZHlTaXplIHNo
b3VsZCBiZSBlcXVhbCB0byB0aGUgYWN0dWFsIGJ5dGUgc2l6ZSBvZiB0aGUgY29udGVudCIpCisg
ICAgdGVzdF9yZXNvdXJjZV90aW1pbmdfZm9yX2NvbnRlbnRfbGVuZ3RoKHthY3R1YWxDb250ZW50
TGVuZ3RoOiAxMywgbGVuZ3RoSGVhZGVyOiAnbm9uZSd9LAorICAgICAgICAiZW5jb2RlZEJvZHlT
aXplIHNob3VsZCBiZSBlcXVhbCB0byB0aGUgYWN0dWFsIGJ5dGUgc2l6ZSBvZiB0aGUgY29udGVu
dCB3aGVuIG5vIGhlYWRlciBwcmVzZW50IikKKyAgICB0ZXN0X3Jlc291cmNlX3RpbWluZ19mb3Jf
Y29udGVudF9sZW5ndGgoe2FjdHVhbENvbnRlbnRMZW5ndGg6IDcsIGxlbmd0aEhlYWRlcjogM30s
CisgICAgICAgICJlbmNvZGVkQm9keVNpemUgc2hvdWxkIGJlIGVxdWFsIHRvIHRoZSBhY3R1YWwg
Ynl0ZSBzaXplIG9mIHRoZSBjb250ZW50IHdoZW4gaGVhZGVyIHZhbHVlIGlzIGxvd2VyIHRoYW4g
YWN0dWFsIGNvbnRlbnQiKQorICAgIHRlc3RfcmVzb3VyY2VfdGltaW5nX2Zvcl9jb250ZW50X2xl
bmd0aCh7YWN0dWFsQ29udGVudExlbmd0aDogOCwgbGVuZ3RoSGVhZGVyOiA0MH0sCisgICAgICAg
ICJlbmNvZGVkQm9keVNpemUgc2hvdWxkIGJlIGVxdWFsIHRvIHRoZSBhY3R1YWwgYnl0ZSBzaXpl
IG9mIHRoZSBjb250ZW50IHdoZW4gaGVhZGVyIHZhbHVlIGlzIGhpZ2hlciB0aGFuIGFjdHVhbCBj
b250ZW50IikKKzwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzLzIw
MF9lbXB0eS5hc2lzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzLzIwMF9lbXB0eS5hc2lzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI1
ZDEwYmRhMzI0NTI4ZDFkODU0NjNiOWExNWEzNDdmNWMxZmFlZDkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvMjAwX2VtcHR5LmFzaXMKQEAgLTAsMCArMSwzIEBACitIVFRQLzEuMCAy
MDAgT0sKK0NvbnRlbnQtTGVuZ3RoOiAwCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9UQU9S
ZXNwb25zZS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9UQU9SZXNwb25zZS5weQppbmRleCA5MDhiNjg4NjFh
ZTgyNjJhMThlMDgzYjAyNmQxNDU5MWQxZTAyMDZlLi42MDM5MmI4ZTEwYWRhNGZkNzBhMDNhNjI1
ODg0OTMwNmU5NzE0ZWM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvVEFPUmVzcG9uc2UucHkK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvcmVzb3VyY2VzL1RBT1Jlc3BvbnNlLnB5CkBAIC0xLDggKzEsMTIgQEAKK2ltcG9y
dCBvcworCiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgb3JpZ2luID0gcmVxdWVz
dC5oZWFkZXJzW2Inb3JpZ2luJ10KLSAgICByZXNwb25zZS5oZWFkZXJzLnNldChiJ0FjY2Vzcy1D
b250cm9sLUFsbG93LU9yaWdpbicsIG9yaWdpbikKKyAgICBpZiBiJ29yaWdpbicgaW4gcmVxdWVz
dC5oZWFkZXJzOgorICAgICAgb3JpZ2luID0gcmVxdWVzdC5oZWFkZXJzW2Inb3JpZ2luJ10KKyAg
ICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGInQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luJywg
b3JpZ2luKQogCiAgICAgdGFvID0gcmVxdWVzdC5HRVQuZmlyc3QoYid0YW8nKQorICAgIGltZyA9
IHJlcXVlc3QuR0VULmZpcnN0KGInaW1nJykgaWYgYidpbWcnIGluIHJlcXVlc3QuR0VUIGVsc2Ug
Tm9uZQogCiAgICAgaWYgdGFvID09IGInemVybyc6CiAgICAgIyB6ZXJvIFRBTyB2YWx1ZSwgZmFp
bApAQCAtMTQsNyArMTgsNyBAQCBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CiAgICAgIyBu
dWxsLCBmYWlsIHVubGVzcyBpdCdzIGFuIG9wYXF1ZSBvcmlnaW4KICAgICAgICAgcmVzcG9uc2Uu
aGVhZGVycy5zZXQoYidUaW1pbmctQWxsb3ctT3JpZ2luJywgYidudWxsJykKICAgICBlbGlmIHRh
byA9PSBiJ051bGwnOgotICAgICMgY2FzZS1pbnNlbnRpdmUgbnVsbCwgZmFpbAorICAgICMgY2Fz
ZS1pbnNlbnNpdGl2ZSBudWxsLCBmYWlsCiAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIn
VGltaW5nLUFsbG93LU9yaWdpbicsIGInTnVsbCcpCiAgICAgZWxpZiB0YW8gPT0gYidvcmlnaW4n
OgogICAgICMgY2FzZS1zZW5zaXRpdmUgbWF0Y2ggZm9yIG9yaWdpbiwgcGFzcwpAQCAtNDksMyAr
NTMsMTIgQEAgZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgogICAgICAgICByZXNwb25zZS5o
ZWFkZXJzLnNldChiJ1RpbWluZy1BbGxvdy1PcmlnaW4nLCBvcmlnaW4udXBwZXIoKSkKICAgICBl
bHNlOgogICAgICAgICBwYXNzCisgICAgcmVzcG9uc2Uuc3RhdHVzID0gMjAwCisgICAgaWYgaW1n
OgorICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJDb250ZW50LVR5cGUiLCBiImltYWdlL3Bu
ZyIpCisgICAgICB3aXRoIG9wZW4ocmVxdWVzdC5kb2Nfcm9vdCArICIvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlcy9ibHVlLnBuZyIsICJyYiIpIGFzIGY6CisgICAgICAgIHJlc3BvbnNlLmNvbnRl
bnQgPSBmLnJlYWQoKQorICAgICAgICBmLmNsb3NlKCkKKyAgICBlbHNlOgorICAgICAgcmVzcG9u
c2UuaGVhZGVycy5zZXQoYiJDb250ZW50LVR5cGUiLCBiInRleHQvcGxhaW4iKQorICAgICAgcmVz
cG9uc2UuY29udGVudCA9ICJURVNUIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2FsbF9yZXNv
dXJjZV90eXBlcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2FsbF9yZXNvdXJjZV90eXBlcy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjUyNTJhNDg3MmFiNGUyOGU2NjUwYzQ1Yzc3OWIzODA1MjU0ZmE5MGYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvYWxsX3Jlc291cmNlX3R5cGVzLmh0bWwKQEAgLTAs
MCArMSwxMDcgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAg
IDxtZXRhIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgaHR0cC1lcXVpdj0iQ29u
dGVudC1UeXBlIiAvPgorICAgICAgICA8dGl0bGU+QWxsIFJlc291cmNlIFR5cGVzIFRlc3QgUGFn
ZTwvdGl0bGU+CisgICAgICAgIDxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgaHJlZj0iZW1wdHku
cHk/ZmF2aWNvbiI+CisgICAgPC9oZWFkPgorICAgIDxib2R5IGJhY2tncm91bmQ9J2JsdWUucG5n
P2lkPWJvZHknPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5wYXJl
bnQuaGFzT3duUHJvcGVydHkoJ29uX3Rlc3RfYm9keV9jcmVhdGVkJykpCisgICAgICAgICAgICAg
ICAgd2luZG93LnBhcmVudC5vbl90ZXN0X2JvZHlfY3JlYXRlZCgpOworICAgICAgICA8L3Njcmlw
dD4KKyAgICAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJuZXN0ZWQuY3NzIj48L2xp
bms+CisgICAgICAgIDxsaW5rIHJlbD0icHJlZmV0Y2giIGhyZWY9Im5lc3RlZC5jc3M/aWQ9cHJl
ZmV0Y2giPjwvbGluaz4KKyAgICAgICAgPGxpbmsgcmVsPSJwcmVsb2FkIiBocmVmPSJuZXN0ZWQu
Y3NzP2lkPXByZWxvYWQiIGFzPSJzdHlsZSI+PC9saW5rPgorICAgICAgICA8bGluayByZWw9InBy
ZXJlbmRlciIgaHJlZj0iZ3JlZW4uaHRtbD9pZD1wcmVyZW5kZXIiPjwvbGluaz4KKyAgICAgICAg
PGxpbmsgcmVsPSJtYW5pZmVzdCIgaHJlZj0ibWFuaWZlc3QuanNvbiI+PC9saW5rPgorICAgICAg
ICA8aW1nIHNyYz0icmVzb3VyY2VfdGltaW5nX3Rlc3QwLnBuZyI+PC9pbWc+CisgICAgICAgIDxp
bWcgc3JjPSJyZXNvdXJjZV90aW1pbmdfdGVzdDAucG5nP2lkPXNyY3NldC1zcmMiCisgICAgICAg
ICAgICBzcmNzZXQ9InJlc291cmNlX3RpbWluZ190ZXN0MC5wbmc/aWQ9c3Jjc2V0LXNyY3NldCA2
N3ciCisgICAgICAgICAgICBzaXplcz0iNjdweCI+PC9pbWc+CisgICAgICAgIDxpZnJhbWUgc3Jj
PSJncmVlbi5odG1sIiB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiPjwvaWZyYW1lPgorICAg
ICAgICA8c2NyaXB0IHNyYz0iZW1wdHlfc2NyaXB0LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNj
cmlwdD4KKyAgICAgICAgICAgIHZhciBhc3luY194aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Q7Cisg
ICAgICAgICAgICBhc3luY194aHIub3BlbignR0VUJywgJ2JsdWUucG5nP2lkPWFzeW5jX3hocics
IHRydWUpOworICAgICAgICAgICAgYXN5bmNfeGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0
aW9uKCkgeworICAgICAgICAgICAgICAgIGlmIChhc3luY194aHIucmVhZHlTdGF0ZSA9PSA0ICYm
IGFzeW5jX3hoci5zdGF0dXMgPT0gMjAwICYmIHBhcmVudC5oYXNPd25Qcm9wZXJ0eSgnb25fYXN5
bmNfeGhyX2RvbmUnKSkKKyAgICAgICAgICAgICAgICAgICAgcGFyZW50Lm9uX2FzeW5jX3hocl9k
b25lKCk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBhc3luY194aHIuc2VuZCgpOworCisg
ICAgICAgICAgICBpZiAod2luZG93Lm5hdmlnYXRvciAmJiBuYXZpZ2F0b3Iuc2VuZEJlYWNvbikg
eworICAgICAgICAgICAgICAgIG5hdmlnYXRvci5zZW5kQmVhY29uKCdlbXB0eS5weT9pZD1iZWFj
b24nKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKHdpbmRvdy5mZXRjaCkgewor
ICAgICAgICAgICAgICAgIGZldGNoKCdlbXB0eS5weT9pZD1mZXRjaCcpOworICAgICAgICAgICAg
fQorCisgICAgICAgICAgICBpZiAod2luZG93LkV2ZW50U291cmNlKSB7CisgICAgICAgICAgICAg
ICAgdmFyIGV2dFNvdXJjZSA9IG5ldyBFdmVudFNvdXJjZSgnZXZlbnRzb3VyY2UucHk/aWQ9ZXZl
bnRzb3VyY2UnKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgIEBmb250LWZhY2UgeworICAgICAgICAgICAgICAgIGZvbnQtZmFt
aWx5OiByZW1vdGVGb250QWhlbTsKKyAgICAgICAgICAgICAgICBzcmM6IHVybCgnL2ZvbnRzL0Fo
ZW0udHRmJyk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBpZnJhbWUgeworICAgICAgICAg
ICAgICAgIGJhY2tncm91bmQ6IHVybCgnYmx1ZS5wbmc/aWQ9MScpOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgYm9keSB7CisgICAgICAgICAgICAgICAgY3Vyc29yOiB1cmwoJ2JsdWUucG5n
P2lkPWN1cnNvcicpLCBwb2ludGVyOworICAgICAgICAgICAgfQorICAgICAgICAgICAgdWwgewor
ICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiByZW1vdGVGb250QWhlbTsKKyAgICAgICAgICAg
ICAgICBsaXN0LXN0eWxlLWltYWdlOiB1cmwoJ2JsdWUucG5nP2lkPTInKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICAgICAgPHVsPgorICAgICAgICAgICAgPGxpPlRlc3Q8
L2xpPgorICAgICAgICA8L3VsPgorICAgICAgICA8b2w+CisgICAgICAgICAgICA8bGk+VGVzdDwv
bGk+CisgICAgICAgIDwvb2w+CisgICAgICAgIDxlbWJlZCBzcmM9InJlc291cmNlX3RpbWluZ190
ZXN0MC5jc3M/aWQ9ZW1iZWQiIHR5cGU9InRleHQvY3NzIj48L2VtYmVkPgorICAgICAgICA8aW5w
dXQgdHlwZT0iaW1hZ2UiIHNyYz0iYmx1ZS5wbmc/aWQ9aW5wdXQiPjwvaW5wdXQ+CisgICAgICAg
IDxvYmplY3QgdHlwZT0iaW1hZ2UvcG5nIiBkYXRhPSJibHVlLnBuZz9pZD1vYmplY3QiPjwvb2Jq
ZWN0PgorICAgICAgICA8dmlkZW8gcG9zdGVyPSJibHVlLnBuZz9pZD12aWRlby1wb3N0ZXIiPjwv
dmlkZW8+CisgICAgICAgIDx2aWRlbyBzcmM9Ii9tZWRpYS90ZXN0Lm1wND9pZD12aWRlby1zcmMi
IGF1dG9wbGF5PSJ0cnVlIj48L3ZpZGVvPgorICAgICAgICA8dmlkZW8gYXV0b3BsYXk9InRydWUi
PgorICAgICAgICAgICAgPHNvdXJjZSBzcmM9Ii9tZWRpYS90ZXN0Lm1wND9pZD12aWRlby1zb3Vy
Y2UiIHR5cGU9InZpZGVvL21wNCI+CisgICAgICAgICAgICA8c291cmNlIHNyYz0iL21lZGlhL3Rl
c3Qub2d2P2lkPXZpZGVvLXNvdXJjZSIgdHlwZT0idmlkZW8vb2dnIj4KKyAgICAgICAgICAgIDx0
cmFjayBraW5kPSJzdWJ0aXRsZXMiIHNyYz0iZW1wdHkucHk/aWQ9dmlkZW8tdHJhY2siIHNyY2xh
bmc9ImVuIiBkZWZhdWx0PgorICAgICAgICA8L3ZpZGVvPgorICAgICAgICA8YXVkaW8gc3JjPSJl
bXB0eS5weT9pZD1hdWRpby1zcmMiPjwvYXVkaW8+CisgICAgICAgIDxhdWRpbz4KKyAgICAgICAg
ICAgIDxzb3VyY2Ugc3JjPSJlbXB0eS5weT9pZD1hdWRpby1zb3VyY2Utd2F2IiB0eXBlPSJhdWRp
by93YXYiIC8+CisgICAgICAgICAgICA8c291cmNlIHNyYz0iZW1wdHkucHk/aWQ9YXVkaW8tc291
cmNlLW1wZWciIHR5cGU9ImF1ZGlvL21wZWciIC8+CisgICAgICAgICAgICA8c291cmNlIHNyYz0i
ZW1wdHkucHk/aWQ9YXVkaW8tc291cmNlLW9nZyIgdHlwZT0iYXVkaW8vb2dnIiAvPgorICAgICAg
ICA8L2F1ZGlvPgorICAgICAgICA8c3ZnIHdpZHRoPTIwMCBoZWlnaHQ9MjAwCisgICAgICAgICAg
ICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCisgICAgICAgICAgICB4bWxuczp4
bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CisgICAgICAgICAgICA8aW1hZ2Ug
aHJlZj0iYmx1ZS5wbmc/aWQ9c3ZnLWltYWdlIiBoZWlnaHQ9IjIwMCIgd2lkdGg9IjIwMCIvPgor
ICAgICAgICA8L3N2Zz4KKyAgICAgICAgPHBpY3R1cmU+CisgICAgICAgICAgICA8c291cmNlIHNy
Y3NldD0iYmx1ZS5wbmc/aWQ9cGljdHVyZS1zb3VyY2UiIHR5cGU9ImltYWdlL3BuZyIgLz4KKyAg
ICAgICAgICAgIDxpbWcgc3JjPSJibHVlLnBuZz9pZD1waWN0dXJlLWltZyIgLz4KKyAgICAgICAg
PC9waWN0dXJlPgorICAgICAgICA8cGljdHVyZT4KKyAgICAgICAgICAgIDxzb3VyY2Ugc3Jjc2V0
PSJibHVlLnBuZz9pZD1waWN0dXJlLW5vdHN1cHBvcnRlZC1zb3VyY2UiIHR5cGU9ImltYWdlL25v
dHN1cHBvcnRlZCIgLz4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJibHVlLnBuZz9pZD1waWN0dXJl
LW5vdHN1cHBvcnRlZC1pbWciIC8+CisgICAgICAgIDwvcGljdHVyZT4KKyAgICAgICAgPHBpY3R1
cmU+CisgICAgICAgICAgICA8aW1nIHNyYz0iYmx1ZS5wbmc/aWQ9cGljdHVyZS1pbWctc3JjIgor
ICAgICAgICAgICAgICAgIHNyY3NldD0iYmx1ZS5wbmc/aWQ9cGljdHVyZS1pbWctc3Jjc2V0Igor
ICAgICAgICAgICAgICAgIHNpemVzPSI2N3B4Ij48L2ltZz4KKyAgICAgICAgPC9waWN0dXJlPgor
ICAgICAgICA8cGljdHVyZT4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJibHVlLnBuZz9pZD1waWN0
dXJlLTk5eC1pbWctc3JjIgorICAgICAgICAgICAgICAgIHNyY3NldD0iYmx1ZS5wbmc/aWQ9cGlj
dHVyZS05OXgtaW1nLXNyY3NldCA5OXgiCisgICAgICAgICAgICAgICAgc2l6ZXM9IjY3cHgiPjwv
aW1nPgorICAgICAgICA8L3BpY3R1cmU+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL2J1ZmZlci1mdWxsLXV0aWxpdGllcy5qcyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9i
dWZmZXItZnVsbC11dGlsaXRpZXMuanMKaW5kZXggZTBhNGYwYjEwODA5NDY1OGJlMGFlZjQ1M2Jm
ODI2YmYwMWMyOGY5My4uMjFjZDYzM2NlZDk3ZGJmNmM3NWVhZTEwYmZkOTdhMjk0MmU0YmQ1YSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2J1ZmZlci1mdWxsLXV0aWxpdGllcy5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9yZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzCkBAIC0xMiwxMiArMTIsMjcgQEAg
bGV0IHhoclNjcmlwdCA9IHNyYyA9PiB7CiAgICAgeGhyLnNlbmQobnVsbCk7CiB9CiAKLWxldCB3
YWl0Rm9yTmV4dFRhc2sgPSAoKSA9PiB7CisvLyBUaGlzIHNjcmlwdCByZWxpZXMgb24gcmVzb3Vy
Y2VzL3Jlc291cmNlLWxvYWRlcnMuanMuIEluY2x1ZGUgaXQgYmVmb3JlIGluIG9yZGVyIGZvciB0
aGUgYmVsb3cKKy8vIG1ldGhvZHMgdG8gd29yayBwcm9wZXJseS4KKworLy8gVGhlIHJlc291cmNl
cyB1c2VkIHRvIHRyaWdnZXIgbmV3IGVudHJpZXMuCitjb25zdCBzY3JpcHRSZXNvdXJjZXMgPSBb
CisgICAgJ3Jlc291cmNlcy9lbXB0eS5qcycsCisgICAgJ3Jlc291cmNlcy9lbXB0eV9zY3JpcHQu
anMnLAorICAgICdyZXNvdXJjZXMvZW1wdHkuanM/aWQnCitdOworCitjb25zdCB3YWl0Rm9yTmV4
dFRhc2sgPSAoKSA9PiB7CiAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewogICAg
ICAgICBzdGVwX3RpbWVvdXQocmVzb2x2ZSwgMCk7CiAgICAgfSk7CiB9OwogCitjb25zdCBjbGVh
ckJ1ZmZlckFuZFNldFNpemUgPSBzaXplID0+IHsKKyAgcGVyZm9ybWFuY2UuY2xlYXJSZXNvdXJj
ZVRpbWluZ3MoKTsKKyAgcGVyZm9ybWFuY2Uuc2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKHNp
emUpOworfQorCiBsZXQgd2FpdFVudGlsQ29uZGl0aW9uSXNNZXQgPSBjb25kID0+IHsKICAgICBy
ZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CiAgICAgICAgIGxldCBjaGVja0NvbmRpdGlv
biA9IGZ1bmN0aW9uKCkgewpAQCAtNDUsMjcgKzYwLDU3IEBAIGxldCB3YWl0Rm9yRXZlbnRUb0Zp
cmUgPSAoKSA9PiB7CiAgICAgfSk7CiB9OwogCi1sZXQgY2xlYXJCdWZmZXJBbmRTZXRTaXplID0g
c2l6ZSA9PiB7Ci0gICAgcGVyZm9ybWFuY2UuY2xlYXJSZXNvdXJjZVRpbWluZ3MoKTsKLSAgICBw
ZXJmb3JtYW5jZS5zZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUoc2l6ZSk7Ci19Citjb25zdCBm
b3JjZUJ1ZmZlckZ1bGxFdmVudCA9IGFzeW5jICgpID0+IHsKKyAgY2xlYXJCdWZmZXJBbmRTZXRT
aXplKDEpOworICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgcmVzb2x2ZSA9PiB7CisgICAgcGVy
Zm9ybWFuY2UuYWRkRXZlbnRMaXN0ZW5lcigncmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsJywgcmVz
b2x2ZSk7CisgICAgLy8gTG9hZCAyIHJlc291cmNlcyB0byBlbnN1cmUgb25yZXNvdXJjZXRpbWlu
Z2J1ZmZlcmZ1bGwgaXMgZmlyZWQuCisgICAgLy8gTG9hZCB0aGVtIGluIG9yZGVyIGluIG9yZGVy
IHRvIGdldCB0aGUgZW50cmllcyBpbiB0aGF0IG9yZGVyIQorICAgIGF3YWl0IGxvYWQuc2NyaXB0
KHNjcmlwdFJlc291cmNlc1swXSk7CisgICAgYXdhaXQgbG9hZC5zY3JpcHQoc2NyaXB0UmVzb3Vy
Y2VzWzFdKTsKKyAgfSk7Cit9OwogCi1sZXQgZmlsbFVwVGhlQnVmZmVyV2l0aFNpbmdsZVJlc291
cmNlID0gc3JjID0+IHsKLSAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0gICAg
ICAgIC8vIFRoaXMgcmVzb3VyY2UgZ2V0cyBidWZmZXJlZCBpbiB0aGUgcmVzb3VyY2UgdGltaW5n
IGVudHJ5IGJ1ZmZlci4KLSAgICAgICAgYXBwZW5kU2NyaXB0KHNyYywgcmVzb2x2ZSk7Ci0gICAg
fSk7Citjb25zdCBmaWxsVXBUaGVCdWZmZXJXaXRoU2luZ2xlUmVzb3VyY2UgPSBhc3luYyAoc3Jj
ID0gc2NyaXB0UmVzb3VyY2VzWzBdKSA9PiB7CisgIGNsZWFyQnVmZmVyQW5kU2V0U2l6ZSgxKTsK
KyAgYXdhaXQgbG9hZC5zY3JpcHQoc3JjKTsKIH07CiAKLWxldCBsb2FkUmVzb3VyY2UgPSBzcmMg
PT4gewotICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgICAgYXBwZW5k
U2NyaXB0KHNyYywgcmVzb2x2ZSk7Ci0gICAgfSk7Citjb25zdCBmaWxsVXBUaGVCdWZmZXJXaXRo
VHdvUmVzb3VyY2VzID0gYXN5bmMgKCkgPT4geworICAgIGNsZWFyQnVmZmVyQW5kU2V0U2l6ZSgy
KTsKKyAgICAvLyBMb2FkIHRoZW0gaW4gb3JkZXIgaW4gb3JkZXIgdG8gZ2V0IHRoZSBlbnRyaWVz
IGluIHRoYXQgb3JkZXIhCisgICAgYXdhaXQgbG9hZC5zY3JpcHQoc2NyaXB0UmVzb3VyY2VzWzBd
KTsKKyAgICBhd2FpdCBsb2FkLnNjcmlwdChzY3JpcHRSZXNvdXJjZXNbMV0pOwogfTsKIAotbGV0
IGZpbGxVcFRoZUJ1ZmZlcldpdGhUd29SZXNvdXJjZXMgPSBhc3luYyBzcmMgPT4gewotICAgIC8v
IFRoZXNlIHJlc291cmNlcyBnZXQgYnVmZmVyZWQgaW4gdGhlIHJlc291cmNlIHRpbWluZyBlbnRy
eSBidWZmZXIuCi0gICAgYXdhaXQgbG9hZFJlc291cmNlKHNyYyk7Ci0gICAgYXdhaXQgbG9hZFJl
c291cmNlKHNyYyArICc/c2Vjb25kJyk7Citjb25zdCBhZGRBc3NlcnRVbnJlYWNoZWRCdWZmZXJG
dWxsID0gdCA9PiB7CisgIHBlcmZvcm1hbmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc291cmNldGlt
aW5nYnVmZmVyZnVsbCcsIHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICBhc3NlcnRfdW5yZWFjaGVk
KCJyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwgc2hvdWxkIG5vdCBmaXJlIikKKyAgfSkpOwogfTsK
IAorY29uc3QgY2hlY2tFbnRyaWVzID0gbnVtRW50cmllcyA9PiB7CisgIGNvbnN0IGVudHJpZXMg
PSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdyZXNvdXJjZScpOworICBhc3NlcnRfZXF1
YWxzKGVudHJpZXMubGVuZ3RoLCBudW1FbnRyaWVzLAorICAgICAgJ051bWJlciBvZiBlbnRyaWVz
IGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCB2YWx1ZS4nKTsKKyAgYXNzZXJ0X3RydWUoZW50
cmllc1swXS5uYW1lLmluY2x1ZGVzKHNjcmlwdFJlc291cmNlc1swXSksCisgICAgICBzY3JpcHRS
ZXNvdXJjZXNbMF0gKyAiIGlzIGluIHRoZSBlbnRyaWVzIGJ1ZmZlciIpOworICBpZiAoZW50cmll
cy5sZW5ndGggPiAxKSB7CisgICAgYXNzZXJ0X3RydWUoZW50cmllc1sxXS5uYW1lLmluY2x1ZGVz
KHNjcmlwdFJlc291cmNlc1sxXSksCisgICAgICAgIHNjcmlwdFJlc291cmNlc1sxXSArICIgaXMg
aW4gdGhlIGVudHJpZXMgYnVmZmVyIik7CisgIH0KKyAgaWYgKGVudHJpZXMubGVuZ3RoID4gMikg
eworICAgIGFzc2VydF90cnVlKGVudHJpZXNbMl0ubmFtZS5pbmNsdWRlcyhzY3JpcHRSZXNvdXJj
ZXNbMl0pLAorICAgICAgICBzY3JpcHRSZXNvdXJjZXNbMl0gKyAiIGlzIGluIHRoZSBlbnRyaWVz
IGJ1ZmZlciIpOworICB9Cit9CisKK2NvbnN0IGJ1ZmZlckZ1bGxGaXJlUHJvbWlzZSA9IG5ldyBQ
cm9taXNlKHJlc29sdmUgPT4geworICBwZXJmb3JtYW5jZS5hZGRFdmVudExpc3RlbmVyKCdyZXNv
dXJjZXRpbWluZ2J1ZmZlcmZ1bGwnLCBhc3luYyAoKSA9PiB7CisgICAgLy8gV2FpdCBmb3IgdGhl
IG5leHQgdGFzayBqdXN0IHRvIGVuc3VyZSB0aGF0IGFsbCBidWZmZXJmdWxsIGV2ZW50cyBoYXZl
IGZpcmVkLCBhbmQgdG8gZW5zdXJlCisgICAgLy8gdGhhdCB0aGUgc2Vjb25kYXJ5IGJ1ZmZlciBp
cyBjb3BpZWQgKGFzIHRoaXMgaXMgYW4gZXZlbnQsIHRoZXJlIG1heSBiZSBtaWNyb3Rhc2sgY2hl
Y2twb2ludHMKKyAgICAvLyByaWdodCBhZnRlciBydW5uaW5nIGFuIGV2ZW50IGhhbmRsZXIpLgor
ICAgIGF3YWl0IHdhaXRGb3JOZXh0VGFzaygpOworICAgIHJlc29sdmUoKTsKKyAgfSk7Cit9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jYWNoZWFibGUtYW5kLXZhbGlkYXRlZC5weSBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlcy9jYWNoZWFibGUtYW5kLXZhbGlkYXRlZC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMWYwZTNh
YjQxN2E2OTA3OWYyMDc0ODc1MWIyZDZiZTlhN2Q1NTUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL2NhY2hlYWJsZS1hbmQtdmFsaWRhdGVkLnB5CkBAIC0wLDAgKzEsMTEgQEAKK2Rl
ZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKKyAgICByZXZhbGlkYXRpb24gPSAnQ2FjaGUtQ29u
dHJvbCcgaW4gcmVxdWVzdC5oZWFkZXJzCisgICAgY29udGVudCA9IHJlcXVlc3QuR0VULmZpcnN0
KGInY29udGVudCcpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYidDYWNoZS1Db250cm9sJywg
YidtYXgtYWdlPTYwJykKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiJ0VUYWcnLCBiJ2Fzc2Rm
c2RmZScpCisgICAgaWYgcmV2YWxpZGF0aW9uOgorICAgICAgcmVzcG9uc2Uuc3RhdHVzID0gKDMw
NCwgYidOb3RNb2RpZmllZCcpCisgICAgZWxzZToKKyAgICAgIHJlc3BvbnNlLnN0YXR1cyA9ICgy
MDAsIGInT0snKTsKKyAgICAgIHJlc3BvbnNlLndyaXRlX3N0YXR1c19oZWFkZXJzKCkKKyAgICAg
IHJlc3BvbnNlLndyaXRlci53cml0ZShjb250ZW50KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
cy9jb25uZWN0aW9uLXJldXNlLXRlc3QuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvY29ubmVjdGlvbi1yZXVz
ZS10ZXN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRkZWYxNmMwYjBlYzkwNDdmNmYyMjIwN2JmZTE5OTMzMDIy
OTg2NDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvY29ubmVjdGlvbi1yZXVzZS10
ZXN0LmpzCkBAIC0wLDAgKzEsNzAgQEAKKy8vIFRoaXMgc2NyaXB0IGlzIGxvYWRlZCBpbiBIVFRQ
IGFuZCBIVFRQUyBjb250ZXh0cyB0byB2YWxpZGF0ZQorLy8gUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZyBlbnRyaWVzJyBhdHRyaWJ1dGVzIHdoZW4gcmV1c2luZyBjb25uZWN0aW9ucy4KKworLy8g
TWFrZSB0aGUgZmlyc3QgcmVxdWVzdCBiZWZvcmUgY2FsbGluZyAnYXR0cmlidXRlX3Rlc3QnIHNv
IHRoYXQgb25seSB0aGUKKy8vIHNlY29uZCByZXF1ZXN0J3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZyBlbnRyeSB3aWxsIGJlIGludGVycm9nYXRlZC4KKy8vIFdlIGRvbid0IGNoZWNrIHRoZSBm
aXJzdCByZXF1ZXN0J3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyBlbnRyeSBiZWNhdXNlCisv
LyB0aGF0J3Mgbm90IHdoYXQgdGhpcyB0ZXN0IGlzIHRyeWluZyB0byB2YWxpZGF0ZS4KKy8vCisv
LyBOb3RlOiB0byBlbnN1cmUgdGhhdCB3ZSByZXVzZSB0aGUgY29ubmVjdGlvbiB0byBmZXRjaCBt
dWx0aXBsZSByZXNvdXJjZXMsCisvLyB3ZSB1c2UgdGhlIHNhbWUgWE1MSHR0cFJlcXVlc3Qgb2Jq
ZWN0IGZvciBlYWNoIHJlcXVlc3QuIEFsdGhvdWdoIGl0IGRvZXNuJ3QKKy8vIHNlZW0gdG8gYmUg
c3BlY2lmaWVkLCBlYWNoIGJyb3dzZXIgdGVzdGVkIGJ5IFdQVCB3aWxsIHJldXNlIHRoZSB1bmRl
cmx5aW5nCisvLyBUQ1AgY29ubmVjdGlvbiB3aXRoIHRoaXMgYXBwcm9hY2guIFByZS1lc3RhYmxp
c2hpbmcgdGhlIFhIUidzIGNvbm5lY3Rpb24KKy8vIGhlbHBzIHVzIHRvIHRlc3QgY29ubmVjdGlv
biByZXVzZSBhbHNvIGluIGJyb3dzZXJzIHRoYXQgbWF5IGtleSB0aGVpcgorLy8gY29ubmVjdGlv
bnMgb24gdGhlIHJlbGF0ZWQgcmVxdWVzdCdzIGNyZWRlbnRpYWxzIG1vZGUuCitjb25zdCBjbGll
bnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKK2NvbnN0IGlkZW50aWZpZXIgPSBNYXRoLnJhbmRv
bSgpOworY29uc3QgcGF0aCA9IGByZXNvdXJjZXMvZmFrZV9yZXNwb25zZXMucHk/dGFnPSR7aWRl
bnRpZmllcn1gOworY2xpZW50Lm9wZW4oIkdFVCIsIHBhdGgsIGZhbHNlKTsKK2NsaWVudC5zZW5k
KCk7CisKK2F0dHJpYnV0ZV90ZXN0KAorICBhc3luYyAoKSA9PiB7CisgICAgY2xpZW50Lm9wZW4o
IkdFVCIsIHBhdGggKyAiJnNhbWVfcmVzb3VyY2U9ZmFsc2UiLCBmYWxzZSk7CisgICAgY2xpZW50
LnNlbmQoKTsKKworICAgIC8vIFdlIGV4cGVjdCB0byBnZXQgYSAyMDAgT2sgcmVzcG9uc2UgYmVj
YXVzZSB3ZSd2ZSByZXF1ZXN0ZWQgYSBkaWZmZXJlbnQKKyAgICAvLyByZXNvdXJjZSB0aGFuIHBy
ZXZpb3VzIHJlcXVlc3RzLgorICAgIGlmIChjbGllbnQuc3RhdHVzICE9IDIwMCkgeworICAgICAg
dGhyb3cgbmV3IEVycm9yKGBHb3Qgc29tZXRoaW5nIG90aGVyIHRoYW4gYSAyMDAgcmVzcG9uc2Uu
IGAgKworICAgICAgICAgICAgICAgICAgICAgIGBjbGllbnQuc3RhdHVzOiAke2NsaWVudC5zdGF0
dXN9YCk7CisgICAgfQorICB9LCBwYXRoLCBlbnRyeSA9PiB7CisgICAgaW52YXJpYW50cy5hc3Nl
cnRfY29ubmVjdGlvbl9yZXVzZWQoZW50cnkpOworCisgICAgLy8gVGhlIGVudHJ5IG11c3QgYWxz
byBmb2xsb3cgdGhlIHNwZWNpZmljYXRpb24gZm9yIGFueSBlbnRyeSBjb3JyZXNwb25kaW5nCisg
ICAgLy8gdG8gYSAndHlwaWNhbCcgMjAwIE9rIHJlc3BvbnNlLgorICAgIGlmIChzZWxmLmxvY2F0
aW9uLnByb3RvY29sID09ICdodHRwczonKSB7CisgICAgICBpbnZhcmlhbnRzLmFzc2VydF90YW9f
cGFzc19ub19yZWRpcmVjdF9odHRwcyhlbnRyeSk7CisgICAgfSBlbHNlIHsKKyAgICAgIGludmFy
aWFudHMuYXNzZXJ0X3Rhb19wYXNzX25vX3JlZGlyZWN0X2h0dHAoZW50cnkpOworICAgIH0KKyAg
fSwKKyAgIlBlcmZvcm1hbmNlUmVzcm91Y2VUaW1pbmcgZW50cmllcyBuZWVkIHRvIGNvbmZvcm0g
dG8gdGhlIHNwZWMgd2hlbiBhICIgKworICAiZGlzdGluY3QgcmVzb3VyY2UgaXMgZmV0Y2hlZCBv
dmVyIGEgcGVyc2lzdGVudCBjb25uZWN0aW9uIik7CisKK2F0dHJpYnV0ZV90ZXN0KAorICBhc3lu
YyAoKSA9PiB7CisgICAgY2xpZW50Lm9wZW4oIkdFVCIsIHBhdGgsIGZhbHNlKTsKKyAgICBjbGll
bnQuc2V0UmVxdWVzdEhlYWRlcigiSWYtTm9uZS1NYXRjaCIsIGlkZW50aWZpZXIpOworICAgIGNs
aWVudC5zZW5kKCk7CisKKyAgICAvLyBXZSBleHBlY3QgdG8gZ2V0IGEgMzA0IE5vdCBNb2RpZmll
ZCByZXNwb25zZSBiZWNhdXNlIHdlJ3ZlIHVzZWQgYQorICAgIC8vIG1hdGNoaW5nICdpZGVudGlm
aWVyJyBmb3IgdGhlIElmLU5vbmUtTWF0Y2ggaGVhZGVyLgorICAgIGlmIChjbGllbnQuc3RhdHVz
ICE9IDMwNCkgeworICAgICAgdGhyb3cgbmV3IEVycm9yKGBHb3Qgc29tZXRoaW5nIG90aGVyIHRo
YW4gYSAzMDQgcmVzcG9uc2UuIGAgKworICAgICAgICAgICAgICAgICAgICAgIGBjbGllbnQuc3Rh
dHVzOiAke2NsaWVudC5zdGF0dXN9YCk7CisgICAgfQorICB9LCBwYXRoLCBlbnRyeSA9PiB7Cisg
ICAgaW52YXJpYW50cy5hc3NlcnRfY29ubmVjdGlvbl9yZXVzZWQoZW50cnkpOworCisgICAgLy8g
VGhlIGVudHJ5IG11c3QgYWxzbyBmb2xsb3cgdGhlIHNwZWNpZmljYXRpb24gZm9yIGFueSBlbnRy
eSBjb3JyZXNwb25kaW5nCisgICAgLy8gdG8gYSAndHlwaWNhbCcgMzA0IE5vdCBNb2RpZmllZCBy
ZXNwb25zZS4KKyAgICBpZiAoc2VsZi5sb2NhdGlvbi5wcm90b2NvbCA9PSAnaHR0cHM6Jykgewor
ICAgICAgaW52YXJpYW50cy5hc3NlcnRfdGFvX3Bhc3NfMzA0X25vdF9tb2RpZmllZF9odHRwcyhl
bnRyeSk7CisgICAgfSBlbHNlIHsKKyAgICAgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzXzMw
NF9ub3RfbW9kaWZpZWRfaHR0cChlbnRyeSk7CisgICAgfQorICB9LAorICAiUGVyZm9ybWFuY2VS
ZXNyb3VjZVRpbWluZyBlbnRyaWVzIG5lZWQgdG8gY29uZm9ybSB0byB0aGUgc3BlYyB3aGVuIHRo
ZSAiICsKKyAgInJlc291cmNlIGlzIGNhY2hlLXJldmFsaWRhdGVkIG92ZXIgYSBwZXJzaXN0ZW50
IGNvbm5lY3Rpb24iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jc3AtZGVmYXVsdC1ub25l
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvY3NwLWRlZmF1bHQtbm9uZS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFm
NTlkOGMyMjUwZjdmMTdmMTQzODg3ZGM0ZjhlNjhjZGY3ZmFhODMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvY3NwLWRlZmF1bHQtbm9uZS5odG1sCkBAIC0wLDAgKzEsMyBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+ZW1wdHkgcGFnZTwv
dGl0bGU+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvY3NwLWRlZmF1bHQtbm9uZS5odG1sLmhl
YWRlcnMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvY3NwLWRlZmF1bHQtbm9uZS5odG1sLmhlYWRlcnMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZDY2Zjg4NmRkMjNkNDRiYjMzNzUwY2I1NzIzZjNlZGI2Yjc5MzBhYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0bWwuaGVhZGVycwpAQCAt
MCwwICsxLDIgQEAKK0NvbnRlbnQtU2VjdXJpdHktUG9saWN5OiBkZWZhdWx0LXNyYyAnbm9uZScK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3QuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL3Jlc291cmNlcy9kb2N1bWVudC1kb21haW4tbm8taW1wYWN0Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjRjZGQ4YTg3MDFlYjRkNzQ5ZjExMmFkNDAxNWQ0ZTU3NzliNzdiMQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVudC1kb21haW4tbm8taW1wYWN0Lmh0bWwKQEAgLTAs
MCArMSwyOCBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNl
dD0idXRmLTgiPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9ImVudHJ5LWludmFyaWFudHMuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0Pgor
Y29uc3QgcGF0aCA9IGxvY2F0aW9uLm9yaWdpbiArCisgICAgICAgICAgICAgIi9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL2lmcmFtZS1zZXRkb21haW4uc3ViLmh0bWwiOworYXR0cmlidXRlX3Rl
c3Rfd2l0aF92YWxpZGF0b3IobG9hZC5pZnJhbWUsIHBhdGgsCisgIGVsID0+IHsKKyAgICB0cnkg
eworICAgICAgZWwuY29udGVudFdpbmRvdy5kb2N1bWVudDsKKyAgICAgIHRocm93IG5ldyBFcnJv
cigiaWZyYW1lIGRvY3VtZW50LmRvbWFpbiB3YXMgbm90IHNldCIpOworICAgIH0gY2F0Y2goZXJy
b3IpIHsKKyAgICAgIGlmIChlcnJvci5uYW1lICE9ICJTZWN1cml0eUVycm9yIikgeworICAgICAg
ICB0aHJvdyhlcnJvcik7CisgICAgICB9CisgICAgfQorICB9LAorICBpbnZhcmlhbnRzLmFzc2Vy
dF90YW9fcGFzc19ub19yZWRpcmVjdF9odHRwLAorICAidGVzdCB0aGF0IGRvY3VtZW50LmRvbWFp
biBiZWluZyBzZXQgZG9lc24ndCBoYXZlIGFuIGltcGFjdCBvbiB0aGUgIiArCisgICJyZXNvdXJj
ZSB0aW1pbmcgZW50cnkuIgorKTsKKzwvc2NyaXB0PgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZXMvZG9jdW1lbnQtcmVmcmVzaGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZG9jdW1lbnQtcmVmcmVz
aGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2U0Y2EwOTg5MWVkMzVlMjQ0YjE1MTUxYTJhNjA3N2FmNzRl
ODY1ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVudC1yZWZyZXNoZWQu
aHRtbApAQCAtMCwwICsxLDEyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzwvaGVhZD4KKzxib2R5PgorICAgIFJlZnJlc2hlZCBk
b2N1bWVudCEKKzxzY3JpcHQ+CisgICAgdG9wLnBvc3RNZXNzYWdlKCJyZWZyZXNoZWQiLCAiKiIp
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMv
ZG9jdW1lbnQtdGhhdC1yZWZyZXNoZXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVudC10aGF0
LXJlZnJlc2hlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1NTIyNzgyYTYyZGJlM2I5OGIyZjFhMDljNWJh
YmM3MDYzYjc1MTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZG9jdW1lbnQtdGhh
dC1yZWZyZXNoZXMuaHRtbApAQCAtMCwwICsxLDggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPG1ldGEgaHR0cC1lcXVpdj0icmVm
cmVzaCIgY29udGVudD0iMDtkb2N1bWVudC1yZWZyZXNoZWQuaHRtbCI+Cis8L2hlYWQ+Cis8Ym9k
eT48L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZW1iZWQtcmVmcmVz
aC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvcmVzb3VyY2VzL2VtYmVkLXJlZnJlc2guaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YTQ5
ZmQwYjRjMWI1NGMwZjAzMjAwZjdlZDJjYjJhZTI3MjM5Nzg4Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VzL2VtYmVkLXJlZnJlc2guaHRtbApAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRs
ZT5SZXNvdXJjZSBUaW1pbmcgZW1iZWQgcmVmcmVzaDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL2Nv
bW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ibmVzdGVk
LWNvbnRleHRzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisgICAgc2V0dXBfcmVmcmVzaF90ZXN0
KCk7Cis8L3NjcmlwdD4KKzxkaXYgaWQ9bG9nPjwvZGl2PgorPGVtYmVkIHR5cGU9InRleHQvaHRt
bCI+Cis8c2NyaXB0PgorICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJlbWJlZCIp
WzBdLnNyYyA9IHByZV9yZWZyZXNoX3VybDsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVz
b3VyY2VzL2dyZWVuLWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4tZnJhbWUuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi45NjEzMjQwYWUzODc4OWExMDRkNzdkNTZmODkwZmY2MjQyMDkzNGIwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2dyZWVuLWZyYW1lLmh0bWwKQEAgLTAsMCArMSw3
IEBACis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPGZyYW1lc2V0PgorICAgICAgPGZyYW1lIHNyYz0i
Z3JlZW4uaHRtbD9pZD1mcmFtZSI+CisgICAgPC9mcmFtZXNldD4KKyAgPC9oZWFkPgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2dyZWVuLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3Jl
ZW4uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iOGExOTQ3Yjc3ZTI1YWM2YjBkMTAwYzc1OTMyZThjMGE2N2Q4
NDZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2dyZWVuLmh0bWwKQEAgLTAsMCAr
MSwxMCBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiBodHRwLWVxdWl2PSJDb250ZW50
LVR5cGUiIC8+CisgICAgICAgIDx0aXRsZT5HcmVlbiBUZXN0IFBhZ2U8L3RpdGxlPgorICAgIDwv
aGVhZD4KKyAgICA8Ym9keSBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojMDBGRjAwOyI+CisgICAg
ICAgIDxoMT5QbGFjZWhvbGRlcjwvaDE+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL2dyZWVuLmh0bWwuaGVhZGVycyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi5o
dG1sLmhlYWRlcnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2I3NjJlZmY4MDY4NDlkZjQ2ZGM3NThlZjdiOThiNjNm
MjdmNTRjOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi5odG1sLmhlYWRl
cnMKQEAgLTAsMCArMSBAQAorQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luOiAqCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvZ3ppcF94bWwucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3ppcF94bWwucHkK
aW5kZXggMjI5MzYwNWFjMzNhNGQzNTdhNDI2Y2RlMTM5YmI3ZDQ0ZTRlMGNiMy4uN2RlYmM5Y2Uz
ZjZjYjA2MWJlOGNhMzdiNzNmY2Y5ZjJhNTM5NjM4OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vz
L2d6aXBfeG1sLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9nemlwX3htbC5weQpAQCAtMSw3ICsxLDcg
QEAKIGltcG9ydCBnemlwIGFzIGd6aXBfbW9kdWxlCiBpbXBvcnQgb3MKIAotZnJvbSBzaXggaW1w
b3J0IEJ5dGVzSU8KK2Zyb20gaW8gaW1wb3J0IEJ5dGVzSU8KIAogZnJvbSB3cHRzZXJ2ZS51dGls
cyBpbXBvcnQgaXNvbW9ycGhpY19kZWNvZGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2lm
cmFtZS1yZWZyZXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvaWZyYW1lLXJlZnJlc2guaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40Y2UzZWEwNDI0Mjk3YWM3YTg2NjRmYzdmN2E2ZGNiZmY2NGQ2ZjE0Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2lmcmFtZS1yZWZyZXNoLmh0bWwKQEAgLTAsMCArMSwx
NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nIGlmcmFtZSByZWZyZXNoPC90aXRsZT4KKzxz
Y3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSJuZXN0ZWQtY29udGV4dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgICBzZXR1
cF9yZWZyZXNoX3Rlc3QoKTsKKzwvc2NyaXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8aWZyYW1l
PjwvaWZyYW1lPgorPHNjcmlwdD4KKyAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgi
aWZyYW1lIilbMF0uc3JjID0gcHJlX3JlZnJlc2hfdXJsOworPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvaWZyYW1lLXJlbG9hZC1UQU8uc3ViLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMv
aWZyYW1lLXJlbG9hZC1UQU8uc3ViLmh0bWwKaW5kZXggMjU2ODAyNmU2NGVkYjg0ZTU3NGU1YzFi
MDZmMzIzY2IzNTg5Yjk5Mi4uNTc3YWZmNzc1OGM3Nzk4OTNmMDEwNjU4ZDIxNmYzNDgwMmE0ZWRm
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2lmcmFtZS1yZWxvYWQtVEFPLnN1Yi5odG1sCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL3Jlc291cmNlcy9pZnJhbWUtcmVsb2FkLVRBTy5zdWIuaHRtbApAQCAtMSwxNCArMSwx
NCBAQAogPHN0eWxlPgogQGZvbnQtZmFjZSB7CiAgICAgZm9udC1mYW1pbHk6IGFoZW07Ci0gICAg
c3JjOiB1cmwoaHR0cDovL3t7aG9zdHNbYWx0XVtdfX06e3twb3J0c1todHRwXVsxXX19L3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvY29ycy1haGVtLnB5KTsKKyAgICBzcmM6IHVybChodHRwOi8v
e3tkb21haW5zW3d3d119fTp7e3BvcnRzW2h0dHBdWzFdfX0vcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy9jb3JzLWFoZW0ucHkpOwogfQogPC9zdHlsZT4KIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5
OiBhaGVtOyI+VGhpcyBmZXRjaGVzIGFoZW0gZm9udC48L2Rpdj4KIDxzY3JpcHQ+CiAgIGlmIChs
b2NhdGlvbi5oYXNoID09PSAnI2NoZWNrJykgewogICAgICAgZG9jdW1lbnQuZm9udHMucmVhZHku
dGhlbigoKT0+IHsKLSAgICAgICAgY29uc3QgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeU5hbWUoJ2h0dHA6Ly97e2hvc3RzW2FsdF1bXX19Ont7cG9ydHNbaHR0cF1bMV19fS9yZXNv
dXJjZS10aW1pbmcvcmVzb3VyY2VzL2NvcnMtYWhlbS5weScpOworICAgICAgICBjb25zdCBlbnRy
aWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgnaHR0cDovL3t7ZG9tYWluc1t3d3dd
fX06e3twb3J0c1todHRwXVsxXX19L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvY29ycy1haGVt
LnB5Jyk7CiAgICAgICAgIGlmIChlbnRyaWVzLmxlbmd0aCAhPSAxKQogICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgY29uc3QgZW50cnkgPSBlbnRyaWVzWzBdOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVz
b3VyY2VzL211bHRpX3JlZGlyZWN0LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRpX3JlZGlyZWN0LnB5
CmluZGV4IDU2ZjVkNmM3NzE1M2E1NTk4YWVlMGM2Nzk1ZmI5MDljM2ZkY2RkYmYuLmE1ZmM1ZGI0
YWM5MDE1OTE0OTA4YmEyY2NlZWMxODlmOWQzMjc0ZDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
cy9tdWx0aV9yZWRpcmVjdC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvbXVsdGlfcmVkaXJlY3QucHkK
QEAgLTEsMyArMSw0IEBACitpbXBvcnQgdXJsbGliLnBhcnNlCiBmcm9tIHdwdHNlcnZlLnV0aWxz
IGltcG9ydCBpc29tb3JwaGljX2VuY29kZQogCiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6
CkBAIC0zNyw3ICszOCw3IEBAIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICByZWRp
cmVjdF91cmxfcGF0aCA9IGIiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvbXVsdGlfcmVkaXJl
Y3QucHk/IgogICAgIHJlZGlyZWN0X3VybF9wYXRoICs9IGIicGFnZV9vcmlnaW49IiArIHBhZ2Vf
b3JpZ2luCiAgICAgcmVkaXJlY3RfdXJsX3BhdGggKz0gYiImY3Jvc3Nfb3JpZ2luPSIgKyBjcm9z
c19vcmlnaW4KLSAgICByZWRpcmVjdF91cmxfcGF0aCArPSBiIiZmaW5hbF9yZXNvdXJjZT0iICsg
ZmluYWxfcmVzb3VyY2UKKyAgICByZWRpcmVjdF91cmxfcGF0aCArPSBiIiZmaW5hbF9yZXNvdXJj
ZT0iICsgdXJsbGliLnBhcnNlLnF1b3RlKGZpbmFsX3Jlc291cmNlKS5lbmNvZGUoJ2FzY2lpJykK
ICAgICByZWRpcmVjdF91cmxfcGF0aCArPSBiIiZ0YW9fdmFsdWU9IiArIHRhb192YWx1ZQogICAg
IHJlZGlyZWN0X3VybF9wYXRoICs9IGIiJnRhb19zdGVwcz0iICsgaXNvbW9ycGhpY19lbmNvZGUo
c3RyKG5leHRfdGFvX3N0ZXBzKSkKICAgICByZWRpcmVjdF91cmxfcGF0aCArPSBiIiZzdGVwPSIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9vYmplY3QtcmVmcmVzaC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2VzL29iamVjdC1yZWZyZXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWU0M2UxOWRlMTlmYzdjMzY0ZTY4
ZTBiMjQxNTk2M2Y1NWU5ZGRiMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9vYmpl
Y3QtcmVmcmVzaC5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWlu
ZyBvYmplY3QgcmVmcmVzaDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1p
bmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ibmVzdGVkLWNvbnRleHRzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQ+CisgICAgc2V0dXBfcmVmcmVzaF90ZXN0KCk7Cis8L3NjcmlwdD4K
KzxkaXYgaWQ9bG9nPjwvZGl2PgorPG9iamVjdCB0eXBlPSJ0ZXh0L2h0bWwiPjwvb2JqZWN0Pgor
PHNjcmlwdD4KKyAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgib2JqZWN0IilbMF0u
ZGF0YSA9IHByZV9yZWZyZXNoX3VybDsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2VzL3JlZGlyZWN0LWNvcnMucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVkaXJlY3QtY29ycy5weQpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5lYTY3Y2I4ZTdhYzRlNjEwNDVkMDVhZjUxZjA2NmRiNDhiZmRmMTAxCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3JlZGlyZWN0LWNvcnMucHkKQEAgLTAsMCArMSwxMCBA
QAorZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorICAgIGxvY2F0aW9uID0gcmVxdWVzdC5H
RVQuZmlyc3QoYiJsb2NhdGlvbiIpCisgICAgcmVzcG9uc2Uuc3RhdHVzID0gMzAyCisgICAgcmVz
cG9uc2UuaGVhZGVycy5zZXQoYiJMb2NhdGlvbiIsIGxvY2F0aW9uKQorCisgICAgaWYgYiJhbGxv
d19vcmlnaW4iIGluIHJlcXVlc3QuR0VUOgorICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChi
IkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuR0VULmZpcnN0KGIiYWxsb3df
b3JpZ2luIikpCisKKyAgICBpZiBiInRpbWluZ19hbGxvd19vcmlnaW4iIGluIHJlcXVlc3QuR0VU
OgorICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIlRpbWluZy1BbGxvdy1PcmlnaW4iLCBy
ZXF1ZXN0LkdFVC5maXJzdChiInRpbWluZ19hbGxvd19vcmlnaW4iKSkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlcy9yZXNvdXJjZS10aW1pbmctY29udGVudC1sZW5ndGgucHkgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZXMvcmVzb3VyY2UtdGltaW5nLWNvbnRlbnQtbGVuZ3RoLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZkYmNlMDQ3
YjcyZWYwNTk3NmQ1Mjk2ZWEzODk2MWUyMDVhMGYwNGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvcmVzb3VyY2UtdGltaW5nLWNvbnRlbnQtbGVuZ3RoLnB5CkBAIC0wLDAgKzEsMTkg
QEAKK2RlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKKyAgICBjb250ZW50ID0gcmVxdWVzdC5H
RVQuZmlyc3QoYiJjb250ZW50IikKKyAgICBsZW5ndGggPSByZXF1ZXN0LkdFVC5maXJzdChiImxl
bmd0aCIpLmRlY29kZSgiYXNjaWkiKQorICAgIHJlc3BvbnNlLmFkZF9yZXF1aXJlZF9oZWFkZXJz
ID0gRmFsc2UKKworICAgIG91dHB1dCA9ICBiIkhUVFAvMS4xIDIwMCBPS1xyXG4iCisgICAgb3V0
cHV0ICs9IGIiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluO2NoYXJzZXQ9VVRGLThcclxuIgorICAg
IGlmIGxlbmd0aCA9PSBiImF1dG8iIDoKKyAgICAgICAgb3V0cHV0ICs9IGIiQ29udGVudC1MZW5n
dGg6IgorICAgICAgICBvdXRwdXQgKz0gInswfSIuZm9ybWF0KGxlbihjb250ZW50KSkuZW5jb2Rl
KCJhc2NpaSIpCisgICAgICAgIG91dHB1dCArPSBiIlxyXG4iCisgICAgZWxpZiBsZW5ndGggIT0g
YiJub25lIiA6CisgICAgICAgIG91dHB1dCArPSBiIkNvbnRlbnQtTGVuZ3RoOiIKKyAgICAgICAg
b3V0cHV0ICs9ICJ7MH0iLmZvcm1hdChsZW5ndGgpLmVuY29kZSgiYXNjaWkiKQorICAgICAgICBv
dXRwdXQgKz0gYiJcclxuIgorICAgIG91dHB1dCArPSBiIlxyXG4iCisgICAgb3V0cHV0ICs9IGNv
bnRlbnQKKyAgICByZXNwb25zZS53cml0ZXIud3JpdGUob3V0cHV0KQorICAgIHJlc3BvbnNlLmNs
b3NlX2Nvbm5lY3Rpb24gPSBUcnVlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVzb3VyY2Vf
dGltaW5nX3Rlc3QwLnhtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9yZXNvdXJjZV90aW1pbmdfdGVzdDAueG1s
CmluZGV4IGFkZjYwMWM4YTE0OWFiNjNkNGFjYjgyNzFhZTkyNWM2MjhjNzc1OGIuLjkxY2Q2NzZi
ZTZlNmYxYWUyYmFiM2RjMWEwMDUzZGE0OTJiNDM1MTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
cy9yZXNvdXJjZV90aW1pbmdfdGVzdDAueG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9yZXNvdXJjZV90
aW1pbmdfdGVzdDAueG1sCkBAIC0xLDYgKzEsNiBAQAogPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNv
ZGluZz0iSVNPLTg4NTktMSI/PgogPFRFU1REQVRBPgogICAgIDxJVEVNPgotICAgICAgICA8REFU
QT5UZXN0IFhNTCBEYXRhPC9kYXRhPgotICAgIDwvaXRlbT4KLTwvdGVzdGRhdGE+CisgICAgICAg
IDxEQVRBPlRlc3QgWE1MIERhdGE8L0RBVEE+CisgICAgPC9JVEVNPgorPC9URVNUREFUQT4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlcy9zaXplcy1oZWxwZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvc2l6
ZXMtaGVscGVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg2MzM2Njg2YjMyOTAyZWMxYzEyM2IwZjU1ZmY2N2U5
YWJhNDMwNjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvc2l6ZXMtaGVscGVyLmpz
CkBAIC0wLDAgKzEsMTYgQEAKKy8vIEhlYWRlciBzaXplIGlzIGEgZml4ZWQgY29uc3RhbnQuCisv
LyBodHRwczovL3czYy5naXRodWIuaW8vcmVzb3VyY2UtdGltaW5nLyNkb20tcGVyZm9ybWFuY2Vy
ZXNvdXJjZXRpbWluZy10cmFuc2ZlcnNpemUKK2NvbnN0IGhlYWRlclNpemUgPSAzMDA7CisKK2Nv
bnN0IGNhY2hlQnVzdFVybCA9IHVybCA9PiB7CisgIHJldHVybiB1cmwgKyAnJnVuaXF1ZT0nICsg
TWF0aC5yYW5kb20oKS50b1N0cmluZygpLnN1YnN0cmluZygyKTsKK30KKworY29uc3QgY2hlY2tT
aXplRmllbGRzID0gKGVudHJ5LCBib2R5U2l6ZSwgdHJhbnNmZXJTaXplKSA9PiB7CisgIGFzc2Vy
dF9lcXVhbHMoZW50cnkuZGVjb2RlZEJvZHlTaXplLCBib2R5U2l6ZSwKKyAgICAgICAgICAgICAg
ICAnZGVjb2RlZEJvZHlTaXplJyk7CisgIGFzc2VydF9lcXVhbHMoZW50cnkuZW5jb2RlZEJvZHlT
aXplLCBib2R5U2l6ZSwKKyAgICAgICAgICAgICAgICAnZW5jb2RlZEJvZHlTaXplJyk7CisgIGFz
c2VydF9lcXVhbHMoZW50cnkudHJhbnNmZXJTaXplLCB0cmFuc2ZlclNpemUsCisgICAgICAgICAg
ICAgICAgJ3RyYW5zZmVyU2l6ZScpOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3N0YXR1
cy1jb2RlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3N0YXR1cy1jb2RlLnB5CmluZGV4IDliYzAyYmQzNDY3
OWVkZDYzZjAwZGM0NjEwYzQ4NWI4ZDEwY2E2ZDMuLjcyMjIyYjM5ZTQ4NTc0YzY2NjA1MmIyYmI0
ZDcwMjlmZDZiYTUyNmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9zdGF0dXMtY29kZS5weQor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvc3RhdHVzLWNvZGUucHkKQEAgLTEsNCArMSw2IEBACiBkZWYgbWFp
bihyZXF1ZXN0LCByZXNwb25zZSk6CiAgICAgc3RhdHVzID0gcmVxdWVzdC5HRVQuZmlyc3QoYidz
dGF0dXMnKQogICAgIHJlc3BvbnNlLnN0YXR1cyA9IChzdGF0dXMsIGIiIik7CisgICAgaWYgYid0
YW9fdmFsdWUnIGluIHJlcXVlc3QuR0VUOgorICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYid0
aW1pbmctYWxsb3ctb3JpZ2luJywgcmVxdWVzdC5HRVQuZmlyc3QoYid0YW9fdmFsdWUnKSkKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMKaW5kZXggOGUwNGU1MmY5YzU3ZmFmYjZhNTk5ZGEz
YTE5NjNhYTZlZDU0NWU2Zi4uODY5ZWYzZDc0Zjc3YjU4NWUxNGFmYzAwYThkYzkwYmUwOWRiOTcw
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzCkBAIC02MiwyNiArNjIsMjYgQEAgZnVu
Y3Rpb24gdGVzdF9uYW1lc3BhY2UoY2hpbGRfbmFtZSwgc2tpcF9yb290KQogICAgIGlmIChza2lw
X3Jvb3QgPT09IHVuZGVmaW5lZCkgewogICAgICAgICB2YXIgbXNnID0gJ3dpbmRvdy5wZXJmb3Jt
YW5jZSBpcyBkZWZpbmVkJzsKICAgICAgICAgLy8gVGhlIHdpbmRvdy5wZXJmb3JtYW5jZSBhdHRy
aWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1hbmNlIHJlbGF0ZWQgYXR0
cmlidXRlcy4KLSAgICAgICAgd3BfdGVzdChmdW5jdGlvbiAoKSB7IGFzc2VydF90cnVlKHBlcmZv
cm1hbmNlTmFtZXNwYWNlICE9PSB1bmRlZmluZWQsIG1zZyk7IH0sIG1zZyk7CisgICAgICAgIHdw
X3Rlc3QoZnVuY3Rpb24gKCkgeyBhc3NlcnRfbm90X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFj
ZSwgdW5kZWZpbmVkLCBtc2cpOyB9LCBtc2cpOwogICAgIH0KIAogICAgIGlmIChjaGlsZF9uYW1l
ICE9PSB1bmRlZmluZWQpIHsKICAgICAgICAgdmFyIG1zZzIgPSAnd2luZG93LnBlcmZvcm1hbmNl
LicgKyBjaGlsZF9uYW1lICsgJyBpcyBkZWZpbmVkJzsKICAgICAgICAgLy8gVGhlIHdpbmRvdy5w
ZXJmb3JtYW5jZSBhdHRyaWJ1dGUgcHJvdmlkZXMgYSBob3N0aW5nIGFyZWEgZm9yIHBlcmZvcm1h
bmNlIHJlbGF0ZWQgYXR0cmlidXRlcy4KLSAgICAgICAgd3BfdGVzdChmdW5jdGlvbigpIHsgYXNz
ZXJ0X3RydWUocGVyZm9ybWFuY2VOYW1lc3BhY2VbY2hpbGRfbmFtZV0gIT09IHVuZGVmaW5lZCwg
bXNnMik7IH0sIG1zZzIpOworICAgICAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfbm90
X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZVtjaGlsZF9uYW1lXSwgdW5kZWZpbmVkLCBtc2cy
KTsgfSwgbXNnMik7CiAgICAgfQogfQogCiBmdW5jdGlvbiB0ZXN0X2F0dHJpYnV0ZV9leGlzdHMo
cGFyZW50X25hbWUsIGF0dHJpYnV0ZV9uYW1lLCBwcm9wZXJ0aWVzKQogewogICAgIHZhciBtc2cg
PSAnd2luZG93LnBlcmZvcm1hbmNlLicgKyBwYXJlbnRfbmFtZSArICcuJyArIGF0dHJpYnV0ZV9u
YW1lICsgJyBpcyBkZWZpbmVkLic7Ci0gICAgd3BfdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X3Ry
dWUocGVyZm9ybWFuY2VOYW1lc3BhY2VbcGFyZW50X25hbWVdW2F0dHJpYnV0ZV9uYW1lXSAhPT0g
dW5kZWZpbmVkLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOworICAgIHdwX3Rlc3QoZnVuY3Rp
b24oKSB7IGFzc2VydF9ub3RfZXF1YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNlW3BhcmVudF9uYW1l
XVthdHRyaWJ1dGVfbmFtZV0sIHVuZGVmaW5lZCwgbXNnKTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsK
IH0KIAogZnVuY3Rpb24gdGVzdF9lbnVtKHBhcmVudF9uYW1lLCBlbnVtX25hbWUsIHZhbHVlLCBw
cm9wZXJ0aWVzKQogewogICAgIHZhciBtc2cgPSAnd2luZG93LnBlcmZvcm1hbmNlLicgKyBwYXJl
bnRfbmFtZSArICcuJyArIGVudW1fbmFtZSArICcgaXMgZGVmaW5lZC4nOwotICAgIHdwX3Rlc3Qo
ZnVuY3Rpb24oKSB7IGFzc2VydF90cnVlKHBlcmZvcm1hbmNlTmFtZXNwYWNlW3BhcmVudF9uYW1l
XVtlbnVtX25hbWVdICE9PSB1bmRlZmluZWQsIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7Cisg
ICAgd3BfdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X25vdF9lcXVhbHMocGVyZm9ybWFuY2VOYW1l
c3BhY2VbcGFyZW50X25hbWVdW2VudW1fbmFtZV0sIHVuZGVmaW5lZCwgbXNnKTsgfSwgbXNnLCBw
cm9wZXJ0aWVzKTsKIAogICAgIG1zZyA9ICd3aW5kb3cucGVyZm9ybWFuY2UuJyArIHBhcmVudF9u
YW1lICsgJy4nICsgZW51bV9uYW1lICsgJyA9ICcgKyB2YWx1ZTsKICAgICB3cF90ZXN0KGZ1bmN0
aW9uKCkgeyBhc3NlcnRfZXF1YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNlW3BhcmVudF9uYW1lXVtl
bnVtX25hbWVdLCB2YWx1ZSwgbXNnKTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKQEAgLTE0OCw3ICsx
NDgsNyBAQCBmdW5jdGlvbiB0ZXN0X2dyZWF0ZXJfb3JfZXF1YWxzKHZhbHVlLCBncmVhdGVyX3Ro
YW4sIG1zZywgcHJvcGVydGllcykKIAogZnVuY3Rpb24gdGVzdF9ub3RfZXF1YWxzKHZhbHVlLCBu
b3RlcXVhbHMsIG1zZywgcHJvcGVydGllcykKIHsKLSAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBh
c3NlcnRfdHJ1ZSh2YWx1ZSAhPT0gbm90ZXF1YWxzLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMp
OworICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF9ub3RfZXF1YWxzKHZhbHVlLCBub3Rl
cXVhbHMsIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7CiB9CiAKIGZ1bmN0aW9uIHRlc3RfdGFv
X3Bhc3MoZW50cnkpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5l
c3NleHRlbnNpb24uanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzZXh0ZW5zaW9u
LmpzCmluZGV4IDhiYzc0YmY4MTFlOTE2ZjNhODExZDQ2ZGVlMzYzMmM5NzBjMDViZTYuLmRjMDJj
MDc1YjNkMDdmN2M1NzE2NGYwZWMyNGMzMmFkYjc2YzBkZTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3NleHRlbnNpb24uanMKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3dl
YnBlcmZ0ZXN0aGFybmVzc2V4dGVuc2lvbi5qcwpAQCAtMSwxMiArMSw2IEBACi0vKgotRGlzdHJp
YnV0ZWQgdW5kZXIgYm90aCB0aGUgVzNDIFRlc3QgU3VpdGUgTGljZW5zZSBbMV0gYW5kIHRoZSBX
M0MKLTMtY2xhdXNlIEJTRCBMaWNlbnNlIFsyXS4gVG8gY29udHJpYnV0ZSB0byBhIFczQyBUZXN0
IFN1aXRlLCBzZWUgdGhlCi1wb2xpY2llcyBhbmQgY29udHJpYnV0aW9uIGZvcm1zIFszXS4KLQot
WzFdIGh0dHA6Ly93d3cudzMub3JnL0NvbnNvcnRpdW0vTGVnYWwvMjAwOC8wNC10ZXN0c3VpdGUt
bGljZW5zZQotWzJdIGh0dHA6Ly93d3cudzMub3JnL0NvbnNvcnRpdW0vTGVnYWwvMjAwOC8wMy1i
c2QtbGljZW5zZQotWzNdIGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMTAvMjctdGVzdGNhc2VzCi0g
Ki8KKy8vCisvLyBIZWxwZXIgZnVuY3Rpb25zIGZvciBSZXNvdXJjZSBUaW1pbmcgdGVzdHMKKy8v
CiAKIHZhciBtYXJrX25hbWVzID0gWwogICAgICcnLApAQCAtMjcsNyArMjEsNyBAQCBmdW5jdGlv
biB0ZXN0X21ldGhvZF9leGlzdHMobWV0aG9kLCBtZXRob2RfbmFtZSwgcHJvcGVydGllcykKICAg
ICAgICAgbXNnID0gJ3BlcmZvcm1hbmNlLicgKyBtZXRob2QubmFtZSArICcgaXMgc3VwcG9ydGVk
ISc7CiAgICAgZWxzZQogICAgICAgICBtc2cgPSAncGVyZm9ybWFuY2UuJyArIG1ldGhvZF9uYW1l
ICsgJyBpcyBzdXBwb3J0ZWQhJzsKLSAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfdHJ1
ZSh0eXBlb2YgbWV0aG9kID09PSAnZnVuY3Rpb24nLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMp
OworICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF9lcXVhbHModHlwZW9mIG1ldGhvZCwg
J2Z1bmN0aW9uJywgbXNnKTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKIH0KIAogZnVuY3Rpb24gdGVz
dF9ub2xlc3NfdGhhbih2YWx1ZSwgZ3JlYXRlcl90aGFuLCBtc2csIHByb3BlcnRpZXMpCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9zYW1lLW9yaWdpbi1mcm9tLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9zYW1lLW9yaWdpbi1mcm9tLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTA1YTc2ZWQ5Yzk2NzQ5MWE1NDdlYWNjN2NlM2U2OGY2ZDNkMTM5
ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NhbWUtb3JpZ2luLWZyb20tY3Jvc3Mtb3JpZ2luLXJl
ZGlyZWN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKKworUEFTUyBWZXJpZnkgdGhhdCBj
cm9zcyBvcmlnaW4gcmVzb3VyY2VzJyB0aW1pbmdzIGFyZSBleHBvc2VkIHdoZW4gdGhlIGZpbmFs
IHJlc291cmNlIGF0IHRoZSBlbmQgb2YgYW4gSFRUUCByZWRpcmVjdCBjaGFpbiBpcyBzYW1lLW9y
aWdpbi4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2FtZS1vcmlnaW4tZnJvbS1jcm9zcy1vcmlnaW4tcmVk
aXJlY3QuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3NhbWUtb3JpZ2luLWZyb20tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODc0MGI4MWIxM2ZkOGFhN2EyNjlhMTBjZjJkZDMwMjNhMGZiYzJhNQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3NhbWUtb3JpZ2luLWZyb20tY3Jvc3Mtb3JpZ2luLXJlZGly
ZWN0Lmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+VGhpcyB0ZXN0IHZhbGlkYXRlcyBy
ZXNvdXJjZSB0aW1pbmcgaW5mb3JtYXRpb24gZm9yIGEgc2FtZS1vcmlnaW4KK3Jlc291cmNlIGZl
dGNoZWQgdGhyb3VnaCBhIGNyb3NzLW9yaWdpbiByZWRpcmVjdCBjaGFpbi48L3RpdGxlPgorPGxp
bmsgcmVsPSJhdXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHBzOi8vZ29vZ2xlLmNvbS8i
IC8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJj
ZS10aW1pbmctMi8jc2VjLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29t
bW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L2VudHJ5LWludmFyaWFudHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
PgorY29uc3Qge0hUVFBfUkVNT1RFX09SSUdJTn0gPSBnZXRfaG9zdF9pbmZvKCk7CitsZXQgZGVz
dFVybCA9IGAke0hUVFBfUkVNT1RFX09SSUdJTn0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9t
dWx0aV9yZWRpcmVjdC5weT9gOworZGVzdFVybCArPSBgcGFnZV9vcmlnaW49aHR0cDovLyR7ZG9j
dW1lbnQubG9jYXRpb24uaG9zdH1gOworZGVzdFVybCArPSBgJmNyb3NzX29yaWdpbj0ke0hUVFBf
UkVNT1RFX09SSUdJTn1gOworZGVzdFVybCArPSBgJmZpbmFsX3Jlc291cmNlPS9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL2JsYW5rLXdpdGgtdGFvLmh0bWxgOworCithdHRyaWJ1dGVfdGVzdCgK
KyAgbG9hZC5pZnJhbWUsIGRlc3RVcmwsCisgIGludmFyaWFudHMuYXNzZXJ0X3NhbWVfb3JpZ2lu
X3JlZGlyZWN0ZWRfZnJvbV9jcm9zc19vcmlnaW5fcmVzb3VyY2UsCisgICJWZXJpZnkgdGhhdCBj
cm9zcyBvcmlnaW4gcmVzb3VyY2VzJyB0aW1pbmdzIGFyZSBleHBvc2VkIHdoZW4gdGhlIGZpbmFs
ICIgKworICAicmVzb3VyY2UgYXQgdGhlIGVuZCBvZiBhbiBIVFRQIHJlZGlyZWN0IGNoYWluIGlz
IHNhbWUtb3JpZ2luLiIpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL3NpemVzLWNhY2hlLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLWNhY2hlLmFueS5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5hZjcwZTVhNmRlZDNlNjNkMTU4ZmQ5MjlmZWFjZjA4MjdiM2NhZmM5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvc2l6ZXMtY2FjaGUuYW55LmpzCkBAIC0wLDAgKzEsNTUgQEAKKy8vIE1FVEE6
IGdsb2JhbD13aW5kb3csd29ya2VyCisvLyBNRVRBOiBzY3JpcHQ9L3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvc2l6ZXMtaGVscGVyLmpzCisvLyBNRVRBOiBzY3JpcHQ9L3Jlc291cmNlLXRpbWlu
Zy9yZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcworCitsZXQgdXJsID0gbmV3IFVSTCgKKyAg
Jy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NhY2hlYWJsZS1hbmQtdmFsaWRhdGVkLnB5JyAr
CisgICc/Y29udGVudD1sb3JlbWlwc3VtYmxhYmxhYmxhJywKKyAgbG9jYXRpb24uaHJlZikuaHJl
ZjsKK2NvbnN0IGJvZHlTaXplID0gMTk7CisKK2NvbnN0IGFjY3VtdWxhdGVFbnRyaWVzID0gKCkg
PT4geworICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgY29uc3QgcG8gPSBu
ZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihsaXN0ID0+IHsKKyAgICAgIHJlc29sdmUobGlzdCk7Cisg
ICAgfSk7CisgICAgcG8ub2JzZXJ2ZSh7dHlwZTogInJlc291cmNlIiwgYnVmZmVyZWQ6IHRydWV9
KTsKKyAgfSk7Cit9OworCitjb25zdCBjaGVja1Jlc291cmNlU2l6ZXMgPSBsaXN0ID0+IHsKKyAg
Y29uc3QgZW50cmllcyA9IGxpc3QuZ2V0RW50cmllc0J5TmFtZSh1cmwpOworICBhc3NlcnRfZXF1
YWxzKGVudHJpZXMubGVuZ3RoLCAzLCAnV3JvbmcgbnVtYmVyIG9mIGVudHJpZXMnKTsKKyAgbGV0
IHNlZW5Db3VudCA9IDA7CisgIGZvciAobGV0IGVudHJ5IG9mIGVudHJpZXMpIHsKKyAgICBpZiAo
c2VlbkNvdW50ID09PSAwKSB7CisgICAgICAvLyAyMDAgcmVzcG9uc2UKKyAgICAgIGNoZWNrU2l6
ZUZpZWxkcyhlbnRyeSwgYm9keVNpemUsIGJvZHlTaXplICsgaGVhZGVyU2l6ZSk7CisgICAgfSBl
bHNlIGlmIChzZWVuQ291bnQgPT09IDEpIHsKKyAgICAgIC8vIGZyb20gY2FjaGUKKyAgICAgIGNo
ZWNrU2l6ZUZpZWxkcyhlbnRyeSwgYm9keVNpemUsIDApOworICAgIH0gZWxzZSBpZiAoc2VlbkNv
dW50ID09PSAyKSB7CisgICAgICAvLyAzMDQgcmVzcG9uc2UKKyAgICAgIGNoZWNrU2l6ZUZpZWxk
cyhlbnRyeSwgYm9keVNpemUsIGhlYWRlclNpemUpOworICAgIH0gZWxzZSB7CisgICAgICBhc3Nl
cnRfdW5yZWFjaGVkKCdUb28gbWFueSBtYXRjaGluZyBlbnRyaWVzJyk7CisgICAgfQorICAgICsr
c2VlbkNvdW50OworICB9Cit9OworCitwcm9taXNlX3Rlc3QoKCkgPT4geworICAvLyBVc2UgYSBk
aWZmZXJlbnQgVVJMIGV2ZXJ5IHRpbWUgc28gdGhhdCB0aGUgY2FjaGUgYmVoYXZpb3VyIGRvZXMg
bm90CisgIC8vIGRlcGVuZCBvbiBleGVjdXRpb24gb3JkZXIuCisgIHVybCA9IGxvYWQuY2FjaGVf
YnVzdCh1cmwpOworICBjb25zdCBlYXRCb2R5ID0gcmVzcG9uc2UgPT4gcmVzcG9uc2UuYXJyYXlC
dWZmZXIoKTsKKyAgY29uc3QgbXVzdFJldmFsaWRhdGUgPSB7aGVhZGVyczogeydDYWNoZS1Db250
cm9sJzogJ21heC1hZ2U9MCd9fTsKKyAgcmV0dXJuIGZldGNoKHVybCkKKyAgICAudGhlbihlYXRC
b2R5KQorICAgIC50aGVuKCgpID0+IGZldGNoKHVybCkpCisgICAgLnRoZW4oZWF0Qm9keSkKKyAg
ICAudGhlbigoKSA9PiBmZXRjaCh1cmwsIG11c3RSZXZhbGlkYXRlKSkKKyAgICAudGhlbihlYXRC
b2R5KQorICAgIC50aGVuKGFjY3VtdWxhdGVFbnRyaWVzKQorICAgIC50aGVuKGNoZWNrUmVzb3Vy
Y2VTaXplcyk7Cit9LCAnUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyBzaXplcyBjYWNoaW5nIHRl
c3QnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLXJlZGlyZWN0LWltZy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9zaXplcy1yZWRpcmVjdC1pbWctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU5MDMyMTk2MjBh
ZTY1ZDJhYjg4Y2MyMzA4Y2RlYjQ3MTdiZTNlMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXpl
cy1yZWRpcmVjdC1pbWctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorCitQQVNTIFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcgc2l6ZXMgcmVkaXJlY3QgaW1hZ2UgLSBkaXJlY3QgVVJMCitQ
QVNTIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgc2l6ZXMgcmVkaXJlY3QgaW1hZ2UgLSBzYW1l
IG9yaWdpbiByZWRpcmVjdAorUEFTUyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIHNpemVzIHJl
ZGlyZWN0IGltYWdlIC0gY3Jvc3Mgb3JpZ2luIHJlZGlyZWN0CitQQVNTIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcgc2l6ZXMgcmVkaXJlY3QgaW1hZ2UgLSBjcm9zcyBvcmlnaW4gdG8gc2FtZSBv
cmlnaW4gcmVkaXJlY3QKK1BBU1MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyBzaXplcyByZWRp
cmVjdCBpbWFnZSAtIHNhbWUgb3JpZ2luIHRvIHJlbW90ZSBvcmlnaW4gdG8gc2FtZSBvcmlnaW4g
cmVkaXJlY3QKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3QtaW1nLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9z
aXplcy1yZWRpcmVjdC1pbWcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ODYwMThkMGM0NjM0YzNkOGM2ZGYy
YzQwMDNiMjAxZTZlNGJjNGUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3Qt
aW1nLmh0bWwKQEAgLTAsMCArMSw1NyBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1v
bi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L3NpemVzLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291
cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9lbnRyeS1p
bnZhcmlhbnRzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisvLyBSZWRpcmVjdHMgZm9yIGZldGNo
KCkgYWx3YXlzIGFwcGx5IENPUlMgcnVsZXMsIHdoZXJlYXMgbm9ybWFsIHJlc291cmNlcworLy8g
ZG9uJ3QsIHNvIHRoaXMgdGVzdCBjb3ZlcnMgZXh0cmEgY29kZSBwYXRocyBiZXlvbmQgdGhvc2Ug
Y292ZXJlZCBieQorLy8gcmVzb3VyY2UtdGltaW5nLXNpemVzLXJlZGlyZWN0Lmh0bWwuCisKK2Nv
bnN0IGJhc2VVcmwgPSBuZXcgVVJMKCcvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9UQU9SZXNw
b25zZS5weT90YW89d2lsZGNhcmQmaW1nPXRydWUnLCBsb2NhdGlvbi5ocmVmKS5ocmVmOworCitj
b25zdCBleHBlY3RlZFNpemUgPSAxMDEwOworCitjb25zdCBob3N0SW5mbyA9IGdldF9ob3N0X2lu
Zm8oKTsKKworY29uc3QgcmVkaXJlY3RVcmwgPSAocmVkaXJlY3RTb3VyY2VPcmlnaW4sIHRhcmdl
dFVybCkgPT4geworICByZXR1cm4gcmVkaXJlY3RTb3VyY2VPcmlnaW4gKworICAgICcvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy9yZWRpcmVjdC1jb3JzLnB5P3RpbWluZ19hbGxvd19vcmlnaW49
KicgKworICAgICcmbG9jYXRpb249JyArIGVuY29kZVVSSUNvbXBvbmVudCh0YXJnZXRVcmwpOwor
fTsKKworY29uc3QgdmVyaWZ5X2VudHJ5ID0gZW50cnkgPT4geworICBjaGVja1NpemVGaWVsZHMo
ZW50cnksIGV4cGVjdGVkU2l6ZSwgZXhwZWN0ZWRTaXplICsgaGVhZGVyU2l6ZSk7Cit9OworCith
dHRyaWJ1dGVfdGVzdChsb2FkLmltYWdlLCBiYXNlVXJsLAorICB2ZXJpZnlfZW50cnksCisgICJQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIHNpemVzIHJlZGlyZWN0IGltYWdlIC0gZGlyZWN0IFVS
TCIpOworCithdHRyaWJ1dGVfdGVzdChsb2FkLmltYWdlLAorICByZWRpcmVjdFVybChob3N0SW5m
by5IVFRQX09SSUdJTiwgYmFzZVVybCksCisgIHZlcmlmeV9lbnRyeSwKKyAgIlBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcgc2l6ZXMgcmVkaXJlY3QgaW1hZ2UgLSBzYW1lIG9yaWdpbiByZWRpcmVj
dCIpOworCithdHRyaWJ1dGVfdGVzdChsb2FkLmltYWdlLAorICByZWRpcmVjdFVybChob3N0SW5m
by5IVFRQX1JFTU9URV9PUklHSU4sIGJhc2VVcmwpLAorICB2ZXJpZnlfZW50cnksCisgICJQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nIHNpemVzIHJlZGlyZWN0IGltYWdlIC0gY3Jvc3Mgb3JpZ2lu
IHJlZGlyZWN0Iik7CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQuaW1hZ2UsCisgIHJlZGlyZWN0VXJs
KGhvc3RJbmZvLkhUVFBfUkVNT1RFX09SSUdJTiwKKyAgICByZWRpcmVjdFVybChob3N0SW5mby5I
VFRQX09SSUdJTiwgYmFzZVVybCkpLAorICB2ZXJpZnlfZW50cnksCisgICJQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nIHNpemVzIHJlZGlyZWN0IGltYWdlIC0gY3Jvc3Mgb3JpZ2luIHRvIHNhbWUg
b3JpZ2luIHJlZGlyZWN0Iik7CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQuaW1hZ2UsCisgIHJlZGly
ZWN0VXJsKGhvc3RJbmZvLkhUVFBfT1JJR0lOLAorICAgIHJlZGlyZWN0VXJsKGhvc3RJbmZvLkhU
VFBfUkVNT1RFX09SSUdJTiwKKyAgICAgIHJlZGlyZWN0VXJsKGhvc3RJbmZvLkhUVFBfT1JJR0lO
LAorICAgICAgICBiYXNlVXJsKSkpLAorICB2ZXJpZnlfZW50cnksCisgICJQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nIHNpemVzIHJlZGlyZWN0IGltYWdlIC0gc2FtZSBvcmlnaW4gdG8gcmVtb3Rl
ICIgKworICAib3JpZ2luIHRvIHNhbWUgb3JpZ2luIHJlZGlyZWN0Iik7Cis8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3NpemVzLXJlZGlyZWN0LmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLXJlZGlyZWN0LmFu
eS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lNDgzYTRkNDA5YzZjMmRlZWU3M2ZhMjEzZDY5OGI5NWI4NjVkMGM4
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3QuYW55LmpzCkBAIC0wLDAgKzEs
NjIgQEAKKy8vIE1FVEE6IGdsb2JhbD13aW5kb3csd29ya2VyCisvLyBNRVRBOiBzY3JpcHQ9L2Nv
bW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcworLy8gTUVUQTogc2NyaXB0PS9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VzL3NpemVzLWhlbHBlci5qcworCitjb25zdCBiYXNlVXJsID0KKyAgbmV3IFVS
TCgnL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvVEFPUmVzcG9uc2UucHk/dGFvPXdpbGRjYXJk
JywgbG9jYXRpb24uaHJlZikuaHJlZjsKK2NvbnN0IGV4cGVjdGVkU2l6ZSA9IDQ7CisKK2NvbnN0
IGhvc3RJbmZvID0gZ2V0X2hvc3RfaW5mbygpOworcGVyZm9ybWFuY2UuY2xlYXJSZXNvdXJjZVRp
bWluZ3MoKTsKKworY29uc3QgYWNjdW11bGF0ZUVudHJ5ID0gKCkgPT4geworICByZXR1cm4gbmV3
IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgY29uc3QgcG8gPSBuZXcgUGVyZm9ybWFuY2VPYnNl
cnZlcihsaXN0ID0+IHsKKyAgICAgIHJlc29sdmUobGlzdCk7CisgICAgfSk7CisgICAgcG8ub2Jz
ZXJ2ZSh7dHlwZTogInJlc291cmNlIiwgYnVmZmVyZWQ6IHRydWV9KTsKKyAgfSk7Cit9OworCitj
b25zdCBjaGVja1Jlc291cmNlU2l6ZXMgPSAoKSA9PiB7CisgIGNvbnN0IGVudHJpZXMgPSBwZXJm
b3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdyZXNvdXJjZScpOworICBmb3IgKGxldCBlbnRyeSBv
ZiBlbnRyaWVzKSB7CisgICAgY2hlY2tTaXplRmllbGRzKGVudHJ5LCBleHBlY3RlZFNpemUsIGV4
cGVjdGVkU2l6ZSArIGhlYWRlclNpemUpOworICB9Cit9CisKK2NvbnN0IHJlZGlyZWN0VXJsID0g
KHJlZGlyZWN0U291cmNlT3JpZ2luLCBhbGxvd09yaWdpbiwgdGFyZ2V0VXJsKSA9PiB7CisgIHJl
dHVybiByZWRpcmVjdFNvdXJjZU9yaWdpbiArCisgICAgJy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2VzL3JlZGlyZWN0LWNvcnMucHk/YWxsb3dfb3JpZ2luPScgKworICAgIGVuY29kZVVSSUNvbXBv
bmVudChhbGxvd09yaWdpbikgKworICAgICcmdGltaW5nX2FsbG93X29yaWdpbj0qJyArCisgICAg
JyZsb2NhdGlvbj0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHRhcmdldFVybCk7Cit9CisKK3Byb21p
c2VfdGVzdCgoKSA9PiB7CisgIC8vIFVzZSBhIGRpZmZlcmVudCBVUkwgZXZlcnkgdGltZSBzbyB0
aGF0IHRoZSBjYWNoZSBiZWhhdmlvdXIgZG9lcyBub3QKKyAgLy8gZGVwZW5kIG9uIGV4ZWN1dGlv
biBvcmRlci4KKyAgY29uc3QgZGlyZWN0VXJsID0gY2FjaGVCdXN0VXJsKGJhc2VVcmwpOworICBj
b25zdCBzYW1lT3JpZ2luUmVkaXJlY3QgPSByZWRpcmVjdFVybChob3N0SW5mby5PUklHSU4sICcq
JywgZGlyZWN0VXJsKTsKKyAgY29uc3QgY3Jvc3NPcmlnaW5SZWRpcmVjdCA9IHJlZGlyZWN0VXJs
KGhvc3RJbmZvLlJFTU9URV9PUklHSU4sCisgICAgaG9zdEluZm8uT1JJR0lOLCBkaXJlY3RVcmwp
OworICBjb25zdCBtaXhlZFJlZGlyZWN0ID0gcmVkaXJlY3RVcmwoaG9zdEluZm8uUkVNT1RFX09S
SUdJTiwKKyAgICBob3N0SW5mby5PUklHSU4sIHNhbWVPcmlnaW5SZWRpcmVjdCk7CisgIGNvbnN0
IGNvbXBsZXhSZWRpcmVjdCA9IHJlZGlyZWN0VXJsKGhvc3RJbmZvLk9SSUdJTiwKKyAgICBob3N0
SW5mby5SRU1PVEVfT1JJR0lOLCBtaXhlZFJlZGlyZWN0KTsKKyAgbGV0IGVhdEJvZHkgPSByZXNw
b25zZSA9PiByZXNwb25zZS5hcnJheUJ1ZmZlcigpOworICByZXR1cm4gZmV0Y2goZGlyZWN0VXJs
KQorICAgIC50aGVuKGVhdEJvZHkpCisgICAgLnRoZW4oKCkgPT4gZmV0Y2goc2FtZU9yaWdpblJl
ZGlyZWN0KSkKKyAgICAudGhlbihlYXRCb2R5KQorICAgIC50aGVuKCgpID0+IGZldGNoKGNyb3Nz
T3JpZ2luUmVkaXJlY3QpKQorICAgIC50aGVuKGVhdEJvZHkpCisgICAgLnRoZW4oKCkgPT4gZmV0
Y2gobWl4ZWRSZWRpcmVjdCkpCisgICAgLnRoZW4oZWF0Qm9keSkKKyAgICAudGhlbigoKSA9PiBm
ZXRjaChjb21wbGV4UmVkaXJlY3QpKQorICAgIC50aGVuKGVhdEJvZHkpCisgICAgLnRoZW4oYWNj
dW11bGF0ZUVudHJ5KQorICAgIC50aGVuKGNoZWNrUmVzb3VyY2VTaXplcyk7Cit9LCAnUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZyBzaXplcyBGZXRjaCB3aXRoIHJlZGlyZWN0IHRlc3QnKTsKKwor
ZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc3RhdHVzLWNvZGVzLWNyZWF0ZS1lbnRyeS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvc3RhdHVzLWNvZGVzLWNyZWF0ZS1lbnRyeS5odG1sCmluZGV4IGMzMTUwNWE0NTJkYTZiNmFm
MTQ2ZmViY2QxNWNhNjJmZjE4NmE3NjcuLmNjMGNkOGNjYjg4MjUwMzMxMTg2YzM4NTU0YjA5ZmY4
NTE1Y2FjZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3N0YXR1cy1jb2Rlcy1jcmVhdGUtZW50cnkuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9zdGF0dXMtY29kZXMtY3JlYXRlLWVudHJ5Lmh0bWwKQEAgLTE4LDEzICsxOCwxNyBA
QCBhc3luY190ZXN0KHQgPT4gewogICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHQu
c3RlcF9mdW5jX2RvbmUoKCkgPT4gewogICAgIGNvbnN0IGltYWdlcyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRzQnlUYWdOYW1lKCJpbWciKTsKICAgICBmb3IgKGxldCBpbWcgb2YgaW1hZ2VzKSB7Ci0g
ICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoaW1n
LnNyYykubGVuZ3RoLCAwLCBpbWcuc3JjKTsKKyAgICAgIGNvbnN0IGVudHJpZXMgPSBwZXJmb3Jt
YW5jZS5nZXRFbnRyaWVzQnlOYW1lKGltZy5zcmMpOworICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhh
bihlbnRyaWVzLmxlbmd0aCwgMCwgaW1nLnNyYyk7CisgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFu
KGVudHJpZXNbMF0uZHVyYXRpb24sIDAsIGltZy5zcmMpOwogICAgIH0KICAgICBjb25zdCBzY3Jp
cHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpOwogICAgIGxldCBu
b1NyY1NjcmlwdEZvdW5kID0gZmFsc2U7CiAgICAgZm9yIChsZXQgc2NyaXB0IG9mIHNjcmlwdHMp
IHsKICAgICAgIGlmIChzY3JpcHQuc3JjKSB7Ci0gICAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW4o
cGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZShzY3JpcHQuc3JjKS5sZW5ndGgsIDAsIHNjcmlw
dC5zcmMpOworICAgICAgICBjb25zdCBlbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5
TmFtZShzY3JpcHQuc3JjKTsKKyAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihlbnRyaWVzLmxl
bmd0aCwgMCwgc2NyaXB0LnNyYyk7CisgICAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oZW50cmll
c1swXS5kdXJhdGlvbiwgMCwgc2NyaXB0LnNyYyk7CiAgICAgICB9IGVsc2UgewogICAgICAgICAv
LyBJZ25vcmUgdGhpcyBzY3JpcHQsIHdoaWNoIGhhcyBubyBzcmMgdmFsdWUuIFRoZXJlIHNob3Vs
ZCBvbmx5IGJlIG9uZSBzdWNoIHNjcmlwdC4KICAgICAgICAgYXNzZXJ0X2ZhbHNlKG5vU3JjU2Ny
aXB0Rm91bmQpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90aW1pbmctZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90aW1pbmctZXhwZWN0ZWQudHh0CmluZGV4IDIwMDQ4YTU4
Y2JmYWMyOWY4MWYwNDlkODY4ZTI2NDRhNGUwMDMzNzkuLmQ2Y2MxMWQxNDMzYTVmNDVhZDhmM2Uz
M2YwN2E3OWRkNjZmZTkzNmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Rlc3RfcmVzb3VyY2VfdGltaW5nLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy90ZXN0X3Jlc291cmNlX3RpbWluZy1leHBlY3RlZC50eHQKQEAg
LTYsMjggKzYsMjggQEAgTk9URTogRHVlIHRvIGNhY2hpbmcgYmVoYXZpb3IgaW4gdGhlIGJyb3dz
ZXIsIGl0IGlzIHBvc3NpYmxlIHRoYXQgd2hlbiByZXZpc2l0aW4KIFBBU1Mgd2luZG93LnBlcmZv
cm1hbmNlLmdldEVudHJpZXNCeU5hbWUoKSBhbmQgd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeU5hbWVUeXBlKCkgcmV0dXJuIHNhbWUgZGF0YSAoaWZyYW1lKQogUEFTUyBQZXJmb3JtYW5j
ZUVudHJ5IGhhcyBjb3JyZWN0IG5hbWUsIGluaXRpYXRvclR5cGUsIHN0YXJ0VGltZSwgYW5kIGR1
cmF0aW9uIChpZnJhbWUpCiBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3Qgb3JkZXIg
b2YgdGltaW5nIGF0dHJpYnV0ZXMgKGlmcmFtZSkKLUZBSUwgUGVyZm9ybWFuY2VFbnRyeSBoYXMg
Y29ycmVjdCBuZXR3b3JrIHRyYW5zZmVyIGF0dHJpYnV0ZXMgKGlmcmFtZSkgYXNzZXJ0X2VxdWFs
czogZW5jb2RlZEJvZHlTaXplIHNpemUgZXhwZWN0ZWQgKG51bWJlcikgMjE1IGJ1dCBnb3QgKHVu
ZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlMIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgcHJv
dG9jb2wgYXR0cmlidXRlIChpZnJhbWUpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIHByb3RvY29s
IGV4cGVjdGVkIChzdHJpbmcpICJodHRwLzEuMSIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmlu
ZWQKK1BBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuZXR3b3JrIHRyYW5zZmVyIGF0
dHJpYnV0ZXMgKGlmcmFtZSkKK1BBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBwcm90
b2NvbCBhdHRyaWJ1dGUgKGlmcmFtZSkKIFBBU1Mgd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeU5hbWUoKSBhbmQgd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWVUeXBlKCkg
cmV0dXJuIHNhbWUgZGF0YSAoaW1nKQogUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0
IG5hbWUsIGluaXRpYXRvclR5cGUsIHN0YXJ0VGltZSwgYW5kIGR1cmF0aW9uIChpbWcpCiBQQVNT
IFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3Qgb3JkZXIgb2YgdGltaW5nIGF0dHJpYnV0ZXMg
KGltZykKLUZBSUwgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuZXR3b3JrIHRyYW5zZmVy
IGF0dHJpYnV0ZXMgKGltZykgYXNzZXJ0X2VxdWFsczogZW5jb2RlZEJvZHlTaXplIHNpemUgZXhw
ZWN0ZWQgKG51bWJlcikgMjQ5IGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlMIFBl
cmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgcHJvdG9jb2wgYXR0cmlidXRlIChpbWcpIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkIHByb3RvY29sIGV4cGVjdGVkIChzdHJpbmcpICJodHRwLzEuMSIg
YnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKK1BBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMg
Y29ycmVjdCBuZXR3b3JrIHRyYW5zZmVyIGF0dHJpYnV0ZXMgKGltZykKK1BBU1MgUGVyZm9ybWFu
Y2VFbnRyeSBoYXMgY29ycmVjdCBwcm90b2NvbCBhdHRyaWJ1dGUgKGltZykKIFBBU1Mgd2luZG93
LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoKSBhbmQgd2luZG93LnBlcmZvcm1hbmNlLmdl
dEVudHJpZXNCeU5hbWVUeXBlKCkgcmV0dXJuIHNhbWUgZGF0YSAobGluaykKIFBBU1MgUGVyZm9y
bWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuYW1lLCBpbml0aWF0b3JUeXBlLCBzdGFydFRpbWUsIGFu
ZCBkdXJhdGlvbiAobGluaykKIFBBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBvcmRl
ciBvZiB0aW1pbmcgYXR0cmlidXRlcyAobGluaykKLUZBSUwgUGVyZm9ybWFuY2VFbnRyeSBoYXMg
Y29ycmVjdCBuZXR3b3JrIHRyYW5zZmVyIGF0dHJpYnV0ZXMgKGxpbmspIGFzc2VydF9lcXVhbHM6
IGVuY29kZWRCb2R5U2l6ZSBzaXplIGV4cGVjdGVkIChudW1iZXIpIDQ0IGJ1dCBnb3QgKHVuZGVm
aW5lZCkgdW5kZWZpbmVkCi1GQUlMIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgcHJvdG9j
b2wgYXR0cmlidXRlIChsaW5rKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBwcm90b2NvbCBleHBl
Y3RlZCAoc3RyaW5nKSAiaHR0cC8xLjEiIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCitQ
QVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmV0d29yayB0cmFuc2ZlciBhdHRyaWJ1
dGVzIChsaW5rKQorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0
dHJpYnV0ZSAobGluaykKIFBBU1Mgd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUo
KSBhbmQgd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWVUeXBlKCkgcmV0dXJuIHNh
bWUgZGF0YSAoc2NyaXB0KQogUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5hbWUs
IGluaXRpYXRvclR5cGUsIHN0YXJ0VGltZSwgYW5kIGR1cmF0aW9uIChzY3JpcHQpCiBQQVNTIFBl
cmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3Qgb3JkZXIgb2YgdGltaW5nIGF0dHJpYnV0ZXMgKHNj
cmlwdCkKLUZBSUwgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuZXR3b3JrIHRyYW5zZmVy
IGF0dHJpYnV0ZXMgKHNjcmlwdCkgYXNzZXJ0X2VxdWFsczogZW5jb2RlZEJvZHlTaXplIHNpemUg
ZXhwZWN0ZWQgKG51bWJlcikgMTMzIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlM
IFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgcHJvdG9jb2wgYXR0cmlidXRlIChzY3JpcHQp
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIHByb3RvY29sIGV4cGVjdGVkIChzdHJpbmcpICJodHRw
LzEuMSIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKK1BBU1MgUGVyZm9ybWFuY2VFbnRy
eSBoYXMgY29ycmVjdCBuZXR3b3JrIHRyYW5zZmVyIGF0dHJpYnV0ZXMgKHNjcmlwdCkKK1BBU1Mg
UGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBwcm90b2NvbCBhdHRyaWJ1dGUgKHNjcmlwdCkK
IFBBU1Mgd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoKSBhbmQgd2luZG93LnBl
cmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWVUeXBlKCkgcmV0dXJuIHNhbWUgZGF0YSAoeG1saHR0
cHJlcXVlc3QpCiBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmFtZSwgaW5pdGlh
dG9yVHlwZSwgc3RhcnRUaW1lLCBhbmQgZHVyYXRpb24gKHhtbGh0dHByZXF1ZXN0KQogUEFTUyBQ
ZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG9yZGVyIG9mIHRpbWluZyBhdHRyaWJ1dGVzICh4
bWxodHRwcmVxdWVzdCkKLUZBSUwgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuZXR3b3Jr
IHRyYW5zZmVyIGF0dHJpYnV0ZXMgKHhtbGh0dHByZXF1ZXN0KSBhc3NlcnRfZXF1YWxzOiBlbmNv
ZGVkQm9keVNpemUgc2l6ZSBleHBlY3RlZCAobnVtYmVyKSAxMTIgYnV0IGdvdCAodW5kZWZpbmVk
KSB1bmRlZmluZWQKLUZBSUwgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBwcm90b2NvbCBh
dHRyaWJ1dGUgKHhtbGh0dHByZXF1ZXN0KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBwcm90b2Nv
bCBleHBlY3RlZCAoc3RyaW5nKSAiaHR0cC8xLjEiIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZp
bmVkCitQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmV0d29yayB0cmFuc2ZlciBh
dHRyaWJ1dGVzICh4bWxodHRwcmVxdWVzdCkKK1BBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29y
cmVjdCBwcm90b2NvbCBhdHRyaWJ1dGUgKHhtbGh0dHByZXF1ZXN0KQogUEFTUyB3aW5kb3cucGVy
Zm9ybWFuY2UgUmVzb3VyY2UgVGltaW5nIEVudHJpZXMgZXhpc3QKIFBBU1Mgd2luZG93LnBlcmZv
cm1hbmNlIFJlc291cmNlIFRpbWluZyBFbnRyaWVzIGV4aXN0IDEKIFBBU1Mgd2luZG93LnBlcmZv
cm1hbmNlIFJlc291cmNlIFRpbWluZyBFbnRyaWVzIGV4aXN0IDIKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Rl
c3RfcmVzb3VyY2VfdGltaW5nLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Rlc3RfcmVzb3VyY2Vf
dGltaW5nLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBjZWEwZjFjYjJhYWI5ZWNlNDkyZWYzYmRm
NDM3NDEyMmQ1NTI5NzQwLi5kNmNjMTFkMTQzM2E1ZjQ1YWQ4ZjNlMzNmMDdhNzlkZDY2ZmU5MzZi
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy90ZXN0X3Jlc291cmNlX3RpbWluZy5odHRwcy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90aW1pbmcuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0yNiw3
ICsyNiw3IEBAIFBBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBwcm90b2NvbCBhdHRy
aWJ1dGUgKHNjcmlwdCkKIFBBU1Mgd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUo
KSBhbmQgd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWVUeXBlKCkgcmV0dXJuIHNh
bWUgZGF0YSAoeG1saHR0cHJlcXVlc3QpCiBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJl
Y3QgbmFtZSwgaW5pdGlhdG9yVHlwZSwgc3RhcnRUaW1lLCBhbmQgZHVyYXRpb24gKHhtbGh0dHBy
ZXF1ZXN0KQogUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG9yZGVyIG9mIHRpbWlu
ZyBhdHRyaWJ1dGVzICh4bWxodHRwcmVxdWVzdCkKLUZBSUwgUGVyZm9ybWFuY2VFbnRyeSBoYXMg
Y29ycmVjdCBuZXR3b3JrIHRyYW5zZmVyIGF0dHJpYnV0ZXMgKHhtbGh0dHByZXF1ZXN0KSBhc3Nl
cnRfZXF1YWxzOiBlbmNvZGVkQm9keVNpemUgc2l6ZSBleHBlY3RlZCAxMTIgYnV0IGdvdCAxMjAK
K1BBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuZXR3b3JrIHRyYW5zZmVyIGF0dHJp
YnV0ZXMgKHhtbGh0dHByZXF1ZXN0KQogUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0
IHByb3RvY29sIGF0dHJpYnV0ZSAoeG1saHR0cHJlcXVlc3QpCiBQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZSBSZXNvdXJjZSBUaW1pbmcgRW50cmllcyBleGlzdAogUEFTUyB3aW5kb3cucGVyZm9ybWFu
Y2UgUmVzb3VyY2UgVGltaW5nIEVudHJpZXMgZXhpc3QgMQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvd29ya2Vy
U3RhcnQtdGFvLXByb3RlY3RlZC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvd29ya2VyU3RhcnQtdGFvLXByb3Rl
Y3RlZC5odHRwcy5odG1sCmluZGV4IGY5YjUwZjcwMzYwZGQ2ZTA5OTA4YmMyZDgxZGZmMTM3MzVh
YWQyMzYuLjQ4NTZmNDY3ZjE2ZjZlMzgyMWQ0OGVhNzU0MmQxNTRiM2RlNTNiZDcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL3dvcmtlclN0YXJ0LXRhby1wcm90ZWN0ZWQuaHR0cHMuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy93b3Jr
ZXJTdGFydC10YW8tcHJvdGVjdGVkLmh0dHBzLmh0bWwKQEAgLTQwLDcgKzQwLDcgQEAgcHJvbWlz
ZV90ZXN0KHQgPT4gewogICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2
ZXIobGlzdCA9PiB7CiAgICAgICBjb25zdCBlbnRyaWVzID0gbGlzdC5nZXRFbnRyaWVzKCk7CiAg
ICAgICBmb3IgKGVudHJ5IG9mIGVudHJpZXMpIHsKLSAgICAgICAgaWYgKGVudHJ5Lm5hbWUuaW5j
bHVkZXMoImJsYW5rX3BhZ2VfZ3JlZW4uaHRtIikpIHsKKyAgICAgICAgaWYgKGVudHJ5Lm5hbWUu
aW5jbHVkZXMoImdyZWVuLmh0bWwiKSkgewogICAgICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3Qo
KTsKICAgICAgICAgICAvLyBPYnNlcnZlIGl0cyBwZXJmb3JtYW5jZSBlbnRyeSB0byBtYWtlIHN1
cmUgd29ya2VyU3RhcnQgaXMgemVybwogICAgICAgICAgIGlmIChlbnRyeS53b3JrZXJTdGFydCAh
PSAwKSB7CkBAIC01MSw3ICs1MSw3IEBAIHByb21pc2VfdGVzdCh0ID0+IHsKICAgICAgIH0KICAg
ICB9KTsKICAgICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbInJlc291cmNlIl19KTsK
LSAgICBhZGRGcmFtZShob3N0X2luZm8uSFRUUFNfUkVNT1RFX09SSUdJTiArICIvcmVzb3VyY2Ut
dGltaW5nL3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVuLmh0bSIpOworICAgIGFkZEZyYW1lKGhv
c3RfaW5mby5IVFRQU19SRU1PVEVfT1JJR0lOICsgIi9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vz
L2dyZWVuLmh0bWwiKTsKICAgfSk7CiB9LCAiQWRkIFRBTy1sZXNzIGlmcmFtZSB0byByZW1vdGUg
b3JpZ2luLiBNYWtlIHN1cmUgd29ya2VyU3RhcnQgaXMgemVybyIpOwogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3JlZGlyZWN0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL3JlZGlyZWN0cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDFlYjU0NjFkMzQwYTNm
MGMyZTgyMjc1NDBmMWFkMWIwOWFhNTJiMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvcmVkaXJlY3RzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitEZXNjcmlw
dGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQsIHdoZW4gYSBmZXRjaGluZyByZXNvdXJj
ZXMgdGhhdCBlbmNvdW50ZXIgc2FtZS1vcmlnaW4gcmVkaXJlY3RzLCBhdHRyaWJ1dGVzIG9mIHRo
ZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGVudHJ5IGNvbmZvcm0gdG8gdGhlIHNwZWNpZmlj
YXRpb24uCisKKworUEFTUyBWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgc3R5bGVz
aGVldCdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcKK1BBU1MgVmVyaWZ5IGF0dHJpYnV0ZXMg
b2YgYSByZWRpcmVjdGVkIGltYWdlJ3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZworUEFTUyBW
ZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgaWZyYW1lJ3MgUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZworUEFTUyBWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgc2NyaXB0
J3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZworRkFJTCBWZXJpZnkgYXR0cmlidXRlcyBvZiBh
IHJlZGlyZWN0ZWQgc3luY2hyb25vdXMgWE1MSHR0cFJlcXVlc3QncyBQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nIGFzc2VydF9ncmVhdGVyX3RoYW46IHJlZGlyZWN0U3RhcnQgc2hvdWxkIGJlIGdy
ZWF0ZXIgdGhhbiAwIGV4cGVjdGVkIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiAwIGJ1dCBnb3QgMAor
RkFJTCBWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHN5bmNocm9ub3VzIFhNTEh0dHBSZXF1ZXN0J3Mg
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyB3aGVyZSB0aGUgaW5pdGlhbCBIVFRQIHJlcXVlc3Qg
aXMgcmVkaXJlY3RlZCB0byBhIGNyb3NzLW9yaWdpbiBIVFRQUyByZXNvdXJjZS4gcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTmV0d29ya0Vycm9y
OiAgQSBuZXR3b3JrIGVycm9yIG9jY3VycmVkLiIKKwo=
</data>
<flag name="commit-queue"
          id="452477"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430876</attachid>
            <date>2021-06-08 12:38:32 -0700</date>
            <delta_ts>2021-06-08 14:43:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226678-20210608123831.patch</filename>
            <type>text/plain</type>
            <size>250532</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NDc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTVhMGRiNTc5YmRmYzM2
NmMwMzY3ZmVjZGRlZWVmNzc1YWU5NDM3YS4uNzY1YTg4MTJiMDUyMWM5ZGFmY2VlNTkxYTk1YzE1
MDk5NmZlZTk1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMCBAQAorMjAyMS0wNi0wNCAgQWxl
eCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUg
VGltaW5nLUFsbG93LU9yaWdpbiBjaGVja3MgdG8gdGhlIG5ldHdvcmsgcHJvY2VzcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2Njc4CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS80NTIyNzc4OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXZSB0cmllZCBoYXJkIHRvIGRvIGl0IGluIHRoZSB3ZWIgcHJv
Y2VzcyBieSBrZWVwaW5nIHRyYWNrIG9mIHdoZXRoZXIgdGhlIGxhc3QgcmVkaXJlY3Qgd2FzIGNy
b3NzLW9yaWdpbgorICAgICAgICBhbmQgY2hlY2tpbmcgdGhlIGZpbmFsIHJlc3BvbnNlIGFuZCBv
cmlnaW5hbCBzZWN1cml0eSBvcmlnaW4uICBXZSBnb3QgbWFueSB0ZXN0cyB0byBwYXNzLCBidXQg
dG8gZ2V0IHRoZSByZXN0CisgICAgICAgIGFuZCBiZSBjb3JyZWN0LCB3ZSBuZWVkIHRvIGNoZWNr
IHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRlciBmaWVsZCBvZiBlYWNoIHJlZGlyZWN0IGFn
YWluc3QgdGhlIG9yaWdpbmFsIHNlY3VyaXR5IG9yaWdpbi4KKworICAgICAgICBUZXN0czogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU08tWE8tU08tcmVk
aXJlY3QtY2hhaW4tdGFvLmh0dHBzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1tYXRjaC5odG1sCisgICAgICAg
ICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9U
QU8tbnVsbC1vcGFxdWUtb3JpZ2luLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5z
LWNyb3Nzb3JpZ2luLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29u
bmVjdGlvbi1yZXVzZS5odHRwcy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhcnQtZW5kLXRp
bWUtd2l0aC1yZWRpcmVjdHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC1v
cGVuZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvZW50cnktYXR0cmlidXRlcy5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mZXRjaC1jcm9z
cy1vcmlnaW4tcmVkaXJlY3QuaHR0cHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZm9udC10aW1lc3RhbXBzLmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2lmcmFtZS1mYWlsZWQtY29tbWl0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2luaXRpYXRvci10eXBlLWZv
ci1zY3JpcHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvbmV4dEhvcFByb3RvY29sLWlzLXRhby1wcm90ZWN0ZWQuaHR0
cHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1UQU8tY3Jvc3Mtb3JpZ2luLXJl
ZGlyZWN0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItY3Jvc3Mtb3JpZ2luLXJl
ZGlyZWN0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3JlZGlyZWN0cy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25vcmUt
ZGF0YS11cmwuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfY2FjaGVkLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
X3RpbWluZ19jb250ZW50X2xlbmd0aC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zYW1lLW9yaWdpbi1mcm9tLWNyb3Nz
LW9yaWdpbi1yZWRpcmVjdC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC1pbWcuaHRtbAorCisg
ICAgICAgICogSGVhZGVycy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogbG9hZGVyL1Jl
c291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjpzdGFy
dCk6CisgICAgICAgIEdldCBhIFNlY3VyaXR5T3JpZ2luIGZvciBvdXIgV2ViS2l0TGVnYWN5IFJl
c291cmNlSGFuZGxlIHVzZSBsaWtlIHdlIGRvIGluIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVs
ZUxvYWRGcm9tTmV0d29ya1Byb2Nlc3MKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VUaW1pbmcu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VUaW1pbmc6OlJlc291cmNlVGltaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlVGltaW5nOjppbml0U2VydmVyVGltaW5nKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlVGltaW5nOjppc29sYXRlZENvcHkgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6cGFzc2VzVGltaW5nQWxsb3dDaGVjayk6IERlbGV0ZWQuCisgICAgICAg
ICogbG9hZGVyL1Jlc291cmNlVGltaW5nLmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVRp
bWluZzo6bmV0d29ya0xvYWRNZXRyaWNzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlVGltaW5nOjpSZXNvdXJjZVRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVRp
bWluZzo6YWxsb3dUaW1pbmdEZXRhaWxzIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKCk6IERl
bGV0ZWQuCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpyZWRpcmVjdENvdW50IGNvbnN0KToK
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmc6OnNhbWVPcmlnaW5DaGVja0Zh
aWxzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWlu
Zzo6cmVkaXJlY3RDb3VudCBjb25zdCk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmVudHJ5U3RhcnRUaW1lKToKKyAgICAg
ICAgKFdlYkNvcmU6OmVudHJ5RW5kVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlZGlyZWN0RW5kIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmRvbWFpbkxvb2t1cFN0YXJ0IGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmRvbWFp
bkxvb2t1cEVuZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nOjpjb25uZWN0U3RhcnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdEVuZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpzZWN1cmVDb25uZWN0aW9uU3RhcnQgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVxdWVzdFN0YXJ0
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJl
c3BvbnNlU3RhcnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZzo6dHJhbnNmZXJTaXplIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmc6OmVuY29kZWRCb2R5U2l6ZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkZWNvZGVkQm9keVNpemUgY29uc3QpOgor
ICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VUaW1pbmc6OnVubG9hZEV2ZW50U3RhcnQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OnVubG9hZEV2ZW50RW5kIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0IGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpyZWRpcmVjdEVuZCBjb25zdCk6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VIYW5kbGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6QmxvYlJlc291cmNlSGFuZGxlOjpCbG9iUmVzb3VyY2VIYW5kbGUpOgorICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmg6CisgICAgICAgIChXZWJD
b3JlOjpOZXR3b3JrTG9hZE1ldHJpY3M6Omlzb2xhdGVkQ29weSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJpY3M6Om9wZXJhdG9yPT0gY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TmV0d29ya0xvYWRNZXRyaWNzOjpkZWNvZGUpOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5k
bGU6OlJlc291cmNlSGFuZGxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmxvYWRSZXNvdXJjZVN5
bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmlzQ3Jvc3NP
cmlnaW5XaXRob3V0VEFPIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxl
OjptYXJrQXNDcm9zc09yaWdpbldpdGhvdXRUQU8pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3Vy
Y2VIYW5kbGU6OnNvdXJjZU9yaWdpbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZUhhbmRsZTo6aGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6c2V0SGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCk6IERl
bGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGVJbnRlcm5hbDo6UmVzb3VyY2VIYW5kbGVJbnRlcm5h
bCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5jcHA6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6cGFzc2VzVGltaW5nQWxsb3dPcmlnaW5DaGVjayk6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5oOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtMb2FkTWV0cmljcy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OnBhY2thZ2VUaW1pbmdEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OmNv
cHlUaW1pbmdEYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhh
bmRsZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpwbGF0Zm9ybUxv
YWRSZXNvdXJjZVN5bmNocm9ub3VzbHkpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFj
L1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5tbToKKyAgICAg
ICAgKC1bV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlIGNvbm5l
Y3Rpb246d2lsbFNlbmRSZXF1ZXN0OnJlZGlyZWN0UmVzcG9uc2U6XSk6CisgICAgICAgICgtW1dl
YkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSBjb25uZWN0aW9uOmRp
ZFJlY2VpdmVSZXNwb25zZTpdKToKKwogMjAyMS0wNi0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFj
aHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEltcGxlbWVudCBvZmYtYnktZGVmYXVs
dCBleHBlcmltZW50YWwgZmVhdHVyZSBmb3IgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy50cmFu
c2ZlclNpemUsIGVuY29kZWRCb2R5U2l6ZSwgYW5kIGRlY29kZWRCb2R5U2l6ZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCAyYzdkZmFjZGJmY2M3OWVlYjdmZDc3N2ZmZGUyOWNjZTUwYzE5NDRmLi4yMWVjYTllMzZkZWY2
OGU4YTllMThmOGIyZGY5YjY0MDBiYmQ4NjczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisy
MDIxLTA2LTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgTW92ZSBUaW1pbmctQWxsb3ctT3JpZ2luIGNoZWNrcyB0byB0aGUgbmV0d29yayBw
cm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjY2NzgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ1MjI3Nzg4PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29y
a0xvYWRQYXJhbWV0ZXJzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZFBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVz
b3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpzZW5kUmVwbHlUb1N5bmNocm9ub3Vz
UmVxdWVzdCk6CisgICAgICAgIFBhc3MgY29tcGxldGUgbWV0cmljcyB3aXRoIHN5bmMgeGhyIHJl
c3BvbnNlcy4gIE1hbnkgb2YgdGhlIHRlc3RzIHVzZSBzeW5jIHhoci4KKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRGYWlsTG9hZGluZyk6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkUmV0cmlldmVDYWNoZUVudHJ5KToKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5oOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6TmV0d29ya0RhdGFUYXNrQ29jb2Ep
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6d2lsbFBlcmZvcm1IVFRQ
UmVkaXJlY3Rpb24pOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNz
aW9uQ29jb2EubW06CisgICAgICAgICgtW1dLTmV0d29ya1Nlc3Npb25EZWxlZ2F0ZSBVUkxTZXNz
aW9uOnRhc2s6d2lsbFBlcmZvcm1IVFRQUmVkaXJlY3Rpb246bmV3UmVxdWVzdDpjb21wbGV0aW9u
SGFuZGxlcjpdKToKKyAgICAgICAgKC1bV0tOZXR3b3JrU2Vzc2lvbkRlbGVnYXRlIFVSTFNlc3Np
b246ZGF0YVRhc2s6ZGlkUmVjZWl2ZVJlc3BvbnNlOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorCiAy
MDIxLTA2LTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgSW1wbGVtZW50IG9mZi1ieS1kZWZhdWx0IGV4cGVyaW1lbnRhbCBmZWF0dXJlIGZv
ciBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLnRyYW5zZmVyU2l6ZSwgZW5jb2RlZEJvZHlTaXpl
LCBhbmQgZGVjb2RlZEJvZHlTaXplCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCmluZGV4IGVkMTUzNWJkMDli
ZDQzOWU3Y2NiNDVlYzhmZDRiNTgzNTkwNDQ1ZjcuLmRmYTJiM2NiN2Y3OGU3ZTAzZWQ1NjI1N2M4
NmE5ZTgzMWYyZGU3NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MjEtMDYtMDQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKwor
ICAgICAgICBNb3ZlIFRpbWluZy1BbGxvdy1PcmlnaW4gY2hlY2tzIHRvIHRoZSBuZXR3b3JrIHBy
b2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NjY3OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDUyMjc3ODg+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QaW5nSGFu
ZGxlLmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVy
LmNwcDoKKyAgICAgICAgKFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjo6bG9hZFJlc291cmNlU3lu
Y2hyb25vdXNseSk6CisKIDIwMjEtMDUtMzAgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29t
PgogCiAgICAgICAgIFJlbW92ZSBzb21lIG9mIHRoZSB1bm5lZWRlZCBXZWJLaXRMZWdhY3kgV2lu
ZG93cy1zcGVjaWZpYyBwbHVnLWluIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hl
YWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IDU1NDZjNGQz
ZTYzNmYzNjYwOWM0MTg5MDg4MmY0MTZjN2EwZWFhMTcuLjdiOTNlYzhhYzNkNGI3NzZmNDYxNTVh
MTI4MTIyYWYxZTdiOGZkN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21h
a2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMTQ4Miw2ICsxNDgyLDcg
QEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIHBsYXRmb3JtL25l
dHdvcmsvU3RvcmFnZVNlc3Npb25Qcm92aWRlci5oCiAgICAgcGxhdGZvcm0vbmV0d29yay9TdG9y
ZWRDcmVkZW50aWFsc1BvbGljeS5oCiAgICAgcGxhdGZvcm0vbmV0d29yay9TeW5jaHJvbm91c0xv
YWRlckNsaWVudC5oCisgICAgcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5oCiAK
ICAgICBwbGF0Zm9ybS9zcWwvU1FMVmFsdWUuaAogICAgIHBsYXRmb3JtL3NxbC9TUUxpdGVEYXRh
YmFzZS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IGI0YTMwMzRkZDZjOTQwM2EzMTA4MDNmYzhkZDVjNDAw
ZGM3Yzc4ZTUuLjNmYWI0NTM3MWU3ZjljMzE1ZWY5Yzg0YWE1ZTg1NTExZTU4ZTEyMWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CkBAIC0yMTkxLDYgKzIxOTEsNyBAQCBwbGF0Zm9ybS9uZXR3b3JrL1NhbWVTaXRl
SW5mby5jcHAKIHBsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFtSGFuZGxlLmNwcAogcGxhdGZv
cm0vbmV0d29yay9Tb2NrZXRTdHJlYW1IYW5kbGVJbXBsLmNwcAogcGxhdGZvcm0vbmV0d29yay9T
eW5jaHJvbm91c0xvYWRlckNsaWVudC5jcHAKK3BsYXRmb3JtL25ldHdvcmsvVGltaW5nQWxsb3dP
cmlnaW4uY3BwCiBwbGF0Zm9ybS9zcWwvU1FMaXRlQXV0aG9yaXplci5jcHAKIHBsYXRmb3JtL3Nx
bC9TUUxpdGVEYXRhYmFzZS5jcHAKIHBsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZVRyYWNrZXIu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggNDZmMjY4Mjg0OGIwZTU5NzYyNzE1YWMyMDJiNTE1ZTRmMzMzNDEzZC4uMzMwZTk3
NmVmNmM4NjVkNDdhZDE5ODI1NTQ4ZTFmYWFjMzU1NmEzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTk5Nyw2ICsxOTk3LDcg
QEAKIAkJNUNCMzdGRkYxQzYyRDJBMTAwRjIwMTg4IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNCMzdGRkQxQzYy
RDI3ODAwRjIwMTg4IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5oICovOyB9OwogCQk1Q0JDOERBRDFB
QUEzMDIyMDBFMUM4MDMgLyogTWVkaWFBY2Nlc3NpYmlsaXR5U29mdExpbmsuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQkM4REFCMUFBQTMwMjIwMEUx
QzgwMyAvKiBNZWRpYUFjY2Vzc2liaWxpdHlTb2Z0TGluay5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTVDQkQ1OTU5MjI4MEU5MjYwMDJCMjJBQSAv
KiBDdXN0b21IZWFkZXJGaWVsZHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNUM1RDIzODYyMjdBMDc3QzAwMEI5QkRBIC8qIEN1c3RvbUhlYWRlckZp
ZWxkcy5jcHAgKi87IH07CisJCTVDQzc5MDBFMjY2QUZBODkwMDY5MjRGRSAvKiBUaW1pbmdBbGxv
d09yaWdpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NUNDNzkwMEIyNjZBRkE4ODAwNjkyNEZFIC8qIFRpbWluZ0FsbG93T3JpZ2luLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNUNDQzI3MDkyMkQ1NDgz
QTAwOTY0RkEwIC8qIEF1dG9maWxsRWxlbWVudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQ0MyNzA2MjJENTNCNjgwMDk2NEZBMCAvKiBBdXRvZmls
bEVsZW1lbnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNUNEOUY1NjYxQUEwRjczQzAwREE0NUZGIC8qIERGQUJ5dGVjb2RlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1QzM5MzA1RDFBQTBGNkE5MDAy
OUM4MTYgLyogREZBQnl0ZWNvZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk1Q0Q5RjU2NzFBQTBGNzQyMDBEQTQ1RkYgLyogREZBQnl0ZWNvZGVD
b21waWxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NUMzOTMwNUYxQUEwRjZBOTAwMjlDODE2IC8qIERGQUJ5dGVjb2RlQ29tcGlsZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTcwOCw2ICs5NzA5
LDggQEAKIAkJNUNCMzdGRkQxQzYyRDI3ODAwRjIwMTg4IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxBbmltYXRvck1vY2suaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNCQzhEQUExQUFBMzAyMjAwRTFDODAzIC8q
IE1lZGlhQWNjZXNzaWJpbGl0eVNvZnRMaW5rLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IE1lZGlhQWNjZXNzaWJpbGl0eVNvZnRMaW5rLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNUNCQzhEQUIxQUFBMzAyMjAwRTFDODAzIC8qIE1lZGlhQWNjZXNz
aWJpbGl0eVNvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlh
QWNjZXNzaWJpbGl0eVNvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVD
Qzc5MDBCMjY2QUZBODgwMDY5MjRGRSAvKiBUaW1pbmdBbGxvd09yaWdpbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBUaW1pbmdBbGxvd09yaWdpbi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1Q0M3OTAwRDI2NkFGQTg5MDA2OTI0RkUgLyogVGltaW5nQWxsb3dP
cmlnaW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGltaW5nQWxs
b3dPcmlnaW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0NDMjcwNjIyRDUz
QjY4MDA5NjRGQTAgLyogQXV0b2ZpbGxFbGVtZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBBdXRvZmlsbEVsZW1lbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTVDQ0MyNzA3MjJENTNCNjkwMDk2NEZBMCAvKiBBdXRvZmlsbEVsZW1lbnRzLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEF1dG9maWxsRWxlbWVudHMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0RDRERCRjIzRDdCN0JFMDBCQTM0QTEgLyog
Q29udGVudEZpbHRlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
b250ZW50RmlsdGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjIx
OSw2ICsyMjIyMiw4IEBACiAJCQkJNDY4MkQxRkYxRjc5NzgyMzAwQzg2M0RCIC8qIFN0b3JlZENy
ZWRlbnRpYWxzUG9saWN5LmggKi8sCiAJCQkJRTE4MDgxMTAxNkZDRjQyRTAwQjgwRDA3IC8qIFN5
bmNocm9ub3VzTG9hZGVyQ2xpZW50LmNwcCAqLywKIAkJCQlFMTgwODExNTE2RkNGOUNCMDBCODBE
MDcgLyogU3luY2hyb25vdXNMb2FkZXJDbGllbnQuaCAqLywKKwkJCQk1Q0M3OTAwRDI2NkFGQTg5
MDA2OTI0RkUgLyogVGltaW5nQWxsb3dPcmlnaW4uY3BwICovLAorCQkJCTVDQzc5MDBCMjY2QUZB
ODgwMDY5MjRGRSAvKiBUaW1pbmdBbGxvd09yaWdpbi5oICovLAogCQkJKTsKIAkJCXBhdGggPSBu
ZXR3b3JrOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTM1NzU3LDYgKzM1NzYyLDcg
QEAKIAkJCQk5MzA1QjI0RDA5OEYxQjZCMDBDMjg4NTUgLyogVGltZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCUU0NDYxM0IwMENENjMzMTAwMEZBREE3NSAvKiBUaW1lUmFuZ2VzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkyRDdFRDBBQjFCQUU5OTE3MDA0M0IzRTUgLyogVGltZXJFdmVudEJhc2VkTW9j
ay5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUNDNzkwMEUyNjZBRkE4OTAwNjkyNEZFIC8qIFRpbWlu
Z0FsbG93T3JpZ2luLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5MTJBRTBFRkFDOTA2MDA5RDBD
QUYgLyogVGltaW5nRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNTRERDA4MTg4MUQ1
RjUwMDNFRURCQiAvKiBUb3VjaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzFCN0VFMEQyMUI1QzY4
NzAwMzFDMUVGIC8qIFRvdWNoQWN0aW9uLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDUzNTM5ZmI2N2RlMWY1ZjE2Mjg0MjlkYjNm
MWFiMmY1M2NlZGQ2NzIuLjUwYmFmOWFiZTg1OWQ5OGQ0YTRkZmVmMTNlMjdkZDNkMzE4NjU5ZTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcApAQCAtNTEsNiArNTEs
NyBAQAogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmln
aW4uaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKKyNpbmNsdWRlICJTdWJyZXNvdXJjZUxv
YWRlci5oIgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0
Zi9SZWYuaD4KIApAQCAtMjQxLDcgKzI0MiwxNSBAQCB2b2lkIFJlc291cmNlTG9hZGVyOjpzdGFy
dCgpCiAgICAgfQogI2VuZGlmCiAKLSAgICBtX2hhbmRsZSA9IFJlc291cmNlSGFuZGxlOjpjcmVh
dGUoZnJhbWVMb2FkZXIoKS0+bmV0d29ya2luZ0NvbnRleHQoKSwgbV9yZXF1ZXN0LCB0aGlzLCBt
X2RlZmVyc0xvYWRpbmcsIG1fb3B0aW9ucy5zbmlmZkNvbnRlbnQgPT0gQ29udGVudFNuaWZmaW5n
UG9saWN5OjpTbmlmZkNvbnRlbnQsIG1fb3B0aW9ucy5zbmlmZkNvbnRlbnRFbmNvZGluZyA9PSBD
b250ZW50RW5jb2RpbmdTbmlmZmluZ1BvbGljeTo6U25pZmYpOworICAgIFJlZlB0cjxTZWN1cml0
eU9yaWdpbj4gc291cmNlT3JpZ2luID0gaXM8U3VicmVzb3VyY2VMb2FkZXI+KCp0aGlzKSA/IGRv
d25jYXN0PFN1YnJlc291cmNlTG9hZGVyPigqdGhpcykub3JpZ2luKCkgOiBudWxscHRyOworICAg
IGlmICghc291cmNlT3JpZ2luICYmIGZyYW1lTG9hZGVyKCkpIHsKKyAgICAgICAgYXV0byogZG9j
dW1lbnQgPSBmcmFtZUxvYWRlcigpLT5mcmFtZSgpLmRvY3VtZW50KCk7CisgICAgICAgIHNvdXJj
ZU9yaWdpbiA9ICBkb2N1bWVudCA/ICZkb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKSA6IG51bGxw
dHI7CisgICAgfQorCisgICAgYm9vbCBpc01haW5GcmFtZU5hdmlnYXRpb24gPSBmcmFtZSgpICYm
IGZyYW1lKCktPmlzTWFpbkZyYW1lKCkgJiYgb3B0aW9ucygpLm1vZGUgPT0gRmV0Y2hPcHRpb25z
OjpNb2RlOjpOYXZpZ2F0ZTsKKworICAgIG1faGFuZGxlID0gUmVzb3VyY2VIYW5kbGU6OmNyZWF0
ZShmcmFtZUxvYWRlcigpLT5uZXR3b3JraW5nQ29udGV4dCgpLCBtX3JlcXVlc3QsIHRoaXMsIG1f
ZGVmZXJzTG9hZGluZywgbV9vcHRpb25zLnNuaWZmQ29udGVudCA9PSBDb250ZW50U25pZmZpbmdQ
b2xpY3k6OlNuaWZmQ29udGVudCwgbV9vcHRpb25zLnNuaWZmQ29udGVudEVuY29kaW5nID09IENv
bnRlbnRFbmNvZGluZ1NuaWZmaW5nUG9saWN5OjpTbmlmZiwgV1RGTW92ZShzb3VyY2VPcmlnaW4p
LCBpc01haW5GcmFtZU5hdmlnYXRpb24pOwogfQogCiB2b2lkIFJlc291cmNlTG9hZGVyOjpzZXRE
ZWZlcnNMb2FkaW5nKGJvb2wgZGVmZXJzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Jlc291cmNlVGltaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZVRp
bWluZy5jcHAKaW5kZXggNDk4ZTMzMjc0YmY5Yjk4MmM5ZTk4NTJjZTkyN2JlY2Y0YTI4M2EwNS4u
NDY5MGZhM2FkMzJlN2ZkMDM2N2Q1MzEyYTFhMGM1MGE4OGNkNTMzMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VUaW1pbmcuY3BwCkBAIC0zNSwyOCArMzUsNiBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBib29sIHBhc3Nlc1RpbWluZ0FsbG93Q2hlY2soY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiBpbml0aWF0
b3JTZWN1cml0eU9yaWdpbikKLXsKLSAgICBSZWY8U2VjdXJpdHlPcmlnaW4+IHJlc291cmNlT3Jp
Z2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZShyZXNwb25zZS51cmwoKSk7Ci0gICAgaWYgKHJl
c291cmNlT3JpZ2luLT5pc1NhbWVTY2hlbWVIb3N0UG9ydChpbml0aWF0b3JTZWN1cml0eU9yaWdp
bikpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgY29uc3QgU3RyaW5nJiB0aW1pbmdBbGxv
d09yaWdpblN0cmluZyA9IHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6
VGltaW5nQWxsb3dPcmlnaW4pOwotICAgIGlmICh0aW1pbmdBbGxvd09yaWdpblN0cmluZy5pc0Vt
cHR5KCkgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UodGltaW5nQWxsb3dPcmlnaW5T
dHJpbmcsICJudWxsIikpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICh0aW1pbmdB
bGxvd09yaWdpblN0cmluZyA9PSAiKiIpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgY29u
c3QgU3RyaW5nJiBzZWN1cml0eU9yaWdpbiA9IGluaXRpYXRvclNlY3VyaXR5T3JpZ2luLnRvU3Ry
aW5nKCk7Ci0gICAgZm9yIChhdXRvJiBvcmlnaW4gOiB0aW1pbmdBbGxvd09yaWdpblN0cmluZy5z
cGxpdCgnLCcpKSB7Ci0gICAgICAgIGlmIChvcmlnaW4uc3RyaXBXaGl0ZVNwYWNlKCkgPT0gc2Vj
dXJpdHlPcmlnaW4pCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0KLSAgICByZXR1
cm4gZmFsc2U7Ci19Ci0KIFJlc291cmNlVGltaW5nIFJlc291cmNlVGltaW5nOjpmcm9tTWVtb3J5
Q2FjaGUoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgaW5pdGlhdG9yLCBjb25zdCBSZXNv
dXJjZUxvYWRUaW1pbmcmIGxvYWRUaW1pbmcsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3Bv
bnNlLCBjb25zdCBTZWN1cml0eU9yaWdpbiYgc2VjdXJpdHlPcmlnaW4pCiB7CiAgICAgcmV0dXJu
IFJlc291cmNlVGltaW5nKHVybCwgaW5pdGlhdG9yLCBsb2FkVGltaW5nLCByZXNwb25zZSwgc2Vj
dXJpdHlPcmlnaW4pOwpAQCAtNzIsMjggKzUwLDI2IEBAIFJlc291cmNlVGltaW5nIFJlc291cmNl
VGltaW5nOjpmcm9tU3luY2hyb25vdXNMb2FkKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcm
CiAgICAgcmV0dXJuIFJlc291cmNlVGltaW5nKHVybCwgaW5pdGlhdG9yLCBsb2FkVGltaW5nLCBu
ZXR3b3JrTG9hZE1ldHJpY3MsIHJlc3BvbnNlLCBzZWN1cml0eU9yaWdpbik7CiB9CiAKLVJlc291
cmNlVGltaW5nOjpSZXNvdXJjZVRpbWluZyhjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBp
bml0aWF0b3IsIGNvbnN0IFJlc291cmNlTG9hZFRpbWluZyYgbG9hZFRpbWluZywgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiBzZWN1cml0eU9y
aWdpbikKK1Jlc291cmNlVGltaW5nOjpSZXNvdXJjZVRpbWluZyhjb25zdCBVUkwmIHVybCwgY29u
c3QgU3RyaW5nJiBpbml0aWF0b3IsIGNvbnN0IFJlc291cmNlTG9hZFRpbWluZyYgbG9hZFRpbWlu
ZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFNlY3VyaXR5T3JpZ2lu
JikKICAgICA6IG1fdXJsKHVybCkKICAgICAsIG1faW5pdGlhdG9yKGluaXRpYXRvcikKICAgICAs
IG1fcmVzb3VyY2VMb2FkVGltaW5nKGxvYWRUaW1pbmcpCi0gICAgLCBtX2FsbG93VGltaW5nRGV0
YWlscyhwYXNzZXNUaW1pbmdBbGxvd0NoZWNrKHJlc3BvbnNlLCBzZWN1cml0eU9yaWdpbikpCiB7
CiAgICAgaW5pdFNlcnZlclRpbWluZyhyZXNwb25zZSk7CiB9CiAKLVJlc291cmNlVGltaW5nOjpS
ZXNvdXJjZVRpbWluZyhjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBpbml0aWF0b3IsIGNv
bnN0IFJlc291cmNlTG9hZFRpbWluZyYgdGltaW5nLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3Mm
IG5ldHdvcmtMb2FkTWV0cmljcywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNv
bnN0IFNlY3VyaXR5T3JpZ2luJiBzZWN1cml0eU9yaWdpbikKK1Jlc291cmNlVGltaW5nOjpSZXNv
dXJjZVRpbWluZyhjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBpbml0aWF0b3IsIGNvbnN0
IFJlc291cmNlTG9hZFRpbWluZyYgdGltaW5nLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG5l
dHdvcmtMb2FkTWV0cmljcywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0
IFNlY3VyaXR5T3JpZ2luJikKICAgICA6IG1fdXJsKHVybCkKICAgICAsIG1faW5pdGlhdG9yKGlu
aXRpYXRvcikKICAgICAsIG1fcmVzb3VyY2VMb2FkVGltaW5nKHRpbWluZykKICAgICAsIG1fbmV0
d29ya0xvYWRNZXRyaWNzKG5ldHdvcmtMb2FkTWV0cmljcykKLSAgICAsIG1fYWxsb3dUaW1pbmdE
ZXRhaWxzKHBhc3Nlc1RpbWluZ0FsbG93Q2hlY2socmVzcG9uc2UsIHNlY3VyaXR5T3JpZ2luKSkK
IHsKICAgICBpbml0U2VydmVyVGltaW5nKHJlc3BvbnNlKTsKIH0KIAogdm9pZCBSZXNvdXJjZVRp
bWluZzo6aW5pdFNlcnZlclRpbWluZyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkK
IHsKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXJ2
ZXJUaW1pbmdFbmFibGVkKCkgJiYgbV9hbGxvd1RpbWluZ0RldGFpbHMpCisgICAgaWYgKFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2VydmVyVGltaW5nRW5hYmxlZCgp
ICYmICFtX25ldHdvcmtMb2FkTWV0cmljcy5mYWlsc1RBT0NoZWNrKQogICAgICAgICBtX3NlcnZl
clRpbWluZyA9IFNlcnZlclRpbWluZ1BhcnNlcjo6cGFyc2VTZXJ2ZXJUaW1pbmcocmVzcG9uc2Uu
aHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpTZXJ2ZXJUaW1pbmcpKTsKIH0KIApAQCAt
MTExLDcgKzg3LDYgQEAgUmVzb3VyY2VUaW1pbmcgUmVzb3VyY2VUaW1pbmc6Omlzb2xhdGVkQ29w
eSgpIGNvbnN0CiAgICAgICAgIG1faW5pdGlhdG9yLmlzb2xhdGVkQ29weSgpLAogICAgICAgICBt
X3Jlc291cmNlTG9hZFRpbWluZy5pc29sYXRlZENvcHkoKSwKICAgICAgICAgbV9uZXR3b3JrTG9h
ZE1ldHJpY3MuaXNvbGF0ZWRDb3B5KCksCi0gICAgICAgIG1fYWxsb3dUaW1pbmdEZXRhaWxzLAog
ICAgICAgICBjcm9zc1RocmVhZENvcHkobV9zZXJ2ZXJUaW1pbmcpCiAgICAgKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZVRpbWluZy5oIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nLmgKaW5kZXggZDNiMmI5YjM5ODQ1ZjBhZDY3NjJj
MzI4ZTA2MjlkZWZmYmI4MjcyNi4uYWNiYWZiZDg1YmEyNWQ1NDkwYjE4YTVhN2NmNTYzYmRmMWZh
NjI0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nLmgKQEAgLTQ5LDcgKzQ5
LDYgQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgaW5pdGlhdG9yKCkgY29uc3QgeyByZXR1
cm4gbV9pbml0aWF0b3I7IH0KICAgICBjb25zdCBSZXNvdXJjZUxvYWRUaW1pbmcmIHJlc291cmNl
TG9hZFRpbWluZygpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb3VyY2VMb2FkVGltaW5nOyB9CiAgICAg
Y29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJiBuZXR3b3JrTG9hZE1ldHJpY3MoKSBjb25zdCB7IHJl
dHVybiBtX25ldHdvcmtMb2FkTWV0cmljczsgfQotICAgIGJvb2wgYWxsb3dUaW1pbmdEZXRhaWxz
KCkgY29uc3QgeyByZXR1cm4gbV9hbGxvd1RpbWluZ0RldGFpbHM7IH0KICAgICBWZWN0b3I8UmVm
PFBlcmZvcm1hbmNlU2VydmVyVGltaW5nPj4gcG9wdWxhdGVTZXJ2ZXJUaW1pbmcoKSBjb25zdDsK
ICAgICBSZXNvdXJjZVRpbWluZyBpc29sYXRlZENvcHkoKSBjb25zdDsKIApAQCAtNTgsMTIgKzU3
LDExIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgUmVzb3VyY2VUaW1pbmcoY29uc3QgVVJMJiwg
Y29uc3QgU3RyaW5nJiBpbml0aWF0b3IsIGNvbnN0IFJlc291cmNlTG9hZFRpbWluZyYsIGNvbnN0
IE5ldHdvcmtMb2FkTWV0cmljcyYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBTZWN1
cml0eU9yaWdpbiYpOwogICAgIFJlc291cmNlVGltaW5nKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmlu
ZyYgaW5pdGlhdG9yLCBjb25zdCBSZXNvdXJjZUxvYWRUaW1pbmcmLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiwgY29uc3QgU2VjdXJpdHlPcmlnaW4mKTsKLSAgICBSZXNvdXJjZVRpbWluZyhVUkwm
JiB1cmwsIFN0cmluZyYmIGluaXRpYXRvciwgY29uc3QgUmVzb3VyY2VMb2FkVGltaW5nJiByZXNv
dXJjZUxvYWRUaW1pbmcsIE5ldHdvcmtMb2FkTWV0cmljcyYmIG5ldHdvcmtMb2FkTWV0cmljcywg
Ym9vbCBhbGxvd1RpbWluZ0RldGFpbHMsIFZlY3RvcjxTZXJ2ZXJUaW1pbmc+JiYgc2VydmVyVGlt
aW5nKQorICAgIFJlc291cmNlVGltaW5nKFVSTCYmIHVybCwgU3RyaW5nJiYgaW5pdGlhdG9yLCBj
b25zdCBSZXNvdXJjZUxvYWRUaW1pbmcmIHJlc291cmNlTG9hZFRpbWluZywgTmV0d29ya0xvYWRN
ZXRyaWNzJiYgbmV0d29ya0xvYWRNZXRyaWNzLCBWZWN0b3I8U2VydmVyVGltaW5nPiYmIHNlcnZl
clRpbWluZykKICAgICAgICAgOiBtX3VybChXVEZNb3ZlKHVybCkpCiAgICAgICAgICwgbV9pbml0
aWF0b3IoV1RGTW92ZShpbml0aWF0b3IpKQogICAgICAgICAsIG1fcmVzb3VyY2VMb2FkVGltaW5n
KHJlc291cmNlTG9hZFRpbWluZykKICAgICAgICAgLCBtX25ldHdvcmtMb2FkTWV0cmljcyhXVEZN
b3ZlKG5ldHdvcmtMb2FkTWV0cmljcykpCi0gICAgICAgICwgbV9hbGxvd1RpbWluZ0RldGFpbHMo
YWxsb3dUaW1pbmdEZXRhaWxzKQogICAgICAgICAsIG1fc2VydmVyVGltaW5nKFdURk1vdmUoc2Vy
dmVyVGltaW5nKSkKICAgICB7CiAgICAgfQpAQCAtNzMsNyArNzEsNiBAQCBwcml2YXRlOgogICAg
IFN0cmluZyBtX2luaXRpYXRvcjsKICAgICBSZXNvdXJjZUxvYWRUaW1pbmcgbV9yZXNvdXJjZUxv
YWRUaW1pbmc7CiAgICAgTmV0d29ya0xvYWRNZXRyaWNzIG1fbmV0d29ya0xvYWRNZXRyaWNzOwot
ICAgIGJvb2wgbV9hbGxvd1RpbWluZ0RldGFpbHMgeyBmYWxzZSB9OwogICAgIFZlY3RvcjxTZXJ2
ZXJUaW1pbmc+IG1fc2VydmVyVGltaW5nOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwCmluZGV4IDBjYzczZmRmODYzYzQyMWM1ZGFhZGEyZjI1
YmNhMjU0YThlOTZlOGEuLjM0YmY5NzdkNjA0ZTUyMGNiNzkxNzM3MTI2ODMwMjI5OTBkNDkzYjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAKQEAg
LTc4LDcgKzc4LDcgQEAgdW5zaWduZWQgc2hvcnQgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpyZWRp
cmVjdENvdW50KCkgY29uc3QKICAgICBpZiAoIW1ldHJpY3MpCiAgICAgICAgIHJldHVybiAwOwog
Ci0gICAgaWYgKG1ldHJpY3MtPmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QpCisgICAgaWYgKG1ldHJp
Y3MtPmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgcmV0dXJuIG1ldHJp
Y3MtPnJlZGlyZWN0Q291bnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlTmF2aWdhdGlvblRpbWluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlTmF2aWdhdGlvblRpbWluZy5jcHAKaW5kZXggNjhkMmNjNzU4YzNmMTU0YWZhYTFiYWYyMmY1
ZTRkMzA3OGY0NzM1OS4uMjNjN2YzMWE3NTEyNDk4NzY0NmMxZjQ4YmRkNmNlMTU3ZGE3N2IzMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1p
bmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGlt
aW5nLmNwcApAQCAtNjgsOCArNjgsNyBAQCBkb3VibGUgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGlt
aW5nOjptaWxsaXNlY29uZHNTaW5jZU9yaWdpbihNb25vdG9uaWNUaW1lIHRpbWUpCiBib29sIFBl
cmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZzo6c2FtZU9yaWdpbkNoZWNrRmFpbHMoKSBjb25zdAog
ewogICAgIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy0yLyNkZm4t
c2FtZS1vcmlnaW4tY2hlY2sKLSAgICByZXR1cm4gIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1p
bmdEZXRhaWxzKCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJp
Y3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0CisgICAgcmV0dXJuIG1fcmVzb3VyY2VUaW1pbmcu
bmV0d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdAogICAgICAgICB8fCAh
bV9kb2N1bWVudExvYWRUaW1pbmcuaGFzU2FtZU9yaWdpbkFzUHJldmlvdXNEb2N1bWVudCgpOwog
fQogCkBAIC0xMjQsOSArMTIzLDYgQEAgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nOjpOYXZp
Z2F0aW9uVHlwZSBQZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmc6OnR5cGUoKQogCiB1bnNpZ25l
ZCBzaG9ydCBQZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmc6OnJlZGlyZWN0Q291bnQoKSBjb25z
dAogewotICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5hbGxvd1RpbWluZ0RldGFpbHMoKSkKLSAg
ICAgICAgcmV0dXJuIDA7Ci0KICAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1l
dHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQogICAgICAgICByZXR1cm4gMDsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAKaW5k
ZXggNTliMWFlNmZjY2U3NGRjNzFhODhjZWI1ZGFiNTcwZmE4ZjRhZTcyMi4uNmVkOWFmNDIyOWMy
NGUxMTE0ZjEwNDNhZDI5MmQzYWYwMThmYWM5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwCkBAIC02NCw4ICs2NCw3IEBAIHN0YXRp
YyBkb3VibGUgZmV0Y2hTdGFydChNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFJlc291
cmNlVGltaW5nJiByZXNvdXJjCiAKIHN0YXRpYyBkb3VibGUgZW50cnlTdGFydFRpbWUoTW9ub3Rv
bmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZXNvdXJjZVRpbWluZyYgcmVzb3VyY2VUaW1pbmcp
CiB7Ci0gICAgaWYgKCFyZXNvdXJjZVRpbWluZy5hbGxvd1RpbWluZ0RldGFpbHMoKQotICAgICAg
ICB8fCByZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJl
ZGlyZWN0CisgICAgaWYgKHJlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxz
VEFPQ2hlY2sKICAgICAgICAgfHwgIXJlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygp
LnJlZGlyZWN0Q291bnQpCiAgICAgICAgIHJldHVybiBmZXRjaFN0YXJ0KHRpbWVPcmlnaW4sIHJl
c291cmNlVGltaW5nKTsKIApAQCAtNzcsOSArNzYsNiBAQCBzdGF0aWMgZG91YmxlIGVudHJ5U3Rh
cnRUaW1lKE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgY29uc3QgUmVzb3VyY2VUaW1pbmcmIHJl
cwogCiBzdGF0aWMgZG91YmxlIGVudHJ5RW5kVGltZShNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4s
IGNvbnN0IFJlc291cmNlVGltaW5nJiByZXNvdXJjZVRpbWluZykKIHsKLSAgICBpZiAoIXJlc291
cmNlVGltaW5nLmFsbG93VGltaW5nRGV0YWlscygpKQotICAgICAgICByZXR1cm4gZW50cnlTdGFy
dFRpbWUodGltZU9yaWdpbiwgcmVzb3VyY2VUaW1pbmcpOwotCiAgICAgaWYgKHJlc291cmNlVGlt
aW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlc3BvbnNlRW5kKQogICAgICAgICByZXR1cm4gbmV0
d29ya0xvYWRUaW1lVG9ET01IaWdoUmVzVGltZVN0YW1wKHRpbWVPcmlnaW4sIHJlc291cmNlVGlt
aW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlc3BvbnNlRW5kKTsKIApAQCAtMTE0LDggKzExMCw3
IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjp3b3JrZXJTdGFydCgpIGNvbnN0
CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0KCkgY29u
c3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAg
ICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09y
aWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmlj
cygpLmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwLjA7CiAKICAgICBpZiAoIW1fcmVz
b3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkucmVkaXJlY3RDb3VudCkKQEAgLTEyNiw4
ICsxMjEsNyBAQCBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVkaXJlY3RTdGFy
dCgpIGNvbnN0CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZWRpcmVjdEVu
ZCgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3Jlc291cmNlVGltaW5nLmFsbG93VGltaW5nRGV0YWls
cygpCi0gICAgICAgIHx8IG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuaGFz
Q3Jvc3NPcmlnaW5SZWRpcmVjdCkKKyAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9h
ZE1ldHJpY3MoKS5mYWlsc1RBT0NoZWNrKQogICAgICAgICByZXR1cm4gMC4wOwogCiAgICAgaWYg
KCFtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlZGlyZWN0Q291bnQpCkBA
IC0xNDUsOCArMTM5LDcgQEAgZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmZldGNo
U3RhcnQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZG9tYWlu
TG9va3VwU3RhcnQoKSBjb25zdAogewotICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5hbGxvd1Rp
bWluZ0RldGFpbHMoKQotICAgICAgICB8fCBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0
cmljcygpLmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QpCisgICAgaWYgKG1fcmVzb3VyY2VUaW1pbmcu
bmV0d29ya0xvYWRNZXRyaWNzKCkuZmFpbHNUQU9DaGVjaykKICAgICAgICAgcmV0dXJuIDAuMDsK
IAogICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5kb21haW5M
b29rdXBTdGFydCkKQEAgLTE1Nyw4ICsxNTAsNyBAQCBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZzo6ZG9tYWluTG9va3VwU3RhcnQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZzo6ZG9tYWluTG9va3VwRW5kKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcmVz
b3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRp
bWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQorICAgIGlm
IChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxzVEFPQ2hlY2spCiAg
ICAgICAgIHJldHVybiAwLjA7CiAKICAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xv
YWRNZXRyaWNzKCkuZG9tYWluTG9va3VwRW5kKQpAQCAtMTY5LDggKzE2MSw3IEBAIGRvdWJsZSBQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29rdXBFbmQoKSBjb25zdAogCiBkb3Vi
bGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdFN0YXJ0KCkgY29uc3QKIHsKLSAg
ICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwg
bV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGly
ZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxz
VEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwLjA7CiAKICAgICBpZiAoIW1fcmVzb3VyY2VUaW1p
bmcubmV0d29ya0xvYWRNZXRyaWNzKCkuY29ubmVjdFN0YXJ0KQpAQCAtMTgxLDggKzE3Miw3IEBA
IGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjb25uZWN0U3RhcnQoKSBjb25zdAog
CiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdEVuZCgpIGNvbnN0CiB7
Ci0gICAgaWYgKCFtX3Jlc291cmNlVGltaW5nLmFsbG93VGltaW5nRGV0YWlscygpCi0gICAgICAg
IHx8IG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5S
ZWRpcmVjdCkKKyAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5m
YWlsc1RBT0NoZWNrKQogICAgICAgICByZXR1cm4gMC4wOwogCiAgICAgaWYgKCFtX3Jlc291cmNl
VGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmNvbm5lY3RFbmQpCkBAIC0xOTMsOCArMTgzLDcg
QEAgZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RFbmQoKSBjb25zdAog
CiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6c2VjdXJlQ29ubmVjdGlvblN0YXJ0
KCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxz
KCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXND
cm9zc09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2Fk
TWV0cmljcygpLmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwLjA7CiAKICAgICBpZiAo
bV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5zZWN1cmVDb25uZWN0aW9uU3Rh
cnQgPT0gcmV1c2VkVExTQ29ubmVjdGlvblNlbnRpbmVsKQpAQCAtMjA4LDggKzE5Nyw3IEBAIGRv
dWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpzZWN1cmVDb25uZWN0aW9uU3RhcnQoKSBj
b25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVxdWVzdFN0YXJ0KCkg
Y29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkK
LSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9z
c09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0
cmljcygpLmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwLjA7CiAKICAgICAvLyByZXF1
ZXN0U3RhcnQgaXMgMCB3aGVuIGEgbmV0d29yayByZXF1ZXN0IGlzIG5vdCBtYWRlLgpAQCAtMjIx
LDggKzIwOSw3IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXF1ZXN0U3Rh
cnQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVzcG9uc2VT
dGFydCgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3Jlc291cmNlVGltaW5nLmFsbG93VGltaW5nRGV0
YWlscygpCi0gICAgICAgIHx8IG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCku
aGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKKyAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3b3Jr
TG9hZE1ldHJpY3MoKS5mYWlsc1RBT0NoZWNrKQogICAgICAgICByZXR1cm4gMC4wOwogCiAgICAg
Ly8gcmVzcG9uc2VTdGFydCBpcyAwIHdoZW4gYSBuZXR3b3JrIHJlcXVlc3QgaXMgbm90IG1hZGUu
CkBAIC0yNTgsOCArMjQ1LDcgQEAgZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJl
c3BvbnNlRW5kKCkgY29uc3QKIAogdWludDY0X3QgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6
dHJhbnNmZXJTaXplKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dU
aW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1l
dHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5n
Lm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwOwog
CiAgICAgYXV0byBlbmNvZGVkQm9keVNpemUgPSBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2Fk
TWV0cmljcygpLnJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQ7CkBAIC0yNzIsOCArMjU4LDcgQEAg
dWludDY0X3QgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6dHJhbnNmZXJTaXplKCkgY29uc3QK
IAogdWludDY0X3QgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZW5jb2RlZEJvZHlTaXplKCkg
Y29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkK
LSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9z
c09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0
cmljcygpLmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgYXV0byBlbmNv
ZGVkQm9keVNpemUgPSBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlc3Bv
bnNlQm9keUJ5dGVzUmVjZWl2ZWQ7CkBAIC0yODUsOCArMjcwLDcgQEAgdWludDY0X3QgUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZzo6ZW5jb2RlZEJvZHlTaXplKCkgY29uc3QKIAogdWludDY0X3Qg
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZGVjb2RlZEJvZHlTaXplKCkgY29uc3QKIHsKLSAg
ICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwg
bV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGly
ZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxz
VEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgYXV0byBkZWNvZGVkQm9keVNpemUg
PSBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlc3BvbnNlQm9keURlY29k
ZWRTaXplOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVRpbWlu
Zy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmNwcAppbmRleCA3
YzQyNjVhNTc0OTliM2RkYmFlMTU3NWIyOTA1ZmU3NTFlNDI4MjRjLi43YWYyMGQ3ZmQ1NTk1NWM2
ODJmOGVjOWFiNTFlMDhhMzBmMTFjY2M4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlVGltaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlVGltaW5nLmNwcApAQCAtNjcsNyArNjcsNyBAQCB1bnNpZ25lZCBsb25nIGxvbmcgUGVyZm9y
bWFuY2VUaW1pbmc6OnVubG9hZEV2ZW50U3RhcnQoKSBjb25zdAogICAgIGlmICghbWV0cmljcykK
ICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBpZiAobWV0cmljcy0+aGFzQ3Jvc3NPcmlnaW5SZWRp
cmVjdCB8fCAhdGltaW5nLT5oYXNTYW1lT3JpZ2luQXNQcmV2aW91c0RvY3VtZW50KCkpCisgICAg
aWYgKG1ldHJpY3MtPmZhaWxzVEFPQ2hlY2sgfHwgIXRpbWluZy0+aGFzU2FtZU9yaWdpbkFzUHJl
dmlvdXNEb2N1bWVudCgpKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIHJldHVybiBtb25vdG9u
aWNUaW1lVG9JbnRlZ2VyTWlsbGlzZWNvbmRzKHRpbWluZy0+dW5sb2FkRXZlbnRTdGFydCgpKTsK
QEAgLTgzLDcgKzgzLDcgQEAgdW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjp1
bmxvYWRFdmVudEVuZCgpIGNvbnN0CiAgICAgaWYgKCFtZXRyaWNzKQogICAgICAgICByZXR1cm4g
MDsKIAotICAgIGlmIChtZXRyaWNzLT5oYXNDcm9zc09yaWdpblJlZGlyZWN0IHx8ICF0aW1pbmct
Pmhhc1NhbWVPcmlnaW5Bc1ByZXZpb3VzRG9jdW1lbnQoKSkKKyAgICBpZiAobWV0cmljcy0+ZmFp
bHNUQU9DaGVjayB8fCAhdGltaW5nLT5oYXNTYW1lT3JpZ2luQXNQcmV2aW91c0RvY3VtZW50KCkp
CiAgICAgICAgIHJldHVybiAwOwogCiAgICAgcmV0dXJuIG1vbm90b25pY1RpbWVUb0ludGVnZXJN
aWxsaXNlY29uZHModGltaW5nLT51bmxvYWRFdmVudEVuZCgpKTsKQEAgLTkzLDcgKzkzLDcgQEAg
dW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0KCkgY29u
c3QKIHsKICAgICBhdXRvKiBtZXRyaWNzID0gbmV0d29ya0xvYWRNZXRyaWNzKCk7CiAgICAgaWYg
KCFtZXRyaWNzCi0gICAgICAgIHx8IG1ldHJpY3MtPmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QKKyAg
ICAgICAgfHwgbWV0cmljcy0+ZmFpbHNUQU9DaGVjawogICAgICAgICB8fCAhbWV0cmljcy0+cmVk
aXJlY3RDb3VudCkKICAgICAgICAgcmV0dXJuIDA7CiAKQEAgLTEwNCw3ICsxMDQsNyBAQCB1bnNp
Z25lZCBsb25nIGxvbmcgUGVyZm9ybWFuY2VUaW1pbmc6OnJlZGlyZWN0RW5kKCkgY29uc3QKIHsK
ICAgICBhdXRvKiBtZXRyaWNzID0gbmV0d29ya0xvYWRNZXRyaWNzKCk7CiAgICAgaWYgKCFtZXRy
aWNzCi0gICAgICAgIHx8IG1ldHJpY3MtPmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QKKyAgICAgICAg
fHwgbWV0cmljcy0+ZmFpbHNUQU9DaGVjawogICAgICAgICB8fCAhbWV0cmljcy0+cmVkaXJlY3RD
b3VudCkKICAgICAgICAgcmV0dXJuIDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmNwcAppbmRleCA5MTY4N2UwOTU5ODRj
ZGY2MTBiYTU0NWNlZGM2NTc1NzEyNjMxZmZjLi5jZDg2NjVjYmI3NWRhMzkzZTkwY2MwMjFkYmY5
NTZhNzU0NjM3MjNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L0Jsb2JSZXNvdXJjZUhhbmRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9CbG9iUmVzb3VyY2VIYW5kbGUuY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAi
UmVzb3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNp
bmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIK
ICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRs
ZXIuaD4KICNpbmNsdWRlIDx3dGYvRmlsZVN5c3RlbS5oPgpAQCAtMTU0LDcgKzE1NSw3IEBAIHZv
aWQgQmxvYlJlc291cmNlSGFuZGxlOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KEJsb2JEYXRh
KiBibG9iRGF0YSwgY29uc3QgUmVzCiB9CiAKIEJsb2JSZXNvdXJjZUhhbmRsZTo6QmxvYlJlc291
cmNlSGFuZGxlKEJsb2JEYXRhKiBibG9iRGF0YSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1
ZXN0LCBSZXNvdXJjZUhhbmRsZUNsaWVudCogY2xpZW50LCBib29sIGFzeW5jKQotICAgIDogUmVz
b3VyY2VIYW5kbGUgeyBudWxscHRyLCByZXF1ZXN0LCBjbGllbnQsIGZhbHNlIC8qIGRlZmVyc0xv
YWRpbmcgKi8sIGZhbHNlIC8qIHNob3VsZENvbnRlbnRTbmlmZiAqLywgdHJ1ZSAvKiBzaG91bGRD
b250ZW50RW5jb2RpbmdTbmlmZiAqLyB9CisgICAgOiBSZXNvdXJjZUhhbmRsZSB7IG51bGxwdHIs
IHJlcXVlc3QsIGNsaWVudCwgZmFsc2UgLyogZGVmZXJzTG9hZGluZyAqLywgZmFsc2UgLyogc2hv
dWxkQ29udGVudFNuaWZmICovLCB0cnVlIC8qIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmICov
LCBudWxscHRyIC8qIHNvdXJjZU9yaWdpbiAqLywgZmFsc2UgLyogaXNNYWluRnJhbWVOYXZpZ2F0
aW9uICovIH0KICAgICAsIG1fYmxvYkRhdGEgeyBibG9iRGF0YSB9CiAgICAgLCBtX2FzeW5jIHsg
YXN5bmMgfQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9O
ZXR3b3JrTG9hZE1ldHJpY3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0
d29ya0xvYWRNZXRyaWNzLmgKaW5kZXggN2ZhNjUyOTUwYjNhZDc4MTlmNWY0MzNhMzA2OTkxZTg4
ODI0YTE2YS4uNWY4YzAxYTdjMDJmODA5MjJiYWYyNDYyY2E2YWUwNmE2MGIzN2E2NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrTG9hZE1ldHJpY3Mu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtMb2FkTWV0cmlj
cy5oCkBAIC05NSw2ICs5NSw3IEBAIHB1YmxpYzoKICAgICBib29sIGNvbnN0cmFpbmVkIHsgZmFs
c2UgfTsKICAgICBib29sIG11bHRpcGF0aCB7IGZhbHNlIH07CiAgICAgYm9vbCBpc1JldXNlZENv
bm5lY3Rpb24geyBmYWxzZSB9OworICAgIGJvb2wgZmFpbHNUQU9DaGVjayB7IGZhbHNlIH07CiAg
ICAgYm9vbCBoYXNDcm9zc09yaWdpblJlZGlyZWN0IHsgZmFsc2UgfTsKIH07CiAKQEAgLTEyOCw2
ICsxMjksNyBAQCBwdWJsaWM6CiAgICAgICAgIGNvcHkuY29uc3RyYWluZWQgPSBjb25zdHJhaW5l
ZDsKICAgICAgICAgY29weS5tdWx0aXBhdGggPSBtdWx0aXBhdGg7CiAgICAgICAgIGNvcHkuaXNS
ZXVzZWRDb25uZWN0aW9uID0gaXNSZXVzZWRDb25uZWN0aW9uOworICAgICAgICBjb3B5LmZhaWxz
VEFPQ2hlY2sgPSBmYWlsc1RBT0NoZWNrOwogICAgICAgICBjb3B5Lmhhc0Nyb3NzT3JpZ2luUmVk
aXJlY3QgPSBoYXNDcm9zc09yaWdpblJlZGlyZWN0OwogCiAgICAgICAgIGNvcHkucmVtb3RlQWRk
cmVzcyA9IHJlbW90ZUFkZHJlc3MuaXNvbGF0ZWRDb3B5KCk7CkBAIC0xNjUsNiArMTY3LDcgQEAg
cHVibGljOgogICAgICAgICAgICAgJiYgY29uc3RyYWluZWQgPT0gb3RoZXIuY29uc3RyYWluZWQK
ICAgICAgICAgICAgICYmIG11bHRpcGF0aCA9PSBvdGhlci5tdWx0aXBhdGgKICAgICAgICAgICAg
ICYmIGlzUmV1c2VkQ29ubmVjdGlvbiA9PSBvdGhlci5pc1JldXNlZENvbm5lY3Rpb24KKyAgICAg
ICAgICAgICYmIGZhaWxzVEFPQ2hlY2sgPT0gb3RoZXIuZmFpbHNUQU9DaGVjawogICAgICAgICAg
ICAgJiYgaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCA9PSBvdGhlci5oYXNDcm9zc09yaWdpblJlZGly
ZWN0CiAgICAgICAgICAgICAmJiBwcm90b2NvbCA9PSBvdGhlci5wcm90b2NvbAogICAgICAgICAg
ICAgJiYgcmVkaXJlY3RDb3VudCA9PSBvdGhlci5yZWRpcmVjdENvdW50CkBAIC0yMTAsNyArMjEz
LDcgQEAgcHVibGljOgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiBCb3g8TmV0d29ya0xvYWRNZXRy
aWNzPiBjb3B5VGltaW5nRGF0YShOU1VSTENvbm5lY3Rpb24gKiwgY29uc3QgUmVzb3VyY2VIYW5k
bGUmKTsKLVdFQkNPUkVfRVhQT1JUIEJveDxOZXR3b3JrTG9hZE1ldHJpY3M+IGNvcHlUaW1pbmdE
YXRhKE5TVVJMU2Vzc2lvblRhc2tNZXRyaWNzICppbmNvbXBsZXRlTWV0cmljcywgYm9vbCBoYXND
cm9zc09yaWdpblJlZGlyZWN0KTsKK1dFQkNPUkVfRVhQT1JUIEJveDxOZXR3b3JrTG9hZE1ldHJp
Y3M+IGNvcHlUaW1pbmdEYXRhKE5TVVJMU2Vzc2lvblRhc2tNZXRyaWNzICppbmNvbXBsZXRlTWV0
cmljcywgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJik7CiAjZW5kaWYKIAogdGVtcGxhdGU8Y2xh
c3MgRW5jb2Rlcj4KQEAgLTIzNCw2ICsyMzcsNyBAQCB2b2lkIE5ldHdvcmtMb2FkTWV0cmljczo6
ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBjb25zdHJhaW5l
ZDsKICAgICBlbmNvZGVyIDw8IG11bHRpcGF0aDsKICAgICBlbmNvZGVyIDw8IGlzUmV1c2VkQ29u
bmVjdGlvbjsKKyAgICBlbmNvZGVyIDw8IGZhaWxzVEFPQ2hlY2s7CiAgICAgZW5jb2RlciA8PCBo
YXNDcm9zc09yaWdpblJlZGlyZWN0OwogICAgIGVuY29kZXIgPDwgcHJvdG9jb2w7CiAgICAgZW5j
b2RlciA8PCByZWRpcmVjdENvdW50OwpAQCAtMjcyLDYgKzI3Niw3IEBAIGJvb2wgTmV0d29ya0xv
YWRNZXRyaWNzOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgTmV0d29ya0xvYWRNZXRyaWNzJiBt
ZXRyaWNzKQogICAgICAgICAmJiBkZWNvZGVyLmRlY29kZShtZXRyaWNzLmNvbnN0cmFpbmVkKQog
ICAgICAgICAmJiBkZWNvZGVyLmRlY29kZShtZXRyaWNzLm11bHRpcGF0aCkKICAgICAgICAgJiYg
ZGVjb2Rlci5kZWNvZGUobWV0cmljcy5pc1JldXNlZENvbm5lY3Rpb24pCisgICAgICAgICYmIGRl
Y29kZXIuZGVjb2RlKG1ldHJpY3MuZmFpbHNUQU9DaGVjaykKICAgICAgICAgJiYgZGVjb2Rlci5k
ZWNvZGUobWV0cmljcy5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQogICAgICAgICAmJiBkZWNvZGVy
LmRlY29kZShtZXRyaWNzLnByb3RvY29sKQogICAgICAgICAmJiBkZWNvZGVyLmRlY29kZShtZXRy
aWNzLnJlZGlyZWN0Q291bnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VIYW5kbGUuY3BwCmluZGV4IDBkN2E3M2QxYTMyZWRlMmRmNjgzMDFhMjVjZjEx
ZjU3ZjViYTZhMTYuLjg2MjFhOGMzYWJmYzllOTJkYjI1NzdiYzNkMTU5MWIzNTc2MmU2MWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUu
Y3BwCkBAIC0zMSw3ICszMSw5IEBACiAjaW5jbHVkZSAiTmV0d29ya2luZ0NvbnRleHQuaCIKICNp
bmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50
LmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJUaW1lci5oIgorI2lu
Y2x1ZGUgIlRpbWluZ0FsbG93T3JpZ2luLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1
ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+
CkBAIC03NSw4ICs3Nyw4IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnJlZ2lzdGVyQnVpbHRpblN5
bmNocm9ub3VzTG9hZGVyKGNvbnN0IEF0b21TdHJpbmcmIHByb3RvY29sCiAgICAgYnVpbHRpblJl
c291cmNlSGFuZGxlU3luY2hyb25vdXNMb2FkZXJNYXAoKS5hZGQocHJvdG9jb2wsIGxvYWRlcik7
CiB9CiAKLVJlc291cmNlSGFuZGxlOjpSZXNvdXJjZUhhbmRsZShOZXR3b3JraW5nQ29udGV4dCog
Y29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUhhbmRsZUNs
aWVudCogY2xpZW50LCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVudFNuaWZm
LCBib29sIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKQotICAgIDogZChtYWtlVW5pcXVlPFJl
c291cmNlSGFuZGxlSW50ZXJuYWw+KHRoaXMsIGNvbnRleHQsIHJlcXVlc3QsIGNsaWVudCwgZGVm
ZXJzTG9hZGluZywgc2hvdWxkQ29udGVudFNuaWZmICYmIHNob3VsZENvbnRlbnRTbmlmZlVSTChy
ZXF1ZXN0LnVybCgpKSwgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYpKQorUmVzb3VyY2VIYW5k
bGU6OlJlc291cmNlSGFuZGxlKE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQsIGJvb2wg
ZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVu
dEVuY29kaW5nU25pZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBzb3VyY2VPcmlnaW4sIGJv
b2wgaXNNYWluRnJhbWVOYXZpZ2F0aW9uKQorICAgIDogZChtYWtlVW5pcXVlPFJlc291cmNlSGFu
ZGxlSW50ZXJuYWw+KHRoaXMsIGNvbnRleHQsIHJlcXVlc3QsIGNsaWVudCwgZGVmZXJzTG9hZGlu
Zywgc2hvdWxkQ29udGVudFNuaWZmICYmIHNob3VsZENvbnRlbnRTbmlmZlVSTChyZXF1ZXN0LnVy
bCgpKSwgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYsIFdURk1vdmUoc291cmNlT3JpZ2luKSwg
aXNNYWluRnJhbWVOYXZpZ2F0aW9uKSkKIHsKICAgICBpZiAoIXJlcXVlc3QudXJsKCkuaXNWYWxp
ZCgpKSB7CiAgICAgICAgIHNjaGVkdWxlRmFpbHVyZShJbnZhbGlkVVJMRmFpbHVyZSk7CkBAIC04
OSwxMiArOTEsMTIgQEAgUmVzb3VyY2VIYW5kbGU6OlJlc291cmNlSGFuZGxlKE5ldHdvcmtpbmdD
b250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QKICAgICB9CiB9CiAKLVJlZlB0
cjxSZXNvdXJjZUhhbmRsZT4gUmVzb3VyY2VIYW5kbGU6OmNyZWF0ZShOZXR3b3JraW5nQ29udGV4
dCogY29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUhhbmRs
ZUNsaWVudCogY2xpZW50LCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVudFNu
aWZmLCBib29sIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKQorUmVmUHRyPFJlc291cmNlSGFu
ZGxlPiBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlKE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGll
bnQsIGJvb2wgZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hv
dWxkQ29udGVudEVuY29kaW5nU25pZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBzb3VyY2VP
cmlnaW4sIGJvb2wgaXNNYWluRnJhbWVOYXZpZ2F0aW9uKQogewogICAgIGlmIChhdXRvIGNvbnN0
cnVjdG9yID0gYnVpbHRpblJlc291cmNlSGFuZGxlQ29uc3RydWN0b3JNYXAoKS5nZXQocmVxdWVz
dC51cmwoKS5wcm90b2NvbCgpLnRvU3RyaW5nV2l0aG91dENvcHlpbmcoKSkpCiAgICAgICAgIHJl
dHVybiBjb25zdHJ1Y3RvcihyZXF1ZXN0LCBjbGllbnQpOwogCi0gICAgYXV0byBuZXdIYW5kbGUg
PSBhZG9wdFJlZigqbmV3IFJlc291cmNlSGFuZGxlKGNvbnRleHQsIHJlcXVlc3QsIGNsaWVudCwg
ZGVmZXJzTG9hZGluZywgc2hvdWxkQ29udGVudFNuaWZmLCBzaG91bGRDb250ZW50RW5jb2RpbmdT
bmlmZikpOworICAgIGF1dG8gbmV3SGFuZGxlID0gYWRvcHRSZWYoKm5ldyBSZXNvdXJjZUhhbmRs
ZShjb250ZXh0LCByZXF1ZXN0LCBjbGllbnQsIGRlZmVyc0xvYWRpbmcsIHNob3VsZENvbnRlbnRT
bmlmZiwgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYsIFdURk1vdmUoc291cmNlT3JpZ2luKSwg
aXNNYWluRnJhbWVOYXZpZ2F0aW9uKSk7CiAKICAgICBpZiAobmV3SGFuZGxlLT5kLT5tX3NjaGVk
dWxlZEZhaWx1cmVUeXBlICE9IE5vRmFpbHVyZSkKICAgICAgICAgcmV0dXJuIG5ld0hhbmRsZTsK
QEAgLTEzMywxNCArMTM1LDE0IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmZhaWx1cmVUaW1lckZp
cmVkKCkKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAotdm9pZCBSZXNvdXJjZUhhbmRs
ZTo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSBz
dG9yZWRDcmVkZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYgZXJyb3IsIFJlc291cmNlUmVz
cG9uc2UmIHJlc3BvbnNlLCBWZWN0b3I8dWludDhfdD4mIGRhdGEpCit2b2lkIFJlc291cmNlSGFu
ZGxlOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0
LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFN0b3JlZENyZWRlbnRpYWxzUG9saWN5
IHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBTZWN1cml0eU9yaWdpbiogc291cmNlT3JpZ2luLCBS
ZXNvdXJjZUVycm9yJiBlcnJvciwgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFZlY3Rvcjx1
aW50OF90PiYgZGF0YSkKIHsKICAgICBpZiAoYXV0byBjb25zdHJ1Y3RvciA9IGJ1aWx0aW5SZXNv
dXJjZUhhbmRsZVN5bmNocm9ub3VzTG9hZGVyTWFwKCkuZ2V0KHJlcXVlc3QudXJsKCkucHJvdG9j
b2woKS50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCkpKSB7CiAgICAgICAgIGNvbnN0cnVjdG9yKGNv
bnRleHQsIHJlcXVlc3QsIHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBlcnJvciwgcmVzcG9uc2Us
IGRhdGEpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgcGxhdGZvcm1Mb2FkUmVzb3Vy
Y2VTeW5jaHJvbm91c2x5KGNvbnRleHQsIHJlcXVlc3QsIHN0b3JlZENyZWRlbnRpYWxzUG9saWN5
LCBlcnJvciwgcmVzcG9uc2UsIGRhdGEpOworICAgIHBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hy
b25vdXNseShjb250ZXh0LCByZXF1ZXN0LCBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgc291cmNl
T3JpZ2luLCBlcnJvciwgcmVzcG9uc2UsIGRhdGEpOwogfQogCiBSZXNvdXJjZUhhbmRsZUNsaWVu
dCogUmVzb3VyY2VIYW5kbGU6OmNsaWVudCgpIGNvbnN0CkBAIC0yMDQsMTQgKzIwNiwzNCBAQCB2
b2lkIFJlc291cmNlSGFuZGxlOjpjbGVhckF1dGhlbnRpY2F0aW9uKCkKICAgICBkLT5tX2N1cnJl
bnRXZWJDaGFsbGVuZ2UubnVsbGlmeSgpOwogfQogCitib29sIFJlc291cmNlSGFuZGxlOjpmYWls
c1RBT0NoZWNrKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZC0+bV9mYWlsc1RBT0NoZWNrOworfQor
Cit2b2lkIFJlc291cmNlSGFuZGxlOjpjaGVja1RBTyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBy
ZXNwb25zZSkKK3sKKyAgICBpZiAoZC0+bV9mYWlsc1RBT0NoZWNrKQorICAgICAgICByZXR1cm47
CisKKyAgICBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IG9yaWdpbjsKKyAgICBpZiAoZC0+bV9pc01h
aW5GcmFtZU5hdmlnYXRpb24pCisgICAgICAgIG9yaWdpbiA9IFNlY3VyaXR5T3JpZ2luOjpjcmVh
dGUoZmlyc3RSZXF1ZXN0KCkudXJsKCkpOworICAgIGVsc2UKKyAgICAgICAgb3JpZ2luID0gZC0+
bV9zb3VyY2VPcmlnaW47CisKKyAgICBpZiAob3JpZ2luKQorICAgICAgICBkLT5tX2ZhaWxzVEFP
Q2hlY2sgPSAhcGFzc2VzVGltaW5nQWxsb3dPcmlnaW5DaGVjayhyZXNwb25zZSwgKm9yaWdpbik7
Cit9CisKIGJvb2wgUmVzb3VyY2VIYW5kbGU6Omhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QoKSBjb25z
dAogewogICAgIHJldHVybiBkLT5tX2hhc0Nyb3NzT3JpZ2luUmVkaXJlY3Q7CiB9CiAKLXZvaWQg
UmVzb3VyY2VIYW5kbGU6OnNldEhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QoYm9vbCB2YWx1ZSkKK3Zv
aWQgUmVzb3VyY2VIYW5kbGU6Om1hcmtBc0hhdmluZ0Nyb3NzT3JpZ2luUmVkaXJlY3QoKQogewot
ICAgIGQtPm1faGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCA9IHZhbHVlOworICAgIGQtPm1faGFzQ3Jv
c3NPcmlnaW5SZWRpcmVjdCA9IHRydWU7CiB9CiAKIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmluY3Jl
bWVudFJlZGlyZWN0Q291bnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZUhhbmRsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZUhhbmRsZS5oCmluZGV4IGZmZDg4NTQ3ZTYwNmJmOGMwZWI1MmFmOGJiOGE5MjBj
YTYxYjE3OWQuLmZhZmRmZTg3YzgzN2U2MTU3ZDJmMTNlOWE3Y2EwMDk2OWQ1MGIxYzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgKQEAg
LTgzLDYgKzgzLDcgQEAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbDsKIGNsYXNzIE5ldHdv
cmtMb2FkTWV0cmljczsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIGNsYXNzIFJlc291cmNlUmVz
cG9uc2U7CitjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIGNsYXNz
IFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlOwogY2xhc3MgVGltZXI7CkBAIC05NCw4ICs5
NSw4IEBAIGNsYXNzIEN1cmxSZXNvdXJjZUhhbmRsZURlbGVnYXRlOwogCiBjbGFzcyBSZXNvdXJj
ZUhhbmRsZSA6IHB1YmxpYyBSZWZDb3VudGVkPFJlc291cmNlSGFuZGxlPiwgcHVibGljIEF1dGhl
bnRpY2F0aW9uQ2xpZW50IHsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVm
UHRyPFJlc291cmNlSGFuZGxlPiBjcmVhdGUoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmLCBSZXNvdXJjZUhhbmRsZUNsaWVudCosIGJvb2wgZGVmZXJzTG9hZGluZywg
Ym9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYp
OwotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3Vz
bHkoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBTdG9yZWRDcmVk
ZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVzcG9uc2UmLCBWZWN0b3I8
dWludDhfdD4mIGRhdGEpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWZQdHI8UmVzb3Vy
Y2VIYW5kbGU+IGNyZWF0ZShOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFJlc291cmNlUmVxdWVz
dCYsIFJlc291cmNlSGFuZGxlQ2xpZW50KiwgYm9vbCBkZWZlcnNMb2FkaW5nLCBib29sIHNob3Vs
ZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwgUmVmUHRyPFNl
Y3VyaXR5T3JpZ2luPiYmIHNvdXJjZU9yaWdpbiwgYm9vbCBpc01haW5GcmFtZU5hdmlnYXRpb24p
OworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3Vz
bHkoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBTdG9yZWRDcmVk
ZW50aWFsc1BvbGljeSwgU2VjdXJpdHlPcmlnaW4qLCBSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VS
ZXNwb25zZSYsIFZlY3Rvcjx1aW50OF90PiYgZGF0YSk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdmly
dHVhbCB+UmVzb3VyY2VIYW5kbGUoKTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBVU0UoQ0ZV
UkxDT05ORUNUSU9OKQpAQCAtMTc0LDggKzE3NSwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRO
ZXR3b3JrTG9hZE1ldHJpY3MoQm94PE5ldHdvcmtMb2FkTWV0cmljcz4mJik7CiAKICAgICBNb25v
dG9uaWNUaW1lIHN0YXJ0VGltZUJlZm9yZVJlZGlyZWN0cygpIGNvbnN0OworICAgIGJvb2wgZmFp
bHNUQU9DaGVjaygpIGNvbnN0OworICAgIHZvaWQgY2hlY2tUQU8oY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYpOwogICAgIGJvb2wgaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCgpIGNvbnN0OwotICAgIHZv
aWQgc2V0SGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdChib29sKTsKKyAgICB2b2lkIG1hcmtBc0hhdmlu
Z0Nyb3NzT3JpZ2luUmVkaXJlY3QoKTsKICAgICB1aW50MTZfdCByZWRpcmVjdENvdW50KCkgY29u
c3Q7CiAgICAgdm9pZCBpbmNyZW1lbnRSZWRpcmVjdENvdW50KCk7CiAKQEAgLTIwNiw3ICsyMDks
NyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJCdWlsdGluU3luY2hyb25vdXNM
b2FkZXIoY29uc3QgQXRvbVN0cmluZyYgcHJvdG9jb2wsIEJ1aWx0aW5TeW5jaHJvbm91c0xvYWRl
cik7CiAKIHByb3RlY3RlZDoKLSAgICBSZXNvdXJjZUhhbmRsZShOZXR3b3JraW5nQ29udGV4dCos
IGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFJlc291cmNlSGFuZGxlQ2xpZW50KiwgYm9vbCBkZWZl
cnNMb2FkaW5nLCBib29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91bGRDb250ZW50RW5j
b2RpbmdTbmlmZik7CisgICAgUmVzb3VyY2VIYW5kbGUoTmV0d29ya2luZ0NvbnRleHQqLCBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmLCBSZXNvdXJjZUhhbmRsZUNsaWVudCosIGJvb2wgZGVmZXJzTG9h
ZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVudEVuY29kaW5n
U25pZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBzb3VyY2VPcmlnaW4sIGJvb2wgaXNNYWlu
RnJhbWVOYXZpZ2F0aW9uKTsKIAogcHJpdmF0ZToKICAgICBlbnVtIEZhaWx1cmVUeXBlIHsKQEAg
LTIyMiw3ICsyMjUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1bGVGYWlsdXJlKEZhaWx1
cmVUeXBlKTsKIAogICAgIGJvb2wgc3RhcnQoKTsKLSAgICBzdGF0aWMgdm9pZCBwbGF0Zm9ybUxv
YWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmLCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYsIFJlc291
cmNlUmVzcG9uc2UmLCBWZWN0b3I8dWludDhfdD4mIGRhdGEpOworICAgIHN0YXRpYyB2b2lkIHBs
YXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0
IFJlc291cmNlUmVxdWVzdCYsIFN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBTZWN1cml0eU9yaWdp
biosIFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlJiwgVmVjdG9yPHVpbnQ4X3Q+JiBk
YXRhKTsKIAogICAgIHZvaWQgcmVmQXV0aGVudGljYXRpb25DbGllbnQoKSBvdmVycmlkZSB7IHJl
ZigpOyB9CiAgICAgdm9pZCBkZXJlZkF1dGhlbnRpY2F0aW9uQ2xpZW50KCkgb3ZlcnJpZGUgeyBk
ZXJlZigpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlSGFuZGxlSW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCmluZGV4IDE4ZmQ0MWM4NjY3N2Y1ZTAwMDQ3ODZlMzFk
NTZiNTNhNTc1ZDgxYWUuLmVjODk0MmM5ZTIyNTAwZDA2YThlNzU1MGY4MTM2YTliNjljYTczMDMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5k
bGVJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VIYW5kbGVJbnRlcm5hbC5oCkBAIC02NSw3ICs2NSw3IEBAIGNsYXNzIFJlc291cmNlSGFuZGxl
SW50ZXJuYWwgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlc291cmNlSGFuZGxlSW50ZXJu
YWwpOwogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEX1dJVEhfSEVBUF9JREVOVElGSUVSKFJl
c291cmNlSGFuZGxlSW50ZXJuYWwpOwogcHVibGljOgotICAgIFJlc291cmNlSGFuZGxlSW50ZXJu
YWwoUmVzb3VyY2VIYW5kbGUqIGxvYWRlciwgTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQsIGNv
bnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VIYW5kbGVDbGllbnQqIGNsaWVu
dCwgYm9vbCBkZWZlcnNMb2FkaW5nLCBib29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91
bGRDb250ZW50RW5jb2RpbmdTbmlmZikKKyAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKFJlc291
cmNlSGFuZGxlKiBsb2FkZXIsIE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQsIGJvb2wg
ZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVu
dEVuY29kaW5nU25pZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBzb3VyY2VPcmlnaW4sIGJv
b2wgaXNNYWluRnJhbWVOYXZpZ2F0aW9uKQogICAgICAgICA6IG1fY29udGV4dChjb250ZXh0KQog
ICAgICAgICAsIG1fY2xpZW50KGNsaWVudCkKICAgICAgICAgLCBtX2ZpcnN0UmVxdWVzdChyZXF1
ZXN0KQpAQCAtNzgsNiArNzgsOCBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9jdXJyZW50UmVxdWVz
dChyZXF1ZXN0KQogI2VuZGlmCiAgICAgICAgICwgbV9mYWlsdXJlVGltZXIoKmxvYWRlciwgJlJl
c291cmNlSGFuZGxlOjpmYWlsdXJlVGltZXJGaXJlZCkKKyAgICAgICAgLCBtX3NvdXJjZU9yaWdp
bihXVEZNb3ZlKHNvdXJjZU9yaWdpbikpCisgICAgICAgICwgbV9pc01haW5GcmFtZU5hdmlnYXRp
b24oaXNNYWluRnJhbWVOYXZpZ2F0aW9uKQogICAgIHsKICAgICAgICAgY29uc3QgVVJMJiB1cmwg
PSBtX2ZpcnN0UmVxdWVzdC51cmwoKTsKICAgICAgICAgbV91c2VyID0gdXJsLnVzZXIoKTsKQEAg
LTEzMyw3ICsxMzUsOSBAQCBwdWJsaWM6CiAgICAgQm94PE5ldHdvcmtMb2FkTWV0cmljcz4gbV9u
ZXR3b3JrTG9hZE1ldHJpY3M7CiAgICAgTW9ub3RvbmljVGltZSBtX3N0YXJ0VGltZTsKICAgICB1
aW50MTZfdCBtX3JlZGlyZWN0Q291bnQgeyAwIH07CisgICAgYm9vbCBtX2ZhaWxzVEFPQ2hlY2sg
eyBmYWxzZSB9OwogICAgIGJvb2wgbV9oYXNDcm9zc09yaWdpblJlZGlyZWN0IHsgZmFsc2UgfTsK
KyAgICBib29sIG1faXNDcm9zc09yaWdpbiB7IGZhbHNlIH07CiAKICNpZiBQTEFURk9STShDT0NP
QSkKICAgICAvLyBXZSBuZWVkIHRvIGtlZXAgYSByZWZlcmVuY2UgdG8gdGhlIG9yaWdpbmFsIGNo
YWxsZW5nZSB0byBiZSBhYmxlIHRvIGNhbmNlbCBpdC4KQEAgLTE0NCw2ICsxNDgsOCBAQCBwdWJs
aWM6CiAgICAgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UgbV9jdXJyZW50V2ViQ2hhbGxlbmdlOwog
ICAgIFJlc291cmNlSGFuZGxlOjpGYWlsdXJlVHlwZSBtX3NjaGVkdWxlZEZhaWx1cmVUeXBlIHsg
UmVzb3VyY2VIYW5kbGU6Ok5vRmFpbHVyZSB9OwogICAgIFRpbWVyIG1fZmFpbHVyZVRpbWVyOwor
ICAgIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4gbV9zb3VyY2VPcmlnaW47CisgICAgYm9vbCBtX2lz
TWFpbkZyYW1lTmF2aWdhdGlvbiB7IGZhbHNlIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1RpbWluZ0Fs
bG93T3JpZ2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvVGltaW5nQWxs
b3dPcmlnaW4uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczNGQ5MTY2ZTIwNDhlZjhmNGY0NGUyMmNjYTVhYmM3
YTFjZTE0MGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1RpbWluZ0FsbG93T3JpZ2luLmNwcApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlRpbWluZ0FsbG93T3JpZ2luLmgiCisKKyNp
bmNsdWRlICJIVFRQUGFyc2Vycy5oIgorI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKKyNp
bmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Jvb2wg
cGFzc2VzVGltaW5nQWxsb3dPcmlnaW5DaGVjayhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNw
b25zZSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIGluaXRpYXRvclNlY3VyaXR5T3JpZ2luKQorewor
ICAgIC8vIGh0dHBzOi8vZmV0Y2guc3BlYy53aGF0d2cub3JnLyN0YW8tY2hlY2sKKyAgICBhdXRv
IHJlc291cmNlT3JpZ2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZShyZXNwb25zZS51cmwoKSk7
CisgICAgaWYgKHJlc291cmNlT3JpZ2luLT5pc1NhbWVTY2hlbWVIb3N0UG9ydChpbml0aWF0b3JT
ZWN1cml0eU9yaWdpbikpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgY29uc3QgU3RyaW5n
JiB0aW1pbmdBbGxvd09yaWdpblN0cmluZyA9IHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQ
SGVhZGVyTmFtZTo6VGltaW5nQWxsb3dPcmlnaW4pOworICAgIGNvbnN0IFN0cmluZyYgc2VjdXJp
dHlPcmlnaW4gPSBpbml0aWF0b3JTZWN1cml0eU9yaWdpbi50b1N0cmluZygpOworICAgIGZvciAo
YXV0byYgb3JpZ2luV2l0aFNwYWNlIDogdGltaW5nQWxsb3dPcmlnaW5TdHJpbmcuc3BsaXQoJywn
KSkgeworICAgICAgICBhdXRvIG9yaWdpbiA9IHN0cmlwTGVhZGluZ0FuZFRyYWlsaW5nSFRUUFNw
YWNlcyhTdHJpbmdWaWV3KG9yaWdpbldpdGhTcGFjZSkpOworICAgICAgICBpZiAob3JpZ2luID09
ICIqIiB8fCBvcmlnaW4gPT0gc2VjdXJpdHlPcmlnaW4pCisgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvVGltaW5nQWxsb3dPcmlnaW4uaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvVGltaW5nQWxsb3dPcmlnaW4uaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
ODMwMDgzMzkzOGFhMjVkZDhjOTA5YTA1ZTRjNmRkZmRhMWYzOTVlCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5oCkBA
IC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOworY2xhc3MgU2VjdXJpdHlPcmlnaW47
CisKK1dFQkNPUkVfRVhQT1JUIGJvb2wgcGFzc2VzVGltaW5nQWxsb3dPcmlnaW5DaGVjayhjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4mIGluaXRp
YXRvclNlY3VyaXR5T3JpZ2luKTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jb2NvYS9OZXR3b3JrTG9hZE1ldHJpY3MubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtMb2FkTWV0cmljcy5tbQppbmRleCBiNTQ0
N2RmNTQ3NmMwYzRjNGFiYzU4OWNiMzE3ODViYmY0OGNhZDk1Li42MzEyZTA2ODQyOTdiNDNjMzMx
MWU0NzM5YjY4MWFiNDQ1YzMzNjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2NvY29hL05ldHdvcmtMb2FkTWV0cmljcy5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtMb2FkTWV0cmljcy5tbQpAQCAtMzgsNyAr
MzgsNyBAQCBzdGF0aWMgTW9ub3RvbmljVGltZSBkYXRlVG9Nb25vdG9uaWNUaW1lKE5TRGF0ZSAq
ZGF0ZSkKICAgICByZXR1cm4geyB9OwogfQogCi1zdGF0aWMgQm94PE5ldHdvcmtMb2FkTWV0cmlj
cz4gcGFja2FnZVRpbWluZ0RhdGEoTW9ub3RvbmljVGltZSByZWRpcmVjdFN0YXJ0LCBOU0RhdGUg
KmZldGNoU3RhcnQsIE5TRGF0ZSAqZG9tYWluTG9va3VwU3RhcnQsIE5TRGF0ZSAqZG9tYWluTG9v
a3VwRW5kLCBOU0RhdGUgKmNvbm5lY3RTdGFydCwgTlNEYXRlICpzZWN1cmVDb25uZWN0aW9uU3Rh
cnQsIE5TRGF0ZSAqY29ubmVjdEVuZCwgTlNEYXRlICpyZXF1ZXN0U3RhcnQsIE5TRGF0ZSAqcmVz
cG9uc2VTdGFydCwgYm9vbCByZXVzZWRUTFNDb25uZWN0aW9uLCBOU1N0cmluZyAqcHJvdG9jb2ws
IHVpbnQxNl90IHJlZGlyZWN0Q291bnQsIGJvb2wgaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKK3N0
YXRpYyBCb3g8TmV0d29ya0xvYWRNZXRyaWNzPiBwYWNrYWdlVGltaW5nRGF0YShNb25vdG9uaWNU
aW1lIHJlZGlyZWN0U3RhcnQsIE5TRGF0ZSAqZmV0Y2hTdGFydCwgTlNEYXRlICpkb21haW5Mb29r
dXBTdGFydCwgTlNEYXRlICpkb21haW5Mb29rdXBFbmQsIE5TRGF0ZSAqY29ubmVjdFN0YXJ0LCBO
U0RhdGUgKnNlY3VyZUNvbm5lY3Rpb25TdGFydCwgTlNEYXRlICpjb25uZWN0RW5kLCBOU0RhdGUg
KnJlcXVlc3RTdGFydCwgTlNEYXRlICpyZXNwb25zZVN0YXJ0LCBib29sIHJldXNlZFRMU0Nvbm5l
Y3Rpb24sIE5TU3RyaW5nICpwcm90b2NvbCwgdWludDE2X3QgcmVkaXJlY3RDb3VudCwgYm9vbCBm
YWlsc1RBT0NoZWNrLCBib29sIGhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QpCiB7CiAKICAgICBhdXRv
IHRpbWluZyA9IEJveDxOZXR3b3JrTG9hZE1ldHJpY3M+OjpjcmVhdGUoKTsKQEAgLTU2LDYgKzU2
LDcgQEAgc3RhdGljIEJveDxOZXR3b3JrTG9hZE1ldHJpY3M+IHBhY2thZ2VUaW1pbmdEYXRhKE1v
bm90b25pY1RpbWUgcmVkaXJlY3RTdGFydCwgTlMKICAgICB0aW1pbmctPnJlcXVlc3RTdGFydCA9
IGRhdGVUb01vbm90b25pY1RpbWUocmVxdWVzdFN0YXJ0KTsKICAgICB0aW1pbmctPnJlc3BvbnNl
U3RhcnQgPSBkYXRlVG9Nb25vdG9uaWNUaW1lKHJlc3BvbnNlU3RhcnQpOwogICAgIHRpbWluZy0+
cmVkaXJlY3RDb3VudCA9IHJlZGlyZWN0Q291bnQ7CisgICAgdGltaW5nLT5mYWlsc1RBT0NoZWNr
ID0gZmFpbHNUQU9DaGVjazsKICAgICB0aW1pbmctPmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QgPSBo
YXNDcm9zc09yaWdpblJlZGlyZWN0OwogCiAgICAgLy8gTk9URTogcmVzcG9uc2VFbmQgaXMgbm90
IHBvcHVsYXRlZCBpbiB0aGlzIGNvZGUgcGF0aC4KQEAgLTYzLDcgKzY0LDcgQEAgc3RhdGljIEJv
eDxOZXR3b3JrTG9hZE1ldHJpY3M+IHBhY2thZ2VUaW1pbmdEYXRhKE1vbm90b25pY1RpbWUgcmVk
aXJlY3RTdGFydCwgTlMKICAgICByZXR1cm4gdGltaW5nOwogfQogCi1Cb3g8TmV0d29ya0xvYWRN
ZXRyaWNzPiBjb3B5VGltaW5nRGF0YShOU1VSTFNlc3Npb25UYXNrTWV0cmljcyAqaW5jb21wbGV0
ZU1ldHJpY3MsIGJvb2wgaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKK0JveDxOZXR3b3JrTG9hZE1l
dHJpY3M+IGNvcHlUaW1pbmdEYXRhKE5TVVJMU2Vzc2lvblRhc2tNZXRyaWNzICppbmNvbXBsZXRl
TWV0cmljcywgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJiBtZXRyaWNzRnJvbVRhc2spCiB7CiAg
ICAgTlNBcnJheTxOU1VSTFNlc3Npb25UYXNrVHJhbnNhY3Rpb25NZXRyaWNzICo+ICp0cmFuc2Fj
dGlvbk1ldHJpY3MgPSBpbmNvbXBsZXRlTWV0cmljcy50cmFuc2FjdGlvbk1ldHJpY3M7CiAgICAg
TlNVUkxTZXNzaW9uVGFza1RyYW5zYWN0aW9uTWV0cmljcyAqbWV0cmljcyA9IHRyYW5zYWN0aW9u
TWV0cmljcy5sYXN0T2JqZWN0OwpAQCAtODAsNyArODEsOCBAQCBCb3g8TmV0d29ya0xvYWRNZXRy
aWNzPiBjb3B5VGltaW5nRGF0YShOU1VSTFNlc3Npb25UYXNrTWV0cmljcyAqaW5jb21wbGV0ZU1l
dHJpYwogICAgICAgICBtZXRyaWNzLnJldXNlZENvbm5lY3Rpb24sCiAgICAgICAgIG1ldHJpY3Mu
cmVzcG9uc2UuVVJMLnNjaGVtZSwKICAgICAgICAgaW5jb21wbGV0ZU1ldHJpY3MucmVkaXJlY3RD
b3VudCwKLSAgICAgICAgaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdAorICAgICAgICBtZXRyaWNzRnJv
bVRhc2suZmFpbHNUQU9DaGVjaywKKyAgICAgICAgbWV0cmljc0Zyb21UYXNrLmhhc0Nyb3NzT3Jp
Z2luUmVkaXJlY3QKICAgICApOwogfQogCkBAIC0xMDksNiArMTExLDcgQEAgQm94PE5ldHdvcmtM
b2FkTWV0cmljcz4gY29weVRpbWluZ0RhdGEoTlNVUkxDb25uZWN0aW9uICpjb25uZWN0aW9uLCBj
b25zdCBSZXNvdXIKICAgICAgICAgdGltaW5nVmFsdWUoQCJfa0NGTlRpbWluZ0RhdGFDb25uZWN0
aW9uUmV1c2VkIikuZ2V0KCksCiAgICAgICAgIGNvbm5lY3Rpb24uY3VycmVudFJlcXVlc3QuVVJM
LnNjaGVtZSwKICAgICAgICAgaGFuZGxlLnJlZGlyZWN0Q291bnQoKSwKKyAgICAgICAgaGFuZGxl
LmZhaWxzVEFPQ2hlY2soKSwKICAgICAgICAgaGFuZGxlLmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3Qo
KQogICAgICk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Y3VybC9DdXJsQ2FjaGVFbnRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2N1cmwvQ3VybENhY2hlRW50cnkuY3BwCmluZGV4IDZkOTI0NzViNWViNjIwYjdkYTliMzM4ZTc2
YWJhMGZjODg3YTNlZDYuLmMxODVlYjNiOTM1OTU2NTUyZDFhNGQzNDA2YThhOGY5NGYwMGZmZTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsQ2Fj
aGVFbnRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1
cmxDYWNoZUVudHJ5LmNwcApAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgIlJlc291cmNlSGFu
ZGxlSW50ZXJuYWwuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNsdWRlICJS
ZXNvdXJjZVJlc3BvbnNlLmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRl
ICJTaGFyZWRCdWZmZXIuaCIKICNpbmNsdWRlIDx3dGYvRGF0ZU1hdGguaD4KICNpbmNsdWRlIDx3
dGYvSGV4TnVtYmVyLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2N1cmwvQ3VybENhY2hlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2N1cmwvQ3VybENhY2hlTWFuYWdlci5jcHAKaW5kZXggZTY5ZjZjMzU3NzVlZGVjY2Vi
MjJlODUxNTQ2NTNhOTQ4NjI2ZmJjZC4uNzg2OWEwZGY0ZTllYjcyOGE2ZDhmZmVjNDMzMmUzZGY3
MTlhOWU1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJs
L0N1cmxDYWNoZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvY3VybC9DdXJsQ2FjaGVNYW5hZ2VyLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUg
IlJlc291cmNlSGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5h
bC5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgorI2luY2x1ZGUgIlNlY3VyaXR5T3Jp
Z2luLmgiCiAjaW5jbHVkZSA8d3RmL0ZpbGVTeXN0ZW0uaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxSZXNvdXJjZUhhbmRsZURlbGVnYXRl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsUmVzb3VyY2VI
YW5kbGVEZWxlZ2F0ZS5jcHAKaW5kZXggZTU2NGEwY2U2NjYxNGE0OWExMDMxMzY4ODUxYzRkYTg4
MjM1MmE2MS4uNzM2MzE0Njc4MDg2ZDQyZDc0MzE5YWI2OTk3MTBiOWJmMWIyMWQxOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxSZXNvdXJjZUhh
bmRsZURlbGVnYXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1
cmwvQ3VybFJlc291cmNlSGFuZGxlRGVsZWdhdGUuY3BwCkBAIC0zNiw2ICszNiw3IEBACiAjaW5j
bHVkZSAiUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5o
IgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlSW50ZXJuYWwuaCIKKyNpbmNsdWRlICJTZWN1cml0
eU9yaWdpbi5oIgogCiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRs
ZUN1cmwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNl
SGFuZGxlQ3VybC5jcHAKaW5kZXggMzhlNWVlMTliMTQ2MTcxYjdiODI2ODUxYWJiMWYyZjQ4OTVj
NTA0MS4uMTVhNmMxNjM2MDc0NGZmOThiZmY0ZjRmNDNkZDkxMzYwYjQ5MGZiOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlQ3Vy
bC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNl
SGFuZGxlQ3VybC5jcHAKQEAgLTM2NSw3ICszNjUsNyBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpy
ZXN0YXJ0UmVxdWVzdFdpdGhDcmVkZW50aWFsKGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgcHJvdGVj
dAogICAgIGQtPm1fY3VybFJlcXVlc3QtPnN0YXJ0KCk7CiB9CiAKLXZvaWQgUmVzb3VyY2VIYW5k
bGU6OnBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCog
Y29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBTdG9yZWRDcmVkZW50aWFs
c1BvbGljeSBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYgZXJyb3IsIFJl
c291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBWZWN0b3I8dWludDhfdD4mIGRhdGEpCit2b2lkIFJl
c291cmNlSGFuZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2lu
Z0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgU3RvcmVk
Q3JlZGVudGlhbHNQb2xpY3kgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIFNlY3VyaXR5T3JpZ2lu
KiwgUmVzb3VyY2VFcnJvciYgZXJyb3IsIFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBWZWN0
b3I8dWludDhfdD4mIGRhdGEpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICBB
U1NFUlQoIXJlcXVlc3QuaXNFbXB0eSgpKTsKQEAgLTM3Niw3ICszNzYsNyBAQCB2b2lkIFJlc291
cmNlSGFuZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2luZ0Nv
bnRleHQqIGNvbnRleAogICAgIGJvb2wgZGVmZXJzTG9hZGluZyA9IGZhbHNlOwogICAgIGJvb2wg
c2hvdWxkQ29udGVudFNuaWZmID0gdHJ1ZTsKICAgICBib29sIHNob3VsZENvbnRlbnRFbmNvZGlu
Z1NuaWZmID0gdHJ1ZTsKLSAgICBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IGhhbmRsZSA9IGFkb3B0
UmVmKG5ldyBSZXNvdXJjZUhhbmRsZShjb250ZXh0LCByZXF1ZXN0LCAmY2xpZW50LCBkZWZlcnNM
b2FkaW5nLCBzaG91bGRDb250ZW50U25pZmYsIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKSk7
CisgICAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBoYW5kbGUgPSBhZG9wdFJlZihuZXcgUmVzb3Vy
Y2VIYW5kbGUoY29udGV4dCwgcmVxdWVzdCwgJmNsaWVudCwgZGVmZXJzTG9hZGluZywgc2hvdWxk
Q29udGVudFNuaWZmLCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwgbnVsbHB0ciwgZmFsc2Up
KTsKICAgICBoYW5kbGUtPmQtPm1fbWVzc2FnZVF1ZXVlID0gJmNsaWVudC5tZXNzYWdlUXVldWUo
KTsKIAogICAgIGlmIChyZXF1ZXN0LnVybCgpLnByb3RvY29sSXNEYXRhKCkpIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFj
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVN
YWMubW0KaW5kZXggZjJjMWVkNjY0MmU2YjdiY2JkY2ZhMzI3YWFmODJlOWIwMzdhYTRhNS4uYmM0
NGNiYjRjYTE0NmYxNDA1ZTFhZGJmYmE3MzQ4OTAyZjhhODBkOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0K
QEAgLTM1MSw3ICszNTEsNyBAQCBDRlN0cmluZ1JlZiBSZXNvdXJjZUhhbmRsZTo6c3luY2hyb25v
dXNMb2FkUnVuTG9vcE1vZGUoKQogICAgIHJldHVybiBDRlNUUigiV2ViQ29yZVN5bmNocm9ub3Vz
TG9hZGVyUnVuTG9vcE1vZGUiKTsKIH0KIAotdm9pZCBSZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1M
b2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFN0b3JlZENyZWRlbnRpYWxzUG9saWN5IHN0b3Jl
ZENyZWRlbnRpYWxzUG9saWN5LCBSZXNvdXJjZUVycm9yJiBlcnJvciwgUmVzb3VyY2VSZXNwb25z
ZSYgcmVzcG9uc2UsIFZlY3Rvcjx1aW50OF90PiYgZGF0YSkKK3ZvaWQgUmVzb3VyY2VIYW5kbGU6
OnBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCogY29u
dGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBTdG9yZWRDcmVkZW50aWFsc1Bv
bGljeSBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgU2VjdXJpdHlPcmlnaW4qIHNvdXJjZU9yaWdp
biwgUmVzb3VyY2VFcnJvciYgZXJyb3IsIFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBWZWN0
b3I8dWludDhfdD4mIGRhdGEpCiB7CiAgICAgTE9HKE5ldHdvcmssICJSZXNvdXJjZUhhbmRsZTo6
cGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5OiVAIHN0b3JlZENyZWRlbnRpYWxzUG9s
aWN5OiV1IiwgcmVxdWVzdC5uc1VSTFJlcXVlc3QoSFRUUEJvZHlVcGRhdGVQb2xpY3k6OkRvTm90
VXBkYXRlSFRUUEJvZHkpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oc3RvcmVkQ3JlZGVudGlhbHNQ
b2xpY3kpKTsKIApAQCAtMzYzLDcgKzM2Myw3IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnBsYXRm
b3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCogY29udGV4CiAg
ICAgYm9vbCBkZWZlcnNMb2FkaW5nID0gZmFsc2U7CiAgICAgYm9vbCBzaG91bGRDb250ZW50U25p
ZmYgPSB0cnVlOwogICAgIGJvb2wgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYgPSB0cnVlOwot
ICAgIFJlZlB0cjxSZXNvdXJjZUhhbmRsZT4gaGFuZGxlID0gYWRvcHRSZWYobmV3IFJlc291cmNl
SGFuZGxlKGNvbnRleHQsIHJlcXVlc3QsICZjbGllbnQsIGRlZmVyc0xvYWRpbmcsIHNob3VsZENv
bnRlbnRTbmlmZiwgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYpKTsKKyAgICBSZWZQdHI8UmVz
b3VyY2VIYW5kbGU+IGhhbmRsZSA9IGFkb3B0UmVmKG5ldyBSZXNvdXJjZUhhbmRsZShjb250ZXh0
LCByZXF1ZXN0LCAmY2xpZW50LCBkZWZlcnNMb2FkaW5nLCBzaG91bGRDb250ZW50U25pZmYsIHNo
b3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmLCBzb3VyY2VPcmlnaW4sIGZhbHNlKSk7CiAKICAgICBo
YW5kbGUtPmQtPm1fc3RvcmFnZVNlc3Npb24gPSBjb250ZXh0LT5zdG9yYWdlU2Vzc2lvbigpLT5w
bGF0Zm9ybVNlc3Npb24oKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRl
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291cmNl
SGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLm1tCmluZGV4IGM0MzI2MTY5NmUzY2VkZjM2
ZjdlMmQzOGEwN2RhZTRjYTJmZTI2NGQuLjY1YjdiYThjNDE1MzYwOWU2N2VjZjE2ZmM2MjQwMmFl
YmU1NGRhMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFj
L1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5tbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVB
c09wZXJhdGlvblF1ZXVlRGVsZWdhdGUubW0KQEAgLTE0MSw2ICsxNDEsNyBAQCBzdGF0aWMgYm9v
bCBzY2hlZHVsZWRXaXRoQ3VzdG9tUnVuTG9vcE1vZGUoY29uc3Qgc3RkOjpvcHRpb25hbDxTY2hl
ZHVsZVBhaXJIYXNoUwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKKyAgICAgICAg
UmVzb3VyY2VSZXNwb25zZSByZXNwb25zZShyZWRpcmVjdFJlc3BvbnNlLmdldCgpKTsKICAgICAg
ICAgUmVzb3VyY2VSZXF1ZXN0IHJlZGlyZWN0UmVxdWVzdCA9IG5ld1JlcXVlc3QuZ2V0KCk7CiAg
ICAgICAgIGlmIChbbmV3UmVxdWVzdC5nZXQoKSBIVFRQQm9keVN0cmVhbV0pIHsKICAgICAgICAg
ICAgIEFTU0VSVChtX2hhbmRsZS0+Zmlyc3RSZXF1ZXN0KCkuaHR0cEJvZHkoKSk7CkBAIC0xNTAs
MTAgKzE1MSwxMyBAQCBzdGF0aWMgYm9vbCBzY2hlZHVsZWRXaXRoQ3VzdG9tUnVuTG9vcE1vZGUo
Y29uc3Qgc3RkOjpvcHRpb25hbDxTY2hlZHVsZVBhaXJIYXNoUwogICAgICAgICAgICAgcmVkaXJl
Y3RSZXF1ZXN0LmNsZWFySFRUUENvbnRlbnRUeXBlKCk7CiAKICAgICAgICAgLy8gQ2hlY2sgaWYg
dGhlIHJlZGlyZWN0ZWQgdXJsIGlzIGFsbG93ZWQgdG8gYWNjZXNzIHRoZSByZWRpcmVjdGluZyB1
cmwncyB0aW1pbmcgaW5mb3JtYXRpb24uCi0gICAgICAgIG1faGFuZGxlLT5zZXRIYXNDcm9zc09y
aWdpblJlZGlyZWN0KCFXZWJDb3JlOjpTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKHJlZGlyZWN0UmVx
dWVzdC51cmwoKSktPmNhblJlcXVlc3QocmVkaXJlY3RSZXNwb25zZS5nZXQoKS5VUkwpKTsKKyAg
ICAgICAgaWYgKCFtX2hhbmRsZS0+aGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCgpICYmICFXZWJDb3Jl
OjpTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKHJlZGlyZWN0UmVxdWVzdC51cmwoKSktPmNhblJlcXVl
c3QocmVkaXJlY3RSZXNwb25zZS5nZXQoKS5VUkwpKQorICAgICAgICAgICAgbV9oYW5kbGUtPm1h
cmtBc0hhdmluZ0Nyb3NzT3JpZ2luUmVkaXJlY3QoKTsKKyAgICAgICAgbV9oYW5kbGUtPmNoZWNr
VEFPKHJlc3BvbnNlKTsKKwogICAgICAgICBtX2hhbmRsZS0+aW5jcmVtZW50UmVkaXJlY3RDb3Vu
dCgpOwogCi0gICAgICAgIG1faGFuZGxlLT53aWxsU2VuZFJlcXVlc3QoV1RGTW92ZShyZWRpcmVj
dFJlcXVlc3QpLCByZWRpcmVjdFJlc3BvbnNlLmdldCgpLCBbc2VsZiwgcHJvdGVjdGVkU2VsZiA9
IFdURk1vdmUocHJvdGVjdGVkU2VsZildKFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QpIHsKKyAg
ICAgICAgbV9oYW5kbGUtPndpbGxTZW5kUmVxdWVzdChXVEZNb3ZlKHJlZGlyZWN0UmVxdWVzdCks
IFdURk1vdmUocmVzcG9uc2UpLCBbc2VsZiwgcHJvdGVjdGVkU2VsZiA9IFdURk1vdmUocHJvdGVj
dGVkU2VsZildKFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QpIHsKICAgICAgICAgICAgIG1fcmVx
dWVzdFJlc3VsdCA9IHJlcXVlc3QubnNVUkxSZXF1ZXN0KEhUVFBCb2R5VXBkYXRlUG9saWN5OjpV
cGRhdGVIVFRQQm9keSk7CiAgICAgICAgICAgICBtX3NlbWFwaG9yZS5zaWduYWwoKTsKICAgICAg
ICAgfSk7CkBAIC0yNTcsOCArMjYxLDEwIEBAIEFMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5UQVRJ
T05TX0VORAogICAgICAgICBpZiAoW21faGFuZGxlLT5maXJzdFJlcXVlc3QoKS5uc1VSTFJlcXVl
c3QoSFRUUEJvZHlVcGRhdGVQb2xpY3k6OkRvTm90VXBkYXRlSFRUUEJvZHkpIF9wcm9wZXJ0eUZv
cktleTpAIkZvcmNlSFRNTE1JTUVUeXBlIl0pCiAgICAgICAgICAgICBbciBfc2V0TUlNRVR5cGU6
QCJ0ZXh0L2h0bWwiXTsKIAotICAgICAgICBhdXRvIG1ldHJpY3MgPSBjb3B5VGltaW5nRGF0YShj
b25uZWN0aW9uLmdldCgpLCAqbV9oYW5kbGUpOwogICAgICAgICBSZXNvdXJjZVJlc3BvbnNlIHJl
c291cmNlUmVzcG9uc2Uoci5nZXQoKSk7CisgICAgICAgIG1faGFuZGxlLT5jaGVja1RBTyhyZXNv
dXJjZVJlc3BvbnNlKTsKKworICAgICAgICBhdXRvIG1ldHJpY3MgPSBjb3B5VGltaW5nRGF0YShj
b25uZWN0aW9uLmdldCgpLCAqbV9oYW5kbGUpOwogICAgICAgICByZXNvdXJjZVJlc3BvbnNlLnNl
dFNvdXJjZShSZXNvdXJjZVJlc3BvbnNlOjpTb3VyY2U6Ok5ldHdvcmspOwogICAgICAgICByZXNv
dXJjZVJlc3BvbnNlLnNldERlcHJlY2F0ZWROZXR3b3JrTG9hZE1ldHJpY3MoQm94PE5ldHdvcmtM
b2FkTWV0cmljcz4geyBtZXRyaWNzIH0pOwogCkBAIC0zMzMsNiArMzM5LDcgQEAgQUxMT1dfREVQ
UkVDQVRFRF9JTVBMRU1FTlRBVElPTlNfRU5ECiAgICAgICAgICAgICAgICAgbWV0cmljcy0+cmVz
cG9uc2VFbmQgPSBXYWxsVGltZTo6ZnJvbVJhd1NlY29uZHMoYWRvcHROUyhbW05TRGF0ZSBhbGxv
Y10gaW5pdFdpdGhUaW1lSW50ZXJ2YWxTaW5jZVJlZmVyZW5jZURhdGU6cmVzcG9uc2VFbmRUaW1l
XSkuZ2V0KCkudGltZUludGVydmFsU2luY2UxOTcwKS5hcHByb3hpbWF0ZU1vbm90b25pY1RpbWUo
KTsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBtZXRyaWNzLT5yZXNwb25zZUVu
ZCA9IG1ldHJpY3MtPnJlc3BvbnNlU3RhcnQ7CisgICAgICAgICAgICBtZXRyaWNzLT5wcm90b2Nv
bCA9IChOU1N0cmluZyAqKVt0aW1pbmdEYXRhIG9iamVjdEZvcktleTpAIl9rQ0ZOVGltaW5nRGF0
YU5ldHdvcmtQcm90b2NvbE5hbWUiXTsKICAgICAgICAgICAgIG1ldHJpY3MtPnJlc3BvbnNlQm9k
eUJ5dGVzUmVjZWl2ZWQgPSBbW3RpbWluZ0RhdGEgb2JqZWN0Rm9yS2V5OkAiX2tDRk5UaW1pbmdE
YXRhUmVzcG9uc2VCb2R5Qnl0ZXNSZWNlaXZlZCJdIHVuc2lnbmVkTG9uZ0xvbmdWYWx1ZV07CiAg
ICAgICAgICAgICBtZXRyaWNzLT5yZXNwb25zZUJvZHlEZWNvZGVkU2l6ZSA9IFtbdGltaW5nRGF0
YSBvYmplY3RGb3JLZXk6QCJfa0NGTlRpbWluZ0RhdGFSZXNwb25zZUJvZHlCeXRlc0RlY29kZWQi
XSB1bnNpZ25lZExvbmdMb25nVmFsdWVdOwogICAgICAgICAgICAgbWV0cmljcy0+bWFya0NvbXBs
ZXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAv
Q3JlZGVudGlhbFN0b3JhZ2VTb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvc291cC9DcmVkZW50aWFsU3RvcmFnZVNvdXAuY3BwCmluZGV4IGU1ZWMxNmY5NTI2MDI2ZGVh
NGQwZWE2NmYzOWYzMTA5NzBjZDRjODYuLjUzNTdlMjgzOTlhODA3NmZiMmM5ZmYwMjM2YmNkMGIz
NTZhZDI3MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291
cC9DcmVkZW50aWFsU3RvcmFnZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvc291cC9DcmVkZW50aWFsU3RvcmFnZVNvdXAuY3BwCkBAIC0yOSw2ICsyOSw3IEBA
CiAjaWYgVVNFKFNPVVApCiAKICNpbmNsdWRlICJDcmVkZW50aWFsLmgiCisjaW5jbHVkZSAiU2Vj
dXJpdHlPcmlnaW4uaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAu
Y3BwCmluZGV4IDY4YWQ0NjQxNzEzNjBlZTlhODg2OTU3MzYxZTc4ZjViODRkMjQwZDEuLjQ5NzU0
Y2Q3ZjEwM2RkMTg1ZDdhMTc4NTFlOTVjZTJlNDU1OTEwZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAu
Y3BwCkBAIC0xMjcsNyArMTI3LDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1TZXRE
ZWZlcnNMb2FkaW5nKGJvb2wpCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKLXZvaWQg
UmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3Jr
aW5nQ29udGV4dCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFN0b3JlZENyZWRlbnRpYWxzUG9s
aWN5LCBSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VSZXNwb25zZSYsIFZlY3Rvcjx1aW50OF90PiYp
Cit2b2lkIFJlc291cmNlSGFuZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHko
TmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBTdG9yZWRDcmVkZW50
aWFsc1BvbGljeSwgU2VjdXJpdHlPcmlnaW4qLCBSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VSZXNw
b25zZSYsIFZlY3Rvcjx1aW50OF90PiYpCiB7CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkUGFy
YW1ldGVycy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZFBhcmFt
ZXRlcnMuaAppbmRleCBmOGQ2MTdhZTkzZjBkYWE5ZThlYmU5Yjk3MDU2ZWYwMDM2ZTRkMzljLi4w
NGNiMDM5MGM5Y2ZkODZiOTExZDQ4ZjlhZjljZDE3MmU4YjNhNzM3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkUGFyYW1ldGVycy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRQYXJhbWV0ZXJzLmgKQEAgLTQ4
LDYgKzQ4LDcgQEAgcHVibGljOgogICAgIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIHdlYlBhZ2VJ
RDsKICAgICBXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgd2ViRnJhbWVJRDsKICAgICBSZWZQdHI8
V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+IHRvcE9yaWdpbjsKKyAgICBSZWZQdHI8V2ViQ29yZTo6
U2VjdXJpdHlPcmlnaW4+IHNvdXJjZU9yaWdpbjsKICAgICBXVEY6OlByb2Nlc3NJRCBwYXJlbnRQ
SUQgeyAwIH07CiAjaWYgSEFWRShBVURJVF9UT0tFTikKICAgICBzdGQ6Om9wdGlvbmFsPGF1ZGl0
X3Rva2VuX3Q+IG5ldHdvcmtQcm9jZXNzQXVkaXRUb2tlbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMu
aAppbmRleCBmMGU0MjBmNTEwM2ViZDUxYWZkN2NlODljYmI3YjM1Zjk2MjVhMzU5Li4yMjJkNmY0
YTc0NzZjOTEzODNmN2EzYTU5NzY5OTVlNTZlYjM3MGY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgKKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVy
cy5oCkBAIC01Miw3ICs1Miw2IEBAIHB1YmxpYzoKICAgICBWZWN0b3I8UmVmUHRyPFNhbmRib3hF
eHRlbnNpb24+PiByZXF1ZXN0Qm9keVNhbmRib3hFeHRlbnNpb25zOyAvLyBDcmVhdGVkIGF1dG9t
YXRpY2FsbHkgZm9yIHRoZSBzZW5kZXIuCiAgICAgUmVmUHRyPFNhbmRib3hFeHRlbnNpb24+IHJl
c291cmNlU2FuZGJveEV4dGVuc2lvbjsgLy8gQ3JlYXRlZCBhdXRvbWF0aWNhbGx5IGZvciB0aGUg
c2VuZGVyLgogICAgIFNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWU7Ci0gICAgUmVmUHRyPFdl
YkNvcmU6OlNlY3VyaXR5T3JpZ2luPiBzb3VyY2VPcmlnaW47CiAgICAgV2ViQ29yZTo6RmV0Y2hP
cHRpb25zIG9wdGlvbnM7CiAgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpDb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnM+IGNzcFJlc3BvbnNlSGVhZGVyczsKICAgICBXZWJDb3Jl
OjpIVFRQSGVhZGVyTWFwIG9yaWdpbmFsUmVxdWVzdEhlYWRlcnM7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXgg
MDg0YmRlMWIzZmMxYmU2NWM4ZmQ3NDBkYjBiNDIyNTBkY2E2ODNhNS4uZWMxNmQ5NzJkMzRiZTEy
OTAzOGYzY2E2YjIzNjM0M2NmNzBiNTQyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtODYsNyArODYsNyBA
QCBzdHJ1Y3QgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpTeW5jaHJvbm91c0xvYWREYXRhIHsKICAg
ICBSZXNvdXJjZUVycm9yIGVycm9yOwogfTsKIAotc3RhdGljIHZvaWQgc2VuZFJlcGx5VG9TeW5j
aHJvbm91c1JlcXVlc3QoTmV0d29ya1Jlc291cmNlTG9hZGVyOjpTeW5jaHJvbm91c0xvYWREYXRh
JiBkYXRhLCBjb25zdCBTaGFyZWRCdWZmZXIqIGJ1ZmZlcikKK3N0YXRpYyB2b2lkIHNlbmRSZXBs
eVRvU3luY2hyb25vdXNSZXF1ZXN0KE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6U3luY2hyb25vdXNM
b2FkRGF0YSYgZGF0YSwgY29uc3QgU2hhcmVkQnVmZmVyKiBidWZmZXIsIGNvbnN0IE5ldHdvcmtM
b2FkTWV0cmljcyYgbWV0cmljcykKIHsKICAgICBBU1NFUlQoZGF0YS5kZWxheWVkUmVwbHkpOwog
ICAgIEFTU0VSVCghZGF0YS5yZXNwb25zZS5pc051bGwoKSB8fCAhZGF0YS5lcnJvci5pc051bGwo
KSk7CkBAIC05NSw2ICs5NSw4IEBAIHN0YXRpYyB2b2lkIHNlbmRSZXBseVRvU3luY2hyb25vdXNS
ZXF1ZXN0KE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6U3luY2hyb25vdXNMb2FkCiAgICAgaWYgKGJ1
ZmZlciAmJiBidWZmZXItPnNpemUoKSkKICAgICAgICAgcmVzcG9uc2VCdWZmZXIuYXBwZW5kKGJ1
ZmZlci0+ZGF0YSgpLCBidWZmZXItPnNpemUoKSk7CiAKKyAgICBkYXRhLnJlc3BvbnNlLnNldERl
cHJlY2F0ZWROZXR3b3JrTG9hZE1ldHJpY3MoQm94PE5ldHdvcmtMb2FkTWV0cmljcz46OmNyZWF0
ZShtZXRyaWNzKSk7CisKICAgICBkYXRhLmRlbGF5ZWRSZXBseShkYXRhLmVycm9yLCBkYXRhLnJl
c3BvbnNlLCByZXNwb25zZUJ1ZmZlcik7CiAgICAgZGF0YS5kZWxheWVkUmVwbHkgPSBudWxscHRy
OwogfQpAQCAtNzI4LDcgKzczMCw3IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRG
aW5pc2hMb2FkaW5nKGNvbnN0IE5ldHdvcmtMb2FkTWV0cmljcyYgbmV0d29ya0xvCiAjZW5kaWYK
IAogICAgIGlmIChpc1N5bmNocm9ub3VzKCkpCi0gICAgICAgIHNlbmRSZXBseVRvU3luY2hyb25v
dXNSZXF1ZXN0KCptX3N5bmNocm9ub3VzTG9hZERhdGEsIG1fYnVmZmVyZWREYXRhLmdldCgpKTsK
KyAgICAgICAgc2VuZFJlcGx5VG9TeW5jaHJvbm91c1JlcXVlc3QoKm1fc3luY2hyb25vdXNMb2Fk
RGF0YSwgbV9idWZmZXJlZERhdGEuZ2V0KCksIG5ldHdvcmtMb2FkTWV0cmljcyk7CiAgICAgZWxz
ZSB7CiAgICAgICAgIGlmIChtX2J1ZmZlcmVkRGF0YSAmJiAhbV9idWZmZXJlZERhdGEtPmlzRW1w
dHkoKSkgewogICAgICAgICAgICAgLy8gRklYTUU6IFBhc3MgYSByZWFsIHZhbHVlIG9yIHJlbW92
ZSB0aGUgZW5jb2RlZCBkYXRhIHNpemUgZmVhdHVyZS4KQEAgLTc2Myw3ICs3NjUsNyBAQCB2b2lk
IE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkRmFpbExvYWRpbmcoY29uc3QgUmVzb3VyY2VFcnJv
ciYgZXJyb3IpCiAKICAgICBpZiAoaXNTeW5jaHJvbm91cygpKSB7CiAgICAgICAgIG1fc3luY2hy
b25vdXNMb2FkRGF0YS0+ZXJyb3IgPSBlcnJvcjsKLSAgICAgICAgc2VuZFJlcGx5VG9TeW5jaHJv
bm91c1JlcXVlc3QoKm1fc3luY2hyb25vdXNMb2FkRGF0YSwgbnVsbHB0cik7CisgICAgICAgIHNl
bmRSZXBseVRvU3luY2hyb25vdXNSZXF1ZXN0KCptX3N5bmNocm9ub3VzTG9hZERhdGEsIG51bGxw
dHIsIHsgfSk7CiAgICAgfSBlbHNlIGlmIChhdXRvKiBjb25uZWN0aW9uID0gbWVzc2FnZVNlbmRl
ckNvbm5lY3Rpb24oKSkgewogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKICAgICAgICAgaWYg
KG1fc2VydmljZVdvcmtlckZldGNoVGFzaykKQEAgLTExNDIsNyArMTE0NCw3IEBAIHZvaWQgTmV0
d29ya1Jlc291cmNlTG9hZGVyOjpkaWRSZXRyaWV2ZUNhY2hlRW50cnkoc3RkOjp1bmlxdWVfcHRy
PE5ldHdvcmtDYWNoZTo6CiAgICAgcmVzcG9uc2UgPSBzYW5pdGl6ZVJlc3BvbnNlSWZQb3NzaWJs
ZShXVEZNb3ZlKHJlc3BvbnNlKSwgUmVzb3VyY2VSZXNwb25zZTo6U2FuaXRpemF0aW9uVHlwZTo6
Q3Jvc3NPcmlnaW5TYWZlKTsKICAgICBpZiAoaXNTeW5jaHJvbm91cygpKSB7CiAgICAgICAgIG1f
c3luY2hyb25vdXNMb2FkRGF0YS0+cmVzcG9uc2UgPSBXVEZNb3ZlKHJlc3BvbnNlKTsKLSAgICAg
ICAgc2VuZFJlcGx5VG9TeW5jaHJvbm91c1JlcXVlc3QoKm1fc3luY2hyb25vdXNMb2FkRGF0YSwg
ZW50cnktPmJ1ZmZlcigpKTsKKyAgICAgICAgc2VuZFJlcGx5VG9TeW5jaHJvbm91c1JlcXVlc3Qo
Km1fc3luY2hyb25vdXNMb2FkRGF0YSwgZW50cnktPmJ1ZmZlcigpLCB7IH0pOwogICAgICAgICBj
bGVhbnVwKExvYWRSZXN1bHQ6OlN1Y2Nlc3MpOwogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRh
c2tDb2NvYS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0
YVRhc2tDb2NvYS5oCmluZGV4IGZhZDI0OGU5Mzk0Njg3M2MyNjliZDk4YWQ0MzRjYTc0MjE4MDA0
YTMuLjRlYmJkOTBjYzY0NWRmNWY5ZGRiYjg2MGQwOGFhM2ViMDUzYzJmZjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2Eu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFz
a0NvY29hLmgKQEAgLTg0LDYgKzg0LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0SDJQaW5nQ2Fs
bGJhY2soY29uc3QgVVJMJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxXVEY6OlNl
Y29uZHMsIFdlYkNvcmU6OlJlc291cmNlRXJyb3I+JiYpPiYmKSBvdmVycmlkZTsKICAgICB2b2lk
IHNldFByaW9yaXR5KFdlYkNvcmU6OlJlc291cmNlTG9hZFByaW9yaXR5KSBvdmVycmlkZTsKIAor
ICAgIHZvaWQgY2hlY2tUQU8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpOworCiBw
cml2YXRlOgogICAgIE5ldHdvcmtEYXRhVGFza0NvY29hKE5ldHdvcmtTZXNzaW9uJiwgTmV0d29y
a0RhdGFUYXNrQ2xpZW50JiwgY29uc3QgTmV0d29ya0xvYWRQYXJhbWV0ZXJzJik7CiAKQEAgLTEy
MCw2ICsxMjIsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pc0Zvck1haW5SZXNvdXJjZU5hdmln
YXRpb25Gb3JBbnlGcmFtZSB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzQWx3YXlzT25Mb2dnaW5n
QWxsb3dlZCB7IGZhbHNlIH07CiAgICAgV2ViQ29yZTo6U2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29v
a2llQmxvY2tpbmcgbV9zaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZyB7IFdlYkNv
cmU6OlNob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nOjpObyB9OworICAgIFJlZlB0
cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4gbV9zb3VyY2VPcmlnaW47CiB9OwogCiBXZWJDb3Jl
OjpDcmVkZW50aWFsIHNlcnZlclRydXN0Q3JlZGVudGlhbChjb25zdCBXZWJDb3JlOjpBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KaW5kZXggY2ZkZmUxMzY5Y2U2
YThlNWZiZTNmNmZhNDExNTc3MzAyOTRmNzMyMy4uMzQwZDdkYWMyODZiNzNiODNjNTFlYmQwZjY4
MGZjNGFiZjlkYWY5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
b2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCkBAIC00MCw2ICs0MCw3IEBACiAj
aW1wb3J0IDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1JlZ2lz
dHJhYmxlRG9tYWluLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlUmVxdWVzdC5oPgorI2lt
cG9ydCA8V2ViQ29yZS9UaW1pbmdBbGxvd09yaWdpbi5oPgogI2ltcG9ydCA8cGFsL3NwaS9jZi9D
Rk5ldHdvcmtTUEkuaD4KICNpbXBvcnQgPHd0Zi9CbG9ja1B0ci5oPgogI2ltcG9ydCA8d3RmL0Zp
bGVTeXN0ZW0uaD4KQEAgLTMwMCw2ICszMDEsNyBAQCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6TmV0
d29ya0RhdGFUYXNrQ29jb2EoTmV0d29ya1Nlc3Npb24mIHNlc3Npb24sIE5ldHdvcmtEYXRhVAog
ICAgICwgbV9pc0Zvck1haW5SZXNvdXJjZU5hdmlnYXRpb25Gb3JBbnlGcmFtZShwYXJhbWV0ZXJz
LmlzTWFpblJlc291cmNlTmF2aWdhdGlvbkZvckFueUZyYW1lKQogICAgICwgbV9pc0Fsd2F5c09u
TG9nZ2luZ0FsbG93ZWQoY29tcHV0ZUlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZChzZXNzaW9uKSkK
ICAgICAsIG1fc2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tpbmcocGFyYW1ldGVycy5z
aG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZykKKyAgICAsIG1fc291cmNlT3JpZ2lu
KHBhcmFtZXRlcnMuc291cmNlT3JpZ2luKQogewogICAgIGF1dG8gcmVxdWVzdCA9IHBhcmFtZXRl
cnMucmVxdWVzdDsKICAgICBhdXRvIHVybCA9IHJlcXVlc3QudXJsKCk7CkBAIC00NjAsOSArNDYy
LDcgQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6d2lsbFBlcmZvcm1IVFRQUmVkaXJlY3Rp
b24oV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYKIHsKICAgICBXVEZFbWl0U2lnbnBvc3QobV90
YXNrLmdldCgpLCAiRGF0YVRhc2siLCAicmVkaXJlY3QiKTsKIAotICAgIC8vIENoZWNrIGlmIHRo
ZSByZWRpcmVjdGVkIHVybCBpcyBhbGxvd2VkIHRvIGFjY2VzcyB0aGUgcmVkaXJlY3RpbmcgdXJs
J3MgdGltaW5nIGluZm9ybWF0aW9uLgotICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBub3Qgc2V0
IGJhY2sgdG8gdHJ1ZSBhZnRlciBhbm90aGVyIHNhbWUtb3JpZ2luIHJlZGlyZWN0IG9uY2UgaXQg
aGFzIGJlZW4gc2V0IHRvIHRydWUuCi0gICAgbmV0d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NP
cmlnaW5SZWRpcmVjdCA9ICFXZWJDb3JlOjpTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKHJlcXVlc3Qu
dXJsKCkpLT5jYW5SZXF1ZXN0KHJlZGlyZWN0UmVzcG9uc2UudXJsKCkpOworICAgIG5ldHdvcmtM
b2FkTWV0cmljcygpLmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QgPSBuZXR3b3JrTG9hZE1ldHJpY3Mo
KS5oYXNDcm9zc09yaWdpblJlZGlyZWN0IHx8ICFXZWJDb3JlOjpTZWN1cml0eU9yaWdpbjo6Y3Jl
YXRlKHJlcXVlc3QudXJsKCkpLT5jYW5SZXF1ZXN0KHJlZGlyZWN0UmVzcG9uc2UudXJsKCkpOwog
CiAgICAgaWYgKHJlZGlyZWN0UmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSA9PSAzMDcgfHwgcmVk
aXJlY3RSZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpID09IDMwOCkgewogICAgICAgICBBU1NFUlQo
bV9sYXN0SFRUUE1ldGhvZCA9PSByZXF1ZXN0Lmh0dHBNZXRob2QoKSk7CkBAIC03MTksNCArNzE5
LDE5IEBAIHZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OnNldFByaW9yaXR5KFdlYkNvcmU6OlJl
c291cmNlTG9hZFByaW9yaXR5IHByaW9yaXR5KQogICAgIG1fdGFzay5nZXQoKS5wcmlvcml0eSA9
IHRvTlNVUkxTZXNzaW9uVGFza1ByaW9yaXR5KHByaW9yaXR5KTsKIH0KIAordm9pZCBOZXR3b3Jr
RGF0YVRhc2tDb2NvYTo6Y2hlY2tUQU8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYg
cmVzcG9uc2UpCit7CisgICAgaWYgKG5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxzVEFPQ2hlY2sp
CisgICAgICAgIHJldHVybjsKKworICAgIFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4g
b3JpZ2luOworICAgIGlmIChpc1RvcExldmVsTmF2aWdhdGlvbigpKQorICAgICAgICBvcmlnaW4g
PSBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKGZpcnN0UmVxdWVzdCgpLnVybCgpKTsK
KyAgICBlbHNlCisgICAgICAgIG9yaWdpbiA9IG1fc291cmNlT3JpZ2luOworCisgICAgaWYgKG9y
aWdpbikKKyAgICAgICAgbmV0d29ya0xvYWRNZXRyaWNzKCkuZmFpbHNUQU9DaGVjayA9ICFwYXNz
ZXNUaW1pbmdBbGxvd09yaWdpbkNoZWNrKHJlc3BvbnNlLCAqb3JpZ2luKTsKK30KKwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lv
bkNvY29hLm1tIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vz
c2lvbkNvY29hLm1tCmluZGV4IGM2OTYyN2RlZTIzMTBmNWMzNDdiYTE0NWRiNjRiZGVmOTIzYTFi
NTQuLmVlMmFmZGFiODgyMzgzYTExMTEyZWRlMGY0MmFmOGYwMjg5MmFmYTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9u
Q29jb2EubW0KQEAgLTU1NSw3ICs1NTUsMTAgQEAgc3RhdGljIHZvaWQgdXBkYXRlSWdub3JlU3Ry
aWN0VHJhbnNwb3J0U2VjdXJpdHlTZXR0aW5nKFJldGFpblB0cjxOU1VSTFJlcXVlc3Q+JgogICAg
ICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAjZW5kaWYKIAotICAgICAgICBuZXR3b3Jr
RGF0YVRhc2stPndpbGxQZXJmb3JtSFRUUFJlZGlyZWN0aW9uKHJlc3BvbnNlLCByZXF1ZXN0LCBb
Y29tcGxldGlvbkhhbmRsZXIgPSBtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhhbmRsZXIpLCB0YXNr
SWRlbnRpZmllciwgc2hvdWxkSWdub3JlSFNUU10oYXV0byYmIHJlcXVlc3QpIHsKKyAgICAgICAg
V2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZXNvdXJjZVJlc3BvbnNlKHJlc3BvbnNlKTsKKyAg
ICAgICAgbmV0d29ya0RhdGFUYXNrLT5jaGVja1RBTyhyZXNvdXJjZVJlc3BvbnNlKTsKKworICAg
ICAgICBuZXR3b3JrRGF0YVRhc2stPndpbGxQZXJmb3JtSFRUUFJlZGlyZWN0aW9uKFdURk1vdmUo
cmVzb3VyY2VSZXNwb25zZSksIHJlcXVlc3QsIFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9j
a1B0cihjb21wbGV0aW9uSGFuZGxlciksIHRhc2tJZGVudGlmaWVyLCBzaG91bGRJZ25vcmVIU1RT
XShhdXRvJiYgcmVxdWVzdCkgewogI2lmICFMT0dfRElTQUJMRUQKICAgICAgICAgICAgIExPRyhO
ZXR3b3JrU2Vzc2lvbiwgIiVsbHUgd2lsbFBlcmZvcm1IVFRQUmVkaXJlY3Rpb24gY29tcGxldGlv
bkhhbmRsZXIgKCVzKSIsIHRhc2tJZGVudGlmaWVyLCByZXF1ZXN0LnVybCgpLnN0cmluZygpLnV0
ZjgoKS5kYXRhKCkpOwogI2Vsc2UKQEAgLTkxNSw3ICs5MTgsOSBAQCBzdGF0aWMgaW5saW5lIHZv
aWQgcHJvY2Vzc1NlcnZlclRydXN0RXZhbHVhdGlvbihOZXR3b3JrU2Vzc2lvbkNvY29hJiBzZXNz
aW9uLCBTZQogICAgICAgICAvLyBhbGwgdGhlIGZpZWxkcyB3aGVuIHNlbmRpbmcgdGhlIHJlc3Bv
bnNlIHRvIHRoZSBXZWJDb250ZW50IHByb2Nlc3Mgb3ZlciBJUEMuCiAgICAgICAgIHJlc291cmNl
UmVzcG9uc2UuZGlzYWJsZUxhenlJbml0aWFsaXphdGlvbigpOwogCi0gICAgICAgIHJlc291cmNl
UmVzcG9uc2Uuc2V0RGVwcmVjYXRlZE5ldHdvcmtMb2FkTWV0cmljcyhXZWJDb3JlOjpjb3B5VGlt
aW5nRGF0YSh0YXNrTWV0cmljcywgbmV0d29ya0RhdGFUYXNrLT5uZXR3b3JrTG9hZE1ldHJpY3Mo
KS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KSk7CisgICAgICAgIG5ldHdvcmtEYXRhVGFzay0+Y2hl
Y2tUQU8ocmVzb3VyY2VSZXNwb25zZSk7CisKKyAgICAgICAgcmVzb3VyY2VSZXNwb25zZS5zZXRE
ZXByZWNhdGVkTmV0d29ya0xvYWRNZXRyaWNzKFdlYkNvcmU6OmNvcHlUaW1pbmdEYXRhKHRhc2tN
ZXRyaWNzLCBuZXR3b3JrRGF0YVRhc2stPm5ldHdvcmtMb2FkTWV0cmljcygpKSk7CiAKICAgICAg
ICAgbmV0d29ya0RhdGFUYXNrLT5kaWRSZWNlaXZlUmVzcG9uc2UoV1RGTW92ZShyZXNvdXJjZVJl
c3BvbnNlKSwgbmVnb3RpYXRlZExlZ2FjeVRMUywgW2NvbXBsZXRpb25IYW5kbGVyID0gbWFrZUJs
b2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKSwgdGFza0lkZW50aWZpZXJdKFdlYkNvcmU6OlBvbGlj
eUFjdGlvbiBwb2xpY3lBY3Rpb24pIHsKICNpZiAhTE9HX0RJU0FCTEVECmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya0RhdGFUYXNrU291cC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya0RhdGFUYXNrU291cC5j
cHAKaW5kZXggNDU3ODA3NjA1ZDc4MWJlMzM0ODk3MzU3ODQ5ZjAwZjRjMGY1YWI1YS4uMWI3MjQ4
YjAxYTY2NDk4MjJjNDNjNTc1MWMwMWFmMmQ4NTY2ODE2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRhVGFza1NvdXAuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrRGF0YVRhc2tTb3VwLmNwcApA
QCAtODYxLDggKzg2MSw5IEBAIHZvaWQgTmV0d29ya0RhdGFUYXNrU291cDo6Y29udGludWVIVFRQ
UmVkaXJlY3Rpb24oKQogICAgICAgICByZWRpcmVjdGVkVVJMLnNldEZyYWdtZW50SWRlbnRpZmll
cihyZXF1ZXN0LnVybCgpLmZyYWdtZW50SWRlbnRpZmllcigpKTsKICAgICByZXF1ZXN0LnNldFVS
TChyZWRpcmVjdGVkVVJMKTsKIAotICAgIC8vIENoZWNrIGlmIHRoZSByZWRpcmVjdGVkIHVybCBp
cyBhbGxvd2VkIHRvIGFjY2VzcyB0aGUgcmVkaXJlY3RpbmcgdXJsJ3MgdGltaW5nIGluZm9ybWF0
aW9uLgotICAgIG1fbmV0d29ya0xvYWRNZXRyaWNzLmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QgPSAh
U2VjdXJpdHlPcmlnaW46OmNyZWF0ZShtX2N1cnJlbnRSZXF1ZXN0LnVybCgpKS0+Y2FuUmVxdWVz
dChyZXF1ZXN0LnVybCgpKTsKKyAgICBtX25ldHdvcmtMb2FkTWV0cmljcy5oYXNDcm9zc09yaWdp
blJlZGlyZWN0ID0gbV9uZXR3b3JrTG9hZE1ldHJpY3MuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCB8
fCAhU2VjdXJpdHlPcmlnaW46OmNyZWF0ZShtX2N1cnJlbnRSZXF1ZXN0LnVybCgpKS0+Y2FuUmVx
dWVzdChyZXF1ZXN0LnVybCgpKTsKKyAgICAvLyBGSVhNRTogQWRkIFRBTyBjaGVja3MgaGVyZSBh
bmQgd2hlbiByZWNlaXZpbmcgYSByZXNwb25zZS4KKyAgICAvLyBUaGlzIHdhcyBkb25lIG9uIENv
Y29hIHBsYXRmb3JtcyBpbiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjI2Njc4CiAKICAgICAvLyBDbGVhciB0aGUgdXNlciBhZ2VudCB0byBlbnN1cmUgYSBuZXcgb25l
IGlzIGNvbXB1dGVkLgogICAgIGF1dG8gdXNlckFnZW50ID0gcmVxdWVzdC5odHRwVXNlckFnZW50
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYkNvcmVTdXBwb3J0L1BpbmdI
YW5kbGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvV2ViQ29yZVN1cHBvcnQvUGluZ0hhbmRsZS5o
CmluZGV4IDA5MjljZWY5Nzg5YzBjY2YxMWEzZTk0MTBmNWRlNmZmY2FmZWJhNjAuLjFmNTU4NGZh
Mzg3ZDc2Y2NlOTRmZjdiNTY5NjhlN2U4MjIwNjA2MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvV2ViQ29yZVN1cHBvcnQvUGluZ0hhbmRsZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvV2ViQ29yZVN1cHBvcnQvUGluZ0hhbmRsZS5oCkBAIC01MCw3ICs1MCw3IEBAIHB1Ymxp
YzoKICAgICAgICAgYm9vbCBkZWZlcnNMb2FkaW5nID0gZmFsc2U7CiAgICAgICAgIGJvb2wgc2hv
dWxkQ29udGVudFNuaWZmID0gZmFsc2U7CiAgICAgICAgIGJvb2wgc2hvdWxkQ29udGVudEVuY29k
aW5nU25pZmYgPSB0cnVlOwotICAgICAgICBtX2hhbmRsZSA9IFdlYkNvcmU6OlJlc291cmNlSGFu
ZGxlOjpjcmVhdGUobmV0d29ya2luZ0NvbnRleHQsIHJlcXVlc3QsIHRoaXMsIGRlZmVyc0xvYWRp
bmcsIHNob3VsZENvbnRlbnRTbmlmZiwgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYpOworICAg
ICAgICBtX2hhbmRsZSA9IFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpjcmVhdGUobmV0d29ya2lu
Z0NvbnRleHQsIHJlcXVlc3QsIHRoaXMsIGRlZmVyc0xvYWRpbmcsIHNob3VsZENvbnRlbnRTbmlm
Ziwgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYsIG51bGxwdHIsIGZhbHNlKTsKIAogICAgICAg
ICAvLyBJZiB0aGUgc2VydmVyIG5ldmVyIHJlc3BvbmRzLCB0aGlzIG9iamVjdCB3aWxsIGhhbmcg
YXJvdW5kIGZvcmV2ZXIuCiAgICAgICAgIC8vIFNldCBhIHZlcnkgZ2VuZXJvdXMgdGltZW91dCwg
anVzdCBpbiBjYXNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9XZWJDb3JlU3Vw
cG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS9X
ZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwCmluZGV4IDkxYzgzYTA0
M2YyNzM1YTk3MDQ2ZjFkMzIzOGYwZWZhYWYzYjYzN2UuLjdkY2ZlMGI4NzljYTg1NDU2OTY4Mzdl
ZWM3Y2E4OTBmOTk4YTk5MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvV2ViQ29y
ZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAKQEAgLTEw
OSw3ICsxMDksOSBAQCB2b2lkIFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjo6bG9hZFJlc291cmNl
KEZyYW1lJiBmcmFtZSwgQ2FjaGVkUmVzb3VyY2UmIHJlc291cgogCiB2b2lkIFdlYlJlc291cmNl
TG9hZFNjaGVkdWxlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShGcmFtZUxvYWRlciYgZnJh
bWVMb2FkZXIsIHVuc2lnbmVkIGxvbmcsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwg
Q2xpZW50Q3JlZGVudGlhbFBvbGljeSwgY29uc3QgRmV0Y2hPcHRpb25zJiBvcHRpb25zLCBjb25z
dCBIVFRQSGVhZGVyTWFwJiwgUmVzb3VyY2VFcnJvciYgZXJyb3IsIFJlc291cmNlUmVzcG9uc2Um
IHJlc3BvbnNlLCBWZWN0b3I8dWludDhfdD4mIGRhdGEpCiB7Ci0gICAgUmVzb3VyY2VIYW5kbGU6
OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoZnJhbWVMb2FkZXIubmV0d29ya2luZ0NvbnRleHQo
KSwgcmVxdWVzdCwgb3B0aW9ucy5jcmVkZW50aWFscyA9PSBGZXRjaE9wdGlvbnM6OkNyZWRlbnRp
YWxzOjpPbWl0ID8gU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3k6OkRvTm90VXNlIDogU3RvcmVkQ3Jl
ZGVudGlhbHNQb2xpY3k6OlVzZSwgZXJyb3IsIHJlc3BvbnNlLCBkYXRhKTsKKyAgICBhdXRvKiBk
b2N1bWVudCA9IGZyYW1lTG9hZGVyLmZyYW1lKCkuZG9jdW1lbnQoKTsKKyAgICBhdXRvKiBzb3Vy
Y2VPcmlnaW4gPSBkb2N1bWVudCA/ICZkb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKSA6IG51bGxw
dHI7CisgICAgUmVzb3VyY2VIYW5kbGU6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoZnJhbWVM
b2FkZXIubmV0d29ya2luZ0NvbnRleHQoKSwgcmVxdWVzdCwgb3B0aW9ucy5jcmVkZW50aWFscyA9
PSBGZXRjaE9wdGlvbnM6OkNyZWRlbnRpYWxzOjpPbWl0ID8gU3RvcmVkQ3JlZGVudGlhbHNQb2xp
Y3k6OkRvTm90VXNlIDogU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3k6OlVzZSwgc291cmNlT3JpZ2lu
LCBlcnJvciwgcmVzcG9uc2UsIGRhdGEpOwogfQogCiB2b2lkIFdlYlJlc291cmNlTG9hZFNjaGVk
dWxlcjo6cGFnZUxvYWRDb21wbGV0ZWQoUGFnZSYpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggM2QxYWUzYmMwMGNlNDllN2I0
YjEzNzgyOGEyZTg1YzBlM2EwMjI0OC4uNTA2MWRmMzdmMTZmYWE4ZDA1YTAzNDQ5ODIyNWU4OGY5
MGRhODk0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIxLTA2LTA0ICBBbGV4IENocmlzdGVu
c2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBUaW1pbmctQWxs
b3ctT3JpZ2luIGNoZWNrcyB0byB0aGUgbmV0d29yayBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY2NzgKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzQ1MjI3Nzg4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMS0wNi0wNCAgQWxleCBDaHJpc3Rl
bnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEltcGxlbWVudCBvZmYt
YnktZGVmYXVsdCBleHBlcmltZW50YWwgZmVhdHVyZSBmb3IgUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZy50cmFuc2ZlclNpemUsIGVuY29kZWRCb2R5U2l6ZSwgYW5kIGRlY29kZWRCb2R5U2l6ZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZGRjYThjMjYxNGYxYmNkNmE1YmU3N2Rm
NzYzN2MyZDA0NDhlYjkyZC4uOWRiZDMzYTIzMTI4MGExZDY0ZTk5NTlhYmEwMDk3ZGY0NThhMzEw
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTU2IEBACisyMDIx
LTA2LTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgTW92ZSBUaW1pbmctQWxsb3ctT3JpZ2luIGNoZWNrcyB0byB0aGUgbmV0d29yayBwcm9j
ZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY2
NzgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ1MjI3Nzg4PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9Db2RpbmdDb252ZW50aW9ucy5tZDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9TTy1YTy1TTy1yZWRpcmVjdC1jaGFpbi10YW8u
aHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL1NPLVhPLVNPLXJlZGlyZWN0LWNoYWluLXRhby5odHRwcy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1N5bnRo
ZXRpY1Jlc3BvbnNlLnB5OgorICAgICAgICAobWFpbik6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbWF0Y2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1tYXRjaC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RB
Ty1udWxsLW9wYXF1ZS1vcmlnaW4tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1udWxsLW9wYXF1ZS1vcmlnaW4uaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9U
QU8tcG9ydC1taXNtYXRjaC1tZWFucy1jcm9zc29yaWdpbi1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLXBvcnQtbWlz
bWF0Y2gtbWVhbnMtY3Jvc3NvcmlnaW4uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9fX2luaXRfXy5weTogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtYWZ0ZXIt
ZnVsbC1ldmVudC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtYWZ0ZXItZnVsbC1ldmVudC5odG1sOgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRk
LWVudHJpZXMtZHVyaW5nLWNhbGxiYWNrLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFkZC1lbnRyaWVzLWR1cmlu
Zy1jYWxsYmFjay10aGF0LWRyb3AuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFkZC1lbnRyaWVzLWR1cmluZy1jYWxsYmFjay5o
dG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVy
LWZ1bGwtYWRkLXRoZW4tY2xlYXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLXRoZW4tY2xlYXIuaHRtbDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxs
LWRlY3JlYXNlLWJ1ZmZlci1kdXJpbmctY2FsbGJhY2suaHRtbDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluY3JlYXNlLWJ1ZmZlci1k
dXJpbmctY2FsbGJhY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5jcmVhc2UtYnVmZmVyLWR1cmluZy1jYWxs
YmFjay5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
YnVmZmVyLWZ1bGwtaW5zcGVjdC1idWZmZXItZHVyaW5nLWNhbGxiYWNrLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxs
LWluc3BlY3QtYnVmZmVyLWR1cmluZy1jYWxsYmFjay5odG1sOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc2V0LXRvLWN1cnJlbnQtYnVm
ZmVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2J1ZmZlci1mdWxsLXNldC10by1jdXJyZW50LWJ1ZmZlci5odG1sOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc3RvcmUtYW5k
LWNsZWFyLWR1cmluZy1jYWxsYmFjay1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zdG9yZS1hbmQtY2xlYXItZHVy
aW5nLWNhbGxiYWNrLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9idWZmZXItZnVsbC10aGVuLWluY3JlYXNlZC1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC10aGVuLWlu
Y3JlYXNlZC5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvYnVmZmVyLWZ1bGwtd2hlbi1wb3B1bGF0ZS1lbnRyaWVzLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXdoZW4t
cG9wdWxhdGUtZW50cmllcy5odG1sOgorICAgICAgICBBbGwgdGhlc2UgYnVmZmVyLWZ1bGwgdGVz
dHMgc3RhcnQgZmFpbGluZyB3aGVuIEkgdXBkYXRlIHRoZW0uCisgICAgICAgIFRoYXQgaXMgYW4g
dW5yZWxhdGVkIGJ1Zy4gIEZpcmVmb3ggaGFzIHRoZSBzYW1lIGJ1ZywgYW5kIHdlIGhhZCB0aGUg
c2FtZSBidWcgYmVmb3JlIGFuZCBhZnRlciB0aGlzIGNoYW5nZS4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nv
bm5lY3Rpb24tcmV1c2UuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9jb25uZWN0aW9uLXJldXNlLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0
aW9uLXJldXNlLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mtb3JpZ2luLXN0YXJ0LWVuZC10aW1lLXdpdGgtcmVkaXJl
Y3RzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhcnQtZW5kLXRpbWUtd2l0aC1yZWRpcmVjdHMu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9jcm9zcy1vcmlnaW4tc3RhdHVzLWNvZGVzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9kb2N1bWVudC1kb21haW4tbm8taW1wYWN0LW9wZW5lci1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC1vcGVuZXIuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9lbnRyeS1hdHRyaWJ1
dGVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9lbnRyeS1hdHRyaWJ1dGVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZmV0Y2gtY3Jvc3Mtb3JpZ2luLXJlZGly
ZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9mZXRjaC1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHR0cHMuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9m
b250LXRpbWVzdGFtcHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZvbnQtdGltZXN0YW1wcy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2lmcmFtZS1mYWlsZWQt
Y29tbWl0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9pZnJhbWUtZmFpbGVkLWNvbW1pdC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2luaXRpYXRvci10eXBlLWZv
ci1zY3JpcHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2luaXRpYXRvci10eXBlLWZvci1zY3JpcHQuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9uZXh0SG9wUHJv
dG9jb2wtaXMtdGFvLXByb3RlY3RlZC5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvbmV4dEhvcFByb3RvY29sLWlz
LXRhby1wcm90ZWN0ZWQuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLVRBTy1jcm9zcy1v
cmlnaW4tcmVkaXJlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItVEFPLWNyb3Nz
LW9yaWdpbi1yZWRpcmVjdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItY3Jvc3Mtb3JpZ2luLXJl
ZGlyZWN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLWNyb3NzLW9yaWdpbi1yZWRp
cmVjdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL3JlZGlyZWN0cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVkaXJlY3RzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2UtaWdub3JlLWRh
dGEtdXJsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25vcmUtZGF0YS11cmwuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9UQU9f
Y3Jvc3Nfb3JpZ2luX3JlZGlyZWN0X2NoYWluLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgVGhpcyBh
cHBhcmVudCByZWdyZXNzaW9uIGlzIGFjdHVhbGx5IGEgcHJvZ3Jlc3Npb24uCisgICAgICAgIFdo
ZW4gdGhpcyB0ZXN0IGlzIHJ1biBmcm9tIG91ciB0ZXN0IGluZnJhc3RydWN0dXJlLCBDaHJvbWUg
YW5kIEZpcmVmb3ggZmFpbCB0aGUgc2FtZSB0ZXN0cyB0aGF0IHlvdSBzZWUgbm93IGZhaWxpbmcg
aGVyZSwKKyAgICAgICAgaW5kaWNhdGluZyB0aGF0IHNvbWV0aGluZyBpcyB3cm9uZyB3aXRoIG91
ciB0ZXN0IGluZnJhc3RydWN0dXJlLiAgV2hlbiBydW4gb24gd3B0LmxpdmUsIGFsbCBicm93c2Vy
cyBwYXNzIHRoaXMgdGVzdAorICAgICAgICBhZnRlciB0aGlzIGNoYW5nZS4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX2NhY2hlZC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlX2luaXRpYXRvcl90eXBlcy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfbmVzdGVkX2RlZGljYXRlZF93b3JrZXIud29ya2VyLmpz
OgorICAgICAgICAoYXN5bmNfdGVzdCk6CisgICAgICAgIChhc3luY190ZXN0LmFzeW5jIGNvbnN0
KTogRGVsZXRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlX3RpbWluZ19jb250ZW50X2xlbmd0aC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfdGltaW5n
X2NvbnRlbnRfbGVuZ3RoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzLzIwMF9lbXB0eS5hc2lzOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9UQU9SZXNw
b25zZS5weToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2FsbF9yZXNvdXJjZV90eXBlcy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9i
dWZmZXItZnVsbC11dGlsaXRpZXMuanM6CisgICAgICAgIChjb25zdC53YWl0Rm9yTmV4dFRhc2sp
OgorICAgICAgICAoY29uc3QuZm9yY2VCdWZmZXJGdWxsRXZlbnQuYXN5bmMgY2xlYXJCdWZmZXJB
bmRTZXRTaXplKToKKyAgICAgICAgKGNvbnN0LmZvcmNlQnVmZmVyRnVsbEV2ZW50KToKKyAgICAg
ICAgKGNvbnN0LmZpbGxVcFRoZUJ1ZmZlcldpdGhUd29SZXNvdXJjZXMuYXN5bmMgY2xlYXJCdWZm
ZXJBbmRTZXRTaXplKToKKyAgICAgICAgKGFzeW5jIGNvbnN0LmZpbGxVcFRoZUJ1ZmZlcldpdGhT
aW5nbGVSZXNvdXJjZS5hc3luYyBjbGVhckJ1ZmZlckFuZFNldFNpemUpOgorICAgICAgICAoYXN5
bmMgY29uc3QpOgorICAgICAgICAobGV0LmFwcGVuZFNjcmlwdCk6IERlbGV0ZWQuCisgICAgICAg
IChsZXQud2FpdEZvck5leHRUYXNrKTogRGVsZXRlZC4KKyAgICAgICAgKGxldC53YWl0VW50aWxD
b25kaXRpb25Jc01ldC5jb25kLnJldHVybi5uZXcuUHJvbWlzZS5yZXNvbHZlLmxldC5jaGVja0Nv
bmRpdGlvbik6IERlbGV0ZWQuCisgICAgICAgIChsZXQud2FpdEZvckV2ZW50VG9GaXJlLnJldHVy
bi5uZXcuUHJvbWlzZSk6IERlbGV0ZWQuCisgICAgICAgIChsZXQud2FpdEZvckV2ZW50VG9GaXJl
KTogRGVsZXRlZC4KKyAgICAgICAgKGxldC5maWxsVXBUaGVCdWZmZXJXaXRoVHdvUmVzb3VyY2Vz
LmFzeW5jIHNyYyk6IERlbGV0ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvY2FjaGVhYmxlLWFuZC12YWxpZGF0ZWQucHk6IEFkZGVkLgor
ICAgICAgICAobWFpbik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvY29ubmVjdGlvbi1yZXVzZS10ZXN0LmpzOiBBZGRlZC4KKyAgICAgICAg
KGF0dHJpYnV0ZV90ZXN0LmFzeW5jIGNsaWVudCk6CisgICAgICAgIChhdHRyaWJ1dGVfdGVzdCk6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMv
Y3NwLWRlZmF1bHQtbm9uZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0bWwuaGVhZGVy
czogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVudC1y
ZWZyZXNoZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvZG9jdW1lbnQtdGhhdC1yZWZyZXNoZXMuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMv
ZW1iZWQtcmVmcmVzaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi1mcmFtZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlcy9ncmVlbi5odG1sLmhlYWRlcnM6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2d6aXBfeG1sLnB5OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2lmcmFtZS1y
ZWZyZXNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvcmVzb3VyY2VzL2lmcmFtZS1yZWxvYWQtVEFPLnN1Yi5odG1sOgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRpX3JlZGly
ZWN0LnB5OgorICAgICAgICAobWFpbik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9yZXNvdXJjZXMvb2JqZWN0LXJlZnJlc2guaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVkaXJl
Y3QtY29ycy5weTogQWRkZWQuCisgICAgICAgIChtYWluKToKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9yZXNvdXJjZS10aW1pbmctY29udGVu
dC1sZW5ndGgucHk6IEFkZGVkLgorICAgICAgICAobWFpbik6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVzb3VyY2VfdGltaW5nX3Rlc3Qw
LnhtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy9zaXplcy1oZWxwZXIuanM6IEFkZGVkLgorICAgICAgICAoY29uc3QuY2hlY2tTaXplRmll
bGRzKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy9zdGF0dXMtY29kZS5weToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5q
czoKKyAgICAgICAgKHRlc3RfbmFtZXNwYWNlKToKKyAgICAgICAgKHRlc3RfYXR0cmlidXRlX2V4
aXN0cyk6CisgICAgICAgICh0ZXN0X2VudW0pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzc2V4dGVuc2lvbi5q
czoKKyAgICAgICAgKHRlc3RfbWV0aG9kX2V4aXN0cyk6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9zYW1lLW9yaWdpbi1mcm9tLWNyb3NzLW9yaWdpbi1yZWRp
cmVjdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvc2FtZS1vcmlnaW4tZnJvbS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9z
aXplcy1jYWNoZS5hbnkuanM6IEFkZGVkLgorICAgICAgICAoY29uc3QuYWNjdW11bGF0ZUVudHJp
ZXMpOgorICAgICAgICAoY29uc3QuY2hlY2tSZXNvdXJjZVNpemVzLmxpc3QubGV0LmVudHJ5Lm9m
LmVudHJpZXMuZWxzZSk6CisgICAgICAgIChwcm9taXNlX3Rlc3QpOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3QtaW1nLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9zaXplcy1yZWRpcmVjdC1pbWcuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC5hbnkuanM6IEFkZGVkLgorICAg
ICAgICAoY29uc3QuYWNjdW11bGF0ZUVudHJ5KToKKyAgICAgICAgKGNvbnN0LmNoZWNrUmVzb3Vy
Y2VTaXplcyk6CisgICAgICAgIChjb25zdC5yZWRpcmVjdFVybCk6CisgICAgICAgIChwcm9taXNl
X3Rlc3QpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc3Rh
dHVzLWNvZGVzLWNyZWF0ZS1lbnRyeS5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90aW1pbmctZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90
aW1pbmcuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvd29ya2VyU3RhcnQtdGFvLXByb3RlY3RlZC5odHRwcy5odG1sOgorCiAy
MDIxLTA2LTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgSW1wbGVtZW50IG9mZi1ieS1kZWZhdWx0IGV4cGVyaW1lbnRhbCBmZWF0dXJlIGZv
ciBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLnRyYW5zZmVyU2l6ZSwgZW5jb2RlZEJvZHlTaXpl
LCBhbmQgZGVjb2RlZEJvZHlTaXplCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBmZjdjZjhmN2NiODk2
N2Q4OThlYTcwNmZiZjNjMDMxOWEyOGE1OTU3Li5jM2E2YjIxNWNkYzY5MmVjYjllZmIwZTE4NTI4
N2QyZGU2NDYzYTI2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTkzMSw2ICs5MzEsOSBAQCBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50c291cmNlL3JlcXVlc3QtY3JlZGVudGlh
bHMuaHRtIFsgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlh
Y2FwdHVyZS1mcm9tZWxlbWVudC9jYXB0dXJlLmh0bWwgWyBGYWlsdXJlIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLWZyb21lbGVtZW50L2VuZGVkLmh0bWwg
WyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJl
LWZyb21lbGVtZW50L2NyZWF0aW9uLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQoraW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZm9udC10aW1lc3RhbXBzLmh0bWwg
WyBGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL1NPLVhPLVNPLXJlZGlyZWN0LWNoYWluLXRhby5odHRwcy5odG1sIFsgRmFpbHVyZSBdCitp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9U
QU9fY3Jvc3Nfb3JpZ2luX3JlZGlyZWN0X2NoYWluLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5v
cmcvYi8xODAyNDAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvc2luZ2xlLWVudHJ5LXBlci1yZXNvdXJjZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIHdlYmtp
dC5vcmcvYi8xODk5MDYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VfdGltaW5nX2J1ZmZlcl9mdWxsX2V2ZW50dWFsbHkuaHRtbCBbIFNraXAg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2UtcmVsb2FkLVRBTy5zdWIuaHRtbCBbIFNraXAgXQpAQCAtMTM4MywxOCArMTM4NiwxNiBAQCBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlZGlyZWN0LWJvZ3VzLmh0
bSBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1yZWRp
cmVjdC10by1jb3JzLmh0bSBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvc2VuZC1yZWRpcmVjdC10by1ub24tY29ycy5odG0gWyBTa2lwIF0KIAotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90aW1p
bmcuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy90ZXN0X3Jlc291cmNlX3RpbWluZy5odHRwcy5odG1sIFsgUGFzcyBG
YWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2J1ZmZlci1mdWxsLWFkZC1lbnRyaWVzLWR1cmluZy1jYWxsYmFjay10aGF0LWRyb3AuaHRtbCBb
IFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
YnVmZmVyLWZ1bGwtZGVjcmVhc2UtYnVmZmVyLWR1cmluZy1jYWxsYmFjay5odG1sIFsgU2tpcCBd
CitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXIt
ZnVsbC1pbmNyZWFzZS1idWZmZXItZHVyaW5nLWNhbGxiYWNrLmh0bWwgWyBTa2lwIF0KK2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFk
ZC1lbnRyaWVzLWR1cmluZy1jYWxsYmFjay5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhdHVzLWNvZGVz
Lmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL25lc3RlZC1jb250ZXh0LW5hdmlnYXRpb25zLWVtYmVkLmh0bWwgWyBTa2lwIF0KIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL25lc3RlZC1jb250
ZXh0LW5hdmlnYXRpb25zLWlmcmFtZS5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9uZXN0ZWQtY29udGV4dC1uYXZpZ2F0aW9ucy1v
YmplY3QuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvcmVzb3VyY2VfbmVzdGVkX2RlZGljYXRlZF93b3JrZXIud29ya2VyLmh0bWwg
WyBTa2lwIF0KIAotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VfY29ubmVjdGlvbl9yZXVzZS5odG1sIFsgRmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9jb25uZWN0aW9u
X3JldXNlLmh0dHBzLmh0bWwgWyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX3JlcGFyZW50aW5nLmh0bWwgWyBGYWlsdXJl
IF0KIAogd2Via2l0Lm9yZy9iLzE2ODM1NyBodHRwL3dwdC9yZXNvdXJjZS10aW1pbmcvcnQtaW5p
dGlhdG9yVHlwZS1tZWRpYS5odG1sIFsgRmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9Db2RpbmdD
b252ZW50aW9ucy5tZCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL0NvZGluZ0NvbnZlbnRpb25zLm1kCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5Yjhk
MTM0MzVlZjQ5OTE5NTMzZWY3NDk3MzI2ZGFjMDZiZjk2NGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9Db2RpbmdDb252ZW50aW9ucy5tZApAQCAtMCwwICsxLDc3IEBACitGb3IgW1Jlc291cmNlIFRp
bWluZ11bMV0gdGVzdHMsIHdlIHdhbnQgdG8gaGF2ZSBhIGNvbnNpc3RlbnQgYW5kIGNsZWFyIGNv
ZGluZworc3R5bGUuIFRoZSBnb2FscyBvZiB0aGlzIHN0eWxlIGFyZSB0bzoKKyogICBNYWtlIGl0
IGVhc2llciBmb3IgbmV3IGNvbnRyaWJ1dG9ycyB0byBmaW5kIHRoZWlyIHdheSBhcm91bmQKKyog
ICBIZWxwIGltcHJvdmUgcmVhZGFiaWxpdHkgYW5kIG1haW50YWluYWJpbGl0eQorKiAgIEhlbHAg
dXMgdW5kZXJzdGFuZCB3aGljaCBwYXJ0cyBvZiB0aGUgc3BlYyBhcmUgdGVzdGVkIG9yIG5vdAor
TG90cyBvZiB0aGUgZm9sbG93aW5nIHJ1bGVzIGFyZSBhcmJpdHJhcnkgYnV0IHRoZSB2YWx1ZSBp
cyByZWFsaXplZCBpbgorY29uc2lzdGVuY3kgaW5zdGVhZCBvZiBhZGhlcmluZyB0byB0aGUgJ3Bl
cmZlY3QnIHN0eWxlLgorCitXZSB3YW50IHRoZSB0ZXN0IHN1aXRlIHRvIGJlIG5hdmlnYWJsZS4g
RGV2ZWxvcGVycyBzaG91bGQgYmUgYWJsZSB0byBlYXNpbHkKK2ZpbmQgdGhlIGZpbGUgb3IgdGVz
dCB0aGF0IGlzIHJlbGV2YW50IHRvIHRoZWlyIHdvcmsuCisqICAgVGVzdHMgc2hvdWxkIGJlIGFy
cmFuZ2VkIGluIGZpbGVzIGFjY29yZGluZyB0byB3aGljaCBwaWVjZSBvZiB0aGUgc3BlYyB0aGV5
CisgICAgdGVzdAorKiAgIEZpbGVzIHNob3VsZCBiZSBuYW1lZCB1c2luZyBhIGNvbnNpc3RlbnQg
cGF0dGVybgorKiAgIEhUTUwgZmlsZXMgc2hvdWxkIGluY2x1ZGUgdXNlZnVsIG1ldGEgdGFncwor
ICAgICogICBgPHRpdGxlPmAgZm9yIGNvbnRyb2xsaW5nIGxhYmVscyBpbiByZXN1bHRzIHBhZ2Vz
CisgICAgKiAgIGA8bGluayByZWw9ImhlbHAiPmAgdG8gcG9pbnQgYXQgdGhlIHJlbGV2YW50IHBp
ZWNlIG9mIHRoZSBzcGVjCisKK1dlIHdhbnQgdGhlIHRlc3Qgc3VpdGUgdG8gcnVuIGNvbnNpc3Rl
bnRseS4gRmxha3kgdGVzdHMgYXJlIGNvdW50ZXJwcm9kdWN0aXZlLgorKiAgIFByZWZlciBgcHJv
bWlzZV90ZXN0YCB0byBgYXN5bmNfdGVzdGAKKyAgICAqICAgTm90ZSB0aGF0IHRoZXJl4oCZcyBb
c3RpbGwgcG90ZW50aWFsIGZvciBzb21lIGNvbmN1cnJlbmN5XVsyXTsgdXNlCisgICAgICAgIGBh
ZGRfY2xlYW51cCgpYCBpZiBuZWVkZWQKKworV2Ugd2FudCB0aGUgdGVzdHMgdG8gYmUgcmVhZGFi
bGUuIFRlc3RzIHNob3VsZCBiZSB3cml0dGVuIGluIGEgbW9kZXJuIHN0eWxlCit3aXRoIHJlY3Vy
cmluZyBwYXR0ZXJucy4KKyogICA4MCBjaGFyYWN0ZXIgbGluZSBsaW1pdHMgd2hlcmUgd2UgY2Fu
CisqICAgQ29uc2lzdGVudCB1c2Ugb2YgYW5vbnltb3VzIGZ1bmN0aW9ucworICAgICogICBwcmVm
ZXIKKyAgICAgICAgYGBgCisgICAgICAgIGNvbnN0IGZ1bmMxID0gcGFyYW0xID0+IHsKKyAgICAg
ICAgICBib2R5KCk7CisgICAgICAgIH0KKyAgICAgICAgY29uc3QgZnVuYzIgPSAocGFyYW0xLCBw
YXJhbTIpID0+IHsKKyAgICAgICAgICBib2R5KCk7CisgICAgICAgIH0KKyAgICAgICAgZm4ocGFy
YW0gPT4geworICAgICAgICAgICAgYm9keSgpOworICAgICAgICB9KTsKKyAgICAgICAgYGBgCisK
KyAgICAgICAgb3ZlcgorCisgICAgICAgIGBgYAorICAgICAgICBmdW5jdGlvbiBmdW5jMShwYXJh
bTEpIHsKKyAgICAgICAgICBib2R5KCk7CisgICAgICAgIH0KKyAgICAgICAgZnVuY3Rpb24gZnVu
YzIocGFyYW0xLCBwYXJhbTIpIHsKKyAgICAgICAgICBib2R5KCk7CisgICAgICAgIH0KKyAgICAg
ICAgZm4oZnVuY3Rpb24ocGFyYW0pIHsKKyAgICAgICAgICAgIGJvZHkoKTsKKyAgICAgICAgfSk7
CisgICAgICAgIGBgYAorCisqICAgUHJlZmVyIGBjb25zdGAgKG9yLCBpZiBuZWVkZWQsIGBsZXRg
KSB0byBgdmFyYAorKiAgIENvbnRhaW4gdXNlIG9mIOKAmC5zdWLigJkgaW4gZmlsZW5hbWVzIHRv
IGtub3duIGhlbHBlciB1dGlsaXRpZXMgd2hlcmUgcG9zc2libGUKKyAgICAqICAgRS5nLiBwcmVm
ZXIgdXNlIG9mIGdldC1ob3N0LWluZm8uc3ViLmpzIHRvIGB7e2hvc3R9fWAgb3IgYHt7cG9ydHNb
MF19fWAKKyAgICAgICAgZXhwcmVzc2lvbnMKKyogICBBdm9pZCB1c2Ugb2Ygd2VicGVyZnRlc3Ro
YXJuZXNzW2V4dGVuc2lvbl0uanMgYXMgaXTigJlzIGEgbGF5ZXIgb2YgY29nbml0aXZlCisgICAg
b3ZlcmhlYWQgYmV0d2VlbiB0ZXN0IGNvbnRlbnQgYW5kIHRlc3QgaW50ZW50CisgICAgKiAgIEhl
bHBlciAuanMgZmlsZXMgYXJlIHN0aWxsIGVuY291cmFnZWQgd2hlcmUgaXQgbWFrZXMgc2Vuc2Ug
YnV0IHdlIHdhbnQKKyAgICAgICAgdG8gYXZvaWQgYSB0ZXN0aW5nIGZyYW1ld29yayB0aGF0IGlz
IHNwZWNpZmljIHRvIFJlc291cmNlIFRpbWluZyAob3IKKyAgICAgICAgd2ViIHBlcmZvcm1hbmNl
IEFQSXMsIGluIGdlbmVyYWwpLgorKiAgIFByZWZlciBbYGZldGNoX3Rlc3RzX2Zyb21fd2luZG93
YF1bM10gdG8gY29sbGVjdCB0ZXN0IHJlc3VsdHMgZnJvbSBlbWJlZGRlZAorICAgIGlmcmFtZXMg
aW5zdGVhZCBvZiBoYW5kLXJvbGxlZCBgcG9zdE1lc3NhZ2VgIGFwcHJvYWNoZXMKKyogICBVc2Ug
dGhlIFtgYXNzZXJ0XypgXVs0XSBmYW1pbHkgb2YgZnVuY3Rpb25zIHRvIGNoZWNrIGNvbmZvcm1h
bmNlIHRvIHRoZSBzcGVjCisgICAgYnV0IHRocm93IGV4Y2VwdGlvbnMgZXhwbGljaXRseSB3aGVu
IHRoZSB0ZXN0IGl0c2VsZiBpcyBicm9rZW4uCisgICAgKiAgICBBIGZhaWxlZCBhc3NlcnQgaW5k
aWNhdGVzICJ0aGUgaW1wbGVtZW50YXRpb24gZG9lc24ndCBjb25mb3JtIHRvIHRoZQorICAgICAg
ICAgc3BlYyIKKyAgICAqICAgIE90aGVyIHVuY2F1Z2h0IGV4Y2VwdGlvbnMgaW5kaWNhdGUgInRo
ZSB0ZXN0IGNhc2UgaXRzZWxmIGhhcyBhIGJ1ZyIKKyogICBXaGVyZSBwb3NzaWJsZSwgd2Ugd2Fu
dCB0ZXN0cyB0byBiZSBzY2FsYWJsZSAtIGFkZGluZyBhbm90aGVyIHRlc3QgY2FzZQorICAgIHNo
b3VsZCBiZSBhcyBzaW1wbGUgYXMgY2FsbGluZyB0aGUgdGVzdHMgd2l0aCBuZXcgcGFyYW1ldGVy
cywgcmF0aGVyIHRoYW4KKyAgICBjb3B5aW5nIGFuIGV4aXN0aW5nIHRlc3QgYW5kIG1vZGlmeWlu
ZyBpdC4KKworWzFdOiBodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvCitb
Ml06IGh0dHBzOi8vd2ViLXBsYXRmb3JtLXRlc3RzLm9yZy93cml0aW5nLXRlc3RzL3Rlc3RoYXJu
ZXNzLWFwaS5odG1sI3Byb21pc2UtdGVzdHMKK1szXTogaHR0cHM6Ly93ZWItcGxhdGZvcm0tdGVz
dHMub3JnL3dyaXRpbmctdGVzdHMvdGVzdGhhcm5lc3MtYXBpLmh0bWwjY29uc29saWRhdGluZy10
ZXN0cy1mcm9tLW90aGVyLWRvY3VtZW50cworWzRdOiBodHRwczovL3dlYi1wbGF0Zm9ybS10ZXN0
cy5vcmcvd3JpdGluZy10ZXN0cy90ZXN0aGFybmVzcy1hcGkuaHRtbCNsaXN0LW9mLWFzc2VydGlv
bnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL1NPLVhPLVNPLXJlZGlyZWN0LWNoYWluLXRhby5odHRwcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9TTy1YTy1TTy1yZWRpcmVjdC1jaGFpbi10YW8uaHR0cHMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjVmOGQyOTAzZDUxMDU2NTBlYTljZjU3NzQzY2ExMjJlMjc3MWE2NDcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9TTy1YTy1TTy1yZWRpcmVjdC1jaGFpbi10YW8uaHR0cHMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorCitGQUlMIFZlcmlmeSB0aGF0IGNyb3NzIG9y
aWdpbiByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIG5vdCBleHBvc2VkIHdoZW4gc2FtZS1vcmlnaW49
PmNyb3NzLW9yaWdpbj0+c2FtZS1vcmlnaW4gcmVkaXJlY3RzIGhhdmUgbm8gYFRpbWluZy1BbGxv
dy1PcmlnaW46YCBoZWFkZXJzLiBhc3NlcnRfZXF1YWxzOiBkb21haW5Mb29rdXBTdGFydCBzaG91
bGQgYmUgMCBleHBlY3RlZCAwIGJ1dCBnb3QgPG5vbmRldGVybWluaXN0aWMgdGVzdCBvdXRwdXQ+
CitGQUlMIFZlcmlmeSB0aGF0IGNyb3NzIG9yaWdpbiByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIG5v
dCBleHBvc2VkIHdoZW4gc2FtZS1vcmlnaW49PmNyb3NzLW9yaWdpbj0+c2FtZS1vcmlnaW4gcmVk
aXJlY3RzIGhhdmUgYFRpbWluZy1BbGxvdy1PcmlnaW46YCBoZWFkZXJzIG9ubHkgb24gc29tZSBv
ZiB0aGUgcmVzcG9uc2VzLiBhc3NlcnRfZXF1YWxzOiBkb21haW5Mb29rdXBTdGFydCBzaG91bGQg
YmUgMCBleHBlY3RlZCAwIGJ1dCBnb3QgPG5vbmRldGVybWluaXN0aWMgdGVzdCBvdXRwdXQ+CitG
QUlMIFZlcmlmeSB0aGF0IGNyb3NzIG9yaWdpbiByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIGV4cG9z
ZWQgd2hlbiBjcm9zcy1vcmlnaW4gcmVkaXJlY3RzIGhhdmUgYFRpbWluZy1BbGxvdy1PcmlnaW46
ICpgIGhlYWRlcnMgYXNzZXJ0X2dyZWF0ZXJfdGhhbjogcmVkaXJlY3RTdGFydCBzaG91bGQgYmUg
Z3JlYXRlciB0aGFuIDAgZXhwZWN0ZWQgYSBudW1iZXIgZ3JlYXRlciB0aGFuIDAgYnV0IGdvdCAw
CitQQVNTIFZlcmlmeSB0aGF0IGNyb3NzIG9yaWdpbiByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIG5v
dCBleHBvc2VkIHdoZW4gc2FtZS1vcmlnaW49PmNyb3NzLW9yaWdpbj0+c2FtZS1vcmlnaW4gcmVk
aXJlY3RzIGhhdmUgYFRpbWluZy1BbGxvdy1PcmlnaW46YCBoZWFkZXJzIHdpdGggYSBzcGVjaWZp
YyBvcmlnaW4uCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1NPLVhPLVNPLXJlZGlyZWN0LWNoYWluLXRhby5o
dHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvU08tWE8tU08tcmVkaXJlY3QtY2hhaW4tdGFvLmh0dHBzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZTY1Njg5MTBlNGZlN2I2MWRjOGE4NjlkZmQ0ZmNmZjA3NTBlNzI2NQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL1NPLVhPLVNPLXJlZGlyZWN0LWNoYWluLXRhby5odHRwcy5odG1sCkBA
IC0wLDAgKzEsNjQgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlRoaXMgdGVzdCB2YWxpZGF0ZXMgcmVzb3VyY2UgdGlt
aW5nIGluZm9ybWF0aW9uIGZvciBhIHNhbWUtb3JpZ2luPT5jcm9zcy1vcmlnaW49PnNhbWUtb3Jp
Z2luIHJlZGlyZWN0IGNoYWluIHdpdGhvdXQgVGltaW5nLUFsbG93LU9yaWdpbi48L3RpdGxlPgor
PGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGlt
aW5nLTIvI3NlYy1jcm9zcy1vcmlnaW4tcmVzb3VyY2VzIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQt
aG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291
cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9lbnRyeS1p
bnZhcmlhbnRzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2NvbnN0
IHtIVFRQU19SRU1PVEVfT1JJR0lOfSA9IGdldF9ob3N0X2luZm8oKTsKK2NvbnN0IFNBTUVfT1JJ
R0lOID0gbG9jYXRpb24ub3JpZ2luOworLy8gU2FtZS1PcmlnaW4gPT4gQ3Jvc3MtT3JpZ2luID0+
IFNhbWUtT3JpZ2luID0+IFNhbWUtT3JpZ2luIHJlZGlyZWN0IGNoYWluCitsZXQgZGVzdFVybCA9
IGAke1NBTUVfT1JJR0lOfS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRpX3JlZGlyZWN0
LnB5P2A7CitkZXN0VXJsICs9IGBwYWdlX29yaWdpbj0ke1NBTUVfT1JJR0lOfWA7CitkZXN0VXJs
ICs9IGAmY3Jvc3Nfb3JpZ2luPSR7SFRUUFNfUkVNT1RFX09SSUdJTn1gOworZGVzdFVybCArPSBg
JmZpbmFsX3Jlc291cmNlPS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3Jl
ZW4uaHRtYDsKKworLy8gTm8gVEFPIGluIHRoZSByZWRpcmVjdCBjaGFpbgorYXR0cmlidXRlX3Rl
c3QoCisgIGxvYWQuaWZyYW1lLCBkZXN0VXJsLAorICBpbnZhcmlhbnRzLmFzc2VydF9jcm9zc19v
cmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAgIlZlcmlmeSB0aGF0IGNyb3NzIG9yaWdpbiBy
ZXNvdXJjZXMnIHRpbWluZ3MgYXJlIG5vdCBleHBvc2VkIHdoZW4gIiArCisgICJzYW1lLW9yaWdp
bj0+Y3Jvc3Mtb3JpZ2luPT5zYW1lLW9yaWdpbiByZWRpcmVjdHMgaGF2ZSBubyAiICsKKyAgImBU
aW1pbmctQWxsb3ctT3JpZ2luOmAgaGVhZGVycy4iKTsKKworLy8gUGFydGlhbCBUQU8gaW4gdGhl
IHJlZGlyZWN0IGNoYWluCitkZXN0VXJsICs9ICcmdGFvX3N0ZXBzPTInOworYXR0cmlidXRlX3Rl
c3QoCisgIGxvYWQuaWZyYW1lLCBkZXN0VXJsLAorICBpbnZhcmlhbnRzLmFzc2VydF9jcm9zc19v
cmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAgIlZlcmlmeSB0aGF0IGNyb3NzIG9yaWdpbiBy
ZXNvdXJjZXMnIHRpbWluZ3MgYXJlIG5vdCBleHBvc2VkIHdoZW4gIiArCisgICJzYW1lLW9yaWdp
bj0+Y3Jvc3Mtb3JpZ2luPT5zYW1lLW9yaWdpbiByZWRpcmVjdHMgaGF2ZSAiICsKKyAgImBUaW1p
bmctQWxsb3ctT3JpZ2luOmAgaGVhZGVycyBvbmx5IG9uIHNvbWUgb2YgdGhlIHJlc3BvbnNlcy4i
KTsKKworLy8gQ3Jvc3Mtb3JpZ2luID0+IENyb3NzLU9yaWdpbiA9PiBTYW1lLU9yaWdpbiA9PiBT
YW1lLU9yaWdpbiByZWRpcmVjdCBjaGFpbi4KK2Rlc3RVcmwgPSBgJHtIVFRQU19SRU1PVEVfT1JJ
R0lOfS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRpX3JlZGlyZWN0LnB5P2A7CitkZXN0
VXJsICs9IGBwYWdlX29yaWdpbj0ke1NBTUVfT1JJR0lOfWA7CitkZXN0VXJsICs9IGAmY3Jvc3Nf
b3JpZ2luPSR7SFRUUFNfUkVNT1RFX09SSUdJTn1gOworZGVzdFVybCArPSBgJmZpbmFsX3Jlc291
cmNlPS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2JsdWUtd2l0aC10YW8ucG5nYDsKK2Rlc3RV
cmwgKz0gYCZ0YW9fc3RlcHM9M2A7CisKKy8vIEZ1bGwgcmVkaXJlY3QgY2hhaW4gd2l0aCBgVEFP
OiAqYC4KK2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLmltYWdlLCBkZXN0VXJsLAorICBpbnZhcmlh
bnRzLmFzc2VydF90YW9fZW5hYmxlZF9jcm9zc19vcmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwK
KyAgIlZlcmlmeSB0aGF0IGNyb3NzIG9yaWdpbiByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIGV4cG9z
ZWQgd2hlbiBjcm9zcy1vcmlnaW4gIiArCisgICJyZWRpcmVjdHMgaGF2ZSBgVGltaW5nLUFsbG93
LU9yaWdpbjogKmAgaGVhZGVycyIpOworCisvLyBUQU8gd2l0aCBhIHNwZWNpZmljIG9yaWdpbgor
ZGVzdFVybCArPSBgJnRhb192YWx1ZT0ke1NBTUVfT1JJR0lOfWA7CithdHRyaWJ1dGVfdGVzdCgK
KyAgbG9hZC5pbWFnZSwgZGVzdFVybCwKKyAgaW52YXJpYW50cy5hc3NlcnRfY3Jvc3Nfb3JpZ2lu
X3JlZGlyZWN0ZWRfcmVzb3VyY2UsCisgICJWZXJpZnkgdGhhdCBjcm9zcyBvcmlnaW4gcmVzb3Vy
Y2VzJyB0aW1pbmdzIGFyZSBub3QgZXhwb3NlZCB3aGVuICIgKworICAic2FtZS1vcmlnaW49PmNy
b3NzLW9yaWdpbj0+c2FtZS1vcmlnaW4gcmVkaXJlY3RzIGhhdmUgIiArCisgICJgVGltaW5nLUFs
bG93LU9yaWdpbjpgIGhlYWRlcnMgd2l0aCBhIHNwZWNpZmljIG9yaWdpbi4iKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU3ludGhldGljUmVzcG9uc2UucHkg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9TeW50aGV0aWNSZXNwb25zZS5weQppbmRleCBkYzU3ZDg0NTFmOWYxZWVmNjgxMjc4Yzg3
NTZkMTBiN2VmMmFmNGIxLi42Zjg4OGYzNzg5NmUxMjQwMTMwMWUxODdlYmQ1MTdlOTQyYTdlY2U4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9TeW50aGV0aWNSZXNwb25zZS5weQorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9TeW50aGV0aWNS
ZXNwb25zZS5weQpAQCAtMSw4ICsxLDkgQEAKLWZyb20gc2l4Lm1vdmVzLnVybGxpYi5wYXJzZSBp
bXBvcnQgdW5xdW90ZQorZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHVucXVvdGUKIAogZnJvbSB3
cHRzZXJ2ZS51dGlscyBpbXBvcnQgaXNvbW9ycGhpY19kZWNvZGUsIGlzb21vcnBoaWNfZW5jb2Rl
CiAKLWltcG9ydCBzbGVlcAoraW1wb3J0IGltcG9ydGxpYgorc2xlZXAgPSBpbXBvcnRsaWIuaW1w
b3J0X21vZHVsZSgicmVzb3VyY2UtdGltaW5nLnNsZWVwIikKIAogZGVmIG1haW4ocmVxdWVzdCwg
cmVzcG9uc2UpOgogICAgIGluZGV4ID0gaXNvbW9ycGhpY19lbmNvZGUocmVxdWVzdC5yZXF1ZXN0
X3BhdGgpLmluZGV4KGIiPyIpCkBAIC00Myw4ICs0NCw2IEBAIGRlZiBtYWluKHJlcXVlc3QsIHJl
c3BvbnNlKToKICAgICAgICAgICAgICAgICByZXNwb25zZS53cml0ZXIuZW5kX2hlYWRlcnMoKQog
ICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBzdGF0dXNTZW50ID0gVHJ1ZQotICAg
ICAgICBlbGlmIGFyZyA9PSBiImZsdXNoIjoKLSAgICAgICAgICAgIHJlc3BvbnNlLndyaXRlci5m
bHVzaCgpCiAKICMgICAgICAgIGVsc2U6CiAjICAgICAgICAgICAgZXJyb3IgIiAgSU5WQUxJRCBB
UkdVTUVOVCAlcyIgJSBhcmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1tYXRjaC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9UQU8tbWF0Y2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEwZTc2YTgxYWY2ZWI1Yjc1
ZTRlYzEyMmIyOTZhYjZhZDdlY2ZjYmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbWF0Y2gt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKKworUEFTUyBUaGUgdGltaW5nIGFsbG93IGNo
ZWNrIGFsZ29yaXRobSB3aWxsIHBhc3Mgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiBoZWFk
ZXIgdmFsdWUgbGlzdCBjb250YWlucyBhIGNhc2Utc2Vuc2l0aXZlIG1hdGNoLgorUEFTUyBUaGUg
dGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIHBhc3Mgd2hlbiB0aGUgVGltaW5nLUFs
bG93LU9yaWdpbiBoZWFkZXIgdmFsdWUgbGlzdCBjb250YWlucyBhIHdpbGRjYXJkLgorUEFTUyBU
aGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIGZhaWwgd2hlbiB0aGUgVGltaW5n
LUFsbG93LU9yaWdpbiBoZWFkZXIgdmFsdWUgbGlzdCBjb250YWlucyBhIG51bGwgb3JpZ2luLgor
UEFTUyBUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIHBhc3Mgd2hlbiB0aGUg
VGltaW5nLUFsbG93LU9yaWdpbiBoZWFkZXIgdmFsdWUgbGlzdCBjb250YWlucyB0aGUgb3JpZ2lu
IGFuZCBhIHdpbGRjYXJkLgorUEFTUyBUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3
aWxsIHBhc3Mgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiBoZWFkZXIgdmFsdWUgbGlzdCBj
b250YWlucyBtdWx0aXBsZSB3aWxkY2FyZHMuCitQQVNTIFRoZSB0aW1pbmcgYWxsb3cgY2hlY2sg
YWxnb3JpdGhtIHdpbGwgcGFzcyB3aGVuIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRlciB2
YWx1ZSBjb250YWlucyBvbmx5IHRoZSBvcmlnaW4uCitQQVNTIFRoZSB0aW1pbmcgYWxsb3cgY2hl
Y2sgYWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRl
ciB2YWx1ZSBjb250YWlucyBvbmx5IHRoZSB1cHBlcmNhc2VkIG9yaWdpbi4KK1BBU1MgVGhlIHRp
bWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1BbGxv
dy1PcmlnaW4gaGVhZGVyIHZhbHVlIGNvbnRhaW5zIG9ubHkgYSBzcGFjZS4KK1BBU1MgVGhlIHRp
bWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1BbGxv
dy1PcmlnaW4gaGVhZGVyIHZhbHVlIGNvbnRhaW5zIG9ubHkgYSB3aWxkY2FyZC4KK1BBU1MgVGhl
IHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1B
bGxvdy1PcmlnaW4gaGVhZGVyIGlzIG5vdCBwcmVzZW50LgorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8t
bWF0Y2guaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL1RBTy1tYXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEyNjQ1YTYzOGJlZjI2
YTY1NWVmMjUzZjY1NWM5NWFjOTYwN2ZmZjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbWF0
Y2guaHRtbApAQCAtMCwwICsxLDY5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmcgVEFPIHRl
c3RzPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRw
Oi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIgorICAgICAgaHJlZj0iaHR0
cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyN0aW1pbmctYWxsb3ctb3JpZ2lu
Ii8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFudHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+
Citjb25zdCB7UkVNT1RFX09SSUdJTn0gPSBnZXRfaG9zdF9pbmZvKCk7Citjb25zdCBwYXRoID0g
UkVNT1RFX09SSUdJTiArICcvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9UQU9SZXNwb25zZS5w
eT90YW89JzsKKworYXR0cmlidXRlX3Rlc3QobG9hZC54aHJfc3luYywgcGF0aCArICdtYXRjaF9v
cmlnaW4nLAorICBpbnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc19ub19yZWRpcmVjdF9odHRwLAor
J1RoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgcGFzcyB3aGVuIHRoZSBUaW1p
bmctQWxsb3ctT3JpZ2luICcgKworJ2hlYWRlciB2YWx1ZSBsaXN0IGNvbnRhaW5zIGEgY2FzZS1z
ZW5zaXRpdmUgbWF0Y2guJyk7CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQueGhyX3N5bmMsIHBhdGgg
KyAnbWF0Y2hfd2lsZGNhcmQnLAorICBpbnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc19ub19yZWRp
cmVjdF9odHRwLAorJ1RoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgcGFzcyB3
aGVuIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luICcgKworJ2hlYWRlciB2YWx1ZSBsaXN0IGNvbnRh
aW5zIGEgd2lsZGNhcmQuJyk7CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQueGhyX3N5bmMsIHBhdGgg
KyAnbnVsbCcsCisgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19mYWlsdXJlX3Jlc291cmNlLAorJ1Ro
ZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRoZSBUaW1pbmct
QWxsb3ctT3JpZ2luICcgKworJ2hlYWRlciB2YWx1ZSBsaXN0IGNvbnRhaW5zIGEgbnVsbCBvcmln
aW4uJyk7CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQueGhyX3N5bmMsIHBhdGggKyAnbXVsdGknLAor
ICBpbnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc19ub19yZWRpcmVjdF9odHRwLAorJ1RoZSB0aW1p
bmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgcGFzcyB3aGVuIHRoZSBUaW1pbmctQWxsb3ct
T3JpZ2luICcgKworJ2hlYWRlciB2YWx1ZSBsaXN0IGNvbnRhaW5zIHRoZSBvcmlnaW4gYW5kIGEg
d2lsZGNhcmQuJyk7CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQueGhyX3N5bmMsIHBhdGggKyAnbXVs
dGlfd2lsZGNhcmQnLAorICBpbnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc19ub19yZWRpcmVjdF9o
dHRwLAorJ1RoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgcGFzcyB3aGVuIHRo
ZSBUaW1pbmctQWxsb3ctT3JpZ2luICcgKworJ2hlYWRlciB2YWx1ZSBsaXN0IGNvbnRhaW5zIG11
bHRpcGxlIHdpbGRjYXJkcy4nKTsKKworYXR0cmlidXRlX3Rlc3QobG9hZC54aHJfc3luYywgcGF0
aCArICdvcmlnaW4nLAorICBpbnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc19ub19yZWRpcmVjdF9o
dHRwLAorJ1RoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgcGFzcyB3aGVuIHRo
ZSBUaW1pbmctQWxsb3ctT3JpZ2luICcgKworJ2hlYWRlciB2YWx1ZSBjb250YWlucyBvbmx5IHRo
ZSBvcmlnaW4uJyk7CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQueGhyX3N5bmMsIHBhdGggKyAndXBw
ZXJjYXNlJywKKyAgaW52YXJpYW50cy5hc3NlcnRfdGFvX2ZhaWx1cmVfcmVzb3VyY2UsCisnVGhl
IHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1B
bGxvdy1PcmlnaW4gJyArCisnaGVhZGVyIHZhbHVlIGNvbnRhaW5zIG9ubHkgdGhlIHVwcGVyY2Fz
ZWQgb3JpZ2luLicpOworCithdHRyaWJ1dGVfdGVzdChsb2FkLnhocl9zeW5jLCBwYXRoICsgJ3Nw
YWNlJywKKyAgaW52YXJpYW50cy5hc3NlcnRfdGFvX2ZhaWx1cmVfcmVzb3VyY2UsCisnVGhlIHRp
bWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1BbGxv
dy1PcmlnaW4gJyArCisnaGVhZGVyIHZhbHVlIGNvbnRhaW5zIG9ubHkgYSBzcGFjZS4nKTsKKwor
YXR0cmlidXRlX3Rlc3QobG9hZC54aHJfc3luYywgcGF0aCArICd3aWxkY2FyZCcsCisgIGludmFy
aWFudHMuYXNzZXJ0X3Rhb19wYXNzX25vX3JlZGlyZWN0X2h0dHAsCisnVGhlIHRpbWluZyBhbGxv
dyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4g
JyArCisnaGVhZGVyIHZhbHVlIGNvbnRhaW5zIG9ubHkgYSB3aWxkY2FyZC4nKTsKKworYXR0cmli
dXRlX3Rlc3QobG9hZC54aHJfc3luYywgcGF0aCArICd6ZXJvJywKKyAgaW52YXJpYW50cy5hc3Nl
cnRfdGFvX2ZhaWx1cmVfcmVzb3VyY2UsCisnVGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0
aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gJyArCisnaGVhZGVyIGlz
IG5vdCBwcmVzZW50LicpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9UQU8tbnVsbC1vcGFxdWUtb3JpZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1udWxsLW9w
YXF1ZS1vcmlnaW4tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkNmEzN2YxNDUwZTI5OWNmY2Y1
ODU0ZjY5YmVjMDQ5M2ZjMjE0YmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbnVsbC1vcGFx
dWUtb3JpZ2luLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK0Rlc2NyaXB0aW9uCisKK1Ro
aXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCwgZm9yIGEgY3Jvc3Mgb3JpZ2luIHJlc291cmNlLCB0aGUg
dGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIHN1Y2NlZWQgd2hlbiB0aGUgdmFsdWUg
b2YgVGltaW5nLUFsbG93LU9yaWdpbiBpcyBudWxsIGFuZCB0aGUgb3JpZ2luIGlzIGFuIG9wYXF1
ZSBvcmlnaW4uCisKKworUEFTUyBBbiBvcGFxdWUgb3JpZ2luIHNob3VsZCBiZSBhdXRob3JpemVk
IHRvIHNlZSByZXNvdXJjZSB0aW1pbmdzIHdoZW4gdGhlIFRBTyBoZWFkZXIgaXMgdGhlIHN0cmlu
ZyAnbnVsbCcKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW51bGwtb3BhcXVlLW9yaWdpbi5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvVEFPLW51bGwtb3BhcXVlLW9yaWdpbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY1NDhhN2I5YWQ0Mzc0
MDdlYWRlZDJjNmVmYzQ5NzRkZWMyNDJlY2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbnVs
bC1vcGFxdWUtb3JpZ2luLmh0bWwKQEAgLTAsMCArMSw1NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2Ug
VGltaW5nIFRBTyAtICJudWxsIiBhbmQgb3BhcXVlIG9yaWdpbjwvdGl0bGU+Cis8bGluayByZWw9
ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4K
KzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRp
bWluZy0yLyN0aW1pbmctYWxsb3ctb3JpZ2luIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1p
bmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5EZXNjcmlwdGlvbjwv
aDE+Cis8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQsIGZvciBhIGNyb3NzIG9yaWdpbiByZXNv
dXJjZSwgdGhlIHRpbWluZyBhbGxvdworY2hlY2sgYWxnb3JpdGhtIHdpbGwgc3VjY2VlZCB3aGVu
IHRoZSB2YWx1ZSBvZiBUaW1pbmctQWxsb3ctT3JpZ2luIGlzIG51bGwgYW5kCit0aGUgb3JpZ2lu
IGlzIGFuIG9wYXF1ZSBvcmlnaW4uPC9wPgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxpZnJhbWUg
aWQ9ImZyYW1lQ29udGV4dCI+PC9pZnJhbWU+Cis8c2NyaXB0PgorY29uc3Qgb3JpZ2luID0gZ2V0
X2hvc3RfaW5mbygpWyJPUklHSU4iXTsKK2NvbnN0IGZyYW1lX2NvbnRlbnQgPSBgZGF0YTp0ZXh0
L2h0bWw7dXRmOCw8Ym9keT4KKyAgPHNjcmlwdCBzcmM9IiR7b3JpZ2lufS9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvYCArIGBzY3JpcHQ+CisgIDxzY3JpcHQ+CisgICAgY29uc3QgdXJsID0g
IiR7b3JpZ2lufS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL1RBT1Jlc3BvbnNlLnB5P3Rhbz1u
dWxsIjsKKyAgICBwcm9taXNlX3Rlc3QoKCkgPT4geyByZXR1cm4gbmV3IFByb21pc2UoKHJlc29s
dmUsIHJlamVjdCkgPT4geworICAgICAgY29uc3QgcnVuX3Rlc3QgPSBlbnRyeUxpc3QgPT4gewor
ICAgICAgICBjb25zdCBlbnRyeSA9IGVudHJ5TGlzdC5nZXRFbnRyaWVzKClbMF07CisgICAgICAg
IGNvbnN0IHN1bSA9IGVudHJ5LnJlZGlyZWN0U3RhcnQgKyBlbnRyeS5yZWRpcmVjdEVuZCArCisg
ICAgICAgICAgICAgICAgICAgIGVudHJ5LmRvbWFpbkxvb2t1cFN0YXJ0ICsgZW50cnkuZG9tYWlu
TG9va3VwRW5kICsKKyAgICAgICAgICAgICAgICAgICAgZW50cnkuY29ubmVjdFN0YXJ0ICsgZW50
cnkuY29ubmVjdEVuZCArCisgICAgICAgICAgICAgICAgICAgIGVudHJ5LnNlY3VyZUNvbm5lY3Rp
b25TdGFydCArIGVudHJ5LnJlcXVlc3RTdGFydCArCisgICAgICAgICAgICAgICAgICAgIGVudHJ5
LnJlc3BvbnNlU3RhcnQgKyBlbnRyeS50cmFuc2ZlclNpemUgKworICAgICAgICAgICAgICAgICAg
ICBlbnRyeS5lbmNvZGVkQm9keVNpemUgKyBlbnRyeS5kZWNvZGVkQm9keVNpemU7CisgICAgICAg
IGFzc2VydF9ub3RfZXF1YWxzKHN1bSwgMCwgIlRpbWluZ3MgbXVzdCBiZSBub24temVybyIpOwor
ICAgICAgfTsKKyAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIo
bGlzdCA9PiB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgcnVuX3Rlc3QobGlzdCk7CisgICAg
ICAgICAgcmVzb2x2ZSgpOworICAgICAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgICByZWplY3Qo
ZSk7CisgICAgICAgIH0KKyAgICAgIH0pOworICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7IGVudHJ5
VHlwZXM6IFsicmVzb3VyY2UiXSB9KTsKKyAgICAgIGZldGNoKHVybCk7CisgICAgfSl9LCAiQW4g
b3BhcXVlIG9yaWdpbiBzaG91bGQgYmUgYXV0aG9yaXplZCB0byBzZWUgcmVzb3VyY2UgdGltaW5n
cyB3aGVuIiArCisgICAgICAgICAiIHRoZSBUQU8gaGVhZGVyIGlzIHRoZSBzdHJpbmcgJ251bGwn
Iik7CisgIDwvYCArIGBzY3JpcHQ+PC9ib2R5PmA7CisKK2ZyYW1lQ29udGV4dC5zdHlsZSA9ICJk
aXNwbGF5Om5vbmUiCitmcmFtZUNvbnRleHQuc3JjID0gZnJhbWVfY29udGVudDsKK2ZldGNoX3Rl
c3RzX2Zyb21fd2luZG93KGZyYW1lQ29udGV4dC5jb250ZW50V2luZG93KTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW51bGwtb3BhcXVlLW9yaWdpbi5z
dWItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW51bGwtb3BhcXVlLW9yaWdpbi5zdWItZXhwZWN0ZWQu
dHh0CmluZGV4IDJlYzdlMDhhM2E3Y2I4YmI4MDRlY2FiNDZiMDY3NjYwZjA0YzZjYmIuLjk3MjM1
ZGM3YTk5YmQyNzE1YzgzZTQyYWFlMGU5YmY1Nzg3ZTFmNjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1u
dWxsLW9wYXF1ZS1vcmlnaW4uc3ViLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbnVsbC1vcGFx
dWUtb3JpZ2luLnN1Yi1leHBlY3RlZC50eHQKQEAgLTMsNSArMyw1IEBAIERlc2NyaXB0aW9uCiBU
aGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgZm9yIGEgY3Jvc3Mgb3JpZ2luIHJlc291cmNlLCB0aGUg
dGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIHN1Y2NlZWQgd2hlbiB0aGUgdmFsdWUg
b2YgVGltaW5nLUFsbG93LU9yaWdpbiBpcyBudWxsIGFuZCB0aGUgb3JpZ2luIGlzIGFuIG9wYXF1
ZSBvcmlnaW4uCiAKIAotRkFJTCBUZXN0IG51bGwgVEFPIHZhbHVlIHdpdGggb3BhcXVlIG9yaWdp
bnMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlBBU1MiIGJ1dCBnb3QgIkZBSUwiCitQQVNTIFRl
c3QgbnVsbCBUQU8gdmFsdWUgd2l0aCBvcGFxdWUgb3JpZ2lucwogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9U
QU8tcG9ydC1taXNtYXRjaC1tZWFucy1jcm9zc29yaWdpbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8t
cG9ydC1taXNtYXRjaC1tZWFucy1jcm9zc29yaWdpbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwOGE1MzIxMWYxMzNkYTMzMWViZTViNTlhYjVjYzNiOTY4NjJiZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5zLWNyb3Nzb3JpZ2luLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDggQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBm
b3IgYSBjcm9zcyBvcmlnaW4gcmVzb3VyY2Ugd2l0aCBkaWZmZXJlbnQgcG9ydHMsIHRoZSB0aW1p
bmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRoZSB2YWx1ZSBvZiBUaW1p
bmctQWxsb3ctT3JpZ2luIHZhbHVlIGhhcyB0aGUgcmlnaHQgaG9zdCBidXQgdGhlIHdyb25nIHBv
cnQgaW4gaXQuCisKKworRkFJTCBBIHBvcnQgbWlzbWF0Y2ggbXVzdCBmYWlsIHRoZSBUQU8gY2hl
Y2sgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiBVUkwgaXMgbm90IHZhbGlkIG9yIGNvbnRhaW5zIHVzZXIgY3JlZGVudGlhbHMu
IgorRkFJTCBBbiBpZGVudGljYWwgcG9ydCBtdXN0IHBhc3MgdGhlIFRBTyBjaGVjayBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IFVSTCBpcyBub3QgdmFsaWQgb3IgY29udGFpbnMgdXNlciBjcmVkZW50aWFscy4iCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5zLWNyb3Nzb3JpZ2luLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9U
QU8tcG9ydC1taXNtYXRjaC1tZWFucy1jcm9zc29yaWdpbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYxMjE4
ZDE3YTBhNDRmMDEzYTAxYTliMWEyOGIzYWIxOWY5MWM5MWQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9UQU8tcG9ydC1taXNtYXRjaC1tZWFucy1jcm9zc29yaWdpbi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
IiAvPgorPHRpdGxlPlRBTyAtIHBvcnQgbWlzbWF0Y2ggbXVzdCBmYWlsIHRoZSBjaGVjazwvdGl0
bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5n
b29nbGUuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3Jn
L1RSL3Jlc291cmNlLXRpbWluZy0yLyNzZWMtdGltaW5nLWFsbG93LW9yaWdpbiIvPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJl
c291cmNlcy9lbnRyeS1pbnZhcmlhbnRzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2NvbnN0
IHtPUklHSU5BTF9IT1NULCBQT1JULCBQT1JUMn0gPSBnZXRfaG9zdF9pbmZvKCk7CisKKy8vIFRo
ZSBtYWluIHBhZ2UgaXMgYmVpbmcgcmVxdWVzdGVkIG9uIHRoZSBkZWZhdWx0IHBvcnQgKFBPUlQp
LCB3aGlsZSB0aGUKKy8vIHN1YnJlc291cmNlIHdpbGwgYmUgcmVxdWVzdGVkIG9uIGEgc2VwYXJh
dGUgcG9ydCAoUE9SVDIpLiBUaGUgcmVzcG9uc2Ugd2lsbAorLy8gaGF2ZSBhIFRpbWluZy1BbGxv
dy1PcmlnaW4gaGVhZGVyIHZhbHVlIHdpdGggdGhlIHNlY29uZCBwb3J0IHNvIHRoaXMgcGFnZSdz
CisvLyBvcmlnaW4gc2hvdWxkIG5vdCBiZSBhIG1hdGNoLgorY29uc3QgcG9ydF9taXNtYXRjaF91
cmwgPSBgJHtsb2NhdGlvbi5wcm90b2NvbH0vLyR7T1JJR0lOQUxfSE9TVH06JHtQT1JUMn1gICsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgYC9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL1RB
T1Jlc3BvbnNlLnB5P2AgKworICAgICAgICAgICAgICAgICAgICAgICAgICBgdGFvPW9yaWdpbl9w
b3J0XyR7UE9SVDJ9YDsKK2F0dHJpYnV0ZV90ZXN0KAorICBmZXRjaCwgcG9ydF9taXNtYXRjaF91
cmwsIGludmFyaWFudHMuYXNzZXJ0X3Rhb19mYWlsdXJlX3Jlc291cmNlLAorICAiQSBwb3J0IG1p
c21hdGNoIG11c3QgZmFpbCB0aGUgVEFPIGNoZWNrIik7CisKKy8vIFRoZSBzYW1lIFVSTCBhcyBh
Ym92ZSBleGNlcHQgdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gaGVhZGVyIHdpbGwgaGF2ZSB0aGUK
Ky8vIHNhbWUgcG9ydCBhcyB0aGlzIHBhZ2UncyBvcmlnaW4uIFRoZXJlZm9yZSwgdGhpcyBwYWdl
J3Mgb3JpZ2luIHdpbGwgbWF0Y2gKKy8vIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRlcidz
IHZhbHVlLiBUaGVyZWZvcmUsIHRoZSBzdWJyZXNvdXJjZSdzIHRpbWluZ3MKKy8vIG11c3QgYmUg
ZXhwb3NlZC4KK2NvbnN0IHBvcnRfbWF0Y2hfdXJsID0gYCR7bG9jYXRpb24ucHJvdG9jb2x9Ly8k
e09SSUdJTkFMX0hPU1R9OiR7UE9SVDJ9YCArCisgICAgICAgICAgICAgICAgICAgICAgIGAvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlcy9UQU9SZXNwb25zZS5weT9gICsKKyAgICAgICAgICAgICAg
ICAgICAgICAgYHRhbz1vcmlnaW5fcG9ydF8ke1BPUlR9YDsKK2F0dHJpYnV0ZV90ZXN0KAorICBm
ZXRjaCwgcG9ydF9tYXRjaF91cmwsIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzX25vX3JlZGly
ZWN0X2h0dHAsCisgICJBbiBpZGVudGljYWwgcG9ydCBtdXN0IHBhc3MgdGhlIFRBTyBjaGVjayIp
OworCis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxw
PlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBmb3IgYSBjcm9zcyBvcmlnaW4gcmVzb3VyY2Ugd2l0
aCBkaWZmZXJlbnQgcG9ydHMsCit0aGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxs
IGZhaWwgd2hlbiB0aGUgdmFsdWUgb2YKK1RpbWluZy1BbGxvdy1PcmlnaW4gdmFsdWUgaGFzIHRo
ZSByaWdodCBob3N0IGJ1dCB0aGUgd3JvbmcgcG9ydCBpbiBpdC48L3A+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9fX2luaXRfXy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL19faW5pdF9fLnB5Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4YzUzOTEKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL2J1ZmZlci1mdWxsLWFkZC1lbnRyaWVzLWR1cmluZy1jYWxsYmFjay5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVm
ZmVyLWZ1bGwtYWRkLWVudHJpZXMtZHVyaW5nLWNhbGxiYWNrLmh0bWwKaW5kZXggYjM3YzQ3YjIz
ZmI1MDI2NDgwNjgzNTk0Yjk2NGVlNzEyYWJiZTcwOC4uM2M4NmUwMDhmNTRkMjg0NmI1NGJhMWM4
YmQwODZlNGViMGE2MTRjOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWVudHJpZXMt
ZHVyaW5nLWNhbGxiYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWVudHJpZXMtZHVy
aW5nLWNhbGxiYWNrLmh0bWwKQEAgLTYsNiArNiw3IEBACiA8bGluayByZWw9ImhlbHAiIGhyZWY9
Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jcGVyZm9ybWFuY2VyZXNvdXJj
ZXRpbWluZyIvPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzIj48L3Nj
cmlwdD4KIDwvaGVhZD4KIDxib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLXRo
ZW4tY2xlYXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLXRoZW4tY2xlYXItZXhw
ZWN0ZWQudHh0CmluZGV4IDg1OWI1MjU3YjU4MGVkN2QxZmI4NWJmYjhlMDE1NTQxMzFiYTQwODcu
Ljk1ZDMzZmE1OTk2ZWZlYjg2MmJhMWJiMjk4OWMyYmM1NmEyMmY4YWIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2J1ZmZlci1mdWxsLWFkZC10aGVuLWNsZWFyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXIt
ZnVsbC1hZGQtdGhlbi1jbGVhci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLVBBU1Mg
VGVzdCB0aGF0IGlmIHRoZSBidWZmZXIgaXMgY2xlYXJlZCBhZnRlciBlbnRyaWVzIHdlcmUgYWRk
ZWQgdG8gdGhlIHNlY29uZGFyeSBidWZmZXIsIHRob3NlIGVudHJpZXMgbWFrZSBpdCBpbnRvIHRo
ZSBwcmltYXJ5IG9uZQorRkFJTCBUZXN0IHRoYXQgaWYgdGhlIGJ1ZmZlciBpcyBjbGVhcmVkIGFm
dGVyIGVudHJpZXMgd2VyZSBhZGRlZCB0byB0aGUgc2Vjb25kYXJ5IGJ1ZmZlciwgdGhvc2UgZW50
cmllcyBtYWtlIGl0IGludG8gdGhlIHByaW1hcnkgb25lIGFzc2VydF9lcXVhbHM6IHRoZSBsYXN0
IDMgcmVzb3VyY2VzIHNob3VsZCBiZSBpbiB0aGUgYnVmZmVyLCBzaW5jZSB0aGUgZmlyc3Qgb25l
IHdhcyBjbGVhcmVkIGV4cGVjdGVkIDMgYnV0IGdvdCAyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZl
ci1mdWxsLWFkZC10aGVuLWNsZWFyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtdGhlbi1jbGVh
ci5odG1sCmluZGV4IDcxMDg1MmNlZDU1ZjcxNmEzNDhjYzllNjg2NWQ3YThiNzA0OGE0NmEuLjMy
YWM1OTQ4MWY5OTk4MTkwM2ZhNGE4ZjA5M2Y2MDFjZmZhNzcxNTAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1
ZmZlci1mdWxsLWFkZC10aGVuLWNsZWFyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLXRo
ZW4tY2xlYXIuaHRtbApAQCAtNiw2ICs2LDcgQEAKIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0
cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNwZXJmb3JtYW5jZXJlc291cmNldGlt
aW5nIi8+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9InJlc291cmNlcy9idWZmZXItZnVsbC11dGlsaXRpZXMuanMiPjwvc2NyaXB0
PgogPC9oZWFkPgogPGJvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbmNyZWFzZS1i
dWZmZXItZHVyaW5nLWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbmNyZWFzZS1idWZm
ZXItZHVyaW5nLWNhbGxiYWNrLmh0bWwKaW5kZXggYjQ2ZDJkNjU2OTBhODg2ODM3YjhlYTc2MjFm
MzkyNjA4MTU1MmQ5Ny4uZGQxMmRkN2FmYTliZTE4YmJkZTQ2NDIxMmRjMDgxNzc5NjhkYTdkNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5jcmVhc2UtYnVmZmVyLWR1cmluZy1jYWxsYmFj
ay5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluY3JlYXNlLWJ1ZmZlci1kdXJpbmctY2FsbGJh
Y2suaHRtbApAQCAtMyw0NiArMywyMyBAQAogPGhlYWQgb25sb2FkPgogPG1ldGEgY2hhcnNldD0i
dXRmLTgiIC8+CiA8dGl0bGU+VGhpcyB0ZXN0IHZhbGlkYXRlcyBpbmNyZWFzaW5nIHRoZSBidWZm
ZXIgc2l6ZSBpbiBvbnJlc291cmNldGltaW5nYnVmZmVyZnVsbCBjYWxsYmFjayBvZiByZXNvdXJj
ZSB0aW1pbmcuPC90aXRsZT4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5v
cmcvVFIvcmVzb3VyY2UtdGltaW5nLyNwZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+Cis8bGlu
ayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29t
LyIgLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291
cmNlLXRpbWluZy0yLyNkb20tcGVyZm9ybWFuY2Utb25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwi
Lz4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL2J1ZmZlci1mdWxsLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+CiA8
L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+Ci1jb25zdCByZXNvdXJjZV90aW1pbmdfYnVmZmVyX3Np
emUgPSAxOwotbGV0IGV2ZW50RmlyZWQgPSBmYWxzZTsKLQotc2V0dXAoKCkgPT4gewotICAgIC8v
IEdldCB0aGUgYnJvd3NlciBpbnRvIGEgY29uc2lzdGVudCBzdGF0ZS4KLSAgICBjbGVhckJ1ZmZl
ckFuZFNldFNpemUocmVzb3VyY2VfdGltaW5nX2J1ZmZlcl9zaXplKTsKLSAgICB2YXIgaW5jcmVh
c2UgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgcGVyZm9ybWFuY2Uuc2V0UmVzb3VyY2VUaW1pbmdC
dWZmZXJTaXplKHJlc291cmNlX3RpbWluZ19idWZmZXJfc2l6ZSAqIDIpOwotICAgICAgICBldmVu
dEZpcmVkID0gdHJ1ZTsKLSAgICB9Ci0gICAgcGVyZm9ybWFuY2UuYWRkRXZlbnRMaXN0ZW5lcign
cmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsJywgaW5jcmVhc2UpOwotfSk7Ci0KLWxldCBvdmVyZmxv
d1RoZUJ1ZmZlciA9ICgpID0+IHsKLSAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7
Ci0gICAgICAgIC8vIFRoaXMgcmVzb3VyY2Ugb3ZlcmZsb3dzIHRoZSBlbnRyeSBidWZmZXIsIGFu
ZCBnb2VzIGludG8gdGhlIHNlY29uZGFyeSBidWZmZXIuCi0gICAgICAgIGFwcGVuZFNjcmlwdCgn
cmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5qcycsIHJlc29sdmUpOwotICAgIH0pOwotfTsKLQotbGV0
IHRlc3RUaGF0QnVmZmVyQ29udGFpbnNUaGVSaWdodFJlc291cmNlcyA9ICgpID0+IHsKLSAgICBs
ZXQgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7Ci0g
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMiwKLSAgICAgICAgICAgICAgICAgICdC
b3RoIGVudHJpZXMgc2hvdWxkIGJlIHN0b3JlZCBpbiByZXNvdXJjZSB0aW1pbmcgYnVmZmVyIHNp
bmNlIGl0cyBpbmNyZWFzZXMgc2l6ZSBvbmNlIGl0IG92ZXJmbG93cy4nKTsKLSAgICBhc3NlcnRf
dHJ1ZShlbnRyaWVzWzBdLm5hbWUuaW5jbHVkZXMoJ2VtcHR5LmpzJyksICJlbXB0eS5qcyBpcyBp
biB0aGUgZW50cmllcyBidWZmZXIiKTsKLSAgICBhc3NlcnRfdHJ1ZShlbnRyaWVzWzFdLm5hbWUu
aW5jbHVkZXMoJ2VtcHR5X3NjcmlwdC5qcycpLCAiZW1wdHlfc2NyaXB0LmpzIGlzIGluIHRoZSBl
bnRyaWVzIGJ1ZmZlciIpOwotfTsKLQogcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKLSAgICBh
d2FpdCBmaWxsVXBUaGVCdWZmZXJXaXRoU2luZ2xlUmVzb3VyY2UoInJlc291cmNlcy9lbXB0eS5q
cyIpOwotICAgIGF3YWl0IG92ZXJmbG93VGhlQnVmZmVyKCk7Ci0gICAgYXdhaXQgd2FpdEZvckV2
ZW50VG9GaXJlKCk7Ci0gICAgdGVzdFRoYXRCdWZmZXJDb250YWluc1RoZVJpZ2h0UmVzb3VyY2Vz
KCk7CisgICAgYXdhaXQgZmlsbFVwVGhlQnVmZmVyV2l0aFNpbmdsZVJlc291cmNlKCk7CisgICAg
cGVyZm9ybWFuY2UuYWRkRXZlbnRMaXN0ZW5lcigncmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsJywg
KCkgPT4geworICAgICAgICBwZXJmb3JtYW5jZS5zZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUo
Mik7CisgICAgfSk7CisgICAgYXdhaXQgbG9hZC5zY3JpcHQoc2NyaXB0UmVzb3VyY2VzWzFdKTsK
KyAgICBhd2FpdCBidWZmZXJGdWxsRmlyZVByb21pc2U7CisgICAgY2hlY2tFbnRyaWVzKDIpOwog
fSwgIlRlc3QgdGhhdCBpbmNyZWFzaW5nIHRoZSBidWZmZXIgZHVyaW5nIHRoZSBjYWxsYmFjayBp
cyBlbm91Z2ggZm9yIGVudHJpZXMgbm90IHRvIGJlIGRyb3BwZWQiKTsKIDwvc2NyaXB0PgogPC9i
b2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5zcGVjdC1idWZmZXItZHVyaW5nLWNh
bGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluc3BlY3QtYnVmZmVyLWR1cmlu
Zy1jYWxsYmFjay1leHBlY3RlZC50eHQKaW5kZXggZjBjNGVmYTAzMDhjYzk5Mzk3ZTQ5YjRiZTU3
YmNmYzc0ZTVmZDUyZi4uN2EwZTY5N2Q0YWUwMjBjMzc5ZDQ0NjNhNGU0N2QxYzk4ODFlZDMzMSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5zcGVjdC1idWZmZXItZHVyaW5nLWNhbGxiYWNr
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbnNwZWN0LWJ1ZmZlci1kdXJpbmct
Y2FsbGJhY2stZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNSBAQAogCi1QQVNTIFRlc3QgdGhhdCBl
bnRyaWVzIGluIHRoZSBzZWNvbmRhcnkgYnVmZmVyIGFyZSBub3QgZXhwb3NlZCBkdXJpbmcgdGhl
IGNhbGxiYWNrIGFuZCBiZWZvcmUgdGhleSBhcmUgY29waWVkIHRvIHRoZSBwcmltYXJ5IGJ1ZmZl
cgorSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgVGVz
dCB0aGF0IGVudHJpZXMgaW4gdGhlIHNlY29uZGFyeSBidWZmZXIgYXJlIG5vdCBleHBvc2VkIGR1
cmluZyB0aGUgY2FsbGJhY2sgYW5kIGJlZm9yZSB0aGV5IGFyZSBjb3BpZWQgdG8gdGhlIHByaW1h
cnkgYnVmZmVyIFRlc3QgdGltZWQgb3V0CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWlu
c3BlY3QtYnVmZmVyLWR1cmluZy1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5zcGVj
dC1idWZmZXItZHVyaW5nLWNhbGxiYWNrLmh0bWwKaW5kZXggZDQ2ZDQ2OTJhNTViOWNiZWYxYWE1
Zjg4MmYzODg4N2UxZjc5NDBlOS4uZDRhYjA0Y2RkMzQ1Yzk1MzA0ZmE2YjNlZjViZDM3OTIyYzA1
ZWEyYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5zcGVjdC1idWZmZXItZHVyaW5nLWNh
bGxiYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5zcGVjdC1idWZmZXItZHVyaW5nLWNh
bGxiYWNrLmh0bWwKQEAgLTYsNiArNiw3IEBACiA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6
Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWlu
ZyIvPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4K
IDwvaGVhZD4KIDxib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc2V0LXRvLWN1cnJl
bnQtYnVmZmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXNldC10by1jdXJyZW50LWJ1
ZmZlci1leHBlY3RlZC50eHQKaW5kZXggOGMzNTY5ZDY1ODg5ZDM0ZDA3OGRjYTk2N2ZiNTNmYzlk
YWE4NTQ2Yy4uZWUyZDA3NjNjY2E4MTI4OGZhNmRlMzkxZGY3NzY3MjFkNzI4ZGE3MyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvYnVmZmVyLWZ1bGwtc2V0LXRvLWN1cnJlbnQtYnVmZmVyLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9idWZmZXItZnVsbC1zZXQtdG8tY3VycmVudC1idWZmZXItZXhwZWN0ZWQudHh0CkBA
IC0xLDMgKzEsNSBAQAogCi1QQVNTIFRlc3QgdGhhdCBlbnRyaWVzIGFkZGVkIGFuZCBldmVudCBm
aXJpbmcgaGFwcGVuZWQgaW4gdGhlIHJpZ2h0IHNlcXVlbmNlCitIYXJuZXNzIEVycm9yIChUSU1F
T1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBUZXN0IHRoYXQgYWRkaW5nIGVudHJpZXMg
YW5kIGZpcmluZyB0aGUgYnVmZmVyIGZ1bGwgZXZlbnQgaGFwcGVuIGluIHRoZSByaWdodCBvcmRl
ci4gVGVzdCB0aW1lZCBvdXQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc2V0LXRvLWN1
cnJlbnQtYnVmZmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zZXQtdG8tY3VycmVudC1idWZmZXIu
aHRtbAppbmRleCAxZTU0ODZlYzJjZGZjNDQyODc2YmExZjViMmM1MjQ5ODVlNzBlNWI1Li5kYzUy
N2I5YTMyZjUxNDlmZGU0YmU4NmQzYjJhZTVkODFmZDJkNGM3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZm
ZXItZnVsbC1zZXQtdG8tY3VycmVudC1idWZmZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1z
ZXQtdG8tY3VycmVudC1idWZmZXIuaHRtbApAQCAtMiw4MSArMiwzMyBAQAogPGh0bWw+CiA8aGVh
ZD4KIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6
Ly93M2MuZ2l0aHViLmlvL3Jlc291cmNlLXRpbWluZy8jZG9tLXBlcmZvcm1hbmNlLXNldHJlc291
cmNldGltaW5nYnVmZmVyc2l6ZSI+CiA8dGl0bGU+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHNl
dFJlc291cmNlVGltaW5nQnVmZmVyRnVsbCBiZWhhdmVzIGFwcHJvcHJpYXRlbHkgd2hlbiBzZXQg
dG8gdGhlIGN1cnJlbnQgYnVmZmVyIGxldmVsLjwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIg
dGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxsaW5rIHJl
bD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNk
b20tcGVyZm9ybWFuY2Utb25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwiPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5Pgog
PHNjcmlwdD4KLWxldCBldmVudEZpcmVkID0gZmFsc2U7Ci0KLWxldCBsb2FkUmFuZG9tUmVzb3Vy
Y2UgPSAoKSA9PiB7Ci0gICAgcmV0dXJuIGZldGNoKHdpbmRvdy5sb2NhdGlvbi5ocmVmICsgIj8i
ICsgTWF0aC5yYW5kb20oKSk7Ci19OwotCi1zZXR1cCgoKSA9PiB7Ci0gICAgLy8gR2V0IHRoZSBi
cm93c2VyIGludG8gYSBjb25zaXN0ZW50IHN0YXRlLgotICAgIGNsZWFyQnVmZmVyQW5kU2V0U2l6
ZSgxMDApOwotICAgIHdpbmRvdy5yZXN1bHQgPSAiIjsKLX0pOwotCi1sZXQgZmlsbFVwVGhlQnVm
ZmVyID0gKCkgPT4gewotICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAg
ICAgLy8gR2F0aGVyIHVwIDMgUmVzb3VyY2UgRW50cmllcyB0byBraWNrIG9mZiB0aGUgcmVzdCBv
ZiB0ZXN0IGJlaGF2aW9yLgotICAgICAgICBsZXQgcmVzb3VyY2VzID0gMDsKLSAgICAgICAgbGV0
IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIobGlzdCA9PiB7Ci0gICAgICAgICAg
ICByZXNvdXJjZXMgKz0gbGlzdC5nZXRFbnRyaWVzQnlUeXBlKCJyZXNvdXJjZSIpLmxlbmd0aDsK
LSAgICAgICAgICAgIGlmIChyZXNvdXJjZXMgIT09IDMpCi0gICAgICAgICAgICAgICAgcmV0dXJu
OwotICAgICAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOwotICAgICAgICAgICAgcmVzb2x2
ZSgpOwotICAgICAgICB9KTsKLSAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczog
WyJyZXNvdXJjZSJdfSk7Ci0gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMzsgKytpKQotICAg
ICAgICAgICAgbG9hZFJhbmRvbVJlc291cmNlKCk7Ci0gICAgfSk7Ci19OwotCi1sZXQgc2V0QnVm
ZmVyU2l6ZSA9ICgpID0+IHsKLSAgICBwZXJmb3JtYW5jZS5vbnJlc291cmNldGltaW5nYnVmZmVy
ZnVsbCA9ICgpID0+IHsKLSAgICAgICAgZXZlbnRGaXJlZCA9IHRydWU7Ci0gICAgICAgIHdpbmRv
dy5yZXN1bHQgKz0gIkV2ZW50IEZpcmVkIHdpdGggIiAgKyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVz
QnlUeXBlKCJyZXNvdXJjZSIpLmxlbmd0aCArICIgZW50cmllcy4gIjsKK3Byb21pc2VfdGVzdChh
c3luYyAoKSA9PiB7CisgICAgbGV0IHJlc3VsdCA9ICcnOworICAgIHBlcmZvcm1hbmNlLmFkZEV2
ZW50TGlzdGVuZXIoJ3Jlc291cmNldGltaW5nYnVmZmVyZnVsbCcsICgpID0+IHsKKyAgICAgICAg
cmVzdWx0ICs9ICdFdmVudCBGaXJlZCB3aXRoICcgICsKKyAgICAgICAgICAgIHBlcmZvcm1hbmNl
LmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJykubGVuZ3RoICsgJyBlbnRyaWVzLic7CiAgICAg
ICAgIHBlcmZvcm1hbmNlLmNsZWFyUmVzb3VyY2VUaW1pbmdzKCk7Ci0gICAgfTsKLSAgICB3aW5k
b3cucmVzdWx0ICs9ICJiZWZvcmUgc2V0TGltaXQoMykuICI7Ci0gICAgcGVyZm9ybWFuY2Uuc2V0
UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKDMpOwotICAgIHdpbmRvdy5yZXN1bHQgKz0gImFmdGVy
IHNldExpbWl0KDMpLiAiOwotfTsKLQotbGV0IG92ZXJmbG93VGhlQnVmZmVyID0gKCkgPT4gewot
ICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgICAgbG9hZFJhbmRvbVJl
c291cmNlKCkudGhlbigoKSA9PiB7Ci0gICAgICAgICAgICB3aW5kb3cucmVzdWx0ICs9ICJhZnRl
ciBsb2FkaW5nIDR0aCByZXNvdXJjZS4gIjsKLSAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAg
ICAgfSk7CiAgICAgfSk7Ci19OwotCi1sZXQgY2hlY2tSZXN1bHQgPSAoKSA9PiB7Ci0gICAgcmV0
dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKLSAgICAgICAgaWYgKHdpbmRv
dy5yZXN1bHQgIT0gImJlZm9yZSBzZXRMaW1pdCgzKS4gYWZ0ZXIgc2V0TGltaXQoMykuIGFmdGVy
IGxvYWRpbmcgNHRoIHJlc291cmNlLiBFdmVudCBGaXJlZCB3aXRoIDMgZW50cmllcy4gIikgewot
ICAgICAgICAgICAgcmVqZWN0KCJOb24gbWF0Y2hpbmcgdmFsdWU6ICIgKyB3aW5kb3cucmVzdWx0
KTsKLSAgICAgICAgfQotICAgICAgICBsZXQgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeVR5cGUoInJlc291cmNlIik7Ci0gICAgICAgIGlmIChlbnRyaWVzLmxlbmd0aCAhPSAxKSB7
Ci0gICAgICAgICAgICByZWplY3QoIk51bWJlciBvZiBlbnRyaWVzIGluIHJlc291cmNlIHRpbWlu
ZyBidWZmZXIgaXMgdW5leHBlY3RlZDogIiArIGVudHJpZXMubGVuZ3RoKTsKLSAgICAgICAgfQot
ICAgICAgICByZXNvbHZlKCk7Ci0gICAgfSk7Ci19OwotCi1wcm9taXNlX3Rlc3QoYXN5bmMgKCkg
PT4gewotICAgIGF3YWl0IGZpbGxVcFRoZUJ1ZmZlcigpOwotICAgIHNldEJ1ZmZlclNpemUoKTsK
LSAgICBhd2FpdCBvdmVyZmxvd1RoZUJ1ZmZlcigpOwotICAgIGF3YWl0IHdhaXRGb3JFdmVudFRv
RmlyZSgpOwotICAgIGF3YWl0IGNoZWNrUmVzdWx0KCk7Ci19LCAiVGVzdCB0aGF0IGVudHJpZXMg
YWRkZWQgYW5kIGV2ZW50IGZpcmluZyBoYXBwZW5lZCBpbiB0aGUgcmlnaHQgc2VxdWVuY2UiKTsK
KyAgICByZXN1bHQgKz0gJ0JlZm9yZSBhZGRpbmcgZW50cmllcy4gJzsKKyAgICBhd2FpdCBmaWxs
VXBUaGVCdWZmZXJXaXRoVHdvUmVzb3VyY2VzKCk7CisgICAgcmVzdWx0ICs9ICdBZnRlciBhZGRp
bmcgZW50cmllcy4gJzsKKyAgICBsb2FkLnNjcmlwdChzY3JpcHRSZXNvdXJjZXNbMl0pOworICAg
IGF3YWl0IGJ1ZmZlckZ1bGxGaXJlUHJvbWlzZTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwg
J0JlZm9yZSBhZGRpbmcgZW50cmllcy4gQWZ0ZXIgYWRkaW5nIGVudHJpZXMuIEV2ZW50IEZpcmVk
IHdpdGggMiBlbnRyaWVzLicpOworICAgIGNvbnN0IGVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRF
bnRyaWVzQnlUeXBlKCdyZXNvdXJjZScpOworICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5n
dGgsIDEsCisgICAgICAgICdOdW1iZXIgb2YgZW50cmllcyBpbiByZXNvdXJjZSB0aW1pbmcgYnVm
ZmVyIGlzIHVuZXhwZWN0ZWQnKTsKKyAgICBhc3NlcnRfdHJ1ZShlbnRyaWVzWzBdLm5hbWUuaW5j
bHVkZXMoc2NyaXB0UmVzb3VyY2VzWzJdKSwKKyAgICAgICAgJ1RoZSBlbnRyeSBtdXN0IGNvcnJl
c3BvbmQgdG8gdGhlIGxhc3QgcmVzb3VyY2UgbG9hZGVkLicpCit9LCAiVGVzdCB0aGF0IGFkZGlu
ZyBlbnRyaWVzIGFuZCBmaXJpbmcgdGhlIGJ1ZmZlciBmdWxsIGV2ZW50IGhhcHBlbiBpbiB0aGUg
cmlnaHQgb3JkZXIuIik7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXN0
b3JlLWFuZC1jbGVhci1kdXJpbmctY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1
bGwtc3RvcmUtYW5kLWNsZWFyLWR1cmluZy1jYWxsYmFjay1leHBlY3RlZC50eHQKaW5kZXggYmYy
NzU1ZmM0Mjg4MmEyNTE3Y2JkNGRiMzQxZDU1ZjUxYzYyNjI2ZS4uMzdmMGNmMTk5ZTk0MjdkYzdh
ODczMGFlNjM5NzQ0NTQ0NTgwMzc1MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc3RvcmUt
YW5kLWNsZWFyLWR1cmluZy1jYWxsYmFjay1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1
bGwtc3RvcmUtYW5kLWNsZWFyLWR1cmluZy1jYWxsYmFjay1leHBlY3RlZC50eHQKQEAgLTEsMyAr
MSw1IEBACiAKLVBBU1MgVGVzdCB0aGF0IGVudHJpZXMgb3ZlcmZsb3dpbmcgdGhlIGJ1ZmZlciB0
cmlnZ2VyIHRoZSBidWZmZXIgZnVsbCBldmVudCwgY2FuIGJlIHN0b3JlZCwgYW5kIGZpbmQgdGhl
bXNlbHZlcyBpbiB0aGUgcHJpbWFyeSBidWZmZXIgYWZ0ZXIgaXQncyBjbGVhcmVkLgorSGFybmVz
cyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgVGVzdCB0aGF0IGVu
dHJpZXMgb3ZlcmZsb3dpbmcgdGhlIGJ1ZmZlciB0cmlnZ2VyIHRoZSBidWZmZXIgZnVsbCBldmVu
dCwgY2FuIGJlIHN0b3JlZCwgYW5kIG1ha2UgdGhlaXIgd2F5IHRvIHRoZSBwcmltYXJ5IGJ1ZmZl
ciBhZnRlciBpdCdzIGNsZWFyZWQgaW4gdGhlIGJ1ZmZlciBmdWxsIGV2ZW50LiBUZXN0IHRpbWVk
IG91dAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zdG9yZS1hbmQtY2xlYXItZHVyaW5n
LWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zdG9yZS1hbmQtY2xlYXItZHVyaW5nLWNh
bGxiYWNrLmh0bWwKaW5kZXggZjA3OTFjYmE2YjM5ZmI0YjdlMWFmMDkwNzc3NzJmMWVlM2I0Mjc0
NC4uM2VhMDU3NzI1NmM4NWIzNTQ1MzM1OGQxOGM5NzBlNGZiMzA0NWM0YyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvYnVmZmVyLWZ1bGwtc3RvcmUtYW5kLWNsZWFyLWR1cmluZy1jYWxsYmFjay5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL2J1ZmZlci1mdWxsLXN0b3JlLWFuZC1jbGVhci1kdXJpbmctY2FsbGJhY2suaHRtbApAQCAt
NCw1MiArNCwzMyBAQAogPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+CiA8dGl0bGU+VGhpcyB0ZXN0
IHZhbGlkYXRlcyB0aGUgYmVoYXZpb3Igb2YgcmVhZCBhbmQgY2xlYXIgb3BlcmF0aW9uIGluIG9u
cmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIGNhbGxiYWNrIG9mIHJlc291cmNlIHRpbWluZy48L3Rp
dGxlPgogPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJJbnRlbCIgaHJlZj0iaHR0cDovL3d3dy5p
bnRlbC5jb20vIiAvPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9U
Ui9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxsaW5rIHJl
bD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNk
b20tcGVyZm9ybWFuY2Utb25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwiLz4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL2J1ZmZlci1mdWxsLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4K
IDxzY3JpcHQ+Ci1jb25zdCByZXNvdXJjZV90aW1pbmdfYnVmZmVyX3NpemUgPSAxOwotbGV0IGds
b2JhbF9idWZmZXIgPSBbXTsKLWxldCBldmVudEZpcmVkID0gZmFsc2U7Ci0KLXNldHVwKCgpID0+
IHsKLSAgICBjbGVhckJ1ZmZlckFuZFNldFNpemUocmVzb3VyY2VfdGltaW5nX2J1ZmZlcl9zaXpl
KTsKLSAgICBsZXQgc3RvcmVfYW5kX2NsZWFyID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgIGNvbnN0
IGVudHJ5TGlzdCA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7Ci0g
ICAgICAgIGVudHJ5TGlzdC5mb3JFYWNoKGZ1bmN0aW9uIChlbnRyeSkgewotICAgICAgICAgICAg
Z2xvYmFsX2J1ZmZlci5wdXNoKGVudHJ5KTsKLSAgICAgICAgfSk7Ci0gICAgICAgIHBlcmZvcm1h
bmNlLmNsZWFyUmVzb3VyY2VUaW1pbmdzKCk7Ci0gICAgICAgIGV2ZW50RmlyZWQgPSB0cnVlOwot
ICAgIH0KLSAgICBwZXJmb3JtYW5jZS5hZGRFdmVudExpc3RlbmVyKCdyZXNvdXJjZXRpbWluZ2J1
ZmZlcmZ1bGwnLCBzdG9yZV9hbmRfY2xlYXIpOwotfSk7Ci0KLWxldCBvdmVyZmxvd1RoZUJ1ZmZl
ciA9ICgpID0+IHsKLSAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0gICAgICAg
IC8vIFRoaXMgcmVzb3VyY2Ugb3ZlcmZsb3dzIHRoZSBlbnRyeSBidWZmZXIsIGFuZCBnb2VzIGlu
dG8gdGhlIHNlY29uZGFyeSBidWZmZXIuCi0gICAgICAgIGFwcGVuZFNjcmlwdCgncmVzb3VyY2Vz
L2VtcHR5X3NjcmlwdC5qcycsIHJlc29sdmUpOworcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsK
KyAgICBhd2FpdCBmaWxsVXBUaGVCdWZmZXJXaXRoU2luZ2xlUmVzb3VyY2UoKTsKKyAgICBjb25z
dCBlbnRyeUJ1ZmZlciA9IFtdOworICAgIHBlcmZvcm1hbmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3Jl
c291cmNldGltaW5nYnVmZmVyZnVsbCcsICgpID0+IHsKKyAgICAgIGVudHJ5QnVmZmVyLnB1c2go
Li4ucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKSk7CisgICAgICBwZXJm
b3JtYW5jZS5jbGVhclJlc291cmNlVGltaW5ncygpOwogICAgIH0pOwotfTsKLQotbGV0IHRlc3RU
aGF0QnVmZmVyQ29udGFpbnNUaGVSaWdodFJlc291cmNlcyA9ICgpID0+IHsKLSAgICBsZXQgZW50
cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7CisgICAgbG9h
ZC5zY3JpcHQoc2NyaXB0UmVzb3VyY2VzWzFdKTsKKyAgICBhd2FpdCBidWZmZXJGdWxsRmlyZVBy
b21pc2U7CisgICAgY29uc3QgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUo
J3Jlc291cmNlJyk7CiAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwKLSAgICAg
ICAgICAgICAgICAgICJPbmx5IHRoZSBsYXN0IGVudHJ5IHNob3VsZCBiZSBzdG9yZWQgaW4gcmVz
b3VyY2UgdGltaW5nIGJ1ZmZlciBzaW5jZSBpdCdzIGNsZWFyZWQgb25jZSBpdCBvdmVyZmxvd3Mu
Iik7Ci0gICAgYXNzZXJ0X2VxdWFscyhnbG9iYWxfYnVmZmVyLmxlbmd0aCwgMSwgJzEgcmVzb3Vy
Y2UgdGltaW5nIGVudHJ5IHNob3VsZCBiZSBtb3ZlZCB0byBnbG9iYWwgYnVmZmVyLicpOwotICAg
IGFzc2VydF90cnVlKGdsb2JhbF9idWZmZXJbMF0ubmFtZS5pbmNsdWRlcygnZW1wdHkuanMnKSwg
ImVtcHR5LmpzIGlzIGluIHRoZSBnbG9iYWwgYnVmZmVyIik7Ci0gICAgYXNzZXJ0X3RydWUoZW50
cmllc1swXS5uYW1lLmluY2x1ZGVzKCdlbXB0eV9zY3JpcHQuanMnKSwgImVtcHR5X3NjcmlwdC5q
cyBpcyBpbiB0aGUgZW50cmllcyBidWZmZXIiKTsKLX07Ci0KLXByb21pc2VfdGVzdChhc3luYyAo
KSA9PiB7Ci0gICAgYXdhaXQgZmlsbFVwVGhlQnVmZmVyV2l0aFNpbmdsZVJlc291cmNlKCJyZXNv
dXJjZXMvZW1wdHkuanMiKTsKLSAgICBhd2FpdCBvdmVyZmxvd1RoZUJ1ZmZlcigpOwotICAgIGF3
YWl0IHdhaXRGb3JFdmVudFRvRmlyZSgpOwotICAgIHRlc3RUaGF0QnVmZmVyQ29udGFpbnNUaGVS
aWdodFJlc291cmNlcygpOwotfSwgIlRlc3QgdGhhdCBlbnRyaWVzIG92ZXJmbG93aW5nIHRoZSBi
dWZmZXIgdHJpZ2dlciB0aGUgYnVmZmVyIGZ1bGwgZXZlbnQsIGNhbiBiZSBzdG9yZWQsIGFuZCBm
aW5kIHRoZW1zZWx2ZXMgaW4gdGhlIHByaW1hcnkgYnVmZmVyIGFmdGVyIGl0J3MgY2xlYXJlZC4i
KTsKKyAgICAgICAgIk9ubHkgdGhlIGxhc3QgZW50cnkgc2hvdWxkIGJlIHN0b3JlZCBpbiByZXNv
dXJjZSB0aW1pbmcgYnVmZmVyIHNpbmNlIGl0J3MgY2xlYXJlZCBvbmNlIGl0IG92ZXJmbG93cy4i
KTsKKyAgICBhc3NlcnRfdHJ1ZShlbnRyaWVzWzBdLm5hbWUuaW5jbHVkZXMoc2NyaXB0UmVzb3Vy
Y2VzWzFdKSwKKyAgICAgICAgc2NyaXB0UmVzb3VyY2VzWzFdICArICIgaXMgaW4gdGhlIGVudHJp
ZXMgYnVmZmVyIik7CisgICAgYXNzZXJ0X2VxdWFscyhlbnRyeUJ1ZmZlci5sZW5ndGgsIDEsCisg
ICAgICAgICcxIHJlc291cmNlIHRpbWluZyBlbnRyeSBzaG91bGQgYmUgbW92ZWQgdG8gZW50cnlC
dWZmZXIuJyk7CisgICAgYXNzZXJ0X3RydWUoZW50cnlCdWZmZXJbMF0ubmFtZS5pbmNsdWRlcyhz
Y3JpcHRSZXNvdXJjZXNbMF0pLAorICAgICAgICBzY3JpcHRSZXNvdXJjZXNbMF0gKyAnIGlzIGlu
IHRoZSBlbnRyeUJ1ZmZlcicpOworfSwgIlRlc3QgdGhhdCBlbnRyaWVzIG92ZXJmbG93aW5nIHRo
ZSBidWZmZXIgdHJpZ2dlciB0aGUgYnVmZmVyIGZ1bGwgZXZlbnQsIGNhbiBiZSBzdG9yZWQsIGFu
ZCBtYWtlIHRoZWlyIHdheSB0byB0aGUgcHJpbWFyeSBidWZmZXIgYWZ0ZXIgaXQncyBjbGVhcmVk
IGluIHRoZSBidWZmZXIgZnVsbCBldmVudC4iKTsKIDwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQtZXhwZWN0ZWQudHh0CmluZGV4IGVmYmI2
OTc0YmE3M2FlZDkwMGMwNWZjNTFlZmQzNzgzNDUwODI5MTkuLjZmOWUzZjgyZDAxMWM4MzE5NDgx
YWVhOTJiZmUyMTRhYzdhZTYwN2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXRoZW4taW5j
cmVhc2VkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC10aGVuLWluY3JlYXNlZC1l
eHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLVBBU1MgVGVzdCB0aGF0IG92ZXJmbG93aW5n
IHRoZSBidWZmZXIgYW5kIGltbWVkaWF0ZWx5IGluY3JlYXNpbmcgaXRzIGxpbWl0IGRvZXMgbm90
IHRyaWdnZXIgdGhlIHJlc291cmNldGltaW5nYnVmZmVyZnVsbCBldmVudAorRkFJTCBUZXN0IHRo
YXQgb3ZlcmZsb3dpbmcgdGhlIGJ1ZmZlciBhbmQgaW1tZWRpYXRlbHkgaW5jcmVhc2luZyBpdHMg
bGltaXQgZG9lcyBub3QgdHJpZ2dlciB0aGUgcmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIGV2ZW50
IGFzc2VydF9lcXVhbHM6IEFsbCByZXNvdXJjZXMgc2hvdWxkIGJlIGluIHRoZSBidWZmZXIsIHNp
bmNlIGl0cyBzaXplIHdhcyBpbmNyZWFzZWQgZXhwZWN0ZWQgMyBidXQgZ290IDIKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxs
LXRoZW4taW5jcmVhc2VkLmh0bWwKaW5kZXggMjI2NTA3N2ZjMTVhMjc3YzMzNTJkYTIxNWZhNWFj
OGEyNzZjNjBhYS4uNjUyYWQxOTIxZDNkNTk3NjhiNzJkNDVmYjY5ZTdkOTRlZDczMDUyNyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZm
ZXItZnVsbC10aGVuLWluY3JlYXNlZC5odG1sCkBAIC02LDYgKzYsNyBAQAogPGxpbmsgcmVsPSJo
ZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1h
bmNlcmVzb3VyY2V0aW1pbmciLz4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2J1ZmZlci1mdWxsLXV0aWxpdGll
cy5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1m
dWxsLXdoZW4tcG9wdWxhdGUtZW50cmllcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC13
aGVuLXBvcHVsYXRlLWVudHJpZXMtZXhwZWN0ZWQudHh0CmluZGV4IDM0ZWM4MTg1ODlkNjVlOTE4
YTNhYjk0MzY3MjZkMTQyMTMxMTVlNzYuLmYxOWZmMTg2M2Q3OWM5MzkzOGMyNGM5Y2Y2NWUyNTVj
MWJlN2ZhNmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXdoZW4tcG9wdWxhdGUtZW50cmll
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtd2hlbi1wb3B1bGF0ZS1lbnRyaWVz
LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotUEFTUyBUZXN0IHRoYXQgYSBidWZmZXIg
ZnVsbCBldmVudCBkb2VzIG5vdCBidWJibGUgYW5kIHRoYXQgcmVzb3VyY2V0aW1pbmdidWZmZXJm
dWxsIGlzIGNhbGxlZCBvbmx5IG9uY2UgcGVyIG92ZXJmbG93CitGQUlMIFRlc3QgdGhhdCBhIGJ1
ZmZlciBmdWxsIGV2ZW50IGRvZXMgbm90IGJ1YmJsZSBhbmQgdGhhdCByZXNvdXJjZXRpbWluZ2J1
ZmZlcmZ1bGwgaXMgY2FsbGVkIG9ubHkgb25jZSBwZXIgb3ZlcmZsb3cgYXNzZXJ0X2VxdWFsczog
TnVtYmVyIG9mIGVudHJpZXMgZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIHZhbHVlLiBleHBl
Y3RlZCAyIGJ1dCBnb3QgMAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC13aGVuLXBvcHVs
YXRlLWVudHJpZXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXdoZW4tcG9wdWxhdGUtZW50cmllcy5o
dG1sCmluZGV4IDAwZDJhZTBlNDQyNmY0NjQ0ZjcwZTkyMTc1MWZmZmMzMjdkZTQ2ZDYuLmY0YjFh
MmU3ZTdhYmJhMjVjNzhlNGMxZGJlMGIxYWJhMjkwNjFkNDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZl
ci1mdWxsLXdoZW4tcG9wdWxhdGUtZW50cmllcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXdo
ZW4tcG9wdWxhdGUtZW50cmllcy5odG1sCkBAIC0yLDQ0ICsyLDI4IEBACiA8aHRtbD4KIDxoZWFk
PgogPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Ci08bGluayByZWw9ImF1dGhvciIgdGl0bGU9Iklu
dGVsIiBocmVmPSJodHRwOi8vd3d3LmludGVsLmNvbS8iIC8+Ci08bGluayByZWw9ImhlbHAiIGhy
ZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jcGVyZm9ybWFuY2VyZXNv
dXJjZXRpbWluZyIvPgogPHRpdGxlPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIGZ1bmN0aW9uYWxp
dHkgb2Ygb25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwgaW4gcmVzb3VyY2UgdGltaW5nLjwvdGl0
bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkludGVsIiBocmVmPSJodHRwOi8vd3d3Lmlu
dGVsLmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9U
Ui9yZXNvdXJjZS10aW1pbmctMi8jZG9tLXBlcmZvcm1hbmNlLW9ucmVzb3VyY2V0aW1pbmdidWZm
ZXJmdWxsIi8+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy9idWZmZXItZnVsbC11dGlsaXRpZXMuanMiPjwvc2Ny
aXB0PgogPC9oZWFkPgogPGJvZHk+CiA8c2NyaXB0PgotY29uc3QgcmVzb3VyY2VfdGltaW5nX2J1
ZmZlcl9zaXplID0gMjsKLWxldCBidWZmZXJGdWxsQ291bnQgPSAwOwotbGV0IGV2ZW50RmlyZWQg
PSBmYWxzZTsKLXNldHVwKCgpID0+IHsKLSAgICBjbGVhckJ1ZmZlckFuZFNldFNpemUocmVzb3Vy
Y2VfdGltaW5nX2J1ZmZlcl9zaXplKTsKK3Byb21pc2VfdGVzdChhc3luYyAoKSA9PiB7CisgICAg
bGV0IGJ1ZmZlckZ1bGxDb3VudCA9IDA7CiAgICAgcGVyZm9ybWFuY2UuYWRkRXZlbnRMaXN0ZW5l
cigncmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsJywgZSA9PiB7CiAgICAgICAgIGFzc2VydF9lcXVh
bHMoZS5idWJibGVzLCBmYWxzZSwgIkV2ZW50IGJ1YmJsZXMgYXR0cmlidXRlIGlzIGZhbHNlIik7
CiAgICAgICAgIGJ1ZmZlckZ1bGxDb3VudCsrOwotICAgICAgICBldmVudEZpcmVkID0gdHJ1ZTsK
ICAgICB9KTsKLX0pOwotCi1sZXQgb3ZlcmZsb3dUaGVCdWZmZXIgPSAoKSA9PiB7Ci0gICAgcmV0
dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgICAgICAvLyBUaGlzIHJlc291cmNlIG92
ZXJmbG93cyB0aGUgZW50cnkgYnVmZmVyLCBhbmQgZ29lcyBpbnRvIHRoZSBzZWNvbmRhcnkgYnVm
ZmVyLgotICAgICAgICBhcHBlbmRTY3JpcHQoJ3Jlc291cmNlcy9lbXB0eV9zY3JpcHQuanMnLCBy
ZXNvbHZlKTsKLSAgICB9KTsKLX07Ci0KLWxldCB0ZXN0VGhhdEJ1ZmZlckNvbnRhaW5zVGhlUmln
aHRSZXNvdXJjZXMgPSAoKSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5nZXRF
bnRyaWVzQnlUeXBlKCdyZXNvdXJjZScpLmxlbmd0aCwgcmVzb3VyY2VfdGltaW5nX2J1ZmZlcl9z
aXplLCAnVGhlcmUgc2hvdWxkIG9ubHkgYmUgfGJ1ZmZlclNpemV8IHJlc291cmNlIGVudHJpZXMu
Jyk7CisgICAgYXdhaXQgZmlsbFVwVGhlQnVmZmVyV2l0aFR3b1Jlc291cmNlcygpOworICAgIC8v
IE92ZXJmbG93IHRoZSBidWZmZXIKKyAgICBhd2FpdCBsb2FkLnNjcmlwdChzY3JpcHRSZXNvdXJj
ZXNbMl0pOworICAgIGF3YWl0IHdhaXRGb3JOZXh0VGFzaygpOworICAgIGNoZWNrRW50cmllcygy
KTsKICAgICBhc3NlcnRfZXF1YWxzKGJ1ZmZlckZ1bGxDb3VudCwgMSwgJ29ucmVzb3VyY2V0aW1p
bmdidWZmZXJmdWxsIHNob3VsZCBoYXZlIGJlZW4gaW52b2tlZCBvbmNlLicpOwotfTsKLQotcHJv
bWlzZV90ZXN0KGFzeW5jICgpID0+IHsKLSAgICBhd2FpdCBmaWxsVXBUaGVCdWZmZXJXaXRoVHdv
UmVzb3VyY2VzKCdyZXNvdXJjZXMvZW1wdHkuanMnKTsKLSAgICBhd2FpdCBvdmVyZmxvd1RoZUJ1
ZmZlcigpOwotICAgIGF3YWl0IHdhaXRGb3JFdmVudFRvRmlyZSgpOwotICAgIHRlc3RUaGF0QnVm
ZmVyQ29udGFpbnNUaGVSaWdodFJlc291cmNlcygpOwogfSwgIlRlc3QgdGhhdCBhIGJ1ZmZlciBm
dWxsIGV2ZW50IGRvZXMgbm90IGJ1YmJsZSBhbmQgdGhhdCByZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1
bGwgaXMgY2FsbGVkIG9ubHkgb25jZSBwZXIgb3ZlcmZsb3ciKTsKIDwvc2NyaXB0PgogPC9ib2R5
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1yZXVzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25u
ZWN0aW9uLXJldXNlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNWIxNTg3MmY2MzgxOGNlNTU3
MjNhMDU3Y2Q5NmM5Y2QzZDZmNzE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1y
ZXVzZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACitEZXNjcmlwdGlvbgorCitTZWUgdGhl
IGluY2x1ZGVkIHRlc3Qgc2NyaXB0CisKKworUEFTUyBQZXJmb3JtYW5jZVJlc3JvdWNlVGltaW5n
IGVudHJpZXMgbmVlZCB0byBjb25mb3JtIHRvIHRoZSBzcGVjIHdoZW4gYSBkaXN0aW5jdCByZXNv
dXJjZSBpcyBmZXRjaGVkIG92ZXIgYSBwZXJzaXN0ZW50IGNvbm5lY3Rpb24KK1BBU1MgUGVyZm9y
bWFuY2VSZXNyb3VjZVRpbWluZyBlbnRyaWVzIG5lZWQgdG8gY29uZm9ybSB0byB0aGUgc3BlYyB3
aGVuIHRoZSByZXNvdXJjZSBpcyBjYWNoZS1yZXZhbGlkYXRlZCBvdmVyIGEgcGVyc2lzdGVudCBj
b25uZWN0aW9uCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nv
bm5lY3Rpb24tcmV1c2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lODJiN2JjNGVhOWJiMWMzOTA0N2M1ZjUx
ODY3ZGMzYTNhNDVkYmViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1yZXVzZS5o
dG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZyBjb25uZWN0aW9u
IHJldXNlPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJo
dHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczov
L3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI3NlYy1wZXJmb3JtYW5jZXJlc291cmNl
dGltaW5nIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFudHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9jb25uZWN0aW9uLXJldXNlLXRlc3QuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRpb248L2gxPgorPHA+U2VlIDxhIGhy
ZWY9InJlc291cmNlcy9jb25uZWN0aW9uLXJldXNlLXRlc3QuanMiPnRoZSBpbmNsdWRlZCB0ZXN0
CisgIHNjcmlwdDwvYT48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25u
ZWN0aW9uLXJldXNlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHR0
cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI1YjE1ODcyZjYzODE4Y2U1NTcyM2EwNTdjZDk2
YzljZDNkNmY3MTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0aW9uLXJldXNlLmh0dHBz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKK0Rlc2NyaXB0aW9uCisKK1NlZSB0aGUgaW5j
bHVkZWQgdGVzdCBzY3JpcHQKKworCitQQVNTIFBlcmZvcm1hbmNlUmVzcm91Y2VUaW1pbmcgZW50
cmllcyBuZWVkIHRvIGNvbmZvcm0gdG8gdGhlIHNwZWMgd2hlbiBhIGRpc3RpbmN0IHJlc291cmNl
IGlzIGZldGNoZWQgb3ZlciBhIHBlcnNpc3RlbnQgY29ubmVjdGlvbgorUEFTUyBQZXJmb3JtYW5j
ZVJlc3JvdWNlVGltaW5nIGVudHJpZXMgbmVlZCB0byBjb25mb3JtIHRvIHRoZSBzcGVjIHdoZW4g
dGhlIHJlc291cmNlIGlzIGNhY2hlLXJldmFsaWRhdGVkIG92ZXIgYSBwZXJzaXN0ZW50IGNvbm5l
Y3Rpb24KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1yZXVzZS5odHRwcy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
Y29ubmVjdGlvbi1yZXVzZS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4MmI3YmM0ZWE5YmIxYzM5
MDQ3YzVmNTE4NjdkYzNhM2E0NWRiZWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0aW9u
LXJldXNlLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGlt
aW5nIGNvbm5lY3Rpb24gcmV1c2U8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJH
b29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAi
IGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmctMi8jc2VjLXBlcmZv
cm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnktaW52YXJpYW50
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2Nvbm5lY3Rpb24tcmV1c2Ut
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5EZXNjcmlwdGlvbjwvaDE+
Cis8cD5TZWUgPGEgaHJlZj0icmVzb3VyY2VzL2Nvbm5lY3Rpb24tcmV1c2UtdGVzdC5qcyI+dGhl
IGluY2x1ZGVkIHRlc3QKKyAgc2NyaXB0PC9hPjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1zdGFydC1lbmQtdGltZS13aXRoLXJlZGlyZWN0cy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhcnQtZW5kLXRpbWUtd2l0aC1yZWRpcmVjdHMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNhZTcyMmZjOWExMmM2ZWU0MjI3ZjQ5NGJlYjY3NjNh
YjQ3ZmQzOGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhcnQtZW5kLXRp
bWUtd2l0aC1yZWRpcmVjdHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFZl
cmlmeSB0aGF0IGNyb3NzLW9yaWdpbiByZXNvdXJjZXMgZG9uJ3QgaW1wbGljaXRseSBleHBvc2Ug
dGhlaXIgcmVkaXJlY3QgdGltaW5ncworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3Rh
cnQtZW5kLXRpbWUtd2l0aC1yZWRpcmVjdHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1zdGFydC1l
bmQtdGltZS13aXRoLXJlZGlyZWN0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFiMTA3ZDNhZWY3NzY0ZDli
OTYwM2VhMjY1OGNmNDY5Y2YyODU5ODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmln
aW4tc3RhcnQtZW5kLXRpbWUtd2l0aC1yZWRpcmVjdHMuaHRtbApAQCAtMCwwICsxLDMyIEBACis8
IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4K
Kzx0aXRsZT5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB2YWx1ZXMgaW4gcmVzb3VyY2UgdGltaW5n
IGZvciBjcm9zcy1vcmlnaW4KK3JlZGlyZWN0cy48L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3Ii
IHRpdGxlPSJOb2FtIFJvc2VudGhhbCIgaHJlZj0ibm9hbUB3ZWJraXQub3JnIj4KKzxsaW5rIHJl
bD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNz
ZWMtcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3Qt
aW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1s
b2FkZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnktaW52YXJp
YW50cy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citjb25zdCB7UkVN
T1RFX09SSUdJTn0gPSBnZXRfaG9zdF9pbmZvKCk7Citjb25zdCBkZWxheSA9IDIKK2NvbnN0IGJs
YW5rX3BhZ2UgPSBgL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5o
dG1gOworY29uc3QgZGVzdFVybCA9IGAvY29tbW9uL3Nsb3ctcmVkaXJlY3QucHk/ZGVsYXk9JHtk
ZWxheX0mbG9jYXRpb249JHtSRU1PVEVfT1JJR0lOfS8ke2JsYW5rX3BhZ2V9YDsKKworY29uc3Qg
dGltZUJlZm9yZSA9IHBlcmZvcm1hbmNlLm5vdygpCithdHRyaWJ1dGVfdGVzdChsb2FkLmlmcmFt
ZSwgZGVzdFVybCwgZW50cnkgPT4geworICAgIGFzc2VydF9lcXVhbHMoZW50cnkuc3RhcnRUaW1l
LCBlbnRyeS5mZXRjaFN0YXJ0LCAnc3RhcnRUaW1lIGFuZCBmZXRjaFN0YXJ0IHNob3VsZCBiZSBl
cXVhbCcpOworICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oZW50cnkuc3RhcnRUaW1lLCB0aW1lQmVm
b3JlLCAnc3RhcnRUaW1lIGFuZCBmZXRjaFN0YXJ0IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gdGhl
IHRpbWUgYmVmb3JlIGZldGNoaW5nJyk7CisgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS93
M2MvcmVzb3VyY2UtdGltaW5nL2lzc3Vlcy8yNjQKKyAgICBhc3NlcnRfbGVzc190aGFuKE1hdGgu
cm91bmQoZW50cnkuc3RhcnRUaW1lIC0gdGltZUJlZm9yZSksIGRlbGF5ICogMTAwMCwgJ3N0YXJ0
VGltZSBzaG91bGQgbm90IGV4cG9zZSByZWRpcmVjdCBkZWxheXMnKTsKK30sICJWZXJpZnkgdGhh
dCBjcm9zcy1vcmlnaW4gcmVzb3VyY2VzIGRvbid0IGltcGxpY2l0bHkgZXhwb3NlIHRoZWlyIHJl
ZGlyZWN0IHRpbWluZ3MiKQorCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2Nyb3NzLW9yaWdpbi1zdGF0dXMtY29kZXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1z
dGF0dXMtY29kZXMuaHRtbAppbmRleCBlOGVjZTVmZjJmZWEzZDRkODU2Y2RmMzc3NDg3MGM1OTA4
MGExYzQ1Li4xOTdhNzY2MzM5NmVmNjZjNzc2NGQ2NTk5YjAzODU0ZDEzOGYyZTYwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhdHVzLWNvZGVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mtb3Jp
Z2luLXN0YXR1cy1jb2Rlcy5odG1sCkBAIC0xLDYgKzEsOSBAQAogPCFkb2N0eXBlIGh0bWw+CiA8
aHRtbD4KIDxoZWFkPgorPHRpdGxlPlJlc291cmNlIFRpbWluZzogUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZyBhdHRyaWJ1dGVzIHNob3VsZG4ndCBjaGFuZ2UKKyAgaWYgdGhlIEhUVFAgc3RhdHVz
IGNvZGUgY2hhbmdlczwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3
LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmctMi8jc2VjLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1p
bmciLz4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPS9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanM+PC9zY3JpcHQ+CkBAIC0x
NSwzNCArMTgsNTMgQEAKIDxzY3JpcHQgaWQ9InNjcmlwdF80MDQiPjwvc2NyaXB0PgogPHNjcmlw
dCBpZD0ic2NyaXB0XzUwMiI+PC9zY3JpcHQ+CiA8c2NyaXB0PgotYXN5bmNfdGVzdCh0ID0+IHsK
LSAgbGV0IGRlc3RVcmwgPSBnZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lOICsgJy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzLyc7Ci0gIGxldCBzdGF0dXNDb2RlcyA9IFsnMjAwJywg
JzMwNycsICc0MDQnLCAnNTAyJ107CisKK2NvbnN0IGxpc3RlbkZvclBlcmZvcm1hbmNlRW50cmll
cyA9IG51bV9leHBlY3RlZCA9PiB7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsK
KyAgICBsZXQgcmVzdWx0cyA9IFtdOworICAgIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGVudHJ5
TGlzdCA9PiB7CisgICAgICBlbnRyeUxpc3QuZ2V0RW50cmllcygpLmZvckVhY2goZW50cnkgPT4g
eworICAgICAgICBpZiAoIWVudHJ5Lm5hbWUuaW5jbHVkZXMoInN0YXR1cy1jb2RlIikpCisgICAg
ICAgICAgcmV0dXJuOworCisgICAgICAgIHJlc3VsdHMucHVzaChlbnRyeSk7CisgICAgICAgIGlm
IChyZXN1bHRzLmxlbmd0aCA9PSBudW1fZXhwZWN0ZWQpIHsKKyAgICAgICAgICByZXNvbHZlKHJl
c3VsdHMpOworICAgICAgICB9CisgICAgICB9KTsKKyAgICB9KS5vYnNlcnZlKHtlbnRyeVR5cGVz
OiBbJ3Jlc291cmNlJ119KTsKKyAgfSk7Cit9CisKK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsK
KyAgY29uc3QgZGVzdFVybCA9IGdldF9ob3N0X2luZm8oKS5IVFRQX1JFTU9URV9PUklHSU4gKyAn
L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvJzsKKyAgY29uc3Qgc3RhdHVzQ29kZXMgPSBbJzIw
MCcsICczMDcnLCAnNDA0JywgJzUwMiddOworCisgIGxldCBleHBlY3RlZF9lbnRyeV9jb3VudCA9
IDA7CiAgIHN0YXR1c0NvZGVzLmZvckVhY2goc3RhdHVzID0+IHsKLSAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnaW1nXycgKyBzdGF0dXMpLnNyYyA9IGRlc3RVcmwgKyAnc3RhdHVzLWNvZGUu
cHk/c3RhdHVzPScgKyBzdGF0dXM7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Njcmlw
dF8nICsgc3RhdHVzKS5zcmMgPSBkZXN0VXJsICsgJ3N0YXR1cy1jb2RlLnB5P3N0YXR1cz0nICsg
c3RhdHVzICsgJyZzY3JpcHQ9MSc7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYGltZ18k
e3N0YXR1c31gKS5zcmMgPSBgJHtkZXN0VXJsfXN0YXR1cy1jb2RlLnB5P3N0YXR1cz0ke3N0YXR1
c31gOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBzY3JpcHRfJHtzdGF0dXN9YCkuc3Jj
ID0gYCR7ZGVzdFVybH1zdGF0dXMtY29kZS5weT9zdGF0dXM9JHtzdGF0dXN9JnNjcmlwdD0xYDsK
KyAgICBleHBlY3RlZF9lbnRyeV9jb3VudCArPSAyOwogICB9KTsKLSAgbGV0IG5hbWVNYXAgPSB7
fTsKLSAgbGV0IGZpcnN0RW50cnkgPSBudWxsOwotICAvLyBXZSB3aWxsIGNoZWNrIHRoYXQgdGhl
IG5vbi10aW1lc3RhbXAgdmFsdWVzIG9mIHRoZSBlbnRyeSBtYXRjaCBmb3IgYWxsIGVudHJpZXMu
Ci0gIGNvbnN0IGtleXMgPSBbJ2VudHJ5VHlwZScsICduZXh0SG9wUHJvdG9jb2wnLCAndHJhbnNm
ZXJTaXplJywgJ2VuY29kZWRCb2R5U2l6ZScsICdkZWNvZGVkQm9keVNpemUnXTsKLSAgbmV3IFBl
cmZvcm1hbmNlT2JzZXJ2ZXIodC5zdGVwX2Z1bmMoZW50cnlMaXN0ID0+IHsKLSAgICBlbnRyeUxp
c3QuZ2V0RW50cmllcygpLmZvckVhY2goZW50cnkgPT4gewotICAgICAgaWYgKCFlbnRyeS5uYW1l
LmluY2x1ZGVzKCJzdGF0dXMtY29kZSIpKQotICAgICAgICByZXR1cm47CiAKLSAgICAgIG5hbWVN
YXBbZW50cnkubmFtZV0gPSB0cnVlOwotICAgICAgaWYgKCFmaXJzdEVudHJ5KSB7Ci0gICAgICAg
IGZpcnN0RW50cnkgPSBlbnRyeTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIGtleXMuZm9yRWFj
aChrZXkgPT4gewotICAgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cnlba2V5XSwgZmlyc3RFbnRy
eVtrZXldLCBgRGlzY2VybmlibGUgZGlmZmVyZW5jZSBpbiAke2tleX0gZm9yICR7ZW50cnkubmFt
ZX1gKTsKLSAgICAgICAgfSk7Ci0gICAgICB9Ci0gICAgfSk7Ci0gICAgaWYgKE9iamVjdC5rZXlz
KG5hbWVNYXApLmxlbmd0aCA9PT0gOCkgewotICAgICAgdC5kb25lKCk7Ci0gICAgfQotICB9KSku
b2JzZXJ2ZSh7ZW50cnlUeXBlczogWydyZXNvdXJjZSddfSk7CisgIGNvbnN0IGVudHJpZXMgPSBh
d2FpdCBsaXN0ZW5Gb3JQZXJmb3JtYW5jZUVudHJpZXMoZXhwZWN0ZWRfZW50cnlfY291bnQpOwor
CisgIC8vIFdlIHdpbGwgY2hlY2sgdGhhdCB0aGUgbm9uLXRpbWVzdGFtcCB2YWx1ZXMgb2YgdGhl
IGVudHJ5IG1hdGNoIGZvciBhbGwKKyAgLy8gZW50cmllcy4KKyAgY29uc3Qga2V5cyA9IFsKKyAg
ICAnZW50cnlUeXBlJywKKyAgICAnbmV4dEhvcFByb3RvY29sJywKKyAgICAndHJhbnNmZXJTaXpl
JywKKyAgICAnZW5jb2RlZEJvZHlTaXplJywKKyAgICAnZGVjb2RlZEJvZHlTaXplJywKKyAgXTsK
KworICBjb25zdCBmaXJzdCA9IGVudHJpZXNbMF07CisgIGVudHJpZXMuc2xpY2UoMSkuZm9yRWFj
aChlbnRyeSA9PiB7CisgICAga2V5cy5mb3JFYWNoKGF0dHJpYnV0ZSA9PiB7CisgICAgICBhc3Nl
cnRfZXF1YWxzKGVudHJ5W2F0dHJpYnV0ZV0sIGZpcnN0W2F0dHJpYnV0ZV0sCisgICAgICAgIGBU
aGVyZSBtdXN0IGJlIG5vIGRpc2Nlcm5pYmxlIGRpZmZlcmVuY2UgZm9yIHRoZSAke2F0dHJpYnV0
ZX0gYCArCisgICAgICAgIGBhdHRyaWJ1dGUgYnV0IGZvdW5kIGEgZGlmZmVyZW5jZSBmb3IgdGhl
ICR7ZW50cnkubmFtZX0gcmVzb3VyY2UuYCk7CisgIH0pfSk7CiB9LCAiTWFrZSBzdXJlIGNyb3Nz
IG9yaWdpbiByZXNvdXJjZSBmZXRjaCBmYWlsdXJlcyB3aXRoIGRpZmZlcmVudCBzdGF0dXMgY29k
ZXMgYXJlIGluZGlzdGluZ3Vpc2hhYmxlIik7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Rv
Y3VtZW50LWRvbWFpbi1uby1pbXBhY3Qtb3BlbmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2RvY3VtZW50
LWRvbWFpbi1uby1pbXBhY3Qtb3BlbmVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44OTI4Zjc3
NWU4ZmJhOGJiZjk1OWQwZmFkZGQyMmU0YzFkY2IzYTVmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
ZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC1vcGVuZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NCBAQAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9kb2N1bWVudC1kb21haW4tbm8taW1wYWN0LW9wZW5lci5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZG9j
dW1lbnQtZG9tYWluLW5vLWltcGFjdC1vcGVuZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OWRmMmYyN2Zh
NWIxOTVmN2I5NTY3MTRjZjgxNmE2MWUxODI1OGI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZG9j
dW1lbnQtZG9tYWluLW5vLWltcGFjdC1vcGVuZXIuaHRtbApAQCAtMCwwICsxLDE2IEBACis8IURP
Q1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorLy8g
T3BlbiBhIGRvY3VtZW50IG9uIG9uZSBvZiBob3N0cyBvbiB0aGUgd2ViLXBsYXRmb3JtIHRlc3Qg
ZG9tYWluLCBzbyB0aGF0CisvLyBkb2N1bWVudC5kb21haW4gd2lsbCBzZXQgYSB2YWxpZCBkb21h
aW4sIHR1cm5pbmcgdGhlIGZyYW1lIGludG8gYQorLy8gY3Jvc3Mtb3JpZ2luIGZyYW1lLgorY29u
c3Qge09USEVSX09SSUdJTn0gPSBnZXRfaG9zdF9pbmZvKCk7Citjb25zdCBvcGVuZWUgPSB3aW5k
b3cub3BlbihPVEhFUl9PUklHSU4gKworICAgICAgICAgICAgICAgIi9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3QuaHRtbCIpOworZmV0Y2hfdGVzdHNf
ZnJvbV93aW5kb3cob3BlbmVlKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZW50cnktYXR0
cmlidXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9lbnRyeS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hYWZiNDVlY2I1YWIyMDBiNTE1MzE5NTVmMGNlOGJkNzg2YzU1MDQ4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvZW50cnktYXR0cmlidXRlcy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMSBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IFBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcgZW50cmllcycgYXR0cmlidXRlcyBhcmUgcG9wdWxhdGVkIHdpdGgg
dGhlIGNvcnJlY3QgdmFsdWVzLgorCisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdl
ID0gbnVsbAorCitUSU1FT1VUIEltYWdlIHJlc291cmNlcyBzaG91bGQgZ2VuZXJhdGUgY29uZm9y
bWFudCBlbnRyaWVzIFRlc3QgdGltZWQgb3V0CitOT1RSVU4gRm9udCByZXNvdXJjZXMgc2hvdWxk
IGdlbmVyYXRlIGNvbmZvcm1hbnQgZW50cmllcworTk9UUlVOIFNhbWUtb3JpZ2luIHJlZGlyZWN0
cyBzaG91bGQgcG9wdWxhdGUgcmVkaXJlY3RTdGFydC9yZWRpcmVjdEVuZAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9lbnRyeS1hdHRyaWJ1dGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9lbnRyeS1hdHRyaWJ1dGVzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjg5YjRlNzRjODU1MTg3NWM1MDMxMzNhZDY2NTJjOGE4YjZjNTkzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL2VudHJ5LWF0dHJpYnV0ZXMuaHRtbApAQCAtMCwwICsxLDM3IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4K
Kzx0aXRsZT5SZXNvdXJjZSBUaW1pbmc6IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgYXR0cmli
dXRlczwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9U
Ui9yZXNvdXJjZS10aW1pbmctMi8jc2VjLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFudHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2F0
dHJpYnV0ZV90ZXN0KAorICBsb2FkLmltYWdlLCAicmVzb3VyY2VzL2Zha2VfcmVzcG9uc2VzLnB5
I2hhc2g9MSIsCisgIGVudHJ5ID0+IHsKKyAgICBhc3NlcnRfdHJ1ZShlbnRyeS5uYW1lLmluY2x1
ZGVzKCcjaGFzaD0xJyksCisgICAgICAiVGhlcmUgc2hvdWxkIGJlIGEgaGFzaCBpbiB0aGUgcmVz
b3VyY2UgbmFtZSIpOworICAgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzX25vX3JlZGlyZWN0
X2h0dHAoZW50cnkpOworICB9LAorICAiSW1hZ2UgcmVzb3VyY2VzIHNob3VsZCBnZW5lcmF0ZSBj
b25mb3JtYW50IGVudHJpZXMiKTsKKworYXR0cmlidXRlX3Rlc3QoCisgIGxvYWQuZm9udCwgIi9m
b250cy9BaGVtLnR0ZiIsCisgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzX25vX3JlZGlyZWN0
X2h0dHAsCisgICJGb250IHJlc291cmNlcyBzaG91bGQgZ2VuZXJhdGUgY29uZm9ybWFudCBlbnRy
aWVzIik7CisKK2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLmltYWdlLCAiL2NvbW1vbi9yZWRpcmVj
dC5weT9sb2NhdGlvbj1yZXNvdXJjZXMvZmFrZV9yZXNwb25zZXMucHkiLAorICBpbnZhcmlhbnRz
LmFzc2VydF9zYW1lX29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNlLAorICAiU2FtZS1vcmlnaW4g
cmVkaXJlY3RzIHNob3VsZCBwb3B1bGF0ZSByZWRpcmVjdFN0YXJ0L3JlZGlyZWN0RW5kIik7Cis8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxwPlRoaXMg
dGVzdCB2YWxpZGF0ZXMgdGhhdCBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGVudHJpZXMnIGF0
dHJpYnV0ZXMgYXJlCitwb3B1bGF0ZWQgd2l0aCB0aGUgY29ycmVjdCB2YWx1ZXMuPC9wPgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZmV0Y2gtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0
Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZldGNoLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odHRw
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTJmYjMwZDFhNzgxM2FjZWVmNTAzMzM0YTBkNDgw
MDQyMDYyMzQwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZldGNoLWNyb3NzLW9yaWdpbi1yZWRp
cmVjdC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgVGVzdCBmZXRj
aGluZyB0aHJvdWdoIGEgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0IFVSTAorUEFTUyBUZXN0IGZldGNo
aW5nIHRocm91Z2ggYSBzYW1lLW9yaWdpbiByZWRpcmVjdCBVUkwKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
ZmV0Y2gtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mZXRjaC1jcm9zcy1v
cmlnaW4tcmVkaXJlY3QuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MTkzNDIyNjUzYTU5NTRmZjAz
MzUxOGM2OTBmNjU0NjBiYzU0MzNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZmV0Y2gtY3Jvc3Mt
b3JpZ2luLXJlZGlyZWN0Lmh0dHBzLmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPCFET0NUWVBFIGh0
bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdCBjcm9zcy1vcmlnaW4gZmV0
Y2ggcmVkaXJlY3RzIGhhdmUgdGhlIHJpZ2h0IHZhbHVlcy48L3RpdGxlPgorPGxpbmsgcmVsPSJh
dXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8
bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1p
bmctMi8jc2VjLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dl
dC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50
cnktaW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291
cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworY29uc3Qge1JFTU9URV9PUklH
SU4sIE9SSUdJTn0gPSBnZXRfaG9zdF9pbmZvKCk7Citjb25zdCByZWRpcmVjdCA9ICIvY29tbW9u
L3JlZGlyZWN0LnB5PyIgKworICAgICAgICAgICAgICAgICAibG9jYXRpb249L3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvZ3JlZW4uaHRtbCI7Citjb25zdCBjcm9zc19vcmlnaW5fcmVkaXJlY3Qg
PSBSRU1PVEVfT1JJR0lOICsgcmVkaXJlY3Q7Citjb25zdCBzYW1lX29yaWdpbl9yZWRpcmVjdCA9
IE9SSUdJTiArIHJlZGlyZWN0OworCithdHRyaWJ1dGVfdGVzdCgKKyAgdXJsID0+IGZldGNoKHVy
bCwge21vZGU6ICJuby1jb3JzIiwgY3JlZGVudGlhbHM6ICJpbmNsdWRlIn0pLAorICBuZXcgVVJM
KGNyb3NzX29yaWdpbl9yZWRpcmVjdCkuaHJlZiwKKyAgaW52YXJpYW50cy5hc3NlcnRfY3Jvc3Nf
b3JpZ2luX3JlZGlyZWN0ZWRfcmVzb3VyY2UsCisgICJUZXN0IGZldGNoaW5nIHRocm91Z2ggYSBj
cm9zcy1vcmlnaW4gcmVkaXJlY3QgVVJMIgorKTsKKworYXR0cmlidXRlX3Rlc3QoCisgIHVybCA9
PiBmZXRjaCh1cmwsIHttb2RlOiAibm8tY29ycyIsIGNyZWRlbnRpYWxzOiAiaW5jbHVkZSJ9KSwK
KyAgbmV3IFVSTChzYW1lX29yaWdpbl9yZWRpcmVjdCkuaHJlZiwKKyAgaW52YXJpYW50cy5hc3Nl
cnRfc2FtZV9vcmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAgIlRlc3QgZmV0Y2hpbmcgdGhy
b3VnaCBhIHNhbWUtb3JpZ2luIHJlZGlyZWN0IFVSTCIKKyk7CisKKzwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvZm9udC10aW1lc3RhbXBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZvbnQtdGltZXN0YW1w
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDE5NjQ0MTg3NWJlY2QyNDNiZmUyMjNlNWFiOWIw
MDhkMGExOWY5OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZvbnQtdGltZXN0YW1wcy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIGZldGNoZXMgYWhlbSBmb250LgorCitGQUlMIFRl
c3QgYSBmb250J3MgdGltZXN0YW1wcyBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsOiBkb21haW5M
b29rdXBTdGFydCBzaG91bGQgYmUgbW9yZSB0aGFuIDAgaW4gc2FtZS1vcmlnaW4gcmVkaXJlY3Qu
IGV4cGVjdGVkIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byA8bm9uZGV0ZXJtaW5p
c3RpYyB0ZXN0IG91dHB1dD4gYnV0IGdvdCAwCitQQVNTIFRlc3QgYSBmb250J3MgdGltZXN0YW1w
cyB3aXRoIGRlbGF5cworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mb250LXRpbWVzdGFtcHMuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2ZvbnQtdGltZXN0YW1wcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2ZWNiNWM0YmZkZGI2MGU3ODNlZTc3
Y2QzMDhiMjhhMGM0ZWE5YzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mb250LXRpbWVzdGFtcHMu
aHRtbApAQCAtMCwwICsxLDYyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzx0aXRsZT5UZXN0IGNyb3NzLW9yaWdpbiBmZXRjaCByZWRpcmVjdHMgaGF2ZSB0aGUg
cmlnaHQgdmFsdWVzLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5q
cyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citjb25zdCBsb2FkX2ZvbnQgPSB1cmwgPT4g
eworICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9IGAKKyAgICA8c3R5bGU+CisgICAgQGZvbnQt
ZmFjZSB7CisgICAgICAgIGZvbnQtZmFtaWx5OiBhaGVtOworICAgICAgICBzcmM6IHVybCgnJHt1
cmx9Jyk7CisgICAgfQorICAgIDwvc3R5bGU+CisgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6
IGFoZW07Ij5UaGlzIGZldGNoZXMgYWhlbSBmb250LjwvZGl2PgorICBgOworICByZXR1cm4gZG9j
dW1lbnQuZm9udHMucmVhZHk7Cit9OworCitjb25zdCBydW5fdGVzdCA9IGFzeW5jICh0LCB1cmwp
ID0+IHsKKyAgLy8gU2V0IHVwIFBlcmZvcm1hbmNlT2JzZXJ2ZXIKKyAgY29uc3QgaHJlZiA9IG5l
dyBVUkwodXJsKS5ocmVmOworICBjb25zdCBzZXRQZXJmb3JtYW5jZU9ic2VydmVyID0gbmV3IFBy
b21pc2UocmVzb2x2ZSA9PiB7CisgICAgY29uc3QgcG8gPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZl
cihyZXNvbHZlKTsKKyAgICBwby5vYnNlcnZlKHt0eXBlOiAicmVzb3VyY2UifSk7CisgIH0pOwor
CisgIC8vIExvYWQgdGhlIGZvbnQgcmVzb3VyY2UgYW5kIHdhaXQgZm9yIGl0IHRvIGJlIGZldGNo
ZWQuCisgIGF3YWl0IGxvYWRfZm9udChocmVmKTsKKworICAvLyBXYWl0IGZvciBhbiBlbnRyeQor
ICBjb25zdCB0aW1lb3V0ID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB0LnN0ZXBfdGltZW91dChy
ZXNvbHZlLCAzMDAwKSk7CisgIGNvbnN0IGxpc3QgPSBhd2FpdCBQcm9taXNlLnJhY2UoW3NldFBl
cmZvcm1hbmNlT2JzZXJ2ZXIsIHRpbWVvdXRdKTsKKyAgYXNzZXJ0X2VxdWFscyh0eXBlb2YobGlz
dCksICJvYmplY3QiLCAiTm8gaWZyYW1lIGVudHJ5IHdhcyBmaXJlZCIpOworICBjb25zdCBlbnRy
aWVzID0gbGlzdC5nZXRFbnRyaWVzQnlOYW1lKHVybCk7CisgIGFzc2VydF9lcXVhbHMoZW50cmll
cy5sZW5ndGgsIDEpOworCisgIC8vIFRlc3QgZW50cnkgdmFsdWVzCisgIGNvbnN0IGVudHJ5ID0g
ZW50cmllc1swXTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihlbnRyeS5mZXRjaFN0YXJ0LCAwLCAi
ZmV0Y2hTdGFydCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIDAgaW4gcmVkaXJlY3RzLiIpOworICBh
c3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LmRvbWFpbkxvb2t1cFN0YXJ0LCBlbnRyeS5m
ZXRjaFN0YXJ0LCAiZG9tYWluTG9va3VwU3RhcnQgc2hvdWxkIGJlIG1vcmUgdGhhbiAwIGluIHNh
bWUtb3JpZ2luIHJlZGlyZWN0LiIpOworICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5
LmRvbWFpbkxvb2t1cEVuZCwgZW50cnkuZG9tYWluTG9va3VwU3RhcnQsICJkb21haW5Mb29rdXBF
bmQgc2hvdWxkIGJlIG1vcmUgdGhhbiAwIGluIHNhbWUtb3JpZ2luIHJlZGlyZWN0LiIpOworICBh
c3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LmNvbm5lY3RTdGFydCwgZW50cnkuZG9tYWlu
TG9va3VwRW5kLCAiY29ubmVjdFN0YXJ0IHNob3VsZCBiZSBtb3JlIHRoYW4gMCBpbiBzYW1lLW9y
aWdpbiByZWRpcmVjdC4iKTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChlbnRyeS5zZWN1
cmVDb25uZWN0aW9uU3RhcnQsIGVudHJ5LmNvbm5lY3RTdGFydCwgInNlY3VyZUNvbm5lY3Rpb25T
dGFydCBzaG91bGQgYmUgbW9yZSB0aGFuIDAgaW4gc2FtZS1vcmlnaW4gcmVkaXJlY3QuIik7Cisg
IGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkuY29ubmVjdEVuZCwgZW50cnkuc2VjdXJl
Q29ubmVjdGlvblN0YXJ0LCAiY29ubmVjdEVuZCBzaG91bGQgYmUgbW9yZSB0aGFuIDAgaW4gc2Ft
ZS1vcmlnaW4gcmVkaXJlY3QuIik7CisgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnku
cmVxdWVzdFN0YXJ0LCBlbnRyeS5jb25uZWN0RW5kLCAicmVxdWVzdFN0YXJ0IHNob3VsZCBiZSBt
b3JlIHRoYW4gMCBpbiBzYW1lLW9yaWdpbiByZWRpcmVjdC4iKTsKKyAgYXNzZXJ0X2dyZWF0ZXJf
dGhhbl9lcXVhbChlbnRyeS5yZXNwb25zZVN0YXJ0LCBlbnRyeS5yZXF1ZXN0U3RhcnQsICJyZXNw
b25zZVN0YXJ0IHNob3VsZCBiZSBtb3JlIHRoYW4gMCBpbiBzYW1lLW9yaWdpbiByZWRpcmVjdC4i
KTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChlbnRyeS5yZXNwb25zZUVuZCwgZW50cnku
cmVzcG9uc2VTdGFydCwgInJlc3BvbnNlRW5kIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMCBpbiBy
ZWRpcmVjdHMuIik7CisgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkuZHVyYXRpb24s
IDAsICJkdXJhdGlvbiBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIDAgaW4gcmVkaXJlY3RzLiIpOwor
fQorCitjb25zdCB7SFRUUFNfUkVNT1RFX09SSUdJTn0gPSBnZXRfaG9zdF9pbmZvKCk7Citwcm9t
aXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBydW5fdGVzdCh0LCBIVFRQU19SRU1PVEVfT1JJR0lO
ICsgIi9mb250cy9BaGVtLnR0ZiIpOworfSwgIlRlc3QgYSBmb250J3MgdGltZXN0YW1wcyIpOwor
Citwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBydW5fdGVzdCh0LCBIVFRQU19SRU1PVEVf
T1JJR0lOICsgIi9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NvcnMtYWhlbS5weT9waXBlPXRy
aWNrbGUoZDEpIik7Cit9LCAiVGVzdCBhIGZvbnQncyB0aW1lc3RhbXBzIHdpdGggZGVsYXlzIik7
Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2lmcmFtZS1mYWlsZWQtY29tbWl0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2lmcmFtZS1mYWlsZWQtY29tbWl0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
NDRiZDE3NTJmMjkyNmYyM2YzY2IzMDc3YTNhNmVjNzUyZjgxNWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvaWZyYW1lLWZhaWxlZC1jb21taXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAK
K0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL25vbmV4aXN0ZW50LmxvY2Fs
aG9zdDo5NDQzLworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vbm9uZXhp
c3RlbnQubG9jYWxob3N0Ojk0NDMvCisKKworUEFTUyBQcmVjb25kaXRpb24KK0ZBSUwgVGVzdCBp
ZnJhbWUgZnJvbSBub24tZXhpc3RlbnQgaG9zdCBhc3NlcnRfZXF1YWxzOiBObyBpZnJhbWUgZW50
cnkgd2FzIGZpcmVkIGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKK0ZBSUwg
VGVzdCBpZnJhbWUgcmVkaXJlY3RpbmcgdG8gbm9uLWV4aXN0ZW50IGhvc3QgYXNzZXJ0X2VxdWFs
czogTm8gaWZyYW1lIGVudHJ5IHdhcyBmaXJlZCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1
bmRlZmluZWQiCitQQVNTIFNhbWUtb3JpZ2luIGlmcmFtZSB0aGF0IGNvbXBsaWVzIHdpdGggQ1NQ
IGF0dHJpYnV0ZSBnZXRzIHJlcG9ydGVkCitQQVNTIFNhbWUtb3JpZ2luIGlmcmFtZSB0aGF0IGRv
ZXNuJ3QgY29tcGx5IHdpdGggQ1NQIGF0dHJpYnV0ZSBnZXRzIHJlcG9ydGVkCitQQVNTIENyb3Nz
LW9yaWdpbiBpZnJhbWUgdGhhdCBjb21wbGllcyB3aXRoIENTUCBhdHRyaWJ1dGUgZ2V0cyByZXBv
cnRlZAorUEFTUyBDcm9zcy1vcmlnaW4gaWZyYW1lIHRoYXQgZG9lc24ndCBjb21wbHkgd2l0aCBD
U1AgYXR0cmlidXRlIGdldHMgcmVwb3J0ZWQKK0ZBSUwgU2FtZS1vcmlnaW4gZW1wdHkgaWZyYW1l
IHdpdGggYSAyMDAgc3RhdHVzIGdldHMgcmVwb3J0ZWQgYXNzZXJ0X2VxdWFsczogTm8gaWZyYW1l
IGVudHJ5IHdhcyBmaXJlZCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCitG
QUlMIENyb3NzLW9yaWdpbiBlbXB0eSBpZnJhbWUgd2l0aCBhIDIwMCBzdGF0dXMgZ2V0cyByZXBv
cnRlZCBhc3NlcnRfZXF1YWxzOiBObyBpZnJhbWUgZW50cnkgd2FzIGZpcmVkIGV4cGVjdGVkICJv
YmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaWZyYW1lLWZhaWxl
ZC1jb21taXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2lmcmFtZS1mYWlsZWQtY29tbWl0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDliZDkzNDI3YzFkMzlhYzVhZWQ5MjhjYWEzZDAyNTM1NTdkZDQxNgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2lmcmFtZS1mYWlsZWQtY29tbWl0Lmh0bWwKQEAgLTAsMCArMSw4MCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0
bGU+UmVzb3VyY2UgVGltaW5nIC0gdGVzdCB0aGF0IHVuc3VjY2Vzc2Z1bCBpZnJhbWVzIGNyZWF0
ZSBlbnRyaWVzPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48
L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4KK3Rlc3QoKCkgPT4geworICBjb25zdCBlbnRyaWVz
ID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgicmVzb3VyY2UiKTsKKyAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzLmxlbmd0aCwgMywgIlByZWNvbmRpdGlvbiAtIEVudHJpZXMgZm9yIGJsb2Nr
aW5nIHNjcmlwdHMgZmlyZWQiKTsKK30sICJQcmVjb25kaXRpb24iKTsKKworY29uc3QgcnVuX3Rl
c3QgPSBhc3luYyAodCwgdXJsLCBjc3ApID0+IHsKKyAgY29uc3Qgc2V0UGVyZm9ybWFuY2VPYnNl
cnZlciA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIGNvbnN0IHBvID0gbmV3IFBlcmZv
cm1hbmNlT2JzZXJ2ZXIocmVzb2x2ZSk7CisgICAgcG8ub2JzZXJ2ZSh7dHlwZTogInJlc291cmNl
In0pOworICB9KTsKKyAgY29uc3QgdGltZW91dCA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gdC5z
dGVwX3RpbWVvdXQocmVzb2x2ZSwgMTAwMCkpOworICBjb25zdCBmcmFtZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImlmcmFtZSIpOworICBmcmFtZS5zcmMgPSB1cmw7CisgIGlmIChjc3ApIHsK
KyAgICBmcmFtZS5jc3AgPSBjc3A7CisgIH0KKyAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChm
cmFtZSk7CisgIGNvbnN0IGxpc3QgPSBhd2FpdCBQcm9taXNlLnJhY2UoW3NldFBlcmZvcm1hbmNl
T2JzZXJ2ZXIsIHRpbWVvdXRdKTsKKyAgYXNzZXJ0X2VxdWFscyh0eXBlb2YobGlzdCksICJvYmpl
Y3QiLCAiTm8gaWZyYW1lIGVudHJ5IHdhcyBmaXJlZCIpOworICBjb25zdCBlbnRyaWVzID0gbGlz
dC5nZXRFbnRyaWVzQnlOYW1lKHVybCk7CisgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgs
IDEpOworICBhc3NlcnRfZ3JlYXRlcl90aGFuKGVudHJpZXNbMF0uZHVyYXRpb24sIDAsICJEdXJh
dGlvbiBncmVhdGVyIHRoYW4gMCIpOworfQorCitjb25zdCB7UkVNT1RFX09SSUdJTiwgT1JJR0lO
QUxfSE9TVCwgSFRUUFNfUE9SVH0gPSBnZXRfaG9zdF9pbmZvKCk7Citjb25zdCBub25leGlzdGVu
dF91cmwgPSAiaHR0cHM6Ly9ub25leGlzdGVudC4iICsgT1JJR0lOQUxfSE9TVCArICI6IiArIEhU
VFBTX1BPUlQgKyAiLyI7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHJ1bl90ZXN0
KHQsIG5vbmV4aXN0ZW50X3VybCk7Cit9LCAiVGVzdCBpZnJhbWUgZnJvbSBub24tZXhpc3RlbnQg
aG9zdCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIGNvbnN0IHVybCA9IG5ldyBVUkwoInJl
c291cmNlcy9mYWtlX3Jlc3BvbnNlcy5weT9yZWRpcmVjdD0iICsgbm9uZXhpc3RlbnRfdXJsLCBs
b2NhdGlvbi5ocmVmKTsKKyAgcmV0dXJuIHJ1bl90ZXN0KHQsIHVybC50b1N0cmluZygpKTsKK30s
ICJUZXN0IGlmcmFtZSByZWRpcmVjdGluZyB0byBub24tZXhpc3RlbnQgaG9zdCIpOworCitjb25z
dCBjc3BfZGlyZWN0aXZlID0gImRlZmF1bHQtc3JjICdub25lJyI7Citwcm9taXNlX3Rlc3QodCA9
PiB7CisgIGNvbnN0IHVybCA9IG5ldyBVUkwoIi9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2Nz
cC1kZWZhdWx0LW5vbmUuaHRtbCIsIGxvY2F0aW9uLmhyZWYpOworICByZXR1cm4gcnVuX3Rlc3Qo
dCwgdXJsLCBjc3BfZGlyZWN0aXZlKTsKK30sICJTYW1lLW9yaWdpbiBpZnJhbWUgdGhhdCBjb21w
bGllcyB3aXRoIENTUCBhdHRyaWJ1dGUgZ2V0cyByZXBvcnRlZCIpOworCitwcm9taXNlX3Rlc3Qo
dCA9PiB7CisgIGNvbnN0IHVybCA9IG5ldyBVUkwoIi9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vz
L2dyZWVuLWZyYW1lLmh0bWwiLCBsb2NhdGlvbi5ocmVmKTsKKyAgcmV0dXJuIHJ1bl90ZXN0KHQs
IHVybC50b1N0cmluZygpLCBjc3BfZGlyZWN0aXZlKTsKK30sICJTYW1lLW9yaWdpbiBpZnJhbWUg
dGhhdCBkb2Vzbid0IGNvbXBseSB3aXRoIENTUCBhdHRyaWJ1dGUgZ2V0cyByZXBvcnRlZCIpOwor
Citwcm9taXNlX3Rlc3QodCA9PiB7CisgIGNvbnN0IHVybCA9IG5ldyBVUkwoIi9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL2NzcC1kZWZhdWx0LW5vbmUuaHRtbCIsIFJFTU9URV9PUklHSU4pOwor
ICByZXR1cm4gcnVuX3Rlc3QodCwgdXJsLnRvU3RyaW5nKCksIGNzcF9kaXJlY3RpdmUpOworfSwg
IkNyb3NzLW9yaWdpbiBpZnJhbWUgdGhhdCBjb21wbGllcyB3aXRoIENTUCBhdHRyaWJ1dGUgZ2V0
cyByZXBvcnRlZCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIGNvbnN0IHVybCA9IG5ldyBV
UkwoIi9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2dyZWVuLWZyYW1lLmh0bWwiLCBSRU1PVEVf
T1JJR0lOKTsKKyAgcmV0dXJuIHJ1bl90ZXN0KHQsIHVybC50b1N0cmluZygpLCBjc3BfZGlyZWN0
aXZlKTsKK30sICJDcm9zcy1vcmlnaW4gaWZyYW1lIHRoYXQgZG9lc24ndCBjb21wbHkgd2l0aCBD
U1AgYXR0cmlidXRlIGdldHMgcmVwb3J0ZWQiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBj
b25zdCB1cmwgPSBuZXcgVVJMKCIvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy8yMDBfZW1wdHku
YXNpcyIsIGxvY2F0aW9uLmhyZWYpOworICByZXR1cm4gcnVuX3Rlc3QodCwgdXJsLnRvU3RyaW5n
KCksIGNzcF9kaXJlY3RpdmUpOworfSwgIlNhbWUtb3JpZ2luIGVtcHR5IGlmcmFtZSB3aXRoIGEg
MjAwIHN0YXR1cyBnZXRzIHJlcG9ydGVkIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgY29u
c3QgdXJsID0gbmV3IFVSTCgiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvMjAwX2VtcHR5LmFz
aXMiLCBSRU1PVEVfT1JJR0lOKTsKKyAgcmV0dXJuIHJ1bl90ZXN0KHQsIHVybC50b1N0cmluZygp
LCBjc3BfZGlyZWN0aXZlKTsKK30sICJDcm9zcy1vcmlnaW4gZW1wdHkgaWZyYW1lIHdpdGggYSAy
MDAgc3RhdHVzIGdldHMgcmVwb3J0ZWQiKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9pbml0aWF0b3ItdHlwZS1mb3Itc2NyaXB0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL2luaXRpYXRvci10eXBlLWZvci1zY3JpcHQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5
MTk4N2I2MGJiNjY2ODM3Zjk2Njk4N2ZkMmIzMDdjYzI2MDdkODkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9pbml0aWF0b3ItdHlwZS1mb3Itc2NyaXB0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMg
QEAKKworUEFTUyBWYWxpZGF0ZSBpbml0aWF0b3JUeXBlIGZvciBzY3JpcHRzIGlzICdzY3JpcHQn
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2luaXRpYXRvci10eXBlLWZvci1zY3JpcHQuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2lu
aXRpYXRvci10eXBlLWZvci1zY3JpcHQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MjE3MzM5OGQ1NmFhNDhm
ZDNkOTgxN2EwNThjMTkxMTVlN2RmOWRkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaW5pdGlhdG9y
LXR5cGUtZm9yLXNjcmlwdC5odG1sCkBAIC0wLDAgKzEsNjcgQEAKKzwhRE9DVFlQRSBIVE1MPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlRoaXMgdGVz
dCB2YWxpZGF0ZXMgdGhhdCB0aGUgaW5pdGlhdG9yVHlwZSBpbmZvcm1hdGlvbiBmb3IgdmFyaW91
cworUmVzb3VyY2UgVGltaW5nIGVudHJpZXMgaXMgYWNjdXJhdGUgZm9yIHNjcmlwdHMuPC90aXRs
ZT4KKzxsaW5rIHJlbD0iaGVscCIKKyAgICAgIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9y
ZXNvdXJjZS10aW1pbmctMi8jZG9tLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmctaW5pdGlhdG9y
dHlwZSIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnktaW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8IS0t
IFRlc3RlZCByZXNvdXJjZXMgLS0+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VtcHR5X3Njcmlw
dC5qcz9pZD1ibG9ja2luZyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VtcHR5
X3NjcmlwdC5qcz9pZD1hc3luYyIgYXN5bmM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL2VtcHR5X3NjcmlwdC5qcz9pZD1hc3luY19mYWxzZSIgYXN5bmM9ZmFsc2U+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5qcz9pZD1kZWZlciIgZGVmZXI+
PC9zY3JpcHQ+Cis8c2NyaXB0PgorZG9jdW1lbnQud3JpdGUoIjxzY3JpcHQgc3JjPSdyZXNvdXJj
ZXMvZW1wdHlfc2NyaXB0LmpzP2lkPWRvY193cml0dGVuJz48L3NjciIKKyAgICAgICAgICAgICAg
ICsgImlwdD4iKTsKKworY29uc3QgaGVhZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l
KCJoZWFkIilbMF07Citjb25zdCBzMSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIp
OworczEuc3JjID0gImVtcHR5X3NjcmlwdC5qcz9pZD1hcHBlbmRlZCI7CitoZWFkLmFwcGVuZENo
aWxkKHMxKTsKKworY29uc3QgczIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsK
K3MyLnNyYyA9ICJlbXB0eV9zY3JpcHQuanM/aWQ9YXBwZW5kZWRfYXN5bmMiOworczIuYXN5bmMg
PSB0cnVlOworaGVhZC5hcHBlbmRDaGlsZChzMik7CisKK2NvbnN0IHMzID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgic2NyaXB0Iik7CitzMy5zcmMgPSAiZW1wdHlfc2NyaXB0LmpzP2lkPWFwcGVu
ZGVkX2F5bmNfZmFsc2UiOworczMuYXN5bmMgPSBmYWxzZTsKK2hlYWQuYXBwZW5kQ2hpbGQoczMp
OworCitjb25zdCBzNCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOworczQuc3Jj
ID0gImVtcHR5X3NjcmlwdC5qcz9pZD1hcHBlbmRlZF9kZWZlciI7CitzNC5kZWZlciA9IHRydWU7
CitoZWFkLmFwcGVuZENoaWxkKHM0KTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0PgorCitjb25zdCB3YWl0X2Zvcl9vbmxvYWQgPSAoKSA9PiB7CisgIHJldHVybiBuZXcgUHJv
bWlzZShyZXNvbHZlID0+IHsKKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJl
c29sdmUpOworfSl9OworCitwcm9taXNlX3Rlc3QoCisgIGFzeW5jICgpID0+IHsKKyAgICBhd2Fp
dCB3YWl0X2Zvcl9vbmxvYWQoKTsKKworICAgIGNvbnN0IGVudHJ5X2xpc3QgPSBwZXJmb3JtYW5j
ZS5nZXRFbnRyaWVzQnlUeXBlKCJyZXNvdXJjZSIpOworICAgIGZvciAoZW50cnkgb2YgZW50cnlf
bGlzdCkgeworICAgICAgaWYgKGVudHJ5Lm5hbWUuaW5jbHVkZXMoImVtcHR5X3NjcmlwdC5qcyIp
KSB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cnkuaW5pdGlhdG9yVHlwZSwgInNjcmlwdCIs
CisgICAgICAgICAgICAgICAgICAgICAgImluaXRpYXRvclR5cGUgc2hvdWxkIGJlICdzY3JpcHQn
IGZvciAiICsgZW50cnkubmFtZSk7CisgICAgICB9CisgICAgfQorfSwgIlZhbGlkYXRlIGluaXRp
YXRvclR5cGUgZm9yIHNjcmlwdHMgaXMgJ3NjcmlwdCciKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9uZXh0SG9wUHJvdG9jb2wtaXMtdGFvLXByb3RlY3Rl
ZC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9uZXh0SG9wUHJvdG9jb2wtaXMtdGFvLXByb3RlY3Rl
ZC5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzRjYmJhYTRkMjA1YjVjNDQ3ZmY4ZmMw
NDRkNjhiZGEyNTAzNDBkNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL25leHRIb3BQcm90b2NvbC1p
cy10YW8tcHJvdGVjdGVkLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworRkFJ
TCBBZGQgVEFPLWxlc3MgaWZyYW1lIGZyb20gcmVtb3RlIG9yaWdpbi4gTWFrZSBzdXJlIG5leHRI
b3BQcm90b2NvbCBpcyB0aGUgZW1wdHkgc3RyaW5nIGFzc2VydF9lcXVhbHM6IG5leHRIb3BQcm90
b2NvbCBzaG91bGQgYmUgdGhlIGVtcHR5IHN0cmluZyBleHBlY3RlZCAiIiBidXQgZ290ICJodHRw
LzEuMSIKK1BBU1MgQWRkIFRBTydkIGlmcmFtZSBmcm9tIHJlbW90ZSBvcmlnaW4uIE1ha2Ugc3Vy
ZSBuZXh0SG9wUHJvdG9jb2wgaXMgbm90IHRoZSBlbXB0eSBzdHJpbmcKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvbmV4dEhvcFByb3RvY29sLWlzLXRhby1wcm90ZWN0ZWQuaHR0cHMuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL25leHRI
b3BQcm90b2NvbC1pcy10YW8tcHJvdGVjdGVkLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTBlOTZh
ZjhlODBjZjRmYjA2ZDdmMWIzMzkzZjIxOTEyNjViMjNjZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L25leHRIb3BQcm90b2NvbC1pcy10YW8tcHJvdGVjdGVkLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwz
OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nIC0gQ2hlY2sgdGhhdCBuZXh0SG9wUHJvdG9j
b2wgaXMgVEFPIHByb3RlY3RlZDwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBz
Oi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmctMi8jc2VjLXBlcmZvcm1hbmNlcmVzb3Vy
Y2V0aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnktaW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorCitjb25zdCB7SFRUUFNfUkVNT1RFX09SSUdJTn0g
PSBnZXRfaG9zdF9pbmZvKCk7Citjb25zdCByZW1vdGVfcmVzb3VyY2VzID0gYCR7SFRUUFNfUkVN
T1RFX09SSUdJTn0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlc2A7CisKKy8vIEFkZCBpZnJhbWUg
dG8gcmVtb3RlIG9yaWdpbiAtIHBhZ2Ugd2l0aG91dCBUQU8KK2F0dHJpYnV0ZV90ZXN0KAorICBs
b2FkLmlmcmFtZSwgYCR7cmVtb3RlX3Jlc291cmNlc30vZ3JlZW4uaHRtYCwKKyAgZW50cnkgPT4g
YXNzZXJ0X2VxdWFscyhlbnRyeS5uZXh0SG9wUHJvdG9jb2wsICIiLAorICAgICJuZXh0SG9wUHJv
dG9jb2wgc2hvdWxkIGJlIHRoZSBlbXB0eSBzdHJpbmciKSwKKyAgIkFkZCBUQU8tbGVzcyBpZnJh
bWUgZnJvbSByZW1vdGUgb3JpZ2luLiBNYWtlIHN1cmUgbmV4dEhvcFByb3RvY29sIGlzIHRoZSAi
ICsKKyAgImVtcHR5IHN0cmluZyIKKyk7CisKKy8vIEFkZCBpZnJhbWUgdG8gcmVtb3RlIG9yaWdp
biAtIHBhZ2Ugd2l0aCBUQU8KK2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLmlmcmFtZSwgYCR7cmVt
b3RlX3Jlc291cmNlc30vYmxhbmstd2l0aC10YW8uaHRtbGAsCisgIGVudHJ5ID0+IGFzc2VydF9u
b3RfZXF1YWxzKGVudHJ5Lm5leHRIb3BQcm90b2NvbCwgIiIsCisgICAgIm5leHRIb3BQcm90b2Nv
bCBzaG91bGQgbm90IGJlIHRoZSBlbXB0eSBzdHJpbmciKSwKKyAgIkFkZCBUQU8nZCBpZnJhbWUg
ZnJvbSByZW1vdGUgb3JpZ2luLiBNYWtlIHN1cmUgbmV4dEhvcFByb3RvY29sIGlzIG5vdCAiICsK
KyAgInRoZSBlbXB0eSBzdHJpbmciCispOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLVRBTy1jcm9zcy1vcmlnaW4tcmVk
aXJlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1UQU8tY3Jvc3Mt
b3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjdmNjBjZjE1NmU0NDlm
N2I1ZjFlMjk1MGJkNzlmZDMyNTAxMTcyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5v
dC1mb3VuZC1hZnRlci1UQU8tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDcgQEAKKworCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwK
KworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZAorUEFTUyB3aW5kb3cucGVyZm9y
bWFuY2UuZ2V0RW50cmllc0J5TmFtZSBpcyBkZWZpbmVkCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL29iamVj
dC1ub3QtZm91bmQtYWZ0ZXItVEFPLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2Jq
ZWN0LW5vdC1mb3VuZC1hZnRlci1UQU8tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZDBkYWQ5MzgxYmE0MmJjODQ4ZWJlY2E4NmFjYWY3ZjEwYTdhMWU4MgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItVEFPLWNyb3NzLW9yaWdpbi1yZWRp
cmVjdC5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlRoaXMgdGVzdCB2YWxpZGF0ZXMg
cmVzb3VyY2UgdGltaW5nIGluZm9ybWF0aW9uIGZvciBhIHRpbWluZyBhbGxvd2VkIGNyb3NzLW9y
aWdpbiByZWRpcmVjdCBjaGFpbi48L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRw
Oi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1hbmNlcmVzb3VyY2V0aW1p
bmciLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPS9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanM+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzc2V4dGVuc2lvbi5qcyI+PC9zY3Jp
cHQ+CisKKzxzY3JpcHQ+CisgICAgc2V0dXAoe2V4cGxpY2l0X2RvbmU6IHRydWV9KTsKKyAgICB0
ZXN0X25hbWVzcGFjZSgnZ2V0RW50cmllc0J5TmFtZScpOworCisgICAgZnVuY3Rpb24gb25sb2Fk
X3Rlc3QoKQorICAgIHsKKyAgICAgICAgY29uc3QgY29udGV4dCA9IG5ldyBQZXJmb3JtYW5jZUNv
bnRleHQocGVyZm9ybWFuY2UpOworICAgICAgICBjb25zdCBlbnRyaWVzID0gY29udGV4dC5nZXRF
bnRyaWVzQnlOYW1lKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ29iamVjdCcpLmRhdGEsICdyZXNv
dXJjZScpOworICAgICAgICB0ZXN0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgJ1RoZXJlIHNo
b3VsZCBiZSBvbmUgZW50cnkuJyk7CisgICAgICAgIGNvbnN0IGVudHJ5ID0gZW50cmllc1swXTsK
KworICAgICAgICB0ZXN0X2dyZWF0ZXJfdGhhbihlbnRyeS5yZWRpcmVjdFN0YXJ0LCAwLCAncmVk
aXJlY3RTdGFydCA+IDAgaW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0Licp
OworICAgICAgICB0ZXN0X2VxdWFscyhlbnRyeS5yZWRpcmVjdFN0YXJ0LCBlbnRyeS5zdGFydFRp
bWUsICdyZWRpcmVjdFN0YXJ0ID09IHN0YXJ0VGltZSBpbiB0aW1pbmcgYWxsb3dlZCBjcm9zcy1v
cmlnaW4gcmVkaXJlY3QuJyk7CisgICAgICAgIHRlc3RfZ3JlYXRlcl90aGFuKGVudHJ5LnJlZGly
ZWN0RW5kLCBlbnRyeS5yZWRpcmVjdFN0YXJ0LCAncmVkaXJlY3RFbmQgPiByZWRpcmVjdFN0YXJ0
IGluIHRpbWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4nKTsKKyAgICAgICAgdGVz
dF9ncmVhdGVyX29yX2VxdWFscyhlbnRyeS5mZXRjaFN0YXJ0LCBlbnRyeS5yZWRpcmVjdEVuZCwg
J2ZldGNoU3RhcnQgPj0gcmVkaXJlY3RFbmQgaW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2lu
IHJlZGlyZWN0LicpOworICAgICAgICBkb25lKCk7CisgICAgfQorPC9zY3JpcHQ+CisKKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdD4KKyAgICBsZXQgZGVzdFVybCA9IGdldF9ob3N0X2luZm8oKS5I
VFRQX1JFTU9URV9PUklHSU4gKyAnL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvbXVsdGlfcmVk
aXJlY3QucHk/JzsKKyAgICBkZXN0VXJsICs9ICdwYWdlX29yaWdpbj0nICsgJ2h0dHA6Ly8nICsg
ZG9jdW1lbnQubG9jYXRpb24uaG9zdDsKKyAgICBkZXN0VXJsICs9ICcmY3Jvc3Nfb3JpZ2luPScg
KyBnZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lOOworICAgIGRlc3RVcmwgKz0gJyZm
aW5hbF9yZXNvdXJjZT0nICsgZW5jb2RlVVJJQ29tcG9uZW50KCIvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlcy9zdGF0dXMtY29kZS5weT9zdGF0dXM9NDA0JnRhb192YWx1ZT0qIik7CisgICAgZGVz
dFVybCArPSAnJnRhb19zdGVwcz0zJzsKKyAgICBjb25zdCBvYmpFbGVtZW50ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnb2JqZWN0Jyk7CisgICAgb2JqRWxlbWVudC5zdHlsZSA9ICd3aWR0aDog
MHB4OyBoZWlnaHQ6IDBweDsnOworICAgIG9iakVsZW1lbnQuZGF0YSA9IGRlc3RVcmw7CisgICAg
b2JqRWxlbWVudC5vbmVycm9yID0gb25sb2FkX3Rlc3Q7CisgICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChvYmpFbGVtZW50KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1jcm9zcy1vcmlnaW4tcmVkaXJl
Y3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2N2Y2MGNmMTU2ZTQ0OWY3YjVmMWUyOTUwYmQ3
OWZkMzI1MDExNzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVy
LWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACisKKwor
SGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1BBU1Mgd2luZG93LnBl
cmZvcm1hbmNlIGlzIGRlZmluZWQKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNC
eU5hbWUgaXMgZGVmaW5lZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVy
LWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1j
cm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNDU1ZWM0MDZiM2U5NTE5ZDk5
YmJmZWIxMmE0NGU3MjE0YzY2ZTZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1m
b3VuZC1hZnRlci1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4K
Kzx0aXRsZT5UaGlzIHRlc3QgdmFsaWRhdGVzIHJlc291cmNlIHRpbWluZyBpbmZvcm1hdGlvbiBm
b3IgYSBjcm9zcy1vcmlnaW4gcmVkaXJlY3QgY2hhaW4uPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVs
cCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNwZXJmb3JtYW5j
ZXJlc291cmNldGltaW5nIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3NleHRlbnNp
b24uanMiPjwvc2NyaXB0PgorCis8c2NyaXB0PgorICAgIHNldHVwKHtleHBsaWNpdF9kb25lOiB0
cnVlfSk7CisgICAgdGVzdF9uYW1lc3BhY2UoJ2dldEVudHJpZXNCeU5hbWUnKTsKKworICAgIGZ1
bmN0aW9uIG9ubG9hZF90ZXN0KCkKKyAgICB7CisgICAgICAgIGNvbnN0IGNvbnRleHQgPSBuZXcg
UGVyZm9ybWFuY2VDb250ZXh0KHBlcmZvcm1hbmNlKTsKKyAgICAgICAgY29uc3QgZW50cmllcyA9
IGNvbnRleHQuZ2V0RW50cmllc0J5TmFtZShkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdvYmplY3Qn
KS5kYXRhLCAncmVzb3VyY2UnKTsKKyAgICAgICAgdGVzdF9lcXVhbHMoZW50cmllcy5sZW5ndGgs
IDEsICdUaGVyZSBzaG91bGQgYmUgb25lIGVudHJ5LicpOworICAgICAgICBjb25zdCBlbnRyeSA9
IGVudHJpZXNbMF07CisKKyAgICAgICAgdGVzdF9lcXVhbHMoZW50cnkucmVkaXJlY3RTdGFydCwg
MCwgJ3JlZGlyZWN0U3RhcnQgPT0gMCBpbiBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuJyk7CisgICAg
ICAgIHRlc3RfZXF1YWxzKGVudHJ5LnJlZGlyZWN0RW5kLCAwLCAncmVkaXJlY3RFbmQgPT0gMCBp
biBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuJyk7CisgICAgICAgIHRlc3RfZ3JlYXRlcl90aGFuKGVu
dHJ5LmZldGNoU3RhcnQsIDAsICdmZXRjaFN0YXJ0ID4gMCBpbiBjcm9zcy1vcmlnaW4gcmVkaXJl
Y3QuJyk7CisgICAgICAgIHRlc3RfZXF1YWxzKGVudHJ5LnN0YXJ0VGltZSwgZW50cnkuZmV0Y2hT
dGFydCwgJ3N0YXJ0VGltZSA9PSBmZXRjaFN0YXJ0IGluIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4n
KTsKKyAgICAgICAgZG9uZSgpOworICAgIH0KKzwvc2NyaXB0PgorCis8L2hlYWQ+Cis8Ym9keT4K
KzxzY3JpcHQ+CisgICAgbGV0IGRlc3RVcmwgPSBnZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1PVEVf
T1JJR0lOICsgJy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRpX3JlZGlyZWN0LnB5Pyc7
CisgICAgZGVzdFVybCArPSAncGFnZV9vcmlnaW49JyArICdodHRwOi8vJyArIGRvY3VtZW50Lmxv
Y2F0aW9uLmhvc3Q7CisgICAgZGVzdFVybCArPSAnJmNyb3NzX29yaWdpbj0nICsgZ2V0X2hvc3Rf
aW5mbygpLkhUVFBfUkVNT1RFX09SSUdJTjsKKyAgICBkZXN0VXJsICs9ICcmZmluYWxfcmVzb3Vy
Y2U9JyArIGVuY29kZVVSSUNvbXBvbmVudCgiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvc3Rh
dHVzLWNvZGUucHk/c3RhdHVzPTQwNCIpOworICAgIGNvbnN0IG9iakVsZW1lbnQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdvYmplY3QnKTsKKyAgICBvYmpFbGVtZW50LnN0eWxlID0gJ3dpZHRo
OiAwcHg7IGhlaWdodDogMHB4Oyc7CisgICAgb2JqRWxlbWVudC5kYXRhID0gZGVzdFVybDsKKyAg
ICBvYmpFbGVtZW50Lm9uZXJyb3IgPSBvbmxvYWRfdGVzdDsKKyAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKG9iakVsZW1lbnQpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZWRpcmVjdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVkaXJlY3RzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iNzUyZGUxZWNkYTYxYjI1YWE4NDlkZWU5ZGViNjlmMjVkMGEzNmU4
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVkaXJlY3RzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEyIEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQsIHdoZW4gYSBm
ZXRjaGluZyByZXNvdXJjZXMgdGhhdCBlbmNvdW50ZXIgc2FtZS1vcmlnaW4gcmVkaXJlY3RzLCBh
dHRyaWJ1dGVzIG9mIHRoZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGVudHJ5IGNvbmZvcm0g
dG8gdGhlIHNwZWNpZmljYXRpb24uCisKKworUEFTUyBWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJl
ZGlyZWN0ZWQgc3R5bGVzaGVldCdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcKK1BBU1MgVmVy
aWZ5IGF0dHJpYnV0ZXMgb2YgYSByZWRpcmVjdGVkIGltYWdlJ3MgUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZworUEFTUyBWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgaWZyYW1lJ3Mg
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZworUEFTUyBWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJl
ZGlyZWN0ZWQgc2NyaXB0J3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZworUEFTUyBWZXJpZnkg
YXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgc3luY2hyb25vdXMgWE1MSHR0cFJlcXVlc3QncyBQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nCitQQVNTIFZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEgc3lu
Y2hyb25vdXMgWE1MSHR0cFJlcXVlc3QncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIHdoZXJl
IHRoZSBpbml0aWFsIEhUVFAgcmVxdWVzdCBpcyByZWRpcmVjdGVkIHRvIGEgY3Jvc3Mtb3JpZ2lu
IEhUVFBTIHJlc291cmNlLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZWRpcmVjdHMuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
ZGlyZWN0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJhNjk5MDdhNWY2ZTQ2YTNlOGE3OTA0MWRhMTcwMzlk
MTRkMjBmZWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZWRpcmVjdHMuaHRtbApAQCAtMCwwICsx
LDYxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmc6IHJlc291cmNlcyBmZXRjaGVkIHRocm91
Z2ggc2FtZS1vcmlnaW4gcmVkaXJlY3RzPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRs
ZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJo
ZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI3NlYy1w
ZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZv
LnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRl
cnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9lbnRyeS1pbnZhcmlhbnRz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citjb25zdCB7SFRUUFNfTk9UU0FNRVNJVEVfT1JJR0lO
fSA9IGdldF9ob3N0X2luZm8oKTsKK2NvbnN0IHJlZGlyZWN0X3VybCA9IGAvY29tbW9uL3JlZGly
ZWN0LnB5YDsKK2NvbnN0IHVybF9wcmVmaXggPSBgJHtyZWRpcmVjdF91cmx9P2xvY2F0aW9uPS9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2A7Citjb25zdCBodHRwc191cmxfcHJlZml4ID0gYCR7
cmVkaXJlY3RfdXJsfT9sb2NhdGlvbj0ke0hUVFBTX05PVFNBTUVTSVRFX09SSUdJTn0vcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy9gOworCithdHRyaWJ1dGVfdGVzdCgKKyAgbG9hZC5zdHlsZXNo
ZWV0LCB1cmxfcHJlZml4ICsgInJlc291cmNlX3RpbWluZ190ZXN0MC5jc3MiLAorICBpbnZhcmlh
bnRzLmFzc2VydF9zYW1lX29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNlLAorICAiVmVyaWZ5IGF0
dHJpYnV0ZXMgb2YgYSByZWRpcmVjdGVkIHN0eWxlc2hlZXQncyBQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nIik7CisKK2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLmltYWdlLCB1cmxfcHJlZml4ICsg
ImJsdWUucG5nIiwKKyAgaW52YXJpYW50cy5hc3NlcnRfc2FtZV9vcmlnaW5fcmVkaXJlY3RlZF9y
ZXNvdXJjZSwKKyAgIlZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEgcmVkaXJlY3RlZCBpbWFnZSdzIFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmciKTsKKworYXR0cmlidXRlX3Rlc3QoCisgIGxvYWQuaWZy
YW1lLCB1cmxfcHJlZml4ICsgImdyZWVuLmh0bWwiLAorICBpbnZhcmlhbnRzLmFzc2VydF9zYW1l
X29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNlLAorICAiVmVyaWZ5IGF0dHJpYnV0ZXMgb2YgYSBy
ZWRpcmVjdGVkIGlmcmFtZSdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmciKTsKKworYXR0cmli
dXRlX3Rlc3QoCisgIGxvYWQuc2NyaXB0LCB1cmxfcHJlZml4ICsgImVtcHR5X3NjcmlwdC5qcyIs
CisgIGludmFyaWFudHMuYXNzZXJ0X3NhbWVfb3JpZ2luX3JlZGlyZWN0ZWRfcmVzb3VyY2UsCisg
ICJWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgc2NyaXB0J3MgUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZyIpOworCithdHRyaWJ1dGVfdGVzdCgKKyAgbG9hZC54aHJfc3luYywgdXJs
X3ByZWZpeCArICJncmVlbi5odG1sP2lkPXhociIsCisgIGludmFyaWFudHMuYXNzZXJ0X3NhbWVf
b3JpZ2luX3JlZGlyZWN0ZWRfcmVzb3VyY2UsCisgICJWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJl
ZGlyZWN0ZWQgc3luY2hyb25vdXMgWE1MSHR0cFJlcXVlc3QncyAiICsKKyAgIlBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmciKTsKKworYXR0cmlidXRlX3Rlc3QoCisgIGxvYWQueGhyX3N5bmMsIGh0
dHBzX3VybF9wcmVmaXggKyAiZ3JlZW4uaHRtbD9pZD14aHIiLAorICBpbnZhcmlhbnRzLmFzc2Vy
dF9jcm9zc19vcmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAgIlZlcmlmeSBhdHRyaWJ1dGVz
IG9mIGEgc3luY2hyb25vdXMgWE1MSHR0cFJlcXVlc3QncyAiICsKKyAgIlBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcgd2hlcmUgdGhlIGluaXRpYWwgSFRUUCByZXF1ZXN0IGlzIHJlZGlyZWN0ZWQg
IiArCisgICJ0byBhIGNyb3NzLW9yaWdpbiBIVFRQUyByZXNvdXJjZS4iCispOworCis8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxwPlRoaXMgdGVzdCB2
YWxpZGF0ZXMgdGhhdCwgd2hlbiBhIGZldGNoaW5nIHJlc291cmNlcyB0aGF0IGVuY291bnRlcgor
c2FtZS1vcmlnaW4gcmVkaXJlY3RzLCBhdHRyaWJ1dGVzIG9mIHRoZSBQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nIGVudHJ5Citjb25mb3JtIHRvIHRoZSBzcGVjaWZpY2F0aW9uLjwvcD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlLWlnbm9yZS1kYXRhLXVybC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25vcmUtZGF0YS11cmwtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzZWM1YWY0NTRlYzFmM2QwOGQwN2JjMDliYmUxN2U5MmFmYjdjYTIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25vcmUtZGF0YS11cmwtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNCBAQAorCisKK1BBU1MgUmVzb3VyY2VzIHdpdGggZGF0YTogVVJJcyBtdXN0IG5vdCBi
ZSBzdXJmYWNlZCBpbiBSZXNvdXJjZSBUaW1pbmcKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Ut
aWdub3JlLWRhdGEtdXJsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25vcmUtZGF0YS11cmwuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hNzA1NmE4MDgwNzk2N2Q5Yjk0YjFkNGM1NGMwNjIwZGMyYTRiYWQ4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2UtaWdub3JlLWRhdGEtdXJsLmh0bWwKQEAgLTAsMCAr
MSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nIGlnbm9yZXMgcmVzb3VyY2VzIHdpdGgg
ZGF0YTogVVJJczwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJl
Zj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0
cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNyZXNvdXJjZXMtaW5jbHVkZWQt
aW4tdGhlLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmctaW50ZXJmYWNlIi8+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
aW1nIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBT1RtN0FBQUFD
SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUNSQUVBT3c9PSI+PC9pbWc+Cis8c2NyaXB0PgorICBw
cm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNl
KHJlc29sdmUgPT4geworICAgICAgbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIodC5zdGVwX2Z1bmMo
bGlzdCA9PiB7CisgICAgICAgIGNvbnN0IGVudHJpZXMgPSBsaXN0LmdldEVudHJpZXMoKTsKKyAg
ICAgICAgY29uc3QgZGF0YUVudHJpZXMgPSBlbnRyaWVzLmZpbHRlcihlID0+IGUubmFtZS5pbmNs
dWRlcygnZGF0YTonKSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZGF0YUVudHJpZXMubGVuZ3Ro
LCAwLCAnVGhlcmUgbXVzdCBiZSBubyBlbnRyeSBmb3IgYGRhdGE6IFVSTGAuJyk7CisgICAgICAg
IGNvbnN0IGJsdWVFbnRyaWVzID0gZW50cmllcy5maWx0ZXIoZSA9PiBlLm5hbWUuaW5jbHVkZXMo
J2JsdWUucG5nJykpOworICAgICAgICBpZiAoYmx1ZUVudHJpZXMubGVuZ3RoKSB7CisgICAgICAg
ICAgLy8gV2UgY2FuIGZpbmlzaCB0aGUgdGVzdCBvbmNlIHdlIHNlZSB0aGUgZW50cnkgd2l0aCBi
bHVlLnBuZy4KKyAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIH0KKyAgICAgIH0pKS5vYnNl
cnZlKHtlbnRyeVR5cGVzOiBbJ3Jlc291cmNlJ119KTsKKyAgICB9KTsKKyAgICAvLyBXYWl0IHVu
dGlsIHRoZSBkb2N1bWVudCBpcyBsb2FkZWQuCisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2
ZSA9PiB7CisgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJlc29sdmUpOwor
ICAgIH0pOworICAgIC8vIEFkZCB0aGUgYmx1ZS5wbmcgaW1hZ2UgYWZ0ZXIgZG9jdW1lbnQgaXMg
bG9hZGVkIHRvIGVuc3VyZSB3ZSd2ZSByZWNlaXZlZAorICAgIC8vIGFsbCBvZiB0aGUgcHJldmlv
dXMgUmVzb3VyY2UgVGltaW5nIGVudHJpZXMuCisgICAgbG9hZC5pbWFnZSgnYmx1ZS5wbmcnKTsK
KyAgICByZXR1cm4gcHJvbWlzZTsKKyAgfSwgJ1Jlc291cmNlcyB3aXRoIGRhdGE6IFVSSXMgbXVz
dCBub3QgYmUgc3VyZmFjZWQgaW4gUmVzb3VyY2UgVGltaW5nJyk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX1RBT19jcm9zc19vcmlnaW5fcmVk
aXJlY3RfY2hhaW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfVEFPX2Nyb3NzX29yaWdpbl9y
ZWRpcmVjdF9jaGFpbi1leHBlY3RlZC50eHQKaW5kZXggNDdjZmQxZGRiNGU1NzU1N2Y0OTQ1YTQw
ZDllMGUzMTg4NjE1OWM0Mi4uYzVmYWQ5MTUxYTgyNjc1Zjc3ZDQ4ODc3OGQzNjNmZWUwYjg0YWNh
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfVEFPX2Nyb3NzX29yaWdpbl9yZWRpcmVjdF9jaGFp
bi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfVEFPX2Nyb3NzX29yaWdpbl9yZWRpcmVj
dF9jaGFpbi1leHBlY3RlZC50eHQKQEAgLTMsOCArMyw4IEBACiBQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZSBpcyBkZWZpbmVkCiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1l
IGlzIGRlZmluZWQKIFBBU1MgVGhlcmUgc2hvdWxkIGJlIG9uZSBlbnRyeS4KLVBBU1MgcmVkaXJl
Y3RTdGFydCA+IDAgaW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LgotUEFT
UyByZWRpcmVjdFN0YXJ0ID09IHN0YXJ0VGltZSBpbiB0aW1pbmcgYWxsb3dlZCBjcm9zcy1vcmln
aW4gcmVkaXJlY3QuCi1QQVNTIHJlZGlyZWN0RW5kID4gcmVkaXJlY3RTdGFydCBpbiB0aW1pbmcg
YWxsb3dlZCBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuCitGQUlMIHJlZGlyZWN0U3RhcnQgPiAwIGlu
IHRpbWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4gYXNzZXJ0X3RydWU6IHJlZGly
ZWN0U3RhcnQgPiAwIGluIHRpbWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4gZXhw
ZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgcmVkaXJlY3RTdGFydCA9PSBzdGFydFRpbWUgaW4g
dGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LiBhc3NlcnRfZXF1YWxzOiByZWRp
cmVjdFN0YXJ0ID09IHN0YXJ0VGltZSBpbiB0aW1pbmcgYWxsb3dlZCBjcm9zcy1vcmlnaW4gcmVk
aXJlY3QuIGV4cGVjdGVkIDxub25kZXRlcm1pbmlzdGljIHRlc3Qgb3V0cHV0PiBidXQgZ290IDAK
K0ZBSUwgcmVkaXJlY3RFbmQgPiByZWRpcmVjdFN0YXJ0IGluIHRpbWluZyBhbGxvd2VkIGNyb3Nz
LW9yaWdpbiByZWRpcmVjdC4gYXNzZXJ0X3RydWU6IHJlZGlyZWN0RW5kID4gcmVkaXJlY3RTdGFy
dCBpbiB0aW1pbmcgYWxsb3dlZCBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuIGV4cGVjdGVkIHRydWUg
Z290IGZhbHNlCiBQQVNTIGZldGNoU3RhcnQgPj0gcmVkaXJlY3RFbmQgaW4gdGltaW5nIGFsbG93
ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9jYWNo
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlX2NhY2hlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkNjFkNjM5NjE2
YjE4MDJmZjRiNjNkZTgyYTAxZmZkNzAxZjgxNGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZV9jYWNoZWQuaHRtbApAQCAtMCwwICsxLDUyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1p
bmcgY2FjaGVkIHJlc291cmNlczwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdv
b2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIg
aHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNkb20tcGVyZm9ybWFu
Y2VyZXNvdXJjZXRpbWluZy1pbml0aWF0b3J0eXBlIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYnBl
cmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYnBl
cmZ0ZXN0aGFybmVzc2V4dGVuc2lvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgorc2V0dXAoe2V4
cGxpY2l0X2RvbmU6IHRydWV9KTsKKworLy8gZXhwbGljaXRseSB0ZXN0IHRoZSBuYW1lc3BhY2Ug
YmVmb3JlIHdlIHN0YXJ0IHRlc3RpbmcKK3Rlc3RfbmFtZXNwYWNlKCJnZXRFbnRyaWVzQnlUeXBl
Iik7CisKK3ZhciBkOwordmFyIGlmcmFtZTsKK3ZhciBpZnJhbWVCb2R5OwordmFyIGltYWdlOwor
dmFyIHJhbmRvbSA9IE1hdGgucmFuZG9tKCk7CisKK2Z1bmN0aW9uIHNldHVwX2lmcmFtZSgpIHsK
KyAgICBpZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnJhbWVDb250ZXh0Jyk7Cisg
ICAgZCA9IGlmcmFtZS5jb250ZW50V2luZG93LmRvY3VtZW50OworICAgIGlmcmFtZUJvZHkgPSBk
LmJvZHk7CisgICAgaWZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBvbmxvYWRfdGVzdCwg
ZmFsc2UpOworfQorZnVuY3Rpb24gb25sb2FkX3Rlc3QoKSB7CisgICAgaWYgKHdpbmRvdy5wZXJm
b3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlID09PSB1bmRlZmluZWQpIHsKKyAgICAgIGRvbmUoKTsK
KyAgICAgIHJldHVybjsKKyAgICB9CisgICAgdmFyIGNvbnRleHQgPSBuZXcgUGVyZm9ybWFuY2VD
b250ZXh0KGlmcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlKTsKKyAgICB2YXIgZW50cmll
cyA9IGNvbnRleHQuZ2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKTsKKyAgICB0ZXN0X2VxdWFs
cyhlbnRyaWVzLmxlbmd0aCwgMiwgIlRoZXJlIHNob3VsZCBiZSB0d28gZW50cmllcyIpOworICAg
IGlmIChlbnRyaWVzLmxlbmd0aCA+PSAyKSB7CisgICAgICAgIHRlc3RfZXF1YWxzKGVudHJpZXNb
MF0ubmFtZSwgZW50cmllc1sxXS5uYW1lLCAiQm90aCBlbnRyaWVzIHNob3VsZCBoYXZlIHRoZSBz
YW1lIG5hbWUiKTsKKyAgICB9CisgICAgZG9uZSgpOworfQord2luZG93LnNldHVwX2lmcmFtZSA9
IHNldHVwX2lmcmFtZTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRp
b248L2gxPgorPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGEgMzA0IE5vdCBNb2RpZmllZCBy
ZXNvdXJjZSBhcHBlYXJzIGluIHRoZSBidWZmZXIuPC9wPgorPGRpdiBpZD0ibG9nIj48L2Rpdj4K
KzxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgc3JjPSJyZXNvdXJjZXMvZmFrZV9yZXNwb25zZXMu
aHRtbCI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZV9pbml0aWF0b3JfdHlwZXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX2luaXRpYXRvcl90eXBlcy5odG1s
CmluZGV4IDk5MTJkYTdjMzQwMDEzOGQ3MzI0NWFjYzM3MjQ2M2NhMTc0ZTZmNTguLjJlNTJmMGU0
Y2QwOWVjOWUwZDI2ZTI0OTRhYzVlMjBiNThjZTYyYjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
X2luaXRpYXRvcl90eXBlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX2luaXRpYXRvcl90eXBlcy5o
dG1sCkBAIC05NSw4ICs5NSw4IEBAIGZ1bmN0aW9uIHBlcmZvcm1fdGVzdCgpIHsKICAgICBhZGRF
bnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ3Jlc291
cmNlX3RpbWluZ190ZXN0MC5wbmcnLCAnaW1nJyk7CiAgICAgYWRkRW50cnlJZkV4aXN0cyhlbnRy
aWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdyZXNvdXJjZV90aW1pbmdfdGVzdDAu
cG5nP2lkPXNyY3NldC1zcmNzZXQnLCAnaW1nJyk7CiAgICAgYWRkRW50cnlJZkV4aXN0cyhlbnRy
aWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdyZXNvdXJjZV90aW1pbmdfdGVzdDAu
cG5nP2lkPXNyY3NldC1zcmMnLCAnaW1nJyk7Ci0gICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVz
LCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdibGFua19wYWdlX2dyZWVuLmh0bScsICdp
ZnJhbWUnKTsKLSAgICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMs
IHBhdGhuYW1lICsgJ2JsYW5rX3BhZ2VfZ3JlZW4uaHRtP2lkPWZyYW1lJywgJ2ZyYW1lJyk7Cisg
ICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSAr
ICdncmVlbi5odG1sJywgJ2lmcmFtZScpOworICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywg
ZXhwZWN0ZWRfZW50cmllcywgcGF0aG5hbWUgKyAnZ3JlZW4uaHRtbD9pZD1mcmFtZScsICdmcmFt
ZScpOwogICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcywgcGF0
aG5hbWUgKyAnZW1wdHlfc2NyaXB0LmpzJywgJ3NjcmlwdCcpOwogICAgIGFkZEVudHJ5SWZFeGlz
dHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcywgcGF0aG5hbWUgKyAncmVzb3VyY2VfdGltaW5n
X3Rlc3QwLmNzcz9pZD1lbWJlZCcsICdlbWJlZCcpOwogICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50
cmllcywgZXhwZWN0ZWRfZW50cmllcywgcGF0aG5hbWUgKyAncmVzb3VyY2VfdGltaW5nX3Rlc3Qw
LmNzcz9pZD1uMScsICdjc3MnKTsKQEAgLTEyOCw3ICsxMjgsNyBAQCBmdW5jdGlvbiBwZXJmb3Jt
X3Rlc3QoKSB7CiAgICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVz
LCBwYXRobmFtZSArICduZXN0ZWQuY3NzJywgJ2xpbmsnKTsKICAgICBhZGRFbnRyeUlmRXhpc3Rz
KGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ25lc3RlZC5jc3M/aWQ9cHJl
ZmV0Y2gnLCAnbGluaycpOwogICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywgZXhwZWN0ZWRf
ZW50cmllcywgcGF0aG5hbWUgKyAnbmVzdGVkLmNzcz9pZD1wcmVsb2FkJywgJ2xpbmsnKTsKLSAg
ICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsg
J2JsYW5rX3BhZ2VfZ3JlZW4uaHRtP2lkPXByZXJlbmRlcicsICdsaW5rJyk7CisgICAgYWRkRW50
cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdncmVlbi5o
dG1sP2lkPXByZXJlbmRlcicsICdsaW5rJyk7CiAgICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVz
LCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdtYW5pZmVzdC5qc29uJywgJ2xpbmsnKTsK
ICAgICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1l
ICsgJ2VtcHR5LnB5P2lkPWJlYWNvbicsICdiZWFjb24nKTsKICAgICBhZGRFbnRyeUlmRXhpc3Rz
KGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ2VtcHR5LnB5P2lkPWZldGNo
JywgJ2ZldGNoJyk7CkBAIC0xNTgsNyArMTU4LDcgQEAgd2luZG93Lm9uX2FzeW5jX3hocl9kb25l
ID0gZnVuY3Rpb24oKSB7CiA8aDE+RGVzY3JpcHRpb248L2gxPgogPHA+VGhpcyB0ZXN0IHZhbGlk
YXRlcyB0aGF0IGFsbCBvZiB0aGUgaW5pdGlhdG9yIHR5cGVzIGFyZSByZXByZXNlbnRlZC48L3A+
CiA8ZGl2IGlkPSJsb2ciPjwvZGl2PgotPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBvbmxvYWQ9
Im9ubG9hZF90ZXN0KCk7IiBzcmM9InJlc291cmNlcy9hbGxfcmVzb3VyY2VfdHlwZXMuaHRtIiBz
dHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MHB4OyI+PC9pZnJhbWU+Ci08aWZyYW1lIGlk
PSJmcmFtZUNvbnRleHQyIiBvbmxvYWQ9ImZyYW1lc2V0X29ubG9hZCgpOyIgc3JjPSJyZXNvdXJj
ZXMvZ3JlZW5fZnJhbWUuaHRtIiBzdHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MHB4OyI+
PC9pZnJhbWU+Cis8aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQiIG9ubG9hZD0ib25sb2FkX3Rlc3Qo
KTsiIHNyYz0icmVzb3VyY2VzL2FsbF9yZXNvdXJjZV90eXBlcy5odG1sIiBzdHlsZT0id2lkdGg6
IDI1MHB4OyBoZWlnaHQ6IDI1MHB4OyI+PC9pZnJhbWU+Cis8aWZyYW1lIGlkPSJmcmFtZUNvbnRl
eHQyIiBvbmxvYWQ9ImZyYW1lc2V0X29ubG9hZCgpOyIgc3JjPSJyZXNvdXJjZXMvZ3JlZW4tZnJh
bWUuaHRtbCIgc3R5bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1lPgog
PC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfbmVzdGVkX2RlZGljYXRl
ZF93b3JrZXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfbmVzdGVkX2RlZGljYXRlZF93b3JrZXIu
d29ya2VyLmpzCmluZGV4IGZjNzkzMDc1YmJhZGUxYjA4OTFlYThlY2Y1MDEzNzA1MWQ4NGI4MjAu
LjJjOWY1Zjk1NDI4YWNhNWNlOWQxODcxNDIyM2ZhYjZmNzhmMzYwYzAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlX25lc3RlZF9kZWRpY2F0ZWRfd29ya2VyLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZV9uZXN0ZWRfZGVkaWNhdGVkX3dvcmtlci53b3JrZXIuanMKQEAgLTEsNiArMSw2IEBACiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7CiAKLWFzeW5jX3Rlc3Qo
YXN5bmMgZnVuY3Rpb24oKSB7Cithc3luY190ZXN0KGZ1bmN0aW9uKCkgewogICBjb25zdCB3b3Jr
ZXIgPSBuZXcgV29ya2VyKCdyZXNvdXJjZXMvd29ya2VyX3dpdGhfaW1hZ2VzLmpzJyk7CiAgIHdv
cmtlci5vbm1lc3NhZ2UgPSB0aGlzLnN0ZXBfZnVuY19kb25lKChldmVudCkgPT4gewogICAgIGNv
bnN0IGNoaWxkTnVtRW50cmllcyA9IGV2ZW50LmRhdGE7CkBAIC0xNCw0ICsxNCw0IEBAIGFzeW5j
X3Rlc3QoYXN5bmMgZnVuY3Rpb24oKSB7CiAgICAgd29ya2VyLnRlcm1pbmF0ZSgpOwogICB9KTsK
IH0sICJSZXNvdXJjZSB0aW1pbmcgZm9yIG5lc3RlZCBkZWRpY2F0ZWQgd29ya2VycyIpOwotZG9u
ZSgpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2RvbmUoKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlX3RpbWluZ19jb250ZW50X2xlbmd0aC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZV90aW1pbmdfY29udGVudF9sZW5ndGgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzYTNmODhk
MWJlYWMxMDM3MDA1ZWNhZjg4ODQ1MTYwM2NkZWVlN2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZV90aW1pbmdfY29udGVudF9sZW5ndGgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBA
QAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworUEFTUyBlbmNv
ZGVkQm9keVNpemUgc2hvdWxkIGJlIGVxdWFsIHRvIHRoZSBhY3R1YWwgYnl0ZSBzaXplIG9mIHRo
ZSBjb250ZW50CitQQVNTIGVuY29kZWRCb2R5U2l6ZSBzaG91bGQgYmUgZXF1YWwgdG8gdGhlIGFj
dHVhbCBieXRlIHNpemUgb2YgdGhlIGNvbnRlbnQgd2hlbiBubyBoZWFkZXIgcHJlc2VudAorUEFT
UyBlbmNvZGVkQm9keVNpemUgc2hvdWxkIGJlIGVxdWFsIHRvIHRoZSBhY3R1YWwgYnl0ZSBzaXpl
IG9mIHRoZSBjb250ZW50IHdoZW4gaGVhZGVyIHZhbHVlIGlzIGxvd2VyIHRoYW4gYWN0dWFsIGNv
bnRlbnQKK1RJTUVPVVQgZW5jb2RlZEJvZHlTaXplIHNob3VsZCBiZSBlcXVhbCB0byB0aGUgYWN0
dWFsIGJ5dGUgc2l6ZSBvZiB0aGUgY29udGVudCB3aGVuIGhlYWRlciB2YWx1ZSBpcyBoaWdoZXIg
dGhhbiBhY3R1YWwgY29udGVudCBUZXN0IHRpbWVkIG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZV90aW1pbmdfY29udGVudF9sZW5ndGguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX3RpbWluZ19jb250
ZW50X2xlbmd0aC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMyYmQ4YTk3ZTA3MzQxMzIzMDYxNTEyNjk4YTU2
NTIzMmYxOTcyYmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV90aW1pbmdfY29udGVu
dF9sZW5ndGguaHRtbApAQCAtMCwwICsxLDM1IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5UaGlzIHRlc3QgdmFsaWRh
dGVzIHRoZSB2YWx1ZSBvZiBlbmNvZGVkQm9keVNpemUgaW4gY2VydGFpbiBzaXR1YXRpb25zLjwv
dGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jlc291
cmNlLXRpbWluZy8jcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0PgorICAgIGZ1bmN0
aW9uIHRlc3RfcmVzb3VyY2VfdGltaW5nX2Zvcl9jb250ZW50X2xlbmd0aCh7YWN0dWFsQ29udGVu
dExlbmd0aCwgbGVuZ3RoSGVhZGVyfSwgdGl0bGUpIHsKKyAgICAgICAgcHJvbWlzZV90ZXN0KGFz
eW5jIHQgPT4geworICAgICAgICAgICAgY29uc3QgY29udGVudCA9IG5ldyBBcnJheShhY3R1YWxD
b250ZW50TGVuZ3RoKS5maWxsKCd4Jykuam9pbignJykKKyAgICAgICAgICAgIGNvbnN0IHVybCA9
IGByZXNvdXJjZXMvcmVzb3VyY2UtdGltaW5nLWNvbnRlbnQtbGVuZ3RoLnB5P2NvbnRlbnQ9JHtj
b250ZW50fSZsZW5ndGg9JHtsZW5ndGhIZWFkZXJ9YAorICAgICAgICAgICAgZmV0Y2godXJsKQor
ICAgICAgICAgICAgY29uc3QgZW50cnkgPSBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IG5l
dyBQZXJmb3JtYW5jZU9ic2VydmVyKChlbnRyeUxpc3QsIG9ic2VydmVyKSA9PiB7CisgICAgICAg
ICAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpCisgICAgICAgICAgICAgICAgcmVzb2x2ZShl
bnRyeUxpc3QuZ2V0RW50cmllcygpWzBdKQorICAgICAgICAgICAgfSkub2JzZXJ2ZSh7ZW50cnlU
eXBlczogWydyZXNvdXJjZSddfSkpCisKKyAgICAgICAgICAgIGNvbnN0IGV4cGVjdGVkQ29udGVu
dExlbmd0aCA9IE51bWJlci5pc0ludGVnZXIobGVuZ3RoSGVhZGVyKSA/IE1hdGgubWluKGFjdHVh
bENvbnRlbnRMZW5ndGgsIGxlbmd0aEhlYWRlcikgOiBhY3R1YWxDb250ZW50TGVuZ3RoCisgICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJ5LmVuY29kZWRCb2R5U2l6ZSwgZXhwZWN0ZWRDb250
ZW50TGVuZ3RoKQorICAgICAgICB9LCB0aXRsZSk7CisgICAgfQorCisgICAgdGVzdF9yZXNvdXJj
ZV90aW1pbmdfZm9yX2NvbnRlbnRfbGVuZ3RoKHthY3R1YWxDb250ZW50TGVuZ3RoOiAzLCBsZW5n
dGhIZWFkZXI6ICdhdXRvJ30sCisgICAgICAgICJlbmNvZGVkQm9keVNpemUgc2hvdWxkIGJlIGVx
dWFsIHRvIHRoZSBhY3R1YWwgYnl0ZSBzaXplIG9mIHRoZSBjb250ZW50IikKKyAgICB0ZXN0X3Jl
c291cmNlX3RpbWluZ19mb3JfY29udGVudF9sZW5ndGgoe2FjdHVhbENvbnRlbnRMZW5ndGg6IDEz
LCBsZW5ndGhIZWFkZXI6ICdub25lJ30sCisgICAgICAgICJlbmNvZGVkQm9keVNpemUgc2hvdWxk
IGJlIGVxdWFsIHRvIHRoZSBhY3R1YWwgYnl0ZSBzaXplIG9mIHRoZSBjb250ZW50IHdoZW4gbm8g
aGVhZGVyIHByZXNlbnQiKQorICAgIHRlc3RfcmVzb3VyY2VfdGltaW5nX2Zvcl9jb250ZW50X2xl
bmd0aCh7YWN0dWFsQ29udGVudExlbmd0aDogNywgbGVuZ3RoSGVhZGVyOiAzfSwKKyAgICAgICAg
ImVuY29kZWRCb2R5U2l6ZSBzaG91bGQgYmUgZXF1YWwgdG8gdGhlIGFjdHVhbCBieXRlIHNpemUg
b2YgdGhlIGNvbnRlbnQgd2hlbiBoZWFkZXIgdmFsdWUgaXMgbG93ZXIgdGhhbiBhY3R1YWwgY29u
dGVudCIpCisgICAgdGVzdF9yZXNvdXJjZV90aW1pbmdfZm9yX2NvbnRlbnRfbGVuZ3RoKHthY3R1
YWxDb250ZW50TGVuZ3RoOiA4LCBsZW5ndGhIZWFkZXI6IDQwfSwKKyAgICAgICAgImVuY29kZWRC
b2R5U2l6ZSBzaG91bGQgYmUgZXF1YWwgdG8gdGhlIGFjdHVhbCBieXRlIHNpemUgb2YgdGhlIGNv
bnRlbnQgd2hlbiBoZWFkZXIgdmFsdWUgaXMgaGlnaGVyIHRoYW4gYWN0dWFsIGNvbnRlbnQiKQor
PC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvMjAwX2VtcHR5LmFz
aXMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvMjAwX2VtcHR5LmFzaXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjVkMTBiZGEzMjQ1
MjhkMWQ4NTQ2M2I5YTE1YTM0N2Y1YzFmYWVkOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy8yMDBfZW1wdHkuYXNpcwpAQCAtMCwwICsxLDMgQEAKK0hUVFAvMS4wIDIwMCBPSworQ29u
dGVudC1MZW5ndGg6IDAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL1RBT1Jlc3BvbnNlLnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL1RBT1Jlc3BvbnNlLnB5CmluZGV4IDkwOGI2ODg2MWFlODI2MmExOGUw
ODNiMDI2ZDE0NTkxZDFlMDIwNmUuLjYwMzkyYjhlMTBhZGE0ZmQ3MGEwM2E2MjU4ODQ5MzA2ZTk3
MTRlYzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9UQU9SZXNwb25zZS5weQorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvVEFPUmVzcG9uc2UucHkKQEAgLTEsOCArMSwxMiBAQAoraW1wb3J0IG9zCisKIGRl
ZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICBvcmlnaW4gPSByZXF1ZXN0LmhlYWRlcnNb
YidvcmlnaW4nXQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGInQWNjZXNzLUNvbnRyb2wtQWxs
b3ctT3JpZ2luJywgb3JpZ2luKQorICAgIGlmIGInb3JpZ2luJyBpbiByZXF1ZXN0LmhlYWRlcnM6
CisgICAgICBvcmlnaW4gPSByZXF1ZXN0LmhlYWRlcnNbYidvcmlnaW4nXQorICAgICAgcmVzcG9u
c2UuaGVhZGVycy5zZXQoYidBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4nLCBvcmlnaW4pCiAK
ICAgICB0YW8gPSByZXF1ZXN0LkdFVC5maXJzdChiJ3RhbycpCisgICAgaW1nID0gcmVxdWVzdC5H
RVQuZmlyc3QoYidpbWcnKSBpZiBiJ2ltZycgaW4gcmVxdWVzdC5HRVQgZWxzZSBOb25lCiAKICAg
ICBpZiB0YW8gPT0gYid6ZXJvJzoKICAgICAjIHplcm8gVEFPIHZhbHVlLCBmYWlsCkBAIC0xNCw3
ICsxOCw3IEBAIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICAjIG51bGwsIGZhaWwg
dW5sZXNzIGl0J3MgYW4gb3BhcXVlIG9yaWdpbgogICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNl
dChiJ1RpbWluZy1BbGxvdy1PcmlnaW4nLCBiJ251bGwnKQogICAgIGVsaWYgdGFvID09IGInTnVs
bCc6Ci0gICAgIyBjYXNlLWluc2VudGl2ZSBudWxsLCBmYWlsCisgICAgIyBjYXNlLWluc2Vuc2l0
aXZlIG51bGwsIGZhaWwKICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYidUaW1pbmctQWxs
b3ctT3JpZ2luJywgYidOdWxsJykKICAgICBlbGlmIHRhbyA9PSBiJ29yaWdpbic6CiAgICAgIyBj
YXNlLXNlbnNpdGl2ZSBtYXRjaCBmb3Igb3JpZ2luLCBwYXNzCkBAIC00OSwzICs1MywxMiBAQCBk
ZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CiAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0
KGInVGltaW5nLUFsbG93LU9yaWdpbicsIG9yaWdpbi51cHBlcigpKQogICAgIGVsc2U6CiAgICAg
ICAgIHBhc3MKKyAgICByZXNwb25zZS5zdGF0dXMgPSAyMDAKKyAgICBpZiBpbWc6CisgICAgICBy
ZXNwb25zZS5oZWFkZXJzLnNldChiIkNvbnRlbnQtVHlwZSIsIGIiaW1hZ2UvcG5nIikKKyAgICAg
IHdpdGggb3BlbihyZXF1ZXN0LmRvY19yb290ICsgIi9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vz
L2JsdWUucG5nIiwgInJiIikgYXMgZjoKKyAgICAgICAgcmVzcG9uc2UuY29udGVudCA9IGYucmVh
ZCgpCisgICAgICAgIGYuY2xvc2UoKQorICAgIGVsc2U6CisgICAgICByZXNwb25zZS5oZWFkZXJz
LnNldChiIkNvbnRlbnQtVHlwZSIsIGIidGV4dC9wbGFpbiIpCisgICAgICByZXNwb25zZS5jb250
ZW50ID0gIlRFU1QiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvYWxsX3Jlc291cmNlX3R5cGVz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvYWxsX3Jlc291cmNlX3R5cGVzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTI1MmE0ODcyYWI0ZTI4ZTY2NTBjNDVjNzc5YjM4MDUyNTRmYTkwZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL3Jlc291cmNlcy9hbGxfcmVzb3VyY2VfdHlwZXMuaHRtbApAQCAtMCwwICsxLDEwNyBA
QAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgY29u
dGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUi
IC8+CisgICAgICAgIDx0aXRsZT5BbGwgUmVzb3VyY2UgVHlwZXMgVGVzdCBQYWdlPC90aXRsZT4K
KyAgICAgICAgPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSJlbXB0eS5weT9mYXZpY29u
Ij4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgYmFja2dyb3VuZD0nYmx1ZS5wbmc/aWQ9Ym9keSc+
CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93LnBhcmVudC5oYXNPd25Q
cm9wZXJ0eSgnb25fdGVzdF9ib2R5X2NyZWF0ZWQnKSkKKyAgICAgICAgICAgICAgICB3aW5kb3cu
cGFyZW50Lm9uX3Rlc3RfYm9keV9jcmVhdGVkKCk7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAg
ICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Im5lc3RlZC5jc3MiPjwvbGluaz4KKyAgICAg
ICAgPGxpbmsgcmVsPSJwcmVmZXRjaCIgaHJlZj0ibmVzdGVkLmNzcz9pZD1wcmVmZXRjaCI+PC9s
aW5rPgorICAgICAgICA8bGluayByZWw9InByZWxvYWQiIGhyZWY9Im5lc3RlZC5jc3M/aWQ9cHJl
bG9hZCIgYXM9InN0eWxlIj48L2xpbms+CisgICAgICAgIDxsaW5rIHJlbD0icHJlcmVuZGVyIiBo
cmVmPSJncmVlbi5odG1sP2lkPXByZXJlbmRlciI+PC9saW5rPgorICAgICAgICA8bGluayByZWw9
Im1hbmlmZXN0IiBocmVmPSJtYW5pZmVzdC5qc29uIj48L2xpbms+CisgICAgICAgIDxpbWcgc3Jj
PSJyZXNvdXJjZV90aW1pbmdfdGVzdDAucG5nIj48L2ltZz4KKyAgICAgICAgPGltZyBzcmM9InJl
c291cmNlX3RpbWluZ190ZXN0MC5wbmc/aWQ9c3Jjc2V0LXNyYyIKKyAgICAgICAgICAgIHNyY3Nl
dD0icmVzb3VyY2VfdGltaW5nX3Rlc3QwLnBuZz9pZD1zcmNzZXQtc3Jjc2V0IDY3dyIKKyAgICAg
ICAgICAgIHNpemVzPSI2N3B4Ij48L2ltZz4KKyAgICAgICAgPGlmcmFtZSBzcmM9ImdyZWVuLmh0
bWwiIHdpZHRoPSIxMDBweCIgaGVpZ2h0PSIxMDBweCI+PC9pZnJhbWU+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSJlbXB0eV9zY3JpcHQuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0PgorICAg
ICAgICAgICAgdmFyIGFzeW5jX3hociA9IG5ldyBYTUxIdHRwUmVxdWVzdDsKKyAgICAgICAgICAg
IGFzeW5jX3hoci5vcGVuKCdHRVQnLCAnYmx1ZS5wbmc/aWQ9YXN5bmNfeGhyJywgdHJ1ZSk7Cisg
ICAgICAgICAgICBhc3luY194aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7Cisg
ICAgICAgICAgICAgICAgaWYgKGFzeW5jX3hoci5yZWFkeVN0YXRlID09IDQgJiYgYXN5bmNfeGhy
LnN0YXR1cyA9PSAyMDAgJiYgcGFyZW50Lmhhc093blByb3BlcnR5KCdvbl9hc3luY194aHJfZG9u
ZScpKQorICAgICAgICAgICAgICAgICAgICBwYXJlbnQub25fYXN5bmNfeGhyX2RvbmUoKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGFzeW5jX3hoci5zZW5kKCk7CisKKyAgICAgICAgICAg
IGlmICh3aW5kb3cubmF2aWdhdG9yICYmIG5hdmlnYXRvci5zZW5kQmVhY29uKSB7CisgICAgICAg
ICAgICAgICAgbmF2aWdhdG9yLnNlbmRCZWFjb24oJ2VtcHR5LnB5P2lkPWJlYWNvbicpOworICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAod2luZG93LmZldGNoKSB7CisgICAgICAgICAg
ICAgICAgZmV0Y2goJ2VtcHR5LnB5P2lkPWZldGNoJyk7CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIGlmICh3aW5kb3cuRXZlbnRTb3VyY2UpIHsKKyAgICAgICAgICAgICAgICB2YXIgZXZ0
U291cmNlID0gbmV3IEV2ZW50U291cmNlKCdldmVudHNvdXJjZS5weT9pZD1ldmVudHNvdXJjZScp
OworICAgICAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgQGZvbnQtZmFjZSB7CisgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHJlbW90
ZUZvbnRBaGVtOworICAgICAgICAgICAgICAgIHNyYzogdXJsKCcvZm9udHMvQWhlbS50dGYnKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmcmFtZSB7CisgICAgICAgICAgICAgICAgYmFj
a2dyb3VuZDogdXJsKCdibHVlLnBuZz9pZD0xJyk7CisgICAgICAgICAgICB9CisgICAgICAgICAg
ICBib2R5IHsKKyAgICAgICAgICAgICAgICBjdXJzb3I6IHVybCgnYmx1ZS5wbmc/aWQ9Y3Vyc29y
JyksIHBvaW50ZXI7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB1bCB7CisgICAgICAgICAg
ICAgICAgZm9udC1mYW1pbHk6IHJlbW90ZUZvbnRBaGVtOworICAgICAgICAgICAgICAgIGxpc3Qt
c3R5bGUtaW1hZ2U6IHVybCgnYmx1ZS5wbmc/aWQ9MicpOworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgICAgICA8dWw+CisgICAgICAgICAgICA8bGk+VGVzdDwvbGk+CisgICAg
ICAgIDwvdWw+CisgICAgICAgIDxvbD4KKyAgICAgICAgICAgIDxsaT5UZXN0PC9saT4KKyAgICAg
ICAgPC9vbD4KKyAgICAgICAgPGVtYmVkIHNyYz0icmVzb3VyY2VfdGltaW5nX3Rlc3QwLmNzcz9p
ZD1lbWJlZCIgdHlwZT0idGV4dC9jc3MiPjwvZW1iZWQ+CisgICAgICAgIDxpbnB1dCB0eXBlPSJp
bWFnZSIgc3JjPSJibHVlLnBuZz9pZD1pbnB1dCI+PC9pbnB1dD4KKyAgICAgICAgPG9iamVjdCB0
eXBlPSJpbWFnZS9wbmciIGRhdGE9ImJsdWUucG5nP2lkPW9iamVjdCI+PC9vYmplY3Q+CisgICAg
ICAgIDx2aWRlbyBwb3N0ZXI9ImJsdWUucG5nP2lkPXZpZGVvLXBvc3RlciI+PC92aWRlbz4KKyAg
ICAgICAgPHZpZGVvIHNyYz0iL21lZGlhL3Rlc3QubXA0P2lkPXZpZGVvLXNyYyIgYXV0b3BsYXk9
InRydWUiPjwvdmlkZW8+CisgICAgICAgIDx2aWRlbyBhdXRvcGxheT0idHJ1ZSI+CisgICAgICAg
ICAgICA8c291cmNlIHNyYz0iL21lZGlhL3Rlc3QubXA0P2lkPXZpZGVvLXNvdXJjZSIgdHlwZT0i
dmlkZW8vbXA0Ij4KKyAgICAgICAgICAgIDxzb3VyY2Ugc3JjPSIvbWVkaWEvdGVzdC5vZ3Y/aWQ9
dmlkZW8tc291cmNlIiB0eXBlPSJ2aWRlby9vZ2ciPgorICAgICAgICAgICAgPHRyYWNrIGtpbmQ9
InN1YnRpdGxlcyIgc3JjPSJlbXB0eS5weT9pZD12aWRlby10cmFjayIgc3JjbGFuZz0iZW4iIGRl
ZmF1bHQ+CisgICAgICAgIDwvdmlkZW8+CisgICAgICAgIDxhdWRpbyBzcmM9ImVtcHR5LnB5P2lk
PWF1ZGlvLXNyYyI+PC9hdWRpbz4KKyAgICAgICAgPGF1ZGlvPgorICAgICAgICAgICAgPHNvdXJj
ZSBzcmM9ImVtcHR5LnB5P2lkPWF1ZGlvLXNvdXJjZS13YXYiIHR5cGU9ImF1ZGlvL3dhdiIgLz4K
KyAgICAgICAgICAgIDxzb3VyY2Ugc3JjPSJlbXB0eS5weT9pZD1hdWRpby1zb3VyY2UtbXBlZyIg
dHlwZT0iYXVkaW8vbXBlZyIgLz4KKyAgICAgICAgICAgIDxzb3VyY2Ugc3JjPSJlbXB0eS5weT9p
ZD1hdWRpby1zb3VyY2Utb2dnIiB0eXBlPSJhdWRpby9vZ2ciIC8+CisgICAgICAgIDwvYXVkaW8+
CisgICAgICAgIDxzdmcgd2lkdGg9MjAwIGhlaWdodD0yMDAKKyAgICAgICAgICAgIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKKyAgICAgICAgICAgIHhtbG5zOnhsaW5rPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KKyAgICAgICAgICAgIDxpbWFnZSBocmVmPSJibHVl
LnBuZz9pZD1zdmctaW1hZ2UiIGhlaWdodD0iMjAwIiB3aWR0aD0iMjAwIi8+CisgICAgICAgIDwv
c3ZnPgorICAgICAgICA8cGljdHVyZT4KKyAgICAgICAgICAgIDxzb3VyY2Ugc3Jjc2V0PSJibHVl
LnBuZz9pZD1waWN0dXJlLXNvdXJjZSIgdHlwZT0iaW1hZ2UvcG5nIiAvPgorICAgICAgICAgICAg
PGltZyBzcmM9ImJsdWUucG5nP2lkPXBpY3R1cmUtaW1nIiAvPgorICAgICAgICA8L3BpY3R1cmU+
CisgICAgICAgIDxwaWN0dXJlPgorICAgICAgICAgICAgPHNvdXJjZSBzcmNzZXQ9ImJsdWUucG5n
P2lkPXBpY3R1cmUtbm90c3VwcG9ydGVkLXNvdXJjZSIgdHlwZT0iaW1hZ2Uvbm90c3VwcG9ydGVk
IiAvPgorICAgICAgICAgICAgPGltZyBzcmM9ImJsdWUucG5nP2lkPXBpY3R1cmUtbm90c3VwcG9y
dGVkLWltZyIgLz4KKyAgICAgICAgPC9waWN0dXJlPgorICAgICAgICA8cGljdHVyZT4KKyAgICAg
ICAgICAgIDxpbWcgc3JjPSJibHVlLnBuZz9pZD1waWN0dXJlLWltZy1zcmMiCisgICAgICAgICAg
ICAgICAgc3Jjc2V0PSJibHVlLnBuZz9pZD1waWN0dXJlLWltZy1zcmNzZXQiCisgICAgICAgICAg
ICAgICAgc2l6ZXM9IjY3cHgiPjwvaW1nPgorICAgICAgICA8L3BpY3R1cmU+CisgICAgICAgIDxw
aWN0dXJlPgorICAgICAgICAgICAgPGltZyBzcmM9ImJsdWUucG5nP2lkPXBpY3R1cmUtOTl4LWlt
Zy1zcmMiCisgICAgICAgICAgICAgICAgc3Jjc2V0PSJibHVlLnBuZz9pZD1waWN0dXJlLTk5eC1p
bWctc3Jjc2V0IDk5eCIKKyAgICAgICAgICAgICAgICBzaXplcz0iNjdweCI+PC9pbWc+CisgICAg
ICAgIDwvcGljdHVyZT4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2J1ZmZlci1mdWxs
LXV0aWxpdGllcy5qcwppbmRleCBlMGE0ZjBiMTA4MDk0NjU4YmUwYWVmNDUzYmY4MjZiZjAxYzI4
ZjkzLi4yMWNkNjMzY2VkOTdkYmY2Yzc1ZWFlMTBiZmQ5N2EyOTQyZTRiZDVhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
cy9idWZmZXItZnVsbC11dGlsaXRpZXMuanMKQEAgLTEyLDEyICsxMiwyNyBAQCBsZXQgeGhyU2Ny
aXB0ID0gc3JjID0+IHsKICAgICB4aHIuc2VuZChudWxsKTsKIH0KIAotbGV0IHdhaXRGb3JOZXh0
VGFzayA9ICgpID0+IHsKKy8vIFRoaXMgc2NyaXB0IHJlbGllcyBvbiByZXNvdXJjZXMvcmVzb3Vy
Y2UtbG9hZGVycy5qcy4gSW5jbHVkZSBpdCBiZWZvcmUgaW4gb3JkZXIgZm9yIHRoZSBiZWxvdwor
Ly8gbWV0aG9kcyB0byB3b3JrIHByb3Blcmx5LgorCisvLyBUaGUgcmVzb3VyY2VzIHVzZWQgdG8g
dHJpZ2dlciBuZXcgZW50cmllcy4KK2NvbnN0IHNjcmlwdFJlc291cmNlcyA9IFsKKyAgICAncmVz
b3VyY2VzL2VtcHR5LmpzJywKKyAgICAncmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5qcycsCisgICAg
J3Jlc291cmNlcy9lbXB0eS5qcz9pZCcKK107CisKK2NvbnN0IHdhaXRGb3JOZXh0VGFzayA9ICgp
ID0+IHsKICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CiAgICAgICAgIHN0ZXBf
dGltZW91dChyZXNvbHZlLCAwKTsKICAgICB9KTsKIH07CiAKK2NvbnN0IGNsZWFyQnVmZmVyQW5k
U2V0U2l6ZSA9IHNpemUgPT4geworICBwZXJmb3JtYW5jZS5jbGVhclJlc291cmNlVGltaW5ncygp
OworICBwZXJmb3JtYW5jZS5zZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUoc2l6ZSk7Cit9CisK
IGxldCB3YWl0VW50aWxDb25kaXRpb25Jc01ldCA9IGNvbmQgPT4gewogICAgIHJldHVybiBuZXcg
UHJvbWlzZShyZXNvbHZlID0+IHsKICAgICAgICAgbGV0IGNoZWNrQ29uZGl0aW9uID0gZnVuY3Rp
b24oKSB7CkBAIC00NSwyNyArNjAsNTcgQEAgbGV0IHdhaXRGb3JFdmVudFRvRmlyZSA9ICgpID0+
IHsKICAgICB9KTsKIH07CiAKLWxldCBjbGVhckJ1ZmZlckFuZFNldFNpemUgPSBzaXplID0+IHsK
LSAgICBwZXJmb3JtYW5jZS5jbGVhclJlc291cmNlVGltaW5ncygpOwotICAgIHBlcmZvcm1hbmNl
LnNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6ZShzaXplKTsKLX0KK2NvbnN0IGZvcmNlQnVmZmVy
RnVsbEV2ZW50ID0gYXN5bmMgKCkgPT4geworICBjbGVhckJ1ZmZlckFuZFNldFNpemUoMSk7Cisg
IHJldHVybiBuZXcgUHJvbWlzZShhc3luYyByZXNvbHZlID0+IHsKKyAgICBwZXJmb3JtYW5jZS5h
ZGRFdmVudExpc3RlbmVyKCdyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwnLCByZXNvbHZlKTsKKyAg
ICAvLyBMb2FkIDIgcmVzb3VyY2VzIHRvIGVuc3VyZSBvbnJlc291cmNldGltaW5nYnVmZmVyZnVs
bCBpcyBmaXJlZC4KKyAgICAvLyBMb2FkIHRoZW0gaW4gb3JkZXIgaW4gb3JkZXIgdG8gZ2V0IHRo
ZSBlbnRyaWVzIGluIHRoYXQgb3JkZXIhCisgICAgYXdhaXQgbG9hZC5zY3JpcHQoc2NyaXB0UmVz
b3VyY2VzWzBdKTsKKyAgICBhd2FpdCBsb2FkLnNjcmlwdChzY3JpcHRSZXNvdXJjZXNbMV0pOwor
ICB9KTsKK307CiAKLWxldCBmaWxsVXBUaGVCdWZmZXJXaXRoU2luZ2xlUmVzb3VyY2UgPSBzcmMg
PT4gewotICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgICAgLy8gVGhp
cyByZXNvdXJjZSBnZXRzIGJ1ZmZlcmVkIGluIHRoZSByZXNvdXJjZSB0aW1pbmcgZW50cnkgYnVm
ZmVyLgotICAgICAgICBhcHBlbmRTY3JpcHQoc3JjLCByZXNvbHZlKTsKLSAgICB9KTsKK2NvbnN0
IGZpbGxVcFRoZUJ1ZmZlcldpdGhTaW5nbGVSZXNvdXJjZSA9IGFzeW5jIChzcmMgPSBzY3JpcHRS
ZXNvdXJjZXNbMF0pID0+IHsKKyAgY2xlYXJCdWZmZXJBbmRTZXRTaXplKDEpOworICBhd2FpdCBs
b2FkLnNjcmlwdChzcmMpOwogfTsKIAotbGV0IGxvYWRSZXNvdXJjZSA9IHNyYyA9PiB7Ci0gICAg
cmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgICAgICBhcHBlbmRTY3JpcHQoc3Jj
LCByZXNvbHZlKTsKLSAgICB9KTsKK2NvbnN0IGZpbGxVcFRoZUJ1ZmZlcldpdGhUd29SZXNvdXJj
ZXMgPSBhc3luYyAoKSA9PiB7CisgICAgY2xlYXJCdWZmZXJBbmRTZXRTaXplKDIpOworICAgIC8v
IExvYWQgdGhlbSBpbiBvcmRlciBpbiBvcmRlciB0byBnZXQgdGhlIGVudHJpZXMgaW4gdGhhdCBv
cmRlciEKKyAgICBhd2FpdCBsb2FkLnNjcmlwdChzY3JpcHRSZXNvdXJjZXNbMF0pOworICAgIGF3
YWl0IGxvYWQuc2NyaXB0KHNjcmlwdFJlc291cmNlc1sxXSk7CiB9OwogCi1sZXQgZmlsbFVwVGhl
QnVmZmVyV2l0aFR3b1Jlc291cmNlcyA9IGFzeW5jIHNyYyA9PiB7Ci0gICAgLy8gVGhlc2UgcmVz
b3VyY2VzIGdldCBidWZmZXJlZCBpbiB0aGUgcmVzb3VyY2UgdGltaW5nIGVudHJ5IGJ1ZmZlci4K
LSAgICBhd2FpdCBsb2FkUmVzb3VyY2Uoc3JjKTsKLSAgICBhd2FpdCBsb2FkUmVzb3VyY2Uoc3Jj
ICsgJz9zZWNvbmQnKTsKK2NvbnN0IGFkZEFzc2VydFVucmVhY2hlZEJ1ZmZlckZ1bGwgPSB0ID0+
IHsKKyAgcGVyZm9ybWFuY2UuYWRkRXZlbnRMaXN0ZW5lcigncmVzb3VyY2V0aW1pbmdidWZmZXJm
dWxsJywgdC5zdGVwX2Z1bmMoKCkgPT4geworICAgIGFzc2VydF91bnJlYWNoZWQoInJlc291cmNl
dGltaW5nYnVmZmVyZnVsbCBzaG91bGQgbm90IGZpcmUiKQorICB9KSk7CiB9OwogCitjb25zdCBj
aGVja0VudHJpZXMgPSBudW1FbnRyaWVzID0+IHsKKyAgY29uc3QgZW50cmllcyA9IHBlcmZvcm1h
bmNlLmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7CisgIGFzc2VydF9lcXVhbHMoZW50cmll
cy5sZW5ndGgsIG51bUVudHJpZXMsCisgICAgICAnTnVtYmVyIG9mIGVudHJpZXMgZG9lcyBub3Qg
bWF0Y2ggdGhlIGV4cGVjdGVkIHZhbHVlLicpOworICBhc3NlcnRfdHJ1ZShlbnRyaWVzWzBdLm5h
bWUuaW5jbHVkZXMoc2NyaXB0UmVzb3VyY2VzWzBdKSwKKyAgICAgIHNjcmlwdFJlc291cmNlc1sw
XSArICIgaXMgaW4gdGhlIGVudHJpZXMgYnVmZmVyIik7CisgIGlmIChlbnRyaWVzLmxlbmd0aCA+
IDEpIHsKKyAgICBhc3NlcnRfdHJ1ZShlbnRyaWVzWzFdLm5hbWUuaW5jbHVkZXMoc2NyaXB0UmVz
b3VyY2VzWzFdKSwKKyAgICAgICAgc2NyaXB0UmVzb3VyY2VzWzFdICsgIiBpcyBpbiB0aGUgZW50
cmllcyBidWZmZXIiKTsKKyAgfQorICBpZiAoZW50cmllcy5sZW5ndGggPiAyKSB7CisgICAgYXNz
ZXJ0X3RydWUoZW50cmllc1syXS5uYW1lLmluY2x1ZGVzKHNjcmlwdFJlc291cmNlc1syXSksCisg
ICAgICAgIHNjcmlwdFJlc291cmNlc1syXSArICIgaXMgaW4gdGhlIGVudHJpZXMgYnVmZmVyIik7
CisgIH0KK30KKworY29uc3QgYnVmZmVyRnVsbEZpcmVQcm9taXNlID0gbmV3IFByb21pc2UocmVz
b2x2ZSA9PiB7CisgIHBlcmZvcm1hbmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc291cmNldGltaW5n
YnVmZmVyZnVsbCcsIGFzeW5jICgpID0+IHsKKyAgICAvLyBXYWl0IGZvciB0aGUgbmV4dCB0YXNr
IGp1c3QgdG8gZW5zdXJlIHRoYXQgYWxsIGJ1ZmZlcmZ1bGwgZXZlbnRzIGhhdmUgZmlyZWQsIGFu
ZCB0byBlbnN1cmUKKyAgICAvLyB0aGF0IHRoZSBzZWNvbmRhcnkgYnVmZmVyIGlzIGNvcGllZCAo
YXMgdGhpcyBpcyBhbiBldmVudCwgdGhlcmUgbWF5IGJlIG1pY3JvdGFzayBjaGVja3BvaW50cwor
ICAgIC8vIHJpZ2h0IGFmdGVyIHJ1bm5pbmcgYW4gZXZlbnQgaGFuZGxlcikuCisgICAgYXdhaXQg
d2FpdEZvck5leHRUYXNrKCk7CisgICAgcmVzb2x2ZSgpOworICB9KTsKK30pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL2NhY2hlYWJsZS1hbmQtdmFsaWRhdGVkLnB5IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vz
L2NhY2hlYWJsZS1hbmQtdmFsaWRhdGVkLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMxZjBlM2FiNDE3YTY5MDc5
ZjIwNzQ4NzUxYjJkNmJlOWE3ZDU1NTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMv
Y2FjaGVhYmxlLWFuZC12YWxpZGF0ZWQucHkKQEAgLTAsMCArMSwxMSBAQAorZGVmIG1haW4ocmVx
dWVzdCwgcmVzcG9uc2UpOgorICAgIHJldmFsaWRhdGlvbiA9ICdDYWNoZS1Db250cm9sJyBpbiBy
ZXF1ZXN0LmhlYWRlcnMKKyAgICBjb250ZW50ID0gcmVxdWVzdC5HRVQuZmlyc3QoYidjb250ZW50
JykKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiJ0NhY2hlLUNvbnRyb2wnLCBiJ21heC1hZ2U9
NjAnKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGInRVRhZycsIGInYXNzZGZzZGZlJykKKyAg
ICBpZiByZXZhbGlkYXRpb246CisgICAgICByZXNwb25zZS5zdGF0dXMgPSAoMzA0LCBiJ05vdE1v
ZGlmaWVkJykKKyAgICBlbHNlOgorICAgICAgcmVzcG9uc2Uuc3RhdHVzID0gKDIwMCwgYidPSycp
OworICAgICAgcmVzcG9uc2Uud3JpdGVfc3RhdHVzX2hlYWRlcnMoKQorICAgICAgcmVzcG9uc2Uu
d3JpdGVyLndyaXRlKGNvbnRlbnQpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2Nvbm5lY3Rp
b24tcmV1c2UtdGVzdC5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jb25uZWN0aW9uLXJldXNlLXRlc3QuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNGRlZjE2YzBiMGVjOTA0N2Y2ZjIyMjA3YmZlMTk5MzMwMjI5ODY0MQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jb25uZWN0aW9uLXJldXNlLXRlc3QuanMKQEAg
LTAsMCArMSw3MCBAQAorLy8gVGhpcyBzY3JpcHQgaXMgbG9hZGVkIGluIEhUVFAgYW5kIEhUVFBT
IGNvbnRleHRzIHRvIHZhbGlkYXRlCisvLyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGVudHJp
ZXMnIGF0dHJpYnV0ZXMgd2hlbiByZXVzaW5nIGNvbm5lY3Rpb25zLgorCisvLyBNYWtlIHRoZSBm
aXJzdCByZXF1ZXN0IGJlZm9yZSBjYWxsaW5nICdhdHRyaWJ1dGVfdGVzdCcgc28gdGhhdCBvbmx5
IHRoZQorLy8gc2Vjb25kIHJlcXVlc3QncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGVudHJ5
IHdpbGwgYmUgaW50ZXJyb2dhdGVkLgorLy8gV2UgZG9uJ3QgY2hlY2sgdGhlIGZpcnN0IHJlcXVl
c3QncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGVudHJ5IGJlY2F1c2UKKy8vIHRoYXQncyBu
b3Qgd2hhdCB0aGlzIHRlc3QgaXMgdHJ5aW5nIHRvIHZhbGlkYXRlLgorLy8KKy8vIE5vdGU6IHRv
IGVuc3VyZSB0aGF0IHdlIHJldXNlIHRoZSBjb25uZWN0aW9uIHRvIGZldGNoIG11bHRpcGxlIHJl
c291cmNlcywKKy8vIHdlIHVzZSB0aGUgc2FtZSBYTUxIdHRwUmVxdWVzdCBvYmplY3QgZm9yIGVh
Y2ggcmVxdWVzdC4gQWx0aG91Z2ggaXQgZG9lc24ndAorLy8gc2VlbSB0byBiZSBzcGVjaWZpZWQs
IGVhY2ggYnJvd3NlciB0ZXN0ZWQgYnkgV1BUIHdpbGwgcmV1c2UgdGhlIHVuZGVybHlpbmcKKy8v
IFRDUCBjb25uZWN0aW9uIHdpdGggdGhpcyBhcHByb2FjaC4gUHJlLWVzdGFibGlzaGluZyB0aGUg
WEhSJ3MgY29ubmVjdGlvbgorLy8gaGVscHMgdXMgdG8gdGVzdCBjb25uZWN0aW9uIHJldXNlIGFs
c28gaW4gYnJvd3NlcnMgdGhhdCBtYXkga2V5IHRoZWlyCisvLyBjb25uZWN0aW9ucyBvbiB0aGUg
cmVsYXRlZCByZXF1ZXN0J3MgY3JlZGVudGlhbHMgbW9kZS4KK2NvbnN0IGNsaWVudCA9IG5ldyBY
TUxIdHRwUmVxdWVzdCgpOworY29uc3QgaWRlbnRpZmllciA9IE1hdGgucmFuZG9tKCk7Citjb25z
dCBwYXRoID0gYHJlc291cmNlcy9mYWtlX3Jlc3BvbnNlcy5weT90YWc9JHtpZGVudGlmaWVyfWA7
CitjbGllbnQub3BlbigiR0VUIiwgcGF0aCwgZmFsc2UpOworY2xpZW50LnNlbmQoKTsKKworYXR0
cmlidXRlX3Rlc3QoCisgIGFzeW5jICgpID0+IHsKKyAgICBjbGllbnQub3BlbigiR0VUIiwgcGF0
aCArICImc2FtZV9yZXNvdXJjZT1mYWxzZSIsIGZhbHNlKTsKKyAgICBjbGllbnQuc2VuZCgpOwor
CisgICAgLy8gV2UgZXhwZWN0IHRvIGdldCBhIDIwMCBPayByZXNwb25zZSBiZWNhdXNlIHdlJ3Zl
IHJlcXVlc3RlZCBhIGRpZmZlcmVudAorICAgIC8vIHJlc291cmNlIHRoYW4gcHJldmlvdXMgcmVx
dWVzdHMuCisgICAgaWYgKGNsaWVudC5zdGF0dXMgIT0gMjAwKSB7CisgICAgICB0aHJvdyBuZXcg
RXJyb3IoYEdvdCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhIDIwMCByZXNwb25zZS4gYCArCisgICAg
ICAgICAgICAgICAgICAgICAgYGNsaWVudC5zdGF0dXM6ICR7Y2xpZW50LnN0YXR1c31gKTsKKyAg
ICB9CisgIH0sIHBhdGgsIGVudHJ5ID0+IHsKKyAgICBpbnZhcmlhbnRzLmFzc2VydF9jb25uZWN0
aW9uX3JldXNlZChlbnRyeSk7CisKKyAgICAvLyBUaGUgZW50cnkgbXVzdCBhbHNvIGZvbGxvdyB0
aGUgc3BlY2lmaWNhdGlvbiBmb3IgYW55IGVudHJ5IGNvcnJlc3BvbmRpbmcKKyAgICAvLyB0byBh
ICd0eXBpY2FsJyAyMDAgT2sgcmVzcG9uc2UuCisgICAgaWYgKHNlbGYubG9jYXRpb24ucHJvdG9j
b2wgPT0gJ2h0dHBzOicpIHsKKyAgICAgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzX25vX3Jl
ZGlyZWN0X2h0dHBzKGVudHJ5KTsKKyAgICB9IGVsc2UgeworICAgICAgaW52YXJpYW50cy5hc3Nl
cnRfdGFvX3Bhc3Nfbm9fcmVkaXJlY3RfaHR0cChlbnRyeSk7CisgICAgfQorICB9LAorICAiUGVy
Zm9ybWFuY2VSZXNyb3VjZVRpbWluZyBlbnRyaWVzIG5lZWQgdG8gY29uZm9ybSB0byB0aGUgc3Bl
YyB3aGVuIGEgIiArCisgICJkaXN0aW5jdCByZXNvdXJjZSBpcyBmZXRjaGVkIG92ZXIgYSBwZXJz
aXN0ZW50IGNvbm5lY3Rpb24iKTsKKworYXR0cmlidXRlX3Rlc3QoCisgIGFzeW5jICgpID0+IHsK
KyAgICBjbGllbnQub3BlbigiR0VUIiwgcGF0aCwgZmFsc2UpOworICAgIGNsaWVudC5zZXRSZXF1
ZXN0SGVhZGVyKCJJZi1Ob25lLU1hdGNoIiwgaWRlbnRpZmllcik7CisgICAgY2xpZW50LnNlbmQo
KTsKKworICAgIC8vIFdlIGV4cGVjdCB0byBnZXQgYSAzMDQgTm90IE1vZGlmaWVkIHJlc3BvbnNl
IGJlY2F1c2Ugd2UndmUgdXNlZCBhCisgICAgLy8gbWF0Y2hpbmcgJ2lkZW50aWZpZXInIGZvciB0
aGUgSWYtTm9uZS1NYXRjaCBoZWFkZXIuCisgICAgaWYgKGNsaWVudC5zdGF0dXMgIT0gMzA0KSB7
CisgICAgICB0aHJvdyBuZXcgRXJyb3IoYEdvdCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhIDMwNCBy
ZXNwb25zZS4gYCArCisgICAgICAgICAgICAgICAgICAgICAgYGNsaWVudC5zdGF0dXM6ICR7Y2xp
ZW50LnN0YXR1c31gKTsKKyAgICB9CisgIH0sIHBhdGgsIGVudHJ5ID0+IHsKKyAgICBpbnZhcmlh
bnRzLmFzc2VydF9jb25uZWN0aW9uX3JldXNlZChlbnRyeSk7CisKKyAgICAvLyBUaGUgZW50cnkg
bXVzdCBhbHNvIGZvbGxvdyB0aGUgc3BlY2lmaWNhdGlvbiBmb3IgYW55IGVudHJ5IGNvcnJlc3Bv
bmRpbmcKKyAgICAvLyB0byBhICd0eXBpY2FsJyAzMDQgTm90IE1vZGlmaWVkIHJlc3BvbnNlLgor
ICAgIGlmIChzZWxmLmxvY2F0aW9uLnByb3RvY29sID09ICdodHRwczonKSB7CisgICAgICBpbnZh
cmlhbnRzLmFzc2VydF90YW9fcGFzc18zMDRfbm90X21vZGlmaWVkX2h0dHBzKGVudHJ5KTsKKyAg
ICB9IGVsc2UgeworICAgICAgaW52YXJpYW50cy5hc3NlcnRfdGFvX3Bhc3NfMzA0X25vdF9tb2Rp
ZmllZF9odHRwKGVudHJ5KTsKKyAgICB9CisgIH0sCisgICJQZXJmb3JtYW5jZVJlc3JvdWNlVGlt
aW5nIGVudHJpZXMgbmVlZCB0byBjb25mb3JtIHRvIHRoZSBzcGVjIHdoZW4gdGhlICIgKworICAi
cmVzb3VyY2UgaXMgY2FjaGUtcmV2YWxpZGF0ZWQgb3ZlciBhIHBlcnNpc3RlbnQgY29ubmVjdGlv
biIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NzcC1kZWZhdWx0LW5vbmUuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWY1OWQ4YzIyNTBm
N2YxN2YxNDM4ODdkYzRmOGU2OGNkZjdmYWE4MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0bWwKQEAgLTAsMCArMSwzIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5lbXB0eSBwYWdlPC90aXRsZT4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0bWwuaGVhZGVycyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0bWwuaGVhZGVycwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNjZm
ODg2ZGQyM2Q0NGJiMzM3NTBjYjU3MjNmM2VkYjZiNzkzMGFiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VzL2NzcC1kZWZhdWx0LW5vbmUuaHRtbC5oZWFkZXJzCkBAIC0wLDAgKzEsMiBA
QAorQ29udGVudC1TZWN1cml0eS1Qb2xpY3k6IGRlZmF1bHQtc3JjICdub25lJworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVz
b3VyY2VzL2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NGNkZDhh
ODcwMWViNGQ3NDlmMTEyYWQ0MDE1ZDRlNTc3OWI3N2IxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3QuaHRtbApAQCAtMCwwICsxLDI4IEBA
Cis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iZW50
cnktaW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citjb25zdCBwYXRo
ID0gbG9jYXRpb24ub3JpZ2luICsKKyAgICAgICAgICAgICAiL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZXMvaWZyYW1lLXNldGRvbWFpbi5zdWIuaHRtbCI7CithdHRyaWJ1dGVfdGVzdF93aXRoX3Zh
bGlkYXRvcihsb2FkLmlmcmFtZSwgcGF0aCwKKyAgZWwgPT4geworICAgIHRyeSB7CisgICAgICBl
bC5jb250ZW50V2luZG93LmRvY3VtZW50OworICAgICAgdGhyb3cgbmV3IEVycm9yKCJpZnJhbWUg
ZG9jdW1lbnQuZG9tYWluIHdhcyBub3Qgc2V0Iik7CisgICAgfSBjYXRjaChlcnJvcikgeworICAg
ICAgaWYgKGVycm9yLm5hbWUgIT0gIlNlY3VyaXR5RXJyb3IiKSB7CisgICAgICAgIHRocm93KGVy
cm9yKTsKKyAgICAgIH0KKyAgICB9CisgIH0sCisgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNz
X25vX3JlZGlyZWN0X2h0dHAsCisgICJ0ZXN0IHRoYXQgZG9jdW1lbnQuZG9tYWluIGJlaW5nIHNl
dCBkb2Vzbid0IGhhdmUgYW4gaW1wYWN0IG9uIHRoZSAiICsKKyAgInJlc291cmNlIHRpbWluZyBl
bnRyeS4iCispOworPC9zY3JpcHQ+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVu
dC1yZWZyZXNoZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVudC1yZWZyZXNoZWQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43ZTRjYTA5ODkxZWQzNWUyNDRiMTUxNTFhMmE2MDc3YWY3NGU4NjVmCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2RvY3VtZW50LXJlZnJlc2hlZC5odG1sCkBAIC0w
LDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04IiAvPgorPC9oZWFkPgorPGJvZHk+CisgICAgUmVmcmVzaGVkIGRvY3VtZW50IQor
PHNjcmlwdD4KKyAgICB0b3AucG9zdE1lc3NhZ2UoInJlZnJlc2hlZCIsICIqIik7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVudC10
aGF0LXJlZnJlc2hlcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2RvY3VtZW50LXRoYXQtcmVmcmVzaGVz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzU1MjI3ODJhNjJkYmUzYjk4YjJmMWEwOWM1YmFiYzcwNjNiNzUx
MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVudC10aGF0LXJlZnJlc2hl
cy5odG1sCkBAIC0wLDAgKzEsOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8bWV0YSBodHRwLWVxdWl2PSJyZWZyZXNoIiBjb250
ZW50PSIwO2RvY3VtZW50LXJlZnJlc2hlZC5odG1sIj4KKzwvaGVhZD4KKzxib2R5PjwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9lbWJlZC1yZWZyZXNoLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9yZXNvdXJjZXMvZW1iZWQtcmVmcmVzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRhNDlmZDBiNGMxYjU0
YzBmMDMyMDBmN2VkMmNiMmFlMjcyMzk3ODgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZXMvZW1iZWQtcmVmcmVzaC5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNl
IFRpbWluZyBlbWJlZCByZWZyZXNoPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1o
b3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJuZXN0ZWQtY29udGV4dHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgICBzZXR1cF9yZWZyZXNoX3Rlc3QoKTsKKzwvc2Ny
aXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8ZW1iZWQgdHlwZT0idGV4dC9odG1sIj4KKzxzY3Jp
cHQ+CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImVtYmVkIilbMF0uc3JjID0g
cHJlX3JlZnJlc2hfdXJsOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3Jl
ZW4tZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi1mcmFtZS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljk2MTMyNDBhZTM4Nzg5YTEwNGQ3N2Q1NmY4OTBmZjYyNDIwOTM0YjAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4tZnJhbWUuaHRtbApAQCAtMCwwICsxLDcgQEAKKzxodG1s
PgorICA8aGVhZD4KKyAgICA8ZnJhbWVzZXQ+CisgICAgICA8ZnJhbWUgc3JjPSJncmVlbi5odG1s
P2lkPWZyYW1lIj4KKyAgICA8L2ZyYW1lc2V0PgorICA8L2hlYWQ+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmI4YTE5NDdiNzdlMjVhYzZiMGQxMDBjNzU5MzJlOGMwYTY3ZDg0NmYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4uaHRtbApAQCAtMCwwICsxLDEwIEBACis8
IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBjb250ZW50
PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgLz4K
KyAgICAgICAgPHRpdGxlPkdyZWVuIFRlc3QgUGFnZTwvdGl0bGU+CisgICAgPC9oZWFkPgorICAg
IDxib2R5IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiMwMEZGMDA7Ij4KKyAgICAgICAgPGgxPlBs
YWNlaG9sZGVyPC9oMT4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZXMvZ3JlZW4uaHRtbC5oZWFkZXJzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2dyZWVuLmh0bWwuaGVhZGVy
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jYjc2MmVmZjgwNjg0OWRmNDZkYzc1OGVmN2I5OGI2M2YyN2Y1NGM5Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2dyZWVuLmh0bWwuaGVhZGVycwpAQCAtMCww
ICsxIEBACitBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW46ICoKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlcy9nemlwX3htbC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9nemlwX3htbC5weQppbmRleCAyMjkz
NjA1YWMzM2E0ZDM1N2E0MjZjZGUxMzliYjdkNDRlNGUwY2IzLi43ZGViYzljZTNmNmNiMDYxYmU4
Y2EzN2I3M2ZjZjlmMmE1Mzk2Mzg5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3ppcF94bWwu
cHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvcmVzb3VyY2VzL2d6aXBfeG1sLnB5CkBAIC0xLDcgKzEsNyBAQAogaW1wb3J0
IGd6aXAgYXMgZ3ppcF9tb2R1bGUKIGltcG9ydCBvcwogCi1mcm9tIHNpeCBpbXBvcnQgQnl0ZXNJ
TworZnJvbSBpbyBpbXBvcnQgQnl0ZXNJTwogCiBmcm9tIHdwdHNlcnZlLnV0aWxzIGltcG9ydCBp
c29tb3JwaGljX2RlY29kZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvaWZyYW1lLXJlZnJl
c2guaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlcy9pZnJhbWUtcmVmcmVzaC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRj
ZTNlYTA0MjQyOTdhYzdhODY2NGZjN2Y3YTZkY2JmZjY0ZDZmMTQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvaWZyYW1lLXJlZnJlc2guaHRtbApAQCAtMCwwICsxLDE1IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0
aXRsZT5SZXNvdXJjZSBUaW1pbmcgaWZyYW1lIHJlZnJlc2g8L3RpdGxlPgorPHNjcmlwdCBzcmM9
Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Im5l
c3RlZC1jb250ZXh0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICAgIHNldHVwX3JlZnJlc2hf
dGVzdCgpOworPC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4KKzxpZnJhbWU+PC9pZnJhbWU+
Cis8c2NyaXB0PgorICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpZnJhbWUiKVsw
XS5zcmMgPSBwcmVfcmVmcmVzaF91cmw7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy9pZnJhbWUtcmVsb2FkLVRBTy5zdWIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9pZnJhbWUtcmVs
b2FkLVRBTy5zdWIuaHRtbAppbmRleCAyNTY4MDI2ZTY0ZWRiODRlNTc0ZTVjMWIwNmYzMjNjYjM1
ODliOTkyLi41NzdhZmY3NzU4Yzc3OTg5M2YwMTA2NThkMjE2ZjM0ODAyYTRlZGZlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvaWZyYW1lLXJlbG9hZC1UQU8uc3ViLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVz
b3VyY2VzL2lmcmFtZS1yZWxvYWQtVEFPLnN1Yi5odG1sCkBAIC0xLDE0ICsxLDE0IEBACiA8c3R5
bGU+CiBAZm9udC1mYWNlIHsKICAgICBmb250LWZhbWlseTogYWhlbTsKLSAgICBzcmM6IHVybCho
dHRwOi8ve3tob3N0c1thbHRdW119fTp7e3BvcnRzW2h0dHBdWzFdfX0vcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlcy9jb3JzLWFoZW0ucHkpOworICAgIHNyYzogdXJsKGh0dHA6Ly97e2RvbWFpbnNb
d3d3XX19Ont7cG9ydHNbaHR0cF1bMV19fS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NvcnMt
YWhlbS5weSk7CiB9CiA8L3N0eWxlPgogPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IGFoZW07Ij5U
aGlzIGZldGNoZXMgYWhlbSBmb250LjwvZGl2PgogPHNjcmlwdD4KICAgaWYgKGxvY2F0aW9uLmhh
c2ggPT09ICcjY2hlY2snKSB7CiAgICAgICBkb2N1bWVudC5mb250cy5yZWFkeS50aGVuKCgpPT4g
ewotICAgICAgICBjb25zdCBlbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgn
aHR0cDovL3t7aG9zdHNbYWx0XVtdfX06e3twb3J0c1todHRwXVsxXX19L3Jlc291cmNlLXRpbWlu
Zy9yZXNvdXJjZXMvY29ycy1haGVtLnB5Jyk7CisgICAgICAgIGNvbnN0IGVudHJpZXMgPSBwZXJm
b3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdodHRwOi8ve3tkb21haW5zW3d3d119fTp7e3BvcnRz
W2h0dHBdWzFdfX0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jb3JzLWFoZW0ucHknKTsKICAg
ICAgICAgaWYgKGVudHJpZXMubGVuZ3RoICE9IDEpCiAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICBjb25zdCBlbnRyeSA9IGVudHJpZXNbMF07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvbXVs
dGlfcmVkaXJlY3QucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvbXVsdGlfcmVkaXJlY3QucHkKaW5kZXggNTZm
NWQ2Yzc3MTUzYTU1OThhZWUwYzY3OTVmYjkwOWMzZmRjZGRiZi4uYTVmYzVkYjRhYzkwMTU5MTQ5
MDhiYTJjY2VlYzE4OWY5ZDMyNzRkMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRpX3Jl
ZGlyZWN0LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9tdWx0aV9yZWRpcmVjdC5weQpAQCAtMSwzICsx
LDQgQEAKK2ltcG9ydCB1cmxsaWIucGFyc2UKIGZyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0IGlz
b21vcnBoaWNfZW5jb2RlCiAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKQEAgLTM3LDcg
KzM4LDcgQEAgZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgogICAgIHJlZGlyZWN0X3VybF9w
YXRoID0gYiIvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9tdWx0aV9yZWRpcmVjdC5weT8iCiAg
ICAgcmVkaXJlY3RfdXJsX3BhdGggKz0gYiJwYWdlX29yaWdpbj0iICsgcGFnZV9vcmlnaW4KICAg
ICByZWRpcmVjdF91cmxfcGF0aCArPSBiIiZjcm9zc19vcmlnaW49IiArIGNyb3NzX29yaWdpbgot
ICAgIHJlZGlyZWN0X3VybF9wYXRoICs9IGIiJmZpbmFsX3Jlc291cmNlPSIgKyBmaW5hbF9yZXNv
dXJjZQorICAgIHJlZGlyZWN0X3VybF9wYXRoICs9IGIiJmZpbmFsX3Jlc291cmNlPSIgKyB1cmxs
aWIucGFyc2UucXVvdGUoZmluYWxfcmVzb3VyY2UpLmVuY29kZSgnYXNjaWknKQogICAgIHJlZGly
ZWN0X3VybF9wYXRoICs9IGIiJnRhb192YWx1ZT0iICsgdGFvX3ZhbHVlCiAgICAgcmVkaXJlY3Rf
dXJsX3BhdGggKz0gYiImdGFvX3N0ZXBzPSIgKyBpc29tb3JwaGljX2VuY29kZShzdHIobmV4dF90
YW9fc3RlcHMpKQogICAgIHJlZGlyZWN0X3VybF9wYXRoICs9IGIiJnN0ZXA9IgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL29iamVjdC1yZWZyZXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvb2JqZWN0
LXJlZnJlc2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZTQzZTE5ZGUxOWZjN2MzNjRlNjhlMGIyNDE1OTYz
ZjU1ZTlkZGIyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL29iamVjdC1yZWZyZXNo
Lmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nIG9iamVjdCBy
ZWZyZXNoPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJuZXN0ZWQtY29udGV4dHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdD4KKyAgICBzZXR1cF9yZWZyZXNoX3Rlc3QoKTsKKzwvc2NyaXB0PgorPGRpdiBpZD1s
b2c+PC9kaXY+Cis8b2JqZWN0IHR5cGU9InRleHQvaHRtbCI+PC9vYmplY3Q+Cis8c2NyaXB0Pgor
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJvYmplY3QiKVswXS5kYXRhID0gcHJl
X3JlZnJlc2hfdXJsOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVkaXJl
Y3QtY29ycy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9yZWRpcmVjdC1jb3JzLnB5Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVh
NjdjYjhlN2FjNGU2MTA0NWQwNWFmNTFmMDY2ZGI0OGJmZGYxMDEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvcmVkaXJlY3QtY29ycy5weQpAQCAtMCwwICsxLDEwIEBACitkZWYgbWFp
bihyZXF1ZXN0LCByZXNwb25zZSk6CisgICAgbG9jYXRpb24gPSByZXF1ZXN0LkdFVC5maXJzdChi
ImxvY2F0aW9uIikKKyAgICByZXNwb25zZS5zdGF0dXMgPSAzMDIKKyAgICByZXNwb25zZS5oZWFk
ZXJzLnNldChiIkxvY2F0aW9uIiwgbG9jYXRpb24pCisKKyAgICBpZiBiImFsbG93X29yaWdpbiIg
aW4gcmVxdWVzdC5HRVQ6CisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNv
bnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5HRVQuZmlyc3QoYiJhbGxvd19vcmlnaW4iKSkK
KworICAgIGlmIGIidGltaW5nX2FsbG93X29yaWdpbiIgaW4gcmVxdWVzdC5HRVQ6CisgICAgICAg
IHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiVGltaW5nLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuR0VU
LmZpcnN0KGIidGltaW5nX2FsbG93X29yaWdpbiIpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vz
L3Jlc291cmNlLXRpbWluZy1jb250ZW50LWxlbmd0aC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9yZXNvdXJj
ZS10aW1pbmctY29udGVudC1sZW5ndGgucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmRiY2UwNDdiNzJlZjA1OTc2
ZDUyOTZlYTM4OTYxZTIwNWEwZjA0ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9y
ZXNvdXJjZS10aW1pbmctY29udGVudC1sZW5ndGgucHkKQEAgLTAsMCArMSwxOSBAQAorZGVmIG1h
aW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorICAgIGNvbnRlbnQgPSByZXF1ZXN0LkdFVC5maXJzdChi
ImNvbnRlbnQiKQorICAgIGxlbmd0aCA9IHJlcXVlc3QuR0VULmZpcnN0KGIibGVuZ3RoIikuZGVj
b2RlKCJhc2NpaSIpCisgICAgcmVzcG9uc2UuYWRkX3JlcXVpcmVkX2hlYWRlcnMgPSBGYWxzZQor
CisgICAgb3V0cHV0ID0gIGIiSFRUUC8xLjEgMjAwIE9LXHJcbiIKKyAgICBvdXRwdXQgKz0gYiJD
b250ZW50LVR5cGU6IHRleHQvcGxhaW47Y2hhcnNldD1VVEYtOFxyXG4iCisgICAgaWYgbGVuZ3Ro
ID09IGIiYXV0byIgOgorICAgICAgICBvdXRwdXQgKz0gYiJDb250ZW50LUxlbmd0aDoiCisgICAg
ICAgIG91dHB1dCArPSAiezB9Ii5mb3JtYXQobGVuKGNvbnRlbnQpKS5lbmNvZGUoImFzY2lpIikK
KyAgICAgICAgb3V0cHV0ICs9IGIiXHJcbiIKKyAgICBlbGlmIGxlbmd0aCAhPSBiIm5vbmUiIDoK
KyAgICAgICAgb3V0cHV0ICs9IGIiQ29udGVudC1MZW5ndGg6IgorICAgICAgICBvdXRwdXQgKz0g
InswfSIuZm9ybWF0KGxlbmd0aCkuZW5jb2RlKCJhc2NpaSIpCisgICAgICAgIG91dHB1dCArPSBi
IlxyXG4iCisgICAgb3V0cHV0ICs9IGIiXHJcbiIKKyAgICBvdXRwdXQgKz0gY29udGVudAorICAg
IHJlc3BvbnNlLndyaXRlci53cml0ZShvdXRwdXQpCisgICAgcmVzcG9uc2UuY2xvc2VfY29ubmVj
dGlvbiA9IFRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9yZXNvdXJjZV90aW1pbmdfdGVz
dDAueG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvcmVzb3VyY2VzL3Jlc291cmNlX3RpbWluZ190ZXN0MC54bWwKaW5kZXggYWRm
NjAxYzhhMTQ5YWI2M2Q0YWNiODI3MWFlOTI1YzYyOGM3NzU4Yi4uOTFjZDY3NmJlNmU2ZjFhZTJi
YWIzZGMxYTAwNTNkYTQ5MmI0MzUxNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3Jlc291cmNl
X3RpbWluZ190ZXN0MC54bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3Jlc291cmNlX3RpbWluZ190ZXN0
MC54bWwKQEAgLTEsNiArMSw2IEBACiA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08t
ODg1OS0xIj8+CiA8VEVTVERBVEE+CiAgICAgPElURU0+Ci0gICAgICAgIDxEQVRBPlRlc3QgWE1M
IERhdGE8L2RhdGE+Ci0gICAgPC9pdGVtPgotPC90ZXN0ZGF0YT4KKyAgICAgICAgPERBVEE+VGVz
dCBYTUwgRGF0YTwvREFUQT4KKyAgICA8L0lURU0+Cis8L1RFU1REQVRBPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VzL3NpemVzLWhlbHBlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9zaXplcy1oZWxwZXIu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODYzMzY2ODZiMzI5MDJlYzFjMTIzYjBmNTVmZjY3ZTlhYmE0MzA2Mgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9zaXplcy1oZWxwZXIuanMKQEAgLTAsMCAr
MSwxNiBAQAorLy8gSGVhZGVyIHNpemUgaXMgYSBmaXhlZCBjb25zdGFudC4KKy8vIGh0dHBzOi8v
dzNjLmdpdGh1Yi5pby9yZXNvdXJjZS10aW1pbmcvI2RvbS1wZXJmb3JtYW5jZXJlc291cmNldGlt
aW5nLXRyYW5zZmVyc2l6ZQorY29uc3QgaGVhZGVyU2l6ZSA9IDMwMDsKKworY29uc3QgY2FjaGVC
dXN0VXJsID0gdXJsID0+IHsKKyAgcmV0dXJuIHVybCArICcmdW5pcXVlPScgKyBNYXRoLnJhbmRv
bSgpLnRvU3RyaW5nKCkuc3Vic3RyaW5nKDIpOworfQorCitjb25zdCBjaGVja1NpemVGaWVsZHMg
PSAoZW50cnksIGJvZHlTaXplLCB0cmFuc2ZlclNpemUpID0+IHsKKyAgYXNzZXJ0X2VxdWFscyhl
bnRyeS5kZWNvZGVkQm9keVNpemUsIGJvZHlTaXplLAorICAgICAgICAgICAgICAgICdkZWNvZGVk
Qm9keVNpemUnKTsKKyAgYXNzZXJ0X2VxdWFscyhlbnRyeS5lbmNvZGVkQm9keVNpemUsIGJvZHlT
aXplLAorICAgICAgICAgICAgICAgICdlbmNvZGVkQm9keVNpemUnKTsKKyAgYXNzZXJ0X2VxdWFs
cyhlbnRyeS50cmFuc2ZlclNpemUsIHRyYW5zZmVyU2l6ZSwKKyAgICAgICAgICAgICAgICAndHJh
bnNmZXJTaXplJyk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvc3RhdHVzLWNvZGUucHkg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvc3RhdHVzLWNvZGUucHkKaW5kZXggOWJjMDJiZDM0Njc5ZWRkNjNmMDBk
YzQ2MTBjNDg1YjhkMTBjYTZkMy4uNzIyMjJiMzllNDg1NzRjNjY2MDUyYjJiYjRkNzAyOWZkNmJh
NTI2YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3N0YXR1cy1jb2RlLnB5CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlcy9zdGF0dXMtY29kZS5weQpAQCAtMSw0ICsxLDYgQEAKIGRlZiBtYWluKHJlcXVlc3Qs
IHJlc3BvbnNlKToKICAgICBzdGF0dXMgPSByZXF1ZXN0LkdFVC5maXJzdChiJ3N0YXR1cycpCiAg
ICAgcmVzcG9uc2Uuc3RhdHVzID0gKHN0YXR1cywgYiIiKTsKKyAgICBpZiBiJ3Rhb192YWx1ZScg
aW4gcmVxdWVzdC5HRVQ6CisgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiJ3RpbWluZy1hbGxv
dy1vcmlnaW4nLCByZXF1ZXN0LkdFVC5maXJzdChiJ3Rhb192YWx1ZScpKQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3dlYnBl
cmZ0ZXN0aGFybmVzcy5qcwppbmRleCA4ZTA0ZTUyZjljNTdmYWZiNmE1OTlkYTNhMTk2M2FhNmVk
NTQ1ZTZmLi44NjllZjNkNzRmNzdiNTg1ZTE0YWZjMDBhOGRjOTBiZTA5ZGI5NzBhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
cy93ZWJwZXJmdGVzdGhhcm5lc3MuanMKQEAgLTYyLDI2ICs2MiwyNiBAQCBmdW5jdGlvbiB0ZXN0
X25hbWVzcGFjZShjaGlsZF9uYW1lLCBza2lwX3Jvb3QpCiAgICAgaWYgKHNraXBfcm9vdCA9PT0g
dW5kZWZpbmVkKSB7CiAgICAgICAgIHZhciBtc2cgPSAnd2luZG93LnBlcmZvcm1hbmNlIGlzIGRl
ZmluZWQnOwogICAgICAgICAvLyBUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92
aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLgot
ICAgICAgICB3cF90ZXN0KGZ1bmN0aW9uICgpIHsgYXNzZXJ0X3RydWUocGVyZm9ybWFuY2VOYW1l
c3BhY2UgIT09IHVuZGVmaW5lZCwgbXNnKTsgfSwgbXNnKTsKKyAgICAgICAgd3BfdGVzdChmdW5j
dGlvbiAoKSB7IGFzc2VydF9ub3RfZXF1YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNlLCB1bmRlZmlu
ZWQsIG1zZyk7IH0sIG1zZyk7CiAgICAgfQogCiAgICAgaWYgKGNoaWxkX25hbWUgIT09IHVuZGVm
aW5lZCkgewogICAgICAgICB2YXIgbXNnMiA9ICd3aW5kb3cucGVyZm9ybWFuY2UuJyArIGNoaWxk
X25hbWUgKyAnIGlzIGRlZmluZWQnOwogICAgICAgICAvLyBUaGUgd2luZG93LnBlcmZvcm1hbmNl
IGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRl
ZCBhdHRyaWJ1dGVzLgotICAgICAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfdHJ1ZShw
ZXJmb3JtYW5jZU5hbWVzcGFjZVtjaGlsZF9uYW1lXSAhPT0gdW5kZWZpbmVkLCBtc2cyKTsgfSwg
bXNnMik7CisgICAgICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF9ub3RfZXF1YWxzKHBl
cmZvcm1hbmNlTmFtZXNwYWNlW2NoaWxkX25hbWVdLCB1bmRlZmluZWQsIG1zZzIpOyB9LCBtc2cy
KTsKICAgICB9CiB9CiAKIGZ1bmN0aW9uIHRlc3RfYXR0cmlidXRlX2V4aXN0cyhwYXJlbnRfbmFt
ZSwgYXR0cmlidXRlX25hbWUsIHByb3BlcnRpZXMpCiB7CiAgICAgdmFyIG1zZyA9ICd3aW5kb3cu
cGVyZm9ybWFuY2UuJyArIHBhcmVudF9uYW1lICsgJy4nICsgYXR0cmlidXRlX25hbWUgKyAnIGlz
IGRlZmluZWQuJzsKLSAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfdHJ1ZShwZXJmb3Jt
YW5jZU5hbWVzcGFjZVtwYXJlbnRfbmFtZV1bYXR0cmlidXRlX25hbWVdICE9PSB1bmRlZmluZWQs
IG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7CisgICAgd3BfdGVzdChmdW5jdGlvbigpIHsgYXNz
ZXJ0X25vdF9lcXVhbHMocGVyZm9ybWFuY2VOYW1lc3BhY2VbcGFyZW50X25hbWVdW2F0dHJpYnV0
ZV9uYW1lXSwgdW5kZWZpbmVkLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOwogfQogCiBmdW5j
dGlvbiB0ZXN0X2VudW0ocGFyZW50X25hbWUsIGVudW1fbmFtZSwgdmFsdWUsIHByb3BlcnRpZXMp
CiB7CiAgICAgdmFyIG1zZyA9ICd3aW5kb3cucGVyZm9ybWFuY2UuJyArIHBhcmVudF9uYW1lICsg
Jy4nICsgZW51bV9uYW1lICsgJyBpcyBkZWZpbmVkLic7Ci0gICAgd3BfdGVzdChmdW5jdGlvbigp
IHsgYXNzZXJ0X3RydWUocGVyZm9ybWFuY2VOYW1lc3BhY2VbcGFyZW50X25hbWVdW2VudW1fbmFt
ZV0gIT09IHVuZGVmaW5lZCwgbXNnKTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKKyAgICB3cF90ZXN0
KGZ1bmN0aW9uKCkgeyBhc3NlcnRfbm90X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZVtwYXJl
bnRfbmFtZV1bZW51bV9uYW1lXSwgdW5kZWZpbmVkLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMp
OwogCiAgICAgbXNnID0gJ3dpbmRvdy5wZXJmb3JtYW5jZS4nICsgcGFyZW50X25hbWUgKyAnLicg
KyBlbnVtX25hbWUgKyAnID0gJyArIHZhbHVlOwogICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFz
c2VydF9lcXVhbHMocGVyZm9ybWFuY2VOYW1lc3BhY2VbcGFyZW50X25hbWVdW2VudW1fbmFtZV0s
IHZhbHVlLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOwpAQCAtMTQ4LDcgKzE0OCw3IEBAIGZ1
bmN0aW9uIHRlc3RfZ3JlYXRlcl9vcl9lcXVhbHModmFsdWUsIGdyZWF0ZXJfdGhhbiwgbXNnLCBw
cm9wZXJ0aWVzKQogCiBmdW5jdGlvbiB0ZXN0X25vdF9lcXVhbHModmFsdWUsIG5vdGVxdWFscywg
bXNnLCBwcm9wZXJ0aWVzKQogewotICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF90cnVl
KHZhbHVlICE9PSBub3RlcXVhbHMsIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7CisgICAgd3Bf
dGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X25vdF9lcXVhbHModmFsdWUsIG5vdGVxdWFscywgbXNn
KTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKIH0KIAogZnVuY3Rpb24gdGVzdF90YW9fcGFzcyhlbnRy
eSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzc2V4dGVuc2lv
bi5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3NleHRlbnNpb24uanMKaW5kZXgg
OGJjNzRiZjgxMWU5MTZmM2E4MTFkNDZkZWUzNjMyYzk3MGMwNWJlNi4uZGMwMmMwNzViM2QwN2Y3
YzU3MTY0ZjBlYzI0YzMyYWRiNzZjMGRlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3dlYnBl
cmZ0ZXN0aGFybmVzc2V4dGVuc2lvbi5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvd2VicGVyZnRlc3Ro
YXJuZXNzZXh0ZW5zaW9uLmpzCkBAIC0xLDEyICsxLDYgQEAKLS8qCi1EaXN0cmlidXRlZCB1bmRl
ciBib3RoIHRoZSBXM0MgVGVzdCBTdWl0ZSBMaWNlbnNlIFsxXSBhbmQgdGhlIFczQwotMy1jbGF1
c2UgQlNEIExpY2Vuc2UgWzJdLiBUbyBjb250cmlidXRlIHRvIGEgVzNDIFRlc3QgU3VpdGUsIHNl
ZSB0aGUKLXBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgotCi1bMV0gaHR0cDov
L3d3dy53My5vcmcvQ29uc29ydGl1bS9MZWdhbC8yMDA4LzA0LXRlc3RzdWl0ZS1saWNlbnNlCi1b
Ml0gaHR0cDovL3d3dy53My5vcmcvQ29uc29ydGl1bS9MZWdhbC8yMDA4LzAzLWJzZC1saWNlbnNl
Ci1bM10gaHR0cDovL3d3dy53My5vcmcvMjAwNC8xMC8yNy10ZXN0Y2FzZXMKLSAqLworLy8KKy8v
IEhlbHBlciBmdW5jdGlvbnMgZm9yIFJlc291cmNlIFRpbWluZyB0ZXN0cworLy8KIAogdmFyIG1h
cmtfbmFtZXMgPSBbCiAgICAgJycsCkBAIC0yNyw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3RfbWV0
aG9kX2V4aXN0cyhtZXRob2QsIG1ldGhvZF9uYW1lLCBwcm9wZXJ0aWVzKQogICAgICAgICBtc2cg
PSAncGVyZm9ybWFuY2UuJyArIG1ldGhvZC5uYW1lICsgJyBpcyBzdXBwb3J0ZWQhJzsKICAgICBl
bHNlCiAgICAgICAgIG1zZyA9ICdwZXJmb3JtYW5jZS4nICsgbWV0aG9kX25hbWUgKyAnIGlzIHN1
cHBvcnRlZCEnOwotICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF90cnVlKHR5cGVvZiBt
ZXRob2QgPT09ICdmdW5jdGlvbicsIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7CisgICAgd3Bf
dGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X2VxdWFscyh0eXBlb2YgbWV0aG9kLCAnZnVuY3Rpb24n
LCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOwogfQogCiBmdW5jdGlvbiB0ZXN0X25vbGVzc190
aGFuKHZhbHVlLCBncmVhdGVyX3RoYW4sIG1zZywgcHJvcGVydGllcykKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3NhbWUtb3JpZ2luLWZyb20tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3NhbWUtb3JpZ2luLWZyb20tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMDVhNzZlZDljOTY3NDkxYTU0N2VhY2M3Y2UzZTY4ZjZkM2QxMzlkCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvc2FtZS1vcmlnaW4tZnJvbS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFZlcmlmeSB0aGF0IGNyb3NzIG9yaWdp
biByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIGV4cG9zZWQgd2hlbiB0aGUgZmluYWwgcmVzb3VyY2Ug
YXQgdGhlIGVuZCBvZiBhbiBIVFRQIHJlZGlyZWN0IGNoYWluIGlzIHNhbWUtb3JpZ2luLgorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9zYW1lLW9yaWdpbi1mcm9tLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvc2FtZS1vcmlnaW4tZnJvbS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44NzQwYjgxYjEzZmQ4YWE3YTI2OWExMGNmMmRkMzAyM2EwZmJjMmE1Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvc2FtZS1vcmlnaW4tZnJvbS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbApA
QCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5UaGlzIHRlc3QgdmFsaWRhdGVzIHJlc291cmNlIHRp
bWluZyBpbmZvcm1hdGlvbiBmb3IgYSBzYW1lLW9yaWdpbgorcmVzb3VyY2UgZmV0Y2hlZCB0aHJv
dWdoIGEgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0IGNoYWluLjwvdGl0bGU+Cis8bGluayByZWw9ImF1
dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cHM6Ly9nb29nbGUuY29tLyIgLz4KKzxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0y
LyNzZWMtcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhv
c3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJj
ZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnktaW52
YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citjb25zdCB7
SFRUUF9SRU1PVEVfT1JJR0lOfSA9IGdldF9ob3N0X2luZm8oKTsKK2xldCBkZXN0VXJsID0gYCR7
SFRUUF9SRU1PVEVfT1JJR0lOfS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRpX3JlZGly
ZWN0LnB5P2A7CitkZXN0VXJsICs9IGBwYWdlX29yaWdpbj1odHRwOi8vJHtkb2N1bWVudC5sb2Nh
dGlvbi5ob3N0fWA7CitkZXN0VXJsICs9IGAmY3Jvc3Nfb3JpZ2luPSR7SFRUUF9SRU1PVEVfT1JJ
R0lOfWA7CitkZXN0VXJsICs9IGAmZmluYWxfcmVzb3VyY2U9L3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZXMvYmxhbmstd2l0aC10YW8uaHRtbGA7CisKK2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLmlm
cmFtZSwgZGVzdFVybCwKKyAgaW52YXJpYW50cy5hc3NlcnRfc2FtZV9vcmlnaW5fcmVkaXJlY3Rl
ZF9mcm9tX2Nyb3NzX29yaWdpbl9yZXNvdXJjZSwKKyAgIlZlcmlmeSB0aGF0IGNyb3NzIG9yaWdp
biByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIGV4cG9zZWQgd2hlbiB0aGUgZmluYWwgIiArCisgICJy
ZXNvdXJjZSBhdCB0aGUgZW5kIG9mIGFuIEhUVFAgcmVkaXJlY3QgY2hhaW4gaXMgc2FtZS1vcmln
aW4uIik7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6
ZXMtY2FjaGUuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMtY2FjaGUuYW55LmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmNzBl
NWE2ZGVkM2U2M2QxNThmZDkyOWZlYWNmMDgyN2IzY2FmYzkKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9zaXplcy1jYWNoZS5hbnkuanMKQEAgLTAsMCArMSw1NSBAQAorLy8gTUVUQTogZ2xvYmFsPXdp
bmRvdyx3b3JrZXIKKy8vIE1FVEE6IHNjcmlwdD0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9z
aXplcy1oZWxwZXIuanMKKy8vIE1FVEE6IHNjcmlwdD0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
cy9yZXNvdXJjZS1sb2FkZXJzLmpzCisKK2xldCB1cmwgPSBuZXcgVVJMKAorICAnL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvY2FjaGVhYmxlLWFuZC12YWxpZGF0ZWQucHknICsKKyAgJz9jb250
ZW50PWxvcmVtaXBzdW1ibGFibGFibGEnLAorICBsb2NhdGlvbi5ocmVmKS5ocmVmOworY29uc3Qg
Ym9keVNpemUgPSAxOTsKKworY29uc3QgYWNjdW11bGF0ZUVudHJpZXMgPSAoKSA9PiB7CisgIHJl
dHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBjb25zdCBwbyA9IG5ldyBQZXJmb3Jt
YW5jZU9ic2VydmVyKGxpc3QgPT4geworICAgICAgcmVzb2x2ZShsaXN0KTsKKyAgICB9KTsKKyAg
ICBwby5vYnNlcnZlKHt0eXBlOiAicmVzb3VyY2UiLCBidWZmZXJlZDogdHJ1ZX0pOworICB9KTsK
K307CisKK2NvbnN0IGNoZWNrUmVzb3VyY2VTaXplcyA9IGxpc3QgPT4geworICBjb25zdCBlbnRy
aWVzID0gbGlzdC5nZXRFbnRyaWVzQnlOYW1lKHVybCk7CisgIGFzc2VydF9lcXVhbHMoZW50cmll
cy5sZW5ndGgsIDMsICdXcm9uZyBudW1iZXIgb2YgZW50cmllcycpOworICBsZXQgc2VlbkNvdW50
ID0gMDsKKyAgZm9yIChsZXQgZW50cnkgb2YgZW50cmllcykgeworICAgIGlmIChzZWVuQ291bnQg
PT09IDApIHsKKyAgICAgIC8vIDIwMCByZXNwb25zZQorICAgICAgY2hlY2tTaXplRmllbGRzKGVu
dHJ5LCBib2R5U2l6ZSwgYm9keVNpemUgKyBoZWFkZXJTaXplKTsKKyAgICB9IGVsc2UgaWYgKHNl
ZW5Db3VudCA9PT0gMSkgeworICAgICAgLy8gZnJvbSBjYWNoZQorICAgICAgY2hlY2tTaXplRmll
bGRzKGVudHJ5LCBib2R5U2l6ZSwgMCk7CisgICAgfSBlbHNlIGlmIChzZWVuQ291bnQgPT09IDIp
IHsKKyAgICAgIC8vIDMwNCByZXNwb25zZQorICAgICAgY2hlY2tTaXplRmllbGRzKGVudHJ5LCBi
b2R5U2l6ZSwgaGVhZGVyU2l6ZSk7CisgICAgfSBlbHNlIHsKKyAgICAgIGFzc2VydF91bnJlYWNo
ZWQoJ1RvbyBtYW55IG1hdGNoaW5nIGVudHJpZXMnKTsKKyAgICB9CisgICAgKytzZWVuQ291bnQ7
CisgIH0KK307CisKK3Byb21pc2VfdGVzdCgoKSA9PiB7CisgIC8vIFVzZSBhIGRpZmZlcmVudCBV
UkwgZXZlcnkgdGltZSBzbyB0aGF0IHRoZSBjYWNoZSBiZWhhdmlvdXIgZG9lcyBub3QKKyAgLy8g
ZGVwZW5kIG9uIGV4ZWN1dGlvbiBvcmRlci4KKyAgdXJsID0gbG9hZC5jYWNoZV9idXN0KHVybCk7
CisgIGNvbnN0IGVhdEJvZHkgPSByZXNwb25zZSA9PiByZXNwb25zZS5hcnJheUJ1ZmZlcigpOwor
ICBjb25zdCBtdXN0UmV2YWxpZGF0ZSA9IHtoZWFkZXJzOiB7J0NhY2hlLUNvbnRyb2wnOiAnbWF4
LWFnZT0wJ319OworICByZXR1cm4gZmV0Y2godXJsKQorICAgIC50aGVuKGVhdEJvZHkpCisgICAg
LnRoZW4oKCkgPT4gZmV0Y2godXJsKSkKKyAgICAudGhlbihlYXRCb2R5KQorICAgIC50aGVuKCgp
ID0+IGZldGNoKHVybCwgbXVzdFJldmFsaWRhdGUpKQorICAgIC50aGVuKGVhdEJvZHkpCisgICAg
LnRoZW4oYWNjdW11bGF0ZUVudHJpZXMpCisgICAgLnRoZW4oY2hlY2tSZXNvdXJjZVNpemVzKTsK
K30sICdQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIHNpemVzIGNhY2hpbmcgdGVzdCcpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3QtaW1nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLXJl
ZGlyZWN0LWltZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTkwMzIxOTYyMGFlNjVkMmFiODhj
YzIzMDhjZGViNDcxN2JlM2UyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLXJlZGlyZWN0
LWltZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACisKK1BBU1MgUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZyBzaXplcyByZWRpcmVjdCBpbWFnZSAtIGRpcmVjdCBVUkwKK1BBU1MgUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZyBzaXplcyByZWRpcmVjdCBpbWFnZSAtIHNhbWUgb3JpZ2luIHJl
ZGlyZWN0CitQQVNTIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgc2l6ZXMgcmVkaXJlY3QgaW1h
Z2UgLSBjcm9zcyBvcmlnaW4gcmVkaXJlY3QKK1BBU1MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
ZyBzaXplcyByZWRpcmVjdCBpbWFnZSAtIGNyb3NzIG9yaWdpbiB0byBzYW1lIG9yaWdpbiByZWRp
cmVjdAorUEFTUyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIHNpemVzIHJlZGlyZWN0IGltYWdl
IC0gc2FtZSBvcmlnaW4gdG8gcmVtb3RlIG9yaWdpbiB0byBzYW1lIG9yaWdpbiByZWRpcmVjdAor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC1pbWcuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLXJlZGly
ZWN0LWltZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc4NjAxOGQwYzQ2MzRjM2Q4YzZkZjJjNDAwM2IyMDFl
NmU0YmM0ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC1pbWcuaHRtbApA
QCAtMCwwICsxLDU3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0
LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2l6ZXMtaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVy
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFudHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKy8vIFJlZGlyZWN0cyBmb3IgZmV0Y2goKSBhbHdheXMg
YXBwbHkgQ09SUyBydWxlcywgd2hlcmVhcyBub3JtYWwgcmVzb3VyY2VzCisvLyBkb24ndCwgc28g
dGhpcyB0ZXN0IGNvdmVycyBleHRyYSBjb2RlIHBhdGhzIGJleW9uZCB0aG9zZSBjb3ZlcmVkIGJ5
CisvLyByZXNvdXJjZS10aW1pbmctc2l6ZXMtcmVkaXJlY3QuaHRtbC4KKworY29uc3QgYmFzZVVy
bCA9IG5ldyBVUkwoJy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL1RBT1Jlc3BvbnNlLnB5P3Rh
bz13aWxkY2FyZCZpbWc9dHJ1ZScsIGxvY2F0aW9uLmhyZWYpLmhyZWY7CisKK2NvbnN0IGV4cGVj
dGVkU2l6ZSA9IDEwMTA7CisKK2NvbnN0IGhvc3RJbmZvID0gZ2V0X2hvc3RfaW5mbygpOworCitj
b25zdCByZWRpcmVjdFVybCA9IChyZWRpcmVjdFNvdXJjZU9yaWdpbiwgdGFyZ2V0VXJsKSA9PiB7
CisgIHJldHVybiByZWRpcmVjdFNvdXJjZU9yaWdpbiArCisgICAgJy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL3JlZGlyZWN0LWNvcnMucHk/dGltaW5nX2FsbG93X29yaWdpbj0qJyArCisgICAg
JyZsb2NhdGlvbj0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHRhcmdldFVybCk7Cit9OworCitjb25z
dCB2ZXJpZnlfZW50cnkgPSBlbnRyeSA9PiB7CisgIGNoZWNrU2l6ZUZpZWxkcyhlbnRyeSwgZXhw
ZWN0ZWRTaXplLCBleHBlY3RlZFNpemUgKyBoZWFkZXJTaXplKTsKK307CisKK2F0dHJpYnV0ZV90
ZXN0KGxvYWQuaW1hZ2UsIGJhc2VVcmwsCisgIHZlcmlmeV9lbnRyeSwKKyAgIlBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcgc2l6ZXMgcmVkaXJlY3QgaW1hZ2UgLSBkaXJlY3QgVVJMIik7CisKK2F0
dHJpYnV0ZV90ZXN0KGxvYWQuaW1hZ2UsCisgIHJlZGlyZWN0VXJsKGhvc3RJbmZvLkhUVFBfT1JJ
R0lOLCBiYXNlVXJsKSwKKyAgdmVyaWZ5X2VudHJ5LAorICAiUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZyBzaXplcyByZWRpcmVjdCBpbWFnZSAtIHNhbWUgb3JpZ2luIHJlZGlyZWN0Iik7CisKK2F0
dHJpYnV0ZV90ZXN0KGxvYWQuaW1hZ2UsCisgIHJlZGlyZWN0VXJsKGhvc3RJbmZvLkhUVFBfUkVN
T1RFX09SSUdJTiwgYmFzZVVybCksCisgIHZlcmlmeV9lbnRyeSwKKyAgIlBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcgc2l6ZXMgcmVkaXJlY3QgaW1hZ2UgLSBjcm9zcyBvcmlnaW4gcmVkaXJlY3Qi
KTsKKworYXR0cmlidXRlX3Rlc3QobG9hZC5pbWFnZSwKKyAgcmVkaXJlY3RVcmwoaG9zdEluZm8u
SFRUUF9SRU1PVEVfT1JJR0lOLAorICAgIHJlZGlyZWN0VXJsKGhvc3RJbmZvLkhUVFBfT1JJR0lO
LCBiYXNlVXJsKSksCisgIHZlcmlmeV9lbnRyeSwKKyAgIlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcgc2l6ZXMgcmVkaXJlY3QgaW1hZ2UgLSBjcm9zcyBvcmlnaW4gdG8gc2FtZSBvcmlnaW4gcmVk
aXJlY3QiKTsKKworYXR0cmlidXRlX3Rlc3QobG9hZC5pbWFnZSwKKyAgcmVkaXJlY3RVcmwoaG9z
dEluZm8uSFRUUF9PUklHSU4sCisgICAgcmVkaXJlY3RVcmwoaG9zdEluZm8uSFRUUF9SRU1PVEVf
T1JJR0lOLAorICAgICAgcmVkaXJlY3RVcmwoaG9zdEluZm8uSFRUUF9PUklHSU4sCisgICAgICAg
IGJhc2VVcmwpKSksCisgIHZlcmlmeV9lbnRyeSwKKyAgIlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcgc2l6ZXMgcmVkaXJlY3QgaW1hZ2UgLSBzYW1lIG9yaWdpbiB0byByZW1vdGUgIiArCisgICJv
cmlnaW4gdG8gc2FtZSBvcmlnaW4gcmVkaXJlY3QiKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvc2l6ZXMtcmVkaXJlY3QuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3QuYW55LmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmU0ODNhNGQ0MDljNmMyZGVlZTczZmEyMTNkNjk4Yjk1Yjg2NWQwYzgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC5hbnkuanMKQEAgLTAsMCArMSw2MiBAQAorLy8g
TUVUQTogZ2xvYmFsPXdpbmRvdyx3b3JrZXIKKy8vIE1FVEE6IHNjcmlwdD0vY29tbW9uL2dldC1o
b3N0LWluZm8uc3ViLmpzCisvLyBNRVRBOiBzY3JpcHQ9L3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZXMvc2l6ZXMtaGVscGVyLmpzCisKK2NvbnN0IGJhc2VVcmwgPQorICBuZXcgVVJMKCcvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy9UQU9SZXNwb25zZS5weT90YW89d2lsZGNhcmQnLCBsb2NhdGlv
bi5ocmVmKS5ocmVmOworY29uc3QgZXhwZWN0ZWRTaXplID0gNDsKKworY29uc3QgaG9zdEluZm8g
PSBnZXRfaG9zdF9pbmZvKCk7CitwZXJmb3JtYW5jZS5jbGVhclJlc291cmNlVGltaW5ncygpOwor
Citjb25zdCBhY2N1bXVsYXRlRW50cnkgPSAoKSA9PiB7CisgIHJldHVybiBuZXcgUHJvbWlzZShy
ZXNvbHZlID0+IHsKKyAgICBjb25zdCBwbyA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGxpc3Qg
PT4geworICAgICAgcmVzb2x2ZShsaXN0KTsKKyAgICB9KTsKKyAgICBwby5vYnNlcnZlKHt0eXBl
OiAicmVzb3VyY2UiLCBidWZmZXJlZDogdHJ1ZX0pOworICB9KTsKK307CisKK2NvbnN0IGNoZWNr
UmVzb3VyY2VTaXplcyA9ICgpID0+IHsKKyAgY29uc3QgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdl
dEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7CisgIGZvciAobGV0IGVudHJ5IG9mIGVudHJpZXMp
IHsKKyAgICBjaGVja1NpemVGaWVsZHMoZW50cnksIGV4cGVjdGVkU2l6ZSwgZXhwZWN0ZWRTaXpl
ICsgaGVhZGVyU2l6ZSk7CisgIH0KK30KKworY29uc3QgcmVkaXJlY3RVcmwgPSAocmVkaXJlY3RT
b3VyY2VPcmlnaW4sIGFsbG93T3JpZ2luLCB0YXJnZXRVcmwpID0+IHsKKyAgcmV0dXJuIHJlZGly
ZWN0U291cmNlT3JpZ2luICsKKyAgICAnL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVkaXJl
Y3QtY29ycy5weT9hbGxvd19vcmlnaW49JyArCisgICAgZW5jb2RlVVJJQ29tcG9uZW50KGFsbG93
T3JpZ2luKSArCisgICAgJyZ0aW1pbmdfYWxsb3dfb3JpZ2luPSonICsKKyAgICAnJmxvY2F0aW9u
PScgKyBlbmNvZGVVUklDb21wb25lbnQodGFyZ2V0VXJsKTsKK30KKworcHJvbWlzZV90ZXN0KCgp
ID0+IHsKKyAgLy8gVXNlIGEgZGlmZmVyZW50IFVSTCBldmVyeSB0aW1lIHNvIHRoYXQgdGhlIGNh
Y2hlIGJlaGF2aW91ciBkb2VzIG5vdAorICAvLyBkZXBlbmQgb24gZXhlY3V0aW9uIG9yZGVyLgor
ICBjb25zdCBkaXJlY3RVcmwgPSBjYWNoZUJ1c3RVcmwoYmFzZVVybCk7CisgIGNvbnN0IHNhbWVP
cmlnaW5SZWRpcmVjdCA9IHJlZGlyZWN0VXJsKGhvc3RJbmZvLk9SSUdJTiwgJyonLCBkaXJlY3RV
cmwpOworICBjb25zdCBjcm9zc09yaWdpblJlZGlyZWN0ID0gcmVkaXJlY3RVcmwoaG9zdEluZm8u
UkVNT1RFX09SSUdJTiwKKyAgICBob3N0SW5mby5PUklHSU4sIGRpcmVjdFVybCk7CisgIGNvbnN0
IG1peGVkUmVkaXJlY3QgPSByZWRpcmVjdFVybChob3N0SW5mby5SRU1PVEVfT1JJR0lOLAorICAg
IGhvc3RJbmZvLk9SSUdJTiwgc2FtZU9yaWdpblJlZGlyZWN0KTsKKyAgY29uc3QgY29tcGxleFJl
ZGlyZWN0ID0gcmVkaXJlY3RVcmwoaG9zdEluZm8uT1JJR0lOLAorICAgIGhvc3RJbmZvLlJFTU9U
RV9PUklHSU4sIG1peGVkUmVkaXJlY3QpOworICBsZXQgZWF0Qm9keSA9IHJlc3BvbnNlID0+IHJl
c3BvbnNlLmFycmF5QnVmZmVyKCk7CisgIHJldHVybiBmZXRjaChkaXJlY3RVcmwpCisgICAgLnRo
ZW4oZWF0Qm9keSkKKyAgICAudGhlbigoKSA9PiBmZXRjaChzYW1lT3JpZ2luUmVkaXJlY3QpKQor
ICAgIC50aGVuKGVhdEJvZHkpCisgICAgLnRoZW4oKCkgPT4gZmV0Y2goY3Jvc3NPcmlnaW5SZWRp
cmVjdCkpCisgICAgLnRoZW4oZWF0Qm9keSkKKyAgICAudGhlbigoKSA9PiBmZXRjaChtaXhlZFJl
ZGlyZWN0KSkKKyAgICAudGhlbihlYXRCb2R5KQorICAgIC50aGVuKCgpID0+IGZldGNoKGNvbXBs
ZXhSZWRpcmVjdCkpCisgICAgLnRoZW4oZWF0Qm9keSkKKyAgICAudGhlbihhY2N1bXVsYXRlRW50
cnkpCisgICAgLnRoZW4oY2hlY2tSZXNvdXJjZVNpemVzKTsKK30sICdQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nIHNpemVzIEZldGNoIHdpdGggcmVkaXJlY3QgdGVzdCcpOworCitkb25lKCk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9zdGF0dXMtY29kZXMtY3JlYXRlLWVudHJ5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zdGF0dXMt
Y29kZXMtY3JlYXRlLWVudHJ5Lmh0bWwKaW5kZXggYzMxNTA1YTQ1MmRhNmI2YWYxNDZmZWJjZDE1
Y2E2MmZmMTg2YTc2Ny4uY2MwY2Q4Y2NiODgyNTAzMzExODZjMzg1NTRiMDlmZjg1MTVjYWNlZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvc3RhdHVzLWNvZGVzLWNyZWF0ZS1lbnRyeS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3N0
YXR1cy1jb2Rlcy1jcmVhdGUtZW50cnkuaHRtbApAQCAtMTgsMTMgKzE4LDE3IEBAIGFzeW5jX3Rl
c3QodCA9PiB7CiAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgdC5zdGVwX2Z1bmNf
ZG9uZSgoKSA9PiB7CiAgICAgY29uc3QgaW1hZ2VzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRh
Z05hbWUoImltZyIpOwogICAgIGZvciAobGV0IGltZyBvZiBpbWFnZXMpIHsKLSAgICAgIGFzc2Vy
dF9ncmVhdGVyX3RoYW4ocGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZShpbWcuc3JjKS5sZW5n
dGgsIDAsIGltZy5zcmMpOworICAgICAgY29uc3QgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVu
dHJpZXNCeU5hbWUoaW1nLnNyYyk7CisgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKGVudHJpZXMu
bGVuZ3RoLCAwLCBpbWcuc3JjKTsKKyAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oZW50cmllc1sw
XS5kdXJhdGlvbiwgMCwgaW1nLnNyYyk7CiAgICAgfQogICAgIGNvbnN0IHNjcmlwdHMgPSBkb2N1
bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0Iik7CiAgICAgbGV0IG5vU3JjU2NyaXB0
Rm91bmQgPSBmYWxzZTsKICAgICBmb3IgKGxldCBzY3JpcHQgb2Ygc2NyaXB0cykgewogICAgICAg
aWYgKHNjcmlwdC5zcmMpIHsKLSAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihwZXJmb3JtYW5j
ZS5nZXRFbnRyaWVzQnlOYW1lKHNjcmlwdC5zcmMpLmxlbmd0aCwgMCwgc2NyaXB0LnNyYyk7Cisg
ICAgICAgIGNvbnN0IGVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKHNjcmlw
dC5zcmMpOworICAgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKGVudHJpZXMubGVuZ3RoLCAwLCBz
Y3JpcHQuc3JjKTsKKyAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihlbnRyaWVzWzBdLmR1cmF0
aW9uLCAwLCBzY3JpcHQuc3JjKTsKICAgICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIElnbm9yZSB0
aGlzIHNjcmlwdCwgd2hpY2ggaGFzIG5vIHNyYyB2YWx1ZS4gVGhlcmUgc2hvdWxkIG9ubHkgYmUg
b25lIHN1Y2ggc2NyaXB0LgogICAgICAgICBhc3NlcnRfZmFsc2Uobm9TcmNTY3JpcHRGb3VuZCk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy90ZXN0X3Jlc291cmNlX3RpbWluZy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy90
ZXN0X3Jlc291cmNlX3RpbWluZy1leHBlY3RlZC50eHQKaW5kZXggMjAwNDhhNThjYmZhYzI5Zjgx
ZjA0OWQ4NjhlMjY0NGE0ZTAwMzM3OS4uZDZjYzExZDE0MzNhNWY0NWFkOGYzZTMzZjA3YTc5ZGQ2
NmZlOTM2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90aW1pbmctZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Rlc3RfcmVzb3VyY2VfdGltaW5nLWV4cGVjdGVkLnR4dApAQCAtNiwyOCArNiwy
OCBAQCBOT1RFOiBEdWUgdG8gY2FjaGluZyBiZWhhdmlvciBpbiB0aGUgYnJvd3NlciwgaXQgaXMg
cG9zc2libGUgdGhhdCB3aGVuIHJldmlzaXRpbgogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0
RW50cmllc0J5TmFtZSgpIGFuZCB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZVR5
cGUoKSByZXR1cm4gc2FtZSBkYXRhIChpZnJhbWUpCiBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFz
IGNvcnJlY3QgbmFtZSwgaW5pdGlhdG9yVHlwZSwgc3RhcnRUaW1lLCBhbmQgZHVyYXRpb24gKGlm
cmFtZSkKIFBBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBvcmRlciBvZiB0aW1pbmcg
YXR0cmlidXRlcyAoaWZyYW1lKQotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5l
dHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAoaWZyYW1lKSBhc3NlcnRfZXF1YWxzOiBlbmNvZGVk
Qm9keVNpemUgc2l6ZSBleHBlY3RlZCAobnVtYmVyKSAyMTUgYnV0IGdvdCAodW5kZWZpbmVkKSB1
bmRlZmluZWQKLUZBSUwgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBwcm90b2NvbCBhdHRy
aWJ1dGUgKGlmcmFtZSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgcHJvdG9jb2wgZXhwZWN0ZWQg
KHN0cmluZykgImh0dHAvMS4xIiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorUEFTUyBQ
ZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAo
aWZyYW1lKQorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0dHJp
YnV0ZSAoaWZyYW1lKQogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgp
IGFuZCB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZVR5cGUoKSByZXR1cm4gc2Ft
ZSBkYXRhIChpbWcpCiBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmFtZSwgaW5p
dGlhdG9yVHlwZSwgc3RhcnRUaW1lLCBhbmQgZHVyYXRpb24gKGltZykKIFBBU1MgUGVyZm9ybWFu
Y2VFbnRyeSBoYXMgY29ycmVjdCBvcmRlciBvZiB0aW1pbmcgYXR0cmlidXRlcyAoaW1nKQotRkFJ
TCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRl
cyAoaW1nKSBhc3NlcnRfZXF1YWxzOiBlbmNvZGVkQm9keVNpemUgc2l6ZSBleHBlY3RlZCAobnVt
YmVyKSAyNDkgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgUGVyZm9ybWFuY2VF
bnRyeSBoYXMgY29ycmVjdCBwcm90b2NvbCBhdHRyaWJ1dGUgKGltZykgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgcHJvdG9jb2wgZXhwZWN0ZWQgKHN0cmluZykgImh0dHAvMS4xIiBidXQgZ290ICh1
bmRlZmluZWQpIHVuZGVmaW5lZAorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5l
dHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAoaW1nKQorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhh
cyBjb3JyZWN0IHByb3RvY29sIGF0dHJpYnV0ZSAoaW1nKQogUEFTUyB3aW5kb3cucGVyZm9ybWFu
Y2UuZ2V0RW50cmllc0J5TmFtZSgpIGFuZCB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5
TmFtZVR5cGUoKSByZXR1cm4gc2FtZSBkYXRhIChsaW5rKQogUEFTUyBQZXJmb3JtYW5jZUVudHJ5
IGhhcyBjb3JyZWN0IG5hbWUsIGluaXRpYXRvclR5cGUsIHN0YXJ0VGltZSwgYW5kIGR1cmF0aW9u
IChsaW5rKQogUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG9yZGVyIG9mIHRpbWlu
ZyBhdHRyaWJ1dGVzIChsaW5rKQotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5l
dHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAobGluaykgYXNzZXJ0X2VxdWFsczogZW5jb2RlZEJv
ZHlTaXplIHNpemUgZXhwZWN0ZWQgKG51bWJlcikgNDQgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRl
ZmluZWQKLUZBSUwgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBwcm90b2NvbCBhdHRyaWJ1
dGUgKGxpbmspIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIHByb3RvY29sIGV4cGVjdGVkIChzdHJp
bmcpICJodHRwLzEuMSIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKK1BBU1MgUGVyZm9y
bWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuZXR3b3JrIHRyYW5zZmVyIGF0dHJpYnV0ZXMgKGxpbmsp
CitQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgcHJvdG9jb2wgYXR0cmlidXRlIChs
aW5rKQogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgpIGFuZCB3aW5k
b3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZVR5cGUoKSByZXR1cm4gc2FtZSBkYXRhIChz
Y3JpcHQpCiBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmFtZSwgaW5pdGlhdG9y
VHlwZSwgc3RhcnRUaW1lLCBhbmQgZHVyYXRpb24gKHNjcmlwdCkKIFBBU1MgUGVyZm9ybWFuY2VF
bnRyeSBoYXMgY29ycmVjdCBvcmRlciBvZiB0aW1pbmcgYXR0cmlidXRlcyAoc2NyaXB0KQotRkFJ
TCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRl
cyAoc2NyaXB0KSBhc3NlcnRfZXF1YWxzOiBlbmNvZGVkQm9keVNpemUgc2l6ZSBleHBlY3RlZCAo
bnVtYmVyKSAxMzMgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgUGVyZm9ybWFu
Y2VFbnRyeSBoYXMgY29ycmVjdCBwcm90b2NvbCBhdHRyaWJ1dGUgKHNjcmlwdCkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgcHJvdG9jb2wgZXhwZWN0ZWQgKHN0cmluZykgImh0dHAvMS4xIiBidXQg
Z290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3Jy
ZWN0IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAoc2NyaXB0KQorUEFTUyBQZXJmb3JtYW5j
ZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0dHJpYnV0ZSAoc2NyaXB0KQogUEFTUyB3aW5k
b3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgpIGFuZCB3aW5kb3cucGVyZm9ybWFuY2Uu
Z2V0RW50cmllc0J5TmFtZVR5cGUoKSByZXR1cm4gc2FtZSBkYXRhICh4bWxodHRwcmVxdWVzdCkK
IFBBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuYW1lLCBpbml0aWF0b3JUeXBlLCBz
dGFydFRpbWUsIGFuZCBkdXJhdGlvbiAoeG1saHR0cHJlcXVlc3QpCiBQQVNTIFBlcmZvcm1hbmNl
RW50cnkgaGFzIGNvcnJlY3Qgb3JkZXIgb2YgdGltaW5nIGF0dHJpYnV0ZXMgKHhtbGh0dHByZXF1
ZXN0KQotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdvcmsgdHJhbnNmZXIg
YXR0cmlidXRlcyAoeG1saHR0cHJlcXVlc3QpIGFzc2VydF9lcXVhbHM6IGVuY29kZWRCb2R5U2l6
ZSBzaXplIGV4cGVjdGVkIChudW1iZXIpIDExMiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5l
ZAotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0dHJpYnV0ZSAo
eG1saHR0cHJlcXVlc3QpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIHByb3RvY29sIGV4cGVjdGVk
IChzdHJpbmcpICJodHRwLzEuMSIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKK1BBU1Mg
UGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuZXR3b3JrIHRyYW5zZmVyIGF0dHJpYnV0ZXMg
KHhtbGh0dHByZXF1ZXN0KQorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IHByb3Rv
Y29sIGF0dHJpYnV0ZSAoeG1saHR0cHJlcXVlc3QpCiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBS
ZXNvdXJjZSBUaW1pbmcgRW50cmllcyBleGlzdAogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgUmVz
b3VyY2UgVGltaW5nIEVudHJpZXMgZXhpc3QgMQogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgUmVz
b3VyY2UgVGltaW5nIEVudHJpZXMgZXhpc3QgMgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJj
ZV90aW1pbmcuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90aW1pbmcuaHR0
cHMtZXhwZWN0ZWQudHh0CmluZGV4IGNlYTBmMWNiMmFhYjllY2U0OTJlZjNiZGY0Mzc0MTIyZDU1
Mjk3NDAuLmQ2Y2MxMWQxNDMzYTVmNDVhZDhmM2UzM2YwN2E3OWRkNjZmZTkzNmIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL3Rlc3RfcmVzb3VyY2VfdGltaW5nLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy90
ZXN0X3Jlc291cmNlX3RpbWluZy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTI2LDcgKzI2LDcgQEAg
UEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0dHJpYnV0ZSAoc2Ny
aXB0KQogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgpIGFuZCB3aW5k
b3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZVR5cGUoKSByZXR1cm4gc2FtZSBkYXRhICh4
bWxodHRwcmVxdWVzdCkKIFBBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuYW1lLCBp
bml0aWF0b3JUeXBlLCBzdGFydFRpbWUsIGFuZCBkdXJhdGlvbiAoeG1saHR0cHJlcXVlc3QpCiBQ
QVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3Qgb3JkZXIgb2YgdGltaW5nIGF0dHJpYnV0
ZXMgKHhtbGh0dHByZXF1ZXN0KQotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5l
dHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAoeG1saHR0cHJlcXVlc3QpIGFzc2VydF9lcXVhbHM6
IGVuY29kZWRCb2R5U2l6ZSBzaXplIGV4cGVjdGVkIDExMiBidXQgZ290IDEyMAorUEFTUyBQZXJm
b3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAoeG1s
aHR0cHJlcXVlc3QpCiBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgcHJvdG9jb2wg
YXR0cmlidXRlICh4bWxodHRwcmVxdWVzdCkKIFBBU1Mgd2luZG93LnBlcmZvcm1hbmNlIFJlc291
cmNlIFRpbWluZyBFbnRyaWVzIGV4aXN0CiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBSZXNvdXJj
ZSBUaW1pbmcgRW50cmllcyBleGlzdCAxCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy93b3JrZXJTdGFydC10YW8t
cHJvdGVjdGVkLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy93b3JrZXJTdGFydC10YW8tcHJvdGVjdGVkLmh0dHBz
Lmh0bWwKaW5kZXggZjliNTBmNzAzNjBkZDZlMDk5MDhiYzJkODFkZmYxMzczNWFhZDIzNi4uNDg1
NmY0NjdmMTZmNmUzODIxZDQ4ZWE3NTQyZDE1NGIzZGU1M2JkNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvd29y
a2VyU3RhcnQtdGFvLXByb3RlY3RlZC5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3dvcmtlclN0YXJ0LXRh
by1wcm90ZWN0ZWQuaHR0cHMuaHRtbApAQCAtNDAsNyArNDAsNyBAQCBwcm9taXNlX3Rlc3QodCA9
PiB7CiAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihsaXN0ID0+
IHsKICAgICAgIGNvbnN0IGVudHJpZXMgPSBsaXN0LmdldEVudHJpZXMoKTsKICAgICAgIGZvciAo
ZW50cnkgb2YgZW50cmllcykgewotICAgICAgICBpZiAoZW50cnkubmFtZS5pbmNsdWRlcygiYmxh
bmtfcGFnZV9ncmVlbi5odG0iKSkgeworICAgICAgICBpZiAoZW50cnkubmFtZS5pbmNsdWRlcygi
Z3JlZW4uaHRtbCIpKSB7CiAgICAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOwogICAgICAg
ICAgIC8vIE9ic2VydmUgaXRzIHBlcmZvcm1hbmNlIGVudHJ5IHRvIG1ha2Ugc3VyZSB3b3JrZXJT
dGFydCBpcyB6ZXJvCiAgICAgICAgICAgaWYgKGVudHJ5LndvcmtlclN0YXJ0ICE9IDApIHsKQEAg
LTUxLDcgKzUxLDcgQEAgcHJvbWlzZV90ZXN0KHQgPT4gewogICAgICAgfQogICAgIH0pOwogICAg
IG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsicmVzb3VyY2UiXX0pOwotICAgIGFkZEZy
YW1lKGhvc3RfaW5mby5IVFRQU19SRU1PVEVfT1JJR0lOICsgIi9yZXNvdXJjZS10aW1pbmcvcmVz
b3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRtIik7CisgICAgYWRkRnJhbWUoaG9zdF9pbmZvLkhU
VFBTX1JFTU9URV9PUklHSU4gKyAiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4uaHRt
bCIpOwogICB9KTsKIH0sICJBZGQgVEFPLWxlc3MgaWZyYW1lIHRvIHJlbW90ZSBvcmlnaW4uIE1h
a2Ugc3VyZSB3b3JrZXJTdGFydCBpcyB6ZXJvIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9uYXZpZ2F0
aW9uLXRpbWluZy9uYXYyX3Rlc3RfYXR0cmlidXRlc192YWx1ZXMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L25hdmlnYXRpb24tdGltaW5nL25hdjJfdGVzdF9hdHRyaWJ1dGVzX3ZhbHVlcy1leHBlY3RlZC50
eHQKaW5kZXggOTk4ZDRlZDNjZTE4NGM2OGQzMzE4NjEzZjhkMjBmZTI3MmQ1MmUzOS4uOWUxYmE0
ZmYwMTFhNmRhYTBhMGI0YzM4MDI4ZWFlODMxZjg1ZDlkZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL25hdmln
YXRpb24tdGltaW5nL25hdjJfdGVzdF9hdHRyaWJ1dGVzX3ZhbHVlcy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL25hdmlnYXRpb24tdGltaW5nL25hdjJfdGVzdF9hdHRyaWJ1dGVzX3ZhbHVlcy1leHBl
Y3RlZC50eHQKQEAgLTMsNSArMyw1IEBAIERlc2NyaXB0aW9uCiBUaGlzIHRlc3QgdmFsaWRhdGVz
IHRoYXQgdGhlIHZhbHVlcyBvZiBuYXYgdGltaW5nIDIgaW5zdGFuY2UncyB0aW1pbmctcmVsYXRl
ZCBhdHRyaWJ1dGVzIGFyZSBpbiBjZXJ0YWluIG9yZGVyIGFuZCB0aGUgb3RoZXJzIGFyZSBvZiBl
eHBlY3RlZCB2YWx1ZXMuCiAKIAotRkFJTCBQZXJmb3JtYW5jZSBuYXZpZ2F0aW9uIHRpbWluZyBp
bnN0YW5jZSdzIHZhbHVlIGlzIHJlYXNvbmFibGUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJo
dHRwLzEuMSIgYnV0IGdvdCAiIgorRkFJTCBQZXJmb3JtYW5jZSBuYXZpZ2F0aW9uIHRpbWluZyBp
bnN0YW5jZSdzIHZhbHVlIGlzIHJlYXNvbmFibGUuIGFzc2VydF9ncmVhdGVyX3RoYW46IEV4cGVj
dGVkIGRvbUludGVyYWN0aXZlIHRvIGJlIGdyZWF0ZXIgdGhhbiAwIGV4cGVjdGVkIGEgbnVtYmVy
IGdyZWF0ZXIgdGhhbiAwIGJ1dCBnb3QgMAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3JlZGlyZWN0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sx
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3JlZGlyZWN0
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDFlYjU0NjFkMzQwYTNmMGMyZTgyMjc1NDBmMWFk
MWIwOWFhNTJiMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVkaXJl
Y3RzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRl
c3QgdmFsaWRhdGVzIHRoYXQsIHdoZW4gYSBmZXRjaGluZyByZXNvdXJjZXMgdGhhdCBlbmNvdW50
ZXIgc2FtZS1vcmlnaW4gcmVkaXJlY3RzLCBhdHRyaWJ1dGVzIG9mIHRoZSBQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nIGVudHJ5IGNvbmZvcm0gdG8gdGhlIHNwZWNpZmljYXRpb24uCisKKworUEFT
UyBWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgc3R5bGVzaGVldCdzIFBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcKK1BBU1MgVmVyaWZ5IGF0dHJpYnV0ZXMgb2YgYSByZWRpcmVjdGVk
IGltYWdlJ3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZworUEFTUyBWZXJpZnkgYXR0cmlidXRl
cyBvZiBhIHJlZGlyZWN0ZWQgaWZyYW1lJ3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZworUEFT
UyBWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgc2NyaXB0J3MgUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZworRkFJTCBWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgc3lu
Y2hyb25vdXMgWE1MSHR0cFJlcXVlc3QncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGFzc2Vy
dF9ncmVhdGVyX3RoYW46IHJlZGlyZWN0U3RhcnQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiAwIGV4
cGVjdGVkIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiAwIGJ1dCBnb3QgMAorRkFJTCBWZXJpZnkgYXR0
cmlidXRlcyBvZiBhIHN5bmNocm9ub3VzIFhNTEh0dHBSZXF1ZXN0J3MgUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZyB3aGVyZSB0aGUgaW5pdGlhbCBIVFRQIHJlcXVlc3QgaXMgcmVkaXJlY3RlZCB0
byBhIGNyb3NzLW9yaWdpbiBIVFRQUyByZXNvdXJjZS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTmV0d29ya0Vycm9yOiAgQSBuZXR3b3JrIGVy
cm9yIG9jY3VycmVkLiIKKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430893</attachid>
            <date>2021-06-08 14:43:41 -0700</date>
            <delta_ts>2021-06-08 17:57:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226678-20210608144340.patch</filename>
            <type>text/plain</type>
            <size>251444</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NDc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTVhMGRiNTc5YmRmYzM2
NmMwMzY3ZmVjZGRlZWVmNzc1YWU5NDM3YS4uNzY1YTg4MTJiMDUyMWM5ZGFmY2VlNTkxYTk1YzE1
MDk5NmZlZTk1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMCBAQAorMjAyMS0wNi0wNCAgQWxl
eCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUg
VGltaW5nLUFsbG93LU9yaWdpbiBjaGVja3MgdG8gdGhlIG5ldHdvcmsgcHJvY2VzcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2Njc4CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS80NTIyNzc4OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXZSB0cmllZCBoYXJkIHRvIGRvIGl0IGluIHRoZSB3ZWIgcHJv
Y2VzcyBieSBrZWVwaW5nIHRyYWNrIG9mIHdoZXRoZXIgdGhlIGxhc3QgcmVkaXJlY3Qgd2FzIGNy
b3NzLW9yaWdpbgorICAgICAgICBhbmQgY2hlY2tpbmcgdGhlIGZpbmFsIHJlc3BvbnNlIGFuZCBv
cmlnaW5hbCBzZWN1cml0eSBvcmlnaW4uICBXZSBnb3QgbWFueSB0ZXN0cyB0byBwYXNzLCBidXQg
dG8gZ2V0IHRoZSByZXN0CisgICAgICAgIGFuZCBiZSBjb3JyZWN0LCB3ZSBuZWVkIHRvIGNoZWNr
IHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRlciBmaWVsZCBvZiBlYWNoIHJlZGlyZWN0IGFn
YWluc3QgdGhlIG9yaWdpbmFsIHNlY3VyaXR5IG9yaWdpbi4KKworICAgICAgICBUZXN0czogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU08tWE8tU08tcmVk
aXJlY3QtY2hhaW4tdGFvLmh0dHBzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1tYXRjaC5odG1sCisgICAgICAg
ICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9U
QU8tbnVsbC1vcGFxdWUtb3JpZ2luLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5z
LWNyb3Nzb3JpZ2luLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29u
bmVjdGlvbi1yZXVzZS5odHRwcy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhcnQtZW5kLXRp
bWUtd2l0aC1yZWRpcmVjdHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC1v
cGVuZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvZW50cnktYXR0cmlidXRlcy5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mZXRjaC1jcm9z
cy1vcmlnaW4tcmVkaXJlY3QuaHR0cHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZm9udC10aW1lc3RhbXBzLmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2lmcmFtZS1mYWlsZWQtY29tbWl0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2luaXRpYXRvci10eXBlLWZv
ci1zY3JpcHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvbmV4dEhvcFByb3RvY29sLWlzLXRhby1wcm90ZWN0ZWQuaHR0
cHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1UQU8tY3Jvc3Mtb3JpZ2luLXJl
ZGlyZWN0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItY3Jvc3Mtb3JpZ2luLXJl
ZGlyZWN0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3JlZGlyZWN0cy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25vcmUt
ZGF0YS11cmwuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfY2FjaGVkLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
X3RpbWluZ19jb250ZW50X2xlbmd0aC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zYW1lLW9yaWdpbi1mcm9tLWNyb3Nz
LW9yaWdpbi1yZWRpcmVjdC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC1pbWcuaHRtbAorCisg
ICAgICAgICogSGVhZGVycy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogbG9hZGVyL1Jl
c291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjpzdGFy
dCk6CisgICAgICAgIEdldCBhIFNlY3VyaXR5T3JpZ2luIGZvciBvdXIgV2ViS2l0TGVnYWN5IFJl
c291cmNlSGFuZGxlIHVzZSBsaWtlIHdlIGRvIGluIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVs
ZUxvYWRGcm9tTmV0d29ya1Byb2Nlc3MKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VUaW1pbmcu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VUaW1pbmc6OlJlc291cmNlVGltaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlVGltaW5nOjppbml0U2VydmVyVGltaW5nKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlVGltaW5nOjppc29sYXRlZENvcHkgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6cGFzc2VzVGltaW5nQWxsb3dDaGVjayk6IERlbGV0ZWQuCisgICAgICAg
ICogbG9hZGVyL1Jlc291cmNlVGltaW5nLmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVRp
bWluZzo6bmV0d29ya0xvYWRNZXRyaWNzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlVGltaW5nOjpSZXNvdXJjZVRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVRp
bWluZzo6YWxsb3dUaW1pbmdEZXRhaWxzIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKCk6IERl
bGV0ZWQuCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpyZWRpcmVjdENvdW50IGNvbnN0KToK
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmc6OnNhbWVPcmlnaW5DaGVja0Zh
aWxzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWlu
Zzo6cmVkaXJlY3RDb3VudCBjb25zdCk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmVudHJ5U3RhcnRUaW1lKToKKyAgICAg
ICAgKFdlYkNvcmU6OmVudHJ5RW5kVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlZGlyZWN0RW5kIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmRvbWFpbkxvb2t1cFN0YXJ0IGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmRvbWFp
bkxvb2t1cEVuZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nOjpjb25uZWN0U3RhcnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdEVuZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpzZWN1cmVDb25uZWN0aW9uU3RhcnQgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVxdWVzdFN0YXJ0
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJl
c3BvbnNlU3RhcnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZzo6dHJhbnNmZXJTaXplIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmc6OmVuY29kZWRCb2R5U2l6ZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkZWNvZGVkQm9keVNpemUgY29uc3QpOgor
ICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VUaW1pbmc6OnVubG9hZEV2ZW50U3RhcnQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OnVubG9hZEV2ZW50RW5kIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0IGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpyZWRpcmVjdEVuZCBjb25zdCk6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VIYW5kbGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6QmxvYlJlc291cmNlSGFuZGxlOjpCbG9iUmVzb3VyY2VIYW5kbGUpOgorICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmg6CisgICAgICAgIChXZWJD
b3JlOjpOZXR3b3JrTG9hZE1ldHJpY3M6Omlzb2xhdGVkQ29weSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJpY3M6Om9wZXJhdG9yPT0gY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TmV0d29ya0xvYWRNZXRyaWNzOjpkZWNvZGUpOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5k
bGU6OlJlc291cmNlSGFuZGxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmxvYWRSZXNvdXJjZVN5
bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmlzQ3Jvc3NP
cmlnaW5XaXRob3V0VEFPIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxl
OjptYXJrQXNDcm9zc09yaWdpbldpdGhvdXRUQU8pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3Vy
Y2VIYW5kbGU6OnNvdXJjZU9yaWdpbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZUhhbmRsZTo6aGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6c2V0SGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCk6IERl
bGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGVJbnRlcm5hbDo6UmVzb3VyY2VIYW5kbGVJbnRlcm5h
bCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5jcHA6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6cGFzc2VzVGltaW5nQWxsb3dPcmlnaW5DaGVjayk6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5oOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtMb2FkTWV0cmljcy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OnBhY2thZ2VUaW1pbmdEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OmNv
cHlUaW1pbmdEYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhh
bmRsZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpwbGF0Zm9ybUxv
YWRSZXNvdXJjZVN5bmNocm9ub3VzbHkpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFj
L1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5tbToKKyAgICAg
ICAgKC1bV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlIGNvbm5l
Y3Rpb246d2lsbFNlbmRSZXF1ZXN0OnJlZGlyZWN0UmVzcG9uc2U6XSk6CisgICAgICAgICgtW1dl
YkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSBjb25uZWN0aW9uOmRp
ZFJlY2VpdmVSZXNwb25zZTpdKToKKwogMjAyMS0wNi0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFj
aHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEltcGxlbWVudCBvZmYtYnktZGVmYXVs
dCBleHBlcmltZW50YWwgZmVhdHVyZSBmb3IgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy50cmFu
c2ZlclNpemUsIGVuY29kZWRCb2R5U2l6ZSwgYW5kIGRlY29kZWRCb2R5U2l6ZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCAyYzdkZmFjZGJmY2M3OWVlYjdmZDc3N2ZmZGUyOWNjZTUwYzE5NDRmLi4yMWVjYTllMzZkZWY2
OGU4YTllMThmOGIyZGY5YjY0MDBiYmQ4NjczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisy
MDIxLTA2LTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgTW92ZSBUaW1pbmctQWxsb3ctT3JpZ2luIGNoZWNrcyB0byB0aGUgbmV0d29yayBw
cm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjY2NzgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ1MjI3Nzg4PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29y
a0xvYWRQYXJhbWV0ZXJzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZFBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVz
b3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpzZW5kUmVwbHlUb1N5bmNocm9ub3Vz
UmVxdWVzdCk6CisgICAgICAgIFBhc3MgY29tcGxldGUgbWV0cmljcyB3aXRoIHN5bmMgeGhyIHJl
c3BvbnNlcy4gIE1hbnkgb2YgdGhlIHRlc3RzIHVzZSBzeW5jIHhoci4KKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRGYWlsTG9hZGluZyk6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkUmV0cmlldmVDYWNoZUVudHJ5KToKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5oOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6TmV0d29ya0RhdGFUYXNrQ29jb2Ep
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6d2lsbFBlcmZvcm1IVFRQ
UmVkaXJlY3Rpb24pOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNz
aW9uQ29jb2EubW06CisgICAgICAgICgtW1dLTmV0d29ya1Nlc3Npb25EZWxlZ2F0ZSBVUkxTZXNz
aW9uOnRhc2s6d2lsbFBlcmZvcm1IVFRQUmVkaXJlY3Rpb246bmV3UmVxdWVzdDpjb21wbGV0aW9u
SGFuZGxlcjpdKToKKyAgICAgICAgKC1bV0tOZXR3b3JrU2Vzc2lvbkRlbGVnYXRlIFVSTFNlc3Np
b246ZGF0YVRhc2s6ZGlkUmVjZWl2ZVJlc3BvbnNlOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorCiAy
MDIxLTA2LTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgSW1wbGVtZW50IG9mZi1ieS1kZWZhdWx0IGV4cGVyaW1lbnRhbCBmZWF0dXJlIGZv
ciBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLnRyYW5zZmVyU2l6ZSwgZW5jb2RlZEJvZHlTaXpl
LCBhbmQgZGVjb2RlZEJvZHlTaXplCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCmluZGV4IGVkMTUzNWJkMDli
ZDQzOWU3Y2NiNDVlYzhmZDRiNTgzNTkwNDQ1ZjcuLmRmYTJiM2NiN2Y3OGU3ZTAzZWQ1NjI1N2M4
NmE5ZTgzMWYyZGU3NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MjEtMDYtMDQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKwor
ICAgICAgICBNb3ZlIFRpbWluZy1BbGxvdy1PcmlnaW4gY2hlY2tzIHRvIHRoZSBuZXR3b3JrIHBy
b2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NjY3OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDUyMjc3ODg+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QaW5nSGFu
ZGxlLmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVy
LmNwcDoKKyAgICAgICAgKFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjo6bG9hZFJlc291cmNlU3lu
Y2hyb25vdXNseSk6CisKIDIwMjEtMDUtMzAgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29t
PgogCiAgICAgICAgIFJlbW92ZSBzb21lIG9mIHRoZSB1bm5lZWRlZCBXZWJLaXRMZWdhY3kgV2lu
ZG93cy1zcGVjaWZpYyBwbHVnLWluIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hl
YWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IDU1NDZjNGQz
ZTYzNmYzNjYwOWM0MTg5MDg4MmY0MTZjN2EwZWFhMTcuLjdiOTNlYzhhYzNkNGI3NzZmNDYxNTVh
MTI4MTIyYWYxZTdiOGZkN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21h
a2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMTQ4Miw2ICsxNDgyLDcg
QEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIHBsYXRmb3JtL25l
dHdvcmsvU3RvcmFnZVNlc3Npb25Qcm92aWRlci5oCiAgICAgcGxhdGZvcm0vbmV0d29yay9TdG9y
ZWRDcmVkZW50aWFsc1BvbGljeS5oCiAgICAgcGxhdGZvcm0vbmV0d29yay9TeW5jaHJvbm91c0xv
YWRlckNsaWVudC5oCisgICAgcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5oCiAK
ICAgICBwbGF0Zm9ybS9zcWwvU1FMVmFsdWUuaAogICAgIHBsYXRmb3JtL3NxbC9TUUxpdGVEYXRh
YmFzZS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IGI0YTMwMzRkZDZjOTQwM2EzMTA4MDNmYzhkZDVjNDAw
ZGM3Yzc4ZTUuLjNmYWI0NTM3MWU3ZjljMzE1ZWY5Yzg0YWE1ZTg1NTExZTU4ZTEyMWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CkBAIC0yMTkxLDYgKzIxOTEsNyBAQCBwbGF0Zm9ybS9uZXR3b3JrL1NhbWVTaXRl
SW5mby5jcHAKIHBsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFtSGFuZGxlLmNwcAogcGxhdGZv
cm0vbmV0d29yay9Tb2NrZXRTdHJlYW1IYW5kbGVJbXBsLmNwcAogcGxhdGZvcm0vbmV0d29yay9T
eW5jaHJvbm91c0xvYWRlckNsaWVudC5jcHAKK3BsYXRmb3JtL25ldHdvcmsvVGltaW5nQWxsb3dP
cmlnaW4uY3BwCiBwbGF0Zm9ybS9zcWwvU1FMaXRlQXV0aG9yaXplci5jcHAKIHBsYXRmb3JtL3Nx
bC9TUUxpdGVEYXRhYmFzZS5jcHAKIHBsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZVRyYWNrZXIu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggNDZmMjY4Mjg0OGIwZTU5NzYyNzE1YWMyMDJiNTE1ZTRmMzMzNDEzZC4uMzMwZTk3
NmVmNmM4NjVkNDdhZDE5ODI1NTQ4ZTFmYWFjMzU1NmEzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTk5Nyw2ICsxOTk3LDcg
QEAKIAkJNUNCMzdGRkYxQzYyRDJBMTAwRjIwMTg4IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNCMzdGRkQxQzYy
RDI3ODAwRjIwMTg4IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5oICovOyB9OwogCQk1Q0JDOERBRDFB
QUEzMDIyMDBFMUM4MDMgLyogTWVkaWFBY2Nlc3NpYmlsaXR5U29mdExpbmsuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQkM4REFCMUFBQTMwMjIwMEUx
QzgwMyAvKiBNZWRpYUFjY2Vzc2liaWxpdHlTb2Z0TGluay5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTVDQkQ1OTU5MjI4MEU5MjYwMDJCMjJBQSAv
KiBDdXN0b21IZWFkZXJGaWVsZHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNUM1RDIzODYyMjdBMDc3QzAwMEI5QkRBIC8qIEN1c3RvbUhlYWRlckZp
ZWxkcy5jcHAgKi87IH07CisJCTVDQzc5MDBFMjY2QUZBODkwMDY5MjRGRSAvKiBUaW1pbmdBbGxv
d09yaWdpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NUNDNzkwMEIyNjZBRkE4ODAwNjkyNEZFIC8qIFRpbWluZ0FsbG93T3JpZ2luLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNUNDQzI3MDkyMkQ1NDgz
QTAwOTY0RkEwIC8qIEF1dG9maWxsRWxlbWVudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQ0MyNzA2MjJENTNCNjgwMDk2NEZBMCAvKiBBdXRvZmls
bEVsZW1lbnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNUNEOUY1NjYxQUEwRjczQzAwREE0NUZGIC8qIERGQUJ5dGVjb2RlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1QzM5MzA1RDFBQTBGNkE5MDAy
OUM4MTYgLyogREZBQnl0ZWNvZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk1Q0Q5RjU2NzFBQTBGNzQyMDBEQTQ1RkYgLyogREZBQnl0ZWNvZGVD
b21waWxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NUMzOTMwNUYxQUEwRjZBOTAwMjlDODE2IC8qIERGQUJ5dGVjb2RlQ29tcGlsZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTcwOCw2ICs5NzA5
LDggQEAKIAkJNUNCMzdGRkQxQzYyRDI3ODAwRjIwMTg4IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxBbmltYXRvck1vY2suaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNCQzhEQUExQUFBMzAyMjAwRTFDODAzIC8q
IE1lZGlhQWNjZXNzaWJpbGl0eVNvZnRMaW5rLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IE1lZGlhQWNjZXNzaWJpbGl0eVNvZnRMaW5rLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNUNCQzhEQUIxQUFBMzAyMjAwRTFDODAzIC8qIE1lZGlhQWNjZXNz
aWJpbGl0eVNvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlh
QWNjZXNzaWJpbGl0eVNvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVD
Qzc5MDBCMjY2QUZBODgwMDY5MjRGRSAvKiBUaW1pbmdBbGxvd09yaWdpbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBUaW1pbmdBbGxvd09yaWdpbi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1Q0M3OTAwRDI2NkFGQTg5MDA2OTI0RkUgLyogVGltaW5nQWxsb3dP
cmlnaW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGltaW5nQWxs
b3dPcmlnaW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0NDMjcwNjIyRDUz
QjY4MDA5NjRGQTAgLyogQXV0b2ZpbGxFbGVtZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBBdXRvZmlsbEVsZW1lbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTVDQ0MyNzA3MjJENTNCNjkwMDk2NEZBMCAvKiBBdXRvZmlsbEVsZW1lbnRzLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEF1dG9maWxsRWxlbWVudHMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0RDRERCRjIzRDdCN0JFMDBCQTM0QTEgLyog
Q29udGVudEZpbHRlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
b250ZW50RmlsdGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjIx
OSw2ICsyMjIyMiw4IEBACiAJCQkJNDY4MkQxRkYxRjc5NzgyMzAwQzg2M0RCIC8qIFN0b3JlZENy
ZWRlbnRpYWxzUG9saWN5LmggKi8sCiAJCQkJRTE4MDgxMTAxNkZDRjQyRTAwQjgwRDA3IC8qIFN5
bmNocm9ub3VzTG9hZGVyQ2xpZW50LmNwcCAqLywKIAkJCQlFMTgwODExNTE2RkNGOUNCMDBCODBE
MDcgLyogU3luY2hyb25vdXNMb2FkZXJDbGllbnQuaCAqLywKKwkJCQk1Q0M3OTAwRDI2NkFGQTg5
MDA2OTI0RkUgLyogVGltaW5nQWxsb3dPcmlnaW4uY3BwICovLAorCQkJCTVDQzc5MDBCMjY2QUZB
ODgwMDY5MjRGRSAvKiBUaW1pbmdBbGxvd09yaWdpbi5oICovLAogCQkJKTsKIAkJCXBhdGggPSBu
ZXR3b3JrOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTM1NzU3LDYgKzM1NzYyLDcg
QEAKIAkJCQk5MzA1QjI0RDA5OEYxQjZCMDBDMjg4NTUgLyogVGltZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCUU0NDYxM0IwMENENjMzMTAwMEZBREE3NSAvKiBUaW1lUmFuZ2VzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkyRDdFRDBBQjFCQUU5OTE3MDA0M0IzRTUgLyogVGltZXJFdmVudEJhc2VkTW9j
ay5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUNDNzkwMEUyNjZBRkE4OTAwNjkyNEZFIC8qIFRpbWlu
Z0FsbG93T3JpZ2luLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5MTJBRTBFRkFDOTA2MDA5RDBD
QUYgLyogVGltaW5nRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNTRERDA4MTg4MUQ1
RjUwMDNFRURCQiAvKiBUb3VjaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzFCN0VFMEQyMUI1QzY4
NzAwMzFDMUVGIC8qIFRvdWNoQWN0aW9uLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDUzNTM5ZmI2N2RlMWY1ZjE2Mjg0MjlkYjNm
MWFiMmY1M2NlZGQ2NzIuLjUwYmFmOWFiZTg1OWQ5OGQ0YTRkZmVmMTNlMjdkZDNkMzE4NjU5ZTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcApAQCAtNTEsNiArNTEs
NyBAQAogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmln
aW4uaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKKyNpbmNsdWRlICJTdWJyZXNvdXJjZUxv
YWRlci5oIgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0
Zi9SZWYuaD4KIApAQCAtMjQxLDcgKzI0MiwxNSBAQCB2b2lkIFJlc291cmNlTG9hZGVyOjpzdGFy
dCgpCiAgICAgfQogI2VuZGlmCiAKLSAgICBtX2hhbmRsZSA9IFJlc291cmNlSGFuZGxlOjpjcmVh
dGUoZnJhbWVMb2FkZXIoKS0+bmV0d29ya2luZ0NvbnRleHQoKSwgbV9yZXF1ZXN0LCB0aGlzLCBt
X2RlZmVyc0xvYWRpbmcsIG1fb3B0aW9ucy5zbmlmZkNvbnRlbnQgPT0gQ29udGVudFNuaWZmaW5n
UG9saWN5OjpTbmlmZkNvbnRlbnQsIG1fb3B0aW9ucy5zbmlmZkNvbnRlbnRFbmNvZGluZyA9PSBD
b250ZW50RW5jb2RpbmdTbmlmZmluZ1BvbGljeTo6U25pZmYpOworICAgIFJlZlB0cjxTZWN1cml0
eU9yaWdpbj4gc291cmNlT3JpZ2luID0gaXM8U3VicmVzb3VyY2VMb2FkZXI+KCp0aGlzKSA/IGRv
d25jYXN0PFN1YnJlc291cmNlTG9hZGVyPigqdGhpcykub3JpZ2luKCkgOiBudWxscHRyOworICAg
IGlmICghc291cmNlT3JpZ2luICYmIGZyYW1lTG9hZGVyKCkpIHsKKyAgICAgICAgYXV0byogZG9j
dW1lbnQgPSBmcmFtZUxvYWRlcigpLT5mcmFtZSgpLmRvY3VtZW50KCk7CisgICAgICAgIHNvdXJj
ZU9yaWdpbiA9ICBkb2N1bWVudCA/ICZkb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKSA6IG51bGxw
dHI7CisgICAgfQorCisgICAgYm9vbCBpc01haW5GcmFtZU5hdmlnYXRpb24gPSBmcmFtZSgpICYm
IGZyYW1lKCktPmlzTWFpbkZyYW1lKCkgJiYgb3B0aW9ucygpLm1vZGUgPT0gRmV0Y2hPcHRpb25z
OjpNb2RlOjpOYXZpZ2F0ZTsKKworICAgIG1faGFuZGxlID0gUmVzb3VyY2VIYW5kbGU6OmNyZWF0
ZShmcmFtZUxvYWRlcigpLT5uZXR3b3JraW5nQ29udGV4dCgpLCBtX3JlcXVlc3QsIHRoaXMsIG1f
ZGVmZXJzTG9hZGluZywgbV9vcHRpb25zLnNuaWZmQ29udGVudCA9PSBDb250ZW50U25pZmZpbmdQ
b2xpY3k6OlNuaWZmQ29udGVudCwgbV9vcHRpb25zLnNuaWZmQ29udGVudEVuY29kaW5nID09IENv
bnRlbnRFbmNvZGluZ1NuaWZmaW5nUG9saWN5OjpTbmlmZiwgV1RGTW92ZShzb3VyY2VPcmlnaW4p
LCBpc01haW5GcmFtZU5hdmlnYXRpb24pOwogfQogCiB2b2lkIFJlc291cmNlTG9hZGVyOjpzZXRE
ZWZlcnNMb2FkaW5nKGJvb2wgZGVmZXJzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Jlc291cmNlVGltaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZVRp
bWluZy5jcHAKaW5kZXggNDk4ZTMzMjc0YmY5Yjk4MmM5ZTk4NTJjZTkyN2JlY2Y0YTI4M2EwNS4u
NDY5MGZhM2FkMzJlN2ZkMDM2N2Q1MzEyYTFhMGM1MGE4OGNkNTMzMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VUaW1pbmcuY3BwCkBAIC0zNSwyOCArMzUsNiBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBib29sIHBhc3Nlc1RpbWluZ0FsbG93Q2hlY2soY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiBpbml0aWF0
b3JTZWN1cml0eU9yaWdpbikKLXsKLSAgICBSZWY8U2VjdXJpdHlPcmlnaW4+IHJlc291cmNlT3Jp
Z2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZShyZXNwb25zZS51cmwoKSk7Ci0gICAgaWYgKHJl
c291cmNlT3JpZ2luLT5pc1NhbWVTY2hlbWVIb3N0UG9ydChpbml0aWF0b3JTZWN1cml0eU9yaWdp
bikpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgY29uc3QgU3RyaW5nJiB0aW1pbmdBbGxv
d09yaWdpblN0cmluZyA9IHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6
VGltaW5nQWxsb3dPcmlnaW4pOwotICAgIGlmICh0aW1pbmdBbGxvd09yaWdpblN0cmluZy5pc0Vt
cHR5KCkgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UodGltaW5nQWxsb3dPcmlnaW5T
dHJpbmcsICJudWxsIikpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICh0aW1pbmdB
bGxvd09yaWdpblN0cmluZyA9PSAiKiIpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgY29u
c3QgU3RyaW5nJiBzZWN1cml0eU9yaWdpbiA9IGluaXRpYXRvclNlY3VyaXR5T3JpZ2luLnRvU3Ry
aW5nKCk7Ci0gICAgZm9yIChhdXRvJiBvcmlnaW4gOiB0aW1pbmdBbGxvd09yaWdpblN0cmluZy5z
cGxpdCgnLCcpKSB7Ci0gICAgICAgIGlmIChvcmlnaW4uc3RyaXBXaGl0ZVNwYWNlKCkgPT0gc2Vj
dXJpdHlPcmlnaW4pCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0KLSAgICByZXR1
cm4gZmFsc2U7Ci19Ci0KIFJlc291cmNlVGltaW5nIFJlc291cmNlVGltaW5nOjpmcm9tTWVtb3J5
Q2FjaGUoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgaW5pdGlhdG9yLCBjb25zdCBSZXNv
dXJjZUxvYWRUaW1pbmcmIGxvYWRUaW1pbmcsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3Bv
bnNlLCBjb25zdCBTZWN1cml0eU9yaWdpbiYgc2VjdXJpdHlPcmlnaW4pCiB7CiAgICAgcmV0dXJu
IFJlc291cmNlVGltaW5nKHVybCwgaW5pdGlhdG9yLCBsb2FkVGltaW5nLCByZXNwb25zZSwgc2Vj
dXJpdHlPcmlnaW4pOwpAQCAtNzIsMjggKzUwLDI2IEBAIFJlc291cmNlVGltaW5nIFJlc291cmNl
VGltaW5nOjpmcm9tU3luY2hyb25vdXNMb2FkKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcm
CiAgICAgcmV0dXJuIFJlc291cmNlVGltaW5nKHVybCwgaW5pdGlhdG9yLCBsb2FkVGltaW5nLCBu
ZXR3b3JrTG9hZE1ldHJpY3MsIHJlc3BvbnNlLCBzZWN1cml0eU9yaWdpbik7CiB9CiAKLVJlc291
cmNlVGltaW5nOjpSZXNvdXJjZVRpbWluZyhjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBp
bml0aWF0b3IsIGNvbnN0IFJlc291cmNlTG9hZFRpbWluZyYgbG9hZFRpbWluZywgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiBzZWN1cml0eU9y
aWdpbikKK1Jlc291cmNlVGltaW5nOjpSZXNvdXJjZVRpbWluZyhjb25zdCBVUkwmIHVybCwgY29u
c3QgU3RyaW5nJiBpbml0aWF0b3IsIGNvbnN0IFJlc291cmNlTG9hZFRpbWluZyYgbG9hZFRpbWlu
ZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFNlY3VyaXR5T3JpZ2lu
JikKICAgICA6IG1fdXJsKHVybCkKICAgICAsIG1faW5pdGlhdG9yKGluaXRpYXRvcikKICAgICAs
IG1fcmVzb3VyY2VMb2FkVGltaW5nKGxvYWRUaW1pbmcpCi0gICAgLCBtX2FsbG93VGltaW5nRGV0
YWlscyhwYXNzZXNUaW1pbmdBbGxvd0NoZWNrKHJlc3BvbnNlLCBzZWN1cml0eU9yaWdpbikpCiB7
CiAgICAgaW5pdFNlcnZlclRpbWluZyhyZXNwb25zZSk7CiB9CiAKLVJlc291cmNlVGltaW5nOjpS
ZXNvdXJjZVRpbWluZyhjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBpbml0aWF0b3IsIGNv
bnN0IFJlc291cmNlTG9hZFRpbWluZyYgdGltaW5nLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3Mm
IG5ldHdvcmtMb2FkTWV0cmljcywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNv
bnN0IFNlY3VyaXR5T3JpZ2luJiBzZWN1cml0eU9yaWdpbikKK1Jlc291cmNlVGltaW5nOjpSZXNv
dXJjZVRpbWluZyhjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBpbml0aWF0b3IsIGNvbnN0
IFJlc291cmNlTG9hZFRpbWluZyYgdGltaW5nLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG5l
dHdvcmtMb2FkTWV0cmljcywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0
IFNlY3VyaXR5T3JpZ2luJikKICAgICA6IG1fdXJsKHVybCkKICAgICAsIG1faW5pdGlhdG9yKGlu
aXRpYXRvcikKICAgICAsIG1fcmVzb3VyY2VMb2FkVGltaW5nKHRpbWluZykKICAgICAsIG1fbmV0
d29ya0xvYWRNZXRyaWNzKG5ldHdvcmtMb2FkTWV0cmljcykKLSAgICAsIG1fYWxsb3dUaW1pbmdE
ZXRhaWxzKHBhc3Nlc1RpbWluZ0FsbG93Q2hlY2socmVzcG9uc2UsIHNlY3VyaXR5T3JpZ2luKSkK
IHsKICAgICBpbml0U2VydmVyVGltaW5nKHJlc3BvbnNlKTsKIH0KIAogdm9pZCBSZXNvdXJjZVRp
bWluZzo6aW5pdFNlcnZlclRpbWluZyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkK
IHsKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXJ2
ZXJUaW1pbmdFbmFibGVkKCkgJiYgbV9hbGxvd1RpbWluZ0RldGFpbHMpCisgICAgaWYgKFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2VydmVyVGltaW5nRW5hYmxlZCgp
ICYmICFtX25ldHdvcmtMb2FkTWV0cmljcy5mYWlsc1RBT0NoZWNrKQogICAgICAgICBtX3NlcnZl
clRpbWluZyA9IFNlcnZlclRpbWluZ1BhcnNlcjo6cGFyc2VTZXJ2ZXJUaW1pbmcocmVzcG9uc2Uu
aHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpTZXJ2ZXJUaW1pbmcpKTsKIH0KIApAQCAt
MTExLDcgKzg3LDYgQEAgUmVzb3VyY2VUaW1pbmcgUmVzb3VyY2VUaW1pbmc6Omlzb2xhdGVkQ29w
eSgpIGNvbnN0CiAgICAgICAgIG1faW5pdGlhdG9yLmlzb2xhdGVkQ29weSgpLAogICAgICAgICBt
X3Jlc291cmNlTG9hZFRpbWluZy5pc29sYXRlZENvcHkoKSwKICAgICAgICAgbV9uZXR3b3JrTG9h
ZE1ldHJpY3MuaXNvbGF0ZWRDb3B5KCksCi0gICAgICAgIG1fYWxsb3dUaW1pbmdEZXRhaWxzLAog
ICAgICAgICBjcm9zc1RocmVhZENvcHkobV9zZXJ2ZXJUaW1pbmcpCiAgICAgKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZVRpbWluZy5oIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nLmgKaW5kZXggZDNiMmI5YjM5ODQ1ZjBhZDY3NjJj
MzI4ZTA2MjlkZWZmYmI4MjcyNi4uYWNiYWZiZDg1YmEyNWQ1NDkwYjE4YTVhN2NmNTYzYmRmMWZh
NjI0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nLmgKQEAgLTQ5LDcgKzQ5
LDYgQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgaW5pdGlhdG9yKCkgY29uc3QgeyByZXR1
cm4gbV9pbml0aWF0b3I7IH0KICAgICBjb25zdCBSZXNvdXJjZUxvYWRUaW1pbmcmIHJlc291cmNl
TG9hZFRpbWluZygpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb3VyY2VMb2FkVGltaW5nOyB9CiAgICAg
Y29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJiBuZXR3b3JrTG9hZE1ldHJpY3MoKSBjb25zdCB7IHJl
dHVybiBtX25ldHdvcmtMb2FkTWV0cmljczsgfQotICAgIGJvb2wgYWxsb3dUaW1pbmdEZXRhaWxz
KCkgY29uc3QgeyByZXR1cm4gbV9hbGxvd1RpbWluZ0RldGFpbHM7IH0KICAgICBWZWN0b3I8UmVm
PFBlcmZvcm1hbmNlU2VydmVyVGltaW5nPj4gcG9wdWxhdGVTZXJ2ZXJUaW1pbmcoKSBjb25zdDsK
ICAgICBSZXNvdXJjZVRpbWluZyBpc29sYXRlZENvcHkoKSBjb25zdDsKIApAQCAtNTgsMTIgKzU3
LDExIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgUmVzb3VyY2VUaW1pbmcoY29uc3QgVVJMJiwg
Y29uc3QgU3RyaW5nJiBpbml0aWF0b3IsIGNvbnN0IFJlc291cmNlTG9hZFRpbWluZyYsIGNvbnN0
IE5ldHdvcmtMb2FkTWV0cmljcyYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBTZWN1
cml0eU9yaWdpbiYpOwogICAgIFJlc291cmNlVGltaW5nKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmlu
ZyYgaW5pdGlhdG9yLCBjb25zdCBSZXNvdXJjZUxvYWRUaW1pbmcmLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiwgY29uc3QgU2VjdXJpdHlPcmlnaW4mKTsKLSAgICBSZXNvdXJjZVRpbWluZyhVUkwm
JiB1cmwsIFN0cmluZyYmIGluaXRpYXRvciwgY29uc3QgUmVzb3VyY2VMb2FkVGltaW5nJiByZXNv
dXJjZUxvYWRUaW1pbmcsIE5ldHdvcmtMb2FkTWV0cmljcyYmIG5ldHdvcmtMb2FkTWV0cmljcywg
Ym9vbCBhbGxvd1RpbWluZ0RldGFpbHMsIFZlY3RvcjxTZXJ2ZXJUaW1pbmc+JiYgc2VydmVyVGlt
aW5nKQorICAgIFJlc291cmNlVGltaW5nKFVSTCYmIHVybCwgU3RyaW5nJiYgaW5pdGlhdG9yLCBj
b25zdCBSZXNvdXJjZUxvYWRUaW1pbmcmIHJlc291cmNlTG9hZFRpbWluZywgTmV0d29ya0xvYWRN
ZXRyaWNzJiYgbmV0d29ya0xvYWRNZXRyaWNzLCBWZWN0b3I8U2VydmVyVGltaW5nPiYmIHNlcnZl
clRpbWluZykKICAgICAgICAgOiBtX3VybChXVEZNb3ZlKHVybCkpCiAgICAgICAgICwgbV9pbml0
aWF0b3IoV1RGTW92ZShpbml0aWF0b3IpKQogICAgICAgICAsIG1fcmVzb3VyY2VMb2FkVGltaW5n
KHJlc291cmNlTG9hZFRpbWluZykKICAgICAgICAgLCBtX25ldHdvcmtMb2FkTWV0cmljcyhXVEZN
b3ZlKG5ldHdvcmtMb2FkTWV0cmljcykpCi0gICAgICAgICwgbV9hbGxvd1RpbWluZ0RldGFpbHMo
YWxsb3dUaW1pbmdEZXRhaWxzKQogICAgICAgICAsIG1fc2VydmVyVGltaW5nKFdURk1vdmUoc2Vy
dmVyVGltaW5nKSkKICAgICB7CiAgICAgfQpAQCAtNzMsNyArNzEsNiBAQCBwcml2YXRlOgogICAg
IFN0cmluZyBtX2luaXRpYXRvcjsKICAgICBSZXNvdXJjZUxvYWRUaW1pbmcgbV9yZXNvdXJjZUxv
YWRUaW1pbmc7CiAgICAgTmV0d29ya0xvYWRNZXRyaWNzIG1fbmV0d29ya0xvYWRNZXRyaWNzOwot
ICAgIGJvb2wgbV9hbGxvd1RpbWluZ0RldGFpbHMgeyBmYWxzZSB9OwogICAgIFZlY3RvcjxTZXJ2
ZXJUaW1pbmc+IG1fc2VydmVyVGltaW5nOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwCmluZGV4IDBjYzczZmRmODYzYzQyMWM1ZGFhZGEyZjI1
YmNhMjU0YThlOTZlOGEuLjM0YmY5NzdkNjA0ZTUyMGNiNzkxNzM3MTI2ODMwMjI5OTBkNDkzYjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAKQEAg
LTc4LDcgKzc4LDcgQEAgdW5zaWduZWQgc2hvcnQgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpyZWRp
cmVjdENvdW50KCkgY29uc3QKICAgICBpZiAoIW1ldHJpY3MpCiAgICAgICAgIHJldHVybiAwOwog
Ci0gICAgaWYgKG1ldHJpY3MtPmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QpCisgICAgaWYgKG1ldHJp
Y3MtPmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgcmV0dXJuIG1ldHJp
Y3MtPnJlZGlyZWN0Q291bnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlTmF2aWdhdGlvblRpbWluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlTmF2aWdhdGlvblRpbWluZy5jcHAKaW5kZXggNjhkMmNjNzU4YzNmMTU0YWZhYTFiYWYyMmY1
ZTRkMzA3OGY0NzM1OS4uMjNjN2YzMWE3NTEyNDk4NzY0NmMxZjQ4YmRkNmNlMTU3ZGE3N2IzMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1p
bmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGlt
aW5nLmNwcApAQCAtNjgsOCArNjgsNyBAQCBkb3VibGUgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGlt
aW5nOjptaWxsaXNlY29uZHNTaW5jZU9yaWdpbihNb25vdG9uaWNUaW1lIHRpbWUpCiBib29sIFBl
cmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZzo6c2FtZU9yaWdpbkNoZWNrRmFpbHMoKSBjb25zdAog
ewogICAgIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy0yLyNkZm4t
c2FtZS1vcmlnaW4tY2hlY2sKLSAgICByZXR1cm4gIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1p
bmdEZXRhaWxzKCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJp
Y3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0CisgICAgcmV0dXJuIG1fcmVzb3VyY2VUaW1pbmcu
bmV0d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdAogICAgICAgICB8fCAh
bV9kb2N1bWVudExvYWRUaW1pbmcuaGFzU2FtZU9yaWdpbkFzUHJldmlvdXNEb2N1bWVudCgpOwog
fQogCkBAIC0xMjQsOSArMTIzLDYgQEAgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nOjpOYXZp
Z2F0aW9uVHlwZSBQZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmc6OnR5cGUoKQogCiB1bnNpZ25l
ZCBzaG9ydCBQZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmc6OnJlZGlyZWN0Q291bnQoKSBjb25z
dAogewotICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5hbGxvd1RpbWluZ0RldGFpbHMoKSkKLSAg
ICAgICAgcmV0dXJuIDA7Ci0KICAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1l
dHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQogICAgICAgICByZXR1cm4gMDsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAKaW5k
ZXggNTliMWFlNmZjY2U3NGRjNzFhODhjZWI1ZGFiNTcwZmE4ZjRhZTcyMi4uNmVkOWFmNDIyOWMy
NGUxMTE0ZjEwNDNhZDI5MmQzYWYwMThmYWM5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwCkBAIC02NCw4ICs2NCw3IEBAIHN0YXRp
YyBkb3VibGUgZmV0Y2hTdGFydChNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFJlc291
cmNlVGltaW5nJiByZXNvdXJjCiAKIHN0YXRpYyBkb3VibGUgZW50cnlTdGFydFRpbWUoTW9ub3Rv
bmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZXNvdXJjZVRpbWluZyYgcmVzb3VyY2VUaW1pbmcp
CiB7Ci0gICAgaWYgKCFyZXNvdXJjZVRpbWluZy5hbGxvd1RpbWluZ0RldGFpbHMoKQotICAgICAg
ICB8fCByZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJl
ZGlyZWN0CisgICAgaWYgKHJlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxz
VEFPQ2hlY2sKICAgICAgICAgfHwgIXJlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygp
LnJlZGlyZWN0Q291bnQpCiAgICAgICAgIHJldHVybiBmZXRjaFN0YXJ0KHRpbWVPcmlnaW4sIHJl
c291cmNlVGltaW5nKTsKIApAQCAtNzcsOSArNzYsNiBAQCBzdGF0aWMgZG91YmxlIGVudHJ5U3Rh
cnRUaW1lKE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgY29uc3QgUmVzb3VyY2VUaW1pbmcmIHJl
cwogCiBzdGF0aWMgZG91YmxlIGVudHJ5RW5kVGltZShNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4s
IGNvbnN0IFJlc291cmNlVGltaW5nJiByZXNvdXJjZVRpbWluZykKIHsKLSAgICBpZiAoIXJlc291
cmNlVGltaW5nLmFsbG93VGltaW5nRGV0YWlscygpKQotICAgICAgICByZXR1cm4gZW50cnlTdGFy
dFRpbWUodGltZU9yaWdpbiwgcmVzb3VyY2VUaW1pbmcpOwotCiAgICAgaWYgKHJlc291cmNlVGlt
aW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlc3BvbnNlRW5kKQogICAgICAgICByZXR1cm4gbmV0
d29ya0xvYWRUaW1lVG9ET01IaWdoUmVzVGltZVN0YW1wKHRpbWVPcmlnaW4sIHJlc291cmNlVGlt
aW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlc3BvbnNlRW5kKTsKIApAQCAtMTE0LDggKzExMCw3
IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjp3b3JrZXJTdGFydCgpIGNvbnN0
CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0KCkgY29u
c3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAg
ICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09y
aWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmlj
cygpLmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwLjA7CiAKICAgICBpZiAoIW1fcmVz
b3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkucmVkaXJlY3RDb3VudCkKQEAgLTEyNiw4
ICsxMjEsNyBAQCBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVkaXJlY3RTdGFy
dCgpIGNvbnN0CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZWRpcmVjdEVu
ZCgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3Jlc291cmNlVGltaW5nLmFsbG93VGltaW5nRGV0YWls
cygpCi0gICAgICAgIHx8IG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuaGFz
Q3Jvc3NPcmlnaW5SZWRpcmVjdCkKKyAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9h
ZE1ldHJpY3MoKS5mYWlsc1RBT0NoZWNrKQogICAgICAgICByZXR1cm4gMC4wOwogCiAgICAgaWYg
KCFtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlZGlyZWN0Q291bnQpCkBA
IC0xNDUsOCArMTM5LDcgQEAgZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmZldGNo
U3RhcnQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZG9tYWlu
TG9va3VwU3RhcnQoKSBjb25zdAogewotICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5hbGxvd1Rp
bWluZ0RldGFpbHMoKQotICAgICAgICB8fCBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0
cmljcygpLmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QpCisgICAgaWYgKG1fcmVzb3VyY2VUaW1pbmcu
bmV0d29ya0xvYWRNZXRyaWNzKCkuZmFpbHNUQU9DaGVjaykKICAgICAgICAgcmV0dXJuIDAuMDsK
IAogICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5kb21haW5M
b29rdXBTdGFydCkKQEAgLTE1Nyw4ICsxNTAsNyBAQCBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZzo6ZG9tYWluTG9va3VwU3RhcnQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZzo6ZG9tYWluTG9va3VwRW5kKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcmVz
b3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRp
bWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQorICAgIGlm
IChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxzVEFPQ2hlY2spCiAg
ICAgICAgIHJldHVybiAwLjA7CiAKICAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xv
YWRNZXRyaWNzKCkuZG9tYWluTG9va3VwRW5kKQpAQCAtMTY5LDggKzE2MSw3IEBAIGRvdWJsZSBQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29rdXBFbmQoKSBjb25zdAogCiBkb3Vi
bGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdFN0YXJ0KCkgY29uc3QKIHsKLSAg
ICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwg
bV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGly
ZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxz
VEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwLjA7CiAKICAgICBpZiAoIW1fcmVzb3VyY2VUaW1p
bmcubmV0d29ya0xvYWRNZXRyaWNzKCkuY29ubmVjdFN0YXJ0KQpAQCAtMTgxLDggKzE3Miw3IEBA
IGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjb25uZWN0U3RhcnQoKSBjb25zdAog
CiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdEVuZCgpIGNvbnN0CiB7
Ci0gICAgaWYgKCFtX3Jlc291cmNlVGltaW5nLmFsbG93VGltaW5nRGV0YWlscygpCi0gICAgICAg
IHx8IG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5S
ZWRpcmVjdCkKKyAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5m
YWlsc1RBT0NoZWNrKQogICAgICAgICByZXR1cm4gMC4wOwogCiAgICAgaWYgKCFtX3Jlc291cmNl
VGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmNvbm5lY3RFbmQpCkBAIC0xOTMsOCArMTgzLDcg
QEAgZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RFbmQoKSBjb25zdAog
CiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6c2VjdXJlQ29ubmVjdGlvblN0YXJ0
KCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxz
KCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXND
cm9zc09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2Fk
TWV0cmljcygpLmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwLjA7CiAKICAgICBpZiAo
bV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5zZWN1cmVDb25uZWN0aW9uU3Rh
cnQgPT0gcmV1c2VkVExTQ29ubmVjdGlvblNlbnRpbmVsKQpAQCAtMjA4LDggKzE5Nyw3IEBAIGRv
dWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpzZWN1cmVDb25uZWN0aW9uU3RhcnQoKSBj
b25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVxdWVzdFN0YXJ0KCkg
Y29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkK
LSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9z
c09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0
cmljcygpLmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwLjA7CiAKICAgICAvLyByZXF1
ZXN0U3RhcnQgaXMgMCB3aGVuIGEgbmV0d29yayByZXF1ZXN0IGlzIG5vdCBtYWRlLgpAQCAtMjIx
LDggKzIwOSw3IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXF1ZXN0U3Rh
cnQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVzcG9uc2VT
dGFydCgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3Jlc291cmNlVGltaW5nLmFsbG93VGltaW5nRGV0
YWlscygpCi0gICAgICAgIHx8IG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCku
aGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKKyAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3b3Jr
TG9hZE1ldHJpY3MoKS5mYWlsc1RBT0NoZWNrKQogICAgICAgICByZXR1cm4gMC4wOwogCiAgICAg
Ly8gcmVzcG9uc2VTdGFydCBpcyAwIHdoZW4gYSBuZXR3b3JrIHJlcXVlc3QgaXMgbm90IG1hZGUu
CkBAIC0yNTgsOCArMjQ1LDcgQEAgZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJl
c3BvbnNlRW5kKCkgY29uc3QKIAogdWludDY0X3QgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6
dHJhbnNmZXJTaXplKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dU
aW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1l
dHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5n
Lm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwOwog
CiAgICAgYXV0byBlbmNvZGVkQm9keVNpemUgPSBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2Fk
TWV0cmljcygpLnJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQ7CkBAIC0yNzIsOCArMjU4LDcgQEAg
dWludDY0X3QgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6dHJhbnNmZXJTaXplKCkgY29uc3QK
IAogdWludDY0X3QgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZW5jb2RlZEJvZHlTaXplKCkg
Y29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkK
LSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9z
c09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0
cmljcygpLmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgYXV0byBlbmNv
ZGVkQm9keVNpemUgPSBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlc3Bv
bnNlQm9keUJ5dGVzUmVjZWl2ZWQ7CkBAIC0yODUsOCArMjcwLDcgQEAgdWludDY0X3QgUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZzo6ZW5jb2RlZEJvZHlTaXplKCkgY29uc3QKIAogdWludDY0X3Qg
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZGVjb2RlZEJvZHlTaXplKCkgY29uc3QKIHsKLSAg
ICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwg
bV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGly
ZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxz
VEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgYXV0byBkZWNvZGVkQm9keVNpemUg
PSBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlc3BvbnNlQm9keURlY29k
ZWRTaXplOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVRpbWlu
Zy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmNwcAppbmRleCA3
YzQyNjVhNTc0OTliM2RkYmFlMTU3NWIyOTA1ZmU3NTFlNDI4MjRjLi43YWYyMGQ3ZmQ1NTk1NWM2
ODJmOGVjOWFiNTFlMDhhMzBmMTFjY2M4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlVGltaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlVGltaW5nLmNwcApAQCAtNjcsNyArNjcsNyBAQCB1bnNpZ25lZCBsb25nIGxvbmcgUGVyZm9y
bWFuY2VUaW1pbmc6OnVubG9hZEV2ZW50U3RhcnQoKSBjb25zdAogICAgIGlmICghbWV0cmljcykK
ICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBpZiAobWV0cmljcy0+aGFzQ3Jvc3NPcmlnaW5SZWRp
cmVjdCB8fCAhdGltaW5nLT5oYXNTYW1lT3JpZ2luQXNQcmV2aW91c0RvY3VtZW50KCkpCisgICAg
aWYgKG1ldHJpY3MtPmZhaWxzVEFPQ2hlY2sgfHwgIXRpbWluZy0+aGFzU2FtZU9yaWdpbkFzUHJl
dmlvdXNEb2N1bWVudCgpKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIHJldHVybiBtb25vdG9u
aWNUaW1lVG9JbnRlZ2VyTWlsbGlzZWNvbmRzKHRpbWluZy0+dW5sb2FkRXZlbnRTdGFydCgpKTsK
QEAgLTgzLDcgKzgzLDcgQEAgdW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjp1
bmxvYWRFdmVudEVuZCgpIGNvbnN0CiAgICAgaWYgKCFtZXRyaWNzKQogICAgICAgICByZXR1cm4g
MDsKIAotICAgIGlmIChtZXRyaWNzLT5oYXNDcm9zc09yaWdpblJlZGlyZWN0IHx8ICF0aW1pbmct
Pmhhc1NhbWVPcmlnaW5Bc1ByZXZpb3VzRG9jdW1lbnQoKSkKKyAgICBpZiAobWV0cmljcy0+ZmFp
bHNUQU9DaGVjayB8fCAhdGltaW5nLT5oYXNTYW1lT3JpZ2luQXNQcmV2aW91c0RvY3VtZW50KCkp
CiAgICAgICAgIHJldHVybiAwOwogCiAgICAgcmV0dXJuIG1vbm90b25pY1RpbWVUb0ludGVnZXJN
aWxsaXNlY29uZHModGltaW5nLT51bmxvYWRFdmVudEVuZCgpKTsKQEAgLTkzLDcgKzkzLDcgQEAg
dW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0KCkgY29u
c3QKIHsKICAgICBhdXRvKiBtZXRyaWNzID0gbmV0d29ya0xvYWRNZXRyaWNzKCk7CiAgICAgaWYg
KCFtZXRyaWNzCi0gICAgICAgIHx8IG1ldHJpY3MtPmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QKKyAg
ICAgICAgfHwgbWV0cmljcy0+ZmFpbHNUQU9DaGVjawogICAgICAgICB8fCAhbWV0cmljcy0+cmVk
aXJlY3RDb3VudCkKICAgICAgICAgcmV0dXJuIDA7CiAKQEAgLTEwNCw3ICsxMDQsNyBAQCB1bnNp
Z25lZCBsb25nIGxvbmcgUGVyZm9ybWFuY2VUaW1pbmc6OnJlZGlyZWN0RW5kKCkgY29uc3QKIHsK
ICAgICBhdXRvKiBtZXRyaWNzID0gbmV0d29ya0xvYWRNZXRyaWNzKCk7CiAgICAgaWYgKCFtZXRy
aWNzCi0gICAgICAgIHx8IG1ldHJpY3MtPmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QKKyAgICAgICAg
fHwgbWV0cmljcy0+ZmFpbHNUQU9DaGVjawogICAgICAgICB8fCAhbWV0cmljcy0+cmVkaXJlY3RD
b3VudCkKICAgICAgICAgcmV0dXJuIDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmNwcAppbmRleCA5MTY4N2UwOTU5ODRj
ZGY2MTBiYTU0NWNlZGM2NTc1NzEyNjMxZmZjLi5jZDg2NjVjYmI3NWRhMzkzZTkwY2MwMjFkYmY5
NTZhNzU0NjM3MjNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L0Jsb2JSZXNvdXJjZUhhbmRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9CbG9iUmVzb3VyY2VIYW5kbGUuY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAi
UmVzb3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNp
bmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIK
ICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRs
ZXIuaD4KICNpbmNsdWRlIDx3dGYvRmlsZVN5c3RlbS5oPgpAQCAtMTU0LDcgKzE1NSw3IEBAIHZv
aWQgQmxvYlJlc291cmNlSGFuZGxlOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KEJsb2JEYXRh
KiBibG9iRGF0YSwgY29uc3QgUmVzCiB9CiAKIEJsb2JSZXNvdXJjZUhhbmRsZTo6QmxvYlJlc291
cmNlSGFuZGxlKEJsb2JEYXRhKiBibG9iRGF0YSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1
ZXN0LCBSZXNvdXJjZUhhbmRsZUNsaWVudCogY2xpZW50LCBib29sIGFzeW5jKQotICAgIDogUmVz
b3VyY2VIYW5kbGUgeyBudWxscHRyLCByZXF1ZXN0LCBjbGllbnQsIGZhbHNlIC8qIGRlZmVyc0xv
YWRpbmcgKi8sIGZhbHNlIC8qIHNob3VsZENvbnRlbnRTbmlmZiAqLywgdHJ1ZSAvKiBzaG91bGRD
b250ZW50RW5jb2RpbmdTbmlmZiAqLyB9CisgICAgOiBSZXNvdXJjZUhhbmRsZSB7IG51bGxwdHIs
IHJlcXVlc3QsIGNsaWVudCwgZmFsc2UgLyogZGVmZXJzTG9hZGluZyAqLywgZmFsc2UgLyogc2hv
dWxkQ29udGVudFNuaWZmICovLCB0cnVlIC8qIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmICov
LCBudWxscHRyIC8qIHNvdXJjZU9yaWdpbiAqLywgZmFsc2UgLyogaXNNYWluRnJhbWVOYXZpZ2F0
aW9uICovIH0KICAgICAsIG1fYmxvYkRhdGEgeyBibG9iRGF0YSB9CiAgICAgLCBtX2FzeW5jIHsg
YXN5bmMgfQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9O
ZXR3b3JrTG9hZE1ldHJpY3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0
d29ya0xvYWRNZXRyaWNzLmgKaW5kZXggN2ZhNjUyOTUwYjNhZDc4MTlmNWY0MzNhMzA2OTkxZTg4
ODI0YTE2YS4uNWY4YzAxYTdjMDJmODA5MjJiYWYyNDYyY2E2YWUwNmE2MGIzN2E2NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrTG9hZE1ldHJpY3Mu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtMb2FkTWV0cmlj
cy5oCkBAIC05NSw2ICs5NSw3IEBAIHB1YmxpYzoKICAgICBib29sIGNvbnN0cmFpbmVkIHsgZmFs
c2UgfTsKICAgICBib29sIG11bHRpcGF0aCB7IGZhbHNlIH07CiAgICAgYm9vbCBpc1JldXNlZENv
bm5lY3Rpb24geyBmYWxzZSB9OworICAgIGJvb2wgZmFpbHNUQU9DaGVjayB7IGZhbHNlIH07CiAg
ICAgYm9vbCBoYXNDcm9zc09yaWdpblJlZGlyZWN0IHsgZmFsc2UgfTsKIH07CiAKQEAgLTEyOCw2
ICsxMjksNyBAQCBwdWJsaWM6CiAgICAgICAgIGNvcHkuY29uc3RyYWluZWQgPSBjb25zdHJhaW5l
ZDsKICAgICAgICAgY29weS5tdWx0aXBhdGggPSBtdWx0aXBhdGg7CiAgICAgICAgIGNvcHkuaXNS
ZXVzZWRDb25uZWN0aW9uID0gaXNSZXVzZWRDb25uZWN0aW9uOworICAgICAgICBjb3B5LmZhaWxz
VEFPQ2hlY2sgPSBmYWlsc1RBT0NoZWNrOwogICAgICAgICBjb3B5Lmhhc0Nyb3NzT3JpZ2luUmVk
aXJlY3QgPSBoYXNDcm9zc09yaWdpblJlZGlyZWN0OwogCiAgICAgICAgIGNvcHkucmVtb3RlQWRk
cmVzcyA9IHJlbW90ZUFkZHJlc3MuaXNvbGF0ZWRDb3B5KCk7CkBAIC0xNjUsNiArMTY3LDcgQEAg
cHVibGljOgogICAgICAgICAgICAgJiYgY29uc3RyYWluZWQgPT0gb3RoZXIuY29uc3RyYWluZWQK
ICAgICAgICAgICAgICYmIG11bHRpcGF0aCA9PSBvdGhlci5tdWx0aXBhdGgKICAgICAgICAgICAg
ICYmIGlzUmV1c2VkQ29ubmVjdGlvbiA9PSBvdGhlci5pc1JldXNlZENvbm5lY3Rpb24KKyAgICAg
ICAgICAgICYmIGZhaWxzVEFPQ2hlY2sgPT0gb3RoZXIuZmFpbHNUQU9DaGVjawogICAgICAgICAg
ICAgJiYgaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCA9PSBvdGhlci5oYXNDcm9zc09yaWdpblJlZGly
ZWN0CiAgICAgICAgICAgICAmJiBwcm90b2NvbCA9PSBvdGhlci5wcm90b2NvbAogICAgICAgICAg
ICAgJiYgcmVkaXJlY3RDb3VudCA9PSBvdGhlci5yZWRpcmVjdENvdW50CkBAIC0yMTAsNyArMjEz
LDcgQEAgcHVibGljOgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiBCb3g8TmV0d29ya0xvYWRNZXRy
aWNzPiBjb3B5VGltaW5nRGF0YShOU1VSTENvbm5lY3Rpb24gKiwgY29uc3QgUmVzb3VyY2VIYW5k
bGUmKTsKLVdFQkNPUkVfRVhQT1JUIEJveDxOZXR3b3JrTG9hZE1ldHJpY3M+IGNvcHlUaW1pbmdE
YXRhKE5TVVJMU2Vzc2lvblRhc2tNZXRyaWNzICppbmNvbXBsZXRlTWV0cmljcywgYm9vbCBoYXND
cm9zc09yaWdpblJlZGlyZWN0KTsKK1dFQkNPUkVfRVhQT1JUIEJveDxOZXR3b3JrTG9hZE1ldHJp
Y3M+IGNvcHlUaW1pbmdEYXRhKE5TVVJMU2Vzc2lvblRhc2tNZXRyaWNzICppbmNvbXBsZXRlTWV0
cmljcywgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJik7CiAjZW5kaWYKIAogdGVtcGxhdGU8Y2xh
c3MgRW5jb2Rlcj4KQEAgLTIzNCw2ICsyMzcsNyBAQCB2b2lkIE5ldHdvcmtMb2FkTWV0cmljczo6
ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBjb25zdHJhaW5l
ZDsKICAgICBlbmNvZGVyIDw8IG11bHRpcGF0aDsKICAgICBlbmNvZGVyIDw8IGlzUmV1c2VkQ29u
bmVjdGlvbjsKKyAgICBlbmNvZGVyIDw8IGZhaWxzVEFPQ2hlY2s7CiAgICAgZW5jb2RlciA8PCBo
YXNDcm9zc09yaWdpblJlZGlyZWN0OwogICAgIGVuY29kZXIgPDwgcHJvdG9jb2w7CiAgICAgZW5j
b2RlciA8PCByZWRpcmVjdENvdW50OwpAQCAtMjcyLDYgKzI3Niw3IEBAIGJvb2wgTmV0d29ya0xv
YWRNZXRyaWNzOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgTmV0d29ya0xvYWRNZXRyaWNzJiBt
ZXRyaWNzKQogICAgICAgICAmJiBkZWNvZGVyLmRlY29kZShtZXRyaWNzLmNvbnN0cmFpbmVkKQog
ICAgICAgICAmJiBkZWNvZGVyLmRlY29kZShtZXRyaWNzLm11bHRpcGF0aCkKICAgICAgICAgJiYg
ZGVjb2Rlci5kZWNvZGUobWV0cmljcy5pc1JldXNlZENvbm5lY3Rpb24pCisgICAgICAgICYmIGRl
Y29kZXIuZGVjb2RlKG1ldHJpY3MuZmFpbHNUQU9DaGVjaykKICAgICAgICAgJiYgZGVjb2Rlci5k
ZWNvZGUobWV0cmljcy5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQogICAgICAgICAmJiBkZWNvZGVy
LmRlY29kZShtZXRyaWNzLnByb3RvY29sKQogICAgICAgICAmJiBkZWNvZGVyLmRlY29kZShtZXRy
aWNzLnJlZGlyZWN0Q291bnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VIYW5kbGUuY3BwCmluZGV4IDBkN2E3M2QxYTMyZWRlMmRmNjgzMDFhMjVjZjEx
ZjU3ZjViYTZhMTYuLjg2MjFhOGMzYWJmYzllOTJkYjI1NzdiYzNkMTU5MWIzNTc2MmU2MWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUu
Y3BwCkBAIC0zMSw3ICszMSw5IEBACiAjaW5jbHVkZSAiTmV0d29ya2luZ0NvbnRleHQuaCIKICNp
bmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50
LmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJUaW1lci5oIgorI2lu
Y2x1ZGUgIlRpbWluZ0FsbG93T3JpZ2luLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1
ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+
CkBAIC03NSw4ICs3Nyw4IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnJlZ2lzdGVyQnVpbHRpblN5
bmNocm9ub3VzTG9hZGVyKGNvbnN0IEF0b21TdHJpbmcmIHByb3RvY29sCiAgICAgYnVpbHRpblJl
c291cmNlSGFuZGxlU3luY2hyb25vdXNMb2FkZXJNYXAoKS5hZGQocHJvdG9jb2wsIGxvYWRlcik7
CiB9CiAKLVJlc291cmNlSGFuZGxlOjpSZXNvdXJjZUhhbmRsZShOZXR3b3JraW5nQ29udGV4dCog
Y29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUhhbmRsZUNs
aWVudCogY2xpZW50LCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVudFNuaWZm
LCBib29sIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKQotICAgIDogZChtYWtlVW5pcXVlPFJl
c291cmNlSGFuZGxlSW50ZXJuYWw+KHRoaXMsIGNvbnRleHQsIHJlcXVlc3QsIGNsaWVudCwgZGVm
ZXJzTG9hZGluZywgc2hvdWxkQ29udGVudFNuaWZmICYmIHNob3VsZENvbnRlbnRTbmlmZlVSTChy
ZXF1ZXN0LnVybCgpKSwgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYpKQorUmVzb3VyY2VIYW5k
bGU6OlJlc291cmNlSGFuZGxlKE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQsIGJvb2wg
ZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVu
dEVuY29kaW5nU25pZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBzb3VyY2VPcmlnaW4sIGJv
b2wgaXNNYWluRnJhbWVOYXZpZ2F0aW9uKQorICAgIDogZChtYWtlVW5pcXVlPFJlc291cmNlSGFu
ZGxlSW50ZXJuYWw+KHRoaXMsIGNvbnRleHQsIHJlcXVlc3QsIGNsaWVudCwgZGVmZXJzTG9hZGlu
Zywgc2hvdWxkQ29udGVudFNuaWZmICYmIHNob3VsZENvbnRlbnRTbmlmZlVSTChyZXF1ZXN0LnVy
bCgpKSwgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYsIFdURk1vdmUoc291cmNlT3JpZ2luKSwg
aXNNYWluRnJhbWVOYXZpZ2F0aW9uKSkKIHsKICAgICBpZiAoIXJlcXVlc3QudXJsKCkuaXNWYWxp
ZCgpKSB7CiAgICAgICAgIHNjaGVkdWxlRmFpbHVyZShJbnZhbGlkVVJMRmFpbHVyZSk7CkBAIC04
OSwxMiArOTEsMTIgQEAgUmVzb3VyY2VIYW5kbGU6OlJlc291cmNlSGFuZGxlKE5ldHdvcmtpbmdD
b250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QKICAgICB9CiB9CiAKLVJlZlB0
cjxSZXNvdXJjZUhhbmRsZT4gUmVzb3VyY2VIYW5kbGU6OmNyZWF0ZShOZXR3b3JraW5nQ29udGV4
dCogY29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUhhbmRs
ZUNsaWVudCogY2xpZW50LCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVudFNu
aWZmLCBib29sIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKQorUmVmUHRyPFJlc291cmNlSGFu
ZGxlPiBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlKE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGll
bnQsIGJvb2wgZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hv
dWxkQ29udGVudEVuY29kaW5nU25pZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBzb3VyY2VP
cmlnaW4sIGJvb2wgaXNNYWluRnJhbWVOYXZpZ2F0aW9uKQogewogICAgIGlmIChhdXRvIGNvbnN0
cnVjdG9yID0gYnVpbHRpblJlc291cmNlSGFuZGxlQ29uc3RydWN0b3JNYXAoKS5nZXQocmVxdWVz
dC51cmwoKS5wcm90b2NvbCgpLnRvU3RyaW5nV2l0aG91dENvcHlpbmcoKSkpCiAgICAgICAgIHJl
dHVybiBjb25zdHJ1Y3RvcihyZXF1ZXN0LCBjbGllbnQpOwogCi0gICAgYXV0byBuZXdIYW5kbGUg
PSBhZG9wdFJlZigqbmV3IFJlc291cmNlSGFuZGxlKGNvbnRleHQsIHJlcXVlc3QsIGNsaWVudCwg
ZGVmZXJzTG9hZGluZywgc2hvdWxkQ29udGVudFNuaWZmLCBzaG91bGRDb250ZW50RW5jb2RpbmdT
bmlmZikpOworICAgIGF1dG8gbmV3SGFuZGxlID0gYWRvcHRSZWYoKm5ldyBSZXNvdXJjZUhhbmRs
ZShjb250ZXh0LCByZXF1ZXN0LCBjbGllbnQsIGRlZmVyc0xvYWRpbmcsIHNob3VsZENvbnRlbnRT
bmlmZiwgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYsIFdURk1vdmUoc291cmNlT3JpZ2luKSwg
aXNNYWluRnJhbWVOYXZpZ2F0aW9uKSk7CiAKICAgICBpZiAobmV3SGFuZGxlLT5kLT5tX3NjaGVk
dWxlZEZhaWx1cmVUeXBlICE9IE5vRmFpbHVyZSkKICAgICAgICAgcmV0dXJuIG5ld0hhbmRsZTsK
QEAgLTEzMywxNCArMTM1LDE0IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmZhaWx1cmVUaW1lckZp
cmVkKCkKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAotdm9pZCBSZXNvdXJjZUhhbmRs
ZTo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSBz
dG9yZWRDcmVkZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYgZXJyb3IsIFJlc291cmNlUmVz
cG9uc2UmIHJlc3BvbnNlLCBWZWN0b3I8dWludDhfdD4mIGRhdGEpCit2b2lkIFJlc291cmNlSGFu
ZGxlOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0
LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFN0b3JlZENyZWRlbnRpYWxzUG9saWN5
IHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBTZWN1cml0eU9yaWdpbiogc291cmNlT3JpZ2luLCBS
ZXNvdXJjZUVycm9yJiBlcnJvciwgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFZlY3Rvcjx1
aW50OF90PiYgZGF0YSkKIHsKICAgICBpZiAoYXV0byBjb25zdHJ1Y3RvciA9IGJ1aWx0aW5SZXNv
dXJjZUhhbmRsZVN5bmNocm9ub3VzTG9hZGVyTWFwKCkuZ2V0KHJlcXVlc3QudXJsKCkucHJvdG9j
b2woKS50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCkpKSB7CiAgICAgICAgIGNvbnN0cnVjdG9yKGNv
bnRleHQsIHJlcXVlc3QsIHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBlcnJvciwgcmVzcG9uc2Us
IGRhdGEpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgcGxhdGZvcm1Mb2FkUmVzb3Vy
Y2VTeW5jaHJvbm91c2x5KGNvbnRleHQsIHJlcXVlc3QsIHN0b3JlZENyZWRlbnRpYWxzUG9saWN5
LCBlcnJvciwgcmVzcG9uc2UsIGRhdGEpOworICAgIHBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hy
b25vdXNseShjb250ZXh0LCByZXF1ZXN0LCBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgc291cmNl
T3JpZ2luLCBlcnJvciwgcmVzcG9uc2UsIGRhdGEpOwogfQogCiBSZXNvdXJjZUhhbmRsZUNsaWVu
dCogUmVzb3VyY2VIYW5kbGU6OmNsaWVudCgpIGNvbnN0CkBAIC0yMDQsMTQgKzIwNiwzNCBAQCB2
b2lkIFJlc291cmNlSGFuZGxlOjpjbGVhckF1dGhlbnRpY2F0aW9uKCkKICAgICBkLT5tX2N1cnJl
bnRXZWJDaGFsbGVuZ2UubnVsbGlmeSgpOwogfQogCitib29sIFJlc291cmNlSGFuZGxlOjpmYWls
c1RBT0NoZWNrKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZC0+bV9mYWlsc1RBT0NoZWNrOworfQor
Cit2b2lkIFJlc291cmNlSGFuZGxlOjpjaGVja1RBTyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBy
ZXNwb25zZSkKK3sKKyAgICBpZiAoZC0+bV9mYWlsc1RBT0NoZWNrKQorICAgICAgICByZXR1cm47
CisKKyAgICBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IG9yaWdpbjsKKyAgICBpZiAoZC0+bV9pc01h
aW5GcmFtZU5hdmlnYXRpb24pCisgICAgICAgIG9yaWdpbiA9IFNlY3VyaXR5T3JpZ2luOjpjcmVh
dGUoZmlyc3RSZXF1ZXN0KCkudXJsKCkpOworICAgIGVsc2UKKyAgICAgICAgb3JpZ2luID0gZC0+
bV9zb3VyY2VPcmlnaW47CisKKyAgICBpZiAob3JpZ2luKQorICAgICAgICBkLT5tX2ZhaWxzVEFP
Q2hlY2sgPSAhcGFzc2VzVGltaW5nQWxsb3dPcmlnaW5DaGVjayhyZXNwb25zZSwgKm9yaWdpbik7
Cit9CisKIGJvb2wgUmVzb3VyY2VIYW5kbGU6Omhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QoKSBjb25z
dAogewogICAgIHJldHVybiBkLT5tX2hhc0Nyb3NzT3JpZ2luUmVkaXJlY3Q7CiB9CiAKLXZvaWQg
UmVzb3VyY2VIYW5kbGU6OnNldEhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QoYm9vbCB2YWx1ZSkKK3Zv
aWQgUmVzb3VyY2VIYW5kbGU6Om1hcmtBc0hhdmluZ0Nyb3NzT3JpZ2luUmVkaXJlY3QoKQogewot
ICAgIGQtPm1faGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCA9IHZhbHVlOworICAgIGQtPm1faGFzQ3Jv
c3NPcmlnaW5SZWRpcmVjdCA9IHRydWU7CiB9CiAKIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmluY3Jl
bWVudFJlZGlyZWN0Q291bnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZUhhbmRsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZUhhbmRsZS5oCmluZGV4IGZmZDg4NTQ3ZTYwNmJmOGMwZWI1MmFmOGJiOGE5MjBj
YTYxYjE3OWQuLmZhZmRmZTg3YzgzN2U2MTU3ZDJmMTNlOWE3Y2EwMDk2OWQ1MGIxYzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgKQEAg
LTgzLDYgKzgzLDcgQEAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbDsKIGNsYXNzIE5ldHdv
cmtMb2FkTWV0cmljczsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIGNsYXNzIFJlc291cmNlUmVz
cG9uc2U7CitjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIGNsYXNz
IFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlOwogY2xhc3MgVGltZXI7CkBAIC05NCw4ICs5
NSw4IEBAIGNsYXNzIEN1cmxSZXNvdXJjZUhhbmRsZURlbGVnYXRlOwogCiBjbGFzcyBSZXNvdXJj
ZUhhbmRsZSA6IHB1YmxpYyBSZWZDb3VudGVkPFJlc291cmNlSGFuZGxlPiwgcHVibGljIEF1dGhl
bnRpY2F0aW9uQ2xpZW50IHsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVm
UHRyPFJlc291cmNlSGFuZGxlPiBjcmVhdGUoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmLCBSZXNvdXJjZUhhbmRsZUNsaWVudCosIGJvb2wgZGVmZXJzTG9hZGluZywg
Ym9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYp
OwotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3Vz
bHkoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBTdG9yZWRDcmVk
ZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVzcG9uc2UmLCBWZWN0b3I8
dWludDhfdD4mIGRhdGEpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWZQdHI8UmVzb3Vy
Y2VIYW5kbGU+IGNyZWF0ZShOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFJlc291cmNlUmVxdWVz
dCYsIFJlc291cmNlSGFuZGxlQ2xpZW50KiwgYm9vbCBkZWZlcnNMb2FkaW5nLCBib29sIHNob3Vs
ZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwgUmVmUHRyPFNl
Y3VyaXR5T3JpZ2luPiYmIHNvdXJjZU9yaWdpbiwgYm9vbCBpc01haW5GcmFtZU5hdmlnYXRpb24p
OworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3Vz
bHkoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBTdG9yZWRDcmVk
ZW50aWFsc1BvbGljeSwgU2VjdXJpdHlPcmlnaW4qLCBSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VS
ZXNwb25zZSYsIFZlY3Rvcjx1aW50OF90PiYgZGF0YSk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdmly
dHVhbCB+UmVzb3VyY2VIYW5kbGUoKTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBVU0UoQ0ZV
UkxDT05ORUNUSU9OKQpAQCAtMTc0LDggKzE3NSwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRO
ZXR3b3JrTG9hZE1ldHJpY3MoQm94PE5ldHdvcmtMb2FkTWV0cmljcz4mJik7CiAKICAgICBNb25v
dG9uaWNUaW1lIHN0YXJ0VGltZUJlZm9yZVJlZGlyZWN0cygpIGNvbnN0OworICAgIGJvb2wgZmFp
bHNUQU9DaGVjaygpIGNvbnN0OworICAgIHZvaWQgY2hlY2tUQU8oY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYpOwogICAgIGJvb2wgaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCgpIGNvbnN0OwotICAgIHZv
aWQgc2V0SGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdChib29sKTsKKyAgICB2b2lkIG1hcmtBc0hhdmlu
Z0Nyb3NzT3JpZ2luUmVkaXJlY3QoKTsKICAgICB1aW50MTZfdCByZWRpcmVjdENvdW50KCkgY29u
c3Q7CiAgICAgdm9pZCBpbmNyZW1lbnRSZWRpcmVjdENvdW50KCk7CiAKQEAgLTIwNiw3ICsyMDks
NyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJCdWlsdGluU3luY2hyb25vdXNM
b2FkZXIoY29uc3QgQXRvbVN0cmluZyYgcHJvdG9jb2wsIEJ1aWx0aW5TeW5jaHJvbm91c0xvYWRl
cik7CiAKIHByb3RlY3RlZDoKLSAgICBSZXNvdXJjZUhhbmRsZShOZXR3b3JraW5nQ29udGV4dCos
IGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFJlc291cmNlSGFuZGxlQ2xpZW50KiwgYm9vbCBkZWZl
cnNMb2FkaW5nLCBib29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91bGRDb250ZW50RW5j
b2RpbmdTbmlmZik7CisgICAgUmVzb3VyY2VIYW5kbGUoTmV0d29ya2luZ0NvbnRleHQqLCBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmLCBSZXNvdXJjZUhhbmRsZUNsaWVudCosIGJvb2wgZGVmZXJzTG9h
ZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVudEVuY29kaW5n
U25pZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBzb3VyY2VPcmlnaW4sIGJvb2wgaXNNYWlu
RnJhbWVOYXZpZ2F0aW9uKTsKIAogcHJpdmF0ZToKICAgICBlbnVtIEZhaWx1cmVUeXBlIHsKQEAg
LTIyMiw3ICsyMjUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1bGVGYWlsdXJlKEZhaWx1
cmVUeXBlKTsKIAogICAgIGJvb2wgc3RhcnQoKTsKLSAgICBzdGF0aWMgdm9pZCBwbGF0Zm9ybUxv
YWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmLCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYsIFJlc291
cmNlUmVzcG9uc2UmLCBWZWN0b3I8dWludDhfdD4mIGRhdGEpOworICAgIHN0YXRpYyB2b2lkIHBs
YXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0
IFJlc291cmNlUmVxdWVzdCYsIFN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBTZWN1cml0eU9yaWdp
biosIFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlJiwgVmVjdG9yPHVpbnQ4X3Q+JiBk
YXRhKTsKIAogICAgIHZvaWQgcmVmQXV0aGVudGljYXRpb25DbGllbnQoKSBvdmVycmlkZSB7IHJl
ZigpOyB9CiAgICAgdm9pZCBkZXJlZkF1dGhlbnRpY2F0aW9uQ2xpZW50KCkgb3ZlcnJpZGUgeyBk
ZXJlZigpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlSGFuZGxlSW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCmluZGV4IDE4ZmQ0MWM4NjY3N2Y1ZTAwMDQ3ODZlMzFk
NTZiNTNhNTc1ZDgxYWUuLmVjODk0MmM5ZTIyNTAwZDA2YThlNzU1MGY4MTM2YTliNjljYTczMDMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5k
bGVJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VIYW5kbGVJbnRlcm5hbC5oCkBAIC02NSw3ICs2NSw3IEBAIGNsYXNzIFJlc291cmNlSGFuZGxl
SW50ZXJuYWwgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlc291cmNlSGFuZGxlSW50ZXJu
YWwpOwogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEX1dJVEhfSEVBUF9JREVOVElGSUVSKFJl
c291cmNlSGFuZGxlSW50ZXJuYWwpOwogcHVibGljOgotICAgIFJlc291cmNlSGFuZGxlSW50ZXJu
YWwoUmVzb3VyY2VIYW5kbGUqIGxvYWRlciwgTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQsIGNv
bnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VIYW5kbGVDbGllbnQqIGNsaWVu
dCwgYm9vbCBkZWZlcnNMb2FkaW5nLCBib29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91
bGRDb250ZW50RW5jb2RpbmdTbmlmZikKKyAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKFJlc291
cmNlSGFuZGxlKiBsb2FkZXIsIE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQsIGJvb2wg
ZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVu
dEVuY29kaW5nU25pZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBzb3VyY2VPcmlnaW4sIGJv
b2wgaXNNYWluRnJhbWVOYXZpZ2F0aW9uKQogICAgICAgICA6IG1fY29udGV4dChjb250ZXh0KQog
ICAgICAgICAsIG1fY2xpZW50KGNsaWVudCkKICAgICAgICAgLCBtX2ZpcnN0UmVxdWVzdChyZXF1
ZXN0KQpAQCAtNzgsNiArNzgsOCBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9jdXJyZW50UmVxdWVz
dChyZXF1ZXN0KQogI2VuZGlmCiAgICAgICAgICwgbV9mYWlsdXJlVGltZXIoKmxvYWRlciwgJlJl
c291cmNlSGFuZGxlOjpmYWlsdXJlVGltZXJGaXJlZCkKKyAgICAgICAgLCBtX3NvdXJjZU9yaWdp
bihXVEZNb3ZlKHNvdXJjZU9yaWdpbikpCisgICAgICAgICwgbV9pc01haW5GcmFtZU5hdmlnYXRp
b24oaXNNYWluRnJhbWVOYXZpZ2F0aW9uKQogICAgIHsKICAgICAgICAgY29uc3QgVVJMJiB1cmwg
PSBtX2ZpcnN0UmVxdWVzdC51cmwoKTsKICAgICAgICAgbV91c2VyID0gdXJsLnVzZXIoKTsKQEAg
LTEzMyw3ICsxMzUsOSBAQCBwdWJsaWM6CiAgICAgQm94PE5ldHdvcmtMb2FkTWV0cmljcz4gbV9u
ZXR3b3JrTG9hZE1ldHJpY3M7CiAgICAgTW9ub3RvbmljVGltZSBtX3N0YXJ0VGltZTsKICAgICB1
aW50MTZfdCBtX3JlZGlyZWN0Q291bnQgeyAwIH07CisgICAgYm9vbCBtX2ZhaWxzVEFPQ2hlY2sg
eyBmYWxzZSB9OwogICAgIGJvb2wgbV9oYXNDcm9zc09yaWdpblJlZGlyZWN0IHsgZmFsc2UgfTsK
KyAgICBib29sIG1faXNDcm9zc09yaWdpbiB7IGZhbHNlIH07CiAKICNpZiBQTEFURk9STShDT0NP
QSkKICAgICAvLyBXZSBuZWVkIHRvIGtlZXAgYSByZWZlcmVuY2UgdG8gdGhlIG9yaWdpbmFsIGNo
YWxsZW5nZSB0byBiZSBhYmxlIHRvIGNhbmNlbCBpdC4KQEAgLTE0NCw2ICsxNDgsOCBAQCBwdWJs
aWM6CiAgICAgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UgbV9jdXJyZW50V2ViQ2hhbGxlbmdlOwog
ICAgIFJlc291cmNlSGFuZGxlOjpGYWlsdXJlVHlwZSBtX3NjaGVkdWxlZEZhaWx1cmVUeXBlIHsg
UmVzb3VyY2VIYW5kbGU6Ok5vRmFpbHVyZSB9OwogICAgIFRpbWVyIG1fZmFpbHVyZVRpbWVyOwor
ICAgIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4gbV9zb3VyY2VPcmlnaW47CisgICAgYm9vbCBtX2lz
TWFpbkZyYW1lTmF2aWdhdGlvbiB7IGZhbHNlIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1RpbWluZ0Fs
bG93T3JpZ2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvVGltaW5nQWxs
b3dPcmlnaW4uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczNGQ5MTY2ZTIwNDhlZjhmNGY0NGUyMmNjYTVhYmM3
YTFjZTE0MGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1RpbWluZ0FsbG93T3JpZ2luLmNwcApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlRpbWluZ0FsbG93T3JpZ2luLmgiCisKKyNp
bmNsdWRlICJIVFRQUGFyc2Vycy5oIgorI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKKyNp
bmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Jvb2wg
cGFzc2VzVGltaW5nQWxsb3dPcmlnaW5DaGVjayhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNw
b25zZSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIGluaXRpYXRvclNlY3VyaXR5T3JpZ2luKQorewor
ICAgIC8vIGh0dHBzOi8vZmV0Y2guc3BlYy53aGF0d2cub3JnLyN0YW8tY2hlY2sKKyAgICBhdXRv
IHJlc291cmNlT3JpZ2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZShyZXNwb25zZS51cmwoKSk7
CisgICAgaWYgKHJlc291cmNlT3JpZ2luLT5pc1NhbWVTY2hlbWVIb3N0UG9ydChpbml0aWF0b3JT
ZWN1cml0eU9yaWdpbikpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgY29uc3QgU3RyaW5n
JiB0aW1pbmdBbGxvd09yaWdpblN0cmluZyA9IHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQ
SGVhZGVyTmFtZTo6VGltaW5nQWxsb3dPcmlnaW4pOworICAgIGNvbnN0IFN0cmluZyYgc2VjdXJp
dHlPcmlnaW4gPSBpbml0aWF0b3JTZWN1cml0eU9yaWdpbi50b1N0cmluZygpOworICAgIGZvciAo
YXV0byYgb3JpZ2luV2l0aFNwYWNlIDogdGltaW5nQWxsb3dPcmlnaW5TdHJpbmcuc3BsaXQoJywn
KSkgeworICAgICAgICBhdXRvIG9yaWdpbiA9IHN0cmlwTGVhZGluZ0FuZFRyYWlsaW5nSFRUUFNw
YWNlcyhTdHJpbmdWaWV3KG9yaWdpbldpdGhTcGFjZSkpOworICAgICAgICBpZiAob3JpZ2luID09
ICIqIiB8fCBvcmlnaW4gPT0gc2VjdXJpdHlPcmlnaW4pCisgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvVGltaW5nQWxsb3dPcmlnaW4uaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvVGltaW5nQWxsb3dPcmlnaW4uaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
ODMwMDgzMzkzOGFhMjVkZDhjOTA5YTA1ZTRjNmRkZmRhMWYzOTVlCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5oCkBA
IC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOworY2xhc3MgU2VjdXJpdHlPcmlnaW47
CisKK1dFQkNPUkVfRVhQT1JUIGJvb2wgcGFzc2VzVGltaW5nQWxsb3dPcmlnaW5DaGVjayhjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4mIGluaXRp
YXRvclNlY3VyaXR5T3JpZ2luKTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jb2NvYS9OZXR3b3JrTG9hZE1ldHJpY3MubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtMb2FkTWV0cmljcy5tbQppbmRleCBiNTQ0
N2RmNTQ3NmMwYzRjNGFiYzU4OWNiMzE3ODViYmY0OGNhZDk1Li42MzEyZTA2ODQyOTdiNDNjMzMx
MWU0NzM5YjY4MWFiNDQ1YzMzNjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2NvY29hL05ldHdvcmtMb2FkTWV0cmljcy5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtMb2FkTWV0cmljcy5tbQpAQCAtMzgsNyAr
MzgsNyBAQCBzdGF0aWMgTW9ub3RvbmljVGltZSBkYXRlVG9Nb25vdG9uaWNUaW1lKE5TRGF0ZSAq
ZGF0ZSkKICAgICByZXR1cm4geyB9OwogfQogCi1zdGF0aWMgQm94PE5ldHdvcmtMb2FkTWV0cmlj
cz4gcGFja2FnZVRpbWluZ0RhdGEoTW9ub3RvbmljVGltZSByZWRpcmVjdFN0YXJ0LCBOU0RhdGUg
KmZldGNoU3RhcnQsIE5TRGF0ZSAqZG9tYWluTG9va3VwU3RhcnQsIE5TRGF0ZSAqZG9tYWluTG9v
a3VwRW5kLCBOU0RhdGUgKmNvbm5lY3RTdGFydCwgTlNEYXRlICpzZWN1cmVDb25uZWN0aW9uU3Rh
cnQsIE5TRGF0ZSAqY29ubmVjdEVuZCwgTlNEYXRlICpyZXF1ZXN0U3RhcnQsIE5TRGF0ZSAqcmVz
cG9uc2VTdGFydCwgYm9vbCByZXVzZWRUTFNDb25uZWN0aW9uLCBOU1N0cmluZyAqcHJvdG9jb2ws
IHVpbnQxNl90IHJlZGlyZWN0Q291bnQsIGJvb2wgaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKK3N0
YXRpYyBCb3g8TmV0d29ya0xvYWRNZXRyaWNzPiBwYWNrYWdlVGltaW5nRGF0YShNb25vdG9uaWNU
aW1lIHJlZGlyZWN0U3RhcnQsIE5TRGF0ZSAqZmV0Y2hTdGFydCwgTlNEYXRlICpkb21haW5Mb29r
dXBTdGFydCwgTlNEYXRlICpkb21haW5Mb29rdXBFbmQsIE5TRGF0ZSAqY29ubmVjdFN0YXJ0LCBO
U0RhdGUgKnNlY3VyZUNvbm5lY3Rpb25TdGFydCwgTlNEYXRlICpjb25uZWN0RW5kLCBOU0RhdGUg
KnJlcXVlc3RTdGFydCwgTlNEYXRlICpyZXNwb25zZVN0YXJ0LCBib29sIHJldXNlZFRMU0Nvbm5l
Y3Rpb24sIE5TU3RyaW5nICpwcm90b2NvbCwgdWludDE2X3QgcmVkaXJlY3RDb3VudCwgYm9vbCBm
YWlsc1RBT0NoZWNrLCBib29sIGhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QpCiB7CiAKICAgICBhdXRv
IHRpbWluZyA9IEJveDxOZXR3b3JrTG9hZE1ldHJpY3M+OjpjcmVhdGUoKTsKQEAgLTU2LDYgKzU2
LDcgQEAgc3RhdGljIEJveDxOZXR3b3JrTG9hZE1ldHJpY3M+IHBhY2thZ2VUaW1pbmdEYXRhKE1v
bm90b25pY1RpbWUgcmVkaXJlY3RTdGFydCwgTlMKICAgICB0aW1pbmctPnJlcXVlc3RTdGFydCA9
IGRhdGVUb01vbm90b25pY1RpbWUocmVxdWVzdFN0YXJ0KTsKICAgICB0aW1pbmctPnJlc3BvbnNl
U3RhcnQgPSBkYXRlVG9Nb25vdG9uaWNUaW1lKHJlc3BvbnNlU3RhcnQpOwogICAgIHRpbWluZy0+
cmVkaXJlY3RDb3VudCA9IHJlZGlyZWN0Q291bnQ7CisgICAgdGltaW5nLT5mYWlsc1RBT0NoZWNr
ID0gZmFpbHNUQU9DaGVjazsKICAgICB0aW1pbmctPmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QgPSBo
YXNDcm9zc09yaWdpblJlZGlyZWN0OwogCiAgICAgLy8gTk9URTogcmVzcG9uc2VFbmQgaXMgbm90
IHBvcHVsYXRlZCBpbiB0aGlzIGNvZGUgcGF0aC4KQEAgLTYzLDcgKzY0LDcgQEAgc3RhdGljIEJv
eDxOZXR3b3JrTG9hZE1ldHJpY3M+IHBhY2thZ2VUaW1pbmdEYXRhKE1vbm90b25pY1RpbWUgcmVk
aXJlY3RTdGFydCwgTlMKICAgICByZXR1cm4gdGltaW5nOwogfQogCi1Cb3g8TmV0d29ya0xvYWRN
ZXRyaWNzPiBjb3B5VGltaW5nRGF0YShOU1VSTFNlc3Npb25UYXNrTWV0cmljcyAqaW5jb21wbGV0
ZU1ldHJpY3MsIGJvb2wgaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKK0JveDxOZXR3b3JrTG9hZE1l
dHJpY3M+IGNvcHlUaW1pbmdEYXRhKE5TVVJMU2Vzc2lvblRhc2tNZXRyaWNzICppbmNvbXBsZXRl
TWV0cmljcywgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJiBtZXRyaWNzRnJvbVRhc2spCiB7CiAg
ICAgTlNBcnJheTxOU1VSTFNlc3Npb25UYXNrVHJhbnNhY3Rpb25NZXRyaWNzICo+ICp0cmFuc2Fj
dGlvbk1ldHJpY3MgPSBpbmNvbXBsZXRlTWV0cmljcy50cmFuc2FjdGlvbk1ldHJpY3M7CiAgICAg
TlNVUkxTZXNzaW9uVGFza1RyYW5zYWN0aW9uTWV0cmljcyAqbWV0cmljcyA9IHRyYW5zYWN0aW9u
TWV0cmljcy5sYXN0T2JqZWN0OwpAQCAtODAsNyArODEsOCBAQCBCb3g8TmV0d29ya0xvYWRNZXRy
aWNzPiBjb3B5VGltaW5nRGF0YShOU1VSTFNlc3Npb25UYXNrTWV0cmljcyAqaW5jb21wbGV0ZU1l
dHJpYwogICAgICAgICBtZXRyaWNzLnJldXNlZENvbm5lY3Rpb24sCiAgICAgICAgIG1ldHJpY3Mu
cmVzcG9uc2UuVVJMLnNjaGVtZSwKICAgICAgICAgaW5jb21wbGV0ZU1ldHJpY3MucmVkaXJlY3RD
b3VudCwKLSAgICAgICAgaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdAorICAgICAgICBtZXRyaWNzRnJv
bVRhc2suZmFpbHNUQU9DaGVjaywKKyAgICAgICAgbWV0cmljc0Zyb21UYXNrLmhhc0Nyb3NzT3Jp
Z2luUmVkaXJlY3QKICAgICApOwogfQogCkBAIC0xMDksNiArMTExLDcgQEAgQm94PE5ldHdvcmtM
b2FkTWV0cmljcz4gY29weVRpbWluZ0RhdGEoTlNVUkxDb25uZWN0aW9uICpjb25uZWN0aW9uLCBj
b25zdCBSZXNvdXIKICAgICAgICAgdGltaW5nVmFsdWUoQCJfa0NGTlRpbWluZ0RhdGFDb25uZWN0
aW9uUmV1c2VkIikuZ2V0KCksCiAgICAgICAgIGNvbm5lY3Rpb24uY3VycmVudFJlcXVlc3QuVVJM
LnNjaGVtZSwKICAgICAgICAgaGFuZGxlLnJlZGlyZWN0Q291bnQoKSwKKyAgICAgICAgaGFuZGxl
LmZhaWxzVEFPQ2hlY2soKSwKICAgICAgICAgaGFuZGxlLmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3Qo
KQogICAgICk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Y3VybC9DdXJsQ2FjaGVFbnRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2N1cmwvQ3VybENhY2hlRW50cnkuY3BwCmluZGV4IDZkOTI0NzViNWViNjIwYjdkYTliMzM4ZTc2
YWJhMGZjODg3YTNlZDYuLmMxODVlYjNiOTM1OTU2NTUyZDFhNGQzNDA2YThhOGY5NGYwMGZmZTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsQ2Fj
aGVFbnRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1
cmxDYWNoZUVudHJ5LmNwcApAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgIlJlc291cmNlSGFu
ZGxlSW50ZXJuYWwuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNsdWRlICJS
ZXNvdXJjZVJlc3BvbnNlLmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRl
ICJTaGFyZWRCdWZmZXIuaCIKICNpbmNsdWRlIDx3dGYvRGF0ZU1hdGguaD4KICNpbmNsdWRlIDx3
dGYvSGV4TnVtYmVyLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2N1cmwvQ3VybENhY2hlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2N1cmwvQ3VybENhY2hlTWFuYWdlci5jcHAKaW5kZXggZTY5ZjZjMzU3NzVlZGVjY2Vi
MjJlODUxNTQ2NTNhOTQ4NjI2ZmJjZC4uNzg2OWEwZGY0ZTllYjcyOGE2ZDhmZmVjNDMzMmUzZGY3
MTlhOWU1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJs
L0N1cmxDYWNoZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvY3VybC9DdXJsQ2FjaGVNYW5hZ2VyLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUg
IlJlc291cmNlSGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5h
bC5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgorI2luY2x1ZGUgIlNlY3VyaXR5T3Jp
Z2luLmgiCiAjaW5jbHVkZSA8d3RmL0ZpbGVTeXN0ZW0uaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxSZXNvdXJjZUhhbmRsZURlbGVnYXRl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsUmVzb3VyY2VI
YW5kbGVEZWxlZ2F0ZS5jcHAKaW5kZXggZTU2NGEwY2U2NjYxNGE0OWExMDMxMzY4ODUxYzRkYTg4
MjM1MmE2MS4uNzM2MzE0Njc4MDg2ZDQyZDc0MzE5YWI2OTk3MTBiOWJmMWIyMWQxOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxSZXNvdXJjZUhh
bmRsZURlbGVnYXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1
cmwvQ3VybFJlc291cmNlSGFuZGxlRGVsZWdhdGUuY3BwCkBAIC0zNiw2ICszNiw3IEBACiAjaW5j
bHVkZSAiUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5o
IgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlSW50ZXJuYWwuaCIKKyNpbmNsdWRlICJTZWN1cml0
eU9yaWdpbi5oIgogCiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRs
ZUN1cmwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNl
SGFuZGxlQ3VybC5jcHAKaW5kZXggMzhlNWVlMTliMTQ2MTcxYjdiODI2ODUxYWJiMWYyZjQ4OTVj
NTA0MS4uZjhiNzA4YWRiNmRmZjVlMDIxNGJkZmIxMjgzNmViZjhiNmVlY2YyMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlQ3Vy
bC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNl
SGFuZGxlQ3VybC5jcHAKQEAgLTQzLDYgKzQzLDcgQEAKICNpbmNsdWRlICJOZXR3b3JrU3RvcmFn
ZVNlc3Npb24uaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUludGVybmFsLmgiCiAjaW5jbHVk
ZSAiU2FtZVNpdGVJbmZvLmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRl
ICJTaGFyZWRCdWZmZXIuaCIKICNpbmNsdWRlICJTeW5jaHJvbm91c0xvYWRlckNsaWVudC5oIgog
I2luY2x1ZGUgIlRleHRFbmNvZGluZy5oIgpAQCAtMzY1LDcgKzM2Niw3IEBAIHZvaWQgUmVzb3Vy
Y2VIYW5kbGU6OnJlc3RhcnRSZXF1ZXN0V2l0aENyZWRlbnRpYWwoY29uc3QgUHJvdGVjdGlvblNw
YWNlJiBwcm90ZWN0CiAgICAgZC0+bV9jdXJsUmVxdWVzdC0+c3RhcnQoKTsKIH0KIAotdm9pZCBS
ZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtp
bmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFN0b3Jl
ZENyZWRlbnRpYWxzUG9saWN5IHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBSZXNvdXJjZUVycm9y
JiBlcnJvciwgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFZlY3Rvcjx1aW50OF90PiYgZGF0
YSkKK3ZvaWQgUmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNs
eShOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1
ZXN0LCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgU2Vj
dXJpdHlPcmlnaW4qLCBSZXNvdXJjZUVycm9yJiBlcnJvciwgUmVzb3VyY2VSZXNwb25zZSYgcmVz
cG9uc2UsIFZlY3Rvcjx1aW50OF90PiYgZGF0YSkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFk
KCkpOwogICAgIEFTU0VSVCghcmVxdWVzdC5pc0VtcHR5KCkpOwpAQCAtMzc2LDcgKzM3Nyw3IEBA
IHZvaWQgUmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseShO
ZXR3b3JraW5nQ29udGV4dCogY29udGV4CiAgICAgYm9vbCBkZWZlcnNMb2FkaW5nID0gZmFsc2U7
CiAgICAgYm9vbCBzaG91bGRDb250ZW50U25pZmYgPSB0cnVlOwogICAgIGJvb2wgc2hvdWxkQ29u
dGVudEVuY29kaW5nU25pZmYgPSB0cnVlOwotICAgIFJlZlB0cjxSZXNvdXJjZUhhbmRsZT4gaGFu
ZGxlID0gYWRvcHRSZWYobmV3IFJlc291cmNlSGFuZGxlKGNvbnRleHQsIHJlcXVlc3QsICZjbGll
bnQsIGRlZmVyc0xvYWRpbmcsIHNob3VsZENvbnRlbnRTbmlmZiwgc2hvdWxkQ29udGVudEVuY29k
aW5nU25pZmYpKTsKKyAgICBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IGhhbmRsZSA9IGFkb3B0UmVm
KG5ldyBSZXNvdXJjZUhhbmRsZShjb250ZXh0LCByZXF1ZXN0LCAmY2xpZW50LCBkZWZlcnNMb2Fk
aW5nLCBzaG91bGRDb250ZW50U25pZmYsIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmLCBudWxs
cHRyLCBmYWxzZSkpOwogICAgIGhhbmRsZS0+ZC0+bV9tZXNzYWdlUXVldWUgPSAmY2xpZW50Lm1l
c3NhZ2VRdWV1ZSgpOwogCiAgICAgaWYgKHJlcXVlc3QudXJsKCkucHJvdG9jb2xJc0RhdGEoKSkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1N5bmNo
cm9ub3VzTG9hZGVyQ2xpZW50Q3VybC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2N1cmwvU3luY2hyb25vdXNMb2FkZXJDbGllbnRDdXJsLmNwcAppbmRleCA4MWFmZmFiYjc3
YjYxNjE5ZWYwNDY3NjNiMTYwODA1OWE0ZTkwMWJhLi41NzIwZTI0ZGY4YTAwYWZlN2E5YjE4ZDA0
YjIwMjQ0ZTU5MTFjMWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2N1cmwvU3luY2hyb25vdXNMb2FkZXJDbGllbnRDdXJsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvU3luY2hyb25vdXNMb2FkZXJDbGllbnRDdXJsLmNw
cApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmgi
CiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUlu
dGVybmFsLmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9S
ZXNvdXJjZUhhbmRsZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFj
L1Jlc291cmNlSGFuZGxlTWFjLm1tCmluZGV4IGYyYzFlZDY2NDJlNmI3YmNiZGNmYTMyN2FhZjgy
ZTliMDM3YWE0YTUuLmJjNDRjYmI0Y2ExNDZmMTQwNWUxYWRiZmJhNzM0ODkwMmY4YTgwZDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFu
ZGxlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291
cmNlSGFuZGxlTWFjLm1tCkBAIC0zNTEsNyArMzUxLDcgQEAgQ0ZTdHJpbmdSZWYgUmVzb3VyY2VI
YW5kbGU6OnN5bmNocm9ub3VzTG9hZFJ1bkxvb3BNb2RlKCkKICAgICByZXR1cm4gQ0ZTVFIoIldl
YkNvcmVTeW5jaHJvbm91c0xvYWRlclJ1bkxvb3BNb2RlIik7CiB9CiAKLXZvaWQgUmVzb3VyY2VI
YW5kbGU6OnBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4
dCogY29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBTdG9yZWRDcmVkZW50
aWFsc1BvbGljeSBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYgZXJyb3Is
IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBWZWN0b3I8dWludDhfdD4mIGRhdGEpCit2b2lk
IFJlc291cmNlSGFuZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29y
a2luZ0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgU3Rv
cmVkQ3JlZGVudGlhbHNQb2xpY3kgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIFNlY3VyaXR5T3Jp
Z2luKiBzb3VyY2VPcmlnaW4sIFJlc291cmNlRXJyb3ImIGVycm9yLCBSZXNvdXJjZVJlc3BvbnNl
JiByZXNwb25zZSwgVmVjdG9yPHVpbnQ4X3Q+JiBkYXRhKQogewogICAgIExPRyhOZXR3b3JrLCAi
UmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseTolQCBzdG9y
ZWRDcmVkZW50aWFsc1BvbGljeToldSIsIHJlcXVlc3QubnNVUkxSZXF1ZXN0KEhUVFBCb2R5VXBk
YXRlUG9saWN5OjpEb05vdFVwZGF0ZUhUVFBCb2R5KSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHN0
b3JlZENyZWRlbnRpYWxzUG9saWN5KSk7CiAKQEAgLTM2Myw3ICszNjMsNyBAQCB2b2lkIFJlc291
cmNlSGFuZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2luZ0Nv
bnRleHQqIGNvbnRleAogICAgIGJvb2wgZGVmZXJzTG9hZGluZyA9IGZhbHNlOwogICAgIGJvb2wg
c2hvdWxkQ29udGVudFNuaWZmID0gdHJ1ZTsKICAgICBib29sIHNob3VsZENvbnRlbnRFbmNvZGlu
Z1NuaWZmID0gdHJ1ZTsKLSAgICBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IGhhbmRsZSA9IGFkb3B0
UmVmKG5ldyBSZXNvdXJjZUhhbmRsZShjb250ZXh0LCByZXF1ZXN0LCAmY2xpZW50LCBkZWZlcnNM
b2FkaW5nLCBzaG91bGRDb250ZW50U25pZmYsIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKSk7
CisgICAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBoYW5kbGUgPSBhZG9wdFJlZihuZXcgUmVzb3Vy
Y2VIYW5kbGUoY29udGV4dCwgcmVxdWVzdCwgJmNsaWVudCwgZGVmZXJzTG9hZGluZywgc2hvdWxk
Q29udGVudFNuaWZmLCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwgc291cmNlT3JpZ2luLCBm
YWxzZSkpOwogCiAgICAgaGFuZGxlLT5kLT5tX3N0b3JhZ2VTZXNzaW9uID0gY29udGV4dC0+c3Rv
cmFnZVNlc3Npb24oKS0+cGxhdGZvcm1TZXNzaW9uKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0
aW9uUXVldWVEZWxlZ2F0ZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFj
L1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5tbQppbmRleCBj
NDMyNjE2OTZlM2NlZGYzNmY3ZTJkMzhhMDdkYWU0Y2EyZmUyNjRkLi42NWI3YmE4YzQxNTM2MDll
NjdlY2YxNmZjNjI0MDJhZWJlNTRkYTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVs
ZWdhdGUubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29y
ZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLm1tCkBAIC0xNDEsNiArMTQx
LDcgQEAgc3RhdGljIGJvb2wgc2NoZWR1bGVkV2l0aEN1c3RvbVJ1bkxvb3BNb2RlKGNvbnN0IHN0
ZDo6b3B0aW9uYWw8U2NoZWR1bGVQYWlySGFzaFMKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgfQogCisgICAgICAgIFJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UocmVkaXJlY3RSZXNwb25z
ZS5nZXQoKSk7CiAgICAgICAgIFJlc291cmNlUmVxdWVzdCByZWRpcmVjdFJlcXVlc3QgPSBuZXdS
ZXF1ZXN0LmdldCgpOwogICAgICAgICBpZiAoW25ld1JlcXVlc3QuZ2V0KCkgSFRUUEJvZHlTdHJl
YW1dKSB7CiAgICAgICAgICAgICBBU1NFUlQobV9oYW5kbGUtPmZpcnN0UmVxdWVzdCgpLmh0dHBC
b2R5KCkpOwpAQCAtMTUwLDEwICsxNTEsMTMgQEAgc3RhdGljIGJvb2wgc2NoZWR1bGVkV2l0aEN1
c3RvbVJ1bkxvb3BNb2RlKGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2NoZWR1bGVQYWlySGFzaFMKICAg
ICAgICAgICAgIHJlZGlyZWN0UmVxdWVzdC5jbGVhckhUVFBDb250ZW50VHlwZSgpOwogCiAgICAg
ICAgIC8vIENoZWNrIGlmIHRoZSByZWRpcmVjdGVkIHVybCBpcyBhbGxvd2VkIHRvIGFjY2VzcyB0
aGUgcmVkaXJlY3RpbmcgdXJsJ3MgdGltaW5nIGluZm9ybWF0aW9uLgotICAgICAgICBtX2hhbmRs
ZS0+c2V0SGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCghV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OmNy
ZWF0ZShyZWRpcmVjdFJlcXVlc3QudXJsKCkpLT5jYW5SZXF1ZXN0KHJlZGlyZWN0UmVzcG9uc2Uu
Z2V0KCkuVVJMKSk7CisgICAgICAgIGlmICghbV9oYW5kbGUtPmhhc0Nyb3NzT3JpZ2luUmVkaXJl
Y3QoKSAmJiAhV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OmNyZWF0ZShyZWRpcmVjdFJlcXVlc3Qu
dXJsKCkpLT5jYW5SZXF1ZXN0KHJlZGlyZWN0UmVzcG9uc2UuZ2V0KCkuVVJMKSkKKyAgICAgICAg
ICAgIG1faGFuZGxlLT5tYXJrQXNIYXZpbmdDcm9zc09yaWdpblJlZGlyZWN0KCk7CisgICAgICAg
IG1faGFuZGxlLT5jaGVja1RBTyhyZXNwb25zZSk7CisKICAgICAgICAgbV9oYW5kbGUtPmluY3Jl
bWVudFJlZGlyZWN0Q291bnQoKTsKIAotICAgICAgICBtX2hhbmRsZS0+d2lsbFNlbmRSZXF1ZXN0
KFdURk1vdmUocmVkaXJlY3RSZXF1ZXN0KSwgcmVkaXJlY3RSZXNwb25zZS5nZXQoKSwgW3NlbGYs
IHByb3RlY3RlZFNlbGYgPSBXVEZNb3ZlKHByb3RlY3RlZFNlbGYpXShSZXNvdXJjZVJlcXVlc3Qm
JiByZXF1ZXN0KSB7CisgICAgICAgIG1faGFuZGxlLT53aWxsU2VuZFJlcXVlc3QoV1RGTW92ZShy
ZWRpcmVjdFJlcXVlc3QpLCBXVEZNb3ZlKHJlc3BvbnNlKSwgW3NlbGYsIHByb3RlY3RlZFNlbGYg
PSBXVEZNb3ZlKHByb3RlY3RlZFNlbGYpXShSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0KSB7CiAg
ICAgICAgICAgICBtX3JlcXVlc3RSZXN1bHQgPSByZXF1ZXN0Lm5zVVJMUmVxdWVzdChIVFRQQm9k
eVVwZGF0ZVBvbGljeTo6VXBkYXRlSFRUUEJvZHkpOwogICAgICAgICAgICAgbV9zZW1hcGhvcmUu
c2lnbmFsKCk7CiAgICAgICAgIH0pOwpAQCAtMjU3LDggKzI2MSwxMCBAQCBBTExPV19ERVBSRUNB
VEVEX0lNUExFTUVOVEFUSU9OU19FTkQKICAgICAgICAgaWYgKFttX2hhbmRsZS0+Zmlyc3RSZXF1
ZXN0KCkubnNVUkxSZXF1ZXN0KEhUVFBCb2R5VXBkYXRlUG9saWN5OjpEb05vdFVwZGF0ZUhUVFBC
b2R5KSBfcHJvcGVydHlGb3JLZXk6QCJGb3JjZUhUTUxNSU1FVHlwZSJdKQogICAgICAgICAgICAg
W3IgX3NldE1JTUVUeXBlOkAidGV4dC9odG1sIl07CiAKLSAgICAgICAgYXV0byBtZXRyaWNzID0g
Y29weVRpbWluZ0RhdGEoY29ubmVjdGlvbi5nZXQoKSwgKm1faGFuZGxlKTsKICAgICAgICAgUmVz
b3VyY2VSZXNwb25zZSByZXNvdXJjZVJlc3BvbnNlKHIuZ2V0KCkpOworICAgICAgICBtX2hhbmRs
ZS0+Y2hlY2tUQU8ocmVzb3VyY2VSZXNwb25zZSk7CisKKyAgICAgICAgYXV0byBtZXRyaWNzID0g
Y29weVRpbWluZ0RhdGEoY29ubmVjdGlvbi5nZXQoKSwgKm1faGFuZGxlKTsKICAgICAgICAgcmVz
b3VyY2VSZXNwb25zZS5zZXRTb3VyY2UoUmVzb3VyY2VSZXNwb25zZTo6U291cmNlOjpOZXR3b3Jr
KTsKICAgICAgICAgcmVzb3VyY2VSZXNwb25zZS5zZXREZXByZWNhdGVkTmV0d29ya0xvYWRNZXRy
aWNzKEJveDxOZXR3b3JrTG9hZE1ldHJpY3M+IHsgbWV0cmljcyB9KTsKIApAQCAtMzMzLDYgKzMz
OSw3IEBAIEFMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5UQVRJT05TX0VORAogICAgICAgICAgICAg
ICAgIG1ldHJpY3MtPnJlc3BvbnNlRW5kID0gV2FsbFRpbWU6OmZyb21SYXdTZWNvbmRzKGFkb3B0
TlMoW1tOU0RhdGUgYWxsb2NdIGluaXRXaXRoVGltZUludGVydmFsU2luY2VSZWZlcmVuY2VEYXRl
OnJlc3BvbnNlRW5kVGltZV0pLmdldCgpLnRpbWVJbnRlcnZhbFNpbmNlMTk3MCkuYXBwcm94aW1h
dGVNb25vdG9uaWNUaW1lKCk7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgbWV0
cmljcy0+cmVzcG9uc2VFbmQgPSBtZXRyaWNzLT5yZXNwb25zZVN0YXJ0OworICAgICAgICAgICAg
bWV0cmljcy0+cHJvdG9jb2wgPSAoTlNTdHJpbmcgKilbdGltaW5nRGF0YSBvYmplY3RGb3JLZXk6
QCJfa0NGTlRpbWluZ0RhdGFOZXR3b3JrUHJvdG9jb2xOYW1lIl07CiAgICAgICAgICAgICBtZXRy
aWNzLT5yZXNwb25zZUJvZHlCeXRlc1JlY2VpdmVkID0gW1t0aW1pbmdEYXRhIG9iamVjdEZvcktl
eTpAIl9rQ0ZOVGltaW5nRGF0YVJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQiXSB1bnNpZ25lZExv
bmdMb25nVmFsdWVdOwogICAgICAgICAgICAgbWV0cmljcy0+cmVzcG9uc2VCb2R5RGVjb2RlZFNp
emUgPSBbW3RpbWluZ0RhdGEgb2JqZWN0Rm9yS2V5OkAiX2tDRk5UaW1pbmdEYXRhUmVzcG9uc2VC
b2R5Qnl0ZXNEZWNvZGVkIl0gdW5zaWduZWRMb25nTG9uZ1ZhbHVlXTsKICAgICAgICAgICAgIG1l
dHJpY3MtPm1hcmtDb21wbGV0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL0NyZWRlbnRpYWxTdG9yYWdlU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ3JlZGVudGlhbFN0b3JhZ2VTb3VwLmNwcAppbmRleCBl
NWVjMTZmOTUyNjAyNmRlYTRkMGVhNjZmMzlmMzEwOTcwY2Q0Yzg2Li41MzU3ZTI4Mzk5YTgwNzZm
YjJjOWZmMDIzNmJjZDBiMzU2YWQyNzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvQ3JlZGVudGlhbFN0b3JhZ2VTb3VwLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ3JlZGVudGlhbFN0b3JhZ2VTb3VwLmNwcApA
QCAtMjksNiArMjksNyBAQAogI2lmIFVTRShTT1VQKQogCiAjaW5jbHVkZSAiQ3JlZGVudGlhbC5o
IgorI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNl
SGFuZGxlU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVz
b3VyY2VIYW5kbGVTb3VwLmNwcAppbmRleCA2OGFkNDY0MTcxMzYwZWU5YTg4Njk1NzM2MWU3OGY1
Yjg0ZDI0MGQxLi40OTc1NGNkN2YxMDNkZDE4NWQ3YTE3ODUxZTk1Y2UyZTQ1NTkxMGU2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5k
bGVTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVz
b3VyY2VIYW5kbGVTb3VwLmNwcApAQCAtMTI3LDcgKzEyNyw3IEBAIHZvaWQgUmVzb3VyY2VIYW5k
bGU6OnBsYXRmb3JtU2V0RGVmZXJzTG9hZGluZyhib29sKQogICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwogfQogCi12b2lkIFJlc291cmNlSGFuZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNo
cm9ub3VzbHkoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBTdG9y
ZWRDcmVkZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVzcG9uc2UmLCBW
ZWN0b3I8dWludDhfdD4mKQordm9pZCBSZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1Mb2FkUmVzb3Vy
Y2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiwgU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIFNlY3VyaXR5T3JpZ2luKiwgUmVzb3VyY2VFcnJv
ciYsIFJlc291cmNlUmVzcG9uc2UmLCBWZWN0b3I8dWludDhfdD4mKQogewogICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrTG9hZFBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya0xvYWRQYXJhbWV0ZXJzLmgKaW5kZXggZjhkNjE3YWU5M2YwZGFhOWU4ZWJlOWI5NzA1
NmVmMDAzNmU0ZDM5Yy4uMDRjYjAzOTBjOWNmZDg2YjkxMWQ0OGY5YWY5Y2QxNzJlOGIzYTczNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZFBhcmFt
ZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkUGFy
YW1ldGVycy5oCkBAIC00OCw2ICs0OCw3IEBAIHB1YmxpYzoKICAgICBXZWJDb3JlOjpQYWdlSWRl
bnRpZmllciB3ZWJQYWdlSUQ7CiAgICAgV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIHdlYkZyYW1l
SUQ7CiAgICAgUmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPiB0b3BPcmlnaW47CisgICAg
UmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPiBzb3VyY2VPcmlnaW47CiAgICAgV1RGOjpQ
cm9jZXNzSUQgcGFyZW50UElEIHsgMCB9OwogI2lmIEhBVkUoQVVESVRfVE9LRU4pCiAgICAgc3Rk
OjpvcHRpb25hbDxhdWRpdF90b2tlbl90PiBuZXR3b3JrUHJvY2Vzc0F1ZGl0VG9rZW47CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQ
YXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJj
ZUxvYWRQYXJhbWV0ZXJzLmgKaW5kZXggZjBlNDIwZjUxMDNlYmQ1MWFmZDdjZTg5Y2JiN2IzNWY5
NjI1YTM1OS4uMjIyZDZmNGE3NDc2YzkxMzgzZjdhM2E1OTc2OTk1ZTU2ZWIzNzBmNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFy
YW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZFBhcmFtZXRlcnMuaApAQCAtNTIsNyArNTIsNiBAQCBwdWJsaWM6CiAgICAgVmVjdG9y
PFJlZlB0cjxTYW5kYm94RXh0ZW5zaW9uPj4gcmVxdWVzdEJvZHlTYW5kYm94RXh0ZW5zaW9uczsg
Ly8gQ3JlYXRlZCBhdXRvbWF0aWNhbGx5IGZvciB0aGUgc2VuZGVyLgogICAgIFJlZlB0cjxTYW5k
Ym94RXh0ZW5zaW9uPiByZXNvdXJjZVNhbmRib3hFeHRlbnNpb247IC8vIENyZWF0ZWQgYXV0b21h
dGljYWxseSBmb3IgdGhlIHNlbmRlci4KICAgICBTZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1l
OwotICAgIFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4gc291cmNlT3JpZ2luOwogICAg
IFdlYkNvcmU6OkZldGNoT3B0aW9ucyBvcHRpb25zOwogICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29y
ZTo6Q29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzPiBjc3BSZXNwb25zZUhlYWRl
cnM7CiAgICAgV2ViQ29yZTo6SFRUUEhlYWRlck1hcCBvcmlnaW5hbFJlcXVlc3RIZWFkZXJzOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VM
b2FkZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VM
b2FkZXIuY3BwCmluZGV4IDA4NGJkZTFiM2ZjMWJlNjVjOGZkNzQwZGIwYjQyMjUwZGNhNjgzYTUu
LmVjMTZkOTcyZDM0YmUxMjkwMzhmM2NhNmIyMzYzNDNjZjcwYjU0MmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAK
QEAgLTg2LDcgKzg2LDcgQEAgc3RydWN0IE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6U3luY2hyb25v
dXNMb2FkRGF0YSB7CiAgICAgUmVzb3VyY2VFcnJvciBlcnJvcjsKIH07CiAKLXN0YXRpYyB2b2lk
IHNlbmRSZXBseVRvU3luY2hyb25vdXNSZXF1ZXN0KE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6U3lu
Y2hyb25vdXNMb2FkRGF0YSYgZGF0YSwgY29uc3QgU2hhcmVkQnVmZmVyKiBidWZmZXIpCitzdGF0
aWMgdm9pZCBzZW5kUmVwbHlUb1N5bmNocm9ub3VzUmVxdWVzdChOZXR3b3JrUmVzb3VyY2VMb2Fk
ZXI6OlN5bmNocm9ub3VzTG9hZERhdGEmIGRhdGEsIGNvbnN0IFNoYXJlZEJ1ZmZlciogYnVmZmVy
LCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG1ldHJpY3MpCiB7CiAgICAgQVNTRVJUKGRhdGEu
ZGVsYXllZFJlcGx5KTsKICAgICBBU1NFUlQoIWRhdGEucmVzcG9uc2UuaXNOdWxsKCkgfHwgIWRh
dGEuZXJyb3IuaXNOdWxsKCkpOwpAQCAtOTUsNiArOTUsOCBAQCBzdGF0aWMgdm9pZCBzZW5kUmVw
bHlUb1N5bmNocm9ub3VzUmVxdWVzdChOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OlN5bmNocm9ub3Vz
TG9hZAogICAgIGlmIChidWZmZXIgJiYgYnVmZmVyLT5zaXplKCkpCiAgICAgICAgIHJlc3BvbnNl
QnVmZmVyLmFwcGVuZChidWZmZXItPmRhdGEoKSwgYnVmZmVyLT5zaXplKCkpOwogCisgICAgZGF0
YS5yZXNwb25zZS5zZXREZXByZWNhdGVkTmV0d29ya0xvYWRNZXRyaWNzKEJveDxOZXR3b3JrTG9h
ZE1ldHJpY3M+OjpjcmVhdGUobWV0cmljcykpOworCiAgICAgZGF0YS5kZWxheWVkUmVwbHkoZGF0
YS5lcnJvciwgZGF0YS5yZXNwb25zZSwgcmVzcG9uc2VCdWZmZXIpOwogICAgIGRhdGEuZGVsYXll
ZFJlcGx5ID0gbnVsbHB0cjsKIH0KQEAgLTcyOCw3ICs3MzAsNyBAQCB2b2lkIE5ldHdvcmtSZXNv
dXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyhjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG5l
dHdvcmtMbwogI2VuZGlmCiAKICAgICBpZiAoaXNTeW5jaHJvbm91cygpKQotICAgICAgICBzZW5k
UmVwbHlUb1N5bmNocm9ub3VzUmVxdWVzdCgqbV9zeW5jaHJvbm91c0xvYWREYXRhLCBtX2J1ZmZl
cmVkRGF0YS5nZXQoKSk7CisgICAgICAgIHNlbmRSZXBseVRvU3luY2hyb25vdXNSZXF1ZXN0KCpt
X3N5bmNocm9ub3VzTG9hZERhdGEsIG1fYnVmZmVyZWREYXRhLmdldCgpLCBuZXR3b3JrTG9hZE1l
dHJpY3MpOwogICAgIGVsc2UgewogICAgICAgICBpZiAobV9idWZmZXJlZERhdGEgJiYgIW1fYnVm
ZmVyZWREYXRhLT5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIC8vIEZJWE1FOiBQYXNzIGEgcmVh
bCB2YWx1ZSBvciByZW1vdmUgdGhlIGVuY29kZWQgZGF0YSBzaXplIGZlYXR1cmUuCkBAIC03NjMs
NyArNzY1LDcgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpZEZhaWxMb2FkaW5nKGNv
bnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQogCiAgICAgaWYgKGlzU3luY2hyb25vdXMoKSkgewog
ICAgICAgICBtX3N5bmNocm9ub3VzTG9hZERhdGEtPmVycm9yID0gZXJyb3I7Ci0gICAgICAgIHNl
bmRSZXBseVRvU3luY2hyb25vdXNSZXF1ZXN0KCptX3N5bmNocm9ub3VzTG9hZERhdGEsIG51bGxw
dHIpOworICAgICAgICBzZW5kUmVwbHlUb1N5bmNocm9ub3VzUmVxdWVzdCgqbV9zeW5jaHJvbm91
c0xvYWREYXRhLCBudWxscHRyLCB7IH0pOwogICAgIH0gZWxzZSBpZiAoYXV0byogY29ubmVjdGlv
biA9IG1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uKCkpIHsKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JL
RVIpCiAgICAgICAgIGlmIChtX3NlcnZpY2VXb3JrZXJGZXRjaFRhc2spCkBAIC0xMTQyLDcgKzEx
NDQsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkUmV0cmlldmVDYWNoZUVudHJ5
KHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrQ2FjaGU6OgogICAgIHJlc3BvbnNlID0gc2FuaXRpemVS
ZXNwb25zZUlmUG9zc2libGUoV1RGTW92ZShyZXNwb25zZSksIFJlc291cmNlUmVzcG9uc2U6OlNh
bml0aXphdGlvblR5cGU6OkNyb3NzT3JpZ2luU2FmZSk7CiAgICAgaWYgKGlzU3luY2hyb25vdXMo
KSkgewogICAgICAgICBtX3N5bmNocm9ub3VzTG9hZERhdGEtPnJlc3BvbnNlID0gV1RGTW92ZShy
ZXNwb25zZSk7Ci0gICAgICAgIHNlbmRSZXBseVRvU3luY2hyb25vdXNSZXF1ZXN0KCptX3N5bmNo
cm9ub3VzTG9hZERhdGEsIGVudHJ5LT5idWZmZXIoKSk7CisgICAgICAgIHNlbmRSZXBseVRvU3lu
Y2hyb25vdXNSZXF1ZXN0KCptX3N5bmNocm9ub3VzTG9hZERhdGEsIGVudHJ5LT5idWZmZXIoKSwg
eyB9KTsKICAgICAgICAgY2xlYW51cChMb2FkUmVzdWx0OjpTdWNjZXNzKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29j
b2EvTmV0d29ya0RhdGFUYXNrQ29jb2EuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EuaAppbmRleCBmYWQyNDhlOTM5NDY4NzNjMjY5YmQ5
OGFkNDM0Y2E3NDIxODAwNGEzLi40ZWJiZDkwY2M2NDVkZjVmOWRkYmI4NjBkMDhhYTNlYjA1M2My
ZmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdv
cmtEYXRhVGFza0NvY29hLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2Nv
YS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5oCkBAIC04NCw2ICs4NCw4IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldEgyUGluZ0NhbGxiYWNrKGNvbnN0IFVSTCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
RXhwZWN0ZWQ8V1RGOjpTZWNvbmRzLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPiYmKT4mJikgb3Zl
cnJpZGU7CiAgICAgdm9pZCBzZXRQcmlvcml0eShXZWJDb3JlOjpSZXNvdXJjZUxvYWRQcmlvcml0
eSkgb3ZlcnJpZGU7CiAKKyAgICB2b2lkIGNoZWNrVEFPKGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVzcG9uc2UmKTsKKwogcHJpdmF0ZToKICAgICBOZXR3b3JrRGF0YVRhc2tDb2NvYShOZXR3b3Jr
U2Vzc2lvbiYsIE5ldHdvcmtEYXRhVGFza0NsaWVudCYsIGNvbnN0IE5ldHdvcmtMb2FkUGFyYW1l
dGVycyYpOwogCkBAIC0xMjAsNiArMTIyLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNGb3JN
YWluUmVzb3VyY2VOYXZpZ2F0aW9uRm9yQW55RnJhbWUgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9p
c0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQgeyBmYWxzZSB9OwogICAgIFdlYkNvcmU6OlNob3VsZFJl
bGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nIG1fc2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2ll
QmxvY2tpbmcgeyBXZWJDb3JlOjpTaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZzo6
Tm8gfTsKKyAgICBSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+IG1fc291cmNlT3JpZ2lu
OwogfTsKIAogV2ViQ29yZTo6Q3JlZGVudGlhbCBzZXJ2ZXJUcnVzdENyZWRlbnRpYWwoY29uc3Qg
V2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0gYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCmlu
ZGV4IGNmZGZlMTM2OWNlNmE4ZTVmYmUzZjZmYTQxMTU3NzMwMjk0ZjczMjMuLjM0MGQ3ZGFjMjg2
YjczYjgzYzUxZWJkMGY2ODBmYzRhYmY5ZGFmOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KKysrIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQpAQCAt
NDAsNiArNDAsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2ltcG9y
dCA8V2ViQ29yZS9SZWdpc3RyYWJsZURvbWFpbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJj
ZVJlcXVlc3QuaD4KKyNpbXBvcnQgPFdlYkNvcmUvVGltaW5nQWxsb3dPcmlnaW4uaD4KICNpbXBv
cnQgPHBhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmg+CiAjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4K
ICNpbXBvcnQgPHd0Zi9GaWxlU3lzdGVtLmg+CkBAIC0zMDAsNiArMzAxLDcgQEAgTmV0d29ya0Rh
dGFUYXNrQ29jb2E6Ok5ldHdvcmtEYXRhVGFza0NvY29hKE5ldHdvcmtTZXNzaW9uJiBzZXNzaW9u
LCBOZXR3b3JrRGF0YVQKICAgICAsIG1faXNGb3JNYWluUmVzb3VyY2VOYXZpZ2F0aW9uRm9yQW55
RnJhbWUocGFyYW1ldGVycy5pc01haW5SZXNvdXJjZU5hdmlnYXRpb25Gb3JBbnlGcmFtZSkKICAg
ICAsIG1faXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKGNvbXB1dGVJc0Fsd2F5c09uTG9nZ2luZ0Fs
bG93ZWQoc2Vzc2lvbikpCiAgICAgLCBtX3Nob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2Nr
aW5nKHBhcmFtZXRlcnMuc2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tpbmcpCisgICAg
LCBtX3NvdXJjZU9yaWdpbihwYXJhbWV0ZXJzLnNvdXJjZU9yaWdpbikKIHsKICAgICBhdXRvIHJl
cXVlc3QgPSBwYXJhbWV0ZXJzLnJlcXVlc3Q7CiAgICAgYXV0byB1cmwgPSByZXF1ZXN0LnVybCgp
OwpAQCAtNDYwLDkgKzQ2Miw3IEBAIHZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OndpbGxQZXJm
b3JtSFRUUFJlZGlyZWN0aW9uKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmCiB7CiAgICAgV1RG
RW1pdFNpZ25wb3N0KG1fdGFzay5nZXQoKSwgIkRhdGFUYXNrIiwgInJlZGlyZWN0Iik7CiAKLSAg
ICAvLyBDaGVjayBpZiB0aGUgcmVkaXJlY3RlZCB1cmwgaXMgYWxsb3dlZCB0byBhY2Nlc3MgdGhl
IHJlZGlyZWN0aW5nIHVybCdzIHRpbWluZyBpbmZvcm1hdGlvbi4KLSAgICAvLyBGSVhNRTogVGhp
cyBzaG91bGQgbm90IHNldCBiYWNrIHRvIHRydWUgYWZ0ZXIgYW5vdGhlciBzYW1lLW9yaWdpbiBy
ZWRpcmVjdCBvbmNlIGl0IGhhcyBiZWVuIHNldCB0byB0cnVlLgotICAgIG5ldHdvcmtMb2FkTWV0
cmljcygpLmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QgPSAhV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46
OmNyZWF0ZShyZXF1ZXN0LnVybCgpKS0+Y2FuUmVxdWVzdChyZWRpcmVjdFJlc3BvbnNlLnVybCgp
KTsKKyAgICBuZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0ID0gbmV0
d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCB8fCAhV2ViQ29yZTo6U2Vj
dXJpdHlPcmlnaW46OmNyZWF0ZShyZXF1ZXN0LnVybCgpKS0+Y2FuUmVxdWVzdChyZWRpcmVjdFJl
c3BvbnNlLnVybCgpKTsKIAogICAgIGlmIChyZWRpcmVjdFJlc3BvbnNlLmh0dHBTdGF0dXNDb2Rl
KCkgPT0gMzA3IHx8IHJlZGlyZWN0UmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSA9PSAzMDgpIHsK
ICAgICAgICAgQVNTRVJUKG1fbGFzdEhUVFBNZXRob2QgPT0gcmVxdWVzdC5odHRwTWV0aG9kKCkp
OwpAQCAtNzE5LDQgKzcxOSwxOSBAQCB2b2lkIE5ldHdvcmtEYXRhVGFza0NvY29hOjpzZXRQcmlv
cml0eShXZWJDb3JlOjpSZXNvdXJjZUxvYWRQcmlvcml0eSBwcmlvcml0eSkKICAgICBtX3Rhc2su
Z2V0KCkucHJpb3JpdHkgPSB0b05TVVJMU2Vzc2lvblRhc2tQcmlvcml0eShwcmlvcml0eSk7CiB9
CiAKK3ZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OmNoZWNrVEFPKGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQoreworICAgIGlmIChuZXR3b3JrTG9hZE1ldHJpY3Mo
KS5mYWlsc1RBT0NoZWNrKQorICAgICAgICByZXR1cm47CisKKyAgICBSZWZQdHI8V2ViQ29yZTo6
U2VjdXJpdHlPcmlnaW4+IG9yaWdpbjsKKyAgICBpZiAoaXNUb3BMZXZlbE5hdmlnYXRpb24oKSkK
KyAgICAgICAgb3JpZ2luID0gV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OmNyZWF0ZShmaXJzdFJl
cXVlc3QoKS51cmwoKSk7CisgICAgZWxzZQorICAgICAgICBvcmlnaW4gPSBtX3NvdXJjZU9yaWdp
bjsKKworICAgIGlmIChvcmlnaW4pCisgICAgICAgIG5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxz
VEFPQ2hlY2sgPSAhcGFzc2VzVGltaW5nQWxsb3dPcmlnaW5DaGVjayhyZXNwb25zZSwgKm9yaWdp
bik7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29j
b2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbQppbmRleCBjNjk2MjdkZWUyMzEwZjVjMzQ3YmEx
NDVkYjY0YmRlZjkyM2ExYjU0Li5lZTJhZmRhYjg4MjM4M2ExMTExMmVkZTBmNDJhZjhmMDI4OTJh
ZmExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdv
cmtTZXNzaW9uQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2Nv
YS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCkBAIC01NTUsNyArNTU1LDEwIEBAIHN0YXRpYyB2b2lk
IHVwZGF0ZUlnbm9yZVN0cmljdFRyYW5zcG9ydFNlY3VyaXR5U2V0dGluZyhSZXRhaW5QdHI8TlNV
UkxSZXF1ZXN0PiYKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogI2VuZGlmCiAK
LSAgICAgICAgbmV0d29ya0RhdGFUYXNrLT53aWxsUGVyZm9ybUhUVFBSZWRpcmVjdGlvbihyZXNw
b25zZSwgcmVxdWVzdCwgW2NvbXBsZXRpb25IYW5kbGVyID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRp
b25IYW5kbGVyKSwgdGFza0lkZW50aWZpZXIsIHNob3VsZElnbm9yZUhTVFNdKGF1dG8mJiByZXF1
ZXN0KSB7CisgICAgICAgIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVzb3VyY2VSZXNwb25z
ZShyZXNwb25zZSk7CisgICAgICAgIG5ldHdvcmtEYXRhVGFzay0+Y2hlY2tUQU8ocmVzb3VyY2VS
ZXNwb25zZSk7CisKKyAgICAgICAgbmV0d29ya0RhdGFUYXNrLT53aWxsUGVyZm9ybUhUVFBSZWRp
cmVjdGlvbihXVEZNb3ZlKHJlc291cmNlUmVzcG9uc2UpLCByZXF1ZXN0LCBbY29tcGxldGlvbkhh
bmRsZXIgPSBtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhhbmRsZXIpLCB0YXNrSWRlbnRpZmllciwg
c2hvdWxkSWdub3JlSFNUU10oYXV0byYmIHJlcXVlc3QpIHsKICNpZiAhTE9HX0RJU0FCTEVECiAg
ICAgICAgICAgICBMT0coTmV0d29ya1Nlc3Npb24sICIlbGx1IHdpbGxQZXJmb3JtSFRUUFJlZGly
ZWN0aW9uIGNvbXBsZXRpb25IYW5kbGVyICglcykiLCB0YXNrSWRlbnRpZmllciwgcmVxdWVzdC51
cmwoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKICNlbHNlCkBAIC05MTUsNyArOTE4LDkgQEAg
c3RhdGljIGlubGluZSB2b2lkIHByb2Nlc3NTZXJ2ZXJUcnVzdEV2YWx1YXRpb24oTmV0d29ya1Nl
c3Npb25Db2NvYSYgc2Vzc2lvbiwgU2UKICAgICAgICAgLy8gYWxsIHRoZSBmaWVsZHMgd2hlbiBz
ZW5kaW5nIHRoZSByZXNwb25zZSB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzIG92ZXIgSVBDLgog
ICAgICAgICByZXNvdXJjZVJlc3BvbnNlLmRpc2FibGVMYXp5SW5pdGlhbGl6YXRpb24oKTsKIAot
ICAgICAgICByZXNvdXJjZVJlc3BvbnNlLnNldERlcHJlY2F0ZWROZXR3b3JrTG9hZE1ldHJpY3Mo
V2ViQ29yZTo6Y29weVRpbWluZ0RhdGEodGFza01ldHJpY3MsIG5ldHdvcmtEYXRhVGFzay0+bmV0
d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkpOworICAgICAgICBuZXR3
b3JrRGF0YVRhc2stPmNoZWNrVEFPKHJlc291cmNlUmVzcG9uc2UpOworCisgICAgICAgIHJlc291
cmNlUmVzcG9uc2Uuc2V0RGVwcmVjYXRlZE5ldHdvcmtMb2FkTWV0cmljcyhXZWJDb3JlOjpjb3B5
VGltaW5nRGF0YSh0YXNrTWV0cmljcywgbmV0d29ya0RhdGFUYXNrLT5uZXR3b3JrTG9hZE1ldHJp
Y3MoKSkpOwogCiAgICAgICAgIG5ldHdvcmtEYXRhVGFzay0+ZGlkUmVjZWl2ZVJlc3BvbnNlKFdU
Rk1vdmUocmVzb3VyY2VSZXNwb25zZSksIG5lZ290aWF0ZWRMZWdhY3lUTFMsIFtjb21wbGV0aW9u
SGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlciksIHRhc2tJZGVudGlmaWVy
XShXZWJDb3JlOjpQb2xpY3lBY3Rpb24gcG9saWN5QWN0aW9uKSB7CiAjaWYgIUxPR19ESVNBQkxF
RApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtE
YXRhVGFza1NvdXAuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdv
cmtEYXRhVGFza1NvdXAuY3BwCmluZGV4IDQ1NzgwNzYwNWQ3ODFiZTMzNDg5NzM1Nzg0OWYwMGY0
YzBmNWFiNWEuLjFiNzI0OGIwMWE2NjQ5ODIyYzQzYzU3NTFjMDFhZjJkODU2NjgxNjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrRGF0YVRhc2tT
b3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya0Rh
dGFUYXNrU291cC5jcHAKQEAgLTg2MSw4ICs4NjEsOSBAQCB2b2lkIE5ldHdvcmtEYXRhVGFza1Nv
dXA6OmNvbnRpbnVlSFRUUFJlZGlyZWN0aW9uKCkKICAgICAgICAgcmVkaXJlY3RlZFVSTC5zZXRG
cmFnbWVudElkZW50aWZpZXIocmVxdWVzdC51cmwoKS5mcmFnbWVudElkZW50aWZpZXIoKSk7CiAg
ICAgcmVxdWVzdC5zZXRVUkwocmVkaXJlY3RlZFVSTCk7CiAKLSAgICAvLyBDaGVjayBpZiB0aGUg
cmVkaXJlY3RlZCB1cmwgaXMgYWxsb3dlZCB0byBhY2Nlc3MgdGhlIHJlZGlyZWN0aW5nIHVybCdz
IHRpbWluZyBpbmZvcm1hdGlvbi4KLSAgICBtX25ldHdvcmtMb2FkTWV0cmljcy5oYXNDcm9zc09y
aWdpblJlZGlyZWN0ID0gIVNlY3VyaXR5T3JpZ2luOjpjcmVhdGUobV9jdXJyZW50UmVxdWVzdC51
cmwoKSktPmNhblJlcXVlc3QocmVxdWVzdC51cmwoKSk7CisgICAgbV9uZXR3b3JrTG9hZE1ldHJp
Y3MuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCA9IG1fbmV0d29ya0xvYWRNZXRyaWNzLmhhc0Nyb3Nz
T3JpZ2luUmVkaXJlY3QgfHwgIVNlY3VyaXR5T3JpZ2luOjpjcmVhdGUobV9jdXJyZW50UmVxdWVz
dC51cmwoKSktPmNhblJlcXVlc3QocmVxdWVzdC51cmwoKSk7CisgICAgLy8gRklYTUU6IEFkZCBU
QU8gY2hlY2tzIGhlcmUgYW5kIHdoZW4gcmVjZWl2aW5nIGEgcmVzcG9uc2UuCisgICAgLy8gVGhp
cyB3YXMgZG9uZSBvbiBDb2NvYSBwbGF0Zm9ybXMgaW4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyNjY3OAogCiAgICAgLy8gQ2xlYXIgdGhlIHVzZXIgYWdlbnQgdG8g
ZW5zdXJlIGEgbmV3IG9uZSBpcyBjb21wdXRlZC4KICAgICBhdXRvIHVzZXJBZ2VudCA9IHJlcXVl
c3QuaHR0cFVzZXJBZ2VudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9XZWJD
b3JlU3VwcG9ydC9QaW5nSGFuZGxlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYkNvcmVTdXBw
b3J0L1BpbmdIYW5kbGUuaAppbmRleCAwOTI5Y2VmOTc4OWMwY2NmMTFhM2U5NDEwZjVkZTZmZmNh
ZmViYTYwLi4xZjU1ODRmYTM4N2Q3NmNjZTk0ZmY3YjU2OTY4ZTdlODIyMDYwNjA2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYkNvcmVTdXBwb3J0L1BpbmdIYW5kbGUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYkNvcmVTdXBwb3J0L1BpbmdIYW5kbGUuaApAQCAtNTAs
NyArNTAsNyBAQCBwdWJsaWM6CiAgICAgICAgIGJvb2wgZGVmZXJzTG9hZGluZyA9IGZhbHNlOwog
ICAgICAgICBib29sIHNob3VsZENvbnRlbnRTbmlmZiA9IGZhbHNlOwogICAgICAgICBib29sIHNo
b3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmID0gdHJ1ZTsKLSAgICAgICAgbV9oYW5kbGUgPSBXZWJD
b3JlOjpSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlKG5ldHdvcmtpbmdDb250ZXh0LCByZXF1ZXN0LCB0
aGlzLCBkZWZlcnNMb2FkaW5nLCBzaG91bGRDb250ZW50U25pZmYsIHNob3VsZENvbnRlbnRFbmNv
ZGluZ1NuaWZmKTsKKyAgICAgICAgbV9oYW5kbGUgPSBXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6
Y3JlYXRlKG5ldHdvcmtpbmdDb250ZXh0LCByZXF1ZXN0LCB0aGlzLCBkZWZlcnNMb2FkaW5nLCBz
aG91bGRDb250ZW50U25pZmYsIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmLCBudWxscHRyLCBm
YWxzZSk7CiAKICAgICAgICAgLy8gSWYgdGhlIHNlcnZlciBuZXZlciByZXNwb25kcywgdGhpcyBv
YmplY3Qgd2lsbCBoYW5nIGFyb3VuZCBmb3JldmVyLgogICAgICAgICAvLyBTZXQgYSB2ZXJ5IGdl
bmVyb3VzIHRpbWVvdXQsIGp1c3QgaW4gY2FzZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcCBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNw
cAppbmRleCA5MWM4M2EwNDNmMjczNWE5NzA0NmYxZDMyMzhmMGVmYWFmM2I2MzdlLi43ZGNmZTBi
ODc5Y2E4NTQ1Njk2ODM3ZWVjN2NhODkwZjk5OGE5OTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAKKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hl
ZHVsZXIuY3BwCkBAIC0xMDksNyArMTA5LDkgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTY2hlZHVs
ZXI6OmxvYWRSZXNvdXJjZShGcmFtZSYgZnJhbWUsIENhY2hlZFJlc291cmNlJiByZXNvdXIKIAog
dm9pZCBXZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHko
RnJhbWVMb2FkZXImIGZyYW1lTG9hZGVyLCB1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIHJlcXVlc3QsIENsaWVudENyZWRlbnRpYWxQb2xpY3ksIGNvbnN0IEZldGNoT3B0aW9u
cyYgb3B0aW9ucywgY29uc3QgSFRUUEhlYWRlck1hcCYsIFJlc291cmNlRXJyb3ImIGVycm9yLCBS
ZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgVmVjdG9yPHVpbnQ4X3Q+JiBkYXRhKQogewotICAg
IFJlc291cmNlSGFuZGxlOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KGZyYW1lTG9hZGVyLm5l
dHdvcmtpbmdDb250ZXh0KCksIHJlcXVlc3QsIG9wdGlvbnMuY3JlZGVudGlhbHMgPT0gRmV0Y2hP
cHRpb25zOjpDcmVkZW50aWFsczo6T21pdCA/IFN0b3JlZENyZWRlbnRpYWxzUG9saWN5OjpEb05v
dFVzZSA6IFN0b3JlZENyZWRlbnRpYWxzUG9saWN5OjpVc2UsIGVycm9yLCByZXNwb25zZSwgZGF0
YSk7CisgICAgYXV0byogZG9jdW1lbnQgPSBmcmFtZUxvYWRlci5mcmFtZSgpLmRvY3VtZW50KCk7
CisgICAgYXV0byogc291cmNlT3JpZ2luID0gZG9jdW1lbnQgPyAmZG9jdW1lbnQtPnNlY3VyaXR5
T3JpZ2luKCkgOiBudWxscHRyOworICAgIFJlc291cmNlSGFuZGxlOjpsb2FkUmVzb3VyY2VTeW5j
aHJvbm91c2x5KGZyYW1lTG9hZGVyLm5ldHdvcmtpbmdDb250ZXh0KCksIHJlcXVlc3QsIG9wdGlv
bnMuY3JlZGVudGlhbHMgPT0gRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFsczo6T21pdCA/IFN0b3Jl
ZENyZWRlbnRpYWxzUG9saWN5OjpEb05vdFVzZSA6IFN0b3JlZENyZWRlbnRpYWxzUG9saWN5OjpV
c2UsIHNvdXJjZU9yaWdpbiwgZXJyb3IsIHJlc3BvbnNlLCBkYXRhKTsKIH0KIAogdm9pZCBXZWJS
ZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnBhZ2VMb2FkQ29tcGxldGVkKFBhZ2UmKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNk
MWFlM2JjMDBjZTQ5ZTdiNGIxMzc4MjhhMmU4NWMwZTNhMDIyNDguLjUwNjFkZjM3ZjE2ZmFhOGQw
NWEwMzQ0OTgyMjVlODhmOTBkYTg5NDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0wNi0w
NCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAg
IE1vdmUgVGltaW5nLUFsbG93LU9yaWdpbiBjaGVja3MgdG8gdGhlIG5ldHdvcmsgcHJvY2Vzcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2Njc4Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NTIyNzc4OD4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDYt
MDQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBJbXBsZW1lbnQgb2ZmLWJ5LWRlZmF1bHQgZXhwZXJpbWVudGFsIGZlYXR1cmUgZm9yIFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcudHJhbnNmZXJTaXplLCBlbmNvZGVkQm9keVNpemUsIGFuZCBk
ZWNvZGVkQm9keVNpemUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGRkY2E4YzI2
MTRmMWJjZDZhNWJlNzdkZjc2MzdjMmQwNDQ4ZWI5MmQuLjlkYmQzM2EyMzEyODBhMWQ2NGU5OTU5
YWJhMDA5N2RmNDU4YTMxMGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1NiBAQAorMjAyMS0wNi0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3
ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUgVGltaW5nLUFsbG93LU9yaWdpbiBjaGVja3MgdG8g
dGhlIG5ldHdvcmsgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI2Njc4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NTIyNzc4OD4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvQ29kaW5nQ29udmVudGlvbnMubWQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU08tWE8tU08tcmVk
aXJlY3QtY2hhaW4tdGFvLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9TTy1YTy1TTy1yZWRpcmVjdC1jaGFpbi10
YW8uaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9TeW50aGV0aWNSZXNwb25zZS5weToKKyAgICAgICAgKG1haW4pOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW1hdGNoLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9UQU8tbWF0Y2guaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9UQU8tbnVsbC1vcGFxdWUtb3JpZ2luLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbnVsbC1v
cGFxdWUtb3JpZ2luLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvVEFPLXBvcnQtbWlzbWF0Y2gtbWVhbnMtY3Jvc3NvcmlnaW4tZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5zLWNyb3Nzb3JpZ2luLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvX19pbml0X18ucHk6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVy
LWZ1bGwtYWRkLWFmdGVyLWZ1bGwtZXZlbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWFmdGVyLWZ1bGwt
ZXZlbnQuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2J1ZmZlci1mdWxsLWFkZC1lbnRyaWVzLWR1cmluZy1jYWxsYmFjay1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1h
ZGQtZW50cmllcy1kdXJpbmctY2FsbGJhY2stdGhhdC1kcm9wLmh0bWw6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtZW50cmllcy1k
dXJpbmctY2FsbGJhY2suaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2J1ZmZlci1mdWxsLWFkZC10aGVuLWNsZWFyLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFkZC10
aGVuLWNsZWFyLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9idWZmZXItZnVsbC1kZWNyZWFzZS1idWZmZXItZHVyaW5nLWNhbGxiYWNrLmh0bWw6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1p
bmNyZWFzZS1idWZmZXItZHVyaW5nLWNhbGxiYWNrLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluY3JlYXNlLWJ1
ZmZlci1kdXJpbmctY2FsbGJhY2suaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluc3BlY3QtYnVmZmVyLWR1cmluZy1jYWxsYmFj
ay1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9idWZmZXItZnVsbC1pbnNwZWN0LWJ1ZmZlci1kdXJpbmctY2FsbGJhY2suaHRtbDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXNl
dC10by1jdXJyZW50LWJ1ZmZlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zZXQtdG8tY3VycmVudC1idWZmZXIu
aHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZl
ci1mdWxsLXN0b3JlLWFuZC1jbGVhci1kdXJpbmctY2FsbGJhY2stZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc3Rv
cmUtYW5kLWNsZWFyLWR1cmluZy1jYWxsYmFjay5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVm
ZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXdoZW4tcG9wdWxhdGUtZW50cmllcy1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9i
dWZmZXItZnVsbC13aGVuLXBvcHVsYXRlLWVudHJpZXMuaHRtbDoKKyAgICAgICAgQWxsIHRoZXNl
IGJ1ZmZlci1mdWxsIHRlc3RzIHN0YXJ0IGZhaWxpbmcgd2hlbiBJIHVwZGF0ZSB0aGVtLgorICAg
ICAgICBUaGF0IGlzIGFuIHVucmVsYXRlZCBidWcuICBGaXJlZm94IGhhcyB0aGUgc2FtZSBidWcs
IGFuZCB3ZSBoYWQgdGhlIHNhbWUgYnVnIGJlZm9yZSBhbmQgYWZ0ZXIgdGhpcyBjaGFuZ2UuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0aW9uLXJl
dXNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9jb25uZWN0aW9uLXJldXNlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1yZXVzZS5odHRwcy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvY29ubmVjdGlvbi1yZXVzZS5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1zdGFydC1lbmQt
dGltZS13aXRoLXJlZGlyZWN0cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mtb3JpZ2luLXN0YXJ0LWVuZC10aW1l
LXdpdGgtcmVkaXJlY3RzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mtb3JpZ2luLXN0YXR1cy1jb2Rlcy5odG1sOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZG9jdW1lbnQtZG9tYWluLW5v
LWltcGFjdC1vcGVuZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3Qtb3BlbmVy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvZW50cnktYXR0cmlidXRlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZW50cnktYXR0cmlidXRlcy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZldGNoLWNy
b3NzLW9yaWdpbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZmV0Y2gtY3Jvc3Mtb3JpZ2luLXJl
ZGlyZWN0Lmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvZm9udC10aW1lc3RhbXBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mb250LXRpbWVzdGFtcHMu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9pZnJhbWUtZmFpbGVkLWNvbW1pdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaWZyYW1lLWZhaWxlZC1jb21taXQuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9p
bml0aWF0b3ItdHlwZS1mb3Itc2NyaXB0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9pbml0aWF0b3ItdHlwZS1mb3Itc2Ny
aXB0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvbmV4dEhvcFByb3RvY29sLWlzLXRhby1wcm90ZWN0ZWQuaHR0cHMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL25l
eHRIb3BQcm90b2NvbC1pcy10YW8tcHJvdGVjdGVkLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1h
ZnRlci1UQU8tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5k
LWFmdGVyLVRBTy1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVy
LWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1j
cm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZWRpcmVjdHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3JlZGlyZWN0cy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlLWlnbm9yZS1kYXRhLXVybC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2UtaWdub3JlLWRhdGEtdXJs
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VfVEFPX2Nyb3NzX29yaWdpbl9yZWRpcmVjdF9jaGFpbi1leHBlY3RlZC50eHQ6
CisgICAgICAgIFRoaXMgYXBwYXJlbnQgcmVncmVzc2lvbiBpcyBhY3R1YWxseSBhIHByb2dyZXNz
aW9uLgorICAgICAgICBXaGVuIHRoaXMgdGVzdCBpcyBydW4gZnJvbSBvdXIgdGVzdCBpbmZyYXN0
cnVjdHVyZSwgQ2hyb21lIGFuZCBGaXJlZm94IGZhaWwgdGhlIHNhbWUgdGVzdHMgdGhhdCB5b3Ug
c2VlIG5vdyBmYWlsaW5nIGhlcmUsCisgICAgICAgIGluZGljYXRpbmcgdGhhdCBzb21ldGhpbmcg
aXMgd3Jvbmcgd2l0aCBvdXIgdGVzdCBpbmZyYXN0cnVjdHVyZS4gIFdoZW4gcnVuIG9uIHdwdC5s
aXZlLCBhbGwgYnJvd3NlcnMgcGFzcyB0aGlzIHRlc3QKKyAgICAgICAgYWZ0ZXIgdGhpcyBjaGFu
Z2UuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZV9jYWNoZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZV9pbml0aWF0b3JfdHlwZXMuaHRtbDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX25lc3RlZF9kZWRpY2F0ZWRf
d29ya2VyLndvcmtlci5qczoKKyAgICAgICAgKGFzeW5jX3Rlc3QpOgorICAgICAgICAoYXN5bmNf
dGVzdC5hc3luYyBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV90aW1pbmdfY29udGVudF9sZW5ndGgtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlX3RpbWluZ19jb250ZW50X2xlbmd0aC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy8yMDBfZW1wdHkuYXNp
czogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvVEFPUmVzcG9uc2UucHk6CisgICAgICAgIChtYWluKToKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9hbGxfcmVzb3VyY2VfdHlw
ZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzOgorICAgICAgICAoY29uc3Qu
d2FpdEZvck5leHRUYXNrKToKKyAgICAgICAgKGNvbnN0LmZvcmNlQnVmZmVyRnVsbEV2ZW50LmFz
eW5jIGNsZWFyQnVmZmVyQW5kU2V0U2l6ZSk6CisgICAgICAgIChjb25zdC5mb3JjZUJ1ZmZlckZ1
bGxFdmVudCk6CisgICAgICAgIChjb25zdC5maWxsVXBUaGVCdWZmZXJXaXRoVHdvUmVzb3VyY2Vz
LmFzeW5jIGNsZWFyQnVmZmVyQW5kU2V0U2l6ZSk6CisgICAgICAgIChhc3luYyBjb25zdC5maWxs
VXBUaGVCdWZmZXJXaXRoU2luZ2xlUmVzb3VyY2UuYXN5bmMgY2xlYXJCdWZmZXJBbmRTZXRTaXpl
KToKKyAgICAgICAgKGFzeW5jIGNvbnN0KToKKyAgICAgICAgKGxldC5hcHBlbmRTY3JpcHQpOiBE
ZWxldGVkLgorICAgICAgICAobGV0LndhaXRGb3JOZXh0VGFzayk6IERlbGV0ZWQuCisgICAgICAg
IChsZXQud2FpdFVudGlsQ29uZGl0aW9uSXNNZXQuY29uZC5yZXR1cm4ubmV3LlByb21pc2UucmVz
b2x2ZS5sZXQuY2hlY2tDb25kaXRpb24pOiBEZWxldGVkLgorICAgICAgICAobGV0LndhaXRGb3JF
dmVudFRvRmlyZS5yZXR1cm4ubmV3LlByb21pc2UpOiBEZWxldGVkLgorICAgICAgICAobGV0Lndh
aXRGb3JFdmVudFRvRmlyZSk6IERlbGV0ZWQuCisgICAgICAgIChsZXQuZmlsbFVwVGhlQnVmZmVy
V2l0aFR3b1Jlc291cmNlcy5hc3luYyBzcmMpOiBEZWxldGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NhY2hlYWJsZS1hbmQtdmFsaWRh
dGVkLnB5OiBBZGRlZC4KKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2Nvbm5lY3Rpb24tcmV1c2UtdGVzdC5qczog
QWRkZWQuCisgICAgICAgIChhdHRyaWJ1dGVfdGVzdC5hc3luYyBjbGllbnQpOgorICAgICAgICAo
YXR0cmlidXRlX3Rlc3QpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL2NzcC1kZWZhdWx0LW5vbmUuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvY3NwLWRlZmF1bHQt
bm9uZS5odG1sLmhlYWRlcnM6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3QuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZXMvZG9jdW1lbnQtcmVmcmVzaGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2RvY3VtZW50LXRoYXQtcmVmcmVz
aGVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL2VtYmVkLXJlZnJlc2guaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4tZnJhbWUuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvZ3JlZW4uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4uaHRtbC5oZWFkZXJzOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9nemlw
X3htbC5weToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlcy9pZnJhbWUtcmVmcmVzaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9pZnJhbWUtcmVsb2FkLVRBTy5zdWIu
aHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy9tdWx0aV9yZWRpcmVjdC5weToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL29iamVjdC1yZWZyZXNoLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL3JlZGlyZWN0LWNvcnMucHk6IEFkZGVkLgorICAgICAgICAobWFpbik6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVzb3Vy
Y2UtdGltaW5nLWNvbnRlbnQtbGVuZ3RoLnB5OiBBZGRlZC4KKyAgICAgICAgKG1haW4pOgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3Jlc291
cmNlX3RpbWluZ190ZXN0MC54bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvc2l6ZXMtaGVscGVyLmpzOiBBZGRlZC4KKyAgICAgICAgKGNv
bnN0LmNoZWNrU2l6ZUZpZWxkcyk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvc3RhdHVzLWNvZGUucHk6CisgICAgICAgIChtYWluKToKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy93ZWJw
ZXJmdGVzdGhhcm5lc3MuanM6CisgICAgICAgICh0ZXN0X25hbWVzcGFjZSk6CisgICAgICAgICh0
ZXN0X2F0dHJpYnV0ZV9leGlzdHMpOgorICAgICAgICAodGVzdF9lbnVtKToKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhh
cm5lc3NleHRlbnNpb24uanM6CisgICAgICAgICh0ZXN0X21ldGhvZF9leGlzdHMpOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2FtZS1vcmlnaW4tZnJvbS1j
cm9zcy1vcmlnaW4tcmVkaXJlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NhbWUtb3JpZ2luLWZyb20tY3Jvc3Mtb3Jp
Z2luLXJlZGlyZWN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvc2l6ZXMtY2FjaGUuYW55LmpzOiBBZGRlZC4KKyAgICAgICAgKGNvbnN0
LmFjY3VtdWxhdGVFbnRyaWVzKToKKyAgICAgICAgKGNvbnN0LmNoZWNrUmVzb3VyY2VTaXplcy5s
aXN0LmxldC5lbnRyeS5vZi5lbnRyaWVzLmVsc2UpOgorICAgICAgICAocHJvbWlzZV90ZXN0KToK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLXJlZGly
ZWN0LWltZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3QtaW1nLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3QuYW55
LmpzOiBBZGRlZC4KKyAgICAgICAgKGNvbnN0LmFjY3VtdWxhdGVFbnRyeSk6CisgICAgICAgIChj
b25zdC5jaGVja1Jlc291cmNlU2l6ZXMpOgorICAgICAgICAoY29uc3QucmVkaXJlY3RVcmwpOgor
ICAgICAgICAocHJvbWlzZV90ZXN0KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3N0YXR1cy1jb2Rlcy1jcmVhdGUtZW50cnkuaHRtbDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Rlc3RfcmVzb3VyY2VfdGltaW5nLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Rlc3RfcmVzb3VyY2VfdGltaW5nLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3dvcmtlclN0YXJ0LXRhby1wcm90ZWN0ZWQu
aHR0cHMuaHRtbDoKKwogMjAyMS0wNi0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNl
bkB3ZWJraXQub3JnPgogCiAgICAgICAgIEltcGxlbWVudCBvZmYtYnktZGVmYXVsdCBleHBlcmlt
ZW50YWwgZmVhdHVyZSBmb3IgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy50cmFuc2ZlclNpemUs
IGVuY29kZWRCb2R5U2l6ZSwgYW5kIGRlY29kZWRCb2R5U2l6ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggZmY3Y2Y4ZjdjYjg5NjdkODk4ZWE3MDZmYmYzYzAzMTlhMjhhNTk1Ny4uMzFkMWEwZjIzMDFl
OTIzMzAyMDgzZWIxMmM4MmY3ZTQ2OWM1NWVjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVz
dEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC05MzEs
NiArOTMxLDEwIEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnRzb3VyY2Uv
cmVxdWVzdC1jcmVkZW50aWFscy5odG0gWyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLWZyb21lbGVtZW50L2NhcHR1cmUuaHRtbCBbIEZhaWx1
cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtZnJvbWVs
ZW1lbnQvZW5kZWQuaHRtbCBbIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYWNhcHR1cmUtZnJvbWVsZW1lbnQvY3JlYXRpb24uaHRtbCBbIFBhc3MgRmFpbHVy
ZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mb250
LXRpbWVzdGFtcHMuaHRtbCBbIEZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvc3RhdHVzLWNvZGVzLWNyZWF0ZS1lbnRyeS5odG1sIFsgUGFz
cyBGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL1NPLVhPLVNPLXJlZGlyZWN0LWNoYWluLXRhby5odHRwcy5odG1sIFsgRmFpbHVyZSBdCitp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9U
QU9fY3Jvc3Nfb3JpZ2luX3JlZGlyZWN0X2NoYWluLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5v
cmcvYi8xODAyNDAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvc2luZ2xlLWVudHJ5LXBlci1yZXNvdXJjZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIHdlYmtp
dC5vcmcvYi8xODk5MDYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VfdGltaW5nX2J1ZmZlcl9mdWxsX2V2ZW50dWFsbHkuaHRtbCBbIFNraXAg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2UtcmVsb2FkLVRBTy5zdWIuaHRtbCBbIFNraXAgXQpAQCAtMTM4MywxOCArMTM4NywxNiBAQCBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlZGlyZWN0LWJvZ3VzLmh0
bSBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1yZWRp
cmVjdC10by1jb3JzLmh0bSBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvc2VuZC1yZWRpcmVjdC10by1ub24tY29ycy5odG0gWyBTa2lwIF0KIAotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90aW1p
bmcuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy90ZXN0X3Jlc291cmNlX3RpbWluZy5odHRwcy5odG1sIFsgUGFzcyBG
YWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2J1ZmZlci1mdWxsLWFkZC1lbnRyaWVzLWR1cmluZy1jYWxsYmFjay10aGF0LWRyb3AuaHRtbCBb
IFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
YnVmZmVyLWZ1bGwtZGVjcmVhc2UtYnVmZmVyLWR1cmluZy1jYWxsYmFjay5odG1sIFsgU2tpcCBd
CitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXIt
ZnVsbC1pbmNyZWFzZS1idWZmZXItZHVyaW5nLWNhbGxiYWNrLmh0bWwgWyBTa2lwIF0KK2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFk
ZC1lbnRyaWVzLWR1cmluZy1jYWxsYmFjay5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhdHVzLWNvZGVz
Lmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL25lc3RlZC1jb250ZXh0LW5hdmlnYXRpb25zLWVtYmVkLmh0bWwgWyBTa2lwIF0KIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL25lc3RlZC1jb250
ZXh0LW5hdmlnYXRpb25zLWlmcmFtZS5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9uZXN0ZWQtY29udGV4dC1uYXZpZ2F0aW9ucy1v
YmplY3QuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvcmVzb3VyY2VfbmVzdGVkX2RlZGljYXRlZF93b3JrZXIud29ya2VyLmh0bWwg
WyBTa2lwIF0KIAotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VfY29ubmVjdGlvbl9yZXVzZS5odG1sIFsgRmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9jb25uZWN0aW9u
X3JldXNlLmh0dHBzLmh0bWwgWyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX3JlcGFyZW50aW5nLmh0bWwgWyBGYWlsdXJl
IF0KIAogd2Via2l0Lm9yZy9iLzE2ODM1NyBodHRwL3dwdC9yZXNvdXJjZS10aW1pbmcvcnQtaW5p
dGlhdG9yVHlwZS1tZWRpYS5odG1sIFsgRmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9Db2RpbmdD
b252ZW50aW9ucy5tZCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL0NvZGluZ0NvbnZlbnRpb25zLm1kCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5Yjhk
MTM0MzVlZjQ5OTE5NTMzZWY3NDk3MzI2ZGFjMDZiZjk2NGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9Db2RpbmdDb252ZW50aW9ucy5tZApAQCAtMCwwICsxLDc3IEBACitGb3IgW1Jlc291cmNlIFRp
bWluZ11bMV0gdGVzdHMsIHdlIHdhbnQgdG8gaGF2ZSBhIGNvbnNpc3RlbnQgYW5kIGNsZWFyIGNv
ZGluZworc3R5bGUuIFRoZSBnb2FscyBvZiB0aGlzIHN0eWxlIGFyZSB0bzoKKyogICBNYWtlIGl0
IGVhc2llciBmb3IgbmV3IGNvbnRyaWJ1dG9ycyB0byBmaW5kIHRoZWlyIHdheSBhcm91bmQKKyog
ICBIZWxwIGltcHJvdmUgcmVhZGFiaWxpdHkgYW5kIG1haW50YWluYWJpbGl0eQorKiAgIEhlbHAg
dXMgdW5kZXJzdGFuZCB3aGljaCBwYXJ0cyBvZiB0aGUgc3BlYyBhcmUgdGVzdGVkIG9yIG5vdAor
TG90cyBvZiB0aGUgZm9sbG93aW5nIHJ1bGVzIGFyZSBhcmJpdHJhcnkgYnV0IHRoZSB2YWx1ZSBp
cyByZWFsaXplZCBpbgorY29uc2lzdGVuY3kgaW5zdGVhZCBvZiBhZGhlcmluZyB0byB0aGUgJ3Bl
cmZlY3QnIHN0eWxlLgorCitXZSB3YW50IHRoZSB0ZXN0IHN1aXRlIHRvIGJlIG5hdmlnYWJsZS4g
RGV2ZWxvcGVycyBzaG91bGQgYmUgYWJsZSB0byBlYXNpbHkKK2ZpbmQgdGhlIGZpbGUgb3IgdGVz
dCB0aGF0IGlzIHJlbGV2YW50IHRvIHRoZWlyIHdvcmsuCisqICAgVGVzdHMgc2hvdWxkIGJlIGFy
cmFuZ2VkIGluIGZpbGVzIGFjY29yZGluZyB0byB3aGljaCBwaWVjZSBvZiB0aGUgc3BlYyB0aGV5
CisgICAgdGVzdAorKiAgIEZpbGVzIHNob3VsZCBiZSBuYW1lZCB1c2luZyBhIGNvbnNpc3RlbnQg
cGF0dGVybgorKiAgIEhUTUwgZmlsZXMgc2hvdWxkIGluY2x1ZGUgdXNlZnVsIG1ldGEgdGFncwor
ICAgICogICBgPHRpdGxlPmAgZm9yIGNvbnRyb2xsaW5nIGxhYmVscyBpbiByZXN1bHRzIHBhZ2Vz
CisgICAgKiAgIGA8bGluayByZWw9ImhlbHAiPmAgdG8gcG9pbnQgYXQgdGhlIHJlbGV2YW50IHBp
ZWNlIG9mIHRoZSBzcGVjCisKK1dlIHdhbnQgdGhlIHRlc3Qgc3VpdGUgdG8gcnVuIGNvbnNpc3Rl
bnRseS4gRmxha3kgdGVzdHMgYXJlIGNvdW50ZXJwcm9kdWN0aXZlLgorKiAgIFByZWZlciBgcHJv
bWlzZV90ZXN0YCB0byBgYXN5bmNfdGVzdGAKKyAgICAqICAgTm90ZSB0aGF0IHRoZXJl4oCZcyBb
c3RpbGwgcG90ZW50aWFsIGZvciBzb21lIGNvbmN1cnJlbmN5XVsyXTsgdXNlCisgICAgICAgIGBh
ZGRfY2xlYW51cCgpYCBpZiBuZWVkZWQKKworV2Ugd2FudCB0aGUgdGVzdHMgdG8gYmUgcmVhZGFi
bGUuIFRlc3RzIHNob3VsZCBiZSB3cml0dGVuIGluIGEgbW9kZXJuIHN0eWxlCit3aXRoIHJlY3Vy
cmluZyBwYXR0ZXJucy4KKyogICA4MCBjaGFyYWN0ZXIgbGluZSBsaW1pdHMgd2hlcmUgd2UgY2Fu
CisqICAgQ29uc2lzdGVudCB1c2Ugb2YgYW5vbnltb3VzIGZ1bmN0aW9ucworICAgICogICBwcmVm
ZXIKKyAgICAgICAgYGBgCisgICAgICAgIGNvbnN0IGZ1bmMxID0gcGFyYW0xID0+IHsKKyAgICAg
ICAgICBib2R5KCk7CisgICAgICAgIH0KKyAgICAgICAgY29uc3QgZnVuYzIgPSAocGFyYW0xLCBw
YXJhbTIpID0+IHsKKyAgICAgICAgICBib2R5KCk7CisgICAgICAgIH0KKyAgICAgICAgZm4ocGFy
YW0gPT4geworICAgICAgICAgICAgYm9keSgpOworICAgICAgICB9KTsKKyAgICAgICAgYGBgCisK
KyAgICAgICAgb3ZlcgorCisgICAgICAgIGBgYAorICAgICAgICBmdW5jdGlvbiBmdW5jMShwYXJh
bTEpIHsKKyAgICAgICAgICBib2R5KCk7CisgICAgICAgIH0KKyAgICAgICAgZnVuY3Rpb24gZnVu
YzIocGFyYW0xLCBwYXJhbTIpIHsKKyAgICAgICAgICBib2R5KCk7CisgICAgICAgIH0KKyAgICAg
ICAgZm4oZnVuY3Rpb24ocGFyYW0pIHsKKyAgICAgICAgICAgIGJvZHkoKTsKKyAgICAgICAgfSk7
CisgICAgICAgIGBgYAorCisqICAgUHJlZmVyIGBjb25zdGAgKG9yLCBpZiBuZWVkZWQsIGBsZXRg
KSB0byBgdmFyYAorKiAgIENvbnRhaW4gdXNlIG9mIOKAmC5zdWLigJkgaW4gZmlsZW5hbWVzIHRv
IGtub3duIGhlbHBlciB1dGlsaXRpZXMgd2hlcmUgcG9zc2libGUKKyAgICAqICAgRS5nLiBwcmVm
ZXIgdXNlIG9mIGdldC1ob3N0LWluZm8uc3ViLmpzIHRvIGB7e2hvc3R9fWAgb3IgYHt7cG9ydHNb
MF19fWAKKyAgICAgICAgZXhwcmVzc2lvbnMKKyogICBBdm9pZCB1c2Ugb2Ygd2VicGVyZnRlc3Ro
YXJuZXNzW2V4dGVuc2lvbl0uanMgYXMgaXTigJlzIGEgbGF5ZXIgb2YgY29nbml0aXZlCisgICAg
b3ZlcmhlYWQgYmV0d2VlbiB0ZXN0IGNvbnRlbnQgYW5kIHRlc3QgaW50ZW50CisgICAgKiAgIEhl
bHBlciAuanMgZmlsZXMgYXJlIHN0aWxsIGVuY291cmFnZWQgd2hlcmUgaXQgbWFrZXMgc2Vuc2Ug
YnV0IHdlIHdhbnQKKyAgICAgICAgdG8gYXZvaWQgYSB0ZXN0aW5nIGZyYW1ld29yayB0aGF0IGlz
IHNwZWNpZmljIHRvIFJlc291cmNlIFRpbWluZyAob3IKKyAgICAgICAgd2ViIHBlcmZvcm1hbmNl
IEFQSXMsIGluIGdlbmVyYWwpLgorKiAgIFByZWZlciBbYGZldGNoX3Rlc3RzX2Zyb21fd2luZG93
YF1bM10gdG8gY29sbGVjdCB0ZXN0IHJlc3VsdHMgZnJvbSBlbWJlZGRlZAorICAgIGlmcmFtZXMg
aW5zdGVhZCBvZiBoYW5kLXJvbGxlZCBgcG9zdE1lc3NhZ2VgIGFwcHJvYWNoZXMKKyogICBVc2Ug
dGhlIFtgYXNzZXJ0XypgXVs0XSBmYW1pbHkgb2YgZnVuY3Rpb25zIHRvIGNoZWNrIGNvbmZvcm1h
bmNlIHRvIHRoZSBzcGVjCisgICAgYnV0IHRocm93IGV4Y2VwdGlvbnMgZXhwbGljaXRseSB3aGVu
IHRoZSB0ZXN0IGl0c2VsZiBpcyBicm9rZW4uCisgICAgKiAgICBBIGZhaWxlZCBhc3NlcnQgaW5k
aWNhdGVzICJ0aGUgaW1wbGVtZW50YXRpb24gZG9lc24ndCBjb25mb3JtIHRvIHRoZQorICAgICAg
ICAgc3BlYyIKKyAgICAqICAgIE90aGVyIHVuY2F1Z2h0IGV4Y2VwdGlvbnMgaW5kaWNhdGUgInRo
ZSB0ZXN0IGNhc2UgaXRzZWxmIGhhcyBhIGJ1ZyIKKyogICBXaGVyZSBwb3NzaWJsZSwgd2Ugd2Fu
dCB0ZXN0cyB0byBiZSBzY2FsYWJsZSAtIGFkZGluZyBhbm90aGVyIHRlc3QgY2FzZQorICAgIHNo
b3VsZCBiZSBhcyBzaW1wbGUgYXMgY2FsbGluZyB0aGUgdGVzdHMgd2l0aCBuZXcgcGFyYW1ldGVy
cywgcmF0aGVyIHRoYW4KKyAgICBjb3B5aW5nIGFuIGV4aXN0aW5nIHRlc3QgYW5kIG1vZGlmeWlu
ZyBpdC4KKworWzFdOiBodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvCitb
Ml06IGh0dHBzOi8vd2ViLXBsYXRmb3JtLXRlc3RzLm9yZy93cml0aW5nLXRlc3RzL3Rlc3RoYXJu
ZXNzLWFwaS5odG1sI3Byb21pc2UtdGVzdHMKK1szXTogaHR0cHM6Ly93ZWItcGxhdGZvcm0tdGVz
dHMub3JnL3dyaXRpbmctdGVzdHMvdGVzdGhhcm5lc3MtYXBpLmh0bWwjY29uc29saWRhdGluZy10
ZXN0cy1mcm9tLW90aGVyLWRvY3VtZW50cworWzRdOiBodHRwczovL3dlYi1wbGF0Zm9ybS10ZXN0
cy5vcmcvd3JpdGluZy10ZXN0cy90ZXN0aGFybmVzcy1hcGkuaHRtbCNsaXN0LW9mLWFzc2VydGlv
bnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL1NPLVhPLVNPLXJlZGlyZWN0LWNoYWluLXRhby5odHRwcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9TTy1YTy1TTy1yZWRpcmVjdC1jaGFpbi10YW8uaHR0cHMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjVmOGQyOTAzZDUxMDU2NTBlYTljZjU3NzQzY2ExMjJlMjc3MWE2NDcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9TTy1YTy1TTy1yZWRpcmVjdC1jaGFpbi10YW8uaHR0cHMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorCitGQUlMIFZlcmlmeSB0aGF0IGNyb3NzIG9y
aWdpbiByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIG5vdCBleHBvc2VkIHdoZW4gc2FtZS1vcmlnaW49
PmNyb3NzLW9yaWdpbj0+c2FtZS1vcmlnaW4gcmVkaXJlY3RzIGhhdmUgbm8gYFRpbWluZy1BbGxv
dy1PcmlnaW46YCBoZWFkZXJzLiBhc3NlcnRfZXF1YWxzOiBkb21haW5Mb29rdXBTdGFydCBzaG91
bGQgYmUgMCBleHBlY3RlZCAwIGJ1dCBnb3QgPG5vbmRldGVybWluaXN0aWMgdGVzdCBvdXRwdXQ+
CitGQUlMIFZlcmlmeSB0aGF0IGNyb3NzIG9yaWdpbiByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIG5v
dCBleHBvc2VkIHdoZW4gc2FtZS1vcmlnaW49PmNyb3NzLW9yaWdpbj0+c2FtZS1vcmlnaW4gcmVk
aXJlY3RzIGhhdmUgYFRpbWluZy1BbGxvdy1PcmlnaW46YCBoZWFkZXJzIG9ubHkgb24gc29tZSBv
ZiB0aGUgcmVzcG9uc2VzLiBhc3NlcnRfZXF1YWxzOiBkb21haW5Mb29rdXBTdGFydCBzaG91bGQg
YmUgMCBleHBlY3RlZCAwIGJ1dCBnb3QgPG5vbmRldGVybWluaXN0aWMgdGVzdCBvdXRwdXQ+CitG
QUlMIFZlcmlmeSB0aGF0IGNyb3NzIG9yaWdpbiByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIGV4cG9z
ZWQgd2hlbiBjcm9zcy1vcmlnaW4gcmVkaXJlY3RzIGhhdmUgYFRpbWluZy1BbGxvdy1PcmlnaW46
ICpgIGhlYWRlcnMgYXNzZXJ0X2dyZWF0ZXJfdGhhbjogcmVkaXJlY3RTdGFydCBzaG91bGQgYmUg
Z3JlYXRlciB0aGFuIDAgZXhwZWN0ZWQgYSBudW1iZXIgZ3JlYXRlciB0aGFuIDAgYnV0IGdvdCAw
CitQQVNTIFZlcmlmeSB0aGF0IGNyb3NzIG9yaWdpbiByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIG5v
dCBleHBvc2VkIHdoZW4gc2FtZS1vcmlnaW49PmNyb3NzLW9yaWdpbj0+c2FtZS1vcmlnaW4gcmVk
aXJlY3RzIGhhdmUgYFRpbWluZy1BbGxvdy1PcmlnaW46YCBoZWFkZXJzIHdpdGggYSBzcGVjaWZp
YyBvcmlnaW4uCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1NPLVhPLVNPLXJlZGlyZWN0LWNoYWluLXRhby5o
dHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvU08tWE8tU08tcmVkaXJlY3QtY2hhaW4tdGFvLmh0dHBzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZTY1Njg5MTBlNGZlN2I2MWRjOGE4NjlkZmQ0ZmNmZjA3NTBlNzI2NQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL1NPLVhPLVNPLXJlZGlyZWN0LWNoYWluLXRhby5odHRwcy5odG1sCkBA
IC0wLDAgKzEsNjQgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlRoaXMgdGVzdCB2YWxpZGF0ZXMgcmVzb3VyY2UgdGlt
aW5nIGluZm9ybWF0aW9uIGZvciBhIHNhbWUtb3JpZ2luPT5jcm9zcy1vcmlnaW49PnNhbWUtb3Jp
Z2luIHJlZGlyZWN0IGNoYWluIHdpdGhvdXQgVGltaW5nLUFsbG93LU9yaWdpbi48L3RpdGxlPgor
PGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGlt
aW5nLTIvI3NlYy1jcm9zcy1vcmlnaW4tcmVzb3VyY2VzIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQt
aG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291
cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9lbnRyeS1p
bnZhcmlhbnRzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2NvbnN0
IHtIVFRQU19SRU1PVEVfT1JJR0lOfSA9IGdldF9ob3N0X2luZm8oKTsKK2NvbnN0IFNBTUVfT1JJ
R0lOID0gbG9jYXRpb24ub3JpZ2luOworLy8gU2FtZS1PcmlnaW4gPT4gQ3Jvc3MtT3JpZ2luID0+
IFNhbWUtT3JpZ2luID0+IFNhbWUtT3JpZ2luIHJlZGlyZWN0IGNoYWluCitsZXQgZGVzdFVybCA9
IGAke1NBTUVfT1JJR0lOfS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRpX3JlZGlyZWN0
LnB5P2A7CitkZXN0VXJsICs9IGBwYWdlX29yaWdpbj0ke1NBTUVfT1JJR0lOfWA7CitkZXN0VXJs
ICs9IGAmY3Jvc3Nfb3JpZ2luPSR7SFRUUFNfUkVNT1RFX09SSUdJTn1gOworZGVzdFVybCArPSBg
JmZpbmFsX3Jlc291cmNlPS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3Jl
ZW4uaHRtYDsKKworLy8gTm8gVEFPIGluIHRoZSByZWRpcmVjdCBjaGFpbgorYXR0cmlidXRlX3Rl
c3QoCisgIGxvYWQuaWZyYW1lLCBkZXN0VXJsLAorICBpbnZhcmlhbnRzLmFzc2VydF9jcm9zc19v
cmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAgIlZlcmlmeSB0aGF0IGNyb3NzIG9yaWdpbiBy
ZXNvdXJjZXMnIHRpbWluZ3MgYXJlIG5vdCBleHBvc2VkIHdoZW4gIiArCisgICJzYW1lLW9yaWdp
bj0+Y3Jvc3Mtb3JpZ2luPT5zYW1lLW9yaWdpbiByZWRpcmVjdHMgaGF2ZSBubyAiICsKKyAgImBU
aW1pbmctQWxsb3ctT3JpZ2luOmAgaGVhZGVycy4iKTsKKworLy8gUGFydGlhbCBUQU8gaW4gdGhl
IHJlZGlyZWN0IGNoYWluCitkZXN0VXJsICs9ICcmdGFvX3N0ZXBzPTInOworYXR0cmlidXRlX3Rl
c3QoCisgIGxvYWQuaWZyYW1lLCBkZXN0VXJsLAorICBpbnZhcmlhbnRzLmFzc2VydF9jcm9zc19v
cmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAgIlZlcmlmeSB0aGF0IGNyb3NzIG9yaWdpbiBy
ZXNvdXJjZXMnIHRpbWluZ3MgYXJlIG5vdCBleHBvc2VkIHdoZW4gIiArCisgICJzYW1lLW9yaWdp
bj0+Y3Jvc3Mtb3JpZ2luPT5zYW1lLW9yaWdpbiByZWRpcmVjdHMgaGF2ZSAiICsKKyAgImBUaW1p
bmctQWxsb3ctT3JpZ2luOmAgaGVhZGVycyBvbmx5IG9uIHNvbWUgb2YgdGhlIHJlc3BvbnNlcy4i
KTsKKworLy8gQ3Jvc3Mtb3JpZ2luID0+IENyb3NzLU9yaWdpbiA9PiBTYW1lLU9yaWdpbiA9PiBT
YW1lLU9yaWdpbiByZWRpcmVjdCBjaGFpbi4KK2Rlc3RVcmwgPSBgJHtIVFRQU19SRU1PVEVfT1JJ
R0lOfS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRpX3JlZGlyZWN0LnB5P2A7CitkZXN0
VXJsICs9IGBwYWdlX29yaWdpbj0ke1NBTUVfT1JJR0lOfWA7CitkZXN0VXJsICs9IGAmY3Jvc3Nf
b3JpZ2luPSR7SFRUUFNfUkVNT1RFX09SSUdJTn1gOworZGVzdFVybCArPSBgJmZpbmFsX3Jlc291
cmNlPS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2JsdWUtd2l0aC10YW8ucG5nYDsKK2Rlc3RV
cmwgKz0gYCZ0YW9fc3RlcHM9M2A7CisKKy8vIEZ1bGwgcmVkaXJlY3QgY2hhaW4gd2l0aCBgVEFP
OiAqYC4KK2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLmltYWdlLCBkZXN0VXJsLAorICBpbnZhcmlh
bnRzLmFzc2VydF90YW9fZW5hYmxlZF9jcm9zc19vcmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwK
KyAgIlZlcmlmeSB0aGF0IGNyb3NzIG9yaWdpbiByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIGV4cG9z
ZWQgd2hlbiBjcm9zcy1vcmlnaW4gIiArCisgICJyZWRpcmVjdHMgaGF2ZSBgVGltaW5nLUFsbG93
LU9yaWdpbjogKmAgaGVhZGVycyIpOworCisvLyBUQU8gd2l0aCBhIHNwZWNpZmljIG9yaWdpbgor
ZGVzdFVybCArPSBgJnRhb192YWx1ZT0ke1NBTUVfT1JJR0lOfWA7CithdHRyaWJ1dGVfdGVzdCgK
KyAgbG9hZC5pbWFnZSwgZGVzdFVybCwKKyAgaW52YXJpYW50cy5hc3NlcnRfY3Jvc3Nfb3JpZ2lu
X3JlZGlyZWN0ZWRfcmVzb3VyY2UsCisgICJWZXJpZnkgdGhhdCBjcm9zcyBvcmlnaW4gcmVzb3Vy
Y2VzJyB0aW1pbmdzIGFyZSBub3QgZXhwb3NlZCB3aGVuICIgKworICAic2FtZS1vcmlnaW49PmNy
b3NzLW9yaWdpbj0+c2FtZS1vcmlnaW4gcmVkaXJlY3RzIGhhdmUgIiArCisgICJgVGltaW5nLUFs
bG93LU9yaWdpbjpgIGhlYWRlcnMgd2l0aCBhIHNwZWNpZmljIG9yaWdpbi4iKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU3ludGhldGljUmVzcG9uc2UucHkg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9TeW50aGV0aWNSZXNwb25zZS5weQppbmRleCBkYzU3ZDg0NTFmOWYxZWVmNjgxMjc4Yzg3
NTZkMTBiN2VmMmFmNGIxLi42Zjg4OGYzNzg5NmUxMjQwMTMwMWUxODdlYmQ1MTdlOTQyYTdlY2U4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9TeW50aGV0aWNSZXNwb25zZS5weQorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9TeW50aGV0aWNS
ZXNwb25zZS5weQpAQCAtMSw4ICsxLDkgQEAKLWZyb20gc2l4Lm1vdmVzLnVybGxpYi5wYXJzZSBp
bXBvcnQgdW5xdW90ZQorZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHVucXVvdGUKIAogZnJvbSB3
cHRzZXJ2ZS51dGlscyBpbXBvcnQgaXNvbW9ycGhpY19kZWNvZGUsIGlzb21vcnBoaWNfZW5jb2Rl
CiAKLWltcG9ydCBzbGVlcAoraW1wb3J0IGltcG9ydGxpYgorc2xlZXAgPSBpbXBvcnRsaWIuaW1w
b3J0X21vZHVsZSgicmVzb3VyY2UtdGltaW5nLnNsZWVwIikKIAogZGVmIG1haW4ocmVxdWVzdCwg
cmVzcG9uc2UpOgogICAgIGluZGV4ID0gaXNvbW9ycGhpY19lbmNvZGUocmVxdWVzdC5yZXF1ZXN0
X3BhdGgpLmluZGV4KGIiPyIpCkBAIC00Myw4ICs0NCw2IEBAIGRlZiBtYWluKHJlcXVlc3QsIHJl
c3BvbnNlKToKICAgICAgICAgICAgICAgICByZXNwb25zZS53cml0ZXIuZW5kX2hlYWRlcnMoKQog
ICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBzdGF0dXNTZW50ID0gVHJ1ZQotICAg
ICAgICBlbGlmIGFyZyA9PSBiImZsdXNoIjoKLSAgICAgICAgICAgIHJlc3BvbnNlLndyaXRlci5m
bHVzaCgpCiAKICMgICAgICAgIGVsc2U6CiAjICAgICAgICAgICAgZXJyb3IgIiAgSU5WQUxJRCBB
UkdVTUVOVCAlcyIgJSBhcmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1tYXRjaC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9UQU8tbWF0Y2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEwZTc2YTgxYWY2ZWI1Yjc1
ZTRlYzEyMmIyOTZhYjZhZDdlY2ZjYmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbWF0Y2gt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKKworUEFTUyBUaGUgdGltaW5nIGFsbG93IGNo
ZWNrIGFsZ29yaXRobSB3aWxsIHBhc3Mgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiBoZWFk
ZXIgdmFsdWUgbGlzdCBjb250YWlucyBhIGNhc2Utc2Vuc2l0aXZlIG1hdGNoLgorUEFTUyBUaGUg
dGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIHBhc3Mgd2hlbiB0aGUgVGltaW5nLUFs
bG93LU9yaWdpbiBoZWFkZXIgdmFsdWUgbGlzdCBjb250YWlucyBhIHdpbGRjYXJkLgorUEFTUyBU
aGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIGZhaWwgd2hlbiB0aGUgVGltaW5n
LUFsbG93LU9yaWdpbiBoZWFkZXIgdmFsdWUgbGlzdCBjb250YWlucyBhIG51bGwgb3JpZ2luLgor
UEFTUyBUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIHBhc3Mgd2hlbiB0aGUg
VGltaW5nLUFsbG93LU9yaWdpbiBoZWFkZXIgdmFsdWUgbGlzdCBjb250YWlucyB0aGUgb3JpZ2lu
IGFuZCBhIHdpbGRjYXJkLgorUEFTUyBUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3
aWxsIHBhc3Mgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiBoZWFkZXIgdmFsdWUgbGlzdCBj
b250YWlucyBtdWx0aXBsZSB3aWxkY2FyZHMuCitQQVNTIFRoZSB0aW1pbmcgYWxsb3cgY2hlY2sg
YWxnb3JpdGhtIHdpbGwgcGFzcyB3aGVuIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRlciB2
YWx1ZSBjb250YWlucyBvbmx5IHRoZSBvcmlnaW4uCitQQVNTIFRoZSB0aW1pbmcgYWxsb3cgY2hl
Y2sgYWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRl
ciB2YWx1ZSBjb250YWlucyBvbmx5IHRoZSB1cHBlcmNhc2VkIG9yaWdpbi4KK1BBU1MgVGhlIHRp
bWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1BbGxv
dy1PcmlnaW4gaGVhZGVyIHZhbHVlIGNvbnRhaW5zIG9ubHkgYSBzcGFjZS4KK1BBU1MgVGhlIHRp
bWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1BbGxv
dy1PcmlnaW4gaGVhZGVyIHZhbHVlIGNvbnRhaW5zIG9ubHkgYSB3aWxkY2FyZC4KK1BBU1MgVGhl
IHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1B
bGxvdy1PcmlnaW4gaGVhZGVyIGlzIG5vdCBwcmVzZW50LgorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8t
bWF0Y2guaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL1RBTy1tYXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEyNjQ1YTYzOGJlZjI2
YTY1NWVmMjUzZjY1NWM5NWFjOTYwN2ZmZjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbWF0
Y2guaHRtbApAQCAtMCwwICsxLDY5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmcgVEFPIHRl
c3RzPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRw
Oi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIgorICAgICAgaHJlZj0iaHR0
cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyN0aW1pbmctYWxsb3ctb3JpZ2lu
Ii8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFudHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+
Citjb25zdCB7UkVNT1RFX09SSUdJTn0gPSBnZXRfaG9zdF9pbmZvKCk7Citjb25zdCBwYXRoID0g
UkVNT1RFX09SSUdJTiArICcvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9UQU9SZXNwb25zZS5w
eT90YW89JzsKKworYXR0cmlidXRlX3Rlc3QobG9hZC54aHJfc3luYywgcGF0aCArICdtYXRjaF9v
cmlnaW4nLAorICBpbnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc19ub19yZWRpcmVjdF9odHRwLAor
J1RoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgcGFzcyB3aGVuIHRoZSBUaW1p
bmctQWxsb3ctT3JpZ2luICcgKworJ2hlYWRlciB2YWx1ZSBsaXN0IGNvbnRhaW5zIGEgY2FzZS1z
ZW5zaXRpdmUgbWF0Y2guJyk7CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQueGhyX3N5bmMsIHBhdGgg
KyAnbWF0Y2hfd2lsZGNhcmQnLAorICBpbnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc19ub19yZWRp
cmVjdF9odHRwLAorJ1RoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgcGFzcyB3
aGVuIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luICcgKworJ2hlYWRlciB2YWx1ZSBsaXN0IGNvbnRh
aW5zIGEgd2lsZGNhcmQuJyk7CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQueGhyX3N5bmMsIHBhdGgg
KyAnbnVsbCcsCisgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19mYWlsdXJlX3Jlc291cmNlLAorJ1Ro
ZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRoZSBUaW1pbmct
QWxsb3ctT3JpZ2luICcgKworJ2hlYWRlciB2YWx1ZSBsaXN0IGNvbnRhaW5zIGEgbnVsbCBvcmln
aW4uJyk7CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQueGhyX3N5bmMsIHBhdGggKyAnbXVsdGknLAor
ICBpbnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc19ub19yZWRpcmVjdF9odHRwLAorJ1RoZSB0aW1p
bmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgcGFzcyB3aGVuIHRoZSBUaW1pbmctQWxsb3ct
T3JpZ2luICcgKworJ2hlYWRlciB2YWx1ZSBsaXN0IGNvbnRhaW5zIHRoZSBvcmlnaW4gYW5kIGEg
d2lsZGNhcmQuJyk7CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQueGhyX3N5bmMsIHBhdGggKyAnbXVs
dGlfd2lsZGNhcmQnLAorICBpbnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc19ub19yZWRpcmVjdF9o
dHRwLAorJ1RoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgcGFzcyB3aGVuIHRo
ZSBUaW1pbmctQWxsb3ctT3JpZ2luICcgKworJ2hlYWRlciB2YWx1ZSBsaXN0IGNvbnRhaW5zIG11
bHRpcGxlIHdpbGRjYXJkcy4nKTsKKworYXR0cmlidXRlX3Rlc3QobG9hZC54aHJfc3luYywgcGF0
aCArICdvcmlnaW4nLAorICBpbnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc19ub19yZWRpcmVjdF9o
dHRwLAorJ1RoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgcGFzcyB3aGVuIHRo
ZSBUaW1pbmctQWxsb3ctT3JpZ2luICcgKworJ2hlYWRlciB2YWx1ZSBjb250YWlucyBvbmx5IHRo
ZSBvcmlnaW4uJyk7CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQueGhyX3N5bmMsIHBhdGggKyAndXBw
ZXJjYXNlJywKKyAgaW52YXJpYW50cy5hc3NlcnRfdGFvX2ZhaWx1cmVfcmVzb3VyY2UsCisnVGhl
IHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1B
bGxvdy1PcmlnaW4gJyArCisnaGVhZGVyIHZhbHVlIGNvbnRhaW5zIG9ubHkgdGhlIHVwcGVyY2Fz
ZWQgb3JpZ2luLicpOworCithdHRyaWJ1dGVfdGVzdChsb2FkLnhocl9zeW5jLCBwYXRoICsgJ3Nw
YWNlJywKKyAgaW52YXJpYW50cy5hc3NlcnRfdGFvX2ZhaWx1cmVfcmVzb3VyY2UsCisnVGhlIHRp
bWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1BbGxv
dy1PcmlnaW4gJyArCisnaGVhZGVyIHZhbHVlIGNvbnRhaW5zIG9ubHkgYSBzcGFjZS4nKTsKKwor
YXR0cmlidXRlX3Rlc3QobG9hZC54aHJfc3luYywgcGF0aCArICd3aWxkY2FyZCcsCisgIGludmFy
aWFudHMuYXNzZXJ0X3Rhb19wYXNzX25vX3JlZGlyZWN0X2h0dHAsCisnVGhlIHRpbWluZyBhbGxv
dyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4g
JyArCisnaGVhZGVyIHZhbHVlIGNvbnRhaW5zIG9ubHkgYSB3aWxkY2FyZC4nKTsKKworYXR0cmli
dXRlX3Rlc3QobG9hZC54aHJfc3luYywgcGF0aCArICd6ZXJvJywKKyAgaW52YXJpYW50cy5hc3Nl
cnRfdGFvX2ZhaWx1cmVfcmVzb3VyY2UsCisnVGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0
aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gJyArCisnaGVhZGVyIGlz
IG5vdCBwcmVzZW50LicpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9UQU8tbnVsbC1vcGFxdWUtb3JpZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1udWxsLW9w
YXF1ZS1vcmlnaW4tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkNmEzN2YxNDUwZTI5OWNmY2Y1
ODU0ZjY5YmVjMDQ5M2ZjMjE0YmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbnVsbC1vcGFx
dWUtb3JpZ2luLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK0Rlc2NyaXB0aW9uCisKK1Ro
aXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCwgZm9yIGEgY3Jvc3Mgb3JpZ2luIHJlc291cmNlLCB0aGUg
dGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIHN1Y2NlZWQgd2hlbiB0aGUgdmFsdWUg
b2YgVGltaW5nLUFsbG93LU9yaWdpbiBpcyBudWxsIGFuZCB0aGUgb3JpZ2luIGlzIGFuIG9wYXF1
ZSBvcmlnaW4uCisKKworUEFTUyBBbiBvcGFxdWUgb3JpZ2luIHNob3VsZCBiZSBhdXRob3JpemVk
IHRvIHNlZSByZXNvdXJjZSB0aW1pbmdzIHdoZW4gdGhlIFRBTyBoZWFkZXIgaXMgdGhlIHN0cmlu
ZyAnbnVsbCcKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW51bGwtb3BhcXVlLW9yaWdpbi5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvVEFPLW51bGwtb3BhcXVlLW9yaWdpbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY1NDhhN2I5YWQ0Mzc0
MDdlYWRlZDJjNmVmYzQ5NzRkZWMyNDJlY2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbnVs
bC1vcGFxdWUtb3JpZ2luLmh0bWwKQEAgLTAsMCArMSw1NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2Ug
VGltaW5nIFRBTyAtICJudWxsIiBhbmQgb3BhcXVlIG9yaWdpbjwvdGl0bGU+Cis8bGluayByZWw9
ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4K
KzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRp
bWluZy0yLyN0aW1pbmctYWxsb3ctb3JpZ2luIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1p
bmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5EZXNjcmlwdGlvbjwv
aDE+Cis8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQsIGZvciBhIGNyb3NzIG9yaWdpbiByZXNv
dXJjZSwgdGhlIHRpbWluZyBhbGxvdworY2hlY2sgYWxnb3JpdGhtIHdpbGwgc3VjY2VlZCB3aGVu
IHRoZSB2YWx1ZSBvZiBUaW1pbmctQWxsb3ctT3JpZ2luIGlzIG51bGwgYW5kCit0aGUgb3JpZ2lu
IGlzIGFuIG9wYXF1ZSBvcmlnaW4uPC9wPgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxpZnJhbWUg
aWQ9ImZyYW1lQ29udGV4dCI+PC9pZnJhbWU+Cis8c2NyaXB0PgorY29uc3Qgb3JpZ2luID0gZ2V0
X2hvc3RfaW5mbygpWyJPUklHSU4iXTsKK2NvbnN0IGZyYW1lX2NvbnRlbnQgPSBgZGF0YTp0ZXh0
L2h0bWw7dXRmOCw8Ym9keT4KKyAgPHNjcmlwdCBzcmM9IiR7b3JpZ2lufS9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvYCArIGBzY3JpcHQ+CisgIDxzY3JpcHQ+CisgICAgY29uc3QgdXJsID0g
IiR7b3JpZ2lufS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL1RBT1Jlc3BvbnNlLnB5P3Rhbz1u
dWxsIjsKKyAgICBwcm9taXNlX3Rlc3QoKCkgPT4geyByZXR1cm4gbmV3IFByb21pc2UoKHJlc29s
dmUsIHJlamVjdCkgPT4geworICAgICAgY29uc3QgcnVuX3Rlc3QgPSBlbnRyeUxpc3QgPT4gewor
ICAgICAgICBjb25zdCBlbnRyeSA9IGVudHJ5TGlzdC5nZXRFbnRyaWVzKClbMF07CisgICAgICAg
IGNvbnN0IHN1bSA9IGVudHJ5LnJlZGlyZWN0U3RhcnQgKyBlbnRyeS5yZWRpcmVjdEVuZCArCisg
ICAgICAgICAgICAgICAgICAgIGVudHJ5LmRvbWFpbkxvb2t1cFN0YXJ0ICsgZW50cnkuZG9tYWlu
TG9va3VwRW5kICsKKyAgICAgICAgICAgICAgICAgICAgZW50cnkuY29ubmVjdFN0YXJ0ICsgZW50
cnkuY29ubmVjdEVuZCArCisgICAgICAgICAgICAgICAgICAgIGVudHJ5LnNlY3VyZUNvbm5lY3Rp
b25TdGFydCArIGVudHJ5LnJlcXVlc3RTdGFydCArCisgICAgICAgICAgICAgICAgICAgIGVudHJ5
LnJlc3BvbnNlU3RhcnQgKyBlbnRyeS50cmFuc2ZlclNpemUgKworICAgICAgICAgICAgICAgICAg
ICBlbnRyeS5lbmNvZGVkQm9keVNpemUgKyBlbnRyeS5kZWNvZGVkQm9keVNpemU7CisgICAgICAg
IGFzc2VydF9ub3RfZXF1YWxzKHN1bSwgMCwgIlRpbWluZ3MgbXVzdCBiZSBub24temVybyIpOwor
ICAgICAgfTsKKyAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIo
bGlzdCA9PiB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgcnVuX3Rlc3QobGlzdCk7CisgICAg
ICAgICAgcmVzb2x2ZSgpOworICAgICAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgICByZWplY3Qo
ZSk7CisgICAgICAgIH0KKyAgICAgIH0pOworICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7IGVudHJ5
VHlwZXM6IFsicmVzb3VyY2UiXSB9KTsKKyAgICAgIGZldGNoKHVybCk7CisgICAgfSl9LCAiQW4g
b3BhcXVlIG9yaWdpbiBzaG91bGQgYmUgYXV0aG9yaXplZCB0byBzZWUgcmVzb3VyY2UgdGltaW5n
cyB3aGVuIiArCisgICAgICAgICAiIHRoZSBUQU8gaGVhZGVyIGlzIHRoZSBzdHJpbmcgJ251bGwn
Iik7CisgIDwvYCArIGBzY3JpcHQ+PC9ib2R5PmA7CisKK2ZyYW1lQ29udGV4dC5zdHlsZSA9ICJk
aXNwbGF5Om5vbmUiCitmcmFtZUNvbnRleHQuc3JjID0gZnJhbWVfY29udGVudDsKK2ZldGNoX3Rl
c3RzX2Zyb21fd2luZG93KGZyYW1lQ29udGV4dC5jb250ZW50V2luZG93KTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW51bGwtb3BhcXVlLW9yaWdpbi5z
dWItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW51bGwtb3BhcXVlLW9yaWdpbi5zdWItZXhwZWN0ZWQu
dHh0CmluZGV4IDJlYzdlMDhhM2E3Y2I4YmI4MDRlY2FiNDZiMDY3NjYwZjA0YzZjYmIuLjk3MjM1
ZGM3YTk5YmQyNzE1YzgzZTQyYWFlMGU5YmY1Nzg3ZTFmNjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1u
dWxsLW9wYXF1ZS1vcmlnaW4uc3ViLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbnVsbC1vcGFx
dWUtb3JpZ2luLnN1Yi1leHBlY3RlZC50eHQKQEAgLTMsNSArMyw1IEBAIERlc2NyaXB0aW9uCiBU
aGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgZm9yIGEgY3Jvc3Mgb3JpZ2luIHJlc291cmNlLCB0aGUg
dGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIHN1Y2NlZWQgd2hlbiB0aGUgdmFsdWUg
b2YgVGltaW5nLUFsbG93LU9yaWdpbiBpcyBudWxsIGFuZCB0aGUgb3JpZ2luIGlzIGFuIG9wYXF1
ZSBvcmlnaW4uCiAKIAotRkFJTCBUZXN0IG51bGwgVEFPIHZhbHVlIHdpdGggb3BhcXVlIG9yaWdp
bnMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlBBU1MiIGJ1dCBnb3QgIkZBSUwiCitQQVNTIFRl
c3QgbnVsbCBUQU8gdmFsdWUgd2l0aCBvcGFxdWUgb3JpZ2lucwogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9U
QU8tcG9ydC1taXNtYXRjaC1tZWFucy1jcm9zc29yaWdpbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8t
cG9ydC1taXNtYXRjaC1tZWFucy1jcm9zc29yaWdpbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwOGE1MzIxMWYxMzNkYTMzMWViZTViNTlhYjVjYzNiOTY4NjJiZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5zLWNyb3Nzb3JpZ2luLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDggQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBm
b3IgYSBjcm9zcyBvcmlnaW4gcmVzb3VyY2Ugd2l0aCBkaWZmZXJlbnQgcG9ydHMsIHRoZSB0aW1p
bmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRoZSB2YWx1ZSBvZiBUaW1p
bmctQWxsb3ctT3JpZ2luIHZhbHVlIGhhcyB0aGUgcmlnaHQgaG9zdCBidXQgdGhlIHdyb25nIHBv
cnQgaW4gaXQuCisKKworRkFJTCBBIHBvcnQgbWlzbWF0Y2ggbXVzdCBmYWlsIHRoZSBUQU8gY2hl
Y2sgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiBVUkwgaXMgbm90IHZhbGlkIG9yIGNvbnRhaW5zIHVzZXIgY3JlZGVudGlhbHMu
IgorRkFJTCBBbiBpZGVudGljYWwgcG9ydCBtdXN0IHBhc3MgdGhlIFRBTyBjaGVjayBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IFVSTCBpcyBub3QgdmFsaWQgb3IgY29udGFpbnMgdXNlciBjcmVkZW50aWFscy4iCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5zLWNyb3Nzb3JpZ2luLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9U
QU8tcG9ydC1taXNtYXRjaC1tZWFucy1jcm9zc29yaWdpbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYxMjE4
ZDE3YTBhNDRmMDEzYTAxYTliMWEyOGIzYWIxOWY5MWM5MWQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9UQU8tcG9ydC1taXNtYXRjaC1tZWFucy1jcm9zc29yaWdpbi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
IiAvPgorPHRpdGxlPlRBTyAtIHBvcnQgbWlzbWF0Y2ggbXVzdCBmYWlsIHRoZSBjaGVjazwvdGl0
bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5n
b29nbGUuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3Jn
L1RSL3Jlc291cmNlLXRpbWluZy0yLyNzZWMtdGltaW5nLWFsbG93LW9yaWdpbiIvPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJl
c291cmNlcy9lbnRyeS1pbnZhcmlhbnRzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2NvbnN0
IHtPUklHSU5BTF9IT1NULCBQT1JULCBQT1JUMn0gPSBnZXRfaG9zdF9pbmZvKCk7CisKKy8vIFRo
ZSBtYWluIHBhZ2UgaXMgYmVpbmcgcmVxdWVzdGVkIG9uIHRoZSBkZWZhdWx0IHBvcnQgKFBPUlQp
LCB3aGlsZSB0aGUKKy8vIHN1YnJlc291cmNlIHdpbGwgYmUgcmVxdWVzdGVkIG9uIGEgc2VwYXJh
dGUgcG9ydCAoUE9SVDIpLiBUaGUgcmVzcG9uc2Ugd2lsbAorLy8gaGF2ZSBhIFRpbWluZy1BbGxv
dy1PcmlnaW4gaGVhZGVyIHZhbHVlIHdpdGggdGhlIHNlY29uZCBwb3J0IHNvIHRoaXMgcGFnZSdz
CisvLyBvcmlnaW4gc2hvdWxkIG5vdCBiZSBhIG1hdGNoLgorY29uc3QgcG9ydF9taXNtYXRjaF91
cmwgPSBgJHtsb2NhdGlvbi5wcm90b2NvbH0vLyR7T1JJR0lOQUxfSE9TVH06JHtQT1JUMn1gICsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgYC9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL1RB
T1Jlc3BvbnNlLnB5P2AgKworICAgICAgICAgICAgICAgICAgICAgICAgICBgdGFvPW9yaWdpbl9w
b3J0XyR7UE9SVDJ9YDsKK2F0dHJpYnV0ZV90ZXN0KAorICBmZXRjaCwgcG9ydF9taXNtYXRjaF91
cmwsIGludmFyaWFudHMuYXNzZXJ0X3Rhb19mYWlsdXJlX3Jlc291cmNlLAorICAiQSBwb3J0IG1p
c21hdGNoIG11c3QgZmFpbCB0aGUgVEFPIGNoZWNrIik7CisKKy8vIFRoZSBzYW1lIFVSTCBhcyBh
Ym92ZSBleGNlcHQgdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gaGVhZGVyIHdpbGwgaGF2ZSB0aGUK
Ky8vIHNhbWUgcG9ydCBhcyB0aGlzIHBhZ2UncyBvcmlnaW4uIFRoZXJlZm9yZSwgdGhpcyBwYWdl
J3Mgb3JpZ2luIHdpbGwgbWF0Y2gKKy8vIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRlcidz
IHZhbHVlLiBUaGVyZWZvcmUsIHRoZSBzdWJyZXNvdXJjZSdzIHRpbWluZ3MKKy8vIG11c3QgYmUg
ZXhwb3NlZC4KK2NvbnN0IHBvcnRfbWF0Y2hfdXJsID0gYCR7bG9jYXRpb24ucHJvdG9jb2x9Ly8k
e09SSUdJTkFMX0hPU1R9OiR7UE9SVDJ9YCArCisgICAgICAgICAgICAgICAgICAgICAgIGAvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlcy9UQU9SZXNwb25zZS5weT9gICsKKyAgICAgICAgICAgICAg
ICAgICAgICAgYHRhbz1vcmlnaW5fcG9ydF8ke1BPUlR9YDsKK2F0dHJpYnV0ZV90ZXN0KAorICBm
ZXRjaCwgcG9ydF9tYXRjaF91cmwsIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzX25vX3JlZGly
ZWN0X2h0dHAsCisgICJBbiBpZGVudGljYWwgcG9ydCBtdXN0IHBhc3MgdGhlIFRBTyBjaGVjayIp
OworCis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxw
PlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBmb3IgYSBjcm9zcyBvcmlnaW4gcmVzb3VyY2Ugd2l0
aCBkaWZmZXJlbnQgcG9ydHMsCit0aGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxs
IGZhaWwgd2hlbiB0aGUgdmFsdWUgb2YKK1RpbWluZy1BbGxvdy1PcmlnaW4gdmFsdWUgaGFzIHRo
ZSByaWdodCBob3N0IGJ1dCB0aGUgd3JvbmcgcG9ydCBpbiBpdC48L3A+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9fX2luaXRfXy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL19faW5pdF9fLnB5Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4YzUzOTEKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL2J1ZmZlci1mdWxsLWFkZC1lbnRyaWVzLWR1cmluZy1jYWxsYmFjay5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVm
ZmVyLWZ1bGwtYWRkLWVudHJpZXMtZHVyaW5nLWNhbGxiYWNrLmh0bWwKaW5kZXggYjM3YzQ3YjIz
ZmI1MDI2NDgwNjgzNTk0Yjk2NGVlNzEyYWJiZTcwOC4uM2M4NmUwMDhmNTRkMjg0NmI1NGJhMWM4
YmQwODZlNGViMGE2MTRjOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWVudHJpZXMt
ZHVyaW5nLWNhbGxiYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWVudHJpZXMtZHVy
aW5nLWNhbGxiYWNrLmh0bWwKQEAgLTYsNiArNiw3IEBACiA8bGluayByZWw9ImhlbHAiIGhyZWY9
Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jcGVyZm9ybWFuY2VyZXNvdXJj
ZXRpbWluZyIvPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzIj48L3Nj
cmlwdD4KIDwvaGVhZD4KIDxib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLXRo
ZW4tY2xlYXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLXRoZW4tY2xlYXItZXhw
ZWN0ZWQudHh0CmluZGV4IDg1OWI1MjU3YjU4MGVkN2QxZmI4NWJmYjhlMDE1NTQxMzFiYTQwODcu
Ljk1ZDMzZmE1OTk2ZWZlYjg2MmJhMWJiMjk4OWMyYmM1NmEyMmY4YWIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2J1ZmZlci1mdWxsLWFkZC10aGVuLWNsZWFyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXIt
ZnVsbC1hZGQtdGhlbi1jbGVhci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLVBBU1Mg
VGVzdCB0aGF0IGlmIHRoZSBidWZmZXIgaXMgY2xlYXJlZCBhZnRlciBlbnRyaWVzIHdlcmUgYWRk
ZWQgdG8gdGhlIHNlY29uZGFyeSBidWZmZXIsIHRob3NlIGVudHJpZXMgbWFrZSBpdCBpbnRvIHRo
ZSBwcmltYXJ5IG9uZQorRkFJTCBUZXN0IHRoYXQgaWYgdGhlIGJ1ZmZlciBpcyBjbGVhcmVkIGFm
dGVyIGVudHJpZXMgd2VyZSBhZGRlZCB0byB0aGUgc2Vjb25kYXJ5IGJ1ZmZlciwgdGhvc2UgZW50
cmllcyBtYWtlIGl0IGludG8gdGhlIHByaW1hcnkgb25lIGFzc2VydF9lcXVhbHM6IHRoZSBsYXN0
IDMgcmVzb3VyY2VzIHNob3VsZCBiZSBpbiB0aGUgYnVmZmVyLCBzaW5jZSB0aGUgZmlyc3Qgb25l
IHdhcyBjbGVhcmVkIGV4cGVjdGVkIDMgYnV0IGdvdCAyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZl
ci1mdWxsLWFkZC10aGVuLWNsZWFyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtdGhlbi1jbGVh
ci5odG1sCmluZGV4IDcxMDg1MmNlZDU1ZjcxNmEzNDhjYzllNjg2NWQ3YThiNzA0OGE0NmEuLjMy
YWM1OTQ4MWY5OTk4MTkwM2ZhNGE4ZjA5M2Y2MDFjZmZhNzcxNTAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1
ZmZlci1mdWxsLWFkZC10aGVuLWNsZWFyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLXRo
ZW4tY2xlYXIuaHRtbApAQCAtNiw2ICs2LDcgQEAKIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0
cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNwZXJmb3JtYW5jZXJlc291cmNldGlt
aW5nIi8+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9InJlc291cmNlcy9idWZmZXItZnVsbC11dGlsaXRpZXMuanMiPjwvc2NyaXB0
PgogPC9oZWFkPgogPGJvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbmNyZWFzZS1i
dWZmZXItZHVyaW5nLWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbmNyZWFzZS1idWZm
ZXItZHVyaW5nLWNhbGxiYWNrLmh0bWwKaW5kZXggYjQ2ZDJkNjU2OTBhODg2ODM3YjhlYTc2MjFm
MzkyNjA4MTU1MmQ5Ny4uZGQxMmRkN2FmYTliZTE4YmJkZTQ2NDIxMmRjMDgxNzc5NjhkYTdkNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5jcmVhc2UtYnVmZmVyLWR1cmluZy1jYWxsYmFj
ay5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluY3JlYXNlLWJ1ZmZlci1kdXJpbmctY2FsbGJh
Y2suaHRtbApAQCAtMyw0NiArMywyMyBAQAogPGhlYWQgb25sb2FkPgogPG1ldGEgY2hhcnNldD0i
dXRmLTgiIC8+CiA8dGl0bGU+VGhpcyB0ZXN0IHZhbGlkYXRlcyBpbmNyZWFzaW5nIHRoZSBidWZm
ZXIgc2l6ZSBpbiBvbnJlc291cmNldGltaW5nYnVmZmVyZnVsbCBjYWxsYmFjayBvZiByZXNvdXJj
ZSB0aW1pbmcuPC90aXRsZT4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5v
cmcvVFIvcmVzb3VyY2UtdGltaW5nLyNwZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+Cis8bGlu
ayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29t
LyIgLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291
cmNlLXRpbWluZy0yLyNkb20tcGVyZm9ybWFuY2Utb25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwi
Lz4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL2J1ZmZlci1mdWxsLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+CiA8
L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+Ci1jb25zdCByZXNvdXJjZV90aW1pbmdfYnVmZmVyX3Np
emUgPSAxOwotbGV0IGV2ZW50RmlyZWQgPSBmYWxzZTsKLQotc2V0dXAoKCkgPT4gewotICAgIC8v
IEdldCB0aGUgYnJvd3NlciBpbnRvIGEgY29uc2lzdGVudCBzdGF0ZS4KLSAgICBjbGVhckJ1ZmZl
ckFuZFNldFNpemUocmVzb3VyY2VfdGltaW5nX2J1ZmZlcl9zaXplKTsKLSAgICB2YXIgaW5jcmVh
c2UgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgcGVyZm9ybWFuY2Uuc2V0UmVzb3VyY2VUaW1pbmdC
dWZmZXJTaXplKHJlc291cmNlX3RpbWluZ19idWZmZXJfc2l6ZSAqIDIpOwotICAgICAgICBldmVu
dEZpcmVkID0gdHJ1ZTsKLSAgICB9Ci0gICAgcGVyZm9ybWFuY2UuYWRkRXZlbnRMaXN0ZW5lcign
cmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsJywgaW5jcmVhc2UpOwotfSk7Ci0KLWxldCBvdmVyZmxv
d1RoZUJ1ZmZlciA9ICgpID0+IHsKLSAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7
Ci0gICAgICAgIC8vIFRoaXMgcmVzb3VyY2Ugb3ZlcmZsb3dzIHRoZSBlbnRyeSBidWZmZXIsIGFu
ZCBnb2VzIGludG8gdGhlIHNlY29uZGFyeSBidWZmZXIuCi0gICAgICAgIGFwcGVuZFNjcmlwdCgn
cmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5qcycsIHJlc29sdmUpOwotICAgIH0pOwotfTsKLQotbGV0
IHRlc3RUaGF0QnVmZmVyQ29udGFpbnNUaGVSaWdodFJlc291cmNlcyA9ICgpID0+IHsKLSAgICBs
ZXQgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7Ci0g
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMiwKLSAgICAgICAgICAgICAgICAgICdC
b3RoIGVudHJpZXMgc2hvdWxkIGJlIHN0b3JlZCBpbiByZXNvdXJjZSB0aW1pbmcgYnVmZmVyIHNp
bmNlIGl0cyBpbmNyZWFzZXMgc2l6ZSBvbmNlIGl0IG92ZXJmbG93cy4nKTsKLSAgICBhc3NlcnRf
dHJ1ZShlbnRyaWVzWzBdLm5hbWUuaW5jbHVkZXMoJ2VtcHR5LmpzJyksICJlbXB0eS5qcyBpcyBp
biB0aGUgZW50cmllcyBidWZmZXIiKTsKLSAgICBhc3NlcnRfdHJ1ZShlbnRyaWVzWzFdLm5hbWUu
aW5jbHVkZXMoJ2VtcHR5X3NjcmlwdC5qcycpLCAiZW1wdHlfc2NyaXB0LmpzIGlzIGluIHRoZSBl
bnRyaWVzIGJ1ZmZlciIpOwotfTsKLQogcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKLSAgICBh
d2FpdCBmaWxsVXBUaGVCdWZmZXJXaXRoU2luZ2xlUmVzb3VyY2UoInJlc291cmNlcy9lbXB0eS5q
cyIpOwotICAgIGF3YWl0IG92ZXJmbG93VGhlQnVmZmVyKCk7Ci0gICAgYXdhaXQgd2FpdEZvckV2
ZW50VG9GaXJlKCk7Ci0gICAgdGVzdFRoYXRCdWZmZXJDb250YWluc1RoZVJpZ2h0UmVzb3VyY2Vz
KCk7CisgICAgYXdhaXQgZmlsbFVwVGhlQnVmZmVyV2l0aFNpbmdsZVJlc291cmNlKCk7CisgICAg
cGVyZm9ybWFuY2UuYWRkRXZlbnRMaXN0ZW5lcigncmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsJywg
KCkgPT4geworICAgICAgICBwZXJmb3JtYW5jZS5zZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUo
Mik7CisgICAgfSk7CisgICAgYXdhaXQgbG9hZC5zY3JpcHQoc2NyaXB0UmVzb3VyY2VzWzFdKTsK
KyAgICBhd2FpdCBidWZmZXJGdWxsRmlyZVByb21pc2U7CisgICAgY2hlY2tFbnRyaWVzKDIpOwog
fSwgIlRlc3QgdGhhdCBpbmNyZWFzaW5nIHRoZSBidWZmZXIgZHVyaW5nIHRoZSBjYWxsYmFjayBp
cyBlbm91Z2ggZm9yIGVudHJpZXMgbm90IHRvIGJlIGRyb3BwZWQiKTsKIDwvc2NyaXB0PgogPC9i
b2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5zcGVjdC1idWZmZXItZHVyaW5nLWNh
bGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluc3BlY3QtYnVmZmVyLWR1cmlu
Zy1jYWxsYmFjay1leHBlY3RlZC50eHQKaW5kZXggZjBjNGVmYTAzMDhjYzk5Mzk3ZTQ5YjRiZTU3
YmNmYzc0ZTVmZDUyZi4uN2EwZTY5N2Q0YWUwMjBjMzc5ZDQ0NjNhNGU0N2QxYzk4ODFlZDMzMSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5zcGVjdC1idWZmZXItZHVyaW5nLWNhbGxiYWNr
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbnNwZWN0LWJ1ZmZlci1kdXJpbmct
Y2FsbGJhY2stZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNSBAQAogCi1QQVNTIFRlc3QgdGhhdCBl
bnRyaWVzIGluIHRoZSBzZWNvbmRhcnkgYnVmZmVyIGFyZSBub3QgZXhwb3NlZCBkdXJpbmcgdGhl
IGNhbGxiYWNrIGFuZCBiZWZvcmUgdGhleSBhcmUgY29waWVkIHRvIHRoZSBwcmltYXJ5IGJ1ZmZl
cgorSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgVGVz
dCB0aGF0IGVudHJpZXMgaW4gdGhlIHNlY29uZGFyeSBidWZmZXIgYXJlIG5vdCBleHBvc2VkIGR1
cmluZyB0aGUgY2FsbGJhY2sgYW5kIGJlZm9yZSB0aGV5IGFyZSBjb3BpZWQgdG8gdGhlIHByaW1h
cnkgYnVmZmVyIFRlc3QgdGltZWQgb3V0CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWlu
c3BlY3QtYnVmZmVyLWR1cmluZy1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5zcGVj
dC1idWZmZXItZHVyaW5nLWNhbGxiYWNrLmh0bWwKaW5kZXggZDQ2ZDQ2OTJhNTViOWNiZWYxYWE1
Zjg4MmYzODg4N2UxZjc5NDBlOS4uZDRhYjA0Y2RkMzQ1Yzk1MzA0ZmE2YjNlZjViZDM3OTIyYzA1
ZWEyYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5zcGVjdC1idWZmZXItZHVyaW5nLWNh
bGxiYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5zcGVjdC1idWZmZXItZHVyaW5nLWNh
bGxiYWNrLmh0bWwKQEAgLTYsNiArNiw3IEBACiA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6
Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWlu
ZyIvPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4K
IDwvaGVhZD4KIDxib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc2V0LXRvLWN1cnJl
bnQtYnVmZmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXNldC10by1jdXJyZW50LWJ1
ZmZlci1leHBlY3RlZC50eHQKaW5kZXggOGMzNTY5ZDY1ODg5ZDM0ZDA3OGRjYTk2N2ZiNTNmYzlk
YWE4NTQ2Yy4uZWUyZDA3NjNjY2E4MTI4OGZhNmRlMzkxZGY3NzY3MjFkNzI4ZGE3MyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvYnVmZmVyLWZ1bGwtc2V0LXRvLWN1cnJlbnQtYnVmZmVyLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9idWZmZXItZnVsbC1zZXQtdG8tY3VycmVudC1idWZmZXItZXhwZWN0ZWQudHh0CkBA
IC0xLDMgKzEsNSBAQAogCi1QQVNTIFRlc3QgdGhhdCBlbnRyaWVzIGFkZGVkIGFuZCBldmVudCBm
aXJpbmcgaGFwcGVuZWQgaW4gdGhlIHJpZ2h0IHNlcXVlbmNlCitIYXJuZXNzIEVycm9yIChUSU1F
T1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBUZXN0IHRoYXQgYWRkaW5nIGVudHJpZXMg
YW5kIGZpcmluZyB0aGUgYnVmZmVyIGZ1bGwgZXZlbnQgaGFwcGVuIGluIHRoZSByaWdodCBvcmRl
ci4gVGVzdCB0aW1lZCBvdXQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc2V0LXRvLWN1
cnJlbnQtYnVmZmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zZXQtdG8tY3VycmVudC1idWZmZXIu
aHRtbAppbmRleCAxZTU0ODZlYzJjZGZjNDQyODc2YmExZjViMmM1MjQ5ODVlNzBlNWI1Li5kYzUy
N2I5YTMyZjUxNDlmZGU0YmU4NmQzYjJhZTVkODFmZDJkNGM3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZm
ZXItZnVsbC1zZXQtdG8tY3VycmVudC1idWZmZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1z
ZXQtdG8tY3VycmVudC1idWZmZXIuaHRtbApAQCAtMiw4MSArMiwzMyBAQAogPGh0bWw+CiA8aGVh
ZD4KIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6
Ly93M2MuZ2l0aHViLmlvL3Jlc291cmNlLXRpbWluZy8jZG9tLXBlcmZvcm1hbmNlLXNldHJlc291
cmNldGltaW5nYnVmZmVyc2l6ZSI+CiA8dGl0bGU+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHNl
dFJlc291cmNlVGltaW5nQnVmZmVyRnVsbCBiZWhhdmVzIGFwcHJvcHJpYXRlbHkgd2hlbiBzZXQg
dG8gdGhlIGN1cnJlbnQgYnVmZmVyIGxldmVsLjwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIg
dGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxsaW5rIHJl
bD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNk
b20tcGVyZm9ybWFuY2Utb25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwiPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5Pgog
PHNjcmlwdD4KLWxldCBldmVudEZpcmVkID0gZmFsc2U7Ci0KLWxldCBsb2FkUmFuZG9tUmVzb3Vy
Y2UgPSAoKSA9PiB7Ci0gICAgcmV0dXJuIGZldGNoKHdpbmRvdy5sb2NhdGlvbi5ocmVmICsgIj8i
ICsgTWF0aC5yYW5kb20oKSk7Ci19OwotCi1zZXR1cCgoKSA9PiB7Ci0gICAgLy8gR2V0IHRoZSBi
cm93c2VyIGludG8gYSBjb25zaXN0ZW50IHN0YXRlLgotICAgIGNsZWFyQnVmZmVyQW5kU2V0U2l6
ZSgxMDApOwotICAgIHdpbmRvdy5yZXN1bHQgPSAiIjsKLX0pOwotCi1sZXQgZmlsbFVwVGhlQnVm
ZmVyID0gKCkgPT4gewotICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAg
ICAgLy8gR2F0aGVyIHVwIDMgUmVzb3VyY2UgRW50cmllcyB0byBraWNrIG9mZiB0aGUgcmVzdCBv
ZiB0ZXN0IGJlaGF2aW9yLgotICAgICAgICBsZXQgcmVzb3VyY2VzID0gMDsKLSAgICAgICAgbGV0
IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIobGlzdCA9PiB7Ci0gICAgICAgICAg
ICByZXNvdXJjZXMgKz0gbGlzdC5nZXRFbnRyaWVzQnlUeXBlKCJyZXNvdXJjZSIpLmxlbmd0aDsK
LSAgICAgICAgICAgIGlmIChyZXNvdXJjZXMgIT09IDMpCi0gICAgICAgICAgICAgICAgcmV0dXJu
OwotICAgICAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOwotICAgICAgICAgICAgcmVzb2x2
ZSgpOwotICAgICAgICB9KTsKLSAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczog
WyJyZXNvdXJjZSJdfSk7Ci0gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMzsgKytpKQotICAg
ICAgICAgICAgbG9hZFJhbmRvbVJlc291cmNlKCk7Ci0gICAgfSk7Ci19OwotCi1sZXQgc2V0QnVm
ZmVyU2l6ZSA9ICgpID0+IHsKLSAgICBwZXJmb3JtYW5jZS5vbnJlc291cmNldGltaW5nYnVmZmVy
ZnVsbCA9ICgpID0+IHsKLSAgICAgICAgZXZlbnRGaXJlZCA9IHRydWU7Ci0gICAgICAgIHdpbmRv
dy5yZXN1bHQgKz0gIkV2ZW50IEZpcmVkIHdpdGggIiAgKyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVz
QnlUeXBlKCJyZXNvdXJjZSIpLmxlbmd0aCArICIgZW50cmllcy4gIjsKK3Byb21pc2VfdGVzdChh
c3luYyAoKSA9PiB7CisgICAgbGV0IHJlc3VsdCA9ICcnOworICAgIHBlcmZvcm1hbmNlLmFkZEV2
ZW50TGlzdGVuZXIoJ3Jlc291cmNldGltaW5nYnVmZmVyZnVsbCcsICgpID0+IHsKKyAgICAgICAg
cmVzdWx0ICs9ICdFdmVudCBGaXJlZCB3aXRoICcgICsKKyAgICAgICAgICAgIHBlcmZvcm1hbmNl
LmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJykubGVuZ3RoICsgJyBlbnRyaWVzLic7CiAgICAg
ICAgIHBlcmZvcm1hbmNlLmNsZWFyUmVzb3VyY2VUaW1pbmdzKCk7Ci0gICAgfTsKLSAgICB3aW5k
b3cucmVzdWx0ICs9ICJiZWZvcmUgc2V0TGltaXQoMykuICI7Ci0gICAgcGVyZm9ybWFuY2Uuc2V0
UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKDMpOwotICAgIHdpbmRvdy5yZXN1bHQgKz0gImFmdGVy
IHNldExpbWl0KDMpLiAiOwotfTsKLQotbGV0IG92ZXJmbG93VGhlQnVmZmVyID0gKCkgPT4gewot
ICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgICAgbG9hZFJhbmRvbVJl
c291cmNlKCkudGhlbigoKSA9PiB7Ci0gICAgICAgICAgICB3aW5kb3cucmVzdWx0ICs9ICJhZnRl
ciBsb2FkaW5nIDR0aCByZXNvdXJjZS4gIjsKLSAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAg
ICAgfSk7CiAgICAgfSk7Ci19OwotCi1sZXQgY2hlY2tSZXN1bHQgPSAoKSA9PiB7Ci0gICAgcmV0
dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKLSAgICAgICAgaWYgKHdpbmRv
dy5yZXN1bHQgIT0gImJlZm9yZSBzZXRMaW1pdCgzKS4gYWZ0ZXIgc2V0TGltaXQoMykuIGFmdGVy
IGxvYWRpbmcgNHRoIHJlc291cmNlLiBFdmVudCBGaXJlZCB3aXRoIDMgZW50cmllcy4gIikgewot
ICAgICAgICAgICAgcmVqZWN0KCJOb24gbWF0Y2hpbmcgdmFsdWU6ICIgKyB3aW5kb3cucmVzdWx0
KTsKLSAgICAgICAgfQotICAgICAgICBsZXQgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeVR5cGUoInJlc291cmNlIik7Ci0gICAgICAgIGlmIChlbnRyaWVzLmxlbmd0aCAhPSAxKSB7
Ci0gICAgICAgICAgICByZWplY3QoIk51bWJlciBvZiBlbnRyaWVzIGluIHJlc291cmNlIHRpbWlu
ZyBidWZmZXIgaXMgdW5leHBlY3RlZDogIiArIGVudHJpZXMubGVuZ3RoKTsKLSAgICAgICAgfQot
ICAgICAgICByZXNvbHZlKCk7Ci0gICAgfSk7Ci19OwotCi1wcm9taXNlX3Rlc3QoYXN5bmMgKCkg
PT4gewotICAgIGF3YWl0IGZpbGxVcFRoZUJ1ZmZlcigpOwotICAgIHNldEJ1ZmZlclNpemUoKTsK
LSAgICBhd2FpdCBvdmVyZmxvd1RoZUJ1ZmZlcigpOwotICAgIGF3YWl0IHdhaXRGb3JFdmVudFRv
RmlyZSgpOwotICAgIGF3YWl0IGNoZWNrUmVzdWx0KCk7Ci19LCAiVGVzdCB0aGF0IGVudHJpZXMg
YWRkZWQgYW5kIGV2ZW50IGZpcmluZyBoYXBwZW5lZCBpbiB0aGUgcmlnaHQgc2VxdWVuY2UiKTsK
KyAgICByZXN1bHQgKz0gJ0JlZm9yZSBhZGRpbmcgZW50cmllcy4gJzsKKyAgICBhd2FpdCBmaWxs
VXBUaGVCdWZmZXJXaXRoVHdvUmVzb3VyY2VzKCk7CisgICAgcmVzdWx0ICs9ICdBZnRlciBhZGRp
bmcgZW50cmllcy4gJzsKKyAgICBsb2FkLnNjcmlwdChzY3JpcHRSZXNvdXJjZXNbMl0pOworICAg
IGF3YWl0IGJ1ZmZlckZ1bGxGaXJlUHJvbWlzZTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwg
J0JlZm9yZSBhZGRpbmcgZW50cmllcy4gQWZ0ZXIgYWRkaW5nIGVudHJpZXMuIEV2ZW50IEZpcmVk
IHdpdGggMiBlbnRyaWVzLicpOworICAgIGNvbnN0IGVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRF
bnRyaWVzQnlUeXBlKCdyZXNvdXJjZScpOworICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5n
dGgsIDEsCisgICAgICAgICdOdW1iZXIgb2YgZW50cmllcyBpbiByZXNvdXJjZSB0aW1pbmcgYnVm
ZmVyIGlzIHVuZXhwZWN0ZWQnKTsKKyAgICBhc3NlcnRfdHJ1ZShlbnRyaWVzWzBdLm5hbWUuaW5j
bHVkZXMoc2NyaXB0UmVzb3VyY2VzWzJdKSwKKyAgICAgICAgJ1RoZSBlbnRyeSBtdXN0IGNvcnJl
c3BvbmQgdG8gdGhlIGxhc3QgcmVzb3VyY2UgbG9hZGVkLicpCit9LCAiVGVzdCB0aGF0IGFkZGlu
ZyBlbnRyaWVzIGFuZCBmaXJpbmcgdGhlIGJ1ZmZlciBmdWxsIGV2ZW50IGhhcHBlbiBpbiB0aGUg
cmlnaHQgb3JkZXIuIik7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXN0
b3JlLWFuZC1jbGVhci1kdXJpbmctY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1
bGwtc3RvcmUtYW5kLWNsZWFyLWR1cmluZy1jYWxsYmFjay1leHBlY3RlZC50eHQKaW5kZXggYmYy
NzU1ZmM0Mjg4MmEyNTE3Y2JkNGRiMzQxZDU1ZjUxYzYyNjI2ZS4uMzdmMGNmMTk5ZTk0MjdkYzdh
ODczMGFlNjM5NzQ0NTQ0NTgwMzc1MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc3RvcmUt
YW5kLWNsZWFyLWR1cmluZy1jYWxsYmFjay1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1
bGwtc3RvcmUtYW5kLWNsZWFyLWR1cmluZy1jYWxsYmFjay1leHBlY3RlZC50eHQKQEAgLTEsMyAr
MSw1IEBACiAKLVBBU1MgVGVzdCB0aGF0IGVudHJpZXMgb3ZlcmZsb3dpbmcgdGhlIGJ1ZmZlciB0
cmlnZ2VyIHRoZSBidWZmZXIgZnVsbCBldmVudCwgY2FuIGJlIHN0b3JlZCwgYW5kIGZpbmQgdGhl
bXNlbHZlcyBpbiB0aGUgcHJpbWFyeSBidWZmZXIgYWZ0ZXIgaXQncyBjbGVhcmVkLgorSGFybmVz
cyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgVGVzdCB0aGF0IGVu
dHJpZXMgb3ZlcmZsb3dpbmcgdGhlIGJ1ZmZlciB0cmlnZ2VyIHRoZSBidWZmZXIgZnVsbCBldmVu
dCwgY2FuIGJlIHN0b3JlZCwgYW5kIG1ha2UgdGhlaXIgd2F5IHRvIHRoZSBwcmltYXJ5IGJ1ZmZl
ciBhZnRlciBpdCdzIGNsZWFyZWQgaW4gdGhlIGJ1ZmZlciBmdWxsIGV2ZW50LiBUZXN0IHRpbWVk
IG91dAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zdG9yZS1hbmQtY2xlYXItZHVyaW5n
LWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zdG9yZS1hbmQtY2xlYXItZHVyaW5nLWNh
bGxiYWNrLmh0bWwKaW5kZXggZjA3OTFjYmE2YjM5ZmI0YjdlMWFmMDkwNzc3NzJmMWVlM2I0Mjc0
NC4uM2VhMDU3NzI1NmM4NWIzNTQ1MzM1OGQxOGM5NzBlNGZiMzA0NWM0YyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvYnVmZmVyLWZ1bGwtc3RvcmUtYW5kLWNsZWFyLWR1cmluZy1jYWxsYmFjay5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL2J1ZmZlci1mdWxsLXN0b3JlLWFuZC1jbGVhci1kdXJpbmctY2FsbGJhY2suaHRtbApAQCAt
NCw1MiArNCwzMyBAQAogPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+CiA8dGl0bGU+VGhpcyB0ZXN0
IHZhbGlkYXRlcyB0aGUgYmVoYXZpb3Igb2YgcmVhZCBhbmQgY2xlYXIgb3BlcmF0aW9uIGluIG9u
cmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIGNhbGxiYWNrIG9mIHJlc291cmNlIHRpbWluZy48L3Rp
dGxlPgogPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJJbnRlbCIgaHJlZj0iaHR0cDovL3d3dy5p
bnRlbC5jb20vIiAvPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9U
Ui9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxsaW5rIHJl
bD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNk
b20tcGVyZm9ybWFuY2Utb25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwiLz4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL2J1ZmZlci1mdWxsLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4K
IDxzY3JpcHQ+Ci1jb25zdCByZXNvdXJjZV90aW1pbmdfYnVmZmVyX3NpemUgPSAxOwotbGV0IGds
b2JhbF9idWZmZXIgPSBbXTsKLWxldCBldmVudEZpcmVkID0gZmFsc2U7Ci0KLXNldHVwKCgpID0+
IHsKLSAgICBjbGVhckJ1ZmZlckFuZFNldFNpemUocmVzb3VyY2VfdGltaW5nX2J1ZmZlcl9zaXpl
KTsKLSAgICBsZXQgc3RvcmVfYW5kX2NsZWFyID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgIGNvbnN0
IGVudHJ5TGlzdCA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7Ci0g
ICAgICAgIGVudHJ5TGlzdC5mb3JFYWNoKGZ1bmN0aW9uIChlbnRyeSkgewotICAgICAgICAgICAg
Z2xvYmFsX2J1ZmZlci5wdXNoKGVudHJ5KTsKLSAgICAgICAgfSk7Ci0gICAgICAgIHBlcmZvcm1h
bmNlLmNsZWFyUmVzb3VyY2VUaW1pbmdzKCk7Ci0gICAgICAgIGV2ZW50RmlyZWQgPSB0cnVlOwot
ICAgIH0KLSAgICBwZXJmb3JtYW5jZS5hZGRFdmVudExpc3RlbmVyKCdyZXNvdXJjZXRpbWluZ2J1
ZmZlcmZ1bGwnLCBzdG9yZV9hbmRfY2xlYXIpOwotfSk7Ci0KLWxldCBvdmVyZmxvd1RoZUJ1ZmZl
ciA9ICgpID0+IHsKLSAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0gICAgICAg
IC8vIFRoaXMgcmVzb3VyY2Ugb3ZlcmZsb3dzIHRoZSBlbnRyeSBidWZmZXIsIGFuZCBnb2VzIGlu
dG8gdGhlIHNlY29uZGFyeSBidWZmZXIuCi0gICAgICAgIGFwcGVuZFNjcmlwdCgncmVzb3VyY2Vz
L2VtcHR5X3NjcmlwdC5qcycsIHJlc29sdmUpOworcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsK
KyAgICBhd2FpdCBmaWxsVXBUaGVCdWZmZXJXaXRoU2luZ2xlUmVzb3VyY2UoKTsKKyAgICBjb25z
dCBlbnRyeUJ1ZmZlciA9IFtdOworICAgIHBlcmZvcm1hbmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3Jl
c291cmNldGltaW5nYnVmZmVyZnVsbCcsICgpID0+IHsKKyAgICAgIGVudHJ5QnVmZmVyLnB1c2go
Li4ucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKSk7CisgICAgICBwZXJm
b3JtYW5jZS5jbGVhclJlc291cmNlVGltaW5ncygpOwogICAgIH0pOwotfTsKLQotbGV0IHRlc3RU
aGF0QnVmZmVyQ29udGFpbnNUaGVSaWdodFJlc291cmNlcyA9ICgpID0+IHsKLSAgICBsZXQgZW50
cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7CisgICAgbG9h
ZC5zY3JpcHQoc2NyaXB0UmVzb3VyY2VzWzFdKTsKKyAgICBhd2FpdCBidWZmZXJGdWxsRmlyZVBy
b21pc2U7CisgICAgY29uc3QgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUo
J3Jlc291cmNlJyk7CiAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwKLSAgICAg
ICAgICAgICAgICAgICJPbmx5IHRoZSBsYXN0IGVudHJ5IHNob3VsZCBiZSBzdG9yZWQgaW4gcmVz
b3VyY2UgdGltaW5nIGJ1ZmZlciBzaW5jZSBpdCdzIGNsZWFyZWQgb25jZSBpdCBvdmVyZmxvd3Mu
Iik7Ci0gICAgYXNzZXJ0X2VxdWFscyhnbG9iYWxfYnVmZmVyLmxlbmd0aCwgMSwgJzEgcmVzb3Vy
Y2UgdGltaW5nIGVudHJ5IHNob3VsZCBiZSBtb3ZlZCB0byBnbG9iYWwgYnVmZmVyLicpOwotICAg
IGFzc2VydF90cnVlKGdsb2JhbF9idWZmZXJbMF0ubmFtZS5pbmNsdWRlcygnZW1wdHkuanMnKSwg
ImVtcHR5LmpzIGlzIGluIHRoZSBnbG9iYWwgYnVmZmVyIik7Ci0gICAgYXNzZXJ0X3RydWUoZW50
cmllc1swXS5uYW1lLmluY2x1ZGVzKCdlbXB0eV9zY3JpcHQuanMnKSwgImVtcHR5X3NjcmlwdC5q
cyBpcyBpbiB0aGUgZW50cmllcyBidWZmZXIiKTsKLX07Ci0KLXByb21pc2VfdGVzdChhc3luYyAo
KSA9PiB7Ci0gICAgYXdhaXQgZmlsbFVwVGhlQnVmZmVyV2l0aFNpbmdsZVJlc291cmNlKCJyZXNv
dXJjZXMvZW1wdHkuanMiKTsKLSAgICBhd2FpdCBvdmVyZmxvd1RoZUJ1ZmZlcigpOwotICAgIGF3
YWl0IHdhaXRGb3JFdmVudFRvRmlyZSgpOwotICAgIHRlc3RUaGF0QnVmZmVyQ29udGFpbnNUaGVS
aWdodFJlc291cmNlcygpOwotfSwgIlRlc3QgdGhhdCBlbnRyaWVzIG92ZXJmbG93aW5nIHRoZSBi
dWZmZXIgdHJpZ2dlciB0aGUgYnVmZmVyIGZ1bGwgZXZlbnQsIGNhbiBiZSBzdG9yZWQsIGFuZCBm
aW5kIHRoZW1zZWx2ZXMgaW4gdGhlIHByaW1hcnkgYnVmZmVyIGFmdGVyIGl0J3MgY2xlYXJlZC4i
KTsKKyAgICAgICAgIk9ubHkgdGhlIGxhc3QgZW50cnkgc2hvdWxkIGJlIHN0b3JlZCBpbiByZXNv
dXJjZSB0aW1pbmcgYnVmZmVyIHNpbmNlIGl0J3MgY2xlYXJlZCBvbmNlIGl0IG92ZXJmbG93cy4i
KTsKKyAgICBhc3NlcnRfdHJ1ZShlbnRyaWVzWzBdLm5hbWUuaW5jbHVkZXMoc2NyaXB0UmVzb3Vy
Y2VzWzFdKSwKKyAgICAgICAgc2NyaXB0UmVzb3VyY2VzWzFdICArICIgaXMgaW4gdGhlIGVudHJp
ZXMgYnVmZmVyIik7CisgICAgYXNzZXJ0X2VxdWFscyhlbnRyeUJ1ZmZlci5sZW5ndGgsIDEsCisg
ICAgICAgICcxIHJlc291cmNlIHRpbWluZyBlbnRyeSBzaG91bGQgYmUgbW92ZWQgdG8gZW50cnlC
dWZmZXIuJyk7CisgICAgYXNzZXJ0X3RydWUoZW50cnlCdWZmZXJbMF0ubmFtZS5pbmNsdWRlcyhz
Y3JpcHRSZXNvdXJjZXNbMF0pLAorICAgICAgICBzY3JpcHRSZXNvdXJjZXNbMF0gKyAnIGlzIGlu
IHRoZSBlbnRyeUJ1ZmZlcicpOworfSwgIlRlc3QgdGhhdCBlbnRyaWVzIG92ZXJmbG93aW5nIHRo
ZSBidWZmZXIgdHJpZ2dlciB0aGUgYnVmZmVyIGZ1bGwgZXZlbnQsIGNhbiBiZSBzdG9yZWQsIGFu
ZCBtYWtlIHRoZWlyIHdheSB0byB0aGUgcHJpbWFyeSBidWZmZXIgYWZ0ZXIgaXQncyBjbGVhcmVk
IGluIHRoZSBidWZmZXIgZnVsbCBldmVudC4iKTsKIDwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQtZXhwZWN0ZWQudHh0CmluZGV4IGVmYmI2
OTc0YmE3M2FlZDkwMGMwNWZjNTFlZmQzNzgzNDUwODI5MTkuLjZmOWUzZjgyZDAxMWM4MzE5NDgx
YWVhOTJiZmUyMTRhYzdhZTYwN2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXRoZW4taW5j
cmVhc2VkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC10aGVuLWluY3JlYXNlZC1l
eHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLVBBU1MgVGVzdCB0aGF0IG92ZXJmbG93aW5n
IHRoZSBidWZmZXIgYW5kIGltbWVkaWF0ZWx5IGluY3JlYXNpbmcgaXRzIGxpbWl0IGRvZXMgbm90
IHRyaWdnZXIgdGhlIHJlc291cmNldGltaW5nYnVmZmVyZnVsbCBldmVudAorRkFJTCBUZXN0IHRo
YXQgb3ZlcmZsb3dpbmcgdGhlIGJ1ZmZlciBhbmQgaW1tZWRpYXRlbHkgaW5jcmVhc2luZyBpdHMg
bGltaXQgZG9lcyBub3QgdHJpZ2dlciB0aGUgcmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIGV2ZW50
IGFzc2VydF9lcXVhbHM6IEFsbCByZXNvdXJjZXMgc2hvdWxkIGJlIGluIHRoZSBidWZmZXIsIHNp
bmNlIGl0cyBzaXplIHdhcyBpbmNyZWFzZWQgZXhwZWN0ZWQgMyBidXQgZ290IDIKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxs
LXRoZW4taW5jcmVhc2VkLmh0bWwKaW5kZXggMjI2NTA3N2ZjMTVhMjc3YzMzNTJkYTIxNWZhNWFj
OGEyNzZjNjBhYS4uNjUyYWQxOTIxZDNkNTk3NjhiNzJkNDVmYjY5ZTdkOTRlZDczMDUyNyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZm
ZXItZnVsbC10aGVuLWluY3JlYXNlZC5odG1sCkBAIC02LDYgKzYsNyBAQAogPGxpbmsgcmVsPSJo
ZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1h
bmNlcmVzb3VyY2V0aW1pbmciLz4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2J1ZmZlci1mdWxsLXV0aWxpdGll
cy5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1m
dWxsLXdoZW4tcG9wdWxhdGUtZW50cmllcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC13
aGVuLXBvcHVsYXRlLWVudHJpZXMtZXhwZWN0ZWQudHh0CmluZGV4IDM0ZWM4MTg1ODlkNjVlOTE4
YTNhYjk0MzY3MjZkMTQyMTMxMTVlNzYuLmYxOWZmMTg2M2Q3OWM5MzkzOGMyNGM5Y2Y2NWUyNTVj
MWJlN2ZhNmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXdoZW4tcG9wdWxhdGUtZW50cmll
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtd2hlbi1wb3B1bGF0ZS1lbnRyaWVz
LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotUEFTUyBUZXN0IHRoYXQgYSBidWZmZXIg
ZnVsbCBldmVudCBkb2VzIG5vdCBidWJibGUgYW5kIHRoYXQgcmVzb3VyY2V0aW1pbmdidWZmZXJm
dWxsIGlzIGNhbGxlZCBvbmx5IG9uY2UgcGVyIG92ZXJmbG93CitGQUlMIFRlc3QgdGhhdCBhIGJ1
ZmZlciBmdWxsIGV2ZW50IGRvZXMgbm90IGJ1YmJsZSBhbmQgdGhhdCByZXNvdXJjZXRpbWluZ2J1
ZmZlcmZ1bGwgaXMgY2FsbGVkIG9ubHkgb25jZSBwZXIgb3ZlcmZsb3cgYXNzZXJ0X2VxdWFsczog
TnVtYmVyIG9mIGVudHJpZXMgZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIHZhbHVlLiBleHBl
Y3RlZCAyIGJ1dCBnb3QgMAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC13aGVuLXBvcHVs
YXRlLWVudHJpZXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXdoZW4tcG9wdWxhdGUtZW50cmllcy5o
dG1sCmluZGV4IDAwZDJhZTBlNDQyNmY0NjQ0ZjcwZTkyMTc1MWZmZmMzMjdkZTQ2ZDYuLmY0YjFh
MmU3ZTdhYmJhMjVjNzhlNGMxZGJlMGIxYWJhMjkwNjFkNDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZl
ci1mdWxsLXdoZW4tcG9wdWxhdGUtZW50cmllcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXdo
ZW4tcG9wdWxhdGUtZW50cmllcy5odG1sCkBAIC0yLDQ0ICsyLDI4IEBACiA8aHRtbD4KIDxoZWFk
PgogPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Ci08bGluayByZWw9ImF1dGhvciIgdGl0bGU9Iklu
dGVsIiBocmVmPSJodHRwOi8vd3d3LmludGVsLmNvbS8iIC8+Ci08bGluayByZWw9ImhlbHAiIGhy
ZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jcGVyZm9ybWFuY2VyZXNv
dXJjZXRpbWluZyIvPgogPHRpdGxlPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIGZ1bmN0aW9uYWxp
dHkgb2Ygb25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwgaW4gcmVzb3VyY2UgdGltaW5nLjwvdGl0
bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkludGVsIiBocmVmPSJodHRwOi8vd3d3Lmlu
dGVsLmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9U
Ui9yZXNvdXJjZS10aW1pbmctMi8jZG9tLXBlcmZvcm1hbmNlLW9ucmVzb3VyY2V0aW1pbmdidWZm
ZXJmdWxsIi8+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy9idWZmZXItZnVsbC11dGlsaXRpZXMuanMiPjwvc2Ny
aXB0PgogPC9oZWFkPgogPGJvZHk+CiA8c2NyaXB0PgotY29uc3QgcmVzb3VyY2VfdGltaW5nX2J1
ZmZlcl9zaXplID0gMjsKLWxldCBidWZmZXJGdWxsQ291bnQgPSAwOwotbGV0IGV2ZW50RmlyZWQg
PSBmYWxzZTsKLXNldHVwKCgpID0+IHsKLSAgICBjbGVhckJ1ZmZlckFuZFNldFNpemUocmVzb3Vy
Y2VfdGltaW5nX2J1ZmZlcl9zaXplKTsKK3Byb21pc2VfdGVzdChhc3luYyAoKSA9PiB7CisgICAg
bGV0IGJ1ZmZlckZ1bGxDb3VudCA9IDA7CiAgICAgcGVyZm9ybWFuY2UuYWRkRXZlbnRMaXN0ZW5l
cigncmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsJywgZSA9PiB7CiAgICAgICAgIGFzc2VydF9lcXVh
bHMoZS5idWJibGVzLCBmYWxzZSwgIkV2ZW50IGJ1YmJsZXMgYXR0cmlidXRlIGlzIGZhbHNlIik7
CiAgICAgICAgIGJ1ZmZlckZ1bGxDb3VudCsrOwotICAgICAgICBldmVudEZpcmVkID0gdHJ1ZTsK
ICAgICB9KTsKLX0pOwotCi1sZXQgb3ZlcmZsb3dUaGVCdWZmZXIgPSAoKSA9PiB7Ci0gICAgcmV0
dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgICAgICAvLyBUaGlzIHJlc291cmNlIG92
ZXJmbG93cyB0aGUgZW50cnkgYnVmZmVyLCBhbmQgZ29lcyBpbnRvIHRoZSBzZWNvbmRhcnkgYnVm
ZmVyLgotICAgICAgICBhcHBlbmRTY3JpcHQoJ3Jlc291cmNlcy9lbXB0eV9zY3JpcHQuanMnLCBy
ZXNvbHZlKTsKLSAgICB9KTsKLX07Ci0KLWxldCB0ZXN0VGhhdEJ1ZmZlckNvbnRhaW5zVGhlUmln
aHRSZXNvdXJjZXMgPSAoKSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5nZXRF
bnRyaWVzQnlUeXBlKCdyZXNvdXJjZScpLmxlbmd0aCwgcmVzb3VyY2VfdGltaW5nX2J1ZmZlcl9z
aXplLCAnVGhlcmUgc2hvdWxkIG9ubHkgYmUgfGJ1ZmZlclNpemV8IHJlc291cmNlIGVudHJpZXMu
Jyk7CisgICAgYXdhaXQgZmlsbFVwVGhlQnVmZmVyV2l0aFR3b1Jlc291cmNlcygpOworICAgIC8v
IE92ZXJmbG93IHRoZSBidWZmZXIKKyAgICBhd2FpdCBsb2FkLnNjcmlwdChzY3JpcHRSZXNvdXJj
ZXNbMl0pOworICAgIGF3YWl0IHdhaXRGb3JOZXh0VGFzaygpOworICAgIGNoZWNrRW50cmllcygy
KTsKICAgICBhc3NlcnRfZXF1YWxzKGJ1ZmZlckZ1bGxDb3VudCwgMSwgJ29ucmVzb3VyY2V0aW1p
bmdidWZmZXJmdWxsIHNob3VsZCBoYXZlIGJlZW4gaW52b2tlZCBvbmNlLicpOwotfTsKLQotcHJv
bWlzZV90ZXN0KGFzeW5jICgpID0+IHsKLSAgICBhd2FpdCBmaWxsVXBUaGVCdWZmZXJXaXRoVHdv
UmVzb3VyY2VzKCdyZXNvdXJjZXMvZW1wdHkuanMnKTsKLSAgICBhd2FpdCBvdmVyZmxvd1RoZUJ1
ZmZlcigpOwotICAgIGF3YWl0IHdhaXRGb3JFdmVudFRvRmlyZSgpOwotICAgIHRlc3RUaGF0QnVm
ZmVyQ29udGFpbnNUaGVSaWdodFJlc291cmNlcygpOwogfSwgIlRlc3QgdGhhdCBhIGJ1ZmZlciBm
dWxsIGV2ZW50IGRvZXMgbm90IGJ1YmJsZSBhbmQgdGhhdCByZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1
bGwgaXMgY2FsbGVkIG9ubHkgb25jZSBwZXIgb3ZlcmZsb3ciKTsKIDwvc2NyaXB0PgogPC9ib2R5
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1yZXVzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25u
ZWN0aW9uLXJldXNlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNWIxNTg3MmY2MzgxOGNlNTU3
MjNhMDU3Y2Q5NmM5Y2QzZDZmNzE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1y
ZXVzZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACitEZXNjcmlwdGlvbgorCitTZWUgdGhl
IGluY2x1ZGVkIHRlc3Qgc2NyaXB0CisKKworUEFTUyBQZXJmb3JtYW5jZVJlc3JvdWNlVGltaW5n
IGVudHJpZXMgbmVlZCB0byBjb25mb3JtIHRvIHRoZSBzcGVjIHdoZW4gYSBkaXN0aW5jdCByZXNv
dXJjZSBpcyBmZXRjaGVkIG92ZXIgYSBwZXJzaXN0ZW50IGNvbm5lY3Rpb24KK1BBU1MgUGVyZm9y
bWFuY2VSZXNyb3VjZVRpbWluZyBlbnRyaWVzIG5lZWQgdG8gY29uZm9ybSB0byB0aGUgc3BlYyB3
aGVuIHRoZSByZXNvdXJjZSBpcyBjYWNoZS1yZXZhbGlkYXRlZCBvdmVyIGEgcGVyc2lzdGVudCBj
b25uZWN0aW9uCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nv
bm5lY3Rpb24tcmV1c2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lODJiN2JjNGVhOWJiMWMzOTA0N2M1ZjUx
ODY3ZGMzYTNhNDVkYmViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1yZXVzZS5o
dG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZyBjb25uZWN0aW9u
IHJldXNlPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJo
dHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczov
L3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI3NlYy1wZXJmb3JtYW5jZXJlc291cmNl
dGltaW5nIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFudHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9jb25uZWN0aW9uLXJldXNlLXRlc3QuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRpb248L2gxPgorPHA+U2VlIDxhIGhy
ZWY9InJlc291cmNlcy9jb25uZWN0aW9uLXJldXNlLXRlc3QuanMiPnRoZSBpbmNsdWRlZCB0ZXN0
CisgIHNjcmlwdDwvYT48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25u
ZWN0aW9uLXJldXNlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHR0
cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI1YjE1ODcyZjYzODE4Y2U1NTcyM2EwNTdjZDk2
YzljZDNkNmY3MTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0aW9uLXJldXNlLmh0dHBz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKK0Rlc2NyaXB0aW9uCisKK1NlZSB0aGUgaW5j
bHVkZWQgdGVzdCBzY3JpcHQKKworCitQQVNTIFBlcmZvcm1hbmNlUmVzcm91Y2VUaW1pbmcgZW50
cmllcyBuZWVkIHRvIGNvbmZvcm0gdG8gdGhlIHNwZWMgd2hlbiBhIGRpc3RpbmN0IHJlc291cmNl
IGlzIGZldGNoZWQgb3ZlciBhIHBlcnNpc3RlbnQgY29ubmVjdGlvbgorUEFTUyBQZXJmb3JtYW5j
ZVJlc3JvdWNlVGltaW5nIGVudHJpZXMgbmVlZCB0byBjb25mb3JtIHRvIHRoZSBzcGVjIHdoZW4g
dGhlIHJlc291cmNlIGlzIGNhY2hlLXJldmFsaWRhdGVkIG92ZXIgYSBwZXJzaXN0ZW50IGNvbm5l
Y3Rpb24KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1yZXVzZS5odHRwcy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
Y29ubmVjdGlvbi1yZXVzZS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4MmI3YmM0ZWE5YmIxYzM5
MDQ3YzVmNTE4NjdkYzNhM2E0NWRiZWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0aW9u
LXJldXNlLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGlt
aW5nIGNvbm5lY3Rpb24gcmV1c2U8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJH
b29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAi
IGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmctMi8jc2VjLXBlcmZv
cm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnktaW52YXJpYW50
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2Nvbm5lY3Rpb24tcmV1c2Ut
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5EZXNjcmlwdGlvbjwvaDE+
Cis8cD5TZWUgPGEgaHJlZj0icmVzb3VyY2VzL2Nvbm5lY3Rpb24tcmV1c2UtdGVzdC5qcyI+dGhl
IGluY2x1ZGVkIHRlc3QKKyAgc2NyaXB0PC9hPjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1zdGFydC1lbmQtdGltZS13aXRoLXJlZGlyZWN0cy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhcnQtZW5kLXRpbWUtd2l0aC1yZWRpcmVjdHMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNhZTcyMmZjOWExMmM2ZWU0MjI3ZjQ5NGJlYjY3NjNh
YjQ3ZmQzOGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhcnQtZW5kLXRp
bWUtd2l0aC1yZWRpcmVjdHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFZl
cmlmeSB0aGF0IGNyb3NzLW9yaWdpbiByZXNvdXJjZXMgZG9uJ3QgaW1wbGljaXRseSBleHBvc2Ug
dGhlaXIgcmVkaXJlY3QgdGltaW5ncworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3Rh
cnQtZW5kLXRpbWUtd2l0aC1yZWRpcmVjdHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1zdGFydC1l
bmQtdGltZS13aXRoLXJlZGlyZWN0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFiMTA3ZDNhZWY3NzY0ZDli
OTYwM2VhMjY1OGNmNDY5Y2YyODU5ODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmln
aW4tc3RhcnQtZW5kLXRpbWUtd2l0aC1yZWRpcmVjdHMuaHRtbApAQCAtMCwwICsxLDMyIEBACis8
IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4K
Kzx0aXRsZT5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB2YWx1ZXMgaW4gcmVzb3VyY2UgdGltaW5n
IGZvciBjcm9zcy1vcmlnaW4KK3JlZGlyZWN0cy48L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3Ii
IHRpdGxlPSJOb2FtIFJvc2VudGhhbCIgaHJlZj0ibm9hbUB3ZWJraXQub3JnIj4KKzxsaW5rIHJl
bD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNz
ZWMtcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3Qt
aW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1s
b2FkZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnktaW52YXJp
YW50cy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citjb25zdCB7UkVN
T1RFX09SSUdJTn0gPSBnZXRfaG9zdF9pbmZvKCk7Citjb25zdCBkZWxheSA9IDIKK2NvbnN0IGJs
YW5rX3BhZ2UgPSBgL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5o
dG1gOworY29uc3QgZGVzdFVybCA9IGAvY29tbW9uL3Nsb3ctcmVkaXJlY3QucHk/ZGVsYXk9JHtk
ZWxheX0mbG9jYXRpb249JHtSRU1PVEVfT1JJR0lOfS8ke2JsYW5rX3BhZ2V9YDsKKworY29uc3Qg
dGltZUJlZm9yZSA9IHBlcmZvcm1hbmNlLm5vdygpCithdHRyaWJ1dGVfdGVzdChsb2FkLmlmcmFt
ZSwgZGVzdFVybCwgZW50cnkgPT4geworICAgIGFzc2VydF9lcXVhbHMoZW50cnkuc3RhcnRUaW1l
LCBlbnRyeS5mZXRjaFN0YXJ0LCAnc3RhcnRUaW1lIGFuZCBmZXRjaFN0YXJ0IHNob3VsZCBiZSBl
cXVhbCcpOworICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oZW50cnkuc3RhcnRUaW1lLCB0aW1lQmVm
b3JlLCAnc3RhcnRUaW1lIGFuZCBmZXRjaFN0YXJ0IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gdGhl
IHRpbWUgYmVmb3JlIGZldGNoaW5nJyk7CisgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS93
M2MvcmVzb3VyY2UtdGltaW5nL2lzc3Vlcy8yNjQKKyAgICBhc3NlcnRfbGVzc190aGFuKE1hdGgu
cm91bmQoZW50cnkuc3RhcnRUaW1lIC0gdGltZUJlZm9yZSksIGRlbGF5ICogMTAwMCwgJ3N0YXJ0
VGltZSBzaG91bGQgbm90IGV4cG9zZSByZWRpcmVjdCBkZWxheXMnKTsKK30sICJWZXJpZnkgdGhh
dCBjcm9zcy1vcmlnaW4gcmVzb3VyY2VzIGRvbid0IGltcGxpY2l0bHkgZXhwb3NlIHRoZWlyIHJl
ZGlyZWN0IHRpbWluZ3MiKQorCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2Nyb3NzLW9yaWdpbi1zdGF0dXMtY29kZXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1z
dGF0dXMtY29kZXMuaHRtbAppbmRleCBlOGVjZTVmZjJmZWEzZDRkODU2Y2RmMzc3NDg3MGM1OTA4
MGExYzQ1Li4xOTdhNzY2MzM5NmVmNjZjNzc2NGQ2NTk5YjAzODU0ZDEzOGYyZTYwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhdHVzLWNvZGVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mtb3Jp
Z2luLXN0YXR1cy1jb2Rlcy5odG1sCkBAIC0xLDYgKzEsOSBAQAogPCFkb2N0eXBlIGh0bWw+CiA8
aHRtbD4KIDxoZWFkPgorPHRpdGxlPlJlc291cmNlIFRpbWluZzogUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZyBhdHRyaWJ1dGVzIHNob3VsZG4ndCBjaGFuZ2UKKyAgaWYgdGhlIEhUVFAgc3RhdHVz
IGNvZGUgY2hhbmdlczwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3
LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmctMi8jc2VjLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1p
bmciLz4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPS9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanM+PC9zY3JpcHQ+CkBAIC0x
NSwzNCArMTgsNTMgQEAKIDxzY3JpcHQgaWQ9InNjcmlwdF80MDQiPjwvc2NyaXB0PgogPHNjcmlw
dCBpZD0ic2NyaXB0XzUwMiI+PC9zY3JpcHQ+CiA8c2NyaXB0PgotYXN5bmNfdGVzdCh0ID0+IHsK
LSAgbGV0IGRlc3RVcmwgPSBnZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lOICsgJy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzLyc7Ci0gIGxldCBzdGF0dXNDb2RlcyA9IFsnMjAwJywg
JzMwNycsICc0MDQnLCAnNTAyJ107CisKK2NvbnN0IGxpc3RlbkZvclBlcmZvcm1hbmNlRW50cmll
cyA9IG51bV9leHBlY3RlZCA9PiB7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsK
KyAgICBsZXQgcmVzdWx0cyA9IFtdOworICAgIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGVudHJ5
TGlzdCA9PiB7CisgICAgICBlbnRyeUxpc3QuZ2V0RW50cmllcygpLmZvckVhY2goZW50cnkgPT4g
eworICAgICAgICBpZiAoIWVudHJ5Lm5hbWUuaW5jbHVkZXMoInN0YXR1cy1jb2RlIikpCisgICAg
ICAgICAgcmV0dXJuOworCisgICAgICAgIHJlc3VsdHMucHVzaChlbnRyeSk7CisgICAgICAgIGlm
IChyZXN1bHRzLmxlbmd0aCA9PSBudW1fZXhwZWN0ZWQpIHsKKyAgICAgICAgICByZXNvbHZlKHJl
c3VsdHMpOworICAgICAgICB9CisgICAgICB9KTsKKyAgICB9KS5vYnNlcnZlKHtlbnRyeVR5cGVz
OiBbJ3Jlc291cmNlJ119KTsKKyAgfSk7Cit9CisKK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsK
KyAgY29uc3QgZGVzdFVybCA9IGdldF9ob3N0X2luZm8oKS5IVFRQX1JFTU9URV9PUklHSU4gKyAn
L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvJzsKKyAgY29uc3Qgc3RhdHVzQ29kZXMgPSBbJzIw
MCcsICczMDcnLCAnNDA0JywgJzUwMiddOworCisgIGxldCBleHBlY3RlZF9lbnRyeV9jb3VudCA9
IDA7CiAgIHN0YXR1c0NvZGVzLmZvckVhY2goc3RhdHVzID0+IHsKLSAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnaW1nXycgKyBzdGF0dXMpLnNyYyA9IGRlc3RVcmwgKyAnc3RhdHVzLWNvZGUu
cHk/c3RhdHVzPScgKyBzdGF0dXM7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Njcmlw
dF8nICsgc3RhdHVzKS5zcmMgPSBkZXN0VXJsICsgJ3N0YXR1cy1jb2RlLnB5P3N0YXR1cz0nICsg
c3RhdHVzICsgJyZzY3JpcHQ9MSc7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYGltZ18k
e3N0YXR1c31gKS5zcmMgPSBgJHtkZXN0VXJsfXN0YXR1cy1jb2RlLnB5P3N0YXR1cz0ke3N0YXR1
c31gOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBzY3JpcHRfJHtzdGF0dXN9YCkuc3Jj
ID0gYCR7ZGVzdFVybH1zdGF0dXMtY29kZS5weT9zdGF0dXM9JHtzdGF0dXN9JnNjcmlwdD0xYDsK
KyAgICBleHBlY3RlZF9lbnRyeV9jb3VudCArPSAyOwogICB9KTsKLSAgbGV0IG5hbWVNYXAgPSB7
fTsKLSAgbGV0IGZpcnN0RW50cnkgPSBudWxsOwotICAvLyBXZSB3aWxsIGNoZWNrIHRoYXQgdGhl
IG5vbi10aW1lc3RhbXAgdmFsdWVzIG9mIHRoZSBlbnRyeSBtYXRjaCBmb3IgYWxsIGVudHJpZXMu
Ci0gIGNvbnN0IGtleXMgPSBbJ2VudHJ5VHlwZScsICduZXh0SG9wUHJvdG9jb2wnLCAndHJhbnNm
ZXJTaXplJywgJ2VuY29kZWRCb2R5U2l6ZScsICdkZWNvZGVkQm9keVNpemUnXTsKLSAgbmV3IFBl
cmZvcm1hbmNlT2JzZXJ2ZXIodC5zdGVwX2Z1bmMoZW50cnlMaXN0ID0+IHsKLSAgICBlbnRyeUxp
c3QuZ2V0RW50cmllcygpLmZvckVhY2goZW50cnkgPT4gewotICAgICAgaWYgKCFlbnRyeS5uYW1l
LmluY2x1ZGVzKCJzdGF0dXMtY29kZSIpKQotICAgICAgICByZXR1cm47CiAKLSAgICAgIG5hbWVN
YXBbZW50cnkubmFtZV0gPSB0cnVlOwotICAgICAgaWYgKCFmaXJzdEVudHJ5KSB7Ci0gICAgICAg
IGZpcnN0RW50cnkgPSBlbnRyeTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIGtleXMuZm9yRWFj
aChrZXkgPT4gewotICAgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cnlba2V5XSwgZmlyc3RFbnRy
eVtrZXldLCBgRGlzY2VybmlibGUgZGlmZmVyZW5jZSBpbiAke2tleX0gZm9yICR7ZW50cnkubmFt
ZX1gKTsKLSAgICAgICAgfSk7Ci0gICAgICB9Ci0gICAgfSk7Ci0gICAgaWYgKE9iamVjdC5rZXlz
KG5hbWVNYXApLmxlbmd0aCA9PT0gOCkgewotICAgICAgdC5kb25lKCk7Ci0gICAgfQotICB9KSku
b2JzZXJ2ZSh7ZW50cnlUeXBlczogWydyZXNvdXJjZSddfSk7CisgIGNvbnN0IGVudHJpZXMgPSBh
d2FpdCBsaXN0ZW5Gb3JQZXJmb3JtYW5jZUVudHJpZXMoZXhwZWN0ZWRfZW50cnlfY291bnQpOwor
CisgIC8vIFdlIHdpbGwgY2hlY2sgdGhhdCB0aGUgbm9uLXRpbWVzdGFtcCB2YWx1ZXMgb2YgdGhl
IGVudHJ5IG1hdGNoIGZvciBhbGwKKyAgLy8gZW50cmllcy4KKyAgY29uc3Qga2V5cyA9IFsKKyAg
ICAnZW50cnlUeXBlJywKKyAgICAnbmV4dEhvcFByb3RvY29sJywKKyAgICAndHJhbnNmZXJTaXpl
JywKKyAgICAnZW5jb2RlZEJvZHlTaXplJywKKyAgICAnZGVjb2RlZEJvZHlTaXplJywKKyAgXTsK
KworICBjb25zdCBmaXJzdCA9IGVudHJpZXNbMF07CisgIGVudHJpZXMuc2xpY2UoMSkuZm9yRWFj
aChlbnRyeSA9PiB7CisgICAga2V5cy5mb3JFYWNoKGF0dHJpYnV0ZSA9PiB7CisgICAgICBhc3Nl
cnRfZXF1YWxzKGVudHJ5W2F0dHJpYnV0ZV0sIGZpcnN0W2F0dHJpYnV0ZV0sCisgICAgICAgIGBU
aGVyZSBtdXN0IGJlIG5vIGRpc2Nlcm5pYmxlIGRpZmZlcmVuY2UgZm9yIHRoZSAke2F0dHJpYnV0
ZX0gYCArCisgICAgICAgIGBhdHRyaWJ1dGUgYnV0IGZvdW5kIGEgZGlmZmVyZW5jZSBmb3IgdGhl
ICR7ZW50cnkubmFtZX0gcmVzb3VyY2UuYCk7CisgIH0pfSk7CiB9LCAiTWFrZSBzdXJlIGNyb3Nz
IG9yaWdpbiByZXNvdXJjZSBmZXRjaCBmYWlsdXJlcyB3aXRoIGRpZmZlcmVudCBzdGF0dXMgY29k
ZXMgYXJlIGluZGlzdGluZ3Vpc2hhYmxlIik7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Rv
Y3VtZW50LWRvbWFpbi1uby1pbXBhY3Qtb3BlbmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2RvY3VtZW50
LWRvbWFpbi1uby1pbXBhY3Qtb3BlbmVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44OTI4Zjc3
NWU4ZmJhOGJiZjk1OWQwZmFkZGQyMmU0YzFkY2IzYTVmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
ZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC1vcGVuZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NCBAQAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9kb2N1bWVudC1kb21haW4tbm8taW1wYWN0LW9wZW5lci5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZG9j
dW1lbnQtZG9tYWluLW5vLWltcGFjdC1vcGVuZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OWRmMmYyN2Zh
NWIxOTVmN2I5NTY3MTRjZjgxNmE2MWUxODI1OGI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZG9j
dW1lbnQtZG9tYWluLW5vLWltcGFjdC1vcGVuZXIuaHRtbApAQCAtMCwwICsxLDE2IEBACis8IURP
Q1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorLy8g
T3BlbiBhIGRvY3VtZW50IG9uIG9uZSBvZiBob3N0cyBvbiB0aGUgd2ViLXBsYXRmb3JtIHRlc3Qg
ZG9tYWluLCBzbyB0aGF0CisvLyBkb2N1bWVudC5kb21haW4gd2lsbCBzZXQgYSB2YWxpZCBkb21h
aW4sIHR1cm5pbmcgdGhlIGZyYW1lIGludG8gYQorLy8gY3Jvc3Mtb3JpZ2luIGZyYW1lLgorY29u
c3Qge09USEVSX09SSUdJTn0gPSBnZXRfaG9zdF9pbmZvKCk7Citjb25zdCBvcGVuZWUgPSB3aW5k
b3cub3BlbihPVEhFUl9PUklHSU4gKworICAgICAgICAgICAgICAgIi9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3QuaHRtbCIpOworZmV0Y2hfdGVzdHNf
ZnJvbV93aW5kb3cob3BlbmVlKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZW50cnktYXR0
cmlidXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9lbnRyeS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hYWZiNDVlY2I1YWIyMDBiNTE1MzE5NTVmMGNlOGJkNzg2YzU1MDQ4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvZW50cnktYXR0cmlidXRlcy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMSBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IFBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcgZW50cmllcycgYXR0cmlidXRlcyBhcmUgcG9wdWxhdGVkIHdpdGgg
dGhlIGNvcnJlY3QgdmFsdWVzLgorCisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdl
ID0gbnVsbAorCitUSU1FT1VUIEltYWdlIHJlc291cmNlcyBzaG91bGQgZ2VuZXJhdGUgY29uZm9y
bWFudCBlbnRyaWVzIFRlc3QgdGltZWQgb3V0CitOT1RSVU4gRm9udCByZXNvdXJjZXMgc2hvdWxk
IGdlbmVyYXRlIGNvbmZvcm1hbnQgZW50cmllcworTk9UUlVOIFNhbWUtb3JpZ2luIHJlZGlyZWN0
cyBzaG91bGQgcG9wdWxhdGUgcmVkaXJlY3RTdGFydC9yZWRpcmVjdEVuZAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9lbnRyeS1hdHRyaWJ1dGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9lbnRyeS1hdHRyaWJ1dGVzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjg5YjRlNzRjODU1MTg3NWM1MDMxMzNhZDY2NTJjOGE4YjZjNTkzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL2VudHJ5LWF0dHJpYnV0ZXMuaHRtbApAQCAtMCwwICsxLDM3IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4K
Kzx0aXRsZT5SZXNvdXJjZSBUaW1pbmc6IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgYXR0cmli
dXRlczwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9U
Ui9yZXNvdXJjZS10aW1pbmctMi8jc2VjLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFudHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2F0
dHJpYnV0ZV90ZXN0KAorICBsb2FkLmltYWdlLCAicmVzb3VyY2VzL2Zha2VfcmVzcG9uc2VzLnB5
I2hhc2g9MSIsCisgIGVudHJ5ID0+IHsKKyAgICBhc3NlcnRfdHJ1ZShlbnRyeS5uYW1lLmluY2x1
ZGVzKCcjaGFzaD0xJyksCisgICAgICAiVGhlcmUgc2hvdWxkIGJlIGEgaGFzaCBpbiB0aGUgcmVz
b3VyY2UgbmFtZSIpOworICAgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzX25vX3JlZGlyZWN0
X2h0dHAoZW50cnkpOworICB9LAorICAiSW1hZ2UgcmVzb3VyY2VzIHNob3VsZCBnZW5lcmF0ZSBj
b25mb3JtYW50IGVudHJpZXMiKTsKKworYXR0cmlidXRlX3Rlc3QoCisgIGxvYWQuZm9udCwgIi9m
b250cy9BaGVtLnR0ZiIsCisgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzX25vX3JlZGlyZWN0
X2h0dHAsCisgICJGb250IHJlc291cmNlcyBzaG91bGQgZ2VuZXJhdGUgY29uZm9ybWFudCBlbnRy
aWVzIik7CisKK2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLmltYWdlLCAiL2NvbW1vbi9yZWRpcmVj
dC5weT9sb2NhdGlvbj1yZXNvdXJjZXMvZmFrZV9yZXNwb25zZXMucHkiLAorICBpbnZhcmlhbnRz
LmFzc2VydF9zYW1lX29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNlLAorICAiU2FtZS1vcmlnaW4g
cmVkaXJlY3RzIHNob3VsZCBwb3B1bGF0ZSByZWRpcmVjdFN0YXJ0L3JlZGlyZWN0RW5kIik7Cis8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxwPlRoaXMg
dGVzdCB2YWxpZGF0ZXMgdGhhdCBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGVudHJpZXMnIGF0
dHJpYnV0ZXMgYXJlCitwb3B1bGF0ZWQgd2l0aCB0aGUgY29ycmVjdCB2YWx1ZXMuPC9wPgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZmV0Y2gtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0
Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZldGNoLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odHRw
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTJmYjMwZDFhNzgxM2FjZWVmNTAzMzM0YTBkNDgw
MDQyMDYyMzQwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZldGNoLWNyb3NzLW9yaWdpbi1yZWRp
cmVjdC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgVGVzdCBmZXRj
aGluZyB0aHJvdWdoIGEgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0IFVSTAorUEFTUyBUZXN0IGZldGNo
aW5nIHRocm91Z2ggYSBzYW1lLW9yaWdpbiByZWRpcmVjdCBVUkwKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
ZmV0Y2gtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mZXRjaC1jcm9zcy1v
cmlnaW4tcmVkaXJlY3QuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MTkzNDIyNjUzYTU5NTRmZjAz
MzUxOGM2OTBmNjU0NjBiYzU0MzNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZmV0Y2gtY3Jvc3Mt
b3JpZ2luLXJlZGlyZWN0Lmh0dHBzLmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPCFET0NUWVBFIGh0
bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdCBjcm9zcy1vcmlnaW4gZmV0
Y2ggcmVkaXJlY3RzIGhhdmUgdGhlIHJpZ2h0IHZhbHVlcy48L3RpdGxlPgorPGxpbmsgcmVsPSJh
dXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8
bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1p
bmctMi8jc2VjLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dl
dC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50
cnktaW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291
cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworY29uc3Qge1JFTU9URV9PUklH
SU4sIE9SSUdJTn0gPSBnZXRfaG9zdF9pbmZvKCk7Citjb25zdCByZWRpcmVjdCA9ICIvY29tbW9u
L3JlZGlyZWN0LnB5PyIgKworICAgICAgICAgICAgICAgICAibG9jYXRpb249L3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvZ3JlZW4uaHRtbCI7Citjb25zdCBjcm9zc19vcmlnaW5fcmVkaXJlY3Qg
PSBSRU1PVEVfT1JJR0lOICsgcmVkaXJlY3Q7Citjb25zdCBzYW1lX29yaWdpbl9yZWRpcmVjdCA9
IE9SSUdJTiArIHJlZGlyZWN0OworCithdHRyaWJ1dGVfdGVzdCgKKyAgdXJsID0+IGZldGNoKHVy
bCwge21vZGU6ICJuby1jb3JzIiwgY3JlZGVudGlhbHM6ICJpbmNsdWRlIn0pLAorICBuZXcgVVJM
KGNyb3NzX29yaWdpbl9yZWRpcmVjdCkuaHJlZiwKKyAgaW52YXJpYW50cy5hc3NlcnRfY3Jvc3Nf
b3JpZ2luX3JlZGlyZWN0ZWRfcmVzb3VyY2UsCisgICJUZXN0IGZldGNoaW5nIHRocm91Z2ggYSBj
cm9zcy1vcmlnaW4gcmVkaXJlY3QgVVJMIgorKTsKKworYXR0cmlidXRlX3Rlc3QoCisgIHVybCA9
PiBmZXRjaCh1cmwsIHttb2RlOiAibm8tY29ycyIsIGNyZWRlbnRpYWxzOiAiaW5jbHVkZSJ9KSwK
KyAgbmV3IFVSTChzYW1lX29yaWdpbl9yZWRpcmVjdCkuaHJlZiwKKyAgaW52YXJpYW50cy5hc3Nl
cnRfc2FtZV9vcmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAgIlRlc3QgZmV0Y2hpbmcgdGhy
b3VnaCBhIHNhbWUtb3JpZ2luIHJlZGlyZWN0IFVSTCIKKyk7CisKKzwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvZm9udC10aW1lc3RhbXBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZvbnQtdGltZXN0YW1w
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDE5NjQ0MTg3NWJlY2QyNDNiZmUyMjNlNWFiOWIw
MDhkMGExOWY5OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZvbnQtdGltZXN0YW1wcy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIGZldGNoZXMgYWhlbSBmb250LgorCitGQUlMIFRl
c3QgYSBmb250J3MgdGltZXN0YW1wcyBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsOiBkb21haW5M
b29rdXBTdGFydCBzaG91bGQgYmUgbW9yZSB0aGFuIDAgaW4gc2FtZS1vcmlnaW4gcmVkaXJlY3Qu
IGV4cGVjdGVkIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byA8bm9uZGV0ZXJtaW5p
c3RpYyB0ZXN0IG91dHB1dD4gYnV0IGdvdCAwCitQQVNTIFRlc3QgYSBmb250J3MgdGltZXN0YW1w
cyB3aXRoIGRlbGF5cworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mb250LXRpbWVzdGFtcHMuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2ZvbnQtdGltZXN0YW1wcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2ZWNiNWM0YmZkZGI2MGU3ODNlZTc3
Y2QzMDhiMjhhMGM0ZWE5YzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mb250LXRpbWVzdGFtcHMu
aHRtbApAQCAtMCwwICsxLDYyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzx0aXRsZT5UZXN0IGNyb3NzLW9yaWdpbiBmZXRjaCByZWRpcmVjdHMgaGF2ZSB0aGUg
cmlnaHQgdmFsdWVzLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5q
cyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citjb25zdCBsb2FkX2ZvbnQgPSB1cmwgPT4g
eworICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9IGAKKyAgICA8c3R5bGU+CisgICAgQGZvbnQt
ZmFjZSB7CisgICAgICAgIGZvbnQtZmFtaWx5OiBhaGVtOworICAgICAgICBzcmM6IHVybCgnJHt1
cmx9Jyk7CisgICAgfQorICAgIDwvc3R5bGU+CisgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6
IGFoZW07Ij5UaGlzIGZldGNoZXMgYWhlbSBmb250LjwvZGl2PgorICBgOworICByZXR1cm4gZG9j
dW1lbnQuZm9udHMucmVhZHk7Cit9OworCitjb25zdCBydW5fdGVzdCA9IGFzeW5jICh0LCB1cmwp
ID0+IHsKKyAgLy8gU2V0IHVwIFBlcmZvcm1hbmNlT2JzZXJ2ZXIKKyAgY29uc3QgaHJlZiA9IG5l
dyBVUkwodXJsKS5ocmVmOworICBjb25zdCBzZXRQZXJmb3JtYW5jZU9ic2VydmVyID0gbmV3IFBy
b21pc2UocmVzb2x2ZSA9PiB7CisgICAgY29uc3QgcG8gPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZl
cihyZXNvbHZlKTsKKyAgICBwby5vYnNlcnZlKHt0eXBlOiAicmVzb3VyY2UifSk7CisgIH0pOwor
CisgIC8vIExvYWQgdGhlIGZvbnQgcmVzb3VyY2UgYW5kIHdhaXQgZm9yIGl0IHRvIGJlIGZldGNo
ZWQuCisgIGF3YWl0IGxvYWRfZm9udChocmVmKTsKKworICAvLyBXYWl0IGZvciBhbiBlbnRyeQor
ICBjb25zdCB0aW1lb3V0ID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB0LnN0ZXBfdGltZW91dChy
ZXNvbHZlLCAzMDAwKSk7CisgIGNvbnN0IGxpc3QgPSBhd2FpdCBQcm9taXNlLnJhY2UoW3NldFBl
cmZvcm1hbmNlT2JzZXJ2ZXIsIHRpbWVvdXRdKTsKKyAgYXNzZXJ0X2VxdWFscyh0eXBlb2YobGlz
dCksICJvYmplY3QiLCAiTm8gaWZyYW1lIGVudHJ5IHdhcyBmaXJlZCIpOworICBjb25zdCBlbnRy
aWVzID0gbGlzdC5nZXRFbnRyaWVzQnlOYW1lKHVybCk7CisgIGFzc2VydF9lcXVhbHMoZW50cmll
cy5sZW5ndGgsIDEpOworCisgIC8vIFRlc3QgZW50cnkgdmFsdWVzCisgIGNvbnN0IGVudHJ5ID0g
ZW50cmllc1swXTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihlbnRyeS5mZXRjaFN0YXJ0LCAwLCAi
ZmV0Y2hTdGFydCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIDAgaW4gcmVkaXJlY3RzLiIpOworICBh
c3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LmRvbWFpbkxvb2t1cFN0YXJ0LCBlbnRyeS5m
ZXRjaFN0YXJ0LCAiZG9tYWluTG9va3VwU3RhcnQgc2hvdWxkIGJlIG1vcmUgdGhhbiAwIGluIHNh
bWUtb3JpZ2luIHJlZGlyZWN0LiIpOworICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5
LmRvbWFpbkxvb2t1cEVuZCwgZW50cnkuZG9tYWluTG9va3VwU3RhcnQsICJkb21haW5Mb29rdXBF
bmQgc2hvdWxkIGJlIG1vcmUgdGhhbiAwIGluIHNhbWUtb3JpZ2luIHJlZGlyZWN0LiIpOworICBh
c3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LmNvbm5lY3RTdGFydCwgZW50cnkuZG9tYWlu
TG9va3VwRW5kLCAiY29ubmVjdFN0YXJ0IHNob3VsZCBiZSBtb3JlIHRoYW4gMCBpbiBzYW1lLW9y
aWdpbiByZWRpcmVjdC4iKTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChlbnRyeS5zZWN1
cmVDb25uZWN0aW9uU3RhcnQsIGVudHJ5LmNvbm5lY3RTdGFydCwgInNlY3VyZUNvbm5lY3Rpb25T
dGFydCBzaG91bGQgYmUgbW9yZSB0aGFuIDAgaW4gc2FtZS1vcmlnaW4gcmVkaXJlY3QuIik7Cisg
IGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkuY29ubmVjdEVuZCwgZW50cnkuc2VjdXJl
Q29ubmVjdGlvblN0YXJ0LCAiY29ubmVjdEVuZCBzaG91bGQgYmUgbW9yZSB0aGFuIDAgaW4gc2Ft
ZS1vcmlnaW4gcmVkaXJlY3QuIik7CisgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnku
cmVxdWVzdFN0YXJ0LCBlbnRyeS5jb25uZWN0RW5kLCAicmVxdWVzdFN0YXJ0IHNob3VsZCBiZSBt
b3JlIHRoYW4gMCBpbiBzYW1lLW9yaWdpbiByZWRpcmVjdC4iKTsKKyAgYXNzZXJ0X2dyZWF0ZXJf
dGhhbl9lcXVhbChlbnRyeS5yZXNwb25zZVN0YXJ0LCBlbnRyeS5yZXF1ZXN0U3RhcnQsICJyZXNw
b25zZVN0YXJ0IHNob3VsZCBiZSBtb3JlIHRoYW4gMCBpbiBzYW1lLW9yaWdpbiByZWRpcmVjdC4i
KTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChlbnRyeS5yZXNwb25zZUVuZCwgZW50cnku
cmVzcG9uc2VTdGFydCwgInJlc3BvbnNlRW5kIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMCBpbiBy
ZWRpcmVjdHMuIik7CisgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkuZHVyYXRpb24s
IDAsICJkdXJhdGlvbiBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIDAgaW4gcmVkaXJlY3RzLiIpOwor
fQorCitjb25zdCB7SFRUUFNfUkVNT1RFX09SSUdJTn0gPSBnZXRfaG9zdF9pbmZvKCk7Citwcm9t
aXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBydW5fdGVzdCh0LCBIVFRQU19SRU1PVEVfT1JJR0lO
ICsgIi9mb250cy9BaGVtLnR0ZiIpOworfSwgIlRlc3QgYSBmb250J3MgdGltZXN0YW1wcyIpOwor
Citwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBydW5fdGVzdCh0LCBIVFRQU19SRU1PVEVf
T1JJR0lOICsgIi9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NvcnMtYWhlbS5weT9waXBlPXRy
aWNrbGUoZDEpIik7Cit9LCAiVGVzdCBhIGZvbnQncyB0aW1lc3RhbXBzIHdpdGggZGVsYXlzIik7
Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2lmcmFtZS1mYWlsZWQtY29tbWl0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2lmcmFtZS1mYWlsZWQtY29tbWl0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
NDRiZDE3NTJmMjkyNmYyM2YzY2IzMDc3YTNhNmVjNzUyZjgxNWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvaWZyYW1lLWZhaWxlZC1jb21taXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAK
K0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL25vbmV4aXN0ZW50LmxvY2Fs
aG9zdDo5NDQzLworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vbm9uZXhp
c3RlbnQubG9jYWxob3N0Ojk0NDMvCisKKworUEFTUyBQcmVjb25kaXRpb24KK0ZBSUwgVGVzdCBp
ZnJhbWUgZnJvbSBub24tZXhpc3RlbnQgaG9zdCBhc3NlcnRfZXF1YWxzOiBObyBpZnJhbWUgZW50
cnkgd2FzIGZpcmVkIGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKK0ZBSUwg
VGVzdCBpZnJhbWUgcmVkaXJlY3RpbmcgdG8gbm9uLWV4aXN0ZW50IGhvc3QgYXNzZXJ0X2VxdWFs
czogTm8gaWZyYW1lIGVudHJ5IHdhcyBmaXJlZCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1
bmRlZmluZWQiCitQQVNTIFNhbWUtb3JpZ2luIGlmcmFtZSB0aGF0IGNvbXBsaWVzIHdpdGggQ1NQ
IGF0dHJpYnV0ZSBnZXRzIHJlcG9ydGVkCitQQVNTIFNhbWUtb3JpZ2luIGlmcmFtZSB0aGF0IGRv
ZXNuJ3QgY29tcGx5IHdpdGggQ1NQIGF0dHJpYnV0ZSBnZXRzIHJlcG9ydGVkCitQQVNTIENyb3Nz
LW9yaWdpbiBpZnJhbWUgdGhhdCBjb21wbGllcyB3aXRoIENTUCBhdHRyaWJ1dGUgZ2V0cyByZXBv
cnRlZAorUEFTUyBDcm9zcy1vcmlnaW4gaWZyYW1lIHRoYXQgZG9lc24ndCBjb21wbHkgd2l0aCBD
U1AgYXR0cmlidXRlIGdldHMgcmVwb3J0ZWQKK0ZBSUwgU2FtZS1vcmlnaW4gZW1wdHkgaWZyYW1l
IHdpdGggYSAyMDAgc3RhdHVzIGdldHMgcmVwb3J0ZWQgYXNzZXJ0X2VxdWFsczogTm8gaWZyYW1l
IGVudHJ5IHdhcyBmaXJlZCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCitG
QUlMIENyb3NzLW9yaWdpbiBlbXB0eSBpZnJhbWUgd2l0aCBhIDIwMCBzdGF0dXMgZ2V0cyByZXBv
cnRlZCBhc3NlcnRfZXF1YWxzOiBObyBpZnJhbWUgZW50cnkgd2FzIGZpcmVkIGV4cGVjdGVkICJv
YmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaWZyYW1lLWZhaWxl
ZC1jb21taXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2lmcmFtZS1mYWlsZWQtY29tbWl0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDliZDkzNDI3YzFkMzlhYzVhZWQ5MjhjYWEzZDAyNTM1NTdkZDQxNgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2lmcmFtZS1mYWlsZWQtY29tbWl0Lmh0bWwKQEAgLTAsMCArMSw4MCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0
bGU+UmVzb3VyY2UgVGltaW5nIC0gdGVzdCB0aGF0IHVuc3VjY2Vzc2Z1bCBpZnJhbWVzIGNyZWF0
ZSBlbnRyaWVzPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48
L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4KK3Rlc3QoKCkgPT4geworICBjb25zdCBlbnRyaWVz
ID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgicmVzb3VyY2UiKTsKKyAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzLmxlbmd0aCwgMywgIlByZWNvbmRpdGlvbiAtIEVudHJpZXMgZm9yIGJsb2Nr
aW5nIHNjcmlwdHMgZmlyZWQiKTsKK30sICJQcmVjb25kaXRpb24iKTsKKworY29uc3QgcnVuX3Rl
c3QgPSBhc3luYyAodCwgdXJsLCBjc3ApID0+IHsKKyAgY29uc3Qgc2V0UGVyZm9ybWFuY2VPYnNl
cnZlciA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIGNvbnN0IHBvID0gbmV3IFBlcmZv
cm1hbmNlT2JzZXJ2ZXIocmVzb2x2ZSk7CisgICAgcG8ub2JzZXJ2ZSh7dHlwZTogInJlc291cmNl
In0pOworICB9KTsKKyAgY29uc3QgdGltZW91dCA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gdC5z
dGVwX3RpbWVvdXQocmVzb2x2ZSwgMTAwMCkpOworICBjb25zdCBmcmFtZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImlmcmFtZSIpOworICBmcmFtZS5zcmMgPSB1cmw7CisgIGlmIChjc3ApIHsK
KyAgICBmcmFtZS5jc3AgPSBjc3A7CisgIH0KKyAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChm
cmFtZSk7CisgIGNvbnN0IGxpc3QgPSBhd2FpdCBQcm9taXNlLnJhY2UoW3NldFBlcmZvcm1hbmNl
T2JzZXJ2ZXIsIHRpbWVvdXRdKTsKKyAgYXNzZXJ0X2VxdWFscyh0eXBlb2YobGlzdCksICJvYmpl
Y3QiLCAiTm8gaWZyYW1lIGVudHJ5IHdhcyBmaXJlZCIpOworICBjb25zdCBlbnRyaWVzID0gbGlz
dC5nZXRFbnRyaWVzQnlOYW1lKHVybCk7CisgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgs
IDEpOworICBhc3NlcnRfZ3JlYXRlcl90aGFuKGVudHJpZXNbMF0uZHVyYXRpb24sIDAsICJEdXJh
dGlvbiBncmVhdGVyIHRoYW4gMCIpOworfQorCitjb25zdCB7UkVNT1RFX09SSUdJTiwgT1JJR0lO
QUxfSE9TVCwgSFRUUFNfUE9SVH0gPSBnZXRfaG9zdF9pbmZvKCk7Citjb25zdCBub25leGlzdGVu
dF91cmwgPSAiaHR0cHM6Ly9ub25leGlzdGVudC4iICsgT1JJR0lOQUxfSE9TVCArICI6IiArIEhU
VFBTX1BPUlQgKyAiLyI7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHJ1bl90ZXN0
KHQsIG5vbmV4aXN0ZW50X3VybCk7Cit9LCAiVGVzdCBpZnJhbWUgZnJvbSBub24tZXhpc3RlbnQg
aG9zdCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIGNvbnN0IHVybCA9IG5ldyBVUkwoInJl
c291cmNlcy9mYWtlX3Jlc3BvbnNlcy5weT9yZWRpcmVjdD0iICsgbm9uZXhpc3RlbnRfdXJsLCBs
b2NhdGlvbi5ocmVmKTsKKyAgcmV0dXJuIHJ1bl90ZXN0KHQsIHVybC50b1N0cmluZygpKTsKK30s
ICJUZXN0IGlmcmFtZSByZWRpcmVjdGluZyB0byBub24tZXhpc3RlbnQgaG9zdCIpOworCitjb25z
dCBjc3BfZGlyZWN0aXZlID0gImRlZmF1bHQtc3JjICdub25lJyI7Citwcm9taXNlX3Rlc3QodCA9
PiB7CisgIGNvbnN0IHVybCA9IG5ldyBVUkwoIi9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2Nz
cC1kZWZhdWx0LW5vbmUuaHRtbCIsIGxvY2F0aW9uLmhyZWYpOworICByZXR1cm4gcnVuX3Rlc3Qo
dCwgdXJsLCBjc3BfZGlyZWN0aXZlKTsKK30sICJTYW1lLW9yaWdpbiBpZnJhbWUgdGhhdCBjb21w
bGllcyB3aXRoIENTUCBhdHRyaWJ1dGUgZ2V0cyByZXBvcnRlZCIpOworCitwcm9taXNlX3Rlc3Qo
dCA9PiB7CisgIGNvbnN0IHVybCA9IG5ldyBVUkwoIi9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vz
L2dyZWVuLWZyYW1lLmh0bWwiLCBsb2NhdGlvbi5ocmVmKTsKKyAgcmV0dXJuIHJ1bl90ZXN0KHQs
IHVybC50b1N0cmluZygpLCBjc3BfZGlyZWN0aXZlKTsKK30sICJTYW1lLW9yaWdpbiBpZnJhbWUg
dGhhdCBkb2Vzbid0IGNvbXBseSB3aXRoIENTUCBhdHRyaWJ1dGUgZ2V0cyByZXBvcnRlZCIpOwor
Citwcm9taXNlX3Rlc3QodCA9PiB7CisgIGNvbnN0IHVybCA9IG5ldyBVUkwoIi9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL2NzcC1kZWZhdWx0LW5vbmUuaHRtbCIsIFJFTU9URV9PUklHSU4pOwor
ICByZXR1cm4gcnVuX3Rlc3QodCwgdXJsLnRvU3RyaW5nKCksIGNzcF9kaXJlY3RpdmUpOworfSwg
IkNyb3NzLW9yaWdpbiBpZnJhbWUgdGhhdCBjb21wbGllcyB3aXRoIENTUCBhdHRyaWJ1dGUgZ2V0
cyByZXBvcnRlZCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIGNvbnN0IHVybCA9IG5ldyBV
UkwoIi9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2dyZWVuLWZyYW1lLmh0bWwiLCBSRU1PVEVf
T1JJR0lOKTsKKyAgcmV0dXJuIHJ1bl90ZXN0KHQsIHVybC50b1N0cmluZygpLCBjc3BfZGlyZWN0
aXZlKTsKK30sICJDcm9zcy1vcmlnaW4gaWZyYW1lIHRoYXQgZG9lc24ndCBjb21wbHkgd2l0aCBD
U1AgYXR0cmlidXRlIGdldHMgcmVwb3J0ZWQiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBj
b25zdCB1cmwgPSBuZXcgVVJMKCIvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy8yMDBfZW1wdHku
YXNpcyIsIGxvY2F0aW9uLmhyZWYpOworICByZXR1cm4gcnVuX3Rlc3QodCwgdXJsLnRvU3RyaW5n
KCksIGNzcF9kaXJlY3RpdmUpOworfSwgIlNhbWUtb3JpZ2luIGVtcHR5IGlmcmFtZSB3aXRoIGEg
MjAwIHN0YXR1cyBnZXRzIHJlcG9ydGVkIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgY29u
c3QgdXJsID0gbmV3IFVSTCgiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvMjAwX2VtcHR5LmFz
aXMiLCBSRU1PVEVfT1JJR0lOKTsKKyAgcmV0dXJuIHJ1bl90ZXN0KHQsIHVybC50b1N0cmluZygp
LCBjc3BfZGlyZWN0aXZlKTsKK30sICJDcm9zcy1vcmlnaW4gZW1wdHkgaWZyYW1lIHdpdGggYSAy
MDAgc3RhdHVzIGdldHMgcmVwb3J0ZWQiKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9pbml0aWF0b3ItdHlwZS1mb3Itc2NyaXB0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL2luaXRpYXRvci10eXBlLWZvci1zY3JpcHQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5
MTk4N2I2MGJiNjY2ODM3Zjk2Njk4N2ZkMmIzMDdjYzI2MDdkODkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9pbml0aWF0b3ItdHlwZS1mb3Itc2NyaXB0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMg
QEAKKworUEFTUyBWYWxpZGF0ZSBpbml0aWF0b3JUeXBlIGZvciBzY3JpcHRzIGlzICdzY3JpcHQn
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2luaXRpYXRvci10eXBlLWZvci1zY3JpcHQuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2lu
aXRpYXRvci10eXBlLWZvci1zY3JpcHQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MjE3MzM5OGQ1NmFhNDhm
ZDNkOTgxN2EwNThjMTkxMTVlN2RmOWRkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaW5pdGlhdG9y
LXR5cGUtZm9yLXNjcmlwdC5odG1sCkBAIC0wLDAgKzEsNjcgQEAKKzwhRE9DVFlQRSBIVE1MPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlRoaXMgdGVz
dCB2YWxpZGF0ZXMgdGhhdCB0aGUgaW5pdGlhdG9yVHlwZSBpbmZvcm1hdGlvbiBmb3IgdmFyaW91
cworUmVzb3VyY2UgVGltaW5nIGVudHJpZXMgaXMgYWNjdXJhdGUgZm9yIHNjcmlwdHMuPC90aXRs
ZT4KKzxsaW5rIHJlbD0iaGVscCIKKyAgICAgIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9y
ZXNvdXJjZS10aW1pbmctMi8jZG9tLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmctaW5pdGlhdG9y
dHlwZSIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnktaW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8IS0t
IFRlc3RlZCByZXNvdXJjZXMgLS0+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VtcHR5X3Njcmlw
dC5qcz9pZD1ibG9ja2luZyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VtcHR5
X3NjcmlwdC5qcz9pZD1hc3luYyIgYXN5bmM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL2VtcHR5X3NjcmlwdC5qcz9pZD1hc3luY19mYWxzZSIgYXN5bmM9ZmFsc2U+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5qcz9pZD1kZWZlciIgZGVmZXI+
PC9zY3JpcHQ+Cis8c2NyaXB0PgorZG9jdW1lbnQud3JpdGUoIjxzY3JpcHQgc3JjPSdyZXNvdXJj
ZXMvZW1wdHlfc2NyaXB0LmpzP2lkPWRvY193cml0dGVuJz48L3NjciIKKyAgICAgICAgICAgICAg
ICsgImlwdD4iKTsKKworY29uc3QgaGVhZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l
KCJoZWFkIilbMF07Citjb25zdCBzMSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIp
OworczEuc3JjID0gImVtcHR5X3NjcmlwdC5qcz9pZD1hcHBlbmRlZCI7CitoZWFkLmFwcGVuZENo
aWxkKHMxKTsKKworY29uc3QgczIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsK
K3MyLnNyYyA9ICJlbXB0eV9zY3JpcHQuanM/aWQ9YXBwZW5kZWRfYXN5bmMiOworczIuYXN5bmMg
PSB0cnVlOworaGVhZC5hcHBlbmRDaGlsZChzMik7CisKK2NvbnN0IHMzID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgic2NyaXB0Iik7CitzMy5zcmMgPSAiZW1wdHlfc2NyaXB0LmpzP2lkPWFwcGVu
ZGVkX2F5bmNfZmFsc2UiOworczMuYXN5bmMgPSBmYWxzZTsKK2hlYWQuYXBwZW5kQ2hpbGQoczMp
OworCitjb25zdCBzNCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOworczQuc3Jj
ID0gImVtcHR5X3NjcmlwdC5qcz9pZD1hcHBlbmRlZF9kZWZlciI7CitzNC5kZWZlciA9IHRydWU7
CitoZWFkLmFwcGVuZENoaWxkKHM0KTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0PgorCitjb25zdCB3YWl0X2Zvcl9vbmxvYWQgPSAoKSA9PiB7CisgIHJldHVybiBuZXcgUHJv
bWlzZShyZXNvbHZlID0+IHsKKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJl
c29sdmUpOworfSl9OworCitwcm9taXNlX3Rlc3QoCisgIGFzeW5jICgpID0+IHsKKyAgICBhd2Fp
dCB3YWl0X2Zvcl9vbmxvYWQoKTsKKworICAgIGNvbnN0IGVudHJ5X2xpc3QgPSBwZXJmb3JtYW5j
ZS5nZXRFbnRyaWVzQnlUeXBlKCJyZXNvdXJjZSIpOworICAgIGZvciAoZW50cnkgb2YgZW50cnlf
bGlzdCkgeworICAgICAgaWYgKGVudHJ5Lm5hbWUuaW5jbHVkZXMoImVtcHR5X3NjcmlwdC5qcyIp
KSB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cnkuaW5pdGlhdG9yVHlwZSwgInNjcmlwdCIs
CisgICAgICAgICAgICAgICAgICAgICAgImluaXRpYXRvclR5cGUgc2hvdWxkIGJlICdzY3JpcHQn
IGZvciAiICsgZW50cnkubmFtZSk7CisgICAgICB9CisgICAgfQorfSwgIlZhbGlkYXRlIGluaXRp
YXRvclR5cGUgZm9yIHNjcmlwdHMgaXMgJ3NjcmlwdCciKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9uZXh0SG9wUHJvdG9jb2wtaXMtdGFvLXByb3RlY3Rl
ZC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9uZXh0SG9wUHJvdG9jb2wtaXMtdGFvLXByb3RlY3Rl
ZC5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzRjYmJhYTRkMjA1YjVjNDQ3ZmY4ZmMw
NDRkNjhiZGEyNTAzNDBkNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL25leHRIb3BQcm90b2NvbC1p
cy10YW8tcHJvdGVjdGVkLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworRkFJ
TCBBZGQgVEFPLWxlc3MgaWZyYW1lIGZyb20gcmVtb3RlIG9yaWdpbi4gTWFrZSBzdXJlIG5leHRI
b3BQcm90b2NvbCBpcyB0aGUgZW1wdHkgc3RyaW5nIGFzc2VydF9lcXVhbHM6IG5leHRIb3BQcm90
b2NvbCBzaG91bGQgYmUgdGhlIGVtcHR5IHN0cmluZyBleHBlY3RlZCAiIiBidXQgZ290ICJodHRw
LzEuMSIKK1BBU1MgQWRkIFRBTydkIGlmcmFtZSBmcm9tIHJlbW90ZSBvcmlnaW4uIE1ha2Ugc3Vy
ZSBuZXh0SG9wUHJvdG9jb2wgaXMgbm90IHRoZSBlbXB0eSBzdHJpbmcKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvbmV4dEhvcFByb3RvY29sLWlzLXRhby1wcm90ZWN0ZWQuaHR0cHMuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL25leHRI
b3BQcm90b2NvbC1pcy10YW8tcHJvdGVjdGVkLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTBlOTZh
ZjhlODBjZjRmYjA2ZDdmMWIzMzkzZjIxOTEyNjViMjNjZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L25leHRIb3BQcm90b2NvbC1pcy10YW8tcHJvdGVjdGVkLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwz
OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nIC0gQ2hlY2sgdGhhdCBuZXh0SG9wUHJvdG9j
b2wgaXMgVEFPIHByb3RlY3RlZDwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBz
Oi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmctMi8jc2VjLXBlcmZvcm1hbmNlcmVzb3Vy
Y2V0aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnktaW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorCitjb25zdCB7SFRUUFNfUkVNT1RFX09SSUdJTn0g
PSBnZXRfaG9zdF9pbmZvKCk7Citjb25zdCByZW1vdGVfcmVzb3VyY2VzID0gYCR7SFRUUFNfUkVN
T1RFX09SSUdJTn0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlc2A7CisKKy8vIEFkZCBpZnJhbWUg
dG8gcmVtb3RlIG9yaWdpbiAtIHBhZ2Ugd2l0aG91dCBUQU8KK2F0dHJpYnV0ZV90ZXN0KAorICBs
b2FkLmlmcmFtZSwgYCR7cmVtb3RlX3Jlc291cmNlc30vZ3JlZW4uaHRtYCwKKyAgZW50cnkgPT4g
YXNzZXJ0X2VxdWFscyhlbnRyeS5uZXh0SG9wUHJvdG9jb2wsICIiLAorICAgICJuZXh0SG9wUHJv
dG9jb2wgc2hvdWxkIGJlIHRoZSBlbXB0eSBzdHJpbmciKSwKKyAgIkFkZCBUQU8tbGVzcyBpZnJh
bWUgZnJvbSByZW1vdGUgb3JpZ2luLiBNYWtlIHN1cmUgbmV4dEhvcFByb3RvY29sIGlzIHRoZSAi
ICsKKyAgImVtcHR5IHN0cmluZyIKKyk7CisKKy8vIEFkZCBpZnJhbWUgdG8gcmVtb3RlIG9yaWdp
biAtIHBhZ2Ugd2l0aCBUQU8KK2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLmlmcmFtZSwgYCR7cmVt
b3RlX3Jlc291cmNlc30vYmxhbmstd2l0aC10YW8uaHRtbGAsCisgIGVudHJ5ID0+IGFzc2VydF9u
b3RfZXF1YWxzKGVudHJ5Lm5leHRIb3BQcm90b2NvbCwgIiIsCisgICAgIm5leHRIb3BQcm90b2Nv
bCBzaG91bGQgbm90IGJlIHRoZSBlbXB0eSBzdHJpbmciKSwKKyAgIkFkZCBUQU8nZCBpZnJhbWUg
ZnJvbSByZW1vdGUgb3JpZ2luLiBNYWtlIHN1cmUgbmV4dEhvcFByb3RvY29sIGlzIG5vdCAiICsK
KyAgInRoZSBlbXB0eSBzdHJpbmciCispOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLVRBTy1jcm9zcy1vcmlnaW4tcmVk
aXJlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1UQU8tY3Jvc3Mt
b3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjdmNjBjZjE1NmU0NDlm
N2I1ZjFlMjk1MGJkNzlmZDMyNTAxMTcyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5v
dC1mb3VuZC1hZnRlci1UQU8tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDcgQEAKKworCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwK
KworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZAorUEFTUyB3aW5kb3cucGVyZm9y
bWFuY2UuZ2V0RW50cmllc0J5TmFtZSBpcyBkZWZpbmVkCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL29iamVj
dC1ub3QtZm91bmQtYWZ0ZXItVEFPLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2Jq
ZWN0LW5vdC1mb3VuZC1hZnRlci1UQU8tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZDBkYWQ5MzgxYmE0MmJjODQ4ZWJlY2E4NmFjYWY3ZjEwYTdhMWU4MgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItVEFPLWNyb3NzLW9yaWdpbi1yZWRp
cmVjdC5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlRoaXMgdGVzdCB2YWxpZGF0ZXMg
cmVzb3VyY2UgdGltaW5nIGluZm9ybWF0aW9uIGZvciBhIHRpbWluZyBhbGxvd2VkIGNyb3NzLW9y
aWdpbiByZWRpcmVjdCBjaGFpbi48L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRw
Oi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1hbmNlcmVzb3VyY2V0aW1p
bmciLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPS9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanM+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzc2V4dGVuc2lvbi5qcyI+PC9zY3Jp
cHQ+CisKKzxzY3JpcHQ+CisgICAgc2V0dXAoe2V4cGxpY2l0X2RvbmU6IHRydWV9KTsKKyAgICB0
ZXN0X25hbWVzcGFjZSgnZ2V0RW50cmllc0J5TmFtZScpOworCisgICAgZnVuY3Rpb24gb25sb2Fk
X3Rlc3QoKQorICAgIHsKKyAgICAgICAgY29uc3QgY29udGV4dCA9IG5ldyBQZXJmb3JtYW5jZUNv
bnRleHQocGVyZm9ybWFuY2UpOworICAgICAgICBjb25zdCBlbnRyaWVzID0gY29udGV4dC5nZXRF
bnRyaWVzQnlOYW1lKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ29iamVjdCcpLmRhdGEsICdyZXNv
dXJjZScpOworICAgICAgICB0ZXN0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgJ1RoZXJlIHNo
b3VsZCBiZSBvbmUgZW50cnkuJyk7CisgICAgICAgIGNvbnN0IGVudHJ5ID0gZW50cmllc1swXTsK
KworICAgICAgICB0ZXN0X2dyZWF0ZXJfdGhhbihlbnRyeS5yZWRpcmVjdFN0YXJ0LCAwLCAncmVk
aXJlY3RTdGFydCA+IDAgaW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0Licp
OworICAgICAgICB0ZXN0X2VxdWFscyhlbnRyeS5yZWRpcmVjdFN0YXJ0LCBlbnRyeS5zdGFydFRp
bWUsICdyZWRpcmVjdFN0YXJ0ID09IHN0YXJ0VGltZSBpbiB0aW1pbmcgYWxsb3dlZCBjcm9zcy1v
cmlnaW4gcmVkaXJlY3QuJyk7CisgICAgICAgIHRlc3RfZ3JlYXRlcl90aGFuKGVudHJ5LnJlZGly
ZWN0RW5kLCBlbnRyeS5yZWRpcmVjdFN0YXJ0LCAncmVkaXJlY3RFbmQgPiByZWRpcmVjdFN0YXJ0
IGluIHRpbWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4nKTsKKyAgICAgICAgdGVz
dF9ncmVhdGVyX29yX2VxdWFscyhlbnRyeS5mZXRjaFN0YXJ0LCBlbnRyeS5yZWRpcmVjdEVuZCwg
J2ZldGNoU3RhcnQgPj0gcmVkaXJlY3RFbmQgaW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2lu
IHJlZGlyZWN0LicpOworICAgICAgICBkb25lKCk7CisgICAgfQorPC9zY3JpcHQ+CisKKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdD4KKyAgICBsZXQgZGVzdFVybCA9IGdldF9ob3N0X2luZm8oKS5I
VFRQX1JFTU9URV9PUklHSU4gKyAnL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvbXVsdGlfcmVk
aXJlY3QucHk/JzsKKyAgICBkZXN0VXJsICs9ICdwYWdlX29yaWdpbj0nICsgJ2h0dHA6Ly8nICsg
ZG9jdW1lbnQubG9jYXRpb24uaG9zdDsKKyAgICBkZXN0VXJsICs9ICcmY3Jvc3Nfb3JpZ2luPScg
KyBnZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lOOworICAgIGRlc3RVcmwgKz0gJyZm
aW5hbF9yZXNvdXJjZT0nICsgZW5jb2RlVVJJQ29tcG9uZW50KCIvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlcy9zdGF0dXMtY29kZS5weT9zdGF0dXM9NDA0JnRhb192YWx1ZT0qIik7CisgICAgZGVz
dFVybCArPSAnJnRhb19zdGVwcz0zJzsKKyAgICBjb25zdCBvYmpFbGVtZW50ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnb2JqZWN0Jyk7CisgICAgb2JqRWxlbWVudC5zdHlsZSA9ICd3aWR0aDog
MHB4OyBoZWlnaHQ6IDBweDsnOworICAgIG9iakVsZW1lbnQuZGF0YSA9IGRlc3RVcmw7CisgICAg
b2JqRWxlbWVudC5vbmVycm9yID0gb25sb2FkX3Rlc3Q7CisgICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChvYmpFbGVtZW50KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1jcm9zcy1vcmlnaW4tcmVkaXJl
Y3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2N2Y2MGNmMTU2ZTQ0OWY3YjVmMWUyOTUwYmQ3
OWZkMzI1MDExNzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVy
LWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACisKKwor
SGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1BBU1Mgd2luZG93LnBl
cmZvcm1hbmNlIGlzIGRlZmluZWQKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNC
eU5hbWUgaXMgZGVmaW5lZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVy
LWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1j
cm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNDU1ZWM0MDZiM2U5NTE5ZDk5
YmJmZWIxMmE0NGU3MjE0YzY2ZTZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1m
b3VuZC1hZnRlci1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4K
Kzx0aXRsZT5UaGlzIHRlc3QgdmFsaWRhdGVzIHJlc291cmNlIHRpbWluZyBpbmZvcm1hdGlvbiBm
b3IgYSBjcm9zcy1vcmlnaW4gcmVkaXJlY3QgY2hhaW4uPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVs
cCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNwZXJmb3JtYW5j
ZXJlc291cmNldGltaW5nIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3NleHRlbnNp
b24uanMiPjwvc2NyaXB0PgorCis8c2NyaXB0PgorICAgIHNldHVwKHtleHBsaWNpdF9kb25lOiB0
cnVlfSk7CisgICAgdGVzdF9uYW1lc3BhY2UoJ2dldEVudHJpZXNCeU5hbWUnKTsKKworICAgIGZ1
bmN0aW9uIG9ubG9hZF90ZXN0KCkKKyAgICB7CisgICAgICAgIGNvbnN0IGNvbnRleHQgPSBuZXcg
UGVyZm9ybWFuY2VDb250ZXh0KHBlcmZvcm1hbmNlKTsKKyAgICAgICAgY29uc3QgZW50cmllcyA9
IGNvbnRleHQuZ2V0RW50cmllc0J5TmFtZShkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdvYmplY3Qn
KS5kYXRhLCAncmVzb3VyY2UnKTsKKyAgICAgICAgdGVzdF9lcXVhbHMoZW50cmllcy5sZW5ndGgs
IDEsICdUaGVyZSBzaG91bGQgYmUgb25lIGVudHJ5LicpOworICAgICAgICBjb25zdCBlbnRyeSA9
IGVudHJpZXNbMF07CisKKyAgICAgICAgdGVzdF9lcXVhbHMoZW50cnkucmVkaXJlY3RTdGFydCwg
MCwgJ3JlZGlyZWN0U3RhcnQgPT0gMCBpbiBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuJyk7CisgICAg
ICAgIHRlc3RfZXF1YWxzKGVudHJ5LnJlZGlyZWN0RW5kLCAwLCAncmVkaXJlY3RFbmQgPT0gMCBp
biBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuJyk7CisgICAgICAgIHRlc3RfZ3JlYXRlcl90aGFuKGVu
dHJ5LmZldGNoU3RhcnQsIDAsICdmZXRjaFN0YXJ0ID4gMCBpbiBjcm9zcy1vcmlnaW4gcmVkaXJl
Y3QuJyk7CisgICAgICAgIHRlc3RfZXF1YWxzKGVudHJ5LnN0YXJ0VGltZSwgZW50cnkuZmV0Y2hT
dGFydCwgJ3N0YXJ0VGltZSA9PSBmZXRjaFN0YXJ0IGluIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4n
KTsKKyAgICAgICAgZG9uZSgpOworICAgIH0KKzwvc2NyaXB0PgorCis8L2hlYWQ+Cis8Ym9keT4K
KzxzY3JpcHQ+CisgICAgbGV0IGRlc3RVcmwgPSBnZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1PVEVf
T1JJR0lOICsgJy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRpX3JlZGlyZWN0LnB5Pyc7
CisgICAgZGVzdFVybCArPSAncGFnZV9vcmlnaW49JyArICdodHRwOi8vJyArIGRvY3VtZW50Lmxv
Y2F0aW9uLmhvc3Q7CisgICAgZGVzdFVybCArPSAnJmNyb3NzX29yaWdpbj0nICsgZ2V0X2hvc3Rf
aW5mbygpLkhUVFBfUkVNT1RFX09SSUdJTjsKKyAgICBkZXN0VXJsICs9ICcmZmluYWxfcmVzb3Vy
Y2U9JyArIGVuY29kZVVSSUNvbXBvbmVudCgiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvc3Rh
dHVzLWNvZGUucHk/c3RhdHVzPTQwNCIpOworICAgIGNvbnN0IG9iakVsZW1lbnQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdvYmplY3QnKTsKKyAgICBvYmpFbGVtZW50LnN0eWxlID0gJ3dpZHRo
OiAwcHg7IGhlaWdodDogMHB4Oyc7CisgICAgb2JqRWxlbWVudC5kYXRhID0gZGVzdFVybDsKKyAg
ICBvYmpFbGVtZW50Lm9uZXJyb3IgPSBvbmxvYWRfdGVzdDsKKyAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKG9iakVsZW1lbnQpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZWRpcmVjdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVkaXJlY3RzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iNzUyZGUxZWNkYTYxYjI1YWE4NDlkZWU5ZGViNjlmMjVkMGEzNmU4
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVkaXJlY3RzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEyIEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQsIHdoZW4gYSBm
ZXRjaGluZyByZXNvdXJjZXMgdGhhdCBlbmNvdW50ZXIgc2FtZS1vcmlnaW4gcmVkaXJlY3RzLCBh
dHRyaWJ1dGVzIG9mIHRoZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGVudHJ5IGNvbmZvcm0g
dG8gdGhlIHNwZWNpZmljYXRpb24uCisKKworUEFTUyBWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJl
ZGlyZWN0ZWQgc3R5bGVzaGVldCdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcKK1BBU1MgVmVy
aWZ5IGF0dHJpYnV0ZXMgb2YgYSByZWRpcmVjdGVkIGltYWdlJ3MgUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZworUEFTUyBWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgaWZyYW1lJ3Mg
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZworUEFTUyBWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJl
ZGlyZWN0ZWQgc2NyaXB0J3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZworUEFTUyBWZXJpZnkg
YXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgc3luY2hyb25vdXMgWE1MSHR0cFJlcXVlc3QncyBQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nCitQQVNTIFZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEgc3lu
Y2hyb25vdXMgWE1MSHR0cFJlcXVlc3QncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIHdoZXJl
IHRoZSBpbml0aWFsIEhUVFAgcmVxdWVzdCBpcyByZWRpcmVjdGVkIHRvIGEgY3Jvc3Mtb3JpZ2lu
IEhUVFBTIHJlc291cmNlLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZWRpcmVjdHMuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
ZGlyZWN0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJhNjk5MDdhNWY2ZTQ2YTNlOGE3OTA0MWRhMTcwMzlk
MTRkMjBmZWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZWRpcmVjdHMuaHRtbApAQCAtMCwwICsx
LDYxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmc6IHJlc291cmNlcyBmZXRjaGVkIHRocm91
Z2ggc2FtZS1vcmlnaW4gcmVkaXJlY3RzPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRs
ZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJo
ZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI3NlYy1w
ZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZv
LnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRl
cnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9lbnRyeS1pbnZhcmlhbnRz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citjb25zdCB7SFRUUFNfTk9UU0FNRVNJVEVfT1JJR0lO
fSA9IGdldF9ob3N0X2luZm8oKTsKK2NvbnN0IHJlZGlyZWN0X3VybCA9IGAvY29tbW9uL3JlZGly
ZWN0LnB5YDsKK2NvbnN0IHVybF9wcmVmaXggPSBgJHtyZWRpcmVjdF91cmx9P2xvY2F0aW9uPS9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2A7Citjb25zdCBodHRwc191cmxfcHJlZml4ID0gYCR7
cmVkaXJlY3RfdXJsfT9sb2NhdGlvbj0ke0hUVFBTX05PVFNBTUVTSVRFX09SSUdJTn0vcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy9gOworCithdHRyaWJ1dGVfdGVzdCgKKyAgbG9hZC5zdHlsZXNo
ZWV0LCB1cmxfcHJlZml4ICsgInJlc291cmNlX3RpbWluZ190ZXN0MC5jc3MiLAorICBpbnZhcmlh
bnRzLmFzc2VydF9zYW1lX29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNlLAorICAiVmVyaWZ5IGF0
dHJpYnV0ZXMgb2YgYSByZWRpcmVjdGVkIHN0eWxlc2hlZXQncyBQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nIik7CisKK2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLmltYWdlLCB1cmxfcHJlZml4ICsg
ImJsdWUucG5nIiwKKyAgaW52YXJpYW50cy5hc3NlcnRfc2FtZV9vcmlnaW5fcmVkaXJlY3RlZF9y
ZXNvdXJjZSwKKyAgIlZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEgcmVkaXJlY3RlZCBpbWFnZSdzIFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmciKTsKKworYXR0cmlidXRlX3Rlc3QoCisgIGxvYWQuaWZy
YW1lLCB1cmxfcHJlZml4ICsgImdyZWVuLmh0bWwiLAorICBpbnZhcmlhbnRzLmFzc2VydF9zYW1l
X29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNlLAorICAiVmVyaWZ5IGF0dHJpYnV0ZXMgb2YgYSBy
ZWRpcmVjdGVkIGlmcmFtZSdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmciKTsKKworYXR0cmli
dXRlX3Rlc3QoCisgIGxvYWQuc2NyaXB0LCB1cmxfcHJlZml4ICsgImVtcHR5X3NjcmlwdC5qcyIs
CisgIGludmFyaWFudHMuYXNzZXJ0X3NhbWVfb3JpZ2luX3JlZGlyZWN0ZWRfcmVzb3VyY2UsCisg
ICJWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgc2NyaXB0J3MgUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZyIpOworCithdHRyaWJ1dGVfdGVzdCgKKyAgbG9hZC54aHJfc3luYywgdXJs
X3ByZWZpeCArICJncmVlbi5odG1sP2lkPXhociIsCisgIGludmFyaWFudHMuYXNzZXJ0X3NhbWVf
b3JpZ2luX3JlZGlyZWN0ZWRfcmVzb3VyY2UsCisgICJWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJl
ZGlyZWN0ZWQgc3luY2hyb25vdXMgWE1MSHR0cFJlcXVlc3QncyAiICsKKyAgIlBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmciKTsKKworYXR0cmlidXRlX3Rlc3QoCisgIGxvYWQueGhyX3N5bmMsIGh0
dHBzX3VybF9wcmVmaXggKyAiZ3JlZW4uaHRtbD9pZD14aHIiLAorICBpbnZhcmlhbnRzLmFzc2Vy
dF9jcm9zc19vcmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAgIlZlcmlmeSBhdHRyaWJ1dGVz
IG9mIGEgc3luY2hyb25vdXMgWE1MSHR0cFJlcXVlc3QncyAiICsKKyAgIlBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcgd2hlcmUgdGhlIGluaXRpYWwgSFRUUCByZXF1ZXN0IGlzIHJlZGlyZWN0ZWQg
IiArCisgICJ0byBhIGNyb3NzLW9yaWdpbiBIVFRQUyByZXNvdXJjZS4iCispOworCis8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxwPlRoaXMgdGVzdCB2
YWxpZGF0ZXMgdGhhdCwgd2hlbiBhIGZldGNoaW5nIHJlc291cmNlcyB0aGF0IGVuY291bnRlcgor
c2FtZS1vcmlnaW4gcmVkaXJlY3RzLCBhdHRyaWJ1dGVzIG9mIHRoZSBQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nIGVudHJ5Citjb25mb3JtIHRvIHRoZSBzcGVjaWZpY2F0aW9uLjwvcD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlLWlnbm9yZS1kYXRhLXVybC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25vcmUtZGF0YS11cmwtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzZWM1YWY0NTRlYzFmM2QwOGQwN2JjMDliYmUxN2U5MmFmYjdjYTIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25vcmUtZGF0YS11cmwtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNCBAQAorCisKK1BBU1MgUmVzb3VyY2VzIHdpdGggZGF0YTogVVJJcyBtdXN0IG5vdCBi
ZSBzdXJmYWNlZCBpbiBSZXNvdXJjZSBUaW1pbmcKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Ut
aWdub3JlLWRhdGEtdXJsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25vcmUtZGF0YS11cmwuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hNzA1NmE4MDgwNzk2N2Q5Yjk0YjFkNGM1NGMwNjIwZGMyYTRiYWQ4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2UtaWdub3JlLWRhdGEtdXJsLmh0bWwKQEAgLTAsMCAr
MSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nIGlnbm9yZXMgcmVzb3VyY2VzIHdpdGgg
ZGF0YTogVVJJczwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJl
Zj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0
cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNyZXNvdXJjZXMtaW5jbHVkZWQt
aW4tdGhlLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmctaW50ZXJmYWNlIi8+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
aW1nIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBT1RtN0FBQUFD
SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUNSQUVBT3c9PSI+PC9pbWc+Cis8c2NyaXB0PgorICBw
cm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNl
KHJlc29sdmUgPT4geworICAgICAgbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIodC5zdGVwX2Z1bmMo
bGlzdCA9PiB7CisgICAgICAgIGNvbnN0IGVudHJpZXMgPSBsaXN0LmdldEVudHJpZXMoKTsKKyAg
ICAgICAgY29uc3QgZGF0YUVudHJpZXMgPSBlbnRyaWVzLmZpbHRlcihlID0+IGUubmFtZS5pbmNs
dWRlcygnZGF0YTonKSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZGF0YUVudHJpZXMubGVuZ3Ro
LCAwLCAnVGhlcmUgbXVzdCBiZSBubyBlbnRyeSBmb3IgYGRhdGE6IFVSTGAuJyk7CisgICAgICAg
IGNvbnN0IGJsdWVFbnRyaWVzID0gZW50cmllcy5maWx0ZXIoZSA9PiBlLm5hbWUuaW5jbHVkZXMo
J2JsdWUucG5nJykpOworICAgICAgICBpZiAoYmx1ZUVudHJpZXMubGVuZ3RoKSB7CisgICAgICAg
ICAgLy8gV2UgY2FuIGZpbmlzaCB0aGUgdGVzdCBvbmNlIHdlIHNlZSB0aGUgZW50cnkgd2l0aCBi
bHVlLnBuZy4KKyAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIH0KKyAgICAgIH0pKS5vYnNl
cnZlKHtlbnRyeVR5cGVzOiBbJ3Jlc291cmNlJ119KTsKKyAgICB9KTsKKyAgICAvLyBXYWl0IHVu
dGlsIHRoZSBkb2N1bWVudCBpcyBsb2FkZWQuCisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2
ZSA9PiB7CisgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJlc29sdmUpOwor
ICAgIH0pOworICAgIC8vIEFkZCB0aGUgYmx1ZS5wbmcgaW1hZ2UgYWZ0ZXIgZG9jdW1lbnQgaXMg
bG9hZGVkIHRvIGVuc3VyZSB3ZSd2ZSByZWNlaXZlZAorICAgIC8vIGFsbCBvZiB0aGUgcHJldmlv
dXMgUmVzb3VyY2UgVGltaW5nIGVudHJpZXMuCisgICAgbG9hZC5pbWFnZSgnYmx1ZS5wbmcnKTsK
KyAgICByZXR1cm4gcHJvbWlzZTsKKyAgfSwgJ1Jlc291cmNlcyB3aXRoIGRhdGE6IFVSSXMgbXVz
dCBub3QgYmUgc3VyZmFjZWQgaW4gUmVzb3VyY2UgVGltaW5nJyk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX1RBT19jcm9zc19vcmlnaW5fcmVk
aXJlY3RfY2hhaW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfVEFPX2Nyb3NzX29yaWdpbl9y
ZWRpcmVjdF9jaGFpbi1leHBlY3RlZC50eHQKaW5kZXggNDdjZmQxZGRiNGU1NzU1N2Y0OTQ1YTQw
ZDllMGUzMTg4NjE1OWM0Mi4uYzVmYWQ5MTUxYTgyNjc1Zjc3ZDQ4ODc3OGQzNjNmZWUwYjg0YWNh
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfVEFPX2Nyb3NzX29yaWdpbl9yZWRpcmVjdF9jaGFp
bi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfVEFPX2Nyb3NzX29yaWdpbl9yZWRpcmVj
dF9jaGFpbi1leHBlY3RlZC50eHQKQEAgLTMsOCArMyw4IEBACiBQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZSBpcyBkZWZpbmVkCiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1l
IGlzIGRlZmluZWQKIFBBU1MgVGhlcmUgc2hvdWxkIGJlIG9uZSBlbnRyeS4KLVBBU1MgcmVkaXJl
Y3RTdGFydCA+IDAgaW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LgotUEFT
UyByZWRpcmVjdFN0YXJ0ID09IHN0YXJ0VGltZSBpbiB0aW1pbmcgYWxsb3dlZCBjcm9zcy1vcmln
aW4gcmVkaXJlY3QuCi1QQVNTIHJlZGlyZWN0RW5kID4gcmVkaXJlY3RTdGFydCBpbiB0aW1pbmcg
YWxsb3dlZCBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuCitGQUlMIHJlZGlyZWN0U3RhcnQgPiAwIGlu
IHRpbWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4gYXNzZXJ0X3RydWU6IHJlZGly
ZWN0U3RhcnQgPiAwIGluIHRpbWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4gZXhw
ZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgcmVkaXJlY3RTdGFydCA9PSBzdGFydFRpbWUgaW4g
dGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LiBhc3NlcnRfZXF1YWxzOiByZWRp
cmVjdFN0YXJ0ID09IHN0YXJ0VGltZSBpbiB0aW1pbmcgYWxsb3dlZCBjcm9zcy1vcmlnaW4gcmVk
aXJlY3QuIGV4cGVjdGVkIDxub25kZXRlcm1pbmlzdGljIHRlc3Qgb3V0cHV0PiBidXQgZ290IDAK
K0ZBSUwgcmVkaXJlY3RFbmQgPiByZWRpcmVjdFN0YXJ0IGluIHRpbWluZyBhbGxvd2VkIGNyb3Nz
LW9yaWdpbiByZWRpcmVjdC4gYXNzZXJ0X3RydWU6IHJlZGlyZWN0RW5kID4gcmVkaXJlY3RTdGFy
dCBpbiB0aW1pbmcgYWxsb3dlZCBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuIGV4cGVjdGVkIHRydWUg
Z290IGZhbHNlCiBQQVNTIGZldGNoU3RhcnQgPj0gcmVkaXJlY3RFbmQgaW4gdGltaW5nIGFsbG93
ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9jYWNo
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlX2NhY2hlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkNjFkNjM5NjE2
YjE4MDJmZjRiNjNkZTgyYTAxZmZkNzAxZjgxNGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZV9jYWNoZWQuaHRtbApAQCAtMCwwICsxLDUyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1p
bmcgY2FjaGVkIHJlc291cmNlczwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdv
b2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIg
aHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNkb20tcGVyZm9ybWFu
Y2VyZXNvdXJjZXRpbWluZy1pbml0aWF0b3J0eXBlIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYnBl
cmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYnBl
cmZ0ZXN0aGFybmVzc2V4dGVuc2lvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgorc2V0dXAoe2V4
cGxpY2l0X2RvbmU6IHRydWV9KTsKKworLy8gZXhwbGljaXRseSB0ZXN0IHRoZSBuYW1lc3BhY2Ug
YmVmb3JlIHdlIHN0YXJ0IHRlc3RpbmcKK3Rlc3RfbmFtZXNwYWNlKCJnZXRFbnRyaWVzQnlUeXBl
Iik7CisKK3ZhciBkOwordmFyIGlmcmFtZTsKK3ZhciBpZnJhbWVCb2R5OwordmFyIGltYWdlOwor
dmFyIHJhbmRvbSA9IE1hdGgucmFuZG9tKCk7CisKK2Z1bmN0aW9uIHNldHVwX2lmcmFtZSgpIHsK
KyAgICBpZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnJhbWVDb250ZXh0Jyk7Cisg
ICAgZCA9IGlmcmFtZS5jb250ZW50V2luZG93LmRvY3VtZW50OworICAgIGlmcmFtZUJvZHkgPSBk
LmJvZHk7CisgICAgaWZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBvbmxvYWRfdGVzdCwg
ZmFsc2UpOworfQorZnVuY3Rpb24gb25sb2FkX3Rlc3QoKSB7CisgICAgaWYgKHdpbmRvdy5wZXJm
b3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlID09PSB1bmRlZmluZWQpIHsKKyAgICAgIGRvbmUoKTsK
KyAgICAgIHJldHVybjsKKyAgICB9CisgICAgdmFyIGNvbnRleHQgPSBuZXcgUGVyZm9ybWFuY2VD
b250ZXh0KGlmcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlKTsKKyAgICB2YXIgZW50cmll
cyA9IGNvbnRleHQuZ2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKTsKKyAgICB0ZXN0X2VxdWFs
cyhlbnRyaWVzLmxlbmd0aCwgMiwgIlRoZXJlIHNob3VsZCBiZSB0d28gZW50cmllcyIpOworICAg
IGlmIChlbnRyaWVzLmxlbmd0aCA+PSAyKSB7CisgICAgICAgIHRlc3RfZXF1YWxzKGVudHJpZXNb
MF0ubmFtZSwgZW50cmllc1sxXS5uYW1lLCAiQm90aCBlbnRyaWVzIHNob3VsZCBoYXZlIHRoZSBz
YW1lIG5hbWUiKTsKKyAgICB9CisgICAgZG9uZSgpOworfQord2luZG93LnNldHVwX2lmcmFtZSA9
IHNldHVwX2lmcmFtZTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRp
b248L2gxPgorPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGEgMzA0IE5vdCBNb2RpZmllZCBy
ZXNvdXJjZSBhcHBlYXJzIGluIHRoZSBidWZmZXIuPC9wPgorPGRpdiBpZD0ibG9nIj48L2Rpdj4K
KzxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgc3JjPSJyZXNvdXJjZXMvZmFrZV9yZXNwb25zZXMu
aHRtbCI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZV9pbml0aWF0b3JfdHlwZXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX2luaXRpYXRvcl90eXBlcy5odG1s
CmluZGV4IDk5MTJkYTdjMzQwMDEzOGQ3MzI0NWFjYzM3MjQ2M2NhMTc0ZTZmNTguLjJlNTJmMGU0
Y2QwOWVjOWUwZDI2ZTI0OTRhYzVlMjBiNThjZTYyYjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
X2luaXRpYXRvcl90eXBlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX2luaXRpYXRvcl90eXBlcy5o
dG1sCkBAIC05NSw4ICs5NSw4IEBAIGZ1bmN0aW9uIHBlcmZvcm1fdGVzdCgpIHsKICAgICBhZGRF
bnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ3Jlc291
cmNlX3RpbWluZ190ZXN0MC5wbmcnLCAnaW1nJyk7CiAgICAgYWRkRW50cnlJZkV4aXN0cyhlbnRy
aWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdyZXNvdXJjZV90aW1pbmdfdGVzdDAu
cG5nP2lkPXNyY3NldC1zcmNzZXQnLCAnaW1nJyk7CiAgICAgYWRkRW50cnlJZkV4aXN0cyhlbnRy
aWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdyZXNvdXJjZV90aW1pbmdfdGVzdDAu
cG5nP2lkPXNyY3NldC1zcmMnLCAnaW1nJyk7Ci0gICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVz
LCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdibGFua19wYWdlX2dyZWVuLmh0bScsICdp
ZnJhbWUnKTsKLSAgICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMs
IHBhdGhuYW1lICsgJ2JsYW5rX3BhZ2VfZ3JlZW4uaHRtP2lkPWZyYW1lJywgJ2ZyYW1lJyk7Cisg
ICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSAr
ICdncmVlbi5odG1sJywgJ2lmcmFtZScpOworICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywg
ZXhwZWN0ZWRfZW50cmllcywgcGF0aG5hbWUgKyAnZ3JlZW4uaHRtbD9pZD1mcmFtZScsICdmcmFt
ZScpOwogICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcywgcGF0
aG5hbWUgKyAnZW1wdHlfc2NyaXB0LmpzJywgJ3NjcmlwdCcpOwogICAgIGFkZEVudHJ5SWZFeGlz
dHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcywgcGF0aG5hbWUgKyAncmVzb3VyY2VfdGltaW5n
X3Rlc3QwLmNzcz9pZD1lbWJlZCcsICdlbWJlZCcpOwogICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50
cmllcywgZXhwZWN0ZWRfZW50cmllcywgcGF0aG5hbWUgKyAncmVzb3VyY2VfdGltaW5nX3Rlc3Qw
LmNzcz9pZD1uMScsICdjc3MnKTsKQEAgLTEyOCw3ICsxMjgsNyBAQCBmdW5jdGlvbiBwZXJmb3Jt
X3Rlc3QoKSB7CiAgICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVz
LCBwYXRobmFtZSArICduZXN0ZWQuY3NzJywgJ2xpbmsnKTsKICAgICBhZGRFbnRyeUlmRXhpc3Rz
KGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ25lc3RlZC5jc3M/aWQ9cHJl
ZmV0Y2gnLCAnbGluaycpOwogICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywgZXhwZWN0ZWRf
ZW50cmllcywgcGF0aG5hbWUgKyAnbmVzdGVkLmNzcz9pZD1wcmVsb2FkJywgJ2xpbmsnKTsKLSAg
ICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsg
J2JsYW5rX3BhZ2VfZ3JlZW4uaHRtP2lkPXByZXJlbmRlcicsICdsaW5rJyk7CisgICAgYWRkRW50
cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdncmVlbi5o
dG1sP2lkPXByZXJlbmRlcicsICdsaW5rJyk7CiAgICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVz
LCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdtYW5pZmVzdC5qc29uJywgJ2xpbmsnKTsK
ICAgICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1l
ICsgJ2VtcHR5LnB5P2lkPWJlYWNvbicsICdiZWFjb24nKTsKICAgICBhZGRFbnRyeUlmRXhpc3Rz
KGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ2VtcHR5LnB5P2lkPWZldGNo
JywgJ2ZldGNoJyk7CkBAIC0xNTgsNyArMTU4LDcgQEAgd2luZG93Lm9uX2FzeW5jX3hocl9kb25l
ID0gZnVuY3Rpb24oKSB7CiA8aDE+RGVzY3JpcHRpb248L2gxPgogPHA+VGhpcyB0ZXN0IHZhbGlk
YXRlcyB0aGF0IGFsbCBvZiB0aGUgaW5pdGlhdG9yIHR5cGVzIGFyZSByZXByZXNlbnRlZC48L3A+
CiA8ZGl2IGlkPSJsb2ciPjwvZGl2PgotPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBvbmxvYWQ9
Im9ubG9hZF90ZXN0KCk7IiBzcmM9InJlc291cmNlcy9hbGxfcmVzb3VyY2VfdHlwZXMuaHRtIiBz
dHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MHB4OyI+PC9pZnJhbWU+Ci08aWZyYW1lIGlk
PSJmcmFtZUNvbnRleHQyIiBvbmxvYWQ9ImZyYW1lc2V0X29ubG9hZCgpOyIgc3JjPSJyZXNvdXJj
ZXMvZ3JlZW5fZnJhbWUuaHRtIiBzdHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MHB4OyI+
PC9pZnJhbWU+Cis8aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQiIG9ubG9hZD0ib25sb2FkX3Rlc3Qo
KTsiIHNyYz0icmVzb3VyY2VzL2FsbF9yZXNvdXJjZV90eXBlcy5odG1sIiBzdHlsZT0id2lkdGg6
IDI1MHB4OyBoZWlnaHQ6IDI1MHB4OyI+PC9pZnJhbWU+Cis8aWZyYW1lIGlkPSJmcmFtZUNvbnRl
eHQyIiBvbmxvYWQ9ImZyYW1lc2V0X29ubG9hZCgpOyIgc3JjPSJyZXNvdXJjZXMvZ3JlZW4tZnJh
bWUuaHRtbCIgc3R5bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1lPgog
PC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfbmVzdGVkX2RlZGljYXRl
ZF93b3JrZXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfbmVzdGVkX2RlZGljYXRlZF93b3JrZXIu
d29ya2VyLmpzCmluZGV4IGZjNzkzMDc1YmJhZGUxYjA4OTFlYThlY2Y1MDEzNzA1MWQ4NGI4MjAu
LjJjOWY1Zjk1NDI4YWNhNWNlOWQxODcxNDIyM2ZhYjZmNzhmMzYwYzAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlX25lc3RlZF9kZWRpY2F0ZWRfd29ya2VyLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZV9uZXN0ZWRfZGVkaWNhdGVkX3dvcmtlci53b3JrZXIuanMKQEAgLTEsNiArMSw2IEBACiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7CiAKLWFzeW5jX3Rlc3Qo
YXN5bmMgZnVuY3Rpb24oKSB7Cithc3luY190ZXN0KGZ1bmN0aW9uKCkgewogICBjb25zdCB3b3Jr
ZXIgPSBuZXcgV29ya2VyKCdyZXNvdXJjZXMvd29ya2VyX3dpdGhfaW1hZ2VzLmpzJyk7CiAgIHdv
cmtlci5vbm1lc3NhZ2UgPSB0aGlzLnN0ZXBfZnVuY19kb25lKChldmVudCkgPT4gewogICAgIGNv
bnN0IGNoaWxkTnVtRW50cmllcyA9IGV2ZW50LmRhdGE7CkBAIC0xNCw0ICsxNCw0IEBAIGFzeW5j
X3Rlc3QoYXN5bmMgZnVuY3Rpb24oKSB7CiAgICAgd29ya2VyLnRlcm1pbmF0ZSgpOwogICB9KTsK
IH0sICJSZXNvdXJjZSB0aW1pbmcgZm9yIG5lc3RlZCBkZWRpY2F0ZWQgd29ya2VycyIpOwotZG9u
ZSgpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2RvbmUoKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlX3RpbWluZ19jb250ZW50X2xlbmd0aC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZV90aW1pbmdfY29udGVudF9sZW5ndGgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzYTNmODhk
MWJlYWMxMDM3MDA1ZWNhZjg4ODQ1MTYwM2NkZWVlN2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZV90aW1pbmdfY29udGVudF9sZW5ndGgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBA
QAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworUEFTUyBlbmNv
ZGVkQm9keVNpemUgc2hvdWxkIGJlIGVxdWFsIHRvIHRoZSBhY3R1YWwgYnl0ZSBzaXplIG9mIHRo
ZSBjb250ZW50CitQQVNTIGVuY29kZWRCb2R5U2l6ZSBzaG91bGQgYmUgZXF1YWwgdG8gdGhlIGFj
dHVhbCBieXRlIHNpemUgb2YgdGhlIGNvbnRlbnQgd2hlbiBubyBoZWFkZXIgcHJlc2VudAorUEFT
UyBlbmNvZGVkQm9keVNpemUgc2hvdWxkIGJlIGVxdWFsIHRvIHRoZSBhY3R1YWwgYnl0ZSBzaXpl
IG9mIHRoZSBjb250ZW50IHdoZW4gaGVhZGVyIHZhbHVlIGlzIGxvd2VyIHRoYW4gYWN0dWFsIGNv
bnRlbnQKK1RJTUVPVVQgZW5jb2RlZEJvZHlTaXplIHNob3VsZCBiZSBlcXVhbCB0byB0aGUgYWN0
dWFsIGJ5dGUgc2l6ZSBvZiB0aGUgY29udGVudCB3aGVuIGhlYWRlciB2YWx1ZSBpcyBoaWdoZXIg
dGhhbiBhY3R1YWwgY29udGVudCBUZXN0IHRpbWVkIG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZV90aW1pbmdfY29udGVudF9sZW5ndGguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX3RpbWluZ19jb250
ZW50X2xlbmd0aC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMyYmQ4YTk3ZTA3MzQxMzIzMDYxNTEyNjk4YTU2
NTIzMmYxOTcyYmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV90aW1pbmdfY29udGVu
dF9sZW5ndGguaHRtbApAQCAtMCwwICsxLDM1IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5UaGlzIHRlc3QgdmFsaWRh
dGVzIHRoZSB2YWx1ZSBvZiBlbmNvZGVkQm9keVNpemUgaW4gY2VydGFpbiBzaXR1YXRpb25zLjwv
dGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jlc291
cmNlLXRpbWluZy8jcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0PgorICAgIGZ1bmN0
aW9uIHRlc3RfcmVzb3VyY2VfdGltaW5nX2Zvcl9jb250ZW50X2xlbmd0aCh7YWN0dWFsQ29udGVu
dExlbmd0aCwgbGVuZ3RoSGVhZGVyfSwgdGl0bGUpIHsKKyAgICAgICAgcHJvbWlzZV90ZXN0KGFz
eW5jIHQgPT4geworICAgICAgICAgICAgY29uc3QgY29udGVudCA9IG5ldyBBcnJheShhY3R1YWxD
b250ZW50TGVuZ3RoKS5maWxsKCd4Jykuam9pbignJykKKyAgICAgICAgICAgIGNvbnN0IHVybCA9
IGByZXNvdXJjZXMvcmVzb3VyY2UtdGltaW5nLWNvbnRlbnQtbGVuZ3RoLnB5P2NvbnRlbnQ9JHtj
b250ZW50fSZsZW5ndGg9JHtsZW5ndGhIZWFkZXJ9YAorICAgICAgICAgICAgZmV0Y2godXJsKQor
ICAgICAgICAgICAgY29uc3QgZW50cnkgPSBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IG5l
dyBQZXJmb3JtYW5jZU9ic2VydmVyKChlbnRyeUxpc3QsIG9ic2VydmVyKSA9PiB7CisgICAgICAg
ICAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpCisgICAgICAgICAgICAgICAgcmVzb2x2ZShl
bnRyeUxpc3QuZ2V0RW50cmllcygpWzBdKQorICAgICAgICAgICAgfSkub2JzZXJ2ZSh7ZW50cnlU
eXBlczogWydyZXNvdXJjZSddfSkpCisKKyAgICAgICAgICAgIGNvbnN0IGV4cGVjdGVkQ29udGVu
dExlbmd0aCA9IE51bWJlci5pc0ludGVnZXIobGVuZ3RoSGVhZGVyKSA/IE1hdGgubWluKGFjdHVh
bENvbnRlbnRMZW5ndGgsIGxlbmd0aEhlYWRlcikgOiBhY3R1YWxDb250ZW50TGVuZ3RoCisgICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJ5LmVuY29kZWRCb2R5U2l6ZSwgZXhwZWN0ZWRDb250
ZW50TGVuZ3RoKQorICAgICAgICB9LCB0aXRsZSk7CisgICAgfQorCisgICAgdGVzdF9yZXNvdXJj
ZV90aW1pbmdfZm9yX2NvbnRlbnRfbGVuZ3RoKHthY3R1YWxDb250ZW50TGVuZ3RoOiAzLCBsZW5n
dGhIZWFkZXI6ICdhdXRvJ30sCisgICAgICAgICJlbmNvZGVkQm9keVNpemUgc2hvdWxkIGJlIGVx
dWFsIHRvIHRoZSBhY3R1YWwgYnl0ZSBzaXplIG9mIHRoZSBjb250ZW50IikKKyAgICB0ZXN0X3Jl
c291cmNlX3RpbWluZ19mb3JfY29udGVudF9sZW5ndGgoe2FjdHVhbENvbnRlbnRMZW5ndGg6IDEz
LCBsZW5ndGhIZWFkZXI6ICdub25lJ30sCisgICAgICAgICJlbmNvZGVkQm9keVNpemUgc2hvdWxk
IGJlIGVxdWFsIHRvIHRoZSBhY3R1YWwgYnl0ZSBzaXplIG9mIHRoZSBjb250ZW50IHdoZW4gbm8g
aGVhZGVyIHByZXNlbnQiKQorICAgIHRlc3RfcmVzb3VyY2VfdGltaW5nX2Zvcl9jb250ZW50X2xl
bmd0aCh7YWN0dWFsQ29udGVudExlbmd0aDogNywgbGVuZ3RoSGVhZGVyOiAzfSwKKyAgICAgICAg
ImVuY29kZWRCb2R5U2l6ZSBzaG91bGQgYmUgZXF1YWwgdG8gdGhlIGFjdHVhbCBieXRlIHNpemUg
b2YgdGhlIGNvbnRlbnQgd2hlbiBoZWFkZXIgdmFsdWUgaXMgbG93ZXIgdGhhbiBhY3R1YWwgY29u
dGVudCIpCisgICAgdGVzdF9yZXNvdXJjZV90aW1pbmdfZm9yX2NvbnRlbnRfbGVuZ3RoKHthY3R1
YWxDb250ZW50TGVuZ3RoOiA4LCBsZW5ndGhIZWFkZXI6IDQwfSwKKyAgICAgICAgImVuY29kZWRC
b2R5U2l6ZSBzaG91bGQgYmUgZXF1YWwgdG8gdGhlIGFjdHVhbCBieXRlIHNpemUgb2YgdGhlIGNv
bnRlbnQgd2hlbiBoZWFkZXIgdmFsdWUgaXMgaGlnaGVyIHRoYW4gYWN0dWFsIGNvbnRlbnQiKQor
PC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvMjAwX2VtcHR5LmFz
aXMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvMjAwX2VtcHR5LmFzaXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjVkMTBiZGEzMjQ1
MjhkMWQ4NTQ2M2I5YTE1YTM0N2Y1YzFmYWVkOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy8yMDBfZW1wdHkuYXNpcwpAQCAtMCwwICsxLDMgQEAKK0hUVFAvMS4wIDIwMCBPSworQ29u
dGVudC1MZW5ndGg6IDAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL1RBT1Jlc3BvbnNlLnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL1RBT1Jlc3BvbnNlLnB5CmluZGV4IDkwOGI2ODg2MWFlODI2MmExOGUw
ODNiMDI2ZDE0NTkxZDFlMDIwNmUuLjYwMzkyYjhlMTBhZGE0ZmQ3MGEwM2E2MjU4ODQ5MzA2ZTk3
MTRlYzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9UQU9SZXNwb25zZS5weQorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvVEFPUmVzcG9uc2UucHkKQEAgLTEsOCArMSwxMiBAQAoraW1wb3J0IG9zCisKIGRl
ZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICBvcmlnaW4gPSByZXF1ZXN0LmhlYWRlcnNb
YidvcmlnaW4nXQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGInQWNjZXNzLUNvbnRyb2wtQWxs
b3ctT3JpZ2luJywgb3JpZ2luKQorICAgIGlmIGInb3JpZ2luJyBpbiByZXF1ZXN0LmhlYWRlcnM6
CisgICAgICBvcmlnaW4gPSByZXF1ZXN0LmhlYWRlcnNbYidvcmlnaW4nXQorICAgICAgcmVzcG9u
c2UuaGVhZGVycy5zZXQoYidBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4nLCBvcmlnaW4pCiAK
ICAgICB0YW8gPSByZXF1ZXN0LkdFVC5maXJzdChiJ3RhbycpCisgICAgaW1nID0gcmVxdWVzdC5H
RVQuZmlyc3QoYidpbWcnKSBpZiBiJ2ltZycgaW4gcmVxdWVzdC5HRVQgZWxzZSBOb25lCiAKICAg
ICBpZiB0YW8gPT0gYid6ZXJvJzoKICAgICAjIHplcm8gVEFPIHZhbHVlLCBmYWlsCkBAIC0xNCw3
ICsxOCw3IEBAIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICAjIG51bGwsIGZhaWwg
dW5sZXNzIGl0J3MgYW4gb3BhcXVlIG9yaWdpbgogICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNl
dChiJ1RpbWluZy1BbGxvdy1PcmlnaW4nLCBiJ251bGwnKQogICAgIGVsaWYgdGFvID09IGInTnVs
bCc6Ci0gICAgIyBjYXNlLWluc2VudGl2ZSBudWxsLCBmYWlsCisgICAgIyBjYXNlLWluc2Vuc2l0
aXZlIG51bGwsIGZhaWwKICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYidUaW1pbmctQWxs
b3ctT3JpZ2luJywgYidOdWxsJykKICAgICBlbGlmIHRhbyA9PSBiJ29yaWdpbic6CiAgICAgIyBj
YXNlLXNlbnNpdGl2ZSBtYXRjaCBmb3Igb3JpZ2luLCBwYXNzCkBAIC00OSwzICs1MywxMiBAQCBk
ZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CiAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0
KGInVGltaW5nLUFsbG93LU9yaWdpbicsIG9yaWdpbi51cHBlcigpKQogICAgIGVsc2U6CiAgICAg
ICAgIHBhc3MKKyAgICByZXNwb25zZS5zdGF0dXMgPSAyMDAKKyAgICBpZiBpbWc6CisgICAgICBy
ZXNwb25zZS5oZWFkZXJzLnNldChiIkNvbnRlbnQtVHlwZSIsIGIiaW1hZ2UvcG5nIikKKyAgICAg
IHdpdGggb3BlbihyZXF1ZXN0LmRvY19yb290ICsgIi9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vz
L2JsdWUucG5nIiwgInJiIikgYXMgZjoKKyAgICAgICAgcmVzcG9uc2UuY29udGVudCA9IGYucmVh
ZCgpCisgICAgICAgIGYuY2xvc2UoKQorICAgIGVsc2U6CisgICAgICByZXNwb25zZS5oZWFkZXJz
LnNldChiIkNvbnRlbnQtVHlwZSIsIGIidGV4dC9wbGFpbiIpCisgICAgICByZXNwb25zZS5jb250
ZW50ID0gIlRFU1QiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvYWxsX3Jlc291cmNlX3R5cGVz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvYWxsX3Jlc291cmNlX3R5cGVzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTI1MmE0ODcyYWI0ZTI4ZTY2NTBjNDVjNzc5YjM4MDUyNTRmYTkwZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL3Jlc291cmNlcy9hbGxfcmVzb3VyY2VfdHlwZXMuaHRtbApAQCAtMCwwICsxLDEwNyBA
QAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgY29u
dGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUi
IC8+CisgICAgICAgIDx0aXRsZT5BbGwgUmVzb3VyY2UgVHlwZXMgVGVzdCBQYWdlPC90aXRsZT4K
KyAgICAgICAgPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSJlbXB0eS5weT9mYXZpY29u
Ij4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgYmFja2dyb3VuZD0nYmx1ZS5wbmc/aWQ9Ym9keSc+
CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93LnBhcmVudC5oYXNPd25Q
cm9wZXJ0eSgnb25fdGVzdF9ib2R5X2NyZWF0ZWQnKSkKKyAgICAgICAgICAgICAgICB3aW5kb3cu
cGFyZW50Lm9uX3Rlc3RfYm9keV9jcmVhdGVkKCk7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAg
ICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Im5lc3RlZC5jc3MiPjwvbGluaz4KKyAgICAg
ICAgPGxpbmsgcmVsPSJwcmVmZXRjaCIgaHJlZj0ibmVzdGVkLmNzcz9pZD1wcmVmZXRjaCI+PC9s
aW5rPgorICAgICAgICA8bGluayByZWw9InByZWxvYWQiIGhyZWY9Im5lc3RlZC5jc3M/aWQ9cHJl
bG9hZCIgYXM9InN0eWxlIj48L2xpbms+CisgICAgICAgIDxsaW5rIHJlbD0icHJlcmVuZGVyIiBo
cmVmPSJncmVlbi5odG1sP2lkPXByZXJlbmRlciI+PC9saW5rPgorICAgICAgICA8bGluayByZWw9
Im1hbmlmZXN0IiBocmVmPSJtYW5pZmVzdC5qc29uIj48L2xpbms+CisgICAgICAgIDxpbWcgc3Jj
PSJyZXNvdXJjZV90aW1pbmdfdGVzdDAucG5nIj48L2ltZz4KKyAgICAgICAgPGltZyBzcmM9InJl
c291cmNlX3RpbWluZ190ZXN0MC5wbmc/aWQ9c3Jjc2V0LXNyYyIKKyAgICAgICAgICAgIHNyY3Nl
dD0icmVzb3VyY2VfdGltaW5nX3Rlc3QwLnBuZz9pZD1zcmNzZXQtc3Jjc2V0IDY3dyIKKyAgICAg
ICAgICAgIHNpemVzPSI2N3B4Ij48L2ltZz4KKyAgICAgICAgPGlmcmFtZSBzcmM9ImdyZWVuLmh0
bWwiIHdpZHRoPSIxMDBweCIgaGVpZ2h0PSIxMDBweCI+PC9pZnJhbWU+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSJlbXB0eV9zY3JpcHQuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0PgorICAg
ICAgICAgICAgdmFyIGFzeW5jX3hociA9IG5ldyBYTUxIdHRwUmVxdWVzdDsKKyAgICAgICAgICAg
IGFzeW5jX3hoci5vcGVuKCdHRVQnLCAnYmx1ZS5wbmc/aWQ9YXN5bmNfeGhyJywgdHJ1ZSk7Cisg
ICAgICAgICAgICBhc3luY194aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7Cisg
ICAgICAgICAgICAgICAgaWYgKGFzeW5jX3hoci5yZWFkeVN0YXRlID09IDQgJiYgYXN5bmNfeGhy
LnN0YXR1cyA9PSAyMDAgJiYgcGFyZW50Lmhhc093blByb3BlcnR5KCdvbl9hc3luY194aHJfZG9u
ZScpKQorICAgICAgICAgICAgICAgICAgICBwYXJlbnQub25fYXN5bmNfeGhyX2RvbmUoKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGFzeW5jX3hoci5zZW5kKCk7CisKKyAgICAgICAgICAg
IGlmICh3aW5kb3cubmF2aWdhdG9yICYmIG5hdmlnYXRvci5zZW5kQmVhY29uKSB7CisgICAgICAg
ICAgICAgICAgbmF2aWdhdG9yLnNlbmRCZWFjb24oJ2VtcHR5LnB5P2lkPWJlYWNvbicpOworICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAod2luZG93LmZldGNoKSB7CisgICAgICAgICAg
ICAgICAgZmV0Y2goJ2VtcHR5LnB5P2lkPWZldGNoJyk7CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIGlmICh3aW5kb3cuRXZlbnRTb3VyY2UpIHsKKyAgICAgICAgICAgICAgICB2YXIgZXZ0
U291cmNlID0gbmV3IEV2ZW50U291cmNlKCdldmVudHNvdXJjZS5weT9pZD1ldmVudHNvdXJjZScp
OworICAgICAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgQGZvbnQtZmFjZSB7CisgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHJlbW90
ZUZvbnRBaGVtOworICAgICAgICAgICAgICAgIHNyYzogdXJsKCcvZm9udHMvQWhlbS50dGYnKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmcmFtZSB7CisgICAgICAgICAgICAgICAgYmFj
a2dyb3VuZDogdXJsKCdibHVlLnBuZz9pZD0xJyk7CisgICAgICAgICAgICB9CisgICAgICAgICAg
ICBib2R5IHsKKyAgICAgICAgICAgICAgICBjdXJzb3I6IHVybCgnYmx1ZS5wbmc/aWQ9Y3Vyc29y
JyksIHBvaW50ZXI7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB1bCB7CisgICAgICAgICAg
ICAgICAgZm9udC1mYW1pbHk6IHJlbW90ZUZvbnRBaGVtOworICAgICAgICAgICAgICAgIGxpc3Qt
c3R5bGUtaW1hZ2U6IHVybCgnYmx1ZS5wbmc/aWQ9MicpOworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgICAgICA8dWw+CisgICAgICAgICAgICA8bGk+VGVzdDwvbGk+CisgICAg
ICAgIDwvdWw+CisgICAgICAgIDxvbD4KKyAgICAgICAgICAgIDxsaT5UZXN0PC9saT4KKyAgICAg
ICAgPC9vbD4KKyAgICAgICAgPGVtYmVkIHNyYz0icmVzb3VyY2VfdGltaW5nX3Rlc3QwLmNzcz9p
ZD1lbWJlZCIgdHlwZT0idGV4dC9jc3MiPjwvZW1iZWQ+CisgICAgICAgIDxpbnB1dCB0eXBlPSJp
bWFnZSIgc3JjPSJibHVlLnBuZz9pZD1pbnB1dCI+PC9pbnB1dD4KKyAgICAgICAgPG9iamVjdCB0
eXBlPSJpbWFnZS9wbmciIGRhdGE9ImJsdWUucG5nP2lkPW9iamVjdCI+PC9vYmplY3Q+CisgICAg
ICAgIDx2aWRlbyBwb3N0ZXI9ImJsdWUucG5nP2lkPXZpZGVvLXBvc3RlciI+PC92aWRlbz4KKyAg
ICAgICAgPHZpZGVvIHNyYz0iL21lZGlhL3Rlc3QubXA0P2lkPXZpZGVvLXNyYyIgYXV0b3BsYXk9
InRydWUiPjwvdmlkZW8+CisgICAgICAgIDx2aWRlbyBhdXRvcGxheT0idHJ1ZSI+CisgICAgICAg
ICAgICA8c291cmNlIHNyYz0iL21lZGlhL3Rlc3QubXA0P2lkPXZpZGVvLXNvdXJjZSIgdHlwZT0i
dmlkZW8vbXA0Ij4KKyAgICAgICAgICAgIDxzb3VyY2Ugc3JjPSIvbWVkaWEvdGVzdC5vZ3Y/aWQ9
dmlkZW8tc291cmNlIiB0eXBlPSJ2aWRlby9vZ2ciPgorICAgICAgICAgICAgPHRyYWNrIGtpbmQ9
InN1YnRpdGxlcyIgc3JjPSJlbXB0eS5weT9pZD12aWRlby10cmFjayIgc3JjbGFuZz0iZW4iIGRl
ZmF1bHQ+CisgICAgICAgIDwvdmlkZW8+CisgICAgICAgIDxhdWRpbyBzcmM9ImVtcHR5LnB5P2lk
PWF1ZGlvLXNyYyI+PC9hdWRpbz4KKyAgICAgICAgPGF1ZGlvPgorICAgICAgICAgICAgPHNvdXJj
ZSBzcmM9ImVtcHR5LnB5P2lkPWF1ZGlvLXNvdXJjZS13YXYiIHR5cGU9ImF1ZGlvL3dhdiIgLz4K
KyAgICAgICAgICAgIDxzb3VyY2Ugc3JjPSJlbXB0eS5weT9pZD1hdWRpby1zb3VyY2UtbXBlZyIg
dHlwZT0iYXVkaW8vbXBlZyIgLz4KKyAgICAgICAgICAgIDxzb3VyY2Ugc3JjPSJlbXB0eS5weT9p
ZD1hdWRpby1zb3VyY2Utb2dnIiB0eXBlPSJhdWRpby9vZ2ciIC8+CisgICAgICAgIDwvYXVkaW8+
CisgICAgICAgIDxzdmcgd2lkdGg9MjAwIGhlaWdodD0yMDAKKyAgICAgICAgICAgIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKKyAgICAgICAgICAgIHhtbG5zOnhsaW5rPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KKyAgICAgICAgICAgIDxpbWFnZSBocmVmPSJibHVl
LnBuZz9pZD1zdmctaW1hZ2UiIGhlaWdodD0iMjAwIiB3aWR0aD0iMjAwIi8+CisgICAgICAgIDwv
c3ZnPgorICAgICAgICA8cGljdHVyZT4KKyAgICAgICAgICAgIDxzb3VyY2Ugc3Jjc2V0PSJibHVl
LnBuZz9pZD1waWN0dXJlLXNvdXJjZSIgdHlwZT0iaW1hZ2UvcG5nIiAvPgorICAgICAgICAgICAg
PGltZyBzcmM9ImJsdWUucG5nP2lkPXBpY3R1cmUtaW1nIiAvPgorICAgICAgICA8L3BpY3R1cmU+
CisgICAgICAgIDxwaWN0dXJlPgorICAgICAgICAgICAgPHNvdXJjZSBzcmNzZXQ9ImJsdWUucG5n
P2lkPXBpY3R1cmUtbm90c3VwcG9ydGVkLXNvdXJjZSIgdHlwZT0iaW1hZ2Uvbm90c3VwcG9ydGVk
IiAvPgorICAgICAgICAgICAgPGltZyBzcmM9ImJsdWUucG5nP2lkPXBpY3R1cmUtbm90c3VwcG9y
dGVkLWltZyIgLz4KKyAgICAgICAgPC9waWN0dXJlPgorICAgICAgICA8cGljdHVyZT4KKyAgICAg
ICAgICAgIDxpbWcgc3JjPSJibHVlLnBuZz9pZD1waWN0dXJlLWltZy1zcmMiCisgICAgICAgICAg
ICAgICAgc3Jjc2V0PSJibHVlLnBuZz9pZD1waWN0dXJlLWltZy1zcmNzZXQiCisgICAgICAgICAg
ICAgICAgc2l6ZXM9IjY3cHgiPjwvaW1nPgorICAgICAgICA8L3BpY3R1cmU+CisgICAgICAgIDxw
aWN0dXJlPgorICAgICAgICAgICAgPGltZyBzcmM9ImJsdWUucG5nP2lkPXBpY3R1cmUtOTl4LWlt
Zy1zcmMiCisgICAgICAgICAgICAgICAgc3Jjc2V0PSJibHVlLnBuZz9pZD1waWN0dXJlLTk5eC1p
bWctc3Jjc2V0IDk5eCIKKyAgICAgICAgICAgICAgICBzaXplcz0iNjdweCI+PC9pbWc+CisgICAg
ICAgIDwvcGljdHVyZT4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2J1ZmZlci1mdWxs
LXV0aWxpdGllcy5qcwppbmRleCBlMGE0ZjBiMTA4MDk0NjU4YmUwYWVmNDUzYmY4MjZiZjAxYzI4
ZjkzLi4yMWNkNjMzY2VkOTdkYmY2Yzc1ZWFlMTBiZmQ5N2EyOTQyZTRiZDVhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
cy9idWZmZXItZnVsbC11dGlsaXRpZXMuanMKQEAgLTEyLDEyICsxMiwyNyBAQCBsZXQgeGhyU2Ny
aXB0ID0gc3JjID0+IHsKICAgICB4aHIuc2VuZChudWxsKTsKIH0KIAotbGV0IHdhaXRGb3JOZXh0
VGFzayA9ICgpID0+IHsKKy8vIFRoaXMgc2NyaXB0IHJlbGllcyBvbiByZXNvdXJjZXMvcmVzb3Vy
Y2UtbG9hZGVycy5qcy4gSW5jbHVkZSBpdCBiZWZvcmUgaW4gb3JkZXIgZm9yIHRoZSBiZWxvdwor
Ly8gbWV0aG9kcyB0byB3b3JrIHByb3Blcmx5LgorCisvLyBUaGUgcmVzb3VyY2VzIHVzZWQgdG8g
dHJpZ2dlciBuZXcgZW50cmllcy4KK2NvbnN0IHNjcmlwdFJlc291cmNlcyA9IFsKKyAgICAncmVz
b3VyY2VzL2VtcHR5LmpzJywKKyAgICAncmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5qcycsCisgICAg
J3Jlc291cmNlcy9lbXB0eS5qcz9pZCcKK107CisKK2NvbnN0IHdhaXRGb3JOZXh0VGFzayA9ICgp
ID0+IHsKICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CiAgICAgICAgIHN0ZXBf
dGltZW91dChyZXNvbHZlLCAwKTsKICAgICB9KTsKIH07CiAKK2NvbnN0IGNsZWFyQnVmZmVyQW5k
U2V0U2l6ZSA9IHNpemUgPT4geworICBwZXJmb3JtYW5jZS5jbGVhclJlc291cmNlVGltaW5ncygp
OworICBwZXJmb3JtYW5jZS5zZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUoc2l6ZSk7Cit9CisK
IGxldCB3YWl0VW50aWxDb25kaXRpb25Jc01ldCA9IGNvbmQgPT4gewogICAgIHJldHVybiBuZXcg
UHJvbWlzZShyZXNvbHZlID0+IHsKICAgICAgICAgbGV0IGNoZWNrQ29uZGl0aW9uID0gZnVuY3Rp
b24oKSB7CkBAIC00NSwyNyArNjAsNTcgQEAgbGV0IHdhaXRGb3JFdmVudFRvRmlyZSA9ICgpID0+
IHsKICAgICB9KTsKIH07CiAKLWxldCBjbGVhckJ1ZmZlckFuZFNldFNpemUgPSBzaXplID0+IHsK
LSAgICBwZXJmb3JtYW5jZS5jbGVhclJlc291cmNlVGltaW5ncygpOwotICAgIHBlcmZvcm1hbmNl
LnNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6ZShzaXplKTsKLX0KK2NvbnN0IGZvcmNlQnVmZmVy
RnVsbEV2ZW50ID0gYXN5bmMgKCkgPT4geworICBjbGVhckJ1ZmZlckFuZFNldFNpemUoMSk7Cisg
IHJldHVybiBuZXcgUHJvbWlzZShhc3luYyByZXNvbHZlID0+IHsKKyAgICBwZXJmb3JtYW5jZS5h
ZGRFdmVudExpc3RlbmVyKCdyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwnLCByZXNvbHZlKTsKKyAg
ICAvLyBMb2FkIDIgcmVzb3VyY2VzIHRvIGVuc3VyZSBvbnJlc291cmNldGltaW5nYnVmZmVyZnVs
bCBpcyBmaXJlZC4KKyAgICAvLyBMb2FkIHRoZW0gaW4gb3JkZXIgaW4gb3JkZXIgdG8gZ2V0IHRo
ZSBlbnRyaWVzIGluIHRoYXQgb3JkZXIhCisgICAgYXdhaXQgbG9hZC5zY3JpcHQoc2NyaXB0UmVz
b3VyY2VzWzBdKTsKKyAgICBhd2FpdCBsb2FkLnNjcmlwdChzY3JpcHRSZXNvdXJjZXNbMV0pOwor
ICB9KTsKK307CiAKLWxldCBmaWxsVXBUaGVCdWZmZXJXaXRoU2luZ2xlUmVzb3VyY2UgPSBzcmMg
PT4gewotICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgICAgLy8gVGhp
cyByZXNvdXJjZSBnZXRzIGJ1ZmZlcmVkIGluIHRoZSByZXNvdXJjZSB0aW1pbmcgZW50cnkgYnVm
ZmVyLgotICAgICAgICBhcHBlbmRTY3JpcHQoc3JjLCByZXNvbHZlKTsKLSAgICB9KTsKK2NvbnN0
IGZpbGxVcFRoZUJ1ZmZlcldpdGhTaW5nbGVSZXNvdXJjZSA9IGFzeW5jIChzcmMgPSBzY3JpcHRS
ZXNvdXJjZXNbMF0pID0+IHsKKyAgY2xlYXJCdWZmZXJBbmRTZXRTaXplKDEpOworICBhd2FpdCBs
b2FkLnNjcmlwdChzcmMpOwogfTsKIAotbGV0IGxvYWRSZXNvdXJjZSA9IHNyYyA9PiB7Ci0gICAg
cmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgICAgICBhcHBlbmRTY3JpcHQoc3Jj
LCByZXNvbHZlKTsKLSAgICB9KTsKK2NvbnN0IGZpbGxVcFRoZUJ1ZmZlcldpdGhUd29SZXNvdXJj
ZXMgPSBhc3luYyAoKSA9PiB7CisgICAgY2xlYXJCdWZmZXJBbmRTZXRTaXplKDIpOworICAgIC8v
IExvYWQgdGhlbSBpbiBvcmRlciBpbiBvcmRlciB0byBnZXQgdGhlIGVudHJpZXMgaW4gdGhhdCBv
cmRlciEKKyAgICBhd2FpdCBsb2FkLnNjcmlwdChzY3JpcHRSZXNvdXJjZXNbMF0pOworICAgIGF3
YWl0IGxvYWQuc2NyaXB0KHNjcmlwdFJlc291cmNlc1sxXSk7CiB9OwogCi1sZXQgZmlsbFVwVGhl
QnVmZmVyV2l0aFR3b1Jlc291cmNlcyA9IGFzeW5jIHNyYyA9PiB7Ci0gICAgLy8gVGhlc2UgcmVz
b3VyY2VzIGdldCBidWZmZXJlZCBpbiB0aGUgcmVzb3VyY2UgdGltaW5nIGVudHJ5IGJ1ZmZlci4K
LSAgICBhd2FpdCBsb2FkUmVzb3VyY2Uoc3JjKTsKLSAgICBhd2FpdCBsb2FkUmVzb3VyY2Uoc3Jj
ICsgJz9zZWNvbmQnKTsKK2NvbnN0IGFkZEFzc2VydFVucmVhY2hlZEJ1ZmZlckZ1bGwgPSB0ID0+
IHsKKyAgcGVyZm9ybWFuY2UuYWRkRXZlbnRMaXN0ZW5lcigncmVzb3VyY2V0aW1pbmdidWZmZXJm
dWxsJywgdC5zdGVwX2Z1bmMoKCkgPT4geworICAgIGFzc2VydF91bnJlYWNoZWQoInJlc291cmNl
dGltaW5nYnVmZmVyZnVsbCBzaG91bGQgbm90IGZpcmUiKQorICB9KSk7CiB9OwogCitjb25zdCBj
aGVja0VudHJpZXMgPSBudW1FbnRyaWVzID0+IHsKKyAgY29uc3QgZW50cmllcyA9IHBlcmZvcm1h
bmNlLmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7CisgIGFzc2VydF9lcXVhbHMoZW50cmll
cy5sZW5ndGgsIG51bUVudHJpZXMsCisgICAgICAnTnVtYmVyIG9mIGVudHJpZXMgZG9lcyBub3Qg
bWF0Y2ggdGhlIGV4cGVjdGVkIHZhbHVlLicpOworICBhc3NlcnRfdHJ1ZShlbnRyaWVzWzBdLm5h
bWUuaW5jbHVkZXMoc2NyaXB0UmVzb3VyY2VzWzBdKSwKKyAgICAgIHNjcmlwdFJlc291cmNlc1sw
XSArICIgaXMgaW4gdGhlIGVudHJpZXMgYnVmZmVyIik7CisgIGlmIChlbnRyaWVzLmxlbmd0aCA+
IDEpIHsKKyAgICBhc3NlcnRfdHJ1ZShlbnRyaWVzWzFdLm5hbWUuaW5jbHVkZXMoc2NyaXB0UmVz
b3VyY2VzWzFdKSwKKyAgICAgICAgc2NyaXB0UmVzb3VyY2VzWzFdICsgIiBpcyBpbiB0aGUgZW50
cmllcyBidWZmZXIiKTsKKyAgfQorICBpZiAoZW50cmllcy5sZW5ndGggPiAyKSB7CisgICAgYXNz
ZXJ0X3RydWUoZW50cmllc1syXS5uYW1lLmluY2x1ZGVzKHNjcmlwdFJlc291cmNlc1syXSksCisg
ICAgICAgIHNjcmlwdFJlc291cmNlc1syXSArICIgaXMgaW4gdGhlIGVudHJpZXMgYnVmZmVyIik7
CisgIH0KK30KKworY29uc3QgYnVmZmVyRnVsbEZpcmVQcm9taXNlID0gbmV3IFByb21pc2UocmVz
b2x2ZSA9PiB7CisgIHBlcmZvcm1hbmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc291cmNldGltaW5n
YnVmZmVyZnVsbCcsIGFzeW5jICgpID0+IHsKKyAgICAvLyBXYWl0IGZvciB0aGUgbmV4dCB0YXNr
IGp1c3QgdG8gZW5zdXJlIHRoYXQgYWxsIGJ1ZmZlcmZ1bGwgZXZlbnRzIGhhdmUgZmlyZWQsIGFu
ZCB0byBlbnN1cmUKKyAgICAvLyB0aGF0IHRoZSBzZWNvbmRhcnkgYnVmZmVyIGlzIGNvcGllZCAo
YXMgdGhpcyBpcyBhbiBldmVudCwgdGhlcmUgbWF5IGJlIG1pY3JvdGFzayBjaGVja3BvaW50cwor
ICAgIC8vIHJpZ2h0IGFmdGVyIHJ1bm5pbmcgYW4gZXZlbnQgaGFuZGxlcikuCisgICAgYXdhaXQg
d2FpdEZvck5leHRUYXNrKCk7CisgICAgcmVzb2x2ZSgpOworICB9KTsKK30pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL2NhY2hlYWJsZS1hbmQtdmFsaWRhdGVkLnB5IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vz
L2NhY2hlYWJsZS1hbmQtdmFsaWRhdGVkLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMxZjBlM2FiNDE3YTY5MDc5
ZjIwNzQ4NzUxYjJkNmJlOWE3ZDU1NTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMv
Y2FjaGVhYmxlLWFuZC12YWxpZGF0ZWQucHkKQEAgLTAsMCArMSwxMSBAQAorZGVmIG1haW4ocmVx
dWVzdCwgcmVzcG9uc2UpOgorICAgIHJldmFsaWRhdGlvbiA9ICdDYWNoZS1Db250cm9sJyBpbiBy
ZXF1ZXN0LmhlYWRlcnMKKyAgICBjb250ZW50ID0gcmVxdWVzdC5HRVQuZmlyc3QoYidjb250ZW50
JykKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiJ0NhY2hlLUNvbnRyb2wnLCBiJ21heC1hZ2U9
NjAnKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGInRVRhZycsIGInYXNzZGZzZGZlJykKKyAg
ICBpZiByZXZhbGlkYXRpb246CisgICAgICByZXNwb25zZS5zdGF0dXMgPSAoMzA0LCBiJ05vdE1v
ZGlmaWVkJykKKyAgICBlbHNlOgorICAgICAgcmVzcG9uc2Uuc3RhdHVzID0gKDIwMCwgYidPSycp
OworICAgICAgcmVzcG9uc2Uud3JpdGVfc3RhdHVzX2hlYWRlcnMoKQorICAgICAgcmVzcG9uc2Uu
d3JpdGVyLndyaXRlKGNvbnRlbnQpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2Nvbm5lY3Rp
b24tcmV1c2UtdGVzdC5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jb25uZWN0aW9uLXJldXNlLXRlc3QuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNGRlZjE2YzBiMGVjOTA0N2Y2ZjIyMjA3YmZlMTk5MzMwMjI5ODY0MQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jb25uZWN0aW9uLXJldXNlLXRlc3QuanMKQEAg
LTAsMCArMSw3MCBAQAorLy8gVGhpcyBzY3JpcHQgaXMgbG9hZGVkIGluIEhUVFAgYW5kIEhUVFBT
IGNvbnRleHRzIHRvIHZhbGlkYXRlCisvLyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGVudHJp
ZXMnIGF0dHJpYnV0ZXMgd2hlbiByZXVzaW5nIGNvbm5lY3Rpb25zLgorCisvLyBNYWtlIHRoZSBm
aXJzdCByZXF1ZXN0IGJlZm9yZSBjYWxsaW5nICdhdHRyaWJ1dGVfdGVzdCcgc28gdGhhdCBvbmx5
IHRoZQorLy8gc2Vjb25kIHJlcXVlc3QncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGVudHJ5
IHdpbGwgYmUgaW50ZXJyb2dhdGVkLgorLy8gV2UgZG9uJ3QgY2hlY2sgdGhlIGZpcnN0IHJlcXVl
c3QncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGVudHJ5IGJlY2F1c2UKKy8vIHRoYXQncyBu
b3Qgd2hhdCB0aGlzIHRlc3QgaXMgdHJ5aW5nIHRvIHZhbGlkYXRlLgorLy8KKy8vIE5vdGU6IHRv
IGVuc3VyZSB0aGF0IHdlIHJldXNlIHRoZSBjb25uZWN0aW9uIHRvIGZldGNoIG11bHRpcGxlIHJl
c291cmNlcywKKy8vIHdlIHVzZSB0aGUgc2FtZSBYTUxIdHRwUmVxdWVzdCBvYmplY3QgZm9yIGVh
Y2ggcmVxdWVzdC4gQWx0aG91Z2ggaXQgZG9lc24ndAorLy8gc2VlbSB0byBiZSBzcGVjaWZpZWQs
IGVhY2ggYnJvd3NlciB0ZXN0ZWQgYnkgV1BUIHdpbGwgcmV1c2UgdGhlIHVuZGVybHlpbmcKKy8v
IFRDUCBjb25uZWN0aW9uIHdpdGggdGhpcyBhcHByb2FjaC4gUHJlLWVzdGFibGlzaGluZyB0aGUg
WEhSJ3MgY29ubmVjdGlvbgorLy8gaGVscHMgdXMgdG8gdGVzdCBjb25uZWN0aW9uIHJldXNlIGFs
c28gaW4gYnJvd3NlcnMgdGhhdCBtYXkga2V5IHRoZWlyCisvLyBjb25uZWN0aW9ucyBvbiB0aGUg
cmVsYXRlZCByZXF1ZXN0J3MgY3JlZGVudGlhbHMgbW9kZS4KK2NvbnN0IGNsaWVudCA9IG5ldyBY
TUxIdHRwUmVxdWVzdCgpOworY29uc3QgaWRlbnRpZmllciA9IE1hdGgucmFuZG9tKCk7Citjb25z
dCBwYXRoID0gYHJlc291cmNlcy9mYWtlX3Jlc3BvbnNlcy5weT90YWc9JHtpZGVudGlmaWVyfWA7
CitjbGllbnQub3BlbigiR0VUIiwgcGF0aCwgZmFsc2UpOworY2xpZW50LnNlbmQoKTsKKworYXR0
cmlidXRlX3Rlc3QoCisgIGFzeW5jICgpID0+IHsKKyAgICBjbGllbnQub3BlbigiR0VUIiwgcGF0
aCArICImc2FtZV9yZXNvdXJjZT1mYWxzZSIsIGZhbHNlKTsKKyAgICBjbGllbnQuc2VuZCgpOwor
CisgICAgLy8gV2UgZXhwZWN0IHRvIGdldCBhIDIwMCBPayByZXNwb25zZSBiZWNhdXNlIHdlJ3Zl
IHJlcXVlc3RlZCBhIGRpZmZlcmVudAorICAgIC8vIHJlc291cmNlIHRoYW4gcHJldmlvdXMgcmVx
dWVzdHMuCisgICAgaWYgKGNsaWVudC5zdGF0dXMgIT0gMjAwKSB7CisgICAgICB0aHJvdyBuZXcg
RXJyb3IoYEdvdCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhIDIwMCByZXNwb25zZS4gYCArCisgICAg
ICAgICAgICAgICAgICAgICAgYGNsaWVudC5zdGF0dXM6ICR7Y2xpZW50LnN0YXR1c31gKTsKKyAg
ICB9CisgIH0sIHBhdGgsIGVudHJ5ID0+IHsKKyAgICBpbnZhcmlhbnRzLmFzc2VydF9jb25uZWN0
aW9uX3JldXNlZChlbnRyeSk7CisKKyAgICAvLyBUaGUgZW50cnkgbXVzdCBhbHNvIGZvbGxvdyB0
aGUgc3BlY2lmaWNhdGlvbiBmb3IgYW55IGVudHJ5IGNvcnJlc3BvbmRpbmcKKyAgICAvLyB0byBh
ICd0eXBpY2FsJyAyMDAgT2sgcmVzcG9uc2UuCisgICAgaWYgKHNlbGYubG9jYXRpb24ucHJvdG9j
b2wgPT0gJ2h0dHBzOicpIHsKKyAgICAgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzX25vX3Jl
ZGlyZWN0X2h0dHBzKGVudHJ5KTsKKyAgICB9IGVsc2UgeworICAgICAgaW52YXJpYW50cy5hc3Nl
cnRfdGFvX3Bhc3Nfbm9fcmVkaXJlY3RfaHR0cChlbnRyeSk7CisgICAgfQorICB9LAorICAiUGVy
Zm9ybWFuY2VSZXNyb3VjZVRpbWluZyBlbnRyaWVzIG5lZWQgdG8gY29uZm9ybSB0byB0aGUgc3Bl
YyB3aGVuIGEgIiArCisgICJkaXN0aW5jdCByZXNvdXJjZSBpcyBmZXRjaGVkIG92ZXIgYSBwZXJz
aXN0ZW50IGNvbm5lY3Rpb24iKTsKKworYXR0cmlidXRlX3Rlc3QoCisgIGFzeW5jICgpID0+IHsK
KyAgICBjbGllbnQub3BlbigiR0VUIiwgcGF0aCwgZmFsc2UpOworICAgIGNsaWVudC5zZXRSZXF1
ZXN0SGVhZGVyKCJJZi1Ob25lLU1hdGNoIiwgaWRlbnRpZmllcik7CisgICAgY2xpZW50LnNlbmQo
KTsKKworICAgIC8vIFdlIGV4cGVjdCB0byBnZXQgYSAzMDQgTm90IE1vZGlmaWVkIHJlc3BvbnNl
IGJlY2F1c2Ugd2UndmUgdXNlZCBhCisgICAgLy8gbWF0Y2hpbmcgJ2lkZW50aWZpZXInIGZvciB0
aGUgSWYtTm9uZS1NYXRjaCBoZWFkZXIuCisgICAgaWYgKGNsaWVudC5zdGF0dXMgIT0gMzA0KSB7
CisgICAgICB0aHJvdyBuZXcgRXJyb3IoYEdvdCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhIDMwNCBy
ZXNwb25zZS4gYCArCisgICAgICAgICAgICAgICAgICAgICAgYGNsaWVudC5zdGF0dXM6ICR7Y2xp
ZW50LnN0YXR1c31gKTsKKyAgICB9CisgIH0sIHBhdGgsIGVudHJ5ID0+IHsKKyAgICBpbnZhcmlh
bnRzLmFzc2VydF9jb25uZWN0aW9uX3JldXNlZChlbnRyeSk7CisKKyAgICAvLyBUaGUgZW50cnkg
bXVzdCBhbHNvIGZvbGxvdyB0aGUgc3BlY2lmaWNhdGlvbiBmb3IgYW55IGVudHJ5IGNvcnJlc3Bv
bmRpbmcKKyAgICAvLyB0byBhICd0eXBpY2FsJyAzMDQgTm90IE1vZGlmaWVkIHJlc3BvbnNlLgor
ICAgIGlmIChzZWxmLmxvY2F0aW9uLnByb3RvY29sID09ICdodHRwczonKSB7CisgICAgICBpbnZh
cmlhbnRzLmFzc2VydF90YW9fcGFzc18zMDRfbm90X21vZGlmaWVkX2h0dHBzKGVudHJ5KTsKKyAg
ICB9IGVsc2UgeworICAgICAgaW52YXJpYW50cy5hc3NlcnRfdGFvX3Bhc3NfMzA0X25vdF9tb2Rp
ZmllZF9odHRwKGVudHJ5KTsKKyAgICB9CisgIH0sCisgICJQZXJmb3JtYW5jZVJlc3JvdWNlVGlt
aW5nIGVudHJpZXMgbmVlZCB0byBjb25mb3JtIHRvIHRoZSBzcGVjIHdoZW4gdGhlICIgKworICAi
cmVzb3VyY2UgaXMgY2FjaGUtcmV2YWxpZGF0ZWQgb3ZlciBhIHBlcnNpc3RlbnQgY29ubmVjdGlv
biIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NzcC1kZWZhdWx0LW5vbmUuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWY1OWQ4YzIyNTBm
N2YxN2YxNDM4ODdkYzRmOGU2OGNkZjdmYWE4MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0bWwKQEAgLTAsMCArMSwzIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5lbXB0eSBwYWdlPC90aXRsZT4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0bWwuaGVhZGVycyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0bWwuaGVhZGVycwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNjZm
ODg2ZGQyM2Q0NGJiMzM3NTBjYjU3MjNmM2VkYjZiNzkzMGFiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VzL2NzcC1kZWZhdWx0LW5vbmUuaHRtbC5oZWFkZXJzCkBAIC0wLDAgKzEsMiBA
QAorQ29udGVudC1TZWN1cml0eS1Qb2xpY3k6IGRlZmF1bHQtc3JjICdub25lJworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVz
b3VyY2VzL2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NGNkZDhh
ODcwMWViNGQ3NDlmMTEyYWQ0MDE1ZDRlNTc3OWI3N2IxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3QuaHRtbApAQCAtMCwwICsxLDI4IEBA
Cis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iZW50
cnktaW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citjb25zdCBwYXRo
ID0gbG9jYXRpb24ub3JpZ2luICsKKyAgICAgICAgICAgICAiL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZXMvaWZyYW1lLXNldGRvbWFpbi5zdWIuaHRtbCI7CithdHRyaWJ1dGVfdGVzdF93aXRoX3Zh
bGlkYXRvcihsb2FkLmlmcmFtZSwgcGF0aCwKKyAgZWwgPT4geworICAgIHRyeSB7CisgICAgICBl
bC5jb250ZW50V2luZG93LmRvY3VtZW50OworICAgICAgdGhyb3cgbmV3IEVycm9yKCJpZnJhbWUg
ZG9jdW1lbnQuZG9tYWluIHdhcyBub3Qgc2V0Iik7CisgICAgfSBjYXRjaChlcnJvcikgeworICAg
ICAgaWYgKGVycm9yLm5hbWUgIT0gIlNlY3VyaXR5RXJyb3IiKSB7CisgICAgICAgIHRocm93KGVy
cm9yKTsKKyAgICAgIH0KKyAgICB9CisgIH0sCisgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNz
X25vX3JlZGlyZWN0X2h0dHAsCisgICJ0ZXN0IHRoYXQgZG9jdW1lbnQuZG9tYWluIGJlaW5nIHNl
dCBkb2Vzbid0IGhhdmUgYW4gaW1wYWN0IG9uIHRoZSAiICsKKyAgInJlc291cmNlIHRpbWluZyBl
bnRyeS4iCispOworPC9zY3JpcHQ+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVu
dC1yZWZyZXNoZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVudC1yZWZyZXNoZWQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43ZTRjYTA5ODkxZWQzNWUyNDRiMTUxNTFhMmE2MDc3YWY3NGU4NjVmCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2RvY3VtZW50LXJlZnJlc2hlZC5odG1sCkBAIC0w
LDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04IiAvPgorPC9oZWFkPgorPGJvZHk+CisgICAgUmVmcmVzaGVkIGRvY3VtZW50IQor
PHNjcmlwdD4KKyAgICB0b3AucG9zdE1lc3NhZ2UoInJlZnJlc2hlZCIsICIqIik7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVudC10
aGF0LXJlZnJlc2hlcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2RvY3VtZW50LXRoYXQtcmVmcmVzaGVz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzU1MjI3ODJhNjJkYmUzYjk4YjJmMWEwOWM1YmFiYzcwNjNiNzUx
MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVudC10aGF0LXJlZnJlc2hl
cy5odG1sCkBAIC0wLDAgKzEsOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8bWV0YSBodHRwLWVxdWl2PSJyZWZyZXNoIiBjb250
ZW50PSIwO2RvY3VtZW50LXJlZnJlc2hlZC5odG1sIj4KKzwvaGVhZD4KKzxib2R5PjwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9lbWJlZC1yZWZyZXNoLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9yZXNvdXJjZXMvZW1iZWQtcmVmcmVzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRhNDlmZDBiNGMxYjU0
YzBmMDMyMDBmN2VkMmNiMmFlMjcyMzk3ODgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZXMvZW1iZWQtcmVmcmVzaC5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNl
IFRpbWluZyBlbWJlZCByZWZyZXNoPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1o
b3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJuZXN0ZWQtY29udGV4dHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgICBzZXR1cF9yZWZyZXNoX3Rlc3QoKTsKKzwvc2Ny
aXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8ZW1iZWQgdHlwZT0idGV4dC9odG1sIj4KKzxzY3Jp
cHQ+CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImVtYmVkIilbMF0uc3JjID0g
cHJlX3JlZnJlc2hfdXJsOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3Jl
ZW4tZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi1mcmFtZS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljk2MTMyNDBhZTM4Nzg5YTEwNGQ3N2Q1NmY4OTBmZjYyNDIwOTM0YjAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4tZnJhbWUuaHRtbApAQCAtMCwwICsxLDcgQEAKKzxodG1s
PgorICA8aGVhZD4KKyAgICA8ZnJhbWVzZXQ+CisgICAgICA8ZnJhbWUgc3JjPSJncmVlbi5odG1s
P2lkPWZyYW1lIj4KKyAgICA8L2ZyYW1lc2V0PgorICA8L2hlYWQ+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmI4YTE5NDdiNzdlMjVhYzZiMGQxMDBjNzU5MzJlOGMwYTY3ZDg0NmYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4uaHRtbApAQCAtMCwwICsxLDEwIEBACis8
IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBjb250ZW50
PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgLz4K
KyAgICAgICAgPHRpdGxlPkdyZWVuIFRlc3QgUGFnZTwvdGl0bGU+CisgICAgPC9oZWFkPgorICAg
IDxib2R5IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiMwMEZGMDA7Ij4KKyAgICAgICAgPGgxPlBs
YWNlaG9sZGVyPC9oMT4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZXMvZ3JlZW4uaHRtbC5oZWFkZXJzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2dyZWVuLmh0bWwuaGVhZGVy
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jYjc2MmVmZjgwNjg0OWRmNDZkYzc1OGVmN2I5OGI2M2YyN2Y1NGM5Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2dyZWVuLmh0bWwuaGVhZGVycwpAQCAtMCww
ICsxIEBACitBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW46ICoKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlcy9nemlwX3htbC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9nemlwX3htbC5weQppbmRleCAyMjkz
NjA1YWMzM2E0ZDM1N2E0MjZjZGUxMzliYjdkNDRlNGUwY2IzLi43ZGViYzljZTNmNmNiMDYxYmU4
Y2EzN2I3M2ZjZjlmMmE1Mzk2Mzg5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3ppcF94bWwu
cHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvcmVzb3VyY2VzL2d6aXBfeG1sLnB5CkBAIC0xLDcgKzEsNyBAQAogaW1wb3J0
IGd6aXAgYXMgZ3ppcF9tb2R1bGUKIGltcG9ydCBvcwogCi1mcm9tIHNpeCBpbXBvcnQgQnl0ZXNJ
TworZnJvbSBpbyBpbXBvcnQgQnl0ZXNJTwogCiBmcm9tIHdwdHNlcnZlLnV0aWxzIGltcG9ydCBp
c29tb3JwaGljX2RlY29kZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvaWZyYW1lLXJlZnJl
c2guaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlcy9pZnJhbWUtcmVmcmVzaC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRj
ZTNlYTA0MjQyOTdhYzdhODY2NGZjN2Y3YTZkY2JmZjY0ZDZmMTQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvaWZyYW1lLXJlZnJlc2guaHRtbApAQCAtMCwwICsxLDE1IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0
aXRsZT5SZXNvdXJjZSBUaW1pbmcgaWZyYW1lIHJlZnJlc2g8L3RpdGxlPgorPHNjcmlwdCBzcmM9
Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Im5l
c3RlZC1jb250ZXh0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICAgIHNldHVwX3JlZnJlc2hf
dGVzdCgpOworPC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4KKzxpZnJhbWU+PC9pZnJhbWU+
Cis8c2NyaXB0PgorICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpZnJhbWUiKVsw
XS5zcmMgPSBwcmVfcmVmcmVzaF91cmw7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy9pZnJhbWUtcmVsb2FkLVRBTy5zdWIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9pZnJhbWUtcmVs
b2FkLVRBTy5zdWIuaHRtbAppbmRleCAyNTY4MDI2ZTY0ZWRiODRlNTc0ZTVjMWIwNmYzMjNjYjM1
ODliOTkyLi41NzdhZmY3NzU4Yzc3OTg5M2YwMTA2NThkMjE2ZjM0ODAyYTRlZGZlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvaWZyYW1lLXJlbG9hZC1UQU8uc3ViLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVz
b3VyY2VzL2lmcmFtZS1yZWxvYWQtVEFPLnN1Yi5odG1sCkBAIC0xLDE0ICsxLDE0IEBACiA8c3R5
bGU+CiBAZm9udC1mYWNlIHsKICAgICBmb250LWZhbWlseTogYWhlbTsKLSAgICBzcmM6IHVybCho
dHRwOi8ve3tob3N0c1thbHRdW119fTp7e3BvcnRzW2h0dHBdWzFdfX0vcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlcy9jb3JzLWFoZW0ucHkpOworICAgIHNyYzogdXJsKGh0dHA6Ly97e2RvbWFpbnNb
d3d3XX19Ont7cG9ydHNbaHR0cF1bMV19fS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NvcnMt
YWhlbS5weSk7CiB9CiA8L3N0eWxlPgogPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IGFoZW07Ij5U
aGlzIGZldGNoZXMgYWhlbSBmb250LjwvZGl2PgogPHNjcmlwdD4KICAgaWYgKGxvY2F0aW9uLmhh
c2ggPT09ICcjY2hlY2snKSB7CiAgICAgICBkb2N1bWVudC5mb250cy5yZWFkeS50aGVuKCgpPT4g
ewotICAgICAgICBjb25zdCBlbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgn
aHR0cDovL3t7aG9zdHNbYWx0XVtdfX06e3twb3J0c1todHRwXVsxXX19L3Jlc291cmNlLXRpbWlu
Zy9yZXNvdXJjZXMvY29ycy1haGVtLnB5Jyk7CisgICAgICAgIGNvbnN0IGVudHJpZXMgPSBwZXJm
b3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdodHRwOi8ve3tkb21haW5zW3d3d119fTp7e3BvcnRz
W2h0dHBdWzFdfX0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jb3JzLWFoZW0ucHknKTsKICAg
ICAgICAgaWYgKGVudHJpZXMubGVuZ3RoICE9IDEpCiAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICBjb25zdCBlbnRyeSA9IGVudHJpZXNbMF07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvbXVs
dGlfcmVkaXJlY3QucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvbXVsdGlfcmVkaXJlY3QucHkKaW5kZXggNTZm
NWQ2Yzc3MTUzYTU1OThhZWUwYzY3OTVmYjkwOWMzZmRjZGRiZi4uYTVmYzVkYjRhYzkwMTU5MTQ5
MDhiYTJjY2VlYzE4OWY5ZDMyNzRkMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRpX3Jl
ZGlyZWN0LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9tdWx0aV9yZWRpcmVjdC5weQpAQCAtMSwzICsx
LDQgQEAKK2ltcG9ydCB1cmxsaWIucGFyc2UKIGZyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0IGlz
b21vcnBoaWNfZW5jb2RlCiAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKQEAgLTM3LDcg
KzM4LDcgQEAgZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgogICAgIHJlZGlyZWN0X3VybF9w
YXRoID0gYiIvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9tdWx0aV9yZWRpcmVjdC5weT8iCiAg
ICAgcmVkaXJlY3RfdXJsX3BhdGggKz0gYiJwYWdlX29yaWdpbj0iICsgcGFnZV9vcmlnaW4KICAg
ICByZWRpcmVjdF91cmxfcGF0aCArPSBiIiZjcm9zc19vcmlnaW49IiArIGNyb3NzX29yaWdpbgot
ICAgIHJlZGlyZWN0X3VybF9wYXRoICs9IGIiJmZpbmFsX3Jlc291cmNlPSIgKyBmaW5hbF9yZXNv
dXJjZQorICAgIHJlZGlyZWN0X3VybF9wYXRoICs9IGIiJmZpbmFsX3Jlc291cmNlPSIgKyB1cmxs
aWIucGFyc2UucXVvdGUoZmluYWxfcmVzb3VyY2UpLmVuY29kZSgnYXNjaWknKQogICAgIHJlZGly
ZWN0X3VybF9wYXRoICs9IGIiJnRhb192YWx1ZT0iICsgdGFvX3ZhbHVlCiAgICAgcmVkaXJlY3Rf
dXJsX3BhdGggKz0gYiImdGFvX3N0ZXBzPSIgKyBpc29tb3JwaGljX2VuY29kZShzdHIobmV4dF90
YW9fc3RlcHMpKQogICAgIHJlZGlyZWN0X3VybF9wYXRoICs9IGIiJnN0ZXA9IgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL29iamVjdC1yZWZyZXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvb2JqZWN0
LXJlZnJlc2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZTQzZTE5ZGUxOWZjN2MzNjRlNjhlMGIyNDE1OTYz
ZjU1ZTlkZGIyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL29iamVjdC1yZWZyZXNo
Lmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nIG9iamVjdCBy
ZWZyZXNoPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJuZXN0ZWQtY29udGV4dHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdD4KKyAgICBzZXR1cF9yZWZyZXNoX3Rlc3QoKTsKKzwvc2NyaXB0PgorPGRpdiBpZD1s
b2c+PC9kaXY+Cis8b2JqZWN0IHR5cGU9InRleHQvaHRtbCI+PC9vYmplY3Q+Cis8c2NyaXB0Pgor
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJvYmplY3QiKVswXS5kYXRhID0gcHJl
X3JlZnJlc2hfdXJsOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVkaXJl
Y3QtY29ycy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9yZWRpcmVjdC1jb3JzLnB5Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVh
NjdjYjhlN2FjNGU2MTA0NWQwNWFmNTFmMDY2ZGI0OGJmZGYxMDEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvcmVkaXJlY3QtY29ycy5weQpAQCAtMCwwICsxLDEwIEBACitkZWYgbWFp
bihyZXF1ZXN0LCByZXNwb25zZSk6CisgICAgbG9jYXRpb24gPSByZXF1ZXN0LkdFVC5maXJzdChi
ImxvY2F0aW9uIikKKyAgICByZXNwb25zZS5zdGF0dXMgPSAzMDIKKyAgICByZXNwb25zZS5oZWFk
ZXJzLnNldChiIkxvY2F0aW9uIiwgbG9jYXRpb24pCisKKyAgICBpZiBiImFsbG93X29yaWdpbiIg
aW4gcmVxdWVzdC5HRVQ6CisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNv
bnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5HRVQuZmlyc3QoYiJhbGxvd19vcmlnaW4iKSkK
KworICAgIGlmIGIidGltaW5nX2FsbG93X29yaWdpbiIgaW4gcmVxdWVzdC5HRVQ6CisgICAgICAg
IHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiVGltaW5nLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuR0VU
LmZpcnN0KGIidGltaW5nX2FsbG93X29yaWdpbiIpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vz
L3Jlc291cmNlLXRpbWluZy1jb250ZW50LWxlbmd0aC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9yZXNvdXJj
ZS10aW1pbmctY29udGVudC1sZW5ndGgucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmRiY2UwNDdiNzJlZjA1OTc2
ZDUyOTZlYTM4OTYxZTIwNWEwZjA0ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9y
ZXNvdXJjZS10aW1pbmctY29udGVudC1sZW5ndGgucHkKQEAgLTAsMCArMSwxOSBAQAorZGVmIG1h
aW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorICAgIGNvbnRlbnQgPSByZXF1ZXN0LkdFVC5maXJzdChi
ImNvbnRlbnQiKQorICAgIGxlbmd0aCA9IHJlcXVlc3QuR0VULmZpcnN0KGIibGVuZ3RoIikuZGVj
b2RlKCJhc2NpaSIpCisgICAgcmVzcG9uc2UuYWRkX3JlcXVpcmVkX2hlYWRlcnMgPSBGYWxzZQor
CisgICAgb3V0cHV0ID0gIGIiSFRUUC8xLjEgMjAwIE9LXHJcbiIKKyAgICBvdXRwdXQgKz0gYiJD
b250ZW50LVR5cGU6IHRleHQvcGxhaW47Y2hhcnNldD1VVEYtOFxyXG4iCisgICAgaWYgbGVuZ3Ro
ID09IGIiYXV0byIgOgorICAgICAgICBvdXRwdXQgKz0gYiJDb250ZW50LUxlbmd0aDoiCisgICAg
ICAgIG91dHB1dCArPSAiezB9Ii5mb3JtYXQobGVuKGNvbnRlbnQpKS5lbmNvZGUoImFzY2lpIikK
KyAgICAgICAgb3V0cHV0ICs9IGIiXHJcbiIKKyAgICBlbGlmIGxlbmd0aCAhPSBiIm5vbmUiIDoK
KyAgICAgICAgb3V0cHV0ICs9IGIiQ29udGVudC1MZW5ndGg6IgorICAgICAgICBvdXRwdXQgKz0g
InswfSIuZm9ybWF0KGxlbmd0aCkuZW5jb2RlKCJhc2NpaSIpCisgICAgICAgIG91dHB1dCArPSBi
IlxyXG4iCisgICAgb3V0cHV0ICs9IGIiXHJcbiIKKyAgICBvdXRwdXQgKz0gY29udGVudAorICAg
IHJlc3BvbnNlLndyaXRlci53cml0ZShvdXRwdXQpCisgICAgcmVzcG9uc2UuY2xvc2VfY29ubmVj
dGlvbiA9IFRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9yZXNvdXJjZV90aW1pbmdfdGVz
dDAueG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvcmVzb3VyY2VzL3Jlc291cmNlX3RpbWluZ190ZXN0MC54bWwKaW5kZXggYWRm
NjAxYzhhMTQ5YWI2M2Q0YWNiODI3MWFlOTI1YzYyOGM3NzU4Yi4uOTFjZDY3NmJlNmU2ZjFhZTJi
YWIzZGMxYTAwNTNkYTQ5MmI0MzUxNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3Jlc291cmNl
X3RpbWluZ190ZXN0MC54bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3Jlc291cmNlX3RpbWluZ190ZXN0
MC54bWwKQEAgLTEsNiArMSw2IEBACiA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08t
ODg1OS0xIj8+CiA8VEVTVERBVEE+CiAgICAgPElURU0+Ci0gICAgICAgIDxEQVRBPlRlc3QgWE1M
IERhdGE8L2RhdGE+Ci0gICAgPC9pdGVtPgotPC90ZXN0ZGF0YT4KKyAgICAgICAgPERBVEE+VGVz
dCBYTUwgRGF0YTwvREFUQT4KKyAgICA8L0lURU0+Cis8L1RFU1REQVRBPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VzL3NpemVzLWhlbHBlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9zaXplcy1oZWxwZXIu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODYzMzY2ODZiMzI5MDJlYzFjMTIzYjBmNTVmZjY3ZTlhYmE0MzA2Mgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9zaXplcy1oZWxwZXIuanMKQEAgLTAsMCAr
MSwxNiBAQAorLy8gSGVhZGVyIHNpemUgaXMgYSBmaXhlZCBjb25zdGFudC4KKy8vIGh0dHBzOi8v
dzNjLmdpdGh1Yi5pby9yZXNvdXJjZS10aW1pbmcvI2RvbS1wZXJmb3JtYW5jZXJlc291cmNldGlt
aW5nLXRyYW5zZmVyc2l6ZQorY29uc3QgaGVhZGVyU2l6ZSA9IDMwMDsKKworY29uc3QgY2FjaGVC
dXN0VXJsID0gdXJsID0+IHsKKyAgcmV0dXJuIHVybCArICcmdW5pcXVlPScgKyBNYXRoLnJhbmRv
bSgpLnRvU3RyaW5nKCkuc3Vic3RyaW5nKDIpOworfQorCitjb25zdCBjaGVja1NpemVGaWVsZHMg
PSAoZW50cnksIGJvZHlTaXplLCB0cmFuc2ZlclNpemUpID0+IHsKKyAgYXNzZXJ0X2VxdWFscyhl
bnRyeS5kZWNvZGVkQm9keVNpemUsIGJvZHlTaXplLAorICAgICAgICAgICAgICAgICdkZWNvZGVk
Qm9keVNpemUnKTsKKyAgYXNzZXJ0X2VxdWFscyhlbnRyeS5lbmNvZGVkQm9keVNpemUsIGJvZHlT
aXplLAorICAgICAgICAgICAgICAgICdlbmNvZGVkQm9keVNpemUnKTsKKyAgYXNzZXJ0X2VxdWFs
cyhlbnRyeS50cmFuc2ZlclNpemUsIHRyYW5zZmVyU2l6ZSwKKyAgICAgICAgICAgICAgICAndHJh
bnNmZXJTaXplJyk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvc3RhdHVzLWNvZGUucHkg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvc3RhdHVzLWNvZGUucHkKaW5kZXggOWJjMDJiZDM0Njc5ZWRkNjNmMDBk
YzQ2MTBjNDg1YjhkMTBjYTZkMy4uNzIyMjJiMzllNDg1NzRjNjY2MDUyYjJiYjRkNzAyOWZkNmJh
NTI2YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3N0YXR1cy1jb2RlLnB5CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlcy9zdGF0dXMtY29kZS5weQpAQCAtMSw0ICsxLDYgQEAKIGRlZiBtYWluKHJlcXVlc3Qs
IHJlc3BvbnNlKToKICAgICBzdGF0dXMgPSByZXF1ZXN0LkdFVC5maXJzdChiJ3N0YXR1cycpCiAg
ICAgcmVzcG9uc2Uuc3RhdHVzID0gKHN0YXR1cywgYiIiKTsKKyAgICBpZiBiJ3Rhb192YWx1ZScg
aW4gcmVxdWVzdC5HRVQ6CisgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiJ3RpbWluZy1hbGxv
dy1vcmlnaW4nLCByZXF1ZXN0LkdFVC5maXJzdChiJ3Rhb192YWx1ZScpKQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3dlYnBl
cmZ0ZXN0aGFybmVzcy5qcwppbmRleCA4ZTA0ZTUyZjljNTdmYWZiNmE1OTlkYTNhMTk2M2FhNmVk
NTQ1ZTZmLi44NjllZjNkNzRmNzdiNTg1ZTE0YWZjMDBhOGRjOTBiZTA5ZGI5NzBhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
cy93ZWJwZXJmdGVzdGhhcm5lc3MuanMKQEAgLTYyLDI2ICs2MiwyNiBAQCBmdW5jdGlvbiB0ZXN0
X25hbWVzcGFjZShjaGlsZF9uYW1lLCBza2lwX3Jvb3QpCiAgICAgaWYgKHNraXBfcm9vdCA9PT0g
dW5kZWZpbmVkKSB7CiAgICAgICAgIHZhciBtc2cgPSAnd2luZG93LnBlcmZvcm1hbmNlIGlzIGRl
ZmluZWQnOwogICAgICAgICAvLyBUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92
aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLgot
ICAgICAgICB3cF90ZXN0KGZ1bmN0aW9uICgpIHsgYXNzZXJ0X3RydWUocGVyZm9ybWFuY2VOYW1l
c3BhY2UgIT09IHVuZGVmaW5lZCwgbXNnKTsgfSwgbXNnKTsKKyAgICAgICAgd3BfdGVzdChmdW5j
dGlvbiAoKSB7IGFzc2VydF9ub3RfZXF1YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNlLCB1bmRlZmlu
ZWQsIG1zZyk7IH0sIG1zZyk7CiAgICAgfQogCiAgICAgaWYgKGNoaWxkX25hbWUgIT09IHVuZGVm
aW5lZCkgewogICAgICAgICB2YXIgbXNnMiA9ICd3aW5kb3cucGVyZm9ybWFuY2UuJyArIGNoaWxk
X25hbWUgKyAnIGlzIGRlZmluZWQnOwogICAgICAgICAvLyBUaGUgd2luZG93LnBlcmZvcm1hbmNl
IGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRl
ZCBhdHRyaWJ1dGVzLgotICAgICAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfdHJ1ZShw
ZXJmb3JtYW5jZU5hbWVzcGFjZVtjaGlsZF9uYW1lXSAhPT0gdW5kZWZpbmVkLCBtc2cyKTsgfSwg
bXNnMik7CisgICAgICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF9ub3RfZXF1YWxzKHBl
cmZvcm1hbmNlTmFtZXNwYWNlW2NoaWxkX25hbWVdLCB1bmRlZmluZWQsIG1zZzIpOyB9LCBtc2cy
KTsKICAgICB9CiB9CiAKIGZ1bmN0aW9uIHRlc3RfYXR0cmlidXRlX2V4aXN0cyhwYXJlbnRfbmFt
ZSwgYXR0cmlidXRlX25hbWUsIHByb3BlcnRpZXMpCiB7CiAgICAgdmFyIG1zZyA9ICd3aW5kb3cu
cGVyZm9ybWFuY2UuJyArIHBhcmVudF9uYW1lICsgJy4nICsgYXR0cmlidXRlX25hbWUgKyAnIGlz
IGRlZmluZWQuJzsKLSAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfdHJ1ZShwZXJmb3Jt
YW5jZU5hbWVzcGFjZVtwYXJlbnRfbmFtZV1bYXR0cmlidXRlX25hbWVdICE9PSB1bmRlZmluZWQs
IG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7CisgICAgd3BfdGVzdChmdW5jdGlvbigpIHsgYXNz
ZXJ0X25vdF9lcXVhbHMocGVyZm9ybWFuY2VOYW1lc3BhY2VbcGFyZW50X25hbWVdW2F0dHJpYnV0
ZV9uYW1lXSwgdW5kZWZpbmVkLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOwogfQogCiBmdW5j
dGlvbiB0ZXN0X2VudW0ocGFyZW50X25hbWUsIGVudW1fbmFtZSwgdmFsdWUsIHByb3BlcnRpZXMp
CiB7CiAgICAgdmFyIG1zZyA9ICd3aW5kb3cucGVyZm9ybWFuY2UuJyArIHBhcmVudF9uYW1lICsg
Jy4nICsgZW51bV9uYW1lICsgJyBpcyBkZWZpbmVkLic7Ci0gICAgd3BfdGVzdChmdW5jdGlvbigp
IHsgYXNzZXJ0X3RydWUocGVyZm9ybWFuY2VOYW1lc3BhY2VbcGFyZW50X25hbWVdW2VudW1fbmFt
ZV0gIT09IHVuZGVmaW5lZCwgbXNnKTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKKyAgICB3cF90ZXN0
KGZ1bmN0aW9uKCkgeyBhc3NlcnRfbm90X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZVtwYXJl
bnRfbmFtZV1bZW51bV9uYW1lXSwgdW5kZWZpbmVkLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMp
OwogCiAgICAgbXNnID0gJ3dpbmRvdy5wZXJmb3JtYW5jZS4nICsgcGFyZW50X25hbWUgKyAnLicg
KyBlbnVtX25hbWUgKyAnID0gJyArIHZhbHVlOwogICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFz
c2VydF9lcXVhbHMocGVyZm9ybWFuY2VOYW1lc3BhY2VbcGFyZW50X25hbWVdW2VudW1fbmFtZV0s
IHZhbHVlLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOwpAQCAtMTQ4LDcgKzE0OCw3IEBAIGZ1
bmN0aW9uIHRlc3RfZ3JlYXRlcl9vcl9lcXVhbHModmFsdWUsIGdyZWF0ZXJfdGhhbiwgbXNnLCBw
cm9wZXJ0aWVzKQogCiBmdW5jdGlvbiB0ZXN0X25vdF9lcXVhbHModmFsdWUsIG5vdGVxdWFscywg
bXNnLCBwcm9wZXJ0aWVzKQogewotICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF90cnVl
KHZhbHVlICE9PSBub3RlcXVhbHMsIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7CisgICAgd3Bf
dGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X25vdF9lcXVhbHModmFsdWUsIG5vdGVxdWFscywgbXNn
KTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKIH0KIAogZnVuY3Rpb24gdGVzdF90YW9fcGFzcyhlbnRy
eSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzc2V4dGVuc2lv
bi5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3NleHRlbnNpb24uanMKaW5kZXgg
OGJjNzRiZjgxMWU5MTZmM2E4MTFkNDZkZWUzNjMyYzk3MGMwNWJlNi4uZGMwMmMwNzViM2QwN2Y3
YzU3MTY0ZjBlYzI0YzMyYWRiNzZjMGRlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3dlYnBl
cmZ0ZXN0aGFybmVzc2V4dGVuc2lvbi5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvd2VicGVyZnRlc3Ro
YXJuZXNzZXh0ZW5zaW9uLmpzCkBAIC0xLDEyICsxLDYgQEAKLS8qCi1EaXN0cmlidXRlZCB1bmRl
ciBib3RoIHRoZSBXM0MgVGVzdCBTdWl0ZSBMaWNlbnNlIFsxXSBhbmQgdGhlIFczQwotMy1jbGF1
c2UgQlNEIExpY2Vuc2UgWzJdLiBUbyBjb250cmlidXRlIHRvIGEgVzNDIFRlc3QgU3VpdGUsIHNl
ZSB0aGUKLXBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgotCi1bMV0gaHR0cDov
L3d3dy53My5vcmcvQ29uc29ydGl1bS9MZWdhbC8yMDA4LzA0LXRlc3RzdWl0ZS1saWNlbnNlCi1b
Ml0gaHR0cDovL3d3dy53My5vcmcvQ29uc29ydGl1bS9MZWdhbC8yMDA4LzAzLWJzZC1saWNlbnNl
Ci1bM10gaHR0cDovL3d3dy53My5vcmcvMjAwNC8xMC8yNy10ZXN0Y2FzZXMKLSAqLworLy8KKy8v
IEhlbHBlciBmdW5jdGlvbnMgZm9yIFJlc291cmNlIFRpbWluZyB0ZXN0cworLy8KIAogdmFyIG1h
cmtfbmFtZXMgPSBbCiAgICAgJycsCkBAIC0yNyw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3RfbWV0
aG9kX2V4aXN0cyhtZXRob2QsIG1ldGhvZF9uYW1lLCBwcm9wZXJ0aWVzKQogICAgICAgICBtc2cg
PSAncGVyZm9ybWFuY2UuJyArIG1ldGhvZC5uYW1lICsgJyBpcyBzdXBwb3J0ZWQhJzsKICAgICBl
bHNlCiAgICAgICAgIG1zZyA9ICdwZXJmb3JtYW5jZS4nICsgbWV0aG9kX25hbWUgKyAnIGlzIHN1
cHBvcnRlZCEnOwotICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF90cnVlKHR5cGVvZiBt
ZXRob2QgPT09ICdmdW5jdGlvbicsIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7CisgICAgd3Bf
dGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X2VxdWFscyh0eXBlb2YgbWV0aG9kLCAnZnVuY3Rpb24n
LCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOwogfQogCiBmdW5jdGlvbiB0ZXN0X25vbGVzc190
aGFuKHZhbHVlLCBncmVhdGVyX3RoYW4sIG1zZywgcHJvcGVydGllcykKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3NhbWUtb3JpZ2luLWZyb20tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3NhbWUtb3JpZ2luLWZyb20tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMDVhNzZlZDljOTY3NDkxYTU0N2VhY2M3Y2UzZTY4ZjZkM2QxMzlkCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvc2FtZS1vcmlnaW4tZnJvbS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFZlcmlmeSB0aGF0IGNyb3NzIG9yaWdp
biByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIGV4cG9zZWQgd2hlbiB0aGUgZmluYWwgcmVzb3VyY2Ug
YXQgdGhlIGVuZCBvZiBhbiBIVFRQIHJlZGlyZWN0IGNoYWluIGlzIHNhbWUtb3JpZ2luLgorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9zYW1lLW9yaWdpbi1mcm9tLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvc2FtZS1vcmlnaW4tZnJvbS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44NzQwYjgxYjEzZmQ4YWE3YTI2OWExMGNmMmRkMzAyM2EwZmJjMmE1Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvc2FtZS1vcmlnaW4tZnJvbS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbApA
QCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5UaGlzIHRlc3QgdmFsaWRhdGVzIHJlc291cmNlIHRp
bWluZyBpbmZvcm1hdGlvbiBmb3IgYSBzYW1lLW9yaWdpbgorcmVzb3VyY2UgZmV0Y2hlZCB0aHJv
dWdoIGEgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0IGNoYWluLjwvdGl0bGU+Cis8bGluayByZWw9ImF1
dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cHM6Ly9nb29nbGUuY29tLyIgLz4KKzxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0y
LyNzZWMtcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhv
c3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJj
ZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnktaW52
YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citjb25zdCB7
SFRUUF9SRU1PVEVfT1JJR0lOfSA9IGdldF9ob3N0X2luZm8oKTsKK2xldCBkZXN0VXJsID0gYCR7
SFRUUF9SRU1PVEVfT1JJR0lOfS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRpX3JlZGly
ZWN0LnB5P2A7CitkZXN0VXJsICs9IGBwYWdlX29yaWdpbj1odHRwOi8vJHtkb2N1bWVudC5sb2Nh
dGlvbi5ob3N0fWA7CitkZXN0VXJsICs9IGAmY3Jvc3Nfb3JpZ2luPSR7SFRUUF9SRU1PVEVfT1JJ
R0lOfWA7CitkZXN0VXJsICs9IGAmZmluYWxfcmVzb3VyY2U9L3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZXMvYmxhbmstd2l0aC10YW8uaHRtbGA7CisKK2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLmlm
cmFtZSwgZGVzdFVybCwKKyAgaW52YXJpYW50cy5hc3NlcnRfc2FtZV9vcmlnaW5fcmVkaXJlY3Rl
ZF9mcm9tX2Nyb3NzX29yaWdpbl9yZXNvdXJjZSwKKyAgIlZlcmlmeSB0aGF0IGNyb3NzIG9yaWdp
biByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIGV4cG9zZWQgd2hlbiB0aGUgZmluYWwgIiArCisgICJy
ZXNvdXJjZSBhdCB0aGUgZW5kIG9mIGFuIEhUVFAgcmVkaXJlY3QgY2hhaW4gaXMgc2FtZS1vcmln
aW4uIik7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6
ZXMtY2FjaGUuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMtY2FjaGUuYW55LmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmNzBl
NWE2ZGVkM2U2M2QxNThmZDkyOWZlYWNmMDgyN2IzY2FmYzkKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9zaXplcy1jYWNoZS5hbnkuanMKQEAgLTAsMCArMSw1NSBAQAorLy8gTUVUQTogZ2xvYmFsPXdp
bmRvdyx3b3JrZXIKKy8vIE1FVEE6IHNjcmlwdD0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9z
aXplcy1oZWxwZXIuanMKKy8vIE1FVEE6IHNjcmlwdD0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
cy9yZXNvdXJjZS1sb2FkZXJzLmpzCisKK2xldCB1cmwgPSBuZXcgVVJMKAorICAnL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvY2FjaGVhYmxlLWFuZC12YWxpZGF0ZWQucHknICsKKyAgJz9jb250
ZW50PWxvcmVtaXBzdW1ibGFibGFibGEnLAorICBsb2NhdGlvbi5ocmVmKS5ocmVmOworY29uc3Qg
Ym9keVNpemUgPSAxOTsKKworY29uc3QgYWNjdW11bGF0ZUVudHJpZXMgPSAoKSA9PiB7CisgIHJl
dHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBjb25zdCBwbyA9IG5ldyBQZXJmb3Jt
YW5jZU9ic2VydmVyKGxpc3QgPT4geworICAgICAgcmVzb2x2ZShsaXN0KTsKKyAgICB9KTsKKyAg
ICBwby5vYnNlcnZlKHt0eXBlOiAicmVzb3VyY2UiLCBidWZmZXJlZDogdHJ1ZX0pOworICB9KTsK
K307CisKK2NvbnN0IGNoZWNrUmVzb3VyY2VTaXplcyA9IGxpc3QgPT4geworICBjb25zdCBlbnRy
aWVzID0gbGlzdC5nZXRFbnRyaWVzQnlOYW1lKHVybCk7CisgIGFzc2VydF9lcXVhbHMoZW50cmll
cy5sZW5ndGgsIDMsICdXcm9uZyBudW1iZXIgb2YgZW50cmllcycpOworICBsZXQgc2VlbkNvdW50
ID0gMDsKKyAgZm9yIChsZXQgZW50cnkgb2YgZW50cmllcykgeworICAgIGlmIChzZWVuQ291bnQg
PT09IDApIHsKKyAgICAgIC8vIDIwMCByZXNwb25zZQorICAgICAgY2hlY2tTaXplRmllbGRzKGVu
dHJ5LCBib2R5U2l6ZSwgYm9keVNpemUgKyBoZWFkZXJTaXplKTsKKyAgICB9IGVsc2UgaWYgKHNl
ZW5Db3VudCA9PT0gMSkgeworICAgICAgLy8gZnJvbSBjYWNoZQorICAgICAgY2hlY2tTaXplRmll
bGRzKGVudHJ5LCBib2R5U2l6ZSwgMCk7CisgICAgfSBlbHNlIGlmIChzZWVuQ291bnQgPT09IDIp
IHsKKyAgICAgIC8vIDMwNCByZXNwb25zZQorICAgICAgY2hlY2tTaXplRmllbGRzKGVudHJ5LCBi
b2R5U2l6ZSwgaGVhZGVyU2l6ZSk7CisgICAgfSBlbHNlIHsKKyAgICAgIGFzc2VydF91bnJlYWNo
ZWQoJ1RvbyBtYW55IG1hdGNoaW5nIGVudHJpZXMnKTsKKyAgICB9CisgICAgKytzZWVuQ291bnQ7
CisgIH0KK307CisKK3Byb21pc2VfdGVzdCgoKSA9PiB7CisgIC8vIFVzZSBhIGRpZmZlcmVudCBV
UkwgZXZlcnkgdGltZSBzbyB0aGF0IHRoZSBjYWNoZSBiZWhhdmlvdXIgZG9lcyBub3QKKyAgLy8g
ZGVwZW5kIG9uIGV4ZWN1dGlvbiBvcmRlci4KKyAgdXJsID0gbG9hZC5jYWNoZV9idXN0KHVybCk7
CisgIGNvbnN0IGVhdEJvZHkgPSByZXNwb25zZSA9PiByZXNwb25zZS5hcnJheUJ1ZmZlcigpOwor
ICBjb25zdCBtdXN0UmV2YWxpZGF0ZSA9IHtoZWFkZXJzOiB7J0NhY2hlLUNvbnRyb2wnOiAnbWF4
LWFnZT0wJ319OworICByZXR1cm4gZmV0Y2godXJsKQorICAgIC50aGVuKGVhdEJvZHkpCisgICAg
LnRoZW4oKCkgPT4gZmV0Y2godXJsKSkKKyAgICAudGhlbihlYXRCb2R5KQorICAgIC50aGVuKCgp
ID0+IGZldGNoKHVybCwgbXVzdFJldmFsaWRhdGUpKQorICAgIC50aGVuKGVhdEJvZHkpCisgICAg
LnRoZW4oYWNjdW11bGF0ZUVudHJpZXMpCisgICAgLnRoZW4oY2hlY2tSZXNvdXJjZVNpemVzKTsK
K30sICdQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIHNpemVzIGNhY2hpbmcgdGVzdCcpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3QtaW1nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLXJl
ZGlyZWN0LWltZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTkwMzIxOTYyMGFlNjVkMmFiODhj
YzIzMDhjZGViNDcxN2JlM2UyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLXJlZGlyZWN0
LWltZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACisKK1BBU1MgUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZyBzaXplcyByZWRpcmVjdCBpbWFnZSAtIGRpcmVjdCBVUkwKK1BBU1MgUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZyBzaXplcyByZWRpcmVjdCBpbWFnZSAtIHNhbWUgb3JpZ2luIHJl
ZGlyZWN0CitQQVNTIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgc2l6ZXMgcmVkaXJlY3QgaW1h
Z2UgLSBjcm9zcyBvcmlnaW4gcmVkaXJlY3QKK1BBU1MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
ZyBzaXplcyByZWRpcmVjdCBpbWFnZSAtIGNyb3NzIG9yaWdpbiB0byBzYW1lIG9yaWdpbiByZWRp
cmVjdAorUEFTUyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIHNpemVzIHJlZGlyZWN0IGltYWdl
IC0gc2FtZSBvcmlnaW4gdG8gcmVtb3RlIG9yaWdpbiB0byBzYW1lIG9yaWdpbiByZWRpcmVjdAor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC1pbWcuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLXJlZGly
ZWN0LWltZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc4NjAxOGQwYzQ2MzRjM2Q4YzZkZjJjNDAwM2IyMDFl
NmU0YmM0ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC1pbWcuaHRtbApA
QCAtMCwwICsxLDU3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0
LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2l6ZXMtaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVy
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFudHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKy8vIFJlZGlyZWN0cyBmb3IgZmV0Y2goKSBhbHdheXMg
YXBwbHkgQ09SUyBydWxlcywgd2hlcmVhcyBub3JtYWwgcmVzb3VyY2VzCisvLyBkb24ndCwgc28g
dGhpcyB0ZXN0IGNvdmVycyBleHRyYSBjb2RlIHBhdGhzIGJleW9uZCB0aG9zZSBjb3ZlcmVkIGJ5
CisvLyByZXNvdXJjZS10aW1pbmctc2l6ZXMtcmVkaXJlY3QuaHRtbC4KKworY29uc3QgYmFzZVVy
bCA9IG5ldyBVUkwoJy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL1RBT1Jlc3BvbnNlLnB5P3Rh
bz13aWxkY2FyZCZpbWc9dHJ1ZScsIGxvY2F0aW9uLmhyZWYpLmhyZWY7CisKK2NvbnN0IGV4cGVj
dGVkU2l6ZSA9IDEwMTA7CisKK2NvbnN0IGhvc3RJbmZvID0gZ2V0X2hvc3RfaW5mbygpOworCitj
b25zdCByZWRpcmVjdFVybCA9IChyZWRpcmVjdFNvdXJjZU9yaWdpbiwgdGFyZ2V0VXJsKSA9PiB7
CisgIHJldHVybiByZWRpcmVjdFNvdXJjZU9yaWdpbiArCisgICAgJy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL3JlZGlyZWN0LWNvcnMucHk/dGltaW5nX2FsbG93X29yaWdpbj0qJyArCisgICAg
JyZsb2NhdGlvbj0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHRhcmdldFVybCk7Cit9OworCitjb25z
dCB2ZXJpZnlfZW50cnkgPSBlbnRyeSA9PiB7CisgIGNoZWNrU2l6ZUZpZWxkcyhlbnRyeSwgZXhw
ZWN0ZWRTaXplLCBleHBlY3RlZFNpemUgKyBoZWFkZXJTaXplKTsKK307CisKK2F0dHJpYnV0ZV90
ZXN0KGxvYWQuaW1hZ2UsIGJhc2VVcmwsCisgIHZlcmlmeV9lbnRyeSwKKyAgIlBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcgc2l6ZXMgcmVkaXJlY3QgaW1hZ2UgLSBkaXJlY3QgVVJMIik7CisKK2F0
dHJpYnV0ZV90ZXN0KGxvYWQuaW1hZ2UsCisgIHJlZGlyZWN0VXJsKGhvc3RJbmZvLkhUVFBfT1JJ
R0lOLCBiYXNlVXJsKSwKKyAgdmVyaWZ5X2VudHJ5LAorICAiUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZyBzaXplcyByZWRpcmVjdCBpbWFnZSAtIHNhbWUgb3JpZ2luIHJlZGlyZWN0Iik7CisKK2F0
dHJpYnV0ZV90ZXN0KGxvYWQuaW1hZ2UsCisgIHJlZGlyZWN0VXJsKGhvc3RJbmZvLkhUVFBfUkVN
T1RFX09SSUdJTiwgYmFzZVVybCksCisgIHZlcmlmeV9lbnRyeSwKKyAgIlBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcgc2l6ZXMgcmVkaXJlY3QgaW1hZ2UgLSBjcm9zcyBvcmlnaW4gcmVkaXJlY3Qi
KTsKKworYXR0cmlidXRlX3Rlc3QobG9hZC5pbWFnZSwKKyAgcmVkaXJlY3RVcmwoaG9zdEluZm8u
SFRUUF9SRU1PVEVfT1JJR0lOLAorICAgIHJlZGlyZWN0VXJsKGhvc3RJbmZvLkhUVFBfT1JJR0lO
LCBiYXNlVXJsKSksCisgIHZlcmlmeV9lbnRyeSwKKyAgIlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcgc2l6ZXMgcmVkaXJlY3QgaW1hZ2UgLSBjcm9zcyBvcmlnaW4gdG8gc2FtZSBvcmlnaW4gcmVk
aXJlY3QiKTsKKworYXR0cmlidXRlX3Rlc3QobG9hZC5pbWFnZSwKKyAgcmVkaXJlY3RVcmwoaG9z
dEluZm8uSFRUUF9PUklHSU4sCisgICAgcmVkaXJlY3RVcmwoaG9zdEluZm8uSFRUUF9SRU1PVEVf
T1JJR0lOLAorICAgICAgcmVkaXJlY3RVcmwoaG9zdEluZm8uSFRUUF9PUklHSU4sCisgICAgICAg
IGJhc2VVcmwpKSksCisgIHZlcmlmeV9lbnRyeSwKKyAgIlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcgc2l6ZXMgcmVkaXJlY3QgaW1hZ2UgLSBzYW1lIG9yaWdpbiB0byByZW1vdGUgIiArCisgICJv
cmlnaW4gdG8gc2FtZSBvcmlnaW4gcmVkaXJlY3QiKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvc2l6ZXMtcmVkaXJlY3QuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3QuYW55LmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmU0ODNhNGQ0MDljNmMyZGVlZTczZmEyMTNkNjk4Yjk1Yjg2NWQwYzgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC5hbnkuanMKQEAgLTAsMCArMSw2MiBAQAorLy8g
TUVUQTogZ2xvYmFsPXdpbmRvdyx3b3JrZXIKKy8vIE1FVEE6IHNjcmlwdD0vY29tbW9uL2dldC1o
b3N0LWluZm8uc3ViLmpzCisvLyBNRVRBOiBzY3JpcHQ9L3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZXMvc2l6ZXMtaGVscGVyLmpzCisKK2NvbnN0IGJhc2VVcmwgPQorICBuZXcgVVJMKCcvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy9UQU9SZXNwb25zZS5weT90YW89d2lsZGNhcmQnLCBsb2NhdGlv
bi5ocmVmKS5ocmVmOworY29uc3QgZXhwZWN0ZWRTaXplID0gNDsKKworY29uc3QgaG9zdEluZm8g
PSBnZXRfaG9zdF9pbmZvKCk7CitwZXJmb3JtYW5jZS5jbGVhclJlc291cmNlVGltaW5ncygpOwor
Citjb25zdCBhY2N1bXVsYXRlRW50cnkgPSAoKSA9PiB7CisgIHJldHVybiBuZXcgUHJvbWlzZShy
ZXNvbHZlID0+IHsKKyAgICBjb25zdCBwbyA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGxpc3Qg
PT4geworICAgICAgcmVzb2x2ZShsaXN0KTsKKyAgICB9KTsKKyAgICBwby5vYnNlcnZlKHt0eXBl
OiAicmVzb3VyY2UiLCBidWZmZXJlZDogdHJ1ZX0pOworICB9KTsKK307CisKK2NvbnN0IGNoZWNr
UmVzb3VyY2VTaXplcyA9ICgpID0+IHsKKyAgY29uc3QgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdl
dEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7CisgIGZvciAobGV0IGVudHJ5IG9mIGVudHJpZXMp
IHsKKyAgICBjaGVja1NpemVGaWVsZHMoZW50cnksIGV4cGVjdGVkU2l6ZSwgZXhwZWN0ZWRTaXpl
ICsgaGVhZGVyU2l6ZSk7CisgIH0KK30KKworY29uc3QgcmVkaXJlY3RVcmwgPSAocmVkaXJlY3RT
b3VyY2VPcmlnaW4sIGFsbG93T3JpZ2luLCB0YXJnZXRVcmwpID0+IHsKKyAgcmV0dXJuIHJlZGly
ZWN0U291cmNlT3JpZ2luICsKKyAgICAnL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVkaXJl
Y3QtY29ycy5weT9hbGxvd19vcmlnaW49JyArCisgICAgZW5jb2RlVVJJQ29tcG9uZW50KGFsbG93
T3JpZ2luKSArCisgICAgJyZ0aW1pbmdfYWxsb3dfb3JpZ2luPSonICsKKyAgICAnJmxvY2F0aW9u
PScgKyBlbmNvZGVVUklDb21wb25lbnQodGFyZ2V0VXJsKTsKK30KKworcHJvbWlzZV90ZXN0KCgp
ID0+IHsKKyAgLy8gVXNlIGEgZGlmZmVyZW50IFVSTCBldmVyeSB0aW1lIHNvIHRoYXQgdGhlIGNh
Y2hlIGJlaGF2aW91ciBkb2VzIG5vdAorICAvLyBkZXBlbmQgb24gZXhlY3V0aW9uIG9yZGVyLgor
ICBjb25zdCBkaXJlY3RVcmwgPSBjYWNoZUJ1c3RVcmwoYmFzZVVybCk7CisgIGNvbnN0IHNhbWVP
cmlnaW5SZWRpcmVjdCA9IHJlZGlyZWN0VXJsKGhvc3RJbmZvLk9SSUdJTiwgJyonLCBkaXJlY3RV
cmwpOworICBjb25zdCBjcm9zc09yaWdpblJlZGlyZWN0ID0gcmVkaXJlY3RVcmwoaG9zdEluZm8u
UkVNT1RFX09SSUdJTiwKKyAgICBob3N0SW5mby5PUklHSU4sIGRpcmVjdFVybCk7CisgIGNvbnN0
IG1peGVkUmVkaXJlY3QgPSByZWRpcmVjdFVybChob3N0SW5mby5SRU1PVEVfT1JJR0lOLAorICAg
IGhvc3RJbmZvLk9SSUdJTiwgc2FtZU9yaWdpblJlZGlyZWN0KTsKKyAgY29uc3QgY29tcGxleFJl
ZGlyZWN0ID0gcmVkaXJlY3RVcmwoaG9zdEluZm8uT1JJR0lOLAorICAgIGhvc3RJbmZvLlJFTU9U
RV9PUklHSU4sIG1peGVkUmVkaXJlY3QpOworICBsZXQgZWF0Qm9keSA9IHJlc3BvbnNlID0+IHJl
c3BvbnNlLmFycmF5QnVmZmVyKCk7CisgIHJldHVybiBmZXRjaChkaXJlY3RVcmwpCisgICAgLnRo
ZW4oZWF0Qm9keSkKKyAgICAudGhlbigoKSA9PiBmZXRjaChzYW1lT3JpZ2luUmVkaXJlY3QpKQor
ICAgIC50aGVuKGVhdEJvZHkpCisgICAgLnRoZW4oKCkgPT4gZmV0Y2goY3Jvc3NPcmlnaW5SZWRp
cmVjdCkpCisgICAgLnRoZW4oZWF0Qm9keSkKKyAgICAudGhlbigoKSA9PiBmZXRjaChtaXhlZFJl
ZGlyZWN0KSkKKyAgICAudGhlbihlYXRCb2R5KQorICAgIC50aGVuKCgpID0+IGZldGNoKGNvbXBs
ZXhSZWRpcmVjdCkpCisgICAgLnRoZW4oZWF0Qm9keSkKKyAgICAudGhlbihhY2N1bXVsYXRlRW50
cnkpCisgICAgLnRoZW4oY2hlY2tSZXNvdXJjZVNpemVzKTsKK30sICdQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nIHNpemVzIEZldGNoIHdpdGggcmVkaXJlY3QgdGVzdCcpOworCitkb25lKCk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9zdGF0dXMtY29kZXMtY3JlYXRlLWVudHJ5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zdGF0dXMt
Y29kZXMtY3JlYXRlLWVudHJ5Lmh0bWwKaW5kZXggYzMxNTA1YTQ1MmRhNmI2YWYxNDZmZWJjZDE1
Y2E2MmZmMTg2YTc2Ny4uY2MwY2Q4Y2NiODgyNTAzMzExODZjMzg1NTRiMDlmZjg1MTVjYWNlZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvc3RhdHVzLWNvZGVzLWNyZWF0ZS1lbnRyeS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3N0
YXR1cy1jb2Rlcy1jcmVhdGUtZW50cnkuaHRtbApAQCAtMTgsMTMgKzE4LDE3IEBAIGFzeW5jX3Rl
c3QodCA9PiB7CiAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgdC5zdGVwX2Z1bmNf
ZG9uZSgoKSA9PiB7CiAgICAgY29uc3QgaW1hZ2VzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRh
Z05hbWUoImltZyIpOwogICAgIGZvciAobGV0IGltZyBvZiBpbWFnZXMpIHsKLSAgICAgIGFzc2Vy
dF9ncmVhdGVyX3RoYW4ocGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZShpbWcuc3JjKS5sZW5n
dGgsIDAsIGltZy5zcmMpOworICAgICAgY29uc3QgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVu
dHJpZXNCeU5hbWUoaW1nLnNyYyk7CisgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKGVudHJpZXMu
bGVuZ3RoLCAwLCBpbWcuc3JjKTsKKyAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oZW50cmllc1sw
XS5kdXJhdGlvbiwgMCwgaW1nLnNyYyk7CiAgICAgfQogICAgIGNvbnN0IHNjcmlwdHMgPSBkb2N1
bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0Iik7CiAgICAgbGV0IG5vU3JjU2NyaXB0
Rm91bmQgPSBmYWxzZTsKICAgICBmb3IgKGxldCBzY3JpcHQgb2Ygc2NyaXB0cykgewogICAgICAg
aWYgKHNjcmlwdC5zcmMpIHsKLSAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihwZXJmb3JtYW5j
ZS5nZXRFbnRyaWVzQnlOYW1lKHNjcmlwdC5zcmMpLmxlbmd0aCwgMCwgc2NyaXB0LnNyYyk7Cisg
ICAgICAgIGNvbnN0IGVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKHNjcmlw
dC5zcmMpOworICAgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKGVudHJpZXMubGVuZ3RoLCAwLCBz
Y3JpcHQuc3JjKTsKKyAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihlbnRyaWVzWzBdLmR1cmF0
aW9uLCAwLCBzY3JpcHQuc3JjKTsKICAgICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIElnbm9yZSB0
aGlzIHNjcmlwdCwgd2hpY2ggaGFzIG5vIHNyYyB2YWx1ZS4gVGhlcmUgc2hvdWxkIG9ubHkgYmUg
b25lIHN1Y2ggc2NyaXB0LgogICAgICAgICBhc3NlcnRfZmFsc2Uobm9TcmNTY3JpcHRGb3VuZCk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy90ZXN0X3Jlc291cmNlX3RpbWluZy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy90
ZXN0X3Jlc291cmNlX3RpbWluZy1leHBlY3RlZC50eHQKaW5kZXggMjAwNDhhNThjYmZhYzI5Zjgx
ZjA0OWQ4NjhlMjY0NGE0ZTAwMzM3OS4uZDZjYzExZDE0MzNhNWY0NWFkOGYzZTMzZjA3YTc5ZGQ2
NmZlOTM2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90aW1pbmctZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Rlc3RfcmVzb3VyY2VfdGltaW5nLWV4cGVjdGVkLnR4dApAQCAtNiwyOCArNiwy
OCBAQCBOT1RFOiBEdWUgdG8gY2FjaGluZyBiZWhhdmlvciBpbiB0aGUgYnJvd3NlciwgaXQgaXMg
cG9zc2libGUgdGhhdCB3aGVuIHJldmlzaXRpbgogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0
RW50cmllc0J5TmFtZSgpIGFuZCB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZVR5
cGUoKSByZXR1cm4gc2FtZSBkYXRhIChpZnJhbWUpCiBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFz
IGNvcnJlY3QgbmFtZSwgaW5pdGlhdG9yVHlwZSwgc3RhcnRUaW1lLCBhbmQgZHVyYXRpb24gKGlm
cmFtZSkKIFBBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBvcmRlciBvZiB0aW1pbmcg
YXR0cmlidXRlcyAoaWZyYW1lKQotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5l
dHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAoaWZyYW1lKSBhc3NlcnRfZXF1YWxzOiBlbmNvZGVk
Qm9keVNpemUgc2l6ZSBleHBlY3RlZCAobnVtYmVyKSAyMTUgYnV0IGdvdCAodW5kZWZpbmVkKSB1
bmRlZmluZWQKLUZBSUwgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBwcm90b2NvbCBhdHRy
aWJ1dGUgKGlmcmFtZSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgcHJvdG9jb2wgZXhwZWN0ZWQg
KHN0cmluZykgImh0dHAvMS4xIiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorUEFTUyBQ
ZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAo
aWZyYW1lKQorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0dHJp
YnV0ZSAoaWZyYW1lKQogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgp
IGFuZCB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZVR5cGUoKSByZXR1cm4gc2Ft
ZSBkYXRhIChpbWcpCiBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmFtZSwgaW5p
dGlhdG9yVHlwZSwgc3RhcnRUaW1lLCBhbmQgZHVyYXRpb24gKGltZykKIFBBU1MgUGVyZm9ybWFu
Y2VFbnRyeSBoYXMgY29ycmVjdCBvcmRlciBvZiB0aW1pbmcgYXR0cmlidXRlcyAoaW1nKQotRkFJ
TCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRl
cyAoaW1nKSBhc3NlcnRfZXF1YWxzOiBlbmNvZGVkQm9keVNpemUgc2l6ZSBleHBlY3RlZCAobnVt
YmVyKSAyNDkgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgUGVyZm9ybWFuY2VF
bnRyeSBoYXMgY29ycmVjdCBwcm90b2NvbCBhdHRyaWJ1dGUgKGltZykgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgcHJvdG9jb2wgZXhwZWN0ZWQgKHN0cmluZykgImh0dHAvMS4xIiBidXQgZ290ICh1
bmRlZmluZWQpIHVuZGVmaW5lZAorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5l
dHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAoaW1nKQorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhh
cyBjb3JyZWN0IHByb3RvY29sIGF0dHJpYnV0ZSAoaW1nKQogUEFTUyB3aW5kb3cucGVyZm9ybWFu
Y2UuZ2V0RW50cmllc0J5TmFtZSgpIGFuZCB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5
TmFtZVR5cGUoKSByZXR1cm4gc2FtZSBkYXRhIChsaW5rKQogUEFTUyBQZXJmb3JtYW5jZUVudHJ5
IGhhcyBjb3JyZWN0IG5hbWUsIGluaXRpYXRvclR5cGUsIHN0YXJ0VGltZSwgYW5kIGR1cmF0aW9u
IChsaW5rKQogUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG9yZGVyIG9mIHRpbWlu
ZyBhdHRyaWJ1dGVzIChsaW5rKQotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5l
dHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAobGluaykgYXNzZXJ0X2VxdWFsczogZW5jb2RlZEJv
ZHlTaXplIHNpemUgZXhwZWN0ZWQgKG51bWJlcikgNDQgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRl
ZmluZWQKLUZBSUwgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBwcm90b2NvbCBhdHRyaWJ1
dGUgKGxpbmspIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIHByb3RvY29sIGV4cGVjdGVkIChzdHJp
bmcpICJodHRwLzEuMSIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKK1BBU1MgUGVyZm9y
bWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuZXR3b3JrIHRyYW5zZmVyIGF0dHJpYnV0ZXMgKGxpbmsp
CitQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgcHJvdG9jb2wgYXR0cmlidXRlIChs
aW5rKQogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgpIGFuZCB3aW5k
b3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZVR5cGUoKSByZXR1cm4gc2FtZSBkYXRhIChz
Y3JpcHQpCiBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmFtZSwgaW5pdGlhdG9y
VHlwZSwgc3RhcnRUaW1lLCBhbmQgZHVyYXRpb24gKHNjcmlwdCkKIFBBU1MgUGVyZm9ybWFuY2VF
bnRyeSBoYXMgY29ycmVjdCBvcmRlciBvZiB0aW1pbmcgYXR0cmlidXRlcyAoc2NyaXB0KQotRkFJ
TCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRl
cyAoc2NyaXB0KSBhc3NlcnRfZXF1YWxzOiBlbmNvZGVkQm9keVNpemUgc2l6ZSBleHBlY3RlZCAo
bnVtYmVyKSAxMzMgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgUGVyZm9ybWFu
Y2VFbnRyeSBoYXMgY29ycmVjdCBwcm90b2NvbCBhdHRyaWJ1dGUgKHNjcmlwdCkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgcHJvdG9jb2wgZXhwZWN0ZWQgKHN0cmluZykgImh0dHAvMS4xIiBidXQg
Z290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3Jy
ZWN0IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAoc2NyaXB0KQorUEFTUyBQZXJmb3JtYW5j
ZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0dHJpYnV0ZSAoc2NyaXB0KQogUEFTUyB3aW5k
b3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgpIGFuZCB3aW5kb3cucGVyZm9ybWFuY2Uu
Z2V0RW50cmllc0J5TmFtZVR5cGUoKSByZXR1cm4gc2FtZSBkYXRhICh4bWxodHRwcmVxdWVzdCkK
IFBBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuYW1lLCBpbml0aWF0b3JUeXBlLCBz
dGFydFRpbWUsIGFuZCBkdXJhdGlvbiAoeG1saHR0cHJlcXVlc3QpCiBQQVNTIFBlcmZvcm1hbmNl
RW50cnkgaGFzIGNvcnJlY3Qgb3JkZXIgb2YgdGltaW5nIGF0dHJpYnV0ZXMgKHhtbGh0dHByZXF1
ZXN0KQotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdvcmsgdHJhbnNmZXIg
YXR0cmlidXRlcyAoeG1saHR0cHJlcXVlc3QpIGFzc2VydF9lcXVhbHM6IGVuY29kZWRCb2R5U2l6
ZSBzaXplIGV4cGVjdGVkIChudW1iZXIpIDExMiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5l
ZAotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0dHJpYnV0ZSAo
eG1saHR0cHJlcXVlc3QpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIHByb3RvY29sIGV4cGVjdGVk
IChzdHJpbmcpICJodHRwLzEuMSIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKK1BBU1Mg
UGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuZXR3b3JrIHRyYW5zZmVyIGF0dHJpYnV0ZXMg
KHhtbGh0dHByZXF1ZXN0KQorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IHByb3Rv
Y29sIGF0dHJpYnV0ZSAoeG1saHR0cHJlcXVlc3QpCiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBS
ZXNvdXJjZSBUaW1pbmcgRW50cmllcyBleGlzdAogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgUmVz
b3VyY2UgVGltaW5nIEVudHJpZXMgZXhpc3QgMQogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgUmVz
b3VyY2UgVGltaW5nIEVudHJpZXMgZXhpc3QgMgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJj
ZV90aW1pbmcuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90aW1pbmcuaHR0
cHMtZXhwZWN0ZWQudHh0CmluZGV4IGNlYTBmMWNiMmFhYjllY2U0OTJlZjNiZGY0Mzc0MTIyZDU1
Mjk3NDAuLmQ2Y2MxMWQxNDMzYTVmNDVhZDhmM2UzM2YwN2E3OWRkNjZmZTkzNmIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL3Rlc3RfcmVzb3VyY2VfdGltaW5nLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy90
ZXN0X3Jlc291cmNlX3RpbWluZy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTI2LDcgKzI2LDcgQEAg
UEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0dHJpYnV0ZSAoc2Ny
aXB0KQogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgpIGFuZCB3aW5k
b3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZVR5cGUoKSByZXR1cm4gc2FtZSBkYXRhICh4
bWxodHRwcmVxdWVzdCkKIFBBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuYW1lLCBp
bml0aWF0b3JUeXBlLCBzdGFydFRpbWUsIGFuZCBkdXJhdGlvbiAoeG1saHR0cHJlcXVlc3QpCiBQ
QVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3Qgb3JkZXIgb2YgdGltaW5nIGF0dHJpYnV0
ZXMgKHhtbGh0dHByZXF1ZXN0KQotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5l
dHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAoeG1saHR0cHJlcXVlc3QpIGFzc2VydF9lcXVhbHM6
IGVuY29kZWRCb2R5U2l6ZSBzaXplIGV4cGVjdGVkIDExMiBidXQgZ290IDEyMAorUEFTUyBQZXJm
b3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAoeG1s
aHR0cHJlcXVlc3QpCiBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgcHJvdG9jb2wg
YXR0cmlidXRlICh4bWxodHRwcmVxdWVzdCkKIFBBU1Mgd2luZG93LnBlcmZvcm1hbmNlIFJlc291
cmNlIFRpbWluZyBFbnRyaWVzIGV4aXN0CiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBSZXNvdXJj
ZSBUaW1pbmcgRW50cmllcyBleGlzdCAxCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy93b3JrZXJTdGFydC10YW8t
cHJvdGVjdGVkLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy93b3JrZXJTdGFydC10YW8tcHJvdGVjdGVkLmh0dHBz
Lmh0bWwKaW5kZXggZjliNTBmNzAzNjBkZDZlMDk5MDhiYzJkODFkZmYxMzczNWFhZDIzNi4uNDg1
NmY0NjdmMTZmNmUzODIxZDQ4ZWE3NTQyZDE1NGIzZGU1M2JkNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvd29y
a2VyU3RhcnQtdGFvLXByb3RlY3RlZC5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3dvcmtlclN0YXJ0LXRh
by1wcm90ZWN0ZWQuaHR0cHMuaHRtbApAQCAtNDAsNyArNDAsNyBAQCBwcm9taXNlX3Rlc3QodCA9
PiB7CiAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihsaXN0ID0+
IHsKICAgICAgIGNvbnN0IGVudHJpZXMgPSBsaXN0LmdldEVudHJpZXMoKTsKICAgICAgIGZvciAo
ZW50cnkgb2YgZW50cmllcykgewotICAgICAgICBpZiAoZW50cnkubmFtZS5pbmNsdWRlcygiYmxh
bmtfcGFnZV9ncmVlbi5odG0iKSkgeworICAgICAgICBpZiAoZW50cnkubmFtZS5pbmNsdWRlcygi
Z3JlZW4uaHRtbCIpKSB7CiAgICAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOwogICAgICAg
ICAgIC8vIE9ic2VydmUgaXRzIHBlcmZvcm1hbmNlIGVudHJ5IHRvIG1ha2Ugc3VyZSB3b3JrZXJT
dGFydCBpcyB6ZXJvCiAgICAgICAgICAgaWYgKGVudHJ5LndvcmtlclN0YXJ0ICE9IDApIHsKQEAg
LTUxLDcgKzUxLDcgQEAgcHJvbWlzZV90ZXN0KHQgPT4gewogICAgICAgfQogICAgIH0pOwogICAg
IG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsicmVzb3VyY2UiXX0pOwotICAgIGFkZEZy
YW1lKGhvc3RfaW5mby5IVFRQU19SRU1PVEVfT1JJR0lOICsgIi9yZXNvdXJjZS10aW1pbmcvcmVz
b3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRtIik7CisgICAgYWRkRnJhbWUoaG9zdF9pbmZvLkhU
VFBTX1JFTU9URV9PUklHSU4gKyAiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4uaHRt
bCIpOwogICB9KTsKIH0sICJBZGQgVEFPLWxlc3MgaWZyYW1lIHRvIHJlbW90ZSBvcmlnaW4uIE1h
a2Ugc3VyZSB3b3JrZXJTdGFydCBpcyB6ZXJvIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9uYXZpZ2F0
aW9uLXRpbWluZy9uYXYyX3Rlc3RfYXR0cmlidXRlc192YWx1ZXMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L25hdmlnYXRpb24tdGltaW5nL25hdjJfdGVzdF9hdHRyaWJ1dGVzX3ZhbHVlcy1leHBlY3RlZC50
eHQKaW5kZXggOTk4ZDRlZDNjZTE4NGM2OGQzMzE4NjEzZjhkMjBmZTI3MmQ1MmUzOS4uOWUxYmE0
ZmYwMTFhNmRhYTBhMGI0YzM4MDI4ZWFlODMxZjg1ZDlkZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL25hdmln
YXRpb24tdGltaW5nL25hdjJfdGVzdF9hdHRyaWJ1dGVzX3ZhbHVlcy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL25hdmlnYXRpb24tdGltaW5nL25hdjJfdGVzdF9hdHRyaWJ1dGVzX3ZhbHVlcy1leHBl
Y3RlZC50eHQKQEAgLTMsNSArMyw1IEBAIERlc2NyaXB0aW9uCiBUaGlzIHRlc3QgdmFsaWRhdGVz
IHRoYXQgdGhlIHZhbHVlcyBvZiBuYXYgdGltaW5nIDIgaW5zdGFuY2UncyB0aW1pbmctcmVsYXRl
ZCBhdHRyaWJ1dGVzIGFyZSBpbiBjZXJ0YWluIG9yZGVyIGFuZCB0aGUgb3RoZXJzIGFyZSBvZiBl
eHBlY3RlZCB2YWx1ZXMuCiAKIAotRkFJTCBQZXJmb3JtYW5jZSBuYXZpZ2F0aW9uIHRpbWluZyBp
bnN0YW5jZSdzIHZhbHVlIGlzIHJlYXNvbmFibGUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJo
dHRwLzEuMSIgYnV0IGdvdCAiIgorRkFJTCBQZXJmb3JtYW5jZSBuYXZpZ2F0aW9uIHRpbWluZyBp
bnN0YW5jZSdzIHZhbHVlIGlzIHJlYXNvbmFibGUuIGFzc2VydF9ncmVhdGVyX3RoYW46IEV4cGVj
dGVkIGRvbUludGVyYWN0aXZlIHRvIGJlIGdyZWF0ZXIgdGhhbiAwIGV4cGVjdGVkIGEgbnVtYmVy
IGdyZWF0ZXIgdGhhbiAwIGJ1dCBnb3QgMAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3JlZGlyZWN0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sx
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3JlZGlyZWN0
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDFlYjU0NjFkMzQwYTNmMGMyZTgyMjc1NDBmMWFk
MWIwOWFhNTJiMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVkaXJl
Y3RzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRl
c3QgdmFsaWRhdGVzIHRoYXQsIHdoZW4gYSBmZXRjaGluZyByZXNvdXJjZXMgdGhhdCBlbmNvdW50
ZXIgc2FtZS1vcmlnaW4gcmVkaXJlY3RzLCBhdHRyaWJ1dGVzIG9mIHRoZSBQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nIGVudHJ5IGNvbmZvcm0gdG8gdGhlIHNwZWNpZmljYXRpb24uCisKKworUEFT
UyBWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgc3R5bGVzaGVldCdzIFBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcKK1BBU1MgVmVyaWZ5IGF0dHJpYnV0ZXMgb2YgYSByZWRpcmVjdGVk
IGltYWdlJ3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZworUEFTUyBWZXJpZnkgYXR0cmlidXRl
cyBvZiBhIHJlZGlyZWN0ZWQgaWZyYW1lJ3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZworUEFT
UyBWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgc2NyaXB0J3MgUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZworRkFJTCBWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgc3lu
Y2hyb25vdXMgWE1MSHR0cFJlcXVlc3QncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGFzc2Vy
dF9ncmVhdGVyX3RoYW46IHJlZGlyZWN0U3RhcnQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiAwIGV4
cGVjdGVkIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiAwIGJ1dCBnb3QgMAorRkFJTCBWZXJpZnkgYXR0
cmlidXRlcyBvZiBhIHN5bmNocm9ub3VzIFhNTEh0dHBSZXF1ZXN0J3MgUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZyB3aGVyZSB0aGUgaW5pdGlhbCBIVFRQIHJlcXVlc3QgaXMgcmVkaXJlY3RlZCB0
byBhIGNyb3NzLW9yaWdpbiBIVFRQUyByZXNvdXJjZS4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTmV0d29ya0Vycm9yOiAgQSBuZXR3b3JrIGVy
cm9yIG9jY3VycmVkLiIKKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430927</attachid>
            <date>2021-06-08 17:57:35 -0700</date>
            <delta_ts>2021-06-09 10:18:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226678-20210608175734.patch</filename>
            <type>text/plain</type>
            <size>252637</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NDc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTVhMGRiNTc5YmRmYzM2
NmMwMzY3ZmVjZGRlZWVmNzc1YWU5NDM3YS4uNzY1YTg4MTJiMDUyMWM5ZGFmY2VlNTkxYTk1YzE1
MDk5NmZlZTk1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMCBAQAorMjAyMS0wNi0wNCAgQWxl
eCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUg
VGltaW5nLUFsbG93LU9yaWdpbiBjaGVja3MgdG8gdGhlIG5ldHdvcmsgcHJvY2VzcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2Njc4CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS80NTIyNzc4OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXZSB0cmllZCBoYXJkIHRvIGRvIGl0IGluIHRoZSB3ZWIgcHJv
Y2VzcyBieSBrZWVwaW5nIHRyYWNrIG9mIHdoZXRoZXIgdGhlIGxhc3QgcmVkaXJlY3Qgd2FzIGNy
b3NzLW9yaWdpbgorICAgICAgICBhbmQgY2hlY2tpbmcgdGhlIGZpbmFsIHJlc3BvbnNlIGFuZCBv
cmlnaW5hbCBzZWN1cml0eSBvcmlnaW4uICBXZSBnb3QgbWFueSB0ZXN0cyB0byBwYXNzLCBidXQg
dG8gZ2V0IHRoZSByZXN0CisgICAgICAgIGFuZCBiZSBjb3JyZWN0LCB3ZSBuZWVkIHRvIGNoZWNr
IHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRlciBmaWVsZCBvZiBlYWNoIHJlZGlyZWN0IGFn
YWluc3QgdGhlIG9yaWdpbmFsIHNlY3VyaXR5IG9yaWdpbi4KKworICAgICAgICBUZXN0czogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU08tWE8tU08tcmVk
aXJlY3QtY2hhaW4tdGFvLmh0dHBzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1tYXRjaC5odG1sCisgICAgICAg
ICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9U
QU8tbnVsbC1vcGFxdWUtb3JpZ2luLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5z
LWNyb3Nzb3JpZ2luLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29u
bmVjdGlvbi1yZXVzZS5odHRwcy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhcnQtZW5kLXRp
bWUtd2l0aC1yZWRpcmVjdHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC1v
cGVuZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvZW50cnktYXR0cmlidXRlcy5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mZXRjaC1jcm9z
cy1vcmlnaW4tcmVkaXJlY3QuaHR0cHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZm9udC10aW1lc3RhbXBzLmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2lmcmFtZS1mYWlsZWQtY29tbWl0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2luaXRpYXRvci10eXBlLWZv
ci1zY3JpcHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvbmV4dEhvcFByb3RvY29sLWlzLXRhby1wcm90ZWN0ZWQuaHR0
cHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1UQU8tY3Jvc3Mtb3JpZ2luLXJl
ZGlyZWN0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItY3Jvc3Mtb3JpZ2luLXJl
ZGlyZWN0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3JlZGlyZWN0cy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25vcmUt
ZGF0YS11cmwuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfY2FjaGVkLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
X3RpbWluZ19jb250ZW50X2xlbmd0aC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zYW1lLW9yaWdpbi1mcm9tLWNyb3Nz
LW9yaWdpbi1yZWRpcmVjdC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC1pbWcuaHRtbAorCisg
ICAgICAgICogSGVhZGVycy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogbG9hZGVyL1Jl
c291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjpzdGFy
dCk6CisgICAgICAgIEdldCBhIFNlY3VyaXR5T3JpZ2luIGZvciBvdXIgV2ViS2l0TGVnYWN5IFJl
c291cmNlSGFuZGxlIHVzZSBsaWtlIHdlIGRvIGluIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVs
ZUxvYWRGcm9tTmV0d29ya1Byb2Nlc3MKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VUaW1pbmcu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VUaW1pbmc6OlJlc291cmNlVGltaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlVGltaW5nOjppbml0U2VydmVyVGltaW5nKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlVGltaW5nOjppc29sYXRlZENvcHkgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6cGFzc2VzVGltaW5nQWxsb3dDaGVjayk6IERlbGV0ZWQuCisgICAgICAg
ICogbG9hZGVyL1Jlc291cmNlVGltaW5nLmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVRp
bWluZzo6bmV0d29ya0xvYWRNZXRyaWNzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlVGltaW5nOjpSZXNvdXJjZVRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVRp
bWluZzo6YWxsb3dUaW1pbmdEZXRhaWxzIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKCk6IERl
bGV0ZWQuCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpyZWRpcmVjdENvdW50IGNvbnN0KToK
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmc6OnNhbWVPcmlnaW5DaGVja0Zh
aWxzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWlu
Zzo6cmVkaXJlY3RDb3VudCBjb25zdCk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmVudHJ5U3RhcnRUaW1lKToKKyAgICAg
ICAgKFdlYkNvcmU6OmVudHJ5RW5kVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlZGlyZWN0RW5kIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmRvbWFpbkxvb2t1cFN0YXJ0IGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmRvbWFp
bkxvb2t1cEVuZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nOjpjb25uZWN0U3RhcnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdEVuZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpzZWN1cmVDb25uZWN0aW9uU3RhcnQgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVxdWVzdFN0YXJ0
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJl
c3BvbnNlU3RhcnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZzo6dHJhbnNmZXJTaXplIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmc6OmVuY29kZWRCb2R5U2l6ZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkZWNvZGVkQm9keVNpemUgY29uc3QpOgor
ICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VUaW1pbmc6OnVubG9hZEV2ZW50U3RhcnQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OnVubG9hZEV2ZW50RW5kIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0IGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpyZWRpcmVjdEVuZCBjb25zdCk6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VIYW5kbGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6QmxvYlJlc291cmNlSGFuZGxlOjpCbG9iUmVzb3VyY2VIYW5kbGUpOgorICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmg6CisgICAgICAgIChXZWJD
b3JlOjpOZXR3b3JrTG9hZE1ldHJpY3M6Omlzb2xhdGVkQ29weSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJpY3M6Om9wZXJhdG9yPT0gY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TmV0d29ya0xvYWRNZXRyaWNzOjpkZWNvZGUpOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5k
bGU6OlJlc291cmNlSGFuZGxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmxvYWRSZXNvdXJjZVN5
bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmlzQ3Jvc3NP
cmlnaW5XaXRob3V0VEFPIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxl
OjptYXJrQXNDcm9zc09yaWdpbldpdGhvdXRUQU8pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3Vy
Y2VIYW5kbGU6OnNvdXJjZU9yaWdpbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZUhhbmRsZTo6aGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6c2V0SGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCk6IERl
bGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGVJbnRlcm5hbDo6UmVzb3VyY2VIYW5kbGVJbnRlcm5h
bCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5jcHA6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6cGFzc2VzVGltaW5nQWxsb3dPcmlnaW5DaGVjayk6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5oOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtMb2FkTWV0cmljcy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OnBhY2thZ2VUaW1pbmdEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OmNv
cHlUaW1pbmdEYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhh
bmRsZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpwbGF0Zm9ybUxv
YWRSZXNvdXJjZVN5bmNocm9ub3VzbHkpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFj
L1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5tbToKKyAgICAg
ICAgKC1bV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlIGNvbm5l
Y3Rpb246d2lsbFNlbmRSZXF1ZXN0OnJlZGlyZWN0UmVzcG9uc2U6XSk6CisgICAgICAgICgtW1dl
YkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSBjb25uZWN0aW9uOmRp
ZFJlY2VpdmVSZXNwb25zZTpdKToKKwogMjAyMS0wNi0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFj
aHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEltcGxlbWVudCBvZmYtYnktZGVmYXVs
dCBleHBlcmltZW50YWwgZmVhdHVyZSBmb3IgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy50cmFu
c2ZlclNpemUsIGVuY29kZWRCb2R5U2l6ZSwgYW5kIGRlY29kZWRCb2R5U2l6ZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCAyYzdkZmFjZGJmY2M3OWVlYjdmZDc3N2ZmZGUyOWNjZTUwYzE5NDRmLi4yMWVjYTllMzZkZWY2
OGU4YTllMThmOGIyZGY5YjY0MDBiYmQ4NjczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisy
MDIxLTA2LTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgTW92ZSBUaW1pbmctQWxsb3ctT3JpZ2luIGNoZWNrcyB0byB0aGUgbmV0d29yayBw
cm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjY2NzgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ1MjI3Nzg4PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29y
a0xvYWRQYXJhbWV0ZXJzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZFBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVz
b3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpzZW5kUmVwbHlUb1N5bmNocm9ub3Vz
UmVxdWVzdCk6CisgICAgICAgIFBhc3MgY29tcGxldGUgbWV0cmljcyB3aXRoIHN5bmMgeGhyIHJl
c3BvbnNlcy4gIE1hbnkgb2YgdGhlIHRlc3RzIHVzZSBzeW5jIHhoci4KKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRGYWlsTG9hZGluZyk6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkUmV0cmlldmVDYWNoZUVudHJ5KToKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5oOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6TmV0d29ya0RhdGFUYXNrQ29jb2Ep
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6d2lsbFBlcmZvcm1IVFRQ
UmVkaXJlY3Rpb24pOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNz
aW9uQ29jb2EubW06CisgICAgICAgICgtW1dLTmV0d29ya1Nlc3Npb25EZWxlZ2F0ZSBVUkxTZXNz
aW9uOnRhc2s6d2lsbFBlcmZvcm1IVFRQUmVkaXJlY3Rpb246bmV3UmVxdWVzdDpjb21wbGV0aW9u
SGFuZGxlcjpdKToKKyAgICAgICAgKC1bV0tOZXR3b3JrU2Vzc2lvbkRlbGVnYXRlIFVSTFNlc3Np
b246ZGF0YVRhc2s6ZGlkUmVjZWl2ZVJlc3BvbnNlOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorCiAy
MDIxLTA2LTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgSW1wbGVtZW50IG9mZi1ieS1kZWZhdWx0IGV4cGVyaW1lbnRhbCBmZWF0dXJlIGZv
ciBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLnRyYW5zZmVyU2l6ZSwgZW5jb2RlZEJvZHlTaXpl
LCBhbmQgZGVjb2RlZEJvZHlTaXplCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCmluZGV4IGVkMTUzNWJkMDli
ZDQzOWU3Y2NiNDVlYzhmZDRiNTgzNTkwNDQ1ZjcuLmRmYTJiM2NiN2Y3OGU3ZTAzZWQ1NjI1N2M4
NmE5ZTgzMWYyZGU3NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MjEtMDYtMDQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKwor
ICAgICAgICBNb3ZlIFRpbWluZy1BbGxvdy1PcmlnaW4gY2hlY2tzIHRvIHRoZSBuZXR3b3JrIHBy
b2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NjY3OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDUyMjc3ODg+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QaW5nSGFu
ZGxlLmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVy
LmNwcDoKKyAgICAgICAgKFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjo6bG9hZFJlc291cmNlU3lu
Y2hyb25vdXNseSk6CisKIDIwMjEtMDUtMzAgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29t
PgogCiAgICAgICAgIFJlbW92ZSBzb21lIG9mIHRoZSB1bm5lZWRlZCBXZWJLaXRMZWdhY3kgV2lu
ZG93cy1zcGVjaWZpYyBwbHVnLWluIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hl
YWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IDU1NDZjNGQz
ZTYzNmYzNjYwOWM0MTg5MDg4MmY0MTZjN2EwZWFhMTcuLjdiOTNlYzhhYzNkNGI3NzZmNDYxNTVh
MTI4MTIyYWYxZTdiOGZkN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21h
a2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMTQ4Miw2ICsxNDgyLDcg
QEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIHBsYXRmb3JtL25l
dHdvcmsvU3RvcmFnZVNlc3Npb25Qcm92aWRlci5oCiAgICAgcGxhdGZvcm0vbmV0d29yay9TdG9y
ZWRDcmVkZW50aWFsc1BvbGljeS5oCiAgICAgcGxhdGZvcm0vbmV0d29yay9TeW5jaHJvbm91c0xv
YWRlckNsaWVudC5oCisgICAgcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5oCiAK
ICAgICBwbGF0Zm9ybS9zcWwvU1FMVmFsdWUuaAogICAgIHBsYXRmb3JtL3NxbC9TUUxpdGVEYXRh
YmFzZS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IGI0YTMwMzRkZDZjOTQwM2EzMTA4MDNmYzhkZDVjNDAw
ZGM3Yzc4ZTUuLjNmYWI0NTM3MWU3ZjljMzE1ZWY5Yzg0YWE1ZTg1NTExZTU4ZTEyMWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CkBAIC0yMTkxLDYgKzIxOTEsNyBAQCBwbGF0Zm9ybS9uZXR3b3JrL1NhbWVTaXRl
SW5mby5jcHAKIHBsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFtSGFuZGxlLmNwcAogcGxhdGZv
cm0vbmV0d29yay9Tb2NrZXRTdHJlYW1IYW5kbGVJbXBsLmNwcAogcGxhdGZvcm0vbmV0d29yay9T
eW5jaHJvbm91c0xvYWRlckNsaWVudC5jcHAKK3BsYXRmb3JtL25ldHdvcmsvVGltaW5nQWxsb3dP
cmlnaW4uY3BwCiBwbGF0Zm9ybS9zcWwvU1FMaXRlQXV0aG9yaXplci5jcHAKIHBsYXRmb3JtL3Nx
bC9TUUxpdGVEYXRhYmFzZS5jcHAKIHBsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZVRyYWNrZXIu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggNDZmMjY4Mjg0OGIwZTU5NzYyNzE1YWMyMDJiNTE1ZTRmMzMzNDEzZC4uMzMwZTk3
NmVmNmM4NjVkNDdhZDE5ODI1NTQ4ZTFmYWFjMzU1NmEzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTk5Nyw2ICsxOTk3LDcg
QEAKIAkJNUNCMzdGRkYxQzYyRDJBMTAwRjIwMTg4IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNCMzdGRkQxQzYy
RDI3ODAwRjIwMTg4IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5oICovOyB9OwogCQk1Q0JDOERBRDFB
QUEzMDIyMDBFMUM4MDMgLyogTWVkaWFBY2Nlc3NpYmlsaXR5U29mdExpbmsuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQkM4REFCMUFBQTMwMjIwMEUx
QzgwMyAvKiBNZWRpYUFjY2Vzc2liaWxpdHlTb2Z0TGluay5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTVDQkQ1OTU5MjI4MEU5MjYwMDJCMjJBQSAv
KiBDdXN0b21IZWFkZXJGaWVsZHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNUM1RDIzODYyMjdBMDc3QzAwMEI5QkRBIC8qIEN1c3RvbUhlYWRlckZp
ZWxkcy5jcHAgKi87IH07CisJCTVDQzc5MDBFMjY2QUZBODkwMDY5MjRGRSAvKiBUaW1pbmdBbGxv
d09yaWdpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NUNDNzkwMEIyNjZBRkE4ODAwNjkyNEZFIC8qIFRpbWluZ0FsbG93T3JpZ2luLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNUNDQzI3MDkyMkQ1NDgz
QTAwOTY0RkEwIC8qIEF1dG9maWxsRWxlbWVudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQ0MyNzA2MjJENTNCNjgwMDk2NEZBMCAvKiBBdXRvZmls
bEVsZW1lbnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNUNEOUY1NjYxQUEwRjczQzAwREE0NUZGIC8qIERGQUJ5dGVjb2RlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1QzM5MzA1RDFBQTBGNkE5MDAy
OUM4MTYgLyogREZBQnl0ZWNvZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk1Q0Q5RjU2NzFBQTBGNzQyMDBEQTQ1RkYgLyogREZBQnl0ZWNvZGVD
b21waWxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NUMzOTMwNUYxQUEwRjZBOTAwMjlDODE2IC8qIERGQUJ5dGVjb2RlQ29tcGlsZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTcwOCw2ICs5NzA5
LDggQEAKIAkJNUNCMzdGRkQxQzYyRDI3ODAwRjIwMTg4IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxBbmltYXRvck1vY2suaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNCQzhEQUExQUFBMzAyMjAwRTFDODAzIC8q
IE1lZGlhQWNjZXNzaWJpbGl0eVNvZnRMaW5rLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IE1lZGlhQWNjZXNzaWJpbGl0eVNvZnRMaW5rLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNUNCQzhEQUIxQUFBMzAyMjAwRTFDODAzIC8qIE1lZGlhQWNjZXNz
aWJpbGl0eVNvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlh
QWNjZXNzaWJpbGl0eVNvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVD
Qzc5MDBCMjY2QUZBODgwMDY5MjRGRSAvKiBUaW1pbmdBbGxvd09yaWdpbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBUaW1pbmdBbGxvd09yaWdpbi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1Q0M3OTAwRDI2NkFGQTg5MDA2OTI0RkUgLyogVGltaW5nQWxsb3dP
cmlnaW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGltaW5nQWxs
b3dPcmlnaW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0NDMjcwNjIyRDUz
QjY4MDA5NjRGQTAgLyogQXV0b2ZpbGxFbGVtZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBBdXRvZmlsbEVsZW1lbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTVDQ0MyNzA3MjJENTNCNjkwMDk2NEZBMCAvKiBBdXRvZmlsbEVsZW1lbnRzLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEF1dG9maWxsRWxlbWVudHMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0RDRERCRjIzRDdCN0JFMDBCQTM0QTEgLyog
Q29udGVudEZpbHRlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
b250ZW50RmlsdGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjIx
OSw2ICsyMjIyMiw4IEBACiAJCQkJNDY4MkQxRkYxRjc5NzgyMzAwQzg2M0RCIC8qIFN0b3JlZENy
ZWRlbnRpYWxzUG9saWN5LmggKi8sCiAJCQkJRTE4MDgxMTAxNkZDRjQyRTAwQjgwRDA3IC8qIFN5
bmNocm9ub3VzTG9hZGVyQ2xpZW50LmNwcCAqLywKIAkJCQlFMTgwODExNTE2RkNGOUNCMDBCODBE
MDcgLyogU3luY2hyb25vdXNMb2FkZXJDbGllbnQuaCAqLywKKwkJCQk1Q0M3OTAwRDI2NkFGQTg5
MDA2OTI0RkUgLyogVGltaW5nQWxsb3dPcmlnaW4uY3BwICovLAorCQkJCTVDQzc5MDBCMjY2QUZB
ODgwMDY5MjRGRSAvKiBUaW1pbmdBbGxvd09yaWdpbi5oICovLAogCQkJKTsKIAkJCXBhdGggPSBu
ZXR3b3JrOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTM1NzU3LDYgKzM1NzYyLDcg
QEAKIAkJCQk5MzA1QjI0RDA5OEYxQjZCMDBDMjg4NTUgLyogVGltZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCUU0NDYxM0IwMENENjMzMTAwMEZBREE3NSAvKiBUaW1lUmFuZ2VzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkyRDdFRDBBQjFCQUU5OTE3MDA0M0IzRTUgLyogVGltZXJFdmVudEJhc2VkTW9j
ay5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUNDNzkwMEUyNjZBRkE4OTAwNjkyNEZFIC8qIFRpbWlu
Z0FsbG93T3JpZ2luLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5MTJBRTBFRkFDOTA2MDA5RDBD
QUYgLyogVGltaW5nRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNTRERDA4MTg4MUQ1
RjUwMDNFRURCQiAvKiBUb3VjaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzFCN0VFMEQyMUI1QzY4
NzAwMzFDMUVGIC8qIFRvdWNoQWN0aW9uLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDUzNTM5ZmI2N2RlMWY1ZjE2Mjg0MjlkYjNm
MWFiMmY1M2NlZGQ2NzIuLjUwYmFmOWFiZTg1OWQ5OGQ0YTRkZmVmMTNlMjdkZDNkMzE4NjU5ZTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcApAQCAtNTEsNiArNTEs
NyBAQAogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmln
aW4uaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKKyNpbmNsdWRlICJTdWJyZXNvdXJjZUxv
YWRlci5oIgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0
Zi9SZWYuaD4KIApAQCAtMjQxLDcgKzI0MiwxNSBAQCB2b2lkIFJlc291cmNlTG9hZGVyOjpzdGFy
dCgpCiAgICAgfQogI2VuZGlmCiAKLSAgICBtX2hhbmRsZSA9IFJlc291cmNlSGFuZGxlOjpjcmVh
dGUoZnJhbWVMb2FkZXIoKS0+bmV0d29ya2luZ0NvbnRleHQoKSwgbV9yZXF1ZXN0LCB0aGlzLCBt
X2RlZmVyc0xvYWRpbmcsIG1fb3B0aW9ucy5zbmlmZkNvbnRlbnQgPT0gQ29udGVudFNuaWZmaW5n
UG9saWN5OjpTbmlmZkNvbnRlbnQsIG1fb3B0aW9ucy5zbmlmZkNvbnRlbnRFbmNvZGluZyA9PSBD
b250ZW50RW5jb2RpbmdTbmlmZmluZ1BvbGljeTo6U25pZmYpOworICAgIFJlZlB0cjxTZWN1cml0
eU9yaWdpbj4gc291cmNlT3JpZ2luID0gaXM8U3VicmVzb3VyY2VMb2FkZXI+KCp0aGlzKSA/IGRv
d25jYXN0PFN1YnJlc291cmNlTG9hZGVyPigqdGhpcykub3JpZ2luKCkgOiBudWxscHRyOworICAg
IGlmICghc291cmNlT3JpZ2luICYmIGZyYW1lTG9hZGVyKCkpIHsKKyAgICAgICAgYXV0byogZG9j
dW1lbnQgPSBmcmFtZUxvYWRlcigpLT5mcmFtZSgpLmRvY3VtZW50KCk7CisgICAgICAgIHNvdXJj
ZU9yaWdpbiA9ICBkb2N1bWVudCA/ICZkb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKSA6IG51bGxw
dHI7CisgICAgfQorCisgICAgYm9vbCBpc01haW5GcmFtZU5hdmlnYXRpb24gPSBmcmFtZSgpICYm
IGZyYW1lKCktPmlzTWFpbkZyYW1lKCkgJiYgb3B0aW9ucygpLm1vZGUgPT0gRmV0Y2hPcHRpb25z
OjpNb2RlOjpOYXZpZ2F0ZTsKKworICAgIG1faGFuZGxlID0gUmVzb3VyY2VIYW5kbGU6OmNyZWF0
ZShmcmFtZUxvYWRlcigpLT5uZXR3b3JraW5nQ29udGV4dCgpLCBtX3JlcXVlc3QsIHRoaXMsIG1f
ZGVmZXJzTG9hZGluZywgbV9vcHRpb25zLnNuaWZmQ29udGVudCA9PSBDb250ZW50U25pZmZpbmdQ
b2xpY3k6OlNuaWZmQ29udGVudCwgbV9vcHRpb25zLnNuaWZmQ29udGVudEVuY29kaW5nID09IENv
bnRlbnRFbmNvZGluZ1NuaWZmaW5nUG9saWN5OjpTbmlmZiwgV1RGTW92ZShzb3VyY2VPcmlnaW4p
LCBpc01haW5GcmFtZU5hdmlnYXRpb24pOwogfQogCiB2b2lkIFJlc291cmNlTG9hZGVyOjpzZXRE
ZWZlcnNMb2FkaW5nKGJvb2wgZGVmZXJzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Jlc291cmNlVGltaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZVRp
bWluZy5jcHAKaW5kZXggNDk4ZTMzMjc0YmY5Yjk4MmM5ZTk4NTJjZTkyN2JlY2Y0YTI4M2EwNS4u
NDY5MGZhM2FkMzJlN2ZkMDM2N2Q1MzEyYTFhMGM1MGE4OGNkNTMzMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VUaW1pbmcuY3BwCkBAIC0zNSwyOCArMzUsNiBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBib29sIHBhc3Nlc1RpbWluZ0FsbG93Q2hlY2soY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiBpbml0aWF0
b3JTZWN1cml0eU9yaWdpbikKLXsKLSAgICBSZWY8U2VjdXJpdHlPcmlnaW4+IHJlc291cmNlT3Jp
Z2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZShyZXNwb25zZS51cmwoKSk7Ci0gICAgaWYgKHJl
c291cmNlT3JpZ2luLT5pc1NhbWVTY2hlbWVIb3N0UG9ydChpbml0aWF0b3JTZWN1cml0eU9yaWdp
bikpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgY29uc3QgU3RyaW5nJiB0aW1pbmdBbGxv
d09yaWdpblN0cmluZyA9IHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6
VGltaW5nQWxsb3dPcmlnaW4pOwotICAgIGlmICh0aW1pbmdBbGxvd09yaWdpblN0cmluZy5pc0Vt
cHR5KCkgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UodGltaW5nQWxsb3dPcmlnaW5T
dHJpbmcsICJudWxsIikpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICh0aW1pbmdB
bGxvd09yaWdpblN0cmluZyA9PSAiKiIpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgY29u
c3QgU3RyaW5nJiBzZWN1cml0eU9yaWdpbiA9IGluaXRpYXRvclNlY3VyaXR5T3JpZ2luLnRvU3Ry
aW5nKCk7Ci0gICAgZm9yIChhdXRvJiBvcmlnaW4gOiB0aW1pbmdBbGxvd09yaWdpblN0cmluZy5z
cGxpdCgnLCcpKSB7Ci0gICAgICAgIGlmIChvcmlnaW4uc3RyaXBXaGl0ZVNwYWNlKCkgPT0gc2Vj
dXJpdHlPcmlnaW4pCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0KLSAgICByZXR1
cm4gZmFsc2U7Ci19Ci0KIFJlc291cmNlVGltaW5nIFJlc291cmNlVGltaW5nOjpmcm9tTWVtb3J5
Q2FjaGUoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgaW5pdGlhdG9yLCBjb25zdCBSZXNv
dXJjZUxvYWRUaW1pbmcmIGxvYWRUaW1pbmcsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3Bv
bnNlLCBjb25zdCBTZWN1cml0eU9yaWdpbiYgc2VjdXJpdHlPcmlnaW4pCiB7CiAgICAgcmV0dXJu
IFJlc291cmNlVGltaW5nKHVybCwgaW5pdGlhdG9yLCBsb2FkVGltaW5nLCByZXNwb25zZSwgc2Vj
dXJpdHlPcmlnaW4pOwpAQCAtNzIsMjggKzUwLDI2IEBAIFJlc291cmNlVGltaW5nIFJlc291cmNl
VGltaW5nOjpmcm9tU3luY2hyb25vdXNMb2FkKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcm
CiAgICAgcmV0dXJuIFJlc291cmNlVGltaW5nKHVybCwgaW5pdGlhdG9yLCBsb2FkVGltaW5nLCBu
ZXR3b3JrTG9hZE1ldHJpY3MsIHJlc3BvbnNlLCBzZWN1cml0eU9yaWdpbik7CiB9CiAKLVJlc291
cmNlVGltaW5nOjpSZXNvdXJjZVRpbWluZyhjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBp
bml0aWF0b3IsIGNvbnN0IFJlc291cmNlTG9hZFRpbWluZyYgbG9hZFRpbWluZywgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiBzZWN1cml0eU9y
aWdpbikKK1Jlc291cmNlVGltaW5nOjpSZXNvdXJjZVRpbWluZyhjb25zdCBVUkwmIHVybCwgY29u
c3QgU3RyaW5nJiBpbml0aWF0b3IsIGNvbnN0IFJlc291cmNlTG9hZFRpbWluZyYgbG9hZFRpbWlu
ZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFNlY3VyaXR5T3JpZ2lu
JikKICAgICA6IG1fdXJsKHVybCkKICAgICAsIG1faW5pdGlhdG9yKGluaXRpYXRvcikKICAgICAs
IG1fcmVzb3VyY2VMb2FkVGltaW5nKGxvYWRUaW1pbmcpCi0gICAgLCBtX2FsbG93VGltaW5nRGV0
YWlscyhwYXNzZXNUaW1pbmdBbGxvd0NoZWNrKHJlc3BvbnNlLCBzZWN1cml0eU9yaWdpbikpCiB7
CiAgICAgaW5pdFNlcnZlclRpbWluZyhyZXNwb25zZSk7CiB9CiAKLVJlc291cmNlVGltaW5nOjpS
ZXNvdXJjZVRpbWluZyhjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBpbml0aWF0b3IsIGNv
bnN0IFJlc291cmNlTG9hZFRpbWluZyYgdGltaW5nLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3Mm
IG5ldHdvcmtMb2FkTWV0cmljcywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNv
bnN0IFNlY3VyaXR5T3JpZ2luJiBzZWN1cml0eU9yaWdpbikKK1Jlc291cmNlVGltaW5nOjpSZXNv
dXJjZVRpbWluZyhjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBpbml0aWF0b3IsIGNvbnN0
IFJlc291cmNlTG9hZFRpbWluZyYgdGltaW5nLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG5l
dHdvcmtMb2FkTWV0cmljcywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0
IFNlY3VyaXR5T3JpZ2luJikKICAgICA6IG1fdXJsKHVybCkKICAgICAsIG1faW5pdGlhdG9yKGlu
aXRpYXRvcikKICAgICAsIG1fcmVzb3VyY2VMb2FkVGltaW5nKHRpbWluZykKICAgICAsIG1fbmV0
d29ya0xvYWRNZXRyaWNzKG5ldHdvcmtMb2FkTWV0cmljcykKLSAgICAsIG1fYWxsb3dUaW1pbmdE
ZXRhaWxzKHBhc3Nlc1RpbWluZ0FsbG93Q2hlY2socmVzcG9uc2UsIHNlY3VyaXR5T3JpZ2luKSkK
IHsKICAgICBpbml0U2VydmVyVGltaW5nKHJlc3BvbnNlKTsKIH0KIAogdm9pZCBSZXNvdXJjZVRp
bWluZzo6aW5pdFNlcnZlclRpbWluZyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkK
IHsKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXJ2
ZXJUaW1pbmdFbmFibGVkKCkgJiYgbV9hbGxvd1RpbWluZ0RldGFpbHMpCisgICAgaWYgKFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2VydmVyVGltaW5nRW5hYmxlZCgp
ICYmICFtX25ldHdvcmtMb2FkTWV0cmljcy5mYWlsc1RBT0NoZWNrKQogICAgICAgICBtX3NlcnZl
clRpbWluZyA9IFNlcnZlclRpbWluZ1BhcnNlcjo6cGFyc2VTZXJ2ZXJUaW1pbmcocmVzcG9uc2Uu
aHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpTZXJ2ZXJUaW1pbmcpKTsKIH0KIApAQCAt
MTExLDcgKzg3LDYgQEAgUmVzb3VyY2VUaW1pbmcgUmVzb3VyY2VUaW1pbmc6Omlzb2xhdGVkQ29w
eSgpIGNvbnN0CiAgICAgICAgIG1faW5pdGlhdG9yLmlzb2xhdGVkQ29weSgpLAogICAgICAgICBt
X3Jlc291cmNlTG9hZFRpbWluZy5pc29sYXRlZENvcHkoKSwKICAgICAgICAgbV9uZXR3b3JrTG9h
ZE1ldHJpY3MuaXNvbGF0ZWRDb3B5KCksCi0gICAgICAgIG1fYWxsb3dUaW1pbmdEZXRhaWxzLAog
ICAgICAgICBjcm9zc1RocmVhZENvcHkobV9zZXJ2ZXJUaW1pbmcpCiAgICAgKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZVRpbWluZy5oIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nLmgKaW5kZXggZDNiMmI5YjM5ODQ1ZjBhZDY3NjJj
MzI4ZTA2MjlkZWZmYmI4MjcyNi4uYWNiYWZiZDg1YmEyNWQ1NDkwYjE4YTVhN2NmNTYzYmRmMWZh
NjI0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nLmgKQEAgLTQ5LDcgKzQ5
LDYgQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgaW5pdGlhdG9yKCkgY29uc3QgeyByZXR1
cm4gbV9pbml0aWF0b3I7IH0KICAgICBjb25zdCBSZXNvdXJjZUxvYWRUaW1pbmcmIHJlc291cmNl
TG9hZFRpbWluZygpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb3VyY2VMb2FkVGltaW5nOyB9CiAgICAg
Y29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJiBuZXR3b3JrTG9hZE1ldHJpY3MoKSBjb25zdCB7IHJl
dHVybiBtX25ldHdvcmtMb2FkTWV0cmljczsgfQotICAgIGJvb2wgYWxsb3dUaW1pbmdEZXRhaWxz
KCkgY29uc3QgeyByZXR1cm4gbV9hbGxvd1RpbWluZ0RldGFpbHM7IH0KICAgICBWZWN0b3I8UmVm
PFBlcmZvcm1hbmNlU2VydmVyVGltaW5nPj4gcG9wdWxhdGVTZXJ2ZXJUaW1pbmcoKSBjb25zdDsK
ICAgICBSZXNvdXJjZVRpbWluZyBpc29sYXRlZENvcHkoKSBjb25zdDsKIApAQCAtNTgsMTIgKzU3
LDExIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgUmVzb3VyY2VUaW1pbmcoY29uc3QgVVJMJiwg
Y29uc3QgU3RyaW5nJiBpbml0aWF0b3IsIGNvbnN0IFJlc291cmNlTG9hZFRpbWluZyYsIGNvbnN0
IE5ldHdvcmtMb2FkTWV0cmljcyYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBTZWN1
cml0eU9yaWdpbiYpOwogICAgIFJlc291cmNlVGltaW5nKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmlu
ZyYgaW5pdGlhdG9yLCBjb25zdCBSZXNvdXJjZUxvYWRUaW1pbmcmLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiwgY29uc3QgU2VjdXJpdHlPcmlnaW4mKTsKLSAgICBSZXNvdXJjZVRpbWluZyhVUkwm
JiB1cmwsIFN0cmluZyYmIGluaXRpYXRvciwgY29uc3QgUmVzb3VyY2VMb2FkVGltaW5nJiByZXNv
dXJjZUxvYWRUaW1pbmcsIE5ldHdvcmtMb2FkTWV0cmljcyYmIG5ldHdvcmtMb2FkTWV0cmljcywg
Ym9vbCBhbGxvd1RpbWluZ0RldGFpbHMsIFZlY3RvcjxTZXJ2ZXJUaW1pbmc+JiYgc2VydmVyVGlt
aW5nKQorICAgIFJlc291cmNlVGltaW5nKFVSTCYmIHVybCwgU3RyaW5nJiYgaW5pdGlhdG9yLCBj
b25zdCBSZXNvdXJjZUxvYWRUaW1pbmcmIHJlc291cmNlTG9hZFRpbWluZywgTmV0d29ya0xvYWRN
ZXRyaWNzJiYgbmV0d29ya0xvYWRNZXRyaWNzLCBWZWN0b3I8U2VydmVyVGltaW5nPiYmIHNlcnZl
clRpbWluZykKICAgICAgICAgOiBtX3VybChXVEZNb3ZlKHVybCkpCiAgICAgICAgICwgbV9pbml0
aWF0b3IoV1RGTW92ZShpbml0aWF0b3IpKQogICAgICAgICAsIG1fcmVzb3VyY2VMb2FkVGltaW5n
KHJlc291cmNlTG9hZFRpbWluZykKICAgICAgICAgLCBtX25ldHdvcmtMb2FkTWV0cmljcyhXVEZN
b3ZlKG5ldHdvcmtMb2FkTWV0cmljcykpCi0gICAgICAgICwgbV9hbGxvd1RpbWluZ0RldGFpbHMo
YWxsb3dUaW1pbmdEZXRhaWxzKQogICAgICAgICAsIG1fc2VydmVyVGltaW5nKFdURk1vdmUoc2Vy
dmVyVGltaW5nKSkKICAgICB7CiAgICAgfQpAQCAtNzMsNyArNzEsNiBAQCBwcml2YXRlOgogICAg
IFN0cmluZyBtX2luaXRpYXRvcjsKICAgICBSZXNvdXJjZUxvYWRUaW1pbmcgbV9yZXNvdXJjZUxv
YWRUaW1pbmc7CiAgICAgTmV0d29ya0xvYWRNZXRyaWNzIG1fbmV0d29ya0xvYWRNZXRyaWNzOwot
ICAgIGJvb2wgbV9hbGxvd1RpbWluZ0RldGFpbHMgeyBmYWxzZSB9OwogICAgIFZlY3RvcjxTZXJ2
ZXJUaW1pbmc+IG1fc2VydmVyVGltaW5nOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwCmluZGV4IDBjYzczZmRmODYzYzQyMWM1ZGFhZGEyZjI1
YmNhMjU0YThlOTZlOGEuLjM0YmY5NzdkNjA0ZTUyMGNiNzkxNzM3MTI2ODMwMjI5OTBkNDkzYjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAKQEAg
LTc4LDcgKzc4LDcgQEAgdW5zaWduZWQgc2hvcnQgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpyZWRp
cmVjdENvdW50KCkgY29uc3QKICAgICBpZiAoIW1ldHJpY3MpCiAgICAgICAgIHJldHVybiAwOwog
Ci0gICAgaWYgKG1ldHJpY3MtPmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QpCisgICAgaWYgKG1ldHJp
Y3MtPmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgcmV0dXJuIG1ldHJp
Y3MtPnJlZGlyZWN0Q291bnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlTmF2aWdhdGlvblRpbWluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlTmF2aWdhdGlvblRpbWluZy5jcHAKaW5kZXggNjhkMmNjNzU4YzNmMTU0YWZhYTFiYWYyMmY1
ZTRkMzA3OGY0NzM1OS4uMjNjN2YzMWE3NTEyNDk4NzY0NmMxZjQ4YmRkNmNlMTU3ZGE3N2IzMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1p
bmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGlt
aW5nLmNwcApAQCAtNjgsOCArNjgsNyBAQCBkb3VibGUgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGlt
aW5nOjptaWxsaXNlY29uZHNTaW5jZU9yaWdpbihNb25vdG9uaWNUaW1lIHRpbWUpCiBib29sIFBl
cmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZzo6c2FtZU9yaWdpbkNoZWNrRmFpbHMoKSBjb25zdAog
ewogICAgIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy0yLyNkZm4t
c2FtZS1vcmlnaW4tY2hlY2sKLSAgICByZXR1cm4gIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1p
bmdEZXRhaWxzKCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJp
Y3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0CisgICAgcmV0dXJuIG1fcmVzb3VyY2VUaW1pbmcu
bmV0d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdAogICAgICAgICB8fCAh
bV9kb2N1bWVudExvYWRUaW1pbmcuaGFzU2FtZU9yaWdpbkFzUHJldmlvdXNEb2N1bWVudCgpOwog
fQogCkBAIC0xMjQsOSArMTIzLDYgQEAgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nOjpOYXZp
Z2F0aW9uVHlwZSBQZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmc6OnR5cGUoKQogCiB1bnNpZ25l
ZCBzaG9ydCBQZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmc6OnJlZGlyZWN0Q291bnQoKSBjb25z
dAogewotICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5hbGxvd1RpbWluZ0RldGFpbHMoKSkKLSAg
ICAgICAgcmV0dXJuIDA7Ci0KICAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1l
dHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQogICAgICAgICByZXR1cm4gMDsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAKaW5k
ZXggNTliMWFlNmZjY2U3NGRjNzFhODhjZWI1ZGFiNTcwZmE4ZjRhZTcyMi4uNmVkOWFmNDIyOWMy
NGUxMTE0ZjEwNDNhZDI5MmQzYWYwMThmYWM5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwCkBAIC02NCw4ICs2NCw3IEBAIHN0YXRp
YyBkb3VibGUgZmV0Y2hTdGFydChNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFJlc291
cmNlVGltaW5nJiByZXNvdXJjCiAKIHN0YXRpYyBkb3VibGUgZW50cnlTdGFydFRpbWUoTW9ub3Rv
bmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZXNvdXJjZVRpbWluZyYgcmVzb3VyY2VUaW1pbmcp
CiB7Ci0gICAgaWYgKCFyZXNvdXJjZVRpbWluZy5hbGxvd1RpbWluZ0RldGFpbHMoKQotICAgICAg
ICB8fCByZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJl
ZGlyZWN0CisgICAgaWYgKHJlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxz
VEFPQ2hlY2sKICAgICAgICAgfHwgIXJlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygp
LnJlZGlyZWN0Q291bnQpCiAgICAgICAgIHJldHVybiBmZXRjaFN0YXJ0KHRpbWVPcmlnaW4sIHJl
c291cmNlVGltaW5nKTsKIApAQCAtNzcsOSArNzYsNiBAQCBzdGF0aWMgZG91YmxlIGVudHJ5U3Rh
cnRUaW1lKE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgY29uc3QgUmVzb3VyY2VUaW1pbmcmIHJl
cwogCiBzdGF0aWMgZG91YmxlIGVudHJ5RW5kVGltZShNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4s
IGNvbnN0IFJlc291cmNlVGltaW5nJiByZXNvdXJjZVRpbWluZykKIHsKLSAgICBpZiAoIXJlc291
cmNlVGltaW5nLmFsbG93VGltaW5nRGV0YWlscygpKQotICAgICAgICByZXR1cm4gZW50cnlTdGFy
dFRpbWUodGltZU9yaWdpbiwgcmVzb3VyY2VUaW1pbmcpOwotCiAgICAgaWYgKHJlc291cmNlVGlt
aW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlc3BvbnNlRW5kKQogICAgICAgICByZXR1cm4gbmV0
d29ya0xvYWRUaW1lVG9ET01IaWdoUmVzVGltZVN0YW1wKHRpbWVPcmlnaW4sIHJlc291cmNlVGlt
aW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlc3BvbnNlRW5kKTsKIApAQCAtMTE0LDggKzExMCw3
IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjp3b3JrZXJTdGFydCgpIGNvbnN0
CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0KCkgY29u
c3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAg
ICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09y
aWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmlj
cygpLmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwLjA7CiAKICAgICBpZiAoIW1fcmVz
b3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkucmVkaXJlY3RDb3VudCkKQEAgLTEyNiw4
ICsxMjEsNyBAQCBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVkaXJlY3RTdGFy
dCgpIGNvbnN0CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZWRpcmVjdEVu
ZCgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3Jlc291cmNlVGltaW5nLmFsbG93VGltaW5nRGV0YWls
cygpCi0gICAgICAgIHx8IG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuaGFz
Q3Jvc3NPcmlnaW5SZWRpcmVjdCkKKyAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9h
ZE1ldHJpY3MoKS5mYWlsc1RBT0NoZWNrKQogICAgICAgICByZXR1cm4gMC4wOwogCiAgICAgaWYg
KCFtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlZGlyZWN0Q291bnQpCkBA
IC0xNDUsOCArMTM5LDcgQEAgZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmZldGNo
U3RhcnQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZG9tYWlu
TG9va3VwU3RhcnQoKSBjb25zdAogewotICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5hbGxvd1Rp
bWluZ0RldGFpbHMoKQotICAgICAgICB8fCBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0
cmljcygpLmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QpCisgICAgaWYgKG1fcmVzb3VyY2VUaW1pbmcu
bmV0d29ya0xvYWRNZXRyaWNzKCkuZmFpbHNUQU9DaGVjaykKICAgICAgICAgcmV0dXJuIDAuMDsK
IAogICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5kb21haW5M
b29rdXBTdGFydCkKQEAgLTE1Nyw4ICsxNTAsNyBAQCBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZzo6ZG9tYWluTG9va3VwU3RhcnQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZzo6ZG9tYWluTG9va3VwRW5kKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcmVz
b3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRp
bWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQorICAgIGlm
IChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxzVEFPQ2hlY2spCiAg
ICAgICAgIHJldHVybiAwLjA7CiAKICAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xv
YWRNZXRyaWNzKCkuZG9tYWluTG9va3VwRW5kKQpAQCAtMTY5LDggKzE2MSw3IEBAIGRvdWJsZSBQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29rdXBFbmQoKSBjb25zdAogCiBkb3Vi
bGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdFN0YXJ0KCkgY29uc3QKIHsKLSAg
ICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwg
bV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGly
ZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxz
VEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwLjA7CiAKICAgICBpZiAoIW1fcmVzb3VyY2VUaW1p
bmcubmV0d29ya0xvYWRNZXRyaWNzKCkuY29ubmVjdFN0YXJ0KQpAQCAtMTgxLDggKzE3Miw3IEBA
IGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjb25uZWN0U3RhcnQoKSBjb25zdAog
CiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdEVuZCgpIGNvbnN0CiB7
Ci0gICAgaWYgKCFtX3Jlc291cmNlVGltaW5nLmFsbG93VGltaW5nRGV0YWlscygpCi0gICAgICAg
IHx8IG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5S
ZWRpcmVjdCkKKyAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5m
YWlsc1RBT0NoZWNrKQogICAgICAgICByZXR1cm4gMC4wOwogCiAgICAgaWYgKCFtX3Jlc291cmNl
VGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmNvbm5lY3RFbmQpCkBAIC0xOTMsOCArMTgzLDcg
QEAgZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RFbmQoKSBjb25zdAog
CiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6c2VjdXJlQ29ubmVjdGlvblN0YXJ0
KCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxz
KCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXND
cm9zc09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2Fk
TWV0cmljcygpLmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwLjA7CiAKICAgICBpZiAo
bV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5zZWN1cmVDb25uZWN0aW9uU3Rh
cnQgPT0gcmV1c2VkVExTQ29ubmVjdGlvblNlbnRpbmVsKQpAQCAtMjA4LDggKzE5Nyw3IEBAIGRv
dWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpzZWN1cmVDb25uZWN0aW9uU3RhcnQoKSBj
b25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVxdWVzdFN0YXJ0KCkg
Y29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkK
LSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9z
c09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0
cmljcygpLmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwLjA7CiAKICAgICAvLyByZXF1
ZXN0U3RhcnQgaXMgMCB3aGVuIGEgbmV0d29yayByZXF1ZXN0IGlzIG5vdCBtYWRlLgpAQCAtMjIx
LDggKzIwOSw3IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXF1ZXN0U3Rh
cnQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVzcG9uc2VT
dGFydCgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3Jlc291cmNlVGltaW5nLmFsbG93VGltaW5nRGV0
YWlscygpCi0gICAgICAgIHx8IG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCku
aGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKKyAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3b3Jr
TG9hZE1ldHJpY3MoKS5mYWlsc1RBT0NoZWNrKQogICAgICAgICByZXR1cm4gMC4wOwogCiAgICAg
Ly8gcmVzcG9uc2VTdGFydCBpcyAwIHdoZW4gYSBuZXR3b3JrIHJlcXVlc3QgaXMgbm90IG1hZGUu
CkBAIC0yNTgsOCArMjQ1LDcgQEAgZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJl
c3BvbnNlRW5kKCkgY29uc3QKIAogdWludDY0X3QgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6
dHJhbnNmZXJTaXplKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dU
aW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1l
dHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5n
Lm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwOwog
CiAgICAgYXV0byBlbmNvZGVkQm9keVNpemUgPSBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2Fk
TWV0cmljcygpLnJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQ7CkBAIC0yNzIsOCArMjU4LDcgQEAg
dWludDY0X3QgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6dHJhbnNmZXJTaXplKCkgY29uc3QK
IAogdWludDY0X3QgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZW5jb2RlZEJvZHlTaXplKCkg
Y29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkK
LSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9z
c09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0
cmljcygpLmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgYXV0byBlbmNv
ZGVkQm9keVNpemUgPSBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlc3Bv
bnNlQm9keUJ5dGVzUmVjZWl2ZWQ7CkBAIC0yODUsOCArMjcwLDcgQEAgdWludDY0X3QgUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZzo6ZW5jb2RlZEJvZHlTaXplKCkgY29uc3QKIAogdWludDY0X3Qg
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZGVjb2RlZEJvZHlTaXplKCkgY29uc3QKIHsKLSAg
ICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwg
bV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGly
ZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxz
VEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgYXV0byBkZWNvZGVkQm9keVNpemUg
PSBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlc3BvbnNlQm9keURlY29k
ZWRTaXplOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVRpbWlu
Zy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmNwcAppbmRleCA3
YzQyNjVhNTc0OTliM2RkYmFlMTU3NWIyOTA1ZmU3NTFlNDI4MjRjLi43YWYyMGQ3ZmQ1NTk1NWM2
ODJmOGVjOWFiNTFlMDhhMzBmMTFjY2M4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlVGltaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlVGltaW5nLmNwcApAQCAtNjcsNyArNjcsNyBAQCB1bnNpZ25lZCBsb25nIGxvbmcgUGVyZm9y
bWFuY2VUaW1pbmc6OnVubG9hZEV2ZW50U3RhcnQoKSBjb25zdAogICAgIGlmICghbWV0cmljcykK
ICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBpZiAobWV0cmljcy0+aGFzQ3Jvc3NPcmlnaW5SZWRp
cmVjdCB8fCAhdGltaW5nLT5oYXNTYW1lT3JpZ2luQXNQcmV2aW91c0RvY3VtZW50KCkpCisgICAg
aWYgKG1ldHJpY3MtPmZhaWxzVEFPQ2hlY2sgfHwgIXRpbWluZy0+aGFzU2FtZU9yaWdpbkFzUHJl
dmlvdXNEb2N1bWVudCgpKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIHJldHVybiBtb25vdG9u
aWNUaW1lVG9JbnRlZ2VyTWlsbGlzZWNvbmRzKHRpbWluZy0+dW5sb2FkRXZlbnRTdGFydCgpKTsK
QEAgLTgzLDcgKzgzLDcgQEAgdW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjp1
bmxvYWRFdmVudEVuZCgpIGNvbnN0CiAgICAgaWYgKCFtZXRyaWNzKQogICAgICAgICByZXR1cm4g
MDsKIAotICAgIGlmIChtZXRyaWNzLT5oYXNDcm9zc09yaWdpblJlZGlyZWN0IHx8ICF0aW1pbmct
Pmhhc1NhbWVPcmlnaW5Bc1ByZXZpb3VzRG9jdW1lbnQoKSkKKyAgICBpZiAobWV0cmljcy0+ZmFp
bHNUQU9DaGVjayB8fCAhdGltaW5nLT5oYXNTYW1lT3JpZ2luQXNQcmV2aW91c0RvY3VtZW50KCkp
CiAgICAgICAgIHJldHVybiAwOwogCiAgICAgcmV0dXJuIG1vbm90b25pY1RpbWVUb0ludGVnZXJN
aWxsaXNlY29uZHModGltaW5nLT51bmxvYWRFdmVudEVuZCgpKTsKQEAgLTkzLDcgKzkzLDcgQEAg
dW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0KCkgY29u
c3QKIHsKICAgICBhdXRvKiBtZXRyaWNzID0gbmV0d29ya0xvYWRNZXRyaWNzKCk7CiAgICAgaWYg
KCFtZXRyaWNzCi0gICAgICAgIHx8IG1ldHJpY3MtPmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QKKyAg
ICAgICAgfHwgbWV0cmljcy0+ZmFpbHNUQU9DaGVjawogICAgICAgICB8fCAhbWV0cmljcy0+cmVk
aXJlY3RDb3VudCkKICAgICAgICAgcmV0dXJuIDA7CiAKQEAgLTEwNCw3ICsxMDQsNyBAQCB1bnNp
Z25lZCBsb25nIGxvbmcgUGVyZm9ybWFuY2VUaW1pbmc6OnJlZGlyZWN0RW5kKCkgY29uc3QKIHsK
ICAgICBhdXRvKiBtZXRyaWNzID0gbmV0d29ya0xvYWRNZXRyaWNzKCk7CiAgICAgaWYgKCFtZXRy
aWNzCi0gICAgICAgIHx8IG1ldHJpY3MtPmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QKKyAgICAgICAg
fHwgbWV0cmljcy0+ZmFpbHNUQU9DaGVjawogICAgICAgICB8fCAhbWV0cmljcy0+cmVkaXJlY3RD
b3VudCkKICAgICAgICAgcmV0dXJuIDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmNwcAppbmRleCA5MTY4N2UwOTU5ODRj
ZGY2MTBiYTU0NWNlZGM2NTc1NzEyNjMxZmZjLi5jZDg2NjVjYmI3NWRhMzkzZTkwY2MwMjFkYmY5
NTZhNzU0NjM3MjNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L0Jsb2JSZXNvdXJjZUhhbmRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9CbG9iUmVzb3VyY2VIYW5kbGUuY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAi
UmVzb3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNp
bmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIK
ICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRs
ZXIuaD4KICNpbmNsdWRlIDx3dGYvRmlsZVN5c3RlbS5oPgpAQCAtMTU0LDcgKzE1NSw3IEBAIHZv
aWQgQmxvYlJlc291cmNlSGFuZGxlOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KEJsb2JEYXRh
KiBibG9iRGF0YSwgY29uc3QgUmVzCiB9CiAKIEJsb2JSZXNvdXJjZUhhbmRsZTo6QmxvYlJlc291
cmNlSGFuZGxlKEJsb2JEYXRhKiBibG9iRGF0YSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1
ZXN0LCBSZXNvdXJjZUhhbmRsZUNsaWVudCogY2xpZW50LCBib29sIGFzeW5jKQotICAgIDogUmVz
b3VyY2VIYW5kbGUgeyBudWxscHRyLCByZXF1ZXN0LCBjbGllbnQsIGZhbHNlIC8qIGRlZmVyc0xv
YWRpbmcgKi8sIGZhbHNlIC8qIHNob3VsZENvbnRlbnRTbmlmZiAqLywgdHJ1ZSAvKiBzaG91bGRD
b250ZW50RW5jb2RpbmdTbmlmZiAqLyB9CisgICAgOiBSZXNvdXJjZUhhbmRsZSB7IG51bGxwdHIs
IHJlcXVlc3QsIGNsaWVudCwgZmFsc2UgLyogZGVmZXJzTG9hZGluZyAqLywgZmFsc2UgLyogc2hv
dWxkQ29udGVudFNuaWZmICovLCB0cnVlIC8qIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmICov
LCBudWxscHRyIC8qIHNvdXJjZU9yaWdpbiAqLywgZmFsc2UgLyogaXNNYWluRnJhbWVOYXZpZ2F0
aW9uICovIH0KICAgICAsIG1fYmxvYkRhdGEgeyBibG9iRGF0YSB9CiAgICAgLCBtX2FzeW5jIHsg
YXN5bmMgfQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9O
ZXR3b3JrTG9hZE1ldHJpY3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0
d29ya0xvYWRNZXRyaWNzLmgKaW5kZXggN2ZhNjUyOTUwYjNhZDc4MTlmNWY0MzNhMzA2OTkxZTg4
ODI0YTE2YS4uNWY4YzAxYTdjMDJmODA5MjJiYWYyNDYyY2E2YWUwNmE2MGIzN2E2NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrTG9hZE1ldHJpY3Mu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtMb2FkTWV0cmlj
cy5oCkBAIC05NSw2ICs5NSw3IEBAIHB1YmxpYzoKICAgICBib29sIGNvbnN0cmFpbmVkIHsgZmFs
c2UgfTsKICAgICBib29sIG11bHRpcGF0aCB7IGZhbHNlIH07CiAgICAgYm9vbCBpc1JldXNlZENv
bm5lY3Rpb24geyBmYWxzZSB9OworICAgIGJvb2wgZmFpbHNUQU9DaGVjayB7IGZhbHNlIH07CiAg
ICAgYm9vbCBoYXNDcm9zc09yaWdpblJlZGlyZWN0IHsgZmFsc2UgfTsKIH07CiAKQEAgLTEyOCw2
ICsxMjksNyBAQCBwdWJsaWM6CiAgICAgICAgIGNvcHkuY29uc3RyYWluZWQgPSBjb25zdHJhaW5l
ZDsKICAgICAgICAgY29weS5tdWx0aXBhdGggPSBtdWx0aXBhdGg7CiAgICAgICAgIGNvcHkuaXNS
ZXVzZWRDb25uZWN0aW9uID0gaXNSZXVzZWRDb25uZWN0aW9uOworICAgICAgICBjb3B5LmZhaWxz
VEFPQ2hlY2sgPSBmYWlsc1RBT0NoZWNrOwogICAgICAgICBjb3B5Lmhhc0Nyb3NzT3JpZ2luUmVk
aXJlY3QgPSBoYXNDcm9zc09yaWdpblJlZGlyZWN0OwogCiAgICAgICAgIGNvcHkucmVtb3RlQWRk
cmVzcyA9IHJlbW90ZUFkZHJlc3MuaXNvbGF0ZWRDb3B5KCk7CkBAIC0xNjUsNiArMTY3LDcgQEAg
cHVibGljOgogICAgICAgICAgICAgJiYgY29uc3RyYWluZWQgPT0gb3RoZXIuY29uc3RyYWluZWQK
ICAgICAgICAgICAgICYmIG11bHRpcGF0aCA9PSBvdGhlci5tdWx0aXBhdGgKICAgICAgICAgICAg
ICYmIGlzUmV1c2VkQ29ubmVjdGlvbiA9PSBvdGhlci5pc1JldXNlZENvbm5lY3Rpb24KKyAgICAg
ICAgICAgICYmIGZhaWxzVEFPQ2hlY2sgPT0gb3RoZXIuZmFpbHNUQU9DaGVjawogICAgICAgICAg
ICAgJiYgaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCA9PSBvdGhlci5oYXNDcm9zc09yaWdpblJlZGly
ZWN0CiAgICAgICAgICAgICAmJiBwcm90b2NvbCA9PSBvdGhlci5wcm90b2NvbAogICAgICAgICAg
ICAgJiYgcmVkaXJlY3RDb3VudCA9PSBvdGhlci5yZWRpcmVjdENvdW50CkBAIC0yMTAsNyArMjEz
LDcgQEAgcHVibGljOgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiBCb3g8TmV0d29ya0xvYWRNZXRy
aWNzPiBjb3B5VGltaW5nRGF0YShOU1VSTENvbm5lY3Rpb24gKiwgY29uc3QgUmVzb3VyY2VIYW5k
bGUmKTsKLVdFQkNPUkVfRVhQT1JUIEJveDxOZXR3b3JrTG9hZE1ldHJpY3M+IGNvcHlUaW1pbmdE
YXRhKE5TVVJMU2Vzc2lvblRhc2tNZXRyaWNzICppbmNvbXBsZXRlTWV0cmljcywgYm9vbCBoYXND
cm9zc09yaWdpblJlZGlyZWN0KTsKK1dFQkNPUkVfRVhQT1JUIEJveDxOZXR3b3JrTG9hZE1ldHJp
Y3M+IGNvcHlUaW1pbmdEYXRhKE5TVVJMU2Vzc2lvblRhc2tNZXRyaWNzICppbmNvbXBsZXRlTWV0
cmljcywgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJik7CiAjZW5kaWYKIAogdGVtcGxhdGU8Y2xh
c3MgRW5jb2Rlcj4KQEAgLTIzNCw2ICsyMzcsNyBAQCB2b2lkIE5ldHdvcmtMb2FkTWV0cmljczo6
ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBjb25zdHJhaW5l
ZDsKICAgICBlbmNvZGVyIDw8IG11bHRpcGF0aDsKICAgICBlbmNvZGVyIDw8IGlzUmV1c2VkQ29u
bmVjdGlvbjsKKyAgICBlbmNvZGVyIDw8IGZhaWxzVEFPQ2hlY2s7CiAgICAgZW5jb2RlciA8PCBo
YXNDcm9zc09yaWdpblJlZGlyZWN0OwogICAgIGVuY29kZXIgPDwgcHJvdG9jb2w7CiAgICAgZW5j
b2RlciA8PCByZWRpcmVjdENvdW50OwpAQCAtMjcyLDYgKzI3Niw3IEBAIGJvb2wgTmV0d29ya0xv
YWRNZXRyaWNzOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgTmV0d29ya0xvYWRNZXRyaWNzJiBt
ZXRyaWNzKQogICAgICAgICAmJiBkZWNvZGVyLmRlY29kZShtZXRyaWNzLmNvbnN0cmFpbmVkKQog
ICAgICAgICAmJiBkZWNvZGVyLmRlY29kZShtZXRyaWNzLm11bHRpcGF0aCkKICAgICAgICAgJiYg
ZGVjb2Rlci5kZWNvZGUobWV0cmljcy5pc1JldXNlZENvbm5lY3Rpb24pCisgICAgICAgICYmIGRl
Y29kZXIuZGVjb2RlKG1ldHJpY3MuZmFpbHNUQU9DaGVjaykKICAgICAgICAgJiYgZGVjb2Rlci5k
ZWNvZGUobWV0cmljcy5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQogICAgICAgICAmJiBkZWNvZGVy
LmRlY29kZShtZXRyaWNzLnByb3RvY29sKQogICAgICAgICAmJiBkZWNvZGVyLmRlY29kZShtZXRy
aWNzLnJlZGlyZWN0Q291bnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VIYW5kbGUuY3BwCmluZGV4IDBkN2E3M2QxYTMyZWRlMmRmNjgzMDFhMjVjZjEx
ZjU3ZjViYTZhMTYuLjg2MjFhOGMzYWJmYzllOTJkYjI1NzdiYzNkMTU5MWIzNTc2MmU2MWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUu
Y3BwCkBAIC0zMSw3ICszMSw5IEBACiAjaW5jbHVkZSAiTmV0d29ya2luZ0NvbnRleHQuaCIKICNp
bmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50
LmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJUaW1lci5oIgorI2lu
Y2x1ZGUgIlRpbWluZ0FsbG93T3JpZ2luLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1
ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+
CkBAIC03NSw4ICs3Nyw4IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnJlZ2lzdGVyQnVpbHRpblN5
bmNocm9ub3VzTG9hZGVyKGNvbnN0IEF0b21TdHJpbmcmIHByb3RvY29sCiAgICAgYnVpbHRpblJl
c291cmNlSGFuZGxlU3luY2hyb25vdXNMb2FkZXJNYXAoKS5hZGQocHJvdG9jb2wsIGxvYWRlcik7
CiB9CiAKLVJlc291cmNlSGFuZGxlOjpSZXNvdXJjZUhhbmRsZShOZXR3b3JraW5nQ29udGV4dCog
Y29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUhhbmRsZUNs
aWVudCogY2xpZW50LCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVudFNuaWZm
LCBib29sIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKQotICAgIDogZChtYWtlVW5pcXVlPFJl
c291cmNlSGFuZGxlSW50ZXJuYWw+KHRoaXMsIGNvbnRleHQsIHJlcXVlc3QsIGNsaWVudCwgZGVm
ZXJzTG9hZGluZywgc2hvdWxkQ29udGVudFNuaWZmICYmIHNob3VsZENvbnRlbnRTbmlmZlVSTChy
ZXF1ZXN0LnVybCgpKSwgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYpKQorUmVzb3VyY2VIYW5k
bGU6OlJlc291cmNlSGFuZGxlKE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQsIGJvb2wg
ZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVu
dEVuY29kaW5nU25pZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBzb3VyY2VPcmlnaW4sIGJv
b2wgaXNNYWluRnJhbWVOYXZpZ2F0aW9uKQorICAgIDogZChtYWtlVW5pcXVlPFJlc291cmNlSGFu
ZGxlSW50ZXJuYWw+KHRoaXMsIGNvbnRleHQsIHJlcXVlc3QsIGNsaWVudCwgZGVmZXJzTG9hZGlu
Zywgc2hvdWxkQ29udGVudFNuaWZmICYmIHNob3VsZENvbnRlbnRTbmlmZlVSTChyZXF1ZXN0LnVy
bCgpKSwgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYsIFdURk1vdmUoc291cmNlT3JpZ2luKSwg
aXNNYWluRnJhbWVOYXZpZ2F0aW9uKSkKIHsKICAgICBpZiAoIXJlcXVlc3QudXJsKCkuaXNWYWxp
ZCgpKSB7CiAgICAgICAgIHNjaGVkdWxlRmFpbHVyZShJbnZhbGlkVVJMRmFpbHVyZSk7CkBAIC04
OSwxMiArOTEsMTIgQEAgUmVzb3VyY2VIYW5kbGU6OlJlc291cmNlSGFuZGxlKE5ldHdvcmtpbmdD
b250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QKICAgICB9CiB9CiAKLVJlZlB0
cjxSZXNvdXJjZUhhbmRsZT4gUmVzb3VyY2VIYW5kbGU6OmNyZWF0ZShOZXR3b3JraW5nQ29udGV4
dCogY29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUhhbmRs
ZUNsaWVudCogY2xpZW50LCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVudFNu
aWZmLCBib29sIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKQorUmVmUHRyPFJlc291cmNlSGFu
ZGxlPiBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlKE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGll
bnQsIGJvb2wgZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hv
dWxkQ29udGVudEVuY29kaW5nU25pZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBzb3VyY2VP
cmlnaW4sIGJvb2wgaXNNYWluRnJhbWVOYXZpZ2F0aW9uKQogewogICAgIGlmIChhdXRvIGNvbnN0
cnVjdG9yID0gYnVpbHRpblJlc291cmNlSGFuZGxlQ29uc3RydWN0b3JNYXAoKS5nZXQocmVxdWVz
dC51cmwoKS5wcm90b2NvbCgpLnRvU3RyaW5nV2l0aG91dENvcHlpbmcoKSkpCiAgICAgICAgIHJl
dHVybiBjb25zdHJ1Y3RvcihyZXF1ZXN0LCBjbGllbnQpOwogCi0gICAgYXV0byBuZXdIYW5kbGUg
PSBhZG9wdFJlZigqbmV3IFJlc291cmNlSGFuZGxlKGNvbnRleHQsIHJlcXVlc3QsIGNsaWVudCwg
ZGVmZXJzTG9hZGluZywgc2hvdWxkQ29udGVudFNuaWZmLCBzaG91bGRDb250ZW50RW5jb2RpbmdT
bmlmZikpOworICAgIGF1dG8gbmV3SGFuZGxlID0gYWRvcHRSZWYoKm5ldyBSZXNvdXJjZUhhbmRs
ZShjb250ZXh0LCByZXF1ZXN0LCBjbGllbnQsIGRlZmVyc0xvYWRpbmcsIHNob3VsZENvbnRlbnRT
bmlmZiwgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYsIFdURk1vdmUoc291cmNlT3JpZ2luKSwg
aXNNYWluRnJhbWVOYXZpZ2F0aW9uKSk7CiAKICAgICBpZiAobmV3SGFuZGxlLT5kLT5tX3NjaGVk
dWxlZEZhaWx1cmVUeXBlICE9IE5vRmFpbHVyZSkKICAgICAgICAgcmV0dXJuIG5ld0hhbmRsZTsK
QEAgLTEzMywxNCArMTM1LDE0IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmZhaWx1cmVUaW1lckZp
cmVkKCkKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAotdm9pZCBSZXNvdXJjZUhhbmRs
ZTo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSBz
dG9yZWRDcmVkZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYgZXJyb3IsIFJlc291cmNlUmVz
cG9uc2UmIHJlc3BvbnNlLCBWZWN0b3I8dWludDhfdD4mIGRhdGEpCit2b2lkIFJlc291cmNlSGFu
ZGxlOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0
LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFN0b3JlZENyZWRlbnRpYWxzUG9saWN5
IHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBTZWN1cml0eU9yaWdpbiogc291cmNlT3JpZ2luLCBS
ZXNvdXJjZUVycm9yJiBlcnJvciwgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFZlY3Rvcjx1
aW50OF90PiYgZGF0YSkKIHsKICAgICBpZiAoYXV0byBjb25zdHJ1Y3RvciA9IGJ1aWx0aW5SZXNv
dXJjZUhhbmRsZVN5bmNocm9ub3VzTG9hZGVyTWFwKCkuZ2V0KHJlcXVlc3QudXJsKCkucHJvdG9j
b2woKS50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCkpKSB7CiAgICAgICAgIGNvbnN0cnVjdG9yKGNv
bnRleHQsIHJlcXVlc3QsIHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBlcnJvciwgcmVzcG9uc2Us
IGRhdGEpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgcGxhdGZvcm1Mb2FkUmVzb3Vy
Y2VTeW5jaHJvbm91c2x5KGNvbnRleHQsIHJlcXVlc3QsIHN0b3JlZENyZWRlbnRpYWxzUG9saWN5
LCBlcnJvciwgcmVzcG9uc2UsIGRhdGEpOworICAgIHBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hy
b25vdXNseShjb250ZXh0LCByZXF1ZXN0LCBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgc291cmNl
T3JpZ2luLCBlcnJvciwgcmVzcG9uc2UsIGRhdGEpOwogfQogCiBSZXNvdXJjZUhhbmRsZUNsaWVu
dCogUmVzb3VyY2VIYW5kbGU6OmNsaWVudCgpIGNvbnN0CkBAIC0yMDQsMTQgKzIwNiwzNCBAQCB2
b2lkIFJlc291cmNlSGFuZGxlOjpjbGVhckF1dGhlbnRpY2F0aW9uKCkKICAgICBkLT5tX2N1cnJl
bnRXZWJDaGFsbGVuZ2UubnVsbGlmeSgpOwogfQogCitib29sIFJlc291cmNlSGFuZGxlOjpmYWls
c1RBT0NoZWNrKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZC0+bV9mYWlsc1RBT0NoZWNrOworfQor
Cit2b2lkIFJlc291cmNlSGFuZGxlOjpjaGVja1RBTyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBy
ZXNwb25zZSkKK3sKKyAgICBpZiAoZC0+bV9mYWlsc1RBT0NoZWNrKQorICAgICAgICByZXR1cm47
CisKKyAgICBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IG9yaWdpbjsKKyAgICBpZiAoZC0+bV9pc01h
aW5GcmFtZU5hdmlnYXRpb24pCisgICAgICAgIG9yaWdpbiA9IFNlY3VyaXR5T3JpZ2luOjpjcmVh
dGUoZmlyc3RSZXF1ZXN0KCkudXJsKCkpOworICAgIGVsc2UKKyAgICAgICAgb3JpZ2luID0gZC0+
bV9zb3VyY2VPcmlnaW47CisKKyAgICBpZiAob3JpZ2luKQorICAgICAgICBkLT5tX2ZhaWxzVEFP
Q2hlY2sgPSAhcGFzc2VzVGltaW5nQWxsb3dPcmlnaW5DaGVjayhyZXNwb25zZSwgKm9yaWdpbik7
Cit9CisKIGJvb2wgUmVzb3VyY2VIYW5kbGU6Omhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QoKSBjb25z
dAogewogICAgIHJldHVybiBkLT5tX2hhc0Nyb3NzT3JpZ2luUmVkaXJlY3Q7CiB9CiAKLXZvaWQg
UmVzb3VyY2VIYW5kbGU6OnNldEhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QoYm9vbCB2YWx1ZSkKK3Zv
aWQgUmVzb3VyY2VIYW5kbGU6Om1hcmtBc0hhdmluZ0Nyb3NzT3JpZ2luUmVkaXJlY3QoKQogewot
ICAgIGQtPm1faGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCA9IHZhbHVlOworICAgIGQtPm1faGFzQ3Jv
c3NPcmlnaW5SZWRpcmVjdCA9IHRydWU7CiB9CiAKIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmluY3Jl
bWVudFJlZGlyZWN0Q291bnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZUhhbmRsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZUhhbmRsZS5oCmluZGV4IGZmZDg4NTQ3ZTYwNmJmOGMwZWI1MmFmOGJiOGE5MjBj
YTYxYjE3OWQuLmZhZmRmZTg3YzgzN2U2MTU3ZDJmMTNlOWE3Y2EwMDk2OWQ1MGIxYzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgKQEAg
LTgzLDYgKzgzLDcgQEAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbDsKIGNsYXNzIE5ldHdv
cmtMb2FkTWV0cmljczsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIGNsYXNzIFJlc291cmNlUmVz
cG9uc2U7CitjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIGNsYXNz
IFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlOwogY2xhc3MgVGltZXI7CkBAIC05NCw4ICs5
NSw4IEBAIGNsYXNzIEN1cmxSZXNvdXJjZUhhbmRsZURlbGVnYXRlOwogCiBjbGFzcyBSZXNvdXJj
ZUhhbmRsZSA6IHB1YmxpYyBSZWZDb3VudGVkPFJlc291cmNlSGFuZGxlPiwgcHVibGljIEF1dGhl
bnRpY2F0aW9uQ2xpZW50IHsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVm
UHRyPFJlc291cmNlSGFuZGxlPiBjcmVhdGUoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmLCBSZXNvdXJjZUhhbmRsZUNsaWVudCosIGJvb2wgZGVmZXJzTG9hZGluZywg
Ym9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYp
OwotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3Vz
bHkoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBTdG9yZWRDcmVk
ZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVzcG9uc2UmLCBWZWN0b3I8
dWludDhfdD4mIGRhdGEpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWZQdHI8UmVzb3Vy
Y2VIYW5kbGU+IGNyZWF0ZShOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFJlc291cmNlUmVxdWVz
dCYsIFJlc291cmNlSGFuZGxlQ2xpZW50KiwgYm9vbCBkZWZlcnNMb2FkaW5nLCBib29sIHNob3Vs
ZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwgUmVmUHRyPFNl
Y3VyaXR5T3JpZ2luPiYmIHNvdXJjZU9yaWdpbiwgYm9vbCBpc01haW5GcmFtZU5hdmlnYXRpb24p
OworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3Vz
bHkoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBTdG9yZWRDcmVk
ZW50aWFsc1BvbGljeSwgU2VjdXJpdHlPcmlnaW4qLCBSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VS
ZXNwb25zZSYsIFZlY3Rvcjx1aW50OF90PiYgZGF0YSk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdmly
dHVhbCB+UmVzb3VyY2VIYW5kbGUoKTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBVU0UoQ0ZV
UkxDT05ORUNUSU9OKQpAQCAtMTc0LDggKzE3NSwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRO
ZXR3b3JrTG9hZE1ldHJpY3MoQm94PE5ldHdvcmtMb2FkTWV0cmljcz4mJik7CiAKICAgICBNb25v
dG9uaWNUaW1lIHN0YXJ0VGltZUJlZm9yZVJlZGlyZWN0cygpIGNvbnN0OworICAgIGJvb2wgZmFp
bHNUQU9DaGVjaygpIGNvbnN0OworICAgIHZvaWQgY2hlY2tUQU8oY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYpOwogICAgIGJvb2wgaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCgpIGNvbnN0OwotICAgIHZv
aWQgc2V0SGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdChib29sKTsKKyAgICB2b2lkIG1hcmtBc0hhdmlu
Z0Nyb3NzT3JpZ2luUmVkaXJlY3QoKTsKICAgICB1aW50MTZfdCByZWRpcmVjdENvdW50KCkgY29u
c3Q7CiAgICAgdm9pZCBpbmNyZW1lbnRSZWRpcmVjdENvdW50KCk7CiAKQEAgLTIwNiw3ICsyMDks
NyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJCdWlsdGluU3luY2hyb25vdXNM
b2FkZXIoY29uc3QgQXRvbVN0cmluZyYgcHJvdG9jb2wsIEJ1aWx0aW5TeW5jaHJvbm91c0xvYWRl
cik7CiAKIHByb3RlY3RlZDoKLSAgICBSZXNvdXJjZUhhbmRsZShOZXR3b3JraW5nQ29udGV4dCos
IGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFJlc291cmNlSGFuZGxlQ2xpZW50KiwgYm9vbCBkZWZl
cnNMb2FkaW5nLCBib29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91bGRDb250ZW50RW5j
b2RpbmdTbmlmZik7CisgICAgUmVzb3VyY2VIYW5kbGUoTmV0d29ya2luZ0NvbnRleHQqLCBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmLCBSZXNvdXJjZUhhbmRsZUNsaWVudCosIGJvb2wgZGVmZXJzTG9h
ZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVudEVuY29kaW5n
U25pZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBzb3VyY2VPcmlnaW4sIGJvb2wgaXNNYWlu
RnJhbWVOYXZpZ2F0aW9uKTsKIAogcHJpdmF0ZToKICAgICBlbnVtIEZhaWx1cmVUeXBlIHsKQEAg
LTIyMiw3ICsyMjUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1bGVGYWlsdXJlKEZhaWx1
cmVUeXBlKTsKIAogICAgIGJvb2wgc3RhcnQoKTsKLSAgICBzdGF0aWMgdm9pZCBwbGF0Zm9ybUxv
YWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmLCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYsIFJlc291
cmNlUmVzcG9uc2UmLCBWZWN0b3I8dWludDhfdD4mIGRhdGEpOworICAgIHN0YXRpYyB2b2lkIHBs
YXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0
IFJlc291cmNlUmVxdWVzdCYsIFN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBTZWN1cml0eU9yaWdp
biosIFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlJiwgVmVjdG9yPHVpbnQ4X3Q+JiBk
YXRhKTsKIAogICAgIHZvaWQgcmVmQXV0aGVudGljYXRpb25DbGllbnQoKSBvdmVycmlkZSB7IHJl
ZigpOyB9CiAgICAgdm9pZCBkZXJlZkF1dGhlbnRpY2F0aW9uQ2xpZW50KCkgb3ZlcnJpZGUgeyBk
ZXJlZigpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlSGFuZGxlSW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCmluZGV4IDE4ZmQ0MWM4NjY3N2Y1ZTAwMDQ3ODZlMzFk
NTZiNTNhNTc1ZDgxYWUuLmVjODk0MmM5ZTIyNTAwZDA2YThlNzU1MGY4MTM2YTliNjljYTczMDMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5k
bGVJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VIYW5kbGVJbnRlcm5hbC5oCkBAIC02NSw3ICs2NSw3IEBAIGNsYXNzIFJlc291cmNlSGFuZGxl
SW50ZXJuYWwgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlc291cmNlSGFuZGxlSW50ZXJu
YWwpOwogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEX1dJVEhfSEVBUF9JREVOVElGSUVSKFJl
c291cmNlSGFuZGxlSW50ZXJuYWwpOwogcHVibGljOgotICAgIFJlc291cmNlSGFuZGxlSW50ZXJu
YWwoUmVzb3VyY2VIYW5kbGUqIGxvYWRlciwgTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQsIGNv
bnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VIYW5kbGVDbGllbnQqIGNsaWVu
dCwgYm9vbCBkZWZlcnNMb2FkaW5nLCBib29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91
bGRDb250ZW50RW5jb2RpbmdTbmlmZikKKyAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKFJlc291
cmNlSGFuZGxlKiBsb2FkZXIsIE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQsIGJvb2wg
ZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVu
dEVuY29kaW5nU25pZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBzb3VyY2VPcmlnaW4sIGJv
b2wgaXNNYWluRnJhbWVOYXZpZ2F0aW9uKQogICAgICAgICA6IG1fY29udGV4dChjb250ZXh0KQog
ICAgICAgICAsIG1fY2xpZW50KGNsaWVudCkKICAgICAgICAgLCBtX2ZpcnN0UmVxdWVzdChyZXF1
ZXN0KQpAQCAtNzgsNiArNzgsOCBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9jdXJyZW50UmVxdWVz
dChyZXF1ZXN0KQogI2VuZGlmCiAgICAgICAgICwgbV9mYWlsdXJlVGltZXIoKmxvYWRlciwgJlJl
c291cmNlSGFuZGxlOjpmYWlsdXJlVGltZXJGaXJlZCkKKyAgICAgICAgLCBtX3NvdXJjZU9yaWdp
bihXVEZNb3ZlKHNvdXJjZU9yaWdpbikpCisgICAgICAgICwgbV9pc01haW5GcmFtZU5hdmlnYXRp
b24oaXNNYWluRnJhbWVOYXZpZ2F0aW9uKQogICAgIHsKICAgICAgICAgY29uc3QgVVJMJiB1cmwg
PSBtX2ZpcnN0UmVxdWVzdC51cmwoKTsKICAgICAgICAgbV91c2VyID0gdXJsLnVzZXIoKTsKQEAg
LTEzMyw3ICsxMzUsOSBAQCBwdWJsaWM6CiAgICAgQm94PE5ldHdvcmtMb2FkTWV0cmljcz4gbV9u
ZXR3b3JrTG9hZE1ldHJpY3M7CiAgICAgTW9ub3RvbmljVGltZSBtX3N0YXJ0VGltZTsKICAgICB1
aW50MTZfdCBtX3JlZGlyZWN0Q291bnQgeyAwIH07CisgICAgYm9vbCBtX2ZhaWxzVEFPQ2hlY2sg
eyBmYWxzZSB9OwogICAgIGJvb2wgbV9oYXNDcm9zc09yaWdpblJlZGlyZWN0IHsgZmFsc2UgfTsK
KyAgICBib29sIG1faXNDcm9zc09yaWdpbiB7IGZhbHNlIH07CiAKICNpZiBQTEFURk9STShDT0NP
QSkKICAgICAvLyBXZSBuZWVkIHRvIGtlZXAgYSByZWZlcmVuY2UgdG8gdGhlIG9yaWdpbmFsIGNo
YWxsZW5nZSB0byBiZSBhYmxlIHRvIGNhbmNlbCBpdC4KQEAgLTE0NCw2ICsxNDgsOCBAQCBwdWJs
aWM6CiAgICAgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UgbV9jdXJyZW50V2ViQ2hhbGxlbmdlOwog
ICAgIFJlc291cmNlSGFuZGxlOjpGYWlsdXJlVHlwZSBtX3NjaGVkdWxlZEZhaWx1cmVUeXBlIHsg
UmVzb3VyY2VIYW5kbGU6Ok5vRmFpbHVyZSB9OwogICAgIFRpbWVyIG1fZmFpbHVyZVRpbWVyOwor
ICAgIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4gbV9zb3VyY2VPcmlnaW47CisgICAgYm9vbCBtX2lz
TWFpbkZyYW1lTmF2aWdhdGlvbiB7IGZhbHNlIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1RpbWluZ0Fs
bG93T3JpZ2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvVGltaW5nQWxs
b3dPcmlnaW4uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczNGQ5MTY2ZTIwNDhlZjhmNGY0NGUyMmNjYTVhYmM3
YTFjZTE0MGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1RpbWluZ0FsbG93T3JpZ2luLmNwcApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlRpbWluZ0FsbG93T3JpZ2luLmgiCisKKyNp
bmNsdWRlICJIVFRQUGFyc2Vycy5oIgorI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKKyNp
bmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Jvb2wg
cGFzc2VzVGltaW5nQWxsb3dPcmlnaW5DaGVjayhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNw
b25zZSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIGluaXRpYXRvclNlY3VyaXR5T3JpZ2luKQorewor
ICAgIC8vIGh0dHBzOi8vZmV0Y2guc3BlYy53aGF0d2cub3JnLyN0YW8tY2hlY2sKKyAgICBhdXRv
IHJlc291cmNlT3JpZ2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZShyZXNwb25zZS51cmwoKSk7
CisgICAgaWYgKHJlc291cmNlT3JpZ2luLT5pc1NhbWVTY2hlbWVIb3N0UG9ydChpbml0aWF0b3JT
ZWN1cml0eU9yaWdpbikpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgY29uc3QgU3RyaW5n
JiB0aW1pbmdBbGxvd09yaWdpblN0cmluZyA9IHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQ
SGVhZGVyTmFtZTo6VGltaW5nQWxsb3dPcmlnaW4pOworICAgIGNvbnN0IFN0cmluZyYgc2VjdXJp
dHlPcmlnaW4gPSBpbml0aWF0b3JTZWN1cml0eU9yaWdpbi50b1N0cmluZygpOworICAgIGZvciAo
YXV0byYgb3JpZ2luV2l0aFNwYWNlIDogdGltaW5nQWxsb3dPcmlnaW5TdHJpbmcuc3BsaXQoJywn
KSkgeworICAgICAgICBhdXRvIG9yaWdpbiA9IHN0cmlwTGVhZGluZ0FuZFRyYWlsaW5nSFRUUFNw
YWNlcyhTdHJpbmdWaWV3KG9yaWdpbldpdGhTcGFjZSkpOworICAgICAgICBpZiAob3JpZ2luID09
ICIqIiB8fCBvcmlnaW4gPT0gc2VjdXJpdHlPcmlnaW4pCisgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvVGltaW5nQWxsb3dPcmlnaW4uaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvVGltaW5nQWxsb3dPcmlnaW4uaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
ODMwMDgzMzkzOGFhMjVkZDhjOTA5YTA1ZTRjNmRkZmRhMWYzOTVlCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5oCkBA
IC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOworY2xhc3MgU2VjdXJpdHlPcmlnaW47
CisKK1dFQkNPUkVfRVhQT1JUIGJvb2wgcGFzc2VzVGltaW5nQWxsb3dPcmlnaW5DaGVjayhjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4mIGluaXRp
YXRvclNlY3VyaXR5T3JpZ2luKTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jb2NvYS9OZXR3b3JrTG9hZE1ldHJpY3MubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtMb2FkTWV0cmljcy5tbQppbmRleCBiNTQ0
N2RmNTQ3NmMwYzRjNGFiYzU4OWNiMzE3ODViYmY0OGNhZDk1Li42MzEyZTA2ODQyOTdiNDNjMzMx
MWU0NzM5YjY4MWFiNDQ1YzMzNjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2NvY29hL05ldHdvcmtMb2FkTWV0cmljcy5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtMb2FkTWV0cmljcy5tbQpAQCAtMzgsNyAr
MzgsNyBAQCBzdGF0aWMgTW9ub3RvbmljVGltZSBkYXRlVG9Nb25vdG9uaWNUaW1lKE5TRGF0ZSAq
ZGF0ZSkKICAgICByZXR1cm4geyB9OwogfQogCi1zdGF0aWMgQm94PE5ldHdvcmtMb2FkTWV0cmlj
cz4gcGFja2FnZVRpbWluZ0RhdGEoTW9ub3RvbmljVGltZSByZWRpcmVjdFN0YXJ0LCBOU0RhdGUg
KmZldGNoU3RhcnQsIE5TRGF0ZSAqZG9tYWluTG9va3VwU3RhcnQsIE5TRGF0ZSAqZG9tYWluTG9v
a3VwRW5kLCBOU0RhdGUgKmNvbm5lY3RTdGFydCwgTlNEYXRlICpzZWN1cmVDb25uZWN0aW9uU3Rh
cnQsIE5TRGF0ZSAqY29ubmVjdEVuZCwgTlNEYXRlICpyZXF1ZXN0U3RhcnQsIE5TRGF0ZSAqcmVz
cG9uc2VTdGFydCwgYm9vbCByZXVzZWRUTFNDb25uZWN0aW9uLCBOU1N0cmluZyAqcHJvdG9jb2ws
IHVpbnQxNl90IHJlZGlyZWN0Q291bnQsIGJvb2wgaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKK3N0
YXRpYyBCb3g8TmV0d29ya0xvYWRNZXRyaWNzPiBwYWNrYWdlVGltaW5nRGF0YShNb25vdG9uaWNU
aW1lIHJlZGlyZWN0U3RhcnQsIE5TRGF0ZSAqZmV0Y2hTdGFydCwgTlNEYXRlICpkb21haW5Mb29r
dXBTdGFydCwgTlNEYXRlICpkb21haW5Mb29rdXBFbmQsIE5TRGF0ZSAqY29ubmVjdFN0YXJ0LCBO
U0RhdGUgKnNlY3VyZUNvbm5lY3Rpb25TdGFydCwgTlNEYXRlICpjb25uZWN0RW5kLCBOU0RhdGUg
KnJlcXVlc3RTdGFydCwgTlNEYXRlICpyZXNwb25zZVN0YXJ0LCBib29sIHJldXNlZFRMU0Nvbm5l
Y3Rpb24sIE5TU3RyaW5nICpwcm90b2NvbCwgdWludDE2X3QgcmVkaXJlY3RDb3VudCwgYm9vbCBm
YWlsc1RBT0NoZWNrLCBib29sIGhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QpCiB7CiAKICAgICBhdXRv
IHRpbWluZyA9IEJveDxOZXR3b3JrTG9hZE1ldHJpY3M+OjpjcmVhdGUoKTsKQEAgLTU2LDYgKzU2
LDcgQEAgc3RhdGljIEJveDxOZXR3b3JrTG9hZE1ldHJpY3M+IHBhY2thZ2VUaW1pbmdEYXRhKE1v
bm90b25pY1RpbWUgcmVkaXJlY3RTdGFydCwgTlMKICAgICB0aW1pbmctPnJlcXVlc3RTdGFydCA9
IGRhdGVUb01vbm90b25pY1RpbWUocmVxdWVzdFN0YXJ0KTsKICAgICB0aW1pbmctPnJlc3BvbnNl
U3RhcnQgPSBkYXRlVG9Nb25vdG9uaWNUaW1lKHJlc3BvbnNlU3RhcnQpOwogICAgIHRpbWluZy0+
cmVkaXJlY3RDb3VudCA9IHJlZGlyZWN0Q291bnQ7CisgICAgdGltaW5nLT5mYWlsc1RBT0NoZWNr
ID0gZmFpbHNUQU9DaGVjazsKICAgICB0aW1pbmctPmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QgPSBo
YXNDcm9zc09yaWdpblJlZGlyZWN0OwogCiAgICAgLy8gTk9URTogcmVzcG9uc2VFbmQgaXMgbm90
IHBvcHVsYXRlZCBpbiB0aGlzIGNvZGUgcGF0aC4KQEAgLTYzLDcgKzY0LDcgQEAgc3RhdGljIEJv
eDxOZXR3b3JrTG9hZE1ldHJpY3M+IHBhY2thZ2VUaW1pbmdEYXRhKE1vbm90b25pY1RpbWUgcmVk
aXJlY3RTdGFydCwgTlMKICAgICByZXR1cm4gdGltaW5nOwogfQogCi1Cb3g8TmV0d29ya0xvYWRN
ZXRyaWNzPiBjb3B5VGltaW5nRGF0YShOU1VSTFNlc3Npb25UYXNrTWV0cmljcyAqaW5jb21wbGV0
ZU1ldHJpY3MsIGJvb2wgaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKK0JveDxOZXR3b3JrTG9hZE1l
dHJpY3M+IGNvcHlUaW1pbmdEYXRhKE5TVVJMU2Vzc2lvblRhc2tNZXRyaWNzICppbmNvbXBsZXRl
TWV0cmljcywgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJiBtZXRyaWNzRnJvbVRhc2spCiB7CiAg
ICAgTlNBcnJheTxOU1VSTFNlc3Npb25UYXNrVHJhbnNhY3Rpb25NZXRyaWNzICo+ICp0cmFuc2Fj
dGlvbk1ldHJpY3MgPSBpbmNvbXBsZXRlTWV0cmljcy50cmFuc2FjdGlvbk1ldHJpY3M7CiAgICAg
TlNVUkxTZXNzaW9uVGFza1RyYW5zYWN0aW9uTWV0cmljcyAqbWV0cmljcyA9IHRyYW5zYWN0aW9u
TWV0cmljcy5sYXN0T2JqZWN0OwpAQCAtODAsNyArODEsOCBAQCBCb3g8TmV0d29ya0xvYWRNZXRy
aWNzPiBjb3B5VGltaW5nRGF0YShOU1VSTFNlc3Npb25UYXNrTWV0cmljcyAqaW5jb21wbGV0ZU1l
dHJpYwogICAgICAgICBtZXRyaWNzLnJldXNlZENvbm5lY3Rpb24sCiAgICAgICAgIG1ldHJpY3Mu
cmVzcG9uc2UuVVJMLnNjaGVtZSwKICAgICAgICAgaW5jb21wbGV0ZU1ldHJpY3MucmVkaXJlY3RD
b3VudCwKLSAgICAgICAgaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdAorICAgICAgICBtZXRyaWNzRnJv
bVRhc2suZmFpbHNUQU9DaGVjaywKKyAgICAgICAgbWV0cmljc0Zyb21UYXNrLmhhc0Nyb3NzT3Jp
Z2luUmVkaXJlY3QKICAgICApOwogfQogCkBAIC0xMDksNiArMTExLDcgQEAgQm94PE5ldHdvcmtM
b2FkTWV0cmljcz4gY29weVRpbWluZ0RhdGEoTlNVUkxDb25uZWN0aW9uICpjb25uZWN0aW9uLCBj
b25zdCBSZXNvdXIKICAgICAgICAgdGltaW5nVmFsdWUoQCJfa0NGTlRpbWluZ0RhdGFDb25uZWN0
aW9uUmV1c2VkIikuZ2V0KCksCiAgICAgICAgIGNvbm5lY3Rpb24uY3VycmVudFJlcXVlc3QuVVJM
LnNjaGVtZSwKICAgICAgICAgaGFuZGxlLnJlZGlyZWN0Q291bnQoKSwKKyAgICAgICAgaGFuZGxl
LmZhaWxzVEFPQ2hlY2soKSwKICAgICAgICAgaGFuZGxlLmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3Qo
KQogICAgICk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Y3VybC9DdXJsQ2FjaGVFbnRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2N1cmwvQ3VybENhY2hlRW50cnkuY3BwCmluZGV4IDZkOTI0NzViNWViNjIwYjdkYTliMzM4ZTc2
YWJhMGZjODg3YTNlZDYuLmMxODVlYjNiOTM1OTU2NTUyZDFhNGQzNDA2YThhOGY5NGYwMGZmZTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsQ2Fj
aGVFbnRyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1
cmxDYWNoZUVudHJ5LmNwcApAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgIlJlc291cmNlSGFu
ZGxlSW50ZXJuYWwuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNsdWRlICJS
ZXNvdXJjZVJlc3BvbnNlLmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRl
ICJTaGFyZWRCdWZmZXIuaCIKICNpbmNsdWRlIDx3dGYvRGF0ZU1hdGguaD4KICNpbmNsdWRlIDx3
dGYvSGV4TnVtYmVyLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2N1cmwvQ3VybENhY2hlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2N1cmwvQ3VybENhY2hlTWFuYWdlci5jcHAKaW5kZXggZTY5ZjZjMzU3NzVlZGVjY2Vi
MjJlODUxNTQ2NTNhOTQ4NjI2ZmJjZC4uNzg2OWEwZGY0ZTllYjcyOGE2ZDhmZmVjNDMzMmUzZGY3
MTlhOWU1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJs
L0N1cmxDYWNoZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvY3VybC9DdXJsQ2FjaGVNYW5hZ2VyLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUg
IlJlc291cmNlSGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5h
bC5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgorI2luY2x1ZGUgIlNlY3VyaXR5T3Jp
Z2luLmgiCiAjaW5jbHVkZSA8d3RmL0ZpbGVTeXN0ZW0uaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxSZXNvdXJjZUhhbmRsZURlbGVnYXRl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsUmVzb3VyY2VI
YW5kbGVEZWxlZ2F0ZS5jcHAKaW5kZXggZTU2NGEwY2U2NjYxNGE0OWExMDMxMzY4ODUxYzRkYTg4
MjM1MmE2MS4uNzM2MzE0Njc4MDg2ZDQyZDc0MzE5YWI2OTk3MTBiOWJmMWIyMWQxOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxSZXNvdXJjZUhh
bmRsZURlbGVnYXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1
cmwvQ3VybFJlc291cmNlSGFuZGxlRGVsZWdhdGUuY3BwCkBAIC0zNiw2ICszNiw3IEBACiAjaW5j
bHVkZSAiUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5o
IgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlSW50ZXJuYWwuaCIKKyNpbmNsdWRlICJTZWN1cml0
eU9yaWdpbi5oIgogCiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRs
ZUN1cmwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNl
SGFuZGxlQ3VybC5jcHAKaW5kZXggMzhlNWVlMTliMTQ2MTcxYjdiODI2ODUxYWJiMWYyZjQ4OTVj
NTA0MS4uZjhiNzA4YWRiNmRmZjVlMDIxNGJkZmIxMjgzNmViZjhiNmVlY2YyMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlQ3Vy
bC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNl
SGFuZGxlQ3VybC5jcHAKQEAgLTQzLDYgKzQzLDcgQEAKICNpbmNsdWRlICJOZXR3b3JrU3RvcmFn
ZVNlc3Npb24uaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUludGVybmFsLmgiCiAjaW5jbHVk
ZSAiU2FtZVNpdGVJbmZvLmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRl
ICJTaGFyZWRCdWZmZXIuaCIKICNpbmNsdWRlICJTeW5jaHJvbm91c0xvYWRlckNsaWVudC5oIgog
I2luY2x1ZGUgIlRleHRFbmNvZGluZy5oIgpAQCAtMzY1LDcgKzM2Niw3IEBAIHZvaWQgUmVzb3Vy
Y2VIYW5kbGU6OnJlc3RhcnRSZXF1ZXN0V2l0aENyZWRlbnRpYWwoY29uc3QgUHJvdGVjdGlvblNw
YWNlJiBwcm90ZWN0CiAgICAgZC0+bV9jdXJsUmVxdWVzdC0+c3RhcnQoKTsKIH0KIAotdm9pZCBS
ZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtp
bmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFN0b3Jl
ZENyZWRlbnRpYWxzUG9saWN5IHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBSZXNvdXJjZUVycm9y
JiBlcnJvciwgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFZlY3Rvcjx1aW50OF90PiYgZGF0
YSkKK3ZvaWQgUmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNs
eShOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1
ZXN0LCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgU2Vj
dXJpdHlPcmlnaW4qLCBSZXNvdXJjZUVycm9yJiBlcnJvciwgUmVzb3VyY2VSZXNwb25zZSYgcmVz
cG9uc2UsIFZlY3Rvcjx1aW50OF90PiYgZGF0YSkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFk
KCkpOwogICAgIEFTU0VSVCghcmVxdWVzdC5pc0VtcHR5KCkpOwpAQCAtMzc2LDcgKzM3Nyw3IEBA
IHZvaWQgUmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseShO
ZXR3b3JraW5nQ29udGV4dCogY29udGV4CiAgICAgYm9vbCBkZWZlcnNMb2FkaW5nID0gZmFsc2U7
CiAgICAgYm9vbCBzaG91bGRDb250ZW50U25pZmYgPSB0cnVlOwogICAgIGJvb2wgc2hvdWxkQ29u
dGVudEVuY29kaW5nU25pZmYgPSB0cnVlOwotICAgIFJlZlB0cjxSZXNvdXJjZUhhbmRsZT4gaGFu
ZGxlID0gYWRvcHRSZWYobmV3IFJlc291cmNlSGFuZGxlKGNvbnRleHQsIHJlcXVlc3QsICZjbGll
bnQsIGRlZmVyc0xvYWRpbmcsIHNob3VsZENvbnRlbnRTbmlmZiwgc2hvdWxkQ29udGVudEVuY29k
aW5nU25pZmYpKTsKKyAgICBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IGhhbmRsZSA9IGFkb3B0UmVm
KG5ldyBSZXNvdXJjZUhhbmRsZShjb250ZXh0LCByZXF1ZXN0LCAmY2xpZW50LCBkZWZlcnNMb2Fk
aW5nLCBzaG91bGRDb250ZW50U25pZmYsIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmLCBudWxs
cHRyLCBmYWxzZSkpOwogICAgIGhhbmRsZS0+ZC0+bV9tZXNzYWdlUXVldWUgPSAmY2xpZW50Lm1l
c3NhZ2VRdWV1ZSgpOwogCiAgICAgaWYgKHJlcXVlc3QudXJsKCkucHJvdG9jb2xJc0RhdGEoKSkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1N5bmNo
cm9ub3VzTG9hZGVyQ2xpZW50Q3VybC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2N1cmwvU3luY2hyb25vdXNMb2FkZXJDbGllbnRDdXJsLmNwcAppbmRleCA4MWFmZmFiYjc3
YjYxNjE5ZWYwNDY3NjNiMTYwODA1OWE0ZTkwMWJhLi41NzIwZTI0ZGY4YTAwYWZlN2E5YjE4ZDA0
YjIwMjQ0ZTU5MTFjMWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2N1cmwvU3luY2hyb25vdXNMb2FkZXJDbGllbnRDdXJsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvU3luY2hyb25vdXNMb2FkZXJDbGllbnRDdXJsLmNw
cApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmgi
CiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUlu
dGVybmFsLmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9S
ZXNvdXJjZUhhbmRsZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFj
L1Jlc291cmNlSGFuZGxlTWFjLm1tCmluZGV4IGYyYzFlZDY2NDJlNmI3YmNiZGNmYTMyN2FhZjgy
ZTliMDM3YWE0YTUuLmJjNDRjYmI0Y2ExNDZmMTQwNWUxYWRiZmJhNzM0ODkwMmY4YTgwZDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFu
ZGxlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291
cmNlSGFuZGxlTWFjLm1tCkBAIC0zNTEsNyArMzUxLDcgQEAgQ0ZTdHJpbmdSZWYgUmVzb3VyY2VI
YW5kbGU6OnN5bmNocm9ub3VzTG9hZFJ1bkxvb3BNb2RlKCkKICAgICByZXR1cm4gQ0ZTVFIoIldl
YkNvcmVTeW5jaHJvbm91c0xvYWRlclJ1bkxvb3BNb2RlIik7CiB9CiAKLXZvaWQgUmVzb3VyY2VI
YW5kbGU6OnBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4
dCogY29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBTdG9yZWRDcmVkZW50
aWFsc1BvbGljeSBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYgZXJyb3Is
IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBWZWN0b3I8dWludDhfdD4mIGRhdGEpCit2b2lk
IFJlc291cmNlSGFuZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29y
a2luZ0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgU3Rv
cmVkQ3JlZGVudGlhbHNQb2xpY3kgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIFNlY3VyaXR5T3Jp
Z2luKiBzb3VyY2VPcmlnaW4sIFJlc291cmNlRXJyb3ImIGVycm9yLCBSZXNvdXJjZVJlc3BvbnNl
JiByZXNwb25zZSwgVmVjdG9yPHVpbnQ4X3Q+JiBkYXRhKQogewogICAgIExPRyhOZXR3b3JrLCAi
UmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseTolQCBzdG9y
ZWRDcmVkZW50aWFsc1BvbGljeToldSIsIHJlcXVlc3QubnNVUkxSZXF1ZXN0KEhUVFBCb2R5VXBk
YXRlUG9saWN5OjpEb05vdFVwZGF0ZUhUVFBCb2R5KSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHN0
b3JlZENyZWRlbnRpYWxzUG9saWN5KSk7CiAKQEAgLTM2Myw3ICszNjMsNyBAQCB2b2lkIFJlc291
cmNlSGFuZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2luZ0Nv
bnRleHQqIGNvbnRleAogICAgIGJvb2wgZGVmZXJzTG9hZGluZyA9IGZhbHNlOwogICAgIGJvb2wg
c2hvdWxkQ29udGVudFNuaWZmID0gdHJ1ZTsKICAgICBib29sIHNob3VsZENvbnRlbnRFbmNvZGlu
Z1NuaWZmID0gdHJ1ZTsKLSAgICBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IGhhbmRsZSA9IGFkb3B0
UmVmKG5ldyBSZXNvdXJjZUhhbmRsZShjb250ZXh0LCByZXF1ZXN0LCAmY2xpZW50LCBkZWZlcnNM
b2FkaW5nLCBzaG91bGRDb250ZW50U25pZmYsIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKSk7
CisgICAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBoYW5kbGUgPSBhZG9wdFJlZihuZXcgUmVzb3Vy
Y2VIYW5kbGUoY29udGV4dCwgcmVxdWVzdCwgJmNsaWVudCwgZGVmZXJzTG9hZGluZywgc2hvdWxk
Q29udGVudFNuaWZmLCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwgc291cmNlT3JpZ2luLCBm
YWxzZSkpOwogCiAgICAgaGFuZGxlLT5kLT5tX3N0b3JhZ2VTZXNzaW9uID0gY29udGV4dC0+c3Rv
cmFnZVNlc3Npb24oKS0+cGxhdGZvcm1TZXNzaW9uKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0
aW9uUXVldWVEZWxlZ2F0ZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFj
L1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5tbQppbmRleCBj
NDMyNjE2OTZlM2NlZGYzNmY3ZTJkMzhhMDdkYWU0Y2EyZmUyNjRkLi42NWI3YmE4YzQxNTM2MDll
NjdlY2YxNmZjNjI0MDJhZWJlNTRkYTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVs
ZWdhdGUubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29y
ZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLm1tCkBAIC0xNDEsNiArMTQx
LDcgQEAgc3RhdGljIGJvb2wgc2NoZWR1bGVkV2l0aEN1c3RvbVJ1bkxvb3BNb2RlKGNvbnN0IHN0
ZDo6b3B0aW9uYWw8U2NoZWR1bGVQYWlySGFzaFMKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgfQogCisgICAgICAgIFJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UocmVkaXJlY3RSZXNwb25z
ZS5nZXQoKSk7CiAgICAgICAgIFJlc291cmNlUmVxdWVzdCByZWRpcmVjdFJlcXVlc3QgPSBuZXdS
ZXF1ZXN0LmdldCgpOwogICAgICAgICBpZiAoW25ld1JlcXVlc3QuZ2V0KCkgSFRUUEJvZHlTdHJl
YW1dKSB7CiAgICAgICAgICAgICBBU1NFUlQobV9oYW5kbGUtPmZpcnN0UmVxdWVzdCgpLmh0dHBC
b2R5KCkpOwpAQCAtMTUwLDEwICsxNTEsMTMgQEAgc3RhdGljIGJvb2wgc2NoZWR1bGVkV2l0aEN1
c3RvbVJ1bkxvb3BNb2RlKGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2NoZWR1bGVQYWlySGFzaFMKICAg
ICAgICAgICAgIHJlZGlyZWN0UmVxdWVzdC5jbGVhckhUVFBDb250ZW50VHlwZSgpOwogCiAgICAg
ICAgIC8vIENoZWNrIGlmIHRoZSByZWRpcmVjdGVkIHVybCBpcyBhbGxvd2VkIHRvIGFjY2VzcyB0
aGUgcmVkaXJlY3RpbmcgdXJsJ3MgdGltaW5nIGluZm9ybWF0aW9uLgotICAgICAgICBtX2hhbmRs
ZS0+c2V0SGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCghV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OmNy
ZWF0ZShyZWRpcmVjdFJlcXVlc3QudXJsKCkpLT5jYW5SZXF1ZXN0KHJlZGlyZWN0UmVzcG9uc2Uu
Z2V0KCkuVVJMKSk7CisgICAgICAgIGlmICghbV9oYW5kbGUtPmhhc0Nyb3NzT3JpZ2luUmVkaXJl
Y3QoKSAmJiAhV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OmNyZWF0ZShyZWRpcmVjdFJlcXVlc3Qu
dXJsKCkpLT5jYW5SZXF1ZXN0KHJlZGlyZWN0UmVzcG9uc2UuZ2V0KCkuVVJMKSkKKyAgICAgICAg
ICAgIG1faGFuZGxlLT5tYXJrQXNIYXZpbmdDcm9zc09yaWdpblJlZGlyZWN0KCk7CisgICAgICAg
IG1faGFuZGxlLT5jaGVja1RBTyhyZXNwb25zZSk7CisKICAgICAgICAgbV9oYW5kbGUtPmluY3Jl
bWVudFJlZGlyZWN0Q291bnQoKTsKIAotICAgICAgICBtX2hhbmRsZS0+d2lsbFNlbmRSZXF1ZXN0
KFdURk1vdmUocmVkaXJlY3RSZXF1ZXN0KSwgcmVkaXJlY3RSZXNwb25zZS5nZXQoKSwgW3NlbGYs
IHByb3RlY3RlZFNlbGYgPSBXVEZNb3ZlKHByb3RlY3RlZFNlbGYpXShSZXNvdXJjZVJlcXVlc3Qm
JiByZXF1ZXN0KSB7CisgICAgICAgIG1faGFuZGxlLT53aWxsU2VuZFJlcXVlc3QoV1RGTW92ZShy
ZWRpcmVjdFJlcXVlc3QpLCBXVEZNb3ZlKHJlc3BvbnNlKSwgW3NlbGYsIHByb3RlY3RlZFNlbGYg
PSBXVEZNb3ZlKHByb3RlY3RlZFNlbGYpXShSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0KSB7CiAg
ICAgICAgICAgICBtX3JlcXVlc3RSZXN1bHQgPSByZXF1ZXN0Lm5zVVJMUmVxdWVzdChIVFRQQm9k
eVVwZGF0ZVBvbGljeTo6VXBkYXRlSFRUUEJvZHkpOwogICAgICAgICAgICAgbV9zZW1hcGhvcmUu
c2lnbmFsKCk7CiAgICAgICAgIH0pOwpAQCAtMjU3LDggKzI2MSwxMCBAQCBBTExPV19ERVBSRUNB
VEVEX0lNUExFTUVOVEFUSU9OU19FTkQKICAgICAgICAgaWYgKFttX2hhbmRsZS0+Zmlyc3RSZXF1
ZXN0KCkubnNVUkxSZXF1ZXN0KEhUVFBCb2R5VXBkYXRlUG9saWN5OjpEb05vdFVwZGF0ZUhUVFBC
b2R5KSBfcHJvcGVydHlGb3JLZXk6QCJGb3JjZUhUTUxNSU1FVHlwZSJdKQogICAgICAgICAgICAg
W3IgX3NldE1JTUVUeXBlOkAidGV4dC9odG1sIl07CiAKLSAgICAgICAgYXV0byBtZXRyaWNzID0g
Y29weVRpbWluZ0RhdGEoY29ubmVjdGlvbi5nZXQoKSwgKm1faGFuZGxlKTsKICAgICAgICAgUmVz
b3VyY2VSZXNwb25zZSByZXNvdXJjZVJlc3BvbnNlKHIuZ2V0KCkpOworICAgICAgICBtX2hhbmRs
ZS0+Y2hlY2tUQU8ocmVzb3VyY2VSZXNwb25zZSk7CisKKyAgICAgICAgYXV0byBtZXRyaWNzID0g
Y29weVRpbWluZ0RhdGEoY29ubmVjdGlvbi5nZXQoKSwgKm1faGFuZGxlKTsKICAgICAgICAgcmVz
b3VyY2VSZXNwb25zZS5zZXRTb3VyY2UoUmVzb3VyY2VSZXNwb25zZTo6U291cmNlOjpOZXR3b3Jr
KTsKICAgICAgICAgcmVzb3VyY2VSZXNwb25zZS5zZXREZXByZWNhdGVkTmV0d29ya0xvYWRNZXRy
aWNzKEJveDxOZXR3b3JrTG9hZE1ldHJpY3M+IHsgbWV0cmljcyB9KTsKIApAQCAtMzMzLDYgKzMz
OSw3IEBAIEFMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5UQVRJT05TX0VORAogICAgICAgICAgICAg
ICAgIG1ldHJpY3MtPnJlc3BvbnNlRW5kID0gV2FsbFRpbWU6OmZyb21SYXdTZWNvbmRzKGFkb3B0
TlMoW1tOU0RhdGUgYWxsb2NdIGluaXRXaXRoVGltZUludGVydmFsU2luY2VSZWZlcmVuY2VEYXRl
OnJlc3BvbnNlRW5kVGltZV0pLmdldCgpLnRpbWVJbnRlcnZhbFNpbmNlMTk3MCkuYXBwcm94aW1h
dGVNb25vdG9uaWNUaW1lKCk7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgbWV0
cmljcy0+cmVzcG9uc2VFbmQgPSBtZXRyaWNzLT5yZXNwb25zZVN0YXJ0OworICAgICAgICAgICAg
bWV0cmljcy0+cHJvdG9jb2wgPSAoTlNTdHJpbmcgKilbdGltaW5nRGF0YSBvYmplY3RGb3JLZXk6
QCJfa0NGTlRpbWluZ0RhdGFOZXR3b3JrUHJvdG9jb2xOYW1lIl07CiAgICAgICAgICAgICBtZXRy
aWNzLT5yZXNwb25zZUJvZHlCeXRlc1JlY2VpdmVkID0gW1t0aW1pbmdEYXRhIG9iamVjdEZvcktl
eTpAIl9rQ0ZOVGltaW5nRGF0YVJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQiXSB1bnNpZ25lZExv
bmdMb25nVmFsdWVdOwogICAgICAgICAgICAgbWV0cmljcy0+cmVzcG9uc2VCb2R5RGVjb2RlZFNp
emUgPSBbW3RpbWluZ0RhdGEgb2JqZWN0Rm9yS2V5OkAiX2tDRk5UaW1pbmdEYXRhUmVzcG9uc2VC
b2R5Qnl0ZXNEZWNvZGVkIl0gdW5zaWduZWRMb25nTG9uZ1ZhbHVlXTsKICAgICAgICAgICAgIG1l
dHJpY3MtPm1hcmtDb21wbGV0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL0NyZWRlbnRpYWxTdG9yYWdlU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ3JlZGVudGlhbFN0b3JhZ2VTb3VwLmNwcAppbmRleCBl
NWVjMTZmOTUyNjAyNmRlYTRkMGVhNjZmMzlmMzEwOTcwY2Q0Yzg2Li41MzU3ZTI4Mzk5YTgwNzZm
YjJjOWZmMDIzNmJjZDBiMzU2YWQyNzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvQ3JlZGVudGlhbFN0b3JhZ2VTb3VwLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ3JlZGVudGlhbFN0b3JhZ2VTb3VwLmNwcApA
QCAtMjksNiArMjksNyBAQAogI2lmIFVTRShTT1VQKQogCiAjaW5jbHVkZSAiQ3JlZGVudGlhbC5o
IgorI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNl
SGFuZGxlU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVz
b3VyY2VIYW5kbGVTb3VwLmNwcAppbmRleCA2OGFkNDY0MTcxMzYwZWU5YTg4Njk1NzM2MWU3OGY1
Yjg0ZDI0MGQxLi40OTc1NGNkN2YxMDNkZDE4NWQ3YTE3ODUxZTk1Y2UyZTQ1NTkxMGU2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5k
bGVTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVz
b3VyY2VIYW5kbGVTb3VwLmNwcApAQCAtMTI3LDcgKzEyNyw3IEBAIHZvaWQgUmVzb3VyY2VIYW5k
bGU6OnBsYXRmb3JtU2V0RGVmZXJzTG9hZGluZyhib29sKQogICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwogfQogCi12b2lkIFJlc291cmNlSGFuZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNo
cm9ub3VzbHkoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBTdG9y
ZWRDcmVkZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVzcG9uc2UmLCBW
ZWN0b3I8dWludDhfdD4mKQordm9pZCBSZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1Mb2FkUmVzb3Vy
Y2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiwgU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIFNlY3VyaXR5T3JpZ2luKiwgUmVzb3VyY2VFcnJv
ciYsIFJlc291cmNlUmVzcG9uc2UmLCBWZWN0b3I8dWludDhfdD4mKQogewogICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrTG9hZFBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya0xvYWRQYXJhbWV0ZXJzLmgKaW5kZXggZjhkNjE3YWU5M2YwZGFhOWU4ZWJlOWI5NzA1
NmVmMDAzNmU0ZDM5Yy4uMDRjYjAzOTBjOWNmZDg2YjkxMWQ0OGY5YWY5Y2QxNzJlOGIzYTczNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZFBhcmFt
ZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkUGFy
YW1ldGVycy5oCkBAIC00OCw2ICs0OCw3IEBAIHB1YmxpYzoKICAgICBXZWJDb3JlOjpQYWdlSWRl
bnRpZmllciB3ZWJQYWdlSUQ7CiAgICAgV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIHdlYkZyYW1l
SUQ7CiAgICAgUmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPiB0b3BPcmlnaW47CisgICAg
UmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPiBzb3VyY2VPcmlnaW47CiAgICAgV1RGOjpQ
cm9jZXNzSUQgcGFyZW50UElEIHsgMCB9OwogI2lmIEhBVkUoQVVESVRfVE9LRU4pCiAgICAgc3Rk
OjpvcHRpb25hbDxhdWRpdF90b2tlbl90PiBuZXR3b3JrUHJvY2Vzc0F1ZGl0VG9rZW47CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQ
YXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJj
ZUxvYWRQYXJhbWV0ZXJzLmgKaW5kZXggZjBlNDIwZjUxMDNlYmQ1MWFmZDdjZTg5Y2JiN2IzNWY5
NjI1YTM1OS4uMjIyZDZmNGE3NDc2YzkxMzgzZjdhM2E1OTc2OTk1ZTU2ZWIzNzBmNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFy
YW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZFBhcmFtZXRlcnMuaApAQCAtNTIsNyArNTIsNiBAQCBwdWJsaWM6CiAgICAgVmVjdG9y
PFJlZlB0cjxTYW5kYm94RXh0ZW5zaW9uPj4gcmVxdWVzdEJvZHlTYW5kYm94RXh0ZW5zaW9uczsg
Ly8gQ3JlYXRlZCBhdXRvbWF0aWNhbGx5IGZvciB0aGUgc2VuZGVyLgogICAgIFJlZlB0cjxTYW5k
Ym94RXh0ZW5zaW9uPiByZXNvdXJjZVNhbmRib3hFeHRlbnNpb247IC8vIENyZWF0ZWQgYXV0b21h
dGljYWxseSBmb3IgdGhlIHNlbmRlci4KICAgICBTZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1l
OwotICAgIFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4gc291cmNlT3JpZ2luOwogICAg
IFdlYkNvcmU6OkZldGNoT3B0aW9ucyBvcHRpb25zOwogICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29y
ZTo6Q29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzPiBjc3BSZXNwb25zZUhlYWRl
cnM7CiAgICAgV2ViQ29yZTo6SFRUUEhlYWRlck1hcCBvcmlnaW5hbFJlcXVlc3RIZWFkZXJzOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VM
b2FkZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VM
b2FkZXIuY3BwCmluZGV4IDA4NGJkZTFiM2ZjMWJlNjVjOGZkNzQwZGIwYjQyMjUwZGNhNjgzYTUu
LmVjMTZkOTcyZDM0YmUxMjkwMzhmM2NhNmIyMzYzNDNjZjcwYjU0MmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAK
QEAgLTg2LDcgKzg2LDcgQEAgc3RydWN0IE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6U3luY2hyb25v
dXNMb2FkRGF0YSB7CiAgICAgUmVzb3VyY2VFcnJvciBlcnJvcjsKIH07CiAKLXN0YXRpYyB2b2lk
IHNlbmRSZXBseVRvU3luY2hyb25vdXNSZXF1ZXN0KE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6U3lu
Y2hyb25vdXNMb2FkRGF0YSYgZGF0YSwgY29uc3QgU2hhcmVkQnVmZmVyKiBidWZmZXIpCitzdGF0
aWMgdm9pZCBzZW5kUmVwbHlUb1N5bmNocm9ub3VzUmVxdWVzdChOZXR3b3JrUmVzb3VyY2VMb2Fk
ZXI6OlN5bmNocm9ub3VzTG9hZERhdGEmIGRhdGEsIGNvbnN0IFNoYXJlZEJ1ZmZlciogYnVmZmVy
LCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG1ldHJpY3MpCiB7CiAgICAgQVNTRVJUKGRhdGEu
ZGVsYXllZFJlcGx5KTsKICAgICBBU1NFUlQoIWRhdGEucmVzcG9uc2UuaXNOdWxsKCkgfHwgIWRh
dGEuZXJyb3IuaXNOdWxsKCkpOwpAQCAtOTUsNiArOTUsOCBAQCBzdGF0aWMgdm9pZCBzZW5kUmVw
bHlUb1N5bmNocm9ub3VzUmVxdWVzdChOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OlN5bmNocm9ub3Vz
TG9hZAogICAgIGlmIChidWZmZXIgJiYgYnVmZmVyLT5zaXplKCkpCiAgICAgICAgIHJlc3BvbnNl
QnVmZmVyLmFwcGVuZChidWZmZXItPmRhdGEoKSwgYnVmZmVyLT5zaXplKCkpOwogCisgICAgZGF0
YS5yZXNwb25zZS5zZXREZXByZWNhdGVkTmV0d29ya0xvYWRNZXRyaWNzKEJveDxOZXR3b3JrTG9h
ZE1ldHJpY3M+OjpjcmVhdGUobWV0cmljcykpOworCiAgICAgZGF0YS5kZWxheWVkUmVwbHkoZGF0
YS5lcnJvciwgZGF0YS5yZXNwb25zZSwgcmVzcG9uc2VCdWZmZXIpOwogICAgIGRhdGEuZGVsYXll
ZFJlcGx5ID0gbnVsbHB0cjsKIH0KQEAgLTcyOCw3ICs3MzAsNyBAQCB2b2lkIE5ldHdvcmtSZXNv
dXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyhjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG5l
dHdvcmtMbwogI2VuZGlmCiAKICAgICBpZiAoaXNTeW5jaHJvbm91cygpKQotICAgICAgICBzZW5k
UmVwbHlUb1N5bmNocm9ub3VzUmVxdWVzdCgqbV9zeW5jaHJvbm91c0xvYWREYXRhLCBtX2J1ZmZl
cmVkRGF0YS5nZXQoKSk7CisgICAgICAgIHNlbmRSZXBseVRvU3luY2hyb25vdXNSZXF1ZXN0KCpt
X3N5bmNocm9ub3VzTG9hZERhdGEsIG1fYnVmZmVyZWREYXRhLmdldCgpLCBuZXR3b3JrTG9hZE1l
dHJpY3MpOwogICAgIGVsc2UgewogICAgICAgICBpZiAobV9idWZmZXJlZERhdGEgJiYgIW1fYnVm
ZmVyZWREYXRhLT5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIC8vIEZJWE1FOiBQYXNzIGEgcmVh
bCB2YWx1ZSBvciByZW1vdmUgdGhlIGVuY29kZWQgZGF0YSBzaXplIGZlYXR1cmUuCkBAIC03NjMs
NyArNzY1LDcgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpZEZhaWxMb2FkaW5nKGNv
bnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQogCiAgICAgaWYgKGlzU3luY2hyb25vdXMoKSkgewog
ICAgICAgICBtX3N5bmNocm9ub3VzTG9hZERhdGEtPmVycm9yID0gZXJyb3I7Ci0gICAgICAgIHNl
bmRSZXBseVRvU3luY2hyb25vdXNSZXF1ZXN0KCptX3N5bmNocm9ub3VzTG9hZERhdGEsIG51bGxw
dHIpOworICAgICAgICBzZW5kUmVwbHlUb1N5bmNocm9ub3VzUmVxdWVzdCgqbV9zeW5jaHJvbm91
c0xvYWREYXRhLCBudWxscHRyLCB7IH0pOwogICAgIH0gZWxzZSBpZiAoYXV0byogY29ubmVjdGlv
biA9IG1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uKCkpIHsKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JL
RVIpCiAgICAgICAgIGlmIChtX3NlcnZpY2VXb3JrZXJGZXRjaFRhc2spCkBAIC0xMTQyLDcgKzEx
NDQsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkUmV0cmlldmVDYWNoZUVudHJ5
KHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrQ2FjaGU6OgogICAgIHJlc3BvbnNlID0gc2FuaXRpemVS
ZXNwb25zZUlmUG9zc2libGUoV1RGTW92ZShyZXNwb25zZSksIFJlc291cmNlUmVzcG9uc2U6OlNh
bml0aXphdGlvblR5cGU6OkNyb3NzT3JpZ2luU2FmZSk7CiAgICAgaWYgKGlzU3luY2hyb25vdXMo
KSkgewogICAgICAgICBtX3N5bmNocm9ub3VzTG9hZERhdGEtPnJlc3BvbnNlID0gV1RGTW92ZShy
ZXNwb25zZSk7Ci0gICAgICAgIHNlbmRSZXBseVRvU3luY2hyb25vdXNSZXF1ZXN0KCptX3N5bmNo
cm9ub3VzTG9hZERhdGEsIGVudHJ5LT5idWZmZXIoKSk7CisgICAgICAgIHNlbmRSZXBseVRvU3lu
Y2hyb25vdXNSZXF1ZXN0KCptX3N5bmNocm9ub3VzTG9hZERhdGEsIGVudHJ5LT5idWZmZXIoKSwg
eyB9KTsKICAgICAgICAgY2xlYW51cChMb2FkUmVzdWx0OjpTdWNjZXNzKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29j
b2EvTmV0d29ya0RhdGFUYXNrQ29jb2EuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EuaAppbmRleCBmYWQyNDhlOTM5NDY4NzNjMjY5YmQ5
OGFkNDM0Y2E3NDIxODAwNGEzLi40ZWJiZDkwY2M2NDVkZjVmOWRkYmI4NjBkMDhhYTNlYjA1M2My
ZmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdv
cmtEYXRhVGFza0NvY29hLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2Nv
YS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5oCkBAIC04NCw2ICs4NCw4IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldEgyUGluZ0NhbGxiYWNrKGNvbnN0IFVSTCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
RXhwZWN0ZWQ8V1RGOjpTZWNvbmRzLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPiYmKT4mJikgb3Zl
cnJpZGU7CiAgICAgdm9pZCBzZXRQcmlvcml0eShXZWJDb3JlOjpSZXNvdXJjZUxvYWRQcmlvcml0
eSkgb3ZlcnJpZGU7CiAKKyAgICB2b2lkIGNoZWNrVEFPKGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVzcG9uc2UmKTsKKwogcHJpdmF0ZToKICAgICBOZXR3b3JrRGF0YVRhc2tDb2NvYShOZXR3b3Jr
U2Vzc2lvbiYsIE5ldHdvcmtEYXRhVGFza0NsaWVudCYsIGNvbnN0IE5ldHdvcmtMb2FkUGFyYW1l
dGVycyYpOwogCkBAIC0xMjAsNiArMTIyLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNGb3JN
YWluUmVzb3VyY2VOYXZpZ2F0aW9uRm9yQW55RnJhbWUgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9p
c0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQgeyBmYWxzZSB9OwogICAgIFdlYkNvcmU6OlNob3VsZFJl
bGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nIG1fc2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2ll
QmxvY2tpbmcgeyBXZWJDb3JlOjpTaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZzo6
Tm8gfTsKKyAgICBSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+IG1fc291cmNlT3JpZ2lu
OwogfTsKIAogV2ViQ29yZTo6Q3JlZGVudGlhbCBzZXJ2ZXJUcnVzdENyZWRlbnRpYWwoY29uc3Qg
V2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0gYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCmlu
ZGV4IGNmZGZlMTM2OWNlNmE4ZTVmYmUzZjZmYTQxMTU3NzMwMjk0ZjczMjMuLjM0MGQ3ZGFjMjg2
YjczYjgzYzUxZWJkMGY2ODBmYzRhYmY5ZGFmOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KKysrIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQpAQCAt
NDAsNiArNDAsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2ltcG9y
dCA8V2ViQ29yZS9SZWdpc3RyYWJsZURvbWFpbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJj
ZVJlcXVlc3QuaD4KKyNpbXBvcnQgPFdlYkNvcmUvVGltaW5nQWxsb3dPcmlnaW4uaD4KICNpbXBv
cnQgPHBhbC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmg+CiAjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4K
ICNpbXBvcnQgPHd0Zi9GaWxlU3lzdGVtLmg+CkBAIC0zMDAsNiArMzAxLDcgQEAgTmV0d29ya0Rh
dGFUYXNrQ29jb2E6Ok5ldHdvcmtEYXRhVGFza0NvY29hKE5ldHdvcmtTZXNzaW9uJiBzZXNzaW9u
LCBOZXR3b3JrRGF0YVQKICAgICAsIG1faXNGb3JNYWluUmVzb3VyY2VOYXZpZ2F0aW9uRm9yQW55
RnJhbWUocGFyYW1ldGVycy5pc01haW5SZXNvdXJjZU5hdmlnYXRpb25Gb3JBbnlGcmFtZSkKICAg
ICAsIG1faXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKGNvbXB1dGVJc0Fsd2F5c09uTG9nZ2luZ0Fs
bG93ZWQoc2Vzc2lvbikpCiAgICAgLCBtX3Nob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2Nr
aW5nKHBhcmFtZXRlcnMuc2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tpbmcpCisgICAg
LCBtX3NvdXJjZU9yaWdpbihwYXJhbWV0ZXJzLnNvdXJjZU9yaWdpbikKIHsKICAgICBhdXRvIHJl
cXVlc3QgPSBwYXJhbWV0ZXJzLnJlcXVlc3Q7CiAgICAgYXV0byB1cmwgPSByZXF1ZXN0LnVybCgp
OwpAQCAtNDYwLDkgKzQ2Miw3IEBAIHZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OndpbGxQZXJm
b3JtSFRUUFJlZGlyZWN0aW9uKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmCiB7CiAgICAgV1RG
RW1pdFNpZ25wb3N0KG1fdGFzay5nZXQoKSwgIkRhdGFUYXNrIiwgInJlZGlyZWN0Iik7CiAKLSAg
ICAvLyBDaGVjayBpZiB0aGUgcmVkaXJlY3RlZCB1cmwgaXMgYWxsb3dlZCB0byBhY2Nlc3MgdGhl
IHJlZGlyZWN0aW5nIHVybCdzIHRpbWluZyBpbmZvcm1hdGlvbi4KLSAgICAvLyBGSVhNRTogVGhp
cyBzaG91bGQgbm90IHNldCBiYWNrIHRvIHRydWUgYWZ0ZXIgYW5vdGhlciBzYW1lLW9yaWdpbiBy
ZWRpcmVjdCBvbmNlIGl0IGhhcyBiZWVuIHNldCB0byB0cnVlLgotICAgIG5ldHdvcmtMb2FkTWV0
cmljcygpLmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QgPSAhV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46
OmNyZWF0ZShyZXF1ZXN0LnVybCgpKS0+Y2FuUmVxdWVzdChyZWRpcmVjdFJlc3BvbnNlLnVybCgp
KTsKKyAgICBuZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0ID0gbmV0
d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCB8fCAhV2ViQ29yZTo6U2Vj
dXJpdHlPcmlnaW46OmNyZWF0ZShyZXF1ZXN0LnVybCgpKS0+Y2FuUmVxdWVzdChyZWRpcmVjdFJl
c3BvbnNlLnVybCgpKTsKIAogICAgIGlmIChyZWRpcmVjdFJlc3BvbnNlLmh0dHBTdGF0dXNDb2Rl
KCkgPT0gMzA3IHx8IHJlZGlyZWN0UmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSA9PSAzMDgpIHsK
ICAgICAgICAgQVNTRVJUKG1fbGFzdEhUVFBNZXRob2QgPT0gcmVxdWVzdC5odHRwTWV0aG9kKCkp
OwpAQCAtNzE5LDQgKzcxOSwxOSBAQCB2b2lkIE5ldHdvcmtEYXRhVGFza0NvY29hOjpzZXRQcmlv
cml0eShXZWJDb3JlOjpSZXNvdXJjZUxvYWRQcmlvcml0eSBwcmlvcml0eSkKICAgICBtX3Rhc2su
Z2V0KCkucHJpb3JpdHkgPSB0b05TVVJMU2Vzc2lvblRhc2tQcmlvcml0eShwcmlvcml0eSk7CiB9
CiAKK3ZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OmNoZWNrVEFPKGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQoreworICAgIGlmIChuZXR3b3JrTG9hZE1ldHJpY3Mo
KS5mYWlsc1RBT0NoZWNrKQorICAgICAgICByZXR1cm47CisKKyAgICBSZWZQdHI8V2ViQ29yZTo6
U2VjdXJpdHlPcmlnaW4+IG9yaWdpbjsKKyAgICBpZiAoaXNUb3BMZXZlbE5hdmlnYXRpb24oKSkK
KyAgICAgICAgb3JpZ2luID0gV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OmNyZWF0ZShmaXJzdFJl
cXVlc3QoKS51cmwoKSk7CisgICAgZWxzZQorICAgICAgICBvcmlnaW4gPSBtX3NvdXJjZU9yaWdp
bjsKKworICAgIGlmIChvcmlnaW4pCisgICAgICAgIG5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxz
VEFPQ2hlY2sgPSAhcGFzc2VzVGltaW5nQWxsb3dPcmlnaW5DaGVjayhyZXNwb25zZSwgKm9yaWdp
bik7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29j
b2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y29jb2EvTmV0d29ya1Nlc3Npb25Db2NvYS5tbQppbmRleCBjNjk2MjdkZWUyMzEwZjVjMzQ3YmEx
NDVkYjY0YmRlZjkyM2ExYjU0Li5lZTJhZmRhYjg4MjM4M2ExMTExMmVkZTBmNDJhZjhmMDI4OTJh
ZmExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdv
cmtTZXNzaW9uQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2Nv
YS9OZXR3b3JrU2Vzc2lvbkNvY29hLm1tCkBAIC01NTUsNyArNTU1LDEwIEBAIHN0YXRpYyB2b2lk
IHVwZGF0ZUlnbm9yZVN0cmljdFRyYW5zcG9ydFNlY3VyaXR5U2V0dGluZyhSZXRhaW5QdHI8TlNV
UkxSZXF1ZXN0PiYKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogI2VuZGlmCiAK
LSAgICAgICAgbmV0d29ya0RhdGFUYXNrLT53aWxsUGVyZm9ybUhUVFBSZWRpcmVjdGlvbihyZXNw
b25zZSwgcmVxdWVzdCwgW2NvbXBsZXRpb25IYW5kbGVyID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRp
b25IYW5kbGVyKSwgdGFza0lkZW50aWZpZXIsIHNob3VsZElnbm9yZUhTVFNdKGF1dG8mJiByZXF1
ZXN0KSB7CisgICAgICAgIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVzb3VyY2VSZXNwb25z
ZShyZXNwb25zZSk7CisgICAgICAgIG5ldHdvcmtEYXRhVGFzay0+Y2hlY2tUQU8ocmVzb3VyY2VS
ZXNwb25zZSk7CisKKyAgICAgICAgbmV0d29ya0RhdGFUYXNrLT53aWxsUGVyZm9ybUhUVFBSZWRp
cmVjdGlvbihXVEZNb3ZlKHJlc291cmNlUmVzcG9uc2UpLCByZXF1ZXN0LCBbY29tcGxldGlvbkhh
bmRsZXIgPSBtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhhbmRsZXIpLCB0YXNrSWRlbnRpZmllciwg
c2hvdWxkSWdub3JlSFNUU10oYXV0byYmIHJlcXVlc3QpIHsKICNpZiAhTE9HX0RJU0FCTEVECiAg
ICAgICAgICAgICBMT0coTmV0d29ya1Nlc3Npb24sICIlbGx1IHdpbGxQZXJmb3JtSFRUUFJlZGly
ZWN0aW9uIGNvbXBsZXRpb25IYW5kbGVyICglcykiLCB0YXNrSWRlbnRpZmllciwgcmVxdWVzdC51
cmwoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKICNlbHNlCkBAIC05MTUsNyArOTE4LDkgQEAg
c3RhdGljIGlubGluZSB2b2lkIHByb2Nlc3NTZXJ2ZXJUcnVzdEV2YWx1YXRpb24oTmV0d29ya1Nl
c3Npb25Db2NvYSYgc2Vzc2lvbiwgU2UKICAgICAgICAgLy8gYWxsIHRoZSBmaWVsZHMgd2hlbiBz
ZW5kaW5nIHRoZSByZXNwb25zZSB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzIG92ZXIgSVBDLgog
ICAgICAgICByZXNvdXJjZVJlc3BvbnNlLmRpc2FibGVMYXp5SW5pdGlhbGl6YXRpb24oKTsKIAot
ICAgICAgICByZXNvdXJjZVJlc3BvbnNlLnNldERlcHJlY2F0ZWROZXR3b3JrTG9hZE1ldHJpY3Mo
V2ViQ29yZTo6Y29weVRpbWluZ0RhdGEodGFza01ldHJpY3MsIG5ldHdvcmtEYXRhVGFzay0+bmV0
d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkpOworICAgICAgICBuZXR3
b3JrRGF0YVRhc2stPmNoZWNrVEFPKHJlc291cmNlUmVzcG9uc2UpOworCisgICAgICAgIHJlc291
cmNlUmVzcG9uc2Uuc2V0RGVwcmVjYXRlZE5ldHdvcmtMb2FkTWV0cmljcyhXZWJDb3JlOjpjb3B5
VGltaW5nRGF0YSh0YXNrTWV0cmljcywgbmV0d29ya0RhdGFUYXNrLT5uZXR3b3JrTG9hZE1ldHJp
Y3MoKSkpOwogCiAgICAgICAgIG5ldHdvcmtEYXRhVGFzay0+ZGlkUmVjZWl2ZVJlc3BvbnNlKFdU
Rk1vdmUocmVzb3VyY2VSZXNwb25zZSksIG5lZ290aWF0ZWRMZWdhY3lUTFMsIFtjb21wbGV0aW9u
SGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlciksIHRhc2tJZGVudGlmaWVy
XShXZWJDb3JlOjpQb2xpY3lBY3Rpb24gcG9saWN5QWN0aW9uKSB7CiAjaWYgIUxPR19ESVNBQkxF
RApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtE
YXRhVGFza1NvdXAuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdv
cmtEYXRhVGFza1NvdXAuY3BwCmluZGV4IDQ1NzgwNzYwNWQ3ODFiZTMzNDg5NzM1Nzg0OWYwMGY0
YzBmNWFiNWEuLjFiNzI0OGIwMWE2NjQ5ODIyYzQzYzU3NTFjMDFhZjJkODU2NjgxNjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrRGF0YVRhc2tT
b3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya0Rh
dGFUYXNrU291cC5jcHAKQEAgLTg2MSw4ICs4NjEsOSBAQCB2b2lkIE5ldHdvcmtEYXRhVGFza1Nv
dXA6OmNvbnRpbnVlSFRUUFJlZGlyZWN0aW9uKCkKICAgICAgICAgcmVkaXJlY3RlZFVSTC5zZXRG
cmFnbWVudElkZW50aWZpZXIocmVxdWVzdC51cmwoKS5mcmFnbWVudElkZW50aWZpZXIoKSk7CiAg
ICAgcmVxdWVzdC5zZXRVUkwocmVkaXJlY3RlZFVSTCk7CiAKLSAgICAvLyBDaGVjayBpZiB0aGUg
cmVkaXJlY3RlZCB1cmwgaXMgYWxsb3dlZCB0byBhY2Nlc3MgdGhlIHJlZGlyZWN0aW5nIHVybCdz
IHRpbWluZyBpbmZvcm1hdGlvbi4KLSAgICBtX25ldHdvcmtMb2FkTWV0cmljcy5oYXNDcm9zc09y
aWdpblJlZGlyZWN0ID0gIVNlY3VyaXR5T3JpZ2luOjpjcmVhdGUobV9jdXJyZW50UmVxdWVzdC51
cmwoKSktPmNhblJlcXVlc3QocmVxdWVzdC51cmwoKSk7CisgICAgbV9uZXR3b3JrTG9hZE1ldHJp
Y3MuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCA9IG1fbmV0d29ya0xvYWRNZXRyaWNzLmhhc0Nyb3Nz
T3JpZ2luUmVkaXJlY3QgfHwgIVNlY3VyaXR5T3JpZ2luOjpjcmVhdGUobV9jdXJyZW50UmVxdWVz
dC51cmwoKSktPmNhblJlcXVlc3QocmVxdWVzdC51cmwoKSk7CisgICAgLy8gRklYTUU6IEFkZCBU
QU8gY2hlY2tzIGhlcmUgYW5kIHdoZW4gcmVjZWl2aW5nIGEgcmVzcG9uc2UuCisgICAgLy8gVGhp
cyB3YXMgZG9uZSBvbiBDb2NvYSBwbGF0Zm9ybXMgaW4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyNjY3OAogCiAgICAgLy8gQ2xlYXIgdGhlIHVzZXIgYWdlbnQgdG8g
ZW5zdXJlIGEgbmV3IG9uZSBpcyBjb21wdXRlZC4KICAgICBhdXRvIHVzZXJBZ2VudCA9IHJlcXVl
c3QuaHR0cFVzZXJBZ2VudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9XZWJD
b3JlU3VwcG9ydC9QaW5nSGFuZGxlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYkNvcmVTdXBw
b3J0L1BpbmdIYW5kbGUuaAppbmRleCAwOTI5Y2VmOTc4OWMwY2NmMTFhM2U5NDEwZjVkZTZmZmNh
ZmViYTYwLi4xZjU1ODRmYTM4N2Q3NmNjZTk0ZmY3YjU2OTY4ZTdlODIyMDYwNjA2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYkNvcmVTdXBwb3J0L1BpbmdIYW5kbGUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYkNvcmVTdXBwb3J0L1BpbmdIYW5kbGUuaApAQCAtNTAs
NyArNTAsNyBAQCBwdWJsaWM6CiAgICAgICAgIGJvb2wgZGVmZXJzTG9hZGluZyA9IGZhbHNlOwog
ICAgICAgICBib29sIHNob3VsZENvbnRlbnRTbmlmZiA9IGZhbHNlOwogICAgICAgICBib29sIHNo
b3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmID0gdHJ1ZTsKLSAgICAgICAgbV9oYW5kbGUgPSBXZWJD
b3JlOjpSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlKG5ldHdvcmtpbmdDb250ZXh0LCByZXF1ZXN0LCB0
aGlzLCBkZWZlcnNMb2FkaW5nLCBzaG91bGRDb250ZW50U25pZmYsIHNob3VsZENvbnRlbnRFbmNv
ZGluZ1NuaWZmKTsKKyAgICAgICAgbV9oYW5kbGUgPSBXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6
Y3JlYXRlKG5ldHdvcmtpbmdDb250ZXh0LCByZXF1ZXN0LCB0aGlzLCBkZWZlcnNMb2FkaW5nLCBz
aG91bGRDb250ZW50U25pZmYsIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmLCBudWxscHRyLCBm
YWxzZSk7CiAKICAgICAgICAgLy8gSWYgdGhlIHNlcnZlciBuZXZlciByZXNwb25kcywgdGhpcyBv
YmplY3Qgd2lsbCBoYW5nIGFyb3VuZCBmb3JldmVyLgogICAgICAgICAvLyBTZXQgYSB2ZXJ5IGdl
bmVyb3VzIHRpbWVvdXQsIGp1c3QgaW4gY2FzZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcCBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNw
cAppbmRleCA5MWM4M2EwNDNmMjczNWE5NzA0NmYxZDMyMzhmMGVmYWFmM2I2MzdlLi43ZGNmZTBi
ODc5Y2E4NTQ1Njk2ODM3ZWVjN2NhODkwZjk5OGE5OTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAKKysr
IGIvU291cmNlL1dlYktpdExlZ2FjeS9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hl
ZHVsZXIuY3BwCkBAIC0xMDksNyArMTA5LDkgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTY2hlZHVs
ZXI6OmxvYWRSZXNvdXJjZShGcmFtZSYgZnJhbWUsIENhY2hlZFJlc291cmNlJiByZXNvdXIKIAog
dm9pZCBXZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHko
RnJhbWVMb2FkZXImIGZyYW1lTG9hZGVyLCB1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmIHJlcXVlc3QsIENsaWVudENyZWRlbnRpYWxQb2xpY3ksIGNvbnN0IEZldGNoT3B0aW9u
cyYgb3B0aW9ucywgY29uc3QgSFRUUEhlYWRlck1hcCYsIFJlc291cmNlRXJyb3ImIGVycm9yLCBS
ZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgVmVjdG9yPHVpbnQ4X3Q+JiBkYXRhKQogewotICAg
IFJlc291cmNlSGFuZGxlOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KGZyYW1lTG9hZGVyLm5l
dHdvcmtpbmdDb250ZXh0KCksIHJlcXVlc3QsIG9wdGlvbnMuY3JlZGVudGlhbHMgPT0gRmV0Y2hP
cHRpb25zOjpDcmVkZW50aWFsczo6T21pdCA/IFN0b3JlZENyZWRlbnRpYWxzUG9saWN5OjpEb05v
dFVzZSA6IFN0b3JlZENyZWRlbnRpYWxzUG9saWN5OjpVc2UsIGVycm9yLCByZXNwb25zZSwgZGF0
YSk7CisgICAgYXV0byogZG9jdW1lbnQgPSBmcmFtZUxvYWRlci5mcmFtZSgpLmRvY3VtZW50KCk7
CisgICAgYXV0byogc291cmNlT3JpZ2luID0gZG9jdW1lbnQgPyAmZG9jdW1lbnQtPnNlY3VyaXR5
T3JpZ2luKCkgOiBudWxscHRyOworICAgIFJlc291cmNlSGFuZGxlOjpsb2FkUmVzb3VyY2VTeW5j
aHJvbm91c2x5KGZyYW1lTG9hZGVyLm5ldHdvcmtpbmdDb250ZXh0KCksIHJlcXVlc3QsIG9wdGlv
bnMuY3JlZGVudGlhbHMgPT0gRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFsczo6T21pdCA/IFN0b3Jl
ZENyZWRlbnRpYWxzUG9saWN5OjpEb05vdFVzZSA6IFN0b3JlZENyZWRlbnRpYWxzUG9saWN5OjpV
c2UsIHNvdXJjZU9yaWdpbiwgZXJyb3IsIHJlc3BvbnNlLCBkYXRhKTsKIH0KIAogdm9pZCBXZWJS
ZXNvdXJjZUxvYWRTY2hlZHVsZXI6OnBhZ2VMb2FkQ29tcGxldGVkKFBhZ2UmKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNk
MWFlM2JjMDBjZTQ5ZTdiNGIxMzc4MjhhMmU4NWMwZTNhMDIyNDguLjUwNjFkZjM3ZjE2ZmFhOGQw
NWEwMzQ0OTgyMjVlODhmOTBkYTg5NDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0wNi0w
NCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAg
IE1vdmUgVGltaW5nLUFsbG93LU9yaWdpbiBjaGVja3MgdG8gdGhlIG5ldHdvcmsgcHJvY2Vzcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2Njc4Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NTIyNzc4OD4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDYt
MDQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBJbXBsZW1lbnQgb2ZmLWJ5LWRlZmF1bHQgZXhwZXJpbWVudGFsIGZlYXR1cmUgZm9yIFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcudHJhbnNmZXJTaXplLCBlbmNvZGVkQm9keVNpemUsIGFuZCBk
ZWNvZGVkQm9keVNpemUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGRkY2E4YzI2
MTRmMWJjZDZhNWJlNzdkZjc2MzdjMmQwNDQ4ZWI5MmQuLjlkYmQzM2EyMzEyODBhMWQ2NGU5OTU5
YWJhMDA5N2RmNDU4YTMxMGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1NiBAQAorMjAyMS0wNi0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3
ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUgVGltaW5nLUFsbG93LU9yaWdpbiBjaGVja3MgdG8g
dGhlIG5ldHdvcmsgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI2Njc4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NTIyNzc4OD4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvQ29kaW5nQ29udmVudGlvbnMubWQ6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU08tWE8tU08tcmVk
aXJlY3QtY2hhaW4tdGFvLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9TTy1YTy1TTy1yZWRpcmVjdC1jaGFpbi10
YW8uaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9TeW50aGV0aWNSZXNwb25zZS5weToKKyAgICAgICAgKG1haW4pOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW1hdGNoLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9UQU8tbWF0Y2guaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9UQU8tbnVsbC1vcGFxdWUtb3JpZ2luLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbnVsbC1v
cGFxdWUtb3JpZ2luLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvVEFPLXBvcnQtbWlzbWF0Y2gtbWVhbnMtY3Jvc3NvcmlnaW4tZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5zLWNyb3Nzb3JpZ2luLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvX19pbml0X18ucHk6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVy
LWZ1bGwtYWRkLWFmdGVyLWZ1bGwtZXZlbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWFmdGVyLWZ1bGwt
ZXZlbnQuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2J1ZmZlci1mdWxsLWFkZC1lbnRyaWVzLWR1cmluZy1jYWxsYmFjay1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1h
ZGQtZW50cmllcy1kdXJpbmctY2FsbGJhY2stdGhhdC1kcm9wLmh0bWw6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtZW50cmllcy1k
dXJpbmctY2FsbGJhY2suaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2J1ZmZlci1mdWxsLWFkZC10aGVuLWNsZWFyLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFkZC10
aGVuLWNsZWFyLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9idWZmZXItZnVsbC1kZWNyZWFzZS1idWZmZXItZHVyaW5nLWNhbGxiYWNrLmh0bWw6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1p
bmNyZWFzZS1idWZmZXItZHVyaW5nLWNhbGxiYWNrLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluY3JlYXNlLWJ1
ZmZlci1kdXJpbmctY2FsbGJhY2suaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluc3BlY3QtYnVmZmVyLWR1cmluZy1jYWxsYmFj
ay1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9idWZmZXItZnVsbC1pbnNwZWN0LWJ1ZmZlci1kdXJpbmctY2FsbGJhY2suaHRtbDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXNl
dC10by1jdXJyZW50LWJ1ZmZlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zZXQtdG8tY3VycmVudC1idWZmZXIu
aHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZl
ci1mdWxsLXN0b3JlLWFuZC1jbGVhci1kdXJpbmctY2FsbGJhY2stZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc3Rv
cmUtYW5kLWNsZWFyLWR1cmluZy1jYWxsYmFjay5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVm
ZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXdoZW4tcG9wdWxhdGUtZW50cmllcy1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9i
dWZmZXItZnVsbC13aGVuLXBvcHVsYXRlLWVudHJpZXMuaHRtbDoKKyAgICAgICAgQWxsIHRoZXNl
IGJ1ZmZlci1mdWxsIHRlc3RzIHN0YXJ0IGZhaWxpbmcgd2hlbiBJIHVwZGF0ZSB0aGVtLgorICAg
ICAgICBUaGF0IGlzIGFuIHVucmVsYXRlZCBidWcuICBGaXJlZm94IGhhcyB0aGUgc2FtZSBidWcs
IGFuZCB3ZSBoYWQgdGhlIHNhbWUgYnVnIGJlZm9yZSBhbmQgYWZ0ZXIgdGhpcyBjaGFuZ2UuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0aW9uLXJl
dXNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9jb25uZWN0aW9uLXJldXNlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1yZXVzZS5odHRwcy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvY29ubmVjdGlvbi1yZXVzZS5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1zdGFydC1lbmQt
dGltZS13aXRoLXJlZGlyZWN0cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mtb3JpZ2luLXN0YXJ0LWVuZC10aW1l
LXdpdGgtcmVkaXJlY3RzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mtb3JpZ2luLXN0YXR1cy1jb2Rlcy5odG1sOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZG9jdW1lbnQtZG9tYWluLW5v
LWltcGFjdC1vcGVuZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3Qtb3BlbmVy
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvZW50cnktYXR0cmlidXRlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZW50cnktYXR0cmlidXRlcy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZldGNoLWNy
b3NzLW9yaWdpbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZmV0Y2gtY3Jvc3Mtb3JpZ2luLXJl
ZGlyZWN0Lmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvZm9udC10aW1lc3RhbXBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mb250LXRpbWVzdGFtcHMu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9pZnJhbWUtZmFpbGVkLWNvbW1pdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaWZyYW1lLWZhaWxlZC1jb21taXQuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9p
bml0aWF0b3ItdHlwZS1mb3Itc2NyaXB0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9pbml0aWF0b3ItdHlwZS1mb3Itc2Ny
aXB0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvbmV4dEhvcFByb3RvY29sLWlzLXRhby1wcm90ZWN0ZWQuaHR0cHMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL25l
eHRIb3BQcm90b2NvbC1pcy10YW8tcHJvdGVjdGVkLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1h
ZnRlci1UQU8tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5k
LWFmdGVyLVRBTy1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVy
LWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1j
cm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZWRpcmVjdHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3JlZGlyZWN0cy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlLWlnbm9yZS1kYXRhLXVybC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2UtaWdub3JlLWRhdGEtdXJs
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VfVEFPX2Nyb3NzX29yaWdpbl9yZWRpcmVjdF9jaGFpbi1leHBlY3RlZC50eHQ6
CisgICAgICAgIFRoaXMgYXBwYXJlbnQgcmVncmVzc2lvbiBpcyBhY3R1YWxseSBhIHByb2dyZXNz
aW9uLgorICAgICAgICBXaGVuIHRoaXMgdGVzdCBpcyBydW4gZnJvbSBvdXIgdGVzdCBpbmZyYXN0
cnVjdHVyZSwgQ2hyb21lIGFuZCBGaXJlZm94IGZhaWwgdGhlIHNhbWUgdGVzdHMgdGhhdCB5b3Ug
c2VlIG5vdyBmYWlsaW5nIGhlcmUsCisgICAgICAgIGluZGljYXRpbmcgdGhhdCBzb21ldGhpbmcg
aXMgd3Jvbmcgd2l0aCBvdXIgdGVzdCBpbmZyYXN0cnVjdHVyZS4gIFdoZW4gcnVuIG9uIHdwdC5s
aXZlLCBhbGwgYnJvd3NlcnMgcGFzcyB0aGlzIHRlc3QKKyAgICAgICAgYWZ0ZXIgdGhpcyBjaGFu
Z2UuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZV9jYWNoZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZV9pbml0aWF0b3JfdHlwZXMuaHRtbDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX25lc3RlZF9kZWRpY2F0ZWRf
d29ya2VyLndvcmtlci5qczoKKyAgICAgICAgKGFzeW5jX3Rlc3QpOgorICAgICAgICAoYXN5bmNf
dGVzdC5hc3luYyBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV90aW1pbmdfY29udGVudF9sZW5ndGgtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlX3RpbWluZ19jb250ZW50X2xlbmd0aC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy8yMDBfZW1wdHkuYXNp
czogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvVEFPUmVzcG9uc2UucHk6CisgICAgICAgIChtYWluKToKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9hbGxfcmVzb3VyY2VfdHlw
ZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzOgorICAgICAgICAoY29uc3Qu
d2FpdEZvck5leHRUYXNrKToKKyAgICAgICAgKGNvbnN0LmZvcmNlQnVmZmVyRnVsbEV2ZW50LmFz
eW5jIGNsZWFyQnVmZmVyQW5kU2V0U2l6ZSk6CisgICAgICAgIChjb25zdC5mb3JjZUJ1ZmZlckZ1
bGxFdmVudCk6CisgICAgICAgIChjb25zdC5maWxsVXBUaGVCdWZmZXJXaXRoVHdvUmVzb3VyY2Vz
LmFzeW5jIGNsZWFyQnVmZmVyQW5kU2V0U2l6ZSk6CisgICAgICAgIChhc3luYyBjb25zdC5maWxs
VXBUaGVCdWZmZXJXaXRoU2luZ2xlUmVzb3VyY2UuYXN5bmMgY2xlYXJCdWZmZXJBbmRTZXRTaXpl
KToKKyAgICAgICAgKGFzeW5jIGNvbnN0KToKKyAgICAgICAgKGxldC5hcHBlbmRTY3JpcHQpOiBE
ZWxldGVkLgorICAgICAgICAobGV0LndhaXRGb3JOZXh0VGFzayk6IERlbGV0ZWQuCisgICAgICAg
IChsZXQud2FpdFVudGlsQ29uZGl0aW9uSXNNZXQuY29uZC5yZXR1cm4ubmV3LlByb21pc2UucmVz
b2x2ZS5sZXQuY2hlY2tDb25kaXRpb24pOiBEZWxldGVkLgorICAgICAgICAobGV0LndhaXRGb3JF
dmVudFRvRmlyZS5yZXR1cm4ubmV3LlByb21pc2UpOiBEZWxldGVkLgorICAgICAgICAobGV0Lndh
aXRGb3JFdmVudFRvRmlyZSk6IERlbGV0ZWQuCisgICAgICAgIChsZXQuZmlsbFVwVGhlQnVmZmVy
V2l0aFR3b1Jlc291cmNlcy5hc3luYyBzcmMpOiBEZWxldGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NhY2hlYWJsZS1hbmQtdmFsaWRh
dGVkLnB5OiBBZGRlZC4KKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2Nvbm5lY3Rpb24tcmV1c2UtdGVzdC5qczog
QWRkZWQuCisgICAgICAgIChhdHRyaWJ1dGVfdGVzdC5hc3luYyBjbGllbnQpOgorICAgICAgICAo
YXR0cmlidXRlX3Rlc3QpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL2NzcC1kZWZhdWx0LW5vbmUuaHRtbDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvY3NwLWRlZmF1bHQt
bm9uZS5odG1sLmhlYWRlcnM6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3QuaHRtbDog
QWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZXMvZG9jdW1lbnQtcmVmcmVzaGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2RvY3VtZW50LXRoYXQtcmVmcmVz
aGVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL2VtYmVkLXJlZnJlc2guaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4tZnJhbWUuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvZ3JlZW4uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4uaHRtbC5oZWFkZXJzOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9nemlw
X3htbC5weToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlcy9pZnJhbWUtcmVmcmVzaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9pZnJhbWUtcmVsb2FkLVRBTy5zdWIu
aHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy9tdWx0aV9yZWRpcmVjdC5weToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL29iamVjdC1yZWZyZXNoLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL3JlZGlyZWN0LWNvcnMucHk6IEFkZGVkLgorICAgICAgICAobWFpbik6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVzb3Vy
Y2UtdGltaW5nLWNvbnRlbnQtbGVuZ3RoLnB5OiBBZGRlZC4KKyAgICAgICAgKG1haW4pOgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3Jlc291
cmNlX3RpbWluZ190ZXN0MC54bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvc2l6ZXMtaGVscGVyLmpzOiBBZGRlZC4KKyAgICAgICAgKGNv
bnN0LmNoZWNrU2l6ZUZpZWxkcyk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvc3RhdHVzLWNvZGUucHk6CisgICAgICAgIChtYWluKToKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy93ZWJw
ZXJmdGVzdGhhcm5lc3MuanM6CisgICAgICAgICh0ZXN0X25hbWVzcGFjZSk6CisgICAgICAgICh0
ZXN0X2F0dHJpYnV0ZV9leGlzdHMpOgorICAgICAgICAodGVzdF9lbnVtKToKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhh
cm5lc3NleHRlbnNpb24uanM6CisgICAgICAgICh0ZXN0X21ldGhvZF9leGlzdHMpOgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2FtZS1vcmlnaW4tZnJvbS1j
cm9zcy1vcmlnaW4tcmVkaXJlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NhbWUtb3JpZ2luLWZyb20tY3Jvc3Mtb3Jp
Z2luLXJlZGlyZWN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvc2l6ZXMtY2FjaGUuYW55LmpzOiBBZGRlZC4KKyAgICAgICAgKGNvbnN0
LmFjY3VtdWxhdGVFbnRyaWVzKToKKyAgICAgICAgKGNvbnN0LmNoZWNrUmVzb3VyY2VTaXplcy5s
aXN0LmxldC5lbnRyeS5vZi5lbnRyaWVzLmVsc2UpOgorICAgICAgICAocHJvbWlzZV90ZXN0KToK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLXJlZGly
ZWN0LWltZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3QtaW1nLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3QuYW55
LmpzOiBBZGRlZC4KKyAgICAgICAgKGNvbnN0LmFjY3VtdWxhdGVFbnRyeSk6CisgICAgICAgIChj
b25zdC5jaGVja1Jlc291cmNlU2l6ZXMpOgorICAgICAgICAoY29uc3QucmVkaXJlY3RVcmwpOgor
ICAgICAgICAocHJvbWlzZV90ZXN0KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3N0YXR1cy1jb2Rlcy1jcmVhdGUtZW50cnkuaHRtbDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Rlc3RfcmVzb3VyY2VfdGltaW5nLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Rlc3RfcmVzb3VyY2VfdGltaW5nLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3dvcmtlclN0YXJ0LXRhby1wcm90ZWN0ZWQu
aHR0cHMuaHRtbDoKKwogMjAyMS0wNi0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNl
bkB3ZWJraXQub3JnPgogCiAgICAgICAgIEltcGxlbWVudCBvZmYtYnktZGVmYXVsdCBleHBlcmlt
ZW50YWwgZmVhdHVyZSBmb3IgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy50cmFuc2ZlclNpemUs
IGVuY29kZWRCb2R5U2l6ZSwgYW5kIGRlY29kZWRCb2R5U2l6ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggZmY3Y2Y4ZjdjYjg5NjdkODk4ZWE3MDZmYmYzYzAzMTlhMjhhNTk1Ny4uMzFkMWEwZjIzMDFl
OTIzMzAyMDgzZWIxMmM4MmY3ZTQ2OWM1NWVjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVz
dEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC05MzEs
NiArOTMxLDEwIEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnRzb3VyY2Uv
cmVxdWVzdC1jcmVkZW50aWFscy5odG0gWyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLWZyb21lbGVtZW50L2NhcHR1cmUuaHRtbCBbIEZhaWx1
cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtZnJvbWVs
ZW1lbnQvZW5kZWQuaHRtbCBbIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9tZWRpYWNhcHR1cmUtZnJvbWVsZW1lbnQvY3JlYXRpb24uaHRtbCBbIFBhc3MgRmFpbHVy
ZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mb250
LXRpbWVzdGFtcHMuaHRtbCBbIEZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvc3RhdHVzLWNvZGVzLWNyZWF0ZS1lbnRyeS5odG1sIFsgUGFz
cyBGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL1NPLVhPLVNPLXJlZGlyZWN0LWNoYWluLXRhby5odHRwcy5odG1sIFsgRmFpbHVyZSBdCitp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9U
QU9fY3Jvc3Nfb3JpZ2luX3JlZGlyZWN0X2NoYWluLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5v
cmcvYi8xODAyNDAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvc2luZ2xlLWVudHJ5LXBlci1yZXNvdXJjZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIHdlYmtp
dC5vcmcvYi8xODk5MDYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VfdGltaW5nX2J1ZmZlcl9mdWxsX2V2ZW50dWFsbHkuaHRtbCBbIFNraXAg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2UtcmVsb2FkLVRBTy5zdWIuaHRtbCBbIFNraXAgXQpAQCAtMTM4MywxOCArMTM4NywxNiBAQCBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlZGlyZWN0LWJvZ3VzLmh0
bSBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy94aHIvc2VuZC1yZWRp
cmVjdC10by1jb3JzLmh0bSBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy94aHIvc2VuZC1yZWRpcmVjdC10by1ub24tY29ycy5odG0gWyBTa2lwIF0KIAotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90aW1p
bmcuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy90ZXN0X3Jlc291cmNlX3RpbWluZy5odHRwcy5odG1sIFsgUGFzcyBG
YWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2J1ZmZlci1mdWxsLWFkZC1lbnRyaWVzLWR1cmluZy1jYWxsYmFjay10aGF0LWRyb3AuaHRtbCBb
IFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
YnVmZmVyLWZ1bGwtZGVjcmVhc2UtYnVmZmVyLWR1cmluZy1jYWxsYmFjay5odG1sIFsgU2tpcCBd
CitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXIt
ZnVsbC1pbmNyZWFzZS1idWZmZXItZHVyaW5nLWNhbGxiYWNrLmh0bWwgWyBTa2lwIF0KK2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFk
ZC1lbnRyaWVzLWR1cmluZy1jYWxsYmFjay5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhdHVzLWNvZGVz
Lmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL25lc3RlZC1jb250ZXh0LW5hdmlnYXRpb25zLWVtYmVkLmh0bWwgWyBTa2lwIF0KIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL25lc3RlZC1jb250
ZXh0LW5hdmlnYXRpb25zLWlmcmFtZS5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9uZXN0ZWQtY29udGV4dC1uYXZpZ2F0aW9ucy1v
YmplY3QuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvcmVzb3VyY2VfbmVzdGVkX2RlZGljYXRlZF93b3JrZXIud29ya2VyLmh0bWwg
WyBTa2lwIF0KIAotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VfY29ubmVjdGlvbl9yZXVzZS5odG1sIFsgRmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9jb25uZWN0aW9u
X3JldXNlLmh0dHBzLmh0bWwgWyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX3JlcGFyZW50aW5nLmh0bWwgWyBGYWlsdXJl
IF0KIAogd2Via2l0Lm9yZy9iLzE2ODM1NyBodHRwL3dwdC9yZXNvdXJjZS10aW1pbmcvcnQtaW5p
dGlhdG9yVHlwZS1tZWRpYS5odG1sIFsgRmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9Db2RpbmdD
b252ZW50aW9ucy5tZCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL0NvZGluZ0NvbnZlbnRpb25zLm1kCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5Yjhk
MTM0MzVlZjQ5OTE5NTMzZWY3NDk3MzI2ZGFjMDZiZjk2NGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9Db2RpbmdDb252ZW50aW9ucy5tZApAQCAtMCwwICsxLDc3IEBACitGb3IgW1Jlc291cmNlIFRp
bWluZ11bMV0gdGVzdHMsIHdlIHdhbnQgdG8gaGF2ZSBhIGNvbnNpc3RlbnQgYW5kIGNsZWFyIGNv
ZGluZworc3R5bGUuIFRoZSBnb2FscyBvZiB0aGlzIHN0eWxlIGFyZSB0bzoKKyogICBNYWtlIGl0
IGVhc2llciBmb3IgbmV3IGNvbnRyaWJ1dG9ycyB0byBmaW5kIHRoZWlyIHdheSBhcm91bmQKKyog
ICBIZWxwIGltcHJvdmUgcmVhZGFiaWxpdHkgYW5kIG1haW50YWluYWJpbGl0eQorKiAgIEhlbHAg
dXMgdW5kZXJzdGFuZCB3aGljaCBwYXJ0cyBvZiB0aGUgc3BlYyBhcmUgdGVzdGVkIG9yIG5vdAor
TG90cyBvZiB0aGUgZm9sbG93aW5nIHJ1bGVzIGFyZSBhcmJpdHJhcnkgYnV0IHRoZSB2YWx1ZSBp
cyByZWFsaXplZCBpbgorY29uc2lzdGVuY3kgaW5zdGVhZCBvZiBhZGhlcmluZyB0byB0aGUgJ3Bl
cmZlY3QnIHN0eWxlLgorCitXZSB3YW50IHRoZSB0ZXN0IHN1aXRlIHRvIGJlIG5hdmlnYWJsZS4g
RGV2ZWxvcGVycyBzaG91bGQgYmUgYWJsZSB0byBlYXNpbHkKK2ZpbmQgdGhlIGZpbGUgb3IgdGVz
dCB0aGF0IGlzIHJlbGV2YW50IHRvIHRoZWlyIHdvcmsuCisqICAgVGVzdHMgc2hvdWxkIGJlIGFy
cmFuZ2VkIGluIGZpbGVzIGFjY29yZGluZyB0byB3aGljaCBwaWVjZSBvZiB0aGUgc3BlYyB0aGV5
CisgICAgdGVzdAorKiAgIEZpbGVzIHNob3VsZCBiZSBuYW1lZCB1c2luZyBhIGNvbnNpc3RlbnQg
cGF0dGVybgorKiAgIEhUTUwgZmlsZXMgc2hvdWxkIGluY2x1ZGUgdXNlZnVsIG1ldGEgdGFncwor
ICAgICogICBgPHRpdGxlPmAgZm9yIGNvbnRyb2xsaW5nIGxhYmVscyBpbiByZXN1bHRzIHBhZ2Vz
CisgICAgKiAgIGA8bGluayByZWw9ImhlbHAiPmAgdG8gcG9pbnQgYXQgdGhlIHJlbGV2YW50IHBp
ZWNlIG9mIHRoZSBzcGVjCisKK1dlIHdhbnQgdGhlIHRlc3Qgc3VpdGUgdG8gcnVuIGNvbnNpc3Rl
bnRseS4gRmxha3kgdGVzdHMgYXJlIGNvdW50ZXJwcm9kdWN0aXZlLgorKiAgIFByZWZlciBgcHJv
bWlzZV90ZXN0YCB0byBgYXN5bmNfdGVzdGAKKyAgICAqICAgTm90ZSB0aGF0IHRoZXJl4oCZcyBb
c3RpbGwgcG90ZW50aWFsIGZvciBzb21lIGNvbmN1cnJlbmN5XVsyXTsgdXNlCisgICAgICAgIGBh
ZGRfY2xlYW51cCgpYCBpZiBuZWVkZWQKKworV2Ugd2FudCB0aGUgdGVzdHMgdG8gYmUgcmVhZGFi
bGUuIFRlc3RzIHNob3VsZCBiZSB3cml0dGVuIGluIGEgbW9kZXJuIHN0eWxlCit3aXRoIHJlY3Vy
cmluZyBwYXR0ZXJucy4KKyogICA4MCBjaGFyYWN0ZXIgbGluZSBsaW1pdHMgd2hlcmUgd2UgY2Fu
CisqICAgQ29uc2lzdGVudCB1c2Ugb2YgYW5vbnltb3VzIGZ1bmN0aW9ucworICAgICogICBwcmVm
ZXIKKyAgICAgICAgYGBgCisgICAgICAgIGNvbnN0IGZ1bmMxID0gcGFyYW0xID0+IHsKKyAgICAg
ICAgICBib2R5KCk7CisgICAgICAgIH0KKyAgICAgICAgY29uc3QgZnVuYzIgPSAocGFyYW0xLCBw
YXJhbTIpID0+IHsKKyAgICAgICAgICBib2R5KCk7CisgICAgICAgIH0KKyAgICAgICAgZm4ocGFy
YW0gPT4geworICAgICAgICAgICAgYm9keSgpOworICAgICAgICB9KTsKKyAgICAgICAgYGBgCisK
KyAgICAgICAgb3ZlcgorCisgICAgICAgIGBgYAorICAgICAgICBmdW5jdGlvbiBmdW5jMShwYXJh
bTEpIHsKKyAgICAgICAgICBib2R5KCk7CisgICAgICAgIH0KKyAgICAgICAgZnVuY3Rpb24gZnVu
YzIocGFyYW0xLCBwYXJhbTIpIHsKKyAgICAgICAgICBib2R5KCk7CisgICAgICAgIH0KKyAgICAg
ICAgZm4oZnVuY3Rpb24ocGFyYW0pIHsKKyAgICAgICAgICAgIGJvZHkoKTsKKyAgICAgICAgfSk7
CisgICAgICAgIGBgYAorCisqICAgUHJlZmVyIGBjb25zdGAgKG9yLCBpZiBuZWVkZWQsIGBsZXRg
KSB0byBgdmFyYAorKiAgIENvbnRhaW4gdXNlIG9mIOKAmC5zdWLigJkgaW4gZmlsZW5hbWVzIHRv
IGtub3duIGhlbHBlciB1dGlsaXRpZXMgd2hlcmUgcG9zc2libGUKKyAgICAqICAgRS5nLiBwcmVm
ZXIgdXNlIG9mIGdldC1ob3N0LWluZm8uc3ViLmpzIHRvIGB7e2hvc3R9fWAgb3IgYHt7cG9ydHNb
MF19fWAKKyAgICAgICAgZXhwcmVzc2lvbnMKKyogICBBdm9pZCB1c2Ugb2Ygd2VicGVyZnRlc3Ro
YXJuZXNzW2V4dGVuc2lvbl0uanMgYXMgaXTigJlzIGEgbGF5ZXIgb2YgY29nbml0aXZlCisgICAg
b3ZlcmhlYWQgYmV0d2VlbiB0ZXN0IGNvbnRlbnQgYW5kIHRlc3QgaW50ZW50CisgICAgKiAgIEhl
bHBlciAuanMgZmlsZXMgYXJlIHN0aWxsIGVuY291cmFnZWQgd2hlcmUgaXQgbWFrZXMgc2Vuc2Ug
YnV0IHdlIHdhbnQKKyAgICAgICAgdG8gYXZvaWQgYSB0ZXN0aW5nIGZyYW1ld29yayB0aGF0IGlz
IHNwZWNpZmljIHRvIFJlc291cmNlIFRpbWluZyAob3IKKyAgICAgICAgd2ViIHBlcmZvcm1hbmNl
IEFQSXMsIGluIGdlbmVyYWwpLgorKiAgIFByZWZlciBbYGZldGNoX3Rlc3RzX2Zyb21fd2luZG93
YF1bM10gdG8gY29sbGVjdCB0ZXN0IHJlc3VsdHMgZnJvbSBlbWJlZGRlZAorICAgIGlmcmFtZXMg
aW5zdGVhZCBvZiBoYW5kLXJvbGxlZCBgcG9zdE1lc3NhZ2VgIGFwcHJvYWNoZXMKKyogICBVc2Ug
dGhlIFtgYXNzZXJ0XypgXVs0XSBmYW1pbHkgb2YgZnVuY3Rpb25zIHRvIGNoZWNrIGNvbmZvcm1h
bmNlIHRvIHRoZSBzcGVjCisgICAgYnV0IHRocm93IGV4Y2VwdGlvbnMgZXhwbGljaXRseSB3aGVu
IHRoZSB0ZXN0IGl0c2VsZiBpcyBicm9rZW4uCisgICAgKiAgICBBIGZhaWxlZCBhc3NlcnQgaW5k
aWNhdGVzICJ0aGUgaW1wbGVtZW50YXRpb24gZG9lc24ndCBjb25mb3JtIHRvIHRoZQorICAgICAg
ICAgc3BlYyIKKyAgICAqICAgIE90aGVyIHVuY2F1Z2h0IGV4Y2VwdGlvbnMgaW5kaWNhdGUgInRo
ZSB0ZXN0IGNhc2UgaXRzZWxmIGhhcyBhIGJ1ZyIKKyogICBXaGVyZSBwb3NzaWJsZSwgd2Ugd2Fu
dCB0ZXN0cyB0byBiZSBzY2FsYWJsZSAtIGFkZGluZyBhbm90aGVyIHRlc3QgY2FzZQorICAgIHNo
b3VsZCBiZSBhcyBzaW1wbGUgYXMgY2FsbGluZyB0aGUgdGVzdHMgd2l0aCBuZXcgcGFyYW1ldGVy
cywgcmF0aGVyIHRoYW4KKyAgICBjb3B5aW5nIGFuIGV4aXN0aW5nIHRlc3QgYW5kIG1vZGlmeWlu
ZyBpdC4KKworWzFdOiBodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvCitb
Ml06IGh0dHBzOi8vd2ViLXBsYXRmb3JtLXRlc3RzLm9yZy93cml0aW5nLXRlc3RzL3Rlc3RoYXJu
ZXNzLWFwaS5odG1sI3Byb21pc2UtdGVzdHMKK1szXTogaHR0cHM6Ly93ZWItcGxhdGZvcm0tdGVz
dHMub3JnL3dyaXRpbmctdGVzdHMvdGVzdGhhcm5lc3MtYXBpLmh0bWwjY29uc29saWRhdGluZy10
ZXN0cy1mcm9tLW90aGVyLWRvY3VtZW50cworWzRdOiBodHRwczovL3dlYi1wbGF0Zm9ybS10ZXN0
cy5vcmcvd3JpdGluZy10ZXN0cy90ZXN0aGFybmVzcy1hcGkuaHRtbCNsaXN0LW9mLWFzc2VydGlv
bnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL1NPLVhPLVNPLXJlZGlyZWN0LWNoYWluLXRhby5odHRwcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9TTy1YTy1TTy1yZWRpcmVjdC1jaGFpbi10YW8uaHR0cHMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjVmOGQyOTAzZDUxMDU2NTBlYTljZjU3NzQzY2ExMjJlMjc3MWE2NDcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9TTy1YTy1TTy1yZWRpcmVjdC1jaGFpbi10YW8uaHR0cHMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorCitGQUlMIFZlcmlmeSB0aGF0IGNyb3NzIG9y
aWdpbiByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIG5vdCBleHBvc2VkIHdoZW4gc2FtZS1vcmlnaW49
PmNyb3NzLW9yaWdpbj0+c2FtZS1vcmlnaW4gcmVkaXJlY3RzIGhhdmUgbm8gYFRpbWluZy1BbGxv
dy1PcmlnaW46YCBoZWFkZXJzLiBhc3NlcnRfZXF1YWxzOiBkb21haW5Mb29rdXBTdGFydCBzaG91
bGQgYmUgMCBleHBlY3RlZCAwIGJ1dCBnb3QgPG5vbmRldGVybWluaXN0aWMgdGVzdCBvdXRwdXQ+
CitGQUlMIFZlcmlmeSB0aGF0IGNyb3NzIG9yaWdpbiByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIG5v
dCBleHBvc2VkIHdoZW4gc2FtZS1vcmlnaW49PmNyb3NzLW9yaWdpbj0+c2FtZS1vcmlnaW4gcmVk
aXJlY3RzIGhhdmUgYFRpbWluZy1BbGxvdy1PcmlnaW46YCBoZWFkZXJzIG9ubHkgb24gc29tZSBv
ZiB0aGUgcmVzcG9uc2VzLiBhc3NlcnRfZXF1YWxzOiBkb21haW5Mb29rdXBTdGFydCBzaG91bGQg
YmUgMCBleHBlY3RlZCAwIGJ1dCBnb3QgPG5vbmRldGVybWluaXN0aWMgdGVzdCBvdXRwdXQ+CitG
QUlMIFZlcmlmeSB0aGF0IGNyb3NzIG9yaWdpbiByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIGV4cG9z
ZWQgd2hlbiBjcm9zcy1vcmlnaW4gcmVkaXJlY3RzIGhhdmUgYFRpbWluZy1BbGxvdy1PcmlnaW46
ICpgIGhlYWRlcnMgYXNzZXJ0X2dyZWF0ZXJfdGhhbjogcmVkaXJlY3RTdGFydCBzaG91bGQgYmUg
Z3JlYXRlciB0aGFuIDAgZXhwZWN0ZWQgYSBudW1iZXIgZ3JlYXRlciB0aGFuIDAgYnV0IGdvdCAw
CitQQVNTIFZlcmlmeSB0aGF0IGNyb3NzIG9yaWdpbiByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIG5v
dCBleHBvc2VkIHdoZW4gc2FtZS1vcmlnaW49PmNyb3NzLW9yaWdpbj0+c2FtZS1vcmlnaW4gcmVk
aXJlY3RzIGhhdmUgYFRpbWluZy1BbGxvdy1PcmlnaW46YCBoZWFkZXJzIHdpdGggYSBzcGVjaWZp
YyBvcmlnaW4uCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1NPLVhPLVNPLXJlZGlyZWN0LWNoYWluLXRhby5o
dHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvU08tWE8tU08tcmVkaXJlY3QtY2hhaW4tdGFvLmh0dHBzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZTY1Njg5MTBlNGZlN2I2MWRjOGE4NjlkZmQ0ZmNmZjA3NTBlNzI2NQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL1NPLVhPLVNPLXJlZGlyZWN0LWNoYWluLXRhby5odHRwcy5odG1sCkBA
IC0wLDAgKzEsNjQgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNo
YXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlRoaXMgdGVzdCB2YWxpZGF0ZXMgcmVzb3VyY2UgdGlt
aW5nIGluZm9ybWF0aW9uIGZvciBhIHNhbWUtb3JpZ2luPT5jcm9zcy1vcmlnaW49PnNhbWUtb3Jp
Z2luIHJlZGlyZWN0IGNoYWluIHdpdGhvdXQgVGltaW5nLUFsbG93LU9yaWdpbi48L3RpdGxlPgor
PGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGlt
aW5nLTIvI3NlYy1jcm9zcy1vcmlnaW4tcmVzb3VyY2VzIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQt
aG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291
cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9lbnRyeS1p
bnZhcmlhbnRzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2NvbnN0
IHtIVFRQU19SRU1PVEVfT1JJR0lOfSA9IGdldF9ob3N0X2luZm8oKTsKK2NvbnN0IFNBTUVfT1JJ
R0lOID0gbG9jYXRpb24ub3JpZ2luOworLy8gU2FtZS1PcmlnaW4gPT4gQ3Jvc3MtT3JpZ2luID0+
IFNhbWUtT3JpZ2luID0+IFNhbWUtT3JpZ2luIHJlZGlyZWN0IGNoYWluCitsZXQgZGVzdFVybCA9
IGAke1NBTUVfT1JJR0lOfS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRpX3JlZGlyZWN0
LnB5P2A7CitkZXN0VXJsICs9IGBwYWdlX29yaWdpbj0ke1NBTUVfT1JJR0lOfWA7CitkZXN0VXJs
ICs9IGAmY3Jvc3Nfb3JpZ2luPSR7SFRUUFNfUkVNT1RFX09SSUdJTn1gOworZGVzdFVybCArPSBg
JmZpbmFsX3Jlc291cmNlPS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2JsYW5rX3BhZ2VfZ3Jl
ZW4uaHRtYDsKKworLy8gTm8gVEFPIGluIHRoZSByZWRpcmVjdCBjaGFpbgorYXR0cmlidXRlX3Rl
c3QoCisgIGxvYWQuaWZyYW1lLCBkZXN0VXJsLAorICBpbnZhcmlhbnRzLmFzc2VydF9jcm9zc19v
cmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAgIlZlcmlmeSB0aGF0IGNyb3NzIG9yaWdpbiBy
ZXNvdXJjZXMnIHRpbWluZ3MgYXJlIG5vdCBleHBvc2VkIHdoZW4gIiArCisgICJzYW1lLW9yaWdp
bj0+Y3Jvc3Mtb3JpZ2luPT5zYW1lLW9yaWdpbiByZWRpcmVjdHMgaGF2ZSBubyAiICsKKyAgImBU
aW1pbmctQWxsb3ctT3JpZ2luOmAgaGVhZGVycy4iKTsKKworLy8gUGFydGlhbCBUQU8gaW4gdGhl
IHJlZGlyZWN0IGNoYWluCitkZXN0VXJsICs9ICcmdGFvX3N0ZXBzPTInOworYXR0cmlidXRlX3Rl
c3QoCisgIGxvYWQuaWZyYW1lLCBkZXN0VXJsLAorICBpbnZhcmlhbnRzLmFzc2VydF9jcm9zc19v
cmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAgIlZlcmlmeSB0aGF0IGNyb3NzIG9yaWdpbiBy
ZXNvdXJjZXMnIHRpbWluZ3MgYXJlIG5vdCBleHBvc2VkIHdoZW4gIiArCisgICJzYW1lLW9yaWdp
bj0+Y3Jvc3Mtb3JpZ2luPT5zYW1lLW9yaWdpbiByZWRpcmVjdHMgaGF2ZSAiICsKKyAgImBUaW1p
bmctQWxsb3ctT3JpZ2luOmAgaGVhZGVycyBvbmx5IG9uIHNvbWUgb2YgdGhlIHJlc3BvbnNlcy4i
KTsKKworLy8gQ3Jvc3Mtb3JpZ2luID0+IENyb3NzLU9yaWdpbiA9PiBTYW1lLU9yaWdpbiA9PiBT
YW1lLU9yaWdpbiByZWRpcmVjdCBjaGFpbi4KK2Rlc3RVcmwgPSBgJHtIVFRQU19SRU1PVEVfT1JJ
R0lOfS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRpX3JlZGlyZWN0LnB5P2A7CitkZXN0
VXJsICs9IGBwYWdlX29yaWdpbj0ke1NBTUVfT1JJR0lOfWA7CitkZXN0VXJsICs9IGAmY3Jvc3Nf
b3JpZ2luPSR7SFRUUFNfUkVNT1RFX09SSUdJTn1gOworZGVzdFVybCArPSBgJmZpbmFsX3Jlc291
cmNlPS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2JsdWUtd2l0aC10YW8ucG5nYDsKK2Rlc3RV
cmwgKz0gYCZ0YW9fc3RlcHM9M2A7CisKKy8vIEZ1bGwgcmVkaXJlY3QgY2hhaW4gd2l0aCBgVEFP
OiAqYC4KK2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLmltYWdlLCBkZXN0VXJsLAorICBpbnZhcmlh
bnRzLmFzc2VydF90YW9fZW5hYmxlZF9jcm9zc19vcmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwK
KyAgIlZlcmlmeSB0aGF0IGNyb3NzIG9yaWdpbiByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIGV4cG9z
ZWQgd2hlbiBjcm9zcy1vcmlnaW4gIiArCisgICJyZWRpcmVjdHMgaGF2ZSBgVGltaW5nLUFsbG93
LU9yaWdpbjogKmAgaGVhZGVycyIpOworCisvLyBUQU8gd2l0aCBhIHNwZWNpZmljIG9yaWdpbgor
ZGVzdFVybCArPSBgJnRhb192YWx1ZT0ke1NBTUVfT1JJR0lOfWA7CithdHRyaWJ1dGVfdGVzdCgK
KyAgbG9hZC5pbWFnZSwgZGVzdFVybCwKKyAgaW52YXJpYW50cy5hc3NlcnRfY3Jvc3Nfb3JpZ2lu
X3JlZGlyZWN0ZWRfcmVzb3VyY2UsCisgICJWZXJpZnkgdGhhdCBjcm9zcyBvcmlnaW4gcmVzb3Vy
Y2VzJyB0aW1pbmdzIGFyZSBub3QgZXhwb3NlZCB3aGVuICIgKworICAic2FtZS1vcmlnaW49PmNy
b3NzLW9yaWdpbj0+c2FtZS1vcmlnaW4gcmVkaXJlY3RzIGhhdmUgIiArCisgICJgVGltaW5nLUFs
bG93LU9yaWdpbjpgIGhlYWRlcnMgd2l0aCBhIHNwZWNpZmljIG9yaWdpbi4iKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU3ludGhldGljUmVzcG9uc2UucHkg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9TeW50aGV0aWNSZXNwb25zZS5weQppbmRleCBkYzU3ZDg0NTFmOWYxZWVmNjgxMjc4Yzg3
NTZkMTBiN2VmMmFmNGIxLi42Zjg4OGYzNzg5NmUxMjQwMTMwMWUxODdlYmQ1MTdlOTQyYTdlY2U4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9TeW50aGV0aWNSZXNwb25zZS5weQorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9TeW50aGV0aWNS
ZXNwb25zZS5weQpAQCAtMSw4ICsxLDkgQEAKLWZyb20gc2l4Lm1vdmVzLnVybGxpYi5wYXJzZSBp
bXBvcnQgdW5xdW90ZQorZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHVucXVvdGUKIAogZnJvbSB3
cHRzZXJ2ZS51dGlscyBpbXBvcnQgaXNvbW9ycGhpY19kZWNvZGUsIGlzb21vcnBoaWNfZW5jb2Rl
CiAKLWltcG9ydCBzbGVlcAoraW1wb3J0IGltcG9ydGxpYgorc2xlZXAgPSBpbXBvcnRsaWIuaW1w
b3J0X21vZHVsZSgicmVzb3VyY2UtdGltaW5nLnNsZWVwIikKIAogZGVmIG1haW4ocmVxdWVzdCwg
cmVzcG9uc2UpOgogICAgIGluZGV4ID0gaXNvbW9ycGhpY19lbmNvZGUocmVxdWVzdC5yZXF1ZXN0
X3BhdGgpLmluZGV4KGIiPyIpCkBAIC00Myw4ICs0NCw2IEBAIGRlZiBtYWluKHJlcXVlc3QsIHJl
c3BvbnNlKToKICAgICAgICAgICAgICAgICByZXNwb25zZS53cml0ZXIuZW5kX2hlYWRlcnMoKQog
ICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBzdGF0dXNTZW50ID0gVHJ1ZQotICAg
ICAgICBlbGlmIGFyZyA9PSBiImZsdXNoIjoKLSAgICAgICAgICAgIHJlc3BvbnNlLndyaXRlci5m
bHVzaCgpCiAKICMgICAgICAgIGVsc2U6CiAjICAgICAgICAgICAgZXJyb3IgIiAgSU5WQUxJRCBB
UkdVTUVOVCAlcyIgJSBhcmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1tYXRjaC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9UQU8tbWF0Y2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEwZTc2YTgxYWY2ZWI1Yjc1
ZTRlYzEyMmIyOTZhYjZhZDdlY2ZjYmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbWF0Y2gt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKKworUEFTUyBUaGUgdGltaW5nIGFsbG93IGNo
ZWNrIGFsZ29yaXRobSB3aWxsIHBhc3Mgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiBoZWFk
ZXIgdmFsdWUgbGlzdCBjb250YWlucyBhIGNhc2Utc2Vuc2l0aXZlIG1hdGNoLgorUEFTUyBUaGUg
dGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIHBhc3Mgd2hlbiB0aGUgVGltaW5nLUFs
bG93LU9yaWdpbiBoZWFkZXIgdmFsdWUgbGlzdCBjb250YWlucyBhIHdpbGRjYXJkLgorUEFTUyBU
aGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIGZhaWwgd2hlbiB0aGUgVGltaW5n
LUFsbG93LU9yaWdpbiBoZWFkZXIgdmFsdWUgbGlzdCBjb250YWlucyBhIG51bGwgb3JpZ2luLgor
UEFTUyBUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIHBhc3Mgd2hlbiB0aGUg
VGltaW5nLUFsbG93LU9yaWdpbiBoZWFkZXIgdmFsdWUgbGlzdCBjb250YWlucyB0aGUgb3JpZ2lu
IGFuZCBhIHdpbGRjYXJkLgorUEFTUyBUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3
aWxsIHBhc3Mgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiBoZWFkZXIgdmFsdWUgbGlzdCBj
b250YWlucyBtdWx0aXBsZSB3aWxkY2FyZHMuCitQQVNTIFRoZSB0aW1pbmcgYWxsb3cgY2hlY2sg
YWxnb3JpdGhtIHdpbGwgcGFzcyB3aGVuIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRlciB2
YWx1ZSBjb250YWlucyBvbmx5IHRoZSBvcmlnaW4uCitQQVNTIFRoZSB0aW1pbmcgYWxsb3cgY2hl
Y2sgYWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRl
ciB2YWx1ZSBjb250YWlucyBvbmx5IHRoZSB1cHBlcmNhc2VkIG9yaWdpbi4KK1BBU1MgVGhlIHRp
bWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1BbGxv
dy1PcmlnaW4gaGVhZGVyIHZhbHVlIGNvbnRhaW5zIG9ubHkgYSBzcGFjZS4KK1BBU1MgVGhlIHRp
bWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1BbGxv
dy1PcmlnaW4gaGVhZGVyIHZhbHVlIGNvbnRhaW5zIG9ubHkgYSB3aWxkY2FyZC4KK1BBU1MgVGhl
IHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1B
bGxvdy1PcmlnaW4gaGVhZGVyIGlzIG5vdCBwcmVzZW50LgorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8t
bWF0Y2guaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL1RBTy1tYXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEyNjQ1YTYzOGJlZjI2
YTY1NWVmMjUzZjY1NWM5NWFjOTYwN2ZmZjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbWF0
Y2guaHRtbApAQCAtMCwwICsxLDY5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmcgVEFPIHRl
c3RzPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRw
Oi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIgorICAgICAgaHJlZj0iaHR0
cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyN0aW1pbmctYWxsb3ctb3JpZ2lu
Ii8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFudHMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+
Citjb25zdCB7UkVNT1RFX09SSUdJTn0gPSBnZXRfaG9zdF9pbmZvKCk7Citjb25zdCBwYXRoID0g
UkVNT1RFX09SSUdJTiArICcvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9UQU9SZXNwb25zZS5w
eT90YW89JzsKKworYXR0cmlidXRlX3Rlc3QobG9hZC54aHJfc3luYywgcGF0aCArICdtYXRjaF9v
cmlnaW4nLAorICBpbnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc19ub19yZWRpcmVjdF9odHRwLAor
J1RoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgcGFzcyB3aGVuIHRoZSBUaW1p
bmctQWxsb3ctT3JpZ2luICcgKworJ2hlYWRlciB2YWx1ZSBsaXN0IGNvbnRhaW5zIGEgY2FzZS1z
ZW5zaXRpdmUgbWF0Y2guJyk7CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQueGhyX3N5bmMsIHBhdGgg
KyAnbWF0Y2hfd2lsZGNhcmQnLAorICBpbnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc19ub19yZWRp
cmVjdF9odHRwLAorJ1RoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgcGFzcyB3
aGVuIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luICcgKworJ2hlYWRlciB2YWx1ZSBsaXN0IGNvbnRh
aW5zIGEgd2lsZGNhcmQuJyk7CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQueGhyX3N5bmMsIHBhdGgg
KyAnbnVsbCcsCisgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19mYWlsdXJlX3Jlc291cmNlLAorJ1Ro
ZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRoZSBUaW1pbmct
QWxsb3ctT3JpZ2luICcgKworJ2hlYWRlciB2YWx1ZSBsaXN0IGNvbnRhaW5zIGEgbnVsbCBvcmln
aW4uJyk7CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQueGhyX3N5bmMsIHBhdGggKyAnbXVsdGknLAor
ICBpbnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc19ub19yZWRpcmVjdF9odHRwLAorJ1RoZSB0aW1p
bmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgcGFzcyB3aGVuIHRoZSBUaW1pbmctQWxsb3ct
T3JpZ2luICcgKworJ2hlYWRlciB2YWx1ZSBsaXN0IGNvbnRhaW5zIHRoZSBvcmlnaW4gYW5kIGEg
d2lsZGNhcmQuJyk7CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQueGhyX3N5bmMsIHBhdGggKyAnbXVs
dGlfd2lsZGNhcmQnLAorICBpbnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc19ub19yZWRpcmVjdF9o
dHRwLAorJ1RoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgcGFzcyB3aGVuIHRo
ZSBUaW1pbmctQWxsb3ctT3JpZ2luICcgKworJ2hlYWRlciB2YWx1ZSBsaXN0IGNvbnRhaW5zIG11
bHRpcGxlIHdpbGRjYXJkcy4nKTsKKworYXR0cmlidXRlX3Rlc3QobG9hZC54aHJfc3luYywgcGF0
aCArICdvcmlnaW4nLAorICBpbnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc19ub19yZWRpcmVjdF9o
dHRwLAorJ1RoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgcGFzcyB3aGVuIHRo
ZSBUaW1pbmctQWxsb3ctT3JpZ2luICcgKworJ2hlYWRlciB2YWx1ZSBjb250YWlucyBvbmx5IHRo
ZSBvcmlnaW4uJyk7CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQueGhyX3N5bmMsIHBhdGggKyAndXBw
ZXJjYXNlJywKKyAgaW52YXJpYW50cy5hc3NlcnRfdGFvX2ZhaWx1cmVfcmVzb3VyY2UsCisnVGhl
IHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1B
bGxvdy1PcmlnaW4gJyArCisnaGVhZGVyIHZhbHVlIGNvbnRhaW5zIG9ubHkgdGhlIHVwcGVyY2Fz
ZWQgb3JpZ2luLicpOworCithdHRyaWJ1dGVfdGVzdChsb2FkLnhocl9zeW5jLCBwYXRoICsgJ3Nw
YWNlJywKKyAgaW52YXJpYW50cy5hc3NlcnRfdGFvX2ZhaWx1cmVfcmVzb3VyY2UsCisnVGhlIHRp
bWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1BbGxv
dy1PcmlnaW4gJyArCisnaGVhZGVyIHZhbHVlIGNvbnRhaW5zIG9ubHkgYSBzcGFjZS4nKTsKKwor
YXR0cmlidXRlX3Rlc3QobG9hZC54aHJfc3luYywgcGF0aCArICd3aWxkY2FyZCcsCisgIGludmFy
aWFudHMuYXNzZXJ0X3Rhb19wYXNzX25vX3JlZGlyZWN0X2h0dHAsCisnVGhlIHRpbWluZyBhbGxv
dyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4g
JyArCisnaGVhZGVyIHZhbHVlIGNvbnRhaW5zIG9ubHkgYSB3aWxkY2FyZC4nKTsKKworYXR0cmli
dXRlX3Rlc3QobG9hZC54aHJfc3luYywgcGF0aCArICd6ZXJvJywKKyAgaW52YXJpYW50cy5hc3Nl
cnRfdGFvX2ZhaWx1cmVfcmVzb3VyY2UsCisnVGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0
aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gJyArCisnaGVhZGVyIGlz
IG5vdCBwcmVzZW50LicpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9UQU8tbnVsbC1vcGFxdWUtb3JpZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1udWxsLW9w
YXF1ZS1vcmlnaW4tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJkNmEzN2YxNDUwZTI5OWNmY2Y1
ODU0ZjY5YmVjMDQ5M2ZjMjE0YmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbnVsbC1vcGFx
dWUtb3JpZ2luLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK0Rlc2NyaXB0aW9uCisKK1Ro
aXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCwgZm9yIGEgY3Jvc3Mgb3JpZ2luIHJlc291cmNlLCB0aGUg
dGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIHN1Y2NlZWQgd2hlbiB0aGUgdmFsdWUg
b2YgVGltaW5nLUFsbG93LU9yaWdpbiBpcyBudWxsIGFuZCB0aGUgb3JpZ2luIGlzIGFuIG9wYXF1
ZSBvcmlnaW4uCisKKworUEFTUyBBbiBvcGFxdWUgb3JpZ2luIHNob3VsZCBiZSBhdXRob3JpemVk
IHRvIHNlZSByZXNvdXJjZSB0aW1pbmdzIHdoZW4gdGhlIFRBTyBoZWFkZXIgaXMgdGhlIHN0cmlu
ZyAnbnVsbCcKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW51bGwtb3BhcXVlLW9yaWdpbi5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvVEFPLW51bGwtb3BhcXVlLW9yaWdpbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY1NDhhN2I5YWQ0Mzc0
MDdlYWRlZDJjNmVmYzQ5NzRkZWMyNDJlY2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbnVs
bC1vcGFxdWUtb3JpZ2luLmh0bWwKQEAgLTAsMCArMSw1NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2Ug
VGltaW5nIFRBTyAtICJudWxsIiBhbmQgb3BhcXVlIG9yaWdpbjwvdGl0bGU+Cis8bGluayByZWw9
ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4K
KzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRp
bWluZy0yLyN0aW1pbmctYWxsb3ctb3JpZ2luIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1p
bmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5EZXNjcmlwdGlvbjwv
aDE+Cis8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQsIGZvciBhIGNyb3NzIG9yaWdpbiByZXNv
dXJjZSwgdGhlIHRpbWluZyBhbGxvdworY2hlY2sgYWxnb3JpdGhtIHdpbGwgc3VjY2VlZCB3aGVu
IHRoZSB2YWx1ZSBvZiBUaW1pbmctQWxsb3ctT3JpZ2luIGlzIG51bGwgYW5kCit0aGUgb3JpZ2lu
IGlzIGFuIG9wYXF1ZSBvcmlnaW4uPC9wPgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxpZnJhbWUg
aWQ9ImZyYW1lQ29udGV4dCI+PC9pZnJhbWU+Cis8c2NyaXB0PgorY29uc3Qgb3JpZ2luID0gZ2V0
X2hvc3RfaW5mbygpWyJPUklHSU4iXTsKK2NvbnN0IGZyYW1lX2NvbnRlbnQgPSBgZGF0YTp0ZXh0
L2h0bWw7dXRmOCw8Ym9keT4KKyAgPHNjcmlwdCBzcmM9IiR7b3JpZ2lufS9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvYCArIGBzY3JpcHQ+CisgIDxzY3JpcHQ+CisgICAgY29uc3QgdXJsID0g
IiR7b3JpZ2lufS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL1RBT1Jlc3BvbnNlLnB5P3Rhbz1u
dWxsIjsKKyAgICBwcm9taXNlX3Rlc3QoKCkgPT4geyByZXR1cm4gbmV3IFByb21pc2UoKHJlc29s
dmUsIHJlamVjdCkgPT4geworICAgICAgY29uc3QgcnVuX3Rlc3QgPSBlbnRyeUxpc3QgPT4gewor
ICAgICAgICBjb25zdCBlbnRyeSA9IGVudHJ5TGlzdC5nZXRFbnRyaWVzKClbMF07CisgICAgICAg
IGNvbnN0IHN1bSA9IGVudHJ5LnJlZGlyZWN0U3RhcnQgKyBlbnRyeS5yZWRpcmVjdEVuZCArCisg
ICAgICAgICAgICAgICAgICAgIGVudHJ5LmRvbWFpbkxvb2t1cFN0YXJ0ICsgZW50cnkuZG9tYWlu
TG9va3VwRW5kICsKKyAgICAgICAgICAgICAgICAgICAgZW50cnkuY29ubmVjdFN0YXJ0ICsgZW50
cnkuY29ubmVjdEVuZCArCisgICAgICAgICAgICAgICAgICAgIGVudHJ5LnNlY3VyZUNvbm5lY3Rp
b25TdGFydCArIGVudHJ5LnJlcXVlc3RTdGFydCArCisgICAgICAgICAgICAgICAgICAgIGVudHJ5
LnJlc3BvbnNlU3RhcnQgKyBlbnRyeS50cmFuc2ZlclNpemUgKworICAgICAgICAgICAgICAgICAg
ICBlbnRyeS5lbmNvZGVkQm9keVNpemUgKyBlbnRyeS5kZWNvZGVkQm9keVNpemU7CisgICAgICAg
IGFzc2VydF9ub3RfZXF1YWxzKHN1bSwgMCwgIlRpbWluZ3MgbXVzdCBiZSBub24temVybyIpOwor
ICAgICAgfTsKKyAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIo
bGlzdCA9PiB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgcnVuX3Rlc3QobGlzdCk7CisgICAg
ICAgICAgcmVzb2x2ZSgpOworICAgICAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgICByZWplY3Qo
ZSk7CisgICAgICAgIH0KKyAgICAgIH0pOworICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7IGVudHJ5
VHlwZXM6IFsicmVzb3VyY2UiXSB9KTsKKyAgICAgIGZldGNoKHVybCk7CisgICAgfSl9LCAiQW4g
b3BhcXVlIG9yaWdpbiBzaG91bGQgYmUgYXV0aG9yaXplZCB0byBzZWUgcmVzb3VyY2UgdGltaW5n
cyB3aGVuIiArCisgICAgICAgICAiIHRoZSBUQU8gaGVhZGVyIGlzIHRoZSBzdHJpbmcgJ251bGwn
Iik7CisgIDwvYCArIGBzY3JpcHQ+PC9ib2R5PmA7CisKK2ZyYW1lQ29udGV4dC5zdHlsZSA9ICJk
aXNwbGF5Om5vbmUiCitmcmFtZUNvbnRleHQuc3JjID0gZnJhbWVfY29udGVudDsKK2ZldGNoX3Rl
c3RzX2Zyb21fd2luZG93KGZyYW1lQ29udGV4dC5jb250ZW50V2luZG93KTsKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW51bGwtb3BhcXVlLW9yaWdpbi5z
dWItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW51bGwtb3BhcXVlLW9yaWdpbi5zdWItZXhwZWN0ZWQu
dHh0CmluZGV4IDJlYzdlMDhhM2E3Y2I4YmI4MDRlY2FiNDZiMDY3NjYwZjA0YzZjYmIuLjk3MjM1
ZGM3YTk5YmQyNzE1YzgzZTQyYWFlMGU5YmY1Nzg3ZTFmNjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1u
dWxsLW9wYXF1ZS1vcmlnaW4uc3ViLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbnVsbC1vcGFx
dWUtb3JpZ2luLnN1Yi1leHBlY3RlZC50eHQKQEAgLTMsNSArMyw1IEBAIERlc2NyaXB0aW9uCiBU
aGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgZm9yIGEgY3Jvc3Mgb3JpZ2luIHJlc291cmNlLCB0aGUg
dGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIHN1Y2NlZWQgd2hlbiB0aGUgdmFsdWUg
b2YgVGltaW5nLUFsbG93LU9yaWdpbiBpcyBudWxsIGFuZCB0aGUgb3JpZ2luIGlzIGFuIG9wYXF1
ZSBvcmlnaW4uCiAKIAotRkFJTCBUZXN0IG51bGwgVEFPIHZhbHVlIHdpdGggb3BhcXVlIG9yaWdp
bnMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlBBU1MiIGJ1dCBnb3QgIkZBSUwiCitQQVNTIFRl
c3QgbnVsbCBUQU8gdmFsdWUgd2l0aCBvcGFxdWUgb3JpZ2lucwogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9U
QU8tcG9ydC1taXNtYXRjaC1tZWFucy1jcm9zc29yaWdpbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8t
cG9ydC1taXNtYXRjaC1tZWFucy1jcm9zc29yaWdpbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODIwOGE1MzIxMWYxMzNkYTMzMWViZTViNTlhYjVjYzNiOTY4NjJiZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5zLWNyb3Nzb3JpZ2luLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDggQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBm
b3IgYSBjcm9zcyBvcmlnaW4gcmVzb3VyY2Ugd2l0aCBkaWZmZXJlbnQgcG9ydHMsIHRoZSB0aW1p
bmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRoZSB2YWx1ZSBvZiBUaW1p
bmctQWxsb3ctT3JpZ2luIHZhbHVlIGhhcyB0aGUgcmlnaHQgaG9zdCBidXQgdGhlIHdyb25nIHBv
cnQgaW4gaXQuCisKKworRkFJTCBBIHBvcnQgbWlzbWF0Y2ggbXVzdCBmYWlsIHRoZSBUQU8gY2hl
Y2sgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiBVUkwgaXMgbm90IHZhbGlkIG9yIGNvbnRhaW5zIHVzZXIgY3JlZGVudGlhbHMu
IgorRkFJTCBBbiBpZGVudGljYWwgcG9ydCBtdXN0IHBhc3MgdGhlIFRBTyBjaGVjayBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IFVSTCBpcyBub3QgdmFsaWQgb3IgY29udGFpbnMgdXNlciBjcmVkZW50aWFscy4iCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5zLWNyb3Nzb3JpZ2luLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9U
QU8tcG9ydC1taXNtYXRjaC1tZWFucy1jcm9zc29yaWdpbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYxMjE4
ZDE3YTBhNDRmMDEzYTAxYTliMWEyOGIzYWIxOWY5MWM5MWQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9UQU8tcG9ydC1taXNtYXRjaC1tZWFucy1jcm9zc29yaWdpbi5odG1sCkBAIC0wLDAgKzEsNDYg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
IiAvPgorPHRpdGxlPlRBTyAtIHBvcnQgbWlzbWF0Y2ggbXVzdCBmYWlsIHRoZSBjaGVjazwvdGl0
bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5n
b29nbGUuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3Jn
L1RSL3Jlc291cmNlLXRpbWluZy0yLyNzZWMtdGltaW5nLWFsbG93LW9yaWdpbiIvPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJl
c291cmNlcy9lbnRyeS1pbnZhcmlhbnRzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisKK2NvbnN0
IHtPUklHSU5BTF9IT1NULCBQT1JULCBQT1JUMn0gPSBnZXRfaG9zdF9pbmZvKCk7CisKKy8vIFRo
ZSBtYWluIHBhZ2UgaXMgYmVpbmcgcmVxdWVzdGVkIG9uIHRoZSBkZWZhdWx0IHBvcnQgKFBPUlQp
LCB3aGlsZSB0aGUKKy8vIHN1YnJlc291cmNlIHdpbGwgYmUgcmVxdWVzdGVkIG9uIGEgc2VwYXJh
dGUgcG9ydCAoUE9SVDIpLiBUaGUgcmVzcG9uc2Ugd2lsbAorLy8gaGF2ZSBhIFRpbWluZy1BbGxv
dy1PcmlnaW4gaGVhZGVyIHZhbHVlIHdpdGggdGhlIHNlY29uZCBwb3J0IHNvIHRoaXMgcGFnZSdz
CisvLyBvcmlnaW4gc2hvdWxkIG5vdCBiZSBhIG1hdGNoLgorY29uc3QgcG9ydF9taXNtYXRjaF91
cmwgPSBgJHtsb2NhdGlvbi5wcm90b2NvbH0vLyR7T1JJR0lOQUxfSE9TVH06JHtQT1JUMn1gICsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgYC9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL1RB
T1Jlc3BvbnNlLnB5P2AgKworICAgICAgICAgICAgICAgICAgICAgICAgICBgdGFvPW9yaWdpbl9w
b3J0XyR7UE9SVDJ9YDsKK2F0dHJpYnV0ZV90ZXN0KAorICBmZXRjaCwgcG9ydF9taXNtYXRjaF91
cmwsIGludmFyaWFudHMuYXNzZXJ0X3Rhb19mYWlsdXJlX3Jlc291cmNlLAorICAiQSBwb3J0IG1p
c21hdGNoIG11c3QgZmFpbCB0aGUgVEFPIGNoZWNrIik7CisKKy8vIFRoZSBzYW1lIFVSTCBhcyBh
Ym92ZSBleGNlcHQgdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gaGVhZGVyIHdpbGwgaGF2ZSB0aGUK
Ky8vIHNhbWUgcG9ydCBhcyB0aGlzIHBhZ2UncyBvcmlnaW4uIFRoZXJlZm9yZSwgdGhpcyBwYWdl
J3Mgb3JpZ2luIHdpbGwgbWF0Y2gKKy8vIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRlcidz
IHZhbHVlLiBUaGVyZWZvcmUsIHRoZSBzdWJyZXNvdXJjZSdzIHRpbWluZ3MKKy8vIG11c3QgYmUg
ZXhwb3NlZC4KK2NvbnN0IHBvcnRfbWF0Y2hfdXJsID0gYCR7bG9jYXRpb24ucHJvdG9jb2x9Ly8k
e09SSUdJTkFMX0hPU1R9OiR7UE9SVDJ9YCArCisgICAgICAgICAgICAgICAgICAgICAgIGAvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlcy9UQU9SZXNwb25zZS5weT9gICsKKyAgICAgICAgICAgICAg
ICAgICAgICAgYHRhbz1vcmlnaW5fcG9ydF8ke1BPUlR9YDsKK2F0dHJpYnV0ZV90ZXN0KAorICBm
ZXRjaCwgcG9ydF9tYXRjaF91cmwsIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzX25vX3JlZGly
ZWN0X2h0dHAsCisgICJBbiBpZGVudGljYWwgcG9ydCBtdXN0IHBhc3MgdGhlIFRBTyBjaGVjayIp
OworCis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxw
PlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBmb3IgYSBjcm9zcyBvcmlnaW4gcmVzb3VyY2Ugd2l0
aCBkaWZmZXJlbnQgcG9ydHMsCit0aGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxs
IGZhaWwgd2hlbiB0aGUgdmFsdWUgb2YKK1RpbWluZy1BbGxvdy1PcmlnaW4gdmFsdWUgaGFzIHRo
ZSByaWdodCBob3N0IGJ1dCB0aGUgd3JvbmcgcG9ydCBpbiBpdC48L3A+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9fX2luaXRfXy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL19faW5pdF9fLnB5Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmU2OWRlMjliYjJkMWQ2NDM0YjhiMjlhZTc3NWFkOGMyZTQ4YzUzOTEKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL2J1ZmZlci1mdWxsLWFkZC1lbnRyaWVzLWR1cmluZy1jYWxsYmFjay5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVm
ZmVyLWZ1bGwtYWRkLWVudHJpZXMtZHVyaW5nLWNhbGxiYWNrLmh0bWwKaW5kZXggYjM3YzQ3YjIz
ZmI1MDI2NDgwNjgzNTk0Yjk2NGVlNzEyYWJiZTcwOC4uM2M4NmUwMDhmNTRkMjg0NmI1NGJhMWM4
YmQwODZlNGViMGE2MTRjOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWVudHJpZXMt
ZHVyaW5nLWNhbGxiYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWVudHJpZXMtZHVy
aW5nLWNhbGxiYWNrLmh0bWwKQEAgLTYsNiArNiw3IEBACiA8bGluayByZWw9ImhlbHAiIGhyZWY9
Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jcGVyZm9ybWFuY2VyZXNvdXJj
ZXRpbWluZyIvPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzIj48L3Nj
cmlwdD4KIDwvaGVhZD4KIDxib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLXRo
ZW4tY2xlYXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLXRoZW4tY2xlYXItZXhw
ZWN0ZWQudHh0CmluZGV4IDg1OWI1MjU3YjU4MGVkN2QxZmI4NWJmYjhlMDE1NTQxMzFiYTQwODcu
Ljk1ZDMzZmE1OTk2ZWZlYjg2MmJhMWJiMjk4OWMyYmM1NmEyMmY4YWIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2J1ZmZlci1mdWxsLWFkZC10aGVuLWNsZWFyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXIt
ZnVsbC1hZGQtdGhlbi1jbGVhci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLVBBU1Mg
VGVzdCB0aGF0IGlmIHRoZSBidWZmZXIgaXMgY2xlYXJlZCBhZnRlciBlbnRyaWVzIHdlcmUgYWRk
ZWQgdG8gdGhlIHNlY29uZGFyeSBidWZmZXIsIHRob3NlIGVudHJpZXMgbWFrZSBpdCBpbnRvIHRo
ZSBwcmltYXJ5IG9uZQorRkFJTCBUZXN0IHRoYXQgaWYgdGhlIGJ1ZmZlciBpcyBjbGVhcmVkIGFm
dGVyIGVudHJpZXMgd2VyZSBhZGRlZCB0byB0aGUgc2Vjb25kYXJ5IGJ1ZmZlciwgdGhvc2UgZW50
cmllcyBtYWtlIGl0IGludG8gdGhlIHByaW1hcnkgb25lIGFzc2VydF9lcXVhbHM6IHRoZSBsYXN0
IDMgcmVzb3VyY2VzIHNob3VsZCBiZSBpbiB0aGUgYnVmZmVyLCBzaW5jZSB0aGUgZmlyc3Qgb25l
IHdhcyBjbGVhcmVkIGV4cGVjdGVkIDMgYnV0IGdvdCAyCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZl
ci1mdWxsLWFkZC10aGVuLWNsZWFyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtdGhlbi1jbGVh
ci5odG1sCmluZGV4IDcxMDg1MmNlZDU1ZjcxNmEzNDhjYzllNjg2NWQ3YThiNzA0OGE0NmEuLjMy
YWM1OTQ4MWY5OTk4MTkwM2ZhNGE4ZjA5M2Y2MDFjZmZhNzcxNTAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1
ZmZlci1mdWxsLWFkZC10aGVuLWNsZWFyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLXRo
ZW4tY2xlYXIuaHRtbApAQCAtNiw2ICs2LDcgQEAKIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0
cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNwZXJmb3JtYW5jZXJlc291cmNldGlt
aW5nIi8+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9InJlc291cmNlcy9idWZmZXItZnVsbC11dGlsaXRpZXMuanMiPjwvc2NyaXB0
PgogPC9oZWFkPgogPGJvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbmNyZWFzZS1i
dWZmZXItZHVyaW5nLWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbmNyZWFzZS1idWZm
ZXItZHVyaW5nLWNhbGxiYWNrLmh0bWwKaW5kZXggYjQ2ZDJkNjU2OTBhODg2ODM3YjhlYTc2MjFm
MzkyNjA4MTU1MmQ5Ny4uZGQxMmRkN2FmYTliZTE4YmJkZTQ2NDIxMmRjMDgxNzc5NjhkYTdkNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5jcmVhc2UtYnVmZmVyLWR1cmluZy1jYWxsYmFj
ay5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluY3JlYXNlLWJ1ZmZlci1kdXJpbmctY2FsbGJh
Y2suaHRtbApAQCAtMyw0NiArMywyMyBAQAogPGhlYWQgb25sb2FkPgogPG1ldGEgY2hhcnNldD0i
dXRmLTgiIC8+CiA8dGl0bGU+VGhpcyB0ZXN0IHZhbGlkYXRlcyBpbmNyZWFzaW5nIHRoZSBidWZm
ZXIgc2l6ZSBpbiBvbnJlc291cmNldGltaW5nYnVmZmVyZnVsbCBjYWxsYmFjayBvZiByZXNvdXJj
ZSB0aW1pbmcuPC90aXRsZT4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5v
cmcvVFIvcmVzb3VyY2UtdGltaW5nLyNwZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+Cis8bGlu
ayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29t
LyIgLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291
cmNlLXRpbWluZy0yLyNkb20tcGVyZm9ybWFuY2Utb25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwi
Lz4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL2J1ZmZlci1mdWxsLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+CiA8
L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+Ci1jb25zdCByZXNvdXJjZV90aW1pbmdfYnVmZmVyX3Np
emUgPSAxOwotbGV0IGV2ZW50RmlyZWQgPSBmYWxzZTsKLQotc2V0dXAoKCkgPT4gewotICAgIC8v
IEdldCB0aGUgYnJvd3NlciBpbnRvIGEgY29uc2lzdGVudCBzdGF0ZS4KLSAgICBjbGVhckJ1ZmZl
ckFuZFNldFNpemUocmVzb3VyY2VfdGltaW5nX2J1ZmZlcl9zaXplKTsKLSAgICB2YXIgaW5jcmVh
c2UgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgcGVyZm9ybWFuY2Uuc2V0UmVzb3VyY2VUaW1pbmdC
dWZmZXJTaXplKHJlc291cmNlX3RpbWluZ19idWZmZXJfc2l6ZSAqIDIpOwotICAgICAgICBldmVu
dEZpcmVkID0gdHJ1ZTsKLSAgICB9Ci0gICAgcGVyZm9ybWFuY2UuYWRkRXZlbnRMaXN0ZW5lcign
cmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsJywgaW5jcmVhc2UpOwotfSk7Ci0KLWxldCBvdmVyZmxv
d1RoZUJ1ZmZlciA9ICgpID0+IHsKLSAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7
Ci0gICAgICAgIC8vIFRoaXMgcmVzb3VyY2Ugb3ZlcmZsb3dzIHRoZSBlbnRyeSBidWZmZXIsIGFu
ZCBnb2VzIGludG8gdGhlIHNlY29uZGFyeSBidWZmZXIuCi0gICAgICAgIGFwcGVuZFNjcmlwdCgn
cmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5qcycsIHJlc29sdmUpOwotICAgIH0pOwotfTsKLQotbGV0
IHRlc3RUaGF0QnVmZmVyQ29udGFpbnNUaGVSaWdodFJlc291cmNlcyA9ICgpID0+IHsKLSAgICBs
ZXQgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7Ci0g
ICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMiwKLSAgICAgICAgICAgICAgICAgICdC
b3RoIGVudHJpZXMgc2hvdWxkIGJlIHN0b3JlZCBpbiByZXNvdXJjZSB0aW1pbmcgYnVmZmVyIHNp
bmNlIGl0cyBpbmNyZWFzZXMgc2l6ZSBvbmNlIGl0IG92ZXJmbG93cy4nKTsKLSAgICBhc3NlcnRf
dHJ1ZShlbnRyaWVzWzBdLm5hbWUuaW5jbHVkZXMoJ2VtcHR5LmpzJyksICJlbXB0eS5qcyBpcyBp
biB0aGUgZW50cmllcyBidWZmZXIiKTsKLSAgICBhc3NlcnRfdHJ1ZShlbnRyaWVzWzFdLm5hbWUu
aW5jbHVkZXMoJ2VtcHR5X3NjcmlwdC5qcycpLCAiZW1wdHlfc2NyaXB0LmpzIGlzIGluIHRoZSBl
bnRyaWVzIGJ1ZmZlciIpOwotfTsKLQogcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKLSAgICBh
d2FpdCBmaWxsVXBUaGVCdWZmZXJXaXRoU2luZ2xlUmVzb3VyY2UoInJlc291cmNlcy9lbXB0eS5q
cyIpOwotICAgIGF3YWl0IG92ZXJmbG93VGhlQnVmZmVyKCk7Ci0gICAgYXdhaXQgd2FpdEZvckV2
ZW50VG9GaXJlKCk7Ci0gICAgdGVzdFRoYXRCdWZmZXJDb250YWluc1RoZVJpZ2h0UmVzb3VyY2Vz
KCk7CisgICAgYXdhaXQgZmlsbFVwVGhlQnVmZmVyV2l0aFNpbmdsZVJlc291cmNlKCk7CisgICAg
cGVyZm9ybWFuY2UuYWRkRXZlbnRMaXN0ZW5lcigncmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsJywg
KCkgPT4geworICAgICAgICBwZXJmb3JtYW5jZS5zZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUo
Mik7CisgICAgfSk7CisgICAgYXdhaXQgbG9hZC5zY3JpcHQoc2NyaXB0UmVzb3VyY2VzWzFdKTsK
KyAgICBhd2FpdCBidWZmZXJGdWxsRmlyZVByb21pc2U7CisgICAgY2hlY2tFbnRyaWVzKDIpOwog
fSwgIlRlc3QgdGhhdCBpbmNyZWFzaW5nIHRoZSBidWZmZXIgZHVyaW5nIHRoZSBjYWxsYmFjayBp
cyBlbm91Z2ggZm9yIGVudHJpZXMgbm90IHRvIGJlIGRyb3BwZWQiKTsKIDwvc2NyaXB0PgogPC9i
b2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5zcGVjdC1idWZmZXItZHVyaW5nLWNh
bGxiYWNrLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluc3BlY3QtYnVmZmVyLWR1cmlu
Zy1jYWxsYmFjay1leHBlY3RlZC50eHQKaW5kZXggZjBjNGVmYTAzMDhjYzk5Mzk3ZTQ5YjRiZTU3
YmNmYzc0ZTVmZDUyZi4uN2EwZTY5N2Q0YWUwMjBjMzc5ZDQ0NjNhNGU0N2QxYzk4ODFlZDMzMSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5zcGVjdC1idWZmZXItZHVyaW5nLWNhbGxiYWNr
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbnNwZWN0LWJ1ZmZlci1kdXJpbmct
Y2FsbGJhY2stZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsNSBAQAogCi1QQVNTIFRlc3QgdGhhdCBl
bnRyaWVzIGluIHRoZSBzZWNvbmRhcnkgYnVmZmVyIGFyZSBub3QgZXhwb3NlZCBkdXJpbmcgdGhl
IGNhbGxiYWNrIGFuZCBiZWZvcmUgdGhleSBhcmUgY29waWVkIHRvIHRoZSBwcmltYXJ5IGJ1ZmZl
cgorSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgVGVz
dCB0aGF0IGVudHJpZXMgaW4gdGhlIHNlY29uZGFyeSBidWZmZXIgYXJlIG5vdCBleHBvc2VkIGR1
cmluZyB0aGUgY2FsbGJhY2sgYW5kIGJlZm9yZSB0aGV5IGFyZSBjb3BpZWQgdG8gdGhlIHByaW1h
cnkgYnVmZmVyIFRlc3QgdGltZWQgb3V0CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWlu
c3BlY3QtYnVmZmVyLWR1cmluZy1jYWxsYmFjay5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5zcGVj
dC1idWZmZXItZHVyaW5nLWNhbGxiYWNrLmh0bWwKaW5kZXggZDQ2ZDQ2OTJhNTViOWNiZWYxYWE1
Zjg4MmYzODg4N2UxZjc5NDBlOS4uZDRhYjA0Y2RkMzQ1Yzk1MzA0ZmE2YjNlZjViZDM3OTIyYzA1
ZWEyYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5zcGVjdC1idWZmZXItZHVyaW5nLWNh
bGxiYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5zcGVjdC1idWZmZXItZHVyaW5nLWNh
bGxiYWNrLmh0bWwKQEAgLTYsNiArNiw3IEBACiA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6
Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWlu
ZyIvPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4K
IDwvaGVhZD4KIDxib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc2V0LXRvLWN1cnJl
bnQtYnVmZmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXNldC10by1jdXJyZW50LWJ1
ZmZlci1leHBlY3RlZC50eHQKaW5kZXggOGMzNTY5ZDY1ODg5ZDM0ZDA3OGRjYTk2N2ZiNTNmYzlk
YWE4NTQ2Yy4uZWUyZDA3NjNjY2E4MTI4OGZhNmRlMzkxZGY3NzY3MjFkNzI4ZGE3MyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvYnVmZmVyLWZ1bGwtc2V0LXRvLWN1cnJlbnQtYnVmZmVyLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9idWZmZXItZnVsbC1zZXQtdG8tY3VycmVudC1idWZmZXItZXhwZWN0ZWQudHh0CkBA
IC0xLDMgKzEsNSBAQAogCi1QQVNTIFRlc3QgdGhhdCBlbnRyaWVzIGFkZGVkIGFuZCBldmVudCBm
aXJpbmcgaGFwcGVuZWQgaW4gdGhlIHJpZ2h0IHNlcXVlbmNlCitIYXJuZXNzIEVycm9yIChUSU1F
T1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBUZXN0IHRoYXQgYWRkaW5nIGVudHJpZXMg
YW5kIGZpcmluZyB0aGUgYnVmZmVyIGZ1bGwgZXZlbnQgaGFwcGVuIGluIHRoZSByaWdodCBvcmRl
ci4gVGVzdCB0aW1lZCBvdXQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc2V0LXRvLWN1
cnJlbnQtYnVmZmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zZXQtdG8tY3VycmVudC1idWZmZXIu
aHRtbAppbmRleCAxZTU0ODZlYzJjZGZjNDQyODc2YmExZjViMmM1MjQ5ODVlNzBlNWI1Li5kYzUy
N2I5YTMyZjUxNDlmZGU0YmU4NmQzYjJhZTVkODFmZDJkNGM3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZm
ZXItZnVsbC1zZXQtdG8tY3VycmVudC1idWZmZXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1z
ZXQtdG8tY3VycmVudC1idWZmZXIuaHRtbApAQCAtMiw4MSArMiwzMyBAQAogPGh0bWw+CiA8aGVh
ZD4KIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6
Ly93M2MuZ2l0aHViLmlvL3Jlc291cmNlLXRpbWluZy8jZG9tLXBlcmZvcm1hbmNlLXNldHJlc291
cmNldGltaW5nYnVmZmVyc2l6ZSI+CiA8dGl0bGU+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHNl
dFJlc291cmNlVGltaW5nQnVmZmVyRnVsbCBiZWhhdmVzIGFwcHJvcHJpYXRlbHkgd2hlbiBzZXQg
dG8gdGhlIGN1cnJlbnQgYnVmZmVyIGxldmVsLjwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIg
dGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxsaW5rIHJl
bD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNk
b20tcGVyZm9ybWFuY2Utb25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwiPgogPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5Pgog
PHNjcmlwdD4KLWxldCBldmVudEZpcmVkID0gZmFsc2U7Ci0KLWxldCBsb2FkUmFuZG9tUmVzb3Vy
Y2UgPSAoKSA9PiB7Ci0gICAgcmV0dXJuIGZldGNoKHdpbmRvdy5sb2NhdGlvbi5ocmVmICsgIj8i
ICsgTWF0aC5yYW5kb20oKSk7Ci19OwotCi1zZXR1cCgoKSA9PiB7Ci0gICAgLy8gR2V0IHRoZSBi
cm93c2VyIGludG8gYSBjb25zaXN0ZW50IHN0YXRlLgotICAgIGNsZWFyQnVmZmVyQW5kU2V0U2l6
ZSgxMDApOwotICAgIHdpbmRvdy5yZXN1bHQgPSAiIjsKLX0pOwotCi1sZXQgZmlsbFVwVGhlQnVm
ZmVyID0gKCkgPT4gewotICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAg
ICAgLy8gR2F0aGVyIHVwIDMgUmVzb3VyY2UgRW50cmllcyB0byBraWNrIG9mZiB0aGUgcmVzdCBv
ZiB0ZXN0IGJlaGF2aW9yLgotICAgICAgICBsZXQgcmVzb3VyY2VzID0gMDsKLSAgICAgICAgbGV0
IG9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIobGlzdCA9PiB7Ci0gICAgICAgICAg
ICByZXNvdXJjZXMgKz0gbGlzdC5nZXRFbnRyaWVzQnlUeXBlKCJyZXNvdXJjZSIpLmxlbmd0aDsK
LSAgICAgICAgICAgIGlmIChyZXNvdXJjZXMgIT09IDMpCi0gICAgICAgICAgICAgICAgcmV0dXJu
OwotICAgICAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOwotICAgICAgICAgICAgcmVzb2x2
ZSgpOwotICAgICAgICB9KTsKLSAgICAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczog
WyJyZXNvdXJjZSJdfSk7Ci0gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMzsgKytpKQotICAg
ICAgICAgICAgbG9hZFJhbmRvbVJlc291cmNlKCk7Ci0gICAgfSk7Ci19OwotCi1sZXQgc2V0QnVm
ZmVyU2l6ZSA9ICgpID0+IHsKLSAgICBwZXJmb3JtYW5jZS5vbnJlc291cmNldGltaW5nYnVmZmVy
ZnVsbCA9ICgpID0+IHsKLSAgICAgICAgZXZlbnRGaXJlZCA9IHRydWU7Ci0gICAgICAgIHdpbmRv
dy5yZXN1bHQgKz0gIkV2ZW50IEZpcmVkIHdpdGggIiAgKyBwZXJmb3JtYW5jZS5nZXRFbnRyaWVz
QnlUeXBlKCJyZXNvdXJjZSIpLmxlbmd0aCArICIgZW50cmllcy4gIjsKK3Byb21pc2VfdGVzdChh
c3luYyAoKSA9PiB7CisgICAgbGV0IHJlc3VsdCA9ICcnOworICAgIHBlcmZvcm1hbmNlLmFkZEV2
ZW50TGlzdGVuZXIoJ3Jlc291cmNldGltaW5nYnVmZmVyZnVsbCcsICgpID0+IHsKKyAgICAgICAg
cmVzdWx0ICs9ICdFdmVudCBGaXJlZCB3aXRoICcgICsKKyAgICAgICAgICAgIHBlcmZvcm1hbmNl
LmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJykubGVuZ3RoICsgJyBlbnRyaWVzLic7CiAgICAg
ICAgIHBlcmZvcm1hbmNlLmNsZWFyUmVzb3VyY2VUaW1pbmdzKCk7Ci0gICAgfTsKLSAgICB3aW5k
b3cucmVzdWx0ICs9ICJiZWZvcmUgc2V0TGltaXQoMykuICI7Ci0gICAgcGVyZm9ybWFuY2Uuc2V0
UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKDMpOwotICAgIHdpbmRvdy5yZXN1bHQgKz0gImFmdGVy
IHNldExpbWl0KDMpLiAiOwotfTsKLQotbGV0IG92ZXJmbG93VGhlQnVmZmVyID0gKCkgPT4gewot
ICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgICAgbG9hZFJhbmRvbVJl
c291cmNlKCkudGhlbigoKSA9PiB7Ci0gICAgICAgICAgICB3aW5kb3cucmVzdWx0ICs9ICJhZnRl
ciBsb2FkaW5nIDR0aCByZXNvdXJjZS4gIjsKLSAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAg
ICAgfSk7CiAgICAgfSk7Ci19OwotCi1sZXQgY2hlY2tSZXN1bHQgPSAoKSA9PiB7Ci0gICAgcmV0
dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKLSAgICAgICAgaWYgKHdpbmRv
dy5yZXN1bHQgIT0gImJlZm9yZSBzZXRMaW1pdCgzKS4gYWZ0ZXIgc2V0TGltaXQoMykuIGFmdGVy
IGxvYWRpbmcgNHRoIHJlc291cmNlLiBFdmVudCBGaXJlZCB3aXRoIDMgZW50cmllcy4gIikgewot
ICAgICAgICAgICAgcmVqZWN0KCJOb24gbWF0Y2hpbmcgdmFsdWU6ICIgKyB3aW5kb3cucmVzdWx0
KTsKLSAgICAgICAgfQotICAgICAgICBsZXQgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeVR5cGUoInJlc291cmNlIik7Ci0gICAgICAgIGlmIChlbnRyaWVzLmxlbmd0aCAhPSAxKSB7
Ci0gICAgICAgICAgICByZWplY3QoIk51bWJlciBvZiBlbnRyaWVzIGluIHJlc291cmNlIHRpbWlu
ZyBidWZmZXIgaXMgdW5leHBlY3RlZDogIiArIGVudHJpZXMubGVuZ3RoKTsKLSAgICAgICAgfQot
ICAgICAgICByZXNvbHZlKCk7Ci0gICAgfSk7Ci19OwotCi1wcm9taXNlX3Rlc3QoYXN5bmMgKCkg
PT4gewotICAgIGF3YWl0IGZpbGxVcFRoZUJ1ZmZlcigpOwotICAgIHNldEJ1ZmZlclNpemUoKTsK
LSAgICBhd2FpdCBvdmVyZmxvd1RoZUJ1ZmZlcigpOwotICAgIGF3YWl0IHdhaXRGb3JFdmVudFRv
RmlyZSgpOwotICAgIGF3YWl0IGNoZWNrUmVzdWx0KCk7Ci19LCAiVGVzdCB0aGF0IGVudHJpZXMg
YWRkZWQgYW5kIGV2ZW50IGZpcmluZyBoYXBwZW5lZCBpbiB0aGUgcmlnaHQgc2VxdWVuY2UiKTsK
KyAgICByZXN1bHQgKz0gJ0JlZm9yZSBhZGRpbmcgZW50cmllcy4gJzsKKyAgICBhd2FpdCBmaWxs
VXBUaGVCdWZmZXJXaXRoVHdvUmVzb3VyY2VzKCk7CisgICAgcmVzdWx0ICs9ICdBZnRlciBhZGRp
bmcgZW50cmllcy4gJzsKKyAgICBsb2FkLnNjcmlwdChzY3JpcHRSZXNvdXJjZXNbMl0pOworICAg
IGF3YWl0IGJ1ZmZlckZ1bGxGaXJlUHJvbWlzZTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlc3VsdCwg
J0JlZm9yZSBhZGRpbmcgZW50cmllcy4gQWZ0ZXIgYWRkaW5nIGVudHJpZXMuIEV2ZW50IEZpcmVk
IHdpdGggMiBlbnRyaWVzLicpOworICAgIGNvbnN0IGVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRF
bnRyaWVzQnlUeXBlKCdyZXNvdXJjZScpOworICAgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5n
dGgsIDEsCisgICAgICAgICdOdW1iZXIgb2YgZW50cmllcyBpbiByZXNvdXJjZSB0aW1pbmcgYnVm
ZmVyIGlzIHVuZXhwZWN0ZWQnKTsKKyAgICBhc3NlcnRfdHJ1ZShlbnRyaWVzWzBdLm5hbWUuaW5j
bHVkZXMoc2NyaXB0UmVzb3VyY2VzWzJdKSwKKyAgICAgICAgJ1RoZSBlbnRyeSBtdXN0IGNvcnJl
c3BvbmQgdG8gdGhlIGxhc3QgcmVzb3VyY2UgbG9hZGVkLicpCit9LCAiVGVzdCB0aGF0IGFkZGlu
ZyBlbnRyaWVzIGFuZCBmaXJpbmcgdGhlIGJ1ZmZlciBmdWxsIGV2ZW50IGhhcHBlbiBpbiB0aGUg
cmlnaHQgb3JkZXIuIik7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXN0
b3JlLWFuZC1jbGVhci1kdXJpbmctY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1
bGwtc3RvcmUtYW5kLWNsZWFyLWR1cmluZy1jYWxsYmFjay1leHBlY3RlZC50eHQKaW5kZXggYmYy
NzU1ZmM0Mjg4MmEyNTE3Y2JkNGRiMzQxZDU1ZjUxYzYyNjI2ZS4uMzdmMGNmMTk5ZTk0MjdkYzdh
ODczMGFlNjM5NzQ0NTQ0NTgwMzc1MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc3RvcmUt
YW5kLWNsZWFyLWR1cmluZy1jYWxsYmFjay1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1
bGwtc3RvcmUtYW5kLWNsZWFyLWR1cmluZy1jYWxsYmFjay1leHBlY3RlZC50eHQKQEAgLTEsMyAr
MSw1IEBACiAKLVBBU1MgVGVzdCB0aGF0IGVudHJpZXMgb3ZlcmZsb3dpbmcgdGhlIGJ1ZmZlciB0
cmlnZ2VyIHRoZSBidWZmZXIgZnVsbCBldmVudCwgY2FuIGJlIHN0b3JlZCwgYW5kIGZpbmQgdGhl
bXNlbHZlcyBpbiB0aGUgcHJpbWFyeSBidWZmZXIgYWZ0ZXIgaXQncyBjbGVhcmVkLgorSGFybmVz
cyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgVGVzdCB0aGF0IGVu
dHJpZXMgb3ZlcmZsb3dpbmcgdGhlIGJ1ZmZlciB0cmlnZ2VyIHRoZSBidWZmZXIgZnVsbCBldmVu
dCwgY2FuIGJlIHN0b3JlZCwgYW5kIG1ha2UgdGhlaXIgd2F5IHRvIHRoZSBwcmltYXJ5IGJ1ZmZl
ciBhZnRlciBpdCdzIGNsZWFyZWQgaW4gdGhlIGJ1ZmZlciBmdWxsIGV2ZW50LiBUZXN0IHRpbWVk
IG91dAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zdG9yZS1hbmQtY2xlYXItZHVyaW5n
LWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zdG9yZS1hbmQtY2xlYXItZHVyaW5nLWNh
bGxiYWNrLmh0bWwKaW5kZXggZjA3OTFjYmE2YjM5ZmI0YjdlMWFmMDkwNzc3NzJmMWVlM2I0Mjc0
NC4uM2VhMDU3NzI1NmM4NWIzNTQ1MzM1OGQxOGM5NzBlNGZiMzA0NWM0YyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvYnVmZmVyLWZ1bGwtc3RvcmUtYW5kLWNsZWFyLWR1cmluZy1jYWxsYmFjay5odG1sCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL2J1ZmZlci1mdWxsLXN0b3JlLWFuZC1jbGVhci1kdXJpbmctY2FsbGJhY2suaHRtbApAQCAt
NCw1MiArNCwzMyBAQAogPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+CiA8dGl0bGU+VGhpcyB0ZXN0
IHZhbGlkYXRlcyB0aGUgYmVoYXZpb3Igb2YgcmVhZCBhbmQgY2xlYXIgb3BlcmF0aW9uIGluIG9u
cmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIGNhbGxiYWNrIG9mIHJlc291cmNlIHRpbWluZy48L3Rp
dGxlPgogPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJJbnRlbCIgaHJlZj0iaHR0cDovL3d3dy5p
bnRlbC5jb20vIiAvPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9U
Ui9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxsaW5rIHJl
bD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNk
b20tcGVyZm9ybWFuY2Utb25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwiLz4KIDxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL2J1ZmZlci1mdWxsLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4K
IDxzY3JpcHQ+Ci1jb25zdCByZXNvdXJjZV90aW1pbmdfYnVmZmVyX3NpemUgPSAxOwotbGV0IGds
b2JhbF9idWZmZXIgPSBbXTsKLWxldCBldmVudEZpcmVkID0gZmFsc2U7Ci0KLXNldHVwKCgpID0+
IHsKLSAgICBjbGVhckJ1ZmZlckFuZFNldFNpemUocmVzb3VyY2VfdGltaW5nX2J1ZmZlcl9zaXpl
KTsKLSAgICBsZXQgc3RvcmVfYW5kX2NsZWFyID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgIGNvbnN0
IGVudHJ5TGlzdCA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7Ci0g
ICAgICAgIGVudHJ5TGlzdC5mb3JFYWNoKGZ1bmN0aW9uIChlbnRyeSkgewotICAgICAgICAgICAg
Z2xvYmFsX2J1ZmZlci5wdXNoKGVudHJ5KTsKLSAgICAgICAgfSk7Ci0gICAgICAgIHBlcmZvcm1h
bmNlLmNsZWFyUmVzb3VyY2VUaW1pbmdzKCk7Ci0gICAgICAgIGV2ZW50RmlyZWQgPSB0cnVlOwot
ICAgIH0KLSAgICBwZXJmb3JtYW5jZS5hZGRFdmVudExpc3RlbmVyKCdyZXNvdXJjZXRpbWluZ2J1
ZmZlcmZ1bGwnLCBzdG9yZV9hbmRfY2xlYXIpOwotfSk7Ci0KLWxldCBvdmVyZmxvd1RoZUJ1ZmZl
ciA9ICgpID0+IHsKLSAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0gICAgICAg
IC8vIFRoaXMgcmVzb3VyY2Ugb3ZlcmZsb3dzIHRoZSBlbnRyeSBidWZmZXIsIGFuZCBnb2VzIGlu
dG8gdGhlIHNlY29uZGFyeSBidWZmZXIuCi0gICAgICAgIGFwcGVuZFNjcmlwdCgncmVzb3VyY2Vz
L2VtcHR5X3NjcmlwdC5qcycsIHJlc29sdmUpOworcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsK
KyAgICBhd2FpdCBmaWxsVXBUaGVCdWZmZXJXaXRoU2luZ2xlUmVzb3VyY2UoKTsKKyAgICBjb25z
dCBlbnRyeUJ1ZmZlciA9IFtdOworICAgIHBlcmZvcm1hbmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3Jl
c291cmNldGltaW5nYnVmZmVyZnVsbCcsICgpID0+IHsKKyAgICAgIGVudHJ5QnVmZmVyLnB1c2go
Li4ucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKSk7CisgICAgICBwZXJm
b3JtYW5jZS5jbGVhclJlc291cmNlVGltaW5ncygpOwogICAgIH0pOwotfTsKLQotbGV0IHRlc3RU
aGF0QnVmZmVyQ29udGFpbnNUaGVSaWdodFJlc291cmNlcyA9ICgpID0+IHsKLSAgICBsZXQgZW50
cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7CisgICAgbG9h
ZC5zY3JpcHQoc2NyaXB0UmVzb3VyY2VzWzFdKTsKKyAgICBhd2FpdCBidWZmZXJGdWxsRmlyZVBy
b21pc2U7CisgICAgY29uc3QgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUo
J3Jlc291cmNlJyk7CiAgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwKLSAgICAg
ICAgICAgICAgICAgICJPbmx5IHRoZSBsYXN0IGVudHJ5IHNob3VsZCBiZSBzdG9yZWQgaW4gcmVz
b3VyY2UgdGltaW5nIGJ1ZmZlciBzaW5jZSBpdCdzIGNsZWFyZWQgb25jZSBpdCBvdmVyZmxvd3Mu
Iik7Ci0gICAgYXNzZXJ0X2VxdWFscyhnbG9iYWxfYnVmZmVyLmxlbmd0aCwgMSwgJzEgcmVzb3Vy
Y2UgdGltaW5nIGVudHJ5IHNob3VsZCBiZSBtb3ZlZCB0byBnbG9iYWwgYnVmZmVyLicpOwotICAg
IGFzc2VydF90cnVlKGdsb2JhbF9idWZmZXJbMF0ubmFtZS5pbmNsdWRlcygnZW1wdHkuanMnKSwg
ImVtcHR5LmpzIGlzIGluIHRoZSBnbG9iYWwgYnVmZmVyIik7Ci0gICAgYXNzZXJ0X3RydWUoZW50
cmllc1swXS5uYW1lLmluY2x1ZGVzKCdlbXB0eV9zY3JpcHQuanMnKSwgImVtcHR5X3NjcmlwdC5q
cyBpcyBpbiB0aGUgZW50cmllcyBidWZmZXIiKTsKLX07Ci0KLXByb21pc2VfdGVzdChhc3luYyAo
KSA9PiB7Ci0gICAgYXdhaXQgZmlsbFVwVGhlQnVmZmVyV2l0aFNpbmdsZVJlc291cmNlKCJyZXNv
dXJjZXMvZW1wdHkuanMiKTsKLSAgICBhd2FpdCBvdmVyZmxvd1RoZUJ1ZmZlcigpOwotICAgIGF3
YWl0IHdhaXRGb3JFdmVudFRvRmlyZSgpOwotICAgIHRlc3RUaGF0QnVmZmVyQ29udGFpbnNUaGVS
aWdodFJlc291cmNlcygpOwotfSwgIlRlc3QgdGhhdCBlbnRyaWVzIG92ZXJmbG93aW5nIHRoZSBi
dWZmZXIgdHJpZ2dlciB0aGUgYnVmZmVyIGZ1bGwgZXZlbnQsIGNhbiBiZSBzdG9yZWQsIGFuZCBm
aW5kIHRoZW1zZWx2ZXMgaW4gdGhlIHByaW1hcnkgYnVmZmVyIGFmdGVyIGl0J3MgY2xlYXJlZC4i
KTsKKyAgICAgICAgIk9ubHkgdGhlIGxhc3QgZW50cnkgc2hvdWxkIGJlIHN0b3JlZCBpbiByZXNv
dXJjZSB0aW1pbmcgYnVmZmVyIHNpbmNlIGl0J3MgY2xlYXJlZCBvbmNlIGl0IG92ZXJmbG93cy4i
KTsKKyAgICBhc3NlcnRfdHJ1ZShlbnRyaWVzWzBdLm5hbWUuaW5jbHVkZXMoc2NyaXB0UmVzb3Vy
Y2VzWzFdKSwKKyAgICAgICAgc2NyaXB0UmVzb3VyY2VzWzFdICArICIgaXMgaW4gdGhlIGVudHJp
ZXMgYnVmZmVyIik7CisgICAgYXNzZXJ0X2VxdWFscyhlbnRyeUJ1ZmZlci5sZW5ndGgsIDEsCisg
ICAgICAgICcxIHJlc291cmNlIHRpbWluZyBlbnRyeSBzaG91bGQgYmUgbW92ZWQgdG8gZW50cnlC
dWZmZXIuJyk7CisgICAgYXNzZXJ0X3RydWUoZW50cnlCdWZmZXJbMF0ubmFtZS5pbmNsdWRlcyhz
Y3JpcHRSZXNvdXJjZXNbMF0pLAorICAgICAgICBzY3JpcHRSZXNvdXJjZXNbMF0gKyAnIGlzIGlu
IHRoZSBlbnRyeUJ1ZmZlcicpOworfSwgIlRlc3QgdGhhdCBlbnRyaWVzIG92ZXJmbG93aW5nIHRo
ZSBidWZmZXIgdHJpZ2dlciB0aGUgYnVmZmVyIGZ1bGwgZXZlbnQsIGNhbiBiZSBzdG9yZWQsIGFu
ZCBtYWtlIHRoZWlyIHdheSB0byB0aGUgcHJpbWFyeSBidWZmZXIgYWZ0ZXIgaXQncyBjbGVhcmVk
IGluIHRoZSBidWZmZXIgZnVsbCBldmVudC4iKTsKIDwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQtZXhwZWN0ZWQudHh0CmluZGV4IGVmYmI2
OTc0YmE3M2FlZDkwMGMwNWZjNTFlZmQzNzgzNDUwODI5MTkuLjZmOWUzZjgyZDAxMWM4MzE5NDgx
YWVhOTJiZmUyMTRhYzdhZTYwN2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXRoZW4taW5j
cmVhc2VkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC10aGVuLWluY3JlYXNlZC1l
eHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLVBBU1MgVGVzdCB0aGF0IG92ZXJmbG93aW5n
IHRoZSBidWZmZXIgYW5kIGltbWVkaWF0ZWx5IGluY3JlYXNpbmcgaXRzIGxpbWl0IGRvZXMgbm90
IHRyaWdnZXIgdGhlIHJlc291cmNldGltaW5nYnVmZmVyZnVsbCBldmVudAorRkFJTCBUZXN0IHRo
YXQgb3ZlcmZsb3dpbmcgdGhlIGJ1ZmZlciBhbmQgaW1tZWRpYXRlbHkgaW5jcmVhc2luZyBpdHMg
bGltaXQgZG9lcyBub3QgdHJpZ2dlciB0aGUgcmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIGV2ZW50
IGFzc2VydF9lcXVhbHM6IEFsbCByZXNvdXJjZXMgc2hvdWxkIGJlIGluIHRoZSBidWZmZXIsIHNp
bmNlIGl0cyBzaXplIHdhcyBpbmNyZWFzZWQgZXhwZWN0ZWQgMyBidXQgZ290IDIKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxs
LXRoZW4taW5jcmVhc2VkLmh0bWwKaW5kZXggMjI2NTA3N2ZjMTVhMjc3YzMzNTJkYTIxNWZhNWFj
OGEyNzZjNjBhYS4uNjUyYWQxOTIxZDNkNTk3NjhiNzJkNDVmYjY5ZTdkOTRlZDczMDUyNyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZm
ZXItZnVsbC10aGVuLWluY3JlYXNlZC5odG1sCkBAIC02LDYgKzYsNyBAQAogPGxpbmsgcmVsPSJo
ZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1h
bmNlcmVzb3VyY2V0aW1pbmciLz4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2J1ZmZlci1mdWxsLXV0aWxpdGll
cy5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1m
dWxsLXdoZW4tcG9wdWxhdGUtZW50cmllcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC13
aGVuLXBvcHVsYXRlLWVudHJpZXMtZXhwZWN0ZWQudHh0CmluZGV4IDM0ZWM4MTg1ODlkNjVlOTE4
YTNhYjk0MzY3MjZkMTQyMTMxMTVlNzYuLmYxOWZmMTg2M2Q3OWM5MzkzOGMyNGM5Y2Y2NWUyNTVj
MWJlN2ZhNmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXdoZW4tcG9wdWxhdGUtZW50cmll
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtd2hlbi1wb3B1bGF0ZS1lbnRyaWVz
LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotUEFTUyBUZXN0IHRoYXQgYSBidWZmZXIg
ZnVsbCBldmVudCBkb2VzIG5vdCBidWJibGUgYW5kIHRoYXQgcmVzb3VyY2V0aW1pbmdidWZmZXJm
dWxsIGlzIGNhbGxlZCBvbmx5IG9uY2UgcGVyIG92ZXJmbG93CitGQUlMIFRlc3QgdGhhdCBhIGJ1
ZmZlciBmdWxsIGV2ZW50IGRvZXMgbm90IGJ1YmJsZSBhbmQgdGhhdCByZXNvdXJjZXRpbWluZ2J1
ZmZlcmZ1bGwgaXMgY2FsbGVkIG9ubHkgb25jZSBwZXIgb3ZlcmZsb3cgYXNzZXJ0X2VxdWFsczog
TnVtYmVyIG9mIGVudHJpZXMgZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIHZhbHVlLiBleHBl
Y3RlZCAyIGJ1dCBnb3QgMAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC13aGVuLXBvcHVs
YXRlLWVudHJpZXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXdoZW4tcG9wdWxhdGUtZW50cmllcy5o
dG1sCmluZGV4IDAwZDJhZTBlNDQyNmY0NjQ0ZjcwZTkyMTc1MWZmZmMzMjdkZTQ2ZDYuLmY0YjFh
MmU3ZTdhYmJhMjVjNzhlNGMxZGJlMGIxYWJhMjkwNjFkNDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZl
ci1mdWxsLXdoZW4tcG9wdWxhdGUtZW50cmllcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXdo
ZW4tcG9wdWxhdGUtZW50cmllcy5odG1sCkBAIC0yLDQ0ICsyLDI4IEBACiA8aHRtbD4KIDxoZWFk
PgogPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Ci08bGluayByZWw9ImF1dGhvciIgdGl0bGU9Iklu
dGVsIiBocmVmPSJodHRwOi8vd3d3LmludGVsLmNvbS8iIC8+Ci08bGluayByZWw9ImhlbHAiIGhy
ZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jcGVyZm9ybWFuY2VyZXNv
dXJjZXRpbWluZyIvPgogPHRpdGxlPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIGZ1bmN0aW9uYWxp
dHkgb2Ygb25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwgaW4gcmVzb3VyY2UgdGltaW5nLjwvdGl0
bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkludGVsIiBocmVmPSJodHRwOi8vd3d3Lmlu
dGVsLmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9U
Ui9yZXNvdXJjZS10aW1pbmctMi8jZG9tLXBlcmZvcm1hbmNlLW9ucmVzb3VyY2V0aW1pbmdidWZm
ZXJmdWxsIi8+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy9idWZmZXItZnVsbC11dGlsaXRpZXMuanMiPjwvc2Ny
aXB0PgogPC9oZWFkPgogPGJvZHk+CiA8c2NyaXB0PgotY29uc3QgcmVzb3VyY2VfdGltaW5nX2J1
ZmZlcl9zaXplID0gMjsKLWxldCBidWZmZXJGdWxsQ291bnQgPSAwOwotbGV0IGV2ZW50RmlyZWQg
PSBmYWxzZTsKLXNldHVwKCgpID0+IHsKLSAgICBjbGVhckJ1ZmZlckFuZFNldFNpemUocmVzb3Vy
Y2VfdGltaW5nX2J1ZmZlcl9zaXplKTsKK3Byb21pc2VfdGVzdChhc3luYyAoKSA9PiB7CisgICAg
bGV0IGJ1ZmZlckZ1bGxDb3VudCA9IDA7CiAgICAgcGVyZm9ybWFuY2UuYWRkRXZlbnRMaXN0ZW5l
cigncmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsJywgZSA9PiB7CiAgICAgICAgIGFzc2VydF9lcXVh
bHMoZS5idWJibGVzLCBmYWxzZSwgIkV2ZW50IGJ1YmJsZXMgYXR0cmlidXRlIGlzIGZhbHNlIik7
CiAgICAgICAgIGJ1ZmZlckZ1bGxDb3VudCsrOwotICAgICAgICBldmVudEZpcmVkID0gdHJ1ZTsK
ICAgICB9KTsKLX0pOwotCi1sZXQgb3ZlcmZsb3dUaGVCdWZmZXIgPSAoKSA9PiB7Ci0gICAgcmV0
dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgICAgICAvLyBUaGlzIHJlc291cmNlIG92
ZXJmbG93cyB0aGUgZW50cnkgYnVmZmVyLCBhbmQgZ29lcyBpbnRvIHRoZSBzZWNvbmRhcnkgYnVm
ZmVyLgotICAgICAgICBhcHBlbmRTY3JpcHQoJ3Jlc291cmNlcy9lbXB0eV9zY3JpcHQuanMnLCBy
ZXNvbHZlKTsKLSAgICB9KTsKLX07Ci0KLWxldCB0ZXN0VGhhdEJ1ZmZlckNvbnRhaW5zVGhlUmln
aHRSZXNvdXJjZXMgPSAoKSA9PiB7Ci0gICAgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZS5nZXRF
bnRyaWVzQnlUeXBlKCdyZXNvdXJjZScpLmxlbmd0aCwgcmVzb3VyY2VfdGltaW5nX2J1ZmZlcl9z
aXplLCAnVGhlcmUgc2hvdWxkIG9ubHkgYmUgfGJ1ZmZlclNpemV8IHJlc291cmNlIGVudHJpZXMu
Jyk7CisgICAgYXdhaXQgZmlsbFVwVGhlQnVmZmVyV2l0aFR3b1Jlc291cmNlcygpOworICAgIC8v
IE92ZXJmbG93IHRoZSBidWZmZXIKKyAgICBhd2FpdCBsb2FkLnNjcmlwdChzY3JpcHRSZXNvdXJj
ZXNbMl0pOworICAgIGF3YWl0IHdhaXRGb3JOZXh0VGFzaygpOworICAgIGNoZWNrRW50cmllcygy
KTsKICAgICBhc3NlcnRfZXF1YWxzKGJ1ZmZlckZ1bGxDb3VudCwgMSwgJ29ucmVzb3VyY2V0aW1p
bmdidWZmZXJmdWxsIHNob3VsZCBoYXZlIGJlZW4gaW52b2tlZCBvbmNlLicpOwotfTsKLQotcHJv
bWlzZV90ZXN0KGFzeW5jICgpID0+IHsKLSAgICBhd2FpdCBmaWxsVXBUaGVCdWZmZXJXaXRoVHdv
UmVzb3VyY2VzKCdyZXNvdXJjZXMvZW1wdHkuanMnKTsKLSAgICBhd2FpdCBvdmVyZmxvd1RoZUJ1
ZmZlcigpOwotICAgIGF3YWl0IHdhaXRGb3JFdmVudFRvRmlyZSgpOwotICAgIHRlc3RUaGF0QnVm
ZmVyQ29udGFpbnNUaGVSaWdodFJlc291cmNlcygpOwogfSwgIlRlc3QgdGhhdCBhIGJ1ZmZlciBm
dWxsIGV2ZW50IGRvZXMgbm90IGJ1YmJsZSBhbmQgdGhhdCByZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1
bGwgaXMgY2FsbGVkIG9ubHkgb25jZSBwZXIgb3ZlcmZsb3ciKTsKIDwvc2NyaXB0PgogPC9ib2R5
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1yZXVzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25u
ZWN0aW9uLXJldXNlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNWIxNTg3MmY2MzgxOGNlNTU3
MjNhMDU3Y2Q5NmM5Y2QzZDZmNzE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1y
ZXVzZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACitEZXNjcmlwdGlvbgorCitTZWUgdGhl
IGluY2x1ZGVkIHRlc3Qgc2NyaXB0CisKKworUEFTUyBQZXJmb3JtYW5jZVJlc3JvdWNlVGltaW5n
IGVudHJpZXMgbmVlZCB0byBjb25mb3JtIHRvIHRoZSBzcGVjIHdoZW4gYSBkaXN0aW5jdCByZXNv
dXJjZSBpcyBmZXRjaGVkIG92ZXIgYSBwZXJzaXN0ZW50IGNvbm5lY3Rpb24KK1BBU1MgUGVyZm9y
bWFuY2VSZXNyb3VjZVRpbWluZyBlbnRyaWVzIG5lZWQgdG8gY29uZm9ybSB0byB0aGUgc3BlYyB3
aGVuIHRoZSByZXNvdXJjZSBpcyBjYWNoZS1yZXZhbGlkYXRlZCBvdmVyIGEgcGVyc2lzdGVudCBj
b25uZWN0aW9uCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nv
bm5lY3Rpb24tcmV1c2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lODJiN2JjNGVhOWJiMWMzOTA0N2M1ZjUx
ODY3ZGMzYTNhNDVkYmViCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1yZXVzZS5o
dG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZyBjb25uZWN0aW9u
IHJldXNlPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJo
dHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczov
L3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI3NlYy1wZXJmb3JtYW5jZXJlc291cmNl
dGltaW5nIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFudHMuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9jb25uZWN0aW9uLXJldXNlLXRlc3QuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRpb248L2gxPgorPHA+U2VlIDxhIGhy
ZWY9InJlc291cmNlcy9jb25uZWN0aW9uLXJldXNlLXRlc3QuanMiPnRoZSBpbmNsdWRlZCB0ZXN0
CisgIHNjcmlwdDwvYT48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25u
ZWN0aW9uLXJldXNlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHR0
cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI1YjE1ODcyZjYzODE4Y2U1NTcyM2EwNTdjZDk2
YzljZDNkNmY3MTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0aW9uLXJldXNlLmh0dHBz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKK0Rlc2NyaXB0aW9uCisKK1NlZSB0aGUgaW5j
bHVkZWQgdGVzdCBzY3JpcHQKKworCitQQVNTIFBlcmZvcm1hbmNlUmVzcm91Y2VUaW1pbmcgZW50
cmllcyBuZWVkIHRvIGNvbmZvcm0gdG8gdGhlIHNwZWMgd2hlbiBhIGRpc3RpbmN0IHJlc291cmNl
IGlzIGZldGNoZWQgb3ZlciBhIHBlcnNpc3RlbnQgY29ubmVjdGlvbgorUEFTUyBQZXJmb3JtYW5j
ZVJlc3JvdWNlVGltaW5nIGVudHJpZXMgbmVlZCB0byBjb25mb3JtIHRvIHRoZSBzcGVjIHdoZW4g
dGhlIHJlc291cmNlIGlzIGNhY2hlLXJldmFsaWRhdGVkIG92ZXIgYSBwZXJzaXN0ZW50IGNvbm5l
Y3Rpb24KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1yZXVzZS5odHRwcy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
Y29ubmVjdGlvbi1yZXVzZS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4MmI3YmM0ZWE5YmIxYzM5
MDQ3YzVmNTE4NjdkYzNhM2E0NWRiZWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0aW9u
LXJldXNlLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGlt
aW5nIGNvbm5lY3Rpb24gcmV1c2U8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJH
b29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAi
IGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmctMi8jc2VjLXBlcmZv
cm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnktaW52YXJpYW50
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2Nvbm5lY3Rpb24tcmV1c2Ut
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5EZXNjcmlwdGlvbjwvaDE+
Cis8cD5TZWUgPGEgaHJlZj0icmVzb3VyY2VzL2Nvbm5lY3Rpb24tcmV1c2UtdGVzdC5qcyI+dGhl
IGluY2x1ZGVkIHRlc3QKKyAgc2NyaXB0PC9hPjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1zdGFydC1lbmQtdGltZS13aXRoLXJlZGlyZWN0cy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhcnQtZW5kLXRpbWUtd2l0aC1yZWRpcmVjdHMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNhZTcyMmZjOWExMmM2ZWU0MjI3ZjQ5NGJlYjY3NjNh
YjQ3ZmQzOGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhcnQtZW5kLXRp
bWUtd2l0aC1yZWRpcmVjdHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFZl
cmlmeSB0aGF0IGNyb3NzLW9yaWdpbiByZXNvdXJjZXMgZG9uJ3QgaW1wbGljaXRseSBleHBvc2Ug
dGhlaXIgcmVkaXJlY3QgdGltaW5ncworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3Rh
cnQtZW5kLXRpbWUtd2l0aC1yZWRpcmVjdHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1zdGFydC1l
bmQtdGltZS13aXRoLXJlZGlyZWN0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFiMTA3ZDNhZWY3NzY0ZDli
OTYwM2VhMjY1OGNmNDY5Y2YyODU5ODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmln
aW4tc3RhcnQtZW5kLXRpbWUtd2l0aC1yZWRpcmVjdHMuaHRtbApAQCAtMCwwICsxLDMyIEBACis8
IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4K
Kzx0aXRsZT5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSB2YWx1ZXMgaW4gcmVzb3VyY2UgdGltaW5n
IGZvciBjcm9zcy1vcmlnaW4KK3JlZGlyZWN0cy48L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3Ii
IHRpdGxlPSJOb2FtIFJvc2VudGhhbCIgaHJlZj0ibm9hbUB3ZWJraXQub3JnIj4KKzxsaW5rIHJl
bD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNz
ZWMtcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3Qt
aW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1s
b2FkZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnktaW52YXJp
YW50cy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citjb25zdCB7UkVN
T1RFX09SSUdJTn0gPSBnZXRfaG9zdF9pbmZvKCk7Citjb25zdCBkZWxheSA9IDIKK2NvbnN0IGJs
YW5rX3BhZ2UgPSBgL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5o
dG1gOworY29uc3QgZGVzdFVybCA9IGAvY29tbW9uL3Nsb3ctcmVkaXJlY3QucHk/ZGVsYXk9JHtk
ZWxheX0mbG9jYXRpb249JHtSRU1PVEVfT1JJR0lOfS8ke2JsYW5rX3BhZ2V9YDsKKworY29uc3Qg
dGltZUJlZm9yZSA9IHBlcmZvcm1hbmNlLm5vdygpCithdHRyaWJ1dGVfdGVzdChsb2FkLmlmcmFt
ZSwgZGVzdFVybCwgZW50cnkgPT4geworICAgIGFzc2VydF9lcXVhbHMoZW50cnkuc3RhcnRUaW1l
LCBlbnRyeS5mZXRjaFN0YXJ0LCAnc3RhcnRUaW1lIGFuZCBmZXRjaFN0YXJ0IHNob3VsZCBiZSBl
cXVhbCcpOworICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oZW50cnkuc3RhcnRUaW1lLCB0aW1lQmVm
b3JlLCAnc3RhcnRUaW1lIGFuZCBmZXRjaFN0YXJ0IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gdGhl
IHRpbWUgYmVmb3JlIGZldGNoaW5nJyk7CisgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS93
M2MvcmVzb3VyY2UtdGltaW5nL2lzc3Vlcy8yNjQKKyAgICBhc3NlcnRfbGVzc190aGFuKE1hdGgu
cm91bmQoZW50cnkuc3RhcnRUaW1lIC0gdGltZUJlZm9yZSksIGRlbGF5ICogMTAwMCwgJ3N0YXJ0
VGltZSBzaG91bGQgbm90IGV4cG9zZSByZWRpcmVjdCBkZWxheXMnKTsKK30sICJWZXJpZnkgdGhh
dCBjcm9zcy1vcmlnaW4gcmVzb3VyY2VzIGRvbid0IGltcGxpY2l0bHkgZXhwb3NlIHRoZWlyIHJl
ZGlyZWN0IHRpbWluZ3MiKQorCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2Nyb3NzLW9yaWdpbi1zdGF0dXMtY29kZXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1z
dGF0dXMtY29kZXMuaHRtbAppbmRleCBlOGVjZTVmZjJmZWEzZDRkODU2Y2RmMzc3NDg3MGM1OTA4
MGExYzQ1Li4xOTdhNzY2MzM5NmVmNjZjNzc2NGQ2NTk5YjAzODU0ZDEzOGYyZTYwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhdHVzLWNvZGVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mtb3Jp
Z2luLXN0YXR1cy1jb2Rlcy5odG1sCkBAIC0xLDYgKzEsOSBAQAogPCFkb2N0eXBlIGh0bWw+CiA8
aHRtbD4KIDxoZWFkPgorPHRpdGxlPlJlc291cmNlIFRpbWluZzogUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZyBhdHRyaWJ1dGVzIHNob3VsZG4ndCBjaGFuZ2UKKyAgaWYgdGhlIEhUVFAgc3RhdHVz
IGNvZGUgY2hhbmdlczwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3
LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmctMi8jc2VjLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1p
bmciLz4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPS9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanM+PC9zY3JpcHQ+CkBAIC0x
NSwzNCArMTgsNTMgQEAKIDxzY3JpcHQgaWQ9InNjcmlwdF80MDQiPjwvc2NyaXB0PgogPHNjcmlw
dCBpZD0ic2NyaXB0XzUwMiI+PC9zY3JpcHQ+CiA8c2NyaXB0PgotYXN5bmNfdGVzdCh0ID0+IHsK
LSAgbGV0IGRlc3RVcmwgPSBnZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lOICsgJy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzLyc7Ci0gIGxldCBzdGF0dXNDb2RlcyA9IFsnMjAwJywg
JzMwNycsICc0MDQnLCAnNTAyJ107CisKK2NvbnN0IGxpc3RlbkZvclBlcmZvcm1hbmNlRW50cmll
cyA9IG51bV9leHBlY3RlZCA9PiB7CisgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsK
KyAgICBsZXQgcmVzdWx0cyA9IFtdOworICAgIG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGVudHJ5
TGlzdCA9PiB7CisgICAgICBlbnRyeUxpc3QuZ2V0RW50cmllcygpLmZvckVhY2goZW50cnkgPT4g
eworICAgICAgICBpZiAoIWVudHJ5Lm5hbWUuaW5jbHVkZXMoInN0YXR1cy1jb2RlIikpCisgICAg
ICAgICAgcmV0dXJuOworCisgICAgICAgIHJlc3VsdHMucHVzaChlbnRyeSk7CisgICAgICAgIGlm
IChyZXN1bHRzLmxlbmd0aCA9PSBudW1fZXhwZWN0ZWQpIHsKKyAgICAgICAgICByZXNvbHZlKHJl
c3VsdHMpOworICAgICAgICB9CisgICAgICB9KTsKKyAgICB9KS5vYnNlcnZlKHtlbnRyeVR5cGVz
OiBbJ3Jlc291cmNlJ119KTsKKyAgfSk7Cit9CisKK3Byb21pc2VfdGVzdChhc3luYyB0ID0+IHsK
KyAgY29uc3QgZGVzdFVybCA9IGdldF9ob3N0X2luZm8oKS5IVFRQX1JFTU9URV9PUklHSU4gKyAn
L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvJzsKKyAgY29uc3Qgc3RhdHVzQ29kZXMgPSBbJzIw
MCcsICczMDcnLCAnNDA0JywgJzUwMiddOworCisgIGxldCBleHBlY3RlZF9lbnRyeV9jb3VudCA9
IDA7CiAgIHN0YXR1c0NvZGVzLmZvckVhY2goc3RhdHVzID0+IHsKLSAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnaW1nXycgKyBzdGF0dXMpLnNyYyA9IGRlc3RVcmwgKyAnc3RhdHVzLWNvZGUu
cHk/c3RhdHVzPScgKyBzdGF0dXM7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Njcmlw
dF8nICsgc3RhdHVzKS5zcmMgPSBkZXN0VXJsICsgJ3N0YXR1cy1jb2RlLnB5P3N0YXR1cz0nICsg
c3RhdHVzICsgJyZzY3JpcHQ9MSc7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYGltZ18k
e3N0YXR1c31gKS5zcmMgPSBgJHtkZXN0VXJsfXN0YXR1cy1jb2RlLnB5P3N0YXR1cz0ke3N0YXR1
c31gOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBzY3JpcHRfJHtzdGF0dXN9YCkuc3Jj
ID0gYCR7ZGVzdFVybH1zdGF0dXMtY29kZS5weT9zdGF0dXM9JHtzdGF0dXN9JnNjcmlwdD0xYDsK
KyAgICBleHBlY3RlZF9lbnRyeV9jb3VudCArPSAyOwogICB9KTsKLSAgbGV0IG5hbWVNYXAgPSB7
fTsKLSAgbGV0IGZpcnN0RW50cnkgPSBudWxsOwotICAvLyBXZSB3aWxsIGNoZWNrIHRoYXQgdGhl
IG5vbi10aW1lc3RhbXAgdmFsdWVzIG9mIHRoZSBlbnRyeSBtYXRjaCBmb3IgYWxsIGVudHJpZXMu
Ci0gIGNvbnN0IGtleXMgPSBbJ2VudHJ5VHlwZScsICduZXh0SG9wUHJvdG9jb2wnLCAndHJhbnNm
ZXJTaXplJywgJ2VuY29kZWRCb2R5U2l6ZScsICdkZWNvZGVkQm9keVNpemUnXTsKLSAgbmV3IFBl
cmZvcm1hbmNlT2JzZXJ2ZXIodC5zdGVwX2Z1bmMoZW50cnlMaXN0ID0+IHsKLSAgICBlbnRyeUxp
c3QuZ2V0RW50cmllcygpLmZvckVhY2goZW50cnkgPT4gewotICAgICAgaWYgKCFlbnRyeS5uYW1l
LmluY2x1ZGVzKCJzdGF0dXMtY29kZSIpKQotICAgICAgICByZXR1cm47CiAKLSAgICAgIG5hbWVN
YXBbZW50cnkubmFtZV0gPSB0cnVlOwotICAgICAgaWYgKCFmaXJzdEVudHJ5KSB7Ci0gICAgICAg
IGZpcnN0RW50cnkgPSBlbnRyeTsKLSAgICAgIH0gZWxzZSB7Ci0gICAgICAgIGtleXMuZm9yRWFj
aChrZXkgPT4gewotICAgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cnlba2V5XSwgZmlyc3RFbnRy
eVtrZXldLCBgRGlzY2VybmlibGUgZGlmZmVyZW5jZSBpbiAke2tleX0gZm9yICR7ZW50cnkubmFt
ZX1gKTsKLSAgICAgICAgfSk7Ci0gICAgICB9Ci0gICAgfSk7Ci0gICAgaWYgKE9iamVjdC5rZXlz
KG5hbWVNYXApLmxlbmd0aCA9PT0gOCkgewotICAgICAgdC5kb25lKCk7Ci0gICAgfQotICB9KSku
b2JzZXJ2ZSh7ZW50cnlUeXBlczogWydyZXNvdXJjZSddfSk7CisgIGNvbnN0IGVudHJpZXMgPSBh
d2FpdCBsaXN0ZW5Gb3JQZXJmb3JtYW5jZUVudHJpZXMoZXhwZWN0ZWRfZW50cnlfY291bnQpOwor
CisgIC8vIFdlIHdpbGwgY2hlY2sgdGhhdCB0aGUgbm9uLXRpbWVzdGFtcCB2YWx1ZXMgb2YgdGhl
IGVudHJ5IG1hdGNoIGZvciBhbGwKKyAgLy8gZW50cmllcy4KKyAgY29uc3Qga2V5cyA9IFsKKyAg
ICAnZW50cnlUeXBlJywKKyAgICAnbmV4dEhvcFByb3RvY29sJywKKyAgICAndHJhbnNmZXJTaXpl
JywKKyAgICAnZW5jb2RlZEJvZHlTaXplJywKKyAgICAnZGVjb2RlZEJvZHlTaXplJywKKyAgXTsK
KworICBjb25zdCBmaXJzdCA9IGVudHJpZXNbMF07CisgIGVudHJpZXMuc2xpY2UoMSkuZm9yRWFj
aChlbnRyeSA9PiB7CisgICAga2V5cy5mb3JFYWNoKGF0dHJpYnV0ZSA9PiB7CisgICAgICBhc3Nl
cnRfZXF1YWxzKGVudHJ5W2F0dHJpYnV0ZV0sIGZpcnN0W2F0dHJpYnV0ZV0sCisgICAgICAgIGBU
aGVyZSBtdXN0IGJlIG5vIGRpc2Nlcm5pYmxlIGRpZmZlcmVuY2UgZm9yIHRoZSAke2F0dHJpYnV0
ZX0gYCArCisgICAgICAgIGBhdHRyaWJ1dGUgYnV0IGZvdW5kIGEgZGlmZmVyZW5jZSBmb3IgdGhl
ICR7ZW50cnkubmFtZX0gcmVzb3VyY2UuYCk7CisgIH0pfSk7CiB9LCAiTWFrZSBzdXJlIGNyb3Nz
IG9yaWdpbiByZXNvdXJjZSBmZXRjaCBmYWlsdXJlcyB3aXRoIGRpZmZlcmVudCBzdGF0dXMgY29k
ZXMgYXJlIGluZGlzdGluZ3Vpc2hhYmxlIik7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Rv
Y3VtZW50LWRvbWFpbi1uby1pbXBhY3Qtb3BlbmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2RvY3VtZW50
LWRvbWFpbi1uby1pbXBhY3Qtb3BlbmVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44OTI4Zjc3
NWU4ZmJhOGJiZjk1OWQwZmFkZGQyMmU0YzFkY2IzYTVmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
ZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC1vcGVuZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NCBAQAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9kb2N1bWVudC1kb21haW4tbm8taW1wYWN0LW9wZW5lci5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZG9j
dW1lbnQtZG9tYWluLW5vLWltcGFjdC1vcGVuZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OWRmMmYyN2Zh
NWIxOTVmN2I5NTY3MTRjZjgxNmE2MWUxODI1OGI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZG9j
dW1lbnQtZG9tYWluLW5vLWltcGFjdC1vcGVuZXIuaHRtbApAQCAtMCwwICsxLDE2IEBACis8IURP
Q1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorLy8g
T3BlbiBhIGRvY3VtZW50IG9uIG9uZSBvZiBob3N0cyBvbiB0aGUgd2ViLXBsYXRmb3JtIHRlc3Qg
ZG9tYWluLCBzbyB0aGF0CisvLyBkb2N1bWVudC5kb21haW4gd2lsbCBzZXQgYSB2YWxpZCBkb21h
aW4sIHR1cm5pbmcgdGhlIGZyYW1lIGludG8gYQorLy8gY3Jvc3Mtb3JpZ2luIGZyYW1lLgorY29u
c3Qge09USEVSX09SSUdJTn0gPSBnZXRfaG9zdF9pbmZvKCk7Citjb25zdCBvcGVuZWUgPSB3aW5k
b3cub3BlbihPVEhFUl9PUklHSU4gKworICAgICAgICAgICAgICAgIi9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3QuaHRtbCIpOworZmV0Y2hfdGVzdHNf
ZnJvbV93aW5kb3cob3BlbmVlKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZW50cnktYXR0
cmlidXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9lbnRyeS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hYWZiNDVlY2I1YWIyMDBiNTE1MzE5NTVmMGNlOGJkNzg2YzU1MDQ4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvZW50cnktYXR0cmlidXRlcy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxMSBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IFBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcgZW50cmllcycgYXR0cmlidXRlcyBhcmUgcG9wdWxhdGVkIHdpdGgg
dGhlIGNvcnJlY3QgdmFsdWVzLgorCisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdl
ID0gbnVsbAorCitUSU1FT1VUIEltYWdlIHJlc291cmNlcyBzaG91bGQgZ2VuZXJhdGUgY29uZm9y
bWFudCBlbnRyaWVzIFRlc3QgdGltZWQgb3V0CitOT1RSVU4gRm9udCByZXNvdXJjZXMgc2hvdWxk
IGdlbmVyYXRlIGNvbmZvcm1hbnQgZW50cmllcworTk9UUlVOIFNhbWUtb3JpZ2luIHJlZGlyZWN0
cyBzaG91bGQgcG9wdWxhdGUgcmVkaXJlY3RTdGFydC9yZWRpcmVjdEVuZAorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9lbnRyeS1hdHRyaWJ1dGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9lbnRyeS1hdHRyaWJ1dGVzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjg5YjRlNzRjODU1MTg3NWM1MDMxMzNhZDY2NTJjOGE4YjZjNTkzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL2VudHJ5LWF0dHJpYnV0ZXMuaHRtbApAQCAtMCwwICsxLDM3IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4K
Kzx0aXRsZT5SZXNvdXJjZSBUaW1pbmc6IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgYXR0cmli
dXRlczwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9U
Ui9yZXNvdXJjZS10aW1pbmctMi8jc2VjLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFudHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2F0
dHJpYnV0ZV90ZXN0KAorICBsb2FkLmltYWdlLCAicmVzb3VyY2VzL2Zha2VfcmVzcG9uc2VzLnB5
I2hhc2g9MSIsCisgIGVudHJ5ID0+IHsKKyAgICBhc3NlcnRfdHJ1ZShlbnRyeS5uYW1lLmluY2x1
ZGVzKCcjaGFzaD0xJyksCisgICAgICAiVGhlcmUgc2hvdWxkIGJlIGEgaGFzaCBpbiB0aGUgcmVz
b3VyY2UgbmFtZSIpOworICAgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzX25vX3JlZGlyZWN0
X2h0dHAoZW50cnkpOworICB9LAorICAiSW1hZ2UgcmVzb3VyY2VzIHNob3VsZCBnZW5lcmF0ZSBj
b25mb3JtYW50IGVudHJpZXMiKTsKKworYXR0cmlidXRlX3Rlc3QoCisgIGxvYWQuZm9udCwgIi9m
b250cy9BaGVtLnR0ZiIsCisgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzX25vX3JlZGlyZWN0
X2h0dHAsCisgICJGb250IHJlc291cmNlcyBzaG91bGQgZ2VuZXJhdGUgY29uZm9ybWFudCBlbnRy
aWVzIik7CisKK2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLmltYWdlLCAiL2NvbW1vbi9yZWRpcmVj
dC5weT9sb2NhdGlvbj1yZXNvdXJjZXMvZmFrZV9yZXNwb25zZXMucHkiLAorICBpbnZhcmlhbnRz
LmFzc2VydF9zYW1lX29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNlLAorICAiU2FtZS1vcmlnaW4g
cmVkaXJlY3RzIHNob3VsZCBwb3B1bGF0ZSByZWRpcmVjdFN0YXJ0L3JlZGlyZWN0RW5kIik7Cis8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxwPlRoaXMg
dGVzdCB2YWxpZGF0ZXMgdGhhdCBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGVudHJpZXMnIGF0
dHJpYnV0ZXMgYXJlCitwb3B1bGF0ZWQgd2l0aCB0aGUgY29ycmVjdCB2YWx1ZXMuPC9wPgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZmV0Y2gtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0
Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZldGNoLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odHRw
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTJmYjMwZDFhNzgxM2FjZWVmNTAzMzM0YTBkNDgw
MDQyMDYyMzQwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZldGNoLWNyb3NzLW9yaWdpbi1yZWRp
cmVjdC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1MgVGVzdCBmZXRj
aGluZyB0aHJvdWdoIGEgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0IFVSTAorUEFTUyBUZXN0IGZldGNo
aW5nIHRocm91Z2ggYSBzYW1lLW9yaWdpbiByZWRpcmVjdCBVUkwKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
ZmV0Y2gtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mZXRjaC1jcm9zcy1v
cmlnaW4tcmVkaXJlY3QuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MTkzNDIyNjUzYTU5NTRmZjAz
MzUxOGM2OTBmNjU0NjBiYzU0MzNiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZmV0Y2gtY3Jvc3Mt
b3JpZ2luLXJlZGlyZWN0Lmh0dHBzLmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPCFET0NUWVBFIGh0
bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+VGVzdCBjcm9zcy1vcmlnaW4gZmV0
Y2ggcmVkaXJlY3RzIGhhdmUgdGhlIHJpZ2h0IHZhbHVlcy48L3RpdGxlPgorPGxpbmsgcmVsPSJh
dXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8
bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1p
bmctMi8jc2VjLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dl
dC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50
cnktaW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291
cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworY29uc3Qge1JFTU9URV9PUklH
SU4sIE9SSUdJTn0gPSBnZXRfaG9zdF9pbmZvKCk7Citjb25zdCByZWRpcmVjdCA9ICIvY29tbW9u
L3JlZGlyZWN0LnB5PyIgKworICAgICAgICAgICAgICAgICAibG9jYXRpb249L3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvZ3JlZW4uaHRtbCI7Citjb25zdCBjcm9zc19vcmlnaW5fcmVkaXJlY3Qg
PSBSRU1PVEVfT1JJR0lOICsgcmVkaXJlY3Q7Citjb25zdCBzYW1lX29yaWdpbl9yZWRpcmVjdCA9
IE9SSUdJTiArIHJlZGlyZWN0OworCithdHRyaWJ1dGVfdGVzdCgKKyAgdXJsID0+IGZldGNoKHVy
bCwge21vZGU6ICJuby1jb3JzIiwgY3JlZGVudGlhbHM6ICJpbmNsdWRlIn0pLAorICBuZXcgVVJM
KGNyb3NzX29yaWdpbl9yZWRpcmVjdCkuaHJlZiwKKyAgaW52YXJpYW50cy5hc3NlcnRfY3Jvc3Nf
b3JpZ2luX3JlZGlyZWN0ZWRfcmVzb3VyY2UsCisgICJUZXN0IGZldGNoaW5nIHRocm91Z2ggYSBj
cm9zcy1vcmlnaW4gcmVkaXJlY3QgVVJMIgorKTsKKworYXR0cmlidXRlX3Rlc3QoCisgIHVybCA9
PiBmZXRjaCh1cmwsIHttb2RlOiAibm8tY29ycyIsIGNyZWRlbnRpYWxzOiAiaW5jbHVkZSJ9KSwK
KyAgbmV3IFVSTChzYW1lX29yaWdpbl9yZWRpcmVjdCkuaHJlZiwKKyAgaW52YXJpYW50cy5hc3Nl
cnRfc2FtZV9vcmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAgIlRlc3QgZmV0Y2hpbmcgdGhy
b3VnaCBhIHNhbWUtb3JpZ2luIHJlZGlyZWN0IFVSTCIKKyk7CisKKzwvc2NyaXB0PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvZm9udC10aW1lc3RhbXBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZvbnQtdGltZXN0YW1w
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDE5NjQ0MTg3NWJlY2QyNDNiZmUyMjNlNWFiOWIw
MDhkMGExOWY5OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZvbnQtdGltZXN0YW1wcy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGlzIGZldGNoZXMgYWhlbSBmb250LgorCitGQUlMIFRl
c3QgYSBmb250J3MgdGltZXN0YW1wcyBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsOiBkb21haW5M
b29rdXBTdGFydCBzaG91bGQgYmUgbW9yZSB0aGFuIDAgaW4gc2FtZS1vcmlnaW4gcmVkaXJlY3Qu
IGV4cGVjdGVkIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byA8bm9uZGV0ZXJtaW5p
c3RpYyB0ZXN0IG91dHB1dD4gYnV0IGdvdCAwCitQQVNTIFRlc3QgYSBmb250J3MgdGltZXN0YW1w
cyB3aXRoIGRlbGF5cworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mb250LXRpbWVzdGFtcHMuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2ZvbnQtdGltZXN0YW1wcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2ZWNiNWM0YmZkZGI2MGU3ODNlZTc3
Y2QzMDhiMjhhMGM0ZWE5YzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mb250LXRpbWVzdGFtcHMu
aHRtbApAQCAtMCwwICsxLDYyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KKzx0aXRsZT5UZXN0IGNyb3NzLW9yaWdpbiBmZXRjaCByZWRpcmVjdHMgaGF2ZSB0aGUg
cmlnaHQgdmFsdWVzLjwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5q
cyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citjb25zdCBsb2FkX2ZvbnQgPSB1cmwgPT4g
eworICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9IGAKKyAgICA8c3R5bGU+CisgICAgQGZvbnQt
ZmFjZSB7CisgICAgICAgIGZvbnQtZmFtaWx5OiBhaGVtOworICAgICAgICBzcmM6IHVybCgnJHt1
cmx9Jyk7CisgICAgfQorICAgIDwvc3R5bGU+CisgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6
IGFoZW07Ij5UaGlzIGZldGNoZXMgYWhlbSBmb250LjwvZGl2PgorICBgOworICByZXR1cm4gZG9j
dW1lbnQuZm9udHMucmVhZHk7Cit9OworCitjb25zdCBydW5fdGVzdCA9IGFzeW5jICh0LCB1cmwp
ID0+IHsKKyAgLy8gU2V0IHVwIFBlcmZvcm1hbmNlT2JzZXJ2ZXIKKyAgY29uc3QgaHJlZiA9IG5l
dyBVUkwodXJsKS5ocmVmOworICBjb25zdCBzZXRQZXJmb3JtYW5jZU9ic2VydmVyID0gbmV3IFBy
b21pc2UocmVzb2x2ZSA9PiB7CisgICAgY29uc3QgcG8gPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZl
cihyZXNvbHZlKTsKKyAgICBwby5vYnNlcnZlKHt0eXBlOiAicmVzb3VyY2UifSk7CisgIH0pOwor
CisgIC8vIExvYWQgdGhlIGZvbnQgcmVzb3VyY2UgYW5kIHdhaXQgZm9yIGl0IHRvIGJlIGZldGNo
ZWQuCisgIGF3YWl0IGxvYWRfZm9udChocmVmKTsKKworICAvLyBXYWl0IGZvciBhbiBlbnRyeQor
ICBjb25zdCB0aW1lb3V0ID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB0LnN0ZXBfdGltZW91dChy
ZXNvbHZlLCAzMDAwKSk7CisgIGNvbnN0IGxpc3QgPSBhd2FpdCBQcm9taXNlLnJhY2UoW3NldFBl
cmZvcm1hbmNlT2JzZXJ2ZXIsIHRpbWVvdXRdKTsKKyAgYXNzZXJ0X2VxdWFscyh0eXBlb2YobGlz
dCksICJvYmplY3QiLCAiTm8gaWZyYW1lIGVudHJ5IHdhcyBmaXJlZCIpOworICBjb25zdCBlbnRy
aWVzID0gbGlzdC5nZXRFbnRyaWVzQnlOYW1lKHVybCk7CisgIGFzc2VydF9lcXVhbHMoZW50cmll
cy5sZW5ndGgsIDEpOworCisgIC8vIFRlc3QgZW50cnkgdmFsdWVzCisgIGNvbnN0IGVudHJ5ID0g
ZW50cmllc1swXTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihlbnRyeS5mZXRjaFN0YXJ0LCAwLCAi
ZmV0Y2hTdGFydCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIDAgaW4gcmVkaXJlY3RzLiIpOworICBh
c3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LmRvbWFpbkxvb2t1cFN0YXJ0LCBlbnRyeS5m
ZXRjaFN0YXJ0LCAiZG9tYWluTG9va3VwU3RhcnQgc2hvdWxkIGJlIG1vcmUgdGhhbiAwIGluIHNh
bWUtb3JpZ2luIHJlZGlyZWN0LiIpOworICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5
LmRvbWFpbkxvb2t1cEVuZCwgZW50cnkuZG9tYWluTG9va3VwU3RhcnQsICJkb21haW5Mb29rdXBF
bmQgc2hvdWxkIGJlIG1vcmUgdGhhbiAwIGluIHNhbWUtb3JpZ2luIHJlZGlyZWN0LiIpOworICBh
c3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LmNvbm5lY3RTdGFydCwgZW50cnkuZG9tYWlu
TG9va3VwRW5kLCAiY29ubmVjdFN0YXJ0IHNob3VsZCBiZSBtb3JlIHRoYW4gMCBpbiBzYW1lLW9y
aWdpbiByZWRpcmVjdC4iKTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChlbnRyeS5zZWN1
cmVDb25uZWN0aW9uU3RhcnQsIGVudHJ5LmNvbm5lY3RTdGFydCwgInNlY3VyZUNvbm5lY3Rpb25T
dGFydCBzaG91bGQgYmUgbW9yZSB0aGFuIDAgaW4gc2FtZS1vcmlnaW4gcmVkaXJlY3QuIik7Cisg
IGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkuY29ubmVjdEVuZCwgZW50cnkuc2VjdXJl
Q29ubmVjdGlvblN0YXJ0LCAiY29ubmVjdEVuZCBzaG91bGQgYmUgbW9yZSB0aGFuIDAgaW4gc2Ft
ZS1vcmlnaW4gcmVkaXJlY3QuIik7CisgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnku
cmVxdWVzdFN0YXJ0LCBlbnRyeS5jb25uZWN0RW5kLCAicmVxdWVzdFN0YXJ0IHNob3VsZCBiZSBt
b3JlIHRoYW4gMCBpbiBzYW1lLW9yaWdpbiByZWRpcmVjdC4iKTsKKyAgYXNzZXJ0X2dyZWF0ZXJf
dGhhbl9lcXVhbChlbnRyeS5yZXNwb25zZVN0YXJ0LCBlbnRyeS5yZXF1ZXN0U3RhcnQsICJyZXNw
b25zZVN0YXJ0IHNob3VsZCBiZSBtb3JlIHRoYW4gMCBpbiBzYW1lLW9yaWdpbiByZWRpcmVjdC4i
KTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChlbnRyeS5yZXNwb25zZUVuZCwgZW50cnku
cmVzcG9uc2VTdGFydCwgInJlc3BvbnNlRW5kIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMCBpbiBy
ZWRpcmVjdHMuIik7CisgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkuZHVyYXRpb24s
IDAsICJkdXJhdGlvbiBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIDAgaW4gcmVkaXJlY3RzLiIpOwor
fQorCitjb25zdCB7SFRUUFNfUkVNT1RFX09SSUdJTn0gPSBnZXRfaG9zdF9pbmZvKCk7Citwcm9t
aXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBydW5fdGVzdCh0LCBIVFRQU19SRU1PVEVfT1JJR0lO
ICsgIi9mb250cy9BaGVtLnR0ZiIpOworfSwgIlRlc3QgYSBmb250J3MgdGltZXN0YW1wcyIpOwor
Citwcm9taXNlX3Rlc3QodCA9PiB7CisgIHJldHVybiBydW5fdGVzdCh0LCBIVFRQU19SRU1PVEVf
T1JJR0lOICsgIi9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NvcnMtYWhlbS5weT9waXBlPXRy
aWNrbGUoZDEpIik7Cit9LCAiVGVzdCBhIGZvbnQncyB0aW1lc3RhbXBzIHdpdGggZGVsYXlzIik7
Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2lmcmFtZS1mYWlsZWQtY29tbWl0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2lmcmFtZS1mYWlsZWQtY29tbWl0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
NDRiZDE3NTJmMjkyNmYyM2YzY2IzMDc3YTNhNmVjNzUyZjgxNWUzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvaWZyYW1lLWZhaWxlZC1jb21taXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAK
K0Jsb2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwczovL25vbmV4aXN0ZW50LmxvY2Fs
aG9zdDo5NDQzLworQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vbm9uZXhp
c3RlbnQubG9jYWxob3N0Ojk0NDMvCisKKworUEFTUyBQcmVjb25kaXRpb24KK0ZBSUwgVGVzdCBp
ZnJhbWUgZnJvbSBub24tZXhpc3RlbnQgaG9zdCBhc3NlcnRfZXF1YWxzOiBObyBpZnJhbWUgZW50
cnkgd2FzIGZpcmVkIGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKK0ZBSUwg
VGVzdCBpZnJhbWUgcmVkaXJlY3RpbmcgdG8gbm9uLWV4aXN0ZW50IGhvc3QgYXNzZXJ0X2VxdWFs
czogTm8gaWZyYW1lIGVudHJ5IHdhcyBmaXJlZCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1
bmRlZmluZWQiCitQQVNTIFNhbWUtb3JpZ2luIGlmcmFtZSB0aGF0IGNvbXBsaWVzIHdpdGggQ1NQ
IGF0dHJpYnV0ZSBnZXRzIHJlcG9ydGVkCitQQVNTIFNhbWUtb3JpZ2luIGlmcmFtZSB0aGF0IGRv
ZXNuJ3QgY29tcGx5IHdpdGggQ1NQIGF0dHJpYnV0ZSBnZXRzIHJlcG9ydGVkCitQQVNTIENyb3Nz
LW9yaWdpbiBpZnJhbWUgdGhhdCBjb21wbGllcyB3aXRoIENTUCBhdHRyaWJ1dGUgZ2V0cyByZXBv
cnRlZAorUEFTUyBDcm9zcy1vcmlnaW4gaWZyYW1lIHRoYXQgZG9lc24ndCBjb21wbHkgd2l0aCBD
U1AgYXR0cmlidXRlIGdldHMgcmVwb3J0ZWQKK0ZBSUwgU2FtZS1vcmlnaW4gZW1wdHkgaWZyYW1l
IHdpdGggYSAyMDAgc3RhdHVzIGdldHMgcmVwb3J0ZWQgYXNzZXJ0X2VxdWFsczogTm8gaWZyYW1l
IGVudHJ5IHdhcyBmaXJlZCBleHBlY3RlZCAib2JqZWN0IiBidXQgZ290ICJ1bmRlZmluZWQiCitG
QUlMIENyb3NzLW9yaWdpbiBlbXB0eSBpZnJhbWUgd2l0aCBhIDIwMCBzdGF0dXMgZ2V0cyByZXBv
cnRlZCBhc3NlcnRfZXF1YWxzOiBObyBpZnJhbWUgZW50cnkgd2FzIGZpcmVkIGV4cGVjdGVkICJv
YmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaWZyYW1lLWZhaWxl
ZC1jb21taXQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2lmcmFtZS1mYWlsZWQtY29tbWl0Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDliZDkzNDI3YzFkMzlhYzVhZWQ5MjhjYWEzZDAyNTM1NTdkZDQxNgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2lmcmFtZS1mYWlsZWQtY29tbWl0Lmh0bWwKQEAgLTAsMCArMSw4MCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0
bGU+UmVzb3VyY2UgVGltaW5nIC0gdGVzdCB0aGF0IHVuc3VjY2Vzc2Z1bCBpZnJhbWVzIGNyZWF0
ZSBlbnRyaWVzPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0Lmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48
L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4KK3Rlc3QoKCkgPT4geworICBjb25zdCBlbnRyaWVz
ID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgicmVzb3VyY2UiKTsKKyAgYXNzZXJ0X2Vx
dWFscyhlbnRyaWVzLmxlbmd0aCwgMywgIlByZWNvbmRpdGlvbiAtIEVudHJpZXMgZm9yIGJsb2Nr
aW5nIHNjcmlwdHMgZmlyZWQiKTsKK30sICJQcmVjb25kaXRpb24iKTsKKworY29uc3QgcnVuX3Rl
c3QgPSBhc3luYyAodCwgdXJsLCBjc3ApID0+IHsKKyAgY29uc3Qgc2V0UGVyZm9ybWFuY2VPYnNl
cnZlciA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIGNvbnN0IHBvID0gbmV3IFBlcmZv
cm1hbmNlT2JzZXJ2ZXIocmVzb2x2ZSk7CisgICAgcG8ub2JzZXJ2ZSh7dHlwZTogInJlc291cmNl
In0pOworICB9KTsKKyAgY29uc3QgdGltZW91dCA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gdC5z
dGVwX3RpbWVvdXQocmVzb2x2ZSwgMTAwMCkpOworICBjb25zdCBmcmFtZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImlmcmFtZSIpOworICBmcmFtZS5zcmMgPSB1cmw7CisgIGlmIChjc3ApIHsK
KyAgICBmcmFtZS5jc3AgPSBjc3A7CisgIH0KKyAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChm
cmFtZSk7CisgIGNvbnN0IGxpc3QgPSBhd2FpdCBQcm9taXNlLnJhY2UoW3NldFBlcmZvcm1hbmNl
T2JzZXJ2ZXIsIHRpbWVvdXRdKTsKKyAgYXNzZXJ0X2VxdWFscyh0eXBlb2YobGlzdCksICJvYmpl
Y3QiLCAiTm8gaWZyYW1lIGVudHJ5IHdhcyBmaXJlZCIpOworICBjb25zdCBlbnRyaWVzID0gbGlz
dC5nZXRFbnRyaWVzQnlOYW1lKHVybCk7CisgIGFzc2VydF9lcXVhbHMoZW50cmllcy5sZW5ndGgs
IDEpOworICBhc3NlcnRfZ3JlYXRlcl90aGFuKGVudHJpZXNbMF0uZHVyYXRpb24sIDAsICJEdXJh
dGlvbiBncmVhdGVyIHRoYW4gMCIpOworfQorCitjb25zdCB7UkVNT1RFX09SSUdJTiwgT1JJR0lO
QUxfSE9TVCwgSFRUUFNfUE9SVH0gPSBnZXRfaG9zdF9pbmZvKCk7Citjb25zdCBub25leGlzdGVu
dF91cmwgPSAiaHR0cHM6Ly9ub25leGlzdGVudC4iICsgT1JJR0lOQUxfSE9TVCArICI6IiArIEhU
VFBTX1BPUlQgKyAiLyI7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHJ1bl90ZXN0
KHQsIG5vbmV4aXN0ZW50X3VybCk7Cit9LCAiVGVzdCBpZnJhbWUgZnJvbSBub24tZXhpc3RlbnQg
aG9zdCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIGNvbnN0IHVybCA9IG5ldyBVUkwoInJl
c291cmNlcy9mYWtlX3Jlc3BvbnNlcy5weT9yZWRpcmVjdD0iICsgbm9uZXhpc3RlbnRfdXJsLCBs
b2NhdGlvbi5ocmVmKTsKKyAgcmV0dXJuIHJ1bl90ZXN0KHQsIHVybC50b1N0cmluZygpKTsKK30s
ICJUZXN0IGlmcmFtZSByZWRpcmVjdGluZyB0byBub24tZXhpc3RlbnQgaG9zdCIpOworCitjb25z
dCBjc3BfZGlyZWN0aXZlID0gImRlZmF1bHQtc3JjICdub25lJyI7Citwcm9taXNlX3Rlc3QodCA9
PiB7CisgIGNvbnN0IHVybCA9IG5ldyBVUkwoIi9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2Nz
cC1kZWZhdWx0LW5vbmUuaHRtbCIsIGxvY2F0aW9uLmhyZWYpOworICByZXR1cm4gcnVuX3Rlc3Qo
dCwgdXJsLCBjc3BfZGlyZWN0aXZlKTsKK30sICJTYW1lLW9yaWdpbiBpZnJhbWUgdGhhdCBjb21w
bGllcyB3aXRoIENTUCBhdHRyaWJ1dGUgZ2V0cyByZXBvcnRlZCIpOworCitwcm9taXNlX3Rlc3Qo
dCA9PiB7CisgIGNvbnN0IHVybCA9IG5ldyBVUkwoIi9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vz
L2dyZWVuLWZyYW1lLmh0bWwiLCBsb2NhdGlvbi5ocmVmKTsKKyAgcmV0dXJuIHJ1bl90ZXN0KHQs
IHVybC50b1N0cmluZygpLCBjc3BfZGlyZWN0aXZlKTsKK30sICJTYW1lLW9yaWdpbiBpZnJhbWUg
dGhhdCBkb2Vzbid0IGNvbXBseSB3aXRoIENTUCBhdHRyaWJ1dGUgZ2V0cyByZXBvcnRlZCIpOwor
Citwcm9taXNlX3Rlc3QodCA9PiB7CisgIGNvbnN0IHVybCA9IG5ldyBVUkwoIi9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL2NzcC1kZWZhdWx0LW5vbmUuaHRtbCIsIFJFTU9URV9PUklHSU4pOwor
ICByZXR1cm4gcnVuX3Rlc3QodCwgdXJsLnRvU3RyaW5nKCksIGNzcF9kaXJlY3RpdmUpOworfSwg
IkNyb3NzLW9yaWdpbiBpZnJhbWUgdGhhdCBjb21wbGllcyB3aXRoIENTUCBhdHRyaWJ1dGUgZ2V0
cyByZXBvcnRlZCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIGNvbnN0IHVybCA9IG5ldyBV
UkwoIi9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2dyZWVuLWZyYW1lLmh0bWwiLCBSRU1PVEVf
T1JJR0lOKTsKKyAgcmV0dXJuIHJ1bl90ZXN0KHQsIHVybC50b1N0cmluZygpLCBjc3BfZGlyZWN0
aXZlKTsKK30sICJDcm9zcy1vcmlnaW4gaWZyYW1lIHRoYXQgZG9lc24ndCBjb21wbHkgd2l0aCBD
U1AgYXR0cmlidXRlIGdldHMgcmVwb3J0ZWQiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBj
b25zdCB1cmwgPSBuZXcgVVJMKCIvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy8yMDBfZW1wdHku
YXNpcyIsIGxvY2F0aW9uLmhyZWYpOworICByZXR1cm4gcnVuX3Rlc3QodCwgdXJsLnRvU3RyaW5n
KCksIGNzcF9kaXJlY3RpdmUpOworfSwgIlNhbWUtb3JpZ2luIGVtcHR5IGlmcmFtZSB3aXRoIGEg
MjAwIHN0YXR1cyBnZXRzIHJlcG9ydGVkIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgY29u
c3QgdXJsID0gbmV3IFVSTCgiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvMjAwX2VtcHR5LmFz
aXMiLCBSRU1PVEVfT1JJR0lOKTsKKyAgcmV0dXJuIHJ1bl90ZXN0KHQsIHVybC50b1N0cmluZygp
LCBjc3BfZGlyZWN0aXZlKTsKK30sICJDcm9zcy1vcmlnaW4gZW1wdHkgaWZyYW1lIHdpdGggYSAy
MDAgc3RhdHVzIGdldHMgcmVwb3J0ZWQiKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9pbml0aWF0b3ItdHlwZS1mb3Itc2NyaXB0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL2luaXRpYXRvci10eXBlLWZvci1zY3JpcHQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5
MTk4N2I2MGJiNjY2ODM3Zjk2Njk4N2ZkMmIzMDdjYzI2MDdkODkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9pbml0aWF0b3ItdHlwZS1mb3Itc2NyaXB0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMg
QEAKKworUEFTUyBWYWxpZGF0ZSBpbml0aWF0b3JUeXBlIGZvciBzY3JpcHRzIGlzICdzY3JpcHQn
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2luaXRpYXRvci10eXBlLWZvci1zY3JpcHQuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2lu
aXRpYXRvci10eXBlLWZvci1zY3JpcHQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MjE3MzM5OGQ1NmFhNDhm
ZDNkOTgxN2EwNThjMTkxMTVlN2RmOWRkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaW5pdGlhdG9y
LXR5cGUtZm9yLXNjcmlwdC5odG1sCkBAIC0wLDAgKzEsNjcgQEAKKzwhRE9DVFlQRSBIVE1MPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlRoaXMgdGVz
dCB2YWxpZGF0ZXMgdGhhdCB0aGUgaW5pdGlhdG9yVHlwZSBpbmZvcm1hdGlvbiBmb3IgdmFyaW91
cworUmVzb3VyY2UgVGltaW5nIGVudHJpZXMgaXMgYWNjdXJhdGUgZm9yIHNjcmlwdHMuPC90aXRs
ZT4KKzxsaW5rIHJlbD0iaGVscCIKKyAgICAgIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9y
ZXNvdXJjZS10aW1pbmctMi8jZG9tLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmctaW5pdGlhdG9y
dHlwZSIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnktaW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8IS0t
IFRlc3RlZCByZXNvdXJjZXMgLS0+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VtcHR5X3Njcmlw
dC5qcz9pZD1ibG9ja2luZyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VtcHR5
X3NjcmlwdC5qcz9pZD1hc3luYyIgYXN5bmM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL2VtcHR5X3NjcmlwdC5qcz9pZD1hc3luY19mYWxzZSIgYXN5bmM9ZmFsc2U+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5qcz9pZD1kZWZlciIgZGVmZXI+
PC9zY3JpcHQ+Cis8c2NyaXB0PgorZG9jdW1lbnQud3JpdGUoIjxzY3JpcHQgc3JjPSdyZXNvdXJj
ZXMvZW1wdHlfc2NyaXB0LmpzP2lkPWRvY193cml0dGVuJz48L3NjciIKKyAgICAgICAgICAgICAg
ICsgImlwdD4iKTsKKworY29uc3QgaGVhZCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l
KCJoZWFkIilbMF07Citjb25zdCBzMSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIp
OworczEuc3JjID0gImVtcHR5X3NjcmlwdC5qcz9pZD1hcHBlbmRlZCI7CitoZWFkLmFwcGVuZENo
aWxkKHMxKTsKKworY29uc3QgczIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsK
K3MyLnNyYyA9ICJlbXB0eV9zY3JpcHQuanM/aWQ9YXBwZW5kZWRfYXN5bmMiOworczIuYXN5bmMg
PSB0cnVlOworaGVhZC5hcHBlbmRDaGlsZChzMik7CisKK2NvbnN0IHMzID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgic2NyaXB0Iik7CitzMy5zcmMgPSAiZW1wdHlfc2NyaXB0LmpzP2lkPWFwcGVu
ZGVkX2F5bmNfZmFsc2UiOworczMuYXN5bmMgPSBmYWxzZTsKK2hlYWQuYXBwZW5kQ2hpbGQoczMp
OworCitjb25zdCBzNCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOworczQuc3Jj
ID0gImVtcHR5X3NjcmlwdC5qcz9pZD1hcHBlbmRlZF9kZWZlciI7CitzNC5kZWZlciA9IHRydWU7
CitoZWFkLmFwcGVuZENoaWxkKHM0KTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0PgorCitjb25zdCB3YWl0X2Zvcl9vbmxvYWQgPSAoKSA9PiB7CisgIHJldHVybiBuZXcgUHJv
bWlzZShyZXNvbHZlID0+IHsKKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJl
c29sdmUpOworfSl9OworCitwcm9taXNlX3Rlc3QoCisgIGFzeW5jICgpID0+IHsKKyAgICBhd2Fp
dCB3YWl0X2Zvcl9vbmxvYWQoKTsKKworICAgIGNvbnN0IGVudHJ5X2xpc3QgPSBwZXJmb3JtYW5j
ZS5nZXRFbnRyaWVzQnlUeXBlKCJyZXNvdXJjZSIpOworICAgIGZvciAoZW50cnkgb2YgZW50cnlf
bGlzdCkgeworICAgICAgaWYgKGVudHJ5Lm5hbWUuaW5jbHVkZXMoImVtcHR5X3NjcmlwdC5qcyIp
KSB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cnkuaW5pdGlhdG9yVHlwZSwgInNjcmlwdCIs
CisgICAgICAgICAgICAgICAgICAgICAgImluaXRpYXRvclR5cGUgc2hvdWxkIGJlICdzY3JpcHQn
IGZvciAiICsgZW50cnkubmFtZSk7CisgICAgICB9CisgICAgfQorfSwgIlZhbGlkYXRlIGluaXRp
YXRvclR5cGUgZm9yIHNjcmlwdHMgaXMgJ3NjcmlwdCciKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9uZXh0SG9wUHJvdG9jb2wtaXMtdGFvLXByb3RlY3Rl
ZC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9uZXh0SG9wUHJvdG9jb2wtaXMtdGFvLXByb3RlY3Rl
ZC5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzRjYmJhYTRkMjA1YjVjNDQ3ZmY4ZmMw
NDRkNjhiZGEyNTAzNDBkNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL25leHRIb3BQcm90b2NvbC1p
cy10YW8tcHJvdGVjdGVkLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworRkFJ
TCBBZGQgVEFPLWxlc3MgaWZyYW1lIGZyb20gcmVtb3RlIG9yaWdpbi4gTWFrZSBzdXJlIG5leHRI
b3BQcm90b2NvbCBpcyB0aGUgZW1wdHkgc3RyaW5nIGFzc2VydF9lcXVhbHM6IG5leHRIb3BQcm90
b2NvbCBzaG91bGQgYmUgdGhlIGVtcHR5IHN0cmluZyBleHBlY3RlZCAiIiBidXQgZ290ICJodHRw
LzEuMSIKK1BBU1MgQWRkIFRBTydkIGlmcmFtZSBmcm9tIHJlbW90ZSBvcmlnaW4uIE1ha2Ugc3Vy
ZSBuZXh0SG9wUHJvdG9jb2wgaXMgbm90IHRoZSBlbXB0eSBzdHJpbmcKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvbmV4dEhvcFByb3RvY29sLWlzLXRhby1wcm90ZWN0ZWQuaHR0cHMuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL25leHRI
b3BQcm90b2NvbC1pcy10YW8tcHJvdGVjdGVkLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTBlOTZh
ZjhlODBjZjRmYjA2ZDdmMWIzMzkzZjIxOTEyNjViMjNjZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L25leHRIb3BQcm90b2NvbC1pcy10YW8tcHJvdGVjdGVkLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwz
OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nIC0gQ2hlY2sgdGhhdCBuZXh0SG9wUHJvdG9j
b2wgaXMgVEFPIHByb3RlY3RlZDwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBz
Oi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmctMi8jc2VjLXBlcmZvcm1hbmNlcmVzb3Vy
Y2V0aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnktaW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorCitjb25zdCB7SFRUUFNfUkVNT1RFX09SSUdJTn0g
PSBnZXRfaG9zdF9pbmZvKCk7Citjb25zdCByZW1vdGVfcmVzb3VyY2VzID0gYCR7SFRUUFNfUkVN
T1RFX09SSUdJTn0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlc2A7CisKKy8vIEFkZCBpZnJhbWUg
dG8gcmVtb3RlIG9yaWdpbiAtIHBhZ2Ugd2l0aG91dCBUQU8KK2F0dHJpYnV0ZV90ZXN0KAorICBs
b2FkLmlmcmFtZSwgYCR7cmVtb3RlX3Jlc291cmNlc30vZ3JlZW4uaHRtYCwKKyAgZW50cnkgPT4g
YXNzZXJ0X2VxdWFscyhlbnRyeS5uZXh0SG9wUHJvdG9jb2wsICIiLAorICAgICJuZXh0SG9wUHJv
dG9jb2wgc2hvdWxkIGJlIHRoZSBlbXB0eSBzdHJpbmciKSwKKyAgIkFkZCBUQU8tbGVzcyBpZnJh
bWUgZnJvbSByZW1vdGUgb3JpZ2luLiBNYWtlIHN1cmUgbmV4dEhvcFByb3RvY29sIGlzIHRoZSAi
ICsKKyAgImVtcHR5IHN0cmluZyIKKyk7CisKKy8vIEFkZCBpZnJhbWUgdG8gcmVtb3RlIG9yaWdp
biAtIHBhZ2Ugd2l0aCBUQU8KK2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLmlmcmFtZSwgYCR7cmVt
b3RlX3Jlc291cmNlc30vYmxhbmstd2l0aC10YW8uaHRtbGAsCisgIGVudHJ5ID0+IGFzc2VydF9u
b3RfZXF1YWxzKGVudHJ5Lm5leHRIb3BQcm90b2NvbCwgIiIsCisgICAgIm5leHRIb3BQcm90b2Nv
bCBzaG91bGQgbm90IGJlIHRoZSBlbXB0eSBzdHJpbmciKSwKKyAgIkFkZCBUQU8nZCBpZnJhbWUg
ZnJvbSByZW1vdGUgb3JpZ2luLiBNYWtlIHN1cmUgbmV4dEhvcFByb3RvY29sIGlzIG5vdCAiICsK
KyAgInRoZSBlbXB0eSBzdHJpbmciCispOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLVRBTy1jcm9zcy1vcmlnaW4tcmVk
aXJlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1UQU8tY3Jvc3Mt
b3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjdmNjBjZjE1NmU0NDlm
N2I1ZjFlMjk1MGJkNzlmZDMyNTAxMTcyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5v
dC1mb3VuZC1hZnRlci1UQU8tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDcgQEAKKworCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwK
KworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZAorUEFTUyB3aW5kb3cucGVyZm9y
bWFuY2UuZ2V0RW50cmllc0J5TmFtZSBpcyBkZWZpbmVkCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL29iamVj
dC1ub3QtZm91bmQtYWZ0ZXItVEFPLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2Jq
ZWN0LW5vdC1mb3VuZC1hZnRlci1UQU8tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZDBkYWQ5MzgxYmE0MmJjODQ4ZWJlY2E4NmFjYWY3ZjEwYTdhMWU4MgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItVEFPLWNyb3NzLW9yaWdpbi1yZWRp
cmVjdC5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlRoaXMgdGVzdCB2YWxpZGF0ZXMg
cmVzb3VyY2UgdGltaW5nIGluZm9ybWF0aW9uIGZvciBhIHRpbWluZyBhbGxvd2VkIGNyb3NzLW9y
aWdpbiByZWRpcmVjdCBjaGFpbi48L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRw
Oi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1hbmNlcmVzb3VyY2V0aW1p
bmciLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPS9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanM+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzc2V4dGVuc2lvbi5qcyI+PC9zY3Jp
cHQ+CisKKzxzY3JpcHQ+CisgICAgc2V0dXAoe2V4cGxpY2l0X2RvbmU6IHRydWV9KTsKKyAgICB0
ZXN0X25hbWVzcGFjZSgnZ2V0RW50cmllc0J5TmFtZScpOworCisgICAgZnVuY3Rpb24gb25sb2Fk
X3Rlc3QoKQorICAgIHsKKyAgICAgICAgY29uc3QgY29udGV4dCA9IG5ldyBQZXJmb3JtYW5jZUNv
bnRleHQocGVyZm9ybWFuY2UpOworICAgICAgICBjb25zdCBlbnRyaWVzID0gY29udGV4dC5nZXRF
bnRyaWVzQnlOYW1lKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ29iamVjdCcpLmRhdGEsICdyZXNv
dXJjZScpOworICAgICAgICB0ZXN0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgJ1RoZXJlIHNo
b3VsZCBiZSBvbmUgZW50cnkuJyk7CisgICAgICAgIGNvbnN0IGVudHJ5ID0gZW50cmllc1swXTsK
KworICAgICAgICB0ZXN0X2dyZWF0ZXJfdGhhbihlbnRyeS5yZWRpcmVjdFN0YXJ0LCAwLCAncmVk
aXJlY3RTdGFydCA+IDAgaW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0Licp
OworICAgICAgICB0ZXN0X2VxdWFscyhlbnRyeS5yZWRpcmVjdFN0YXJ0LCBlbnRyeS5zdGFydFRp
bWUsICdyZWRpcmVjdFN0YXJ0ID09IHN0YXJ0VGltZSBpbiB0aW1pbmcgYWxsb3dlZCBjcm9zcy1v
cmlnaW4gcmVkaXJlY3QuJyk7CisgICAgICAgIHRlc3RfZ3JlYXRlcl90aGFuKGVudHJ5LnJlZGly
ZWN0RW5kLCBlbnRyeS5yZWRpcmVjdFN0YXJ0LCAncmVkaXJlY3RFbmQgPiByZWRpcmVjdFN0YXJ0
IGluIHRpbWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4nKTsKKyAgICAgICAgdGVz
dF9ncmVhdGVyX29yX2VxdWFscyhlbnRyeS5mZXRjaFN0YXJ0LCBlbnRyeS5yZWRpcmVjdEVuZCwg
J2ZldGNoU3RhcnQgPj0gcmVkaXJlY3RFbmQgaW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2lu
IHJlZGlyZWN0LicpOworICAgICAgICBkb25lKCk7CisgICAgfQorPC9zY3JpcHQ+CisKKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdD4KKyAgICBsZXQgZGVzdFVybCA9IGdldF9ob3N0X2luZm8oKS5I
VFRQX1JFTU9URV9PUklHSU4gKyAnL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvbXVsdGlfcmVk
aXJlY3QucHk/JzsKKyAgICBkZXN0VXJsICs9ICdwYWdlX29yaWdpbj0nICsgJ2h0dHA6Ly8nICsg
ZG9jdW1lbnQubG9jYXRpb24uaG9zdDsKKyAgICBkZXN0VXJsICs9ICcmY3Jvc3Nfb3JpZ2luPScg
KyBnZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lOOworICAgIGRlc3RVcmwgKz0gJyZm
aW5hbF9yZXNvdXJjZT0nICsgZW5jb2RlVVJJQ29tcG9uZW50KCIvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlcy9zdGF0dXMtY29kZS5weT9zdGF0dXM9NDA0JnRhb192YWx1ZT0qIik7CisgICAgZGVz
dFVybCArPSAnJnRhb19zdGVwcz0zJzsKKyAgICBjb25zdCBvYmpFbGVtZW50ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnb2JqZWN0Jyk7CisgICAgb2JqRWxlbWVudC5zdHlsZSA9ICd3aWR0aDog
MHB4OyBoZWlnaHQ6IDBweDsnOworICAgIG9iakVsZW1lbnQuZGF0YSA9IGRlc3RVcmw7CisgICAg
b2JqRWxlbWVudC5vbmVycm9yID0gb25sb2FkX3Rlc3Q7CisgICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChvYmpFbGVtZW50KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1jcm9zcy1vcmlnaW4tcmVkaXJl
Y3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2N2Y2MGNmMTU2ZTQ0OWY3YjVmMWUyOTUwYmQ3
OWZkMzI1MDExNzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVy
LWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACisKKwor
SGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1BBU1Mgd2luZG93LnBl
cmZvcm1hbmNlIGlzIGRlZmluZWQKK1BBU1Mgd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNC
eU5hbWUgaXMgZGVmaW5lZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVy
LWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1j
cm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNDU1ZWM0MDZiM2U5NTE5ZDk5
YmJmZWIxMmE0NGU3MjE0YzY2ZTZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1m
b3VuZC1hZnRlci1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8
IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4K
Kzx0aXRsZT5UaGlzIHRlc3QgdmFsaWRhdGVzIHJlc291cmNlIHRpbWluZyBpbmZvcm1hdGlvbiBm
b3IgYSBjcm9zcy1vcmlnaW4gcmVkaXJlY3QgY2hhaW4uPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVs
cCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNwZXJmb3JtYW5j
ZXJlc291cmNldGltaW5nIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3NleHRlbnNp
b24uanMiPjwvc2NyaXB0PgorCis8c2NyaXB0PgorICAgIHNldHVwKHtleHBsaWNpdF9kb25lOiB0
cnVlfSk7CisgICAgdGVzdF9uYW1lc3BhY2UoJ2dldEVudHJpZXNCeU5hbWUnKTsKKworICAgIGZ1
bmN0aW9uIG9ubG9hZF90ZXN0KCkKKyAgICB7CisgICAgICAgIGNvbnN0IGNvbnRleHQgPSBuZXcg
UGVyZm9ybWFuY2VDb250ZXh0KHBlcmZvcm1hbmNlKTsKKyAgICAgICAgY29uc3QgZW50cmllcyA9
IGNvbnRleHQuZ2V0RW50cmllc0J5TmFtZShkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdvYmplY3Qn
KS5kYXRhLCAncmVzb3VyY2UnKTsKKyAgICAgICAgdGVzdF9lcXVhbHMoZW50cmllcy5sZW5ndGgs
IDEsICdUaGVyZSBzaG91bGQgYmUgb25lIGVudHJ5LicpOworICAgICAgICBjb25zdCBlbnRyeSA9
IGVudHJpZXNbMF07CisKKyAgICAgICAgdGVzdF9lcXVhbHMoZW50cnkucmVkaXJlY3RTdGFydCwg
MCwgJ3JlZGlyZWN0U3RhcnQgPT0gMCBpbiBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuJyk7CisgICAg
ICAgIHRlc3RfZXF1YWxzKGVudHJ5LnJlZGlyZWN0RW5kLCAwLCAncmVkaXJlY3RFbmQgPT0gMCBp
biBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuJyk7CisgICAgICAgIHRlc3RfZ3JlYXRlcl90aGFuKGVu
dHJ5LmZldGNoU3RhcnQsIDAsICdmZXRjaFN0YXJ0ID4gMCBpbiBjcm9zcy1vcmlnaW4gcmVkaXJl
Y3QuJyk7CisgICAgICAgIHRlc3RfZXF1YWxzKGVudHJ5LnN0YXJ0VGltZSwgZW50cnkuZmV0Y2hT
dGFydCwgJ3N0YXJ0VGltZSA9PSBmZXRjaFN0YXJ0IGluIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4n
KTsKKyAgICAgICAgZG9uZSgpOworICAgIH0KKzwvc2NyaXB0PgorCis8L2hlYWQ+Cis8Ym9keT4K
KzxzY3JpcHQ+CisgICAgbGV0IGRlc3RVcmwgPSBnZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1PVEVf
T1JJR0lOICsgJy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRpX3JlZGlyZWN0LnB5Pyc7
CisgICAgZGVzdFVybCArPSAncGFnZV9vcmlnaW49JyArICdodHRwOi8vJyArIGRvY3VtZW50Lmxv
Y2F0aW9uLmhvc3Q7CisgICAgZGVzdFVybCArPSAnJmNyb3NzX29yaWdpbj0nICsgZ2V0X2hvc3Rf
aW5mbygpLkhUVFBfUkVNT1RFX09SSUdJTjsKKyAgICBkZXN0VXJsICs9ICcmZmluYWxfcmVzb3Vy
Y2U9JyArIGVuY29kZVVSSUNvbXBvbmVudCgiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvc3Rh
dHVzLWNvZGUucHk/c3RhdHVzPTQwNCIpOworICAgIGNvbnN0IG9iakVsZW1lbnQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdvYmplY3QnKTsKKyAgICBvYmpFbGVtZW50LnN0eWxlID0gJ3dpZHRo
OiAwcHg7IGhlaWdodDogMHB4Oyc7CisgICAgb2JqRWxlbWVudC5kYXRhID0gZGVzdFVybDsKKyAg
ICBvYmpFbGVtZW50Lm9uZXJyb3IgPSBvbmxvYWRfdGVzdDsKKyAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKG9iakVsZW1lbnQpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZWRpcmVjdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVkaXJlY3RzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iNzUyZGUxZWNkYTYxYjI1YWE4NDlkZWU5ZGViNjlmMjVkMGEzNmU4
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVkaXJlY3RzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEyIEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQsIHdoZW4gYSBm
ZXRjaGluZyByZXNvdXJjZXMgdGhhdCBlbmNvdW50ZXIgc2FtZS1vcmlnaW4gcmVkaXJlY3RzLCBh
dHRyaWJ1dGVzIG9mIHRoZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGVudHJ5IGNvbmZvcm0g
dG8gdGhlIHNwZWNpZmljYXRpb24uCisKKworUEFTUyBWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJl
ZGlyZWN0ZWQgc3R5bGVzaGVldCdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcKK1BBU1MgVmVy
aWZ5IGF0dHJpYnV0ZXMgb2YgYSByZWRpcmVjdGVkIGltYWdlJ3MgUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZworUEFTUyBWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgaWZyYW1lJ3Mg
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZworUEFTUyBWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJl
ZGlyZWN0ZWQgc2NyaXB0J3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZworUEFTUyBWZXJpZnkg
YXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgc3luY2hyb25vdXMgWE1MSHR0cFJlcXVlc3QncyBQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nCitQQVNTIFZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEgc3lu
Y2hyb25vdXMgWE1MSHR0cFJlcXVlc3QncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIHdoZXJl
IHRoZSBpbml0aWFsIEhUVFAgcmVxdWVzdCBpcyByZWRpcmVjdGVkIHRvIGEgY3Jvc3Mtb3JpZ2lu
IEhUVFBTIHJlc291cmNlLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZWRpcmVjdHMuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
ZGlyZWN0cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJhNjk5MDdhNWY2ZTQ2YTNlOGE3OTA0MWRhMTcwMzlk
MTRkMjBmZWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZWRpcmVjdHMuaHRtbApAQCAtMCwwICsx
LDYxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmc6IHJlc291cmNlcyBmZXRjaGVkIHRocm91
Z2ggc2FtZS1vcmlnaW4gcmVkaXJlY3RzPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRs
ZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJo
ZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI3NlYy1w
ZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
c3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZv
LnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRl
cnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9lbnRyeS1pbnZhcmlhbnRz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citjb25zdCB7SFRUUFNfTk9UU0FNRVNJVEVfT1JJR0lO
fSA9IGdldF9ob3N0X2luZm8oKTsKK2NvbnN0IHJlZGlyZWN0X3VybCA9IGAvY29tbW9uL3JlZGly
ZWN0LnB5YDsKK2NvbnN0IHVybF9wcmVmaXggPSBgJHtyZWRpcmVjdF91cmx9P2xvY2F0aW9uPS9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2A7Citjb25zdCBodHRwc191cmxfcHJlZml4ID0gYCR7
cmVkaXJlY3RfdXJsfT9sb2NhdGlvbj0ke0hUVFBTX05PVFNBTUVTSVRFX09SSUdJTn0vcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy9gOworCithdHRyaWJ1dGVfdGVzdCgKKyAgbG9hZC5zdHlsZXNo
ZWV0LCB1cmxfcHJlZml4ICsgInJlc291cmNlX3RpbWluZ190ZXN0MC5jc3MiLAorICBpbnZhcmlh
bnRzLmFzc2VydF9zYW1lX29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNlLAorICAiVmVyaWZ5IGF0
dHJpYnV0ZXMgb2YgYSByZWRpcmVjdGVkIHN0eWxlc2hlZXQncyBQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nIik7CisKK2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLmltYWdlLCB1cmxfcHJlZml4ICsg
ImJsdWUucG5nIiwKKyAgaW52YXJpYW50cy5hc3NlcnRfc2FtZV9vcmlnaW5fcmVkaXJlY3RlZF9y
ZXNvdXJjZSwKKyAgIlZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEgcmVkaXJlY3RlZCBpbWFnZSdzIFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmciKTsKKworYXR0cmlidXRlX3Rlc3QoCisgIGxvYWQuaWZy
YW1lLCB1cmxfcHJlZml4ICsgImdyZWVuLmh0bWwiLAorICBpbnZhcmlhbnRzLmFzc2VydF9zYW1l
X29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNlLAorICAiVmVyaWZ5IGF0dHJpYnV0ZXMgb2YgYSBy
ZWRpcmVjdGVkIGlmcmFtZSdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmciKTsKKworYXR0cmli
dXRlX3Rlc3QoCisgIGxvYWQuc2NyaXB0LCB1cmxfcHJlZml4ICsgImVtcHR5X3NjcmlwdC5qcyIs
CisgIGludmFyaWFudHMuYXNzZXJ0X3NhbWVfb3JpZ2luX3JlZGlyZWN0ZWRfcmVzb3VyY2UsCisg
ICJWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgc2NyaXB0J3MgUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZyIpOworCithdHRyaWJ1dGVfdGVzdCgKKyAgbG9hZC54aHJfc3luYywgdXJs
X3ByZWZpeCArICJncmVlbi5odG1sP2lkPXhociIsCisgIGludmFyaWFudHMuYXNzZXJ0X3NhbWVf
b3JpZ2luX3JlZGlyZWN0ZWRfcmVzb3VyY2UsCisgICJWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJl
ZGlyZWN0ZWQgc3luY2hyb25vdXMgWE1MSHR0cFJlcXVlc3QncyAiICsKKyAgIlBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmciKTsKKworYXR0cmlidXRlX3Rlc3QoCisgIGxvYWQueGhyX3N5bmMsIGh0
dHBzX3VybF9wcmVmaXggKyAiZ3JlZW4uaHRtbD9pZD14aHIiLAorICBpbnZhcmlhbnRzLmFzc2Vy
dF9jcm9zc19vcmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAgIlZlcmlmeSBhdHRyaWJ1dGVz
IG9mIGEgc3luY2hyb25vdXMgWE1MSHR0cFJlcXVlc3QncyAiICsKKyAgIlBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcgd2hlcmUgdGhlIGluaXRpYWwgSFRUUCByZXF1ZXN0IGlzIHJlZGlyZWN0ZWQg
IiArCisgICJ0byBhIGNyb3NzLW9yaWdpbiBIVFRQUyByZXNvdXJjZS4iCispOworCis8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxwPlRoaXMgdGVzdCB2
YWxpZGF0ZXMgdGhhdCwgd2hlbiBhIGZldGNoaW5nIHJlc291cmNlcyB0aGF0IGVuY291bnRlcgor
c2FtZS1vcmlnaW4gcmVkaXJlY3RzLCBhdHRyaWJ1dGVzIG9mIHRoZSBQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nIGVudHJ5Citjb25mb3JtIHRvIHRoZSBzcGVjaWZpY2F0aW9uLjwvcD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlLWlnbm9yZS1kYXRhLXVybC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25vcmUtZGF0YS11cmwtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEzZWM1YWY0NTRlYzFmM2QwOGQwN2JjMDliYmUxN2U5MmFmYjdjYTIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25vcmUtZGF0YS11cmwtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsNCBAQAorCisKK1BBU1MgUmVzb3VyY2VzIHdpdGggZGF0YTogVVJJcyBtdXN0IG5vdCBi
ZSBzdXJmYWNlZCBpbiBSZXNvdXJjZSBUaW1pbmcKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Ut
aWdub3JlLWRhdGEtdXJsLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25vcmUtZGF0YS11cmwuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hNzA1NmE4MDgwNzk2N2Q5Yjk0YjFkNGM1NGMwNjIwZGMyYTRiYWQ4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2UtaWdub3JlLWRhdGEtdXJsLmh0bWwKQEAgLTAsMCAr
MSwzOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nIGlnbm9yZXMgcmVzb3VyY2VzIHdpdGgg
ZGF0YTogVVJJczwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJl
Zj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0
cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNyZXNvdXJjZXMtaW5jbHVkZWQt
aW4tdGhlLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmctaW50ZXJmYWNlIi8+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
aW1nIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBT1RtN0FBQUFD
SDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUNSQUVBT3c9PSI+PC9pbWc+Cis8c2NyaXB0PgorICBw
cm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgY29uc3QgcHJvbWlzZSA9IG5ldyBQcm9taXNl
KHJlc29sdmUgPT4geworICAgICAgbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIodC5zdGVwX2Z1bmMo
bGlzdCA9PiB7CisgICAgICAgIGNvbnN0IGVudHJpZXMgPSBsaXN0LmdldEVudHJpZXMoKTsKKyAg
ICAgICAgY29uc3QgZGF0YUVudHJpZXMgPSBlbnRyaWVzLmZpbHRlcihlID0+IGUubmFtZS5pbmNs
dWRlcygnZGF0YTonKSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZGF0YUVudHJpZXMubGVuZ3Ro
LCAwLCAnVGhlcmUgbXVzdCBiZSBubyBlbnRyeSBmb3IgYGRhdGE6IFVSTGAuJyk7CisgICAgICAg
IGNvbnN0IGJsdWVFbnRyaWVzID0gZW50cmllcy5maWx0ZXIoZSA9PiBlLm5hbWUuaW5jbHVkZXMo
J2JsdWUucG5nJykpOworICAgICAgICBpZiAoYmx1ZUVudHJpZXMubGVuZ3RoKSB7CisgICAgICAg
ICAgLy8gV2UgY2FuIGZpbmlzaCB0aGUgdGVzdCBvbmNlIHdlIHNlZSB0aGUgZW50cnkgd2l0aCBi
bHVlLnBuZy4KKyAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIH0KKyAgICAgIH0pKS5vYnNl
cnZlKHtlbnRyeVR5cGVzOiBbJ3Jlc291cmNlJ119KTsKKyAgICB9KTsKKyAgICAvLyBXYWl0IHVu
dGlsIHRoZSBkb2N1bWVudCBpcyBsb2FkZWQuCisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2
ZSA9PiB7CisgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJlc29sdmUpOwor
ICAgIH0pOworICAgIC8vIEFkZCB0aGUgYmx1ZS5wbmcgaW1hZ2UgYWZ0ZXIgZG9jdW1lbnQgaXMg
bG9hZGVkIHRvIGVuc3VyZSB3ZSd2ZSByZWNlaXZlZAorICAgIC8vIGFsbCBvZiB0aGUgcHJldmlv
dXMgUmVzb3VyY2UgVGltaW5nIGVudHJpZXMuCisgICAgbG9hZC5pbWFnZSgnYmx1ZS5wbmcnKTsK
KyAgICByZXR1cm4gcHJvbWlzZTsKKyAgfSwgJ1Jlc291cmNlcyB3aXRoIGRhdGE6IFVSSXMgbXVz
dCBub3QgYmUgc3VyZmFjZWQgaW4gUmVzb3VyY2UgVGltaW5nJyk7Cis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX1RBT19jcm9zc19vcmlnaW5fcmVk
aXJlY3RfY2hhaW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfVEFPX2Nyb3NzX29yaWdpbl9y
ZWRpcmVjdF9jaGFpbi1leHBlY3RlZC50eHQKaW5kZXggNDdjZmQxZGRiNGU1NzU1N2Y0OTQ1YTQw
ZDllMGUzMTg4NjE1OWM0Mi4uYzVmYWQ5MTUxYTgyNjc1Zjc3ZDQ4ODc3OGQzNjNmZWUwYjg0YWNh
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfVEFPX2Nyb3NzX29yaWdpbl9yZWRpcmVjdF9jaGFp
bi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfVEFPX2Nyb3NzX29yaWdpbl9yZWRpcmVj
dF9jaGFpbi1leHBlY3RlZC50eHQKQEAgLTMsOCArMyw4IEBACiBQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZSBpcyBkZWZpbmVkCiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1l
IGlzIGRlZmluZWQKIFBBU1MgVGhlcmUgc2hvdWxkIGJlIG9uZSBlbnRyeS4KLVBBU1MgcmVkaXJl
Y3RTdGFydCA+IDAgaW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LgotUEFT
UyByZWRpcmVjdFN0YXJ0ID09IHN0YXJ0VGltZSBpbiB0aW1pbmcgYWxsb3dlZCBjcm9zcy1vcmln
aW4gcmVkaXJlY3QuCi1QQVNTIHJlZGlyZWN0RW5kID4gcmVkaXJlY3RTdGFydCBpbiB0aW1pbmcg
YWxsb3dlZCBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuCitGQUlMIHJlZGlyZWN0U3RhcnQgPiAwIGlu
IHRpbWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4gYXNzZXJ0X3RydWU6IHJlZGly
ZWN0U3RhcnQgPiAwIGluIHRpbWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4gZXhw
ZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgcmVkaXJlY3RTdGFydCA9PSBzdGFydFRpbWUgaW4g
dGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LiBhc3NlcnRfZXF1YWxzOiByZWRp
cmVjdFN0YXJ0ID09IHN0YXJ0VGltZSBpbiB0aW1pbmcgYWxsb3dlZCBjcm9zcy1vcmlnaW4gcmVk
aXJlY3QuIGV4cGVjdGVkIDxub25kZXRlcm1pbmlzdGljIHRlc3Qgb3V0cHV0PiBidXQgZ290IDAK
K0ZBSUwgcmVkaXJlY3RFbmQgPiByZWRpcmVjdFN0YXJ0IGluIHRpbWluZyBhbGxvd2VkIGNyb3Nz
LW9yaWdpbiByZWRpcmVjdC4gYXNzZXJ0X3RydWU6IHJlZGlyZWN0RW5kID4gcmVkaXJlY3RTdGFy
dCBpbiB0aW1pbmcgYWxsb3dlZCBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuIGV4cGVjdGVkIHRydWUg
Z290IGZhbHNlCiBQQVNTIGZldGNoU3RhcnQgPj0gcmVkaXJlY3RFbmQgaW4gdGltaW5nIGFsbG93
ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9jYWNo
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlX2NhY2hlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkNjFkNjM5NjE2
YjE4MDJmZjRiNjNkZTgyYTAxZmZkNzAxZjgxNGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZV9jYWNoZWQuaHRtbApAQCAtMCwwICsxLDUyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1p
bmcgY2FjaGVkIHJlc291cmNlczwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdv
b2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIg
aHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNkb20tcGVyZm9ybWFu
Y2VyZXNvdXJjZXRpbWluZy1pbml0aWF0b3J0eXBlIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYnBl
cmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYnBl
cmZ0ZXN0aGFybmVzc2V4dGVuc2lvbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgorc2V0dXAoe2V4
cGxpY2l0X2RvbmU6IHRydWV9KTsKKworLy8gZXhwbGljaXRseSB0ZXN0IHRoZSBuYW1lc3BhY2Ug
YmVmb3JlIHdlIHN0YXJ0IHRlc3RpbmcKK3Rlc3RfbmFtZXNwYWNlKCJnZXRFbnRyaWVzQnlUeXBl
Iik7CisKK3ZhciBkOwordmFyIGlmcmFtZTsKK3ZhciBpZnJhbWVCb2R5OwordmFyIGltYWdlOwor
dmFyIHJhbmRvbSA9IE1hdGgucmFuZG9tKCk7CisKK2Z1bmN0aW9uIHNldHVwX2lmcmFtZSgpIHsK
KyAgICBpZnJhbWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZnJhbWVDb250ZXh0Jyk7Cisg
ICAgZCA9IGlmcmFtZS5jb250ZW50V2luZG93LmRvY3VtZW50OworICAgIGlmcmFtZUJvZHkgPSBk
LmJvZHk7CisgICAgaWZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBvbmxvYWRfdGVzdCwg
ZmFsc2UpOworfQorZnVuY3Rpb24gb25sb2FkX3Rlc3QoKSB7CisgICAgaWYgKHdpbmRvdy5wZXJm
b3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlID09PSB1bmRlZmluZWQpIHsKKyAgICAgIGRvbmUoKTsK
KyAgICAgIHJldHVybjsKKyAgICB9CisgICAgdmFyIGNvbnRleHQgPSBuZXcgUGVyZm9ybWFuY2VD
b250ZXh0KGlmcmFtZS5jb250ZW50V2luZG93LnBlcmZvcm1hbmNlKTsKKyAgICB2YXIgZW50cmll
cyA9IGNvbnRleHQuZ2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKTsKKyAgICB0ZXN0X2VxdWFs
cyhlbnRyaWVzLmxlbmd0aCwgMiwgIlRoZXJlIHNob3VsZCBiZSB0d28gZW50cmllcyIpOworICAg
IGlmIChlbnRyaWVzLmxlbmd0aCA+PSAyKSB7CisgICAgICAgIHRlc3RfZXF1YWxzKGVudHJpZXNb
MF0ubmFtZSwgZW50cmllc1sxXS5uYW1lLCAiQm90aCBlbnRyaWVzIHNob3VsZCBoYXZlIHRoZSBz
YW1lIG5hbWUiKTsKKyAgICB9CisgICAgZG9uZSgpOworfQord2luZG93LnNldHVwX2lmcmFtZSA9
IHNldHVwX2lmcmFtZTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRp
b248L2gxPgorPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGEgMzA0IE5vdCBNb2RpZmllZCBy
ZXNvdXJjZSBhcHBlYXJzIGluIHRoZSBidWZmZXIuPC9wPgorPGRpdiBpZD0ibG9nIj48L2Rpdj4K
KzxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgc3JjPSJyZXNvdXJjZXMvZmFrZV9yZXNwb25zZXMu
aHRtbCI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZV9pbml0aWF0b3JfdHlwZXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX2luaXRpYXRvcl90eXBlcy5odG1s
CmluZGV4IDk5MTJkYTdjMzQwMDEzOGQ3MzI0NWFjYzM3MjQ2M2NhMTc0ZTZmNTguLjJlNTJmMGU0
Y2QwOWVjOWUwZDI2ZTI0OTRhYzVlMjBiNThjZTYyYjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
X2luaXRpYXRvcl90eXBlcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX2luaXRpYXRvcl90eXBlcy5o
dG1sCkBAIC05NSw4ICs5NSw4IEBAIGZ1bmN0aW9uIHBlcmZvcm1fdGVzdCgpIHsKICAgICBhZGRF
bnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ3Jlc291
cmNlX3RpbWluZ190ZXN0MC5wbmcnLCAnaW1nJyk7CiAgICAgYWRkRW50cnlJZkV4aXN0cyhlbnRy
aWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdyZXNvdXJjZV90aW1pbmdfdGVzdDAu
cG5nP2lkPXNyY3NldC1zcmNzZXQnLCAnaW1nJyk7CiAgICAgYWRkRW50cnlJZkV4aXN0cyhlbnRy
aWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdyZXNvdXJjZV90aW1pbmdfdGVzdDAu
cG5nP2lkPXNyY3NldC1zcmMnLCAnaW1nJyk7Ci0gICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVz
LCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdibGFua19wYWdlX2dyZWVuLmh0bScsICdp
ZnJhbWUnKTsKLSAgICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMs
IHBhdGhuYW1lICsgJ2JsYW5rX3BhZ2VfZ3JlZW4uaHRtP2lkPWZyYW1lJywgJ2ZyYW1lJyk7Cisg
ICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSAr
ICdncmVlbi5odG1sJywgJ2lmcmFtZScpOworICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywg
ZXhwZWN0ZWRfZW50cmllcywgcGF0aG5hbWUgKyAnZ3JlZW4uaHRtbD9pZD1mcmFtZScsICdmcmFt
ZScpOwogICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcywgcGF0
aG5hbWUgKyAnZW1wdHlfc2NyaXB0LmpzJywgJ3NjcmlwdCcpOwogICAgIGFkZEVudHJ5SWZFeGlz
dHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcywgcGF0aG5hbWUgKyAncmVzb3VyY2VfdGltaW5n
X3Rlc3QwLmNzcz9pZD1lbWJlZCcsICdlbWJlZCcpOwogICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50
cmllcywgZXhwZWN0ZWRfZW50cmllcywgcGF0aG5hbWUgKyAncmVzb3VyY2VfdGltaW5nX3Rlc3Qw
LmNzcz9pZD1uMScsICdjc3MnKTsKQEAgLTEyOCw3ICsxMjgsNyBAQCBmdW5jdGlvbiBwZXJmb3Jt
X3Rlc3QoKSB7CiAgICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVz
LCBwYXRobmFtZSArICduZXN0ZWQuY3NzJywgJ2xpbmsnKTsKICAgICBhZGRFbnRyeUlmRXhpc3Rz
KGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ25lc3RlZC5jc3M/aWQ9cHJl
ZmV0Y2gnLCAnbGluaycpOwogICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywgZXhwZWN0ZWRf
ZW50cmllcywgcGF0aG5hbWUgKyAnbmVzdGVkLmNzcz9pZD1wcmVsb2FkJywgJ2xpbmsnKTsKLSAg
ICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsg
J2JsYW5rX3BhZ2VfZ3JlZW4uaHRtP2lkPXByZXJlbmRlcicsICdsaW5rJyk7CisgICAgYWRkRW50
cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdncmVlbi5o
dG1sP2lkPXByZXJlbmRlcicsICdsaW5rJyk7CiAgICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVz
LCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdtYW5pZmVzdC5qc29uJywgJ2xpbmsnKTsK
ICAgICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1l
ICsgJ2VtcHR5LnB5P2lkPWJlYWNvbicsICdiZWFjb24nKTsKICAgICBhZGRFbnRyeUlmRXhpc3Rz
KGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ2VtcHR5LnB5P2lkPWZldGNo
JywgJ2ZldGNoJyk7CkBAIC0xNTgsNyArMTU4LDcgQEAgd2luZG93Lm9uX2FzeW5jX3hocl9kb25l
ID0gZnVuY3Rpb24oKSB7CiA8aDE+RGVzY3JpcHRpb248L2gxPgogPHA+VGhpcyB0ZXN0IHZhbGlk
YXRlcyB0aGF0IGFsbCBvZiB0aGUgaW5pdGlhdG9yIHR5cGVzIGFyZSByZXByZXNlbnRlZC48L3A+
CiA8ZGl2IGlkPSJsb2ciPjwvZGl2PgotPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBvbmxvYWQ9
Im9ubG9hZF90ZXN0KCk7IiBzcmM9InJlc291cmNlcy9hbGxfcmVzb3VyY2VfdHlwZXMuaHRtIiBz
dHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MHB4OyI+PC9pZnJhbWU+Ci08aWZyYW1lIGlk
PSJmcmFtZUNvbnRleHQyIiBvbmxvYWQ9ImZyYW1lc2V0X29ubG9hZCgpOyIgc3JjPSJyZXNvdXJj
ZXMvZ3JlZW5fZnJhbWUuaHRtIiBzdHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MHB4OyI+
PC9pZnJhbWU+Cis8aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQiIG9ubG9hZD0ib25sb2FkX3Rlc3Qo
KTsiIHNyYz0icmVzb3VyY2VzL2FsbF9yZXNvdXJjZV90eXBlcy5odG1sIiBzdHlsZT0id2lkdGg6
IDI1MHB4OyBoZWlnaHQ6IDI1MHB4OyI+PC9pZnJhbWU+Cis8aWZyYW1lIGlkPSJmcmFtZUNvbnRl
eHQyIiBvbmxvYWQ9ImZyYW1lc2V0X29ubG9hZCgpOyIgc3JjPSJyZXNvdXJjZXMvZ3JlZW4tZnJh
bWUuaHRtbCIgc3R5bGU9IndpZHRoOiAyNTBweDsgaGVpZ2h0OiAyNTBweDsiPjwvaWZyYW1lPgog
PC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfbmVzdGVkX2RlZGljYXRl
ZF93b3JrZXIud29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfbmVzdGVkX2RlZGljYXRlZF93b3JrZXIu
d29ya2VyLmpzCmluZGV4IGZjNzkzMDc1YmJhZGUxYjA4OTFlYThlY2Y1MDEzNzA1MWQ4NGI4MjAu
LjJjOWY1Zjk1NDI4YWNhNWNlOWQxODcxNDIyM2ZhYjZmNzhmMzYwYzAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlX25lc3RlZF9kZWRpY2F0ZWRfd29ya2VyLndvcmtlci5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZV9uZXN0ZWRfZGVkaWNhdGVkX3dvcmtlci53b3JrZXIuanMKQEAgLTEsNiArMSw2IEBACiBp
bXBvcnRTY3JpcHRzKCIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIik7CiAKLWFzeW5jX3Rlc3Qo
YXN5bmMgZnVuY3Rpb24oKSB7Cithc3luY190ZXN0KGZ1bmN0aW9uKCkgewogICBjb25zdCB3b3Jr
ZXIgPSBuZXcgV29ya2VyKCdyZXNvdXJjZXMvd29ya2VyX3dpdGhfaW1hZ2VzLmpzJyk7CiAgIHdv
cmtlci5vbm1lc3NhZ2UgPSB0aGlzLnN0ZXBfZnVuY19kb25lKChldmVudCkgPT4gewogICAgIGNv
bnN0IGNoaWxkTnVtRW50cmllcyA9IGV2ZW50LmRhdGE7CkBAIC0xNCw0ICsxNCw0IEBAIGFzeW5j
X3Rlc3QoYXN5bmMgZnVuY3Rpb24oKSB7CiAgICAgd29ya2VyLnRlcm1pbmF0ZSgpOwogICB9KTsK
IH0sICJSZXNvdXJjZSB0aW1pbmcgZm9yIG5lc3RlZCBkZWRpY2F0ZWQgd29ya2VycyIpOwotZG9u
ZSgpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2RvbmUoKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlX3RpbWluZ19jb250ZW50X2xlbmd0aC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZV90aW1pbmdfY29udGVudF9sZW5ndGgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzYTNmODhk
MWJlYWMxMDM3MDA1ZWNhZjg4ODQ1MTYwM2NkZWVlN2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZV90aW1pbmdfY29udGVudF9sZW5ndGgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBA
QAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworUEFTUyBlbmNv
ZGVkQm9keVNpemUgc2hvdWxkIGJlIGVxdWFsIHRvIHRoZSBhY3R1YWwgYnl0ZSBzaXplIG9mIHRo
ZSBjb250ZW50CitQQVNTIGVuY29kZWRCb2R5U2l6ZSBzaG91bGQgYmUgZXF1YWwgdG8gdGhlIGFj
dHVhbCBieXRlIHNpemUgb2YgdGhlIGNvbnRlbnQgd2hlbiBubyBoZWFkZXIgcHJlc2VudAorUEFT
UyBlbmNvZGVkQm9keVNpemUgc2hvdWxkIGJlIGVxdWFsIHRvIHRoZSBhY3R1YWwgYnl0ZSBzaXpl
IG9mIHRoZSBjb250ZW50IHdoZW4gaGVhZGVyIHZhbHVlIGlzIGxvd2VyIHRoYW4gYWN0dWFsIGNv
bnRlbnQKK1RJTUVPVVQgZW5jb2RlZEJvZHlTaXplIHNob3VsZCBiZSBlcXVhbCB0byB0aGUgYWN0
dWFsIGJ5dGUgc2l6ZSBvZiB0aGUgY29udGVudCB3aGVuIGhlYWRlciB2YWx1ZSBpcyBoaWdoZXIg
dGhhbiBhY3R1YWwgY29udGVudCBUZXN0IHRpbWVkIG91dAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZV90aW1pbmdfY29udGVudF9sZW5ndGguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX3RpbWluZ19jb250
ZW50X2xlbmd0aC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMyYmQ4YTk3ZTA3MzQxMzIzMDYxNTEyNjk4YTU2
NTIzMmYxOTcyYmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV90aW1pbmdfY29udGVu
dF9sZW5ndGguaHRtbApAQCAtMCwwICsxLDM1IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5UaGlzIHRlc3QgdmFsaWRh
dGVzIHRoZSB2YWx1ZSBvZiBlbmNvZGVkQm9keVNpemUgaW4gY2VydGFpbiBzaXR1YXRpb25zLjwv
dGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jlc291
cmNlLXRpbWluZy8jcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0PgorICAgIGZ1bmN0
aW9uIHRlc3RfcmVzb3VyY2VfdGltaW5nX2Zvcl9jb250ZW50X2xlbmd0aCh7YWN0dWFsQ29udGVu
dExlbmd0aCwgbGVuZ3RoSGVhZGVyfSwgdGl0bGUpIHsKKyAgICAgICAgcHJvbWlzZV90ZXN0KGFz
eW5jIHQgPT4geworICAgICAgICAgICAgY29uc3QgY29udGVudCA9IG5ldyBBcnJheShhY3R1YWxD
b250ZW50TGVuZ3RoKS5maWxsKCd4Jykuam9pbignJykKKyAgICAgICAgICAgIGNvbnN0IHVybCA9
IGByZXNvdXJjZXMvcmVzb3VyY2UtdGltaW5nLWNvbnRlbnQtbGVuZ3RoLnB5P2NvbnRlbnQ9JHtj
b250ZW50fSZsZW5ndGg9JHtsZW5ndGhIZWFkZXJ9YAorICAgICAgICAgICAgZmV0Y2godXJsKQor
ICAgICAgICAgICAgY29uc3QgZW50cnkgPSBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IG5l
dyBQZXJmb3JtYW5jZU9ic2VydmVyKChlbnRyeUxpc3QsIG9ic2VydmVyKSA9PiB7CisgICAgICAg
ICAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpCisgICAgICAgICAgICAgICAgcmVzb2x2ZShl
bnRyeUxpc3QuZ2V0RW50cmllcygpWzBdKQorICAgICAgICAgICAgfSkub2JzZXJ2ZSh7ZW50cnlU
eXBlczogWydyZXNvdXJjZSddfSkpCisKKyAgICAgICAgICAgIGNvbnN0IGV4cGVjdGVkQ29udGVu
dExlbmd0aCA9IE51bWJlci5pc0ludGVnZXIobGVuZ3RoSGVhZGVyKSA/IE1hdGgubWluKGFjdHVh
bENvbnRlbnRMZW5ndGgsIGxlbmd0aEhlYWRlcikgOiBhY3R1YWxDb250ZW50TGVuZ3RoCisgICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKGVudHJ5LmVuY29kZWRCb2R5U2l6ZSwgZXhwZWN0ZWRDb250
ZW50TGVuZ3RoKQorICAgICAgICB9LCB0aXRsZSk7CisgICAgfQorCisgICAgdGVzdF9yZXNvdXJj
ZV90aW1pbmdfZm9yX2NvbnRlbnRfbGVuZ3RoKHthY3R1YWxDb250ZW50TGVuZ3RoOiAzLCBsZW5n
dGhIZWFkZXI6ICdhdXRvJ30sCisgICAgICAgICJlbmNvZGVkQm9keVNpemUgc2hvdWxkIGJlIGVx
dWFsIHRvIHRoZSBhY3R1YWwgYnl0ZSBzaXplIG9mIHRoZSBjb250ZW50IikKKyAgICB0ZXN0X3Jl
c291cmNlX3RpbWluZ19mb3JfY29udGVudF9sZW5ndGgoe2FjdHVhbENvbnRlbnRMZW5ndGg6IDEz
LCBsZW5ndGhIZWFkZXI6ICdub25lJ30sCisgICAgICAgICJlbmNvZGVkQm9keVNpemUgc2hvdWxk
IGJlIGVxdWFsIHRvIHRoZSBhY3R1YWwgYnl0ZSBzaXplIG9mIHRoZSBjb250ZW50IHdoZW4gbm8g
aGVhZGVyIHByZXNlbnQiKQorICAgIHRlc3RfcmVzb3VyY2VfdGltaW5nX2Zvcl9jb250ZW50X2xl
bmd0aCh7YWN0dWFsQ29udGVudExlbmd0aDogNywgbGVuZ3RoSGVhZGVyOiAzfSwKKyAgICAgICAg
ImVuY29kZWRCb2R5U2l6ZSBzaG91bGQgYmUgZXF1YWwgdG8gdGhlIGFjdHVhbCBieXRlIHNpemUg
b2YgdGhlIGNvbnRlbnQgd2hlbiBoZWFkZXIgdmFsdWUgaXMgbG93ZXIgdGhhbiBhY3R1YWwgY29u
dGVudCIpCisgICAgdGVzdF9yZXNvdXJjZV90aW1pbmdfZm9yX2NvbnRlbnRfbGVuZ3RoKHthY3R1
YWxDb250ZW50TGVuZ3RoOiA4LCBsZW5ndGhIZWFkZXI6IDQwfSwKKyAgICAgICAgImVuY29kZWRC
b2R5U2l6ZSBzaG91bGQgYmUgZXF1YWwgdG8gdGhlIGFjdHVhbCBieXRlIHNpemUgb2YgdGhlIGNv
bnRlbnQgd2hlbiBoZWFkZXIgdmFsdWUgaXMgaGlnaGVyIHRoYW4gYWN0dWFsIGNvbnRlbnQiKQor
PC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvMjAwX2VtcHR5LmFz
aXMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvMjAwX2VtcHR5LmFzaXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjVkMTBiZGEzMjQ1
MjhkMWQ4NTQ2M2I5YTE1YTM0N2Y1YzFmYWVkOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy8yMDBfZW1wdHkuYXNpcwpAQCAtMCwwICsxLDMgQEAKK0hUVFAvMS4wIDIwMCBPSworQ29u
dGVudC1MZW5ndGg6IDAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL1RBT1Jlc3BvbnNlLnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL1RBT1Jlc3BvbnNlLnB5CmluZGV4IDkwOGI2ODg2MWFlODI2MmExOGUw
ODNiMDI2ZDE0NTkxZDFlMDIwNmUuLjYwMzkyYjhlMTBhZGE0ZmQ3MGEwM2E2MjU4ODQ5MzA2ZTk3
MTRlYzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9UQU9SZXNwb25zZS5weQorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvVEFPUmVzcG9uc2UucHkKQEAgLTEsOCArMSwxMiBAQAoraW1wb3J0IG9zCisKIGRl
ZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICBvcmlnaW4gPSByZXF1ZXN0LmhlYWRlcnNb
YidvcmlnaW4nXQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGInQWNjZXNzLUNvbnRyb2wtQWxs
b3ctT3JpZ2luJywgb3JpZ2luKQorICAgIGlmIGInb3JpZ2luJyBpbiByZXF1ZXN0LmhlYWRlcnM6
CisgICAgICBvcmlnaW4gPSByZXF1ZXN0LmhlYWRlcnNbYidvcmlnaW4nXQorICAgICAgcmVzcG9u
c2UuaGVhZGVycy5zZXQoYidBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4nLCBvcmlnaW4pCiAK
ICAgICB0YW8gPSByZXF1ZXN0LkdFVC5maXJzdChiJ3RhbycpCisgICAgaW1nID0gcmVxdWVzdC5H
RVQuZmlyc3QoYidpbWcnKSBpZiBiJ2ltZycgaW4gcmVxdWVzdC5HRVQgZWxzZSBOb25lCiAKICAg
ICBpZiB0YW8gPT0gYid6ZXJvJzoKICAgICAjIHplcm8gVEFPIHZhbHVlLCBmYWlsCkBAIC0xNCw3
ICsxOCw3IEBAIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICAjIG51bGwsIGZhaWwg
dW5sZXNzIGl0J3MgYW4gb3BhcXVlIG9yaWdpbgogICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNl
dChiJ1RpbWluZy1BbGxvdy1PcmlnaW4nLCBiJ251bGwnKQogICAgIGVsaWYgdGFvID09IGInTnVs
bCc6Ci0gICAgIyBjYXNlLWluc2VudGl2ZSBudWxsLCBmYWlsCisgICAgIyBjYXNlLWluc2Vuc2l0
aXZlIG51bGwsIGZhaWwKICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYidUaW1pbmctQWxs
b3ctT3JpZ2luJywgYidOdWxsJykKICAgICBlbGlmIHRhbyA9PSBiJ29yaWdpbic6CiAgICAgIyBj
YXNlLXNlbnNpdGl2ZSBtYXRjaCBmb3Igb3JpZ2luLCBwYXNzCkBAIC00OSwzICs1MywxMiBAQCBk
ZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CiAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0
KGInVGltaW5nLUFsbG93LU9yaWdpbicsIG9yaWdpbi51cHBlcigpKQogICAgIGVsc2U6CiAgICAg
ICAgIHBhc3MKKyAgICByZXNwb25zZS5zdGF0dXMgPSAyMDAKKyAgICBpZiBpbWc6CisgICAgICBy
ZXNwb25zZS5oZWFkZXJzLnNldChiIkNvbnRlbnQtVHlwZSIsIGIiaW1hZ2UvcG5nIikKKyAgICAg
IHdpdGggb3BlbihyZXF1ZXN0LmRvY19yb290ICsgIi9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vz
L2JsdWUucG5nIiwgInJiIikgYXMgZjoKKyAgICAgICAgcmVzcG9uc2UuY29udGVudCA9IGYucmVh
ZCgpCisgICAgICAgIGYuY2xvc2UoKQorICAgIGVsc2U6CisgICAgICByZXNwb25zZS5oZWFkZXJz
LnNldChiIkNvbnRlbnQtVHlwZSIsIGIidGV4dC9wbGFpbiIpCisgICAgICByZXNwb25zZS5jb250
ZW50ID0gIlRFU1QiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvYWxsX3Jlc291cmNlX3R5cGVz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvYWxsX3Jlc291cmNlX3R5cGVzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTI1MmE0ODcyYWI0ZTI4ZTY2NTBjNDVjNzc5YjM4MDUyNTRmYTkwZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL3Jlc291cmNlcy9hbGxfcmVzb3VyY2VfdHlwZXMuaHRtbApAQCAtMCwwICsxLDEwNyBA
QAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgY29u
dGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04IiBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUi
IC8+CisgICAgICAgIDx0aXRsZT5BbGwgUmVzb3VyY2UgVHlwZXMgVGVzdCBQYWdlPC90aXRsZT4K
KyAgICAgICAgPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSJlbXB0eS5weT9mYXZpY29u
Ij4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgYmFja2dyb3VuZD0nYmx1ZS5wbmc/aWQ9Ym9keSc+
CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93LnBhcmVudC5oYXNPd25Q
cm9wZXJ0eSgnb25fdGVzdF9ib2R5X2NyZWF0ZWQnKSkKKyAgICAgICAgICAgICAgICB3aW5kb3cu
cGFyZW50Lm9uX3Rlc3RfYm9keV9jcmVhdGVkKCk7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAg
ICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Im5lc3RlZC5jc3MiPjwvbGluaz4KKyAgICAg
ICAgPGxpbmsgcmVsPSJwcmVmZXRjaCIgaHJlZj0ibmVzdGVkLmNzcz9pZD1wcmVmZXRjaCI+PC9s
aW5rPgorICAgICAgICA8bGluayByZWw9InByZWxvYWQiIGhyZWY9Im5lc3RlZC5jc3M/aWQ9cHJl
bG9hZCIgYXM9InN0eWxlIj48L2xpbms+CisgICAgICAgIDxsaW5rIHJlbD0icHJlcmVuZGVyIiBo
cmVmPSJncmVlbi5odG1sP2lkPXByZXJlbmRlciI+PC9saW5rPgorICAgICAgICA8bGluayByZWw9
Im1hbmlmZXN0IiBocmVmPSJtYW5pZmVzdC5qc29uIj48L2xpbms+CisgICAgICAgIDxpbWcgc3Jj
PSJyZXNvdXJjZV90aW1pbmdfdGVzdDAucG5nIj48L2ltZz4KKyAgICAgICAgPGltZyBzcmM9InJl
c291cmNlX3RpbWluZ190ZXN0MC5wbmc/aWQ9c3Jjc2V0LXNyYyIKKyAgICAgICAgICAgIHNyY3Nl
dD0icmVzb3VyY2VfdGltaW5nX3Rlc3QwLnBuZz9pZD1zcmNzZXQtc3Jjc2V0IDY3dyIKKyAgICAg
ICAgICAgIHNpemVzPSI2N3B4Ij48L2ltZz4KKyAgICAgICAgPGlmcmFtZSBzcmM9ImdyZWVuLmh0
bWwiIHdpZHRoPSIxMDBweCIgaGVpZ2h0PSIxMDBweCI+PC9pZnJhbWU+CisgICAgICAgIDxzY3Jp
cHQgc3JjPSJlbXB0eV9zY3JpcHQuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0PgorICAg
ICAgICAgICAgdmFyIGFzeW5jX3hociA9IG5ldyBYTUxIdHRwUmVxdWVzdDsKKyAgICAgICAgICAg
IGFzeW5jX3hoci5vcGVuKCdHRVQnLCAnYmx1ZS5wbmc/aWQ9YXN5bmNfeGhyJywgdHJ1ZSk7Cisg
ICAgICAgICAgICBhc3luY194aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24oKSB7Cisg
ICAgICAgICAgICAgICAgaWYgKGFzeW5jX3hoci5yZWFkeVN0YXRlID09IDQgJiYgYXN5bmNfeGhy
LnN0YXR1cyA9PSAyMDAgJiYgcGFyZW50Lmhhc093blByb3BlcnR5KCdvbl9hc3luY194aHJfZG9u
ZScpKQorICAgICAgICAgICAgICAgICAgICBwYXJlbnQub25fYXN5bmNfeGhyX2RvbmUoKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGFzeW5jX3hoci5zZW5kKCk7CisKKyAgICAgICAgICAg
IGlmICh3aW5kb3cubmF2aWdhdG9yICYmIG5hdmlnYXRvci5zZW5kQmVhY29uKSB7CisgICAgICAg
ICAgICAgICAgbmF2aWdhdG9yLnNlbmRCZWFjb24oJ2VtcHR5LnB5P2lkPWJlYWNvbicpOworICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAod2luZG93LmZldGNoKSB7CisgICAgICAgICAg
ICAgICAgZmV0Y2goJ2VtcHR5LnB5P2lkPWZldGNoJyk7CisgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgIGlmICh3aW5kb3cuRXZlbnRTb3VyY2UpIHsKKyAgICAgICAgICAgICAgICB2YXIgZXZ0
U291cmNlID0gbmV3IEV2ZW50U291cmNlKCdldmVudHNvdXJjZS5weT9pZD1ldmVudHNvdXJjZScp
OworICAgICAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgQGZvbnQtZmFjZSB7CisgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHJlbW90
ZUZvbnRBaGVtOworICAgICAgICAgICAgICAgIHNyYzogdXJsKCcvZm9udHMvQWhlbS50dGYnKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmcmFtZSB7CisgICAgICAgICAgICAgICAgYmFj
a2dyb3VuZDogdXJsKCdibHVlLnBuZz9pZD0xJyk7CisgICAgICAgICAgICB9CisgICAgICAgICAg
ICBib2R5IHsKKyAgICAgICAgICAgICAgICBjdXJzb3I6IHVybCgnYmx1ZS5wbmc/aWQ9Y3Vyc29y
JyksIHBvaW50ZXI7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB1bCB7CisgICAgICAgICAg
ICAgICAgZm9udC1mYW1pbHk6IHJlbW90ZUZvbnRBaGVtOworICAgICAgICAgICAgICAgIGxpc3Qt
c3R5bGUtaW1hZ2U6IHVybCgnYmx1ZS5wbmc/aWQ9MicpOworICAgICAgICAgICAgfQorICAgICAg
ICA8L3N0eWxlPgorICAgICAgICA8dWw+CisgICAgICAgICAgICA8bGk+VGVzdDwvbGk+CisgICAg
ICAgIDwvdWw+CisgICAgICAgIDxvbD4KKyAgICAgICAgICAgIDxsaT5UZXN0PC9saT4KKyAgICAg
ICAgPC9vbD4KKyAgICAgICAgPGVtYmVkIHNyYz0icmVzb3VyY2VfdGltaW5nX3Rlc3QwLmNzcz9p
ZD1lbWJlZCIgdHlwZT0idGV4dC9jc3MiPjwvZW1iZWQ+CisgICAgICAgIDxpbnB1dCB0eXBlPSJp
bWFnZSIgc3JjPSJibHVlLnBuZz9pZD1pbnB1dCI+PC9pbnB1dD4KKyAgICAgICAgPG9iamVjdCB0
eXBlPSJpbWFnZS9wbmciIGRhdGE9ImJsdWUucG5nP2lkPW9iamVjdCI+PC9vYmplY3Q+CisgICAg
ICAgIDx2aWRlbyBwb3N0ZXI9ImJsdWUucG5nP2lkPXZpZGVvLXBvc3RlciI+PC92aWRlbz4KKyAg
ICAgICAgPHZpZGVvIHNyYz0iL21lZGlhL3Rlc3QubXA0P2lkPXZpZGVvLXNyYyIgYXV0b3BsYXk9
InRydWUiPjwvdmlkZW8+CisgICAgICAgIDx2aWRlbyBhdXRvcGxheT0idHJ1ZSI+CisgICAgICAg
ICAgICA8c291cmNlIHNyYz0iL21lZGlhL3Rlc3QubXA0P2lkPXZpZGVvLXNvdXJjZSIgdHlwZT0i
dmlkZW8vbXA0Ij4KKyAgICAgICAgICAgIDxzb3VyY2Ugc3JjPSIvbWVkaWEvdGVzdC5vZ3Y/aWQ9
dmlkZW8tc291cmNlIiB0eXBlPSJ2aWRlby9vZ2ciPgorICAgICAgICAgICAgPHRyYWNrIGtpbmQ9
InN1YnRpdGxlcyIgc3JjPSJlbXB0eS5weT9pZD12aWRlby10cmFjayIgc3JjbGFuZz0iZW4iIGRl
ZmF1bHQ+CisgICAgICAgIDwvdmlkZW8+CisgICAgICAgIDxhdWRpbyBzcmM9ImVtcHR5LnB5P2lk
PWF1ZGlvLXNyYyI+PC9hdWRpbz4KKyAgICAgICAgPGF1ZGlvPgorICAgICAgICAgICAgPHNvdXJj
ZSBzcmM9ImVtcHR5LnB5P2lkPWF1ZGlvLXNvdXJjZS13YXYiIHR5cGU9ImF1ZGlvL3dhdiIgLz4K
KyAgICAgICAgICAgIDxzb3VyY2Ugc3JjPSJlbXB0eS5weT9pZD1hdWRpby1zb3VyY2UtbXBlZyIg
dHlwZT0iYXVkaW8vbXBlZyIgLz4KKyAgICAgICAgICAgIDxzb3VyY2Ugc3JjPSJlbXB0eS5weT9p
ZD1hdWRpby1zb3VyY2Utb2dnIiB0eXBlPSJhdWRpby9vZ2ciIC8+CisgICAgICAgIDwvYXVkaW8+
CisgICAgICAgIDxzdmcgd2lkdGg9MjAwIGhlaWdodD0yMDAKKyAgICAgICAgICAgIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKKyAgICAgICAgICAgIHhtbG5zOnhsaW5rPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KKyAgICAgICAgICAgIDxpbWFnZSBocmVmPSJibHVl
LnBuZz9pZD1zdmctaW1hZ2UiIGhlaWdodD0iMjAwIiB3aWR0aD0iMjAwIi8+CisgICAgICAgIDwv
c3ZnPgorICAgICAgICA8cGljdHVyZT4KKyAgICAgICAgICAgIDxzb3VyY2Ugc3Jjc2V0PSJibHVl
LnBuZz9pZD1waWN0dXJlLXNvdXJjZSIgdHlwZT0iaW1hZ2UvcG5nIiAvPgorICAgICAgICAgICAg
PGltZyBzcmM9ImJsdWUucG5nP2lkPXBpY3R1cmUtaW1nIiAvPgorICAgICAgICA8L3BpY3R1cmU+
CisgICAgICAgIDxwaWN0dXJlPgorICAgICAgICAgICAgPHNvdXJjZSBzcmNzZXQ9ImJsdWUucG5n
P2lkPXBpY3R1cmUtbm90c3VwcG9ydGVkLXNvdXJjZSIgdHlwZT0iaW1hZ2Uvbm90c3VwcG9ydGVk
IiAvPgorICAgICAgICAgICAgPGltZyBzcmM9ImJsdWUucG5nP2lkPXBpY3R1cmUtbm90c3VwcG9y
dGVkLWltZyIgLz4KKyAgICAgICAgPC9waWN0dXJlPgorICAgICAgICA8cGljdHVyZT4KKyAgICAg
ICAgICAgIDxpbWcgc3JjPSJibHVlLnBuZz9pZD1waWN0dXJlLWltZy1zcmMiCisgICAgICAgICAg
ICAgICAgc3Jjc2V0PSJibHVlLnBuZz9pZD1waWN0dXJlLWltZy1zcmNzZXQiCisgICAgICAgICAg
ICAgICAgc2l6ZXM9IjY3cHgiPjwvaW1nPgorICAgICAgICA8L3BpY3R1cmU+CisgICAgICAgIDxw
aWN0dXJlPgorICAgICAgICAgICAgPGltZyBzcmM9ImJsdWUucG5nP2lkPXBpY3R1cmUtOTl4LWlt
Zy1zcmMiCisgICAgICAgICAgICAgICAgc3Jjc2V0PSJibHVlLnBuZz9pZD1waWN0dXJlLTk5eC1p
bWctc3Jjc2V0IDk5eCIKKyAgICAgICAgICAgICAgICBzaXplcz0iNjdweCI+PC9pbWc+CisgICAg
ICAgIDwvcGljdHVyZT4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2J1ZmZlci1mdWxs
LXV0aWxpdGllcy5qcwppbmRleCBlMGE0ZjBiMTA4MDk0NjU4YmUwYWVmNDUzYmY4MjZiZjAxYzI4
ZjkzLi4yMWNkNjMzY2VkOTdkYmY2Yzc1ZWFlMTBiZmQ5N2EyOTQyZTRiZDVhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
cy9idWZmZXItZnVsbC11dGlsaXRpZXMuanMKQEAgLTEyLDEyICsxMiwyNyBAQCBsZXQgeGhyU2Ny
aXB0ID0gc3JjID0+IHsKICAgICB4aHIuc2VuZChudWxsKTsKIH0KIAotbGV0IHdhaXRGb3JOZXh0
VGFzayA9ICgpID0+IHsKKy8vIFRoaXMgc2NyaXB0IHJlbGllcyBvbiByZXNvdXJjZXMvcmVzb3Vy
Y2UtbG9hZGVycy5qcy4gSW5jbHVkZSBpdCBiZWZvcmUgaW4gb3JkZXIgZm9yIHRoZSBiZWxvdwor
Ly8gbWV0aG9kcyB0byB3b3JrIHByb3Blcmx5LgorCisvLyBUaGUgcmVzb3VyY2VzIHVzZWQgdG8g
dHJpZ2dlciBuZXcgZW50cmllcy4KK2NvbnN0IHNjcmlwdFJlc291cmNlcyA9IFsKKyAgICAncmVz
b3VyY2VzL2VtcHR5LmpzJywKKyAgICAncmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5qcycsCisgICAg
J3Jlc291cmNlcy9lbXB0eS5qcz9pZCcKK107CisKK2NvbnN0IHdhaXRGb3JOZXh0VGFzayA9ICgp
ID0+IHsKICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CiAgICAgICAgIHN0ZXBf
dGltZW91dChyZXNvbHZlLCAwKTsKICAgICB9KTsKIH07CiAKK2NvbnN0IGNsZWFyQnVmZmVyQW5k
U2V0U2l6ZSA9IHNpemUgPT4geworICBwZXJmb3JtYW5jZS5jbGVhclJlc291cmNlVGltaW5ncygp
OworICBwZXJmb3JtYW5jZS5zZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUoc2l6ZSk7Cit9CisK
IGxldCB3YWl0VW50aWxDb25kaXRpb25Jc01ldCA9IGNvbmQgPT4gewogICAgIHJldHVybiBuZXcg
UHJvbWlzZShyZXNvbHZlID0+IHsKICAgICAgICAgbGV0IGNoZWNrQ29uZGl0aW9uID0gZnVuY3Rp
b24oKSB7CkBAIC00NSwyNyArNjAsNTcgQEAgbGV0IHdhaXRGb3JFdmVudFRvRmlyZSA9ICgpID0+
IHsKICAgICB9KTsKIH07CiAKLWxldCBjbGVhckJ1ZmZlckFuZFNldFNpemUgPSBzaXplID0+IHsK
LSAgICBwZXJmb3JtYW5jZS5jbGVhclJlc291cmNlVGltaW5ncygpOwotICAgIHBlcmZvcm1hbmNl
LnNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6ZShzaXplKTsKLX0KK2NvbnN0IGZvcmNlQnVmZmVy
RnVsbEV2ZW50ID0gYXN5bmMgKCkgPT4geworICBjbGVhckJ1ZmZlckFuZFNldFNpemUoMSk7Cisg
IHJldHVybiBuZXcgUHJvbWlzZShhc3luYyByZXNvbHZlID0+IHsKKyAgICBwZXJmb3JtYW5jZS5h
ZGRFdmVudExpc3RlbmVyKCdyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwnLCByZXNvbHZlKTsKKyAg
ICAvLyBMb2FkIDIgcmVzb3VyY2VzIHRvIGVuc3VyZSBvbnJlc291cmNldGltaW5nYnVmZmVyZnVs
bCBpcyBmaXJlZC4KKyAgICAvLyBMb2FkIHRoZW0gaW4gb3JkZXIgaW4gb3JkZXIgdG8gZ2V0IHRo
ZSBlbnRyaWVzIGluIHRoYXQgb3JkZXIhCisgICAgYXdhaXQgbG9hZC5zY3JpcHQoc2NyaXB0UmVz
b3VyY2VzWzBdKTsKKyAgICBhd2FpdCBsb2FkLnNjcmlwdChzY3JpcHRSZXNvdXJjZXNbMV0pOwor
ICB9KTsKK307CiAKLWxldCBmaWxsVXBUaGVCdWZmZXJXaXRoU2luZ2xlUmVzb3VyY2UgPSBzcmMg
PT4gewotICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgICAgLy8gVGhp
cyByZXNvdXJjZSBnZXRzIGJ1ZmZlcmVkIGluIHRoZSByZXNvdXJjZSB0aW1pbmcgZW50cnkgYnVm
ZmVyLgotICAgICAgICBhcHBlbmRTY3JpcHQoc3JjLCByZXNvbHZlKTsKLSAgICB9KTsKK2NvbnN0
IGZpbGxVcFRoZUJ1ZmZlcldpdGhTaW5nbGVSZXNvdXJjZSA9IGFzeW5jIChzcmMgPSBzY3JpcHRS
ZXNvdXJjZXNbMF0pID0+IHsKKyAgY2xlYXJCdWZmZXJBbmRTZXRTaXplKDEpOworICBhd2FpdCBs
b2FkLnNjcmlwdChzcmMpOwogfTsKIAotbGV0IGxvYWRSZXNvdXJjZSA9IHNyYyA9PiB7Ci0gICAg
cmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgICAgICBhcHBlbmRTY3JpcHQoc3Jj
LCByZXNvbHZlKTsKLSAgICB9KTsKK2NvbnN0IGZpbGxVcFRoZUJ1ZmZlcldpdGhUd29SZXNvdXJj
ZXMgPSBhc3luYyAoKSA9PiB7CisgICAgY2xlYXJCdWZmZXJBbmRTZXRTaXplKDIpOworICAgIC8v
IExvYWQgdGhlbSBpbiBvcmRlciBpbiBvcmRlciB0byBnZXQgdGhlIGVudHJpZXMgaW4gdGhhdCBv
cmRlciEKKyAgICBhd2FpdCBsb2FkLnNjcmlwdChzY3JpcHRSZXNvdXJjZXNbMF0pOworICAgIGF3
YWl0IGxvYWQuc2NyaXB0KHNjcmlwdFJlc291cmNlc1sxXSk7CiB9OwogCi1sZXQgZmlsbFVwVGhl
QnVmZmVyV2l0aFR3b1Jlc291cmNlcyA9IGFzeW5jIHNyYyA9PiB7Ci0gICAgLy8gVGhlc2UgcmVz
b3VyY2VzIGdldCBidWZmZXJlZCBpbiB0aGUgcmVzb3VyY2UgdGltaW5nIGVudHJ5IGJ1ZmZlci4K
LSAgICBhd2FpdCBsb2FkUmVzb3VyY2Uoc3JjKTsKLSAgICBhd2FpdCBsb2FkUmVzb3VyY2Uoc3Jj
ICsgJz9zZWNvbmQnKTsKK2NvbnN0IGFkZEFzc2VydFVucmVhY2hlZEJ1ZmZlckZ1bGwgPSB0ID0+
IHsKKyAgcGVyZm9ybWFuY2UuYWRkRXZlbnRMaXN0ZW5lcigncmVzb3VyY2V0aW1pbmdidWZmZXJm
dWxsJywgdC5zdGVwX2Z1bmMoKCkgPT4geworICAgIGFzc2VydF91bnJlYWNoZWQoInJlc291cmNl
dGltaW5nYnVmZmVyZnVsbCBzaG91bGQgbm90IGZpcmUiKQorICB9KSk7CiB9OwogCitjb25zdCBj
aGVja0VudHJpZXMgPSBudW1FbnRyaWVzID0+IHsKKyAgY29uc3QgZW50cmllcyA9IHBlcmZvcm1h
bmNlLmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7CisgIGFzc2VydF9lcXVhbHMoZW50cmll
cy5sZW5ndGgsIG51bUVudHJpZXMsCisgICAgICAnTnVtYmVyIG9mIGVudHJpZXMgZG9lcyBub3Qg
bWF0Y2ggdGhlIGV4cGVjdGVkIHZhbHVlLicpOworICBhc3NlcnRfdHJ1ZShlbnRyaWVzWzBdLm5h
bWUuaW5jbHVkZXMoc2NyaXB0UmVzb3VyY2VzWzBdKSwKKyAgICAgIHNjcmlwdFJlc291cmNlc1sw
XSArICIgaXMgaW4gdGhlIGVudHJpZXMgYnVmZmVyIik7CisgIGlmIChlbnRyaWVzLmxlbmd0aCA+
IDEpIHsKKyAgICBhc3NlcnRfdHJ1ZShlbnRyaWVzWzFdLm5hbWUuaW5jbHVkZXMoc2NyaXB0UmVz
b3VyY2VzWzFdKSwKKyAgICAgICAgc2NyaXB0UmVzb3VyY2VzWzFdICsgIiBpcyBpbiB0aGUgZW50
cmllcyBidWZmZXIiKTsKKyAgfQorICBpZiAoZW50cmllcy5sZW5ndGggPiAyKSB7CisgICAgYXNz
ZXJ0X3RydWUoZW50cmllc1syXS5uYW1lLmluY2x1ZGVzKHNjcmlwdFJlc291cmNlc1syXSksCisg
ICAgICAgIHNjcmlwdFJlc291cmNlc1syXSArICIgaXMgaW4gdGhlIGVudHJpZXMgYnVmZmVyIik7
CisgIH0KK30KKworY29uc3QgYnVmZmVyRnVsbEZpcmVQcm9taXNlID0gbmV3IFByb21pc2UocmVz
b2x2ZSA9PiB7CisgIHBlcmZvcm1hbmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc291cmNldGltaW5n
YnVmZmVyZnVsbCcsIGFzeW5jICgpID0+IHsKKyAgICAvLyBXYWl0IGZvciB0aGUgbmV4dCB0YXNr
IGp1c3QgdG8gZW5zdXJlIHRoYXQgYWxsIGJ1ZmZlcmZ1bGwgZXZlbnRzIGhhdmUgZmlyZWQsIGFu
ZCB0byBlbnN1cmUKKyAgICAvLyB0aGF0IHRoZSBzZWNvbmRhcnkgYnVmZmVyIGlzIGNvcGllZCAo
YXMgdGhpcyBpcyBhbiBldmVudCwgdGhlcmUgbWF5IGJlIG1pY3JvdGFzayBjaGVja3BvaW50cwor
ICAgIC8vIHJpZ2h0IGFmdGVyIHJ1bm5pbmcgYW4gZXZlbnQgaGFuZGxlcikuCisgICAgYXdhaXQg
d2FpdEZvck5leHRUYXNrKCk7CisgICAgcmVzb2x2ZSgpOworICB9KTsKK30pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL2NhY2hlYWJsZS1hbmQtdmFsaWRhdGVkLnB5IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vz
L2NhY2hlYWJsZS1hbmQtdmFsaWRhdGVkLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMxZjBlM2FiNDE3YTY5MDc5
ZjIwNzQ4NzUxYjJkNmJlOWE3ZDU1NTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMv
Y2FjaGVhYmxlLWFuZC12YWxpZGF0ZWQucHkKQEAgLTAsMCArMSwxMSBAQAorZGVmIG1haW4ocmVx
dWVzdCwgcmVzcG9uc2UpOgorICAgIHJldmFsaWRhdGlvbiA9ICdDYWNoZS1Db250cm9sJyBpbiBy
ZXF1ZXN0LmhlYWRlcnMKKyAgICBjb250ZW50ID0gcmVxdWVzdC5HRVQuZmlyc3QoYidjb250ZW50
JykKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiJ0NhY2hlLUNvbnRyb2wnLCBiJ21heC1hZ2U9
NjAnKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGInRVRhZycsIGInYXNzZGZzZGZlJykKKyAg
ICBpZiByZXZhbGlkYXRpb246CisgICAgICByZXNwb25zZS5zdGF0dXMgPSAoMzA0LCBiJ05vdE1v
ZGlmaWVkJykKKyAgICBlbHNlOgorICAgICAgcmVzcG9uc2Uuc3RhdHVzID0gKDIwMCwgYidPSycp
OworICAgICAgcmVzcG9uc2Uud3JpdGVfc3RhdHVzX2hlYWRlcnMoKQorICAgICAgcmVzcG9uc2Uu
d3JpdGVyLndyaXRlKGNvbnRlbnQpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2Nvbm5lY3Rp
b24tcmV1c2UtdGVzdC5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jb25uZWN0aW9uLXJldXNlLXRlc3QuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNGRlZjE2YzBiMGVjOTA0N2Y2ZjIyMjA3YmZlMTk5MzMwMjI5ODY0MQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jb25uZWN0aW9uLXJldXNlLXRlc3QuanMKQEAg
LTAsMCArMSw3MCBAQAorLy8gVGhpcyBzY3JpcHQgaXMgbG9hZGVkIGluIEhUVFAgYW5kIEhUVFBT
IGNvbnRleHRzIHRvIHZhbGlkYXRlCisvLyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGVudHJp
ZXMnIGF0dHJpYnV0ZXMgd2hlbiByZXVzaW5nIGNvbm5lY3Rpb25zLgorCisvLyBNYWtlIHRoZSBm
aXJzdCByZXF1ZXN0IGJlZm9yZSBjYWxsaW5nICdhdHRyaWJ1dGVfdGVzdCcgc28gdGhhdCBvbmx5
IHRoZQorLy8gc2Vjb25kIHJlcXVlc3QncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGVudHJ5
IHdpbGwgYmUgaW50ZXJyb2dhdGVkLgorLy8gV2UgZG9uJ3QgY2hlY2sgdGhlIGZpcnN0IHJlcXVl
c3QncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGVudHJ5IGJlY2F1c2UKKy8vIHRoYXQncyBu
b3Qgd2hhdCB0aGlzIHRlc3QgaXMgdHJ5aW5nIHRvIHZhbGlkYXRlLgorLy8KKy8vIE5vdGU6IHRv
IGVuc3VyZSB0aGF0IHdlIHJldXNlIHRoZSBjb25uZWN0aW9uIHRvIGZldGNoIG11bHRpcGxlIHJl
c291cmNlcywKKy8vIHdlIHVzZSB0aGUgc2FtZSBYTUxIdHRwUmVxdWVzdCBvYmplY3QgZm9yIGVh
Y2ggcmVxdWVzdC4gQWx0aG91Z2ggaXQgZG9lc24ndAorLy8gc2VlbSB0byBiZSBzcGVjaWZpZWQs
IGVhY2ggYnJvd3NlciB0ZXN0ZWQgYnkgV1BUIHdpbGwgcmV1c2UgdGhlIHVuZGVybHlpbmcKKy8v
IFRDUCBjb25uZWN0aW9uIHdpdGggdGhpcyBhcHByb2FjaC4gUHJlLWVzdGFibGlzaGluZyB0aGUg
WEhSJ3MgY29ubmVjdGlvbgorLy8gaGVscHMgdXMgdG8gdGVzdCBjb25uZWN0aW9uIHJldXNlIGFs
c28gaW4gYnJvd3NlcnMgdGhhdCBtYXkga2V5IHRoZWlyCisvLyBjb25uZWN0aW9ucyBvbiB0aGUg
cmVsYXRlZCByZXF1ZXN0J3MgY3JlZGVudGlhbHMgbW9kZS4KK2NvbnN0IGNsaWVudCA9IG5ldyBY
TUxIdHRwUmVxdWVzdCgpOworY29uc3QgaWRlbnRpZmllciA9IE1hdGgucmFuZG9tKCk7Citjb25z
dCBwYXRoID0gYHJlc291cmNlcy9mYWtlX3Jlc3BvbnNlcy5weT90YWc9JHtpZGVudGlmaWVyfWA7
CitjbGllbnQub3BlbigiR0VUIiwgcGF0aCwgZmFsc2UpOworY2xpZW50LnNlbmQoKTsKKworYXR0
cmlidXRlX3Rlc3QoCisgIGFzeW5jICgpID0+IHsKKyAgICBjbGllbnQub3BlbigiR0VUIiwgcGF0
aCArICImc2FtZV9yZXNvdXJjZT1mYWxzZSIsIGZhbHNlKTsKKyAgICBjbGllbnQuc2VuZCgpOwor
CisgICAgLy8gV2UgZXhwZWN0IHRvIGdldCBhIDIwMCBPayByZXNwb25zZSBiZWNhdXNlIHdlJ3Zl
IHJlcXVlc3RlZCBhIGRpZmZlcmVudAorICAgIC8vIHJlc291cmNlIHRoYW4gcHJldmlvdXMgcmVx
dWVzdHMuCisgICAgaWYgKGNsaWVudC5zdGF0dXMgIT0gMjAwKSB7CisgICAgICB0aHJvdyBuZXcg
RXJyb3IoYEdvdCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhIDIwMCByZXNwb25zZS4gYCArCisgICAg
ICAgICAgICAgICAgICAgICAgYGNsaWVudC5zdGF0dXM6ICR7Y2xpZW50LnN0YXR1c31gKTsKKyAg
ICB9CisgIH0sIHBhdGgsIGVudHJ5ID0+IHsKKyAgICBpbnZhcmlhbnRzLmFzc2VydF9jb25uZWN0
aW9uX3JldXNlZChlbnRyeSk7CisKKyAgICAvLyBUaGUgZW50cnkgbXVzdCBhbHNvIGZvbGxvdyB0
aGUgc3BlY2lmaWNhdGlvbiBmb3IgYW55IGVudHJ5IGNvcnJlc3BvbmRpbmcKKyAgICAvLyB0byBh
ICd0eXBpY2FsJyAyMDAgT2sgcmVzcG9uc2UuCisgICAgaWYgKHNlbGYubG9jYXRpb24ucHJvdG9j
b2wgPT0gJ2h0dHBzOicpIHsKKyAgICAgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzX25vX3Jl
ZGlyZWN0X2h0dHBzKGVudHJ5KTsKKyAgICB9IGVsc2UgeworICAgICAgaW52YXJpYW50cy5hc3Nl
cnRfdGFvX3Bhc3Nfbm9fcmVkaXJlY3RfaHR0cChlbnRyeSk7CisgICAgfQorICB9LAorICAiUGVy
Zm9ybWFuY2VSZXNyb3VjZVRpbWluZyBlbnRyaWVzIG5lZWQgdG8gY29uZm9ybSB0byB0aGUgc3Bl
YyB3aGVuIGEgIiArCisgICJkaXN0aW5jdCByZXNvdXJjZSBpcyBmZXRjaGVkIG92ZXIgYSBwZXJz
aXN0ZW50IGNvbm5lY3Rpb24iKTsKKworYXR0cmlidXRlX3Rlc3QoCisgIGFzeW5jICgpID0+IHsK
KyAgICBjbGllbnQub3BlbigiR0VUIiwgcGF0aCwgZmFsc2UpOworICAgIGNsaWVudC5zZXRSZXF1
ZXN0SGVhZGVyKCJJZi1Ob25lLU1hdGNoIiwgaWRlbnRpZmllcik7CisgICAgY2xpZW50LnNlbmQo
KTsKKworICAgIC8vIFdlIGV4cGVjdCB0byBnZXQgYSAzMDQgTm90IE1vZGlmaWVkIHJlc3BvbnNl
IGJlY2F1c2Ugd2UndmUgdXNlZCBhCisgICAgLy8gbWF0Y2hpbmcgJ2lkZW50aWZpZXInIGZvciB0
aGUgSWYtTm9uZS1NYXRjaCBoZWFkZXIuCisgICAgaWYgKGNsaWVudC5zdGF0dXMgIT0gMzA0KSB7
CisgICAgICB0aHJvdyBuZXcgRXJyb3IoYEdvdCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhIDMwNCBy
ZXNwb25zZS4gYCArCisgICAgICAgICAgICAgICAgICAgICAgYGNsaWVudC5zdGF0dXM6ICR7Y2xp
ZW50LnN0YXR1c31gKTsKKyAgICB9CisgIH0sIHBhdGgsIGVudHJ5ID0+IHsKKyAgICBpbnZhcmlh
bnRzLmFzc2VydF9jb25uZWN0aW9uX3JldXNlZChlbnRyeSk7CisKKyAgICAvLyBUaGUgZW50cnkg
bXVzdCBhbHNvIGZvbGxvdyB0aGUgc3BlY2lmaWNhdGlvbiBmb3IgYW55IGVudHJ5IGNvcnJlc3Bv
bmRpbmcKKyAgICAvLyB0byBhICd0eXBpY2FsJyAzMDQgTm90IE1vZGlmaWVkIHJlc3BvbnNlLgor
ICAgIGlmIChzZWxmLmxvY2F0aW9uLnByb3RvY29sID09ICdodHRwczonKSB7CisgICAgICBpbnZh
cmlhbnRzLmFzc2VydF90YW9fcGFzc18zMDRfbm90X21vZGlmaWVkX2h0dHBzKGVudHJ5KTsKKyAg
ICB9IGVsc2UgeworICAgICAgaW52YXJpYW50cy5hc3NlcnRfdGFvX3Bhc3NfMzA0X25vdF9tb2Rp
ZmllZF9odHRwKGVudHJ5KTsKKyAgICB9CisgIH0sCisgICJQZXJmb3JtYW5jZVJlc3JvdWNlVGlt
aW5nIGVudHJpZXMgbmVlZCB0byBjb25mb3JtIHRvIHRoZSBzcGVjIHdoZW4gdGhlICIgKworICAi
cmVzb3VyY2UgaXMgY2FjaGUtcmV2YWxpZGF0ZWQgb3ZlciBhIHBlcnNpc3RlbnQgY29ubmVjdGlv
biIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NzcC1kZWZhdWx0LW5vbmUuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWY1OWQ4YzIyNTBm
N2YxN2YxNDM4ODdkYzRmOGU2OGNkZjdmYWE4MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0bWwKQEAgLTAsMCArMSwzIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5lbXB0eSBwYWdlPC90aXRsZT4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0bWwuaGVhZGVycyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0bWwuaGVhZGVycwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNjZm
ODg2ZGQyM2Q0NGJiMzM3NTBjYjU3MjNmM2VkYjZiNzkzMGFiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VzL2NzcC1kZWZhdWx0LW5vbmUuaHRtbC5oZWFkZXJzCkBAIC0wLDAgKzEsMiBA
QAorQ29udGVudC1TZWN1cml0eS1Qb2xpY3k6IGRlZmF1bHQtc3JjICdub25lJworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVz
b3VyY2VzL2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NGNkZDhh
ODcwMWViNGQ3NDlmMTEyYWQ0MDE1ZDRlNTc3OWI3N2IxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3QuaHRtbApAQCAtMCwwICsxLDI4IEBA
Cis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iZW50
cnktaW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citjb25zdCBwYXRo
ID0gbG9jYXRpb24ub3JpZ2luICsKKyAgICAgICAgICAgICAiL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZXMvaWZyYW1lLXNldGRvbWFpbi5zdWIuaHRtbCI7CithdHRyaWJ1dGVfdGVzdF93aXRoX3Zh
bGlkYXRvcihsb2FkLmlmcmFtZSwgcGF0aCwKKyAgZWwgPT4geworICAgIHRyeSB7CisgICAgICBl
bC5jb250ZW50V2luZG93LmRvY3VtZW50OworICAgICAgdGhyb3cgbmV3IEVycm9yKCJpZnJhbWUg
ZG9jdW1lbnQuZG9tYWluIHdhcyBub3Qgc2V0Iik7CisgICAgfSBjYXRjaChlcnJvcikgeworICAg
ICAgaWYgKGVycm9yLm5hbWUgIT0gIlNlY3VyaXR5RXJyb3IiKSB7CisgICAgICAgIHRocm93KGVy
cm9yKTsKKyAgICAgIH0KKyAgICB9CisgIH0sCisgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNz
X25vX3JlZGlyZWN0X2h0dHAsCisgICJ0ZXN0IHRoYXQgZG9jdW1lbnQuZG9tYWluIGJlaW5nIHNl
dCBkb2Vzbid0IGhhdmUgYW4gaW1wYWN0IG9uIHRoZSAiICsKKyAgInJlc291cmNlIHRpbWluZyBl
bnRyeS4iCispOworPC9zY3JpcHQ+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVu
dC1yZWZyZXNoZWQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVudC1yZWZyZXNoZWQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43ZTRjYTA5ODkxZWQzNWUyNDRiMTUxNTFhMmE2MDc3YWY3NGU4NjVmCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2RvY3VtZW50LXJlZnJlc2hlZC5odG1sCkBAIC0w
LDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04IiAvPgorPC9oZWFkPgorPGJvZHk+CisgICAgUmVmcmVzaGVkIGRvY3VtZW50IQor
PHNjcmlwdD4KKyAgICB0b3AucG9zdE1lc3NhZ2UoInJlZnJlc2hlZCIsICIqIik7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVudC10
aGF0LXJlZnJlc2hlcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2RvY3VtZW50LXRoYXQtcmVmcmVzaGVz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzU1MjI3ODJhNjJkYmUzYjk4YjJmMWEwOWM1YmFiYzcwNjNiNzUx
MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVudC10aGF0LXJlZnJlc2hl
cy5odG1sCkBAIC0wLDAgKzEsOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8bWV0YSBodHRwLWVxdWl2PSJyZWZyZXNoIiBjb250
ZW50PSIwO2RvY3VtZW50LXJlZnJlc2hlZC5odG1sIj4KKzwvaGVhZD4KKzxib2R5PjwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9lbWJlZC1yZWZyZXNoLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9yZXNvdXJjZXMvZW1iZWQtcmVmcmVzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRhNDlmZDBiNGMxYjU0
YzBmMDMyMDBmN2VkMmNiMmFlMjcyMzk3ODgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZXMvZW1iZWQtcmVmcmVzaC5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNl
IFRpbWluZyBlbWJlZCByZWZyZXNoPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1o
b3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJuZXN0ZWQtY29udGV4dHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgICBzZXR1cF9yZWZyZXNoX3Rlc3QoKTsKKzwvc2Ny
aXB0PgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8ZW1iZWQgdHlwZT0idGV4dC9odG1sIj4KKzxzY3Jp
cHQ+CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImVtYmVkIilbMF0uc3JjID0g
cHJlX3JlZnJlc2hfdXJsOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3Jl
ZW4tZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi1mcmFtZS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljk2MTMyNDBhZTM4Nzg5YTEwNGQ3N2Q1NmY4OTBmZjYyNDIwOTM0YjAKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4tZnJhbWUuaHRtbApAQCAtMCwwICsxLDcgQEAKKzxodG1s
PgorICA8aGVhZD4KKyAgICA8ZnJhbWVzZXQ+CisgICAgICA8ZnJhbWUgc3JjPSJncmVlbi5odG1s
P2lkPWZyYW1lIj4KKyAgICA8L2ZyYW1lc2V0PgorICA8L2hlYWQ+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmI4YTE5NDdiNzdlMjVhYzZiMGQxMDBjNzU5MzJlOGMwYTY3ZDg0NmYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4uaHRtbApAQCAtMCwwICsxLDEwIEBACis8
IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBjb250ZW50
PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgLz4K
KyAgICAgICAgPHRpdGxlPkdyZWVuIFRlc3QgUGFnZTwvdGl0bGU+CisgICAgPC9oZWFkPgorICAg
IDxib2R5IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiMwMEZGMDA7Ij4KKyAgICAgICAgPGgxPlBs
YWNlaG9sZGVyPC9oMT4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZXMvZ3JlZW4uaHRtbC5oZWFkZXJzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2dyZWVuLmh0bWwuaGVhZGVy
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jYjc2MmVmZjgwNjg0OWRmNDZkYzc1OGVmN2I5OGI2M2YyN2Y1NGM5Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2dyZWVuLmh0bWwuaGVhZGVycwpAQCAtMCww
ICsxIEBACitBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW46ICoKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlcy9nemlwX3htbC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9nemlwX3htbC5weQppbmRleCAyMjkz
NjA1YWMzM2E0ZDM1N2E0MjZjZGUxMzliYjdkNDRlNGUwY2IzLi43ZGViYzljZTNmNmNiMDYxYmU4
Y2EzN2I3M2ZjZjlmMmE1Mzk2Mzg5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3ppcF94bWwu
cHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvcmVzb3VyY2VzL2d6aXBfeG1sLnB5CkBAIC0xLDcgKzEsNyBAQAogaW1wb3J0
IGd6aXAgYXMgZ3ppcF9tb2R1bGUKIGltcG9ydCBvcwogCi1mcm9tIHNpeCBpbXBvcnQgQnl0ZXNJ
TworZnJvbSBpbyBpbXBvcnQgQnl0ZXNJTwogCiBmcm9tIHdwdHNlcnZlLnV0aWxzIGltcG9ydCBp
c29tb3JwaGljX2RlY29kZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvaWZyYW1lLXJlZnJl
c2guaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlcy9pZnJhbWUtcmVmcmVzaC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRj
ZTNlYTA0MjQyOTdhYzdhODY2NGZjN2Y3YTZkY2JmZjY0ZDZmMTQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvaWZyYW1lLXJlZnJlc2guaHRtbApAQCAtMCwwICsxLDE1IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0
aXRsZT5SZXNvdXJjZSBUaW1pbmcgaWZyYW1lIHJlZnJlc2g8L3RpdGxlPgorPHNjcmlwdCBzcmM9
Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Im5l
c3RlZC1jb250ZXh0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICAgIHNldHVwX3JlZnJlc2hf
dGVzdCgpOworPC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4KKzxpZnJhbWU+PC9pZnJhbWU+
Cis8c2NyaXB0PgorICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpZnJhbWUiKVsw
XS5zcmMgPSBwcmVfcmVmcmVzaF91cmw7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy9pZnJhbWUtcmVsb2FkLVRBTy5zdWIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9pZnJhbWUtcmVs
b2FkLVRBTy5zdWIuaHRtbAppbmRleCAyNTY4MDI2ZTY0ZWRiODRlNTc0ZTVjMWIwNmYzMjNjYjM1
ODliOTkyLi41NzdhZmY3NzU4Yzc3OTg5M2YwMTA2NThkMjE2ZjM0ODAyYTRlZGZlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvaWZyYW1lLXJlbG9hZC1UQU8uc3ViLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVz
b3VyY2VzL2lmcmFtZS1yZWxvYWQtVEFPLnN1Yi5odG1sCkBAIC0xLDE0ICsxLDE0IEBACiA8c3R5
bGU+CiBAZm9udC1mYWNlIHsKICAgICBmb250LWZhbWlseTogYWhlbTsKLSAgICBzcmM6IHVybCho
dHRwOi8ve3tob3N0c1thbHRdW119fTp7e3BvcnRzW2h0dHBdWzFdfX0vcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlcy9jb3JzLWFoZW0ucHkpOworICAgIHNyYzogdXJsKGh0dHA6Ly97e2RvbWFpbnNb
d3d3XX19Ont7cG9ydHNbaHR0cF1bMV19fS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NvcnMt
YWhlbS5weSk7CiB9CiA8L3N0eWxlPgogPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IGFoZW07Ij5U
aGlzIGZldGNoZXMgYWhlbSBmb250LjwvZGl2PgogPHNjcmlwdD4KICAgaWYgKGxvY2F0aW9uLmhh
c2ggPT09ICcjY2hlY2snKSB7CiAgICAgICBkb2N1bWVudC5mb250cy5yZWFkeS50aGVuKCgpPT4g
ewotICAgICAgICBjb25zdCBlbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgn
aHR0cDovL3t7aG9zdHNbYWx0XVtdfX06e3twb3J0c1todHRwXVsxXX19L3Jlc291cmNlLXRpbWlu
Zy9yZXNvdXJjZXMvY29ycy1haGVtLnB5Jyk7CisgICAgICAgIGNvbnN0IGVudHJpZXMgPSBwZXJm
b3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdodHRwOi8ve3tkb21haW5zW3d3d119fTp7e3BvcnRz
W2h0dHBdWzFdfX0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jb3JzLWFoZW0ucHknKTsKICAg
ICAgICAgaWYgKGVudHJpZXMubGVuZ3RoICE9IDEpCiAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICBjb25zdCBlbnRyeSA9IGVudHJpZXNbMF07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvbXVs
dGlfcmVkaXJlY3QucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvbXVsdGlfcmVkaXJlY3QucHkKaW5kZXggNTZm
NWQ2Yzc3MTUzYTU1OThhZWUwYzY3OTVmYjkwOWMzZmRjZGRiZi4uYTVmYzVkYjRhYzkwMTU5MTQ5
MDhiYTJjY2VlYzE4OWY5ZDMyNzRkMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRpX3Jl
ZGlyZWN0LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9tdWx0aV9yZWRpcmVjdC5weQpAQCAtMSwzICsx
LDQgQEAKK2ltcG9ydCB1cmxsaWIucGFyc2UKIGZyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0IGlz
b21vcnBoaWNfZW5jb2RlCiAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKQEAgLTM3LDcg
KzM4LDcgQEAgZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgogICAgIHJlZGlyZWN0X3VybF9w
YXRoID0gYiIvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9tdWx0aV9yZWRpcmVjdC5weT8iCiAg
ICAgcmVkaXJlY3RfdXJsX3BhdGggKz0gYiJwYWdlX29yaWdpbj0iICsgcGFnZV9vcmlnaW4KICAg
ICByZWRpcmVjdF91cmxfcGF0aCArPSBiIiZjcm9zc19vcmlnaW49IiArIGNyb3NzX29yaWdpbgot
ICAgIHJlZGlyZWN0X3VybF9wYXRoICs9IGIiJmZpbmFsX3Jlc291cmNlPSIgKyBmaW5hbF9yZXNv
dXJjZQorICAgIHJlZGlyZWN0X3VybF9wYXRoICs9IGIiJmZpbmFsX3Jlc291cmNlPSIgKyB1cmxs
aWIucGFyc2UucXVvdGUoZmluYWxfcmVzb3VyY2UpLmVuY29kZSgnYXNjaWknKQogICAgIHJlZGly
ZWN0X3VybF9wYXRoICs9IGIiJnRhb192YWx1ZT0iICsgdGFvX3ZhbHVlCiAgICAgcmVkaXJlY3Rf
dXJsX3BhdGggKz0gYiImdGFvX3N0ZXBzPSIgKyBpc29tb3JwaGljX2VuY29kZShzdHIobmV4dF90
YW9fc3RlcHMpKQogICAgIHJlZGlyZWN0X3VybF9wYXRoICs9IGIiJnN0ZXA9IgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL29iamVjdC1yZWZyZXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvb2JqZWN0
LXJlZnJlc2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZTQzZTE5ZGUxOWZjN2MzNjRlNjhlMGIyNDE1OTYz
ZjU1ZTlkZGIyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL29iamVjdC1yZWZyZXNo
Lmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nIG9iamVjdCBy
ZWZyZXNoPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJuZXN0ZWQtY29udGV4dHMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdD4KKyAgICBzZXR1cF9yZWZyZXNoX3Rlc3QoKTsKKzwvc2NyaXB0PgorPGRpdiBpZD1s
b2c+PC9kaXY+Cis8b2JqZWN0IHR5cGU9InRleHQvaHRtbCI+PC9vYmplY3Q+Cis8c2NyaXB0Pgor
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJvYmplY3QiKVswXS5kYXRhID0gcHJl
X3JlZnJlc2hfdXJsOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVkaXJl
Y3QtY29ycy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9yZWRpcmVjdC1jb3JzLnB5Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVh
NjdjYjhlN2FjNGU2MTA0NWQwNWFmNTFmMDY2ZGI0OGJmZGYxMDEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvcmVkaXJlY3QtY29ycy5weQpAQCAtMCwwICsxLDEwIEBACitkZWYgbWFp
bihyZXF1ZXN0LCByZXNwb25zZSk6CisgICAgbG9jYXRpb24gPSByZXF1ZXN0LkdFVC5maXJzdChi
ImxvY2F0aW9uIikKKyAgICByZXNwb25zZS5zdGF0dXMgPSAzMDIKKyAgICByZXNwb25zZS5oZWFk
ZXJzLnNldChiIkxvY2F0aW9uIiwgbG9jYXRpb24pCisKKyAgICBpZiBiImFsbG93X29yaWdpbiIg
aW4gcmVxdWVzdC5HRVQ6CisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNv
bnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5HRVQuZmlyc3QoYiJhbGxvd19vcmlnaW4iKSkK
KworICAgIGlmIGIidGltaW5nX2FsbG93X29yaWdpbiIgaW4gcmVxdWVzdC5HRVQ6CisgICAgICAg
IHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiVGltaW5nLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuR0VU
LmZpcnN0KGIidGltaW5nX2FsbG93X29yaWdpbiIpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vz
L3Jlc291cmNlLXRpbWluZy1jb250ZW50LWxlbmd0aC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9yZXNvdXJj
ZS10aW1pbmctY29udGVudC1sZW5ndGgucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmRiY2UwNDdiNzJlZjA1OTc2
ZDUyOTZlYTM4OTYxZTIwNWEwZjA0ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9y
ZXNvdXJjZS10aW1pbmctY29udGVudC1sZW5ndGgucHkKQEAgLTAsMCArMSwxOSBAQAorZGVmIG1h
aW4ocmVxdWVzdCwgcmVzcG9uc2UpOgorICAgIGNvbnRlbnQgPSByZXF1ZXN0LkdFVC5maXJzdChi
ImNvbnRlbnQiKQorICAgIGxlbmd0aCA9IHJlcXVlc3QuR0VULmZpcnN0KGIibGVuZ3RoIikuZGVj
b2RlKCJhc2NpaSIpCisgICAgcmVzcG9uc2UuYWRkX3JlcXVpcmVkX2hlYWRlcnMgPSBGYWxzZQor
CisgICAgb3V0cHV0ID0gIGIiSFRUUC8xLjEgMjAwIE9LXHJcbiIKKyAgICBvdXRwdXQgKz0gYiJD
b250ZW50LVR5cGU6IHRleHQvcGxhaW47Y2hhcnNldD1VVEYtOFxyXG4iCisgICAgaWYgbGVuZ3Ro
ID09IGIiYXV0byIgOgorICAgICAgICBvdXRwdXQgKz0gYiJDb250ZW50LUxlbmd0aDoiCisgICAg
ICAgIG91dHB1dCArPSAiezB9Ii5mb3JtYXQobGVuKGNvbnRlbnQpKS5lbmNvZGUoImFzY2lpIikK
KyAgICAgICAgb3V0cHV0ICs9IGIiXHJcbiIKKyAgICBlbGlmIGxlbmd0aCAhPSBiIm5vbmUiIDoK
KyAgICAgICAgb3V0cHV0ICs9IGIiQ29udGVudC1MZW5ndGg6IgorICAgICAgICBvdXRwdXQgKz0g
InswfSIuZm9ybWF0KGxlbmd0aCkuZW5jb2RlKCJhc2NpaSIpCisgICAgICAgIG91dHB1dCArPSBi
IlxyXG4iCisgICAgb3V0cHV0ICs9IGIiXHJcbiIKKyAgICBvdXRwdXQgKz0gY29udGVudAorICAg
IHJlc3BvbnNlLndyaXRlci53cml0ZShvdXRwdXQpCisgICAgcmVzcG9uc2UuY2xvc2VfY29ubmVj
dGlvbiA9IFRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9yZXNvdXJjZV90aW1pbmdfdGVz
dDAueG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvcmVzb3VyY2VzL3Jlc291cmNlX3RpbWluZ190ZXN0MC54bWwKaW5kZXggYWRm
NjAxYzhhMTQ5YWI2M2Q0YWNiODI3MWFlOTI1YzYyOGM3NzU4Yi4uOTFjZDY3NmJlNmU2ZjFhZTJi
YWIzZGMxYTAwNTNkYTQ5MmI0MzUxNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3Jlc291cmNl
X3RpbWluZ190ZXN0MC54bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3Jlc291cmNlX3RpbWluZ190ZXN0
MC54bWwKQEAgLTEsNiArMSw2IEBACiA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJJU08t
ODg1OS0xIj8+CiA8VEVTVERBVEE+CiAgICAgPElURU0+Ci0gICAgICAgIDxEQVRBPlRlc3QgWE1M
IERhdGE8L2RhdGE+Ci0gICAgPC9pdGVtPgotPC90ZXN0ZGF0YT4KKyAgICAgICAgPERBVEE+VGVz
dCBYTUwgRGF0YTwvREFUQT4KKyAgICA8L0lURU0+Cis8L1RFU1REQVRBPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VzL3NpemVzLWhlbHBlci5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9zaXplcy1oZWxwZXIu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uODYzMzY2ODZiMzI5MDJlYzFjMTIzYjBmNTVmZjY3ZTlhYmE0MzA2Mgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9zaXplcy1oZWxwZXIuanMKQEAgLTAsMCAr
MSwxNiBAQAorLy8gSGVhZGVyIHNpemUgaXMgYSBmaXhlZCBjb25zdGFudC4KKy8vIGh0dHBzOi8v
dzNjLmdpdGh1Yi5pby9yZXNvdXJjZS10aW1pbmcvI2RvbS1wZXJmb3JtYW5jZXJlc291cmNldGlt
aW5nLXRyYW5zZmVyc2l6ZQorY29uc3QgaGVhZGVyU2l6ZSA9IDMwMDsKKworY29uc3QgY2FjaGVC
dXN0VXJsID0gdXJsID0+IHsKKyAgcmV0dXJuIHVybCArICcmdW5pcXVlPScgKyBNYXRoLnJhbmRv
bSgpLnRvU3RyaW5nKCkuc3Vic3RyaW5nKDIpOworfQorCitjb25zdCBjaGVja1NpemVGaWVsZHMg
PSAoZW50cnksIGJvZHlTaXplLCB0cmFuc2ZlclNpemUpID0+IHsKKyAgYXNzZXJ0X2VxdWFscyhl
bnRyeS5kZWNvZGVkQm9keVNpemUsIGJvZHlTaXplLAorICAgICAgICAgICAgICAgICdkZWNvZGVk
Qm9keVNpemUnKTsKKyAgYXNzZXJ0X2VxdWFscyhlbnRyeS5lbmNvZGVkQm9keVNpemUsIGJvZHlT
aXplLAorICAgICAgICAgICAgICAgICdlbmNvZGVkQm9keVNpemUnKTsKKyAgYXNzZXJ0X2VxdWFs
cyhlbnRyeS50cmFuc2ZlclNpemUsIHRyYW5zZmVyU2l6ZSwKKyAgICAgICAgICAgICAgICAndHJh
bnNmZXJTaXplJyk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvc3RhdHVzLWNvZGUucHkg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvc3RhdHVzLWNvZGUucHkKaW5kZXggOWJjMDJiZDM0Njc5ZWRkNjNmMDBk
YzQ2MTBjNDg1YjhkMTBjYTZkMy4uNzIyMjJiMzllNDg1NzRjNjY2MDUyYjJiYjRkNzAyOWZkNmJh
NTI2YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3N0YXR1cy1jb2RlLnB5CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlcy9zdGF0dXMtY29kZS5weQpAQCAtMSw0ICsxLDYgQEAKIGRlZiBtYWluKHJlcXVlc3Qs
IHJlc3BvbnNlKToKICAgICBzdGF0dXMgPSByZXF1ZXN0LkdFVC5maXJzdChiJ3N0YXR1cycpCiAg
ICAgcmVzcG9uc2Uuc3RhdHVzID0gKHN0YXR1cywgYiIiKTsKKyAgICBpZiBiJ3Rhb192YWx1ZScg
aW4gcmVxdWVzdC5HRVQ6CisgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiJ3RpbWluZy1hbGxv
dy1vcmlnaW4nLCByZXF1ZXN0LkdFVC5maXJzdChiJ3Rhb192YWx1ZScpKQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3dlYnBl
cmZ0ZXN0aGFybmVzcy5qcwppbmRleCA4ZTA0ZTUyZjljNTdmYWZiNmE1OTlkYTNhMTk2M2FhNmVk
NTQ1ZTZmLi44NjllZjNkNzRmNzdiNTg1ZTE0YWZjMDBhOGRjOTBiZTA5ZGI5NzBhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
cy93ZWJwZXJmdGVzdGhhcm5lc3MuanMKQEAgLTYyLDI2ICs2MiwyNiBAQCBmdW5jdGlvbiB0ZXN0
X25hbWVzcGFjZShjaGlsZF9uYW1lLCBza2lwX3Jvb3QpCiAgICAgaWYgKHNraXBfcm9vdCA9PT0g
dW5kZWZpbmVkKSB7CiAgICAgICAgIHZhciBtc2cgPSAnd2luZG93LnBlcmZvcm1hbmNlIGlzIGRl
ZmluZWQnOwogICAgICAgICAvLyBUaGUgd2luZG93LnBlcmZvcm1hbmNlIGF0dHJpYnV0ZSBwcm92
aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRlZCBhdHRyaWJ1dGVzLgot
ICAgICAgICB3cF90ZXN0KGZ1bmN0aW9uICgpIHsgYXNzZXJ0X3RydWUocGVyZm9ybWFuY2VOYW1l
c3BhY2UgIT09IHVuZGVmaW5lZCwgbXNnKTsgfSwgbXNnKTsKKyAgICAgICAgd3BfdGVzdChmdW5j
dGlvbiAoKSB7IGFzc2VydF9ub3RfZXF1YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNlLCB1bmRlZmlu
ZWQsIG1zZyk7IH0sIG1zZyk7CiAgICAgfQogCiAgICAgaWYgKGNoaWxkX25hbWUgIT09IHVuZGVm
aW5lZCkgewogICAgICAgICB2YXIgbXNnMiA9ICd3aW5kb3cucGVyZm9ybWFuY2UuJyArIGNoaWxk
X25hbWUgKyAnIGlzIGRlZmluZWQnOwogICAgICAgICAvLyBUaGUgd2luZG93LnBlcmZvcm1hbmNl
IGF0dHJpYnV0ZSBwcm92aWRlcyBhIGhvc3RpbmcgYXJlYSBmb3IgcGVyZm9ybWFuY2UgcmVsYXRl
ZCBhdHRyaWJ1dGVzLgotICAgICAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfdHJ1ZShw
ZXJmb3JtYW5jZU5hbWVzcGFjZVtjaGlsZF9uYW1lXSAhPT0gdW5kZWZpbmVkLCBtc2cyKTsgfSwg
bXNnMik7CisgICAgICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF9ub3RfZXF1YWxzKHBl
cmZvcm1hbmNlTmFtZXNwYWNlW2NoaWxkX25hbWVdLCB1bmRlZmluZWQsIG1zZzIpOyB9LCBtc2cy
KTsKICAgICB9CiB9CiAKIGZ1bmN0aW9uIHRlc3RfYXR0cmlidXRlX2V4aXN0cyhwYXJlbnRfbmFt
ZSwgYXR0cmlidXRlX25hbWUsIHByb3BlcnRpZXMpCiB7CiAgICAgdmFyIG1zZyA9ICd3aW5kb3cu
cGVyZm9ybWFuY2UuJyArIHBhcmVudF9uYW1lICsgJy4nICsgYXR0cmlidXRlX25hbWUgKyAnIGlz
IGRlZmluZWQuJzsKLSAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfdHJ1ZShwZXJmb3Jt
YW5jZU5hbWVzcGFjZVtwYXJlbnRfbmFtZV1bYXR0cmlidXRlX25hbWVdICE9PSB1bmRlZmluZWQs
IG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7CisgICAgd3BfdGVzdChmdW5jdGlvbigpIHsgYXNz
ZXJ0X25vdF9lcXVhbHMocGVyZm9ybWFuY2VOYW1lc3BhY2VbcGFyZW50X25hbWVdW2F0dHJpYnV0
ZV9uYW1lXSwgdW5kZWZpbmVkLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOwogfQogCiBmdW5j
dGlvbiB0ZXN0X2VudW0ocGFyZW50X25hbWUsIGVudW1fbmFtZSwgdmFsdWUsIHByb3BlcnRpZXMp
CiB7CiAgICAgdmFyIG1zZyA9ICd3aW5kb3cucGVyZm9ybWFuY2UuJyArIHBhcmVudF9uYW1lICsg
Jy4nICsgZW51bV9uYW1lICsgJyBpcyBkZWZpbmVkLic7Ci0gICAgd3BfdGVzdChmdW5jdGlvbigp
IHsgYXNzZXJ0X3RydWUocGVyZm9ybWFuY2VOYW1lc3BhY2VbcGFyZW50X25hbWVdW2VudW1fbmFt
ZV0gIT09IHVuZGVmaW5lZCwgbXNnKTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKKyAgICB3cF90ZXN0
KGZ1bmN0aW9uKCkgeyBhc3NlcnRfbm90X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZVtwYXJl
bnRfbmFtZV1bZW51bV9uYW1lXSwgdW5kZWZpbmVkLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMp
OwogCiAgICAgbXNnID0gJ3dpbmRvdy5wZXJmb3JtYW5jZS4nICsgcGFyZW50X25hbWUgKyAnLicg
KyBlbnVtX25hbWUgKyAnID0gJyArIHZhbHVlOwogICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFz
c2VydF9lcXVhbHMocGVyZm9ybWFuY2VOYW1lc3BhY2VbcGFyZW50X25hbWVdW2VudW1fbmFtZV0s
IHZhbHVlLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOwpAQCAtMTQ4LDcgKzE0OCw3IEBAIGZ1
bmN0aW9uIHRlc3RfZ3JlYXRlcl9vcl9lcXVhbHModmFsdWUsIGdyZWF0ZXJfdGhhbiwgbXNnLCBw
cm9wZXJ0aWVzKQogCiBmdW5jdGlvbiB0ZXN0X25vdF9lcXVhbHModmFsdWUsIG5vdGVxdWFscywg
bXNnLCBwcm9wZXJ0aWVzKQogewotICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF90cnVl
KHZhbHVlICE9PSBub3RlcXVhbHMsIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7CisgICAgd3Bf
dGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X25vdF9lcXVhbHModmFsdWUsIG5vdGVxdWFscywgbXNn
KTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKIH0KIAogZnVuY3Rpb24gdGVzdF90YW9fcGFzcyhlbnRy
eSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzc2V4dGVuc2lv
bi5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3NleHRlbnNpb24uanMKaW5kZXgg
OGJjNzRiZjgxMWU5MTZmM2E4MTFkNDZkZWUzNjMyYzk3MGMwNWJlNi4uZGMwMmMwNzViM2QwN2Y3
YzU3MTY0ZjBlYzI0YzMyYWRiNzZjMGRlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3dlYnBl
cmZ0ZXN0aGFybmVzc2V4dGVuc2lvbi5qcworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvd2VicGVyZnRlc3Ro
YXJuZXNzZXh0ZW5zaW9uLmpzCkBAIC0xLDEyICsxLDYgQEAKLS8qCi1EaXN0cmlidXRlZCB1bmRl
ciBib3RoIHRoZSBXM0MgVGVzdCBTdWl0ZSBMaWNlbnNlIFsxXSBhbmQgdGhlIFczQwotMy1jbGF1
c2UgQlNEIExpY2Vuc2UgWzJdLiBUbyBjb250cmlidXRlIHRvIGEgVzNDIFRlc3QgU3VpdGUsIHNl
ZSB0aGUKLXBvbGljaWVzIGFuZCBjb250cmlidXRpb24gZm9ybXMgWzNdLgotCi1bMV0gaHR0cDov
L3d3dy53My5vcmcvQ29uc29ydGl1bS9MZWdhbC8yMDA4LzA0LXRlc3RzdWl0ZS1saWNlbnNlCi1b
Ml0gaHR0cDovL3d3dy53My5vcmcvQ29uc29ydGl1bS9MZWdhbC8yMDA4LzAzLWJzZC1saWNlbnNl
Ci1bM10gaHR0cDovL3d3dy53My5vcmcvMjAwNC8xMC8yNy10ZXN0Y2FzZXMKLSAqLworLy8KKy8v
IEhlbHBlciBmdW5jdGlvbnMgZm9yIFJlc291cmNlIFRpbWluZyB0ZXN0cworLy8KIAogdmFyIG1h
cmtfbmFtZXMgPSBbCiAgICAgJycsCkBAIC0yNyw3ICsyMSw3IEBAIGZ1bmN0aW9uIHRlc3RfbWV0
aG9kX2V4aXN0cyhtZXRob2QsIG1ldGhvZF9uYW1lLCBwcm9wZXJ0aWVzKQogICAgICAgICBtc2cg
PSAncGVyZm9ybWFuY2UuJyArIG1ldGhvZC5uYW1lICsgJyBpcyBzdXBwb3J0ZWQhJzsKICAgICBl
bHNlCiAgICAgICAgIG1zZyA9ICdwZXJmb3JtYW5jZS4nICsgbWV0aG9kX25hbWUgKyAnIGlzIHN1
cHBvcnRlZCEnOwotICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF90cnVlKHR5cGVvZiBt
ZXRob2QgPT09ICdmdW5jdGlvbicsIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7CisgICAgd3Bf
dGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X2VxdWFscyh0eXBlb2YgbWV0aG9kLCAnZnVuY3Rpb24n
LCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOwogfQogCiBmdW5jdGlvbiB0ZXN0X25vbGVzc190
aGFuKHZhbHVlLCBncmVhdGVyX3RoYW4sIG1zZywgcHJvcGVydGllcykKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3NhbWUtb3JpZ2luLWZyb20tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3NhbWUtb3JpZ2luLWZyb20tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMDVhNzZlZDljOTY3NDkxYTU0N2VhY2M3Y2UzZTY4ZjZkM2QxMzlkCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvc2FtZS1vcmlnaW4tZnJvbS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFZlcmlmeSB0aGF0IGNyb3NzIG9yaWdp
biByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIGV4cG9zZWQgd2hlbiB0aGUgZmluYWwgcmVzb3VyY2Ug
YXQgdGhlIGVuZCBvZiBhbiBIVFRQIHJlZGlyZWN0IGNoYWluIGlzIHNhbWUtb3JpZ2luLgorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9zYW1lLW9yaWdpbi1mcm9tLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvc2FtZS1vcmlnaW4tZnJvbS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44NzQwYjgxYjEzZmQ4YWE3YTI2OWExMGNmMmRkMzAyM2EwZmJjMmE1Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvc2FtZS1vcmlnaW4tZnJvbS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbApA
QCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5UaGlzIHRlc3QgdmFsaWRhdGVzIHJlc291cmNlIHRp
bWluZyBpbmZvcm1hdGlvbiBmb3IgYSBzYW1lLW9yaWdpbgorcmVzb3VyY2UgZmV0Y2hlZCB0aHJv
dWdoIGEgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0IGNoYWluLjwvdGl0bGU+Cis8bGluayByZWw9ImF1
dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cHM6Ly9nb29nbGUuY29tLyIgLz4KKzxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0y
LyNzZWMtcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhv
c3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJj
ZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnktaW52
YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Citjb25zdCB7
SFRUUF9SRU1PVEVfT1JJR0lOfSA9IGdldF9ob3N0X2luZm8oKTsKK2xldCBkZXN0VXJsID0gYCR7
SFRUUF9SRU1PVEVfT1JJR0lOfS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRpX3JlZGly
ZWN0LnB5P2A7CitkZXN0VXJsICs9IGBwYWdlX29yaWdpbj1odHRwOi8vJHtkb2N1bWVudC5sb2Nh
dGlvbi5ob3N0fWA7CitkZXN0VXJsICs9IGAmY3Jvc3Nfb3JpZ2luPSR7SFRUUF9SRU1PVEVfT1JJ
R0lOfWA7CitkZXN0VXJsICs9IGAmZmluYWxfcmVzb3VyY2U9L3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZXMvYmxhbmstd2l0aC10YW8uaHRtbGA7CisKK2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLmlm
cmFtZSwgZGVzdFVybCwKKyAgaW52YXJpYW50cy5hc3NlcnRfc2FtZV9vcmlnaW5fcmVkaXJlY3Rl
ZF9mcm9tX2Nyb3NzX29yaWdpbl9yZXNvdXJjZSwKKyAgIlZlcmlmeSB0aGF0IGNyb3NzIG9yaWdp
biByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIGV4cG9zZWQgd2hlbiB0aGUgZmluYWwgIiArCisgICJy
ZXNvdXJjZSBhdCB0aGUgZW5kIG9mIGFuIEhUVFAgcmVkaXJlY3QgY2hhaW4gaXMgc2FtZS1vcmln
aW4uIik7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6
ZXMtY2FjaGUuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMtY2FjaGUuYW55LmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmNzBl
NWE2ZGVkM2U2M2QxNThmZDkyOWZlYWNmMDgyN2IzY2FmYzkKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9zaXplcy1jYWNoZS5hbnkuanMKQEAgLTAsMCArMSw1NSBAQAorLy8gTUVUQTogZ2xvYmFsPXdp
bmRvdyx3b3JrZXIKKy8vIE1FVEE6IHNjcmlwdD0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9z
aXplcy1oZWxwZXIuanMKKy8vIE1FVEE6IHNjcmlwdD0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
cy9yZXNvdXJjZS1sb2FkZXJzLmpzCisKK2xldCB1cmwgPSBuZXcgVVJMKAorICAnL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvY2FjaGVhYmxlLWFuZC12YWxpZGF0ZWQucHknICsKKyAgJz9jb250
ZW50PWxvcmVtaXBzdW1ibGFibGFibGEnLAorICBsb2NhdGlvbi5ocmVmKS5ocmVmOworY29uc3Qg
Ym9keVNpemUgPSAxOTsKKworY29uc3QgYWNjdW11bGF0ZUVudHJpZXMgPSAoKSA9PiB7CisgIHJl
dHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBjb25zdCBwbyA9IG5ldyBQZXJmb3Jt
YW5jZU9ic2VydmVyKGxpc3QgPT4geworICAgICAgcmVzb2x2ZShsaXN0KTsKKyAgICB9KTsKKyAg
ICBwby5vYnNlcnZlKHt0eXBlOiAicmVzb3VyY2UiLCBidWZmZXJlZDogdHJ1ZX0pOworICB9KTsK
K307CisKK2NvbnN0IGNoZWNrUmVzb3VyY2VTaXplcyA9IGxpc3QgPT4geworICBjb25zdCBlbnRy
aWVzID0gbGlzdC5nZXRFbnRyaWVzQnlOYW1lKHVybCk7CisgIGFzc2VydF9lcXVhbHMoZW50cmll
cy5sZW5ndGgsIDMsICdXcm9uZyBudW1iZXIgb2YgZW50cmllcycpOworICBsZXQgc2VlbkNvdW50
ID0gMDsKKyAgZm9yIChsZXQgZW50cnkgb2YgZW50cmllcykgeworICAgIGlmIChzZWVuQ291bnQg
PT09IDApIHsKKyAgICAgIC8vIDIwMCByZXNwb25zZQorICAgICAgY2hlY2tTaXplRmllbGRzKGVu
dHJ5LCBib2R5U2l6ZSwgYm9keVNpemUgKyBoZWFkZXJTaXplKTsKKyAgICB9IGVsc2UgaWYgKHNl
ZW5Db3VudCA9PT0gMSkgeworICAgICAgLy8gZnJvbSBjYWNoZQorICAgICAgY2hlY2tTaXplRmll
bGRzKGVudHJ5LCBib2R5U2l6ZSwgMCk7CisgICAgfSBlbHNlIGlmIChzZWVuQ291bnQgPT09IDIp
IHsKKyAgICAgIC8vIDMwNCByZXNwb25zZQorICAgICAgY2hlY2tTaXplRmllbGRzKGVudHJ5LCBi
b2R5U2l6ZSwgaGVhZGVyU2l6ZSk7CisgICAgfSBlbHNlIHsKKyAgICAgIGFzc2VydF91bnJlYWNo
ZWQoJ1RvbyBtYW55IG1hdGNoaW5nIGVudHJpZXMnKTsKKyAgICB9CisgICAgKytzZWVuQ291bnQ7
CisgIH0KK307CisKK3Byb21pc2VfdGVzdCgoKSA9PiB7CisgIC8vIFVzZSBhIGRpZmZlcmVudCBV
UkwgZXZlcnkgdGltZSBzbyB0aGF0IHRoZSBjYWNoZSBiZWhhdmlvdXIgZG9lcyBub3QKKyAgLy8g
ZGVwZW5kIG9uIGV4ZWN1dGlvbiBvcmRlci4KKyAgdXJsID0gbG9hZC5jYWNoZV9idXN0KHVybCk7
CisgIGNvbnN0IGVhdEJvZHkgPSByZXNwb25zZSA9PiByZXNwb25zZS5hcnJheUJ1ZmZlcigpOwor
ICBjb25zdCBtdXN0UmV2YWxpZGF0ZSA9IHtoZWFkZXJzOiB7J0NhY2hlLUNvbnRyb2wnOiAnbWF4
LWFnZT0wJ319OworICByZXR1cm4gZmV0Y2godXJsKQorICAgIC50aGVuKGVhdEJvZHkpCisgICAg
LnRoZW4oKCkgPT4gZmV0Y2godXJsKSkKKyAgICAudGhlbihlYXRCb2R5KQorICAgIC50aGVuKCgp
ID0+IGZldGNoKHVybCwgbXVzdFJldmFsaWRhdGUpKQorICAgIC50aGVuKGVhdEJvZHkpCisgICAg
LnRoZW4oYWNjdW11bGF0ZUVudHJpZXMpCisgICAgLnRoZW4oY2hlY2tSZXNvdXJjZVNpemVzKTsK
K30sICdQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIHNpemVzIGNhY2hpbmcgdGVzdCcpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3QtaW1nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLXJl
ZGlyZWN0LWltZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTkwMzIxOTYyMGFlNjVkMmFiODhj
YzIzMDhjZGViNDcxN2JlM2UyZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLXJlZGlyZWN0
LWltZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACisKK1BBU1MgUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZyBzaXplcyByZWRpcmVjdCBpbWFnZSAtIGRpcmVjdCBVUkwKK1BBU1MgUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZyBzaXplcyByZWRpcmVjdCBpbWFnZSAtIHNhbWUgb3JpZ2luIHJl
ZGlyZWN0CitQQVNTIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgc2l6ZXMgcmVkaXJlY3QgaW1h
Z2UgLSBjcm9zcyBvcmlnaW4gcmVkaXJlY3QKK1BBU1MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
ZyBzaXplcyByZWRpcmVjdCBpbWFnZSAtIGNyb3NzIG9yaWdpbiB0byBzYW1lIG9yaWdpbiByZWRp
cmVjdAorUEFTUyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIHNpemVzIHJlZGlyZWN0IGltYWdl
IC0gc2FtZSBvcmlnaW4gdG8gcmVtb3RlIG9yaWdpbiB0byBzYW1lIG9yaWdpbiByZWRpcmVjdAor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC1pbWcuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLXJlZGly
ZWN0LWltZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc4NjAxOGQwYzQ2MzRjM2Q4YzZkZjJjNDAwM2IyMDFl
NmU0YmM0ZTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC1pbWcuaHRtbApA
QCAtMCwwICsxLDU3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0
LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2l6ZXMtaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVy
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFudHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKy8vIFJlZGlyZWN0cyBmb3IgZmV0Y2goKSBhbHdheXMg
YXBwbHkgQ09SUyBydWxlcywgd2hlcmVhcyBub3JtYWwgcmVzb3VyY2VzCisvLyBkb24ndCwgc28g
dGhpcyB0ZXN0IGNvdmVycyBleHRyYSBjb2RlIHBhdGhzIGJleW9uZCB0aG9zZSBjb3ZlcmVkIGJ5
CisvLyByZXNvdXJjZS10aW1pbmctc2l6ZXMtcmVkaXJlY3QuaHRtbC4KKworY29uc3QgYmFzZVVy
bCA9IG5ldyBVUkwoJy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL1RBT1Jlc3BvbnNlLnB5P3Rh
bz13aWxkY2FyZCZpbWc9dHJ1ZScsIGxvY2F0aW9uLmhyZWYpLmhyZWY7CisKK2NvbnN0IGV4cGVj
dGVkU2l6ZSA9IDEwMTA7CisKK2NvbnN0IGhvc3RJbmZvID0gZ2V0X2hvc3RfaW5mbygpOworCitj
b25zdCByZWRpcmVjdFVybCA9IChyZWRpcmVjdFNvdXJjZU9yaWdpbiwgdGFyZ2V0VXJsKSA9PiB7
CisgIHJldHVybiByZWRpcmVjdFNvdXJjZU9yaWdpbiArCisgICAgJy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL3JlZGlyZWN0LWNvcnMucHk/dGltaW5nX2FsbG93X29yaWdpbj0qJyArCisgICAg
JyZsb2NhdGlvbj0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHRhcmdldFVybCk7Cit9OworCitjb25z
dCB2ZXJpZnlfZW50cnkgPSBlbnRyeSA9PiB7CisgIGNoZWNrU2l6ZUZpZWxkcyhlbnRyeSwgZXhw
ZWN0ZWRTaXplLCBleHBlY3RlZFNpemUgKyBoZWFkZXJTaXplKTsKK307CisKK2F0dHJpYnV0ZV90
ZXN0KGxvYWQuaW1hZ2UsIGJhc2VVcmwsCisgIHZlcmlmeV9lbnRyeSwKKyAgIlBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcgc2l6ZXMgcmVkaXJlY3QgaW1hZ2UgLSBkaXJlY3QgVVJMIik7CisKK2F0
dHJpYnV0ZV90ZXN0KGxvYWQuaW1hZ2UsCisgIHJlZGlyZWN0VXJsKGhvc3RJbmZvLkhUVFBfT1JJ
R0lOLCBiYXNlVXJsKSwKKyAgdmVyaWZ5X2VudHJ5LAorICAiUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZyBzaXplcyByZWRpcmVjdCBpbWFnZSAtIHNhbWUgb3JpZ2luIHJlZGlyZWN0Iik7CisKK2F0
dHJpYnV0ZV90ZXN0KGxvYWQuaW1hZ2UsCisgIHJlZGlyZWN0VXJsKGhvc3RJbmZvLkhUVFBfUkVN
T1RFX09SSUdJTiwgYmFzZVVybCksCisgIHZlcmlmeV9lbnRyeSwKKyAgIlBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcgc2l6ZXMgcmVkaXJlY3QgaW1hZ2UgLSBjcm9zcyBvcmlnaW4gcmVkaXJlY3Qi
KTsKKworYXR0cmlidXRlX3Rlc3QobG9hZC5pbWFnZSwKKyAgcmVkaXJlY3RVcmwoaG9zdEluZm8u
SFRUUF9SRU1PVEVfT1JJR0lOLAorICAgIHJlZGlyZWN0VXJsKGhvc3RJbmZvLkhUVFBfT1JJR0lO
LCBiYXNlVXJsKSksCisgIHZlcmlmeV9lbnRyeSwKKyAgIlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcgc2l6ZXMgcmVkaXJlY3QgaW1hZ2UgLSBjcm9zcyBvcmlnaW4gdG8gc2FtZSBvcmlnaW4gcmVk
aXJlY3QiKTsKKworYXR0cmlidXRlX3Rlc3QobG9hZC5pbWFnZSwKKyAgcmVkaXJlY3RVcmwoaG9z
dEluZm8uSFRUUF9PUklHSU4sCisgICAgcmVkaXJlY3RVcmwoaG9zdEluZm8uSFRUUF9SRU1PVEVf
T1JJR0lOLAorICAgICAgcmVkaXJlY3RVcmwoaG9zdEluZm8uSFRUUF9PUklHSU4sCisgICAgICAg
IGJhc2VVcmwpKSksCisgIHZlcmlmeV9lbnRyeSwKKyAgIlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcgc2l6ZXMgcmVkaXJlY3QgaW1hZ2UgLSBzYW1lIG9yaWdpbiB0byByZW1vdGUgIiArCisgICJv
cmlnaW4gdG8gc2FtZSBvcmlnaW4gcmVkaXJlY3QiKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvc2l6ZXMtcmVkaXJlY3QuYW55LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3QuYW55LmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmU0ODNhNGQ0MDljNmMyZGVlZTczZmEyMTNkNjk4Yjk1Yjg2NWQwYzgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC5hbnkuanMKQEAgLTAsMCArMSw2MiBAQAorLy8g
TUVUQTogZ2xvYmFsPXdpbmRvdyx3b3JrZXIKKy8vIE1FVEE6IHNjcmlwdD0vY29tbW9uL2dldC1o
b3N0LWluZm8uc3ViLmpzCisvLyBNRVRBOiBzY3JpcHQ9L3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZXMvc2l6ZXMtaGVscGVyLmpzCisKK2NvbnN0IGJhc2VVcmwgPQorICBuZXcgVVJMKCcvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy9UQU9SZXNwb25zZS5weT90YW89d2lsZGNhcmQnLCBsb2NhdGlv
bi5ocmVmKS5ocmVmOworY29uc3QgZXhwZWN0ZWRTaXplID0gNDsKKworY29uc3QgaG9zdEluZm8g
PSBnZXRfaG9zdF9pbmZvKCk7CitwZXJmb3JtYW5jZS5jbGVhclJlc291cmNlVGltaW5ncygpOwor
Citjb25zdCBhY2N1bXVsYXRlRW50cnkgPSAoKSA9PiB7CisgIHJldHVybiBuZXcgUHJvbWlzZShy
ZXNvbHZlID0+IHsKKyAgICBjb25zdCBwbyA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGxpc3Qg
PT4geworICAgICAgcmVzb2x2ZShsaXN0KTsKKyAgICB9KTsKKyAgICBwby5vYnNlcnZlKHt0eXBl
OiAicmVzb3VyY2UiLCBidWZmZXJlZDogdHJ1ZX0pOworICB9KTsKK307CisKK2NvbnN0IGNoZWNr
UmVzb3VyY2VTaXplcyA9ICgpID0+IHsKKyAgY29uc3QgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdl
dEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7CisgIGZvciAobGV0IGVudHJ5IG9mIGVudHJpZXMp
IHsKKyAgICBjaGVja1NpemVGaWVsZHMoZW50cnksIGV4cGVjdGVkU2l6ZSwgZXhwZWN0ZWRTaXpl
ICsgaGVhZGVyU2l6ZSk7CisgIH0KK30KKworY29uc3QgcmVkaXJlY3RVcmwgPSAocmVkaXJlY3RT
b3VyY2VPcmlnaW4sIGFsbG93T3JpZ2luLCB0YXJnZXRVcmwpID0+IHsKKyAgcmV0dXJuIHJlZGly
ZWN0U291cmNlT3JpZ2luICsKKyAgICAnL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVkaXJl
Y3QtY29ycy5weT9hbGxvd19vcmlnaW49JyArCisgICAgZW5jb2RlVVJJQ29tcG9uZW50KGFsbG93
T3JpZ2luKSArCisgICAgJyZ0aW1pbmdfYWxsb3dfb3JpZ2luPSonICsKKyAgICAnJmxvY2F0aW9u
PScgKyBlbmNvZGVVUklDb21wb25lbnQodGFyZ2V0VXJsKTsKK30KKworcHJvbWlzZV90ZXN0KCgp
ID0+IHsKKyAgLy8gVXNlIGEgZGlmZmVyZW50IFVSTCBldmVyeSB0aW1lIHNvIHRoYXQgdGhlIGNh
Y2hlIGJlaGF2aW91ciBkb2VzIG5vdAorICAvLyBkZXBlbmQgb24gZXhlY3V0aW9uIG9yZGVyLgor
ICBjb25zdCBkaXJlY3RVcmwgPSBjYWNoZUJ1c3RVcmwoYmFzZVVybCk7CisgIGNvbnN0IHNhbWVP
cmlnaW5SZWRpcmVjdCA9IHJlZGlyZWN0VXJsKGhvc3RJbmZvLk9SSUdJTiwgJyonLCBkaXJlY3RV
cmwpOworICBjb25zdCBjcm9zc09yaWdpblJlZGlyZWN0ID0gcmVkaXJlY3RVcmwoaG9zdEluZm8u
UkVNT1RFX09SSUdJTiwKKyAgICBob3N0SW5mby5PUklHSU4sIGRpcmVjdFVybCk7CisgIGNvbnN0
IG1peGVkUmVkaXJlY3QgPSByZWRpcmVjdFVybChob3N0SW5mby5SRU1PVEVfT1JJR0lOLAorICAg
IGhvc3RJbmZvLk9SSUdJTiwgc2FtZU9yaWdpblJlZGlyZWN0KTsKKyAgY29uc3QgY29tcGxleFJl
ZGlyZWN0ID0gcmVkaXJlY3RVcmwoaG9zdEluZm8uT1JJR0lOLAorICAgIGhvc3RJbmZvLlJFTU9U
RV9PUklHSU4sIG1peGVkUmVkaXJlY3QpOworICBsZXQgZWF0Qm9keSA9IHJlc3BvbnNlID0+IHJl
c3BvbnNlLmFycmF5QnVmZmVyKCk7CisgIHJldHVybiBmZXRjaChkaXJlY3RVcmwpCisgICAgLnRo
ZW4oZWF0Qm9keSkKKyAgICAudGhlbigoKSA9PiBmZXRjaChzYW1lT3JpZ2luUmVkaXJlY3QpKQor
ICAgIC50aGVuKGVhdEJvZHkpCisgICAgLnRoZW4oKCkgPT4gZmV0Y2goY3Jvc3NPcmlnaW5SZWRp
cmVjdCkpCisgICAgLnRoZW4oZWF0Qm9keSkKKyAgICAudGhlbigoKSA9PiBmZXRjaChtaXhlZFJl
ZGlyZWN0KSkKKyAgICAudGhlbihlYXRCb2R5KQorICAgIC50aGVuKCgpID0+IGZldGNoKGNvbXBs
ZXhSZWRpcmVjdCkpCisgICAgLnRoZW4oZWF0Qm9keSkKKyAgICAudGhlbihhY2N1bXVsYXRlRW50
cnkpCisgICAgLnRoZW4oY2hlY2tSZXNvdXJjZVNpemVzKTsKK30sICdQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nIHNpemVzIEZldGNoIHdpdGggcmVkaXJlY3QgdGVzdCcpOworCitkb25lKCk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9zdGF0dXMtY29kZXMtY3JlYXRlLWVudHJ5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zdGF0dXMt
Y29kZXMtY3JlYXRlLWVudHJ5Lmh0bWwKaW5kZXggYzMxNTA1YTQ1MmRhNmI2YWYxNDZmZWJjZDE1
Y2E2MmZmMTg2YTc2Ny4uY2MwY2Q4Y2NiODgyNTAzMzExODZjMzg1NTRiMDlmZjg1MTVjYWNlZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvc3RhdHVzLWNvZGVzLWNyZWF0ZS1lbnRyeS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3N0
YXR1cy1jb2Rlcy1jcmVhdGUtZW50cnkuaHRtbApAQCAtMTgsMTMgKzE4LDE3IEBAIGFzeW5jX3Rl
c3QodCA9PiB7CiAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgdC5zdGVwX2Z1bmNf
ZG9uZSgoKSA9PiB7CiAgICAgY29uc3QgaW1hZ2VzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRh
Z05hbWUoImltZyIpOwogICAgIGZvciAobGV0IGltZyBvZiBpbWFnZXMpIHsKLSAgICAgIGFzc2Vy
dF9ncmVhdGVyX3RoYW4ocGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZShpbWcuc3JjKS5sZW5n
dGgsIDAsIGltZy5zcmMpOworICAgICAgY29uc3QgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVu
dHJpZXNCeU5hbWUoaW1nLnNyYyk7CisgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKGVudHJpZXMu
bGVuZ3RoLCAwLCBpbWcuc3JjKTsKKyAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oZW50cmllc1sw
XS5kdXJhdGlvbiwgMCwgaW1nLnNyYyk7CiAgICAgfQogICAgIGNvbnN0IHNjcmlwdHMgPSBkb2N1
bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0Iik7CiAgICAgbGV0IG5vU3JjU2NyaXB0
Rm91bmQgPSBmYWxzZTsKICAgICBmb3IgKGxldCBzY3JpcHQgb2Ygc2NyaXB0cykgewogICAgICAg
aWYgKHNjcmlwdC5zcmMpIHsKLSAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihwZXJmb3JtYW5j
ZS5nZXRFbnRyaWVzQnlOYW1lKHNjcmlwdC5zcmMpLmxlbmd0aCwgMCwgc2NyaXB0LnNyYyk7Cisg
ICAgICAgIGNvbnN0IGVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKHNjcmlw
dC5zcmMpOworICAgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKGVudHJpZXMubGVuZ3RoLCAwLCBz
Y3JpcHQuc3JjKTsKKyAgICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihlbnRyaWVzWzBdLmR1cmF0
aW9uLCAwLCBzY3JpcHQuc3JjKTsKICAgICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIElnbm9yZSB0
aGlzIHNjcmlwdCwgd2hpY2ggaGFzIG5vIHNyYyB2YWx1ZS4gVGhlcmUgc2hvdWxkIG9ubHkgYmUg
b25lIHN1Y2ggc2NyaXB0LgogICAgICAgICBhc3NlcnRfZmFsc2Uobm9TcmNTY3JpcHRGb3VuZCk7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy90ZXN0X3Jlc291cmNlX3RpbWluZy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy90
ZXN0X3Jlc291cmNlX3RpbWluZy1leHBlY3RlZC50eHQKaW5kZXggMjAwNDhhNThjYmZhYzI5Zjgx
ZjA0OWQ4NjhlMjY0NGE0ZTAwMzM3OS4uZDZjYzExZDE0MzNhNWY0NWFkOGYzZTMzZjA3YTc5ZGQ2
NmZlOTM2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90aW1pbmctZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Rlc3RfcmVzb3VyY2VfdGltaW5nLWV4cGVjdGVkLnR4dApAQCAtNiwyOCArNiwy
OCBAQCBOT1RFOiBEdWUgdG8gY2FjaGluZyBiZWhhdmlvciBpbiB0aGUgYnJvd3NlciwgaXQgaXMg
cG9zc2libGUgdGhhdCB3aGVuIHJldmlzaXRpbgogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0
RW50cmllc0J5TmFtZSgpIGFuZCB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZVR5
cGUoKSByZXR1cm4gc2FtZSBkYXRhIChpZnJhbWUpCiBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFz
IGNvcnJlY3QgbmFtZSwgaW5pdGlhdG9yVHlwZSwgc3RhcnRUaW1lLCBhbmQgZHVyYXRpb24gKGlm
cmFtZSkKIFBBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBvcmRlciBvZiB0aW1pbmcg
YXR0cmlidXRlcyAoaWZyYW1lKQotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5l
dHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAoaWZyYW1lKSBhc3NlcnRfZXF1YWxzOiBlbmNvZGVk
Qm9keVNpemUgc2l6ZSBleHBlY3RlZCAobnVtYmVyKSAyMTUgYnV0IGdvdCAodW5kZWZpbmVkKSB1
bmRlZmluZWQKLUZBSUwgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBwcm90b2NvbCBhdHRy
aWJ1dGUgKGlmcmFtZSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgcHJvdG9jb2wgZXhwZWN0ZWQg
KHN0cmluZykgImh0dHAvMS4xIiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorUEFTUyBQ
ZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAo
aWZyYW1lKQorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0dHJp
YnV0ZSAoaWZyYW1lKQogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgp
IGFuZCB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZVR5cGUoKSByZXR1cm4gc2Ft
ZSBkYXRhIChpbWcpCiBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmFtZSwgaW5p
dGlhdG9yVHlwZSwgc3RhcnRUaW1lLCBhbmQgZHVyYXRpb24gKGltZykKIFBBU1MgUGVyZm9ybWFu
Y2VFbnRyeSBoYXMgY29ycmVjdCBvcmRlciBvZiB0aW1pbmcgYXR0cmlidXRlcyAoaW1nKQotRkFJ
TCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRl
cyAoaW1nKSBhc3NlcnRfZXF1YWxzOiBlbmNvZGVkQm9keVNpemUgc2l6ZSBleHBlY3RlZCAobnVt
YmVyKSAyNDkgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgUGVyZm9ybWFuY2VF
bnRyeSBoYXMgY29ycmVjdCBwcm90b2NvbCBhdHRyaWJ1dGUgKGltZykgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgcHJvdG9jb2wgZXhwZWN0ZWQgKHN0cmluZykgImh0dHAvMS4xIiBidXQgZ290ICh1
bmRlZmluZWQpIHVuZGVmaW5lZAorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5l
dHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAoaW1nKQorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhh
cyBjb3JyZWN0IHByb3RvY29sIGF0dHJpYnV0ZSAoaW1nKQogUEFTUyB3aW5kb3cucGVyZm9ybWFu
Y2UuZ2V0RW50cmllc0J5TmFtZSgpIGFuZCB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5
TmFtZVR5cGUoKSByZXR1cm4gc2FtZSBkYXRhIChsaW5rKQogUEFTUyBQZXJmb3JtYW5jZUVudHJ5
IGhhcyBjb3JyZWN0IG5hbWUsIGluaXRpYXRvclR5cGUsIHN0YXJ0VGltZSwgYW5kIGR1cmF0aW9u
IChsaW5rKQogUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG9yZGVyIG9mIHRpbWlu
ZyBhdHRyaWJ1dGVzIChsaW5rKQotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5l
dHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAobGluaykgYXNzZXJ0X2VxdWFsczogZW5jb2RlZEJv
ZHlTaXplIHNpemUgZXhwZWN0ZWQgKG51bWJlcikgNDQgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRl
ZmluZWQKLUZBSUwgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBwcm90b2NvbCBhdHRyaWJ1
dGUgKGxpbmspIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIHByb3RvY29sIGV4cGVjdGVkIChzdHJp
bmcpICJodHRwLzEuMSIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKK1BBU1MgUGVyZm9y
bWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuZXR3b3JrIHRyYW5zZmVyIGF0dHJpYnV0ZXMgKGxpbmsp
CitQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgcHJvdG9jb2wgYXR0cmlidXRlIChs
aW5rKQogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgpIGFuZCB3aW5k
b3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZVR5cGUoKSByZXR1cm4gc2FtZSBkYXRhIChz
Y3JpcHQpCiBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmFtZSwgaW5pdGlhdG9y
VHlwZSwgc3RhcnRUaW1lLCBhbmQgZHVyYXRpb24gKHNjcmlwdCkKIFBBU1MgUGVyZm9ybWFuY2VF
bnRyeSBoYXMgY29ycmVjdCBvcmRlciBvZiB0aW1pbmcgYXR0cmlidXRlcyAoc2NyaXB0KQotRkFJ
TCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRl
cyAoc2NyaXB0KSBhc3NlcnRfZXF1YWxzOiBlbmNvZGVkQm9keVNpemUgc2l6ZSBleHBlY3RlZCAo
bnVtYmVyKSAxMzMgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgUGVyZm9ybWFu
Y2VFbnRyeSBoYXMgY29ycmVjdCBwcm90b2NvbCBhdHRyaWJ1dGUgKHNjcmlwdCkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgcHJvdG9jb2wgZXhwZWN0ZWQgKHN0cmluZykgImh0dHAvMS4xIiBidXQg
Z290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3Jy
ZWN0IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAoc2NyaXB0KQorUEFTUyBQZXJmb3JtYW5j
ZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0dHJpYnV0ZSAoc2NyaXB0KQogUEFTUyB3aW5k
b3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgpIGFuZCB3aW5kb3cucGVyZm9ybWFuY2Uu
Z2V0RW50cmllc0J5TmFtZVR5cGUoKSByZXR1cm4gc2FtZSBkYXRhICh4bWxodHRwcmVxdWVzdCkK
IFBBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuYW1lLCBpbml0aWF0b3JUeXBlLCBz
dGFydFRpbWUsIGFuZCBkdXJhdGlvbiAoeG1saHR0cHJlcXVlc3QpCiBQQVNTIFBlcmZvcm1hbmNl
RW50cnkgaGFzIGNvcnJlY3Qgb3JkZXIgb2YgdGltaW5nIGF0dHJpYnV0ZXMgKHhtbGh0dHByZXF1
ZXN0KQotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdvcmsgdHJhbnNmZXIg
YXR0cmlidXRlcyAoeG1saHR0cHJlcXVlc3QpIGFzc2VydF9lcXVhbHM6IGVuY29kZWRCb2R5U2l6
ZSBzaXplIGV4cGVjdGVkIChudW1iZXIpIDExMiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5l
ZAotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0dHJpYnV0ZSAo
eG1saHR0cHJlcXVlc3QpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIHByb3RvY29sIGV4cGVjdGVk
IChzdHJpbmcpICJodHRwLzEuMSIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKK1BBU1Mg
UGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuZXR3b3JrIHRyYW5zZmVyIGF0dHJpYnV0ZXMg
KHhtbGh0dHByZXF1ZXN0KQorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IHByb3Rv
Y29sIGF0dHJpYnV0ZSAoeG1saHR0cHJlcXVlc3QpCiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBS
ZXNvdXJjZSBUaW1pbmcgRW50cmllcyBleGlzdAogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgUmVz
b3VyY2UgVGltaW5nIEVudHJpZXMgZXhpc3QgMQogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgUmVz
b3VyY2UgVGltaW5nIEVudHJpZXMgZXhpc3QgMgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJj
ZV90aW1pbmcuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90aW1pbmcuaHR0
cHMtZXhwZWN0ZWQudHh0CmluZGV4IGNlYTBmMWNiMmFhYjllY2U0OTJlZjNiZGY0Mzc0MTIyZDU1
Mjk3NDAuLmQ2Y2MxMWQxNDMzYTVmNDVhZDhmM2UzM2YwN2E3OWRkNjZmZTkzNmIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL3Rlc3RfcmVzb3VyY2VfdGltaW5nLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy90
ZXN0X3Jlc291cmNlX3RpbWluZy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTI2LDcgKzI2LDcgQEAg
UEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0dHJpYnV0ZSAoc2Ny
aXB0KQogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSgpIGFuZCB3aW5k
b3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZVR5cGUoKSByZXR1cm4gc2FtZSBkYXRhICh4
bWxodHRwcmVxdWVzdCkKIFBBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuYW1lLCBp
bml0aWF0b3JUeXBlLCBzdGFydFRpbWUsIGFuZCBkdXJhdGlvbiAoeG1saHR0cHJlcXVlc3QpCiBQ
QVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3Qgb3JkZXIgb2YgdGltaW5nIGF0dHJpYnV0
ZXMgKHhtbGh0dHByZXF1ZXN0KQotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5l
dHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAoeG1saHR0cHJlcXVlc3QpIGFzc2VydF9lcXVhbHM6
IGVuY29kZWRCb2R5U2l6ZSBzaXplIGV4cGVjdGVkIDExMiBidXQgZ290IDEyMAorUEFTUyBQZXJm
b3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAoeG1s
aHR0cHJlcXVlc3QpCiBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgcHJvdG9jb2wg
YXR0cmlidXRlICh4bWxodHRwcmVxdWVzdCkKIFBBU1Mgd2luZG93LnBlcmZvcm1hbmNlIFJlc291
cmNlIFRpbWluZyBFbnRyaWVzIGV4aXN0CiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBSZXNvdXJj
ZSBUaW1pbmcgRW50cmllcyBleGlzdCAxCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy93b3JrZXJTdGFydC10YW8t
cHJvdGVjdGVkLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy93b3JrZXJTdGFydC10YW8tcHJvdGVjdGVkLmh0dHBz
Lmh0bWwKaW5kZXggZjliNTBmNzAzNjBkZDZlMDk5MDhiYzJkODFkZmYxMzczNWFhZDIzNi4uNDg1
NmY0NjdmMTZmNmUzODIxZDQ4ZWE3NTQyZDE1NGIzZGU1M2JkNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvd29y
a2VyU3RhcnQtdGFvLXByb3RlY3RlZC5odHRwcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3dvcmtlclN0YXJ0LXRh
by1wcm90ZWN0ZWQuaHR0cHMuaHRtbApAQCAtNDAsNyArNDAsNyBAQCBwcm9taXNlX3Rlc3QodCA9
PiB7CiAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihsaXN0ID0+
IHsKICAgICAgIGNvbnN0IGVudHJpZXMgPSBsaXN0LmdldEVudHJpZXMoKTsKICAgICAgIGZvciAo
ZW50cnkgb2YgZW50cmllcykgewotICAgICAgICBpZiAoZW50cnkubmFtZS5pbmNsdWRlcygiYmxh
bmtfcGFnZV9ncmVlbi5odG0iKSkgeworICAgICAgICBpZiAoZW50cnkubmFtZS5pbmNsdWRlcygi
Z3JlZW4uaHRtbCIpKSB7CiAgICAgICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpOwogICAgICAg
ICAgIC8vIE9ic2VydmUgaXRzIHBlcmZvcm1hbmNlIGVudHJ5IHRvIG1ha2Ugc3VyZSB3b3JrZXJT
dGFydCBpcyB6ZXJvCiAgICAgICAgICAgaWYgKGVudHJ5LndvcmtlclN0YXJ0ICE9IDApIHsKQEAg
LTUxLDcgKzUxLDcgQEAgcHJvbWlzZV90ZXN0KHQgPT4gewogICAgICAgfQogICAgIH0pOwogICAg
IG9ic2VydmVyLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsicmVzb3VyY2UiXX0pOwotICAgIGFkZEZy
YW1lKGhvc3RfaW5mby5IVFRQU19SRU1PVEVfT1JJR0lOICsgIi9yZXNvdXJjZS10aW1pbmcvcmVz
b3VyY2VzL2JsYW5rX3BhZ2VfZ3JlZW4uaHRtIik7CisgICAgYWRkRnJhbWUoaG9zdF9pbmZvLkhU
VFBTX1JFTU9URV9PUklHSU4gKyAiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4uaHRt
bCIpOwogICB9KTsKIH0sICJBZGQgVEFPLWxlc3MgaWZyYW1lIHRvIHJlbW90ZSBvcmlnaW4uIE1h
a2Ugc3VyZSB3b3JrZXJTdGFydCBpcyB6ZXJvIik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9uYXZpZ2F0
aW9uLXRpbWluZy9uYXYyX3Rlc3RfYXR0cmlidXRlc192YWx1ZXMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L25hdmlnYXRpb24tdGltaW5nL25hdjJfdGVzdF9hdHRyaWJ1dGVzX3ZhbHVlcy1leHBlY3RlZC50
eHQKaW5kZXggOTk4ZDRlZDNjZTE4NGM2OGQzMzE4NjEzZjhkMjBmZTI3MmQ1MmUzOS4uOWUxYmE0
ZmYwMTFhNmRhYTBhMGI0YzM4MDI4ZWFlODMxZjg1ZDlkZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL25hdmln
YXRpb24tdGltaW5nL25hdjJfdGVzdF9hdHRyaWJ1dGVzX3ZhbHVlcy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL25hdmlnYXRpb24tdGltaW5nL25hdjJfdGVzdF9hdHRyaWJ1dGVzX3ZhbHVlcy1leHBl
Y3RlZC50eHQKQEAgLTMsNSArMyw1IEBAIERlc2NyaXB0aW9uCiBUaGlzIHRlc3QgdmFsaWRhdGVz
IHRoYXQgdGhlIHZhbHVlcyBvZiBuYXYgdGltaW5nIDIgaW5zdGFuY2UncyB0aW1pbmctcmVsYXRl
ZCBhdHRyaWJ1dGVzIGFyZSBpbiBjZXJ0YWluIG9yZGVyIGFuZCB0aGUgb3RoZXJzIGFyZSBvZiBl
eHBlY3RlZCB2YWx1ZXMuCiAKIAotRkFJTCBQZXJmb3JtYW5jZSBuYXZpZ2F0aW9uIHRpbWluZyBp
bnN0YW5jZSdzIHZhbHVlIGlzIHJlYXNvbmFibGUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJo
dHRwLzEuMSIgYnV0IGdvdCAiIgorRkFJTCBQZXJmb3JtYW5jZSBuYXZpZ2F0aW9uIHRpbWluZyBp
bnN0YW5jZSdzIHZhbHVlIGlzIHJlYXNvbmFibGUuIGFzc2VydF9ncmVhdGVyX3RoYW46IEV4cGVj
dGVkIGRvbUludGVyYWN0aXZlIHRvIGJlIGdyZWF0ZXIgdGhhbiAwIGV4cGVjdGVkIGEgbnVtYmVy
IGdyZWF0ZXIgdGhhbiAwIGJ1dCBnb3QgMAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL25leHRIb3BQcm90b2NvbC10YW8tcHJvdGVjdGVkLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvbmV4dEhvcFByb3RvY29sLXRhby1wcm90ZWN0ZWQuaHR0cHMtZXhw
ZWN0ZWQudHh0CmluZGV4IDhjODIyOWI1NTUwOTYxOWM1ODRjNGExNDZkNDM2YzllN2RmOWE5ZmUu
LjJlZWY1NTVhMWViY2Y3MzRiNmE2Yjc0NDllNTU4ZTAyZTE3YWE2OTkgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvbmV4dEhvcFByb3RvY29sLXRhby1wcm90ZWN0ZWQuaHR0cHMtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvbmV4dEhvcFByb3RvY29sLXRhby1w
cm90ZWN0ZWQuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogCiAKLVBBU1MgQWRk
IFRBTy1sZXNzIGlmcmFtZSB0byByZW1vdGUgb3JpZ2luLiBNYWtlIHN1cmUgbmV4dEhvcFByb3Rv
Y29sIGlzIHRoZSBlbXB0eSBzdHJpbmcKLUZBSUwgQWRkIFRBTyBpZnJhbWUgdG8gcmVtb3RlIG9y
aWdpbi4gTWFrZSBzdXJlIG5leHRIb3BQcm90b2NvbCBpcyBub3QgdGhlIGVtcHR5IHN0cmluZyBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIm5leHRIb3BQcm90
b2NvbCBzaG91bGQgbm90IGJlIHRoZSBlbXB0eSBzdHJpbmciCitGQUlMIEFkZCBUQU8tbGVzcyBp
ZnJhbWUgdG8gcmVtb3RlIG9yaWdpbi4gTWFrZSBzdXJlIG5leHRIb3BQcm90b2NvbCBpcyB0aGUg
ZW1wdHkgc3RyaW5nIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiAibmV4dEhvcFByb3RvY29sIHNob3VsZCBiZSB0aGUgZW1wdHkgc3RyaW5nIgorUEFTUyBBZGQg
VEFPIGlmcmFtZSB0byByZW1vdGUgb3JpZ2luLiBNYWtlIHN1cmUgbmV4dEhvcFByb3RvY29sIGlz
IG5vdCB0aGUgZW1wdHkgc3RyaW5nCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
cmVkaXJlY3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVkaXJlY3RzLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMWViNTQ2MWQzNDBhM2YwYzJlODIyNzU0MGYxYWQxYjA5
YWE1MmIxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZWRpcmVjdHMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2
YWxpZGF0ZXMgdGhhdCwgd2hlbiBhIGZldGNoaW5nIHJlc291cmNlcyB0aGF0IGVuY291bnRlciBz
YW1lLW9yaWdpbiByZWRpcmVjdHMsIGF0dHJpYnV0ZXMgb2YgdGhlIFBlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmcgZW50cnkgY29uZm9ybSB0byB0aGUgc3BlY2lmaWNhdGlvbi4KKworCitQQVNTIFZl
cmlmeSBhdHRyaWJ1dGVzIG9mIGEgcmVkaXJlY3RlZCBzdHlsZXNoZWV0J3MgUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZworUEFTUyBWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgaW1h
Z2UncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nCitQQVNTIFZlcmlmeSBhdHRyaWJ1dGVzIG9m
IGEgcmVkaXJlY3RlZCBpZnJhbWUncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nCitQQVNTIFZl
cmlmeSBhdHRyaWJ1dGVzIG9mIGEgcmVkaXJlY3RlZCBzY3JpcHQncyBQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nCitGQUlMIFZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEgcmVkaXJlY3RlZCBzeW5jaHJv
bm91cyBYTUxIdHRwUmVxdWVzdCdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgYXNzZXJ0X2dy
ZWF0ZXJfdGhhbjogcmVkaXJlY3RTdGFydCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIDAgZXhwZWN0
ZWQgYSBudW1iZXIgZ3JlYXRlciB0aGFuIDAgYnV0IGdvdCAwCitGQUlMIFZlcmlmeSBhdHRyaWJ1
dGVzIG9mIGEgc3luY2hyb25vdXMgWE1MSHR0cFJlcXVlc3QncyBQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nIHdoZXJlIHRoZSBpbml0aWFsIEhUVFAgcmVxdWVzdCBpcyByZWRpcmVjdGVkIHRvIGEg
Y3Jvc3Mtb3JpZ2luIEhUVFBTIHJlc291cmNlLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOZXR3b3JrRXJyb3I6ICBBIG5ldHdvcmsgZXJyb3Ig
b2NjdXJyZWQuIgorCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430974</attachid>
            <date>2021-06-09 10:18:26 -0700</date>
            <delta_ts>2021-06-10 10:27:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226678-20210609101825.patch</filename>
            <type>text/plain</type>
            <size>256650</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NDc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTVhMGRiNTc5YmRmYzM2
NmMwMzY3ZmVjZGRlZWVmNzc1YWU5NDM3YS4uNzY1YTg4MTJiMDUyMWM5ZGFmY2VlNTkxYTk1YzE1
MDk5NmZlZTk1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMCBAQAorMjAyMS0wNi0wNCAgQWxl
eCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUg
VGltaW5nLUFsbG93LU9yaWdpbiBjaGVja3MgdG8gdGhlIG5ldHdvcmsgcHJvY2VzcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2Njc4CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS80NTIyNzc4OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXZSB0cmllZCBoYXJkIHRvIGRvIGl0IGluIHRoZSB3ZWIgcHJv
Y2VzcyBieSBrZWVwaW5nIHRyYWNrIG9mIHdoZXRoZXIgdGhlIGxhc3QgcmVkaXJlY3Qgd2FzIGNy
b3NzLW9yaWdpbgorICAgICAgICBhbmQgY2hlY2tpbmcgdGhlIGZpbmFsIHJlc3BvbnNlIGFuZCBv
cmlnaW5hbCBzZWN1cml0eSBvcmlnaW4uICBXZSBnb3QgbWFueSB0ZXN0cyB0byBwYXNzLCBidXQg
dG8gZ2V0IHRoZSByZXN0CisgICAgICAgIGFuZCBiZSBjb3JyZWN0LCB3ZSBuZWVkIHRvIGNoZWNr
IHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRlciBmaWVsZCBvZiBlYWNoIHJlZGlyZWN0IGFn
YWluc3QgdGhlIG9yaWdpbmFsIHNlY3VyaXR5IG9yaWdpbi4KKworICAgICAgICBUZXN0czogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU08tWE8tU08tcmVk
aXJlY3QtY2hhaW4tdGFvLmh0dHBzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1tYXRjaC5odG1sCisgICAgICAg
ICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9U
QU8tbnVsbC1vcGFxdWUtb3JpZ2luLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5z
LWNyb3Nzb3JpZ2luLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29u
bmVjdGlvbi1yZXVzZS5odHRwcy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhcnQtZW5kLXRp
bWUtd2l0aC1yZWRpcmVjdHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC1v
cGVuZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvZW50cnktYXR0cmlidXRlcy5odG1sCisgICAgICAgICAgICAgICBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mZXRjaC1jcm9z
cy1vcmlnaW4tcmVkaXJlY3QuaHR0cHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZm9udC10aW1lc3RhbXBzLmh0bWwK
KyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2lmcmFtZS1mYWlsZWQtY29tbWl0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2luaXRpYXRvci10eXBlLWZv
ci1zY3JpcHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvbmV4dEhvcFByb3RvY29sLWlzLXRhby1wcm90ZWN0ZWQuaHR0
cHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1UQU8tY3Jvc3Mtb3JpZ2luLXJl
ZGlyZWN0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItY3Jvc3Mtb3JpZ2luLXJl
ZGlyZWN0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3JlZGlyZWN0cy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25vcmUt
ZGF0YS11cmwuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfY2FjaGVkLmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
X3RpbWluZ19jb250ZW50X2xlbmd0aC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zYW1lLW9yaWdpbi1mcm9tLWNyb3Nz
LW9yaWdpbi1yZWRpcmVjdC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC1pbWcuaHRtbAorCisg
ICAgICAgICogSGVhZGVycy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogbG9hZGVyL1Jl
c291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjpzdGFy
dCk6CisgICAgICAgIEdldCBhIFNlY3VyaXR5T3JpZ2luIGZvciBvdXIgV2ViS2l0TGVnYWN5IFJl
c291cmNlSGFuZGxlIHVzZSBsaWtlIHdlIGRvIGluIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVs
ZUxvYWRGcm9tTmV0d29ya1Byb2Nlc3MKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VUaW1pbmcu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VUaW1pbmc6OlJlc291cmNlVGltaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlVGltaW5nOjppbml0U2VydmVyVGltaW5nKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlVGltaW5nOjppc29sYXRlZENvcHkgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6cGFzc2VzVGltaW5nQWxsb3dDaGVjayk6IERlbGV0ZWQuCisgICAgICAg
ICogbG9hZGVyL1Jlc291cmNlVGltaW5nLmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVRp
bWluZzo6bmV0d29ya0xvYWRNZXRyaWNzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlVGltaW5nOjpSZXNvdXJjZVRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVRp
bWluZzo6YWxsb3dUaW1pbmdEZXRhaWxzIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKCk6IERl
bGV0ZWQuCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpyZWRpcmVjdENvdW50IGNvbnN0KToK
KyAgICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmc6OnNhbWVPcmlnaW5DaGVja0Zh
aWxzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWlu
Zzo6cmVkaXJlY3RDb3VudCBjb25zdCk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmVudHJ5U3RhcnRUaW1lKToKKyAgICAg
ICAgKFdlYkNvcmU6OmVudHJ5RW5kVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlZGlyZWN0RW5kIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmRvbWFpbkxvb2t1cFN0YXJ0IGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmRvbWFp
bkxvb2t1cEVuZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nOjpjb25uZWN0U3RhcnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdEVuZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpzZWN1cmVDb25uZWN0aW9uU3RhcnQgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVxdWVzdFN0YXJ0
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJl
c3BvbnNlU3RhcnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZzo6dHJhbnNmZXJTaXplIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmc6OmVuY29kZWRCb2R5U2l6ZSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkZWNvZGVkQm9keVNpemUgY29uc3QpOgor
ICAgICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UGVyZm9ybWFuY2VUaW1pbmc6OnVubG9hZEV2ZW50U3RhcnQgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6UGVyZm9ybWFuY2VUaW1pbmc6OnVubG9hZEV2ZW50RW5kIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0IGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpyZWRpcmVjdEVuZCBjb25zdCk6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VIYW5kbGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6QmxvYlJlc291cmNlSGFuZGxlOjpCbG9iUmVzb3VyY2VIYW5kbGUpOgorICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmg6CisgICAgICAgIChXZWJD
b3JlOjpOZXR3b3JrTG9hZE1ldHJpY3M6Omlzb2xhdGVkQ29weSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpOZXR3b3JrTG9hZE1ldHJpY3M6Om9wZXJhdG9yPT0gY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TmV0d29ya0xvYWRNZXRyaWNzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TmV0d29ya0xvYWRNZXRyaWNzOjpkZWNvZGUpOgorICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5k
bGU6OlJlc291cmNlSGFuZGxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmxvYWRSZXNvdXJjZVN5
bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmlzQ3Jvc3NP
cmlnaW5XaXRob3V0VEFPIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxl
OjptYXJrQXNDcm9zc09yaWdpbldpdGhvdXRUQU8pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3Vy
Y2VIYW5kbGU6OnNvdXJjZU9yaWdpbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJj
ZUhhbmRsZTo6aGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6c2V0SGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCk6IERl
bGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGVJbnRlcm5hbDo6UmVzb3VyY2VIYW5kbGVJbnRlcm5h
bCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5jcHA6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6cGFzc2VzVGltaW5nQWxsb3dPcmlnaW5DaGVjayk6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5oOiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtMb2FkTWV0cmljcy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OnBhY2thZ2VUaW1pbmdEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OmNv
cHlUaW1pbmdEYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhh
bmRsZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpwbGF0Zm9ybUxv
YWRSZXNvdXJjZVN5bmNocm9ub3VzbHkpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFj
L1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5tbToKKyAgICAg
ICAgKC1bV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlIGNvbm5l
Y3Rpb246d2lsbFNlbmRSZXF1ZXN0OnJlZGlyZWN0UmVzcG9uc2U6XSk6CisgICAgICAgICgtW1dl
YkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSBjb25uZWN0aW9uOmRp
ZFJlY2VpdmVSZXNwb25zZTpdKToKKwogMjAyMS0wNi0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFj
aHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEltcGxlbWVudCBvZmYtYnktZGVmYXVs
dCBleHBlcmltZW50YWwgZmVhdHVyZSBmb3IgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy50cmFu
c2ZlclNpemUsIGVuY29kZWRCb2R5U2l6ZSwgYW5kIGRlY29kZWRCb2R5U2l6ZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCAyYzdkZmFjZGJmY2M3OWVlYjdmZDc3N2ZmZGUyOWNjZTUwYzE5NDRmLi4yMWVjYTllMzZkZWY2
OGU4YTllMThmOGIyZGY5YjY0MDBiYmQ4NjczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisy
MDIxLTA2LTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgTW92ZSBUaW1pbmctQWxsb3ctT3JpZ2luIGNoZWNrcyB0byB0aGUgbmV0d29yayBw
cm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjY2NzgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ1MjI3Nzg4PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29y
a0xvYWRQYXJhbWV0ZXJzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZFBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVz
b3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpzZW5kUmVwbHlUb1N5bmNocm9ub3Vz
UmVxdWVzdCk6CisgICAgICAgIFBhc3MgY29tcGxldGUgbWV0cmljcyB3aXRoIHN5bmMgeGhyIHJl
c3BvbnNlcy4gIE1hbnkgb2YgdGhlIHRlc3RzIHVzZSBzeW5jIHhoci4KKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRGYWlsTG9hZGluZyk6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkUmV0cmlldmVDYWNoZUVudHJ5KToKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5oOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6TmV0d29ya0RhdGFUYXNrQ29jb2Ep
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6d2lsbFBlcmZvcm1IVFRQ
UmVkaXJlY3Rpb24pOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNz
aW9uQ29jb2EubW06CisgICAgICAgICgtW1dLTmV0d29ya1Nlc3Npb25EZWxlZ2F0ZSBVUkxTZXNz
aW9uOnRhc2s6d2lsbFBlcmZvcm1IVFRQUmVkaXJlY3Rpb246bmV3UmVxdWVzdDpjb21wbGV0aW9u
SGFuZGxlcjpdKToKKyAgICAgICAgKC1bV0tOZXR3b3JrU2Vzc2lvbkRlbGVnYXRlIFVSTFNlc3Np
b246ZGF0YVRhc2s6ZGlkUmVjZWl2ZVJlc3BvbnNlOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorCiAy
MDIxLTA2LTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgSW1wbGVtZW50IG9mZi1ieS1kZWZhdWx0IGV4cGVyaW1lbnRhbCBmZWF0dXJlIGZv
ciBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLnRyYW5zZmVyU2l6ZSwgZW5jb2RlZEJvZHlTaXpl
LCBhbmQgZGVjb2RlZEJvZHlTaXplCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCmluZGV4IGVkMTUzNWJkMDli
ZDQzOWU3Y2NiNDVlYzhmZDRiNTgzNTkwNDQ1ZjcuLmRmYTJiM2NiN2Y3OGU3ZTAzZWQ1NjI1N2M4
NmE5ZTgzMWYyZGU3NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MjEtMDYtMDQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKwor
ICAgICAgICBNb3ZlIFRpbWluZy1BbGxvdy1PcmlnaW4gY2hlY2tzIHRvIHRoZSBuZXR3b3JrIHBy
b2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
NjY3OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDUyMjc3ODg+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QaW5nSGFu
ZGxlLmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVy
LmNwcDoKKyAgICAgICAgKFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjo6bG9hZFJlc291cmNlU3lu
Y2hyb25vdXNseSk6CisKIDIwMjEtMDUtMzAgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29t
PgogCiAgICAgICAgIFJlbW92ZSBzb21lIG9mIHRoZSB1bm5lZWRlZCBXZWJLaXRMZWdhY3kgV2lu
ZG93cy1zcGVjaWZpYyBwbHVnLWluIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hl
YWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IDU1NDZjNGQz
ZTYzNmYzNjYwOWM0MTg5MDg4MmY0MTZjN2EwZWFhMTcuLjdiOTNlYzhhYzNkNGI3NzZmNDYxNTVh
MTI4MTIyYWYxZTdiOGZkN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21h
a2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMTQ4Miw2ICsxNDgyLDcg
QEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIHBsYXRmb3JtL25l
dHdvcmsvU3RvcmFnZVNlc3Npb25Qcm92aWRlci5oCiAgICAgcGxhdGZvcm0vbmV0d29yay9TdG9y
ZWRDcmVkZW50aWFsc1BvbGljeS5oCiAgICAgcGxhdGZvcm0vbmV0d29yay9TeW5jaHJvbm91c0xv
YWRlckNsaWVudC5oCisgICAgcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5oCiAK
ICAgICBwbGF0Zm9ybS9zcWwvU1FMVmFsdWUuaAogICAgIHBsYXRmb3JtL3NxbC9TUUxpdGVEYXRh
YmFzZS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IGI0YTMwMzRkZDZjOTQwM2EzMTA4MDNmYzhkZDVjNDAw
ZGM3Yzc4ZTUuLjNmYWI0NTM3MWU3ZjljMzE1ZWY5Yzg0YWE1ZTg1NTExZTU4ZTEyMWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CkBAIC0yMTkxLDYgKzIxOTEsNyBAQCBwbGF0Zm9ybS9uZXR3b3JrL1NhbWVTaXRl
SW5mby5jcHAKIHBsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFtSGFuZGxlLmNwcAogcGxhdGZv
cm0vbmV0d29yay9Tb2NrZXRTdHJlYW1IYW5kbGVJbXBsLmNwcAogcGxhdGZvcm0vbmV0d29yay9T
eW5jaHJvbm91c0xvYWRlckNsaWVudC5jcHAKK3BsYXRmb3JtL25ldHdvcmsvVGltaW5nQWxsb3dP
cmlnaW4uY3BwCiBwbGF0Zm9ybS9zcWwvU1FMaXRlQXV0aG9yaXplci5jcHAKIHBsYXRmb3JtL3Nx
bC9TUUxpdGVEYXRhYmFzZS5jcHAKIHBsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZVRyYWNrZXIu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggNDZmMjY4Mjg0OGIwZTU5NzYyNzE1YWMyMDJiNTE1ZTRmMzMzNDEzZC4uMzMwZTk3
NmVmNmM4NjVkNDdhZDE5ODI1NTQ4ZTFmYWFjMzU1NmEzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTk5Nyw2ICsxOTk3LDcg
QEAKIAkJNUNCMzdGRkYxQzYyRDJBMTAwRjIwMTg4IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNCMzdGRkQxQzYy
RDI3ODAwRjIwMTg4IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5oICovOyB9OwogCQk1Q0JDOERBRDFB
QUEzMDIyMDBFMUM4MDMgLyogTWVkaWFBY2Nlc3NpYmlsaXR5U29mdExpbmsuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQkM4REFCMUFBQTMwMjIwMEUx
QzgwMyAvKiBNZWRpYUFjY2Vzc2liaWxpdHlTb2Z0TGluay5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTVDQkQ1OTU5MjI4MEU5MjYwMDJCMjJBQSAv
KiBDdXN0b21IZWFkZXJGaWVsZHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNUM1RDIzODYyMjdBMDc3QzAwMEI5QkRBIC8qIEN1c3RvbUhlYWRlckZp
ZWxkcy5jcHAgKi87IH07CisJCTVDQzc5MDBFMjY2QUZBODkwMDY5MjRGRSAvKiBUaW1pbmdBbGxv
d09yaWdpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NUNDNzkwMEIyNjZBRkE4ODAwNjkyNEZFIC8qIFRpbWluZ0FsbG93T3JpZ2luLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNUNDQzI3MDkyMkQ1NDgz
QTAwOTY0RkEwIC8qIEF1dG9maWxsRWxlbWVudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQ0MyNzA2MjJENTNCNjgwMDk2NEZBMCAvKiBBdXRvZmls
bEVsZW1lbnRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNUNEOUY1NjYxQUEwRjczQzAwREE0NUZGIC8qIERGQUJ5dGVjb2RlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1QzM5MzA1RDFBQTBGNkE5MDAy
OUM4MTYgLyogREZBQnl0ZWNvZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk1Q0Q5RjU2NzFBQTBGNzQyMDBEQTQ1RkYgLyogREZBQnl0ZWNvZGVD
b21waWxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NUMzOTMwNUYxQUEwRjZBOTAwMjlDODE2IC8qIERGQUJ5dGVjb2RlQ29tcGlsZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTcwOCw2ICs5NzA5
LDggQEAKIAkJNUNCMzdGRkQxQzYyRDI3ODAwRjIwMTg4IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxBbmltYXRvck1vY2suaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNCQzhEQUExQUFBMzAyMjAwRTFDODAzIC8q
IE1lZGlhQWNjZXNzaWJpbGl0eVNvZnRMaW5rLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IE1lZGlhQWNjZXNzaWJpbGl0eVNvZnRMaW5rLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNUNCQzhEQUIxQUFBMzAyMjAwRTFDODAzIC8qIE1lZGlhQWNjZXNz
aWJpbGl0eVNvZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlh
QWNjZXNzaWJpbGl0eVNvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVD
Qzc5MDBCMjY2QUZBODgwMDY5MjRGRSAvKiBUaW1pbmdBbGxvd09yaWdpbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBUaW1pbmdBbGxvd09yaWdpbi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1Q0M3OTAwRDI2NkFGQTg5MDA2OTI0RkUgLyogVGltaW5nQWxsb3dP
cmlnaW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGltaW5nQWxs
b3dPcmlnaW4uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0NDMjcwNjIyRDUz
QjY4MDA5NjRGQTAgLyogQXV0b2ZpbGxFbGVtZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBBdXRvZmlsbEVsZW1lbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTVDQ0MyNzA3MjJENTNCNjkwMDk2NEZBMCAvKiBBdXRvZmlsbEVsZW1lbnRzLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEF1dG9maWxsRWxlbWVudHMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0RDRERCRjIzRDdCN0JFMDBCQTM0QTEgLyog
Q29udGVudEZpbHRlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
b250ZW50RmlsdGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjIx
OSw2ICsyMjIyMiw4IEBACiAJCQkJNDY4MkQxRkYxRjc5NzgyMzAwQzg2M0RCIC8qIFN0b3JlZENy
ZWRlbnRpYWxzUG9saWN5LmggKi8sCiAJCQkJRTE4MDgxMTAxNkZDRjQyRTAwQjgwRDA3IC8qIFN5
bmNocm9ub3VzTG9hZGVyQ2xpZW50LmNwcCAqLywKIAkJCQlFMTgwODExNTE2RkNGOUNCMDBCODBE
MDcgLyogU3luY2hyb25vdXNMb2FkZXJDbGllbnQuaCAqLywKKwkJCQk1Q0M3OTAwRDI2NkFGQTg5
MDA2OTI0RkUgLyogVGltaW5nQWxsb3dPcmlnaW4uY3BwICovLAorCQkJCTVDQzc5MDBCMjY2QUZB
ODgwMDY5MjRGRSAvKiBUaW1pbmdBbGxvd09yaWdpbi5oICovLAogCQkJKTsKIAkJCXBhdGggPSBu
ZXR3b3JrOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTM1NzU3LDYgKzM1NzYyLDcg
QEAKIAkJCQk5MzA1QjI0RDA5OEYxQjZCMDBDMjg4NTUgLyogVGltZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCUU0NDYxM0IwMENENjMzMTAwMEZBREE3NSAvKiBUaW1lUmFuZ2VzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkyRDdFRDBBQjFCQUU5OTE3MDA0M0IzRTUgLyogVGltZXJFdmVudEJhc2VkTW9j
ay5oIGluIEhlYWRlcnMgKi8sCisJCQkJNUNDNzkwMEUyNjZBRkE4OTAwNjkyNEZFIC8qIFRpbWlu
Z0FsbG93T3JpZ2luLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5MTJBRTBFRkFDOTA2MDA5RDBD
QUYgLyogVGltaW5nRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNTRERDA4MTg4MUQ1
RjUwMDNFRURCQiAvKiBUb3VjaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzFCN0VFMEQyMUI1QzY4
NzAwMzFDMUVGIC8qIFRvdWNoQWN0aW9uLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDUzNTM5ZmI2N2RlMWY1ZjE2Mjg0MjlkYjNm
MWFiMmY1M2NlZGQ2NzIuLjUwYmFmOWFiZTg1OWQ5OGQ0YTRkZmVmMTNlMjdkZDNkMzE4NjU5ZTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcApAQCAtNTEsNiArNTEs
NyBAQAogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmln
aW4uaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKKyNpbmNsdWRlICJTdWJyZXNvdXJjZUxv
YWRlci5oIgogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0
Zi9SZWYuaD4KIApAQCAtMjQxLDcgKzI0MiwxNSBAQCB2b2lkIFJlc291cmNlTG9hZGVyOjpzdGFy
dCgpCiAgICAgfQogI2VuZGlmCiAKLSAgICBtX2hhbmRsZSA9IFJlc291cmNlSGFuZGxlOjpjcmVh
dGUoZnJhbWVMb2FkZXIoKS0+bmV0d29ya2luZ0NvbnRleHQoKSwgbV9yZXF1ZXN0LCB0aGlzLCBt
X2RlZmVyc0xvYWRpbmcsIG1fb3B0aW9ucy5zbmlmZkNvbnRlbnQgPT0gQ29udGVudFNuaWZmaW5n
UG9saWN5OjpTbmlmZkNvbnRlbnQsIG1fb3B0aW9ucy5zbmlmZkNvbnRlbnRFbmNvZGluZyA9PSBD
b250ZW50RW5jb2RpbmdTbmlmZmluZ1BvbGljeTo6U25pZmYpOworICAgIFJlZlB0cjxTZWN1cml0
eU9yaWdpbj4gc291cmNlT3JpZ2luID0gaXM8U3VicmVzb3VyY2VMb2FkZXI+KCp0aGlzKSA/IGRv
d25jYXN0PFN1YnJlc291cmNlTG9hZGVyPigqdGhpcykub3JpZ2luKCkgOiBudWxscHRyOworICAg
IGlmICghc291cmNlT3JpZ2luICYmIGZyYW1lTG9hZGVyKCkpIHsKKyAgICAgICAgYXV0byogZG9j
dW1lbnQgPSBmcmFtZUxvYWRlcigpLT5mcmFtZSgpLmRvY3VtZW50KCk7CisgICAgICAgIHNvdXJj
ZU9yaWdpbiA9ICBkb2N1bWVudCA/ICZkb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKSA6IG51bGxw
dHI7CisgICAgfQorCisgICAgYm9vbCBpc01haW5GcmFtZU5hdmlnYXRpb24gPSBmcmFtZSgpICYm
IGZyYW1lKCktPmlzTWFpbkZyYW1lKCkgJiYgb3B0aW9ucygpLm1vZGUgPT0gRmV0Y2hPcHRpb25z
OjpNb2RlOjpOYXZpZ2F0ZTsKKworICAgIG1faGFuZGxlID0gUmVzb3VyY2VIYW5kbGU6OmNyZWF0
ZShmcmFtZUxvYWRlcigpLT5uZXR3b3JraW5nQ29udGV4dCgpLCBtX3JlcXVlc3QsIHRoaXMsIG1f
ZGVmZXJzTG9hZGluZywgbV9vcHRpb25zLnNuaWZmQ29udGVudCA9PSBDb250ZW50U25pZmZpbmdQ
b2xpY3k6OlNuaWZmQ29udGVudCwgbV9vcHRpb25zLnNuaWZmQ29udGVudEVuY29kaW5nID09IENv
bnRlbnRFbmNvZGluZ1NuaWZmaW5nUG9saWN5OjpTbmlmZiwgV1RGTW92ZShzb3VyY2VPcmlnaW4p
LCBpc01haW5GcmFtZU5hdmlnYXRpb24pOwogfQogCiB2b2lkIFJlc291cmNlTG9hZGVyOjpzZXRE
ZWZlcnNMb2FkaW5nKGJvb2wgZGVmZXJzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Jlc291cmNlVGltaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZVRp
bWluZy5jcHAKaW5kZXggNDk4ZTMzMjc0YmY5Yjk4MmM5ZTk4NTJjZTkyN2JlY2Y0YTI4M2EwNS4u
NDY5MGZhM2FkMzJlN2ZkMDM2N2Q1MzEyYTFhMGM1MGE4OGNkNTMzMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VUaW1pbmcuY3BwCkBAIC0zNSwyOCArMzUsNiBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBib29sIHBhc3Nlc1RpbWluZ0FsbG93Q2hlY2soY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiBpbml0aWF0
b3JTZWN1cml0eU9yaWdpbikKLXsKLSAgICBSZWY8U2VjdXJpdHlPcmlnaW4+IHJlc291cmNlT3Jp
Z2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZShyZXNwb25zZS51cmwoKSk7Ci0gICAgaWYgKHJl
c291cmNlT3JpZ2luLT5pc1NhbWVTY2hlbWVIb3N0UG9ydChpbml0aWF0b3JTZWN1cml0eU9yaWdp
bikpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgY29uc3QgU3RyaW5nJiB0aW1pbmdBbGxv
d09yaWdpblN0cmluZyA9IHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6
VGltaW5nQWxsb3dPcmlnaW4pOwotICAgIGlmICh0aW1pbmdBbGxvd09yaWdpblN0cmluZy5pc0Vt
cHR5KCkgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UodGltaW5nQWxsb3dPcmlnaW5T
dHJpbmcsICJudWxsIikpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICh0aW1pbmdB
bGxvd09yaWdpblN0cmluZyA9PSAiKiIpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgY29u
c3QgU3RyaW5nJiBzZWN1cml0eU9yaWdpbiA9IGluaXRpYXRvclNlY3VyaXR5T3JpZ2luLnRvU3Ry
aW5nKCk7Ci0gICAgZm9yIChhdXRvJiBvcmlnaW4gOiB0aW1pbmdBbGxvd09yaWdpblN0cmluZy5z
cGxpdCgnLCcpKSB7Ci0gICAgICAgIGlmIChvcmlnaW4uc3RyaXBXaGl0ZVNwYWNlKCkgPT0gc2Vj
dXJpdHlPcmlnaW4pCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0KLSAgICByZXR1
cm4gZmFsc2U7Ci19Ci0KIFJlc291cmNlVGltaW5nIFJlc291cmNlVGltaW5nOjpmcm9tTWVtb3J5
Q2FjaGUoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgaW5pdGlhdG9yLCBjb25zdCBSZXNv
dXJjZUxvYWRUaW1pbmcmIGxvYWRUaW1pbmcsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3Bv
bnNlLCBjb25zdCBTZWN1cml0eU9yaWdpbiYgc2VjdXJpdHlPcmlnaW4pCiB7CiAgICAgcmV0dXJu
IFJlc291cmNlVGltaW5nKHVybCwgaW5pdGlhdG9yLCBsb2FkVGltaW5nLCByZXNwb25zZSwgc2Vj
dXJpdHlPcmlnaW4pOwpAQCAtNzIsMjggKzUwLDI2IEBAIFJlc291cmNlVGltaW5nIFJlc291cmNl
VGltaW5nOjpmcm9tU3luY2hyb25vdXNMb2FkKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcm
CiAgICAgcmV0dXJuIFJlc291cmNlVGltaW5nKHVybCwgaW5pdGlhdG9yLCBsb2FkVGltaW5nLCBu
ZXR3b3JrTG9hZE1ldHJpY3MsIHJlc3BvbnNlLCBzZWN1cml0eU9yaWdpbik7CiB9CiAKLVJlc291
cmNlVGltaW5nOjpSZXNvdXJjZVRpbWluZyhjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBp
bml0aWF0b3IsIGNvbnN0IFJlc291cmNlTG9hZFRpbWluZyYgbG9hZFRpbWluZywgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiBzZWN1cml0eU9y
aWdpbikKK1Jlc291cmNlVGltaW5nOjpSZXNvdXJjZVRpbWluZyhjb25zdCBVUkwmIHVybCwgY29u
c3QgU3RyaW5nJiBpbml0aWF0b3IsIGNvbnN0IFJlc291cmNlTG9hZFRpbWluZyYgbG9hZFRpbWlu
ZywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFNlY3VyaXR5T3JpZ2lu
JikKICAgICA6IG1fdXJsKHVybCkKICAgICAsIG1faW5pdGlhdG9yKGluaXRpYXRvcikKICAgICAs
IG1fcmVzb3VyY2VMb2FkVGltaW5nKGxvYWRUaW1pbmcpCi0gICAgLCBtX2FsbG93VGltaW5nRGV0
YWlscyhwYXNzZXNUaW1pbmdBbGxvd0NoZWNrKHJlc3BvbnNlLCBzZWN1cml0eU9yaWdpbikpCiB7
CiAgICAgaW5pdFNlcnZlclRpbWluZyhyZXNwb25zZSk7CiB9CiAKLVJlc291cmNlVGltaW5nOjpS
ZXNvdXJjZVRpbWluZyhjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBpbml0aWF0b3IsIGNv
bnN0IFJlc291cmNlTG9hZFRpbWluZyYgdGltaW5nLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3Mm
IG5ldHdvcmtMb2FkTWV0cmljcywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNv
bnN0IFNlY3VyaXR5T3JpZ2luJiBzZWN1cml0eU9yaWdpbikKK1Jlc291cmNlVGltaW5nOjpSZXNv
dXJjZVRpbWluZyhjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBpbml0aWF0b3IsIGNvbnN0
IFJlc291cmNlTG9hZFRpbWluZyYgdGltaW5nLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG5l
dHdvcmtMb2FkTWV0cmljcywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0
IFNlY3VyaXR5T3JpZ2luJikKICAgICA6IG1fdXJsKHVybCkKICAgICAsIG1faW5pdGlhdG9yKGlu
aXRpYXRvcikKICAgICAsIG1fcmVzb3VyY2VMb2FkVGltaW5nKHRpbWluZykKICAgICAsIG1fbmV0
d29ya0xvYWRNZXRyaWNzKG5ldHdvcmtMb2FkTWV0cmljcykKLSAgICAsIG1fYWxsb3dUaW1pbmdE
ZXRhaWxzKHBhc3Nlc1RpbWluZ0FsbG93Q2hlY2socmVzcG9uc2UsIHNlY3VyaXR5T3JpZ2luKSkK
IHsKICAgICBpbml0U2VydmVyVGltaW5nKHJlc3BvbnNlKTsKIH0KIAogdm9pZCBSZXNvdXJjZVRp
bWluZzo6aW5pdFNlcnZlclRpbWluZyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkK
IHsKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXJ2
ZXJUaW1pbmdFbmFibGVkKCkgJiYgbV9hbGxvd1RpbWluZ0RldGFpbHMpCisgICAgaWYgKFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2VydmVyVGltaW5nRW5hYmxlZCgp
ICYmICFtX25ldHdvcmtMb2FkTWV0cmljcy5mYWlsc1RBT0NoZWNrKQogICAgICAgICBtX3NlcnZl
clRpbWluZyA9IFNlcnZlclRpbWluZ1BhcnNlcjo6cGFyc2VTZXJ2ZXJUaW1pbmcocmVzcG9uc2Uu
aHR0cEhlYWRlckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpTZXJ2ZXJUaW1pbmcpKTsKIH0KIApAQCAt
MTExLDcgKzg3LDYgQEAgUmVzb3VyY2VUaW1pbmcgUmVzb3VyY2VUaW1pbmc6Omlzb2xhdGVkQ29w
eSgpIGNvbnN0CiAgICAgICAgIG1faW5pdGlhdG9yLmlzb2xhdGVkQ29weSgpLAogICAgICAgICBt
X3Jlc291cmNlTG9hZFRpbWluZy5pc29sYXRlZENvcHkoKSwKICAgICAgICAgbV9uZXR3b3JrTG9h
ZE1ldHJpY3MuaXNvbGF0ZWRDb3B5KCksCi0gICAgICAgIG1fYWxsb3dUaW1pbmdEZXRhaWxzLAog
ICAgICAgICBjcm9zc1RocmVhZENvcHkobV9zZXJ2ZXJUaW1pbmcpCiAgICAgKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZVRpbWluZy5oIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nLmgKaW5kZXggZDNiMmI5YjM5ODQ1ZjBhZDY3NjJj
MzI4ZTA2MjlkZWZmYmI4MjcyNi4uYWNiYWZiZDg1YmEyNWQ1NDkwYjE4YTVhN2NmNTYzYmRmMWZh
NjI0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nLmgKQEAgLTQ5LDcgKzQ5
LDYgQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgaW5pdGlhdG9yKCkgY29uc3QgeyByZXR1
cm4gbV9pbml0aWF0b3I7IH0KICAgICBjb25zdCBSZXNvdXJjZUxvYWRUaW1pbmcmIHJlc291cmNl
TG9hZFRpbWluZygpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb3VyY2VMb2FkVGltaW5nOyB9CiAgICAg
Y29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJiBuZXR3b3JrTG9hZE1ldHJpY3MoKSBjb25zdCB7IHJl
dHVybiBtX25ldHdvcmtMb2FkTWV0cmljczsgfQotICAgIGJvb2wgYWxsb3dUaW1pbmdEZXRhaWxz
KCkgY29uc3QgeyByZXR1cm4gbV9hbGxvd1RpbWluZ0RldGFpbHM7IH0KICAgICBWZWN0b3I8UmVm
PFBlcmZvcm1hbmNlU2VydmVyVGltaW5nPj4gcG9wdWxhdGVTZXJ2ZXJUaW1pbmcoKSBjb25zdDsK
ICAgICBSZXNvdXJjZVRpbWluZyBpc29sYXRlZENvcHkoKSBjb25zdDsKIApAQCAtNTgsMTIgKzU3
LDExIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgUmVzb3VyY2VUaW1pbmcoY29uc3QgVVJMJiwg
Y29uc3QgU3RyaW5nJiBpbml0aWF0b3IsIGNvbnN0IFJlc291cmNlTG9hZFRpbWluZyYsIGNvbnN0
IE5ldHdvcmtMb2FkTWV0cmljcyYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBTZWN1
cml0eU9yaWdpbiYpOwogICAgIFJlc291cmNlVGltaW5nKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmlu
ZyYgaW5pdGlhdG9yLCBjb25zdCBSZXNvdXJjZUxvYWRUaW1pbmcmLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiwgY29uc3QgU2VjdXJpdHlPcmlnaW4mKTsKLSAgICBSZXNvdXJjZVRpbWluZyhVUkwm
JiB1cmwsIFN0cmluZyYmIGluaXRpYXRvciwgY29uc3QgUmVzb3VyY2VMb2FkVGltaW5nJiByZXNv
dXJjZUxvYWRUaW1pbmcsIE5ldHdvcmtMb2FkTWV0cmljcyYmIG5ldHdvcmtMb2FkTWV0cmljcywg
Ym9vbCBhbGxvd1RpbWluZ0RldGFpbHMsIFZlY3RvcjxTZXJ2ZXJUaW1pbmc+JiYgc2VydmVyVGlt
aW5nKQorICAgIFJlc291cmNlVGltaW5nKFVSTCYmIHVybCwgU3RyaW5nJiYgaW5pdGlhdG9yLCBj
b25zdCBSZXNvdXJjZUxvYWRUaW1pbmcmIHJlc291cmNlTG9hZFRpbWluZywgTmV0d29ya0xvYWRN
ZXRyaWNzJiYgbmV0d29ya0xvYWRNZXRyaWNzLCBWZWN0b3I8U2VydmVyVGltaW5nPiYmIHNlcnZl
clRpbWluZykKICAgICAgICAgOiBtX3VybChXVEZNb3ZlKHVybCkpCiAgICAgICAgICwgbV9pbml0
aWF0b3IoV1RGTW92ZShpbml0aWF0b3IpKQogICAgICAgICAsIG1fcmVzb3VyY2VMb2FkVGltaW5n
KHJlc291cmNlTG9hZFRpbWluZykKICAgICAgICAgLCBtX25ldHdvcmtMb2FkTWV0cmljcyhXVEZN
b3ZlKG5ldHdvcmtMb2FkTWV0cmljcykpCi0gICAgICAgICwgbV9hbGxvd1RpbWluZ0RldGFpbHMo
YWxsb3dUaW1pbmdEZXRhaWxzKQogICAgICAgICAsIG1fc2VydmVyVGltaW5nKFdURk1vdmUoc2Vy
dmVyVGltaW5nKSkKICAgICB7CiAgICAgfQpAQCAtNzMsNyArNzEsNiBAQCBwcml2YXRlOgogICAg
IFN0cmluZyBtX2luaXRpYXRvcjsKICAgICBSZXNvdXJjZUxvYWRUaW1pbmcgbV9yZXNvdXJjZUxv
YWRUaW1pbmc7CiAgICAgTmV0d29ya0xvYWRNZXRyaWNzIG1fbmV0d29ya0xvYWRNZXRyaWNzOwot
ICAgIGJvb2wgbV9hbGxvd1RpbWluZ0RldGFpbHMgeyBmYWxzZSB9OwogICAgIFZlY3RvcjxTZXJ2
ZXJUaW1pbmc+IG1fc2VydmVyVGltaW5nOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwCmluZGV4IDBjYzczZmRmODYzYzQyMWM1ZGFhZGEyZjI1
YmNhMjU0YThlOTZlOGEuLjM0YmY5NzdkNjA0ZTUyMGNiNzkxNzM3MTI2ODMwMjI5OTBkNDkzYjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAKQEAg
LTc4LDcgKzc4LDcgQEAgdW5zaWduZWQgc2hvcnQgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpyZWRp
cmVjdENvdW50KCkgY29uc3QKICAgICBpZiAoIW1ldHJpY3MpCiAgICAgICAgIHJldHVybiAwOwog
Ci0gICAgaWYgKG1ldHJpY3MtPmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QpCisgICAgaWYgKG1ldHJp
Y3MtPmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgcmV0dXJuIG1ldHJp
Y3MtPnJlZGlyZWN0Q291bnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlTmF2aWdhdGlvblRpbWluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlTmF2aWdhdGlvblRpbWluZy5jcHAKaW5kZXggNjhkMmNjNzU4YzNmMTU0YWZhYTFiYWYyMmY1
ZTRkMzA3OGY0NzM1OS4uMjNjN2YzMWE3NTEyNDk4NzY0NmMxZjQ4YmRkNmNlMTU3ZGE3N2IzMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1p
bmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGlt
aW5nLmNwcApAQCAtNjgsOCArNjgsNyBAQCBkb3VibGUgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGlt
aW5nOjptaWxsaXNlY29uZHNTaW5jZU9yaWdpbihNb25vdG9uaWNUaW1lIHRpbWUpCiBib29sIFBl
cmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZzo6c2FtZU9yaWdpbkNoZWNrRmFpbHMoKSBjb25zdAog
ewogICAgIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy0yLyNkZm4t
c2FtZS1vcmlnaW4tY2hlY2sKLSAgICByZXR1cm4gIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1p
bmdEZXRhaWxzKCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJp
Y3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0CisgICAgcmV0dXJuIG1fcmVzb3VyY2VUaW1pbmcu
bmV0d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdAogICAgICAgICB8fCAh
bV9kb2N1bWVudExvYWRUaW1pbmcuaGFzU2FtZU9yaWdpbkFzUHJldmlvdXNEb2N1bWVudCgpOwog
fQogCkBAIC0xMjQsOSArMTIzLDYgQEAgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nOjpOYXZp
Z2F0aW9uVHlwZSBQZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmc6OnR5cGUoKQogCiB1bnNpZ25l
ZCBzaG9ydCBQZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmc6OnJlZGlyZWN0Q291bnQoKSBjb25z
dAogewotICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5hbGxvd1RpbWluZ0RldGFpbHMoKSkKLSAg
ICAgICAgcmV0dXJuIDA7Ci0KICAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1l
dHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQogICAgICAgICByZXR1cm4gMDsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAKaW5k
ZXggNTliMWFlNmZjY2U3NGRjNzFhODhjZWI1ZGFiNTcwZmE4ZjRhZTcyMi4uNmVkOWFmNDIyOWMy
NGUxMTE0ZjEwNDNhZDI5MmQzYWYwMThmYWM5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwCkBAIC02NCw4ICs2NCw3IEBAIHN0YXRp
YyBkb3VibGUgZmV0Y2hTdGFydChNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFJlc291
cmNlVGltaW5nJiByZXNvdXJjCiAKIHN0YXRpYyBkb3VibGUgZW50cnlTdGFydFRpbWUoTW9ub3Rv
bmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZXNvdXJjZVRpbWluZyYgcmVzb3VyY2VUaW1pbmcp
CiB7Ci0gICAgaWYgKCFyZXNvdXJjZVRpbWluZy5hbGxvd1RpbWluZ0RldGFpbHMoKQotICAgICAg
ICB8fCByZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJl
ZGlyZWN0CisgICAgaWYgKHJlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxz
VEFPQ2hlY2sKICAgICAgICAgfHwgIXJlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygp
LnJlZGlyZWN0Q291bnQpCiAgICAgICAgIHJldHVybiBmZXRjaFN0YXJ0KHRpbWVPcmlnaW4sIHJl
c291cmNlVGltaW5nKTsKIApAQCAtNzcsOSArNzYsNiBAQCBzdGF0aWMgZG91YmxlIGVudHJ5U3Rh
cnRUaW1lKE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgY29uc3QgUmVzb3VyY2VUaW1pbmcmIHJl
cwogCiBzdGF0aWMgZG91YmxlIGVudHJ5RW5kVGltZShNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4s
IGNvbnN0IFJlc291cmNlVGltaW5nJiByZXNvdXJjZVRpbWluZykKIHsKLSAgICBpZiAoIXJlc291
cmNlVGltaW5nLmFsbG93VGltaW5nRGV0YWlscygpKQotICAgICAgICByZXR1cm4gZW50cnlTdGFy
dFRpbWUodGltZU9yaWdpbiwgcmVzb3VyY2VUaW1pbmcpOwotCiAgICAgaWYgKHJlc291cmNlVGlt
aW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlc3BvbnNlRW5kKQogICAgICAgICByZXR1cm4gbmV0
d29ya0xvYWRUaW1lVG9ET01IaWdoUmVzVGltZVN0YW1wKHRpbWVPcmlnaW4sIHJlc291cmNlVGlt
aW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlc3BvbnNlRW5kKTsKIApAQCAtMTE0LDggKzExMCw3
IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjp3b3JrZXJTdGFydCgpIGNvbnN0
CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0KCkgY29u
c3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAg
ICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09y
aWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmlj
cygpLmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwLjA7CiAKICAgICBpZiAoIW1fcmVz
b3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkucmVkaXJlY3RDb3VudCkKQEAgLTEyNiw4
ICsxMjEsNyBAQCBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVkaXJlY3RTdGFy
dCgpIGNvbnN0CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZWRpcmVjdEVu
ZCgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3Jlc291cmNlVGltaW5nLmFsbG93VGltaW5nRGV0YWls
cygpCi0gICAgICAgIHx8IG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuaGFz
Q3Jvc3NPcmlnaW5SZWRpcmVjdCkKKyAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9h
ZE1ldHJpY3MoKS5mYWlsc1RBT0NoZWNrKQogICAgICAgICByZXR1cm4gMC4wOwogCiAgICAgaWYg
KCFtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlZGlyZWN0Q291bnQpCkBA
IC0xNDUsOCArMTM5LDcgQEAgZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmZldGNo
U3RhcnQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZG9tYWlu
TG9va3VwU3RhcnQoKSBjb25zdAogewotICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5hbGxvd1Rp
bWluZ0RldGFpbHMoKQotICAgICAgICB8fCBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0
cmljcygpLmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QpCisgICAgaWYgKG1fcmVzb3VyY2VUaW1pbmcu
bmV0d29ya0xvYWRNZXRyaWNzKCkuZmFpbHNUQU9DaGVjaykKICAgICAgICAgcmV0dXJuIDAuMDsK
IAogICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5kb21haW5M
b29rdXBTdGFydCkKQEAgLTE1Nyw4ICsxNTAsNyBAQCBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJj
ZVRpbWluZzo6ZG9tYWluTG9va3VwU3RhcnQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZzo6ZG9tYWluTG9va3VwRW5kKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcmVz
b3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRp
bWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQorICAgIGlm
IChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxzVEFPQ2hlY2spCiAg
ICAgICAgIHJldHVybiAwLjA7CiAKICAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xv
YWRNZXRyaWNzKCkuZG9tYWluTG9va3VwRW5kKQpAQCAtMTY5LDggKzE2MSw3IEBAIGRvdWJsZSBQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29rdXBFbmQoKSBjb25zdAogCiBkb3Vi
bGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdFN0YXJ0KCkgY29uc3QKIHsKLSAg
ICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwg
bV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGly
ZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxz
VEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwLjA7CiAKICAgICBpZiAoIW1fcmVzb3VyY2VUaW1p
bmcubmV0d29ya0xvYWRNZXRyaWNzKCkuY29ubmVjdFN0YXJ0KQpAQCAtMTgxLDggKzE3Miw3IEBA
IGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjb25uZWN0U3RhcnQoKSBjb25zdAog
CiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdEVuZCgpIGNvbnN0CiB7
Ci0gICAgaWYgKCFtX3Jlc291cmNlVGltaW5nLmFsbG93VGltaW5nRGV0YWlscygpCi0gICAgICAg
IHx8IG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5S
ZWRpcmVjdCkKKyAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5m
YWlsc1RBT0NoZWNrKQogICAgICAgICByZXR1cm4gMC4wOwogCiAgICAgaWYgKCFtX3Jlc291cmNl
VGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmNvbm5lY3RFbmQpCkBAIC0xOTMsOCArMTgzLDcg
QEAgZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RFbmQoKSBjb25zdAog
CiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6c2VjdXJlQ29ubmVjdGlvblN0YXJ0
KCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxz
KCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXND
cm9zc09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2Fk
TWV0cmljcygpLmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwLjA7CiAKICAgICBpZiAo
bV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5zZWN1cmVDb25uZWN0aW9uU3Rh
cnQgPT0gcmV1c2VkVExTQ29ubmVjdGlvblNlbnRpbmVsKQpAQCAtMjA4LDggKzE5Nyw3IEBAIGRv
dWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpzZWN1cmVDb25uZWN0aW9uU3RhcnQoKSBj
b25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVxdWVzdFN0YXJ0KCkg
Y29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkK
LSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9z
c09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0
cmljcygpLmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwLjA7CiAKICAgICAvLyByZXF1
ZXN0U3RhcnQgaXMgMCB3aGVuIGEgbmV0d29yayByZXF1ZXN0IGlzIG5vdCBtYWRlLgpAQCAtMjIx
LDggKzIwOSw3IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXF1ZXN0U3Rh
cnQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVzcG9uc2VT
dGFydCgpIGNvbnN0CiB7Ci0gICAgaWYgKCFtX3Jlc291cmNlVGltaW5nLmFsbG93VGltaW5nRGV0
YWlscygpCi0gICAgICAgIHx8IG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCku
aGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKKyAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3b3Jr
TG9hZE1ldHJpY3MoKS5mYWlsc1RBT0NoZWNrKQogICAgICAgICByZXR1cm4gMC4wOwogCiAgICAg
Ly8gcmVzcG9uc2VTdGFydCBpcyAwIHdoZW4gYSBuZXR3b3JrIHJlcXVlc3QgaXMgbm90IG1hZGUu
CkBAIC0yNTgsOCArMjQ1LDcgQEAgZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJl
c3BvbnNlRW5kKCkgY29uc3QKIAogdWludDY0X3QgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6
dHJhbnNmZXJTaXplKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dU
aW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1l
dHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5n
Lm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwOwog
CiAgICAgYXV0byBlbmNvZGVkQm9keVNpemUgPSBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2Fk
TWV0cmljcygpLnJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQ7CkBAIC0yNzIsOCArMjU4LDcgQEAg
dWludDY0X3QgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6dHJhbnNmZXJTaXplKCkgY29uc3QK
IAogdWludDY0X3QgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZW5jb2RlZEJvZHlTaXplKCkg
Y29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkK
LSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9z
c09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0
cmljcygpLmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgYXV0byBlbmNv
ZGVkQm9keVNpemUgPSBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlc3Bv
bnNlQm9keUJ5dGVzUmVjZWl2ZWQ7CkBAIC0yODUsOCArMjcwLDcgQEAgdWludDY0X3QgUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZzo6ZW5jb2RlZEJvZHlTaXplKCkgY29uc3QKIAogdWludDY0X3Qg
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZGVjb2RlZEJvZHlTaXplKCkgY29uc3QKIHsKLSAg
ICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwg
bV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGly
ZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxz
VEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgYXV0byBkZWNvZGVkQm9keVNpemUg
PSBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlc3BvbnNlQm9keURlY29k
ZWRTaXplOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVRpbWlu
Zy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmNwcAppbmRleCA3
YzQyNjVhNTc0OTliM2RkYmFlMTU3NWIyOTA1ZmU3NTFlNDI4MjRjLi43YWYyMGQ3ZmQ1NTk1NWM2
ODJmOGVjOWFiNTFlMDhhMzBmMTFjY2M4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BlcmZvcm1hbmNlVGltaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlVGltaW5nLmNwcApAQCAtNjcsNyArNjcsNyBAQCB1bnNpZ25lZCBsb25nIGxvbmcgUGVyZm9y
bWFuY2VUaW1pbmc6OnVubG9hZEV2ZW50U3RhcnQoKSBjb25zdAogICAgIGlmICghbWV0cmljcykK
ICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBpZiAobWV0cmljcy0+aGFzQ3Jvc3NPcmlnaW5SZWRp
cmVjdCB8fCAhdGltaW5nLT5oYXNTYW1lT3JpZ2luQXNQcmV2aW91c0RvY3VtZW50KCkpCisgICAg
aWYgKG1ldHJpY3MtPmZhaWxzVEFPQ2hlY2sgfHwgIXRpbWluZy0+aGFzU2FtZU9yaWdpbkFzUHJl
dmlvdXNEb2N1bWVudCgpKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIHJldHVybiBtb25vdG9u
aWNUaW1lVG9JbnRlZ2VyTWlsbGlzZWNvbmRzKHRpbWluZy0+dW5sb2FkRXZlbnRTdGFydCgpKTsK
QEAgLTgzLDcgKzgzLDcgQEAgdW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjp1
bmxvYWRFdmVudEVuZCgpIGNvbnN0CiAgICAgaWYgKCFtZXRyaWNzKQogICAgICAgICByZXR1cm4g
MDsKIAotICAgIGlmIChtZXRyaWNzLT5oYXNDcm9zc09yaWdpblJlZGlyZWN0IHx8ICF0aW1pbmct
Pmhhc1NhbWVPcmlnaW5Bc1ByZXZpb3VzRG9jdW1lbnQoKSkKKyAgICBpZiAobWV0cmljcy0+ZmFp
bHNUQU9DaGVjayB8fCAhdGltaW5nLT5oYXNTYW1lT3JpZ2luQXNQcmV2aW91c0RvY3VtZW50KCkp
CiAgICAgICAgIHJldHVybiAwOwogCiAgICAgcmV0dXJuIG1vbm90b25pY1RpbWVUb0ludGVnZXJN
aWxsaXNlY29uZHModGltaW5nLT51bmxvYWRFdmVudEVuZCgpKTsKQEAgLTkzLDcgKzkzLDcgQEAg
dW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0KCkgY29u
c3QKIHsKICAgICBhdXRvKiBtZXRyaWNzID0gbmV0d29ya0xvYWRNZXRyaWNzKCk7CiAgICAgaWYg
KCFtZXRyaWNzCi0gICAgICAgIHx8IG1ldHJpY3MtPmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QKKyAg
ICAgICAgfHwgbWV0cmljcy0+ZmFpbHNUQU9DaGVjawogICAgICAgICB8fCAhbWV0cmljcy0+cmVk
aXJlY3RDb3VudCkKICAgICAgICAgcmV0dXJuIDA7CiAKQEAgLTEwNCw3ICsxMDQsNyBAQCB1bnNp
Z25lZCBsb25nIGxvbmcgUGVyZm9ybWFuY2VUaW1pbmc6OnJlZGlyZWN0RW5kKCkgY29uc3QKIHsK
ICAgICBhdXRvKiBtZXRyaWNzID0gbmV0d29ya0xvYWRNZXRyaWNzKCk7CiAgICAgaWYgKCFtZXRy
aWNzCi0gICAgICAgIHx8IG1ldHJpY3MtPmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QKKyAgICAgICAg
fHwgbWV0cmljcy0+ZmFpbHNUQU9DaGVjawogICAgICAgICB8fCAhbWV0cmljcy0+cmVkaXJlY3RD
b3VudCkKICAgICAgICAgcmV0dXJuIDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmNwcAppbmRleCA5MTY4N2UwOTU5ODRj
ZGY2MTBiYTU0NWNlZGM2NTc1NzEyNjMxZmZjLi5jZDg2NjVjYmI3NWRhMzkzZTkwY2MwMjFkYmY5
NTZhNzU0NjM3MjNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L0Jsb2JSZXNvdXJjZUhhbmRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9CbG9iUmVzb3VyY2VIYW5kbGUuY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAi
UmVzb3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNp
bmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIK
ICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRs
ZXIuaD4KICNpbmNsdWRlIDx3dGYvRmlsZVN5c3RlbS5oPgpAQCAtMTU0LDcgKzE1NSw3IEBAIHZv
aWQgQmxvYlJlc291cmNlSGFuZGxlOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KEJsb2JEYXRh
KiBibG9iRGF0YSwgY29uc3QgUmVzCiB9CiAKIEJsb2JSZXNvdXJjZUhhbmRsZTo6QmxvYlJlc291
cmNlSGFuZGxlKEJsb2JEYXRhKiBibG9iRGF0YSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1
ZXN0LCBSZXNvdXJjZUhhbmRsZUNsaWVudCogY2xpZW50LCBib29sIGFzeW5jKQotICAgIDogUmVz
b3VyY2VIYW5kbGUgeyBudWxscHRyLCByZXF1ZXN0LCBjbGllbnQsIGZhbHNlIC8qIGRlZmVyc0xv
YWRpbmcgKi8sIGZhbHNlIC8qIHNob3VsZENvbnRlbnRTbmlmZiAqLywgdHJ1ZSAvKiBzaG91bGRD
b250ZW50RW5jb2RpbmdTbmlmZiAqLyB9CisgICAgOiBSZXNvdXJjZUhhbmRsZSB7IG51bGxwdHIs
IHJlcXVlc3QsIGNsaWVudCwgZmFsc2UgLyogZGVmZXJzTG9hZGluZyAqLywgZmFsc2UgLyogc2hv
dWxkQ29udGVudFNuaWZmICovLCB0cnVlIC8qIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmICov
LCBudWxscHRyIC8qIHNvdXJjZU9yaWdpbiAqLywgZmFsc2UgLyogaXNNYWluRnJhbWVOYXZpZ2F0
aW9uICovIH0KICAgICAsIG1fYmxvYkRhdGEgeyBibG9iRGF0YSB9CiAgICAgLCBtX2FzeW5jIHsg
YXN5bmMgfQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9O
ZXR3b3JrTG9hZE1ldHJpY3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0
d29ya0xvYWRNZXRyaWNzLmgKaW5kZXggN2ZhNjUyOTUwYjNhZDc4MTlmNWY0MzNhMzA2OTkxZTg4
ODI0YTE2YS4uNWY4YzAxYTdjMDJmODA5MjJiYWYyNDYyY2E2YWUwNmE2MGIzN2E2NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrTG9hZE1ldHJpY3Mu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtMb2FkTWV0cmlj
cy5oCkBAIC05NSw2ICs5NSw3IEBAIHB1YmxpYzoKICAgICBib29sIGNvbnN0cmFpbmVkIHsgZmFs
c2UgfTsKICAgICBib29sIG11bHRpcGF0aCB7IGZhbHNlIH07CiAgICAgYm9vbCBpc1JldXNlZENv
bm5lY3Rpb24geyBmYWxzZSB9OworICAgIGJvb2wgZmFpbHNUQU9DaGVjayB7IGZhbHNlIH07CiAg
ICAgYm9vbCBoYXNDcm9zc09yaWdpblJlZGlyZWN0IHsgZmFsc2UgfTsKIH07CiAKQEAgLTEyOCw2
ICsxMjksNyBAQCBwdWJsaWM6CiAgICAgICAgIGNvcHkuY29uc3RyYWluZWQgPSBjb25zdHJhaW5l
ZDsKICAgICAgICAgY29weS5tdWx0aXBhdGggPSBtdWx0aXBhdGg7CiAgICAgICAgIGNvcHkuaXNS
ZXVzZWRDb25uZWN0aW9uID0gaXNSZXVzZWRDb25uZWN0aW9uOworICAgICAgICBjb3B5LmZhaWxz
VEFPQ2hlY2sgPSBmYWlsc1RBT0NoZWNrOwogICAgICAgICBjb3B5Lmhhc0Nyb3NzT3JpZ2luUmVk
aXJlY3QgPSBoYXNDcm9zc09yaWdpblJlZGlyZWN0OwogCiAgICAgICAgIGNvcHkucmVtb3RlQWRk
cmVzcyA9IHJlbW90ZUFkZHJlc3MuaXNvbGF0ZWRDb3B5KCk7CkBAIC0xNjUsNiArMTY3LDcgQEAg
cHVibGljOgogICAgICAgICAgICAgJiYgY29uc3RyYWluZWQgPT0gb3RoZXIuY29uc3RyYWluZWQK
ICAgICAgICAgICAgICYmIG11bHRpcGF0aCA9PSBvdGhlci5tdWx0aXBhdGgKICAgICAgICAgICAg
ICYmIGlzUmV1c2VkQ29ubmVjdGlvbiA9PSBvdGhlci5pc1JldXNlZENvbm5lY3Rpb24KKyAgICAg
ICAgICAgICYmIGZhaWxzVEFPQ2hlY2sgPT0gb3RoZXIuZmFpbHNUQU9DaGVjawogICAgICAgICAg
ICAgJiYgaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCA9PSBvdGhlci5oYXNDcm9zc09yaWdpblJlZGly
ZWN0CiAgICAgICAgICAgICAmJiBwcm90b2NvbCA9PSBvdGhlci5wcm90b2NvbAogICAgICAgICAg
ICAgJiYgcmVkaXJlY3RDb3VudCA9PSBvdGhlci5yZWRpcmVjdENvdW50CkBAIC0yMTAsNyArMjEz
LDcgQEAgcHVibGljOgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiBCb3g8TmV0d29ya0xvYWRNZXRy
aWNzPiBjb3B5VGltaW5nRGF0YShOU1VSTENvbm5lY3Rpb24gKiwgY29uc3QgUmVzb3VyY2VIYW5k
bGUmKTsKLVdFQkNPUkVfRVhQT1JUIEJveDxOZXR3b3JrTG9hZE1ldHJpY3M+IGNvcHlUaW1pbmdE
YXRhKE5TVVJMU2Vzc2lvblRhc2tNZXRyaWNzICppbmNvbXBsZXRlTWV0cmljcywgYm9vbCBoYXND
cm9zc09yaWdpblJlZGlyZWN0KTsKK1dFQkNPUkVfRVhQT1JUIEJveDxOZXR3b3JrTG9hZE1ldHJp
Y3M+IGNvcHlUaW1pbmdEYXRhKE5TVVJMU2Vzc2lvblRhc2tNZXRyaWNzICppbmNvbXBsZXRlTWV0
cmljcywgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJik7CiAjZW5kaWYKIAogdGVtcGxhdGU8Y2xh
c3MgRW5jb2Rlcj4KQEAgLTIzNCw2ICsyMzcsNyBAQCB2b2lkIE5ldHdvcmtMb2FkTWV0cmljczo6
ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBjb25zdHJhaW5l
ZDsKICAgICBlbmNvZGVyIDw8IG11bHRpcGF0aDsKICAgICBlbmNvZGVyIDw8IGlzUmV1c2VkQ29u
bmVjdGlvbjsKKyAgICBlbmNvZGVyIDw8IGZhaWxzVEFPQ2hlY2s7CiAgICAgZW5jb2RlciA8PCBo
YXNDcm9zc09yaWdpblJlZGlyZWN0OwogICAgIGVuY29kZXIgPDwgcHJvdG9jb2w7CiAgICAgZW5j
b2RlciA8PCByZWRpcmVjdENvdW50OwpAQCAtMjcyLDYgKzI3Niw3IEBAIGJvb2wgTmV0d29ya0xv
YWRNZXRyaWNzOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgTmV0d29ya0xvYWRNZXRyaWNzJiBt
ZXRyaWNzKQogICAgICAgICAmJiBkZWNvZGVyLmRlY29kZShtZXRyaWNzLmNvbnN0cmFpbmVkKQog
ICAgICAgICAmJiBkZWNvZGVyLmRlY29kZShtZXRyaWNzLm11bHRpcGF0aCkKICAgICAgICAgJiYg
ZGVjb2Rlci5kZWNvZGUobWV0cmljcy5pc1JldXNlZENvbm5lY3Rpb24pCisgICAgICAgICYmIGRl
Y29kZXIuZGVjb2RlKG1ldHJpY3MuZmFpbHNUQU9DaGVjaykKICAgICAgICAgJiYgZGVjb2Rlci5k
ZWNvZGUobWV0cmljcy5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQogICAgICAgICAmJiBkZWNvZGVy
LmRlY29kZShtZXRyaWNzLnByb3RvY29sKQogICAgICAgICAmJiBkZWNvZGVyLmRlY29kZShtZXRy
aWNzLnJlZGlyZWN0Q291bnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL1Jlc291cmNlSGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VIYW5kbGUuY3BwCmluZGV4IDBkN2E3M2QxYTMyZWRlMmRmNjgzMDFhMjVjZjEx
ZjU3ZjViYTZhMTYuLjg2MjFhOGMzYWJmYzllOTJkYjI1NzdiYzNkMTU5MWIzNTc2MmU2MWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUu
Y3BwCkBAIC0zMSw3ICszMSw5IEBACiAjaW5jbHVkZSAiTmV0d29ya2luZ0NvbnRleHQuaCIKICNp
bmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50
LmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJUaW1lci5oIgorI2lu
Y2x1ZGUgIlRpbWluZ0FsbG93T3JpZ2luLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1
ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+
CkBAIC03NSw4ICs3Nyw4IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnJlZ2lzdGVyQnVpbHRpblN5
bmNocm9ub3VzTG9hZGVyKGNvbnN0IEF0b21TdHJpbmcmIHByb3RvY29sCiAgICAgYnVpbHRpblJl
c291cmNlSGFuZGxlU3luY2hyb25vdXNMb2FkZXJNYXAoKS5hZGQocHJvdG9jb2wsIGxvYWRlcik7
CiB9CiAKLVJlc291cmNlSGFuZGxlOjpSZXNvdXJjZUhhbmRsZShOZXR3b3JraW5nQ29udGV4dCog
Y29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUhhbmRsZUNs
aWVudCogY2xpZW50LCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVudFNuaWZm
LCBib29sIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKQotICAgIDogZChtYWtlVW5pcXVlPFJl
c291cmNlSGFuZGxlSW50ZXJuYWw+KHRoaXMsIGNvbnRleHQsIHJlcXVlc3QsIGNsaWVudCwgZGVm
ZXJzTG9hZGluZywgc2hvdWxkQ29udGVudFNuaWZmICYmIHNob3VsZENvbnRlbnRTbmlmZlVSTChy
ZXF1ZXN0LnVybCgpKSwgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYpKQorUmVzb3VyY2VIYW5k
bGU6OlJlc291cmNlSGFuZGxlKE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQsIGJvb2wg
ZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVu
dEVuY29kaW5nU25pZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBzb3VyY2VPcmlnaW4sIGJv
b2wgaXNNYWluRnJhbWVOYXZpZ2F0aW9uKQorICAgIDogZChtYWtlVW5pcXVlPFJlc291cmNlSGFu
ZGxlSW50ZXJuYWw+KHRoaXMsIGNvbnRleHQsIHJlcXVlc3QsIGNsaWVudCwgZGVmZXJzTG9hZGlu
Zywgc2hvdWxkQ29udGVudFNuaWZmICYmIHNob3VsZENvbnRlbnRTbmlmZlVSTChyZXF1ZXN0LnVy
bCgpKSwgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYsIFdURk1vdmUoc291cmNlT3JpZ2luKSwg
aXNNYWluRnJhbWVOYXZpZ2F0aW9uKSkKIHsKICAgICBpZiAoIXJlcXVlc3QudXJsKCkuaXNWYWxp
ZCgpKSB7CiAgICAgICAgIHNjaGVkdWxlRmFpbHVyZShJbnZhbGlkVVJMRmFpbHVyZSk7CkBAIC04
OSwxMiArOTEsMTIgQEAgUmVzb3VyY2VIYW5kbGU6OlJlc291cmNlSGFuZGxlKE5ldHdvcmtpbmdD
b250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QKICAgICB9CiB9CiAKLVJlZlB0
cjxSZXNvdXJjZUhhbmRsZT4gUmVzb3VyY2VIYW5kbGU6OmNyZWF0ZShOZXR3b3JraW5nQ29udGV4
dCogY29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUhhbmRs
ZUNsaWVudCogY2xpZW50LCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVudFNu
aWZmLCBib29sIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKQorUmVmUHRyPFJlc291cmNlSGFu
ZGxlPiBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlKE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGll
bnQsIGJvb2wgZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hv
dWxkQ29udGVudEVuY29kaW5nU25pZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBzb3VyY2VP
cmlnaW4sIGJvb2wgaXNNYWluRnJhbWVOYXZpZ2F0aW9uKQogewogICAgIGlmIChhdXRvIGNvbnN0
cnVjdG9yID0gYnVpbHRpblJlc291cmNlSGFuZGxlQ29uc3RydWN0b3JNYXAoKS5nZXQocmVxdWVz
dC51cmwoKS5wcm90b2NvbCgpLnRvU3RyaW5nV2l0aG91dENvcHlpbmcoKSkpCiAgICAgICAgIHJl
dHVybiBjb25zdHJ1Y3RvcihyZXF1ZXN0LCBjbGllbnQpOwogCi0gICAgYXV0byBuZXdIYW5kbGUg
PSBhZG9wdFJlZigqbmV3IFJlc291cmNlSGFuZGxlKGNvbnRleHQsIHJlcXVlc3QsIGNsaWVudCwg
ZGVmZXJzTG9hZGluZywgc2hvdWxkQ29udGVudFNuaWZmLCBzaG91bGRDb250ZW50RW5jb2RpbmdT
bmlmZikpOworICAgIGF1dG8gbmV3SGFuZGxlID0gYWRvcHRSZWYoKm5ldyBSZXNvdXJjZUhhbmRs
ZShjb250ZXh0LCByZXF1ZXN0LCBjbGllbnQsIGRlZmVyc0xvYWRpbmcsIHNob3VsZENvbnRlbnRT
bmlmZiwgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYsIFdURk1vdmUoc291cmNlT3JpZ2luKSwg
aXNNYWluRnJhbWVOYXZpZ2F0aW9uKSk7CiAKICAgICBpZiAobmV3SGFuZGxlLT5kLT5tX3NjaGVk
dWxlZEZhaWx1cmVUeXBlICE9IE5vRmFpbHVyZSkKICAgICAgICAgcmV0dXJuIG5ld0hhbmRsZTsK
QEAgLTEzMywxNCArMTM1LDE0IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmZhaWx1cmVUaW1lckZp
cmVkKCkKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAotdm9pZCBSZXNvdXJjZUhhbmRs
ZTo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSBz
dG9yZWRDcmVkZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYgZXJyb3IsIFJlc291cmNlUmVz
cG9uc2UmIHJlc3BvbnNlLCBWZWN0b3I8dWludDhfdD4mIGRhdGEpCit2b2lkIFJlc291cmNlSGFu
ZGxlOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0
LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFN0b3JlZENyZWRlbnRpYWxzUG9saWN5
IHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBTZWN1cml0eU9yaWdpbiogc291cmNlT3JpZ2luLCBS
ZXNvdXJjZUVycm9yJiBlcnJvciwgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFZlY3Rvcjx1
aW50OF90PiYgZGF0YSkKIHsKICAgICBpZiAoYXV0byBjb25zdHJ1Y3RvciA9IGJ1aWx0aW5SZXNv
dXJjZUhhbmRsZVN5bmNocm9ub3VzTG9hZGVyTWFwKCkuZ2V0KHJlcXVlc3QudXJsKCkucHJvdG9j
b2woKS50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCkpKSB7CiAgICAgICAgIGNvbnN0cnVjdG9yKGNv
bnRleHQsIHJlcXVlc3QsIHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBlcnJvciwgcmVzcG9uc2Us
IGRhdGEpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgcGxhdGZvcm1Mb2FkUmVzb3Vy
Y2VTeW5jaHJvbm91c2x5KGNvbnRleHQsIHJlcXVlc3QsIHN0b3JlZENyZWRlbnRpYWxzUG9saWN5
LCBlcnJvciwgcmVzcG9uc2UsIGRhdGEpOworICAgIHBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hy
b25vdXNseShjb250ZXh0LCByZXF1ZXN0LCBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgc291cmNl
T3JpZ2luLCBlcnJvciwgcmVzcG9uc2UsIGRhdGEpOwogfQogCiBSZXNvdXJjZUhhbmRsZUNsaWVu
dCogUmVzb3VyY2VIYW5kbGU6OmNsaWVudCgpIGNvbnN0CkBAIC0yMDQsMTQgKzIwNiwzNCBAQCB2
b2lkIFJlc291cmNlSGFuZGxlOjpjbGVhckF1dGhlbnRpY2F0aW9uKCkKICAgICBkLT5tX2N1cnJl
bnRXZWJDaGFsbGVuZ2UubnVsbGlmeSgpOwogfQogCitib29sIFJlc291cmNlSGFuZGxlOjpmYWls
c1RBT0NoZWNrKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZC0+bV9mYWlsc1RBT0NoZWNrOworfQor
Cit2b2lkIFJlc291cmNlSGFuZGxlOjpjaGVja1RBTyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiBy
ZXNwb25zZSkKK3sKKyAgICBpZiAoZC0+bV9mYWlsc1RBT0NoZWNrKQorICAgICAgICByZXR1cm47
CisKKyAgICBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IG9yaWdpbjsKKyAgICBpZiAoZC0+bV9pc01h
aW5GcmFtZU5hdmlnYXRpb24pCisgICAgICAgIG9yaWdpbiA9IFNlY3VyaXR5T3JpZ2luOjpjcmVh
dGUoZmlyc3RSZXF1ZXN0KCkudXJsKCkpOworICAgIGVsc2UKKyAgICAgICAgb3JpZ2luID0gZC0+
bV9zb3VyY2VPcmlnaW47CisKKyAgICBpZiAob3JpZ2luKQorICAgICAgICBkLT5tX2ZhaWxzVEFP
Q2hlY2sgPSAhcGFzc2VzVGltaW5nQWxsb3dPcmlnaW5DaGVjayhyZXNwb25zZSwgKm9yaWdpbik7
Cit9CisKIGJvb2wgUmVzb3VyY2VIYW5kbGU6Omhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QoKSBjb25z
dAogewogICAgIHJldHVybiBkLT5tX2hhc0Nyb3NzT3JpZ2luUmVkaXJlY3Q7CiB9CiAKLXZvaWQg
UmVzb3VyY2VIYW5kbGU6OnNldEhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QoYm9vbCB2YWx1ZSkKK3Zv
aWQgUmVzb3VyY2VIYW5kbGU6Om1hcmtBc0hhdmluZ0Nyb3NzT3JpZ2luUmVkaXJlY3QoKQogewot
ICAgIGQtPm1faGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCA9IHZhbHVlOworICAgIGQtPm1faGFzQ3Jv
c3NPcmlnaW5SZWRpcmVjdCA9IHRydWU7CiB9CiAKIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmluY3Jl
bWVudFJlZGlyZWN0Q291bnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9SZXNvdXJjZUhhbmRsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9SZXNvdXJjZUhhbmRsZS5oCmluZGV4IGZmZDg4NTQ3ZTYwNmJmOGMwZWI1MmFmOGJiOGE5MjBj
YTYxYjE3OWQuLmZhZmRmZTg3YzgzN2U2MTU3ZDJmMTNlOWE3Y2EwMDk2OWQ1MGIxYzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgKQEAg
LTgzLDYgKzgzLDcgQEAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbDsKIGNsYXNzIE5ldHdv
cmtMb2FkTWV0cmljczsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIGNsYXNzIFJlc291cmNlUmVz
cG9uc2U7CitjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIGNsYXNz
IFN5bmNocm9ub3VzTG9hZGVyTWVzc2FnZVF1ZXVlOwogY2xhc3MgVGltZXI7CkBAIC05NCw4ICs5
NSw4IEBAIGNsYXNzIEN1cmxSZXNvdXJjZUhhbmRsZURlbGVnYXRlOwogCiBjbGFzcyBSZXNvdXJj
ZUhhbmRsZSA6IHB1YmxpYyBSZWZDb3VudGVkPFJlc291cmNlSGFuZGxlPiwgcHVibGljIEF1dGhl
bnRpY2F0aW9uQ2xpZW50IHsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVm
UHRyPFJlc291cmNlSGFuZGxlPiBjcmVhdGUoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmLCBSZXNvdXJjZUhhbmRsZUNsaWVudCosIGJvb2wgZGVmZXJzTG9hZGluZywg
Ym9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYp
OwotICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3Vz
bHkoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBTdG9yZWRDcmVk
ZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVzcG9uc2UmLCBWZWN0b3I8
dWludDhfdD4mIGRhdGEpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWZQdHI8UmVzb3Vy
Y2VIYW5kbGU+IGNyZWF0ZShOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFJlc291cmNlUmVxdWVz
dCYsIFJlc291cmNlSGFuZGxlQ2xpZW50KiwgYm9vbCBkZWZlcnNMb2FkaW5nLCBib29sIHNob3Vs
ZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwgUmVmUHRyPFNl
Y3VyaXR5T3JpZ2luPiYmIHNvdXJjZU9yaWdpbiwgYm9vbCBpc01haW5GcmFtZU5hdmlnYXRpb24p
OworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3Vz
bHkoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBTdG9yZWRDcmVk
ZW50aWFsc1BvbGljeSwgU2VjdXJpdHlPcmlnaW4qLCBSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VS
ZXNwb25zZSYsIFZlY3Rvcjx1aW50OF90PiYgZGF0YSk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdmly
dHVhbCB+UmVzb3VyY2VIYW5kbGUoKTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBVU0UoQ0ZV
UkxDT05ORUNUSU9OKQpAQCAtMTc0LDggKzE3NSwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRO
ZXR3b3JrTG9hZE1ldHJpY3MoQm94PE5ldHdvcmtMb2FkTWV0cmljcz4mJik7CiAKICAgICBNb25v
dG9uaWNUaW1lIHN0YXJ0VGltZUJlZm9yZVJlZGlyZWN0cygpIGNvbnN0OworICAgIGJvb2wgZmFp
bHNUQU9DaGVjaygpIGNvbnN0OworICAgIHZvaWQgY2hlY2tUQU8oY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYpOwogICAgIGJvb2wgaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCgpIGNvbnN0OwotICAgIHZv
aWQgc2V0SGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdChib29sKTsKKyAgICB2b2lkIG1hcmtBc0hhdmlu
Z0Nyb3NzT3JpZ2luUmVkaXJlY3QoKTsKICAgICB1aW50MTZfdCByZWRpcmVjdENvdW50KCkgY29u
c3Q7CiAgICAgdm9pZCBpbmNyZW1lbnRSZWRpcmVjdENvdW50KCk7CiAKQEAgLTIwNiw3ICsyMDks
NyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJCdWlsdGluU3luY2hyb25vdXNM
b2FkZXIoY29uc3QgQXRvbVN0cmluZyYgcHJvdG9jb2wsIEJ1aWx0aW5TeW5jaHJvbm91c0xvYWRl
cik7CiAKIHByb3RlY3RlZDoKLSAgICBSZXNvdXJjZUhhbmRsZShOZXR3b3JraW5nQ29udGV4dCos
IGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFJlc291cmNlSGFuZGxlQ2xpZW50KiwgYm9vbCBkZWZl
cnNMb2FkaW5nLCBib29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91bGRDb250ZW50RW5j
b2RpbmdTbmlmZik7CisgICAgUmVzb3VyY2VIYW5kbGUoTmV0d29ya2luZ0NvbnRleHQqLCBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmLCBSZXNvdXJjZUhhbmRsZUNsaWVudCosIGJvb2wgZGVmZXJzTG9h
ZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVudEVuY29kaW5n
U25pZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBzb3VyY2VPcmlnaW4sIGJvb2wgaXNNYWlu
RnJhbWVOYXZpZ2F0aW9uKTsKIAogcHJpdmF0ZToKICAgICBlbnVtIEZhaWx1cmVUeXBlIHsKQEAg
LTIyMiw3ICsyMjUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1bGVGYWlsdXJlKEZhaWx1
cmVUeXBlKTsKIAogICAgIGJvb2wgc3RhcnQoKTsKLSAgICBzdGF0aWMgdm9pZCBwbGF0Zm9ybUxv
YWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmLCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYsIFJlc291
cmNlUmVzcG9uc2UmLCBWZWN0b3I8dWludDhfdD4mIGRhdGEpOworICAgIHN0YXRpYyB2b2lkIHBs
YXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0
IFJlc291cmNlUmVxdWVzdCYsIFN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBTZWN1cml0eU9yaWdp
biosIFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlJiwgVmVjdG9yPHVpbnQ4X3Q+JiBk
YXRhKTsKIAogICAgIHZvaWQgcmVmQXV0aGVudGljYXRpb25DbGllbnQoKSBvdmVycmlkZSB7IHJl
ZigpOyB9CiAgICAgdm9pZCBkZXJlZkF1dGhlbnRpY2F0aW9uQ2xpZW50KCkgb3ZlcnJpZGUgeyBk
ZXJlZigpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlSGFuZGxlSW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
UmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCmluZGV4IDE4ZmQ0MWM4NjY3N2Y1ZTAwMDQ3ODZlMzFk
NTZiNTNhNTc1ZDgxYWUuLmVjODk0MmM5ZTIyNTAwZDA2YThlNzU1MGY4MTM2YTliNjljYTczMDMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5k
bGVJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VIYW5kbGVJbnRlcm5hbC5oCkBAIC02NSw3ICs2NSw3IEBAIGNsYXNzIFJlc291cmNlSGFuZGxl
SW50ZXJuYWwgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlc291cmNlSGFuZGxlSW50ZXJu
YWwpOwogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEX1dJVEhfSEVBUF9JREVOVElGSUVSKFJl
c291cmNlSGFuZGxlSW50ZXJuYWwpOwogcHVibGljOgotICAgIFJlc291cmNlSGFuZGxlSW50ZXJu
YWwoUmVzb3VyY2VIYW5kbGUqIGxvYWRlciwgTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQsIGNv
bnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VIYW5kbGVDbGllbnQqIGNsaWVu
dCwgYm9vbCBkZWZlcnNMb2FkaW5nLCBib29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91
bGRDb250ZW50RW5jb2RpbmdTbmlmZikKKyAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKFJlc291
cmNlSGFuZGxlKiBsb2FkZXIsIE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQsIGJvb2wg
ZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVu
dEVuY29kaW5nU25pZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBzb3VyY2VPcmlnaW4sIGJv
b2wgaXNNYWluRnJhbWVOYXZpZ2F0aW9uKQogICAgICAgICA6IG1fY29udGV4dChjb250ZXh0KQog
ICAgICAgICAsIG1fY2xpZW50KGNsaWVudCkKICAgICAgICAgLCBtX2ZpcnN0UmVxdWVzdChyZXF1
ZXN0KQpAQCAtNzgsNiArNzgsOCBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9jdXJyZW50UmVxdWVz
dChyZXF1ZXN0KQogI2VuZGlmCiAgICAgICAgICwgbV9mYWlsdXJlVGltZXIoKmxvYWRlciwgJlJl
c291cmNlSGFuZGxlOjpmYWlsdXJlVGltZXJGaXJlZCkKKyAgICAgICAgLCBtX3NvdXJjZU9yaWdp
bihXVEZNb3ZlKHNvdXJjZU9yaWdpbikpCisgICAgICAgICwgbV9pc01haW5GcmFtZU5hdmlnYXRp
b24oaXNNYWluRnJhbWVOYXZpZ2F0aW9uKQogICAgIHsKICAgICAgICAgY29uc3QgVVJMJiB1cmwg
PSBtX2ZpcnN0UmVxdWVzdC51cmwoKTsKICAgICAgICAgbV91c2VyID0gdXJsLnVzZXIoKTsKQEAg
LTEzMyw3ICsxMzUsOSBAQCBwdWJsaWM6CiAgICAgQm94PE5ldHdvcmtMb2FkTWV0cmljcz4gbV9u
ZXR3b3JrTG9hZE1ldHJpY3M7CiAgICAgTW9ub3RvbmljVGltZSBtX3N0YXJ0VGltZTsKICAgICB1
aW50MTZfdCBtX3JlZGlyZWN0Q291bnQgeyAwIH07CisgICAgYm9vbCBtX2ZhaWxzVEFPQ2hlY2sg
eyBmYWxzZSB9OwogICAgIGJvb2wgbV9oYXNDcm9zc09yaWdpblJlZGlyZWN0IHsgZmFsc2UgfTsK
KyAgICBib29sIG1faXNDcm9zc09yaWdpbiB7IGZhbHNlIH07CiAKICNpZiBQTEFURk9STShDT0NP
QSkKICAgICAvLyBXZSBuZWVkIHRvIGtlZXAgYSByZWZlcmVuY2UgdG8gdGhlIG9yaWdpbmFsIGNo
YWxsZW5nZSB0byBiZSBhYmxlIHRvIGNhbmNlbCBpdC4KQEAgLTE0NCw2ICsxNDgsOCBAQCBwdWJs
aWM6CiAgICAgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UgbV9jdXJyZW50V2ViQ2hhbGxlbmdlOwog
ICAgIFJlc291cmNlSGFuZGxlOjpGYWlsdXJlVHlwZSBtX3NjaGVkdWxlZEZhaWx1cmVUeXBlIHsg
UmVzb3VyY2VIYW5kbGU6Ok5vRmFpbHVyZSB9OwogICAgIFRpbWVyIG1fZmFpbHVyZVRpbWVyOwor
ICAgIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4gbV9zb3VyY2VPcmlnaW47CisgICAgYm9vbCBtX2lz
TWFpbkZyYW1lTmF2aWdhdGlvbiB7IGZhbHNlIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1RpbWluZ0Fs
bG93T3JpZ2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvVGltaW5nQWxs
b3dPcmlnaW4uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczNGQ5MTY2ZTIwNDhlZjhmNGY0NGUyMmNjYTVhYmM3
YTFjZTE0MGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1RpbWluZ0FsbG93T3JpZ2luLmNwcApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlRpbWluZ0FsbG93T3JpZ2luLmgiCisKKyNp
bmNsdWRlICJIVFRQUGFyc2Vycy5oIgorI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKKyNp
bmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Jvb2wg
cGFzc2VzVGltaW5nQWxsb3dPcmlnaW5DaGVjayhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNw
b25zZSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIGluaXRpYXRvclNlY3VyaXR5T3JpZ2luKQorewor
ICAgIC8vIGh0dHBzOi8vZmV0Y2guc3BlYy53aGF0d2cub3JnLyN0YW8tY2hlY2sKKyAgICBhdXRv
IHJlc291cmNlT3JpZ2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZShyZXNwb25zZS51cmwoKSk7
CisgICAgaWYgKHJlc291cmNlT3JpZ2luLT5pc1NhbWVTY2hlbWVIb3N0UG9ydChpbml0aWF0b3JT
ZWN1cml0eU9yaWdpbikpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgY29uc3QgU3RyaW5n
JiB0aW1pbmdBbGxvd09yaWdpblN0cmluZyA9IHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQ
SGVhZGVyTmFtZTo6VGltaW5nQWxsb3dPcmlnaW4pOworICAgIGNvbnN0IFN0cmluZyYgc2VjdXJp
dHlPcmlnaW4gPSBpbml0aWF0b3JTZWN1cml0eU9yaWdpbi50b1N0cmluZygpOworICAgIGZvciAo
YXV0byYgb3JpZ2luV2l0aFNwYWNlIDogdGltaW5nQWxsb3dPcmlnaW5TdHJpbmcuc3BsaXQoJywn
KSkgeworICAgICAgICBhdXRvIG9yaWdpbiA9IHN0cmlwTGVhZGluZ0FuZFRyYWlsaW5nSFRUUFNw
YWNlcyhTdHJpbmdWaWV3KG9yaWdpbldpdGhTcGFjZSkpOworICAgICAgICBpZiAob3JpZ2luID09
ICIqIiB8fCBvcmlnaW4gPT0gc2VjdXJpdHlPcmlnaW4pCisgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvVGltaW5nQWxsb3dPcmlnaW4uaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvVGltaW5nQWxsb3dPcmlnaW4uaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
ODMwMDgzMzkzOGFhMjVkZDhjOTA5YTA1ZTRjNmRkZmRhMWYzOTVlCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5oCkBA
IC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOworY2xhc3MgU2VjdXJpdHlPcmlnaW47
CisKK1dFQkNPUkVfRVhQT1JUIGJvb2wgcGFzc2VzVGltaW5nQWxsb3dPcmlnaW5DaGVjayhjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4mIGluaXRp
YXRvclNlY3VyaXR5T3JpZ2luKTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGTmV0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5kbGVDRk5ldC5jcHAKaW5kZXggYWNlNWE0
MTRkMjY4NWRkM2IzNWNjYjlkOWNhOGE0NWQ5ZTA2OGRlZi4uMWUzZDhmMjQyOGU0ZmI1NzdlYzI5
NjZjODZkNGI4MzllOTIzNmEwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jZi9SZXNvdXJjZUhhbmRsZUNGTmV0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlSGFuZGxlQ0ZOZXQuY3BwCkBAIC01MjIsNyArNTIy
LDcgQEAgc3RhdGljIHZvaWQgZW1wdHlQZXJmb3JtKHZvaWQqKQogewogfQogCi12b2lkIFJlc291
cmNlSGFuZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2luZ0Nv
bnRleHQqIGNvbnRleHQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgU3RvcmVkQ3Jl
ZGVudGlhbHNQb2xpY3kgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIFJlc291cmNlRXJyb3ImIGVy
cm9yLCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgVmVjdG9yPHVpbnQ4X3Q+JiBkYXRhKQor
dm9pZCBSZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KE5l
dHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qs
ICBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgU2VjdXJp
dHlPcmlnaW4qIHNvdXJjZU9yaWdpbiwgUmVzb3VyY2VFcnJvciYgZXJyb3IsIFJlc291cmNlUmVz
cG9uc2UmIHJlc3BvbnNlLCBWZWN0b3I8dWludDhfdD4mIGRhdGEpCiB7CiAgICAgTE9HKE5ldHdv
cmssICJSZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5OiVz
IHNzdG9yZWRDcmVkZW50aWFsc1BvbGljeToldSIsIHJlcXVlc3QudXJsKCkuc3RyaW5nKCkudXRm
OCgpLmRhdGEoKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHN0b3JlZENyZWRlbnRpYWxzUG9saWN5
KSk7CiAKQEAgLTUzNyw3ICs1MzcsNyBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpwbGF0Zm9ybUxv
YWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleAogICAgIGJv
b2wgZGVmZXJzTG9hZGluZyA9IGZhbHNlOwogICAgIGJvb2wgc2hvdWxkQ29udGVudFNuaWZmID0g
dHJ1ZTsKICAgICBib29sIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmID0gdHJ1ZTsKLSAgICBS
ZWZQdHI8UmVzb3VyY2VIYW5kbGU+IGhhbmRsZSA9IGFkb3B0UmVmKG5ldyBSZXNvdXJjZUhhbmRs
ZShjb250ZXh0LCByZXF1ZXN0LCAmY2xpZW50LCBkZWZlcnNMb2FkaW5nLCBzaG91bGRDb250ZW50
U25pZmYsIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKSk7CisgICAgUmVmUHRyPFJlc291cmNl
SGFuZGxlPiBoYW5kbGUgPSBhZG9wdFJlZihuZXcgUmVzb3VyY2VIYW5kbGUoY29udGV4dCwgcmVx
dWVzdCwgJmNsaWVudCwgZGVmZXJzTG9hZGluZywgc2hvdWxkQ29udGVudFNuaWZmLCBzaG91bGRD
b250ZW50RW5jb2RpbmdTbmlmZiwgc291cmNlT3JpZ2luLCBmYWxzZSkpOwogCiAgICAgaGFuZGxl
LT5kLT5tX3N0b3JhZ2VTZXNzaW9uID0gY29udGV4dC0+c3RvcmFnZVNlc3Npb24oKS0+cGxhdGZv
cm1TZXNzaW9uKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvY29jb2EvTmV0d29ya0xvYWRNZXRyaWNzLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jb2NvYS9OZXR3b3JrTG9hZE1ldHJpY3MubW0KaW5kZXggYjU0NDdkZjU0NzZjMGM0
YzRhYmM1ODljYjMxNzg1YmJmNDhjYWQ5NS4uNjMxMmUwNjg0Mjk3YjQzYzMzMTFlNDczOWI2ODFh
YjQ0NWMzMzY3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9j
b2NvYS9OZXR3b3JrTG9hZE1ldHJpY3MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jb2NvYS9OZXR3b3JrTG9hZE1ldHJpY3MubW0KQEAgLTM4LDcgKzM4LDcgQEAgc3Rh
dGljIE1vbm90b25pY1RpbWUgZGF0ZVRvTW9ub3RvbmljVGltZShOU0RhdGUgKmRhdGUpCiAgICAg
cmV0dXJuIHsgfTsKIH0KIAotc3RhdGljIEJveDxOZXR3b3JrTG9hZE1ldHJpY3M+IHBhY2thZ2VU
aW1pbmdEYXRhKE1vbm90b25pY1RpbWUgcmVkaXJlY3RTdGFydCwgTlNEYXRlICpmZXRjaFN0YXJ0
LCBOU0RhdGUgKmRvbWFpbkxvb2t1cFN0YXJ0LCBOU0RhdGUgKmRvbWFpbkxvb2t1cEVuZCwgTlNE
YXRlICpjb25uZWN0U3RhcnQsIE5TRGF0ZSAqc2VjdXJlQ29ubmVjdGlvblN0YXJ0LCBOU0RhdGUg
KmNvbm5lY3RFbmQsIE5TRGF0ZSAqcmVxdWVzdFN0YXJ0LCBOU0RhdGUgKnJlc3BvbnNlU3RhcnQs
IGJvb2wgcmV1c2VkVExTQ29ubmVjdGlvbiwgTlNTdHJpbmcgKnByb3RvY29sLCB1aW50MTZfdCBy
ZWRpcmVjdENvdW50LCBib29sIGhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QpCitzdGF0aWMgQm94PE5l
dHdvcmtMb2FkTWV0cmljcz4gcGFja2FnZVRpbWluZ0RhdGEoTW9ub3RvbmljVGltZSByZWRpcmVj
dFN0YXJ0LCBOU0RhdGUgKmZldGNoU3RhcnQsIE5TRGF0ZSAqZG9tYWluTG9va3VwU3RhcnQsIE5T
RGF0ZSAqZG9tYWluTG9va3VwRW5kLCBOU0RhdGUgKmNvbm5lY3RTdGFydCwgTlNEYXRlICpzZWN1
cmVDb25uZWN0aW9uU3RhcnQsIE5TRGF0ZSAqY29ubmVjdEVuZCwgTlNEYXRlICpyZXF1ZXN0U3Rh
cnQsIE5TRGF0ZSAqcmVzcG9uc2VTdGFydCwgYm9vbCByZXVzZWRUTFNDb25uZWN0aW9uLCBOU1N0
cmluZyAqcHJvdG9jb2wsIHVpbnQxNl90IHJlZGlyZWN0Q291bnQsIGJvb2wgZmFpbHNUQU9DaGVj
aywgYm9vbCBoYXNDcm9zc09yaWdpblJlZGlyZWN0KQogewogCiAgICAgYXV0byB0aW1pbmcgPSBC
b3g8TmV0d29ya0xvYWRNZXRyaWNzPjo6Y3JlYXRlKCk7CkBAIC01Niw2ICs1Niw3IEBAIHN0YXRp
YyBCb3g8TmV0d29ya0xvYWRNZXRyaWNzPiBwYWNrYWdlVGltaW5nRGF0YShNb25vdG9uaWNUaW1l
IHJlZGlyZWN0U3RhcnQsIE5TCiAgICAgdGltaW5nLT5yZXF1ZXN0U3RhcnQgPSBkYXRlVG9Nb25v
dG9uaWNUaW1lKHJlcXVlc3RTdGFydCk7CiAgICAgdGltaW5nLT5yZXNwb25zZVN0YXJ0ID0gZGF0
ZVRvTW9ub3RvbmljVGltZShyZXNwb25zZVN0YXJ0KTsKICAgICB0aW1pbmctPnJlZGlyZWN0Q291
bnQgPSByZWRpcmVjdENvdW50OworICAgIHRpbWluZy0+ZmFpbHNUQU9DaGVjayA9IGZhaWxzVEFP
Q2hlY2s7CiAgICAgdGltaW5nLT5oYXNDcm9zc09yaWdpblJlZGlyZWN0ID0gaGFzQ3Jvc3NPcmln
aW5SZWRpcmVjdDsKIAogICAgIC8vIE5PVEU6IHJlc3BvbnNlRW5kIGlzIG5vdCBwb3B1bGF0ZWQg
aW4gdGhpcyBjb2RlIHBhdGguCkBAIC02Myw3ICs2NCw3IEBAIHN0YXRpYyBCb3g8TmV0d29ya0xv
YWRNZXRyaWNzPiBwYWNrYWdlVGltaW5nRGF0YShNb25vdG9uaWNUaW1lIHJlZGlyZWN0U3RhcnQs
IE5TCiAgICAgcmV0dXJuIHRpbWluZzsKIH0KIAotQm94PE5ldHdvcmtMb2FkTWV0cmljcz4gY29w
eVRpbWluZ0RhdGEoTlNVUkxTZXNzaW9uVGFza01ldHJpY3MgKmluY29tcGxldGVNZXRyaWNzLCBi
b29sIGhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QpCitCb3g8TmV0d29ya0xvYWRNZXRyaWNzPiBjb3B5
VGltaW5nRGF0YShOU1VSTFNlc3Npb25UYXNrTWV0cmljcyAqaW5jb21wbGV0ZU1ldHJpY3MsIGNv
bnN0IE5ldHdvcmtMb2FkTWV0cmljcyYgbWV0cmljc0Zyb21UYXNrKQogewogICAgIE5TQXJyYXk8
TlNVUkxTZXNzaW9uVGFza1RyYW5zYWN0aW9uTWV0cmljcyAqPiAqdHJhbnNhY3Rpb25NZXRyaWNz
ID0gaW5jb21wbGV0ZU1ldHJpY3MudHJhbnNhY3Rpb25NZXRyaWNzOwogICAgIE5TVVJMU2Vzc2lv
blRhc2tUcmFuc2FjdGlvbk1ldHJpY3MgKm1ldHJpY3MgPSB0cmFuc2FjdGlvbk1ldHJpY3MubGFz
dE9iamVjdDsKQEAgLTgwLDcgKzgxLDggQEAgQm94PE5ldHdvcmtMb2FkTWV0cmljcz4gY29weVRp
bWluZ0RhdGEoTlNVUkxTZXNzaW9uVGFza01ldHJpY3MgKmluY29tcGxldGVNZXRyaWMKICAgICAg
ICAgbWV0cmljcy5yZXVzZWRDb25uZWN0aW9uLAogICAgICAgICBtZXRyaWNzLnJlc3BvbnNlLlVS
TC5zY2hlbWUsCiAgICAgICAgIGluY29tcGxldGVNZXRyaWNzLnJlZGlyZWN0Q291bnQsCi0gICAg
ICAgIGhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QKKyAgICAgICAgbWV0cmljc0Zyb21UYXNrLmZhaWxz
VEFPQ2hlY2ssCisgICAgICAgIG1ldHJpY3NGcm9tVGFzay5oYXNDcm9zc09yaWdpblJlZGlyZWN0
CiAgICAgKTsKIH0KIApAQCAtMTA5LDYgKzExMSw3IEBAIEJveDxOZXR3b3JrTG9hZE1ldHJpY3M+
IGNvcHlUaW1pbmdEYXRhKE5TVVJMQ29ubmVjdGlvbiAqY29ubmVjdGlvbiwgY29uc3QgUmVzb3Vy
CiAgICAgICAgIHRpbWluZ1ZhbHVlKEAiX2tDRk5UaW1pbmdEYXRhQ29ubmVjdGlvblJldXNlZCIp
LmdldCgpLAogICAgICAgICBjb25uZWN0aW9uLmN1cnJlbnRSZXF1ZXN0LlVSTC5zY2hlbWUsCiAg
ICAgICAgIGhhbmRsZS5yZWRpcmVjdENvdW50KCksCisgICAgICAgIGhhbmRsZS5mYWlsc1RBT0No
ZWNrKCksCiAgICAgICAgIGhhbmRsZS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KCkKICAgICApOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybENh
Y2hlRW50cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxD
YWNoZUVudHJ5LmNwcAppbmRleCA2ZDkyNDc1YjVlYjYyMGI3ZGE5YjMzOGU3NmFiYTBmYzg4N2Ez
ZWQ2Li5jMTg1ZWIzYjkzNTk1NjU1MmQxYTRkMzQwNmE4YThmOTRmMDBmZmU5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybENhY2hlRW50cnkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsQ2FjaGVFbnRy
eS5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUludGVybmFs
LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXNw
b25zZS5oIgorI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVm
ZmVyLmgiCiAjaW5jbHVkZSA8d3RmL0RhdGVNYXRoLmg+CiAjaW5jbHVkZSA8d3RmL0hleE51bWJl
ci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1
cmxDYWNoZU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJs
L0N1cmxDYWNoZU1hbmFnZXIuY3BwCmluZGV4IGU2OWY2YzM1Nzc1ZWRlY2NlYjIyZTg1MTU0NjUz
YTk0ODYyNmZiY2QuLjc4NjlhMGRmNGU5ZWI3MjhhNmQ4ZmZlYzQzMzJlM2RmNzE5YTllNTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsQ2FjaGVN
YW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3Vy
bENhY2hlTWFuYWdlci5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJSZXNvdXJjZUhh
bmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlSW50ZXJuYWwuaCIKICNpbmNs
dWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2lu
Y2x1ZGUgPHd0Zi9GaWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNs
dWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvY3VybC9DdXJsUmVzb3VyY2VIYW5kbGVEZWxlZ2F0ZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3VybFJlc291cmNlSGFuZGxlRGVsZWdh
dGUuY3BwCmluZGV4IGU1NjRhMGNlNjY2MTRhNDlhMTAzMTM2ODg1MWM0ZGE4ODIzNTJhNjEuLjcz
NjMxNDY3ODA4NmQ0MmQ3NDMxOWFiNjk5NzEwYjliZjFiMjFkMTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsUmVzb3VyY2VIYW5kbGVEZWxlZ2F0
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxSZXNv
dXJjZUhhbmRsZURlbGVnYXRlLmNwcApAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgIlJlc291
cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVDbGllbnQuaCIKICNpbmNsdWRl
ICJSZXNvdXJjZUhhbmRsZUludGVybmFsLmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIK
IAogI2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvUmVzb3VyY2VIYW5kbGVDdXJsLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZUN1cmwu
Y3BwCmluZGV4IDM4ZTVlZTE5YjE0NjE3MWI3YjgyNjg1MWFiYjFmMmY0ODk1YzUwNDEuLmY4Yjcw
OGFkYjZkZmY1ZTAyMTRiZGZiMTI4MzZlYmY4YjZlZWNmMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZUN1cmwuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZUN1cmwu
Y3BwCkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiTmV0d29ya1N0b3JhZ2VTZXNzaW9uLmgi
CiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgogI2luY2x1ZGUgIlNhbWVTaXRl
SW5mby5oIgorI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVm
ZmVyLmgiCiAjaW5jbHVkZSAiU3luY2hyb25vdXNMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJU
ZXh0RW5jb2RpbmcuaCIKQEAgLTM2NSw3ICszNjYsNyBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpy
ZXN0YXJ0UmVxdWVzdFdpdGhDcmVkZW50aWFsKGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgcHJvdGVj
dAogICAgIGQtPm1fY3VybFJlcXVlc3QtPnN0YXJ0KCk7CiB9CiAKLXZvaWQgUmVzb3VyY2VIYW5k
bGU6OnBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCog
Y29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBTdG9yZWRDcmVkZW50aWFs
c1BvbGljeSBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYgZXJyb3IsIFJl
c291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBWZWN0b3I8dWludDhfdD4mIGRhdGEpCit2b2lkIFJl
c291cmNlSGFuZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2lu
Z0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgU3RvcmVk
Q3JlZGVudGlhbHNQb2xpY3kgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIFNlY3VyaXR5T3JpZ2lu
KiwgUmVzb3VyY2VFcnJvciYgZXJyb3IsIFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBWZWN0
b3I8dWludDhfdD4mIGRhdGEpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICBB
U1NFUlQoIXJlcXVlc3QuaXNFbXB0eSgpKTsKQEAgLTM3Niw3ICszNzcsNyBAQCB2b2lkIFJlc291
cmNlSGFuZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2luZ0Nv
bnRleHQqIGNvbnRleAogICAgIGJvb2wgZGVmZXJzTG9hZGluZyA9IGZhbHNlOwogICAgIGJvb2wg
c2hvdWxkQ29udGVudFNuaWZmID0gdHJ1ZTsKICAgICBib29sIHNob3VsZENvbnRlbnRFbmNvZGlu
Z1NuaWZmID0gdHJ1ZTsKLSAgICBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IGhhbmRsZSA9IGFkb3B0
UmVmKG5ldyBSZXNvdXJjZUhhbmRsZShjb250ZXh0LCByZXF1ZXN0LCAmY2xpZW50LCBkZWZlcnNM
b2FkaW5nLCBzaG91bGRDb250ZW50U25pZmYsIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKSk7
CisgICAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBoYW5kbGUgPSBhZG9wdFJlZihuZXcgUmVzb3Vy
Y2VIYW5kbGUoY29udGV4dCwgcmVxdWVzdCwgJmNsaWVudCwgZGVmZXJzTG9hZGluZywgc2hvdWxk
Q29udGVudFNuaWZmLCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwgbnVsbHB0ciwgZmFsc2Up
KTsKICAgICBoYW5kbGUtPmQtPm1fbWVzc2FnZVF1ZXVlID0gJmNsaWVudC5tZXNzYWdlUXVldWUo
KTsKIAogICAgIGlmIChyZXF1ZXN0LnVybCgpLnByb3RvY29sSXNEYXRhKCkpIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9TeW5jaHJvbm91c0xvYWRl
ckNsaWVudEN1cmwuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1N5
bmNocm9ub3VzTG9hZGVyQ2xpZW50Q3VybC5jcHAKaW5kZXggODFhZmZhYmI3N2I2MTYxOWVmMDQ2
NzYzYjE2MDgwNTlhNGU5MDFiYS4uNTcyMGUyNGRmOGEwMGFmZTdhOWIxOGQwNGIyMDI0NGU1OTEx
YzFjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1N5
bmNocm9ub3VzTG9hZGVyQ2xpZW50Q3VybC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9jdXJsL1N5bmNocm9ub3VzTG9hZGVyQ2xpZW50Q3VybC5jcHAKQEAgLTMxLDYg
KzMxLDcgQEAKICNpbmNsdWRlICJBdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oIgogI2luY2x1ZGUg
Ik5vdEltcGxlbWVudGVkLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgor
I2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5k
bGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhh
bmRsZU1hYy5tbQppbmRleCBmMmMxZWQ2NjQyZTZiN2JjYmRjZmEzMjdhYWY4MmU5YjAzN2FhNGE1
Li5iYzQ0Y2JiNGNhMTQ2ZjE0MDVlMWFkYmZiYTczNDg5MDJmOGE4MGQ4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRsZU1h
Yy5tbQpAQCAtMzUxLDcgKzM1MSw3IEBAIENGU3RyaW5nUmVmIFJlc291cmNlSGFuZGxlOjpzeW5j
aHJvbm91c0xvYWRSdW5Mb29wTW9kZSgpCiAgICAgcmV0dXJuIENGU1RSKCJXZWJDb3JlU3luY2hy
b25vdXNMb2FkZXJSdW5Mb29wTW9kZSIpOwogfQogCi12b2lkIFJlc291cmNlSGFuZGxlOjpwbGF0
Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQs
IGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kg
c3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIFJlc291cmNlRXJyb3ImIGVycm9yLCBSZXNvdXJjZVJl
c3BvbnNlJiByZXNwb25zZSwgVmVjdG9yPHVpbnQ4X3Q+JiBkYXRhKQordm9pZCBSZXNvdXJjZUhh
bmRsZTo6cGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0
KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFN0b3JlZENyZWRlbnRp
YWxzUG9saWN5IHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBTZWN1cml0eU9yaWdpbiogc291cmNl
T3JpZ2luLCBSZXNvdXJjZUVycm9yJiBlcnJvciwgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2Us
IFZlY3Rvcjx1aW50OF90PiYgZGF0YSkKIHsKICAgICBMT0coTmV0d29yaywgIlJlc291cmNlSGFu
ZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHk6JUAgc3RvcmVkQ3JlZGVudGlh
bHNQb2xpY3k6JXUiLCByZXF1ZXN0Lm5zVVJMUmVxdWVzdChIVFRQQm9keVVwZGF0ZVBvbGljeTo6
RG9Ob3RVcGRhdGVIVFRQQm9keSksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihzdG9yZWRDcmVkZW50
aWFsc1BvbGljeSkpOwogCkBAIC0zNjMsNyArMzYzLDcgQEAgdm9pZCBSZXNvdXJjZUhhbmRsZTo6
cGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0KiBjb250
ZXgKICAgICBib29sIGRlZmVyc0xvYWRpbmcgPSBmYWxzZTsKICAgICBib29sIHNob3VsZENvbnRl
bnRTbmlmZiA9IHRydWU7CiAgICAgYm9vbCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiA9IHRy
dWU7Ci0gICAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBoYW5kbGUgPSBhZG9wdFJlZihuZXcgUmVz
b3VyY2VIYW5kbGUoY29udGV4dCwgcmVxdWVzdCwgJmNsaWVudCwgZGVmZXJzTG9hZGluZywgc2hv
dWxkQ29udGVudFNuaWZmLCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZikpOworICAgIFJlZlB0
cjxSZXNvdXJjZUhhbmRsZT4gaGFuZGxlID0gYWRvcHRSZWYobmV3IFJlc291cmNlSGFuZGxlKGNv
bnRleHQsIHJlcXVlc3QsICZjbGllbnQsIGRlZmVyc0xvYWRpbmcsIHNob3VsZENvbnRlbnRTbmlm
Ziwgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYsIHNvdXJjZU9yaWdpbiwgZmFsc2UpKTsKIAog
ICAgIGhhbmRsZS0+ZC0+bV9zdG9yYWdlU2Vzc2lvbiA9IGNvbnRleHQtPnN0b3JhZ2VTZXNzaW9u
KCktPnBsYXRmb3JtU2Vzc2lvbigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVs
ZWdhdGUubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlUmVz
b3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUubW0KaW5kZXggYzQzMjYxNjk2ZTNj
ZWRmMzZmN2UyZDM4YTA3ZGFlNGNhMmZlMjY0ZC4uNjViN2JhOGM0MTUzNjA5ZTY3ZWNmMTZmYzYy
NDAyYWViZTU0ZGEwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9tYWMvV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhh
bmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5tbQpAQCAtMTQxLDYgKzE0MSw3IEBAIHN0YXRp
YyBib29sIHNjaGVkdWxlZFdpdGhDdXN0b21SdW5Mb29wTW9kZShjb25zdCBzdGQ6Om9wdGlvbmFs
PFNjaGVkdWxlUGFpckhhc2hTCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAorICAg
ICAgICBSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlKHJlZGlyZWN0UmVzcG9uc2UuZ2V0KCkpOwog
ICAgICAgICBSZXNvdXJjZVJlcXVlc3QgcmVkaXJlY3RSZXF1ZXN0ID0gbmV3UmVxdWVzdC5nZXQo
KTsKICAgICAgICAgaWYgKFtuZXdSZXF1ZXN0LmdldCgpIEhUVFBCb2R5U3RyZWFtXSkgewogICAg
ICAgICAgICAgQVNTRVJUKG1faGFuZGxlLT5maXJzdFJlcXVlc3QoKS5odHRwQm9keSgpKTsKQEAg
LTE1MCwxMCArMTUxLDEzIEBAIHN0YXRpYyBib29sIHNjaGVkdWxlZFdpdGhDdXN0b21SdW5Mb29w
TW9kZShjb25zdCBzdGQ6Om9wdGlvbmFsPFNjaGVkdWxlUGFpckhhc2hTCiAgICAgICAgICAgICBy
ZWRpcmVjdFJlcXVlc3QuY2xlYXJIVFRQQ29udGVudFR5cGUoKTsKIAogICAgICAgICAvLyBDaGVj
ayBpZiB0aGUgcmVkaXJlY3RlZCB1cmwgaXMgYWxsb3dlZCB0byBhY2Nlc3MgdGhlIHJlZGlyZWN0
aW5nIHVybCdzIHRpbWluZyBpbmZvcm1hdGlvbi4KLSAgICAgICAgbV9oYW5kbGUtPnNldEhhc0Ny
b3NzT3JpZ2luUmVkaXJlY3QoIVdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luOjpjcmVhdGUocmVkaXJl
Y3RSZXF1ZXN0LnVybCgpKS0+Y2FuUmVxdWVzdChyZWRpcmVjdFJlc3BvbnNlLmdldCgpLlVSTCkp
OworICAgICAgICBpZiAoIW1faGFuZGxlLT5oYXNDcm9zc09yaWdpblJlZGlyZWN0KCkgJiYgIVdl
YkNvcmU6OlNlY3VyaXR5T3JpZ2luOjpjcmVhdGUocmVkaXJlY3RSZXF1ZXN0LnVybCgpKS0+Y2Fu
UmVxdWVzdChyZWRpcmVjdFJlc3BvbnNlLmdldCgpLlVSTCkpCisgICAgICAgICAgICBtX2hhbmRs
ZS0+bWFya0FzSGF2aW5nQ3Jvc3NPcmlnaW5SZWRpcmVjdCgpOworICAgICAgICBtX2hhbmRsZS0+
Y2hlY2tUQU8ocmVzcG9uc2UpOworCiAgICAgICAgIG1faGFuZGxlLT5pbmNyZW1lbnRSZWRpcmVj
dENvdW50KCk7CiAKLSAgICAgICAgbV9oYW5kbGUtPndpbGxTZW5kUmVxdWVzdChXVEZNb3ZlKHJl
ZGlyZWN0UmVxdWVzdCksIHJlZGlyZWN0UmVzcG9uc2UuZ2V0KCksIFtzZWxmLCBwcm90ZWN0ZWRT
ZWxmID0gV1RGTW92ZShwcm90ZWN0ZWRTZWxmKV0oUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCkg
eworICAgICAgICBtX2hhbmRsZS0+d2lsbFNlbmRSZXF1ZXN0KFdURk1vdmUocmVkaXJlY3RSZXF1
ZXN0KSwgV1RGTW92ZShyZXNwb25zZSksIFtzZWxmLCBwcm90ZWN0ZWRTZWxmID0gV1RGTW92ZShw
cm90ZWN0ZWRTZWxmKV0oUmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCkgewogICAgICAgICAgICAg
bV9yZXF1ZXN0UmVzdWx0ID0gcmVxdWVzdC5uc1VSTFJlcXVlc3QoSFRUUEJvZHlVcGRhdGVQb2xp
Y3k6OlVwZGF0ZUhUVFBCb2R5KTsKICAgICAgICAgICAgIG1fc2VtYXBob3JlLnNpZ25hbCgpOwog
ICAgICAgICB9KTsKQEAgLTI1Nyw4ICsyNjEsMTAgQEAgQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1F
TlRBVElPTlNfRU5ECiAgICAgICAgIGlmIChbbV9oYW5kbGUtPmZpcnN0UmVxdWVzdCgpLm5zVVJM
UmVxdWVzdChIVFRQQm9keVVwZGF0ZVBvbGljeTo6RG9Ob3RVcGRhdGVIVFRQQm9keSkgX3Byb3Bl
cnR5Rm9yS2V5OkAiRm9yY2VIVE1MTUlNRVR5cGUiXSkKICAgICAgICAgICAgIFtyIF9zZXRNSU1F
VHlwZTpAInRleHQvaHRtbCJdOwogCi0gICAgICAgIGF1dG8gbWV0cmljcyA9IGNvcHlUaW1pbmdE
YXRhKGNvbm5lY3Rpb24uZ2V0KCksICptX2hhbmRsZSk7CiAgICAgICAgIFJlc291cmNlUmVzcG9u
c2UgcmVzb3VyY2VSZXNwb25zZShyLmdldCgpKTsKKyAgICAgICAgbV9oYW5kbGUtPmNoZWNrVEFP
KHJlc291cmNlUmVzcG9uc2UpOworCisgICAgICAgIGF1dG8gbWV0cmljcyA9IGNvcHlUaW1pbmdE
YXRhKGNvbm5lY3Rpb24uZ2V0KCksICptX2hhbmRsZSk7CiAgICAgICAgIHJlc291cmNlUmVzcG9u
c2Uuc2V0U291cmNlKFJlc291cmNlUmVzcG9uc2U6OlNvdXJjZTo6TmV0d29yayk7CiAgICAgICAg
IHJlc291cmNlUmVzcG9uc2Uuc2V0RGVwcmVjYXRlZE5ldHdvcmtMb2FkTWV0cmljcyhCb3g8TmV0
d29ya0xvYWRNZXRyaWNzPiB7IG1ldHJpY3MgfSk7CiAKQEAgLTMzMyw2ICszMzksNyBAQCBBTExP
V19ERVBSRUNBVEVEX0lNUExFTUVOVEFUSU9OU19FTkQKICAgICAgICAgICAgICAgICBtZXRyaWNz
LT5yZXNwb25zZUVuZCA9IFdhbGxUaW1lOjpmcm9tUmF3U2Vjb25kcyhhZG9wdE5TKFtbTlNEYXRl
IGFsbG9jXSBpbml0V2l0aFRpbWVJbnRlcnZhbFNpbmNlUmVmZXJlbmNlRGF0ZTpyZXNwb25zZUVu
ZFRpbWVdKS5nZXQoKS50aW1lSW50ZXJ2YWxTaW5jZTE5NzApLmFwcHJveGltYXRlTW9ub3Rvbmlj
VGltZSgpOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIG1ldHJpY3MtPnJlc3Bv
bnNlRW5kID0gbWV0cmljcy0+cmVzcG9uc2VTdGFydDsKKyAgICAgICAgICAgIG1ldHJpY3MtPnBy
b3RvY29sID0gKE5TU3RyaW5nICopW3RpbWluZ0RhdGEgb2JqZWN0Rm9yS2V5OkAiX2tDRk5UaW1p
bmdEYXRhTmV0d29ya1Byb3RvY29sTmFtZSJdOwogICAgICAgICAgICAgbWV0cmljcy0+cmVzcG9u
c2VCb2R5Qnl0ZXNSZWNlaXZlZCA9IFtbdGltaW5nRGF0YSBvYmplY3RGb3JLZXk6QCJfa0NGTlRp
bWluZ0RhdGFSZXNwb25zZUJvZHlCeXRlc1JlY2VpdmVkIl0gdW5zaWduZWRMb25nTG9uZ1ZhbHVl
XTsKICAgICAgICAgICAgIG1ldHJpY3MtPnJlc3BvbnNlQm9keURlY29kZWRTaXplID0gW1t0aW1p
bmdEYXRhIG9iamVjdEZvcktleTpAIl9rQ0ZOVGltaW5nRGF0YVJlc3BvbnNlQm9keUJ5dGVzRGVj
b2RlZCJdIHVuc2lnbmVkTG9uZ0xvbmdWYWx1ZV07CiAgICAgICAgICAgICBtZXRyaWNzLT5tYXJr
Q29tcGxldGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
c291cC9DcmVkZW50aWFsU3RvcmFnZVNvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9zb3VwL0NyZWRlbnRpYWxTdG9yYWdlU291cC5jcHAKaW5kZXggZTVlYzE2Zjk1MjYw
MjZkZWE0ZDBlYTY2ZjM5ZjMxMDk3MGNkNGM4Ni4uNTM1N2UyODM5OWE4MDc2ZmIyYzlmZjAyMzZi
Y2QwYjM1NmFkMjczMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9zb3VwL0NyZWRlbnRpYWxTdG9yYWdlU291cC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9zb3VwL0NyZWRlbnRpYWxTdG9yYWdlU291cC5jcHAKQEAgLTI5LDYgKzI5
LDcgQEAKICNpZiBVU0UoU09VUCkKIAogI2luY2x1ZGUgIkNyZWRlbnRpYWwuaCIKKyNpbmNsdWRl
ICJTZWN1cml0eU9yaWdpbi5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxl
U291cC5jcHAKaW5kZXggNjhhZDQ2NDE3MTM2MGVlOWE4ODY5NTczNjFlNzhmNWI4NGQyNDBkMS4u
NDk3NTRjZDdmMTAzZGQxODVkN2ExNzg1MWU5NWNlMmU0NTU5MTBlNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxl
U291cC5jcHAKQEAgLTEyNyw3ICsxMjcsNyBAQCB2b2lkIFJlc291cmNlSGFuZGxlOjpwbGF0Zm9y
bVNldERlZmVyc0xvYWRpbmcoYm9vbCkKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAot
dm9pZCBSZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KE5l
dHdvcmtpbmdDb250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgU3RvcmVkQ3JlZGVudGlh
bHNQb2xpY3ksIFJlc291cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlJiwgVmVjdG9yPHVpbnQ4
X3Q+JikKK3ZvaWQgUmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25v
dXNseShOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFN0b3JlZENy
ZWRlbnRpYWxzUG9saWN5LCBTZWN1cml0eU9yaWdpbiosIFJlc291cmNlRXJyb3ImLCBSZXNvdXJj
ZVJlc3BvbnNlJiwgVmVjdG9yPHVpbnQ4X3Q+JikKIHsKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xv
YWRQYXJhbWV0ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2Fk
UGFyYW1ldGVycy5oCmluZGV4IGY4ZDYxN2FlOTNmMGRhYTllOGViZTliOTcwNTZlZjAwMzZlNGQz
OWMuLjA0Y2IwMzkwYzljZmQ4NmI5MTFkNDhmOWFmOWNkMTcyZThiM2E3MzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRQYXJhbWV0ZXJzLmgKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZFBhcmFtZXRlcnMuaApA
QCAtNDgsNiArNDgsNyBAQCBwdWJsaWM6CiAgICAgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgd2Vi
UGFnZUlEOwogICAgIFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciB3ZWJGcmFtZUlEOwogICAgIFJl
ZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4gdG9wT3JpZ2luOworICAgIFJlZlB0cjxXZWJD
b3JlOjpTZWN1cml0eU9yaWdpbj4gc291cmNlT3JpZ2luOwogICAgIFdURjo6UHJvY2Vzc0lEIHBh
cmVudFBJRCB7IDAgfTsKICNpZiBIQVZFKEFVRElUX1RPS0VOKQogICAgIHN0ZDo6b3B0aW9uYWw8
YXVkaXRfdG9rZW5fdD4gbmV0d29ya1Byb2Nlc3NBdWRpdFRva2VuOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5o
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1l
dGVycy5oCmluZGV4IGYwZTQyMGY1MTAzZWJkNTFhZmQ3Y2U4OWNiYjdiMzVmOTYyNWEzNTkuLjIy
MmQ2ZjRhNzQ3NmM5MTM4M2Y3YTNhNTk3Njk5NWU1NmViMzcwZjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJh
bWV0ZXJzLmgKQEAgLTUyLDcgKzUyLDYgQEAgcHVibGljOgogICAgIFZlY3RvcjxSZWZQdHI8U2Fu
ZGJveEV4dGVuc2lvbj4+IHJlcXVlc3RCb2R5U2FuZGJveEV4dGVuc2lvbnM7IC8vIENyZWF0ZWQg
YXV0b21hdGljYWxseSBmb3IgdGhlIHNlbmRlci4KICAgICBSZWZQdHI8U2FuZGJveEV4dGVuc2lv
bj4gcmVzb3VyY2VTYW5kYm94RXh0ZW5zaW9uOyAvLyBDcmVhdGVkIGF1dG9tYXRpY2FsbHkgZm9y
IHRoZSBzZW5kZXIuCiAgICAgU2Vjb25kcyBtYXhpbXVtQnVmZmVyaW5nVGltZTsKLSAgICBSZWZQ
dHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+IHNvdXJjZU9yaWdpbjsKICAgICBXZWJDb3JlOjpG
ZXRjaE9wdGlvbnMgb3B0aW9uczsKICAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkNvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycz4gY3NwUmVzcG9uc2VIZWFkZXJzOwogICAgIFdl
YkNvcmU6OkhUVFBIZWFkZXJNYXAgb3JpZ2luYWxSZXF1ZXN0SGVhZGVyczsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApp
bmRleCAwODRiZGUxYjNmYzFiZTY1YzhmZDc0MGRiMGI0MjI1MGRjYTY4M2E1Li5lYzE2ZDk3MmQz
NGJlMTI5MDM4ZjNjYTZiMjM2MzQzY2Y3MGI1NDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC04Niw3ICs4
Niw3IEBAIHN0cnVjdCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OlN5bmNocm9ub3VzTG9hZERhdGEg
ewogICAgIFJlc291cmNlRXJyb3IgZXJyb3I7CiB9OwogCi1zdGF0aWMgdm9pZCBzZW5kUmVwbHlU
b1N5bmNocm9ub3VzUmVxdWVzdChOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OlN5bmNocm9ub3VzTG9h
ZERhdGEmIGRhdGEsIGNvbnN0IFNoYXJlZEJ1ZmZlciogYnVmZmVyKQorc3RhdGljIHZvaWQgc2Vu
ZFJlcGx5VG9TeW5jaHJvbm91c1JlcXVlc3QoTmV0d29ya1Jlc291cmNlTG9hZGVyOjpTeW5jaHJv
bm91c0xvYWREYXRhJiBkYXRhLCBjb25zdCBTaGFyZWRCdWZmZXIqIGJ1ZmZlciwgY29uc3QgTmV0
d29ya0xvYWRNZXRyaWNzJiBtZXRyaWNzKQogewogICAgIEFTU0VSVChkYXRhLmRlbGF5ZWRSZXBs
eSk7CiAgICAgQVNTRVJUKCFkYXRhLnJlc3BvbnNlLmlzTnVsbCgpIHx8ICFkYXRhLmVycm9yLmlz
TnVsbCgpKTsKQEAgLTk1LDYgKzk1LDggQEAgc3RhdGljIHZvaWQgc2VuZFJlcGx5VG9TeW5jaHJv
bm91c1JlcXVlc3QoTmV0d29ya1Jlc291cmNlTG9hZGVyOjpTeW5jaHJvbm91c0xvYWQKICAgICBp
ZiAoYnVmZmVyICYmIGJ1ZmZlci0+c2l6ZSgpKQogICAgICAgICByZXNwb25zZUJ1ZmZlci5hcHBl
bmQoYnVmZmVyLT5kYXRhKCksIGJ1ZmZlci0+c2l6ZSgpKTsKIAorICAgIGRhdGEucmVzcG9uc2Uu
c2V0RGVwcmVjYXRlZE5ldHdvcmtMb2FkTWV0cmljcyhCb3g8TmV0d29ya0xvYWRNZXRyaWNzPjo6
Y3JlYXRlKG1ldHJpY3MpKTsKKwogICAgIGRhdGEuZGVsYXllZFJlcGx5KGRhdGEuZXJyb3IsIGRh
dGEucmVzcG9uc2UsIHJlc3BvbnNlQnVmZmVyKTsKICAgICBkYXRhLmRlbGF5ZWRSZXBseSA9IG51
bGxwdHI7CiB9CkBAIC03MjgsNyArNzMwLDcgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6
OmRpZEZpbmlzaExvYWRpbmcoY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJiBuZXR3b3JrTG8KICNl
bmRpZgogCiAgICAgaWYgKGlzU3luY2hyb25vdXMoKSkKLSAgICAgICAgc2VuZFJlcGx5VG9TeW5j
aHJvbm91c1JlcXVlc3QoKm1fc3luY2hyb25vdXNMb2FkRGF0YSwgbV9idWZmZXJlZERhdGEuZ2V0
KCkpOworICAgICAgICBzZW5kUmVwbHlUb1N5bmNocm9ub3VzUmVxdWVzdCgqbV9zeW5jaHJvbm91
c0xvYWREYXRhLCBtX2J1ZmZlcmVkRGF0YS5nZXQoKSwgbmV0d29ya0xvYWRNZXRyaWNzKTsKICAg
ICBlbHNlIHsKICAgICAgICAgaWYgKG1fYnVmZmVyZWREYXRhICYmICFtX2J1ZmZlcmVkRGF0YS0+
aXNFbXB0eSgpKSB7CiAgICAgICAgICAgICAvLyBGSVhNRTogUGFzcyBhIHJlYWwgdmFsdWUgb3Ig
cmVtb3ZlIHRoZSBlbmNvZGVkIGRhdGEgc2l6ZSBmZWF0dXJlLgpAQCAtNzYzLDcgKzc2NSw3IEBA
IHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRGYWlsTG9hZGluZyhjb25zdCBSZXNvdXJj
ZUVycm9yJiBlcnJvcikKIAogICAgIGlmIChpc1N5bmNocm9ub3VzKCkpIHsKICAgICAgICAgbV9z
eW5jaHJvbm91c0xvYWREYXRhLT5lcnJvciA9IGVycm9yOwotICAgICAgICBzZW5kUmVwbHlUb1N5
bmNocm9ub3VzUmVxdWVzdCgqbV9zeW5jaHJvbm91c0xvYWREYXRhLCBudWxscHRyKTsKKyAgICAg
ICAgc2VuZFJlcGx5VG9TeW5jaHJvbm91c1JlcXVlc3QoKm1fc3luY2hyb25vdXNMb2FkRGF0YSwg
bnVsbHB0ciwgeyB9KTsKICAgICB9IGVsc2UgaWYgKGF1dG8qIGNvbm5lY3Rpb24gPSBtZXNzYWdl
U2VuZGVyQ29ubmVjdGlvbigpKSB7CiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogICAgICAg
ICBpZiAobV9zZXJ2aWNlV29ya2VyRmV0Y2hUYXNrKQpAQCAtMTE0Miw3ICsxMTQ0LDcgQEAgdm9p
ZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpZFJldHJpZXZlQ2FjaGVFbnRyeShzdGQ6OnVuaXF1
ZV9wdHI8TmV0d29ya0NhY2hlOjoKICAgICByZXNwb25zZSA9IHNhbml0aXplUmVzcG9uc2VJZlBv
c3NpYmxlKFdURk1vdmUocmVzcG9uc2UpLCBSZXNvdXJjZVJlc3BvbnNlOjpTYW5pdGl6YXRpb25U
eXBlOjpDcm9zc09yaWdpblNhZmUpOwogICAgIGlmIChpc1N5bmNocm9ub3VzKCkpIHsKICAgICAg
ICAgbV9zeW5jaHJvbm91c0xvYWREYXRhLT5yZXNwb25zZSA9IFdURk1vdmUocmVzcG9uc2UpOwot
ICAgICAgICBzZW5kUmVwbHlUb1N5bmNocm9ub3VzUmVxdWVzdCgqbV9zeW5jaHJvbm91c0xvYWRE
YXRhLCBlbnRyeS0+YnVmZmVyKCkpOworICAgICAgICBzZW5kUmVwbHlUb1N5bmNocm9ub3VzUmVx
dWVzdCgqbV9zeW5jaHJvbm91c0xvYWREYXRhLCBlbnRyeS0+YnVmZmVyKCksIHsgfSk7CiAgICAg
ICAgIGNsZWFudXAoTG9hZFJlc3VsdDo6U3VjY2Vzcyk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtE
YXRhVGFza0NvY29hLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdv
cmtEYXRhVGFza0NvY29hLmgKaW5kZXggZmFkMjQ4ZTkzOTQ2ODczYzI2OWJkOThhZDQzNGNhNzQy
MTgwMDRhMy4uNGViYmQ5MGNjNjQ1ZGY1ZjlkZGJiODYwZDA4YWEzZWIwNTNjMmZmNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tD
b2NvYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0Rh
dGFUYXNrQ29jb2EuaApAQCAtODQsNiArODQsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRIMlBp
bmdDYWxsYmFjayhjb25zdCBVUkwmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPFdU
Rjo6U2Vjb25kcywgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4mJik+JiYpIG92ZXJyaWRlOwogICAg
IHZvaWQgc2V0UHJpb3JpdHkoV2ViQ29yZTo6UmVzb3VyY2VMb2FkUHJpb3JpdHkpIG92ZXJyaWRl
OwogCisgICAgdm9pZCBjaGVja1RBTyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7
CisKIHByaXZhdGU6CiAgICAgTmV0d29ya0RhdGFUYXNrQ29jb2EoTmV0d29ya1Nlc3Npb24mLCBO
ZXR3b3JrRGF0YVRhc2tDbGllbnQmLCBjb25zdCBOZXR3b3JrTG9hZFBhcmFtZXRlcnMmKTsKIApA
QCAtMTIwLDYgKzEyMiw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzRm9yTWFpblJlc291cmNl
TmF2aWdhdGlvbkZvckFueUZyYW1lIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNBbHdheXNPbkxv
Z2dpbmdBbGxvd2VkIHsgZmFsc2UgfTsKICAgICBXZWJDb3JlOjpTaG91bGRSZWxheFRoaXJkUGFy
dHlDb29raWVCbG9ja2luZyBtX3Nob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nIHsg
V2ViQ29yZTo6U2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tpbmc6Ok5vIH07CisgICAg
UmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPiBtX3NvdXJjZU9yaWdpbjsKIH07CiAKIFdl
YkNvcmU6OkNyZWRlbnRpYWwgc2VydmVyVHJ1c3RDcmVkZW50aWFsKGNvbnN0IFdlYkNvcmU6OkF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQppbmRleCBjZmRmZTEz
NjljZTZhOGU1ZmJlM2Y2ZmE0MTE1NzczMDI5NGY3MzIzLi4zNDBkN2RhYzI4NmI3M2I4M2M1MWVi
ZDBmNjgwZmM0YWJmOWRhZjk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KQEAgLTQwLDYgKzQwLDcg
QEAKICNpbXBvcnQgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KICNpbXBvcnQgPFdlYkNvcmUv
UmVnaXN0cmFibGVEb21haW4uaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+
CisjaW1wb3J0IDxXZWJDb3JlL1RpbWluZ0FsbG93T3JpZ2luLmg+CiAjaW1wb3J0IDxwYWwvc3Bp
L2NmL0NGTmV0d29ya1NQSS5oPgogI2ltcG9ydCA8d3RmL0Jsb2NrUHRyLmg+CiAjaW1wb3J0IDx3
dGYvRmlsZVN5c3RlbS5oPgpAQCAtMzAwLDYgKzMwMSw3IEBAIE5ldHdvcmtEYXRhVGFza0NvY29h
OjpOZXR3b3JrRGF0YVRhc2tDb2NvYShOZXR3b3JrU2Vzc2lvbiYgc2Vzc2lvbiwgTmV0d29ya0Rh
dGFUCiAgICAgLCBtX2lzRm9yTWFpblJlc291cmNlTmF2aWdhdGlvbkZvckFueUZyYW1lKHBhcmFt
ZXRlcnMuaXNNYWluUmVzb3VyY2VOYXZpZ2F0aW9uRm9yQW55RnJhbWUpCiAgICAgLCBtX2lzQWx3
YXlzT25Mb2dnaW5nQWxsb3dlZChjb21wdXRlSXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKHNlc3Np
b24pKQogICAgICwgbV9zaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZyhwYXJhbWV0
ZXJzLnNob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nKQorICAgICwgbV9zb3VyY2VP
cmlnaW4ocGFyYW1ldGVycy5zb3VyY2VPcmlnaW4pCiB7CiAgICAgYXV0byByZXF1ZXN0ID0gcGFy
YW1ldGVycy5yZXF1ZXN0OwogICAgIGF1dG8gdXJsID0gcmVxdWVzdC51cmwoKTsKQEAgLTQ2MCw5
ICs0NjIsNyBAQCB2b2lkIE5ldHdvcmtEYXRhVGFza0NvY29hOjp3aWxsUGVyZm9ybUhUVFBSZWRp
cmVjdGlvbihXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJgogewogICAgIFdURkVtaXRTaWducG9z
dChtX3Rhc2suZ2V0KCksICJEYXRhVGFzayIsICJyZWRpcmVjdCIpOwogCi0gICAgLy8gQ2hlY2sg
aWYgdGhlIHJlZGlyZWN0ZWQgdXJsIGlzIGFsbG93ZWQgdG8gYWNjZXNzIHRoZSByZWRpcmVjdGlu
ZyB1cmwncyB0aW1pbmcgaW5mb3JtYXRpb24uCi0gICAgLy8gRklYTUU6IFRoaXMgc2hvdWxkIG5v
dCBzZXQgYmFjayB0byB0cnVlIGFmdGVyIGFub3RoZXIgc2FtZS1vcmlnaW4gcmVkaXJlY3Qgb25j
ZSBpdCBoYXMgYmVlbiBzZXQgdG8gdHJ1ZS4KLSAgICBuZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXND
cm9zc09yaWdpblJlZGlyZWN0ID0gIVdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luOjpjcmVhdGUocmVx
dWVzdC51cmwoKSktPmNhblJlcXVlc3QocmVkaXJlY3RSZXNwb25zZS51cmwoKSk7CisgICAgbmV0
d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCA9IG5ldHdvcmtMb2FkTWV0
cmljcygpLmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QgfHwgIVdlYkNvcmU6OlNlY3VyaXR5T3JpZ2lu
OjpjcmVhdGUocmVxdWVzdC51cmwoKSktPmNhblJlcXVlc3QocmVkaXJlY3RSZXNwb25zZS51cmwo
KSk7CiAKICAgICBpZiAocmVkaXJlY3RSZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpID09IDMwNyB8
fCByZWRpcmVjdFJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkgPT0gMzA4KSB7CiAgICAgICAgIEFT
U0VSVChtX2xhc3RIVFRQTWV0aG9kID09IHJlcXVlc3QuaHR0cE1ldGhvZCgpKTsKQEAgLTcxOSw0
ICs3MTksMTkgQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tDb2NvYTo6c2V0UHJpb3JpdHkoV2ViQ29y
ZTo6UmVzb3VyY2VMb2FkUHJpb3JpdHkgcHJpb3JpdHkpCiAgICAgbV90YXNrLmdldCgpLnByaW9y
aXR5ID0gdG9OU1VSTFNlc3Npb25UYXNrUHJpb3JpdHkocHJpb3JpdHkpOwogfQogCit2b2lkIE5l
dHdvcmtEYXRhVGFza0NvY29hOjpjaGVja1RBTyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3Bv
bnNlJiByZXNwb25zZSkKK3sKKyAgICBpZiAobmV0d29ya0xvYWRNZXRyaWNzKCkuZmFpbHNUQU9D
aGVjaykKKyAgICAgICAgcmV0dXJuOworCisgICAgUmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3Jp
Z2luPiBvcmlnaW47CisgICAgaWYgKGlzVG9wTGV2ZWxOYXZpZ2F0aW9uKCkpCisgICAgICAgIG9y
aWdpbiA9IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luOjpjcmVhdGUoZmlyc3RSZXF1ZXN0KCkudXJs
KCkpOworICAgIGVsc2UKKyAgICAgICAgb3JpZ2luID0gbV9zb3VyY2VPcmlnaW47CisKKyAgICBp
ZiAob3JpZ2luKQorICAgICAgICBuZXR3b3JrTG9hZE1ldHJpY3MoKS5mYWlsc1RBT0NoZWNrID0g
IXBhc3Nlc1RpbWluZ0FsbG93T3JpZ2luQ2hlY2socmVzcG9uc2UsICpvcmlnaW4pOworfQorCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtT
ZXNzaW9uQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdv
cmtTZXNzaW9uQ29jb2EubW0KaW5kZXggYzY5NjI3ZGVlMjMxMGY1YzM0N2JhMTQ1ZGI2NGJkZWY5
MjNhMWI1NC4uZWUyYWZkYWI4ODIzODNhMTExMTJlZGUwZjQyYWY4ZjAyODkyYWZhMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrU2Vzc2lvbkNv
Y29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya1Nl
c3Npb25Db2NvYS5tbQpAQCAtNTU1LDcgKzU1NSwxMCBAQCBzdGF0aWMgdm9pZCB1cGRhdGVJZ25v
cmVTdHJpY3RUcmFuc3BvcnRTZWN1cml0eVNldHRpbmcoUmV0YWluUHRyPE5TVVJMUmVxdWVzdD4m
CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICNlbmRpZgogCi0gICAgICAgIG5l
dHdvcmtEYXRhVGFzay0+d2lsbFBlcmZvcm1IVFRQUmVkaXJlY3Rpb24ocmVzcG9uc2UsIHJlcXVl
c3QsIFtjb21wbGV0aW9uSGFuZGxlciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlciks
IHRhc2tJZGVudGlmaWVyLCBzaG91bGRJZ25vcmVIU1RTXShhdXRvJiYgcmVxdWVzdCkgeworICAg
ICAgICBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlc291cmNlUmVzcG9uc2UocmVzcG9uc2Up
OworICAgICAgICBuZXR3b3JrRGF0YVRhc2stPmNoZWNrVEFPKHJlc291cmNlUmVzcG9uc2UpOwor
CisgICAgICAgIG5ldHdvcmtEYXRhVGFzay0+d2lsbFBlcmZvcm1IVFRQUmVkaXJlY3Rpb24oV1RG
TW92ZShyZXNvdXJjZVJlc3BvbnNlKSwgcmVxdWVzdCwgW2NvbXBsZXRpb25IYW5kbGVyID0gbWFr
ZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5kbGVyKSwgdGFza0lkZW50aWZpZXIsIHNob3VsZElnbm9y
ZUhTVFNdKGF1dG8mJiByZXF1ZXN0KSB7CiAjaWYgIUxPR19ESVNBQkxFRAogICAgICAgICAgICAg
TE9HKE5ldHdvcmtTZXNzaW9uLCAiJWxsdSB3aWxsUGVyZm9ybUhUVFBSZWRpcmVjdGlvbiBjb21w
bGV0aW9uSGFuZGxlciAoJXMpIiwgdGFza0lkZW50aWZpZXIsIHJlcXVlc3QudXJsKCkuc3RyaW5n
KCkudXRmOCgpLmRhdGEoKSk7CiAjZWxzZQpAQCAtOTE1LDcgKzkxOCw5IEBAIHN0YXRpYyBpbmxp
bmUgdm9pZCBwcm9jZXNzU2VydmVyVHJ1c3RFdmFsdWF0aW9uKE5ldHdvcmtTZXNzaW9uQ29jb2Em
IHNlc3Npb24sIFNlCiAgICAgICAgIC8vIGFsbCB0aGUgZmllbGRzIHdoZW4gc2VuZGluZyB0aGUg
cmVzcG9uc2UgdG8gdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBvdmVyIElQQy4KICAgICAgICAgcmVz
b3VyY2VSZXNwb25zZS5kaXNhYmxlTGF6eUluaXRpYWxpemF0aW9uKCk7CiAKLSAgICAgICAgcmVz
b3VyY2VSZXNwb25zZS5zZXREZXByZWNhdGVkTmV0d29ya0xvYWRNZXRyaWNzKFdlYkNvcmU6OmNv
cHlUaW1pbmdEYXRhKHRhc2tNZXRyaWNzLCBuZXR3b3JrRGF0YVRhc2stPm5ldHdvcmtMb2FkTWV0
cmljcygpLmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QpKTsKKyAgICAgICAgbmV0d29ya0RhdGFUYXNr
LT5jaGVja1RBTyhyZXNvdXJjZVJlc3BvbnNlKTsKKworICAgICAgICByZXNvdXJjZVJlc3BvbnNl
LnNldERlcHJlY2F0ZWROZXR3b3JrTG9hZE1ldHJpY3MoV2ViQ29yZTo6Y29weVRpbWluZ0RhdGEo
dGFza01ldHJpY3MsIG5ldHdvcmtEYXRhVGFzay0+bmV0d29ya0xvYWRNZXRyaWNzKCkpKTsKIAog
ICAgICAgICBuZXR3b3JrRGF0YVRhc2stPmRpZFJlY2VpdmVSZXNwb25zZShXVEZNb3ZlKHJlc291
cmNlUmVzcG9uc2UpLCBuZWdvdGlhdGVkTGVnYWN5VExTLCBbY29tcGxldGlvbkhhbmRsZXIgPSBt
YWtlQmxvY2tQdHIoY29tcGxldGlvbkhhbmRsZXIpLCB0YXNrSWRlbnRpZmllcl0oV2ViQ29yZTo6
UG9saWN5QWN0aW9uIHBvbGljeUFjdGlvbikgewogI2lmICFMT0dfRElTQUJMRUQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrRGF0YVRhc2tTb3Vw
LmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrRGF0YVRhc2tT
b3VwLmNwcAppbmRleCA0NTc4MDc2MDVkNzgxYmUzMzQ4OTczNTc4NDlmMDBmNGMwZjVhYjVhLi4x
YjcyNDhiMDFhNjY0OTgyMmM0M2M1NzUxYzAxYWYyZDg1NjY4MTY0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya0RhdGFUYXNrU291cC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRhVGFza1NvdXAu
Y3BwCkBAIC04NjEsOCArODYxLDkgQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tTb3VwOjpjb250aW51
ZUhUVFBSZWRpcmVjdGlvbigpCiAgICAgICAgIHJlZGlyZWN0ZWRVUkwuc2V0RnJhZ21lbnRJZGVu
dGlmaWVyKHJlcXVlc3QudXJsKCkuZnJhZ21lbnRJZGVudGlmaWVyKCkpOwogICAgIHJlcXVlc3Qu
c2V0VVJMKHJlZGlyZWN0ZWRVUkwpOwogCi0gICAgLy8gQ2hlY2sgaWYgdGhlIHJlZGlyZWN0ZWQg
dXJsIGlzIGFsbG93ZWQgdG8gYWNjZXNzIHRoZSByZWRpcmVjdGluZyB1cmwncyB0aW1pbmcgaW5m
b3JtYXRpb24uCi0gICAgbV9uZXR3b3JrTG9hZE1ldHJpY3MuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVj
dCA9ICFTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKG1fY3VycmVudFJlcXVlc3QudXJsKCkpLT5jYW5S
ZXF1ZXN0KHJlcXVlc3QudXJsKCkpOworICAgIG1fbmV0d29ya0xvYWRNZXRyaWNzLmhhc0Nyb3Nz
T3JpZ2luUmVkaXJlY3QgPSBtX25ldHdvcmtMb2FkTWV0cmljcy5oYXNDcm9zc09yaWdpblJlZGly
ZWN0IHx8ICFTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKG1fY3VycmVudFJlcXVlc3QudXJsKCkpLT5j
YW5SZXF1ZXN0KHJlcXVlc3QudXJsKCkpOworICAgIC8vIEZJWE1FOiBBZGQgVEFPIGNoZWNrcyBo
ZXJlIGFuZCB3aGVuIHJlY2VpdmluZyBhIHJlc3BvbnNlLgorICAgIC8vIFRoaXMgd2FzIGRvbmUg
b24gQ29jb2EgcGxhdGZvcm1zIGluIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjY2NzgKIAogICAgIC8vIENsZWFyIHRoZSB1c2VyIGFnZW50IHRvIGVuc3VyZSBhIG5l
dyBvbmUgaXMgY29tcHV0ZWQuCiAgICAgYXV0byB1c2VyQWdlbnQgPSByZXF1ZXN0Lmh0dHBVc2Vy
QWdlbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvV2ViQ29yZVN1cHBvcnQv
UGluZ0hhbmRsZS5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9XZWJDb3JlU3VwcG9ydC9QaW5nSGFu
ZGxlLmgKaW5kZXggMDkyOWNlZjk3ODljMGNjZjExYTNlOTQxMGY1ZGU2ZmZjYWZlYmE2MC4uMWY1
NTg0ZmEzODdkNzZjY2U5NGZmN2I1Njk2OGU3ZTgyMjA2MDYwNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdExlZ2FjeS9XZWJDb3JlU3VwcG9ydC9QaW5nSGFuZGxlLmgKKysrIGIvU291cmNlL1dl
YktpdExlZ2FjeS9XZWJDb3JlU3VwcG9ydC9QaW5nSGFuZGxlLmgKQEAgLTUwLDcgKzUwLDcgQEAg
cHVibGljOgogICAgICAgICBib29sIGRlZmVyc0xvYWRpbmcgPSBmYWxzZTsKICAgICAgICAgYm9v
bCBzaG91bGRDb250ZW50U25pZmYgPSBmYWxzZTsKICAgICAgICAgYm9vbCBzaG91bGRDb250ZW50
RW5jb2RpbmdTbmlmZiA9IHRydWU7Ci0gICAgICAgIG1faGFuZGxlID0gV2ViQ29yZTo6UmVzb3Vy
Y2VIYW5kbGU6OmNyZWF0ZShuZXR3b3JraW5nQ29udGV4dCwgcmVxdWVzdCwgdGhpcywgZGVmZXJz
TG9hZGluZywgc2hvdWxkQ29udGVudFNuaWZmLCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZik7
CisgICAgICAgIG1faGFuZGxlID0gV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmNyZWF0ZShuZXR3
b3JraW5nQ29udGV4dCwgcmVxdWVzdCwgdGhpcywgZGVmZXJzTG9hZGluZywgc2hvdWxkQ29udGVu
dFNuaWZmLCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwgbnVsbHB0ciwgZmFsc2UpOwogCiAg
ICAgICAgIC8vIElmIHRoZSBzZXJ2ZXIgbmV2ZXIgcmVzcG9uZHMsIHRoaXMgb2JqZWN0IHdpbGwg
aGFuZyBhcm91bmQgZm9yZXZlci4KICAgICAgICAgLy8gU2V0IGEgdmVyeSBnZW5lcm91cyB0aW1l
b3V0LCBqdXN0IGluIGNhc2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYkNv
cmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAKaW5kZXggOTFj
ODNhMDQzZjI3MzVhOTcwNDZmMWQzMjM4ZjBlZmFhZjNiNjM3ZS4uN2RjZmUwYjg3OWNhODU0NTY5
NjgzN2VlYzdjYTg5MGY5OThhOTkxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9X
ZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcApA
QCAtMTA5LDcgKzEwOSw5IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpsb2FkUmVz
b3VyY2UoRnJhbWUmIGZyYW1lLCBDYWNoZWRSZXNvdXJjZSYgcmVzb3VyCiAKIHZvaWQgV2ViUmVz
b3VyY2VMb2FkU2NoZWR1bGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KEZyYW1lTG9hZGVy
JiBmcmFtZUxvYWRlciwgdW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1
ZXN0LCBDbGllbnRDcmVkZW50aWFsUG9saWN5LCBjb25zdCBGZXRjaE9wdGlvbnMmIG9wdGlvbnMs
IGNvbnN0IEhUVFBIZWFkZXJNYXAmLCBSZXNvdXJjZUVycm9yJiBlcnJvciwgUmVzb3VyY2VSZXNw
b25zZSYgcmVzcG9uc2UsIFZlY3Rvcjx1aW50OF90PiYgZGF0YSkKIHsKLSAgICBSZXNvdXJjZUhh
bmRsZTo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShmcmFtZUxvYWRlci5uZXR3b3JraW5nQ29u
dGV4dCgpLCByZXF1ZXN0LCBvcHRpb25zLmNyZWRlbnRpYWxzID09IEZldGNoT3B0aW9uczo6Q3Jl
ZGVudGlhbHM6Ok9taXQgPyBTdG9yZWRDcmVkZW50aWFsc1BvbGljeTo6RG9Ob3RVc2UgOiBTdG9y
ZWRDcmVkZW50aWFsc1BvbGljeTo6VXNlLCBlcnJvciwgcmVzcG9uc2UsIGRhdGEpOworICAgIGF1
dG8qIGRvY3VtZW50ID0gZnJhbWVMb2FkZXIuZnJhbWUoKS5kb2N1bWVudCgpOworICAgIGF1dG8q
IHNvdXJjZU9yaWdpbiA9IGRvY3VtZW50ID8gJmRvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpIDog
bnVsbHB0cjsKKyAgICBSZXNvdXJjZUhhbmRsZTo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShm
cmFtZUxvYWRlci5uZXR3b3JraW5nQ29udGV4dCgpLCByZXF1ZXN0LCBvcHRpb25zLmNyZWRlbnRp
YWxzID09IEZldGNoT3B0aW9uczo6Q3JlZGVudGlhbHM6Ok9taXQgPyBTdG9yZWRDcmVkZW50aWFs
c1BvbGljeTo6RG9Ob3RVc2UgOiBTdG9yZWRDcmVkZW50aWFsc1BvbGljeTo6VXNlLCBzb3VyY2VP
cmlnaW4sIGVycm9yLCByZXNwb25zZSwgZGF0YSk7CiB9CiAKIHZvaWQgV2ViUmVzb3VyY2VMb2Fk
U2NoZWR1bGVyOjpwYWdlTG9hZENvbXBsZXRlZChQYWdlJikKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzZDFhZTNiYzAwY2U0
OWU3YjRiMTM3ODI4YTJlODVjMGUzYTAyMjQ4Li41MDYxZGYzN2YxNmZhYThkMDVhMDM0NDk4MjI1
ZTg4ZjkwZGE4OTQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDYtMDQgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBNb3ZlIFRpbWlu
Zy1BbGxvdy1PcmlnaW4gY2hlY2tzIHRvIHRoZSBuZXR3b3JrIHByb2Nlc3MKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjY3OAorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vNDUyMjc3ODg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTA2LTA0ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgSW1wbGVtZW50
IG9mZi1ieS1kZWZhdWx0IGV4cGVyaW1lbnRhbCBmZWF0dXJlIGZvciBQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nLnRyYW5zZmVyU2l6ZSwgZW5jb2RlZEJvZHlTaXplLCBhbmQgZGVjb2RlZEJvZHlT
aXplCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBkZGNhOGMyNjE0ZjFiY2Q2YTVi
ZTc3ZGY3NjM3YzJkMDQ0OGViOTJkLi45ZGJkMzNhMjMxMjgwYTFkNjRlOTk1OWFiYTAwOTdkZjQ1
OGEzMTBhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNTYgQEAK
KzIwMjEtMDYtMDQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4K
KworICAgICAgICBNb3ZlIFRpbWluZy1BbGxvdy1PcmlnaW4gY2hlY2tzIHRvIHRoZSBuZXR3b3Jr
IHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyNjY3OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDUyMjc3ODg+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL0NvZGluZ0NvbnZlbnRpb25zLm1kOiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1NPLVhPLVNPLXJlZGlyZWN0LWNoYWlu
LXRhby5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvU08tWE8tU08tcmVkaXJlY3QtY2hhaW4tdGFvLmh0dHBzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
U3ludGhldGljUmVzcG9uc2UucHk6CisgICAgICAgIChtYWluKToKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1tYXRjaC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW1hdGNo
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvVEFPLW51bGwtb3BhcXVlLW9yaWdpbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW51bGwtb3BhcXVlLW9yaWdp
bi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5zLWNyb3Nzb3JpZ2luLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tcG9y
dC1taXNtYXRjaC1tZWFucy1jcm9zc29yaWdpbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL19faW5pdF9fLnB5OiBBZGRlZC4KKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFkZC1h
ZnRlci1mdWxsLWV2ZW50LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFkZC1hZnRlci1mdWxsLWV2ZW50Lmh0bWw6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVs
bC1hZGQtZW50cmllcy1kdXJpbmctY2FsbGJhY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWVudHJpZXMt
ZHVyaW5nLWNhbGxiYWNrLXRoYXQtZHJvcC5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWVudHJpZXMtZHVyaW5nLWNhbGxi
YWNrLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9i
dWZmZXItZnVsbC1hZGQtdGhlbi1jbGVhci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtdGhlbi1jbGVhci5o
dG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVy
LWZ1bGwtZGVjcmVhc2UtYnVmZmVyLWR1cmluZy1jYWxsYmFjay5odG1sOgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5jcmVhc2UtYnVm
ZmVyLWR1cmluZy1jYWxsYmFjay1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbmNyZWFzZS1idWZmZXItZHVyaW5n
LWNhbGxiYWNrLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9idWZmZXItZnVsbC1pbnNwZWN0LWJ1ZmZlci1kdXJpbmctY2FsbGJhY2stZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVy
LWZ1bGwtaW5zcGVjdC1idWZmZXItZHVyaW5nLWNhbGxiYWNrLmh0bWw6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zZXQtdG8tY3VycmVu
dC1idWZmZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc2V0LXRvLWN1cnJlbnQtYnVmZmVyLmh0bWw6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zdG9y
ZS1hbmQtY2xlYXItZHVyaW5nLWNhbGxiYWNrLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXN0b3JlLWFuZC1jbGVh
ci1kdXJpbmctY2FsbGJhY2suaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXRoZW4taW5jcmVhc2VkLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXRo
ZW4taW5jcmVhc2VkLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9idWZmZXItZnVsbC13aGVuLXBvcHVsYXRlLWVudHJpZXMtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwt
d2hlbi1wb3B1bGF0ZS1lbnRyaWVzLmh0bWw6CisgICAgICAgIEFsbCB0aGVzZSBidWZmZXItZnVs
bCB0ZXN0cyBzdGFydCBmYWlsaW5nIHdoZW4gSSB1cGRhdGUgdGhlbS4KKyAgICAgICAgVGhhdCBp
cyBhbiB1bnJlbGF0ZWQgYnVnLiAgRmlyZWZveCBoYXMgdGhlIHNhbWUgYnVnLCBhbmQgd2UgaGFk
IHRoZSBzYW1lIGJ1ZyBiZWZvcmUgYW5kIGFmdGVyIHRoaXMgY2hhbmdlLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1yZXVzZS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvY29ubmVjdGlvbi1yZXVzZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHR0cHMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nv
bm5lY3Rpb24tcmV1c2UuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhcnQtZW5kLXRpbWUtd2l0aC1y
ZWRpcmVjdHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1zdGFydC1lbmQtdGltZS13aXRoLXJlZGly
ZWN0cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2Nyb3NzLW9yaWdpbi1zdGF0dXMtY29kZXMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3Qtb3Bl
bmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9kb2N1bWVudC1kb21haW4tbm8taW1wYWN0LW9wZW5lci5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2VudHJ5LWF0
dHJpYnV0ZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2VudHJ5LWF0dHJpYnV0ZXMuaHRtbDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mZXRjaC1jcm9zcy1vcmlnaW4t
cmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZldGNoLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odHRw
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL2ZvbnQtdGltZXN0YW1wcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZm9udC10aW1lc3RhbXBzLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaWZyYW1lLWZh
aWxlZC1jb21taXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL2lmcmFtZS1mYWlsZWQtY29tbWl0Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaW5pdGlhdG9yLXR5
cGUtZm9yLXNjcmlwdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaW5pdGlhdG9yLXR5cGUtZm9yLXNjcmlwdC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL25leHRI
b3BQcm90b2NvbC1pcy10YW8tcHJvdGVjdGVkLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9uZXh0SG9wUHJvdG9j
b2wtaXMtdGFvLXByb3RlY3RlZC5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItVEFPLWNy
b3NzLW9yaWdpbi1yZWRpcmVjdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1UQU8t
Y3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1jcm9zcy1vcmln
aW4tcmVkaXJlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItY3Jvc3Mtb3JpZ2lu
LXJlZGlyZWN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvcmVkaXJlY3RzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZWRpcmVjdHMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25v
cmUtZGF0YS11cmwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlLWlnbm9yZS1kYXRhLXVybC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
X1RBT19jcm9zc19vcmlnaW5fcmVkaXJlY3RfY2hhaW4tZXhwZWN0ZWQudHh0OgorICAgICAgICBU
aGlzIGFwcGFyZW50IHJlZ3Jlc3Npb24gaXMgYWN0dWFsbHkgYSBwcm9ncmVzc2lvbi4KKyAgICAg
ICAgV2hlbiB0aGlzIHRlc3QgaXMgcnVuIGZyb20gb3VyIHRlc3QgaW5mcmFzdHJ1Y3R1cmUsIENo
cm9tZSBhbmQgRmlyZWZveCBmYWlsIHRoZSBzYW1lIHRlc3RzIHRoYXQgeW91IHNlZSBub3cgZmFp
bGluZyBoZXJlLAorICAgICAgICBpbmRpY2F0aW5nIHRoYXQgc29tZXRoaW5nIGlzIHdyb25nIHdp
dGggb3VyIHRlc3QgaW5mcmFzdHJ1Y3R1cmUuICBXaGVuIHJ1biBvbiB3cHQubGl2ZSwgYWxsIGJy
b3dzZXJzIHBhc3MgdGhpcyB0ZXN0CisgICAgICAgIGFmdGVyIHRoaXMgY2hhbmdlLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfY2FjaGVkLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9uZXN0ZWRfZGVkaWNhdGVkX3dvcmtlci53b3Jr
ZXIuanM6CisgICAgICAgIChhc3luY190ZXN0KToKKyAgICAgICAgKGFzeW5jX3Rlc3QuYXN5bmMg
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VfdGltaW5nX2NvbnRlbnRfbGVuZ3RoLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV90
aW1pbmdfY29udGVudF9sZW5ndGguaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvMjAwX2VtcHR5LmFzaXM6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL1RB
T1Jlc3BvbnNlLnB5OgorICAgICAgICAobWFpbik6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvYWxsX3Jlc291cmNlX3R5cGVzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2VzL2J1ZmZlci1mdWxsLXV0aWxpdGllcy5qczoKKyAgICAgICAgKGNvbnN0LndhaXRGb3JOZXh0
VGFzayk6CisgICAgICAgIChjb25zdC5mb3JjZUJ1ZmZlckZ1bGxFdmVudC5hc3luYyBjbGVhckJ1
ZmZlckFuZFNldFNpemUpOgorICAgICAgICAoY29uc3QuZm9yY2VCdWZmZXJGdWxsRXZlbnQpOgor
ICAgICAgICAoY29uc3QuZmlsbFVwVGhlQnVmZmVyV2l0aFR3b1Jlc291cmNlcy5hc3luYyBjbGVh
ckJ1ZmZlckFuZFNldFNpemUpOgorICAgICAgICAoYXN5bmMgY29uc3QuZmlsbFVwVGhlQnVmZmVy
V2l0aFNpbmdsZVJlc291cmNlLmFzeW5jIGNsZWFyQnVmZmVyQW5kU2V0U2l6ZSk6CisgICAgICAg
IChhc3luYyBjb25zdCk6CisgICAgICAgIChsZXQuYXBwZW5kU2NyaXB0KTogRGVsZXRlZC4KKyAg
ICAgICAgKGxldC53YWl0Rm9yTmV4dFRhc2spOiBEZWxldGVkLgorICAgICAgICAobGV0LndhaXRV
bnRpbENvbmRpdGlvbklzTWV0LmNvbmQucmV0dXJuLm5ldy5Qcm9taXNlLnJlc29sdmUubGV0LmNo
ZWNrQ29uZGl0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKGxldC53YWl0Rm9yRXZlbnRUb0ZpcmUu
cmV0dXJuLm5ldy5Qcm9taXNlKTogRGVsZXRlZC4KKyAgICAgICAgKGxldC53YWl0Rm9yRXZlbnRU
b0ZpcmUpOiBEZWxldGVkLgorICAgICAgICAobGV0LmZpbGxVcFRoZUJ1ZmZlcldpdGhUd29SZXNv
dXJjZXMuYXN5bmMgc3JjKTogRGVsZXRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jYWNoZWFibGUtYW5kLXZhbGlkYXRlZC5weTogQWRk
ZWQuCisgICAgICAgIChtYWluKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy9jb25uZWN0aW9uLXJldXNlLXRlc3QuanM6IEFkZGVkLgorICAg
ICAgICAoYXR0cmlidXRlX3Rlc3QuYXN5bmMgY2xpZW50KToKKyAgICAgICAgKGF0dHJpYnV0ZV90
ZXN0KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy9jc3AtZGVmYXVsdC1ub25lLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NzcC1kZWZhdWx0LW5vbmUuaHRtbC5o
ZWFkZXJzOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3Jlc291cmNlcy9kb2N1bWVudC1kb21haW4tbm8taW1wYWN0Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2RvY3Vt
ZW50LXJlZnJlc2hlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVudC10aGF0LXJlZnJlc2hlcy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy9lbWJlZC1yZWZyZXNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2dyZWVuLWZyYW1lLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2dy
ZWVuLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VzL2dyZWVuLmh0bWwuaGVhZGVyczogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3ppcF94bWwucHk6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvaWZy
YW1lLXJlZnJlc2guaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9yZXNvdXJjZXMvaWZyYW1lLXJlbG9hZC1UQU8uc3ViLmh0bWw6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvbXVsdGlf
cmVkaXJlY3QucHk6CisgICAgICAgIChtYWluKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9vYmplY3QtcmVmcmVzaC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9y
ZWRpcmVjdC1jb3JzLnB5OiBBZGRlZC4KKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3Jlc291cmNlLXRpbWluZy1j
b250ZW50LWxlbmd0aC5weTogQWRkZWQuCisgICAgICAgIChtYWluKToKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9yZXNvdXJjZV90aW1pbmdf
dGVzdDAueG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL3NpemVzLWhlbHBlci5qczogQWRkZWQuCisgICAgICAgIChjb25zdC5jaGVja1Np
emVGaWVsZHMpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL3N0YXR1cy1jb2RlLnB5OgorICAgICAgICAobWFpbik6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJu
ZXNzLmpzOgorICAgICAgICAodGVzdF9uYW1lc3BhY2UpOgorICAgICAgICAodGVzdF9hdHRyaWJ1
dGVfZXhpc3RzKToKKyAgICAgICAgKHRlc3RfZW51bSk6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzZXh0ZW5z
aW9uLmpzOgorICAgICAgICAodGVzdF9tZXRob2RfZXhpc3RzKToKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NhbWUtb3JpZ2luLWZyb20tY3Jvc3Mtb3JpZ2lu
LXJlZGlyZWN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9zYW1lLW9yaWdpbi1mcm9tLWNyb3NzLW9yaWdpbi1yZWRpcmVj
dC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3NpemVzLWNhY2hlLmFueS5qczogQWRkZWQuCisgICAgICAgIChjb25zdC5hY2N1bXVsYXRl
RW50cmllcyk6CisgICAgICAgIChjb25zdC5jaGVja1Jlc291cmNlU2l6ZXMubGlzdC5sZXQuZW50
cnkub2YuZW50cmllcy5lbHNlKToKKyAgICAgICAgKHByb21pc2VfdGVzdCk6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC1pbWctZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL3NpemVzLXJlZGlyZWN0LWltZy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLXJlZGlyZWN0LmFueS5qczogQWRkZWQu
CisgICAgICAgIChjb25zdC5hY2N1bXVsYXRlRW50cnkpOgorICAgICAgICAoY29uc3QuY2hlY2tS
ZXNvdXJjZVNpemVzKToKKyAgICAgICAgKGNvbnN0LnJlZGlyZWN0VXJsKToKKyAgICAgICAgKHBy
b21pc2VfdGVzdCk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9zdGF0dXMtY29kZXMtY3JlYXRlLWVudHJ5Lmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy90ZXN0X3Jlc291cmNlX3RpbWluZy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy90ZXN0X3Jlc291
cmNlX3RpbWluZy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy93b3JrZXJTdGFydC10YW8tcHJvdGVjdGVkLmh0dHBzLmh0bWw6
CisKIDIwMjEtMDYtMDQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9y
Zz4KIAogICAgICAgICBJbXBsZW1lbnQgb2ZmLWJ5LWRlZmF1bHQgZXhwZXJpbWVudGFsIGZlYXR1
cmUgZm9yIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcudHJhbnNmZXJTaXplLCBlbmNvZGVkQm9k
eVNpemUsIGFuZCBkZWNvZGVkQm9keVNpemUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGZmN2NmOGY3
Y2I4OTY3ZDg5OGVhNzA2ZmJmM2MwMzE5YTI4YTU5NTcuLmNkY2RiYjFjY2E5MmQ4Y2ViZDE1Y2Q5
OTQzZDRjZTQwMDRkNjk0ZGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtOTMxLDYgKzkzMSwxMCBA
QCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2V2ZW50c291cmNlL3JlcXVlc3QtY3Jl
ZGVudGlhbHMuaHRtIFsgRmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L21lZGlhY2FwdHVyZS1mcm9tZWxlbWVudC9jYXB0dXJlLmh0bWwgWyBGYWlsdXJlIF0KIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFjYXB0dXJlLWZyb21lbGVtZW50L2VuZGVk
Lmh0bWwgWyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWVkaWFj
YXB0dXJlLWZyb21lbGVtZW50L2NyZWF0aW9uLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQoraW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZm9udC10aW1lc3RhbXBz
Lmh0bWwgWyBGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3N0YXR1cy1jb2Rlcy1jcmVhdGUtZW50cnkuaHRtbCBbIFBhc3MgRmFpbHVyZSBd
CitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9TTy1YTy1T
Ty1yZWRpcmVjdC1jaGFpbi10YW8uaHR0cHMuaHRtbCBbIEZhaWx1cmUgXQoraW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfVEFPX2Nyb3NzX29y
aWdpbl9yZWRpcmVjdF9jaGFpbi5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTgwMjQw
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpbmdsZS1l
bnRyeS1wZXItcmVzb3VyY2UuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTg5
OTA2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlX3RpbWluZ19idWZmZXJfZnVsbF9ldmVudHVhbGx5Lmh0bWwgWyBTa2lwIF0KIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlLXJlbG9hZC1U
QU8uc3ViLmh0bWwgWyBTa2lwIF0KQEAgLTk0MCw2ICs5NDQsOCBAQCBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zc29yaWdpbi1zYW5kd2ljaC1uby1U
QU8uc3ViLgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
Y29ycy1wcmVmbGlnaHQuYW55Lmh0bWwgWyBGYWlsdXJlIFBhc3MgXQogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3NvcmlnaW4tc2FuZHdpY2gtVEFP
LnN1Yi5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2Nyb3Nzb3JpZ2luLXNhbmR3aWNoLXBhcnRpYWwtVEFPLnN1Yi5o
dG1sIFsgUGFzcyBGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3Rlc3RfcmVzb3VyY2VfdGltaW5nLmh0dHBzLmh0bWwgWyBQYXNzIEZhaWx1
cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9uYXZpZ2F0aW9uLXRpbWluZy9u
YXYyX3Rlc3RfYXR0cmlidXRlc192YWx1ZXMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL25hdmlnYXRpb24tdGltaW5nL3NlY3VyZV9jb25uZWN0
aW9uX3N0YXJ0X25vbl96ZXJvLmh0dHBzLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJlYW1zL01lZGlhU3RyZWFt
LWRlZmF1bHQtZmVhdHVyZS1wb2xpY3kuaHR0cHMuaHRtbCBbIER1bXBKU0NvbnNvbGVMb2dJblN0
ZEVyciBdCkBAIC0xMzgzLDE4ICsxMzg5LDE2IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMveGhyL3NlbmQtcmVkaXJlY3QtYm9ndXMuaHRtIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlZGlyZWN0LXRvLWNvcnMuaHRtIFsgU2tpcCBd
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlZGlyZWN0LXRvLW5v
bi1jb3JzLmh0bSBbIFNraXAgXQogCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy90ZXN0X3Jlc291cmNlX3RpbWluZy5odG1sIFsgUGFzcyBGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Rlc3RfcmVz
b3VyY2VfdGltaW5nLmh0dHBzLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWVudHJpZXMt
ZHVyaW5nLWNhbGxiYWNrLXRoYXQtZHJvcC5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1kZWNyZWFzZS1idWZm
ZXItZHVyaW5nLWNhbGxiYWNrLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluY3JlYXNlLWJ1ZmZlci1kdXJp
bmctY2FsbGJhY2suaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWVudHJpZXMtZHVyaW5nLWNhbGxiYWNr
Lmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2Nyb3NzLW9yaWdpbi1zdGF0dXMtY29kZXMuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvbmVzdGVkLWNvbnRleHQtbmF2
aWdhdGlvbnMtZW1iZWQuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvbmVzdGVkLWNvbnRleHQtbmF2aWdhdGlvbnMtaWZyYW1lLmh0
bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL25lc3RlZC1jb250ZXh0LW5hdmlnYXRpb25zLW9iamVjdC5odG1sIFsgU2tpcCBdCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9uZXN0
ZWRfZGVkaWNhdGVkX3dvcmtlci53b3JrZXIuaHRtbCBbIFNraXAgXQogCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9jb25uZWN0aW9uX3Jl
dXNlLmh0bWwgWyBGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlX2Nvbm5lY3Rpb25fcmV1c2UuaHR0cHMuaHRtbCBbIEZhaWx1
cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVz
b3VyY2VfcmVwYXJlbnRpbmcuaHRtbCBbIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMTY4MzU3
IGh0dHAvd3B0L3Jlc291cmNlLXRpbWluZy9ydC1pbml0aWF0b3JUeXBlLW1lZGlhLmh0bWwgWyBG
YWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL0NvZGluZ0NvbnZlbnRpb25zLm1kIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvQ29kaW5n
Q29udmVudGlvbnMubWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzliOGQxMzQzNWVmNDk5MTk1MzNlZjc0OTczMjZk
YWMwNmJmOTY0YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL0NvZGluZ0NvbnZlbnRpb25zLm1kCkBA
IC0wLDAgKzEsNzcgQEAKK0ZvciBbUmVzb3VyY2UgVGltaW5nXVsxXSB0ZXN0cywgd2Ugd2FudCB0
byBoYXZlIGEgY29uc2lzdGVudCBhbmQgY2xlYXIgY29kaW5nCitzdHlsZS4gVGhlIGdvYWxzIG9m
IHRoaXMgc3R5bGUgYXJlIHRvOgorKiAgIE1ha2UgaXQgZWFzaWVyIGZvciBuZXcgY29udHJpYnV0
b3JzIHRvIGZpbmQgdGhlaXIgd2F5IGFyb3VuZAorKiAgIEhlbHAgaW1wcm92ZSByZWFkYWJpbGl0
eSBhbmQgbWFpbnRhaW5hYmlsaXR5CisqICAgSGVscCB1cyB1bmRlcnN0YW5kIHdoaWNoIHBhcnRz
IG9mIHRoZSBzcGVjIGFyZSB0ZXN0ZWQgb3Igbm90CitMb3RzIG9mIHRoZSBmb2xsb3dpbmcgcnVs
ZXMgYXJlIGFyYml0cmFyeSBidXQgdGhlIHZhbHVlIGlzIHJlYWxpemVkIGluCitjb25zaXN0ZW5j
eSBpbnN0ZWFkIG9mIGFkaGVyaW5nIHRvIHRoZSAncGVyZmVjdCcgc3R5bGUuCisKK1dlIHdhbnQg
dGhlIHRlc3Qgc3VpdGUgdG8gYmUgbmF2aWdhYmxlLiBEZXZlbG9wZXJzIHNob3VsZCBiZSBhYmxl
IHRvIGVhc2lseQorZmluZCB0aGUgZmlsZSBvciB0ZXN0IHRoYXQgaXMgcmVsZXZhbnQgdG8gdGhl
aXIgd29yay4KKyogICBUZXN0cyBzaG91bGQgYmUgYXJyYW5nZWQgaW4gZmlsZXMgYWNjb3JkaW5n
IHRvIHdoaWNoIHBpZWNlIG9mIHRoZSBzcGVjIHRoZXkKKyAgICB0ZXN0CisqICAgRmlsZXMgc2hv
dWxkIGJlIG5hbWVkIHVzaW5nIGEgY29uc2lzdGVudCBwYXR0ZXJuCisqICAgSFRNTCBmaWxlcyBz
aG91bGQgaW5jbHVkZSB1c2VmdWwgbWV0YSB0YWdzCisgICAgKiAgIGA8dGl0bGU+YCBmb3IgY29u
dHJvbGxpbmcgbGFiZWxzIGluIHJlc3VsdHMgcGFnZXMKKyAgICAqICAgYDxsaW5rIHJlbD0iaGVs
cCI+YCB0byBwb2ludCBhdCB0aGUgcmVsZXZhbnQgcGllY2Ugb2YgdGhlIHNwZWMKKworV2Ugd2Fu
dCB0aGUgdGVzdCBzdWl0ZSB0byBydW4gY29uc2lzdGVudGx5LiBGbGFreSB0ZXN0cyBhcmUgY291
bnRlcnByb2R1Y3RpdmUuCisqICAgUHJlZmVyIGBwcm9taXNlX3Rlc3RgIHRvIGBhc3luY190ZXN0
YAorICAgICogICBOb3RlIHRoYXQgdGhlcmXigJlzIFtzdGlsbCBwb3RlbnRpYWwgZm9yIHNvbWUg
Y29uY3VycmVuY3ldWzJdOyB1c2UKKyAgICAgICAgYGFkZF9jbGVhbnVwKClgIGlmIG5lZWRlZAor
CitXZSB3YW50IHRoZSB0ZXN0cyB0byBiZSByZWFkYWJsZS4gVGVzdHMgc2hvdWxkIGJlIHdyaXR0
ZW4gaW4gYSBtb2Rlcm4gc3R5bGUKK3dpdGggcmVjdXJyaW5nIHBhdHRlcm5zLgorKiAgIDgwIGNo
YXJhY3RlciBsaW5lIGxpbWl0cyB3aGVyZSB3ZSBjYW4KKyogICBDb25zaXN0ZW50IHVzZSBvZiBh
bm9ueW1vdXMgZnVuY3Rpb25zCisgICAgKiAgIHByZWZlcgorICAgICAgICBgYGAKKyAgICAgICAg
Y29uc3QgZnVuYzEgPSBwYXJhbTEgPT4geworICAgICAgICAgIGJvZHkoKTsKKyAgICAgICAgfQor
ICAgICAgICBjb25zdCBmdW5jMiA9IChwYXJhbTEsIHBhcmFtMikgPT4geworICAgICAgICAgIGJv
ZHkoKTsKKyAgICAgICAgfQorICAgICAgICBmbihwYXJhbSA9PiB7CisgICAgICAgICAgICBib2R5
KCk7CisgICAgICAgIH0pOworICAgICAgICBgYGAKKworICAgICAgICBvdmVyCisKKyAgICAgICAg
YGBgCisgICAgICAgIGZ1bmN0aW9uIGZ1bmMxKHBhcmFtMSkgeworICAgICAgICAgIGJvZHkoKTsK
KyAgICAgICAgfQorICAgICAgICBmdW5jdGlvbiBmdW5jMihwYXJhbTEsIHBhcmFtMikgeworICAg
ICAgICAgIGJvZHkoKTsKKyAgICAgICAgfQorICAgICAgICBmbihmdW5jdGlvbihwYXJhbSkgewor
ICAgICAgICAgICAgYm9keSgpOworICAgICAgICB9KTsKKyAgICAgICAgYGBgCisKKyogICBQcmVm
ZXIgYGNvbnN0YCAob3IsIGlmIG5lZWRlZCwgYGxldGApIHRvIGB2YXJgCisqICAgQ29udGFpbiB1
c2Ugb2Yg4oCYLnN1YuKAmSBpbiBmaWxlbmFtZXMgdG8ga25vd24gaGVscGVyIHV0aWxpdGllcyB3
aGVyZSBwb3NzaWJsZQorICAgICogICBFLmcuIHByZWZlciB1c2Ugb2YgZ2V0LWhvc3QtaW5mby5z
dWIuanMgdG8gYHt7aG9zdH19YCBvciBge3twb3J0c1swXX19YAorICAgICAgICBleHByZXNzaW9u
cworKiAgIEF2b2lkIHVzZSBvZiB3ZWJwZXJmdGVzdGhhcm5lc3NbZXh0ZW5zaW9uXS5qcyBhcyBp
dOKAmXMgYSBsYXllciBvZiBjb2duaXRpdmUKKyAgICBvdmVyaGVhZCBiZXR3ZWVuIHRlc3QgY29u
dGVudCBhbmQgdGVzdCBpbnRlbnQKKyAgICAqICAgSGVscGVyIC5qcyBmaWxlcyBhcmUgc3RpbGwg
ZW5jb3VyYWdlZCB3aGVyZSBpdCBtYWtlcyBzZW5zZSBidXQgd2Ugd2FudAorICAgICAgICB0byBh
dm9pZCBhIHRlc3RpbmcgZnJhbWV3b3JrIHRoYXQgaXMgc3BlY2lmaWMgdG8gUmVzb3VyY2UgVGlt
aW5nIChvcgorICAgICAgICB3ZWIgcGVyZm9ybWFuY2UgQVBJcywgaW4gZ2VuZXJhbCkuCisqICAg
UHJlZmVyIFtgZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3dgXVszXSB0byBjb2xsZWN0IHRlc3QgcmVz
dWx0cyBmcm9tIGVtYmVkZGVkCisgICAgaWZyYW1lcyBpbnN0ZWFkIG9mIGhhbmQtcm9sbGVkIGBw
b3N0TWVzc2FnZWAgYXBwcm9hY2hlcworKiAgIFVzZSB0aGUgW2Bhc3NlcnRfKmBdWzRdIGZhbWls
eSBvZiBmdW5jdGlvbnMgdG8gY2hlY2sgY29uZm9ybWFuY2UgdG8gdGhlIHNwZWMKKyAgICBidXQg
dGhyb3cgZXhjZXB0aW9ucyBleHBsaWNpdGx5IHdoZW4gdGhlIHRlc3QgaXRzZWxmIGlzIGJyb2tl
bi4KKyAgICAqICAgIEEgZmFpbGVkIGFzc2VydCBpbmRpY2F0ZXMgInRoZSBpbXBsZW1lbnRhdGlv
biBkb2Vzbid0IGNvbmZvcm0gdG8gdGhlCisgICAgICAgICBzcGVjIgorICAgICogICAgT3RoZXIg
dW5jYXVnaHQgZXhjZXB0aW9ucyBpbmRpY2F0ZSAidGhlIHRlc3QgY2FzZSBpdHNlbGYgaGFzIGEg
YnVnIgorKiAgIFdoZXJlIHBvc3NpYmxlLCB3ZSB3YW50IHRlc3RzIHRvIGJlIHNjYWxhYmxlIC0g
YWRkaW5nIGFub3RoZXIgdGVzdCBjYXNlCisgICAgc2hvdWxkIGJlIGFzIHNpbXBsZSBhcyBjYWxs
aW5nIHRoZSB0ZXN0cyB3aXRoIG5ldyBwYXJhbWV0ZXJzLCByYXRoZXIgdGhhbgorICAgIGNvcHlp
bmcgYW4gZXhpc3RpbmcgdGVzdCBhbmQgbW9kaWZ5aW5nIGl0LgorCitbMV06IGh0dHBzOi8vd3d3
LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmctMi8KK1syXTogaHR0cHM6Ly93ZWItcGxhdGZvcm0t
dGVzdHMub3JnL3dyaXRpbmctdGVzdHMvdGVzdGhhcm5lc3MtYXBpLmh0bWwjcHJvbWlzZS10ZXN0
cworWzNdOiBodHRwczovL3dlYi1wbGF0Zm9ybS10ZXN0cy5vcmcvd3JpdGluZy10ZXN0cy90ZXN0
aGFybmVzcy1hcGkuaHRtbCNjb25zb2xpZGF0aW5nLXRlc3RzLWZyb20tb3RoZXItZG9jdW1lbnRz
CitbNF06IGh0dHBzOi8vd2ViLXBsYXRmb3JtLXRlc3RzLm9yZy93cml0aW5nLXRlc3RzL3Rlc3Ro
YXJuZXNzLWFwaS5odG1sI2xpc3Qtb2YtYXNzZXJ0aW9ucwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU08tWE8t
U08tcmVkaXJlY3QtY2hhaW4tdGFvLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1NPLVhPLVNPLXJl
ZGlyZWN0LWNoYWluLXRhby5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWY4ZDI5MDNk
NTEwNTY1MGVhOWNmNTc3NDNjYTEyMmUyNzcxYTY0NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1NP
LVhPLVNPLXJlZGlyZWN0LWNoYWluLXRhby5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2
IEBACisKK0ZBSUwgVmVyaWZ5IHRoYXQgY3Jvc3Mgb3JpZ2luIHJlc291cmNlcycgdGltaW5ncyBh
cmUgbm90IGV4cG9zZWQgd2hlbiBzYW1lLW9yaWdpbj0+Y3Jvc3Mtb3JpZ2luPT5zYW1lLW9yaWdp
biByZWRpcmVjdHMgaGF2ZSBubyBgVGltaW5nLUFsbG93LU9yaWdpbjpgIGhlYWRlcnMuIGFzc2Vy
dF9lcXVhbHM6IGRvbWFpbkxvb2t1cFN0YXJ0IHNob3VsZCBiZSAwIGV4cGVjdGVkIDAgYnV0IGdv
dCA8bm9uZGV0ZXJtaW5pc3RpYyB0ZXN0IG91dHB1dD4KK0ZBSUwgVmVyaWZ5IHRoYXQgY3Jvc3Mg
b3JpZ2luIHJlc291cmNlcycgdGltaW5ncyBhcmUgbm90IGV4cG9zZWQgd2hlbiBzYW1lLW9yaWdp
bj0+Y3Jvc3Mtb3JpZ2luPT5zYW1lLW9yaWdpbiByZWRpcmVjdHMgaGF2ZSBgVGltaW5nLUFsbG93
LU9yaWdpbjpgIGhlYWRlcnMgb25seSBvbiBzb21lIG9mIHRoZSByZXNwb25zZXMuIGFzc2VydF9l
cXVhbHM6IGRvbWFpbkxvb2t1cFN0YXJ0IHNob3VsZCBiZSAwIGV4cGVjdGVkIDAgYnV0IGdvdCA8
bm9uZGV0ZXJtaW5pc3RpYyB0ZXN0IG91dHB1dD4KK0ZBSUwgVmVyaWZ5IHRoYXQgY3Jvc3Mgb3Jp
Z2luIHJlc291cmNlcycgdGltaW5ncyBhcmUgZXhwb3NlZCB3aGVuIGNyb3NzLW9yaWdpbiByZWRp
cmVjdHMgaGF2ZSBgVGltaW5nLUFsbG93LU9yaWdpbjogKmAgaGVhZGVycyBhc3NlcnRfZ3JlYXRl
cl90aGFuOiByZWRpcmVjdFN0YXJ0IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMCBleHBlY3RlZCBh
IG51bWJlciBncmVhdGVyIHRoYW4gMCBidXQgZ290IDAKK1BBU1MgVmVyaWZ5IHRoYXQgY3Jvc3Mg
b3JpZ2luIHJlc291cmNlcycgdGltaW5ncyBhcmUgbm90IGV4cG9zZWQgd2hlbiBzYW1lLW9yaWdp
bj0+Y3Jvc3Mtb3JpZ2luPT5zYW1lLW9yaWdpbiByZWRpcmVjdHMgaGF2ZSBgVGltaW5nLUFsbG93
LU9yaWdpbjpgIGhlYWRlcnMgd2l0aCBhIHNwZWNpZmljIG9yaWdpbi4KKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvU08tWE8tU08tcmVkaXJlY3QtY2hhaW4tdGFvLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9TTy1YTy1TTy1y
ZWRpcmVjdC1jaGFpbi10YW8uaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNjU2ODkxMGU0ZmU3YjYx
ZGM4YTg2OWRmZDRmY2ZmMDc1MGU3MjY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU08tWE8tU08t
cmVkaXJlY3QtY2hhaW4tdGFvLmh0dHBzLmh0bWwKQEAgLTAsMCArMSw2NCBAQAorPCFET0NUWVBF
IEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+
VGhpcyB0ZXN0IHZhbGlkYXRlcyByZXNvdXJjZSB0aW1pbmcgaW5mb3JtYXRpb24gZm9yIGEgc2Ft
ZS1vcmlnaW49PmNyb3NzLW9yaWdpbj0+c2FtZS1vcmlnaW4gcmVkaXJlY3QgY2hhaW4gd2l0aG91
dCBUaW1pbmctQWxsb3ctT3JpZ2luLjwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0
dHBzOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmctMi8jc2VjLWNyb3NzLW9yaWdpbi1y
ZXNvdXJjZXMiLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFudHMuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorY29uc3Qge0hUVFBTX1JFTU9URV9PUklHSU59ID0g
Z2V0X2hvc3RfaW5mbygpOworY29uc3QgU0FNRV9PUklHSU4gPSBsb2NhdGlvbi5vcmlnaW47Cisv
LyBTYW1lLU9yaWdpbiA9PiBDcm9zcy1PcmlnaW4gPT4gU2FtZS1PcmlnaW4gPT4gU2FtZS1Pcmln
aW4gcmVkaXJlY3QgY2hhaW4KK2xldCBkZXN0VXJsID0gYCR7U0FNRV9PUklHSU59L3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvbXVsdGlfcmVkaXJlY3QucHk/YDsKK2Rlc3RVcmwgKz0gYHBhZ2Vf
b3JpZ2luPSR7U0FNRV9PUklHSU59YDsKK2Rlc3RVcmwgKz0gYCZjcm9zc19vcmlnaW49JHtIVFRQ
U19SRU1PVEVfT1JJR0lOfWA7CitkZXN0VXJsICs9IGAmZmluYWxfcmVzb3VyY2U9L3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5odG1gOworCisvLyBObyBUQU8gaW4g
dGhlIHJlZGlyZWN0IGNoYWluCithdHRyaWJ1dGVfdGVzdCgKKyAgbG9hZC5pZnJhbWUsIGRlc3RV
cmwsCisgIGludmFyaWFudHMuYXNzZXJ0X2Nyb3NzX29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNl
LAorICAiVmVyaWZ5IHRoYXQgY3Jvc3Mgb3JpZ2luIHJlc291cmNlcycgdGltaW5ncyBhcmUgbm90
IGV4cG9zZWQgd2hlbiAiICsKKyAgInNhbWUtb3JpZ2luPT5jcm9zcy1vcmlnaW49PnNhbWUtb3Jp
Z2luIHJlZGlyZWN0cyBoYXZlIG5vICIgKworICAiYFRpbWluZy1BbGxvdy1PcmlnaW46YCBoZWFk
ZXJzLiIpOworCisvLyBQYXJ0aWFsIFRBTyBpbiB0aGUgcmVkaXJlY3QgY2hhaW4KK2Rlc3RVcmwg
Kz0gJyZ0YW9fc3RlcHM9Mic7CithdHRyaWJ1dGVfdGVzdCgKKyAgbG9hZC5pZnJhbWUsIGRlc3RV
cmwsCisgIGludmFyaWFudHMuYXNzZXJ0X2Nyb3NzX29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNl
LAorICAiVmVyaWZ5IHRoYXQgY3Jvc3Mgb3JpZ2luIHJlc291cmNlcycgdGltaW5ncyBhcmUgbm90
IGV4cG9zZWQgd2hlbiAiICsKKyAgInNhbWUtb3JpZ2luPT5jcm9zcy1vcmlnaW49PnNhbWUtb3Jp
Z2luIHJlZGlyZWN0cyBoYXZlICIgKworICAiYFRpbWluZy1BbGxvdy1PcmlnaW46YCBoZWFkZXJz
IG9ubHkgb24gc29tZSBvZiB0aGUgcmVzcG9uc2VzLiIpOworCisvLyBDcm9zcy1vcmlnaW4gPT4g
Q3Jvc3MtT3JpZ2luID0+IFNhbWUtT3JpZ2luID0+IFNhbWUtT3JpZ2luIHJlZGlyZWN0IGNoYWlu
LgorZGVzdFVybCA9IGAke0hUVFBTX1JFTU9URV9PUklHSU59L3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZXMvbXVsdGlfcmVkaXJlY3QucHk/YDsKK2Rlc3RVcmwgKz0gYHBhZ2Vfb3JpZ2luPSR7U0FN
RV9PUklHSU59YDsKK2Rlc3RVcmwgKz0gYCZjcm9zc19vcmlnaW49JHtIVFRQU19SRU1PVEVfT1JJ
R0lOfWA7CitkZXN0VXJsICs9IGAmZmluYWxfcmVzb3VyY2U9L3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZXMvYmx1ZS13aXRoLXRhby5wbmdgOworZGVzdFVybCArPSBgJnRhb19zdGVwcz0zYDsKKwor
Ly8gRnVsbCByZWRpcmVjdCBjaGFpbiB3aXRoIGBUQU86ICpgLgorYXR0cmlidXRlX3Rlc3QoCisg
IGxvYWQuaW1hZ2UsIGRlc3RVcmwsCisgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19lbmFibGVkX2Ny
b3NzX29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNlLAorICAiVmVyaWZ5IHRoYXQgY3Jvc3Mgb3Jp
Z2luIHJlc291cmNlcycgdGltaW5ncyBhcmUgZXhwb3NlZCB3aGVuIGNyb3NzLW9yaWdpbiAiICsK
KyAgInJlZGlyZWN0cyBoYXZlIGBUaW1pbmctQWxsb3ctT3JpZ2luOiAqYCBoZWFkZXJzIik7CisK
Ky8vIFRBTyB3aXRoIGEgc3BlY2lmaWMgb3JpZ2luCitkZXN0VXJsICs9IGAmdGFvX3ZhbHVlPSR7
U0FNRV9PUklHSU59YDsKK2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLmltYWdlLCBkZXN0VXJsLAor
ICBpbnZhcmlhbnRzLmFzc2VydF9jcm9zc19vcmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAg
IlZlcmlmeSB0aGF0IGNyb3NzIG9yaWdpbiByZXNvdXJjZXMnIHRpbWluZ3MgYXJlIG5vdCBleHBv
c2VkIHdoZW4gIiArCisgICJzYW1lLW9yaWdpbj0+Y3Jvc3Mtb3JpZ2luPT5zYW1lLW9yaWdpbiBy
ZWRpcmVjdHMgaGF2ZSAiICsKKyAgImBUaW1pbmctQWxsb3ctT3JpZ2luOmAgaGVhZGVycyB3aXRo
IGEgc3BlY2lmaWMgb3JpZ2luLiIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9TeW50aGV0aWNSZXNwb25zZS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1N5bnRoZXRpY1Jlc3BvbnNlLnB5
CmluZGV4IGRjNTdkODQ1MWY5ZjFlZWY2ODEyNzhjODc1NmQxMGI3ZWYyYWY0YjEuLjZmODg4ZjM3
ODk2ZTEyNDAxMzAxZTE4N2ViZDUxN2U5NDJhN2VjZTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1N5bnRoZXRp
Y1Jlc3BvbnNlLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL1N5bnRoZXRpY1Jlc3BvbnNlLnB5CkBAIC0xLDggKzEsOSBA
QAotZnJvbSBzaXgubW92ZXMudXJsbGliLnBhcnNlIGltcG9ydCB1bnF1b3RlCitmcm9tIHVybGxp
Yi5wYXJzZSBpbXBvcnQgdW5xdW90ZQogCiBmcm9tIHdwdHNlcnZlLnV0aWxzIGltcG9ydCBpc29t
b3JwaGljX2RlY29kZSwgaXNvbW9ycGhpY19lbmNvZGUKIAotaW1wb3J0IHNsZWVwCitpbXBvcnQg
aW1wb3J0bGliCitzbGVlcCA9IGltcG9ydGxpYi5pbXBvcnRfbW9kdWxlKCJyZXNvdXJjZS10aW1p
bmcuc2xlZXAiKQogCiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CiAgICAgaW5kZXggPSBp
c29tb3JwaGljX2VuY29kZShyZXF1ZXN0LnJlcXVlc3RfcGF0aCkuaW5kZXgoYiI/IikKQEAgLTQz
LDggKzQ0LDYgQEAgZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgogICAgICAgICAgICAgICAg
IHJlc3BvbnNlLndyaXRlci5lbmRfaGVhZGVycygpCiAgICAgICAgICAgICBlbHNlOgogICAgICAg
ICAgICAgICAgIHN0YXR1c1NlbnQgPSBUcnVlCi0gICAgICAgIGVsaWYgYXJnID09IGIiZmx1c2gi
OgotICAgICAgICAgICAgcmVzcG9uc2Uud3JpdGVyLmZsdXNoKCkKIAogIyAgICAgICAgZWxzZToK
ICMgICAgICAgICAgICBlcnJvciAiICBJTlZBTElEIEFSR1VNRU5UICVzIiAlIGFyZwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvVEFPLW1hdGNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1tYXRjaC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTBlNzZhODFhZjZlYjViNzVlNGVjMTIyYjI5NmFiNmFkN2VjZmNiZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1tYXRjaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MiBAQAorCitQQVNTIFRoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgcGFzcyB3
aGVuIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRlciB2YWx1ZSBsaXN0IGNvbnRhaW5zIGEg
Y2FzZS1zZW5zaXRpdmUgbWF0Y2guCitQQVNTIFRoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3Jp
dGhtIHdpbGwgcGFzcyB3aGVuIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRlciB2YWx1ZSBs
aXN0IGNvbnRhaW5zIGEgd2lsZGNhcmQuCitQQVNTIFRoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxn
b3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRlciB2YWx1
ZSBsaXN0IGNvbnRhaW5zIGEgbnVsbCBvcmlnaW4uCitQQVNTIFRoZSB0aW1pbmcgYWxsb3cgY2hl
Y2sgYWxnb3JpdGhtIHdpbGwgcGFzcyB3aGVuIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRl
ciB2YWx1ZSBsaXN0IGNvbnRhaW5zIHRoZSBvcmlnaW4gYW5kIGEgd2lsZGNhcmQuCitQQVNTIFRo
ZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgcGFzcyB3aGVuIHRoZSBUaW1pbmct
QWxsb3ctT3JpZ2luIGhlYWRlciB2YWx1ZSBsaXN0IGNvbnRhaW5zIG11bHRpcGxlIHdpbGRjYXJk
cy4KK1BBU1MgVGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBwYXNzIHdoZW4g
dGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gaGVhZGVyIHZhbHVlIGNvbnRhaW5zIG9ubHkgdGhlIG9y
aWdpbi4KK1BBU1MgVGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdo
ZW4gdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gaGVhZGVyIHZhbHVlIGNvbnRhaW5zIG9ubHkgdGhl
IHVwcGVyY2FzZWQgb3JpZ2luLgorUEFTUyBUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRo
bSB3aWxsIGZhaWwgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiBoZWFkZXIgdmFsdWUgY29u
dGFpbnMgb25seSBhIHNwYWNlLgorUEFTUyBUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRo
bSB3aWxsIGZhaWwgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiBoZWFkZXIgdmFsdWUgY29u
dGFpbnMgb25seSBhIHdpbGRjYXJkLgorUEFTUyBUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29y
aXRobSB3aWxsIGZhaWwgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiBoZWFkZXIgaXMgbm90
IHByZXNlbnQuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1tYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW1hdGNo
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYTI2NDVhNjM4YmVmMjZhNjU1ZWYyNTNmNjU1Yzk1YWM5NjA3ZmZm
NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1tYXRjaC5odG1sCkBAIC0wLDAgKzEsNjkgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAv
PgorPHRpdGxlPlJlc291cmNlIFRpbWluZyBUQU8gdGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJh
dXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8
bGluayByZWw9ImhlbHAiCisgICAgICBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3Vy
Y2UtdGltaW5nLTIvI3RpbWluZy1hbGxvdy1vcmlnaW4iLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1o
b3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnkt
aW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNl
LWxvYWRlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2NvbnN0IHtSRU1PVEVfT1JJR0lOfSA9
IGdldF9ob3N0X2luZm8oKTsKK2NvbnN0IHBhdGggPSBSRU1PVEVfT1JJR0lOICsgJy9yZXNvdXJj
ZS10aW1pbmcvcmVzb3VyY2VzL1RBT1Jlc3BvbnNlLnB5P3Rhbz0nOworCithdHRyaWJ1dGVfdGVz
dChsb2FkLnhocl9zeW5jLCBwYXRoICsgJ21hdGNoX29yaWdpbicsCisgIGludmFyaWFudHMuYXNz
ZXJ0X3Rhb19wYXNzX25vX3JlZGlyZWN0X2h0dHAsCisnVGhlIHRpbWluZyBhbGxvdyBjaGVjayBh
bGdvcml0aG0gd2lsbCBwYXNzIHdoZW4gdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gJyArCisnaGVh
ZGVyIHZhbHVlIGxpc3QgY29udGFpbnMgYSBjYXNlLXNlbnNpdGl2ZSBtYXRjaC4nKTsKKworYXR0
cmlidXRlX3Rlc3QobG9hZC54aHJfc3luYywgcGF0aCArICdtYXRjaF93aWxkY2FyZCcsCisgIGlu
dmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzX25vX3JlZGlyZWN0X2h0dHAsCisnVGhlIHRpbWluZyBh
bGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBwYXNzIHdoZW4gdGhlIFRpbWluZy1BbGxvdy1Pcmln
aW4gJyArCisnaGVhZGVyIHZhbHVlIGxpc3QgY29udGFpbnMgYSB3aWxkY2FyZC4nKTsKKworYXR0
cmlidXRlX3Rlc3QobG9hZC54aHJfc3luYywgcGF0aCArICdudWxsJywKKyAgaW52YXJpYW50cy5h
c3NlcnRfdGFvX2ZhaWx1cmVfcmVzb3VyY2UsCisnVGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdv
cml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gJyArCisnaGVhZGVy
IHZhbHVlIGxpc3QgY29udGFpbnMgYSBudWxsIG9yaWdpbi4nKTsKKworYXR0cmlidXRlX3Rlc3Qo
bG9hZC54aHJfc3luYywgcGF0aCArICdtdWx0aScsCisgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19w
YXNzX25vX3JlZGlyZWN0X2h0dHAsCisnVGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0g
d2lsbCBwYXNzIHdoZW4gdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gJyArCisnaGVhZGVyIHZhbHVl
IGxpc3QgY29udGFpbnMgdGhlIG9yaWdpbiBhbmQgYSB3aWxkY2FyZC4nKTsKKworYXR0cmlidXRl
X3Rlc3QobG9hZC54aHJfc3luYywgcGF0aCArICdtdWx0aV93aWxkY2FyZCcsCisgIGludmFyaWFu
dHMuYXNzZXJ0X3Rhb19wYXNzX25vX3JlZGlyZWN0X2h0dHAsCisnVGhlIHRpbWluZyBhbGxvdyBj
aGVjayBhbGdvcml0aG0gd2lsbCBwYXNzIHdoZW4gdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gJyAr
CisnaGVhZGVyIHZhbHVlIGxpc3QgY29udGFpbnMgbXVsdGlwbGUgd2lsZGNhcmRzLicpOworCith
dHRyaWJ1dGVfdGVzdChsb2FkLnhocl9zeW5jLCBwYXRoICsgJ29yaWdpbicsCisgIGludmFyaWFu
dHMuYXNzZXJ0X3Rhb19wYXNzX25vX3JlZGlyZWN0X2h0dHAsCisnVGhlIHRpbWluZyBhbGxvdyBj
aGVjayBhbGdvcml0aG0gd2lsbCBwYXNzIHdoZW4gdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gJyAr
CisnaGVhZGVyIHZhbHVlIGNvbnRhaW5zIG9ubHkgdGhlIG9yaWdpbi4nKTsKKworYXR0cmlidXRl
X3Rlc3QobG9hZC54aHJfc3luYywgcGF0aCArICd1cHBlcmNhc2UnLAorICBpbnZhcmlhbnRzLmFz
c2VydF90YW9fZmFpbHVyZV9yZXNvdXJjZSwKKydUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29y
aXRobSB3aWxsIGZhaWwgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiAnICsKKydoZWFkZXIg
dmFsdWUgY29udGFpbnMgb25seSB0aGUgdXBwZXJjYXNlZCBvcmlnaW4uJyk7CisKK2F0dHJpYnV0
ZV90ZXN0KGxvYWQueGhyX3N5bmMsIHBhdGggKyAnc3BhY2UnLAorICBpbnZhcmlhbnRzLmFzc2Vy
dF90YW9fZmFpbHVyZV9yZXNvdXJjZSwKKydUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRo
bSB3aWxsIGZhaWwgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiAnICsKKydoZWFkZXIgdmFs
dWUgY29udGFpbnMgb25seSBhIHNwYWNlLicpOworCithdHRyaWJ1dGVfdGVzdChsb2FkLnhocl9z
eW5jLCBwYXRoICsgJ3dpbGRjYXJkJywKKyAgaW52YXJpYW50cy5hc3NlcnRfdGFvX3Bhc3Nfbm9f
cmVkaXJlY3RfaHR0cCwKKydUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIGZh
aWwgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiAnICsKKydoZWFkZXIgdmFsdWUgY29udGFp
bnMgb25seSBhIHdpbGRjYXJkLicpOworCithdHRyaWJ1dGVfdGVzdChsb2FkLnhocl9zeW5jLCBw
YXRoICsgJ3plcm8nLAorICBpbnZhcmlhbnRzLmFzc2VydF90YW9fZmFpbHVyZV9yZXNvdXJjZSwK
KydUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIGZhaWwgd2hlbiB0aGUgVGlt
aW5nLUFsbG93LU9yaWdpbiAnICsKKydoZWFkZXIgaXMgbm90IHByZXNlbnQuJyk7Cis8L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1udWxsLW9wYXF1ZS1vcmln
aW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW51bGwtb3BhcXVlLW9yaWdpbi1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMmQ2YTM3ZjE0NTBlMjk5Y2ZjZjU4NTRmNjliZWMwNDkzZmMyMTRiZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL1RBTy1udWxsLW9wYXF1ZS1vcmlnaW4tZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNyBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0LCBm
b3IgYSBjcm9zcyBvcmlnaW4gcmVzb3VyY2UsIHRoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3Jp
dGhtIHdpbGwgc3VjY2VlZCB3aGVuIHRoZSB2YWx1ZSBvZiBUaW1pbmctQWxsb3ctT3JpZ2luIGlz
IG51bGwgYW5kIHRoZSBvcmlnaW4gaXMgYW4gb3BhcXVlIG9yaWdpbi4KKworCitQQVNTIEFuIG9w
YXF1ZSBvcmlnaW4gc2hvdWxkIGJlIGF1dGhvcml6ZWQgdG8gc2VlIHJlc291cmNlIHRpbWluZ3Mg
d2hlbiB0aGUgVEFPIGhlYWRlciBpcyB0aGUgc3RyaW5nICdudWxsJworCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9UQU8tbnVsbC1vcGFxdWUtb3JpZ2luLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbnVsbC1vcGFxdWUtb3JpZ2lu
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNjU0OGE3YjlhZDQzNzQwN2VhZGVkMmM2ZWZjNDk3NGRlYzI0MmVj
ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1udWxsLW9wYXF1ZS1vcmlnaW4uaHRtbApAQCAt
MCwwICsxLDU1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFy
c2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmcgVEFPIC0gIm51bGwiIGFuZCBv
cGFxdWUgb3JpZ2luPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBo
cmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJo
dHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI3RpbWluZy1hbGxvdy1vcmln
aW4iLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxwPlRoaXMgdGVzdCB2YWxpZGF0
ZXMgdGhhdCwgZm9yIGEgY3Jvc3Mgb3JpZ2luIHJlc291cmNlLCB0aGUgdGltaW5nIGFsbG93Citj
aGVjayBhbGdvcml0aG0gd2lsbCBzdWNjZWVkIHdoZW4gdGhlIHZhbHVlIG9mIFRpbWluZy1BbGxv
dy1PcmlnaW4gaXMgbnVsbCBhbmQKK3RoZSBvcmlnaW4gaXMgYW4gb3BhcXVlIG9yaWdpbi48L3A+
Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0Ij48L2lmcmFt
ZT4KKzxzY3JpcHQ+Citjb25zdCBvcmlnaW4gPSBnZXRfaG9zdF9pbmZvKClbIk9SSUdJTiJdOwor
Y29uc3QgZnJhbWVfY29udGVudCA9IGBkYXRhOnRleHQvaHRtbDt1dGY4LDxib2R5PgorICA8c2Ny
aXB0IHNyYz0iJHtvcmlnaW59L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9gICsgYHNjcmlw
dD4KKyAgPHNjcmlwdD4KKyAgICBjb25zdCB1cmwgPSAiJHtvcmlnaW59L3Jlc291cmNlLXRpbWlu
Zy9yZXNvdXJjZXMvVEFPUmVzcG9uc2UucHk/dGFvPW51bGwiOworICAgIHByb21pc2VfdGVzdCgo
KSA9PiB7IHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICBj
b25zdCBydW5fdGVzdCA9IGVudHJ5TGlzdCA9PiB7CisgICAgICAgIGNvbnN0IGVudHJ5ID0gZW50
cnlMaXN0LmdldEVudHJpZXMoKVswXTsKKyAgICAgICAgY29uc3Qgc3VtID0gZW50cnkucmVkaXJl
Y3RTdGFydCArIGVudHJ5LnJlZGlyZWN0RW5kICsKKyAgICAgICAgICAgICAgICAgICAgZW50cnku
ZG9tYWluTG9va3VwU3RhcnQgKyBlbnRyeS5kb21haW5Mb29rdXBFbmQgKworICAgICAgICAgICAg
ICAgICAgICBlbnRyeS5jb25uZWN0U3RhcnQgKyBlbnRyeS5jb25uZWN0RW5kICsKKyAgICAgICAg
ICAgICAgICAgICAgZW50cnkuc2VjdXJlQ29ubmVjdGlvblN0YXJ0ICsgZW50cnkucmVxdWVzdFN0
YXJ0ICsKKyAgICAgICAgICAgICAgICAgICAgZW50cnkucmVzcG9uc2VTdGFydCArIGVudHJ5LnRy
YW5zZmVyU2l6ZSArCisgICAgICAgICAgICAgICAgICAgIGVudHJ5LmVuY29kZWRCb2R5U2l6ZSAr
IGVudHJ5LmRlY29kZWRCb2R5U2l6ZTsKKyAgICAgICAgYXNzZXJ0X25vdF9lcXVhbHMoc3VtLCAw
LCAiVGltaW5ncyBtdXN0IGJlIG5vbi16ZXJvIik7CisgICAgICB9OworICAgICAgY29uc3Qgb2Jz
ZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihsaXN0ID0+IHsKKyAgICAgICAgdHJ5IHsK
KyAgICAgICAgICBydW5fdGVzdChsaXN0KTsKKyAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAg
IH0gY2F0Y2goZSkgeworICAgICAgICAgIHJlamVjdChlKTsKKyAgICAgICAgfQorICAgICAgfSk7
CisgICAgICBvYnNlcnZlci5vYnNlcnZlKHsgZW50cnlUeXBlczogWyJyZXNvdXJjZSJdIH0pOwor
ICAgICAgZmV0Y2godXJsKTsKKyAgICB9KX0sICJBbiBvcGFxdWUgb3JpZ2luIHNob3VsZCBiZSBh
dXRob3JpemVkIHRvIHNlZSByZXNvdXJjZSB0aW1pbmdzIHdoZW4iICsKKyAgICAgICAgICIgdGhl
IFRBTyBoZWFkZXIgaXMgdGhlIHN0cmluZyAnbnVsbCciKTsKKyAgPC9gICsgYHNjcmlwdD48L2Jv
ZHk+YDsKKworZnJhbWVDb250ZXh0LnN0eWxlID0gImRpc3BsYXk6bm9uZSIKK2ZyYW1lQ29udGV4
dC5zcmMgPSBmcmFtZV9jb250ZW50OworZmV0Y2hfdGVzdHNfZnJvbV93aW5kb3coZnJhbWVDb250
ZXh0LmNvbnRlbnRXaW5kb3cpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9UQU8tbnVsbC1vcGFxdWUtb3JpZ2luLnN1Yi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8t
bnVsbC1vcGFxdWUtb3JpZ2luLnN1Yi1leHBlY3RlZC50eHQKaW5kZXggMmVjN2UwOGEzYTdjYjhi
YjgwNGVjYWI0NmIwNjc2NjBmMDRjNmNiYi4uOTcyMzVkYzdhOTliZDI3MTVjODNlNDJhYWUwZTli
ZjU3ODdlMWY2MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW51bGwtb3BhcXVlLW9yaWdpbi5zdWItZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL1RBTy1udWxsLW9wYXF1ZS1vcmlnaW4uc3ViLWV4cGVjdGVkLnR4
dApAQCAtMyw1ICszLDUgQEAgRGVzY3JpcHRpb24KIFRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBm
b3IgYSBjcm9zcyBvcmlnaW4gcmVzb3VyY2UsIHRoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3Jp
dGhtIHdpbGwgc3VjY2VlZCB3aGVuIHRoZSB2YWx1ZSBvZiBUaW1pbmctQWxsb3ctT3JpZ2luIGlz
IG51bGwgYW5kIHRoZSBvcmlnaW4gaXMgYW4gb3BhcXVlIG9yaWdpbi4KIAogCi1GQUlMIFRlc3Qg
bnVsbCBUQU8gdmFsdWUgd2l0aCBvcGFxdWUgb3JpZ2lucyBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAiUEFTUyIgYnV0IGdvdCAiRkFJTCIKK1BBU1MgVGVzdCBudWxsIFRBTyB2YWx1ZSB3aXRoIG9w
YXF1ZSBvcmlnaW5zCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5zLWNy
b3Nzb3JpZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5zLWNyb3Nz
b3JpZ2luLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjA4YTUzMjExZjEzM2RhMzMxZWJlNWI1
OWFiNWNjM2I5Njg2MmJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLXBvcnQtbWlzbWF0Y2gt
bWVhbnMtY3Jvc3NvcmlnaW4tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorRGVzY3JpcHRp
b24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGZvciBhIGNyb3NzIG9yaWdpbiByZXNvdXJj
ZSB3aXRoIGRpZmZlcmVudCBwb3J0cywgdGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0g
d2lsbCBmYWlsIHdoZW4gdGhlIHZhbHVlIG9mIFRpbWluZy1BbGxvdy1PcmlnaW4gdmFsdWUgaGFz
IHRoZSByaWdodCBob3N0IGJ1dCB0aGUgd3JvbmcgcG9ydCBpbiBpdC4KKworCitGQUlMIEEgcG9y
dCBtaXNtYXRjaCBtdXN0IGZhaWwgdGhlIFRBTyBjaGVjayBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFVSTCBpcyBub3QgdmFs
aWQgb3IgY29udGFpbnMgdXNlciBjcmVkZW50aWFscy4iCitGQUlMIEFuIGlkZW50aWNhbCBwb3J0
IG11c3QgcGFzcyB0aGUgVEFPIGNoZWNrIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogVVJMIGlzIG5vdCB2YWxpZCBvciBjb250
YWlucyB1c2VyIGNyZWRlbnRpYWxzLiIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLXBvcnQtbWlzbWF0
Y2gtbWVhbnMtY3Jvc3NvcmlnaW4uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5zLWNy
b3Nzb3JpZ2luLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjEyMThkMTdhMGE0NGYwMTNhMDFhOWIxYTI4YjNh
YjE5ZjkxYzkxZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5z
LWNyb3Nzb3JpZ2luLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+VEFPIC0gcG9ydCBt
aXNtYXRjaCBtdXN0IGZhaWwgdGhlIGNoZWNrPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0
aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVs
PSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI3Nl
Yy10aW1pbmctYWxsb3ctb3JpZ2luIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3Jl
cG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1
Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFudHMu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworY29uc3Qge09SSUdJTkFMX0hPU1QsIFBPUlQsIFBP
UlQyfSA9IGdldF9ob3N0X2luZm8oKTsKKworLy8gVGhlIG1haW4gcGFnZSBpcyBiZWluZyByZXF1
ZXN0ZWQgb24gdGhlIGRlZmF1bHQgcG9ydCAoUE9SVCksIHdoaWxlIHRoZQorLy8gc3VicmVzb3Vy
Y2Ugd2lsbCBiZSByZXF1ZXN0ZWQgb24gYSBzZXBhcmF0ZSBwb3J0IChQT1JUMikuIFRoZSByZXNw
b25zZSB3aWxsCisvLyBoYXZlIGEgVGltaW5nLUFsbG93LU9yaWdpbiBoZWFkZXIgdmFsdWUgd2l0
aCB0aGUgc2Vjb25kIHBvcnQgc28gdGhpcyBwYWdlJ3MKKy8vIG9yaWdpbiBzaG91bGQgbm90IGJl
IGEgbWF0Y2guCitjb25zdCBwb3J0X21pc21hdGNoX3VybCA9IGAke2xvY2F0aW9uLnByb3RvY29s
fS8vJHtPUklHSU5BTF9IT1NUfToke1BPUlQyfWAgKworICAgICAgICAgICAgICAgICAgICAgICAg
ICBgL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvVEFPUmVzcG9uc2UucHk/YCArCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIGB0YW89b3JpZ2luX3BvcnRfJHtQT1JUMn1gOworYXR0cmlidXRl
X3Rlc3QoCisgIGZldGNoLCBwb3J0X21pc21hdGNoX3VybCwgaW52YXJpYW50cy5hc3NlcnRfdGFv
X2ZhaWx1cmVfcmVzb3VyY2UsCisgICJBIHBvcnQgbWlzbWF0Y2ggbXVzdCBmYWlsIHRoZSBUQU8g
Y2hlY2siKTsKKworLy8gVGhlIHNhbWUgVVJMIGFzIGFib3ZlIGV4Y2VwdCB0aGUgVGltaW5nLUFs
bG93LU9yaWdpbiBoZWFkZXIgd2lsbCBoYXZlIHRoZQorLy8gc2FtZSBwb3J0IGFzIHRoaXMgcGFn
ZSdzIG9yaWdpbi4gVGhlcmVmb3JlLCB0aGlzIHBhZ2UncyBvcmlnaW4gd2lsbCBtYXRjaAorLy8g
dGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gaGVhZGVyJ3MgdmFsdWUuIFRoZXJlZm9yZSwgdGhlIHN1
YnJlc291cmNlJ3MgdGltaW5ncworLy8gbXVzdCBiZSBleHBvc2VkLgorY29uc3QgcG9ydF9tYXRj
aF91cmwgPSBgJHtsb2NhdGlvbi5wcm90b2NvbH0vLyR7T1JJR0lOQUxfSE9TVH06JHtQT1JUMn1g
ICsKKyAgICAgICAgICAgICAgICAgICAgICAgYC9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL1RB
T1Jlc3BvbnNlLnB5P2AgKworICAgICAgICAgICAgICAgICAgICAgICBgdGFvPW9yaWdpbl9wb3J0
XyR7UE9SVH1gOworYXR0cmlidXRlX3Rlc3QoCisgIGZldGNoLCBwb3J0X21hdGNoX3VybCwgaW52
YXJpYW50cy5hc3NlcnRfdGFvX3Bhc3Nfbm9fcmVkaXJlY3RfaHR0cCwKKyAgIkFuIGlkZW50aWNh
bCBwb3J0IG11c3QgcGFzcyB0aGUgVEFPIGNoZWNrIik7CisKKzwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8aDE+RGVzY3JpcHRpb248L2gxPgorPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0
IGZvciBhIGNyb3NzIG9yaWdpbiByZXNvdXJjZSB3aXRoIGRpZmZlcmVudCBwb3J0cywKK3RoZSB0
aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRoZSB2YWx1ZSBvZgor
VGltaW5nLUFsbG93LU9yaWdpbiB2YWx1ZSBoYXMgdGhlIHJpZ2h0IGhvc3QgYnV0IHRoZSB3cm9u
ZyBwb3J0IGluIGl0LjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL19faW5p
dF9fLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvX19pbml0X18ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTY5ZGUyOWJiMmQxZDY0MzRiOGIy
OWFlNzc1YWQ4YzJlNDhjNTM5MQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWVudHJp
ZXMtZHVyaW5nLWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtZW50cmllcy1kdXJp
bmctY2FsbGJhY2suaHRtbAppbmRleCBiMzdjNDdiMjNmYjUwMjY0ODA2ODM1OTRiOTY0ZWU3MTJh
YmJlNzA4Li4zYzg2ZTAwOGY1NGQyODQ2YjU0YmExYzhiZDA4NmU0ZWIwYTYxNGM5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9idWZmZXItZnVsbC1hZGQtZW50cmllcy1kdXJpbmctY2FsbGJhY2suaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9idWZmZXItZnVsbC1hZGQtZW50cmllcy1kdXJpbmctY2FsbGJhY2suaHRtbApAQCAtNiw2
ICs2LDcgQEAKIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVz
b3VyY2UtdGltaW5nLyNwZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+CiA8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3Vy
Y2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InJlc291cmNl
cy9idWZmZXItZnVsbC11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtdGhlbi1jbGVhci1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9idWZmZXItZnVsbC1hZGQtdGhlbi1jbGVhci1leHBlY3RlZC50eHQKaW5kZXggODU5YjUyNTdi
NTgwZWQ3ZDFmYjg1YmZiOGUwMTU1NDEzMWJhNDA4Ny4uOTVkMzNmYTU5OTZlZmViODYyYmExYmIy
OTg5YzJiYzU2YTIyZjhhYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLXRoZW4tY2xl
YXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFkZC10aGVuLWNsZWFyLWV4cGVj
dGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotUEFTUyBUZXN0IHRoYXQgaWYgdGhlIGJ1ZmZlciBp
cyBjbGVhcmVkIGFmdGVyIGVudHJpZXMgd2VyZSBhZGRlZCB0byB0aGUgc2Vjb25kYXJ5IGJ1ZmZl
ciwgdGhvc2UgZW50cmllcyBtYWtlIGl0IGludG8gdGhlIHByaW1hcnkgb25lCitGQUlMIFRlc3Qg
dGhhdCBpZiB0aGUgYnVmZmVyIGlzIGNsZWFyZWQgYWZ0ZXIgZW50cmllcyB3ZXJlIGFkZGVkIHRv
IHRoZSBzZWNvbmRhcnkgYnVmZmVyLCB0aG9zZSBlbnRyaWVzIG1ha2UgaXQgaW50byB0aGUgcHJp
bWFyeSBvbmUgYXNzZXJ0X2VxdWFsczogdGhlIGxhc3QgMyByZXNvdXJjZXMgc2hvdWxkIGJlIGlu
IHRoZSBidWZmZXIsIHNpbmNlIHRoZSBmaXJzdCBvbmUgd2FzIGNsZWFyZWQgZXhwZWN0ZWQgMyBi
dXQgZ290IDIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLXRoZW4tY2xlYXIuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2J1ZmZlci1mdWxsLWFkZC10aGVuLWNsZWFyLmh0bWwKaW5kZXggNzEwODUyY2VkNTVm
NzE2YTM0OGNjOWU2ODY1ZDdhOGI3MDQ4YTQ2YS4uMzJhYzU5NDgxZjk5OTgxOTAzZmE0YThmMDkz
ZjYwMWNmZmE3NzE1MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLXRoZW4tY2xlYXIu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtdGhlbi1jbGVhci5odG1sCkBAIC02LDYgKzYs
NyBAQAogPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJj
ZS10aW1pbmcvI3BlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KIDxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
cmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2J1
ZmZlci1mdWxsLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2J1ZmZlci1mdWxsLWluY3JlYXNlLWJ1ZmZlci1kdXJpbmctY2FsbGJhY2suaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2J1ZmZlci1mdWxsLWluY3JlYXNlLWJ1ZmZlci1kdXJpbmctY2FsbGJhY2suaHRtbApp
bmRleCBiNDZkMmQ2NTY5MGE4ODY4MzdiOGVhNzYyMWYzOTI2MDgxNTUyZDk3Li5kZDEyZGQ3YWZh
OWJlMThiYmRlNDY0MjEyZGMwODE3Nzk2OGRhN2Q2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVs
bC1pbmNyZWFzZS1idWZmZXItZHVyaW5nLWNhbGxiYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1
bGwtaW5jcmVhc2UtYnVmZmVyLWR1cmluZy1jYWxsYmFjay5odG1sCkBAIC0zLDQ2ICszLDIzIEBA
CiA8aGVhZCBvbmxvYWQ+CiA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KIDx0aXRsZT5UaGlzIHRl
c3QgdmFsaWRhdGVzIGluY3JlYXNpbmcgdGhlIGJ1ZmZlciBzaXplIGluIG9ucmVzb3VyY2V0aW1p
bmdidWZmZXJmdWxsIGNhbGxiYWNrIG9mIHJlc291cmNlIHRpbWluZy48L3RpdGxlPgotPGxpbmsg
cmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI3Bl
cmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29v
Z2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBo
cmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI2RvbS1wZXJmb3Jt
YW5jZS1vbnJlc291cmNldGltaW5nYnVmZmVyZnVsbCIvPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNv
dXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvYnVmZmVy
LWZ1bGwtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPHNjcmlwdD4K
LWNvbnN0IHJlc291cmNlX3RpbWluZ19idWZmZXJfc2l6ZSA9IDE7Ci1sZXQgZXZlbnRGaXJlZCA9
IGZhbHNlOwotCi1zZXR1cCgoKSA9PiB7Ci0gICAgLy8gR2V0IHRoZSBicm93c2VyIGludG8gYSBj
b25zaXN0ZW50IHN0YXRlLgotICAgIGNsZWFyQnVmZmVyQW5kU2V0U2l6ZShyZXNvdXJjZV90aW1p
bmdfYnVmZmVyX3NpemUpOwotICAgIHZhciBpbmNyZWFzZSA9IGZ1bmN0aW9uKCkgewotICAgICAg
ICBwZXJmb3JtYW5jZS5zZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUocmVzb3VyY2VfdGltaW5n
X2J1ZmZlcl9zaXplICogMik7Ci0gICAgICAgIGV2ZW50RmlyZWQgPSB0cnVlOwotICAgIH0KLSAg
ICBwZXJmb3JtYW5jZS5hZGRFdmVudExpc3RlbmVyKCdyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwn
LCBpbmNyZWFzZSk7Ci19KTsKLQotbGV0IG92ZXJmbG93VGhlQnVmZmVyID0gKCkgPT4gewotICAg
IHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgICAgLy8gVGhpcyByZXNvdXJj
ZSBvdmVyZmxvd3MgdGhlIGVudHJ5IGJ1ZmZlciwgYW5kIGdvZXMgaW50byB0aGUgc2Vjb25kYXJ5
IGJ1ZmZlci4KLSAgICAgICAgYXBwZW5kU2NyaXB0KCdyZXNvdXJjZXMvZW1wdHlfc2NyaXB0Lmpz
JywgcmVzb2x2ZSk7Ci0gICAgfSk7Ci19OwotCi1sZXQgdGVzdFRoYXRCdWZmZXJDb250YWluc1Ro
ZVJpZ2h0UmVzb3VyY2VzID0gKCkgPT4gewotICAgIGxldCBlbnRyaWVzID0gcGVyZm9ybWFuY2Uu
Z2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKTsKLSAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMu
bGVuZ3RoLCAyLAotICAgICAgICAgICAgICAgICAgJ0JvdGggZW50cmllcyBzaG91bGQgYmUgc3Rv
cmVkIGluIHJlc291cmNlIHRpbWluZyBidWZmZXIgc2luY2UgaXRzIGluY3JlYXNlcyBzaXplIG9u
Y2UgaXQgb3ZlcmZsb3dzLicpOwotICAgIGFzc2VydF90cnVlKGVudHJpZXNbMF0ubmFtZS5pbmNs
dWRlcygnZW1wdHkuanMnKSwgImVtcHR5LmpzIGlzIGluIHRoZSBlbnRyaWVzIGJ1ZmZlciIpOwot
ICAgIGFzc2VydF90cnVlKGVudHJpZXNbMV0ubmFtZS5pbmNsdWRlcygnZW1wdHlfc2NyaXB0Lmpz
JyksICJlbXB0eV9zY3JpcHQuanMgaXMgaW4gdGhlIGVudHJpZXMgYnVmZmVyIik7Ci19OwotCiBw
cm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4gewotICAgIGF3YWl0IGZpbGxVcFRoZUJ1ZmZlcldpdGhT
aW5nbGVSZXNvdXJjZSgicmVzb3VyY2VzL2VtcHR5LmpzIik7Ci0gICAgYXdhaXQgb3ZlcmZsb3dU
aGVCdWZmZXIoKTsKLSAgICBhd2FpdCB3YWl0Rm9yRXZlbnRUb0ZpcmUoKTsKLSAgICB0ZXN0VGhh
dEJ1ZmZlckNvbnRhaW5zVGhlUmlnaHRSZXNvdXJjZXMoKTsKKyAgICBhd2FpdCBmaWxsVXBUaGVC
dWZmZXJXaXRoU2luZ2xlUmVzb3VyY2UoKTsKKyAgICBwZXJmb3JtYW5jZS5hZGRFdmVudExpc3Rl
bmVyKCdyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwnLCAoKSA9PiB7CisgICAgICAgIHBlcmZvcm1h
bmNlLnNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6ZSgyKTsKKyAgICB9KTsKKyAgICBhd2FpdCBs
b2FkLnNjcmlwdChzY3JpcHRSZXNvdXJjZXNbMV0pOworICAgIGF3YWl0IGJ1ZmZlckZ1bGxGaXJl
UHJvbWlzZTsKKyAgICBjaGVja0VudHJpZXMoMik7CiB9LCAiVGVzdCB0aGF0IGluY3JlYXNpbmcg
dGhlIGJ1ZmZlciBkdXJpbmcgdGhlIGNhbGxiYWNrIGlzIGVub3VnaCBmb3IgZW50cmllcyBub3Qg
dG8gYmUgZHJvcHBlZCIpOwogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZm
ZXItZnVsbC1pbnNwZWN0LWJ1ZmZlci1kdXJpbmctY2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
YnVmZmVyLWZ1bGwtaW5zcGVjdC1idWZmZXItZHVyaW5nLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApp
bmRleCBmMGM0ZWZhMDMwOGNjOTkzOTdlNDliNGJlNTdiY2ZjNzRlNWZkNTJmLi43YTBlNjk3ZDRh
ZTAyMGMzNzlkNDQ2M2E0ZTQ3ZDFjOTg4MWVkMzMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVs
bC1pbnNwZWN0LWJ1ZmZlci1kdXJpbmctY2FsbGJhY2stZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1
ZmZlci1mdWxsLWluc3BlY3QtYnVmZmVyLWR1cmluZy1jYWxsYmFjay1leHBlY3RlZC50eHQKQEAg
LTEsMyArMSw1IEBACiAKLVBBU1MgVGVzdCB0aGF0IGVudHJpZXMgaW4gdGhlIHNlY29uZGFyeSBi
dWZmZXIgYXJlIG5vdCBleHBvc2VkIGR1cmluZyB0aGUgY2FsbGJhY2sgYW5kIGJlZm9yZSB0aGV5
IGFyZSBjb3BpZWQgdG8gdGhlIHByaW1hcnkgYnVmZmVyCitIYXJuZXNzIEVycm9yIChUSU1FT1VU
KSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBUZXN0IHRoYXQgZW50cmllcyBpbiB0aGUgc2Vj
b25kYXJ5IGJ1ZmZlciBhcmUgbm90IGV4cG9zZWQgZHVyaW5nIHRoZSBjYWxsYmFjayBhbmQgYmVm
b3JlIHRoZXkgYXJlIGNvcGllZCB0byB0aGUgcHJpbWFyeSBidWZmZXIgVGVzdCB0aW1lZCBvdXQK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5zcGVjdC1idWZmZXItZHVyaW5nLWNhbGxi
YWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbnNwZWN0LWJ1ZmZlci1kdXJpbmctY2FsbGJhY2su
aHRtbAppbmRleCBkNDZkNDY5MmE1NWI5Y2JlZjFhYTVmODgyZjM4ODg3ZTFmNzk0MGU5Li5kNGFi
MDRjZGQzNDVjOTUzMDRmYTZiM2VmNWJkMzc5MjJjMDVlYTJiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZm
ZXItZnVsbC1pbnNwZWN0LWJ1ZmZlci1kdXJpbmctY2FsbGJhY2suaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZm
ZXItZnVsbC1pbnNwZWN0LWJ1ZmZlci1kdXJpbmctY2FsbGJhY2suaHRtbApAQCAtNiw2ICs2LDcg
QEAKIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2Ut
dGltaW5nLyNwZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+CiA8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jl
c291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy9idWZm
ZXItZnVsbC11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9idWZmZXItZnVsbC1zZXQtdG8tY3VycmVudC1idWZmZXItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvYnVmZmVyLWZ1bGwtc2V0LXRvLWN1cnJlbnQtYnVmZmVyLWV4cGVjdGVkLnR4dAppbmRleCA4
YzM1NjlkNjU4ODlkMzRkMDc4ZGNhOTY3ZmI1M2ZjOWRhYTg1NDZjLi5lZTJkMDc2M2NjYTgxMjg4
ZmE2ZGUzOTFkZjc3NjcyMWQ3MjhkYTczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zZXQt
dG8tY3VycmVudC1idWZmZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXNldC10
by1jdXJyZW50LWJ1ZmZlci1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw1IEBACiAKLVBBU1MgVGVz
dCB0aGF0IGVudHJpZXMgYWRkZWQgYW5kIGV2ZW50IGZpcmluZyBoYXBwZW5lZCBpbiB0aGUgcmln
aHQgc2VxdWVuY2UKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitU
SU1FT1VUIFRlc3QgdGhhdCBhZGRpbmcgZW50cmllcyBhbmQgZmlyaW5nIHRoZSBidWZmZXIgZnVs
bCBldmVudCBoYXBwZW4gaW4gdGhlIHJpZ2h0IG9yZGVyLiBUZXN0IHRpbWVkIG91dAogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9idWZmZXItZnVsbC1zZXQtdG8tY3VycmVudC1idWZmZXIuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1
ZmZlci1mdWxsLXNldC10by1jdXJyZW50LWJ1ZmZlci5odG1sCmluZGV4IDFlNTQ4NmVjMmNkZmM0
NDI4NzZiYTFmNWIyYzUyNDk4NWU3MGU1YjUuLmRjNTI3YjlhMzJmNTE0OWZkZTRiZTg2ZDNiMmFl
NWQ4MWZkMmQ0YzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXNldC10by1jdXJyZW50LWJ1
ZmZlci5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXNldC10by1jdXJyZW50LWJ1ZmZlci5odG1s
CkBAIC0yLDgxICsyLDMzIEBACiA8aHRtbD4KIDxoZWFkPgogPG1ldGEgY2hhcnNldD0idXRmLTgi
PgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIuaW8vcmVzb3VyY2Ut
dGltaW5nLyNkb20tcGVyZm9ybWFuY2Utc2V0cmVzb3VyY2V0aW1pbmdidWZmZXJzaXplIj4KIDx0
aXRsZT5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgc2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJGdWxs
IGJlaGF2ZXMgYXBwcm9wcmlhdGVseSB3aGVuIHNldCB0byB0aGUgY3VycmVudCBidWZmZXIgbGV2
ZWwuPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRw
Oi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3
dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI2RvbS1wZXJmb3JtYW5jZS1vbnJlc291cmNl
dGltaW5nYnVmZmVyZnVsbCI+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy9idWZmZXItZnVsbC11dGlsaXRpZXMu
anMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CiA8c2NyaXB0PgotbGV0IGV2ZW50RmlyZWQg
PSBmYWxzZTsKLQotbGV0IGxvYWRSYW5kb21SZXNvdXJjZSA9ICgpID0+IHsKLSAgICByZXR1cm4g
ZmV0Y2god2luZG93LmxvY2F0aW9uLmhyZWYgKyAiPyIgKyBNYXRoLnJhbmRvbSgpKTsKLX07Ci0K
LXNldHVwKCgpID0+IHsKLSAgICAvLyBHZXQgdGhlIGJyb3dzZXIgaW50byBhIGNvbnNpc3RlbnQg
c3RhdGUuCi0gICAgY2xlYXJCdWZmZXJBbmRTZXRTaXplKDEwMCk7Ci0gICAgd2luZG93LnJlc3Vs
dCA9ICIiOwotfSk7Ci0KLWxldCBmaWxsVXBUaGVCdWZmZXIgPSAoKSA9PiB7Ci0gICAgcmV0dXJu
IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgICAgICAvLyBHYXRoZXIgdXAgMyBSZXNvdXJj
ZSBFbnRyaWVzIHRvIGtpY2sgb2ZmIHRoZSByZXN0IG9mIHRlc3QgYmVoYXZpb3IuCi0gICAgICAg
IGxldCByZXNvdXJjZXMgPSAwOwotICAgICAgICBsZXQgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFu
Y2VPYnNlcnZlcihsaXN0ID0+IHsKLSAgICAgICAgICAgIHJlc291cmNlcyArPSBsaXN0LmdldEVu
dHJpZXNCeVR5cGUoInJlc291cmNlIikubGVuZ3RoOwotICAgICAgICAgICAgaWYgKHJlc291cmNl
cyAhPT0gMykKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICBvYnNlcnZlci5k
aXNjb25uZWN0KCk7Ci0gICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAgIH0pOwotICAgICAg
ICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbInJlc291cmNlIl19KTsKLSAgICAgICAg
Zm9yIChsZXQgaSA9IDA7IGkgPCAzOyArK2kpCi0gICAgICAgICAgICBsb2FkUmFuZG9tUmVzb3Vy
Y2UoKTsKLSAgICB9KTsKLX07Ci0KLWxldCBzZXRCdWZmZXJTaXplID0gKCkgPT4gewotICAgIHBl
cmZvcm1hbmNlLm9ucmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsID0gKCkgPT4gewotICAgICAgICBl
dmVudEZpcmVkID0gdHJ1ZTsKLSAgICAgICAgd2luZG93LnJlc3VsdCArPSAiRXZlbnQgRmlyZWQg
d2l0aCAiICArIHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoInJlc291cmNlIikubGVuZ3Ro
ICsgIiBlbnRyaWVzLiAiOworcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAgICBsZXQgcmVz
dWx0ID0gJyc7CisgICAgcGVyZm9ybWFuY2UuYWRkRXZlbnRMaXN0ZW5lcigncmVzb3VyY2V0aW1p
bmdidWZmZXJmdWxsJywgKCkgPT4geworICAgICAgICByZXN1bHQgKz0gJ0V2ZW50IEZpcmVkIHdp
dGggJyAgKworICAgICAgICAgICAgcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncmVzb3Vy
Y2UnKS5sZW5ndGggKyAnIGVudHJpZXMuJzsKICAgICAgICAgcGVyZm9ybWFuY2UuY2xlYXJSZXNv
dXJjZVRpbWluZ3MoKTsKLSAgICB9OwotICAgIHdpbmRvdy5yZXN1bHQgKz0gImJlZm9yZSBzZXRM
aW1pdCgzKS4gIjsKLSAgICBwZXJmb3JtYW5jZS5zZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUo
Myk7Ci0gICAgd2luZG93LnJlc3VsdCArPSAiYWZ0ZXIgc2V0TGltaXQoMykuICI7Ci19OwotCi1s
ZXQgb3ZlcmZsb3dUaGVCdWZmZXIgPSAoKSA9PiB7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJl
c29sdmUgPT4gewotICAgICAgICBsb2FkUmFuZG9tUmVzb3VyY2UoKS50aGVuKCgpID0+IHsKLSAg
ICAgICAgICAgIHdpbmRvdy5yZXN1bHQgKz0gImFmdGVyIGxvYWRpbmcgNHRoIHJlc291cmNlLiAi
OwotICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICB9KTsKICAgICB9KTsKLX07Ci0KLWxl
dCBjaGVja1Jlc3VsdCA9ICgpID0+IHsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUs
IHJlamVjdCkgPT4gewotICAgICAgICBpZiAod2luZG93LnJlc3VsdCAhPSAiYmVmb3JlIHNldExp
bWl0KDMpLiBhZnRlciBzZXRMaW1pdCgzKS4gYWZ0ZXIgbG9hZGluZyA0dGggcmVzb3VyY2UuIEV2
ZW50IEZpcmVkIHdpdGggMyBlbnRyaWVzLiAiKSB7Ci0gICAgICAgICAgICByZWplY3QoIk5vbiBt
YXRjaGluZyB2YWx1ZTogIiArIHdpbmRvdy5yZXN1bHQpOwotICAgICAgICB9Ci0gICAgICAgIGxl
dCBlbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgicmVzb3VyY2UiKTsKLSAg
ICAgICAgaWYgKGVudHJpZXMubGVuZ3RoICE9IDEpIHsKLSAgICAgICAgICAgIHJlamVjdCgiTnVt
YmVyIG9mIGVudHJpZXMgaW4gcmVzb3VyY2UgdGltaW5nIGJ1ZmZlciBpcyB1bmV4cGVjdGVkOiAi
ICsgZW50cmllcy5sZW5ndGgpOwotICAgICAgICB9Ci0gICAgICAgIHJlc29sdmUoKTsKLSAgICB9
KTsKLX07Ci0KLXByb21pc2VfdGVzdChhc3luYyAoKSA9PiB7Ci0gICAgYXdhaXQgZmlsbFVwVGhl
QnVmZmVyKCk7Ci0gICAgc2V0QnVmZmVyU2l6ZSgpOwotICAgIGF3YWl0IG92ZXJmbG93VGhlQnVm
ZmVyKCk7Ci0gICAgYXdhaXQgd2FpdEZvckV2ZW50VG9GaXJlKCk7Ci0gICAgYXdhaXQgY2hlY2tS
ZXN1bHQoKTsKLX0sICJUZXN0IHRoYXQgZW50cmllcyBhZGRlZCBhbmQgZXZlbnQgZmlyaW5nIGhh
cHBlbmVkIGluIHRoZSByaWdodCBzZXF1ZW5jZSIpOworICAgIHJlc3VsdCArPSAnQmVmb3JlIGFk
ZGluZyBlbnRyaWVzLiAnOworICAgIGF3YWl0IGZpbGxVcFRoZUJ1ZmZlcldpdGhUd29SZXNvdXJj
ZXMoKTsKKyAgICByZXN1bHQgKz0gJ0FmdGVyIGFkZGluZyBlbnRyaWVzLiAnOworICAgIGxvYWQu
c2NyaXB0KHNjcmlwdFJlc291cmNlc1syXSk7CisgICAgYXdhaXQgYnVmZmVyRnVsbEZpcmVQcm9t
aXNlOworICAgIGFzc2VydF9lcXVhbHMocmVzdWx0LCAnQmVmb3JlIGFkZGluZyBlbnRyaWVzLiBB
ZnRlciBhZGRpbmcgZW50cmllcy4gRXZlbnQgRmlyZWQgd2l0aCAyIGVudHJpZXMuJyk7CisgICAg
Y29uc3QgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7
CisgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwKKyAgICAgICAgJ051bWJlciBv
ZiBlbnRyaWVzIGluIHJlc291cmNlIHRpbWluZyBidWZmZXIgaXMgdW5leHBlY3RlZCcpOworICAg
IGFzc2VydF90cnVlKGVudHJpZXNbMF0ubmFtZS5pbmNsdWRlcyhzY3JpcHRSZXNvdXJjZXNbMl0p
LAorICAgICAgICAnVGhlIGVudHJ5IG11c3QgY29ycmVzcG9uZCB0byB0aGUgbGFzdCByZXNvdXJj
ZSBsb2FkZWQuJykKK30sICJUZXN0IHRoYXQgYWRkaW5nIGVudHJpZXMgYW5kIGZpcmluZyB0aGUg
YnVmZmVyIGZ1bGwgZXZlbnQgaGFwcGVuIGluIHRoZSByaWdodCBvcmRlci4iKTsKIDwvc2NyaXB0
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc3RvcmUtYW5kLWNsZWFyLWR1cmluZy1jYWxs
YmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zdG9yZS1hbmQtY2xlYXItZHVyaW5n
LWNhbGxiYWNrLWV4cGVjdGVkLnR4dAppbmRleCBiZjI3NTVmYzQyODgyYTI1MTdjYmQ0ZGIzNDFk
NTVmNTFjNjI2MjZlLi4zN2YwY2YxOTllOTQyN2RjN2E4NzMwYWU2Mzk3NDQ1NDQ1ODAzNzUzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zdG9yZS1hbmQtY2xlYXItZHVyaW5nLWNhbGxiYWNr
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zdG9yZS1hbmQtY2xlYXItZHVyaW5n
LWNhbGxiYWNrLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDUgQEAKIAotUEFTUyBUZXN0IHRoYXQg
ZW50cmllcyBvdmVyZmxvd2luZyB0aGUgYnVmZmVyIHRyaWdnZXIgdGhlIGJ1ZmZlciBmdWxsIGV2
ZW50LCBjYW4gYmUgc3RvcmVkLCBhbmQgZmluZCB0aGVtc2VsdmVzIGluIHRoZSBwcmltYXJ5IGJ1
ZmZlciBhZnRlciBpdCdzIGNsZWFyZWQuCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2Fn
ZSA9IG51bGwKKworVElNRU9VVCBUZXN0IHRoYXQgZW50cmllcyBvdmVyZmxvd2luZyB0aGUgYnVm
ZmVyIHRyaWdnZXIgdGhlIGJ1ZmZlciBmdWxsIGV2ZW50LCBjYW4gYmUgc3RvcmVkLCBhbmQgbWFr
ZSB0aGVpciB3YXkgdG8gdGhlIHByaW1hcnkgYnVmZmVyIGFmdGVyIGl0J3MgY2xlYXJlZCBpbiB0
aGUgYnVmZmVyIGZ1bGwgZXZlbnQuIFRlc3QgdGltZWQgb3V0CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1
ZmZlci1mdWxsLXN0b3JlLWFuZC1jbGVhci1kdXJpbmctY2FsbGJhY2suaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZl
ci1mdWxsLXN0b3JlLWFuZC1jbGVhci1kdXJpbmctY2FsbGJhY2suaHRtbAppbmRleCBmMDc5MWNi
YTZiMzlmYjRiN2UxYWYwOTA3Nzc3MmYxZWUzYjQyNzQ0Li4zZWEwNTc3MjU2Yzg1YjM1NDUzMzU4
ZDE4Yzk3MGU0ZmIzMDQ1YzRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zdG9yZS1hbmQt
Y2xlYXItZHVyaW5nLWNhbGxiYWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc3RvcmUtYW5k
LWNsZWFyLWR1cmluZy1jYWxsYmFjay5odG1sCkBAIC00LDUyICs0LDMzIEBACiA8bWV0YSBjaGFy
c2V0PSJ1dGYtOCIgLz4KIDx0aXRsZT5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoZSBiZWhhdmlvciBv
ZiByZWFkIGFuZCBjbGVhciBvcGVyYXRpb24gaW4gb25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwg
Y2FsbGJhY2sgb2YgcmVzb3VyY2UgdGltaW5nLjwvdGl0bGU+CiA8bGluayByZWw9ImF1dGhvciIg
dGl0bGU9IkludGVsIiBocmVmPSJodHRwOi8vd3d3LmludGVsLmNvbS8iIC8+Ci08bGluayByZWw9
ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jcGVyZm9y
bWFuY2VyZXNvdXJjZXRpbWluZyIvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3
dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI2RvbS1wZXJmb3JtYW5jZS1vbnJlc291cmNl
dGltaW5nYnVmZmVyZnVsbCIvPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpz
Ij48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVz
LmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPHNjcmlwdD4KLWNvbnN0IHJlc291cmNl
X3RpbWluZ19idWZmZXJfc2l6ZSA9IDE7Ci1sZXQgZ2xvYmFsX2J1ZmZlciA9IFtdOwotbGV0IGV2
ZW50RmlyZWQgPSBmYWxzZTsKLQotc2V0dXAoKCkgPT4gewotICAgIGNsZWFyQnVmZmVyQW5kU2V0
U2l6ZShyZXNvdXJjZV90aW1pbmdfYnVmZmVyX3NpemUpOwotICAgIGxldCBzdG9yZV9hbmRfY2xl
YXIgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgY29uc3QgZW50cnlMaXN0ID0gcGVyZm9ybWFuY2Uu
Z2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKTsKLSAgICAgICAgZW50cnlMaXN0LmZvckVhY2go
ZnVuY3Rpb24gKGVudHJ5KSB7Ci0gICAgICAgICAgICBnbG9iYWxfYnVmZmVyLnB1c2goZW50cnkp
OwotICAgICAgICB9KTsKLSAgICAgICAgcGVyZm9ybWFuY2UuY2xlYXJSZXNvdXJjZVRpbWluZ3Mo
KTsKLSAgICAgICAgZXZlbnRGaXJlZCA9IHRydWU7Ci0gICAgfQotICAgIHBlcmZvcm1hbmNlLmFk
ZEV2ZW50TGlzdGVuZXIoJ3Jlc291cmNldGltaW5nYnVmZmVyZnVsbCcsIHN0b3JlX2FuZF9jbGVh
cik7Ci19KTsKLQotbGV0IG92ZXJmbG93VGhlQnVmZmVyID0gKCkgPT4gewotICAgIHJldHVybiBu
ZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgICAgLy8gVGhpcyByZXNvdXJjZSBvdmVyZmxv
d3MgdGhlIGVudHJ5IGJ1ZmZlciwgYW5kIGdvZXMgaW50byB0aGUgc2Vjb25kYXJ5IGJ1ZmZlci4K
LSAgICAgICAgYXBwZW5kU2NyaXB0KCdyZXNvdXJjZXMvZW1wdHlfc2NyaXB0LmpzJywgcmVzb2x2
ZSk7Citwcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4geworICAgIGF3YWl0IGZpbGxVcFRoZUJ1ZmZl
cldpdGhTaW5nbGVSZXNvdXJjZSgpOworICAgIGNvbnN0IGVudHJ5QnVmZmVyID0gW107CisgICAg
cGVyZm9ybWFuY2UuYWRkRXZlbnRMaXN0ZW5lcigncmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsJywg
KCkgPT4geworICAgICAgZW50cnlCdWZmZXIucHVzaCguLi5wZXJmb3JtYW5jZS5nZXRFbnRyaWVz
QnlUeXBlKCdyZXNvdXJjZScpKTsKKyAgICAgIHBlcmZvcm1hbmNlLmNsZWFyUmVzb3VyY2VUaW1p
bmdzKCk7CiAgICAgfSk7Ci19OwotCi1sZXQgdGVzdFRoYXRCdWZmZXJDb250YWluc1RoZVJpZ2h0
UmVzb3VyY2VzID0gKCkgPT4gewotICAgIGxldCBlbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50
cmllc0J5VHlwZSgncmVzb3VyY2UnKTsKKyAgICBsb2FkLnNjcmlwdChzY3JpcHRSZXNvdXJjZXNb
MV0pOworICAgIGF3YWl0IGJ1ZmZlckZ1bGxGaXJlUHJvbWlzZTsKKyAgICBjb25zdCBlbnRyaWVz
ID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKTsKICAgICBhc3NlcnRf
ZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLAotICAgICAgICAgICAgICAgICAgIk9ubHkgdGhlIGxh
c3QgZW50cnkgc2hvdWxkIGJlIHN0b3JlZCBpbiByZXNvdXJjZSB0aW1pbmcgYnVmZmVyIHNpbmNl
IGl0J3MgY2xlYXJlZCBvbmNlIGl0IG92ZXJmbG93cy4iKTsKLSAgICBhc3NlcnRfZXF1YWxzKGds
b2JhbF9idWZmZXIubGVuZ3RoLCAxLCAnMSByZXNvdXJjZSB0aW1pbmcgZW50cnkgc2hvdWxkIGJl
IG1vdmVkIHRvIGdsb2JhbCBidWZmZXIuJyk7Ci0gICAgYXNzZXJ0X3RydWUoZ2xvYmFsX2J1ZmZl
clswXS5uYW1lLmluY2x1ZGVzKCdlbXB0eS5qcycpLCAiZW1wdHkuanMgaXMgaW4gdGhlIGdsb2Jh
bCBidWZmZXIiKTsKLSAgICBhc3NlcnRfdHJ1ZShlbnRyaWVzWzBdLm5hbWUuaW5jbHVkZXMoJ2Vt
cHR5X3NjcmlwdC5qcycpLCAiZW1wdHlfc2NyaXB0LmpzIGlzIGluIHRoZSBlbnRyaWVzIGJ1ZmZl
ciIpOwotfTsKLQotcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKLSAgICBhd2FpdCBmaWxsVXBU
aGVCdWZmZXJXaXRoU2luZ2xlUmVzb3VyY2UoInJlc291cmNlcy9lbXB0eS5qcyIpOwotICAgIGF3
YWl0IG92ZXJmbG93VGhlQnVmZmVyKCk7Ci0gICAgYXdhaXQgd2FpdEZvckV2ZW50VG9GaXJlKCk7
Ci0gICAgdGVzdFRoYXRCdWZmZXJDb250YWluc1RoZVJpZ2h0UmVzb3VyY2VzKCk7Ci19LCAiVGVz
dCB0aGF0IGVudHJpZXMgb3ZlcmZsb3dpbmcgdGhlIGJ1ZmZlciB0cmlnZ2VyIHRoZSBidWZmZXIg
ZnVsbCBldmVudCwgY2FuIGJlIHN0b3JlZCwgYW5kIGZpbmQgdGhlbXNlbHZlcyBpbiB0aGUgcHJp
bWFyeSBidWZmZXIgYWZ0ZXIgaXQncyBjbGVhcmVkLiIpOworICAgICAgICAiT25seSB0aGUgbGFz
dCBlbnRyeSBzaG91bGQgYmUgc3RvcmVkIGluIHJlc291cmNlIHRpbWluZyBidWZmZXIgc2luY2Ug
aXQncyBjbGVhcmVkIG9uY2UgaXQgb3ZlcmZsb3dzLiIpOworICAgIGFzc2VydF90cnVlKGVudHJp
ZXNbMF0ubmFtZS5pbmNsdWRlcyhzY3JpcHRSZXNvdXJjZXNbMV0pLAorICAgICAgICBzY3JpcHRS
ZXNvdXJjZXNbMV0gICsgIiBpcyBpbiB0aGUgZW50cmllcyBidWZmZXIiKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKGVudHJ5QnVmZmVyLmxlbmd0aCwgMSwKKyAgICAgICAgJzEgcmVzb3VyY2UgdGltaW5n
IGVudHJ5IHNob3VsZCBiZSBtb3ZlZCB0byBlbnRyeUJ1ZmZlci4nKTsKKyAgICBhc3NlcnRfdHJ1
ZShlbnRyeUJ1ZmZlclswXS5uYW1lLmluY2x1ZGVzKHNjcmlwdFJlc291cmNlc1swXSksCisgICAg
ICAgIHNjcmlwdFJlc291cmNlc1swXSArICcgaXMgaW4gdGhlIGVudHJ5QnVmZmVyJyk7Cit9LCAi
VGVzdCB0aGF0IGVudHJpZXMgb3ZlcmZsb3dpbmcgdGhlIGJ1ZmZlciB0cmlnZ2VyIHRoZSBidWZm
ZXIgZnVsbCBldmVudCwgY2FuIGJlIHN0b3JlZCwgYW5kIG1ha2UgdGhlaXIgd2F5IHRvIHRoZSBw
cmltYXJ5IGJ1ZmZlciBhZnRlciBpdCdzIGNsZWFyZWQgaW4gdGhlIGJ1ZmZlciBmdWxsIGV2ZW50
LiIpOwogPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXIt
ZnVsbC10aGVuLWluY3JlYXNlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC10aGVuLWlu
Y3JlYXNlZC1leHBlY3RlZC50eHQKaW5kZXggZWZiYjY5NzRiYTczYWVkOTAwYzA1ZmM1MWVmZDM3
ODM0NTA4MjkxOS4uNmY5ZTNmODJkMDExYzgzMTk0ODFhZWE5MmJmZTIxNGFjN2FlNjA3YiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL2J1ZmZlci1mdWxsLXRoZW4taW5jcmVhc2VkLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMg
QEAKIAotUEFTUyBUZXN0IHRoYXQgb3ZlcmZsb3dpbmcgdGhlIGJ1ZmZlciBhbmQgaW1tZWRpYXRl
bHkgaW5jcmVhc2luZyBpdHMgbGltaXQgZG9lcyBub3QgdHJpZ2dlciB0aGUgcmVzb3VyY2V0aW1p
bmdidWZmZXJmdWxsIGV2ZW50CitGQUlMIFRlc3QgdGhhdCBvdmVyZmxvd2luZyB0aGUgYnVmZmVy
IGFuZCBpbW1lZGlhdGVseSBpbmNyZWFzaW5nIGl0cyBsaW1pdCBkb2VzIG5vdCB0cmlnZ2VyIHRo
ZSByZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwgZXZlbnQgYXNzZXJ0X2VxdWFsczogQWxsIHJlc291
cmNlcyBzaG91bGQgYmUgaW4gdGhlIGJ1ZmZlciwgc2luY2UgaXRzIHNpemUgd2FzIGluY3JlYXNl
ZCBleHBlY3RlZCAzIGJ1dCBnb3QgMgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC10aGVu
LWluY3JlYXNlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQuaHRtbAppbmRl
eCAyMjY1MDc3ZmMxNWEyNzdjMzM1MmRhMjE1ZmE1YWM4YTI3NmM2MGFhLi42NTJhZDE5MjFkM2Q1
OTc2OGI3MmQ0NWZiNjllN2Q5NGVkNzMwNTI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC10
aGVuLWluY3JlYXNlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXRoZW4taW5jcmVhc2VkLmh0
bWwKQEAgLTYsNiArNiw3IEBACiA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMu
b3JnL1RSL3Jlc291cmNlLXRpbWluZy8jcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgogPHNj
cmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4K
IDxib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtd2hlbi1wb3B1bGF0ZS1lbnRyaWVz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXdoZW4tcG9wdWxhdGUtZW50cmllcy1leHBl
Y3RlZC50eHQKaW5kZXggMzRlYzgxODU4OWQ2NWU5MThhM2FiOTQzNjcyNmQxNDIxMzExNWU3Ni4u
ZjE5ZmYxODYzZDc5YzkzOTM4YzI0YzljZjY1ZTI1NWMxYmU3ZmE2ZCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
YnVmZmVyLWZ1bGwtd2hlbi1wb3B1bGF0ZS1lbnRyaWVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9i
dWZmZXItZnVsbC13aGVuLXBvcHVsYXRlLWVudHJpZXMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEs
MyBAQAogCi1QQVNTIFRlc3QgdGhhdCBhIGJ1ZmZlciBmdWxsIGV2ZW50IGRvZXMgbm90IGJ1YmJs
ZSBhbmQgdGhhdCByZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwgaXMgY2FsbGVkIG9ubHkgb25jZSBw
ZXIgb3ZlcmZsb3cKK0ZBSUwgVGVzdCB0aGF0IGEgYnVmZmVyIGZ1bGwgZXZlbnQgZG9lcyBub3Qg
YnViYmxlIGFuZCB0aGF0IHJlc291cmNldGltaW5nYnVmZmVyZnVsbCBpcyBjYWxsZWQgb25seSBv
bmNlIHBlciBvdmVyZmxvdyBhc3NlcnRfZXF1YWxzOiBOdW1iZXIgb2YgZW50cmllcyBkb2VzIG5v
dCBtYXRjaCB0aGUgZXhwZWN0ZWQgdmFsdWUuIGV4cGVjdGVkIDIgYnV0IGdvdCAwCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2J1ZmZlci1mdWxsLXdoZW4tcG9wdWxhdGUtZW50cmllcy5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVm
ZmVyLWZ1bGwtd2hlbi1wb3B1bGF0ZS1lbnRyaWVzLmh0bWwKaW5kZXggMDBkMmFlMGU0NDI2ZjQ2
NDRmNzBlOTIxNzUxZmZmYzMyN2RlNDZkNi4uZjRiMWEyZTdlN2FiYmEyNWM3OGU0YzFkYmUwYjFh
YmEyOTA2MWQ0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtd2hlbi1wb3B1bGF0ZS1lbnRy
aWVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtd2hlbi1wb3B1bGF0ZS1lbnRyaWVzLmh0bWwK
QEAgLTIsNDQgKzIsMjggQEAKIDxodG1sPgogPGhlYWQ+CiA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIg
Lz4KLTxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iSW50ZWwiIGhyZWY9Imh0dHA6Ly93d3cuaW50
ZWwuY29tLyIgLz4KLTxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIv
cmVzb3VyY2UtdGltaW5nLyNwZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+CiA8dGl0bGU+VGhp
cyB0ZXN0IHZhbGlkYXRlcyB0aGUgZnVuY3Rpb25hbGl0eSBvZiBvbnJlc291cmNldGltaW5nYnVm
ZmVyZnVsbCBpbiByZXNvdXJjZSB0aW1pbmcuPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0
aXRsZT0iSW50ZWwiIGhyZWY9Imh0dHA6Ly93d3cuaW50ZWwuY29tLyIgLz4KKzxsaW5rIHJlbD0i
aGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNkb20t
cGVyZm9ybWFuY2Utb25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwiLz4KIDxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L2J1ZmZlci1mdWxsLXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxz
Y3JpcHQ+Ci1jb25zdCByZXNvdXJjZV90aW1pbmdfYnVmZmVyX3NpemUgPSAyOwotbGV0IGJ1ZmZl
ckZ1bGxDb3VudCA9IDA7Ci1sZXQgZXZlbnRGaXJlZCA9IGZhbHNlOwotc2V0dXAoKCkgPT4gewot
ICAgIGNsZWFyQnVmZmVyQW5kU2V0U2l6ZShyZXNvdXJjZV90aW1pbmdfYnVmZmVyX3NpemUpOwor
cHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAgICBsZXQgYnVmZmVyRnVsbENvdW50ID0gMDsK
ICAgICBwZXJmb3JtYW5jZS5hZGRFdmVudExpc3RlbmVyKCdyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1
bGwnLCBlID0+IHsKICAgICAgICAgYXNzZXJ0X2VxdWFscyhlLmJ1YmJsZXMsIGZhbHNlLCAiRXZl
bnQgYnViYmxlcyBhdHRyaWJ1dGUgaXMgZmFsc2UiKTsKICAgICAgICAgYnVmZmVyRnVsbENvdW50
Kys7Ci0gICAgICAgIGV2ZW50RmlyZWQgPSB0cnVlOwogICAgIH0pOwotfSk7Ci0KLWxldCBvdmVy
Zmxvd1RoZUJ1ZmZlciA9ICgpID0+IHsKLSAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9
PiB7Ci0gICAgICAgIC8vIFRoaXMgcmVzb3VyY2Ugb3ZlcmZsb3dzIHRoZSBlbnRyeSBidWZmZXIs
IGFuZCBnb2VzIGludG8gdGhlIHNlY29uZGFyeSBidWZmZXIuCi0gICAgICAgIGFwcGVuZFNjcmlw
dCgncmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5qcycsIHJlc29sdmUpOwotICAgIH0pOwotfTsKLQot
bGV0IHRlc3RUaGF0QnVmZmVyQ29udGFpbnNUaGVSaWdodFJlc291cmNlcyA9ICgpID0+IHsKLSAg
ICBhc3NlcnRfZXF1YWxzKHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyku
bGVuZ3RoLCByZXNvdXJjZV90aW1pbmdfYnVmZmVyX3NpemUsICdUaGVyZSBzaG91bGQgb25seSBi
ZSB8YnVmZmVyU2l6ZXwgcmVzb3VyY2UgZW50cmllcy4nKTsKKyAgICBhd2FpdCBmaWxsVXBUaGVC
dWZmZXJXaXRoVHdvUmVzb3VyY2VzKCk7CisgICAgLy8gT3ZlcmZsb3cgdGhlIGJ1ZmZlcgorICAg
IGF3YWl0IGxvYWQuc2NyaXB0KHNjcmlwdFJlc291cmNlc1syXSk7CisgICAgYXdhaXQgd2FpdEZv
ck5leHRUYXNrKCk7CisgICAgY2hlY2tFbnRyaWVzKDIpOwogICAgIGFzc2VydF9lcXVhbHMoYnVm
ZmVyRnVsbENvdW50LCAxLCAnb25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwgc2hvdWxkIGhhdmUg
YmVlbiBpbnZva2VkIG9uY2UuJyk7Ci19OwotCi1wcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4gewot
ICAgIGF3YWl0IGZpbGxVcFRoZUJ1ZmZlcldpdGhUd29SZXNvdXJjZXMoJ3Jlc291cmNlcy9lbXB0
eS5qcycpOwotICAgIGF3YWl0IG92ZXJmbG93VGhlQnVmZmVyKCk7Ci0gICAgYXdhaXQgd2FpdEZv
ckV2ZW50VG9GaXJlKCk7Ci0gICAgdGVzdFRoYXRCdWZmZXJDb250YWluc1RoZVJpZ2h0UmVzb3Vy
Y2VzKCk7CiB9LCAiVGVzdCB0aGF0IGEgYnVmZmVyIGZ1bGwgZXZlbnQgZG9lcyBub3QgYnViYmxl
IGFuZCB0aGF0IHJlc291cmNldGltaW5nYnVmZmVyZnVsbCBpcyBjYWxsZWQgb25seSBvbmNlIHBl
ciBvdmVyZmxvdyIpOwogPC9zY3JpcHQ+CiA8L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0
aW9uLXJldXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmI1YjE1ODcyZjYzODE4Y2U1NTcyM2EwNTdjZDk2YzljZDNkNmY3MTYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0aW9uLXJldXNlLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDggQEAKK0Rlc2NyaXB0aW9uCisKK1NlZSB0aGUgaW5jbHVkZWQgdGVzdCBzY3JpcHQKKwor
CitQQVNTIFBlcmZvcm1hbmNlUmVzcm91Y2VUaW1pbmcgZW50cmllcyBuZWVkIHRvIGNvbmZvcm0g
dG8gdGhlIHNwZWMgd2hlbiBhIGRpc3RpbmN0IHJlc291cmNlIGlzIGZldGNoZWQgb3ZlciBhIHBl
cnNpc3RlbnQgY29ubmVjdGlvbgorUEFTUyBQZXJmb3JtYW5jZVJlc3JvdWNlVGltaW5nIGVudHJp
ZXMgbmVlZCB0byBjb25mb3JtIHRvIHRoZSBzcGVjIHdoZW4gdGhlIHJlc291cmNlIGlzIGNhY2hl
LXJldmFsaWRhdGVkIG92ZXIgYSBwZXJzaXN0ZW50IGNvbm5lY3Rpb24KKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvY29ubmVjdGlvbi1yZXVzZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1yZXVzZS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmU4MmI3YmM0ZWE5YmIxYzM5MDQ3YzVmNTE4NjdkYzNhM2E0NWRiZWIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9jb25uZWN0aW9uLXJldXNlLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8
dGl0bGU+UmVzb3VyY2UgVGltaW5nIGNvbm5lY3Rpb24gcmV1c2U8L3RpdGxlPgorPGxpbmsgcmVs
PSJhdXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+
Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10
aW1pbmctMi8jc2VjLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvZW50cnktaW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L2Nvbm5lY3Rpb24tcmV1c2UtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxo
MT5EZXNjcmlwdGlvbjwvaDE+Cis8cD5TZWUgPGEgaHJlZj0icmVzb3VyY2VzL2Nvbm5lY3Rpb24t
cmV1c2UtdGVzdC5qcyI+dGhlIGluY2x1ZGVkIHRlc3QKKyAgc2NyaXB0PC9hPjwvcD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvY29ubmVjdGlvbi1yZXVzZS5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYjViMTU4NzJmNjM4MThjZTU1NzIzYTA1N2NkOTZjOWNkM2Q2ZjcxNgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
OCBAQAorRGVzY3JpcHRpb24KKworU2VlIHRoZSBpbmNsdWRlZCB0ZXN0IHNjcmlwdAorCisKK1BB
U1MgUGVyZm9ybWFuY2VSZXNyb3VjZVRpbWluZyBlbnRyaWVzIG5lZWQgdG8gY29uZm9ybSB0byB0
aGUgc3BlYyB3aGVuIGEgZGlzdGluY3QgcmVzb3VyY2UgaXMgZmV0Y2hlZCBvdmVyIGEgcGVyc2lz
dGVudCBjb25uZWN0aW9uCitQQVNTIFBlcmZvcm1hbmNlUmVzcm91Y2VUaW1pbmcgZW50cmllcyBu
ZWVkIHRvIGNvbmZvcm0gdG8gdGhlIHNwZWMgd2hlbiB0aGUgcmVzb3VyY2UgaXMgY2FjaGUtcmV2
YWxpZGF0ZWQgb3ZlciBhIHBlcnNpc3RlbnQgY29ubmVjdGlvbgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9j
b25uZWN0aW9uLXJldXNlLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0aW9uLXJldXNlLmh0dHBzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZTgyYjdiYzRlYTliYjFjMzkwNDdjNWY1MTg2N2RjM2EzYTQ1ZGJlYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHR0cHMuaHRtbApAQCAtMCww
ICsxLDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmcgY29ubmVjdGlvbiByZXVzZTwvdGl0
bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5n
b29nbGUuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3Jn
L1RSL3Jlc291cmNlLXRpbWluZy0yLyNzZWMtcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9InJlc291cmNlcy9lbnRyeS1pbnZhcmlhbnRzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvY29ubmVjdGlvbi1yZXVzZS10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPGgxPkRlc2NyaXB0aW9uPC9oMT4KKzxwPlNlZSA8YSBocmVmPSJyZXNvdXJj
ZXMvY29ubmVjdGlvbi1yZXVzZS10ZXN0LmpzIj50aGUgaW5jbHVkZWQgdGVzdAorICBzY3JpcHQ8
L2E+PC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mtb3JpZ2luLXN0
YXJ0LWVuZC10aW1lLXdpdGgtcmVkaXJlY3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nyb3NzLW9yaWdp
bi1zdGFydC1lbmQtdGltZS13aXRoLXJlZGlyZWN0cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
Y2FlNzIyZmM5YTEyYzZlZTQyMjdmNDk0YmViNjc2M2FiNDdmZDM4YgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2Nyb3NzLW9yaWdpbi1zdGFydC1lbmQtdGltZS13aXRoLXJlZGlyZWN0cy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgVmVyaWZ5IHRoYXQgY3Jvc3Mtb3JpZ2luIHJl
c291cmNlcyBkb24ndCBpbXBsaWNpdGx5IGV4cG9zZSB0aGVpciByZWRpcmVjdCB0aW1pbmdzCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1zdGFydC1lbmQtdGltZS13aXRoLXJlZGlyZWN0
cy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvY3Jvc3Mtb3JpZ2luLXN0YXJ0LWVuZC10aW1lLXdpdGgtcmVkaXJlY3RzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMWIxMDdkM2FlZjc3NjRkOWI5NjAzZWEyNjU4Y2Y0NjljZjI4NTk4MAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1zdGFydC1lbmQtdGltZS13aXRoLXJl
ZGlyZWN0cy5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlRoaXMgdGVzdCB2YWxpZGF0
ZXMgdGhlIHZhbHVlcyBpbiByZXNvdXJjZSB0aW1pbmcgZm9yIGNyb3NzLW9yaWdpbgorcmVkaXJl
Y3RzLjwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik5vYW0gUm9zZW50aGFsIiBo
cmVmPSJub2FtQHdlYmtpdC5vcmciPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3
dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI3NlYy1wZXJmb3JtYW5jZXJlc291cmNldGlt
aW5nIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9InJlc291cmNlcy9lbnRyeS1pbnZhcmlhbnRzLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdD4KK2NvbnN0IHtSRU1PVEVfT1JJR0lOfSA9IGdldF9ob3N0X2lu
Zm8oKTsKK2NvbnN0IGRlbGF5ID0gMgorY29uc3QgYmxhbmtfcGFnZSA9IGAvcmVzb3VyY2UtdGlt
aW5nL3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVuLmh0bWA7Citjb25zdCBkZXN0VXJsID0gYC9j
b21tb24vc2xvdy1yZWRpcmVjdC5weT9kZWxheT0ke2RlbGF5fSZsb2NhdGlvbj0ke1JFTU9URV9P
UklHSU59LyR7YmxhbmtfcGFnZX1gOworCitjb25zdCB0aW1lQmVmb3JlID0gcGVyZm9ybWFuY2Uu
bm93KCkKK2F0dHJpYnV0ZV90ZXN0KGxvYWQuaWZyYW1lLCBkZXN0VXJsLCBlbnRyeSA9PiB7Cisg
ICAgYXNzZXJ0X2VxdWFscyhlbnRyeS5zdGFydFRpbWUsIGVudHJ5LmZldGNoU3RhcnQsICdzdGFy
dFRpbWUgYW5kIGZldGNoU3RhcnQgc2hvdWxkIGJlIGVxdWFsJyk7CisgICAgYXNzZXJ0X2dyZWF0
ZXJfdGhhbihlbnRyeS5zdGFydFRpbWUsIHRpbWVCZWZvcmUsICdzdGFydFRpbWUgYW5kIGZldGNo
U3RhcnQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiB0aGUgdGltZSBiZWZvcmUgZmV0Y2hpbmcnKTsK
KyAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3czYy9yZXNvdXJjZS10aW1pbmcvaXNzdWVz
LzI2NAorICAgIGFzc2VydF9sZXNzX3RoYW4oTWF0aC5yb3VuZChlbnRyeS5zdGFydFRpbWUgLSB0
aW1lQmVmb3JlKSwgZGVsYXkgKiAxMDAwLCAnc3RhcnRUaW1lIHNob3VsZCBub3QgZXhwb3NlIHJl
ZGlyZWN0IGRlbGF5cycpOworfSwgIlZlcmlmeSB0aGF0IGNyb3NzLW9yaWdpbiByZXNvdXJjZXMg
ZG9uJ3QgaW1wbGljaXRseSBleHBvc2UgdGhlaXIgcmVkaXJlY3QgdGltaW5ncyIpCisKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mtb3JpZ2luLXN0YXR1
cy1jb2Rlcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mtb3JpZ2luLXN0YXR1cy1jb2Rlcy5odG1sCmluZGV4IGU4
ZWNlNWZmMmZlYTNkNGQ4NTZjZGYzNzc0ODcwYzU5MDgwYTFjNDUuLjE5N2E3NjYzMzk2ZWY2NmM3
NzY0ZDY1OTliMDM4NTRkMTM4ZjJlNjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1zdGF0
dXMtY29kZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhdHVzLWNvZGVzLmh0bWwKQEAg
LTEsNiArMSw5IEBACiA8IWRvY3R5cGUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8dGl0bGU+UmVz
b3VyY2UgVGltaW5nOiBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIGF0dHJpYnV0ZXMgc2hvdWxk
bid0IGNoYW5nZQorICBpZiB0aGUgSFRUUCBzdGF0dXMgY29kZSBjaGFuZ2VzPC90aXRsZT4KKzxs
aW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWlu
Zy0yLyNzZWMtcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgogPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9L2NvbW1vbi9nZXQt
aG9zdC1pbmZvLnN1Yi5qcz48L3NjcmlwdD4KQEAgLTE1LDM0ICsxOCw1MyBAQAogPHNjcmlwdCBp
ZD0ic2NyaXB0XzQwNCI+PC9zY3JpcHQ+CiA8c2NyaXB0IGlkPSJzY3JpcHRfNTAyIj48L3Njcmlw
dD4KIDxzY3JpcHQ+Ci1hc3luY190ZXN0KHQgPT4gewotICBsZXQgZGVzdFVybCA9IGdldF9ob3N0
X2luZm8oKS5IVFRQX1JFTU9URV9PUklHSU4gKyAnL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMv
JzsKLSAgbGV0IHN0YXR1c0NvZGVzID0gWycyMDAnLCAnMzA3JywgJzQwNCcsICc1MDInXTsKKwor
Y29uc3QgbGlzdGVuRm9yUGVyZm9ybWFuY2VFbnRyaWVzID0gbnVtX2V4cGVjdGVkID0+IHsKKyAg
cmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIGxldCByZXN1bHRzID0gW107Cisg
ICAgbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoZW50cnlMaXN0ID0+IHsKKyAgICAgIGVudHJ5TGlz
dC5nZXRFbnRyaWVzKCkuZm9yRWFjaChlbnRyeSA9PiB7CisgICAgICAgIGlmICghZW50cnkubmFt
ZS5pbmNsdWRlcygic3RhdHVzLWNvZGUiKSkKKyAgICAgICAgICByZXR1cm47CisKKyAgICAgICAg
cmVzdWx0cy5wdXNoKGVudHJ5KTsKKyAgICAgICAgaWYgKHJlc3VsdHMubGVuZ3RoID09IG51bV9l
eHBlY3RlZCkgeworICAgICAgICAgIHJlc29sdmUocmVzdWx0cyk7CisgICAgICAgIH0KKyAgICAg
IH0pOworICAgIH0pLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsncmVzb3VyY2UnXX0pOworICB9KTsK
K30KKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4geworICBjb25zdCBkZXN0VXJsID0gZ2V0X2hv
c3RfaW5mbygpLkhUVFBfUkVNT1RFX09SSUdJTiArICcvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
cy8nOworICBjb25zdCBzdGF0dXNDb2RlcyA9IFsnMjAwJywgJzMwNycsICc0MDQnLCAnNTAyJ107
CisKKyAgbGV0IGV4cGVjdGVkX2VudHJ5X2NvdW50ID0gMDsKICAgc3RhdHVzQ29kZXMuZm9yRWFj
aChzdGF0dXMgPT4gewotICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbWdfJyArIHN0YXR1
cykuc3JjID0gZGVzdFVybCArICdzdGF0dXMtY29kZS5weT9zdGF0dXM9JyArIHN0YXR1czsKLSAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2NyaXB0XycgKyBzdGF0dXMpLnNyYyA9IGRlc3RV
cmwgKyAnc3RhdHVzLWNvZGUucHk/c3RhdHVzPScgKyBzdGF0dXMgKyAnJnNjcmlwdD0xJzsKKyAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgaW1nXyR7c3RhdHVzfWApLnNyYyA9IGAke2Rlc3RV
cmx9c3RhdHVzLWNvZGUucHk/c3RhdHVzPSR7c3RhdHVzfWA7CisgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoYHNjcmlwdF8ke3N0YXR1c31gKS5zcmMgPSBgJHtkZXN0VXJsfXN0YXR1cy1jb2Rl
LnB5P3N0YXR1cz0ke3N0YXR1c30mc2NyaXB0PTFgOworICAgIGV4cGVjdGVkX2VudHJ5X2NvdW50
ICs9IDI7CiAgIH0pOwotICBsZXQgbmFtZU1hcCA9IHt9OwotICBsZXQgZmlyc3RFbnRyeSA9IG51
bGw7Ci0gIC8vIFdlIHdpbGwgY2hlY2sgdGhhdCB0aGUgbm9uLXRpbWVzdGFtcCB2YWx1ZXMgb2Yg
dGhlIGVudHJ5IG1hdGNoIGZvciBhbGwgZW50cmllcy4KLSAgY29uc3Qga2V5cyA9IFsnZW50cnlU
eXBlJywgJ25leHRIb3BQcm90b2NvbCcsICd0cmFuc2ZlclNpemUnLCAnZW5jb2RlZEJvZHlTaXpl
JywgJ2RlY29kZWRCb2R5U2l6ZSddOwotICBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcih0LnN0ZXBf
ZnVuYyhlbnRyeUxpc3QgPT4gewotICAgIGVudHJ5TGlzdC5nZXRFbnRyaWVzKCkuZm9yRWFjaChl
bnRyeSA9PiB7Ci0gICAgICBpZiAoIWVudHJ5Lm5hbWUuaW5jbHVkZXMoInN0YXR1cy1jb2RlIikp
Ci0gICAgICAgIHJldHVybjsKIAotICAgICAgbmFtZU1hcFtlbnRyeS5uYW1lXSA9IHRydWU7Ci0g
ICAgICBpZiAoIWZpcnN0RW50cnkpIHsKLSAgICAgICAgZmlyc3RFbnRyeSA9IGVudHJ5OwotICAg
ICAgfSBlbHNlIHsKLSAgICAgICAga2V5cy5mb3JFYWNoKGtleSA9PiB7Ci0gICAgICAgICAgYXNz
ZXJ0X2VxdWFscyhlbnRyeVtrZXldLCBmaXJzdEVudHJ5W2tleV0sIGBEaXNjZXJuaWJsZSBkaWZm
ZXJlbmNlIGluICR7a2V5fSBmb3IgJHtlbnRyeS5uYW1lfWApOwotICAgICAgICB9KTsKLSAgICAg
IH0KLSAgICB9KTsKLSAgICBpZiAoT2JqZWN0LmtleXMobmFtZU1hcCkubGVuZ3RoID09PSA4KSB7
Ci0gICAgICB0LmRvbmUoKTsKLSAgICB9Ci0gIH0pKS5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbJ3Jl
c291cmNlJ119KTsKKyAgY29uc3QgZW50cmllcyA9IGF3YWl0IGxpc3RlbkZvclBlcmZvcm1hbmNl
RW50cmllcyhleHBlY3RlZF9lbnRyeV9jb3VudCk7CisKKyAgLy8gV2Ugd2lsbCBjaGVjayB0aGF0
IHRoZSBub24tdGltZXN0YW1wIHZhbHVlcyBvZiB0aGUgZW50cnkgbWF0Y2ggZm9yIGFsbAorICAv
LyBlbnRyaWVzLgorICBjb25zdCBrZXlzID0gWworICAgICdlbnRyeVR5cGUnLAorICAgICduZXh0
SG9wUHJvdG9jb2wnLAorICAgICd0cmFuc2ZlclNpemUnLAorICAgICdlbmNvZGVkQm9keVNpemUn
LAorICAgICdkZWNvZGVkQm9keVNpemUnLAorICBdOworCisgIGNvbnN0IGZpcnN0ID0gZW50cmll
c1swXTsKKyAgZW50cmllcy5zbGljZSgxKS5mb3JFYWNoKGVudHJ5ID0+IHsKKyAgICBrZXlzLmZv
ckVhY2goYXR0cmlidXRlID0+IHsKKyAgICAgIGFzc2VydF9lcXVhbHMoZW50cnlbYXR0cmlidXRl
XSwgZmlyc3RbYXR0cmlidXRlXSwKKyAgICAgICAgYFRoZXJlIG11c3QgYmUgbm8gZGlzY2Vybmli
bGUgZGlmZmVyZW5jZSBmb3IgdGhlICR7YXR0cmlidXRlfSBgICsKKyAgICAgICAgYGF0dHJpYnV0
ZSBidXQgZm91bmQgYSBkaWZmZXJlbmNlIGZvciB0aGUgJHtlbnRyeS5uYW1lfSByZXNvdXJjZS5g
KTsKKyAgfSl9KTsKIH0sICJNYWtlIHN1cmUgY3Jvc3Mgb3JpZ2luIHJlc291cmNlIGZldGNoIGZh
aWx1cmVzIHdpdGggZGlmZmVyZW50IHN0YXR1cyBjb2RlcyBhcmUgaW5kaXN0aW5ndWlzaGFibGUi
KTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC1v
cGVuZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC1vcGVuZXIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg5MjhmNzc1ZThmYmE4YmJmOTU5ZDBmYWRkZDIyZTRj
MWRjYjNhNWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9kb2N1bWVudC1kb21haW4tbm8taW1wYWN0
LW9wZW5lci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK0hhcm5lc3MgRXJyb3IgKFRJ
TUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2RvY3VtZW50LWRvbWFp
bi1uby1pbXBhY3Qtb3BlbmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9kb2N1bWVudC1kb21haW4tbm8taW1wYWN0LW9w
ZW5lci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5ZGYyZjI3ZmE1YjE5NWY3Yjk1NjcxNGNmODE2YTYxZTE4
MjU4YjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9kb2N1bWVudC1kb21haW4tbm8taW1wYWN0LW9w
ZW5lci5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
cmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8u
c3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisvLyBPcGVuIGEgZG9jdW1lbnQgb24gb25lIG9m
IGhvc3RzIG9uIHRoZSB3ZWItcGxhdGZvcm0gdGVzdCBkb21haW4sIHNvIHRoYXQKKy8vIGRvY3Vt
ZW50LmRvbWFpbiB3aWxsIHNldCBhIHZhbGlkIGRvbWFpbiwgdHVybmluZyB0aGUgZnJhbWUgaW50
byBhCisvLyBjcm9zcy1vcmlnaW4gZnJhbWUuCitjb25zdCB7T1RIRVJfT1JJR0lOfSA9IGdldF9o
b3N0X2luZm8oKTsKK2NvbnN0IG9wZW5lZSA9IHdpbmRvdy5vcGVuKE9USEVSX09SSUdJTiArCisg
ICAgICAgICAgICAgICAiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZG9jdW1lbnQtZG9tYWlu
LW5vLWltcGFjdC5odG1sIik7CitmZXRjaF90ZXN0c19mcm9tX3dpbmRvdyhvcGVuZWUpOworPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9lbnRyeS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L2VudHJ5LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhZmI0NWVjYjVhYjIw
MGI1MTUzMTk1NWYwY2U4YmQ3ODZjNTUwNDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9lbnRyeS1h
dHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitEZXNjcmlwdGlvbgorCitU
aGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyBlbnRyaWVz
JyBhdHRyaWJ1dGVzIGFyZSBwb3B1bGF0ZWQgd2l0aCB0aGUgY29ycmVjdCB2YWx1ZXMuCisKKwor
SGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3NhZ2UgPSBudWxsCisKK1RJTUVPVVQgSW1hZ2Ug
cmVzb3VyY2VzIHNob3VsZCBnZW5lcmF0ZSBjb25mb3JtYW50IGVudHJpZXMgVGVzdCB0aW1lZCBv
dXQKK05PVFJVTiBGb250IHJlc291cmNlcyBzaG91bGQgZ2VuZXJhdGUgY29uZm9ybWFudCBlbnRy
aWVzCitOT1RSVU4gU2FtZS1vcmlnaW4gcmVkaXJlY3RzIHNob3VsZCBwb3B1bGF0ZSByZWRpcmVj
dFN0YXJ0L3JlZGlyZWN0RW5kCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2VudHJ5LWF0dHJpYnV0ZXMuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2VudHJ5LWF0dHJpYnV0ZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ODliNGU3NGM4NTUxODc1
YzUwMzEzM2FkNjY1MmM4YThiNmM1OTM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZW50cnktYXR0
cmlidXRlcy5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZzog
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyBhdHRyaWJ1dGVzPC90aXRsZT4KKzxsaW5rIHJlbD0i
aGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNzZWMt
cGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1s
b2FkZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnktaW52YXJp
YW50cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorYXR0cmlidXRlX3Rlc3QoCisgIGxvYWQuaW1h
Z2UsICJyZXNvdXJjZXMvZmFrZV9yZXNwb25zZXMucHkjaGFzaD0xIiwKKyAgZW50cnkgPT4gewor
ICAgIGFzc2VydF90cnVlKGVudHJ5Lm5hbWUuaW5jbHVkZXMoJyNoYXNoPTEnKSwKKyAgICAgICJU
aGVyZSBzaG91bGQgYmUgYSBoYXNoIGluIHRoZSByZXNvdXJjZSBuYW1lIik7CisgICAgaW52YXJp
YW50cy5hc3NlcnRfdGFvX3Bhc3Nfbm9fcmVkaXJlY3RfaHR0cChlbnRyeSk7CisgIH0sCisgICJJ
bWFnZSByZXNvdXJjZXMgc2hvdWxkIGdlbmVyYXRlIGNvbmZvcm1hbnQgZW50cmllcyIpOworCith
dHRyaWJ1dGVfdGVzdCgKKyAgbG9hZC5mb250LCAiL2ZvbnRzL0FoZW0udHRmIiwKKyAgaW52YXJp
YW50cy5hc3NlcnRfdGFvX3Bhc3Nfbm9fcmVkaXJlY3RfaHR0cCwKKyAgIkZvbnQgcmVzb3VyY2Vz
IHNob3VsZCBnZW5lcmF0ZSBjb25mb3JtYW50IGVudHJpZXMiKTsKKworYXR0cmlidXRlX3Rlc3Qo
CisgIGxvYWQuaW1hZ2UsICIvY29tbW9uL3JlZGlyZWN0LnB5P2xvY2F0aW9uPXJlc291cmNlcy9m
YWtlX3Jlc3BvbnNlcy5weSIsCisgIGludmFyaWFudHMuYXNzZXJ0X3NhbWVfb3JpZ2luX3JlZGly
ZWN0ZWRfcmVzb3VyY2UsCisgICJTYW1lLW9yaWdpbiByZWRpcmVjdHMgc2hvdWxkIHBvcHVsYXRl
IHJlZGlyZWN0U3RhcnQvcmVkaXJlY3RFbmQiKTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8aDE+RGVzY3JpcHRpb248L2gxPgorPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IFBlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcgZW50cmllcycgYXR0cmlidXRlcyBhcmUKK3BvcHVsYXRlZCB3
aXRoIHRoZSBjb3JyZWN0IHZhbHVlcy48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9mZXRjaC1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
ZmV0Y2gtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4xMmZiMzBkMWE3ODEzYWNlZWY1MDMzMzRhMGQ0ODAwNDIwNjIzNDBiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvZmV0Y2gtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDQgQEAKKworUEFTUyBUZXN0IGZldGNoaW5nIHRocm91Z2ggYSBjcm9zcy1vcmln
aW4gcmVkaXJlY3QgVVJMCitQQVNTIFRlc3QgZmV0Y2hpbmcgdGhyb3VnaCBhIHNhbWUtb3JpZ2lu
IHJlZGlyZWN0IFVSTAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mZXRjaC1jcm9zcy1vcmlnaW4tcmVkaXJl
Y3QuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2ZldGNoLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odHRwcy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjQxOTM0MjI2NTNhNTk1NGZmMDMzNTE4YzY5MGY2NTQ2MGJjNTQzM2IKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9mZXRjaC1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHR0cHMuaHRt
bApAQCAtMCwwICsxLDMzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzx0aXRsZT5UZXN0IGNyb3NzLW9yaWdpbiBmZXRjaCByZWRpcmVjdHMgaGF2ZSB0aGUgcmln
aHQgdmFsdWVzLjwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJl
Zj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0
cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNzZWMtcGVyZm9ybWFuY2VyZXNv
dXJjZXRpbWluZyIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9lbnRyeS1pbnZhcmlhbnRzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0PgorCitjb25zdCB7UkVNT1RFX09SSUdJTiwgT1JJR0lOfSA9IGdldF9ob3N0X2lu
Zm8oKTsKK2NvbnN0IHJlZGlyZWN0ID0gIi9jb21tb24vcmVkaXJlY3QucHk/IiArCisgICAgICAg
ICAgICAgICAgICJsb2NhdGlvbj0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi5odG1s
IjsKK2NvbnN0IGNyb3NzX29yaWdpbl9yZWRpcmVjdCA9IFJFTU9URV9PUklHSU4gKyByZWRpcmVj
dDsKK2NvbnN0IHNhbWVfb3JpZ2luX3JlZGlyZWN0ID0gT1JJR0lOICsgcmVkaXJlY3Q7CisKK2F0
dHJpYnV0ZV90ZXN0KAorICB1cmwgPT4gZmV0Y2godXJsLCB7bW9kZTogIm5vLWNvcnMiLCBjcmVk
ZW50aWFsczogImluY2x1ZGUifSksCisgIG5ldyBVUkwoY3Jvc3Nfb3JpZ2luX3JlZGlyZWN0KS5o
cmVmLAorICBpbnZhcmlhbnRzLmFzc2VydF9jcm9zc19vcmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJj
ZSwKKyAgIlRlc3QgZmV0Y2hpbmcgdGhyb3VnaCBhIGNyb3NzLW9yaWdpbiByZWRpcmVjdCBVUkwi
CispOworCithdHRyaWJ1dGVfdGVzdCgKKyAgdXJsID0+IGZldGNoKHVybCwge21vZGU6ICJuby1j
b3JzIiwgY3JlZGVudGlhbHM6ICJpbmNsdWRlIn0pLAorICBuZXcgVVJMKHNhbWVfb3JpZ2luX3Jl
ZGlyZWN0KS5ocmVmLAorICBpbnZhcmlhbnRzLmFzc2VydF9zYW1lX29yaWdpbl9yZWRpcmVjdGVk
X3Jlc291cmNlLAorICAiVGVzdCBmZXRjaGluZyB0aHJvdWdoIGEgc2FtZS1vcmlnaW4gcmVkaXJl
Y3QgVVJMIgorKTsKKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mb250LXRpbWVzdGFtcHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvZm9udC10aW1lc3RhbXBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5kMTk2NDQxODc1YmVjZDI0M2JmZTIyM2U1YWI5YjAwOGQwYTE5Zjk5Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvZm9udC10aW1lc3RhbXBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1Ro
aXMgZmV0Y2hlcyBhaGVtIGZvbnQuCisKK0ZBSUwgVGVzdCBhIGZvbnQncyB0aW1lc3RhbXBzIGFz
c2VydF9ncmVhdGVyX3RoYW5fZXF1YWw6IGRvbWFpbkxvb2t1cFN0YXJ0IHNob3VsZCBiZSBtb3Jl
IHRoYW4gMCBpbiBzYW1lLW9yaWdpbiByZWRpcmVjdC4gZXhwZWN0ZWQgYSBudW1iZXIgZ3JlYXRl
ciB0aGFuIG9yIGVxdWFsIHRvIDxub25kZXRlcm1pbmlzdGljIHRlc3Qgb3V0cHV0PiBidXQgZ290
IDAKK1BBU1MgVGVzdCBhIGZvbnQncyB0aW1lc3RhbXBzIHdpdGggZGVsYXlzCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2ZvbnQtdGltZXN0YW1wcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZm9udC10aW1lc3RhbXBzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTZlY2I1YzRiZmRkYjYwZTc4M2VlNzdjZDMwOGIyOGEwYzRlYTljMgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL2ZvbnQtdGltZXN0YW1wcy5odG1sCkBAIC0wLDAgKzEsNjIgQEAKKzwh
RE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3QgY3Jvc3Mt
b3JpZ2luIGZldGNoIHJlZGlyZWN0cyBoYXZlIHRoZSByaWdodCB2YWx1ZXMuPC90aXRsZT4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHNj
cmlwdD4KK2NvbnN0IGxvYWRfZm9udCA9IHVybCA9PiB7CisgIGRvY3VtZW50LmJvZHkuaW5uZXJI
VE1MID0gYAorICAgIDxzdHlsZT4KKyAgICBAZm9udC1mYWNlIHsKKyAgICAgICAgZm9udC1mYW1p
bHk6IGFoZW07CisgICAgICAgIHNyYzogdXJsKCcke3VybH0nKTsKKyAgICB9CisgICAgPC9zdHls
ZT4KKyAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogYWhlbTsiPlRoaXMgZmV0Y2hlcyBhaGVt
IGZvbnQuPC9kaXY+CisgIGA7CisgIHJldHVybiBkb2N1bWVudC5mb250cy5yZWFkeTsKK307CisK
K2NvbnN0IHJ1bl90ZXN0ID0gYXN5bmMgKHQsIHVybCkgPT4geworICAvLyBTZXQgdXAgUGVyZm9y
bWFuY2VPYnNlcnZlcgorICBjb25zdCBocmVmID0gbmV3IFVSTCh1cmwpLmhyZWY7CisgIGNvbnN0
IHNldFBlcmZvcm1hbmNlT2JzZXJ2ZXIgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBj
b25zdCBwbyA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKHJlc29sdmUpOworICAgIHBvLm9ic2Vy
dmUoe3R5cGU6ICJyZXNvdXJjZSJ9KTsKKyAgfSk7CisKKyAgLy8gTG9hZCB0aGUgZm9udCByZXNv
dXJjZSBhbmQgd2FpdCBmb3IgaXQgdG8gYmUgZmV0Y2hlZC4KKyAgYXdhaXQgbG9hZF9mb250KGhy
ZWYpOworCisgIC8vIFdhaXQgZm9yIGFuIGVudHJ5CisgIGNvbnN0IHRpbWVvdXQgPSBuZXcgUHJv
bWlzZShyZXNvbHZlID0+IHQuc3RlcF90aW1lb3V0KHJlc29sdmUsIDMwMDApKTsKKyAgY29uc3Qg
bGlzdCA9IGF3YWl0IFByb21pc2UucmFjZShbc2V0UGVyZm9ybWFuY2VPYnNlcnZlciwgdGltZW91
dF0pOworICBhc3NlcnRfZXF1YWxzKHR5cGVvZihsaXN0KSwgIm9iamVjdCIsICJObyBpZnJhbWUg
ZW50cnkgd2FzIGZpcmVkIik7CisgIGNvbnN0IGVudHJpZXMgPSBsaXN0LmdldEVudHJpZXNCeU5h
bWUodXJsKTsKKyAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisKKyAgLy8gVGVz
dCBlbnRyeSB2YWx1ZXMKKyAgY29uc3QgZW50cnkgPSBlbnRyaWVzWzBdOworICBhc3NlcnRfZ3Jl
YXRlcl90aGFuKGVudHJ5LmZldGNoU3RhcnQsIDAsICJmZXRjaFN0YXJ0IHNob3VsZCBiZSBncmVh
dGVyIHRoYW4gMCBpbiByZWRpcmVjdHMuIik7CisgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwo
ZW50cnkuZG9tYWluTG9va3VwU3RhcnQsIGVudHJ5LmZldGNoU3RhcnQsICJkb21haW5Mb29rdXBT
dGFydCBzaG91bGQgYmUgbW9yZSB0aGFuIDAgaW4gc2FtZS1vcmlnaW4gcmVkaXJlY3QuIik7Cisg
IGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkuZG9tYWluTG9va3VwRW5kLCBlbnRyeS5k
b21haW5Mb29rdXBTdGFydCwgImRvbWFpbkxvb2t1cEVuZCBzaG91bGQgYmUgbW9yZSB0aGFuIDAg
aW4gc2FtZS1vcmlnaW4gcmVkaXJlY3QuIik7CisgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwo
ZW50cnkuY29ubmVjdFN0YXJ0LCBlbnRyeS5kb21haW5Mb29rdXBFbmQsICJjb25uZWN0U3RhcnQg
c2hvdWxkIGJlIG1vcmUgdGhhbiAwIGluIHNhbWUtb3JpZ2luIHJlZGlyZWN0LiIpOworICBhc3Nl
cnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LnNlY3VyZUNvbm5lY3Rpb25TdGFydCwgZW50cnku
Y29ubmVjdFN0YXJ0LCAic2VjdXJlQ29ubmVjdGlvblN0YXJ0IHNob3VsZCBiZSBtb3JlIHRoYW4g
MCBpbiBzYW1lLW9yaWdpbiByZWRpcmVjdC4iKTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVh
bChlbnRyeS5jb25uZWN0RW5kLCBlbnRyeS5zZWN1cmVDb25uZWN0aW9uU3RhcnQsICJjb25uZWN0
RW5kIHNob3VsZCBiZSBtb3JlIHRoYW4gMCBpbiBzYW1lLW9yaWdpbiByZWRpcmVjdC4iKTsKKyAg
YXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChlbnRyeS5yZXF1ZXN0U3RhcnQsIGVudHJ5LmNvbm5l
Y3RFbmQsICJyZXF1ZXN0U3RhcnQgc2hvdWxkIGJlIG1vcmUgdGhhbiAwIGluIHNhbWUtb3JpZ2lu
IHJlZGlyZWN0LiIpOworICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LnJlc3BvbnNl
U3RhcnQsIGVudHJ5LnJlcXVlc3RTdGFydCwgInJlc3BvbnNlU3RhcnQgc2hvdWxkIGJlIG1vcmUg
dGhhbiAwIGluIHNhbWUtb3JpZ2luIHJlZGlyZWN0LiIpOworICBhc3NlcnRfZ3JlYXRlcl90aGFu
X2VxdWFsKGVudHJ5LnJlc3BvbnNlRW5kLCBlbnRyeS5yZXNwb25zZVN0YXJ0LCAicmVzcG9uc2VF
bmQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiAwIGluIHJlZGlyZWN0cy4iKTsKKyAgYXNzZXJ0X2dy
ZWF0ZXJfdGhhbl9lcXVhbChlbnRyeS5kdXJhdGlvbiwgMCwgImR1cmF0aW9uIHNob3VsZCBiZSBn
cmVhdGVyIHRoYW4gMCBpbiByZWRpcmVjdHMuIik7Cit9CisKK2NvbnN0IHtIVFRQU19SRU1PVEVf
T1JJR0lOfSA9IGdldF9ob3N0X2luZm8oKTsKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJu
IHJ1bl90ZXN0KHQsIEhUVFBTX1JFTU9URV9PUklHSU4gKyAiL2ZvbnRzL0FoZW0udHRmIik7Cit9
LCAiVGVzdCBhIGZvbnQncyB0aW1lc3RhbXBzIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAg
cmV0dXJuIHJ1bl90ZXN0KHQsIEhUVFBTX1JFTU9URV9PUklHSU4gKyAiL3Jlc291cmNlLXRpbWlu
Zy9yZXNvdXJjZXMvY29ycy1haGVtLnB5P3BpcGU9dHJpY2tsZShkMSkiKTsKK30sICJUZXN0IGEg
Zm9udCdzIHRpbWVzdGFtcHMgd2l0aCBkZWxheXMiKTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvaWZyYW1lLWZhaWxlZC1jb21taXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaWZyYW1lLWZhaWxlZC1j
b21taXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0NGJkMTc1MmYyOTI2ZjIzZjNjYjMwNzdh
M2E2ZWM3NTJmODE1ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9pZnJhbWUtZmFpbGVkLWNvbW1p
dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJu
YWwgVVJMIGh0dHBzOi8vbm9uZXhpc3RlbnQubG9jYWxob3N0Ojk0NDMvCitCbG9ja2VkIGFjY2Vz
cyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly9ub25leGlzdGVudC5sb2NhbGhvc3Q6OTQ0My8KKwor
CitQQVNTIFByZWNvbmRpdGlvbgorRkFJTCBUZXN0IGlmcmFtZSBmcm9tIG5vbi1leGlzdGVudCBo
b3N0IGFzc2VydF9lcXVhbHM6IE5vIGlmcmFtZSBlbnRyeSB3YXMgZmlyZWQgZXhwZWN0ZWQgIm9i
amVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgorRkFJTCBUZXN0IGlmcmFtZSByZWRpcmVjdGluZyB0
byBub24tZXhpc3RlbnQgaG9zdCBhc3NlcnRfZXF1YWxzOiBObyBpZnJhbWUgZW50cnkgd2FzIGZp
cmVkIGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKK1BBU1MgU2FtZS1vcmln
aW4gaWZyYW1lIHRoYXQgY29tcGxpZXMgd2l0aCBDU1AgYXR0cmlidXRlIGdldHMgcmVwb3J0ZWQK
K1BBU1MgU2FtZS1vcmlnaW4gaWZyYW1lIHRoYXQgZG9lc24ndCBjb21wbHkgd2l0aCBDU1AgYXR0
cmlidXRlIGdldHMgcmVwb3J0ZWQKK1BBU1MgQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB0aGF0IGNvbXBs
aWVzIHdpdGggQ1NQIGF0dHJpYnV0ZSBnZXRzIHJlcG9ydGVkCitQQVNTIENyb3NzLW9yaWdpbiBp
ZnJhbWUgdGhhdCBkb2Vzbid0IGNvbXBseSB3aXRoIENTUCBhdHRyaWJ1dGUgZ2V0cyByZXBvcnRl
ZAorRkFJTCBTYW1lLW9yaWdpbiBlbXB0eSBpZnJhbWUgd2l0aCBhIDIwMCBzdGF0dXMgZ2V0cyBy
ZXBvcnRlZCBhc3NlcnRfZXF1YWxzOiBObyBpZnJhbWUgZW50cnkgd2FzIGZpcmVkIGV4cGVjdGVk
ICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIKK0ZBSUwgQ3Jvc3Mtb3JpZ2luIGVtcHR5IGlm
cmFtZSB3aXRoIGEgMjAwIHN0YXR1cyBnZXRzIHJlcG9ydGVkIGFzc2VydF9lcXVhbHM6IE5vIGlm
cmFtZSBlbnRyeSB3YXMgZmlyZWQgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVk
IgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9pZnJhbWUtZmFpbGVkLWNvbW1pdC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaWZyYW1l
LWZhaWxlZC1jb21taXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OWJkOTM0MjdjMWQzOWFjNWFlZDkyOGNh
YTNkMDI1MzU1N2RkNDE2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaWZyYW1lLWZhaWxlZC1jb21t
aXQuaHRtbApAQCAtMCwwICsxLDgwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmcgLSB0ZXN0
IHRoYXQgdW5zdWNjZXNzZnVsIGlmcmFtZXMgY3JlYXRlIGVudHJpZXM8L3RpdGxlPgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0
PgordGVzdCgoKSA9PiB7CisgIGNvbnN0IGVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVz
QnlUeXBlKCJyZXNvdXJjZSIpOworICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAzLCAi
UHJlY29uZGl0aW9uIC0gRW50cmllcyBmb3IgYmxvY2tpbmcgc2NyaXB0cyBmaXJlZCIpOworfSwg
IlByZWNvbmRpdGlvbiIpOworCitjb25zdCBydW5fdGVzdCA9IGFzeW5jICh0LCB1cmwsIGNzcCkg
PT4geworICBjb25zdCBzZXRQZXJmb3JtYW5jZU9ic2VydmVyID0gbmV3IFByb21pc2UocmVzb2x2
ZSA9PiB7CisgICAgY29uc3QgcG8gPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihyZXNvbHZlKTsK
KyAgICBwby5vYnNlcnZlKHt0eXBlOiAicmVzb3VyY2UifSk7CisgIH0pOworICBjb25zdCB0aW1l
b3V0ID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB0LnN0ZXBfdGltZW91dChyZXNvbHZlLCAxMDAw
KSk7CisgIGNvbnN0IGZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7Cisg
IGZyYW1lLnNyYyA9IHVybDsKKyAgaWYgKGNzcCkgeworICAgIGZyYW1lLmNzcCA9IGNzcDsKKyAg
fQorICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZyYW1lKTsKKyAgY29uc3QgbGlzdCA9IGF3
YWl0IFByb21pc2UucmFjZShbc2V0UGVyZm9ybWFuY2VPYnNlcnZlciwgdGltZW91dF0pOworICBh
c3NlcnRfZXF1YWxzKHR5cGVvZihsaXN0KSwgIm9iamVjdCIsICJObyBpZnJhbWUgZW50cnkgd2Fz
IGZpcmVkIik7CisgIGNvbnN0IGVudHJpZXMgPSBsaXN0LmdldEVudHJpZXNCeU5hbWUodXJsKTsK
KyAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSk7CisgIGFzc2VydF9ncmVhdGVyX3Ro
YW4oZW50cmllc1swXS5kdXJhdGlvbiwgMCwgIkR1cmF0aW9uIGdyZWF0ZXIgdGhhbiAwIik7Cit9
CisKK2NvbnN0IHtSRU1PVEVfT1JJR0lOLCBPUklHSU5BTF9IT1NULCBIVFRQU19QT1JUfSA9IGdl
dF9ob3N0X2luZm8oKTsKK2NvbnN0IG5vbmV4aXN0ZW50X3VybCA9ICJodHRwczovL25vbmV4aXN0
ZW50LiIgKyBPUklHSU5BTF9IT1NUICsgIjoiICsgSFRUUFNfUE9SVCArICIvIjsKKworcHJvbWlz
ZV90ZXN0KHQgPT4geworICByZXR1cm4gcnVuX3Rlc3QodCwgbm9uZXhpc3RlbnRfdXJsKTsKK30s
ICJUZXN0IGlmcmFtZSBmcm9tIG5vbi1leGlzdGVudCBob3N0Iik7CisKK3Byb21pc2VfdGVzdCh0
ID0+IHsKKyAgY29uc3QgdXJsID0gbmV3IFVSTCgicmVzb3VyY2VzL2Zha2VfcmVzcG9uc2VzLnB5
P3JlZGlyZWN0PSIgKyBub25leGlzdGVudF91cmwsIGxvY2F0aW9uLmhyZWYpOworICByZXR1cm4g
cnVuX3Rlc3QodCwgdXJsLnRvU3RyaW5nKCkpOworfSwgIlRlc3QgaWZyYW1lIHJlZGlyZWN0aW5n
IHRvIG5vbi1leGlzdGVudCBob3N0Iik7CisKK2NvbnN0IGNzcF9kaXJlY3RpdmUgPSAiZGVmYXVs
dC1zcmMgJ25vbmUnIjsKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgY29uc3QgdXJsID0gbmV3IFVS
TCgiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvY3NwLWRlZmF1bHQtbm9uZS5odG1sIiwgbG9j
YXRpb24uaHJlZik7CisgIHJldHVybiBydW5fdGVzdCh0LCB1cmwsIGNzcF9kaXJlY3RpdmUpOwor
fSwgIlNhbWUtb3JpZ2luIGlmcmFtZSB0aGF0IGNvbXBsaWVzIHdpdGggQ1NQIGF0dHJpYnV0ZSBn
ZXRzIHJlcG9ydGVkIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgY29uc3QgdXJsID0gbmV3
IFVSTCgiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4tZnJhbWUuaHRtbCIsIGxvY2F0
aW9uLmhyZWYpOworICByZXR1cm4gcnVuX3Rlc3QodCwgdXJsLnRvU3RyaW5nKCksIGNzcF9kaXJl
Y3RpdmUpOworfSwgIlNhbWUtb3JpZ2luIGlmcmFtZSB0aGF0IGRvZXNuJ3QgY29tcGx5IHdpdGgg
Q1NQIGF0dHJpYnV0ZSBnZXRzIHJlcG9ydGVkIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAg
Y29uc3QgdXJsID0gbmV3IFVSTCgiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvY3NwLWRlZmF1
bHQtbm9uZS5odG1sIiwgUkVNT1RFX09SSUdJTik7CisgIHJldHVybiBydW5fdGVzdCh0LCB1cmwu
dG9TdHJpbmcoKSwgY3NwX2RpcmVjdGl2ZSk7Cit9LCAiQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB0aGF0
IGNvbXBsaWVzIHdpdGggQ1NQIGF0dHJpYnV0ZSBnZXRzIHJlcG9ydGVkIik7CisKK3Byb21pc2Vf
dGVzdCh0ID0+IHsKKyAgY29uc3QgdXJsID0gbmV3IFVSTCgiL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZXMvZ3JlZW4tZnJhbWUuaHRtbCIsIFJFTU9URV9PUklHSU4pOworICByZXR1cm4gcnVuX3Rl
c3QodCwgdXJsLnRvU3RyaW5nKCksIGNzcF9kaXJlY3RpdmUpOworfSwgIkNyb3NzLW9yaWdpbiBp
ZnJhbWUgdGhhdCBkb2Vzbid0IGNvbXBseSB3aXRoIENTUCBhdHRyaWJ1dGUgZ2V0cyByZXBvcnRl
ZCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7CisgIGNvbnN0IHVybCA9IG5ldyBVUkwoIi9yZXNv
dXJjZS10aW1pbmcvcmVzb3VyY2VzLzIwMF9lbXB0eS5hc2lzIiwgbG9jYXRpb24uaHJlZik7Cisg
IHJldHVybiBydW5fdGVzdCh0LCB1cmwudG9TdHJpbmcoKSwgY3NwX2RpcmVjdGl2ZSk7Cit9LCAi
U2FtZS1vcmlnaW4gZW1wdHkgaWZyYW1lIHdpdGggYSAyMDAgc3RhdHVzIGdldHMgcmVwb3J0ZWQi
KTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBjb25zdCB1cmwgPSBuZXcgVVJMKCIvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy8yMDBfZW1wdHkuYXNpcyIsIFJFTU9URV9PUklHSU4pOworICBy
ZXR1cm4gcnVuX3Rlc3QodCwgdXJsLnRvU3RyaW5nKCksIGNzcF9kaXJlY3RpdmUpOworfSwgIkNy
b3NzLW9yaWdpbiBlbXB0eSBpZnJhbWUgd2l0aCBhIDIwMCBzdGF0dXMgZ2V0cyByZXBvcnRlZCIp
OworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2luaXRpYXRv
ci10eXBlLWZvci1zY3JpcHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaW5pdGlhdG9yLXR5cGUtZm9yLXNj
cmlwdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDkxOTg3YjYwYmI2NjY4MzdmOTY2OTg3ZmQy
YjMwN2NjMjYwN2Q4OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2luaXRpYXRvci10eXBlLWZvci1z
Y3JpcHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorCitQQVNTIFZhbGlkYXRlIGluaXRp
YXRvclR5cGUgZm9yIHNjcmlwdHMgaXMgJ3NjcmlwdCcKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaW5pdGlh
dG9yLXR5cGUtZm9yLXNjcmlwdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaW5pdGlhdG9yLXR5cGUtZm9yLXNjcmlwdC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjcyMTczMzk4ZDU2YWE0OGZkM2Q5ODE3YTA1OGMxOTExNWU3ZGY5ZGQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9pbml0aWF0b3ItdHlwZS1mb3Itc2NyaXB0Lmh0bWwKQEAg
LTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiIC8+Cis8dGl0bGU+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSBpbml0
aWF0b3JUeXBlIGluZm9ybWF0aW9uIGZvciB2YXJpb3VzCitSZXNvdXJjZSBUaW1pbmcgZW50cmll
cyBpcyBhY2N1cmF0ZSBmb3Igc2NyaXB0cy48L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIgorICAg
ICAgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNkb20tcGVy
Zm9ybWFuY2VyZXNvdXJjZXRpbWluZy1pbml0aWF0b3J0eXBlIi8+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9n
ZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jl
c291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9lbnRy
eS1pbnZhcmlhbnRzLmpzIj48L3NjcmlwdD4KKzwhLS0gVGVzdGVkIHJlc291cmNlcyAtLT4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvZW1wdHlfc2NyaXB0LmpzP2lkPWJsb2NraW5nIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW1wdHlfc2NyaXB0LmpzP2lkPWFzeW5jIiBhc3lu
Yz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW1wdHlfc2NyaXB0LmpzP2lkPWFz
eW5jX2ZhbHNlIiBhc3luYz1mYWxzZT48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
ZW1wdHlfc2NyaXB0LmpzP2lkPWRlZmVyIiBkZWZlcj48L3NjcmlwdD4KKzxzY3JpcHQ+Citkb2N1
bWVudC53cml0ZSgiPHNjcmlwdCBzcmM9J3Jlc291cmNlcy9lbXB0eV9zY3JpcHQuanM/aWQ9ZG9j
X3dyaXR0ZW4nPjwvc2NyIgorICAgICAgICAgICAgICAgKyAiaXB0PiIpOworCitjb25zdCBoZWFk
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXTsKK2NvbnN0IHMxID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CitzMS5zcmMgPSAiZW1wdHlfc2NyaXB0
LmpzP2lkPWFwcGVuZGVkIjsKK2hlYWQuYXBwZW5kQ2hpbGQoczEpOworCitjb25zdCBzMiA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOworczIuc3JjID0gImVtcHR5X3NjcmlwdC5q
cz9pZD1hcHBlbmRlZF9hc3luYyI7CitzMi5hc3luYyA9IHRydWU7CitoZWFkLmFwcGVuZENoaWxk
KHMyKTsKKworY29uc3QgczMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKK3Mz
LnNyYyA9ICJlbXB0eV9zY3JpcHQuanM/aWQ9YXBwZW5kZWRfYXluY19mYWxzZSI7CitzMy5hc3lu
YyA9IGZhbHNlOworaGVhZC5hcHBlbmRDaGlsZChzMyk7CisKK2NvbnN0IHM0ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CitzNC5zcmMgPSAiZW1wdHlfc2NyaXB0LmpzP2lkPWFw
cGVuZGVkX2RlZmVyIjsKK3M0LmRlZmVyID0gdHJ1ZTsKK2hlYWQuYXBwZW5kQ2hpbGQoczQpOwor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisKK2NvbnN0IHdhaXRfZm9yX29u
bG9hZCA9ICgpID0+IHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIHdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcmVzb2x2ZSk7Cit9KX07CisKK3Byb21pc2Vf
dGVzdCgKKyAgYXN5bmMgKCkgPT4geworICAgIGF3YWl0IHdhaXRfZm9yX29ubG9hZCgpOworCisg
ICAgY29uc3QgZW50cnlfbGlzdCA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUoInJlc291
cmNlIik7CisgICAgZm9yIChlbnRyeSBvZiBlbnRyeV9saXN0KSB7CisgICAgICBpZiAoZW50cnku
bmFtZS5pbmNsdWRlcygiZW1wdHlfc2NyaXB0LmpzIikpIHsKKyAgICAgICAgYXNzZXJ0X2VxdWFs
cyhlbnRyeS5pbml0aWF0b3JUeXBlLCAic2NyaXB0IiwKKyAgICAgICAgICAgICAgICAgICAgICAi
aW5pdGlhdG9yVHlwZSBzaG91bGQgYmUgJ3NjcmlwdCcgZm9yICIgKyBlbnRyeS5uYW1lKTsKKyAg
ICAgIH0KKyAgICB9Cit9LCAiVmFsaWRhdGUgaW5pdGlhdG9yVHlwZSBmb3Igc2NyaXB0cyBpcyAn
c2NyaXB0JyIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L25leHRIb3BQcm90b2NvbC1pcy10YW8tcHJvdGVjdGVkLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L25leHRIb3BQcm90b2NvbC1pcy10YW8tcHJvdGVjdGVkLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jNGNiYmFhNGQyMDViNWM0NDdmZjhmYzA0NGQ2OGJkYTI1MDM0MGQ3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvbmV4dEhvcFByb3RvY29sLWlzLXRhby1wcm90ZWN0ZWQuaHR0cHMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitGQUlMIEFkZCBUQU8tbGVzcyBpZnJhbWUgZnJv
bSByZW1vdGUgb3JpZ2luLiBNYWtlIHN1cmUgbmV4dEhvcFByb3RvY29sIGlzIHRoZSBlbXB0eSBz
dHJpbmcgYXNzZXJ0X2VxdWFsczogbmV4dEhvcFByb3RvY29sIHNob3VsZCBiZSB0aGUgZW1wdHkg
c3RyaW5nIGV4cGVjdGVkICIiIGJ1dCBnb3QgImh0dHAvMS4xIgorUEFTUyBBZGQgVEFPJ2QgaWZy
YW1lIGZyb20gcmVtb3RlIG9yaWdpbi4gTWFrZSBzdXJlIG5leHRIb3BQcm90b2NvbCBpcyBub3Qg
dGhlIGVtcHR5IHN0cmluZworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9uZXh0SG9wUHJvdG9jb2wtaXMtdGFv
LXByb3RlY3RlZC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvbmV4dEhvcFByb3RvY29sLWlzLXRhby1wcm90ZWN0
ZWQuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMGU5NmFmOGU4MGNmNGZiMDZkN2YxYjMzOTNmMjE5
MTI2NWIyM2NlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvbmV4dEhvcFByb3RvY29sLWlzLXRhby1w
cm90ZWN0ZWQuaHR0cHMuaHRtbApAQCAtMCwwICsxLDM4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBU
aW1pbmcgLSBDaGVjayB0aGF0IG5leHRIb3BQcm90b2NvbCBpcyBUQU8gcHJvdGVjdGVkPC90aXRs
ZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNl
LXRpbWluZy0yLyNzZWMtcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21t
b24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNl
cy9lbnRyeS1pbnZhcmlhbnRzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
cmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+
CisKK2NvbnN0IHtIVFRQU19SRU1PVEVfT1JJR0lOfSA9IGdldF9ob3N0X2luZm8oKTsKK2NvbnN0
IHJlbW90ZV9yZXNvdXJjZXMgPSBgJHtIVFRQU19SRU1PVEVfT1JJR0lOfS9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VzYDsKKworLy8gQWRkIGlmcmFtZSB0byByZW1vdGUgb3JpZ2luIC0gcGFnZSB3
aXRob3V0IFRBTworYXR0cmlidXRlX3Rlc3QoCisgIGxvYWQuaWZyYW1lLCBgJHtyZW1vdGVfcmVz
b3VyY2VzfS9ncmVlbi5odG1gLAorICBlbnRyeSA9PiBhc3NlcnRfZXF1YWxzKGVudHJ5Lm5leHRI
b3BQcm90b2NvbCwgIiIsCisgICAgIm5leHRIb3BQcm90b2NvbCBzaG91bGQgYmUgdGhlIGVtcHR5
IHN0cmluZyIpLAorICAiQWRkIFRBTy1sZXNzIGlmcmFtZSBmcm9tIHJlbW90ZSBvcmlnaW4uIE1h
a2Ugc3VyZSBuZXh0SG9wUHJvdG9jb2wgaXMgdGhlICIgKworICAiZW1wdHkgc3RyaW5nIgorKTsK
KworLy8gQWRkIGlmcmFtZSB0byByZW1vdGUgb3JpZ2luIC0gcGFnZSB3aXRoIFRBTworYXR0cmli
dXRlX3Rlc3QoCisgIGxvYWQuaWZyYW1lLCBgJHtyZW1vdGVfcmVzb3VyY2VzfS9ibGFuay13aXRo
LXRhby5odG1sYCwKKyAgZW50cnkgPT4gYXNzZXJ0X25vdF9lcXVhbHMoZW50cnkubmV4dEhvcFBy
b3RvY29sLCAiIiwKKyAgICAibmV4dEhvcFByb3RvY29sIHNob3VsZCBub3QgYmUgdGhlIGVtcHR5
IHN0cmluZyIpLAorICAiQWRkIFRBTydkIGlmcmFtZSBmcm9tIHJlbW90ZSBvcmlnaW4uIE1ha2Ug
c3VyZSBuZXh0SG9wUHJvdG9jb2wgaXMgbm90ICIgKworICAidGhlIGVtcHR5IHN0cmluZyIKKyk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3Qt
Zm91bmQtYWZ0ZXItVEFPLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9v
YmplY3Qtbm90LWZvdW5kLWFmdGVyLVRBTy1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjM2N2Y2MGNmMTU2ZTQ0OWY3YjVmMWUyOTUwYmQ3OWZkMzI1MDExNzIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLVRBTy1jcm9zcy1v
cmlnaW4tcmVkaXJlY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorCisKK0hhcm5lc3Mg
RXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5j
ZSBpcyBkZWZpbmVkCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lIGlz
IGRlZmluZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1UQU8tY3Jv
c3Mtb3JpZ2luLXJlZGlyZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLVRBTy1j
cm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMGRhZDkzODFiYTQyYmM4NDhl
YmVjYTg2YWNhZjdmMTBhN2ExZTgyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1m
b3VuZC1hZnRlci1UQU8tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0bWwKQEAgLTAsMCArMSw0NyBA
QAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
IC8+Cis8dGl0bGU+VGhpcyB0ZXN0IHZhbGlkYXRlcyByZXNvdXJjZSB0aW1pbmcgaW5mb3JtYXRp
b24gZm9yIGEgdGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0IGNoYWluLjwvdGl0
bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jlc291cmNl
LXRpbWluZy8jcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L2NvbW1vbi9nZXQt
aG9zdC1pbmZvLnN1Yi5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2VicGVy
ZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2VicGVy
ZnRlc3RoYXJuZXNzZXh0ZW5zaW9uLmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KKyAgICBzZXR1
cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOworICAgIHRlc3RfbmFtZXNwYWNlKCdnZXRFbnRyaWVz
QnlOYW1lJyk7CisKKyAgICBmdW5jdGlvbiBvbmxvYWRfdGVzdCgpCisgICAgeworICAgICAgICBj
b25zdCBjb250ZXh0ID0gbmV3IFBlcmZvcm1hbmNlQ29udGV4dChwZXJmb3JtYW5jZSk7CisgICAg
ICAgIGNvbnN0IGVudHJpZXMgPSBjb250ZXh0LmdldEVudHJpZXNCeU5hbWUoZG9jdW1lbnQucXVl
cnlTZWxlY3Rvcignb2JqZWN0JykuZGF0YSwgJ3Jlc291cmNlJyk7CisgICAgICAgIHRlc3RfZXF1
YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAnVGhlcmUgc2hvdWxkIGJlIG9uZSBlbnRyeS4nKTsKKyAg
ICAgICAgY29uc3QgZW50cnkgPSBlbnRyaWVzWzBdOworCisgICAgICAgIHRlc3RfZ3JlYXRlcl90
aGFuKGVudHJ5LnJlZGlyZWN0U3RhcnQsIDAsICdyZWRpcmVjdFN0YXJ0ID4gMCBpbiB0aW1pbmcg
YWxsb3dlZCBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuJyk7CisgICAgICAgIHRlc3RfZXF1YWxzKGVu
dHJ5LnJlZGlyZWN0U3RhcnQsIGVudHJ5LnN0YXJ0VGltZSwgJ3JlZGlyZWN0U3RhcnQgPT0gc3Rh
cnRUaW1lIGluIHRpbWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4nKTsKKyAgICAg
ICAgdGVzdF9ncmVhdGVyX3RoYW4oZW50cnkucmVkaXJlY3RFbmQsIGVudHJ5LnJlZGlyZWN0U3Rh
cnQsICdyZWRpcmVjdEVuZCA+IHJlZGlyZWN0U3RhcnQgaW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mt
b3JpZ2luIHJlZGlyZWN0LicpOworICAgICAgICB0ZXN0X2dyZWF0ZXJfb3JfZXF1YWxzKGVudHJ5
LmZldGNoU3RhcnQsIGVudHJ5LnJlZGlyZWN0RW5kLCAnZmV0Y2hTdGFydCA+PSByZWRpcmVjdEVu
ZCBpbiB0aW1pbmcgYWxsb3dlZCBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuJyk7CisgICAgICAgIGRv
bmUoKTsKKyAgICB9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAg
IGxldCBkZXN0VXJsID0gZ2V0X2hvc3RfaW5mbygpLkhUVFBfUkVNT1RFX09SSUdJTiArICcvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlcy9tdWx0aV9yZWRpcmVjdC5weT8nOworICAgIGRlc3RVcmwg
Kz0gJ3BhZ2Vfb3JpZ2luPScgKyAnaHR0cDovLycgKyBkb2N1bWVudC5sb2NhdGlvbi5ob3N0Owor
ICAgIGRlc3RVcmwgKz0gJyZjcm9zc19vcmlnaW49JyArIGdldF9ob3N0X2luZm8oKS5IVFRQX1JF
TU9URV9PUklHSU47CisgICAgZGVzdFVybCArPSAnJmZpbmFsX3Jlc291cmNlPScgKyBlbmNvZGVV
UklDb21wb25lbnQoIi9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3N0YXR1cy1jb2RlLnB5P3N0
YXR1cz00MDQmdGFvX3ZhbHVlPSoiKTsKKyAgICBkZXN0VXJsICs9ICcmdGFvX3N0ZXBzPTMnOwor
ICAgIGNvbnN0IG9iakVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvYmplY3QnKTsK
KyAgICBvYmpFbGVtZW50LnN0eWxlID0gJ3dpZHRoOiAwcHg7IGhlaWdodDogMHB4Oyc7CisgICAg
b2JqRWxlbWVudC5kYXRhID0gZGVzdFVybDsKKyAgICBvYmpFbGVtZW50Lm9uZXJyb3IgPSBvbmxv
YWRfdGVzdDsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG9iakVsZW1lbnQpOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5k
LWFmdGVyLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90
LWZvdW5kLWFmdGVyLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzY3ZjYwY2YxNTZlNDQ5ZjdiNWYxZTI5NTBiZDc5ZmQzMjUwMTE3MgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKKworCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwg
bWVzc2FnZSA9IG51bGwKKworUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZAorUEFT
UyB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZSBpcyBkZWZpbmVkCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmE0NTVlYzQwNmIzZTk1MTlkOTliYmZlYjEyYTQ0ZTcyMTRjNjZlNmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLWNyb3NzLW9yaWdpbi1y
ZWRpcmVjdC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlRoaXMgdGVzdCB2YWxpZGF0
ZXMgcmVzb3VyY2UgdGltaW5nIGluZm9ybWF0aW9uIGZvciBhIGNyb3NzLW9yaWdpbiByZWRpcmVj
dCBjaGFpbi48L3RpdGxlPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9y
Zy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PS9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzc2V4dGVuc2lvbi5qcyI+PC9zY3JpcHQ+CisKKzxzY3Jp
cHQ+CisgICAgc2V0dXAoe2V4cGxpY2l0X2RvbmU6IHRydWV9KTsKKyAgICB0ZXN0X25hbWVzcGFj
ZSgnZ2V0RW50cmllc0J5TmFtZScpOworCisgICAgZnVuY3Rpb24gb25sb2FkX3Rlc3QoKQorICAg
IHsKKyAgICAgICAgY29uc3QgY29udGV4dCA9IG5ldyBQZXJmb3JtYW5jZUNvbnRleHQocGVyZm9y
bWFuY2UpOworICAgICAgICBjb25zdCBlbnRyaWVzID0gY29udGV4dC5nZXRFbnRyaWVzQnlOYW1l
KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ29iamVjdCcpLmRhdGEsICdyZXNvdXJjZScpOworICAg
ICAgICB0ZXN0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMSwgJ1RoZXJlIHNob3VsZCBiZSBvbmUg
ZW50cnkuJyk7CisgICAgICAgIGNvbnN0IGVudHJ5ID0gZW50cmllc1swXTsKKworICAgICAgICB0
ZXN0X2VxdWFscyhlbnRyeS5yZWRpcmVjdFN0YXJ0LCAwLCAncmVkaXJlY3RTdGFydCA9PSAwIGlu
IGNyb3NzLW9yaWdpbiByZWRpcmVjdC4nKTsKKyAgICAgICAgdGVzdF9lcXVhbHMoZW50cnkucmVk
aXJlY3RFbmQsIDAsICdyZWRpcmVjdEVuZCA9PSAwIGluIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4n
KTsKKyAgICAgICAgdGVzdF9ncmVhdGVyX3RoYW4oZW50cnkuZmV0Y2hTdGFydCwgMCwgJ2ZldGNo
U3RhcnQgPiAwIGluIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4nKTsKKyAgICAgICAgdGVzdF9lcXVh
bHMoZW50cnkuc3RhcnRUaW1lLCBlbnRyeS5mZXRjaFN0YXJ0LCAnc3RhcnRUaW1lID09IGZldGNo
U3RhcnQgaW4gY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LicpOworICAgICAgICBkb25lKCk7CisgICAg
fQorPC9zY3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKyAgICBsZXQgZGVzdFVy
bCA9IGdldF9ob3N0X2luZm8oKS5IVFRQX1JFTU9URV9PUklHSU4gKyAnL3Jlc291cmNlLXRpbWlu
Zy9yZXNvdXJjZXMvbXVsdGlfcmVkaXJlY3QucHk/JzsKKyAgICBkZXN0VXJsICs9ICdwYWdlX29y
aWdpbj0nICsgJ2h0dHA6Ly8nICsgZG9jdW1lbnQubG9jYXRpb24uaG9zdDsKKyAgICBkZXN0VXJs
ICs9ICcmY3Jvc3Nfb3JpZ2luPScgKyBnZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lO
OworICAgIGRlc3RVcmwgKz0gJyZmaW5hbF9yZXNvdXJjZT0nICsgZW5jb2RlVVJJQ29tcG9uZW50
KCIvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9zdGF0dXMtY29kZS5weT9zdGF0dXM9NDA0Iik7
CisgICAgY29uc3Qgb2JqRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ29iamVjdCcp
OworICAgIG9iakVsZW1lbnQuc3R5bGUgPSAnd2lkdGg6IDBweDsgaGVpZ2h0OiAwcHg7JzsKKyAg
ICBvYmpFbGVtZW50LmRhdGEgPSBkZXN0VXJsOworICAgIG9iakVsZW1lbnQub25lcnJvciA9IG9u
bG9hZF90ZXN0OworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQob2JqRWxlbWVudCk7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3JlZGlyZWN0cy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9yZWRpcmVjdHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI3NTJkZTFl
Y2RhNjFiMjVhYTg0OWRlZTlkZWI2OWYyNWQwYTM2ZTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZWRpcmVjdHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIgQEAKK0Rlc2NyaXB0aW9uCisKK1Ro
aXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCwgd2hlbiBhIGZldGNoaW5nIHJlc291cmNlcyB0aGF0IGVu
Y291bnRlciBzYW1lLW9yaWdpbiByZWRpcmVjdHMsIGF0dHJpYnV0ZXMgb2YgdGhlIFBlcmZvcm1h
bmNlUmVzb3VyY2VUaW1pbmcgZW50cnkgY29uZm9ybSB0byB0aGUgc3BlY2lmaWNhdGlvbi4KKwor
CitQQVNTIFZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEgcmVkaXJlY3RlZCBzdHlsZXNoZWV0J3MgUGVy
Zm9ybWFuY2VSZXNvdXJjZVRpbWluZworUEFTUyBWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJlZGly
ZWN0ZWQgaW1hZ2UncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nCitQQVNTIFZlcmlmeSBhdHRy
aWJ1dGVzIG9mIGEgcmVkaXJlY3RlZCBpZnJhbWUncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5n
CitQQVNTIFZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEgcmVkaXJlY3RlZCBzY3JpcHQncyBQZXJmb3Jt
YW5jZVJlc291cmNlVGltaW5nCitQQVNTIFZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEgcmVkaXJlY3Rl
ZCBzeW5jaHJvbm91cyBYTUxIdHRwUmVxdWVzdCdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcK
K1BBU1MgVmVyaWZ5IGF0dHJpYnV0ZXMgb2YgYSBzeW5jaHJvbm91cyBYTUxIdHRwUmVxdWVzdCdz
IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgd2hlcmUgdGhlIGluaXRpYWwgSFRUUCByZXF1ZXN0
IGlzIHJlZGlyZWN0ZWQgdG8gYSBjcm9zcy1vcmlnaW4gSFRUUFMgcmVzb3VyY2UuCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3JlZGlyZWN0cy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVkaXJlY3RzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YmE2OTkwN2E1ZjZlNDZhM2U4YTc5MDQxZGExNzAzOWQxNGQyMGZlYgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL3JlZGlyZWN0cy5odG1sCkBAIC0wLDAgKzEsNjEgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNl
IFRpbWluZzogcmVzb3VyY2VzIGZldGNoZWQgdGhyb3VnaCBzYW1lLW9yaWdpbiByZWRpcmVjdHM8
L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93
d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3Lncz
Lm9yZy9UUi9yZXNvdXJjZS10aW1pbmctMi8jc2VjLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmci
Lz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFudHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4K
K2NvbnN0IHtIVFRQU19OT1RTQU1FU0lURV9PUklHSU59ID0gZ2V0X2hvc3RfaW5mbygpOworY29u
c3QgcmVkaXJlY3RfdXJsID0gYC9jb21tb24vcmVkaXJlY3QucHlgOworY29uc3QgdXJsX3ByZWZp
eCA9IGAke3JlZGlyZWN0X3VybH0/bG9jYXRpb249L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMv
YDsKK2NvbnN0IGh0dHBzX3VybF9wcmVmaXggPSBgJHtyZWRpcmVjdF91cmx9P2xvY2F0aW9uPSR7
SFRUUFNfTk9UU0FNRVNJVEVfT1JJR0lOfS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2A7CisK
K2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLnN0eWxlc2hlZXQsIHVybF9wcmVmaXggKyAicmVzb3Vy
Y2VfdGltaW5nX3Rlc3QwLmNzcyIsCisgIGludmFyaWFudHMuYXNzZXJ0X3NhbWVfb3JpZ2luX3Jl
ZGlyZWN0ZWRfcmVzb3VyY2UsCisgICJWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQg
c3R5bGVzaGVldCdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmciKTsKKworYXR0cmlidXRlX3Rl
c3QoCisgIGxvYWQuaW1hZ2UsIHVybF9wcmVmaXggKyAiYmx1ZS5wbmciLAorICBpbnZhcmlhbnRz
LmFzc2VydF9zYW1lX29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNlLAorICAiVmVyaWZ5IGF0dHJp
YnV0ZXMgb2YgYSByZWRpcmVjdGVkIGltYWdlJ3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyIp
OworCithdHRyaWJ1dGVfdGVzdCgKKyAgbG9hZC5pZnJhbWUsIHVybF9wcmVmaXggKyAiZ3JlZW4u
aHRtbCIsCisgIGludmFyaWFudHMuYXNzZXJ0X3NhbWVfb3JpZ2luX3JlZGlyZWN0ZWRfcmVzb3Vy
Y2UsCisgICJWZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgaWZyYW1lJ3MgUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZyIpOworCithdHRyaWJ1dGVfdGVzdCgKKyAgbG9hZC5zY3JpcHQs
IHVybF9wcmVmaXggKyAiZW1wdHlfc2NyaXB0LmpzIiwKKyAgaW52YXJpYW50cy5hc3NlcnRfc2Ft
ZV9vcmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAgIlZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEg
cmVkaXJlY3RlZCBzY3JpcHQncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIik7CisKK2F0dHJp
YnV0ZV90ZXN0KAorICBsb2FkLnhocl9zeW5jLCB1cmxfcHJlZml4ICsgImdyZWVuLmh0bWw/aWQ9
eGhyIiwKKyAgaW52YXJpYW50cy5hc3NlcnRfc2FtZV9vcmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJj
ZSwKKyAgIlZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEgcmVkaXJlY3RlZCBzeW5jaHJvbm91cyBYTUxI
dHRwUmVxdWVzdCdzICIgKworICAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyIpOworCithdHRy
aWJ1dGVfdGVzdCgKKyAgbG9hZC54aHJfc3luYywgaHR0cHNfdXJsX3ByZWZpeCArICJncmVlbi5o
dG1sP2lkPXhociIsCisgIGludmFyaWFudHMuYXNzZXJ0X2Nyb3NzX29yaWdpbl9yZWRpcmVjdGVk
X3Jlc291cmNlLAorICAiVmVyaWZ5IGF0dHJpYnV0ZXMgb2YgYSBzeW5jaHJvbm91cyBYTUxIdHRw
UmVxdWVzdCdzICIgKworICAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyB3aGVyZSB0aGUgaW5p
dGlhbCBIVFRQIHJlcXVlc3QgaXMgcmVkaXJlY3RlZCAiICsKKyAgInRvIGEgY3Jvc3Mtb3JpZ2lu
IEhUVFBTIHJlc291cmNlLiIKKyk7CisKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+
RGVzY3JpcHRpb248L2gxPgorPHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0LCB3aGVuIGEgZmV0
Y2hpbmcgcmVzb3VyY2VzIHRoYXQgZW5jb3VudGVyCitzYW1lLW9yaWdpbiByZWRpcmVjdHMsIGF0
dHJpYnV0ZXMgb2YgdGhlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgZW50cnkKK2NvbmZvcm0g
dG8gdGhlIHNwZWNpZmljYXRpb24uPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2UtaWdub3JlLWRhdGEtdXJsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlLWln
bm9yZS1kYXRhLXVybC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTNlYzVhZjQ1NGVjMWYzZDA4
ZDA3YmMwOWJiZTE3ZTkyYWZiN2NhMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlLWln
bm9yZS1kYXRhLXVybC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKKworUEFTUyBSZXNv
dXJjZXMgd2l0aCBkYXRhOiBVUklzIG11c3Qgbm90IGJlIHN1cmZhY2VkIGluIFJlc291cmNlIFRp
bWluZworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25vcmUtZGF0YS11cmwuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlLWlnbm9yZS1kYXRhLXVybC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE3MDU2YTgwODA3OTY3
ZDliOTRiMWQ0YzU0YzA2MjBkYzJhNGJhZDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZS1pZ25vcmUtZGF0YS11cmwuaHRtbApAQCAtMCwwICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJj
ZSBUaW1pbmcgaWdub3JlcyByZXNvdXJjZXMgd2l0aCBkYXRhOiBVUklzPC90aXRsZT4KKzxsaW5r
IHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20v
IiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3Vy
Y2UtdGltaW5nLTIvI3Jlc291cmNlcy1pbmNsdWRlZC1pbi10aGUtcGVyZm9ybWFuY2VyZXNvdXJj
ZXRpbWluZy1pbnRlcmZhY2UiLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxpbWcgc3JjPSJkYXRhOmltYWdlL2dpZjti
YXNlNjQsUjBsR09EbGhBUUFCQUlBQUFPVG03QUFBQUNINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJ
Q1JBRUFPdz09Ij48L2ltZz4KKzxzY3JpcHQ+CisgIHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsK
KyAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICBuZXcg
UGVyZm9ybWFuY2VPYnNlcnZlcih0LnN0ZXBfZnVuYyhsaXN0ID0+IHsKKyAgICAgICAgY29uc3Qg
ZW50cmllcyA9IGxpc3QuZ2V0RW50cmllcygpOworICAgICAgICBjb25zdCBkYXRhRW50cmllcyA9
IGVudHJpZXMuZmlsdGVyKGUgPT4gZS5uYW1lLmluY2x1ZGVzKCdkYXRhOicpKTsKKyAgICAgICAg
YXNzZXJ0X2VxdWFscyhkYXRhRW50cmllcy5sZW5ndGgsIDAsICdUaGVyZSBtdXN0IGJlIG5vIGVu
dHJ5IGZvciBgZGF0YTogVVJMYC4nKTsKKyAgICAgICAgY29uc3QgYmx1ZUVudHJpZXMgPSBlbnRy
aWVzLmZpbHRlcihlID0+IGUubmFtZS5pbmNsdWRlcygnYmx1ZS5wbmcnKSk7CisgICAgICAgIGlm
IChibHVlRW50cmllcy5sZW5ndGgpIHsKKyAgICAgICAgICAvLyBXZSBjYW4gZmluaXNoIHRoZSB0
ZXN0IG9uY2Ugd2Ugc2VlIHRoZSBlbnRyeSB3aXRoIGJsdWUucG5nLgorICAgICAgICAgIHJlc29s
dmUoKTsKKyAgICAgICAgfQorICAgICAgfSkpLm9ic2VydmUoe2VudHJ5VHlwZXM6IFsncmVzb3Vy
Y2UnXX0pOworICAgIH0pOworICAgIC8vIFdhaXQgdW50aWwgdGhlIGRvY3VtZW50IGlzIGxvYWRl
ZC4KKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgIHdpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCdsb2FkJywgcmVzb2x2ZSk7CisgICAgfSk7CisgICAgLy8gQWRkIHRoZSBi
bHVlLnBuZyBpbWFnZSBhZnRlciBkb2N1bWVudCBpcyBsb2FkZWQgdG8gZW5zdXJlIHdlJ3ZlIHJl
Y2VpdmVkCisgICAgLy8gYWxsIG9mIHRoZSBwcmV2aW91cyBSZXNvdXJjZSBUaW1pbmcgZW50cmll
cy4KKyAgICBsb2FkLmltYWdlKCdibHVlLnBuZycpOworICAgIHJldHVybiBwcm9taXNlOworICB9
LCAnUmVzb3VyY2VzIHdpdGggZGF0YTogVVJJcyBtdXN0IG5vdCBiZSBzdXJmYWNlZCBpbiBSZXNv
dXJjZSBUaW1pbmcnKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VfVEFPX2Nyb3NzX29yaWdpbl9yZWRpcmVjdF9jaGFpbi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZV9UQU9fY3Jvc3Nfb3JpZ2luX3JlZGlyZWN0X2NoYWluLWV4cGVjdGVkLnR4
dAppbmRleCA0N2NmZDFkZGI0ZTU3NTU3ZjQ5NDVhNDBkOWUwZTMxODg2MTU5YzQyLi5jNWZhZDkx
NTFhODI2NzVmNzdkNDg4Nzc4ZDM2M2ZlZTBiODRhY2EwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZV9UQU9fY3Jvc3Nfb3JpZ2luX3JlZGlyZWN0X2NoYWluLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZV9UQU9fY3Jvc3Nfb3JpZ2luX3JlZGlyZWN0X2NoYWluLWV4cGVjdGVkLnR4dApAQCAt
Myw4ICszLDggQEAKIFBBU1Mgd2luZG93LnBlcmZvcm1hbmNlIGlzIGRlZmluZWQKIFBBU1Mgd2lu
ZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUgaXMgZGVmaW5lZAogUEFTUyBUaGVyZSBz
aG91bGQgYmUgb25lIGVudHJ5LgotUEFTUyByZWRpcmVjdFN0YXJ0ID4gMCBpbiB0aW1pbmcgYWxs
b3dlZCBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuCi1QQVNTIHJlZGlyZWN0U3RhcnQgPT0gc3RhcnRU
aW1lIGluIHRpbWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4KLVBBU1MgcmVkaXJl
Y3RFbmQgPiByZWRpcmVjdFN0YXJ0IGluIHRpbWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiByZWRp
cmVjdC4KK0ZBSUwgcmVkaXJlY3RTdGFydCA+IDAgaW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3Jp
Z2luIHJlZGlyZWN0LiBhc3NlcnRfdHJ1ZTogcmVkaXJlY3RTdGFydCA+IDAgaW4gdGltaW5nIGFs
bG93ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJ
TCByZWRpcmVjdFN0YXJ0ID09IHN0YXJ0VGltZSBpbiB0aW1pbmcgYWxsb3dlZCBjcm9zcy1vcmln
aW4gcmVkaXJlY3QuIGFzc2VydF9lcXVhbHM6IHJlZGlyZWN0U3RhcnQgPT0gc3RhcnRUaW1lIGlu
IHRpbWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4gZXhwZWN0ZWQgPG5vbmRldGVy
bWluaXN0aWMgdGVzdCBvdXRwdXQ+IGJ1dCBnb3QgMAorRkFJTCByZWRpcmVjdEVuZCA+IHJlZGly
ZWN0U3RhcnQgaW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LiBhc3NlcnRf
dHJ1ZTogcmVkaXJlY3RFbmQgPiByZWRpcmVjdFN0YXJ0IGluIHRpbWluZyBhbGxvd2VkIGNyb3Nz
LW9yaWdpbiByZWRpcmVjdC4gZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIFBBU1MgZmV0Y2hTdGFy
dCA+PSByZWRpcmVjdEVuZCBpbiB0aW1pbmcgYWxsb3dlZCBjcm9zcy1vcmlnaW4gcmVkaXJlY3Qu
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX2NhY2hlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfY2Fj
aGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQ2MWQ2Mzk2MTZiMTgwMmZmNGI2M2RlODJhMDFmZmQ3MDFm
ODE0ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX2NhY2hlZC5odG1sCkBAIC0wLDAg
KzEsNTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZyBjYWNoZWQgcmVzb3VyY2VzPC90aXRs
ZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdv
b2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9U
Ui9yZXNvdXJjZS10aW1pbmcvI2RvbS1wZXJmb3JtYW5jZXJlc291cmNldGltaW5nLWluaXRpYXRv
cnR5cGUiLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzZXh0ZW5zaW9uLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQ+CitzZXR1cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOworCisv
LyBleHBsaWNpdGx5IHRlc3QgdGhlIG5hbWVzcGFjZSBiZWZvcmUgd2Ugc3RhcnQgdGVzdGluZwor
dGVzdF9uYW1lc3BhY2UoImdldEVudHJpZXNCeVR5cGUiKTsKKwordmFyIGQ7Cit2YXIgaWZyYW1l
OwordmFyIGlmcmFtZUJvZHk7Cit2YXIgaW1hZ2U7Cit2YXIgcmFuZG9tID0gTWF0aC5yYW5kb20o
KTsKKworZnVuY3Rpb24gc2V0dXBfaWZyYW1lKCkgeworICAgIGlmcmFtZSA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdmcmFtZUNvbnRleHQnKTsKKyAgICBkID0gaWZyYW1lLmNvbnRlbnRXaW5k
b3cuZG9jdW1lbnQ7CisgICAgaWZyYW1lQm9keSA9IGQuYm9keTsKKyAgICBpZnJhbWUuYWRkRXZl
bnRMaXN0ZW5lcignbG9hZCcsIG9ubG9hZF90ZXN0LCBmYWxzZSk7Cit9CitmdW5jdGlvbiBvbmxv
YWRfdGVzdCgpIHsKKyAgICBpZiAod2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUg
PT09IHVuZGVmaW5lZCkgeworICAgICAgZG9uZSgpOworICAgICAgcmV0dXJuOworICAgIH0KKyAg
ICB2YXIgY29udGV4dCA9IG5ldyBQZXJmb3JtYW5jZUNvbnRleHQoaWZyYW1lLmNvbnRlbnRXaW5k
b3cucGVyZm9ybWFuY2UpOworICAgIHZhciBlbnRyaWVzID0gY29udGV4dC5nZXRFbnRyaWVzQnlU
eXBlKCdyZXNvdXJjZScpOworICAgIHRlc3RfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAyLCAiVGhl
cmUgc2hvdWxkIGJlIHR3byBlbnRyaWVzIik7CisgICAgaWYgKGVudHJpZXMubGVuZ3RoID49IDIp
IHsKKyAgICAgICAgdGVzdF9lcXVhbHMoZW50cmllc1swXS5uYW1lLCBlbnRyaWVzWzFdLm5hbWUs
ICJCb3RoIGVudHJpZXMgc2hvdWxkIGhhdmUgdGhlIHNhbWUgbmFtZSIpOworICAgIH0KKyAgICBk
b25lKCk7Cit9Cit3aW5kb3cuc2V0dXBfaWZyYW1lID0gc2V0dXBfaWZyYW1lOworPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5EZXNjcmlwdGlvbjwvaDE+Cis8cD5UaGlzIHRlc3QgdmFs
aWRhdGVzIHRoYXQgYSAzMDQgTm90IE1vZGlmaWVkIHJlc291cmNlIGFwcGVhcnMgaW4gdGhlIGJ1
ZmZlci48L3A+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0
IiBzcmM9InJlc291cmNlcy9mYWtlX3Jlc3BvbnNlcy5odG1sIj48L2lmcmFtZT4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX2luaXRpYXRvcl90eXBlcy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLmh0bWwKaW5kZXggOTkxMmRhN2MzNDAwMTM4ZDcz
MjQ1YWNjMzcyNDYzY2ExNzRlNmY1OC4uMmU1MmYwZTRjZDA5ZWM5ZTBkMjZlMjQ5NGFjNWUyMGI1
OGNlNjJiOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLmh0bWwKQEAgLTk1LDggKzk1LDggQEAgZnVu
Y3Rpb24gcGVyZm9ybV90ZXN0KCkgewogICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywgZXhw
ZWN0ZWRfZW50cmllcywgcGF0aG5hbWUgKyAncmVzb3VyY2VfdGltaW5nX3Rlc3QwLnBuZycsICdp
bWcnKTsKICAgICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBh
dGhuYW1lICsgJ3Jlc291cmNlX3RpbWluZ190ZXN0MC5wbmc/aWQ9c3Jjc2V0LXNyY3NldCcsICdp
bWcnKTsKICAgICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBh
dGhuYW1lICsgJ3Jlc291cmNlX3RpbWluZ190ZXN0MC5wbmc/aWQ9c3Jjc2V0LXNyYycsICdpbWcn
KTsKLSAgICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhu
YW1lICsgJ2JsYW5rX3BhZ2VfZ3JlZW4uaHRtJywgJ2lmcmFtZScpOwotICAgIGFkZEVudHJ5SWZF
eGlzdHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcywgcGF0aG5hbWUgKyAnYmxhbmtfcGFnZV9n
cmVlbi5odG0/aWQ9ZnJhbWUnLCAnZnJhbWUnKTsKKyAgICBhZGRFbnRyeUlmRXhpc3RzKGVudHJp
ZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ2dyZWVuLmh0bWwnLCAnaWZyYW1lJyk7
CisgICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFt
ZSArICdncmVlbi5odG1sP2lkPWZyYW1lJywgJ2ZyYW1lJyk7CiAgICAgYWRkRW50cnlJZkV4aXN0
cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdlbXB0eV9zY3JpcHQuanMn
LCAnc2NyaXB0Jyk7CiAgICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRy
aWVzLCBwYXRobmFtZSArICdyZXNvdXJjZV90aW1pbmdfdGVzdDAuY3NzP2lkPWVtYmVkJywgJ2Vt
YmVkJyk7CiAgICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzLCBw
YXRobmFtZSArICdyZXNvdXJjZV90aW1pbmdfdGVzdDAuY3NzP2lkPW4xJywgJ2NzcycpOwpAQCAt
MTI4LDcgKzEyOCw3IEBAIGZ1bmN0aW9uIHBlcmZvcm1fdGVzdCgpIHsKICAgICBhZGRFbnRyeUlm
RXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ25lc3RlZC5jc3Mn
LCAnbGluaycpOwogICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmll
cywgcGF0aG5hbWUgKyAnbmVzdGVkLmNzcz9pZD1wcmVmZXRjaCcsICdsaW5rJyk7CiAgICAgYWRk
RW50cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICduZXN0
ZWQuY3NzP2lkPXByZWxvYWQnLCAnbGluaycpOwotICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmll
cywgZXhwZWN0ZWRfZW50cmllcywgcGF0aG5hbWUgKyAnYmxhbmtfcGFnZV9ncmVlbi5odG0/aWQ9
cHJlcmVuZGVyJywgJ2xpbmsnKTsKKyAgICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVj
dGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ2dyZWVuLmh0bWw/aWQ9cHJlcmVuZGVyJywgJ2xpbmsn
KTsKICAgICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhu
YW1lICsgJ21hbmlmZXN0Lmpzb24nLCAnbGluaycpOwogICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50
cmllcywgZXhwZWN0ZWRfZW50cmllcywgcGF0aG5hbWUgKyAnZW1wdHkucHk/aWQ9YmVhY29uJywg
J2JlYWNvbicpOwogICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmll
cywgcGF0aG5hbWUgKyAnZW1wdHkucHk/aWQ9ZmV0Y2gnLCAnZmV0Y2gnKTsKQEAgLTE1OCw3ICsx
NTgsNyBAQCB3aW5kb3cub25fYXN5bmNfeGhyX2RvbmUgPSBmdW5jdGlvbigpIHsKIDxoMT5EZXNj
cmlwdGlvbjwvaDE+CiA8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgYWxsIG9mIHRoZSBpbml0
aWF0b3IgdHlwZXMgYXJlIHJlcHJlc2VudGVkLjwvcD4KIDxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08
aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQiIG9ubG9hZD0ib25sb2FkX3Rlc3QoKTsiIHNyYz0icmVz
b3VyY2VzL2FsbF9yZXNvdXJjZV90eXBlcy5odG0iIHN0eWxlPSJ3aWR0aDogMjUwcHg7IGhlaWdo
dDogMjUwcHg7Ij48L2lmcmFtZT4KLTxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dDIiIG9ubG9hZD0i
ZnJhbWVzZXRfb25sb2FkKCk7IiBzcmM9InJlc291cmNlcy9ncmVlbl9mcmFtZS5odG0iIHN0eWxl
PSJ3aWR0aDogMjUwcHg7IGhlaWdodDogMjUwcHg7Ij48L2lmcmFtZT4KKzxpZnJhbWUgaWQ9ImZy
YW1lQ29udGV4dCIgb25sb2FkPSJvbmxvYWRfdGVzdCgpOyIgc3JjPSJyZXNvdXJjZXMvYWxsX3Jl
c291cmNlX3R5cGVzLmh0bWwiIHN0eWxlPSJ3aWR0aDogMjUwcHg7IGhlaWdodDogMjUwcHg7Ij48
L2lmcmFtZT4KKzxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dDIiIG9ubG9hZD0iZnJhbWVzZXRfb25s
b2FkKCk7IiBzcmM9InJlc291cmNlcy9ncmVlbi1mcmFtZS5odG1sIiBzdHlsZT0id2lkdGg6IDI1
MHB4OyBoZWlnaHQ6IDI1MHB4OyI+PC9pZnJhbWU+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZV9uZXN0ZWRfZGVkaWNhdGVkX3dvcmtlci53b3JrZXIuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZV9uZXN0ZWRfZGVkaWNhdGVkX3dvcmtlci53b3JrZXIuanMKaW5kZXggZmM3OTMwNzVi
YmFkZTFiMDg5MWVhOGVjZjUwMTM3MDUxZDg0YjgyMC4uMmM5ZjVmOTU0MjhhY2E1Y2U5ZDE4NzE0
MjIzZmFiNmY3OGYzNjBjMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfbmVzdGVkX2RlZGljYXRl
ZF93b3JrZXIud29ya2VyLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX25lc3RlZF9kZWRpY2F0ZWRfd29y
a2VyLndvcmtlci5qcwpAQCAtMSw2ICsxLDYgQEAKIGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiKTsKIAotYXN5bmNfdGVzdChhc3luYyBmdW5jdGlvbigpIHsKK2FzeW5j
X3Rlc3QoZnVuY3Rpb24oKSB7CiAgIGNvbnN0IHdvcmtlciA9IG5ldyBXb3JrZXIoJ3Jlc291cmNl
cy93b3JrZXJfd2l0aF9pbWFnZXMuanMnKTsKICAgd29ya2VyLm9ubWVzc2FnZSA9IHRoaXMuc3Rl
cF9mdW5jX2RvbmUoKGV2ZW50KSA9PiB7CiAgICAgY29uc3QgY2hpbGROdW1FbnRyaWVzID0gZXZl
bnQuZGF0YTsKQEAgLTE0LDQgKzE0LDQgQEAgYXN5bmNfdGVzdChhc3luYyBmdW5jdGlvbigpIHsK
ICAgICB3b3JrZXIudGVybWluYXRlKCk7CiAgIH0pOwogfSwgIlJlc291cmNlIHRpbWluZyBmb3Ig
bmVzdGVkIGRlZGljYXRlZCB3b3JrZXJzIik7Ci1kb25lKCk7ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQorZG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfdGltaW5nX2NvbnRlbnRf
bGVuZ3RoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX3RpbWluZ19jb250ZW50X2xlbmd0aC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDNhM2Y4OGQxYmVhYzEwMzcwMDVlY2FmODg4NDUxNjAz
Y2RlZWU3YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX3RpbWluZ19jb250ZW50X2xl
bmd0aC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACisKK0hhcm5lc3MgRXJyb3IgKFRJTUVP
VVQpLCBtZXNzYWdlID0gbnVsbAorCitQQVNTIGVuY29kZWRCb2R5U2l6ZSBzaG91bGQgYmUgZXF1
YWwgdG8gdGhlIGFjdHVhbCBieXRlIHNpemUgb2YgdGhlIGNvbnRlbnQKK1BBU1MgZW5jb2RlZEJv
ZHlTaXplIHNob3VsZCBiZSBlcXVhbCB0byB0aGUgYWN0dWFsIGJ5dGUgc2l6ZSBvZiB0aGUgY29u
dGVudCB3aGVuIG5vIGhlYWRlciBwcmVzZW50CitQQVNTIGVuY29kZWRCb2R5U2l6ZSBzaG91bGQg
YmUgZXF1YWwgdG8gdGhlIGFjdHVhbCBieXRlIHNpemUgb2YgdGhlIGNvbnRlbnQgd2hlbiBoZWFk
ZXIgdmFsdWUgaXMgbG93ZXIgdGhhbiBhY3R1YWwgY29udGVudAorVElNRU9VVCBlbmNvZGVkQm9k
eVNpemUgc2hvdWxkIGJlIGVxdWFsIHRvIHRoZSBhY3R1YWwgYnl0ZSBzaXplIG9mIHRoZSBjb250
ZW50IHdoZW4gaGVhZGVyIHZhbHVlIGlzIGhpZ2hlciB0aGFuIGFjdHVhbCBjb250ZW50IFRlc3Qg
dGltZWQgb3V0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX3RpbWluZ19jb250ZW50X2xlbmd0
aC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvcmVzb3VyY2VfdGltaW5nX2NvbnRlbnRfbGVuZ3RoLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzJiZDhhOTdlMDczNDEzMjMwNjE1MTI2OThhNTY1MjMyZjE5NzJiZAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlX3RpbWluZ19jb250ZW50X2xlbmd0aC5odG1sCkBAIC0wLDAgKzEs
MzUgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0
Zi04IiAvPgorPHRpdGxlPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIHZhbHVlIG9mIGVuY29kZWRC
b2R5U2l6ZSBpbiBjZXJ0YWluIHNpdHVhdGlvbnMuPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIg
aHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNwZXJmb3JtYW5jZXJl
c291cmNldGltaW5nIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+
PC9zY3JpcHQ+CisKKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGVzdF9yZXNvdXJjZV90aW1pbmdf
Zm9yX2NvbnRlbnRfbGVuZ3RoKHthY3R1YWxDb250ZW50TGVuZ3RoLCBsZW5ndGhIZWFkZXJ9LCB0
aXRsZSkgeworICAgICAgICBwcm9taXNlX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgICAgICAgICBj
b25zdCBjb250ZW50ID0gbmV3IEFycmF5KGFjdHVhbENvbnRlbnRMZW5ndGgpLmZpbGwoJ3gnKS5q
b2luKCcnKQorICAgICAgICAgICAgY29uc3QgdXJsID0gYHJlc291cmNlcy9yZXNvdXJjZS10aW1p
bmctY29udGVudC1sZW5ndGgucHk/Y29udGVudD0ke2NvbnRlbnR9Jmxlbmd0aD0ke2xlbmd0aEhl
YWRlcn1gCisgICAgICAgICAgICBmZXRjaCh1cmwpCisgICAgICAgICAgICBjb25zdCBlbnRyeSA9
IGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGVu
dHJ5TGlzdCwgb2JzZXJ2ZXIpID0+IHsKKyAgICAgICAgICAgICAgICBvYnNlcnZlci5kaXNjb25u
ZWN0KCkKKyAgICAgICAgICAgICAgICByZXNvbHZlKGVudHJ5TGlzdC5nZXRFbnRyaWVzKClbMF0p
CisgICAgICAgICAgICB9KS5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbJ3Jlc291cmNlJ119KSkKKwor
ICAgICAgICAgICAgY29uc3QgZXhwZWN0ZWRDb250ZW50TGVuZ3RoID0gTnVtYmVyLmlzSW50ZWdl
cihsZW5ndGhIZWFkZXIpID8gTWF0aC5taW4oYWN0dWFsQ29udGVudExlbmd0aCwgbGVuZ3RoSGVh
ZGVyKSA6IGFjdHVhbENvbnRlbnRMZW5ndGgKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZW50
cnkuZW5jb2RlZEJvZHlTaXplLCBleHBlY3RlZENvbnRlbnRMZW5ndGgpCisgICAgICAgIH0sIHRp
dGxlKTsKKyAgICB9CisKKyAgICB0ZXN0X3Jlc291cmNlX3RpbWluZ19mb3JfY29udGVudF9sZW5n
dGgoe2FjdHVhbENvbnRlbnRMZW5ndGg6IDMsIGxlbmd0aEhlYWRlcjogJ2F1dG8nfSwKKyAgICAg
ICAgImVuY29kZWRCb2R5U2l6ZSBzaG91bGQgYmUgZXF1YWwgdG8gdGhlIGFjdHVhbCBieXRlIHNp
emUgb2YgdGhlIGNvbnRlbnQiKQorICAgIHRlc3RfcmVzb3VyY2VfdGltaW5nX2Zvcl9jb250ZW50
X2xlbmd0aCh7YWN0dWFsQ29udGVudExlbmd0aDogMTMsIGxlbmd0aEhlYWRlcjogJ25vbmUnfSwK
KyAgICAgICAgImVuY29kZWRCb2R5U2l6ZSBzaG91bGQgYmUgZXF1YWwgdG8gdGhlIGFjdHVhbCBi
eXRlIHNpemUgb2YgdGhlIGNvbnRlbnQgd2hlbiBubyBoZWFkZXIgcHJlc2VudCIpCisgICAgdGVz
dF9yZXNvdXJjZV90aW1pbmdfZm9yX2NvbnRlbnRfbGVuZ3RoKHthY3R1YWxDb250ZW50TGVuZ3Ro
OiA3LCBsZW5ndGhIZWFkZXI6IDN9LAorICAgICAgICAiZW5jb2RlZEJvZHlTaXplIHNob3VsZCBi
ZSBlcXVhbCB0byB0aGUgYWN0dWFsIGJ5dGUgc2l6ZSBvZiB0aGUgY29udGVudCB3aGVuIGhlYWRl
ciB2YWx1ZSBpcyBsb3dlciB0aGFuIGFjdHVhbCBjb250ZW50IikKKyAgICB0ZXN0X3Jlc291cmNl
X3RpbWluZ19mb3JfY29udGVudF9sZW5ndGgoe2FjdHVhbENvbnRlbnRMZW5ndGg6IDgsIGxlbmd0
aEhlYWRlcjogNDB9LAorICAgICAgICAiZW5jb2RlZEJvZHlTaXplIHNob3VsZCBiZSBlcXVhbCB0
byB0aGUgYWN0dWFsIGJ5dGUgc2l6ZSBvZiB0aGUgY29udGVudCB3aGVuIGhlYWRlciB2YWx1ZSBp
cyBoaWdoZXIgdGhhbiBhY3R1YWwgY29udGVudCIpCis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy8yMDBfZW1wdHkuYXNpcyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy8yMDBfZW1w
dHkuYXNpcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iNWQxMGJkYTMyNDUyOGQxZDg1NDYzYjlhMTVhMzQ3ZjVjMWZh
ZWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzLzIwMF9lbXB0eS5hc2lzCkBAIC0w
LDAgKzEsMyBAQAorSFRUUC8xLjAgMjAwIE9LCitDb250ZW50LUxlbmd0aDogMAorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvVEFPUmVzcG9uc2UucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvVEFPUmVzcG9u
c2UucHkKaW5kZXggOTA4YjY4ODYxYWU4MjYyYTE4ZTA4M2IwMjZkMTQ1OTFkMWUwMjA2ZS4uNjAz
OTJiOGUxMGFkYTRmZDcwYTAzYTYyNTg4NDkzMDZlOTcxNGVjNCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVz
b3VyY2VzL1RBT1Jlc3BvbnNlLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9UQU9SZXNwb25zZS5weQpA
QCAtMSw4ICsxLDEyIEBACitpbXBvcnQgb3MKKwogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2Up
OgotICAgIG9yaWdpbiA9IHJlcXVlc3QuaGVhZGVyc1tiJ29yaWdpbiddCi0gICAgcmVzcG9uc2Uu
aGVhZGVycy5zZXQoYidBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4nLCBvcmlnaW4pCisgICAg
aWYgYidvcmlnaW4nIGluIHJlcXVlc3QuaGVhZGVyczoKKyAgICAgIG9yaWdpbiA9IHJlcXVlc3Qu
aGVhZGVyc1tiJ29yaWdpbiddCisgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiJ0FjY2Vzcy1D
b250cm9sLUFsbG93LU9yaWdpbicsIG9yaWdpbikKIAogICAgIHRhbyA9IHJlcXVlc3QuR0VULmZp
cnN0KGIndGFvJykKKyAgICBpbWcgPSByZXF1ZXN0LkdFVC5maXJzdChiJ2ltZycpIGlmIGInaW1n
JyBpbiByZXF1ZXN0LkdFVCBlbHNlIE5vbmUKIAogICAgIGlmIHRhbyA9PSBiJ3plcm8nOgogICAg
ICMgemVybyBUQU8gdmFsdWUsIGZhaWwKQEAgLTE0LDcgKzE4LDcgQEAgZGVmIG1haW4ocmVxdWVz
dCwgcmVzcG9uc2UpOgogICAgICMgbnVsbCwgZmFpbCB1bmxlc3MgaXQncyBhbiBvcGFxdWUgb3Jp
Z2luCiAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGInVGltaW5nLUFsbG93LU9yaWdpbics
IGInbnVsbCcpCiAgICAgZWxpZiB0YW8gPT0gYidOdWxsJzoKLSAgICAjIGNhc2UtaW5zZW50aXZl
IG51bGwsIGZhaWwKKyAgICAjIGNhc2UtaW5zZW5zaXRpdmUgbnVsbCwgZmFpbAogICAgICAgICBy
ZXNwb25zZS5oZWFkZXJzLnNldChiJ1RpbWluZy1BbGxvdy1PcmlnaW4nLCBiJ051bGwnKQogICAg
IGVsaWYgdGFvID09IGInb3JpZ2luJzoKICAgICAjIGNhc2Utc2Vuc2l0aXZlIG1hdGNoIGZvciBv
cmlnaW4sIHBhc3MKQEAgLTQ5LDMgKzUzLDEyIEBAIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNl
KToKICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYidUaW1pbmctQWxsb3ctT3JpZ2luJywg
b3JpZ2luLnVwcGVyKCkpCiAgICAgZWxzZToKICAgICAgICAgcGFzcworICAgIHJlc3BvbnNlLnN0
YXR1cyA9IDIwMAorICAgIGlmIGltZzoKKyAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQ29u
dGVudC1UeXBlIiwgYiJpbWFnZS9wbmciKQorICAgICAgd2l0aCBvcGVuKHJlcXVlc3QuZG9jX3Jv
b3QgKyAiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvYmx1ZS5wbmciLCAicmIiKSBhcyBmOgor
ICAgICAgICByZXNwb25zZS5jb250ZW50ID0gZi5yZWFkKCkKKyAgICAgICAgZi5jbG9zZSgpCisg
ICAgZWxzZToKKyAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQ29udGVudC1UeXBlIiwgYiJ0
ZXh0L3BsYWluIikKKyAgICAgIHJlc3BvbnNlLmNvbnRlbnQgPSAiVEVTVCIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3Jlc291cmNlcy9hbGxfcmVzb3VyY2VfdHlwZXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9hbGxf
cmVzb3VyY2VfdHlwZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MjUyYTQ4NzJhYjRlMjhlNjY1MGM0NWM3
NzliMzgwNTI1NGZhOTBmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2FsbF9yZXNv
dXJjZV90eXBlcy5odG1sCkBAIC0wLDAgKzEsMTA3IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1s
PgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9
dXRmLTgiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgLz4KKyAgICAgICAgPHRpdGxlPkFsbCBS
ZXNvdXJjZSBUeXBlcyBUZXN0IFBhZ2U8L3RpdGxlPgorICAgICAgICA8bGluayByZWw9InNob3J0
Y3V0IGljb24iIGhyZWY9ImVtcHR5LnB5P2Zhdmljb24iPgorICAgIDwvaGVhZD4KKyAgICA8Ym9k
eSBiYWNrZ3JvdW5kPSdibHVlLnBuZz9pZD1ib2R5Jz4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAg
ICAgICAgIGlmICh3aW5kb3cucGFyZW50Lmhhc093blByb3BlcnR5KCdvbl90ZXN0X2JvZHlfY3Jl
YXRlZCcpKQorICAgICAgICAgICAgICAgIHdpbmRvdy5wYXJlbnQub25fdGVzdF9ib2R5X2NyZWF0
ZWQoKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
aHJlZj0ibmVzdGVkLmNzcyI+PC9saW5rPgorICAgICAgICA8bGluayByZWw9InByZWZldGNoIiBo
cmVmPSJuZXN0ZWQuY3NzP2lkPXByZWZldGNoIj48L2xpbms+CisgICAgICAgIDxsaW5rIHJlbD0i
cHJlbG9hZCIgaHJlZj0ibmVzdGVkLmNzcz9pZD1wcmVsb2FkIiBhcz0ic3R5bGUiPjwvbGluaz4K
KyAgICAgICAgPGxpbmsgcmVsPSJwcmVyZW5kZXIiIGhyZWY9ImdyZWVuLmh0bWw/aWQ9cHJlcmVu
ZGVyIj48L2xpbms+CisgICAgICAgIDxsaW5rIHJlbD0ibWFuaWZlc3QiIGhyZWY9Im1hbmlmZXN0
Lmpzb24iPjwvbGluaz4KKyAgICAgICAgPGltZyBzcmM9InJlc291cmNlX3RpbWluZ190ZXN0MC5w
bmciPjwvaW1nPgorICAgICAgICA8aW1nIHNyYz0icmVzb3VyY2VfdGltaW5nX3Rlc3QwLnBuZz9p
ZD1zcmNzZXQtc3JjIgorICAgICAgICAgICAgc3Jjc2V0PSJyZXNvdXJjZV90aW1pbmdfdGVzdDAu
cG5nP2lkPXNyY3NldC1zcmNzZXQgNjd3IgorICAgICAgICAgICAgc2l6ZXM9IjY3cHgiPjwvaW1n
PgorICAgICAgICA8aWZyYW1lIHNyYz0iZ3JlZW4uaHRtbCIgd2lkdGg9IjEwMHB4IiBoZWlnaHQ9
IjEwMHB4Ij48L2lmcmFtZT4KKyAgICAgICAgPHNjcmlwdCBzcmM9ImVtcHR5X3NjcmlwdC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICB2YXIgYXN5bmNfeGhyID0g
bmV3IFhNTEh0dHBSZXF1ZXN0OworICAgICAgICAgICAgYXN5bmNfeGhyLm9wZW4oJ0dFVCcsICdi
bHVlLnBuZz9pZD1hc3luY194aHInLCB0cnVlKTsKKyAgICAgICAgICAgIGFzeW5jX3hoci5vbnJl
YWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICBpZiAoYXN5bmNf
eGhyLnJlYWR5U3RhdGUgPT0gNCAmJiBhc3luY194aHIuc3RhdHVzID09IDIwMCAmJiBwYXJlbnQu
aGFzT3duUHJvcGVydHkoJ29uX2FzeW5jX3hocl9kb25lJykpCisgICAgICAgICAgICAgICAgICAg
IHBhcmVudC5vbl9hc3luY194aHJfZG9uZSgpOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
YXN5bmNfeGhyLnNlbmQoKTsKKworICAgICAgICAgICAgaWYgKHdpbmRvdy5uYXZpZ2F0b3IgJiYg
bmF2aWdhdG9yLnNlbmRCZWFjb24pIHsKKyAgICAgICAgICAgICAgICBuYXZpZ2F0b3Iuc2VuZEJl
YWNvbignZW1wdHkucHk/aWQ9YmVhY29uJyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IGlmICh3aW5kb3cuZmV0Y2gpIHsKKyAgICAgICAgICAgICAgICBmZXRjaCgnZW1wdHkucHk/aWQ9
ZmV0Y2gnKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKHdpbmRvdy5FdmVudFNv
dXJjZSkgeworICAgICAgICAgICAgICAgIHZhciBldnRTb3VyY2UgPSBuZXcgRXZlbnRTb3VyY2Uo
J2V2ZW50c291cmNlLnB5P2lkPWV2ZW50c291cmNlJyk7CisgICAgICAgICAgICB9CisgICAgICAg
IDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICBAZm9udC1mYWNlIHsKKyAg
ICAgICAgICAgICAgICBmb250LWZhbWlseTogcmVtb3RlRm9udEFoZW07CisgICAgICAgICAgICAg
ICAgc3JjOiB1cmwoJy9mb250cy9BaGVtLnR0ZicpOworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgaWZyYW1lIHsKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2JsdWUucG5nP2lk
PTEnKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGJvZHkgeworICAgICAgICAgICAgICAg
IGN1cnNvcjogdXJsKCdibHVlLnBuZz9pZD1jdXJzb3InKSwgcG9pbnRlcjsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIHVsIHsKKyAgICAgICAgICAgICAgICBmb250LWZhbWlseTogcmVtb3Rl
Rm9udEFoZW07CisgICAgICAgICAgICAgICAgbGlzdC1zdHlsZS1pbWFnZTogdXJsKCdibHVlLnBu
Zz9pZD0yJyk7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgICAgIDx1bD4K
KyAgICAgICAgICAgIDxsaT5UZXN0PC9saT4KKyAgICAgICAgPC91bD4KKyAgICAgICAgPG9sPgor
ICAgICAgICAgICAgPGxpPlRlc3Q8L2xpPgorICAgICAgICA8L29sPgorICAgICAgICA8ZW1iZWQg
c3JjPSJyZXNvdXJjZV90aW1pbmdfdGVzdDAuY3NzP2lkPWVtYmVkIiB0eXBlPSJ0ZXh0L2NzcyI+
PC9lbWJlZD4KKyAgICAgICAgPGlucHV0IHR5cGU9ImltYWdlIiBzcmM9ImJsdWUucG5nP2lkPWlu
cHV0Ij48L2lucHV0PgorICAgICAgICA8b2JqZWN0IHR5cGU9ImltYWdlL3BuZyIgZGF0YT0iYmx1
ZS5wbmc/aWQ9b2JqZWN0Ij48L29iamVjdD4KKyAgICAgICAgPHZpZGVvIHBvc3Rlcj0iYmx1ZS5w
bmc/aWQ9dmlkZW8tcG9zdGVyIj48L3ZpZGVvPgorICAgICAgICA8dmlkZW8gc3JjPSIvbWVkaWEv
dGVzdC5tcDQ/aWQ9dmlkZW8tc3JjIiBhdXRvcGxheT0idHJ1ZSI+PC92aWRlbz4KKyAgICAgICAg
PHZpZGVvIGF1dG9wbGF5PSJ0cnVlIj4KKyAgICAgICAgICAgIDxzb3VyY2Ugc3JjPSIvbWVkaWEv
dGVzdC5tcDQ/aWQ9dmlkZW8tc291cmNlIiB0eXBlPSJ2aWRlby9tcDQiPgorICAgICAgICAgICAg
PHNvdXJjZSBzcmM9Ii9tZWRpYS90ZXN0Lm9ndj9pZD12aWRlby1zb3VyY2UiIHR5cGU9InZpZGVv
L29nZyI+CisgICAgICAgICAgICA8dHJhY2sga2luZD0ic3VidGl0bGVzIiBzcmM9ImVtcHR5LnB5
P2lkPXZpZGVvLXRyYWNrIiBzcmNsYW5nPSJlbiIgZGVmYXVsdD4KKyAgICAgICAgPC92aWRlbz4K
KyAgICAgICAgPGF1ZGlvIHNyYz0iZW1wdHkucHk/aWQ9YXVkaW8tc3JjIj48L2F1ZGlvPgorICAg
ICAgICA8YXVkaW8+CisgICAgICAgICAgICA8c291cmNlIHNyYz0iZW1wdHkucHk/aWQ9YXVkaW8t
c291cmNlLXdhdiIgdHlwZT0iYXVkaW8vd2F2IiAvPgorICAgICAgICAgICAgPHNvdXJjZSBzcmM9
ImVtcHR5LnB5P2lkPWF1ZGlvLXNvdXJjZS1tcGVnIiB0eXBlPSJhdWRpby9tcGVnIiAvPgorICAg
ICAgICAgICAgPHNvdXJjZSBzcmM9ImVtcHR5LnB5P2lkPWF1ZGlvLXNvdXJjZS1vZ2ciIHR5cGU9
ImF1ZGlvL29nZyIgLz4KKyAgICAgICAgPC9hdWRpbz4KKyAgICAgICAgPHN2ZyB3aWR0aD0yMDAg
aGVpZ2h0PTIwMAorICAgICAgICAgICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3Zn
IgorICAgICAgICAgICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsi
PgorICAgICAgICAgICAgPGltYWdlIGhyZWY9ImJsdWUucG5nP2lkPXN2Zy1pbWFnZSIgaGVpZ2h0
PSIyMDAiIHdpZHRoPSIyMDAiLz4KKyAgICAgICAgPC9zdmc+CisgICAgICAgIDxwaWN0dXJlPgor
ICAgICAgICAgICAgPHNvdXJjZSBzcmNzZXQ9ImJsdWUucG5nP2lkPXBpY3R1cmUtc291cmNlIiB0
eXBlPSJpbWFnZS9wbmciIC8+CisgICAgICAgICAgICA8aW1nIHNyYz0iYmx1ZS5wbmc/aWQ9cGlj
dHVyZS1pbWciIC8+CisgICAgICAgIDwvcGljdHVyZT4KKyAgICAgICAgPHBpY3R1cmU+CisgICAg
ICAgICAgICA8c291cmNlIHNyY3NldD0iYmx1ZS5wbmc/aWQ9cGljdHVyZS1ub3RzdXBwb3J0ZWQt
c291cmNlIiB0eXBlPSJpbWFnZS9ub3RzdXBwb3J0ZWQiIC8+CisgICAgICAgICAgICA8aW1nIHNy
Yz0iYmx1ZS5wbmc/aWQ9cGljdHVyZS1ub3RzdXBwb3J0ZWQtaW1nIiAvPgorICAgICAgICA8L3Bp
Y3R1cmU+CisgICAgICAgIDxwaWN0dXJlPgorICAgICAgICAgICAgPGltZyBzcmM9ImJsdWUucG5n
P2lkPXBpY3R1cmUtaW1nLXNyYyIKKyAgICAgICAgICAgICAgICBzcmNzZXQ9ImJsdWUucG5nP2lk
PXBpY3R1cmUtaW1nLXNyY3NldCIKKyAgICAgICAgICAgICAgICBzaXplcz0iNjdweCI+PC9pbWc+
CisgICAgICAgIDwvcGljdHVyZT4KKyAgICAgICAgPHBpY3R1cmU+CisgICAgICAgICAgICA8aW1n
IHNyYz0iYmx1ZS5wbmc/aWQ9cGljdHVyZS05OXgtaW1nLXNyYyIKKyAgICAgICAgICAgICAgICBz
cmNzZXQ9ImJsdWUucG5nP2lkPXBpY3R1cmUtOTl4LWltZy1zcmNzZXQgOTl4IgorICAgICAgICAg
ICAgICAgIHNpemVzPSI2N3B4Ij48L2ltZz4KKyAgICAgICAgPC9waWN0dXJlPgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9idWZmZXItZnVsbC11dGlsaXRp
ZXMuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzCmluZGV4IGUwYTRm
MGIxMDgwOTQ2NThiZTBhZWY0NTNiZjgyNmJmMDFjMjhmOTMuLjIxY2Q2MzNjZWQ5N2RiZjZjNzVl
YWUxMGJmZDk3YTI5NDJlNGJkNWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9idWZmZXItZnVs
bC11dGlsaXRpZXMuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2J1ZmZlci1mdWxsLXV0aWxpdGllcy5q
cwpAQCAtMTIsMTIgKzEyLDI3IEBAIGxldCB4aHJTY3JpcHQgPSBzcmMgPT4gewogICAgIHhoci5z
ZW5kKG51bGwpOwogfQogCi1sZXQgd2FpdEZvck5leHRUYXNrID0gKCkgPT4geworLy8gVGhpcyBz
Y3JpcHQgcmVsaWVzIG9uIHJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzLiBJbmNsdWRlIGl0
IGJlZm9yZSBpbiBvcmRlciBmb3IgdGhlIGJlbG93CisvLyBtZXRob2RzIHRvIHdvcmsgcHJvcGVy
bHkuCisKKy8vIFRoZSByZXNvdXJjZXMgdXNlZCB0byB0cmlnZ2VyIG5ldyBlbnRyaWVzLgorY29u
c3Qgc2NyaXB0UmVzb3VyY2VzID0gWworICAgICdyZXNvdXJjZXMvZW1wdHkuanMnLAorICAgICdy
ZXNvdXJjZXMvZW1wdHlfc2NyaXB0LmpzJywKKyAgICAncmVzb3VyY2VzL2VtcHR5LmpzP2lkJwor
XTsKKworY29uc3Qgd2FpdEZvck5leHRUYXNrID0gKCkgPT4gewogICAgIHJldHVybiBuZXcgUHJv
bWlzZShyZXNvbHZlID0+IHsKICAgICAgICAgc3RlcF90aW1lb3V0KHJlc29sdmUsIDApOwogICAg
IH0pOwogfTsKIAorY29uc3QgY2xlYXJCdWZmZXJBbmRTZXRTaXplID0gc2l6ZSA9PiB7CisgIHBl
cmZvcm1hbmNlLmNsZWFyUmVzb3VyY2VUaW1pbmdzKCk7CisgIHBlcmZvcm1hbmNlLnNldFJlc291
cmNlVGltaW5nQnVmZmVyU2l6ZShzaXplKTsKK30KKwogbGV0IHdhaXRVbnRpbENvbmRpdGlvbklz
TWV0ID0gY29uZCA9PiB7CiAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewogICAg
ICAgICBsZXQgY2hlY2tDb25kaXRpb24gPSBmdW5jdGlvbigpIHsKQEAgLTQ1LDI3ICs2MCw1NyBA
QCBsZXQgd2FpdEZvckV2ZW50VG9GaXJlID0gKCkgPT4gewogICAgIH0pOwogfTsKIAotbGV0IGNs
ZWFyQnVmZmVyQW5kU2V0U2l6ZSA9IHNpemUgPT4gewotICAgIHBlcmZvcm1hbmNlLmNsZWFyUmVz
b3VyY2VUaW1pbmdzKCk7Ci0gICAgcGVyZm9ybWFuY2Uuc2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJT
aXplKHNpemUpOwotfQorY29uc3QgZm9yY2VCdWZmZXJGdWxsRXZlbnQgPSBhc3luYyAoKSA9PiB7
CisgIGNsZWFyQnVmZmVyQW5kU2V0U2l6ZSgxKTsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5j
IHJlc29sdmUgPT4geworICAgIHBlcmZvcm1hbmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc291cmNl
dGltaW5nYnVmZmVyZnVsbCcsIHJlc29sdmUpOworICAgIC8vIExvYWQgMiByZXNvdXJjZXMgdG8g
ZW5zdXJlIG9ucmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIGlzIGZpcmVkLgorICAgIC8vIExvYWQg
dGhlbSBpbiBvcmRlciBpbiBvcmRlciB0byBnZXQgdGhlIGVudHJpZXMgaW4gdGhhdCBvcmRlciEK
KyAgICBhd2FpdCBsb2FkLnNjcmlwdChzY3JpcHRSZXNvdXJjZXNbMF0pOworICAgIGF3YWl0IGxv
YWQuc2NyaXB0KHNjcmlwdFJlc291cmNlc1sxXSk7CisgIH0pOworfTsKIAotbGV0IGZpbGxVcFRo
ZUJ1ZmZlcldpdGhTaW5nbGVSZXNvdXJjZSA9IHNyYyA9PiB7Ci0gICAgcmV0dXJuIG5ldyBQcm9t
aXNlKHJlc29sdmUgPT4gewotICAgICAgICAvLyBUaGlzIHJlc291cmNlIGdldHMgYnVmZmVyZWQg
aW4gdGhlIHJlc291cmNlIHRpbWluZyBlbnRyeSBidWZmZXIuCi0gICAgICAgIGFwcGVuZFNjcmlw
dChzcmMsIHJlc29sdmUpOwotICAgIH0pOworY29uc3QgZmlsbFVwVGhlQnVmZmVyV2l0aFNpbmds
ZVJlc291cmNlID0gYXN5bmMgKHNyYyA9IHNjcmlwdFJlc291cmNlc1swXSkgPT4geworICBjbGVh
ckJ1ZmZlckFuZFNldFNpemUoMSk7CisgIGF3YWl0IGxvYWQuc2NyaXB0KHNyYyk7CiB9OwogCi1s
ZXQgbG9hZFJlc291cmNlID0gc3JjID0+IHsKLSAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2
ZSA9PiB7Ci0gICAgICAgIGFwcGVuZFNjcmlwdChzcmMsIHJlc29sdmUpOwotICAgIH0pOworY29u
c3QgZmlsbFVwVGhlQnVmZmVyV2l0aFR3b1Jlc291cmNlcyA9IGFzeW5jICgpID0+IHsKKyAgICBj
bGVhckJ1ZmZlckFuZFNldFNpemUoMik7CisgICAgLy8gTG9hZCB0aGVtIGluIG9yZGVyIGluIG9y
ZGVyIHRvIGdldCB0aGUgZW50cmllcyBpbiB0aGF0IG9yZGVyIQorICAgIGF3YWl0IGxvYWQuc2Ny
aXB0KHNjcmlwdFJlc291cmNlc1swXSk7CisgICAgYXdhaXQgbG9hZC5zY3JpcHQoc2NyaXB0UmVz
b3VyY2VzWzFdKTsKIH07CiAKLWxldCBmaWxsVXBUaGVCdWZmZXJXaXRoVHdvUmVzb3VyY2VzID0g
YXN5bmMgc3JjID0+IHsKLSAgICAvLyBUaGVzZSByZXNvdXJjZXMgZ2V0IGJ1ZmZlcmVkIGluIHRo
ZSByZXNvdXJjZSB0aW1pbmcgZW50cnkgYnVmZmVyLgotICAgIGF3YWl0IGxvYWRSZXNvdXJjZShz
cmMpOwotICAgIGF3YWl0IGxvYWRSZXNvdXJjZShzcmMgKyAnP3NlY29uZCcpOworY29uc3QgYWRk
QXNzZXJ0VW5yZWFjaGVkQnVmZmVyRnVsbCA9IHQgPT4geworICBwZXJmb3JtYW5jZS5hZGRFdmVu
dExpc3RlbmVyKCdyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwnLCB0LnN0ZXBfZnVuYygoKSA9PiB7
CisgICAgYXNzZXJ0X3VucmVhY2hlZCgicmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIHNob3VsZCBu
b3QgZmlyZSIpCisgIH0pKTsKIH07CiAKK2NvbnN0IGNoZWNrRW50cmllcyA9IG51bUVudHJpZXMg
PT4geworICBjb25zdCBlbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncmVz
b3VyY2UnKTsKKyAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgbnVtRW50cmllcywKKyAg
ICAgICdOdW1iZXIgb2YgZW50cmllcyBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgdmFsdWUu
Jyk7CisgIGFzc2VydF90cnVlKGVudHJpZXNbMF0ubmFtZS5pbmNsdWRlcyhzY3JpcHRSZXNvdXJj
ZXNbMF0pLAorICAgICAgc2NyaXB0UmVzb3VyY2VzWzBdICsgIiBpcyBpbiB0aGUgZW50cmllcyBi
dWZmZXIiKTsKKyAgaWYgKGVudHJpZXMubGVuZ3RoID4gMSkgeworICAgIGFzc2VydF90cnVlKGVu
dHJpZXNbMV0ubmFtZS5pbmNsdWRlcyhzY3JpcHRSZXNvdXJjZXNbMV0pLAorICAgICAgICBzY3Jp
cHRSZXNvdXJjZXNbMV0gKyAiIGlzIGluIHRoZSBlbnRyaWVzIGJ1ZmZlciIpOworICB9CisgIGlm
IChlbnRyaWVzLmxlbmd0aCA+IDIpIHsKKyAgICBhc3NlcnRfdHJ1ZShlbnRyaWVzWzJdLm5hbWUu
aW5jbHVkZXMoc2NyaXB0UmVzb3VyY2VzWzJdKSwKKyAgICAgICAgc2NyaXB0UmVzb3VyY2VzWzJd
ICsgIiBpcyBpbiB0aGUgZW50cmllcyBidWZmZXIiKTsKKyAgfQorfQorCitjb25zdCBidWZmZXJG
dWxsRmlyZVByb21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgcGVyZm9ybWFuY2Uu
YWRkRXZlbnRMaXN0ZW5lcigncmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsJywgYXN5bmMgKCkgPT4g
eworICAgIC8vIFdhaXQgZm9yIHRoZSBuZXh0IHRhc2sganVzdCB0byBlbnN1cmUgdGhhdCBhbGwg
YnVmZmVyZnVsbCBldmVudHMgaGF2ZSBmaXJlZCwgYW5kIHRvIGVuc3VyZQorICAgIC8vIHRoYXQg
dGhlIHNlY29uZGFyeSBidWZmZXIgaXMgY29waWVkIChhcyB0aGlzIGlzIGFuIGV2ZW50LCB0aGVy
ZSBtYXkgYmUgbWljcm90YXNrIGNoZWNrcG9pbnRzCisgICAgLy8gcmlnaHQgYWZ0ZXIgcnVubmlu
ZyBhbiBldmVudCBoYW5kbGVyKS4KKyAgICBhd2FpdCB3YWl0Rm9yTmV4dFRhc2soKTsKKyAgICBy
ZXNvbHZlKCk7CisgIH0pOworfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvY2FjaGVhYmxl
LWFuZC12YWxpZGF0ZWQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvY2FjaGVhYmxlLWFuZC12YWxpZGF0ZWQu
cHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMzFmMGUzYWI0MTdhNjkwNzlmMjA3NDg3NTFiMmQ2YmU5YTdkNTU1Mgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jYWNoZWFibGUtYW5kLXZhbGlkYXRlZC5w
eQpAQCAtMCwwICsxLDExIEBACitkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CisgICAgcmV2
YWxpZGF0aW9uID0gJ0NhY2hlLUNvbnRyb2wnIGluIHJlcXVlc3QuaGVhZGVycworICAgIGNvbnRl
bnQgPSByZXF1ZXN0LkdFVC5maXJzdChiJ2NvbnRlbnQnKQorICAgIHJlc3BvbnNlLmhlYWRlcnMu
c2V0KGInQ2FjaGUtQ29udHJvbCcsIGInbWF4LWFnZT02MCcpCisgICAgcmVzcG9uc2UuaGVhZGVy
cy5zZXQoYidFVGFnJywgYidhc3NkZnNkZmUnKQorICAgIGlmIHJldmFsaWRhdGlvbjoKKyAgICAg
IHJlc3BvbnNlLnN0YXR1cyA9ICgzMDQsIGInTm90TW9kaWZpZWQnKQorICAgIGVsc2U6CisgICAg
ICByZXNwb25zZS5zdGF0dXMgPSAoMjAwLCBiJ09LJyk7CisgICAgICByZXNwb25zZS53cml0ZV9z
dGF0dXNfaGVhZGVycygpCisgICAgICByZXNwb25zZS53cml0ZXIud3JpdGUoY29udGVudCk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9yZXNvdXJjZXMvY29ubmVjdGlvbi1yZXVzZS10ZXN0LmpzIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVz
b3VyY2VzL2Nvbm5lY3Rpb24tcmV1c2UtdGVzdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZGVmMTZjMGIwZWM5
MDQ3ZjZmMjIyMDdiZmUxOTkzMzAyMjk4NjQxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2VzL2Nvbm5lY3Rpb24tcmV1c2UtdGVzdC5qcwpAQCAtMCwwICsxLDcwIEBACisvLyBUaGlzIHNj
cmlwdCBpcyBsb2FkZWQgaW4gSFRUUCBhbmQgSFRUUFMgY29udGV4dHMgdG8gdmFsaWRhdGUKKy8v
IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgZW50cmllcycgYXR0cmlidXRlcyB3aGVuIHJldXNp
bmcgY29ubmVjdGlvbnMuCisKKy8vIE1ha2UgdGhlIGZpcnN0IHJlcXVlc3QgYmVmb3JlIGNhbGxp
bmcgJ2F0dHJpYnV0ZV90ZXN0JyBzbyB0aGF0IG9ubHkgdGhlCisvLyBzZWNvbmQgcmVxdWVzdCdz
IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgZW50cnkgd2lsbCBiZSBpbnRlcnJvZ2F0ZWQuCisv
LyBXZSBkb24ndCBjaGVjayB0aGUgZmlyc3QgcmVxdWVzdCdzIFBlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmcgZW50cnkgYmVjYXVzZQorLy8gdGhhdCdzIG5vdCB3aGF0IHRoaXMgdGVzdCBpcyB0cnlp
bmcgdG8gdmFsaWRhdGUuCisvLworLy8gTm90ZTogdG8gZW5zdXJlIHRoYXQgd2UgcmV1c2UgdGhl
IGNvbm5lY3Rpb24gdG8gZmV0Y2ggbXVsdGlwbGUgcmVzb3VyY2VzLAorLy8gd2UgdXNlIHRoZSBz
YW1lIFhNTEh0dHBSZXF1ZXN0IG9iamVjdCBmb3IgZWFjaCByZXF1ZXN0LiBBbHRob3VnaCBpdCBk
b2Vzbid0CisvLyBzZWVtIHRvIGJlIHNwZWNpZmllZCwgZWFjaCBicm93c2VyIHRlc3RlZCBieSBX
UFQgd2lsbCByZXVzZSB0aGUgdW5kZXJseWluZworLy8gVENQIGNvbm5lY3Rpb24gd2l0aCB0aGlz
IGFwcHJvYWNoLiBQcmUtZXN0YWJsaXNoaW5nIHRoZSBYSFIncyBjb25uZWN0aW9uCisvLyBoZWxw
cyB1cyB0byB0ZXN0IGNvbm5lY3Rpb24gcmV1c2UgYWxzbyBpbiBicm93c2VycyB0aGF0IG1heSBr
ZXkgdGhlaXIKKy8vIGNvbm5lY3Rpb25zIG9uIHRoZSByZWxhdGVkIHJlcXVlc3QncyBjcmVkZW50
aWFscyBtb2RlLgorY29uc3QgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7Citjb25zdCBp
ZGVudGlmaWVyID0gTWF0aC5yYW5kb20oKTsKK2NvbnN0IHBhdGggPSBgcmVzb3VyY2VzL2Zha2Vf
cmVzcG9uc2VzLnB5P3RhZz0ke2lkZW50aWZpZXJ9YDsKK2NsaWVudC5vcGVuKCJHRVQiLCBwYXRo
LCBmYWxzZSk7CitjbGllbnQuc2VuZCgpOworCithdHRyaWJ1dGVfdGVzdCgKKyAgYXN5bmMgKCkg
PT4geworICAgIGNsaWVudC5vcGVuKCJHRVQiLCBwYXRoICsgIiZzYW1lX3Jlc291cmNlPWZhbHNl
IiwgZmFsc2UpOworICAgIGNsaWVudC5zZW5kKCk7CisKKyAgICAvLyBXZSBleHBlY3QgdG8gZ2V0
IGEgMjAwIE9rIHJlc3BvbnNlIGJlY2F1c2Ugd2UndmUgcmVxdWVzdGVkIGEgZGlmZmVyZW50Cisg
ICAgLy8gcmVzb3VyY2UgdGhhbiBwcmV2aW91cyByZXF1ZXN0cy4KKyAgICBpZiAoY2xpZW50LnN0
YXR1cyAhPSAyMDApIHsKKyAgICAgIHRocm93IG5ldyBFcnJvcihgR290IHNvbWV0aGluZyBvdGhl
ciB0aGFuIGEgMjAwIHJlc3BvbnNlLiBgICsKKyAgICAgICAgICAgICAgICAgICAgICBgY2xpZW50
LnN0YXR1czogJHtjbGllbnQuc3RhdHVzfWApOworICAgIH0KKyAgfSwgcGF0aCwgZW50cnkgPT4g
eworICAgIGludmFyaWFudHMuYXNzZXJ0X2Nvbm5lY3Rpb25fcmV1c2VkKGVudHJ5KTsKKworICAg
IC8vIFRoZSBlbnRyeSBtdXN0IGFsc28gZm9sbG93IHRoZSBzcGVjaWZpY2F0aW9uIGZvciBhbnkg
ZW50cnkgY29ycmVzcG9uZGluZworICAgIC8vIHRvIGEgJ3R5cGljYWwnIDIwMCBPayByZXNwb25z
ZS4KKyAgICBpZiAoc2VsZi5sb2NhdGlvbi5wcm90b2NvbCA9PSAnaHR0cHM6JykgeworICAgICAg
aW52YXJpYW50cy5hc3NlcnRfdGFvX3Bhc3Nfbm9fcmVkaXJlY3RfaHR0cHMoZW50cnkpOworICAg
IH0gZWxzZSB7CisgICAgICBpbnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc19ub19yZWRpcmVjdF9o
dHRwKGVudHJ5KTsKKyAgICB9CisgIH0sCisgICJQZXJmb3JtYW5jZVJlc3JvdWNlVGltaW5nIGVu
dHJpZXMgbmVlZCB0byBjb25mb3JtIHRvIHRoZSBzcGVjIHdoZW4gYSAiICsKKyAgImRpc3RpbmN0
IHJlc291cmNlIGlzIGZldGNoZWQgb3ZlciBhIHBlcnNpc3RlbnQgY29ubmVjdGlvbiIpOworCith
dHRyaWJ1dGVfdGVzdCgKKyAgYXN5bmMgKCkgPT4geworICAgIGNsaWVudC5vcGVuKCJHRVQiLCBw
YXRoLCBmYWxzZSk7CisgICAgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2gi
LCBpZGVudGlmaWVyKTsKKyAgICBjbGllbnQuc2VuZCgpOworCisgICAgLy8gV2UgZXhwZWN0IHRv
IGdldCBhIDMwNCBOb3QgTW9kaWZpZWQgcmVzcG9uc2UgYmVjYXVzZSB3ZSd2ZSB1c2VkIGEKKyAg
ICAvLyBtYXRjaGluZyAnaWRlbnRpZmllcicgZm9yIHRoZSBJZi1Ob25lLU1hdGNoIGhlYWRlci4K
KyAgICBpZiAoY2xpZW50LnN0YXR1cyAhPSAzMDQpIHsKKyAgICAgIHRocm93IG5ldyBFcnJvcihg
R290IHNvbWV0aGluZyBvdGhlciB0aGFuIGEgMzA0IHJlc3BvbnNlLiBgICsKKyAgICAgICAgICAg
ICAgICAgICAgICBgY2xpZW50LnN0YXR1czogJHtjbGllbnQuc3RhdHVzfWApOworICAgIH0KKyAg
fSwgcGF0aCwgZW50cnkgPT4geworICAgIGludmFyaWFudHMuYXNzZXJ0X2Nvbm5lY3Rpb25fcmV1
c2VkKGVudHJ5KTsKKworICAgIC8vIFRoZSBlbnRyeSBtdXN0IGFsc28gZm9sbG93IHRoZSBzcGVj
aWZpY2F0aW9uIGZvciBhbnkgZW50cnkgY29ycmVzcG9uZGluZworICAgIC8vIHRvIGEgJ3R5cGlj
YWwnIDMwNCBOb3QgTW9kaWZpZWQgcmVzcG9uc2UuCisgICAgaWYgKHNlbGYubG9jYXRpb24ucHJv
dG9jb2wgPT0gJ2h0dHBzOicpIHsKKyAgICAgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzXzMw
NF9ub3RfbW9kaWZpZWRfaHR0cHMoZW50cnkpOworICAgIH0gZWxzZSB7CisgICAgICBpbnZhcmlh
bnRzLmFzc2VydF90YW9fcGFzc18zMDRfbm90X21vZGlmaWVkX2h0dHAoZW50cnkpOworICAgIH0K
KyAgfSwKKyAgIlBlcmZvcm1hbmNlUmVzcm91Y2VUaW1pbmcgZW50cmllcyBuZWVkIHRvIGNvbmZv
cm0gdG8gdGhlIHNwZWMgd2hlbiB0aGUgIiArCisgICJyZXNvdXJjZSBpcyBjYWNoZS1yZXZhbGlk
YXRlZCBvdmVyIGEgcGVyc2lzdGVudCBjb25uZWN0aW9uIik7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZXMvY3NwLWRlZmF1bHQtbm9uZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NzcC1kZWZhdWx0LW5v
bmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xZjU5ZDhjMjI1MGY3ZjE3ZjE0Mzg4N2RjNGY4ZTY4Y2RmN2Zh
YTgzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NzcC1kZWZhdWx0LW5vbmUuaHRt
bApAQCAtMCwwICsxLDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPHRpdGxlPmVtcHR5IHBhZ2U8L3RpdGxlPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2Nz
cC1kZWZhdWx0LW5vbmUuaHRtbC5oZWFkZXJzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NzcC1kZWZhdWx0LW5v
bmUuaHRtbC5oZWFkZXJzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2NmY4ODZkZDIzZDQ0YmIzMzc1MGNiNTcyM2Yz
ZWRiNmI3OTMwYWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvY3NwLWRlZmF1bHQt
bm9uZS5odG1sLmhlYWRlcnMKQEAgLTAsMCArMSwyIEBACitDb250ZW50LVNlY3VyaXR5LVBvbGlj
eTogZGVmYXVsdC1zcmMgJ25vbmUnCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVu
dC1kb21haW4tbm8taW1wYWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZG9jdW1lbnQtZG9tYWluLW5v
LWltcGFjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY0Y2RkOGE4NzAxZWI0ZDc0OWYxMTJhZDQwMTVkNGU1
Nzc5Yjc3YjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZG9jdW1lbnQtZG9tYWlu
LW5vLWltcGFjdC5odG1sCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZS1sb2FkZXJz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJlbnRyeS1pbnZhcmlhbnRzLmpzIj48L3Njcmlw
dD4KKzxib2R5PgorPHNjcmlwdD4KK2NvbnN0IHBhdGggPSBsb2NhdGlvbi5vcmlnaW4gKworICAg
ICAgICAgICAgICIvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9pZnJhbWUtc2V0ZG9tYWluLnN1
Yi5odG1sIjsKK2F0dHJpYnV0ZV90ZXN0X3dpdGhfdmFsaWRhdG9yKGxvYWQuaWZyYW1lLCBwYXRo
LAorICBlbCA9PiB7CisgICAgdHJ5IHsKKyAgICAgIGVsLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7
CisgICAgICB0aHJvdyBuZXcgRXJyb3IoImlmcmFtZSBkb2N1bWVudC5kb21haW4gd2FzIG5vdCBz
ZXQiKTsKKyAgICB9IGNhdGNoKGVycm9yKSB7CisgICAgICBpZiAoZXJyb3IubmFtZSAhPSAiU2Vj
dXJpdHlFcnJvciIpIHsKKyAgICAgICAgdGhyb3coZXJyb3IpOworICAgICAgfQorICAgIH0KKyAg
fSwKKyAgaW52YXJpYW50cy5hc3NlcnRfdGFvX3Bhc3Nfbm9fcmVkaXJlY3RfaHR0cCwKKyAgInRl
c3QgdGhhdCBkb2N1bWVudC5kb21haW4gYmVpbmcgc2V0IGRvZXNuJ3QgaGF2ZSBhbiBpbXBhY3Qg
b24gdGhlICIgKworICAicmVzb3VyY2UgdGltaW5nIGVudHJ5LiIKKyk7Cis8L3NjcmlwdD4KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2RvY3VtZW50LXJlZnJlc2hlZC5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVz
b3VyY2VzL2RvY3VtZW50LXJlZnJlc2hlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlNGNhMDk4OTFlZDM1
ZTI0NGIxNTE1MWEyYTYwNzdhZjc0ZTg2NWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZXMvZG9jdW1lbnQtcmVmcmVzaGVkLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8L2hlYWQ+Cis8
Ym9keT4KKyAgICBSZWZyZXNoZWQgZG9jdW1lbnQhCis8c2NyaXB0PgorICAgIHRvcC5wb3N0TWVz
c2FnZSgicmVmcmVzaGVkIiwgIioiKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvcmVzb3VyY2VzL2RvY3VtZW50LXRoYXQtcmVmcmVzaGVzLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvZG9jdW1lbnQtdGhhdC1yZWZyZXNoZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NTUyMjc4
MmE2MmRiZTNiOThiMmYxYTA5YzViYWJjNzA2M2I3NTEwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL2RvY3VtZW50LXRoYXQtcmVmcmVzaGVzLmh0bWwKQEAgLTAsMCArMSw4IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4K
KzxtZXRhIGh0dHAtZXF1aXY9InJlZnJlc2giIGNvbnRlbnQ9IjA7ZG9jdW1lbnQtcmVmcmVzaGVk
Lmh0bWwiPgorPC9oZWFkPgorPGJvZHk+PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL2VtYmVkLXJlZnJlc2guaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9lbWJlZC1yZWZyZXNo
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNGE0OWZkMGI0YzFiNTRjMGYwMzIwMGY3ZWQyY2IyYWUyNzIzOTc4
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9lbWJlZC1yZWZyZXNoLmh0bWwKQEAg
LTAsMCArMSwxNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nIGVtYmVkIHJlZnJlc2g8L3Rp
dGxlPgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Im5lc3RlZC1jb250ZXh0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
ICAgIHNldHVwX3JlZnJlc2hfdGVzdCgpOworPC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4K
KzxlbWJlZCB0eXBlPSJ0ZXh0L2h0bWwiPgorPHNjcmlwdD4KKyAgICBkb2N1bWVudC5nZXRFbGVt
ZW50c0J5VGFnTmFtZSgiZW1iZWQiKVswXS5zcmMgPSBwcmVfcmVmcmVzaF91cmw7Cis8L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi1mcmFtZS5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2VzL2dyZWVuLWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTYxMzI0MGFlMzg3ODlhMTA0ZDc3ZDU2
Zjg5MGZmNjI0MjA5MzRiMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi1m
cmFtZS5odG1sCkBAIC0wLDAgKzEsNyBAQAorPGh0bWw+CisgIDxoZWFkPgorICAgIDxmcmFtZXNl
dD4KKyAgICAgIDxmcmFtZSBzcmM9ImdyZWVuLmh0bWw/aWQ9ZnJhbWUiPgorICAgIDwvZnJhbWVz
ZXQ+CisgIDwvaGVhZD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvcmVzb3VyY2VzL2dyZWVuLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjhhMTk0N2I3N2UyNWFj
NmIwZDEwMGM3NTkzMmU4YzBhNjdkODQ2ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
cy9ncmVlbi5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYt
OCIgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiAvPgorICAgICAgICA8dGl0bGU+R3JlZW4gVGVz
dCBQYWdlPC90aXRsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgc3R5bGU9ImJhY2tncm91bmQt
Y29sb3I6IzAwRkYwMDsiPgorICAgICAgICA8aDE+UGxhY2Vob2xkZXI8L2gxPgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi5odG1sLmhlYWRlcnMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvZ3JlZW4uaHRtbC5oZWFkZXJzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiNzYyZWZmODA2
ODQ5ZGY0NmRjNzU4ZWY3Yjk4YjYzZjI3ZjU0YzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZXMvZ3JlZW4uaHRtbC5oZWFkZXJzCkBAIC0wLDAgKzEgQEAKK0FjY2Vzcy1Db250cm9sLUFs
bG93LU9yaWdpbjogKgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2d6aXBfeG1sLnB5IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL2d6aXBfeG1sLnB5CmluZGV4IDIyOTM2MDVhYzMzYTRkMzU3YTQyNmNkZTEzOWJi
N2Q0NGU0ZTBjYjMuLjdkZWJjOWNlM2Y2Y2IwNjFiZThjYTM3YjczZmNmOWYyYTUzOTYzODkgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlcy9nemlwX3htbC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3pp
cF94bWwucHkKQEAgLTEsNyArMSw3IEBACiBpbXBvcnQgZ3ppcCBhcyBnemlwX21vZHVsZQogaW1w
b3J0IG9zCiAKLWZyb20gc2l4IGltcG9ydCBCeXRlc0lPCitmcm9tIGlvIGltcG9ydCBCeXRlc0lP
CiAKIGZyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0IGlzb21vcnBoaWNfZGVjb2RlCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy9pZnJhbWUtcmVmcmVzaC5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2lm
cmFtZS1yZWZyZXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGNlM2VhMDQyNDI5N2FjN2E4NjY0ZmM3Zjdh
NmRjYmZmNjRkNmYxNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9pZnJhbWUtcmVm
cmVzaC5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZyBpZnJh
bWUgcmVmcmVzaDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1
Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ibmVzdGVkLWNvbnRleHRzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQ+CisgICAgc2V0dXBfcmVmcmVzaF90ZXN0KCk7Cis8L3NjcmlwdD4KKzxkaXYg
aWQ9bG9nPjwvZGl2PgorPGlmcmFtZT48L2lmcmFtZT4KKzxzY3JpcHQ+CisgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoImlmcmFtZSIpWzBdLnNyYyA9IHByZV9yZWZyZXNoX3VybDsK
Kzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2lmcmFtZS1yZWxvYWQtVEFPLnN1
Yi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvcmVzb3VyY2VzL2lmcmFtZS1yZWxvYWQtVEFPLnN1Yi5odG1sCmluZGV4IDI1
NjgwMjZlNjRlZGI4NGU1NzRlNWMxYjA2ZjMyM2NiMzU4OWI5OTIuLjU3N2FmZjc3NThjNzc5ODkz
ZjAxMDY1OGQyMTZmMzQ4MDJhNGVkZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9pZnJhbWUt
cmVsb2FkLVRBTy5zdWIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvaWZyYW1lLXJlbG9hZC1UQU8u
c3ViLmh0bWwKQEAgLTEsMTQgKzEsMTQgQEAKIDxzdHlsZT4KIEBmb250LWZhY2UgewogICAgIGZv
bnQtZmFtaWx5OiBhaGVtOwotICAgIHNyYzogdXJsKGh0dHA6Ly97e2hvc3RzW2FsdF1bXX19Ont7
cG9ydHNbaHR0cF1bMV19fS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NvcnMtYWhlbS5weSk7
CisgICAgc3JjOiB1cmwoaHR0cDovL3t7ZG9tYWluc1t3d3ddfX06e3twb3J0c1todHRwXVsxXX19
L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvY29ycy1haGVtLnB5KTsKIH0KIDwvc3R5bGU+CiA8
ZGl2IHN0eWxlPSJmb250LWZhbWlseTogYWhlbTsiPlRoaXMgZmV0Y2hlcyBhaGVtIGZvbnQuPC9k
aXY+CiA8c2NyaXB0PgogICBpZiAobG9jYXRpb24uaGFzaCA9PT0gJyNjaGVjaycpIHsKICAgICAg
IGRvY3VtZW50LmZvbnRzLnJlYWR5LnRoZW4oKCk9PiB7Ci0gICAgICAgIGNvbnN0IGVudHJpZXMg
PSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCdodHRwOi8ve3tob3N0c1thbHRdW119fTp7
e3BvcnRzW2h0dHBdWzFdfX0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jb3JzLWFoZW0ucHkn
KTsKKyAgICAgICAgY29uc3QgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUo
J2h0dHA6Ly97e2RvbWFpbnNbd3d3XX19Ont7cG9ydHNbaHR0cF1bMV19fS9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VzL2NvcnMtYWhlbS5weScpOwogICAgICAgICBpZiAoZW50cmllcy5sZW5ndGgg
IT0gMSkKICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGNvbnN0IGVudHJ5ID0gZW50cmllc1sw
XTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9tdWx0aV9yZWRpcmVjdC5weSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy9tdWx0aV9yZWRpcmVjdC5weQppbmRleCA1NmY1ZDZjNzcxNTNhNTU5OGFlZTBjNjc5NWZi
OTA5YzNmZGNkZGJmLi5hNWZjNWRiNGFjOTAxNTkxNDkwOGJhMmNjZWVjMTg5ZjlkMzI3NGQwIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9yZXNvdXJjZXMvbXVsdGlfcmVkaXJlY3QucHkKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2VzL211bHRpX3JlZGlyZWN0LnB5CkBAIC0xLDMgKzEsNCBAQAoraW1wb3J0IHVybGxpYi5wYXJz
ZQogZnJvbSB3cHRzZXJ2ZS51dGlscyBpbXBvcnQgaXNvbW9ycGhpY19lbmNvZGUKIAogZGVmIG1h
aW4ocmVxdWVzdCwgcmVzcG9uc2UpOgpAQCAtMzcsNyArMzgsNyBAQCBkZWYgbWFpbihyZXF1ZXN0
LCByZXNwb25zZSk6CiAgICAgcmVkaXJlY3RfdXJsX3BhdGggPSBiIi9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL211bHRpX3JlZGlyZWN0LnB5PyIKICAgICByZWRpcmVjdF91cmxfcGF0aCArPSBi
InBhZ2Vfb3JpZ2luPSIgKyBwYWdlX29yaWdpbgogICAgIHJlZGlyZWN0X3VybF9wYXRoICs9IGIi
JmNyb3NzX29yaWdpbj0iICsgY3Jvc3Nfb3JpZ2luCi0gICAgcmVkaXJlY3RfdXJsX3BhdGggKz0g
YiImZmluYWxfcmVzb3VyY2U9IiArIGZpbmFsX3Jlc291cmNlCisgICAgcmVkaXJlY3RfdXJsX3Bh
dGggKz0gYiImZmluYWxfcmVzb3VyY2U9IiArIHVybGxpYi5wYXJzZS5xdW90ZShmaW5hbF9yZXNv
dXJjZSkuZW5jb2RlKCdhc2NpaScpCiAgICAgcmVkaXJlY3RfdXJsX3BhdGggKz0gYiImdGFvX3Zh
bHVlPSIgKyB0YW9fdmFsdWUKICAgICByZWRpcmVjdF91cmxfcGF0aCArPSBiIiZ0YW9fc3RlcHM9
IiArIGlzb21vcnBoaWNfZW5jb2RlKHN0cihuZXh0X3Rhb19zdGVwcykpCiAgICAgcmVkaXJlY3Rf
dXJsX3BhdGggKz0gYiImc3RlcD0iCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvb2JqZWN0LXJl
ZnJlc2guaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9vYmplY3QtcmVmcmVzaC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjllNDNlMTlkZTE5ZmM3YzM2NGU2OGUwYjI0MTU5NjNmNTVlOWRkYjIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvb2JqZWN0LXJlZnJlc2guaHRtbApAQCAtMCwwICsxLDE1IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4K
Kzx0aXRsZT5SZXNvdXJjZSBUaW1pbmcgb2JqZWN0IHJlZnJlc2g8L3RpdGxlPgorPHNjcmlwdCBz
cmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Im5lc3RlZC1jb250ZXh0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICAgIHNldHVwX3JlZnJl
c2hfdGVzdCgpOworPC9zY3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4KKzxvYmplY3QgdHlwZT0i
dGV4dC9odG1sIj48L29iamVjdD4KKzxzY3JpcHQ+CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNC
eVRhZ05hbWUoIm9iamVjdCIpWzBdLmRhdGEgPSBwcmVfcmVmcmVzaF91cmw7Cis8L3NjcmlwdD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9yZWRpcmVjdC1jb3JzLnB5IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vz
L3JlZGlyZWN0LWNvcnMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWE2N2NiOGU3YWM0ZTYxMDQ1ZDA1YWY1MWYw
NjZkYjQ4YmZkZjEwMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9yZWRpcmVjdC1j
b3JzLnB5CkBAIC0wLDAgKzEsMTAgQEAKK2RlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKKyAg
ICBsb2NhdGlvbiA9IHJlcXVlc3QuR0VULmZpcnN0KGIibG9jYXRpb24iKQorICAgIHJlc3BvbnNl
LnN0YXR1cyA9IDMwMgorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiTG9jYXRpb24iLCBsb2Nh
dGlvbikKKworICAgIGlmIGIiYWxsb3dfb3JpZ2luIiBpbiByZXF1ZXN0LkdFVDoKKyAgICAgICAg
cmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCByZXF1
ZXN0LkdFVC5maXJzdChiImFsbG93X29yaWdpbiIpKQorCisgICAgaWYgYiJ0aW1pbmdfYWxsb3df
b3JpZ2luIiBpbiByZXF1ZXN0LkdFVDoKKyAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJU
aW1pbmctQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5HRVQuZmlyc3QoYiJ0aW1pbmdfYWxsb3dfb3Jp
Z2luIikpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVzb3VyY2UtdGltaW5nLWNvbnRlbnQt
bGVuZ3RoLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3Jlc291cmNlLXRpbWluZy1jb250ZW50LWxlbmd0aC5w
eQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42ZGJjZTA0N2I3MmVmMDU5NzZkNTI5NmVhMzg5NjFlMjA1YTBmMDRlCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3Jlc291cmNlLXRpbWluZy1jb250ZW50LWxl
bmd0aC5weQpAQCAtMCwwICsxLDE5IEBACitkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6Cisg
ICAgY29udGVudCA9IHJlcXVlc3QuR0VULmZpcnN0KGIiY29udGVudCIpCisgICAgbGVuZ3RoID0g
cmVxdWVzdC5HRVQuZmlyc3QoYiJsZW5ndGgiKS5kZWNvZGUoImFzY2lpIikKKyAgICByZXNwb25z
ZS5hZGRfcmVxdWlyZWRfaGVhZGVycyA9IEZhbHNlCisKKyAgICBvdXRwdXQgPSAgYiJIVFRQLzEu
MSAyMDAgT0tcclxuIgorICAgIG91dHB1dCArPSBiIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjtj
aGFyc2V0PVVURi04XHJcbiIKKyAgICBpZiBsZW5ndGggPT0gYiJhdXRvIiA6CisgICAgICAgIG91
dHB1dCArPSBiIkNvbnRlbnQtTGVuZ3RoOiIKKyAgICAgICAgb3V0cHV0ICs9ICJ7MH0iLmZvcm1h
dChsZW4oY29udGVudCkpLmVuY29kZSgiYXNjaWkiKQorICAgICAgICBvdXRwdXQgKz0gYiJcclxu
IgorICAgIGVsaWYgbGVuZ3RoICE9IGIibm9uZSIgOgorICAgICAgICBvdXRwdXQgKz0gYiJDb250
ZW50LUxlbmd0aDoiCisgICAgICAgIG91dHB1dCArPSAiezB9Ii5mb3JtYXQobGVuZ3RoKS5lbmNv
ZGUoImFzY2lpIikKKyAgICAgICAgb3V0cHV0ICs9IGIiXHJcbiIKKyAgICBvdXRwdXQgKz0gYiJc
clxuIgorICAgIG91dHB1dCArPSBjb250ZW50CisgICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlKG91
dHB1dCkKKyAgICByZXNwb25zZS5jbG9zZV9jb25uZWN0aW9uID0gVHJ1ZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VzL3Jlc291cmNlX3RpbWluZ190ZXN0MC54bWwgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVz
b3VyY2VfdGltaW5nX3Rlc3QwLnhtbAppbmRleCBhZGY2MDFjOGExNDlhYjYzZDRhY2I4MjcxYWU5
MjVjNjI4Yzc3NThiLi45MWNkNjc2YmU2ZTZmMWFlMmJhYjNkYzFhMDA1M2RhNDkyYjQzNTE3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVzb3VyY2VfdGltaW5nX3Rlc3QwLnhtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9yZXNvdXJjZXMvcmVzb3VyY2VfdGltaW5nX3Rlc3QwLnhtbApAQCAtMSw2ICsxLDYgQEAKIDw/
eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklTTy04ODU5LTEiPz4KIDxURVNUREFUQT4KICAg
ICA8SVRFTT4KLSAgICAgICAgPERBVEE+VGVzdCBYTUwgRGF0YTwvZGF0YT4KLSAgICA8L2l0ZW0+
Ci08L3Rlc3RkYXRhPgorICAgICAgICA8REFUQT5UZXN0IFhNTCBEYXRhPC9EQVRBPgorICAgIDwv
SVRFTT4KKzwvVEVTVERBVEE+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvc2l6ZXMtaGVscGVy
LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvcmVzb3VyY2VzL3NpemVzLWhlbHBlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NjMzNjY4NmIz
MjkwMmVjMWMxMjNiMGY1NWZmNjdlOWFiYTQzMDYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVz
b3VyY2VzL3NpemVzLWhlbHBlci5qcwpAQCAtMCwwICsxLDE2IEBACisvLyBIZWFkZXIgc2l6ZSBp
cyBhIGZpeGVkIGNvbnN0YW50LgorLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3Jlc291cmNlLXRp
bWluZy8jZG9tLXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmctdHJhbnNmZXJzaXplCitjb25zdCBo
ZWFkZXJTaXplID0gMzAwOworCitjb25zdCBjYWNoZUJ1c3RVcmwgPSB1cmwgPT4geworICByZXR1
cm4gdXJsICsgJyZ1bmlxdWU9JyArIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoKS5zdWJzdHJpbmco
Mik7Cit9CisKK2NvbnN0IGNoZWNrU2l6ZUZpZWxkcyA9IChlbnRyeSwgYm9keVNpemUsIHRyYW5z
ZmVyU2l6ZSkgPT4geworICBhc3NlcnRfZXF1YWxzKGVudHJ5LmRlY29kZWRCb2R5U2l6ZSwgYm9k
eVNpemUsCisgICAgICAgICAgICAgICAgJ2RlY29kZWRCb2R5U2l6ZScpOworICBhc3NlcnRfZXF1
YWxzKGVudHJ5LmVuY29kZWRCb2R5U2l6ZSwgYm9keVNpemUsCisgICAgICAgICAgICAgICAgJ2Vu
Y29kZWRCb2R5U2l6ZScpOworICBhc3NlcnRfZXF1YWxzKGVudHJ5LnRyYW5zZmVyU2l6ZSwgdHJh
bnNmZXJTaXplLAorICAgICAgICAgICAgICAgICd0cmFuc2ZlclNpemUnKTsKK30KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL3Jlc291cmNlcy9zdGF0dXMtY29kZS5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9zdGF0dXMtY29k
ZS5weQppbmRleCA5YmMwMmJkMzQ2NzllZGQ2M2YwMGRjNDYxMGM0ODViOGQxMGNhNmQzLi43MjIy
MmIzOWU0ODU3NGM2NjYwNTJiMmJiNGQ3MDI5ZmQ2YmE1MjZhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZXMvc3RhdHVzLWNvZGUucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3N0YXR1cy1jb2RlLnB5CkBA
IC0xLDQgKzEsNiBAQAogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgogICAgIHN0YXR1cyA9
IHJlcXVlc3QuR0VULmZpcnN0KGInc3RhdHVzJykKICAgICByZXNwb25zZS5zdGF0dXMgPSAoc3Rh
dHVzLCBiIiIpOworICAgIGlmIGIndGFvX3ZhbHVlJyBpbiByZXF1ZXN0LkdFVDoKKyAgICAgIHJl
c3BvbnNlLmhlYWRlcnMuc2V0KGIndGltaW5nLWFsbG93LW9yaWdpbicsIHJlcXVlc3QuR0VULmZp
cnN0KGIndGFvX3ZhbHVlJykpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy93ZWJwZXJmdGVz
dGhhcm5lc3MuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzCmluZGV4IDhl
MDRlNTJmOWM1N2ZhZmI2YTU5OWRhM2ExOTYzYWE2ZWQ1NDVlNmYuLjg2OWVmM2Q3NGY3N2I1ODVl
MTRhZmMwMGE4ZGM5MGJlMDlkYjk3MGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy93ZWJwZXJm
dGVzdGhhcm5lc3MuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcwpA
QCAtNjIsMjYgKzYyLDI2IEBAIGZ1bmN0aW9uIHRlc3RfbmFtZXNwYWNlKGNoaWxkX25hbWUsIHNr
aXBfcm9vdCkKICAgICBpZiAoc2tpcF9yb290ID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgdmFy
IG1zZyA9ICd3aW5kb3cucGVyZm9ybWFuY2UgaXMgZGVmaW5lZCc7CiAgICAgICAgIC8vIFRoZSB3
aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBw
ZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuCi0gICAgICAgIHdwX3Rlc3QoZnVuY3Rpb24g
KCkgeyBhc3NlcnRfdHJ1ZShwZXJmb3JtYW5jZU5hbWVzcGFjZSAhPT0gdW5kZWZpbmVkLCBtc2cp
OyB9LCBtc2cpOworICAgICAgICB3cF90ZXN0KGZ1bmN0aW9uICgpIHsgYXNzZXJ0X25vdF9lcXVh
bHMocGVyZm9ybWFuY2VOYW1lc3BhY2UsIHVuZGVmaW5lZCwgbXNnKTsgfSwgbXNnKTsKICAgICB9
CiAKICAgICBpZiAoY2hpbGRfbmFtZSAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICAgIHZhciBtc2cy
ID0gJ3dpbmRvdy5wZXJmb3JtYW5jZS4nICsgY2hpbGRfbmFtZSArICcgaXMgZGVmaW5lZCc7CiAg
ICAgICAgIC8vIFRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9z
dGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMuCi0gICAgICAgIHdw
X3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF90cnVlKHBlcmZvcm1hbmNlTmFtZXNwYWNlW2NoaWxk
X25hbWVdICE9PSB1bmRlZmluZWQsIG1zZzIpOyB9LCBtc2cyKTsKKyAgICAgICAgd3BfdGVzdChm
dW5jdGlvbigpIHsgYXNzZXJ0X25vdF9lcXVhbHMocGVyZm9ybWFuY2VOYW1lc3BhY2VbY2hpbGRf
bmFtZV0sIHVuZGVmaW5lZCwgbXNnMik7IH0sIG1zZzIpOwogICAgIH0KIH0KIAogZnVuY3Rpb24g
dGVzdF9hdHRyaWJ1dGVfZXhpc3RzKHBhcmVudF9uYW1lLCBhdHRyaWJ1dGVfbmFtZSwgcHJvcGVy
dGllcykKIHsKICAgICB2YXIgbXNnID0gJ3dpbmRvdy5wZXJmb3JtYW5jZS4nICsgcGFyZW50X25h
bWUgKyAnLicgKyBhdHRyaWJ1dGVfbmFtZSArICcgaXMgZGVmaW5lZC4nOwotICAgIHdwX3Rlc3Qo
ZnVuY3Rpb24oKSB7IGFzc2VydF90cnVlKHBlcmZvcm1hbmNlTmFtZXNwYWNlW3BhcmVudF9uYW1l
XVthdHRyaWJ1dGVfbmFtZV0gIT09IHVuZGVmaW5lZCwgbXNnKTsgfSwgbXNnLCBwcm9wZXJ0aWVz
KTsKKyAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfbm90X2VxdWFscyhwZXJmb3JtYW5j
ZU5hbWVzcGFjZVtwYXJlbnRfbmFtZV1bYXR0cmlidXRlX25hbWVdLCB1bmRlZmluZWQsIG1zZyk7
IH0sIG1zZywgcHJvcGVydGllcyk7CiB9CiAKIGZ1bmN0aW9uIHRlc3RfZW51bShwYXJlbnRfbmFt
ZSwgZW51bV9uYW1lLCB2YWx1ZSwgcHJvcGVydGllcykKIHsKICAgICB2YXIgbXNnID0gJ3dpbmRv
dy5wZXJmb3JtYW5jZS4nICsgcGFyZW50X25hbWUgKyAnLicgKyBlbnVtX25hbWUgKyAnIGlzIGRl
ZmluZWQuJzsKLSAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfdHJ1ZShwZXJmb3JtYW5j
ZU5hbWVzcGFjZVtwYXJlbnRfbmFtZV1bZW51bV9uYW1lXSAhPT0gdW5kZWZpbmVkLCBtc2cpOyB9
LCBtc2csIHByb3BlcnRpZXMpOworICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF9ub3Rf
ZXF1YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNlW3BhcmVudF9uYW1lXVtlbnVtX25hbWVdLCB1bmRl
ZmluZWQsIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7CiAKICAgICBtc2cgPSAnd2luZG93LnBl
cmZvcm1hbmNlLicgKyBwYXJlbnRfbmFtZSArICcuJyArIGVudW1fbmFtZSArICcgPSAnICsgdmFs
dWU7CiAgICAgd3BfdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZU5h
bWVzcGFjZVtwYXJlbnRfbmFtZV1bZW51bV9uYW1lXSwgdmFsdWUsIG1zZyk7IH0sIG1zZywgcHJv
cGVydGllcyk7CkBAIC0xNDgsNyArMTQ4LDcgQEAgZnVuY3Rpb24gdGVzdF9ncmVhdGVyX29yX2Vx
dWFscyh2YWx1ZSwgZ3JlYXRlcl90aGFuLCBtc2csIHByb3BlcnRpZXMpCiAKIGZ1bmN0aW9uIHRl
c3Rfbm90X2VxdWFscyh2YWx1ZSwgbm90ZXF1YWxzLCBtc2csIHByb3BlcnRpZXMpCiB7Ci0gICAg
d3BfdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X3RydWUodmFsdWUgIT09IG5vdGVxdWFscywgbXNn
KTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKKyAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRf
bm90X2VxdWFscyh2YWx1ZSwgbm90ZXF1YWxzLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOwog
fQogCiBmdW5jdGlvbiB0ZXN0X3Rhb19wYXNzKGVudHJ5KSB7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNv
dXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzZXh0ZW5zaW9uLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3dlYnBl
cmZ0ZXN0aGFybmVzc2V4dGVuc2lvbi5qcwppbmRleCA4YmM3NGJmODExZTkxNmYzYTgxMWQ0NmRl
ZTM2MzJjOTcwYzA1YmU2Li5kYzAyYzA3NWIzZDA3ZjdjNTcxNjRmMGVjMjRjMzJhZGI3NmMwZGUy
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzZXh0ZW5zaW9uLmpz
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3NleHRlbnNpb24uanMKQEAgLTEs
MTIgKzEsNiBAQAotLyoKLURpc3RyaWJ1dGVkIHVuZGVyIGJvdGggdGhlIFczQyBUZXN0IFN1aXRl
IExpY2Vuc2UgWzFdIGFuZCB0aGUgVzNDCi0zLWNsYXVzZSBCU0QgTGljZW5zZSBbMl0uIFRvIGNv
bnRyaWJ1dGUgdG8gYSBXM0MgVGVzdCBTdWl0ZSwgc2VlIHRoZQotcG9saWNpZXMgYW5kIGNvbnRy
aWJ1dGlvbiBmb3JtcyBbM10uCi0KLVsxXSBodHRwOi8vd3d3LnczLm9yZy9Db25zb3J0aXVtL0xl
Z2FsLzIwMDgvMDQtdGVzdHN1aXRlLWxpY2Vuc2UKLVsyXSBodHRwOi8vd3d3LnczLm9yZy9Db25z
b3J0aXVtL0xlZ2FsLzIwMDgvMDMtYnNkLWxpY2Vuc2UKLVszXSBodHRwOi8vd3d3LnczLm9yZy8y
MDA0LzEwLzI3LXRlc3RjYXNlcwotICovCisvLworLy8gSGVscGVyIGZ1bmN0aW9ucyBmb3IgUmVz
b3VyY2UgVGltaW5nIHRlc3RzCisvLwogCiB2YXIgbWFya19uYW1lcyA9IFsKICAgICAnJywKQEAg
LTI3LDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdF9tZXRob2RfZXhpc3RzKG1ldGhvZCwgbWV0aG9k
X25hbWUsIHByb3BlcnRpZXMpCiAgICAgICAgIG1zZyA9ICdwZXJmb3JtYW5jZS4nICsgbWV0aG9k
Lm5hbWUgKyAnIGlzIHN1cHBvcnRlZCEnOwogICAgIGVsc2UKICAgICAgICAgbXNnID0gJ3BlcmZv
cm1hbmNlLicgKyBtZXRob2RfbmFtZSArICcgaXMgc3VwcG9ydGVkISc7Ci0gICAgd3BfdGVzdChm
dW5jdGlvbigpIHsgYXNzZXJ0X3RydWUodHlwZW9mIG1ldGhvZCA9PT0gJ2Z1bmN0aW9uJywgbXNn
KTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKKyAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRf
ZXF1YWxzKHR5cGVvZiBtZXRob2QsICdmdW5jdGlvbicsIG1zZyk7IH0sIG1zZywgcHJvcGVydGll
cyk7CiB9CiAKIGZ1bmN0aW9uIHRlc3Rfbm9sZXNzX3RoYW4odmFsdWUsIGdyZWF0ZXJfdGhhbiwg
bXNnLCBwcm9wZXJ0aWVzKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2FtZS1vcmlnaW4tZnJvbS1jcm9zcy1v
cmlnaW4tcmVkaXJlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2FtZS1vcmlnaW4tZnJvbS1jcm9zcy1v
cmlnaW4tcmVkaXJlY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEwNWE3NmVkOWM5Njc0OTFh
NTQ3ZWFjYzdjZTNlNjhmNmQzZDEzOWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zYW1lLW9yaWdp
bi1mcm9tLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBA
CisKK1BBU1MgVmVyaWZ5IHRoYXQgY3Jvc3Mgb3JpZ2luIHJlc291cmNlcycgdGltaW5ncyBhcmUg
ZXhwb3NlZCB3aGVuIHRoZSBmaW5hbCByZXNvdXJjZSBhdCB0aGUgZW5kIG9mIGFuIEhUVFAgcmVk
aXJlY3QgY2hhaW4gaXMgc2FtZS1vcmlnaW4uCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NhbWUtb3JpZ2lu
LWZyb20tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zYW1lLW9yaWdpbi1mcm9tLWNy
b3NzLW9yaWdpbi1yZWRpcmVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3NDBiODFiMTNmZDhhYTdhMjY5
YTEwY2YyZGQzMDIzYTBmYmMyYTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zYW1lLW9yaWdpbi1m
cm9tLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odG1sCkBAIC0wLDAgKzEsMzEgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxl
PlRoaXMgdGVzdCB2YWxpZGF0ZXMgcmVzb3VyY2UgdGltaW5nIGluZm9ybWF0aW9uIGZvciBhIHNh
bWUtb3JpZ2luCityZXNvdXJjZSBmZXRjaGVkIHRocm91Z2ggYSBjcm9zcy1vcmlnaW4gcmVkaXJl
Y3QgY2hhaW4uPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVm
PSJodHRwczovL2dvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczov
L3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI3NlYy1wZXJmb3JtYW5jZXJlc291cmNl
dGltaW5nIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9lbnRyeS1pbnZhcmlhbnRzLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2NvbnN0IHtIVFRQX1JFTU9URV9PUklHSU59ID0gZ2V0
X2hvc3RfaW5mbygpOworbGV0IGRlc3RVcmwgPSBgJHtIVFRQX1JFTU9URV9PUklHSU59L3Jlc291
cmNlLXRpbWluZy9yZXNvdXJjZXMvbXVsdGlfcmVkaXJlY3QucHk/YDsKK2Rlc3RVcmwgKz0gYHBh
Z2Vfb3JpZ2luPWh0dHA6Ly8ke2RvY3VtZW50LmxvY2F0aW9uLmhvc3R9YDsKK2Rlc3RVcmwgKz0g
YCZjcm9zc19vcmlnaW49JHtIVFRQX1JFTU9URV9PUklHSU59YDsKK2Rlc3RVcmwgKz0gYCZmaW5h
bF9yZXNvdXJjZT0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ibGFuay13aXRoLXRhby5odG1s
YDsKKworYXR0cmlidXRlX3Rlc3QoCisgIGxvYWQuaWZyYW1lLCBkZXN0VXJsLAorICBpbnZhcmlh
bnRzLmFzc2VydF9zYW1lX29yaWdpbl9yZWRpcmVjdGVkX2Zyb21fY3Jvc3Nfb3JpZ2luX3Jlc291
cmNlLAorICAiVmVyaWZ5IHRoYXQgY3Jvc3Mgb3JpZ2luIHJlc291cmNlcycgdGltaW5ncyBhcmUg
ZXhwb3NlZCB3aGVuIHRoZSBmaW5hbCAiICsKKyAgInJlc291cmNlIGF0IHRoZSBlbmQgb2YgYW4g
SFRUUCByZWRpcmVjdCBjaGFpbiBpcyBzYW1lLW9yaWdpbi4iKTsKKworPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXplcy1jYWNoZS5hbnkuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXpl
cy1jYWNoZS5hbnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY3MGU1YTZkZWQzZTYzZDE1OGZkOTI5ZmVhY2Yw
ODI3YjNjYWZjOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLWNhY2hlLmFueS5qcwpAQCAt
MCwwICsxLDU1IEBACisvLyBNRVRBOiBnbG9iYWw9d2luZG93LHdvcmtlcgorLy8gTUVUQTogc2Ny
aXB0PS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3NpemVzLWhlbHBlci5qcworLy8gTUVUQTog
c2NyaXB0PS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMKKwor
bGV0IHVybCA9IG5ldyBVUkwoCisgICcvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9jYWNoZWFi
bGUtYW5kLXZhbGlkYXRlZC5weScgKworICAnP2NvbnRlbnQ9bG9yZW1pcHN1bWJsYWJsYWJsYScs
CisgIGxvY2F0aW9uLmhyZWYpLmhyZWY7Citjb25zdCBib2R5U2l6ZSA9IDE5OworCitjb25zdCBh
Y2N1bXVsYXRlRW50cmllcyA9ICgpID0+IHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUg
PT4geworICAgIGNvbnN0IHBvID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIobGlzdCA9PiB7Cisg
ICAgICByZXNvbHZlKGxpc3QpOworICAgIH0pOworICAgIHBvLm9ic2VydmUoe3R5cGU6ICJyZXNv
dXJjZSIsIGJ1ZmZlcmVkOiB0cnVlfSk7CisgIH0pOworfTsKKworY29uc3QgY2hlY2tSZXNvdXJj
ZVNpemVzID0gbGlzdCA9PiB7CisgIGNvbnN0IGVudHJpZXMgPSBsaXN0LmdldEVudHJpZXNCeU5h
bWUodXJsKTsKKyAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0aCwgMywgJ1dyb25nIG51bWJl
ciBvZiBlbnRyaWVzJyk7CisgIGxldCBzZWVuQ291bnQgPSAwOworICBmb3IgKGxldCBlbnRyeSBv
ZiBlbnRyaWVzKSB7CisgICAgaWYgKHNlZW5Db3VudCA9PT0gMCkgeworICAgICAgLy8gMjAwIHJl
c3BvbnNlCisgICAgICBjaGVja1NpemVGaWVsZHMoZW50cnksIGJvZHlTaXplLCBib2R5U2l6ZSAr
IGhlYWRlclNpemUpOworICAgIH0gZWxzZSBpZiAoc2VlbkNvdW50ID09PSAxKSB7CisgICAgICAv
LyBmcm9tIGNhY2hlCisgICAgICBjaGVja1NpemVGaWVsZHMoZW50cnksIGJvZHlTaXplLCAwKTsK
KyAgICB9IGVsc2UgaWYgKHNlZW5Db3VudCA9PT0gMikgeworICAgICAgLy8gMzA0IHJlc3BvbnNl
CisgICAgICBjaGVja1NpemVGaWVsZHMoZW50cnksIGJvZHlTaXplLCBoZWFkZXJTaXplKTsKKyAg
ICB9IGVsc2UgeworICAgICAgYXNzZXJ0X3VucmVhY2hlZCgnVG9vIG1hbnkgbWF0Y2hpbmcgZW50
cmllcycpOworICAgIH0KKyAgICArK3NlZW5Db3VudDsKKyAgfQorfTsKKworcHJvbWlzZV90ZXN0
KCgpID0+IHsKKyAgLy8gVXNlIGEgZGlmZmVyZW50IFVSTCBldmVyeSB0aW1lIHNvIHRoYXQgdGhl
IGNhY2hlIGJlaGF2aW91ciBkb2VzIG5vdAorICAvLyBkZXBlbmQgb24gZXhlY3V0aW9uIG9yZGVy
LgorICB1cmwgPSBsb2FkLmNhY2hlX2J1c3QodXJsKTsKKyAgY29uc3QgZWF0Qm9keSA9IHJlc3Bv
bnNlID0+IHJlc3BvbnNlLmFycmF5QnVmZmVyKCk7CisgIGNvbnN0IG11c3RSZXZhbGlkYXRlID0g
e2hlYWRlcnM6IHsnQ2FjaGUtQ29udHJvbCc6ICdtYXgtYWdlPTAnfX07CisgIHJldHVybiBmZXRj
aCh1cmwpCisgICAgLnRoZW4oZWF0Qm9keSkKKyAgICAudGhlbigoKSA9PiBmZXRjaCh1cmwpKQor
ICAgIC50aGVuKGVhdEJvZHkpCisgICAgLnRoZW4oKCkgPT4gZmV0Y2godXJsLCBtdXN0UmV2YWxp
ZGF0ZSkpCisgICAgLnRoZW4oZWF0Qm9keSkKKyAgICAudGhlbihhY2N1bXVsYXRlRW50cmllcykK
KyAgICAudGhlbihjaGVja1Jlc291cmNlU2l6ZXMpOworfSwgJ1BlcmZvcm1hbmNlUmVzb3VyY2VU
aW1pbmcgc2l6ZXMgY2FjaGluZyB0ZXN0Jyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVj
dC1pbWctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3QtaW1nLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41OTAzMjE5NjIwYWU2NWQyYWI4OGNjMjMwOGNkZWI0NzE3YmUzZTJlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3QtaW1nLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDcgQEAKKworUEFTUyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIHNpemVzIHJlZGlyZWN0
IGltYWdlIC0gZGlyZWN0IFVSTAorUEFTUyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIHNpemVz
IHJlZGlyZWN0IGltYWdlIC0gc2FtZSBvcmlnaW4gcmVkaXJlY3QKK1BBU1MgUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZyBzaXplcyByZWRpcmVjdCBpbWFnZSAtIGNyb3NzIG9yaWdpbiByZWRpcmVj
dAorUEFTUyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIHNpemVzIHJlZGlyZWN0IGltYWdlIC0g
Y3Jvc3Mgb3JpZ2luIHRvIHNhbWUgb3JpZ2luIHJlZGlyZWN0CitQQVNTIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcgc2l6ZXMgcmVkaXJlY3QgaW1hZ2UgLSBzYW1lIG9yaWdpbiB0byByZW1vdGUg
b3JpZ2luIHRvIHNhbWUgb3JpZ2luIHJlZGlyZWN0CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLXJl
ZGlyZWN0LWltZy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3QtaW1nLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
Nzg2MDE4ZDBjNDYzNGMzZDhjNmRmMmM0MDAzYjIwMWU2ZTRiYzRlMQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL3NpemVzLXJlZGlyZWN0LWltZy5odG1sCkBAIC0wLDAgKzEsNTcgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9zaXplcy1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvZW50cnktaW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
Ly8gUmVkaXJlY3RzIGZvciBmZXRjaCgpIGFsd2F5cyBhcHBseSBDT1JTIHJ1bGVzLCB3aGVyZWFz
IG5vcm1hbCByZXNvdXJjZXMKKy8vIGRvbid0LCBzbyB0aGlzIHRlc3QgY292ZXJzIGV4dHJhIGNv
ZGUgcGF0aHMgYmV5b25kIHRob3NlIGNvdmVyZWQgYnkKKy8vIHJlc291cmNlLXRpbWluZy1zaXpl
cy1yZWRpcmVjdC5odG1sLgorCitjb25zdCBiYXNlVXJsID0gbmV3IFVSTCgnL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvVEFPUmVzcG9uc2UucHk/dGFvPXdpbGRjYXJkJmltZz10cnVlJywgbG9j
YXRpb24uaHJlZikuaHJlZjsKKworY29uc3QgZXhwZWN0ZWRTaXplID0gMTAxMDsKKworY29uc3Qg
aG9zdEluZm8gPSBnZXRfaG9zdF9pbmZvKCk7CisKK2NvbnN0IHJlZGlyZWN0VXJsID0gKHJlZGly
ZWN0U291cmNlT3JpZ2luLCB0YXJnZXRVcmwpID0+IHsKKyAgcmV0dXJuIHJlZGlyZWN0U291cmNl
T3JpZ2luICsKKyAgICAnL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVkaXJlY3QtY29ycy5w
eT90aW1pbmdfYWxsb3dfb3JpZ2luPSonICsKKyAgICAnJmxvY2F0aW9uPScgKyBlbmNvZGVVUklD
b21wb25lbnQodGFyZ2V0VXJsKTsKK307CisKK2NvbnN0IHZlcmlmeV9lbnRyeSA9IGVudHJ5ID0+
IHsKKyAgY2hlY2tTaXplRmllbGRzKGVudHJ5LCBleHBlY3RlZFNpemUsIGV4cGVjdGVkU2l6ZSAr
IGhlYWRlclNpemUpOworfTsKKworYXR0cmlidXRlX3Rlc3QobG9hZC5pbWFnZSwgYmFzZVVybCwK
KyAgdmVyaWZ5X2VudHJ5LAorICAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyBzaXplcyByZWRp
cmVjdCBpbWFnZSAtIGRpcmVjdCBVUkwiKTsKKworYXR0cmlidXRlX3Rlc3QobG9hZC5pbWFnZSwK
KyAgcmVkaXJlY3RVcmwoaG9zdEluZm8uSFRUUF9PUklHSU4sIGJhc2VVcmwpLAorICB2ZXJpZnlf
ZW50cnksCisgICJQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nIHNpemVzIHJlZGlyZWN0IGltYWdl
IC0gc2FtZSBvcmlnaW4gcmVkaXJlY3QiKTsKKworYXR0cmlidXRlX3Rlc3QobG9hZC5pbWFnZSwK
KyAgcmVkaXJlY3RVcmwoaG9zdEluZm8uSFRUUF9SRU1PVEVfT1JJR0lOLCBiYXNlVXJsKSwKKyAg
dmVyaWZ5X2VudHJ5LAorICAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyBzaXplcyByZWRpcmVj
dCBpbWFnZSAtIGNyb3NzIG9yaWdpbiByZWRpcmVjdCIpOworCithdHRyaWJ1dGVfdGVzdChsb2Fk
LmltYWdlLAorICByZWRpcmVjdFVybChob3N0SW5mby5IVFRQX1JFTU9URV9PUklHSU4sCisgICAg
cmVkaXJlY3RVcmwoaG9zdEluZm8uSFRUUF9PUklHSU4sIGJhc2VVcmwpKSwKKyAgdmVyaWZ5X2Vu
dHJ5LAorICAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyBzaXplcyByZWRpcmVjdCBpbWFnZSAt
IGNyb3NzIG9yaWdpbiB0byBzYW1lIG9yaWdpbiByZWRpcmVjdCIpOworCithdHRyaWJ1dGVfdGVz
dChsb2FkLmltYWdlLAorICByZWRpcmVjdFVybChob3N0SW5mby5IVFRQX09SSUdJTiwKKyAgICBy
ZWRpcmVjdFVybChob3N0SW5mby5IVFRQX1JFTU9URV9PUklHSU4sCisgICAgICByZWRpcmVjdFVy
bChob3N0SW5mby5IVFRQX09SSUdJTiwKKyAgICAgICAgYmFzZVVybCkpKSwKKyAgdmVyaWZ5X2Vu
dHJ5LAorICAiUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyBzaXplcyByZWRpcmVjdCBpbWFnZSAt
IHNhbWUgb3JpZ2luIHRvIHJlbW90ZSAiICsKKyAgIm9yaWdpbiB0byBzYW1lIG9yaWdpbiByZWRp
cmVjdCIpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC5hbnkuanMg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9zaXplcy1yZWRpcmVjdC5hbnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTQ4M2E0ZDQwOWM2YzJkZWVl
NzNmYTIxM2Q2OThiOTViODY1ZDBjOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLXJlZGly
ZWN0LmFueS5qcwpAQCAtMCwwICsxLDYyIEBACisvLyBNRVRBOiBnbG9iYWw9d2luZG93LHdvcmtl
cgorLy8gTUVUQTogc2NyaXB0PS9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMKKy8vIE1FVEE6
IHNjcmlwdD0vcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9zaXplcy1oZWxwZXIuanMKKworY29u
c3QgYmFzZVVybCA9CisgIG5ldyBVUkwoJy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL1RBT1Jl
c3BvbnNlLnB5P3Rhbz13aWxkY2FyZCcsIGxvY2F0aW9uLmhyZWYpLmhyZWY7Citjb25zdCBleHBl
Y3RlZFNpemUgPSA0OworCitjb25zdCBob3N0SW5mbyA9IGdldF9ob3N0X2luZm8oKTsKK3BlcmZv
cm1hbmNlLmNsZWFyUmVzb3VyY2VUaW1pbmdzKCk7CisKK2NvbnN0IGFjY3VtdWxhdGVFbnRyeSA9
ICgpID0+IHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIGNvbnN0IHBv
ID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIobGlzdCA9PiB7CisgICAgICByZXNvbHZlKGxpc3Qp
OworICAgIH0pOworICAgIHBvLm9ic2VydmUoe3R5cGU6ICJyZXNvdXJjZSIsIGJ1ZmZlcmVkOiB0
cnVlfSk7CisgIH0pOworfTsKKworY29uc3QgY2hlY2tSZXNvdXJjZVNpemVzID0gKCkgPT4gewor
ICBjb25zdCBlbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2Un
KTsKKyAgZm9yIChsZXQgZW50cnkgb2YgZW50cmllcykgeworICAgIGNoZWNrU2l6ZUZpZWxkcyhl
bnRyeSwgZXhwZWN0ZWRTaXplLCBleHBlY3RlZFNpemUgKyBoZWFkZXJTaXplKTsKKyAgfQorfQor
Citjb25zdCByZWRpcmVjdFVybCA9IChyZWRpcmVjdFNvdXJjZU9yaWdpbiwgYWxsb3dPcmlnaW4s
IHRhcmdldFVybCkgPT4geworICByZXR1cm4gcmVkaXJlY3RTb3VyY2VPcmlnaW4gKworICAgICcv
cmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9yZWRpcmVjdC1jb3JzLnB5P2FsbG93X29yaWdpbj0n
ICsKKyAgICBlbmNvZGVVUklDb21wb25lbnQoYWxsb3dPcmlnaW4pICsKKyAgICAnJnRpbWluZ19h
bGxvd19vcmlnaW49KicgKworICAgICcmbG9jYXRpb249JyArIGVuY29kZVVSSUNvbXBvbmVudCh0
YXJnZXRVcmwpOworfQorCitwcm9taXNlX3Rlc3QoKCkgPT4geworICAvLyBVc2UgYSBkaWZmZXJl
bnQgVVJMIGV2ZXJ5IHRpbWUgc28gdGhhdCB0aGUgY2FjaGUgYmVoYXZpb3VyIGRvZXMgbm90Cisg
IC8vIGRlcGVuZCBvbiBleGVjdXRpb24gb3JkZXIuCisgIGNvbnN0IGRpcmVjdFVybCA9IGNhY2hl
QnVzdFVybChiYXNlVXJsKTsKKyAgY29uc3Qgc2FtZU9yaWdpblJlZGlyZWN0ID0gcmVkaXJlY3RV
cmwoaG9zdEluZm8uT1JJR0lOLCAnKicsIGRpcmVjdFVybCk7CisgIGNvbnN0IGNyb3NzT3JpZ2lu
UmVkaXJlY3QgPSByZWRpcmVjdFVybChob3N0SW5mby5SRU1PVEVfT1JJR0lOLAorICAgIGhvc3RJ
bmZvLk9SSUdJTiwgZGlyZWN0VXJsKTsKKyAgY29uc3QgbWl4ZWRSZWRpcmVjdCA9IHJlZGlyZWN0
VXJsKGhvc3RJbmZvLlJFTU9URV9PUklHSU4sCisgICAgaG9zdEluZm8uT1JJR0lOLCBzYW1lT3Jp
Z2luUmVkaXJlY3QpOworICBjb25zdCBjb21wbGV4UmVkaXJlY3QgPSByZWRpcmVjdFVybChob3N0
SW5mby5PUklHSU4sCisgICAgaG9zdEluZm8uUkVNT1RFX09SSUdJTiwgbWl4ZWRSZWRpcmVjdCk7
CisgIGxldCBlYXRCb2R5ID0gcmVzcG9uc2UgPT4gcmVzcG9uc2UuYXJyYXlCdWZmZXIoKTsKKyAg
cmV0dXJuIGZldGNoKGRpcmVjdFVybCkKKyAgICAudGhlbihlYXRCb2R5KQorICAgIC50aGVuKCgp
ID0+IGZldGNoKHNhbWVPcmlnaW5SZWRpcmVjdCkpCisgICAgLnRoZW4oZWF0Qm9keSkKKyAgICAu
dGhlbigoKSA9PiBmZXRjaChjcm9zc09yaWdpblJlZGlyZWN0KSkKKyAgICAudGhlbihlYXRCb2R5
KQorICAgIC50aGVuKCgpID0+IGZldGNoKG1peGVkUmVkaXJlY3QpKQorICAgIC50aGVuKGVhdEJv
ZHkpCisgICAgLnRoZW4oKCkgPT4gZmV0Y2goY29tcGxleFJlZGlyZWN0KSkKKyAgICAudGhlbihl
YXRCb2R5KQorICAgIC50aGVuKGFjY3VtdWxhdGVFbnRyeSkKKyAgICAudGhlbihjaGVja1Jlc291
cmNlU2l6ZXMpOworfSwgJ1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgc2l6ZXMgRmV0Y2ggd2l0
aCByZWRpcmVjdCB0ZXN0Jyk7CisKK2RvbmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3N0YXR1cy1jb2Rl
cy1jcmVhdGUtZW50cnkuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3N0YXR1cy1jb2Rlcy1jcmVhdGUtZW50cnkuaHRtbApp
bmRleCBjMzE1MDVhNDUyZGE2YjZhZjE0NmZlYmNkMTVjYTYyZmYxODZhNzY3Li5jYzBjZDhjY2I4
ODI1MDMzMTE4NmMzODU1NGIwOWZmODUxNWNhY2VlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zdGF0dXMtY29k
ZXMtY3JlYXRlLWVudHJ5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc3RhdHVzLWNvZGVzLWNyZWF0ZS1lbnRyeS5o
dG1sCkBAIC0xOCwxMyArMTgsMTcgQEAgYXN5bmNfdGVzdCh0ID0+IHsKICAgd2luZG93LmFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCB0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKICAgICBjb25zdCBp
bWFnZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaW1nIik7CiAgICAgZm9yIChs
ZXQgaW1nIG9mIGltYWdlcykgewotICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihwZXJmb3JtYW5j
ZS5nZXRFbnRyaWVzQnlOYW1lKGltZy5zcmMpLmxlbmd0aCwgMCwgaW1nLnNyYyk7CisgICAgICBj
b25zdCBlbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5TmFtZShpbWcuc3JjKTsKKyAg
ICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oZW50cmllcy5sZW5ndGgsIDAsIGltZy5zcmMpOworICAg
ICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihlbnRyaWVzWzBdLmR1cmF0aW9uLCAwLCBpbWcuc3JjKTsK
ICAgICB9CiAgICAgY29uc3Qgc2NyaXB0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l
KCJzY3JpcHQiKTsKICAgICBsZXQgbm9TcmNTY3JpcHRGb3VuZCA9IGZhbHNlOwogICAgIGZvciAo
bGV0IHNjcmlwdCBvZiBzY3JpcHRzKSB7CiAgICAgICBpZiAoc2NyaXB0LnNyYykgewotICAgICAg
ICBhc3NlcnRfZ3JlYXRlcl90aGFuKHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoc2NyaXB0
LnNyYykubGVuZ3RoLCAwLCBzY3JpcHQuc3JjKTsKKyAgICAgICAgY29uc3QgZW50cmllcyA9IHBl
cmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoc2NyaXB0LnNyYyk7CisgICAgICAgIGFzc2VydF9n
cmVhdGVyX3RoYW4oZW50cmllcy5sZW5ndGgsIDAsIHNjcmlwdC5zcmMpOworICAgICAgICBhc3Nl
cnRfZ3JlYXRlcl90aGFuKGVudHJpZXNbMF0uZHVyYXRpb24sIDAsIHNjcmlwdC5zcmMpOwogICAg
ICAgfSBlbHNlIHsKICAgICAgICAgLy8gSWdub3JlIHRoaXMgc2NyaXB0LCB3aGljaCBoYXMgbm8g
c3JjIHZhbHVlLiBUaGVyZSBzaG91bGQgb25seSBiZSBvbmUgc3VjaCBzY3JpcHQuCiAgICAgICAg
IGFzc2VydF9mYWxzZShub1NyY1NjcmlwdEZvdW5kKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Rlc3RfcmVz
b3VyY2VfdGltaW5nLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Rlc3RfcmVzb3VyY2VfdGltaW5nLWV4cGVj
dGVkLnR4dAppbmRleCAyMDA0OGE1OGNiZmFjMjlmODFmMDQ5ZDg2OGUyNjQ0YTRlMDAzMzc5Li5k
NmNjMTFkMTQzM2E1ZjQ1YWQ4ZjNlMzNmMDdhNzlkZDY2ZmU5MzZiIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy90
ZXN0X3Jlc291cmNlX3RpbWluZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90
aW1pbmctZXhwZWN0ZWQudHh0CkBAIC02LDI4ICs2LDI4IEBAIE5PVEU6IER1ZSB0byBjYWNoaW5n
IGJlaGF2aW9yIGluIHRoZSBicm93c2VyLCBpdCBpcyBwb3NzaWJsZSB0aGF0IHdoZW4gcmV2aXNp
dGluCiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCkgYW5kIHdpbmRv
dy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lVHlwZSgpIHJldHVybiBzYW1lIGRhdGEgKGlm
cmFtZSkKIFBBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuYW1lLCBpbml0aWF0b3JU
eXBlLCBzdGFydFRpbWUsIGFuZCBkdXJhdGlvbiAoaWZyYW1lKQogUEFTUyBQZXJmb3JtYW5jZUVu
dHJ5IGhhcyBjb3JyZWN0IG9yZGVyIG9mIHRpbWluZyBhdHRyaWJ1dGVzIChpZnJhbWUpCi1GQUlM
IFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmV0d29yayB0cmFuc2ZlciBhdHRyaWJ1dGVz
IChpZnJhbWUpIGFzc2VydF9lcXVhbHM6IGVuY29kZWRCb2R5U2l6ZSBzaXplIGV4cGVjdGVkIChu
dW1iZXIpIDIxNSBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJTCBQZXJmb3JtYW5j
ZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0dHJpYnV0ZSAoaWZyYW1lKSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCBwcm90b2NvbCBleHBlY3RlZCAoc3RyaW5nKSAiaHR0cC8xLjEiIGJ1dCBn
b3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCitQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJl
Y3QgbmV0d29yayB0cmFuc2ZlciBhdHRyaWJ1dGVzIChpZnJhbWUpCitQQVNTIFBlcmZvcm1hbmNl
RW50cnkgaGFzIGNvcnJlY3QgcHJvdG9jb2wgYXR0cmlidXRlIChpZnJhbWUpCiBQQVNTIHdpbmRv
dy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCkgYW5kIHdpbmRvdy5wZXJmb3JtYW5jZS5n
ZXRFbnRyaWVzQnlOYW1lVHlwZSgpIHJldHVybiBzYW1lIGRhdGEgKGltZykKIFBBU1MgUGVyZm9y
bWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuYW1lLCBpbml0aWF0b3JUeXBlLCBzdGFydFRpbWUsIGFu
ZCBkdXJhdGlvbiAoaW1nKQogUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG9yZGVy
IG9mIHRpbWluZyBhdHRyaWJ1dGVzIChpbWcpCi1GQUlMIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNv
cnJlY3QgbmV0d29yayB0cmFuc2ZlciBhdHRyaWJ1dGVzIChpbWcpIGFzc2VydF9lcXVhbHM6IGVu
Y29kZWRCb2R5U2l6ZSBzaXplIGV4cGVjdGVkIChudW1iZXIpIDI0OSBidXQgZ290ICh1bmRlZmlu
ZWQpIHVuZGVmaW5lZAotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29s
IGF0dHJpYnV0ZSAoaW1nKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBwcm90b2NvbCBleHBlY3Rl
ZCAoc3RyaW5nKSAiaHR0cC8xLjEiIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCitQQVNT
IFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmV0d29yayB0cmFuc2ZlciBhdHRyaWJ1dGVz
IChpbWcpCitQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgcHJvdG9jb2wgYXR0cmli
dXRlIChpbWcpCiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCkgYW5k
IHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lVHlwZSgpIHJldHVybiBzYW1lIGRh
dGEgKGxpbmspCiBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmFtZSwgaW5pdGlh
dG9yVHlwZSwgc3RhcnRUaW1lLCBhbmQgZHVyYXRpb24gKGxpbmspCiBQQVNTIFBlcmZvcm1hbmNl
RW50cnkgaGFzIGNvcnJlY3Qgb3JkZXIgb2YgdGltaW5nIGF0dHJpYnV0ZXMgKGxpbmspCi1GQUlM
IFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmV0d29yayB0cmFuc2ZlciBhdHRyaWJ1dGVz
IChsaW5rKSBhc3NlcnRfZXF1YWxzOiBlbmNvZGVkQm9keVNpemUgc2l6ZSBleHBlY3RlZCAobnVt
YmVyKSA0NCBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJTCBQZXJmb3JtYW5jZUVu
dHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0dHJpYnV0ZSAobGluaykgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgcHJvdG9jb2wgZXhwZWN0ZWQgKHN0cmluZykgImh0dHAvMS4xIiBidXQgZ290ICh1
bmRlZmluZWQpIHVuZGVmaW5lZAorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5l
dHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAobGluaykKK1BBU1MgUGVyZm9ybWFuY2VFbnRyeSBo
YXMgY29ycmVjdCBwcm90b2NvbCBhdHRyaWJ1dGUgKGxpbmspCiBQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZS5nZXRFbnRyaWVzQnlOYW1lKCkgYW5kIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVz
QnlOYW1lVHlwZSgpIHJldHVybiBzYW1lIGRhdGEgKHNjcmlwdCkKIFBBU1MgUGVyZm9ybWFuY2VF
bnRyeSBoYXMgY29ycmVjdCBuYW1lLCBpbml0aWF0b3JUeXBlLCBzdGFydFRpbWUsIGFuZCBkdXJh
dGlvbiAoc2NyaXB0KQogUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG9yZGVyIG9m
IHRpbWluZyBhdHRyaWJ1dGVzIChzY3JpcHQpCi1GQUlMIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNv
cnJlY3QgbmV0d29yayB0cmFuc2ZlciBhdHRyaWJ1dGVzIChzY3JpcHQpIGFzc2VydF9lcXVhbHM6
IGVuY29kZWRCb2R5U2l6ZSBzaXplIGV4cGVjdGVkIChudW1iZXIpIDEzMyBidXQgZ290ICh1bmRl
ZmluZWQpIHVuZGVmaW5lZAotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IHByb3Rv
Y29sIGF0dHJpYnV0ZSAoc2NyaXB0KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBwcm90b2NvbCBl
eHBlY3RlZCAoc3RyaW5nKSAiaHR0cC8xLjEiIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVk
CitQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmV0d29yayB0cmFuc2ZlciBhdHRy
aWJ1dGVzIChzY3JpcHQpCitQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgcHJvdG9j
b2wgYXR0cmlidXRlIChzY3JpcHQpCiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVz
QnlOYW1lKCkgYW5kIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lVHlwZSgpIHJl
dHVybiBzYW1lIGRhdGEgKHhtbGh0dHByZXF1ZXN0KQogUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhh
cyBjb3JyZWN0IG5hbWUsIGluaXRpYXRvclR5cGUsIHN0YXJ0VGltZSwgYW5kIGR1cmF0aW9uICh4
bWxodHRwcmVxdWVzdCkKIFBBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBvcmRlciBv
ZiB0aW1pbmcgYXR0cmlidXRlcyAoeG1saHR0cHJlcXVlc3QpCi1GQUlMIFBlcmZvcm1hbmNlRW50
cnkgaGFzIGNvcnJlY3QgbmV0d29yayB0cmFuc2ZlciBhdHRyaWJ1dGVzICh4bWxodHRwcmVxdWVz
dCkgYXNzZXJ0X2VxdWFsczogZW5jb2RlZEJvZHlTaXplIHNpemUgZXhwZWN0ZWQgKG51bWJlcikg
MTEyIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlMIFBlcmZvcm1hbmNlRW50cnkg
aGFzIGNvcnJlY3QgcHJvdG9jb2wgYXR0cmlidXRlICh4bWxodHRwcmVxdWVzdCkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgcHJvdG9jb2wgZXhwZWN0ZWQgKHN0cmluZykgImh0dHAvMS4xIiBidXQg
Z290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3Jy
ZWN0IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAoeG1saHR0cHJlcXVlc3QpCitQQVNTIFBl
cmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgcHJvdG9jb2wgYXR0cmlidXRlICh4bWxodHRwcmVx
dWVzdCkKIFBBU1Mgd2luZG93LnBlcmZvcm1hbmNlIFJlc291cmNlIFRpbWluZyBFbnRyaWVzIGV4
aXN0CiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBSZXNvdXJjZSBUaW1pbmcgRW50cmllcyBleGlz
dCAxCiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBSZXNvdXJjZSBUaW1pbmcgRW50cmllcyBleGlz
dCAyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy90ZXN0X3Jlc291cmNlX3RpbWluZy5odHRwcy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy90ZXN0X3Jlc291cmNlX3RpbWluZy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggY2Vh
MGYxY2IyYWFiOWVjZTQ5MmVmM2JkZjQzNzQxMjJkNTUyOTc0MC4uZDZjYzExZDE0MzNhNWY0NWFk
OGYzZTMzZjA3YTc5ZGQ2NmZlOTM2YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90aW1p
bmcuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Rlc3RfcmVzb3VyY2VfdGltaW5nLmh0dHBz
LWV4cGVjdGVkLnR4dApAQCAtMjYsNyArMjYsNyBAQCBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFz
IGNvcnJlY3QgcHJvdG9jb2wgYXR0cmlidXRlIChzY3JpcHQpCiBQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZS5nZXRFbnRyaWVzQnlOYW1lKCkgYW5kIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVz
QnlOYW1lVHlwZSgpIHJldHVybiBzYW1lIGRhdGEgKHhtbGh0dHByZXF1ZXN0KQogUEFTUyBQZXJm
b3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5hbWUsIGluaXRpYXRvclR5cGUsIHN0YXJ0VGltZSwg
YW5kIGR1cmF0aW9uICh4bWxodHRwcmVxdWVzdCkKIFBBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMg
Y29ycmVjdCBvcmRlciBvZiB0aW1pbmcgYXR0cmlidXRlcyAoeG1saHR0cHJlcXVlc3QpCi1GQUlM
IFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmV0d29yayB0cmFuc2ZlciBhdHRyaWJ1dGVz
ICh4bWxodHRwcmVxdWVzdCkgYXNzZXJ0X2VxdWFsczogZW5jb2RlZEJvZHlTaXplIHNpemUgZXhw
ZWN0ZWQgMTEyIGJ1dCBnb3QgMTIwCitQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3Qg
bmV0d29yayB0cmFuc2ZlciBhdHRyaWJ1dGVzICh4bWxodHRwcmVxdWVzdCkKIFBBU1MgUGVyZm9y
bWFuY2VFbnRyeSBoYXMgY29ycmVjdCBwcm90b2NvbCBhdHRyaWJ1dGUgKHhtbGh0dHByZXF1ZXN0
KQogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgUmVzb3VyY2UgVGltaW5nIEVudHJpZXMgZXhpc3QK
IFBBU1Mgd2luZG93LnBlcmZvcm1hbmNlIFJlc291cmNlIFRpbWluZyBFbnRyaWVzIGV4aXN0IDEK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3dvcmtlclN0YXJ0LXRhby1wcm90ZWN0ZWQuaHR0cHMuaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3dvcmtlclN0YXJ0LXRhby1wcm90ZWN0ZWQuaHR0cHMuaHRtbAppbmRleCBmOWI1MGY3MDM2MGRk
NmUwOTkwOGJjMmQ4MWRmZjEzNzM1YWFkMjM2Li40ODU2ZjQ2N2YxNmY2ZTM4MjFkNDhlYTc1NDJk
MTU0YjNkZTUzYmQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy93b3JrZXJTdGFydC10YW8tcHJvdGVjdGVkLmh0
dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvd29ya2VyU3RhcnQtdGFvLXByb3RlY3RlZC5odHRwcy5odG1sCkBA
IC00MCw3ICs0MCw3IEBAIHByb21pc2VfdGVzdCh0ID0+IHsKICAgICBjb25zdCBvYnNlcnZlciA9
IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGxpc3QgPT4gewogICAgICAgY29uc3QgZW50cmllcyA9
IGxpc3QuZ2V0RW50cmllcygpOwogICAgICAgZm9yIChlbnRyeSBvZiBlbnRyaWVzKSB7Ci0gICAg
ICAgIGlmIChlbnRyeS5uYW1lLmluY2x1ZGVzKCJibGFua19wYWdlX2dyZWVuLmh0bSIpKSB7Cisg
ICAgICAgIGlmIChlbnRyeS5uYW1lLmluY2x1ZGVzKCJncmVlbi5odG1sIikpIHsKICAgICAgICAg
ICBvYnNlcnZlci5kaXNjb25uZWN0KCk7CiAgICAgICAgICAgLy8gT2JzZXJ2ZSBpdHMgcGVyZm9y
bWFuY2UgZW50cnkgdG8gbWFrZSBzdXJlIHdvcmtlclN0YXJ0IGlzIHplcm8KICAgICAgICAgICBp
ZiAoZW50cnkud29ya2VyU3RhcnQgIT0gMCkgewpAQCAtNTEsNyArNTEsNyBAQCBwcm9taXNlX3Rl
c3QodCA9PiB7CiAgICAgICB9CiAgICAgfSk7CiAgICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlU
eXBlczogWyJyZXNvdXJjZSJdfSk7Ci0gICAgYWRkRnJhbWUoaG9zdF9pbmZvLkhUVFBTX1JFTU9U
RV9PUklHSU4gKyAiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5o
dG0iKTsKKyAgICBhZGRGcmFtZShob3N0X2luZm8uSFRUUFNfUkVNT1RFX09SSUdJTiArICIvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi5odG1sIik7CiAgIH0pOwogfSwgIkFkZCBUQU8t
bGVzcyBpZnJhbWUgdG8gcmVtb3RlIG9yaWdpbi4gTWFrZSBzdXJlIHdvcmtlclN0YXJ0IGlzIHpl
cm8iKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL25hdmlnYXRpb24tdGltaW5nL25hdjJfdGVzdF9hdHRy
aWJ1dGVzX3ZhbHVlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sx
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbmF2aWdhdGlvbi10aW1pbmcvbmF2Ml90
ZXN0X2F0dHJpYnV0ZXNfdmFsdWVzLWV4cGVjdGVkLnR4dAppbmRleCA5OThkNGVkM2NlMTg0YzY4
ZDMzMTg2MTNmOGQyMGZlMjcyZDUyZTM5Li45ZTFiYTRmZjAxMWE2ZGFhMGEwYjRjMzgwMjhlYWU4
MzFmODVkOWRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbmF2aWdhdGlvbi10aW1pbmcvbmF2Ml90ZXN0X2F0
dHJpYnV0ZXNfdmFsdWVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbmF2aWdhdGlvbi10aW1pbmcv
bmF2Ml90ZXN0X2F0dHJpYnV0ZXNfdmFsdWVzLWV4cGVjdGVkLnR4dApAQCAtMyw1ICszLDUgQEAg
RGVzY3JpcHRpb24KIFRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCB0aGUgdmFsdWVzIG9mIG5hdiB0
aW1pbmcgMiBpbnN0YW5jZSdzIHRpbWluZy1yZWxhdGVkIGF0dHJpYnV0ZXMgYXJlIGluIGNlcnRh
aW4gb3JkZXIgYW5kIHRoZSBvdGhlcnMgYXJlIG9mIGV4cGVjdGVkIHZhbHVlcy4KIAogCi1GQUlM
IFBlcmZvcm1hbmNlIG5hdmlnYXRpb24gdGltaW5nIGluc3RhbmNlJ3MgdmFsdWUgaXMgcmVhc29u
YWJsZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImh0dHAvMS4xIiBidXQgZ290ICIiCitGQUlM
IFBlcmZvcm1hbmNlIG5hdmlnYXRpb24gdGltaW5nIGluc3RhbmNlJ3MgdmFsdWUgaXMgcmVhc29u
YWJsZS4gYXNzZXJ0X2dyZWF0ZXJfdGhhbjogRXhwZWN0ZWQgZG9tSW50ZXJhY3RpdmUgdG8gYmUg
Z3JlYXRlciB0aGFuIDAgZXhwZWN0ZWQgYSBudW1iZXIgZ3JlYXRlciB0aGFuIDAgYnV0IGdvdCAw
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvbmV4dEhvcFByb3RvY29sLXRhby1w
cm90ZWN0ZWQuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
MS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9uZXh0SG9w
UHJvdG9jb2wtdGFvLXByb3RlY3RlZC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggOGM4MjI5YjU1
NTA5NjE5YzU4NGM0YTE0NmQ0MzZjOWU3ZGY5YTlmZS4uMmVlZjU1NWExZWJjZjczNGI2YTZiNzQ0
OWU1NThlMDJlMTdhYTY5OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
MS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9uZXh0SG9w
UHJvdG9jb2wtdGFvLXByb3RlY3RlZC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9uZXh0SG9wUHJvdG9jb2wtdGFvLXByb3RlY3RlZC5odHRwcy1leHBlY3RlZC50
eHQKQEAgLTEsNSArMSw1IEBACiAKIAotUEFTUyBBZGQgVEFPLWxlc3MgaWZyYW1lIHRvIHJlbW90
ZSBvcmlnaW4uIE1ha2Ugc3VyZSBuZXh0SG9wUHJvdG9jb2wgaXMgdGhlIGVtcHR5IHN0cmluZwot
RkFJTCBBZGQgVEFPIGlmcmFtZSB0byByZW1vdGUgb3JpZ2luLiBNYWtlIHN1cmUgbmV4dEhvcFBy
b3RvY29sIGlzIG5vdCB0aGUgZW1wdHkgc3RyaW5nIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiAibmV4dEhvcFByb3RvY29sIHNob3VsZCBub3QgYmUgdGhlIGVt
cHR5IHN0cmluZyIKK0ZBSUwgQWRkIFRBTy1sZXNzIGlmcmFtZSB0byByZW1vdGUgb3JpZ2luLiBN
YWtlIHN1cmUgbmV4dEhvcFByb3RvY29sIGlzIHRoZSBlbXB0eSBzdHJpbmcgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJuZXh0SG9wUHJvdG9jb2wgc2hvdWxk
IGJlIHRoZSBlbXB0eSBzdHJpbmciCitQQVNTIEFkZCBUQU8gaWZyYW1lIHRvIHJlbW90ZSBvcmln
aW4uIE1ha2Ugc3VyZSBuZXh0SG9wUHJvdG9jb2wgaXMgbm90IHRoZSBlbXB0eSBzdHJpbmcKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLVRB
Ty1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLVRBTy1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmEyODQ2MjQyMTU1NGVmZDA2NmQyODBhOGYzYzNhNmEzMzBiYTA4
YTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91
bmQtYWZ0ZXItVEFPLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw2IEBACisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitQQVNT
IHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5n
ZXRFbnRyaWVzQnlOYW1lIGlzIGRlZmluZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItY3Jvc3Mt
b3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMjg0NjI0MjE1NTRlZmQw
NjZkMjgwYThmM2MzYTZhMzMwYmEwOGEzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw2IEBACisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNz
YWdlID0gbnVsbAorCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkCitQQVNTIHdp
bmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lIGlzIGRlZmluZWQKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZWRpcmVjdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZWRpcmVjdHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxZWI1NDYxZDM0
MGEzZjBjMmU4MjI3NTQwZjFhZDFiMDlhYTUyYjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3JlZGlyZWN0cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorRGVz
Y3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0LCB3aGVuIGEgZmV0Y2hpbmcgcmVz
b3VyY2VzIHRoYXQgZW5jb3VudGVyIHNhbWUtb3JpZ2luIHJlZGlyZWN0cywgYXR0cmlidXRlcyBv
ZiB0aGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyBlbnRyeSBjb25mb3JtIHRvIHRoZSBzcGVj
aWZpY2F0aW9uLgorCisKK1BBU1MgVmVyaWZ5IGF0dHJpYnV0ZXMgb2YgYSByZWRpcmVjdGVkIHN0
eWxlc2hlZXQncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nCitQQVNTIFZlcmlmeSBhdHRyaWJ1
dGVzIG9mIGEgcmVkaXJlY3RlZCBpbWFnZSdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcKK1BB
U1MgVmVyaWZ5IGF0dHJpYnV0ZXMgb2YgYSByZWRpcmVjdGVkIGlmcmFtZSdzIFBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmcKK1BBU1MgVmVyaWZ5IGF0dHJpYnV0ZXMgb2YgYSByZWRpcmVjdGVkIHNj
cmlwdCdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcKK0ZBSUwgVmVyaWZ5IGF0dHJpYnV0ZXMg
b2YgYSByZWRpcmVjdGVkIHN5bmNocm9ub3VzIFhNTEh0dHBSZXF1ZXN0J3MgUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZyBhc3NlcnRfZ3JlYXRlcl90aGFuOiByZWRpcmVjdFN0YXJ0IHNob3VsZCBi
ZSBncmVhdGVyIHRoYW4gMCBleHBlY3RlZCBhIG51bWJlciBncmVhdGVyIHRoYW4gMCBidXQgZ290
IDAKK0ZBSUwgVmVyaWZ5IGF0dHJpYnV0ZXMgb2YgYSBzeW5jaHJvbm91cyBYTUxIdHRwUmVxdWVz
dCdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgd2hlcmUgdGhlIGluaXRpYWwgSFRUUCByZXF1
ZXN0IGlzIHJlZGlyZWN0ZWQgdG8gYSBjcm9zcy1vcmlnaW4gSFRUUFMgcmVzb3VyY2UuIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5ldHdvcmtF
cnJvcjogIEEgbmV0d29yayBlcnJvciBvY2N1cnJlZC4iCisK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431092</attachid>
            <date>2021-06-10 10:27:33 -0700</date>
            <delta_ts>2021-06-10 11:08:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226678-20210610102732.patch</filename>
            <type>text/plain</type>
            <size>257415</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NDc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTVhMGRiNTc5YmRmYzM2
NmMwMzY3ZmVjZGRlZWVmNzc1YWU5NDM3YS4uMGMxM2NmNzg0MDBhOTEwNjE5NWY0ZjlhZTZiYzUz
ODY5NWE2ODBhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMCBAQAorMjAyMS0wNi0wNCAgQWxl
eCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUg
VGltaW5nLUFsbG93LU9yaWdpbiBjaGVja3MgdG8gdGhlIG5ldHdvcmsgcHJvY2VzcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2Njc4CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS80NTIyNzc4OD4KKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBE
dW1lei4KKworICAgICAgICBXZSB0cmllZCBoYXJkIHRvIGRvIGl0IGluIHRoZSB3ZWIgcHJvY2Vz
cyBieSBrZWVwaW5nIHRyYWNrIG9mIHdoZXRoZXIgdGhlIGxhc3QgcmVkaXJlY3Qgd2FzIGNyb3Nz
LW9yaWdpbgorICAgICAgICBhbmQgY2hlY2tpbmcgdGhlIGZpbmFsIHJlc3BvbnNlIGFuZCBvcmln
aW5hbCBzZWN1cml0eSBvcmlnaW4uICBXZSBnb3QgbWFueSB0ZXN0cyB0byBwYXNzLCBidXQgdG8g
Z2V0IHRoZSByZXN0CisgICAgICAgIGFuZCBiZSBjb3JyZWN0LCB3ZSBuZWVkIHRvIGNoZWNrIHRo
ZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRlciBmaWVsZCBvZiBlYWNoIHJlZGlyZWN0IGFnYWlu
c3QgdGhlIG9yaWdpbmFsIHNlY3VyaXR5IG9yaWdpbi4KKworICAgICAgICBUZXN0czogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU08tWE8tU08tcmVkaXJl
Y3QtY2hhaW4tdGFvLmh0dHBzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1tYXRjaC5odG1sCisgICAgICAgICAg
ICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8t
bnVsbC1vcGFxdWUtb3JpZ2luLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5zLWNy
b3Nzb3JpZ2luLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHRtbAorICAgICAgICAgICAg
ICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVj
dGlvbi1yZXVzZS5odHRwcy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhcnQtZW5kLXRpbWUt
d2l0aC1yZWRpcmVjdHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC1vcGVu
ZXIuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvZW50cnktYXR0cmlidXRlcy5odG1sCisgICAgICAgICAgICAgICBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mZXRjaC1jcm9zcy1v
cmlnaW4tcmVkaXJlY3QuaHR0cHMuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZm9udC10aW1lc3RhbXBzLmh0bWwKKyAg
ICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL2lmcmFtZS1mYWlsZWQtY29tbWl0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2luaXRpYXRvci10eXBlLWZvci1z
Y3JpcHQuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvbmV4dEhvcFByb3RvY29sLWlzLXRhby1wcm90ZWN0ZWQuaHR0cHMu
aHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1UQU8tY3Jvc3Mtb3JpZ2luLXJlZGly
ZWN0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItY3Jvc3Mtb3JpZ2luLXJlZGly
ZWN0Lmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3JlZGlyZWN0cy5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25vcmUtZGF0
YS11cmwuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfY2FjaGVkLmh0bWwKKyAgICAgICAgICAgICAgIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX3Rp
bWluZ19jb250ZW50X2xlbmd0aC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zYW1lLW9yaWdpbi1mcm9tLWNyb3NzLW9y
aWdpbi1yZWRpcmVjdC5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC1pbWcuaHRtbAorCisgICAg
ICAgICogSGVhZGVycy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogbG9hZGVyL1Jlc291
cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjpzdGFydCk6
CisgICAgICAgIEdldCBhIFNlY3VyaXR5T3JpZ2luIGZvciBvdXIgV2ViS2l0TGVnYWN5IFJlc291
cmNlSGFuZGxlIHVzZSBsaWtlIHdlIGRvIGluIFdlYkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxv
YWRGcm9tTmV0d29ya1Byb2Nlc3MKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VUaW1pbmcuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VUaW1pbmc6OlJlc291cmNlVGltaW5nKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlVGltaW5nOjppbml0U2VydmVyVGltaW5nKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlc291cmNlVGltaW5nOjppc29sYXRlZENvcHkgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6cGFzc2VzVGltaW5nQWxsb3dDaGVjayk6IERlbGV0ZWQuCisgICAgICAgICog
bG9hZGVyL1Jlc291cmNlVGltaW5nLmg6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVRpbWlu
Zzo6bmV0d29ya0xvYWRNZXRyaWNzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNl
VGltaW5nOjpSZXNvdXJjZVRpbWluZyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVRpbWlu
Zzo6YWxsb3dUaW1pbmdEZXRhaWxzIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKCk6IERlbGV0
ZWQuCisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpyZWRpcmVjdENvdW50IGNvbnN0KToKKyAg
ICAgICAgKiBwYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpQZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmc6OnNhbWVPcmlnaW5DaGVja0ZhaWxz
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZzo6
cmVkaXJlY3RDb3VudCBjb25zdCk6CisgICAgICAgICogcGFnZS9QZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmVudHJ5U3RhcnRUaW1lKToKKyAgICAgICAg
KFdlYkNvcmU6OmVudHJ5RW5kVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlZGlyZWN0RW5kIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmRvbWFpbkxvb2t1cFN0YXJ0IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmRvbWFpbkxv
b2t1cEVuZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nOjpjb25uZWN0U3RhcnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZzo6Y29ubmVjdEVuZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nOjpzZWN1cmVDb25uZWN0aW9uU3RhcnQgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVxdWVzdFN0YXJ0IGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlc3Bv
bnNlU3RhcnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZzo6dHJhbnNmZXJTaXplIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBlcmZvcm1hbmNl
UmVzb3VyY2VUaW1pbmc6OmVuY29kZWRCb2R5U2l6ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpkZWNvZGVkQm9keVNpemUgY29uc3QpOgorICAg
ICAgICAqIHBhZ2UvUGVyZm9ybWFuY2VUaW1pbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVy
Zm9ybWFuY2VUaW1pbmc6OnVubG9hZEV2ZW50U3RhcnQgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6UGVyZm9ybWFuY2VUaW1pbmc6OnVubG9hZEV2ZW50RW5kIGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlBlcmZvcm1hbmNlVGltaW5nOjpyZWRpcmVjdEVuZCBjb25zdCk6CisgICAgICAg
ICogcGxhdGZvcm0vbmV0d29yay9CbG9iUmVzb3VyY2VIYW5kbGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6QmxvYlJlc291cmNlSGFuZGxlOjpCbG9iUmVzb3VyY2VIYW5kbGUpOgorICAgICAgICAq
IHBsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmg6CisgICAgICAgIChXZWJDb3Jl
OjpOZXR3b3JrTG9hZE1ldHJpY3M6Omlzb2xhdGVkQ29weSBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpOZXR3b3JrTG9hZE1ldHJpY3M6Om9wZXJhdG9yPT0gY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TmV0d29ya0xvYWRNZXRyaWNzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6TmV0d29ya0xvYWRNZXRyaWNzOjpkZWNvZGUpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvUmVzb3VyY2VIYW5kbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6
OlJlc291cmNlSGFuZGxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpjcmVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmxvYWRSZXNvdXJjZVN5bmNo
cm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmlzQ3Jvc3NPcmln
aW5XaXRob3V0VEFPIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpt
YXJrQXNDcm9zc09yaWdpbldpdGhvdXRUQU8pOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VI
YW5kbGU6OnNvdXJjZU9yaWdpbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUhh
bmRsZTo6aGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6c2V0SGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCk6IERlbGV0
ZWQuCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZS5oOgorICAgICAg
ICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oOgorICAgICAgICAo
V2ViQ29yZTo6UmVzb3VyY2VIYW5kbGVJbnRlcm5hbDo6UmVzb3VyY2VIYW5kbGVJbnRlcm5hbCk6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5jcHA6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6cGFzc2VzVGltaW5nQWxsb3dPcmlnaW5DaGVjayk6CisgICAg
ICAgICogcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5oOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtMb2FkTWV0cmljcy5tbToKKyAgICAg
ICAgKFdlYkNvcmU6OnBhY2thZ2VUaW1pbmdEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OmNvcHlU
aW1pbmdEYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZUhhbmRs
ZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpwbGF0Zm9ybUxvYWRS
ZXNvdXJjZVN5bmNocm9ub3VzbHkpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1dl
YkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5tbToKKyAgICAgICAg
KC1bV2ViQ29yZVJlc291cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlIGNvbm5lY3Rp
b246d2lsbFNlbmRSZXF1ZXN0OnJlZGlyZWN0UmVzcG9uc2U6XSk6CisgICAgICAgICgtW1dlYkNv
cmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZSBjb25uZWN0aW9uOmRpZFJl
Y2VpdmVSZXNwb25zZTpdKToKKwogMjAyMS0wNi0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJp
c3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEltcGxlbWVudCBvZmYtYnktZGVmYXVsdCBl
eHBlcmltZW50YWwgZmVhdHVyZSBmb3IgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy50cmFuc2Zl
clNpemUsIGVuY29kZWRCb2R5U2l6ZSwgYW5kIGRlY29kZWRCb2R5U2l6ZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAy
YzdkZmFjZGJmY2M3OWVlYjdmZDc3N2ZmZGUyOWNjZTUwYzE5NDRmLi40NjRmMzk0MTRkZTlmMjQ0
NWE1NjE2OGU0NGU2ZDcyMjVjNjZmOWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIx
LTA2LTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgTW92ZSBUaW1pbmctQWxsb3ctT3JpZ2luIGNoZWNrcyB0byB0aGUgbmV0d29yayBwcm9j
ZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY2
NzgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ1MjI3Nzg4PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IENocmlzIER1bWV6LgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0xvYWRQ
YXJhbWV0ZXJzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9h
ZFBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VM
b2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpzZW5kUmVwbHlUb1N5bmNocm9ub3VzUmVxdWVz
dCk6CisgICAgICAgIFBhc3MgY29tcGxldGUgbWV0cmljcyB3aXRoIHN5bmMgeGhyIHJlc3BvbnNl
cy4gIE1hbnkgb2YgdGhlIHRlc3RzIHVzZSBzeW5jIHhoci4KKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya1Jlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKToKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya1Jlc291cmNlTG9hZGVyOjpkaWRGYWlsTG9hZGluZyk6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkUmV0cmlldmVDYWNoZUVudHJ5KToKKyAgICAgICAg
KiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5oOgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6TmV0d29ya0RhdGFUYXNrQ29jb2EpOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrRGF0YVRhc2tDb2NvYTo6d2lsbFBlcmZvcm1IVFRQUmVkaXJl
Y3Rpb24pOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNzaW9uQ29j
b2EubW06CisgICAgICAgICgtW1dLTmV0d29ya1Nlc3Npb25EZWxlZ2F0ZSBVUkxTZXNzaW9uOnRh
c2s6d2lsbFBlcmZvcm1IVFRQUmVkaXJlY3Rpb246bmV3UmVxdWVzdDpjb21wbGV0aW9uSGFuZGxl
cjpdKToKKyAgICAgICAgKC1bV0tOZXR3b3JrU2Vzc2lvbkRlbGVnYXRlIFVSTFNlc3Npb246ZGF0
YVRhc2s6ZGlkUmVjZWl2ZVJlc3BvbnNlOmNvbXBsZXRpb25IYW5kbGVyOl0pOgorCiAyMDIxLTA2
LTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgSW1wbGVtZW50IG9mZi1ieS1kZWZhdWx0IGV4cGVyaW1lbnRhbCBmZWF0dXJlIGZvciBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLnRyYW5zZmVyU2l6ZSwgZW5jb2RlZEJvZHlTaXplLCBhbmQg
ZGVjb2RlZEJvZHlTaXplCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCmluZGV4IGVkMTUzNWJkMDliZDQzOWU3
Y2NiNDVlYzhmZDRiNTgzNTkwNDQ1ZjcuLjI1OGMyMzYxY2NjMjgzMzNjYjZmNzY2MDUwOTY3MTYz
ZTViZmFhYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDYt
MDQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAg
ICBNb3ZlIFRpbWluZy1BbGxvdy1PcmlnaW4gY2hlY2tzIHRvIHRoZSBuZXR3b3JrIHByb2Nlc3MK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjY3OAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDUyMjc3ODg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Q2hyaXMgRHVtZXouCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QaW5nSGFuZGxlLmg6Cisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcDoKKyAg
ICAgICAgKFdlYlJlc291cmNlTG9hZFNjaGVkdWxlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNs
eSk6CisKIDIwMjEtMDUtMzAgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFJlbW92ZSBzb21lIG9mIHRoZSB1bm5lZWRlZCBXZWJLaXRMZWdhY3kgV2luZG93cy1zcGVj
aWZpYyBwbHVnLWluIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21h
a2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IDU1NDZjNGQzZTYzNmYzNjYw
OWM0MTg5MDg4MmY0MTZjN2EwZWFhMTcuLjdiOTNlYzhhYzNkNGI3NzZmNDYxNTVhMTI4MTIyYWYx
ZTdiOGZkN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIv
U291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMTQ4Miw2ICsxNDgyLDcgQEAgc2V0KFdl
YkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIHBsYXRmb3JtL25ldHdvcmsvU3Rv
cmFnZVNlc3Npb25Qcm92aWRlci5oCiAgICAgcGxhdGZvcm0vbmV0d29yay9TdG9yZWRDcmVkZW50
aWFsc1BvbGljeS5oCiAgICAgcGxhdGZvcm0vbmV0d29yay9TeW5jaHJvbm91c0xvYWRlckNsaWVu
dC5oCisgICAgcGxhdGZvcm0vbmV0d29yay9UaW1pbmdBbGxvd09yaWdpbi5oCiAKICAgICBwbGF0
Zm9ybS9zcWwvU1FMVmFsdWUuaAogICAgIHBsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CmluZGV4IGI0YTMwMzRkZDZjOTQwM2EzMTA4MDNmYzhkZDVjNDAwZGM3Yzc4ZTUu
LjNmYWI0NTM3MWU3ZjljMzE1ZWY5Yzg0YWE1ZTg1NTExZTU4ZTEyMWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
CkBAIC0yMTkxLDYgKzIxOTEsNyBAQCBwbGF0Zm9ybS9uZXR3b3JrL1NhbWVTaXRlSW5mby5jcHAK
IHBsYXRmb3JtL25ldHdvcmsvU29ja2V0U3RyZWFtSGFuZGxlLmNwcAogcGxhdGZvcm0vbmV0d29y
ay9Tb2NrZXRTdHJlYW1IYW5kbGVJbXBsLmNwcAogcGxhdGZvcm0vbmV0d29yay9TeW5jaHJvbm91
c0xvYWRlckNsaWVudC5jcHAKK3BsYXRmb3JtL25ldHdvcmsvVGltaW5nQWxsb3dPcmlnaW4uY3Bw
CiBwbGF0Zm9ybS9zcWwvU1FMaXRlQXV0aG9yaXplci5jcHAKIHBsYXRmb3JtL3NxbC9TUUxpdGVE
YXRhYmFzZS5jcHAKIHBsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZVRyYWNrZXIuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
NDZmMjY4Mjg0OGIwZTU5NzYyNzE1YWMyMDJiNTE1ZTRmMzMzNDEzZC4uMzMwZTk3NmVmNmM4NjVk
NDdhZDE5ODI1NTQ4ZTFmYWFjMzU1NmEzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTk5Nyw2ICsxOTk3LDcgQEAKIAkJNUNC
MzdGRkYxQzYyRDJBMTAwRjIwMTg4IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNCMzdGRkQxQzYyRDI3ODAwRjIw
MTg4IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5oICovOyB9OwogCQk1Q0JDOERBRDFBQUEzMDIyMDBF
MUM4MDMgLyogTWVkaWFBY2Nlc3NpYmlsaXR5U29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVDQkM4REFCMUFBQTMwMjIwMEUxQzgwMyAvKiBN
ZWRpYUFjY2Vzc2liaWxpdHlTb2Z0TGluay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTVDQkQ1OTU5MjI4MEU5MjYwMDJCMjJBQSAvKiBDdXN0b21I
ZWFkZXJGaWVsZHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNUM1RDIzODYyMjdBMDc3QzAwMEI5QkRBIC8qIEN1c3RvbUhlYWRlckZpZWxkcy5jcHAg
Ki87IH07CisJCTVDQzc5MDBFMjY2QUZBODkwMDY5MjRGRSAvKiBUaW1pbmdBbGxvd09yaWdpbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUNDNzkwMEIy
NjZBRkE4ODAwNjkyNEZFIC8qIFRpbWluZ0FsbG93T3JpZ2luLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNUNDQzI3MDkyMkQ1NDgzQTAwOTY0RkEw
IC8qIEF1dG9maWxsRWxlbWVudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDVDQ0MyNzA2MjJENTNCNjgwMDk2NEZBMCAvKiBBdXRvZmlsbEVsZW1lbnRz
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNUNE
OUY1NjYxQUEwRjczQzAwREE0NUZGIC8qIERGQUJ5dGVjb2RlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1QzM5MzA1RDFBQTBGNkE5MDAyOUM4MTYgLyog
REZBQnl0ZWNvZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk1Q0Q5RjU2NzFBQTBGNzQyMDBEQTQ1RkYgLyogREZBQnl0ZWNvZGVDb21waWxlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUMzOTMwNUYx
QUEwRjZBOTAwMjlDODE2IC8qIERGQUJ5dGVjb2RlQ29tcGlsZXIuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTcwOCw2ICs5NzA5LDggQEAKIAkJ
NUNCMzdGRkQxQzYyRDI3ODAwRjIwMTg4IC8qIFNjcm9sbEFuaW1hdG9yTW9jay5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxBbmltYXRvck1vY2suaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNCQzhEQUExQUFBMzAyMjAwRTFDODAzIC8qIE1lZGlhQWNj
ZXNzaWJpbGl0eVNvZnRMaW5rLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IE1lZGlhQWNjZXNzaWJpbGl0eVNvZnRMaW5rLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNUNCQzhEQUIxQUFBMzAyMjAwRTFDODAzIC8qIE1lZGlhQWNjZXNzaWJpbGl0eVNv
ZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhQWNjZXNzaWJp
bGl0eVNvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTVDQzc5MDBCMjY2
QUZBODgwMDY5MjRGRSAvKiBUaW1pbmdBbGxvd09yaWdpbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBUaW1pbmdBbGxvd09yaWdpbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk1Q0M3OTAwRDI2NkFGQTg5MDA2OTI0RkUgLyogVGltaW5nQWxsb3dPcmlnaW4uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVGltaW5nQWxsb3dPcmlnaW4u
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0NDMjcwNjIyRDUzQjY4MDA5NjRG
QTAgLyogQXV0b2ZpbGxFbGVtZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBBdXRvZmlsbEVsZW1lbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVDQ0My
NzA3MjJENTNCNjkwMDk2NEZBMCAvKiBBdXRvZmlsbEVsZW1lbnRzLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEF1dG9maWxsRWxlbWVudHMuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1Q0RDRERCRjIzRDdCN0JFMDBCQTM0QTEgLyogQ29udGVudEZp
bHRlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb250ZW50Rmls
dGVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjIxOSw2ICsyMjIy
Miw4IEBACiAJCQkJNDY4MkQxRkYxRjc5NzgyMzAwQzg2M0RCIC8qIFN0b3JlZENyZWRlbnRpYWxz
UG9saWN5LmggKi8sCiAJCQkJRTE4MDgxMTAxNkZDRjQyRTAwQjgwRDA3IC8qIFN5bmNocm9ub3Vz
TG9hZGVyQ2xpZW50LmNwcCAqLywKIAkJCQlFMTgwODExNTE2RkNGOUNCMDBCODBEMDcgLyogU3lu
Y2hyb25vdXNMb2FkZXJDbGllbnQuaCAqLywKKwkJCQk1Q0M3OTAwRDI2NkFGQTg5MDA2OTI0RkUg
LyogVGltaW5nQWxsb3dPcmlnaW4uY3BwICovLAorCQkJCTVDQzc5MDBCMjY2QUZBODgwMDY5MjRG
RSAvKiBUaW1pbmdBbGxvd09yaWdpbi5oICovLAogCQkJKTsKIAkJCXBhdGggPSBuZXR3b3JrOwog
CQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTM1NzU3LDYgKzM1NzYyLDcgQEAKIAkJCQk5
MzA1QjI0RDA5OEYxQjZCMDBDMjg4NTUgLyogVGltZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0
NDYxM0IwMENENjMzMTAwMEZBREE3NSAvKiBUaW1lUmFuZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkyRDdFRDBBQjFCQUU5OTE3MDA0M0IzRTUgLyogVGltZXJFdmVudEJhc2VkTW9jay5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNUNDNzkwMEUyNjZBRkE4OTAwNjkyNEZFIC8qIFRpbWluZ0FsbG93T3Jp
Z2luLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5MTJBRTBFRkFDOTA2MDA5RDBDQUYgLyogVGlt
aW5nRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNTRERDA4MTg4MUQ1RjUwMDNFRURC
QiAvKiBUb3VjaC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzFCN0VFMEQyMUI1QzY4NzAwMzFDMUVG
IC8qIFRvdWNoQWN0aW9uLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVz
b3VyY2VMb2FkZXIuY3BwCmluZGV4IDUzNTM5ZmI2N2RlMWY1ZjE2Mjg0MjlkYjNmMWFiMmY1M2Nl
ZGQ2NzIuLjUwYmFmOWFiZTg1OWQ5OGQ0YTRkZmVmMTNlMjdkZDNkMzE4NjU5ZTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcApAQCAtNTEsNiArNTEsNyBAQAogI2lu
Y2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNp
bmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKKyNpbmNsdWRlICJTdWJyZXNvdXJjZUxvYWRlci5oIgog
I2luY2x1ZGUgPHd0Zi9Db21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4K
IApAQCAtMjQxLDcgKzI0MiwxNSBAQCB2b2lkIFJlc291cmNlTG9hZGVyOjpzdGFydCgpCiAgICAg
fQogI2VuZGlmCiAKLSAgICBtX2hhbmRsZSA9IFJlc291cmNlSGFuZGxlOjpjcmVhdGUoZnJhbWVM
b2FkZXIoKS0+bmV0d29ya2luZ0NvbnRleHQoKSwgbV9yZXF1ZXN0LCB0aGlzLCBtX2RlZmVyc0xv
YWRpbmcsIG1fb3B0aW9ucy5zbmlmZkNvbnRlbnQgPT0gQ29udGVudFNuaWZmaW5nUG9saWN5OjpT
bmlmZkNvbnRlbnQsIG1fb3B0aW9ucy5zbmlmZkNvbnRlbnRFbmNvZGluZyA9PSBDb250ZW50RW5j
b2RpbmdTbmlmZmluZ1BvbGljeTo6U25pZmYpOworICAgIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4g
c291cmNlT3JpZ2luID0gaXM8U3VicmVzb3VyY2VMb2FkZXI+KCp0aGlzKSA/IGRvd25jYXN0PFN1
YnJlc291cmNlTG9hZGVyPigqdGhpcykub3JpZ2luKCkgOiBudWxscHRyOworICAgIGlmICghc291
cmNlT3JpZ2luICYmIGZyYW1lTG9hZGVyKCkpIHsKKyAgICAgICAgYXV0byogZG9jdW1lbnQgPSBm
cmFtZUxvYWRlcigpLT5mcmFtZSgpLmRvY3VtZW50KCk7CisgICAgICAgIHNvdXJjZU9yaWdpbiA9
ICBkb2N1bWVudCA/ICZkb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKSA6IG51bGxwdHI7CisgICAg
fQorCisgICAgYm9vbCBpc01haW5GcmFtZU5hdmlnYXRpb24gPSBmcmFtZSgpICYmIGZyYW1lKCkt
PmlzTWFpbkZyYW1lKCkgJiYgb3B0aW9ucygpLm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpO
YXZpZ2F0ZTsKKworICAgIG1faGFuZGxlID0gUmVzb3VyY2VIYW5kbGU6OmNyZWF0ZShmcmFtZUxv
YWRlcigpLT5uZXR3b3JraW5nQ29udGV4dCgpLCBtX3JlcXVlc3QsIHRoaXMsIG1fZGVmZXJzTG9h
ZGluZywgbV9vcHRpb25zLnNuaWZmQ29udGVudCA9PSBDb250ZW50U25pZmZpbmdQb2xpY3k6OlNu
aWZmQ29udGVudCwgbV9vcHRpb25zLnNuaWZmQ29udGVudEVuY29kaW5nID09IENvbnRlbnRFbmNv
ZGluZ1NuaWZmaW5nUG9saWN5OjpTbmlmZiwgV1RGTW92ZShzb3VyY2VPcmlnaW4pLCBpc01haW5G
cmFtZU5hdmlnYXRpb24pOwogfQogCiB2b2lkIFJlc291cmNlTG9hZGVyOjpzZXREZWZlcnNMb2Fk
aW5nKGJvb2wgZGVmZXJzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291
cmNlVGltaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZVRpbWluZy5jcHAK
aW5kZXggNDk4ZTMzMjc0YmY5Yjk4MmM5ZTk4NTJjZTkyN2JlY2Y0YTI4M2EwNS4uNDY5MGZhM2Fk
MzJlN2ZkMDM2N2Q1MzEyYTFhMGM1MGE4OGNkNTMzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1Jlc291cmNlVGltaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
UmVzb3VyY2VUaW1pbmcuY3BwCkBAIC0zNSwyOCArMzUsNiBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLXN0YXRpYyBib29sIHBhc3Nlc1RpbWluZ0FsbG93Q2hlY2soY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiBpbml0aWF0b3JTZWN1cml0
eU9yaWdpbikKLXsKLSAgICBSZWY8U2VjdXJpdHlPcmlnaW4+IHJlc291cmNlT3JpZ2luID0gU2Vj
dXJpdHlPcmlnaW46OmNyZWF0ZShyZXNwb25zZS51cmwoKSk7Ci0gICAgaWYgKHJlc291cmNlT3Jp
Z2luLT5pc1NhbWVTY2hlbWVIb3N0UG9ydChpbml0aWF0b3JTZWN1cml0eU9yaWdpbikpCi0gICAg
ICAgIHJldHVybiB0cnVlOwotCi0gICAgY29uc3QgU3RyaW5nJiB0aW1pbmdBbGxvd09yaWdpblN0
cmluZyA9IHJlc3BvbnNlLmh0dHBIZWFkZXJGaWVsZChIVFRQSGVhZGVyTmFtZTo6VGltaW5nQWxs
b3dPcmlnaW4pOwotICAgIGlmICh0aW1pbmdBbGxvd09yaWdpblN0cmluZy5pc0VtcHR5KCkgfHwg
ZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UodGltaW5nQWxsb3dPcmlnaW5TdHJpbmcsICJu
dWxsIikpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICh0aW1pbmdBbGxvd09yaWdp
blN0cmluZyA9PSAiKiIpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgY29uc3QgU3RyaW5n
JiBzZWN1cml0eU9yaWdpbiA9IGluaXRpYXRvclNlY3VyaXR5T3JpZ2luLnRvU3RyaW5nKCk7Ci0g
ICAgZm9yIChhdXRvJiBvcmlnaW4gOiB0aW1pbmdBbGxvd09yaWdpblN0cmluZy5zcGxpdCgnLCcp
KSB7Ci0gICAgICAgIGlmIChvcmlnaW4uc3RyaXBXaGl0ZVNwYWNlKCkgPT0gc2VjdXJpdHlPcmln
aW4pCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0KLSAgICByZXR1cm4gZmFsc2U7
Ci19Ci0KIFJlc291cmNlVGltaW5nIFJlc291cmNlVGltaW5nOjpmcm9tTWVtb3J5Q2FjaGUoY29u
c3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgaW5pdGlhdG9yLCBjb25zdCBSZXNvdXJjZUxvYWRU
aW1pbmcmIGxvYWRUaW1pbmcsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25z
dCBTZWN1cml0eU9yaWdpbiYgc2VjdXJpdHlPcmlnaW4pCiB7CiAgICAgcmV0dXJuIFJlc291cmNl
VGltaW5nKHVybCwgaW5pdGlhdG9yLCBsb2FkVGltaW5nLCByZXNwb25zZSwgc2VjdXJpdHlPcmln
aW4pOwpAQCAtNzIsMjggKzUwLDI2IEBAIFJlc291cmNlVGltaW5nIFJlc291cmNlVGltaW5nOjpm
cm9tU3luY2hyb25vdXNMb2FkKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmCiAgICAgcmV0
dXJuIFJlc291cmNlVGltaW5nKHVybCwgaW5pdGlhdG9yLCBsb2FkVGltaW5nLCBuZXR3b3JrTG9h
ZE1ldHJpY3MsIHJlc3BvbnNlLCBzZWN1cml0eU9yaWdpbik7CiB9CiAKLVJlc291cmNlVGltaW5n
OjpSZXNvdXJjZVRpbWluZyhjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBpbml0aWF0b3Is
IGNvbnN0IFJlc291cmNlTG9hZFRpbWluZyYgbG9hZFRpbWluZywgY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYgcmVzcG9uc2UsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiBzZWN1cml0eU9yaWdpbikKK1Jl
c291cmNlVGltaW5nOjpSZXNvdXJjZVRpbWluZyhjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5n
JiBpbml0aWF0b3IsIGNvbnN0IFJlc291cmNlTG9hZFRpbWluZyYgbG9hZFRpbWluZywgY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJikKICAgICA6
IG1fdXJsKHVybCkKICAgICAsIG1faW5pdGlhdG9yKGluaXRpYXRvcikKICAgICAsIG1fcmVzb3Vy
Y2VMb2FkVGltaW5nKGxvYWRUaW1pbmcpCi0gICAgLCBtX2FsbG93VGltaW5nRGV0YWlscyhwYXNz
ZXNUaW1pbmdBbGxvd0NoZWNrKHJlc3BvbnNlLCBzZWN1cml0eU9yaWdpbikpCiB7CiAgICAgaW5p
dFNlcnZlclRpbWluZyhyZXNwb25zZSk7CiB9CiAKLVJlc291cmNlVGltaW5nOjpSZXNvdXJjZVRp
bWluZyhjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBpbml0aWF0b3IsIGNvbnN0IFJlc291
cmNlTG9hZFRpbWluZyYgdGltaW5nLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG5ldHdvcmtM
b2FkTWV0cmljcywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFNlY3Vy
aXR5T3JpZ2luJiBzZWN1cml0eU9yaWdpbikKK1Jlc291cmNlVGltaW5nOjpSZXNvdXJjZVRpbWlu
Zyhjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBpbml0aWF0b3IsIGNvbnN0IFJlc291cmNl
TG9hZFRpbWluZyYgdGltaW5nLCBjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG5ldHdvcmtMb2Fk
TWV0cmljcywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFNlY3VyaXR5
T3JpZ2luJikKICAgICA6IG1fdXJsKHVybCkKICAgICAsIG1faW5pdGlhdG9yKGluaXRpYXRvcikK
ICAgICAsIG1fcmVzb3VyY2VMb2FkVGltaW5nKHRpbWluZykKICAgICAsIG1fbmV0d29ya0xvYWRN
ZXRyaWNzKG5ldHdvcmtMb2FkTWV0cmljcykKLSAgICAsIG1fYWxsb3dUaW1pbmdEZXRhaWxzKHBh
c3Nlc1RpbWluZ0FsbG93Q2hlY2socmVzcG9uc2UsIHNlY3VyaXR5T3JpZ2luKSkKIHsKICAgICBp
bml0U2VydmVyVGltaW5nKHJlc3BvbnNlKTsKIH0KIAogdm9pZCBSZXNvdXJjZVRpbWluZzo6aW5p
dFNlcnZlclRpbWluZyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKIHsKLSAgICBp
ZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXJ2ZXJUaW1pbmdF
bmFibGVkKCkgJiYgbV9hbGxvd1RpbWluZ0RldGFpbHMpCisgICAgaWYgKFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2VydmVyVGltaW5nRW5hYmxlZCgpICYmICFtX25l
dHdvcmtMb2FkTWV0cmljcy5mYWlsc1RBT0NoZWNrKQogICAgICAgICBtX3NlcnZlclRpbWluZyA9
IFNlcnZlclRpbWluZ1BhcnNlcjo6cGFyc2VTZXJ2ZXJUaW1pbmcocmVzcG9uc2UuaHR0cEhlYWRl
ckZpZWxkKEhUVFBIZWFkZXJOYW1lOjpTZXJ2ZXJUaW1pbmcpKTsKIH0KIApAQCAtMTExLDcgKzg3
LDYgQEAgUmVzb3VyY2VUaW1pbmcgUmVzb3VyY2VUaW1pbmc6Omlzb2xhdGVkQ29weSgpIGNvbnN0
CiAgICAgICAgIG1faW5pdGlhdG9yLmlzb2xhdGVkQ29weSgpLAogICAgICAgICBtX3Jlc291cmNl
TG9hZFRpbWluZy5pc29sYXRlZENvcHkoKSwKICAgICAgICAgbV9uZXR3b3JrTG9hZE1ldHJpY3Mu
aXNvbGF0ZWRDb3B5KCksCi0gICAgICAgIG1fYWxsb3dUaW1pbmdEZXRhaWxzLAogICAgICAgICBj
cm9zc1RocmVhZENvcHkobV9zZXJ2ZXJUaW1pbmcpCiAgICAgKTsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZVRpbWluZy5oIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Jlc291cmNlVGltaW5nLmgKaW5kZXggZDNiMmI5YjM5ODQ1ZjBhZDY3NjJjMzI4ZTA2Mjlk
ZWZmYmI4MjcyNi4uYWNiYWZiZDg1YmEyNWQ1NDkwYjE4YTVhN2NmNTYzYmRmMWZhNjI0NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlVGltaW5nLmgKQEAgLTQ5LDcgKzQ5LDYgQEAgcHVi
bGljOgogICAgIGNvbnN0IFN0cmluZyYgaW5pdGlhdG9yKCkgY29uc3QgeyByZXR1cm4gbV9pbml0
aWF0b3I7IH0KICAgICBjb25zdCBSZXNvdXJjZUxvYWRUaW1pbmcmIHJlc291cmNlTG9hZFRpbWlu
ZygpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb3VyY2VMb2FkVGltaW5nOyB9CiAgICAgY29uc3QgTmV0
d29ya0xvYWRNZXRyaWNzJiBuZXR3b3JrTG9hZE1ldHJpY3MoKSBjb25zdCB7IHJldHVybiBtX25l
dHdvcmtMb2FkTWV0cmljczsgfQotICAgIGJvb2wgYWxsb3dUaW1pbmdEZXRhaWxzKCkgY29uc3Qg
eyByZXR1cm4gbV9hbGxvd1RpbWluZ0RldGFpbHM7IH0KICAgICBWZWN0b3I8UmVmPFBlcmZvcm1h
bmNlU2VydmVyVGltaW5nPj4gcG9wdWxhdGVTZXJ2ZXJUaW1pbmcoKSBjb25zdDsKICAgICBSZXNv
dXJjZVRpbWluZyBpc29sYXRlZENvcHkoKSBjb25zdDsKIApAQCAtNTgsMTIgKzU3LDExIEBAIHB1
YmxpYzoKIHByaXZhdGU6CiAgICAgUmVzb3VyY2VUaW1pbmcoY29uc3QgVVJMJiwgY29uc3QgU3Ry
aW5nJiBpbml0aWF0b3IsIGNvbnN0IFJlc291cmNlTG9hZFRpbWluZyYsIGNvbnN0IE5ldHdvcmtM
b2FkTWV0cmljcyYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBTZWN1cml0eU9yaWdp
biYpOwogICAgIFJlc291cmNlVGltaW5nKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgaW5pdGlh
dG9yLCBjb25zdCBSZXNvdXJjZUxvYWRUaW1pbmcmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiwg
Y29uc3QgU2VjdXJpdHlPcmlnaW4mKTsKLSAgICBSZXNvdXJjZVRpbWluZyhVUkwmJiB1cmwsIFN0
cmluZyYmIGluaXRpYXRvciwgY29uc3QgUmVzb3VyY2VMb2FkVGltaW5nJiByZXNvdXJjZUxvYWRU
aW1pbmcsIE5ldHdvcmtMb2FkTWV0cmljcyYmIG5ldHdvcmtMb2FkTWV0cmljcywgYm9vbCBhbGxv
d1RpbWluZ0RldGFpbHMsIFZlY3RvcjxTZXJ2ZXJUaW1pbmc+JiYgc2VydmVyVGltaW5nKQorICAg
IFJlc291cmNlVGltaW5nKFVSTCYmIHVybCwgU3RyaW5nJiYgaW5pdGlhdG9yLCBjb25zdCBSZXNv
dXJjZUxvYWRUaW1pbmcmIHJlc291cmNlTG9hZFRpbWluZywgTmV0d29ya0xvYWRNZXRyaWNzJiYg
bmV0d29ya0xvYWRNZXRyaWNzLCBWZWN0b3I8U2VydmVyVGltaW5nPiYmIHNlcnZlclRpbWluZykK
ICAgICAgICAgOiBtX3VybChXVEZNb3ZlKHVybCkpCiAgICAgICAgICwgbV9pbml0aWF0b3IoV1RG
TW92ZShpbml0aWF0b3IpKQogICAgICAgICAsIG1fcmVzb3VyY2VMb2FkVGltaW5nKHJlc291cmNl
TG9hZFRpbWluZykKICAgICAgICAgLCBtX25ldHdvcmtMb2FkTWV0cmljcyhXVEZNb3ZlKG5ldHdv
cmtMb2FkTWV0cmljcykpCi0gICAgICAgICwgbV9hbGxvd1RpbWluZ0RldGFpbHMoYWxsb3dUaW1p
bmdEZXRhaWxzKQogICAgICAgICAsIG1fc2VydmVyVGltaW5nKFdURk1vdmUoc2VydmVyVGltaW5n
KSkKICAgICB7CiAgICAgfQpAQCAtNzMsNyArNzEsNiBAQCBwcml2YXRlOgogICAgIFN0cmluZyBt
X2luaXRpYXRvcjsKICAgICBSZXNvdXJjZUxvYWRUaW1pbmcgbV9yZXNvdXJjZUxvYWRUaW1pbmc7
CiAgICAgTmV0d29ya0xvYWRNZXRyaWNzIG1fbmV0d29ya0xvYWRNZXRyaWNzOwotICAgIGJvb2wg
bV9hbGxvd1RpbWluZ0RldGFpbHMgeyBmYWxzZSB9OwogICAgIFZlY3RvcjxTZXJ2ZXJUaW1pbmc+
IG1fc2VydmVyVGltaW5nOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Q
ZXJmb3JtYW5jZU5hdmlnYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5j
ZU5hdmlnYXRpb24uY3BwCmluZGV4IDBjYzczZmRmODYzYzQyMWM1ZGFhZGEyZjI1YmNhMjU0YThl
OTZlOGEuLjM0YmY5NzdkNjA0ZTUyMGNiNzkxNzM3MTI2ODMwMjI5OTBkNDkzYjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdhdGlvbi5jcHAKQEAgLTc4LDcgKzc4
LDcgQEAgdW5zaWduZWQgc2hvcnQgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uOjpyZWRpcmVjdENvdW50
KCkgY29uc3QKICAgICBpZiAoIW1ldHJpY3MpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgaWYg
KG1ldHJpY3MtPmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QpCisgICAgaWYgKG1ldHJpY3MtPmZhaWxz
VEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgcmV0dXJuIG1ldHJpY3MtPnJlZGly
ZWN0Q291bnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2
aWdhdGlvblRpbWluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlTmF2aWdh
dGlvblRpbWluZy5jcHAKaW5kZXggNjhkMmNjNzU4YzNmMTU0YWZhYTFiYWYyMmY1ZTRkMzA3OGY0
NzM1OS4uMjNjN2YzMWE3NTEyNDk4NzY0NmMxZjQ4YmRkNmNlMTU3ZGE3N2IzMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmcuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nLmNwcApA
QCAtNjgsOCArNjgsNyBAQCBkb3VibGUgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nOjptaWxs
aXNlY29uZHNTaW5jZU9yaWdpbihNb25vdG9uaWNUaW1lIHRpbWUpCiBib29sIFBlcmZvcm1hbmNl
TmF2aWdhdGlvblRpbWluZzo6c2FtZU9yaWdpbkNoZWNrRmFpbHMoKSBjb25zdAogewogICAgIC8v
IGh0dHBzOi8vd3d3LnczLm9yZy9UUi9uYXZpZ2F0aW9uLXRpbWluZy0yLyNkZm4tc2FtZS1vcmln
aW4tY2hlY2sKLSAgICByZXR1cm4gIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxz
KCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXND
cm9zc09yaWdpblJlZGlyZWN0CisgICAgcmV0dXJuIG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xv
YWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdAogICAgICAgICB8fCAhbV9kb2N1bWVu
dExvYWRUaW1pbmcuaGFzU2FtZU9yaWdpbkFzUHJldmlvdXNEb2N1bWVudCgpOwogfQogCkBAIC0x
MjQsOSArMTIzLDYgQEAgUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nOjpOYXZpZ2F0aW9uVHlw
ZSBQZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmc6OnR5cGUoKQogCiB1bnNpZ25lZCBzaG9ydCBQ
ZXJmb3JtYW5jZU5hdmlnYXRpb25UaW1pbmc6OnJlZGlyZWN0Q291bnQoKSBjb25zdAogewotICAg
IGlmICghbV9yZXNvdXJjZVRpbWluZy5hbGxvd1RpbWluZ0RldGFpbHMoKSkKLSAgICAgICAgcmV0
dXJuIDA7Ci0KICAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5o
YXNDcm9zc09yaWdpblJlZGlyZWN0KQogICAgICAgICByZXR1cm4gMDsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy5jcHAKaW5kZXggNTliMWFl
NmZjY2U3NGRjNzFhODhjZWI1ZGFiNTcwZmE4ZjRhZTcyMi4uNmVkOWFmNDIyOWMyNGUxMTE0ZjEw
NDNhZDI5MmQzYWYwMThmYWM5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZv
cm1hbmNlUmVzb3VyY2VUaW1pbmcuY3BwCkBAIC02NCw4ICs2NCw3IEBAIHN0YXRpYyBkb3VibGUg
ZmV0Y2hTdGFydChNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFJlc291cmNlVGltaW5n
JiByZXNvdXJjCiAKIHN0YXRpYyBkb3VibGUgZW50cnlTdGFydFRpbWUoTW9ub3RvbmljVGltZSB0
aW1lT3JpZ2luLCBjb25zdCBSZXNvdXJjZVRpbWluZyYgcmVzb3VyY2VUaW1pbmcpCiB7Ci0gICAg
aWYgKCFyZXNvdXJjZVRpbWluZy5hbGxvd1RpbWluZ0RldGFpbHMoKQotICAgICAgICB8fCByZXNv
dXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0Cisg
ICAgaWYgKHJlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxzVEFPQ2hlY2sK
ICAgICAgICAgfHwgIXJlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlZGlyZWN0
Q291bnQpCiAgICAgICAgIHJldHVybiBmZXRjaFN0YXJ0KHRpbWVPcmlnaW4sIHJlc291cmNlVGlt
aW5nKTsKIApAQCAtNzcsOSArNzYsNiBAQCBzdGF0aWMgZG91YmxlIGVudHJ5U3RhcnRUaW1lKE1v
bm90b25pY1RpbWUgdGltZU9yaWdpbiwgY29uc3QgUmVzb3VyY2VUaW1pbmcmIHJlcwogCiBzdGF0
aWMgZG91YmxlIGVudHJ5RW5kVGltZShNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFJl
c291cmNlVGltaW5nJiByZXNvdXJjZVRpbWluZykKIHsKLSAgICBpZiAoIXJlc291cmNlVGltaW5n
LmFsbG93VGltaW5nRGV0YWlscygpKQotICAgICAgICByZXR1cm4gZW50cnlTdGFydFRpbWUodGlt
ZU9yaWdpbiwgcmVzb3VyY2VUaW1pbmcpOwotCiAgICAgaWYgKHJlc291cmNlVGltaW5nLm5ldHdv
cmtMb2FkTWV0cmljcygpLnJlc3BvbnNlRW5kKQogICAgICAgICByZXR1cm4gbmV0d29ya0xvYWRU
aW1lVG9ET01IaWdoUmVzVGltZVN0YW1wKHRpbWVPcmlnaW4sIHJlc291cmNlVGltaW5nLm5ldHdv
cmtMb2FkTWV0cmljcygpLnJlc3BvbnNlRW5kKTsKIApAQCAtMTE0LDggKzExMCw3IEBAIGRvdWJs
ZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjp3b3JrZXJTdGFydCgpIGNvbnN0CiAKIGRvdWJs
ZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0KCkgY29uc3QKIHsKLSAg
ICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwg
bV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGly
ZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxz
VEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwLjA7CiAKICAgICBpZiAoIW1fcmVzb3VyY2VUaW1p
bmcubmV0d29ya0xvYWRNZXRyaWNzKCkucmVkaXJlY3RDb3VudCkKQEAgLTEyNiw4ICsxMjEsNyBA
QCBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVkaXJlY3RTdGFydCgpIGNvbnN0
CiAKIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZWRpcmVjdEVuZCgpIGNvbnN0
CiB7Ci0gICAgaWYgKCFtX3Jlc291cmNlVGltaW5nLmFsbG93VGltaW5nRGV0YWlscygpCi0gICAg
ICAgIHx8IG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmln
aW5SZWRpcmVjdCkKKyAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3Mo
KS5mYWlsc1RBT0NoZWNrKQogICAgICAgICByZXR1cm4gMC4wOwogCiAgICAgaWYgKCFtX3Jlc291
cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlZGlyZWN0Q291bnQpCkBAIC0xNDUsOCAr
MTM5LDcgQEAgZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmZldGNoU3RhcnQoKSBj
b25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZG9tYWluTG9va3VwU3Rh
cnQoKSBjb25zdAogewotICAgIGlmICghbV9yZXNvdXJjZVRpbWluZy5hbGxvd1RpbWluZ0RldGFp
bHMoKQotICAgICAgICB8fCBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmhh
c0Nyb3NzT3JpZ2luUmVkaXJlY3QpCisgICAgaWYgKG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xv
YWRNZXRyaWNzKCkuZmFpbHNUQU9DaGVjaykKICAgICAgICAgcmV0dXJuIDAuMDsKIAogICAgIGlm
ICghbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5kb21haW5Mb29rdXBTdGFy
dCkKQEAgLTE1Nyw4ICsxNTAsNyBAQCBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6
ZG9tYWluTG9va3VwU3RhcnQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZzo6ZG9tYWluTG9va3VwRW5kKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1p
bmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3
b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291
cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJl
dHVybiAwLjA7CiAKICAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNz
KCkuZG9tYWluTG9va3VwRW5kKQpAQCAtMTY5LDggKzE2MSw3IEBAIGRvdWJsZSBQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nOjpkb21haW5Mb29rdXBFbmQoKSBjb25zdAogCiBkb3VibGUgUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdFN0YXJ0KCkgY29uc3QKIHsKLSAgICBpZiAoIW1f
cmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwgbV9yZXNvdXJj
ZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQorICAg
IGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxzVEFPQ2hlY2sp
CiAgICAgICAgIHJldHVybiAwLjA7CiAKICAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcubmV0d29y
a0xvYWRNZXRyaWNzKCkuY29ubmVjdFN0YXJ0KQpAQCAtMTgxLDggKzE3Miw3IEBAIGRvdWJsZSBQ
ZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpjb25uZWN0U3RhcnQoKSBjb25zdAogCiBkb3VibGUg
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6Y29ubmVjdEVuZCgpIGNvbnN0CiB7Ci0gICAgaWYg
KCFtX3Jlc291cmNlVGltaW5nLmFsbG93VGltaW5nRGV0YWlscygpCi0gICAgICAgIHx8IG1fcmVz
b3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkK
KyAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5mYWlsc1RBT0No
ZWNrKQogICAgICAgICByZXR1cm4gMC4wOwogCiAgICAgaWYgKCFtX3Jlc291cmNlVGltaW5nLm5l
dHdvcmtMb2FkTWV0cmljcygpLmNvbm5lY3RFbmQpCkBAIC0xOTMsOCArMTgzLDcgQEAgZG91Ymxl
IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OmNvbm5lY3RFbmQoKSBjb25zdAogCiBkb3VibGUg
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6c2VjdXJlQ29ubmVjdGlvblN0YXJ0KCkgY29uc3QK
IHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAg
ICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdp
blJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygp
LmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwLjA7CiAKICAgICBpZiAobV9yZXNvdXJj
ZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5zZWN1cmVDb25uZWN0aW9uU3RhcnQgPT0gcmV1
c2VkVExTQ29ubmVjdGlvblNlbnRpbmVsKQpAQCAtMjA4LDggKzE5Nyw3IEBAIGRvdWJsZSBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nOjpzZWN1cmVDb25uZWN0aW9uU3RhcnQoKSBjb25zdAogCiBk
b3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVxdWVzdFN0YXJ0KCkgY29uc3QKIHsK
LSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAg
fHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJl
ZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmZh
aWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwLjA7CiAKICAgICAvLyByZXF1ZXN0U3RhcnQg
aXMgMCB3aGVuIGEgbmV0d29yayByZXF1ZXN0IGlzIG5vdCBtYWRlLgpAQCAtMjIxLDggKzIwOSw3
IEBAIGRvdWJsZSBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nOjpyZXF1ZXN0U3RhcnQoKSBjb25z
dAogCiBkb3VibGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6cmVzcG9uc2VTdGFydCgpIGNv
bnN0CiB7Ci0gICAgaWYgKCFtX3Jlc291cmNlVGltaW5nLmFsbG93VGltaW5nRGV0YWlscygpCi0g
ICAgICAgIHx8IG1fcmVzb3VyY2VUaW1pbmcubmV0d29ya0xvYWRNZXRyaWNzKCkuaGFzQ3Jvc3NP
cmlnaW5SZWRpcmVjdCkKKyAgICBpZiAobV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJp
Y3MoKS5mYWlsc1RBT0NoZWNrKQogICAgICAgICByZXR1cm4gMC4wOwogCiAgICAgLy8gcmVzcG9u
c2VTdGFydCBpcyAwIHdoZW4gYSBuZXR3b3JrIHJlcXVlc3QgaXMgbm90IG1hZGUuCkBAIC0yNTgs
OCArMjQ1LDcgQEAgZG91YmxlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmc6OnJlc3BvbnNlRW5k
KCkgY29uc3QKIAogdWludDY0X3QgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6dHJhbnNmZXJT
aXplKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRh
aWxzKCkKLSAgICAgICAgfHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5o
YXNDcm9zc09yaWdpblJlZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtM
b2FkTWV0cmljcygpLmZhaWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgYXV0
byBlbmNvZGVkQm9keVNpemUgPSBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygp
LnJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQ7CkBAIC0yNzIsOCArMjU4LDcgQEAgdWludDY0X3Qg
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6dHJhbnNmZXJTaXplKCkgY29uc3QKIAogdWludDY0
X3QgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZzo6ZW5jb2RlZEJvZHlTaXplKCkgY29uc3QKIHsK
LSAgICBpZiAoIW1fcmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAg
fHwgbV9yZXNvdXJjZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJl
ZGlyZWN0KQorICAgIGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmZh
aWxzVEFPQ2hlY2spCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgYXV0byBlbmNvZGVkQm9keVNp
emUgPSBtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlc3BvbnNlQm9keUJ5
dGVzUmVjZWl2ZWQ7CkBAIC0yODUsOCArMjcwLDcgQEAgdWludDY0X3QgUGVyZm9ybWFuY2VSZXNv
dXJjZVRpbWluZzo6ZW5jb2RlZEJvZHlTaXplKCkgY29uc3QKIAogdWludDY0X3QgUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZzo6ZGVjb2RlZEJvZHlTaXplKCkgY29uc3QKIHsKLSAgICBpZiAoIW1f
cmVzb3VyY2VUaW1pbmcuYWxsb3dUaW1pbmdEZXRhaWxzKCkKLSAgICAgICAgfHwgbV9yZXNvdXJj
ZVRpbWluZy5uZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQorICAg
IGlmIChtX3Jlc291cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxzVEFPQ2hlY2sp
CiAgICAgICAgIHJldHVybiAwOwogCiAgICAgYXV0byBkZWNvZGVkQm9keVNpemUgPSBtX3Jlc291
cmNlVGltaW5nLm5ldHdvcmtMb2FkTWV0cmljcygpLnJlc3BvbnNlQm9keURlY29kZWRTaXplOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QZXJmb3JtYW5jZVRpbWluZy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5nLmNwcAppbmRleCA3YzQyNjVhNTc0
OTliM2RkYmFlMTU3NWIyOTA1ZmU3NTFlNDI4MjRjLi43YWYyMGQ3ZmQ1NTk1NWM2ODJmOGVjOWFi
NTFlMDhhMzBmMTFjY2M4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1h
bmNlVGltaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BlcmZvcm1hbmNlVGltaW5n
LmNwcApAQCAtNjcsNyArNjcsNyBAQCB1bnNpZ25lZCBsb25nIGxvbmcgUGVyZm9ybWFuY2VUaW1p
bmc6OnVubG9hZEV2ZW50U3RhcnQoKSBjb25zdAogICAgIGlmICghbWV0cmljcykKICAgICAgICAg
cmV0dXJuIDA7CiAKLSAgICBpZiAobWV0cmljcy0+aGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCB8fCAh
dGltaW5nLT5oYXNTYW1lT3JpZ2luQXNQcmV2aW91c0RvY3VtZW50KCkpCisgICAgaWYgKG1ldHJp
Y3MtPmZhaWxzVEFPQ2hlY2sgfHwgIXRpbWluZy0+aGFzU2FtZU9yaWdpbkFzUHJldmlvdXNEb2N1
bWVudCgpKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIHJldHVybiBtb25vdG9uaWNUaW1lVG9J
bnRlZ2VyTWlsbGlzZWNvbmRzKHRpbWluZy0+dW5sb2FkRXZlbnRTdGFydCgpKTsKQEAgLTgzLDcg
KzgzLDcgQEAgdW5zaWduZWQgbG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjp1bmxvYWRFdmVu
dEVuZCgpIGNvbnN0CiAgICAgaWYgKCFtZXRyaWNzKQogICAgICAgICByZXR1cm4gMDsKIAotICAg
IGlmIChtZXRyaWNzLT5oYXNDcm9zc09yaWdpblJlZGlyZWN0IHx8ICF0aW1pbmctPmhhc1NhbWVP
cmlnaW5Bc1ByZXZpb3VzRG9jdW1lbnQoKSkKKyAgICBpZiAobWV0cmljcy0+ZmFpbHNUQU9DaGVj
ayB8fCAhdGltaW5nLT5oYXNTYW1lT3JpZ2luQXNQcmV2aW91c0RvY3VtZW50KCkpCiAgICAgICAg
IHJldHVybiAwOwogCiAgICAgcmV0dXJuIG1vbm90b25pY1RpbWVUb0ludGVnZXJNaWxsaXNlY29u
ZHModGltaW5nLT51bmxvYWRFdmVudEVuZCgpKTsKQEAgLTkzLDcgKzkzLDcgQEAgdW5zaWduZWQg
bG9uZyBsb25nIFBlcmZvcm1hbmNlVGltaW5nOjpyZWRpcmVjdFN0YXJ0KCkgY29uc3QKIHsKICAg
ICBhdXRvKiBtZXRyaWNzID0gbmV0d29ya0xvYWRNZXRyaWNzKCk7CiAgICAgaWYgKCFtZXRyaWNz
Ci0gICAgICAgIHx8IG1ldHJpY3MtPmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QKKyAgICAgICAgfHwg
bWV0cmljcy0+ZmFpbHNUQU9DaGVjawogICAgICAgICB8fCAhbWV0cmljcy0+cmVkaXJlY3RDb3Vu
dCkKICAgICAgICAgcmV0dXJuIDA7CiAKQEAgLTEwNCw3ICsxMDQsNyBAQCB1bnNpZ25lZCBsb25n
IGxvbmcgUGVyZm9ybWFuY2VUaW1pbmc6OnJlZGlyZWN0RW5kKCkgY29uc3QKIHsKICAgICBhdXRv
KiBtZXRyaWNzID0gbmV0d29ya0xvYWRNZXRyaWNzKCk7CiAgICAgaWYgKCFtZXRyaWNzCi0gICAg
ICAgIHx8IG1ldHJpY3MtPmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QKKyAgICAgICAgfHwgbWV0cmlj
cy0+ZmFpbHNUQU9DaGVjawogICAgICAgICB8fCAhbWV0cmljcy0+cmVkaXJlY3RDb3VudCkKICAg
ICAgICAgcmV0dXJuIDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmNwcAppbmRleCA5MTY4N2UwOTU5ODRjZGY2MTBiYTU0
NWNlZGM2NTc1NzEyNjMxZmZjLi5jZDg2NjVjYmI3NWRhMzkzZTkwY2MwMjFkYmY5NTZhNzU0NjM3
MjNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZXNv
dXJjZUhhbmRsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9i
UmVzb3VyY2VIYW5kbGUuY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiUmVzb3VyY2VI
YW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNsdWRlICJS
ZXNvdXJjZVJlc3BvbnNlLmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRl
ICJTaGFyZWRCdWZmZXIuaCIKICNpbmNsdWRlIDx3dGYvQ29tcGxldGlvbkhhbmRsZXIuaD4KICNp
bmNsdWRlIDx3dGYvRmlsZVN5c3RlbS5oPgpAQCAtMTU0LDcgKzE1NSw3IEBAIHZvaWQgQmxvYlJl
c291cmNlSGFuZGxlOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KEJsb2JEYXRhKiBibG9iRGF0
YSwgY29uc3QgUmVzCiB9CiAKIEJsb2JSZXNvdXJjZUhhbmRsZTo6QmxvYlJlc291cmNlSGFuZGxl
KEJsb2JEYXRhKiBibG9iRGF0YSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNv
dXJjZUhhbmRsZUNsaWVudCogY2xpZW50LCBib29sIGFzeW5jKQotICAgIDogUmVzb3VyY2VIYW5k
bGUgeyBudWxscHRyLCByZXF1ZXN0LCBjbGllbnQsIGZhbHNlIC8qIGRlZmVyc0xvYWRpbmcgKi8s
IGZhbHNlIC8qIHNob3VsZENvbnRlbnRTbmlmZiAqLywgdHJ1ZSAvKiBzaG91bGRDb250ZW50RW5j
b2RpbmdTbmlmZiAqLyB9CisgICAgOiBSZXNvdXJjZUhhbmRsZSB7IG51bGxwdHIsIHJlcXVlc3Qs
IGNsaWVudCwgZmFsc2UgLyogZGVmZXJzTG9hZGluZyAqLywgZmFsc2UgLyogc2hvdWxkQ29udGVu
dFNuaWZmICovLCB0cnVlIC8qIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmICovLCBudWxscHRy
IC8qIHNvdXJjZU9yaWdpbiAqLywgZmFsc2UgLyogaXNNYWluRnJhbWVOYXZpZ2F0aW9uICovIH0K
ICAgICAsIG1fYmxvYkRhdGEgeyBibG9iRGF0YSB9CiAgICAgLCBtX2FzeW5jIHsgYXN5bmMgfQog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrTG9h
ZE1ldHJpY3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRN
ZXRyaWNzLmgKaW5kZXggN2ZhNjUyOTUwYjNhZDc4MTlmNWY0MzNhMzA2OTkxZTg4ODI0YTE2YS4u
NWY4YzAxYTdjMDJmODA5MjJiYWYyNDYyY2E2YWUwNmE2MGIzN2E2NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrTG9hZE1ldHJpY3MuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtMb2FkTWV0cmljcy5oCkBAIC05
NSw2ICs5NSw3IEBAIHB1YmxpYzoKICAgICBib29sIGNvbnN0cmFpbmVkIHsgZmFsc2UgfTsKICAg
ICBib29sIG11bHRpcGF0aCB7IGZhbHNlIH07CiAgICAgYm9vbCBpc1JldXNlZENvbm5lY3Rpb24g
eyBmYWxzZSB9OworICAgIGJvb2wgZmFpbHNUQU9DaGVjayB7IGZhbHNlIH07CiAgICAgYm9vbCBo
YXNDcm9zc09yaWdpblJlZGlyZWN0IHsgZmFsc2UgfTsKIH07CiAKQEAgLTEyOCw2ICsxMjksNyBA
QCBwdWJsaWM6CiAgICAgICAgIGNvcHkuY29uc3RyYWluZWQgPSBjb25zdHJhaW5lZDsKICAgICAg
ICAgY29weS5tdWx0aXBhdGggPSBtdWx0aXBhdGg7CiAgICAgICAgIGNvcHkuaXNSZXVzZWRDb25u
ZWN0aW9uID0gaXNSZXVzZWRDb25uZWN0aW9uOworICAgICAgICBjb3B5LmZhaWxzVEFPQ2hlY2sg
PSBmYWlsc1RBT0NoZWNrOwogICAgICAgICBjb3B5Lmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QgPSBo
YXNDcm9zc09yaWdpblJlZGlyZWN0OwogCiAgICAgICAgIGNvcHkucmVtb3RlQWRkcmVzcyA9IHJl
bW90ZUFkZHJlc3MuaXNvbGF0ZWRDb3B5KCk7CkBAIC0xNjUsNiArMTY3LDcgQEAgcHVibGljOgog
ICAgICAgICAgICAgJiYgY29uc3RyYWluZWQgPT0gb3RoZXIuY29uc3RyYWluZWQKICAgICAgICAg
ICAgICYmIG11bHRpcGF0aCA9PSBvdGhlci5tdWx0aXBhdGgKICAgICAgICAgICAgICYmIGlzUmV1
c2VkQ29ubmVjdGlvbiA9PSBvdGhlci5pc1JldXNlZENvbm5lY3Rpb24KKyAgICAgICAgICAgICYm
IGZhaWxzVEFPQ2hlY2sgPT0gb3RoZXIuZmFpbHNUQU9DaGVjawogICAgICAgICAgICAgJiYgaGFz
Q3Jvc3NPcmlnaW5SZWRpcmVjdCA9PSBvdGhlci5oYXNDcm9zc09yaWdpblJlZGlyZWN0CiAgICAg
ICAgICAgICAmJiBwcm90b2NvbCA9PSBvdGhlci5wcm90b2NvbAogICAgICAgICAgICAgJiYgcmVk
aXJlY3RDb3VudCA9PSBvdGhlci5yZWRpcmVjdENvdW50CkBAIC0yMTAsNyArMjEzLDcgQEAgcHVi
bGljOgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiBCb3g8TmV0d29ya0xvYWRNZXRyaWNzPiBjb3B5
VGltaW5nRGF0YShOU1VSTENvbm5lY3Rpb24gKiwgY29uc3QgUmVzb3VyY2VIYW5kbGUmKTsKLVdF
QkNPUkVfRVhQT1JUIEJveDxOZXR3b3JrTG9hZE1ldHJpY3M+IGNvcHlUaW1pbmdEYXRhKE5TVVJM
U2Vzc2lvblRhc2tNZXRyaWNzICppbmNvbXBsZXRlTWV0cmljcywgYm9vbCBoYXNDcm9zc09yaWdp
blJlZGlyZWN0KTsKK1dFQkNPUkVfRVhQT1JUIEJveDxOZXR3b3JrTG9hZE1ldHJpY3M+IGNvcHlU
aW1pbmdEYXRhKE5TVVJMU2Vzc2lvblRhc2tNZXRyaWNzICppbmNvbXBsZXRlTWV0cmljcywgY29u
c3QgTmV0d29ya0xvYWRNZXRyaWNzJik7CiAjZW5kaWYKIAogdGVtcGxhdGU8Y2xhc3MgRW5jb2Rl
cj4KQEAgLTIzNCw2ICsyMzcsNyBAQCB2b2lkIE5ldHdvcmtMb2FkTWV0cmljczo6ZW5jb2RlKEVu
Y29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBjb25zdHJhaW5lZDsKICAgICBl
bmNvZGVyIDw8IG11bHRpcGF0aDsKICAgICBlbmNvZGVyIDw8IGlzUmV1c2VkQ29ubmVjdGlvbjsK
KyAgICBlbmNvZGVyIDw8IGZhaWxzVEFPQ2hlY2s7CiAgICAgZW5jb2RlciA8PCBoYXNDcm9zc09y
aWdpblJlZGlyZWN0OwogICAgIGVuY29kZXIgPDwgcHJvdG9jb2w7CiAgICAgZW5jb2RlciA8PCBy
ZWRpcmVjdENvdW50OwpAQCAtMjcyLDYgKzI3Niw3IEBAIGJvb2wgTmV0d29ya0xvYWRNZXRyaWNz
OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgTmV0d29ya0xvYWRNZXRyaWNzJiBtZXRyaWNzKQog
ICAgICAgICAmJiBkZWNvZGVyLmRlY29kZShtZXRyaWNzLmNvbnN0cmFpbmVkKQogICAgICAgICAm
JiBkZWNvZGVyLmRlY29kZShtZXRyaWNzLm11bHRpcGF0aCkKICAgICAgICAgJiYgZGVjb2Rlci5k
ZWNvZGUobWV0cmljcy5pc1JldXNlZENvbm5lY3Rpb24pCisgICAgICAgICYmIGRlY29kZXIuZGVj
b2RlKG1ldHJpY3MuZmFpbHNUQU9DaGVjaykKICAgICAgICAgJiYgZGVjb2Rlci5kZWNvZGUobWV0
cmljcy5oYXNDcm9zc09yaWdpblJlZGlyZWN0KQogICAgICAgICAmJiBkZWNvZGVyLmRlY29kZSht
ZXRyaWNzLnByb3RvY29sKQogICAgICAgICAmJiBkZWNvZGVyLmRlY29kZShtZXRyaWNzLnJlZGly
ZWN0Q291bnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jl
c291cmNlSGFuZGxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VIYW5kbGUuY3BwCmluZGV4IDBkN2E3M2QxYTMyZWRlMmRmNjgzMDFhMjVjZjExZjU3ZjViYTZh
MTYuLjg2MjFhOGMzYWJmYzllOTJkYjI1NzdiYzNkMTU5MWIzNTc2MmU2MWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuY3BwCkBAIC0z
MSw3ICszMSw5IEBACiAjaW5jbHVkZSAiTmV0d29ya2luZ0NvbnRleHQuaCIKICNpbmNsdWRlICJO
b3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlQ2xpZW50LmgiCisjaW5j
bHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJUaW1lci5oIgorI2luY2x1ZGUgIlRp
bWluZ0FsbG93T3JpZ2luLmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2luY2x1ZGUgPHd0Zi9D
b21wbGV0aW9uSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CkBAIC03NSw4
ICs3Nyw4IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnJlZ2lzdGVyQnVpbHRpblN5bmNocm9ub3Vz
TG9hZGVyKGNvbnN0IEF0b21TdHJpbmcmIHByb3RvY29sCiAgICAgYnVpbHRpblJlc291cmNlSGFu
ZGxlU3luY2hyb25vdXNMb2FkZXJNYXAoKS5hZGQocHJvdG9jb2wsIGxvYWRlcik7CiB9CiAKLVJl
c291cmNlSGFuZGxlOjpSZXNvdXJjZUhhbmRsZShOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUhhbmRsZUNsaWVudCogY2xp
ZW50LCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVudFNuaWZmLCBib29sIHNo
b3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKQotICAgIDogZChtYWtlVW5pcXVlPFJlc291cmNlSGFu
ZGxlSW50ZXJuYWw+KHRoaXMsIGNvbnRleHQsIHJlcXVlc3QsIGNsaWVudCwgZGVmZXJzTG9hZGlu
Zywgc2hvdWxkQ29udGVudFNuaWZmICYmIHNob3VsZENvbnRlbnRTbmlmZlVSTChyZXF1ZXN0LnVy
bCgpKSwgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYpKQorUmVzb3VyY2VIYW5kbGU6OlJlc291
cmNlSGFuZGxlKE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVl
c3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQsIGJvb2wgZGVmZXJzTG9h
ZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVudEVuY29kaW5n
U25pZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBzb3VyY2VPcmlnaW4sIGJvb2wgaXNNYWlu
RnJhbWVOYXZpZ2F0aW9uKQorICAgIDogZChtYWtlVW5pcXVlPFJlc291cmNlSGFuZGxlSW50ZXJu
YWw+KHRoaXMsIGNvbnRleHQsIHJlcXVlc3QsIGNsaWVudCwgZGVmZXJzTG9hZGluZywgc2hvdWxk
Q29udGVudFNuaWZmICYmIHNob3VsZENvbnRlbnRTbmlmZlVSTChyZXF1ZXN0LnVybCgpKSwgc2hv
dWxkQ29udGVudEVuY29kaW5nU25pZmYsIFdURk1vdmUoc291cmNlT3JpZ2luKSwgaXNNYWluRnJh
bWVOYXZpZ2F0aW9uKSkKIHsKICAgICBpZiAoIXJlcXVlc3QudXJsKCkuaXNWYWxpZCgpKSB7CiAg
ICAgICAgIHNjaGVkdWxlRmFpbHVyZShJbnZhbGlkVVJMRmFpbHVyZSk7CkBAIC04OSwxMiArOTEs
MTIgQEAgUmVzb3VyY2VIYW5kbGU6OlJlc291cmNlSGFuZGxlKE5ldHdvcmtpbmdDb250ZXh0KiBj
b250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QKICAgICB9CiB9CiAKLVJlZlB0cjxSZXNvdXJj
ZUhhbmRsZT4gUmVzb3VyY2VIYW5kbGU6OmNyZWF0ZShOZXR3b3JraW5nQ29udGV4dCogY29udGV4
dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUhhbmRsZUNsaWVudCog
Y2xpZW50LCBib29sIGRlZmVyc0xvYWRpbmcsIGJvb2wgc2hvdWxkQ29udGVudFNuaWZmLCBib29s
IHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKQorUmVmUHRyPFJlc291cmNlSGFuZGxlPiBSZXNv
dXJjZUhhbmRsZTo6Y3JlYXRlKE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQsIGJvb2wg
ZGVmZXJzTG9hZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVu
dEVuY29kaW5nU25pZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBzb3VyY2VPcmlnaW4sIGJv
b2wgaXNNYWluRnJhbWVOYXZpZ2F0aW9uKQogewogICAgIGlmIChhdXRvIGNvbnN0cnVjdG9yID0g
YnVpbHRpblJlc291cmNlSGFuZGxlQ29uc3RydWN0b3JNYXAoKS5nZXQocmVxdWVzdC51cmwoKS5w
cm90b2NvbCgpLnRvU3RyaW5nV2l0aG91dENvcHlpbmcoKSkpCiAgICAgICAgIHJldHVybiBjb25z
dHJ1Y3RvcihyZXF1ZXN0LCBjbGllbnQpOwogCi0gICAgYXV0byBuZXdIYW5kbGUgPSBhZG9wdFJl
ZigqbmV3IFJlc291cmNlSGFuZGxlKGNvbnRleHQsIHJlcXVlc3QsIGNsaWVudCwgZGVmZXJzTG9h
ZGluZywgc2hvdWxkQ29udGVudFNuaWZmLCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZikpOwor
ICAgIGF1dG8gbmV3SGFuZGxlID0gYWRvcHRSZWYoKm5ldyBSZXNvdXJjZUhhbmRsZShjb250ZXh0
LCByZXF1ZXN0LCBjbGllbnQsIGRlZmVyc0xvYWRpbmcsIHNob3VsZENvbnRlbnRTbmlmZiwgc2hv
dWxkQ29udGVudEVuY29kaW5nU25pZmYsIFdURk1vdmUoc291cmNlT3JpZ2luKSwgaXNNYWluRnJh
bWVOYXZpZ2F0aW9uKSk7CiAKICAgICBpZiAobmV3SGFuZGxlLT5kLT5tX3NjaGVkdWxlZEZhaWx1
cmVUeXBlICE9IE5vRmFpbHVyZSkKICAgICAgICAgcmV0dXJuIG5ld0hhbmRsZTsKQEAgLTEzMywx
NCArMTM1LDE0IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmZhaWx1cmVUaW1lckZpcmVkKCkKICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAotdm9pZCBSZXNvdXJjZUhhbmRsZTo6bG9hZFJl
c291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwgY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSBzdG9yZWRDcmVk
ZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYgZXJyb3IsIFJlc291cmNlUmVzcG9uc2UmIHJl
c3BvbnNlLCBWZWN0b3I8dWludDhfdD4mIGRhdGEpCit2b2lkIFJlc291cmNlSGFuZGxlOjpsb2Fk
UmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFN0b3JlZENyZWRlbnRpYWxzUG9saWN5IHN0b3JlZENy
ZWRlbnRpYWxzUG9saWN5LCBTZWN1cml0eU9yaWdpbiogc291cmNlT3JpZ2luLCBSZXNvdXJjZUVy
cm9yJiBlcnJvciwgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFZlY3Rvcjx1aW50OF90PiYg
ZGF0YSkKIHsKICAgICBpZiAoYXV0byBjb25zdHJ1Y3RvciA9IGJ1aWx0aW5SZXNvdXJjZUhhbmRs
ZVN5bmNocm9ub3VzTG9hZGVyTWFwKCkuZ2V0KHJlcXVlc3QudXJsKCkucHJvdG9jb2woKS50b1N0
cmluZ1dpdGhvdXRDb3B5aW5nKCkpKSB7CiAgICAgICAgIGNvbnN0cnVjdG9yKGNvbnRleHQsIHJl
cXVlc3QsIHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBlcnJvciwgcmVzcG9uc2UsIGRhdGEpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgcGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5jaHJv
bm91c2x5KGNvbnRleHQsIHJlcXVlc3QsIHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBlcnJvciwg
cmVzcG9uc2UsIGRhdGEpOworICAgIHBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseShj
b250ZXh0LCByZXF1ZXN0LCBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgc291cmNlT3JpZ2luLCBl
cnJvciwgcmVzcG9uc2UsIGRhdGEpOwogfQogCiBSZXNvdXJjZUhhbmRsZUNsaWVudCogUmVzb3Vy
Y2VIYW5kbGU6OmNsaWVudCgpIGNvbnN0CkBAIC0yMDQsMTQgKzIwNiwzNCBAQCB2b2lkIFJlc291
cmNlSGFuZGxlOjpjbGVhckF1dGhlbnRpY2F0aW9uKCkKICAgICBkLT5tX2N1cnJlbnRXZWJDaGFs
bGVuZ2UubnVsbGlmeSgpOwogfQogCitib29sIFJlc291cmNlSGFuZGxlOjpmYWlsc1RBT0NoZWNr
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gZC0+bV9mYWlsc1RBT0NoZWNrOworfQorCit2b2lkIFJl
c291cmNlSGFuZGxlOjpjaGVja1RBTyhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkK
K3sKKyAgICBpZiAoZC0+bV9mYWlsc1RBT0NoZWNrKQorICAgICAgICByZXR1cm47CisKKyAgICBS
ZWZQdHI8U2VjdXJpdHlPcmlnaW4+IG9yaWdpbjsKKyAgICBpZiAoZC0+bV9pc01haW5GcmFtZU5h
dmlnYXRpb24pCisgICAgICAgIG9yaWdpbiA9IFNlY3VyaXR5T3JpZ2luOjpjcmVhdGUoZmlyc3RS
ZXF1ZXN0KCkudXJsKCkpOworICAgIGVsc2UKKyAgICAgICAgb3JpZ2luID0gZC0+bV9zb3VyY2VP
cmlnaW47CisKKyAgICBpZiAob3JpZ2luKQorICAgICAgICBkLT5tX2ZhaWxzVEFPQ2hlY2sgPSAh
cGFzc2VzVGltaW5nQWxsb3dPcmlnaW5DaGVjayhyZXNwb25zZSwgKm9yaWdpbik7Cit9CisKIGJv
b2wgUmVzb3VyY2VIYW5kbGU6Omhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QoKSBjb25zdAogewogICAg
IHJldHVybiBkLT5tX2hhc0Nyb3NzT3JpZ2luUmVkaXJlY3Q7CiB9CiAKLXZvaWQgUmVzb3VyY2VI
YW5kbGU6OnNldEhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QoYm9vbCB2YWx1ZSkKK3ZvaWQgUmVzb3Vy
Y2VIYW5kbGU6Om1hcmtBc0hhdmluZ0Nyb3NzT3JpZ2luUmVkaXJlY3QoKQogewotICAgIGQtPm1f
aGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCA9IHZhbHVlOworICAgIGQtPm1faGFzQ3Jvc3NPcmlnaW5S
ZWRpcmVjdCA9IHRydWU7CiB9CiAKIHZvaWQgUmVzb3VyY2VIYW5kbGU6OmluY3JlbWVudFJlZGly
ZWN0Q291bnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZUhhbmRsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJj
ZUhhbmRsZS5oCmluZGV4IGZmZDg4NTQ3ZTYwNmJmOGMwZWI1MmFmOGJiOGE5MjBjYTYxYjE3OWQu
LmZhZmRmZTg3YzgzN2U2MTU3ZDJmMTNlOWE3Y2EwMDk2OWQ1MGIxYzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlLmgKQEAgLTgzLDYgKzgz
LDcgQEAgY2xhc3MgUmVzb3VyY2VIYW5kbGVJbnRlcm5hbDsKIGNsYXNzIE5ldHdvcmtMb2FkTWV0
cmljczsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIGNsYXNzIFJlc291cmNlUmVzcG9uc2U7Citj
bGFzcyBTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIGNsYXNzIFN5bmNocm9u
b3VzTG9hZGVyTWVzc2FnZVF1ZXVlOwogY2xhc3MgVGltZXI7CkBAIC05NCw4ICs5NSw4IEBAIGNs
YXNzIEN1cmxSZXNvdXJjZUhhbmRsZURlbGVnYXRlOwogCiBjbGFzcyBSZXNvdXJjZUhhbmRsZSA6
IHB1YmxpYyBSZWZDb3VudGVkPFJlc291cmNlSGFuZGxlPiwgcHVibGljIEF1dGhlbnRpY2F0aW9u
Q2xpZW50IHsKIHB1YmxpYzoKLSAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVmUHRyPFJlc291
cmNlSGFuZGxlPiBjcmVhdGUoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVl
c3QmLCBSZXNvdXJjZUhhbmRsZUNsaWVudCosIGJvb2wgZGVmZXJzTG9hZGluZywgYm9vbCBzaG91
bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYpOwotICAgIFdF
QkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29y
a2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBTdG9yZWRDcmVkZW50aWFsc1Bv
bGljeSwgUmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVzcG9uc2UmLCBWZWN0b3I8dWludDhfdD4m
IGRhdGEpOworICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+
IGNyZWF0ZShOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFJlc291
cmNlSGFuZGxlQ2xpZW50KiwgYm9vbCBkZWZlcnNMb2FkaW5nLCBib29sIHNob3VsZENvbnRlbnRT
bmlmZiwgYm9vbCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwgUmVmUHRyPFNlY3VyaXR5T3Jp
Z2luPiYmIHNvdXJjZU9yaWdpbiwgYm9vbCBpc01haW5GcmFtZU5hdmlnYXRpb24pOworICAgIFdF
QkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29y
a2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBTdG9yZWRDcmVkZW50aWFsc1Bv
bGljeSwgU2VjdXJpdHlPcmlnaW4qLCBSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VSZXNwb25zZSYs
IFZlY3Rvcjx1aW50OF90PiYgZGF0YSk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCB+UmVz
b3VyY2VIYW5kbGUoKTsKIAogI2lmIFBMQVRGT1JNKENPQ09BKSB8fCBVU0UoQ0ZVUkxDT05ORUNU
SU9OKQpAQCAtMTc0LDggKzE3NSwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXROZXR3b3JrTG9h
ZE1ldHJpY3MoQm94PE5ldHdvcmtMb2FkTWV0cmljcz4mJik7CiAKICAgICBNb25vdG9uaWNUaW1l
IHN0YXJ0VGltZUJlZm9yZVJlZGlyZWN0cygpIGNvbnN0OworICAgIGJvb2wgZmFpbHNUQU9DaGVj
aygpIGNvbnN0OworICAgIHZvaWQgY2hlY2tUQU8oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOwog
ICAgIGJvb2wgaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCgpIGNvbnN0OwotICAgIHZvaWQgc2V0SGFz
Q3Jvc3NPcmlnaW5SZWRpcmVjdChib29sKTsKKyAgICB2b2lkIG1hcmtBc0hhdmluZ0Nyb3NzT3Jp
Z2luUmVkaXJlY3QoKTsKICAgICB1aW50MTZfdCByZWRpcmVjdENvdW50KCkgY29uc3Q7CiAgICAg
dm9pZCBpbmNyZW1lbnRSZWRpcmVjdENvdW50KCk7CiAKQEAgLTIwNiw3ICsyMDksNyBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJCdWlsdGluU3luY2hyb25vdXNMb2FkZXIoY29u
c3QgQXRvbVN0cmluZyYgcHJvdG9jb2wsIEJ1aWx0aW5TeW5jaHJvbm91c0xvYWRlcik7CiAKIHBy
b3RlY3RlZDoKLSAgICBSZXNvdXJjZUhhbmRsZShOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFJl
c291cmNlUmVxdWVzdCYsIFJlc291cmNlSGFuZGxlQ2xpZW50KiwgYm9vbCBkZWZlcnNMb2FkaW5n
LCBib29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlm
Zik7CisgICAgUmVzb3VyY2VIYW5kbGUoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmLCBSZXNvdXJjZUhhbmRsZUNsaWVudCosIGJvb2wgZGVmZXJzTG9hZGluZywgYm9v
bCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVudEVuY29kaW5nU25pZmYsIFJl
ZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBzb3VyY2VPcmlnaW4sIGJvb2wgaXNNYWluRnJhbWVOYXZp
Z2F0aW9uKTsKIAogcHJpdmF0ZToKICAgICBlbnVtIEZhaWx1cmVUeXBlIHsKQEAgLTIyMiw3ICsy
MjUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2NoZWR1bGVGYWlsdXJlKEZhaWx1cmVUeXBlKTsK
IAogICAgIGJvb2wgc3RhcnQoKTsKLSAgICBzdGF0aWMgdm9pZCBwbGF0Zm9ybUxvYWRSZXNvdXJj
ZVN5bmNocm9ub3VzbHkoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
LCBTdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVzcG9u
c2UmLCBWZWN0b3I8dWludDhfdD4mIGRhdGEpOworICAgIHN0YXRpYyB2b2lkIHBsYXRmb3JtTG9h
ZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFJlc291cmNl
UmVxdWVzdCYsIFN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBTZWN1cml0eU9yaWdpbiosIFJlc291
cmNlRXJyb3ImLCBSZXNvdXJjZVJlc3BvbnNlJiwgVmVjdG9yPHVpbnQ4X3Q+JiBkYXRhKTsKIAog
ICAgIHZvaWQgcmVmQXV0aGVudGljYXRpb25DbGllbnQoKSBvdmVycmlkZSB7IHJlZigpOyB9CiAg
ICAgdm9pZCBkZXJlZkF1dGhlbnRpY2F0aW9uQ2xpZW50KCkgb3ZlcnJpZGUgeyBkZXJlZigpOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFu
ZGxlSW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VI
YW5kbGVJbnRlcm5hbC5oCmluZGV4IDE4ZmQ0MWM4NjY3N2Y1ZTAwMDQ3ODZlMzFkNTZiNTNhNTc1
ZDgxYWUuLmVjODk0MmM5ZTIyNTAwZDA2YThlNzU1MGY4MTM2YTliNjljYTczMDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5h
bC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJ
bnRlcm5hbC5oCkBAIC02NSw3ICs2NSw3IEBAIGNsYXNzIFJlc291cmNlSGFuZGxlSW50ZXJuYWwg
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlc291cmNlSGFuZGxlSW50ZXJuYWwpOwogICAg
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEX1dJVEhfSEVBUF9JREVOVElGSUVSKFJlc291cmNlSGFu
ZGxlSW50ZXJuYWwpOwogcHVibGljOgotICAgIFJlc291cmNlSGFuZGxlSW50ZXJuYWwoUmVzb3Vy
Y2VIYW5kbGUqIGxvYWRlciwgTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IFJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCwgUmVzb3VyY2VIYW5kbGVDbGllbnQqIGNsaWVudCwgYm9vbCBk
ZWZlcnNMb2FkaW5nLCBib29sIHNob3VsZENvbnRlbnRTbmlmZiwgYm9vbCBzaG91bGRDb250ZW50
RW5jb2RpbmdTbmlmZikKKyAgICBSZXNvdXJjZUhhbmRsZUludGVybmFsKFJlc291cmNlSGFuZGxl
KiBsb2FkZXIsIE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVl
c3QmIHJlcXVlc3QsIFJlc291cmNlSGFuZGxlQ2xpZW50KiBjbGllbnQsIGJvb2wgZGVmZXJzTG9h
ZGluZywgYm9vbCBzaG91bGRDb250ZW50U25pZmYsIGJvb2wgc2hvdWxkQ29udGVudEVuY29kaW5n
U25pZmYsIFJlZlB0cjxTZWN1cml0eU9yaWdpbj4mJiBzb3VyY2VPcmlnaW4sIGJvb2wgaXNNYWlu
RnJhbWVOYXZpZ2F0aW9uKQogICAgICAgICA6IG1fY29udGV4dChjb250ZXh0KQogICAgICAgICAs
IG1fY2xpZW50KGNsaWVudCkKICAgICAgICAgLCBtX2ZpcnN0UmVxdWVzdChyZXF1ZXN0KQpAQCAt
NzgsNiArNzgsOCBAQCBwdWJsaWM6CiAgICAgICAgICwgbV9jdXJyZW50UmVxdWVzdChyZXF1ZXN0
KQogI2VuZGlmCiAgICAgICAgICwgbV9mYWlsdXJlVGltZXIoKmxvYWRlciwgJlJlc291cmNlSGFu
ZGxlOjpmYWlsdXJlVGltZXJGaXJlZCkKKyAgICAgICAgLCBtX3NvdXJjZU9yaWdpbihXVEZNb3Zl
KHNvdXJjZU9yaWdpbikpCisgICAgICAgICwgbV9pc01haW5GcmFtZU5hdmlnYXRpb24oaXNNYWlu
RnJhbWVOYXZpZ2F0aW9uKQogICAgIHsKICAgICAgICAgY29uc3QgVVJMJiB1cmwgPSBtX2ZpcnN0
UmVxdWVzdC51cmwoKTsKICAgICAgICAgbV91c2VyID0gdXJsLnVzZXIoKTsKQEAgLTEzMyw3ICsx
MzUsOSBAQCBwdWJsaWM6CiAgICAgQm94PE5ldHdvcmtMb2FkTWV0cmljcz4gbV9uZXR3b3JrTG9h
ZE1ldHJpY3M7CiAgICAgTW9ub3RvbmljVGltZSBtX3N0YXJ0VGltZTsKICAgICB1aW50MTZfdCBt
X3JlZGlyZWN0Q291bnQgeyAwIH07CisgICAgYm9vbCBtX2ZhaWxzVEFPQ2hlY2sgeyBmYWxzZSB9
OwogICAgIGJvb2wgbV9oYXNDcm9zc09yaWdpblJlZGlyZWN0IHsgZmFsc2UgfTsKKyAgICBib29s
IG1faXNDcm9zc09yaWdpbiB7IGZhbHNlIH07CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICAv
LyBXZSBuZWVkIHRvIGtlZXAgYSByZWZlcmVuY2UgdG8gdGhlIG9yaWdpbmFsIGNoYWxsZW5nZSB0
byBiZSBhYmxlIHRvIGNhbmNlbCBpdC4KQEAgLTE0NCw2ICsxNDgsOCBAQCBwdWJsaWM6CiAgICAg
QXV0aGVudGljYXRpb25DaGFsbGVuZ2UgbV9jdXJyZW50V2ViQ2hhbGxlbmdlOwogICAgIFJlc291
cmNlSGFuZGxlOjpGYWlsdXJlVHlwZSBtX3NjaGVkdWxlZEZhaWx1cmVUeXBlIHsgUmVzb3VyY2VI
YW5kbGU6Ok5vRmFpbHVyZSB9OwogICAgIFRpbWVyIG1fZmFpbHVyZVRpbWVyOworICAgIFJlZlB0
cjxTZWN1cml0eU9yaWdpbj4gbV9zb3VyY2VPcmlnaW47CisgICAgYm9vbCBtX2lzTWFpbkZyYW1l
TmF2aWdhdGlvbiB7IGZhbHNlIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1RpbWluZ0FsbG93T3JpZ2lu
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvVGltaW5nQWxsb3dPcmlnaW4u
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmUxZWRmODVmMjY1OGVmMjYyYTZjM2ZjZmY3MjRhODk1YjgzNmViNzEK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1RpbWlu
Z0FsbG93T3JpZ2luLmNwcApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIlRpbWluZ0FsbG93T3JpZ2luLmgiCisKKyNpbmNsdWRlICJI
VFRQUGFyc2Vycy5oIgorI2luY2x1ZGUgIlJlc291cmNlUmVzcG9uc2UuaCIKKyNpbmNsdWRlICJT
ZWN1cml0eU9yaWdpbi5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Jvb2wgcGFzc2VzVGlt
aW5nQWxsb3dPcmlnaW5DaGVjayhjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgY29u
c3QgU2VjdXJpdHlPcmlnaW4mIGluaXRpYXRvclNlY3VyaXR5T3JpZ2luKQoreworICAgIC8vIGh0
dHBzOi8vZmV0Y2guc3BlYy53aGF0d2cub3JnLyN0YW8tY2hlY2sKKyAgICBhdXRvIHJlc291cmNl
T3JpZ2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZShyZXNwb25zZS51cmwoKSk7CisgICAgaWYg
KHJlc291cmNlT3JpZ2luLT5pc1NhbWVTY2hlbWVIb3N0UG9ydChpbml0aWF0b3JTZWN1cml0eU9y
aWdpbikpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgY29uc3QgYXV0byYgdGltaW5nQWxs
b3dPcmlnaW5TdHJpbmcgPSByZXNwb25zZS5odHRwSGVhZGVyRmllbGQoSFRUUEhlYWRlck5hbWU6
OlRpbWluZ0FsbG93T3JpZ2luKTsKKyAgICBjb25zdCBhdXRvJiBzZWN1cml0eU9yaWdpbiA9IGlu
aXRpYXRvclNlY3VyaXR5T3JpZ2luLnRvU3RyaW5nKCk7CisgICAgZm9yIChhdXRvIG9yaWdpbldp
dGhTcGFjZSA6IFN0cmluZ1ZpZXcodGltaW5nQWxsb3dPcmlnaW5TdHJpbmcpLnNwbGl0KCcsJykp
IHsKKyAgICAgICAgYXV0byBvcmlnaW4gPSBzdHJpcExlYWRpbmdBbmRUcmFpbGluZ0hUVFBTcGFj
ZXMob3JpZ2luV2l0aFNwYWNlKTsKKyAgICAgICAgaWYgKG9yaWdpbiA9PSAiKiIgfHwgb3JpZ2lu
ID09IHNlY3VyaXR5T3JpZ2luKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisg
ICAgcmV0dXJuIGZhbHNlOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL1RpbWluZ0FsbG93T3JpZ2luLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL1RpbWluZ0FsbG93T3JpZ2luLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTAwZDlmMDYxM2ZhMjJm
YWEzYTA0MDMzZmZjMDUyYjFlMDU0MDA1YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvVGltaW5nQWxsb3dPcmlnaW4uaApAQCAtMCwwICsxLDM1IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgUmVzb3VyY2VSZXNwb25zZTsKK2NsYXNzIFNlY3VyaXR5T3JpZ2luOworCitXRUJDT1JFX0VY
UE9SVCBib29sIHBhc3Nlc1RpbWluZ0FsbG93T3JpZ2luQ2hlY2soY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYsIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiBpbml0aWF0b3JTZWN1cml0eU9yaWdpbik7CisK
K30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3Vy
Y2VIYW5kbGVDRk5ldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jl
c291cmNlSGFuZGxlQ0ZOZXQuY3BwCmluZGV4IGFjZTVhNDE0ZDI2ODVkZDNiMzVjY2I5ZDljYThh
NDVkOWUwNjhkZWYuLjdjNDJlODgzNWY1MDE3MjIzYzJhNTQ0ODk1MDA0MTdmZTBjOWU0ZjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvUmVzb3VyY2VIYW5k
bGVDRk5ldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNv
dXJjZUhhbmRsZUNGTmV0LmNwcApAQCAtNTIyLDcgKzUyMiw3IEBAIHN0YXRpYyB2b2lkIGVtcHR5
UGVyZm9ybSh2b2lkKikKIHsKIH0KIAotdm9pZCBSZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1Mb2Fk
UmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBS
ZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFN0b3JlZENyZWRlbnRpYWxzUG9saWN5IHN0b3JlZENy
ZWRlbnRpYWxzUG9saWN5LCBSZXNvdXJjZUVycm9yJiBlcnJvciwgUmVzb3VyY2VSZXNwb25zZSYg
cmVzcG9uc2UsIFZlY3Rvcjx1aW50OF90PiYgZGF0YSkKK3ZvaWQgUmVzb3VyY2VIYW5kbGU6OnBs
YXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCogY29udGV4
dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBTdG9yZWRDcmVkZW50aWFsc1BvbGlj
eSBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgU2VjdXJpdHlPcmlnaW4qIHNvdXJjZU9yaWdpbiwg
UmVzb3VyY2VFcnJvciYgZXJyb3IsIFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBWZWN0b3I8
dWludDhfdD4mIGRhdGEpCiB7CiAgICAgTE9HKE5ldHdvcmssICJSZXNvdXJjZUhhbmRsZTo6cGxh
dGZvcm1Mb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5OiVzIHNzdG9yZWRDcmVkZW50aWFsc1BvbGlj
eToldSIsIHJlcXVlc3QudXJsKCkuc3RyaW5nKCkudXRmOCgpLmRhdGEoKSwgc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KHN0b3JlZENyZWRlbnRpYWxzUG9saWN5KSk7CiAKQEAgLTUzNyw3ICs1MzcsNyBA
QCB2b2lkIFJlc291cmNlSGFuZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHko
TmV0d29ya2luZ0NvbnRleHQqIGNvbnRleAogICAgIGJvb2wgZGVmZXJzTG9hZGluZyA9IGZhbHNl
OwogICAgIGJvb2wgc2hvdWxkQ29udGVudFNuaWZmID0gdHJ1ZTsKICAgICBib29sIHNob3VsZENv
bnRlbnRFbmNvZGluZ1NuaWZmID0gdHJ1ZTsKLSAgICBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IGhh
bmRsZSA9IGFkb3B0UmVmKG5ldyBSZXNvdXJjZUhhbmRsZShjb250ZXh0LCByZXF1ZXN0LCAmY2xp
ZW50LCBkZWZlcnNMb2FkaW5nLCBzaG91bGRDb250ZW50U25pZmYsIHNob3VsZENvbnRlbnRFbmNv
ZGluZ1NuaWZmKSk7CisgICAgUmVmUHRyPFJlc291cmNlSGFuZGxlPiBoYW5kbGUgPSBhZG9wdFJl
ZihuZXcgUmVzb3VyY2VIYW5kbGUoY29udGV4dCwgcmVxdWVzdCwgJmNsaWVudCwgZGVmZXJzTG9h
ZGluZywgc2hvdWxkQ29udGVudFNuaWZmLCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwgc291
cmNlT3JpZ2luLCBmYWxzZSAvKiBpc01haW5GcmFtZU5hdmlnYXRpb24gKi8gKSk7CiAKICAgICBo
YW5kbGUtPmQtPm1fc3RvcmFnZVNlc3Npb24gPSBjb250ZXh0LT5zdG9yYWdlU2Vzc2lvbigpLT5w
bGF0Zm9ybVNlc3Npb24oKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9jb2NvYS9OZXR3b3JrTG9hZE1ldHJpY3MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtMb2FkTWV0cmljcy5tbQppbmRleCBiNTQ0N2RmNTQ3
NmMwYzRjNGFiYzU4OWNiMzE3ODViYmY0OGNhZDk1Li42MzEyZTA2ODQyOTdiNDNjMzMxMWU0NzM5
YjY4MWFiNDQ1YzMzNjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2NvY29hL05ldHdvcmtMb2FkTWV0cmljcy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2NvY29hL05ldHdvcmtMb2FkTWV0cmljcy5tbQpAQCAtMzgsNyArMzgsNyBA
QCBzdGF0aWMgTW9ub3RvbmljVGltZSBkYXRlVG9Nb25vdG9uaWNUaW1lKE5TRGF0ZSAqZGF0ZSkK
ICAgICByZXR1cm4geyB9OwogfQogCi1zdGF0aWMgQm94PE5ldHdvcmtMb2FkTWV0cmljcz4gcGFj
a2FnZVRpbWluZ0RhdGEoTW9ub3RvbmljVGltZSByZWRpcmVjdFN0YXJ0LCBOU0RhdGUgKmZldGNo
U3RhcnQsIE5TRGF0ZSAqZG9tYWluTG9va3VwU3RhcnQsIE5TRGF0ZSAqZG9tYWluTG9va3VwRW5k
LCBOU0RhdGUgKmNvbm5lY3RTdGFydCwgTlNEYXRlICpzZWN1cmVDb25uZWN0aW9uU3RhcnQsIE5T
RGF0ZSAqY29ubmVjdEVuZCwgTlNEYXRlICpyZXF1ZXN0U3RhcnQsIE5TRGF0ZSAqcmVzcG9uc2VT
dGFydCwgYm9vbCByZXVzZWRUTFNDb25uZWN0aW9uLCBOU1N0cmluZyAqcHJvdG9jb2wsIHVpbnQx
Nl90IHJlZGlyZWN0Q291bnQsIGJvb2wgaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKK3N0YXRpYyBC
b3g8TmV0d29ya0xvYWRNZXRyaWNzPiBwYWNrYWdlVGltaW5nRGF0YShNb25vdG9uaWNUaW1lIHJl
ZGlyZWN0U3RhcnQsIE5TRGF0ZSAqZmV0Y2hTdGFydCwgTlNEYXRlICpkb21haW5Mb29rdXBTdGFy
dCwgTlNEYXRlICpkb21haW5Mb29rdXBFbmQsIE5TRGF0ZSAqY29ubmVjdFN0YXJ0LCBOU0RhdGUg
KnNlY3VyZUNvbm5lY3Rpb25TdGFydCwgTlNEYXRlICpjb25uZWN0RW5kLCBOU0RhdGUgKnJlcXVl
c3RTdGFydCwgTlNEYXRlICpyZXNwb25zZVN0YXJ0LCBib29sIHJldXNlZFRMU0Nvbm5lY3Rpb24s
IE5TU3RyaW5nICpwcm90b2NvbCwgdWludDE2X3QgcmVkaXJlY3RDb3VudCwgYm9vbCBmYWlsc1RB
T0NoZWNrLCBib29sIGhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QpCiB7CiAKICAgICBhdXRvIHRpbWlu
ZyA9IEJveDxOZXR3b3JrTG9hZE1ldHJpY3M+OjpjcmVhdGUoKTsKQEAgLTU2LDYgKzU2LDcgQEAg
c3RhdGljIEJveDxOZXR3b3JrTG9hZE1ldHJpY3M+IHBhY2thZ2VUaW1pbmdEYXRhKE1vbm90b25p
Y1RpbWUgcmVkaXJlY3RTdGFydCwgTlMKICAgICB0aW1pbmctPnJlcXVlc3RTdGFydCA9IGRhdGVU
b01vbm90b25pY1RpbWUocmVxdWVzdFN0YXJ0KTsKICAgICB0aW1pbmctPnJlc3BvbnNlU3RhcnQg
PSBkYXRlVG9Nb25vdG9uaWNUaW1lKHJlc3BvbnNlU3RhcnQpOwogICAgIHRpbWluZy0+cmVkaXJl
Y3RDb3VudCA9IHJlZGlyZWN0Q291bnQ7CisgICAgdGltaW5nLT5mYWlsc1RBT0NoZWNrID0gZmFp
bHNUQU9DaGVjazsKICAgICB0aW1pbmctPmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QgPSBoYXNDcm9z
c09yaWdpblJlZGlyZWN0OwogCiAgICAgLy8gTk9URTogcmVzcG9uc2VFbmQgaXMgbm90IHBvcHVs
YXRlZCBpbiB0aGlzIGNvZGUgcGF0aC4KQEAgLTYzLDcgKzY0LDcgQEAgc3RhdGljIEJveDxOZXR3
b3JrTG9hZE1ldHJpY3M+IHBhY2thZ2VUaW1pbmdEYXRhKE1vbm90b25pY1RpbWUgcmVkaXJlY3RT
dGFydCwgTlMKICAgICByZXR1cm4gdGltaW5nOwogfQogCi1Cb3g8TmV0d29ya0xvYWRNZXRyaWNz
PiBjb3B5VGltaW5nRGF0YShOU1VSTFNlc3Npb25UYXNrTWV0cmljcyAqaW5jb21wbGV0ZU1ldHJp
Y3MsIGJvb2wgaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkKK0JveDxOZXR3b3JrTG9hZE1ldHJpY3M+
IGNvcHlUaW1pbmdEYXRhKE5TVVJMU2Vzc2lvblRhc2tNZXRyaWNzICppbmNvbXBsZXRlTWV0cmlj
cywgY29uc3QgTmV0d29ya0xvYWRNZXRyaWNzJiBtZXRyaWNzRnJvbVRhc2spCiB7CiAgICAgTlNB
cnJheTxOU1VSTFNlc3Npb25UYXNrVHJhbnNhY3Rpb25NZXRyaWNzICo+ICp0cmFuc2FjdGlvbk1l
dHJpY3MgPSBpbmNvbXBsZXRlTWV0cmljcy50cmFuc2FjdGlvbk1ldHJpY3M7CiAgICAgTlNVUkxT
ZXNzaW9uVGFza1RyYW5zYWN0aW9uTWV0cmljcyAqbWV0cmljcyA9IHRyYW5zYWN0aW9uTWV0cmlj
cy5sYXN0T2JqZWN0OwpAQCAtODAsNyArODEsOCBAQCBCb3g8TmV0d29ya0xvYWRNZXRyaWNzPiBj
b3B5VGltaW5nRGF0YShOU1VSTFNlc3Npb25UYXNrTWV0cmljcyAqaW5jb21wbGV0ZU1ldHJpYwog
ICAgICAgICBtZXRyaWNzLnJldXNlZENvbm5lY3Rpb24sCiAgICAgICAgIG1ldHJpY3MucmVzcG9u
c2UuVVJMLnNjaGVtZSwKICAgICAgICAgaW5jb21wbGV0ZU1ldHJpY3MucmVkaXJlY3RDb3VudCwK
LSAgICAgICAgaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdAorICAgICAgICBtZXRyaWNzRnJvbVRhc2su
ZmFpbHNUQU9DaGVjaywKKyAgICAgICAgbWV0cmljc0Zyb21UYXNrLmhhc0Nyb3NzT3JpZ2luUmVk
aXJlY3QKICAgICApOwogfQogCkBAIC0xMDksNiArMTExLDcgQEAgQm94PE5ldHdvcmtMb2FkTWV0
cmljcz4gY29weVRpbWluZ0RhdGEoTlNVUkxDb25uZWN0aW9uICpjb25uZWN0aW9uLCBjb25zdCBS
ZXNvdXIKICAgICAgICAgdGltaW5nVmFsdWUoQCJfa0NGTlRpbWluZ0RhdGFDb25uZWN0aW9uUmV1
c2VkIikuZ2V0KCksCiAgICAgICAgIGNvbm5lY3Rpb24uY3VycmVudFJlcXVlc3QuVVJMLnNjaGVt
ZSwKICAgICAgICAgaGFuZGxlLnJlZGlyZWN0Q291bnQoKSwKKyAgICAgICAgaGFuZGxlLmZhaWxz
VEFPQ2hlY2soKSwKICAgICAgICAgaGFuZGxlLmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QoKQogICAg
ICk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9D
dXJsQ2FjaGVFbnRyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwv
Q3VybENhY2hlRW50cnkuY3BwCmluZGV4IDZkOTI0NzViNWViNjIwYjdkYTliMzM4ZTc2YWJhMGZj
ODg3YTNlZDYuLmMxODVlYjNiOTM1OTU2NTUyZDFhNGQzNDA2YThhOGY5NGYwMGZmZTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsQ2FjaGVFbnRy
eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxDYWNo
ZUVudHJ5LmNwcApAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlSW50
ZXJuYWwuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNsdWRlICJSZXNvdXJj
ZVJlc3BvbnNlLmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTaGFy
ZWRCdWZmZXIuaCIKICNpbmNsdWRlIDx3dGYvRGF0ZU1hdGguaD4KICNpbmNsdWRlIDx3dGYvSGV4
TnVtYmVyLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1
cmwvQ3VybENhY2hlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2N1cmwvQ3VybENhY2hlTWFuYWdlci5jcHAKaW5kZXggZTY5ZjZjMzU3NzVlZGVjY2ViMjJlODUx
NTQ2NTNhOTQ4NjI2ZmJjZC4uNzg2OWEwZGY0ZTllYjcyOGE2ZDhmZmVjNDMzMmUzZGY3MTlhOWU1
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxD
YWNoZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3Vy
bC9DdXJsQ2FjaGVNYW5hZ2VyLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIlJlc291
cmNlSGFuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIgog
I2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgorI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgi
CiAjaW5jbHVkZSA8d3RmL0ZpbGVTeXN0ZW0uaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgog
I2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxSZXNvdXJjZUhhbmRsZURlbGVnYXRlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9DdXJsUmVzb3VyY2VIYW5kbGVE
ZWxlZ2F0ZS5jcHAKaW5kZXggZTU2NGEwY2U2NjYxNGE0OWExMDMxMzY4ODUxYzRkYTg4MjM1MmE2
MS4uNzM2MzE0Njc4MDg2ZDQyZDc0MzE5YWI2OTk3MTBiOWJmMWIyMWQxOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL0N1cmxSZXNvdXJjZUhhbmRsZURl
bGVnYXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1cmwvQ3Vy
bFJlc291cmNlSGFuZGxlRGVsZWdhdGUuY3BwCkBAIC0zNiw2ICszNiw3IEBACiAjaW5jbHVkZSAi
UmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUNsaWVudC5oIgogI2lu
Y2x1ZGUgIlJlc291cmNlSGFuZGxlSW50ZXJuYWwuaCIKKyNpbmNsdWRlICJTZWN1cml0eU9yaWdp
bi5oIgogCiAjaW5jbHVkZSA8d3RmL0NvbXBsZXRpb25IYW5kbGVyLmg+CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY3VybC9SZXNvdXJjZUhhbmRsZUN1cmwu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxl
Q3VybC5jcHAKaW5kZXggMzhlNWVlMTliMTQ2MTcxYjdiODI2ODUxYWJiMWYyZjQ4OTVjNTA0MS4u
ZjhiNzA4YWRiNmRmZjVlMDIxNGJkZmIxMjgzNmViZjhiNmVlY2YyMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxlQ3VybC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1Jlc291cmNlSGFuZGxl
Q3VybC5jcHAKQEAgLTQzLDYgKzQzLDcgQEAKICNpbmNsdWRlICJOZXR3b3JrU3RvcmFnZVNlc3Np
b24uaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUludGVybmFsLmgiCiAjaW5jbHVkZSAiU2Ft
ZVNpdGVJbmZvLmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTaGFy
ZWRCdWZmZXIuaCIKICNpbmNsdWRlICJTeW5jaHJvbm91c0xvYWRlckNsaWVudC5oIgogI2luY2x1
ZGUgIlRleHRFbmNvZGluZy5oIgpAQCAtMzY1LDcgKzM2Niw3IEBAIHZvaWQgUmVzb3VyY2VIYW5k
bGU6OnJlc3RhcnRSZXF1ZXN0V2l0aENyZWRlbnRpYWwoY29uc3QgUHJvdGVjdGlvblNwYWNlJiBw
cm90ZWN0CiAgICAgZC0+bV9jdXJsUmVxdWVzdC0+c3RhcnQoKTsKIH0KIAotdm9pZCBSZXNvdXJj
ZUhhbmRsZTo6cGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KE5ldHdvcmtpbmdDb250
ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFN0b3JlZENyZWRl
bnRpYWxzUG9saWN5IHN0b3JlZENyZWRlbnRpYWxzUG9saWN5LCBSZXNvdXJjZUVycm9yJiBlcnJv
ciwgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIFZlY3Rvcjx1aW50OF90PiYgZGF0YSkKK3Zv
aWQgUmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3
b3JraW5nQ29udGV4dCogY29udGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBT
dG9yZWRDcmVkZW50aWFsc1BvbGljeSBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgU2VjdXJpdHlP
cmlnaW4qLCBSZXNvdXJjZUVycm9yJiBlcnJvciwgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2Us
IFZlY3Rvcjx1aW50OF90PiYgZGF0YSkKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwog
ICAgIEFTU0VSVCghcmVxdWVzdC5pc0VtcHR5KCkpOwpAQCAtMzc2LDcgKzM3Nyw3IEBAIHZvaWQg
UmVzb3VyY2VIYW5kbGU6OnBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3Jr
aW5nQ29udGV4dCogY29udGV4CiAgICAgYm9vbCBkZWZlcnNMb2FkaW5nID0gZmFsc2U7CiAgICAg
Ym9vbCBzaG91bGRDb250ZW50U25pZmYgPSB0cnVlOwogICAgIGJvb2wgc2hvdWxkQ29udGVudEVu
Y29kaW5nU25pZmYgPSB0cnVlOwotICAgIFJlZlB0cjxSZXNvdXJjZUhhbmRsZT4gaGFuZGxlID0g
YWRvcHRSZWYobmV3IFJlc291cmNlSGFuZGxlKGNvbnRleHQsIHJlcXVlc3QsICZjbGllbnQsIGRl
ZmVyc0xvYWRpbmcsIHNob3VsZENvbnRlbnRTbmlmZiwgc2hvdWxkQ29udGVudEVuY29kaW5nU25p
ZmYpKTsKKyAgICBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IGhhbmRsZSA9IGFkb3B0UmVmKG5ldyBS
ZXNvdXJjZUhhbmRsZShjb250ZXh0LCByZXF1ZXN0LCAmY2xpZW50LCBkZWZlcnNMb2FkaW5nLCBz
aG91bGRDb250ZW50U25pZmYsIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmLCBudWxscHRyLCBm
YWxzZSkpOwogICAgIGhhbmRsZS0+ZC0+bV9tZXNzYWdlUXVldWUgPSAmY2xpZW50Lm1lc3NhZ2VR
dWV1ZSgpOwogCiAgICAgaWYgKHJlcXVlc3QudXJsKCkucHJvdG9jb2xJc0RhdGEoKSkgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jdXJsL1N5bmNocm9ub3Vz
TG9hZGVyQ2xpZW50Q3VybC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1
cmwvU3luY2hyb25vdXNMb2FkZXJDbGllbnRDdXJsLmNwcAppbmRleCA4MWFmZmFiYjc3YjYxNjE5
ZWYwNDY3NjNiMTYwODA1OWE0ZTkwMWJhLi41NzIwZTI0ZGY4YTAwYWZlN2E5YjE4ZDA0YjIwMjQ0
ZTU5MTFjMWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2N1
cmwvU3luY2hyb25vdXNMb2FkZXJDbGllbnRDdXJsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL2N1cmwvU3luY2hyb25vdXNMb2FkZXJDbGllbnRDdXJsLmNwcApAQCAt
MzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmgiCiAjaW5j
bHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhhbmRsZUludGVybmFs
LmgiCisjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJj
ZUhhbmRsZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291
cmNlSGFuZGxlTWFjLm1tCmluZGV4IGYyYzFlZDY2NDJlNmI3YmNiZGNmYTMyN2FhZjgyZTliMDM3
YWE0YTUuLmJjNDRjYmI0Y2ExNDZmMTQwNWUxYWRiZmJhNzM0ODkwMmY4YTgwZDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFj
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFu
ZGxlTWFjLm1tCkBAIC0zNTEsNyArMzUxLDcgQEAgQ0ZTdHJpbmdSZWYgUmVzb3VyY2VIYW5kbGU6
OnN5bmNocm9ub3VzTG9hZFJ1bkxvb3BNb2RlKCkKICAgICByZXR1cm4gQ0ZTVFIoIldlYkNvcmVT
eW5jaHJvbm91c0xvYWRlclJ1bkxvb3BNb2RlIik7CiB9CiAKLXZvaWQgUmVzb3VyY2VIYW5kbGU6
OnBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseShOZXR3b3JraW5nQ29udGV4dCogY29u
dGV4dCwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBTdG9yZWRDcmVkZW50aWFsc1Bv
bGljeSBzdG9yZWRDcmVkZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYgZXJyb3IsIFJlc291
cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBWZWN0b3I8dWludDhfdD4mIGRhdGEpCit2b2lkIFJlc291
cmNlSGFuZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2luZ0Nv
bnRleHQqIGNvbnRleHQsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgU3RvcmVkQ3Jl
ZGVudGlhbHNQb2xpY3kgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIFNlY3VyaXR5T3JpZ2luKiBz
b3VyY2VPcmlnaW4sIFJlc291cmNlRXJyb3ImIGVycm9yLCBSZXNvdXJjZVJlc3BvbnNlJiByZXNw
b25zZSwgVmVjdG9yPHVpbnQ4X3Q+JiBkYXRhKQogewogICAgIExPRyhOZXR3b3JrLCAiUmVzb3Vy
Y2VIYW5kbGU6OnBsYXRmb3JtTG9hZFJlc291cmNlU3luY2hyb25vdXNseTolQCBzdG9yZWRDcmVk
ZW50aWFsc1BvbGljeToldSIsIHJlcXVlc3QubnNVUkxSZXF1ZXN0KEhUVFBCb2R5VXBkYXRlUG9s
aWN5OjpEb05vdFVwZGF0ZUhUVFBCb2R5KSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHN0b3JlZENy
ZWRlbnRpYWxzUG9saWN5KSk7CiAKQEAgLTM2Myw3ICszNjMsNyBAQCB2b2lkIFJlc291cmNlSGFu
ZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoTmV0d29ya2luZ0NvbnRleHQq
IGNvbnRleAogICAgIGJvb2wgZGVmZXJzTG9hZGluZyA9IGZhbHNlOwogICAgIGJvb2wgc2hvdWxk
Q29udGVudFNuaWZmID0gdHJ1ZTsKICAgICBib29sIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZm
ID0gdHJ1ZTsKLSAgICBSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IGhhbmRsZSA9IGFkb3B0UmVmKG5l
dyBSZXNvdXJjZUhhbmRsZShjb250ZXh0LCByZXF1ZXN0LCAmY2xpZW50LCBkZWZlcnNMb2FkaW5n
LCBzaG91bGRDb250ZW50U25pZmYsIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmKSk7CisgICAg
UmVmUHRyPFJlc291cmNlSGFuZGxlPiBoYW5kbGUgPSBhZG9wdFJlZihuZXcgUmVzb3VyY2VIYW5k
bGUoY29udGV4dCwgcmVxdWVzdCwgJmNsaWVudCwgZGVmZXJzTG9hZGluZywgc2hvdWxkQ29udGVu
dFNuaWZmLCBzaG91bGRDb250ZW50RW5jb2RpbmdTbmlmZiwgc291cmNlT3JpZ2luLCBmYWxzZSkp
OwogCiAgICAgaGFuZGxlLT5kLT5tX3N0b3JhZ2VTZXNzaW9uID0gY29udGV4dC0+c3RvcmFnZVNl
c3Npb24oKS0+cGxhdGZvcm1TZXNzaW9uKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVl
dWVEZWxlZ2F0ZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNv
cmVSZXNvdXJjZUhhbmRsZUFzT3BlcmF0aW9uUXVldWVEZWxlZ2F0ZS5tbQppbmRleCBjNDMyNjE2
OTZlM2NlZGYzNmY3ZTJkMzhhMDdkYWU0Y2EyZmUyNjRkLi42NWI3YmE4YzQxNTM2MDllNjdlY2Yx
NmZjNjI0MDJhZWJlNTRkYTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL21hYy9XZWJDb3JlUmVzb3VyY2VIYW5kbGVBc09wZXJhdGlvblF1ZXVlRGVsZWdhdGUu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVJlc291
cmNlSGFuZGxlQXNPcGVyYXRpb25RdWV1ZURlbGVnYXRlLm1tCkBAIC0xNDEsNiArMTQxLDcgQEAg
c3RhdGljIGJvb2wgc2NoZWR1bGVkV2l0aEN1c3RvbVJ1bkxvb3BNb2RlKGNvbnN0IHN0ZDo6b3B0
aW9uYWw8U2NoZWR1bGVQYWlySGFzaFMKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQog
CisgICAgICAgIFJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UocmVkaXJlY3RSZXNwb25zZS5nZXQo
KSk7CiAgICAgICAgIFJlc291cmNlUmVxdWVzdCByZWRpcmVjdFJlcXVlc3QgPSBuZXdSZXF1ZXN0
LmdldCgpOwogICAgICAgICBpZiAoW25ld1JlcXVlc3QuZ2V0KCkgSFRUUEJvZHlTdHJlYW1dKSB7
CiAgICAgICAgICAgICBBU1NFUlQobV9oYW5kbGUtPmZpcnN0UmVxdWVzdCgpLmh0dHBCb2R5KCkp
OwpAQCAtMTUwLDEwICsxNTEsMTMgQEAgc3RhdGljIGJvb2wgc2NoZWR1bGVkV2l0aEN1c3RvbVJ1
bkxvb3BNb2RlKGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2NoZWR1bGVQYWlySGFzaFMKICAgICAgICAg
ICAgIHJlZGlyZWN0UmVxdWVzdC5jbGVhckhUVFBDb250ZW50VHlwZSgpOwogCiAgICAgICAgIC8v
IENoZWNrIGlmIHRoZSByZWRpcmVjdGVkIHVybCBpcyBhbGxvd2VkIHRvIGFjY2VzcyB0aGUgcmVk
aXJlY3RpbmcgdXJsJ3MgdGltaW5nIGluZm9ybWF0aW9uLgotICAgICAgICBtX2hhbmRsZS0+c2V0
SGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCghV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OmNyZWF0ZShy
ZWRpcmVjdFJlcXVlc3QudXJsKCkpLT5jYW5SZXF1ZXN0KHJlZGlyZWN0UmVzcG9uc2UuZ2V0KCku
VVJMKSk7CisgICAgICAgIGlmICghbV9oYW5kbGUtPmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QoKSAm
JiAhV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OmNyZWF0ZShyZWRpcmVjdFJlcXVlc3QudXJsKCkp
LT5jYW5SZXF1ZXN0KHJlZGlyZWN0UmVzcG9uc2UuZ2V0KCkuVVJMKSkKKyAgICAgICAgICAgIG1f
aGFuZGxlLT5tYXJrQXNIYXZpbmdDcm9zc09yaWdpblJlZGlyZWN0KCk7CisgICAgICAgIG1faGFu
ZGxlLT5jaGVja1RBTyhyZXNwb25zZSk7CisKICAgICAgICAgbV9oYW5kbGUtPmluY3JlbWVudFJl
ZGlyZWN0Q291bnQoKTsKIAotICAgICAgICBtX2hhbmRsZS0+d2lsbFNlbmRSZXF1ZXN0KFdURk1v
dmUocmVkaXJlY3RSZXF1ZXN0KSwgcmVkaXJlY3RSZXNwb25zZS5nZXQoKSwgW3NlbGYsIHByb3Rl
Y3RlZFNlbGYgPSBXVEZNb3ZlKHByb3RlY3RlZFNlbGYpXShSZXNvdXJjZVJlcXVlc3QmJiByZXF1
ZXN0KSB7CisgICAgICAgIG1faGFuZGxlLT53aWxsU2VuZFJlcXVlc3QoV1RGTW92ZShyZWRpcmVj
dFJlcXVlc3QpLCBXVEZNb3ZlKHJlc3BvbnNlKSwgW3NlbGYsIHByb3RlY3RlZFNlbGYgPSBXVEZN
b3ZlKHByb3RlY3RlZFNlbGYpXShSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0KSB7CiAgICAgICAg
ICAgICBtX3JlcXVlc3RSZXN1bHQgPSByZXF1ZXN0Lm5zVVJMUmVxdWVzdChIVFRQQm9keVVwZGF0
ZVBvbGljeTo6VXBkYXRlSFRUUEJvZHkpOwogICAgICAgICAgICAgbV9zZW1hcGhvcmUuc2lnbmFs
KCk7CiAgICAgICAgIH0pOwpAQCAtMjU3LDggKzI2MSwxMCBAQCBBTExPV19ERVBSRUNBVEVEX0lN
UExFTUVOVEFUSU9OU19FTkQKICAgICAgICAgaWYgKFttX2hhbmRsZS0+Zmlyc3RSZXF1ZXN0KCku
bnNVUkxSZXF1ZXN0KEhUVFBCb2R5VXBkYXRlUG9saWN5OjpEb05vdFVwZGF0ZUhUVFBCb2R5KSBf
cHJvcGVydHlGb3JLZXk6QCJGb3JjZUhUTUxNSU1FVHlwZSJdKQogICAgICAgICAgICAgW3IgX3Nl
dE1JTUVUeXBlOkAidGV4dC9odG1sIl07CiAKLSAgICAgICAgYXV0byBtZXRyaWNzID0gY29weVRp
bWluZ0RhdGEoY29ubmVjdGlvbi5nZXQoKSwgKm1faGFuZGxlKTsKICAgICAgICAgUmVzb3VyY2VS
ZXNwb25zZSByZXNvdXJjZVJlc3BvbnNlKHIuZ2V0KCkpOworICAgICAgICBtX2hhbmRsZS0+Y2hl
Y2tUQU8ocmVzb3VyY2VSZXNwb25zZSk7CisKKyAgICAgICAgYXV0byBtZXRyaWNzID0gY29weVRp
bWluZ0RhdGEoY29ubmVjdGlvbi5nZXQoKSwgKm1faGFuZGxlKTsKICAgICAgICAgcmVzb3VyY2VS
ZXNwb25zZS5zZXRTb3VyY2UoUmVzb3VyY2VSZXNwb25zZTo6U291cmNlOjpOZXR3b3JrKTsKICAg
ICAgICAgcmVzb3VyY2VSZXNwb25zZS5zZXREZXByZWNhdGVkTmV0d29ya0xvYWRNZXRyaWNzKEJv
eDxOZXR3b3JrTG9hZE1ldHJpY3M+IHsgbWV0cmljcyB9KTsKIApAQCAtMzMzLDYgKzMzOSw3IEBA
IEFMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5UQVRJT05TX0VORAogICAgICAgICAgICAgICAgIG1l
dHJpY3MtPnJlc3BvbnNlRW5kID0gV2FsbFRpbWU6OmZyb21SYXdTZWNvbmRzKGFkb3B0TlMoW1tO
U0RhdGUgYWxsb2NdIGluaXRXaXRoVGltZUludGVydmFsU2luY2VSZWZlcmVuY2VEYXRlOnJlc3Bv
bnNlRW5kVGltZV0pLmdldCgpLnRpbWVJbnRlcnZhbFNpbmNlMTk3MCkuYXBwcm94aW1hdGVNb25v
dG9uaWNUaW1lKCk7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgbWV0cmljcy0+
cmVzcG9uc2VFbmQgPSBtZXRyaWNzLT5yZXNwb25zZVN0YXJ0OworICAgICAgICAgICAgbWV0cmlj
cy0+cHJvdG9jb2wgPSAoTlNTdHJpbmcgKilbdGltaW5nRGF0YSBvYmplY3RGb3JLZXk6QCJfa0NG
TlRpbWluZ0RhdGFOZXR3b3JrUHJvdG9jb2xOYW1lIl07CiAgICAgICAgICAgICBtZXRyaWNzLT5y
ZXNwb25zZUJvZHlCeXRlc1JlY2VpdmVkID0gW1t0aW1pbmdEYXRhIG9iamVjdEZvcktleTpAIl9r
Q0ZOVGltaW5nRGF0YVJlc3BvbnNlQm9keUJ5dGVzUmVjZWl2ZWQiXSB1bnNpZ25lZExvbmdMb25n
VmFsdWVdOwogICAgICAgICAgICAgbWV0cmljcy0+cmVzcG9uc2VCb2R5RGVjb2RlZFNpemUgPSBb
W3RpbWluZ0RhdGEgb2JqZWN0Rm9yS2V5OkAiX2tDRk5UaW1pbmdEYXRhUmVzcG9uc2VCb2R5Qnl0
ZXNEZWNvZGVkIl0gdW5zaWduZWRMb25nTG9uZ1ZhbHVlXTsKICAgICAgICAgICAgIG1ldHJpY3Mt
Pm1hcmtDb21wbGV0ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL0NyZWRlbnRpYWxTdG9yYWdlU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvQ3JlZGVudGlhbFN0b3JhZ2VTb3VwLmNwcAppbmRleCBlNWVjMTZm
OTUyNjAyNmRlYTRkMGVhNjZmMzlmMzEwOTcwY2Q0Yzg2Li41MzU3ZTI4Mzk5YTgwNzZmYjJjOWZm
MDIzNmJjZDBiMzU2YWQyNzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3NvdXAvQ3JlZGVudGlhbFN0b3JhZ2VTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ3JlZGVudGlhbFN0b3JhZ2VTb3VwLmNwcApAQCAtMjks
NiArMjksNyBAQAogI2lmIFVTRShTT1VQKQogCiAjaW5jbHVkZSAiQ3JlZGVudGlhbC5oIgorI2lu
Y2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxl
U291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VI
YW5kbGVTb3VwLmNwcAppbmRleCA2OGFkNDY0MTcxMzYwZWU5YTg4Njk1NzM2MWU3OGY1Yjg0ZDI0
MGQxLi40OTc1NGNkN2YxMDNkZDE4NWQ3YTE3ODUxZTk1Y2UyZTQ1NTkxMGU2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3Vw
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VI
YW5kbGVTb3VwLmNwcApAQCAtMTI3LDcgKzEyNyw3IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGU6OnBs
YXRmb3JtU2V0RGVmZXJzTG9hZGluZyhib29sKQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
fQogCi12b2lkIFJlc291cmNlSGFuZGxlOjpwbGF0Zm9ybUxvYWRSZXNvdXJjZVN5bmNocm9ub3Vz
bHkoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBTdG9yZWRDcmVk
ZW50aWFsc1BvbGljeSwgUmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVzcG9uc2UmLCBWZWN0b3I8
dWludDhfdD4mKQordm9pZCBSZXNvdXJjZUhhbmRsZTo6cGxhdGZvcm1Mb2FkUmVzb3VyY2VTeW5j
aHJvbm91c2x5KE5ldHdvcmtpbmdDb250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgU3Rv
cmVkQ3JlZGVudGlhbHNQb2xpY3ksIFNlY3VyaXR5T3JpZ2luKiwgUmVzb3VyY2VFcnJvciYsIFJl
c291cmNlUmVzcG9uc2UmLCBWZWN0b3I8dWludDhfdD4mKQogewogICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrTG9hZFBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a0xvYWRQYXJhbWV0ZXJzLmgKaW5kZXggZjhkNjE3YWU5M2YwZGFhOWU4ZWJlOWI5NzA1NmVmMDAz
NmU0ZDM5Yy4uMDRjYjAzOTBjOWNmZDg2YjkxMWQ0OGY5YWY5Y2QxNzJlOGIzYTczNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrTG9hZFBhcmFtZXRlcnMu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtMb2FkUGFyYW1ldGVy
cy5oCkBAIC00OCw2ICs0OCw3IEBAIHB1YmxpYzoKICAgICBXZWJDb3JlOjpQYWdlSWRlbnRpZmll
ciB3ZWJQYWdlSUQ7CiAgICAgV2ViQ29yZTo6RnJhbWVJZGVudGlmaWVyIHdlYkZyYW1lSUQ7CiAg
ICAgUmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPiB0b3BPcmlnaW47CisgICAgUmVmUHRy
PFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luPiBzb3VyY2VPcmlnaW47CiAgICAgV1RGOjpQcm9jZXNz
SUQgcGFyZW50UElEIHsgMCB9OwogI2lmIEhBVkUoQVVESVRfVE9LRU4pCiAgICAgc3RkOjpvcHRp
b25hbDxhdWRpdF90b2tlbl90PiBuZXR3b3JrUHJvY2Vzc0F1ZGl0VG9rZW47CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0
ZXJzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQ
YXJhbWV0ZXJzLmgKaW5kZXggZjBlNDIwZjUxMDNlYmQ1MWFmZDdjZTg5Y2JiN2IzNWY5NjI1YTM1
OS4uMjIyZDZmNGE3NDc2YzkxMzgzZjdhM2E1OTc2OTk1ZTU2ZWIzNzBmNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVy
cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9h
ZFBhcmFtZXRlcnMuaApAQCAtNTIsNyArNTIsNiBAQCBwdWJsaWM6CiAgICAgVmVjdG9yPFJlZlB0
cjxTYW5kYm94RXh0ZW5zaW9uPj4gcmVxdWVzdEJvZHlTYW5kYm94RXh0ZW5zaW9uczsgLy8gQ3Jl
YXRlZCBhdXRvbWF0aWNhbGx5IGZvciB0aGUgc2VuZGVyLgogICAgIFJlZlB0cjxTYW5kYm94RXh0
ZW5zaW9uPiByZXNvdXJjZVNhbmRib3hFeHRlbnNpb247IC8vIENyZWF0ZWQgYXV0b21hdGljYWxs
eSBmb3IgdGhlIHNlbmRlci4KICAgICBTZWNvbmRzIG1heGltdW1CdWZmZXJpbmdUaW1lOwotICAg
IFJlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4gc291cmNlT3JpZ2luOwogICAgIFdlYkNv
cmU6OkZldGNoT3B0aW9ucyBvcHRpb25zOwogICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6Q29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzPiBjc3BSZXNwb25zZUhlYWRlcnM7CiAg
ICAgV2ViQ29yZTo6SFRUUEhlYWRlck1hcCBvcmlnaW5hbFJlcXVlc3RIZWFkZXJzOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIu
Y3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIu
Y3BwCmluZGV4IDA4NGJkZTFiM2ZjMWJlNjVjOGZkNzQwZGIwYjQyMjUwZGNhNjgzYTUuLmVjMTZk
OTcyZDM0YmUxMjkwMzhmM2NhNmIyMzYzNDNjZjcwYjU0MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTg2
LDcgKzg2LDcgQEAgc3RydWN0IE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6U3luY2hyb25vdXNMb2Fk
RGF0YSB7CiAgICAgUmVzb3VyY2VFcnJvciBlcnJvcjsKIH07CiAKLXN0YXRpYyB2b2lkIHNlbmRS
ZXBseVRvU3luY2hyb25vdXNSZXF1ZXN0KE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6U3luY2hyb25v
dXNMb2FkRGF0YSYgZGF0YSwgY29uc3QgU2hhcmVkQnVmZmVyKiBidWZmZXIpCitzdGF0aWMgdm9p
ZCBzZW5kUmVwbHlUb1N5bmNocm9ub3VzUmVxdWVzdChOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OlN5
bmNocm9ub3VzTG9hZERhdGEmIGRhdGEsIGNvbnN0IFNoYXJlZEJ1ZmZlciogYnVmZmVyLCBjb25z
dCBOZXR3b3JrTG9hZE1ldHJpY3MmIG1ldHJpY3MpCiB7CiAgICAgQVNTRVJUKGRhdGEuZGVsYXll
ZFJlcGx5KTsKICAgICBBU1NFUlQoIWRhdGEucmVzcG9uc2UuaXNOdWxsKCkgfHwgIWRhdGEuZXJy
b3IuaXNOdWxsKCkpOwpAQCAtOTUsNiArOTUsOCBAQCBzdGF0aWMgdm9pZCBzZW5kUmVwbHlUb1N5
bmNocm9ub3VzUmVxdWVzdChOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OlN5bmNocm9ub3VzTG9hZAog
ICAgIGlmIChidWZmZXIgJiYgYnVmZmVyLT5zaXplKCkpCiAgICAgICAgIHJlc3BvbnNlQnVmZmVy
LmFwcGVuZChidWZmZXItPmRhdGEoKSwgYnVmZmVyLT5zaXplKCkpOwogCisgICAgZGF0YS5yZXNw
b25zZS5zZXREZXByZWNhdGVkTmV0d29ya0xvYWRNZXRyaWNzKEJveDxOZXR3b3JrTG9hZE1ldHJp
Y3M+OjpjcmVhdGUobWV0cmljcykpOworCiAgICAgZGF0YS5kZWxheWVkUmVwbHkoZGF0YS5lcnJv
ciwgZGF0YS5yZXNwb25zZSwgcmVzcG9uc2VCdWZmZXIpOwogICAgIGRhdGEuZGVsYXllZFJlcGx5
ID0gbnVsbHB0cjsKIH0KQEAgLTcyOCw3ICs3MzAsNyBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxv
YWRlcjo6ZGlkRmluaXNoTG9hZGluZyhjb25zdCBOZXR3b3JrTG9hZE1ldHJpY3MmIG5ldHdvcmtM
bwogI2VuZGlmCiAKICAgICBpZiAoaXNTeW5jaHJvbm91cygpKQotICAgICAgICBzZW5kUmVwbHlU
b1N5bmNocm9ub3VzUmVxdWVzdCgqbV9zeW5jaHJvbm91c0xvYWREYXRhLCBtX2J1ZmZlcmVkRGF0
YS5nZXQoKSk7CisgICAgICAgIHNlbmRSZXBseVRvU3luY2hyb25vdXNSZXF1ZXN0KCptX3N5bmNo
cm9ub3VzTG9hZERhdGEsIG1fYnVmZmVyZWREYXRhLmdldCgpLCBuZXR3b3JrTG9hZE1ldHJpY3Mp
OwogICAgIGVsc2UgewogICAgICAgICBpZiAobV9idWZmZXJlZERhdGEgJiYgIW1fYnVmZmVyZWRE
YXRhLT5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIC8vIEZJWE1FOiBQYXNzIGEgcmVhbCB2YWx1
ZSBvciByZW1vdmUgdGhlIGVuY29kZWQgZGF0YSBzaXplIGZlYXR1cmUuCkBAIC03NjMsNyArNzY1
LDcgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmRpZEZhaWxMb2FkaW5nKGNvbnN0IFJl
c291cmNlRXJyb3ImIGVycm9yKQogCiAgICAgaWYgKGlzU3luY2hyb25vdXMoKSkgewogICAgICAg
ICBtX3N5bmNocm9ub3VzTG9hZERhdGEtPmVycm9yID0gZXJyb3I7Ci0gICAgICAgIHNlbmRSZXBs
eVRvU3luY2hyb25vdXNSZXF1ZXN0KCptX3N5bmNocm9ub3VzTG9hZERhdGEsIG51bGxwdHIpOwor
ICAgICAgICBzZW5kUmVwbHlUb1N5bmNocm9ub3VzUmVxdWVzdCgqbV9zeW5jaHJvbm91c0xvYWRE
YXRhLCBudWxscHRyLCB7IH0pOwogICAgIH0gZWxzZSBpZiAoYXV0byogY29ubmVjdGlvbiA9IG1l
c3NhZ2VTZW5kZXJDb25uZWN0aW9uKCkpIHsKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAg
ICAgICAgIGlmIChtX3NlcnZpY2VXb3JrZXJGZXRjaFRhc2spCkBAIC0xMTQyLDcgKzExNDQsNyBA
QCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkUmV0cmlldmVDYWNoZUVudHJ5KHN0ZDo6
dW5pcXVlX3B0cjxOZXR3b3JrQ2FjaGU6OgogICAgIHJlc3BvbnNlID0gc2FuaXRpemVSZXNwb25z
ZUlmUG9zc2libGUoV1RGTW92ZShyZXNwb25zZSksIFJlc291cmNlUmVzcG9uc2U6OlNhbml0aXph
dGlvblR5cGU6OkNyb3NzT3JpZ2luU2FmZSk7CiAgICAgaWYgKGlzU3luY2hyb25vdXMoKSkgewog
ICAgICAgICBtX3N5bmNocm9ub3VzTG9hZERhdGEtPnJlc3BvbnNlID0gV1RGTW92ZShyZXNwb25z
ZSk7Ci0gICAgICAgIHNlbmRSZXBseVRvU3luY2hyb25vdXNSZXF1ZXN0KCptX3N5bmNocm9ub3Vz
TG9hZERhdGEsIGVudHJ5LT5idWZmZXIoKSk7CisgICAgICAgIHNlbmRSZXBseVRvU3luY2hyb25v
dXNSZXF1ZXN0KCptX3N5bmNocm9ub3VzTG9hZERhdGEsIGVudHJ5LT5idWZmZXIoKSwgeyB9KTsK
ICAgICAgICAgY2xlYW51cChMb2FkUmVzdWx0OjpTdWNjZXNzKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0
d29ya0RhdGFUYXNrQ29jb2EuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2Ev
TmV0d29ya0RhdGFUYXNrQ29jb2EuaAppbmRleCBmYWQyNDhlOTM5NDY4NzNjMjY5YmQ5OGFkNDM0
Y2E3NDIxODAwNGEzLi40ZWJiZDkwY2M2NDVkZjVmOWRkYmI4NjBkMDhhYTNlYjA1M2MyZmY2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRh
VGFza0NvY29hLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3
b3JrRGF0YVRhc2tDb2NvYS5oCkBAIC04NCw2ICs4NCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNl
dEgyUGluZ0NhbGxiYWNrKGNvbnN0IFVSTCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0
ZWQ8V1RGOjpTZWNvbmRzLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPiYmKT4mJikgb3ZlcnJpZGU7
CiAgICAgdm9pZCBzZXRQcmlvcml0eShXZWJDb3JlOjpSZXNvdXJjZUxvYWRQcmlvcml0eSkgb3Zl
cnJpZGU7CiAKKyAgICB2b2lkIGNoZWNrVEFPKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9u
c2UmKTsKKwogcHJpdmF0ZToKICAgICBOZXR3b3JrRGF0YVRhc2tDb2NvYShOZXR3b3JrU2Vzc2lv
biYsIE5ldHdvcmtEYXRhVGFza0NsaWVudCYsIGNvbnN0IE5ldHdvcmtMb2FkUGFyYW1ldGVycyYp
OwogCkBAIC0xMjAsNiArMTIyLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNGb3JNYWluUmVz
b3VyY2VOYXZpZ2F0aW9uRm9yQW55RnJhbWUgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc0Fsd2F5
c09uTG9nZ2luZ0FsbG93ZWQgeyBmYWxzZSB9OwogICAgIFdlYkNvcmU6OlNob3VsZFJlbGF4VGhp
cmRQYXJ0eUNvb2tpZUJsb2NraW5nIG1fc2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tp
bmcgeyBXZWJDb3JlOjpTaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZzo6Tm8gfTsK
KyAgICBSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+IG1fc291cmNlT3JpZ2luOwogfTsK
IAogV2ViQ29yZTo6Q3JlZGVudGlhbCBzZXJ2ZXJUcnVzdENyZWRlbnRpYWwoY29uc3QgV2ViQ29y
ZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0gYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtEYXRhVGFza0NvY29hLm1tCmluZGV4IGNm
ZGZlMTM2OWNlNmE4ZTVmYmUzZjZmYTQxMTU3NzMwMjk0ZjczMjMuLjM0MGQ3ZGFjMjg2YjczYjgz
YzUxZWJkMGY2ODBmYzRhYmY5ZGFmOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY29jb2EvTmV0d29ya0RhdGFUYXNrQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrRGF0YVRhc2tDb2NvYS5tbQpAQCAtNDAsNiAr
NDAsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9SZWdpc3RyYWJsZURvbWFpbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlcXVl
c3QuaD4KKyNpbXBvcnQgPFdlYkNvcmUvVGltaW5nQWxsb3dPcmlnaW4uaD4KICNpbXBvcnQgPHBh
bC9zcGkvY2YvQ0ZOZXR3b3JrU1BJLmg+CiAjaW1wb3J0IDx3dGYvQmxvY2tQdHIuaD4KICNpbXBv
cnQgPHd0Zi9GaWxlU3lzdGVtLmg+CkBAIC0zMDAsNiArMzAxLDcgQEAgTmV0d29ya0RhdGFUYXNr
Q29jb2E6Ok5ldHdvcmtEYXRhVGFza0NvY29hKE5ldHdvcmtTZXNzaW9uJiBzZXNzaW9uLCBOZXR3
b3JrRGF0YVQKICAgICAsIG1faXNGb3JNYWluUmVzb3VyY2VOYXZpZ2F0aW9uRm9yQW55RnJhbWUo
cGFyYW1ldGVycy5pc01haW5SZXNvdXJjZU5hdmlnYXRpb25Gb3JBbnlGcmFtZSkKICAgICAsIG1f
aXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKGNvbXB1dGVJc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQo
c2Vzc2lvbikpCiAgICAgLCBtX3Nob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nKHBh
cmFtZXRlcnMuc2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tpbmcpCisgICAgLCBtX3Nv
dXJjZU9yaWdpbihwYXJhbWV0ZXJzLnNvdXJjZU9yaWdpbikKIHsKICAgICBhdXRvIHJlcXVlc3Qg
PSBwYXJhbWV0ZXJzLnJlcXVlc3Q7CiAgICAgYXV0byB1cmwgPSByZXF1ZXN0LnVybCgpOwpAQCAt
NDYwLDkgKzQ2Miw3IEBAIHZvaWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OndpbGxQZXJmb3JtSFRU
UFJlZGlyZWN0aW9uKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmCiB7CiAgICAgV1RGRW1pdFNp
Z25wb3N0KG1fdGFzay5nZXQoKSwgIkRhdGFUYXNrIiwgInJlZGlyZWN0Iik7CiAKLSAgICAvLyBD
aGVjayBpZiB0aGUgcmVkaXJlY3RlZCB1cmwgaXMgYWxsb3dlZCB0byBhY2Nlc3MgdGhlIHJlZGly
ZWN0aW5nIHVybCdzIHRpbWluZyBpbmZvcm1hdGlvbi4KLSAgICAvLyBGSVhNRTogVGhpcyBzaG91
bGQgbm90IHNldCBiYWNrIHRvIHRydWUgYWZ0ZXIgYW5vdGhlciBzYW1lLW9yaWdpbiByZWRpcmVj
dCBvbmNlIGl0IGhhcyBiZWVuIHNldCB0byB0cnVlLgotICAgIG5ldHdvcmtMb2FkTWV0cmljcygp
Lmhhc0Nyb3NzT3JpZ2luUmVkaXJlY3QgPSAhV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OmNyZWF0
ZShyZXF1ZXN0LnVybCgpKS0+Y2FuUmVxdWVzdChyZWRpcmVjdFJlc3BvbnNlLnVybCgpKTsKKyAg
ICBuZXR3b3JrTG9hZE1ldHJpY3MoKS5oYXNDcm9zc09yaWdpblJlZGlyZWN0ID0gbmV0d29ya0xv
YWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCB8fCAhV2ViQ29yZTo6U2VjdXJpdHlP
cmlnaW46OmNyZWF0ZShyZXF1ZXN0LnVybCgpKS0+Y2FuUmVxdWVzdChyZWRpcmVjdFJlc3BvbnNl
LnVybCgpKTsKIAogICAgIGlmIChyZWRpcmVjdFJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkgPT0g
MzA3IHx8IHJlZGlyZWN0UmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSA9PSAzMDgpIHsKICAgICAg
ICAgQVNTRVJUKG1fbGFzdEhUVFBNZXRob2QgPT0gcmVxdWVzdC5odHRwTWV0aG9kKCkpOwpAQCAt
NzE5LDQgKzcxOSwxOSBAQCB2b2lkIE5ldHdvcmtEYXRhVGFza0NvY29hOjpzZXRQcmlvcml0eShX
ZWJDb3JlOjpSZXNvdXJjZUxvYWRQcmlvcml0eSBwcmlvcml0eSkKICAgICBtX3Rhc2suZ2V0KCku
cHJpb3JpdHkgPSB0b05TVVJMU2Vzc2lvblRhc2tQcmlvcml0eShwcmlvcml0eSk7CiB9CiAKK3Zv
aWQgTmV0d29ya0RhdGFUYXNrQ29jb2E6OmNoZWNrVEFPKGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVzcG9uc2UmIHJlc3BvbnNlKQoreworICAgIGlmIChuZXR3b3JrTG9hZE1ldHJpY3MoKS5mYWls
c1RBT0NoZWNrKQorICAgICAgICByZXR1cm47CisKKyAgICBSZWZQdHI8V2ViQ29yZTo6U2VjdXJp
dHlPcmlnaW4+IG9yaWdpbjsKKyAgICBpZiAoaXNUb3BMZXZlbE5hdmlnYXRpb24oKSkKKyAgICAg
ICAgb3JpZ2luID0gV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OmNyZWF0ZShmaXJzdFJlcXVlc3Qo
KS51cmwoKSk7CisgICAgZWxzZQorICAgICAgICBvcmlnaW4gPSBtX3NvdXJjZU9yaWdpbjsKKwor
ICAgIGlmIChvcmlnaW4pCisgICAgICAgIG5ldHdvcmtMb2FkTWV0cmljcygpLmZhaWxzVEFPQ2hl
Y2sgPSAhcGFzc2VzVGltaW5nQWxsb3dPcmlnaW5DaGVjayhyZXNwb25zZSwgKm9yaWdpbik7Cit9
CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2EvTmV0
d29ya1Nlc3Npb25Db2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY29jb2Ev
TmV0d29ya1Nlc3Npb25Db2NvYS5tbQppbmRleCBjNjk2MjdkZWUyMzEwZjVjMzQ3YmExNDVkYjY0
YmRlZjkyM2ExYjU0Li5lZTJhZmRhYjg4MjM4M2ExMTExMmVkZTBmNDJhZjhmMDI4OTJhZmExIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtTZXNz
aW9uQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3
b3JrU2Vzc2lvbkNvY29hLm1tCkBAIC01NTUsNyArNTU1LDEwIEBAIHN0YXRpYyB2b2lkIHVwZGF0
ZUlnbm9yZVN0cmljdFRyYW5zcG9ydFNlY3VyaXR5U2V0dGluZyhSZXRhaW5QdHI8TlNVUkxSZXF1
ZXN0PiYKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogI2VuZGlmCiAKLSAgICAg
ICAgbmV0d29ya0RhdGFUYXNrLT53aWxsUGVyZm9ybUhUVFBSZWRpcmVjdGlvbihyZXNwb25zZSwg
cmVxdWVzdCwgW2NvbXBsZXRpb25IYW5kbGVyID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRpb25IYW5k
bGVyKSwgdGFza0lkZW50aWZpZXIsIHNob3VsZElnbm9yZUhTVFNdKGF1dG8mJiByZXF1ZXN0KSB7
CisgICAgICAgIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVzb3VyY2VSZXNwb25zZShyZXNw
b25zZSk7CisgICAgICAgIG5ldHdvcmtEYXRhVGFzay0+Y2hlY2tUQU8ocmVzb3VyY2VSZXNwb25z
ZSk7CisKKyAgICAgICAgbmV0d29ya0RhdGFUYXNrLT53aWxsUGVyZm9ybUhUVFBSZWRpcmVjdGlv
bihXVEZNb3ZlKHJlc291cmNlUmVzcG9uc2UpLCByZXF1ZXN0LCBbY29tcGxldGlvbkhhbmRsZXIg
PSBtYWtlQmxvY2tQdHIoY29tcGxldGlvbkhhbmRsZXIpLCB0YXNrSWRlbnRpZmllciwgc2hvdWxk
SWdub3JlSFNUU10oYXV0byYmIHJlcXVlc3QpIHsKICNpZiAhTE9HX0RJU0FCTEVECiAgICAgICAg
ICAgICBMT0coTmV0d29ya1Nlc3Npb24sICIlbGx1IHdpbGxQZXJmb3JtSFRUUFJlZGlyZWN0aW9u
IGNvbXBsZXRpb25IYW5kbGVyICglcykiLCB0YXNrSWRlbnRpZmllciwgcmVxdWVzdC51cmwoKS5z
dHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKICNlbHNlCkBAIC05MTUsNyArOTE4LDkgQEAgc3RhdGlj
IGlubGluZSB2b2lkIHByb2Nlc3NTZXJ2ZXJUcnVzdEV2YWx1YXRpb24oTmV0d29ya1Nlc3Npb25D
b2NvYSYgc2Vzc2lvbiwgU2UKICAgICAgICAgLy8gYWxsIHRoZSBmaWVsZHMgd2hlbiBzZW5kaW5n
IHRoZSByZXNwb25zZSB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzIG92ZXIgSVBDLgogICAgICAg
ICByZXNvdXJjZVJlc3BvbnNlLmRpc2FibGVMYXp5SW5pdGlhbGl6YXRpb24oKTsKIAotICAgICAg
ICByZXNvdXJjZVJlc3BvbnNlLnNldERlcHJlY2F0ZWROZXR3b3JrTG9hZE1ldHJpY3MoV2ViQ29y
ZTo6Y29weVRpbWluZ0RhdGEodGFza01ldHJpY3MsIG5ldHdvcmtEYXRhVGFzay0+bmV0d29ya0xv
YWRNZXRyaWNzKCkuaGFzQ3Jvc3NPcmlnaW5SZWRpcmVjdCkpOworICAgICAgICBuZXR3b3JrRGF0
YVRhc2stPmNoZWNrVEFPKHJlc291cmNlUmVzcG9uc2UpOworCisgICAgICAgIHJlc291cmNlUmVz
cG9uc2Uuc2V0RGVwcmVjYXRlZE5ldHdvcmtMb2FkTWV0cmljcyhXZWJDb3JlOjpjb3B5VGltaW5n
RGF0YSh0YXNrTWV0cmljcywgbmV0d29ya0RhdGFUYXNrLT5uZXR3b3JrTG9hZE1ldHJpY3MoKSkp
OwogCiAgICAgICAgIG5ldHdvcmtEYXRhVGFzay0+ZGlkUmVjZWl2ZVJlc3BvbnNlKFdURk1vdmUo
cmVzb3VyY2VSZXNwb25zZSksIG5lZ290aWF0ZWRMZWdhY3lUTFMsIFtjb21wbGV0aW9uSGFuZGxl
ciA9IG1ha2VCbG9ja1B0cihjb21wbGV0aW9uSGFuZGxlciksIHRhc2tJZGVudGlmaWVyXShXZWJD
b3JlOjpQb2xpY3lBY3Rpb24gcG9saWN5QWN0aW9uKSB7CiAjaWYgIUxPR19ESVNBQkxFRApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRhVGFz
a1NvdXAuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtEYXRh
VGFza1NvdXAuY3BwCmluZGV4IDQ1NzgwNzYwNWQ3ODFiZTMzNDg5NzM1Nzg0OWYwMGY0YzBmNWFi
NWEuLjFiNzI0OGIwMWE2NjQ5ODIyYzQzYzU3NTFjMDFhZjJkODU2NjgxNjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrRGF0YVRhc2tTb3VwLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29ya0RhdGFUYXNr
U291cC5jcHAKQEAgLTg2MSw4ICs4NjEsOSBAQCB2b2lkIE5ldHdvcmtEYXRhVGFza1NvdXA6OmNv
bnRpbnVlSFRUUFJlZGlyZWN0aW9uKCkKICAgICAgICAgcmVkaXJlY3RlZFVSTC5zZXRGcmFnbWVu
dElkZW50aWZpZXIocmVxdWVzdC51cmwoKS5mcmFnbWVudElkZW50aWZpZXIoKSk7CiAgICAgcmVx
dWVzdC5zZXRVUkwocmVkaXJlY3RlZFVSTCk7CiAKLSAgICAvLyBDaGVjayBpZiB0aGUgcmVkaXJl
Y3RlZCB1cmwgaXMgYWxsb3dlZCB0byBhY2Nlc3MgdGhlIHJlZGlyZWN0aW5nIHVybCdzIHRpbWlu
ZyBpbmZvcm1hdGlvbi4KLSAgICBtX25ldHdvcmtMb2FkTWV0cmljcy5oYXNDcm9zc09yaWdpblJl
ZGlyZWN0ID0gIVNlY3VyaXR5T3JpZ2luOjpjcmVhdGUobV9jdXJyZW50UmVxdWVzdC51cmwoKSkt
PmNhblJlcXVlc3QocmVxdWVzdC51cmwoKSk7CisgICAgbV9uZXR3b3JrTG9hZE1ldHJpY3MuaGFz
Q3Jvc3NPcmlnaW5SZWRpcmVjdCA9IG1fbmV0d29ya0xvYWRNZXRyaWNzLmhhc0Nyb3NzT3JpZ2lu
UmVkaXJlY3QgfHwgIVNlY3VyaXR5T3JpZ2luOjpjcmVhdGUobV9jdXJyZW50UmVxdWVzdC51cmwo
KSktPmNhblJlcXVlc3QocmVxdWVzdC51cmwoKSk7CisgICAgLy8gRklYTUU6IEFkZCBUQU8gY2hl
Y2tzIGhlcmUgYW5kIHdoZW4gcmVjZWl2aW5nIGEgcmVzcG9uc2UuCisgICAgLy8gVGhpcyB3YXMg
ZG9uZSBvbiBDb2NvYSBwbGF0Zm9ybXMgaW4gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyNjY3OAogCiAgICAgLy8gQ2xlYXIgdGhlIHVzZXIgYWdlbnQgdG8gZW5zdXJl
IGEgbmV3IG9uZSBpcyBjb21wdXRlZC4KICAgICBhdXRvIHVzZXJBZ2VudCA9IHJlcXVlc3QuaHR0
cFVzZXJBZ2VudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9XZWJDb3JlU3Vw
cG9ydC9QaW5nSGFuZGxlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYkNvcmVTdXBwb3J0L1Bp
bmdIYW5kbGUuaAppbmRleCAwOTI5Y2VmOTc4OWMwY2NmMTFhM2U5NDEwZjVkZTZmZmNhZmViYTYw
Li4xZjU1ODRmYTM4N2Q3NmNjZTk0ZmY3YjU2OTY4ZTdlODIyMDYwNjA2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0TGVnYWN5L1dlYkNvcmVTdXBwb3J0L1BpbmdIYW5kbGUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L1dlYkNvcmVTdXBwb3J0L1BpbmdIYW5kbGUuaApAQCAtNTAsNyArNTAs
NyBAQCBwdWJsaWM6CiAgICAgICAgIGJvb2wgZGVmZXJzTG9hZGluZyA9IGZhbHNlOwogICAgICAg
ICBib29sIHNob3VsZENvbnRlbnRTbmlmZiA9IGZhbHNlOwogICAgICAgICBib29sIHNob3VsZENv
bnRlbnRFbmNvZGluZ1NuaWZmID0gdHJ1ZTsKLSAgICAgICAgbV9oYW5kbGUgPSBXZWJDb3JlOjpS
ZXNvdXJjZUhhbmRsZTo6Y3JlYXRlKG5ldHdvcmtpbmdDb250ZXh0LCByZXF1ZXN0LCB0aGlzLCBk
ZWZlcnNMb2FkaW5nLCBzaG91bGRDb250ZW50U25pZmYsIHNob3VsZENvbnRlbnRFbmNvZGluZ1Nu
aWZmKTsKKyAgICAgICAgbV9oYW5kbGUgPSBXZWJDb3JlOjpSZXNvdXJjZUhhbmRsZTo6Y3JlYXRl
KG5ldHdvcmtpbmdDb250ZXh0LCByZXF1ZXN0LCB0aGlzLCBkZWZlcnNMb2FkaW5nLCBzaG91bGRD
b250ZW50U25pZmYsIHNob3VsZENvbnRlbnRFbmNvZGluZ1NuaWZmLCBudWxscHRyLCBmYWxzZSk7
CiAKICAgICAgICAgLy8gSWYgdGhlIHNlcnZlciBuZXZlciByZXNwb25kcywgdGhpcyBvYmplY3Qg
d2lsbCBoYW5nIGFyb3VuZCBmb3JldmVyLgogICAgICAgICAvLyBTZXQgYSB2ZXJ5IGdlbmVyb3Vz
IHRpbWVvdXQsIGp1c3QgaW4gY2FzZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kv
V2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcCBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcAppbmRl
eCA5MWM4M2EwNDNmMjczNWE5NzA0NmYxZDMyMzhmMGVmYWFmM2I2MzdlLi43ZGNmZTBiODc5Y2E4
NTQ1Njk2ODM3ZWVjN2NhODkwZjk5OGE5OTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAKKysrIGIvU291
cmNlL1dlYktpdExlZ2FjeS9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIu
Y3BwCkBAIC0xMDksNyArMTA5LDkgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXI6Omxv
YWRSZXNvdXJjZShGcmFtZSYgZnJhbWUsIENhY2hlZFJlc291cmNlJiByZXNvdXIKIAogdm9pZCBX
ZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoRnJhbWVM
b2FkZXImIGZyYW1lTG9hZGVyLCB1bnNpZ25lZCBsb25nLCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIENsaWVudENyZWRlbnRpYWxQb2xpY3ksIGNvbnN0IEZldGNoT3B0aW9ucyYgb3B0
aW9ucywgY29uc3QgSFRUUEhlYWRlck1hcCYsIFJlc291cmNlRXJyb3ImIGVycm9yLCBSZXNvdXJj
ZVJlc3BvbnNlJiByZXNwb25zZSwgVmVjdG9yPHVpbnQ4X3Q+JiBkYXRhKQogewotICAgIFJlc291
cmNlSGFuZGxlOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KGZyYW1lTG9hZGVyLm5ldHdvcmtp
bmdDb250ZXh0KCksIHJlcXVlc3QsIG9wdGlvbnMuY3JlZGVudGlhbHMgPT0gRmV0Y2hPcHRpb25z
OjpDcmVkZW50aWFsczo6T21pdCA/IFN0b3JlZENyZWRlbnRpYWxzUG9saWN5OjpEb05vdFVzZSA6
IFN0b3JlZENyZWRlbnRpYWxzUG9saWN5OjpVc2UsIGVycm9yLCByZXNwb25zZSwgZGF0YSk7Cisg
ICAgYXV0byogZG9jdW1lbnQgPSBmcmFtZUxvYWRlci5mcmFtZSgpLmRvY3VtZW50KCk7CisgICAg
YXV0byogc291cmNlT3JpZ2luID0gZG9jdW1lbnQgPyAmZG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2lu
KCkgOiBudWxscHRyOworICAgIFJlc291cmNlSGFuZGxlOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91
c2x5KGZyYW1lTG9hZGVyLm5ldHdvcmtpbmdDb250ZXh0KCksIHJlcXVlc3QsIG9wdGlvbnMuY3Jl
ZGVudGlhbHMgPT0gRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFsczo6T21pdCA/IFN0b3JlZENyZWRl
bnRpYWxzUG9saWN5OjpEb05vdFVzZSA6IFN0b3JlZENyZWRlbnRpYWxzUG9saWN5OjpVc2UsIHNv
dXJjZU9yaWdpbiwgZXJyb3IsIHJlc3BvbnNlLCBkYXRhKTsKIH0KIAogdm9pZCBXZWJSZXNvdXJj
ZUxvYWRTY2hlZHVsZXI6OnBhZ2VMb2FkQ29tcGxldGVkKFBhZ2UmKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNkMWFlM2Jj
MDBjZTQ5ZTdiNGIxMzc4MjhhMmU4NWMwZTNhMDIyNDguLjk4NjI1NjRlNGJmY2Y1NjY1ZDljYjFj
ZjM5NDUxY2Y2ODFjZWVlMTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0wNi0wNCAgQWxl
eCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIE1vdmUg
VGltaW5nLUFsbG93LU9yaWdpbiBjaGVja3MgdG8gdGhlIG5ldHdvcmsgcHJvY2VzcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2Njc4CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS80NTIyNzc4OD4KKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBE
dW1lei4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDYtMDQgIEFsZXgg
Q2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBJbXBsZW1l
bnQgb2ZmLWJ5LWRlZmF1bHQgZXhwZXJpbWVudGFsIGZlYXR1cmUgZm9yIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcudHJhbnNmZXJTaXplLCBlbmNvZGVkQm9keVNpemUsIGFuZCBkZWNvZGVkQm9k
eVNpemUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGRkY2E4YzI2MTRmMWJjZDZh
NWJlNzdkZjc2MzdjMmQwNDQ4ZWI5MmQuLmRlYTVjZmVlZDJjM2E4N2JkYWZjOGRjYjNmY2ZiYzM4
MDVhYjJkMzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1NiBA
QAorMjAyMS0wNi0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3Jn
PgorCisgICAgICAgIE1vdmUgVGltaW5nLUFsbG93LU9yaWdpbiBjaGVja3MgdG8gdGhlIG5ldHdv
cmsgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjI2Njc4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NTIyNzc4OD4KKworICAgICAgICBS
ZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvQ29kaW5nQ29udmVudGlvbnMubWQ6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU08tWE8tU08tcmVkaXJlY3QtY2hhaW4t
dGFvLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9TTy1YTy1TTy1yZWRpcmVjdC1jaGFpbi10YW8uaHR0cHMuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9T
eW50aGV0aWNSZXNwb25zZS5weToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW1hdGNoLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbWF0Y2gu
aHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9UQU8tbnVsbC1vcGFxdWUtb3JpZ2luLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbnVsbC1vcGFxdWUtb3JpZ2lu
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvVEFPLXBvcnQtbWlzbWF0Y2gtbWVhbnMtY3Jvc3NvcmlnaW4tZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1wb3J0
LW1pc21hdGNoLW1lYW5zLWNyb3Nzb3JpZ2luLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvX19pbml0X18ucHk6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWFm
dGVyLWZ1bGwtZXZlbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWFmdGVyLWZ1bGwtZXZlbnQuaHRtbDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxs
LWFkZC1lbnRyaWVzLWR1cmluZy1jYWxsYmFjay1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtZW50cmllcy1k
dXJpbmctY2FsbGJhY2stdGhhdC1kcm9wLmh0bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtZW50cmllcy1kdXJpbmctY2FsbGJh
Y2suaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1
ZmZlci1mdWxsLWFkZC10aGVuLWNsZWFyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFkZC10aGVuLWNsZWFyLmh0
bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXIt
ZnVsbC1kZWNyZWFzZS1idWZmZXItZHVyaW5nLWNhbGxiYWNrLmh0bWw6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbmNyZWFzZS1idWZm
ZXItZHVyaW5nLWNhbGxiYWNrLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluY3JlYXNlLWJ1ZmZlci1kdXJpbmct
Y2FsbGJhY2suaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL2J1ZmZlci1mdWxsLWluc3BlY3QtYnVmZmVyLWR1cmluZy1jYWxsYmFjay1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXIt
ZnVsbC1pbnNwZWN0LWJ1ZmZlci1kdXJpbmctY2FsbGJhY2suaHRtbDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXNldC10by1jdXJyZW50
LWJ1ZmZlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9idWZmZXItZnVsbC1zZXQtdG8tY3VycmVudC1idWZmZXIuaHRtbDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXN0b3Jl
LWFuZC1jbGVhci1kdXJpbmctY2FsbGJhY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc3RvcmUtYW5kLWNsZWFy
LWR1cmluZy1jYWxsYmFjay5odG1sOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1pbmNyZWFzZWQtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtdGhl
bi1pbmNyZWFzZWQuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2J1ZmZlci1mdWxsLXdoZW4tcG9wdWxhdGUtZW50cmllcy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC13
aGVuLXBvcHVsYXRlLWVudHJpZXMuaHRtbDoKKyAgICAgICAgQWxsIHRoZXNlIGJ1ZmZlci1mdWxs
IHRlc3RzIHN0YXJ0IGZhaWxpbmcgd2hlbiBJIHVwZGF0ZSB0aGVtLgorICAgICAgICBUaGF0IGlz
IGFuIHVucmVsYXRlZCBidWcuICBGaXJlZm94IGhhcyB0aGUgc2FtZSBidWcsIGFuZCB3ZSBoYWQg
dGhlIHNhbWUgYnVnIGJlZm9yZSBhbmQgYWZ0ZXIgdGhpcyBjaGFuZ2UuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0aW9uLXJldXNlLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9jb25uZWN0aW9uLXJldXNlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1yZXVzZS5odHRwcy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29u
bmVjdGlvbi1yZXVzZS5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1zdGFydC1lbmQtdGltZS13aXRoLXJl
ZGlyZWN0cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mtb3JpZ2luLXN0YXJ0LWVuZC10aW1lLXdpdGgtcmVkaXJl
Y3RzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvY3Jvc3Mtb3JpZ2luLXN0YXR1cy1jb2Rlcy5odG1sOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC1vcGVu
ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3Qtb3BlbmVyLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZW50cnktYXR0
cmlidXRlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvZW50cnktYXR0cmlidXRlcy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZldGNoLWNyb3NzLW9yaWdpbi1y
ZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZmV0Y2gtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0dHBz
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvZm9udC10aW1lc3RhbXBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mb250LXRpbWVzdGFtcHMuaHRtbDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9pZnJhbWUtZmFp
bGVkLWNvbW1pdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvaWZyYW1lLWZhaWxlZC1jb21taXQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9pbml0aWF0b3ItdHlw
ZS1mb3Itc2NyaXB0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9pbml0aWF0b3ItdHlwZS1mb3Itc2NyaXB0Lmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvbmV4dEhv
cFByb3RvY29sLWlzLXRhby1wcm90ZWN0ZWQuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL25leHRIb3BQcm90b2Nv
bC1pcy10YW8tcHJvdGVjdGVkLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1UQU8tY3Jv
c3Mtb3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLVRBTy1j
cm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLWNyb3NzLW9yaWdp
bi1yZWRpcmVjdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1jcm9zcy1vcmlnaW4t
cmVkaXJlY3QuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9yZWRpcmVjdHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3JlZGlyZWN0cy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlLWlnbm9y
ZS1kYXRhLXVybC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2UtaWdub3JlLWRhdGEtdXJsLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vf
VEFPX2Nyb3NzX29yaWdpbl9yZWRpcmVjdF9jaGFpbi1leHBlY3RlZC50eHQ6CisgICAgICAgIFRo
aXMgYXBwYXJlbnQgcmVncmVzc2lvbiBpcyBhY3R1YWxseSBhIHByb2dyZXNzaW9uLgorICAgICAg
ICBXaGVuIHRoaXMgdGVzdCBpcyBydW4gZnJvbSBvdXIgdGVzdCBpbmZyYXN0cnVjdHVyZSwgQ2hy
b21lIGFuZCBGaXJlZm94IGZhaWwgdGhlIHNhbWUgdGVzdHMgdGhhdCB5b3Ugc2VlIG5vdyBmYWls
aW5nIGhlcmUsCisgICAgICAgIGluZGljYXRpbmcgdGhhdCBzb21ldGhpbmcgaXMgd3Jvbmcgd2l0
aCBvdXIgdGVzdCBpbmZyYXN0cnVjdHVyZS4gIFdoZW4gcnVuIG9uIHdwdC5saXZlLCBhbGwgYnJv
d3NlcnMgcGFzcyB0aGlzIHRlc3QKKyAgICAgICAgYWZ0ZXIgdGhpcyBjaGFuZ2UuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9jYWNoZWQuaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZV9pbml0aWF0b3JfdHlwZXMuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX25lc3RlZF9kZWRpY2F0ZWRfd29ya2VyLndvcmtl
ci5qczoKKyAgICAgICAgKGFzeW5jX3Rlc3QpOgorICAgICAgICAoYXN5bmNfdGVzdC5hc3luYyBj
b25zdCk6IERlbGV0ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZV90aW1pbmdfY29udGVudF9sZW5ndGgtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX3Rp
bWluZ19jb250ZW50X2xlbmd0aC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy8yMDBfZW1wdHkuYXNpczogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvVEFP
UmVzcG9uc2UucHk6CisgICAgICAgIChtYWluKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9hbGxfcmVzb3VyY2VfdHlwZXMuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzOgorICAgICAgICAoY29uc3Qud2FpdEZvck5leHRU
YXNrKToKKyAgICAgICAgKGNvbnN0LmZvcmNlQnVmZmVyRnVsbEV2ZW50LmFzeW5jIGNsZWFyQnVm
ZmVyQW5kU2V0U2l6ZSk6CisgICAgICAgIChjb25zdC5mb3JjZUJ1ZmZlckZ1bGxFdmVudCk6Cisg
ICAgICAgIChjb25zdC5maWxsVXBUaGVCdWZmZXJXaXRoVHdvUmVzb3VyY2VzLmFzeW5jIGNsZWFy
QnVmZmVyQW5kU2V0U2l6ZSk6CisgICAgICAgIChhc3luYyBjb25zdC5maWxsVXBUaGVCdWZmZXJX
aXRoU2luZ2xlUmVzb3VyY2UuYXN5bmMgY2xlYXJCdWZmZXJBbmRTZXRTaXplKToKKyAgICAgICAg
KGFzeW5jIGNvbnN0KToKKyAgICAgICAgKGxldC5hcHBlbmRTY3JpcHQpOiBEZWxldGVkLgorICAg
ICAgICAobGV0LndhaXRGb3JOZXh0VGFzayk6IERlbGV0ZWQuCisgICAgICAgIChsZXQud2FpdFVu
dGlsQ29uZGl0aW9uSXNNZXQuY29uZC5yZXR1cm4ubmV3LlByb21pc2UucmVzb2x2ZS5sZXQuY2hl
Y2tDb25kaXRpb24pOiBEZWxldGVkLgorICAgICAgICAobGV0LndhaXRGb3JFdmVudFRvRmlyZS5y
ZXR1cm4ubmV3LlByb21pc2UpOiBEZWxldGVkLgorICAgICAgICAobGV0LndhaXRGb3JFdmVudFRv
RmlyZSk6IERlbGV0ZWQuCisgICAgICAgIChsZXQuZmlsbFVwVGhlQnVmZmVyV2l0aFR3b1Jlc291
cmNlcy5hc3luYyBzcmMpOiBEZWxldGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NhY2hlYWJsZS1hbmQtdmFsaWRhdGVkLnB5OiBBZGRl
ZC4KKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvcmVzb3VyY2VzL2Nvbm5lY3Rpb24tcmV1c2UtdGVzdC5qczogQWRkZWQuCisgICAg
ICAgIChhdHRyaWJ1dGVfdGVzdC5hc3luYyBjbGllbnQpOgorICAgICAgICAoYXR0cmlidXRlX3Rl
c3QpOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2VzL2NzcC1kZWZhdWx0LW5vbmUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvY3NwLWRlZmF1bHQtbm9uZS5odG1sLmhl
YWRlcnM6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VzL2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3QuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZG9jdW1l
bnQtcmVmcmVzaGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2RvY3VtZW50LXRoYXQtcmVmcmVzaGVzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2VzL2VtYmVkLXJlZnJlc2guaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4tZnJhbWUuaHRtbDogQWRkZWQuCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3Jl
ZW4uaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvZ3JlZW4uaHRtbC5oZWFkZXJzOiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9nemlwX3htbC5weToKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9pZnJh
bWUtcmVmcmVzaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlcy9pZnJhbWUtcmVsb2FkLVRBTy5zdWIuaHRtbDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9tdWx0aV9y
ZWRpcmVjdC5weToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL29iamVjdC1yZWZyZXNoLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3Jl
ZGlyZWN0LWNvcnMucHk6IEFkZGVkLgorICAgICAgICAobWFpbik6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVzb3VyY2UtdGltaW5nLWNv
bnRlbnQtbGVuZ3RoLnB5OiBBZGRlZC4KKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3Jlc291cmNlX3RpbWluZ190
ZXN0MC54bWw6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvc2l6ZXMtaGVscGVyLmpzOiBBZGRlZC4KKyAgICAgICAgKGNvbnN0LmNoZWNrU2l6
ZUZpZWxkcyk6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvc3RhdHVzLWNvZGUucHk6CisgICAgICAgIChtYWluKToKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5l
c3MuanM6CisgICAgICAgICh0ZXN0X25hbWVzcGFjZSk6CisgICAgICAgICh0ZXN0X2F0dHJpYnV0
ZV9leGlzdHMpOgorICAgICAgICAodGVzdF9lbnVtKToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3NleHRlbnNp
b24uanM6CisgICAgICAgICh0ZXN0X21ldGhvZF9leGlzdHMpOgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2FtZS1vcmlnaW4tZnJvbS1jcm9zcy1vcmlnaW4t
cmVkaXJlY3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3NhbWUtb3JpZ2luLWZyb20tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvc2l6ZXMtY2FjaGUuYW55LmpzOiBBZGRlZC4KKyAgICAgICAgKGNvbnN0LmFjY3VtdWxhdGVF
bnRyaWVzKToKKyAgICAgICAgKGNvbnN0LmNoZWNrUmVzb3VyY2VTaXplcy5saXN0LmxldC5lbnRy
eS5vZi5lbnRyaWVzLmVsc2UpOgorICAgICAgICAocHJvbWlzZV90ZXN0KToKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLXJlZGlyZWN0LWltZy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvc2l6ZXMtcmVkaXJlY3QtaW1nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJlY3QuYW55LmpzOiBBZGRlZC4K
KyAgICAgICAgKGNvbnN0LmFjY3VtdWxhdGVFbnRyeSk6CisgICAgICAgIChjb25zdC5jaGVja1Jl
c291cmNlU2l6ZXMpOgorICAgICAgICAoY29uc3QucmVkaXJlY3RVcmwpOgorICAgICAgICAocHJv
bWlzZV90ZXN0KToKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3N0YXR1cy1jb2Rlcy1jcmVhdGUtZW50cnkuaHRtbDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Rlc3RfcmVzb3VyY2VfdGltaW5nLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Rlc3RfcmVzb3Vy
Y2VfdGltaW5nLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3dvcmtlclN0YXJ0LXRhby1wcm90ZWN0ZWQuaHR0cHMuaHRtbDoK
KwogMjAyMS0wNi0wNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3Jn
PgogCiAgICAgICAgIEltcGxlbWVudCBvZmYtYnktZGVmYXVsdCBleHBlcmltZW50YWwgZmVhdHVy
ZSBmb3IgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZy50cmFuc2ZlclNpemUsIGVuY29kZWRCb2R5
U2l6ZSwgYW5kIGRlY29kZWRCb2R5U2l6ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZmY3Y2Y4Zjdj
Yjg5NjdkODk4ZWE3MDZmYmYzYzAzMTlhMjhhNTk1Ny4uYWQ0MzNlYzQ3ZTBiODg2NjhhNzljYzE2
NTllOWU5MTI4YTViNTFkNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC05MzEsNiArOTMxLDEwIEBA
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZXZlbnRzb3VyY2UvcmVxdWVzdC1jcmVk
ZW50aWFscy5odG0gWyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWVkaWFjYXB0dXJlLWZyb21lbGVtZW50L2NhcHR1cmUuaHRtbCBbIEZhaWx1cmUgXQogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNhcHR1cmUtZnJvbWVsZW1lbnQvZW5kZWQu
aHRtbCBbIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tZWRpYWNh
cHR1cmUtZnJvbWVsZW1lbnQvY3JlYXRpb24uaHRtbCBbIFBhc3MgRmFpbHVyZSBdCitpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mb250LXRpbWVzdGFtcHMu
aHRtbCBbIEZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvc3RhdHVzLWNvZGVzLWNyZWF0ZS1lbnRyeS5odG1sIFsgUGFzcyBGYWlsdXJlIF0K
K2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1NPLVhPLVNP
LXJlZGlyZWN0LWNoYWluLXRhby5odHRwcy5odG1sIFsgRmFpbHVyZSBdCitpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9UQU9fY3Jvc3Nfb3Jp
Z2luX3JlZGlyZWN0X2NoYWluLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xODAyNDAg
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2luZ2xlLWVu
dHJ5LXBlci1yZXNvdXJjZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xODk5
MDYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2VfdGltaW5nX2J1ZmZlcl9mdWxsX2V2ZW50dWFsbHkuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2UtcmVsb2FkLVRB
Ty5zdWIuaHRtbCBbIFNraXAgXQpAQCAtOTQwLDYgKzk0NCw3IEBAIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nyb3Nzb3JpZ2luLXNhbmR3aWNoLW5vLVRB
Ty5zdWIuCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9j
b3JzLXByZWZsaWdodC5hbnkuaHRtbCBbIEZhaWx1cmUgUGFzcyBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zc29yaWdpbi1zYW5kd2ljaC1UQU8u
c3ViLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3NvcmlnaW4tc2FuZHdpY2gtcGFydGlhbC1UQU8uc3ViLmh0
bWwgWyBQYXNzIEZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9uYXZp
Z2F0aW9uLXRpbWluZy9uYXYyX3Rlc3RfYXR0cmlidXRlc192YWx1ZXMuaHRtbCBbIFBhc3MgRmFp
bHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL25hdmlnYXRpb24tdGltaW5n
L3NlY3VyZV9jb25uZWN0aW9uX3N0YXJ0X25vbl96ZXJvLmh0dHBzLmh0bWwgWyBQYXNzIEZhaWx1
cmUgXQogCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21lZGlhY2FwdHVyZS1zdHJl
YW1zL01lZGlhU3RyZWFtLWRlZmF1bHQtZmVhdHVyZS1wb2xpY3kuaHR0cHMuaHRtbCBbIER1bXBK
U0NvbnNvbGVMb2dJblN0ZEVyciBdCkBAIC0xMzg3LDE0ICsxMzkyLDE3IEBAIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Rlc3RfcmVzb3VyY2VfdGltaW5n
Lmh0bWwgWyBQYXNzCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy90ZXN0X3Jlc291cmNlX3RpbWluZy5odHRwcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxs
LWFkZC1lbnRyaWVzLWR1cmluZy1jYWxsYmFjay10aGF0LWRyb3AuaHRtbCBbIFNraXAgXQogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwt
ZGVjcmVhc2UtYnVmZmVyLWR1cmluZy1jYWxsYmFjay5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbmNyZWFz
ZS1idWZmZXItZHVyaW5nLWNhbGxiYWNrLmh0bWwgWyBTa2lwIF0KK2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFkZC1lbnRyaWVzLWR1
cmluZy1jYWxsYmFjay5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1vcmlnaW4tc3RhdHVzLWNvZGVzLmh0bWwgWyBTa2lw
IF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL25lc3Rl
ZC1jb250ZXh0LW5hdmlnYXRpb25zLWVtYmVkLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL25lc3RlZC1jb250ZXh0LW5hdmlnYXRp
b25zLWlmcmFtZS5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9uZXN0ZWQtY29udGV4dC1uYXZpZ2F0aW9ucy1vYmplY3QuaHRtbCBb
IFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VfbmVzdGVkX2RlZGljYXRlZF93b3JrZXIud29ya2VyLmh0bWwgWyBTa2lwIF0KK2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxs
LWluc3BlY3QtYnVmZmVyLWR1cmluZy1jYWxsYmFjay5odG1sIFsgU2tpcCBdCitpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zZXQtdG8t
Y3VycmVudC1idWZmZXIuaHRtbCBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC1vcGVuZXIuaHRt
bCBbIFNraXAgXQogCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZV9jb25uZWN0aW9uX3JldXNlLmh0bWwgWyBGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX2Nvbm5lY3Rp
b25fcmV1c2UuaHR0cHMuaHRtbCBbIEZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfcmVwYXJlbnRpbmcuaHRtbCBbIEZhaWx1
cmUgXQogCiB3ZWJraXQub3JnL2IvMTY4MzU3IGh0dHAvd3B0L3Jlc291cmNlLXRpbWluZy9ydC1p
bml0aWF0b3JUeXBlLW1lZGlhLmh0bWwgWyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL0NvZGlu
Z0NvbnZlbnRpb25zLm1kIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvQ29kaW5nQ29udmVudGlvbnMubWQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzli
OGQxMzQzNWVmNDk5MTk1MzNlZjc0OTczMjZkYWMwNmJmOTY0YgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL0NvZGluZ0NvbnZlbnRpb25zLm1kCkBAIC0wLDAgKzEsNzcgQEAKK0ZvciBbUmVzb3VyY2Ug
VGltaW5nXVsxXSB0ZXN0cywgd2Ugd2FudCB0byBoYXZlIGEgY29uc2lzdGVudCBhbmQgY2xlYXIg
Y29kaW5nCitzdHlsZS4gVGhlIGdvYWxzIG9mIHRoaXMgc3R5bGUgYXJlIHRvOgorKiAgIE1ha2Ug
aXQgZWFzaWVyIGZvciBuZXcgY29udHJpYnV0b3JzIHRvIGZpbmQgdGhlaXIgd2F5IGFyb3VuZAor
KiAgIEhlbHAgaW1wcm92ZSByZWFkYWJpbGl0eSBhbmQgbWFpbnRhaW5hYmlsaXR5CisqICAgSGVs
cCB1cyB1bmRlcnN0YW5kIHdoaWNoIHBhcnRzIG9mIHRoZSBzcGVjIGFyZSB0ZXN0ZWQgb3Igbm90
CitMb3RzIG9mIHRoZSBmb2xsb3dpbmcgcnVsZXMgYXJlIGFyYml0cmFyeSBidXQgdGhlIHZhbHVl
IGlzIHJlYWxpemVkIGluCitjb25zaXN0ZW5jeSBpbnN0ZWFkIG9mIGFkaGVyaW5nIHRvIHRoZSAn
cGVyZmVjdCcgc3R5bGUuCisKK1dlIHdhbnQgdGhlIHRlc3Qgc3VpdGUgdG8gYmUgbmF2aWdhYmxl
LiBEZXZlbG9wZXJzIHNob3VsZCBiZSBhYmxlIHRvIGVhc2lseQorZmluZCB0aGUgZmlsZSBvciB0
ZXN0IHRoYXQgaXMgcmVsZXZhbnQgdG8gdGhlaXIgd29yay4KKyogICBUZXN0cyBzaG91bGQgYmUg
YXJyYW5nZWQgaW4gZmlsZXMgYWNjb3JkaW5nIHRvIHdoaWNoIHBpZWNlIG9mIHRoZSBzcGVjIHRo
ZXkKKyAgICB0ZXN0CisqICAgRmlsZXMgc2hvdWxkIGJlIG5hbWVkIHVzaW5nIGEgY29uc2lzdGVu
dCBwYXR0ZXJuCisqICAgSFRNTCBmaWxlcyBzaG91bGQgaW5jbHVkZSB1c2VmdWwgbWV0YSB0YWdz
CisgICAgKiAgIGA8dGl0bGU+YCBmb3IgY29udHJvbGxpbmcgbGFiZWxzIGluIHJlc3VsdHMgcGFn
ZXMKKyAgICAqICAgYDxsaW5rIHJlbD0iaGVscCI+YCB0byBwb2ludCBhdCB0aGUgcmVsZXZhbnQg
cGllY2Ugb2YgdGhlIHNwZWMKKworV2Ugd2FudCB0aGUgdGVzdCBzdWl0ZSB0byBydW4gY29uc2lz
dGVudGx5LiBGbGFreSB0ZXN0cyBhcmUgY291bnRlcnByb2R1Y3RpdmUuCisqICAgUHJlZmVyIGBw
cm9taXNlX3Rlc3RgIHRvIGBhc3luY190ZXN0YAorICAgICogICBOb3RlIHRoYXQgdGhlcmXigJlz
IFtzdGlsbCBwb3RlbnRpYWwgZm9yIHNvbWUgY29uY3VycmVuY3ldWzJdOyB1c2UKKyAgICAgICAg
YGFkZF9jbGVhbnVwKClgIGlmIG5lZWRlZAorCitXZSB3YW50IHRoZSB0ZXN0cyB0byBiZSByZWFk
YWJsZS4gVGVzdHMgc2hvdWxkIGJlIHdyaXR0ZW4gaW4gYSBtb2Rlcm4gc3R5bGUKK3dpdGggcmVj
dXJyaW5nIHBhdHRlcm5zLgorKiAgIDgwIGNoYXJhY3RlciBsaW5lIGxpbWl0cyB3aGVyZSB3ZSBj
YW4KKyogICBDb25zaXN0ZW50IHVzZSBvZiBhbm9ueW1vdXMgZnVuY3Rpb25zCisgICAgKiAgIHBy
ZWZlcgorICAgICAgICBgYGAKKyAgICAgICAgY29uc3QgZnVuYzEgPSBwYXJhbTEgPT4geworICAg
ICAgICAgIGJvZHkoKTsKKyAgICAgICAgfQorICAgICAgICBjb25zdCBmdW5jMiA9IChwYXJhbTEs
IHBhcmFtMikgPT4geworICAgICAgICAgIGJvZHkoKTsKKyAgICAgICAgfQorICAgICAgICBmbihw
YXJhbSA9PiB7CisgICAgICAgICAgICBib2R5KCk7CisgICAgICAgIH0pOworICAgICAgICBgYGAK
KworICAgICAgICBvdmVyCisKKyAgICAgICAgYGBgCisgICAgICAgIGZ1bmN0aW9uIGZ1bmMxKHBh
cmFtMSkgeworICAgICAgICAgIGJvZHkoKTsKKyAgICAgICAgfQorICAgICAgICBmdW5jdGlvbiBm
dW5jMihwYXJhbTEsIHBhcmFtMikgeworICAgICAgICAgIGJvZHkoKTsKKyAgICAgICAgfQorICAg
ICAgICBmbihmdW5jdGlvbihwYXJhbSkgeworICAgICAgICAgICAgYm9keSgpOworICAgICAgICB9
KTsKKyAgICAgICAgYGBgCisKKyogICBQcmVmZXIgYGNvbnN0YCAob3IsIGlmIG5lZWRlZCwgYGxl
dGApIHRvIGB2YXJgCisqICAgQ29udGFpbiB1c2Ugb2Yg4oCYLnN1YuKAmSBpbiBmaWxlbmFtZXMg
dG8ga25vd24gaGVscGVyIHV0aWxpdGllcyB3aGVyZSBwb3NzaWJsZQorICAgICogICBFLmcuIHBy
ZWZlciB1c2Ugb2YgZ2V0LWhvc3QtaW5mby5zdWIuanMgdG8gYHt7aG9zdH19YCBvciBge3twb3J0
c1swXX19YAorICAgICAgICBleHByZXNzaW9ucworKiAgIEF2b2lkIHVzZSBvZiB3ZWJwZXJmdGVz
dGhhcm5lc3NbZXh0ZW5zaW9uXS5qcyBhcyBpdOKAmXMgYSBsYXllciBvZiBjb2duaXRpdmUKKyAg
ICBvdmVyaGVhZCBiZXR3ZWVuIHRlc3QgY29udGVudCBhbmQgdGVzdCBpbnRlbnQKKyAgICAqICAg
SGVscGVyIC5qcyBmaWxlcyBhcmUgc3RpbGwgZW5jb3VyYWdlZCB3aGVyZSBpdCBtYWtlcyBzZW5z
ZSBidXQgd2Ugd2FudAorICAgICAgICB0byBhdm9pZCBhIHRlc3RpbmcgZnJhbWV3b3JrIHRoYXQg
aXMgc3BlY2lmaWMgdG8gUmVzb3VyY2UgVGltaW5nIChvcgorICAgICAgICB3ZWIgcGVyZm9ybWFu
Y2UgQVBJcywgaW4gZ2VuZXJhbCkuCisqICAgUHJlZmVyIFtgZmV0Y2hfdGVzdHNfZnJvbV93aW5k
b3dgXVszXSB0byBjb2xsZWN0IHRlc3QgcmVzdWx0cyBmcm9tIGVtYmVkZGVkCisgICAgaWZyYW1l
cyBpbnN0ZWFkIG9mIGhhbmQtcm9sbGVkIGBwb3N0TWVzc2FnZWAgYXBwcm9hY2hlcworKiAgIFVz
ZSB0aGUgW2Bhc3NlcnRfKmBdWzRdIGZhbWlseSBvZiBmdW5jdGlvbnMgdG8gY2hlY2sgY29uZm9y
bWFuY2UgdG8gdGhlIHNwZWMKKyAgICBidXQgdGhyb3cgZXhjZXB0aW9ucyBleHBsaWNpdGx5IHdo
ZW4gdGhlIHRlc3QgaXRzZWxmIGlzIGJyb2tlbi4KKyAgICAqICAgIEEgZmFpbGVkIGFzc2VydCBp
bmRpY2F0ZXMgInRoZSBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IGNvbmZvcm0gdG8gdGhlCisgICAg
ICAgICBzcGVjIgorICAgICogICAgT3RoZXIgdW5jYXVnaHQgZXhjZXB0aW9ucyBpbmRpY2F0ZSAi
dGhlIHRlc3QgY2FzZSBpdHNlbGYgaGFzIGEgYnVnIgorKiAgIFdoZXJlIHBvc3NpYmxlLCB3ZSB3
YW50IHRlc3RzIHRvIGJlIHNjYWxhYmxlIC0gYWRkaW5nIGFub3RoZXIgdGVzdCBjYXNlCisgICAg
c2hvdWxkIGJlIGFzIHNpbXBsZSBhcyBjYWxsaW5nIHRoZSB0ZXN0cyB3aXRoIG5ldyBwYXJhbWV0
ZXJzLCByYXRoZXIgdGhhbgorICAgIGNvcHlpbmcgYW4gZXhpc3RpbmcgdGVzdCBhbmQgbW9kaWZ5
aW5nIGl0LgorCitbMV06IGh0dHBzOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmctMi8K
K1syXTogaHR0cHM6Ly93ZWItcGxhdGZvcm0tdGVzdHMub3JnL3dyaXRpbmctdGVzdHMvdGVzdGhh
cm5lc3MtYXBpLmh0bWwjcHJvbWlzZS10ZXN0cworWzNdOiBodHRwczovL3dlYi1wbGF0Zm9ybS10
ZXN0cy5vcmcvd3JpdGluZy10ZXN0cy90ZXN0aGFybmVzcy1hcGkuaHRtbCNjb25zb2xpZGF0aW5n
LXRlc3RzLWZyb20tb3RoZXItZG9jdW1lbnRzCitbNF06IGh0dHBzOi8vd2ViLXBsYXRmb3JtLXRl
c3RzLm9yZy93cml0aW5nLXRlc3RzL3Rlc3RoYXJuZXNzLWFwaS5odG1sI2xpc3Qtb2YtYXNzZXJ0
aW9ucwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvU08tWE8tU08tcmVkaXJlY3QtY2hhaW4tdGFvLmh0dHBzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL1NPLVhPLVNPLXJlZGlyZWN0LWNoYWluLXRhby5odHRwcy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNWY4ZDI5MDNkNTEwNTY1MGVhOWNmNTc3NDNjYTEyMmUyNzcxYTY0
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1NPLVhPLVNPLXJlZGlyZWN0LWNoYWluLXRhby5odHRw
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACisKK0ZBSUwgVmVyaWZ5IHRoYXQgY3Jvc3Mg
b3JpZ2luIHJlc291cmNlcycgdGltaW5ncyBhcmUgbm90IGV4cG9zZWQgd2hlbiBzYW1lLW9yaWdp
bj0+Y3Jvc3Mtb3JpZ2luPT5zYW1lLW9yaWdpbiByZWRpcmVjdHMgaGF2ZSBubyBgVGltaW5nLUFs
bG93LU9yaWdpbjpgIGhlYWRlcnMuIGFzc2VydF9lcXVhbHM6IGRvbWFpbkxvb2t1cFN0YXJ0IHNo
b3VsZCBiZSAwIGV4cGVjdGVkIDAgYnV0IGdvdCA8bm9uZGV0ZXJtaW5pc3RpYyB0ZXN0IG91dHB1
dD4KK0ZBSUwgVmVyaWZ5IHRoYXQgY3Jvc3Mgb3JpZ2luIHJlc291cmNlcycgdGltaW5ncyBhcmUg
bm90IGV4cG9zZWQgd2hlbiBzYW1lLW9yaWdpbj0+Y3Jvc3Mtb3JpZ2luPT5zYW1lLW9yaWdpbiBy
ZWRpcmVjdHMgaGF2ZSBgVGltaW5nLUFsbG93LU9yaWdpbjpgIGhlYWRlcnMgb25seSBvbiBzb21l
IG9mIHRoZSByZXNwb25zZXMuIGFzc2VydF9lcXVhbHM6IGRvbWFpbkxvb2t1cFN0YXJ0IHNob3Vs
ZCBiZSAwIGV4cGVjdGVkIDAgYnV0IGdvdCA8bm9uZGV0ZXJtaW5pc3RpYyB0ZXN0IG91dHB1dD4K
K0ZBSUwgVmVyaWZ5IHRoYXQgY3Jvc3Mgb3JpZ2luIHJlc291cmNlcycgdGltaW5ncyBhcmUgZXhw
b3NlZCB3aGVuIGNyb3NzLW9yaWdpbiByZWRpcmVjdHMgaGF2ZSBgVGltaW5nLUFsbG93LU9yaWdp
bjogKmAgaGVhZGVycyBhc3NlcnRfZ3JlYXRlcl90aGFuOiByZWRpcmVjdFN0YXJ0IHNob3VsZCBi
ZSBncmVhdGVyIHRoYW4gMCBleHBlY3RlZCBhIG51bWJlciBncmVhdGVyIHRoYW4gMCBidXQgZ290
IDAKK1BBU1MgVmVyaWZ5IHRoYXQgY3Jvc3Mgb3JpZ2luIHJlc291cmNlcycgdGltaW5ncyBhcmUg
bm90IGV4cG9zZWQgd2hlbiBzYW1lLW9yaWdpbj0+Y3Jvc3Mtb3JpZ2luPT5zYW1lLW9yaWdpbiBy
ZWRpcmVjdHMgaGF2ZSBgVGltaW5nLUFsbG93LU9yaWdpbjpgIGhlYWRlcnMgd2l0aCBhIHNwZWNp
ZmljIG9yaWdpbi4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvU08tWE8tU08tcmVkaXJlY3QtY2hhaW4tdGFv
Lmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9TTy1YTy1TTy1yZWRpcmVjdC1jaGFpbi10YW8uaHR0cHMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5lNjU2ODkxMGU0ZmU3YjYxZGM4YTg2OWRmZDRmY2ZmMDc1MGU3MjY1Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvU08tWE8tU08tcmVkaXJlY3QtY2hhaW4tdGFvLmh0dHBzLmh0bWwK
QEAgLTAsMCArMSw2NCBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+VGhpcyB0ZXN0IHZhbGlkYXRlcyByZXNvdXJjZSB0
aW1pbmcgaW5mb3JtYXRpb24gZm9yIGEgc2FtZS1vcmlnaW49PmNyb3NzLW9yaWdpbj0+c2FtZS1v
cmlnaW4gcmVkaXJlY3QgY2hhaW4gd2l0aG91dCBUaW1pbmctQWxsb3ctT3JpZ2luLjwvdGl0bGU+
Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10
aW1pbmctMi8jc2VjLWNyb3NzLW9yaWdpbi1yZXNvdXJjZXMiLz4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dl
dC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVz
b3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VudHJ5
LWludmFyaWFudHMuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorY29u
c3Qge0hUVFBTX1JFTU9URV9PUklHSU59ID0gZ2V0X2hvc3RfaW5mbygpOworY29uc3QgU0FNRV9P
UklHSU4gPSBsb2NhdGlvbi5vcmlnaW47CisvLyBTYW1lLU9yaWdpbiA9PiBDcm9zcy1PcmlnaW4g
PT4gU2FtZS1PcmlnaW4gPT4gU2FtZS1PcmlnaW4gcmVkaXJlY3QgY2hhaW4KK2xldCBkZXN0VXJs
ID0gYCR7U0FNRV9PUklHSU59L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvbXVsdGlfcmVkaXJl
Y3QucHk/YDsKK2Rlc3RVcmwgKz0gYHBhZ2Vfb3JpZ2luPSR7U0FNRV9PUklHSU59YDsKK2Rlc3RV
cmwgKz0gYCZjcm9zc19vcmlnaW49JHtIVFRQU19SRU1PVEVfT1JJR0lOfWA7CitkZXN0VXJsICs9
IGAmZmluYWxfcmVzb3VyY2U9L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvYmxhbmtfcGFnZV9n
cmVlbi5odG1gOworCisvLyBObyBUQU8gaW4gdGhlIHJlZGlyZWN0IGNoYWluCithdHRyaWJ1dGVf
dGVzdCgKKyAgbG9hZC5pZnJhbWUsIGRlc3RVcmwsCisgIGludmFyaWFudHMuYXNzZXJ0X2Nyb3Nz
X29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNlLAorICAiVmVyaWZ5IHRoYXQgY3Jvc3Mgb3JpZ2lu
IHJlc291cmNlcycgdGltaW5ncyBhcmUgbm90IGV4cG9zZWQgd2hlbiAiICsKKyAgInNhbWUtb3Jp
Z2luPT5jcm9zcy1vcmlnaW49PnNhbWUtb3JpZ2luIHJlZGlyZWN0cyBoYXZlIG5vICIgKworICAi
YFRpbWluZy1BbGxvdy1PcmlnaW46YCBoZWFkZXJzLiIpOworCisvLyBQYXJ0aWFsIFRBTyBpbiB0
aGUgcmVkaXJlY3QgY2hhaW4KK2Rlc3RVcmwgKz0gJyZ0YW9fc3RlcHM9Mic7CithdHRyaWJ1dGVf
dGVzdCgKKyAgbG9hZC5pZnJhbWUsIGRlc3RVcmwsCisgIGludmFyaWFudHMuYXNzZXJ0X2Nyb3Nz
X29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNlLAorICAiVmVyaWZ5IHRoYXQgY3Jvc3Mgb3JpZ2lu
IHJlc291cmNlcycgdGltaW5ncyBhcmUgbm90IGV4cG9zZWQgd2hlbiAiICsKKyAgInNhbWUtb3Jp
Z2luPT5jcm9zcy1vcmlnaW49PnNhbWUtb3JpZ2luIHJlZGlyZWN0cyBoYXZlICIgKworICAiYFRp
bWluZy1BbGxvdy1PcmlnaW46YCBoZWFkZXJzIG9ubHkgb24gc29tZSBvZiB0aGUgcmVzcG9uc2Vz
LiIpOworCisvLyBDcm9zcy1vcmlnaW4gPT4gQ3Jvc3MtT3JpZ2luID0+IFNhbWUtT3JpZ2luID0+
IFNhbWUtT3JpZ2luIHJlZGlyZWN0IGNoYWluLgorZGVzdFVybCA9IGAke0hUVFBTX1JFTU9URV9P
UklHSU59L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvbXVsdGlfcmVkaXJlY3QucHk/YDsKK2Rl
c3RVcmwgKz0gYHBhZ2Vfb3JpZ2luPSR7U0FNRV9PUklHSU59YDsKK2Rlc3RVcmwgKz0gYCZjcm9z
c19vcmlnaW49JHtIVFRQU19SRU1PVEVfT1JJR0lOfWA7CitkZXN0VXJsICs9IGAmZmluYWxfcmVz
b3VyY2U9L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvYmx1ZS13aXRoLXRhby5wbmdgOworZGVz
dFVybCArPSBgJnRhb19zdGVwcz0zYDsKKworLy8gRnVsbCByZWRpcmVjdCBjaGFpbiB3aXRoIGBU
QU86ICpgLgorYXR0cmlidXRlX3Rlc3QoCisgIGxvYWQuaW1hZ2UsIGRlc3RVcmwsCisgIGludmFy
aWFudHMuYXNzZXJ0X3Rhb19lbmFibGVkX2Nyb3NzX29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNl
LAorICAiVmVyaWZ5IHRoYXQgY3Jvc3Mgb3JpZ2luIHJlc291cmNlcycgdGltaW5ncyBhcmUgZXhw
b3NlZCB3aGVuIGNyb3NzLW9yaWdpbiAiICsKKyAgInJlZGlyZWN0cyBoYXZlIGBUaW1pbmctQWxs
b3ctT3JpZ2luOiAqYCBoZWFkZXJzIik7CisKKy8vIFRBTyB3aXRoIGEgc3BlY2lmaWMgb3JpZ2lu
CitkZXN0VXJsICs9IGAmdGFvX3ZhbHVlPSR7U0FNRV9PUklHSU59YDsKK2F0dHJpYnV0ZV90ZXN0
KAorICBsb2FkLmltYWdlLCBkZXN0VXJsLAorICBpbnZhcmlhbnRzLmFzc2VydF9jcm9zc19vcmln
aW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAgIlZlcmlmeSB0aGF0IGNyb3NzIG9yaWdpbiByZXNv
dXJjZXMnIHRpbWluZ3MgYXJlIG5vdCBleHBvc2VkIHdoZW4gIiArCisgICJzYW1lLW9yaWdpbj0+
Y3Jvc3Mtb3JpZ2luPT5zYW1lLW9yaWdpbiByZWRpcmVjdHMgaGF2ZSAiICsKKyAgImBUaW1pbmct
QWxsb3ctT3JpZ2luOmAgaGVhZGVycyB3aXRoIGEgc3BlY2lmaWMgb3JpZ2luLiIpOworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9TeW50aGV0aWNSZXNwb25zZS5w
eSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL1N5bnRoZXRpY1Jlc3BvbnNlLnB5CmluZGV4IGRjNTdkODQ1MWY5ZjFlZWY2ODEyNzhj
ODc1NmQxMGI3ZWYyYWY0YjEuLjZmODg4ZjM3ODk2ZTEyNDAxMzAxZTE4N2ViZDUxN2U5NDJhN2Vj
ZTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL1N5bnRoZXRpY1Jlc3BvbnNlLnB5CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1N5bnRoZXRp
Y1Jlc3BvbnNlLnB5CkBAIC0xLDggKzEsOSBAQAotZnJvbSBzaXgubW92ZXMudXJsbGliLnBhcnNl
IGltcG9ydCB1bnF1b3RlCitmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgdW5xdW90ZQogCiBmcm9t
IHdwdHNlcnZlLnV0aWxzIGltcG9ydCBpc29tb3JwaGljX2RlY29kZSwgaXNvbW9ycGhpY19lbmNv
ZGUKIAotaW1wb3J0IHNsZWVwCitpbXBvcnQgaW1wb3J0bGliCitzbGVlcCA9IGltcG9ydGxpYi5p
bXBvcnRfbW9kdWxlKCJyZXNvdXJjZS10aW1pbmcuc2xlZXAiKQogCiBkZWYgbWFpbihyZXF1ZXN0
LCByZXNwb25zZSk6CiAgICAgaW5kZXggPSBpc29tb3JwaGljX2VuY29kZShyZXF1ZXN0LnJlcXVl
c3RfcGF0aCkuaW5kZXgoYiI/IikKQEAgLTQzLDggKzQ0LDYgQEAgZGVmIG1haW4ocmVxdWVzdCwg
cmVzcG9uc2UpOgogICAgICAgICAgICAgICAgIHJlc3BvbnNlLndyaXRlci5lbmRfaGVhZGVycygp
CiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIHN0YXR1c1NlbnQgPSBUcnVlCi0g
ICAgICAgIGVsaWYgYXJnID09IGIiZmx1c2giOgotICAgICAgICAgICAgcmVzcG9uc2Uud3JpdGVy
LmZsdXNoKCkKIAogIyAgICAgICAgZWxzZToKICMgICAgICAgICAgICBlcnJvciAiICBJTlZBTElE
IEFSR1VNRU5UICVzIiAlIGFyZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW1hdGNoLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL1RBTy1tYXRjaC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTBlNzZhODFhZjZlYjVi
NzVlNGVjMTIyYjI5NmFiNmFkN2VjZmNiZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1tYXRj
aC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMiBAQAorCitQQVNTIFRoZSB0aW1pbmcgYWxsb3cg
Y2hlY2sgYWxnb3JpdGhtIHdpbGwgcGFzcyB3aGVuIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhl
YWRlciB2YWx1ZSBsaXN0IGNvbnRhaW5zIGEgY2FzZS1zZW5zaXRpdmUgbWF0Y2guCitQQVNTIFRo
ZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgcGFzcyB3aGVuIHRoZSBUaW1pbmct
QWxsb3ctT3JpZ2luIGhlYWRlciB2YWx1ZSBsaXN0IGNvbnRhaW5zIGEgd2lsZGNhcmQuCitQQVNT
IFRoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgZmFpbCB3aGVuIHRoZSBUaW1p
bmctQWxsb3ctT3JpZ2luIGhlYWRlciB2YWx1ZSBsaXN0IGNvbnRhaW5zIGEgbnVsbCBvcmlnaW4u
CitQQVNTIFRoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgcGFzcyB3aGVuIHRo
ZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRlciB2YWx1ZSBsaXN0IGNvbnRhaW5zIHRoZSBvcmln
aW4gYW5kIGEgd2lsZGNhcmQuCitQQVNTIFRoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGht
IHdpbGwgcGFzcyB3aGVuIHRoZSBUaW1pbmctQWxsb3ctT3JpZ2luIGhlYWRlciB2YWx1ZSBsaXN0
IGNvbnRhaW5zIG11bHRpcGxlIHdpbGRjYXJkcy4KK1BBU1MgVGhlIHRpbWluZyBhbGxvdyBjaGVj
ayBhbGdvcml0aG0gd2lsbCBwYXNzIHdoZW4gdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gaGVhZGVy
IHZhbHVlIGNvbnRhaW5zIG9ubHkgdGhlIG9yaWdpbi4KK1BBU1MgVGhlIHRpbWluZyBhbGxvdyBj
aGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gaGVh
ZGVyIHZhbHVlIGNvbnRhaW5zIG9ubHkgdGhlIHVwcGVyY2FzZWQgb3JpZ2luLgorUEFTUyBUaGUg
dGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIGZhaWwgd2hlbiB0aGUgVGltaW5nLUFs
bG93LU9yaWdpbiBoZWFkZXIgdmFsdWUgY29udGFpbnMgb25seSBhIHNwYWNlLgorUEFTUyBUaGUg
dGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIGZhaWwgd2hlbiB0aGUgVGltaW5nLUFs
bG93LU9yaWdpbiBoZWFkZXIgdmFsdWUgY29udGFpbnMgb25seSBhIHdpbGRjYXJkLgorUEFTUyBU
aGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIGZhaWwgd2hlbiB0aGUgVGltaW5n
LUFsbG93LU9yaWdpbiBoZWFkZXIgaXMgbm90IHByZXNlbnQuCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RB
Ty1tYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvVEFPLW1hdGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTI2NDVhNjM4YmVm
MjZhNjU1ZWYyNTNmNjU1Yzk1YWM5NjA3ZmZmNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1t
YXRjaC5odG1sCkBAIC0wLDAgKzEsNjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZyBUQU8g
dGVzdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9Imh0
dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAiCisgICAgICBocmVmPSJo
dHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI3RpbWluZy1hbGxvdy1vcmln
aW4iLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnktaW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dD4KK2NvbnN0IHtSRU1PVEVfT1JJR0lOfSA9IGdldF9ob3N0X2luZm8oKTsKK2NvbnN0IHBhdGgg
PSBSRU1PVEVfT1JJR0lOICsgJy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL1RBT1Jlc3BvbnNl
LnB5P3Rhbz0nOworCithdHRyaWJ1dGVfdGVzdChsb2FkLnhocl9zeW5jLCBwYXRoICsgJ21hdGNo
X29yaWdpbicsCisgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzX25vX3JlZGlyZWN0X2h0dHAs
CisnVGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBwYXNzIHdoZW4gdGhlIFRp
bWluZy1BbGxvdy1PcmlnaW4gJyArCisnaGVhZGVyIHZhbHVlIGxpc3QgY29udGFpbnMgYSBjYXNl
LXNlbnNpdGl2ZSBtYXRjaC4nKTsKKworYXR0cmlidXRlX3Rlc3QobG9hZC54aHJfc3luYywgcGF0
aCArICdtYXRjaF93aWxkY2FyZCcsCisgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzX25vX3Jl
ZGlyZWN0X2h0dHAsCisnVGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBwYXNz
IHdoZW4gdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gJyArCisnaGVhZGVyIHZhbHVlIGxpc3QgY29u
dGFpbnMgYSB3aWxkY2FyZC4nKTsKKworYXR0cmlidXRlX3Rlc3QobG9hZC54aHJfc3luYywgcGF0
aCArICdudWxsJywKKyAgaW52YXJpYW50cy5hc3NlcnRfdGFvX2ZhaWx1cmVfcmVzb3VyY2UsCisn
VGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIFRpbWlu
Zy1BbGxvdy1PcmlnaW4gJyArCisnaGVhZGVyIHZhbHVlIGxpc3QgY29udGFpbnMgYSBudWxsIG9y
aWdpbi4nKTsKKworYXR0cmlidXRlX3Rlc3QobG9hZC54aHJfc3luYywgcGF0aCArICdtdWx0aScs
CisgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzX25vX3JlZGlyZWN0X2h0dHAsCisnVGhlIHRp
bWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBwYXNzIHdoZW4gdGhlIFRpbWluZy1BbGxv
dy1PcmlnaW4gJyArCisnaGVhZGVyIHZhbHVlIGxpc3QgY29udGFpbnMgdGhlIG9yaWdpbiBhbmQg
YSB3aWxkY2FyZC4nKTsKKworYXR0cmlidXRlX3Rlc3QobG9hZC54aHJfc3luYywgcGF0aCArICdt
dWx0aV93aWxkY2FyZCcsCisgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzX25vX3JlZGlyZWN0
X2h0dHAsCisnVGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBwYXNzIHdoZW4g
dGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gJyArCisnaGVhZGVyIHZhbHVlIGxpc3QgY29udGFpbnMg
bXVsdGlwbGUgd2lsZGNhcmRzLicpOworCithdHRyaWJ1dGVfdGVzdChsb2FkLnhocl9zeW5jLCBw
YXRoICsgJ29yaWdpbicsCisgIGludmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzX25vX3JlZGlyZWN0
X2h0dHAsCisnVGhlIHRpbWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBwYXNzIHdoZW4g
dGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gJyArCisnaGVhZGVyIHZhbHVlIGNvbnRhaW5zIG9ubHkg
dGhlIG9yaWdpbi4nKTsKKworYXR0cmlidXRlX3Rlc3QobG9hZC54aHJfc3luYywgcGF0aCArICd1
cHBlcmNhc2UnLAorICBpbnZhcmlhbnRzLmFzc2VydF90YW9fZmFpbHVyZV9yZXNvdXJjZSwKKydU
aGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIGZhaWwgd2hlbiB0aGUgVGltaW5n
LUFsbG93LU9yaWdpbiAnICsKKydoZWFkZXIgdmFsdWUgY29udGFpbnMgb25seSB0aGUgdXBwZXJj
YXNlZCBvcmlnaW4uJyk7CisKK2F0dHJpYnV0ZV90ZXN0KGxvYWQueGhyX3N5bmMsIHBhdGggKyAn
c3BhY2UnLAorICBpbnZhcmlhbnRzLmFzc2VydF90YW9fZmFpbHVyZV9yZXNvdXJjZSwKKydUaGUg
dGltaW5nIGFsbG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIGZhaWwgd2hlbiB0aGUgVGltaW5nLUFs
bG93LU9yaWdpbiAnICsKKydoZWFkZXIgdmFsdWUgY29udGFpbnMgb25seSBhIHNwYWNlLicpOwor
CithdHRyaWJ1dGVfdGVzdChsb2FkLnhocl9zeW5jLCBwYXRoICsgJ3dpbGRjYXJkJywKKyAgaW52
YXJpYW50cy5hc3NlcnRfdGFvX3Bhc3Nfbm9fcmVkaXJlY3RfaHR0cCwKKydUaGUgdGltaW5nIGFs
bG93IGNoZWNrIGFsZ29yaXRobSB3aWxsIGZhaWwgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9yaWdp
biAnICsKKydoZWFkZXIgdmFsdWUgY29udGFpbnMgb25seSBhIHdpbGRjYXJkLicpOworCithdHRy
aWJ1dGVfdGVzdChsb2FkLnhocl9zeW5jLCBwYXRoICsgJ3plcm8nLAorICBpbnZhcmlhbnRzLmFz
c2VydF90YW9fZmFpbHVyZV9yZXNvdXJjZSwKKydUaGUgdGltaW5nIGFsbG93IGNoZWNrIGFsZ29y
aXRobSB3aWxsIGZhaWwgd2hlbiB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiAnICsKKydoZWFkZXIg
aXMgbm90IHByZXNlbnQuJyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL1RBTy1udWxsLW9wYXF1ZS1vcmlnaW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFPLW51bGwt
b3BhcXVlLW9yaWdpbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmQ2YTM3ZjE0NTBlMjk5Y2Zj
ZjU4NTRmNjliZWMwNDkzZmMyMTRiZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1udWxsLW9w
YXF1ZS1vcmlnaW4tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorRGVzY3JpcHRpb24KKwor
VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0LCBmb3IgYSBjcm9zcyBvcmlnaW4gcmVzb3VyY2UsIHRo
ZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgc3VjY2VlZCB3aGVuIHRoZSB2YWx1
ZSBvZiBUaW1pbmctQWxsb3ctT3JpZ2luIGlzIG51bGwgYW5kIHRoZSBvcmlnaW4gaXMgYW4gb3Bh
cXVlIG9yaWdpbi4KKworCitQQVNTIEFuIG9wYXF1ZSBvcmlnaW4gc2hvdWxkIGJlIGF1dGhvcml6
ZWQgdG8gc2VlIHJlc291cmNlIHRpbWluZ3Mgd2hlbiB0aGUgVEFPIGhlYWRlciBpcyB0aGUgc3Ry
aW5nICdudWxsJworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbnVsbC1vcGFxdWUtb3JpZ2luLmh0bWwg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9UQU8tbnVsbC1vcGFxdWUtb3JpZ2luLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjU0OGE3YjlhZDQz
NzQwN2VhZGVkMmM2ZWZjNDk3NGRlYzI0MmVjZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1u
dWxsLW9wYXF1ZS1vcmlnaW4uaHRtbApAQCAtMCwwICsxLDU1IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJj
ZSBUaW1pbmcgVEFPIC0gIm51bGwiIGFuZCBvcGFxdWUgb3JpZ2luPC90aXRsZT4KKzxsaW5rIHJl
bD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAv
PgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2Ut
dGltaW5nLTIvI3RpbWluZy1hbGxvdy1vcmlnaW4iLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0
LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGgxPkRlc2NyaXB0aW9u
PC9oMT4KKzxwPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCwgZm9yIGEgY3Jvc3Mgb3JpZ2luIHJl
c291cmNlLCB0aGUgdGltaW5nIGFsbG93CitjaGVjayBhbGdvcml0aG0gd2lsbCBzdWNjZWVkIHdo
ZW4gdGhlIHZhbHVlIG9mIFRpbWluZy1BbGxvdy1PcmlnaW4gaXMgbnVsbCBhbmQKK3RoZSBvcmln
aW4gaXMgYW4gb3BhcXVlIG9yaWdpbi48L3A+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPGlmcmFt
ZSBpZD0iZnJhbWVDb250ZXh0Ij48L2lmcmFtZT4KKzxzY3JpcHQ+Citjb25zdCBvcmlnaW4gPSBn
ZXRfaG9zdF9pbmZvKClbIk9SSUdJTiJdOworY29uc3QgZnJhbWVfY29udGVudCA9IGBkYXRhOnRl
eHQvaHRtbDt1dGY4LDxib2R5PgorICA8c2NyaXB0IHNyYz0iJHtvcmlnaW59L3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9gICsgYHNjcmlwdD4KKyAgPHNjcmlwdD4KKyAgICBjb25zdCB1cmwg
PSAiJHtvcmlnaW59L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvVEFPUmVzcG9uc2UucHk/dGFv
PW51bGwiOworICAgIHByb21pc2VfdGVzdCgoKSA9PiB7IHJldHVybiBuZXcgUHJvbWlzZSgocmVz
b2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICBjb25zdCBydW5fdGVzdCA9IGVudHJ5TGlzdCA9PiB7
CisgICAgICAgIGNvbnN0IGVudHJ5ID0gZW50cnlMaXN0LmdldEVudHJpZXMoKVswXTsKKyAgICAg
ICAgY29uc3Qgc3VtID0gZW50cnkucmVkaXJlY3RTdGFydCArIGVudHJ5LnJlZGlyZWN0RW5kICsK
KyAgICAgICAgICAgICAgICAgICAgZW50cnkuZG9tYWluTG9va3VwU3RhcnQgKyBlbnRyeS5kb21h
aW5Mb29rdXBFbmQgKworICAgICAgICAgICAgICAgICAgICBlbnRyeS5jb25uZWN0U3RhcnQgKyBl
bnRyeS5jb25uZWN0RW5kICsKKyAgICAgICAgICAgICAgICAgICAgZW50cnkuc2VjdXJlQ29ubmVj
dGlvblN0YXJ0ICsgZW50cnkucmVxdWVzdFN0YXJ0ICsKKyAgICAgICAgICAgICAgICAgICAgZW50
cnkucmVzcG9uc2VTdGFydCArIGVudHJ5LnRyYW5zZmVyU2l6ZSArCisgICAgICAgICAgICAgICAg
ICAgIGVudHJ5LmVuY29kZWRCb2R5U2l6ZSArIGVudHJ5LmRlY29kZWRCb2R5U2l6ZTsKKyAgICAg
ICAgYXNzZXJ0X25vdF9lcXVhbHMoc3VtLCAwLCAiVGltaW5ncyBtdXN0IGJlIG5vbi16ZXJvIik7
CisgICAgICB9OworICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZl
cihsaXN0ID0+IHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICBydW5fdGVzdChsaXN0KTsKKyAg
ICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIH0gY2F0Y2goZSkgeworICAgICAgICAgIHJlamVj
dChlKTsKKyAgICAgICAgfQorICAgICAgfSk7CisgICAgICBvYnNlcnZlci5vYnNlcnZlKHsgZW50
cnlUeXBlczogWyJyZXNvdXJjZSJdIH0pOworICAgICAgZmV0Y2godXJsKTsKKyAgICB9KX0sICJB
biBvcGFxdWUgb3JpZ2luIHNob3VsZCBiZSBhdXRob3JpemVkIHRvIHNlZSByZXNvdXJjZSB0aW1p
bmdzIHdoZW4iICsKKyAgICAgICAgICIgdGhlIFRBTyBoZWFkZXIgaXMgdGhlIHN0cmluZyAnbnVs
bCciKTsKKyAgPC9gICsgYHNjcmlwdD48L2JvZHk+YDsKKworZnJhbWVDb250ZXh0LnN0eWxlID0g
ImRpc3BsYXk6bm9uZSIKK2ZyYW1lQ29udGV4dC5zcmMgPSBmcmFtZV9jb250ZW50OworZmV0Y2hf
dGVzdHNfZnJvbV93aW5kb3coZnJhbWVDb250ZXh0LmNvbnRlbnRXaW5kb3cpOworPC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbnVsbC1vcGFxdWUtb3JpZ2lu
LnN1Yi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9UQU8tbnVsbC1vcGFxdWUtb3JpZ2luLnN1Yi1leHBlY3Rl
ZC50eHQKaW5kZXggMmVjN2UwOGEzYTdjYjhiYjgwNGVjYWI0NmIwNjc2NjBmMDRjNmNiYi4uOTcy
MzVkYzdhOTliZDI3MTVjODNlNDJhYWUwZTliZjU3ODdlMWY2MCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvVEFP
LW51bGwtb3BhcXVlLW9yaWdpbi5zdWItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RBTy1udWxsLW9w
YXF1ZS1vcmlnaW4uc3ViLWV4cGVjdGVkLnR4dApAQCAtMyw1ICszLDUgQEAgRGVzY3JpcHRpb24K
IFRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCBmb3IgYSBjcm9zcyBvcmlnaW4gcmVzb3VyY2UsIHRo
ZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdpbGwgc3VjY2VlZCB3aGVuIHRoZSB2YWx1
ZSBvZiBUaW1pbmctQWxsb3ctT3JpZ2luIGlzIG51bGwgYW5kIHRoZSBvcmlnaW4gaXMgYW4gb3Bh
cXVlIG9yaWdpbi4KIAogCi1GQUlMIFRlc3QgbnVsbCBUQU8gdmFsdWUgd2l0aCBvcGFxdWUgb3Jp
Z2lucyBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiUEFTUyIgYnV0IGdvdCAiRkFJTCIKK1BBU1Mg
VGVzdCBudWxsIFRBTyB2YWx1ZSB3aXRoIG9wYXF1ZSBvcmlnaW5zCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L1RBTy1wb3J0LW1pc21hdGNoLW1lYW5zLWNyb3Nzb3JpZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL1RB
Ty1wb3J0LW1pc21hdGNoLW1lYW5zLWNyb3Nzb3JpZ2luLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MjA4YTUzMjExZjEzM2RhMzMxZWJlNWI1OWFiNWNjM2I5Njg2MmJlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvVEFPLXBvcnQtbWlzbWF0Y2gtbWVhbnMtY3Jvc3NvcmlnaW4tZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsOCBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0
IGZvciBhIGNyb3NzIG9yaWdpbiByZXNvdXJjZSB3aXRoIGRpZmZlcmVudCBwb3J0cywgdGhlIHRp
bWluZyBhbGxvdyBjaGVjayBhbGdvcml0aG0gd2lsbCBmYWlsIHdoZW4gdGhlIHZhbHVlIG9mIFRp
bWluZy1BbGxvdy1PcmlnaW4gdmFsdWUgaGFzIHRoZSByaWdodCBob3N0IGJ1dCB0aGUgd3Jvbmcg
cG9ydCBpbiBpdC4KKworCitGQUlMIEEgcG9ydCBtaXNtYXRjaCBtdXN0IGZhaWwgdGhlIFRBTyBj
aGVjayBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IFVSTCBpcyBub3QgdmFsaWQgb3IgY29udGFpbnMgdXNlciBjcmVkZW50aWFs
cy4iCitGQUlMIEFuIGlkZW50aWNhbCBwb3J0IG11c3QgcGFzcyB0aGUgVEFPIGNoZWNrIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogVVJMIGlzIG5vdCB2YWxpZCBvciBjb250YWlucyB1c2VyIGNyZWRlbnRpYWxzLiIKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvVEFPLXBvcnQtbWlzbWF0Y2gtbWVhbnMtY3Jvc3NvcmlnaW4uaHRtbCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L1RBTy1wb3J0LW1pc21hdGNoLW1lYW5zLWNyb3Nzb3JpZ2luLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjEy
MThkMTdhMGE0NGYwMTNhMDFhOWIxYTI4YjNhYjE5ZjkxYzkxZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL1RBTy1wb3J0LW1pc21hdGNoLW1lYW5zLWNyb3Nzb3JpZ2luLmh0bWwKQEAgLTAsMCArMSw0
NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRm
LTgiIC8+Cis8dGl0bGU+VEFPIC0gcG9ydCBtaXNtYXRjaCBtdXN0IGZhaWwgdGhlIGNoZWNrPC90
aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3
Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5v
cmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI3NlYy10aW1pbmctYWxsb3ctb3JpZ2luIi8+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
cmVzb3VyY2VzL2VudHJ5LWludmFyaWFudHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworY29u
c3Qge09SSUdJTkFMX0hPU1QsIFBPUlQsIFBPUlQyfSA9IGdldF9ob3N0X2luZm8oKTsKKworLy8g
VGhlIG1haW4gcGFnZSBpcyBiZWluZyByZXF1ZXN0ZWQgb24gdGhlIGRlZmF1bHQgcG9ydCAoUE9S
VCksIHdoaWxlIHRoZQorLy8gc3VicmVzb3VyY2Ugd2lsbCBiZSByZXF1ZXN0ZWQgb24gYSBzZXBh
cmF0ZSBwb3J0IChQT1JUMikuIFRoZSByZXNwb25zZSB3aWxsCisvLyBoYXZlIGEgVGltaW5nLUFs
bG93LU9yaWdpbiBoZWFkZXIgdmFsdWUgd2l0aCB0aGUgc2Vjb25kIHBvcnQgc28gdGhpcyBwYWdl
J3MKKy8vIG9yaWdpbiBzaG91bGQgbm90IGJlIGEgbWF0Y2guCitjb25zdCBwb3J0X21pc21hdGNo
X3VybCA9IGAke2xvY2F0aW9uLnByb3RvY29sfS8vJHtPUklHSU5BTF9IT1NUfToke1BPUlQyfWAg
KworICAgICAgICAgICAgICAgICAgICAgICAgICBgL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMv
VEFPUmVzcG9uc2UucHk/YCArCisgICAgICAgICAgICAgICAgICAgICAgICAgIGB0YW89b3JpZ2lu
X3BvcnRfJHtQT1JUMn1gOworYXR0cmlidXRlX3Rlc3QoCisgIGZldGNoLCBwb3J0X21pc21hdGNo
X3VybCwgaW52YXJpYW50cy5hc3NlcnRfdGFvX2ZhaWx1cmVfcmVzb3VyY2UsCisgICJBIHBvcnQg
bWlzbWF0Y2ggbXVzdCBmYWlsIHRoZSBUQU8gY2hlY2siKTsKKworLy8gVGhlIHNhbWUgVVJMIGFz
IGFib3ZlIGV4Y2VwdCB0aGUgVGltaW5nLUFsbG93LU9yaWdpbiBoZWFkZXIgd2lsbCBoYXZlIHRo
ZQorLy8gc2FtZSBwb3J0IGFzIHRoaXMgcGFnZSdzIG9yaWdpbi4gVGhlcmVmb3JlLCB0aGlzIHBh
Z2UncyBvcmlnaW4gd2lsbCBtYXRjaAorLy8gdGhlIFRpbWluZy1BbGxvdy1PcmlnaW4gaGVhZGVy
J3MgdmFsdWUuIFRoZXJlZm9yZSwgdGhlIHN1YnJlc291cmNlJ3MgdGltaW5ncworLy8gbXVzdCBi
ZSBleHBvc2VkLgorY29uc3QgcG9ydF9tYXRjaF91cmwgPSBgJHtsb2NhdGlvbi5wcm90b2NvbH0v
LyR7T1JJR0lOQUxfSE9TVH06JHtQT1JUMn1gICsKKyAgICAgICAgICAgICAgICAgICAgICAgYC9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL1RBT1Jlc3BvbnNlLnB5P2AgKworICAgICAgICAgICAg
ICAgICAgICAgICBgdGFvPW9yaWdpbl9wb3J0XyR7UE9SVH1gOworYXR0cmlidXRlX3Rlc3QoCisg
IGZldGNoLCBwb3J0X21hdGNoX3VybCwgaW52YXJpYW50cy5hc3NlcnRfdGFvX3Bhc3Nfbm9fcmVk
aXJlY3RfaHR0cCwKKyAgIkFuIGlkZW50aWNhbCBwb3J0IG11c3QgcGFzcyB0aGUgVEFPIGNoZWNr
Iik7CisKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRpb248L2gxPgor
PHA+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGF0IGZvciBhIGNyb3NzIG9yaWdpbiByZXNvdXJjZSB3
aXRoIGRpZmZlcmVudCBwb3J0cywKK3RoZSB0aW1pbmcgYWxsb3cgY2hlY2sgYWxnb3JpdGhtIHdp
bGwgZmFpbCB3aGVuIHRoZSB2YWx1ZSBvZgorVGltaW5nLUFsbG93LU9yaWdpbiB2YWx1ZSBoYXMg
dGhlIHJpZ2h0IGhvc3QgYnV0IHRoZSB3cm9uZyBwb3J0IGluIGl0LjwvcD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL19faW5pdF9fLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvX19pbml0X18ucHkKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZTY5ZGUyOWJiMmQxZDY0MzRiOGIyOWFlNzc1YWQ4YzJlNDhjNTM5MQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvYnVmZmVyLWZ1bGwtYWRkLWVudHJpZXMtZHVyaW5nLWNhbGxiYWNrLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9i
dWZmZXItZnVsbC1hZGQtZW50cmllcy1kdXJpbmctY2FsbGJhY2suaHRtbAppbmRleCBiMzdjNDdi
MjNmYjUwMjY0ODA2ODM1OTRiOTY0ZWU3MTJhYmJlNzA4Li4zYzg2ZTAwOGY1NGQyODQ2YjU0YmEx
YzhiZDA4NmU0ZWIwYTYxNGM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtZW50cmll
cy1kdXJpbmctY2FsbGJhY2suaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtZW50cmllcy1k
dXJpbmctY2FsbGJhY2suaHRtbApAQCAtNiw2ICs2LDcgQEAKIDxsaW5rIHJlbD0iaGVscCIgaHJl
Zj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNwZXJmb3JtYW5jZXJlc291
cmNldGltaW5nIi8+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy9idWZmZXItZnVsbC11dGlsaXRpZXMuanMiPjwv
c2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQt
dGhlbi1jbGVhci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQtdGhlbi1jbGVhci1l
eHBlY3RlZC50eHQKaW5kZXggODU5YjUyNTdiNTgwZWQ3ZDFmYjg1YmZiOGUwMTU1NDEzMWJhNDA4
Ny4uOTVkMzNmYTU5OTZlZmViODYyYmExYmIyOTg5YzJiYzU2YTIyZjhhYiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvYnVmZmVyLWZ1bGwtYWRkLXRoZW4tY2xlYXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZl
ci1mdWxsLWFkZC10aGVuLWNsZWFyLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotUEFT
UyBUZXN0IHRoYXQgaWYgdGhlIGJ1ZmZlciBpcyBjbGVhcmVkIGFmdGVyIGVudHJpZXMgd2VyZSBh
ZGRlZCB0byB0aGUgc2Vjb25kYXJ5IGJ1ZmZlciwgdGhvc2UgZW50cmllcyBtYWtlIGl0IGludG8g
dGhlIHByaW1hcnkgb25lCitGQUlMIFRlc3QgdGhhdCBpZiB0aGUgYnVmZmVyIGlzIGNsZWFyZWQg
YWZ0ZXIgZW50cmllcyB3ZXJlIGFkZGVkIHRvIHRoZSBzZWNvbmRhcnkgYnVmZmVyLCB0aG9zZSBl
bnRyaWVzIG1ha2UgaXQgaW50byB0aGUgcHJpbWFyeSBvbmUgYXNzZXJ0X2VxdWFsczogdGhlIGxh
c3QgMyByZXNvdXJjZXMgc2hvdWxkIGJlIGluIHRoZSBidWZmZXIsIHNpbmNlIHRoZSBmaXJzdCBv
bmUgd2FzIGNsZWFyZWQgZXhwZWN0ZWQgMyBidXQgZ290IDIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVm
ZmVyLWZ1bGwtYWRkLXRoZW4tY2xlYXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWFkZC10aGVuLWNs
ZWFyLmh0bWwKaW5kZXggNzEwODUyY2VkNTVmNzE2YTM0OGNjOWU2ODY1ZDdhOGI3MDQ4YTQ2YS4u
MzJhYzU5NDgxZjk5OTgxOTAzZmE0YThmMDkzZjYwMWNmZmE3NzE1MCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
YnVmZmVyLWZ1bGwtYWRkLXRoZW4tY2xlYXIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1hZGQt
dGhlbi1jbGVhci5odG1sCkBAIC02LDYgKzYsNyBAQAogPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJo
dHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1hbmNlcmVzb3VyY2V0
aW1pbmciLz4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2J1ZmZlci1mdWxsLXV0aWxpdGllcy5qcyI+PC9zY3Jp
cHQ+CiA8L2hlYWQ+CiA8Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluY3JlYXNl
LWJ1ZmZlci1kdXJpbmctY2FsbGJhY2suaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluY3JlYXNlLWJ1
ZmZlci1kdXJpbmctY2FsbGJhY2suaHRtbAppbmRleCBiNDZkMmQ2NTY5MGE4ODY4MzdiOGVhNzYy
MWYzOTI2MDgxNTUyZDk3Li5kZDEyZGQ3YWZhOWJlMThiYmRlNDY0MjEyZGMwODE3Nzk2OGRhN2Q2
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbmNyZWFzZS1idWZmZXItZHVyaW5nLWNhbGxi
YWNrLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5jcmVhc2UtYnVmZmVyLWR1cmluZy1jYWxs
YmFjay5odG1sCkBAIC0zLDQ2ICszLDIzIEBACiA8aGVhZCBvbmxvYWQ+CiA8bWV0YSBjaGFyc2V0
PSJ1dGYtOCIgLz4KIDx0aXRsZT5UaGlzIHRlc3QgdmFsaWRhdGVzIGluY3JlYXNpbmcgdGhlIGJ1
ZmZlciBzaXplIGluIG9ucmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIGNhbGxiYWNrIG9mIHJlc291
cmNlIHRpbWluZy48L3RpdGxlPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3Lncz
Lm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxs
aW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5j
b20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVz
b3VyY2UtdGltaW5nLTIvI2RvbS1wZXJmb3JtYW5jZS1vbnJlc291cmNldGltaW5nYnVmZmVyZnVs
bCIvPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4K
IDwvaGVhZD4KIDxib2R5PgogPHNjcmlwdD4KLWNvbnN0IHJlc291cmNlX3RpbWluZ19idWZmZXJf
c2l6ZSA9IDE7Ci1sZXQgZXZlbnRGaXJlZCA9IGZhbHNlOwotCi1zZXR1cCgoKSA9PiB7Ci0gICAg
Ly8gR2V0IHRoZSBicm93c2VyIGludG8gYSBjb25zaXN0ZW50IHN0YXRlLgotICAgIGNsZWFyQnVm
ZmVyQW5kU2V0U2l6ZShyZXNvdXJjZV90aW1pbmdfYnVmZmVyX3NpemUpOwotICAgIHZhciBpbmNy
ZWFzZSA9IGZ1bmN0aW9uKCkgewotICAgICAgICBwZXJmb3JtYW5jZS5zZXRSZXNvdXJjZVRpbWlu
Z0J1ZmZlclNpemUocmVzb3VyY2VfdGltaW5nX2J1ZmZlcl9zaXplICogMik7Ci0gICAgICAgIGV2
ZW50RmlyZWQgPSB0cnVlOwotICAgIH0KLSAgICBwZXJmb3JtYW5jZS5hZGRFdmVudExpc3RlbmVy
KCdyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwnLCBpbmNyZWFzZSk7Ci19KTsKLQotbGV0IG92ZXJm
bG93VGhlQnVmZmVyID0gKCkgPT4gewotICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+
IHsKLSAgICAgICAgLy8gVGhpcyByZXNvdXJjZSBvdmVyZmxvd3MgdGhlIGVudHJ5IGJ1ZmZlciwg
YW5kIGdvZXMgaW50byB0aGUgc2Vjb25kYXJ5IGJ1ZmZlci4KLSAgICAgICAgYXBwZW5kU2NyaXB0
KCdyZXNvdXJjZXMvZW1wdHlfc2NyaXB0LmpzJywgcmVzb2x2ZSk7Ci0gICAgfSk7Ci19OwotCi1s
ZXQgdGVzdFRoYXRCdWZmZXJDb250YWluc1RoZVJpZ2h0UmVzb3VyY2VzID0gKCkgPT4gewotICAg
IGxldCBlbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKTsK
LSAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAyLAotICAgICAgICAgICAgICAgICAg
J0JvdGggZW50cmllcyBzaG91bGQgYmUgc3RvcmVkIGluIHJlc291cmNlIHRpbWluZyBidWZmZXIg
c2luY2UgaXRzIGluY3JlYXNlcyBzaXplIG9uY2UgaXQgb3ZlcmZsb3dzLicpOwotICAgIGFzc2Vy
dF90cnVlKGVudHJpZXNbMF0ubmFtZS5pbmNsdWRlcygnZW1wdHkuanMnKSwgImVtcHR5LmpzIGlz
IGluIHRoZSBlbnRyaWVzIGJ1ZmZlciIpOwotICAgIGFzc2VydF90cnVlKGVudHJpZXNbMV0ubmFt
ZS5pbmNsdWRlcygnZW1wdHlfc2NyaXB0LmpzJyksICJlbXB0eV9zY3JpcHQuanMgaXMgaW4gdGhl
IGVudHJpZXMgYnVmZmVyIik7Ci19OwotCiBwcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4gewotICAg
IGF3YWl0IGZpbGxVcFRoZUJ1ZmZlcldpdGhTaW5nbGVSZXNvdXJjZSgicmVzb3VyY2VzL2VtcHR5
LmpzIik7Ci0gICAgYXdhaXQgb3ZlcmZsb3dUaGVCdWZmZXIoKTsKLSAgICBhd2FpdCB3YWl0Rm9y
RXZlbnRUb0ZpcmUoKTsKLSAgICB0ZXN0VGhhdEJ1ZmZlckNvbnRhaW5zVGhlUmlnaHRSZXNvdXJj
ZXMoKTsKKyAgICBhd2FpdCBmaWxsVXBUaGVCdWZmZXJXaXRoU2luZ2xlUmVzb3VyY2UoKTsKKyAg
ICBwZXJmb3JtYW5jZS5hZGRFdmVudExpc3RlbmVyKCdyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwn
LCAoKSA9PiB7CisgICAgICAgIHBlcmZvcm1hbmNlLnNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6
ZSgyKTsKKyAgICB9KTsKKyAgICBhd2FpdCBsb2FkLnNjcmlwdChzY3JpcHRSZXNvdXJjZXNbMV0p
OworICAgIGF3YWl0IGJ1ZmZlckZ1bGxGaXJlUHJvbWlzZTsKKyAgICBjaGVja0VudHJpZXMoMik7
CiB9LCAiVGVzdCB0aGF0IGluY3JlYXNpbmcgdGhlIGJ1ZmZlciBkdXJpbmcgdGhlIGNhbGxiYWNr
IGlzIGVub3VnaCBmb3IgZW50cmllcyBub3QgdG8gYmUgZHJvcHBlZCIpOwogPC9zY3JpcHQ+CiA8
L2JvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbnNwZWN0LWJ1ZmZlci1kdXJpbmct
Y2FsbGJhY2stZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtaW5zcGVjdC1idWZmZXItZHVy
aW5nLWNhbGxiYWNrLWV4cGVjdGVkLnR4dAppbmRleCBmMGM0ZWZhMDMwOGNjOTkzOTdlNDliNGJl
NTdiY2ZjNzRlNWZkNTJmLi43YTBlNjk3ZDRhZTAyMGMzNzlkNDQ2M2E0ZTQ3ZDFjOTg4MWVkMzMx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbnNwZWN0LWJ1ZmZlci1kdXJpbmctY2FsbGJh
Y2stZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLWluc3BlY3QtYnVmZmVyLWR1cmlu
Zy1jYWxsYmFjay1leHBlY3RlZC50eHQKQEAgLTEsMyArMSw1IEBACiAKLVBBU1MgVGVzdCB0aGF0
IGVudHJpZXMgaW4gdGhlIHNlY29uZGFyeSBidWZmZXIgYXJlIG5vdCBleHBvc2VkIGR1cmluZyB0
aGUgY2FsbGJhY2sgYW5kIGJlZm9yZSB0aGV5IGFyZSBjb3BpZWQgdG8gdGhlIHByaW1hcnkgYnVm
ZmVyCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBU
ZXN0IHRoYXQgZW50cmllcyBpbiB0aGUgc2Vjb25kYXJ5IGJ1ZmZlciBhcmUgbm90IGV4cG9zZWQg
ZHVyaW5nIHRoZSBjYWxsYmFjayBhbmQgYmVmb3JlIHRoZXkgYXJlIGNvcGllZCB0byB0aGUgcHJp
bWFyeSBidWZmZXIgVGVzdCB0aW1lZCBvdXQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwt
aW5zcGVjdC1idWZmZXItZHVyaW5nLWNhbGxiYWNrLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbnNw
ZWN0LWJ1ZmZlci1kdXJpbmctY2FsbGJhY2suaHRtbAppbmRleCBkNDZkNDY5MmE1NWI5Y2JlZjFh
YTVmODgyZjM4ODg3ZTFmNzk0MGU5Li5kNGFiMDRjZGQzNDVjOTUzMDRmYTZiM2VmNWJkMzc5MjJj
MDVlYTJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbnNwZWN0LWJ1ZmZlci1kdXJpbmct
Y2FsbGJhY2suaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1pbnNwZWN0LWJ1ZmZlci1kdXJpbmct
Y2FsbGJhY2suaHRtbApAQCAtNiw2ICs2LDcgQEAKIDxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0
cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNwZXJmb3JtYW5jZXJlc291cmNldGlt
aW5nIi8+CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9InJlc291cmNlcy9idWZmZXItZnVsbC11dGlsaXRpZXMuanMiPjwvc2NyaXB0
PgogPC9oZWFkPgogPGJvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zZXQtdG8tY3Vy
cmVudC1idWZmZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtc2V0LXRvLWN1cnJlbnQt
YnVmZmVyLWV4cGVjdGVkLnR4dAppbmRleCA4YzM1NjlkNjU4ODlkMzRkMDc4ZGNhOTY3ZmI1M2Zj
OWRhYTg1NDZjLi5lZTJkMDc2M2NjYTgxMjg4ZmE2ZGUzOTFkZjc3NjcyMWQ3MjhkYTczIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9idWZmZXItZnVsbC1zZXQtdG8tY3VycmVudC1idWZmZXItZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2J1ZmZlci1mdWxsLXNldC10by1jdXJyZW50LWJ1ZmZlci1leHBlY3RlZC50eHQK
QEAgLTEsMyArMSw1IEBACiAKLVBBU1MgVGVzdCB0aGF0IGVudHJpZXMgYWRkZWQgYW5kIGV2ZW50
IGZpcmluZyBoYXBwZW5lZCBpbiB0aGUgcmlnaHQgc2VxdWVuY2UKK0hhcm5lc3MgRXJyb3IgKFRJ
TUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitUSU1FT1VUIFRlc3QgdGhhdCBhZGRpbmcgZW50cmll
cyBhbmQgZmlyaW5nIHRoZSBidWZmZXIgZnVsbCBldmVudCBoYXBwZW4gaW4gdGhlIHJpZ2h0IG9y
ZGVyLiBUZXN0IHRpbWVkIG91dAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zZXQtdG8t
Y3VycmVudC1idWZmZXIuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXNldC10by1jdXJyZW50LWJ1ZmZl
ci5odG1sCmluZGV4IDFlNTQ4NmVjMmNkZmM0NDI4NzZiYTFmNWIyYzUyNDk4NWU3MGU1YjUuLmRj
NTI3YjlhMzJmNTE0OWZkZTRiZTg2ZDNiMmFlNWQ4MWZkMmQ0YzcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1
ZmZlci1mdWxsLXNldC10by1jdXJyZW50LWJ1ZmZlci5odG1sCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxs
LXNldC10by1jdXJyZW50LWJ1ZmZlci5odG1sCkBAIC0yLDgxICsyLDMzIEBACiA8aHRtbD4KIDxo
ZWFkPgogPG1ldGEgY2hhcnNldD0idXRmLTgiPgotPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRw
czovL3czYy5naXRodWIuaW8vcmVzb3VyY2UtdGltaW5nLyNkb20tcGVyZm9ybWFuY2Utc2V0cmVz
b3VyY2V0aW1pbmdidWZmZXJzaXplIj4KIDx0aXRsZT5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQg
c2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJGdWxsIGJlaGF2ZXMgYXBwcm9wcmlhdGVseSB3aGVuIHNl
dCB0byB0aGUgY3VycmVudCBidWZmZXIgbGV2ZWwuPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9y
IiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsg
cmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIv
I2RvbS1wZXJmb3JtYW5jZS1vbnJlc291cmNldGltaW5nYnVmZmVyZnVsbCI+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InJlc291
cmNlcy9idWZmZXItZnVsbC11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+
CiA8c2NyaXB0PgotbGV0IGV2ZW50RmlyZWQgPSBmYWxzZTsKLQotbGV0IGxvYWRSYW5kb21SZXNv
dXJjZSA9ICgpID0+IHsKLSAgICByZXR1cm4gZmV0Y2god2luZG93LmxvY2F0aW9uLmhyZWYgKyAi
PyIgKyBNYXRoLnJhbmRvbSgpKTsKLX07Ci0KLXNldHVwKCgpID0+IHsKLSAgICAvLyBHZXQgdGhl
IGJyb3dzZXIgaW50byBhIGNvbnNpc3RlbnQgc3RhdGUuCi0gICAgY2xlYXJCdWZmZXJBbmRTZXRT
aXplKDEwMCk7Ci0gICAgd2luZG93LnJlc3VsdCA9ICIiOwotfSk7Ci0KLWxldCBmaWxsVXBUaGVC
dWZmZXIgPSAoKSA9PiB7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAg
ICAgICAvLyBHYXRoZXIgdXAgMyBSZXNvdXJjZSBFbnRyaWVzIHRvIGtpY2sgb2ZmIHRoZSByZXN0
IG9mIHRlc3QgYmVoYXZpb3IuCi0gICAgICAgIGxldCByZXNvdXJjZXMgPSAwOwotICAgICAgICBs
ZXQgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihsaXN0ID0+IHsKLSAgICAgICAg
ICAgIHJlc291cmNlcyArPSBsaXN0LmdldEVudHJpZXNCeVR5cGUoInJlc291cmNlIikubGVuZ3Ro
OwotICAgICAgICAgICAgaWYgKHJlc291cmNlcyAhPT0gMykKLSAgICAgICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7Ci0gICAgICAgICAgICByZXNv
bHZlKCk7Ci0gICAgICAgIH0pOwotICAgICAgICBvYnNlcnZlci5vYnNlcnZlKHtlbnRyeVR5cGVz
OiBbInJlc291cmNlIl19KTsKLSAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAzOyArK2kpCi0g
ICAgICAgICAgICBsb2FkUmFuZG9tUmVzb3VyY2UoKTsKLSAgICB9KTsKLX07Ci0KLWxldCBzZXRC
dWZmZXJTaXplID0gKCkgPT4gewotICAgIHBlcmZvcm1hbmNlLm9ucmVzb3VyY2V0aW1pbmdidWZm
ZXJmdWxsID0gKCkgPT4gewotICAgICAgICBldmVudEZpcmVkID0gdHJ1ZTsKLSAgICAgICAgd2lu
ZG93LnJlc3VsdCArPSAiRXZlbnQgRmlyZWQgd2l0aCAiICArIHBlcmZvcm1hbmNlLmdldEVudHJp
ZXNCeVR5cGUoInJlc291cmNlIikubGVuZ3RoICsgIiBlbnRyaWVzLiAiOworcHJvbWlzZV90ZXN0
KGFzeW5jICgpID0+IHsKKyAgICBsZXQgcmVzdWx0ID0gJyc7CisgICAgcGVyZm9ybWFuY2UuYWRk
RXZlbnRMaXN0ZW5lcigncmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsJywgKCkgPT4geworICAgICAg
ICByZXN1bHQgKz0gJ0V2ZW50IEZpcmVkIHdpdGggJyAgKworICAgICAgICAgICAgcGVyZm9ybWFu
Y2UuZ2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKS5sZW5ndGggKyAnIGVudHJpZXMuJzsKICAg
ICAgICAgcGVyZm9ybWFuY2UuY2xlYXJSZXNvdXJjZVRpbWluZ3MoKTsKLSAgICB9OwotICAgIHdp
bmRvdy5yZXN1bHQgKz0gImJlZm9yZSBzZXRMaW1pdCgzKS4gIjsKLSAgICBwZXJmb3JtYW5jZS5z
ZXRSZXNvdXJjZVRpbWluZ0J1ZmZlclNpemUoMyk7Ci0gICAgd2luZG93LnJlc3VsdCArPSAiYWZ0
ZXIgc2V0TGltaXQoMykuICI7Ci19OwotCi1sZXQgb3ZlcmZsb3dUaGVCdWZmZXIgPSAoKSA9PiB7
Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgICAgICBsb2FkUmFuZG9t
UmVzb3VyY2UoKS50aGVuKCgpID0+IHsKLSAgICAgICAgICAgIHdpbmRvdy5yZXN1bHQgKz0gImFm
dGVyIGxvYWRpbmcgNHRoIHJlc291cmNlLiAiOwotICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAg
ICAgICB9KTsKICAgICB9KTsKLX07Ci0KLWxldCBjaGVja1Jlc3VsdCA9ICgpID0+IHsKLSAgICBy
ZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4gewotICAgICAgICBpZiAod2lu
ZG93LnJlc3VsdCAhPSAiYmVmb3JlIHNldExpbWl0KDMpLiBhZnRlciBzZXRMaW1pdCgzKS4gYWZ0
ZXIgbG9hZGluZyA0dGggcmVzb3VyY2UuIEV2ZW50IEZpcmVkIHdpdGggMyBlbnRyaWVzLiAiKSB7
Ci0gICAgICAgICAgICByZWplY3QoIk5vbiBtYXRjaGluZyB2YWx1ZTogIiArIHdpbmRvdy5yZXN1
bHQpOwotICAgICAgICB9Ci0gICAgICAgIGxldCBlbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50
cmllc0J5VHlwZSgicmVzb3VyY2UiKTsKLSAgICAgICAgaWYgKGVudHJpZXMubGVuZ3RoICE9IDEp
IHsKLSAgICAgICAgICAgIHJlamVjdCgiTnVtYmVyIG9mIGVudHJpZXMgaW4gcmVzb3VyY2UgdGlt
aW5nIGJ1ZmZlciBpcyB1bmV4cGVjdGVkOiAiICsgZW50cmllcy5sZW5ndGgpOwotICAgICAgICB9
Ci0gICAgICAgIHJlc29sdmUoKTsKLSAgICB9KTsKLX07Ci0KLXByb21pc2VfdGVzdChhc3luYyAo
KSA9PiB7Ci0gICAgYXdhaXQgZmlsbFVwVGhlQnVmZmVyKCk7Ci0gICAgc2V0QnVmZmVyU2l6ZSgp
OwotICAgIGF3YWl0IG92ZXJmbG93VGhlQnVmZmVyKCk7Ci0gICAgYXdhaXQgd2FpdEZvckV2ZW50
VG9GaXJlKCk7Ci0gICAgYXdhaXQgY2hlY2tSZXN1bHQoKTsKLX0sICJUZXN0IHRoYXQgZW50cmll
cyBhZGRlZCBhbmQgZXZlbnQgZmlyaW5nIGhhcHBlbmVkIGluIHRoZSByaWdodCBzZXF1ZW5jZSIp
OworICAgIHJlc3VsdCArPSAnQmVmb3JlIGFkZGluZyBlbnRyaWVzLiAnOworICAgIGF3YWl0IGZp
bGxVcFRoZUJ1ZmZlcldpdGhUd29SZXNvdXJjZXMoKTsKKyAgICByZXN1bHQgKz0gJ0FmdGVyIGFk
ZGluZyBlbnRyaWVzLiAnOworICAgIGxvYWQuc2NyaXB0KHNjcmlwdFJlc291cmNlc1syXSk7Cisg
ICAgYXdhaXQgYnVmZmVyRnVsbEZpcmVQcm9taXNlOworICAgIGFzc2VydF9lcXVhbHMocmVzdWx0
LCAnQmVmb3JlIGFkZGluZyBlbnRyaWVzLiBBZnRlciBhZGRpbmcgZW50cmllcy4gRXZlbnQgRmly
ZWQgd2l0aCAyIGVudHJpZXMuJyk7CisgICAgY29uc3QgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdl
dEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJyk7CisgICAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxl
bmd0aCwgMSwKKyAgICAgICAgJ051bWJlciBvZiBlbnRyaWVzIGluIHJlc291cmNlIHRpbWluZyBi
dWZmZXIgaXMgdW5leHBlY3RlZCcpOworICAgIGFzc2VydF90cnVlKGVudHJpZXNbMF0ubmFtZS5p
bmNsdWRlcyhzY3JpcHRSZXNvdXJjZXNbMl0pLAorICAgICAgICAnVGhlIGVudHJ5IG11c3QgY29y
cmVzcG9uZCB0byB0aGUgbGFzdCByZXNvdXJjZSBsb2FkZWQuJykKK30sICJUZXN0IHRoYXQgYWRk
aW5nIGVudHJpZXMgYW5kIGZpcmluZyB0aGUgYnVmZmVyIGZ1bGwgZXZlbnQgaGFwcGVuIGluIHRo
ZSByaWdodCBvcmRlci4iKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwt
c3RvcmUtYW5kLWNsZWFyLWR1cmluZy1jYWxsYmFjay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXIt
ZnVsbC1zdG9yZS1hbmQtY2xlYXItZHVyaW5nLWNhbGxiYWNrLWV4cGVjdGVkLnR4dAppbmRleCBi
ZjI3NTVmYzQyODgyYTI1MTdjYmQ0ZGIzNDFkNTVmNTFjNjI2MjZlLi4zN2YwY2YxOTllOTQyN2Rj
N2E4NzMwYWU2Mzk3NDQ1NDQ1ODAzNzUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC1zdG9y
ZS1hbmQtY2xlYXItZHVyaW5nLWNhbGxiYWNrLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXIt
ZnVsbC1zdG9yZS1hbmQtY2xlYXItZHVyaW5nLWNhbGxiYWNrLWV4cGVjdGVkLnR4dApAQCAtMSwz
ICsxLDUgQEAKIAotUEFTUyBUZXN0IHRoYXQgZW50cmllcyBvdmVyZmxvd2luZyB0aGUgYnVmZmVy
IHRyaWdnZXIgdGhlIGJ1ZmZlciBmdWxsIGV2ZW50LCBjYW4gYmUgc3RvcmVkLCBhbmQgZmluZCB0
aGVtc2VsdmVzIGluIHRoZSBwcmltYXJ5IGJ1ZmZlciBhZnRlciBpdCdzIGNsZWFyZWQuCitIYXJu
ZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworVElNRU9VVCBUZXN0IHRoYXQg
ZW50cmllcyBvdmVyZmxvd2luZyB0aGUgYnVmZmVyIHRyaWdnZXIgdGhlIGJ1ZmZlciBmdWxsIGV2
ZW50LCBjYW4gYmUgc3RvcmVkLCBhbmQgbWFrZSB0aGVpciB3YXkgdG8gdGhlIHByaW1hcnkgYnVm
ZmVyIGFmdGVyIGl0J3MgY2xlYXJlZCBpbiB0aGUgYnVmZmVyIGZ1bGwgZXZlbnQuIFRlc3QgdGlt
ZWQgb3V0CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXN0b3JlLWFuZC1jbGVhci1kdXJp
bmctY2FsbGJhY2suaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXN0b3JlLWFuZC1jbGVhci1kdXJpbmct
Y2FsbGJhY2suaHRtbAppbmRleCBmMDc5MWNiYTZiMzlmYjRiN2UxYWYwOTA3Nzc3MmYxZWUzYjQy
NzQ0Li4zZWEwNTc3MjU2Yzg1YjM1NDUzMzU4ZDE4Yzk3MGU0ZmIzMDQ1YzRjIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9idWZmZXItZnVsbC1zdG9yZS1hbmQtY2xlYXItZHVyaW5nLWNhbGxiYWNrLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvYnVmZmVyLWZ1bGwtc3RvcmUtYW5kLWNsZWFyLWR1cmluZy1jYWxsYmFjay5odG1sCkBA
IC00LDUyICs0LDMzIEBACiA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KIDx0aXRsZT5UaGlzIHRl
c3QgdmFsaWRhdGVzIHRoZSBiZWhhdmlvciBvZiByZWFkIGFuZCBjbGVhciBvcGVyYXRpb24gaW4g
b25yZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwgY2FsbGJhY2sgb2YgcmVzb3VyY2UgdGltaW5nLjwv
dGl0bGU+CiA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkludGVsIiBocmVmPSJodHRwOi8vd3d3
LmludGVsLmNvbS8iIC8+Ci08bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3Jn
L1RSL3Jlc291cmNlLXRpbWluZy8jcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgorPGxpbmsg
cmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIv
I2RvbS1wZXJmb3JtYW5jZS1vbnJlc291cmNldGltaW5nYnVmZmVyZnVsbCIvPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJl
c291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5
PgogPHNjcmlwdD4KLWNvbnN0IHJlc291cmNlX3RpbWluZ19idWZmZXJfc2l6ZSA9IDE7Ci1sZXQg
Z2xvYmFsX2J1ZmZlciA9IFtdOwotbGV0IGV2ZW50RmlyZWQgPSBmYWxzZTsKLQotc2V0dXAoKCkg
PT4gewotICAgIGNsZWFyQnVmZmVyQW5kU2V0U2l6ZShyZXNvdXJjZV90aW1pbmdfYnVmZmVyX3Np
emUpOwotICAgIGxldCBzdG9yZV9hbmRfY2xlYXIgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgY29u
c3QgZW50cnlMaXN0ID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKTsK
LSAgICAgICAgZW50cnlMaXN0LmZvckVhY2goZnVuY3Rpb24gKGVudHJ5KSB7Ci0gICAgICAgICAg
ICBnbG9iYWxfYnVmZmVyLnB1c2goZW50cnkpOwotICAgICAgICB9KTsKLSAgICAgICAgcGVyZm9y
bWFuY2UuY2xlYXJSZXNvdXJjZVRpbWluZ3MoKTsKLSAgICAgICAgZXZlbnRGaXJlZCA9IHRydWU7
Ci0gICAgfQotICAgIHBlcmZvcm1hbmNlLmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc291cmNldGltaW5n
YnVmZmVyZnVsbCcsIHN0b3JlX2FuZF9jbGVhcik7Ci19KTsKLQotbGV0IG92ZXJmbG93VGhlQnVm
ZmVyID0gKCkgPT4gewotICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAg
ICAgLy8gVGhpcyByZXNvdXJjZSBvdmVyZmxvd3MgdGhlIGVudHJ5IGJ1ZmZlciwgYW5kIGdvZXMg
aW50byB0aGUgc2Vjb25kYXJ5IGJ1ZmZlci4KLSAgICAgICAgYXBwZW5kU2NyaXB0KCdyZXNvdXJj
ZXMvZW1wdHlfc2NyaXB0LmpzJywgcmVzb2x2ZSk7Citwcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4g
eworICAgIGF3YWl0IGZpbGxVcFRoZUJ1ZmZlcldpdGhTaW5nbGVSZXNvdXJjZSgpOworICAgIGNv
bnN0IGVudHJ5QnVmZmVyID0gW107CisgICAgcGVyZm9ybWFuY2UuYWRkRXZlbnRMaXN0ZW5lcign
cmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsJywgKCkgPT4geworICAgICAgZW50cnlCdWZmZXIucHVz
aCguLi5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCdyZXNvdXJjZScpKTsKKyAgICAgIHBl
cmZvcm1hbmNlLmNsZWFyUmVzb3VyY2VUaW1pbmdzKCk7CiAgICAgfSk7Ci19OwotCi1sZXQgdGVz
dFRoYXRCdWZmZXJDb250YWluc1RoZVJpZ2h0UmVzb3VyY2VzID0gKCkgPT4gewotICAgIGxldCBl
bnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKTsKKyAgICBs
b2FkLnNjcmlwdChzY3JpcHRSZXNvdXJjZXNbMV0pOworICAgIGF3YWl0IGJ1ZmZlckZ1bGxGaXJl
UHJvbWlzZTsKKyAgICBjb25zdCBlbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0RW50cmllc0J5VHlw
ZSgncmVzb3VyY2UnKTsKICAgICBhc3NlcnRfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLAotICAg
ICAgICAgICAgICAgICAgIk9ubHkgdGhlIGxhc3QgZW50cnkgc2hvdWxkIGJlIHN0b3JlZCBpbiBy
ZXNvdXJjZSB0aW1pbmcgYnVmZmVyIHNpbmNlIGl0J3MgY2xlYXJlZCBvbmNlIGl0IG92ZXJmbG93
cy4iKTsKLSAgICBhc3NlcnRfZXF1YWxzKGdsb2JhbF9idWZmZXIubGVuZ3RoLCAxLCAnMSByZXNv
dXJjZSB0aW1pbmcgZW50cnkgc2hvdWxkIGJlIG1vdmVkIHRvIGdsb2JhbCBidWZmZXIuJyk7Ci0g
ICAgYXNzZXJ0X3RydWUoZ2xvYmFsX2J1ZmZlclswXS5uYW1lLmluY2x1ZGVzKCdlbXB0eS5qcycp
LCAiZW1wdHkuanMgaXMgaW4gdGhlIGdsb2JhbCBidWZmZXIiKTsKLSAgICBhc3NlcnRfdHJ1ZShl
bnRyaWVzWzBdLm5hbWUuaW5jbHVkZXMoJ2VtcHR5X3NjcmlwdC5qcycpLCAiZW1wdHlfc2NyaXB0
LmpzIGlzIGluIHRoZSBlbnRyaWVzIGJ1ZmZlciIpOwotfTsKLQotcHJvbWlzZV90ZXN0KGFzeW5j
ICgpID0+IHsKLSAgICBhd2FpdCBmaWxsVXBUaGVCdWZmZXJXaXRoU2luZ2xlUmVzb3VyY2UoInJl
c291cmNlcy9lbXB0eS5qcyIpOwotICAgIGF3YWl0IG92ZXJmbG93VGhlQnVmZmVyKCk7Ci0gICAg
YXdhaXQgd2FpdEZvckV2ZW50VG9GaXJlKCk7Ci0gICAgdGVzdFRoYXRCdWZmZXJDb250YWluc1Ro
ZVJpZ2h0UmVzb3VyY2VzKCk7Ci19LCAiVGVzdCB0aGF0IGVudHJpZXMgb3ZlcmZsb3dpbmcgdGhl
IGJ1ZmZlciB0cmlnZ2VyIHRoZSBidWZmZXIgZnVsbCBldmVudCwgY2FuIGJlIHN0b3JlZCwgYW5k
IGZpbmQgdGhlbXNlbHZlcyBpbiB0aGUgcHJpbWFyeSBidWZmZXIgYWZ0ZXIgaXQncyBjbGVhcmVk
LiIpOworICAgICAgICAiT25seSB0aGUgbGFzdCBlbnRyeSBzaG91bGQgYmUgc3RvcmVkIGluIHJl
c291cmNlIHRpbWluZyBidWZmZXIgc2luY2UgaXQncyBjbGVhcmVkIG9uY2UgaXQgb3ZlcmZsb3dz
LiIpOworICAgIGFzc2VydF90cnVlKGVudHJpZXNbMF0ubmFtZS5pbmNsdWRlcyhzY3JpcHRSZXNv
dXJjZXNbMV0pLAorICAgICAgICBzY3JpcHRSZXNvdXJjZXNbMV0gICsgIiBpcyBpbiB0aGUgZW50
cmllcyBidWZmZXIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKGVudHJ5QnVmZmVyLmxlbmd0aCwgMSwK
KyAgICAgICAgJzEgcmVzb3VyY2UgdGltaW5nIGVudHJ5IHNob3VsZCBiZSBtb3ZlZCB0byBlbnRy
eUJ1ZmZlci4nKTsKKyAgICBhc3NlcnRfdHJ1ZShlbnRyeUJ1ZmZlclswXS5uYW1lLmluY2x1ZGVz
KHNjcmlwdFJlc291cmNlc1swXSksCisgICAgICAgIHNjcmlwdFJlc291cmNlc1swXSArICcgaXMg
aW4gdGhlIGVudHJ5QnVmZmVyJyk7Cit9LCAiVGVzdCB0aGF0IGVudHJpZXMgb3ZlcmZsb3dpbmcg
dGhlIGJ1ZmZlciB0cmlnZ2VyIHRoZSBidWZmZXIgZnVsbCBldmVudCwgY2FuIGJlIHN0b3JlZCwg
YW5kIG1ha2UgdGhlaXIgd2F5IHRvIHRoZSBwcmltYXJ5IGJ1ZmZlciBhZnRlciBpdCdzIGNsZWFy
ZWQgaW4gdGhlIGJ1ZmZlciBmdWxsIGV2ZW50LiIpOwogPC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC10aGVuLWluY3JlYXNlZC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9idWZmZXItZnVsbC10aGVuLWluY3JlYXNlZC1leHBlY3RlZC50eHQKaW5kZXggZWZi
YjY5NzRiYTczYWVkOTAwYzA1ZmM1MWVmZDM3ODM0NTA4MjkxOS4uNmY5ZTNmODJkMDExYzgzMTk0
ODFhZWE5MmJmZTIxNGFjN2FlNjA3YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtdGhlbi1p
bmNyZWFzZWQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXRoZW4taW5jcmVhc2Vk
LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotUEFTUyBUZXN0IHRoYXQgb3ZlcmZsb3dp
bmcgdGhlIGJ1ZmZlciBhbmQgaW1tZWRpYXRlbHkgaW5jcmVhc2luZyBpdHMgbGltaXQgZG9lcyBu
b3QgdHJpZ2dlciB0aGUgcmVzb3VyY2V0aW1pbmdidWZmZXJmdWxsIGV2ZW50CitGQUlMIFRlc3Qg
dGhhdCBvdmVyZmxvd2luZyB0aGUgYnVmZmVyIGFuZCBpbW1lZGlhdGVseSBpbmNyZWFzaW5nIGl0
cyBsaW1pdCBkb2VzIG5vdCB0cmlnZ2VyIHRoZSByZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwgZXZl
bnQgYXNzZXJ0X2VxdWFsczogQWxsIHJlc291cmNlcyBzaG91bGQgYmUgaW4gdGhlIGJ1ZmZlciwg
c2luY2UgaXRzIHNpemUgd2FzIGluY3JlYXNlZCBleHBlY3RlZCAzIGJ1dCBnb3QgMgogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9idWZmZXItZnVsbC10aGVuLWluY3JlYXNlZC5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1
bGwtdGhlbi1pbmNyZWFzZWQuaHRtbAppbmRleCAyMjY1MDc3ZmMxNWEyNzdjMzM1MmRhMjE1ZmE1
YWM4YTI3NmM2MGFhLi42NTJhZDE5MjFkM2Q1OTc2OGI3MmQ0NWZiNjllN2Q5NGVkNzMwNTI3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9idWZmZXItZnVsbC10aGVuLWluY3JlYXNlZC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1
ZmZlci1mdWxsLXRoZW4taW5jcmVhc2VkLmh0bWwKQEAgLTYsNiArNiw3IEBACiA8bGluayByZWw9
ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jcGVyZm9y
bWFuY2VyZXNvdXJjZXRpbWluZyIvPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBv
cnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJz
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvYnVmZmVyLWZ1bGwtdXRpbGl0
aWVzLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVy
LWZ1bGwtd2hlbi1wb3B1bGF0ZS1lbnRyaWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxs
LXdoZW4tcG9wdWxhdGUtZW50cmllcy1leHBlY3RlZC50eHQKaW5kZXggMzRlYzgxODU4OWQ2NWU5
MThhM2FiOTQzNjcyNmQxNDIxMzExNWU3Ni4uZjE5ZmYxODYzZDc5YzkzOTM4YzI0YzljZjY1ZTI1
NWMxYmU3ZmE2ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtd2hlbi1wb3B1bGF0ZS1lbnRy
aWVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9idWZmZXItZnVsbC13aGVuLXBvcHVsYXRlLWVudHJp
ZXMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1QQVNTIFRlc3QgdGhhdCBhIGJ1ZmZl
ciBmdWxsIGV2ZW50IGRvZXMgbm90IGJ1YmJsZSBhbmQgdGhhdCByZXNvdXJjZXRpbWluZ2J1ZmZl
cmZ1bGwgaXMgY2FsbGVkIG9ubHkgb25jZSBwZXIgb3ZlcmZsb3cKK0ZBSUwgVGVzdCB0aGF0IGEg
YnVmZmVyIGZ1bGwgZXZlbnQgZG9lcyBub3QgYnViYmxlIGFuZCB0aGF0IHJlc291cmNldGltaW5n
YnVmZmVyZnVsbCBpcyBjYWxsZWQgb25seSBvbmNlIHBlciBvdmVyZmxvdyBhc3NlcnRfZXF1YWxz
OiBOdW1iZXIgb2YgZW50cmllcyBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgdmFsdWUuIGV4
cGVjdGVkIDIgYnV0IGdvdCAwCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2J1ZmZlci1mdWxsLXdoZW4tcG9w
dWxhdGUtZW50cmllcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwtd2hlbi1wb3B1bGF0ZS1lbnRyaWVz
Lmh0bWwKaW5kZXggMDBkMmFlMGU0NDI2ZjQ2NDRmNzBlOTIxNzUxZmZmYzMyN2RlNDZkNi4uZjRi
MWEyZTdlN2FiYmEyNWM3OGU0YzFkYmUwYjFhYmEyOTA2MWQ0NyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVm
ZmVyLWZ1bGwtd2hlbi1wb3B1bGF0ZS1lbnRyaWVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvYnVmZmVyLWZ1bGwt
d2hlbi1wb3B1bGF0ZS1lbnRyaWVzLmh0bWwKQEAgLTIsNDQgKzIsMjggQEAKIDxodG1sPgogPGhl
YWQ+CiA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KLTxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0i
SW50ZWwiIGhyZWY9Imh0dHA6Ly93d3cuaW50ZWwuY29tLyIgLz4KLTxsaW5rIHJlbD0iaGVscCIg
aHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLyNwZXJmb3JtYW5jZXJl
c291cmNldGltaW5nIi8+CiA8dGl0bGU+VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUgZnVuY3Rpb25h
bGl0eSBvZiBvbnJlc291cmNldGltaW5nYnVmZmVyZnVsbCBpbiByZXNvdXJjZSB0aW1pbmcuPC90
aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iSW50ZWwiIGhyZWY9Imh0dHA6Ly93d3cu
aW50ZWwuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3Jn
L1RSL3Jlc291cmNlLXRpbWluZy0yLyNkb20tcGVyZm9ybWFuY2Utb25yZXNvdXJjZXRpbWluZ2J1
ZmZlcmZ1bGwiLz4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2J1ZmZlci1mdWxsLXV0aWxpdGllcy5qcyI+PC9z
Y3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxzY3JpcHQ+Ci1jb25zdCByZXNvdXJjZV90aW1pbmdf
YnVmZmVyX3NpemUgPSAyOwotbGV0IGJ1ZmZlckZ1bGxDb3VudCA9IDA7Ci1sZXQgZXZlbnRGaXJl
ZCA9IGZhbHNlOwotc2V0dXAoKCkgPT4gewotICAgIGNsZWFyQnVmZmVyQW5kU2V0U2l6ZShyZXNv
dXJjZV90aW1pbmdfYnVmZmVyX3NpemUpOworcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAg
ICBsZXQgYnVmZmVyRnVsbENvdW50ID0gMDsKICAgICBwZXJmb3JtYW5jZS5hZGRFdmVudExpc3Rl
bmVyKCdyZXNvdXJjZXRpbWluZ2J1ZmZlcmZ1bGwnLCBlID0+IHsKICAgICAgICAgYXNzZXJ0X2Vx
dWFscyhlLmJ1YmJsZXMsIGZhbHNlLCAiRXZlbnQgYnViYmxlcyBhdHRyaWJ1dGUgaXMgZmFsc2Ui
KTsKICAgICAgICAgYnVmZmVyRnVsbENvdW50Kys7Ci0gICAgICAgIGV2ZW50RmlyZWQgPSB0cnVl
OwogICAgIH0pOwotfSk7Ci0KLWxldCBvdmVyZmxvd1RoZUJ1ZmZlciA9ICgpID0+IHsKLSAgICBy
ZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0gICAgICAgIC8vIFRoaXMgcmVzb3VyY2Ug
b3ZlcmZsb3dzIHRoZSBlbnRyeSBidWZmZXIsIGFuZCBnb2VzIGludG8gdGhlIHNlY29uZGFyeSBi
dWZmZXIuCi0gICAgICAgIGFwcGVuZFNjcmlwdCgncmVzb3VyY2VzL2VtcHR5X3NjcmlwdC5qcycs
IHJlc29sdmUpOwotICAgIH0pOwotfTsKLQotbGV0IHRlc3RUaGF0QnVmZmVyQ29udGFpbnNUaGVS
aWdodFJlc291cmNlcyA9ICgpID0+IHsKLSAgICBhc3NlcnRfZXF1YWxzKHBlcmZvcm1hbmNlLmdl
dEVudHJpZXNCeVR5cGUoJ3Jlc291cmNlJykubGVuZ3RoLCByZXNvdXJjZV90aW1pbmdfYnVmZmVy
X3NpemUsICdUaGVyZSBzaG91bGQgb25seSBiZSB8YnVmZmVyU2l6ZXwgcmVzb3VyY2UgZW50cmll
cy4nKTsKKyAgICBhd2FpdCBmaWxsVXBUaGVCdWZmZXJXaXRoVHdvUmVzb3VyY2VzKCk7CisgICAg
Ly8gT3ZlcmZsb3cgdGhlIGJ1ZmZlcgorICAgIGF3YWl0IGxvYWQuc2NyaXB0KHNjcmlwdFJlc291
cmNlc1syXSk7CisgICAgYXdhaXQgd2FpdEZvck5leHRUYXNrKCk7CisgICAgY2hlY2tFbnRyaWVz
KDIpOwogICAgIGFzc2VydF9lcXVhbHMoYnVmZmVyRnVsbENvdW50LCAxLCAnb25yZXNvdXJjZXRp
bWluZ2J1ZmZlcmZ1bGwgc2hvdWxkIGhhdmUgYmVlbiBpbnZva2VkIG9uY2UuJyk7Ci19OwotCi1w
cm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4gewotICAgIGF3YWl0IGZpbGxVcFRoZUJ1ZmZlcldpdGhU
d29SZXNvdXJjZXMoJ3Jlc291cmNlcy9lbXB0eS5qcycpOwotICAgIGF3YWl0IG92ZXJmbG93VGhl
QnVmZmVyKCk7Ci0gICAgYXdhaXQgd2FpdEZvckV2ZW50VG9GaXJlKCk7Ci0gICAgdGVzdFRoYXRC
dWZmZXJDb250YWluc1RoZVJpZ2h0UmVzb3VyY2VzKCk7CiB9LCAiVGVzdCB0aGF0IGEgYnVmZmVy
IGZ1bGwgZXZlbnQgZG9lcyBub3QgYnViYmxlIGFuZCB0aGF0IHJlc291cmNldGltaW5nYnVmZmVy
ZnVsbCBpcyBjYWxsZWQgb25seSBvbmNlIHBlciBvdmVyZmxvdyIpOwogPC9zY3JpcHQ+CiA8L2Jv
ZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0aW9uLXJldXNlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nv
bm5lY3Rpb24tcmV1c2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI1YjE1ODcyZjYzODE4Y2U1
NTcyM2EwNTdjZDk2YzljZDNkNmY3MTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0aW9u
LXJldXNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKK0Rlc2NyaXB0aW9uCisKK1NlZSB0
aGUgaW5jbHVkZWQgdGVzdCBzY3JpcHQKKworCitQQVNTIFBlcmZvcm1hbmNlUmVzcm91Y2VUaW1p
bmcgZW50cmllcyBuZWVkIHRvIGNvbmZvcm0gdG8gdGhlIHNwZWMgd2hlbiBhIGRpc3RpbmN0IHJl
c291cmNlIGlzIGZldGNoZWQgb3ZlciBhIHBlcnNpc3RlbnQgY29ubmVjdGlvbgorUEFTUyBQZXJm
b3JtYW5jZVJlc3JvdWNlVGltaW5nIGVudHJpZXMgbmVlZCB0byBjb25mb3JtIHRvIHRoZSBzcGVj
IHdoZW4gdGhlIHJlc291cmNlIGlzIGNhY2hlLXJldmFsaWRhdGVkIG92ZXIgYSBwZXJzaXN0ZW50
IGNvbm5lY3Rpb24KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1yZXVzZS5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
Y29ubmVjdGlvbi1yZXVzZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4MmI3YmM0ZWE5YmIxYzM5MDQ3YzVm
NTE4NjdkYzNhM2E0NWRiZWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0aW9uLXJldXNl
Lmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nIGNvbm5lY3Rp
b24gcmV1c2U8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJHb29nbGUiIGhyZWY9
Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBz
Oi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmctMi8jc2VjLXBlcmZvcm1hbmNlcmVzb3Vy
Y2V0aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnktaW52YXJpYW50cy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2Nvbm5lY3Rpb24tcmV1c2UtdGVzdC5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5EZXNjcmlwdGlvbjwvaDE+Cis8cD5TZWUgPGEg
aHJlZj0icmVzb3VyY2VzL2Nvbm5lY3Rpb24tcmV1c2UtdGVzdC5qcyI+dGhlIGluY2x1ZGVkIHRl
c3QKKyAgc2NyaXB0PC9hPjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nv
bm5lY3Rpb24tcmV1c2UuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY29ubmVjdGlvbi1yZXVzZS5o
dHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjViMTU4NzJmNjM4MThjZTU1NzIzYTA1N2Nk
OTZjOWNkM2Q2ZjcxNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rpb24tcmV1c2UuaHR0
cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorRGVzY3JpcHRpb24KKworU2VlIHRoZSBp
bmNsdWRlZCB0ZXN0IHNjcmlwdAorCisKK1BBU1MgUGVyZm9ybWFuY2VSZXNyb3VjZVRpbWluZyBl
bnRyaWVzIG5lZWQgdG8gY29uZm9ybSB0byB0aGUgc3BlYyB3aGVuIGEgZGlzdGluY3QgcmVzb3Vy
Y2UgaXMgZmV0Y2hlZCBvdmVyIGEgcGVyc2lzdGVudCBjb25uZWN0aW9uCitQQVNTIFBlcmZvcm1h
bmNlUmVzcm91Y2VUaW1pbmcgZW50cmllcyBuZWVkIHRvIGNvbmZvcm0gdG8gdGhlIHNwZWMgd2hl
biB0aGUgcmVzb3VyY2UgaXMgY2FjaGUtcmV2YWxpZGF0ZWQgb3ZlciBhIHBlcnNpc3RlbnQgY29u
bmVjdGlvbgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jb25uZWN0aW9uLXJldXNlLmh0dHBzLmh0bWwgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9jb25uZWN0aW9uLXJldXNlLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTgyYjdiYzRlYTliYjFj
MzkwNDdjNWY1MTg2N2RjM2EzYTQ1ZGJlYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nvbm5lY3Rp
b24tcmV1c2UuaHR0cHMuaHRtbApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBU
aW1pbmcgY29ubmVjdGlvbiByZXVzZTwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9
Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4KKzxsaW5rIHJlbD0iaGVs
cCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNzZWMtcGVy
Zm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9lbnRyeS1pbnZhcmlh
bnRzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvY29ubmVjdGlvbi1yZXVz
ZS10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGgxPkRlc2NyaXB0aW9uPC9o
MT4KKzxwPlNlZSA8YSBocmVmPSJyZXNvdXJjZXMvY29ubmVjdGlvbi1yZXVzZS10ZXN0LmpzIj50
aGUgaW5jbHVkZWQgdGVzdAorICBzY3JpcHQ8L2E+PC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvY3Jvc3Mtb3JpZ2luLXN0YXJ0LWVuZC10aW1lLXdpdGgtcmVkaXJlY3RzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1zdGFydC1lbmQtdGltZS13aXRoLXJlZGlyZWN0
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2FlNzIyZmM5YTEyYzZlZTQyMjdmNDk0YmViNjc2
M2FiNDdmZDM4YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1zdGFydC1lbmQt
dGltZS13aXRoLXJlZGlyZWN0cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1Mg
VmVyaWZ5IHRoYXQgY3Jvc3Mtb3JpZ2luIHJlc291cmNlcyBkb24ndCBpbXBsaWNpdGx5IGV4cG9z
ZSB0aGVpciByZWRpcmVjdCB0aW1pbmdzCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1z
dGFydC1lbmQtdGltZS13aXRoLXJlZGlyZWN0cy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mtb3JpZ2luLXN0YXJ0
LWVuZC10aW1lLXdpdGgtcmVkaXJlY3RzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWIxMDdkM2FlZjc3NjRk
OWI5NjAzZWEyNjU4Y2Y0NjljZjI4NTk4MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2Nyb3NzLW9y
aWdpbi1zdGFydC1lbmQtdGltZS13aXRoLXJlZGlyZWN0cy5odG1sCkBAIC0wLDAgKzEsMzIgQEAK
KzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAv
PgorPHRpdGxlPlRoaXMgdGVzdCB2YWxpZGF0ZXMgdGhlIHZhbHVlcyBpbiByZXNvdXJjZSB0aW1p
bmcgZm9yIGNyb3NzLW9yaWdpbgorcmVkaXJlY3RzLjwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhv
ciIgdGl0bGU9Ik5vYW0gUm9zZW50aGFsIiBocmVmPSJub2FtQHdlYmtpdC5vcmciPgorPGxpbmsg
cmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIv
I3NlYy1wZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9z
dC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNl
LWxvYWRlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9lbnRyeS1pbnZh
cmlhbnRzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2NvbnN0IHtS
RU1PVEVfT1JJR0lOfSA9IGdldF9ob3N0X2luZm8oKTsKK2NvbnN0IGRlbGF5ID0gMgorY29uc3Qg
YmxhbmtfcGFnZSA9IGAvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ibGFua19wYWdlX2dyZWVu
Lmh0bWA7Citjb25zdCBkZXN0VXJsID0gYC9jb21tb24vc2xvdy1yZWRpcmVjdC5weT9kZWxheT0k
e2RlbGF5fSZsb2NhdGlvbj0ke1JFTU9URV9PUklHSU59LyR7YmxhbmtfcGFnZX1gOworCitjb25z
dCB0aW1lQmVmb3JlID0gcGVyZm9ybWFuY2Uubm93KCkKK2F0dHJpYnV0ZV90ZXN0KGxvYWQuaWZy
YW1lLCBkZXN0VXJsLCBlbnRyeSA9PiB7CisgICAgYXNzZXJ0X2VxdWFscyhlbnRyeS5zdGFydFRp
bWUsIGVudHJ5LmZldGNoU3RhcnQsICdzdGFydFRpbWUgYW5kIGZldGNoU3RhcnQgc2hvdWxkIGJl
IGVxdWFsJyk7CisgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihlbnRyeS5zdGFydFRpbWUsIHRpbWVC
ZWZvcmUsICdzdGFydFRpbWUgYW5kIGZldGNoU3RhcnQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiB0
aGUgdGltZSBiZWZvcmUgZmV0Y2hpbmcnKTsKKyAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29t
L3czYy9yZXNvdXJjZS10aW1pbmcvaXNzdWVzLzI2NAorICAgIGFzc2VydF9sZXNzX3RoYW4oTWF0
aC5yb3VuZChlbnRyeS5zdGFydFRpbWUgLSB0aW1lQmVmb3JlKSwgZGVsYXkgKiAxMDAwLCAnc3Rh
cnRUaW1lIHNob3VsZCBub3QgZXhwb3NlIHJlZGlyZWN0IGRlbGF5cycpOworfSwgIlZlcmlmeSB0
aGF0IGNyb3NzLW9yaWdpbiByZXNvdXJjZXMgZG9uJ3QgaW1wbGljaXRseSBleHBvc2UgdGhlaXIg
cmVkaXJlY3QgdGltaW5ncyIpCisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvY3Jvc3Mtb3JpZ2luLXN0YXR1cy1jb2Rlcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvY3Jvc3Mtb3JpZ2lu
LXN0YXR1cy1jb2Rlcy5odG1sCmluZGV4IGU4ZWNlNWZmMmZlYTNkNGQ4NTZjZGYzNzc0ODcwYzU5
MDgwYTFjNDUuLjE5N2E3NjYzMzk2ZWY2NmM3NzY0ZDY1OTliMDM4NTRkMTM4ZjJlNjAgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL2Nyb3NzLW9yaWdpbi1zdGF0dXMtY29kZXMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9jcm9zcy1v
cmlnaW4tc3RhdHVzLWNvZGVzLmh0bWwKQEAgLTEsNiArMSw5IEBACiA8IWRvY3R5cGUgaHRtbD4K
IDxodG1sPgogPGhlYWQ+Cis8dGl0bGU+UmVzb3VyY2UgVGltaW5nOiBQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nIGF0dHJpYnV0ZXMgc2hvdWxkbid0IGNoYW5nZQorICBpZiB0aGUgSFRUUCBzdGF0
dXMgY29kZSBjaGFuZ2VzPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93
d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNzZWMtcGVyZm9ybWFuY2VyZXNvdXJjZXRp
bWluZyIvPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgogPHNjcmlwdCBzcmM9L2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcz48L3NjcmlwdD4KQEAg
LTE1LDM0ICsxOCw1MyBAQAogPHNjcmlwdCBpZD0ic2NyaXB0XzQwNCI+PC9zY3JpcHQ+CiA8c2Ny
aXB0IGlkPSJzY3JpcHRfNTAyIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci1hc3luY190ZXN0KHQgPT4g
ewotICBsZXQgZGVzdFVybCA9IGdldF9ob3N0X2luZm8oKS5IVFRQX1JFTU9URV9PUklHSU4gKyAn
L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvJzsKLSAgbGV0IHN0YXR1c0NvZGVzID0gWycyMDAn
LCAnMzA3JywgJzQwNCcsICc1MDInXTsKKworY29uc3QgbGlzdGVuRm9yUGVyZm9ybWFuY2VFbnRy
aWVzID0gbnVtX2V4cGVjdGVkID0+IHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4g
eworICAgIGxldCByZXN1bHRzID0gW107CisgICAgbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoZW50
cnlMaXN0ID0+IHsKKyAgICAgIGVudHJ5TGlzdC5nZXRFbnRyaWVzKCkuZm9yRWFjaChlbnRyeSA9
PiB7CisgICAgICAgIGlmICghZW50cnkubmFtZS5pbmNsdWRlcygic3RhdHVzLWNvZGUiKSkKKyAg
ICAgICAgICByZXR1cm47CisKKyAgICAgICAgcmVzdWx0cy5wdXNoKGVudHJ5KTsKKyAgICAgICAg
aWYgKHJlc3VsdHMubGVuZ3RoID09IG51bV9leHBlY3RlZCkgeworICAgICAgICAgIHJlc29sdmUo
cmVzdWx0cyk7CisgICAgICAgIH0KKyAgICAgIH0pOworICAgIH0pLm9ic2VydmUoe2VudHJ5VHlw
ZXM6IFsncmVzb3VyY2UnXX0pOworICB9KTsKK30KKworcHJvbWlzZV90ZXN0KGFzeW5jIHQgPT4g
eworICBjb25zdCBkZXN0VXJsID0gZ2V0X2hvc3RfaW5mbygpLkhUVFBfUkVNT1RFX09SSUdJTiAr
ICcvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy8nOworICBjb25zdCBzdGF0dXNDb2RlcyA9IFsn
MjAwJywgJzMwNycsICc0MDQnLCAnNTAyJ107CisKKyAgbGV0IGV4cGVjdGVkX2VudHJ5X2NvdW50
ID0gMDsKICAgc3RhdHVzQ29kZXMuZm9yRWFjaChzdGF0dXMgPT4gewotICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdpbWdfJyArIHN0YXR1cykuc3JjID0gZGVzdFVybCArICdzdGF0dXMtY29k
ZS5weT9zdGF0dXM9JyArIHN0YXR1czsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2Ny
aXB0XycgKyBzdGF0dXMpLnNyYyA9IGRlc3RVcmwgKyAnc3RhdHVzLWNvZGUucHk/c3RhdHVzPScg
KyBzdGF0dXMgKyAnJnNjcmlwdD0xJzsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgaW1n
XyR7c3RhdHVzfWApLnNyYyA9IGAke2Rlc3RVcmx9c3RhdHVzLWNvZGUucHk/c3RhdHVzPSR7c3Rh
dHVzfWA7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYHNjcmlwdF8ke3N0YXR1c31gKS5z
cmMgPSBgJHtkZXN0VXJsfXN0YXR1cy1jb2RlLnB5P3N0YXR1cz0ke3N0YXR1c30mc2NyaXB0PTFg
OworICAgIGV4cGVjdGVkX2VudHJ5X2NvdW50ICs9IDI7CiAgIH0pOwotICBsZXQgbmFtZU1hcCA9
IHt9OwotICBsZXQgZmlyc3RFbnRyeSA9IG51bGw7Ci0gIC8vIFdlIHdpbGwgY2hlY2sgdGhhdCB0
aGUgbm9uLXRpbWVzdGFtcCB2YWx1ZXMgb2YgdGhlIGVudHJ5IG1hdGNoIGZvciBhbGwgZW50cmll
cy4KLSAgY29uc3Qga2V5cyA9IFsnZW50cnlUeXBlJywgJ25leHRIb3BQcm90b2NvbCcsICd0cmFu
c2ZlclNpemUnLCAnZW5jb2RlZEJvZHlTaXplJywgJ2RlY29kZWRCb2R5U2l6ZSddOwotICBuZXcg
UGVyZm9ybWFuY2VPYnNlcnZlcih0LnN0ZXBfZnVuYyhlbnRyeUxpc3QgPT4gewotICAgIGVudHJ5
TGlzdC5nZXRFbnRyaWVzKCkuZm9yRWFjaChlbnRyeSA9PiB7Ci0gICAgICBpZiAoIWVudHJ5Lm5h
bWUuaW5jbHVkZXMoInN0YXR1cy1jb2RlIikpCi0gICAgICAgIHJldHVybjsKIAotICAgICAgbmFt
ZU1hcFtlbnRyeS5uYW1lXSA9IHRydWU7Ci0gICAgICBpZiAoIWZpcnN0RW50cnkpIHsKLSAgICAg
ICAgZmlyc3RFbnRyeSA9IGVudHJ5OwotICAgICAgfSBlbHNlIHsKLSAgICAgICAga2V5cy5mb3JF
YWNoKGtleSA9PiB7Ci0gICAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyeVtrZXldLCBmaXJzdEVu
dHJ5W2tleV0sIGBEaXNjZXJuaWJsZSBkaWZmZXJlbmNlIGluICR7a2V5fSBmb3IgJHtlbnRyeS5u
YW1lfWApOwotICAgICAgICB9KTsKLSAgICAgIH0KLSAgICB9KTsKLSAgICBpZiAoT2JqZWN0Lmtl
eXMobmFtZU1hcCkubGVuZ3RoID09PSA4KSB7Ci0gICAgICB0LmRvbmUoKTsKLSAgICB9Ci0gIH0p
KS5vYnNlcnZlKHtlbnRyeVR5cGVzOiBbJ3Jlc291cmNlJ119KTsKKyAgY29uc3QgZW50cmllcyA9
IGF3YWl0IGxpc3RlbkZvclBlcmZvcm1hbmNlRW50cmllcyhleHBlY3RlZF9lbnRyeV9jb3VudCk7
CisKKyAgLy8gV2Ugd2lsbCBjaGVjayB0aGF0IHRoZSBub24tdGltZXN0YW1wIHZhbHVlcyBvZiB0
aGUgZW50cnkgbWF0Y2ggZm9yIGFsbAorICAvLyBlbnRyaWVzLgorICBjb25zdCBrZXlzID0gWwor
ICAgICdlbnRyeVR5cGUnLAorICAgICduZXh0SG9wUHJvdG9jb2wnLAorICAgICd0cmFuc2ZlclNp
emUnLAorICAgICdlbmNvZGVkQm9keVNpemUnLAorICAgICdkZWNvZGVkQm9keVNpemUnLAorICBd
OworCisgIGNvbnN0IGZpcnN0ID0gZW50cmllc1swXTsKKyAgZW50cmllcy5zbGljZSgxKS5mb3JF
YWNoKGVudHJ5ID0+IHsKKyAgICBrZXlzLmZvckVhY2goYXR0cmlidXRlID0+IHsKKyAgICAgIGFz
c2VydF9lcXVhbHMoZW50cnlbYXR0cmlidXRlXSwgZmlyc3RbYXR0cmlidXRlXSwKKyAgICAgICAg
YFRoZXJlIG11c3QgYmUgbm8gZGlzY2VybmlibGUgZGlmZmVyZW5jZSBmb3IgdGhlICR7YXR0cmli
dXRlfSBgICsKKyAgICAgICAgYGF0dHJpYnV0ZSBidXQgZm91bmQgYSBkaWZmZXJlbmNlIGZvciB0
aGUgJHtlbnRyeS5uYW1lfSByZXNvdXJjZS5gKTsKKyAgfSl9KTsKIH0sICJNYWtlIHN1cmUgY3Jv
c3Mgb3JpZ2luIHJlc291cmNlIGZldGNoIGZhaWx1cmVzIHdpdGggZGlmZmVyZW50IHN0YXR1cyBj
b2RlcyBhcmUgaW5kaXN0aW5ndWlzaGFibGUiKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
ZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC1vcGVuZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZG9jdW1l
bnQtZG9tYWluLW5vLWltcGFjdC1vcGVuZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg5Mjhm
Nzc1ZThmYmE4YmJmOTU5ZDBmYWRkZDIyZTRjMWRjYjNhNWYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9kb2N1bWVudC1kb21haW4tbm8taW1wYWN0LW9wZW5lci1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw0IEBACisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL2RvY3VtZW50LWRvbWFpbi1uby1pbXBhY3Qtb3BlbmVyLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9k
b2N1bWVudC1kb21haW4tbm8taW1wYWN0LW9wZW5lci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5ZGYyZjI3
ZmE1YjE5NWY3Yjk1NjcxNGNmODE2YTYxZTE4MjU4YjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9k
b2N1bWVudC1kb21haW4tbm8taW1wYWN0LW9wZW5lci5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzwh
RE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cisv
LyBPcGVuIGEgZG9jdW1lbnQgb24gb25lIG9mIGhvc3RzIG9uIHRoZSB3ZWItcGxhdGZvcm0gdGVz
dCBkb21haW4sIHNvIHRoYXQKKy8vIGRvY3VtZW50LmRvbWFpbiB3aWxsIHNldCBhIHZhbGlkIGRv
bWFpbiwgdHVybmluZyB0aGUgZnJhbWUgaW50byBhCisvLyBjcm9zcy1vcmlnaW4gZnJhbWUuCitj
b25zdCB7T1RIRVJfT1JJR0lOfSA9IGdldF9ob3N0X2luZm8oKTsKK2NvbnN0IG9wZW5lZSA9IHdp
bmRvdy5vcGVuKE9USEVSX09SSUdJTiArCisgICAgICAgICAgICAgICAiL3Jlc291cmNlLXRpbWlu
Zy9yZXNvdXJjZXMvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC5odG1sIik7CitmZXRjaF90ZXN0
c19mcm9tX3dpbmRvdyhvcGVuZWUpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9lbnRyeS1h
dHRyaWJ1dGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2VudHJ5LWF0dHJpYnV0ZXMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmFhZmI0NWVjYjVhYjIwMGI1MTUzMTk1NWYwY2U4YmQ3ODZjNTUwNDgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9lbnRyeS1hdHRyaWJ1dGVzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDExIEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgUGVyZm9y
bWFuY2VSZXNvdXJjZVRpbWluZyBlbnRyaWVzJyBhdHRyaWJ1dGVzIGFyZSBwb3B1bGF0ZWQgd2l0
aCB0aGUgY29ycmVjdCB2YWx1ZXMuCisKKworSGFybmVzcyBFcnJvciAoVElNRU9VVCksIG1lc3Nh
Z2UgPSBudWxsCisKK1RJTUVPVVQgSW1hZ2UgcmVzb3VyY2VzIHNob3VsZCBnZW5lcmF0ZSBjb25m
b3JtYW50IGVudHJpZXMgVGVzdCB0aW1lZCBvdXQKK05PVFJVTiBGb250IHJlc291cmNlcyBzaG91
bGQgZ2VuZXJhdGUgY29uZm9ybWFudCBlbnRyaWVzCitOT1RSVU4gU2FtZS1vcmlnaW4gcmVkaXJl
Y3RzIHNob3VsZCBwb3B1bGF0ZSByZWRpcmVjdFN0YXJ0L3JlZGlyZWN0RW5kCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2VudHJ5LWF0dHJpYnV0ZXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2VudHJ5LWF0dHJpYnV0ZXMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42ODliNGU3NGM4NTUxODc1YzUwMzEzM2FkNjY1MmM4YThiNmM1OTM4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvZW50cnktYXR0cmlidXRlcy5odG1sCkBAIC0wLDAgKzEsMzcgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAv
PgorPHRpdGxlPlJlc291cmNlIFRpbWluZzogUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyBhdHRy
aWJ1dGVzPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3Jn
L1RSL3Jlc291cmNlLXRpbWluZy0yLyNzZWMtcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvZW50cnktaW52YXJpYW50cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
YXR0cmlidXRlX3Rlc3QoCisgIGxvYWQuaW1hZ2UsICJyZXNvdXJjZXMvZmFrZV9yZXNwb25zZXMu
cHkjaGFzaD0xIiwKKyAgZW50cnkgPT4geworICAgIGFzc2VydF90cnVlKGVudHJ5Lm5hbWUuaW5j
bHVkZXMoJyNoYXNoPTEnKSwKKyAgICAgICJUaGVyZSBzaG91bGQgYmUgYSBoYXNoIGluIHRoZSBy
ZXNvdXJjZSBuYW1lIik7CisgICAgaW52YXJpYW50cy5hc3NlcnRfdGFvX3Bhc3Nfbm9fcmVkaXJl
Y3RfaHR0cChlbnRyeSk7CisgIH0sCisgICJJbWFnZSByZXNvdXJjZXMgc2hvdWxkIGdlbmVyYXRl
IGNvbmZvcm1hbnQgZW50cmllcyIpOworCithdHRyaWJ1dGVfdGVzdCgKKyAgbG9hZC5mb250LCAi
L2ZvbnRzL0FoZW0udHRmIiwKKyAgaW52YXJpYW50cy5hc3NlcnRfdGFvX3Bhc3Nfbm9fcmVkaXJl
Y3RfaHR0cCwKKyAgIkZvbnQgcmVzb3VyY2VzIHNob3VsZCBnZW5lcmF0ZSBjb25mb3JtYW50IGVu
dHJpZXMiKTsKKworYXR0cmlidXRlX3Rlc3QoCisgIGxvYWQuaW1hZ2UsICIvY29tbW9uL3JlZGly
ZWN0LnB5P2xvY2F0aW9uPXJlc291cmNlcy9mYWtlX3Jlc3BvbnNlcy5weSIsCisgIGludmFyaWFu
dHMuYXNzZXJ0X3NhbWVfb3JpZ2luX3JlZGlyZWN0ZWRfcmVzb3VyY2UsCisgICJTYW1lLW9yaWdp
biByZWRpcmVjdHMgc2hvdWxkIHBvcHVsYXRlIHJlZGlyZWN0U3RhcnQvcmVkaXJlY3RFbmQiKTsK
Kzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRpb248L2gxPgorPHA+VGhp
cyB0ZXN0IHZhbGlkYXRlcyB0aGF0IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgZW50cmllcycg
YXR0cmlidXRlcyBhcmUKK3BvcHVsYXRlZCB3aXRoIHRoZSBjb3JyZWN0IHZhbHVlcy48L3A+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mZXRjaC1jcm9zcy1vcmlnaW4tcmVkaXJl
Y3QuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZmV0Y2gtY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0
dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMmZiMzBkMWE3ODEzYWNlZWY1MDMzMzRhMGQ0
ODAwNDIwNjIzNDBiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZmV0Y2gtY3Jvc3Mtb3JpZ2luLXJl
ZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworUEFTUyBUZXN0IGZl
dGNoaW5nIHRocm91Z2ggYSBjcm9zcy1vcmlnaW4gcmVkaXJlY3QgVVJMCitQQVNTIFRlc3QgZmV0
Y2hpbmcgdGhyb3VnaCBhIHNhbWUtb3JpZ2luIHJlZGlyZWN0IFVSTAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9mZXRjaC1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZldGNoLWNyb3Nz
LW9yaWdpbi1yZWRpcmVjdC5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxOTM0MjI2NTNhNTk1NGZm
MDMzNTE4YzY5MGY2NTQ2MGJjNTQzM2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9mZXRjaC1jcm9z
cy1vcmlnaW4tcmVkaXJlY3QuaHR0cHMuaHRtbApAQCAtMCwwICsxLDMzIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5UZXN0IGNyb3NzLW9yaWdpbiBm
ZXRjaCByZWRpcmVjdHMgaGF2ZSB0aGUgcmlnaHQgdmFsdWVzLjwvdGl0bGU+Cis8bGluayByZWw9
ImF1dGhvciIgdGl0bGU9Ikdvb2dsZSIgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyIgLz4K
KzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRp
bWluZy0yLyNzZWMtcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZyIvPgorPHNjcmlwdCBzcmM9Ii9y
ZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24v
Z2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9l
bnRyeS1pbnZhcmlhbnRzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVz
b3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitjb25zdCB7UkVNT1RFX09S
SUdJTiwgT1JJR0lOfSA9IGdldF9ob3N0X2luZm8oKTsKK2NvbnN0IHJlZGlyZWN0ID0gIi9jb21t
b24vcmVkaXJlY3QucHk/IiArCisgICAgICAgICAgICAgICAgICJsb2NhdGlvbj0vcmVzb3VyY2Ut
dGltaW5nL3Jlc291cmNlcy9ncmVlbi5odG1sIjsKK2NvbnN0IGNyb3NzX29yaWdpbl9yZWRpcmVj
dCA9IFJFTU9URV9PUklHSU4gKyByZWRpcmVjdDsKK2NvbnN0IHNhbWVfb3JpZ2luX3JlZGlyZWN0
ID0gT1JJR0lOICsgcmVkaXJlY3Q7CisKK2F0dHJpYnV0ZV90ZXN0KAorICB1cmwgPT4gZmV0Y2go
dXJsLCB7bW9kZTogIm5vLWNvcnMiLCBjcmVkZW50aWFsczogImluY2x1ZGUifSksCisgIG5ldyBV
UkwoY3Jvc3Nfb3JpZ2luX3JlZGlyZWN0KS5ocmVmLAorICBpbnZhcmlhbnRzLmFzc2VydF9jcm9z
c19vcmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAgIlRlc3QgZmV0Y2hpbmcgdGhyb3VnaCBh
IGNyb3NzLW9yaWdpbiByZWRpcmVjdCBVUkwiCispOworCithdHRyaWJ1dGVfdGVzdCgKKyAgdXJs
ID0+IGZldGNoKHVybCwge21vZGU6ICJuby1jb3JzIiwgY3JlZGVudGlhbHM6ICJpbmNsdWRlIn0p
LAorICBuZXcgVVJMKHNhbWVfb3JpZ2luX3JlZGlyZWN0KS5ocmVmLAorICBpbnZhcmlhbnRzLmFz
c2VydF9zYW1lX29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNlLAorICAiVGVzdCBmZXRjaGluZyB0
aHJvdWdoIGEgc2FtZS1vcmlnaW4gcmVkaXJlY3QgVVJMIgorKTsKKworPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9mb250LXRpbWVzdGFtcHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZm9udC10aW1lc3Rh
bXBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMTk2NDQxODc1YmVjZDI0M2JmZTIyM2U1YWI5
YjAwOGQwYTE5Zjk5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvZm9udC10aW1lc3RhbXBzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgZmV0Y2hlcyBhaGVtIGZvbnQuCisKK0ZBSUwg
VGVzdCBhIGZvbnQncyB0aW1lc3RhbXBzIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWw6IGRvbWFp
bkxvb2t1cFN0YXJ0IHNob3VsZCBiZSBtb3JlIHRoYW4gMCBpbiBzYW1lLW9yaWdpbiByZWRpcmVj
dC4gZXhwZWN0ZWQgYSBudW1iZXIgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDxub25kZXRlcm1p
bmlzdGljIHRlc3Qgb3V0cHV0PiBidXQgZ290IDAKK1BBU1MgVGVzdCBhIGZvbnQncyB0aW1lc3Rh
bXBzIHdpdGggZGVsYXlzCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZvbnQtdGltZXN0YW1wcy5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvZm9udC10aW1lc3RhbXBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZlY2I1YzRiZmRkYjYwZTc4M2Vl
NzdjZDMwOGIyOGEwYzRlYTljMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL2ZvbnQtdGltZXN0YW1w
cy5odG1sCkBAIC0wLDAgKzEsNjIgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0i
dXRmLTgiPgorPHRpdGxlPlRlc3QgY3Jvc3Mtb3JpZ2luIGZldGNoIHJlZGlyZWN0cyBoYXZlIHRo
ZSByaWdodCB2YWx1ZXMuPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVw
b3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWluZm8uc3Vi
LmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4KK2NvbnN0IGxvYWRfZm9udCA9IHVybCA9
PiB7CisgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gYAorICAgIDxzdHlsZT4KKyAgICBAZm9u
dC1mYWNlIHsKKyAgICAgICAgZm9udC1mYW1pbHk6IGFoZW07CisgICAgICAgIHNyYzogdXJsKCck
e3VybH0nKTsKKyAgICB9CisgICAgPC9zdHlsZT4KKyAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWls
eTogYWhlbTsiPlRoaXMgZmV0Y2hlcyBhaGVtIGZvbnQuPC9kaXY+CisgIGA7CisgIHJldHVybiBk
b2N1bWVudC5mb250cy5yZWFkeTsKK307CisKK2NvbnN0IHJ1bl90ZXN0ID0gYXN5bmMgKHQsIHVy
bCkgPT4geworICAvLyBTZXQgdXAgUGVyZm9ybWFuY2VPYnNlcnZlcgorICBjb25zdCBocmVmID0g
bmV3IFVSTCh1cmwpLmhyZWY7CisgIGNvbnN0IHNldFBlcmZvcm1hbmNlT2JzZXJ2ZXIgPSBuZXcg
UHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICBjb25zdCBwbyA9IG5ldyBQZXJmb3JtYW5jZU9ic2Vy
dmVyKHJlc29sdmUpOworICAgIHBvLm9ic2VydmUoe3R5cGU6ICJyZXNvdXJjZSJ9KTsKKyAgfSk7
CisKKyAgLy8gTG9hZCB0aGUgZm9udCByZXNvdXJjZSBhbmQgd2FpdCBmb3IgaXQgdG8gYmUgZmV0
Y2hlZC4KKyAgYXdhaXQgbG9hZF9mb250KGhyZWYpOworCisgIC8vIFdhaXQgZm9yIGFuIGVudHJ5
CisgIGNvbnN0IHRpbWVvdXQgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHQuc3RlcF90aW1lb3V0
KHJlc29sdmUsIDMwMDApKTsKKyAgY29uc3QgbGlzdCA9IGF3YWl0IFByb21pc2UucmFjZShbc2V0
UGVyZm9ybWFuY2VPYnNlcnZlciwgdGltZW91dF0pOworICBhc3NlcnRfZXF1YWxzKHR5cGVvZihs
aXN0KSwgIm9iamVjdCIsICJObyBpZnJhbWUgZW50cnkgd2FzIGZpcmVkIik7CisgIGNvbnN0IGVu
dHJpZXMgPSBsaXN0LmdldEVudHJpZXNCeU5hbWUodXJsKTsKKyAgYXNzZXJ0X2VxdWFscyhlbnRy
aWVzLmxlbmd0aCwgMSk7CisKKyAgLy8gVGVzdCBlbnRyeSB2YWx1ZXMKKyAgY29uc3QgZW50cnkg
PSBlbnRyaWVzWzBdOworICBhc3NlcnRfZ3JlYXRlcl90aGFuKGVudHJ5LmZldGNoU3RhcnQsIDAs
ICJmZXRjaFN0YXJ0IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMCBpbiByZWRpcmVjdHMuIik7Cisg
IGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkuZG9tYWluTG9va3VwU3RhcnQsIGVudHJ5
LmZldGNoU3RhcnQsICJkb21haW5Mb29rdXBTdGFydCBzaG91bGQgYmUgbW9yZSB0aGFuIDAgaW4g
c2FtZS1vcmlnaW4gcmVkaXJlY3QuIik7CisgIGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50
cnkuZG9tYWluTG9va3VwRW5kLCBlbnRyeS5kb21haW5Mb29rdXBTdGFydCwgImRvbWFpbkxvb2t1
cEVuZCBzaG91bGQgYmUgbW9yZSB0aGFuIDAgaW4gc2FtZS1vcmlnaW4gcmVkaXJlY3QuIik7Cisg
IGFzc2VydF9ncmVhdGVyX3RoYW5fZXF1YWwoZW50cnkuY29ubmVjdFN0YXJ0LCBlbnRyeS5kb21h
aW5Mb29rdXBFbmQsICJjb25uZWN0U3RhcnQgc2hvdWxkIGJlIG1vcmUgdGhhbiAwIGluIHNhbWUt
b3JpZ2luIHJlZGlyZWN0LiIpOworICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LnNl
Y3VyZUNvbm5lY3Rpb25TdGFydCwgZW50cnkuY29ubmVjdFN0YXJ0LCAic2VjdXJlQ29ubmVjdGlv
blN0YXJ0IHNob3VsZCBiZSBtb3JlIHRoYW4gMCBpbiBzYW1lLW9yaWdpbiByZWRpcmVjdC4iKTsK
KyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChlbnRyeS5jb25uZWN0RW5kLCBlbnRyeS5zZWN1
cmVDb25uZWN0aW9uU3RhcnQsICJjb25uZWN0RW5kIHNob3VsZCBiZSBtb3JlIHRoYW4gMCBpbiBz
YW1lLW9yaWdpbiByZWRpcmVjdC4iKTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChlbnRy
eS5yZXF1ZXN0U3RhcnQsIGVudHJ5LmNvbm5lY3RFbmQsICJyZXF1ZXN0U3RhcnQgc2hvdWxkIGJl
IG1vcmUgdGhhbiAwIGluIHNhbWUtb3JpZ2luIHJlZGlyZWN0LiIpOworICBhc3NlcnRfZ3JlYXRl
cl90aGFuX2VxdWFsKGVudHJ5LnJlc3BvbnNlU3RhcnQsIGVudHJ5LnJlcXVlc3RTdGFydCwgInJl
c3BvbnNlU3RhcnQgc2hvdWxkIGJlIG1vcmUgdGhhbiAwIGluIHNhbWUtb3JpZ2luIHJlZGlyZWN0
LiIpOworICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFsKGVudHJ5LnJlc3BvbnNlRW5kLCBlbnRy
eS5yZXNwb25zZVN0YXJ0LCAicmVzcG9uc2VFbmQgc2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiAwIGlu
IHJlZGlyZWN0cy4iKTsKKyAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChlbnRyeS5kdXJhdGlv
biwgMCwgImR1cmF0aW9uIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMCBpbiByZWRpcmVjdHMuIik7
Cit9CisKK2NvbnN0IHtIVFRQU19SRU1PVEVfT1JJR0lOfSA9IGdldF9ob3N0X2luZm8oKTsKK3By
b21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHJ1bl90ZXN0KHQsIEhUVFBTX1JFTU9URV9PUklH
SU4gKyAiL2ZvbnRzL0FoZW0udHRmIik7Cit9LCAiVGVzdCBhIGZvbnQncyB0aW1lc3RhbXBzIik7
CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgcmV0dXJuIHJ1bl90ZXN0KHQsIEhUVFBTX1JFTU9U
RV9PUklHSU4gKyAiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvY29ycy1haGVtLnB5P3BpcGU9
dHJpY2tsZShkMSkiKTsKK30sICJUZXN0IGEgZm9udCdzIHRpbWVzdGFtcHMgd2l0aCBkZWxheXMi
KTsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvaWZyYW1lLWZhaWxlZC1jb21taXQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvaWZyYW1lLWZhaWxlZC1jb21taXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljc0NGJkMTc1MmYyOTI2ZjIzZjNjYjMwNzdhM2E2ZWM3NTJmODE1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9pZnJhbWUtZmFpbGVkLWNvbW1pdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBA
QAorQmxvY2tlZCBhY2Nlc3MgdG8gZXh0ZXJuYWwgVVJMIGh0dHBzOi8vbm9uZXhpc3RlbnQubG9j
YWxob3N0Ojk0NDMvCitCbG9ja2VkIGFjY2VzcyB0byBleHRlcm5hbCBVUkwgaHR0cHM6Ly9ub25l
eGlzdGVudC5sb2NhbGhvc3Q6OTQ0My8KKworCitQQVNTIFByZWNvbmRpdGlvbgorRkFJTCBUZXN0
IGlmcmFtZSBmcm9tIG5vbi1leGlzdGVudCBob3N0IGFzc2VydF9lcXVhbHM6IE5vIGlmcmFtZSBl
bnRyeSB3YXMgZmlyZWQgZXhwZWN0ZWQgIm9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgorRkFJ
TCBUZXN0IGlmcmFtZSByZWRpcmVjdGluZyB0byBub24tZXhpc3RlbnQgaG9zdCBhc3NlcnRfZXF1
YWxzOiBObyBpZnJhbWUgZW50cnkgd2FzIGZpcmVkIGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3Qg
InVuZGVmaW5lZCIKK1BBU1MgU2FtZS1vcmlnaW4gaWZyYW1lIHRoYXQgY29tcGxpZXMgd2l0aCBD
U1AgYXR0cmlidXRlIGdldHMgcmVwb3J0ZWQKK1BBU1MgU2FtZS1vcmlnaW4gaWZyYW1lIHRoYXQg
ZG9lc24ndCBjb21wbHkgd2l0aCBDU1AgYXR0cmlidXRlIGdldHMgcmVwb3J0ZWQKK1BBU1MgQ3Jv
c3Mtb3JpZ2luIGlmcmFtZSB0aGF0IGNvbXBsaWVzIHdpdGggQ1NQIGF0dHJpYnV0ZSBnZXRzIHJl
cG9ydGVkCitQQVNTIENyb3NzLW9yaWdpbiBpZnJhbWUgdGhhdCBkb2Vzbid0IGNvbXBseSB3aXRo
IENTUCBhdHRyaWJ1dGUgZ2V0cyByZXBvcnRlZAorRkFJTCBTYW1lLW9yaWdpbiBlbXB0eSBpZnJh
bWUgd2l0aCBhIDIwMCBzdGF0dXMgZ2V0cyByZXBvcnRlZCBhc3NlcnRfZXF1YWxzOiBObyBpZnJh
bWUgZW50cnkgd2FzIGZpcmVkIGV4cGVjdGVkICJvYmplY3QiIGJ1dCBnb3QgInVuZGVmaW5lZCIK
K0ZBSUwgQ3Jvc3Mtb3JpZ2luIGVtcHR5IGlmcmFtZSB3aXRoIGEgMjAwIHN0YXR1cyBnZXRzIHJl
cG9ydGVkIGFzc2VydF9lcXVhbHM6IE5vIGlmcmFtZSBlbnRyeSB3YXMgZmlyZWQgZXhwZWN0ZWQg
Im9iamVjdCIgYnV0IGdvdCAidW5kZWZpbmVkIgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9pZnJhbWUtZmFp
bGVkLWNvbW1pdC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvaWZyYW1lLWZhaWxlZC1jb21taXQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40OWJkOTM0MjdjMWQzOWFjNWFlZDkyOGNhYTNkMDI1MzU1N2RkNDE2Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvaWZyYW1lLWZhaWxlZC1jb21taXQuaHRtbApAQCAtMCwwICsxLDgwIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0
aXRsZT5SZXNvdXJjZSBUaW1pbmcgLSB0ZXN0IHRoYXQgdW5zdWNjZXNzZnVsIGlmcmFtZXMgY3Jl
YXRlIGVudHJpZXM8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Mu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMi
Pjwvc2NyaXB0PgorPGJvZHk+Cis8c2NyaXB0PgordGVzdCgoKSA9PiB7CisgIGNvbnN0IGVudHJp
ZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlUeXBlKCJyZXNvdXJjZSIpOworICBhc3NlcnRf
ZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAzLCAiUHJlY29uZGl0aW9uIC0gRW50cmllcyBmb3IgYmxv
Y2tpbmcgc2NyaXB0cyBmaXJlZCIpOworfSwgIlByZWNvbmRpdGlvbiIpOworCitjb25zdCBydW5f
dGVzdCA9IGFzeW5jICh0LCB1cmwsIGNzcCkgPT4geworICBjb25zdCBzZXRQZXJmb3JtYW5jZU9i
c2VydmVyID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgY29uc3QgcG8gPSBuZXcgUGVy
Zm9ybWFuY2VPYnNlcnZlcihyZXNvbHZlKTsKKyAgICBwby5vYnNlcnZlKHt0eXBlOiAicmVzb3Vy
Y2UifSk7CisgIH0pOworICBjb25zdCB0aW1lb3V0ID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB0
LnN0ZXBfdGltZW91dChyZXNvbHZlLCAxMDAwKSk7CisgIGNvbnN0IGZyYW1lID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiaWZyYW1lIik7CisgIGZyYW1lLnNyYyA9IHVybDsKKyAgaWYgKGNzcCkg
eworICAgIGZyYW1lLmNzcCA9IGNzcDsKKyAgfQorICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KGZyYW1lKTsKKyAgY29uc3QgbGlzdCA9IGF3YWl0IFByb21pc2UucmFjZShbc2V0UGVyZm9ybWFu
Y2VPYnNlcnZlciwgdGltZW91dF0pOworICBhc3NlcnRfZXF1YWxzKHR5cGVvZihsaXN0KSwgIm9i
amVjdCIsICJObyBpZnJhbWUgZW50cnkgd2FzIGZpcmVkIik7CisgIGNvbnN0IGVudHJpZXMgPSBs
aXN0LmdldEVudHJpZXNCeU5hbWUodXJsKTsKKyAgYXNzZXJ0X2VxdWFscyhlbnRyaWVzLmxlbmd0
aCwgMSk7CisgIGFzc2VydF9ncmVhdGVyX3RoYW4oZW50cmllc1swXS5kdXJhdGlvbiwgMCwgIkR1
cmF0aW9uIGdyZWF0ZXIgdGhhbiAwIik7Cit9CisKK2NvbnN0IHtSRU1PVEVfT1JJR0lOLCBPUklH
SU5BTF9IT1NULCBIVFRQU19QT1JUfSA9IGdldF9ob3N0X2luZm8oKTsKK2NvbnN0IG5vbmV4aXN0
ZW50X3VybCA9ICJodHRwczovL25vbmV4aXN0ZW50LiIgKyBPUklHSU5BTF9IT1NUICsgIjoiICsg
SFRUUFNfUE9SVCArICIvIjsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICByZXR1cm4gcnVuX3Rl
c3QodCwgbm9uZXhpc3RlbnRfdXJsKTsKK30sICJUZXN0IGlmcmFtZSBmcm9tIG5vbi1leGlzdGVu
dCBob3N0Iik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgY29uc3QgdXJsID0gbmV3IFVSTCgi
cmVzb3VyY2VzL2Zha2VfcmVzcG9uc2VzLnB5P3JlZGlyZWN0PSIgKyBub25leGlzdGVudF91cmws
IGxvY2F0aW9uLmhyZWYpOworICByZXR1cm4gcnVuX3Rlc3QodCwgdXJsLnRvU3RyaW5nKCkpOwor
fSwgIlRlc3QgaWZyYW1lIHJlZGlyZWN0aW5nIHRvIG5vbi1leGlzdGVudCBob3N0Iik7CisKK2Nv
bnN0IGNzcF9kaXJlY3RpdmUgPSAiZGVmYXVsdC1zcmMgJ25vbmUnIjsKK3Byb21pc2VfdGVzdCh0
ID0+IHsKKyAgY29uc3QgdXJsID0gbmV3IFVSTCgiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMv
Y3NwLWRlZmF1bHQtbm9uZS5odG1sIiwgbG9jYXRpb24uaHJlZik7CisgIHJldHVybiBydW5fdGVz
dCh0LCB1cmwsIGNzcF9kaXJlY3RpdmUpOworfSwgIlNhbWUtb3JpZ2luIGlmcmFtZSB0aGF0IGNv
bXBsaWVzIHdpdGggQ1NQIGF0dHJpYnV0ZSBnZXRzIHJlcG9ydGVkIik7CisKK3Byb21pc2VfdGVz
dCh0ID0+IHsKKyAgY29uc3QgdXJsID0gbmV3IFVSTCgiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZXMvZ3JlZW4tZnJhbWUuaHRtbCIsIGxvY2F0aW9uLmhyZWYpOworICByZXR1cm4gcnVuX3Rlc3Qo
dCwgdXJsLnRvU3RyaW5nKCksIGNzcF9kaXJlY3RpdmUpOworfSwgIlNhbWUtb3JpZ2luIGlmcmFt
ZSB0aGF0IGRvZXNuJ3QgY29tcGx5IHdpdGggQ1NQIGF0dHJpYnV0ZSBnZXRzIHJlcG9ydGVkIik7
CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgY29uc3QgdXJsID0gbmV3IFVSTCgiL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvY3NwLWRlZmF1bHQtbm9uZS5odG1sIiwgUkVNT1RFX09SSUdJTik7
CisgIHJldHVybiBydW5fdGVzdCh0LCB1cmwudG9TdHJpbmcoKSwgY3NwX2RpcmVjdGl2ZSk7Cit9
LCAiQ3Jvc3Mtb3JpZ2luIGlmcmFtZSB0aGF0IGNvbXBsaWVzIHdpdGggQ1NQIGF0dHJpYnV0ZSBn
ZXRzIHJlcG9ydGVkIik7CisKK3Byb21pc2VfdGVzdCh0ID0+IHsKKyAgY29uc3QgdXJsID0gbmV3
IFVSTCgiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4tZnJhbWUuaHRtbCIsIFJFTU9U
RV9PUklHSU4pOworICByZXR1cm4gcnVuX3Rlc3QodCwgdXJsLnRvU3RyaW5nKCksIGNzcF9kaXJl
Y3RpdmUpOworfSwgIkNyb3NzLW9yaWdpbiBpZnJhbWUgdGhhdCBkb2Vzbid0IGNvbXBseSB3aXRo
IENTUCBhdHRyaWJ1dGUgZ2V0cyByZXBvcnRlZCIpOworCitwcm9taXNlX3Rlc3QodCA9PiB7Cisg
IGNvbnN0IHVybCA9IG5ldyBVUkwoIi9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzLzIwMF9lbXB0
eS5hc2lzIiwgbG9jYXRpb24uaHJlZik7CisgIHJldHVybiBydW5fdGVzdCh0LCB1cmwudG9TdHJp
bmcoKSwgY3NwX2RpcmVjdGl2ZSk7Cit9LCAiU2FtZS1vcmlnaW4gZW1wdHkgaWZyYW1lIHdpdGgg
YSAyMDAgc3RhdHVzIGdldHMgcmVwb3J0ZWQiKTsKKworcHJvbWlzZV90ZXN0KHQgPT4geworICBj
b25zdCB1cmwgPSBuZXcgVVJMKCIvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy8yMDBfZW1wdHku
YXNpcyIsIFJFTU9URV9PUklHSU4pOworICByZXR1cm4gcnVuX3Rlc3QodCwgdXJsLnRvU3RyaW5n
KCksIGNzcF9kaXJlY3RpdmUpOworfSwgIkNyb3NzLW9yaWdpbiBlbXB0eSBpZnJhbWUgd2l0aCBh
IDIwMCBzdGF0dXMgZ2V0cyByZXBvcnRlZCIpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL2luaXRpYXRvci10eXBlLWZvci1zY3JpcHQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvaW5pdGlhdG9yLXR5cGUtZm9yLXNjcmlwdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDkxOTg3YjYwYmI2NjY4MzdmOTY2OTg3ZmQyYjMwN2NjMjYwN2Q4OQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL2luaXRpYXRvci10eXBlLWZvci1zY3JpcHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MyBAQAorCitQQVNTIFZhbGlkYXRlIGluaXRpYXRvclR5cGUgZm9yIHNjcmlwdHMgaXMgJ3Njcmlw
dCcKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvaW5pdGlhdG9yLXR5cGUtZm9yLXNjcmlwdC5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
aW5pdGlhdG9yLXR5cGUtZm9yLXNjcmlwdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcyMTczMzk4ZDU2YWE0
OGZkM2Q5ODE3YTA1OGMxOTExNWU3ZGY5ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9pbml0aWF0
b3ItdHlwZS1mb3Itc2NyaXB0Lmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBFIEhUTUw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+VGhpcyB0
ZXN0IHZhbGlkYXRlcyB0aGF0IHRoZSBpbml0aWF0b3JUeXBlIGluZm9ybWF0aW9uIGZvciB2YXJp
b3VzCitSZXNvdXJjZSBUaW1pbmcgZW50cmllcyBpcyBhY2N1cmF0ZSBmb3Igc2NyaXB0cy48L3Rp
dGxlPgorPGxpbmsgcmVsPSJoZWxwIgorICAgICAgaHJlZj0iaHR0cHM6Ly93d3cudzMub3JnL1RS
L3Jlc291cmNlLXRpbWluZy0yLyNkb20tcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZy1pbml0aWF0
b3J0eXBlIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9lbnRyeS1pbnZhcmlhbnRzLmpzIj48L3NjcmlwdD4KKzwh
LS0gVGVzdGVkIHJlc291cmNlcyAtLT4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW1wdHlfc2Ny
aXB0LmpzP2lkPWJsb2NraW5nIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW1w
dHlfc2NyaXB0LmpzP2lkPWFzeW5jIiBhc3luYz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvZW1wdHlfc2NyaXB0LmpzP2lkPWFzeW5jX2ZhbHNlIiBhc3luYz1mYWxzZT48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW1wdHlfc2NyaXB0LmpzP2lkPWRlZmVyIiBkZWZl
cj48L3NjcmlwdD4KKzxzY3JpcHQ+Citkb2N1bWVudC53cml0ZSgiPHNjcmlwdCBzcmM9J3Jlc291
cmNlcy9lbXB0eV9zY3JpcHQuanM/aWQ9ZG9jX3dyaXR0ZW4nPjwvc2NyIgorICAgICAgICAgICAg
ICAgKyAiaXB0PiIpOworCitjb25zdCBoZWFkID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05h
bWUoImhlYWQiKVswXTsKK2NvbnN0IHMxID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0
Iik7CitzMS5zcmMgPSAiZW1wdHlfc2NyaXB0LmpzP2lkPWFwcGVuZGVkIjsKK2hlYWQuYXBwZW5k
Q2hpbGQoczEpOworCitjb25zdCBzMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIp
OworczIuc3JjID0gImVtcHR5X3NjcmlwdC5qcz9pZD1hcHBlbmRlZF9hc3luYyI7CitzMi5hc3lu
YyA9IHRydWU7CitoZWFkLmFwcGVuZENoaWxkKHMyKTsKKworY29uc3QgczMgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKK3MzLnNyYyA9ICJlbXB0eV9zY3JpcHQuanM/aWQ9YXBw
ZW5kZWRfYXluY19mYWxzZSI7CitzMy5hc3luYyA9IGZhbHNlOworaGVhZC5hcHBlbmRDaGlsZChz
Myk7CisKK2NvbnN0IHM0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CitzNC5z
cmMgPSAiZW1wdHlfc2NyaXB0LmpzP2lkPWFwcGVuZGVkX2RlZmVyIjsKK3M0LmRlZmVyID0gdHJ1
ZTsKK2hlYWQuYXBwZW5kQ2hpbGQoczQpOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxz
Y3JpcHQ+CisKK2NvbnN0IHdhaXRfZm9yX29ubG9hZCA9ICgpID0+IHsKKyAgcmV0dXJuIG5ldyBQ
cm9taXNlKHJlc29sdmUgPT4geworICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
cmVzb2x2ZSk7Cit9KX07CisKK3Byb21pc2VfdGVzdCgKKyAgYXN5bmMgKCkgPT4geworICAgIGF3
YWl0IHdhaXRfZm9yX29ubG9hZCgpOworCisgICAgY29uc3QgZW50cnlfbGlzdCA9IHBlcmZvcm1h
bmNlLmdldEVudHJpZXNCeVR5cGUoInJlc291cmNlIik7CisgICAgZm9yIChlbnRyeSBvZiBlbnRy
eV9saXN0KSB7CisgICAgICBpZiAoZW50cnkubmFtZS5pbmNsdWRlcygiZW1wdHlfc2NyaXB0Lmpz
IikpIHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhlbnRyeS5pbml0aWF0b3JUeXBlLCAic2NyaXB0
IiwKKyAgICAgICAgICAgICAgICAgICAgICAiaW5pdGlhdG9yVHlwZSBzaG91bGQgYmUgJ3Njcmlw
dCcgZm9yICIgKyBlbnRyeS5uYW1lKTsKKyAgICAgIH0KKyAgICB9Cit9LCAiVmFsaWRhdGUgaW5p
dGlhdG9yVHlwZSBmb3Igc2NyaXB0cyBpcyAnc2NyaXB0JyIpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL25leHRIb3BQcm90b2NvbC1pcy10YW8tcHJvdGVj
dGVkLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL25leHRIb3BQcm90b2NvbC1pcy10YW8tcHJvdGVj
dGVkLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNGNiYmFhNGQyMDViNWM0NDdmZjhm
YzA0NGQ2OGJkYTI1MDM0MGQ3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvbmV4dEhvcFByb3RvY29s
LWlzLXRhby1wcm90ZWN0ZWQuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitG
QUlMIEFkZCBUQU8tbGVzcyBpZnJhbWUgZnJvbSByZW1vdGUgb3JpZ2luLiBNYWtlIHN1cmUgbmV4
dEhvcFByb3RvY29sIGlzIHRoZSBlbXB0eSBzdHJpbmcgYXNzZXJ0X2VxdWFsczogbmV4dEhvcFBy
b3RvY29sIHNob3VsZCBiZSB0aGUgZW1wdHkgc3RyaW5nIGV4cGVjdGVkICIiIGJ1dCBnb3QgImh0
dHAvMS4xIgorUEFTUyBBZGQgVEFPJ2QgaWZyYW1lIGZyb20gcmVtb3RlIG9yaWdpbi4gTWFrZSBz
dXJlIG5leHRIb3BQcm90b2NvbCBpcyBub3QgdGhlIGVtcHR5IHN0cmluZworCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9uZXh0SG9wUHJvdG9jb2wtaXMtdGFvLXByb3RlY3RlZC5odHRwcy5odG1sIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvbmV4
dEhvcFByb3RvY29sLWlzLXRhby1wcm90ZWN0ZWQuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMGU5
NmFmOGU4MGNmNGZiMDZkN2YxYjMzOTNmMjE5MTI2NWIyM2NlCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvbmV4dEhvcFByb3RvY29sLWlzLXRhby1wcm90ZWN0ZWQuaHR0cHMuaHRtbApAQCAtMCwwICsx
LDM4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmcgLSBDaGVjayB0aGF0IG5leHRIb3BQcm90
b2NvbCBpcyBUQU8gcHJvdGVjdGVkPC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0
cHM6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy0yLyNzZWMtcGVyZm9ybWFuY2VyZXNv
dXJjZXRpbWluZyIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9lbnRyeS1pbnZhcmlhbnRzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisKK2NvbnN0IHtIVFRQU19SRU1PVEVfT1JJR0lO
fSA9IGdldF9ob3N0X2luZm8oKTsKK2NvbnN0IHJlbW90ZV9yZXNvdXJjZXMgPSBgJHtIVFRQU19S
RU1PVEVfT1JJR0lOfS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzYDsKKworLy8gQWRkIGlmcmFt
ZSB0byByZW1vdGUgb3JpZ2luIC0gcGFnZSB3aXRob3V0IFRBTworYXR0cmlidXRlX3Rlc3QoCisg
IGxvYWQuaWZyYW1lLCBgJHtyZW1vdGVfcmVzb3VyY2VzfS9ncmVlbi5odG1gLAorICBlbnRyeSA9
PiBhc3NlcnRfZXF1YWxzKGVudHJ5Lm5leHRIb3BQcm90b2NvbCwgIiIsCisgICAgIm5leHRIb3BQ
cm90b2NvbCBzaG91bGQgYmUgdGhlIGVtcHR5IHN0cmluZyIpLAorICAiQWRkIFRBTy1sZXNzIGlm
cmFtZSBmcm9tIHJlbW90ZSBvcmlnaW4uIE1ha2Ugc3VyZSBuZXh0SG9wUHJvdG9jb2wgaXMgdGhl
ICIgKworICAiZW1wdHkgc3RyaW5nIgorKTsKKworLy8gQWRkIGlmcmFtZSB0byByZW1vdGUgb3Jp
Z2luIC0gcGFnZSB3aXRoIFRBTworYXR0cmlidXRlX3Rlc3QoCisgIGxvYWQuaWZyYW1lLCBgJHty
ZW1vdGVfcmVzb3VyY2VzfS9ibGFuay13aXRoLXRhby5odG1sYCwKKyAgZW50cnkgPT4gYXNzZXJ0
X25vdF9lcXVhbHMoZW50cnkubmV4dEhvcFByb3RvY29sLCAiIiwKKyAgICAibmV4dEhvcFByb3Rv
Y29sIHNob3VsZCBub3QgYmUgdGhlIGVtcHR5IHN0cmluZyIpLAorICAiQWRkIFRBTydkIGlmcmFt
ZSBmcm9tIHJlbW90ZSBvcmlnaW4uIE1ha2Ugc3VyZSBuZXh0SG9wUHJvdG9jb2wgaXMgbm90ICIg
KworICAidGhlIGVtcHR5IHN0cmluZyIKKyk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItVEFPLWNyb3NzLW9yaWdpbi1y
ZWRpcmVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLVRBTy1jcm9z
cy1vcmlnaW4tcmVkaXJlY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2N2Y2MGNmMTU2ZTQ0
OWY3YjVmMWUyOTUwYmQ3OWZkMzI1MDExNzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qt
bm90LWZvdW5kLWFmdGVyLVRBTy1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNyBAQAorCisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVs
bAorCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVkCitQQVNTIHdpbmRvdy5wZXJm
b3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lIGlzIGRlZmluZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvb2Jq
ZWN0LW5vdC1mb3VuZC1hZnRlci1UQU8tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9v
YmplY3Qtbm90LWZvdW5kLWFmdGVyLVRBTy1jcm9zcy1vcmlnaW4tcmVkaXJlY3QuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kMGRhZDkzODFiYTQyYmM4NDhlYmVjYTg2YWNhZjdmMTBhN2ExZTgyCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvb2JqZWN0LW5vdC1mb3VuZC1hZnRlci1UQU8tY3Jvc3Mtb3JpZ2luLXJl
ZGlyZWN0Lmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+VGhpcyB0ZXN0IHZhbGlkYXRl
cyByZXNvdXJjZSB0aW1pbmcgaW5mb3JtYXRpb24gZm9yIGEgdGltaW5nIGFsbG93ZWQgY3Jvc3Mt
b3JpZ2luIHJlZGlyZWN0IGNoYWluLjwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0
dHA6Ly93d3cudzMub3JnL1RSL3Jlc291cmNlLXRpbWluZy8jcGVyZm9ybWFuY2VyZXNvdXJjZXRp
bWluZyIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9L2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcz48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzZXh0ZW5zaW9uLmpzIj48L3Nj
cmlwdD4KKworPHNjcmlwdD4KKyAgICBzZXR1cCh7ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOworICAg
IHRlc3RfbmFtZXNwYWNlKCdnZXRFbnRyaWVzQnlOYW1lJyk7CisKKyAgICBmdW5jdGlvbiBvbmxv
YWRfdGVzdCgpCisgICAgeworICAgICAgICBjb25zdCBjb250ZXh0ID0gbmV3IFBlcmZvcm1hbmNl
Q29udGV4dChwZXJmb3JtYW5jZSk7CisgICAgICAgIGNvbnN0IGVudHJpZXMgPSBjb250ZXh0Lmdl
dEVudHJpZXNCeU5hbWUoZG9jdW1lbnQucXVlcnlTZWxlY3Rvcignb2JqZWN0JykuZGF0YSwgJ3Jl
c291cmNlJyk7CisgICAgICAgIHRlc3RfZXF1YWxzKGVudHJpZXMubGVuZ3RoLCAxLCAnVGhlcmUg
c2hvdWxkIGJlIG9uZSBlbnRyeS4nKTsKKyAgICAgICAgY29uc3QgZW50cnkgPSBlbnRyaWVzWzBd
OworCisgICAgICAgIHRlc3RfZ3JlYXRlcl90aGFuKGVudHJ5LnJlZGlyZWN0U3RhcnQsIDAsICdy
ZWRpcmVjdFN0YXJ0ID4gMCBpbiB0aW1pbmcgYWxsb3dlZCBjcm9zcy1vcmlnaW4gcmVkaXJlY3Qu
Jyk7CisgICAgICAgIHRlc3RfZXF1YWxzKGVudHJ5LnJlZGlyZWN0U3RhcnQsIGVudHJ5LnN0YXJ0
VGltZSwgJ3JlZGlyZWN0U3RhcnQgPT0gc3RhcnRUaW1lIGluIHRpbWluZyBhbGxvd2VkIGNyb3Nz
LW9yaWdpbiByZWRpcmVjdC4nKTsKKyAgICAgICAgdGVzdF9ncmVhdGVyX3RoYW4oZW50cnkucmVk
aXJlY3RFbmQsIGVudHJ5LnJlZGlyZWN0U3RhcnQsICdyZWRpcmVjdEVuZCA+IHJlZGlyZWN0U3Rh
cnQgaW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LicpOworICAgICAgICB0
ZXN0X2dyZWF0ZXJfb3JfZXF1YWxzKGVudHJ5LmZldGNoU3RhcnQsIGVudHJ5LnJlZGlyZWN0RW5k
LCAnZmV0Y2hTdGFydCA+PSByZWRpcmVjdEVuZCBpbiB0aW1pbmcgYWxsb3dlZCBjcm9zcy1vcmln
aW4gcmVkaXJlY3QuJyk7CisgICAgICAgIGRvbmUoKTsKKyAgICB9Cis8L3NjcmlwdD4KKworPC9o
ZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGxldCBkZXN0VXJsID0gZ2V0X2hvc3RfaW5mbygp
LkhUVFBfUkVNT1RFX09SSUdJTiArICcvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9tdWx0aV9y
ZWRpcmVjdC5weT8nOworICAgIGRlc3RVcmwgKz0gJ3BhZ2Vfb3JpZ2luPScgKyAnaHR0cDovLycg
KyBkb2N1bWVudC5sb2NhdGlvbi5ob3N0OworICAgIGRlc3RVcmwgKz0gJyZjcm9zc19vcmlnaW49
JyArIGdldF9ob3N0X2luZm8oKS5IVFRQX1JFTU9URV9PUklHSU47CisgICAgZGVzdFVybCArPSAn
JmZpbmFsX3Jlc291cmNlPScgKyBlbmNvZGVVUklDb21wb25lbnQoIi9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL3N0YXR1cy1jb2RlLnB5P3N0YXR1cz00MDQmdGFvX3ZhbHVlPSoiKTsKKyAgICBk
ZXN0VXJsICs9ICcmdGFvX3N0ZXBzPTMnOworICAgIGNvbnN0IG9iakVsZW1lbnQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdvYmplY3QnKTsKKyAgICBvYmpFbGVtZW50LnN0eWxlID0gJ3dpZHRo
OiAwcHg7IGhlaWdodDogMHB4Oyc7CisgICAgb2JqRWxlbWVudC5kYXRhID0gZGVzdFVybDsKKyAg
ICBvYmpFbGVtZW50Lm9uZXJyb3IgPSBvbmxvYWRfdGVzdDsKKyAgICBkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKG9iakVsZW1lbnQpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291
cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLWNyb3NzLW9yaWdpbi1yZWRp
cmVjdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzY3ZjYwY2YxNTZlNDQ5ZjdiNWYxZTI5NTBi
ZDc5ZmQzMjUwMTE3MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0
ZXItY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKKwor
CitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworUEFTUyB3aW5kb3cu
cGVyZm9ybWFuY2UgaXMgZGVmaW5lZAorUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UuZ2V0RW50cmll
c0J5TmFtZSBpcyBkZWZpbmVkCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0
ZXItY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVy
LWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0NTVlYzQwNmIzZTk1MTlk
OTliYmZlYjEyYTQ0ZTcyMTRjNjZlNmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90
LWZvdW5kLWFmdGVyLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odG1sCkBAIC0wLDAgKzEsNDYgQEAK
KzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAv
PgorPHRpdGxlPlRoaXMgdGVzdCB2YWxpZGF0ZXMgcmVzb3VyY2UgdGltaW5nIGluZm9ybWF0aW9u
IGZvciBhIGNyb3NzLW9yaWdpbiByZWRpcmVjdCBjaGFpbi48L3RpdGxlPgorPGxpbmsgcmVsPSJo
ZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI3BlcmZvcm1h
bmNlcmVzb3VyY2V0aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNz
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIuanM+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzc2V4dGVu
c2lvbi5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQ+CisgICAgc2V0dXAoe2V4cGxpY2l0X2RvbmU6
IHRydWV9KTsKKyAgICB0ZXN0X25hbWVzcGFjZSgnZ2V0RW50cmllc0J5TmFtZScpOworCisgICAg
ZnVuY3Rpb24gb25sb2FkX3Rlc3QoKQorICAgIHsKKyAgICAgICAgY29uc3QgY29udGV4dCA9IG5l
dyBQZXJmb3JtYW5jZUNvbnRleHQocGVyZm9ybWFuY2UpOworICAgICAgICBjb25zdCBlbnRyaWVz
ID0gY29udGV4dC5nZXRFbnRyaWVzQnlOYW1lKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ29iamVj
dCcpLmRhdGEsICdyZXNvdXJjZScpOworICAgICAgICB0ZXN0X2VxdWFscyhlbnRyaWVzLmxlbmd0
aCwgMSwgJ1RoZXJlIHNob3VsZCBiZSBvbmUgZW50cnkuJyk7CisgICAgICAgIGNvbnN0IGVudHJ5
ID0gZW50cmllc1swXTsKKworICAgICAgICB0ZXN0X2VxdWFscyhlbnRyeS5yZWRpcmVjdFN0YXJ0
LCAwLCAncmVkaXJlY3RTdGFydCA9PSAwIGluIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4nKTsKKyAg
ICAgICAgdGVzdF9lcXVhbHMoZW50cnkucmVkaXJlY3RFbmQsIDAsICdyZWRpcmVjdEVuZCA9PSAw
IGluIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4nKTsKKyAgICAgICAgdGVzdF9ncmVhdGVyX3RoYW4o
ZW50cnkuZmV0Y2hTdGFydCwgMCwgJ2ZldGNoU3RhcnQgPiAwIGluIGNyb3NzLW9yaWdpbiByZWRp
cmVjdC4nKTsKKyAgICAgICAgdGVzdF9lcXVhbHMoZW50cnkuc3RhcnRUaW1lLCBlbnRyeS5mZXRj
aFN0YXJ0LCAnc3RhcnRUaW1lID09IGZldGNoU3RhcnQgaW4gY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0
LicpOworICAgICAgICBkb25lKCk7CisgICAgfQorPC9zY3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5
PgorPHNjcmlwdD4KKyAgICBsZXQgZGVzdFVybCA9IGdldF9ob3N0X2luZm8oKS5IVFRQX1JFTU9U
RV9PUklHSU4gKyAnL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvbXVsdGlfcmVkaXJlY3QucHk/
JzsKKyAgICBkZXN0VXJsICs9ICdwYWdlX29yaWdpbj0nICsgJ2h0dHA6Ly8nICsgZG9jdW1lbnQu
bG9jYXRpb24uaG9zdDsKKyAgICBkZXN0VXJsICs9ICcmY3Jvc3Nfb3JpZ2luPScgKyBnZXRfaG9z
dF9pbmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lOOworICAgIGRlc3RVcmwgKz0gJyZmaW5hbF9yZXNv
dXJjZT0nICsgZW5jb2RlVVJJQ29tcG9uZW50KCIvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9z
dGF0dXMtY29kZS5weT9zdGF0dXM9NDA0Iik7CisgICAgY29uc3Qgb2JqRWxlbWVudCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ29iamVjdCcpOworICAgIG9iakVsZW1lbnQuc3R5bGUgPSAnd2lk
dGg6IDBweDsgaGVpZ2h0OiAwcHg7JzsKKyAgICBvYmpFbGVtZW50LmRhdGEgPSBkZXN0VXJsOwor
ICAgIG9iakVsZW1lbnQub25lcnJvciA9IG9ubG9hZF90ZXN0OworICAgIGRvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQob2JqRWxlbWVudCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3JlZGlyZWN0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZWRpcmVjdHMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmI3NTJkZTFlY2RhNjFiMjVhYTg0OWRlZTlkZWI2OWYyNWQwYTM2
ZTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZWRpcmVjdHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMTIgQEAKK0Rlc2NyaXB0aW9uCisKK1RoaXMgdGVzdCB2YWxpZGF0ZXMgdGhhdCwgd2hlbiBh
IGZldGNoaW5nIHJlc291cmNlcyB0aGF0IGVuY291bnRlciBzYW1lLW9yaWdpbiByZWRpcmVjdHMs
IGF0dHJpYnV0ZXMgb2YgdGhlIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgZW50cnkgY29uZm9y
bSB0byB0aGUgc3BlY2lmaWNhdGlvbi4KKworCitQQVNTIFZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEg
cmVkaXJlY3RlZCBzdHlsZXNoZWV0J3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZworUEFTUyBW
ZXJpZnkgYXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgaW1hZ2UncyBQZXJmb3JtYW5jZVJlc291
cmNlVGltaW5nCitQQVNTIFZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEgcmVkaXJlY3RlZCBpZnJhbWUn
cyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nCitQQVNTIFZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEg
cmVkaXJlY3RlZCBzY3JpcHQncyBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nCitQQVNTIFZlcmlm
eSBhdHRyaWJ1dGVzIG9mIGEgcmVkaXJlY3RlZCBzeW5jaHJvbm91cyBYTUxIdHRwUmVxdWVzdCdz
IFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcKK1BBU1MgVmVyaWZ5IGF0dHJpYnV0ZXMgb2YgYSBz
eW5jaHJvbm91cyBYTUxIdHRwUmVxdWVzdCdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgd2hl
cmUgdGhlIGluaXRpYWwgSFRUUCByZXF1ZXN0IGlzIHJlZGlyZWN0ZWQgdG8gYSBjcm9zcy1vcmln
aW4gSFRUUFMgcmVzb3VyY2UuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3JlZGlyZWN0cy5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
cmVkaXJlY3RzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmE2OTkwN2E1ZjZlNDZhM2U4YTc5MDQxZGExNzAz
OWQxNGQyMGZlYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3JlZGlyZWN0cy5odG1sCkBAIC0wLDAg
KzEsNjEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9
InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRpbWluZzogcmVzb3VyY2VzIGZldGNoZWQgdGhy
b3VnaCBzYW1lLW9yaWdpbiByZWRpcmVjdHM8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRp
dGxlPSJHb29nbGUiIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iIC8+Cis8bGluayByZWw9
ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmctMi8jc2Vj
LXBlcmZvcm1hbmNlcmVzb3VyY2V0aW1pbmciLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvY29tbW9uL2dldC1ob3N0LWlu
Zm8uc3ViLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcmVzb3VyY2UtbG9h
ZGVycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2VudHJ5LWludmFyaWFu
dHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2NvbnN0IHtIVFRQU19OT1RTQU1FU0lURV9PUklH
SU59ID0gZ2V0X2hvc3RfaW5mbygpOworY29uc3QgcmVkaXJlY3RfdXJsID0gYC9jb21tb24vcmVk
aXJlY3QucHlgOworY29uc3QgdXJsX3ByZWZpeCA9IGAke3JlZGlyZWN0X3VybH0/bG9jYXRpb249
L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvYDsKK2NvbnN0IGh0dHBzX3VybF9wcmVmaXggPSBg
JHtyZWRpcmVjdF91cmx9P2xvY2F0aW9uPSR7SFRUUFNfTk9UU0FNRVNJVEVfT1JJR0lOfS9yZXNv
dXJjZS10aW1pbmcvcmVzb3VyY2VzL2A7CisKK2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLnN0eWxl
c2hlZXQsIHVybF9wcmVmaXggKyAicmVzb3VyY2VfdGltaW5nX3Rlc3QwLmNzcyIsCisgIGludmFy
aWFudHMuYXNzZXJ0X3NhbWVfb3JpZ2luX3JlZGlyZWN0ZWRfcmVzb3VyY2UsCisgICJWZXJpZnkg
YXR0cmlidXRlcyBvZiBhIHJlZGlyZWN0ZWQgc3R5bGVzaGVldCdzIFBlcmZvcm1hbmNlUmVzb3Vy
Y2VUaW1pbmciKTsKKworYXR0cmlidXRlX3Rlc3QoCisgIGxvYWQuaW1hZ2UsIHVybF9wcmVmaXgg
KyAiYmx1ZS5wbmciLAorICBpbnZhcmlhbnRzLmFzc2VydF9zYW1lX29yaWdpbl9yZWRpcmVjdGVk
X3Jlc291cmNlLAorICAiVmVyaWZ5IGF0dHJpYnV0ZXMgb2YgYSByZWRpcmVjdGVkIGltYWdlJ3Mg
UGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyIpOworCithdHRyaWJ1dGVfdGVzdCgKKyAgbG9hZC5p
ZnJhbWUsIHVybF9wcmVmaXggKyAiZ3JlZW4uaHRtbCIsCisgIGludmFyaWFudHMuYXNzZXJ0X3Nh
bWVfb3JpZ2luX3JlZGlyZWN0ZWRfcmVzb3VyY2UsCisgICJWZXJpZnkgYXR0cmlidXRlcyBvZiBh
IHJlZGlyZWN0ZWQgaWZyYW1lJ3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyIpOworCithdHRy
aWJ1dGVfdGVzdCgKKyAgbG9hZC5zY3JpcHQsIHVybF9wcmVmaXggKyAiZW1wdHlfc2NyaXB0Lmpz
IiwKKyAgaW52YXJpYW50cy5hc3NlcnRfc2FtZV9vcmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwK
KyAgIlZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEgcmVkaXJlY3RlZCBzY3JpcHQncyBQZXJmb3JtYW5j
ZVJlc291cmNlVGltaW5nIik7CisKK2F0dHJpYnV0ZV90ZXN0KAorICBsb2FkLnhocl9zeW5jLCB1
cmxfcHJlZml4ICsgImdyZWVuLmh0bWw/aWQ9eGhyIiwKKyAgaW52YXJpYW50cy5hc3NlcnRfc2Ft
ZV9vcmlnaW5fcmVkaXJlY3RlZF9yZXNvdXJjZSwKKyAgIlZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEg
cmVkaXJlY3RlZCBzeW5jaHJvbm91cyBYTUxIdHRwUmVxdWVzdCdzICIgKworICAiUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZyIpOworCithdHRyaWJ1dGVfdGVzdCgKKyAgbG9hZC54aHJfc3luYywg
aHR0cHNfdXJsX3ByZWZpeCArICJncmVlbi5odG1sP2lkPXhociIsCisgIGludmFyaWFudHMuYXNz
ZXJ0X2Nyb3NzX29yaWdpbl9yZWRpcmVjdGVkX3Jlc291cmNlLAorICAiVmVyaWZ5IGF0dHJpYnV0
ZXMgb2YgYSBzeW5jaHJvbm91cyBYTUxIdHRwUmVxdWVzdCdzICIgKworICAiUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZyB3aGVyZSB0aGUgaW5pdGlhbCBIVFRQIHJlcXVlc3QgaXMgcmVkaXJlY3Rl
ZCAiICsKKyAgInRvIGEgY3Jvc3Mtb3JpZ2luIEhUVFBTIHJlc291cmNlLiIKKyk7CisKKzwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+RGVzY3JpcHRpb248L2gxPgorPHA+VGhpcyB0ZXN0
IHZhbGlkYXRlcyB0aGF0LCB3aGVuIGEgZmV0Y2hpbmcgcmVzb3VyY2VzIHRoYXQgZW5jb3VudGVy
CitzYW1lLW9yaWdpbiByZWRpcmVjdHMsIGF0dHJpYnV0ZXMgb2YgdGhlIFBlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcgZW50cnkKK2NvbmZvcm0gdG8gdGhlIHNwZWNpZmljYXRpb24uPC9wPgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2UtaWdub3JlLWRhdGEtdXJsLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3Jlc291cmNlLWlnbm9yZS1kYXRhLXVybC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTNlYzVhZjQ1NGVjMWYzZDA4ZDA3YmMwOWJiZTE3ZTkyYWZiN2NhMgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3Jlc291cmNlLWlnbm9yZS1kYXRhLXVybC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSw0IEBACisKKworUEFTUyBSZXNvdXJjZXMgd2l0aCBkYXRhOiBVUklzIG11c3Qgbm90
IGJlIHN1cmZhY2VkIGluIFJlc291cmNlIFRpbWluZworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZS1pZ25vcmUtZGF0YS11cmwuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlLWlnbm9yZS1kYXRhLXVybC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmE3MDU2YTgwODA3OTY3ZDliOTRiMWQ0YzU0YzA2MjBkYzJhNGJhZDgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZS1pZ25vcmUtZGF0YS11cmwuaHRtbApAQCAtMCww
ICsxLDM5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0
PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmcgaWdub3JlcyByZXNvdXJjZXMgd2l0
aCBkYXRhOiBVUklzPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBo
cmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJo
dHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5nLTIvI3Jlc291cmNlcy1pbmNsdWRl
ZC1pbi10aGUtcGVyZm9ybWFuY2VyZXNvdXJjZXRpbWluZy1pbnRlcmZhY2UiLz4KKzxzY3JpcHQg
c3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvcmVzb3VyY2UtbG9hZGVycy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxpbWcgc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFPVG03QUFB
QUNINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQ1JBRUFPdz09Ij48L2ltZz4KKzxzY3JpcHQ+Cisg
IHByb21pc2VfdGVzdChhc3luYyB0ID0+IHsKKyAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21p
c2UocmVzb2x2ZSA9PiB7CisgICAgICBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcih0LnN0ZXBfZnVu
YyhsaXN0ID0+IHsKKyAgICAgICAgY29uc3QgZW50cmllcyA9IGxpc3QuZ2V0RW50cmllcygpOwor
ICAgICAgICBjb25zdCBkYXRhRW50cmllcyA9IGVudHJpZXMuZmlsdGVyKGUgPT4gZS5uYW1lLmlu
Y2x1ZGVzKCdkYXRhOicpKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhRW50cmllcy5sZW5n
dGgsIDAsICdUaGVyZSBtdXN0IGJlIG5vIGVudHJ5IGZvciBgZGF0YTogVVJMYC4nKTsKKyAgICAg
ICAgY29uc3QgYmx1ZUVudHJpZXMgPSBlbnRyaWVzLmZpbHRlcihlID0+IGUubmFtZS5pbmNsdWRl
cygnYmx1ZS5wbmcnKSk7CisgICAgICAgIGlmIChibHVlRW50cmllcy5sZW5ndGgpIHsKKyAgICAg
ICAgICAvLyBXZSBjYW4gZmluaXNoIHRoZSB0ZXN0IG9uY2Ugd2Ugc2VlIHRoZSBlbnRyeSB3aXRo
IGJsdWUucG5nLgorICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgfQorICAgICAgfSkpLm9i
c2VydmUoe2VudHJ5VHlwZXM6IFsncmVzb3VyY2UnXX0pOworICAgIH0pOworICAgIC8vIFdhaXQg
dW50aWwgdGhlIGRvY3VtZW50IGlzIGxvYWRlZC4KKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNv
bHZlID0+IHsKKyAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcmVzb2x2ZSk7
CisgICAgfSk7CisgICAgLy8gQWRkIHRoZSBibHVlLnBuZyBpbWFnZSBhZnRlciBkb2N1bWVudCBp
cyBsb2FkZWQgdG8gZW5zdXJlIHdlJ3ZlIHJlY2VpdmVkCisgICAgLy8gYWxsIG9mIHRoZSBwcmV2
aW91cyBSZXNvdXJjZSBUaW1pbmcgZW50cmllcy4KKyAgICBsb2FkLmltYWdlKCdibHVlLnBuZycp
OworICAgIHJldHVybiBwcm9taXNlOworICB9LCAnUmVzb3VyY2VzIHdpdGggZGF0YTogVVJJcyBt
dXN0IG5vdCBiZSBzdXJmYWNlZCBpbiBSZXNvdXJjZSBUaW1pbmcnKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfVEFPX2Nyb3NzX29yaWdpbl9y
ZWRpcmVjdF9jaGFpbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9UQU9fY3Jvc3Nfb3JpZ2lu
X3JlZGlyZWN0X2NoYWluLWV4cGVjdGVkLnR4dAppbmRleCA0N2NmZDFkZGI0ZTU3NTU3ZjQ5NDVh
NDBkOWUwZTMxODg2MTU5YzQyLi5jNWZhZDkxNTFhODI2NzVmNzdkNDg4Nzc4ZDM2M2ZlZTBiODRh
Y2EwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9UQU9fY3Jvc3Nfb3JpZ2luX3JlZGlyZWN0X2No
YWluLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9UQU9fY3Jvc3Nfb3JpZ2luX3JlZGly
ZWN0X2NoYWluLWV4cGVjdGVkLnR4dApAQCAtMyw4ICszLDggQEAKIFBBU1Mgd2luZG93LnBlcmZv
cm1hbmNlIGlzIGRlZmluZWQKIFBBU1Mgd2luZG93LnBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5h
bWUgaXMgZGVmaW5lZAogUEFTUyBUaGVyZSBzaG91bGQgYmUgb25lIGVudHJ5LgotUEFTUyByZWRp
cmVjdFN0YXJ0ID4gMCBpbiB0aW1pbmcgYWxsb3dlZCBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuCi1Q
QVNTIHJlZGlyZWN0U3RhcnQgPT0gc3RhcnRUaW1lIGluIHRpbWluZyBhbGxvd2VkIGNyb3NzLW9y
aWdpbiByZWRpcmVjdC4KLVBBU1MgcmVkaXJlY3RFbmQgPiByZWRpcmVjdFN0YXJ0IGluIHRpbWlu
ZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4KK0ZBSUwgcmVkaXJlY3RTdGFydCA+IDAg
aW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LiBhc3NlcnRfdHJ1ZTogcmVk
aXJlY3RTdGFydCA+IDAgaW4gdGltaW5nIGFsbG93ZWQgY3Jvc3Mtb3JpZ2luIHJlZGlyZWN0LiBl
eHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCByZWRpcmVjdFN0YXJ0ID09IHN0YXJ0VGltZSBp
biB0aW1pbmcgYWxsb3dlZCBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuIGFzc2VydF9lcXVhbHM6IHJl
ZGlyZWN0U3RhcnQgPT0gc3RhcnRUaW1lIGluIHRpbWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiBy
ZWRpcmVjdC4gZXhwZWN0ZWQgPG5vbmRldGVybWluaXN0aWMgdGVzdCBvdXRwdXQ+IGJ1dCBnb3Qg
MAorRkFJTCByZWRpcmVjdEVuZCA+IHJlZGlyZWN0U3RhcnQgaW4gdGltaW5nIGFsbG93ZWQgY3Jv
c3Mtb3JpZ2luIHJlZGlyZWN0LiBhc3NlcnRfdHJ1ZTogcmVkaXJlY3RFbmQgPiByZWRpcmVjdFN0
YXJ0IGluIHRpbWluZyBhbGxvd2VkIGNyb3NzLW9yaWdpbiByZWRpcmVjdC4gZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKIFBBU1MgZmV0Y2hTdGFydCA+PSByZWRpcmVjdEVuZCBpbiB0aW1pbmcgYWxs
b3dlZCBjcm9zcy1vcmlnaW4gcmVkaXJlY3QuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX2Nh
Y2hlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfY2FjaGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQ2MWQ2Mzk2
MTZiMTgwMmZmNGI2M2RlODJhMDFmZmQ3MDFmODE0ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlX2NhY2hlZC5odG1sCkBAIC0wLDAgKzEsNTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlJlc291cmNlIFRp
bWluZyBjYWNoZWQgcmVzb3VyY2VzPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0i
R29vZ2xlIiBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIiAvPgorPGxpbmsgcmVsPSJoZWxw
IiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9yZXNvdXJjZS10aW1pbmcvI2RvbS1wZXJmb3Jt
YW5jZXJlc291cmNldGltaW5nLWluaXRpYXRvcnR5cGUiLz4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2Vi
cGVyZnRlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2Vi
cGVyZnRlc3RoYXJuZXNzZXh0ZW5zaW9uLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitzZXR1cCh7
ZXhwbGljaXRfZG9uZTogdHJ1ZX0pOworCisvLyBleHBsaWNpdGx5IHRlc3QgdGhlIG5hbWVzcGFj
ZSBiZWZvcmUgd2Ugc3RhcnQgdGVzdGluZwordGVzdF9uYW1lc3BhY2UoImdldEVudHJpZXNCeVR5
cGUiKTsKKwordmFyIGQ7Cit2YXIgaWZyYW1lOwordmFyIGlmcmFtZUJvZHk7Cit2YXIgaW1hZ2U7
Cit2YXIgcmFuZG9tID0gTWF0aC5yYW5kb20oKTsKKworZnVuY3Rpb24gc2V0dXBfaWZyYW1lKCkg
eworICAgIGlmcmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmcmFtZUNvbnRleHQnKTsK
KyAgICBkID0gaWZyYW1lLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7CisgICAgaWZyYW1lQm9keSA9
IGQuYm9keTsKKyAgICBpZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIG9ubG9hZF90ZXN0
LCBmYWxzZSk7Cit9CitmdW5jdGlvbiBvbmxvYWRfdGVzdCgpIHsKKyAgICBpZiAod2luZG93LnBl
cmZvcm1hbmNlLmdldEVudHJpZXNCeVR5cGUgPT09IHVuZGVmaW5lZCkgeworICAgICAgZG9uZSgp
OworICAgICAgcmV0dXJuOworICAgIH0KKyAgICB2YXIgY29udGV4dCA9IG5ldyBQZXJmb3JtYW5j
ZUNvbnRleHQoaWZyYW1lLmNvbnRlbnRXaW5kb3cucGVyZm9ybWFuY2UpOworICAgIHZhciBlbnRy
aWVzID0gY29udGV4dC5nZXRFbnRyaWVzQnlUeXBlKCdyZXNvdXJjZScpOworICAgIHRlc3RfZXF1
YWxzKGVudHJpZXMubGVuZ3RoLCAyLCAiVGhlcmUgc2hvdWxkIGJlIHR3byBlbnRyaWVzIik7Cisg
ICAgaWYgKGVudHJpZXMubGVuZ3RoID49IDIpIHsKKyAgICAgICAgdGVzdF9lcXVhbHMoZW50cmll
c1swXS5uYW1lLCBlbnRyaWVzWzFdLm5hbWUsICJCb3RoIGVudHJpZXMgc2hvdWxkIGhhdmUgdGhl
IHNhbWUgbmFtZSIpOworICAgIH0KKyAgICBkb25lKCk7Cit9Cit3aW5kb3cuc2V0dXBfaWZyYW1l
ID0gc2V0dXBfaWZyYW1lOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5EZXNjcmlw
dGlvbjwvaDE+Cis8cD5UaGlzIHRlc3QgdmFsaWRhdGVzIHRoYXQgYSAzMDQgTm90IE1vZGlmaWVk
IHJlc291cmNlIGFwcGVhcnMgaW4gdGhlIGJ1ZmZlci48L3A+Cis8ZGl2IGlkPSJsb2ciPjwvZGl2
PgorPGlmcmFtZSBpZD0iZnJhbWVDb250ZXh0IiBzcmM9InJlc291cmNlcy9mYWtlX3Jlc3BvbnNl
cy5odG1sIj48L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlX2luaXRpYXRvcl90eXBlcy5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVzLmh0
bWwKaW5kZXggOTkxMmRhN2MzNDAwMTM4ZDczMjQ1YWNjMzcyNDYzY2ExNzRlNmY1OC4uMmU1MmYw
ZTRjZDA5ZWM5ZTBkMjZlMjQ5NGFjNWUyMGI1OGNlNjJiOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2VfaW5pdGlhdG9yX3R5cGVzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfaW5pdGlhdG9yX3R5cGVz
Lmh0bWwKQEAgLTk1LDggKzk1LDggQEAgZnVuY3Rpb24gcGVyZm9ybV90ZXN0KCkgewogICAgIGFk
ZEVudHJ5SWZFeGlzdHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcywgcGF0aG5hbWUgKyAncmVz
b3VyY2VfdGltaW5nX3Rlc3QwLnBuZycsICdpbWcnKTsKICAgICBhZGRFbnRyeUlmRXhpc3RzKGVu
dHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ3Jlc291cmNlX3RpbWluZ190ZXN0
MC5wbmc/aWQ9c3Jjc2V0LXNyY3NldCcsICdpbWcnKTsKICAgICBhZGRFbnRyeUlmRXhpc3RzKGVu
dHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ3Jlc291cmNlX3RpbWluZ190ZXN0
MC5wbmc/aWQ9c3Jjc2V0LXNyYycsICdpbWcnKTsKLSAgICBhZGRFbnRyeUlmRXhpc3RzKGVudHJp
ZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ2JsYW5rX3BhZ2VfZ3JlZW4uaHRtJywg
J2lmcmFtZScpOwotICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmll
cywgcGF0aG5hbWUgKyAnYmxhbmtfcGFnZV9ncmVlbi5odG0/aWQ9ZnJhbWUnLCAnZnJhbWUnKTsK
KyAgICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1l
ICsgJ2dyZWVuLmh0bWwnLCAnaWZyYW1lJyk7CisgICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVz
LCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdncmVlbi5odG1sP2lkPWZyYW1lJywgJ2Zy
YW1lJyk7CiAgICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzLCBw
YXRobmFtZSArICdlbXB0eV9zY3JpcHQuanMnLCAnc2NyaXB0Jyk7CiAgICAgYWRkRW50cnlJZkV4
aXN0cyhlbnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdyZXNvdXJjZV90aW1p
bmdfdGVzdDAuY3NzP2lkPWVtYmVkJywgJ2VtYmVkJyk7CiAgICAgYWRkRW50cnlJZkV4aXN0cyhl
bnRyaWVzLCBleHBlY3RlZF9lbnRyaWVzLCBwYXRobmFtZSArICdyZXNvdXJjZV90aW1pbmdfdGVz
dDAuY3NzP2lkPW4xJywgJ2NzcycpOwpAQCAtMTI4LDcgKzEyOCw3IEBAIGZ1bmN0aW9uIHBlcmZv
cm1fdGVzdCgpIHsKICAgICBhZGRFbnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJp
ZXMsIHBhdGhuYW1lICsgJ25lc3RlZC5jc3MnLCAnbGluaycpOwogICAgIGFkZEVudHJ5SWZFeGlz
dHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcywgcGF0aG5hbWUgKyAnbmVzdGVkLmNzcz9pZD1w
cmVmZXRjaCcsICdsaW5rJyk7CiAgICAgYWRkRW50cnlJZkV4aXN0cyhlbnRyaWVzLCBleHBlY3Rl
ZF9lbnRyaWVzLCBwYXRobmFtZSArICduZXN0ZWQuY3NzP2lkPXByZWxvYWQnLCAnbGluaycpOwot
ICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcywgcGF0aG5hbWUg
KyAnYmxhbmtfcGFnZV9ncmVlbi5odG0/aWQ9cHJlcmVuZGVyJywgJ2xpbmsnKTsKKyAgICBhZGRF
bnRyeUlmRXhpc3RzKGVudHJpZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ2dyZWVu
Lmh0bWw/aWQ9cHJlcmVuZGVyJywgJ2xpbmsnKTsKICAgICBhZGRFbnRyeUlmRXhpc3RzKGVudHJp
ZXMsIGV4cGVjdGVkX2VudHJpZXMsIHBhdGhuYW1lICsgJ21hbmlmZXN0Lmpzb24nLCAnbGluaycp
OwogICAgIGFkZEVudHJ5SWZFeGlzdHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcywgcGF0aG5h
bWUgKyAnZW1wdHkucHk/aWQ9YmVhY29uJywgJ2JlYWNvbicpOwogICAgIGFkZEVudHJ5SWZFeGlz
dHMoZW50cmllcywgZXhwZWN0ZWRfZW50cmllcywgcGF0aG5hbWUgKyAnZW1wdHkucHk/aWQ9ZmV0
Y2gnLCAnZmV0Y2gnKTsKQEAgLTE1OCw3ICsxNTgsNyBAQCB3aW5kb3cub25fYXN5bmNfeGhyX2Rv
bmUgPSBmdW5jdGlvbigpIHsKIDxoMT5EZXNjcmlwdGlvbjwvaDE+CiA8cD5UaGlzIHRlc3QgdmFs
aWRhdGVzIHRoYXQgYWxsIG9mIHRoZSBpbml0aWF0b3IgdHlwZXMgYXJlIHJlcHJlc2VudGVkLjwv
cD4KIDxkaXYgaWQ9ImxvZyI+PC9kaXY+Ci08aWZyYW1lIGlkPSJmcmFtZUNvbnRleHQiIG9ubG9h
ZD0ib25sb2FkX3Rlc3QoKTsiIHNyYz0icmVzb3VyY2VzL2FsbF9yZXNvdXJjZV90eXBlcy5odG0i
IHN0eWxlPSJ3aWR0aDogMjUwcHg7IGhlaWdodDogMjUwcHg7Ij48L2lmcmFtZT4KLTxpZnJhbWUg
aWQ9ImZyYW1lQ29udGV4dDIiIG9ubG9hZD0iZnJhbWVzZXRfb25sb2FkKCk7IiBzcmM9InJlc291
cmNlcy9ncmVlbl9mcmFtZS5odG0iIHN0eWxlPSJ3aWR0aDogMjUwcHg7IGhlaWdodDogMjUwcHg7
Ij48L2lmcmFtZT4KKzxpZnJhbWUgaWQ9ImZyYW1lQ29udGV4dCIgb25sb2FkPSJvbmxvYWRfdGVz
dCgpOyIgc3JjPSJyZXNvdXJjZXMvYWxsX3Jlc291cmNlX3R5cGVzLmh0bWwiIHN0eWxlPSJ3aWR0
aDogMjUwcHg7IGhlaWdodDogMjUwcHg7Ij48L2lmcmFtZT4KKzxpZnJhbWUgaWQ9ImZyYW1lQ29u
dGV4dDIiIG9ubG9hZD0iZnJhbWVzZXRfb25sb2FkKCk7IiBzcmM9InJlc291cmNlcy9ncmVlbi1m
cmFtZS5odG1sIiBzdHlsZT0id2lkdGg6IDI1MHB4OyBoZWlnaHQ6IDI1MHB4OyI+PC9pZnJhbWU+
CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9uZXN0ZWRfZGVkaWNh
dGVkX3dvcmtlci53b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZV9uZXN0ZWRfZGVkaWNhdGVkX3dvcmtl
ci53b3JrZXIuanMKaW5kZXggZmM3OTMwNzViYmFkZTFiMDg5MWVhOGVjZjUwMTM3MDUxZDg0Yjgy
MC4uMmM5ZjVmOTU0MjhhY2E1Y2U5ZDE4NzE0MjIzZmFiNmY3OGYzNjBjMCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VfbmVzdGVkX2RlZGljYXRlZF93b3JrZXIud29ya2VyLmpzCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlX25lc3RlZF9kZWRpY2F0ZWRfd29ya2VyLndvcmtlci5qcwpAQCAtMSw2ICsxLDYgQEAK
IGltcG9ydFNjcmlwdHMoIi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiKTsKIAotYXN5bmNfdGVz
dChhc3luYyBmdW5jdGlvbigpIHsKK2FzeW5jX3Rlc3QoZnVuY3Rpb24oKSB7CiAgIGNvbnN0IHdv
cmtlciA9IG5ldyBXb3JrZXIoJ3Jlc291cmNlcy93b3JrZXJfd2l0aF9pbWFnZXMuanMnKTsKICAg
d29ya2VyLm9ubWVzc2FnZSA9IHRoaXMuc3RlcF9mdW5jX2RvbmUoKGV2ZW50KSA9PiB7CiAgICAg
Y29uc3QgY2hpbGROdW1FbnRyaWVzID0gZXZlbnQuZGF0YTsKQEAgLTE0LDQgKzE0LDQgQEAgYXN5
bmNfdGVzdChhc3luYyBmdW5jdGlvbigpIHsKICAgICB3b3JrZXIudGVybWluYXRlKCk7CiAgIH0p
OwogfSwgIlJlc291cmNlIHRpbWluZyBmb3IgbmVzdGVkIGRlZGljYXRlZCB3b3JrZXJzIik7Ci1k
b25lKCk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZG9uZSgpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VfdGltaW5nX2NvbnRlbnRfbGVuZ3RoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlX3RpbWluZ19jb250ZW50X2xlbmd0aC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDNhM2Y4
OGQxYmVhYzEwMzcwMDVlY2FmODg4NDUxNjAzY2RlZWU3YQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlX3RpbWluZ19jb250ZW50X2xlbmd0aC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4
IEBACisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitQQVNTIGVu
Y29kZWRCb2R5U2l6ZSBzaG91bGQgYmUgZXF1YWwgdG8gdGhlIGFjdHVhbCBieXRlIHNpemUgb2Yg
dGhlIGNvbnRlbnQKK1BBU1MgZW5jb2RlZEJvZHlTaXplIHNob3VsZCBiZSBlcXVhbCB0byB0aGUg
YWN0dWFsIGJ5dGUgc2l6ZSBvZiB0aGUgY29udGVudCB3aGVuIG5vIGhlYWRlciBwcmVzZW50CitQ
QVNTIGVuY29kZWRCb2R5U2l6ZSBzaG91bGQgYmUgZXF1YWwgdG8gdGhlIGFjdHVhbCBieXRlIHNp
emUgb2YgdGhlIGNvbnRlbnQgd2hlbiBoZWFkZXIgdmFsdWUgaXMgbG93ZXIgdGhhbiBhY3R1YWwg
Y29udGVudAorVElNRU9VVCBlbmNvZGVkQm9keVNpemUgc2hvdWxkIGJlIGVxdWFsIHRvIHRoZSBh
Y3R1YWwgYnl0ZSBzaXplIG9mIHRoZSBjb250ZW50IHdoZW4gaGVhZGVyIHZhbHVlIGlzIGhpZ2hl
ciB0aGFuIGFjdHVhbCBjb250ZW50IFRlc3QgdGltZWQgb3V0CisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlX3RpbWluZ19jb250ZW50X2xlbmd0aC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VfdGltaW5nX2Nv
bnRlbnRfbGVuZ3RoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzJiZDhhOTdlMDczNDEzMjMwNjE1MTI2OThh
NTY1MjMyZjE5NzJiZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlX3RpbWluZ19jb250
ZW50X2xlbmd0aC5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlRoaXMgdGVzdCB2YWxp
ZGF0ZXMgdGhlIHZhbHVlIG9mIGVuY29kZWRCb2R5U2l6ZSBpbiBjZXJ0YWluIHNpdHVhdGlvbnMu
PC90aXRsZT4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvcmVz
b3VyY2UtdGltaW5nLyNwZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQ+CisgICAgZnVu
Y3Rpb24gdGVzdF9yZXNvdXJjZV90aW1pbmdfZm9yX2NvbnRlbnRfbGVuZ3RoKHthY3R1YWxDb250
ZW50TGVuZ3RoLCBsZW5ndGhIZWFkZXJ9LCB0aXRsZSkgeworICAgICAgICBwcm9taXNlX3Rlc3Qo
YXN5bmMgdCA9PiB7CisgICAgICAgICAgICBjb25zdCBjb250ZW50ID0gbmV3IEFycmF5KGFjdHVh
bENvbnRlbnRMZW5ndGgpLmZpbGwoJ3gnKS5qb2luKCcnKQorICAgICAgICAgICAgY29uc3QgdXJs
ID0gYHJlc291cmNlcy9yZXNvdXJjZS10aW1pbmctY29udGVudC1sZW5ndGgucHk/Y29udGVudD0k
e2NvbnRlbnR9Jmxlbmd0aD0ke2xlbmd0aEhlYWRlcn1gCisgICAgICAgICAgICBmZXRjaCh1cmwp
CisgICAgICAgICAgICBjb25zdCBlbnRyeSA9IGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4g
bmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGVudHJ5TGlzdCwgb2JzZXJ2ZXIpID0+IHsKKyAgICAg
ICAgICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCkKKyAgICAgICAgICAgICAgICByZXNvbHZl
KGVudHJ5TGlzdC5nZXRFbnRyaWVzKClbMF0pCisgICAgICAgICAgICB9KS5vYnNlcnZlKHtlbnRy
eVR5cGVzOiBbJ3Jlc291cmNlJ119KSkKKworICAgICAgICAgICAgY29uc3QgZXhwZWN0ZWRDb250
ZW50TGVuZ3RoID0gTnVtYmVyLmlzSW50ZWdlcihsZW5ndGhIZWFkZXIpID8gTWF0aC5taW4oYWN0
dWFsQ29udGVudExlbmd0aCwgbGVuZ3RoSGVhZGVyKSA6IGFjdHVhbENvbnRlbnRMZW5ndGgKKyAg
ICAgICAgICAgIGFzc2VydF9lcXVhbHMoZW50cnkuZW5jb2RlZEJvZHlTaXplLCBleHBlY3RlZENv
bnRlbnRMZW5ndGgpCisgICAgICAgIH0sIHRpdGxlKTsKKyAgICB9CisKKyAgICB0ZXN0X3Jlc291
cmNlX3RpbWluZ19mb3JfY29udGVudF9sZW5ndGgoe2FjdHVhbENvbnRlbnRMZW5ndGg6IDMsIGxl
bmd0aEhlYWRlcjogJ2F1dG8nfSwKKyAgICAgICAgImVuY29kZWRCb2R5U2l6ZSBzaG91bGQgYmUg
ZXF1YWwgdG8gdGhlIGFjdHVhbCBieXRlIHNpemUgb2YgdGhlIGNvbnRlbnQiKQorICAgIHRlc3Rf
cmVzb3VyY2VfdGltaW5nX2Zvcl9jb250ZW50X2xlbmd0aCh7YWN0dWFsQ29udGVudExlbmd0aDog
MTMsIGxlbmd0aEhlYWRlcjogJ25vbmUnfSwKKyAgICAgICAgImVuY29kZWRCb2R5U2l6ZSBzaG91
bGQgYmUgZXF1YWwgdG8gdGhlIGFjdHVhbCBieXRlIHNpemUgb2YgdGhlIGNvbnRlbnQgd2hlbiBu
byBoZWFkZXIgcHJlc2VudCIpCisgICAgdGVzdF9yZXNvdXJjZV90aW1pbmdfZm9yX2NvbnRlbnRf
bGVuZ3RoKHthY3R1YWxDb250ZW50TGVuZ3RoOiA3LCBsZW5ndGhIZWFkZXI6IDN9LAorICAgICAg
ICAiZW5jb2RlZEJvZHlTaXplIHNob3VsZCBiZSBlcXVhbCB0byB0aGUgYWN0dWFsIGJ5dGUgc2l6
ZSBvZiB0aGUgY29udGVudCB3aGVuIGhlYWRlciB2YWx1ZSBpcyBsb3dlciB0aGFuIGFjdHVhbCBj
b250ZW50IikKKyAgICB0ZXN0X3Jlc291cmNlX3RpbWluZ19mb3JfY29udGVudF9sZW5ndGgoe2Fj
dHVhbENvbnRlbnRMZW5ndGg6IDgsIGxlbmd0aEhlYWRlcjogNDB9LAorICAgICAgICAiZW5jb2Rl
ZEJvZHlTaXplIHNob3VsZCBiZSBlcXVhbCB0byB0aGUgYWN0dWFsIGJ5dGUgc2l6ZSBvZiB0aGUg
Y29udGVudCB3aGVuIGhlYWRlciB2YWx1ZSBpcyBoaWdoZXIgdGhhbiBhY3R1YWwgY29udGVudCIp
Cis8L3NjcmlwdD4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy8yMDBfZW1wdHku
YXNpcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy8yMDBfZW1wdHkuYXNpcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNWQxMGJkYTMy
NDUyOGQxZDg1NDYzYjlhMTVhMzQ3ZjVjMWZhZWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVz
b3VyY2VzLzIwMF9lbXB0eS5hc2lzCkBAIC0wLDAgKzEsMyBAQAorSFRUUC8xLjAgMjAwIE9LCitD
b250ZW50LUxlbmd0aDogMAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvVEFPUmVzcG9uc2Uu
cHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvVEFPUmVzcG9uc2UucHkKaW5kZXggOTA4YjY4ODYxYWU4MjYyYTE4
ZTA4M2IwMjZkMTQ1OTFkMWUwMjA2ZS4uNjAzOTJiOGUxMGFkYTRmZDcwYTAzYTYyNTg4NDkzMDZl
OTcxNGVjNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL1RBT1Jlc3BvbnNlLnB5CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Jlc291cmNlcy9UQU9SZXNwb25zZS5weQpAQCAtMSw4ICsxLDEyIEBACitpbXBvcnQgb3MKKwog
ZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAgIG9yaWdpbiA9IHJlcXVlc3QuaGVhZGVy
c1tiJ29yaWdpbiddCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYidBY2Nlc3MtQ29udHJvbC1B
bGxvdy1PcmlnaW4nLCBvcmlnaW4pCisgICAgaWYgYidvcmlnaW4nIGluIHJlcXVlc3QuaGVhZGVy
czoKKyAgICAgIG9yaWdpbiA9IHJlcXVlc3QuaGVhZGVyc1tiJ29yaWdpbiddCisgICAgICByZXNw
b25zZS5oZWFkZXJzLnNldChiJ0FjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbicsIG9yaWdpbikK
IAogICAgIHRhbyA9IHJlcXVlc3QuR0VULmZpcnN0KGIndGFvJykKKyAgICBpbWcgPSByZXF1ZXN0
LkdFVC5maXJzdChiJ2ltZycpIGlmIGInaW1nJyBpbiByZXF1ZXN0LkdFVCBlbHNlIE5vbmUKIAog
ICAgIGlmIHRhbyA9PSBiJ3plcm8nOgogICAgICMgemVybyBUQU8gdmFsdWUsIGZhaWwKQEAgLTE0
LDcgKzE4LDcgQEAgZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgogICAgICMgbnVsbCwgZmFp
bCB1bmxlc3MgaXQncyBhbiBvcGFxdWUgb3JpZ2luCiAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMu
c2V0KGInVGltaW5nLUFsbG93LU9yaWdpbicsIGInbnVsbCcpCiAgICAgZWxpZiB0YW8gPT0gYidO
dWxsJzoKLSAgICAjIGNhc2UtaW5zZW50aXZlIG51bGwsIGZhaWwKKyAgICAjIGNhc2UtaW5zZW5z
aXRpdmUgbnVsbCwgZmFpbAogICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiJ1RpbWluZy1B
bGxvdy1PcmlnaW4nLCBiJ051bGwnKQogICAgIGVsaWYgdGFvID09IGInb3JpZ2luJzoKICAgICAj
IGNhc2Utc2Vuc2l0aXZlIG1hdGNoIGZvciBvcmlnaW4sIHBhc3MKQEAgLTQ5LDMgKzUzLDEyIEBA
IGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5z
ZXQoYidUaW1pbmctQWxsb3ctT3JpZ2luJywgb3JpZ2luLnVwcGVyKCkpCiAgICAgZWxzZToKICAg
ICAgICAgcGFzcworICAgIHJlc3BvbnNlLnN0YXR1cyA9IDIwMAorICAgIGlmIGltZzoKKyAgICAg
IHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQ29udGVudC1UeXBlIiwgYiJpbWFnZS9wbmciKQorICAg
ICAgd2l0aCBvcGVuKHJlcXVlc3QuZG9jX3Jvb3QgKyAiL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZXMvYmx1ZS5wbmciLCAicmIiKSBhcyBmOgorICAgICAgICByZXNwb25zZS5jb250ZW50ID0gZi5y
ZWFkKCkKKyAgICAgICAgZi5jbG9zZSgpCisgICAgZWxzZToKKyAgICAgIHJlc3BvbnNlLmhlYWRl
cnMuc2V0KGIiQ29udGVudC1UeXBlIiwgYiJ0ZXh0L3BsYWluIikKKyAgICAgIHJlc3BvbnNlLmNv
bnRlbnQgPSAiVEVTVCIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9hbGxfcmVzb3VyY2VfdHlw
ZXMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL3Jlc291cmNlcy9hbGxfcmVzb3VyY2VfdHlwZXMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41MjUyYTQ4NzJhYjRlMjhlNjY1MGM0NWM3NzliMzgwNTI1NGZhOTBmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvcmVzb3VyY2VzL2FsbF9yZXNvdXJjZV90eXBlcy5odG1sCkBAIC0wLDAgKzEsMTA3
IEBACis8IURPQ1RZUEUgSFRNTD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBj
b250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlw
ZSIgLz4KKyAgICAgICAgPHRpdGxlPkFsbCBSZXNvdXJjZSBUeXBlcyBUZXN0IFBhZ2U8L3RpdGxl
PgorICAgICAgICA8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9ImVtcHR5LnB5P2Zhdmlj
b24iPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBiYWNrZ3JvdW5kPSdibHVlLnBuZz9pZD1ib2R5
Jz4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cucGFyZW50Lmhhc093
blByb3BlcnR5KCdvbl90ZXN0X2JvZHlfY3JlYXRlZCcpKQorICAgICAgICAgICAgICAgIHdpbmRv
dy5wYXJlbnQub25fdGVzdF9ib2R5X2NyZWF0ZWQoKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAg
ICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ibmVzdGVkLmNzcyI+PC9saW5rPgorICAg
ICAgICA8bGluayByZWw9InByZWZldGNoIiBocmVmPSJuZXN0ZWQuY3NzP2lkPXByZWZldGNoIj48
L2xpbms+CisgICAgICAgIDxsaW5rIHJlbD0icHJlbG9hZCIgaHJlZj0ibmVzdGVkLmNzcz9pZD1w
cmVsb2FkIiBhcz0ic3R5bGUiPjwvbGluaz4KKyAgICAgICAgPGxpbmsgcmVsPSJwcmVyZW5kZXIi
IGhyZWY9ImdyZWVuLmh0bWw/aWQ9cHJlcmVuZGVyIj48L2xpbms+CisgICAgICAgIDxsaW5rIHJl
bD0ibWFuaWZlc3QiIGhyZWY9Im1hbmlmZXN0Lmpzb24iPjwvbGluaz4KKyAgICAgICAgPGltZyBz
cmM9InJlc291cmNlX3RpbWluZ190ZXN0MC5wbmciPjwvaW1nPgorICAgICAgICA8aW1nIHNyYz0i
cmVzb3VyY2VfdGltaW5nX3Rlc3QwLnBuZz9pZD1zcmNzZXQtc3JjIgorICAgICAgICAgICAgc3Jj
c2V0PSJyZXNvdXJjZV90aW1pbmdfdGVzdDAucG5nP2lkPXNyY3NldC1zcmNzZXQgNjd3IgorICAg
ICAgICAgICAgc2l6ZXM9IjY3cHgiPjwvaW1nPgorICAgICAgICA8aWZyYW1lIHNyYz0iZ3JlZW4u
aHRtbCIgd2lkdGg9IjEwMHB4IiBoZWlnaHQ9IjEwMHB4Ij48L2lmcmFtZT4KKyAgICAgICAgPHNj
cmlwdCBzcmM9ImVtcHR5X3NjcmlwdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQ+Cisg
ICAgICAgICAgICB2YXIgYXN5bmNfeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0OworICAgICAgICAg
ICAgYXN5bmNfeGhyLm9wZW4oJ0dFVCcsICdibHVlLnBuZz9pZD1hc3luY194aHInLCB0cnVlKTsK
KyAgICAgICAgICAgIGFzeW5jX3hoci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpIHsK
KyAgICAgICAgICAgICAgICBpZiAoYXN5bmNfeGhyLnJlYWR5U3RhdGUgPT0gNCAmJiBhc3luY194
aHIuc3RhdHVzID09IDIwMCAmJiBwYXJlbnQuaGFzT3duUHJvcGVydHkoJ29uX2FzeW5jX3hocl9k
b25lJykpCisgICAgICAgICAgICAgICAgICAgIHBhcmVudC5vbl9hc3luY194aHJfZG9uZSgpOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgYXN5bmNfeGhyLnNlbmQoKTsKKworICAgICAgICAg
ICAgaWYgKHdpbmRvdy5uYXZpZ2F0b3IgJiYgbmF2aWdhdG9yLnNlbmRCZWFjb24pIHsKKyAgICAg
ICAgICAgICAgICBuYXZpZ2F0b3Iuc2VuZEJlYWNvbignZW1wdHkucHk/aWQ9YmVhY29uJyk7Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmICh3aW5kb3cuZmV0Y2gpIHsKKyAgICAgICAg
ICAgICAgICBmZXRjaCgnZW1wdHkucHk/aWQ9ZmV0Y2gnKTsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgaWYgKHdpbmRvdy5FdmVudFNvdXJjZSkgeworICAgICAgICAgICAgICAgIHZhciBl
dnRTb3VyY2UgPSBuZXcgRXZlbnRTb3VyY2UoJ2V2ZW50c291cmNlLnB5P2lkPWV2ZW50c291cmNl
Jyk7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICBAZm9udC1mYWNlIHsKKyAgICAgICAgICAgICAgICBmb250LWZhbWlseTogcmVt
b3RlRm9udEFoZW07CisgICAgICAgICAgICAgICAgc3JjOiB1cmwoJy9mb250cy9BaGVtLnR0Zicp
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWZyYW1lIHsKKyAgICAgICAgICAgICAgICBi
YWNrZ3JvdW5kOiB1cmwoJ2JsdWUucG5nP2lkPTEnKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIGJvZHkgeworICAgICAgICAgICAgICAgIGN1cnNvcjogdXJsKCdibHVlLnBuZz9pZD1jdXJz
b3InKSwgcG9pbnRlcjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHVsIHsKKyAgICAgICAg
ICAgICAgICBmb250LWZhbWlseTogcmVtb3RlRm9udEFoZW07CisgICAgICAgICAgICAgICAgbGlz
dC1zdHlsZS1pbWFnZTogdXJsKCdibHVlLnBuZz9pZD0yJyk7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgICAgIDx1bD4KKyAgICAgICAgICAgIDxsaT5UZXN0PC9saT4KKyAg
ICAgICAgPC91bD4KKyAgICAgICAgPG9sPgorICAgICAgICAgICAgPGxpPlRlc3Q8L2xpPgorICAg
ICAgICA8L29sPgorICAgICAgICA8ZW1iZWQgc3JjPSJyZXNvdXJjZV90aW1pbmdfdGVzdDAuY3Nz
P2lkPWVtYmVkIiB0eXBlPSJ0ZXh0L2NzcyI+PC9lbWJlZD4KKyAgICAgICAgPGlucHV0IHR5cGU9
ImltYWdlIiBzcmM9ImJsdWUucG5nP2lkPWlucHV0Ij48L2lucHV0PgorICAgICAgICA8b2JqZWN0
IHR5cGU9ImltYWdlL3BuZyIgZGF0YT0iYmx1ZS5wbmc/aWQ9b2JqZWN0Ij48L29iamVjdD4KKyAg
ICAgICAgPHZpZGVvIHBvc3Rlcj0iYmx1ZS5wbmc/aWQ9dmlkZW8tcG9zdGVyIj48L3ZpZGVvPgor
ICAgICAgICA8dmlkZW8gc3JjPSIvbWVkaWEvdGVzdC5tcDQ/aWQ9dmlkZW8tc3JjIiBhdXRvcGxh
eT0idHJ1ZSI+PC92aWRlbz4KKyAgICAgICAgPHZpZGVvIGF1dG9wbGF5PSJ0cnVlIj4KKyAgICAg
ICAgICAgIDxzb3VyY2Ugc3JjPSIvbWVkaWEvdGVzdC5tcDQ/aWQ9dmlkZW8tc291cmNlIiB0eXBl
PSJ2aWRlby9tcDQiPgorICAgICAgICAgICAgPHNvdXJjZSBzcmM9Ii9tZWRpYS90ZXN0Lm9ndj9p
ZD12aWRlby1zb3VyY2UiIHR5cGU9InZpZGVvL29nZyI+CisgICAgICAgICAgICA8dHJhY2sga2lu
ZD0ic3VidGl0bGVzIiBzcmM9ImVtcHR5LnB5P2lkPXZpZGVvLXRyYWNrIiBzcmNsYW5nPSJlbiIg
ZGVmYXVsdD4KKyAgICAgICAgPC92aWRlbz4KKyAgICAgICAgPGF1ZGlvIHNyYz0iZW1wdHkucHk/
aWQ9YXVkaW8tc3JjIj48L2F1ZGlvPgorICAgICAgICA8YXVkaW8+CisgICAgICAgICAgICA8c291
cmNlIHNyYz0iZW1wdHkucHk/aWQ9YXVkaW8tc291cmNlLXdhdiIgdHlwZT0iYXVkaW8vd2F2IiAv
PgorICAgICAgICAgICAgPHNvdXJjZSBzcmM9ImVtcHR5LnB5P2lkPWF1ZGlvLXNvdXJjZS1tcGVn
IiB0eXBlPSJhdWRpby9tcGVnIiAvPgorICAgICAgICAgICAgPHNvdXJjZSBzcmM9ImVtcHR5LnB5
P2lkPWF1ZGlvLXNvdXJjZS1vZ2ciIHR5cGU9ImF1ZGlvL29nZyIgLz4KKyAgICAgICAgPC9hdWRp
bz4KKyAgICAgICAgPHN2ZyB3aWR0aD0yMDAgaGVpZ2h0PTIwMAorICAgICAgICAgICAgeG1sbnM9
Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgorICAgICAgICAgICAgeG1sbnM6eGxpbms9Imh0
dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgorICAgICAgICAgICAgPGltYWdlIGhyZWY9ImJs
dWUucG5nP2lkPXN2Zy1pbWFnZSIgaGVpZ2h0PSIyMDAiIHdpZHRoPSIyMDAiLz4KKyAgICAgICAg
PC9zdmc+CisgICAgICAgIDxwaWN0dXJlPgorICAgICAgICAgICAgPHNvdXJjZSBzcmNzZXQ9ImJs
dWUucG5nP2lkPXBpY3R1cmUtc291cmNlIiB0eXBlPSJpbWFnZS9wbmciIC8+CisgICAgICAgICAg
ICA8aW1nIHNyYz0iYmx1ZS5wbmc/aWQ9cGljdHVyZS1pbWciIC8+CisgICAgICAgIDwvcGljdHVy
ZT4KKyAgICAgICAgPHBpY3R1cmU+CisgICAgICAgICAgICA8c291cmNlIHNyY3NldD0iYmx1ZS5w
bmc/aWQ9cGljdHVyZS1ub3RzdXBwb3J0ZWQtc291cmNlIiB0eXBlPSJpbWFnZS9ub3RzdXBwb3J0
ZWQiIC8+CisgICAgICAgICAgICA8aW1nIHNyYz0iYmx1ZS5wbmc/aWQ9cGljdHVyZS1ub3RzdXBw
b3J0ZWQtaW1nIiAvPgorICAgICAgICA8L3BpY3R1cmU+CisgICAgICAgIDxwaWN0dXJlPgorICAg
ICAgICAgICAgPGltZyBzcmM9ImJsdWUucG5nP2lkPXBpY3R1cmUtaW1nLXNyYyIKKyAgICAgICAg
ICAgICAgICBzcmNzZXQ9ImJsdWUucG5nP2lkPXBpY3R1cmUtaW1nLXNyY3NldCIKKyAgICAgICAg
ICAgICAgICBzaXplcz0iNjdweCI+PC9pbWc+CisgICAgICAgIDwvcGljdHVyZT4KKyAgICAgICAg
PHBpY3R1cmU+CisgICAgICAgICAgICA8aW1nIHNyYz0iYmx1ZS5wbmc/aWQ9cGljdHVyZS05OXgt
aW1nLXNyYyIKKyAgICAgICAgICAgICAgICBzcmNzZXQ9ImJsdWUucG5nP2lkPXBpY3R1cmUtOTl4
LWltZy1zcmNzZXQgOTl4IgorICAgICAgICAgICAgICAgIHNpemVzPSI2N3B4Ij48L2ltZz4KKyAg
ICAgICAgPC9waWN0dXJlPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlcy9idWZmZXItZnVsbC11dGlsaXRpZXMuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvYnVmZmVyLWZ1
bGwtdXRpbGl0aWVzLmpzCmluZGV4IGUwYTRmMGIxMDgwOTQ2NThiZTBhZWY0NTNiZjgyNmJmMDFj
MjhmOTMuLjIxY2Q2MzNjZWQ5N2RiZjZjNzVlYWUxMGJmZDk3YTI5NDJlNGJkNWEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL3Jlc291cmNlcy9idWZmZXItZnVsbC11dGlsaXRpZXMuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2VzL2J1ZmZlci1mdWxsLXV0aWxpdGllcy5qcwpAQCAtMTIsMTIgKzEyLDI3IEBAIGxldCB4aHJT
Y3JpcHQgPSBzcmMgPT4gewogICAgIHhoci5zZW5kKG51bGwpOwogfQogCi1sZXQgd2FpdEZvck5l
eHRUYXNrID0gKCkgPT4geworLy8gVGhpcyBzY3JpcHQgcmVsaWVzIG9uIHJlc291cmNlcy9yZXNv
dXJjZS1sb2FkZXJzLmpzLiBJbmNsdWRlIGl0IGJlZm9yZSBpbiBvcmRlciBmb3IgdGhlIGJlbG93
CisvLyBtZXRob2RzIHRvIHdvcmsgcHJvcGVybHkuCisKKy8vIFRoZSByZXNvdXJjZXMgdXNlZCB0
byB0cmlnZ2VyIG5ldyBlbnRyaWVzLgorY29uc3Qgc2NyaXB0UmVzb3VyY2VzID0gWworICAgICdy
ZXNvdXJjZXMvZW1wdHkuanMnLAorICAgICdyZXNvdXJjZXMvZW1wdHlfc2NyaXB0LmpzJywKKyAg
ICAncmVzb3VyY2VzL2VtcHR5LmpzP2lkJworXTsKKworY29uc3Qgd2FpdEZvck5leHRUYXNrID0g
KCkgPT4gewogICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKICAgICAgICAgc3Rl
cF90aW1lb3V0KHJlc29sdmUsIDApOwogICAgIH0pOwogfTsKIAorY29uc3QgY2xlYXJCdWZmZXJB
bmRTZXRTaXplID0gc2l6ZSA9PiB7CisgIHBlcmZvcm1hbmNlLmNsZWFyUmVzb3VyY2VUaW1pbmdz
KCk7CisgIHBlcmZvcm1hbmNlLnNldFJlc291cmNlVGltaW5nQnVmZmVyU2l6ZShzaXplKTsKK30K
KwogbGV0IHdhaXRVbnRpbENvbmRpdGlvbklzTWV0ID0gY29uZCA9PiB7CiAgICAgcmV0dXJuIG5l
dyBQcm9taXNlKHJlc29sdmUgPT4gewogICAgICAgICBsZXQgY2hlY2tDb25kaXRpb24gPSBmdW5j
dGlvbigpIHsKQEAgLTQ1LDI3ICs2MCw1NyBAQCBsZXQgd2FpdEZvckV2ZW50VG9GaXJlID0gKCkg
PT4gewogICAgIH0pOwogfTsKIAotbGV0IGNsZWFyQnVmZmVyQW5kU2V0U2l6ZSA9IHNpemUgPT4g
ewotICAgIHBlcmZvcm1hbmNlLmNsZWFyUmVzb3VyY2VUaW1pbmdzKCk7Ci0gICAgcGVyZm9ybWFu
Y2Uuc2V0UmVzb3VyY2VUaW1pbmdCdWZmZXJTaXplKHNpemUpOwotfQorY29uc3QgZm9yY2VCdWZm
ZXJGdWxsRXZlbnQgPSBhc3luYyAoKSA9PiB7CisgIGNsZWFyQnVmZmVyQW5kU2V0U2l6ZSgxKTsK
KyAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIHJlc29sdmUgPT4geworICAgIHBlcmZvcm1hbmNl
LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc291cmNldGltaW5nYnVmZmVyZnVsbCcsIHJlc29sdmUpOwor
ICAgIC8vIExvYWQgMiByZXNvdXJjZXMgdG8gZW5zdXJlIG9ucmVzb3VyY2V0aW1pbmdidWZmZXJm
dWxsIGlzIGZpcmVkLgorICAgIC8vIExvYWQgdGhlbSBpbiBvcmRlciBpbiBvcmRlciB0byBnZXQg
dGhlIGVudHJpZXMgaW4gdGhhdCBvcmRlciEKKyAgICBhd2FpdCBsb2FkLnNjcmlwdChzY3JpcHRS
ZXNvdXJjZXNbMF0pOworICAgIGF3YWl0IGxvYWQuc2NyaXB0KHNjcmlwdFJlc291cmNlc1sxXSk7
CisgIH0pOworfTsKIAotbGV0IGZpbGxVcFRoZUJ1ZmZlcldpdGhTaW5nbGVSZXNvdXJjZSA9IHNy
YyA9PiB7Ci0gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewotICAgICAgICAvLyBU
aGlzIHJlc291cmNlIGdldHMgYnVmZmVyZWQgaW4gdGhlIHJlc291cmNlIHRpbWluZyBlbnRyeSBi
dWZmZXIuCi0gICAgICAgIGFwcGVuZFNjcmlwdChzcmMsIHJlc29sdmUpOwotICAgIH0pOworY29u
c3QgZmlsbFVwVGhlQnVmZmVyV2l0aFNpbmdsZVJlc291cmNlID0gYXN5bmMgKHNyYyA9IHNjcmlw
dFJlc291cmNlc1swXSkgPT4geworICBjbGVhckJ1ZmZlckFuZFNldFNpemUoMSk7CisgIGF3YWl0
IGxvYWQuc2NyaXB0KHNyYyk7CiB9OwogCi1sZXQgbG9hZFJlc291cmNlID0gc3JjID0+IHsKLSAg
ICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Ci0gICAgICAgIGFwcGVuZFNjcmlwdChz
cmMsIHJlc29sdmUpOwotICAgIH0pOworY29uc3QgZmlsbFVwVGhlQnVmZmVyV2l0aFR3b1Jlc291
cmNlcyA9IGFzeW5jICgpID0+IHsKKyAgICBjbGVhckJ1ZmZlckFuZFNldFNpemUoMik7CisgICAg
Ly8gTG9hZCB0aGVtIGluIG9yZGVyIGluIG9yZGVyIHRvIGdldCB0aGUgZW50cmllcyBpbiB0aGF0
IG9yZGVyIQorICAgIGF3YWl0IGxvYWQuc2NyaXB0KHNjcmlwdFJlc291cmNlc1swXSk7CisgICAg
YXdhaXQgbG9hZC5zY3JpcHQoc2NyaXB0UmVzb3VyY2VzWzFdKTsKIH07CiAKLWxldCBmaWxsVXBU
aGVCdWZmZXJXaXRoVHdvUmVzb3VyY2VzID0gYXN5bmMgc3JjID0+IHsKLSAgICAvLyBUaGVzZSBy
ZXNvdXJjZXMgZ2V0IGJ1ZmZlcmVkIGluIHRoZSByZXNvdXJjZSB0aW1pbmcgZW50cnkgYnVmZmVy
LgotICAgIGF3YWl0IGxvYWRSZXNvdXJjZShzcmMpOwotICAgIGF3YWl0IGxvYWRSZXNvdXJjZShz
cmMgKyAnP3NlY29uZCcpOworY29uc3QgYWRkQXNzZXJ0VW5yZWFjaGVkQnVmZmVyRnVsbCA9IHQg
PT4geworICBwZXJmb3JtYW5jZS5hZGRFdmVudExpc3RlbmVyKCdyZXNvdXJjZXRpbWluZ2J1ZmZl
cmZ1bGwnLCB0LnN0ZXBfZnVuYygoKSA9PiB7CisgICAgYXNzZXJ0X3VucmVhY2hlZCgicmVzb3Vy
Y2V0aW1pbmdidWZmZXJmdWxsIHNob3VsZCBub3QgZmlyZSIpCisgIH0pKTsKIH07CiAKK2NvbnN0
IGNoZWNrRW50cmllcyA9IG51bUVudHJpZXMgPT4geworICBjb25zdCBlbnRyaWVzID0gcGVyZm9y
bWFuY2UuZ2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKTsKKyAgYXNzZXJ0X2VxdWFscyhlbnRy
aWVzLmxlbmd0aCwgbnVtRW50cmllcywKKyAgICAgICdOdW1iZXIgb2YgZW50cmllcyBkb2VzIG5v
dCBtYXRjaCB0aGUgZXhwZWN0ZWQgdmFsdWUuJyk7CisgIGFzc2VydF90cnVlKGVudHJpZXNbMF0u
bmFtZS5pbmNsdWRlcyhzY3JpcHRSZXNvdXJjZXNbMF0pLAorICAgICAgc2NyaXB0UmVzb3VyY2Vz
WzBdICsgIiBpcyBpbiB0aGUgZW50cmllcyBidWZmZXIiKTsKKyAgaWYgKGVudHJpZXMubGVuZ3Ro
ID4gMSkgeworICAgIGFzc2VydF90cnVlKGVudHJpZXNbMV0ubmFtZS5pbmNsdWRlcyhzY3JpcHRS
ZXNvdXJjZXNbMV0pLAorICAgICAgICBzY3JpcHRSZXNvdXJjZXNbMV0gKyAiIGlzIGluIHRoZSBl
bnRyaWVzIGJ1ZmZlciIpOworICB9CisgIGlmIChlbnRyaWVzLmxlbmd0aCA+IDIpIHsKKyAgICBh
c3NlcnRfdHJ1ZShlbnRyaWVzWzJdLm5hbWUuaW5jbHVkZXMoc2NyaXB0UmVzb3VyY2VzWzJdKSwK
KyAgICAgICAgc2NyaXB0UmVzb3VyY2VzWzJdICsgIiBpcyBpbiB0aGUgZW50cmllcyBidWZmZXIi
KTsKKyAgfQorfQorCitjb25zdCBidWZmZXJGdWxsRmlyZVByb21pc2UgPSBuZXcgUHJvbWlzZShy
ZXNvbHZlID0+IHsKKyAgcGVyZm9ybWFuY2UuYWRkRXZlbnRMaXN0ZW5lcigncmVzb3VyY2V0aW1p
bmdidWZmZXJmdWxsJywgYXN5bmMgKCkgPT4geworICAgIC8vIFdhaXQgZm9yIHRoZSBuZXh0IHRh
c2sganVzdCB0byBlbnN1cmUgdGhhdCBhbGwgYnVmZmVyZnVsbCBldmVudHMgaGF2ZSBmaXJlZCwg
YW5kIHRvIGVuc3VyZQorICAgIC8vIHRoYXQgdGhlIHNlY29uZGFyeSBidWZmZXIgaXMgY29waWVk
IChhcyB0aGlzIGlzIGFuIGV2ZW50LCB0aGVyZSBtYXkgYmUgbWljcm90YXNrIGNoZWNrcG9pbnRz
CisgICAgLy8gcmlnaHQgYWZ0ZXIgcnVubmluZyBhbiBldmVudCBoYW5kbGVyKS4KKyAgICBhd2Fp
dCB3YWl0Rm9yTmV4dFRhc2soKTsKKyAgICByZXNvbHZlKCk7CisgIH0pOworfSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvY2FjaGVhYmxlLWFuZC12YWxpZGF0ZWQucHkgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZXMvY2FjaGVhYmxlLWFuZC12YWxpZGF0ZWQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzFmMGUzYWI0MTdhNjkw
NzlmMjA3NDg3NTFiMmQ2YmU5YTdkNTU1MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNl
cy9jYWNoZWFibGUtYW5kLXZhbGlkYXRlZC5weQpAQCAtMCwwICsxLDExIEBACitkZWYgbWFpbihy
ZXF1ZXN0LCByZXNwb25zZSk6CisgICAgcmV2YWxpZGF0aW9uID0gJ0NhY2hlLUNvbnRyb2wnIGlu
IHJlcXVlc3QuaGVhZGVycworICAgIGNvbnRlbnQgPSByZXF1ZXN0LkdFVC5maXJzdChiJ2NvbnRl
bnQnKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGInQ2FjaGUtQ29udHJvbCcsIGInbWF4LWFn
ZT02MCcpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYidFVGFnJywgYidhc3NkZnNkZmUnKQor
ICAgIGlmIHJldmFsaWRhdGlvbjoKKyAgICAgIHJlc3BvbnNlLnN0YXR1cyA9ICgzMDQsIGInTm90
TW9kaWZpZWQnKQorICAgIGVsc2U6CisgICAgICByZXNwb25zZS5zdGF0dXMgPSAoMjAwLCBiJ09L
Jyk7CisgICAgICByZXNwb25zZS53cml0ZV9zdGF0dXNfaGVhZGVycygpCisgICAgICByZXNwb25z
ZS53cml0ZXIud3JpdGUoY29udGVudCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvY29ubmVj
dGlvbi1yZXVzZS10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2Nvbm5lY3Rpb24tcmV1c2UtdGVzdC5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40ZGVmMTZjMGIwZWM5MDQ3ZjZmMjIyMDdiZmUxOTkzMzAyMjk4NjQxCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2Nvbm5lY3Rpb24tcmV1c2UtdGVzdC5qcwpA
QCAtMCwwICsxLDcwIEBACisvLyBUaGlzIHNjcmlwdCBpcyBsb2FkZWQgaW4gSFRUUCBhbmQgSFRU
UFMgY29udGV4dHMgdG8gdmFsaWRhdGUKKy8vIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgZW50
cmllcycgYXR0cmlidXRlcyB3aGVuIHJldXNpbmcgY29ubmVjdGlvbnMuCisKKy8vIE1ha2UgdGhl
IGZpcnN0IHJlcXVlc3QgYmVmb3JlIGNhbGxpbmcgJ2F0dHJpYnV0ZV90ZXN0JyBzbyB0aGF0IG9u
bHkgdGhlCisvLyBzZWNvbmQgcmVxdWVzdCdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgZW50
cnkgd2lsbCBiZSBpbnRlcnJvZ2F0ZWQuCisvLyBXZSBkb24ndCBjaGVjayB0aGUgZmlyc3QgcmVx
dWVzdCdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgZW50cnkgYmVjYXVzZQorLy8gdGhhdCdz
IG5vdCB3aGF0IHRoaXMgdGVzdCBpcyB0cnlpbmcgdG8gdmFsaWRhdGUuCisvLworLy8gTm90ZTog
dG8gZW5zdXJlIHRoYXQgd2UgcmV1c2UgdGhlIGNvbm5lY3Rpb24gdG8gZmV0Y2ggbXVsdGlwbGUg
cmVzb3VyY2VzLAorLy8gd2UgdXNlIHRoZSBzYW1lIFhNTEh0dHBSZXF1ZXN0IG9iamVjdCBmb3Ig
ZWFjaCByZXF1ZXN0LiBBbHRob3VnaCBpdCBkb2Vzbid0CisvLyBzZWVtIHRvIGJlIHNwZWNpZmll
ZCwgZWFjaCBicm93c2VyIHRlc3RlZCBieSBXUFQgd2lsbCByZXVzZSB0aGUgdW5kZXJseWluZwor
Ly8gVENQIGNvbm5lY3Rpb24gd2l0aCB0aGlzIGFwcHJvYWNoLiBQcmUtZXN0YWJsaXNoaW5nIHRo
ZSBYSFIncyBjb25uZWN0aW9uCisvLyBoZWxwcyB1cyB0byB0ZXN0IGNvbm5lY3Rpb24gcmV1c2Ug
YWxzbyBpbiBicm93c2VycyB0aGF0IG1heSBrZXkgdGhlaXIKKy8vIGNvbm5lY3Rpb25zIG9uIHRo
ZSByZWxhdGVkIHJlcXVlc3QncyBjcmVkZW50aWFscyBtb2RlLgorY29uc3QgY2xpZW50ID0gbmV3
IFhNTEh0dHBSZXF1ZXN0KCk7Citjb25zdCBpZGVudGlmaWVyID0gTWF0aC5yYW5kb20oKTsKK2Nv
bnN0IHBhdGggPSBgcmVzb3VyY2VzL2Zha2VfcmVzcG9uc2VzLnB5P3RhZz0ke2lkZW50aWZpZXJ9
YDsKK2NsaWVudC5vcGVuKCJHRVQiLCBwYXRoLCBmYWxzZSk7CitjbGllbnQuc2VuZCgpOworCith
dHRyaWJ1dGVfdGVzdCgKKyAgYXN5bmMgKCkgPT4geworICAgIGNsaWVudC5vcGVuKCJHRVQiLCBw
YXRoICsgIiZzYW1lX3Jlc291cmNlPWZhbHNlIiwgZmFsc2UpOworICAgIGNsaWVudC5zZW5kKCk7
CisKKyAgICAvLyBXZSBleHBlY3QgdG8gZ2V0IGEgMjAwIE9rIHJlc3BvbnNlIGJlY2F1c2Ugd2Un
dmUgcmVxdWVzdGVkIGEgZGlmZmVyZW50CisgICAgLy8gcmVzb3VyY2UgdGhhbiBwcmV2aW91cyBy
ZXF1ZXN0cy4KKyAgICBpZiAoY2xpZW50LnN0YXR1cyAhPSAyMDApIHsKKyAgICAgIHRocm93IG5l
dyBFcnJvcihgR290IHNvbWV0aGluZyBvdGhlciB0aGFuIGEgMjAwIHJlc3BvbnNlLiBgICsKKyAg
ICAgICAgICAgICAgICAgICAgICBgY2xpZW50LnN0YXR1czogJHtjbGllbnQuc3RhdHVzfWApOwor
ICAgIH0KKyAgfSwgcGF0aCwgZW50cnkgPT4geworICAgIGludmFyaWFudHMuYXNzZXJ0X2Nvbm5l
Y3Rpb25fcmV1c2VkKGVudHJ5KTsKKworICAgIC8vIFRoZSBlbnRyeSBtdXN0IGFsc28gZm9sbG93
IHRoZSBzcGVjaWZpY2F0aW9uIGZvciBhbnkgZW50cnkgY29ycmVzcG9uZGluZworICAgIC8vIHRv
IGEgJ3R5cGljYWwnIDIwMCBPayByZXNwb25zZS4KKyAgICBpZiAoc2VsZi5sb2NhdGlvbi5wcm90
b2NvbCA9PSAnaHR0cHM6JykgeworICAgICAgaW52YXJpYW50cy5hc3NlcnRfdGFvX3Bhc3Nfbm9f
cmVkaXJlY3RfaHR0cHMoZW50cnkpOworICAgIH0gZWxzZSB7CisgICAgICBpbnZhcmlhbnRzLmFz
c2VydF90YW9fcGFzc19ub19yZWRpcmVjdF9odHRwKGVudHJ5KTsKKyAgICB9CisgIH0sCisgICJQ
ZXJmb3JtYW5jZVJlc3JvdWNlVGltaW5nIGVudHJpZXMgbmVlZCB0byBjb25mb3JtIHRvIHRoZSBz
cGVjIHdoZW4gYSAiICsKKyAgImRpc3RpbmN0IHJlc291cmNlIGlzIGZldGNoZWQgb3ZlciBhIHBl
cnNpc3RlbnQgY29ubmVjdGlvbiIpOworCithdHRyaWJ1dGVfdGVzdCgKKyAgYXN5bmMgKCkgPT4g
eworICAgIGNsaWVudC5vcGVuKCJHRVQiLCBwYXRoLCBmYWxzZSk7CisgICAgY2xpZW50LnNldFJl
cXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLCBpZGVudGlmaWVyKTsKKyAgICBjbGllbnQuc2Vu
ZCgpOworCisgICAgLy8gV2UgZXhwZWN0IHRvIGdldCBhIDMwNCBOb3QgTW9kaWZpZWQgcmVzcG9u
c2UgYmVjYXVzZSB3ZSd2ZSB1c2VkIGEKKyAgICAvLyBtYXRjaGluZyAnaWRlbnRpZmllcicgZm9y
IHRoZSBJZi1Ob25lLU1hdGNoIGhlYWRlci4KKyAgICBpZiAoY2xpZW50LnN0YXR1cyAhPSAzMDQp
IHsKKyAgICAgIHRocm93IG5ldyBFcnJvcihgR290IHNvbWV0aGluZyBvdGhlciB0aGFuIGEgMzA0
IHJlc3BvbnNlLiBgICsKKyAgICAgICAgICAgICAgICAgICAgICBgY2xpZW50LnN0YXR1czogJHtj
bGllbnQuc3RhdHVzfWApOworICAgIH0KKyAgfSwgcGF0aCwgZW50cnkgPT4geworICAgIGludmFy
aWFudHMuYXNzZXJ0X2Nvbm5lY3Rpb25fcmV1c2VkKGVudHJ5KTsKKworICAgIC8vIFRoZSBlbnRy
eSBtdXN0IGFsc28gZm9sbG93IHRoZSBzcGVjaWZpY2F0aW9uIGZvciBhbnkgZW50cnkgY29ycmVz
cG9uZGluZworICAgIC8vIHRvIGEgJ3R5cGljYWwnIDMwNCBOb3QgTW9kaWZpZWQgcmVzcG9uc2Uu
CisgICAgaWYgKHNlbGYubG9jYXRpb24ucHJvdG9jb2wgPT0gJ2h0dHBzOicpIHsKKyAgICAgIGlu
dmFyaWFudHMuYXNzZXJ0X3Rhb19wYXNzXzMwNF9ub3RfbW9kaWZpZWRfaHR0cHMoZW50cnkpOwor
ICAgIH0gZWxzZSB7CisgICAgICBpbnZhcmlhbnRzLmFzc2VydF90YW9fcGFzc18zMDRfbm90X21v
ZGlmaWVkX2h0dHAoZW50cnkpOworICAgIH0KKyAgfSwKKyAgIlBlcmZvcm1hbmNlUmVzcm91Y2VU
aW1pbmcgZW50cmllcyBuZWVkIHRvIGNvbmZvcm0gdG8gdGhlIHNwZWMgd2hlbiB0aGUgIiArCisg
ICJyZXNvdXJjZSBpcyBjYWNoZS1yZXZhbGlkYXRlZCBvdmVyIGEgcGVyc2lzdGVudCBjb25uZWN0
aW9uIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvY3NwLWRlZmF1bHQtbm9uZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VzL2NzcC1kZWZhdWx0LW5vbmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZjU5ZDhjMjI1
MGY3ZjE3ZjE0Mzg4N2RjNGY4ZTY4Y2RmN2ZhYTgzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVz
b3VyY2VzL2NzcC1kZWZhdWx0LW5vbmUuaHRtbApAQCAtMCwwICsxLDMgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPmVtcHR5IHBhZ2U8L3RpdGxlPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NzcC1kZWZhdWx0LW5vbmUuaHRtbC5oZWFkZXJzIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VzL2NzcC1kZWZhdWx0LW5vbmUuaHRtbC5oZWFkZXJzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2
NmY4ODZkZDIzZDQ0YmIzMzc1MGNiNTcyM2YzZWRiNmI3OTMwYWIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvY3NwLWRlZmF1bHQtbm9uZS5odG1sLmhlYWRlcnMKQEAgLTAsMCArMSwy
IEBACitDb250ZW50LVNlY3VyaXR5LVBvbGljeTogZGVmYXVsdC1zcmMgJ25vbmUnCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy9kb2N1bWVudC1kb21haW4tbm8taW1wYWN0Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY0Y2Rk
OGE4NzAxZWI0ZDc0OWYxMTJhZDQwMTVkNGU1Nzc5Yjc3YjEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9yZXNvdXJjZXMvZG9jdW1lbnQtZG9tYWluLW5vLWltcGFjdC5odG1sCkBAIC0wLDAgKzEsMjgg
QEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZS1sb2FkZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJl
bnRyeS1pbnZhcmlhbnRzLmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHNjcmlwdD4KK2NvbnN0IHBh
dGggPSBsb2NhdGlvbi5vcmlnaW4gKworICAgICAgICAgICAgICIvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlcy9pZnJhbWUtc2V0ZG9tYWluLnN1Yi5odG1sIjsKK2F0dHJpYnV0ZV90ZXN0X3dpdGhf
dmFsaWRhdG9yKGxvYWQuaWZyYW1lLCBwYXRoLAorICBlbCA9PiB7CisgICAgdHJ5IHsKKyAgICAg
IGVsLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7CisgICAgICB0aHJvdyBuZXcgRXJyb3IoImlmcmFt
ZSBkb2N1bWVudC5kb21haW4gd2FzIG5vdCBzZXQiKTsKKyAgICB9IGNhdGNoKGVycm9yKSB7Cisg
ICAgICBpZiAoZXJyb3IubmFtZSAhPSAiU2VjdXJpdHlFcnJvciIpIHsKKyAgICAgICAgdGhyb3co
ZXJyb3IpOworICAgICAgfQorICAgIH0KKyAgfSwKKyAgaW52YXJpYW50cy5hc3NlcnRfdGFvX3Bh
c3Nfbm9fcmVkaXJlY3RfaHR0cCwKKyAgInRlc3QgdGhhdCBkb2N1bWVudC5kb21haW4gYmVpbmcg
c2V0IGRvZXNuJ3QgaGF2ZSBhbiBpbXBhY3Qgb24gdGhlICIgKworICAicmVzb3VyY2UgdGltaW5n
IGVudHJ5LiIKKyk7Cis8L3NjcmlwdD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2RvY3Vt
ZW50LXJlZnJlc2hlZC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2RvY3VtZW50LXJlZnJlc2hlZC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjdlNGNhMDk4OTFlZDM1ZTI0NGIxNTE1MWEyYTYwNzdhZjc0ZTg2NWYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZG9jdW1lbnQtcmVmcmVzaGVkLmh0bWwKQEAg
LTAsMCArMSwxMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hh
cnNldD0idXRmLTgiIC8+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICBSZWZyZXNoZWQgZG9jdW1lbnQh
Cis8c2NyaXB0PgorICAgIHRvcC5wb3N0TWVzc2FnZSgicmVmcmVzaGVkIiwgIioiKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2RvY3VtZW50
LXRoYXQtcmVmcmVzaGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZG9jdW1lbnQtdGhhdC1yZWZyZXNo
ZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43NTUyMjc4MmE2MmRiZTNiOThiMmYxYTA5YzViYWJjNzA2M2I3
NTEwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2RvY3VtZW50LXRoYXQtcmVmcmVz
aGVzLmh0bWwKQEAgLTAsMCArMSw4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzxtZXRhIGh0dHAtZXF1aXY9InJlZnJlc2giIGNv
bnRlbnQ9IjA7ZG9jdW1lbnQtcmVmcmVzaGVkLmh0bWwiPgorPC9oZWFkPgorPGJvZHk+PC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2VtYmVkLXJlZnJlc2guaHRtbCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3Jlc291cmNlcy9lbWJlZC1yZWZyZXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGE0OWZkMGI0YzFi
NTRjMGYwMzIwMGY3ZWQyY2IyYWUyNzIzOTc4OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy9lbWJlZC1yZWZyZXNoLmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+Cis8dGl0bGU+UmVzb3Vy
Y2UgVGltaW5nIGVtYmVkIHJlZnJlc2g8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0
LWhvc3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Im5lc3RlZC1jb250ZXh0
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorICAgIHNldHVwX3JlZnJlc2hfdGVzdCgpOworPC9z
Y3JpcHQ+Cis8ZGl2IGlkPWxvZz48L2Rpdj4KKzxlbWJlZCB0eXBlPSJ0ZXh0L2h0bWwiPgorPHNj
cmlwdD4KKyAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiZW1iZWQiKVswXS5zcmMg
PSBwcmVfcmVmcmVzaF91cmw7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9n
cmVlbi1mcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2dyZWVuLWZyYW1lLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOTYxMzI0MGFlMzg3ODlhMTA0ZDc3ZDU2Zjg5MGZmNjI0MjA5MzRiMAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi1mcmFtZS5odG1sCkBAIC0wLDAgKzEsNyBAQAorPGh0
bWw+CisgIDxoZWFkPgorICAgIDxmcmFtZXNldD4KKyAgICAgIDxmcmFtZSBzcmM9ImdyZWVuLmh0
bWw/aWQ9ZnJhbWUiPgorICAgIDwvZnJhbWVzZXQ+CisgIDwvaGVhZD4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2dyZWVuLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYjhhMTk0N2I3N2UyNWFjNmIwZDEwMGM3NTkzMmU4YzBhNjdkODQ2ZgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi5odG1sCkBAIC0wLDAgKzEsMTAgQEAK
KzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGNvbnRl
bnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiAv
PgorICAgICAgICA8dGl0bGU+R3JlZW4gVGVzdCBQYWdlPC90aXRsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPGJvZHkgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IzAwRkYwMDsiPgorICAgICAgICA8aDE+
UGxhY2Vob2xkZXI8L2gxPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlcy9ncmVlbi5odG1sLmhlYWRlcnMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4uaHRtbC5oZWFk
ZXJzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmNiNzYyZWZmODA2ODQ5ZGY0NmRjNzU4ZWY3Yjk4YjYzZjI3ZjU0YzkK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3JlZW4uaHRtbC5oZWFkZXJzCkBAIC0w
LDAgKzEgQEAKK0FjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbjogKgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL2d6aXBfeG1sLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2d6aXBfeG1sLnB5CmluZGV4IDIy
OTM2MDVhYzMzYTRkMzU3YTQyNmNkZTEzOWJiN2Q0NGU0ZTBjYjMuLjdkZWJjOWNlM2Y2Y2IwNjFi
ZThjYTM3YjczZmNmOWYyYTUzOTYzODkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9nemlwX3ht
bC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9yZXNvdXJjZXMvZ3ppcF94bWwucHkKQEAgLTEsNyArMSw3IEBACiBpbXBv
cnQgZ3ppcCBhcyBnemlwX21vZHVsZQogaW1wb3J0IG9zCiAKLWZyb20gc2l4IGltcG9ydCBCeXRl
c0lPCitmcm9tIGlvIGltcG9ydCBCeXRlc0lPCiAKIGZyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0
IGlzb21vcnBoaWNfZGVjb2RlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9pZnJhbWUtcmVm
cmVzaC5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9y
ZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2lmcmFtZS1yZWZyZXNoLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NGNlM2VhMDQyNDI5N2FjN2E4NjY0ZmM3ZjdhNmRjYmZmNjRkNmYxNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL3Jlc291cmNlcy9pZnJhbWUtcmVmcmVzaC5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04IiAvPgor
PHRpdGxlPlJlc291cmNlIFRpbWluZyBpZnJhbWUgcmVmcmVzaDwvdGl0bGU+Cis8c2NyaXB0IHNy
Yz0iL2NvbW1vbi9nZXQtaG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
bmVzdGVkLWNvbnRleHRzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisgICAgc2V0dXBfcmVmcmVz
aF90ZXN0KCk7Cis8L3NjcmlwdD4KKzxkaXYgaWQ9bG9nPjwvZGl2PgorPGlmcmFtZT48L2lmcmFt
ZT4KKzxzY3JpcHQ+CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlmcmFtZSIp
WzBdLnNyYyA9IHByZV9yZWZyZXNoX3VybDsKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVz
b3VyY2VzL2lmcmFtZS1yZWxvYWQtVEFPLnN1Yi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2lmcmFtZS1y
ZWxvYWQtVEFPLnN1Yi5odG1sCmluZGV4IDI1NjgwMjZlNjRlZGI4NGU1NzRlNWMxYjA2ZjMyM2Ni
MzU4OWI5OTIuLjU3N2FmZjc3NThjNzc5ODkzZjAxMDY1OGQyMTZmMzQ4MDJhNGVkZmUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy9pZnJhbWUtcmVsb2FkLVRBTy5zdWIuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvaWZyYW1lLXJlbG9hZC1UQU8uc3ViLmh0bWwKQEAgLTEsMTQgKzEsMTQgQEAKIDxz
dHlsZT4KIEBmb250LWZhY2UgewogICAgIGZvbnQtZmFtaWx5OiBhaGVtOwotICAgIHNyYzogdXJs
KGh0dHA6Ly97e2hvc3RzW2FsdF1bXX19Ont7cG9ydHNbaHR0cF1bMV19fS9yZXNvdXJjZS10aW1p
bmcvcmVzb3VyY2VzL2NvcnMtYWhlbS5weSk7CisgICAgc3JjOiB1cmwoaHR0cDovL3t7ZG9tYWlu
c1t3d3ddfX06e3twb3J0c1todHRwXVsxXX19L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvY29y
cy1haGVtLnB5KTsKIH0KIDwvc3R5bGU+CiA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogYWhlbTsi
PlRoaXMgZmV0Y2hlcyBhaGVtIGZvbnQuPC9kaXY+CiA8c2NyaXB0PgogICBpZiAobG9jYXRpb24u
aGFzaCA9PT0gJyNjaGVjaycpIHsKICAgICAgIGRvY3VtZW50LmZvbnRzLnJlYWR5LnRoZW4oKCk9
PiB7Ci0gICAgICAgIGNvbnN0IGVudHJpZXMgPSBwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1l
KCdodHRwOi8ve3tob3N0c1thbHRdW119fTp7e3BvcnRzW2h0dHBdWzFdfX0vcmVzb3VyY2UtdGlt
aW5nL3Jlc291cmNlcy9jb3JzLWFoZW0ucHknKTsKKyAgICAgICAgY29uc3QgZW50cmllcyA9IHBl
cmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoJ2h0dHA6Ly97e2RvbWFpbnNbd3d3XX19Ont7cG9y
dHNbaHR0cF1bMV19fS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL2NvcnMtYWhlbS5weScpOwog
ICAgICAgICBpZiAoZW50cmllcy5sZW5ndGggIT0gMSkKICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIGNvbnN0IGVudHJ5ID0gZW50cmllc1swXTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9t
dWx0aV9yZWRpcmVjdC5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9tdWx0aV9yZWRpcmVjdC5weQppbmRleCA1
NmY1ZDZjNzcxNTNhNTU5OGFlZTBjNjc5NWZiOTA5YzNmZGNkZGJmLi5hNWZjNWRiNGFjOTAxNTkx
NDkwOGJhMmNjZWVjMTg5ZjlkMzI3NGQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvbXVsdGlf
cmVkaXJlY3QucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRpX3JlZGlyZWN0LnB5CkBAIC0xLDMg
KzEsNCBAQAoraW1wb3J0IHVybGxpYi5wYXJzZQogZnJvbSB3cHRzZXJ2ZS51dGlscyBpbXBvcnQg
aXNvbW9ycGhpY19lbmNvZGUKIAogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgpAQCAtMzcs
NyArMzgsNyBAQCBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CiAgICAgcmVkaXJlY3RfdXJs
X3BhdGggPSBiIi9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL211bHRpX3JlZGlyZWN0LnB5PyIK
ICAgICByZWRpcmVjdF91cmxfcGF0aCArPSBiInBhZ2Vfb3JpZ2luPSIgKyBwYWdlX29yaWdpbgog
ICAgIHJlZGlyZWN0X3VybF9wYXRoICs9IGIiJmNyb3NzX29yaWdpbj0iICsgY3Jvc3Nfb3JpZ2lu
Ci0gICAgcmVkaXJlY3RfdXJsX3BhdGggKz0gYiImZmluYWxfcmVzb3VyY2U9IiArIGZpbmFsX3Jl
c291cmNlCisgICAgcmVkaXJlY3RfdXJsX3BhdGggKz0gYiImZmluYWxfcmVzb3VyY2U9IiArIHVy
bGxpYi5wYXJzZS5xdW90ZShmaW5hbF9yZXNvdXJjZSkuZW5jb2RlKCdhc2NpaScpCiAgICAgcmVk
aXJlY3RfdXJsX3BhdGggKz0gYiImdGFvX3ZhbHVlPSIgKyB0YW9fdmFsdWUKICAgICByZWRpcmVj
dF91cmxfcGF0aCArPSBiIiZ0YW9fc3RlcHM9IiArIGlzb21vcnBoaWNfZW5jb2RlKHN0cihuZXh0
X3Rhb19zdGVwcykpCiAgICAgcmVkaXJlY3RfdXJsX3BhdGggKz0gYiImc3RlcD0iCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9yZXNvdXJjZXMvb2JqZWN0LXJlZnJlc2guaHRtbCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9vYmpl
Y3QtcmVmcmVzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjllNDNlMTlkZTE5ZmM3YzM2NGU2OGUwYjI0MTU5
NjNmNTVlOWRkYjIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvb2JqZWN0LXJlZnJl
c2guaHRtbApAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCIgLz4KKzx0aXRsZT5SZXNvdXJjZSBUaW1pbmcgb2JqZWN0
IHJlZnJlc2g8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhvc3QtaW5mby5zdWIu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Im5lc3RlZC1jb250ZXh0cy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0PgorICAgIHNldHVwX3JlZnJlc2hfdGVzdCgpOworPC9zY3JpcHQ+Cis8ZGl2IGlk
PWxvZz48L2Rpdj4KKzxvYmplY3QgdHlwZT0idGV4dC9odG1sIj48L29iamVjdD4KKzxzY3JpcHQ+
CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIm9iamVjdCIpWzBdLmRhdGEgPSBw
cmVfcmVmcmVzaF91cmw7Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9yZWRp
cmVjdC1jb3JzLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3JlZGlyZWN0LWNvcnMucHkKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZWE2N2NiOGU3YWM0ZTYxMDQ1ZDA1YWY1MWYwNjZkYjQ4YmZkZjEwMQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL3Jlc291cmNlcy9yZWRpcmVjdC1jb3JzLnB5CkBAIC0wLDAgKzEsMTAgQEAKK2RlZiBt
YWluKHJlcXVlc3QsIHJlc3BvbnNlKToKKyAgICBsb2NhdGlvbiA9IHJlcXVlc3QuR0VULmZpcnN0
KGIibG9jYXRpb24iKQorICAgIHJlc3BvbnNlLnN0YXR1cyA9IDMwMgorICAgIHJlc3BvbnNlLmhl
YWRlcnMuc2V0KGIiTG9jYXRpb24iLCBsb2NhdGlvbikKKworICAgIGlmIGIiYWxsb3dfb3JpZ2lu
IiBpbiByZXF1ZXN0LkdFVDoKKyAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3Mt
Q29udHJvbC1BbGxvdy1PcmlnaW4iLCByZXF1ZXN0LkdFVC5maXJzdChiImFsbG93X29yaWdpbiIp
KQorCisgICAgaWYgYiJ0aW1pbmdfYWxsb3dfb3JpZ2luIiBpbiByZXF1ZXN0LkdFVDoKKyAgICAg
ICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJUaW1pbmctQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5H
RVQuZmlyc3QoYiJ0aW1pbmdfYWxsb3dfb3JpZ2luIikpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJj
ZXMvcmVzb3VyY2UtdGltaW5nLWNvbnRlbnQtbGVuZ3RoLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3Jlc291
cmNlLXRpbWluZy1jb250ZW50LWxlbmd0aC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZGJjZTA0N2I3MmVmMDU5
NzZkNTI5NmVhMzg5NjFlMjA1YTBmMDRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vz
L3Jlc291cmNlLXRpbWluZy1jb250ZW50LWxlbmd0aC5weQpAQCAtMCwwICsxLDE5IEBACitkZWYg
bWFpbihyZXF1ZXN0LCByZXNwb25zZSk6CisgICAgY29udGVudCA9IHJlcXVlc3QuR0VULmZpcnN0
KGIiY29udGVudCIpCisgICAgbGVuZ3RoID0gcmVxdWVzdC5HRVQuZmlyc3QoYiJsZW5ndGgiKS5k
ZWNvZGUoImFzY2lpIikKKyAgICByZXNwb25zZS5hZGRfcmVxdWlyZWRfaGVhZGVycyA9IEZhbHNl
CisKKyAgICBvdXRwdXQgPSAgYiJIVFRQLzEuMSAyMDAgT0tcclxuIgorICAgIG91dHB1dCArPSBi
IkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjtjaGFyc2V0PVVURi04XHJcbiIKKyAgICBpZiBsZW5n
dGggPT0gYiJhdXRvIiA6CisgICAgICAgIG91dHB1dCArPSBiIkNvbnRlbnQtTGVuZ3RoOiIKKyAg
ICAgICAgb3V0cHV0ICs9ICJ7MH0iLmZvcm1hdChsZW4oY29udGVudCkpLmVuY29kZSgiYXNjaWki
KQorICAgICAgICBvdXRwdXQgKz0gYiJcclxuIgorICAgIGVsaWYgbGVuZ3RoICE9IGIibm9uZSIg
OgorICAgICAgICBvdXRwdXQgKz0gYiJDb250ZW50LUxlbmd0aDoiCisgICAgICAgIG91dHB1dCAr
PSAiezB9Ii5mb3JtYXQobGVuZ3RoKS5lbmNvZGUoImFzY2lpIikKKyAgICAgICAgb3V0cHV0ICs9
IGIiXHJcbiIKKyAgICBvdXRwdXQgKz0gYiJcclxuIgorICAgIG91dHB1dCArPSBjb250ZW50Cisg
ICAgcmVzcG9uc2Uud3JpdGVyLndyaXRlKG91dHB1dCkKKyAgICByZXNwb25zZS5jbG9zZV9jb25u
ZWN0aW9uID0gVHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3Jlc291cmNlX3RpbWluZ190
ZXN0MC54bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVzb3VyY2VfdGltaW5nX3Rlc3QwLnhtbAppbmRleCBh
ZGY2MDFjOGExNDlhYjYzZDRhY2I4MjcxYWU5MjVjNjI4Yzc3NThiLi45MWNkNjc2YmU2ZTZmMWFl
MmJhYjNkYzFhMDA1M2RhNDkyYjQzNTE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVzb3Vy
Y2VfdGltaW5nX3Rlc3QwLnhtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvcmVzb3VyY2VfdGltaW5nX3Rl
c3QwLnhtbApAQCAtMSw2ICsxLDYgQEAKIDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IklT
Ty04ODU5LTEiPz4KIDxURVNUREFUQT4KICAgICA8SVRFTT4KLSAgICAgICAgPERBVEE+VGVzdCBY
TUwgRGF0YTwvZGF0YT4KLSAgICA8L2l0ZW0+Ci08L3Rlc3RkYXRhPgorICAgICAgICA8REFUQT5U
ZXN0IFhNTCBEYXRhPC9EQVRBPgorICAgIDwvSVRFTT4KKzwvVEVTVERBVEE+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9yZXNvdXJjZXMvc2l6ZXMtaGVscGVyLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3NpemVzLWhlbHBl
ci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44NjMzNjY4NmIzMjkwMmVjMWMxMjNiMGY1NWZmNjdlOWFiYTQzMDYy
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2VzL3NpemVzLWhlbHBlci5qcwpAQCAtMCww
ICsxLDE2IEBACisvLyBIZWFkZXIgc2l6ZSBpcyBhIGZpeGVkIGNvbnN0YW50LgorLy8gaHR0cHM6
Ly93M2MuZ2l0aHViLmlvL3Jlc291cmNlLXRpbWluZy8jZG9tLXBlcmZvcm1hbmNlcmVzb3VyY2V0
aW1pbmctdHJhbnNmZXJzaXplCitjb25zdCBoZWFkZXJTaXplID0gMzAwOworCitjb25zdCBjYWNo
ZUJ1c3RVcmwgPSB1cmwgPT4geworICByZXR1cm4gdXJsICsgJyZ1bmlxdWU9JyArIE1hdGgucmFu
ZG9tKCkudG9TdHJpbmcoKS5zdWJzdHJpbmcoMik7Cit9CisKK2NvbnN0IGNoZWNrU2l6ZUZpZWxk
cyA9IChlbnRyeSwgYm9keVNpemUsIHRyYW5zZmVyU2l6ZSkgPT4geworICBhc3NlcnRfZXF1YWxz
KGVudHJ5LmRlY29kZWRCb2R5U2l6ZSwgYm9keVNpemUsCisgICAgICAgICAgICAgICAgJ2RlY29k
ZWRCb2R5U2l6ZScpOworICBhc3NlcnRfZXF1YWxzKGVudHJ5LmVuY29kZWRCb2R5U2l6ZSwgYm9k
eVNpemUsCisgICAgICAgICAgICAgICAgJ2VuY29kZWRCb2R5U2l6ZScpOworICBhc3NlcnRfZXF1
YWxzKGVudHJ5LnRyYW5zZmVyU2l6ZSwgdHJhbnNmZXJTaXplLAorICAgICAgICAgICAgICAgICd0
cmFuc2ZlclNpemUnKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9zdGF0dXMtY29kZS5w
eSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL3Jlc291cmNlcy9zdGF0dXMtY29kZS5weQppbmRleCA5YmMwMmJkMzQ2NzllZGQ2M2Yw
MGRjNDYxMGM0ODViOGQxMGNhNmQzLi43MjIyMmIzOWU0ODU3NGM2NjYwNTJiMmJiNGQ3MDI5ZmQ2
YmE1MjZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvc3RhdHVzLWNvZGUucHkKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
cmVzb3VyY2VzL3N0YXR1cy1jb2RlLnB5CkBAIC0xLDQgKzEsNiBAQAogZGVmIG1haW4ocmVxdWVz
dCwgcmVzcG9uc2UpOgogICAgIHN0YXR1cyA9IHJlcXVlc3QuR0VULmZpcnN0KGInc3RhdHVzJykK
ICAgICByZXNwb25zZS5zdGF0dXMgPSAoc3RhdHVzLCBiIiIpOworICAgIGlmIGIndGFvX3ZhbHVl
JyBpbiByZXF1ZXN0LkdFVDoKKyAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIndGltaW5nLWFs
bG93LW9yaWdpbicsIHJlcXVlc3QuR0VULmZpcnN0KGIndGFvX3ZhbHVlJykpCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2Ut
dGltaW5nL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvd2Vi
cGVyZnRlc3RoYXJuZXNzLmpzCmluZGV4IDhlMDRlNTJmOWM1N2ZhZmI2YTU5OWRhM2ExOTYzYWE2
ZWQ1NDVlNmYuLjg2OWVmM2Q3NGY3N2I1ODVlMTRhZmMwMGE4ZGM5MGJlMDlkYjk3MGEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy93ZWJwZXJmdGVzdGhhcm5lc3MuanMKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2VzL3dlYnBlcmZ0ZXN0aGFybmVzcy5qcwpAQCAtNjIsMjYgKzYyLDI2IEBAIGZ1bmN0aW9uIHRl
c3RfbmFtZXNwYWNlKGNoaWxkX25hbWUsIHNraXBfcm9vdCkKICAgICBpZiAoc2tpcF9yb290ID09
PSB1bmRlZmluZWQpIHsKICAgICAgICAgdmFyIG1zZyA9ICd3aW5kb3cucGVyZm9ybWFuY2UgaXMg
ZGVmaW5lZCc7CiAgICAgICAgIC8vIFRoZSB3aW5kb3cucGVyZm9ybWFuY2UgYXR0cmlidXRlIHBy
b3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxhdGVkIGF0dHJpYnV0ZXMu
Ci0gICAgICAgIHdwX3Rlc3QoZnVuY3Rpb24gKCkgeyBhc3NlcnRfdHJ1ZShwZXJmb3JtYW5jZU5h
bWVzcGFjZSAhPT0gdW5kZWZpbmVkLCBtc2cpOyB9LCBtc2cpOworICAgICAgICB3cF90ZXN0KGZ1
bmN0aW9uICgpIHsgYXNzZXJ0X25vdF9lcXVhbHMocGVyZm9ybWFuY2VOYW1lc3BhY2UsIHVuZGVm
aW5lZCwgbXNnKTsgfSwgbXNnKTsKICAgICB9CiAKICAgICBpZiAoY2hpbGRfbmFtZSAhPT0gdW5k
ZWZpbmVkKSB7CiAgICAgICAgIHZhciBtc2cyID0gJ3dpbmRvdy5wZXJmb3JtYW5jZS4nICsgY2hp
bGRfbmFtZSArICcgaXMgZGVmaW5lZCc7CiAgICAgICAgIC8vIFRoZSB3aW5kb3cucGVyZm9ybWFu
Y2UgYXR0cmlidXRlIHByb3ZpZGVzIGEgaG9zdGluZyBhcmVhIGZvciBwZXJmb3JtYW5jZSByZWxh
dGVkIGF0dHJpYnV0ZXMuCi0gICAgICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF90cnVl
KHBlcmZvcm1hbmNlTmFtZXNwYWNlW2NoaWxkX25hbWVdICE9PSB1bmRlZmluZWQsIG1zZzIpOyB9
LCBtc2cyKTsKKyAgICAgICAgd3BfdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X25vdF9lcXVhbHMo
cGVyZm9ybWFuY2VOYW1lc3BhY2VbY2hpbGRfbmFtZV0sIHVuZGVmaW5lZCwgbXNnMik7IH0sIG1z
ZzIpOwogICAgIH0KIH0KIAogZnVuY3Rpb24gdGVzdF9hdHRyaWJ1dGVfZXhpc3RzKHBhcmVudF9u
YW1lLCBhdHRyaWJ1dGVfbmFtZSwgcHJvcGVydGllcykKIHsKICAgICB2YXIgbXNnID0gJ3dpbmRv
dy5wZXJmb3JtYW5jZS4nICsgcGFyZW50X25hbWUgKyAnLicgKyBhdHRyaWJ1dGVfbmFtZSArICcg
aXMgZGVmaW5lZC4nOwotICAgIHdwX3Rlc3QoZnVuY3Rpb24oKSB7IGFzc2VydF90cnVlKHBlcmZv
cm1hbmNlTmFtZXNwYWNlW3BhcmVudF9uYW1lXVthdHRyaWJ1dGVfbmFtZV0gIT09IHVuZGVmaW5l
ZCwgbXNnKTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKKyAgICB3cF90ZXN0KGZ1bmN0aW9uKCkgeyBh
c3NlcnRfbm90X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZVtwYXJlbnRfbmFtZV1bYXR0cmli
dXRlX25hbWVdLCB1bmRlZmluZWQsIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7CiB9CiAKIGZ1
bmN0aW9uIHRlc3RfZW51bShwYXJlbnRfbmFtZSwgZW51bV9uYW1lLCB2YWx1ZSwgcHJvcGVydGll
cykKIHsKICAgICB2YXIgbXNnID0gJ3dpbmRvdy5wZXJmb3JtYW5jZS4nICsgcGFyZW50X25hbWUg
KyAnLicgKyBlbnVtX25hbWUgKyAnIGlzIGRlZmluZWQuJzsKLSAgICB3cF90ZXN0KGZ1bmN0aW9u
KCkgeyBhc3NlcnRfdHJ1ZShwZXJmb3JtYW5jZU5hbWVzcGFjZVtwYXJlbnRfbmFtZV1bZW51bV9u
YW1lXSAhPT0gdW5kZWZpbmVkLCBtc2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOworICAgIHdwX3Rl
c3QoZnVuY3Rpb24oKSB7IGFzc2VydF9ub3RfZXF1YWxzKHBlcmZvcm1hbmNlTmFtZXNwYWNlW3Bh
cmVudF9uYW1lXVtlbnVtX25hbWVdLCB1bmRlZmluZWQsIG1zZyk7IH0sIG1zZywgcHJvcGVydGll
cyk7CiAKICAgICBtc2cgPSAnd2luZG93LnBlcmZvcm1hbmNlLicgKyBwYXJlbnRfbmFtZSArICcu
JyArIGVudW1fbmFtZSArICcgPSAnICsgdmFsdWU7CiAgICAgd3BfdGVzdChmdW5jdGlvbigpIHsg
YXNzZXJ0X2VxdWFscyhwZXJmb3JtYW5jZU5hbWVzcGFjZVtwYXJlbnRfbmFtZV1bZW51bV9uYW1l
XSwgdmFsdWUsIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7CkBAIC0xNDgsNyArMTQ4LDcgQEAg
ZnVuY3Rpb24gdGVzdF9ncmVhdGVyX29yX2VxdWFscyh2YWx1ZSwgZ3JlYXRlcl90aGFuLCBtc2cs
IHByb3BlcnRpZXMpCiAKIGZ1bmN0aW9uIHRlc3Rfbm90X2VxdWFscyh2YWx1ZSwgbm90ZXF1YWxz
LCBtc2csIHByb3BlcnRpZXMpCiB7Ci0gICAgd3BfdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X3Ry
dWUodmFsdWUgIT09IG5vdGVxdWFscywgbXNnKTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKKyAgICB3
cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfbm90X2VxdWFscyh2YWx1ZSwgbm90ZXF1YWxzLCBt
c2cpOyB9LCBtc2csIHByb3BlcnRpZXMpOwogfQogCiBmdW5jdGlvbiB0ZXN0X3Rhb19wYXNzKGVu
dHJ5KSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvd2VicGVyZnRlc3RoYXJuZXNzZXh0ZW5z
aW9uLmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvcmVzb3VyY2VzL3dlYnBlcmZ0ZXN0aGFybmVzc2V4dGVuc2lvbi5qcwppbmRl
eCA4YmM3NGJmODExZTkxNmYzYTgxMWQ0NmRlZTM2MzJjOTcwYzA1YmU2Li5kYzAyYzA3NWIzZDA3
ZjdjNTcxNjRmMGVjMjRjMzJhZGI3NmMwZGUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvd2Vi
cGVyZnRlc3RoYXJuZXNzZXh0ZW5zaW9uLmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy93ZWJwZXJmdGVz
dGhhcm5lc3NleHRlbnNpb24uanMKQEAgLTEsMTIgKzEsNiBAQAotLyoKLURpc3RyaWJ1dGVkIHVu
ZGVyIGJvdGggdGhlIFczQyBUZXN0IFN1aXRlIExpY2Vuc2UgWzFdIGFuZCB0aGUgVzNDCi0zLWNs
YXVzZSBCU0QgTGljZW5zZSBbMl0uIFRvIGNvbnRyaWJ1dGUgdG8gYSBXM0MgVGVzdCBTdWl0ZSwg
c2VlIHRoZQotcG9saWNpZXMgYW5kIGNvbnRyaWJ1dGlvbiBmb3JtcyBbM10uCi0KLVsxXSBodHRw
Oi8vd3d3LnczLm9yZy9Db25zb3J0aXVtL0xlZ2FsLzIwMDgvMDQtdGVzdHN1aXRlLWxpY2Vuc2UK
LVsyXSBodHRwOi8vd3d3LnczLm9yZy9Db25zb3J0aXVtL0xlZ2FsLzIwMDgvMDMtYnNkLWxpY2Vu
c2UKLVszXSBodHRwOi8vd3d3LnczLm9yZy8yMDA0LzEwLzI3LXRlc3RjYXNlcwotICovCisvLwor
Ly8gSGVscGVyIGZ1bmN0aW9ucyBmb3IgUmVzb3VyY2UgVGltaW5nIHRlc3RzCisvLwogCiB2YXIg
bWFya19uYW1lcyA9IFsKICAgICAnJywKQEAgLTI3LDcgKzIxLDcgQEAgZnVuY3Rpb24gdGVzdF9t
ZXRob2RfZXhpc3RzKG1ldGhvZCwgbWV0aG9kX25hbWUsIHByb3BlcnRpZXMpCiAgICAgICAgIG1z
ZyA9ICdwZXJmb3JtYW5jZS4nICsgbWV0aG9kLm5hbWUgKyAnIGlzIHN1cHBvcnRlZCEnOwogICAg
IGVsc2UKICAgICAgICAgbXNnID0gJ3BlcmZvcm1hbmNlLicgKyBtZXRob2RfbmFtZSArICcgaXMg
c3VwcG9ydGVkISc7Ci0gICAgd3BfdGVzdChmdW5jdGlvbigpIHsgYXNzZXJ0X3RydWUodHlwZW9m
IG1ldGhvZCA9PT0gJ2Z1bmN0aW9uJywgbXNnKTsgfSwgbXNnLCBwcm9wZXJ0aWVzKTsKKyAgICB3
cF90ZXN0KGZ1bmN0aW9uKCkgeyBhc3NlcnRfZXF1YWxzKHR5cGVvZiBtZXRob2QsICdmdW5jdGlv
bicsIG1zZyk7IH0sIG1zZywgcHJvcGVydGllcyk7CiB9CiAKIGZ1bmN0aW9uIHRlc3Rfbm9sZXNz
X3RoYW4odmFsdWUsIGdyZWF0ZXJfdGhhbiwgbXNnLCBwcm9wZXJ0aWVzKQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvc2FtZS1vcmlnaW4tZnJvbS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1p
bmcvc2FtZS1vcmlnaW4tZnJvbS1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjEwNWE3NmVkOWM5Njc0OTFhNTQ3ZWFjYzdjZTNlNjhmNmQzZDEzOWQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9zYW1lLW9yaWdpbi1mcm9tLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgVmVyaWZ5IHRoYXQgY3Jvc3Mgb3Jp
Z2luIHJlc291cmNlcycgdGltaW5ncyBhcmUgZXhwb3NlZCB3aGVuIHRoZSBmaW5hbCByZXNvdXJj
ZSBhdCB0aGUgZW5kIG9mIGFuIEhUVFAgcmVkaXJlY3QgY2hhaW4gaXMgc2FtZS1vcmlnaW4uCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3NhbWUtb3JpZ2luLWZyb20tY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNl
LXRpbWluZy9zYW1lLW9yaWdpbi1mcm9tLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjg3NDBiODFiMTNmZDhhYTdhMjY5YTEwY2YyZGQzMDIzYTBmYmMyYTUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9zYW1lLW9yaWdpbi1mcm9tLWNyb3NzLW9yaWdpbi1yZWRpcmVjdC5odG1s
CkBAIC0wLDAgKzEsMzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRh
IGNoYXJzZXQ9InV0Zi04IiAvPgorPHRpdGxlPlRoaXMgdGVzdCB2YWxpZGF0ZXMgcmVzb3VyY2Ug
dGltaW5nIGluZm9ybWF0aW9uIGZvciBhIHNhbWUtb3JpZ2luCityZXNvdXJjZSBmZXRjaGVkIHRo
cm91Z2ggYSBjcm9zcy1vcmlnaW4gcmVkaXJlY3QgY2hhaW4uPC90aXRsZT4KKzxsaW5rIHJlbD0i
YXV0aG9yIiB0aXRsZT0iR29vZ2xlIiBocmVmPSJodHRwczovL2dvb2dsZS5jb20vIiAvPgorPGxp
bmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvcmVzb3VyY2UtdGltaW5n
LTIvI3NlYy1wZXJmb3JtYW5jZXJlc291cmNldGltaW5nIi8+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9nZXQt
aG9zdC1pbmZvLnN1Yi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3Jlc291
cmNlLWxvYWRlcnMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9lbnRyeS1p
bnZhcmlhbnRzLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2NvbnN0
IHtIVFRQX1JFTU9URV9PUklHSU59ID0gZ2V0X2hvc3RfaW5mbygpOworbGV0IGRlc3RVcmwgPSBg
JHtIVFRQX1JFTU9URV9PUklHSU59L3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvbXVsdGlfcmVk
aXJlY3QucHk/YDsKK2Rlc3RVcmwgKz0gYHBhZ2Vfb3JpZ2luPWh0dHA6Ly8ke2RvY3VtZW50Lmxv
Y2F0aW9uLmhvc3R9YDsKK2Rlc3RVcmwgKz0gYCZjcm9zc19vcmlnaW49JHtIVFRQX1JFTU9URV9P
UklHSU59YDsKK2Rlc3RVcmwgKz0gYCZmaW5hbF9yZXNvdXJjZT0vcmVzb3VyY2UtdGltaW5nL3Jl
c291cmNlcy9ibGFuay13aXRoLXRhby5odG1sYDsKKworYXR0cmlidXRlX3Rlc3QoCisgIGxvYWQu
aWZyYW1lLCBkZXN0VXJsLAorICBpbnZhcmlhbnRzLmFzc2VydF9zYW1lX29yaWdpbl9yZWRpcmVj
dGVkX2Zyb21fY3Jvc3Nfb3JpZ2luX3Jlc291cmNlLAorICAiVmVyaWZ5IHRoYXQgY3Jvc3Mgb3Jp
Z2luIHJlc291cmNlcycgdGltaW5ncyBhcmUgZXhwb3NlZCB3aGVuIHRoZSBmaW5hbCAiICsKKyAg
InJlc291cmNlIGF0IHRoZSBlbmQgb2YgYW4gSFRUUCByZWRpcmVjdCBjaGFpbiBpcyBzYW1lLW9y
aWdpbi4iKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9z
aXplcy1jYWNoZS5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXplcy1jYWNoZS5hbnkuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWY3
MGU1YTZkZWQzZTYzZDE1OGZkOTI5ZmVhY2YwODI3YjNjYWZjOQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGlt
aW5nL3NpemVzLWNhY2hlLmFueS5qcwpAQCAtMCwwICsxLDU1IEBACisvLyBNRVRBOiBnbG9iYWw9
d2luZG93LHdvcmtlcgorLy8gTUVUQTogc2NyaXB0PS9yZXNvdXJjZS10aW1pbmcvcmVzb3VyY2Vz
L3NpemVzLWhlbHBlci5qcworLy8gTUVUQTogc2NyaXB0PS9yZXNvdXJjZS10aW1pbmcvcmVzb3Vy
Y2VzL3Jlc291cmNlLWxvYWRlcnMuanMKKworbGV0IHVybCA9IG5ldyBVUkwoCisgICcvcmVzb3Vy
Y2UtdGltaW5nL3Jlc291cmNlcy9jYWNoZWFibGUtYW5kLXZhbGlkYXRlZC5weScgKworICAnP2Nv
bnRlbnQ9bG9yZW1pcHN1bWJsYWJsYWJsYScsCisgIGxvY2F0aW9uLmhyZWYpLmhyZWY7Citjb25z
dCBib2R5U2l6ZSA9IDE5OworCitjb25zdCBhY2N1bXVsYXRlRW50cmllcyA9ICgpID0+IHsKKyAg
cmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgIGNvbnN0IHBvID0gbmV3IFBlcmZv
cm1hbmNlT2JzZXJ2ZXIobGlzdCA9PiB7CisgICAgICByZXNvbHZlKGxpc3QpOworICAgIH0pOwor
ICAgIHBvLm9ic2VydmUoe3R5cGU6ICJyZXNvdXJjZSIsIGJ1ZmZlcmVkOiB0cnVlfSk7CisgIH0p
OworfTsKKworY29uc3QgY2hlY2tSZXNvdXJjZVNpemVzID0gbGlzdCA9PiB7CisgIGNvbnN0IGVu
dHJpZXMgPSBsaXN0LmdldEVudHJpZXNCeU5hbWUodXJsKTsKKyAgYXNzZXJ0X2VxdWFscyhlbnRy
aWVzLmxlbmd0aCwgMywgJ1dyb25nIG51bWJlciBvZiBlbnRyaWVzJyk7CisgIGxldCBzZWVuQ291
bnQgPSAwOworICBmb3IgKGxldCBlbnRyeSBvZiBlbnRyaWVzKSB7CisgICAgaWYgKHNlZW5Db3Vu
dCA9PT0gMCkgeworICAgICAgLy8gMjAwIHJlc3BvbnNlCisgICAgICBjaGVja1NpemVGaWVsZHMo
ZW50cnksIGJvZHlTaXplLCBib2R5U2l6ZSArIGhlYWRlclNpemUpOworICAgIH0gZWxzZSBpZiAo
c2VlbkNvdW50ID09PSAxKSB7CisgICAgICAvLyBmcm9tIGNhY2hlCisgICAgICBjaGVja1NpemVG
aWVsZHMoZW50cnksIGJvZHlTaXplLCAwKTsKKyAgICB9IGVsc2UgaWYgKHNlZW5Db3VudCA9PT0g
MikgeworICAgICAgLy8gMzA0IHJlc3BvbnNlCisgICAgICBjaGVja1NpemVGaWVsZHMoZW50cnks
IGJvZHlTaXplLCBoZWFkZXJTaXplKTsKKyAgICB9IGVsc2UgeworICAgICAgYXNzZXJ0X3VucmVh
Y2hlZCgnVG9vIG1hbnkgbWF0Y2hpbmcgZW50cmllcycpOworICAgIH0KKyAgICArK3NlZW5Db3Vu
dDsKKyAgfQorfTsKKworcHJvbWlzZV90ZXN0KCgpID0+IHsKKyAgLy8gVXNlIGEgZGlmZmVyZW50
IFVSTCBldmVyeSB0aW1lIHNvIHRoYXQgdGhlIGNhY2hlIGJlaGF2aW91ciBkb2VzIG5vdAorICAv
LyBkZXBlbmQgb24gZXhlY3V0aW9uIG9yZGVyLgorICB1cmwgPSBsb2FkLmNhY2hlX2J1c3QodXJs
KTsKKyAgY29uc3QgZWF0Qm9keSA9IHJlc3BvbnNlID0+IHJlc3BvbnNlLmFycmF5QnVmZmVyKCk7
CisgIGNvbnN0IG11c3RSZXZhbGlkYXRlID0ge2hlYWRlcnM6IHsnQ2FjaGUtQ29udHJvbCc6ICdt
YXgtYWdlPTAnfX07CisgIHJldHVybiBmZXRjaCh1cmwpCisgICAgLnRoZW4oZWF0Qm9keSkKKyAg
ICAudGhlbigoKSA9PiBmZXRjaCh1cmwpKQorICAgIC50aGVuKGVhdEJvZHkpCisgICAgLnRoZW4o
KCkgPT4gZmV0Y2godXJsLCBtdXN0UmV2YWxpZGF0ZSkpCisgICAgLnRoZW4oZWF0Qm9keSkKKyAg
ICAudGhlbihhY2N1bXVsYXRlRW50cmllcykKKyAgICAudGhlbihjaGVja1Jlc291cmNlU2l6ZXMp
OworfSwgJ1BlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgc2l6ZXMgY2FjaGluZyB0ZXN0Jyk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jl
c291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC1pbWctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMt
cmVkaXJlY3QtaW1nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OTAzMjE5NjIwYWU2NWQyYWI4
OGNjMjMwOGNkZWI0NzE3YmUzZTJlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMtcmVkaXJl
Y3QtaW1nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKKworUEFTUyBQZXJmb3JtYW5jZVJl
c291cmNlVGltaW5nIHNpemVzIHJlZGlyZWN0IGltYWdlIC0gZGlyZWN0IFVSTAorUEFTUyBQZXJm
b3JtYW5jZVJlc291cmNlVGltaW5nIHNpemVzIHJlZGlyZWN0IGltYWdlIC0gc2FtZSBvcmlnaW4g
cmVkaXJlY3QKK1BBU1MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyBzaXplcyByZWRpcmVjdCBp
bWFnZSAtIGNyb3NzIG9yaWdpbiByZWRpcmVjdAorUEFTUyBQZXJmb3JtYW5jZVJlc291cmNlVGlt
aW5nIHNpemVzIHJlZGlyZWN0IGltYWdlIC0gY3Jvc3Mgb3JpZ2luIHRvIHNhbWUgb3JpZ2luIHJl
ZGlyZWN0CitQQVNTIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcgc2l6ZXMgcmVkaXJlY3QgaW1h
Z2UgLSBzYW1lIG9yaWdpbiB0byByZW1vdGUgb3JpZ2luIHRvIHNhbWUgb3JpZ2luIHJlZGlyZWN0
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLXJlZGlyZWN0LWltZy5odG1sIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvc2l6ZXMtcmVk
aXJlY3QtaW1nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzg2MDE4ZDBjNDYzNGMzZDhjNmRmMmM0MDAzYjIw
MWU2ZTRiYzRlMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3NpemVzLXJlZGlyZWN0LWltZy5odG1s
CkBAIC0wLDAgKzEsNTcgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9jb21tb24vZ2V0LWhv
c3QtaW5mby5zdWIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaXplcy1o
ZWxwZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZXNvdXJjZS1sb2Fk
ZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZW50cnktaW52YXJpYW50
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorLy8gUmVkaXJlY3RzIGZvciBmZXRjaCgpIGFsd2F5
cyBhcHBseSBDT1JTIHJ1bGVzLCB3aGVyZWFzIG5vcm1hbCByZXNvdXJjZXMKKy8vIGRvbid0LCBz
byB0aGlzIHRlc3QgY292ZXJzIGV4dHJhIGNvZGUgcGF0aHMgYmV5b25kIHRob3NlIGNvdmVyZWQg
YnkKKy8vIHJlc291cmNlLXRpbWluZy1zaXplcy1yZWRpcmVjdC5odG1sLgorCitjb25zdCBiYXNl
VXJsID0gbmV3IFVSTCgnL3Jlc291cmNlLXRpbWluZy9yZXNvdXJjZXMvVEFPUmVzcG9uc2UucHk/
dGFvPXdpbGRjYXJkJmltZz10cnVlJywgbG9jYXRpb24uaHJlZikuaHJlZjsKKworY29uc3QgZXhw
ZWN0ZWRTaXplID0gMTAxMDsKKworY29uc3QgaG9zdEluZm8gPSBnZXRfaG9zdF9pbmZvKCk7CisK
K2NvbnN0IHJlZGlyZWN0VXJsID0gKHJlZGlyZWN0U291cmNlT3JpZ2luLCB0YXJnZXRVcmwpID0+
IHsKKyAgcmV0dXJuIHJlZGlyZWN0U291cmNlT3JpZ2luICsKKyAgICAnL3Jlc291cmNlLXRpbWlu
Zy9yZXNvdXJjZXMvcmVkaXJlY3QtY29ycy5weT90aW1pbmdfYWxsb3dfb3JpZ2luPSonICsKKyAg
ICAnJmxvY2F0aW9uPScgKyBlbmNvZGVVUklDb21wb25lbnQodGFyZ2V0VXJsKTsKK307CisKK2Nv
bnN0IHZlcmlmeV9lbnRyeSA9IGVudHJ5ID0+IHsKKyAgY2hlY2tTaXplRmllbGRzKGVudHJ5LCBl
eHBlY3RlZFNpemUsIGV4cGVjdGVkU2l6ZSArIGhlYWRlclNpemUpOworfTsKKworYXR0cmlidXRl
X3Rlc3QobG9hZC5pbWFnZSwgYmFzZVVybCwKKyAgdmVyaWZ5X2VudHJ5LAorICAiUGVyZm9ybWFu
Y2VSZXNvdXJjZVRpbWluZyBzaXplcyByZWRpcmVjdCBpbWFnZSAtIGRpcmVjdCBVUkwiKTsKKwor
YXR0cmlidXRlX3Rlc3QobG9hZC5pbWFnZSwKKyAgcmVkaXJlY3RVcmwoaG9zdEluZm8uSFRUUF9P
UklHSU4sIGJhc2VVcmwpLAorICB2ZXJpZnlfZW50cnksCisgICJQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nIHNpemVzIHJlZGlyZWN0IGltYWdlIC0gc2FtZSBvcmlnaW4gcmVkaXJlY3QiKTsKKwor
YXR0cmlidXRlX3Rlc3QobG9hZC5pbWFnZSwKKyAgcmVkaXJlY3RVcmwoaG9zdEluZm8uSFRUUF9S
RU1PVEVfT1JJR0lOLCBiYXNlVXJsKSwKKyAgdmVyaWZ5X2VudHJ5LAorICAiUGVyZm9ybWFuY2VS
ZXNvdXJjZVRpbWluZyBzaXplcyByZWRpcmVjdCBpbWFnZSAtIGNyb3NzIG9yaWdpbiByZWRpcmVj
dCIpOworCithdHRyaWJ1dGVfdGVzdChsb2FkLmltYWdlLAorICByZWRpcmVjdFVybChob3N0SW5m
by5IVFRQX1JFTU9URV9PUklHSU4sCisgICAgcmVkaXJlY3RVcmwoaG9zdEluZm8uSFRUUF9PUklH
SU4sIGJhc2VVcmwpKSwKKyAgdmVyaWZ5X2VudHJ5LAorICAiUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZyBzaXplcyByZWRpcmVjdCBpbWFnZSAtIGNyb3NzIG9yaWdpbiB0byBzYW1lIG9yaWdpbiBy
ZWRpcmVjdCIpOworCithdHRyaWJ1dGVfdGVzdChsb2FkLmltYWdlLAorICByZWRpcmVjdFVybCho
b3N0SW5mby5IVFRQX09SSUdJTiwKKyAgICByZWRpcmVjdFVybChob3N0SW5mby5IVFRQX1JFTU9U
RV9PUklHSU4sCisgICAgICByZWRpcmVjdFVybChob3N0SW5mby5IVFRQX09SSUdJTiwKKyAgICAg
ICAgYmFzZVVybCkpKSwKKyAgdmVyaWZ5X2VudHJ5LAorICAiUGVyZm9ybWFuY2VSZXNvdXJjZVRp
bWluZyBzaXplcyByZWRpcmVjdCBpbWFnZSAtIHNhbWUgb3JpZ2luIHRvIHJlbW90ZSAiICsKKyAg
Im9yaWdpbiB0byBzYW1lIG9yaWdpbiByZWRpcmVjdCIpOworPC9zY3JpcHQ+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRp
bWluZy9zaXplcy1yZWRpcmVjdC5hbnkuanMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9zaXplcy1yZWRpcmVjdC5hbnkuanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZTQ4M2E0ZDQwOWM2YzJkZWVlNzNmYTIxM2Q2OThiOTViODY1ZDBjOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3NpemVzLXJlZGlyZWN0LmFueS5qcwpAQCAtMCwwICsxLDYyIEBACisv
LyBNRVRBOiBnbG9iYWw9d2luZG93LHdvcmtlcgorLy8gTUVUQTogc2NyaXB0PS9jb21tb24vZ2V0
LWhvc3QtaW5mby5zdWIuanMKKy8vIE1FVEE6IHNjcmlwdD0vcmVzb3VyY2UtdGltaW5nL3Jlc291
cmNlcy9zaXplcy1oZWxwZXIuanMKKworY29uc3QgYmFzZVVybCA9CisgIG5ldyBVUkwoJy9yZXNv
dXJjZS10aW1pbmcvcmVzb3VyY2VzL1RBT1Jlc3BvbnNlLnB5P3Rhbz13aWxkY2FyZCcsIGxvY2F0
aW9uLmhyZWYpLmhyZWY7Citjb25zdCBleHBlY3RlZFNpemUgPSA0OworCitjb25zdCBob3N0SW5m
byA9IGdldF9ob3N0X2luZm8oKTsKK3BlcmZvcm1hbmNlLmNsZWFyUmVzb3VyY2VUaW1pbmdzKCk7
CisKK2NvbnN0IGFjY3VtdWxhdGVFbnRyeSA9ICgpID0+IHsKKyAgcmV0dXJuIG5ldyBQcm9taXNl
KHJlc29sdmUgPT4geworICAgIGNvbnN0IHBvID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIobGlz
dCA9PiB7CisgICAgICByZXNvbHZlKGxpc3QpOworICAgIH0pOworICAgIHBvLm9ic2VydmUoe3R5
cGU6ICJyZXNvdXJjZSIsIGJ1ZmZlcmVkOiB0cnVlfSk7CisgIH0pOworfTsKKworY29uc3QgY2hl
Y2tSZXNvdXJjZVNpemVzID0gKCkgPT4geworICBjb25zdCBlbnRyaWVzID0gcGVyZm9ybWFuY2Uu
Z2V0RW50cmllc0J5VHlwZSgncmVzb3VyY2UnKTsKKyAgZm9yIChsZXQgZW50cnkgb2YgZW50cmll
cykgeworICAgIGNoZWNrU2l6ZUZpZWxkcyhlbnRyeSwgZXhwZWN0ZWRTaXplLCBleHBlY3RlZFNp
emUgKyBoZWFkZXJTaXplKTsKKyAgfQorfQorCitjb25zdCByZWRpcmVjdFVybCA9IChyZWRpcmVj
dFNvdXJjZU9yaWdpbiwgYWxsb3dPcmlnaW4sIHRhcmdldFVybCkgPT4geworICByZXR1cm4gcmVk
aXJlY3RTb3VyY2VPcmlnaW4gKworICAgICcvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9yZWRp
cmVjdC1jb3JzLnB5P2FsbG93X29yaWdpbj0nICsKKyAgICBlbmNvZGVVUklDb21wb25lbnQoYWxs
b3dPcmlnaW4pICsKKyAgICAnJnRpbWluZ19hbGxvd19vcmlnaW49KicgKworICAgICcmbG9jYXRp
b249JyArIGVuY29kZVVSSUNvbXBvbmVudCh0YXJnZXRVcmwpOworfQorCitwcm9taXNlX3Rlc3Qo
KCkgPT4geworICAvLyBVc2UgYSBkaWZmZXJlbnQgVVJMIGV2ZXJ5IHRpbWUgc28gdGhhdCB0aGUg
Y2FjaGUgYmVoYXZpb3VyIGRvZXMgbm90CisgIC8vIGRlcGVuZCBvbiBleGVjdXRpb24gb3JkZXIu
CisgIGNvbnN0IGRpcmVjdFVybCA9IGNhY2hlQnVzdFVybChiYXNlVXJsKTsKKyAgY29uc3Qgc2Ft
ZU9yaWdpblJlZGlyZWN0ID0gcmVkaXJlY3RVcmwoaG9zdEluZm8uT1JJR0lOLCAnKicsIGRpcmVj
dFVybCk7CisgIGNvbnN0IGNyb3NzT3JpZ2luUmVkaXJlY3QgPSByZWRpcmVjdFVybChob3N0SW5m
by5SRU1PVEVfT1JJR0lOLAorICAgIGhvc3RJbmZvLk9SSUdJTiwgZGlyZWN0VXJsKTsKKyAgY29u
c3QgbWl4ZWRSZWRpcmVjdCA9IHJlZGlyZWN0VXJsKGhvc3RJbmZvLlJFTU9URV9PUklHSU4sCisg
ICAgaG9zdEluZm8uT1JJR0lOLCBzYW1lT3JpZ2luUmVkaXJlY3QpOworICBjb25zdCBjb21wbGV4
UmVkaXJlY3QgPSByZWRpcmVjdFVybChob3N0SW5mby5PUklHSU4sCisgICAgaG9zdEluZm8uUkVN
T1RFX09SSUdJTiwgbWl4ZWRSZWRpcmVjdCk7CisgIGxldCBlYXRCb2R5ID0gcmVzcG9uc2UgPT4g
cmVzcG9uc2UuYXJyYXlCdWZmZXIoKTsKKyAgcmV0dXJuIGZldGNoKGRpcmVjdFVybCkKKyAgICAu
dGhlbihlYXRCb2R5KQorICAgIC50aGVuKCgpID0+IGZldGNoKHNhbWVPcmlnaW5SZWRpcmVjdCkp
CisgICAgLnRoZW4oZWF0Qm9keSkKKyAgICAudGhlbigoKSA9PiBmZXRjaChjcm9zc09yaWdpblJl
ZGlyZWN0KSkKKyAgICAudGhlbihlYXRCb2R5KQorICAgIC50aGVuKCgpID0+IGZldGNoKG1peGVk
UmVkaXJlY3QpKQorICAgIC50aGVuKGVhdEJvZHkpCisgICAgLnRoZW4oKCkgPT4gZmV0Y2goY29t
cGxleFJlZGlyZWN0KSkKKyAgICAudGhlbihlYXRCb2R5KQorICAgIC50aGVuKGFjY3VtdWxhdGVF
bnRyeSkKKyAgICAudGhlbihjaGVja1Jlc291cmNlU2l6ZXMpOworfSwgJ1BlcmZvcm1hbmNlUmVz
b3VyY2VUaW1pbmcgc2l6ZXMgRmV0Y2ggd2l0aCByZWRpcmVjdCB0ZXN0Jyk7CisKK2RvbmUoKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
cmVzb3VyY2UtdGltaW5nL3N0YXR1cy1jb2Rlcy1jcmVhdGUtZW50cnkuaHRtbCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3N0YXR1
cy1jb2Rlcy1jcmVhdGUtZW50cnkuaHRtbAppbmRleCBjMzE1MDVhNDUyZGE2YjZhZjE0NmZlYmNk
MTVjYTYyZmYxODZhNzY3Li5jYzBjZDhjY2I4ODI1MDMzMTE4NmMzODU1NGIwOWZmODUxNWNhY2Vl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Jlc291cmNlLXRpbWluZy9zdGF0dXMtY29kZXMtY3JlYXRlLWVudHJ5Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcv
c3RhdHVzLWNvZGVzLWNyZWF0ZS1lbnRyeS5odG1sCkBAIC0xOCwxMyArMTgsMTcgQEAgYXN5bmNf
dGVzdCh0ID0+IHsKICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCB0LnN0ZXBfZnVu
Y19kb25lKCgpID0+IHsKICAgICBjb25zdCBpbWFnZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5
VGFnTmFtZSgiaW1nIik7CiAgICAgZm9yIChsZXQgaW1nIG9mIGltYWdlcykgewotICAgICAgYXNz
ZXJ0X2dyZWF0ZXJfdGhhbihwZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKGltZy5zcmMpLmxl
bmd0aCwgMCwgaW1nLnNyYyk7CisgICAgICBjb25zdCBlbnRyaWVzID0gcGVyZm9ybWFuY2UuZ2V0
RW50cmllc0J5TmFtZShpbWcuc3JjKTsKKyAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oZW50cmll
cy5sZW5ndGgsIDAsIGltZy5zcmMpOworICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbihlbnRyaWVz
WzBdLmR1cmF0aW9uLCAwLCBpbWcuc3JjKTsKICAgICB9CiAgICAgY29uc3Qgc2NyaXB0cyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKTsKICAgICBsZXQgbm9TcmNTY3Jp
cHRGb3VuZCA9IGZhbHNlOwogICAgIGZvciAobGV0IHNjcmlwdCBvZiBzY3JpcHRzKSB7CiAgICAg
ICBpZiAoc2NyaXB0LnNyYykgewotICAgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKHBlcmZvcm1h
bmNlLmdldEVudHJpZXNCeU5hbWUoc2NyaXB0LnNyYykubGVuZ3RoLCAwLCBzY3JpcHQuc3JjKTsK
KyAgICAgICAgY29uc3QgZW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXNCeU5hbWUoc2Ny
aXB0LnNyYyk7CisgICAgICAgIGFzc2VydF9ncmVhdGVyX3RoYW4oZW50cmllcy5sZW5ndGgsIDAs
IHNjcmlwdC5zcmMpOworICAgICAgICBhc3NlcnRfZ3JlYXRlcl90aGFuKGVudHJpZXNbMF0uZHVy
YXRpb24sIDAsIHNjcmlwdC5zcmMpOwogICAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gSWdub3Jl
IHRoaXMgc2NyaXB0LCB3aGljaCBoYXMgbm8gc3JjIHZhbHVlLiBUaGVyZSBzaG91bGQgb25seSBi
ZSBvbmUgc3VjaCBzY3JpcHQuCiAgICAgICAgIGFzc2VydF9mYWxzZShub1NyY1NjcmlwdEZvdW5k
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcmVzb3VyY2UtdGltaW5nL3Rlc3RfcmVzb3VyY2VfdGltaW5nLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Rlc3RfcmVzb3VyY2VfdGltaW5nLWV4cGVjdGVkLnR4dAppbmRleCAyMDA0OGE1OGNiZmFjMjlm
ODFmMDQ5ZDg2OGUyNjQ0YTRlMDAzMzc5Li5kNmNjMTFkMTQzM2E1ZjQ1YWQ4ZjNlMzNmMDdhNzlk
ZDY2ZmU5MzZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy90ZXN0X3Jlc291cmNlX3RpbWluZy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNv
dXJjZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90aW1pbmctZXhwZWN0ZWQudHh0CkBAIC02LDI4ICs2
LDI4IEBAIE5PVEU6IER1ZSB0byBjYWNoaW5nIGJlaGF2aW9yIGluIHRoZSBicm93c2VyLCBpdCBp
cyBwb3NzaWJsZSB0aGF0IHdoZW4gcmV2aXNpdGluCiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5n
ZXRFbnRyaWVzQnlOYW1lKCkgYW5kIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1l
VHlwZSgpIHJldHVybiBzYW1lIGRhdGEgKGlmcmFtZSkKIFBBU1MgUGVyZm9ybWFuY2VFbnRyeSBo
YXMgY29ycmVjdCBuYW1lLCBpbml0aWF0b3JUeXBlLCBzdGFydFRpbWUsIGFuZCBkdXJhdGlvbiAo
aWZyYW1lKQogUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG9yZGVyIG9mIHRpbWlu
ZyBhdHRyaWJ1dGVzIChpZnJhbWUpCi1GQUlMIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3Qg
bmV0d29yayB0cmFuc2ZlciBhdHRyaWJ1dGVzIChpZnJhbWUpIGFzc2VydF9lcXVhbHM6IGVuY29k
ZWRCb2R5U2l6ZSBzaXplIGV4cGVjdGVkIChudW1iZXIpIDIxNSBidXQgZ290ICh1bmRlZmluZWQp
IHVuZGVmaW5lZAotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0
dHJpYnV0ZSAoaWZyYW1lKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBwcm90b2NvbCBleHBlY3Rl
ZCAoc3RyaW5nKSAiaHR0cC8xLjEiIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCitQQVNT
IFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmV0d29yayB0cmFuc2ZlciBhdHRyaWJ1dGVz
IChpZnJhbWUpCitQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgcHJvdG9jb2wgYXR0
cmlidXRlIChpZnJhbWUpCiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1l
KCkgYW5kIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lVHlwZSgpIHJldHVybiBz
YW1lIGRhdGEgKGltZykKIFBBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuYW1lLCBp
bml0aWF0b3JUeXBlLCBzdGFydFRpbWUsIGFuZCBkdXJhdGlvbiAoaW1nKQogUEFTUyBQZXJmb3Jt
YW5jZUVudHJ5IGhhcyBjb3JyZWN0IG9yZGVyIG9mIHRpbWluZyBhdHRyaWJ1dGVzIChpbWcpCi1G
QUlMIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmV0d29yayB0cmFuc2ZlciBhdHRyaWJ1
dGVzIChpbWcpIGFzc2VydF9lcXVhbHM6IGVuY29kZWRCb2R5U2l6ZSBzaXplIGV4cGVjdGVkIChu
dW1iZXIpIDI0OSBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJTCBQZXJmb3JtYW5j
ZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0dHJpYnV0ZSAoaW1nKSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCBwcm90b2NvbCBleHBlY3RlZCAoc3RyaW5nKSAiaHR0cC8xLjEiIGJ1dCBnb3Qg
KHVuZGVmaW5lZCkgdW5kZWZpbmVkCitQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3Qg
bmV0d29yayB0cmFuc2ZlciBhdHRyaWJ1dGVzIChpbWcpCitQQVNTIFBlcmZvcm1hbmNlRW50cnkg
aGFzIGNvcnJlY3QgcHJvdG9jb2wgYXR0cmlidXRlIChpbWcpCiBQQVNTIHdpbmRvdy5wZXJmb3Jt
YW5jZS5nZXRFbnRyaWVzQnlOYW1lKCkgYW5kIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVz
QnlOYW1lVHlwZSgpIHJldHVybiBzYW1lIGRhdGEgKGxpbmspCiBQQVNTIFBlcmZvcm1hbmNlRW50
cnkgaGFzIGNvcnJlY3QgbmFtZSwgaW5pdGlhdG9yVHlwZSwgc3RhcnRUaW1lLCBhbmQgZHVyYXRp
b24gKGxpbmspCiBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3Qgb3JkZXIgb2YgdGlt
aW5nIGF0dHJpYnV0ZXMgKGxpbmspCi1GQUlMIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3Qg
bmV0d29yayB0cmFuc2ZlciBhdHRyaWJ1dGVzIChsaW5rKSBhc3NlcnRfZXF1YWxzOiBlbmNvZGVk
Qm9keVNpemUgc2l6ZSBleHBlY3RlZCAobnVtYmVyKSA0NCBidXQgZ290ICh1bmRlZmluZWQpIHVu
ZGVmaW5lZAotRkFJTCBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0dHJp
YnV0ZSAobGluaykgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgcHJvdG9jb2wgZXhwZWN0ZWQgKHN0
cmluZykgImh0dHAvMS4xIiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorUEFTUyBQZXJm
b3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRlcyAobGlu
aykKK1BBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBwcm90b2NvbCBhdHRyaWJ1dGUg
KGxpbmspCiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCkgYW5kIHdp
bmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lVHlwZSgpIHJldHVybiBzYW1lIGRhdGEg
KHNjcmlwdCkKIFBBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBuYW1lLCBpbml0aWF0
b3JUeXBlLCBzdGFydFRpbWUsIGFuZCBkdXJhdGlvbiAoc2NyaXB0KQogUEFTUyBQZXJmb3JtYW5j
ZUVudHJ5IGhhcyBjb3JyZWN0IG9yZGVyIG9mIHRpbWluZyBhdHRyaWJ1dGVzIChzY3JpcHQpCi1G
QUlMIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmV0d29yayB0cmFuc2ZlciBhdHRyaWJ1
dGVzIChzY3JpcHQpIGFzc2VydF9lcXVhbHM6IGVuY29kZWRCb2R5U2l6ZSBzaXplIGV4cGVjdGVk
IChudW1iZXIpIDEzMyBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJTCBQZXJmb3Jt
YW5jZUVudHJ5IGhhcyBjb3JyZWN0IHByb3RvY29sIGF0dHJpYnV0ZSAoc2NyaXB0KSBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCBwcm90b2NvbCBleHBlY3RlZCAoc3RyaW5nKSAiaHR0cC8xLjEiIGJ1
dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCitQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNv
cnJlY3QgbmV0d29yayB0cmFuc2ZlciBhdHRyaWJ1dGVzIChzY3JpcHQpCitQQVNTIFBlcmZvcm1h
bmNlRW50cnkgaGFzIGNvcnJlY3QgcHJvdG9jb2wgYXR0cmlidXRlIChzY3JpcHQpCiBQQVNTIHdp
bmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCkgYW5kIHdpbmRvdy5wZXJmb3JtYW5j
ZS5nZXRFbnRyaWVzQnlOYW1lVHlwZSgpIHJldHVybiBzYW1lIGRhdGEgKHhtbGh0dHByZXF1ZXN0
KQogUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5hbWUsIGluaXRpYXRvclR5cGUs
IHN0YXJ0VGltZSwgYW5kIGR1cmF0aW9uICh4bWxodHRwcmVxdWVzdCkKIFBBU1MgUGVyZm9ybWFu
Y2VFbnRyeSBoYXMgY29ycmVjdCBvcmRlciBvZiB0aW1pbmcgYXR0cmlidXRlcyAoeG1saHR0cHJl
cXVlc3QpCi1GQUlMIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmV0d29yayB0cmFuc2Zl
ciBhdHRyaWJ1dGVzICh4bWxodHRwcmVxdWVzdCkgYXNzZXJ0X2VxdWFsczogZW5jb2RlZEJvZHlT
aXplIHNpemUgZXhwZWN0ZWQgKG51bWJlcikgMTEyIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZp
bmVkCi1GQUlMIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgcHJvdG9jb2wgYXR0cmlidXRl
ICh4bWxodHRwcmVxdWVzdCkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgcHJvdG9jb2wgZXhwZWN0
ZWQgKHN0cmluZykgImh0dHAvMS4xIiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorUEFT
UyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5ldHdvcmsgdHJhbnNmZXIgYXR0cmlidXRl
cyAoeG1saHR0cHJlcXVlc3QpCitQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgcHJv
dG9jb2wgYXR0cmlidXRlICh4bWxodHRwcmVxdWVzdCkKIFBBU1Mgd2luZG93LnBlcmZvcm1hbmNl
IFJlc291cmNlIFRpbWluZyBFbnRyaWVzIGV4aXN0CiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBS
ZXNvdXJjZSBUaW1pbmcgRW50cmllcyBleGlzdCAxCiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBS
ZXNvdXJjZSBUaW1pbmcgRW50cmllcyBleGlzdCAyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy90ZXN0X3Jlc291
cmNlX3RpbWluZy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy90ZXN0X3Jlc291cmNlX3RpbWluZy5o
dHRwcy1leHBlY3RlZC50eHQKaW5kZXggY2VhMGYxY2IyYWFiOWVjZTQ5MmVmM2JkZjQzNzQxMjJk
NTUyOTc0MC4uZDZjYzExZDE0MzNhNWY0NWFkOGYzZTMzZjA3YTc5ZGQ2NmZlOTM2YiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJj
ZS10aW1pbmcvdGVzdF9yZXNvdXJjZV90aW1pbmcuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5n
L3Rlc3RfcmVzb3VyY2VfdGltaW5nLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMjYsNyArMjYsNyBA
QCBQQVNTIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgcHJvdG9jb2wgYXR0cmlidXRlIChz
Y3JpcHQpCiBQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lKCkgYW5kIHdp
bmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lVHlwZSgpIHJldHVybiBzYW1lIGRhdGEg
KHhtbGh0dHByZXF1ZXN0KQogUEFTUyBQZXJmb3JtYW5jZUVudHJ5IGhhcyBjb3JyZWN0IG5hbWUs
IGluaXRpYXRvclR5cGUsIHN0YXJ0VGltZSwgYW5kIGR1cmF0aW9uICh4bWxodHRwcmVxdWVzdCkK
IFBBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBvcmRlciBvZiB0aW1pbmcgYXR0cmli
dXRlcyAoeG1saHR0cHJlcXVlc3QpCi1GQUlMIFBlcmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3Qg
bmV0d29yayB0cmFuc2ZlciBhdHRyaWJ1dGVzICh4bWxodHRwcmVxdWVzdCkgYXNzZXJ0X2VxdWFs
czogZW5jb2RlZEJvZHlTaXplIHNpemUgZXhwZWN0ZWQgMTEyIGJ1dCBnb3QgMTIwCitQQVNTIFBl
cmZvcm1hbmNlRW50cnkgaGFzIGNvcnJlY3QgbmV0d29yayB0cmFuc2ZlciBhdHRyaWJ1dGVzICh4
bWxodHRwcmVxdWVzdCkKIFBBU1MgUGVyZm9ybWFuY2VFbnRyeSBoYXMgY29ycmVjdCBwcm90b2Nv
bCBhdHRyaWJ1dGUgKHhtbGh0dHByZXF1ZXN0KQogUEFTUyB3aW5kb3cucGVyZm9ybWFuY2UgUmVz
b3VyY2UgVGltaW5nIEVudHJpZXMgZXhpc3QKIFBBU1Mgd2luZG93LnBlcmZvcm1hbmNlIFJlc291
cmNlIFRpbWluZyBFbnRyaWVzIGV4aXN0IDEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3dvcmtlclN0YXJ0LXRh
by1wcm90ZWN0ZWQuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3dvcmtlclN0YXJ0LXRhby1wcm90ZWN0ZWQuaHR0
cHMuaHRtbAppbmRleCBmOWI1MGY3MDM2MGRkNmUwOTkwOGJjMmQ4MWRmZjEzNzM1YWFkMjM2Li40
ODU2ZjQ2N2YxNmY2ZTM4MjFkNDhlYTc1NDJkMTU0YjNkZTUzYmQ3IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy93
b3JrZXJTdGFydC10YW8tcHJvdGVjdGVkLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10aW1pbmcvd29ya2VyU3RhcnQt
dGFvLXByb3RlY3RlZC5odHRwcy5odG1sCkBAIC00MCw3ICs0MCw3IEBAIHByb21pc2VfdGVzdCh0
ID0+IHsKICAgICBjb25zdCBvYnNlcnZlciA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGxpc3Qg
PT4gewogICAgICAgY29uc3QgZW50cmllcyA9IGxpc3QuZ2V0RW50cmllcygpOwogICAgICAgZm9y
IChlbnRyeSBvZiBlbnRyaWVzKSB7Ci0gICAgICAgIGlmIChlbnRyeS5uYW1lLmluY2x1ZGVzKCJi
bGFua19wYWdlX2dyZWVuLmh0bSIpKSB7CisgICAgICAgIGlmIChlbnRyeS5uYW1lLmluY2x1ZGVz
KCJncmVlbi5odG1sIikpIHsKICAgICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7CiAgICAg
ICAgICAgLy8gT2JzZXJ2ZSBpdHMgcGVyZm9ybWFuY2UgZW50cnkgdG8gbWFrZSBzdXJlIHdvcmtl
clN0YXJ0IGlzIHplcm8KICAgICAgICAgICBpZiAoZW50cnkud29ya2VyU3RhcnQgIT0gMCkgewpA
QCAtNTEsNyArNTEsNyBAQCBwcm9taXNlX3Rlc3QodCA9PiB7CiAgICAgICB9CiAgICAgfSk7CiAg
ICAgb2JzZXJ2ZXIub2JzZXJ2ZSh7ZW50cnlUeXBlczogWyJyZXNvdXJjZSJdfSk7Ci0gICAgYWRk
RnJhbWUoaG9zdF9pbmZvLkhUVFBTX1JFTU9URV9PUklHSU4gKyAiL3Jlc291cmNlLXRpbWluZy9y
ZXNvdXJjZXMvYmxhbmtfcGFnZV9ncmVlbi5odG0iKTsKKyAgICBhZGRGcmFtZShob3N0X2luZm8u
SFRUUFNfUkVNT1RFX09SSUdJTiArICIvcmVzb3VyY2UtdGltaW5nL3Jlc291cmNlcy9ncmVlbi5o
dG1sIik7CiAgIH0pOwogfSwgIkFkZCBUQU8tbGVzcyBpZnJhbWUgdG8gcmVtb3RlIG9yaWdpbi4g
TWFrZSBzdXJlIHdvcmtlclN0YXJ0IGlzIHplcm8iKTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL25hdmln
YXRpb24tdGltaW5nL25hdjJfdGVzdF9hdHRyaWJ1dGVzX3ZhbHVlcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvbmF2aWdhdGlvbi10aW1pbmcvbmF2Ml90ZXN0X2F0dHJpYnV0ZXNfdmFsdWVzLWV4cGVjdGVk
LnR4dAppbmRleCA5OThkNGVkM2NlMTg0YzY4ZDMzMTg2MTNmOGQyMGZlMjcyZDUyZTM5Li45ZTFi
YTRmZjAxMWE2ZGFhMGEwYjRjMzgwMjhlYWU4MzFmODVkOWRlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbmF2
aWdhdGlvbi10aW1pbmcvbmF2Ml90ZXN0X2F0dHJpYnV0ZXNfdmFsdWVzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbmF2aWdhdGlvbi10aW1pbmcvbmF2Ml90ZXN0X2F0dHJpYnV0ZXNfdmFsdWVzLWV4
cGVjdGVkLnR4dApAQCAtMyw1ICszLDUgQEAgRGVzY3JpcHRpb24KIFRoaXMgdGVzdCB2YWxpZGF0
ZXMgdGhhdCB0aGUgdmFsdWVzIG9mIG5hdiB0aW1pbmcgMiBpbnN0YW5jZSdzIHRpbWluZy1yZWxh
dGVkIGF0dHJpYnV0ZXMgYXJlIGluIGNlcnRhaW4gb3JkZXIgYW5kIHRoZSBvdGhlcnMgYXJlIG9m
IGV4cGVjdGVkIHZhbHVlcy4KIAogCi1GQUlMIFBlcmZvcm1hbmNlIG5hdmlnYXRpb24gdGltaW5n
IGluc3RhbmNlJ3MgdmFsdWUgaXMgcmVhc29uYWJsZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
Imh0dHAvMS4xIiBidXQgZ290ICIiCitGQUlMIFBlcmZvcm1hbmNlIG5hdmlnYXRpb24gdGltaW5n
IGluc3RhbmNlJ3MgdmFsdWUgaXMgcmVhc29uYWJsZS4gYXNzZXJ0X2dyZWF0ZXJfdGhhbjogRXhw
ZWN0ZWQgZG9tSW50ZXJhY3RpdmUgdG8gYmUgZ3JlYXRlciB0aGFuIDAgZXhwZWN0ZWQgYSBudW1i
ZXIgZ3JlYXRlciB0aGFuIDAgYnV0IGdvdCAwCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azEvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9yZXNvdXJjZS10
aW1pbmcvbmV4dEhvcFByb3RvY29sLXRhby1wcm90ZWN0ZWQuaHR0cHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9uZXh0SG9wUHJvdG9jb2wtdGFvLXByb3RlY3RlZC5odHRwcy1l
eHBlY3RlZC50eHQKaW5kZXggOGM4MjI5YjU1NTA5NjE5YzU4NGM0YTE0NmQ0MzZjOWU3ZGY5YTlm
ZS4uMmVlZjU1NWExZWJjZjczNGI2YTZiNzQ0OWU1NThlMDJlMTdhYTY5OSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Jlc291cmNlLXRpbWluZy9uZXh0SG9wUHJvdG9jb2wtdGFvLXByb3RlY3RlZC5odHRwcy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9uZXh0SG9wUHJvdG9jb2wtdGFv
LXByb3RlY3RlZC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAKIAotUEFTUyBB
ZGQgVEFPLWxlc3MgaWZyYW1lIHRvIHJlbW90ZSBvcmlnaW4uIE1ha2Ugc3VyZSBuZXh0SG9wUHJv
dG9jb2wgaXMgdGhlIGVtcHR5IHN0cmluZwotRkFJTCBBZGQgVEFPIGlmcmFtZSB0byByZW1vdGUg
b3JpZ2luLiBNYWtlIHN1cmUgbmV4dEhvcFByb3RvY29sIGlzIG5vdCB0aGUgZW1wdHkgc3RyaW5n
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiAibmV4dEhvcFBy
b3RvY29sIHNob3VsZCBub3QgYmUgdGhlIGVtcHR5IHN0cmluZyIKK0ZBSUwgQWRkIFRBTy1sZXNz
IGlmcmFtZSB0byByZW1vdGUgb3JpZ2luLiBNYWtlIHN1cmUgbmV4dEhvcFByb3RvY29sIGlzIHRo
ZSBlbXB0eSBzdHJpbmcgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6ICJuZXh0SG9wUHJvdG9jb2wgc2hvdWxkIGJlIHRoZSBlbXB0eSBzdHJpbmciCitQQVNTIEFk
ZCBUQU8gaWZyYW1lIHRvIHJlbW90ZSBvcmlnaW4uIE1ha2Ugc3VyZSBuZXh0SG9wUHJvdG9jb2wg
aXMgbm90IHRoZSBlbXB0eSBzdHJpbmcKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWlu
Zy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLVRBTy1jcm9zcy1vcmlnaW4tcmVkaXJlY3QtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLVRBTy1j
cm9zcy1vcmlnaW4tcmVkaXJlY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEyODQ2MjQyMTU1
NGVmZDA2NmQyODBhOGYzYzNhNmEzMzBiYTA4YTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVz
b3VyY2UtdGltaW5nL29iamVjdC1ub3QtZm91bmQtYWZ0ZXItVEFPLWNyb3NzLW9yaWdpbi1yZWRp
cmVjdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACisKK0hhcm5lc3MgRXJyb3IgKFRJTUVP
VVQpLCBtZXNzYWdlID0gbnVsbAorCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZSBpcyBkZWZpbmVk
CitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlOYW1lIGlzIGRlZmluZWQKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVyLWNy
b3NzLW9yaWdpbi1yZWRpcmVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2sxL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL29i
amVjdC1ub3QtZm91bmQtYWZ0ZXItY3Jvc3Mtb3JpZ2luLXJlZGlyZWN0LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hMjg0NjI0MjE1NTRlZmQwNjZkMjgwYThmM2MzYTZhMzMwYmEwOGEzCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9vYmplY3Qtbm90LWZvdW5kLWFmdGVy
LWNyb3NzLW9yaWdpbi1yZWRpcmVjdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACisKK0hh
cm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitQQVNTIHdpbmRvdy5wZXJm
b3JtYW5jZSBpcyBkZWZpbmVkCitQQVNTIHdpbmRvdy5wZXJmb3JtYW5jZS5nZXRFbnRyaWVzQnlO
YW1lIGlzIGRlZmluZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
MS9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZWRpcmVj
dHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Jlc291cmNlLXRpbWluZy9yZWRpcmVjdHMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjAxZWI1NDYxZDM0MGEzZjBjMmU4MjI3NTQwZjFhZDFiMDlhYTUyYjEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcmVzb3VyY2UtdGltaW5nL3JlZGlyZWN0cy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMiBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZhbGlkYXRl
cyB0aGF0LCB3aGVuIGEgZmV0Y2hpbmcgcmVzb3VyY2VzIHRoYXQgZW5jb3VudGVyIHNhbWUtb3Jp
Z2luIHJlZGlyZWN0cywgYXR0cmlidXRlcyBvZiB0aGUgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWlu
ZyBlbnRyeSBjb25mb3JtIHRvIHRoZSBzcGVjaWZpY2F0aW9uLgorCisKK1BBU1MgVmVyaWZ5IGF0
dHJpYnV0ZXMgb2YgYSByZWRpcmVjdGVkIHN0eWxlc2hlZXQncyBQZXJmb3JtYW5jZVJlc291cmNl
VGltaW5nCitQQVNTIFZlcmlmeSBhdHRyaWJ1dGVzIG9mIGEgcmVkaXJlY3RlZCBpbWFnZSdzIFBl
cmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcKK1BBU1MgVmVyaWZ5IGF0dHJpYnV0ZXMgb2YgYSByZWRp
cmVjdGVkIGlmcmFtZSdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcKK1BBU1MgVmVyaWZ5IGF0
dHJpYnV0ZXMgb2YgYSByZWRpcmVjdGVkIHNjcmlwdCdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1p
bmcKK0ZBSUwgVmVyaWZ5IGF0dHJpYnV0ZXMgb2YgYSByZWRpcmVjdGVkIHN5bmNocm9ub3VzIFhN
TEh0dHBSZXF1ZXN0J3MgUGVyZm9ybWFuY2VSZXNvdXJjZVRpbWluZyBhc3NlcnRfZ3JlYXRlcl90
aGFuOiByZWRpcmVjdFN0YXJ0IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gMCBleHBlY3RlZCBhIG51
bWJlciBncmVhdGVyIHRoYW4gMCBidXQgZ290IDAKK0ZBSUwgVmVyaWZ5IGF0dHJpYnV0ZXMgb2Yg
YSBzeW5jaHJvbm91cyBYTUxIdHRwUmVxdWVzdCdzIFBlcmZvcm1hbmNlUmVzb3VyY2VUaW1pbmcg
d2hlcmUgdGhlIGluaXRpYWwgSFRUUCByZXF1ZXN0IGlzIHJlZGlyZWN0ZWQgdG8gYSBjcm9zcy1v
cmlnaW4gSFRUUFMgcmVzb3VyY2UuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5ldHdvcmtFcnJvcjogIEEgbmV0d29yayBlcnJvciBvY2N1cnJl
ZC4iCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYjU1
YzBjYmNlMjhkN2ExOGIyMjgxNTYyZTE3MDM1NDgyZjE5ZmExZi4uOTY5NDEzM2YzODIwMzVjMDQw
MDc5ODNiNWNjMjBlOWQzMmJlODlkNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RF
eHBlY3RhdGlvbnMKQEAgLTQzNDEsNiArNDM0MSw3IEBAIHdlYmtpdC5vcmcvYi8yMDI5NDkgaHR0
cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS9ub24tZG9jdW1lbnQtbWl4ZWQtY29udGVudC1i
CiB3ZWJraXQub3JnL2IvMjAyOTQ5IGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvbm9u
LWRvY3VtZW50LW1peGVkLWNvbnRlbnQtYmxvY2tlZC1odHRwLXdpdGgtZW1iZWRkZWQtaHR0cHMu
aHRtbCBbIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMjAyOTU0IGh0dHAvd3B0L3Jlc291cmNl
LXRpbWluZy9ydC1yZXNvdXJjZXMtcGVyLXdvcmtlci5odG1sIFsgRmFpbHVyZSBdCitodHRwL3dw
dC9yZXNvdXJjZS10aW1pbmcvcnQtcmV2YWxpZGF0ZS1yZXF1ZXN0cy0yLmh0bWwgWyBGYWlsdXJl
IF0KIAogd2Via2l0Lm9yZy9iLzIwMjk1MSBmYXN0L2NhbnZhcy9kcmF3SW1hZ2UtYW5pbWF0ZWQt
Z2lmLWRyYXdzLWZpcnN0LWZyYW1lLWFuZC1uby1yZXNldC1pbWFnZS5odG1sIFsgVGltZW91dCBd
CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>