<?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>204262</bug_id>
          
          <creation_ts>2019-11-15 16:33:24 -0800</creation_ts>
          <short_desc>Resource Load Statistics: Count third-party script loads under top frame</short_desc>
          <delta_ts>2019-11-19 12:35:30 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="John Wilander">wilander</reporter>
          <assigned_to name="John Wilander">wilander</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1590743</commentid>
    <comment_count>0</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2019-11-15 16:33:24 -0800</bug_when>
    <thetext>Third-party scripts running in the first-party context are a significant privacy and security risk. We should capture the number of such script loads to allow ITP to take action.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1590744</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-11-15 16:33:52 -0800</bug_when>
    <thetext>&lt;rdar://problem/57244945&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1590762</commentid>
    <comment_count>2</comment_count>
      <attachid>383670</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2019-11-15 17:07:55 -0800</bug_when>
    <thetext>Created attachment 383670
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1590763</commentid>
    <comment_count>3</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2019-11-15 17:09:28 -0800</bug_when>
    <thetext>Kate, please have a look at the changes to the DB store. I&apos;m adding a new data category and want to know if I got it right. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1590775</commentid>
    <comment_count>4</comment_count>
      <attachid>383675</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2019-11-15 17:26:12 -0800</bug_when>
    <thetext>Created attachment 383675
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1590777</commentid>
    <comment_count>5</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2019-11-15 17:26:31 -0800</bug_when>
    <thetext>Added a negative test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1590875</commentid>
    <comment_count>6</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2019-11-16 10:47:34 -0800</bug_when>
    <thetext>iOS-wk2 test failure is unrelated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1590947</commentid>
    <comment_count>7</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2019-11-17 10:31:35 -0800</bug_when>
    <thetext>(In reply to John Wilander from comment #3)
&gt; Kate, please have a look at the changes to the DB store. I&apos;m adding a new
&gt; data category and want to know if I got it right. Thanks!

This looks good to me re: database changes!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1591235</commentid>
    <comment_count>8</comment_count>
      <attachid>383675</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-11-18 14:14:30 -0800</bug_when>
    <thetext>Comment on attachment 383675
Patch

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

&gt; Source/WebCore/loader/ResourceLoadObserver.h:41
&gt; +    enum class IsScriptLikeSubresource : bool { Yes, No };

I don&apos;t think this is a good name.  I think instead isScriptLikeDestination should be renamed to something more descriptive of what is going on.
Also, its implementation says it has something to do with service workers, but I don&apos;t see any tests involving service workers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1591237</commentid>
    <comment_count>9</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2019-11-18 14:24:42 -0800</bug_when>
    <thetext>(In reply to Alex Christensen from comment #8)
&gt; Comment on attachment 383675 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=383675&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/loader/ResourceLoadObserver.h:41
&gt; &gt; +    enum class IsScriptLikeSubresource : bool { Yes, No };
&gt; 
&gt; I don&apos;t think this is a good name.  I think instead isScriptLikeDestination
&gt; should be renamed to something more descriptive of what is going on.

I assume you mean IsScriptLikeSubresource should be renamed. Any suggestions? At least the direction you would like it to go.

&gt; Also, its implementation says it has something to do with service workers,
&gt; but I don&apos;t see any tests involving service workers.

I created such a test case but we don’t allow cross-origin ServiceWorkers in the top frame context. Throws a security error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1591305</commentid>
    <comment_count>10</comment_count>
      <attachid>383675</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-11-18 16:17:01 -0800</bug_when>
    <thetext>Comment on attachment 383675
Patch

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

r=me other than that.

&gt;&gt;&gt; Source/WebCore/loader/ResourceLoadObserver.h:41
&gt;&gt;&gt; +    enum class IsScriptLikeSubresource : bool { Yes, No };
&gt;&gt; 
&gt;&gt; I don&apos;t think this is a good name.  I think instead isScriptLikeDestination should be renamed to something more descriptive of what is going on.
&gt;&gt; Also, its implementation says it has something to do with service workers, but I don&apos;t see any tests involving service workers.
&gt; 
&gt; I assume you mean IsScriptLikeSubresource should be renamed. Any suggestions? At least the direction you would like it to go.

isScriptLikeDestination -&gt; fetchDestinationIsScriptLike to indicate it is for fetch.  Maybe a link to https://fetch.spec.whatwg.org/#request-destination-script-like somewhere.
IsScriptLikeSubresource isn&apos;t so bad once I understood that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1591312</commentid>
    <comment_count>11</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2019-11-18 16:35:36 -0800</bug_when>
    <thetext>(In reply to Alex Christensen from comment #10)
&gt; Comment on attachment 383675 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=383675&amp;action=review
&gt; 
&gt; r=me other than that.
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/loader/ResourceLoadObserver.h:41
&gt; &gt;&gt;&gt; +    enum class IsScriptLikeSubresource : bool { Yes, No };
&gt; &gt;&gt; 
&gt; &gt;&gt; I don&apos;t think this is a good name.  I think instead isScriptLikeDestination should be renamed to something more descriptive of what is going on.
&gt; &gt;&gt; Also, its implementation says it has something to do with service workers, but I don&apos;t see any tests involving service workers.
&gt; &gt; 
&gt; &gt; I assume you mean IsScriptLikeSubresource should be renamed. Any suggestions? At least the direction you would like it to go.
&gt; 
&gt; isScriptLikeDestination -&gt; fetchDestinationIsScriptLike to indicate it is
&gt; for fetch.  Maybe a link to
&gt; https://fetch.spec.whatwg.org/#request-destination-script-like somewhere.
&gt; IsScriptLikeSubresource isn&apos;t so bad once I understood that.

Got it. I use IsScriptLikeSubresource in two call sites – in FrameLoader::loadResourceSynchronously() and in SubresourceLoader::willSendRequestInternal() – and in both places I&apos;m in code that will perform a subresource load. That&apos;s why I named it that way, so that future call sites would understand. But I also considered sending the full options().destination in instead. Would that be better?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1591622</commentid>
    <comment_count>12</comment_count>
      <attachid>383889</attachid>
    <who name="John Wilander">wilander</who>
    <bug_when>2019-11-19 11:49:08 -0800</bug_when>
    <thetext>Created attachment 383889
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1591633</commentid>
    <comment_count>13</comment_count>
    <who name="John Wilander">wilander</who>
    <bug_when>2019-11-19 12:02:15 -0800</bug_when>
    <thetext>Thanks, Kate and Alex!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1591647</commentid>
    <comment_count>14</comment_count>
      <attachid>383889</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-19 12:35:28 -0800</bug_when>
    <thetext>Comment on attachment 383889
Patch for landing

Clearing flags on attachment: 383889

Committed r252641: &lt;https://trac.webkit.org/changeset/252641&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1591648</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-11-19 12:35:30 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>383670</attachid>
            <date>2019-11-15 17:07:55 -0800</date>
            <delta_ts>2019-11-15 17:26:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204262-20191115170754.patch</filename>
            <type>text/plain</type>
            <size>52173</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyNTEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGFhODA5ZDFiOGMxNzhk
N2ZjZGU2Y2M0OWYxZGZhYTE2Yzk3OTI5MC4uNjhiNzU5MWJkNjQ4NDI5NTliYTk3Mjc5NGRhM2E2
ZjUzNWEyOTk0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE5LTExLTE1ICBKb2hu
IFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQg
U3RhdGlzdGljczogQ291bnQgdGhpcmQtcGFydHkgc2NyaXB0IGxvYWRzIHVuZGVyIHRvcCBmcmFt
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0MjYy
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NzI0NDk0NT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlyZC1wYXJ0eSBzY3JpcHRzIHJ1bm5pbmcg
aW4gdGhlIGZpcnN0LXBhcnR5IGNvbnRleHQgYXJlIGEgc2lnbmlmaWNhbnQgcHJpdmFjeQorICAg
ICAgICBhbmQgc2VjdXJpdHkgcmlzay4gVGhpcyBjaGFuZ2UgY2FwdHVyZXMgdGhlIG51bWJlciBv
ZiBzdWNoIHNjcmlwdCBsb2FkcyB3aGljaCB3aWxsCisgICAgICAgIGFsbG93IElUUCB0byB0YWtl
IGFjdGlvbi4KKworICAgICAgICBUZXN0czogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4td29ya2VyLWRhdGFiYXNlLmh0
bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3Vu
dC10aGlyZC1wYXJ0eS1zY3JpcHQtaW1wb3J0LWluLXdvcmtlci5odG1sCisgICAgICAgICAgICAg
ICBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2Ny
aXB0LWxvYWRzLWRhdGFiYXNlLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMuaHRtbAorCisg
ICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
TG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KToKKyAgICAgICAgICAgIE5vdyBzZW5k
cyB0aGUgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OklzU2NyaXB0TGlrZVN1YnJlc291cmNlIHBhcmFt
ZXRlciB0bworICAgICAgICAgICAgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OmxvZ1N1YnJlc291cmNl
TG9hZGluZygpLgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWRPYnNlcnZlci5oOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OmxvZ1N1YnJlc291cmNlTG9hZGlu
Zyk6CisgICAgICAgICAgICBOb3cgdGFrZXMgYSBJc1NjcmlwdExpa2VTdWJyZXNvdXJjZSBwYXJh
bWV0ZXIuCisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljczo6ZW5jb2RlIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZFN0YXRpc3RpY3M6OmRlY29kZSk6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzOjp0b1N0cmluZyBjb25zdCk6CisgICAg
ICAgICAgICBPdXRwdXQgb2YgdGhlIG5ldyB0b3BGcmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRz
IGNhdGVnb3J5LgorICAgICAgICAgICAgUmVtb3ZlZCB0aGUgbGFzdFNlZW4gb3V0cHV0IHNpbmNl
IGl0IG1heSBkaWZmZXIgYmV0d2VlbiB0ZXN0IHJ1bnMuCisgICAgICAgIChXZWJDb3JlOjpSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzOjptZXJnZSk6CisgICAgICAgICAgICBIYW5kbGluZyBvZiB0aGUg
bmV3IHRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHMgY2F0ZWdvcnkuCisgICAgICAgICog
bG9hZGVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MuaDoKKyAgICAgICAgICAgIEFkZGVkIHRoZSBu
ZXcgdG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0cyBjYXRlZ29yeS4KKyAgICAgICAgKiBs
b2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3VicmVzb3Vy
Y2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdEludGVybmFsKToKKyAgICAgICAgICAgIE5vdyBzZW5k
cyB0aGUgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OklzU2NyaXB0TGlrZVN1YnJlc291cmNlIHBhcmFt
ZXRlciB0bworICAgICAgICAgICAgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OmxvZ1N1YnJlc291cmNl
TG9hZGluZygpLgorCiAyMDE5LTExLTE1ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29t
PgogCiAgICAgICAgIENSQVNIIGluIFNvdXJjZUJ1ZmZlcjo6cmVtb3ZlQ29kZWRGcmFtZXMoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCAxYmM1NmVmYWE2NDdkNDA2NzEyYjdiNjU4ZGQwYmMzY2ViYjc3Y2ZhLi43YWYx
MWVlYWRkNWE3NjgyMTZhY2I5OTgwNWY4YWFhYWMxOWYxYWU5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDQwIEBACisyMDE5LTExLTE1ICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgor
CisgICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczogQ291bnQgdGhpcmQtcGFydHkgc2Ny
aXB0IGxvYWRzIHVuZGVyIHRvcCBmcmFtZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA0MjYyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NzI0NDk0
NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGly
ZC1wYXJ0eSBzY3JpcHRzIHJ1bm5pbmcgaW4gdGhlIGZpcnN0LXBhcnR5IGNvbnRleHQgYXJlIGEg
c2lnbmlmaWNhbnQgcHJpdmFjeQorICAgICAgICBhbmQgc2VjdXJpdHkgcmlzay4gVGhpcyBjaGFu
Z2UgY2FwdHVyZXMgdGhlIG51bWJlciBvZiBzdWNoIHNjcmlwdCBsb2FkcyB3aGljaCB3aWxsCisg
ICAgICAgIGFsbG93IElUUCB0byB0YWtlIGFjdGlvbi4KKworICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6UmVz
b3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUpOgorICAgICAgICAoV2ViS2l0OjpSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6Y3JlYXRlVW5pcXVlSW5kaWNlcyk6Cisg
ICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjpjcmVh
dGVTY2hlbWEpOgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJh
c2VTdG9yZTo6cHJlcGFyZVN0YXRlbWVudHMpOgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6aW5zZXJ0RG9tYWluUmVsYXRpb25zaGlwcyk6Cisg
ICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjpnZXRT
dWJTdGF0aXN0aWNTdGF0ZW1lbnQpOgorICAgICAgICAgICAgQWRkaXRpb24gb2YgdGhlIG5ldyBj
YXRlZ29yeSBUb3BGcmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzLgorICAgICAgICAoV2ViS2l0
OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6cmVzb3VyY2VUb1N0cmluZyk6
CisgICAgICAgICAgICBSZW1vdmVkIHRoZSBsYXN0U2VlbiBvdXRwdXQgc2luY2UgaXQgbWF5IGRp
ZmZlciBiZXR3ZWVuIHRlc3QgcnVucy4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9DbGFzc2lm
aWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmg6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUu
Y3BwOgorICAgICAgICAgICAgQnVtcGVkIHN0YXRpc3RpY3NNb2RlbFZlcnNpb24gdG8gMTcuCisg
ICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHA6CisgICAgICAgIChJUEM6
OkFyZ3VtZW50Q29kZXI8UmVzb3VyY2VMb2FkU3RhdGlzdGljcz46OmVuY29kZSk6CisgICAgICAg
IChJUEM6OkFyZ3VtZW50Q29kZXI8UmVzb3VyY2VMb2FkU3RhdGlzdGljcz46OmRlY29kZSk6Cisg
ICAgICAgICAgICBFbmNvZGluZyBhbmQgZGVjb2Rpbmcgb2YgdGhlIG5ldyBjYXRlZ29yeSB0b3BG
cmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJSZXNvdXJjZUxvYWRPYnNlcnZlcjo6bG9nU3VicmVzb3VyY2VMb2FkaW5nKToKKyAgICAgICAg
ICAgIE5vdyB0YWtlcyBhbiBhZGRpdGlvbmFsIGVudW0gcGFyYW1ldGVyIElzU2NyaXB0TGlrZVN1
YnJlc291cmNlIHdoaWNoCisgICAgICAgICAgICBpcyB1c2VkIHRvIGRldGVjdCB0aGlyZC1wYXJ0
eSBzY3JpcHQtbGlrZSBsb2FkcyAoc2NyaXB0LCB3b3JrZXIsIG9yCisgICAgICAgICAgICBzZXJ2
aWNlIHdvcmtlcikgZnJvbSB0aGlyZC1wYXJ0aWVzLiBJZiBvbmUgaXMgZGV0ZWN0ZWQsIGl0IGlz
IHN0b3JlZAorICAgICAgICAgICAgaW4gdGhlIG5ldyB0b3BGcmFtZUxvYWRlZFRoaXJkUGFydHlT
Y3JpcHRzIGNhdGVnb3J5LgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
UmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaDoKKwogMjAxOS0xMS0xNSAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBtb3JlIHJlbGVhc2UgbG9nZ2luZyBmb3IgbmV0
d29yayBsb2FkIHJlc3RhcnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRl
eCAxMDE2NjllNzRjMTI3NzUzZDcyMWU0NGNkMWFiMGMzYzA4NWM5ZjY4Li5lOTk1ODlkYTE2ODY0
YjdlNWYwOTJjNGExMDNjNTQ2YzIyYWQ3MzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5jcHAKQEAgLTMxNTAsNyArMzE1MCw4IEBAIHVuc2lnbmVkIGxvbmcgRnJhbWVMb2FkZXI6
OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1CiAg
ICAgICAgICAgICBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+bG9hZFJl
c291cmNlU3luY2hyb25vdXNseSgqdGhpcywgaWRlbnRpZmllciwgbmV3UmVxdWVzdCwgY2xpZW50
Q3JlZGVudGlhbFBvbGljeSwgb3B0aW9ucywgb3JpZ2luYWxSZXF1ZXN0SGVhZGVycywgZXJyb3Is
IHJlc3BvbnNlLCBidWZmZXIpOwogICAgICAgICAgICAgZGF0YSA9IFNoYXJlZEJ1ZmZlcjo6Y3Jl
YXRlKFdURk1vdmUoYnVmZmVyKSk7CiAgICAgICAgICAgICBkb2N1bWVudExvYWRlcigpLT5hcHBs
aWNhdGlvbkNhY2hlSG9zdCgpLm1heWJlTG9hZEZhbGxiYWNrU3luY2hyb25vdXNseShuZXdSZXF1
ZXN0LCBlcnJvciwgcmVzcG9uc2UsIGRhdGEpOwotICAgICAgICAgICAgUmVzb3VyY2VMb2FkT2Jz
ZXJ2ZXI6OnNoYXJlZCgpLmxvZ1N1YnJlc291cmNlTG9hZGluZygmbV9mcmFtZSwgbmV3UmVxdWVz
dCwgcmVzcG9uc2UpOworICAgICAgICAgICAgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNoYXJlZCgp
LmxvZ1N1YnJlc291cmNlTG9hZGluZygmbV9mcmFtZSwgbmV3UmVxdWVzdCwgcmVzcG9uc2UsCisg
ICAgICAgICAgICAgICAgKGlzU2NyaXB0TGlrZURlc3RpbmF0aW9uKG9wdGlvbnMuZGVzdGluYXRp
b24pID8gUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OklzU2NyaXB0TGlrZVN1YnJlc291cmNlOjpZZXMg
OiBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6SXNTY3JpcHRMaWtlU3VicmVzb3VyY2U6Ok5vKSk7CiAg
ICAgICAgIH0KICAgICB9CiAgICAgbm90aWZpZXIoKS5zZW5kUmVtYWluaW5nRGVsZWdhdGVNZXNz
YWdlcyhtX2RvY3VtZW50TG9hZGVyLmdldCgpLCBpZGVudGlmaWVyLCByZXF1ZXN0LCByZXNwb25z
ZSwgZGF0YSA/IGRhdGEtPmRhdGEoKSA6IG51bGxwdHIsIGRhdGEgPyBkYXRhLT5zaXplKCkgOiAw
LCAtMSwgZXJyb3IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNl
TG9hZE9ic2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2
ZXIuaAppbmRleCBmZDY1MTU1YWVlODk5NmMzNTQ1OGE2ZmFlMmZkM2JmYzQxNGYwYjlmLi4wNDFj
Mjk5Yjc2ZTVhZjkyY2I4MzVlNzZkMGViZWZkNTZhMjVhZDU3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaApAQCAtMzgsMTMgKzM4LDE1IEBAIGNsYXNz
IFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBSZXNvdXJjZUxvYWRPYnNlcnZlciB7CiAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgZW51bSBjbGFzcyBJc1NjcmlwdExp
a2VTdWJyZXNvdXJjZSA6IGJvb2wgeyBZZXMsIE5vIH07CisKICAgICBXRUJDT1JFX0VYUE9SVCBz
dGF0aWMgUmVzb3VyY2VMb2FkT2JzZXJ2ZXImIHNoYXJlZCgpOwogICAgIFdFQkNPUkVfRVhQT1JU
IHN0YXRpYyBSZXNvdXJjZUxvYWRPYnNlcnZlciogc2hhcmVkSWZFeGlzdHMoKTsKICAgICBXRUJD
T1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBzZXRTaGFyZWQoUmVzb3VyY2VMb2FkT2JzZXJ2ZXImKTsK
ICAgICAKICAgICB2aXJ0dWFsIH5SZXNvdXJjZUxvYWRPYnNlcnZlcigpIHsgfQogCi0gICAgdmly
dHVhbCB2b2lkIGxvZ1N1YnJlc291cmNlTG9hZGluZyhjb25zdCBGcmFtZSosIGNvbnN0IFJlc291
cmNlUmVxdWVzdCYgLyogbmV3UmVxdWVzdCAqLywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgLyog
cmVkaXJlY3RSZXNwb25zZSAqLykgeyB9CisgICAgdmlydHVhbCB2b2lkIGxvZ1N1YnJlc291cmNl
TG9hZGluZyhjb25zdCBGcmFtZSosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgLyogbmV3UmVxdWVz
dCAqLywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgLyogcmVkaXJlY3RSZXNwb25zZSAqLywgSXNT
Y3JpcHRMaWtlU3VicmVzb3VyY2UpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBsb2dXZWJTb2NrZXRM
b2FkaW5nKGNvbnN0IFVSTCYgLyogdGFyZ2V0VVJMICovLCBjb25zdCBVUkwmIC8qIG1haW5GcmFt
ZVVSTCAqLykgeyB9CiAgICAgdmlydHVhbCB2b2lkIGxvZ1VzZXJJbnRlcmFjdGlvbldpdGhSZWR1
Y2VkVGltZVJlc29sdXRpb24oY29uc3QgRG9jdW1lbnQmKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQg
bG9nRm9udExvYWQoY29uc3QgRG9jdW1lbnQmLCBjb25zdCBTdHJpbmcmIC8qIGZhbWlseU5hbWUg
Ki8sIGJvb2wgLyogbG9hZFN0YXR1cyAqLykgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5jcHAKaW5kZXggOTQ1OTc3NmVlYThiNzU2Yjg4YjEy
YzYyMTM0NDJmNmJiYTQ0NDYzOC4uNTQ3ODFmOGRiOGYxMTBkNTdlMTk3NTk1NTViZjU3ODViZDg5
NjdiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTdGF0aXN0
aWNzLmNwcApAQCAtOTUsNiArOTUsNyBAQCB2b2lkIFJlc291cmNlTG9hZFN0YXRpc3RpY3M6OmVu
Y29kZShLZXllZEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlSGFzaFNldChlbmNv
ZGVyLCAidG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNGcm9tIl9zLCAiZG9tYWluIl9zLCB0b3BGcmFt
ZVVuaXF1ZVJlZGlyZWN0c0Zyb20pOwogICAgIGVuY29kZUhhc2hTZXQoZW5jb2RlciwgInRvcEZy
YW1lTGlua0RlY29yYXRpb25zRnJvbSJfcywgImRvbWFpbiIsIHRvcEZyYW1lTGlua0RlY29yYXRp
b25zRnJvbSk7CiAgICAgZW5jb2Rlci5lbmNvZGVCb29sKCJnb3RMaW5rRGVjb3JhdGlvbkZyb21Q
cmV2YWxlbnRSZXNvdXJjZSJfcywgZ290TGlua0RlY29yYXRpb25Gcm9tUHJldmFsZW50UmVzb3Vy
Y2UpOworICAgIGVuY29kZUhhc2hTZXQoZW5jb2RlciwgInRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0
eVNjcmlwdHMiX3MsICJkb21haW4iLCB0b3BGcmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzKTsK
IAogICAgIC8vIFN1YmZyYW1lIHN0YXRzCiAgICAgZW5jb2RlSGFzaFNldChlbmNvZGVyLCAic3Vi
ZnJhbWVVbmRlclRvcEZyYW1lRG9tYWlucyJfcywgImRvbWFpbiJfcywgc3ViZnJhbWVVbmRlclRv
cEZyYW1lRG9tYWlucyk7CkBAIC0yMjUsNiArMjI2LDEzIEBAIGJvb2wgUmVzb3VyY2VMb2FkU3Rh
dGlzdGljczo6ZGVjb2RlKEtleWVkRGVjb2RlciYgZGVjb2RlciwgdW5zaWduZWQgbW9kZWxWZXJz
aW9uCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCisgICAgaWYgKG1vZGVsVmVy
c2lvbiA+PSAxNykgeworICAgICAgICBIYXNoQ291bnRlZFNldDxSZWdpc3RyYWJsZURvbWFpbj4g
dG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0c0NvdW50ZWQ7CisgICAgICAgIGRlY29kZUhh
c2hDb3VudGVkU2V0KGRlY29kZXIsICJ0b3BGcmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzIiwg
dG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0c0NvdW50ZWQpOworICAgICAgICBmb3IgKGF1
dG8mIGRvbWFpbiA6IHRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHNDb3VudGVkLnZhbHVl
cygpKQorICAgICAgICAgICAgdG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0cy5hZGQoZG9t
YWluKTsKKyAgICB9CisKICAgICAvLyBTdWJmcmFtZSBzdGF0cwogICAgIGlmIChtb2RlbFZlcnNp
b24gPj0gMTUpCiAgICAgICAgIGRlY29kZUhhc2hTZXQoZGVjb2RlciwgInN1YmZyYW1lVW5kZXJU
b3BGcmFtZURvbWFpbnMiLCAiZG9tYWluIiwgc3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWlucyk7
CkBAIC00MTEsMTAgKzQxOSw3IEBAIFN0cmluZyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzOjp0b1N0
cmluZygpIGNvbnN0CiAgICAgYnVpbGRlci5hcHBlbmRMaXRlcmFsKCJSZWdpc3RyYWJsZSBkb21h
aW46ICIpOwogICAgIGJ1aWxkZXIuYXBwZW5kKHJlZ2lzdHJhYmxlRG9tYWluLnN0cmluZygpKTsK
ICAgICBidWlsZGVyLmFwcGVuZCgnXG4nKTsKLSAgICBidWlsZGVyLmFwcGVuZExpdGVyYWwoIiAg
ICBsYXN0U2VlbjogIik7Ci0gICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcihs
YXN0U2Vlbi5zZWNvbmRzU2luY2VFcG9jaCgpLnZhbHVlKCkpOwotICAgIGJ1aWxkZXIuYXBwZW5k
KCdcbicpOwotICAgIAorCiAgICAgLy8gVXNlciBpbnRlcmFjdGlvbgogICAgIGFwcGVuZEJvb2xl
YW4oYnVpbGRlciwgImhhZFVzZXJJbnRlcmFjdGlvbiIsIGhhZFVzZXJJbnRlcmFjdGlvbik7CiAg
ICAgYnVpbGRlci5hcHBlbmQoJ1xuJyk7CkBAIC00MzIsNiArNDM3LDggQEAgU3RyaW5nIFJlc291
cmNlTG9hZFN0YXRpc3RpY3M6OnRvU3RyaW5nKCkgY29uc3QKICAgICBhcHBlbmRIYXNoU2V0KGJ1
aWxkZXIsICJ0b3BGcmFtZVVuaXF1ZVJlZGlyZWN0c0Zyb20iLCB0b3BGcmFtZVVuaXF1ZVJlZGly
ZWN0c0Zyb20pOwogICAgIGFwcGVuZEhhc2hTZXQoYnVpbGRlciwgInRvcEZyYW1lTGlua0RlY29y
YXRpb25zRnJvbSIsIHRvcEZyYW1lTGlua0RlY29yYXRpb25zRnJvbSk7CiAgICAgYXBwZW5kQm9v
bGVhbihidWlsZGVyLCAiZ290TGlua0RlY29yYXRpb25Gcm9tUHJldmFsZW50UmVzb3VyY2UiLCBn
b3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZSk7CisgICAgYnVpbGRlci5hcHBl
bmQoJ1xuJyk7CisgICAgYXBwZW5kSGFzaFNldChidWlsZGVyLCAidG9wRnJhbWVMb2FkZWRUaGly
ZFBhcnR5U2NyaXB0cyIsIHRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHMpOwogCiAgICAg
Ly8gU3ViZnJhbWUgc3RhdHMKICAgICBhcHBlbmRIYXNoU2V0KGJ1aWxkZXIsICJzdWJmcmFtZVVu
ZGVyVG9wRnJhbWVEb21haW5zIiwgc3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWlucyk7CkBAIC01
MDgsNiArNTE1LDcgQEAgdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzOjptZXJnZShjb25zdCBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzJiBvdGhlcikKICAgICBtZXJnZUhhc2hTZXQodG9wRnJhbWVV
bmlxdWVSZWRpcmVjdHNGcm9tLCBvdGhlci50b3BGcmFtZVVuaXF1ZVJlZGlyZWN0c0Zyb20pOwog
ICAgIG1lcmdlSGFzaFNldCh0b3BGcmFtZUxpbmtEZWNvcmF0aW9uc0Zyb20sIG90aGVyLnRvcEZy
YW1lTGlua0RlY29yYXRpb25zRnJvbSk7CiAgICAgZ290TGlua0RlY29yYXRpb25Gcm9tUHJldmFs
ZW50UmVzb3VyY2UgfD0gb3RoZXIuZ290TGlua0RlY29yYXRpb25Gcm9tUHJldmFsZW50UmVzb3Vy
Y2U7CisgICAgbWVyZ2VIYXNoU2V0KHRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHMsIG90
aGVyLnRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHMpOwogCiAgICAgLy8gU3ViZnJhbWUg
c3RhdHMKICAgICBtZXJnZUhhc2hTZXQoc3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWlucywgb3Ro
ZXIuc3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWlucyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5oIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MuaAppbmRleCA1YjA4ZTgwZjRmYjk4YTAzYTNjNjM0
OWYwNGYxYjE2MzVmMmU4N2E5Li43ZTI2NTNkMGJlMWNlYzI0ZDUwMGYzYWJjY2IyZWEyZjY2OTVl
NmM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU3RhdGlz
dGljcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNz
LmgKQEAgLTgwLDYgKzgwLDcgQEAgc3RydWN0IFJlc291cmNlTG9hZFN0YXRpc3RpY3MgewogICAg
IEhhc2hTZXQ8UmVnaXN0cmFibGVEb21haW4+IHRvcEZyYW1lVW5pcXVlUmVkaXJlY3RzRnJvbTsK
ICAgICBIYXNoU2V0PFJlZ2lzdHJhYmxlRG9tYWluPiB0b3BGcmFtZUxpbmtEZWNvcmF0aW9uc0Zy
b207CiAgICAgYm9vbCBnb3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZSB7IGZh
bHNlIH07CisgICAgSGFzaFNldDxSZWdpc3RyYWJsZURvbWFpbj4gdG9wRnJhbWVMb2FkZWRUaGly
ZFBhcnR5U2NyaXB0czsKIAogICAgIC8vIFN1YmZyYW1lIHN0YXRzCiAgICAgSGFzaFNldDxSZWdp
c3RyYWJsZURvbWFpbj4gc3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWluczsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGY0NzhkZjBjMDQyZDljNzIy
NGMxYmVjODMzYjRmNTI0ZDFlOGY0NDYuLjYxOWQ5M2RhMjcyMGQ2MzE5NDRjMjEyZGM4ODI5MzZj
OTY0NzhkOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxv
YWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNw
cApAQCAtMTk1LDcgKzE5NSw4IEBAIHZvaWQgU3VicmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVx
dWVzdEludGVybmFsKFJlc291cmNlUmVxdWVzdCYmIG5ld1JlcXVlc3QsIGNvCiAKICAgICBpZiAo
bmV3UmVxdWVzdC5yZXF1ZXN0ZXIoKSAhPSBSZXNvdXJjZVJlcXVlc3RCYXNlOjpSZXF1ZXN0ZXI6
Ok1haW4pIHsKICAgICAgICAgdHJhY2VQb2ludChTdWJyZXNvdXJjZUxvYWRXaWxsU3RhcnQpOwot
ICAgICAgICBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkKCkubG9nU3VicmVzb3VyY2VMb2Fk
aW5nKG1fZnJhbWUuZ2V0KCksIG5ld1JlcXVlc3QsIHJlZGlyZWN0UmVzcG9uc2UpOworICAgICAg
ICBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkKCkubG9nU3VicmVzb3VyY2VMb2FkaW5nKG1f
ZnJhbWUuZ2V0KCksIG5ld1JlcXVlc3QsIHJlZGlyZWN0UmVzcG9uc2UsCisgICAgICAgICAgICAo
aXNTY3JpcHRMaWtlRGVzdGluYXRpb24ob3B0aW9ucygpLmRlc3RpbmF0aW9uKSA/IFJlc291cmNl
TG9hZE9ic2VydmVyOjpJc1NjcmlwdExpa2VTdWJyZXNvdXJjZTo6WWVzIDogUmVzb3VyY2VMb2Fk
T2JzZXJ2ZXI6OklzU2NyaXB0TGlrZVN1YnJlc291cmNlOjpObykpOwogICAgIH0KIAogICAgIGF1
dG8gY29udGludWVXaWxsU2VuZFJlcXVlc3QgPSBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VS
ZWYoKnRoaXMpLCByZWRpcmVjdFJlc3BvbnNlXSAoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZXNv
dXJjZVJlcXVlc3QmJik+JiYgY29tcGxldGlvbkhhbmRsZXIsIFJlc291cmNlUmVxdWVzdCYmIG5l
d1JlcXVlc3QpIG11dGFibGUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmNwcCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRGF0YWJhc2VTdG9yZS5jcHAKaW5kZXggZmVjMWNjYzg5ZDEwMzEzODQ2NDE5ODI3NDAz
YWVhMjJlOTQ1NWFiOS4uMjRkYjIwYmM1MzYwNDNkYjM3NzQ4MWU0MDg3MzkxMzlmZjhjZjIwZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3Rv
cmUuY3BwCkBAIC04Myw2ICs4Myw3IEBAIGNvbnN0ZXhwciBhdXRvIHRvcEZyYW1lVW5pcXVlUmVk
aXJlY3RzVG9RdWVyeSA9ICJJTlNFUlQgT1IgSUdOT1JFIGludG8gVG9wRnJhbWVVCiBjb25zdGV4
cHIgYXV0byBzdWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW5zUXVlcnkgPSAiSU5TRVJUIE9SIElH
Tk9SRSBpbnRvIFN1YmZyYW1lVW5kZXJUb3BGcmFtZURvbWFpbnMgKHN1YkZyYW1lRG9tYWluSUQs
IHRvcEZyYW1lRG9tYWluSUQpIFNFTEVDVCA/LCBkb21haW5JRCBGUk9NIE9ic2VydmVkRG9tYWlu
cyB3aGVyZSByZWdpc3RyYWJsZURvbWFpbiBpbiAoICJfczsKIGNvbnN0ZXhwciBhdXRvIHRvcEZy
YW1lVW5pcXVlUmVkaXJlY3RzRnJvbVF1ZXJ5ID0gIklOU0VSVCBPUiBJR05PUkUgSU5UTyBUb3BG
cmFtZVVuaXF1ZVJlZGlyZWN0c0Zyb20gKHRhcmdldERvbWFpbklELCBmcm9tRG9tYWluSUQpIFNF
TEVDVCA/LCBkb21haW5JRCBGUk9NIE9ic2VydmVkRG9tYWlucyBXSEVSRSByZWdpc3RyYWJsZURv
bWFpbiBpbiAoICJfczsKIGNvbnN0ZXhwciBhdXRvIHRvcEZyYW1lTGlua0RlY29yYXRpb25zRnJv
bVF1ZXJ5ID0gIklOU0VSVCBPUiBJR05PUkUgSU5UTyBUb3BGcmFtZUxpbmtEZWNvcmF0aW9uc0Zy
b20gKHRvRG9tYWluSUQsIGZyb21Eb21haW5JRCkgU0VMRUNUID8sIGRvbWFpbklEIEZST00gT2Jz
ZXJ2ZWREb21haW5zIFdIRVJFIHJlZ2lzdHJhYmxlRG9tYWluIGluICggIl9zOworY29uc3RleHBy
IGF1dG8gdG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0c1F1ZXJ5ID0gIklOU0VSVCBPUiBJ
R05PUkUgaW50byBUb3BGcmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzICh0b3BGcmFtZURvbWFp
bklELCBzdWJyZXNvdXJjZURvbWFpbklEKSBTRUxFQ1QgPywgZG9tYWluSUQgRlJPTSBPYnNlcnZl
ZERvbWFpbnMgd2hlcmUgcmVnaXN0cmFibGVEb21haW4gaW4gKCAiX3M7CiBjb25zdGV4cHIgYXV0
byBzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVEb21haW5zUXVlcnkgPSAiSU5TRVJUIE9SIElHTk9S
RSBJTlRPIFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZURvbWFpbnMgKHN1YnJlc291cmNlRG9tYWlu
SUQsIHRvcEZyYW1lRG9tYWluSUQpIFNFTEVDVCA/LCBkb21haW5JRCBGUk9NIE9ic2VydmVkRG9t
YWlucyBXSEVSRSByZWdpc3RyYWJsZURvbWFpbiBpbiAoICJfczsKIGNvbnN0ZXhwciBhdXRvIHN1
YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9RdWVyeSA9ICJJTlNFUlQgT1IgSUdOT1JFIElOVE8g
U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUbyAoc3VicmVzb3VyY2VEb21haW5JRCwgdG9Eb21h
aW5JRCkgU0VMRUNUID8sIGRvbWFpbklEIEZST00gT2JzZXJ2ZWREb21haW5zIFdIRVJFIHJlZ2lz
dHJhYmxlRG9tYWluIGluICggIl9zOwogY29uc3RleHByIGF1dG8gc3VicmVzb3VyY2VVbmlxdWVS
ZWRpcmVjdHNGcm9tUXVlcnkgPSAiSU5TRVJUIE9SIElHTk9SRSBJTlRPIFN1YnJlc291cmNlVW5p
cXVlUmVkaXJlY3RzRnJvbSAoc3VicmVzb3VyY2VEb21haW5JRCwgZnJvbURvbWFpbklEKSBTRUxF
Q1QgPywgZG9tYWluSUQgRlJPTSBPYnNlcnZlZERvbWFpbnMgV0hFUkUgcmVnaXN0cmFibGVEb21h
aW4gaW4gKCAiX3M7CkBAIC05NSw3ICs5Niw5IEBAIGNvbnN0ZXhwciBhdXRvIHN1YnJlc291cmNl
VW5kZXJUb3BGcmFtZURvbWFpbkV4aXN0c1F1ZXJ5ID0gIlNFTEVDVCBFWElTVFMgKFNFTEVDCiBj
b25zdGV4cHIgYXV0byBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvRXhpc3RzUXVlcnkgPSAi
U0VMRUNUIEVYSVNUUyAoU0VMRUNUIDEgRlJPTSBTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1Rv
IFdIRVJFIHN1YnJlc291cmNlRG9tYWluSUQgPSA/ICIKICAgICAiQU5EIHRvRG9tYWluSUQgPSAo
U0VMRUNUIGRvbWFpbklEIEZST00gT2JzZXJ2ZWREb21haW5zIFdIRVJFIHJlZ2lzdHJhYmxlRG9t
YWluID0gPykpIl9zOwogY29uc3RleHByIGF1dG8gdG9wRnJhbWVMaW5rRGVjb3JhdGlvbnNGcm9t
RXhpc3RzUXVlcnkgPSAiU0VMRUNUIEVYSVNUUyAoU0VMRUNUIDEgRlJPTSBUb3BGcmFtZUxpbmtE
ZWNvcmF0aW9uc0Zyb20gV0hFUkUgdG9Eb21haW5JRCA9ID8gIgotIkFORCBmcm9tRG9tYWluSUQg
PSAoU0VMRUNUIGRvbWFpbklEIEZST00gT2JzZXJ2ZWREb21haW5zIFdIRVJFIHJlZ2lzdHJhYmxl
RG9tYWluID0gPykpIl9zOworICAgICJBTkQgZnJvbURvbWFpbklEID0gKFNFTEVDVCBkb21haW5J
RCBGUk9NIE9ic2VydmVkRG9tYWlucyBXSEVSRSByZWdpc3RyYWJsZURvbWFpbiA9ID8pKSJfczsK
K2NvbnN0ZXhwciBhdXRvIHRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHNFeGlzdHNRdWVy
eSA9ICJTRUxFQ1QgRVhJU1RTIChTRUxFQ1QgMSBGUk9NIFRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0
eVNjcmlwdHMgV0hFUkUgdG9wRnJhbWVEb21haW5JRCA9ID8gIgorICAgICJBTkQgc3VicmVzb3Vy
Y2VEb21haW5JRCA9IChTRUxFQ1QgZG9tYWluSUQgRlJPTSBPYnNlcnZlZERvbWFpbnMgV0hFUkUg
cmVnaXN0cmFibGVEb21haW4gPSA/KSkiX3M7CiAKIC8vIFVQREFURSBRdWVyaWVzCiBjb25zdGV4
cHIgYXV0byBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uUXVlcnkgPSAiVVBEQVRFIE9ic2VydmVk
RG9tYWlucyBTRVQgaGFkVXNlckludGVyYWN0aW9uID0gPywgbW9zdFJlY2VudFVzZXJJbnRlcmFj
dGlvblRpbWUgPSA/ICIKQEAgLTE2Niw2ICsxNjksMTEgQEAgY29uc3RleHByIGF1dG8gY3JlYXRl
VG9wRnJhbWVMaW5rRGVjb3JhdGlvbnNGcm9tID0gIkNSRUFURSBUQUJMRSBUb3BGcmFtZUxpbmtE
ZWMKICAgICAiRk9SRUlHTiBLRVkodG9Eb21haW5JRCkgUkVGRVJFTkNFUyBUb3BMZXZlbERvbWFp
bnModG9wTGV2ZWxEb21haW5JRCkgT04gREVMRVRFIENBU0NBREUsICIKICAgICAiRk9SRUlHTiBL
RVkoZnJvbURvbWFpbklEKSBSRUZFUkVOQ0VTIFRvcExldmVsRG9tYWlucyh0b3BMZXZlbERvbWFp
bklEKSBPTiBERUxFVEUgQ0FTQ0FERSk7Il9zOwogCitjb25zdGV4cHIgYXV0byBjcmVhdGVUb3BG
cmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzID0gIkNSRUFURSBUQUJMRSBUb3BGcmFtZUxvYWRl
ZFRoaXJkUGFydHlTY3JpcHRzICgiCisgICAgInRvcEZyYW1lRG9tYWluSUQgSU5URUdFUiBOT1Qg
TlVMTCwgc3VicmVzb3VyY2VEb21haW5JRCBJTlRFR0VSIE5PVCBOVUxMLCAiCisgICAgIkZPUkVJ
R04gS0VZKHRvcEZyYW1lRG9tYWluSUQpIFJFRkVSRU5DRVMgT2JzZXJ2ZWREb21haW5zKGRvbWFp
bklEKSBPTiBERUxFVEUgQ0FTQ0FERSwgIgorICAgICJGT1JFSUdOIEtFWShzdWJyZXNvdXJjZURv
bWFpbklEKSBSRUZFUkVOQ0VTIE9ic2VydmVkRG9tYWlucyhkb21haW5JRCkgT04gREVMRVRFIENB
U0NBREUpOyJfczsKKwogY29uc3RleHByIGF1dG8gY3JlYXRlU3ViZnJhbWVVbmRlclRvcEZyYW1l
RG9tYWlucyA9ICJDUkVBVEUgVEFCTEUgU3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWlucyAoIgog
ICAgICJzdWJGcmFtZURvbWFpbklEIElOVEVHRVIgTk9UIE5VTEwsIHRvcEZyYW1lRG9tYWluSUQg
SU5URUdFUiBOT1QgTlVMTCwgIgogICAgICJGT1JFSUdOIEtFWShzdWJGcmFtZURvbWFpbklEKSBS
RUZFUkVOQ0VTIE9ic2VydmVkRG9tYWlucyhkb21haW5JRCkgT04gREVMRVRFIENBU0NBREUsICIK
QEAgLTE5MSw2ICsxOTksNyBAQCBjb25zdGV4cHIgYXV0byBjcmVhdGVVbmlxdWVJbmRleFN0b3Jh
Z2VBY2Nlc3NVbmRlclRvcEZyYW1lRG9tYWlucyA9ICJDUkVBVEUgVU5JUQogY29uc3RleHByIGF1
dG8gY3JlYXRlVW5pcXVlSW5kZXhUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0c1RvID0gIkNSRUFURSBV
TklRVUUgSU5ERVggSUYgTk9UIEVYSVNUUyBUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0c1RvX3NvdXJj
ZURvbWFpbklEX3RvRG9tYWluSUQgb24gVG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNUbyAoIHNvdXJj
ZURvbWFpbklELCB0b0RvbWFpbklEICk7Il9zOwogY29uc3RleHByIGF1dG8gY3JlYXRlVW5pcXVl
SW5kZXhUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0c0Zyb20gPSAiQ1JFQVRFIFVOSVFVRSBJTkRFWCBJ
RiBOT1QgRVhJU1RTIFRvcEZyYW1lVW5pcXVlUmVkaXJlY3RzRnJvbV90YXJnZXREb21haW5JRF9m
cm9tRG9tYWluSUQgb24gVG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNGcm9tICggdGFyZ2V0RG9tYWlu
SUQsIGZyb21Eb21haW5JRCApOyJfczsKIGNvbnN0ZXhwciBhdXRvIGNyZWF0ZVVuaXF1ZUluZGV4
VG9wRnJhbWVMaW5rRGVjb3JhdGlvbnNGcm9tID0gIkNSRUFURSBVTklRVUUgSU5ERVggSUYgTk9U
IEVYSVNUUyBUb3BGcmFtZUxpbmtEZWNvcmF0aW9uc0Zyb21fdG9Eb21haW5JRF9mcm9tRG9tYWlu
SUQgb24gVG9wRnJhbWVMaW5rRGVjb3JhdGlvbnNGcm9tICggdG9Eb21haW5JRCwgZnJvbURvbWFp
bklEICk7Il9zOworY29uc3RleHByIGF1dG8gY3JlYXRlVW5pcXVlSW5kZXhUb3BGcmFtZUxvYWRl
ZFRoaXJkUGFydHlTY3JpcHRzID0gIkNSRUFURSBVTklRVUUgSU5ERVggSUYgTk9UIEVYSVNUUyBU
b3BGcmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzX3RvcEZyYW1lRG9tYWluSURfc3VicmVzb3Vy
Y2VEb21haW5JRCBvbiBUb3BGcmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzICggdG9wRnJhbWVE
b21haW5JRCwgc3VicmVzb3VyY2VEb21haW5JRCApOyJfczsKIGNvbnN0ZXhwciBhdXRvIGNyZWF0
ZVVuaXF1ZUluZGV4U3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWlucyA9ICJDUkVBVEUgVU5JUVVF
IElOREVYIElGIE5PVCBFWElTVFMgU3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWluc19zdWJGcmFt
ZURvbWFpbklEX3RvcEZyYW1lRG9tYWluSUQgb24gU3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWlu
cyAoIHN1YkZyYW1lRG9tYWluSUQsIHRvcEZyYW1lRG9tYWluSUQgKTsiX3M7CiBjb25zdGV4cHIg
YXV0byBjcmVhdGVVbmlxdWVJbmRleFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZURvbWFpbnMgPSAi
Q1JFQVRFIFVOSVFVRSBJTkRFWCBJRiBOT1QgRVhJU1RTIFN1YnJlc291cmNlVW5kZXJUb3BGcmFt
ZURvbWFpbnNfc3VicmVzb3VyY2VEb21haW5JRF90b3BGcmFtZURvbWFpbklEIG9uIFN1YnJlc291
cmNlVW5kZXJUb3BGcmFtZURvbWFpbnMgKCBzdWJyZXNvdXJjZURvbWFpbklELCB0b3BGcmFtZURv
bWFpbklEICk7Il9zOwogY29uc3RleHByIGF1dG8gY3JlYXRlVW5pcXVlSW5kZXhTdWJyZXNvdXJj
ZVVuaXF1ZVJlZGlyZWN0c1RvID0gIkNSRUFURSBVTklRVUUgSU5ERVggSUYgTk9UIEVYSVNUUyBT
dWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvX3N1YnJlc291cmNlRG9tYWluSURfdG9Eb21haW5J
RCBvbiBTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvICggc3VicmVzb3VyY2VEb21haW5JRCwg
dG9Eb21haW5JRCApOyJfczsKQEAgLTIxNiw2ICsyMjUsNyBAQCBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRGF0YWJhc2VTdG9yZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUoV2Vi
UmVzbwogICAgICwgbV9pbnNlcnRUb3BMZXZlbERvbWFpblN0YXRlbWVudChtX2RhdGFiYXNlLCBp
bnNlcnRUb3BMZXZlbERvbWFpblF1ZXJ5KQogICAgICwgbV9kb21haW5JREZyb21TdHJpbmdTdGF0
ZW1lbnQobV9kYXRhYmFzZSwgZG9tYWluSURGcm9tU3RyaW5nUXVlcnkpCiAgICAgLCBtX3RvcEZy
YW1lTGlua0RlY29yYXRpb25zRnJvbUV4aXN0cyhtX2RhdGFiYXNlLCB0b3BGcmFtZUxpbmtEZWNv
cmF0aW9uc0Zyb21FeGlzdHNRdWVyeSkKKyAgICAsIG1fdG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5
U2NyaXB0c0V4aXN0cyhtX2RhdGFiYXNlLCB0b3BGcmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRz
RXhpc3RzUXVlcnkpCiAgICAgLCBtX3N1YmZyYW1lVW5kZXJUb3BGcmFtZURvbWFpbkV4aXN0cyht
X2RhdGFiYXNlLCBzdWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW5FeGlzdHNRdWVyeSkKICAgICAs
IG1fc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lRG9tYWluRXhpc3RzKG1fZGF0YWJhc2UsIHN1YnJl
c291cmNlVW5kZXJUb3BGcmFtZURvbWFpbkV4aXN0c1F1ZXJ5KQogICAgICwgbV9zdWJyZXNvdXJj
ZVVuaXF1ZVJlZGlyZWN0c1RvRXhpc3RzKG1fZGF0YWJhc2UsIHN1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RzVG9FeGlzdHNRdWVyeSkKQEAgLTM0MCw2ICszNTAsNyBAQCBib29sIFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjpjcmVhdGVVbmlxdWVJbmRpY2VzKCkKICAgICAgICAg
fHwgIW1fZGF0YWJhc2UuZXhlY3V0ZUNvbW1hbmQoY3JlYXRlVW5pcXVlSW5kZXhUb3BGcmFtZVVu
aXF1ZVJlZGlyZWN0c1RvKQogICAgICAgICB8fCAhbV9kYXRhYmFzZS5leGVjdXRlQ29tbWFuZChj
cmVhdGVVbmlxdWVJbmRleFRvcEZyYW1lVW5pcXVlUmVkaXJlY3RzRnJvbSkKICAgICAgICAgfHwg
IW1fZGF0YWJhc2UuZXhlY3V0ZUNvbW1hbmQoY3JlYXRlVW5pcXVlSW5kZXhUb3BGcmFtZUxpbmtE
ZWNvcmF0aW9uc0Zyb20pCisgICAgICAgIHx8ICFtX2RhdGFiYXNlLmV4ZWN1dGVDb21tYW5kKGNy
ZWF0ZVVuaXF1ZUluZGV4VG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0cykKICAgICAgICAg
fHwgIW1fZGF0YWJhc2UuZXhlY3V0ZUNvbW1hbmQoY3JlYXRlVW5pcXVlSW5kZXhTdWJmcmFtZVVu
ZGVyVG9wRnJhbWVEb21haW5zKQogICAgICAgICB8fCAhbV9kYXRhYmFzZS5leGVjdXRlQ29tbWFu
ZChjcmVhdGVVbmlxdWVJbmRleFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZURvbWFpbnMpCiAgICAg
ICAgIHx8ICFtX2RhdGFiYXNlLmV4ZWN1dGVDb21tYW5kKGNyZWF0ZVVuaXF1ZUluZGV4U3VicmVz
b3VyY2VVbmlxdWVSZWRpcmVjdHNUbykKQEAgLTM4NCw2ICszOTUsMTEgQEAgYm9vbCBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6Y3JlYXRlU2NoZW1hKCkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIH0KICAgICAKKyAgICBpZiAoIW1fZGF0YWJhc2UuZXhlY3V0ZUNvbW1h
bmQoY3JlYXRlVG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0cykpIHsKKyAgICAgICAgTE9H
X0VSUk9SKCJDb3VsZCBub3QgY3JlYXRlIFRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHMg
dGFibGUgaW4gZGF0YWJhc2UgKCVpKSAtICVzIiwgbV9kYXRhYmFzZS5sYXN0RXJyb3IoKSwgbV9k
YXRhYmFzZS5sYXN0RXJyb3JNc2coKSk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cisg
ICAgCiAgICAgaWYgKCFtX2RhdGFiYXNlLmV4ZWN1dGVDb21tYW5kKGNyZWF0ZVN1YmZyYW1lVW5k
ZXJUb3BGcmFtZURvbWFpbnMpKSB7CiAgICAgICAgIExPR19FUlJPUigiQ291bGQgbm90IGNyZWF0
ZSBTdWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW5zIHRhYmxlIGluIGRhdGFiYXNlICglaSkgLSAl
cyIsIG1fZGF0YWJhc2UubGFzdEVycm9yKCksIG1fZGF0YWJhc2UubGFzdEVycm9yTXNnKCkpOwog
ICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC00MzUsNiArNDUxLDcgQEAgYm9vbCBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6cHJlcGFyZVN0YXRlbWVudHMoKQogICAgICAgICB8
fCBtX2lzR3JhbmRmYXRoZXJlZFN0YXRlbWVudC5wcmVwYXJlKCkgIT0gU1FMSVRFX09LCiAgICAg
ICAgIHx8IG1fZmluZEV4cGlyZWRVc2VySW50ZXJhY3Rpb25TdGF0ZW1lbnQucHJlcGFyZSgpICE9
IFNRTElURV9PSwogICAgICAgICB8fCBtX3RvcEZyYW1lTGlua0RlY29yYXRpb25zRnJvbUV4aXN0
cy5wcmVwYXJlKCkgIT0gU1FMSVRFX09LCisgICAgICAgIHx8IG1fdG9wRnJhbWVMb2FkZWRUaGly
ZFBhcnR5U2NyaXB0c0V4aXN0cy5wcmVwYXJlKCkgIT0gU1FMSVRFX09LCiAgICAgICAgIHx8IG1f
Y291bnRQcmV2YWxlbnRSZXNvdXJjZXNTdGF0ZW1lbnQucHJlcGFyZSgpICE9IFNRTElURV9PSwog
ICAgICAgICB8fCBtX2NvdW50UHJldmFsZW50UmVzb3VyY2VzV2l0aFVzZXJJbnRlcmFjdGlvblN0
YXRlbWVudC5wcmVwYXJlKCkgIT0gU1FMSVRFX09LCiAgICAgICAgIHx8IG1fY291bnRQcmV2YWxl
bnRSZXNvdXJjZXNXaXRob3V0VXNlckludGVyYWN0aW9uU3RhdGVtZW50LnByZXBhcmUoKSAhPSBT
UUxJVEVfT0sKQEAgLTYwMCw2ICs2MTcsNyBAQCB2b2lkIFJlc291cmNlTG9hZFN0YXRpc3RpY3NE
YXRhYmFzZVN0b3JlOjppbnNlcnREb21haW5SZWxhdGlvbnNoaXBzKGNvbnN0IFJlc291cgogICAg
IGluc2VydERvbWFpblJlbGF0aW9uc2hpcExpc3Qoc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNU
b1F1ZXJ5LCBsb2FkU3RhdGlzdGljcy5zdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvLCByZWdp
c3RyYWJsZURvbWFpbklELnZhbHVlKCkpOwogICAgIGluc2VydERvbWFpblJlbGF0aW9uc2hpcExp
c3Qoc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNGcm9tUXVlcnksIGxvYWRTdGF0aXN0aWNzLnN1
YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzRnJvbSwgcmVnaXN0cmFibGVEb21haW5JRC52YWx1ZSgp
KTsKICAgICBpbnNlcnREb21haW5SZWxhdGlvbnNoaXBMaXN0KHRvcEZyYW1lTGlua0RlY29yYXRp
b25zRnJvbVF1ZXJ5LCBsb2FkU3RhdGlzdGljcy50b3BGcmFtZUxpbmtEZWNvcmF0aW9uc0Zyb20s
IHJlZ2lzdHJhYmxlRG9tYWluSUQudmFsdWUoKSk7CisgICAgaW5zZXJ0RG9tYWluUmVsYXRpb25z
aGlwTGlzdCh0b3BGcmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzUXVlcnksIGxvYWRTdGF0aXN0
aWNzLnRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHMsIHJlZ2lzdHJhYmxlRG9tYWluSUQu
dmFsdWUoKSk7CiB9CiAKIHZvaWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6
OnBvcHVsYXRlRnJvbU1lbW9yeVN0b3JlKGNvbnN0IFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1v
cnlTdG9yZSYgbWVtb3J5U3RvcmUpCkBAIC0yMjI3LDYgKzIyNDUsOCBAQCBTdHJpbmcgUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6OmdldFN1YlN0YXRpc3RpY1N0YXRlbWVudChj
b25zdCBTdHJpbgogICAgICAgICByZXR1cm4gIlNFTEVDVCBmcm9tRG9tYWluSUQgZnJvbSBUb3BG
cmFtZVVuaXF1ZVJlZGlyZWN0c0Zyb20gV0hFUkUgdGFyZ2V0RG9tYWluSUQgPSA/IjsKICAgICBp
ZiAodGFibGVOYW1lID09ICJUb3BGcmFtZUxpbmtEZWNvcmF0aW9uc0Zyb20iKQogICAgICAgICBy
ZXR1cm4gIlNFTEVDVCBmcm9tRG9tYWluSUQgZnJvbSBUb3BGcmFtZUxpbmtEZWNvcmF0aW9uc0Zy
b20gV0hFUkUgdG9Eb21haW5JRCA9ID8iOworICAgIGlmICh0YWJsZU5hbWUgPT0gIlRvcEZyYW1l
TG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHMiKQorICAgICAgICByZXR1cm4gIlNFTEVDVCBzdWJyZXNv
dXJjZURvbWFpbklEIGZyb20gVG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0cyBXSEVSRSB0
b3BGcmFtZURvbWFpbklEID0gPyI7CiAgICAgaWYgKHRhYmxlTmFtZSA9PSAiU3ViZnJhbWVVbmRl
clRvcEZyYW1lRG9tYWlucyIpCiAgICAgICAgIHJldHVybiAiU0VMRUNUIHRvcEZyYW1lRG9tYWlu
SUQgZnJvbSBTdWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW5zIFdIRVJFIHN1YkZyYW1lRG9tYWlu
SUQgPSA/IjsKICAgICBpZiAodGFibGVOYW1lID09ICJTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVE
b21haW5zIikKQEAgLTIyODMsOSArMjMwMyw2IEBAIHZvaWQgUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0RhdGFiYXNlU3RvcmU6OnJlc291cmNlVG9TdHJpbmcoU3RyaW5nQnVpbGRlciYgYnVpbGRlCiAg
ICAgYnVpbGRlci5hcHBlbmRMaXRlcmFsKCJSZWdpc3RyYWJsZSBkb21haW46ICIpOwogICAgIGJ1
aWxkZXIuYXBwZW5kKGRvbWFpbik7CiAgICAgYnVpbGRlci5hcHBlbmQoJ1xuJyk7Ci0gICAgYnVp
bGRlci5hcHBlbmRMaXRlcmFsKCIgICAgbGFzdFNlZW46ICIpOwotICAgIGJ1aWxkZXIuYXBwZW5k
Rml4ZWRQcmVjaXNpb25OdW1iZXIobV9nZXRSZXNvdXJjZURhdGFCeURvbWFpbk5hbWVTdGF0ZW1l
bnQuZ2V0Q29sdW1uRG91YmxlKExhc3RTZWVuSW5kZXgpKTsKLSAgICBidWlsZGVyLmFwcGVuZCgn
XG4nKTsKICAgICAKICAgICAvLyBVc2VyIGludGVyYWN0aW9uCiAgICAgYXBwZW5kQm9vbGVhbihi
dWlsZGVyLCAiaGFkVXNlckludGVyYWN0aW9uIiwgbV9nZXRSZXNvdXJjZURhdGFCeURvbWFpbk5h
bWVTdGF0ZW1lbnQuZ2V0Q29sdW1uSW50KEhhZFVzZXJJbnRlcmFjdGlvbkluZGV4KSk7CkBAIC0y
MzAzLDggKzIzMjAsMTAgQEAgdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9y
ZTo6cmVzb3VyY2VUb1N0cmluZyhTdHJpbmdCdWlsZGVyJiBidWlsZGUKICAgICBhcHBlbmRTdWJT
dGF0aXN0aWNMaXN0KGJ1aWxkZXIsICJUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0c1RvIiwgZG9tYWlu
KTsKICAgICBhcHBlbmRTdWJTdGF0aXN0aWNMaXN0KGJ1aWxkZXIsICJUb3BGcmFtZVVuaXF1ZVJl
ZGlyZWN0c0Zyb20iLCBkb21haW4pOwogICAgIGFwcGVuZFN1YlN0YXRpc3RpY0xpc3QoYnVpbGRl
ciwgIlRvcEZyYW1lTGlua0RlY29yYXRpb25zRnJvbSIsIGRvbWFpbik7CisgICAgYXBwZW5kU3Vi
U3RhdGlzdGljTGlzdChidWlsZGVyLCAiVG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0cyIs
IGRvbWFpbik7CiAKICAgICBhcHBlbmRCb29sZWFuKGJ1aWxkZXIsICJJc1NjaGVkdWxlZEZvckFs
bEJ1dENvb2tpZURhdGFSZW1vdmFsIiwgbV9nZXRSZXNvdXJjZURhdGFCeURvbWFpbk5hbWVTdGF0
ZW1lbnQuZ2V0Q29sdW1uSW50KElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWxJ
bmRleCkpOworICAgIGJ1aWxkZXIuYXBwZW5kKCdcbicpOwogCiAgICAgLy8gU3ViZnJhbWUgc3Rh
dHMKICAgICBhcHBlbmRTdWJTdGF0aXN0aWNMaXN0KGJ1aWxkZXIsICJTdWJmcmFtZVVuZGVyVG9w
RnJhbWVEb21haW5zIiwgZG9tYWluKTsKQEAgLTIzMjYsNyArMjM0NSw2IEBAIHZvaWQgUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6OnJlc291cmNlVG9TdHJpbmcoU3RyaW5nQnVp
bGRlciYgYnVpbGRlCiAgICAgcmVzZXRTdGF0ZW1lbnQobV9nZXRSZXNvdXJjZURhdGFCeURvbWFp
bk5hbWVTdGF0ZW1lbnQpOwogfQogCi0KIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNv
dXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmgK
aW5kZXggYmYzZjNlOTYwZTAzYjlmN2ZhYTYzNTY5MDNjMWY4ODY5N2VlZTFlOS4uN2NiZmE4Y2Zh
NmZmMjE3ODE4YzA3NDUxMDQ2ZjYxODM0ODA3NzUxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFz
ZVN0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmgKQEAgLTIyMyw2ICsyMjMsNyBAQCBw
cml2YXRlOgogICAgIFdlYkNvcmU6OlNRTGl0ZVN0YXRlbWVudCBtX2luc2VydFRvcExldmVsRG9t
YWluU3RhdGVtZW50OwogICAgIG11dGFibGUgV2ViQ29yZTo6U1FMaXRlU3RhdGVtZW50IG1fZG9t
YWluSURGcm9tU3RyaW5nU3RhdGVtZW50OwogICAgIG11dGFibGUgV2ViQ29yZTo6U1FMaXRlU3Rh
dGVtZW50IG1fdG9wRnJhbWVMaW5rRGVjb3JhdGlvbnNGcm9tRXhpc3RzOworICAgIG11dGFibGUg
V2ViQ29yZTo6U1FMaXRlU3RhdGVtZW50IG1fdG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0
c0V4aXN0czsKICAgICBtdXRhYmxlIFdlYkNvcmU6OlNRTGl0ZVN0YXRlbWVudCBtX3N1YmZyYW1l
VW5kZXJUb3BGcmFtZURvbWFpbkV4aXN0czsKICAgICBtdXRhYmxlIFdlYkNvcmU6OlNRTGl0ZVN0
YXRlbWVudCBtX3N1YnJlc291cmNlVW5kZXJUb3BGcmFtZURvbWFpbkV4aXN0czsKICAgICBtdXRh
YmxlIFdlYkNvcmU6OlNRTGl0ZVN0YXRlbWVudCBtX3N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3Rz
VG9FeGlzdHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNz
aWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmNwcCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5
U3RvcmUuY3BwCmluZGV4IDliYzUwMWQwY2I4YmUyNDlkZjcxYmRkNDMyODU2ODM1MTFkYjZhOWUu
LjAzMGIxZjE3MGFlMWNiZTdiYzljMTI3YzExNTlhZGE0NjAxMmQwMzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0
aWNzTWVtb3J5U3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xh
c3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuY3BwCkBAIC01MSw3ICs1
MSw3IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1j
b25zdGV4cHIgdW5zaWduZWQgc3RhdGlzdGljc01vZGVsVmVyc2lvbiB7IDE2IH07Citjb25zdGV4
cHIgdW5zaWduZWQgc3RhdGlzdGljc01vZGVsVmVyc2lvbiB7IDE3IH07CiAKIHN0cnVjdCBTdGF0
aXN0aWNzTGFzdFNlZW4gewogICAgIFJlZ2lzdHJhYmxlRG9tYWluIGRvbWFpbjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IDNlZTM4ZDk2
NTgyMDE5YjhmMzdiZWUzMzIyMDUwMzZlMWU0MjAwMjUuLjcxMzJlODhiNDI5NDU4OGE3ZDRmZjg5
N2JhMzg5ZTkyZGNiMzU0MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNv
cmVBcmd1bWVudENvZGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmNwcApAQCAtMjY4NCw2ICsyNjg0LDcgQEAgdm9pZCBBcmd1bWVudENvZGVy
PFJlc291cmNlTG9hZFN0YXRpc3RpY3M+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3Qg
V2ViQ28KICAgICAvLyBUb3AgZnJhbWUgc3RhdHMKICAgICBlbmNvZGVyIDw8IHN0YXRpc3RpY3Mu
dG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNUbzsKICAgICBlbmNvZGVyIDw8IHN0YXRpc3RpY3MudG9w
RnJhbWVVbmlxdWVSZWRpcmVjdHNGcm9tOworICAgIGVuY29kZXIgPDwgc3RhdGlzdGljcy50b3BG
cmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzOwogCiAgICAgLy8gU3ViZnJhbWUgc3RhdHMKICAg
ICBlbmNvZGVyIDw8IHN0YXRpc3RpY3Muc3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWluczsKQEAg
LTI3NTYsNiArMjc1NywxMiBAQCBPcHRpb25hbDxSZXNvdXJjZUxvYWRTdGF0aXN0aWNzPiBBcmd1
bWVudENvZGVyPFJlc291cmNlTG9hZFN0YXRpc3RpY3M+OjpkZWNvZGUoRAogICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OwogICAgIHN0YXRpc3RpY3MudG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNG
cm9tID0gV1RGTW92ZSgqdG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNGcm9tKTsKIAorICAgIE9wdGlv
bmFsPEhhc2hTZXQ8UmVnaXN0cmFibGVEb21haW4+PiB0b3BGcmFtZUxvYWRlZFRoaXJkUGFydHlT
Y3JpcHRzOworICAgIGRlY29kZXIgPj4gdG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0czsK
KyAgICBpZiAoIXRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHMpCisgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CisgICAgc3RhdGlzdGljcy50b3BGcmFtZUxvYWRlZFRoaXJkUGFydHlT
Y3JpcHRzID0gV1RGTW92ZSgqdG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0cyk7CisKICAg
ICAvLyBTdWJmcmFtZSBzdGF0cwogICAgIE9wdGlvbmFsPEhhc2hTZXQ8UmVnaXN0cmFibGVEb21h
aW4+PiBzdWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW5zOwogICAgIGRlY29kZXIgPj4gc3ViZnJh
bWVVbmRlclRvcEZyYW1lRG9tYWluczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRPYnNlcnZlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkT2JzZXJ2ZXIu
Y3BwCmluZGV4IDVlNGYwNjczMWM5ODJlNDBiYjhlNWI3MmJlNjFjNDJhMmRiNDk5NTUuLjQwMzAz
OTBlZTIxMmVmYWQyZDhiOTcxNjRmMjFlYzEzMzQzY2UxNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRPYnNlcnZlci5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlJlc291
cmNlTG9hZE9ic2VydmVyLmNwcApAQCAtMjM1LDcgKzIzNSw3IEBAIHZvaWQgV2ViUmVzb3VyY2VM
b2FkT2JzZXJ2ZXI6OmxvZ1NjcmVlbkFQSUFjY2Vzc2VkKGNvbnN0IERvY3VtZW50JiBkb2N1bWVu
dCwgY29uCiAjZW5kaWYKIH0KIAotdm9pZCBXZWJSZXNvdXJjZUxvYWRPYnNlcnZlcjo6bG9nU3Vi
cmVzb3VyY2VMb2FkaW5nKGNvbnN0IEZyYW1lKiBmcmFtZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiBuZXdSZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZWRpcmVjdFJlc3BvbnNlKQor
dm9pZCBXZWJSZXNvdXJjZUxvYWRPYnNlcnZlcjo6bG9nU3VicmVzb3VyY2VMb2FkaW5nKGNvbnN0
IEZyYW1lKiBmcmFtZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBuZXdSZXF1ZXN0LCBjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJiByZWRpcmVjdFJlc3BvbnNlLCBJc1NjcmlwdExpa2VTdWJyZXNvdXJj
ZSBpc1NjcmlwdExpa2UpCiB7CiAgICAgQVNTRVJUKGZyYW1lLT5wYWdlKCkpOwogCkBAIC0yNzMs
NiArMjczLDEzIEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OmxvZ1N1YnJlc291cmNl
TG9hZGluZyhjb25zdCBGcmFtZSogZnJhbWUsIGNvbnN0IFJlCiAgICAgICAgIHNjaGVkdWxlTm90
aWZpY2F0aW9uSWZOZWVkZWQoKTsKICAgICB9CiAKKyAgICBpZiAoZnJhbWUtPmlzTWFpbkZyYW1l
KCkgJiYgaXNTY3JpcHRMaWtlID09IElzU2NyaXB0TGlrZVN1YnJlc291cmNlOjpZZXMpIHsKKyAg
ICAgICAgYXV0byYgdG9wRnJhbWVTdGF0aXN0aWNzID0gZW5zdXJlUmVzb3VyY2VTdGF0aXN0aWNz
Rm9yUmVnaXN0cmFibGVEb21haW4odG9wRnJhbWVEb21haW4pOworICAgICAgICB0b3BGcmFtZVN0
YXRpc3RpY3MudG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0cy5hZGQodGFyZ2V0RG9tYWlu
KTsKKworICAgICAgICBzY2hlZHVsZU5vdGlmaWNhdGlvbklmTmVlZGVkKCk7CisgICAgfQorCiAg
ICAgaWYgKGlzUmVkaXJlY3QpIHsKICAgICAgICAgYXV0byYgcmVkaXJlY3RpbmdPcmlnaW5TdGF0
aXN0aWNzID0gZW5zdXJlUmVzb3VyY2VTdGF0aXN0aWNzRm9yUmVnaXN0cmFibGVEb21haW4ocmVk
aXJlY3RlZEZyb21Eb21haW4pOwogICAgICAgICByZWRpcmVjdGluZ09yaWdpblN0YXRpc3RpY3Mu
c3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUby5hZGQodGFyZ2V0RG9tYWluKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxv
YWRPYnNlcnZlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YlJlc291cmNlTG9hZE9ic2VydmVyLmgKaW5kZXggOTJkZTdiY2U2NmM5MjQwNTRjNjY0YzQzMWZl
YWU0NTJiNDZkNmRiYy4uYjlhYTVlNzkxZDA3MTkzNTBiODY0MDEzNzNkZTA3NDUzYTllMzAyYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlJl
c291cmNlTG9hZE9ic2VydmVyLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZE9ic2VydmVyLmgKQEAgLTM5LDcgKzM5LDcgQEAgcHVi
bGljOgogICAgIFdlYlJlc291cmNlTG9hZE9ic2VydmVyKCk7CiAgICAgfldlYlJlc291cmNlTG9h
ZE9ic2VydmVyKCk7CiAKLSAgICB2b2lkIGxvZ1N1YnJlc291cmNlTG9hZGluZyhjb25zdCBXZWJD
b3JlOjpGcmFtZSosIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgbmV3UmVxdWVzdCwg
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSkgZmluYWw7
CisgICAgdm9pZCBsb2dTdWJyZXNvdXJjZUxvYWRpbmcoY29uc3QgV2ViQ29yZTo6RnJhbWUqLCBj
b25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIG5ld1JlcXVlc3QsIGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9uc2UsIElzU2NyaXB0TGlrZVN1YnJlc291
cmNlKSBmaW5hbDsKICAgICB2b2lkIGxvZ1dlYlNvY2tldExvYWRpbmcoY29uc3QgVVJMJiB0YXJn
ZXRVUkwsIGNvbnN0IFVSTCYgbWFpbkZyYW1lVVJMKSBmaW5hbDsKICAgICB2b2lkIGxvZ1VzZXJJ
bnRlcmFjdGlvbldpdGhSZWR1Y2VkVGltZVJlc29sdXRpb24oY29uc3QgV2ViQ29yZTo6RG9jdW1l
bnQmKSBmaW5hbDsKICAgICB2b2lkIGxvZ0ZvbnRMb2FkKGNvbnN0IFdlYkNvcmU6OkRvY3VtZW50
JiwgY29uc3QgU3RyaW5nJiBmYW1pbHlOYW1lLCBib29sIGxvYWRTdGF0dXMpIGZpbmFsOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGFmMDNhY2FmNTc1Zjc4YTI0ODc1MGRhZmI0ZjFlOWVhYWYwYzJlMDguLmZiMjk0NDAyZjdj
ZDk4NDc0OWFlODY1NzZmYTgzMjNmN2RmYmFiODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOSBAQAorMjAx
OS0xMS0xNSAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZXNvdXJjZSBMb2FkIFN0YXRpc3RpY3M6IENvdW50IHRoaXJkLXBhcnR5IHNjcmlwdCBsb2FkcyB1
bmRlciB0b3AgZnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwNDI2MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTcyNDQ5NDU+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWltcG9ydC1pbi13
b3JrZXItZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWltcG9ydC1p
bi13b3JrZXItZGF0YWJhc2UuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4td29y
a2VyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4td29ya2VyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
b3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhp
cmQtcGFydHktc2NyaXB0LWxvYWRzLWRhdGFiYXNlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQt
bG9hZHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9sb2ctY3Jvc3Mt
c2l0ZS1sb2FkLXdpdGgtbGluay1kZWNvcmF0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgICAgIFJlbW92ZWQgdGhlIGxhc3RTZWVuIG91dHB1dCBzaW5jZSBpdCBtYXkgZGlmZmVy
IGJldHdlZW4gdGVzdCBydW5zLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9sb2ctY3Jvc3Mtc2l0ZS1sb2FkLXdpdGgtbGluay1kZWNvcmF0aW9uLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgICAgIFJlbW92ZWQgdGhlIGxhc3RTZWVuIG91dHB1dCBzaW5jZSBpdCBt
YXkgZGlmZmVyIGJldHdlZW4gdGVzdCBydW5zLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvZHVtbXkuanM6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3It
c2l0ZS1uYXZpZ2F0ZWQtdG8td2l0aC1saW5rLWRlY29yYXRpb24tZGF0YWJhc2UtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAgICAgUmVtb3ZlZCB0aGUgbGFzdFNlZW4gb3V0cHV0IHNpbmNlIGl0IG1h
eSBkaWZmZXIgYmV0d2VlbiB0ZXN0IHJ1bnMuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLW5hdmlnYXRlZC10
by13aXRoLWxpbmstZGVjb3JhdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICAgICBSZW1vdmVk
IHRoZSBsYXN0U2VlbiBvdXRwdXQgc2luY2UgaXQgbWF5IGRpZmZlciBiZXR3ZWVuIHRlc3QgcnVu
cy4KKwogMjAxOS0xMS0xNSAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgTGF5b3V0IHRlc3QgYW5pbWF0aW9ucy9uby1zdHlsZS1yZWNhbGMtZHVyaW5nLWFj
Y2VsZXJhdGVkLWFuaW1hdGlvbi5odG1sIGlzIGZhaWxpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1z
Y3JpcHQtaW1wb3J0LWluLXdvcmtlci1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2Ny
aXB0LWltcG9ydC1pbi13b3JrZXItZGF0YWJhc2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2
OWMxZTRmMDc3ZWM4MjI0ODE2OGRjYjgwYzRiNzQ3ZTZmYzQwMzcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhp
cmQtcGFydHktc2NyaXB0LWltcG9ydC1pbi13b3JrZXItZGF0YWJhc2UtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMjYgQEAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCitSZXNvdXJjZSBsb2FkIHN0YXRpc3RpY3M6CisKK1JlZ2lzdHJhYmxlIGRvbWFp
bjogMTI3LjAuMC4xCisgICAgaGFkVXNlckludGVyYWN0aW9uOiBObworICAgIG1vc3RSZWNlbnRV
c2VySW50ZXJhY3Rpb246IC0xCisgICAgZ3JhbmRmYXRoZXJlZDogTm8KKyAgICBUb3BGcmFtZUxv
YWRlZFRoaXJkUGFydHlTY3JpcHRzOgorICAgICAgICBsb2NhbGhvc3QKKyAgICBJc1NjaGVkdWxl
ZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObworICAgIGlzUHJldmFsZW50UmVzb3VyY2U6
IE5vCisgICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgZGF0YVJlY29yZHNSZW1v
dmVkOiAwCitSZWdpc3RyYWJsZSBkb21haW46IGxvY2FsaG9zdAorICAgIGhhZFVzZXJJbnRlcmFj
dGlvbjogTm8KKyAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQorICAgIGdyYW5kZmF0
aGVyZWQ6IE5vCisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8K
KyAgICBTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVEb21haW5zOgorICAgICAgICAxMjcuMC4wLjEK
KyAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObworICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNl
OiBObworICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlw
dC1pbXBvcnQtaW4td29ya2VyLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWltcG9ydC1p
bi13b3JrZXItZGF0YWJhc2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMTc1NzAxNGI1M2VlZDUyNTRmNGZk
NTdmNWU1YmJkMmY2ODMzMmYzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1pbXBv
cnQtaW4td29ya2VyLWRhdGFiYXNlLmh0bWwKQEAgLTAsMCArMSw0OCBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+
CisgICAgPHRpdGxlPlRlc3QgY291bnRpbmcgb2YgdGhpcmQtcGFydHkgc2NyaXB0IGltcG9ydHMg
aW4gd29ya2VyczwvdGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9q
cy10ZXN0LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHNjcmlwdD4K
KyAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVyLmR1bXBSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzKCk7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1
bmN0aW9uKCkgeworICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAg
IH0pOworICAgIH0KKworICAgIGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7CisgICAg
ICAgIGlmIChldmVudC5kYXRhLmluZGV4T2YoIlBBU1MiKSA9PT0gLTEpCisgICAgICAgICAgICB0
ZXN0RmFpbGVkKGV2ZW50LmRhdGEucmVwbGFjZSgiRkFJTCAiLCAiIikpOworCisgICAgICAgIHRl
c3RSdW5uZXIuc3RhdGlzdGljc05vdGlmeU9ic2VydmVyKCk7CisgICAgfQorCisgICAgZnVuY3Rp
b24gcnVuVGVzdCgpIHsKKyAgICAgICAgc3dpdGNoIChkb2N1bWVudC5sb2NhdGlvbi5oYXNoKSB7
CisgICAgICAgICAgICBjYXNlICIiOgorICAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgICAgICAgICAgICAgIHNldEVuYWJs
ZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLnNldFVzZUlUUERhdGFiYXNlKHRydWUpOworICAgICAgICAgICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVk
KHRydWUpOworICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlz
dGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGZpbmlzaFRlc3QpOworICAgICAgICAgICAg
ICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJMb2FkV29ya2VyIjsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHJ1blRlc3QoKTsKKyAgICAgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2Fz
ZSAiI0xvYWRXb3JrZXIiOgorICAgICAgICAgICAgICAgIGxldCB3MSA9IG5ldyBXb3JrZXIoInJl
c291cmNlcy93b3JrZXItaW1wb3J0aW5nLWxvY2FsaG9zdC1zY3JpcHQuanMiKTsKKyAgICAgICAg
ICAgICAgICB3MS5vbm1lc3NhZ2UgPSByZWNlaXZlTWVzc2FnZTsKKyAgICAgICAgICAgICAgICB3
MS5wb3N0TWVzc2FnZSgic2hvdWxkTm90UmVjZWl2ZUNvb2tpZXMiKTsKKyAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4td29ya2VyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGly
ZC1wYXJ0eS1zY3JpcHQtaW1wb3J0LWluLXdvcmtlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTIxMWFmMGQyODIwMGYwYTEzZDNjYWU3NzA0ZWRmNjU1M2ZmNTE2ZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10
aGlyZC1wYXJ0eS1zY3JpcHQtaW1wb3J0LWluLXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwyNiBAQAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKK1Jlc291cmNlIGxvYWQgc3RhdGlzdGljczoKKworUmVnaXN0cmFibGUgZG9tYWluOiBsb2Nh
bGhvc3QKKyAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCisgICAgbW9zdFJlY2VudFVzZXJJbnRl
cmFjdGlvbjogLTEKKyAgICBncmFuZGZhdGhlcmVkOiBObworICAgIGdvdExpbmtEZWNvcmF0aW9u
RnJvbVByZXZhbGVudFJlc291cmNlOiBObworICAgIHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZURv
bWFpbnM6CisgICAgICAgIDEyNy4wLjAuMQorICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCisg
ICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgZGF0YVJlY29yZHNSZW1vdmVkOiAw
CitSZWdpc3RyYWJsZSBkb21haW46IDEyNy4wLjAuMQorICAgIGhhZFVzZXJJbnRlcmFjdGlvbjog
Tm8KKyAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQorICAgIGdyYW5kZmF0aGVyZWQ6
IE5vCisgICAgZ290TGlua0RlY29yYXRpb25Gcm9tUHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAg
dG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0czoKKyAgICAgICAgbG9jYWxob3N0CisgICAg
aXNQcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8K
KyAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtaW1w
b3J0LWluLXdvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4td29ya2VyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMTY2OGNjYTU0MDU2MjgzYTk1YWYzOTIzZWE0YjljMTY1ZGEwNzIxNwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtaW1wb3J0LWluLXdvcmtlci5odG1sCkBAIC0w
LDAgKzEsNDcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+Cisg
ICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0IGNvdW50aW5nIG9mIHRo
aXJkLXBhcnR5IHNjcmlwdCBpbXBvcnRzIGluIHdvcmtlcnM8L3RpdGxlPgorICAgIDxzY3JpcHQg
c3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlw
dCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9h
ZD0icnVuVGVzdCgpIj4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKKyAg
ICAgICAgdGVzdFJ1bm5lci5kdW1wUmVzb3VyY2VMb2FkU3RhdGlzdGljcygpOworICAgICAgICBz
ZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiByZWNl
aXZlTWVzc2FnZShldmVudCkgeworICAgICAgICBpZiAoZXZlbnQuZGF0YS5pbmRleE9mKCJQQVNT
IikgPT09IC0xKQorICAgICAgICAgICAgdGVzdEZhaWxlZChldmVudC5kYXRhLnJlcGxhY2UoIkZB
SUwgIiwgIiIpKTsKKworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NOb3RpZnlPYnNlcnZl
cigpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgIHN3aXRjaCAo
ZG9jdW1lbnQubG9jYXRpb24uaGFzaCkgeworICAgICAgICAgICAgY2FzZSAiIjoKKyAgICAgICAg
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgeworICAg
ICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgeworICAg
ICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAg
ICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5E
YXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOworICAgICAgICAgICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGZpbmlz
aFRlc3QpOworICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9
ICJMb2FkV29ya2VyIjsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJ1blRlc3QoKTsKKyAgICAg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICAgICAgY2FzZSAiI0xvYWRXb3JrZXIiOgorICAgICAgICAgICAgICAgIGxl
dCB3MSA9IG5ldyBXb3JrZXIoInJlc291cmNlcy93b3JrZXItaW1wb3J0aW5nLWxvY2FsaG9zdC1z
Y3JpcHQuanMiKTsKKyAgICAgICAgICAgICAgICB3MS5vbm1lc3NhZ2UgPSByZWNlaXZlTWVzc2Fn
ZTsKKyAgICAgICAgICAgICAgICB3MS5wb3N0TWVzc2FnZSgic2hvdWxkTm90UmVjZWl2ZUNvb2tp
ZXMiKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1sb2Fkcy1kYXRh
YmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLWRhdGFiYXNlLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zNjljMWU0ZjA3N2VjODIyNDgxNjhkY2I4MGM0Yjc0N2U2ZmM0MDM3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1sb2Fkcy1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwyNiBAQAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKK1Jlc291cmNlIGxvYWQgc3RhdGlzdGljczoKKworUmVnaXN0cmFi
bGUgZG9tYWluOiAxMjcuMC4wLjEKKyAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCisgICAgbW9z
dFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEKKyAgICBncmFuZGZhdGhlcmVkOiBObworICAgIFRv
cEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHM6CisgICAgICAgIGxvY2FsaG9zdAorICAgIElz
U2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCisgICAgaXNQcmV2YWxlbnRS
ZXNvdXJjZTogTm8KKyAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBkYXRhUmVj
b3Jkc1JlbW92ZWQ6IDAKK1JlZ2lzdHJhYmxlIGRvbWFpbjogbG9jYWxob3N0CisgICAgaGFkVXNl
ckludGVyYWN0aW9uOiBObworICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCisgICAg
Z3JhbmRmYXRoZXJlZDogTm8KKyAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1v
dmFsOiBObworICAgIFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZURvbWFpbnM6CisgICAgICAgIDEy
Ny4wLjAuMQorICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgaXNWZXJ5UHJldmFsZW50
UmVzb3VyY2U6IE5vCisgICAgZGF0YVJlY29yZHNSZW1vdmVkOiAwCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFy
dHktc2NyaXB0LWxvYWRzLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLWRhdGFi
YXNlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNDM5ZWM0OTZiZWQ1ODRiNjFmYmQxNWRiMzZjZjU4ZDhlNmIz
MWRmNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZGF0YWJhc2UuaHRt
bApAQCAtMCwwICsxLDQ5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4KKzxo
ZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdCBjb3VudGlu
ZyBvZiB0aGlyZC1wYXJ0eSBzY3JpcHQgbG9hZHM8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIv
anMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9
InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KKzxzY3JpcHQ+CisgICAgY29uc3QgdGhpcmRQYXJ0eU9yaWdpbiA9ICJodHRwOi8v
bG9jYWxob3N0OjgwMDAiOworICAgIGNvbnN0IHRoaXJkUGFydHlCYXNlVXJsID0gdGhpcmRQYXJ0
eU9yaWdpbiArICIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMiOworCisgICAgZnVu
Y3Rpb24gZmluaXNoVGVzdCgpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wUmVzb3VyY2VMb2Fk
U3RhdGlzdGljcygpOworICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigp
IHsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9KTsKKyAg
ICB9CisKKyAgICBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICBzd2l0Y2ggKGRvY3VtZW50
LmxvY2F0aW9uLmhhc2gpIHsKKyAgICAgICAgICAgIGNhc2UgIiI6CisgICAgICAgICAgICAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgICAg
ICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFS
ZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soZmluaXNoVGVz
dCk7CisgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0
ZXAxIjsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJ1blRlc3QoKTsKKyAgICAgICAgICAgICAg
ICAgICAgfSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgY2FzZSAiI3N0ZXAxIjoKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlv
bi5oYXNoID0gInN0ZXAyIjsKKyAgICAgICAgICAgICAgICBsZXQgc2NyaXB0RWxlbWVudCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOworICAgICAgICAgICAgICAgIHNjcmlwdEVs
ZW1lbnQub25sb2FkID0gcnVuVGVzdDsKKyAgICAgICAgICAgICAgICBzY3JpcHRFbGVtZW50LnNy
YyA9IHRoaXJkUGFydHlCYXNlVXJsICsgIi9kdW1teS5qcz9kdW1teVBhcmFtPSIgKyBNYXRoLnJh
bmRvbSgpOworICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0
RWxlbWVudCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlICIjc3Rl
cDIiOgorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc05vdGlmeU9ic2VydmVy
KCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9Cis8L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Nv
dW50LXRoaXJkLXBhcnR5LXNjcmlwdC1sb2Fkcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTIx
MWFmMGQyODIwMGYwYTEzZDNjYWU3NzA0ZWRmNjU1M2ZmNTE2ZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGly
ZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjYgQEAKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCitSZXNvdXJjZSBs
b2FkIHN0YXRpc3RpY3M6CisKK1JlZ2lzdHJhYmxlIGRvbWFpbjogbG9jYWxob3N0CisgICAgaGFk
VXNlckludGVyYWN0aW9uOiBObworICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCisg
ICAgZ3JhbmRmYXRoZXJlZDogTm8KKyAgICBnb3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRS
ZXNvdXJjZTogTm8KKyAgICBzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVEb21haW5zOgorICAgICAg
ICAxMjcuMC4wLjEKKyAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObworICAgIGlzVmVyeVByZXZh
bGVudFJlc291cmNlOiBObworICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAorUmVnaXN0cmFibGUg
ZG9tYWluOiAxMjcuMC4wLjEKKyAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCisgICAgbW9zdFJl
Y2VudFVzZXJJbnRlcmFjdGlvbjogLTEKKyAgICBncmFuZGZhdGhlcmVkOiBObworICAgIGdvdExp
bmtEZWNvcmF0aW9uRnJvbVByZXZhbGVudFJlc291cmNlOiBObworICAgIHRvcEZyYW1lTG9hZGVk
VGhpcmRQYXJ0eVNjcmlwdHM6CisgICAgICAgIGxvY2FsaG9zdAorICAgIGlzUHJldmFsZW50UmVz
b3VyY2U6IE5vCisgICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgZGF0YVJlY29y
ZHNSZW1vdmVkOiAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLmh0bWwgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFy
dHktc2NyaXB0LWxvYWRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTMwNTA3MzU0MzNhZjI0NmVjMmMzNmJi
NGNlMjY1Njg4ZDg3NGVmMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMu
aHRtbApAQCAtMCwwICsxLDQ4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4K
KzxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdCBjb3Vu
dGluZyBvZiB0aGlyZC1wYXJ0eSBzY3JpcHQgbG9hZHM8L3RpdGxlPgorICAgIDxzY3JpcHQgc3Jj
PSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBz
cmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpIj4KKzxzY3JpcHQ+CisgICAgY29uc3QgdGhpcmRQYXJ0eU9yaWdpbiA9ICJodHRw
Oi8vbG9jYWxob3N0OjgwMDAiOworICAgIGNvbnN0IHRoaXJkUGFydHlCYXNlVXJsID0gdGhpcmRQ
YXJ0eU9yaWdpbiArICIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMiOworCisgICAg
ZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wUmVzb3VyY2VM
b2FkU3RhdGlzdGljcygpOworICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlv
bigpIHsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9KTsK
KyAgICB9CisKKyAgICBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICBzd2l0Y2ggKGRvY3Vt
ZW50LmxvY2F0aW9uLmhhc2gpIHsKKyAgICAgICAgICAgIGNhc2UgIiI6CisgICAgICAgICAgICAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAg
ICAgICAgICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICAgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJl
Y29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhmaW5pc2hUZXN0
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3Rl
cDEiOworICAgICAgICAgICAgICAgICAgICAgICAgcnVuVGVzdCgpOworICAgICAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICBjYXNlICIjc3RlcDEiOgorICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9u
Lmhhc2ggPSAic3RlcDIiOworICAgICAgICAgICAgICAgIGxldCBzY3JpcHRFbGVtZW50ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CisgICAgICAgICAgICAgICAgc2NyaXB0RWxl
bWVudC5vbmxvYWQgPSBydW5UZXN0OworICAgICAgICAgICAgICAgIHNjcmlwdEVsZW1lbnQuc3Jj
ID0gdGhpcmRQYXJ0eUJhc2VVcmwgKyAiL2R1bW15LmpzP2R1bW15UGFyYW09IiArIE1hdGgucmFu
ZG9tKCk7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHRF
bGVtZW50KTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgIiNzdGVw
MiI6CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzTm90aWZ5T2JzZXJ2ZXIo
KTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2xvZy1jcm9zcy1zaXRlLWxvYWQtd2l0aC1saW5rLWRlY29yYXRp
b24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2xvZy1jcm9zcy1zaXRlLWxvYWQtd2l0aC1saW5rLWRlY29yYXRpb24t
ZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmluZGV4IDk4ZDFkYWE3MThkMWRkYjJhZjY2NThiNzRlMTU3
ZjRlZjNiYjk2NTQuLjk0NzI1MGRlZGJiMGY2MjY5ZTVjZTdlZDRhZWY0OTg4YmNlZjYyN2IgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9s
b2ctY3Jvc3Mtc2l0ZS1sb2FkLXdpdGgtbGluay1kZWNvcmF0aW9uLWRhdGFiYXNlLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
bG9nLWNyb3NzLXNpdGUtbG9hZC13aXRoLWxpbmstZGVjb3JhdGlvbi1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQKQEAgLTMsMjkgKzMsMjkgQEAgVGVzdCBsb2dnaW5nIG9mIGxpbmsgZGVjb3JhdGVkIGNy
b3NzLXNpdGUgbmF2aWdhdGlvbnMgZnJvbSBhIHByZXZhbGVudCByZXNvdXJjZS4KIFJlc291cmNl
IGxvYWQgc3RhdGlzdGljczoKIAogUmVnaXN0cmFibGUgZG9tYWluOiAxMjcuMC4wLjEKLSAgICBs
YXN0U2VlbjogMAogICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KICAgICBtb3N0UmVjZW50VXNl
ckludGVyYWN0aW9uOiAtMQogICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgSXNTY2hlZHVsZWRG
b3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8gICAgaXNQcmV2YWxlbnRSZXNvdXJjZTogWWVz
CisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8KKyAgICBpc1By
ZXZhbGVudFJlc291cmNlOiBZZXMKICAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KICAg
ICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKIFJlZ2lzdHJhYmxlIGRvbWFpbjogMTI3LjAuMC4yCi0g
ICAgbGFzdFNlZW46IDAKICAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCiAgICAgbW9zdFJlY2Vu
dFVzZXJJbnRlcmFjdGlvbjogLTEKICAgICBncmFuZGZhdGhlcmVkOiBObwotICAgIElzU2NoZWR1
bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vICAgIGlzUHJldmFsZW50UmVzb3VyY2U6
IE5vCisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8KKyAgICBp
c1ByZXZhbGVudFJlc291cmNlOiBObwogICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObwog
ICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAogUmVnaXN0cmFibGUgZG9tYWluOiBsb2NhbGhvc3QK
LSAgICBsYXN0U2VlbjogMAogICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KICAgICBtb3N0UmVj
ZW50VXNlckludGVyYWN0aW9uOiAtMQogICAgIGdyYW5kZmF0aGVyZWQ6IE5vCiAgICAgVG9wRnJh
bWVMaW5rRGVjb3JhdGlvbnNGcm9tOgogICAgICAgICAxMjcuMC4wLjEKICAgICAgICAgMTI3LjAu
MC4yCi0gICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogWWVzICAgIGlz
UHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRh
UmVtb3ZhbDogWWVzCisgICAgaXNQcmV2YWxlbnRSZXNvdXJjZTogTm8KICAgICBpc1ZlcnlQcmV2
YWxlbnRSZXNvdXJjZTogTm8KICAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9sb2ctY3Jvc3Mt
c2l0ZS1sb2FkLXdpdGgtbGluay1kZWNvcmF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9sb2ctY3Jvc3Mtc2l0ZS1sb2FkLXdp
dGgtbGluay1kZWNvcmF0aW9uLWV4cGVjdGVkLnR4dAppbmRleCA3NDBhNDAzNWQ4ZDEzYTcxYzhh
NDI1NDZjOTFlNjRkYzRhZDM5ZDE3Li41Y2NkMTI0NWRmMzY3Mjg3NjI5Nzk2OGVkNjgzMzdhMjM3
Njc1OGU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvbG9nLWNyb3NzLXNpdGUtbG9hZC13aXRoLWxpbmstZGVjb3JhdGlvbi1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNz
L2xvZy1jcm9zcy1zaXRlLWxvYWQtd2l0aC1saW5rLWRlY29yYXRpb24tZXhwZWN0ZWQudHh0CkBA
IC0zLDIwICszLDIwIEBAIFRlc3QgbG9nZ2luZyBvZiBsaW5rIGRlY29yYXRlZCBjcm9zcy1zaXRl
IG5hdmlnYXRpb25zIGZyb20gYSBwcmV2YWxlbnQgcmVzb3VyY2UuCiBSZXNvdXJjZSBsb2FkIHN0
YXRpc3RpY3M6CiAKIFJlZ2lzdHJhYmxlIGRvbWFpbjogbG9jYWxob3N0Ci0gICAgbGFzdFNlZW46
IDAKICAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCiAgICAgbW9zdFJlY2VudFVzZXJJbnRlcmFj
dGlvbjogLTEKICAgICBncmFuZGZhdGhlcmVkOiBObwogICAgIHRvcEZyYW1lTGlua0RlY29yYXRp
b25zRnJvbToKICAgICAgICAgMTI3LjAuMC4xCi0gICAgZ290TGlua0RlY29yYXRpb25Gcm9tUHJl
dmFsZW50UmVzb3VyY2U6IFllcyAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObworICAgIGdvdExp
bmtEZWNvcmF0aW9uRnJvbVByZXZhbGVudFJlc291cmNlOiBZZXMKKyAgICBpc1ByZXZhbGVudFJl
c291cmNlOiBObwogICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObwogICAgIGRhdGFSZWNv
cmRzUmVtb3ZlZDogMAogUmVnaXN0cmFibGUgZG9tYWluOiAxMjcuMC4wLjEKLSAgICBsYXN0U2Vl
bjogMAogICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KICAgICBtb3N0UmVjZW50VXNlckludGVy
YWN0aW9uOiAtMQogICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgZ290TGlua0RlY29yYXRpb25G
cm9tUHJldmFsZW50UmVzb3VyY2U6IE5vICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IFllcworICAg
IGdvdExpbmtEZWNvcmF0aW9uRnJvbVByZXZhbGVudFJlc291cmNlOiBObworICAgIGlzUHJldmFs
ZW50UmVzb3VyY2U6IFllcwogICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObwogICAgIGRh
dGFSZWNvcmRzUmVtb3ZlZDogMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9kdW1teS5qcyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvZHVtbXkuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZTc0MTRjMjMyM2M4OWY3NjVhZGNjYjMyZWExYTY1YWRmNDhkMTc4MQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9y
ZXNvdXJjZXMvZHVtbXkuanMKQEAgLTAsMCArMSw2IEBACitmdW5jdGlvbiBnZXRSYW5kb21JbnQo
bWF4KSB7CisgICAgcmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIE1hdGguZmxvb3Io
bWF4KSk7Cit9CitsZXQgdmFsdWUgPSBnZXRSYW5kb21JbnQoMTApOworaWYgKHZhbHVlID4gNSkK
KyAgICB2YWx1ZSA9IDU7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0
YS1yZW1vdmFsLWZvci1zaXRlLW5hdmlnYXRlZC10by13aXRoLWxpbmstZGVjb3JhdGlvbi1kYXRh
YmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtbmF2aWdhdGVkLXRvLXdpdGgt
bGluay1kZWNvcmF0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAppbmRleCBkOWIwNTViNjdjOGVi
MDQ2MWVmYTcyYmVlZWFjMmEwNjQzNzU5ZWI2Li5kZTQxYTlhMWFiNDVmODY4ZTc1ZTg1YjQyYjVj
OWY0M2RkNjI5M2JhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtbmF2aWdhdGVkLXRv
LXdpdGgtbGluay1kZWNvcmF0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92
YWwtZm9yLXNpdGUtbmF2aWdhdGVkLXRvLXdpdGgtbGluay1kZWNvcmF0aW9uLWRhdGFiYXNlLWV4
cGVjdGVkLnR4dApAQCAtMTYsMjAgKzE2LDIwIEBAIEFmdGVyIGRlbGV0aW9uOiBJREIgZW50cnkg
ZG9lcyBub3QgZXhpc3QuCiBSZXNvdXJjZSBsb2FkIHN0YXRpc3RpY3M6CiAKIFJlZ2lzdHJhYmxl
IGRvbWFpbjogMTI3LjAuMC4xCi0gICAgbGFzdFNlZW46IDAKICAgICBoYWRVc2VySW50ZXJhY3Rp
b246IE5vCiAgICAgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEKICAgICBncmFuZGZhdGhl
cmVkOiBObwogICAgIFRvcEZyYW1lTGlua0RlY29yYXRpb25zRnJvbToKICAgICAgICAgbG9jYWxo
b3N0Ci0gICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8gICAgaXNQ
cmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFS
ZW1vdmFsOiBObworICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCiAgICAgaXNWZXJ5UHJldmFs
ZW50UmVzb3VyY2U6IE5vCiAgICAgZGF0YVJlY29yZHNSZW1vdmVkOiAxCiBSZWdpc3RyYWJsZSBk
b21haW46IGxvY2FsaG9zdAotICAgIGxhc3RTZWVuOiAwCiAgICAgaGFkVXNlckludGVyYWN0aW9u
OiBObwogICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCiAgICAgZ3JhbmRmYXRoZXJl
ZDogTm8KLSAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObyAgICBp
c1ByZXZhbGVudFJlc291cmNlOiBZZXMKKyAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURh
dGFSZW1vdmFsOiBObworICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IFllcwogICAgIGlzVmVyeVBy
ZXZhbGVudFJlc291cmNlOiBObwogICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUt
ZGF0YS1yZW1vdmFsLWZvci1zaXRlLW5hdmlnYXRlZC10by13aXRoLWxpbmstZGVjb3JhdGlvbi1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtbmF2aWdhdGVkLXRvLXdpdGgtbGluay1k
ZWNvcmF0aW9uLWV4cGVjdGVkLnR4dAppbmRleCBkMzZkZmM0OGI4YTIyZjlmYjRjMTVjMzNlMmNk
NWZhMjdiMTE1YWJjLi5mNmU0MDU0ZTgwYTEyNGIyZmFhNWM0OTYyOWI1OGUxZTBiMTM4ZGM3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
d2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtbmF2aWdhdGVkLXRvLXdpdGgtbGluay1kZWNv
cmF0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtbmF2aWdhdGVkLXRv
LXdpdGgtbGluay1kZWNvcmF0aW9uLWV4cGVjdGVkLnR4dApAQCAtMTYsMjAgKzE2LDIwIEBAIEFm
dGVyIGRlbGV0aW9uOiBJREIgZW50cnkgZG9lcyBub3QgZXhpc3QuCiBSZXNvdXJjZSBsb2FkIHN0
YXRpc3RpY3M6CiAKIFJlZ2lzdHJhYmxlIGRvbWFpbjogbG9jYWxob3N0Ci0gICAgbGFzdFNlZW46
IDAKICAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCiAgICAgbW9zdFJlY2VudFVzZXJJbnRlcmFj
dGlvbjogLTEKICAgICBncmFuZGZhdGhlcmVkOiBObwotICAgIGdvdExpbmtEZWNvcmF0aW9uRnJv
bVByZXZhbGVudFJlc291cmNlOiBObyAgICBpc1ByZXZhbGVudFJlc291cmNlOiBZZXMKKyAgICBn
b3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBpc1ByZXZhbGVu
dFJlc291cmNlOiBZZXMKICAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KICAgICBkYXRh
UmVjb3Jkc1JlbW92ZWQ6IDAKIFJlZ2lzdHJhYmxlIGRvbWFpbjogMTI3LjAuMC4xCi0gICAgbGFz
dFNlZW46IDAKICAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCiAgICAgbW9zdFJlY2VudFVzZXJJ
bnRlcmFjdGlvbjogLTEKICAgICBncmFuZGZhdGhlcmVkOiBObwogICAgIHRvcEZyYW1lTGlua0Rl
Y29yYXRpb25zRnJvbToKICAgICAgICAgbG9jYWxob3N0Ci0gICAgZ290TGlua0RlY29yYXRpb25G
cm9tUHJldmFsZW50UmVzb3VyY2U6IE5vICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAg
Z290TGlua0RlY29yYXRpb25Gcm9tUHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgaXNQcmV2YWxl
bnRSZXNvdXJjZTogTm8KICAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KICAgICBkYXRh
UmVjb3Jkc1JlbW92ZWQ6IDEK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>383675</attachid>
            <date>2019-11-15 17:26:12 -0800</date>
            <delta_ts>2019-11-19 11:49:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-204262-20191115172611.patch</filename>
            <type>text/plain</type>
            <size>59216</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyNTEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGFhODA5ZDFiOGMxNzhk
N2ZjZGU2Y2M0OWYxZGZhYTE2Yzk3OTI5MC4uNjhiNzU5MWJkNjQ4NDI5NTliYTk3Mjc5NGRhM2E2
ZjUzNWEyOTk0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE5LTExLTE1ICBKb2hu
IFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQg
U3RhdGlzdGljczogQ291bnQgdGhpcmQtcGFydHkgc2NyaXB0IGxvYWRzIHVuZGVyIHRvcCBmcmFt
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0MjYy
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NzI0NDk0NT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlyZC1wYXJ0eSBzY3JpcHRzIHJ1bm5pbmcg
aW4gdGhlIGZpcnN0LXBhcnR5IGNvbnRleHQgYXJlIGEgc2lnbmlmaWNhbnQgcHJpdmFjeQorICAg
ICAgICBhbmQgc2VjdXJpdHkgcmlzay4gVGhpcyBjaGFuZ2UgY2FwdHVyZXMgdGhlIG51bWJlciBv
ZiBzdWNoIHNjcmlwdCBsb2FkcyB3aGljaCB3aWxsCisgICAgICAgIGFsbG93IElUUCB0byB0YWtl
IGFjdGlvbi4KKworICAgICAgICBUZXN0czogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4td29ya2VyLWRhdGFiYXNlLmh0
bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3Vu
dC10aGlyZC1wYXJ0eS1zY3JpcHQtaW1wb3J0LWluLXdvcmtlci5odG1sCisgICAgICAgICAgICAg
ICBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2Ny
aXB0LWxvYWRzLWRhdGFiYXNlLmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMuaHRtbAorCisg
ICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
TG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KToKKyAgICAgICAgICAgIE5vdyBzZW5k
cyB0aGUgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OklzU2NyaXB0TGlrZVN1YnJlc291cmNlIHBhcmFt
ZXRlciB0bworICAgICAgICAgICAgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OmxvZ1N1YnJlc291cmNl
TG9hZGluZygpLgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWRPYnNlcnZlci5oOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OmxvZ1N1YnJlc291cmNlTG9hZGlu
Zyk6CisgICAgICAgICAgICBOb3cgdGFrZXMgYSBJc1NjcmlwdExpa2VTdWJyZXNvdXJjZSBwYXJh
bWV0ZXIuCisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljczo6ZW5jb2RlIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZFN0YXRpc3RpY3M6OmRlY29kZSk6CisgICAgICAg
IChXZWJDb3JlOjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzOjp0b1N0cmluZyBjb25zdCk6CisgICAg
ICAgICAgICBPdXRwdXQgb2YgdGhlIG5ldyB0b3BGcmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRz
IGNhdGVnb3J5LgorICAgICAgICAgICAgUmVtb3ZlZCB0aGUgbGFzdFNlZW4gb3V0cHV0IHNpbmNl
IGl0IG1heSBkaWZmZXIgYmV0d2VlbiB0ZXN0IHJ1bnMuCisgICAgICAgIChXZWJDb3JlOjpSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzOjptZXJnZSk6CisgICAgICAgICAgICBIYW5kbGluZyBvZiB0aGUg
bmV3IHRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHMgY2F0ZWdvcnkuCisgICAgICAgICog
bG9hZGVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MuaDoKKyAgICAgICAgICAgIEFkZGVkIHRoZSBu
ZXcgdG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0cyBjYXRlZ29yeS4KKyAgICAgICAgKiBs
b2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3VicmVzb3Vy
Y2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdEludGVybmFsKToKKyAgICAgICAgICAgIE5vdyBzZW5k
cyB0aGUgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OklzU2NyaXB0TGlrZVN1YnJlc291cmNlIHBhcmFt
ZXRlciB0bworICAgICAgICAgICAgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OmxvZ1N1YnJlc291cmNl
TG9hZGluZygpLgorCiAyMDE5LTExLTE1ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29t
PgogCiAgICAgICAgIENSQVNIIGluIFNvdXJjZUJ1ZmZlcjo6cmVtb3ZlQ29kZWRGcmFtZXMoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwppbmRleCAxYmM1NmVmYWE2NDdkNDA2NzEyYjdiNjU4ZGQwYmMzY2ViYjc3Y2ZhLi43YWYx
MWVlYWRkNWE3NjgyMTZhY2I5OTgwNWY4YWFhYWMxOWYxYWU5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDQwIEBACisyMDE5LTExLTE1ICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgor
CisgICAgICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczogQ291bnQgdGhpcmQtcGFydHkgc2Ny
aXB0IGxvYWRzIHVuZGVyIHRvcCBmcmFtZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA0MjYyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NzI0NDk0
NT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGly
ZC1wYXJ0eSBzY3JpcHRzIHJ1bm5pbmcgaW4gdGhlIGZpcnN0LXBhcnR5IGNvbnRleHQgYXJlIGEg
c2lnbmlmaWNhbnQgcHJpdmFjeQorICAgICAgICBhbmQgc2VjdXJpdHkgcmlzay4gVGhpcyBjaGFu
Z2UgY2FwdHVyZXMgdGhlIG51bWJlciBvZiBzdWNoIHNjcmlwdCBsb2FkcyB3aGljaCB3aWxsCisg
ICAgICAgIGFsbG93IElUUCB0byB0YWtlIGFjdGlvbi4KKworICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6UmVz
b3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUpOgorICAgICAgICAoV2ViS2l0OjpSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6Y3JlYXRlVW5pcXVlSW5kaWNlcyk6Cisg
ICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjpjcmVh
dGVTY2hlbWEpOgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJh
c2VTdG9yZTo6cHJlcGFyZVN0YXRlbWVudHMpOgorICAgICAgICAoV2ViS2l0OjpSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6aW5zZXJ0RG9tYWluUmVsYXRpb25zaGlwcyk6Cisg
ICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjpnZXRT
dWJTdGF0aXN0aWNTdGF0ZW1lbnQpOgorICAgICAgICAgICAgQWRkaXRpb24gb2YgdGhlIG5ldyBj
YXRlZ29yeSBUb3BGcmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzLgorICAgICAgICAoV2ViS2l0
OjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6cmVzb3VyY2VUb1N0cmluZyk6
CisgICAgICAgICAgICBSZW1vdmVkIHRoZSBsYXN0U2VlbiBvdXRwdXQgc2luY2UgaXQgbWF5IGRp
ZmZlciBiZXR3ZWVuIHRlc3QgcnVucy4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9DbGFzc2lm
aWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmg6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUu
Y3BwOgorICAgICAgICAgICAgQnVtcGVkIHN0YXRpc3RpY3NNb2RlbFZlcnNpb24gdG8gMTcuCisg
ICAgICAgICogU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHA6CisgICAgICAgIChJUEM6
OkFyZ3VtZW50Q29kZXI8UmVzb3VyY2VMb2FkU3RhdGlzdGljcz46OmVuY29kZSk6CisgICAgICAg
IChJUEM6OkFyZ3VtZW50Q29kZXI8UmVzb3VyY2VMb2FkU3RhdGlzdGljcz46OmRlY29kZSk6Cisg
ICAgICAgICAgICBFbmNvZGluZyBhbmQgZGVjb2Rpbmcgb2YgdGhlIG5ldyBjYXRlZ29yeSB0b3BG
cmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJSZXNvdXJjZUxvYWRPYnNlcnZlcjo6bG9nU3VicmVzb3VyY2VMb2FkaW5nKToKKyAgICAgICAg
ICAgIE5vdyB0YWtlcyBhbiBhZGRpdGlvbmFsIGVudW0gcGFyYW1ldGVyIElzU2NyaXB0TGlrZVN1
YnJlc291cmNlIHdoaWNoCisgICAgICAgICAgICBpcyB1c2VkIHRvIGRldGVjdCB0aGlyZC1wYXJ0
eSBzY3JpcHQtbGlrZSBsb2FkcyAoc2NyaXB0LCB3b3JrZXIsIG9yCisgICAgICAgICAgICBzZXJ2
aWNlIHdvcmtlcikgZnJvbSB0aGlyZC1wYXJ0aWVzLiBJZiBvbmUgaXMgZGV0ZWN0ZWQsIGl0IGlz
IHN0b3JlZAorICAgICAgICAgICAgaW4gdGhlIG5ldyB0b3BGcmFtZUxvYWRlZFRoaXJkUGFydHlT
Y3JpcHRzIGNhdGVnb3J5LgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
UmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaDoKKwogMjAxOS0xMS0xNSAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBtb3JlIHJlbGVhc2UgbG9nZ2luZyBmb3IgbmV0
d29yayBsb2FkIHJlc3RhcnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRl
eCAxMDE2NjllNzRjMTI3NzUzZDcyMWU0NGNkMWFiMGMzYzA4NWM5ZjY4Li5lOTk1ODlkYTE2ODY0
YjdlNWYwOTJjNGExMDNjNTQ2YzIyYWQ3MzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5jcHAKQEAgLTMxNTAsNyArMzE1MCw4IEBAIHVuc2lnbmVkIGxvbmcgRnJhbWVMb2FkZXI6
OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1CiAg
ICAgICAgICAgICBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+bG9hZFJl
c291cmNlU3luY2hyb25vdXNseSgqdGhpcywgaWRlbnRpZmllciwgbmV3UmVxdWVzdCwgY2xpZW50
Q3JlZGVudGlhbFBvbGljeSwgb3B0aW9ucywgb3JpZ2luYWxSZXF1ZXN0SGVhZGVycywgZXJyb3Is
IHJlc3BvbnNlLCBidWZmZXIpOwogICAgICAgICAgICAgZGF0YSA9IFNoYXJlZEJ1ZmZlcjo6Y3Jl
YXRlKFdURk1vdmUoYnVmZmVyKSk7CiAgICAgICAgICAgICBkb2N1bWVudExvYWRlcigpLT5hcHBs
aWNhdGlvbkNhY2hlSG9zdCgpLm1heWJlTG9hZEZhbGxiYWNrU3luY2hyb25vdXNseShuZXdSZXF1
ZXN0LCBlcnJvciwgcmVzcG9uc2UsIGRhdGEpOwotICAgICAgICAgICAgUmVzb3VyY2VMb2FkT2Jz
ZXJ2ZXI6OnNoYXJlZCgpLmxvZ1N1YnJlc291cmNlTG9hZGluZygmbV9mcmFtZSwgbmV3UmVxdWVz
dCwgcmVzcG9uc2UpOworICAgICAgICAgICAgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OnNoYXJlZCgp
LmxvZ1N1YnJlc291cmNlTG9hZGluZygmbV9mcmFtZSwgbmV3UmVxdWVzdCwgcmVzcG9uc2UsCisg
ICAgICAgICAgICAgICAgKGlzU2NyaXB0TGlrZURlc3RpbmF0aW9uKG9wdGlvbnMuZGVzdGluYXRp
b24pID8gUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OklzU2NyaXB0TGlrZVN1YnJlc291cmNlOjpZZXMg
OiBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6SXNTY3JpcHRMaWtlU3VicmVzb3VyY2U6Ok5vKSk7CiAg
ICAgICAgIH0KICAgICB9CiAgICAgbm90aWZpZXIoKS5zZW5kUmVtYWluaW5nRGVsZWdhdGVNZXNz
YWdlcyhtX2RvY3VtZW50TG9hZGVyLmdldCgpLCBpZGVudGlmaWVyLCByZXF1ZXN0LCByZXNwb25z
ZSwgZGF0YSA/IGRhdGEtPmRhdGEoKSA6IG51bGxwdHIsIGRhdGEgPyBkYXRhLT5zaXplKCkgOiAw
LCAtMSwgZXJyb3IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNl
TG9hZE9ic2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2
ZXIuaAppbmRleCBmZDY1MTU1YWVlODk5NmMzNTQ1OGE2ZmFlMmZkM2JmYzQxNGYwYjlmLi4wNDFj
Mjk5Yjc2ZTVhZjkyY2I4MzVlNzZkMGViZWZkNTZhMjVhZDU3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaApAQCAtMzgsMTMgKzM4LDE1IEBAIGNsYXNz
IFJlc291cmNlUmVzcG9uc2U7CiBjbGFzcyBSZXNvdXJjZUxvYWRPYnNlcnZlciB7CiAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgZW51bSBjbGFzcyBJc1NjcmlwdExp
a2VTdWJyZXNvdXJjZSA6IGJvb2wgeyBZZXMsIE5vIH07CisKICAgICBXRUJDT1JFX0VYUE9SVCBz
dGF0aWMgUmVzb3VyY2VMb2FkT2JzZXJ2ZXImIHNoYXJlZCgpOwogICAgIFdFQkNPUkVfRVhQT1JU
IHN0YXRpYyBSZXNvdXJjZUxvYWRPYnNlcnZlciogc2hhcmVkSWZFeGlzdHMoKTsKICAgICBXRUJD
T1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBzZXRTaGFyZWQoUmVzb3VyY2VMb2FkT2JzZXJ2ZXImKTsK
ICAgICAKICAgICB2aXJ0dWFsIH5SZXNvdXJjZUxvYWRPYnNlcnZlcigpIHsgfQogCi0gICAgdmly
dHVhbCB2b2lkIGxvZ1N1YnJlc291cmNlTG9hZGluZyhjb25zdCBGcmFtZSosIGNvbnN0IFJlc291
cmNlUmVxdWVzdCYgLyogbmV3UmVxdWVzdCAqLywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgLyog
cmVkaXJlY3RSZXNwb25zZSAqLykgeyB9CisgICAgdmlydHVhbCB2b2lkIGxvZ1N1YnJlc291cmNl
TG9hZGluZyhjb25zdCBGcmFtZSosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgLyogbmV3UmVxdWVz
dCAqLywgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgLyogcmVkaXJlY3RSZXNwb25zZSAqLywgSXNT
Y3JpcHRMaWtlU3VicmVzb3VyY2UpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBsb2dXZWJTb2NrZXRM
b2FkaW5nKGNvbnN0IFVSTCYgLyogdGFyZ2V0VVJMICovLCBjb25zdCBVUkwmIC8qIG1haW5GcmFt
ZVVSTCAqLykgeyB9CiAgICAgdmlydHVhbCB2b2lkIGxvZ1VzZXJJbnRlcmFjdGlvbldpdGhSZWR1
Y2VkVGltZVJlc29sdXRpb24oY29uc3QgRG9jdW1lbnQmKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQg
bG9nRm9udExvYWQoY29uc3QgRG9jdW1lbnQmLCBjb25zdCBTdHJpbmcmIC8qIGZhbWlseU5hbWUg
Ki8sIGJvb2wgLyogbG9hZFN0YXR1cyAqLykgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5jcHAKaW5kZXggOTQ1OTc3NmVlYThiNzU2Yjg4YjEy
YzYyMTM0NDJmNmJiYTQ0NDYzOC4uNTQ3ODFmOGRiOGYxMTBkNTdlMTk3NTk1NTViZjU3ODViZDg5
NjdiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTdGF0aXN0
aWNzLmNwcApAQCAtOTUsNiArOTUsNyBAQCB2b2lkIFJlc291cmNlTG9hZFN0YXRpc3RpY3M6OmVu
Y29kZShLZXllZEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlSGFzaFNldChlbmNv
ZGVyLCAidG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNGcm9tIl9zLCAiZG9tYWluIl9zLCB0b3BGcmFt
ZVVuaXF1ZVJlZGlyZWN0c0Zyb20pOwogICAgIGVuY29kZUhhc2hTZXQoZW5jb2RlciwgInRvcEZy
YW1lTGlua0RlY29yYXRpb25zRnJvbSJfcywgImRvbWFpbiIsIHRvcEZyYW1lTGlua0RlY29yYXRp
b25zRnJvbSk7CiAgICAgZW5jb2Rlci5lbmNvZGVCb29sKCJnb3RMaW5rRGVjb3JhdGlvbkZyb21Q
cmV2YWxlbnRSZXNvdXJjZSJfcywgZ290TGlua0RlY29yYXRpb25Gcm9tUHJldmFsZW50UmVzb3Vy
Y2UpOworICAgIGVuY29kZUhhc2hTZXQoZW5jb2RlciwgInRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0
eVNjcmlwdHMiX3MsICJkb21haW4iLCB0b3BGcmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzKTsK
IAogICAgIC8vIFN1YmZyYW1lIHN0YXRzCiAgICAgZW5jb2RlSGFzaFNldChlbmNvZGVyLCAic3Vi
ZnJhbWVVbmRlclRvcEZyYW1lRG9tYWlucyJfcywgImRvbWFpbiJfcywgc3ViZnJhbWVVbmRlclRv
cEZyYW1lRG9tYWlucyk7CkBAIC0yMjUsNiArMjI2LDEzIEBAIGJvb2wgUmVzb3VyY2VMb2FkU3Rh
dGlzdGljczo6ZGVjb2RlKEtleWVkRGVjb2RlciYgZGVjb2RlciwgdW5zaWduZWQgbW9kZWxWZXJz
aW9uCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCisgICAgaWYgKG1vZGVsVmVy
c2lvbiA+PSAxNykgeworICAgICAgICBIYXNoQ291bnRlZFNldDxSZWdpc3RyYWJsZURvbWFpbj4g
dG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0c0NvdW50ZWQ7CisgICAgICAgIGRlY29kZUhh
c2hDb3VudGVkU2V0KGRlY29kZXIsICJ0b3BGcmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzIiwg
dG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0c0NvdW50ZWQpOworICAgICAgICBmb3IgKGF1
dG8mIGRvbWFpbiA6IHRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHNDb3VudGVkLnZhbHVl
cygpKQorICAgICAgICAgICAgdG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0cy5hZGQoZG9t
YWluKTsKKyAgICB9CisKICAgICAvLyBTdWJmcmFtZSBzdGF0cwogICAgIGlmIChtb2RlbFZlcnNp
b24gPj0gMTUpCiAgICAgICAgIGRlY29kZUhhc2hTZXQoZGVjb2RlciwgInN1YmZyYW1lVW5kZXJU
b3BGcmFtZURvbWFpbnMiLCAiZG9tYWluIiwgc3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWlucyk7
CkBAIC00MTEsMTAgKzQxOSw3IEBAIFN0cmluZyBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzOjp0b1N0
cmluZygpIGNvbnN0CiAgICAgYnVpbGRlci5hcHBlbmRMaXRlcmFsKCJSZWdpc3RyYWJsZSBkb21h
aW46ICIpOwogICAgIGJ1aWxkZXIuYXBwZW5kKHJlZ2lzdHJhYmxlRG9tYWluLnN0cmluZygpKTsK
ICAgICBidWlsZGVyLmFwcGVuZCgnXG4nKTsKLSAgICBidWlsZGVyLmFwcGVuZExpdGVyYWwoIiAg
ICBsYXN0U2VlbjogIik7Ci0gICAgYnVpbGRlci5hcHBlbmRGaXhlZFByZWNpc2lvbk51bWJlcihs
YXN0U2Vlbi5zZWNvbmRzU2luY2VFcG9jaCgpLnZhbHVlKCkpOwotICAgIGJ1aWxkZXIuYXBwZW5k
KCdcbicpOwotICAgIAorCiAgICAgLy8gVXNlciBpbnRlcmFjdGlvbgogICAgIGFwcGVuZEJvb2xl
YW4oYnVpbGRlciwgImhhZFVzZXJJbnRlcmFjdGlvbiIsIGhhZFVzZXJJbnRlcmFjdGlvbik7CiAg
ICAgYnVpbGRlci5hcHBlbmQoJ1xuJyk7CkBAIC00MzIsNiArNDM3LDggQEAgU3RyaW5nIFJlc291
cmNlTG9hZFN0YXRpc3RpY3M6OnRvU3RyaW5nKCkgY29uc3QKICAgICBhcHBlbmRIYXNoU2V0KGJ1
aWxkZXIsICJ0b3BGcmFtZVVuaXF1ZVJlZGlyZWN0c0Zyb20iLCB0b3BGcmFtZVVuaXF1ZVJlZGly
ZWN0c0Zyb20pOwogICAgIGFwcGVuZEhhc2hTZXQoYnVpbGRlciwgInRvcEZyYW1lTGlua0RlY29y
YXRpb25zRnJvbSIsIHRvcEZyYW1lTGlua0RlY29yYXRpb25zRnJvbSk7CiAgICAgYXBwZW5kQm9v
bGVhbihidWlsZGVyLCAiZ290TGlua0RlY29yYXRpb25Gcm9tUHJldmFsZW50UmVzb3VyY2UiLCBn
b3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZSk7CisgICAgYnVpbGRlci5hcHBl
bmQoJ1xuJyk7CisgICAgYXBwZW5kSGFzaFNldChidWlsZGVyLCAidG9wRnJhbWVMb2FkZWRUaGly
ZFBhcnR5U2NyaXB0cyIsIHRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHMpOwogCiAgICAg
Ly8gU3ViZnJhbWUgc3RhdHMKICAgICBhcHBlbmRIYXNoU2V0KGJ1aWxkZXIsICJzdWJmcmFtZVVu
ZGVyVG9wRnJhbWVEb21haW5zIiwgc3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWlucyk7CkBAIC01
MDgsNiArNTE1LDcgQEAgdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzOjptZXJnZShjb25zdCBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzJiBvdGhlcikKICAgICBtZXJnZUhhc2hTZXQodG9wRnJhbWVV
bmlxdWVSZWRpcmVjdHNGcm9tLCBvdGhlci50b3BGcmFtZVVuaXF1ZVJlZGlyZWN0c0Zyb20pOwog
ICAgIG1lcmdlSGFzaFNldCh0b3BGcmFtZUxpbmtEZWNvcmF0aW9uc0Zyb20sIG90aGVyLnRvcEZy
YW1lTGlua0RlY29yYXRpb25zRnJvbSk7CiAgICAgZ290TGlua0RlY29yYXRpb25Gcm9tUHJldmFs
ZW50UmVzb3VyY2UgfD0gb3RoZXIuZ290TGlua0RlY29yYXRpb25Gcm9tUHJldmFsZW50UmVzb3Vy
Y2U7CisgICAgbWVyZ2VIYXNoU2V0KHRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHMsIG90
aGVyLnRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHMpOwogCiAgICAgLy8gU3ViZnJhbWUg
c3RhdHMKICAgICBtZXJnZUhhc2hTZXQoc3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWlucywgb3Ro
ZXIuc3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWlucyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5oIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MuaAppbmRleCA1YjA4ZTgwZjRmYjk4YTAzYTNjNjM0
OWYwNGYxYjE2MzVmMmU4N2E5Li43ZTI2NTNkMGJlMWNlYzI0ZDUwMGYzYWJjY2IyZWEyZjY2OTVl
NmM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU3RhdGlz
dGljcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNz
LmgKQEAgLTgwLDYgKzgwLDcgQEAgc3RydWN0IFJlc291cmNlTG9hZFN0YXRpc3RpY3MgewogICAg
IEhhc2hTZXQ8UmVnaXN0cmFibGVEb21haW4+IHRvcEZyYW1lVW5pcXVlUmVkaXJlY3RzRnJvbTsK
ICAgICBIYXNoU2V0PFJlZ2lzdHJhYmxlRG9tYWluPiB0b3BGcmFtZUxpbmtEZWNvcmF0aW9uc0Zy
b207CiAgICAgYm9vbCBnb3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZSB7IGZh
bHNlIH07CisgICAgSGFzaFNldDxSZWdpc3RyYWJsZURvbWFpbj4gdG9wRnJhbWVMb2FkZWRUaGly
ZFBhcnR5U2NyaXB0czsKIAogICAgIC8vIFN1YmZyYW1lIHN0YXRzCiAgICAgSGFzaFNldDxSZWdp
c3RyYWJsZURvbWFpbj4gc3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWluczsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGY0NzhkZjBjMDQyZDljNzIy
NGMxYmVjODMzYjRmNTI0ZDFlOGY0NDYuLjYxOWQ5M2RhMjcyMGQ2MzE5NDRjMjEyZGM4ODI5MzZj
OTY0NzhkOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxv
YWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNw
cApAQCAtMTk1LDcgKzE5NSw4IEBAIHZvaWQgU3VicmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVx
dWVzdEludGVybmFsKFJlc291cmNlUmVxdWVzdCYmIG5ld1JlcXVlc3QsIGNvCiAKICAgICBpZiAo
bmV3UmVxdWVzdC5yZXF1ZXN0ZXIoKSAhPSBSZXNvdXJjZVJlcXVlc3RCYXNlOjpSZXF1ZXN0ZXI6
Ok1haW4pIHsKICAgICAgICAgdHJhY2VQb2ludChTdWJyZXNvdXJjZUxvYWRXaWxsU3RhcnQpOwot
ICAgICAgICBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkKCkubG9nU3VicmVzb3VyY2VMb2Fk
aW5nKG1fZnJhbWUuZ2V0KCksIG5ld1JlcXVlc3QsIHJlZGlyZWN0UmVzcG9uc2UpOworICAgICAg
ICBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkKCkubG9nU3VicmVzb3VyY2VMb2FkaW5nKG1f
ZnJhbWUuZ2V0KCksIG5ld1JlcXVlc3QsIHJlZGlyZWN0UmVzcG9uc2UsCisgICAgICAgICAgICAo
aXNTY3JpcHRMaWtlRGVzdGluYXRpb24ob3B0aW9ucygpLmRlc3RpbmF0aW9uKSA/IFJlc291cmNl
TG9hZE9ic2VydmVyOjpJc1NjcmlwdExpa2VTdWJyZXNvdXJjZTo6WWVzIDogUmVzb3VyY2VMb2Fk
T2JzZXJ2ZXI6OklzU2NyaXB0TGlrZVN1YnJlc291cmNlOjpObykpOwogICAgIH0KIAogICAgIGF1
dG8gY29udGludWVXaWxsU2VuZFJlcXVlc3QgPSBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VS
ZWYoKnRoaXMpLCByZWRpcmVjdFJlc3BvbnNlXSAoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZXNv
dXJjZVJlcXVlc3QmJik+JiYgY29tcGxldGlvbkhhbmRsZXIsIFJlc291cmNlUmVxdWVzdCYmIG5l
d1JlcXVlc3QpIG11dGFibGUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmNwcCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRGF0YWJhc2VTdG9yZS5jcHAKaW5kZXggZmVjMWNjYzg5ZDEwMzEzODQ2NDE5ODI3NDAz
YWVhMjJlOTQ1NWFiOS4uMjRkYjIwYmM1MzYwNDNkYjM3NzQ4MWU0MDg3MzkxMzlmZjhjZjIwZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3Rv
cmUuY3BwCkBAIC04Myw2ICs4Myw3IEBAIGNvbnN0ZXhwciBhdXRvIHRvcEZyYW1lVW5pcXVlUmVk
aXJlY3RzVG9RdWVyeSA9ICJJTlNFUlQgT1IgSUdOT1JFIGludG8gVG9wRnJhbWVVCiBjb25zdGV4
cHIgYXV0byBzdWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW5zUXVlcnkgPSAiSU5TRVJUIE9SIElH
Tk9SRSBpbnRvIFN1YmZyYW1lVW5kZXJUb3BGcmFtZURvbWFpbnMgKHN1YkZyYW1lRG9tYWluSUQs
IHRvcEZyYW1lRG9tYWluSUQpIFNFTEVDVCA/LCBkb21haW5JRCBGUk9NIE9ic2VydmVkRG9tYWlu
cyB3aGVyZSByZWdpc3RyYWJsZURvbWFpbiBpbiAoICJfczsKIGNvbnN0ZXhwciBhdXRvIHRvcEZy
YW1lVW5pcXVlUmVkaXJlY3RzRnJvbVF1ZXJ5ID0gIklOU0VSVCBPUiBJR05PUkUgSU5UTyBUb3BG
cmFtZVVuaXF1ZVJlZGlyZWN0c0Zyb20gKHRhcmdldERvbWFpbklELCBmcm9tRG9tYWluSUQpIFNF
TEVDVCA/LCBkb21haW5JRCBGUk9NIE9ic2VydmVkRG9tYWlucyBXSEVSRSByZWdpc3RyYWJsZURv
bWFpbiBpbiAoICJfczsKIGNvbnN0ZXhwciBhdXRvIHRvcEZyYW1lTGlua0RlY29yYXRpb25zRnJv
bVF1ZXJ5ID0gIklOU0VSVCBPUiBJR05PUkUgSU5UTyBUb3BGcmFtZUxpbmtEZWNvcmF0aW9uc0Zy
b20gKHRvRG9tYWluSUQsIGZyb21Eb21haW5JRCkgU0VMRUNUID8sIGRvbWFpbklEIEZST00gT2Jz
ZXJ2ZWREb21haW5zIFdIRVJFIHJlZ2lzdHJhYmxlRG9tYWluIGluICggIl9zOworY29uc3RleHBy
IGF1dG8gdG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0c1F1ZXJ5ID0gIklOU0VSVCBPUiBJ
R05PUkUgaW50byBUb3BGcmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzICh0b3BGcmFtZURvbWFp
bklELCBzdWJyZXNvdXJjZURvbWFpbklEKSBTRUxFQ1QgPywgZG9tYWluSUQgRlJPTSBPYnNlcnZl
ZERvbWFpbnMgd2hlcmUgcmVnaXN0cmFibGVEb21haW4gaW4gKCAiX3M7CiBjb25zdGV4cHIgYXV0
byBzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVEb21haW5zUXVlcnkgPSAiSU5TRVJUIE9SIElHTk9S
RSBJTlRPIFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZURvbWFpbnMgKHN1YnJlc291cmNlRG9tYWlu
SUQsIHRvcEZyYW1lRG9tYWluSUQpIFNFTEVDVCA/LCBkb21haW5JRCBGUk9NIE9ic2VydmVkRG9t
YWlucyBXSEVSRSByZWdpc3RyYWJsZURvbWFpbiBpbiAoICJfczsKIGNvbnN0ZXhwciBhdXRvIHN1
YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9RdWVyeSA9ICJJTlNFUlQgT1IgSUdOT1JFIElOVE8g
U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUbyAoc3VicmVzb3VyY2VEb21haW5JRCwgdG9Eb21h
aW5JRCkgU0VMRUNUID8sIGRvbWFpbklEIEZST00gT2JzZXJ2ZWREb21haW5zIFdIRVJFIHJlZ2lz
dHJhYmxlRG9tYWluIGluICggIl9zOwogY29uc3RleHByIGF1dG8gc3VicmVzb3VyY2VVbmlxdWVS
ZWRpcmVjdHNGcm9tUXVlcnkgPSAiSU5TRVJUIE9SIElHTk9SRSBJTlRPIFN1YnJlc291cmNlVW5p
cXVlUmVkaXJlY3RzRnJvbSAoc3VicmVzb3VyY2VEb21haW5JRCwgZnJvbURvbWFpbklEKSBTRUxF
Q1QgPywgZG9tYWluSUQgRlJPTSBPYnNlcnZlZERvbWFpbnMgV0hFUkUgcmVnaXN0cmFibGVEb21h
aW4gaW4gKCAiX3M7CkBAIC05NSw3ICs5Niw5IEBAIGNvbnN0ZXhwciBhdXRvIHN1YnJlc291cmNl
VW5kZXJUb3BGcmFtZURvbWFpbkV4aXN0c1F1ZXJ5ID0gIlNFTEVDVCBFWElTVFMgKFNFTEVDCiBj
b25zdGV4cHIgYXV0byBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvRXhpc3RzUXVlcnkgPSAi
U0VMRUNUIEVYSVNUUyAoU0VMRUNUIDEgRlJPTSBTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1Rv
IFdIRVJFIHN1YnJlc291cmNlRG9tYWluSUQgPSA/ICIKICAgICAiQU5EIHRvRG9tYWluSUQgPSAo
U0VMRUNUIGRvbWFpbklEIEZST00gT2JzZXJ2ZWREb21haW5zIFdIRVJFIHJlZ2lzdHJhYmxlRG9t
YWluID0gPykpIl9zOwogY29uc3RleHByIGF1dG8gdG9wRnJhbWVMaW5rRGVjb3JhdGlvbnNGcm9t
RXhpc3RzUXVlcnkgPSAiU0VMRUNUIEVYSVNUUyAoU0VMRUNUIDEgRlJPTSBUb3BGcmFtZUxpbmtE
ZWNvcmF0aW9uc0Zyb20gV0hFUkUgdG9Eb21haW5JRCA9ID8gIgotIkFORCBmcm9tRG9tYWluSUQg
PSAoU0VMRUNUIGRvbWFpbklEIEZST00gT2JzZXJ2ZWREb21haW5zIFdIRVJFIHJlZ2lzdHJhYmxl
RG9tYWluID0gPykpIl9zOworICAgICJBTkQgZnJvbURvbWFpbklEID0gKFNFTEVDVCBkb21haW5J
RCBGUk9NIE9ic2VydmVkRG9tYWlucyBXSEVSRSByZWdpc3RyYWJsZURvbWFpbiA9ID8pKSJfczsK
K2NvbnN0ZXhwciBhdXRvIHRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHNFeGlzdHNRdWVy
eSA9ICJTRUxFQ1QgRVhJU1RTIChTRUxFQ1QgMSBGUk9NIFRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0
eVNjcmlwdHMgV0hFUkUgdG9wRnJhbWVEb21haW5JRCA9ID8gIgorICAgICJBTkQgc3VicmVzb3Vy
Y2VEb21haW5JRCA9IChTRUxFQ1QgZG9tYWluSUQgRlJPTSBPYnNlcnZlZERvbWFpbnMgV0hFUkUg
cmVnaXN0cmFibGVEb21haW4gPSA/KSkiX3M7CiAKIC8vIFVQREFURSBRdWVyaWVzCiBjb25zdGV4
cHIgYXV0byBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uUXVlcnkgPSAiVVBEQVRFIE9ic2VydmVk
RG9tYWlucyBTRVQgaGFkVXNlckludGVyYWN0aW9uID0gPywgbW9zdFJlY2VudFVzZXJJbnRlcmFj
dGlvblRpbWUgPSA/ICIKQEAgLTE2Niw2ICsxNjksMTEgQEAgY29uc3RleHByIGF1dG8gY3JlYXRl
VG9wRnJhbWVMaW5rRGVjb3JhdGlvbnNGcm9tID0gIkNSRUFURSBUQUJMRSBUb3BGcmFtZUxpbmtE
ZWMKICAgICAiRk9SRUlHTiBLRVkodG9Eb21haW5JRCkgUkVGRVJFTkNFUyBUb3BMZXZlbERvbWFp
bnModG9wTGV2ZWxEb21haW5JRCkgT04gREVMRVRFIENBU0NBREUsICIKICAgICAiRk9SRUlHTiBL
RVkoZnJvbURvbWFpbklEKSBSRUZFUkVOQ0VTIFRvcExldmVsRG9tYWlucyh0b3BMZXZlbERvbWFp
bklEKSBPTiBERUxFVEUgQ0FTQ0FERSk7Il9zOwogCitjb25zdGV4cHIgYXV0byBjcmVhdGVUb3BG
cmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzID0gIkNSRUFURSBUQUJMRSBUb3BGcmFtZUxvYWRl
ZFRoaXJkUGFydHlTY3JpcHRzICgiCisgICAgInRvcEZyYW1lRG9tYWluSUQgSU5URUdFUiBOT1Qg
TlVMTCwgc3VicmVzb3VyY2VEb21haW5JRCBJTlRFR0VSIE5PVCBOVUxMLCAiCisgICAgIkZPUkVJ
R04gS0VZKHRvcEZyYW1lRG9tYWluSUQpIFJFRkVSRU5DRVMgT2JzZXJ2ZWREb21haW5zKGRvbWFp
bklEKSBPTiBERUxFVEUgQ0FTQ0FERSwgIgorICAgICJGT1JFSUdOIEtFWShzdWJyZXNvdXJjZURv
bWFpbklEKSBSRUZFUkVOQ0VTIE9ic2VydmVkRG9tYWlucyhkb21haW5JRCkgT04gREVMRVRFIENB
U0NBREUpOyJfczsKKwogY29uc3RleHByIGF1dG8gY3JlYXRlU3ViZnJhbWVVbmRlclRvcEZyYW1l
RG9tYWlucyA9ICJDUkVBVEUgVEFCTEUgU3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWlucyAoIgog
ICAgICJzdWJGcmFtZURvbWFpbklEIElOVEVHRVIgTk9UIE5VTEwsIHRvcEZyYW1lRG9tYWluSUQg
SU5URUdFUiBOT1QgTlVMTCwgIgogICAgICJGT1JFSUdOIEtFWShzdWJGcmFtZURvbWFpbklEKSBS
RUZFUkVOQ0VTIE9ic2VydmVkRG9tYWlucyhkb21haW5JRCkgT04gREVMRVRFIENBU0NBREUsICIK
QEAgLTE5MSw2ICsxOTksNyBAQCBjb25zdGV4cHIgYXV0byBjcmVhdGVVbmlxdWVJbmRleFN0b3Jh
Z2VBY2Nlc3NVbmRlclRvcEZyYW1lRG9tYWlucyA9ICJDUkVBVEUgVU5JUQogY29uc3RleHByIGF1
dG8gY3JlYXRlVW5pcXVlSW5kZXhUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0c1RvID0gIkNSRUFURSBV
TklRVUUgSU5ERVggSUYgTk9UIEVYSVNUUyBUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0c1RvX3NvdXJj
ZURvbWFpbklEX3RvRG9tYWluSUQgb24gVG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNUbyAoIHNvdXJj
ZURvbWFpbklELCB0b0RvbWFpbklEICk7Il9zOwogY29uc3RleHByIGF1dG8gY3JlYXRlVW5pcXVl
SW5kZXhUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0c0Zyb20gPSAiQ1JFQVRFIFVOSVFVRSBJTkRFWCBJ
RiBOT1QgRVhJU1RTIFRvcEZyYW1lVW5pcXVlUmVkaXJlY3RzRnJvbV90YXJnZXREb21haW5JRF9m
cm9tRG9tYWluSUQgb24gVG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNGcm9tICggdGFyZ2V0RG9tYWlu
SUQsIGZyb21Eb21haW5JRCApOyJfczsKIGNvbnN0ZXhwciBhdXRvIGNyZWF0ZVVuaXF1ZUluZGV4
VG9wRnJhbWVMaW5rRGVjb3JhdGlvbnNGcm9tID0gIkNSRUFURSBVTklRVUUgSU5ERVggSUYgTk9U
IEVYSVNUUyBUb3BGcmFtZUxpbmtEZWNvcmF0aW9uc0Zyb21fdG9Eb21haW5JRF9mcm9tRG9tYWlu
SUQgb24gVG9wRnJhbWVMaW5rRGVjb3JhdGlvbnNGcm9tICggdG9Eb21haW5JRCwgZnJvbURvbWFp
bklEICk7Il9zOworY29uc3RleHByIGF1dG8gY3JlYXRlVW5pcXVlSW5kZXhUb3BGcmFtZUxvYWRl
ZFRoaXJkUGFydHlTY3JpcHRzID0gIkNSRUFURSBVTklRVUUgSU5ERVggSUYgTk9UIEVYSVNUUyBU
b3BGcmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzX3RvcEZyYW1lRG9tYWluSURfc3VicmVzb3Vy
Y2VEb21haW5JRCBvbiBUb3BGcmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzICggdG9wRnJhbWVE
b21haW5JRCwgc3VicmVzb3VyY2VEb21haW5JRCApOyJfczsKIGNvbnN0ZXhwciBhdXRvIGNyZWF0
ZVVuaXF1ZUluZGV4U3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWlucyA9ICJDUkVBVEUgVU5JUVVF
IElOREVYIElGIE5PVCBFWElTVFMgU3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWluc19zdWJGcmFt
ZURvbWFpbklEX3RvcEZyYW1lRG9tYWluSUQgb24gU3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWlu
cyAoIHN1YkZyYW1lRG9tYWluSUQsIHRvcEZyYW1lRG9tYWluSUQgKTsiX3M7CiBjb25zdGV4cHIg
YXV0byBjcmVhdGVVbmlxdWVJbmRleFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZURvbWFpbnMgPSAi
Q1JFQVRFIFVOSVFVRSBJTkRFWCBJRiBOT1QgRVhJU1RTIFN1YnJlc291cmNlVW5kZXJUb3BGcmFt
ZURvbWFpbnNfc3VicmVzb3VyY2VEb21haW5JRF90b3BGcmFtZURvbWFpbklEIG9uIFN1YnJlc291
cmNlVW5kZXJUb3BGcmFtZURvbWFpbnMgKCBzdWJyZXNvdXJjZURvbWFpbklELCB0b3BGcmFtZURv
bWFpbklEICk7Il9zOwogY29uc3RleHByIGF1dG8gY3JlYXRlVW5pcXVlSW5kZXhTdWJyZXNvdXJj
ZVVuaXF1ZVJlZGlyZWN0c1RvID0gIkNSRUFURSBVTklRVUUgSU5ERVggSUYgTk9UIEVYSVNUUyBT
dWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvX3N1YnJlc291cmNlRG9tYWluSURfdG9Eb21haW5J
RCBvbiBTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvICggc3VicmVzb3VyY2VEb21haW5JRCwg
dG9Eb21haW5JRCApOyJfczsKQEAgLTIxNiw2ICsyMjUsNyBAQCBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRGF0YWJhc2VTdG9yZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUoV2Vi
UmVzbwogICAgICwgbV9pbnNlcnRUb3BMZXZlbERvbWFpblN0YXRlbWVudChtX2RhdGFiYXNlLCBp
bnNlcnRUb3BMZXZlbERvbWFpblF1ZXJ5KQogICAgICwgbV9kb21haW5JREZyb21TdHJpbmdTdGF0
ZW1lbnQobV9kYXRhYmFzZSwgZG9tYWluSURGcm9tU3RyaW5nUXVlcnkpCiAgICAgLCBtX3RvcEZy
YW1lTGlua0RlY29yYXRpb25zRnJvbUV4aXN0cyhtX2RhdGFiYXNlLCB0b3BGcmFtZUxpbmtEZWNv
cmF0aW9uc0Zyb21FeGlzdHNRdWVyeSkKKyAgICAsIG1fdG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5
U2NyaXB0c0V4aXN0cyhtX2RhdGFiYXNlLCB0b3BGcmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRz
RXhpc3RzUXVlcnkpCiAgICAgLCBtX3N1YmZyYW1lVW5kZXJUb3BGcmFtZURvbWFpbkV4aXN0cyht
X2RhdGFiYXNlLCBzdWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW5FeGlzdHNRdWVyeSkKICAgICAs
IG1fc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lRG9tYWluRXhpc3RzKG1fZGF0YWJhc2UsIHN1YnJl
c291cmNlVW5kZXJUb3BGcmFtZURvbWFpbkV4aXN0c1F1ZXJ5KQogICAgICwgbV9zdWJyZXNvdXJj
ZVVuaXF1ZVJlZGlyZWN0c1RvRXhpc3RzKG1fZGF0YWJhc2UsIHN1YnJlc291cmNlVW5pcXVlUmVk
aXJlY3RzVG9FeGlzdHNRdWVyeSkKQEAgLTM0MCw2ICszNTAsNyBAQCBib29sIFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjpjcmVhdGVVbmlxdWVJbmRpY2VzKCkKICAgICAgICAg
fHwgIW1fZGF0YWJhc2UuZXhlY3V0ZUNvbW1hbmQoY3JlYXRlVW5pcXVlSW5kZXhUb3BGcmFtZVVu
aXF1ZVJlZGlyZWN0c1RvKQogICAgICAgICB8fCAhbV9kYXRhYmFzZS5leGVjdXRlQ29tbWFuZChj
cmVhdGVVbmlxdWVJbmRleFRvcEZyYW1lVW5pcXVlUmVkaXJlY3RzRnJvbSkKICAgICAgICAgfHwg
IW1fZGF0YWJhc2UuZXhlY3V0ZUNvbW1hbmQoY3JlYXRlVW5pcXVlSW5kZXhUb3BGcmFtZUxpbmtE
ZWNvcmF0aW9uc0Zyb20pCisgICAgICAgIHx8ICFtX2RhdGFiYXNlLmV4ZWN1dGVDb21tYW5kKGNy
ZWF0ZVVuaXF1ZUluZGV4VG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0cykKICAgICAgICAg
fHwgIW1fZGF0YWJhc2UuZXhlY3V0ZUNvbW1hbmQoY3JlYXRlVW5pcXVlSW5kZXhTdWJmcmFtZVVu
ZGVyVG9wRnJhbWVEb21haW5zKQogICAgICAgICB8fCAhbV9kYXRhYmFzZS5leGVjdXRlQ29tbWFu
ZChjcmVhdGVVbmlxdWVJbmRleFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZURvbWFpbnMpCiAgICAg
ICAgIHx8ICFtX2RhdGFiYXNlLmV4ZWN1dGVDb21tYW5kKGNyZWF0ZVVuaXF1ZUluZGV4U3VicmVz
b3VyY2VVbmlxdWVSZWRpcmVjdHNUbykKQEAgLTM4NCw2ICszOTUsMTEgQEAgYm9vbCBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6Y3JlYXRlU2NoZW1hKCkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIH0KICAgICAKKyAgICBpZiAoIW1fZGF0YWJhc2UuZXhlY3V0ZUNvbW1h
bmQoY3JlYXRlVG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0cykpIHsKKyAgICAgICAgTE9H
X0VSUk9SKCJDb3VsZCBub3QgY3JlYXRlIFRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHMg
dGFibGUgaW4gZGF0YWJhc2UgKCVpKSAtICVzIiwgbV9kYXRhYmFzZS5sYXN0RXJyb3IoKSwgbV9k
YXRhYmFzZS5sYXN0RXJyb3JNc2coKSk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cisg
ICAgCiAgICAgaWYgKCFtX2RhdGFiYXNlLmV4ZWN1dGVDb21tYW5kKGNyZWF0ZVN1YmZyYW1lVW5k
ZXJUb3BGcmFtZURvbWFpbnMpKSB7CiAgICAgICAgIExPR19FUlJPUigiQ291bGQgbm90IGNyZWF0
ZSBTdWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW5zIHRhYmxlIGluIGRhdGFiYXNlICglaSkgLSAl
cyIsIG1fZGF0YWJhc2UubGFzdEVycm9yKCksIG1fZGF0YWJhc2UubGFzdEVycm9yTXNnKCkpOwog
ICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC00MzUsNiArNDUxLDcgQEAgYm9vbCBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6cHJlcGFyZVN0YXRlbWVudHMoKQogICAgICAgICB8
fCBtX2lzR3JhbmRmYXRoZXJlZFN0YXRlbWVudC5wcmVwYXJlKCkgIT0gU1FMSVRFX09LCiAgICAg
ICAgIHx8IG1fZmluZEV4cGlyZWRVc2VySW50ZXJhY3Rpb25TdGF0ZW1lbnQucHJlcGFyZSgpICE9
IFNRTElURV9PSwogICAgICAgICB8fCBtX3RvcEZyYW1lTGlua0RlY29yYXRpb25zRnJvbUV4aXN0
cy5wcmVwYXJlKCkgIT0gU1FMSVRFX09LCisgICAgICAgIHx8IG1fdG9wRnJhbWVMb2FkZWRUaGly
ZFBhcnR5U2NyaXB0c0V4aXN0cy5wcmVwYXJlKCkgIT0gU1FMSVRFX09LCiAgICAgICAgIHx8IG1f
Y291bnRQcmV2YWxlbnRSZXNvdXJjZXNTdGF0ZW1lbnQucHJlcGFyZSgpICE9IFNRTElURV9PSwog
ICAgICAgICB8fCBtX2NvdW50UHJldmFsZW50UmVzb3VyY2VzV2l0aFVzZXJJbnRlcmFjdGlvblN0
YXRlbWVudC5wcmVwYXJlKCkgIT0gU1FMSVRFX09LCiAgICAgICAgIHx8IG1fY291bnRQcmV2YWxl
bnRSZXNvdXJjZXNXaXRob3V0VXNlckludGVyYWN0aW9uU3RhdGVtZW50LnByZXBhcmUoKSAhPSBT
UUxJVEVfT0sKQEAgLTYwMCw2ICs2MTcsNyBAQCB2b2lkIFJlc291cmNlTG9hZFN0YXRpc3RpY3NE
YXRhYmFzZVN0b3JlOjppbnNlcnREb21haW5SZWxhdGlvbnNoaXBzKGNvbnN0IFJlc291cgogICAg
IGluc2VydERvbWFpblJlbGF0aW9uc2hpcExpc3Qoc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNU
b1F1ZXJ5LCBsb2FkU3RhdGlzdGljcy5zdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvLCByZWdp
c3RyYWJsZURvbWFpbklELnZhbHVlKCkpOwogICAgIGluc2VydERvbWFpblJlbGF0aW9uc2hpcExp
c3Qoc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNGcm9tUXVlcnksIGxvYWRTdGF0aXN0aWNzLnN1
YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzRnJvbSwgcmVnaXN0cmFibGVEb21haW5JRC52YWx1ZSgp
KTsKICAgICBpbnNlcnREb21haW5SZWxhdGlvbnNoaXBMaXN0KHRvcEZyYW1lTGlua0RlY29yYXRp
b25zRnJvbVF1ZXJ5LCBsb2FkU3RhdGlzdGljcy50b3BGcmFtZUxpbmtEZWNvcmF0aW9uc0Zyb20s
IHJlZ2lzdHJhYmxlRG9tYWluSUQudmFsdWUoKSk7CisgICAgaW5zZXJ0RG9tYWluUmVsYXRpb25z
aGlwTGlzdCh0b3BGcmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzUXVlcnksIGxvYWRTdGF0aXN0
aWNzLnRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHMsIHJlZ2lzdHJhYmxlRG9tYWluSUQu
dmFsdWUoKSk7CiB9CiAKIHZvaWQgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6
OnBvcHVsYXRlRnJvbU1lbW9yeVN0b3JlKGNvbnN0IFJlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1v
cnlTdG9yZSYgbWVtb3J5U3RvcmUpCkBAIC0yMjI3LDYgKzIyNDUsOCBAQCBTdHJpbmcgUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6OmdldFN1YlN0YXRpc3RpY1N0YXRlbWVudChj
b25zdCBTdHJpbgogICAgICAgICByZXR1cm4gIlNFTEVDVCBmcm9tRG9tYWluSUQgZnJvbSBUb3BG
cmFtZVVuaXF1ZVJlZGlyZWN0c0Zyb20gV0hFUkUgdGFyZ2V0RG9tYWluSUQgPSA/IjsKICAgICBp
ZiAodGFibGVOYW1lID09ICJUb3BGcmFtZUxpbmtEZWNvcmF0aW9uc0Zyb20iKQogICAgICAgICBy
ZXR1cm4gIlNFTEVDVCBmcm9tRG9tYWluSUQgZnJvbSBUb3BGcmFtZUxpbmtEZWNvcmF0aW9uc0Zy
b20gV0hFUkUgdG9Eb21haW5JRCA9ID8iOworICAgIGlmICh0YWJsZU5hbWUgPT0gIlRvcEZyYW1l
TG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHMiKQorICAgICAgICByZXR1cm4gIlNFTEVDVCBzdWJyZXNv
dXJjZURvbWFpbklEIGZyb20gVG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0cyBXSEVSRSB0
b3BGcmFtZURvbWFpbklEID0gPyI7CiAgICAgaWYgKHRhYmxlTmFtZSA9PSAiU3ViZnJhbWVVbmRl
clRvcEZyYW1lRG9tYWlucyIpCiAgICAgICAgIHJldHVybiAiU0VMRUNUIHRvcEZyYW1lRG9tYWlu
SUQgZnJvbSBTdWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW5zIFdIRVJFIHN1YkZyYW1lRG9tYWlu
SUQgPSA/IjsKICAgICBpZiAodGFibGVOYW1lID09ICJTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVE
b21haW5zIikKQEAgLTIyODMsOSArMjMwMyw2IEBAIHZvaWQgUmVzb3VyY2VMb2FkU3RhdGlzdGlj
c0RhdGFiYXNlU3RvcmU6OnJlc291cmNlVG9TdHJpbmcoU3RyaW5nQnVpbGRlciYgYnVpbGRlCiAg
ICAgYnVpbGRlci5hcHBlbmRMaXRlcmFsKCJSZWdpc3RyYWJsZSBkb21haW46ICIpOwogICAgIGJ1
aWxkZXIuYXBwZW5kKGRvbWFpbik7CiAgICAgYnVpbGRlci5hcHBlbmQoJ1xuJyk7Ci0gICAgYnVp
bGRlci5hcHBlbmRMaXRlcmFsKCIgICAgbGFzdFNlZW46ICIpOwotICAgIGJ1aWxkZXIuYXBwZW5k
Rml4ZWRQcmVjaXNpb25OdW1iZXIobV9nZXRSZXNvdXJjZURhdGFCeURvbWFpbk5hbWVTdGF0ZW1l
bnQuZ2V0Q29sdW1uRG91YmxlKExhc3RTZWVuSW5kZXgpKTsKLSAgICBidWlsZGVyLmFwcGVuZCgn
XG4nKTsKICAgICAKICAgICAvLyBVc2VyIGludGVyYWN0aW9uCiAgICAgYXBwZW5kQm9vbGVhbihi
dWlsZGVyLCAiaGFkVXNlckludGVyYWN0aW9uIiwgbV9nZXRSZXNvdXJjZURhdGFCeURvbWFpbk5h
bWVTdGF0ZW1lbnQuZ2V0Q29sdW1uSW50KEhhZFVzZXJJbnRlcmFjdGlvbkluZGV4KSk7CkBAIC0y
MzAzLDggKzIzMjAsMTAgQEAgdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9y
ZTo6cmVzb3VyY2VUb1N0cmluZyhTdHJpbmdCdWlsZGVyJiBidWlsZGUKICAgICBhcHBlbmRTdWJT
dGF0aXN0aWNMaXN0KGJ1aWxkZXIsICJUb3BGcmFtZVVuaXF1ZVJlZGlyZWN0c1RvIiwgZG9tYWlu
KTsKICAgICBhcHBlbmRTdWJTdGF0aXN0aWNMaXN0KGJ1aWxkZXIsICJUb3BGcmFtZVVuaXF1ZVJl
ZGlyZWN0c0Zyb20iLCBkb21haW4pOwogICAgIGFwcGVuZFN1YlN0YXRpc3RpY0xpc3QoYnVpbGRl
ciwgIlRvcEZyYW1lTGlua0RlY29yYXRpb25zRnJvbSIsIGRvbWFpbik7CisgICAgYXBwZW5kU3Vi
U3RhdGlzdGljTGlzdChidWlsZGVyLCAiVG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0cyIs
IGRvbWFpbik7CiAKICAgICBhcHBlbmRCb29sZWFuKGJ1aWxkZXIsICJJc1NjaGVkdWxlZEZvckFs
bEJ1dENvb2tpZURhdGFSZW1vdmFsIiwgbV9nZXRSZXNvdXJjZURhdGFCeURvbWFpbk5hbWVTdGF0
ZW1lbnQuZ2V0Q29sdW1uSW50KElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWxJ
bmRleCkpOworICAgIGJ1aWxkZXIuYXBwZW5kKCdcbicpOwogCiAgICAgLy8gU3ViZnJhbWUgc3Rh
dHMKICAgICBhcHBlbmRTdWJTdGF0aXN0aWNMaXN0KGJ1aWxkZXIsICJTdWJmcmFtZVVuZGVyVG9w
RnJhbWVEb21haW5zIiwgZG9tYWluKTsKQEAgLTIzMjYsNyArMjM0NSw2IEBAIHZvaWQgUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6OnJlc291cmNlVG9TdHJpbmcoU3RyaW5nQnVp
bGRlciYgYnVpbGRlCiAgICAgcmVzZXRTdGF0ZW1lbnQobV9nZXRSZXNvdXJjZURhdGFCeURvbWFp
bk5hbWVTdGF0ZW1lbnQpOwogfQogCi0KIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNv
dXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmgK
aW5kZXggYmYzZjNlOTYwZTAzYjlmN2ZhYTYzNTY5MDNjMWY4ODY5N2VlZTFlOS4uN2NiZmE4Y2Zh
NmZmMjE3ODE4YzA3NDUxMDQ2ZjYxODM0ODA3NzUxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFz
ZVN0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmgKQEAgLTIyMyw2ICsyMjMsNyBAQCBw
cml2YXRlOgogICAgIFdlYkNvcmU6OlNRTGl0ZVN0YXRlbWVudCBtX2luc2VydFRvcExldmVsRG9t
YWluU3RhdGVtZW50OwogICAgIG11dGFibGUgV2ViQ29yZTo6U1FMaXRlU3RhdGVtZW50IG1fZG9t
YWluSURGcm9tU3RyaW5nU3RhdGVtZW50OwogICAgIG11dGFibGUgV2ViQ29yZTo6U1FMaXRlU3Rh
dGVtZW50IG1fdG9wRnJhbWVMaW5rRGVjb3JhdGlvbnNGcm9tRXhpc3RzOworICAgIG11dGFibGUg
V2ViQ29yZTo6U1FMaXRlU3RhdGVtZW50IG1fdG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0
c0V4aXN0czsKICAgICBtdXRhYmxlIFdlYkNvcmU6OlNRTGl0ZVN0YXRlbWVudCBtX3N1YmZyYW1l
VW5kZXJUb3BGcmFtZURvbWFpbkV4aXN0czsKICAgICBtdXRhYmxlIFdlYkNvcmU6OlNRTGl0ZVN0
YXRlbWVudCBtX3N1YnJlc291cmNlVW5kZXJUb3BGcmFtZURvbWFpbkV4aXN0czsKICAgICBtdXRh
YmxlIFdlYkNvcmU6OlNRTGl0ZVN0YXRlbWVudCBtX3N1YnJlc291cmNlVW5pcXVlUmVkaXJlY3Rz
VG9FeGlzdHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNz
aWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmNwcCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5
U3RvcmUuY3BwCmluZGV4IDliYzUwMWQwY2I4YmUyNDlkZjcxYmRkNDMyODU2ODM1MTFkYjZhOWUu
LjAzMGIxZjE3MGFlMWNiZTdiYzljMTI3YzExNTlhZGE0NjAxMmQwMzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0
aWNzTWVtb3J5U3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xh
c3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUuY3BwCkBAIC01MSw3ICs1
MSw3IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1j
b25zdGV4cHIgdW5zaWduZWQgc3RhdGlzdGljc01vZGVsVmVyc2lvbiB7IDE2IH07Citjb25zdGV4
cHIgdW5zaWduZWQgc3RhdGlzdGljc01vZGVsVmVyc2lvbiB7IDE3IH07CiAKIHN0cnVjdCBTdGF0
aXN0aWNzTGFzdFNlZW4gewogICAgIFJlZ2lzdHJhYmxlRG9tYWluIGRvbWFpbjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IDNlZTM4ZDk2
NTgyMDE5YjhmMzdiZWUzMzIyMDUwMzZlMWU0MjAwMjUuLjcxMzJlODhiNDI5NDU4OGE3ZDRmZjg5
N2JhMzg5ZTkyZGNiMzU0MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNv
cmVBcmd1bWVudENvZGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmNwcApAQCAtMjY4NCw2ICsyNjg0LDcgQEAgdm9pZCBBcmd1bWVudENvZGVy
PFJlc291cmNlTG9hZFN0YXRpc3RpY3M+OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgY29uc3Qg
V2ViQ28KICAgICAvLyBUb3AgZnJhbWUgc3RhdHMKICAgICBlbmNvZGVyIDw8IHN0YXRpc3RpY3Mu
dG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNUbzsKICAgICBlbmNvZGVyIDw8IHN0YXRpc3RpY3MudG9w
RnJhbWVVbmlxdWVSZWRpcmVjdHNGcm9tOworICAgIGVuY29kZXIgPDwgc3RhdGlzdGljcy50b3BG
cmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzOwogCiAgICAgLy8gU3ViZnJhbWUgc3RhdHMKICAg
ICBlbmNvZGVyIDw8IHN0YXRpc3RpY3Muc3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWluczsKQEAg
LTI3NTYsNiArMjc1NywxMiBAQCBPcHRpb25hbDxSZXNvdXJjZUxvYWRTdGF0aXN0aWNzPiBBcmd1
bWVudENvZGVyPFJlc291cmNlTG9hZFN0YXRpc3RpY3M+OjpkZWNvZGUoRAogICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OwogICAgIHN0YXRpc3RpY3MudG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNG
cm9tID0gV1RGTW92ZSgqdG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNGcm9tKTsKIAorICAgIE9wdGlv
bmFsPEhhc2hTZXQ8UmVnaXN0cmFibGVEb21haW4+PiB0b3BGcmFtZUxvYWRlZFRoaXJkUGFydHlT
Y3JpcHRzOworICAgIGRlY29kZXIgPj4gdG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0czsK
KyAgICBpZiAoIXRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHMpCisgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CisgICAgc3RhdGlzdGljcy50b3BGcmFtZUxvYWRlZFRoaXJkUGFydHlT
Y3JpcHRzID0gV1RGTW92ZSgqdG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0cyk7CisKICAg
ICAvLyBTdWJmcmFtZSBzdGF0cwogICAgIE9wdGlvbmFsPEhhc2hTZXQ8UmVnaXN0cmFibGVEb21h
aW4+PiBzdWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW5zOwogICAgIGRlY29kZXIgPj4gc3ViZnJh
bWVVbmRlclRvcEZyYW1lRG9tYWluczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRPYnNlcnZlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkT2JzZXJ2ZXIu
Y3BwCmluZGV4IDVlNGYwNjczMWM5ODJlNDBiYjhlNWI3MmJlNjFjNDJhMmRiNDk5NTUuLjQwMzAz
OTBlZTIxMmVmYWQyZDhiOTcxNjRmMjFlYzEzMzQzY2UxNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRPYnNlcnZlci5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlJlc291
cmNlTG9hZE9ic2VydmVyLmNwcApAQCAtMjM1LDcgKzIzNSw3IEBAIHZvaWQgV2ViUmVzb3VyY2VM
b2FkT2JzZXJ2ZXI6OmxvZ1NjcmVlbkFQSUFjY2Vzc2VkKGNvbnN0IERvY3VtZW50JiBkb2N1bWVu
dCwgY29uCiAjZW5kaWYKIH0KIAotdm9pZCBXZWJSZXNvdXJjZUxvYWRPYnNlcnZlcjo6bG9nU3Vi
cmVzb3VyY2VMb2FkaW5nKGNvbnN0IEZyYW1lKiBmcmFtZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiBuZXdSZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZWRpcmVjdFJlc3BvbnNlKQor
dm9pZCBXZWJSZXNvdXJjZUxvYWRPYnNlcnZlcjo6bG9nU3VicmVzb3VyY2VMb2FkaW5nKGNvbnN0
IEZyYW1lKiBmcmFtZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBuZXdSZXF1ZXN0LCBjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJiByZWRpcmVjdFJlc3BvbnNlLCBJc1NjcmlwdExpa2VTdWJyZXNvdXJj
ZSBpc1NjcmlwdExpa2UpCiB7CiAgICAgQVNTRVJUKGZyYW1lLT5wYWdlKCkpOwogCkBAIC0yNzMs
NiArMjczLDEzIEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OmxvZ1N1YnJlc291cmNl
TG9hZGluZyhjb25zdCBGcmFtZSogZnJhbWUsIGNvbnN0IFJlCiAgICAgICAgIHNjaGVkdWxlTm90
aWZpY2F0aW9uSWZOZWVkZWQoKTsKICAgICB9CiAKKyAgICBpZiAoZnJhbWUtPmlzTWFpbkZyYW1l
KCkgJiYgaXNTY3JpcHRMaWtlID09IElzU2NyaXB0TGlrZVN1YnJlc291cmNlOjpZZXMpIHsKKyAg
ICAgICAgYXV0byYgdG9wRnJhbWVTdGF0aXN0aWNzID0gZW5zdXJlUmVzb3VyY2VTdGF0aXN0aWNz
Rm9yUmVnaXN0cmFibGVEb21haW4odG9wRnJhbWVEb21haW4pOworICAgICAgICB0b3BGcmFtZVN0
YXRpc3RpY3MudG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0cy5hZGQodGFyZ2V0RG9tYWlu
KTsKKworICAgICAgICBzY2hlZHVsZU5vdGlmaWNhdGlvbklmTmVlZGVkKCk7CisgICAgfQorCiAg
ICAgaWYgKGlzUmVkaXJlY3QpIHsKICAgICAgICAgYXV0byYgcmVkaXJlY3RpbmdPcmlnaW5TdGF0
aXN0aWNzID0gZW5zdXJlUmVzb3VyY2VTdGF0aXN0aWNzRm9yUmVnaXN0cmFibGVEb21haW4ocmVk
aXJlY3RlZEZyb21Eb21haW4pOwogICAgICAgICByZWRpcmVjdGluZ09yaWdpblN0YXRpc3RpY3Mu
c3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUby5hZGQodGFyZ2V0RG9tYWluKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxv
YWRPYnNlcnZlci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YlJlc291cmNlTG9hZE9ic2VydmVyLmgKaW5kZXggOTJkZTdiY2U2NmM5MjQwNTRjNjY0YzQzMWZl
YWU0NTJiNDZkNmRiYy4uYjlhYTVlNzkxZDA3MTkzNTBiODY0MDEzNzNkZTA3NDUzYTllMzAyYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlJl
c291cmNlTG9hZE9ic2VydmVyLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZE9ic2VydmVyLmgKQEAgLTM5LDcgKzM5LDcgQEAgcHVi
bGljOgogICAgIFdlYlJlc291cmNlTG9hZE9ic2VydmVyKCk7CiAgICAgfldlYlJlc291cmNlTG9h
ZE9ic2VydmVyKCk7CiAKLSAgICB2b2lkIGxvZ1N1YnJlc291cmNlTG9hZGluZyhjb25zdCBXZWJD
b3JlOjpGcmFtZSosIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgbmV3UmVxdWVzdCwg
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSkgZmluYWw7
CisgICAgdm9pZCBsb2dTdWJyZXNvdXJjZUxvYWRpbmcoY29uc3QgV2ViQ29yZTo6RnJhbWUqLCBj
b25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIG5ld1JlcXVlc3QsIGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9uc2UsIElzU2NyaXB0TGlrZVN1YnJlc291
cmNlKSBmaW5hbDsKICAgICB2b2lkIGxvZ1dlYlNvY2tldExvYWRpbmcoY29uc3QgVVJMJiB0YXJn
ZXRVUkwsIGNvbnN0IFVSTCYgbWFpbkZyYW1lVVJMKSBmaW5hbDsKICAgICB2b2lkIGxvZ1VzZXJJ
bnRlcmFjdGlvbldpdGhSZWR1Y2VkVGltZVJlc29sdXRpb24oY29uc3QgV2ViQ29yZTo6RG9jdW1l
bnQmKSBmaW5hbDsKICAgICB2b2lkIGxvZ0ZvbnRMb2FkKGNvbnN0IFdlYkNvcmU6OkRvY3VtZW50
JiwgY29uc3QgU3RyaW5nJiBmYW1pbHlOYW1lLCBib29sIGxvYWRTdGF0dXMpIGZpbmFsOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGFmMDNhY2FmNTc1Zjc4YTI0ODc1MGRhZmI0ZjFlOWVhYWYwYzJlMDguLmU2NDBiYmMzMDAy
Mjc2MzVhMzMxN2FmNWE2YTc1ZDc5NDI0YWE5ZmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAx
OS0xMS0xNSAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZXNvdXJjZSBMb2FkIFN0YXRpc3RpY3M6IENvdW50IHRoaXJkLXBhcnR5IHNjcmlwdCBsb2FkcyB1
bmRlciB0b3AgZnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIwNDI2MgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTcyNDQ5NDU+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWltcG9ydC1pbi13
b3JrZXItZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWltcG9ydC1p
bi13b3JrZXItZGF0YWJhc2UuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4td29y
a2VyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxv
YWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4td29ya2VyLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
b3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhp
cmQtcGFydHktc2NyaXB0LWxvYWRzLWRhdGFiYXNlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQt
bG9hZHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kb250LWNvdW50
LXRoaXJkLXBhcnR5LWltYWdlLWFzLXRoaXJkLXBhcnR5LXNjcmlwdC1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9kb250LWNvdW50LXRoaXJkLXBhcnR5LWltYWdlLWFzLXRoaXJkLXBhcnR5LXNjcmlwdC1kYXRh
YmFzZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvZG9udC1jb3VudC10aGlyZC1wYXJ0eS1pbWFnZS1hcy10aGlyZC1wYXJ0eS1zY3JpcHQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvZG9udC1jb3VudC10aGlyZC1wYXJ0eS1pbWFnZS1hcy10aGlyZC1wYXJ0eS1zY3Jp
cHQuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2xvZy1jcm9zcy1zaXRlLWxvYWQtd2l0aC1saW5rLWRlY29yYXRpb24tZGF0YWJhc2UtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAgICAgUmVtb3ZlZCB0aGUgbGFzdFNlZW4gb3V0cHV0IHNpbmNl
IGl0IG1heSBkaWZmZXIgYmV0d2VlbiB0ZXN0IHJ1bnMuCisgICAgICAgICogaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xvZy1jcm9zcy1zaXRlLWxvYWQtd2l0aC1saW5rLWRlY29y
YXRpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAgICAgUmVtb3ZlZCB0aGUgbGFzdFNlZW4gb3V0
cHV0IHNpbmNlIGl0IG1heSBkaWZmZXIgYmV0d2VlbiB0ZXN0IHJ1bnMuCisgICAgICAgICogaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9kdW1teS5qczogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0
YS1yZW1vdmFsLWZvci1zaXRlLW5hdmlnYXRlZC10by13aXRoLWxpbmstZGVjb3JhdGlvbi1kYXRh
YmFzZS1leHBlY3RlZC50eHQ6CisgICAgICAgICAgICBSZW1vdmVkIHRoZSBsYXN0U2VlbiBvdXRw
dXQgc2luY2UgaXQgbWF5IGRpZmZlciBiZXR3ZWVuIHRlc3QgcnVucy4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNp
dGUtbmF2aWdhdGVkLXRvLXdpdGgtbGluay1kZWNvcmF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgICAgIFJlbW92ZWQgdGhlIGxhc3RTZWVuIG91dHB1dCBzaW5jZSBpdCBtYXkgZGlmZmVyIGJl
dHdlZW4gdGVzdCBydW5zLgorCiAyMDE5LTExLTE1ICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFu
QGFwcGxlLmNvbT4KIAogICAgICAgICBMYXlvdXQgdGVzdCBhbmltYXRpb25zL25vLXN0eWxlLXJl
Y2FsYy1kdXJpbmctYWNjZWxlcmF0ZWQtYW5pbWF0aW9uLmh0bWwgaXMgZmFpbGluZwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50
LXRoaXJkLXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4td29ya2VyLWRhdGFiYXNlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10
aGlyZC1wYXJ0eS1zY3JpcHQtaW1wb3J0LWluLXdvcmtlci1kYXRhYmFzZS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMzY5YzFlNGYwNzdlYzgyMjQ4MTY4ZGNiODBjNGI3NDdlNmZjNDAzNwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtaW1wb3J0LWluLXdvcmtlci1kYXRhYmFzZS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNiBAQAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKK1Jlc291cmNlIGxvYWQgc3RhdGlzdGljczoKKworUmVn
aXN0cmFibGUgZG9tYWluOiAxMjcuMC4wLjEKKyAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCisg
ICAgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEKKyAgICBncmFuZGZhdGhlcmVkOiBObwor
ICAgIFRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHM6CisgICAgICAgIGxvY2FsaG9zdAor
ICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCisgICAgaXNQcmV2
YWxlbnRSZXNvdXJjZTogTm8KKyAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBk
YXRhUmVjb3Jkc1JlbW92ZWQ6IDAKK1JlZ2lzdHJhYmxlIGRvbWFpbjogbG9jYWxob3N0CisgICAg
aGFkVXNlckludGVyYWN0aW9uOiBObworICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0x
CisgICAgZ3JhbmRmYXRoZXJlZDogTm8KKyAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURh
dGFSZW1vdmFsOiBObworICAgIFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZURvbWFpbnM6CisgICAg
ICAgIDEyNy4wLjAuMQorICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgaXNWZXJ5UHJl
dmFsZW50UmVzb3VyY2U6IE5vCisgICAgZGF0YVJlY29yZHNSZW1vdmVkOiAwCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhp
cmQtcGFydHktc2NyaXB0LWltcG9ydC1pbi13b3JrZXItZGF0YWJhc2UuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1z
Y3JpcHQtaW1wb3J0LWluLXdvcmtlci1kYXRhYmFzZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMxNzU3MDE0
YjUzZWVkNTI1NGY0ZmQ1N2Y1ZTViYmQyZjY4MzMyZjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFy
dHktc2NyaXB0LWltcG9ydC1pbi13b3JrZXItZGF0YWJhc2UuaHRtbApAQCAtMCwwICsxLDQ4IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgorICAgIDxtZXRhIGNo
YXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdCBjb3VudGluZyBvZiB0aGlyZC1wYXJ0eSBz
Y3JpcHQgaW1wb3J0cyBpbiB3b3JrZXJzPC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0iL2pzLXRl
c3QtcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvdXRpbC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3Qo
KSI+Cis8c2NyaXB0PgorICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKSB7CisgICAgICAgIHRlc3RS
dW5uZXIuZHVtcFJlc291cmNlTG9hZFN0YXRpc3RpY3MoKTsKKyAgICAgICAgc2V0RW5hYmxlRmVh
dHVyZShmYWxzZSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKKyAgICAgICAgfSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gcmVjZWl2ZU1lc3NhZ2Uo
ZXZlbnQpIHsKKyAgICAgICAgaWYgKGV2ZW50LmRhdGEuaW5kZXhPZigiUEFTUyIpID09PSAtMSkK
KyAgICAgICAgICAgIHRlc3RGYWlsZWQoZXZlbnQuZGF0YS5yZXBsYWNlKCJGQUlMICIsICIiKSk7
CisKKyAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzTm90aWZ5T2JzZXJ2ZXIoKTsKKyAgICB9
CisKKyAgICBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICBzd2l0Y2ggKGRvY3VtZW50Lmxv
Y2F0aW9uLmhhc2gpIHsKKyAgICAgICAgICAgIGNhc2UgIiI6CisgICAgICAgICAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgICAgICAg
ICAgICAgc2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNv
cmRzV2VyZVNjYW5uZWQodHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
Lmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soZmluaXNoVGVzdCk7
CisgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gIkxvYWRX
b3JrZXIiOworICAgICAgICAgICAgICAgICAgICAgICAgcnVuVGVzdCgpOworICAgICAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICBjYXNlICIjTG9hZFdvcmtlciI6CisgICAgICAgICAgICAgICAgbGV0IHcxID0g
bmV3IFdvcmtlcigicmVzb3VyY2VzL3dvcmtlci1pbXBvcnRpbmctbG9jYWxob3N0LXNjcmlwdC5q
cyIpOworICAgICAgICAgICAgICAgIHcxLm9ubWVzc2FnZSA9IHJlY2VpdmVNZXNzYWdlOworICAg
ICAgICAgICAgICAgIHcxLnBvc3RNZXNzYWdlKCJzaG91bGROb3RSZWNlaXZlQ29va2llcyIpOwor
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWltcG9ydC1pbi13b3JrZXIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4td29ya2VyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xMjExYWYwZDI4MjAwZjBhMTNkM2NhZTc3MDRlZGY2NTUzZmY1MTZkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4td29ya2VyLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDI2IEBACitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKworUmVzb3VyY2UgbG9hZCBzdGF0aXN0aWNzOgorCitSZWdpc3RyYWJs
ZSBkb21haW46IGxvY2FsaG9zdAorICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KKyAgICBtb3N0
UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQorICAgIGdyYW5kZmF0aGVyZWQ6IE5vCisgICAgZ290
TGlua0RlY29yYXRpb25Gcm9tUHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgc3VicmVzb3VyY2VV
bmRlclRvcEZyYW1lRG9tYWluczoKKyAgICAgICAgMTI3LjAuMC4xCisgICAgaXNQcmV2YWxlbnRS
ZXNvdXJjZTogTm8KKyAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBkYXRhUmVj
b3Jkc1JlbW92ZWQ6IDAKK1JlZ2lzdHJhYmxlIGRvbWFpbjogMTI3LjAuMC4xCisgICAgaGFkVXNl
ckludGVyYWN0aW9uOiBObworICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCisgICAg
Z3JhbmRmYXRoZXJlZDogTm8KKyAgICBnb3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNv
dXJjZTogTm8KKyAgICB0b3BGcmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzOgorICAgICAgICBs
b2NhbGhvc3QKKyAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObworICAgIGlzVmVyeVByZXZhbGVu
dFJlc291cmNlOiBObworICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBh
cnR5LXNjcmlwdC1pbXBvcnQtaW4td29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWltcG9ydC1p
bi13b3JrZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNjY4Y2NhNTQwNTYyODNhOTVhZjM5MjNlYTRiOWMx
NjVkYTA3MjE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4td29y
a2VyLmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJl
biI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgPHRpdGxlPlRlc3Qg
Y291bnRpbmcgb2YgdGhpcmQtcGFydHkgc2NyaXB0IGltcG9ydHMgaW4gd29ya2VyczwvdGl0bGU+
CisgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKyAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiBmaW5p
c2hUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVyLmR1bXBSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
KCk7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9uKCkgeworICAgICAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0pOworICAgIH0KKworICAg
IGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7CisgICAgICAgIGlmIChldmVudC5kYXRh
LmluZGV4T2YoIlBBU1MiKSA9PT0gLTEpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKGV2ZW50LmRh
dGEucmVwbGFjZSgiRkFJTCAiLCAiIikpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGlj
c05vdGlmeU9ic2VydmVyKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAg
ICAgICAgc3dpdGNoIChkb2N1bWVudC5sb2NhdGlvbi5oYXNoKSB7CisgICAgICAgICAgICBjYXNl
ICIiOgorICAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50
ZXJuYWxzKSB7CisgICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVu
Y3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05v
dGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5uZWQodHJ1ZSk7CisgICAgICAgICAgICAg
ICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRz
Q2FsbGJhY2soZmluaXNoVGVzdCk7CisgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5s
b2NhdGlvbi5oYXNoID0gIkxvYWRXb3JrZXIiOworICAgICAgICAgICAgICAgICAgICAgICAgcnVu
VGVzdCgpOworICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlICIjTG9hZFdvcmtlciI6CisgICAg
ICAgICAgICAgICAgbGV0IHcxID0gbmV3IFdvcmtlcigicmVzb3VyY2VzL3dvcmtlci1pbXBvcnRp
bmctbG9jYWxob3N0LXNjcmlwdC5qcyIpOworICAgICAgICAgICAgICAgIHcxLm9ubWVzc2FnZSA9
IHJlY2VpdmVNZXNzYWdlOworICAgICAgICAgICAgICAgIHcxLnBvc3RNZXNzYWdlKCJzaG91bGRO
b3RSZWNlaXZlQ29va2llcyIpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9Cisg
ICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2Ny
aXB0LWxvYWRzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZGF0
YWJhc2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2OWMxZTRmMDc3ZWM4MjI0ODE2OGRjYjgw
YzRiNzQ3ZTZmYzQwMzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLWRh
dGFiYXNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI2IEBACitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKworUmVzb3VyY2UgbG9hZCBzdGF0aXN0aWNz
OgorCitSZWdpc3RyYWJsZSBkb21haW46IDEyNy4wLjAuMQorICAgIGhhZFVzZXJJbnRlcmFjdGlv
bjogTm8KKyAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQorICAgIGdyYW5kZmF0aGVy
ZWQ6IE5vCisgICAgVG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0czoKKyAgICAgICAgbG9j
YWxob3N0CisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8KKyAg
ICBpc1ByZXZhbGVudFJlc291cmNlOiBObworICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBO
bworICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAorUmVnaXN0cmFibGUgZG9tYWluOiBsb2NhbGhv
c3QKKyAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCisgICAgbW9zdFJlY2VudFVzZXJJbnRlcmFj
dGlvbjogLTEKKyAgICBncmFuZGZhdGhlcmVkOiBObworICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0
Q29va2llRGF0YVJlbW92YWw6IE5vCisgICAgU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lRG9tYWlu
czoKKyAgICAgICAgMTI3LjAuMC4xCisgICAgaXNQcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBp
c1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
b3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3Jp
cHQtbG9hZHMtZGF0YWJhc2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MzllYzQ5NmJlZDU4NGI2MWZiZDE1
ZGIzNmNmNThkOGU2YjMxZGY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1sb2Fk
cy1kYXRhYmFzZS5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwg
bGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0aXRs
ZT5UZXN0IGNvdW50aW5nIG9mIHRoaXJkLXBhcnR5IHNjcmlwdCBsb2FkczwvdGl0bGU+CisgICAg
PHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHNjcmlwdD4KKyAgICBjb25zdCB0aGlyZFBhcnR5T3Jp
Z2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7CisgICAgY29uc3QgdGhpcmRQYXJ0eUJhc2VV
cmwgPSB0aGlyZFBhcnR5T3JpZ2luICsgIi9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNl
cyI7CisKKyAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVyLmR1
bXBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzKCk7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFs
c2UsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cisg
ICAgICAgIH0pOworICAgIH0KKworICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgIHN3
aXRjaCAoZG9jdW1lbnQubG9jYXRpb24uaGFzaCkgeworICAgICAgICAgICAgY2FzZSAiIjoKKyAg
ICAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykg
eworICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkg
eworICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFzZSh0
cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OworICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5
UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxs
YmFjayhmaW5pc2hUZXN0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0
aW9uLmhhc2ggPSAic3RlcDEiOworICAgICAgICAgICAgICAgICAgICAgICAgcnVuVGVzdCgpOwor
ICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlICIjc3RlcDEiOgorICAgICAgICAgICAgICAgIGRv
Y3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDIiOworICAgICAgICAgICAgICAgIGxldCBzY3Jp
cHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CisgICAgICAgICAg
ICAgICAgc2NyaXB0RWxlbWVudC5vbmxvYWQgPSBydW5UZXN0OworICAgICAgICAgICAgICAgIHNj
cmlwdEVsZW1lbnQuc3JjID0gdGhpcmRQYXJ0eUJhc2VVcmwgKyAiL2R1bW15LmpzP2R1bW15UGFy
YW09IiArIE1hdGgucmFuZG9tKCk7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChzY3JpcHRFbGVtZW50KTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgIGNhc2UgIiNzdGVwMiI6CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNz
Tm90aWZ5T2JzZXJ2ZXIoKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAg
IH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlw
dC1sb2Fkcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xMjExYWYwZDI4MjAwZjBhMTNkM2NhZTc3MDRlZGY2NTUzZmY1MTZkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1sb2Fkcy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwyNiBAQAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKK1Jlc291cmNlIGxvYWQgc3RhdGlzdGljczoKKworUmVnaXN0cmFibGUgZG9tYWluOiBsb2Nh
bGhvc3QKKyAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCisgICAgbW9zdFJlY2VudFVzZXJJbnRl
cmFjdGlvbjogLTEKKyAgICBncmFuZGZhdGhlcmVkOiBObworICAgIGdvdExpbmtEZWNvcmF0aW9u
RnJvbVByZXZhbGVudFJlc291cmNlOiBObworICAgIHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZURv
bWFpbnM6CisgICAgICAgIDEyNy4wLjAuMQorICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCisg
ICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgZGF0YVJlY29yZHNSZW1vdmVkOiAw
CitSZWdpc3RyYWJsZSBkb21haW46IDEyNy4wLjAuMQorICAgIGhhZFVzZXJJbnRlcmFjdGlvbjog
Tm8KKyAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQorICAgIGdyYW5kZmF0aGVyZWQ6
IE5vCisgICAgZ290TGlua0RlY29yYXRpb25Gcm9tUHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAg
dG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0czoKKyAgICAgICAgbG9jYWxob3N0CisgICAg
aXNQcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8K
KyAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtbG9h
ZHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9j
b3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMzA1MDczNTQz
M2FmMjQ2ZWMyYzM2YmI0Y2UyNjU2ODhkODc0ZWYzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5
LXNjcmlwdC1sb2Fkcy5odG1sCkBAIC0wLDAgKzEsNDggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0
aXRsZT5UZXN0IGNvdW50aW5nIG9mIHRoaXJkLXBhcnR5IHNjcmlwdCBsb2FkczwvdGl0bGU+Cisg
ICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4K
KyAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHNjcmlwdD4KKyAgICBjb25zdCB0aGlyZFBhcnR5
T3JpZ2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7CisgICAgY29uc3QgdGhpcmRQYXJ0eUJh
c2VVcmwgPSB0aGlyZFBhcnR5T3JpZ2luICsgIi9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291
cmNlcyI7CisKKyAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVy
LmR1bXBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzKCk7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUo
ZmFsc2UsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
CisgICAgICAgIH0pOworICAgIH0KKworICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
IHN3aXRjaCAoZG9jdW1lbnQubG9jYXRpb24uaGFzaCkgeworICAgICAgICAgICAgY2FzZSAiIjoK
KyAgICAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFs
cykgeworICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9u
KCkgeworICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQ
YWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOworICAgICAgICAgICAgICAgICAg
ICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxi
YWNrKGZpbmlzaFRlc3QpOworICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRp
b24uaGFzaCA9ICJzdGVwMSI7CisgICAgICAgICAgICAgICAgICAgICAgICBydW5UZXN0KCk7Cisg
ICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgIiNzdGVwMSI6CisgICAgICAgICAgICAgICAgZG9j
dW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMiI7CisgICAgICAgICAgICAgICAgbGV0IHNjcmlw
dEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKKyAgICAgICAgICAg
ICAgICBzY3JpcHRFbGVtZW50Lm9ubG9hZCA9IHJ1blRlc3Q7CisgICAgICAgICAgICAgICAgc2Ny
aXB0RWxlbWVudC5zcmMgPSB0aGlyZFBhcnR5QmFzZVVybCArICIvZHVtbXkuanM/ZHVtbXlQYXJh
bT0iICsgTWF0aC5yYW5kb20oKTsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVu
ZENoaWxkKHNjcmlwdEVsZW1lbnQpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgY2FzZSAiI3N0ZXAyIjoKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NO
b3RpZnlPYnNlcnZlcigpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAg
fQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG9udC1jb3VudC10aGlyZC1wYXJ0eS1p
bWFnZS1hcy10aGlyZC1wYXJ0eS1zY3JpcHQtZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvbnQtY291bnQtdGhpcmQt
cGFydHktaW1hZ2UtYXMtdGhpcmQtcGFydHktc2NyaXB0LWRhdGFiYXNlLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wMjVjMjNmOTIyZjRkNGU3ZTBmMjViYWU3NDViZGRiNDVjY2ZkYjFjCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2RvbnQtY291bnQtdGhpcmQtcGFydHktaW1hZ2UtYXMtdGhpcmQtcGFydHktc2NyaXB0LWRh
dGFiYXNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI0IEBACitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKworUmVzb3VyY2UgbG9hZCBzdGF0aXN0aWNz
OgorCitSZWdpc3RyYWJsZSBkb21haW46IDEyNy4wLjAuMQorICAgIGhhZFVzZXJJbnRlcmFjdGlv
bjogTm8KKyAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQorICAgIGdyYW5kZmF0aGVy
ZWQ6IE5vCisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8KKyAg
ICBpc1ByZXZhbGVudFJlc291cmNlOiBObworICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBO
bworICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAorUmVnaXN0cmFibGUgZG9tYWluOiBsb2NhbGhv
c3QKKyAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCisgICAgbW9zdFJlY2VudFVzZXJJbnRlcmFj
dGlvbjogLTEKKyAgICBncmFuZGZhdGhlcmVkOiBObworICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0
Q29va2llRGF0YVJlbW92YWw6IE5vCisgICAgU3VicmVzb3VyY2VVbmRlclRvcEZyYW1lRG9tYWlu
czoKKyAgICAgICAgMTI3LjAuMC4xCisgICAgaXNQcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBp
c1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9k
b250LWNvdW50LXRoaXJkLXBhcnR5LWltYWdlLWFzLXRoaXJkLXBhcnR5LXNjcmlwdC1kYXRhYmFz
ZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Rv
bnQtY291bnQtdGhpcmQtcGFydHktaW1hZ2UtYXMtdGhpcmQtcGFydHktc2NyaXB0LWRhdGFiYXNl
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTIxNjA5MDA4OGEzNWRkYjBmNjdkMmZkZjk5ZWU0NjQ2ZmRkZGJi
ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2Fk
U3RhdGlzdGljcy9kb250LWNvdW50LXRoaXJkLXBhcnR5LWltYWdlLWFzLXRoaXJkLXBhcnR5LXNj
cmlwdC1kYXRhYmFzZS5odG1sCkBAIC0wLDAgKzEsNDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDx0
aXRsZT5UZXN0IG5vdCBjb3VudGluZyB0aGlyZC1wYXJ0eSBpbWFnZXMgYXMgdGhpcmQtcGFydHkg
c2NyaXB0IGxvYWRzPC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2Vz
L2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRpbC5q
cyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8c2NyaXB0
PgorICAgIGNvbnN0IHRoaXJkUGFydHlPcmlnaW4gPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAwIjsK
KyAgICBjb25zdCB0aGlyZFBhcnR5QmFzZVVybCA9IHRoaXJkUGFydHlPcmlnaW4gKyAiL3Jlc291
cmNlcyI7CisKKyAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVy
LmR1bXBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzKCk7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUo
ZmFsc2UsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
CisgICAgICAgIH0pOworICAgIH0KKworICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAg
IHN3aXRjaCAoZG9jdW1lbnQubG9jYXRpb24uaGFzaCkgeworICAgICAgICAgICAgY2FzZSAiIjoK
KyAgICAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFs
cykgeworICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9u
KCkgeworICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VJVFBEYXRhYmFz
ZSh0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9u
ZSgpOworICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90
aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nhbm5lZCh0cnVlKTsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHND
YWxsYmFjayhmaW5pc2hUZXN0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50Lmxv
Y2F0aW9uLmhhc2ggPSAic3RlcDEiOworICAgICAgICAgICAgICAgICAgICAgICAgcnVuVGVzdCgp
OworICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlICIjc3RlcDEiOgorICAgICAgICAgICAgICAg
IGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDIiOworICAgICAgICAgICAgICAgIGxldCBp
bWdFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7CisgICAgICAgICAgICAg
ICAgaW1nRWxlbWVudC5vbmxvYWQgPSBydW5UZXN0OworICAgICAgICAgICAgICAgIGltZ0VsZW1l
bnQuc3JjID0gdGhpcmRQYXJ0eUJhc2VVcmwgKyAiL3NxdWFyZTIwLmpwZz9kdW1teVBhcmFtPSIg
KyBNYXRoLnJhbmRvbSgpOworICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQoaW1nRWxlbWVudCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNl
ICIjc3RlcDIiOgorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc05vdGlmeU9i
c2VydmVyKCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9Cis8L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kb250LWNvdW50LXRoaXJkLXBhcnR5LWltYWdlLWFz
LXRoaXJkLXBhcnR5LXNjcmlwdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG9udC1jb3VudC10aGlyZC1wYXJ0eS1pbWFnZS1hcy10
aGlyZC1wYXJ0eS1zY3JpcHQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRlY2I5NzM2ZTEwNjA5
MjM1YjAxMTM5M2FhZTExNjJkMjI0ODI5NWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG9udC1jb3VudC10aGlyZC1wYXJ0
eS1pbWFnZS1hcy10aGlyZC1wYXJ0eS1zY3JpcHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYg
QEAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCitS
ZXNvdXJjZSBsb2FkIHN0YXRpc3RpY3M6CisKK1JlZ2lzdHJhYmxlIGRvbWFpbjogbG9jYWxob3N0
CisgICAgaGFkVXNlckludGVyYWN0aW9uOiBObworICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rp
b246IC0xCisgICAgZ3JhbmRmYXRoZXJlZDogTm8KKyAgICBnb3RMaW5rRGVjb3JhdGlvbkZyb21Q
cmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVEb21haW5z
OgorICAgICAgICAxMjcuMC4wLjEKKyAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObworICAgIGlz
VmVyeVByZXZhbGVudFJlc291cmNlOiBObworICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Rv
bnQtY291bnQtdGhpcmQtcGFydHktaW1hZ2UtYXMtdGhpcmQtcGFydHktc2NyaXB0Lmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG9udC1jb3VudC10
aGlyZC1wYXJ0eS1pbWFnZS1hcy10aGlyZC1wYXJ0eS1zY3JpcHQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
NTFlNjRjNTNkODIyOTY0NjRiZDg2NGNiMjlkNDdhMmVhZWE4ODIyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2RvbnQtY291
bnQtdGhpcmQtcGFydHktaW1hZ2UtYXMtdGhpcmQtcGFydHktc2NyaXB0Lmh0bWwKQEAgLTAsMCAr
MSw0OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBsYW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8
bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgPHRpdGxlPlRlc3Qgbm90IGNvdW50aW5nIHRoaXJk
LXBhcnR5IGltYWdlcyBhcyB0aGlyZC1wYXJ0eSBzY3JpcHQgbG9hZHM8L3RpdGxlPgorICAgIDxz
Y3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAg
PHNjcmlwdCBzcmM9InJlc291cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxzY3JpcHQ+CisgICAgY29uc3QgdGhpcmRQYXJ0eU9yaWdp
biA9ICJodHRwOi8vbG9jYWxob3N0OjgwMDAiOworICAgIGNvbnN0IHRoaXJkUGFydHlCYXNlVXJs
ID0gdGhpcmRQYXJ0eU9yaWdpbiArICIvcmVzb3VyY2VzIjsKKworICAgIGZ1bmN0aW9uIGZpbmlz
aFRlc3QoKSB7CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcFJlc291cmNlTG9hZFN0YXRpc3RpY3Mo
KTsKKyAgICAgICAgc2V0RW5hYmxlRmVhdHVyZShmYWxzZSwgZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfSk7CisgICAgfQorCisgICAg
ZnVuY3Rpb24gcnVuVGVzdCgpIHsKKyAgICAgICAgc3dpdGNoIChkb2N1bWVudC5sb2NhdGlvbi5o
YXNoKSB7CisgICAgICAgICAgICBjYXNlICIiOgorICAgICAgICAgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lciAmJiB3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgICAgICAgICAgICAgIHNl
dEVuYWJsZUZlYXR1cmUodHJ1ZSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNjYW5u
ZWQodHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxTdGF0
aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soZmluaXNoVGVzdCk7CisgICAgICAgICAg
ICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAxIjsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHJ1blRlc3QoKTsKKyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSAi
I3N0ZXAxIjoKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAy
IjsKKyAgICAgICAgICAgICAgICBsZXQgaW1nRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImltZyIpOworICAgICAgICAgICAgICAgIGltZ0VsZW1lbnQub25sb2FkID0gcnVuVGVzdDsK
KyAgICAgICAgICAgICAgICBpbWdFbGVtZW50LnNyYyA9IHRoaXJkUGFydHlCYXNlVXJsICsgIi9z
cXVhcmUyMC5qcGc/ZHVtbXlQYXJhbT0iICsgTWF0aC5yYW5kb20oKTsKKyAgICAgICAgICAgICAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGltZ0VsZW1lbnQpOworICAgICAgICAgICAgICAg
IGJyZWFrOworICAgICAgICAgICAgY2FzZSAiI3N0ZXAyIjoKKyAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLnN0YXRpc3RpY3NOb3RpZnlPYnNlcnZlcigpOworICAgICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICB9CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbG9nLWNy
b3NzLXNpdGUtbG9hZC13aXRoLWxpbmstZGVjb3JhdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbG9nLWNyb3Nz
LXNpdGUtbG9hZC13aXRoLWxpbmstZGVjb3JhdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50eHQKaW5k
ZXggOThkMWRhYTcxOGQxZGRiMmFmNjY1OGI3NGUxNTdmNGVmM2JiOTY1NC4uOTQ3MjUwZGVkYmIw
ZjYyNjllNWNlN2VkNGFlZjQ5ODhiY2VmNjI3YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xvZy1jcm9zcy1zaXRlLWxvYWQtd2l0aC1s
aW5rLWRlY29yYXRpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9sb2ctY3Jvc3Mtc2l0ZS1sb2FkLXdpdGgt
bGluay1kZWNvcmF0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApAQCAtMywyOSArMywyOSBAQCBU
ZXN0IGxvZ2dpbmcgb2YgbGluayBkZWNvcmF0ZWQgY3Jvc3Mtc2l0ZSBuYXZpZ2F0aW9ucyBmcm9t
IGEgcHJldmFsZW50IHJlc291cmNlLgogUmVzb3VyY2UgbG9hZCBzdGF0aXN0aWNzOgogCiBSZWdp
c3RyYWJsZSBkb21haW46IDEyNy4wLjAuMQotICAgIGxhc3RTZWVuOiAwCiAgICAgaGFkVXNlcklu
dGVyYWN0aW9uOiBObwogICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCiAgICAgZ3Jh
bmRmYXRoZXJlZDogTm8KLSAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFs
OiBObyAgICBpc1ByZXZhbGVudFJlc291cmNlOiBZZXMKKyAgICBJc1NjaGVkdWxlZEZvckFsbEJ1
dENvb2tpZURhdGFSZW1vdmFsOiBObworICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IFllcwogICAg
IGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObwogICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAog
UmVnaXN0cmFibGUgZG9tYWluOiAxMjcuMC4wLjIKLSAgICBsYXN0U2VlbjogMAogICAgIGhhZFVz
ZXJJbnRlcmFjdGlvbjogTm8KICAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQogICAg
IGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVt
b3ZhbDogTm8gICAgaXNQcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBJc1NjaGVkdWxlZEZvckFs
bEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObworICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCiAg
ICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCiAgICAgZGF0YVJlY29yZHNSZW1vdmVkOiAw
CiBSZWdpc3RyYWJsZSBkb21haW46IGxvY2FsaG9zdAotICAgIGxhc3RTZWVuOiAwCiAgICAgaGFk
VXNlckludGVyYWN0aW9uOiBObwogICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCiAg
ICAgZ3JhbmRmYXRoZXJlZDogTm8KICAgICBUb3BGcmFtZUxpbmtEZWNvcmF0aW9uc0Zyb206CiAg
ICAgICAgIDEyNy4wLjAuMQogICAgICAgICAxMjcuMC4wLjIKLSAgICBJc1NjaGVkdWxlZEZvckFs
bEJ1dENvb2tpZURhdGFSZW1vdmFsOiBZZXMgICAgaXNQcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAg
ICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBZZXMKKyAgICBpc1ByZXZh
bGVudFJlc291cmNlOiBObwogICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObwogICAgIGRh
dGFSZWNvcmRzUmVtb3ZlZDogMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xvZy1jcm9zcy1zaXRlLWxvYWQtd2l0aC1saW5rLWRlY29y
YXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2xvZy1jcm9zcy1zaXRlLWxvYWQtd2l0aC1saW5rLWRlY29yYXRpb24tZXhwZWN0
ZWQudHh0CmluZGV4IDc0MGE0MDM1ZDhkMTNhNzFjOGE0MjU0NmM5MWU2NGRjNGFkMzlkMTcuLjVj
Y2QxMjQ1ZGYzNjcyODc2Mjk3OTY4ZWQ2ODMzN2EyMzc2NzU4ZTQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9sb2ctY3Jvc3Mtc2l0ZS1s
b2FkLXdpdGgtbGluay1kZWNvcmF0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvbG9nLWNyb3NzLXNpdGUtbG9hZC13aXRo
LWxpbmstZGVjb3JhdGlvbi1leHBlY3RlZC50eHQKQEAgLTMsMjAgKzMsMjAgQEAgVGVzdCBsb2dn
aW5nIG9mIGxpbmsgZGVjb3JhdGVkIGNyb3NzLXNpdGUgbmF2aWdhdGlvbnMgZnJvbSBhIHByZXZh
bGVudCByZXNvdXJjZS4KIFJlc291cmNlIGxvYWQgc3RhdGlzdGljczoKIAogUmVnaXN0cmFibGUg
ZG9tYWluOiBsb2NhbGhvc3QKLSAgICBsYXN0U2VlbjogMAogICAgIGhhZFVzZXJJbnRlcmFjdGlv
bjogTm8KICAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQogICAgIGdyYW5kZmF0aGVy
ZWQ6IE5vCiAgICAgdG9wRnJhbWVMaW5rRGVjb3JhdGlvbnNGcm9tOgogICAgICAgICAxMjcuMC4w
LjEKLSAgICBnb3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZTogWWVzICAgIGlz
UHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgZ290TGlua0RlY29yYXRpb25Gcm9tUHJldmFsZW50
UmVzb3VyY2U6IFllcworICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCiAgICAgaXNWZXJ5UHJl
dmFsZW50UmVzb3VyY2U6IE5vCiAgICAgZGF0YVJlY29yZHNSZW1vdmVkOiAwCiBSZWdpc3RyYWJs
ZSBkb21haW46IDEyNy4wLjAuMQotICAgIGxhc3RTZWVuOiAwCiAgICAgaGFkVXNlckludGVyYWN0
aW9uOiBObwogICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCiAgICAgZ3JhbmRmYXRo
ZXJlZDogTm8KLSAgICBnb3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZTogTm8g
ICAgaXNQcmV2YWxlbnRSZXNvdXJjZTogWWVzCisgICAgZ290TGlua0RlY29yYXRpb25Gcm9tUHJl
dmFsZW50UmVzb3VyY2U6IE5vCisgICAgaXNQcmV2YWxlbnRSZXNvdXJjZTogWWVzCiAgICAgaXNW
ZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCiAgICAgZGF0YVJlY29yZHNSZW1vdmVkOiAwCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvcmVz
b3VyY2VzL2R1bW15LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL3Jlc291cmNlcy9kdW1teS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNzQxNGMyMzIzYzg5Zjc2NWFk
Y2NiMzJlYTFhNjVhZGY0OGQxNzgxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9kdW1teS5qcwpAQCAtMCww
ICsxLDYgQEAKK2Z1bmN0aW9uIGdldFJhbmRvbUludChtYXgpIHsKKyAgICByZXR1cm4gTWF0aC5m
bG9vcihNYXRoLnJhbmRvbSgpICogTWF0aC5mbG9vcihtYXgpKTsKK30KK2xldCB2YWx1ZSA9IGdl
dFJhbmRvbUludCgxMCk7CitpZiAodmFsdWUgPiA1KQorICAgIHZhbHVlID0gNTsKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtbmF2aWdh
dGVkLXRvLXdpdGgtbGluay1kZWNvcmF0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVt
b3ZhbC1mb3Itc2l0ZS1uYXZpZ2F0ZWQtdG8td2l0aC1saW5rLWRlY29yYXRpb24tZGF0YWJhc2Ut
ZXhwZWN0ZWQudHh0CmluZGV4IGQ5YjA1NWI2N2M4ZWIwNDYxZWZhNzJiZWVlYWMyYTA2NDM3NTll
YjYuLmRlNDFhOWExYWI0NWY4NjhlNzVlODViNDJiNWM5ZjQzZGQ2MjkzYmEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRh
dGEtcmVtb3ZhbC1mb3Itc2l0ZS1uYXZpZ2F0ZWQtdG8td2l0aC1saW5rLWRlY29yYXRpb24tZGF0
YWJhc2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3Itc2l0ZS1uYXZpZ2F0ZWQtdG8t
d2l0aC1saW5rLWRlY29yYXRpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CkBAIC0xNiwyMCArMTYs
MjAgQEAgQWZ0ZXIgZGVsZXRpb246IElEQiBlbnRyeSBkb2VzIG5vdCBleGlzdC4KIFJlc291cmNl
IGxvYWQgc3RhdGlzdGljczoKIAogUmVnaXN0cmFibGUgZG9tYWluOiAxMjcuMC4wLjEKLSAgICBs
YXN0U2VlbjogMAogICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KICAgICBtb3N0UmVjZW50VXNl
ckludGVyYWN0aW9uOiAtMQogICAgIGdyYW5kZmF0aGVyZWQ6IE5vCiAgICAgVG9wRnJhbWVMaW5r
RGVjb3JhdGlvbnNGcm9tOgogICAgICAgICBsb2NhbGhvc3QKLSAgICBJc1NjaGVkdWxlZEZvckFs
bEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObyAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObworICAg
IElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCisgICAgaXNQcmV2YWxl
bnRSZXNvdXJjZTogTm8KICAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KICAgICBkYXRh
UmVjb3Jkc1JlbW92ZWQ6IDEKIFJlZ2lzdHJhYmxlIGRvbWFpbjogbG9jYWxob3N0Ci0gICAgbGFz
dFNlZW46IDAKICAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCiAgICAgbW9zdFJlY2VudFVzZXJJ
bnRlcmFjdGlvbjogLTEKICAgICBncmFuZGZhdGhlcmVkOiBObwotICAgIElzU2NoZWR1bGVkRm9y
QWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IFllcwor
ICAgIElzU2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCisgICAgaXNQcmV2
YWxlbnRSZXNvdXJjZTogWWVzCiAgICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCiAgICAg
ZGF0YVJlY29yZHNSZW1vdmVkOiAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtbmF2
aWdhdGVkLXRvLXdpdGgtbGluay1kZWNvcmF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1m
b3Itc2l0ZS1uYXZpZ2F0ZWQtdG8td2l0aC1saW5rLWRlY29yYXRpb24tZXhwZWN0ZWQudHh0Cmlu
ZGV4IGQzNmRmYzQ4YjhhMjJmOWZiNGMxNWMzM2UyY2Q1ZmEyN2IxMTVhYmMuLmY2ZTQwNTRlODBh
MTI0YjJmYWE1YzQ5NjI5YjU4ZTFlMGIxMzhkYzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRhdGEtcmVtb3ZhbC1mb3It
c2l0ZS1uYXZpZ2F0ZWQtdG8td2l0aC1saW5rLWRlY29yYXRpb24tZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy93ZWJzaXRlLWRh
dGEtcmVtb3ZhbC1mb3Itc2l0ZS1uYXZpZ2F0ZWQtdG8td2l0aC1saW5rLWRlY29yYXRpb24tZXhw
ZWN0ZWQudHh0CkBAIC0xNiwyMCArMTYsMjAgQEAgQWZ0ZXIgZGVsZXRpb246IElEQiBlbnRyeSBk
b2VzIG5vdCBleGlzdC4KIFJlc291cmNlIGxvYWQgc3RhdGlzdGljczoKIAogUmVnaXN0cmFibGUg
ZG9tYWluOiBsb2NhbGhvc3QKLSAgICBsYXN0U2VlbjogMAogICAgIGhhZFVzZXJJbnRlcmFjdGlv
bjogTm8KICAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQogICAgIGdyYW5kZmF0aGVy
ZWQ6IE5vCi0gICAgZ290TGlua0RlY29yYXRpb25Gcm9tUHJldmFsZW50UmVzb3VyY2U6IE5vICAg
IGlzUHJldmFsZW50UmVzb3VyY2U6IFllcworICAgIGdvdExpbmtEZWNvcmF0aW9uRnJvbVByZXZh
bGVudFJlc291cmNlOiBObworICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IFllcwogICAgIGlzVmVy
eVByZXZhbGVudFJlc291cmNlOiBObwogICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAogUmVnaXN0
cmFibGUgZG9tYWluOiAxMjcuMC4wLjEKLSAgICBsYXN0U2VlbjogMAogICAgIGhhZFVzZXJJbnRl
cmFjdGlvbjogTm8KICAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQogICAgIGdyYW5k
ZmF0aGVyZWQ6IE5vCiAgICAgdG9wRnJhbWVMaW5rRGVjb3JhdGlvbnNGcm9tOgogICAgICAgICBs
b2NhbGhvc3QKLSAgICBnb3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZTogTm8g
ICAgaXNQcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBnb3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2
YWxlbnRSZXNvdXJjZTogTm8KKyAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObwogICAgIGlzVmVy
eVByZXZhbGVudFJlc291cmNlOiBObwogICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>383889</attachid>
            <date>2019-11-19 11:49:08 -0800</date>
            <delta_ts>2019-11-19 12:35:28 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-204262-20191119114907.patch</filename>
            <type>text/plain</type>
            <size>59418</size>
            <attacher name="John Wilander">wilander</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUyNjM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzBlZDViODE1YzM1ZDA1
NjFkZWNjYzJjOGNlMTIwYWE5ZDBkYTY3MC4uM2JjNTUwNWNhMGEzZTE0ODMyOWNlMTQyNjc4ODJi
NjhkN2E1YmE1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE5LTExLTE5ICBKb2hu
IFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlc291cmNlIExvYWQg
U3RhdGlzdGljczogQ291bnQgdGhpcmQtcGFydHkgc2NyaXB0IGxvYWRzIHVuZGVyIHRvcCBmcmFt
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA0MjYy
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NzI0NDk0NT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIFRoaXJkLXBhcnR5IHNjcmlwdHMgcnVubmlu
ZyBpbiB0aGUgZmlyc3QtcGFydHkgY29udGV4dCBhcmUgYSBzaWduaWZpY2FudCBwcml2YWN5Cisg
ICAgICAgIGFuZCBzZWN1cml0eSByaXNrLiBUaGlzIGNoYW5nZSBjYXB0dXJlcyB0aGUgbnVtYmVy
IG9mIHN1Y2ggc2NyaXB0IGxvYWRzIHdoaWNoIHdpbGwKKyAgICAgICAgYWxsb3cgSVRQIHRvIHRh
a2UgYWN0aW9uLgorCisgICAgICAgIFRlc3RzOiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWltcG9ydC1pbi13b3JrZXItZGF0YWJhc2Uu
aHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Nv
dW50LXRoaXJkLXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4td29ya2VyLmh0bWwKKyAgICAgICAgICAg
ICAgIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1z
Y3JpcHQtbG9hZHMtZGF0YWJhc2UuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1sb2Fkcy5odG1sCisK
KyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkpOgorICAgICAgICAgICAgTm93IHNl
bmRzIHRoZSBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6RmV0Y2hEZXN0aW5hdGlvbklzU2NyaXB0TGlr
ZSBwYXJhbWV0ZXIgdG8KKyAgICAgICAgICAgIFJlc291cmNlTG9hZE9ic2VydmVyOjpsb2dTdWJy
ZXNvdXJjZUxvYWRpbmcoKS4KKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIu
aDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZE9ic2VydmVyOjpsb2dTdWJyZXNvdXJj
ZUxvYWRpbmcpOgorICAgICAgICAgICAgTm93IHRha2VzIGEgRmV0Y2hEZXN0aW5hdGlvbklzU2Ny
aXB0TGlrZSBwYXJhbWV0ZXIuCisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkU3RhdGlzdGljczo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZFN0YXRpc3RpY3M6OmRlY29k
ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzOjp0b1N0cmluZyBj
b25zdCk6CisgICAgICAgICAgICBPdXRwdXQgb2YgdGhlIG5ldyB0b3BGcmFtZUxvYWRlZFRoaXJk
UGFydHlTY3JpcHRzIGNhdGVnb3J5LgorICAgICAgICAgICAgUmVtb3ZlZCB0aGUgbGFzdFNlZW4g
b3V0cHV0IHNpbmNlIGl0IG1heSBkaWZmZXIgYmV0d2VlbiB0ZXN0IHJ1bnMuCisgICAgICAgIChX
ZWJDb3JlOjpSZXNvdXJjZUxvYWRTdGF0aXN0aWNzOjptZXJnZSk6CisgICAgICAgICAgICBIYW5k
bGluZyBvZiB0aGUgbmV3IHRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHMgY2F0ZWdvcnku
CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MuaDoKKyAgICAgICAgICAg
IEFkZGVkIHRoZSBuZXcgdG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0cyBjYXRlZ29yeS4K
KyAgICAgICAgKiBsb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U3VicmVzb3VyY2VMb2FkZXI6OndpbGxTZW5kUmVxdWVzdEludGVybmFsKToKKyAgICAgICAg
ICAgIE5vdyBzZW5kcyB0aGUgUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6OkZldGNoRGVzdGluYXRpb25J
c1NjcmlwdExpa2UgcGFyYW1ldGVyIHRvCisgICAgICAgICAgICBSZXNvdXJjZUxvYWRPYnNlcnZl
cjo6bG9nU3VicmVzb3VyY2VMb2FkaW5nKCkuCisKIDIwMTktMTEtMTkgIFNpaHVpIExpdSAgPHNp
aHVpX2xpdUBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIGV4cGVjdGF0aW9ucyBmb3IgYnVm
ZmVyZWRBbW91bnQtdW5jaGFuZ2VkLWJ5LXN5bmMteGhyLmFueS53b3JrZXIuaHRtbApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCBiYzUxZmYxYjA3OTA5NjQxYzBkNTQxZDI0NWRlZmI0MWI1MmI4Y2E2Li42ZWZiNjNmMTlh
YTgzYzQ2YTJjOWI5OGIxODg1YjU3NDk0MzMwYzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBA
CisyMDE5LTExLTE5ICBKb2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgorCisgICAg
ICAgIFJlc291cmNlIExvYWQgU3RhdGlzdGljczogQ291bnQgdGhpcmQtcGFydHkgc2NyaXB0IGxv
YWRzIHVuZGVyIHRvcCBmcmFtZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjA0MjYyCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81NzI0NDk0NT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIFRoaXJkLXBh
cnR5IHNjcmlwdHMgcnVubmluZyBpbiB0aGUgZmlyc3QtcGFydHkgY29udGV4dCBhcmUgYSBzaWdu
aWZpY2FudCBwcml2YWN5CisgICAgICAgIGFuZCBzZWN1cml0eSByaXNrLiBUaGlzIGNoYW5nZSBj
YXB0dXJlcyB0aGUgbnVtYmVyIG9mIHN1Y2ggc2NyaXB0IGxvYWRzIHdoaWNoIHdpbGwKKyAgICAg
ICAgYWxsb3cgSVRQIHRvIHRha2UgYWN0aW9uLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
Q2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjpSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZSk6CisgICAgICAgIChXZWJLaXQ6OlJlc291cmNl
TG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjpjcmVhdGVVbmlxdWVJbmRpY2VzKToKKyAgICAg
ICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6OmNyZWF0ZVNj
aGVtYSk6CisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0
b3JlOjpwcmVwYXJlU3RhdGVtZW50cyk6CisgICAgICAgIChXZWJLaXQ6OlJlc291cmNlTG9hZFN0
YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjppbnNlcnREb21haW5SZWxhdGlvbnNoaXBzKToKKyAgICAg
ICAgKFdlYktpdDo6UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6OmdldFN1YlN0
YXRpc3RpY1N0YXRlbWVudCk6CisgICAgICAgICAgICBBZGRpdGlvbiBvZiB0aGUgbmV3IGNhdGVn
b3J5IFRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHMuCisgICAgICAgIChXZWJLaXQ6OlJl
c291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjpyZXNvdXJjZVRvU3RyaW5nKToKKyAg
ICAgICAgICAgIFJlbW92ZWQgdGhlIGxhc3RTZWVuIG91dHB1dCBzaW5jZSBpdCBtYXkgZGlmZmVy
IGJldHdlZW4gdGVzdCBydW5zLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIv
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUuaDoKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1vcnlTdG9yZS5jcHA6
CisgICAgICAgICAgICBCdW1wZWQgc3RhdGlzdGljc01vZGVsVmVyc2lvbiB0byAxNy4KKyAgICAg
ICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAgKElQQzo6QXJn
dW1lbnRDb2RlcjxSZXNvdXJjZUxvYWRTdGF0aXN0aWNzPjo6ZW5jb2RlKToKKyAgICAgICAgKElQ
Qzo6QXJndW1lbnRDb2RlcjxSZXNvdXJjZUxvYWRTdGF0aXN0aWNzPjo6ZGVjb2RlKToKKyAgICAg
ICAgICAgIEVuY29kaW5nIGFuZCBkZWNvZGluZyBvZiB0aGUgbmV3IGNhdGVnb3J5IHRvcEZyYW1l
TG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHMuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJSZXNvdXJjZUxvYWRPYnNlcnZlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlJl
c291cmNlTG9hZE9ic2VydmVyOjpsb2dTdWJyZXNvdXJjZUxvYWRpbmcpOgorICAgICAgICAgICAg
Tm93IHRha2VzIGFuIGFkZGl0aW9uYWwgZW51bSBwYXJhbWV0ZXIgRmV0Y2hEZXN0aW5hdGlvbklz
U2NyaXB0TGlrZSB3aGljaAorICAgICAgICAgICAgaXMgdXNlZCB0byBkZXRlY3QgdGhpcmQtcGFy
dHkgc2NyaXB0LWxpa2UgbG9hZHMgKHNjcmlwdCwgd29ya2VyLCBvcgorICAgICAgICAgICAgc2Vy
dmljZSB3b3JrZXIpIGZyb20gdGhpcmQtcGFydGllcy4gSWYgb25lIGlzIGRldGVjdGVkLCBpdCBp
cyBzdG9yZWQKKyAgICAgICAgICAgIGluIHRoZSBuZXcgdG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5
U2NyaXB0cyBjYXRlZ29yeS4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YlJlc291cmNlTG9hZE9ic2VydmVyLmg6CisKIDIwMTktMTEtMTkgIEJyaWFuIEJ1cmcgIDxiYnVy
Z0BhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBBZGQgX1dLSW5zcGVjdG9yIFNQSSB0byBz
ZXQgZGlhZ25vc3RpYyBsb2dnaW5nIGRlbGVnYXRlIGZvciBhIGxvY2FsIFdlYiBJbnNwZWN0b3IK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IDEwMTY2OWU3NGMxMjc3NTNk
NzIxZTQ0Y2QxYWIwYzNjMDg1YzlmNjguLjdiMTBjYjk4MTllNDlhZjUyMjMzOTc5OTQxYWVjYTBj
OWNkOTQ4ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMzE1MCw3
ICszMTUwLDggQEAgdW5zaWduZWQgbG9uZyBGcmFtZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hy
b25vdXNseShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXUKICAgICAgICAgICAgIHBsYXRmb3Jt
U3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5sb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5
KCp0aGlzLCBpZGVudGlmaWVyLCBuZXdSZXF1ZXN0LCBjbGllbnRDcmVkZW50aWFsUG9saWN5LCBv
cHRpb25zLCBvcmlnaW5hbFJlcXVlc3RIZWFkZXJzLCBlcnJvciwgcmVzcG9uc2UsIGJ1ZmZlcik7
CiAgICAgICAgICAgICBkYXRhID0gU2hhcmVkQnVmZmVyOjpjcmVhdGUoV1RGTW92ZShidWZmZXIp
KTsKICAgICAgICAgICAgIGRvY3VtZW50TG9hZGVyKCktPmFwcGxpY2F0aW9uQ2FjaGVIb3N0KCku
bWF5YmVMb2FkRmFsbGJhY2tTeW5jaHJvbm91c2x5KG5ld1JlcXVlc3QsIGVycm9yLCByZXNwb25z
ZSwgZGF0YSk7Ci0gICAgICAgICAgICBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkKCkubG9n
U3VicmVzb3VyY2VMb2FkaW5nKCZtX2ZyYW1lLCBuZXdSZXF1ZXN0LCByZXNwb25zZSk7CisgICAg
ICAgICAgICBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkKCkubG9nU3VicmVzb3VyY2VMb2Fk
aW5nKCZtX2ZyYW1lLCBuZXdSZXF1ZXN0LCByZXNwb25zZSwKKyAgICAgICAgICAgICAgICAoaXNT
Y3JpcHRMaWtlRGVzdGluYXRpb24ob3B0aW9ucy5kZXN0aW5hdGlvbikgPyBSZXNvdXJjZUxvYWRP
YnNlcnZlcjo6RmV0Y2hEZXN0aW5hdGlvbklzU2NyaXB0TGlrZTo6WWVzIDogUmVzb3VyY2VMb2Fk
T2JzZXJ2ZXI6OkZldGNoRGVzdGluYXRpb25Jc1NjcmlwdExpa2U6Ok5vKSk7CiAgICAgICAgIH0K
ICAgICB9CiAgICAgbm90aWZpZXIoKS5zZW5kUmVtYWluaW5nRGVsZWdhdGVNZXNzYWdlcyhtX2Rv
Y3VtZW50TG9hZGVyLmdldCgpLCBpZGVudGlmaWVyLCByZXF1ZXN0LCByZXNwb25zZSwgZGF0YSA/
IGRhdGEtPmRhdGEoKSA6IG51bGxwdHIsIGRhdGEgPyBkYXRhLT5zaXplKCkgOiAwLCAtMSwgZXJy
b3IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE9ic2Vy
dmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaAppbmRl
eCBmZDY1MTU1YWVlODk5NmMzNTQ1OGE2ZmFlMmZkM2JmYzQxNGYwYjlmLi4xMjljM2M2YjI4ZDBi
NmI5YTdjMzUwNTNlNTEwMmE0NGM2ZmZlMWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
UmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaApAQCAtMzgsMTMgKzM4LDE2IEBAIGNsYXNzIFJlc291cmNl
UmVzcG9uc2U7CiBjbGFzcyBSZXNvdXJjZUxvYWRPYnNlcnZlciB7CiAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CiBwdWJsaWM6CisgICAgLy8gaHR0cHM6Ly9mZXRjaC5zcGVjLndoYXR3Zy5v
cmcvI3JlcXVlc3QtZGVzdGluYXRpb24tc2NyaXB0LWxpa2UKKyAgICBlbnVtIGNsYXNzIEZldGNo
RGVzdGluYXRpb25Jc1NjcmlwdExpa2UgOiBib29sIHsgWWVzLCBObyB9OworCiAgICAgV0VCQ09S
RV9FWFBPUlQgc3RhdGljIFJlc291cmNlTG9hZE9ic2VydmVyJiBzaGFyZWQoKTsKICAgICBXRUJD
T1JFX0VYUE9SVCBzdGF0aWMgUmVzb3VyY2VMb2FkT2JzZXJ2ZXIqIHNoYXJlZElmRXhpc3RzKCk7
CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0U2hhcmVkKFJlc291cmNlTG9hZE9i
c2VydmVyJik7CiAgICAgCiAgICAgdmlydHVhbCB+UmVzb3VyY2VMb2FkT2JzZXJ2ZXIoKSB7IH0K
IAotICAgIHZpcnR1YWwgdm9pZCBsb2dTdWJyZXNvdXJjZUxvYWRpbmcoY29uc3QgRnJhbWUqLCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIC8qIG5ld1JlcXVlc3QgKi8sIGNvbnN0IFJlc291cmNlUmVz
cG9uc2UmIC8qIHJlZGlyZWN0UmVzcG9uc2UgKi8pIHsgfQorICAgIHZpcnR1YWwgdm9pZCBsb2dT
dWJyZXNvdXJjZUxvYWRpbmcoY29uc3QgRnJhbWUqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIC8q
IG5ld1JlcXVlc3QgKi8sIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIC8qIHJlZGlyZWN0UmVzcG9u
c2UgKi8sIEZldGNoRGVzdGluYXRpb25Jc1NjcmlwdExpa2UpIHsgfQogICAgIHZpcnR1YWwgdm9p
ZCBsb2dXZWJTb2NrZXRMb2FkaW5nKGNvbnN0IFVSTCYgLyogdGFyZ2V0VVJMICovLCBjb25zdCBV
UkwmIC8qIG1haW5GcmFtZVVSTCAqLykgeyB9CiAgICAgdmlydHVhbCB2b2lkIGxvZ1VzZXJJbnRl
cmFjdGlvbldpdGhSZWR1Y2VkVGltZVJlc29sdXRpb24oY29uc3QgRG9jdW1lbnQmKSB7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgbG9nRm9udExvYWQoY29uc3QgRG9jdW1lbnQmLCBjb25zdCBTdHJpbmcm
IC8qIGZhbWlseU5hbWUgKi8sIGJvb2wgLyogbG9hZFN0YXR1cyAqLykgeyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5jcHAKaW5kZXggOTQ1OTc3
NmVlYThiNzU2Yjg4YjEyYzYyMTM0NDJmNmJiYTQ0NDYzOC4uNTQ3ODFmOGRiOGYxMTBkNTdlMTk3
NTk1NTViZjU3ODViZDg5NjdiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jl
c291cmNlTG9hZFN0YXRpc3RpY3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNv
dXJjZUxvYWRTdGF0aXN0aWNzLmNwcApAQCAtOTUsNiArOTUsNyBAQCB2b2lkIFJlc291cmNlTG9h
ZFN0YXRpc3RpY3M6OmVuY29kZShLZXllZEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5j
b2RlSGFzaFNldChlbmNvZGVyLCAidG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNGcm9tIl9zLCAiZG9t
YWluIl9zLCB0b3BGcmFtZVVuaXF1ZVJlZGlyZWN0c0Zyb20pOwogICAgIGVuY29kZUhhc2hTZXQo
ZW5jb2RlciwgInRvcEZyYW1lTGlua0RlY29yYXRpb25zRnJvbSJfcywgImRvbWFpbiIsIHRvcEZy
YW1lTGlua0RlY29yYXRpb25zRnJvbSk7CiAgICAgZW5jb2Rlci5lbmNvZGVCb29sKCJnb3RMaW5r
RGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZSJfcywgZ290TGlua0RlY29yYXRpb25Gcm9t
UHJldmFsZW50UmVzb3VyY2UpOworICAgIGVuY29kZUhhc2hTZXQoZW5jb2RlciwgInRvcEZyYW1l
TG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHMiX3MsICJkb21haW4iLCB0b3BGcmFtZUxvYWRlZFRoaXJk
UGFydHlTY3JpcHRzKTsKIAogICAgIC8vIFN1YmZyYW1lIHN0YXRzCiAgICAgZW5jb2RlSGFzaFNl
dChlbmNvZGVyLCAic3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWlucyJfcywgImRvbWFpbiJfcywg
c3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWlucyk7CkBAIC0yMjUsNiArMjI2LDEzIEBAIGJvb2wg
UmVzb3VyY2VMb2FkU3RhdGlzdGljczo6ZGVjb2RlKEtleWVkRGVjb2RlciYgZGVjb2RlciwgdW5z
aWduZWQgbW9kZWxWZXJzaW9uCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCisg
ICAgaWYgKG1vZGVsVmVyc2lvbiA+PSAxNykgeworICAgICAgICBIYXNoQ291bnRlZFNldDxSZWdp
c3RyYWJsZURvbWFpbj4gdG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0c0NvdW50ZWQ7Cisg
ICAgICAgIGRlY29kZUhhc2hDb3VudGVkU2V0KGRlY29kZXIsICJ0b3BGcmFtZUxvYWRlZFRoaXJk
UGFydHlTY3JpcHRzIiwgdG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0c0NvdW50ZWQpOwor
ICAgICAgICBmb3IgKGF1dG8mIGRvbWFpbiA6IHRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlw
dHNDb3VudGVkLnZhbHVlcygpKQorICAgICAgICAgICAgdG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5
U2NyaXB0cy5hZGQoZG9tYWluKTsKKyAgICB9CisKICAgICAvLyBTdWJmcmFtZSBzdGF0cwogICAg
IGlmIChtb2RlbFZlcnNpb24gPj0gMTUpCiAgICAgICAgIGRlY29kZUhhc2hTZXQoZGVjb2Rlciwg
InN1YmZyYW1lVW5kZXJUb3BGcmFtZURvbWFpbnMiLCAiZG9tYWluIiwgc3ViZnJhbWVVbmRlclRv
cEZyYW1lRG9tYWlucyk7CkBAIC00MTEsMTAgKzQxOSw3IEBAIFN0cmluZyBSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzOjp0b1N0cmluZygpIGNvbnN0CiAgICAgYnVpbGRlci5hcHBlbmRMaXRlcmFsKCJS
ZWdpc3RyYWJsZSBkb21haW46ICIpOwogICAgIGJ1aWxkZXIuYXBwZW5kKHJlZ2lzdHJhYmxlRG9t
YWluLnN0cmluZygpKTsKICAgICBidWlsZGVyLmFwcGVuZCgnXG4nKTsKLSAgICBidWlsZGVyLmFw
cGVuZExpdGVyYWwoIiAgICBsYXN0U2VlbjogIik7Ci0gICAgYnVpbGRlci5hcHBlbmRGaXhlZFBy
ZWNpc2lvbk51bWJlcihsYXN0U2Vlbi5zZWNvbmRzU2luY2VFcG9jaCgpLnZhbHVlKCkpOwotICAg
IGJ1aWxkZXIuYXBwZW5kKCdcbicpOwotICAgIAorCiAgICAgLy8gVXNlciBpbnRlcmFjdGlvbgog
ICAgIGFwcGVuZEJvb2xlYW4oYnVpbGRlciwgImhhZFVzZXJJbnRlcmFjdGlvbiIsIGhhZFVzZXJJ
bnRlcmFjdGlvbik7CiAgICAgYnVpbGRlci5hcHBlbmQoJ1xuJyk7CkBAIC00MzIsNiArNDM3LDgg
QEAgU3RyaW5nIFJlc291cmNlTG9hZFN0YXRpc3RpY3M6OnRvU3RyaW5nKCkgY29uc3QKICAgICBh
cHBlbmRIYXNoU2V0KGJ1aWxkZXIsICJ0b3BGcmFtZVVuaXF1ZVJlZGlyZWN0c0Zyb20iLCB0b3BG
cmFtZVVuaXF1ZVJlZGlyZWN0c0Zyb20pOwogICAgIGFwcGVuZEhhc2hTZXQoYnVpbGRlciwgInRv
cEZyYW1lTGlua0RlY29yYXRpb25zRnJvbSIsIHRvcEZyYW1lTGlua0RlY29yYXRpb25zRnJvbSk7
CiAgICAgYXBwZW5kQm9vbGVhbihidWlsZGVyLCAiZ290TGlua0RlY29yYXRpb25Gcm9tUHJldmFs
ZW50UmVzb3VyY2UiLCBnb3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZSk7Cisg
ICAgYnVpbGRlci5hcHBlbmQoJ1xuJyk7CisgICAgYXBwZW5kSGFzaFNldChidWlsZGVyLCAidG9w
RnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0cyIsIHRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNj
cmlwdHMpOwogCiAgICAgLy8gU3ViZnJhbWUgc3RhdHMKICAgICBhcHBlbmRIYXNoU2V0KGJ1aWxk
ZXIsICJzdWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW5zIiwgc3ViZnJhbWVVbmRlclRvcEZyYW1l
RG9tYWlucyk7CkBAIC01MDgsNiArNTE1LDcgQEAgdm9pZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
OjptZXJnZShjb25zdCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzJiBvdGhlcikKICAgICBtZXJnZUhh
c2hTZXQodG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNGcm9tLCBvdGhlci50b3BGcmFtZVVuaXF1ZVJl
ZGlyZWN0c0Zyb20pOwogICAgIG1lcmdlSGFzaFNldCh0b3BGcmFtZUxpbmtEZWNvcmF0aW9uc0Zy
b20sIG90aGVyLnRvcEZyYW1lTGlua0RlY29yYXRpb25zRnJvbSk7CiAgICAgZ290TGlua0RlY29y
YXRpb25Gcm9tUHJldmFsZW50UmVzb3VyY2UgfD0gb3RoZXIuZ290TGlua0RlY29yYXRpb25Gcm9t
UHJldmFsZW50UmVzb3VyY2U7CisgICAgbWVyZ2VIYXNoU2V0KHRvcEZyYW1lTG9hZGVkVGhpcmRQ
YXJ0eVNjcmlwdHMsIG90aGVyLnRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHMpOwogCiAg
ICAgLy8gU3ViZnJhbWUgc3RhdHMKICAgICBtZXJnZUhhc2hTZXQoc3ViZnJhbWVVbmRlclRvcEZy
YW1lRG9tYWlucywgb3RoZXIuc3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWlucyk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5oIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3MuaAppbmRleCA1YjA4ZTgw
ZjRmYjk4YTAzYTNjNjM0OWYwNGYxYjE2MzVmMmU4N2E5Li43ZTI2NTNkMGJlMWNlYzI0ZDUwMGYz
YWJjY2IyZWEyZjY2OTVlNmM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVz
b3VyY2VMb2FkU3RhdGlzdGljcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzLmgKQEAgLTgwLDYgKzgwLDcgQEAgc3RydWN0IFJlc291cmNlTG9hZFN0
YXRpc3RpY3MgewogICAgIEhhc2hTZXQ8UmVnaXN0cmFibGVEb21haW4+IHRvcEZyYW1lVW5pcXVl
UmVkaXJlY3RzRnJvbTsKICAgICBIYXNoU2V0PFJlZ2lzdHJhYmxlRG9tYWluPiB0b3BGcmFtZUxp
bmtEZWNvcmF0aW9uc0Zyb207CiAgICAgYm9vbCBnb3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2YWxl
bnRSZXNvdXJjZSB7IGZhbHNlIH07CisgICAgSGFzaFNldDxSZWdpc3RyYWJsZURvbWFpbj4gdG9w
RnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0czsKIAogICAgIC8vIFN1YmZyYW1lIHN0YXRzCiAg
ICAgSGFzaFNldDxSZWdpc3RyYWJsZURvbWFpbj4gc3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWlu
czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGY0
NzhkZjBjMDQyZDljNzIyNGMxYmVjODMzYjRmNTI0ZDFlOGY0NDYuLmNmNjQ1MjRkY2VkNTMyNGYw
M2FkYzI4ZmE1Njg5YmUwMTcxYzQ3MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJl
c291cmNlTG9hZGVyLmNwcApAQCAtMTk1LDcgKzE5NSw4IEBAIHZvaWQgU3VicmVzb3VyY2VMb2Fk
ZXI6OndpbGxTZW5kUmVxdWVzdEludGVybmFsKFJlc291cmNlUmVxdWVzdCYmIG5ld1JlcXVlc3Qs
IGNvCiAKICAgICBpZiAobmV3UmVxdWVzdC5yZXF1ZXN0ZXIoKSAhPSBSZXNvdXJjZVJlcXVlc3RC
YXNlOjpSZXF1ZXN0ZXI6Ok1haW4pIHsKICAgICAgICAgdHJhY2VQb2ludChTdWJyZXNvdXJjZUxv
YWRXaWxsU3RhcnQpOwotICAgICAgICBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkKCkubG9n
U3VicmVzb3VyY2VMb2FkaW5nKG1fZnJhbWUuZ2V0KCksIG5ld1JlcXVlc3QsIHJlZGlyZWN0UmVz
cG9uc2UpOworICAgICAgICBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6c2hhcmVkKCkubG9nU3VicmVz
b3VyY2VMb2FkaW5nKG1fZnJhbWUuZ2V0KCksIG5ld1JlcXVlc3QsIHJlZGlyZWN0UmVzcG9uc2Us
CisgICAgICAgICAgICAoaXNTY3JpcHRMaWtlRGVzdGluYXRpb24ob3B0aW9ucygpLmRlc3RpbmF0
aW9uKSA/IFJlc291cmNlTG9hZE9ic2VydmVyOjpGZXRjaERlc3RpbmF0aW9uSXNTY3JpcHRMaWtl
OjpZZXMgOiBSZXNvdXJjZUxvYWRPYnNlcnZlcjo6RmV0Y2hEZXN0aW5hdGlvbklzU2NyaXB0TGlr
ZTo6Tm8pKTsKICAgICB9CiAKICAgICBhdXRvIGNvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0ID0gW3Ro
aXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgcmVkaXJlY3RSZXNwb25zZV0gKENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoUmVzb3VyY2VSZXF1ZXN0JiYpPiYmIGNvbXBsZXRpb25IYW5k
bGVyLCBSZXNvdXJjZVJlcXVlc3QmJiBuZXdSZXF1ZXN0KSBtdXRhYmxlIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRGF0YWJhc2VTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0Ns
YXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUuY3BwCmluZGV4IGZl
YzFjY2M4OWQxMDMxMzg0NjQxOTgyNzQwM2FlYTIyZTk0NTVhYjkuLjI0ZGIyMGJjNTM2MDQzZGIz
Nzc0ODFlNDA4NzM5MTM5ZmY4Y2YyMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNl
TG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmNwcApAQCAtODMsNiArODMsNyBAQCBjb25zdGV4
cHIgYXV0byB0b3BGcmFtZVVuaXF1ZVJlZGlyZWN0c1RvUXVlcnkgPSAiSU5TRVJUIE9SIElHTk9S
RSBpbnRvIFRvcEZyYW1lVQogY29uc3RleHByIGF1dG8gc3ViZnJhbWVVbmRlclRvcEZyYW1lRG9t
YWluc1F1ZXJ5ID0gIklOU0VSVCBPUiBJR05PUkUgaW50byBTdWJmcmFtZVVuZGVyVG9wRnJhbWVE
b21haW5zIChzdWJGcmFtZURvbWFpbklELCB0b3BGcmFtZURvbWFpbklEKSBTRUxFQ1QgPywgZG9t
YWluSUQgRlJPTSBPYnNlcnZlZERvbWFpbnMgd2hlcmUgcmVnaXN0cmFibGVEb21haW4gaW4gKCAi
X3M7CiBjb25zdGV4cHIgYXV0byB0b3BGcmFtZVVuaXF1ZVJlZGlyZWN0c0Zyb21RdWVyeSA9ICJJ
TlNFUlQgT1IgSUdOT1JFIElOVE8gVG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNGcm9tICh0YXJnZXRE
b21haW5JRCwgZnJvbURvbWFpbklEKSBTRUxFQ1QgPywgZG9tYWluSUQgRlJPTSBPYnNlcnZlZERv
bWFpbnMgV0hFUkUgcmVnaXN0cmFibGVEb21haW4gaW4gKCAiX3M7CiBjb25zdGV4cHIgYXV0byB0
b3BGcmFtZUxpbmtEZWNvcmF0aW9uc0Zyb21RdWVyeSA9ICJJTlNFUlQgT1IgSUdOT1JFIElOVE8g
VG9wRnJhbWVMaW5rRGVjb3JhdGlvbnNGcm9tICh0b0RvbWFpbklELCBmcm9tRG9tYWluSUQpIFNF
TEVDVCA/LCBkb21haW5JRCBGUk9NIE9ic2VydmVkRG9tYWlucyBXSEVSRSByZWdpc3RyYWJsZURv
bWFpbiBpbiAoICJfczsKK2NvbnN0ZXhwciBhdXRvIHRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNj
cmlwdHNRdWVyeSA9ICJJTlNFUlQgT1IgSUdOT1JFIGludG8gVG9wRnJhbWVMb2FkZWRUaGlyZFBh
cnR5U2NyaXB0cyAodG9wRnJhbWVEb21haW5JRCwgc3VicmVzb3VyY2VEb21haW5JRCkgU0VMRUNU
ID8sIGRvbWFpbklEIEZST00gT2JzZXJ2ZWREb21haW5zIHdoZXJlIHJlZ2lzdHJhYmxlRG9tYWlu
IGluICggIl9zOwogY29uc3RleHByIGF1dG8gc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lRG9tYWlu
c1F1ZXJ5ID0gIklOU0VSVCBPUiBJR05PUkUgSU5UTyBTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVE
b21haW5zIChzdWJyZXNvdXJjZURvbWFpbklELCB0b3BGcmFtZURvbWFpbklEKSBTRUxFQ1QgPywg
ZG9tYWluSUQgRlJPTSBPYnNlcnZlZERvbWFpbnMgV0hFUkUgcmVnaXN0cmFibGVEb21haW4gaW4g
KCAiX3M7CiBjb25zdGV4cHIgYXV0byBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvUXVlcnkg
PSAiSU5TRVJUIE9SIElHTk9SRSBJTlRPIFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG8gKHN1
YnJlc291cmNlRG9tYWluSUQsIHRvRG9tYWluSUQpIFNFTEVDVCA/LCBkb21haW5JRCBGUk9NIE9i
c2VydmVkRG9tYWlucyBXSEVSRSByZWdpc3RyYWJsZURvbWFpbiBpbiAoICJfczsKIGNvbnN0ZXhw
ciBhdXRvIHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzRnJvbVF1ZXJ5ID0gIklOU0VSVCBPUiBJ
R05PUkUgSU5UTyBTdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c0Zyb20gKHN1YnJlc291cmNlRG9t
YWluSUQsIGZyb21Eb21haW5JRCkgU0VMRUNUID8sIGRvbWFpbklEIEZST00gT2JzZXJ2ZWREb21h
aW5zIFdIRVJFIHJlZ2lzdHJhYmxlRG9tYWluIGluICggIl9zOwpAQCAtOTUsNyArOTYsOSBAQCBj
b25zdGV4cHIgYXV0byBzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVEb21haW5FeGlzdHNRdWVyeSA9
ICJTRUxFQ1QgRVhJU1RTIChTRUxFQwogY29uc3RleHByIGF1dG8gc3VicmVzb3VyY2VVbmlxdWVS
ZWRpcmVjdHNUb0V4aXN0c1F1ZXJ5ID0gIlNFTEVDVCBFWElTVFMgKFNFTEVDVCAxIEZST00gU3Vi
cmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUbyBXSEVSRSBzdWJyZXNvdXJjZURvbWFpbklEID0gPyAi
CiAgICAgIkFORCB0b0RvbWFpbklEID0gKFNFTEVDVCBkb21haW5JRCBGUk9NIE9ic2VydmVkRG9t
YWlucyBXSEVSRSByZWdpc3RyYWJsZURvbWFpbiA9ID8pKSJfczsKIGNvbnN0ZXhwciBhdXRvIHRv
cEZyYW1lTGlua0RlY29yYXRpb25zRnJvbUV4aXN0c1F1ZXJ5ID0gIlNFTEVDVCBFWElTVFMgKFNF
TEVDVCAxIEZST00gVG9wRnJhbWVMaW5rRGVjb3JhdGlvbnNGcm9tIFdIRVJFIHRvRG9tYWluSUQg
PSA/ICIKLSJBTkQgZnJvbURvbWFpbklEID0gKFNFTEVDVCBkb21haW5JRCBGUk9NIE9ic2VydmVk
RG9tYWlucyBXSEVSRSByZWdpc3RyYWJsZURvbWFpbiA9ID8pKSJfczsKKyAgICAiQU5EIGZyb21E
b21haW5JRCA9IChTRUxFQ1QgZG9tYWluSUQgRlJPTSBPYnNlcnZlZERvbWFpbnMgV0hFUkUgcmVn
aXN0cmFibGVEb21haW4gPSA/KSkiX3M7Citjb25zdGV4cHIgYXV0byB0b3BGcmFtZUxvYWRlZFRo
aXJkUGFydHlTY3JpcHRzRXhpc3RzUXVlcnkgPSAiU0VMRUNUIEVYSVNUUyAoU0VMRUNUIDEgRlJP
TSBUb3BGcmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzIFdIRVJFIHRvcEZyYW1lRG9tYWluSUQg
PSA/ICIKKyAgICAiQU5EIHN1YnJlc291cmNlRG9tYWluSUQgPSAoU0VMRUNUIGRvbWFpbklEIEZS
T00gT2JzZXJ2ZWREb21haW5zIFdIRVJFIHJlZ2lzdHJhYmxlRG9tYWluID0gPykpIl9zOwogCiAv
LyBVUERBVEUgUXVlcmllcwogY29uc3RleHByIGF1dG8gbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlv
blF1ZXJ5ID0gIlVQREFURSBPYnNlcnZlZERvbWFpbnMgU0VUIGhhZFVzZXJJbnRlcmFjdGlvbiA9
ID8sIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb25UaW1lID0gPyAiCkBAIC0xNjYsNiArMTY5LDEx
IEBAIGNvbnN0ZXhwciBhdXRvIGNyZWF0ZVRvcEZyYW1lTGlua0RlY29yYXRpb25zRnJvbSA9ICJD
UkVBVEUgVEFCTEUgVG9wRnJhbWVMaW5rRGVjCiAgICAgIkZPUkVJR04gS0VZKHRvRG9tYWluSUQp
IFJFRkVSRU5DRVMgVG9wTGV2ZWxEb21haW5zKHRvcExldmVsRG9tYWluSUQpIE9OIERFTEVURSBD
QVNDQURFLCAiCiAgICAgIkZPUkVJR04gS0VZKGZyb21Eb21haW5JRCkgUkVGRVJFTkNFUyBUb3BM
ZXZlbERvbWFpbnModG9wTGV2ZWxEb21haW5JRCkgT04gREVMRVRFIENBU0NBREUpOyJfczsKIAor
Y29uc3RleHByIGF1dG8gY3JlYXRlVG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0cyA9ICJD
UkVBVEUgVEFCTEUgVG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0cyAoIgorICAgICJ0b3BG
cmFtZURvbWFpbklEIElOVEVHRVIgTk9UIE5VTEwsIHN1YnJlc291cmNlRG9tYWluSUQgSU5URUdF
UiBOT1QgTlVMTCwgIgorICAgICJGT1JFSUdOIEtFWSh0b3BGcmFtZURvbWFpbklEKSBSRUZFUkVO
Q0VTIE9ic2VydmVkRG9tYWlucyhkb21haW5JRCkgT04gREVMRVRFIENBU0NBREUsICIKKyAgICAi
Rk9SRUlHTiBLRVkoc3VicmVzb3VyY2VEb21haW5JRCkgUkVGRVJFTkNFUyBPYnNlcnZlZERvbWFp
bnMoZG9tYWluSUQpIE9OIERFTEVURSBDQVNDQURFKTsiX3M7CisKIGNvbnN0ZXhwciBhdXRvIGNy
ZWF0ZVN1YmZyYW1lVW5kZXJUb3BGcmFtZURvbWFpbnMgPSAiQ1JFQVRFIFRBQkxFIFN1YmZyYW1l
VW5kZXJUb3BGcmFtZURvbWFpbnMgKCIKICAgICAic3ViRnJhbWVEb21haW5JRCBJTlRFR0VSIE5P
VCBOVUxMLCB0b3BGcmFtZURvbWFpbklEIElOVEVHRVIgTk9UIE5VTEwsICIKICAgICAiRk9SRUlH
TiBLRVkoc3ViRnJhbWVEb21haW5JRCkgUkVGRVJFTkNFUyBPYnNlcnZlZERvbWFpbnMoZG9tYWlu
SUQpIE9OIERFTEVURSBDQVNDQURFLCAiCkBAIC0xOTEsNiArMTk5LDcgQEAgY29uc3RleHByIGF1
dG8gY3JlYXRlVW5pcXVlSW5kZXhTdG9yYWdlQWNjZXNzVW5kZXJUb3BGcmFtZURvbWFpbnMgPSAi
Q1JFQVRFIFVOSVEKIGNvbnN0ZXhwciBhdXRvIGNyZWF0ZVVuaXF1ZUluZGV4VG9wRnJhbWVVbmlx
dWVSZWRpcmVjdHNUbyA9ICJDUkVBVEUgVU5JUVVFIElOREVYIElGIE5PVCBFWElTVFMgVG9wRnJh
bWVVbmlxdWVSZWRpcmVjdHNUb19zb3VyY2VEb21haW5JRF90b0RvbWFpbklEIG9uIFRvcEZyYW1l
VW5pcXVlUmVkaXJlY3RzVG8gKCBzb3VyY2VEb21haW5JRCwgdG9Eb21haW5JRCApOyJfczsKIGNv
bnN0ZXhwciBhdXRvIGNyZWF0ZVVuaXF1ZUluZGV4VG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNGcm9t
ID0gIkNSRUFURSBVTklRVUUgSU5ERVggSUYgTk9UIEVYSVNUUyBUb3BGcmFtZVVuaXF1ZVJlZGly
ZWN0c0Zyb21fdGFyZ2V0RG9tYWluSURfZnJvbURvbWFpbklEIG9uIFRvcEZyYW1lVW5pcXVlUmVk
aXJlY3RzRnJvbSAoIHRhcmdldERvbWFpbklELCBmcm9tRG9tYWluSUQgKTsiX3M7CiBjb25zdGV4
cHIgYXV0byBjcmVhdGVVbmlxdWVJbmRleFRvcEZyYW1lTGlua0RlY29yYXRpb25zRnJvbSA9ICJD
UkVBVEUgVU5JUVVFIElOREVYIElGIE5PVCBFWElTVFMgVG9wRnJhbWVMaW5rRGVjb3JhdGlvbnNG
cm9tX3RvRG9tYWluSURfZnJvbURvbWFpbklEIG9uIFRvcEZyYW1lTGlua0RlY29yYXRpb25zRnJv
bSAoIHRvRG9tYWluSUQsIGZyb21Eb21haW5JRCApOyJfczsKK2NvbnN0ZXhwciBhdXRvIGNyZWF0
ZVVuaXF1ZUluZGV4VG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0cyA9ICJDUkVBVEUgVU5J
UVVFIElOREVYIElGIE5PVCBFWElTVFMgVG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0c190
b3BGcmFtZURvbWFpbklEX3N1YnJlc291cmNlRG9tYWluSUQgb24gVG9wRnJhbWVMb2FkZWRUaGly
ZFBhcnR5U2NyaXB0cyAoIHRvcEZyYW1lRG9tYWluSUQsIHN1YnJlc291cmNlRG9tYWluSUQgKTsi
X3M7CiBjb25zdGV4cHIgYXV0byBjcmVhdGVVbmlxdWVJbmRleFN1YmZyYW1lVW5kZXJUb3BGcmFt
ZURvbWFpbnMgPSAiQ1JFQVRFIFVOSVFVRSBJTkRFWCBJRiBOT1QgRVhJU1RTIFN1YmZyYW1lVW5k
ZXJUb3BGcmFtZURvbWFpbnNfc3ViRnJhbWVEb21haW5JRF90b3BGcmFtZURvbWFpbklEIG9uIFN1
YmZyYW1lVW5kZXJUb3BGcmFtZURvbWFpbnMgKCBzdWJGcmFtZURvbWFpbklELCB0b3BGcmFtZURv
bWFpbklEICk7Il9zOwogY29uc3RleHByIGF1dG8gY3JlYXRlVW5pcXVlSW5kZXhTdWJyZXNvdXJj
ZVVuZGVyVG9wRnJhbWVEb21haW5zID0gIkNSRUFURSBVTklRVUUgSU5ERVggSUYgTk9UIEVYSVNU
UyBTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVEb21haW5zX3N1YnJlc291cmNlRG9tYWluSURfdG9w
RnJhbWVEb21haW5JRCBvbiBTdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVEb21haW5zICggc3VicmVz
b3VyY2VEb21haW5JRCwgdG9wRnJhbWVEb21haW5JRCApOyJfczsKIGNvbnN0ZXhwciBhdXRvIGNy
ZWF0ZVVuaXF1ZUluZGV4U3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUbyA9ICJDUkVBVEUgVU5J
UVVFIElOREVYIElGIE5PVCBFWElTVFMgU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb19zdWJy
ZXNvdXJjZURvbWFpbklEX3RvRG9tYWluSUQgb24gU3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNU
byAoIHN1YnJlc291cmNlRG9tYWluSUQsIHRvRG9tYWluSUQgKTsiX3M7CkBAIC0yMTYsNiArMjI1
LDcgQEAgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6OlJlc291cmNlTG9hZFN0
YXRpc3RpY3NEYXRhYmFzZVN0b3JlKFdlYlJlc28KICAgICAsIG1faW5zZXJ0VG9wTGV2ZWxEb21h
aW5TdGF0ZW1lbnQobV9kYXRhYmFzZSwgaW5zZXJ0VG9wTGV2ZWxEb21haW5RdWVyeSkKICAgICAs
IG1fZG9tYWluSURGcm9tU3RyaW5nU3RhdGVtZW50KG1fZGF0YWJhc2UsIGRvbWFpbklERnJvbVN0
cmluZ1F1ZXJ5KQogICAgICwgbV90b3BGcmFtZUxpbmtEZWNvcmF0aW9uc0Zyb21FeGlzdHMobV9k
YXRhYmFzZSwgdG9wRnJhbWVMaW5rRGVjb3JhdGlvbnNGcm9tRXhpc3RzUXVlcnkpCisgICAgLCBt
X3RvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHNFeGlzdHMobV9kYXRhYmFzZSwgdG9wRnJh
bWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0c0V4aXN0c1F1ZXJ5KQogICAgICwgbV9zdWJmcmFtZVVu
ZGVyVG9wRnJhbWVEb21haW5FeGlzdHMobV9kYXRhYmFzZSwgc3ViZnJhbWVVbmRlclRvcEZyYW1l
RG9tYWluRXhpc3RzUXVlcnkpCiAgICAgLCBtX3N1YnJlc291cmNlVW5kZXJUb3BGcmFtZURvbWFp
bkV4aXN0cyhtX2RhdGFiYXNlLCBzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVEb21haW5FeGlzdHNR
dWVyeSkKICAgICAsIG1fc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0V4aXN0cyhtX2RhdGFi
YXNlLCBzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvRXhpc3RzUXVlcnkpCkBAIC0zNDAsNiAr
MzUwLDcgQEAgYm9vbCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6Y3JlYXRl
VW5pcXVlSW5kaWNlcygpCiAgICAgICAgIHx8ICFtX2RhdGFiYXNlLmV4ZWN1dGVDb21tYW5kKGNy
ZWF0ZVVuaXF1ZUluZGV4VG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNUbykKICAgICAgICAgfHwgIW1f
ZGF0YWJhc2UuZXhlY3V0ZUNvbW1hbmQoY3JlYXRlVW5pcXVlSW5kZXhUb3BGcmFtZVVuaXF1ZVJl
ZGlyZWN0c0Zyb20pCiAgICAgICAgIHx8ICFtX2RhdGFiYXNlLmV4ZWN1dGVDb21tYW5kKGNyZWF0
ZVVuaXF1ZUluZGV4VG9wRnJhbWVMaW5rRGVjb3JhdGlvbnNGcm9tKQorICAgICAgICB8fCAhbV9k
YXRhYmFzZS5leGVjdXRlQ29tbWFuZChjcmVhdGVVbmlxdWVJbmRleFRvcEZyYW1lTG9hZGVkVGhp
cmRQYXJ0eVNjcmlwdHMpCiAgICAgICAgIHx8ICFtX2RhdGFiYXNlLmV4ZWN1dGVDb21tYW5kKGNy
ZWF0ZVVuaXF1ZUluZGV4U3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWlucykKICAgICAgICAgfHwg
IW1fZGF0YWJhc2UuZXhlY3V0ZUNvbW1hbmQoY3JlYXRlVW5pcXVlSW5kZXhTdWJyZXNvdXJjZVVu
ZGVyVG9wRnJhbWVEb21haW5zKQogICAgICAgICB8fCAhbV9kYXRhYmFzZS5leGVjdXRlQ29tbWFu
ZChjcmVhdGVVbmlxdWVJbmRleFN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG8pCkBAIC0zODQs
NiArMzk1LDExIEBAIGJvb2wgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6OmNy
ZWF0ZVNjaGVtYSgpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAgICAgCisgICAgaWYg
KCFtX2RhdGFiYXNlLmV4ZWN1dGVDb21tYW5kKGNyZWF0ZVRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0
eVNjcmlwdHMpKSB7CisgICAgICAgIExPR19FUlJPUigiQ291bGQgbm90IGNyZWF0ZSBUb3BGcmFt
ZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzIHRhYmxlIGluIGRhdGFiYXNlICglaSkgLSAlcyIsIG1f
ZGF0YWJhc2UubGFzdEVycm9yKCksIG1fZGF0YWJhc2UubGFzdEVycm9yTXNnKCkpOworICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIAogICAgIGlmICghbV9kYXRhYmFzZS5leGVjdXRl
Q29tbWFuZChjcmVhdGVTdWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW5zKSkgewogICAgICAgICBM
T0dfRVJST1IoIkNvdWxkIG5vdCBjcmVhdGUgU3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWlucyB0
YWJsZSBpbiBkYXRhYmFzZSAoJWkpIC0gJXMiLCBtX2RhdGFiYXNlLmxhc3RFcnJvcigpLCBtX2Rh
dGFiYXNlLmxhc3RFcnJvck1zZygpKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNDM1LDYg
KzQ1MSw3IEBAIGJvb2wgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6OnByZXBh
cmVTdGF0ZW1lbnRzKCkKICAgICAgICAgfHwgbV9pc0dyYW5kZmF0aGVyZWRTdGF0ZW1lbnQucHJl
cGFyZSgpICE9IFNRTElURV9PSwogICAgICAgICB8fCBtX2ZpbmRFeHBpcmVkVXNlckludGVyYWN0
aW9uU3RhdGVtZW50LnByZXBhcmUoKSAhPSBTUUxJVEVfT0sKICAgICAgICAgfHwgbV90b3BGcmFt
ZUxpbmtEZWNvcmF0aW9uc0Zyb21FeGlzdHMucHJlcGFyZSgpICE9IFNRTElURV9PSworICAgICAg
ICB8fCBtX3RvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHNFeGlzdHMucHJlcGFyZSgpICE9
IFNRTElURV9PSwogICAgICAgICB8fCBtX2NvdW50UHJldmFsZW50UmVzb3VyY2VzU3RhdGVtZW50
LnByZXBhcmUoKSAhPSBTUUxJVEVfT0sKICAgICAgICAgfHwgbV9jb3VudFByZXZhbGVudFJlc291
cmNlc1dpdGhVc2VySW50ZXJhY3Rpb25TdGF0ZW1lbnQucHJlcGFyZSgpICE9IFNRTElURV9PSwog
ICAgICAgICB8fCBtX2NvdW50UHJldmFsZW50UmVzb3VyY2VzV2l0aG91dFVzZXJJbnRlcmFjdGlv
blN0YXRlbWVudC5wcmVwYXJlKCkgIT0gU1FMSVRFX09LCkBAIC02MDAsNiArNjE3LDcgQEAgdm9p
ZCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6aW5zZXJ0RG9tYWluUmVsYXRp
b25zaGlwcyhjb25zdCBSZXNvdXIKICAgICBpbnNlcnREb21haW5SZWxhdGlvbnNoaXBMaXN0KHN1
YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9RdWVyeSwgbG9hZFN0YXRpc3RpY3Muc3VicmVzb3Vy
Y2VVbmlxdWVSZWRpcmVjdHNUbywgcmVnaXN0cmFibGVEb21haW5JRC52YWx1ZSgpKTsKICAgICBp
bnNlcnREb21haW5SZWxhdGlvbnNoaXBMaXN0KHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzRnJv
bVF1ZXJ5LCBsb2FkU3RhdGlzdGljcy5zdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c0Zyb20sIHJl
Z2lzdHJhYmxlRG9tYWluSUQudmFsdWUoKSk7CiAgICAgaW5zZXJ0RG9tYWluUmVsYXRpb25zaGlw
TGlzdCh0b3BGcmFtZUxpbmtEZWNvcmF0aW9uc0Zyb21RdWVyeSwgbG9hZFN0YXRpc3RpY3MudG9w
RnJhbWVMaW5rRGVjb3JhdGlvbnNGcm9tLCByZWdpc3RyYWJsZURvbWFpbklELnZhbHVlKCkpOwor
ICAgIGluc2VydERvbWFpblJlbGF0aW9uc2hpcExpc3QodG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5
U2NyaXB0c1F1ZXJ5LCBsb2FkU3RhdGlzdGljcy50b3BGcmFtZUxvYWRlZFRoaXJkUGFydHlTY3Jp
cHRzLCByZWdpc3RyYWJsZURvbWFpbklELnZhbHVlKCkpOwogfQogCiB2b2lkIFJlc291cmNlTG9h
ZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjpwb3B1bGF0ZUZyb21NZW1vcnlTdG9yZShjb25zdCBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzTWVtb3J5U3RvcmUmIG1lbW9yeVN0b3JlKQpAQCAtMjIyNyw2
ICsyMjQ1LDggQEAgU3RyaW5nIFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjpn
ZXRTdWJTdGF0aXN0aWNTdGF0ZW1lbnQoY29uc3QgU3RyaW4KICAgICAgICAgcmV0dXJuICJTRUxF
Q1QgZnJvbURvbWFpbklEIGZyb20gVG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNGcm9tIFdIRVJFIHRh
cmdldERvbWFpbklEID0gPyI7CiAgICAgaWYgKHRhYmxlTmFtZSA9PSAiVG9wRnJhbWVMaW5rRGVj
b3JhdGlvbnNGcm9tIikKICAgICAgICAgcmV0dXJuICJTRUxFQ1QgZnJvbURvbWFpbklEIGZyb20g
VG9wRnJhbWVMaW5rRGVjb3JhdGlvbnNGcm9tIFdIRVJFIHRvRG9tYWluSUQgPSA/IjsKKyAgICBp
ZiAodGFibGVOYW1lID09ICJUb3BGcmFtZUxvYWRlZFRoaXJkUGFydHlTY3JpcHRzIikKKyAgICAg
ICAgcmV0dXJuICJTRUxFQ1Qgc3VicmVzb3VyY2VEb21haW5JRCBmcm9tIFRvcEZyYW1lTG9hZGVk
VGhpcmRQYXJ0eVNjcmlwdHMgV0hFUkUgdG9wRnJhbWVEb21haW5JRCA9ID8iOwogICAgIGlmICh0
YWJsZU5hbWUgPT0gIlN1YmZyYW1lVW5kZXJUb3BGcmFtZURvbWFpbnMiKQogICAgICAgICByZXR1
cm4gIlNFTEVDVCB0b3BGcmFtZURvbWFpbklEIGZyb20gU3ViZnJhbWVVbmRlclRvcEZyYW1lRG9t
YWlucyBXSEVSRSBzdWJGcmFtZURvbWFpbklEID0gPyI7CiAgICAgaWYgKHRhYmxlTmFtZSA9PSAi
U3VicmVzb3VyY2VVbmRlclRvcEZyYW1lRG9tYWlucyIpCkBAIC0yMjgzLDkgKzIzMDMsNiBAQCB2
b2lkIFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjpyZXNvdXJjZVRvU3RyaW5n
KFN0cmluZ0J1aWxkZXImIGJ1aWxkZQogICAgIGJ1aWxkZXIuYXBwZW5kTGl0ZXJhbCgiUmVnaXN0
cmFibGUgZG9tYWluOiAiKTsKICAgICBidWlsZGVyLmFwcGVuZChkb21haW4pOwogICAgIGJ1aWxk
ZXIuYXBwZW5kKCdcbicpOwotICAgIGJ1aWxkZXIuYXBwZW5kTGl0ZXJhbCgiICAgIGxhc3RTZWVu
OiAiKTsKLSAgICBidWlsZGVyLmFwcGVuZEZpeGVkUHJlY2lzaW9uTnVtYmVyKG1fZ2V0UmVzb3Vy
Y2VEYXRhQnlEb21haW5OYW1lU3RhdGVtZW50LmdldENvbHVtbkRvdWJsZShMYXN0U2VlbkluZGV4
KSk7Ci0gICAgYnVpbGRlci5hcHBlbmQoJ1xuJyk7CiAgICAgCiAgICAgLy8gVXNlciBpbnRlcmFj
dGlvbgogICAgIGFwcGVuZEJvb2xlYW4oYnVpbGRlciwgImhhZFVzZXJJbnRlcmFjdGlvbiIsIG1f
Z2V0UmVzb3VyY2VEYXRhQnlEb21haW5OYW1lU3RhdGVtZW50LmdldENvbHVtbkludChIYWRVc2Vy
SW50ZXJhY3Rpb25JbmRleCkpOwpAQCAtMjMwMyw4ICsyMzIwLDEwIEBAIHZvaWQgUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6OnJlc291cmNlVG9TdHJpbmcoU3RyaW5nQnVpbGRl
ciYgYnVpbGRlCiAgICAgYXBwZW5kU3ViU3RhdGlzdGljTGlzdChidWlsZGVyLCAiVG9wRnJhbWVV
bmlxdWVSZWRpcmVjdHNUbyIsIGRvbWFpbik7CiAgICAgYXBwZW5kU3ViU3RhdGlzdGljTGlzdChi
dWlsZGVyLCAiVG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNGcm9tIiwgZG9tYWluKTsKICAgICBhcHBl
bmRTdWJTdGF0aXN0aWNMaXN0KGJ1aWxkZXIsICJUb3BGcmFtZUxpbmtEZWNvcmF0aW9uc0Zyb20i
LCBkb21haW4pOworICAgIGFwcGVuZFN1YlN0YXRpc3RpY0xpc3QoYnVpbGRlciwgIlRvcEZyYW1l
TG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHMiLCBkb21haW4pOwogCiAgICAgYXBwZW5kQm9vbGVhbihi
dWlsZGVyLCAiSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbCIsIG1fZ2V0UmVz
b3VyY2VEYXRhQnlEb21haW5OYW1lU3RhdGVtZW50LmdldENvbHVtbkludChJc1NjaGVkdWxlZEZv
ckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsSW5kZXgpKTsKKyAgICBidWlsZGVyLmFwcGVuZCgnXG4n
KTsKIAogICAgIC8vIFN1YmZyYW1lIHN0YXRzCiAgICAgYXBwZW5kU3ViU3RhdGlzdGljTGlzdChi
dWlsZGVyLCAiU3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWlucyIsIGRvbWFpbik7CkBAIC0yMzI2
LDcgKzIzNDUsNiBAQCB2b2lkIFJlc291cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjpy
ZXNvdXJjZVRvU3RyaW5nKFN0cmluZ0J1aWxkZXImIGJ1aWxkZQogICAgIHJlc2V0U3RhdGVtZW50
KG1fZ2V0UmVzb3VyY2VEYXRhQnlEb21haW5OYW1lU3RhdGVtZW50KTsKIH0KIAotCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUu
aCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5oCmluZGV4IGJmM2YzZTk2MGUwM2I5ZjdmYWE2MzU2OTAz
YzFmODg2OTdlZWUxZTkuLjdjYmZhOGNmYTZmZjIxNzgxOGMwNzQ1MTA0NmY2MTgzNDgwNzc1MTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNv
dXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9y
ZS5oCkBAIC0yMjMsNiArMjIzLDcgQEAgcHJpdmF0ZToKICAgICBXZWJDb3JlOjpTUUxpdGVTdGF0
ZW1lbnQgbV9pbnNlcnRUb3BMZXZlbERvbWFpblN0YXRlbWVudDsKICAgICBtdXRhYmxlIFdlYkNv
cmU6OlNRTGl0ZVN0YXRlbWVudCBtX2RvbWFpbklERnJvbVN0cmluZ1N0YXRlbWVudDsKICAgICBt
dXRhYmxlIFdlYkNvcmU6OlNRTGl0ZVN0YXRlbWVudCBtX3RvcEZyYW1lTGlua0RlY29yYXRpb25z
RnJvbUV4aXN0czsKKyAgICBtdXRhYmxlIFdlYkNvcmU6OlNRTGl0ZVN0YXRlbWVudCBtX3RvcEZy
YW1lTG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHNFeGlzdHM7CiAgICAgbXV0YWJsZSBXZWJDb3JlOjpT
UUxpdGVTdGF0ZW1lbnQgbV9zdWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW5FeGlzdHM7CiAgICAg
bXV0YWJsZSBXZWJDb3JlOjpTUUxpdGVTdGF0ZW1lbnQgbV9zdWJyZXNvdXJjZVVuZGVyVG9wRnJh
bWVEb21haW5FeGlzdHM7CiAgICAgbXV0YWJsZSBXZWJDb3JlOjpTUUxpdGVTdGF0ZW1lbnQgbV9z
dWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvRXhpc3RzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NNZW1v
cnlTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVz
b3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmNwcAppbmRleCA5YmM1MDFkMGNiOGJlMjQ5
ZGY3MWJkZDQzMjg1NjgzNTExZGI2YTllLi4wMzBiMWYxNzBhZTFjYmU3YmM5YzEyN2MxMTU5YWRh
NDYwMTJkMDM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNz
aWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc01lbW9yeVN0b3JlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc01l
bW9yeVN0b3JlLmNwcApAQCAtNTEsNyArNTEsNyBAQAogbmFtZXNwYWNlIFdlYktpdCB7CiB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotY29uc3RleHByIHVuc2lnbmVkIHN0YXRpc3RpY3NNb2Rl
bFZlcnNpb24geyAxNiB9OworY29uc3RleHByIHVuc2lnbmVkIHN0YXRpc3RpY3NNb2RlbFZlcnNp
b24geyAxNyB9OwogCiBzdHJ1Y3QgU3RhdGlzdGljc0xhc3RTZWVuIHsKICAgICBSZWdpc3RyYWJs
ZURvbWFpbiBkb21haW47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnMuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmNwcAppbmRleCAzZWUzOGQ5NjU4MjAxOWI4ZjM3YmVlMzMyMjA1MDM2ZTFlNDIwMDI1
Li43MTMyZTg4YjQyOTQ1ODhhN2Q0ZmY4OTdiYTM4OWU5MmRjYjM1NDM4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKQEAgLTI2ODQsNiArMjY4
NCw3IEBAIHZvaWQgQXJndW1lbnRDb2RlcjxSZXNvdXJjZUxvYWRTdGF0aXN0aWNzPjo6ZW5jb2Rl
KEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFdlYkNvCiAgICAgLy8gVG9wIGZyYW1lIHN0YXRzCiAg
ICAgZW5jb2RlciA8PCBzdGF0aXN0aWNzLnRvcEZyYW1lVW5pcXVlUmVkaXJlY3RzVG87CiAgICAg
ZW5jb2RlciA8PCBzdGF0aXN0aWNzLnRvcEZyYW1lVW5pcXVlUmVkaXJlY3RzRnJvbTsKKyAgICBl
bmNvZGVyIDw8IHN0YXRpc3RpY3MudG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0czsKIAog
ICAgIC8vIFN1YmZyYW1lIHN0YXRzCiAgICAgZW5jb2RlciA8PCBzdGF0aXN0aWNzLnN1YmZyYW1l
VW5kZXJUb3BGcmFtZURvbWFpbnM7CkBAIC0yNzU2LDYgKzI3NTcsMTIgQEAgT3B0aW9uYWw8UmVz
b3VyY2VMb2FkU3RhdGlzdGljcz4gQXJndW1lbnRDb2RlcjxSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Pjo6ZGVjb2RlKEQKICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKICAgICBzdGF0aXN0aWNz
LnRvcEZyYW1lVW5pcXVlUmVkaXJlY3RzRnJvbSA9IFdURk1vdmUoKnRvcEZyYW1lVW5pcXVlUmVk
aXJlY3RzRnJvbSk7CiAKKyAgICBPcHRpb25hbDxIYXNoU2V0PFJlZ2lzdHJhYmxlRG9tYWluPj4g
dG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0czsKKyAgICBkZWNvZGVyID4+IHRvcEZyYW1l
TG9hZGVkVGhpcmRQYXJ0eVNjcmlwdHM7CisgICAgaWYgKCF0b3BGcmFtZUxvYWRlZFRoaXJkUGFy
dHlTY3JpcHRzKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworICAgIHN0YXRpc3RpY3Mu
dG9wRnJhbWVMb2FkZWRUaGlyZFBhcnR5U2NyaXB0cyA9IFdURk1vdmUoKnRvcEZyYW1lTG9hZGVk
VGhpcmRQYXJ0eVNjcmlwdHMpOworCiAgICAgLy8gU3ViZnJhbWUgc3RhdHMKICAgICBPcHRpb25h
bDxIYXNoU2V0PFJlZ2lzdHJhYmxlRG9tYWluPj4gc3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWlu
czsKICAgICBkZWNvZGVyID4+IHN1YmZyYW1lVW5kZXJUb3BGcmFtZURvbWFpbnM7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VM
b2FkT2JzZXJ2ZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYlJlc291cmNlTG9hZE9ic2VydmVyLmNwcAppbmRleCA1ZTRmMDY3MzFjOTgyZTQwYmI4ZTVi
NzJiZTYxYzQyYTJkYjQ5OTU1Li40MjYzZDE5NWIwYjdkYWUwNDgzZjkyYThmZTFlYWIzZjFhYzFj
M2IxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRPYnNlcnZlci5jcHAKQEAgLTIzNSw3ICsy
MzUsNyBAQCB2b2lkIFdlYlJlc291cmNlTG9hZE9ic2VydmVyOjpsb2dTY3JlZW5BUElBY2Nlc3Nl
ZChjb25zdCBEb2N1bWVudCYgZG9jdW1lbnQsIGNvbgogI2VuZGlmCiB9CiAKLXZvaWQgV2ViUmVz
b3VyY2VMb2FkT2JzZXJ2ZXI6OmxvZ1N1YnJlc291cmNlTG9hZGluZyhjb25zdCBGcmFtZSogZnJh
bWUsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgbmV3UmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYgcmVkaXJlY3RSZXNwb25zZSkKK3ZvaWQgV2ViUmVzb3VyY2VMb2FkT2JzZXJ2ZXI6Omxv
Z1N1YnJlc291cmNlTG9hZGluZyhjb25zdCBGcmFtZSogZnJhbWUsIGNvbnN0IFJlc291cmNlUmVx
dWVzdCYgbmV3UmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25z
ZSwgRmV0Y2hEZXN0aW5hdGlvbklzU2NyaXB0TGlrZSBpc1NjcmlwdExpa2UpCiB7CiAgICAgQVNT
RVJUKGZyYW1lLT5wYWdlKCkpOwogCkBAIC0yNzMsNiArMjczLDEzIEBAIHZvaWQgV2ViUmVzb3Vy
Y2VMb2FkT2JzZXJ2ZXI6OmxvZ1N1YnJlc291cmNlTG9hZGluZyhjb25zdCBGcmFtZSogZnJhbWUs
IGNvbnN0IFJlCiAgICAgICAgIHNjaGVkdWxlTm90aWZpY2F0aW9uSWZOZWVkZWQoKTsKICAgICB9
CiAKKyAgICBpZiAoZnJhbWUtPmlzTWFpbkZyYW1lKCkgJiYgaXNTY3JpcHRMaWtlID09IEZldGNo
RGVzdGluYXRpb25Jc1NjcmlwdExpa2U6OlllcykgeworICAgICAgICBhdXRvJiB0b3BGcmFtZVN0
YXRpc3RpY3MgPSBlbnN1cmVSZXNvdXJjZVN0YXRpc3RpY3NGb3JSZWdpc3RyYWJsZURvbWFpbih0
b3BGcmFtZURvbWFpbik7CisgICAgICAgIHRvcEZyYW1lU3RhdGlzdGljcy50b3BGcmFtZUxvYWRl
ZFRoaXJkUGFydHlTY3JpcHRzLmFkZCh0YXJnZXREb21haW4pOworCisgICAgICAgIHNjaGVkdWxl
Tm90aWZpY2F0aW9uSWZOZWVkZWQoKTsKKyAgICB9CisKICAgICBpZiAoaXNSZWRpcmVjdCkgewog
ICAgICAgICBhdXRvJiByZWRpcmVjdGluZ09yaWdpblN0YXRpc3RpY3MgPSBlbnN1cmVSZXNvdXJj
ZVN0YXRpc3RpY3NGb3JSZWdpc3RyYWJsZURvbWFpbihyZWRpcmVjdGVkRnJvbURvbWFpbik7CiAg
ICAgICAgIHJlZGlyZWN0aW5nT3JpZ2luU3RhdGlzdGljcy5zdWJyZXNvdXJjZVVuaXF1ZVJlZGly
ZWN0c1RvLmFkZCh0YXJnZXREb21haW4pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZE9ic2VydmVyLmggYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkT2JzZXJ2ZXIu
aAppbmRleCA5MmRlN2JjZTY2YzkyNDA1NGM2NjRjNDMxZmVhZTQ1MmI0NmQ2ZGJjLi5mYWU0OGM2
NmQzZTBmN2UyNDZiMTZiYTc2OTc1NWEwMTZkMGM3OWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkT2JzZXJ2ZXIuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VM
b2FkT2JzZXJ2ZXIuaApAQCAtMzksNyArMzksNyBAQCBwdWJsaWM6CiAgICAgV2ViUmVzb3VyY2VM
b2FkT2JzZXJ2ZXIoKTsKICAgICB+V2ViUmVzb3VyY2VMb2FkT2JzZXJ2ZXIoKTsKIAotICAgIHZv
aWQgbG9nU3VicmVzb3VyY2VMb2FkaW5nKGNvbnN0IFdlYkNvcmU6OkZyYW1lKiwgY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0JiBuZXdSZXF1ZXN0LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlc3BvbnNlJiByZWRpcmVjdFJlc3BvbnNlKSBmaW5hbDsKKyAgICB2b2lkIGxvZ1N1YnJlc291
cmNlTG9hZGluZyhjb25zdCBXZWJDb3JlOjpGcmFtZSosIGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYgbmV3UmVxdWVzdCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVk
aXJlY3RSZXNwb25zZSwgRmV0Y2hEZXN0aW5hdGlvbklzU2NyaXB0TGlrZSkgZmluYWw7CiAgICAg
dm9pZCBsb2dXZWJTb2NrZXRMb2FkaW5nKGNvbnN0IFVSTCYgdGFyZ2V0VVJMLCBjb25zdCBVUkwm
IG1haW5GcmFtZVVSTCkgZmluYWw7CiAgICAgdm9pZCBsb2dVc2VySW50ZXJhY3Rpb25XaXRoUmVk
dWNlZFRpbWVSZXNvbHV0aW9uKGNvbnN0IFdlYkNvcmU6OkRvY3VtZW50JikgZmluYWw7CiAgICAg
dm9pZCBsb2dGb250TG9hZChjb25zdCBXZWJDb3JlOjpEb2N1bWVudCYsIGNvbnN0IFN0cmluZyYg
ZmFtaWx5TmFtZSwgYm9vbCBsb2FkU3RhdHVzKSBmaW5hbDsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyZmQwNGRhZTEzNjRk
ODUyOGQzNmRhODFjMDUwYjZjMTVlNDY4MWY3Li45ZmY2YmE4YTk3MzFmMjNkOTNlODRmMGVjMDNm
M2YxZWNlNjgzMjJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTktMTEtMTkgIEpvaG4gV2ls
YW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVzb3VyY2UgTG9hZCBTdGF0
aXN0aWNzOiBDb3VudCB0aGlyZC1wYXJ0eSBzY3JpcHQgbG9hZHMgdW5kZXIgdG9wIGZyYW1lCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDQyNjIKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU3MjQ0OTQ1PgorCisgICAgICAgIFJldmlld2VkIGJ5IEFs
ZXggQ2hyaXN0ZW5zZW4uCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWltcG9ydC1pbi13b3JrZXItZGF0YWJhc2Ut
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWltcG9ydC1pbi13b3JrZXItZGF0YWJh
c2UuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4td29ya2VyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Nv
dW50LXRoaXJkLXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4td29ya2VyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0
eS1zY3JpcHQtbG9hZHMtZGF0YWJhc2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0
LWxvYWRzLWRhdGFiYXNlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
Y291bnQtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kb250LWNvdW50LXRoaXJkLXBhcnR5LWlt
YWdlLWFzLXRoaXJkLXBhcnR5LXNjcmlwdC1kYXRhYmFzZS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kb250LWNvdW50LXRo
aXJkLXBhcnR5LWltYWdlLWFzLXRoaXJkLXBhcnR5LXNjcmlwdC1kYXRhYmFzZS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG9udC1jb3Vu
dC10aGlyZC1wYXJ0eS1pbWFnZS1hcy10aGlyZC1wYXJ0eS1zY3JpcHQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG9udC1j
b3VudC10aGlyZC1wYXJ0eS1pbWFnZS1hcy10aGlyZC1wYXJ0eS1zY3JpcHQuaHRtbDogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xvZy1jcm9zcy1z
aXRlLWxvYWQtd2l0aC1saW5rLWRlY29yYXRpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAgICAgUmVtb3ZlZCB0aGUgbGFzdFNlZW4gb3V0cHV0IHNpbmNlIGl0IG1heSBkaWZmZXIg
YmV0d2VlbiB0ZXN0IHJ1bnMuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2xvZy1jcm9zcy1zaXRlLWxvYWQtd2l0aC1saW5rLWRlY29yYXRpb24tZXhwZWN0ZWQu
dHh0OgorICAgICAgICAgICAgUmVtb3ZlZCB0aGUgbGFzdFNlZW4gb3V0cHV0IHNpbmNlIGl0IG1h
eSBkaWZmZXIgYmV0d2VlbiB0ZXN0IHJ1bnMuCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9kdW1teS5qczogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNpdGUtZGF0YS1yZW1vdmFsLWZvci1z
aXRlLW5hdmlnYXRlZC10by13aXRoLWxpbmstZGVjb3JhdGlvbi1kYXRhYmFzZS1leHBlY3RlZC50
eHQ6CisgICAgICAgICAgICBSZW1vdmVkIHRoZSBsYXN0U2VlbiBvdXRwdXQgc2luY2UgaXQgbWF5
IGRpZmZlciBiZXR3ZWVuIHRlc3QgcnVucy4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtbmF2aWdhdGVkLXRv
LXdpdGgtbGluay1kZWNvcmF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgICAgIFJlbW92ZWQg
dGhlIGxhc3RTZWVuIG91dHB1dCBzaW5jZSBpdCBtYXkgZGlmZmVyIGJldHdlZW4gdGVzdCBydW5z
LgorCiAyMDE5LTExLTE5ICBTaWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgogCiAgICAg
ICAgIFVwZGF0ZSBleHBlY3RhdGlvbnMgZm9yIGJ1ZmZlcmVkQW1vdW50LXVuY2hhbmdlZC1ieS1z
eW5jLXhoci5hbnkud29ya2VyLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtaW1wb3J0
LWluLXdvcmtlci1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWltcG9ydC1p
bi13b3JrZXItZGF0YWJhc2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2OWMxZTRmMDc3ZWM4
MjI0ODE2OGRjYjgwYzRiNzQ3ZTZmYzQwMzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2Ny
aXB0LWltcG9ydC1pbi13b3JrZXItZGF0YWJhc2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjYg
QEAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCitS
ZXNvdXJjZSBsb2FkIHN0YXRpc3RpY3M6CisKK1JlZ2lzdHJhYmxlIGRvbWFpbjogMTI3LjAuMC4x
CisgICAgaGFkVXNlckludGVyYWN0aW9uOiBObworICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rp
b246IC0xCisgICAgZ3JhbmRmYXRoZXJlZDogTm8KKyAgICBUb3BGcmFtZUxvYWRlZFRoaXJkUGFy
dHlTY3JpcHRzOgorICAgICAgICBsb2NhbGhvc3QKKyAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENv
b2tpZURhdGFSZW1vdmFsOiBObworICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgaXNW
ZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgZGF0YVJlY29yZHNSZW1vdmVkOiAwCitSZWdp
c3RyYWJsZSBkb21haW46IGxvY2FsaG9zdAorICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KKyAg
ICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQorICAgIGdyYW5kZmF0aGVyZWQ6IE5vCisg
ICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8KKyAgICBTdWJyZXNv
dXJjZVVuZGVyVG9wRnJhbWVEb21haW5zOgorICAgICAgICAxMjcuMC4wLjEKKyAgICBpc1ByZXZh
bGVudFJlc291cmNlOiBObworICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObworICAgIGRh
dGFSZWNvcmRzUmVtb3ZlZDogMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4t
d29ya2VyLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWltcG9ydC1pbi13b3JrZXItZGF0
YWJhc2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMTc1NzAxNGI1M2VlZDUyNTRmNGZkNTdmNWU1YmJkMmY2
ODMzMmYzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4td29ya2Vy
LWRhdGFiYXNlLmh0bWwKQEAgLTAsMCArMSw0OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBs
YW5nPSJlbiI+Cis8aGVhZD4KKyAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgPHRpdGxl
PlRlc3QgY291bnRpbmcgb2YgdGhpcmQtcGFydHkgc2NyaXB0IGltcG9ydHMgaW4gd29ya2Vyczwv
dGl0bGU+CisgICAgPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48
L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHNjcmlwdD4KKyAgICBmdW5jdGlv
biBmaW5pc2hUZXN0KCkgeworICAgICAgICB0ZXN0UnVubmVyLmR1bXBSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzKCk7CisgICAgICAgIHNldEVuYWJsZUZlYXR1cmUoZmFsc2UsIGZ1bmN0aW9uKCkgewor
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0pOworICAgIH0K
KworICAgIGZ1bmN0aW9uIHJlY2VpdmVNZXNzYWdlKGV2ZW50KSB7CisgICAgICAgIGlmIChldmVu
dC5kYXRhLmluZGV4T2YoIlBBU1MiKSA9PT0gLTEpCisgICAgICAgICAgICB0ZXN0RmFpbGVkKGV2
ZW50LmRhdGEucmVwbGFjZSgiRkFJTCAiLCAiIikpOworCisgICAgICAgIHRlc3RSdW5uZXIuc3Rh
dGlzdGljc05vdGlmeU9ic2VydmVyKCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gcnVuVGVzdCgp
IHsKKyAgICAgICAgc3dpdGNoIChkb2N1bWVudC5sb2NhdGlvbi5oYXNoKSB7CisgICAgICAgICAg
ICBjYXNlICIiOgorICAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lciAmJiB3aW5k
b3cuaW50ZXJuYWxzKSB7CisgICAgICAgICAgICAgICAgICAgIHNldEVuYWJsZUZlYXR1cmUodHJ1
ZSwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFVz
ZUlUUERhdGFiYXNlKHRydWUpOworICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0
YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOworICAg
ICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5E
YXRhUmVjb3Jkc0NhbGxiYWNrKGZpbmlzaFRlc3QpOworICAgICAgICAgICAgICAgICAgICAgICAg
ZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJMb2FkV29ya2VyIjsKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHJ1blRlc3QoKTsKKyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSAiI0xvYWRXb3Jr
ZXIiOgorICAgICAgICAgICAgICAgIGxldCB3MSA9IG5ldyBXb3JrZXIoInJlc291cmNlcy93b3Jr
ZXItaW1wb3J0aW5nLWxvY2FsaG9zdC1zY3JpcHQuanMiKTsKKyAgICAgICAgICAgICAgICB3MS5v
bm1lc3NhZ2UgPSByZWNlaXZlTWVzc2FnZTsKKyAgICAgICAgICAgICAgICB3MS5wb3N0TWVzc2Fn
ZSgic2hvdWxkTm90UmVjZWl2ZUNvb2tpZXMiKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgfQorICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJk
LXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4td29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3Jp
cHQtaW1wb3J0LWluLXdvcmtlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTIxMWFmMGQyODIw
MGYwYTEzZDNjYWU3NzA0ZWRmNjU1M2ZmNTE2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1z
Y3JpcHQtaW1wb3J0LWluLXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNiBAQAorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKK1Jlc291cmNl
IGxvYWQgc3RhdGlzdGljczoKKworUmVnaXN0cmFibGUgZG9tYWluOiBsb2NhbGhvc3QKKyAgICBo
YWRVc2VySW50ZXJhY3Rpb246IE5vCisgICAgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEK
KyAgICBncmFuZGZhdGhlcmVkOiBObworICAgIGdvdExpbmtEZWNvcmF0aW9uRnJvbVByZXZhbGVu
dFJlc291cmNlOiBObworICAgIHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZURvbWFpbnM6CisgICAg
ICAgIDEyNy4wLjAuMQorICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgaXNWZXJ5UHJl
dmFsZW50UmVzb3VyY2U6IE5vCisgICAgZGF0YVJlY29yZHNSZW1vdmVkOiAwCitSZWdpc3RyYWJs
ZSBkb21haW46IDEyNy4wLjAuMQorICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KKyAgICBtb3N0
UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQorICAgIGdyYW5kZmF0aGVyZWQ6IE5vCisgICAgZ290
TGlua0RlY29yYXRpb25Gcm9tUHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgdG9wRnJhbWVMb2Fk
ZWRUaGlyZFBhcnR5U2NyaXB0czoKKyAgICAgICAgbG9jYWxob3N0CisgICAgaXNQcmV2YWxlbnRS
ZXNvdXJjZTogTm8KKyAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBkYXRhUmVj
b3Jkc1JlbW92ZWQ6IDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtaW1wb3J0LWluLXdvcmtl
ci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Nv
dW50LXRoaXJkLXBhcnR5LXNjcmlwdC1pbXBvcnQtaW4td29ya2VyLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTY2OGNjYTU0MDU2MjgzYTk1YWYzOTIzZWE0YjljMTY1ZGEwNzIxNwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10
aGlyZC1wYXJ0eS1zY3JpcHQtaW1wb3J0LWluLXdvcmtlci5odG1sCkBAIC0wLDAgKzEsNDcgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hh
cnNldD0iVVRGLTgiPgorICAgIDx0aXRsZT5UZXN0IGNvdW50aW5nIG9mIHRoaXJkLXBhcnR5IHNj
cmlwdCBpbXBvcnRzIGluIHdvcmtlcnM8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIvanMtdGVz
dC1yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9InJlc291
cmNlcy91dGlsLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgp
Ij4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpIHsKKyAgICAgICAgdGVzdFJ1
bm5lci5kdW1wUmVzb3VyY2VMb2FkU3RhdGlzdGljcygpOworICAgICAgICBzZXRFbmFibGVGZWF0
dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOworICAgICAgICB9KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiByZWNlaXZlTWVzc2FnZShl
dmVudCkgeworICAgICAgICBpZiAoZXZlbnQuZGF0YS5pbmRleE9mKCJQQVNTIikgPT09IC0xKQor
ICAgICAgICAgICAgdGVzdEZhaWxlZChldmVudC5kYXRhLnJlcGxhY2UoIkZBSUwgIiwgIiIpKTsK
KworICAgICAgICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NOb3RpZnlPYnNlcnZlcigpOworICAgIH0K
KworICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAgICAgIHN3aXRjaCAoZG9jdW1lbnQubG9j
YXRpb24uaGFzaCkgeworICAgICAgICAgICAgY2FzZSAiIjoKKyAgICAgICAgICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVybmFscykgeworICAgICAgICAgICAgICAg
ICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3RpZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dl
cmVTY2FubmVkKHRydWUpOworICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5pbnN0
YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0NhbGxiYWNrKGZpbmlzaFRlc3QpOworICAg
ICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJMb2FkV29ya2Vy
IjsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJ1blRlc3QoKTsKKyAgICAgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgY2FzZSAiI0xvYWRXb3JrZXIiOgorICAgICAgICAgICAgICAgIGxldCB3MSA9IG5ldyBX
b3JrZXIoInJlc291cmNlcy93b3JrZXItaW1wb3J0aW5nLWxvY2FsaG9zdC1zY3JpcHQuanMiKTsK
KyAgICAgICAgICAgICAgICB3MS5vbm1lc3NhZ2UgPSByZWNlaXZlTWVzc2FnZTsKKyAgICAgICAg
ICAgICAgICB3MS5wb3N0TWVzc2FnZSgic2hvdWxkTm90UmVjZWl2ZUNvb2tpZXMiKTsKKyAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2NvdW50LXRoaXJkLXBhcnR5LXNjcmlwdC1sb2Fkcy1kYXRhYmFzZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291
bnQtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLWRhdGFiYXNlLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zNjljMWU0ZjA3N2VjODIyNDgxNjhkY2I4MGM0Yjc0N2U2ZmM0MDM3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Nv
dW50LXRoaXJkLXBhcnR5LXNjcmlwdC1sb2Fkcy1kYXRhYmFzZS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwyNiBAQAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKK1Jlc291cmNlIGxvYWQgc3RhdGlzdGljczoKKworUmVnaXN0cmFibGUgZG9tYWluOiAx
MjcuMC4wLjEKKyAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCisgICAgbW9zdFJlY2VudFVzZXJJ
bnRlcmFjdGlvbjogLTEKKyAgICBncmFuZGZhdGhlcmVkOiBObworICAgIFRvcEZyYW1lTG9hZGVk
VGhpcmRQYXJ0eVNjcmlwdHM6CisgICAgICAgIGxvY2FsaG9zdAorICAgIElzU2NoZWR1bGVkRm9y
QWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCisgICAgaXNQcmV2YWxlbnRSZXNvdXJjZTogTm8K
KyAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6
IDAKK1JlZ2lzdHJhYmxlIGRvbWFpbjogbG9jYWxob3N0CisgICAgaGFkVXNlckludGVyYWN0aW9u
OiBObworICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCisgICAgZ3JhbmRmYXRoZXJl
ZDogTm8KKyAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObworICAg
IFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZURvbWFpbnM6CisgICAgICAgIDEyNy4wLjAuMQorICAg
IGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5v
CisgICAgZGF0YVJlY29yZHNSZW1vdmVkOiAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWxv
YWRzLWRhdGFiYXNlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLWRhdGFiYXNlLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNDM5ZWM0OTZiZWQ1ODRiNjFmYmQxNWRiMzZjZjU4ZDhlNmIzMWRmNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGlj
cy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZGF0YWJhc2UuaHRtbApAQCAtMCwwICsx
LDQ5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgorICAgIDxt
ZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdCBjb3VudGluZyBvZiB0aGlyZC1w
YXJ0eSBzY3JpcHQgbG9hZHM8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNv
dXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy91
dGlsLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzxz
Y3JpcHQ+CisgICAgY29uc3QgdGhpcmRQYXJ0eU9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0Ojgw
MDAiOworICAgIGNvbnN0IHRoaXJkUGFydHlCYXNlVXJsID0gdGhpcmRQYXJ0eU9yaWdpbiArICIv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMiOworCisgICAgZnVuY3Rpb24gZmluaXNo
VGVzdCgpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wUmVzb3VyY2VMb2FkU3RhdGlzdGljcygp
OworICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKKyAgICAgICAg
ICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9KTsKKyAgICB9CisKKyAgICBm
dW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICBzd2l0Y2ggKGRvY3VtZW50LmxvY2F0aW9uLmhh
c2gpIHsKKyAgICAgICAgICAgIGNhc2UgIiI6CisgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgICAgICAgICAgICAgc2V0
RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2VyZVNj
YW5uZWQodHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxT
dGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soZmluaXNoVGVzdCk7CisgICAgICAg
ICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAxIjsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHJ1blRlc3QoKTsKKyAgICAgICAgICAgICAgICAgICAgfSk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2Fz
ZSAiI3N0ZXAxIjoKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0
ZXAyIjsKKyAgICAgICAgICAgICAgICBsZXQgc2NyaXB0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInNjcmlwdCIpOworICAgICAgICAgICAgICAgIHNjcmlwdEVsZW1lbnQub25sb2Fk
ID0gcnVuVGVzdDsKKyAgICAgICAgICAgICAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHRoaXJkUGFy
dHlCYXNlVXJsICsgIi9kdW1teS5qcz9kdW1teVBhcmFtPSIgKyBNYXRoLnJhbmRvbSgpOworICAg
ICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0RWxlbWVudCk7Cisg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlICIjc3RlcDIiOgorICAgICAg
ICAgICAgICAgIHRlc3RSdW5uZXIuc3RhdGlzdGljc05vdGlmeU9ic2VydmVyKCk7CisgICAgICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2NvdW50LXRoaXJkLXBh
cnR5LXNjcmlwdC1sb2Fkcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTIxMWFmMGQyODIwMGYw
YTEzZDNjYWU3NzA0ZWRmNjU1M2ZmNTE2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3Jp
cHQtbG9hZHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjYgQEAKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCitSZXNvdXJjZSBsb2FkIHN0YXRpc3Rp
Y3M6CisKK1JlZ2lzdHJhYmxlIGRvbWFpbjogbG9jYWxob3N0CisgICAgaGFkVXNlckludGVyYWN0
aW9uOiBObworICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCisgICAgZ3JhbmRmYXRo
ZXJlZDogTm8KKyAgICBnb3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZTogTm8K
KyAgICBzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVEb21haW5zOgorICAgICAgICAxMjcuMC4wLjEK
KyAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObworICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNl
OiBObworICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAorUmVnaXN0cmFibGUgZG9tYWluOiAxMjcu
MC4wLjEKKyAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCisgICAgbW9zdFJlY2VudFVzZXJJbnRl
cmFjdGlvbjogLTEKKyAgICBncmFuZGZhdGhlcmVkOiBObworICAgIGdvdExpbmtEZWNvcmF0aW9u
RnJvbVByZXZhbGVudFJlc291cmNlOiBObworICAgIHRvcEZyYW1lTG9hZGVkVGhpcmRQYXJ0eVNj
cmlwdHM6CisgICAgICAgIGxvY2FsaG9zdAorICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCisg
ICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgZGF0YVJlY29yZHNSZW1vdmVkOiAw
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3Rp
Y3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWxvYWRzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvY291bnQtdGhpcmQtcGFydHktc2NyaXB0LWxv
YWRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZTMwNTA3MzU0MzNhZjI0NmVjMmMzNmJiNGNlMjY1Njg4ZDg3
NGVmMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9jb3VudC10aGlyZC1wYXJ0eS1zY3JpcHQtbG9hZHMuaHRtbApAQCAtMCww
ICsxLDQ4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgorICAg
IDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdCBjb3VudGluZyBvZiB0aGly
ZC1wYXJ0eSBzY3JpcHQgbG9hZHM8L3RpdGxlPgorICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1y
ZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9InJlc291cmNl
cy91dGlsLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
KzxzY3JpcHQ+CisgICAgY29uc3QgdGhpcmRQYXJ0eU9yaWdpbiA9ICJodHRwOi8vbG9jYWxob3N0
OjgwMDAiOworICAgIGNvbnN0IHRoaXJkUGFydHlCYXNlVXJsID0gdGhpcmRQYXJ0eU9yaWdpbiAr
ICIvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMiOworCisgICAgZnVuY3Rpb24gZmlu
aXNoVGVzdCgpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wUmVzb3VyY2VMb2FkU3RhdGlzdGlj
cygpOworICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKKyAgICAg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9KTsKKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICBzd2l0Y2ggKGRvY3VtZW50LmxvY2F0aW9u
Lmhhc2gpIHsKKyAgICAgICAgICAgIGNhc2UgIiI6CisgICAgICAgICAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgICAgICAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICAgICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5zZXRTdGF0aXN0aWNzTm90aWZ5UGFnZXNXaGVuRGF0YVJlY29yZHNXZXJlU2Nh
bm5lZCh0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbFN0
YXRpc3RpY3NEaWRTY2FuRGF0YVJlY29yZHNDYWxsYmFjayhmaW5pc2hUZXN0KTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3RlcDEiOworICAgICAg
ICAgICAgICAgICAgICAgICAgcnVuVGVzdCgpOworICAgICAgICAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNl
ICIjc3RlcDEiOgorICAgICAgICAgICAgICAgIGRvY3VtZW50LmxvY2F0aW9uLmhhc2ggPSAic3Rl
cDIiOworICAgICAgICAgICAgICAgIGxldCBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgic2NyaXB0Iik7CisgICAgICAgICAgICAgICAgc2NyaXB0RWxlbWVudC5vbmxvYWQg
PSBydW5UZXN0OworICAgICAgICAgICAgICAgIHNjcmlwdEVsZW1lbnQuc3JjID0gdGhpcmRQYXJ0
eUJhc2VVcmwgKyAiL2R1bW15LmpzP2R1bW15UGFyYW09IiArIE1hdGgucmFuZG9tKCk7CisgICAg
ICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHRFbGVtZW50KTsKKyAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgIiNzdGVwMiI6CisgICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzTm90aWZ5T2JzZXJ2ZXIoKTsKKyAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2RvbnQtY291bnQtdGhpcmQtcGFydHktaW1hZ2UtYXMtdGhpcmQtcGFydHktc2NyaXB0
LWRhdGFiYXNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VM
b2FkU3RhdGlzdGljcy9kb250LWNvdW50LXRoaXJkLXBhcnR5LWltYWdlLWFzLXRoaXJkLXBhcnR5
LXNjcmlwdC1kYXRhYmFzZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDI1YzIzZjkyMmY0ZDRl
N2UwZjI1YmFlNzQ1YmRkYjQ1Y2NmZGIxYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kb250LWNvdW50LXRoaXJkLXBhcnR5
LWltYWdlLWFzLXRoaXJkLXBhcnR5LXNjcmlwdC1kYXRhYmFzZS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwyNCBAQAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKK1Jlc291cmNlIGxvYWQgc3RhdGlzdGljczoKKworUmVnaXN0cmFibGUgZG9tYWluOiAx
MjcuMC4wLjEKKyAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCisgICAgbW9zdFJlY2VudFVzZXJJ
bnRlcmFjdGlvbjogLTEKKyAgICBncmFuZGZhdGhlcmVkOiBObworICAgIElzU2NoZWR1bGVkRm9y
QWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vCisgICAgaXNQcmV2YWxlbnRSZXNvdXJjZTogTm8K
KyAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6
IDAKK1JlZ2lzdHJhYmxlIGRvbWFpbjogbG9jYWxob3N0CisgICAgaGFkVXNlckludGVyYWN0aW9u
OiBObworICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCisgICAgZ3JhbmRmYXRoZXJl
ZDogTm8KKyAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBObworICAg
IFN1YnJlc291cmNlVW5kZXJUb3BGcmFtZURvbWFpbnM6CisgICAgICAgIDEyNy4wLjAuMQorICAg
IGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgaXNWZXJ5UHJldmFsZW50UmVzb3VyY2U6IE5v
CisgICAgZGF0YVJlY29yZHNSZW1vdmVkOiAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG9udC1jb3VudC10aGlyZC1wYXJ0eS1pbWFn
ZS1hcy10aGlyZC1wYXJ0eS1zY3JpcHQtZGF0YWJhc2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kb250LWNvdW50LXRoaXJkLXBhcnR5LWltYWdl
LWFzLXRoaXJkLXBhcnR5LXNjcmlwdC1kYXRhYmFzZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUyMTYwOTAw
ODhhMzVkZGIwZjY3ZDJmZGY5OWVlNDY0NmZkZGRiYmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZG9udC1jb3VudC10aGly
ZC1wYXJ0eS1pbWFnZS1hcy10aGlyZC1wYXJ0eS1zY3JpcHQtZGF0YWJhc2UuaHRtbApAQCAtMCww
ICsxLDQ5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgorICAg
IDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8dGl0bGU+VGVzdCBub3QgY291bnRpbmcgdGhp
cmQtcGFydHkgaW1hZ2VzIGFzIHRoaXJkLXBhcnR5IHNjcmlwdCBsb2FkczwvdGl0bGU+CisgICAg
PHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKyAg
ICA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3V0aWwuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPHNjcmlwdD4KKyAgICBjb25zdCB0aGlyZFBhcnR5T3Jp
Z2luID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMCI7CisgICAgY29uc3QgdGhpcmRQYXJ0eUJhc2VV
cmwgPSB0aGlyZFBhcnR5T3JpZ2luICsgIi9yZXNvdXJjZXMiOworCisgICAgZnVuY3Rpb24gZmlu
aXNoVGVzdCgpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wUmVzb3VyY2VMb2FkU3RhdGlzdGlj
cygpOworICAgICAgICBzZXRFbmFibGVGZWF0dXJlKGZhbHNlLCBmdW5jdGlvbigpIHsKKyAgICAg
ICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9KTsKKyAgICB9CisKKyAg
ICBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICBzd2l0Y2ggKGRvY3VtZW50LmxvY2F0aW9u
Lmhhc2gpIHsKKyAgICAgICAgICAgIGNhc2UgIiI6CisgICAgICAgICAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyICYmIHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAgICAgICAgICAgICAgICAg
c2V0RW5hYmxlRmVhdHVyZSh0cnVlLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0VXNlSVRQRGF0YWJhc2UodHJ1ZSk7CisgICAgICAgICAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHRlc3RSdW5uZXIuc2V0U3RhdGlzdGljc05vdGlmeVBhZ2VzV2hlbkRhdGFSZWNvcmRzV2Vy
ZVNjYW5uZWQodHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmluc3Rh
bGxTdGF0aXN0aWNzRGlkU2NhbkRhdGFSZWNvcmRzQ2FsbGJhY2soZmluaXNoVGVzdCk7CisgICAg
ICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0gInN0ZXAxIjsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHJ1blRlc3QoKTsKKyAgICAgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
Y2FzZSAiI3N0ZXAxIjoKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5sb2NhdGlvbi5oYXNoID0g
InN0ZXAyIjsKKyAgICAgICAgICAgICAgICBsZXQgaW1nRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImltZyIpOworICAgICAgICAgICAgICAgIGltZ0VsZW1lbnQub25sb2FkID0gcnVu
VGVzdDsKKyAgICAgICAgICAgICAgICBpbWdFbGVtZW50LnNyYyA9IHRoaXJkUGFydHlCYXNlVXJs
ICsgIi9zcXVhcmUyMC5qcGc/ZHVtbXlQYXJhbT0iICsgTWF0aC5yYW5kb20oKTsKKyAgICAgICAg
ICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGltZ0VsZW1lbnQpOworICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSAiI3N0ZXAyIjoKKyAgICAgICAgICAgICAg
ICB0ZXN0UnVubmVyLnN0YXRpc3RpY3NOb3RpZnlPYnNlcnZlcigpOworICAgICAgICAgICAgICAg
IGJyZWFrOworICAgICAgICB9CisgICAgfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mv
ZG9udC1jb3VudC10aGlyZC1wYXJ0eS1pbWFnZS1hcy10aGlyZC1wYXJ0eS1zY3JpcHQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2Rv
bnQtY291bnQtdGhpcmQtcGFydHktaW1hZ2UtYXMtdGhpcmQtcGFydHktc2NyaXB0LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40ZWNiOTczNmUxMDYwOTIzNWIwMTEzOTNhYWUxMTYyZDIyNDgyOTVl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzL2RvbnQtY291bnQtdGhpcmQtcGFydHktaW1hZ2UtYXMtdGhpcmQtcGFydHktc2Ny
aXB0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKworUmVzb3VyY2UgbG9hZCBzdGF0aXN0aWNzOgor
CitSZWdpc3RyYWJsZSBkb21haW46IGxvY2FsaG9zdAorICAgIGhhZFVzZXJJbnRlcmFjdGlvbjog
Tm8KKyAgICBtb3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQorICAgIGdyYW5kZmF0aGVyZWQ6
IE5vCisgICAgZ290TGlua0RlY29yYXRpb25Gcm9tUHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAg
c3VicmVzb3VyY2VVbmRlclRvcEZyYW1lRG9tYWluczoKKyAgICAgICAgMTI3LjAuMC4xCisgICAg
aXNQcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8K
KyAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kb250LWNvdW50LXRoaXJkLXBhcnR5LWltYWdl
LWFzLXRoaXJkLXBhcnR5LXNjcmlwdC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2RvbnQtY291bnQtdGhpcmQtcGFydHktaW1hZ2UtYXMtdGhpcmQt
cGFydHktc2NyaXB0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTUxZTY0YzUzZDgyMjk2NDY0YmQ4NjRjYjI5
ZDQ3YTJlYWVhODgyMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cmVzb3VyY2VMb2FkU3RhdGlzdGljcy9kb250LWNvdW50LXRoaXJkLXBhcnR5LWltYWdlLWFzLXRo
aXJkLXBhcnR5LXNjcmlwdC5odG1sCkBAIC0wLDAgKzEsNDggQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAg
IDx0aXRsZT5UZXN0IG5vdCBjb3VudGluZyB0aGlyZC1wYXJ0eSBpbWFnZXMgYXMgdGhpcmQtcGFy
dHkgc2NyaXB0IGxvYWRzPC90aXRsZT4KKyAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3Vy
Y2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvdXRp
bC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8c2Ny
aXB0PgorICAgIGNvbnN0IHRoaXJkUGFydHlPcmlnaW4gPSAiaHR0cDovL2xvY2FsaG9zdDo4MDAw
IjsKKyAgICBjb25zdCB0aGlyZFBhcnR5QmFzZVVybCA9IHRoaXJkUGFydHlPcmlnaW4gKyAiL3Jl
c291cmNlcyI7CisKKyAgICBmdW5jdGlvbiBmaW5pc2hUZXN0KCkgeworICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzKCk7CisgICAgICAgIHNldEVuYWJsZUZlYXR1
cmUoZmFsc2UsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7CisgICAgICAgIH0pOworICAgIH0KKworICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgIHN3aXRjaCAoZG9jdW1lbnQubG9jYXRpb24uaGFzaCkgeworICAgICAgICAgICAgY2FzZSAi
IjoKKyAgICAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIgJiYgd2luZG93LmludGVy
bmFscykgeworICAgICAgICAgICAgICAgICAgICBzZXRFbmFibGVGZWF0dXJlKHRydWUsIGZ1bmN0
aW9uKCkgeworICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLnNldFN0YXRpc3RpY3NOb3Rp
ZnlQYWdlc1doZW5EYXRhUmVjb3Jkc1dlcmVTY2FubmVkKHRydWUpOworICAgICAgICAgICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsU3RhdGlzdGljc0RpZFNjYW5EYXRhUmVjb3Jkc0Nh
bGxiYWNrKGZpbmlzaFRlc3QpOworICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQubG9j
YXRpb24uaGFzaCA9ICJzdGVwMSI7CisgICAgICAgICAgICAgICAgICAgICAgICBydW5UZXN0KCk7
CisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgIiNzdGVwMSI6CisgICAgICAgICAgICAgICAg
ZG9jdW1lbnQubG9jYXRpb24uaGFzaCA9ICJzdGVwMiI7CisgICAgICAgICAgICAgICAgbGV0IGlt
Z0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTsKKyAgICAgICAgICAgICAg
ICBpbWdFbGVtZW50Lm9ubG9hZCA9IHJ1blRlc3Q7CisgICAgICAgICAgICAgICAgaW1nRWxlbWVu
dC5zcmMgPSB0aGlyZFBhcnR5QmFzZVVybCArICIvc3F1YXJlMjAuanBnP2R1bW15UGFyYW09IiAr
IE1hdGgucmFuZG9tKCk7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChpbWdFbGVtZW50KTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2Ug
IiNzdGVwMiI6CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zdGF0aXN0aWNzTm90aWZ5T2Jz
ZXJ2ZXIoKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xvZy1jcm9zcy1zaXRlLWxvYWQtd2l0aC1saW5rLWRl
Y29yYXRpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL2xvZy1jcm9zcy1zaXRlLWxvYWQtd2l0aC1saW5rLWRlY29y
YXRpb24tZGF0YWJhc2UtZXhwZWN0ZWQudHh0CmluZGV4IDk4ZDFkYWE3MThkMWRkYjJhZjY2NThi
NzRlMTU3ZjRlZjNiYjk2NTQuLjk0NzI1MGRlZGJiMGY2MjY5ZTVjZTdlZDRhZWY0OTg4YmNlZjYy
N2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9sb2ctY3Jvc3Mtc2l0ZS1sb2FkLXdpdGgtbGluay1kZWNvcmF0aW9uLWRhdGFiYXNlLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3MvbG9nLWNyb3NzLXNpdGUtbG9hZC13aXRoLWxpbmstZGVjb3JhdGlvbi1kYXRhYmFzZS1l
eHBlY3RlZC50eHQKQEAgLTMsMjkgKzMsMjkgQEAgVGVzdCBsb2dnaW5nIG9mIGxpbmsgZGVjb3Jh
dGVkIGNyb3NzLXNpdGUgbmF2aWdhdGlvbnMgZnJvbSBhIHByZXZhbGVudCByZXNvdXJjZS4KIFJl
c291cmNlIGxvYWQgc3RhdGlzdGljczoKIAogUmVnaXN0cmFibGUgZG9tYWluOiAxMjcuMC4wLjEK
LSAgICBsYXN0U2VlbjogMAogICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KICAgICBtb3N0UmVj
ZW50VXNlckludGVyYWN0aW9uOiAtMQogICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgSXNTY2hl
ZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8gICAgaXNQcmV2YWxlbnRSZXNvdXJj
ZTogWWVzCisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8KKyAg
ICBpc1ByZXZhbGVudFJlc291cmNlOiBZZXMKICAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTog
Tm8KICAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKIFJlZ2lzdHJhYmxlIGRvbWFpbjogMTI3LjAu
MC4yCi0gICAgbGFzdFNlZW46IDAKICAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCiAgICAgbW9z
dFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEKICAgICBncmFuZGZhdGhlcmVkOiBObwotICAgIElz
U2NoZWR1bGVkRm9yQWxsQnV0Q29va2llRGF0YVJlbW92YWw6IE5vICAgIGlzUHJldmFsZW50UmVz
b3VyY2U6IE5vCisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8K
KyAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObwogICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNl
OiBObwogICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMAogUmVnaXN0cmFibGUgZG9tYWluOiBsb2Nh
bGhvc3QKLSAgICBsYXN0U2VlbjogMAogICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KICAgICBt
b3N0UmVjZW50VXNlckludGVyYWN0aW9uOiAtMQogICAgIGdyYW5kZmF0aGVyZWQ6IE5vCiAgICAg
VG9wRnJhbWVMaW5rRGVjb3JhdGlvbnNGcm9tOgogICAgICAgICAxMjcuMC4wLjEKICAgICAgICAg
MTI3LjAuMC4yCi0gICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogWWVz
ICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29r
aWVEYXRhUmVtb3ZhbDogWWVzCisgICAgaXNQcmV2YWxlbnRSZXNvdXJjZTogTm8KICAgICBpc1Zl
cnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KICAgICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9sb2ct
Y3Jvc3Mtc2l0ZS1sb2FkLXdpdGgtbGluay1kZWNvcmF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9sb2ctY3Jvc3Mtc2l0ZS1s
b2FkLXdpdGgtbGluay1kZWNvcmF0aW9uLWV4cGVjdGVkLnR4dAppbmRleCA3NDBhNDAzNWQ4ZDEz
YTcxYzhhNDI1NDZjOTFlNjRkYzRhZDM5ZDE3Li41Y2NkMTI0NWRmMzY3Mjg3NjI5Nzk2OGVkNjgz
MzdhMjM3Njc1OGU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3MvbG9nLWNyb3NzLXNpdGUtbG9hZC13aXRoLWxpbmstZGVjb3JhdGlvbi1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0
aXN0aWNzL2xvZy1jcm9zcy1zaXRlLWxvYWQtd2l0aC1saW5rLWRlY29yYXRpb24tZXhwZWN0ZWQu
dHh0CkBAIC0zLDIwICszLDIwIEBAIFRlc3QgbG9nZ2luZyBvZiBsaW5rIGRlY29yYXRlZCBjcm9z
cy1zaXRlIG5hdmlnYXRpb25zIGZyb20gYSBwcmV2YWxlbnQgcmVzb3VyY2UuCiBSZXNvdXJjZSBs
b2FkIHN0YXRpc3RpY3M6CiAKIFJlZ2lzdHJhYmxlIGRvbWFpbjogbG9jYWxob3N0Ci0gICAgbGFz
dFNlZW46IDAKICAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCiAgICAgbW9zdFJlY2VudFVzZXJJ
bnRlcmFjdGlvbjogLTEKICAgICBncmFuZGZhdGhlcmVkOiBObwogICAgIHRvcEZyYW1lTGlua0Rl
Y29yYXRpb25zRnJvbToKICAgICAgICAgMTI3LjAuMC4xCi0gICAgZ290TGlua0RlY29yYXRpb25G
cm9tUHJldmFsZW50UmVzb3VyY2U6IFllcyAgICBpc1ByZXZhbGVudFJlc291cmNlOiBObworICAg
IGdvdExpbmtEZWNvcmF0aW9uRnJvbVByZXZhbGVudFJlc291cmNlOiBZZXMKKyAgICBpc1ByZXZh
bGVudFJlc291cmNlOiBObwogICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObwogICAgIGRh
dGFSZWNvcmRzUmVtb3ZlZDogMAogUmVnaXN0cmFibGUgZG9tYWluOiAxMjcuMC4wLjEKLSAgICBs
YXN0U2VlbjogMAogICAgIGhhZFVzZXJJbnRlcmFjdGlvbjogTm8KICAgICBtb3N0UmVjZW50VXNl
ckludGVyYWN0aW9uOiAtMQogICAgIGdyYW5kZmF0aGVyZWQ6IE5vCi0gICAgZ290TGlua0RlY29y
YXRpb25Gcm9tUHJldmFsZW50UmVzb3VyY2U6IE5vICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IFll
cworICAgIGdvdExpbmtEZWNvcmF0aW9uRnJvbVByZXZhbGVudFJlc291cmNlOiBObworICAgIGlz
UHJldmFsZW50UmVzb3VyY2U6IFllcwogICAgIGlzVmVyeVByZXZhbGVudFJlc291cmNlOiBObwog
ICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3Jlc291cmNlcy9kdW1teS5qcyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9yZXNvdXJjZXMvZHVtbXkuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZTc0MTRjMjMyM2M4OWY3NjVhZGNjYjMyZWExYTY1YWRmNDhkMTc4MQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9yZXNvdXJjZXMvZHVtbXkuanMKQEAgLTAsMCArMSw2IEBACitmdW5jdGlvbiBnZXRSYW5k
b21JbnQobWF4KSB7CisgICAgcmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIE1hdGgu
Zmxvb3IobWF4KSk7Cit9CitsZXQgdmFsdWUgPSBnZXRSYW5kb21JbnQoMTApOworaWYgKHZhbHVl
ID4gNSkKKyAgICB2YWx1ZSA9IDU7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dlYnNp
dGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLW5hdmlnYXRlZC10by13aXRoLWxpbmstZGVjb3JhdGlv
bi1kYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNl
TG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtbmF2aWdhdGVkLXRv
LXdpdGgtbGluay1kZWNvcmF0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAppbmRleCBkOWIwNTVi
NjdjOGViMDQ2MWVmYTcyYmVlZWFjMmEwNjQzNzU5ZWI2Li5kZTQxYTlhMWFiNDVmODY4ZTc1ZTg1
YjQyYjVjOWY0M2RkNjI5M2JhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtbmF2aWdh
dGVkLXRvLXdpdGgtbGluay1kZWNvcmF0aW9uLWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRh
LXJlbW92YWwtZm9yLXNpdGUtbmF2aWdhdGVkLXRvLXdpdGgtbGluay1kZWNvcmF0aW9uLWRhdGFi
YXNlLWV4cGVjdGVkLnR4dApAQCAtMTYsMjAgKzE2LDIwIEBAIEFmdGVyIGRlbGV0aW9uOiBJREIg
ZW50cnkgZG9lcyBub3QgZXhpc3QuCiBSZXNvdXJjZSBsb2FkIHN0YXRpc3RpY3M6CiAKIFJlZ2lz
dHJhYmxlIGRvbWFpbjogMTI3LjAuMC4xCi0gICAgbGFzdFNlZW46IDAKICAgICBoYWRVc2VySW50
ZXJhY3Rpb246IE5vCiAgICAgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvbjogLTEKICAgICBncmFu
ZGZhdGhlcmVkOiBObwogICAgIFRvcEZyYW1lTGlua0RlY29yYXRpb25zRnJvbToKICAgICAgICAg
bG9jYWxob3N0Ci0gICAgSXNTY2hlZHVsZWRGb3JBbGxCdXRDb29raWVEYXRhUmVtb3ZhbDogTm8g
ICAgaXNQcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tp
ZURhdGFSZW1vdmFsOiBObworICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5vCiAgICAgaXNWZXJ5
UHJldmFsZW50UmVzb3VyY2U6IE5vCiAgICAgZGF0YVJlY29yZHNSZW1vdmVkOiAxCiBSZWdpc3Ry
YWJsZSBkb21haW46IGxvY2FsaG9zdAotICAgIGxhc3RTZWVuOiAwCiAgICAgaGFkVXNlckludGVy
YWN0aW9uOiBObwogICAgIG1vc3RSZWNlbnRVc2VySW50ZXJhY3Rpb246IC0xCiAgICAgZ3JhbmRm
YXRoZXJlZDogTm8KLSAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENvb2tpZURhdGFSZW1vdmFsOiBO
byAgICBpc1ByZXZhbGVudFJlc291cmNlOiBZZXMKKyAgICBJc1NjaGVkdWxlZEZvckFsbEJ1dENv
b2tpZURhdGFSZW1vdmFsOiBObworICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IFllcwogICAgIGlz
VmVyeVByZXZhbGVudFJlc291cmNlOiBObwogICAgIGRhdGFSZWNvcmRzUmVtb3ZlZDogMApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3dl
YnNpdGUtZGF0YS1yZW1vdmFsLWZvci1zaXRlLW5hdmlnYXRlZC10by13aXRoLWxpbmstZGVjb3Jh
dGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtbmF2aWdhdGVkLXRvLXdpdGgt
bGluay1kZWNvcmF0aW9uLWV4cGVjdGVkLnR4dAppbmRleCBkMzZkZmM0OGI4YTIyZjlmYjRjMTVj
MzNlMmNkNWZhMjdiMTE1YWJjLi5mNmU0MDU0ZTgwYTEyNGIyZmFhNWM0OTYyOWI1OGUxZTBiMTM4
ZGM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRp
c3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtbmF2aWdhdGVkLXRvLXdpdGgtbGlu
ay1kZWNvcmF0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jl
c291cmNlTG9hZFN0YXRpc3RpY3Mvd2Vic2l0ZS1kYXRhLXJlbW92YWwtZm9yLXNpdGUtbmF2aWdh
dGVkLXRvLXdpdGgtbGluay1kZWNvcmF0aW9uLWV4cGVjdGVkLnR4dApAQCAtMTYsMjAgKzE2LDIw
IEBAIEFmdGVyIGRlbGV0aW9uOiBJREIgZW50cnkgZG9lcyBub3QgZXhpc3QuCiBSZXNvdXJjZSBs
b2FkIHN0YXRpc3RpY3M6CiAKIFJlZ2lzdHJhYmxlIGRvbWFpbjogbG9jYWxob3N0Ci0gICAgbGFz
dFNlZW46IDAKICAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCiAgICAgbW9zdFJlY2VudFVzZXJJ
bnRlcmFjdGlvbjogLTEKICAgICBncmFuZGZhdGhlcmVkOiBObwotICAgIGdvdExpbmtEZWNvcmF0
aW9uRnJvbVByZXZhbGVudFJlc291cmNlOiBObyAgICBpc1ByZXZhbGVudFJlc291cmNlOiBZZXMK
KyAgICBnb3RMaW5rRGVjb3JhdGlvbkZyb21QcmV2YWxlbnRSZXNvdXJjZTogTm8KKyAgICBpc1By
ZXZhbGVudFJlc291cmNlOiBZZXMKICAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KICAg
ICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDAKIFJlZ2lzdHJhYmxlIGRvbWFpbjogMTI3LjAuMC4xCi0g
ICAgbGFzdFNlZW46IDAKICAgICBoYWRVc2VySW50ZXJhY3Rpb246IE5vCiAgICAgbW9zdFJlY2Vu
dFVzZXJJbnRlcmFjdGlvbjogLTEKICAgICBncmFuZGZhdGhlcmVkOiBObwogICAgIHRvcEZyYW1l
TGlua0RlY29yYXRpb25zRnJvbToKICAgICAgICAgbG9jYWxob3N0Ci0gICAgZ290TGlua0RlY29y
YXRpb25Gcm9tUHJldmFsZW50UmVzb3VyY2U6IE5vICAgIGlzUHJldmFsZW50UmVzb3VyY2U6IE5v
CisgICAgZ290TGlua0RlY29yYXRpb25Gcm9tUHJldmFsZW50UmVzb3VyY2U6IE5vCisgICAgaXNQ
cmV2YWxlbnRSZXNvdXJjZTogTm8KICAgICBpc1ZlcnlQcmV2YWxlbnRSZXNvdXJjZTogTm8KICAg
ICBkYXRhUmVjb3Jkc1JlbW92ZWQ6IDEK
</data>

          </attachment>
      

    </bug>

</bugzilla>