<?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>24569</bug_id>
          
          <creation_ts>2009-03-13 01:28:19 -0700</creation_ts>
          <short_desc>Add some cookies tests</short_desc>
          <delta_ts>2011-12-02 14:04:52 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>36998</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Julien Chaffraix">jchaffraix</reporter>
          <assigned_to name="Julien Chaffraix">jchaffraix</assigned_to>
          <cc>emacemac7</cc>
    
    <cc>eric</cc>
    
    <cc>kevino</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>113566</commentid>
    <comment_count>0</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2009-03-13 01:28:19 -0700</bug_when>
    <thetext>As suggested by Kevin, adding some cookies tests would be a good start in solving bug 14730. This will also be a nice addition to our tests.

As there is no such test suite to my knowledge, we will create the framework from scratch. My idea is to use several XHRs to get/set/clear the cookies by using custom HTTP headers rewritten at the server side.

First version forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113572</commentid>
    <comment_count>1</comment_count>
      <attachid>28573</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2009-03-13 03:56:03 -0700</bug_when>
    <thetext>Created attachment 28573
First try: includes some basic testing

This is a very first version, it does basic testing for the moment and will be extended to integrate real world cookies. I am interested in comments in the design taken.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120525</commentid>
    <comment_count>2</comment_count>
      <attachid>28573</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-05-09 14:26:35 -0700</bug_when>
    <thetext>Comment on attachment 28573
First try: includes some basic testing

This is really good stuff!!  r=me with a few nits:

&gt;Index: LayoutTests/http/tests/cookies/resources/cookies-test-pre.js
&gt;+function shouldBe(_a, _b)
&gt;+function shouldBeEqualToString(a, b)
&gt;+function shouldBeUndefined(_a)
&gt;+function shouldThrow(_a, _e)

These functions should be indented by 4 spaces initially instead of just 2 spaces.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120974</commentid>
    <comment_count>3</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-05-12 21:08:42 -0700</bug_when>
    <thetext>Hmm...http/tests/cookies/simple-cookies.html fails when run on a local Debug build of ToT WebKit r43601 on Leopard 10.5.7.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121064</commentid>
    <comment_count>4</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-05-13 11:00:30 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Hmm...http/tests/cookies/simple-cookies.html fails when run on a local Debug
&gt; build of ToT WebKit r43601 on Leopard 10.5.7.

Oops!  It helps if you make getCookie.cgi and setCookie.cgi executable.  :)
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121485</commentid>
    <comment_count>5</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-05-15 04:23:53 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; Hmm...http/tests/cookies/simple-cookies.html fails when run on a local Debug
&gt; &gt; build of ToT WebKit r43601 on Leopard 10.5.7.
&gt; 
&gt; Oops!  It helps if you make getCookie.cgi and setCookie.cgi executable.  :)

The &quot;setting a cookie that timed out&quot; check appears to be incorrect.  It fails in both Firefox 3.0.8 and Safari 4 Public Beta on Leopard 10.5.7.

[...]
PASS cookie is test=foobar
Check setting a cookie that timed out
FAIL cookie was test=foobar. Expected 
[...]

Otherwise the simple-cookies.html test looks good.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121699</commentid>
    <comment_count>6</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-05-17 12:08:45 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (In reply to comment #3)
&gt; &gt; &gt; Hmm...http/tests/cookies/simple-cookies.html fails when run on a local Debug
&gt; &gt; &gt; build of ToT WebKit r43601 on Leopard 10.5.7.
&gt; &gt; 
&gt; &gt; Oops!  It helps if you make getCookie.cgi and setCookie.cgi executable.  :)
&gt; 
&gt; The &quot;setting a cookie that timed out&quot; check appears to be incorrect.  It fails
&gt; in both Firefox 3.0.8 and Safari 4 Public Beta on Leopard 10.5.7.
&gt; 
&gt; [...]
&gt; PASS cookie is test=foobar
&gt; Check setting a cookie that timed out
&gt; FAIL cookie was test=foobar. Expected 
&gt; [...]

*sigh*  Had to make clearCookies.cgi executable as well.

I think clearCookies.cgi should do case-insensitive matches and use the original Expires data format:

-if ($cookie =~ /Max-Age/) {
-    $cookie =~ s/Max-Age *= *[0-9]+/Max-Age=0/;
+if ($cookie =~ /Max-Age/i) {
+    $cookie =~ s/Max-Age *= *[0-9]+/Max-Age=0/i;
     $handled = 1;
 } 
-if ($cookie =~ /Expires/) {
+if ($cookie =~ /Expires/i) {
     # Set the &quot;Expires&quot; field to UNIX epoch
-    $cookie =~ s/Expires *= *[^;]+/Expires=Thu Jan 01 1970 00:00:00 GMT/;
+    $cookie =~ s/Expires *= *[^;]+/Expires=Thu, 01 Jan 1970 00:00:00 GMT/i;
     $handled = 1;
 } 

I&apos;ll land this on Monday if there are no other objections.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121720</commentid>
    <comment_count>7</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-05-17 17:18:58 -0700</bug_when>
    <thetext>And we need to skip the cookies-test-(post|pre).js files when running the make-js-test-wrappers script:

     for my $file (@files) {
         next if $file =~ /js-test-.*\.js$/;
+        next if $file =~ /cookies-test-(post|pre)\.js$/;
         next if $file =~ /standalone-.*\.js$/;
         next if $file =~ /SVGTestCase\.js/;
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121800</commentid>
    <comment_count>8</comment_count>
      <attachid>30448</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-05-18 10:07:44 -0700</bug_when>
    <thetext>Created attachment 30448
Minor changes after testing on Tiger

This patch applies on top of the original (plus the changes in Comment# 6 and Comment #7).

After testing the patch on my Tiger system at home, I realized that Tiger can&apos;t clear cookies by setting Max-Age=0, so I made the following changes:

- Split simple-cookies.html into simple-cookies-max-age.html and multiple-cookies.html.
- Added http/tests/cookies/simple-cookies-max-age.html to the platform/mac-tiger/Skipped list.
- Created simple-cookies-expired.html based on simple-cookies-max-age.html.
- Changed clearCookies.cgi to set both Max-Age=0 and Expires=&lt;UNIX epoch start date&gt; when expiring a cookie.
- Added a clearAllCookies() method to cookies-test-pre.js and added it to the top of each cookie test.
- Fixed a warning in getCookies.cgi.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121855</commentid>
    <comment_count>9</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-05-18 21:54:22 -0700</bug_when>
    <thetext>$ git svn dcommit
Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	LayoutTests/ChangeLog
	A	LayoutTests/http/tests/cookies/multiple-cookies-expected.txt
	A	LayoutTests/http/tests/cookies/multiple-cookies.html
	A	LayoutTests/http/tests/cookies/resources/TEMPLATE.html
	A	LayoutTests/http/tests/cookies/resources/clearCookies.cgi
	A	LayoutTests/http/tests/cookies/resources/cookies-test-post.js
	A	LayoutTests/http/tests/cookies/resources/cookies-test-pre.js
	A	LayoutTests/http/tests/cookies/resources/cookies-test-style.css
	A	LayoutTests/http/tests/cookies/resources/getCookies.cgi
	A	LayoutTests/http/tests/cookies/resources/multiple-cookies.js
	A	LayoutTests/http/tests/cookies/resources/setCookies.cgi
	A	LayoutTests/http/tests/cookies/resources/simple-cookies-expired.js
	A	LayoutTests/http/tests/cookies/resources/simple-cookies-max-age.js
	A	LayoutTests/http/tests/cookies/simple-cookies-expired-expected.txt
	A	LayoutTests/http/tests/cookies/simple-cookies-expired.html
	A	LayoutTests/http/tests/cookies/simple-cookies-max-age-expected.txt
	A	LayoutTests/http/tests/cookies/simple-cookies-max-age.html
	M	LayoutTests/platform/mac-tiger/Skipped
	M	WebKitTools/ChangeLog
	M	WebKitTools/Scripts/make-js-test-wrappers
Committed r43851

http://trac.webkit.org/changeset/43851
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121858</commentid>
    <comment_count>10</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2009-05-18 22:18:13 -0700</bug_when>
    <thetext>Had to add http/tests/cookies/simple-cookies-expired.html to the Skipped list file for Windows (see Bug 25861):

$ git svn dcommit
Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	LayoutTests/ChangeLog
	M	LayoutTests/platform/win/Skipped
Committed r43853

http://trac.webkit.org/changeset/43853
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514117</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-12-02 14:04:52 -0800</bug_when>
    <thetext>http/tests/cookies/simple-cookies-expired.html is flaky.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28573</attachid>
            <date>2009-03-13 03:56:03 -0700</date>
            <delta_ts>2009-05-09 14:26:35 -0700</delta_ts>
            <desc>First try: includes some basic testing</desc>
            <filename>bug24569-cookieFramework.diff</filename>
            <type>text/plain</type>
            <size>17331</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDQxNjYzKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMzQgQEAKKzIwMDktMDMtMTMgIEp1bGllbiBDaGFmZnJhaXgg
IDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQnVnIDI0NTY5OiBBZGQgc29tZSBjb29raWVzIHRlc3RzCisKKyAg
ICAgICAgVGhpcyBtb2RpZmljYXRpb24gYWRkcyBhIGNvb2tpZSBmcmFtZXdvcmsgdG8gY2hlY2sg
c2V0dGluZyBjb29raWVzLgorICAgICAgICBJdCBpcyBhIHNpbXBsZSBtb2RpZmljYXRpb24gb3Zl
ciB0aGUganMgdGVzdCBmcmFtZXdvcmsuIEl0IHVzZXMgc29tZSBYSFJzIGFuZCBjdXN0b20gc2Vy
dmVyLXNpZGUgc2NyaXB0CisgICAgICAgIHRvIHNldCAvIGdldCAvIGNsZWFyIGNvb2tpZXMuCisK
KyAgICAgICAgSXQgYWxzbyBhZGRzIHNvbWUgdmVyeSBiYXNpYyB0ZXN0cyB0byBjaGVjayB0aGF0
IGV2ZXJ5dGhpbmcgd29ya3MuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXM6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXM6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvVEVNUExBVEUuaHRtbDogQ29waWVkIGZy
b20gTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvVEVNUExBVEUuaHRtbC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2NsZWFyQ29va2llcy5jZ2k6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvY29va2llcy10ZXN0LXBvc3Qu
anM6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcy4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZXMtdGVz
dC1wcmUuanM6IENvcGllZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzLgorICAgICAgICAoc2V0Q29va2llcyk6IEludGVybmFsIG1ldGhvZCB0byBzZXQg
YSBjb29raWUgKG11bHRpcGxlIGNvb2tpZXMgYXJlIG5vdCBzdXBwb3J0ZWQpLgorICAgICAgICAo
dGVzdENvb2tpZXMpOiBJbnRlcm5hbCBtZXRob2QgdG8gY2hlY2sgaWYgdGhlIGNvb2tpZSB3ZXJl
IHNldC4KKworICAgICAgICAoY2xlYXJDb29raWVzKTogVXNlZCB0byBjbGVhciB0aGUgY29va2ll
cyBzZXQgd2l0aCBjb29raWVzU2hvdWxkQmUuCisgICAgICAgIChjb29raWVzU2hvdWxkQmUpOiBV
c2VkIHRvIHNldCBhIGNvb2tpZSBhbmQgY2hlY2sgdGhlICJDb29raWUiIGhlYWRlciBzZW50LiBJ
dCBpcyBpbnNwaXJlZCBmcm9tIHNob3VsZEJlIGZyb20gdGhlIGpzIHRlc3QgZnJhbWV3b3JrLgor
CisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9jb29raWVzLXRlc3Qtc3R5
bGUuY3NzOiBDb3BpZWQgZnJvbSBMYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcy4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2dldENv
b2tpZXMuY2dpOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2Vz
L3NldENvb2tpZXMuY2dpOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVz
b3VyY2VzL3NpbXBsZS1jb29raWVzLmpzOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nv
b2tpZXMvc2ltcGxlLWNvb2tpZXMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9j
b29raWVzL3NpbXBsZS1jb29raWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMDktMDMtMTIg
IERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICAtIFNraXBwZWQgZmls
ZSBmaXgKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zaW1wbGUtY29va2ll
cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29r
aWVzL3NpbXBsZS1jb29raWVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY29va2llcy9zaW1wbGUtY29va2llcy1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMTcgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBjb29raWVzIGFy
ZSBjb3JyZWN0bHkgc2V0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworQ2hlY2sg
dGhhdCBzZXR0aW5nIGEgc2ltcGxlIGNvb2tpZSB3b3JrcworUEFTUyBjb29raWUgaXMgdGVzdD1m
b29iYXIKK0NoZWNrIHNldHRpbmcgYSBjb29raWUgdGhhdCB0aW1lZCBvdXQKK1BBU1MgY29va2ll
IGlzIAorQ2hlY2sgc2V0dGluZyBzZXZlcmFsIGNvb2tpZXMgd2l0aG91dCBjbGVhcmluZworUEFT
UyBjb29raWUgaXMgdGVzdD1mb29iYXIKK1BBU1MgY29va2llIGlzIHRlc3Q9Zm9vYmFyOyB0ZXN0
Mj1mb29iYXIKK1BBU1MgY29va2llIGlzIHRlc3Q9Zm9vYmFyOyB0ZXN0Mj1mb29iYXI7IHRlc3Qz
PWZvb2JhcgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zaW1wbGUtY29va2llcy5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9zaW1wbGUt
Y29va2llcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29r
aWVzL3NpbXBsZS1jb29raWVzLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9jb29raWVzLXRlc3Qt
c3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvY29va2llcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NpbXBsZS1jb29r
aWVzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvY29va2llcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9URU1QTEFURS5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvVEVNUExBVEUuaHRtbAkocmV2
aXNpb24gNDE2MjkpCShmcm9tIExheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL1RFTVBMQVRF
Lmh0bWw6NDE2MjkpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2Vz
L1RFTVBMQVRFLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBF
IEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0icmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4K
KzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdCBzcmM9IllPVVJfSlNfRklMRV9IRVJFIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvVEVNUExB
VEUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVz
b3VyY2VzL1RFTVBMQVRFLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2Nvb2tpZXMvcmVzb3VyY2VzL1RFTVBMQVRFLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEs
MTMgKzEsMTMgQEAKIDwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VO
Ij4KIDxodG1sPgogPGhlYWQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyI+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0icmVzb3VyY2VzL2Nv
b2tpZXMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9jb29raWVzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KIDxzY3JpcHQgc3JjPSJZT1VSX0pTX0ZJ
TEVfSEVSRSI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2Nvb2tpZXMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVz
dHMvY29va2llcy9yZXNvdXJjZXMvY2xlYXJDb29raWVzLmNnaQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2NsZWFyQ29va2llcy5jZ2kJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2Ns
ZWFyQ29va2llcy5jZ2kJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjcgQEAKKyMhL3Vzci9iaW4v
cGVybCAtd1QKK3VzZSBzdHJpY3Q7CisKK3ByaW50ICJDb250ZW50LVR5cGU6IHRleHQvcGxhaW5c
biI7CitwcmludCAiQ2FjaGUtQ29udHJvbDogbm8tc3RvcmVcbiI7CitwcmludCAnQ2FjaGUtQ29u
dHJvbDogbm8tY2FjaGU9InNldC1jb29raWUiJyAuICJcbiI7CisKK215ICRjb29raWUgPSAkRU5W
eyJIVFRQX0NMRUFSX0NPT0tJRSJ9OworIyBUd2VhayB0aGUgY29va2llIG9yIGFwcGVuZCBhIE1h
eC1BZ2Ugb2YgMCB0byB0aGUgY29va2llIHRvIGhhdmUgaXQgcmVtb3ZlZC4KK215ICRoYW5kbGVk
ID0gMDsKK2lmICgkY29va2llID1+IC9NYXgtQWdlLykgeworICAgICRjb29raWUgPX4gcy9NYXgt
QWdlICo9ICpbMC05XSsvTWF4LUFnZT0wLzsKKyAgICAkaGFuZGxlZCA9IDE7Cit9IAoraWYgKCRj
b29raWUgPX4gL0V4cGlyZXMvKSB7CisgICAgIyBTZXQgdGhlICJFeHBpcmVzIiBmaWVsZCB0byBV
TklYIGVwb2NoCisgICAgJGNvb2tpZSA9fiBzL0V4cGlyZXMgKj0gKlteO10rL0V4cGlyZXM9VGh1
IEphbiAwMSAxOTcwIDAwOjAwOjAwIEdNVC87CisgICAgJGhhbmRsZWQgPSAxOworfSAKKworaWYg
KCEkaGFuZGxlZCkgeworICAgICRjb29raWUgLj0gIjsiIHVubGVzcyAoJGNvb2tpZSA9fiBtLzsk
Lyk7CisgICAgJGNvb2tpZSAuPSAiICIgdW5sZXNzICgkY29va2llID1+IG0vICQvKTsKKyAgICAk
Y29va2llIC49ICJNYXgtQWdlPTAiOworfQorCitwcmludCAiU2V0LUNvb2tpZTogJGNvb2tpZVxu
XG4iOwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVz
L3Jlc291cmNlcy9jbGVhckNvb2tpZXMuY2dpCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRh
YmxlCiAgICsgKgoKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJj
ZXMvY29va2llcy10ZXN0LXBvc3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jb29raWVzL3Jlc291cmNlcy9jb29raWVzLXRlc3QtcG9zdC5qcwkocmV2aXNpb24gNDE2
MjkpCShmcm9tIExheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qczo0
MTYyOSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvY29va2ll
cy10ZXN0LXBvc3QuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyIEBACitzaG91bGRCZVRy
dWUoInN1Y2Nlc3NmdWxseVBhcnNlZCIpOworZGVidWcoJzxiciAvPjxzcGFuIGNsYXNzPSJwYXNz
Ij5URVNUIENPTVBMRVRFPC9zcGFuPicpOwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
b29raWVzL3Jlc291cmNlcy9jb29raWVzLXRlc3QtcG9zdC5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZXMtdGVzdC1wb3N0Lmpz
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNl
cy9jb29raWVzLXRlc3QtcG9zdC5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwyICsxLDUgQEAKIHNo
b3VsZEJlVHJ1ZSgic3VjY2Vzc2Z1bGx5UGFyc2VkIik7CiBkZWJ1ZygnPGJyIC8+PHNwYW4gY2xh
c3M9InBhc3MiPlRFU1QgQ09NUExFVEU8L3NwYW4+Jyk7CisKKy8vIE1ha2Ugc3VyZSB0aGF0IHdl
IGRvIG5vdCBsZWFrIGFueSBjb29raWVzLgorY2xlYXJDb29raWVzKCk7CkluZGV4OiBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZXMtdGVzdC1wcmUuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9jb29r
aWVzLXRlc3QtcHJlLmpzCShyZXZpc2lvbiA0MTYyOSkJKGZyb20gTGF5b3V0VGVzdHMvZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanM6NDE2MjkpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZXMtdGVzdC1wcmUuanMJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwxNTEgQEAKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCitmdW5jdGlvbiBkZXNjcmlwdGlv
bihtc2cpCit7CisgICAgLy8gRm9yIE1TSUUgNiBjb21wYXRpYmlsaXR5CisgICAgdmFyIHNwYW4g
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CisgICAgc3Bhbi5pbm5lckhUTUwgPSAn
PHA+JyArIG1zZyArICc8L3A+PHA+T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICI8c3BhbiBjbGFzcz0icGFzcyI+UEFTUzwvc3Bhbj4iIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
PHNwYW4gY2xhc3M9InBhc3MiPlRFU1QgQ09NUExFVEU8L3NwYW4+Ii48L3A+JzsKKyAgICB2YXIg
ZGVzY3JpcHRpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZGVzY3JpcHRpb24iKTsKKyAg
ICBpZiAoZGVzY3JpcHRpb24uZmlyc3RDaGlsZCkKKyAgICAgICAgZGVzY3JpcHRpb24ucmVwbGFj
ZUNoaWxkKHNwYW4sIGRlc2NyaXB0aW9uLmZpcnN0Q2hpbGQpOworICAgIGVsc2UKKyAgICAgICAg
ZGVzY3JpcHRpb24uYXBwZW5kQ2hpbGQoc3Bhbik7Cit9CisKK2Z1bmN0aW9uIGRlYnVnKG1zZykK
K3sKKyAgICB2YXIgc3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKKyAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmFwcGVuZENoaWxkKHNwYW4pOyAvLyBp
bnNlcnQgaXQgZmlyc3Qgc28gWEhUTUwga25vd3MgdGhlIG5hbWVzcGFjZQorICAgIHNwYW4uaW5u
ZXJIVE1MID0gbXNnICsgJzxiciAvPic7Cit9CisKK2Z1bmN0aW9uIGVzY2FwZUhUTUwodGV4dCkK
K3sKKyAgICByZXR1cm4gdGV4dC5yZXBsYWNlKC8mL2csICImYW1wOyIpLnJlcGxhY2UoLzwvZywg
IiZsdDsiKTsKK30KKworZnVuY3Rpb24gdGVzdFBhc3NlZChtc2cpCit7CisgICAgZGVidWcoJzxz
cGFuPjxzcGFuIGNsYXNzPSJwYXNzIj5QQVNTPC9zcGFuPiAnICsgZXNjYXBlSFRNTChtc2cpICsg
Jzwvc3Bhbj4nKTsKK30KKworZnVuY3Rpb24gdGVzdEZhaWxlZChtc2cpCit7CisgICAgZGVidWco
JzxzcGFuPjxzcGFuIGNsYXNzPSJmYWlsIj5GQUlMPC9zcGFuPiAnICsgZXNjYXBlSFRNTChtc2cp
ICsgJzwvc3Bhbj4nKTsKK30KKworZnVuY3Rpb24gYXJlQXJyYXlzRXF1YWwoX2EsIF9iKQorewor
ICAgIGlmIChfYS5sZW5ndGggIT09IF9iLmxlbmd0aCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgX2EubGVuZ3RoOyBpKyspCisgICAgICAgIGlmIChfYVtp
XSAhPT0gX2JbaV0pCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHRydWU7
Cit9CisKK2Z1bmN0aW9uIGlzTWludXNaZXJvKG4pCit7CisgICAgLy8gdGhlIG9ubHkgd2F5IHRv
IHRlbGwgMCBmcm9tIC0wIGluIEpTIGlzIHRoZSBmYWN0IHRoYXQgMS8tMCBpcworICAgIC8vIC1J
bmZpbml0eSBpbnN0ZWFkIG9mIEluZmluaXR5CisgICAgcmV0dXJuIG4gPT09IDAgJiYgMS9uIDwg
MDsKK30KKworZnVuY3Rpb24gaXNSZXN1bHRDb3JyZWN0KF9hY3R1YWwsIF9leHBlY3RlZCkKK3sK
KyAgICBpZiAoX2V4cGVjdGVkID09PSAwKQorICAgICAgICByZXR1cm4gX2FjdHVhbCA9PT0gX2V4
cGVjdGVkICYmICgxL19hY3R1YWwpID09PSAoMS9fZXhwZWN0ZWQpOworICAgIGlmIChfYWN0dWFs
ID09PSBfZXhwZWN0ZWQpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIGlmICh0eXBlb2YoX2V4
cGVjdGVkKSA9PSAibnVtYmVyIiAmJiBpc05hTihfZXhwZWN0ZWQpKQorICAgICAgICByZXR1cm4g
dHlwZW9mKF9hY3R1YWwpID09ICJudW1iZXIiICYmIGlzTmFOKF9hY3R1YWwpOworICAgIGlmIChP
YmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoX2V4cGVjdGVkKSA9PSBPYmplY3QucHJvdG90
eXBlLnRvU3RyaW5nLmNhbGwoW10pKQorICAgICAgICByZXR1cm4gYXJlQXJyYXlzRXF1YWwoX2Fj
dHVhbCwgX2V4cGVjdGVkKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Z1bmN0aW9uIHN0cmlu
Z2lmeSh2KQoreworICAgIGlmICh2ID09PSAwICYmIDEvdiA8IDApCisgICAgICAgIHJldHVybiAi
LTAiOworICAgIGVsc2UgcmV0dXJuICIiICsgdjsKK30KKworZnVuY3Rpb24gc2hvdWxkQmUoX2Es
IF9iKQoreworICBpZiAodHlwZW9mIF9hICE9ICJzdHJpbmciIHx8IHR5cGVvZiBfYiAhPSAic3Ry
aW5nIikKKyAgICBkZWJ1ZygiV0FSTjogc2hvdWxkQmUoKSBleHBlY3RzIHN0cmluZyBhcmd1bWVu
dHMiKTsKKyAgdmFyIGV4Y2VwdGlvbjsKKyAgdmFyIF9hdjsKKyAgdHJ5IHsKKyAgICAgX2F2ID0g
ZXZhbChfYSk7CisgIH0gY2F0Y2ggKGUpIHsKKyAgICAgZXhjZXB0aW9uID0gZTsKKyAgfQorICB2
YXIgX2J2ID0gZXZhbChfYik7CisKKyAgaWYgKGV4Y2VwdGlvbikKKyAgICB0ZXN0RmFpbGVkKF9h
ICsgIiBzaG91bGQgYmUgIiArIF9idiArICIuIFRocmV3IGV4Y2VwdGlvbiAiICsgZXhjZXB0aW9u
KTsKKyAgZWxzZSBpZiAoaXNSZXN1bHRDb3JyZWN0KF9hdiwgX2J2KSkKKyAgICB0ZXN0UGFzc2Vk
KF9hICsgIiBpcyAiICsgX2IpOworICBlbHNlIGlmICh0eXBlb2YoX2F2KSA9PSB0eXBlb2YoX2J2
KSkKKyAgICB0ZXN0RmFpbGVkKF9hICsgIiBzaG91bGQgYmUgIiArIF9idiArICIuIFdhcyAiICsg
c3RyaW5naWZ5KF9hdikgKyAiLiIpOworICBlbHNlCisgICAgdGVzdEZhaWxlZChfYSArICIgc2hv
dWxkIGJlICIgKyBfYnYgKyAiIChvZiB0eXBlICIgKyB0eXBlb2YgX2J2ICsgIikuIFdhcyAiICsg
X2F2ICsgIiAob2YgdHlwZSAiICsgdHlwZW9mIF9hdiArICIpLiIpOworfQorCitmdW5jdGlvbiBz
aG91bGRCZVRydWUoX2EpIHsgc2hvdWxkQmUoX2EsICJ0cnVlIik7IH0KK2Z1bmN0aW9uIHNob3Vs
ZEJlRmFsc2UoX2EpIHsgc2hvdWxkQmUoX2EsICJmYWxzZSIpOyB9CitmdW5jdGlvbiBzaG91bGRC
ZU5hTihfYSkgeyBzaG91bGRCZShfYSwgIk5hTiIpOyB9CitmdW5jdGlvbiBzaG91bGRCZU51bGwo
X2EpIHsgc2hvdWxkQmUoX2EsICJudWxsIik7IH0KKworZnVuY3Rpb24gc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKGEsIGIpCit7CisgIHZhciB1bmV2YWxlZFN0cmluZyA9ICciJyArIGIucmVwbGFjZSgv
Ii9nLCAiXCIiKSArICciJzsKKyAgc2hvdWxkQmUoYSwgdW5ldmFsZWRTdHJpbmcpOworfQorCitm
dW5jdGlvbiBzaG91bGRCZVVuZGVmaW5lZChfYSkKK3sKKyAgdmFyIGV4Y2VwdGlvbjsKKyAgdmFy
IF9hdjsKKyAgdHJ5IHsKKyAgICAgX2F2ID0gZXZhbChfYSk7CisgIH0gY2F0Y2ggKGUpIHsKKyAg
ICAgZXhjZXB0aW9uID0gZTsKKyAgfQorCisgIGlmIChleGNlcHRpb24pCisgICAgdGVzdEZhaWxl
ZChfYSArICIgc2hvdWxkIGJlIHVuZGVmaW5lZC4gVGhyZXcgZXhjZXB0aW9uICIgKyBleGNlcHRp
b24pOworICBlbHNlIGlmICh0eXBlb2YgX2F2ID09ICJ1bmRlZmluZWQiKQorICAgIHRlc3RQYXNz
ZWQoX2EgKyAiIGlzIHVuZGVmaW5lZC4iKTsKKyAgZWxzZQorICAgIHRlc3RGYWlsZWQoX2EgKyAi
IHNob3VsZCBiZSB1bmRlZmluZWQuIFdhcyAiICsgX2F2KTsKK30KKworCitmdW5jdGlvbiBzaG91
bGRUaHJvdyhfYSwgX2UpCit7CisgIHZhciBleGNlcHRpb247CisgIHZhciBfYXY7CisgIHRyeSB7
CisgICAgIF9hdiA9IGV2YWwoX2EpOworICB9IGNhdGNoIChlKSB7CisgICAgIGV4Y2VwdGlvbiA9
IGU7CisgIH0KKworICB2YXIgX2V2OworICBpZiAoX2UpCisgICAgICBfZXYgPSAgZXZhbChfZSk7
CisKKyAgaWYgKGV4Y2VwdGlvbikgeworICAgIGlmICh0eXBlb2YgX2UgPT0gInVuZGVmaW5lZCIg
fHwgZXhjZXB0aW9uID09IF9ldikKKyAgICAgIHRlc3RQYXNzZWQoX2EgKyAiIHRocmV3IGV4Y2Vw
dGlvbiAiICsgZXhjZXB0aW9uICsgIi4iKTsKKyAgICBlbHNlCisgICAgICB0ZXN0RmFpbGVkKF9h
ICsgIiBzaG91bGQgdGhyb3cgIiArICh0eXBlb2YgX2UgPT0gInVuZGVmaW5lZCIgPyAiYW4gZXhj
ZXB0aW9uIiA6IF9ldikgKyAiLiBUaHJldyBleGNlcHRpb24gIiArIGV4Y2VwdGlvbiArICIuIik7
CisgIH0gZWxzZSBpZiAodHlwZW9mIF9hdiA9PSAidW5kZWZpbmVkIikKKyAgICB0ZXN0RmFpbGVk
KF9hICsgIiBzaG91bGQgdGhyb3cgIiArICh0eXBlb2YgX2UgPT0gInVuZGVmaW5lZCIgPyAiYW4g
ZXhjZXB0aW9uIiA6IF9ldikgKyAiLiBXYXMgdW5kZWZpbmVkLiIpOworICBlbHNlCisgICAgdGVz
dEZhaWxlZChfYSArICIgc2hvdWxkIHRocm93ICIgKyAodHlwZW9mIF9lID09ICJ1bmRlZmluZWQi
ID8gImFuIGV4Y2VwdGlvbiIgOiBfZXYpICsgIi4gV2FzICIgKyBfYXYgKyAiLiIpOworfQpJbmRl
eDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9jb29raWVzLXRlc3Qt
cHJlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNv
dXJjZXMvY29va2llcy10ZXN0LXByZS5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvY29va2llcy10ZXN0LXByZS5qcwkod29ya2luZyBj
b3B5KQpAQCAtMTQ5LDMgKzE0OSw3MCBAQCBmdW5jdGlvbiBzaG91bGRUaHJvdyhfYSwgX2UpCiAg
IGVsc2UKICAgICB0ZXN0RmFpbGVkKF9hICsgIiBzaG91bGQgdGhyb3cgIiArICh0eXBlb2YgX2Ug
PT0gInVuZGVmaW5lZCIgPyAiYW4gZXhjZXB0aW9uIiA6IF9ldikgKyAiLiBXYXMgIiArIF9hdiAr
ICIuIik7CiB9CisKK3ZhciBjb29raWVzID0gbmV3IEFycmF5KCk7CisKKy8vIFRoaXMgbWV0aG9k
IHNldHMgdGhlIGNvb2tpZXMgdXNpbmcgWE1MSHR0cFJlcXVlc3QuCisvLyBXZSBkbyBub3Qgc2V0
IHRoZSBjb29raWUgcmlnaHQgYXdheSBhcyBpdCBpcyBmb3JiaWRkZW4gYnkgdGhlIFhIUiBzcGVj
LgorLy8gRklYTUU6IEFkZCB0aGUgcG9zc2liaWxpdHkgdG8gc2V0IG11bHRpcGxlIGNvb2tpZXMg
aW4gYSByb3cuCitmdW5jdGlvbiBzZXRDb29raWVzKGNvb2tpZSkKK3sKKyAgICB0cnkgeworICAg
ICAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CisgICAgICAgIHhoci5vcGVuKCJH
RVQiLCAicmVzb3VyY2VzL3NldENvb2tpZXMuY2dpIiwgZmFsc2UpOworICAgICAgICB4aHIuc2V0
UmVxdWVzdEhlYWRlcigiU0VUX0NPT0tJRSIsIGNvb2tpZSk7CisgICAgICAgIHhoci5zZW5kKG51
bGwpOworICAgICAgICBpZiAoeGhyLnN0YXR1cyA9PSAyMDApIHsKKyAgICAgICAgICAgIC8vIFRo
aXMgaXMgdG8gY2xlYXIgdGhlbSBsYXRlci4KKyAgICAgICAgICAgIGNvb2tpZXMucHVzaChjb29r
aWUpOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0gZWxzZQorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIH0KK30KKworLy8gV2UgZ2V0IHRoZSBjb29raWVzIHRocm91Z2h0IGFuIFhNTEh0dHBS
ZXF1ZXN0LgorZnVuY3Rpb24gdGVzdENvb2tpZXMocmVzdWx0KQoreworICAgIHZhciB4aHIgPSBu
ZXcgWE1MSHR0cFJlcXVlc3QoKTsKKyAgICB4aHIub3BlbigiR0VUIiwgInJlc291cmNlcy9nZXRD
b29raWVzLmNnaSIsIGZhbHNlKTsKKyAgICB4aHIuc2VuZChudWxsKTsKKyAgICB2YXIgY29va2ll
ID0geGhyLmdldFJlc3BvbnNlSGVhZGVyKCJIVFRQX0NPT0tJRSIpID09IG51bGwgPyAnIm51bGwi
JyA6IHhoci5nZXRSZXNwb25zZUhlYWRlcigiSFRUUF9DT09LSUUiKTsKKyAgICBpZiAoY29va2ll
ID09PSByZXN1bHQpCisgICAgICAgIHRlc3RQYXNzZWQoImNvb2tpZSBpcyAiICsgY29va2llKTsK
KyAgICBlbHNlCisgICAgICAgIHRlc3RGYWlsZWQoImNvb2tpZSB3YXMgIiArIGNvb2tpZSArICIu
IEV4cGVjdGVkICIgKyByZXN1bHQpOworfQorCitmdW5jdGlvbiBjbGVhckNvb2tpZXMoKQorewor
ICAgIGlmICghY29va2llcy5sZW5ndGgpCisgICAgICAgIHJldHVybjsKKworICAgIHRyeSB7Cisg
ICAgICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKyAgICAgICAgdmFyIGNvb2tp
ZTsKKyAgICAgICAgLy8gV2UgbmVlZCB0byBjbGVhbiBvbmUgY29va2llIGF0IGEgdGltZSBiZWNh
dXNlIHRvIGJlIGNsZWFyZWQgdGhlCisgICAgICAgIC8vIGNvb2tpZSBtdXN0IGJlIGV4YWN0bHkg
dGhlIHNhbWUgZXhjZXB0IGZvciB0aGUgIk1heC1BZ2UiCisgICAgICAgIC8vIGFuZCAiRXhwaXJl
cyIgZmllbGRzLgorICAgICAgICB3aGlsZSAoY29va2llID0gY29va2llcy5wb3AoKSkgeworICAg
ICAgICAgICAgeGhyLm9wZW4oIkdFVCIsICJyZXNvdXJjZXMvY2xlYXJDb29raWVzLmNnaSIsIGZh
bHNlKTsKKyAgICAgICAgICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCJDTEVBUl9DT09LSUUiLCBj
b29raWUpOworICAgICAgICAgICAgeGhyLnNlbmQobnVsbCk7CisgICAgICAgIH0KKyAgICB9IGNh
dGNoIChlKSB7CisgICAgICAgIGRlYnVnKCJDb3VsZCBub3QgY2xlYXIgdGhlIGNvb2tpZXMgZXhw
ZWN0IHRoZSBmb2xsb3dpbmcgcmVzdWx0cyB0byBmYWlsIik7CisgICAgfQorfQorCisvLyBUaGlz
IG1ldGhvZCBjaGVjayBvbmUgY29va2llIGF0IGEgdGltZS4KK2Z1bmN0aW9uIGNvb2tpZXNTaG91
bGRCZShjb29raWVzVG9TZXQsIHJlc3VsdCkKK3sKKyAgICBpZiAoIXNldENvb2tpZXMoY29va2ll
c1RvU2V0KSkgeworICAgICAgICB0ZXN0RmFpbGVkKCJjb3VsZCBub3Qgc2V0IGNvb2tpZShzKSAi
ICsgY29va2llc1RvU2V0KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICB0ZXN0Q29va2ll
cyhyZXN1bHQpOworfQpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291
cmNlcy9jb29raWVzLXRlc3Qtc3R5bGUuY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvY29va2llcy10ZXN0LXN0eWxlLmNzcwkocmV2aXNp
b24gNDE2MjkpCShmcm9tIExheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5
bGUuY3NzOjQxNjI5KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNl
cy9jb29raWVzLXRlc3Qtc3R5bGUuY3NzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTIgQEAK
Ky5wYXNzIHsKKyAgICBmb250LXdlaWdodDogYm9sZDsKKyAgICBjb2xvcjogZ3JlZW47Cit9Cisu
ZmFpbCB7CisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CisgICAgY29sb3I6IHJlZDsKK30KKyNjb25z
b2xlIHsKKyAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7CisgICAgZm9udC1mYW1pbHk6IG1vbm9z
cGFjZTsKK30KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMv
Z2V0Q29va2llcy5jZ2kKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29r
aWVzL3Jlc291cmNlcy9nZXRDb29raWVzLmNnaQkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvZ2V0Q29va2llcy5jZ2kJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsOCBAQAorIyEvdXNyL2Jpbi9wZXJsIC13VAordXNlIHN0cmljdDsKKworcHJp
bnQgIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpblxuIjsKK3ByaW50ICJDYWNoZS1Db250cm9sOiBu
by1zdG9yZVxuIjsKK3ByaW50ICdDYWNoZS1Db250cm9sOiBuby1jYWNoZT0ic2V0LWNvb2tpZSIn
IC4gIlxuIjsKKworcHJpbnQgIkhUVFBfQ09PS0lFOiAiIC4gJEVOVntIVFRQX0NPT0tJRX0gLiAi
XG5cbiI7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tp
ZXMvcmVzb3VyY2VzL2dldENvb2tpZXMuY2dpCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjpleGVjdXRh
YmxlCiAgICsgKgoKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJj
ZXMvc2V0Q29va2llcy5jZ2kKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
b29raWVzL3Jlc291cmNlcy9zZXRDb29raWVzLmNnaQkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2V0Q29va2llcy5jZ2kJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsOSBAQAorIyEvdXNyL2Jpbi9wZXJsIC13VAordXNlIHN0cmljdDsKKwor
cHJpbnQgIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpblxuIjsKK3ByaW50ICJDYWNoZS1Db250cm9s
OiBuby1zdG9yZVxuIjsKK3ByaW50ICdDYWNoZS1Db250cm9sOiBuby1jYWNoZT0ic2V0LWNvb2tp
ZSInIC4gIlxuIjsKKworIyBXZSBvbmx5IG1hcCB0aGUgU0VUX0NPT0tJRSByZXF1ZXN0IGhlYWRl
ciB0byAiU2V0LUNvb2tpZSIKK3ByaW50ICJTZXQtQ29va2llOiAiIC4gJEVOVnsiSFRUUF9TRVRf
Q09PS0lFIn0gLiAiXG5cbiI7CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NldENvb2tpZXMuY2dpCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjpleGVjdXRhYmxlCiAgICsgKgoKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29v
a2llcy9yZXNvdXJjZXMvc2ltcGxlLWNvb2tpZXMuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zaW1wbGUtY29va2llcy5qcwkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2ltcGxl
LWNvb2tpZXMuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTcgQEAKK2Rlc2NyaXB0aW9uKAor
IlRoaXMgdGVzdCBjaGVja3MgdGhhdCBjb29raWVzIGFyZSBjb3JyZWN0bHkgc2V0LiIKKyk7CisK
K2RlYnVnKCJDaGVjayB0aGF0IHNldHRpbmcgYSBzaW1wbGUgY29va2llIHdvcmtzIik7Citjb29r
aWVzU2hvdWxkQmUoInRlc3Q9Zm9vYmFyOyBNYXgtQWdlPTkwMDAwMDAwIiwgInRlc3Q9Zm9vYmFy
Iik7CitjbGVhckNvb2tpZXMoKTsKKworZGVidWcoIkNoZWNrIHNldHRpbmcgYSBjb29raWUgdGhh
dCB0aW1lZCBvdXQiKTsKK2Nvb2tpZXNTaG91bGRCZSgidGVzdDI9Zm9vYmFyOyBNYXgtQWdlPTAi
LCAiIik7CisKK2RlYnVnKCJDaGVjayBzZXR0aW5nIHNldmVyYWwgY29va2llcyB3aXRob3V0IGNs
ZWFyaW5nIik7Citjb29raWVzU2hvdWxkQmUoInRlc3Q9Zm9vYmFyOyIsICJ0ZXN0PWZvb2JhciIp
OworY29va2llc1Nob3VsZEJlKCJ0ZXN0Mj1mb29iYXI7IiwgInRlc3Q9Zm9vYmFyOyB0ZXN0Mj1m
b29iYXIiKTsKK2Nvb2tpZXNTaG91bGRCZSgidGVzdDM9Zm9vYmFyOyIsICJ0ZXN0PWZvb2Jhcjsg
dGVzdDI9Zm9vYmFyOyB0ZXN0Mz1mb29iYXIiKTsKKworc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsK
</data>
<flag name="review"
          id="14057"
          type_id="1"
          status="+"
          setter="ddkilzer"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30448</attachid>
            <date>2009-05-18 10:07:44 -0700</date>
            <delta_ts>2009-05-18 10:07:44 -0700</delta_ts>
            <desc>Minor changes after testing on Tiger</desc>
            <filename>0001--Part-2-Bug-24569-Add-some-cookies-tests.patch</filename>
            <type>text/plain</type>
            <size>17338</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">RnJvbSA0YzczMjNlOWE1ZjQ4ZDQyMDNkMDdmOGRjZDc1ODQ3NDMyMmRlNjIxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBELiBLaWx6ZXIgPGRka2lsemVyQHdlYmtpdC5vcmc+
CkRhdGU6IE1vbiwgMTggTWF5IDIwMDkgMTA6MDA6MTggLTA3MDAKU3ViamVjdDogW1BBVENIXSAg
ICAgICAgIFBhcnQgMjogQnVnIDI0NTY5OiBBZGQgc29tZSBjb29raWVzIHRlc3RzCgogICAgICAg
IDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQ1Njk+CgogICAgICAg
IFJlbmFtZWQgc2ltcGxlLWNvb2tpZXMuaHRtbCB0byBzaW1wbGUtY29va2llcy1tYXgtYWdlLmh0
bWwgKHNvCiAgICAgICAgaXQgY291bGQgYmUgc2tpcHBlZCBvbiBUaWdlcikgYW5kIGV4dHJhY3Rl
ZAogICAgICAgIG11bHRpcGxlLWNvb2tpZXMuaHRtbCBmcm9tIHNpbXBsZS1jb29raWVzLmh0bWwu
ICBBZGRlZAogICAgICAgIHNpbXBsZS1jb29raWVzLWV4cGlyZWQuaHRtbC4KCiAgICAgICAgKiBo
dHRwL3Rlc3RzL2Nvb2tpZXMvbXVsdGlwbGUtY29va2llcy1leHBlY3RlZC50eHQ6IEFkZGVkLgog
ICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL211bHRpcGxlLWNvb2tpZXMuaHRtbDogQWRkZWQu
CiAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2NsZWFyQ29va2llcy5jZ2k6
IFNldCBib3RoCiAgICAgICAgTWF4LUFnZSBhbmQgRXhwaXJlcyB2YWx1ZXMgd2hlbiBleHBpcmlu
ZyBhIGNvb2tpZS4KICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvY29va2ll
cy10ZXN0LXByZS5qczoKICAgICAgICAodGVzdENvb2tpZXMpOiBBZGRlZCBwZXJpb2RzIHRvIHN0
YXRlbWVudHMuCiAgICAgICAgKGNsZWFyQWxsQ29va2llcyk6IEFkZGVkLgogICAgICAgICogaHR0
cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9nZXRDb29raWVzLmNnaTogRml4IHdhcm5pbmc6CiAg
ICAgICAgIlVzZSBvZiB1bmluaXRpYWxpemVkIHZhbHVlIGluIGNvbmNhdGVuYXRpb24gKC4pIG9y
IHN0cmluZyIuCiAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL211bHRpcGxl
LWNvb2tpZXMuanM6IEFkZGVkLgogICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNl
cy9zaW1wbGUtY29va2llcy1leHBpcmVkLmpzOiBBZGRlZC4KICAgICAgICAqIGh0dHAvdGVzdHMv
Y29va2llcy9yZXNvdXJjZXMvc2ltcGxlLWNvb2tpZXMtbWF4LWFnZS5qczogQWRkZWQuCiAgICAg
ICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NpbXBsZS1jb29raWVzLmpzOiBSZW1v
dmVkLgogICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3NpbXBsZS1jb29raWVzLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9zaW1wbGUtY29va2ll
cy1leHBpcmVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCiAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tp
ZXMvc2ltcGxlLWNvb2tpZXMtZXhwaXJlZC5odG1sOiBBZGRlZC4KICAgICAgICAqIGh0dHAvdGVz
dHMvY29va2llcy9zaW1wbGUtY29va2llcy1tYXgtYWdlLWV4cGVjdGVkLnR4dDogQWRkZWQuCiAg
ICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2ltcGxlLWNvb2tpZXMtbWF4LWFnZS5odG1sOiBB
ZGRlZC4KICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9zaW1wbGUtY29va2llcy5odG1sOiBS
ZW1vdmVkLgogICAgICAgICogcGxhdGZvcm0vbWFjLXRpZ2VyL1NraXBwZWQ6IEFkZGVkCiAgICAg
ICAgaHR0cC90ZXN0cy9jb29raWVzL3NpbXBsZS1jb29raWVzLW1heC1hZ2UuaHRtbCBzaW5jZSBD
Rk5ldHdvcmsKICAgICAgICBvbiBUaWdlciBkb2Vzbid0IHN1cHBvcnQgZXhwaXJpbmcgY29va2ll
cyB3aXRoIE1heC1BZ2U9MC4KLS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB8ICAgMzQgKysrKysrKysrKysrKysrKysrKysKIC4uLi90ZXN0cy9j
b29raWVzL211bHRpcGxlLWNvb2tpZXMtZXhwZWN0ZWQudHh0ICAgIHwgICAxMyArKysrKysrCiAu
Li4ve3NpbXBsZS1jb29raWVzLmh0bWwgPT4gbXVsdGlwbGUtY29va2llcy5odG1sfSB8ICAgIDIg
Ky0KIC4uLi9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2NsZWFyQ29va2llcy5jZ2kgIHwg
ICAxNiArKysrKy0tLS0tCiAuLi4vdGVzdHMvY29va2llcy9yZXNvdXJjZXMvY29va2llcy10ZXN0
LXByZS5qcyAgICB8ICAgMTQgKysrKysrKy0KIC4uLi9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3Vy
Y2VzL2dldENvb2tpZXMuY2dpICAgIHwgICAgMiArLQogLi4uL3Rlc3RzL2Nvb2tpZXMvcmVzb3Vy
Y2VzL211bHRpcGxlLWNvb2tpZXMuanMgICAgfCAgIDEzICsrKysrKysKIC4uLi9jb29raWVzL3Jl
c291cmNlcy9zaW1wbGUtY29va2llcy1leHBpcmVkLmpzICAgIHwgICAxOCArKysrKysrKysrCiAu
Li4vY29va2llcy9yZXNvdXJjZXMvc2ltcGxlLWNvb2tpZXMtbWF4LWFnZS5qcyAgICB8ICAgMTUg
KysrKysrKysrCiAuLi4vaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zaW1wbGUtY29va2ll
cy5qcyB8ICAgMTcgLS0tLS0tLS0tLQogLi4uL2h0dHAvdGVzdHMvY29va2llcy9zaW1wbGUtY29v
a2llcy1leHBlY3RlZC50eHQgfCAgIDE3IC0tLS0tLS0tLS0KIC4uLi9jb29raWVzL3NpbXBsZS1j
b29raWVzLWV4cGlyZWQtZXhwZWN0ZWQudHh0ICAgIHwgICAxMyArKysrKysrCiAuLi5sZS1jb29r
aWVzLmh0bWwgPT4gc2ltcGxlLWNvb2tpZXMtZXhwaXJlZC5odG1sfSB8ICAgIDIgKy0KIC4uLi9j
b29raWVzL3NpbXBsZS1jb29raWVzLW1heC1hZ2UtZXhwZWN0ZWQudHh0ICAgIHwgICAxMyArKysr
KysrCiAuLi5sZS1jb29raWVzLmh0bWwgPT4gc2ltcGxlLWNvb2tpZXMtbWF4LWFnZS5odG1sfSB8
ICAgIDIgKy0KIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy10aWdlci9Ta2lwcGVkICAgICAgICAg
ICAgIHwgICAgNCArKwogMTYgZmlsZXMgY2hhbmdlZCwgMTQ3IGluc2VydGlvbnMoKyksIDQ4IGRl
bGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29v
a2llcy9tdWx0aXBsZS1jb29raWVzLWV4cGVjdGVkLnR4dAogY29weSBMYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2Nvb2tpZXMve3NpbXBsZS1jb29raWVzLmh0bWwgPT4gbXVsdGlwbGUtY29va2llcy5o
dG1sfSAoODUlKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29v
a2llcy9yZXNvdXJjZXMvbXVsdGlwbGUtY29va2llcy5qcwogY3JlYXRlIG1vZGUgMTAwNjQ0IExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2ltcGxlLWNvb2tpZXMtZXhw
aXJlZC5qcwogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2ll
cy9yZXNvdXJjZXMvc2ltcGxlLWNvb2tpZXMtbWF4LWFnZS5qcwogZGVsZXRlIG1vZGUgMTAwNjQ0
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2ltcGxlLWNvb2tpZXMu
anMKIGRlbGV0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2lt
cGxlLWNvb2tpZXMtZXhwZWN0ZWQudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9jb29raWVzL3NpbXBsZS1jb29raWVzLWV4cGlyZWQtZXhwZWN0ZWQudHh0CiBj
b3B5IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy97c2ltcGxlLWNvb2tpZXMuaHRtbCA9
PiBzaW1wbGUtY29va2llcy1leHBpcmVkLmh0bWx9ICg4NCUpCiBjcmVhdGUgbW9kZSAxMDA2NDQg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NpbXBsZS1jb29raWVzLW1heC1hZ2UtZXhw
ZWN0ZWQudHh0CiByZW5hbWUgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3tzaW1wbGUt
Y29va2llcy5odG1sID0+IHNpbXBsZS1jb29raWVzLW1heC1hZ2UuaHRtbH0gKDg0JSkKCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggNzc2MTNmNS4uNWY2YmY5YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDA5LTA1LTE4ICBE
YXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgUGFydCAyOiBCdWcg
MjQ1Njk6IEFkZCBzb21lIGNvb2tpZXMgdGVzdHMKKworICAgICAgICA8aHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0NTY5PgorCisgICAgICAgIFJlbmFtZWQgc2ltcGxl
LWNvb2tpZXMuaHRtbCB0byBzaW1wbGUtY29va2llcy1tYXgtYWdlLmh0bWwgKHNvCisgICAgICAg
IGl0IGNvdWxkIGJlIHNraXBwZWQgb24gVGlnZXIpIGFuZCBleHRyYWN0ZWQKKyAgICAgICAgbXVs
dGlwbGUtY29va2llcy5odG1sIGZyb20gc2ltcGxlLWNvb2tpZXMuaHRtbC4gIEFkZGVkCisgICAg
ICAgIHNpbXBsZS1jb29raWVzLWV4cGlyZWQuaHRtbC4KKworICAgICAgICAqIGh0dHAvdGVzdHMv
Y29va2llcy9tdWx0aXBsZS1jb29raWVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aHR0cC90ZXN0cy9jb29raWVzL211bHRpcGxlLWNvb2tpZXMuaHRtbDogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9jbGVhckNvb2tpZXMuY2dpOiBTZXQgYm90
aAorICAgICAgICBNYXgtQWdlIGFuZCBFeHBpcmVzIHZhbHVlcyB3aGVuIGV4cGlyaW5nIGEgY29v
a2llLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvY29va2llcy10ZXN0
LXByZS5qczoKKyAgICAgICAgKHRlc3RDb29raWVzKTogQWRkZWQgcGVyaW9kcyB0byBzdGF0ZW1l
bnRzLgorICAgICAgICAoY2xlYXJBbGxDb29raWVzKTogQWRkZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9jb29raWVzL3Jlc291cmNlcy9nZXRDb29raWVzLmNnaTogRml4IHdhcm5pbmc6CisgICAg
ICAgICJVc2Ugb2YgdW5pbml0aWFsaXplZCB2YWx1ZSBpbiBjb25jYXRlbmF0aW9uICguKSBvciBz
dHJpbmciLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvbXVsdGlwbGUt
Y29va2llcy5qczogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNl
cy9zaW1wbGUtY29va2llcy1leHBpcmVkLmpzOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2Nvb2tpZXMvcmVzb3VyY2VzL3NpbXBsZS1jb29raWVzLW1heC1hZ2UuanM6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2ltcGxlLWNvb2tpZXMuanM6IFJl
bW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3NpbXBsZS1jb29raWVzLWV4cGVj
dGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL2Nvb2tpZXMvc2ltcGxlLWNv
b2tpZXMtZXhwaXJlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMv
Y29va2llcy9zaW1wbGUtY29va2llcy1leHBpcmVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvY29va2llcy9zaW1wbGUtY29va2llcy1tYXgtYWdlLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3NpbXBsZS1jb29raWVzLW1heC1hZ2Uu
aHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jb29raWVzL3NpbXBsZS1jb29raWVz
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjLXRpZ2VyL1NraXBwZWQ6IEFk
ZGVkCisgICAgICAgIGh0dHAvdGVzdHMvY29va2llcy9zaW1wbGUtY29va2llcy1tYXgtYWdlLmh0
bWwgc2luY2UgQ0ZOZXR3b3JrCisgICAgICAgIG9uIFRpZ2VyIGRvZXNuJ3Qgc3VwcG9ydCBleHBp
cmluZyBjb29raWVzIHdpdGggTWF4LUFnZT0wLgorCiAyMDA5LTA1LTE4ICBKdWxpZW4gQ2hhZmZy
YWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmlk
IEtpbHplci4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9tdWx0
aXBsZS1jb29raWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2ll
cy9tdWx0aXBsZS1jb29raWVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5iYTY3NzI1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9jb29raWVzL211bHRpcGxlLWNvb2tpZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBtdWxpdHBsZSBjb29raWVzIGFyZSBjb3JyZWN0bHkg
c2V0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworQ2hlY2sgc2V0dGluZyBzZXZl
cmFsIGNvb2tpZXMgd2l0aG91dCBjbGVhcmluZy4KK1BBU1MgY29va2llIGlzICd0ZXN0PWZvb2Jh
cicuCitQQVNTIGNvb2tpZSBpcyAndGVzdD1mb29iYXI7IHRlc3QyPWZvb2JhcicuCitQQVNTIGNv
b2tpZSBpcyAndGVzdD1mb29iYXI7IHRlc3QyPWZvb2JhcjsgdGVzdDM9Zm9vYmFyJy4KK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2ltcGxlLWNvb2tpZXMuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9tdWx0aXBsZS1jb29raWVzLmh0bWwKc2ltaWxh
cml0eSBpbmRleCA4NSUKY29weSBmcm9tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9z
aW1wbGUtY29va2llcy5odG1sCmNvcHkgdG8gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVz
L211bHRpcGxlLWNvb2tpZXMuaHRtbAppbmRleCA5N2NiMmNhLi4wNWM1ZjFlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2ltcGxlLWNvb2tpZXMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvbXVsdGlwbGUtY29va2llcy5odG1sCkBA
IC03LDcgKzcsNyBAQAogPGJvZHk+CiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaW1wbGUtY29va2llcy5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL211bHRpcGxlLWNvb2tpZXMuanMi
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9InJlc291cmNlcy9jb29raWVzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2NsZWFyQ29va2llcy5jZ2kgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2NsZWFyQ29va2llcy5jZ2kKaW5kZXggMTEwNGEx
YS4uMjc4OTZiNyAxMDA3NTUKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jl
c291cmNlcy9jbGVhckNvb2tpZXMuY2dpCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY29v
a2llcy9yZXNvdXJjZXMvY2xlYXJDb29raWVzLmNnaQpAQCAtNiwyMiArNiwyMiBAQCBwcmludCAi
Q2FjaGUtQ29udHJvbDogbm8tc3RvcmVcbiI7CiBwcmludCAnQ2FjaGUtQ29udHJvbDogbm8tY2Fj
aGU9InNldC1jb29raWUiJyAuICJcbiI7CiAKIG15ICRjb29raWUgPSAkRU5WeyJIVFRQX0NMRUFS
X0NPT0tJRSJ9OwotIyBUd2VhayB0aGUgY29va2llIG9yIGFwcGVuZCBhIE1heC1BZ2Ugb2YgMCB0
byB0aGUgY29va2llIHRvIGhhdmUgaXQgcmVtb3ZlZC4KLW15ICRoYW5kbGVkID0gMDsKKwogaWYg
KCRjb29raWUgPX4gL01heC1BZ2UvaSkgewogICAgICRjb29raWUgPX4gcy9NYXgtQWdlICo9ICpb
MC05XSsvTWF4LUFnZT0wL2k7Ci0gICAgJGhhbmRsZWQgPSAxOworfSBlbHNlIHsKKyAgICAkY29v
a2llIC49ICI7IiB1bmxlc3MgKCRjb29raWUgPX4gbS87JC8pOworICAgICRjb29raWUgLj0gIiAi
IHVubGVzcyAoJGNvb2tpZSA9fiBtLyAkLyk7CisgICAgJGNvb2tpZSAuPSAiTWF4LUFnZT0wIjsK
IH0KKwogaWYgKCRjb29raWUgPX4gL0V4cGlyZXMvaSkgewogICAgICMgU2V0IHRoZSAiRXhwaXJl
cyIgZmllbGQgdG8gVU5JWCBlcG9jaAogICAgICRjb29raWUgPX4gcy9FeHBpcmVzICo9ICpbXjtd
Ky9FeHBpcmVzPVRodSwgMDEgSmFuIDE5NzAgMDA6MDA6MDAgR01UL2k7Ci0gICAgJGhhbmRsZWQg
PSAxOwotfQotCi1pZiAoISRoYW5kbGVkKSB7Cit9IGVsc2UgewogICAgICRjb29raWUgLj0gIjsi
IHVubGVzcyAoJGNvb2tpZSA9fiBtLzskLyk7CiAgICAgJGNvb2tpZSAuPSAiICIgdW5sZXNzICgk
Y29va2llID1+IG0vICQvKTsKLSAgICAkY29va2llIC49ICJNYXgtQWdlPTAiOworICAgICRjb29r
aWUgLj0gIkV4cGlyZXM9VGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMCBHTVQiOwogfQogCiBwcmlu
dCAiU2V0LUNvb2tpZTogJGNvb2tpZVxuXG4iOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9jb29raWVzLXRlc3QtcHJlLmpzIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9jb29raWVzLXRlc3QtcHJlLmpzCmluZGV4
IGMxN2ZjNTEuLmQzYmYwOWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY29v
a2llcy9yZXNvdXJjZXMvY29va2llcy10ZXN0LXByZS5qcworKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL2Nvb2tpZXMtdGVzdC1wcmUuanMKQEAgLTE4MSw5ICsx
ODEsMTkgQEAgZnVuY3Rpb24gdGVzdENvb2tpZXMocmVzdWx0KQogICAgIHhoci5zZW5kKG51bGwp
OwogICAgIHZhciBjb29raWUgPSB4aHIuZ2V0UmVzcG9uc2VIZWFkZXIoIkhUVFBfQ09PS0lFIikg
PT0gbnVsbCA/ICcibnVsbCInIDogeGhyLmdldFJlc3BvbnNlSGVhZGVyKCJIVFRQX0NPT0tJRSIp
OwogICAgIGlmIChjb29raWUgPT09IHJlc3VsdCkKLSAgICAgICAgdGVzdFBhc3NlZCgiY29va2ll
IGlzICIgKyBjb29raWUpOworICAgICAgICB0ZXN0UGFzc2VkKCJjb29raWUgaXMgJyIgKyBjb29r
aWUgKyAiJy4iKTsKICAgICBlbHNlCi0gICAgICAgIHRlc3RGYWlsZWQoImNvb2tpZSB3YXMgIiAr
IGNvb2tpZSArICIuIEV4cGVjdGVkICIgKyByZXN1bHQpOworICAgICAgICB0ZXN0RmFpbGVkKCJj
b29raWUgd2FzICciICsgY29va2llICsgIicuIEV4cGVjdGVkICciICsgcmVzdWx0ICsgIicuIik7
Cit9CisKK2Z1bmN0aW9uIGNsZWFyQWxsQ29va2llcygpCit7CisgICAgdmFyIGNvb2tpZVN0cmlu
ZzsKKyAgICB3aGlsZSAoY29va2llU3RyaW5nID0gZG9jdW1lbnQuY29va2llKSB7CisgICAgICAg
IHZhciBjb29raWVOYW1lID0gY29va2llU3RyaW5nLnN1YnN0cigwLCBjb29raWVTdHJpbmcuaW5k
ZXhPZigiPSIpIHx8IGNvb2tpZVN0cmluZy5sZW5ndGgoKSk7CisgICAgICAgIGNvb2tpZXMucHVz
aChjb29raWVOYW1lKTsKKyAgICAgICAgY2xlYXJDb29raWVzKCk7CisgICAgfQogfQogCiBmdW5j
dGlvbiBjbGVhckNvb2tpZXMoKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
b29raWVzL3Jlc291cmNlcy9nZXRDb29raWVzLmNnaSBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y29va2llcy9yZXNvdXJjZXMvZ2V0Q29va2llcy5jZ2kKaW5kZXggOTY1MmY5Yi4uYzQzNzdjMyAx
MDA3NTUKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9nZXRD
b29raWVzLmNnaQorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2Vz
L2dldENvb2tpZXMuY2dpCkBAIC01LDQgKzUsNCBAQCBwcmludCAiQ29udGVudC1UeXBlOiB0ZXh0
L3BsYWluXG4iOwogcHJpbnQgIkNhY2hlLUNvbnRyb2w6IG5vLXN0b3JlXG4iOwogcHJpbnQgJ0Nh
Y2hlLUNvbnRyb2w6IG5vLWNhY2hlPSJzZXQtY29va2llIicgLiAiXG4iOwogCi1wcmludCAiSFRU
UF9DT09LSUU6ICIgLiAkRU5We0hUVFBfQ09PS0lFfSAuICJcblxuIjsKK3ByaW50ICJIVFRQX0NP
T0tJRTogIiAuICgkRU5We0hUVFBfQ09PS0lFfSB8fCAiIikgLiAiXG5cbiI7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL211bHRpcGxlLWNvb2tp
ZXMuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL211bHRpcGxl
LWNvb2tpZXMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjE4ZTIyNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJj
ZXMvbXVsdGlwbGUtY29va2llcy5qcwpAQCAtMCwwICsxLDEzIEBACitkZXNjcmlwdGlvbigKKyJU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgbXVsaXRwbGUgY29va2llcyBhcmUgY29ycmVjdGx5IHNldC4i
CispOworCitjbGVhckFsbENvb2tpZXMoKTsKKworZGVidWcoIkNoZWNrIHNldHRpbmcgc2V2ZXJh
bCBjb29raWVzIHdpdGhvdXQgY2xlYXJpbmcuIik7Citjb29raWVzU2hvdWxkQmUoInRlc3Q9Zm9v
YmFyOyIsICJ0ZXN0PWZvb2JhciIpOworY29va2llc1Nob3VsZEJlKCJ0ZXN0Mj1mb29iYXI7Iiwg
InRlc3Q9Zm9vYmFyOyB0ZXN0Mj1mb29iYXIiKTsKK2Nvb2tpZXNTaG91bGRCZSgidGVzdDM9Zm9v
YmFyOyIsICJ0ZXN0PWZvb2JhcjsgdGVzdDI9Zm9vYmFyOyB0ZXN0Mz1mb29iYXIiKTsKK2NsZWFy
Q29va2llcygpOworCitzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zaW1wbGUtY29va2llcy1leHBp
cmVkLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3Jlc291cmNlcy9zaW1wbGUt
Y29va2llcy1leHBpcmVkLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYx
YjcwZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMv
cmVzb3VyY2VzL3NpbXBsZS1jb29raWVzLWV4cGlyZWQuanMKQEAgLTAsMCArMSwxOCBAQAorZGVz
Y3JpcHRpb24oCisiVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvb2tpZXMgYXJlIGNvcnJlY3RseSBz
ZXQgdXNpbmcgRXhwaXJlcy4iCispOworCitjbGVhckFsbENvb2tpZXMoKTsKKworZGVidWcoIkNo
ZWNrIHRoYXQgc2V0dGluZyBhIHNpbXBsZSBjb29raWUgd29ya3MuIik7Cit2YXIgZGF0ZSA9IG5l
dyBEYXRlKCk7CitkYXRlLnNldFRpbWUoZGF0ZS5nZXRUaW1lKCkgKyA2MCAqIDEwMDApOworY29v
a2llc1Nob3VsZEJlKCJ0ZXN0PWZvb2JhcjsgRXhwaXJlcz0iICsgZGF0ZS50b0dNVFN0cmluZygp
LCAidGVzdD1mb29iYXIiKTsKK2NsZWFyQ29va2llcygpOworCitkZWJ1ZygiQ2hlY2sgc2V0dGlu
ZyBhIGNvb2tpZSB0aGF0IHRpbWVkIG91dC4iKTsKK2RhdGUuc2V0VGltZShkYXRlLmdldFRpbWUo
KSAtIDIgKiA2MCAqIDEwMDApOworY29va2llc1Nob3VsZEJlKCJ0ZXN0Mj1mb29iYXI7IEV4cGly
ZXM9IiArIGRhdGUudG9HTVRTdHJpbmcoKSwgIiIpOworY2xlYXJDb29raWVzKCk7CisKK3N1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2Nvb2tpZXMvcmVzb3VyY2VzL3NpbXBsZS1jb29raWVzLW1heC1hZ2UuanMgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NpbXBsZS1jb29raWVzLW1heC1hZ2UuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWQ4N2IxMwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2ltcGxlLWNv
b2tpZXMtbWF4LWFnZS5qcwpAQCAtMCwwICsxLDE1IEBACitkZXNjcmlwdGlvbigKKyJUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgY29va2llcyBhcmUgY29ycmVjdGx5IHNldCB1c2luZyBNYXgtQWdlLiIK
Kyk7CisKK2NsZWFyQWxsQ29va2llcygpOworCitkZWJ1ZygiQ2hlY2sgdGhhdCBzZXR0aW5nIGEg
c2ltcGxlIGNvb2tpZSB3b3Jrcy4iKTsKK2Nvb2tpZXNTaG91bGRCZSgidGVzdD1mb29iYXI7IE1h
eC1BZ2U9OTAwMDAwMDAiLCAidGVzdD1mb29iYXIiKTsKK2NsZWFyQ29va2llcygpOworCitkZWJ1
ZygiQ2hlY2sgc2V0dGluZyBhIGNvb2tpZSB0aGF0IHRpbWVkIG91dC4iKTsKK2Nvb2tpZXNTaG91
bGRCZSgidGVzdDI9Zm9vYmFyOyBNYXgtQWdlPTAiLCAiIik7CitjbGVhckNvb2tpZXMoKTsKKwor
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2ltcGxlLWNvb2tpZXMuanMgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2Nvb2tpZXMvcmVzb3VyY2VzL3NpbXBsZS1jb29raWVzLmpzCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBmZTAxZjZlLi4wMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvY29va2llcy9yZXNvdXJjZXMvc2ltcGxlLWNvb2tpZXMuanMKKysrIC9kZXYvbnVs
bApAQCAtMSwxNyArMCwwIEBACi1kZXNjcmlwdGlvbigKLSJUaGlzIHRlc3QgY2hlY2tzIHRoYXQg
Y29va2llcyBhcmUgY29ycmVjdGx5IHNldC4iCi0pOwotCi1kZWJ1ZygiQ2hlY2sgdGhhdCBzZXR0
aW5nIGEgc2ltcGxlIGNvb2tpZSB3b3JrcyIpOwotY29va2llc1Nob3VsZEJlKCJ0ZXN0PWZvb2Jh
cjsgTWF4LUFnZT05MDAwMDAwMCIsICJ0ZXN0PWZvb2JhciIpOwotY2xlYXJDb29raWVzKCk7Ci0K
LWRlYnVnKCJDaGVjayBzZXR0aW5nIGEgY29va2llIHRoYXQgdGltZWQgb3V0Iik7Ci1jb29raWVz
U2hvdWxkQmUoInRlc3QyPWZvb2JhcjsgTWF4LUFnZT0wIiwgIiIpOwotCi1kZWJ1ZygiQ2hlY2sg
c2V0dGluZyBzZXZlcmFsIGNvb2tpZXMgd2l0aG91dCBjbGVhcmluZyIpOwotY29va2llc1Nob3Vs
ZEJlKCJ0ZXN0PWZvb2JhcjsiLCAidGVzdD1mb29iYXIiKTsKLWNvb2tpZXNTaG91bGRCZSgidGVz
dDI9Zm9vYmFyOyIsICJ0ZXN0PWZvb2JhcjsgdGVzdDI9Zm9vYmFyIik7Ci1jb29raWVzU2hvdWxk
QmUoInRlc3QzPWZvb2JhcjsiLCAidGVzdD1mb29iYXI7IHRlc3QyPWZvb2JhcjsgdGVzdDM9Zm9v
YmFyIik7Ci0KLXN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2ltcGxlLWNvb2tpZXMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NpbXBsZS1jb29raWVzLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjhhN2FjYi4uMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2ltcGxlLWNvb2tpZXMtZXhwZWN0ZWQudHh0Cisr
KyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvb2tp
ZXMgYXJlIGNvcnJlY3RseSBzZXQuCi0KLU9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1D
aGVjayB0aGF0IHNldHRpbmcgYSBzaW1wbGUgY29va2llIHdvcmtzCi1QQVNTIGNvb2tpZSBpcyB0
ZXN0PWZvb2JhcgotQ2hlY2sgc2V0dGluZyBhIGNvb2tpZSB0aGF0IHRpbWVkIG91dAotUEFTUyBj
b29raWUgaXMgCi1DaGVjayBzZXR0aW5nIHNldmVyYWwgY29va2llcyB3aXRob3V0IGNsZWFyaW5n
Ci1QQVNTIGNvb2tpZSBpcyB0ZXN0PWZvb2JhcgotUEFTUyBjb29raWUgaXMgdGVzdD1mb29iYXI7
IHRlc3QyPWZvb2JhcgotUEFTUyBjb29raWUgaXMgdGVzdD1mb29iYXI7IHRlc3QyPWZvb2Jhcjsg
dGVzdDM9Zm9vYmFyCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1QgQ09N
UExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NpbXBs
ZS1jb29raWVzLWV4cGlyZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9j
b29raWVzL3NpbXBsZS1jb29raWVzLWV4cGlyZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwYTVjNTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2ltcGxlLWNvb2tpZXMtZXhwaXJlZC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGNvb2tpZXMgYXJlIGNv
cnJlY3RseSBzZXQgdXNpbmcgRXhwaXJlcy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK0NoZWNrIHRoYXQgc2V0dGluZyBhIHNpbXBsZSBjb29raWUgd29ya3MuCitQQVNTIGNvb2tp
ZSBpcyAndGVzdD1mb29iYXInLgorQ2hlY2sgc2V0dGluZyBhIGNvb2tpZSB0aGF0IHRpbWVkIG91
dC4KK1BBU1MgY29va2llIGlzICcnLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY29v
a2llcy9zaW1wbGUtY29va2llcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVz
L3NpbXBsZS1jb29raWVzLWV4cGlyZWQuaHRtbApzaW1pbGFyaXR5IGluZGV4IDg0JQpjb3B5IGZy
b20gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NpbXBsZS1jb29raWVzLmh0bWwKY29w
eSB0byBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2ltcGxlLWNvb2tpZXMtZXhwaXJl
ZC5odG1sCmluZGV4IDk3Y2IyY2EuLmJmMjIyMTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvY29va2llcy9zaW1wbGUtY29va2llcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvY29va2llcy9zaW1wbGUtY29va2llcy1leHBpcmVkLmh0bWwKQEAgLTcsNyArNyw3
IEBACiA8Ym9keT4KIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgogPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Ci08c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NpbXBsZS1jb29raWVzLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2ltcGxlLWNvb2tpZXMtZXhwaXJlZC5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2Nvb2tpZXMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvY29va2llcy9zaW1wbGUtY29va2llcy1tYXgtYWdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvY29va2llcy9zaW1wbGUtY29va2llcy1tYXgtYWdlLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NTljMzkyCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NpbXBsZS1jb29raWVzLW1h
eC1hZ2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhh
dCBjb29raWVzIGFyZSBjb3JyZWN0bHkgc2V0IHVzaW5nIE1heC1BZ2UuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitDaGVjayB0aGF0IHNldHRpbmcgYSBzaW1wbGUgY29va2llIHdv
cmtzLgorUEFTUyBjb29raWUgaXMgJ3Rlc3Q9Zm9vYmFyJy4KK0NoZWNrIHNldHRpbmcgYSBjb29r
aWUgdGhhdCB0aW1lZCBvdXQuCitQQVNTIGNvb2tpZSBpcyAnJy4KK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2Nvb2tpZXMvc2ltcGxlLWNvb2tpZXMuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvY29va2llcy9zaW1wbGUtY29va2llcy1tYXgtYWdlLmh0bWwKc2ltaWxhcml0eSBp
bmRleCA4NCUKcmVuYW1lIGZyb20gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NpbXBs
ZS1jb29raWVzLmh0bWwKcmVuYW1lIHRvIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29va2llcy9z
aW1wbGUtY29va2llcy1tYXgtYWdlLmh0bWwKaW5kZXggOTdjYjJjYS4uNzA4YzY1OCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NpbXBsZS1jb29raWVzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb29raWVzL3NpbXBsZS1jb29raWVzLW1heC1h
Z2UuaHRtbApAQCAtNyw3ICs3LDcgQEAKIDxib2R5PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2ltcGxl
LWNvb2tpZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaW1wbGUtY29v
a2llcy1tYXgtYWdlLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvY29va2ll
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXRpZ2VyL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtdGlnZXIvU2tpcHBlZAppbmRleCA2YzNiMmZjLi4zMWVjMmE3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtdGlnZXIvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtdGlnZXIvU2tpcHBlZApAQCAtNDMsMyArNDMsNyBAQCBtZWRpYS92aWRl
by1zaXplLWludHJpbnNpYy1zY2FsZS5odG1sCiAKICMgTmV3IHJlc3VsdHMgbmVlZGVkIGFmdGVy
IHI0Mzc1OSwgc2VlIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU4
MTY+CiBmYXN0L3RleHQvaW50ZXJuYXRpb25hbC90aGFpLWJhaHQtc3BhY2UuaHRtbAorCisjIDxy
ZGFyOi8vcHJvYmxlbS81NTI0NzY2PiBTZXQtQ29va2llIGhlYWRlciBmaWVsZCAoUkZDIDIxMDkp
IG5vdCBzdXBwb3J0ZWQgY29ycmVjdGx5ICgxNTEyOCkKKyMgVGlnZXIgd291bGQgbmVlZCBhIG5l
dyBDRk5ldHdvcmsgdG8gc3VwcG9ydCBleHBpcmF0aW9uIG9mIGNvb2tpZXMgdXNpbmcgIk1heC1B
Z2U9MCIKK2h0dHAvdGVzdHMvY29va2llcy9zaW1wbGUtY29va2llcy1tYXgtYWdlLmh0bWwKLS0g
CjEuNi4yLjQKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>