<?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>223591</bug_id>
          
          <creation_ts>2021-03-22 12:23:09 -0700</creation_ts>
          <short_desc>[WinCairo] Enable Service Worker tests</short_desc>
          <delta_ts>2021-04-13 14:56:49 -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>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Christopher Reid">chris.reid</reporter>
          <assigned_to name="Christopher Reid">chris.reid</assigned_to>
          <cc>basuke</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>fujii</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1742369</commentid>
    <comment_count>0</comment_count>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2021-03-22 12:23:09 -0700</bug_when>
    <thetext>They are skipped currently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742524</commentid>
    <comment_count>1</comment_count>
      <attachid>423951</attachid>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2021-03-22 15:42:45 -0700</bug_when>
    <thetext>Created attachment 423951
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742529</commentid>
    <comment_count>2</comment_count>
      <attachid>423953</attachid>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2021-03-22 15:53:31 -0700</bug_when>
    <thetext>Created attachment 423953
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742653</commentid>
    <comment_count>3</comment_count>
      <attachid>423953</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-03-22 19:59:07 -0700</bug_when>
    <thetext>Comment on attachment 423953
patch

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

&gt; Source/WebKit/ChangeLog:8
&gt; +        WPT HTTP tests were failing because SSL Connet tests weren&apos;t triggering authentication challenges.

Connet → Connect

I don&apos;t understand why SSL connection error should trigger authentication challenges.
Auth dialog will pop up if SSL connection error happens?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742664</commentid>
    <comment_count>4</comment_count>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2021-03-22 21:18:38 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #3)
&gt; Comment on attachment 423953 [details]
&gt; patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=423953&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/ChangeLog:8
&gt; &gt; +        WPT HTTP tests were failing because SSL Connet tests weren&apos;t triggering authentication challenges.
&gt; 
&gt; Connet → Connect
&gt; 
&gt; I don&apos;t understand why SSL connection error should trigger authentication
&gt; challenges.
&gt; Auth dialog will pop up if SSL connection error happens?

What was happening was with only the isSSLCertVerificationError() check, connections to the WPT HTTP server were failing in both MiniBrowser and WKTR with CURLE_SSL_CONNECT_ERROR.

After adding the isSSLConnectError check, now MiniBrowser will trigger a dialog to accept the cert and WKTR will automatically accept the cert with TestController::didReceiveAuthenticationChallenge.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742665</commentid>
    <comment_count>5</comment_count>
      <attachid>423986</attachid>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2021-03-22 21:19:40 -0700</bug_when>
    <thetext>Created attachment 423986
typo fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742667</commentid>
    <comment_count>6</comment_count>
      <attachid>423987</attachid>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2021-03-22 21:21:14 -0700</bug_when>
    <thetext>Created attachment 423987
typo fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742670</commentid>
    <comment_count>7</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-03-22 21:41:01 -0700</bug_when>
    <thetext>It sounds weird to me.
I tested my local wpt server with WinCairo MiniBrowser.

1. Start wpt server
   python.exe .\Tools\Scripts\run-webkit-httpd
2. Start MiniBrowser
3. Go to https://localhost:9443/
4. &quot;Server Trust Evaluation Request&quot; dialog pops up
5. Click &quot;OK&quot;
6. The page is shown</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742682</commentid>
    <comment_count>8</comment_count>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2021-03-22 23:11:52 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #7)
&gt; It sounds weird to me.
&gt; I tested my local wpt server with WinCairo MiniBrowser.
&gt; 
&gt; 1. Start wpt server
&gt;    python.exe .\Tools\Scripts\run-webkit-httpd
&gt; 2. Start MiniBrowser
&gt; 3. Go to https://localhost:9443/
&gt; 4. &quot;Server Trust Evaluation Request&quot; dialog pops up
&gt; 5. Click &quot;OK&quot;
&gt; 6. The page is shown

Hm yeah that is weird, I&apos;m a bit surprised all those are working.

For me first off, to even resolve localhost I need to disable c-ares with curl because of https://github.com/WebKitForWindows/WebKitRequirements/pull/51.

Running run-webkit-httpd directly fails with various errors.

For now to get around those erors I run the wpt httpd server directly with `python .\LayoutTests\imported\w3c\web-platform-tests\wpt.py serve --config C:\git\webkit\LayoutTests\imported\w3c\web-platform-tests\config2.json`

Where config2.json is a config copied from the one generated when running `python ./Tools/Scripts/run-webkit-tests --no-build --no-show-results --no-new-test-results --clobber-old-results --debug --wincairo --results-directory layout-test-results --debug-rwt-logging --no-retry-failures --force http/wpt`

This is the config.json file I use:
&gt; {&quot;browser_host&quot;: &quot;localhost&quot;, &quot;alternate_hosts&quot;: {&quot;alt&quot;: &quot;127.0.0.1&quot;}, &quot;ports&quot;: {&quot;http&quot;: [8800, 8801], &quot;https&quot;: [9443, 9444], &quot;ws&quot;: [49001]}, &quot;aliases&quot;: [{&quot;url-path&quot;: &quot;/resources/testharnessreport.js&quot;, &quot;local-dir&quot;: &quot;../../../resources/&quot;}, {&quot;url-path&quot;: &quot;/resources/testharness.css&quot;, &quot;local-dir&quot;: &quot;../../../resources/&quot;}, {&quot;url-path&quot;: &quot;/webkit-test-resources/&quot;, &quot;local-dir&quot;: &quot;../../../resources/&quot;}, {&quot;url-path&quot;: &quot;/WebKit/&quot;, &quot;local-dir&quot;: &quot;../../../http/wpt/&quot;}], &quot;check_subdomains&quot;: false, &quot;log_level&quot;: &quot;debug&quot;, &quot;bind_hostname&quot;: true, &quot;ssl&quot;: {&quot;type&quot;: &quot;openssl&quot;, &quot;encrypt_after_connect&quot;: false, &quot;openssl&quot;: {&quot;openssl_binary&quot;: &quot;openssl&quot;, &quot;base_path&quot;: &quot;C:\\git\\webkit\\layout-test-results\\_wpt_certs&quot;, &quot;force_regenerate&quot;: false}, &quot;pregenerated&quot;: {&quot;host_key_path&quot;: null, &quot;host_cert_path&quot;: null}, &quot;none&quot;: {}}}

Then running minibrowser without these changes and with DEBUG_CURL and CURL_LOG_FILE env vars I get:
&gt; * Connection #0 to host webkit.org left intact
&gt; *   Trying 127.0.0.1:9443...
&gt; * Connected to localhost (127.0.0.1) port 9443 (#0)
&gt; * ALPN, offering h2
&gt; * ALPN, offering http/1.1
&gt; * successfully imported windows ca store
&gt; * error:1404B418:SSL routines:ST_CONNECT:tlsv1 alert unknown ca
&gt; * Closing connection 0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742690</commentid>
    <comment_count>9</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-03-22 23:44:54 -0700</bug_when>
    <thetext>I tested your original patch on my Windows PC, and reverting &quot;|| resourceError.isSSLConnectError()&quot; and tested again, and compare the results.
However, those two test trial end up to the same result.

&gt; python.exe ./Tools/Scripts/run-webkit-tests --debug --wincairo --no-new-test-results --no-retry-failures http/tests/workers/service http/wpt/service-workers


&gt; 89 tests ran as expected, 7 didn&apos;t:
&gt; 
&gt; Expected to fail, but passed: (4)
&gt;   http/tests/workers/service/service-worker-request-with-body.https.html
&gt;   http/wpt/service-workers/check-service-worker-header.https.html
&gt;   http/wpt/service-workers/cors-preflight-star.any-serviceworker.html
&gt;   http/wpt/service-workers/service-worker-crashing-while-fetching.https.html
&gt; 
&gt; 
&gt; Regressions: Unexpected timeouts (3)
&gt;   http/tests/workers/service/service-worker-download-async-delegates.https.html [ Timeout ]
&gt;   http/tests/workers/service/service-worker-download.https.html [ Timeout ]
&gt;   http/tests/workers/service/service-worker-resource-timing.https.html [ Timeout ]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743440</commentid>
    <comment_count>10</comment_count>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2021-03-24 11:46:31 -0700</bug_when>
    <thetext>Hm could it be somehow using TLS1.2 to connect instead of 1.3?
It looks like the error is CURLE_PEER_FAILED_VERIFICATION on 1.2 and CURLE_SSL_CONNECT_ERROR on 1.3.


&gt; &gt;curl.exe https://localhost:9444 --verbose --tlsv1.3
&gt; *   Trying 127.0.0.1:9444...
&gt; * Connected to localhost (127.0.0.1) port 9444 (#0)
&gt; * ALPN, offering h2
&gt; * ALPN, offering http/1.1
&gt; Client sending ClientHello
&gt; * (304) (OUT), TLS handshake, Client hello (1):
&gt; Client receiving ServerHello
&gt; * (304) (IN), TLS handshake, Server hello (2):
&gt; Client receiving EncryptedExtensions
&gt; * (304) (IN), TLS handshake, Unknown (8):
&gt; Client receiving CertificateRequest
&gt; * (304) (IN), TLS handshake, Certificate (11):
&gt; * error:1404B418:SSL routines:ST_CONNECT:tlsv1 alert unknown ca
&gt; * Closing connection 0
&gt; curl: (35) error:1404B418:SSL routines:ST_CONNECT:tlsv1 alert unknown ca
&gt; 
&gt; &gt;curl.exe https://localhost:9444 --verbose --tls-max 1.2
&gt; *   Trying 127.0.0.1:9444...
&gt; * Connected to localhost (127.0.0.1) port 9444 (#0)
&gt; * ALPN, offering h2
&gt; * ALPN, offering http/1.1
&gt; Client sending ClientHello
&gt; * (304) (OUT), TLS handshake, Client hello (1):
&gt; Client receiving ServerHello
&gt; * (304) (IN), TLS handshake, Server hello (2):
&gt; Client recv returned -6
&gt; * TLSv1.2 (IN), TLS handshake, Certificate (11):
&gt; * TLSv1.2 (OUT), TLS alert, unknown CA (560):
&gt; * SSL certificate problem: unable to get local issuer certificate
&gt; * Closing connection 0
&gt; curl: (60) SSL certificate problem: unable to get local issuer certificate
&gt; More details here: https://curl.se/docs/sslcerts.html
&gt; 
&gt; curl failed to verify the legitimacy of the server and therefore could not
&gt; establish a secure connection to it. To learn more about this situation and
&gt; how to fix it, please visit the web page mentioned above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743549</commentid>
    <comment_count>11</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-03-24 14:25:45 -0700</bug_when>
    <thetext>Interesting. I confirmed the same result on Linux with badssl.com.

&gt; curl https://self-signed.badssl.com/ --verbose --tls-max 1.2
&gt; curl https://self-signed.badssl.com/ --verbose --tlsv1.3

I have some questions:
1. Is this the expected behavior of cURL?
2. If so, can we get the detailed error reason code?
3. Why does WinCairo behave differently on your PC and mine?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743680</commentid>
    <comment_count>12</comment_count>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2021-03-24 23:33:49 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #11)
&gt; Interesting. I confirmed the same result on Linux with badssl.com.
&gt; 
&gt; &gt; curl https://self-signed.badssl.com/ --verbose --tls-max 1.2
&gt; &gt; curl https://self-signed.badssl.com/ --verbose --tlsv1.3
&gt; 
&gt; I have some questions:
&gt; 1. Is this the expected behavior of cURL?
&gt; 2. If so, can we get the detailed error reason code?

I couldn&apos;t find anything to indicate if it&apos;s intended or not. TLS 1.3 spec seems like it&apos;s stricter with error codes but these types of cert errors are both fatal on 1.2 and 1.3. It does seem inconcistent and I feel like it could be unintended. I&apos;ll make an issue on curl to check.

&gt; 3. Why does WinCairo behave differently on your PC and mine?

That&apos;s still a big unknown. I feel like you should hit this issue if you&apos;re using TLS 1.3. One guess is if you&apos;re using system SSL then I don&apos;t think that has TLS 1.3 support.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743681</commentid>
    <comment_count>13</comment_count>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2021-03-24 23:56:30 -0700</bug_when>
    <thetext>(In reply to Christopher Reid from comment #12)
&gt;  I&apos;ll make an issue on curl to check.

Created https://github.com/curl/curl/issues/6790</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743886</commentid>
    <comment_count>14</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-03-25 13:14:18 -0700</bug_when>
    <thetext>(In reply to Christopher Reid from comment #13)
&gt; Created https://github.com/curl/curl/issues/6790

Oops. It&apos;s my mistake. I didn&apos;t check the connection error messages.
badssl.com and my localhost wpt server doesn&apos;t accept TLS v1.3. They are normal connection errors.

&gt; PS C:\tools\curl-7.75.0-win64-mingw\bin&gt; .\curl.exe https://localhost:9444 --verbose --tlsv1.3
&gt; *   Trying ::1:9444...
&gt; *   Trying 127.0.0.1:9444...
&gt; * Connected to localhost (127.0.0.1) port 9444 (#0)
&gt; * ALPN, offering h2
&gt; * ALPN, offering http/1.1
&gt; * successfully set certificate verify locations:
&gt; *  CAfile: C:\tools\curl-7.75.0-win64-mingw\bin\curl-ca-bundle.crt
&gt; *  CApath: none
&gt; * TLSv1.3 (OUT), TLS handshake, Client hello (1):
&gt; * TLSv1.3 (IN), TLS alert, handshake failure (552):
&gt; * error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure
&gt; * Closing connection 0
&gt; curl: (35) error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure

&gt; PS C:\tools\curl-7.75.0-win64-mingw\bin&gt; .\curl.exe https://localhost:9444 --verbose
&gt; *   Trying ::1:9444...
&gt; *   Trying 127.0.0.1:9444...
&gt; * Connected to localhost (127.0.0.1) port 9444 (#0)
&gt; * ALPN, offering h2
&gt; * ALPN, offering http/1.1
&gt; * successfully set certificate verify locations:
&gt; *  CAfile: C:\tools\curl-7.75.0-win64-mingw\bin\curl-ca-bundle.crt
&gt; *  CApath: none
&gt; * TLSv1.3 (OUT), TLS handshake, Client hello (1):
&gt; * TLSv1.3 (IN), TLS handshake, Server hello (2):
&gt; * TLSv1.2 (IN), TLS handshake, Certificate (11):
&gt; * TLSv1.2 (OUT), TLS alert, unknown CA (560):
&gt; * SSL certificate problem: unable to get local issuer certificate
&gt; * Closing connection 0
&gt; curl: (60) SSL certificate problem: unable to get local issuer certificate
&gt; More details here: https://curl.se/docs/sslcerts.html
&gt; 
&gt; curl failed to verify the legitimacy of the server and therefore could not
&gt; establish a secure connection to it. To learn more about this situation and
&gt; how to fix it, please visit the web page mentioned above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743904</commentid>
    <comment_count>15</comment_count>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2021-03-25 13:44:03 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #14)
&gt; (In reply to Christopher Reid from comment #13)
&gt; &gt; Created https://github.com/curl/curl/issues/6790
&gt; 
&gt; Oops. It&apos;s my mistake. I didn&apos;t check the connection error messages.
&gt; badssl.com and my localhost wpt server doesn&apos;t accept TLS v1.3. They are
&gt; normal connection errors.


Ah okay that should explain the different wincairo behaviors with WPT.

I was a bit mistaken in the curl ticket when I said a self generated cert returned CURLE_PEER_FAILED_VERIFICATION on TLS 1.3. 
That was only true for curl + OpenSSL. 

When compiling out curl + libressl on TLS 1.3 on ubuntu it has the same `tlsv1 alert unknown ca` error that I see on wincairo. curl + libressl on TLS 1.2 is okay and curl + OpenSSL is okay for both TLS 1.2 and 1.3. So maybe there&apos;s still an issue in libcurl or libressl.

I&apos;m trying to dig in to libressl a bit to see what&apos;s going on before reopening the ticket or making a libressl ticket.
X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY seems like the first error that&apos;s hit when validating the cert but that is in the x509_verify.c file which doesn&apos;t seem to care about the TLS version so I think I&apos;m still missing something.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745276</commentid>
    <comment_count>16</comment_count>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2021-03-30 13:32:43 -0700</bug_when>
    <thetext>I now created https://github.com/libressl-portable/openbsd/issues/122 since it looks like a libressl/openbsd issue unless the deviation is expected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745835</commentid>
    <comment_count>17</comment_count>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2021-03-31 15:42:07 -0700</bug_when>
    <thetext>Note: I commented in the openbsd ticket that I think the call to `SSLerror(ctx-&gt;ssl, SSL_AD_REASON_OFFSET + alert_desc);` in tls13_alert_sent_cb is wrong and it should only be in the tls13_alert_received_cb function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745921</commentid>
    <comment_count>18</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-03-31 19:13:37 -0700</bug_when>
    <thetext>WPT server doesn&apos;t seem to support TLS v1.3 if it runs by Python 2.7, but Python 3.
WinCairo is still using Python 2.7. So, the libressl issue doesn&apos;t have to block this at the moment.
I think you can land the patch by reverting the part if you want.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746655</commentid>
    <comment_count>19</comment_count>
      <attachid>425052</attachid>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2021-04-02 14:04:31 -0700</bug_when>
    <thetext>Created attachment 425052
patch

Reverted the SSL Connect check and rebaselined the tests with python 2.7</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747168</commentid>
    <comment_count>20</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-05 16:56:08 -0700</bug_when>
    <thetext>Committed r275454: &lt;https://commits.webkit.org/r275454&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 425052.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1747171</commentid>
    <comment_count>21</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-05 16:57:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/76242396&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749882</commentid>
    <comment_count>22</comment_count>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2021-04-13 14:56:49 -0700</bug_when>
    <thetext>FYI I merged the libressl TLS 1.3 fix for the next requirements release https://github.com/WebKitForWindows/WebKitRequirements/pull/52</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423951</attachid>
            <date>2021-03-22 15:42:45 -0700</date>
            <delta_ts>2021-03-22 15:53:31 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>10928</size>
            <attacher name="Christopher Reid">chris.reid</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiOWU1N2JhZjZmNGEuLjUzNWYyOWFlNzU0YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDIxLTAzLTIyICBDaHJpc3RvcGhlciBSZWlkICA8Y2hyaXMucmVpZEBzb255LmNvbT4KKwor
ICAgICAgICBbV2luQ2Fpcm9dIEVuYWJsZSBTZXJ2aWNlIFdvcmtlciB0ZXN0cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNTkxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWly
by13azEvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWlyby9UZXN0
RXhwZWN0YXRpb25zOgorCiAyMDIxLTAyLTI0ICBJbWFub2wgRmVybmFuZGV6ICA8aWZlcm5hbmRl
ekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFNldCB4ckNvbXBhdGlibGUgaW4gV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZTo6Z2V0Q29udGV4dEF0dHJpYnV0ZXMKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbmNhaXJvLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd2luY2Fpcm8td2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMTBkNzUxMThkOTE3
Li4zYjBhYmIxYzUyNjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJv
LXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJv
LXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC0zMTIsMyArMzEyLDcgQEAgaHR0cC90ZXN0cy9pcy1s
b2dnZWQtaW4vIFsgU2tpcCBdCiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MgWyBT
a2lwIF0KIAogd2Via2l0Lm9yZy9iLzIyMDU3OSBmYXN0L2V2ZW50cy9jdXJyZW50VGFyZ2V0LWdj
LWNyYXNoLmh0bWwgWyBTa2lwIF0KKworIyBTa2lwIFNlcnZpY2UgV29ya2VycyBpbiBXSzEKK2h0
dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlIFsgU2tpcCBdCitodHRwL3dwdC9zZXJ2aWNlLXdvcmtl
cnMgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IGI1Y2IzZmZhNDRkYi4uNGE0MjAyNDZkNjlhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEyMjgsNyArMTIyOCwx
NyBAQCBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dlYnNvY2tldC1ibG9ja2VkLWZy
b20tc2V0dGluZy1jb29raWUtYXMtdGhpcmQtcAogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aHliaS93ZWJzb2NrZXQtY29va2llLW92ZXJ3cml0ZS1iZWhhdmlvci5odG1sIFsgUGFzcyBGYWls
dXJlIF0KIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy93b3JrZXItcmVs
b2FkLmh0bWwgWyBUaW1lb3V0IFBhc3MgXQogCi1odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZSBb
IFNraXAgXQorIyBOZWVkcyBjdXJsIGRvd25sb2FkIHN1cHBvcnQKK2h0dHAvdGVzdHMvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZpY2Utd29ya2VyLWRvd25sb2FkLWFzeW5jLWRlbGVnYXRlcy5odHRwcy5o
dG1sIFsgRmFpbHVyZSBdCitodHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9zZXJ2aWNlLXdvcmtl
ci1kb3dubG9hZC5odHRwcy5odG1sIFsgRmFpbHVyZSBdCisKK2h0dHAvdGVzdHMvd29ya2Vycy9z
ZXJ2aWNlL3NlcnZpY2Utd29ya2VyLWNhY2hlLWFwaS5odHRwcy5odG1sIFsgRmFpbHVyZSBdCito
dHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9zZXJ2aWNlLXdvcmtlci1yZXF1ZXN0LXdpdGgtYm9k
eS5odHRwcy5odG1sIFsgRmFpbHVyZSBdCitodHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9zZXJ2
aWNlLXdvcmtlci1yZXNvdXJjZS10aW1pbmcuaHR0cHMuaHRtbCBbIEZhaWx1cmUgXQoraHR0cC90
ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2VydmljZXdvcmtlci13ZWJzb2NrZXQuaHR0cHMuaHRtbCBb
IEZhaWx1cmUgXQoraHR0cC90ZXN0cy93b3JrZXJzL3dvcmtlci1pbXBvcnRTY3JpcHRzLmh0bWwg
WyBGYWlsdXJlIF0KK2h0dHAvdGVzdHMvd29ya2Vycy93b3JrZXItaW1wb3J0U2NyaXB0c09uRXJy
b3IuaHRtbCBbIEZhaWx1cmUgXQoraHR0cC90ZXN0cy93b3JrZXJzL3dvcmtlci1tZXNzYWdlcG9y
dC0yLmh0bWwgWyBGYWlsdXJlIF0KIGh0dHAvdGVzdHMvd29ya2Vycy93b3JrZXItcmVkaXJlY3Qu
aHRtbCBbIEZhaWx1cmUgXQogCiBbIERlYnVnIF0gaHR0cC90ZXN0cy93b3JrZXJzL3dvcmtlci1t
ZXNzYWdlcG9ydC0yLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQpAQCAtMTI3Miw2ICsxMjgyLDE3IEBA
IHdlYmtpdC5vcmcvYi8xOTI0MDYgaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJj
ZS1zZWN1cml0eS1jb25uZWN0aW9uLmh0CiB3ZWJraXQub3JnL2IvMTkxNDk4IGh0dHAvdGVzdHMv
aW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2Utc2VjdXJpdHktY2VydGlmaWNhdGUuaHRtbCBbIFBh
c3MgXQogd2Via2l0Lm9yZy9iLzE5MTQ5OCBodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2dl
dFNlcmlhbGl6ZWRDZXJ0aWZpY2F0ZS5odG1sIFsgUGFzcyBdCiAKK2h0dHAvd3B0L3NlcnZpY2Ut
d29ya2Vycy9jaGVjay1zZXJ2aWNlLXdvcmtlci1oZWFkZXIuaHR0cHMuaHRtbCBbIEZhaWx1cmUg
XQoraHR0cC93cHQvc2VydmljZS13b3JrZXJzL2NvcnMtcHJlZmxpZ2h0LXN0YXIuYW55LXNlcnZp
Y2V3b3JrZXIuaHRtbCBbIEZhaWx1cmUgXQoraHR0cC93cHQvc2VydmljZS13b3JrZXJzL2ZldGNo
RXZlbnQuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCitodHRwL3dwdC9zZXJ2aWNlLXdvcmtl
cnMvZmlsZS11cGxvYWQuaHRtbCBbIEZhaWx1cmUgXQoraHR0cC93cHQvc2VydmljZS13b3JrZXJz
L21hYy90aHJvdHRsZWFibGUuaHR0cHMuaHRtbCBbIEZhaWx1cmUgXQoraHR0cC93cHQvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyLWNyYXNoaW5nLXdoaWxlLWZldGNoaW5nLmh0dHBzLmh0
bWwgWyBGYWlsdXJlIF0KK2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci1u
ZXR3b3JrcHJvY2Vzcy1jcmFzaC5odG1sIFsgUGFzcyBGYWlsdXJlIF0KK2h0dHAvd3B0L3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci1zcGlubmluZy1hY3RpdmF0ZS5odHRwcy5odG1sIFsg
UGFzcyBGYWlsdXJlIF0KK2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy91cGRhdGUtc2VydmljZS13
b3JrZXIuaHR0cHMuaHRtbCBbIEZhaWx1cmUgXQoraHR0cC93cHQvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyLXNwaW5uaW5nLW1lc3NhZ2UuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBd
CisKICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAjIElzc3VlIGNhdGVnb3JpZXMgYmVsb3cgYXJl
IHNoYXJlZCB3aXRoIG90aGVyIHBsYXRmb3JtcyAocHJpbWFyaWx5IEFwcGxlV2luKQogIy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8KQEAgLTE3NDcsNyArMTc2OCwzNCBAQCBmYXN0L3hzbCBbIFNraXAg
XQogd2Via2l0Lm9yZy9iLzE5OTE4NiBmb250cy91c2UtdHlwby1tZXRyaWNzLTEuaHRtbCBbIFNr
aXAgXQogZnVsbHNjcmVlbiBbIFNraXAgXQogaHRtbDVsaWIgWyBTa2lwIF0KLWh0dHAvd3B0IFsg
U2tpcCBdCitodHRwL3dwdC8yZGNvbnRleHQgWyBTa2lwIF0KK2h0dHAvd3B0L2F1ZGlvLW91dHB1
dCBbIFNraXAgXQoraHR0cC93cHQvYmVhY29uIFsgU2tpcCBdCitodHRwL3dwdC9jYWNoZS1zdG9y
YWdlIFsgU2tpcCBdCitodHRwL3dwdC9jb21tb24gWyBTa2lwIF0KK2h0dHAvd3B0L2NyZWRlbnRp
YWwtbWFuYWdlbWVudCBbIFNraXAgXQoraHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXJlc291cmNlLXBv
bGljeSBbIFNraXAgXQoraHR0cC93cHQvY3NzIFsgU2tpcCBdCitodHRwL3dwdC9jcnlwdG8gWyBT
a2lwIF0KK2h0dHAvd3B0L2Nzc29tIFsgU2tpcCBdCitodHRwL3dwdC9lbnRyaWVzLWFwaSBbIFNr
aXAgXQoraHR0cC93cHQvZmV0Y2ggWyBTa2lwIF0KK2h0dHAvd3B0L2dlb21ldHJ5IFsgU2tpcCBd
CitodHRwL3dwdC9odG1sIFsgU2tpcCBdCitodHRwL3dwdC9pbWFnZXMgWyBTa2lwIF0KK2h0dHAv
d3B0L2xvYWRpbmcgWyBTa2lwIF0KK2h0dHAvd3B0L21lZGlhcmVjb3JkZXIgWyBTa2lwIF0KK2h0
dHAvd3B0L25vdGlmaWNhdGlvbnMgWyBTa2lwIF0KK2h0dHAvd3B0L29mZnNjcmVlbi1jYW52YXMg
WyBTa2lwIF0KK2h0dHAvd3B0L3ByZWZldGNoIFsgU2tpcCBdCitodHRwL3dwdC9wcmVsb2FkIFsg
U2tpcCBdCitodHRwL3dwdC9yZXNvdXJjZS10aW1pbmcgWyBTa2lwIF0KK2h0dHAvd3B0L3Jlc291
cmNlcyBbIFNraXAgXQoraHR0cC93cHQvd2ViYXVkaW8gWyBTa2lwIF0KK2h0dHAvd3B0L3dlYmF1
dGhuIFsgU2tpcCBdCitodHRwL3dwdC93ZWJydGMgWyBTa2lwIF0KK2h0dHAvd3B0L3dlYnhyIFsg
U2tpcCBdCitodHRwL3dwdC93b3JrZXJzIFsgU2tpcCBdCiBpbXBvcnRlZC9ibGluayBbIFNraXAg
XQogaW1wb3J0ZWQvbW96aWxsYSBbIFNraXAgXQogaW1wb3J0ZWQvdzNjIFsgU2tpcCBdCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGVlZGIwMzM5OWExMS4uNzY3ZmZlMWVjZTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3
IEBACisyMDIxLTAzLTIyICBDaHJpc3RvcGhlciBSZWlkICA8Y2hyaXMucmVpZEBzb255LmNvbT4K
KworICAgICAgICBbV2luQ2Fpcm9dIEVuYWJsZSBTZXJ2aWNlIFdvcmtlciB0ZXN0cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNTkxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChP
T1BTISkuCisKKyAgICAgICAgQWRkIGEgc3VnZ2VzdGVkRmlsZW5hbWUgaW1wbGVtZW50YXRpb24g
YW5kIHRyaWdnZXIgYXV0aGVudGljYXRpb25DaGFsbGVuZ2Ugb24gU1NMIENvbm5lY3QgZXJyb3Jz
LgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY3VybC9OZXR3b3JrRGF0YVRhc2tDdXJsLmNw
cDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdvcmtEYXRhVGFza0N1cmwuaDoK
KwogMjAyMS0wMi0yNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3Jn
PgogCiAgICAgICAgIEFkZCBzdHVicyB0byBlbmFibGUgU2FmYXJpRm9yV2ViS2l0RGV2ZWxvcG1l
bnQgdG8gbGF1bmNoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2N1
cmwvTmV0d29ya0RhdGFUYXNrQ3VybC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2N1cmwvTmV0d29ya0RhdGFUYXNrQ3VybC5jcHAKaW5kZXggMjdmOGVmNTRlNTYxLi40MDdhZDEz
ZWNhZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY3VybC9OZXR3
b3JrRGF0YVRhc2tDdXJsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2N1
cmwvTmV0d29ya0RhdGFUYXNrQ3VybC5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlIDxX
ZWJDb3JlL1NhbWVTaXRlSW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2hvdWxkUmVsYXhUaGly
ZFBhcnR5Q29va2llQmxvY2tpbmcuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1N5bmNocm9ub3VzTG9h
ZGVyQ2xpZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9UZXh0RW5jb2RpbmcuaD4KIAogbmFtZXNw
YWNlIFdlYktpdCB7CiAKQEAgLTE5Niw3ICsxOTcsNyBAQCB2b2lkIE5ldHdvcmtEYXRhVGFza0N1
cmw6OmN1cmxEaWRGYWlsV2l0aEVycm9yKEN1cmxSZXF1ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUVy
cgogICAgIGlmIChzdGF0ZSgpID09IFN0YXRlOjpDYW5jZWxpbmcgfHwgc3RhdGUoKSA9PSBTdGF0
ZTo6Q29tcGxldGVkIHx8ICghbV9jbGllbnQgJiYgIWlzRG93bmxvYWQoKSkpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIGlmIChyZXNvdXJjZUVycm9yLmlzU1NMQ2VydFZlcmlmaWNhdGlvbkVycm9y
KCkpIHsKKyAgICBpZiAocmVzb3VyY2VFcnJvci5pc1NTTENlcnRWZXJpZmljYXRpb25FcnJvcigp
IHx8IHJlc291cmNlRXJyb3IuaXNTU0xDb25uZWN0RXJyb3IoKSkgewogICAgICAgICB0cnlTZXJ2
ZXJUcnVzdEV2YWx1YXRpb24oQXV0aGVudGljYXRpb25DaGFsbGVuZ2UocmVxdWVzdC5yZXNvdXJj
ZVJlcXVlc3QoKS51cmwoKSwgY2VydGlmaWNhdGVJbmZvLCByZXNvdXJjZUVycm9yKSk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CkBAIC00NzAsNiArNDcxLDE4IEBAIHZvaWQgTmV0d29ya0RhdGFU
YXNrQ3VybDo6aGFuZGxlQ29va2llSGVhZGVycyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmIHJlCiAgICAgfQogfQogCitTdHJpbmcgTmV0d29ya0RhdGFUYXNrQ3VybDo6c3VnZ2VzdGVk
RmlsZW5hbWUoKSBjb25zdAoreworICAgIGlmICghbV9zdWdnZXN0ZWRGaWxlbmFtZS5pc0VtcHR5
KCkpCisgICAgICAgIHJldHVybiBtX3N1Z2dlc3RlZEZpbGVuYW1lOworCisgICAgU3RyaW5nIHN1
Z2dlc3RlZEZpbGVuYW1lID0gbV9yZXNwb25zZS5zdWdnZXN0ZWRGaWxlbmFtZSgpOworICAgIGlm
ICghc3VnZ2VzdGVkRmlsZW5hbWUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gc3VnZ2VzdGVk
RmlsZW5hbWU7CisKKyAgICByZXR1cm4gZGVjb2RlVVJMRXNjYXBlU2VxdWVuY2VzKG1fcmVzcG9u
c2UudXJsKCkubGFzdFBhdGhDb21wb25lbnQoKSk7Cit9CisKIHZvaWQgTmV0d29ya0RhdGFUYXNr
Q3VybDo6YmxvY2tDb29raWVzKCkKIHsKICNpZiBFTkFCTEUoUkVTT1VSQ0VfTE9BRF9TVEFUSVNU
SUNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdv
cmtEYXRhVGFza0N1cmwuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY3VybC9OZXR3
b3JrRGF0YVRhc2tDdXJsLmgKaW5kZXggNGMxMjBkNjgzMDU4Li40NmMyMTVhOTlhOWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY3VybC9OZXR3b3JrRGF0YVRhc2tD
dXJsLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdvcmtEYXRh
VGFza0N1cmwuaApAQCAtOTEsNiArOTEsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgYmxvY2tDb29r
aWVzKCk7CiAgICAgdm9pZCB1bmJsb2NrQ29va2llcygpOwogCisgICAgU3RyaW5nIHN1Z2dlc3Rl
ZEZpbGVuYW1lKCkgY29uc3Qgb3ZlcnJpZGU7CisKICAgICBTdGF0ZSBtX3N0YXRlIHsgU3RhdGU6
OlN1c3BlbmRlZCB9OwogCiAgICAgUmVmUHRyPFdlYkNvcmU6OkN1cmxSZXF1ZXN0PiBtX2N1cmxS
ZXF1ZXN0OwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IGYyZThhNzIxY2U0My4uODQwNzU0MTg4YzFmIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDMtMjIgIENo
cmlzdG9waGVyIFJlaWQgIDxjaHJpcy5yZWlkQHNvbnkuY29tPgorCisgICAgICAgIFtXaW5DYWly
b10gRW5hYmxlIFNlcnZpY2UgV29ya2VyIHRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM1OTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBJZ25vcmUgY2VydCBlcnJvcnMgd2l0aCBkb3dubG9hZHMg
YW5kIGZpeCBhbiBpc3N1ZSB3aXRoIHdpbmRvd3MgcGF0aHMuCisKKyAgICAgICAgKiBXZWJLaXRU
ZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVy
L1Rlc3RDb250cm9sbGVyLmg6CisKIDIwMjEtMDItMjQgIEthdGUgQ2hlbmV5ICA8a2F0aGVyaW5l
X2NoZW5leUBhcHBsZS5jb20+CiAKICAgICAgICAgQXBwLWJvdW5kIHJlcXVlc3QgcGFyYW1ldGVy
IHNob3VsZCBiZSBwYXNzZWQgdG8gbWFpbiByZXNvdXJjZSByZXF1ZXN0cyBub3QgdGhlIG1haW4g
ZnJhbWUKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXggZTUy
YWUxMjhhNWNjLi4yZmExODY1ZGQ1NGQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvVGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuY3BwCkBAIC0xNDMsNyArMTQzLDcgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6bmF2
aWdhdGlvbkRpZEJlY29tZURvd25sb2FkU2hhcmVkKFdLRG93bmxvYWRSZWYgZG93bmxvYWQsIGMK
ICAgICBXS0Rvd25sb2FkQ2xpZW50VjAgY2xpZW50IHsKICAgICAgICAgeyAwLCBjbGllbnRJbmZv
IH0sCiAgICAgICAgIFRlc3RDb250cm9sbGVyOjpkb3dubG9hZERpZFJlY2VpdmVTZXJ2ZXJSZWRp
cmVjdFRvVVJMLAotICAgICAgICBudWxscHRyLCAvLyBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25D
aGFsbGVuZ2UKKyAgICAgICAgVGVzdENvbnRyb2xsZXI6OmRvd25sb2FkRGlkUmVjZWl2ZUF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlLAogICAgICAgICBUZXN0Q29udHJvbGxlcjo6ZGVjaWRlRGVzdGlu
YXRpb25XaXRoU3VnZ2VzdGVkRmlsZW5hbWUsCiAgICAgICAgIG51bGxwdHIsIC8vIGRpZFdyaXRl
RGF0YQogICAgICAgICBUZXN0Q29udHJvbGxlcjo6ZG93bmxvYWREaWRGaW5pc2gsCkBAIC0yMTYz
LDcgKzIxNjMsNyBAQCBXS1N0cmluZ1JlZiBUZXN0Q29udHJvbGxlcjo6ZGVjaWRlRGVzdGluYXRp
b25XaXRoU3VnZ2VzdGVkRmlsZW5hbWUoV0tEb3dubG9hZFJlZgogICAgIGlmIChzdWdnZXN0ZWRG
aWxlbmFtZS5pc0VtcHR5KCkpCiAgICAgICAgIHN1Z2dlc3RlZEZpbGVuYW1lID0gIlVua25vd24i
OwogICAgIAotICAgIFN0cmluZyBkZXN0aW5hdGlvbiA9IHRlbXBvcmFyeUZvbGRlciArICIvIiAr
IHN1Z2dlc3RlZEZpbGVuYW1lOworICAgIFN0cmluZyBkZXN0aW5hdGlvbiA9IHRlbXBvcmFyeUZv
bGRlciArIHBhdGhTZXBhcmF0b3IgKyBzdWdnZXN0ZWRGaWxlbmFtZTsKICAgICBpZiAoRmlsZVN5
c3RlbTo6ZmlsZUV4aXN0cyhkZXN0aW5hdGlvbikpCiAgICAgICAgIEZpbGVTeXN0ZW06OmRlbGV0
ZUZpbGUoZGVzdGluYXRpb24pOwogCkBAIC0yMTk5LDYgKzIxOTksMTEgQEAgdm9pZCBUZXN0Q29u
dHJvbGxlcjo6ZG93bmxvYWREaWRGYWlsKFdLRG93bmxvYWRSZWYsIFdLRXJyb3JSZWYgZXJyb3Ip
CiAgICAgbV9jdXJyZW50SW52b2NhdGlvbi0+bm90aWZ5RG93bmxvYWREb25lKCk7CiB9CiAKK3Zv
aWQgVGVzdENvbnRyb2xsZXI6OmRvd25sb2FkRGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlKFdLRG93bmxvYWRSZWYsIFdLQXV0aGVudGljYXRpb25DaGFsbGVuZ2VSZWYgYXV0aGVudGlj
YXRpb25DaGFsbGVuZ2UsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pCit7CisgICAgc3RhdGljX2Nh
c3Q8VGVzdENvbnRyb2xsZXIqPihjb25zdF9jYXN0PHZvaWQqPihjbGllbnRJbmZvKSktPmRpZFJl
Y2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShudWxscHRyLCBhdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZSk7Cit9CisKIHZvaWQgVGVzdENvbnRyb2xsZXI6OnByb2Nlc3NEaWRDcmFzaCgpCiB7CiAg
ICAgLy8gVGhpcyBmdW5jdGlvbiBjYW4gYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzIHdoZW4gY3Jh
c2ggbG9ncyBhcmUgYmVpbmcgc2F2ZWQgb24gV2luZG93cywgc28KZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvVGVzdENvbnRyb2xsZXIuaAppbmRleCA5ZTVhYTc5Yzk4ZTMuLjE4YjA0MmZlZTlmYiAxMDA2
NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCisrKyBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaApAQCAtNDYzLDYgKzQ2Myw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBkb3dubG9hZERpZEZhaWwoV0tEb3dubG9hZFJlZiwgV0tFcnJv
clJlZik7CiAgICAgc3RhdGljIGJvb2wgZG93bmxvYWREaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RU
b1VSTChXS0Rvd25sb2FkUmVmLCBXS1VSTFJlc3BvbnNlUmVmLCBXS1VSTFJlcXVlc3RSZWYsIGNv
bnN0IHZvaWQqKTsKICAgICBib29sIGRvd25sb2FkRGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0VG9V
UkwoV0tEb3dubG9hZFJlZiwgV0tVUkxSZXF1ZXN0UmVmKTsKKyAgICBzdGF0aWMgdm9pZCBkb3du
bG9hZERpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShXS0Rvd25sb2FkUmVmLCBXS0F1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUmVmLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKICAgICAK
ICAgICBzdGF0aWMgdm9pZCBwcm9jZXNzRGlkQ3Jhc2goV0tQYWdlUmVmLCBjb25zdCB2b2lkKiBj
bGllbnRJbmZvKTsKICAgICB2b2lkIHByb2Nlc3NEaWRDcmFzaCgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423953</attachid>
            <date>2021-03-22 15:53:31 -0700</date>
            <delta_ts>2021-03-22 21:19:40 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>10950</size>
            <attacher name="Christopher Reid">chris.reid</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiOWU1N2JhZjZmNGEuLjUzNWYyOWFlNzU0YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDIxLTAzLTIyICBDaHJpc3RvcGhlciBSZWlkICA8Y2hyaXMucmVpZEBzb255LmNvbT4KKwor
ICAgICAgICBbV2luQ2Fpcm9dIEVuYWJsZSBTZXJ2aWNlIFdvcmtlciB0ZXN0cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNTkxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWly
by13azEvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWlyby9UZXN0
RXhwZWN0YXRpb25zOgorCiAyMDIxLTAyLTI0ICBJbWFub2wgRmVybmFuZGV6ICA8aWZlcm5hbmRl
ekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFNldCB4ckNvbXBhdGlibGUgaW4gV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZTo6Z2V0Q29udGV4dEF0dHJpYnV0ZXMKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbmNhaXJvLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd2luY2Fpcm8td2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMTBkNzUxMThkOTE3
Li4zYjBhYmIxYzUyNjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJv
LXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJv
LXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC0zMTIsMyArMzEyLDcgQEAgaHR0cC90ZXN0cy9pcy1s
b2dnZWQtaW4vIFsgU2tpcCBdCiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MgWyBT
a2lwIF0KIAogd2Via2l0Lm9yZy9iLzIyMDU3OSBmYXN0L2V2ZW50cy9jdXJyZW50VGFyZ2V0LWdj
LWNyYXNoLmh0bWwgWyBTa2lwIF0KKworIyBTa2lwIFNlcnZpY2UgV29ya2VycyBpbiBXSzEKK2h0
dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlIFsgU2tpcCBdCitodHRwL3dwdC9zZXJ2aWNlLXdvcmtl
cnMgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IGI1Y2IzZmZhNDRkYi4uNGE0MjAyNDZkNjlhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEyMjgsNyArMTIyOCwx
NyBAQCBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dlYnNvY2tldC1ibG9ja2VkLWZy
b20tc2V0dGluZy1jb29raWUtYXMtdGhpcmQtcAogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aHliaS93ZWJzb2NrZXQtY29va2llLW92ZXJ3cml0ZS1iZWhhdmlvci5odG1sIFsgUGFzcyBGYWls
dXJlIF0KIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy93b3JrZXItcmVs
b2FkLmh0bWwgWyBUaW1lb3V0IFBhc3MgXQogCi1odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZSBb
IFNraXAgXQorIyBOZWVkcyBjdXJsIGRvd25sb2FkIHN1cHBvcnQKK2h0dHAvdGVzdHMvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZpY2Utd29ya2VyLWRvd25sb2FkLWFzeW5jLWRlbGVnYXRlcy5odHRwcy5o
dG1sIFsgRmFpbHVyZSBdCitodHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9zZXJ2aWNlLXdvcmtl
ci1kb3dubG9hZC5odHRwcy5odG1sIFsgRmFpbHVyZSBdCisKK2h0dHAvdGVzdHMvd29ya2Vycy9z
ZXJ2aWNlL3NlcnZpY2Utd29ya2VyLWNhY2hlLWFwaS5odHRwcy5odG1sIFsgRmFpbHVyZSBdCito
dHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9zZXJ2aWNlLXdvcmtlci1yZXF1ZXN0LXdpdGgtYm9k
eS5odHRwcy5odG1sIFsgRmFpbHVyZSBdCitodHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9zZXJ2
aWNlLXdvcmtlci1yZXNvdXJjZS10aW1pbmcuaHR0cHMuaHRtbCBbIEZhaWx1cmUgXQoraHR0cC90
ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2VydmljZXdvcmtlci13ZWJzb2NrZXQuaHR0cHMuaHRtbCBb
IEZhaWx1cmUgXQoraHR0cC90ZXN0cy93b3JrZXJzL3dvcmtlci1pbXBvcnRTY3JpcHRzLmh0bWwg
WyBGYWlsdXJlIF0KK2h0dHAvdGVzdHMvd29ya2Vycy93b3JrZXItaW1wb3J0U2NyaXB0c09uRXJy
b3IuaHRtbCBbIEZhaWx1cmUgXQoraHR0cC90ZXN0cy93b3JrZXJzL3dvcmtlci1tZXNzYWdlcG9y
dC0yLmh0bWwgWyBGYWlsdXJlIF0KIGh0dHAvdGVzdHMvd29ya2Vycy93b3JrZXItcmVkaXJlY3Qu
aHRtbCBbIEZhaWx1cmUgXQogCiBbIERlYnVnIF0gaHR0cC90ZXN0cy93b3JrZXJzL3dvcmtlci1t
ZXNzYWdlcG9ydC0yLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQpAQCAtMTI3Miw2ICsxMjgyLDE3IEBA
IHdlYmtpdC5vcmcvYi8xOTI0MDYgaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJj
ZS1zZWN1cml0eS1jb25uZWN0aW9uLmh0CiB3ZWJraXQub3JnL2IvMTkxNDk4IGh0dHAvdGVzdHMv
aW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2Utc2VjdXJpdHktY2VydGlmaWNhdGUuaHRtbCBbIFBh
c3MgXQogd2Via2l0Lm9yZy9iLzE5MTQ5OCBodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2dl
dFNlcmlhbGl6ZWRDZXJ0aWZpY2F0ZS5odG1sIFsgUGFzcyBdCiAKK2h0dHAvd3B0L3NlcnZpY2Ut
d29ya2Vycy9jaGVjay1zZXJ2aWNlLXdvcmtlci1oZWFkZXIuaHR0cHMuaHRtbCBbIEZhaWx1cmUg
XQoraHR0cC93cHQvc2VydmljZS13b3JrZXJzL2NvcnMtcHJlZmxpZ2h0LXN0YXIuYW55LXNlcnZp
Y2V3b3JrZXIuaHRtbCBbIEZhaWx1cmUgXQoraHR0cC93cHQvc2VydmljZS13b3JrZXJzL2ZldGNo
RXZlbnQuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCitodHRwL3dwdC9zZXJ2aWNlLXdvcmtl
cnMvZmlsZS11cGxvYWQuaHRtbCBbIEZhaWx1cmUgXQoraHR0cC93cHQvc2VydmljZS13b3JrZXJz
L21hYy90aHJvdHRsZWFibGUuaHR0cHMuaHRtbCBbIEZhaWx1cmUgXQoraHR0cC93cHQvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyLWNyYXNoaW5nLXdoaWxlLWZldGNoaW5nLmh0dHBzLmh0
bWwgWyBGYWlsdXJlIF0KK2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci1u
ZXR3b3JrcHJvY2Vzcy1jcmFzaC5odG1sIFsgUGFzcyBGYWlsdXJlIF0KK2h0dHAvd3B0L3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci1zcGlubmluZy1hY3RpdmF0ZS5odHRwcy5odG1sIFsg
UGFzcyBGYWlsdXJlIF0KK2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy91cGRhdGUtc2VydmljZS13
b3JrZXIuaHR0cHMuaHRtbCBbIEZhaWx1cmUgXQoraHR0cC93cHQvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyLXNwaW5uaW5nLW1lc3NhZ2UuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBd
CisKICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAjIElzc3VlIGNhdGVnb3JpZXMgYmVsb3cgYXJl
IHNoYXJlZCB3aXRoIG90aGVyIHBsYXRmb3JtcyAocHJpbWFyaWx5IEFwcGxlV2luKQogIy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8KQEAgLTE3NDcsNyArMTc2OCwzNCBAQCBmYXN0L3hzbCBbIFNraXAg
XQogd2Via2l0Lm9yZy9iLzE5OTE4NiBmb250cy91c2UtdHlwby1tZXRyaWNzLTEuaHRtbCBbIFNr
aXAgXQogZnVsbHNjcmVlbiBbIFNraXAgXQogaHRtbDVsaWIgWyBTa2lwIF0KLWh0dHAvd3B0IFsg
U2tpcCBdCitodHRwL3dwdC8yZGNvbnRleHQgWyBTa2lwIF0KK2h0dHAvd3B0L2F1ZGlvLW91dHB1
dCBbIFNraXAgXQoraHR0cC93cHQvYmVhY29uIFsgU2tpcCBdCitodHRwL3dwdC9jYWNoZS1zdG9y
YWdlIFsgU2tpcCBdCitodHRwL3dwdC9jb21tb24gWyBTa2lwIF0KK2h0dHAvd3B0L2NyZWRlbnRp
YWwtbWFuYWdlbWVudCBbIFNraXAgXQoraHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXJlc291cmNlLXBv
bGljeSBbIFNraXAgXQoraHR0cC93cHQvY3NzIFsgU2tpcCBdCitodHRwL3dwdC9jcnlwdG8gWyBT
a2lwIF0KK2h0dHAvd3B0L2Nzc29tIFsgU2tpcCBdCitodHRwL3dwdC9lbnRyaWVzLWFwaSBbIFNr
aXAgXQoraHR0cC93cHQvZmV0Y2ggWyBTa2lwIF0KK2h0dHAvd3B0L2dlb21ldHJ5IFsgU2tpcCBd
CitodHRwL3dwdC9odG1sIFsgU2tpcCBdCitodHRwL3dwdC9pbWFnZXMgWyBTa2lwIF0KK2h0dHAv
d3B0L2xvYWRpbmcgWyBTa2lwIF0KK2h0dHAvd3B0L21lZGlhcmVjb3JkZXIgWyBTa2lwIF0KK2h0
dHAvd3B0L25vdGlmaWNhdGlvbnMgWyBTa2lwIF0KK2h0dHAvd3B0L29mZnNjcmVlbi1jYW52YXMg
WyBTa2lwIF0KK2h0dHAvd3B0L3ByZWZldGNoIFsgU2tpcCBdCitodHRwL3dwdC9wcmVsb2FkIFsg
U2tpcCBdCitodHRwL3dwdC9yZXNvdXJjZS10aW1pbmcgWyBTa2lwIF0KK2h0dHAvd3B0L3Jlc291
cmNlcyBbIFNraXAgXQoraHR0cC93cHQvd2ViYXVkaW8gWyBTa2lwIF0KK2h0dHAvd3B0L3dlYmF1
dGhuIFsgU2tpcCBdCitodHRwL3dwdC93ZWJydGMgWyBTa2lwIF0KK2h0dHAvd3B0L3dlYnhyIFsg
U2tpcCBdCitodHRwL3dwdC93b3JrZXJzIFsgU2tpcCBdCiBpbXBvcnRlZC9ibGluayBbIFNraXAg
XQogaW1wb3J0ZWQvbW96aWxsYSBbIFNraXAgXQogaW1wb3J0ZWQvdzNjIFsgU2tpcCBdCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGVlZGIwMzM5OWExMS4uOWM0OTZhYzAwYzU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDIxLTAzLTIyICBDaHJpc3RvcGhlciBSZWlkICA8Y2hyaXMucmVpZEBzb255LmNvbT4K
KworICAgICAgICBbV2luQ2Fpcm9dIEVuYWJsZSBTZXJ2aWNlIFdvcmtlciB0ZXN0cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNTkxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV1BUIEhUVFAgdGVzdHMg
d2VyZSBmYWlsaW5nIGJlY2F1c2UgU1NMIENvbm5ldCB0ZXN0cyB3ZXJlbid0IHRyaWdnZXJpbmcg
YXV0aGVudGljYXRpb24gY2hhbGxlbmdlcy4KKyAgICAgICAgQWxzbyBBZGQgYSBzdWdnZXN0ZWRG
aWxlbmFtZSBpbXBsZW1lbnRhdGlvbi4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2N1cmwv
TmV0d29ya0RhdGFUYXNrQ3VybC5jcHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY3VybC9O
ZXR3b3JrRGF0YVRhc2tDdXJsLmg6CisKIDIwMjEtMDItMjQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxh
Y2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQgc3R1YnMgdG8gZW5hYmxlIFNh
ZmFyaUZvcldlYktpdERldmVsb3BtZW50IHRvIGxhdW5jaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdvcmtEYXRhVGFza0N1cmwuY3BwIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdvcmtEYXRhVGFza0N1cmwuY3BwCmluZGV4
IDI3ZjhlZjU0ZTU2MS4uNDA3YWQxM2VjYWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2N1cmwvTmV0d29ya0RhdGFUYXNrQ3VybC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdvcmtEYXRhVGFza0N1cmwuY3BwCkBAIC0zOSw2
ICszOSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9TYW1lU2l0ZUluZm8uaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1Nob3VsZFJlbGF4VGhpcmRQYXJ0eUNvb2tpZUJsb2NraW5nLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9TeW5jaHJvbm91c0xvYWRlckNsaWVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvVGV4
dEVuY29kaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC0xOTYsNyArMTk3LDcgQEAg
dm9pZCBOZXR3b3JrRGF0YVRhc2tDdXJsOjpjdXJsRGlkRmFpbFdpdGhFcnJvcihDdXJsUmVxdWVz
dCYgcmVxdWVzdCwgUmVzb3VyY2VFcnIKICAgICBpZiAoc3RhdGUoKSA9PSBTdGF0ZTo6Q2FuY2Vs
aW5nIHx8IHN0YXRlKCkgPT0gU3RhdGU6OkNvbXBsZXRlZCB8fCAoIW1fY2xpZW50ICYmICFpc0Rv
d25sb2FkKCkpKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAocmVzb3VyY2VFcnJvci5pc1NT
TENlcnRWZXJpZmljYXRpb25FcnJvcigpKSB7CisgICAgaWYgKHJlc291cmNlRXJyb3IuaXNTU0xD
ZXJ0VmVyaWZpY2F0aW9uRXJyb3IoKSB8fCByZXNvdXJjZUVycm9yLmlzU1NMQ29ubmVjdEVycm9y
KCkpIHsKICAgICAgICAgdHJ5U2VydmVyVHJ1c3RFdmFsdWF0aW9uKEF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlKHJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCkudXJsKCksIGNlcnRpZmljYXRlSW5mbywg
cmVzb3VyY2VFcnJvcikpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtNDcwLDYgKzQ3MSwx
OCBAQCB2b2lkIE5ldHdvcmtEYXRhVGFza0N1cmw6OmhhbmRsZUNvb2tpZUhlYWRlcnMoY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZQogICAgIH0KIH0KIAorU3RyaW5nIE5ldHdvcmtE
YXRhVGFza0N1cmw6OnN1Z2dlc3RlZEZpbGVuYW1lKCkgY29uc3QKK3sKKyAgICBpZiAoIW1fc3Vn
Z2VzdGVkRmlsZW5hbWUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gbV9zdWdnZXN0ZWRGaWxl
bmFtZTsKKworICAgIFN0cmluZyBzdWdnZXN0ZWRGaWxlbmFtZSA9IG1fcmVzcG9uc2Uuc3VnZ2Vz
dGVkRmlsZW5hbWUoKTsKKyAgICBpZiAoIXN1Z2dlc3RlZEZpbGVuYW1lLmlzRW1wdHkoKSkKKyAg
ICAgICAgcmV0dXJuIHN1Z2dlc3RlZEZpbGVuYW1lOworCisgICAgcmV0dXJuIGRlY29kZVVSTEVz
Y2FwZVNlcXVlbmNlcyhtX3Jlc3BvbnNlLnVybCgpLmxhc3RQYXRoQ29tcG9uZW50KCkpOworfQor
CiB2b2lkIE5ldHdvcmtEYXRhVGFza0N1cmw6OmJsb2NrQ29va2llcygpCiB7CiAjaWYgRU5BQkxF
KFJFU09VUkNFX0xPQURfU1RBVElTVElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY3VybC9OZXR3b3JrRGF0YVRhc2tDdXJsLmggYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2N1cmwvTmV0d29ya0RhdGFUYXNrQ3VybC5oCmluZGV4IDRjMTIwZDY4MzA1
OC4uNDZjMjE1YTk5YTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2N1cmwvTmV0d29ya0RhdGFUYXNrQ3VybC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY3VybC9OZXR3b3JrRGF0YVRhc2tDdXJsLmgKQEAgLTkxLDYgKzkxLDggQEAgcHJpdmF0
ZToKICAgICB2b2lkIGJsb2NrQ29va2llcygpOwogICAgIHZvaWQgdW5ibG9ja0Nvb2tpZXMoKTsK
IAorICAgIFN0cmluZyBzdWdnZXN0ZWRGaWxlbmFtZSgpIGNvbnN0IG92ZXJyaWRlOworCiAgICAg
U3RhdGUgbV9zdGF0ZSB7IFN0YXRlOjpTdXNwZW5kZWQgfTsKIAogICAgIFJlZlB0cjxXZWJDb3Jl
OjpDdXJsUmVxdWVzdD4gbV9jdXJsUmVxdWVzdDsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBmMmU4YTcyMWNlNDMuLjg0MDc1NDE4OGMxZiAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDIxLTAzLTIyICBDaHJpc3RvcGhlciBSZWlkICA8Y2hyaXMucmVpZEBzb255LmNv
bT4KKworICAgICAgICBbV2luQ2Fpcm9dIEVuYWJsZSBTZXJ2aWNlIFdvcmtlciB0ZXN0cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNTkxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSWdub3JlIGNlcnQg
ZXJyb3JzIHdpdGggZG93bmxvYWRzIGFuZCBmaXggYW4gaXNzdWUgd2l0aCB3aW5kb3dzIHBhdGhz
LgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAg
ICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oOgorCiAyMDIxLTAyLTI0ICBL
YXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgogCiAgICAgICAgIEFwcC1i
b3VuZCByZXF1ZXN0IHBhcmFtZXRlciBzaG91bGQgYmUgcGFzc2VkIHRvIG1haW4gcmVzb3VyY2Ug
cmVxdWVzdHMgbm90IHRoZSBtYWluIGZyYW1lCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuY3BwCmluZGV4IGU1MmFlMTI4YTVjYy4uMmZhMTg2NWRkNTRkIDEwMDY0NAotLS0g
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAorKysgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApAQCAtMTQzLDcgKzE0Myw3IEBAIHZv
aWQgVGVzdENvbnRyb2xsZXI6Om5hdmlnYXRpb25EaWRCZWNvbWVEb3dubG9hZFNoYXJlZChXS0Rv
d25sb2FkUmVmIGRvd25sb2FkLCBjCiAgICAgV0tEb3dubG9hZENsaWVudFYwIGNsaWVudCB7CiAg
ICAgICAgIHsgMCwgY2xpZW50SW5mbyB9LAogICAgICAgICBUZXN0Q29udHJvbGxlcjo6ZG93bmxv
YWREaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RUb1VSTCwKLSAgICAgICAgbnVsbHB0ciwgLy8gZGlk
UmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlCisgICAgICAgIFRlc3RDb250cm9sbGVyOjpk
b3dubG9hZERpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSwKICAgICAgICAgVGVzdENv
bnRyb2xsZXI6OmRlY2lkZURlc3RpbmF0aW9uV2l0aFN1Z2dlc3RlZEZpbGVuYW1lLAogICAgICAg
ICBudWxscHRyLCAvLyBkaWRXcml0ZURhdGEKICAgICAgICAgVGVzdENvbnRyb2xsZXI6OmRvd25s
b2FkRGlkRmluaXNoLApAQCAtMjE2Myw3ICsyMTYzLDcgQEAgV0tTdHJpbmdSZWYgVGVzdENvbnRy
b2xsZXI6OmRlY2lkZURlc3RpbmF0aW9uV2l0aFN1Z2dlc3RlZEZpbGVuYW1lKFdLRG93bmxvYWRS
ZWYKICAgICBpZiAoc3VnZ2VzdGVkRmlsZW5hbWUuaXNFbXB0eSgpKQogICAgICAgICBzdWdnZXN0
ZWRGaWxlbmFtZSA9ICJVbmtub3duIjsKICAgICAKLSAgICBTdHJpbmcgZGVzdGluYXRpb24gPSB0
ZW1wb3JhcnlGb2xkZXIgKyAiLyIgKyBzdWdnZXN0ZWRGaWxlbmFtZTsKKyAgICBTdHJpbmcgZGVz
dGluYXRpb24gPSB0ZW1wb3JhcnlGb2xkZXIgKyBwYXRoU2VwYXJhdG9yICsgc3VnZ2VzdGVkRmls
ZW5hbWU7CiAgICAgaWYgKEZpbGVTeXN0ZW06OmZpbGVFeGlzdHMoZGVzdGluYXRpb24pKQogICAg
ICAgICBGaWxlU3lzdGVtOjpkZWxldGVGaWxlKGRlc3RpbmF0aW9uKTsKIApAQCAtMjE5OSw2ICsy
MTk5LDExIEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmRvd25sb2FkRGlkRmFpbChXS0Rvd25sb2Fk
UmVmLCBXS0Vycm9yUmVmIGVycm9yKQogICAgIG1fY3VycmVudEludm9jYXRpb24tPm5vdGlmeURv
d25sb2FkRG9uZSgpOwogfQogCit2b2lkIFRlc3RDb250cm9sbGVyOjpkb3dubG9hZERpZFJlY2Vp
dmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShXS0Rvd25sb2FkUmVmLCBXS0F1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlUmVmIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLCBjb25zdCB2b2lkICpjbGllbnRJ
bmZvKQoreworICAgIHN0YXRpY19jYXN0PFRlc3RDb250cm9sbGVyKj4oY29uc3RfY2FzdDx2b2lk
Kj4oY2xpZW50SW5mbykpLT5kaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UobnVsbHB0
ciwgYXV0aGVudGljYXRpb25DaGFsbGVuZ2UpOworfQorCiB2b2lkIFRlc3RDb250cm9sbGVyOjpw
cm9jZXNzRGlkQ3Jhc2goKQogewogICAgIC8vIFRoaXMgZnVuY3Rpb24gY2FuIGJlIGNhbGxlZCBt
dWx0aXBsZSB0aW1lcyB3aGVuIGNyYXNoIGxvZ3MgYXJlIGJlaW5nIHNhdmVkIG9uIFdpbmRvd3Ms
IHNvCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKaW5kZXggOWU1YWE3OWM5
OGUzLi4xOGIwNDJmZWU5ZmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dENvbnRyb2xsZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVy
LmgKQEAgLTQ2Myw2ICs0NjMsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZG93bmxvYWREaWRGYWls
KFdLRG93bmxvYWRSZWYsIFdLRXJyb3JSZWYpOwogICAgIHN0YXRpYyBib29sIGRvd25sb2FkRGlk
UmVjZWl2ZVNlcnZlclJlZGlyZWN0VG9VUkwoV0tEb3dubG9hZFJlZiwgV0tVUkxSZXNwb25zZVJl
ZiwgV0tVUkxSZXF1ZXN0UmVmLCBjb25zdCB2b2lkKik7CiAgICAgYm9vbCBkb3dubG9hZERpZFJl
Y2VpdmVTZXJ2ZXJSZWRpcmVjdFRvVVJMKFdLRG93bmxvYWRSZWYsIFdLVVJMUmVxdWVzdFJlZik7
CisgICAgc3RhdGljIHZvaWQgZG93bmxvYWREaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVu
Z2UoV0tEb3dubG9hZFJlZiwgV0tBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVJlZiwgY29uc3Qgdm9p
ZCAqY2xpZW50SW5mbyk7CiAgICAgCiAgICAgc3RhdGljIHZvaWQgcHJvY2Vzc0RpZENyYXNoKFdL
UGFnZVJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAgICAgdm9pZCBwcm9jZXNzRGlkQ3Jh
c2goKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423986</attachid>
            <date>2021-03-22 21:19:40 -0700</date>
            <delta_ts>2021-03-22 21:21:14 -0700</delta_ts>
            <desc>typo fix</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>10951</size>
            <attacher name="Christopher Reid">chris.reid</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiOWU1N2JhZjZmNGEuLjUzNWYyOWFlNzU0YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDIxLTAzLTIyICBDaHJpc3RvcGhlciBSZWlkICA8Y2hyaXMucmVpZEBzb255LmNvbT4KKwor
ICAgICAgICBbV2luQ2Fpcm9dIEVuYWJsZSBTZXJ2aWNlIFdvcmtlciB0ZXN0cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNTkxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWly
by13azEvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWlyby9UZXN0
RXhwZWN0YXRpb25zOgorCiAyMDIxLTAyLTI0ICBJbWFub2wgRmVybmFuZGV6ICA8aWZlcm5hbmRl
ekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFNldCB4ckNvbXBhdGlibGUgaW4gV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZTo6Z2V0Q29udGV4dEF0dHJpYnV0ZXMKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbmNhaXJvLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd2luY2Fpcm8td2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMTBkNzUxMThkOTE3
Li4zYjBhYmIxYzUyNjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJv
LXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJv
LXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC0zMTIsMyArMzEyLDcgQEAgaHR0cC90ZXN0cy9pcy1s
b2dnZWQtaW4vIFsgU2tpcCBdCiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MgWyBT
a2lwIF0KIAogd2Via2l0Lm9yZy9iLzIyMDU3OSBmYXN0L2V2ZW50cy9jdXJyZW50VGFyZ2V0LWdj
LWNyYXNoLmh0bWwgWyBTa2lwIF0KKworIyBTa2lwIFNlcnZpY2UgV29ya2VycyBpbiBXSzEKK2h0
dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlIFsgU2tpcCBdCitodHRwL3dwdC9zZXJ2aWNlLXdvcmtl
cnMgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IGI1Y2IzZmZhNDRkYi4uNGE0MjAyNDZkNjlhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEyMjgsNyArMTIyOCwx
NyBAQCBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dlYnNvY2tldC1ibG9ja2VkLWZy
b20tc2V0dGluZy1jb29raWUtYXMtdGhpcmQtcAogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aHliaS93ZWJzb2NrZXQtY29va2llLW92ZXJ3cml0ZS1iZWhhdmlvci5odG1sIFsgUGFzcyBGYWls
dXJlIF0KIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy93b3JrZXItcmVs
b2FkLmh0bWwgWyBUaW1lb3V0IFBhc3MgXQogCi1odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZSBb
IFNraXAgXQorIyBOZWVkcyBjdXJsIGRvd25sb2FkIHN1cHBvcnQKK2h0dHAvdGVzdHMvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZpY2Utd29ya2VyLWRvd25sb2FkLWFzeW5jLWRlbGVnYXRlcy5odHRwcy5o
dG1sIFsgRmFpbHVyZSBdCitodHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9zZXJ2aWNlLXdvcmtl
ci1kb3dubG9hZC5odHRwcy5odG1sIFsgRmFpbHVyZSBdCisKK2h0dHAvdGVzdHMvd29ya2Vycy9z
ZXJ2aWNlL3NlcnZpY2Utd29ya2VyLWNhY2hlLWFwaS5odHRwcy5odG1sIFsgRmFpbHVyZSBdCito
dHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9zZXJ2aWNlLXdvcmtlci1yZXF1ZXN0LXdpdGgtYm9k
eS5odHRwcy5odG1sIFsgRmFpbHVyZSBdCitodHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9zZXJ2
aWNlLXdvcmtlci1yZXNvdXJjZS10aW1pbmcuaHR0cHMuaHRtbCBbIEZhaWx1cmUgXQoraHR0cC90
ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2VydmljZXdvcmtlci13ZWJzb2NrZXQuaHR0cHMuaHRtbCBb
IEZhaWx1cmUgXQoraHR0cC90ZXN0cy93b3JrZXJzL3dvcmtlci1pbXBvcnRTY3JpcHRzLmh0bWwg
WyBGYWlsdXJlIF0KK2h0dHAvdGVzdHMvd29ya2Vycy93b3JrZXItaW1wb3J0U2NyaXB0c09uRXJy
b3IuaHRtbCBbIEZhaWx1cmUgXQoraHR0cC90ZXN0cy93b3JrZXJzL3dvcmtlci1tZXNzYWdlcG9y
dC0yLmh0bWwgWyBGYWlsdXJlIF0KIGh0dHAvdGVzdHMvd29ya2Vycy93b3JrZXItcmVkaXJlY3Qu
aHRtbCBbIEZhaWx1cmUgXQogCiBbIERlYnVnIF0gaHR0cC90ZXN0cy93b3JrZXJzL3dvcmtlci1t
ZXNzYWdlcG9ydC0yLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQpAQCAtMTI3Miw2ICsxMjgyLDE3IEBA
IHdlYmtpdC5vcmcvYi8xOTI0MDYgaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJj
ZS1zZWN1cml0eS1jb25uZWN0aW9uLmh0CiB3ZWJraXQub3JnL2IvMTkxNDk4IGh0dHAvdGVzdHMv
aW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2Utc2VjdXJpdHktY2VydGlmaWNhdGUuaHRtbCBbIFBh
c3MgXQogd2Via2l0Lm9yZy9iLzE5MTQ5OCBodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2dl
dFNlcmlhbGl6ZWRDZXJ0aWZpY2F0ZS5odG1sIFsgUGFzcyBdCiAKK2h0dHAvd3B0L3NlcnZpY2Ut
d29ya2Vycy9jaGVjay1zZXJ2aWNlLXdvcmtlci1oZWFkZXIuaHR0cHMuaHRtbCBbIEZhaWx1cmUg
XQoraHR0cC93cHQvc2VydmljZS13b3JrZXJzL2NvcnMtcHJlZmxpZ2h0LXN0YXIuYW55LXNlcnZp
Y2V3b3JrZXIuaHRtbCBbIEZhaWx1cmUgXQoraHR0cC93cHQvc2VydmljZS13b3JrZXJzL2ZldGNo
RXZlbnQuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCitodHRwL3dwdC9zZXJ2aWNlLXdvcmtl
cnMvZmlsZS11cGxvYWQuaHRtbCBbIEZhaWx1cmUgXQoraHR0cC93cHQvc2VydmljZS13b3JrZXJz
L21hYy90aHJvdHRsZWFibGUuaHR0cHMuaHRtbCBbIEZhaWx1cmUgXQoraHR0cC93cHQvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyLWNyYXNoaW5nLXdoaWxlLWZldGNoaW5nLmh0dHBzLmh0
bWwgWyBGYWlsdXJlIF0KK2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci1u
ZXR3b3JrcHJvY2Vzcy1jcmFzaC5odG1sIFsgUGFzcyBGYWlsdXJlIF0KK2h0dHAvd3B0L3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci1zcGlubmluZy1hY3RpdmF0ZS5odHRwcy5odG1sIFsg
UGFzcyBGYWlsdXJlIF0KK2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy91cGRhdGUtc2VydmljZS13
b3JrZXIuaHR0cHMuaHRtbCBbIEZhaWx1cmUgXQoraHR0cC93cHQvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyLXNwaW5uaW5nLW1lc3NhZ2UuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBd
CisKICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAjIElzc3VlIGNhdGVnb3JpZXMgYmVsb3cgYXJl
IHNoYXJlZCB3aXRoIG90aGVyIHBsYXRmb3JtcyAocHJpbWFyaWx5IEFwcGxlV2luKQogIy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8KQEAgLTE3NDcsNyArMTc2OCwzNCBAQCBmYXN0L3hzbCBbIFNraXAg
XQogd2Via2l0Lm9yZy9iLzE5OTE4NiBmb250cy91c2UtdHlwby1tZXRyaWNzLTEuaHRtbCBbIFNr
aXAgXQogZnVsbHNjcmVlbiBbIFNraXAgXQogaHRtbDVsaWIgWyBTa2lwIF0KLWh0dHAvd3B0IFsg
U2tpcCBdCitodHRwL3dwdC8yZGNvbnRleHQgWyBTa2lwIF0KK2h0dHAvd3B0L2F1ZGlvLW91dHB1
dCBbIFNraXAgXQoraHR0cC93cHQvYmVhY29uIFsgU2tpcCBdCitodHRwL3dwdC9jYWNoZS1zdG9y
YWdlIFsgU2tpcCBdCitodHRwL3dwdC9jb21tb24gWyBTa2lwIF0KK2h0dHAvd3B0L2NyZWRlbnRp
YWwtbWFuYWdlbWVudCBbIFNraXAgXQoraHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXJlc291cmNlLXBv
bGljeSBbIFNraXAgXQoraHR0cC93cHQvY3NzIFsgU2tpcCBdCitodHRwL3dwdC9jcnlwdG8gWyBT
a2lwIF0KK2h0dHAvd3B0L2Nzc29tIFsgU2tpcCBdCitodHRwL3dwdC9lbnRyaWVzLWFwaSBbIFNr
aXAgXQoraHR0cC93cHQvZmV0Y2ggWyBTa2lwIF0KK2h0dHAvd3B0L2dlb21ldHJ5IFsgU2tpcCBd
CitodHRwL3dwdC9odG1sIFsgU2tpcCBdCitodHRwL3dwdC9pbWFnZXMgWyBTa2lwIF0KK2h0dHAv
d3B0L2xvYWRpbmcgWyBTa2lwIF0KK2h0dHAvd3B0L21lZGlhcmVjb3JkZXIgWyBTa2lwIF0KK2h0
dHAvd3B0L25vdGlmaWNhdGlvbnMgWyBTa2lwIF0KK2h0dHAvd3B0L29mZnNjcmVlbi1jYW52YXMg
WyBTa2lwIF0KK2h0dHAvd3B0L3ByZWZldGNoIFsgU2tpcCBdCitodHRwL3dwdC9wcmVsb2FkIFsg
U2tpcCBdCitodHRwL3dwdC9yZXNvdXJjZS10aW1pbmcgWyBTa2lwIF0KK2h0dHAvd3B0L3Jlc291
cmNlcyBbIFNraXAgXQoraHR0cC93cHQvd2ViYXVkaW8gWyBTa2lwIF0KK2h0dHAvd3B0L3dlYmF1
dGhuIFsgU2tpcCBdCitodHRwL3dwdC93ZWJydGMgWyBTa2lwIF0KK2h0dHAvd3B0L3dlYnhyIFsg
U2tpcCBdCitodHRwL3dwdC93b3JrZXJzIFsgU2tpcCBdCiBpbXBvcnRlZC9ibGluayBbIFNraXAg
XQogaW1wb3J0ZWQvbW96aWxsYSBbIFNraXAgXQogaW1wb3J0ZWQvdzNjIFsgU2tpcCBdCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGVlZGIwMzM5OWExMS4uZjllZGM0MTg1YTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDIxLTAzLTIyICBDaHJpc3RvcGhlciBSZWlkICA8Y2hyaXMucmVpZEBzb255LmNvbT4K
KworICAgICAgICBbV2luQ2Fpcm9dIEVuYWJsZSBTZXJ2aWNlIFdvcmtlciB0ZXN0cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNTkxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV1BUIEhUVFAgdGVzdHMg
d2VyZSBmYWlsaW5nIGJlY2F1c2UgU1NMIENvbm5lY3QgdGVzdHMgd2VyZW4ndCB0cmlnZ2VyaW5n
IGF1dGhlbnRpY2F0aW9uIGNoYWxsZW5nZXMuCisgICAgICAgIEFsc28gQWRkIGEgc3VnZ2VzdGVk
RmlsZW5hbWUgaW1wbGVtZW50YXRpb24uCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jdXJs
L05ldHdvcmtEYXRhVGFza0N1cmwuY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2N1cmwv
TmV0d29ya0RhdGFUYXNrQ3VybC5oOgorCiAyMDIxLTAyLTI0ICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIHN0dWJzIHRvIGVuYWJsZSBT
YWZhcmlGb3JXZWJLaXREZXZlbG9wbWVudCB0byBsYXVuY2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY3VybC9OZXR3b3JrRGF0YVRhc2tDdXJsLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY3VybC9OZXR3b3JrRGF0YVRhc2tDdXJsLmNwcAppbmRl
eCAyN2Y4ZWY1NGU1NjEuLjQwN2FkMTNlY2FkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdvcmtEYXRhVGFza0N1cmwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY3VybC9OZXR3b3JrRGF0YVRhc2tDdXJsLmNwcApAQCAtMzks
NiArMzksNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvU2FtZVNpdGVJbmZvLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9TaG91bGRSZWxheFRoaXJkUGFydHlDb29raWVCbG9ja2luZy5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvU3luY2hyb25vdXNMb2FkZXJDbGllbnQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Rl
eHRFbmNvZGluZy5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMTk2LDcgKzE5Nyw3IEBA
IHZvaWQgTmV0d29ya0RhdGFUYXNrQ3VybDo6Y3VybERpZEZhaWxXaXRoRXJyb3IoQ3VybFJlcXVl
c3QmIHJlcXVlc3QsIFJlc291cmNlRXJyCiAgICAgaWYgKHN0YXRlKCkgPT0gU3RhdGU6OkNhbmNl
bGluZyB8fCBzdGF0ZSgpID09IFN0YXRlOjpDb21wbGV0ZWQgfHwgKCFtX2NsaWVudCAmJiAhaXNE
b3dubG9hZCgpKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKHJlc291cmNlRXJyb3IuaXNT
U0xDZXJ0VmVyaWZpY2F0aW9uRXJyb3IoKSkgeworICAgIGlmIChyZXNvdXJjZUVycm9yLmlzU1NM
Q2VydFZlcmlmaWNhdGlvbkVycm9yKCkgfHwgcmVzb3VyY2VFcnJvci5pc1NTTENvbm5lY3RFcnJv
cigpKSB7CiAgICAgICAgIHRyeVNlcnZlclRydXN0RXZhbHVhdGlvbihBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZShyZXF1ZXN0LnJlc291cmNlUmVxdWVzdCgpLnVybCgpLCBjZXJ0aWZpY2F0ZUluZm8s
IHJlc291cmNlRXJyb3IpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTQ3MCw2ICs0NzEs
MTggQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tDdXJsOjpoYW5kbGVDb29raWVIZWFkZXJzKGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmUKICAgICB9CiB9CiAKK1N0cmluZyBOZXR3b3Jr
RGF0YVRhc2tDdXJsOjpzdWdnZXN0ZWRGaWxlbmFtZSgpIGNvbnN0Cit7CisgICAgaWYgKCFtX3N1
Z2dlc3RlZEZpbGVuYW1lLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIG1fc3VnZ2VzdGVkRmls
ZW5hbWU7CisKKyAgICBTdHJpbmcgc3VnZ2VzdGVkRmlsZW5hbWUgPSBtX3Jlc3BvbnNlLnN1Z2dl
c3RlZEZpbGVuYW1lKCk7CisgICAgaWYgKCFzdWdnZXN0ZWRGaWxlbmFtZS5pc0VtcHR5KCkpCisg
ICAgICAgIHJldHVybiBzdWdnZXN0ZWRGaWxlbmFtZTsKKworICAgIHJldHVybiBkZWNvZGVVUkxF
c2NhcGVTZXF1ZW5jZXMobV9yZXNwb25zZS51cmwoKS5sYXN0UGF0aENvbXBvbmVudCgpKTsKK30K
Kwogdm9pZCBOZXR3b3JrRGF0YVRhc2tDdXJsOjpibG9ja0Nvb2tpZXMoKQogewogI2lmIEVOQUJM
RShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2N1cmwvTmV0d29ya0RhdGFUYXNrQ3VybC5oIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdvcmtEYXRhVGFza0N1cmwuaAppbmRleCA0YzEyMGQ2ODMw
NTguLjQ2YzIxNWE5OWE5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jdXJsL05ldHdvcmtEYXRhVGFza0N1cmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2N1cmwvTmV0d29ya0RhdGFUYXNrQ3VybC5oCkBAIC05MSw2ICs5MSw4IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBibG9ja0Nvb2tpZXMoKTsKICAgICB2b2lkIHVuYmxvY2tDb29raWVzKCk7
CiAKKyAgICBTdHJpbmcgc3VnZ2VzdGVkRmlsZW5hbWUoKSBjb25zdCBvdmVycmlkZTsKKwogICAg
IFN0YXRlIG1fc3RhdGUgeyBTdGF0ZTo6U3VzcGVuZGVkIH07CiAKICAgICBSZWZQdHI8V2ViQ29y
ZTo6Q3VybFJlcXVlc3Q+IG1fY3VybFJlcXVlc3Q7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjJlOGE3MjFjZTQzLi44NDA3NTQxODhjMWYgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNSBAQAorMjAyMS0wMy0yMiAgQ2hyaXN0b3BoZXIgUmVpZCAgPGNocmlzLnJlaWRAc29ueS5j
b20+CisKKyAgICAgICAgW1dpbkNhaXJvXSBFbmFibGUgU2VydmljZSBXb3JrZXIgdGVzdHMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzU5MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElnbm9yZSBjZXJ0
IGVycm9ycyB3aXRoIGRvd25sb2FkcyBhbmQgZml4IGFuIGlzc3VlIHdpdGggd2luZG93cyBwYXRo
cy4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaDoKKwogMjAyMS0wMi0yNCAg
S2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KIAogICAgICAgICBBcHAt
Ym91bmQgcmVxdWVzdCBwYXJhbWV0ZXIgc2hvdWxkIGJlIHBhc3NlZCB0byBtYWluIHJlc291cmNl
IHJlcXVlc3RzIG5vdCB0aGUgbWFpbiBmcmFtZQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RD
b250cm9sbGVyLmNwcAppbmRleCBlNTJhZTEyOGE1Y2MuLjJmYTE4NjVkZDU0ZCAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKQEAgLTE0Myw3ICsxNDMsNyBAQCB2
b2lkIFRlc3RDb250cm9sbGVyOjpuYXZpZ2F0aW9uRGlkQmVjb21lRG93bmxvYWRTaGFyZWQoV0tE
b3dubG9hZFJlZiBkb3dubG9hZCwgYwogICAgIFdLRG93bmxvYWRDbGllbnRWMCBjbGllbnQgewog
ICAgICAgICB7IDAsIGNsaWVudEluZm8gfSwKICAgICAgICAgVGVzdENvbnRyb2xsZXI6OmRvd25s
b2FkRGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0VG9VUkwsCi0gICAgICAgIG51bGxwdHIsIC8vIGRp
ZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZQorICAgICAgICBUZXN0Q29udHJvbGxlcjo6
ZG93bmxvYWREaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UsCiAgICAgICAgIFRlc3RD
b250cm9sbGVyOjpkZWNpZGVEZXN0aW5hdGlvbldpdGhTdWdnZXN0ZWRGaWxlbmFtZSwKICAgICAg
ICAgbnVsbHB0ciwgLy8gZGlkV3JpdGVEYXRhCiAgICAgICAgIFRlc3RDb250cm9sbGVyOjpkb3du
bG9hZERpZEZpbmlzaCwKQEAgLTIxNjMsNyArMjE2Myw3IEBAIFdLU3RyaW5nUmVmIFRlc3RDb250
cm9sbGVyOjpkZWNpZGVEZXN0aW5hdGlvbldpdGhTdWdnZXN0ZWRGaWxlbmFtZShXS0Rvd25sb2Fk
UmVmCiAgICAgaWYgKHN1Z2dlc3RlZEZpbGVuYW1lLmlzRW1wdHkoKSkKICAgICAgICAgc3VnZ2Vz
dGVkRmlsZW5hbWUgPSAiVW5rbm93biI7CiAgICAgCi0gICAgU3RyaW5nIGRlc3RpbmF0aW9uID0g
dGVtcG9yYXJ5Rm9sZGVyICsgIi8iICsgc3VnZ2VzdGVkRmlsZW5hbWU7CisgICAgU3RyaW5nIGRl
c3RpbmF0aW9uID0gdGVtcG9yYXJ5Rm9sZGVyICsgcGF0aFNlcGFyYXRvciArIHN1Z2dlc3RlZEZp
bGVuYW1lOwogICAgIGlmIChGaWxlU3lzdGVtOjpmaWxlRXhpc3RzKGRlc3RpbmF0aW9uKSkKICAg
ICAgICAgRmlsZVN5c3RlbTo6ZGVsZXRlRmlsZShkZXN0aW5hdGlvbik7CiAKQEAgLTIxOTksNiAr
MjE5OSwxMSBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpkb3dubG9hZERpZEZhaWwoV0tEb3dubG9h
ZFJlZiwgV0tFcnJvclJlZiBlcnJvcikKICAgICBtX2N1cnJlbnRJbnZvY2F0aW9uLT5ub3RpZnlE
b3dubG9hZERvbmUoKTsKIH0KIAordm9pZCBUZXN0Q29udHJvbGxlcjo6ZG93bmxvYWREaWRSZWNl
aXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoV0tEb3dubG9hZFJlZiwgV0tBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZVJlZiBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSwgY29uc3Qgdm9pZCAqY2xpZW50
SW5mbykKK3sKKyAgICBzdGF0aWNfY2FzdDxUZXN0Q29udHJvbGxlcio+KGNvbnN0X2Nhc3Q8dm9p
ZCo+KGNsaWVudEluZm8pKS0+ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKG51bGxw
dHIsIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKTsKK30KKwogdm9pZCBUZXN0Q29udHJvbGxlcjo6
cHJvY2Vzc0RpZENyYXNoKCkKIHsKICAgICAvLyBUaGlzIGZ1bmN0aW9uIGNhbiBiZSBjYWxsZWQg
bXVsdGlwbGUgdGltZXMgd2hlbiBjcmFzaCBsb2dzIGFyZSBiZWluZyBzYXZlZCBvbiBXaW5kb3dz
LCBzbwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5o
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCmluZGV4IDllNWFhNzlj
OThlMy4uMThiMDQyZmVlOWZiIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxl
ci5oCkBAIC00NjMsNiArNDYzLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRvd25sb2FkRGlkRmFp
bChXS0Rvd25sb2FkUmVmLCBXS0Vycm9yUmVmKTsKICAgICBzdGF0aWMgYm9vbCBkb3dubG9hZERp
ZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdFRvVVJMKFdLRG93bmxvYWRSZWYsIFdLVVJMUmVzcG9uc2VS
ZWYsIFdLVVJMUmVxdWVzdFJlZiwgY29uc3Qgdm9pZCopOwogICAgIGJvb2wgZG93bmxvYWREaWRS
ZWNlaXZlU2VydmVyUmVkaXJlY3RUb1VSTChXS0Rvd25sb2FkUmVmLCBXS1VSTFJlcXVlc3RSZWYp
OworICAgIHN0YXRpYyB2b2lkIGRvd25sb2FkRGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlKFdLRG93bmxvYWRSZWYsIFdLQXV0aGVudGljYXRpb25DaGFsbGVuZ2VSZWYsIGNvbnN0IHZv
aWQgKmNsaWVudEluZm8pOwogICAgIAogICAgIHN0YXRpYyB2b2lkIHByb2Nlc3NEaWRDcmFzaChX
S1BhZ2VSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwogICAgIHZvaWQgcHJvY2Vzc0RpZENy
YXNoKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423987</attachid>
            <date>2021-03-22 21:21:14 -0700</date>
            <delta_ts>2021-04-02 14:04:31 -0700</delta_ts>
            <desc>typo fix</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>10952</size>
            <attacher name="Christopher Reid">chris.reid</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiOWU1N2JhZjZmNGEuLjUzNWYyOWFlNzU0YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDIxLTAzLTIyICBDaHJpc3RvcGhlciBSZWlkICA8Y2hyaXMucmVpZEBzb255LmNvbT4KKwor
ICAgICAgICBbV2luQ2Fpcm9dIEVuYWJsZSBTZXJ2aWNlIFdvcmtlciB0ZXN0cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNTkxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWly
by13azEvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWlyby9UZXN0
RXhwZWN0YXRpb25zOgorCiAyMDIxLTAyLTI0ICBJbWFub2wgRmVybmFuZGV6ICA8aWZlcm5hbmRl
ekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFNldCB4ckNvbXBhdGlibGUgaW4gV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZTo6Z2V0Q29udGV4dEF0dHJpYnV0ZXMKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbmNhaXJvLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd2luY2Fpcm8td2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMTBkNzUxMThkOTE3
Li4zYjBhYmIxYzUyNjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJv
LXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJv
LXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC0zMTIsMyArMzEyLDcgQEAgaHR0cC90ZXN0cy9pcy1s
b2dnZWQtaW4vIFsgU2tpcCBdCiBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MgWyBT
a2lwIF0KIAogd2Via2l0Lm9yZy9iLzIyMDU3OSBmYXN0L2V2ZW50cy9jdXJyZW50VGFyZ2V0LWdj
LWNyYXNoLmh0bWwgWyBTa2lwIF0KKworIyBTa2lwIFNlcnZpY2UgV29ya2VycyBpbiBXSzEKK2h0
dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlIFsgU2tpcCBdCitodHRwL3dwdC9zZXJ2aWNlLXdvcmtl
cnMgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IGI1Y2IzZmZhNDRkYi4uNGE0MjAyNDZkNjlhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEyMjgsNyArMTIyOCwx
NyBAQCBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0cy9oeWJpL3dlYnNvY2tldC1ibG9ja2VkLWZy
b20tc2V0dGluZy1jb29raWUtYXMtdGhpcmQtcAogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMv
aHliaS93ZWJzb2NrZXQtY29va2llLW92ZXJ3cml0ZS1iZWhhdmlvci5odG1sIFsgUGFzcyBGYWls
dXJlIF0KIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd29ya2Vycy93b3JrZXItcmVs
b2FkLmh0bWwgWyBUaW1lb3V0IFBhc3MgXQogCi1odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZSBb
IFNraXAgXQorIyBOZWVkcyBjdXJsIGRvd25sb2FkIHN1cHBvcnQKK2h0dHAvdGVzdHMvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZpY2Utd29ya2VyLWRvd25sb2FkLWFzeW5jLWRlbGVnYXRlcy5odHRwcy5o
dG1sIFsgRmFpbHVyZSBdCitodHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9zZXJ2aWNlLXdvcmtl
ci1kb3dubG9hZC5odHRwcy5odG1sIFsgRmFpbHVyZSBdCisKK2h0dHAvdGVzdHMvd29ya2Vycy9z
ZXJ2aWNlL3NlcnZpY2Utd29ya2VyLWNhY2hlLWFwaS5odHRwcy5odG1sIFsgRmFpbHVyZSBdCito
dHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9zZXJ2aWNlLXdvcmtlci1yZXF1ZXN0LXdpdGgtYm9k
eS5odHRwcy5odG1sIFsgRmFpbHVyZSBdCitodHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9zZXJ2
aWNlLXdvcmtlci1yZXNvdXJjZS10aW1pbmcuaHR0cHMuaHRtbCBbIEZhaWx1cmUgXQoraHR0cC90
ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2VydmljZXdvcmtlci13ZWJzb2NrZXQuaHR0cHMuaHRtbCBb
IEZhaWx1cmUgXQoraHR0cC90ZXN0cy93b3JrZXJzL3dvcmtlci1pbXBvcnRTY3JpcHRzLmh0bWwg
WyBGYWlsdXJlIF0KK2h0dHAvdGVzdHMvd29ya2Vycy93b3JrZXItaW1wb3J0U2NyaXB0c09uRXJy
b3IuaHRtbCBbIEZhaWx1cmUgXQoraHR0cC90ZXN0cy93b3JrZXJzL3dvcmtlci1tZXNzYWdlcG9y
dC0yLmh0bWwgWyBGYWlsdXJlIF0KIGh0dHAvdGVzdHMvd29ya2Vycy93b3JrZXItcmVkaXJlY3Qu
aHRtbCBbIEZhaWx1cmUgXQogCiBbIERlYnVnIF0gaHR0cC90ZXN0cy93b3JrZXJzL3dvcmtlci1t
ZXNzYWdlcG9ydC0yLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQpAQCAtMTI3Miw2ICsxMjgyLDE3IEBA
IHdlYmtpdC5vcmcvYi8xOTI0MDYgaHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJj
ZS1zZWN1cml0eS1jb25uZWN0aW9uLmh0CiB3ZWJraXQub3JnL2IvMTkxNDk4IGh0dHAvdGVzdHMv
aW5zcGVjdG9yL25ldHdvcmsvcmVzb3VyY2Utc2VjdXJpdHktY2VydGlmaWNhdGUuaHRtbCBbIFBh
c3MgXQogd2Via2l0Lm9yZy9iLzE5MTQ5OCBodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL2dl
dFNlcmlhbGl6ZWRDZXJ0aWZpY2F0ZS5odG1sIFsgUGFzcyBdCiAKK2h0dHAvd3B0L3NlcnZpY2Ut
d29ya2Vycy9jaGVjay1zZXJ2aWNlLXdvcmtlci1oZWFkZXIuaHR0cHMuaHRtbCBbIEZhaWx1cmUg
XQoraHR0cC93cHQvc2VydmljZS13b3JrZXJzL2NvcnMtcHJlZmxpZ2h0LXN0YXIuYW55LXNlcnZp
Y2V3b3JrZXIuaHRtbCBbIEZhaWx1cmUgXQoraHR0cC93cHQvc2VydmljZS13b3JrZXJzL2ZldGNo
RXZlbnQuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCitodHRwL3dwdC9zZXJ2aWNlLXdvcmtl
cnMvZmlsZS11cGxvYWQuaHRtbCBbIEZhaWx1cmUgXQoraHR0cC93cHQvc2VydmljZS13b3JrZXJz
L21hYy90aHJvdHRsZWFibGUuaHR0cHMuaHRtbCBbIEZhaWx1cmUgXQoraHR0cC93cHQvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyLWNyYXNoaW5nLXdoaWxlLWZldGNoaW5nLmh0dHBzLmh0
bWwgWyBGYWlsdXJlIF0KK2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci1u
ZXR3b3JrcHJvY2Vzcy1jcmFzaC5odG1sIFsgUGFzcyBGYWlsdXJlIF0KK2h0dHAvd3B0L3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci1zcGlubmluZy1hY3RpdmF0ZS5odHRwcy5odG1sIFsg
UGFzcyBGYWlsdXJlIF0KK2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy91cGRhdGUtc2VydmljZS13
b3JrZXIuaHR0cHMuaHRtbCBbIEZhaWx1cmUgXQoraHR0cC93cHQvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyLXNwaW5uaW5nLW1lc3NhZ2UuaHR0cHMuaHRtbCBbIFBhc3MgRmFpbHVyZSBd
CisKICMvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAjIElzc3VlIGNhdGVnb3JpZXMgYmVsb3cgYXJl
IHNoYXJlZCB3aXRoIG90aGVyIHBsYXRmb3JtcyAocHJpbWFyaWx5IEFwcGxlV2luKQogIy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8KQEAgLTE3NDcsNyArMTc2OCwzNCBAQCBmYXN0L3hzbCBbIFNraXAg
XQogd2Via2l0Lm9yZy9iLzE5OTE4NiBmb250cy91c2UtdHlwby1tZXRyaWNzLTEuaHRtbCBbIFNr
aXAgXQogZnVsbHNjcmVlbiBbIFNraXAgXQogaHRtbDVsaWIgWyBTa2lwIF0KLWh0dHAvd3B0IFsg
U2tpcCBdCitodHRwL3dwdC8yZGNvbnRleHQgWyBTa2lwIF0KK2h0dHAvd3B0L2F1ZGlvLW91dHB1
dCBbIFNraXAgXQoraHR0cC93cHQvYmVhY29uIFsgU2tpcCBdCitodHRwL3dwdC9jYWNoZS1zdG9y
YWdlIFsgU2tpcCBdCitodHRwL3dwdC9jb21tb24gWyBTa2lwIF0KK2h0dHAvd3B0L2NyZWRlbnRp
YWwtbWFuYWdlbWVudCBbIFNraXAgXQoraHR0cC93cHQvY3Jvc3Mtb3JpZ2luLXJlc291cmNlLXBv
bGljeSBbIFNraXAgXQoraHR0cC93cHQvY3NzIFsgU2tpcCBdCitodHRwL3dwdC9jcnlwdG8gWyBT
a2lwIF0KK2h0dHAvd3B0L2Nzc29tIFsgU2tpcCBdCitodHRwL3dwdC9lbnRyaWVzLWFwaSBbIFNr
aXAgXQoraHR0cC93cHQvZmV0Y2ggWyBTa2lwIF0KK2h0dHAvd3B0L2dlb21ldHJ5IFsgU2tpcCBd
CitodHRwL3dwdC9odG1sIFsgU2tpcCBdCitodHRwL3dwdC9pbWFnZXMgWyBTa2lwIF0KK2h0dHAv
d3B0L2xvYWRpbmcgWyBTa2lwIF0KK2h0dHAvd3B0L21lZGlhcmVjb3JkZXIgWyBTa2lwIF0KK2h0
dHAvd3B0L25vdGlmaWNhdGlvbnMgWyBTa2lwIF0KK2h0dHAvd3B0L29mZnNjcmVlbi1jYW52YXMg
WyBTa2lwIF0KK2h0dHAvd3B0L3ByZWZldGNoIFsgU2tpcCBdCitodHRwL3dwdC9wcmVsb2FkIFsg
U2tpcCBdCitodHRwL3dwdC9yZXNvdXJjZS10aW1pbmcgWyBTa2lwIF0KK2h0dHAvd3B0L3Jlc291
cmNlcyBbIFNraXAgXQoraHR0cC93cHQvd2ViYXVkaW8gWyBTa2lwIF0KK2h0dHAvd3B0L3dlYmF1
dGhuIFsgU2tpcCBdCitodHRwL3dwdC93ZWJydGMgWyBTa2lwIF0KK2h0dHAvd3B0L3dlYnhyIFsg
U2tpcCBdCitodHRwL3dwdC93b3JrZXJzIFsgU2tpcCBdCiBpbXBvcnRlZC9ibGluayBbIFNraXAg
XQogaW1wb3J0ZWQvbW96aWxsYSBbIFNraXAgXQogaW1wb3J0ZWQvdzNjIFsgU2tpcCBdCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGVlZGIwMzM5OWExMS4uZDJhZWRlZjk3MjUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDIxLTAzLTIyICBDaHJpc3RvcGhlciBSZWlkICA8Y2hyaXMucmVpZEBzb255LmNvbT4K
KworICAgICAgICBbV2luQ2Fpcm9dIEVuYWJsZSBTZXJ2aWNlIFdvcmtlciB0ZXN0cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNTkxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV1BUIEhUVFAgdGVzdHMg
d2VyZSBmYWlsaW5nIGJlY2F1c2UgU1NMIENvbm5lY3QgZXJyb3JzIHdlcmVuJ3QgdHJpZ2dlcmlu
ZyBhdXRoZW50aWNhdGlvbiBjaGFsbGVuZ2VzLgorICAgICAgICBBbHNvIEFkZCBhIHN1Z2dlc3Rl
ZEZpbGVuYW1lIGltcGxlbWVudGF0aW9uLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY3Vy
bC9OZXR3b3JrRGF0YVRhc2tDdXJsLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jdXJs
L05ldHdvcmtEYXRhVGFza0N1cmwuaDoKKwogMjAyMS0wMi0yNCAgQWxleCBDaHJpc3RlbnNlbiAg
PGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCBzdHVicyB0byBlbmFibGUg
U2FmYXJpRm9yV2ViS2l0RGV2ZWxvcG1lbnQgdG8gbGF1bmNoCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2N1cmwvTmV0d29ya0RhdGFUYXNrQ3VybC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2N1cmwvTmV0d29ya0RhdGFUYXNrQ3VybC5jcHAKaW5k
ZXggMjdmOGVmNTRlNTYxLi40MDdhZDEzZWNhZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY3VybC9OZXR3b3JrRGF0YVRhc2tDdXJsLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2N1cmwvTmV0d29ya0RhdGFUYXNrQ3VybC5jcHAKQEAgLTM5
LDYgKzM5LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1NhbWVTaXRlSW5mby5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvU2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tpbmcuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1N5bmNocm9ub3VzTG9hZGVyQ2xpZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9U
ZXh0RW5jb2RpbmcuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTE5Niw3ICsxOTcsNyBA
QCB2b2lkIE5ldHdvcmtEYXRhVGFza0N1cmw6OmN1cmxEaWRGYWlsV2l0aEVycm9yKEN1cmxSZXF1
ZXN0JiByZXF1ZXN0LCBSZXNvdXJjZUVycgogICAgIGlmIChzdGF0ZSgpID09IFN0YXRlOjpDYW5j
ZWxpbmcgfHwgc3RhdGUoKSA9PSBTdGF0ZTo6Q29tcGxldGVkIHx8ICghbV9jbGllbnQgJiYgIWlz
RG93bmxvYWQoKSkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChyZXNvdXJjZUVycm9yLmlz
U1NMQ2VydFZlcmlmaWNhdGlvbkVycm9yKCkpIHsKKyAgICBpZiAocmVzb3VyY2VFcnJvci5pc1NT
TENlcnRWZXJpZmljYXRpb25FcnJvcigpIHx8IHJlc291cmNlRXJyb3IuaXNTU0xDb25uZWN0RXJy
b3IoKSkgewogICAgICAgICB0cnlTZXJ2ZXJUcnVzdEV2YWx1YXRpb24oQXV0aGVudGljYXRpb25D
aGFsbGVuZ2UocmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS51cmwoKSwgY2VydGlmaWNhdGVJbmZv
LCByZXNvdXJjZUVycm9yKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC00NzAsNiArNDcx
LDE4IEBAIHZvaWQgTmV0d29ya0RhdGFUYXNrQ3VybDo6aGFuZGxlQ29va2llSGVhZGVycyhjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlCiAgICAgfQogfQogCitTdHJpbmcgTmV0d29y
a0RhdGFUYXNrQ3VybDo6c3VnZ2VzdGVkRmlsZW5hbWUoKSBjb25zdAoreworICAgIGlmICghbV9z
dWdnZXN0ZWRGaWxlbmFtZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBtX3N1Z2dlc3RlZEZp
bGVuYW1lOworCisgICAgU3RyaW5nIHN1Z2dlc3RlZEZpbGVuYW1lID0gbV9yZXNwb25zZS5zdWdn
ZXN0ZWRGaWxlbmFtZSgpOworICAgIGlmICghc3VnZ2VzdGVkRmlsZW5hbWUuaXNFbXB0eSgpKQor
ICAgICAgICByZXR1cm4gc3VnZ2VzdGVkRmlsZW5hbWU7CisKKyAgICByZXR1cm4gZGVjb2RlVVJM
RXNjYXBlU2VxdWVuY2VzKG1fcmVzcG9uc2UudXJsKCkubGFzdFBhdGhDb21wb25lbnQoKSk7Cit9
CisKIHZvaWQgTmV0d29ya0RhdGFUYXNrQ3VybDo6YmxvY2tDb29raWVzKCkKIHsKICNpZiBFTkFC
TEUoUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdvcmtEYXRhVGFza0N1cmwuaCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY3VybC9OZXR3b3JrRGF0YVRhc2tDdXJsLmgKaW5kZXggNGMxMjBkNjgz
MDU4Li40NmMyMTVhOTlhOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY3VybC9OZXR3b3JrRGF0YVRhc2tDdXJsLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jdXJsL05ldHdvcmtEYXRhVGFza0N1cmwuaApAQCAtOTEsNiArOTEsOCBAQCBwcml2
YXRlOgogICAgIHZvaWQgYmxvY2tDb29raWVzKCk7CiAgICAgdm9pZCB1bmJsb2NrQ29va2llcygp
OwogCisgICAgU3RyaW5nIHN1Z2dlc3RlZEZpbGVuYW1lKCkgY29uc3Qgb3ZlcnJpZGU7CisKICAg
ICBTdGF0ZSBtX3N0YXRlIHsgU3RhdGU6OlN1c3BlbmRlZCB9OwogCiAgICAgUmVmUHRyPFdlYkNv
cmU6OkN1cmxSZXF1ZXN0PiBtX2N1cmxSZXF1ZXN0OwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdl
TG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGYyZThhNzIxY2U0My4uODQwNzU0MTg4YzFmIDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMjEtMDMtMjIgIENocmlzdG9waGVyIFJlaWQgIDxjaHJpcy5yZWlkQHNvbnku
Y29tPgorCisgICAgICAgIFtXaW5DYWlyb10gRW5hYmxlIFNlcnZpY2UgV29ya2VyIHRlc3RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM1OTEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJZ25vcmUgY2Vy
dCBlcnJvcnMgd2l0aCBkb3dubG9hZHMgYW5kIGZpeCBhbiBpc3N1ZSB3aXRoIHdpbmRvd3MgcGF0
aHMuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmg6CisKIDIwMjEtMDItMjQg
IEthdGUgQ2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5leUBhcHBsZS5jb20+CiAKICAgICAgICAgQXBw
LWJvdW5kIHJlcXVlc3QgcGFyYW1ldGVyIHNob3VsZCBiZSBwYXNzZWQgdG8gbWFpbiByZXNvdXJj
ZSByZXF1ZXN0cyBub3QgdGhlIG1haW4gZnJhbWUKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
Q29udHJvbGxlci5jcHAKaW5kZXggZTUyYWUxMjhhNWNjLi4yZmExODY1ZGQ1NGQgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCkBAIC0xNDMsNyArMTQzLDcgQEAg
dm9pZCBUZXN0Q29udHJvbGxlcjo6bmF2aWdhdGlvbkRpZEJlY29tZURvd25sb2FkU2hhcmVkKFdL
RG93bmxvYWRSZWYgZG93bmxvYWQsIGMKICAgICBXS0Rvd25sb2FkQ2xpZW50VjAgY2xpZW50IHsK
ICAgICAgICAgeyAwLCBjbGllbnRJbmZvIH0sCiAgICAgICAgIFRlc3RDb250cm9sbGVyOjpkb3du
bG9hZERpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdFRvVVJMLAotICAgICAgICBudWxscHRyLCAvLyBk
aWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UKKyAgICAgICAgVGVzdENvbnRyb2xsZXI6
OmRvd25sb2FkRGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLAogICAgICAgICBUZXN0
Q29udHJvbGxlcjo6ZGVjaWRlRGVzdGluYXRpb25XaXRoU3VnZ2VzdGVkRmlsZW5hbWUsCiAgICAg
ICAgIG51bGxwdHIsIC8vIGRpZFdyaXRlRGF0YQogICAgICAgICBUZXN0Q29udHJvbGxlcjo6ZG93
bmxvYWREaWRGaW5pc2gsCkBAIC0yMTYzLDcgKzIxNjMsNyBAQCBXS1N0cmluZ1JlZiBUZXN0Q29u
dHJvbGxlcjo6ZGVjaWRlRGVzdGluYXRpb25XaXRoU3VnZ2VzdGVkRmlsZW5hbWUoV0tEb3dubG9h
ZFJlZgogICAgIGlmIChzdWdnZXN0ZWRGaWxlbmFtZS5pc0VtcHR5KCkpCiAgICAgICAgIHN1Z2dl
c3RlZEZpbGVuYW1lID0gIlVua25vd24iOwogICAgIAotICAgIFN0cmluZyBkZXN0aW5hdGlvbiA9
IHRlbXBvcmFyeUZvbGRlciArICIvIiArIHN1Z2dlc3RlZEZpbGVuYW1lOworICAgIFN0cmluZyBk
ZXN0aW5hdGlvbiA9IHRlbXBvcmFyeUZvbGRlciArIHBhdGhTZXBhcmF0b3IgKyBzdWdnZXN0ZWRG
aWxlbmFtZTsKICAgICBpZiAoRmlsZVN5c3RlbTo6ZmlsZUV4aXN0cyhkZXN0aW5hdGlvbikpCiAg
ICAgICAgIEZpbGVTeXN0ZW06OmRlbGV0ZUZpbGUoZGVzdGluYXRpb24pOwogCkBAIC0yMTk5LDYg
KzIxOTksMTEgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6ZG93bmxvYWREaWRGYWlsKFdLRG93bmxv
YWRSZWYsIFdLRXJyb3JSZWYgZXJyb3IpCiAgICAgbV9jdXJyZW50SW52b2NhdGlvbi0+bm90aWZ5
RG93bmxvYWREb25lKCk7CiB9CiAKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OmRvd25sb2FkRGlkUmVj
ZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKFdLRG93bmxvYWRSZWYsIFdLQXV0aGVudGljYXRp
b25DaGFsbGVuZ2VSZWYgYXV0aGVudGljYXRpb25DaGFsbGVuZ2UsIGNvbnN0IHZvaWQgKmNsaWVu
dEluZm8pCit7CisgICAgc3RhdGljX2Nhc3Q8VGVzdENvbnRyb2xsZXIqPihjb25zdF9jYXN0PHZv
aWQqPihjbGllbnRJbmZvKSktPmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShudWxs
cHRyLCBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSk7Cit9CisKIHZvaWQgVGVzdENvbnRyb2xsZXI6
OnByb2Nlc3NEaWRDcmFzaCgpCiB7CiAgICAgLy8gVGhpcyBmdW5jdGlvbiBjYW4gYmUgY2FsbGVk
IG11bHRpcGxlIHRpbWVzIHdoZW4gY3Jhc2ggbG9ncyBhcmUgYmVpbmcgc2F2ZWQgb24gV2luZG93
cywgc28KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
aCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAppbmRleCA5ZTVhYTc5
Yzk4ZTMuLjE4YjA0MmZlZTlmYiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0Q29udHJvbGxlci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xs
ZXIuaApAQCAtNDYzLDYgKzQ2Myw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkb3dubG9hZERpZEZh
aWwoV0tEb3dubG9hZFJlZiwgV0tFcnJvclJlZik7CiAgICAgc3RhdGljIGJvb2wgZG93bmxvYWRE
aWRSZWNlaXZlU2VydmVyUmVkaXJlY3RUb1VSTChXS0Rvd25sb2FkUmVmLCBXS1VSTFJlc3BvbnNl
UmVmLCBXS1VSTFJlcXVlc3RSZWYsIGNvbnN0IHZvaWQqKTsKICAgICBib29sIGRvd25sb2FkRGlk
UmVjZWl2ZVNlcnZlclJlZGlyZWN0VG9VUkwoV0tEb3dubG9hZFJlZiwgV0tVUkxSZXF1ZXN0UmVm
KTsKKyAgICBzdGF0aWMgdm9pZCBkb3dubG9hZERpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZShXS0Rvd25sb2FkUmVmLCBXS0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUmVmLCBjb25zdCB2
b2lkICpjbGllbnRJbmZvKTsKICAgICAKICAgICBzdGF0aWMgdm9pZCBwcm9jZXNzRGlkQ3Jhc2go
V0tQYWdlUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKICAgICB2b2lkIHByb2Nlc3NEaWRD
cmFzaCgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425052</attachid>
            <date>2021-04-02 14:04:31 -0700</date>
            <delta_ts>2021-04-05 16:56:08 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>11152</size>
            <attacher name="Christopher Reid">chris.reid</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkYzg2MjE5OGZmYjcuLjc4NzUxMjQ1MTQwZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDIxLTA0LTAyICBDaHJpc3RvcGhlciBSZWlkICA8Y2hyaXMucmVpZEBzb255LmNvbT4KKwor
ICAgICAgICBbV2luQ2Fpcm9dIEVuYWJsZSBTZXJ2aWNlIFdvcmtlciB0ZXN0cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNTkxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWly
by13azEvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWlyby9UZXN0
RXhwZWN0YXRpb25zOgorCiAyMDIxLTA0LTAyICBTZXJnaW8gVmlsbGFyIFNlbmluICA8c3ZpbGxh
ckBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtjc3MtZmxleGJveF0gYWxpZ24tY29udGVudCBpc3N1
ZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvLXdrMS9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8td2sxL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggYmU1OGEwNDMxMGFmLi4yNTU2YTg1ZGE1MjIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvLXdrMS9UZXN0RXhwZWN0YXRpb25zCkBAIC0zMTUsMyAr
MzE1LDcgQEAgaHR0cC90ZXN0cy9tdWx0aXBhcnQvbXVsdGlwYXJ0LXdhaXQtYmVmb3JlLWJvdW5k
YXJ5Lmh0bWwgWyBUaW1lb3V0IF0KIFsgRGVidWcgXSBodHRwL3Rlc3RzL21pc2MvcmVkaXJlY3Qt
dG8tYWJvdXQtYmxhbmsuaHRtbCBbIFNraXAgXQogWyBSZWxlYXNlIF0gaHR0cC90ZXN0cy9taXNj
L3JlZGlyZWN0LXRvLWV4dGVybmFsLXVybC5odG1sIFsgRmFpbHVyZSBdCiBbIERlYnVnIF0gaHR0
cC90ZXN0cy9taXNjL3JlZGlyZWN0LXRvLWV4dGVybmFsLXVybC5odG1sIFsgU2tpcCBdCisKKyMg
U2tpcCBTZXJ2aWNlIFdvcmtlcnMgaW4gV0sxCitodHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZSBb
IFNraXAgXQoraHR0cC93cHQvc2VydmljZS13b3JrZXJzIFsgU2tpcCBdClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8v
VGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggMGRkNjU3MTFkZTAwLi5jMTJjNGEyZTZhNGIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTIyNSw3ICsxMjI1
LDI3IEBAIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2h5Ymkvd2Vic29ja2V0LWJsb2NrZWQt
ZnJvbS1zZXR0aW5nLWNvb2tpZS1hcy10aGlyZC1wCiBodHRwL3Rlc3RzL3dlYnNvY2tldC90ZXN0
cy9oeWJpL3dlYnNvY2tldC1jb29raWUtb3ZlcndyaXRlLWJlaGF2aW9yLmh0bWwgWyBQYXNzIEZh
aWx1cmUgXQogaHR0cC90ZXN0cy93ZWJzb2NrZXQvdGVzdHMvaHliaS93b3JrZXJzL3dvcmtlci1y
ZWxvYWQuaHRtbCBbIFRpbWVvdXQgUGFzcyBdCiAKLWh0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNl
IFsgU2tpcCBdCisjIE5lZWRzIGN1cmwgZG93bmxvYWQgc3VwcG9ydAoraHR0cC90ZXN0cy93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmljZS13b3JrZXItZG93bmxvYWQtYXN5bmMtZGVsZWdhdGVzLmh0dHBz
Lmh0bWwgWyBGYWlsdXJlIFRpbWVvdXQgXQoraHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2Vy
dmljZS13b3JrZXItZG93bmxvYWQuaHR0cHMuaHRtbCBbIEZhaWx1cmUgVGltZW91dCBdCisKK2h0
dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL2Jhc2ljLXRpbWVvdXQuaHR0cHMuaHRtbCBbIEZhaWx1
cmUgXQoraHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvY29udHJvbGxlci1jaGFuZ2UuaHRtbCBb
IFRpbWVvdXQgXQoraHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcGFnZS1jYWNoaW5nLmh0bWwg
WyBUaW1lb3V0IF0KK2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3JlZ2lzdHJhdGlvbi11cGRh
dGVWaWFDYWNoZS1hbGwtaW1wb3J0U2NyaXB0cy5odG1sIFsgRmFpbHVyZSBdCitodHRwL3Rlc3Rz
L3dvcmtlcnMvc2VydmljZS9yZWdpc3RyYXRpb24tdXBkYXRlVmlhQ2FjaGUtYWxsLmh0bWwgWyBG
YWlsdXJlIF0KK2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3JlZ2lzdHJhdGlvbi11cGRhdGVW
aWFDYWNoZS1pbXBvcnRzLWltcG9ydFNjcmlwdHMuaHRtbCBbIEZhaWx1cmUgXQoraHR0cC90ZXN0
cy93b3JrZXJzL3NlcnZpY2UvcmVnaXN0cmF0aW9uLXVwZGF0ZVZpYUNhY2hlLW5vbmUtaW1wb3J0
U2NyaXB0cy5odG1sIFsgRmFpbHVyZSBdCitodHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9yZWdp
c3RyYXRpb24tdXBkYXRlVmlhQ2FjaGUtbm9uZS5odG1sIFsgRmFpbHVyZSBdCitodHRwL3Rlc3Rz
L3dvcmtlcnMvc2VydmljZS9zZWxmX3JlZ2lzdHJhdGlvbl91cGRhdGUuaHRtbCBbIFRpbWVvdXQg
XQoraHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2VydmljZS13b3JrZXItY2FjaGUtYXBpLmh0
dHBzLmh0bWwgWyBGYWlsdXJlIF0KK2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3NlcnZpY2Ut
d29ya2VyLXJlZ2lzdHJhdGlvbi1nYy1ldmVudC5odG1sIFsgVGltZW91dCBdCitodHRwL3Rlc3Rz
L3dvcmtlcnMvc2VydmljZS9zZXJ2aWNlLXdvcmtlci1yZXF1ZXN0LXdpdGgtYm9keS5odHRwcy5o
dG1sIFsgRmFpbHVyZSBdCitodHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9zZXJ2aWNlLXdvcmtl
ci1yZXNvdXJjZS10aW1pbmcuaHR0cHMuaHRtbCBbIFRpbWVvdXQgRmFpbHVyZSBdCitodHRwL3Rl
c3RzL3dvcmtlcnMvc2VydmljZS9zZXJ2aWNld29ya2VyLXdlYnNvY2tldC5odHRwcy5odG1sIFsg
RmFpbHVyZSBdCitodHRwL3Rlc3RzL3dvcmtlcnMvd29ya2VyLWltcG9ydFNjcmlwdHMuaHRtbCBb
IEZhaWx1cmUgXQoraHR0cC90ZXN0cy93b3JrZXJzL3dvcmtlci1pbXBvcnRTY3JpcHRzT25FcnJv
ci5odG1sIFsgRmFpbHVyZSBdCitodHRwL3Rlc3RzL3dvcmtlcnMvd29ya2VyLW1lc3NhZ2Vwb3J0
LTIuaHRtbCBbIEZhaWx1cmUgXQogaHR0cC90ZXN0cy93b3JrZXJzL3dvcmtlci1yZWRpcmVjdC5o
dG1sIFsgRmFpbHVyZSBdCiAKIFsgRGVidWcgXSBodHRwL3Rlc3RzL3dvcmtlcnMvd29ya2VyLW1l
c3NhZ2Vwb3J0LTIuaHRtbCBbIFBhc3MgVGltZW91dCBdCkBAIC0xMjcwLDYgKzEyOTAsMTUgQEAg
d2Via2l0Lm9yZy9iLzE5MjQwNiBodHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3Jlc291cmNl
LXNlY3VyaXR5LWNvbm5lY3Rpb24uaHQKIHdlYmtpdC5vcmcvYi8xOTE0OTggaHR0cC90ZXN0cy9p
bnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZS1zZWN1cml0eS1jZXJ0aWZpY2F0ZS5odG1sIFsgUGFz
cyBdCiB3ZWJraXQub3JnL2IvMTkxNDk4IGh0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvZ2V0
U2VyaWFsaXplZENlcnRpZmljYXRlLmh0bWwgWyBQYXNzIF0KIAoraHR0cC93cHQvc2VydmljZS13
b3JrZXJzL2NvcnMtcHJlZmxpZ2h0LXN0YXIuYW55LXNlcnZpY2V3b3JrZXIuaHRtbCBbIEZhaWx1
cmUgXQoraHR0cC93cHQvc2VydmljZS13b3JrZXJzL2ZldGNoRXZlbnQuaHR0cHMuaHRtbCBbIFBh
c3MgRmFpbHVyZSBdCitodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvZmlsZS11cGxvYWQuaHRtbCBb
IEZhaWx1cmUgXQoraHR0cC93cHQvc2VydmljZS13b3JrZXJzL21hYy90aHJvdHRsZWFibGUuaHR0
cHMuaHRtbCBbIEZhaWx1cmUgXQoraHR0cC93cHQvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyLW5ldHdvcmtwcm9jZXNzLWNyYXNoLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQoraHR0cC93cHQv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyLXNwaW5uaW5nLWFjdGl2YXRlLmh0dHBzLmh0
bWwgWyBQYXNzIEZhaWx1cmUgXQoraHR0cC93cHQvc2VydmljZS13b3JrZXJzL3VwZGF0ZS1zZXJ2
aWNlLXdvcmtlci5odHRwcy5odG1sIFsgRmFpbHVyZSBdCitodHRwL3dwdC9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXItc3Bpbm5pbmctbWVzc2FnZS5odHRwcy5odG1sIFsgUGFzcyBGYWls
dXJlIF0KKwogIy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICMgSXNzdWUgY2F0ZWdvcmllcyBiZWxv
dyBhcmUgc2hhcmVkIHdpdGggb3RoZXIgcGxhdGZvcm1zIChwcmltYXJpbHkgQXBwbGVXaW4pCiAj
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLwpAQCAtMTc0Niw3ICsxNzc1LDM0IEBAIGZhc3QveHNsIFsg
U2tpcCBdCiB3ZWJraXQub3JnL2IvMTk5MTg2IGZvbnRzL3VzZS10eXBvLW1ldHJpY3MtMS5odG1s
IFsgU2tpcCBdCiBmdWxsc2NyZWVuIFsgU2tpcCBdCiBodG1sNWxpYiBbIFNraXAgXQotaHR0cC93
cHQgWyBTa2lwIF0KK2h0dHAvd3B0LzJkY29udGV4dCBbIFNraXAgXQoraHR0cC93cHQvYXVkaW8t
b3V0cHV0IFsgU2tpcCBdCitodHRwL3dwdC9iZWFjb24gWyBTa2lwIF0KK2h0dHAvd3B0L2NhY2hl
LXN0b3JhZ2UgWyBTa2lwIF0KK2h0dHAvd3B0L2NvbW1vbiBbIFNraXAgXQoraHR0cC93cHQvY3Jl
ZGVudGlhbC1tYW5hZ2VtZW50IFsgU2tpcCBdCitodHRwL3dwdC9jcm9zcy1vcmlnaW4tcmVzb3Vy
Y2UtcG9saWN5IFsgU2tpcCBdCitodHRwL3dwdC9jc3MgWyBTa2lwIF0KK2h0dHAvd3B0L2NyeXB0
byBbIFNraXAgXQoraHR0cC93cHQvY3Nzb20gWyBTa2lwIF0KK2h0dHAvd3B0L2VudHJpZXMtYXBp
IFsgU2tpcCBdCitodHRwL3dwdC9mZXRjaCBbIFNraXAgXQoraHR0cC93cHQvZ2VvbWV0cnkgWyBT
a2lwIF0KK2h0dHAvd3B0L2h0bWwgWyBTa2lwIF0KK2h0dHAvd3B0L2ltYWdlcyBbIFNraXAgXQor
aHR0cC93cHQvbG9hZGluZyBbIFNraXAgXQoraHR0cC93cHQvbWVkaWFyZWNvcmRlciBbIFNraXAg
XQoraHR0cC93cHQvbm90aWZpY2F0aW9ucyBbIFNraXAgXQoraHR0cC93cHQvb2Zmc2NyZWVuLWNh
bnZhcyBbIFNraXAgXQoraHR0cC93cHQvcHJlZmV0Y2ggWyBTa2lwIF0KK2h0dHAvd3B0L3ByZWxv
YWQgWyBTa2lwIF0KK2h0dHAvd3B0L3Jlc291cmNlLXRpbWluZyBbIFNraXAgXQoraHR0cC93cHQv
cmVzb3VyY2VzIFsgU2tpcCBdCitodHRwL3dwdC93ZWJhdWRpbyBbIFNraXAgXQoraHR0cC93cHQv
d2ViYXV0aG4gWyBTa2lwIF0KK2h0dHAvd3B0L3dlYnJ0YyBbIFNraXAgXQoraHR0cC93cHQvd2Vi
eHIgWyBTa2lwIF0KK2h0dHAvd3B0L3dvcmtlcnMgWyBTa2lwIF0KIGltcG9ydGVkL2JsaW5rIFsg
U2tpcCBdCiBpbXBvcnRlZC9tb3ppbGxhIFsgU2tpcCBdCiBpbXBvcnRlZC93M2MgWyBTa2lwIF0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggODI1ZWU1NzVhZWVlLi5jYWE5NWI4Zjg0MmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTYgQEAKKzIwMjEtMDQtMDIgIENocmlzdG9waGVyIFJlaWQgIDxjaHJpcy5yZWlkQHNvbnku
Y29tPgorCisgICAgICAgIFtXaW5DYWlyb10gRW5hYmxlIFNlcnZpY2UgV29ya2VyIHRlc3RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM1OTEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXUFQgSFRUUCB0
ZXN0cyB3ZXJlIGZhaWxpbmcgYmVjYXVzZSBTU0wgQ29ubmVjdCBlcnJvcnMgd2VyZW4ndCB0cmln
Z2VyaW5nIGF1dGhlbnRpY2F0aW9uIGNoYWxsZW5nZXMuCisgICAgICAgIEFsc28gQWRkIGEgc3Vn
Z2VzdGVkRmlsZW5hbWUgaW1wbGVtZW50YXRpb24uCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9jdXJsL05ldHdvcmtEYXRhVGFza0N1cmwuY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L2N1cmwvTmV0d29ya0RhdGFUYXNrQ3VybC5oOgorCiAyMDIxLTA0LTAyICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBbTWFjT1NdIEVuYWJsZSBOU1VSTFNlc3Np
b24gV2ViU29ja2V0IGNvZGUgcGF0aCBpbiBXZWJLaXRUZXN0UnVubmVyCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2N1cmwvTmV0d29ya0RhdGFUYXNrQ3VybC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2N1cmwvTmV0d29ya0RhdGFUYXNrQ3VybC5j
cHAKaW5kZXggMjdmOGVmNTRlNTYxLi5lOWZkZjM1N2Q2NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY3VybC9OZXR3b3JrRGF0YVRhc2tDdXJsLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2N1cmwvTmV0d29ya0RhdGFUYXNrQ3VybC5jcHAK
QEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1NhbWVTaXRlSW5mby5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvU2hvdWxkUmVsYXhUaGlyZFBhcnR5Q29va2llQmxvY2tpbmcuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1N5bmNocm9ub3VzTG9hZGVyQ2xpZW50Lmg+CisjaW5jbHVkZSA8V2Vi
Q29yZS9UZXh0RW5jb2RpbmcuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTQ3MCw2ICs0
NzEsMTggQEAgdm9pZCBOZXR3b3JrRGF0YVRhc2tDdXJsOjpoYW5kbGVDb29raWVIZWFkZXJzKGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmUKICAgICB9CiB9CiAKK1N0cmluZyBOZXR3
b3JrRGF0YVRhc2tDdXJsOjpzdWdnZXN0ZWRGaWxlbmFtZSgpIGNvbnN0Cit7CisgICAgaWYgKCFt
X3N1Z2dlc3RlZEZpbGVuYW1lLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIG1fc3VnZ2VzdGVk
RmlsZW5hbWU7CisKKyAgICBTdHJpbmcgc3VnZ2VzdGVkRmlsZW5hbWUgPSBtX3Jlc3BvbnNlLnN1
Z2dlc3RlZEZpbGVuYW1lKCk7CisgICAgaWYgKCFzdWdnZXN0ZWRGaWxlbmFtZS5pc0VtcHR5KCkp
CisgICAgICAgIHJldHVybiBzdWdnZXN0ZWRGaWxlbmFtZTsKKworICAgIHJldHVybiBkZWNvZGVV
UkxFc2NhcGVTZXF1ZW5jZXMobV9yZXNwb25zZS51cmwoKS5sYXN0UGF0aENvbXBvbmVudCgpKTsK
K30KKwogdm9pZCBOZXR3b3JrRGF0YVRhc2tDdXJsOjpibG9ja0Nvb2tpZXMoKQogewogI2lmIEVO
QUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2N1cmwvTmV0d29ya0RhdGFUYXNrQ3VybC5oIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdvcmtEYXRhVGFza0N1cmwuaAppbmRleCA0YzEyMGQ2
ODMwNTguLjQ2YzIxNWE5OWE5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jdXJsL05ldHdvcmtEYXRhVGFza0N1cmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2N1cmwvTmV0d29ya0RhdGFUYXNrQ3VybC5oCkBAIC05MSw2ICs5MSw4IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBibG9ja0Nvb2tpZXMoKTsKICAgICB2b2lkIHVuYmxvY2tDb29raWVz
KCk7CiAKKyAgICBTdHJpbmcgc3VnZ2VzdGVkRmlsZW5hbWUoKSBjb25zdCBvdmVycmlkZTsKKwog
ICAgIFN0YXRlIG1fc3RhdGUgeyBTdGF0ZTo6U3VzcGVuZGVkIH07CiAKICAgICBSZWZQdHI8V2Vi
Q29yZTo6Q3VybFJlcXVlc3Q+IG1fY3VybFJlcXVlc3Q7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFu
Z2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDAwMjk1OTFlNTI3Li4wZDIyMDg5MTg4ODcg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAyMS0wNC0wMiAgQ2hyaXN0b3BoZXIgUmVpZCAgPGNocmlzLnJlaWRAc29u
eS5jb20+CisKKyAgICAgICAgW1dpbkNhaXJvXSBFbmFibGUgU2VydmljZSBXb3JrZXIgdGVzdHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzU5MQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElnbm9yZSBj
ZXJ0IGVycm9ycyB3aXRoIGRvd25sb2FkcyBhbmQgZml4IGFuIGlzc3VlIHdpdGggd2luZG93cyBw
YXRocy4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaDoKKwogMjAyMS0wNC0w
MiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgW01hY09TXSBF
bmFibGUgTlNVUkxTZXNzaW9uIFdlYlNvY2tldCBjb2RlIHBhdGggaW4gV2ViS2l0VGVzdFJ1bm5l
cgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCAzODhmZGM0
ZTBmZDMuLmM5YWE3YjJhNzgzMiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5jcHAKQEAgLTE0Myw3ICsxNDMsNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpuYXZpZ2F0
aW9uRGlkQmVjb21lRG93bmxvYWRTaGFyZWQoV0tEb3dubG9hZFJlZiBkb3dubG9hZCwgYwogICAg
IFdLRG93bmxvYWRDbGllbnRWMCBjbGllbnQgewogICAgICAgICB7IDAsIGNsaWVudEluZm8gfSwK
ICAgICAgICAgVGVzdENvbnRyb2xsZXI6OmRvd25sb2FkRGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0
VG9VUkwsCi0gICAgICAgIG51bGxwdHIsIC8vIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZQorICAgICAgICBUZXN0Q29udHJvbGxlcjo6ZG93bmxvYWREaWRSZWNlaXZlQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2UsCiAgICAgICAgIFRlc3RDb250cm9sbGVyOjpkZWNpZGVEZXN0aW5hdGlv
bldpdGhTdWdnZXN0ZWRGaWxlbmFtZSwKICAgICAgICAgbnVsbHB0ciwgLy8gZGlkV3JpdGVEYXRh
CiAgICAgICAgIFRlc3RDb250cm9sbGVyOjpkb3dubG9hZERpZEZpbmlzaCwKQEAgLTIxNjIsNyAr
MjE2Miw3IEBAIFdLU3RyaW5nUmVmIFRlc3RDb250cm9sbGVyOjpkZWNpZGVEZXN0aW5hdGlvbldp
dGhTdWdnZXN0ZWRGaWxlbmFtZShXS0Rvd25sb2FkUmVmCiAgICAgaWYgKHN1Z2dlc3RlZEZpbGVu
YW1lLmlzRW1wdHkoKSkKICAgICAgICAgc3VnZ2VzdGVkRmlsZW5hbWUgPSAiVW5rbm93biI7CiAg
ICAgCi0gICAgU3RyaW5nIGRlc3RpbmF0aW9uID0gdGVtcG9yYXJ5Rm9sZGVyICsgIi8iICsgc3Vn
Z2VzdGVkRmlsZW5hbWU7CisgICAgU3RyaW5nIGRlc3RpbmF0aW9uID0gdGVtcG9yYXJ5Rm9sZGVy
ICsgcGF0aFNlcGFyYXRvciArIHN1Z2dlc3RlZEZpbGVuYW1lOwogICAgIGlmIChGaWxlU3lzdGVt
OjpmaWxlRXhpc3RzKGRlc3RpbmF0aW9uKSkKICAgICAgICAgRmlsZVN5c3RlbTo6ZGVsZXRlRmls
ZShkZXN0aW5hdGlvbik7CiAKQEAgLTIxOTgsNiArMjE5OCwxMSBAQCB2b2lkIFRlc3RDb250cm9s
bGVyOjpkb3dubG9hZERpZEZhaWwoV0tEb3dubG9hZFJlZiwgV0tFcnJvclJlZiBlcnJvcikKICAg
ICBtX2N1cnJlbnRJbnZvY2F0aW9uLT5ub3RpZnlEb3dubG9hZERvbmUoKTsKIH0KIAordm9pZCBU
ZXN0Q29udHJvbGxlcjo6ZG93bmxvYWREaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2Uo
V0tEb3dubG9hZFJlZiwgV0tBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVJlZiBhdXRoZW50aWNhdGlv
bkNoYWxsZW5nZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbykKK3sKKyAgICBzdGF0aWNfY2FzdDxU
ZXN0Q29udHJvbGxlcio+KGNvbnN0X2Nhc3Q8dm9pZCo+KGNsaWVudEluZm8pKS0+ZGlkUmVjZWl2
ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKG51bGxwdHIsIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
KTsKK30KKwogdm9pZCBUZXN0Q29udHJvbGxlcjo6cHJvY2Vzc0RpZENyYXNoKCkKIHsKICAgICAv
LyBUaGlzIGZ1bmN0aW9uIGNhbiBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMgd2hlbiBjcmFzaCBs
b2dzIGFyZSBiZWluZyBzYXZlZCBvbiBXaW5kb3dzLCBzbwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0Q29udHJvbGxlci5oCmluZGV4IDBjZjFmNmNhNzM0NS4uN2I5ZmExNzAwMmFjIDEwMDY0NAot
LS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKKysrIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCkBAIC00NjQsNiArNDY0LDcgQEAgcHJp
dmF0ZToKICAgICB2b2lkIGRvd25sb2FkRGlkRmFpbChXS0Rvd25sb2FkUmVmLCBXS0Vycm9yUmVm
KTsKICAgICBzdGF0aWMgYm9vbCBkb3dubG9hZERpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdFRvVVJM
KFdLRG93bmxvYWRSZWYsIFdLVVJMUmVzcG9uc2VSZWYsIFdLVVJMUmVxdWVzdFJlZiwgY29uc3Qg
dm9pZCopOwogICAgIGJvb2wgZG93bmxvYWREaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RUb1VSTChX
S0Rvd25sb2FkUmVmLCBXS1VSTFJlcXVlc3RSZWYpOworICAgIHN0YXRpYyB2b2lkIGRvd25sb2Fk
RGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKFdLRG93bmxvYWRSZWYsIFdLQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2VSZWYsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwogICAgIAogICAg
IHN0YXRpYyB2b2lkIHByb2Nlc3NEaWRDcmFzaChXS1BhZ2VSZWYsIGNvbnN0IHZvaWQqIGNsaWVu
dEluZm8pOwogICAgIHZvaWQgcHJvY2Vzc0RpZENyYXNoKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>