<?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>136010</bug_id>
          
          <creation_ts>2014-08-15 18:52:14 -0700</creation_ts>
          <short_desc>REGRESSION (r167856): adobe.com no longer able to launch Create Cloud app using a URL with a custom scheme</short_desc>
          <delta_ts>2014-08-18 14:42:15 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (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="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>japhet</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1029548</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2014-08-15 18:52:14 -0700</bug_when>
    <thetext>REGRESSION (r167856): adobe.com no longer able to launch Create Cloud app using a URL with a custom scheme</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029551</commentid>
    <comment_count>1</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2014-08-15 19:00:55 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/167856 caused WebCore to stop scheduling navigations to invalid URLs in some cases (window.location changes, meta-refresh, and some calls to window.open). As a result, the client&apos;s policy delegate is no longer called for such navigations. Adobe.com is relying on Safari&apos;s navigation policy delegate to launch Create Cloud on navigations to its aam: scheme (but otherwise ignore the navigation), and unfortunately they use URLs that aren&apos;t valid to do so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029552</commentid>
    <comment_count>2</comment_count>
      <attachid>236699</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2014-08-15 19:34:38 -0700</bug_when>
    <thetext>Created attachment 236699
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029591</commentid>
    <comment_count>3</comment_count>
      <attachid>236706</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2014-08-16 01:38:23 -0700</bug_when>
    <thetext>Created attachment 236706
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029592</commentid>
    <comment_count>4</comment_count>
      <attachid>236707</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2014-08-16 01:46:31 -0700</bug_when>
    <thetext>Created attachment 236707
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029645</commentid>
    <comment_count>5</comment_count>
      <attachid>236707</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-08-16 13:32:15 -0700</bug_when>
    <thetext>Comment on attachment 236707
Patch

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

&gt; Source/WebCore/loader/FrameLoader.cpp:2901
&gt; +    bool willRedirectToInvalidURL = m_quickRedirectComing &amp;&amp; !request.url().isValid();

What about non-redirect requests that are for an invalid URL? The code in NavigationScheduler applies for scheduleLocationChange, not just scheduleRedirect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029694</commentid>
    <comment_count>6</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2014-08-17 21:32:54 -0700</bug_when>
    <thetext>&lt;rdar://problem/17850158&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029695</commentid>
    <comment_count>7</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2014-08-17 21:38:12 -0700</bug_when>
    <thetext>Committed r172697: &lt;http://trac.webkit.org/changeset/172697&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029699</commentid>
    <comment_count>8</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2014-08-17 22:12:55 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 236707 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=236707&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/loader/FrameLoader.cpp:2901
&gt; &gt; +    bool willRedirectToInvalidURL = m_quickRedirectComing &amp;&amp; !request.url().isValid();
&gt; 
&gt; What about non-redirect requests that are for an invalid URL? The code in NavigationScheduler applies for scheduleLocationChange, not just scheduleRedirect.

Oh, thanks for pointing this out. scheduleLocationChange is handled as a redirect in some cases, but not in others. The two cases I didn&apos;t cover are fragment navigations and non-quick redirects. I&apos;ll post a second patch that addresses these cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029700</commentid>
    <comment_count>9</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2014-08-17 22:14:17 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; 
&gt; scheduleLocationChange is handled as a redirect in some cases, but not in others.

As a quick redirect, that is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029717</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-08-18 00:21:10 -0700</bug_when>
    <thetext>For that matter, scheduleRedirect is not always handled as a quick redirect either. Sometimes it’s a non-quick redirect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029721</commentid>
    <comment_count>11</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2014-08-18 00:36:27 -0700</bug_when>
    <thetext>Reverted r172697 in &lt;http://trac.webkit.org/changeset/172699&gt; since the change also made some layout tests flaky.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029758</commentid>
    <comment_count>12</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2014-08-18 06:08:12 -0700</bug_when>
    <thetext>There were at least two problems with the patch that was rolled out:

1. As discussed, it did not disallow non-quick redirects to invalid URLs like r167856 did.
2. A navigation other than the one started by NavigationScheduler could be incorrectly disallowed, for instance if a load is started from the API while the NavigationScheduler&apos;s timer is active (because m_quickRedirectComing would be true even for the API load).

Instead of relying on m_quickRedirectComing I added an AllowNavigationToInvalidURL enum and piped it down to continueLoadAfterNavigationPolicy. Only the scheduled navigation types checked by r167856 (ScheduledRedirect and ScheduledLocationChange) use the AllowNavigationToInvalidURL::No value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029759</commentid>
    <comment_count>13</comment_count>
      <attachid>236761</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2014-08-18 06:14:06 -0700</bug_when>
    <thetext>Created attachment 236761
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029770</commentid>
    <comment_count>14</comment_count>
      <attachid>236761</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-08-18 08:55:19 -0700</bug_when>
    <thetext>Comment on attachment 236761
Patch

I’ll have to take your word for the fact that this is right and covers all the cases. I can’t follow all the different paths from reading the code. I suppose test coverage also may make it sufficiently clear. But the logic here is quite hard to follow. I am hoping that later we can disallow invalid URLs in even more cases, while allowing them in the few cases that we need to; I hope that eventually the default behavior can be No instead of Yes. It also seems like a serious problem that the frame loader has so many different load calls.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029797</commentid>
    <comment_count>15</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2014-08-18 10:49:20 -0700</bug_when>
    <thetext>Committed r172709: &lt;http://trac.webkit.org/changeset/172709&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029845</commentid>
    <comment_count>16</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2014-08-18 13:31:58 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 236761 [details])
&gt; I’ll have to take your word for the fact that this is right and covers all the cases. I can’t follow all the different paths from reading the code. I suppose test coverage also may make it sufficiently clear. But the logic here is quite hard to follow. I am hoping that later we can disallow invalid URLs in even more cases, while allowing them in the few cases that we need to; I hope that eventually the default behavior can be No instead of Yes. It also seems like a serious problem that the frame loader has so many different load calls.

I agree that the many different load calls is a serious problem. I was disappointed with the amount of plumbing necessary to get a value from NavigationScheduler to the right FrameLoader function.

I intentionally avoided using a default value for the AllowNavigationToInvalidURL arguments so that finding the additional places where we can disallow invalid URLs just requires looking for AllowNavigationToInvalidURL::Yes. I hope this makes it easier to migrate more loading code paths over to disallowing invalid URLs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029891</commentid>
    <comment_count>17</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-08-18 14:42:15 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; I intentionally avoided using a default value for the AllowNavigationToInvalidURL arguments so that finding the additional places where we can disallow invalid URLs just requires looking for AllowNavigationToInvalidURL::Yes.

Except for changeLocation.

Also note that sometimes the function’s job is so abstract that it’s really hard to understand if Yes or No is correct.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236699</attachid>
            <date>2014-08-15 19:34:38 -0700</date>
            <delta_ts>2014-08-16 01:38:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136010-20140815193428.patch</filename>
            <type>text/plain</type>
            <size>34360</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyNjMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjQ1ZTdjYmYzMzU5YjEx
M2ZmYzgwZjBjY2IwNTAxNjMyMWQzZjJjMC4uNmZkYjhmOTNlNGUzYzgwNWMzNzdiYmYxM2NhNDYw
M2FiNTIwZTU1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE0LTA4LTE1ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMTY3ODU2
KTogYWRvYmUuY29tIG5vIGxvbmdlciBhYmxlIHRvIGxhdW5jaCBDcmVhdGUgQ2xvdWQgYXBwIHVz
aW5nIGEgVVJMIHdpdGggYSBjdXN0b20gc2NoZW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzYwMTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICByMTY3ODU2IGNhdXNlZCBXZWJLaXQgdG8gc3RvcCBzY2hl
ZHVsaW5nIGNlcnRhaW4ga2luZHMgb2YgbmF2aWdhdGlvbnMgKHdpbmRvdy5sb2NhdGlvbiBjaGFu
Z2VzLCBtZXRhLXJlZnJlc2gsCisgICAgICAgIGFuZCBzb21lIGNhbGxzIHRvIHdpbmRvdy5vcGVu
KSB3aGVuIHRoZSByZXF1ZXN0IFVSTCBpcyBpbnZhbGlkLiBBZG9iZS5jb20gcGVyZm9ybXMgb25l
IG9mIHRoZXNlIG5hdmlnYXRpb25zIHRvCisgICAgICAgIGFuIGludmFsaWQgVVJMIHdpdGggYW4g
ZXh0ZXJuYWwgc2NoZW1lIChhYW06KSwgcmVseWluZyBvbiBTYWZhcmkncyBuYXZpZ2F0aW9uIHBv
bGljeSBkZWxlZ2F0ZSB0byBpZ25vcmUgdGhlCisgICAgICAgIG5hdmlnYXRpb24gYW5kIGxhdW5j
aCB0aGUgZXh0ZXJuYWwgYXBwIHJlZ2lzdGVyZWQgdG8gaGFuZGxlIGFhbTogVVJMcy4gU2luY2Ug
dGhlIG5hdmlnYXRpb24gaXMgbm8gbG9uZ2VyCisgICAgICAgIHNjaGVkdWxlZCwgdGhlIHBvbGlj
eSBkZWxlZ2F0ZSBpcyBuZXZlciBleGVjdXRlZCBhbmQgdGhlIGV4dGVybmFsIGFwcCBuZXZlciBs
YXVuY2hlcy4KKworICAgICAgICBJbnN0ZWFkIG9mIG5vdCBzY2hlZHVsaW5nIHRoZSBuYXZpZ2F0
aW9uLCBhbGxvdyBpdCB0byBwcm9jZWVkIHVudGlsIHRoZSBjbGllbnQncyBwb2xpY3kgZGVsZWdh
dGUgaGFzIGV4ZWN1dGVkCisgICAgICAgIGFuZCBtYWRlIGEgZGVjaXNpb24uIE9ubHkgZGlzYWxs
b3cgdGhlIG5hdmlnYXRpb24gaWYgdGhlIHBvbGljeSBkZWxlZ2F0ZSB0b2xkIFdlYktpdCB0byBw
cm9jZWVkIHdpdGggdGhlIGxvYWQuCisgICAgICAgIFRoaXMgZXhwb3NlcyB0aGVzZSBuYXZpZ2F0
aW9ucyB0byBjbGllbnRzIHZpYSB0aGUgcG9saWN5IGRlbGVnYXRlIGFuZCB2aWEgd2lsbFBlcmZv
cm1DbGllbnRSZWRpcmVjdFRvVVJMIGFuZAorICAgICAgICAoaWYgZGlzYWxsb3dlZCkgZGlkQ2Fu
Y2VsQ2xpZW50UmVkaXJlY3RGb3JGcmFtZSBvbiB0aGUgZnJhbWUgbG9hZCBkZWxlZ2F0ZS4KKwor
ICAgICAgICBOb3RlIHRoYXQgcjE2Nzg1NiBhbHNvIGNhdXNlZCBhbiBpT1MgcmVncmVzc2lvbiwg
YW5kIHRoaXMgd2FzIHJlc29sdmVkIGluIHIxNzAxMjAgYnkgYWRkaW5nIGEgbGlua2VkLW9uLW9y
LWFmdGVyCisgICAgICAgIGNoZWNrIGFuZCBhIFdlYkNvcmUgc2V0dGluZy4gU2luY2UgdGhlIGlP
UyByZWdyZXNzaW9uIGlzIGFsc28gcmVzb2x2ZWQgYnkgdGhlIGFwcHJvYWNoIGRlc2NyaWJlZCBh
Ym92ZSwgdGhpcworICAgICAgICBwYXRjaCByZXZlcnRzIHIxNzAxMjAgKGJ1dCBrZWVwcyBpdHMg
dGVzdHMpLgorCisgICAgICAgIFRlc3RzOiBmYXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlk
LXVybC11c2luZy1qYXZhc2NyaXB0LWNhbGxzLXBvbGljeS1kZWxlZ2F0ZS5odG1sCisgICAgICAg
ICAgICAgICBmYXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1qYXZhc2Ny
aXB0LWRpc2FsbG93ZWQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9sb2FkZXIvcmVkaXJlY3Qt
dG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLWNhbGxzLXBvbGljeS1kZWxlZ2F0ZS5o
dG1sCisgICAgICAgICAgICAgICBmYXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11
c2luZy1tZXRhLXJlZnJlc2gtZGlzYWxsb3dlZC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2xv
YWRlci93aW5kb3ctb3Blbi10by1pbnZhbGlkLXVybC1jYWxscy1wb2xpY3ktZGVsZWdhdGUuaHRt
bAorICAgICAgICAgICAgICAgZmFzdC9sb2FkZXIvd2luZG93LW9wZW4tdG8taW52YWxpZC11cmwt
ZGlzYWxsb3dlZC5odG1sCisKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmNvbnRpbnVlTG9hZEFmdGVyTmF2aWdhdGlvblBv
bGljeSk6IERvIG5vdCBjb250aW51ZSBpZiB0aGUgbmF2aWdhdGlvbiB3aWxsIGJlIGEgcmVkaXJl
Y3QKKyAgICAgICAgdG8gYW4gaW52YWxpZCBVUkwuCisgICAgICAgICogbG9hZGVyL05hdmlnYXRp
b25TY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdGlvblNjaGVkdWxlcjo6
c2hvdWxkU2NoZWR1bGVOYXZpZ2F0aW9uKTogUmVzdW1lZCBzY2hlZHVsaW5nIG5hdmlnYXRpb25z
IHRvIGludmFsaWQgVVJMcy4KKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmluOiBSZW1vdmVkIHRo
ZSBhbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwgc2V0dGluZy4KKwogMjAxNC0wOC0xNSAgQWRl
bmlsc29uIENhdmFsY2FudGkgIDxjYXZhbGNhbnRpaUBnbWFpbC5jb20+CiAKICAgICAgICAgRml4
IHR5cG8gaW4gUGF0aCBjb21tZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggYTg0ZTYyMmI4MDVlMDRj
ZTU3MjkyNjU0MTkxY2U4OTM1NjMxNzI2Yi4uNjg4NWY2ZTQ1YmJmNWZhOWFlNGQxOGRjOGY5Nzdj
MjViYjE3OWYzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE0LTA4LTE1
ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChy
MTY3ODU2KTogYWRvYmUuY29tIG5vIGxvbmdlciBhYmxlIHRvIGxhdW5jaCBDcmVhdGUgQ2xvdWQg
YXBwIHVzaW5nIGEgVVJMIHdpdGggYSBjdXN0b20gc2NoZW1lCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzYwMTAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXZlcnRlZCB0aGUgbGlua2VkLW9uLW9yLWFm
dGVyIGNoZWNrIGFkZGVkIGluIHIxNzAxMjAgc2luY2UgaXQgaXMgbm8gbG9uZ2VyIG5lY2Vzc2Fy
eS4KKworICAgICAgICAqIE1pc2MvV2ViS2l0VmVyc2lvbkNoZWNrcy5oOgorICAgICAgICAqIFdl
YlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXNDaGFuZ2Vk
Ol0pOgorCiAyMDE0LTA4LTEzICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29t
PgogCiAgICAgICAgIEVuYWJsZSBDU1NfU0NST0xMX1NOQVAgZm9yIGlPUwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggZTVjOGRhMjk3NDNhZTljYzI5YmJiZGRmNTk2YTY3
NDc3ZGE1MDA4Yi4uMjI5ODk2YjMwMTU2NDA5YTZlYWQxMjIyZDlmZGYwODZmZjVmNWQ0OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC0yODg5LDcgKzI4ODksNyBAQCBi
b29sIEZyYW1lTG9hZGVyOjpoYW5kbGVCZWZvcmVVbmxvYWRFdmVudChDaHJvbWUmIGNocm9tZSwg
RnJhbWVMb2FkZXIqIGZyYW1lTG9hZAogICAgIHJldHVybiBjaHJvbWUucnVuQmVmb3JlVW5sb2Fk
Q29uZmlybVBhbmVsKHRleHQsICZtX2ZyYW1lKTsKIH0KIAotdm9pZCBGcmFtZUxvYWRlcjo6Y29u
dGludWVMb2FkQWZ0ZXJOYXZpZ2F0aW9uUG9saWN5KGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFBh
c3NSZWZQdHI8Rm9ybVN0YXRlPiBmb3JtU3RhdGUsIGJvb2wgc2hvdWxkQ29udGludWUpCit2b2lk
IEZyYW1lTG9hZGVyOjpjb250aW51ZUxvYWRBZnRlck5hdmlnYXRpb25Qb2xpY3koY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBQYXNzUmVmUHRyPEZvcm1TdGF0ZT4gZm9ybVN0YXRlLCBi
b29sIHNob3VsZENvbnRpbnVlKQogewogICAgIC8vIElmIHdlIGxvYWRlZCBhbiBhbHRlcm5hdGUg
cGFnZSB0byByZXBsYWNlIGFuIHVucmVhY2hhYmxlVVJMLCB3ZSdsbCBnZXQgaW4gaGVyZSB3aXRo
IGEKICAgICAvLyBuaWwgcG9saWN5RGF0YVNvdXJjZSBiZWNhdXNlIGxvYWRpbmcgdGhlIGFsdGVy
bmF0ZSBwYWdlIHdpbGwgaGF2ZSBwYXNzZWQKQEAgLTI4OTgsMTEgKzI4OTgsMTQgQEAgdm9pZCBG
cmFtZUxvYWRlcjo6Y29udGludWVMb2FkQWZ0ZXJOYXZpZ2F0aW9uUG9saWN5KGNvbnN0IFJlc291
cmNlUmVxdWVzdCYsIFBhc3MKIAogICAgIGJvb2wgaXNUYXJnZXRJdGVtID0gaGlzdG9yeSgpLnBy
b3Zpc2lvbmFsSXRlbSgpID8gaGlzdG9yeSgpLnByb3Zpc2lvbmFsSXRlbSgpLT5pc1RhcmdldEl0
ZW0oKSA6IGZhbHNlOwogCi0gICAgLy8gVHdvIHJlYXNvbnMgd2UgY2FuJ3QgY29udGludWU6Cisg
ICAgYm9vbCB3aWxsUmVkaXJlY3RUb0ludmFsaWRVUkwgPSBtX3F1aWNrUmVkaXJlY3RDb21pbmcg
JiYgIXJlcXVlc3QudXJsKCkuaXNWYWxpZCgpOworCisgICAgLy8gVGhyZWUgcmVhc29ucyB3ZSBj
YW4ndCBjb250aW51ZToKICAgICAvLyAgICAxKSBOYXZpZ2F0aW9uIHBvbGljeSBkZWxlZ2F0ZSBz
YWlkIHdlIGNhbid0IHNvIHJlcXVlc3QgaXMgbmlsLiBBIHByaW1hcnkgY2FzZSBvZiB0aGlzIAog
ICAgIC8vICAgICAgIGlzIHRoZSB1c2VyIHJlc3BvbmRpbmcgQ2FuY2VsIHRvIHRoZSBmb3JtIHJl
cG9zdCBuYWcgc2hlZXQuCiAgICAgLy8gICAgMikgVXNlciByZXNwb25kZWQgQ2FuY2VsIHRvIGFu
IGFsZXJ0IHBvcHBlZCB1cCBieSB0aGUgYmVmb3JlIHVubG9hZCBldmVudCBoYW5kbGVyLgotICAg
IGJvb2wgY2FuQ29udGludWUgPSBzaG91bGRDb250aW51ZSAmJiBzaG91bGRDbG9zZSgpOworICAg
IC8vICAgIDMpIEEgcmVkaXJlY3Qgd2lsbCBvY2N1ciB0byBhbiBpbnZhbGlkIFVSTC4KKyAgICBi
b29sIGNhbkNvbnRpbnVlID0gc2hvdWxkQ29udGludWUgJiYgc2hvdWxkQ2xvc2UoKSAmJiAhd2ls
bFJlZGlyZWN0VG9JbnZhbGlkVVJMOwogCiAgICAgaWYgKCFjYW5Db250aW51ZSkgewogICAgICAg
ICAvLyBJZiB3ZSB3ZXJlIHdhaXRpbmcgZm9yIGEgcXVpY2sgcmVkaXJlY3QsIGJ1dCB0aGUgcG9s
aWN5IGRlbGVnYXRlIGRlY2lkZWQgdG8gaWdub3JlIGl0LCB0aGVuIHdlIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCmluZGV4IGY1ZWYyZDNhNmYzYWM0
YTY5ZjQxNGNjZmYwZmQ2NTcyNjRhMGI4OGEuLjUwZWIyMjRkYjBjN2EzMmEyODI4NTk2ZmQ4ZWE4
ZmVjMWJlYzliOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9u
U2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVk
dWxlci5jcHAKQEAgLTMxMSw4ICszMTEsNiBAQCBpbmxpbmUgYm9vbCBOYXZpZ2F0aW9uU2NoZWR1
bGVyOjpzaG91bGRTY2hlZHVsZU5hdmlnYXRpb24oY29uc3QgVVJMJiB1cmwpIGNvbnN0CiAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAocHJvdG9jb2xJc0phdmFTY3JpcHQodXJsKSkKICAg
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgaWYgKCF1cmwuaXNWYWxpZCgpICYmICFtX2ZyYW1lLnNl
dHRpbmdzKCkuYWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMKCkpCi0gICAgICAgIHJldHVybiBm
YWxzZTsKICAgICByZXR1cm4gTmF2aWdhdGlvbkRpc2FibGVyRm9yQmVmb3JlVW5sb2FkOjppc05h
dmlnYXRpb25BbGxvd2VkKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuaW4gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCmluZGV4IGUyM2Fl
ZDYwYTAyYjUxYTA2MzBiZWFkNTJkZTQ0NmU1OTU2OTVlOWUuLmY0NTRjNGYxNGQ5Y2JkZDMwOWQy
YjViNjliMzhmNjY0MGMzZDBlMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0
dGluZ3MuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgpAQCAtMjI2LDgg
KzIyNiw0IEBAIHRlbXBvcmFyeVRpbGVDb2hvcnRSZXRlbnRpb25FbmFibGVkIGluaXRpYWw9dHJ1
ZQogCiB1c2VJbWFnZURvY3VtZW50Rm9yU3ViZnJhbWVQREYgaW5pdGlhbD1mYWxzZQogCi0jIEFs
bG93IGNsaWVudHMgdG8gcGVybWl0IG5hdmlnYXRpb24gdG8gYW4gaW52YWxpZCBVUkwuIFNvbWUg
YXBwcyBtYXkgdXNlIGludmFsaWQgVVJMcwotIyBhcyBhIG1lYW5zIHRvIHBhc3MgZGF0YSBmcm9t
IHRoZSB3ZWItcG9ydGlvbiBvZiB0aGVpciBhcHAgdG8gdGhlIG5hdGl2ZSBwb3J0aW9uLgotYWxs
b3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMIGluaXRpYWw9ZmFsc2UKLQogbG9uZ01vdXNlUHJlc3NF
bmFibGVkIGluaXRpYWw9ZmFsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL01pc2Mv
V2ViS2l0VmVyc2lvbkNoZWNrcy5oIGIvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXRWZXJz
aW9uQ2hlY2tzLmgKaW5kZXggNDM2YzU4NDBhNTk4OTNkMGVlMmMwYWFjNThmMjY2NmQ1NmM1Zjdl
ZC4uMTM5NGRjNjJmZGVhZDUxNGM1NGQ4YmYxYTE4OTdjNGUwZWFhNjVjOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXRWZXJzaW9uQ2hlY2tzLmgKKysrIGIvU291cmNl
L1dlYktpdC9tYWMvTWlzYy9XZWJLaXRWZXJzaW9uQ2hlY2tzLmgKQEAgLTcxLDcgKzcxLDYgQEAK
ICNkZWZpbmUgV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9DU1NfQVRUUklCVVRFX1NFVFRFUlNf
SUdOT1JJTkdfUFJJT1JJVFkgMjIzOSAvLyBpT1MgNi4wCiAjZGVmaW5lIFdFQktJVF9GSVJTVF9W
RVJTSU9OX1dJVEhfWU9VVFVCRV9FTUJFRF9JRlJBTUVfVFJBTlNGT1JNIDIyMzkgLy8gaU9TIDYu
MAogI2RlZmluZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIT1VUX0xFR0FDWV9CQUNLR1JPVU5E
U0laRV9TSE9SVEhBTkRfQkVIQVZJT1IgMjY2NSAvLyBpT1MgNy4wCi0jZGVmaW5lIFdFQktJVF9G
SVJTVF9WRVJTSU9OX1dJVEhfTkFWSUdBVElPTl9VUkxfVkFMSURBVElPTiAzMTg1IC8vIGlPUyA4
LjAKICNlbmRpZiAvLyBQTEFURk9STShJT1MpCiAKICNpZmRlZiBfX2NwbHVzcGx1cwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDdmNmZmZmE5Zjc1ODkzY2I0Y2RlYjgyMTMy
ZDE0OWVlYWNhZjU0NzIuLjQ5NTc0ODIyM2M1ODBlYzc3MDEzMWZiN2Y5ZDQ0M2E5YTYzZDEyMDQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTIzMjcsOCArMjMyNyw2IEBA
IC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVyZW5jZXMgKilwcmVmZXJlbmNl
cwogI2lmIEVOQUJMRShJT1NfVEVYVF9BVVRPU0laSU5HKQogICAgIHNldHRpbmdzLnNldE1pbmlt
dW1ab29tRm9udFNpemUoW3ByZWZlcmVuY2VzIF9taW5pbXVtWm9vbUZvbnRTaXplXSk7CiAjZW5k
aWYKLQotICAgIHNldHRpbmdzLnNldEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCghV2ViS2l0
TGlua2VkT25PckFmdGVyKFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfTkFWSUdBVElPTl9VUkxf
VkFMSURBVElPTikpOwogI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKIAogI2lmIFBMQVRGT1JNKE1B
QykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCBhOWU0M2E5MzI1NzIwZTYwMjU4ZWMxNjk4MmZhYTM2NDUwMjAyMGM4Li5iMTll
YmQ1NDQzY2IyMThiYzBhNjk4OWY2N2VlMmIxMTIxZGRkMThiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMg
QEAKKzIwMTQtMDgtMTUgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAg
IFJFR1JFU1NJT04gKHIxNjc4NTYpOiBhZG9iZS5jb20gbm8gbG9uZ2VyIGFibGUgdG8gbGF1bmNo
IENyZWF0ZSBDbG91ZCBhcHAgdXNpbmcgYSBVUkwgd2l0aCBhIGN1c3RvbSBzY2hlbWUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjAxMAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZWQgdGVzdHMg
dGhhdCB2ZXJpZmllZCB0aGUgYmVoYXZpb3Igb2Ygc2V0QWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlk
VVJMKCksIHdoaWNoIG5vIGxvbmdlciBleGlzdHM6CisgICAgICAgICogZmFzdC9sb2FkZXIvYWxs
b3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlwdC1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9sb2FkZXIvYWxsb3ctcmVkaXJlY3QtdG8taW52YWxp
ZC11cmwtdXNpbmctamF2YXNjcmlwdC5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvbG9h
ZGVyL2FsbG93LXJlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLW1ldGEtcmVmcmVzaC1leHBl
Y3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9sb2FkZXIvYWxsb3ctcmVkaXJlY3Qt
dG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLmh0bWw6IFJlbW92ZWQuCisKKyAgICAg
ICAgQWRkZWQgdGVzdHMgdGhhdCB2ZXJpZnkgdGhlIHBvbGljeSBkZWxlZ2F0ZSBpcyBleGVjdXRl
ZCBvbiBzb21lIG5hdmlnYXRpb25zIHRvIGludmFsaWQgVVJMczoKKyAgICAgICAgKiBmYXN0L2xv
YWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0LWNhbGxzLXBvbGlj
eS1kZWxlZ2F0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbG9hZGVyL3Jl
ZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQtY2FsbHMtcG9saWN5LWRlbGVn
YXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbG9hZGVyL3JlZGlyZWN0LXRvLWludmFs
aWQtdXJsLXVzaW5nLW1ldGEtcmVmcmVzaC1jYWxscy1wb2xpY3ktZGVsZWdhdGUtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVy
bC11c2luZy1tZXRhLXJlZnJlc2gtY2FsbHMtcG9saWN5LWRlbGVnYXRlLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvbG9hZGVyL3dpbmRvdy1vcGVuLXRvLWludmFsaWQtdXJsLWNhbGxzLXBv
bGljeS1kZWxlZ2F0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbG9hZGVy
L3dpbmRvdy1vcGVuLXRvLWludmFsaWQtdXJsLWNhbGxzLXBvbGljeS1kZWxlZ2F0ZS5odG1sOiBB
ZGRlZC4KKworICAgICAgICBSZW5hbWVkIGV4aXN0aW5nIHRlc3RzIGFkZGVkIGluIHIxNzAxMjAs
IG1vZGlmaWVkIHRoZW0gdG8gbG9nIHdpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTCBhbmQK
KyAgICAgICAgZGlkQ2FuY2VsQ2xpZW50UmVkaXJlY3RGb3JGcmFtZSwgYW5kIGFkZGVkIGEgdGVz
dCB0byB2ZXJpZnkgbmF2aWdhdGlvbnMgaW4gZXhpc3RpbmcgZnJhbWVzIHZpYSB3aW5kb3cub3Bl
bjoKKyAgICAgICAgKiBmYXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1q
YXZhc2NyaXB0LWRpc2FsbG93ZWQtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gZmFzdC9sb2Fk
ZXIvZGlzYWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlwdC1leHBl
Y3RlZC50eHQuCisgICAgICAgICogZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwt
dXNpbmctamF2YXNjcmlwdC1kaXNhbGxvd2VkLmh0bWw6IFJlbmFtZWQgZnJvbSBmYXN0L2xvYWRl
ci9kaXNhbGxvdy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0Lmh0bWwu
CisgICAgICAgICogZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0
YS1yZWZyZXNoLWRpc2FsbG93ZWQtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gZmFzdC9sb2Fk
ZXIvZGlzYWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLWV4
cGVjdGVkLnR4dC4KKyAgICAgICAgKiBmYXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVy
bC11c2luZy1tZXRhLXJlZnJlc2gtZGlzYWxsb3dlZC5odG1sOiBSZW5hbWVkIGZyb20gZmFzdC9s
b2FkZXIvZGlzYWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNo
Lmh0bWwuCisgICAgICAgICogZmFzdC9sb2FkZXIvd2luZG93LW9wZW4tdG8taW52YWxpZC11cmwt
ZGlzYWxsb3dlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbG9hZGVyL3dp
bmRvdy1vcGVuLXRvLWludmFsaWQtdXJsLWRpc2FsbG93ZWQuaHRtbDogQWRkZWQuCisKIDIwMTQt
MDgtMTQgIEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJraXQub3JnPgogCiAgICAgICAg
IENTUyBKSVQ6IGNvbXBpbGUgdGhlIDplbXB0eSBwc2V1ZG8gY2xhc3MKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvbG9hZGVyL2FsbG93LXJlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5n
LWphdmFzY3JpcHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvYWxsb3ct
cmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlwdC1leHBlY3RlZC50eHQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMxZjE5NDJjZTFiODY3Nzk0NGRlZjcyNjA4NTVk
OGJjZjQ1M2ZjZGEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvYWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwt
dXNpbmctamF2YXNjcmlwdC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCww
IEBACi1mcmFtZSAiZnJhbWUiIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQotbWFp
biBmcmFtZSAtIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lCi1mcmFtZSAiZnJhbWUiIC0g
ZGlkQ29tbWl0TG9hZEZvckZyYW1lCi1mcmFtZSAiZnJhbWUiIC0gd2lsbFBlcmZvcm1DbGllbnRS
ZWRpcmVjdFRvVVJMOiB4LWR1bW15Oi8vQT1hJkI9YiAKLWZyYW1lICJmcmFtZSIgLSBkaWRGaW5p
c2hEb2N1bWVudExvYWRGb3JGcmFtZQotbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50
c0ZvckZyYW1lCi1mcmFtZSAiZnJhbWUiIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCi1tYWluIGZy
YW1lIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCi1UZXN0cyB0aGF0IHdlIGFsbG93IHJlZGlyZWN0
aW9uIHRvIGFuIGludmFsaWQgVVJMIGluaXRpYXRlZCBieSBKYXZhU2NyaXB0IHdoZW4gc2V0dGlu
ZyBhbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwgaXMgdHJ1ZS4gVGhpcyB0ZXN0IFBBU1NFRCBp
ZiB5b3Ugc2VlIGFuIGVudHJ5IGluIHRoZSBkdW1wZWQgZnJhbWUgbG9hZCBjYWxsYmFja3Mgb2Yg
dGhlIGZvcm06ICJ3aWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9VUkw6IHgtZHVtbXk6Ly9BPWEm
Qj1iIi4KLQotTm90ZSwgdGhpcyB0ZXN0IG11c3QgYmUgcnVuIGluIER1bXBSZW5kZXJUcmVlLgot
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2FsbG93LXJlZGlyZWN0LXRv
LWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbG9h
ZGVyL2FsbG93LXJlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQuaHRtbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWQ1ZTA0YjE4YzVlZmM3MmIwOWEwM2QzMDM4
NjkzOTIwMDI1MjZiMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9hbGxvdy1yZWRpcmVjdC10by1pbnZhbGlkLXVy
bC11c2luZy1qYXZhc2NyaXB0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi08
IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0
UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci5k
dW1wRnJhbWVMb2FkQ2FsbGJhY2tzKCk7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
Ci19Ci0KLWlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0QWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMKHRydWUpOwotPC9zY3JpcHQ+Ci08L2hl
YWQ+Ci08Ym9keT4KLTxwPlRlc3RzIHRoYXQgd2UgYWxsb3cgcmVkaXJlY3Rpb24gdG8gYW4gaW52
YWxpZCBVUkwgaW5pdGlhdGVkIGJ5IEphdmFTY3JpcHQgd2hlbiBzZXR0aW5nIGFsbG93TmF2aWdh
dGlvblRvSW52YWxpZFVSTCBpcyB0cnVlLiBUaGlzIHRlc3QgUEFTU0VEIGlmIHlvdSBzZWUgYW4g
ZW50cnkgaW4gdGhlIGR1bXBlZCBmcmFtZSBsb2FkIGNhbGxiYWNrcyBvZiB0aGUgZm9ybTogJnF1
b3Q7d2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdFRvVVJMOiB4LWR1bW15Oi8vQT1hJmFtcDtCPWIm
cXVvdDsuPC9wPgotPHA+Tm90ZSwgdGhpcyB0ZXN0IG11c3QgYmUgcnVuIGluIER1bXBSZW5kZXJU
cmVlLjwvcD4KLTxpZnJhbWUgaWQ9ImZyYW1lIiBzcmM9InJlc291cmNlcy9yZWRpcmVjdC10by1p
bnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0Lmh0bWwiPjwvaWZyYW1lPgotPHNjcmlwdD4KLWZ1
bmN0aW9uIGRvbmUoKQotewotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19Ci0KLXdpbmRvdy5zZXRUaW1lb3V0KGRvbmUsIDApOwot
PC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2xvYWRlci9hbGxvdy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJlc2gt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvYWxsb3ctcmVkaXJlY3QtdG8t
aW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYjVmZjg1MGJjOGQ2ZjI1YmIxZGZhZGYzOWM4N2U1MmZkNDlmNTY3
MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2xvYWRlci9hbGxvdy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1tZXRh
LXJlZnJlc2gtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotZnJh
bWUgImZyYW1lIiAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKLW1haW4gZnJhbWUg
LSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQotZnJhbWUgImZyYW1lIiAtIGRpZENvbW1p
dExvYWRGb3JGcmFtZQotZnJhbWUgImZyYW1lIiAtIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZy
YW1lCi1mcmFtZSAiZnJhbWUiIC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUKLW1haW4g
ZnJhbWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQotZnJhbWUgImZyYW1lIiAtIHdp
bGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTDogeC1kdW1teTovL0E9YSZCPWIgCi1mcmFtZSAi
ZnJhbWUiIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCi1tYWluIGZyYW1lIC0gZGlkRmluaXNoTG9h
ZEZvckZyYW1lCi1UZXN0cyB0aGF0IHdlIGFsbG93IHJlZGlyZWN0aW9uIHRvIGFuIGludmFsaWQg
VVJMIGluaXRpYXRlZCBieSA8bWV0YSBodHRwLWVxdWl2PSJyZWZyZXNoIj4gd2hlbiBzZXR0aW5n
IGFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCBpcyB0cnVlLiBUaGlzIHRlc3QgUEFTU0VEIGlm
IHlvdSBzZWUgYW4gZW50cnkgaW4gdGhlIGR1bXBlZCBmcmFtZSBsb2FkIGNhbGxiYWNrcyBvZiB0
aGUgZm9ybTogIndpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTDogeC1kdW1teTovL0E9YSZC
PWIiLgotCi1Ob3RlLCB0aGlzIHRlc3QgbXVzdCBiZSBydW4gaW4gRHVtcFJlbmRlclRyZWUuCi0K
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvYWxsb3ctcmVkaXJlY3QtdG8t
aW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2xv
YWRlci9hbGxvdy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJlc2guaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGY4OGE5ZGQ1ODViMDYxZTI5ZmM1NjYx
N2I0MjJmYmUxMGU4MWJkOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9hbGxvdy1yZWRpcmVjdC10by1pbnZhbGlk
LXVybC11c2luZy1tZXRhLXJlZnJlc2guaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci1pZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVu
bmVyLmR1bXBGcmFtZUxvYWRDYWxsYmFja3MoKTsKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKLX0KLQotaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwodHJ1ZSk7Ci08L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotPHA+VGVzdHMgdGhhdCB3ZSBhbGxvdyByZWRpcmVjdGlvbiB0byBh
biBpbnZhbGlkIFVSTCBpbml0aWF0ZWQgYnkgJmx0O21ldGEgaHR0cC1lcXVpdj0mcXVvdDtyZWZy
ZXNoJnF1b3Q7Jmd0OyB3aGVuIHNldHRpbmcgYWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMIGlz
IHRydWUuIFRoaXMgdGVzdCBQQVNTRUQgaWYgeW91IHNlZSBhbiBlbnRyeSBpbiB0aGUgZHVtcGVk
IGZyYW1lIGxvYWQgY2FsbGJhY2tzIG9mIHRoZSBmb3JtOiAmcXVvdDt3aWxsUGVyZm9ybUNsaWVu
dFJlZGlyZWN0VG9VUkw6IHgtZHVtbXk6Ly9BPWEmYW1wO0I9YiZxdW90Oy48L3A+Ci08cD5Ob3Rl
LCB0aGlzIHRlc3QgbXVzdCBiZSBydW4gaW4gRHVtcFJlbmRlclRyZWUuPC9wPgotPGlmcmFtZSBp
ZD0iZnJhbWUiIHNyYz0icmVzb3VyY2VzL3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLW1l
dGEtcmVmcmVzaC5odG1sIj48L2lmcmFtZT4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBkb25lKCkKLXsK
LSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9u
ZSgpOwotfQotCi13aW5kb3cuc2V0VGltZW91dChkb25lLCAwKTsKLTwvc2NyaXB0PgotPC9ib2R5
PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvZGlzYWxsb3ct
cmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlwdC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2xvYWRlci9kaXNhbGxvdy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11
c2luZy1qYXZhc2NyaXB0LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZGJhOWYyMmRjMmRiYjZlN2Y1OTRkYWM5NjAxMmM0ODYyNDkyZTU2Yi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRl
ci9kaXNhbGxvdy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0LWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLWZyYW1lICJmcmFtZSIgLSBk
aWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lCi1tYWluIGZyYW1lIC0gZGlkRmluaXNoRG9j
dW1lbnRMb2FkRm9yRnJhbWUKLWZyYW1lICJmcmFtZSIgLSBkaWRDb21taXRMb2FkRm9yRnJhbWUK
LWZyYW1lICJmcmFtZSIgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQotZnJhbWUgImZy
YW1lIiAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCi1tYWluIGZyYW1lIC0gZGlkSGFu
ZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUKLWZyYW1lICJmcmFtZSIgLSBkaWRGaW5pc2hMb2FkRm9y
RnJhbWUKLW1haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKLVRlc3RzIHRoYXQgd2Ug
ZG8gbm90IHJlZGlyZWN0IHRvIGFuIGludmFsaWQgVVJMIGluaXRpYXRlZCBieSBKYXZhU2NyaXB0
IHdoZW4gc2V0dGluZyBhbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwgaXMgZmFsc2UuIFRoaXMg
dGVzdCBQQVNTRUQgaWYgeW91IGRvIG5vdCBzZWUgYW4gZW50cnkgaW4gdGhlIGR1bXBlZCBmcmFt
ZSBsb2FkIGNhbGxiYWNrcyBvZiB0aGUgZm9ybTogIndpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RU
b1VSTDogeC1kdW1teTovL0E9YSZCPWIiLgotCi1Ob3RlLCB0aGlzIHRlc3QgbXVzdCBiZSBydW4g
aW4gRHVtcFJlbmRlclRyZWUuCi0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2Fk
ZXIvZGlzYWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlwdC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvZGlzYWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11
cmwtdXNpbmctamF2YXNjcmlwdC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBm
ZWY0MDU2YjYxMzMzZTlmY2MzMmM4NTAyOTY4ZTdlNzQyN2M4OTBkLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2Rp
c2FsbG93LXJlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVh
ZD4KLTxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVubmVyLmR1bXBGcmFtZUxvYWRDYWxsYmFja3MoKTsKLSAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLX0KLQotaWYgKHdpbmRvdy5pbnRlcm5hbHMp
Ci0gICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBbGxvd05hdmlnYXRpb25Ub0ludmFs
aWRVUkwoZmFsc2UpOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlRlc3RzIHRoYXQg
d2UgZG8gbm90IHJlZGlyZWN0IHRvIGFuIGludmFsaWQgVVJMIGluaXRpYXRlZCBieSBKYXZhU2Ny
aXB0IHdoZW4gc2V0dGluZyBhbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwgaXMgZmFsc2UuIFRo
aXMgdGVzdCBQQVNTRUQgaWYgeW91IGRvIG5vdCBzZWUgYW4gZW50cnkgaW4gdGhlIGR1bXBlZCBm
cmFtZSBsb2FkIGNhbGxiYWNrcyBvZiB0aGUgZm9ybTogJnF1b3Q7d2lsbFBlcmZvcm1DbGllbnRS
ZWRpcmVjdFRvVVJMOiB4LWR1bW15Oi8vQT1hJmFtcDtCPWImcXVvdDsuPC9wPgotPHA+Tm90ZSwg
dGhpcyB0ZXN0IG11c3QgYmUgcnVuIGluIER1bXBSZW5kZXJUcmVlLjwvcD4KLTxpZnJhbWUgaWQ9
ImZyYW1lIiBzcmM9InJlc291cmNlcy9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1qYXZh
c2NyaXB0Lmh0bWwiPjwvaWZyYW1lPgotPHNjcmlwdD4KLWZ1bmN0aW9uIGRvbmUoKQotewotICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
Ci19Ci0KLXdpbmRvdy5zZXRUaW1lb3V0KGRvbmUsIDApOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9kaXNhbGxvdy1yZWRp
cmVjdC10by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJlc2gtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9sb2FkZXIvZGlzYWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNp
bmctbWV0YS1yZWZyZXNoLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNWE0OTAxZTc2ODZkZGRjMjQ4YmFiZjE5YWU3ZTBkZmI3NGZkOWY1NS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRl
ci9kaXNhbGxvdy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJlc2gtZXhw
ZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotZnJhbWUgImZyYW1lIiAt
IGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKLW1haW4gZnJhbWUgLSBkaWRGaW5pc2hE
b2N1bWVudExvYWRGb3JGcmFtZQotZnJhbWUgImZyYW1lIiAtIGRpZENvbW1pdExvYWRGb3JGcmFt
ZQotZnJhbWUgImZyYW1lIiAtIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lCi1mcmFtZSAi
ZnJhbWUiIC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUKLW1haW4gZnJhbWUgLSBkaWRI
YW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQotZnJhbWUgImZyYW1lIiAtIGRpZEZpbmlzaExvYWRG
b3JGcmFtZQotbWFpbiBmcmFtZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQotVGVzdHMgdGhhdCB3
ZSBkbyBub3QgcmVkaXJlY3QgdG8gYW4gaW52YWxpZCBVUkwgaW5pdGlhdGVkIGJ5IDxtZXRhIGh0
dHAtZXF1aXY9InJlZnJlc2giPiB3aGVuIHNldHRpbmcgYWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlk
VVJMIGlzIGZhbHNlLiBUaGlzIHRlc3QgUEFTU0VEIGlmIHlvdSBkbyBub3Qgc2VlIGFuIGVudHJ5
IGluIHRoZSBkdW1wZWQgZnJhbWUgbG9hZCBjYWxsYmFja3Mgb2YgdGhlIGZvcm06ICJ3aWxsUGVy
Zm9ybUNsaWVudFJlZGlyZWN0VG9VUkw6IHgtZHVtbXk6Ly9BPWEmQj1iIi4KLQotTm90ZSwgdGhp
cyB0ZXN0IG11c3QgYmUgcnVuIGluIER1bXBSZW5kZXJUcmVlLgotCi0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvbG9hZGVyL2Rpc2FsbG93LXJlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVz
aW5nLW1ldGEtcmVmcmVzaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvZGlzYWxsb3ct
cmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEwOGI0YTU4ZDc1MGI4ZjdhNzRjZDdkZWRhZjgwZjRmZWY1
OWQyNTIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9sb2FkZXIvZGlzYWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNp
bmctbWV0YS1yZWZyZXNoLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci5kdW1w
RnJhbWVMb2FkQ2FsbGJhY2tzKCk7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci19
Ci0KLWlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0QWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMKGZhbHNlKTsKLTwvc2NyaXB0PgotPC9oZWFk
PgotPGJvZHk+Ci08cD5UZXN0cyB0aGF0IHdlIGRvIG5vdCByZWRpcmVjdCB0byBhbiBpbnZhbGlk
IFVSTCBpbml0aWF0ZWQgYnkgJmx0O21ldGEgaHR0cC1lcXVpdj0mcXVvdDtyZWZyZXNoJnF1b3Q7
Jmd0OyB3aGVuIHNldHRpbmcgYWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMIGlzIGZhbHNlLiBU
aGlzIHRlc3QgUEFTU0VEIGlmIHlvdSBkbyBub3Qgc2VlIGFuIGVudHJ5IGluIHRoZSBkdW1wZWQg
ZnJhbWUgbG9hZCBjYWxsYmFja3Mgb2YgdGhlIGZvcm06ICZxdW90O3dpbGxQZXJmb3JtQ2xpZW50
UmVkaXJlY3RUb1VSTDogeC1kdW1teTovL0E9YSZhbXA7Qj1iJnF1b3Q7LjwvcD4KLTxwPk5vdGUs
IHRoaXMgdGVzdCBtdXN0IGJlIHJ1biBpbiBEdW1wUmVuZGVyVHJlZS48L3A+Ci08aWZyYW1lIGlk
PSJmcmFtZSIgc3JjPSJyZXNvdXJjZXMvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0
YS1yZWZyZXNoLmh0bWwiPjwvaWZyYW1lPgotPHNjcmlwdD4KLWZ1bmN0aW9uIGRvbmUoKQotewot
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7Ci19Ci0KLXdpbmRvdy5zZXRUaW1lb3V0KGRvbmUsIDApOwotPC9zY3JpcHQ+Ci08L2JvZHk+
Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9yZWRpcmVjdC10
by1pbnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0LWNhbGxzLXBvbGljeS1kZWxlZ2F0ZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVy
bC11c2luZy1qYXZhc2NyaXB0LWNhbGxzLXBvbGljeS1kZWxlZ2F0ZS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMDliZDFlNTYxNmVmMGQ4MTIzYzhhMzIzYzBhYTI2ZGZiNjg4NDUzOAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3JlZGlyZWN0LXRvLWludmFsaWQt
dXJsLXVzaW5nLWphdmFzY3JpcHQtY2FsbHMtcG9saWN5LWRlbGVnYXRlLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDQgQEAKK1BvbGljeSBkZWxlZ2F0ZTogYXR0ZW1wdCB0byBsb2FkIGh0dHA6Ly9B
PWEmQj1iIHdpdGggbmF2aWdhdGlvbiB0eXBlICdvdGhlcicKK1Rlc3RzIHRoYXQgd2UgZG8gbm90
IHJlZGlyZWN0IHRvIGFuIGludmFsaWQgVVJMIGluaXRpYXRlZCBieSBKYXZhU2NyaXB0LiBUaGlz
IHRlc3QgUEFTU0VEIGlmIHlvdSBzZWUgYW4gZW50cnkgaW4gdGhlIGR1bXBlZCBmcmFtZSBsb2Fk
IGNhbGxiYWNrcyBvZiB0aGUgZm9ybTogIndpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTDog
aHR0cDovL0E9YSZCPWIiIGZvbGxvd2VkIGJ5ICJkaWRDYW5jZWxDbGllbnRSZWRpcmVjdEZvckZy
YW1lIi4KKworTm90ZSwgdGhpcyB0ZXN0IG11c3QgYmUgcnVuIGluIER1bXBSZW5kZXJUcmVlLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11
cmwtdXNpbmctamF2YXNjcmlwdC1jYWxscy1wb2xpY3ktZGVsZWdhdGUuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvbG9hZGVyL3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQt
Y2FsbHMtcG9saWN5LWRlbGVnYXRlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTljOTdmNzFhYzNjZjIyNjJk
YjZjZDQzZTVjYjM5ODdiYmJiODBkMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvbG9hZGVyL3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQtY2FsbHMt
cG9saWN5LWRlbGVnYXRlLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIuc2V0Q3VzdG9tUG9saWN5RGVs
ZWdhdGUodHJ1ZSwgZmFsc2UpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworfQor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRlc3RzIHRoYXQgd2UgZG8gbm90IHJlZGly
ZWN0IHRvIGFuIGludmFsaWQgVVJMIGluaXRpYXRlZCBieSBKYXZhU2NyaXB0LiBUaGlzIHRlc3Qg
UEFTU0VEIGlmIHlvdSBzZWUgYW4gZW50cnkgaW4gdGhlIGR1bXBlZCBmcmFtZSBsb2FkIGNhbGxi
YWNrcyBvZiB0aGUgZm9ybTogJnF1b3Q7d2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdFRvVVJMOiBo
dHRwOi8vQT1hJmFtcDtCPWImcXVvdDsgZm9sbG93ZWQgYnkgJnF1b3Q7ZGlkQ2FuY2VsQ2xpZW50
UmVkaXJlY3RGb3JGcmFtZSZxdW90Oy48L3A+Cis8cD5Ob3RlLCB0aGlzIHRlc3QgbXVzdCBiZSBy
dW4gaW4gRHVtcFJlbmRlclRyZWUuPC9wPgorPHNjcmlwdD4KK3dpbmRvdy5sb2NhdGlvbi5ocmVm
ID0gImh0dHA6Ly9BPWEmQj1iIjsKK3dpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
Cit9LCAwKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlw
dC1kaXNhbGxvd2VkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3JlZGly
ZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQtZGlzYWxsb3dlZC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMmI5MjM5YmQzNjUxNzI3MjU1OTVhNGVmZTgzZmE3ODlkNGNiMDI4Ygot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3JlZGlyZWN0LXRvLWlu
dmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQtZGlzYWxsb3dlZC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw3IEBACittYWluIGZyYW1lIC0gd2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdFRvVVJMOiBo
dHRwOi8vQT1hJkI9YiAKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFt
ZQorbWFpbiBmcmFtZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENh
bmNlbENsaWVudFJlZGlyZWN0Rm9yRnJhbWUKK1Rlc3RzIHRoYXQgd2UgZG8gbm90IHJlZGlyZWN0
IHRvIGFuIGludmFsaWQgVVJMIGluaXRpYXRlZCBieSBKYXZhU2NyaXB0LiBUaGlzIHRlc3QgUEFT
U0VEIGlmIHlvdSBzZWUgYW4gZW50cnkgaW4gdGhlIGR1bXBlZCBmcmFtZSBsb2FkIGNhbGxiYWNr
cyBvZiB0aGUgZm9ybTogIndpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTDogaHR0cDovL0E9
YSZCPWIiIGZvbGxvd2VkIGJ5ICJkaWRDYW5jZWxDbGllbnRSZWRpcmVjdEZvckZyYW1lIi4KKwor
Tm90ZSwgdGhpcyB0ZXN0IG11c3QgYmUgcnVuIGluIER1bXBSZW5kZXJUcmVlLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmct
amF2YXNjcmlwdC1kaXNhbGxvd2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9yZWRp
cmVjdC10by1pbnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0LWRpc2FsbG93ZWQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jNWVmNjA5MGRlYzJlMWNmNzk2NWEyNjVkODU1ZGEwYWE1ZDJiNDdlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11
cmwtdXNpbmctamF2YXNjcmlwdC1kaXNhbGxvd2VkLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1
bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIuZHVt
cEZyYW1lTG9hZENhbGxiYWNrcygpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwor
fQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRlc3RzIHRoYXQgd2UgZG8gbm90IHJl
ZGlyZWN0IHRvIGFuIGludmFsaWQgVVJMIGluaXRpYXRlZCBieSBKYXZhU2NyaXB0LiBUaGlzIHRl
c3QgUEFTU0VEIGlmIHlvdSBzZWUgYW4gZW50cnkgaW4gdGhlIGR1bXBlZCBmcmFtZSBsb2FkIGNh
bGxiYWNrcyBvZiB0aGUgZm9ybTogJnF1b3Q7d2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdFRvVVJM
OiBodHRwOi8vQT1hJmFtcDtCPWImcXVvdDsgZm9sbG93ZWQgYnkgJnF1b3Q7ZGlkQ2FuY2VsQ2xp
ZW50UmVkaXJlY3RGb3JGcmFtZSZxdW90Oy48L3A+Cis8cD5Ob3RlLCB0aGlzIHRlc3QgbXVzdCBi
ZSBydW4gaW4gRHVtcFJlbmRlclRyZWUuPC9wPgorPHNjcmlwdD4KK3dpbmRvdy5sb2NhdGlvbi5o
cmVmID0gImh0dHA6Ly9BPWEmQj1iIjsKK3dpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewor
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25l
KCk7Cit9LCAwKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1y
ZWZyZXNoLWNhbGxzLXBvbGljeS1kZWxlZ2F0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJlc2gtY2Fs
bHMtcG9saWN5LWRlbGVnYXRlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYWE1YTBmN2Y4MGFi
NjI2MjNjNzc2YzNhMThiZTlkMzk0MmY1YTc0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNo
LWNhbGxzLXBvbGljeS1kZWxlZ2F0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitQb2xp
Y3kgZGVsZWdhdGU6IGF0dGVtcHQgdG8gbG9hZCBodHRwOi8vQT1hJkI9YiB3aXRoIG5hdmlnYXRp
b24gdHlwZSAnb3RoZXInCitUZXN0cyB0aGF0IHdlIGRvIG5vdCByZWRpcmVjdCB0byBhbiBpbnZh
bGlkIFVSTCBpbml0aWF0ZWQgYnkgPG1ldGEgaHR0cC1lcXVpdj0icmVmcmVzaCI+LiBUaGlzIHRl
c3QgUEFTU0VEIGlmIHlvdSBzZWUgYW4gZW50cnkgaW4gdGhlIGR1bXBlZCBmcmFtZSBsb2FkIGNh
bGxiYWNrcyBvZiB0aGUgZm9ybTogIndpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTDogaHR0
cDovL0E9YSZCPWIiIGZvbGxvd2VkIGJ5ICJkaWRDYW5jZWxDbGllbnRSZWRpcmVjdEZvckZyYW1l
Ii4KKworTm90ZSwgdGhpcyB0ZXN0IG11c3QgYmUgcnVuIGluIER1bXBSZW5kZXJUcmVlLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwt
dXNpbmctbWV0YS1yZWZyZXNoLWNhbGxzLXBvbGljeS1kZWxlZ2F0ZS5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNo
LWNhbGxzLXBvbGljeS1kZWxlZ2F0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxMmRkMzJiMTRmMzMzYTA0
YTc0YjEwNzM0ZGRmYzBiYjZhMTVjOGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJlc2gtY2Fs
bHMtcG9saWN5LWRlbGVnYXRlLmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0icmVmcmVzaCIgY29udGVudD0iMDsg
dXJsPWh0dHA6Ly9BPWEmQj1iIj4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
KyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLnNldEN1c3RvbVBv
bGljeURlbGVnYXRlKHRydWUsIGZhbHNlKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UZXN0cyB0aGF0IHdlIGRvIG5v
dCByZWRpcmVjdCB0byBhbiBpbnZhbGlkIFVSTCBpbml0aWF0ZWQgYnkgJmx0O21ldGEgaHR0cC1l
cXVpdj0mcXVvdDtyZWZyZXNoJnF1b3Q7Jmd0Oy4gVGhpcyB0ZXN0IFBBU1NFRCBpZiB5b3Ugc2Vl
IGFuIGVudHJ5IGluIHRoZSBkdW1wZWQgZnJhbWUgbG9hZCBjYWxsYmFja3Mgb2YgdGhlIGZvcm06
ICZxdW90O3dpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTDogaHR0cDovL0E9YSZhbXA7Qj1i
JnF1b3Q7IGZvbGxvd2VkIGJ5ICZxdW90O2RpZENhbmNlbENsaWVudFJlZGlyZWN0Rm9yRnJhbWUm
cXVvdDsuPC9wPgorPHA+Tm90ZSwgdGhpcyB0ZXN0IG11c3QgYmUgcnVuIGluIER1bXBSZW5kZXJU
cmVlLjwvcD4KKzxzY3JpcHQ+CisvLyBUaGlzIHVnbHkgZG91YmxlLXRpbWVvdXQgZW5zdXJlcyB0
aGF0IHRoZSBzY2hlZHVsZWQgbWV0YS1yZWZyZXNoLCB3aG9zZSB0aW1lciBpc24ndCBldmVuIHN0
YXJ0ZWQgdW50aWwgdGhlIGZyYW1lIGZpbmlzaGVzIGxvYWRpbmcsCisvLyBmaXJlcyBiZWZvcmUg
bm90aWZ5RG9uZSgpIGlzIGNhbGxlZCwgZW5zdXJpbmcgdGhhdCBkaWRDYW5jZWxDbGllbnRSZWRp
cmVjdEZvckZyYW1lIGlzIGxvZ2dlZCBieSBEdW1wUmVuZGVyVHJlZS4KK3dpbmRvdy5zZXRUaW1l
b3V0KGZ1bmN0aW9uKCkgeworICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAg
ICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKKyAgICB9LCAwKTsKK30sIDApOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlk
LXVybC11c2luZy1tZXRhLXJlZnJlc2gtZGlzYWxsb3dlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJl
c2gtZGlzYWxsb3dlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjQ5MzZmZWFmOTY1NmJmYTli
MzgyNTMwMzUzMmVjZjc5ZmIwMGNiZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvbG9hZGVyL3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLW1ldGEtcmVmcmVzaC1kaXNh
bGxvd2VkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKK21haW4gZnJhbWUgLSBkaWRGaW5p
c2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50
c0ZvckZyYW1lCittYWluIGZyYW1lIC0gd2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdFRvVVJMOiBo
dHRwOi8vQT1hJkI9YiAKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK21haW4g
ZnJhbWUgLSBkaWRDYW5jZWxDbGllbnRSZWRpcmVjdEZvckZyYW1lCitUZXN0cyB0aGF0IHdlIGRv
IG5vdCByZWRpcmVjdCB0byBhbiBpbnZhbGlkIFVSTCBpbml0aWF0ZWQgYnkgPG1ldGEgaHR0cC1l
cXVpdj0icmVmcmVzaCI+LiBUaGlzIHRlc3QgUEFTU0VEIGlmIHlvdSBzZWUgYW4gZW50cnkgaW4g
dGhlIGR1bXBlZCBmcmFtZSBsb2FkIGNhbGxiYWNrcyBvZiB0aGUgZm9ybTogIndpbGxQZXJmb3Jt
Q2xpZW50UmVkaXJlY3RUb1VSTDogaHR0cDovL0E9YSZCPWIiIGZvbGxvd2VkIGJ5ICJkaWRDYW5j
ZWxDbGllbnRSZWRpcmVjdEZvckZyYW1lIi4KKworTm90ZSwgdGhpcyB0ZXN0IG11c3QgYmUgcnVu
IGluIER1bXBSZW5kZXJUcmVlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIv
cmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLWRpc2FsbG93ZWQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5n
LW1ldGEtcmVmcmVzaC1kaXNhbGxvd2VkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzBjZWU4M2U5M2E2M2Zj
ZDIxMzMzMzMzNzQyYTdkMWI0MzhkZmUxYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvbG9hZGVyL3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLW1ldGEtcmVmcmVzaC1k
aXNhbGxvd2VkLmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0icmVmcmVzaCIgY29udGVudD0iMDsgdXJsPWh0dHA6
Ly9BPWEmQj1iIj4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLmR1bXBGcmFtZUxvYWRDYWxsYmFj
a3MoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KKzwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cD5UZXN0cyB0aGF0IHdlIGRvIG5vdCByZWRpcmVjdCB0byBhbiBpbnZh
bGlkIFVSTCBpbml0aWF0ZWQgYnkgJmx0O21ldGEgaHR0cC1lcXVpdj0mcXVvdDtyZWZyZXNoJnF1
b3Q7Jmd0Oy4gVGhpcyB0ZXN0IFBBU1NFRCBpZiB5b3Ugc2VlIGFuIGVudHJ5IGluIHRoZSBkdW1w
ZWQgZnJhbWUgbG9hZCBjYWxsYmFja3Mgb2YgdGhlIGZvcm06ICZxdW90O3dpbGxQZXJmb3JtQ2xp
ZW50UmVkaXJlY3RUb1VSTDogaHR0cDovL0E9YSZhbXA7Qj1iJnF1b3Q7IGZvbGxvd2VkIGJ5ICZx
dW90O2RpZENhbmNlbENsaWVudFJlZGlyZWN0Rm9yRnJhbWUmcXVvdDsuPC9wPgorPHA+Tm90ZSwg
dGhpcyB0ZXN0IG11c3QgYmUgcnVuIGluIER1bXBSZW5kZXJUcmVlLjwvcD4KKzxzY3JpcHQ+Cisv
LyBUaGlzIHVnbHkgZG91YmxlLXRpbWVvdXQgZW5zdXJlcyB0aGF0IHRoZSBzY2hlZHVsZWQgbWV0
YS1yZWZyZXNoLCB3aG9zZSB0aW1lciBpc24ndCBldmVuIHN0YXJ0ZWQgdW50aWwgdGhlIGZyYW1l
IGZpbmlzaGVzIGxvYWRpbmcsCisvLyBmaXJlcyBiZWZvcmUgbm90aWZ5RG9uZSgpIGlzIGNhbGxl
ZCwgZW5zdXJpbmcgdGhhdCBkaWRDYW5jZWxDbGllbnRSZWRpcmVjdEZvckZyYW1lIGlzIGxvZ2dl
ZCBieSBEdW1wUmVuZGVyVHJlZS4KK3dpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAg
IHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9LCAwKTsK
K30sIDApOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2xvYWRlci9yZXNvdXJjZXMvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmct
amF2YXNjcmlwdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvcmVzb3VyY2VzL3JlZGly
ZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQuaHRtbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYzA3ZjIxZDkyOTM5MzQ4Zjc2YTc1ODdjMDNlMmI2NGE4MmQxOTVkYy4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2xvYWRlci9yZXNvdXJjZXMvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctamF2
YXNjcmlwdC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxzY3JpcHQ+Ci13aW5kb3cubG9jYXRpb24uaHJlZiA9ICJ4LWR1bW15Oi8vQT1hJkI9YiI7
Ci08L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3Jlc291cmNl
cy9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJlc2guaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvbG9hZGVyL3Jlc291cmNlcy9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2lu
Zy1tZXRhLXJlZnJlc2guaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTViNjVk
YWMyMzU3OGQ0NjI3ZGM3OTU0NTliY2I0Zjc0MzE0YjJkNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9yZXNvdXJj
ZXMvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LSAgICA8bWV0YSBodHRwLWVxdWl2PSJyZWZyZXNoIiBjb250ZW50PSIwOyB1cmw9eC1kdW1teTov
L0E9YSZCPWIiPgotPC9oZWFkPgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9sb2FkZXIvd2luZG93LW9wZW4tdG8taW52YWxpZC11cmwtY2FsbHMtcG9saWN5LWRlbGVnYXRl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3dpbmRvdy1vcGVuLXRvLWlu
dmFsaWQtdXJsLWNhbGxzLXBvbGljeS1kZWxlZ2F0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MGM4MjI3ODg1MjNkODRlN2IzYzAzNTcyZWI5OWZkNjVmZTcxMDM0OAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3dpbmRvdy1vcGVuLXRvLWludmFsaWQtdXJsLWNh
bGxzLXBvbGljeS1kZWxlZ2F0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitQb2xpY3kg
ZGVsZWdhdGU6IGF0dGVtcHQgdG8gbG9hZCBodHRwOi8vQT1hJkI9YiB3aXRoIG5hdmlnYXRpb24g
dHlwZSAnb3RoZXInCitUZXN0cyB0aGF0IHdlIGNhbGwgdGhlIG5hdmlnYXRpb24gcG9saWN5IGRl
bGVnYXRlIHdoZW4gb3BlbmluZyBhIG5ldyB3aW5kb3cgdG8gYW4gaW52YWxpZCBVUkwuCisKK05v
dGUsIHRoaXMgdGVzdCBtdXN0IGJlIHJ1biBpbiBEdW1wUmVuZGVyVHJlZS4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3dpbmRvdy1vcGVuLXRvLWludmFsaWQtdXJsLWNhbGxz
LXBvbGljeS1kZWxlZ2F0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvd2luZG93LW9w
ZW4tdG8taW52YWxpZC11cmwtY2FsbHMtcG9saWN5LWRlbGVnYXRlLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MjFlZTRhMGEzYjNjYjQ2M2M4MmU5ZmQyMmU5MDM1YzA2NjhmNzc4MAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3dpbmRvdy1vcGVuLXRvLWludmFsaWQtdXJsLWNh
bGxzLXBvbGljeS1kZWxlZ2F0ZS5odG1sCkBAIC0wLDAgKzEsMjQgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLnNldEN1c3RvbVBvbGlj
eURlbGVnYXRlKHRydWUsIGZhbHNlKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
KyAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHA+VGVzdHMgdGhhdCB3ZSBjYWxsIHRoZSBuYXZpZ2F0aW9uIHBvbGljeSBk
ZWxlZ2F0ZSB3aGVuIG9wZW5pbmcgYSBuZXcgd2luZG93IHRvIGFuIGludmFsaWQgVVJMLjwvcD4K
KzxwPk5vdGUsIHRoaXMgdGVzdCBtdXN0IGJlIHJ1biBpbiBEdW1wUmVuZGVyVHJlZS48L3A+Cis8
c2NyaXB0Pgord2luZG93Lm9wZW4oImh0dHA6Ly9BPWEmQj1iIiwgIl90b3AiKTsKK3dpbmRvdy5z
ZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9LCAwKTsKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvd2luZG93LW9wZW4t
dG8taW52YWxpZC11cmwtZGlzYWxsb3dlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2xvYWRlci93aW5kb3ctb3Blbi10by1pbnZhbGlkLXVybC1kaXNhbGxvd2VkLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44NWFiNGM3ZGVlYmE1YzhlMWUyNzJjMTFjMjBkMzlkZjMzYjkzYmYwCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvd2luZG93LW9wZW4tdG8t
aW52YWxpZC11cmwtZGlzYWxsb3dlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACittYWlu
IGZyYW1lIC0gd2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdFRvVVJMOiBodHRwOi8vQT1hJkI9YiAK
K21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAt
IGRpZEZpbmlzaExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENhbmNlbENsaWVudFJlZGly
ZWN0Rm9yRnJhbWUKK1Rlc3RzIHRoYXQgd2UgZG8gbm90IG9wZW4gYSBuZXcgd2luZG93IHRvIGFu
IGludmFsaWQgVVJMLiBUaGlzIHRlc3QgUEFTU0VEIGlmIHlvdSBzZWUgYW4gZW50cnkgaW4gdGhl
IGR1bXBlZCBmcmFtZSBsb2FkIGNhbGxiYWNrcyBvZiB0aGUgZm9ybTogIndpbGxQZXJmb3JtQ2xp
ZW50UmVkaXJlY3RUb1VSTDogaHR0cDovL0E9YSZCPWIiIGZvbGxvd2VkIGJ5ICJkaWRDYW5jZWxD
bGllbnRSZWRpcmVjdEZvckZyYW1lIi4KKworTm90ZSwgdGhpcyB0ZXN0IG11c3QgYmUgcnVuIGlu
IER1bXBSZW5kZXJUcmVlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvd2lu
ZG93LW9wZW4tdG8taW52YWxpZC11cmwtZGlzYWxsb3dlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9sb2FkZXIvd2luZG93LW9wZW4tdG8taW52YWxpZC11cmwtZGlzYWxsb3dlZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjEwNDI1OWVmYjRjZDVjODNlNWRiOTgwMzVkZmZlOWIyZDY5MjA3YTYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci93aW5kb3ctb3Blbi10by1pbnZhbGlk
LXVybC1kaXNhbGxvd2VkLmh0bWwKQEAgLTAsMCArMSwyNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIuZHVtcEZyYW1lTG9hZENhbGxi
YWNrcygpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIHRlc3RSdW5uZXIu
c2V0Q2FuT3BlbldpbmRvd3MoKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5U
ZXN0cyB0aGF0IHdlIGRvIG5vdCBvcGVuIGEgbmV3IHdpbmRvdyB0byBhbiBpbnZhbGlkIFVSTC4g
VGhpcyB0ZXN0IFBBU1NFRCBpZiB5b3Ugc2VlIGFuIGVudHJ5IGluIHRoZSBkdW1wZWQgZnJhbWUg
bG9hZCBjYWxsYmFja3Mgb2YgdGhlIGZvcm06ICZxdW90O3dpbGxQZXJmb3JtQ2xpZW50UmVkaXJl
Y3RUb1VSTDogaHR0cDovL0E9YSZhbXA7Qj1iJnF1b3Q7IGZvbGxvd2VkIGJ5ICZxdW90O2RpZENh
bmNlbENsaWVudFJlZGlyZWN0Rm9yRnJhbWUmcXVvdDsuPC9wPgorPHA+Tm90ZSwgdGhpcyB0ZXN0
IG11c3QgYmUgcnVuIGluIER1bXBSZW5kZXJUcmVlLjwvcD4KKzxzY3JpcHQ+Cit3aW5kb3cub3Bl
bigiaHR0cDovL0E9YSZCPWIiLCAiX3RvcCIpOword2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24o
KSB7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKK30sIDApOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236706</attachid>
            <date>2014-08-16 01:38:23 -0700</date>
            <delta_ts>2014-08-16 01:46:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136010-20140816013813.patch</filename>
            <type>text/plain</type>
            <size>34636</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyNjg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTAwZDAzNjViNGI0MmEx
OTljNjlkZWQzNGZiYjFmN2U0ZGZlOTJkZi4uZTE1ZDA1ZDRjZjgwMmUzZTJmNjcxZTJiODg3YWVh
M2NkMTRkOGM0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE0LTA4LTE1ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMTY3ODU2
KTogYWRvYmUuY29tIG5vIGxvbmdlciBhYmxlIHRvIGxhdW5jaCBDcmVhdGUgQ2xvdWQgYXBwIHVz
aW5nIGEgVVJMIHdpdGggYSBjdXN0b20gc2NoZW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzYwMTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICByMTY3ODU2IGNhdXNlZCBXZWJLaXQgdG8gc3RvcCBzY2hl
ZHVsaW5nIGNlcnRhaW4ga2luZHMgb2YgbmF2aWdhdGlvbnMgKHdpbmRvdy5sb2NhdGlvbiBjaGFu
Z2VzLCBtZXRhLXJlZnJlc2gsCisgICAgICAgIGFuZCBzb21lIGNhbGxzIHRvIHdpbmRvdy5vcGVu
KSB3aGVuIHRoZSByZXF1ZXN0IFVSTCBpcyBpbnZhbGlkLiBBZG9iZS5jb20gcGVyZm9ybXMgb25l
IG9mIHRoZXNlIG5hdmlnYXRpb25zIHRvCisgICAgICAgIGFuIGludmFsaWQgVVJMIHdpdGggYW4g
ZXh0ZXJuYWwgc2NoZW1lIChhYW06KSwgcmVseWluZyBvbiBTYWZhcmkncyBuYXZpZ2F0aW9uIHBv
bGljeSBkZWxlZ2F0ZSB0byBpZ25vcmUgdGhlCisgICAgICAgIG5hdmlnYXRpb24gYW5kIGxhdW5j
aCB0aGUgZXh0ZXJuYWwgYXBwIHJlZ2lzdGVyZWQgdG8gaGFuZGxlIGFhbTogVVJMcy4gU2luY2Ug
dGhlIG5hdmlnYXRpb24gaXMgbm8gbG9uZ2VyCisgICAgICAgIHNjaGVkdWxlZCwgdGhlIHBvbGlj
eSBkZWxlZ2F0ZSBpcyBuZXZlciBleGVjdXRlZCBhbmQgdGhlIGV4dGVybmFsIGFwcCBuZXZlciBs
YXVuY2hlcy4KKworICAgICAgICBJbnN0ZWFkIG9mIG5vdCBzY2hlZHVsaW5nIHRoZSBuYXZpZ2F0
aW9uLCBhbGxvdyBpdCB0byBwcm9jZWVkIHVudGlsIHRoZSBjbGllbnQncyBwb2xpY3kgZGVsZWdh
dGUgaGFzIGV4ZWN1dGVkCisgICAgICAgIGFuZCBtYWRlIGEgZGVjaXNpb24uIE9ubHkgZGlzYWxs
b3cgdGhlIG5hdmlnYXRpb24gaWYgdGhlIHBvbGljeSBkZWxlZ2F0ZSB0b2xkIFdlYktpdCB0byBw
cm9jZWVkIHdpdGggdGhlIGxvYWQuCisgICAgICAgIFRoaXMgZXhwb3NlcyB0aGVzZSBuYXZpZ2F0
aW9ucyB0byBjbGllbnRzIHZpYSB0aGUgcG9saWN5IGRlbGVnYXRlIGFuZCB2aWEgd2lsbFBlcmZv
cm1DbGllbnRSZWRpcmVjdFRvVVJMIGFuZAorICAgICAgICAoaWYgZGlzYWxsb3dlZCkgZGlkQ2Fu
Y2VsQ2xpZW50UmVkaXJlY3RGb3JGcmFtZSBvbiB0aGUgZnJhbWUgbG9hZCBkZWxlZ2F0ZS4KKwor
ICAgICAgICBOb3RlIHRoYXQgcjE2Nzg1NiBhbHNvIGNhdXNlZCBhbiBpT1MgcmVncmVzc2lvbiwg
YW5kIHRoaXMgd2FzIHJlc29sdmVkIGluIHIxNzAxMjAgYnkgYWRkaW5nIGEgbGlua2VkLW9uLW9y
LWFmdGVyCisgICAgICAgIGNoZWNrIGFuZCBhIFdlYkNvcmUgc2V0dGluZy4gU2luY2UgdGhlIGlP
UyByZWdyZXNzaW9uIGlzIGFsc28gcmVzb2x2ZWQgYnkgdGhlIGFwcHJvYWNoIGRlc2NyaWJlZCBh
Ym92ZSwgdGhpcworICAgICAgICBwYXRjaCByZXZlcnRzIHIxNzAxMjAgKGJ1dCBrZWVwcyBpdHMg
dGVzdHMpLgorCisgICAgICAgIFRlc3RzOiBmYXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlk
LXVybC11c2luZy1qYXZhc2NyaXB0LWNhbGxzLXBvbGljeS1kZWxlZ2F0ZS5odG1sCisgICAgICAg
ICAgICAgICBmYXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1qYXZhc2Ny
aXB0LWRpc2FsbG93ZWQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9sb2FkZXIvcmVkaXJlY3Qt
dG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLWNhbGxzLXBvbGljeS1kZWxlZ2F0ZS5o
dG1sCisgICAgICAgICAgICAgICBmYXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11
c2luZy1tZXRhLXJlZnJlc2gtZGlzYWxsb3dlZC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2xv
YWRlci93aW5kb3ctb3Blbi10by1pbnZhbGlkLXVybC1jYWxscy1wb2xpY3ktZGVsZWdhdGUuaHRt
bAorICAgICAgICAgICAgICAgZmFzdC9sb2FkZXIvd2luZG93LW9wZW4tdG8taW52YWxpZC11cmwt
ZGlzYWxsb3dlZC5odG1sCisKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmNvbnRpbnVlTG9hZEFmdGVyTmF2aWdhdGlvblBv
bGljeSk6IERvIG5vdCBjb250aW51ZSBpZiB0aGUgbmF2aWdhdGlvbiB3aWxsIGJlIGEgcmVkaXJl
Y3QKKyAgICAgICAgdG8gYW4gaW52YWxpZCBVUkwuCisgICAgICAgICogbG9hZGVyL05hdmlnYXRp
b25TY2hlZHVsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdGlvblNjaGVkdWxlcjo6
c2hvdWxkU2NoZWR1bGVOYXZpZ2F0aW9uKTogUmVzdW1lZCBzY2hlZHVsaW5nIG5hdmlnYXRpb25z
IHRvIGludmFsaWQgVVJMcy4KKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmluOiBSZW1vdmVkIHRo
ZSBhbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwgc2V0dGluZy4KKwogMjAxNC0wOC0xNSAgWmFs
YW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIERvIG5vdCB1c2UgRmxvYXRS
ZWN0OjppbmZpbml0ZVJlY3QoKSB0byBmbGFnIGZ1bGwgcmVwYWludHMuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
aW5kZXggOGMzOTIyOWU3M2NkNjU0MDAxYjVkNjBiOTY3NjVkZWUzMmNhYTAzMy4uYWQ3MzMwYWNi
YTYxNTI3N2Y0YzFkZjQ1ODBmZjU0OTVjM2JhY2Y1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE2IEBACisyMDE0LTA4LTE1ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKwor
ICAgICAgICBSRUdSRVNTSU9OIChyMTY3ODU2KTogYWRvYmUuY29tIG5vIGxvbmdlciBhYmxlIHRv
IGxhdW5jaCBDcmVhdGUgQ2xvdWQgYXBwIHVzaW5nIGEgVVJMIHdpdGggYSBjdXN0b20gc2NoZW1l
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzYwMTAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZXZlcnRl
ZCB0aGUgbGlua2VkLW9uLW9yLWFmdGVyIGNoZWNrIGFkZGVkIGluIHIxNzAxMjAgc2luY2UgaXQg
aXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeS4KKworICAgICAgICAqIE1pc2MvV2ViS2l0VmVyc2lvbkNo
ZWNrcy5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmll
dyBfcHJlZmVyZW5jZXNDaGFuZ2VkOl0pOgorCiAyMDE0LTA4LTE1ICBEYW5pZWwgQmF0ZXMgIDxk
YWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBUZWFjaCBwb3N0cHJvY2Vzcy1oZWFk
ZXJzLnNoIHRvIHJlbW92ZSBjb2RlIGd1YXJkZWQgYnkgRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5U
UwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggZTVjOGRhMjk3NDNhZTlj
YzI5YmJiZGRmNTk2YTY3NDc3ZGE1MDA4Yi4uMjI5ODk2YjMwMTU2NDA5YTZlYWQxMjIyZDlmZGYw
ODZmZjVmNWQ0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC0yODg5
LDcgKzI4ODksNyBAQCBib29sIEZyYW1lTG9hZGVyOjpoYW5kbGVCZWZvcmVVbmxvYWRFdmVudChD
aHJvbWUmIGNocm9tZSwgRnJhbWVMb2FkZXIqIGZyYW1lTG9hZAogICAgIHJldHVybiBjaHJvbWUu
cnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKHRleHQsICZtX2ZyYW1lKTsKIH0KIAotdm9pZCBG
cmFtZUxvYWRlcjo6Y29udGludWVMb2FkQWZ0ZXJOYXZpZ2F0aW9uUG9saWN5KGNvbnN0IFJlc291
cmNlUmVxdWVzdCYsIFBhc3NSZWZQdHI8Rm9ybVN0YXRlPiBmb3JtU3RhdGUsIGJvb2wgc2hvdWxk
Q29udGludWUpCit2b2lkIEZyYW1lTG9hZGVyOjpjb250aW51ZUxvYWRBZnRlck5hdmlnYXRpb25Q
b2xpY3koY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBQYXNzUmVmUHRyPEZvcm1TdGF0
ZT4gZm9ybVN0YXRlLCBib29sIHNob3VsZENvbnRpbnVlKQogewogICAgIC8vIElmIHdlIGxvYWRl
ZCBhbiBhbHRlcm5hdGUgcGFnZSB0byByZXBsYWNlIGFuIHVucmVhY2hhYmxlVVJMLCB3ZSdsbCBn
ZXQgaW4gaGVyZSB3aXRoIGEKICAgICAvLyBuaWwgcG9saWN5RGF0YVNvdXJjZSBiZWNhdXNlIGxv
YWRpbmcgdGhlIGFsdGVybmF0ZSBwYWdlIHdpbGwgaGF2ZSBwYXNzZWQKQEAgLTI4OTgsMTEgKzI4
OTgsMTQgQEAgdm9pZCBGcmFtZUxvYWRlcjo6Y29udGludWVMb2FkQWZ0ZXJOYXZpZ2F0aW9uUG9s
aWN5KGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFBhc3MKIAogICAgIGJvb2wgaXNUYXJnZXRJdGVt
ID0gaGlzdG9yeSgpLnByb3Zpc2lvbmFsSXRlbSgpID8gaGlzdG9yeSgpLnByb3Zpc2lvbmFsSXRl
bSgpLT5pc1RhcmdldEl0ZW0oKSA6IGZhbHNlOwogCi0gICAgLy8gVHdvIHJlYXNvbnMgd2UgY2Fu
J3QgY29udGludWU6CisgICAgYm9vbCB3aWxsUmVkaXJlY3RUb0ludmFsaWRVUkwgPSBtX3F1aWNr
UmVkaXJlY3RDb21pbmcgJiYgIXJlcXVlc3QudXJsKCkuaXNWYWxpZCgpOworCisgICAgLy8gVGhy
ZWUgcmVhc29ucyB3ZSBjYW4ndCBjb250aW51ZToKICAgICAvLyAgICAxKSBOYXZpZ2F0aW9uIHBv
bGljeSBkZWxlZ2F0ZSBzYWlkIHdlIGNhbid0IHNvIHJlcXVlc3QgaXMgbmlsLiBBIHByaW1hcnkg
Y2FzZSBvZiB0aGlzIAogICAgIC8vICAgICAgIGlzIHRoZSB1c2VyIHJlc3BvbmRpbmcgQ2FuY2Vs
IHRvIHRoZSBmb3JtIHJlcG9zdCBuYWcgc2hlZXQuCiAgICAgLy8gICAgMikgVXNlciByZXNwb25k
ZWQgQ2FuY2VsIHRvIGFuIGFsZXJ0IHBvcHBlZCB1cCBieSB0aGUgYmVmb3JlIHVubG9hZCBldmVu
dCBoYW5kbGVyLgotICAgIGJvb2wgY2FuQ29udGludWUgPSBzaG91bGRDb250aW51ZSAmJiBzaG91
bGRDbG9zZSgpOworICAgIC8vICAgIDMpIEEgcmVkaXJlY3Qgd2lsbCBvY2N1ciB0byBhbiBpbnZh
bGlkIFVSTC4KKyAgICBib29sIGNhbkNvbnRpbnVlID0gc2hvdWxkQ29udGludWUgJiYgc2hvdWxk
Q2xvc2UoKSAmJiAhd2lsbFJlZGlyZWN0VG9JbnZhbGlkVVJMOwogCiAgICAgaWYgKCFjYW5Db250
aW51ZSkgewogICAgICAgICAvLyBJZiB3ZSB3ZXJlIHdhaXRpbmcgZm9yIGEgcXVpY2sgcmVkaXJl
Y3QsIGJ1dCB0aGUgcG9saWN5IGRlbGVnYXRlIGRlY2lkZWQgdG8gaWdub3JlIGl0LCB0aGVuIHdl
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3BwCmluZGV4
IGY1ZWYyZDNhNmYzYWM0YTY5ZjQxNGNjZmYwZmQ2NTcyNjRhMGI4OGEuLjUwZWIyMjRkYjBjN2Ez
MmEyODI4NTk2ZmQ4ZWE4ZmVjMWJlYzliOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
TmF2aWdhdGlvblNjaGVkdWxlci5jcHAKQEAgLTMxMSw4ICszMTEsNiBAQCBpbmxpbmUgYm9vbCBO
YXZpZ2F0aW9uU2NoZWR1bGVyOjpzaG91bGRTY2hlZHVsZU5hdmlnYXRpb24oY29uc3QgVVJMJiB1
cmwpIGNvbnN0CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAocHJvdG9jb2xJc0phdmFT
Y3JpcHQodXJsKSkKICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgaWYgKCF1cmwuaXNWYWxpZCgp
ICYmICFtX2ZyYW1lLnNldHRpbmdzKCkuYWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMKCkpCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1cm4gTmF2aWdhdGlvbkRpc2FibGVyRm9yQmVm
b3JlVW5sb2FkOjppc05hdmlnYXRpb25BbGxvd2VkKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmluCmluZGV4IDZkNzk2ZTUxYjNiYzAwZThkZjMwMWFjMmU5NTk3YzAyZjUwNjI2MDQuLjRmNTE2
ZmZiNTMzMTJkNjI0MDI4NWQ1YWQ3YTRkMWYxMDEzYWRiN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy5pbgpAQCAtMjI2LDEwICsyMjYsNiBAQCB0ZW1wb3JhcnlUaWxlQ29ob3J0UmV0ZW50aW9uRW5h
YmxlZCBpbml0aWFsPXRydWUKIAogdXNlSW1hZ2VEb2N1bWVudEZvclN1YmZyYW1lUERGIGluaXRp
YWw9ZmFsc2UKIAotIyBBbGxvdyBjbGllbnRzIHRvIHBlcm1pdCBuYXZpZ2F0aW9uIHRvIGFuIGlu
dmFsaWQgVVJMLiBTb21lIGFwcHMgbWF5IHVzZSBpbnZhbGlkIFVSTHMKLSMgYXMgYSBtZWFucyB0
byBwYXNzIGRhdGEgZnJvbSB0aGUgd2ViLXBvcnRpb24gb2YgdGhlaXIgYXBwIHRvIHRoZSBuYXRp
dmUgcG9ydGlvbi4KLWFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCBpbml0aWFsPWZhbHNlCi0K
ICMgQWxsb3cgU291cmNlQnVmZmVycyB0byBzdG9yZSB1cCB0byAzMDRNQiBlYWNoLCBlbm91Z2gg
Zm9yIGFwcHJveGltYXRlbHkgZml2ZSBtaW51dGVzCiAjIG9mIDEwODBwIHZpZGVvIGFuZCBzdGVy
ZW8gYXVkaW8uCiBtYXhpbXVtU291cmNlQnVmZmVyU2l6ZSB0eXBlPWludCwgaW5pdGlhbD0zMTg3
NjcxMDQsIGNvbmRpdGlvbmFsPU1FRElBX1NPVVJDRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvTWlzYy9XZWJLaXRWZXJzaW9uQ2hlY2tzLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9NaXNj
L1dlYktpdFZlcnNpb25DaGVja3MuaAppbmRleCA0MzZjNTg0MGE1OTg5M2QwZWUyYzBhYWM1OGYy
NjY2ZDU2YzVmN2VkLi4xMzk0ZGM2MmZkZWFkNTE0YzU0ZDhiZjFhMTg5N2M0ZTBlYWE2NWM4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdFZlcnNpb25DaGVja3MuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdFZlcnNpb25DaGVja3MuaApAQCAtNzEs
NyArNzEsNiBAQAogI2RlZmluZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX0NTU19BVFRSSUJV
VEVfU0VUVEVSU19JR05PUklOR19QUklPUklUWSAyMjM5IC8vIGlPUyA2LjAKICNkZWZpbmUgV0VC
S0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9ZT1VUVUJFX0VNQkVEX0lGUkFNRV9UUkFOU0ZPUk0gMjIz
OSAvLyBpT1MgNi4wCiAjZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhPVVRfTEVHQUNZ
X0JBQ0tHUk9VTkRTSVpFX1NIT1JUSEFORF9CRUhBVklPUiAyNjY1IC8vIGlPUyA3LjAKLSNkZWZp
bmUgV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9OQVZJR0FUSU9OX1VSTF9WQUxJREFUSU9OIDMx
ODUgLy8gaU9TIDguMAogI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKIAogI2lmZGVmIF9fY3BsdXNw
bHVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggN2Y2ZmZmYTlmNzU4OTNj
YjRjZGViODIxMzJkMTQ5ZWVhY2FmNTQ3Mi4uNDk1NzQ4MjIzYzU4MGVjNzcwMTMxZmI3ZjlkNDQz
YTlhNjNkMTIwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMjMyNyw4
ICsyMzI3LDYgQEAgLSAodm9pZClfcHJlZmVyZW5jZXNDaGFuZ2VkOihXZWJQcmVmZXJlbmNlcyAq
KXByZWZlcmVuY2VzCiAjaWYgRU5BQkxFKElPU19URVhUX0FVVE9TSVpJTkcpCiAgICAgc2V0dGlu
Z3Muc2V0TWluaW11bVpvb21Gb250U2l6ZShbcHJlZmVyZW5jZXMgX21pbmltdW1ab29tRm9udFNp
emVdKTsKICNlbmRpZgotCi0gICAgc2V0dGluZ3Muc2V0QWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlk
VVJMKCFXZWJLaXRMaW5rZWRPbk9yQWZ0ZXIoV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9OQVZJ
R0FUSU9OX1VSTF9WQUxJREFUSU9OKSk7CiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TKQogCiAjaWYg
UExBVEZPUk0oTUFDKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNlYTZlZDJjYTAwY2RiZmEwNWQwN2QxMGYxMWE2OGY5NDM3
ZDgzOGMuLjkzNzY3OTkyYjcyNWZmMTM2MjBiNTFiMzcyMTk1Y2YzYzY5NTQ1YzIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwzMyBAQAorMjAxNC0wOC0xNSAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+
CisKKyAgICAgICAgUkVHUkVTU0lPTiAocjE2Nzg1Nik6IGFkb2JlLmNvbSBubyBsb25nZXIgYWJs
ZSB0byBsYXVuY2ggQ3JlYXRlIENsb3VkIGFwcCB1c2luZyBhIFVSTCB3aXRoIGEgY3VzdG9tIHNj
aGVtZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2
MDEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVt
b3ZlZCB0ZXN0cyB0aGF0IHZlcmlmaWVkIHRoZSBiZWhhdmlvciBvZiBzZXRBbGxvd05hdmlnYXRp
b25Ub0ludmFsaWRVUkwoKSwgd2hpY2ggbm8gbG9uZ2VyIGV4aXN0czoKKyAgICAgICAgKiBmYXN0
L2xvYWRlci9hbGxvdy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0LWV4
cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2xvYWRlci9hbGxvdy1yZWRpcmVj
dC10by1pbnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0Lmh0bWw6IFJlbW92ZWQuCisgICAgICAg
ICogZmFzdC9sb2FkZXIvYWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1y
ZWZyZXNoLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2xvYWRlci9hbGxv
dy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJlc2guaHRtbDogUmVtb3Zl
ZC4KKworICAgICAgICBBZGRlZCB0ZXN0cyB0aGF0IHZlcmlmeSB0aGUgcG9saWN5IGRlbGVnYXRl
IGlzIGV4ZWN1dGVkIG9uIHNvbWUgbmF2aWdhdGlvbnMgdG8gaW52YWxpZCBVUkxzOgorICAgICAg
ICAqIGZhc3QvbG9hZGVyL3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQt
Y2FsbHMtcG9saWN5LWRlbGVnYXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlwdC1jYWxscy1w
b2xpY3ktZGVsZWdhdGUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9sb2FkZXIvcmVkaXJl
Y3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLWNhbGxzLXBvbGljeS1kZWxlZ2F0
ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbG9hZGVyL3JlZGlyZWN0LXRv
LWludmFsaWQtdXJsLXVzaW5nLW1ldGEtcmVmcmVzaC1jYWxscy1wb2xpY3ktZGVsZWdhdGUuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9sb2FkZXIvd2luZG93LW9wZW4tdG8taW52YWxpZC11
cmwtY2FsbHMtcG9saWN5LWRlbGVnYXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9sb2FkZXIvd2luZG93LW9wZW4tdG8taW52YWxpZC11cmwtY2FsbHMtcG9saWN5LWRlbGVn
YXRlLmh0bWw6IEFkZGVkLgorCisgICAgICAgIFJlbmFtZWQgZXhpc3RpbmcgdGVzdHMgYWRkZWQg
aW4gcjE3MDEyMCwgbW9kaWZpZWQgdGhlbSB0byBsb2cgd2lsbFBlcmZvcm1DbGllbnRSZWRpcmVj
dFRvVVJMIGFuZAorICAgICAgICBkaWRDYW5jZWxDbGllbnRSZWRpcmVjdEZvckZyYW1lLCBhbmQg
YWRkZWQgYSB0ZXN0IHRvIHZlcmlmeSBuYXZpZ2F0aW9ucyBpbiBleGlzdGluZyBmcmFtZXMgdmlh
IHdpbmRvdy5vcGVuOgorICAgICAgICAqIGZhc3QvbG9hZGVyL3JlZGlyZWN0LXRvLWludmFsaWQt
dXJsLXVzaW5nLWphdmFzY3JpcHQtZGlzYWxsb3dlZC1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJv
bSBmYXN0L2xvYWRlci9kaXNhbGxvdy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1qYXZh
c2NyaXB0LWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBmYXN0L2xvYWRlci9yZWRpcmVjdC10by1p
bnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0LWRpc2FsbG93ZWQuaHRtbDogUmVuYW1lZCBmcm9t
IGZhc3QvbG9hZGVyL2Rpc2FsbG93LXJlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFz
Y3JpcHQuaHRtbC4KKyAgICAgICAgKiBmYXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVy
bC11c2luZy1tZXRhLXJlZnJlc2gtZGlzYWxsb3dlZC1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJv
bSBmYXN0L2xvYWRlci9kaXNhbGxvdy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1tZXRh
LXJlZnJlc2gtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGZhc3QvbG9hZGVyL3JlZGlyZWN0LXRv
LWludmFsaWQtdXJsLXVzaW5nLW1ldGEtcmVmcmVzaC1kaXNhbGxvd2VkLmh0bWw6IFJlbmFtZWQg
ZnJvbSBmYXN0L2xvYWRlci9kaXNhbGxvdy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1t
ZXRhLXJlZnJlc2guaHRtbC4KKyAgICAgICAgKiBmYXN0L2xvYWRlci93aW5kb3ctb3Blbi10by1p
bnZhbGlkLXVybC1kaXNhbGxvd2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9sb2FkZXIvd2luZG93LW9wZW4tdG8taW52YWxpZC11cmwtZGlzYWxsb3dlZC5odG1sOiBBZGRl
ZC4KKwogMjAxNC0wOC0xNSAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFJFR1JFU1NJT046IFBhcnRzIG9mIHRoZSByb3V0ZS9yb3V0ZSBvcHRpb25zIHdpbmRvd3Mg
YXJlIGludmlzaWJsZSBhdCBtYXBzLmdvb2dsZS5jb20KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvbG9hZGVyL2FsbG93LXJlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3Jp
cHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvYWxsb3ctcmVkaXJlY3Qt
dG8taW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlwdC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDMxZjE5NDJjZTFiODY3Nzk0NGRlZjcyNjA4NTVkOGJjZjQ1M2Zj
ZGEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9sb2FkZXIvYWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctamF2
YXNjcmlwdC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi1mcmFt
ZSAiZnJhbWUiIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQotbWFpbiBmcmFtZSAt
IGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lCi1mcmFtZSAiZnJhbWUiIC0gZGlkQ29tbWl0
TG9hZEZvckZyYW1lCi1mcmFtZSAiZnJhbWUiIC0gd2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdFRv
VVJMOiB4LWR1bW15Oi8vQT1hJkI9YiAKLWZyYW1lICJmcmFtZSIgLSBkaWRGaW5pc2hEb2N1bWVu
dExvYWRGb3JGcmFtZQotbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1l
Ci1mcmFtZSAiZnJhbWUiIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCi1tYWluIGZyYW1lIC0gZGlk
RmluaXNoTG9hZEZvckZyYW1lCi1UZXN0cyB0aGF0IHdlIGFsbG93IHJlZGlyZWN0aW9uIHRvIGFu
IGludmFsaWQgVVJMIGluaXRpYXRlZCBieSBKYXZhU2NyaXB0IHdoZW4gc2V0dGluZyBhbGxvd05h
dmlnYXRpb25Ub0ludmFsaWRVUkwgaXMgdHJ1ZS4gVGhpcyB0ZXN0IFBBU1NFRCBpZiB5b3Ugc2Vl
IGFuIGVudHJ5IGluIHRoZSBkdW1wZWQgZnJhbWUgbG9hZCBjYWxsYmFja3Mgb2YgdGhlIGZvcm06
ICJ3aWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9VUkw6IHgtZHVtbXk6Ly9BPWEmQj1iIi4KLQot
Tm90ZSwgdGhpcyB0ZXN0IG11c3QgYmUgcnVuIGluIER1bXBSZW5kZXJUcmVlLgotCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2FsbG93LXJlZGlyZWN0LXRvLWludmFsaWQt
dXJsLXVzaW5nLWphdmFzY3JpcHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2FsbG93
LXJlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNWQ1ZTA0YjE4YzVlZmM3MmIwOWEwM2QzMDM4NjkzOTIwMDI1
MjZiMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2xvYWRlci9hbGxvdy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1q
YXZhc2NyaXB0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7
Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci5kdW1wRnJhbWVM
b2FkQ2FsbGJhY2tzKCk7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci19Ci0KLWlm
ICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxs
b3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMKHRydWUpOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eT4KLTxwPlRlc3RzIHRoYXQgd2UgYWxsb3cgcmVkaXJlY3Rpb24gdG8gYW4gaW52YWxpZCBVUkwg
aW5pdGlhdGVkIGJ5IEphdmFTY3JpcHQgd2hlbiBzZXR0aW5nIGFsbG93TmF2aWdhdGlvblRvSW52
YWxpZFVSTCBpcyB0cnVlLiBUaGlzIHRlc3QgUEFTU0VEIGlmIHlvdSBzZWUgYW4gZW50cnkgaW4g
dGhlIGR1bXBlZCBmcmFtZSBsb2FkIGNhbGxiYWNrcyBvZiB0aGUgZm9ybTogJnF1b3Q7d2lsbFBl
cmZvcm1DbGllbnRSZWRpcmVjdFRvVVJMOiB4LWR1bW15Oi8vQT1hJmFtcDtCPWImcXVvdDsuPC9w
PgotPHA+Tm90ZSwgdGhpcyB0ZXN0IG11c3QgYmUgcnVuIGluIER1bXBSZW5kZXJUcmVlLjwvcD4K
LTxpZnJhbWUgaWQ9ImZyYW1lIiBzcmM9InJlc291cmNlcy9yZWRpcmVjdC10by1pbnZhbGlkLXVy
bC11c2luZy1qYXZhc2NyaXB0Lmh0bWwiPjwvaWZyYW1lPgotPHNjcmlwdD4KLWZ1bmN0aW9uIGRv
bmUoKQotewotICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7Ci19Ci0KLXdpbmRvdy5zZXRUaW1lb3V0KGRvbmUsIDApOwotPC9zY3JpcHQ+
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9h
bGxvdy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJlc2gtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvYWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11
cmwtdXNpbmctbWV0YS1yZWZyZXNoLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYjVmZjg1MGJjOGQ2ZjI1YmIxZGZhZGYzOWM4N2U1MmZkNDlmNTY3MS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2xvYWRlci9hbGxvdy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJlc2gt
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAotZnJhbWUgImZyYW1l
IiAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKLW1haW4gZnJhbWUgLSBkaWRGaW5p
c2hEb2N1bWVudExvYWRGb3JGcmFtZQotZnJhbWUgImZyYW1lIiAtIGRpZENvbW1pdExvYWRGb3JG
cmFtZQotZnJhbWUgImZyYW1lIiAtIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lCi1mcmFt
ZSAiZnJhbWUiIC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUKLW1haW4gZnJhbWUgLSBk
aWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQotZnJhbWUgImZyYW1lIiAtIHdpbGxQZXJmb3Jt
Q2xpZW50UmVkaXJlY3RUb1VSTDogeC1kdW1teTovL0E9YSZCPWIgCi1mcmFtZSAiZnJhbWUiIC0g
ZGlkRmluaXNoTG9hZEZvckZyYW1lCi1tYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZyYW1l
Ci1UZXN0cyB0aGF0IHdlIGFsbG93IHJlZGlyZWN0aW9uIHRvIGFuIGludmFsaWQgVVJMIGluaXRp
YXRlZCBieSA8bWV0YSBodHRwLWVxdWl2PSJyZWZyZXNoIj4gd2hlbiBzZXR0aW5nIGFsbG93TmF2
aWdhdGlvblRvSW52YWxpZFVSTCBpcyB0cnVlLiBUaGlzIHRlc3QgUEFTU0VEIGlmIHlvdSBzZWUg
YW4gZW50cnkgaW4gdGhlIGR1bXBlZCBmcmFtZSBsb2FkIGNhbGxiYWNrcyBvZiB0aGUgZm9ybTog
IndpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTDogeC1kdW1teTovL0E9YSZCPWIiLgotCi1O
b3RlLCB0aGlzIHRlc3QgbXVzdCBiZSBydW4gaW4gRHVtcFJlbmRlclRyZWUuCi0KLQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvYWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11
cmwtdXNpbmctbWV0YS1yZWZyZXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9hbGxv
dy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJlc2guaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGY4OGE5ZGQ1ODViMDYxZTI5ZmM1NjYxN2I0MjJmYmUx
MGU4MWJkOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2xvYWRlci9hbGxvdy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2lu
Zy1tZXRhLXJlZnJlc2guaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5u
ZXIpIHsKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLSAgICB0ZXN0UnVubmVyLmR1bXBG
cmFtZUxvYWRDYWxsYmFja3MoKTsKLSAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKLX0K
LQotaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5z
ZXRBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwodHJ1ZSk7Ci08L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5PgotPHA+VGVzdHMgdGhhdCB3ZSBhbGxvdyByZWRpcmVjdGlvbiB0byBhbiBpbnZhbGlk
IFVSTCBpbml0aWF0ZWQgYnkgJmx0O21ldGEgaHR0cC1lcXVpdj0mcXVvdDtyZWZyZXNoJnF1b3Q7
Jmd0OyB3aGVuIHNldHRpbmcgYWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMIGlzIHRydWUuIFRo
aXMgdGVzdCBQQVNTRUQgaWYgeW91IHNlZSBhbiBlbnRyeSBpbiB0aGUgZHVtcGVkIGZyYW1lIGxv
YWQgY2FsbGJhY2tzIG9mIHRoZSBmb3JtOiAmcXVvdDt3aWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0
VG9VUkw6IHgtZHVtbXk6Ly9BPWEmYW1wO0I9YiZxdW90Oy48L3A+Ci08cD5Ob3RlLCB0aGlzIHRl
c3QgbXVzdCBiZSBydW4gaW4gRHVtcFJlbmRlclRyZWUuPC9wPgotPGlmcmFtZSBpZD0iZnJhbWUi
IHNyYz0icmVzb3VyY2VzL3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLW1ldGEtcmVmcmVz
aC5odG1sIj48L2lmcmFtZT4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBkb25lKCkKLXsKLSAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfQot
Ci13aW5kb3cuc2V0VGltZW91dChkb25lLCAwKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvZGlzYWxsb3ctcmVkaXJlY3Qt
dG8taW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlwdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2xvYWRlci9kaXNhbGxvdy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1qYXZh
c2NyaXB0LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGJhOWYy
MmRjMmRiYjZlN2Y1OTRkYWM5NjAxMmM0ODYyNDkyZTU2Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9kaXNhbGxv
dy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0LWV4cGVjdGVkLnR4dAor
KysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLWZyYW1lICJmcmFtZSIgLSBkaWRTdGFydFBy
b3Zpc2lvbmFsTG9hZEZvckZyYW1lCi1tYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2Fk
Rm9yRnJhbWUKLWZyYW1lICJmcmFtZSIgLSBkaWRDb21taXRMb2FkRm9yRnJhbWUKLWZyYW1lICJm
cmFtZSIgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQotZnJhbWUgImZyYW1lIiAtIGRp
ZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCi1tYWluIGZyYW1lIC0gZGlkSGFuZGxlT25sb2Fk
RXZlbnRzRm9yRnJhbWUKLWZyYW1lICJmcmFtZSIgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKLW1h
aW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKLVRlc3RzIHRoYXQgd2UgZG8gbm90IHJl
ZGlyZWN0IHRvIGFuIGludmFsaWQgVVJMIGluaXRpYXRlZCBieSBKYXZhU2NyaXB0IHdoZW4gc2V0
dGluZyBhbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwgaXMgZmFsc2UuIFRoaXMgdGVzdCBQQVNT
RUQgaWYgeW91IGRvIG5vdCBzZWUgYW4gZW50cnkgaW4gdGhlIGR1bXBlZCBmcmFtZSBsb2FkIGNh
bGxiYWNrcyBvZiB0aGUgZm9ybTogIndpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTDogeC1k
dW1teTovL0E9YSZCPWIiLgotCi1Ob3RlLCB0aGlzIHRlc3QgbXVzdCBiZSBydW4gaW4gRHVtcFJl
bmRlclRyZWUuCi0KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvZGlzYWxs
b3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlwdC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9sb2FkZXIvZGlzYWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmct
amF2YXNjcmlwdC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZWY0MDU2YjYx
MzMzZTlmY2MzMmM4NTAyOTY4ZTdlNzQyN2M4OTBkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2Rpc2FsbG93LXJl
ZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDI5ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxzY3Jp
cHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKLSAgICB0ZXN0UnVubmVyLmR1bXBGcmFtZUxvYWRDYWxsYmFja3MoKTsKLSAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKLX0KLQotaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgd2lu
ZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwoZmFs
c2UpOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlRlc3RzIHRoYXQgd2UgZG8gbm90
IHJlZGlyZWN0IHRvIGFuIGludmFsaWQgVVJMIGluaXRpYXRlZCBieSBKYXZhU2NyaXB0IHdoZW4g
c2V0dGluZyBhbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwgaXMgZmFsc2UuIFRoaXMgdGVzdCBQ
QVNTRUQgaWYgeW91IGRvIG5vdCBzZWUgYW4gZW50cnkgaW4gdGhlIGR1bXBlZCBmcmFtZSBsb2Fk
IGNhbGxiYWNrcyBvZiB0aGUgZm9ybTogJnF1b3Q7d2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdFRv
VVJMOiB4LWR1bW15Oi8vQT1hJmFtcDtCPWImcXVvdDsuPC9wPgotPHA+Tm90ZSwgdGhpcyB0ZXN0
IG11c3QgYmUgcnVuIGluIER1bXBSZW5kZXJUcmVlLjwvcD4KLTxpZnJhbWUgaWQ9ImZyYW1lIiBz
cmM9InJlc291cmNlcy9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0Lmh0
bWwiPjwvaWZyYW1lPgotPHNjcmlwdD4KLWZ1bmN0aW9uIGRvbmUoKQotewotICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19Ci0KLXdp
bmRvdy5zZXRUaW1lb3V0KGRvbmUsIDApOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9kaXNhbGxvdy1yZWRpcmVjdC10by1p
bnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJlc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9sb2FkZXIvZGlzYWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1y
ZWZyZXNoLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWE0OTAx
ZTc2ODZkZGRjMjQ4YmFiZjE5YWU3ZTBkZmI3NGZkOWY1NS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9kaXNhbGxv
dy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJlc2gtZXhwZWN0ZWQudHh0
CisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotZnJhbWUgImZyYW1lIiAtIGRpZFN0YXJ0
UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKLW1haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExv
YWRGb3JGcmFtZQotZnJhbWUgImZyYW1lIiAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQotZnJhbWUg
ImZyYW1lIiAtIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lCi1mcmFtZSAiZnJhbWUiIC0g
ZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUKLW1haW4gZnJhbWUgLSBkaWRIYW5kbGVPbmxv
YWRFdmVudHNGb3JGcmFtZQotZnJhbWUgImZyYW1lIiAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQot
bWFpbiBmcmFtZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQotVGVzdHMgdGhhdCB3ZSBkbyBub3Qg
cmVkaXJlY3QgdG8gYW4gaW52YWxpZCBVUkwgaW5pdGlhdGVkIGJ5IDxtZXRhIGh0dHAtZXF1aXY9
InJlZnJlc2giPiB3aGVuIHNldHRpbmcgYWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMIGlzIGZh
bHNlLiBUaGlzIHRlc3QgUEFTU0VEIGlmIHlvdSBkbyBub3Qgc2VlIGFuIGVudHJ5IGluIHRoZSBk
dW1wZWQgZnJhbWUgbG9hZCBjYWxsYmFja3Mgb2YgdGhlIGZvcm06ICJ3aWxsUGVyZm9ybUNsaWVu
dFJlZGlyZWN0VG9VUkw6IHgtZHVtbXk6Ly9BPWEmQj1iIi4KLQotTm90ZSwgdGhpcyB0ZXN0IG11
c3QgYmUgcnVuIGluIER1bXBSZW5kZXJUcmVlLgotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvbG9hZGVyL2Rpc2FsbG93LXJlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLW1ldGEt
cmVmcmVzaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvZGlzYWxsb3ctcmVkaXJlY3Qt
dG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDEwOGI0YTU4ZDc1MGI4ZjdhNzRjZDdkZWRhZjgwZjRmZWY1OWQyNTIuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9sb2FkZXIvZGlzYWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1y
ZWZyZXNoLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0g
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci5kdW1wRnJhbWVMb2Fk
Q2FsbGJhY2tzKCk7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci19Ci0KLWlmICh3
aW5kb3cuaW50ZXJuYWxzKQotICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxsb3dO
YXZpZ2F0aW9uVG9JbnZhbGlkVVJMKGZhbHNlKTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+
Ci08cD5UZXN0cyB0aGF0IHdlIGRvIG5vdCByZWRpcmVjdCB0byBhbiBpbnZhbGlkIFVSTCBpbml0
aWF0ZWQgYnkgJmx0O21ldGEgaHR0cC1lcXVpdj0mcXVvdDtyZWZyZXNoJnF1b3Q7Jmd0OyB3aGVu
IHNldHRpbmcgYWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMIGlzIGZhbHNlLiBUaGlzIHRlc3Qg
UEFTU0VEIGlmIHlvdSBkbyBub3Qgc2VlIGFuIGVudHJ5IGluIHRoZSBkdW1wZWQgZnJhbWUgbG9h
ZCBjYWxsYmFja3Mgb2YgdGhlIGZvcm06ICZxdW90O3dpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RU
b1VSTDogeC1kdW1teTovL0E9YSZhbXA7Qj1iJnF1b3Q7LjwvcD4KLTxwPk5vdGUsIHRoaXMgdGVz
dCBtdXN0IGJlIHJ1biBpbiBEdW1wUmVuZGVyVHJlZS48L3A+Ci08aWZyYW1lIGlkPSJmcmFtZSIg
c3JjPSJyZXNvdXJjZXMvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNo
Lmh0bWwiPjwvaWZyYW1lPgotPHNjcmlwdD4KLWZ1bmN0aW9uIGRvbmUoKQotewotICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKLSAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Ci19Ci0K
LXdpbmRvdy5zZXRUaW1lb3V0KGRvbmUsIDApOwotPC9zY3JpcHQ+Ci08L2JvZHk+Ci08L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlk
LXVybC11c2luZy1qYXZhc2NyaXB0LWNhbGxzLXBvbGljeS1kZWxlZ2F0ZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1q
YXZhc2NyaXB0LWNhbGxzLXBvbGljeS1kZWxlZ2F0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDliZDFlNTYxNmVmMGQ4MTIzYzhhMzIzYzBhYTI2ZGZiNjg4NDUzOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5n
LWphdmFzY3JpcHQtY2FsbHMtcG9saWN5LWRlbGVnYXRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDQgQEAKK1BvbGljeSBkZWxlZ2F0ZTogYXR0ZW1wdCB0byBsb2FkIGh0dHA6Ly9BPWEmQj1iIHdp
dGggbmF2aWdhdGlvbiB0eXBlICdvdGhlcicKK1Rlc3RzIHRoYXQgd2UgZG8gbm90IHJlZGlyZWN0
IHRvIGFuIGludmFsaWQgVVJMIGluaXRpYXRlZCBieSBKYXZhU2NyaXB0LiBUaGlzIHRlc3QgUEFT
U0VEIGlmIHlvdSBzZWUgYW4gZW50cnkgaW4gdGhlIGR1bXBlZCBmcmFtZSBsb2FkIGNhbGxiYWNr
cyBvZiB0aGUgZm9ybTogIndpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTDogaHR0cDovL0E9
YSZCPWIiIGZvbGxvd2VkIGJ5ICJkaWRDYW5jZWxDbGllbnRSZWRpcmVjdEZvckZyYW1lIi4KKwor
Tm90ZSwgdGhpcyB0ZXN0IG11c3QgYmUgcnVuIGluIER1bXBSZW5kZXJUcmVlLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmct
amF2YXNjcmlwdC1jYWxscy1wb2xpY3ktZGVsZWdhdGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
bG9hZGVyL3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQtY2FsbHMtcG9s
aWN5LWRlbGVnYXRlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTljOTdmNzFhYzNjZjIyNjJkYjZjZDQzZTVj
YjM5ODdiYmJiODBkMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVy
L3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQtY2FsbHMtcG9saWN5LWRl
bGVnYXRlLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIuc2V0Q3VzdG9tUG9saWN5RGVsZWdhdGUodHJ1
ZSwgZmFsc2UpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworfQorPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRlc3RzIHRoYXQgd2UgZG8gbm90IHJlZGlyZWN0IHRvIGFu
IGludmFsaWQgVVJMIGluaXRpYXRlZCBieSBKYXZhU2NyaXB0LiBUaGlzIHRlc3QgUEFTU0VEIGlm
IHlvdSBzZWUgYW4gZW50cnkgaW4gdGhlIGR1bXBlZCBmcmFtZSBsb2FkIGNhbGxiYWNrcyBvZiB0
aGUgZm9ybTogJnF1b3Q7d2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdFRvVVJMOiBodHRwOi8vQT1h
JmFtcDtCPWImcXVvdDsgZm9sbG93ZWQgYnkgJnF1b3Q7ZGlkQ2FuY2VsQ2xpZW50UmVkaXJlY3RG
b3JGcmFtZSZxdW90Oy48L3A+Cis8cD5Ob3RlLCB0aGlzIHRlc3QgbXVzdCBiZSBydW4gaW4gRHVt
cFJlbmRlclRyZWUuPC9wPgorPHNjcmlwdD4KK3dpbmRvdy5sb2NhdGlvbi5ocmVmID0gImh0dHA6
Ly9BPWEmQj1iIjsKK3dpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9LCAwKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlwdC1kaXNhbGxv
d2VkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3JlZGlyZWN0LXRvLWlu
dmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQtZGlzYWxsb3dlZC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMmI5MjM5YmQzNjUxNzI3MjU1OTVhNGVmZTgzZmE3ODlkNGNiMDI4YgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3JlZGlyZWN0LXRvLWludmFsaWQtdXJs
LXVzaW5nLWphdmFzY3JpcHQtZGlzYWxsb3dlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBA
CittYWluIGZyYW1lIC0gd2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdFRvVVJMOiBodHRwOi8vQT1h
JkI9YiAKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBm
cmFtZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENhbmNlbENsaWVu
dFJlZGlyZWN0Rm9yRnJhbWUKK1Rlc3RzIHRoYXQgd2UgZG8gbm90IHJlZGlyZWN0IHRvIGFuIGlu
dmFsaWQgVVJMIGluaXRpYXRlZCBieSBKYXZhU2NyaXB0LiBUaGlzIHRlc3QgUEFTU0VEIGlmIHlv
dSBzZWUgYW4gZW50cnkgaW4gdGhlIGR1bXBlZCBmcmFtZSBsb2FkIGNhbGxiYWNrcyBvZiB0aGUg
Zm9ybTogIndpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTDogaHR0cDovL0E9YSZCPWIiIGZv
bGxvd2VkIGJ5ICJkaWRDYW5jZWxDbGllbnRSZWRpcmVjdEZvckZyYW1lIi4KKworTm90ZSwgdGhp
cyB0ZXN0IG11c3QgYmUgcnVuIGluIER1bXBSZW5kZXJUcmVlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlw
dC1kaXNhbGxvd2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9yZWRpcmVjdC10by1p
bnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0LWRpc2FsbG93ZWQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
NWVmNjA5MGRlYzJlMWNmNzk2NWEyNjVkODU1ZGEwYWE1ZDJiNDdlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmct
amF2YXNjcmlwdC1kaXNhbGxvd2VkLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgewor
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIuZHVtcEZyYW1lTG9h
ZENhbGxiYWNrcygpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworfQorPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRlc3RzIHRoYXQgd2UgZG8gbm90IHJlZGlyZWN0IHRv
IGFuIGludmFsaWQgVVJMIGluaXRpYXRlZCBieSBKYXZhU2NyaXB0LiBUaGlzIHRlc3QgUEFTU0VE
IGlmIHlvdSBzZWUgYW4gZW50cnkgaW4gdGhlIGR1bXBlZCBmcmFtZSBsb2FkIGNhbGxiYWNrcyBv
ZiB0aGUgZm9ybTogJnF1b3Q7d2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdFRvVVJMOiBodHRwOi8v
QT1hJmFtcDtCPWImcXVvdDsgZm9sbG93ZWQgYnkgJnF1b3Q7ZGlkQ2FuY2VsQ2xpZW50UmVkaXJl
Y3RGb3JGcmFtZSZxdW90Oy48L3A+Cis8cD5Ob3RlLCB0aGlzIHRlc3QgbXVzdCBiZSBydW4gaW4g
RHVtcFJlbmRlclRyZWUuPC9wPgorPHNjcmlwdD4KK3dpbmRvdy5sb2NhdGlvbi5ocmVmID0gImh0
dHA6Ly9BPWEmQj1iIjsKK3dpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9LCAw
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLWNh
bGxzLXBvbGljeS1kZWxlZ2F0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRl
ci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJlc2gtY2FsbHMtcG9saWN5
LWRlbGVnYXRlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYWE1YTBmN2Y4MGFiNjI2MjNjNzc2
YzNhMThiZTlkMzk0MmY1YTc0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9s
b2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLWNhbGxzLXBv
bGljeS1kZWxlZ2F0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitQb2xpY3kgZGVsZWdh
dGU6IGF0dGVtcHQgdG8gbG9hZCBodHRwOi8vQT1hJkI9YiB3aXRoIG5hdmlnYXRpb24gdHlwZSAn
b3RoZXInCitUZXN0cyB0aGF0IHdlIGRvIG5vdCByZWRpcmVjdCB0byBhbiBpbnZhbGlkIFVSTCBp
bml0aWF0ZWQgYnkgPG1ldGEgaHR0cC1lcXVpdj0icmVmcmVzaCI+LiBUaGlzIHRlc3QgUEFTU0VE
IGlmIHlvdSBzZWUgYW4gZW50cnkgaW4gdGhlIGR1bXBlZCBmcmFtZSBsb2FkIGNhbGxiYWNrcyBv
ZiB0aGUgZm9ybTogIndpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTDogaHR0cDovL0E9YSZC
PWIiIGZvbGxvd2VkIGJ5ICJkaWRDYW5jZWxDbGllbnRSZWRpcmVjdEZvckZyYW1lIi4KKworTm90
ZSwgdGhpcyB0ZXN0IG11c3QgYmUgcnVuIGluIER1bXBSZW5kZXJUcmVlLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0
YS1yZWZyZXNoLWNhbGxzLXBvbGljeS1kZWxlZ2F0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9s
b2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLWNhbGxzLXBv
bGljeS1kZWxlZ2F0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxMmRkMzJiMTRmMzMzYTA0YTc0YjEwNzM0
ZGRmYzBiYjZhMTVjOGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRl
ci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJlc2gtY2FsbHMtcG9saWN5
LWRlbGVnYXRlLmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0icmVmcmVzaCIgY29udGVudD0iMDsgdXJsPWh0dHA6
Ly9BPWEmQj1iIj4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0
UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLnNldEN1c3RvbVBvbGljeURlbGVn
YXRlKHRydWUsIGZhbHNlKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KKzwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UZXN0cyB0aGF0IHdlIGRvIG5vdCByZWRpcmVj
dCB0byBhbiBpbnZhbGlkIFVSTCBpbml0aWF0ZWQgYnkgJmx0O21ldGEgaHR0cC1lcXVpdj0mcXVv
dDtyZWZyZXNoJnF1b3Q7Jmd0Oy4gVGhpcyB0ZXN0IFBBU1NFRCBpZiB5b3Ugc2VlIGFuIGVudHJ5
IGluIHRoZSBkdW1wZWQgZnJhbWUgbG9hZCBjYWxsYmFja3Mgb2YgdGhlIGZvcm06ICZxdW90O3dp
bGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTDogaHR0cDovL0E9YSZhbXA7Qj1iJnF1b3Q7IGZv
bGxvd2VkIGJ5ICZxdW90O2RpZENhbmNlbENsaWVudFJlZGlyZWN0Rm9yRnJhbWUmcXVvdDsuPC9w
PgorPHA+Tm90ZSwgdGhpcyB0ZXN0IG11c3QgYmUgcnVuIGluIER1bXBSZW5kZXJUcmVlLjwvcD4K
KzxzY3JpcHQ+CisvLyBUaGlzIHVnbHkgZG91YmxlLXRpbWVvdXQgZW5zdXJlcyB0aGF0IHRoZSBz
Y2hlZHVsZWQgbWV0YS1yZWZyZXNoLCB3aG9zZSB0aW1lciBpc24ndCBldmVuIHN0YXJ0ZWQgdW50
aWwgdGhlIGZyYW1lIGZpbmlzaGVzIGxvYWRpbmcsCisvLyBmaXJlcyBiZWZvcmUgbm90aWZ5RG9u
ZSgpIGlzIGNhbGxlZCwgZW5zdXJpbmcgdGhhdCBkaWRDYW5jZWxDbGllbnRSZWRpcmVjdEZvckZy
YW1lIGlzIGxvZ2dlZCBieSBEdW1wUmVuZGVyVHJlZS4KK3dpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0
aW9uKCkgeworICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
KyAgICB9LCAwKTsKK30sIDApOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2lu
Zy1tZXRhLXJlZnJlc2gtZGlzYWxsb3dlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJlc2gtZGlzYWxs
b3dlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjQ5MzZmZWFmOTY1NmJmYTliMzgyNTMwMzUz
MmVjZjc5ZmIwMGNiZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVy
L3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLW1ldGEtcmVmcmVzaC1kaXNhbGxvd2VkLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVu
dExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1l
CittYWluIGZyYW1lIC0gd2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdFRvVVJMOiBodHRwOi8vQT1h
JkI9YiAKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBk
aWRDYW5jZWxDbGllbnRSZWRpcmVjdEZvckZyYW1lCitUZXN0cyB0aGF0IHdlIGRvIG5vdCByZWRp
cmVjdCB0byBhbiBpbnZhbGlkIFVSTCBpbml0aWF0ZWQgYnkgPG1ldGEgaHR0cC1lcXVpdj0icmVm
cmVzaCI+LiBUaGlzIHRlc3QgUEFTU0VEIGlmIHlvdSBzZWUgYW4gZW50cnkgaW4gdGhlIGR1bXBl
ZCBmcmFtZSBsb2FkIGNhbGxiYWNrcyBvZiB0aGUgZm9ybTogIndpbGxQZXJmb3JtQ2xpZW50UmVk
aXJlY3RUb1VSTDogaHR0cDovL0E9YSZCPWIiIGZvbGxvd2VkIGJ5ICJkaWRDYW5jZWxDbGllbnRS
ZWRpcmVjdEZvckZyYW1lIi4KKworTm90ZSwgdGhpcyB0ZXN0IG11c3QgYmUgcnVuIGluIER1bXBS
ZW5kZXJUcmVlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvcmVkaXJlY3Qt
dG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLWRpc2FsbG93ZWQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvbG9hZGVyL3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLW1ldGEtcmVm
cmVzaC1kaXNhbGxvd2VkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzBjZWU4M2U5M2E2M2ZjZDIxMzMzMzMz
NzQyYTdkMWI0MzhkZmUxYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbG9h
ZGVyL3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLW1ldGEtcmVmcmVzaC1kaXNhbGxvd2Vk
Lmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PG1ldGEgaHR0cC1lcXVpdj0icmVmcmVzaCIgY29udGVudD0iMDsgdXJsPWh0dHA6Ly9BPWEmQj1i
Ij4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLmR1bXBGcmFtZUxvYWRDYWxsYmFja3MoKTsKKyAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cD5UZXN0cyB0aGF0IHdlIGRvIG5vdCByZWRpcmVjdCB0byBhbiBpbnZhbGlkIFVSTCBp
bml0aWF0ZWQgYnkgJmx0O21ldGEgaHR0cC1lcXVpdj0mcXVvdDtyZWZyZXNoJnF1b3Q7Jmd0Oy4g
VGhpcyB0ZXN0IFBBU1NFRCBpZiB5b3Ugc2VlIGFuIGVudHJ5IGluIHRoZSBkdW1wZWQgZnJhbWUg
bG9hZCBjYWxsYmFja3Mgb2YgdGhlIGZvcm06ICZxdW90O3dpbGxQZXJmb3JtQ2xpZW50UmVkaXJl
Y3RUb1VSTDogaHR0cDovL0E9YSZhbXA7Qj1iJnF1b3Q7IGZvbGxvd2VkIGJ5ICZxdW90O2RpZENh
bmNlbENsaWVudFJlZGlyZWN0Rm9yRnJhbWUmcXVvdDsuPC9wPgorPHA+Tm90ZSwgdGhpcyB0ZXN0
IG11c3QgYmUgcnVuIGluIER1bXBSZW5kZXJUcmVlLjwvcD4KKzxzY3JpcHQ+CisvLyBUaGlzIHVn
bHkgZG91YmxlLXRpbWVvdXQgZW5zdXJlcyB0aGF0IHRoZSBzY2hlZHVsZWQgbWV0YS1yZWZyZXNo
LCB3aG9zZSB0aW1lciBpc24ndCBldmVuIHN0YXJ0ZWQgdW50aWwgdGhlIGZyYW1lIGZpbmlzaGVz
IGxvYWRpbmcsCisvLyBmaXJlcyBiZWZvcmUgbm90aWZ5RG9uZSgpIGlzIGNhbGxlZCwgZW5zdXJp
bmcgdGhhdCBkaWRDYW5jZWxDbGllbnRSZWRpcmVjdEZvckZyYW1lIGlzIGxvZ2dlZCBieSBEdW1w
UmVuZGVyVHJlZS4KK3dpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgIHdpbmRvdy5z
ZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9LCAwKTsKK30sIDApOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2xvYWRlci9yZXNvdXJjZXMvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlw
dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvcmVzb3VyY2VzL3JlZGlyZWN0LXRvLWlu
dmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYzA3ZjIxZDkyOTM5MzQ4Zjc2YTc1ODdjMDNlMmI2NGE4MmQxOTVkYy4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2xv
YWRlci9yZXNvdXJjZXMvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlwdC5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxzY3Jp
cHQ+Ci13aW5kb3cubG9jYXRpb24uaHJlZiA9ICJ4LWR1bW15Oi8vQT1hJkI9YiI7Ci08L3Njcmlw
dD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3Jlc291cmNlcy9yZWRpcmVj
dC10by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJlc2guaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvbG9hZGVyL3Jlc291cmNlcy9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJl
ZnJlc2guaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTViNjVkYWMyMzU3OGQ0
NjI3ZGM3OTU0NTliY2I0Zjc0MzE0YjJkNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9yZXNvdXJjZXMvcmVkaXJl
Y3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLmh0bWwKKysrIC9kZXYvbnVsbApA
QCAtMSw2ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLSAgICA8bWV0
YSBodHRwLWVxdWl2PSJyZWZyZXNoIiBjb250ZW50PSIwOyB1cmw9eC1kdW1teTovL0E9YSZCPWIi
PgotPC9oZWFkPgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIv
d2luZG93LW9wZW4tdG8taW52YWxpZC11cmwtY2FsbHMtcG9saWN5LWRlbGVnYXRlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3dpbmRvdy1vcGVuLXRvLWludmFsaWQtdXJs
LWNhbGxzLXBvbGljeS1kZWxlZ2F0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGM4MjI3ODg1
MjNkODRlN2IzYzAzNTcyZWI5OWZkNjVmZTcxMDM0OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvbG9hZGVyL3dpbmRvdy1vcGVuLXRvLWludmFsaWQtdXJsLWNhbGxzLXBvbGlj
eS1kZWxlZ2F0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitQb2xpY3kgZGVsZWdhdGU6
IGF0dGVtcHQgdG8gbG9hZCBodHRwOi8vQT1hJkI9YiB3aXRoIG5hdmlnYXRpb24gdHlwZSAnb3Ro
ZXInCitUZXN0cyB0aGF0IHdlIGNhbGwgdGhlIG5hdmlnYXRpb24gcG9saWN5IGRlbGVnYXRlIHdo
ZW4gb3BlbmluZyBhIG5ldyB3aW5kb3cgdG8gYW4gaW52YWxpZCBVUkwuCisKK05vdGUsIHRoaXMg
dGVzdCBtdXN0IGJlIHJ1biBpbiBEdW1wUmVuZGVyVHJlZS4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvbG9hZGVyL3dpbmRvdy1vcGVuLXRvLWludmFsaWQtdXJsLWNhbGxzLXBvbGljeS1k
ZWxlZ2F0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvd2luZG93LW9wZW4tdG8taW52
YWxpZC11cmwtY2FsbHMtcG9saWN5LWRlbGVnYXRlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjFlZTRhMGEz
YjNjYjQ2M2M4MmU5ZmQyMmU5MDM1YzA2NjhmNzc4MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvbG9hZGVyL3dpbmRvdy1vcGVuLXRvLWludmFsaWQtdXJsLWNhbGxzLXBvbGlj
eS1kZWxlZ2F0ZS5odG1sCkBAIC0wLDAgKzEsMjQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLnNldEN1c3RvbVBvbGljeURlbGVnYXRl
KHRydWUsIGZhbHNlKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB0ZXN0
UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHA+VGVzdHMgdGhhdCB3ZSBjYWxsIHRoZSBuYXZpZ2F0aW9uIHBvbGljeSBkZWxlZ2F0ZSB3
aGVuIG9wZW5pbmcgYSBuZXcgd2luZG93IHRvIGFuIGludmFsaWQgVVJMLjwvcD4KKzxwPk5vdGUs
IHRoaXMgdGVzdCBtdXN0IGJlIHJ1biBpbiBEdW1wUmVuZGVyVHJlZS48L3A+Cis8c2NyaXB0Pgor
d2luZG93Lm9wZW4oImh0dHA6Ly9BPWEmQj1iIiwgIl90b3AiKTsKK3dpbmRvdy5zZXRUaW1lb3V0
KGZ1bmN0aW9uKCkgeworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7Cit9LCAwKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvd2luZG93LW9wZW4tdG8taW52YWxp
ZC11cmwtZGlzYWxsb3dlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci93
aW5kb3ctb3Blbi10by1pbnZhbGlkLXVybC1kaXNhbGxvd2VkLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44NWFiNGM3ZGVlYmE1YzhlMWUyNzJjMTFjMjBkMzlkZjMzYjkzYmYwCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvd2luZG93LW9wZW4tdG8taW52YWxpZC11
cmwtZGlzYWxsb3dlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACittYWluIGZyYW1lIC0g
d2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdFRvVVJMOiBodHRwOi8vQT1hJkI9YiAKK21haW4gZnJh
bWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZEZpbmlz
aExvYWRGb3JGcmFtZQorbWFpbiBmcmFtZSAtIGRpZENhbmNlbENsaWVudFJlZGlyZWN0Rm9yRnJh
bWUKK1Rlc3RzIHRoYXQgd2UgZG8gbm90IG9wZW4gYSBuZXcgd2luZG93IHRvIGFuIGludmFsaWQg
VVJMLiBUaGlzIHRlc3QgUEFTU0VEIGlmIHlvdSBzZWUgYW4gZW50cnkgaW4gdGhlIGR1bXBlZCBm
cmFtZSBsb2FkIGNhbGxiYWNrcyBvZiB0aGUgZm9ybTogIndpbGxQZXJmb3JtQ2xpZW50UmVkaXJl
Y3RUb1VSTDogaHR0cDovL0E9YSZCPWIiIGZvbGxvd2VkIGJ5ICJkaWRDYW5jZWxDbGllbnRSZWRp
cmVjdEZvckZyYW1lIi4KKworTm90ZSwgdGhpcyB0ZXN0IG11c3QgYmUgcnVuIGluIER1bXBSZW5k
ZXJUcmVlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvd2luZG93LW9wZW4t
dG8taW52YWxpZC11cmwtZGlzYWxsb3dlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIv
d2luZG93LW9wZW4tdG8taW52YWxpZC11cmwtZGlzYWxsb3dlZC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEw
NDI1OWVmYjRjZDVjODNlNWRiOTgwMzVkZmZlOWIyZDY5MjA3YTYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci93aW5kb3ctb3Blbi10by1pbnZhbGlkLXVybC1kaXNh
bGxvd2VkLmh0bWwKQEAgLTAsMCArMSwyNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIu
ZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIuZHVtcEZyYW1lTG9hZENhbGxiYWNrcygpOwor
ICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIHRlc3RSdW5uZXIuc2V0Q2FuT3Bl
bldpbmRvd3MoKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UZXN0cyB0aGF0
IHdlIGRvIG5vdCBvcGVuIGEgbmV3IHdpbmRvdyB0byBhbiBpbnZhbGlkIFVSTC4gVGhpcyB0ZXN0
IFBBU1NFRCBpZiB5b3Ugc2VlIGFuIGVudHJ5IGluIHRoZSBkdW1wZWQgZnJhbWUgbG9hZCBjYWxs
YmFja3Mgb2YgdGhlIGZvcm06ICZxdW90O3dpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTDog
aHR0cDovL0E9YSZhbXA7Qj1iJnF1b3Q7IGZvbGxvd2VkIGJ5ICZxdW90O2RpZENhbmNlbENsaWVu
dFJlZGlyZWN0Rm9yRnJhbWUmcXVvdDsuPC9wPgorPHA+Tm90ZSwgdGhpcyB0ZXN0IG11c3QgYmUg
cnVuIGluIER1bXBSZW5kZXJUcmVlLjwvcD4KKzxzY3JpcHQ+Cit3aW5kb3cub3BlbigiaHR0cDov
L0E9YSZCPWIiLCAiX3RvcCIpOword2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
K30sIDApOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236707</attachid>
            <date>2014-08-16 01:46:31 -0700</date>
            <delta_ts>2014-08-18 06:14:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136010-20140816014621.patch</filename>
            <type>text/plain</type>
            <size>34637</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyNjg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTAwZDAzNjViNGI0MmEx
OTljNjlkZWQzNGZiYjFmN2U0ZGZlOTJkZi4uYzM1MzMxNWRlZjBiNmM5OTJhMDIwZDkyZDc0ZWY0
NTdiMmJlNTcxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE0LTA4LTE1ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMTY3ODU2
KTogYWRvYmUuY29tIG5vIGxvbmdlciBhYmxlIHRvIGxhdW5jaCBDcmVhdGUgQ2xvdWQgYXBwIHVz
aW5nIGEgVVJMIHdpdGggYSBjdXN0b20gc2NoZW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzYwMTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICByMTY3ODU2IGNhdXNlZCBXZWJLaXQgdG8gc3RvcCBzY2hl
ZHVsaW5nIGNlcnRhaW4ga2luZHMgb2YgbmF2aWdhdGlvbnMgKHdpbmRvdy5sb2NhdGlvbiBjaGFu
Z2VzLCBtZXRhLXJlZnJlc2gsCisgICAgICAgIGFuZCBzb21lIGNhbGxzIHRvIHdpbmRvdy5vcGVu
KSB3aGVuIHRoZSByZXF1ZXN0IFVSTCBpcyBpbnZhbGlkLiBBZG9iZS5jb20gcGVyZm9ybXMgb25l
IG9mIHRoZXNlIG5hdmlnYXRpb25zIHRvCisgICAgICAgIGFuIGludmFsaWQgVVJMIHdpdGggYW4g
ZXh0ZXJuYWwgc2NoZW1lIChhYW06KSwgcmVseWluZyBvbiBTYWZhcmkncyBuYXZpZ2F0aW9uIHBv
bGljeSBkZWxlZ2F0ZSB0byBpZ25vcmUgdGhlCisgICAgICAgIG5hdmlnYXRpb24gYW5kIGxhdW5j
aCB0aGUgZXh0ZXJuYWwgYXBwIHJlZ2lzdGVyZWQgdG8gaGFuZGxlIGFhbTogVVJMcy4gU2luY2Ug
dGhlIG5hdmlnYXRpb24gaXMgbm8gbG9uZ2VyCisgICAgICAgIHNjaGVkdWxlZCwgdGhlIHBvbGlj
eSBkZWxlZ2F0ZSBpcyBuZXZlciBleGVjdXRlZCBhbmQgdGhlIGV4dGVybmFsIGFwcCBuZXZlciBs
YXVuY2hlcy4KKworICAgICAgICBJbnN0ZWFkIG9mIG5vdCBzY2hlZHVsaW5nIHRoZSBuYXZpZ2F0
aW9uLCBhbGxvdyBpdCB0byBwcm9jZWVkIHVudGlsIHRoZSBjbGllbnQncyBwb2xpY3kgZGVsZWdh
dGUgaGFzIGV4ZWN1dGVkCisgICAgICAgIGFuZCBtYWRlIGEgZGVjaXNpb24uIE9ubHkgZGlzYWxs
b3cgdGhlIG5hdmlnYXRpb24gaWYgdGhlIHBvbGljeSBkZWxlZ2F0ZSB0b2xkIFdlYktpdCB0byBw
cm9jZWVkIHdpdGggdGhlIGxvYWQuCisgICAgICAgIFRoaXMgZXhwb3NlcyB0aGVzZSBuYXZpZ2F0
aW9ucyB0byBjbGllbnRzIHZpYSB0aGUgcG9saWN5IGRlbGVnYXRlIGFuZCB2aWEgd2lsbFBlcmZv
cm1DbGllbnRSZWRpcmVjdFRvVVJMIGFuZAorICAgICAgICBkaWRDYW5jZWxDbGllbnRSZWRpcmVj
dEZvckZyYW1lIG9uIHRoZSBmcmFtZSBsb2FkIGRlbGVnYXRlLgorCisgICAgICAgIE5vdGUgdGhh
dCByMTY3ODU2IGFsc28gY2F1c2VkIGFuIGlPUyByZWdyZXNzaW9uLCBhbmQgdGhpcyB3YXMgcmVz
b2x2ZWQgaW4gcjE3MDEyMCBieSBhZGRpbmcgYSBsaW5rZWQtb24tb3ItYWZ0ZXIKKyAgICAgICAg
Y2hlY2sgYW5kIGEgV2ViQ29yZSBzZXR0aW5nLiBTaW5jZSB0aGUgaU9TIHJlZ3Jlc3Npb24gaXMg
YWxzbyByZXNvbHZlZCBieSB0aGUgYXBwcm9hY2ggZGVzY3JpYmVkIGFib3ZlLCB0aGlzCisgICAg
ICAgIHBhdGNoIHJldmVydHMgcjE3MDEyMCAoYnV0IGtlZXBzIHNvbWUgb2YgaXRzIHRlc3RzKS4K
KworICAgICAgICBUZXN0czogZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNp
bmctamF2YXNjcmlwdC1jYWxscy1wb2xpY3ktZGVsZWdhdGUuaHRtbAorICAgICAgICAgICAgICAg
ZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlwdC1kaXNh
bGxvd2VkLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvbG9hZGVyL3JlZGlyZWN0LXRvLWludmFs
aWQtdXJsLXVzaW5nLW1ldGEtcmVmcmVzaC1jYWxscy1wb2xpY3ktZGVsZWdhdGUuaHRtbAorICAg
ICAgICAgICAgICAgZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0
YS1yZWZyZXNoLWRpc2FsbG93ZWQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9sb2FkZXIvd2lu
ZG93LW9wZW4tdG8taW52YWxpZC11cmwtY2FsbHMtcG9saWN5LWRlbGVnYXRlLmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3QvbG9hZGVyL3dpbmRvdy1vcGVuLXRvLWludmFsaWQtdXJsLWRpc2FsbG93
ZWQuaHRtbAorCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkZyYW1lTG9hZGVyOjpjb250aW51ZUxvYWRBZnRlck5hdmlnYXRpb25Qb2xpY3kpOiBE
byBub3QgY29udGludWUgaWYgdGhlIG5hdmlnYXRpb24gd2lsbCBiZSBhIHJlZGlyZWN0CisgICAg
ICAgIHRvIGFuIGludmFsaWQgVVJMLgorICAgICAgICAqIGxvYWRlci9OYXZpZ2F0aW9uU2NoZWR1
bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRpb25TY2hlZHVsZXI6OnNob3VsZFNj
aGVkdWxlTmF2aWdhdGlvbik6IFJlc3VtZWQgc2NoZWR1bGluZyBuYXZpZ2F0aW9ucyB0byBpbnZh
bGlkIFVSTHMuCisgICAgICAgICogcGFnZS9TZXR0aW5ncy5pbjogUmVtb3ZlZCB0aGUgYWxsb3dO
YXZpZ2F0aW9uVG9JbnZhbGlkVVJMIHNldHRpbmcuCisKIDIwMTQtMDgtMTUgIFphbGFuIEJ1anRh
cyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBEbyBub3QgdXNlIEZsb2F0UmVjdDo6aW5m
aW5pdGVSZWN0KCkgdG8gZmxhZyBmdWxsIHJlcGFpbnRzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDhj
MzkyMjllNzNjZDY1NDAwMWI1ZDYwYjk2NzY1ZGVlMzJjYWEwMzMuLmFkNzMzMGFjYmE2MTUyNzdm
NGMxZGY0NTgwZmY1NDk1YzNiYWNmNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBA
QAorMjAxNC0wOC0xNSAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CisKKyAgICAgICAg
UkVHUkVTU0lPTiAocjE2Nzg1Nik6IGFkb2JlLmNvbSBubyBsb25nZXIgYWJsZSB0byBsYXVuY2gg
Q3JlYXRlIENsb3VkIGFwcCB1c2luZyBhIFVSTCB3aXRoIGEgY3VzdG9tIHNjaGVtZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2MDEwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmV2ZXJ0ZWQgdGhlIGxp
bmtlZC1vbi1vci1hZnRlciBjaGVjayBhZGRlZCBpbiByMTcwMTIwIHNpbmNlIGl0IGlzIG5vIGxv
bmdlciBuZWNlc3NhcnkuCisKKyAgICAgICAgKiBNaXNjL1dlYktpdFZlcnNpb25DaGVja3MuaDoK
KyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZpZXcgX3ByZWZl
cmVuY2VzQ2hhbmdlZDpdKToKKwogMjAxNC0wOC0xNSAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0Bh
cHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gVGVhY2ggcG9zdHByb2Nlc3MtaGVhZGVycy5zaCB0
byByZW1vdmUgY29kZSBndWFyZGVkIGJ5IEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGU1YzhkYTI5NzQzYWU5Y2MyOWJiYmRk
ZjU5NmE2NzQ3N2RhNTAwOGIuLjIyOTg5NmIzMDE1NjQwOWE2ZWFkMTIyMmQ5ZmRmMDg2ZmY1ZjVk
NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMjg4OSw3ICsyODg5
LDcgQEAgYm9vbCBGcmFtZUxvYWRlcjo6aGFuZGxlQmVmb3JlVW5sb2FkRXZlbnQoQ2hyb21lJiBj
aHJvbWUsIEZyYW1lTG9hZGVyKiBmcmFtZUxvYWQKICAgICByZXR1cm4gY2hyb21lLnJ1bkJlZm9y
ZVVubG9hZENvbmZpcm1QYW5lbCh0ZXh0LCAmbV9mcmFtZSk7CiB9CiAKLXZvaWQgRnJhbWVMb2Fk
ZXI6OmNvbnRpbnVlTG9hZEFmdGVyTmF2aWdhdGlvblBvbGljeShjb25zdCBSZXNvdXJjZVJlcXVl
c3QmLCBQYXNzUmVmUHRyPEZvcm1TdGF0ZT4gZm9ybVN0YXRlLCBib29sIHNob3VsZENvbnRpbnVl
KQordm9pZCBGcmFtZUxvYWRlcjo6Y29udGludWVMb2FkQWZ0ZXJOYXZpZ2F0aW9uUG9saWN5KGNv
bnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUGFzc1JlZlB0cjxGb3JtU3RhdGU+IGZvcm1T
dGF0ZSwgYm9vbCBzaG91bGRDb250aW51ZSkKIHsKICAgICAvLyBJZiB3ZSBsb2FkZWQgYW4gYWx0
ZXJuYXRlIHBhZ2UgdG8gcmVwbGFjZSBhbiB1bnJlYWNoYWJsZVVSTCwgd2UnbGwgZ2V0IGluIGhl
cmUgd2l0aCBhCiAgICAgLy8gbmlsIHBvbGljeURhdGFTb3VyY2UgYmVjYXVzZSBsb2FkaW5nIHRo
ZSBhbHRlcm5hdGUgcGFnZSB3aWxsIGhhdmUgcGFzc2VkCkBAIC0yODk4LDExICsyODk4LDE0IEBA
IHZvaWQgRnJhbWVMb2FkZXI6OmNvbnRpbnVlTG9hZEFmdGVyTmF2aWdhdGlvblBvbGljeShjb25z
dCBSZXNvdXJjZVJlcXVlc3QmLCBQYXNzCiAKICAgICBib29sIGlzVGFyZ2V0SXRlbSA9IGhpc3Rv
cnkoKS5wcm92aXNpb25hbEl0ZW0oKSA/IGhpc3RvcnkoKS5wcm92aXNpb25hbEl0ZW0oKS0+aXNU
YXJnZXRJdGVtKCkgOiBmYWxzZTsKIAotICAgIC8vIFR3byByZWFzb25zIHdlIGNhbid0IGNvbnRp
bnVlOgorICAgIGJvb2wgd2lsbFJlZGlyZWN0VG9JbnZhbGlkVVJMID0gbV9xdWlja1JlZGlyZWN0
Q29taW5nICYmICFyZXF1ZXN0LnVybCgpLmlzVmFsaWQoKTsKKworICAgIC8vIFRocmVlIHJlYXNv
bnMgd2UgY2FuJ3QgY29udGludWU6CiAgICAgLy8gICAgMSkgTmF2aWdhdGlvbiBwb2xpY3kgZGVs
ZWdhdGUgc2FpZCB3ZSBjYW4ndCBzbyByZXF1ZXN0IGlzIG5pbC4gQSBwcmltYXJ5IGNhc2Ugb2Yg
dGhpcyAKICAgICAvLyAgICAgICBpcyB0aGUgdXNlciByZXNwb25kaW5nIENhbmNlbCB0byB0aGUg
Zm9ybSByZXBvc3QgbmFnIHNoZWV0LgogICAgIC8vICAgIDIpIFVzZXIgcmVzcG9uZGVkIENhbmNl
bCB0byBhbiBhbGVydCBwb3BwZWQgdXAgYnkgdGhlIGJlZm9yZSB1bmxvYWQgZXZlbnQgaGFuZGxl
ci4KLSAgICBib29sIGNhbkNvbnRpbnVlID0gc2hvdWxkQ29udGludWUgJiYgc2hvdWxkQ2xvc2Uo
KTsKKyAgICAvLyAgICAzKSBBIHJlZGlyZWN0IHdpbGwgb2NjdXIgdG8gYW4gaW52YWxpZCBVUkwu
CisgICAgYm9vbCBjYW5Db250aW51ZSA9IHNob3VsZENvbnRpbnVlICYmIHNob3VsZENsb3NlKCkg
JiYgIXdpbGxSZWRpcmVjdFRvSW52YWxpZFVSTDsKIAogICAgIGlmICghY2FuQ29udGludWUpIHsK
ICAgICAgICAgLy8gSWYgd2Ugd2VyZSB3YWl0aW5nIGZvciBhIHF1aWNrIHJlZGlyZWN0LCBidXQg
dGhlIHBvbGljeSBkZWxlZ2F0ZSBkZWNpZGVkIHRvIGlnbm9yZSBpdCwgdGhlbiB3ZSAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcAppbmRleCBmNWVmMmQz
YTZmM2FjNGE2OWY0MTRjY2ZmMGZkNjU3MjY0YTBiODhhLi41MGViMjI0ZGIwYzdhMzJhMjgyODU5
NmZkOGVhOGZlYzFiZWM5YjhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2
aWdhdGlvblNjaGVkdWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRp
b25TY2hlZHVsZXIuY3BwCkBAIC0zMTEsOCArMzExLDYgQEAgaW5saW5lIGJvb2wgTmF2aWdhdGlv
blNjaGVkdWxlcjo6c2hvdWxkU2NoZWR1bGVOYXZpZ2F0aW9uKGNvbnN0IFVSTCYgdXJsKSBjb25z
dAogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKHByb3RvY29sSXNKYXZhU2NyaXB0KHVy
bCkpCiAgICAgICAgIHJldHVybiB0cnVlOwotICAgIGlmICghdXJsLmlzVmFsaWQoKSAmJiAhbV9m
cmFtZS5zZXR0aW5ncygpLmFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCgpKQotICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgcmV0dXJuIE5hdmlnYXRpb25EaXNhYmxlckZvckJlZm9yZVVubG9h
ZDo6aXNOYXZpZ2F0aW9uQWxsb3dlZCgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmluIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgppbmRl
eCA2ZDc5NmU1MWIzYmMwMGU4ZGYzMDFhYzJlOTU5N2MwMmY1MDYyNjA0Li40ZjUxNmZmYjUzMzEy
ZDYyNDAyODVkNWFkN2E0ZDFmMTAxM2FkYjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KQEAg
LTIyNiwxMCArMjI2LDYgQEAgdGVtcG9yYXJ5VGlsZUNvaG9ydFJldGVudGlvbkVuYWJsZWQgaW5p
dGlhbD10cnVlCiAKIHVzZUltYWdlRG9jdW1lbnRGb3JTdWJmcmFtZVBERiBpbml0aWFsPWZhbHNl
CiAKLSMgQWxsb3cgY2xpZW50cyB0byBwZXJtaXQgbmF2aWdhdGlvbiB0byBhbiBpbnZhbGlkIFVS
TC4gU29tZSBhcHBzIG1heSB1c2UgaW52YWxpZCBVUkxzCi0jIGFzIGEgbWVhbnMgdG8gcGFzcyBk
YXRhIGZyb20gdGhlIHdlYi1wb3J0aW9uIG9mIHRoZWlyIGFwcCB0byB0aGUgbmF0aXZlIHBvcnRp
b24uCi1hbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwgaW5pdGlhbD1mYWxzZQotCiAjIEFsbG93
IFNvdXJjZUJ1ZmZlcnMgdG8gc3RvcmUgdXAgdG8gMzA0TUIgZWFjaCwgZW5vdWdoIGZvciBhcHBy
b3hpbWF0ZWx5IGZpdmUgbWludXRlcwogIyBvZiAxMDgwcCB2aWRlbyBhbmQgc3RlcmVvIGF1ZGlv
LgogbWF4aW11bVNvdXJjZUJ1ZmZlclNpemUgdHlwZT1pbnQsIGluaXRpYWw9MzE4NzY3MTA0LCBj
b25kaXRpb25hbD1NRURJQV9TT1VSQ0UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL01p
c2MvV2ViS2l0VmVyc2lvbkNoZWNrcy5oIGIvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXRW
ZXJzaW9uQ2hlY2tzLmgKaW5kZXggNDM2YzU4NDBhNTk4OTNkMGVlMmMwYWFjNThmMjY2NmQ1NmM1
ZjdlZC4uMTM5NGRjNjJmZGVhZDUxNGM1NGQ4YmYxYTE4OTdjNGUwZWFhNjVjOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXRWZXJzaW9uQ2hlY2tzLmgKKysrIGIvU291
cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXRWZXJzaW9uQ2hlY2tzLmgKQEAgLTcxLDcgKzcxLDYg
QEAKICNkZWZpbmUgV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9DU1NfQVRUUklCVVRFX1NFVFRF
UlNfSUdOT1JJTkdfUFJJT1JJVFkgMjIzOSAvLyBpT1MgNi4wCiAjZGVmaW5lIFdFQktJVF9GSVJT
VF9WRVJTSU9OX1dJVEhfWU9VVFVCRV9FTUJFRF9JRlJBTUVfVFJBTlNGT1JNIDIyMzkgLy8gaU9T
IDYuMAogI2RlZmluZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIT1VUX0xFR0FDWV9CQUNLR1JP
VU5EU0laRV9TSE9SVEhBTkRfQkVIQVZJT1IgMjY2NSAvLyBpT1MgNy4wCi0jZGVmaW5lIFdFQktJ
VF9GSVJTVF9WRVJTSU9OX1dJVEhfTkFWSUdBVElPTl9VUkxfVkFMSURBVElPTiAzMTg1IC8vIGlP
UyA4LjAKICNlbmRpZiAvLyBQTEFURk9STShJT1MpCiAKICNpZmRlZiBfX2NwbHVzcGx1cwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDdmNmZmZmE5Zjc1ODkzY2I0Y2RlYjgy
MTMyZDE0OWVlYWNhZjU0NzIuLjQ5NTc0ODIyM2M1ODBlYzc3MDEzMWZiN2Y5ZDQ0M2E5YTYzZDEy
MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTIzMjcsOCArMjMyNyw2
IEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVyZW5jZXMgKilwcmVmZXJl
bmNlcwogI2lmIEVOQUJMRShJT1NfVEVYVF9BVVRPU0laSU5HKQogICAgIHNldHRpbmdzLnNldE1p
bmltdW1ab29tRm9udFNpemUoW3ByZWZlcmVuY2VzIF9taW5pbXVtWm9vbUZvbnRTaXplXSk7CiAj
ZW5kaWYKLQotICAgIHNldHRpbmdzLnNldEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCghV2Vi
S2l0TGlua2VkT25PckFmdGVyKFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfTkFWSUdBVElPTl9V
UkxfVkFMSURBVElPTikpOwogI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKIAogI2lmIFBMQVRGT1JN
KE1BQykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCAzZWE2ZWQyY2EwMGNkYmZhMDVkMDdkMTBmMTFhNjhmOTQzN2Q4MzhjLi5l
YjRkYTVmYTYzYWJjZmExZTEwMGMxOTBhZWI2N2RmYzk2OTFmMzM0IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MzMgQEAKKzIwMTQtMDgtMTUgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAg
ICAgIFJFR1JFU1NJT04gKHIxNjc4NTYpOiBhZG9iZS5jb20gbm8gbG9uZ2VyIGFibGUgdG8gbGF1
bmNoIENyZWF0ZSBDbG91ZCBhcHAgdXNpbmcgYSBVUkwgd2l0aCBhIGN1c3RvbSBzY2hlbWUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjAxMAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZWQgdGVz
dHMgdGhhdCB2ZXJpZmllZCB0aGUgYmVoYXZpb3Igb2Ygc2V0QWxsb3dOYXZpZ2F0aW9uVG9JbnZh
bGlkVVJMKHRydWUpLCB3aGljaCBubyBsb25nZXIgZXhpc3RzOgorICAgICAgICAqIGZhc3QvbG9h
ZGVyL2FsbG93LXJlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvbG9hZGVyL2FsbG93LXJlZGlyZWN0LXRv
LWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBm
YXN0L2xvYWRlci9hbGxvdy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJl
c2gtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvbG9hZGVyL2FsbG93LXJl
ZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLW1ldGEtcmVmcmVzaC5odG1sOiBSZW1vdmVkLgor
CisgICAgICAgIEFkZGVkIHRlc3RzIHRoYXQgdmVyaWZ5IHRoZSBwb2xpY3kgZGVsZWdhdGUgaXMg
ZXhlY3V0ZWQgb24gc29tZSBuYXZpZ2F0aW9ucyB0byBpbnZhbGlkIFVSTHM6CisgICAgICAgICog
ZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlwdC1jYWxs
cy1wb2xpY3ktZGVsZWdhdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2xv
YWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0LWNhbGxzLXBvbGlj
eS1kZWxlZ2F0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2xvYWRlci9yZWRpcmVjdC10
by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJlc2gtY2FsbHMtcG9saWN5LWRlbGVnYXRlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52
YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLWNhbGxzLXBvbGljeS1kZWxlZ2F0ZS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2xvYWRlci93aW5kb3ctb3Blbi10by1pbnZhbGlkLXVybC1j
YWxscy1wb2xpY3ktZGVsZWdhdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2xvYWRlci93aW5kb3ctb3Blbi10by1pbnZhbGlkLXVybC1jYWxscy1wb2xpY3ktZGVsZWdhdGUu
aHRtbDogQWRkZWQuCisKKyAgICAgICAgUmVuYW1lZCBzb21lIGV4aXN0aW5nIHRlc3RzIGFkZGVk
IGluIHIxNzAxMjAsIG1vZGlmaWVkIHRoZW0gdG8gbG9nIHdpbGxQZXJmb3JtQ2xpZW50UmVkaXJl
Y3RUb1VSTCBhbmQKKyAgICAgICAgZGlkQ2FuY2VsQ2xpZW50UmVkaXJlY3RGb3JGcmFtZSwgYW5k
IGFkZGVkIGEgdGVzdCB0byB2ZXJpZnkgbmF2aWdhdGlvbnMgaW4gZXhpc3RpbmcgZnJhbWVzIHZp
YSB3aW5kb3cub3BlbjoKKyAgICAgICAgKiBmYXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlk
LXVybC11c2luZy1qYXZhc2NyaXB0LWRpc2FsbG93ZWQtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZy
b20gZmFzdC9sb2FkZXIvZGlzYWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctamF2
YXNjcmlwdC1leHBlY3RlZC50eHQuCisgICAgICAgICogZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8t
aW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlwdC1kaXNhbGxvd2VkLmh0bWw6IFJlbmFtZWQgZnJv
bSBmYXN0L2xvYWRlci9kaXNhbGxvdy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1qYXZh
c2NyaXB0Lmh0bWwuCisgICAgICAgICogZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11
cmwtdXNpbmctbWV0YS1yZWZyZXNoLWRpc2FsbG93ZWQtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZy
b20gZmFzdC9sb2FkZXIvZGlzYWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0
YS1yZWZyZXNoLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBmYXN0L2xvYWRlci9yZWRpcmVjdC10
by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJlc2gtZGlzYWxsb3dlZC5odG1sOiBSZW5hbWVk
IGZyb20gZmFzdC9sb2FkZXIvZGlzYWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmct
bWV0YS1yZWZyZXNoLmh0bWwuCisgICAgICAgICogZmFzdC9sb2FkZXIvd2luZG93LW9wZW4tdG8t
aW52YWxpZC11cmwtZGlzYWxsb3dlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvbG9hZGVyL3dpbmRvdy1vcGVuLXRvLWludmFsaWQtdXJsLWRpc2FsbG93ZWQuaHRtbDogQWRk
ZWQuCisKIDIwMTQtMDgtMTUgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSRUdSRVNTSU9OOiBQYXJ0cyBvZiB0aGUgcm91dGUvcm91dGUgb3B0aW9ucyB3aW5kb3dz
IGFyZSBpbnZpc2libGUgYXQgbWFwcy5nb29nbGUuY29tCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2xvYWRlci9hbGxvdy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1qYXZhc2Ny
aXB0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2FsbG93LXJlZGlyZWN0
LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAzMWYxOTQyY2UxYjg2Nzc5NDRkZWY3MjYwODU1ZDhiY2Y0NTNm
Y2RhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvbG9hZGVyL2FsbG93LXJlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLWph
dmFzY3JpcHQtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotZnJh
bWUgImZyYW1lIiAtIGRpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUKLW1haW4gZnJhbWUg
LSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQotZnJhbWUgImZyYW1lIiAtIGRpZENvbW1p
dExvYWRGb3JGcmFtZQotZnJhbWUgImZyYW1lIiAtIHdpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RU
b1VSTDogeC1kdW1teTovL0E9YSZCPWIgCi1mcmFtZSAiZnJhbWUiIC0gZGlkRmluaXNoRG9jdW1l
bnRMb2FkRm9yRnJhbWUKLW1haW4gZnJhbWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFt
ZQotZnJhbWUgImZyYW1lIiAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQotbWFpbiBmcmFtZSAtIGRp
ZEZpbmlzaExvYWRGb3JGcmFtZQotVGVzdHMgdGhhdCB3ZSBhbGxvdyByZWRpcmVjdGlvbiB0byBh
biBpbnZhbGlkIFVSTCBpbml0aWF0ZWQgYnkgSmF2YVNjcmlwdCB3aGVuIHNldHRpbmcgYWxsb3dO
YXZpZ2F0aW9uVG9JbnZhbGlkVVJMIGlzIHRydWUuIFRoaXMgdGVzdCBQQVNTRUQgaWYgeW91IHNl
ZSBhbiBlbnRyeSBpbiB0aGUgZHVtcGVkIGZyYW1lIGxvYWQgY2FsbGJhY2tzIG9mIHRoZSBmb3Jt
OiAid2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdFRvVVJMOiB4LWR1bW15Oi8vQT1hJkI9YiIuCi0K
LU5vdGUsIHRoaXMgdGVzdCBtdXN0IGJlIHJ1biBpbiBEdW1wUmVuZGVyVHJlZS4KLQotCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9hbGxvdy1yZWRpcmVjdC10by1pbnZhbGlk
LXVybC11c2luZy1qYXZhc2NyaXB0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9hbGxv
dy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0Lmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVkNWUwNGIxOGM1ZWZjNzJiMDlhMDNkMzAzODY5MzkyMDAy
NTI2YjIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9sb2FkZXIvYWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmct
amF2YXNjcmlwdC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotPCFET0NUWVBF
IGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikg
ewotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIuZHVtcEZyYW1l
TG9hZENhbGxiYWNrcygpOwotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotfQotCi1p
ZiAod2luZG93LmludGVybmFscykKLSAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFs
bG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCh0cnVlKTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci08cD5UZXN0cyB0aGF0IHdlIGFsbG93IHJlZGlyZWN0aW9uIHRvIGFuIGludmFsaWQgVVJM
IGluaXRpYXRlZCBieSBKYXZhU2NyaXB0IHdoZW4gc2V0dGluZyBhbGxvd05hdmlnYXRpb25Ub0lu
dmFsaWRVUkwgaXMgdHJ1ZS4gVGhpcyB0ZXN0IFBBU1NFRCBpZiB5b3Ugc2VlIGFuIGVudHJ5IGlu
IHRoZSBkdW1wZWQgZnJhbWUgbG9hZCBjYWxsYmFja3Mgb2YgdGhlIGZvcm06ICZxdW90O3dpbGxQ
ZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTDogeC1kdW1teTovL0E9YSZhbXA7Qj1iJnF1b3Q7Ljwv
cD4KLTxwPk5vdGUsIHRoaXMgdGVzdCBtdXN0IGJlIHJ1biBpbiBEdW1wUmVuZGVyVHJlZS48L3A+
Ci08aWZyYW1lIGlkPSJmcmFtZSIgc3JjPSJyZXNvdXJjZXMvcmVkaXJlY3QtdG8taW52YWxpZC11
cmwtdXNpbmctamF2YXNjcmlwdC5odG1sIj48L2lmcmFtZT4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBk
b25lKCkKLXsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIu
bm90aWZ5RG9uZSgpOwotfQotCi13aW5kb3cuc2V0VGltZW91dChkb25lLCAwKTsKLTwvc2NyaXB0
PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIv
YWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2FsbG93LXJlZGlyZWN0LXRvLWludmFsaWQt
dXJsLXVzaW5nLW1ldGEtcmVmcmVzaC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGI1ZmY4NTBiYzhkNmYyNWJiMWRmYWRmMzljODdlNTJmZDQ5ZjU2NzEuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9sb2FkZXIvYWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNo
LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLWZyYW1lICJmcmFt
ZSIgLSBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lCi1tYWluIGZyYW1lIC0gZGlkRmlu
aXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKLWZyYW1lICJmcmFtZSIgLSBkaWRDb21taXRMb2FkRm9y
RnJhbWUKLWZyYW1lICJmcmFtZSIgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQotZnJh
bWUgImZyYW1lIiAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCi1tYWluIGZyYW1lIC0g
ZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUKLWZyYW1lICJmcmFtZSIgLSB3aWxsUGVyZm9y
bUNsaWVudFJlZGlyZWN0VG9VUkw6IHgtZHVtbXk6Ly9BPWEmQj1iIAotZnJhbWUgImZyYW1lIiAt
IGRpZEZpbmlzaExvYWRGb3JGcmFtZQotbWFpbiBmcmFtZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFt
ZQotVGVzdHMgdGhhdCB3ZSBhbGxvdyByZWRpcmVjdGlvbiB0byBhbiBpbnZhbGlkIFVSTCBpbml0
aWF0ZWQgYnkgPG1ldGEgaHR0cC1lcXVpdj0icmVmcmVzaCI+IHdoZW4gc2V0dGluZyBhbGxvd05h
dmlnYXRpb25Ub0ludmFsaWRVUkwgaXMgdHJ1ZS4gVGhpcyB0ZXN0IFBBU1NFRCBpZiB5b3Ugc2Vl
IGFuIGVudHJ5IGluIHRoZSBkdW1wZWQgZnJhbWUgbG9hZCBjYWxsYmFja3Mgb2YgdGhlIGZvcm06
ICJ3aWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9VUkw6IHgtZHVtbXk6Ly9BPWEmQj1iIi4KLQot
Tm90ZSwgdGhpcyB0ZXN0IG11c3QgYmUgcnVuIGluIER1bXBSZW5kZXJUcmVlLgotCi0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2FsbG93LXJlZGlyZWN0LXRvLWludmFsaWQt
dXJsLXVzaW5nLW1ldGEtcmVmcmVzaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvYWxs
b3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRmODhhOWRkNTg1YjA2MWUyOWZjNTY2MTdiNDIyZmJl
MTBlODFiZDguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvYWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNp
bmctbWV0YS1yZWZyZXNoLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci5kdW1w
RnJhbWVMb2FkQ2FsbGJhY2tzKCk7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci19
Ci0KLWlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0QWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMKHRydWUpOwotPC9zY3JpcHQ+Ci08L2hlYWQ+
Ci08Ym9keT4KLTxwPlRlc3RzIHRoYXQgd2UgYWxsb3cgcmVkaXJlY3Rpb24gdG8gYW4gaW52YWxp
ZCBVUkwgaW5pdGlhdGVkIGJ5ICZsdDttZXRhIGh0dHAtZXF1aXY9JnF1b3Q7cmVmcmVzaCZxdW90
OyZndDsgd2hlbiBzZXR0aW5nIGFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCBpcyB0cnVlLiBU
aGlzIHRlc3QgUEFTU0VEIGlmIHlvdSBzZWUgYW4gZW50cnkgaW4gdGhlIGR1bXBlZCBmcmFtZSBs
b2FkIGNhbGxiYWNrcyBvZiB0aGUgZm9ybTogJnF1b3Q7d2lsbFBlcmZvcm1DbGllbnRSZWRpcmVj
dFRvVVJMOiB4LWR1bW15Oi8vQT1hJmFtcDtCPWImcXVvdDsuPC9wPgotPHA+Tm90ZSwgdGhpcyB0
ZXN0IG11c3QgYmUgcnVuIGluIER1bXBSZW5kZXJUcmVlLjwvcD4KLTxpZnJhbWUgaWQ9ImZyYW1l
IiBzcmM9InJlc291cmNlcy9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJl
c2guaHRtbCI+PC9pZnJhbWU+Ci08c2NyaXB0PgotZnVuY3Rpb24gZG9uZSgpCi17Ci0gICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0K
LQotd2luZG93LnNldFRpbWVvdXQoZG9uZSwgMCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2Rpc2FsbG93LXJlZGlyZWN0
LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9sb2FkZXIvZGlzYWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctamF2
YXNjcmlwdC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRiYTlm
MjJkYzJkYmI2ZTdmNTk0ZGFjOTYwMTJjNDg2MjQ5MmU1NmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvZGlzYWxs
b3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlwdC1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi1mcmFtZSAiZnJhbWUiIC0gZGlkU3RhcnRQ
cm92aXNpb25hbExvYWRGb3JGcmFtZQotbWFpbiBmcmFtZSAtIGRpZEZpbmlzaERvY3VtZW50TG9h
ZEZvckZyYW1lCi1mcmFtZSAiZnJhbWUiIC0gZGlkQ29tbWl0TG9hZEZvckZyYW1lCi1mcmFtZSAi
ZnJhbWUiIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKLWZyYW1lICJmcmFtZSIgLSBk
aWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQotbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9h
ZEV2ZW50c0ZvckZyYW1lCi1mcmFtZSAiZnJhbWUiIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCi1t
YWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCi1UZXN0cyB0aGF0IHdlIGRvIG5vdCBy
ZWRpcmVjdCB0byBhbiBpbnZhbGlkIFVSTCBpbml0aWF0ZWQgYnkgSmF2YVNjcmlwdCB3aGVuIHNl
dHRpbmcgYWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMIGlzIGZhbHNlLiBUaGlzIHRlc3QgUEFT
U0VEIGlmIHlvdSBkbyBub3Qgc2VlIGFuIGVudHJ5IGluIHRoZSBkdW1wZWQgZnJhbWUgbG9hZCBj
YWxsYmFja3Mgb2YgdGhlIGZvcm06ICJ3aWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9VUkw6IHgt
ZHVtbXk6Ly9BPWEmQj1iIi4KLQotTm90ZSwgdGhpcyB0ZXN0IG11c3QgYmUgcnVuIGluIER1bXBS
ZW5kZXJUcmVlLgotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2Rpc2Fs
bG93LXJlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvbG9hZGVyL2Rpc2FsbG93LXJlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5n
LWphdmFzY3JpcHQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmVmNDA1NmI2
MTMzM2U5ZmNjMzJjODUwMjk2OGU3ZTc0MjdjODkwZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9kaXNhbGxvdy1y
ZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0Lmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSwyOSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2Ny
aXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7Ci0gICAgdGVzdFJ1bm5lci5kdW1wRnJhbWVMb2FkQ2FsbGJhY2tzKCk7Ci0gICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7Ci19Ci0KLWlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIHdp
bmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMKGZh
bHNlKTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5UZXN0cyB0aGF0IHdlIGRvIG5v
dCByZWRpcmVjdCB0byBhbiBpbnZhbGlkIFVSTCBpbml0aWF0ZWQgYnkgSmF2YVNjcmlwdCB3aGVu
IHNldHRpbmcgYWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMIGlzIGZhbHNlLiBUaGlzIHRlc3Qg
UEFTU0VEIGlmIHlvdSBkbyBub3Qgc2VlIGFuIGVudHJ5IGluIHRoZSBkdW1wZWQgZnJhbWUgbG9h
ZCBjYWxsYmFja3Mgb2YgdGhlIGZvcm06ICZxdW90O3dpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RU
b1VSTDogeC1kdW1teTovL0E9YSZhbXA7Qj1iJnF1b3Q7LjwvcD4KLTxwPk5vdGUsIHRoaXMgdGVz
dCBtdXN0IGJlIHJ1biBpbiBEdW1wUmVuZGVyVHJlZS48L3A+Ci08aWZyYW1lIGlkPSJmcmFtZSIg
c3JjPSJyZXNvdXJjZXMvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlwdC5o
dG1sIj48L2lmcmFtZT4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBkb25lKCkKLXsKLSAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfQotCi13
aW5kb3cuc2V0VGltZW91dChkb25lLCAwKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvZGlzYWxsb3ctcmVkaXJlY3QtdG8t
aW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvbG9hZGVyL2Rpc2FsbG93LXJlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLW1ldGEt
cmVmcmVzaC1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhNDkw
MWU3Njg2ZGRkYzI0OGJhYmYxOWFlN2UwZGZiNzRmZDlmNTUuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvZGlzYWxs
b3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLWZyYW1lICJmcmFtZSIgLSBkaWRTdGFy
dFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lCi1tYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRM
b2FkRm9yRnJhbWUKLWZyYW1lICJmcmFtZSIgLSBkaWRDb21taXRMb2FkRm9yRnJhbWUKLWZyYW1l
ICJmcmFtZSIgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQotZnJhbWUgImZyYW1lIiAt
IGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCi1tYWluIGZyYW1lIC0gZGlkSGFuZGxlT25s
b2FkRXZlbnRzRm9yRnJhbWUKLWZyYW1lICJmcmFtZSIgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUK
LW1haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKLVRlc3RzIHRoYXQgd2UgZG8gbm90
IHJlZGlyZWN0IHRvIGFuIGludmFsaWQgVVJMIGluaXRpYXRlZCBieSA8bWV0YSBodHRwLWVxdWl2
PSJyZWZyZXNoIj4gd2hlbiBzZXR0aW5nIGFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCBpcyBm
YWxzZS4gVGhpcyB0ZXN0IFBBU1NFRCBpZiB5b3UgZG8gbm90IHNlZSBhbiBlbnRyeSBpbiB0aGUg
ZHVtcGVkIGZyYW1lIGxvYWQgY2FsbGJhY2tzIG9mIHRoZSBmb3JtOiAid2lsbFBlcmZvcm1DbGll
bnRSZWRpcmVjdFRvVVJMOiB4LWR1bW15Oi8vQT1hJkI9YiIuCi0KLU5vdGUsIHRoaXMgdGVzdCBt
dXN0IGJlIHJ1biBpbiBEdW1wUmVuZGVyVHJlZS4KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2xvYWRlci9kaXNhbGxvdy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1tZXRh
LXJlZnJlc2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2Rpc2FsbG93LXJlZGlyZWN0
LXRvLWludmFsaWQtdXJsLXVzaW5nLW1ldGEtcmVmcmVzaC5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAxMDhiNGE1OGQ3NTBiOGY3YTc0Y2Q3ZGVkYWY4MGY0ZmVmNTlkMjUyLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvbG9hZGVyL2Rpc2FsbG93LXJlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLW1ldGEt
cmVmcmVzaC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotPCFET0NUWVBFIGh0
bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewot
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHRlc3RSdW5uZXIuZHVtcEZyYW1lTG9h
ZENhbGxiYWNrcygpOwotICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwotfQotCi1pZiAo
d2luZG93LmludGVybmFscykKLSAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93
TmF2aWdhdGlvblRvSW52YWxpZFVSTChmYWxzZSk7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPHA+VGVzdHMgdGhhdCB3ZSBkbyBub3QgcmVkaXJlY3QgdG8gYW4gaW52YWxpZCBVUkwgaW5p
dGlhdGVkIGJ5ICZsdDttZXRhIGh0dHAtZXF1aXY9JnF1b3Q7cmVmcmVzaCZxdW90OyZndDsgd2hl
biBzZXR0aW5nIGFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCBpcyBmYWxzZS4gVGhpcyB0ZXN0
IFBBU1NFRCBpZiB5b3UgZG8gbm90IHNlZSBhbiBlbnRyeSBpbiB0aGUgZHVtcGVkIGZyYW1lIGxv
YWQgY2FsbGJhY2tzIG9mIHRoZSBmb3JtOiAmcXVvdDt3aWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0
VG9VUkw6IHgtZHVtbXk6Ly9BPWEmYW1wO0I9YiZxdW90Oy48L3A+Ci08cD5Ob3RlLCB0aGlzIHRl
c3QgbXVzdCBiZSBydW4gaW4gRHVtcFJlbmRlclRyZWUuPC9wPgotPGlmcmFtZSBpZD0iZnJhbWUi
IHNyYz0icmVzb3VyY2VzL3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLW1ldGEtcmVmcmVz
aC5odG1sIj48L2lmcmFtZT4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBkb25lKCkKLXsKLSAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfQot
Ci13aW5kb3cuc2V0VGltZW91dChkb25lLCAwKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxp
ZC11cmwtdXNpbmctamF2YXNjcmlwdC1jYWxscy1wb2xpY3ktZGVsZWdhdGUtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmct
amF2YXNjcmlwdC1jYWxscy1wb2xpY3ktZGVsZWdhdGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjA5YmQxZTU2MTZlZjBkODEyM2M4YTMyM2MwYWEyNmRmYjY4ODQ1MzgKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2lu
Zy1qYXZhc2NyaXB0LWNhbGxzLXBvbGljeS1kZWxlZ2F0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSw0IEBACitQb2xpY3kgZGVsZWdhdGU6IGF0dGVtcHQgdG8gbG9hZCBodHRwOi8vQT1hJkI9YiB3
aXRoIG5hdmlnYXRpb24gdHlwZSAnb3RoZXInCitUZXN0cyB0aGF0IHdlIGRvIG5vdCByZWRpcmVj
dCB0byBhbiBpbnZhbGlkIFVSTCBpbml0aWF0ZWQgYnkgSmF2YVNjcmlwdC4gVGhpcyB0ZXN0IFBB
U1NFRCBpZiB5b3Ugc2VlIGFuIGVudHJ5IGluIHRoZSBkdW1wZWQgZnJhbWUgbG9hZCBjYWxsYmFj
a3Mgb2YgdGhlIGZvcm06ICJ3aWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9VUkw6IGh0dHA6Ly9B
PWEmQj1iIiBmb2xsb3dlZCBieSAiZGlkQ2FuY2VsQ2xpZW50UmVkaXJlY3RGb3JGcmFtZSIuCisK
K05vdGUsIHRoaXMgdGVzdCBtdXN0IGJlIHJ1biBpbiBEdW1wUmVuZGVyVHJlZS4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5n
LWphdmFzY3JpcHQtY2FsbHMtcG9saWN5LWRlbGVnYXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0LWNhbGxzLXBv
bGljeS1kZWxlZ2F0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5Yzk3ZjcxYWMzY2YyMjYyZGI2Y2Q0M2U1
Y2IzOTg3YmJiYjgwZDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRl
ci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0LWNhbGxzLXBvbGljeS1k
ZWxlZ2F0ZS5odG1sCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLnNldEN1c3RvbVBvbGljeURlbGVnYXRlKHRy
dWUsIGZhbHNlKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UZXN0cyB0aGF0IHdlIGRvIG5vdCByZWRpcmVjdCB0byBh
biBpbnZhbGlkIFVSTCBpbml0aWF0ZWQgYnkgSmF2YVNjcmlwdC4gVGhpcyB0ZXN0IFBBU1NFRCBp
ZiB5b3Ugc2VlIGFuIGVudHJ5IGluIHRoZSBkdW1wZWQgZnJhbWUgbG9hZCBjYWxsYmFja3Mgb2Yg
dGhlIGZvcm06ICZxdW90O3dpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTDogaHR0cDovL0E9
YSZhbXA7Qj1iJnF1b3Q7IGZvbGxvd2VkIGJ5ICZxdW90O2RpZENhbmNlbENsaWVudFJlZGlyZWN0
Rm9yRnJhbWUmcXVvdDsuPC9wPgorPHA+Tm90ZSwgdGhpcyB0ZXN0IG11c3QgYmUgcnVuIGluIER1
bXBSZW5kZXJUcmVlLjwvcD4KKzxzY3JpcHQ+Cit3aW5kb3cubG9jYXRpb24uaHJlZiA9ICJodHRw
Oi8vQT1hJkI9YiI7Cit3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworfSwgMCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvbG9hZGVyL3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQtZGlzYWxs
b3dlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9yZWRpcmVjdC10by1p
bnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0LWRpc2FsbG93ZWQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjJiOTIzOWJkMzY1MTcyNzI1NTk1YTRlZmU4M2ZhNzg5ZDRjYjAyOGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVy
bC11c2luZy1qYXZhc2NyaXB0LWRpc2FsbG93ZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBA
QAorbWFpbiBmcmFtZSAtIHdpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTDogaHR0cDovL0E9
YSZCPWIgCittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKK21haW4g
ZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRDYW5jZWxDbGll
bnRSZWRpcmVjdEZvckZyYW1lCitUZXN0cyB0aGF0IHdlIGRvIG5vdCByZWRpcmVjdCB0byBhbiBp
bnZhbGlkIFVSTCBpbml0aWF0ZWQgYnkgSmF2YVNjcmlwdC4gVGhpcyB0ZXN0IFBBU1NFRCBpZiB5
b3Ugc2VlIGFuIGVudHJ5IGluIHRoZSBkdW1wZWQgZnJhbWUgbG9hZCBjYWxsYmFja3Mgb2YgdGhl
IGZvcm06ICJ3aWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9VUkw6IGh0dHA6Ly9BPWEmQj1iIiBm
b2xsb3dlZCBieSAiZGlkQ2FuY2VsQ2xpZW50UmVkaXJlY3RGb3JGcmFtZSIuCisKK05vdGUsIHRo
aXMgdGVzdCBtdXN0IGJlIHJ1biBpbiBEdW1wUmVuZGVyVHJlZS4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvbG9hZGVyL3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3Jp
cHQtZGlzYWxsb3dlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8t
aW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlwdC1kaXNhbGxvd2VkLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzVlZjYwOTBkZWMyZTFjZjc5NjVhMjY1ZDg1NWRhMGFhNWQyYjQ3ZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5n
LWphdmFzY3JpcHQtZGlzYWxsb3dlZC5odG1sCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
KyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLmR1bXBGcmFtZUxv
YWRDYWxsYmFja3MoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KKzwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UZXN0cyB0aGF0IHdlIGRvIG5vdCByZWRpcmVjdCB0
byBhbiBpbnZhbGlkIFVSTCBpbml0aWF0ZWQgYnkgSmF2YVNjcmlwdC4gVGhpcyB0ZXN0IFBBU1NF
RCBpZiB5b3Ugc2VlIGFuIGVudHJ5IGluIHRoZSBkdW1wZWQgZnJhbWUgbG9hZCBjYWxsYmFja3Mg
b2YgdGhlIGZvcm06ICZxdW90O3dpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTDogaHR0cDov
L0E9YSZhbXA7Qj1iJnF1b3Q7IGZvbGxvd2VkIGJ5ICZxdW90O2RpZENhbmNlbENsaWVudFJlZGly
ZWN0Rm9yRnJhbWUmcXVvdDsuPC9wPgorPHA+Tm90ZSwgdGhpcyB0ZXN0IG11c3QgYmUgcnVuIGlu
IER1bXBSZW5kZXJUcmVlLjwvcD4KKzxzY3JpcHQ+Cit3aW5kb3cubG9jYXRpb24uaHJlZiA9ICJo
dHRwOi8vQT1hJkI9YiI7Cit3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworfSwg
MCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvbG9hZGVyL3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLW1ldGEtcmVmcmVzaC1j
YWxscy1wb2xpY3ktZGVsZWdhdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9sb2Fk
ZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLWNhbGxzLXBvbGlj
eS1kZWxlZ2F0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWFhNWEwZjdmODBhYjYyNjIzYzc3
NmMzYTE4YmU5ZDM5NDJmNWE3NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
bG9hZGVyL3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLW1ldGEtcmVmcmVzaC1jYWxscy1w
b2xpY3ktZGVsZWdhdGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorUG9saWN5IGRlbGVn
YXRlOiBhdHRlbXB0IHRvIGxvYWQgaHR0cDovL0E9YSZCPWIgd2l0aCBuYXZpZ2F0aW9uIHR5cGUg
J290aGVyJworVGVzdHMgdGhhdCB3ZSBkbyBub3QgcmVkaXJlY3QgdG8gYW4gaW52YWxpZCBVUkwg
aW5pdGlhdGVkIGJ5IDxtZXRhIGh0dHAtZXF1aXY9InJlZnJlc2giPi4gVGhpcyB0ZXN0IFBBU1NF
RCBpZiB5b3Ugc2VlIGFuIGVudHJ5IGluIHRoZSBkdW1wZWQgZnJhbWUgbG9hZCBjYWxsYmFja3Mg
b2YgdGhlIGZvcm06ICJ3aWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9VUkw6IGh0dHA6Ly9BPWEm
Qj1iIiBmb2xsb3dlZCBieSAiZGlkQ2FuY2VsQ2xpZW50UmVkaXJlY3RGb3JGcmFtZSIuCisKK05v
dGUsIHRoaXMgdGVzdCBtdXN0IGJlIHJ1biBpbiBEdW1wUmVuZGVyVHJlZS4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLW1l
dGEtcmVmcmVzaC1jYWxscy1wb2xpY3ktZGVsZWdhdGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
bG9hZGVyL3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLW1ldGEtcmVmcmVzaC1jYWxscy1w
b2xpY3ktZGVsZWdhdGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMTJkZDMyYjE0ZjMzM2EwNGE3NGIxMDcz
NGRkZmMwYmI2YTE1YzhkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2Fk
ZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLWNhbGxzLXBvbGlj
eS1kZWxlZ2F0ZS5odG1sCkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGh0dHAtZXF1aXY9InJlZnJlc2giIGNvbnRlbnQ9IjA7IHVybD1odHRw
Oi8vQT1hJkI9YiI+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci5zZXRDdXN0b21Qb2xpY3lEZWxl
Z2F0ZSh0cnVlLCBmYWxzZSk7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cit9Cis8
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGVzdHMgdGhhdCB3ZSBkbyBub3QgcmVkaXJl
Y3QgdG8gYW4gaW52YWxpZCBVUkwgaW5pdGlhdGVkIGJ5ICZsdDttZXRhIGh0dHAtZXF1aXY9JnF1
b3Q7cmVmcmVzaCZxdW90OyZndDsuIFRoaXMgdGVzdCBQQVNTRUQgaWYgeW91IHNlZSBhbiBlbnRy
eSBpbiB0aGUgZHVtcGVkIGZyYW1lIGxvYWQgY2FsbGJhY2tzIG9mIHRoZSBmb3JtOiAmcXVvdDt3
aWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9VUkw6IGh0dHA6Ly9BPWEmYW1wO0I9YiZxdW90OyBm
b2xsb3dlZCBieSAmcXVvdDtkaWRDYW5jZWxDbGllbnRSZWRpcmVjdEZvckZyYW1lJnF1b3Q7Ljwv
cD4KKzxwPk5vdGUsIHRoaXMgdGVzdCBtdXN0IGJlIHJ1biBpbiBEdW1wUmVuZGVyVHJlZS48L3A+
Cis8c2NyaXB0PgorLy8gVGhpcyB1Z2x5IGRvdWJsZS10aW1lb3V0IGVuc3VyZXMgdGhhdCB0aGUg
c2NoZWR1bGVkIG1ldGEtcmVmcmVzaCwgd2hvc2UgdGltZXIgaXNuJ3QgZXZlbiBzdGFydGVkIHVu
dGlsIHRoZSBmcmFtZSBmaW5pc2hlcyBsb2FkaW5nLAorLy8gZmlyZXMgYmVmb3JlIG5vdGlmeURv
bmUoKSBpcyBjYWxsZWQsIGVuc3VyaW5nIHRoYXQgZGlkQ2FuY2VsQ2xpZW50UmVkaXJlY3RGb3JG
cmFtZSBpcyBsb2dnZWQgYnkgRHVtcFJlbmRlclRyZWUuCit3aW5kb3cuc2V0VGltZW91dChmdW5j
dGlvbigpIHsKKyAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
CisgICAgfSwgMCk7Cit9LCAwKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNp
bmctbWV0YS1yZWZyZXNoLWRpc2FsbG93ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLWRpc2Fs
bG93ZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY0OTM2ZmVhZjk2NTZiZmE5YjM4MjUzMDM1
MzJlY2Y3OWZiMDBjYmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRl
ci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJlc2gtZGlzYWxsb3dlZC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1l
bnRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFt
ZQorbWFpbiBmcmFtZSAtIHdpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTDogaHR0cDovL0E9
YSZCPWIgCittYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0g
ZGlkQ2FuY2VsQ2xpZW50UmVkaXJlY3RGb3JGcmFtZQorVGVzdHMgdGhhdCB3ZSBkbyBub3QgcmVk
aXJlY3QgdG8gYW4gaW52YWxpZCBVUkwgaW5pdGlhdGVkIGJ5IDxtZXRhIGh0dHAtZXF1aXY9InJl
ZnJlc2giPi4gVGhpcyB0ZXN0IFBBU1NFRCBpZiB5b3Ugc2VlIGFuIGVudHJ5IGluIHRoZSBkdW1w
ZWQgZnJhbWUgbG9hZCBjYWxsYmFja3Mgb2YgdGhlIGZvcm06ICJ3aWxsUGVyZm9ybUNsaWVudFJl
ZGlyZWN0VG9VUkw6IGh0dHA6Ly9BPWEmQj1iIiBmb2xsb3dlZCBieSAiZGlkQ2FuY2VsQ2xpZW50
UmVkaXJlY3RGb3JGcmFtZSIuCisKK05vdGUsIHRoaXMgdGVzdCBtdXN0IGJlIHJ1biBpbiBEdW1w
UmVuZGVyVHJlZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3JlZGlyZWN0
LXRvLWludmFsaWQtdXJsLXVzaW5nLW1ldGEtcmVmcmVzaC1kaXNhbGxvd2VkLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJl
ZnJlc2gtZGlzYWxsb3dlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMwY2VlODNlOTNhNjNmY2QyMTMzMzMz
Mzc0MmE3ZDFiNDM4ZGZlMWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2xv
YWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJlc2gtZGlzYWxsb3dl
ZC5odG1sCkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KzxtZXRhIGh0dHAtZXF1aXY9InJlZnJlc2giIGNvbnRlbnQ9IjA7IHVybD1odHRwOi8vQT1hJkI9
YiI+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci5kdW1wRnJhbWVMb2FkQ2FsbGJhY2tzKCk7Cisg
ICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHA+VGVzdHMgdGhhdCB3ZSBkbyBub3QgcmVkaXJlY3QgdG8gYW4gaW52YWxpZCBVUkwg
aW5pdGlhdGVkIGJ5ICZsdDttZXRhIGh0dHAtZXF1aXY9JnF1b3Q7cmVmcmVzaCZxdW90OyZndDsu
IFRoaXMgdGVzdCBQQVNTRUQgaWYgeW91IHNlZSBhbiBlbnRyeSBpbiB0aGUgZHVtcGVkIGZyYW1l
IGxvYWQgY2FsbGJhY2tzIG9mIHRoZSBmb3JtOiAmcXVvdDt3aWxsUGVyZm9ybUNsaWVudFJlZGly
ZWN0VG9VUkw6IGh0dHA6Ly9BPWEmYW1wO0I9YiZxdW90OyBmb2xsb3dlZCBieSAmcXVvdDtkaWRD
YW5jZWxDbGllbnRSZWRpcmVjdEZvckZyYW1lJnF1b3Q7LjwvcD4KKzxwPk5vdGUsIHRoaXMgdGVz
dCBtdXN0IGJlIHJ1biBpbiBEdW1wUmVuZGVyVHJlZS48L3A+Cis8c2NyaXB0PgorLy8gVGhpcyB1
Z2x5IGRvdWJsZS10aW1lb3V0IGVuc3VyZXMgdGhhdCB0aGUgc2NoZWR1bGVkIG1ldGEtcmVmcmVz
aCwgd2hvc2UgdGltZXIgaXNuJ3QgZXZlbiBzdGFydGVkIHVudGlsIHRoZSBmcmFtZSBmaW5pc2hl
cyBsb2FkaW5nLAorLy8gZmlyZXMgYmVmb3JlIG5vdGlmeURvbmUoKSBpcyBjYWxsZWQsIGVuc3Vy
aW5nIHRoYXQgZGlkQ2FuY2VsQ2xpZW50UmVkaXJlY3RGb3JGcmFtZSBpcyBsb2dnZWQgYnkgRHVt
cFJlbmRlclRyZWUuCit3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICB3aW5kb3cu
c2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfSwgMCk7Cit9LCAwKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9sb2FkZXIvcmVzb3VyY2VzL3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3Jp
cHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3Jlc291cmNlcy9yZWRpcmVjdC10by1p
bnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGMwN2YyMWQ5MjkzOTM0OGY3NmE3NTg3YzAzZTJiNjRhODJkMTk1ZGMuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9s
b2FkZXIvcmVzb3VyY2VzL3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQu
aHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08c2Ny
aXB0Pgotd2luZG93LmxvY2F0aW9uLmhyZWYgPSAieC1kdW1teTovL0E9YSZCPWIiOwotPC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9yZXNvdXJjZXMvcmVkaXJl
Y3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2xvYWRlci9yZXNvdXJjZXMvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1y
ZWZyZXNoLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU1YjY1ZGFjMjM1Nzhk
NDYyN2RjNzk1NDU5YmNiNGY3NDMxNGIyZDYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvcmVzb3VyY2VzL3JlZGly
ZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLW1ldGEtcmVmcmVzaC5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsNiArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPG1l
dGEgaHR0cC1lcXVpdj0icmVmcmVzaCIgY29udGVudD0iMDsgdXJsPXgtZHVtbXk6Ly9BPWEmQj1i
Ij4KLTwvaGVhZD4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVy
L3dpbmRvdy1vcGVuLXRvLWludmFsaWQtdXJsLWNhbGxzLXBvbGljeS1kZWxlZ2F0ZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci93aW5kb3ctb3Blbi10by1pbnZhbGlkLXVy
bC1jYWxscy1wb2xpY3ktZGVsZWdhdGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjODIyNzg4
NTIzZDg0ZTdiM2MwMzU3MmViOTlmZDY1ZmU3MTAzNDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2xvYWRlci93aW5kb3ctb3Blbi10by1pbnZhbGlkLXVybC1jYWxscy1wb2xp
Y3ktZGVsZWdhdGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorUG9saWN5IGRlbGVnYXRl
OiBhdHRlbXB0IHRvIGxvYWQgaHR0cDovL0E9YSZCPWIgd2l0aCBuYXZpZ2F0aW9uIHR5cGUgJ290
aGVyJworVGVzdHMgdGhhdCB3ZSBjYWxsIHRoZSBuYXZpZ2F0aW9uIHBvbGljeSBkZWxlZ2F0ZSB3
aGVuIG9wZW5pbmcgYSBuZXcgd2luZG93IHRvIGFuIGludmFsaWQgVVJMLgorCitOb3RlLCB0aGlz
IHRlc3QgbXVzdCBiZSBydW4gaW4gRHVtcFJlbmRlclRyZWUuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2xvYWRlci93aW5kb3ctb3Blbi10by1pbnZhbGlkLXVybC1jYWxscy1wb2xpY3kt
ZGVsZWdhdGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3dpbmRvdy1vcGVuLXRvLWlu
dmFsaWQtdXJsLWNhbGxzLXBvbGljeS1kZWxlZ2F0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxZWU0YTBh
M2IzY2I0NjNjODJlOWZkMjJlOTAzNWMwNjY4Zjc3ODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2xvYWRlci93aW5kb3ctb3Blbi10by1pbnZhbGlkLXVybC1jYWxscy1wb2xp
Y3ktZGVsZWdhdGUuaHRtbApAQCAtMCwwICsxLDI0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci5zZXRDdXN0b21Qb2xpY3lEZWxlZ2F0
ZSh0cnVlLCBmYWxzZSk7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgdGVz
dFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwPlRlc3RzIHRoYXQgd2UgY2FsbCB0aGUgbmF2aWdhdGlvbiBwb2xpY3kgZGVsZWdhdGUg
d2hlbiBvcGVuaW5nIGEgbmV3IHdpbmRvdyB0byBhbiBpbnZhbGlkIFVSTC48L3A+Cis8cD5Ob3Rl
LCB0aGlzIHRlc3QgbXVzdCBiZSBydW4gaW4gRHVtcFJlbmRlclRyZWUuPC9wPgorPHNjcmlwdD4K
K3dpbmRvdy5vcGVuKCJodHRwOi8vQT1hJkI9YiIsICJfdG9wIik7Cit3aW5kb3cuc2V0VGltZW91
dChmdW5jdGlvbigpIHsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RS
dW5uZXIubm90aWZ5RG9uZSgpOworfSwgMCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3dpbmRvdy1vcGVuLXRvLWludmFs
aWQtdXJsLWRpc2FsbG93ZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIv
d2luZG93LW9wZW4tdG8taW52YWxpZC11cmwtZGlzYWxsb3dlZC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODVhYjRjN2RlZWJhNWM4ZTFlMjcyYzExYzIwZDM5ZGYzM2I5M2JmMAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3dpbmRvdy1vcGVuLXRvLWludmFsaWQt
dXJsLWRpc2FsbG93ZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorbWFpbiBmcmFtZSAt
IHdpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTDogaHR0cDovL0E9YSZCPWIgCittYWluIGZy
YW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRGaW5p
c2hMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRDYW5jZWxDbGllbnRSZWRpcmVjdEZvckZy
YW1lCitUZXN0cyB0aGF0IHdlIGRvIG5vdCBvcGVuIGEgbmV3IHdpbmRvdyB0byBhbiBpbnZhbGlk
IFVSTC4gVGhpcyB0ZXN0IFBBU1NFRCBpZiB5b3Ugc2VlIGFuIGVudHJ5IGluIHRoZSBkdW1wZWQg
ZnJhbWUgbG9hZCBjYWxsYmFja3Mgb2YgdGhlIGZvcm06ICJ3aWxsUGVyZm9ybUNsaWVudFJlZGly
ZWN0VG9VUkw6IGh0dHA6Ly9BPWEmQj1iIiBmb2xsb3dlZCBieSAiZGlkQ2FuY2VsQ2xpZW50UmVk
aXJlY3RGb3JGcmFtZSIuCisKK05vdGUsIHRoaXMgdGVzdCBtdXN0IGJlIHJ1biBpbiBEdW1wUmVu
ZGVyVHJlZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3dpbmRvdy1vcGVu
LXRvLWludmFsaWQtdXJsLWRpc2FsbG93ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVy
L3dpbmRvdy1vcGVuLXRvLWludmFsaWQtdXJsLWRpc2FsbG93ZWQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
MDQyNTllZmI0Y2Q1YzgzZTVkYjk4MDM1ZGZmZTliMmQ2OTIwN2E2Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvd2luZG93LW9wZW4tdG8taW52YWxpZC11cmwtZGlz
YWxsb3dlZC5odG1sCkBAIC0wLDAgKzEsMjQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLmR1bXBGcmFtZUxvYWRDYWxsYmFja3MoKTsK
KyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB0ZXN0UnVubmVyLnNldENhbk9w
ZW5XaW5kb3dzKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGVzdHMgdGhh
dCB3ZSBkbyBub3Qgb3BlbiBhIG5ldyB3aW5kb3cgdG8gYW4gaW52YWxpZCBVUkwuIFRoaXMgdGVz
dCBQQVNTRUQgaWYgeW91IHNlZSBhbiBlbnRyeSBpbiB0aGUgZHVtcGVkIGZyYW1lIGxvYWQgY2Fs
bGJhY2tzIG9mIHRoZSBmb3JtOiAmcXVvdDt3aWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9VUkw6
IGh0dHA6Ly9BPWEmYW1wO0I9YiZxdW90OyBmb2xsb3dlZCBieSAmcXVvdDtkaWRDYW5jZWxDbGll
bnRSZWRpcmVjdEZvckZyYW1lJnF1b3Q7LjwvcD4KKzxwPk5vdGUsIHRoaXMgdGVzdCBtdXN0IGJl
IHJ1biBpbiBEdW1wUmVuZGVyVHJlZS48L3A+Cis8c2NyaXB0Pgord2luZG93Lm9wZW4oImh0dHA6
Ly9BPWEmQj1iIiwgIl90b3AiKTsKK3dpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7
Cit9LCAwKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236761</attachid>
            <date>2014-08-18 06:14:06 -0700</date>
            <delta_ts>2014-08-18 08:55:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136010-20140818061357.patch</filename>
            <type>text/plain</type>
            <size>67214</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyNjk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2MxZGJhMWU4NTJmZWUz
NjEwODYxYjU1OTYyZTJlZTIxNTBlMzdhYy4uYjg3ZmQzZWNhNjg4NjJhOTEyNmY2YTRjMzRhYzgw
OWJiNzEwZTRmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDY3IEBACiAyMDE0LTA4LTE4ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KIAorICAgICAgICBSRUdSRVNTSU9OIChyMTY3ODU2
KTogYWRvYmUuY29tIG5vIGxvbmdlciBhYmxlIHRvIGxhdW5jaCBDcmVhdGUgQ2xvdWQgYXBwIHVz
aW5nIGEgVVJMIHdpdGggYSBjdXN0b20gc2NoZW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzYwMTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICByMTY3ODU2IGNhdXNlZCBXZWJLaXQgdG8gc3RvcCBzY2hl
ZHVsaW5nIGNlcnRhaW4ga2luZHMgb2YgbmF2aWdhdGlvbnMgKHdpbmRvdy5sb2NhdGlvbiBjaGFu
Z2VzLCBtZXRhLXJlZnJlc2gsCisgICAgICAgIGFuZCBzb21lIGNhbGxzIHRvIHdpbmRvdy5vcGVu
KSB3aGVuIHRoZSByZXF1ZXN0IFVSTCBpcyBpbnZhbGlkLiBBZG9iZS5jb20gcGVyZm9ybXMgb25l
IG9mIHRoZXNlIG5hdmlnYXRpb25zIHRvCisgICAgICAgIGFuIGludmFsaWQgVVJMIHdpdGggYW4g
ZXh0ZXJuYWwgc2NoZW1lIChhYW06KSwgcmVseWluZyBvbiBTYWZhcmkncyBuYXZpZ2F0aW9uIHBv
bGljeSBkZWxlZ2F0ZSB0byBpZ25vcmUgdGhlCisgICAgICAgIG5hdmlnYXRpb24gYW5kIGxhdW5j
aCB0aGUgZXh0ZXJuYWwgYXBwIHJlZ2lzdGVyZWQgdG8gaGFuZGxlIGFhbTogVVJMcy4gU2luY2Ug
dGhlIG5hdmlnYXRpb24gaXMgbm8gbG9uZ2VyCisgICAgICAgIHNjaGVkdWxlZCwgdGhlIHBvbGlj
eSBkZWxlZ2F0ZSBpcyBuZXZlciBleGVjdXRlZCBhbmQgdGhlIGV4dGVybmFsIGFwcCBuZXZlciBs
YXVuY2hlcy4KKworICAgICAgICBJbnN0ZWFkIG9mIG5vdCBzY2hlZHVsaW5nIHRoZSBuYXZpZ2F0
aW9uLCBhbGxvdyBpdCB0byBwcm9jZWVkIHVudGlsIHRoZSBjbGllbnQncyBwb2xpY3kgZGVsZWdh
dGUgaGFzIGV4ZWN1dGVkCisgICAgICAgIGFuZCBtYWRlIGEgZGVjaXNpb24uIE9ubHkgZGlzYWxs
b3cgdGhlIG5hdmlnYXRpb24gaWYgdGhlIHBvbGljeSBkZWxlZ2F0ZSB0b2xkIFdlYktpdCB0byBw
cm9jZWVkIHdpdGggdGhlIGxvYWQuCisgICAgICAgIFRoaXMgZXhwb3NlcyB0aGVzZSBuYXZpZ2F0
aW9ucyB0byBjbGllbnRzIHZpYSB0aGUgcG9saWN5IGRlbGVnYXRlIGFuZCB2aWEgd2lsbFBlcmZv
cm1DbGllbnRSZWRpcmVjdFRvVVJMIGFuZAorICAgICAgICBkaWRDYW5jZWxDbGllbnRSZWRpcmVj
dEZvckZyYW1lIG9uIHRoZSBmcmFtZSBsb2FkIGRlbGVnYXRlLgorICAgICAgICAKKyAgICAgICAg
VG8gY29uc3RyYWluIHRoaXMgY2hlY2sgb25seSB0byB0aGUgbmF2aWdhdGlvbiB0eXBlcyBjb3Zl
cmVkIGJ5IHIxNjc4NTYsIG9ubHkgdHdvIE5hdmlnYXRpb25TY2hlZHVsZXJzCisgICAgICAgIChT
Y2hlZHVsZWRSZWRpcmVjdCBhbmQgU2NoZWR1bGVkTG9jYXRpb25DaGFuZ2UpIGVuYWJsZSB0aGUg
aW52YWxpZCBVUkwgY2hlY2suCisKKyAgICAgICAgTm90ZSB0aGF0IHIxNjc4NTYgYWxzbyBjYXVz
ZWQgYW4gaU9TIHJlZ3Jlc3Npb24sIGFuZCB0aGlzIHdhcyByZXNvbHZlZCBpbiByMTcwMTIwIGJ5
IGFkZGluZyBhIGxpbmtlZC1vbi1vci1hZnRlcgorICAgICAgICBjaGVjayBhbmQgYSBXZWJDb3Jl
IHNldHRpbmcuIFNpbmNlIHRoZSBpT1MgcmVncmVzc2lvbiBpcyBhbHNvIHJlc29sdmVkIGJ5IHRo
ZSBhcHByb2FjaCBkZXNjcmliZWQgYWJvdmUsIHRoaXMKKyAgICAgICAgcGF0Y2ggcmV2ZXJ0cyBy
MTcwMTIwIChidXQga2VlcHMgc29tZSBvZiBpdHMgdGVzdHMpLgorCisgICAgICAgIFRlc3RzOiBm
YXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0LWNhbGxz
LXBvbGljeS1kZWxlZ2F0ZS5odG1sCisgICAgICAgICAgICAgICBmYXN0L2xvYWRlci9yZWRpcmVj
dC10by1pbnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0LWRpc2FsbG93ZWQuaHRtbAorICAgICAg
ICAgICAgICAgZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1y
ZWZyZXNoLWNhbGxzLXBvbGljeS1kZWxlZ2F0ZS5odG1sCisgICAgICAgICAgICAgICBmYXN0L2xv
YWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJlc2gtZGlzYWxsb3dl
ZC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2xvYWRlci93aW5kb3ctb3Blbi10by1pbnZhbGlk
LXVybC1jYWxscy1wb2xpY3ktZGVsZWdhdGUuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9sb2Fk
ZXIvd2luZG93LW9wZW4tdG8taW52YWxpZC11cmwtZGlzYWxsb3dlZC5odG1sCisKKyAgICAgICAg
KiBXZWJDb3JlLmV4cC5pbjogVXBkYXRlZCB0aGUgc3ltYm9sIEZyYW1lTG9hZGVyOjpsb2FkRnJh
bWVSZXF1ZXN0LgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZUxvYWRlcjo6Y2hhbmdlTG9jYXRpb24pOiBBZGRlZCBhbiBBbGxvd05hdmln
YXRpb25Ub0ludmFsaWRVUkwgYXJndW1lbnQ7IHBhc3NlZCBkb3duIHRvIHVybFNlbGVjdGVkLgor
ICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnVybFNlbGVjdGVkKTogQWRkZWQgYW4gQWxs
b3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMIGFyZ3VtZW50OyBwYXNzZWQgZG93biB0byBsb2FkRnJh
bWVSZXF1ZXN0LgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmxvYWRVUkxJbnRvQ2hp
bGRGcmFtZSk6IFBhc3NlZCBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkw6OlllcyB0byBsb2Fk
VVJMLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmxvYWRGcmFtZVJlcXVlc3QpOiBB
ZGRlZCBhbiBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwgYXJndW1lbnQ7IHBhc3NlZCBkb3du
IHRvIGxvYWRVUkwgYW5kIGxvYWRQb3N0UmVxdWVzdC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
TG9hZGVyOjpsb2FkVVJMKTogQWRkZWQgYW4gQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMIGFy
Z3VtZW50OyBwYXNzZWQgZG93biB0byBjb250aW51ZUxvYWRBZnRlck5ld1dpbmRvd1BvbGljeSBh
bmQgbG9hZFdpdGhOYXZpZ2F0aW9uQWN0aW9uLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2Fk
ZXI6OmxvYWRQb3N0UmVxdWVzdCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2Fk
ZXI6OmxvYWQpOiBQYXNzZWQgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMOjpZZXMgdG8gY29u
dGludWVMb2FkQWZ0ZXJOZXdXaW5kb3dQb2xpY3kuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxv
YWRlcjo6bG9hZFdpdGhOYXZpZ2F0aW9uQWN0aW9uKTogQWRkZWQgYW4gQWxsb3dOYXZpZ2F0aW9u
VG9JbnZhbGlkVVJMIGFyZ3VtZW50OyBwYXNzZWQgZG93biB0byBsb2FkV2l0aERvY3VtZW50TG9h
ZGVyLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmxvYWRXaXRoRG9jdW1lbnRMb2Fk
ZXIpOiBBZGRlZCBhbiBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwgYXJndW1lbnQ7IHBhc3Nl
ZCBkb3duIHRvIGNvbnRpbnVlTG9hZEFmdGVyTmF2aWdhdGlvblBvbGljeS4KKyAgICAgICAgKFdl
YkNvcmU6OkZyYW1lTG9hZGVyOjpyZWxvYWRXaXRoT3ZlcnJpZGVFbmNvZGluZyk6IFBhc3NlZCBB
bGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkw6OlllcyB0byBsb2FkV2l0aERvY3VtZW50TG9hZGVy
LgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnJlbG9hZCk6IERpdHRvLgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmNvbnRpbnVlTG9hZEFmdGVyTmF2aWdhdGlvblBvbGlj
eSk6CisgICAgICAgICAgICBBZGRlZCBhbiBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwgYXJn
dW1lbnQ7IGlmIGl0cyB2YWx1ZSBpcyBObyBhbmQgdGhlIHJlcXVlc3QncyBVUkwgaXMgaW52YWxp
ZCwgZG8gbm90IGNvbnRpbnVlLgorICAgICAgICAgICAgQWRkZWQgYSBGSVhNRSBhYm91dCBjYWxs
aW5nIGNsaWVudFJlZGlyZWN0Q2FuY2VsbGVkT3JGaW5pc2hlZCBvbiBub24tcXVpY2sgcmVkaXJl
Y3QgY2FuY2VsbGF0aW9ucy4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpjb250aW51
ZUxvYWRBZnRlck5ld1dpbmRvd1BvbGljeSk6IEFkZGVkIGFuIEFsbG93TmF2aWdhdGlvblRvSW52
YWxpZFVSTCBhcmd1bWVudDsgcGFzc2VkIGRvd24gdG8gbG9hZFdpdGhOYXZpZ2F0aW9uQWN0aW9u
LgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OmxvYWREaWZmZXJlbnREb2N1bWVudEl0
ZW0pOiBQYXNzZWQgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMOjpZZXMgdG8gZWl0aGVyIGxv
YWRXaXRoRG9jdW1lbnRMb2FkZXIgb3IgbG9hZFdpdGhOYXZpZ2F0aW9uQWN0aW9uLgorICAgICAg
ICAqIGxvYWRlci9GcmFtZUxvYWRlci5oOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlclR5
cGVzLmg6IERlZmluZWQgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMIHRvIGhhdmUgdmFsdWVz
IG9mIFllcyBhbmQgTm8uCisgICAgICAgICogbG9hZGVyL05hdmlnYXRpb25TY2hlZHVsZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2NoZWR1bGVkUmVkaXJlY3Q6OmZpcmUpOiBQYXNzZWQgQWxs
b3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMOjpObyB0byBGcmFtZUxvYWRlcjo6Y2hhbmdlTG9jYXRp
b24uCisgICAgICAgIChXZWJDb3JlOjpTY2hlZHVsZWRMb2NhdGlvbkNoYW5nZTo6ZmlyZSk6IERp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdGlvblNjaGVkdWxlcjo6c2hvdWxkU2NoZWR1
bGVOYXZpZ2F0aW9uKTogUmVtb3ZlZCB0aGUgVVJMOjppc1ZhbGlkIGNoZWNrLgorICAgICAgICAo
V2ViQ29yZTo6TmF2aWdhdGlvblNjaGVkdWxlcjo6c2NoZWR1bGVMb2NhdGlvbkNoYW5nZSk6IFBh
c3NlZCBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkw6Ok5vIHRvIEZyYW1lTG9kZXI6OmNoYW5n
ZUxvY2F0aW9uIGR1cmluZyBmcmFnbWVudCBuYXZpZ2F0aW9ucy4KKyAgICAgICAgKiBwYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpvcGVuTmV3V2luZG93
KTogUGFzc2VkIEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTDo6WWVzIHRvIEZyYW1lTG9hZGVy
Ojpsb2FkRnJhbWVSZXF1ZXN0LgorICAgICAgICAoV2ViQ29yZTo6Q29udGV4dE1lbnVDb250cm9s
bGVyOjpjb250ZXh0TWVudUl0ZW1TZWxlY3RlZCk6IERpdHRvLgorICAgICAgICAqIHBhZ2UvU2V0
dGluZ3MuaW46IFJlbW92ZWQgYWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMLgorCisyMDE0LTA4
LTE4ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKwogICAgICAgICBSZXZlcnQgcjE3
MjY5Ny4KIAogICAgICAgICBJdCBtYWRlIHNldmVyYWwgd2ViYXJjaGl2ZSBsYXlvdXQgdGVzdHMg
Zmxha3kgYW5kIGRpZG4ndCBoYXZlIHRoZSBjb3JyZWN0IGJlaGF2aW9yIGZvciBub24tcXVpY2sg
cmVkaXJlY3RzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDJjYWY0MmNiM2RkNzY5MWFlZWMyYzk3OTgy
ZWEwZmQ0YzZmNjRiYTAuLjJhNDFlOGE2NGJhNzkxZDc3ZTYzYjBkZTU4OGU2Nzc2NWYzZjI3NDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxOCBAQAogMjAxNC0wOC0xOCAgQW5keSBFc3Rl
cyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKKyAgICAgICAgUkVHUkVTU0lPTiAocjE2Nzg1Nik6IGFk
b2JlLmNvbSBubyBsb25nZXIgYWJsZSB0byBsYXVuY2ggQ3JlYXRlIENsb3VkIGFwcCB1c2luZyBh
IFVSTCB3aXRoIGEgY3VzdG9tIHNjaGVtZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTM2MDEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBNaXNjL1dlYktpdFZlcnNpb25DaGVja3MuaDogUmVtb3ZlZCBX
RUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX05BVklHQVRJT05fVVJMX1ZBTElEQVRJT04uCisgICAg
ICAgICogV2ViVmlldy9XZWJQREZWaWV3Lm1tOgorICAgICAgICAoLVtXZWJQREZWaWV3IFBERlZp
ZXdXaWxsQ2xpY2tPbkxpbms6d2l0aFVSTDpdKTogUGFzc2VkIEFsbG93TmF2aWdhdGlvblRvSW52
YWxpZFVSTDo6WWVzIHRvIEZyYW1lTG9hZGVyOjpsb2FkRnJhbWVSZXF1ZXN0LgorICAgICAgICAq
IFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXNDaGFu
Z2VkOl0pOiBSZXZlcnRlZCB0aGUgbGlua2VkLW9uLW9yLWFmdGVyIGNoZWNrIGFkZGVkIGluIHIx
NzAxMjAgc2luY2UgaXQncyBubyBsb25nZXIgbmVjZXNzYXJ5LgorCisyMDE0LTA4LTE4ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKwogICAgICAgICBSZXZlcnQgcjE3MjY5Ny4KIAog
ICAgICAgICBJdCBtYWRlIHNldmVyYWwgd2ViYXJjaGl2ZSBsYXlvdXQgdGVzdHMgZmxha3kgYW5k
IGRpZG4ndCBoYXZlIHRoZSBjb3JyZWN0IGJlaGF2aW9yIGZvciBub24tcXVpY2sgcmVkaXJlY3Rz
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA1MjVlMzU0YjAzZjJkNmZkNmU4ZTUyZTRkNjVhYTA1
YjU5MWNmNTQ1Li43MGU4ZTY3MThkZThhZjBlZWIwNWFkM2VlM2E0OWJlMTlmODkxZmFmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTQwLDcgKzE0MCw3IEBAIF9fWk43V2ViQ29yZTExRnJhbWVM
b2FkZXIxMXVybFNlbGVjdGVkRVJLTlNfM1VSTEVSS04zV1RGNlN0cmluZ0VOUzRfMTBQYXNzUmVm
UHRyCiBfX1pON1dlYkNvcmUxMUZyYW1lTG9hZGVyMTRkZXRhY2hDaGlsZHJlbkV2CiBfX1pON1dl
YkNvcmUxMUZyYW1lTG9hZGVyMTRzdG9wQWxsTG9hZGVyc0VOU18yNkNsZWFyUHJvdmlzaW9uYWxJ
dGVtUG9saWN5RQogX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjE2ZGV0YWNoRnJvbVBhcmVudEV2
Ci1fX1pON1dlYkNvcmUxMUZyYW1lTG9hZGVyMTZsb2FkRnJhbWVSZXF1ZXN0RVJLTlNfMTZGcmFt
ZUxvYWRSZXF1ZXN0RU5TXzExTG9ja0hpc3RvcnlFTlNfMTlMb2NrQmFja0ZvcndhcmRMaXN0RU4z
V1RGMTBQYXNzUmVmUHRySU5TXzVFdmVudEVFRU5TN19JTlNfOUZvcm1TdGF0ZUVFRU5TXzE4U2hv
dWxkU2VuZFJlZmVycmVyRQorX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjE2bG9hZEZyYW1lUmVx
dWVzdEVSS05TXzE2RnJhbWVMb2FkUmVxdWVzdEVOU18xMUxvY2tIaXN0b3J5RU5TXzE5TG9ja0Jh
Y2tGb3J3YXJkTGlzdEVOM1dURjEwUGFzc1JlZlB0cklOU181RXZlbnRFRUVOUzdfSU5TXzlGb3Jt
U3RhdGVFRUVOU18xOFNob3VsZFNlbmRSZWZlcnJlckVOU18yN0FsbG93TmF2aWdhdGlvblRvSW52
YWxpZFVSTEUKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIxN3N0b3BGb3JVc2VyQ2FuY2VsRWIK
IF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIyMWxvYWRVUkxJbnRvQ2hpbGRGcmFtZUVSS05TXzNV
UkxFUktOM1dURjZTdHJpbmdFUE5TXzVGcmFtZUUKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIy
MmZpbmRGcmFtZUZvck5hdmlnYXRpb25FUktOM1dURjEyQXRvbWljU3RyaW5nRVBOU184RG9jdW1l
bnRFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCBlNWM4ZGEyOTc0M2Fl
OWNjMjliYmJkZGY1OTZhNjc0NzdkYTUwMDhiLi4zMjU4YmNlNDhlZGYyMGExMGZhMGUwNmI5ZjBl
MzljMGM3ZGQ3YTEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTMy
MCwyMSArMzIwLDIxIEBAIHZvaWQgRnJhbWVMb2FkZXI6OnNldERlZmVyc0xvYWRpbmcoYm9vbCBk
ZWZlcnMpCiAgICAgfQogfQogCi12b2lkIEZyYW1lTG9hZGVyOjpjaGFuZ2VMb2NhdGlvbihTZWN1
cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4sIGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcm
IHJlZmVycmVyLCBMb2NrSGlzdG9yeSBsb2NrSGlzdG9yeSwgTG9ja0JhY2tGb3J3YXJkTGlzdCBs
b2NrQmFja0ZvcndhcmRMaXN0LCBib29sIHJlZnJlc2gpCit2b2lkIEZyYW1lTG9hZGVyOjpjaGFu
Z2VMb2NhdGlvbihTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4sIGNvbnN0IFVSTCYgdXJs
LCBjb25zdCBTdHJpbmcmIHJlZmVycmVyLCBMb2NrSGlzdG9yeSBsb2NrSGlzdG9yeSwgTG9ja0Jh
Y2tGb3J3YXJkTGlzdCBsb2NrQmFja0ZvcndhcmRMaXN0LCBib29sIHJlZnJlc2gsIEFsbG93TmF2
aWdhdGlvblRvSW52YWxpZFVSTCBhbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwpCiB7CiAgICAg
dXJsU2VsZWN0ZWQoRnJhbWVMb2FkUmVxdWVzdChzZWN1cml0eU9yaWdpbiwgUmVzb3VyY2VSZXF1
ZXN0KHVybCwgcmVmZXJyZXIsIHJlZnJlc2ggPyBSZWxvYWRJZ25vcmluZ0NhY2hlRGF0YSA6IFVz
ZVByb3RvY29sQ2FjaGVQb2xpY3kpLCAiX3NlbGYiKSwKLSAgICAgICAgMCwgbG9ja0hpc3Rvcnks
IGxvY2tCYWNrRm9yd2FyZExpc3QsIE1heWJlU2VuZFJlZmVycmVyLCBSZXBsYWNlRG9jdW1lbnRJ
ZkphdmFTY3JpcHRVUkwpOworICAgICAgICAwLCBsb2NrSGlzdG9yeSwgbG9ja0JhY2tGb3J3YXJk
TGlzdCwgTWF5YmVTZW5kUmVmZXJyZXIsIFJlcGxhY2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCwg
YWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMKTsKIH0KIAogdm9pZCBGcmFtZUxvYWRlcjo6dXJs
U2VsZWN0ZWQoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgcGFzc2VkVGFyZ2V0LCBQYXNz
UmVmUHRyPEV2ZW50PiB0cmlnZ2VyaW5nRXZlbnQsIExvY2tIaXN0b3J5IGxvY2tIaXN0b3J5LCBM
b2NrQmFja0ZvcndhcmRMaXN0IGxvY2tCYWNrRm9yd2FyZExpc3QsIFNob3VsZFNlbmRSZWZlcnJl
ciBzaG91bGRTZW5kUmVmZXJyZXIpCiB7CiAgICAgdXJsU2VsZWN0ZWQoRnJhbWVMb2FkUmVxdWVz
dChtX2ZyYW1lLmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCksIFJlc291cmNlUmVxdWVzdCh1
cmwpLCBwYXNzZWRUYXJnZXQpLAotICAgICAgICB0cmlnZ2VyaW5nRXZlbnQsIGxvY2tIaXN0b3J5
LCBsb2NrQmFja0ZvcndhcmRMaXN0LCBzaG91bGRTZW5kUmVmZXJyZXIsIERvTm90UmVwbGFjZURv
Y3VtZW50SWZKYXZhU2NyaXB0VVJMKTsKKyAgICAgICAgdHJpZ2dlcmluZ0V2ZW50LCBsb2NrSGlz
dG9yeSwgbG9ja0JhY2tGb3J3YXJkTGlzdCwgc2hvdWxkU2VuZFJlZmVycmVyLCBEb05vdFJlcGxh
Y2VEb2N1bWVudElmSmF2YVNjcmlwdFVSTCwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMOjpZ
ZXMpOwogfQogCiAvLyBUaGUgc2hvdWxkUmVwbGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMIHBh
cmFtZXRlciB3aWxsIGdvIGF3YXkgd2hlbiB0aGUgRklYTUUgdG8gZWxpbWluYXRlIHRoZQogLy8g
Y29ycmVzcG9uZGluZyBwYXJhbWV0ZXIgZnJvbSBTY3JpcHRDb250cm9sbGVyOjpleGVjdXRlSWZK
YXZhU2NyaXB0VVJMKCkgaXMgYWRkcmVzc2VkLgotdm9pZCBGcmFtZUxvYWRlcjo6dXJsU2VsZWN0
ZWQoY29uc3QgRnJhbWVMb2FkUmVxdWVzdCYgcGFzc2VkUmVxdWVzdCwgUGFzc1JlZlB0cjxFdmVu
dD4gdHJpZ2dlcmluZ0V2ZW50LCBMb2NrSGlzdG9yeSBsb2NrSGlzdG9yeSwgTG9ja0JhY2tGb3J3
YXJkTGlzdCBsb2NrQmFja0ZvcndhcmRMaXN0LCBTaG91bGRTZW5kUmVmZXJyZXIgc2hvdWxkU2Vu
ZFJlZmVycmVyLCBTaG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwgc2hvdWxkUmVw
bGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMKQordm9pZCBGcmFtZUxvYWRlcjo6dXJsU2VsZWN0
ZWQoY29uc3QgRnJhbWVMb2FkUmVxdWVzdCYgcGFzc2VkUmVxdWVzdCwgUGFzc1JlZlB0cjxFdmVu
dD4gdHJpZ2dlcmluZ0V2ZW50LCBMb2NrSGlzdG9yeSBsb2NrSGlzdG9yeSwgTG9ja0JhY2tGb3J3
YXJkTGlzdCBsb2NrQmFja0ZvcndhcmRMaXN0LCBTaG91bGRTZW5kUmVmZXJyZXIgc2hvdWxkU2Vu
ZFJlZmVycmVyLCBTaG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRVUkwgc2hvdWxkUmVw
bGFjZURvY3VtZW50SWZKYXZhU2NyaXB0VVJMLCBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwg
YWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMKQogewogICAgIEFTU0VSVCghbV9zdXBwcmVzc09w
ZW5lckluTmV3RnJhbWUpOwogCkBAIC0zNTEsNyArMzUxLDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6
dXJsU2VsZWN0ZWQoY29uc3QgRnJhbWVMb2FkUmVxdWVzdCYgcGFzc2VkUmVxdWVzdCwgUGFzc1Jl
ZlB0cjwKICAgICAgICAgbV9zdXBwcmVzc09wZW5lckluTmV3RnJhbWUgPSB0cnVlOwogICAgIGFk
ZEhUVFBPcmlnaW5JZk5lZWRlZChmcmFtZVJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCksIG91dGdv
aW5nT3JpZ2luKCkpOwogCi0gICAgbG9hZEZyYW1lUmVxdWVzdChmcmFtZVJlcXVlc3QsIGxvY2tI
aXN0b3J5LCBsb2NrQmFja0ZvcndhcmRMaXN0LCB0cmlnZ2VyaW5nRXZlbnQsIDAsIHNob3VsZFNl
bmRSZWZlcnJlcik7CisgICAgbG9hZEZyYW1lUmVxdWVzdChmcmFtZVJlcXVlc3QsIGxvY2tIaXN0
b3J5LCBsb2NrQmFja0ZvcndhcmRMaXN0LCB0cmlnZ2VyaW5nRXZlbnQsIDAsIHNob3VsZFNlbmRS
ZWZlcnJlciwgYWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMKTsKIAogICAgIG1fc3VwcHJlc3NP
cGVuZXJJbk5ld0ZyYW1lID0gZmFsc2U7CiB9CkBAIC05MjMsNyArOTIzLDcgQEAgdm9pZCBGcmFt
ZUxvYWRlcjo6bG9hZFVSTEludG9DaGlsZEZyYW1lKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJp
bmcmIHJlZmVyZXIsIEYKICAgICAgICAgfQogICAgIH0KIAotICAgIGNoaWxkRnJhbWUtPmxvYWRl
cigpLmxvYWRVUkwodXJsLCByZWZlcmVyLCAiX3NlbGYiLCBMb2NrSGlzdG9yeTo6Tm8sIEZyYW1l
TG9hZFR5cGU6OlJlZGlyZWN0V2l0aExvY2tlZEJhY2tGb3J3YXJkTGlzdCwgMCwgMCk7CisgICAg
Y2hpbGRGcmFtZS0+bG9hZGVyKCkubG9hZFVSTCh1cmwsIHJlZmVyZXIsICJfc2VsZiIsIExvY2tI
aXN0b3J5OjpObywgRnJhbWVMb2FkVHlwZTo6UmVkaXJlY3RXaXRoTG9ja2VkQmFja0ZvcndhcmRM
aXN0LCAwLCAwLCBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkw6Olllcyk7CiB9CiAKICNpZiBF
TkFCTEUoV0VCX0FSQ0hJVkUpIHx8IEVOQUJMRShNSFRNTCkKQEAgLTEyMDIsNyArMTIwMiw3IEBA
IHZvaWQgRnJhbWVMb2FkZXI6OnNldHVwRm9yUmVwbGFjZSgpCiB9CiAKIHZvaWQgRnJhbWVMb2Fk
ZXI6OmxvYWRGcmFtZVJlcXVlc3QoY29uc3QgRnJhbWVMb2FkUmVxdWVzdCYgcmVxdWVzdCwgTG9j
a0hpc3RvcnkgbG9ja0hpc3RvcnksIExvY2tCYWNrRm9yd2FyZExpc3QgbG9ja0JhY2tGb3J3YXJk
TGlzdCwKLSAgICBQYXNzUmVmUHRyPEV2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxGb3JtU3RhdGU+
IGZvcm1TdGF0ZSwgU2hvdWxkU2VuZFJlZmVycmVyIHNob3VsZFNlbmRSZWZlcnJlcikKKyAgICBQ
YXNzUmVmUHRyPEV2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxGb3JtU3RhdGU+IGZvcm1TdGF0ZSwg
U2hvdWxkU2VuZFJlZmVycmVyIHNob3VsZFNlbmRSZWZlcnJlciwgQWxsb3dOYXZpZ2F0aW9uVG9J
bnZhbGlkVVJMIGFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCkKIHsgICAgCiAgICAgLy8gUHJv
dGVjdCBmcmFtZSBmcm9tIGdldHRpbmcgYmxvd24gYXdheSBpbnNpZGUgZGlzcGF0Y2hCZWZvcmVM
b2FkRXZlbnQgaW4gbG9hZFdpdGhEb2N1bWVudExvYWRlci4KICAgICBSZWY8RnJhbWU+IHByb3Rl
Y3QobV9mcmFtZSk7CkBAIC0xMjMyLDkgKzEyMzIsOSBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2Fk
RnJhbWVSZXF1ZXN0KGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmIHJlcXVlc3QsIExvY2tIaXN0b3J5
CiAgICAgICAgIGxvYWRUeXBlID0gRnJhbWVMb2FkVHlwZTo6U3RhbmRhcmQ7CiAKICAgICBpZiAo
cmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS5odHRwTWV0aG9kKCkgPT0gIlBPU1QiKQotICAgICAg
ICBsb2FkUG9zdFJlcXVlc3QocmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKSwgcmVmZXJyZXIsIHJl
cXVlc3QuZnJhbWVOYW1lKCksIGxvY2tIaXN0b3J5LCBsb2FkVHlwZSwgZXZlbnQsIGZvcm1TdGF0
ZS5nZXQoKSk7CisgICAgICAgIGxvYWRQb3N0UmVxdWVzdChyZXF1ZXN0LnJlc291cmNlUmVxdWVz
dCgpLCByZWZlcnJlciwgcmVxdWVzdC5mcmFtZU5hbWUoKSwgbG9ja0hpc3RvcnksIGxvYWRUeXBl
LCBldmVudCwgZm9ybVN0YXRlLmdldCgpLCBhbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwpOwog
ICAgIGVsc2UKLSAgICAgICAgbG9hZFVSTChyZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLnVybCgp
LCByZWZlcnJlciwgcmVxdWVzdC5mcmFtZU5hbWUoKSwgbG9ja0hpc3RvcnksIGxvYWRUeXBlLCBl
dmVudCwgZm9ybVN0YXRlLmdldCgpKTsKKyAgICAgICAgbG9hZFVSTChyZXF1ZXN0LnJlc291cmNl
UmVxdWVzdCgpLnVybCgpLCByZWZlcnJlciwgcmVxdWVzdC5mcmFtZU5hbWUoKSwgbG9ja0hpc3Rv
cnksIGxvYWRUeXBlLCBldmVudCwgZm9ybVN0YXRlLmdldCgpLCBhbGxvd05hdmlnYXRpb25Ub0lu
dmFsaWRVUkwpOwogCiAgICAgLy8gRklYTUU6IEl0J3MgcG9zc2libGUgdGhpcyB0YXJnZXRGcmFt
ZSB3aWxsIG5vdCBiZSB0aGUgc2FtZSBmcmFtZSB0aGF0IHdhcyB0YXJnZXRlZCBieSB0aGUgYWN0
dWFsCiAgICAgLy8gbG9hZCBpZiBmcmFtZSBuYW1lcyBoYXZlIGNoYW5nZWQuCkBAIC0xMjQ5LDcg
KzEyNDksNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkRnJhbWVSZXF1ZXN0KGNvbnN0IEZyYW1l
TG9hZFJlcXVlc3QmIHJlcXVlc3QsIExvY2tIaXN0b3J5CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXI6
OmxvYWRVUkwoY29uc3QgVVJMJiBuZXdVUkwsIGNvbnN0IFN0cmluZyYgcmVmZXJyZXIsIGNvbnN0
IFN0cmluZyYgZnJhbWVOYW1lLCBMb2NrSGlzdG9yeSBsb2NrSGlzdG9yeSwgRnJhbWVMb2FkVHlw
ZSBuZXdMb2FkVHlwZSwKLSAgICBQYXNzUmVmUHRyPEV2ZW50PiBldmVudCwgUGFzc1JlZlB0cjxG
b3JtU3RhdGU+IHBycEZvcm1TdGF0ZSkKKyAgICBQYXNzUmVmUHRyPEV2ZW50PiBldmVudCwgUGFz
c1JlZlB0cjxGb3JtU3RhdGU+IHBycEZvcm1TdGF0ZSwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlk
VVJMIGFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCkKIHsKICAgICBpZiAobV9pblN0b3BBbGxM
b2FkZXJzKQogICAgICAgICByZXR1cm47CkBAIC0xMjc4LDcgKzEyNzgsNyBAQCB2b2lkIEZyYW1l
TG9hZGVyOjpsb2FkVVJMKGNvbnN0IFVSTCYgbmV3VVJMLCBjb25zdCBTdHJpbmcmIHJlZmVycmVy
LCBjb25zdCBTdHJpbgogICAgIC8vIFRoZSBzZWFyY2ggZm9yIGEgdGFyZ2V0IGZyYW1lIGlzIGRv
bmUgZWFybGllciBpbiB0aGUgY2FzZSBvZiBmb3JtIHN1Ym1pc3Npb24uCiAgICAgRnJhbWUqIHRh
cmdldEZyYW1lID0gaXNGb3JtU3VibWlzc2lvbiA/IDAgOiBmaW5kRnJhbWVGb3JOYXZpZ2F0aW9u
KGZyYW1lTmFtZSk7CiAgICAgaWYgKHRhcmdldEZyYW1lICYmIHRhcmdldEZyYW1lICE9ICZtX2Zy
YW1lKSB7Ci0gICAgICAgIHRhcmdldEZyYW1lLT5sb2FkZXIoKS5sb2FkVVJMKG5ld1VSTCwgcmVm
ZXJyZXIsICJfc2VsZiIsIGxvY2tIaXN0b3J5LCBuZXdMb2FkVHlwZSwgZXZlbnQsIGZvcm1TdGF0
ZS5yZWxlYXNlKCkpOworICAgICAgICB0YXJnZXRGcmFtZS0+bG9hZGVyKCkubG9hZFVSTChuZXdV
UkwsIHJlZmVycmVyLCAiX3NlbGYiLCBsb2NrSGlzdG9yeSwgbmV3TG9hZFR5cGUsIGV2ZW50LCBm
b3JtU3RhdGUucmVsZWFzZSgpLCBhbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwpOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCkBAIC0xMjg4LDggKzEyODgsOCBAQCB2b2lkIEZyYW1lTG9hZGVy
Ojpsb2FkVVJMKGNvbnN0IFVSTCYgbmV3VVJMLCBjb25zdCBTdHJpbmcmIHJlZmVycmVyLCBjb25z
dCBTdHJpbgogICAgIE5hdmlnYXRpb25BY3Rpb24gYWN0aW9uKHJlcXVlc3QsIG5ld0xvYWRUeXBl
LCBpc0Zvcm1TdWJtaXNzaW9uLCBldmVudCk7CiAKICAgICBpZiAoIXRhcmdldEZyYW1lICYmICFm
cmFtZU5hbWUuaXNFbXB0eSgpKSB7Ci0gICAgICAgIHBvbGljeUNoZWNrZXIoKS5jaGVja05ld1dp
bmRvd1BvbGljeShhY3Rpb24sIHJlcXVlc3QsIGZvcm1TdGF0ZS5yZWxlYXNlKCksIGZyYW1lTmFt
ZSwgW3RoaXNdKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUGFzc1JlZlB0cjxGb3Jt
U3RhdGU+IGZvcm1TdGF0ZSwgY29uc3QgU3RyaW5nJiBmcmFtZU5hbWUsIGNvbnN0IE5hdmlnYXRp
b25BY3Rpb24mIGFjdGlvbiwgYm9vbCBzaG91bGRDb250aW51ZSkgewotICAgICAgICAgICAgY29u
dGludWVMb2FkQWZ0ZXJOZXdXaW5kb3dQb2xpY3kocmVxdWVzdCwgZm9ybVN0YXRlLCBmcmFtZU5h
bWUsIGFjdGlvbiwgc2hvdWxkQ29udGludWUpOworICAgICAgICBwb2xpY3lDaGVja2VyKCkuY2hl
Y2tOZXdXaW5kb3dQb2xpY3koYWN0aW9uLCByZXF1ZXN0LCBmb3JtU3RhdGUucmVsZWFzZSgpLCBm
cmFtZU5hbWUsIFt0aGlzLCBhbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkxdKGNvbnN0IFJlc291
cmNlUmVxdWVzdCYgcmVxdWVzdCwgUGFzc1JlZlB0cjxGb3JtU3RhdGU+IGZvcm1TdGF0ZSwgY29u
c3QgU3RyaW5nJiBmcmFtZU5hbWUsIGNvbnN0IE5hdmlnYXRpb25BY3Rpb24mIGFjdGlvbiwgYm9v
bCBzaG91bGRDb250aW51ZSkgeworICAgICAgICAgICAgY29udGludWVMb2FkQWZ0ZXJOZXdXaW5k
b3dQb2xpY3kocmVxdWVzdCwgZm9ybVN0YXRlLCBmcmFtZU5hbWUsIGFjdGlvbiwgc2hvdWxkQ29u
dGludWUsIGFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCk7CiAgICAgICAgIH0pOwogICAgICAg
ICByZXR1cm47CiAgICAgfQpAQCAtMTMxNSw3ICsxMzE1LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6
bG9hZFVSTChjb25zdCBVUkwmIG5ld1VSTCwgY29uc3QgU3RyaW5nJiByZWZlcnJlciwgY29uc3Qg
U3RyaW4KIAogICAgIC8vIG11c3QgZ3JhYiB0aGlzIG5vdywgc2luY2UgdGhpcyBsb2FkIG1heSBz
dG9wIHRoZSBwcmV2aW91cyBsb2FkIGFuZCBjbGVhciB0aGlzIGZsYWcKICAgICBib29sIGlzUmVk
aXJlY3QgPSBtX3F1aWNrUmVkaXJlY3RDb21pbmc7Ci0gICAgbG9hZFdpdGhOYXZpZ2F0aW9uQWN0
aW9uKHJlcXVlc3QsIGFjdGlvbiwgbG9ja0hpc3RvcnksIG5ld0xvYWRUeXBlLCBmb3JtU3RhdGUu
cmVsZWFzZSgpKTsKKyAgICBsb2FkV2l0aE5hdmlnYXRpb25BY3Rpb24ocmVxdWVzdCwgYWN0aW9u
LCBsb2NrSGlzdG9yeSwgbmV3TG9hZFR5cGUsIGZvcm1TdGF0ZS5yZWxlYXNlKCksIGFsbG93TmF2
aWdhdGlvblRvSW52YWxpZFVSTCk7CiAgICAgaWYgKGlzUmVkaXJlY3QpIHsKICAgICAgICAgbV9x
dWlja1JlZGlyZWN0Q29taW5nID0gZmFsc2U7CiAgICAgICAgIGlmIChtX3Byb3Zpc2lvbmFsRG9j
dW1lbnRMb2FkZXIpCkBAIC0xMzU4LDcgKzEzNTgsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2Fk
KGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmIHBhc3NlZFJlcXVlc3QpCiAKICAgICBpZiAocmVxdWVz
dC5zaG91bGRDaGVja05ld1dpbmRvd1BvbGljeSgpKSB7CiAgICAgICAgIHBvbGljeUNoZWNrZXIo
KS5jaGVja05ld1dpbmRvd1BvbGljeShOYXZpZ2F0aW9uQWN0aW9uKHJlcXVlc3QucmVzb3VyY2VS
ZXF1ZXN0KCksIE5hdmlnYXRpb25UeXBlT3RoZXIpLCByZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgp
LCBudWxscHRyLCByZXF1ZXN0LmZyYW1lTmFtZSgpLCBbdGhpc10oY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiByZXF1ZXN0LCBQYXNzUmVmUHRyPEZvcm1TdGF0ZT4gZm9ybVN0YXRlLCBjb25zdCBTdHJp
bmcmIGZyYW1lTmFtZSwgY29uc3QgTmF2aWdhdGlvbkFjdGlvbiYgYWN0aW9uLCBib29sIHNob3Vs
ZENvbnRpbnVlKSB7Ci0gICAgICAgICAgICBjb250aW51ZUxvYWRBZnRlck5ld1dpbmRvd1BvbGlj
eShyZXF1ZXN0LCBmb3JtU3RhdGUsIGZyYW1lTmFtZSwgYWN0aW9uLCBzaG91bGRDb250aW51ZSk7
CisgICAgICAgICAgICBjb250aW51ZUxvYWRBZnRlck5ld1dpbmRvd1BvbGljeShyZXF1ZXN0LCBm
b3JtU3RhdGUsIGZyYW1lTmFtZSwgYWN0aW9uLCBzaG91bGRDb250aW51ZSwgQWxsb3dOYXZpZ2F0
aW9uVG9JbnZhbGlkVVJMOjpZZXMpOwogICAgICAgICB9KTsKIAogICAgICAgICByZXR1cm47CkBA
IC0xMzcxLDcgKzEzNzEsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkKGNvbnN0IEZyYW1lTG9h
ZFJlcXVlc3QmIHBhc3NlZFJlcXVlc3QpCiAgICAgbG9hZChsb2FkZXIuZ2V0KCkpOwogfQogCi12
b2lkIEZyYW1lTG9hZGVyOjpsb2FkV2l0aE5hdmlnYXRpb25BY3Rpb24oY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBOYXZpZ2F0aW9uQWN0aW9uJiBhY3Rpb24sIExvY2tIaXN0
b3J5IGxvY2tIaXN0b3J5LCBGcmFtZUxvYWRUeXBlIHR5cGUsIFBhc3NSZWZQdHI8Rm9ybVN0YXRl
PiBmb3JtU3RhdGUpCit2b2lkIEZyYW1lTG9hZGVyOjpsb2FkV2l0aE5hdmlnYXRpb25BY3Rpb24o
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBOYXZpZ2F0aW9uQWN0aW9uJiBh
Y3Rpb24sIExvY2tIaXN0b3J5IGxvY2tIaXN0b3J5LCBGcmFtZUxvYWRUeXBlIHR5cGUsIFBhc3NS
ZWZQdHI8Rm9ybVN0YXRlPiBmb3JtU3RhdGUsIEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCBh
bGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwpCiB7CiAgICAgUmVmUHRyPERvY3VtZW50TG9hZGVy
PiBsb2FkZXIgPSBtX2NsaWVudC5jcmVhdGVEb2N1bWVudExvYWRlcihyZXF1ZXN0LCBkZWZhdWx0
U3Vic3RpdHV0ZURhdGFGb3JVUkwocmVxdWVzdC51cmwoKSkpOwogICAgIGlmIChsb2NrSGlzdG9y
eSA9PSBMb2NrSGlzdG9yeTo6WWVzICYmIG1fZG9jdW1lbnRMb2FkZXIpCkBAIC0xMzgxLDcgKzEz
ODEsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkV2l0aE5hdmlnYXRpb25BY3Rpb24oY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdAogICAgIGlmIChtX2RvY3VtZW50TG9hZGVy
KQogICAgICAgICBsb2FkZXItPnNldE92ZXJyaWRlRW5jb2RpbmcobV9kb2N1bWVudExvYWRlci0+
b3ZlcnJpZGVFbmNvZGluZygpKTsKIAotICAgIGxvYWRXaXRoRG9jdW1lbnRMb2FkZXIobG9hZGVy
LmdldCgpLCB0eXBlLCBmb3JtU3RhdGUpOworICAgIGxvYWRXaXRoRG9jdW1lbnRMb2FkZXIobG9h
ZGVyLmdldCgpLCB0eXBlLCBmb3JtU3RhdGUsIGFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCk7
CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWQoRG9jdW1lbnRMb2FkZXIqIG5ld0RvY3VtZW50
TG9hZGVyKQpAQCAtMTQxOCwxMCArMTQxOCwxMCBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkKERv
Y3VtZW50TG9hZGVyKiBuZXdEb2N1bWVudExvYWRlcikKICAgICAgICAgdHlwZSA9IEZyYW1lTG9h
ZFR5cGU6OlJlbG9hZDsKICAgICB9CiAKLSAgICBsb2FkV2l0aERvY3VtZW50TG9hZGVyKG5ld0Rv
Y3VtZW50TG9hZGVyLCB0eXBlLCAwKTsKKyAgICBsb2FkV2l0aERvY3VtZW50TG9hZGVyKG5ld0Rv
Y3VtZW50TG9hZGVyLCB0eXBlLCAwLCBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkw6Olllcyk7
CiB9CiAKLXZvaWQgRnJhbWVMb2FkZXI6OmxvYWRXaXRoRG9jdW1lbnRMb2FkZXIoRG9jdW1lbnRM
b2FkZXIqIGxvYWRlciwgRnJhbWVMb2FkVHlwZSB0eXBlLCBQYXNzUmVmUHRyPEZvcm1TdGF0ZT4g
cHJwRm9ybVN0YXRlKQordm9pZCBGcmFtZUxvYWRlcjo6bG9hZFdpdGhEb2N1bWVudExvYWRlcihE
b2N1bWVudExvYWRlciogbG9hZGVyLCBGcmFtZUxvYWRUeXBlIHR5cGUsIFBhc3NSZWZQdHI8Rm9y
bVN0YXRlPiBwcnBGb3JtU3RhdGUsIEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCBhbGxvd05h
dmlnYXRpb25Ub0ludmFsaWRVUkwpCiB7CiAgICAgLy8gUmV0YWluIGJlY2F1c2UgZGlzcGF0Y2hC
ZWZvcmVMb2FkRXZlbnQgbWF5IHJlbGVhc2UgdGhlIGxhc3QgcmVmZXJlbmNlIHRvIGl0LgogICAg
IFJlZjxGcmFtZT4gcHJvdGVjdChtX2ZyYW1lKTsKQEAgLTE0NzUsMTMgKzE0NzUsMTMgQEAgdm9p
ZCBGcmFtZUxvYWRlcjo6bG9hZFdpdGhEb2N1bWVudExvYWRlcihEb2N1bWVudExvYWRlciogbG9h
ZGVyLCBGcmFtZUxvYWRUeXBlIHQKICAgICAgICAgLy8gYSBuZXcgVVJMLCB0aGUgcGFyZW50IGZy
YW1lIHNob3VsZG4ndCBsZWFybiB0aGUgVVJMLgogICAgICAgICBpZiAoIW1fc3RhdGVNYWNoaW5l
LmNvbW1pdHRlZEZpcnN0UmVhbERvY3VtZW50TG9hZCgpCiAgICAgICAgICAgICAmJiAhb3duZXJF
bGVtZW50LT5kaXNwYXRjaEJlZm9yZUxvYWRFdmVudChsb2FkZXItPnJlcXVlc3QoKS51cmwoKS5z
dHJpbmcoKSkpIHsKLSAgICAgICAgICAgIGNvbnRpbnVlTG9hZEFmdGVyTmF2aWdhdGlvblBvbGlj
eShsb2FkZXItPnJlcXVlc3QoKSwgZm9ybVN0YXRlLCBmYWxzZSk7CisgICAgICAgICAgICBjb250
aW51ZUxvYWRBZnRlck5hdmlnYXRpb25Qb2xpY3kobG9hZGVyLT5yZXF1ZXN0KCksIGZvcm1TdGF0
ZSwgZmFsc2UsIGFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCk7CiAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIH0KICAgICB9CiAKLSAgICBwb2xpY3lDaGVja2VyKCkuY2hlY2tOYXZpZ2F0
aW9uUG9saWN5KGxvYWRlci0+cmVxdWVzdCgpLCBsb2FkZXIsIGZvcm1TdGF0ZSwgW3RoaXNdKGNv
bnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUGFzc1JlZlB0cjxGb3JtU3RhdGU+IGZvcm1T
dGF0ZSwgYm9vbCBzaG91bGRDb250aW51ZSkgewotICAgICAgICBjb250aW51ZUxvYWRBZnRlck5h
dmlnYXRpb25Qb2xpY3kocmVxdWVzdCwgZm9ybVN0YXRlLCBzaG91bGRDb250aW51ZSk7CisgICAg
cG9saWN5Q2hlY2tlcigpLmNoZWNrTmF2aWdhdGlvblBvbGljeShsb2FkZXItPnJlcXVlc3QoKSwg
bG9hZGVyLCBmb3JtU3RhdGUsIFt0aGlzLCBhbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkxdKGNv
bnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUGFzc1JlZlB0cjxGb3JtU3RhdGU+IGZvcm1T
dGF0ZSwgYm9vbCBzaG91bGRDb250aW51ZSkgeworICAgICAgICBjb250aW51ZUxvYWRBZnRlck5h
dmlnYXRpb25Qb2xpY3kocmVxdWVzdCwgZm9ybVN0YXRlLCBzaG91bGRDb250aW51ZSwgYWxsb3dO
YXZpZ2F0aW9uVG9JbnZhbGlkVVJMKTsKICAgICB9KTsKIH0KIApAQCAtMTU2Myw3ICsxNTYzLDcg
QEAgdm9pZCBGcmFtZUxvYWRlcjo6cmVsb2FkV2l0aE92ZXJyaWRlRW5jb2RpbmcoY29uc3QgU3Ry
aW5nJiBlbmNvZGluZykKIAogICAgIGxvYWRlci0+c2V0T3ZlcnJpZGVFbmNvZGluZyhlbmNvZGlu
Zyk7CiAKLSAgICBsb2FkV2l0aERvY3VtZW50TG9hZGVyKGxvYWRlci5nZXQoKSwgRnJhbWVMb2Fk
VHlwZTo6UmVsb2FkLCAwKTsKKyAgICBsb2FkV2l0aERvY3VtZW50TG9hZGVyKGxvYWRlci5nZXQo
KSwgRnJhbWVMb2FkVHlwZTo6UmVsb2FkLCAwLCBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkw6
Olllcyk7CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXI6OnJlbG9hZChib29sIGVuZFRvRW5kUmVsb2Fk
KQpAQCAtMTU5Nyw3ICsxNTk3LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6cmVsb2FkKGJvb2wgZW5k
VG9FbmRSZWxvYWQpCiAKICAgICBsb2FkZXItPnNldE92ZXJyaWRlRW5jb2RpbmcobV9kb2N1bWVu
dExvYWRlci0+b3ZlcnJpZGVFbmNvZGluZygpKTsKICAgICAKLSAgICBsb2FkV2l0aERvY3VtZW50
TG9hZGVyKGxvYWRlci5nZXQoKSwgZW5kVG9FbmRSZWxvYWQgPyBGcmFtZUxvYWRUeXBlOjpSZWxv
YWRGcm9tT3JpZ2luIDogRnJhbWVMb2FkVHlwZTo6UmVsb2FkLCAwKTsKKyAgICBsb2FkV2l0aERv
Y3VtZW50TG9hZGVyKGxvYWRlci5nZXQoKSwgZW5kVG9FbmRSZWxvYWQgPyBGcmFtZUxvYWRUeXBl
OjpSZWxvYWRGcm9tT3JpZ2luIDogRnJhbWVMb2FkVHlwZTo6UmVsb2FkLCAwLCBBbGxvd05hdmln
YXRpb25Ub0ludmFsaWRVUkw6Olllcyk7CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXI6OnN0b3BBbGxM
b2FkZXJzKENsZWFyUHJvdmlzaW9uYWxJdGVtUG9saWN5IGNsZWFyUHJvdmlzaW9uYWxJdGVtUG9s
aWN5KQpAQCAtMjYxNiw3ICsyNjE2LDcgQEAgdm9pZCBGcmFtZUxvYWRlcjo6YWRkSFRUUE9yaWdp
bklmTmVlZGVkKFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgU3RyaW5nJgogICAgIHJl
cXVlc3Quc2V0SFRUUE9yaWdpbihvcmlnaW4pOwogfQogCi12b2lkIEZyYW1lTG9hZGVyOjpsb2Fk
UG9zdFJlcXVlc3QoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBpblJlcXVlc3QsIGNvbnN0IFN0cmlu
ZyYgcmVmZXJyZXIsIGNvbnN0IFN0cmluZyYgZnJhbWVOYW1lLCBMb2NrSGlzdG9yeSBsb2NrSGlz
dG9yeSwgRnJhbWVMb2FkVHlwZSBsb2FkVHlwZSwgUGFzc1JlZlB0cjxFdmVudD4gZXZlbnQsIFBh
c3NSZWZQdHI8Rm9ybVN0YXRlPiBwcnBGb3JtU3RhdGUpCit2b2lkIEZyYW1lTG9hZGVyOjpsb2Fk
UG9zdFJlcXVlc3QoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBpblJlcXVlc3QsIGNvbnN0IFN0cmlu
ZyYgcmVmZXJyZXIsIGNvbnN0IFN0cmluZyYgZnJhbWVOYW1lLCBMb2NrSGlzdG9yeSBsb2NrSGlz
dG9yeSwgRnJhbWVMb2FkVHlwZSBsb2FkVHlwZSwgUGFzc1JlZlB0cjxFdmVudD4gZXZlbnQsIFBh
c3NSZWZQdHI8Rm9ybVN0YXRlPiBwcnBGb3JtU3RhdGUsIEFsbG93TmF2aWdhdGlvblRvSW52YWxp
ZFVSTCBhbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwpCiB7CiAgICAgUmVmUHRyPEZvcm1TdGF0
ZT4gZm9ybVN0YXRlID0gcHJwRm9ybVN0YXRlOwogCkBAIC0yNjQ0LDE5ICsyNjQ0LDE5IEBAIHZv
aWQgRnJhbWVMb2FkZXI6OmxvYWRQb3N0UmVxdWVzdChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIGlu
UmVxdWVzdCwgY29uc3QgU3RyaW5nCiAgICAgaWYgKCFmcmFtZU5hbWUuaXNFbXB0eSgpKSB7CiAg
ICAgICAgIC8vIFRoZSBzZWFyY2ggZm9yIGEgdGFyZ2V0IGZyYW1lIGlzIGRvbmUgZWFybGllciBp
biB0aGUgY2FzZSBvZiBmb3JtIHN1Ym1pc3Npb24uCiAgICAgICAgIGlmIChGcmFtZSogdGFyZ2V0
RnJhbWUgPSBmb3JtU3RhdGUgPyAwIDogZmluZEZyYW1lRm9yTmF2aWdhdGlvbihmcmFtZU5hbWUp
KSB7Ci0gICAgICAgICAgICB0YXJnZXRGcmFtZS0+bG9hZGVyKCkubG9hZFdpdGhOYXZpZ2F0aW9u
QWN0aW9uKHdvcmtpbmdSZXNvdXJjZVJlcXVlc3QsIGFjdGlvbiwgbG9ja0hpc3RvcnksIGxvYWRU
eXBlLCBmb3JtU3RhdGUucmVsZWFzZSgpKTsKKyAgICAgICAgICAgIHRhcmdldEZyYW1lLT5sb2Fk
ZXIoKS5sb2FkV2l0aE5hdmlnYXRpb25BY3Rpb24od29ya2luZ1Jlc291cmNlUmVxdWVzdCwgYWN0
aW9uLCBsb2NrSGlzdG9yeSwgbG9hZFR5cGUsIGZvcm1TdGF0ZS5yZWxlYXNlKCksIGFsbG93TmF2
aWdhdGlvblRvSW52YWxpZFVSTCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAot
ICAgICAgICBwb2xpY3lDaGVja2VyKCkuY2hlY2tOZXdXaW5kb3dQb2xpY3koYWN0aW9uLCB3b3Jr
aW5nUmVzb3VyY2VSZXF1ZXN0LCBmb3JtU3RhdGUucmVsZWFzZSgpLCBmcmFtZU5hbWUsIFt0aGlz
XShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFBhc3NSZWZQdHI8Rm9ybVN0YXRlPiBm
b3JtU3RhdGUsIGNvbnN0IFN0cmluZyYgZnJhbWVOYW1lLCBjb25zdCBOYXZpZ2F0aW9uQWN0aW9u
JiBhY3Rpb24sIGJvb2wgc2hvdWxkQ29udGludWUpIHsKLSAgICAgICAgICAgIGNvbnRpbnVlTG9h
ZEFmdGVyTmV3V2luZG93UG9saWN5KHJlcXVlc3QsIGZvcm1TdGF0ZSwgZnJhbWVOYW1lLCBhY3Rp
b24sIHNob3VsZENvbnRpbnVlKTsKKyAgICAgICAgcG9saWN5Q2hlY2tlcigpLmNoZWNrTmV3V2lu
ZG93UG9saWN5KGFjdGlvbiwgd29ya2luZ1Jlc291cmNlUmVxdWVzdCwgZm9ybVN0YXRlLnJlbGVh
c2UoKSwgZnJhbWVOYW1lLCBbdGhpcywgYWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMXShjb25z
dCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFBhc3NSZWZQdHI8Rm9ybVN0YXRlPiBmb3JtU3Rh
dGUsIGNvbnN0IFN0cmluZyYgZnJhbWVOYW1lLCBjb25zdCBOYXZpZ2F0aW9uQWN0aW9uJiBhY3Rp
b24sIGJvb2wgc2hvdWxkQ29udGludWUpIHsKKyAgICAgICAgICAgIGNvbnRpbnVlTG9hZEFmdGVy
TmV3V2luZG93UG9saWN5KHJlcXVlc3QsIGZvcm1TdGF0ZSwgZnJhbWVOYW1lLCBhY3Rpb24sIHNo
b3VsZENvbnRpbnVlLCBhbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwpOwogICAgICAgICB9KTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIC8vIG11c3QgZ3JhYiB0aGlzIG5vdywgc2lu
Y2UgdGhpcyBsb2FkIG1heSBzdG9wIHRoZSBwcmV2aW91cyBsb2FkIGFuZCBjbGVhciB0aGlzIGZs
YWcKICAgICBib29sIGlzUmVkaXJlY3QgPSBtX3F1aWNrUmVkaXJlY3RDb21pbmc7Ci0gICAgbG9h
ZFdpdGhOYXZpZ2F0aW9uQWN0aW9uKHdvcmtpbmdSZXNvdXJjZVJlcXVlc3QsIGFjdGlvbiwgbG9j
a0hpc3RvcnksIGxvYWRUeXBlLCBmb3JtU3RhdGUucmVsZWFzZSgpKTsgICAgCisgICAgbG9hZFdp
dGhOYXZpZ2F0aW9uQWN0aW9uKHdvcmtpbmdSZXNvdXJjZVJlcXVlc3QsIGFjdGlvbiwgbG9ja0hp
c3RvcnksIGxvYWRUeXBlLCBmb3JtU3RhdGUucmVsZWFzZSgpLCBhbGxvd05hdmlnYXRpb25Ub0lu
dmFsaWRVUkwpOwogICAgIGlmIChpc1JlZGlyZWN0KSB7CiAgICAgICAgIG1fcXVpY2tSZWRpcmVj
dENvbWluZyA9IGZhbHNlOwogICAgICAgICBpZiAobV9wcm92aXNpb25hbERvY3VtZW50TG9hZGVy
KQpAQCAtMjg4OSw3ICsyODg5LDcgQEAgYm9vbCBGcmFtZUxvYWRlcjo6aGFuZGxlQmVmb3JlVW5s
b2FkRXZlbnQoQ2hyb21lJiBjaHJvbWUsIEZyYW1lTG9hZGVyKiBmcmFtZUxvYWQKICAgICByZXR1
cm4gY2hyb21lLnJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbCh0ZXh0LCAmbV9mcmFtZSk7CiB9
CiAKLXZvaWQgRnJhbWVMb2FkZXI6OmNvbnRpbnVlTG9hZEFmdGVyTmF2aWdhdGlvblBvbGljeShj
b25zdCBSZXNvdXJjZVJlcXVlc3QmLCBQYXNzUmVmUHRyPEZvcm1TdGF0ZT4gZm9ybVN0YXRlLCBi
b29sIHNob3VsZENvbnRpbnVlKQordm9pZCBGcmFtZUxvYWRlcjo6Y29udGludWVMb2FkQWZ0ZXJO
YXZpZ2F0aW9uUG9saWN5KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUGFzc1JlZlB0
cjxGb3JtU3RhdGU+IGZvcm1TdGF0ZSwgYm9vbCBzaG91bGRDb250aW51ZSwgQWxsb3dOYXZpZ2F0
aW9uVG9JbnZhbGlkVVJMIGFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCkKIHsKICAgICAvLyBJ
ZiB3ZSBsb2FkZWQgYW4gYWx0ZXJuYXRlIHBhZ2UgdG8gcmVwbGFjZSBhbiB1bnJlYWNoYWJsZVVS
TCwgd2UnbGwgZ2V0IGluIGhlcmUgd2l0aCBhCiAgICAgLy8gbmlsIHBvbGljeURhdGFTb3VyY2Ug
YmVjYXVzZSBsb2FkaW5nIHRoZSBhbHRlcm5hdGUgcGFnZSB3aWxsIGhhdmUgcGFzc2VkCkBAIC0y
ODk4LDE1ICsyODk4LDE5IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmNvbnRpbnVlTG9hZEFmdGVyTmF2
aWdhdGlvblBvbGljeShjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBQYXNzCiAKICAgICBib29sIGlz
VGFyZ2V0SXRlbSA9IGhpc3RvcnkoKS5wcm92aXNpb25hbEl0ZW0oKSA/IGhpc3RvcnkoKS5wcm92
aXNpb25hbEl0ZW0oKS0+aXNUYXJnZXRJdGVtKCkgOiBmYWxzZTsKIAotICAgIC8vIFR3byByZWFz
b25zIHdlIGNhbid0IGNvbnRpbnVlOgorICAgIGJvb2wgdXJsSXNEaXNhbGxvd2VkID0gYWxsb3dO
YXZpZ2F0aW9uVG9JbnZhbGlkVVJMID09IEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTDo6Tm8g
JiYgIXJlcXVlc3QudXJsKCkuaXNWYWxpZCgpOworCisgICAgLy8gVGhyZWUgcmVhc29ucyB3ZSBj
YW4ndCBjb250aW51ZToKICAgICAvLyAgICAxKSBOYXZpZ2F0aW9uIHBvbGljeSBkZWxlZ2F0ZSBz
YWlkIHdlIGNhbid0IHNvIHJlcXVlc3QgaXMgbmlsLiBBIHByaW1hcnkgY2FzZSBvZiB0aGlzIAog
ICAgIC8vICAgICAgIGlzIHRoZSB1c2VyIHJlc3BvbmRpbmcgQ2FuY2VsIHRvIHRoZSBmb3JtIHJl
cG9zdCBuYWcgc2hlZXQuCiAgICAgLy8gICAgMikgVXNlciByZXNwb25kZWQgQ2FuY2VsIHRvIGFu
IGFsZXJ0IHBvcHBlZCB1cCBieSB0aGUgYmVmb3JlIHVubG9hZCBldmVudCBoYW5kbGVyLgotICAg
IGJvb2wgY2FuQ29udGludWUgPSBzaG91bGRDb250aW51ZSAmJiBzaG91bGRDbG9zZSgpOworICAg
IC8vICAgIDMpIFRoZSByZXF1ZXN0J3MgVVJMIGlzIGludmFsaWQgYW5kIG5hdmlnYXRpb24gdG8g
aW52YWxpZCBVUkxzIGlzIGRpc2FsbG93ZWQuCisgICAgYm9vbCBjYW5Db250aW51ZSA9IHNob3Vs
ZENvbnRpbnVlICYmIHNob3VsZENsb3NlKCkgJiYgIXVybElzRGlzYWxsb3dlZDsKIAogICAgIGlm
ICghY2FuQ29udGludWUpIHsKICAgICAgICAgLy8gSWYgd2Ugd2VyZSB3YWl0aW5nIGZvciBhIHF1
aWNrIHJlZGlyZWN0LCBidXQgdGhlIHBvbGljeSBkZWxlZ2F0ZSBkZWNpZGVkIHRvIGlnbm9yZSBp
dCwgdGhlbiB3ZSAKICAgICAgICAgLy8gbmVlZCB0byByZXBvcnQgdGhhdCB0aGUgY2xpZW50IHJl
ZGlyZWN0IHdhcyBjYW5jZWxsZWQuCisgICAgICAgIC8vIEZJWE1FOiBUaGUgY2xpZW50IHNob3Vs
ZCBiZSB0b2xkIGFib3V0IGlnbm9yZWQgbm9uLXF1aWNrIHJlZGlyZWN0cywgdG9vLgogICAgICAg
ICBpZiAobV9xdWlja1JlZGlyZWN0Q29taW5nKQogICAgICAgICAgICAgY2xpZW50UmVkaXJlY3RD
YW5jZWxsZWRPckZpbmlzaGVkKGZhbHNlKTsKIApAQCAtMjk2NCw3ICsyOTY4LDcgQEAgdm9pZCBG
cmFtZUxvYWRlcjo6Y29udGludWVMb2FkQWZ0ZXJOYXZpZ2F0aW9uUG9saWN5KGNvbnN0IFJlc291
cmNlUmVxdWVzdCYsIFBhc3MKIH0KIAogdm9pZCBGcmFtZUxvYWRlcjo6Y29udGludWVMb2FkQWZ0
ZXJOZXdXaW5kb3dQb2xpY3koY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LAotICAgIFBh
c3NSZWZQdHI8Rm9ybVN0YXRlPiBmb3JtU3RhdGUsIGNvbnN0IFN0cmluZyYgZnJhbWVOYW1lLCBj
b25zdCBOYXZpZ2F0aW9uQWN0aW9uJiBhY3Rpb24sIGJvb2wgc2hvdWxkQ29udGludWUpCisgICAg
UGFzc1JlZlB0cjxGb3JtU3RhdGU+IGZvcm1TdGF0ZSwgY29uc3QgU3RyaW5nJiBmcmFtZU5hbWUs
IGNvbnN0IE5hdmlnYXRpb25BY3Rpb24mIGFjdGlvbiwgYm9vbCBzaG91bGRDb250aW51ZSwgQWxs
b3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMIGFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCkKIHsK
ICAgICBpZiAoIXNob3VsZENvbnRpbnVlKQogICAgICAgICByZXR1cm47CkBAIC0yOTgzLDcgKzI5
ODcsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpjb250aW51ZUxvYWRBZnRlck5ld1dpbmRvd1BvbGlj
eShjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlcwogICAgICAgICBtYWluRnJhbWUtPmxvYWRl
cigpLnNldE9wZW5lcigmZnJhbWUuZ2V0KCkpOwogICAgICAgICBtYWluRnJhbWUtPmRvY3VtZW50
KCktPnNldFJlZmVycmVyUG9saWN5KGZyYW1lLT5kb2N1bWVudCgpLT5yZWZlcnJlclBvbGljeSgp
KTsKICAgICB9Ci0gICAgbWFpbkZyYW1lLT5sb2FkZXIoKS5sb2FkV2l0aE5hdmlnYXRpb25BY3Rp
b24ocmVxdWVzdCwgTmF2aWdhdGlvbkFjdGlvbihyZXF1ZXN0KSwgTG9ja0hpc3Rvcnk6Ok5vLCBG
cmFtZUxvYWRUeXBlOjpTdGFuZGFyZCwgZm9ybVN0YXRlKTsKKyAgICBtYWluRnJhbWUtPmxvYWRl
cigpLmxvYWRXaXRoTmF2aWdhdGlvbkFjdGlvbihyZXF1ZXN0LCBOYXZpZ2F0aW9uQWN0aW9uKHJl
cXVlc3QpLCBMb2NrSGlzdG9yeTo6Tm8sIEZyYW1lTG9hZFR5cGU6OlN0YW5kYXJkLCBmb3JtU3Rh
dGUsIGFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCk7CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXI6
OnJlcXVlc3RGcm9tRGVsZWdhdGUoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCB1bnNpZ25lZCBs
b25nJiBpZGVudGlmaWVyLCBSZXNvdXJjZUVycm9yJiBlcnJvcikKQEAgLTMxNjIsNyArMzE2Niw3
IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWREaWZmZXJlbnREb2N1bWVudEl0ZW0oSGlzdG9yeUl0
ZW0qIGl0ZW0sIEZyYW1lTG9hZFR5cGUgbG9hCiAgICAgaGlzdG9yeSgpLnNldFByb3Zpc2lvbmFs
SXRlbShpdGVtKTsKIAogICAgIGlmIChDYWNoZWRQYWdlKiBjYWNoZWRQYWdlID0gcGFnZUNhY2hl
KCktPmdldChpdGVtKSkgewotICAgICAgICBsb2FkV2l0aERvY3VtZW50TG9hZGVyKGNhY2hlZFBh
Z2UtPmRvY3VtZW50TG9hZGVyKCksIGxvYWRUeXBlLCAwKTsgICAKKyAgICAgICAgbG9hZFdpdGhE
b2N1bWVudExvYWRlcihjYWNoZWRQYWdlLT5kb2N1bWVudExvYWRlcigpLCBsb2FkVHlwZSwgMCwg
QWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMOjpZZXMpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCkBAIC0zMjM3LDcgKzMyNDEsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpsb2FkRGlmZmVyZW50
RG9jdW1lbnRJdGVtKEhpc3RvcnlJdGVtKiBpdGVtLCBGcmFtZUxvYWRUeXBlIGxvYQogICAgICAg
ICBhY3Rpb24gPSBOYXZpZ2F0aW9uQWN0aW9uKHJlcXVlc3RGb3JPcmlnaW5hbFVSTCwgbG9hZFR5
cGUsIGZhbHNlKTsKICAgICB9CiAKLSAgICBsb2FkV2l0aE5hdmlnYXRpb25BY3Rpb24ocmVxdWVz
dCwgYWN0aW9uLCBMb2NrSGlzdG9yeTo6Tm8sIGxvYWRUeXBlLCAwKTsKKyAgICBsb2FkV2l0aE5h
dmlnYXRpb25BY3Rpb24ocmVxdWVzdCwgYWN0aW9uLCBMb2NrSGlzdG9yeTo6Tm8sIGxvYWRUeXBl
LCAwLCBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkw6Olllcyk7CiB9CiAKIC8vIExvYWRzIGNv
bnRlbnQgaW50byB0aGlzIGZyYW1lLCBhcyBzcGVjaWZpZWQgYnkgaGlzdG9yeSBpdGVtCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCmluZGV4IDlmOTA3NzVhOTFhNzljMTI3OTc3NGJkOGUz
MjJjNjJlYzBmMDYzOWMuLjc2MTlmMjJmOGNmYzViMGJkZTY0ZGQzYjE4OTMzNDVjMWQ2NzlmYTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCkBAIC0xMDgsNyArMTA4LDcgQEAgcHVi
bGljOgogICAgIC8vIEZJWE1FOiBUaGVzZSBhcmUgYWxsIGZ1bmN0aW9ucyB3aGljaCBzdGFydCBs
b2Fkcy4gV2UgaGF2ZSB0b28gbWFueS4KICAgICB2b2lkIGxvYWRVUkxJbnRvQ2hpbGRGcmFtZShj
b25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIHJlZmVyZXIsIEZyYW1lKik7CiAgICAgdm9pZCBsb2Fk
RnJhbWVSZXF1ZXN0KGNvbnN0IEZyYW1lTG9hZFJlcXVlc3QmLCBMb2NrSGlzdG9yeSwgTG9ja0Jh
Y2tGb3J3YXJkTGlzdCwgIC8vIENhbGxlZCBieSBzdWJtaXRGb3JtLCBjYWxscyBsb2FkUG9zdFJl
cXVlc3QgYW5kIGxvYWRVUkwuCi0gICAgICAgIFBhc3NSZWZQdHI8RXZlbnQ+LCBQYXNzUmVmUHRy
PEZvcm1TdGF0ZT4sIFNob3VsZFNlbmRSZWZlcnJlcik7CisgICAgICAgIFBhc3NSZWZQdHI8RXZl
bnQ+LCBQYXNzUmVmUHRyPEZvcm1TdGF0ZT4sIFNob3VsZFNlbmRSZWZlcnJlciwgQWxsb3dOYXZp
Z2F0aW9uVG9JbnZhbGlkVVJMKTsKIAogICAgIHZvaWQgbG9hZChjb25zdCBGcmFtZUxvYWRSZXF1
ZXN0Jik7CiAKQEAgLTExOCw3ICsxMTgsNyBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgbG9uZyBs
b2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFN0b3JlZENy
ZWRlbnRpYWxzLCBDbGllbnRDcmVkZW50aWFsUG9saWN5LCBSZXNvdXJjZUVycm9yJiwgUmVzb3Vy
Y2VSZXNwb25zZSYsIFZlY3RvcjxjaGFyPiYgZGF0YSk7CiAKICAgICB2b2lkIGNoYW5nZUxvY2F0
aW9uKFNlY3VyaXR5T3JpZ2luKiwgY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiByZWZlcnJlciwg
TG9ja0hpc3RvcnkgPSBMb2NrSGlzdG9yeTo6WWVzLAotICAgICAgICBMb2NrQmFja0ZvcndhcmRM
aXN0ID0gTG9ja0JhY2tGb3J3YXJkTGlzdDo6WWVzLCBib29sIHJlZnJlc2ggPSBmYWxzZSk7Cisg
ICAgICAgIExvY2tCYWNrRm9yd2FyZExpc3QgPSBMb2NrQmFja0ZvcndhcmRMaXN0OjpZZXMsIGJv
b2wgcmVmcmVzaCA9IGZhbHNlLCBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwgPSBBbGxvd05h
dmlnYXRpb25Ub0ludmFsaWRVUkw6Olllcyk7CiAgICAgdm9pZCB1cmxTZWxlY3RlZChjb25zdCBV
UkwmLCBjb25zdCBTdHJpbmcmIHRhcmdldCwgUGFzc1JlZlB0cjxFdmVudD4sIExvY2tIaXN0b3J5
LCBMb2NrQmFja0ZvcndhcmRMaXN0LCBTaG91bGRTZW5kUmVmZXJyZXIpOwogICAgIHZvaWQgc3Vi
bWl0Rm9ybShQYXNzUmVmUHRyPEZvcm1TdWJtaXNzaW9uPik7CiAKQEAgLTMyMCw4ICszMjAsOCBA
QCBwcml2YXRlOgogCiAgICAgYm9vbCBoYW5kbGVCZWZvcmVVbmxvYWRFdmVudChDaHJvbWUmLCBG
cmFtZUxvYWRlciogZnJhbWVMb2FkZXJCZWluZ05hdmlnYXRlZCk7CiAKLSAgICB2b2lkIGNvbnRp
bnVlTG9hZEFmdGVyTmF2aWdhdGlvblBvbGljeShjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBQYXNz
UmVmUHRyPEZvcm1TdGF0ZT4sIGJvb2wgc2hvdWxkQ29udGludWUpOwotICAgIHZvaWQgY29udGlu
dWVMb2FkQWZ0ZXJOZXdXaW5kb3dQb2xpY3koY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgUGFzc1Jl
ZlB0cjxGb3JtU3RhdGU+LCBjb25zdCBTdHJpbmcmIGZyYW1lTmFtZSwgY29uc3QgTmF2aWdhdGlv
bkFjdGlvbiYsIGJvb2wgc2hvdWxkQ29udGludWUpOworICAgIHZvaWQgY29udGludWVMb2FkQWZ0
ZXJOYXZpZ2F0aW9uUG9saWN5KGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFBhc3NSZWZQdHI8Rm9y
bVN0YXRlPiwgYm9vbCBzaG91bGRDb250aW51ZSwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJM
KTsKKyAgICB2b2lkIGNvbnRpbnVlTG9hZEFmdGVyTmV3V2luZG93UG9saWN5KGNvbnN0IFJlc291
cmNlUmVxdWVzdCYsIFBhc3NSZWZQdHI8Rm9ybVN0YXRlPiwgY29uc3QgU3RyaW5nJiBmcmFtZU5h
bWUsIGNvbnN0IE5hdmlnYXRpb25BY3Rpb24mLCBib29sIHNob3VsZENvbnRpbnVlLCBBbGxvd05h
dmlnYXRpb25Ub0ludmFsaWRVUkwpOwogICAgIHZvaWQgY29udGludWVGcmFnbWVudFNjcm9sbEFm
dGVyTmF2aWdhdGlvblBvbGljeShjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBib29sIHNob3VsZENv
bnRpbnVlKTsKIAogICAgIGJvb2wgc2hvdWxkUGVyZm9ybUZyYWdtZW50TmF2aWdhdGlvbihib29s
IGlzRm9ybVN1Ym1pc3Npb24sIGNvbnN0IFN0cmluZyYgaHR0cE1ldGhvZCwgRnJhbWVMb2FkVHlw
ZSwgY29uc3QgVVJMJik7CkBAIC0zNDIsMTggKzM0MiwxOCBAQCBwcml2YXRlOgogCiAgICAgdm9p
ZCBkaXNwYXRjaERpZENvbW1pdExvYWQoKTsKIAotICAgIHZvaWQgdXJsU2VsZWN0ZWQoY29uc3Qg
RnJhbWVMb2FkUmVxdWVzdCYsIFBhc3NSZWZQdHI8RXZlbnQ+LCBMb2NrSGlzdG9yeSwgTG9ja0Jh
Y2tGb3J3YXJkTGlzdCwgU2hvdWxkU2VuZFJlZmVycmVyLCBTaG91bGRSZXBsYWNlRG9jdW1lbnRJ
ZkphdmFTY3JpcHRVUkwpOworICAgIHZvaWQgdXJsU2VsZWN0ZWQoY29uc3QgRnJhbWVMb2FkUmVx
dWVzdCYsIFBhc3NSZWZQdHI8RXZlbnQ+LCBMb2NrSGlzdG9yeSwgTG9ja0JhY2tGb3J3YXJkTGlz
dCwgU2hvdWxkU2VuZFJlZmVycmVyLCBTaG91bGRSZXBsYWNlRG9jdW1lbnRJZkphdmFTY3JpcHRV
UkwsIEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCk7CiAKLSAgICB2b2lkIGxvYWRXaXRoRG9j
dW1lbnRMb2FkZXIoRG9jdW1lbnRMb2FkZXIqLCBGcmFtZUxvYWRUeXBlLCBQYXNzUmVmUHRyPEZv
cm1TdGF0ZT4pOyAvLyBDYWxscyBjb250aW51ZUxvYWRBZnRlck5hdmlnYXRpb25Qb2xpY3kKKyAg
ICB2b2lkIGxvYWRXaXRoRG9jdW1lbnRMb2FkZXIoRG9jdW1lbnRMb2FkZXIqLCBGcmFtZUxvYWRU
eXBlLCBQYXNzUmVmUHRyPEZvcm1TdGF0ZT4sIEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCk7
IC8vIENhbGxzIGNvbnRpbnVlTG9hZEFmdGVyTmF2aWdhdGlvblBvbGljeQogICAgIHZvaWQgbG9h
ZChEb2N1bWVudExvYWRlciopOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIENhbGxzIGxvYWRXaXRoRG9jdW1lbnRMb2FkZXIgICAKIAog
ICAgIHZvaWQgbG9hZFdpdGhOYXZpZ2F0aW9uQWN0aW9uKGNvbnN0IFJlc291cmNlUmVxdWVzdCYs
IGNvbnN0IE5hdmlnYXRpb25BY3Rpb24mLCAgICAgIC8vIENhbGxzIGxvYWRXaXRoRG9jdW1lbnRM
b2FkZXIKLSAgICAgICAgTG9ja0hpc3RvcnksIEZyYW1lTG9hZFR5cGUsIFBhc3NSZWZQdHI8Rm9y
bVN0YXRlPik7CisgICAgICAgIExvY2tIaXN0b3J5LCBGcmFtZUxvYWRUeXBlLCBQYXNzUmVmUHRy
PEZvcm1TdGF0ZT4sIEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCk7CiAKICAgICB2b2lkIGxv
YWRQb3N0UmVxdWVzdChjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBTdHJpbmcmIHJlZmVy
cmVyLCAgICAgICAgICAgICAgICAvLyBDYWxsZWQgYnkgbG9hZEZyYW1lUmVxdWVzdCwgY2FsbHMg
bG9hZFdpdGhOYXZpZ2F0aW9uQWN0aW9uCi0gICAgICAgIGNvbnN0IFN0cmluZyYgZnJhbWVOYW1l
LCBMb2NrSGlzdG9yeSwgRnJhbWVMb2FkVHlwZSwgUGFzc1JlZlB0cjxFdmVudD4sIFBhc3NSZWZQ
dHI8Rm9ybVN0YXRlPik7CisgICAgICAgIGNvbnN0IFN0cmluZyYgZnJhbWVOYW1lLCBMb2NrSGlz
dG9yeSwgRnJhbWVMb2FkVHlwZSwgUGFzc1JlZlB0cjxFdmVudD4sIFBhc3NSZWZQdHI8Rm9ybVN0
YXRlPiwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMKTsKICAgICB2b2lkIGxvYWRVUkwoY29u
c3QgVVJMJiwgY29uc3QgU3RyaW5nJiByZWZlcnJlciwgY29uc3QgU3RyaW5nJiBmcmFtZU5hbWUs
ICAgICAgICAgIC8vIENhbGxlZCBieSBsb2FkRnJhbWVSZXF1ZXN0LCBjYWxscyBsb2FkV2l0aE5h
dmlnYXRpb25BY3Rpb24gb3IgZGlzcGF0Y2hlcyB0byBuYXZpZ2F0aW9uIHBvbGljeSBkZWxlZ2F0
ZQotICAgICAgICBMb2NrSGlzdG9yeSwgRnJhbWVMb2FkVHlwZSwgUGFzc1JlZlB0cjxFdmVudD4s
IFBhc3NSZWZQdHI8Rm9ybVN0YXRlPik7CisgICAgICAgIExvY2tIaXN0b3J5LCBGcmFtZUxvYWRU
eXBlLCBQYXNzUmVmUHRyPEV2ZW50PiwgUGFzc1JlZlB0cjxGb3JtU3RhdGU+LCBBbGxvd05hdmln
YXRpb25Ub0ludmFsaWRVUkwpOwogCiAgICAgYm9vbCBzaG91bGRSZWxvYWQoY29uc3QgVVJMJiBj
dXJyZW50VVJMLCBjb25zdCBVUkwmIGRlc3RpbmF0aW9uVVJMKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlclR5cGVzLmgKaW5kZXggZWVmNDE4MTFiNTIyZGNmOWUxZjgwYWIzMTk1
YTMyM2Y5Yjc1YWZhMi4uOTk1NmQxYTUzMGViZTRmMjNjMWQ5NDM3ZWY3ZWY5M2IzNmM4N2UwMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyVHlwZXMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJUeXBlcy5oCkBAIC0xMTksNiArMTE5
LDExIEBAIGVudW0gY2xhc3MgRnJhbWVMb2FkVHlwZSB7CiAgICAgICAgIFllcywKICAgICAgICAg
Tm8KICAgICB9OworCisgICAgZW51bSBjbGFzcyBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwg
eworICAgICAgICBZZXMsCisgICAgICAgIE5vCisgICAgfTsKIH0KIAogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvblNjaGVkdWxlci5jcHAKaW5kZXggZjVlZjJkM2E2
ZjNhYzRhNjlmNDE0Y2NmZjBmZDY1NzI2NGEwYjg4YS4uMjFjMzgwNGNkYzdiZjc3N2IzMTkwY2Jj
MzIwYTljMjAyNzFmMDJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmln
YXRpb25TY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9u
U2NoZWR1bGVyLmNwcApAQCAtMTY1LDcgKzE2NSw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAg
IFVzZXJHZXN0dXJlSW5kaWNhdG9yIGdlc3R1cmVJbmRpY2F0b3Iod2FzVXNlckdlc3R1cmUoKSA/
IERlZmluaXRlbHlQcm9jZXNzaW5nVXNlckdlc3R1cmUgOiBEZWZpbml0ZWx5Tm90UHJvY2Vzc2lu
Z1VzZXJHZXN0dXJlKTsKICAgICAgICAgYm9vbCByZWZyZXNoID0gZXF1YWxJZ25vcmluZ0ZyYWdt
ZW50SWRlbnRpZmllcihmcmFtZS5kb2N1bWVudCgpLT51cmwoKSwgdXJsKCkpOwotICAgICAgICBm
cmFtZS5sb2FkZXIoKS5jaGFuZ2VMb2NhdGlvbihzZWN1cml0eU9yaWdpbigpLCB1cmwoKSwgcmVm
ZXJyZXIoKSwgbG9ja0hpc3RvcnkoKSwgbG9ja0JhY2tGb3J3YXJkTGlzdCgpLCByZWZyZXNoKTsK
KyAgICAgICAgZnJhbWUubG9hZGVyKCkuY2hhbmdlTG9jYXRpb24oc2VjdXJpdHlPcmlnaW4oKSwg
dXJsKCksIHJlZmVycmVyKCksIGxvY2tIaXN0b3J5KCksIGxvY2tCYWNrRm9yd2FyZExpc3QoKSwg
cmVmcmVzaCwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMOjpObyk7CiAgICAgfQogfTsKIApA
QCAtMTczLDYgKzE3MywxMiBAQCBjbGFzcyBTY2hlZHVsZWRMb2NhdGlvbkNoYW5nZSA6IHB1Ymxp
YyBTY2hlZHVsZWRVUkxOYXZpZ2F0aW9uIHsKIHB1YmxpYzoKICAgICBTY2hlZHVsZWRMb2NhdGlv
bkNoYW5nZShTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4sIGNvbnN0IFVSTCYgdXJsLCBj
b25zdCBTdHJpbmcmIHJlZmVycmVyLCBMb2NrSGlzdG9yeSBsb2NrSGlzdG9yeSwgTG9ja0JhY2tG
b3J3YXJkTGlzdCBsb2NrQmFja0ZvcndhcmRMaXN0LCBib29sIGR1cmluZ0xvYWQpCiAgICAgICAg
IDogU2NoZWR1bGVkVVJMTmF2aWdhdGlvbigwLjAsIHNlY3VyaXR5T3JpZ2luLCB1cmwsIHJlZmVy
cmVyLCBsb2NrSGlzdG9yeSwgbG9ja0JhY2tGb3J3YXJkTGlzdCwgZHVyaW5nTG9hZCwgdHJ1ZSkg
eyB9CisKKyAgICB2aXJ0dWFsIHZvaWQgZmlyZShGcmFtZSYgZnJhbWUpIG92ZXJyaWRlCisgICAg
eworICAgICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBnZXN0dXJlSW5kaWNhdG9yKHdhc1VzZXJH
ZXN0dXJlKCkgPyBEZWZpbml0ZWx5UHJvY2Vzc2luZ1VzZXJHZXN0dXJlIDogRGVmaW5pdGVseU5v
dFByb2Nlc3NpbmdVc2VyR2VzdHVyZSk7CisgICAgICAgIGZyYW1lLmxvYWRlcigpLmNoYW5nZUxv
Y2F0aW9uKHNlY3VyaXR5T3JpZ2luKCksIHVybCgpLCByZWZlcnJlcigpLCBsb2NrSGlzdG9yeSgp
LCBsb2NrQmFja0ZvcndhcmRMaXN0KCksIGZhbHNlLCBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRV
Ukw6Ok5vKTsKKyAgICB9CiB9OwogCiBjbGFzcyBTY2hlZHVsZWRSZWZyZXNoIDogcHVibGljIFNj
aGVkdWxlZFVSTE5hdmlnYXRpb24gewpAQCAtMjQwLDcgKzI0Niw3IEBAIHB1YmxpYzoKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgRnJhbWVMb2FkUmVxdWVzdCBmcmFtZVJlcXVlc3QocmVx
dWVzdGluZ0RvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpKTsKICAgICAgICAgbV9zdWJtaXNzaW9u
LT5wb3B1bGF0ZUZyYW1lTG9hZFJlcXVlc3QoZnJhbWVSZXF1ZXN0KTsKLSAgICAgICAgZnJhbWUu
bG9hZGVyKCkubG9hZEZyYW1lUmVxdWVzdChmcmFtZVJlcXVlc3QsIGxvY2tIaXN0b3J5KCksIGxv
Y2tCYWNrRm9yd2FyZExpc3QoKSwgbV9zdWJtaXNzaW9uLT5ldmVudCgpLCBtX3N1Ym1pc3Npb24t
PnN0YXRlKCksIE1heWJlU2VuZFJlZmVycmVyKTsKKyAgICAgICAgZnJhbWUubG9hZGVyKCkubG9h
ZEZyYW1lUmVxdWVzdChmcmFtZVJlcXVlc3QsIGxvY2tIaXN0b3J5KCksIGxvY2tCYWNrRm9yd2Fy
ZExpc3QoKSwgbV9zdWJtaXNzaW9uLT5ldmVudCgpLCBtX3N1Ym1pc3Npb24tPnN0YXRlKCksIE1h
eWJlU2VuZFJlZmVycmVyLCBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkw6Olllcyk7CiAgICAg
fQogICAgIAogICAgIHZpcnR1YWwgdm9pZCBkaWRTdGFydFRpbWVyKEZyYW1lJiBmcmFtZSwgVGlt
ZXI8TmF2aWdhdGlvblNjaGVkdWxlcj4mIHRpbWVyKSBvdmVycmlkZQpAQCAtMzExLDggKzMxNyw2
IEBAIGlubGluZSBib29sIE5hdmlnYXRpb25TY2hlZHVsZXI6OnNob3VsZFNjaGVkdWxlTmF2aWdh
dGlvbihjb25zdCBVUkwmIHVybCkgY29uc3QKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGlm
IChwcm90b2NvbElzSmF2YVNjcmlwdCh1cmwpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICBp
ZiAoIXVybC5pc1ZhbGlkKCkgJiYgIW1fZnJhbWUuc2V0dGluZ3MoKS5hbGxvd05hdmlnYXRpb25U
b0ludmFsaWRVUkwoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIHJldHVybiBOYXZpZ2F0
aW9uRGlzYWJsZXJGb3JCZWZvcmVVbmxvYWQ6OmlzTmF2aWdhdGlvbkFsbG93ZWQoKTsKIH0KIApA
QCAtMzY0LDcgKzM2OCw3IEBAIHZvaWQgTmF2aWdhdGlvblNjaGVkdWxlcjo6c2NoZWR1bGVMb2Nh
dGlvbkNoYW5nZShTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4sCiAgICAgLy8gZnJhZ21l
bnQgcGFydCwgd2UgZG9uJ3QgbmVlZCB0byBzY2hlZHVsZSB0aGUgbG9jYXRpb24gY2hhbmdlLgog
ICAgIFVSTCBwYXJzZWRVUkwoUGFyc2VkVVJMU3RyaW5nLCB1cmwpOwogICAgIGlmIChwYXJzZWRV
UkwuaGFzRnJhZ21lbnRJZGVudGlmaWVyKCkgJiYgZXF1YWxJZ25vcmluZ0ZyYWdtZW50SWRlbnRp
ZmllcihtX2ZyYW1lLmRvY3VtZW50KCktPnVybCgpLCBwYXJzZWRVUkwpKSB7Ci0gICAgICAgIGxv
YWRlci5jaGFuZ2VMb2NhdGlvbihzZWN1cml0eU9yaWdpbiwgbV9mcmFtZS5kb2N1bWVudCgpLT5j
b21wbGV0ZVVSTCh1cmwpLCByZWZlcnJlciwgbG9ja0hpc3RvcnksIGxvY2tCYWNrRm9yd2FyZExp
c3QpOworICAgICAgICBsb2FkZXIuY2hhbmdlTG9jYXRpb24oc2VjdXJpdHlPcmlnaW4sIG1fZnJh
bWUuZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwodXJsKSwgcmVmZXJyZXIsIGxvY2tIaXN0b3J5LCBs
b2NrQmFja0ZvcndhcmRMaXN0LCBmYWxzZSwgQWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMOjpO
byk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29u
dGV4dE1lbnVDb250cm9sbGVyLmNwcAppbmRleCAxNjQ5NTU3YTRhOTlkOGM3NWRjMDI5NjFkYzY1
NGZkOThiZDE0NGM1Li5lOWJjMWI2Y2MwOGJiYzU1MjdiZDdjY2ExMGMwYjlkMzRiNTZhZTQ4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCkBAIC0y
MDYsNyArMjA2LDcgQEAgc3RhdGljIHZvaWQgb3Blbk5ld1dpbmRvdyhjb25zdCBVUkwmIHVybFRv
TG9hZCwgRnJhbWUqIGZyYW1lKQogICAgIGlmICghbmV3UGFnZSkKICAgICAgICAgcmV0dXJuOwog
ICAgIG5ld1BhZ2UtPmNocm9tZSgpLnNob3coKTsKLSAgICBuZXdQYWdlLT5tYWluRnJhbWUoKS5s
b2FkZXIoKS5sb2FkRnJhbWVSZXF1ZXN0KHJlcXVlc3QsIExvY2tIaXN0b3J5OjpObywgTG9ja0Jh
Y2tGb3J3YXJkTGlzdDo6Tm8sIDAsIDAsIE1heWJlU2VuZFJlZmVycmVyKTsKKyAgICBuZXdQYWdl
LT5tYWluRnJhbWUoKS5sb2FkZXIoKS5sb2FkRnJhbWVSZXF1ZXN0KHJlcXVlc3QsIExvY2tIaXN0
b3J5OjpObywgTG9ja0JhY2tGb3J3YXJkTGlzdDo6Tm8sIDAsIDAsIE1heWJlU2VuZFJlZmVycmVy
LCBBbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkw6Olllcyk7CiB9CiAKICNpZiBQTEFURk9STShH
VEspCkBAIC00MDUsMTIgKzQwNSwxMiBAQCB2b2lkIENvbnRleHRNZW51Q29udHJvbGxlcjo6Y29u
dGV4dE1lbnVJdGVtU2VsZWN0ZWQoQ29udGV4dE1lbnVJdGVtKiBpdGVtKQogICAgICAgICBicmVh
azsKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ09wZW5MaW5rOgogICAgICAgICBpZiAoRnJh
bWUqIHRhcmdldEZyYW1lID0gbV9jb250ZXh0LmhpdFRlc3RSZXN1bHQoKS50YXJnZXRGcmFtZSgp
KQotICAgICAgICAgICAgdGFyZ2V0RnJhbWUtPmxvYWRlcigpLmxvYWRGcmFtZVJlcXVlc3QoRnJh
bWVMb2FkUmVxdWVzdChmcmFtZS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSwgUmVzb3Vy
Y2VSZXF1ZXN0KG1fY29udGV4dC5oaXRUZXN0UmVzdWx0KCkuYWJzb2x1dGVMaW5rVVJMKCksIGZy
YW1lLT5sb2FkZXIoKS5vdXRnb2luZ1JlZmVycmVyKCkpKSwgTG9ja0hpc3Rvcnk6Ok5vLCBMb2Nr
QmFja0ZvcndhcmRMaXN0OjpObywgMCwgMCwgTWF5YmVTZW5kUmVmZXJyZXIpOworICAgICAgICAg
ICAgdGFyZ2V0RnJhbWUtPmxvYWRlcigpLmxvYWRGcmFtZVJlcXVlc3QoRnJhbWVMb2FkUmVxdWVz
dChmcmFtZS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSwgUmVzb3VyY2VSZXF1ZXN0KG1f
Y29udGV4dC5oaXRUZXN0UmVzdWx0KCkuYWJzb2x1dGVMaW5rVVJMKCksIGZyYW1lLT5sb2FkZXIo
KS5vdXRnb2luZ1JlZmVycmVyKCkpKSwgTG9ja0hpc3Rvcnk6Ok5vLCBMb2NrQmFja0ZvcndhcmRM
aXN0OjpObywgMCwgMCwgTWF5YmVTZW5kUmVmZXJyZXIsIEFsbG93TmF2aWdhdGlvblRvSW52YWxp
ZFVSTDo6WWVzKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgb3Blbk5ld1dpbmRvdyhtX2Nv
bnRleHQuaGl0VGVzdFJlc3VsdCgpLmFic29sdXRlTGlua1VSTCgpLCBmcmFtZSk7CiAgICAgICAg
IGJyZWFrOwogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnT3BlbkxpbmtJblRoaXNXaW5kb3c6
Ci0gICAgICAgIGZyYW1lLT5sb2FkZXIoKS5sb2FkRnJhbWVSZXF1ZXN0KEZyYW1lTG9hZFJlcXVl
c3QoZnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCksIFJlc291cmNlUmVxdWVzdCht
X2NvbnRleHQuaGl0VGVzdFJlc3VsdCgpLmFic29sdXRlTGlua1VSTCgpLCBmcmFtZS0+bG9hZGVy
KCkub3V0Z29pbmdSZWZlcnJlcigpKSksIExvY2tIaXN0b3J5OjpObywgTG9ja0JhY2tGb3J3YXJk
TGlzdDo6Tm8sIDAsIDAsIE1heWJlU2VuZFJlZmVycmVyKTsKKyAgICAgICAgZnJhbWUtPmxvYWRl
cigpLmxvYWRGcmFtZVJlcXVlc3QoRnJhbWVMb2FkUmVxdWVzdChmcmFtZS0+ZG9jdW1lbnQoKS0+
c2VjdXJpdHlPcmlnaW4oKSwgUmVzb3VyY2VSZXF1ZXN0KG1fY29udGV4dC5oaXRUZXN0UmVzdWx0
KCkuYWJzb2x1dGVMaW5rVVJMKCksIGZyYW1lLT5sb2FkZXIoKS5vdXRnb2luZ1JlZmVycmVyKCkp
KSwgTG9ja0hpc3Rvcnk6Ok5vLCBMb2NrQmFja0ZvcndhcmRMaXN0OjpObywgMCwgMCwgTWF5YmVT
ZW5kUmVmZXJyZXIsIEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTDo6WWVzKTsKICAgICAgICAg
YnJlYWs7CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdCb2xkOgogICAgICAgICBmcmFtZS0+
ZWRpdG9yKCkuY29tbWFuZCgiVG9nZ2xlQm9sZCIpLmV4ZWN1dGUoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRp
bmdzLmluCmluZGV4IDZkNzk2ZTUxYjNiYzAwZThkZjMwMWFjMmU5NTk3YzAyZjUwNjI2MDQuLjRm
NTE2ZmZiNTMzMTJkNjI0MDI4NWQ1YWQ3YTRkMWYxMDEzYWRiN2MgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5pbgpAQCAtMjI2LDEwICsyMjYsNiBAQCB0ZW1wb3JhcnlUaWxlQ29ob3J0UmV0ZW50aW9u
RW5hYmxlZCBpbml0aWFsPXRydWUKIAogdXNlSW1hZ2VEb2N1bWVudEZvclN1YmZyYW1lUERGIGlu
aXRpYWw9ZmFsc2UKIAotIyBBbGxvdyBjbGllbnRzIHRvIHBlcm1pdCBuYXZpZ2F0aW9uIHRvIGFu
IGludmFsaWQgVVJMLiBTb21lIGFwcHMgbWF5IHVzZSBpbnZhbGlkIFVSTHMKLSMgYXMgYSBtZWFu
cyB0byBwYXNzIGRhdGEgZnJvbSB0aGUgd2ViLXBvcnRpb24gb2YgdGhlaXIgYXBwIHRvIHRoZSBu
YXRpdmUgcG9ydGlvbi4KLWFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCBpbml0aWFsPWZhbHNl
Ci0KICMgQWxsb3cgU291cmNlQnVmZmVycyB0byBzdG9yZSB1cCB0byAzMDRNQiBlYWNoLCBlbm91
Z2ggZm9yIGFwcHJveGltYXRlbHkgZml2ZSBtaW51dGVzCiAjIG9mIDEwODBwIHZpZGVvIGFuZCBz
dGVyZW8gYXVkaW8uCiBtYXhpbXVtU291cmNlQnVmZmVyU2l6ZSB0eXBlPWludCwgaW5pdGlhbD0z
MTg3NjcxMDQsIGNvbmRpdGlvbmFsPU1FRElBX1NPVVJDRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvTWlzYy9XZWJLaXRWZXJzaW9uQ2hlY2tzLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9N
aXNjL1dlYktpdFZlcnNpb25DaGVja3MuaAppbmRleCA0MzZjNTg0MGE1OTg5M2QwZWUyYzBhYWM1
OGYyNjY2ZDU2YzVmN2VkLi4xMzk0ZGM2MmZkZWFkNTE0YzU0ZDhiZjFhMTg5N2M0ZTBlYWE2NWM4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdFZlcnNpb25DaGVja3Mu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdFZlcnNpb25DaGVja3MuaApAQCAt
NzEsNyArNzEsNiBAQAogI2RlZmluZSBXRUJLSVRfRklSU1RfVkVSU0lPTl9XSVRIX0NTU19BVFRS
SUJVVEVfU0VUVEVSU19JR05PUklOR19QUklPUklUWSAyMjM5IC8vIGlPUyA2LjAKICNkZWZpbmUg
V0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9ZT1VUVUJFX0VNQkVEX0lGUkFNRV9UUkFOU0ZPUk0g
MjIzOSAvLyBpT1MgNi4wCiAjZGVmaW5lIFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhPVVRfTEVH
QUNZX0JBQ0tHUk9VTkRTSVpFX1NIT1JUSEFORF9CRUhBVklPUiAyNjY1IC8vIGlPUyA3LjAKLSNk
ZWZpbmUgV0VCS0lUX0ZJUlNUX1ZFUlNJT05fV0lUSF9OQVZJR0FUSU9OX1VSTF9WQUxJREFUSU9O
IDMxODUgLy8gaU9TIDguMAogI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKIAogI2lmZGVmIF9fY3Bs
dXNwbHVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlBERlZpZXcu
bW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlBERlZpZXcubW0KaW5kZXggMDJmYjE2
MTFiNGYwMzFlNTg5M2NmYzEyZmE2NDRlMmE5NDhlMjQyZS4uNzYyOTU5YmNhNDdjMzQ2ZDZhOTZi
MzQ4ZmZiN2M1ZjJhY2NiY2U5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJQREZWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViUERGVmll
dy5tbQpAQCAtMTAzMiw3ICsxMDMyLDcgQEAgLSAodm9pZClQREZWaWV3V2lsbENsaWNrT25MaW5r
OihQREZWaWV3ICopc2VuZGVyIHdpdGhVUkw6KE5TVVJMICopVVJMCiAKICAgICAvLyBDYWxsIHRv
IHRoZSBmcmFtZSBsb2FkZXIgYmVjYXVzZSB0aGlzIGlzIHdoZXJlIG91ciBzZWN1cml0eSBjaGVj
a3MgYXJlIG1hZGUuCiAgICAgRnJhbWUqIGZyYW1lID0gY29yZShbZGF0YVNvdXJjZSB3ZWJGcmFt
ZV0pOwotICAgIGZyYW1lLT5sb2FkZXIoKS5sb2FkRnJhbWVSZXF1ZXN0KEZyYW1lTG9hZFJlcXVl
c3QoZnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCksIFJlc291cmNlUmVxdWVzdChV
UkwpKSwgTG9ja0hpc3Rvcnk6Ok5vLCBMb2NrQmFja0ZvcndhcmRMaXN0OjpObywgZXZlbnQuZ2V0
KCksIDAsIE1heWJlU2VuZFJlZmVycmVyKTsKKyAgICBmcmFtZS0+bG9hZGVyKCkubG9hZEZyYW1l
UmVxdWVzdChGcmFtZUxvYWRSZXF1ZXN0KGZyYW1lLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdp
bigpLCBSZXNvdXJjZVJlcXVlc3QoVVJMKSksIExvY2tIaXN0b3J5OjpObywgTG9ja0JhY2tGb3J3
YXJkTGlzdDo6Tm8sIGV2ZW50LmdldCgpLCAwLCBNYXliZVNlbmRSZWZlcnJlciwgQWxsb3dOYXZp
Z2F0aW9uVG9JbnZhbGlkVVJMOjpZZXMpOwogfQogCiAtICh2b2lkKVBERlZpZXdPcGVuUERGSW5O
YXRpdmVBcHBsaWNhdGlvbjooUERGVmlldyAqKXNlbmRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tCmluZGV4IDdmNmZmZmE5Zjc1ODkzY2I0Y2RlYjgyMTMyZDE0OWVlYWNhZjU0NzIu
LjQ5NTc0ODIyM2M1ODBlYzc3MDEzMWZiN2Y5ZDQ0M2E5YTYzZDEyMDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTIzMjcsOCArMjMyNyw2IEBAIC0gKHZvaWQpX3ByZWZl
cmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVyZW5jZXMgKilwcmVmZXJlbmNlcwogI2lmIEVOQUJMRShJ
T1NfVEVYVF9BVVRPU0laSU5HKQogICAgIHNldHRpbmdzLnNldE1pbmltdW1ab29tRm9udFNpemUo
W3ByZWZlcmVuY2VzIF9taW5pbXVtWm9vbUZvbnRTaXplXSk7CiAjZW5kaWYKLQotICAgIHNldHRp
bmdzLnNldEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCghV2ViS2l0TGlua2VkT25PckFmdGVy
KFdFQktJVF9GSVJTVF9WRVJTSU9OX1dJVEhfTkFWSUdBVElPTl9VUkxfVkFMSURBVElPTikpOwog
I2VuZGlmIC8vIFBMQVRGT1JNKElPUykKIAogI2lmIFBMQVRGT1JNKE1BQykKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1N2Q2
ZmViMjZjNDA0ZGVkMDgzYzJmYWUyNWRjMGJmN2E0MjkxYjc0Li4yNjIxZmZiMzA1ZWZiZTA4M2Uy
MWU3MjIxNWJhZWM1MThhZjkwYmMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzUgQEAKIDIwMTQtMDgtMTgg
IEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCisgICAgICAgIFJFR1JFU1NJT04gKHIx
Njc4NTYpOiBhZG9iZS5jb20gbm8gbG9uZ2VyIGFibGUgdG8gbGF1bmNoIENyZWF0ZSBDbG91ZCBh
cHAgdXNpbmcgYSBVUkwgd2l0aCBhIGN1c3RvbSBzY2hlbWUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjAxMAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZWQgdGVzdHMgdGhhdCB2ZXJpZmllZCB0
aGUgYmVoYXZpb3Igb2Ygc2V0QWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMKHRydWUpLCB3aGlj
aCBubyBsb25nZXIgZXhpc3RzOgorICAgICAgICAqIGZhc3QvbG9hZGVyL2FsbG93LXJlZGlyZWN0
LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgor
ICAgICAgICAqIGZhc3QvbG9hZGVyL2FsbG93LXJlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5n
LWphdmFzY3JpcHQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2xvYWRlci9hbGxvdy1y
ZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJlc2gtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIGZhc3QvbG9hZGVyL2FsbG93LXJlZGlyZWN0LXRvLWludmFsaWQt
dXJsLXVzaW5nLW1ldGEtcmVmcmVzaC5odG1sOiBSZW1vdmVkLgorCisgICAgICAgIEFkZGVkIHRl
c3RzIHRoYXQgdmVyaWZ5IHRoZSBwb2xpY3kgZGVsZWdhdGUgaXMgZXhlY3V0ZWQgb24gc29tZSBu
YXZpZ2F0aW9ucyB0byBpbnZhbGlkIFVSTHM6CisgICAgICAgICogZmFzdC9sb2FkZXIvcmVkaXJl
Y3QtdG8taW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlwdC1jYWxscy1wb2xpY3ktZGVsZWdhdGUt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2xvYWRlci9yZWRpcmVjdC10by1p
bnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0LWNhbGxzLXBvbGljeS1kZWxlZ2F0ZS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2lu
Zy1tZXRhLXJlZnJlc2gtY2FsbHMtcG9saWN5LWRlbGVnYXRlLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0
YS1yZWZyZXNoLWNhbGxzLXBvbGljeS1kZWxlZ2F0ZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2xvYWRlci93aW5kb3ctb3Blbi10by1pbnZhbGlkLXVybC1jYWxscy1wb2xpY3ktZGVsZWdh
dGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2xvYWRlci93aW5kb3ctb3Bl
bi10by1pbnZhbGlkLXVybC1jYWxscy1wb2xpY3ktZGVsZWdhdGUuaHRtbDogQWRkZWQuCisKKyAg
ICAgICAgUmVuYW1lZCBzb21lIGV4aXN0aW5nIHRlc3RzIGFkZGVkIGluIHIxNzAxMjAsIG1vZGlm
aWVkIHRoZW0gdG8gbG9nIHdpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTCBhbmQKKyAgICAg
ICAgZGlkQ2FuY2VsQ2xpZW50UmVkaXJlY3RGb3JGcmFtZSwgYW5kIGFkZGVkIGEgdGVzdCB0byB2
ZXJpZnkgbmF2aWdhdGlvbnMgaW4gZXhpc3RpbmcgZnJhbWVzIHZpYSB3aW5kb3cub3BlbjoKKyAg
ICAgICAgKiBmYXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1qYXZhc2Ny
aXB0LWRpc2FsbG93ZWQtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gZmFzdC9sb2FkZXIvZGlz
YWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlwdC1leHBlY3RlZC50
eHQuCisgICAgICAgICogZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmct
amF2YXNjcmlwdC1kaXNhbGxvd2VkLmh0bWw6IFJlbmFtZWQgZnJvbSBmYXN0L2xvYWRlci9kaXNh
bGxvdy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0Lmh0bWwuCisgICAg
ICAgICogZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZy
ZXNoLWRpc2FsbG93ZWQtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gZmFzdC9sb2FkZXIvZGlz
YWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLWV4cGVjdGVk
LnR4dC4KKyAgICAgICAgKiBmYXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2lu
Zy1tZXRhLXJlZnJlc2gtZGlzYWxsb3dlZC5odG1sOiBSZW5hbWVkIGZyb20gZmFzdC9sb2FkZXIv
ZGlzYWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLmh0bWwu
CisgICAgICAgICogZmFzdC9sb2FkZXIvd2luZG93LW9wZW4tdG8taW52YWxpZC11cmwtZGlzYWxs
b3dlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvbG9hZGVyL3dpbmRvdy1v
cGVuLXRvLWludmFsaWQtdXJsLWRpc2FsbG93ZWQuaHRtbDogQWRkZWQuCisKKzIwMTQtMDgtMTgg
IEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCiAgICAgICAgIFJldmVydCByMTcyNjk3
LgogCiAgICAgICAgIEl0IG1hZGUgc2V2ZXJhbCB3ZWJhcmNoaXZlIGxheW91dCB0ZXN0cyBmbGFr
eSBhbmQgZGlkbid0IGhhdmUgdGhlIGNvcnJlY3QgYmVoYXZpb3IgZm9yIG5vbi1xdWljayByZWRp
cmVjdHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9hbGxvdy1yZWRpcmVj
dC10by1pbnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvbG9hZGVyL2FsbG93LXJlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFz
Y3JpcHQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMWYxOTQy
Y2UxYjg2Nzc5NDRkZWY3MjYwODU1ZDhiY2Y0NTNmY2RhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2FsbG93LXJl
ZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQtZXhwZWN0ZWQudHh0CisrKyAv
ZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotZnJhbWUgImZyYW1lIiAtIGRpZFN0YXJ0UHJvdmlz
aW9uYWxMb2FkRm9yRnJhbWUKLW1haW4gZnJhbWUgLSBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JG
cmFtZQotZnJhbWUgImZyYW1lIiAtIGRpZENvbW1pdExvYWRGb3JGcmFtZQotZnJhbWUgImZyYW1l
IiAtIHdpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTDogeC1kdW1teTovL0E9YSZCPWIgCi1m
cmFtZSAiZnJhbWUiIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKLW1haW4gZnJhbWUg
LSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQotZnJhbWUgImZyYW1lIiAtIGRpZEZpbmlz
aExvYWRGb3JGcmFtZQotbWFpbiBmcmFtZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQotVGVzdHMg
dGhhdCB3ZSBhbGxvdyByZWRpcmVjdGlvbiB0byBhbiBpbnZhbGlkIFVSTCBpbml0aWF0ZWQgYnkg
SmF2YVNjcmlwdCB3aGVuIHNldHRpbmcgYWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMIGlzIHRy
dWUuIFRoaXMgdGVzdCBQQVNTRUQgaWYgeW91IHNlZSBhbiBlbnRyeSBpbiB0aGUgZHVtcGVkIGZy
YW1lIGxvYWQgY2FsbGJhY2tzIG9mIHRoZSBmb3JtOiAid2lsbFBlcmZvcm1DbGllbnRSZWRpcmVj
dFRvVVJMOiB4LWR1bW15Oi8vQT1hJkI9YiIuCi0KLU5vdGUsIHRoaXMgdGVzdCBtdXN0IGJlIHJ1
biBpbiBEdW1wUmVuZGVyVHJlZS4KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xv
YWRlci9hbGxvdy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9hbGxvdy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11
c2luZy1qYXZhc2NyaXB0Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVkNWUw
NGIxOGM1ZWZjNzJiMDlhMDNkMzAzODY5MzkyMDAyNTI2YjIuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvYWxsb3ct
cmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlwdC5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMjkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNj
cmlwdD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOwotICAgIHRlc3RSdW5uZXIuZHVtcEZyYW1lTG9hZENhbGxiYWNrcygpOwotICAgIHRlc3RS
dW5uZXIud2FpdFVudGlsRG9uZSgpOwotfQotCi1pZiAod2luZG93LmludGVybmFscykKLSAgICB3
aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCh0
cnVlKTsKLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cD5UZXN0cyB0aGF0IHdlIGFsbG93
IHJlZGlyZWN0aW9uIHRvIGFuIGludmFsaWQgVVJMIGluaXRpYXRlZCBieSBKYXZhU2NyaXB0IHdo
ZW4gc2V0dGluZyBhbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwgaXMgdHJ1ZS4gVGhpcyB0ZXN0
IFBBU1NFRCBpZiB5b3Ugc2VlIGFuIGVudHJ5IGluIHRoZSBkdW1wZWQgZnJhbWUgbG9hZCBjYWxs
YmFja3Mgb2YgdGhlIGZvcm06ICZxdW90O3dpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTDog
eC1kdW1teTovL0E9YSZhbXA7Qj1iJnF1b3Q7LjwvcD4KLTxwPk5vdGUsIHRoaXMgdGVzdCBtdXN0
IGJlIHJ1biBpbiBEdW1wUmVuZGVyVHJlZS48L3A+Ci08aWZyYW1lIGlkPSJmcmFtZSIgc3JjPSJy
ZXNvdXJjZXMvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlwdC5odG1sIj48
L2lmcmFtZT4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiBkb25lKCkKLXsKLSAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCi0gICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfQotCi13aW5kb3cu
c2V0VGltZW91dChkb25lLCAwKTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvYWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11
cmwtdXNpbmctbWV0YS1yZWZyZXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbG9h
ZGVyL2FsbG93LXJlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLW1ldGEtcmVmcmVzaC1leHBl
Y3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI1ZmY4NTBiYzhkNmYyNWJi
MWRmYWRmMzljODdlNTJmZDQ5ZjU2NzEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvYWxsb3ctcmVkaXJlY3QtdG8t
aW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxs
CkBAIC0xLDE0ICswLDAgQEAKLWZyYW1lICJmcmFtZSIgLSBkaWRTdGFydFByb3Zpc2lvbmFsTG9h
ZEZvckZyYW1lCi1tYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKLWZy
YW1lICJmcmFtZSIgLSBkaWRDb21taXRMb2FkRm9yRnJhbWUKLWZyYW1lICJmcmFtZSIgLSBkaWRG
aW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZQotZnJhbWUgImZyYW1lIiAtIGRpZEhhbmRsZU9ubG9h
ZEV2ZW50c0ZvckZyYW1lCi1tYWluIGZyYW1lIC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJh
bWUKLWZyYW1lICJmcmFtZSIgLSB3aWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9VUkw6IHgtZHVt
bXk6Ly9BPWEmQj1iIAotZnJhbWUgImZyYW1lIiAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQotbWFp
biBmcmFtZSAtIGRpZEZpbmlzaExvYWRGb3JGcmFtZQotVGVzdHMgdGhhdCB3ZSBhbGxvdyByZWRp
cmVjdGlvbiB0byBhbiBpbnZhbGlkIFVSTCBpbml0aWF0ZWQgYnkgPG1ldGEgaHR0cC1lcXVpdj0i
cmVmcmVzaCI+IHdoZW4gc2V0dGluZyBhbGxvd05hdmlnYXRpb25Ub0ludmFsaWRVUkwgaXMgdHJ1
ZS4gVGhpcyB0ZXN0IFBBU1NFRCBpZiB5b3Ugc2VlIGFuIGVudHJ5IGluIHRoZSBkdW1wZWQgZnJh
bWUgbG9hZCBjYWxsYmFja3Mgb2YgdGhlIGZvcm06ICJ3aWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0
VG9VUkw6IHgtZHVtbXk6Ly9BPWEmQj1iIi4KLQotTm90ZSwgdGhpcyB0ZXN0IG11c3QgYmUgcnVu
IGluIER1bXBSZW5kZXJUcmVlLgotCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9h
ZGVyL2FsbG93LXJlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLW1ldGEtcmVmcmVzaC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvYWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwt
dXNpbmctbWV0YS1yZWZyZXNoLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRm
ODhhOWRkNTg1YjA2MWUyOWZjNTY2MTdiNDIyZmJlMTBlODFiZDguLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvYWxs
b3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+
Ci08c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci5kdW1wRnJhbWVMb2FkQ2FsbGJhY2tzKCk7Ci0gICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci19Ci0KLWlmICh3aW5kb3cuaW50ZXJuYWxzKQot
ICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlk
VVJMKHRydWUpOwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxwPlRlc3RzIHRoYXQgd2Ug
YWxsb3cgcmVkaXJlY3Rpb24gdG8gYW4gaW52YWxpZCBVUkwgaW5pdGlhdGVkIGJ5ICZsdDttZXRh
IGh0dHAtZXF1aXY9JnF1b3Q7cmVmcmVzaCZxdW90OyZndDsgd2hlbiBzZXR0aW5nIGFsbG93TmF2
aWdhdGlvblRvSW52YWxpZFVSTCBpcyB0cnVlLiBUaGlzIHRlc3QgUEFTU0VEIGlmIHlvdSBzZWUg
YW4gZW50cnkgaW4gdGhlIGR1bXBlZCBmcmFtZSBsb2FkIGNhbGxiYWNrcyBvZiB0aGUgZm9ybTog
JnF1b3Q7d2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdFRvVVJMOiB4LWR1bW15Oi8vQT1hJmFtcDtC
PWImcXVvdDsuPC9wPgotPHA+Tm90ZSwgdGhpcyB0ZXN0IG11c3QgYmUgcnVuIGluIER1bXBSZW5k
ZXJUcmVlLjwvcD4KLTxpZnJhbWUgaWQ9ImZyYW1lIiBzcmM9InJlc291cmNlcy9yZWRpcmVjdC10
by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJlc2guaHRtbCI+PC9pZnJhbWU+Ci08c2NyaXB0
PgotZnVuY3Rpb24gZG9uZSgpCi17Ci0gICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQotICAgICAg
ICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLX0KLQotd2luZG93LnNldFRpbWVvdXQoZG9uZSwg
MCk7Ci08L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvbG9hZGVyL2Rpc2FsbG93LXJlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFz
Y3JpcHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvZGlzYWxsb3ctcmVk
aXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlwdC1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRiYTlmMjJkYzJkYmI2ZTdmNTk0ZGFjOTYwMTJjNDg2
MjQ5MmU1NmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvZGlzYWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwt
dXNpbmctamF2YXNjcmlwdC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCww
IEBACi1mcmFtZSAiZnJhbWUiIC0gZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZQotbWFp
biBmcmFtZSAtIGRpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lCi1mcmFtZSAiZnJhbWUiIC0g
ZGlkQ29tbWl0TG9hZEZvckZyYW1lCi1mcmFtZSAiZnJhbWUiIC0gZGlkRmluaXNoRG9jdW1lbnRM
b2FkRm9yRnJhbWUKLWZyYW1lICJmcmFtZSIgLSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFt
ZQotbWFpbiBmcmFtZSAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZyYW1lCi1mcmFtZSAiZnJh
bWUiIC0gZGlkRmluaXNoTG9hZEZvckZyYW1lCi1tYWluIGZyYW1lIC0gZGlkRmluaXNoTG9hZEZv
ckZyYW1lCi1UZXN0cyB0aGF0IHdlIGRvIG5vdCByZWRpcmVjdCB0byBhbiBpbnZhbGlkIFVSTCBp
bml0aWF0ZWQgYnkgSmF2YVNjcmlwdCB3aGVuIHNldHRpbmcgYWxsb3dOYXZpZ2F0aW9uVG9JbnZh
bGlkVVJMIGlzIGZhbHNlLiBUaGlzIHRlc3QgUEFTU0VEIGlmIHlvdSBkbyBub3Qgc2VlIGFuIGVu
dHJ5IGluIHRoZSBkdW1wZWQgZnJhbWUgbG9hZCBjYWxsYmFja3Mgb2YgdGhlIGZvcm06ICJ3aWxs
UGVyZm9ybUNsaWVudFJlZGlyZWN0VG9VUkw6IHgtZHVtbXk6Ly9BPWEmQj1iIi4KLQotTm90ZSwg
dGhpcyB0ZXN0IG11c3QgYmUgcnVuIGluIER1bXBSZW5kZXJUcmVlLgotCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2Rpc2FsbG93LXJlZGlyZWN0LXRvLWludmFsaWQtdXJs
LXVzaW5nLWphdmFzY3JpcHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2Rpc2FsbG93
LXJlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZmVmNDA1NmI2MTMzM2U5ZmNjMzJjODUwMjk2OGU3ZTc0Mjdj
ODkwZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2xvYWRlci9kaXNhbGxvdy1yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2lu
Zy1qYXZhc2NyaXB0Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyOSArMCwwIEBACi08IURPQ1RZ
UEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7Ci0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0gICAgdGVzdFJ1bm5lci5kdW1wRnJh
bWVMb2FkQ2FsbGJhY2tzKCk7Ci0gICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci19Ci0K
LWlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0
QWxsb3dOYXZpZ2F0aW9uVG9JbnZhbGlkVVJMKGZhbHNlKTsKLTwvc2NyaXB0PgotPC9oZWFkPgot
PGJvZHk+Ci08cD5UZXN0cyB0aGF0IHdlIGRvIG5vdCByZWRpcmVjdCB0byBhbiBpbnZhbGlkIFVS
TCBpbml0aWF0ZWQgYnkgSmF2YVNjcmlwdCB3aGVuIHNldHRpbmcgYWxsb3dOYXZpZ2F0aW9uVG9J
bnZhbGlkVVJMIGlzIGZhbHNlLiBUaGlzIHRlc3QgUEFTU0VEIGlmIHlvdSBkbyBub3Qgc2VlIGFu
IGVudHJ5IGluIHRoZSBkdW1wZWQgZnJhbWUgbG9hZCBjYWxsYmFja3Mgb2YgdGhlIGZvcm06ICZx
dW90O3dpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RUb1VSTDogeC1kdW1teTovL0E9YSZhbXA7Qj1i
JnF1b3Q7LjwvcD4KLTxwPk5vdGUsIHRoaXMgdGVzdCBtdXN0IGJlIHJ1biBpbiBEdW1wUmVuZGVy
VHJlZS48L3A+Ci08aWZyYW1lIGlkPSJmcmFtZSIgc3JjPSJyZXNvdXJjZXMvcmVkaXJlY3QtdG8t
aW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlwdC5odG1sIj48L2lmcmFtZT4KLTxzY3JpcHQ+Ci1m
dW5jdGlvbiBkb25lKCkKLXsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfQotCi13aW5kb3cuc2V0VGltZW91dChkb25lLCAwKTsK
LTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9sb2FkZXIvZGlzYWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZy
ZXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2Rpc2FsbG93LXJlZGly
ZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLW1ldGEtcmVmcmVzaC1leHBlY3RlZC50eHQKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhNDkwMWU3Njg2ZGRkYzI0OGJhYmYxOWFlN2UwZGZi
NzRmZDlmNTUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvZGlzYWxsb3ctcmVkaXJlY3QtdG8taW52YWxpZC11cmwt
dXNpbmctbWV0YS1yZWZyZXNoLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEzICsw
LDAgQEAKLWZyYW1lICJmcmFtZSIgLSBkaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lCi1t
YWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKLWZyYW1lICJmcmFtZSIg
LSBkaWRDb21taXRMb2FkRm9yRnJhbWUKLWZyYW1lICJmcmFtZSIgLSBkaWRGaW5pc2hEb2N1bWVu
dExvYWRGb3JGcmFtZQotZnJhbWUgImZyYW1lIiAtIGRpZEhhbmRsZU9ubG9hZEV2ZW50c0ZvckZy
YW1lCi1tYWluIGZyYW1lIC0gZGlkSGFuZGxlT25sb2FkRXZlbnRzRm9yRnJhbWUKLWZyYW1lICJm
cmFtZSIgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKLW1haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2Fk
Rm9yRnJhbWUKLVRlc3RzIHRoYXQgd2UgZG8gbm90IHJlZGlyZWN0IHRvIGFuIGludmFsaWQgVVJM
IGluaXRpYXRlZCBieSA8bWV0YSBodHRwLWVxdWl2PSJyZWZyZXNoIj4gd2hlbiBzZXR0aW5nIGFs
bG93TmF2aWdhdGlvblRvSW52YWxpZFVSTCBpcyBmYWxzZS4gVGhpcyB0ZXN0IFBBU1NFRCBpZiB5
b3UgZG8gbm90IHNlZSBhbiBlbnRyeSBpbiB0aGUgZHVtcGVkIGZyYW1lIGxvYWQgY2FsbGJhY2tz
IG9mIHRoZSBmb3JtOiAid2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdFRvVVJMOiB4LWR1bW15Oi8v
QT1hJkI9YiIuCi0KLU5vdGUsIHRoaXMgdGVzdCBtdXN0IGJlIHJ1biBpbiBEdW1wUmVuZGVyVHJl
ZS4KLQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9kaXNhbGxvdy1yZWRp
cmVjdC10by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJlc2guaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvbG9hZGVyL2Rpc2FsbG93LXJlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLW1ldGEt
cmVmcmVzaC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMDhiNGE1OGQ3NTBi
OGY3YTc0Y2Q3ZGVkYWY4MGY0ZmVmNTlkMjUyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2Rpc2FsbG93LXJlZGly
ZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLW1ldGEtcmVmcmVzaC5odG1sCisrKyAvZGV2L251bGwK
QEAgLTEsMjkgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dD4KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OwotICAgIHRlc3RSdW5uZXIuZHVtcEZyYW1lTG9hZENhbGxiYWNrcygpOwotICAgIHRlc3RSdW5u
ZXIud2FpdFVudGlsRG9uZSgpOwotfQotCi1pZiAod2luZG93LmludGVybmFscykKLSAgICB3aW5k
b3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFsbG93TmF2aWdhdGlvblRvSW52YWxpZFVSTChmYWxz
ZSk7Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHA+VGVzdHMgdGhhdCB3ZSBkbyBub3Qg
cmVkaXJlY3QgdG8gYW4gaW52YWxpZCBVUkwgaW5pdGlhdGVkIGJ5ICZsdDttZXRhIGh0dHAtZXF1
aXY9JnF1b3Q7cmVmcmVzaCZxdW90OyZndDsgd2hlbiBzZXR0aW5nIGFsbG93TmF2aWdhdGlvblRv
SW52YWxpZFVSTCBpcyBmYWxzZS4gVGhpcyB0ZXN0IFBBU1NFRCBpZiB5b3UgZG8gbm90IHNlZSBh
biBlbnRyeSBpbiB0aGUgZHVtcGVkIGZyYW1lIGxvYWQgY2FsbGJhY2tzIG9mIHRoZSBmb3JtOiAm
cXVvdDt3aWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9VUkw6IHgtZHVtbXk6Ly9BPWEmYW1wO0I9
YiZxdW90Oy48L3A+Ci08cD5Ob3RlLCB0aGlzIHRlc3QgbXVzdCBiZSBydW4gaW4gRHVtcFJlbmRl
clRyZWUuPC9wPgotPGlmcmFtZSBpZD0iZnJhbWUiIHNyYz0icmVzb3VyY2VzL3JlZGlyZWN0LXRv
LWludmFsaWQtdXJsLXVzaW5nLW1ldGEtcmVmcmVzaC5odG1sIj48L2lmcmFtZT4KLTxzY3JpcHQ+
Ci1mdW5jdGlvbiBkb25lKCkKLXsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotfQotCi13aW5kb3cuc2V0VGltZW91dChkb25lLCAw
KTsKLTwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlwdC1jYWxs
cy1wb2xpY3ktZGVsZWdhdGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIv
cmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlwdC1jYWxscy1wb2xpY3ktZGVs
ZWdhdGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA5YmQxZTU2MTZlZjBkODEyM2M4YTMyM2Mw
YWEyNmRmYjY4ODQ1MzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRl
ci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0LWNhbGxzLXBvbGljeS1k
ZWxlZ2F0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitQb2xpY3kgZGVsZWdhdGU6IGF0
dGVtcHQgdG8gbG9hZCBodHRwOi8vQT1hJkI9YiB3aXRoIG5hdmlnYXRpb24gdHlwZSAnb3RoZXIn
CitUZXN0cyB0aGF0IHdlIGRvIG5vdCByZWRpcmVjdCB0byBhbiBpbnZhbGlkIFVSTCBpbml0aWF0
ZWQgYnkgSmF2YVNjcmlwdC4gVGhpcyB0ZXN0IFBBU1NFRCBpZiB5b3Ugc2VlIGFuIGVudHJ5IGlu
IHRoZSBkdW1wZWQgZnJhbWUgbG9hZCBjYWxsYmFja3Mgb2YgdGhlIGZvcm06ICJ3aWxsUGVyZm9y
bUNsaWVudFJlZGlyZWN0VG9VUkw6IGh0dHA6Ly9BPWEmQj1iIiBmb2xsb3dlZCBieSAiZGlkQ2Fu
Y2VsQ2xpZW50UmVkaXJlY3RGb3JGcmFtZSIuCisKK05vdGUsIHRoaXMgdGVzdCBtdXN0IGJlIHJ1
biBpbiBEdW1wUmVuZGVyVHJlZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVy
L3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQtY2FsbHMtcG9saWN5LWRl
bGVnYXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlk
LXVybC11c2luZy1qYXZhc2NyaXB0LWNhbGxzLXBvbGljeS1kZWxlZ2F0ZS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmU5Yzk3ZjcxYWMzY2YyMjYyZGI2Y2Q0M2U1Y2IzOTg3YmJiYjgwZDAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11
c2luZy1qYXZhc2NyaXB0LWNhbGxzLXBvbGljeS1kZWxlZ2F0ZS5odG1sCkBAIC0wLDAgKzEsMjMg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVu
bmVyLnNldEN1c3RvbVBvbGljeURlbGVnYXRlKHRydWUsIGZhbHNlKTsKKyAgICB0ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UZXN0
cyB0aGF0IHdlIGRvIG5vdCByZWRpcmVjdCB0byBhbiBpbnZhbGlkIFVSTCBpbml0aWF0ZWQgYnkg
SmF2YVNjcmlwdC4gVGhpcyB0ZXN0IFBBU1NFRCBpZiB5b3Ugc2VlIGFuIGVudHJ5IGluIHRoZSBk
dW1wZWQgZnJhbWUgbG9hZCBjYWxsYmFja3Mgb2YgdGhlIGZvcm06ICZxdW90O3dpbGxQZXJmb3Jt
Q2xpZW50UmVkaXJlY3RUb1VSTDogaHR0cDovL0E9YSZhbXA7Qj1iJnF1b3Q7IGZvbGxvd2VkIGJ5
ICZxdW90O2RpZENhbmNlbENsaWVudFJlZGlyZWN0Rm9yRnJhbWUmcXVvdDsuPC9wPgorPHA+Tm90
ZSwgdGhpcyB0ZXN0IG11c3QgYmUgcnVuIGluIER1bXBSZW5kZXJUcmVlLjwvcD4KKzxzY3JpcHQ+
Cit3aW5kb3cubG9jYXRpb24uaHJlZiA9ICJodHRwOi8vQT1hJkI9YiI7Cit3aW5kb3cuc2V0VGlt
ZW91dChmdW5jdGlvbigpIHsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOworfSwgMCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3JlZGlyZWN0LXRvLWludmFs
aWQtdXJsLXVzaW5nLWphdmFzY3JpcHQtZGlzYWxsb3dlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0
LWRpc2FsbG93ZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiOTIzOWJkMzY1MTcyNzI1NTk1
YTRlZmU4M2ZhNzg5ZDRjYjAyOGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0LWRpc2FsbG93
ZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorbWFpbiBmcmFtZSAtIHdpbGxQZXJmb3Jt
Q2xpZW50UmVkaXJlY3RUb1VSTDogaHR0cDovL0E9YSZCPWIgCittYWluIGZyYW1lIC0gZGlkRmlu
aXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJh
bWUKK21haW4gZnJhbWUgLSBkaWRDYW5jZWxDbGllbnRSZWRpcmVjdEZvckZyYW1lCitUZXN0cyB0
aGF0IHdlIGRvIG5vdCByZWRpcmVjdCB0byBhbiBpbnZhbGlkIFVSTCBpbml0aWF0ZWQgYnkgSmF2
YVNjcmlwdC4gVGhpcyB0ZXN0IFBBU1NFRCBpZiB5b3Ugc2VlIGFuIGVudHJ5IGluIHRoZSBkdW1w
ZWQgZnJhbWUgbG9hZCBjYWxsYmFja3Mgb2YgdGhlIGZvcm06ICJ3aWxsUGVyZm9ybUNsaWVudFJl
ZGlyZWN0VG9VUkw6IGh0dHA6Ly9BPWEmQj1iIiBmb2xsb3dlZCBieSAiZGlkQ2FuY2VsQ2xpZW50
UmVkaXJlY3RGb3JGcmFtZSIuCisKK05vdGUsIHRoaXMgdGVzdCBtdXN0IGJlIHJ1biBpbiBEdW1w
UmVuZGVyVHJlZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3JlZGlyZWN0
LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQtZGlzYWxsb3dlZC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctamF2YXNjcmlw
dC1kaXNhbGxvd2VkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzVlZjYwOTBkZWMyZTFjZjc5NjVhMjY1ZDg1
NWRhMGFhNWQyYjQ3ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVy
L3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQtZGlzYWxsb3dlZC5odG1s
CkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKKyAgICB0ZXN0UnVubmVyLmR1bXBGcmFtZUxvYWRDYWxsYmFja3MoKTsKKyAgICB0ZXN0UnVu
bmVyLndhaXRVbnRpbERvbmUoKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5U
ZXN0cyB0aGF0IHdlIGRvIG5vdCByZWRpcmVjdCB0byBhbiBpbnZhbGlkIFVSTCBpbml0aWF0ZWQg
YnkgSmF2YVNjcmlwdC4gVGhpcyB0ZXN0IFBBU1NFRCBpZiB5b3Ugc2VlIGFuIGVudHJ5IGluIHRo
ZSBkdW1wZWQgZnJhbWUgbG9hZCBjYWxsYmFja3Mgb2YgdGhlIGZvcm06ICZxdW90O3dpbGxQZXJm
b3JtQ2xpZW50UmVkaXJlY3RUb1VSTDogaHR0cDovL0E9YSZhbXA7Qj1iJnF1b3Q7IGZvbGxvd2Vk
IGJ5ICZxdW90O2RpZENhbmNlbENsaWVudFJlZGlyZWN0Rm9yRnJhbWUmcXVvdDsuPC9wPgorPHA+
Tm90ZSwgdGhpcyB0ZXN0IG11c3QgYmUgcnVuIGluIER1bXBSZW5kZXJUcmVlLjwvcD4KKzxzY3Jp
cHQ+Cit3aW5kb3cubG9jYXRpb24uaHJlZiA9ICJodHRwOi8vQT1hJkI9YiI7Cit3aW5kb3cuc2V0
VGltZW91dChmdW5jdGlvbigpIHsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworfSwgMCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3JlZGlyZWN0LXRvLWlu
dmFsaWQtdXJsLXVzaW5nLW1ldGEtcmVmcmVzaC1jYWxscy1wb2xpY3ktZGVsZWdhdGUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwt
dXNpbmctbWV0YS1yZWZyZXNoLWNhbGxzLXBvbGljeS1kZWxlZ2F0ZS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZWFhNWEwZjdmODBhYjYyNjIzYzc3NmMzYTE4YmU5ZDM5NDJmNWE3NAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3JlZGlyZWN0LXRvLWludmFsaWQt
dXJsLXVzaW5nLW1ldGEtcmVmcmVzaC1jYWxscy1wb2xpY3ktZGVsZWdhdGUtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNCBAQAorUG9saWN5IGRlbGVnYXRlOiBhdHRlbXB0IHRvIGxvYWQgaHR0cDov
L0E9YSZCPWIgd2l0aCBuYXZpZ2F0aW9uIHR5cGUgJ290aGVyJworVGVzdHMgdGhhdCB3ZSBkbyBu
b3QgcmVkaXJlY3QgdG8gYW4gaW52YWxpZCBVUkwgaW5pdGlhdGVkIGJ5IDxtZXRhIGh0dHAtZXF1
aXY9InJlZnJlc2giPi4gVGhpcyB0ZXN0IFBBU1NFRCBpZiB5b3Ugc2VlIGFuIGVudHJ5IGluIHRo
ZSBkdW1wZWQgZnJhbWUgbG9hZCBjYWxsYmFja3Mgb2YgdGhlIGZvcm06ICJ3aWxsUGVyZm9ybUNs
aWVudFJlZGlyZWN0VG9VUkw6IGh0dHA6Ly9BPWEmQj1iIiBmb2xsb3dlZCBieSAiZGlkQ2FuY2Vs
Q2xpZW50UmVkaXJlY3RGb3JGcmFtZSIuCisKK05vdGUsIHRoaXMgdGVzdCBtdXN0IGJlIHJ1biBp
biBEdW1wUmVuZGVyVHJlZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3Jl
ZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLW1ldGEtcmVmcmVzaC1jYWxscy1wb2xpY3ktZGVs
ZWdhdGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3JlZGlyZWN0LXRvLWludmFsaWQt
dXJsLXVzaW5nLW1ldGEtcmVmcmVzaC1jYWxscy1wb2xpY3ktZGVsZWdhdGUuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kMTJkZDMyYjE0ZjMzM2EwNGE3NGIxMDczNGRkZmMwYmI2YTE1YzhkCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwt
dXNpbmctbWV0YS1yZWZyZXNoLWNhbGxzLXBvbGljeS1kZWxlZ2F0ZS5odG1sCkBAIC0wLDAgKzEs
MjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGh0dHAtZXF1aXY9
InJlZnJlc2giIGNvbnRlbnQ9IjA7IHVybD1odHRwOi8vQT1hJkI9YiI+Cis8c2NyaXB0PgoraWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAg
dGVzdFJ1bm5lci5zZXRDdXN0b21Qb2xpY3lEZWxlZ2F0ZSh0cnVlLCBmYWxzZSk7CisgICAgdGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PHA+VGVzdHMgdGhhdCB3ZSBkbyBub3QgcmVkaXJlY3QgdG8gYW4gaW52YWxpZCBVUkwgaW5pdGlh
dGVkIGJ5ICZsdDttZXRhIGh0dHAtZXF1aXY9JnF1b3Q7cmVmcmVzaCZxdW90OyZndDsuIFRoaXMg
dGVzdCBQQVNTRUQgaWYgeW91IHNlZSBhbiBlbnRyeSBpbiB0aGUgZHVtcGVkIGZyYW1lIGxvYWQg
Y2FsbGJhY2tzIG9mIHRoZSBmb3JtOiAmcXVvdDt3aWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9V
Ukw6IGh0dHA6Ly9BPWEmYW1wO0I9YiZxdW90OyBmb2xsb3dlZCBieSAmcXVvdDtkaWRDYW5jZWxD
bGllbnRSZWRpcmVjdEZvckZyYW1lJnF1b3Q7LjwvcD4KKzxwPk5vdGUsIHRoaXMgdGVzdCBtdXN0
IGJlIHJ1biBpbiBEdW1wUmVuZGVyVHJlZS48L3A+Cis8c2NyaXB0PgorLy8gVGhpcyB1Z2x5IGRv
dWJsZS10aW1lb3V0IGVuc3VyZXMgdGhhdCB0aGUgc2NoZWR1bGVkIG1ldGEtcmVmcmVzaCwgd2hv
c2UgdGltZXIgaXNuJ3QgZXZlbiBzdGFydGVkIHVudGlsIHRoZSBmcmFtZSBmaW5pc2hlcyBsb2Fk
aW5nLAorLy8gZmlyZXMgYmVmb3JlIG5vdGlmeURvbmUoKSBpcyBjYWxsZWQsIGVuc3VyaW5nIHRo
YXQgZGlkQ2FuY2VsQ2xpZW50UmVkaXJlY3RGb3JGcmFtZSBpcyBsb2dnZWQgYnkgRHVtcFJlbmRl
clRyZWUuCit3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICB3aW5kb3cuc2V0VGlt
ZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfSwgMCk7Cit9LCAwKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2Fk
ZXIvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLWRpc2FsbG93ZWQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvcmVkaXJlY3QtdG8taW52YWxp
ZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLWRpc2FsbG93ZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmY0OTM2ZmVhZjk2NTZiZmE5YjM4MjUzMDM1MzJlY2Y3OWZiMDBjYmQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11
c2luZy1tZXRhLXJlZnJlc2gtZGlzYWxsb3dlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBA
CittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUg
LSBkaWRIYW5kbGVPbmxvYWRFdmVudHNGb3JGcmFtZQorbWFpbiBmcmFtZSAtIHdpbGxQZXJmb3Jt
Q2xpZW50UmVkaXJlY3RUb1VSTDogaHR0cDovL0E9YSZCPWIgCittYWluIGZyYW1lIC0gZGlkRmlu
aXNoTG9hZEZvckZyYW1lCittYWluIGZyYW1lIC0gZGlkQ2FuY2VsQ2xpZW50UmVkaXJlY3RGb3JG
cmFtZQorVGVzdHMgdGhhdCB3ZSBkbyBub3QgcmVkaXJlY3QgdG8gYW4gaW52YWxpZCBVUkwgaW5p
dGlhdGVkIGJ5IDxtZXRhIGh0dHAtZXF1aXY9InJlZnJlc2giPi4gVGhpcyB0ZXN0IFBBU1NFRCBp
ZiB5b3Ugc2VlIGFuIGVudHJ5IGluIHRoZSBkdW1wZWQgZnJhbWUgbG9hZCBjYWxsYmFja3Mgb2Yg
dGhlIGZvcm06ICJ3aWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9VUkw6IGh0dHA6Ly9BPWEmQj1i
IiBmb2xsb3dlZCBieSAiZGlkQ2FuY2VsQ2xpZW50UmVkaXJlY3RGb3JGcmFtZSIuCisKK05vdGUs
IHRoaXMgdGVzdCBtdXN0IGJlIHJ1biBpbiBEdW1wUmVuZGVyVHJlZS4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvbG9hZGVyL3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLW1ldGEt
cmVmcmVzaC1kaXNhbGxvd2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9yZWRpcmVj
dC10by1pbnZhbGlkLXVybC11c2luZy1tZXRhLXJlZnJlc2gtZGlzYWxsb3dlZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmMwY2VlODNlOTNhNjNmY2QyMTMzMzMzMzc0MmE3ZDFiNDM4ZGZlMWIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9yZWRpcmVjdC10by1pbnZhbGlkLXVy
bC11c2luZy1tZXRhLXJlZnJlc2gtZGlzYWxsb3dlZC5odG1sCkBAIC0wLDAgKzEsMjcgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGh0dHAtZXF1aXY9InJlZnJlc2gi
IGNvbnRlbnQ9IjA7IHVybD1odHRwOi8vQT1hJkI9YiI+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5l
ci5kdW1wRnJhbWVMb2FkQ2FsbGJhY2tzKCk7CisgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25l
KCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGVzdHMgdGhhdCB3ZSBkbyBu
b3QgcmVkaXJlY3QgdG8gYW4gaW52YWxpZCBVUkwgaW5pdGlhdGVkIGJ5ICZsdDttZXRhIGh0dHAt
ZXF1aXY9JnF1b3Q7cmVmcmVzaCZxdW90OyZndDsuIFRoaXMgdGVzdCBQQVNTRUQgaWYgeW91IHNl
ZSBhbiBlbnRyeSBpbiB0aGUgZHVtcGVkIGZyYW1lIGxvYWQgY2FsbGJhY2tzIG9mIHRoZSBmb3Jt
OiAmcXVvdDt3aWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9VUkw6IGh0dHA6Ly9BPWEmYW1wO0I9
YiZxdW90OyBmb2xsb3dlZCBieSAmcXVvdDtkaWRDYW5jZWxDbGllbnRSZWRpcmVjdEZvckZyYW1l
JnF1b3Q7LjwvcD4KKzxwPk5vdGUsIHRoaXMgdGVzdCBtdXN0IGJlIHJ1biBpbiBEdW1wUmVuZGVy
VHJlZS48L3A+Cis8c2NyaXB0PgorLy8gVGhpcyB1Z2x5IGRvdWJsZS10aW1lb3V0IGVuc3VyZXMg
dGhhdCB0aGUgc2NoZWR1bGVkIG1ldGEtcmVmcmVzaCwgd2hvc2UgdGltZXIgaXNuJ3QgZXZlbiBz
dGFydGVkIHVudGlsIHRoZSBmcmFtZSBmaW5pc2hlcyBsb2FkaW5nLAorLy8gZmlyZXMgYmVmb3Jl
IG5vdGlmeURvbmUoKSBpcyBjYWxsZWQsIGVuc3VyaW5nIHRoYXQgZGlkQ2FuY2VsQ2xpZW50UmVk
aXJlY3RGb3JGcmFtZSBpcyBsb2dnZWQgYnkgRHVtcFJlbmRlclRyZWUuCit3aW5kb3cuc2V0VGlt
ZW91dChmdW5jdGlvbigpIHsKKyAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3Rp
ZnlEb25lKCk7CisgICAgfSwgMCk7Cit9LCAwKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvcmVzb3VyY2VzL3JlZGlyZWN0
LXRvLWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
bG9hZGVyL3Jlc291cmNlcy9yZWRpcmVjdC10by1pbnZhbGlkLXVybC11c2luZy1qYXZhc2NyaXB0
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMwN2YyMWQ5MjkzOTM0OGY3NmE3
NTg3YzAzZTJiNjRhODJkMTk1ZGMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvcmVzb3VyY2VzL3JlZGlyZWN0LXRv
LWludmFsaWQtdXJsLXVzaW5nLWphdmFzY3JpcHQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQg
KzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08c2NyaXB0Pgotd2luZG93LmxvY2F0aW9uLmhyZWYg
PSAieC1kdW1teTovL0E9YSZCPWIiOwotPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2xvYWRlci9yZXNvdXJjZXMvcmVkaXJlY3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0
YS1yZWZyZXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9yZXNvdXJjZXMvcmVkaXJl
Y3QtdG8taW52YWxpZC11cmwtdXNpbmctbWV0YS1yZWZyZXNoLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDU1YjY1ZGFjMjM1NzhkNDYyN2RjNzk1NDU5YmNiNGY3NDMxNGIyZDYu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9sb2FkZXIvcmVzb3VyY2VzL3JlZGlyZWN0LXRvLWludmFsaWQtdXJsLXVzaW5nLW1l
dGEtcmVmcmVzaC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sPgotPGhlYWQ+Ci0gICAgPG1ldGEgaHR0cC1lcXVpdj0icmVmcmVzaCIgY29u
dGVudD0iMDsgdXJsPXgtZHVtbXk6Ly9BPWEmQj1iIj4KLTwvaGVhZD4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3dpbmRvdy1vcGVuLXRvLWludmFsaWQtdXJs
LWNhbGxzLXBvbGljeS1kZWxlZ2F0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2xv
YWRlci93aW5kb3ctb3Blbi10by1pbnZhbGlkLXVybC1jYWxscy1wb2xpY3ktZGVsZWdhdGUtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjODIyNzg4NTIzZDg0ZTdiM2MwMzU3MmViOTlmZDY1ZmU3
MTAzNDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci93aW5kb3ct
b3Blbi10by1pbnZhbGlkLXVybC1jYWxscy1wb2xpY3ktZGVsZWdhdGUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNCBAQAorUG9saWN5IGRlbGVnYXRlOiBhdHRlbXB0IHRvIGxvYWQgaHR0cDovL0E9
YSZCPWIgd2l0aCBuYXZpZ2F0aW9uIHR5cGUgJ290aGVyJworVGVzdHMgdGhhdCB3ZSBjYWxsIHRo
ZSBuYXZpZ2F0aW9uIHBvbGljeSBkZWxlZ2F0ZSB3aGVuIG9wZW5pbmcgYSBuZXcgd2luZG93IHRv
IGFuIGludmFsaWQgVVJMLgorCitOb3RlLCB0aGlzIHRlc3QgbXVzdCBiZSBydW4gaW4gRHVtcFJl
bmRlclRyZWUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci93aW5kb3ctb3Bl
bi10by1pbnZhbGlkLXVybC1jYWxscy1wb2xpY3ktZGVsZWdhdGUuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvbG9hZGVyL3dpbmRvdy1vcGVuLXRvLWludmFsaWQtdXJsLWNhbGxzLXBvbGljeS1kZWxl
Z2F0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxZWU0YTBhM2IzY2I0NjNjODJlOWZkMjJlOTAzNWMwNjY4
Zjc3ODAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci93aW5kb3ct
b3Blbi10by1pbnZhbGlkLXVybC1jYWxscy1wb2xpY3ktZGVsZWdhdGUuaHRtbApAQCAtMCwwICsx
LDI0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdp
bmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVz
dFJ1bm5lci5zZXRDdXN0b21Qb2xpY3lEZWxlZ2F0ZSh0cnVlLCBmYWxzZSk7CisgICAgdGVzdFJ1
bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgdGVzdFJ1bm5lci5zZXRDYW5PcGVuV2luZG93cygp
OworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRlc3RzIHRoYXQgd2UgY2FsbCB0
aGUgbmF2aWdhdGlvbiBwb2xpY3kgZGVsZWdhdGUgd2hlbiBvcGVuaW5nIGEgbmV3IHdpbmRvdyB0
byBhbiBpbnZhbGlkIFVSTC48L3A+Cis8cD5Ob3RlLCB0aGlzIHRlc3QgbXVzdCBiZSBydW4gaW4g
RHVtcFJlbmRlclRyZWUuPC9wPgorPHNjcmlwdD4KK3dpbmRvdy5vcGVuKCJodHRwOi8vQT1hJkI9
YiIsICJfdG9wIik7Cit3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworfSwgMCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvbG9hZGVyL3dpbmRvdy1vcGVuLXRvLWludmFsaWQtdXJsLWRpc2FsbG93ZWQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIvd2luZG93LW9wZW4tdG8taW52YWxpZC11cmwt
ZGlzYWxsb3dlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODVhYjRjN2RlZWJhNWM4ZTFlMjcy
YzExYzIwZDM5ZGYzM2I5M2JmMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
bG9hZGVyL3dpbmRvdy1vcGVuLXRvLWludmFsaWQtdXJsLWRpc2FsbG93ZWQtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNyBAQAorbWFpbiBmcmFtZSAtIHdpbGxQZXJmb3JtQ2xpZW50UmVkaXJlY3RU
b1VSTDogaHR0cDovL0E9YSZCPWIgCittYWluIGZyYW1lIC0gZGlkRmluaXNoRG9jdW1lbnRMb2Fk
Rm9yRnJhbWUKK21haW4gZnJhbWUgLSBkaWRGaW5pc2hMb2FkRm9yRnJhbWUKK21haW4gZnJhbWUg
LSBkaWRDYW5jZWxDbGllbnRSZWRpcmVjdEZvckZyYW1lCitUZXN0cyB0aGF0IHdlIGRvIG5vdCBv
cGVuIGEgbmV3IHdpbmRvdyB0byBhbiBpbnZhbGlkIFVSTC4gVGhpcyB0ZXN0IFBBU1NFRCBpZiB5
b3Ugc2VlIGFuIGVudHJ5IGluIHRoZSBkdW1wZWQgZnJhbWUgbG9hZCBjYWxsYmFja3Mgb2YgdGhl
IGZvcm06ICJ3aWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9VUkw6IGh0dHA6Ly9BPWEmQj1iIiBm
b2xsb3dlZCBieSAiZGlkQ2FuY2VsQ2xpZW50UmVkaXJlY3RGb3JGcmFtZSIuCisKK05vdGUsIHRo
aXMgdGVzdCBtdXN0IGJlIHJ1biBpbiBEdW1wUmVuZGVyVHJlZS4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvbG9hZGVyL3dpbmRvdy1vcGVuLXRvLWludmFsaWQtdXJsLWRpc2FsbG93ZWQu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL3dpbmRvdy1vcGVuLXRvLWludmFsaWQtdXJs
LWRpc2FsbG93ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMDQyNTllZmI0Y2Q1YzgzZTVkYjk4MDM1ZGZm
ZTliMmQ2OTIwN2E2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9sb2FkZXIv
d2luZG93LW9wZW4tdG8taW52YWxpZC11cmwtZGlzYWxsb3dlZC5odG1sCkBAIC0wLDAgKzEsMjQg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVu
bmVyLmR1bXBGcmFtZUxvYWRDYWxsYmFja3MoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKKyAgICB0ZXN0UnVubmVyLnNldENhbk9wZW5XaW5kb3dzKCk7Cit9Cis8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHA+VGVzdHMgdGhhdCB3ZSBkbyBub3Qgb3BlbiBhIG5ldyB3aW5k
b3cgdG8gYW4gaW52YWxpZCBVUkwuIFRoaXMgdGVzdCBQQVNTRUQgaWYgeW91IHNlZSBhbiBlbnRy
eSBpbiB0aGUgZHVtcGVkIGZyYW1lIGxvYWQgY2FsbGJhY2tzIG9mIHRoZSBmb3JtOiAmcXVvdDt3
aWxsUGVyZm9ybUNsaWVudFJlZGlyZWN0VG9VUkw6IGh0dHA6Ly9BPWEmYW1wO0I9YiZxdW90OyBm
b2xsb3dlZCBieSAmcXVvdDtkaWRDYW5jZWxDbGllbnRSZWRpcmVjdEZvckZyYW1lJnF1b3Q7Ljwv
cD4KKzxwPk5vdGUsIHRoaXMgdGVzdCBtdXN0IGJlIHJ1biBpbiBEdW1wUmVuZGVyVHJlZS48L3A+
Cis8c2NyaXB0Pgord2luZG93Lm9wZW4oImh0dHA6Ly9BPWEmQj1iIiwgIl90b3AiKTsKK3dpbmRv
dy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9LCAwKTsKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="261425"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>