<?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>41724</bug_id>
          
          <creation_ts>2010-07-06 17:17:31 -0700</creation_ts>
          <short_desc>Improve XHR access control tests</short_desc>
          <delta_ts>2010-07-08 05:00: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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Justin Schuh">jschuh</reporter>
          <assigned_to name="Justin Schuh">jschuh</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jschuh</cc>
    
    <cc>levin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>247239</commentid>
    <comment_count>0</comment_count>
    <who name="Justin Schuh">jschuh</who>
    <bug_when>2010-07-06 17:17:31 -0700</bug_when>
    <thetext>Improve XHR access control tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247244</commentid>
    <comment_count>1</comment_count>
      <attachid>60664</attachid>
    <who name="Justin Schuh">jschuh</who>
    <bug_when>2010-07-06 17:42:27 -0700</bug_when>
    <thetext>Created attachment 60664
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247276</commentid>
    <comment_count>2</comment_count>
    <who name="Justin Schuh">jschuh</who>
    <bug_when>2010-07-06 20:17:03 -0700</bug_when>
    <thetext>Improving and expanding the layout tests added with the fix for bug 36483.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247429</commentid>
    <comment_count>3</comment_count>
      <attachid>60664</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-07-07 03:04:03 -0700</bug_when>
    <thetext>Comment on attachment 60664
Patch

LayoutTests/http/tests/xmlhttprequest/access-control-preflight-async-not-supported.html:10
 +  if (window.layoutTestController) {
No braces needed.

LayoutTests/http/tests/xmlhttprequest/access-control-preflight-async-not-supported.html:19
 +          xhr.send(&quot;&quot;);
Usually we pass null for GET (no body) instead of a body of length 0.

LayoutTests/http/tests/xmlhttprequest/access-control-preflight-async-not-supported.html:56
 +          // Eat the exception.
Why don&apos;t we log it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247431</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-07-07 03:04:41 -0700</bug_when>
    <thetext>Those comments were just drive-bys.  ap should probably review your patch since he requested it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247548</commentid>
    <comment_count>5</comment_count>
    <who name="Justin Schuh">jschuh</who>
    <bug_when>2010-07-07 07:36:46 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 60664 [details])
&gt; LayoutTests/http/tests/xmlhttprequest/access-control-preflight-async-not-supported.html:56
&gt;  +          // Eat the exception.
&gt; Why don&apos;t we log it?

The exception here means the test probably succeeded (because we want the request to be denied). But I&apos;m doing a more thorough result check in the onreadystatechange handler, which also validates that the server side matches what it should be. 

And I&apos;ll fix the style issues and resubmit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247659</commentid>
    <comment_count>6</comment_count>
      <attachid>60664</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-07-07 11:46:05 -0700</bug_when>
    <thetext>Comment on attachment 60664
Patch

Clearing review flag per the above comment.

Looks good to me. Do these tests pass in Firefox?

This change makes it obvious that I called &quot;header field&quot; a &quot;header&quot; at least once. I&apos;ll need to fix that eventually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247678</commentid>
    <comment_count>7</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2010-07-07 12:24:38 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Improving and expanding the layout tests added with the fix for bug 36483.

I don&apos;t think that is the right bug number: &quot;webkitpy: Move the commands folder into webkitpy/patch&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247722</commentid>
    <comment_count>8</comment_count>
    <who name="Justin Schuh">jschuh</who>
    <bug_when>2010-07-07 13:24:30 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #2)
&gt; &gt; Improving and expanding the layout tests added with the fix for bug 36483.
&gt; 
&gt; I don&apos;t think that is the right bug number: &quot;webkitpy: Move the commands folder into webkitpy/patch&quot;

Dyslexia strikes again. Sorry, that should be bug 36843. I&apos;ve finally gotten through my holiday weekend backlog so I should be posting a cleaned up patch shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>247876</commentid>
    <comment_count>9</comment_count>
      <attachid>60811</attachid>
    <who name="Justin Schuh">jschuh</who>
    <bug_when>2010-07-07 17:22:52 -0700</bug_when>
    <thetext>Created attachment 60811
Patch

Cleaned up style issues and tweaked a few things so the tests will run in Firefox.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>248141</commentid>
    <comment_count>10</comment_count>
      <attachid>60811</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-08 05:00:43 -0700</bug_when>
    <thetext>Comment on attachment 60811
Patch

Clearing flags on attachment: 60811

Committed r62779: &lt;http://trac.webkit.org/changeset/62779&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>248142</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-08 05:00:49 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60664</attachid>
            <date>2010-07-06 17:42:27 -0700</date>
            <delta_ts>2010-07-07 17:22:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-41724-20100706174225.patch</filename>
            <type>text/plain</type>
            <size>15896</size>
            <attacher name="Justin Schuh">jschuh</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDYyNjA1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTAtMDctMDYgIEp1c3RpbiBTY2h1aCAgPGpz
Y2h1aEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgWEhSIGFjY2VzcyBjb250cm9sIGZhaWx1cmUgdGVzdHMgZm9yIGhlYWRlciwg
bWV0aG9kLCBhbmQgbm90LXN1cHBvcnRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDE3MjQKKworICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJl
cXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWFzeW5jLWhlYWRlci1kZW5pZWQtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRy
b2wtcHJlZmxpZ2h0LWFzeW5jLWhlYWRlci1kZW5pZWQuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1hc3luYy1tZXRob2Qt
ZGVuaWVkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0
L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1hc3luYy1tZXRob2QtZGVuaWVkLmh0bWw6CisgICAg
ICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQt
YXN5bmMtbm90LXN1cHBvcnRlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWFzeW5jLW5vdC1z
dXBwb3J0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVz
dC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtc3luYy1oZWFkZXItZGVuaWVkLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXBy
ZWZsaWdodC1zeW5jLWhlYWRlci1kZW5pZWQuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ht
bGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1zeW5jLW1ldGhvZC1kZW5pZWQt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNz
LWNvbnRyb2wtcHJlZmxpZ2h0LXN5bmMtbWV0aG9kLWRlbmllZC5odG1sOgorICAgICAgICAqIGh0
dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LXN5bmMtbm90
LXN1cHBvcnRlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1s
aHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LXN5bmMtbm90LXN1cHBvcnRlZC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNl
cy9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtZGVuaWVkLXhzcmYucGhwOgorCiAyMDEwLTA3LTA2
ICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBB
ZGFtIEJhcnRoLgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9h
Y2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtYXN5bmMtaGVhZGVyLWRlbmllZC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nl
c3MtY29udHJvbC1wcmVmbGlnaHQtYXN5bmMtaGVhZGVyLWRlbmllZC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDYyNjA1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9h
Y2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtYXN5bmMtaGVhZGVyLWRlbmllZC1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTog
WE1MSHR0cFJlcXVlc3QgY2Fubm90IGxvYWQgaHR0cDovL2xvY2FsaG9zdDo4MDAwL3htbGh0dHBy
ZXF1ZXN0L3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtZGVuaWVkLXhzcmYucGhw
LiBPcmlnaW4gaHR0cDovLzEyNy4wLjAuMTo4MDAwIGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1D
b250cm9sLUFsbG93LU9yaWdpbiByZXNwb25zZSBoZWFkZXIuCitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMTogWE1MSHR0cFJlcXVlc3QgY2Fubm90IGxvYWQgaHR0cDovL2xvY2FsaG9zdDo4MDAwL3ht
bGh0dHByZXF1ZXN0L3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtZGVuaWVkLXhz
cmYucGhwP3N0YXRlPWhlYWRlci4gUmVxdWVzdCBoZWFkZXIgZmllbGQgWC1OT04tU1RBTkRBUkQg
aXMgbm90IGFsbG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyByZXNwb25zZSBo
ZWFkZXIgZmllbGQuCiBQQVNTOiBSZXF1ZXN0IHN1Y2Nlc3NmdWxseSBibG9ja2VkLgogCiAKSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wt
cHJlZmxpZ2h0LWFzeW5jLWhlYWRlci1kZW5pZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1h
c3luYy1oZWFkZXItZGVuaWVkLmh0bWwJKHJldmlzaW9uIDYyNjA1KQorKysgTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtYXN5bmMt
aGVhZGVyLWRlbmllZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBAIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKICAgICB4aHIgPSBuZXcgWE1MSHR0cFJlcXVl
c3QoKTsKIAogICAgIHRyeSB7Ci0gICAgICAgIHhoci5vcGVuKCJHRVQiLCAiaHR0cDovL2xvY2Fs
aG9zdDo4MDAwL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1wcmVmbGln
aHQtZGVuaWVkLXhzcmYucGhwIiwgZmFsc2UpOworICAgICAgICB4aHIub3BlbigiR0VUIiwgImh0
dHA6Ly9sb2NhbGhvc3Q6ODAwMC94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvYWNjZXNzLWNvbnRy
b2wtcHJlZmxpZ2h0LWRlbmllZC14c3JmLnBocD9zdGF0ZT1oZWFkZXIiLCBmYWxzZSk7CiAgICAg
ICAgIHhoci5zZXRSZXF1ZXN0SGVhZGVyKCJYLU5PTi1TVEFOREFSRCIsICJmaWxsZXIiKTsKICAg
ICB9IGNhdGNoKGUpIHsKICAgICAgICAgbG9nKCJGQUlMOiBFeGNlcHRpb24gdGhyb3duLiBDcm9z
cy1kb21haW4gYWNjZXNzIGlzIG5vdCBhbGxvd2VkIGluIGZpcnN0ICdvcGVuJy4gWyIgKyBlLm1l
c3NhZ2UgKyAiXS4iKTsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVl
c3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWFzeW5jLW1ldGhvZC1kZW5pZWQtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3Qv
YWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWFzeW5jLW1ldGhvZC1kZW5pZWQtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiA2MjYwNSkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVl
c3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWFzeW5jLW1ldGhvZC1kZW5pZWQtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE6IFhNTEh0dHBSZXF1ZXN0IGNhbm5vdCBsb2FkIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC94bWxo
dHRwcmVxdWVzdC9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWRlbmllZC14c3Jm
LnBocC4gT3JpZ2luIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMCBpcyBub3QgYWxsb3dlZCBieSBBY2Nl
c3MtQ29udHJvbC1BbGxvdy1PcmlnaW4gcmVzcG9uc2UgaGVhZGVyLgorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDE6IFhNTEh0dHBSZXF1ZXN0IGNhbm5vdCBsb2FkIGh0dHA6Ly9sb2NhbGhvc3Q6ODAw
MC94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWRlbmll
ZC14c3JmLnBocD9zdGF0ZT1tZXRob2QuIE1ldGhvZCBERUxFVEUgaXMgbm90IGFsbG93ZWQgYnkg
QWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyByZXNwb25zZSBoZWFkZXIgZmllbGQuCiBQQVNT
OiBSZXF1ZXN0IHN1Y2Nlc3NmdWxseSBibG9ja2VkLgogCiAKSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWFzeW5jLW1l
dGhvZC1kZW5pZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ht
bGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1hc3luYy1tZXRob2QtZGVuaWVk
Lmh0bWwJKHJldmlzaW9uIDYyNjA1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRw
cmVxdWVzdC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtYXN5bmMtbWV0aG9kLWRlbmllZC5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBAIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpIHsKICAgICB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKIAogICAgIHRyeSB7
Ci0gICAgICAgIHhoci5vcGVuKCJERUxFVEUiLCAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3htbGh0
dHByZXF1ZXN0L3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtZGVuaWVkLXhzcmYu
cGhwIiwgZmFsc2UpOworICAgICAgICB4aHIub3BlbigiREVMRVRFIiwgImh0dHA6Ly9sb2NhbGhv
c3Q6ODAwMC94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0
LWRlbmllZC14c3JmLnBocD9zdGF0ZT1tZXRob2QiLCBmYWxzZSk7CiAgICAgfSBjYXRjaChlKSB7
CiAgICAgICAgIGxvZygiRkFJTDogRXhjZXB0aW9uIHRocm93bi4gQ3Jvc3MtZG9tYWluIGFjY2Vz
cyBpcyBub3QgYWxsb3dlZCBpbiBmaXJzdCAnb3BlbicuIFsiICsgZS5tZXNzYWdlICsgIl0uIik7
CiAgICAgICAgIHJldHVybjsKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJl
cXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWFzeW5jLW5vdC1zdXBwb3J0ZWQtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVl
c3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWFzeW5jLW5vdC1zdXBwb3J0ZWQtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVz
dC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtYXN5bmMtbm90LXN1cHBvcnRlZC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNCBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6
IFhNTEh0dHBSZXF1ZXN0IGNhbm5vdCBsb2FkIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC94bWxodHRw
cmVxdWVzdC9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWRlbmllZC14c3JmLnBo
cC4gT3JpZ2luIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMCBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3Mt
Q29udHJvbC1BbGxvdy1PcmlnaW4gcmVzcG9uc2UgaGVhZGVyLgorUEFTUzogUmVxdWVzdCBzdWNj
ZXNzZnVsbHkgYmxvY2tlZC4KKworCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0
dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1hc3luYy1ub3Qtc3VwcG9ydGVkLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9h
Y2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtYXN5bmMtbm90LXN1cHBvcnRlZC5odG1sCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29u
dHJvbC1wcmVmbGlnaHQtYXN5bmMtbm90LXN1cHBvcnRlZC5odG1sCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDYyIEBACis8aHRtbD4KKzxib2R5PgorPHByZSBpZD0nY29uc29sZSc+PC9wcmU+Cis8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sK
KyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpLmFwcGVuZENoaWxkKGRvY3Vt
ZW50LmNyZWF0ZVRleHROb2RlKG1lc3NhZ2UgKyAiXG4iKSk7Cit9CisKK2lmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0
KCk7Cit9CisKKyhmdW5jdGlvbigpIHsKKyAgICB2YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0
KCk7CisKKyAgICB0cnkgeworICAgICAgICB4aHIub3BlbigiR0VUIiwgImh0dHA6Ly9sb2NhbGhv
c3Q6ODAwMC94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0
LWRlbmllZC14c3JmLnBocD9zdGF0ZT1yZXNldCIsIGZhbHNlKTsKKyAgICAgICAgeGhyLnNlbmQo
IiIpOworICAgIH0gY2F0Y2goZSkgeworICAgICAgICBsb2coIkZBSUw6IFVuYWJsZSB0byByZXNl
dCBzZXJ2ZXIgc3RhdGU6IFsiICsgZS5tZXNzYWdlICsgIl0uIik7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKworICAgIHRyeSB7Cisg
ICAgICAgIHhoci5vcGVuKCJQT1NUIiwgImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC94bWxodHRwcmVx
dWVzdC9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWRlbmllZC14c3JmLnBocCIs
IGZhbHNlKTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgbG9nKCJGQUlMOiBFeGNlcHRpb24g
dGhyb3duLiBDcm9zcy1kb21haW4gYWNjZXNzIGlzIG5vdCBhbGxvd2VkIGluIGZpcnN0ICdvcGVu
Jy4gWyIgKyBlLm1lc3NhZ2UgKyAiXS4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IHhoci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgeGhyID0gbmV3
IFhNTEh0dHBSZXF1ZXN0KCk7CisKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHhoci5vcGVu
KCJHRVQiLCAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9h
Y2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtZGVuaWVkLXhzcmYucGhwP3N0YXRlPWNvbXBsZXRlIiwg
ZmFsc2UpOworICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICB4aHIuc2VuZCgiIik7
CisgICAgICAgICAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgICAgICAgICBsb2coIkZBSUw6IEV4
Y2VwdGlvbiB0aHJvd24uIENyb3NzLWRvbWFpbiBhY2Nlc3MgaXMgbm90IGFsbG93ZWQgaW4gc2Vj
b25kICdzZW5kJy4gWyIgKyBlLm1lc3NhZ2UgKyAiXS4iKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfSBjYXRjaChlKSB7CisgICAgICAgICAgICBsb2coIkZBSUw6IEV4Y2VwdGlvbiB0aHJvd24u
IENyb3NzLWRvbWFpbiBhY2Nlc3MgaXMgbm90IGFsbG93ZWQgaW4gc2Vjb25kICdvcGVuJy4gWyIg
KyBlLm1lc3NhZ2UgKyAiXS4iKTsKKyAgICAgICAgfQorCisgICAgICAgIGxvZyh4aHIucmVzcG9u
c2VUZXh0KTsKKyAgICB9CisKKyAgICB0cnkgeworICAgICAgICB4aHIuc2VuZCgiIik7CisgICAg
ICAgIGxvZygiRkFJTDogQ3Jvc3MtZG9tYWluIGFjY2VzcyBhbGxvd2VkIGluIGZpcnN0IHNlbmQg
d2l0aG91dCB0aHJvd2luZyBhbiBleGNlcHRpb24iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0g
Y2F0Y2goZSkgeworICAgICAgICAvLyBFYXQgdGhlIGV4Y2VwdGlvbi4KKyAgICB9CisgICAKK30p
KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LXN5bmMtaGVhZGVy
LWRlbmllZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtc3luYy1oZWFkZXItZGVu
aWVkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNjI2MDUpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1zeW5jLWhlYWRlci1k
ZW5pZWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBAQAotQ09OU09M
RSBNRVNTQUdFOiBsaW5lIDE6IFhNTEh0dHBSZXF1ZXN0IGNhbm5vdCBsb2FkIGh0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMC94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtcHJlZmxp
Z2h0LWRlbmllZC14c3JmLnBocC4gT3JpZ2luIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMCBpcyBub3Qg
YWxsb3dlZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4gcmVzcG9uc2UgaGVhZGVyLgor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFhNTEh0dHBSZXF1ZXN0IGNhbm5vdCBsb2FkIGh0dHA6
Ly9sb2NhbGhvc3Q6ODAwMC94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wt
cHJlZmxpZ2h0LWRlbmllZC14c3JmLnBocD9zdGF0ZT1oZWFkZXIuIFJlcXVlc3QgaGVhZGVyIGZp
ZWxkIFgtTk9OLVNUQU5EQVJEIGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93
LUhlYWRlcnMgcmVzcG9uc2UgaGVhZGVyIGZpZWxkLgogUEFTUzogUmVxdWVzdCBzdWNjZXNzZnVs
bHkgYmxvY2tlZC4KIAogCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1
ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1zeW5jLWhlYWRlci1kZW5pZWQuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1j
b250cm9sLXByZWZsaWdodC1zeW5jLWhlYWRlci1kZW5pZWQuaHRtbAkocmV2aXNpb24gNjI2MDUp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9s
LXByZWZsaWdodC1zeW5jLWhlYWRlci1kZW5pZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjUs
NyArMjUsNyBAQCBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CiAgICAgeGhyID0g
bmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAKICAgICB0cnkgewotICAgICAgICB4aHIub3BlbigiR0VU
IiwgImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvYWNjZXNz
LWNvbnRyb2wtcHJlZmxpZ2h0LWRlbmllZC14c3JmLnBocCIsIGZhbHNlKTsKKyAgICAgICAgeGhy
Lm9wZW4oIkdFVCIsICJodHRwOi8vbG9jYWxob3N0OjgwMDAveG1saHR0cHJlcXVlc3QvcmVzb3Vy
Y2VzL2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1kZW5pZWQteHNyZi5waHA/c3RhdGU9aGVhZGVy
IiwgZmFsc2UpOwogICAgICAgICB4aHIuc2V0UmVxdWVzdEhlYWRlcigiWC1OT04tU1RBTkRBUkQi
LCAiZmlsbGVyIik7CiAgICAgfSBjYXRjaChlKSB7CiAgICAgICAgIGxvZygiRkFJTDogRXhjZXB0
aW9uIHRocm93bi4gQ3Jvc3MtZG9tYWluIGFjY2VzcyBpcyBub3QgYWxsb3dlZCBpbiBmaXJzdCAn
b3BlbicuIFsiICsgZS5tZXNzYWdlICsgIl0uIik7CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1zeW5jLW1ldGhvZC1k
ZW5pZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMv
eG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LXN5bmMtbWV0aG9kLWRlbmll
ZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDYyNjA1KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtc3luYy1tZXRob2QtZGVu
aWVkLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUg
TUVTU0FHRTogbGluZSAxOiBYTUxIdHRwUmVxdWVzdCBjYW5ub3QgbG9hZCBodHRwOi8vbG9jYWxo
b3N0OjgwMDAveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLXByZWZsaWdo
dC1kZW5pZWQteHNyZi5waHAuIE9yaWdpbiBodHRwOi8vMTI3LjAuMC4xOjgwMDAgaXMgbm90IGFs
bG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIHJlc3BvbnNlIGhlYWRlci4KK0NP
TlNPTEUgTUVTU0FHRTogbGluZSAxOiBYTUxIdHRwUmVxdWVzdCBjYW5ub3QgbG9hZCBodHRwOi8v
bG9jYWxob3N0OjgwMDAveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLXBy
ZWZsaWdodC1kZW5pZWQteHNyZi5waHA/c3RhdGU9bWV0aG9kLiBNZXRob2QgREVMRVRFIGlzIG5v
dCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMgcmVzcG9uc2UgaGVhZGVy
IGZpZWxkLgogUEFTUzogUmVxdWVzdCBzdWNjZXNzZnVsbHkgYmxvY2tlZC4KIAogCkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZs
aWdodC1zeW5jLW1ldGhvZC1kZW5pZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1zeW5jLW1l
dGhvZC1kZW5pZWQuaHRtbAkocmV2aXNpb24gNjI2MDUpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1zeW5jLW1ldGhvZC1k
ZW5pZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQCBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKSB7CiAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAK
ICAgICB0cnkgewotICAgICAgICB4aHIub3BlbigiREVMRVRFIiwgImh0dHA6Ly9sb2NhbGhvc3Q6
ODAwMC94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWRl
bmllZC14c3JmLnBocCIsIGZhbHNlKTsKKyAgICAgICAgeGhyLm9wZW4oIkRFTEVURSIsICJodHRw
Oi8vbG9jYWxob3N0OjgwMDAveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9s
LXByZWZsaWdodC1kZW5pZWQteHNyZi5waHA/c3RhdGU9bWV0aG9kIiwgZmFsc2UpOwogICAgIH0g
Y2F0Y2goZSkgewogICAgICAgICBsb2coIkZBSUw6IEV4Y2VwdGlvbiB0aHJvd24uIENyb3NzLWRv
bWFpbiBhY2Nlc3MgaXMgbm90IGFsbG93ZWQgaW4gZmlyc3QgJ29wZW4nLiBbIiArIGUubWVzc2Fn
ZSArICJdLiIpOwogICAgICAgICByZXR1cm47CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1zeW5jLW5vdC1zdXBwb3J0
ZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1s
aHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LXN5bmMtbm90LXN1cHBvcnRlZC1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0
dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1zeW5jLW5vdC1zdXBwb3J0ZWQtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQgQEAKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAxOiBYTUxIdHRwUmVxdWVzdCBjYW5ub3QgbG9hZCBodHRwOi8vbG9jYWxob3N0OjgwMDAv
eG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1kZW5pZWQt
eHNyZi5waHAuIE9yaWdpbiBodHRwOi8vMTI3LjAuMC4xOjgwMDAgaXMgbm90IGFsbG93ZWQgYnkg
QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIHJlc3BvbnNlIGhlYWRlci4KK1BBU1M6IFJlcXVl
c3Qgc3VjY2Vzc2Z1bGx5IGJsb2NrZWQuCisKKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtc3luYy1ub3Qtc3VwcG9y
dGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtc3luYy1ub3Qtc3VwcG9ydGVkLmh0bWwJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vz
cy1jb250cm9sLXByZWZsaWdodC1zeW5jLW5vdC1zdXBwb3J0ZWQuaHRtbAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSw2MiBAQAorPGh0bWw+Cis8Ym9keT4KKzxwcmUgaWQ9J2NvbnNvbGUnPjwvcHJl
PgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZnVuY3Rpb24gbG9nKG1lc3NhZ2Up
Cit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKS5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVUZXh0Tm9kZShtZXNzYWdlICsgIlxuIikpOworfQorCitpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworfQorCisoZnVuY3Rpb24oKSB7CisgICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVx
dWVzdCgpOworCisgICAgdHJ5IHsKKyAgICAgICAgeGhyLm9wZW4oIkdFVCIsICJodHRwOi8vbG9j
YWxob3N0OjgwMDAveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLXByZWZs
aWdodC1kZW5pZWQteHNyZi5waHA/c3RhdGU9cmVzZXQiLCBmYWxzZSk7CisgICAgICAgIHhoci5z
ZW5kKCIiKTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgbG9nKCJGQUlMOiBVbmFibGUgdG8g
cmVzZXQgc2VydmVyIHN0YXRlOiBbIiArIGUubWVzc2FnZSArICJdLiIpOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CisKKyAgICB0cnkg
eworICAgICAgICB4aHIub3BlbigiUE9TVCIsICJodHRwOi8vbG9jYWxob3N0OjgwMDAveG1saHR0
cHJlcXVlc3QvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1kZW5pZWQteHNyZi5w
aHAiLCBmYWxzZSk7CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIGxvZygiRkFJTDogRXhjZXB0
aW9uIHRocm93bi4gQ3Jvc3MtZG9tYWluIGFjY2VzcyBpcyBub3QgYWxsb3dlZCBpbiBmaXJzdCAn
b3BlbicuIFsiICsgZS5tZXNzYWdlICsgIl0uIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICB0cnkgeworICAgICAgICB4aHIuc2VuZCgiIik7CisgICAgICAgIGxvZygiRkFJTDogQ3Jv
c3MtZG9tYWluIGFjY2VzcyBhbGxvd2VkIGluIGZpcnN0IHNlbmQgd2l0aG91dCB0aHJvd2luZyBh
biBleGNlcHRpb24iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0gY2F0Y2goZSkgeworICAgICAg
ICAvLyBFYXQgdGhlIGV4Y2VwdGlvbi4KKyAgICB9CisKKyAgICB4aHIgPSBuZXcgWE1MSHR0cFJl
cXVlc3QoKTsKKworICAgIHRyeSB7CisgICAgICAgIHhoci5vcGVuKCJHRVQiLCAiaHR0cDovL2xv
Y2FsaG9zdDo4MDAwL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1wcmVm
bGlnaHQtZGVuaWVkLXhzcmYucGhwP3N0YXRlPWNvbXBsZXRlIiwgZmFsc2UpOworICAgIH0gY2F0
Y2goZSkgeworICAgICAgICBsb2coIkZBSUw6IEV4Y2VwdGlvbiB0aHJvd24uIENyb3NzLWRvbWFp
biBhY2Nlc3MgaXMgbm90IGFsbG93ZWQgaW4gc2Vjb25kICdvcGVuJy4gWyIgKyBlLm1lc3NhZ2Ug
KyAiXS4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHRyeSB7CisgICAgICAgIHho
ci5zZW5kKCIiKTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgbG9nKCJGQUlMOiBFeGNlcHRp
b24gdGhyb3duLiBDcm9zcy1kb21haW4gYWNjZXNzIGlzIG5vdCBhbGxvd2VkIGluIHNlY29uZCAn
c2VuZCcuIFsiICsgZS5tZXNzYWdlICsgIl0uIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBsb2coeGhyLnJlc3BvbnNlVGV4dCk7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291
cmNlcy9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtZGVuaWVkLXhzcmYucGhwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2FjY2Vz
cy1jb250cm9sLXByZWZsaWdodC1kZW5pZWQteHNyZi5waHAJKHJldmlzaW9uIDYyNjA1KQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvYWNjZXNzLWNv
bnRyb2wtcHJlZmxpZ2h0LWRlbmllZC14c3JmLnBocAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyAr
MzYsMTIgQEAgaWYgKCRfU0VSVkVSWydSRVFVRVNUX01FVEhPRCddID09ICJHRVQiIAogICAgIGVj
aG8gIlNlcnZlciBzdGF0ZSByZXNldC5cbiI7CiB9IGVsc2UgaWYgKCRzdGF0ZSA9PSAiVW5pbml0
aWFsaXplZCIpIHsKICAgICBpZiAoJF9TRVJWRVJbJ1JFUVVFU1RfTUVUSE9EJ10gPT0gIk9QVElP
TlMiKSB7Ci0gICAgICAgIGVjaG8oIlJlcXVlc3QgRGVuaWVkXG4iKTsKKyAgICAgICAgaWYgKCRf
R0VUWydzdGF0ZSddID09ICJtZXRob2QiIHx8ICRfR0VUWydzdGF0ZSddID09ICJoZWFkZXIiKSB7
CisgICAgICAgICAgICBoZWFkZXIoIkFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHM6IEdFVCIp
OworICAgICAgICAgICAgaGVhZGVyKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW46IGh0dHA6
Ly8xMjcuMC4wLjE6ODAwMCIpOworICAgICAgICAgICAgaGVhZGVyKCJBY2Nlc3MtQ29udHJvbC1N
YXgtQWdlOiAwIik7CisgICAgICAgIH0KKyAgICAgICAgZWNobygiRkFJTDogVGhpcyByZXF1ZXN0
IHNob3VsZCBub3QgYmUgZGlzcGxheWVkLlxuIik7CiAgICAgICAgIHNldFN0YXRlKCJEZW5pZWQi
LCAkdG1wRmlsZSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgZmFpbCgkc3RhdGUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>60811</attachid>
            <date>2010-07-07 17:22:52 -0700</date>
            <delta_ts>2010-07-08 05:00:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-41724-20100707172251.patch</filename>
            <type>text/plain</type>
            <size>22613</size>
            <attacher name="Justin Schuh">jschuh</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDYyNjg4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTAtMDctMDcgIEp1c3RpbiBTY2h1aCAgPGpz
Y2h1aEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgWEhSIGFjY2VzcyBjb250cm9sIGZhaWx1cmUgdGVzdHMgZm9yIGhlYWRlciwg
bWV0aG9kLCBhbmQgbm90LXN1cHBvcnRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDE3MjQKKworICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJl
cXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWFzeW5jLWhlYWRlci1kZW5pZWQtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRy
b2wtcHJlZmxpZ2h0LWFzeW5jLWhlYWRlci1kZW5pZWQuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1hc3luYy1tZXRob2Qt
ZGVuaWVkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0
L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1hc3luYy1tZXRob2QtZGVuaWVkLmh0bWw6CisgICAg
ICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQt
YXN5bmMtbm90LXN1cHBvcnRlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWFzeW5jLW5vdC1z
dXBwb3J0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVz
dC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtc3luYy1oZWFkZXItZGVuaWVkLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXBy
ZWZsaWdodC1zeW5jLWhlYWRlci1kZW5pZWQuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3ht
bGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1zeW5jLW1ldGhvZC1kZW5pZWQt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNz
LWNvbnRyb2wtcHJlZmxpZ2h0LXN5bmMtbWV0aG9kLWRlbmllZC5odG1sOgorICAgICAgICAqIGh0
dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LXN5bmMtbm90
LXN1cHBvcnRlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMveG1s
aHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LXN5bmMtbm90LXN1cHBvcnRlZC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jlc291cmNl
cy9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtZGVuaWVkLXhzcmYucGhwOgorCiAyMDEwLTA3LTA3
ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIE5vdCByZXZp
ZXdlZCwganVzdCB1cGRhdGluZyB0ZXN0IGV4cGVjdGF0aW9ucy4KSW5kZXg6IExheW91dFRlc3Rz
L2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWFzeW5j
LWhlYWRlci1kZW5pZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0
dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWFzeW5jLWhl
YWRlci1kZW5pZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA2MjY4OCkKKysrIExheW91dFRlc3Rz
L2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWFzeW5j
LWhlYWRlci1kZW5pZWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEsNCBA
QAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFhNTEh0dHBSZXF1ZXN0IGNhbm5vdCBsb2FkIGh0
dHA6Ly9sb2NhbGhvc3Q6ODAwMC94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvYWNjZXNzLWNvbnRy
b2wtcHJlZmxpZ2h0LWRlbmllZC14c3JmLnBocC4gT3JpZ2luIGh0dHA6Ly8xMjcuMC4wLjE6ODAw
MCBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4gcmVzcG9uc2Ug
aGVhZGVyLgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE6IFhNTEh0dHBSZXF1ZXN0IGNhbm5vdCBs
b2FkIGh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvYWNjZXNz
LWNvbnRyb2wtcHJlZmxpZ2h0LWRlbmllZC14c3JmLnBocD9zdGF0ZT1oZWFkZXIuIFJlcXVlc3Qg
aGVhZGVyIGZpZWxkIFgtTk9OLVNUQU5EQVJEIGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250
cm9sLUFsbG93LUhlYWRlcnMgcmVzcG9uc2UgaGVhZGVyIGZpZWxkLgogUEFTUzogUmVxdWVzdCBz
dWNjZXNzZnVsbHkgYmxvY2tlZC4KIAogCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3ht
bGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1hc3luYy1oZWFkZXItZGVuaWVk
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVz
dC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtYXN5bmMtaGVhZGVyLWRlbmllZC5odG1sCShyZXZp
c2lvbiA2MjY4OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYWNj
ZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWFzeW5jLWhlYWRlci1kZW5pZWQuaHRtbAkod29ya2luZyBj
b3B5KQpAQCAtNywxNiArNywxNSBAQCBmdW5jdGlvbiBsb2cobWVzc2FnZSkKICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRl
eHROb2RlKG1lc3NhZ2UgKyAiXG4iKSk7CiB9CiAKLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpIHsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCiAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotfQogCiAoZnVuY3Rpb24oKSB7CiAgICAgdmFyIHho
ciA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogCiAgICAgdHJ5IHsKICAgICAgICAgeGhyLm9wZW4o
IkdFVCIsICJodHRwOi8vbG9jYWxob3N0OjgwMDAveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2Fj
Y2Vzcy1jb250cm9sLXByZWZsaWdodC1kZW5pZWQteHNyZi5waHA/c3RhdGU9cmVzZXQiLCBmYWxz
ZSk7Ci0gICAgICAgIHhoci5zZW5kKCIiKTsKKyAgICAgICAgeGhyLnNlbmQobnVsbCk7CiAgICAg
fSBjYXRjaChlKSB7CiAgICAgICAgIGxvZygiRkFJTDogVW5hYmxlIHRvIHJlc2V0IHNlcnZlciBz
dGF0ZTogWyIgKyBlLm1lc3NhZ2UgKyAiXS4iKTsKICAgICAgICAgcmV0dXJuOwpAQCAtMjUsMjAg
KzI0LDIwIEBAIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKICAgICB4aHIgPSBu
ZXcgWE1MSHR0cFJlcXVlc3QoKTsKIAogICAgIHRyeSB7Ci0gICAgICAgIHhoci5vcGVuKCJHRVQi
LCAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9hY2Nlc3Mt
Y29udHJvbC1wcmVmbGlnaHQtZGVuaWVkLXhzcmYucGhwIiwgZmFsc2UpOworICAgICAgICB4aHIu
b3BlbigiR0VUIiwgImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC94bWxodHRwcmVxdWVzdC9yZXNvdXJj
ZXMvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWRlbmllZC14c3JmLnBocD9zdGF0ZT1oZWFkZXIi
LCB0cnVlKTsKICAgICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoIlgtTk9OLVNUQU5EQVJEIiwg
ImZpbGxlciIpOwogICAgIH0gY2F0Y2goZSkgewogICAgICAgICBsb2coIkZBSUw6IEV4Y2VwdGlv
biB0aHJvd24uIENyb3NzLWRvbWFpbiBhY2Nlc3MgaXMgbm90IGFsbG93ZWQgaW4gZmlyc3QgJ29w
ZW4nLiBbIiArIGUubWVzc2FnZSArICJdLiIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0g
ICAgeGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uKCkgeworICAgIHhoci5vbmVycm9y
ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogCiAg
ICAgICAgIHRyeSB7CiAgICAgICAgICAgICB4aHIub3BlbigiR0VUIiwgImh0dHA6Ly9sb2NhbGhv
c3Q6ODAwMC94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0
LWRlbmllZC14c3JmLnBocD9zdGF0ZT1jb21wbGV0ZSIsIGZhbHNlKTsKICAgICAgICAgICAgIHRy
eSB7Ci0gICAgICAgICAgICAgICAgeGhyLnNlbmQoIiIpOworICAgICAgICAgICAgICAgIHhoci5z
ZW5kKG51bGwpOwogICAgICAgICAgICAgfSBjYXRjaChlKSB7CiAgICAgICAgICAgICAgICAgbG9n
KCJGQUlMOiBFeGNlcHRpb24gdGhyb3duLiBDcm9zcy1kb21haW4gYWNjZXNzIGlzIG5vdCBhbGxv
d2VkIGluIHNlY29uZCAnc2VuZCcuIFsiICsgZS5tZXNzYWdlICsgIl0uIik7CiAgICAgICAgICAg
ICB9CkBAIC00OCwxNSArNDcsMTMgQEAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikg
ewogCiAgICAgICAgIGxvZyh4aHIucmVzcG9uc2VUZXh0KTsKICAgICB9Ci0KLSAgICB0cnkgewot
ICAgICAgICB4aHIuc2VuZCgiIik7Ci0gICAgICAgIGxvZygiRkFJTDogQ3Jvc3MtZG9tYWluIGFj
Y2VzcyBhbGxvd2VkIGluIGZpcnN0IHNlbmQgd2l0aG91dCB0aHJvd2luZyBhbiBleGNlcHRpb24i
KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0gY2F0Y2goZSkgewotICAgICAgICAvLyBFYXQgdGhl
IGV4Y2VwdGlvbi4KKyAgICAKKyAgICB4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gZnVuY3Rpb24o
KSB7CisgICAgICAgIGlmICh4aHIucmVhZHlTdGF0ZSA9PSA0ICYmIHhoci5zdGF0dXMgPT0gMjAw
KQorICAgICAgICAgICAgbG9nKCJGQUlMOiBDcm9zcy1kb21haW4gYWNjZXNzIGFsbG93ZWQgaW4g
Zmlyc3Qgc2VuZCB3aXRob3V0IHRocm93aW5nIGFuIGV4Y2VwdGlvbiIpOwogICAgIH0KLSAgIAor
CisgICAgeGhyLnNlbmQobnVsbCk7CiB9KSgpOwogPC9zY3JpcHQ+CiA8L2JvZHk+CkluZGV4OiBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZs
aWdodC1hc3luYy1tZXRob2QtZGVuaWVkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZsaWdo
dC1hc3luYy1tZXRob2QtZGVuaWVkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNjI2ODgpCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZs
aWdodC1hc3luYy1tZXRob2QtZGVuaWVkLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBYTUxIdHRwUmVxdWVzdCBjYW5u
b3QgbG9hZCBodHRwOi8vbG9jYWxob3N0OjgwMDAveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2Fj
Y2Vzcy1jb250cm9sLXByZWZsaWdodC1kZW5pZWQteHNyZi5waHAuIE9yaWdpbiBodHRwOi8vMTI3
LjAuMC4xOjgwMDAgaXMgbm90IGFsbG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu
IHJlc3BvbnNlIGhlYWRlci4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBYTUxIdHRwUmVxdWVz
dCBjYW5ub3QgbG9hZCBodHRwOi8vbG9jYWxob3N0OjgwMDAveG1saHR0cHJlcXVlc3QvcmVzb3Vy
Y2VzL2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1kZW5pZWQteHNyZi5waHA/c3RhdGU9bWV0aG9k
LiBNZXRob2QgREVMRVRFIGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU1l
dGhvZHMgcmVzcG9uc2UgaGVhZGVyIGZpZWxkLgogUEFTUzogUmVxdWVzdCBzdWNjZXNzZnVsbHkg
YmxvY2tlZC4KIAogCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0
L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1hc3luYy1tZXRob2QtZGVuaWVkLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29u
dHJvbC1wcmVmbGlnaHQtYXN5bmMtbWV0aG9kLWRlbmllZC5odG1sCShyZXZpc2lvbiA2MjY4OCkK
KysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wt
cHJlZmxpZ2h0LWFzeW5jLW1ldGhvZC1kZW5pZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNywx
NiArNywxNSBAQCBmdW5jdGlvbiBsb2cobWVzc2FnZSkKICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnY29uc29sZScpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1lc3Nh
Z2UgKyAiXG4iKSk7CiB9CiAKLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKK2lm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCiAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOwotfQogCiAoZnVuY3Rpb24oKSB7CiAgICAgdmFyIHhociA9IG5ldyBYTUxI
dHRwUmVxdWVzdCgpOwogCiAgICAgdHJ5IHsKICAgICAgICAgeGhyLm9wZW4oIkdFVCIsICJodHRw
Oi8vbG9jYWxob3N0OjgwMDAveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9s
LXByZWZsaWdodC1kZW5pZWQteHNyZi5waHA/c3RhdGU9cmVzZXQiLCBmYWxzZSk7Ci0gICAgICAg
IHhoci5zZW5kKCIiKTsKKyAgICAgICAgeGhyLnNlbmQobnVsbCk7CiAgICAgfSBjYXRjaChlKSB7
CiAgICAgICAgIGxvZygiRkFJTDogVW5hYmxlIHRvIHJlc2V0IHNlcnZlciBzdGF0ZTogWyIgKyBl
Lm1lc3NhZ2UgKyAiXS4iKTsKICAgICAgICAgcmV0dXJuOwpAQCAtMjUsMTkgKzI0LDE5IEBAIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKICAgICB4aHIgPSBuZXcgWE1MSHR0cFJl
cXVlc3QoKTsKIAogICAgIHRyeSB7Ci0gICAgICAgIHhoci5vcGVuKCJERUxFVEUiLCAiaHR0cDov
L2xvY2FsaG9zdDo4MDAwL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1w
cmVmbGlnaHQtZGVuaWVkLXhzcmYucGhwIiwgZmFsc2UpOworICAgICAgICB4aHIub3BlbigiREVM
RVRFIiwgImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvYWNj
ZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWRlbmllZC14c3JmLnBocD9zdGF0ZT1tZXRob2QiLCB0cnVl
KTsKICAgICB9IGNhdGNoKGUpIHsKICAgICAgICAgbG9nKCJGQUlMOiBFeGNlcHRpb24gdGhyb3du
LiBDcm9zcy1kb21haW4gYWNjZXNzIGlzIG5vdCBhbGxvd2VkIGluIGZpcnN0ICdvcGVuJy4gWyIg
KyBlLm1lc3NhZ2UgKyAiXS4iKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIHhoci5v
bnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpIHsKKyAgICB4aHIub25lcnJvciA9IGZ1bmN0
aW9uKCkgewogICAgICAgICB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKIAogICAgICAgICB0
cnkgewogICAgICAgICAgICAgeGhyLm9wZW4oIkdFVCIsICJodHRwOi8vbG9jYWxob3N0OjgwMDAv
eG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1kZW5pZWQt
eHNyZi5waHA/c3RhdGU9Y29tcGxldGUiLCBmYWxzZSk7CiAgICAgICAgICAgICB0cnkgewotICAg
ICAgICAgICAgICAgIHhoci5zZW5kKCIiKTsKKyAgICAgICAgICAgICAgICB4aHIuc2VuZChudWxs
KTsKICAgICAgICAgICAgIH0gY2F0Y2goZSkgewogICAgICAgICAgICAgICAgIGxvZygiRkFJTDog
RXhjZXB0aW9uIHRocm93bi4gQ3Jvc3MtZG9tYWluIGFjY2VzcyBpcyBub3QgYWxsb3dlZCBpbiBz
ZWNvbmQgJ3NlbmQnLiBbIiArIGUubWVzc2FnZSArICJdLiIpOwogICAgICAgICAgICAgfQpAQCAt
NDgsMTQgKzQ3LDEyIEBAIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKICAgICAg
ICAgbG9nKHhoci5yZXNwb25zZVRleHQpOwogICAgIH0KIAotICAgIHRyeSB7Ci0gICAgICAgIHho
ci5zZW5kKCIiKTsKLSAgICAgICAgbG9nKCJGQUlMOiBDcm9zcy1kb21haW4gYWNjZXNzIGFsbG93
ZWQgaW4gZmlyc3Qgc2VuZCB3aXRob3V0IHRocm93aW5nIGFuIGV4Y2VwdGlvbiIpOwotICAgICAg
ICByZXR1cm47Ci0gICAgfSBjYXRjaChlKSB7Ci0gICAgICAgIC8vIEVhdCB0aGUgZXhjZXB0aW9u
LgorICAgIHhoci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgaWYg
KHhoci5yZWFkeVN0YXRlID09IDQgJiYgeGhyLnN0YXR1cyA9PSAyMDApCisgICAgICAgICAgICBs
b2coIkZBSUw6IENyb3NzLWRvbWFpbiBhY2Nlc3MgYWxsb3dlZCBpbiBmaXJzdCBzZW5kIHdpdGhv
dXQgdGhyb3dpbmcgYW4gZXhjZXB0aW9uIik7CiAgICAgfQotICAgCisKKyAgICB4aHIuc2VuZChu
dWxsKTsKIH0pKCk7CiA8L3NjcmlwdD4KIDwvYm9keT4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAv
dGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWFzeW5jLW5vdC1z
dXBwb3J0ZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWFzeW5jLW5vdC1zdXBw
b3J0ZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtYXN5bmMtbm90LXN1cHBv
cnRlZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNCBAQAorQ09OU09MRSBN
RVNTQUdFOiBsaW5lIDE6IFhNTEh0dHBSZXF1ZXN0IGNhbm5vdCBsb2FkIGh0dHA6Ly9sb2NhbGhv
c3Q6ODAwMC94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0
LWRlbmllZC14c3JmLnBocC4gT3JpZ2luIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMCBpcyBub3QgYWxs
b3dlZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4gcmVzcG9uc2UgaGVhZGVyLgorUEFT
UzogUmVxdWVzdCBzdWNjZXNzZnVsbHkgYmxvY2tlZC4KKworCkluZGV4OiBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1hc3luYy1u
b3Qtc3VwcG9ydGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94
bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtYXN5bmMtbm90LXN1cHBvcnRl
ZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtYXN5bmMtbm90LXN1cHBvcnRlZC5odG1sCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU5IEBACis8aHRtbD4KKzxib2R5PgorPHByZSBpZD0nY29u
c29sZSc+PC9wcmU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitmdW5jdGlvbiBs
b2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpLmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1lc3NhZ2UgKyAiXG4iKSk7Cit9CisK
K2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOworCisoZnVuY3Rpb24oKSB7CisgICAgdmFyIHhociA9IG5ldyBYTUxI
dHRwUmVxdWVzdCgpOworCisgICAgdHJ5IHsKKyAgICAgICAgeGhyLm9wZW4oIkdFVCIsICJodHRw
Oi8vbG9jYWxob3N0OjgwMDAveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9s
LXByZWZsaWdodC1kZW5pZWQteHNyZi5waHA/c3RhdGU9cmVzZXQiLCBmYWxzZSk7CisgICAgICAg
IHhoci5zZW5kKG51bGwpOworICAgIH0gY2F0Y2goZSkgeworICAgICAgICBsb2coIkZBSUw6IFVu
YWJsZSB0byByZXNldCBzZXJ2ZXIgc3RhdGU6IFsiICsgZS5tZXNzYWdlICsgIl0uIik7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKKwor
ICAgIHRyeSB7CisgICAgICAgIHhoci5vcGVuKCJQVVQiLCAiaHR0cDovL2xvY2FsaG9zdDo4MDAw
L3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtZGVuaWVk
LXhzcmYucGhwIiwgdHJ1ZSk7CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIGxvZygiRkFJTDog
RXhjZXB0aW9uIHRocm93bi4gQ3Jvc3MtZG9tYWluIGFjY2VzcyBpcyBub3QgYWxsb3dlZCBpbiBm
aXJzdCAnb3BlbicuIFsiICsgZS5tZXNzYWdlICsgIl0uIik7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICB4aHIub25lcnJvciA9IGZ1bmN0aW9uKCkgeworICAgICAgICB4aHIgPSBuZXcg
WE1MSHR0cFJlcXVlc3QoKTsKKworICAgICAgICB0cnkgeworICAgICAgICAgICAgeGhyLm9wZW4o
IkdFVCIsICJodHRwOi8vbG9jYWxob3N0OjgwMDAveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2Fj
Y2Vzcy1jb250cm9sLXByZWZsaWdodC1kZW5pZWQteHNyZi5waHA/c3RhdGU9Y29tcGxldGUiLCBm
YWxzZSk7CisgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgIHhoci5zZW5kKG51bGwp
OworICAgICAgICAgICAgfSBjYXRjaChlKSB7CisgICAgICAgICAgICAgICAgbG9nKCJGQUlMOiBF
eGNlcHRpb24gdGhyb3duLiBDcm9zcy1kb21haW4gYWNjZXNzIGlzIG5vdCBhbGxvd2VkIGluIHNl
Y29uZCAnc2VuZCcuIFsiICsgZS5tZXNzYWdlICsgIl0uIik7CisgICAgICAgICAgICB9CisgICAg
ICAgIH0gY2F0Y2goZSkgeworICAgICAgICAgICAgbG9nKCJGQUlMOiBFeGNlcHRpb24gdGhyb3du
LiBDcm9zcy1kb21haW4gYWNjZXNzIGlzIG5vdCBhbGxvd2VkIGluIHNlY29uZCAnb3BlbicuIFsi
ICsgZS5tZXNzYWdlICsgIl0uIik7CisgICAgICAgIH0KKworICAgICAgICBsb2coeGhyLnJlc3Bv
bnNlVGV4dCk7CisgICAgfQorCisgICAgeGhyLm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9u
KCkgeworICAgICAgICBpZiAoeGhyLnJlYWR5U3RhdGUgPT0gNCAmJiB4aHIuc3RhdHVzID09IDIw
MCkKKyAgICAgICAgICAgIGxvZygiRkFJTDogQ3Jvc3MtZG9tYWluIGFjY2VzcyBhbGxvd2VkIGlu
IGZpcnN0IHNlbmQgd2l0aG91dCB0aHJvd2luZyBhbiBleGNlcHRpb24iKTsKKyAgICB9CisKKyAg
ICB4aHIuc2VuZCgiIik7Cit9KSgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4
OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXBy
ZWZsaWdodC1zeW5jLWhlYWRlci1kZW5pZWQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxp
Z2h0LXN5bmMtaGVhZGVyLWRlbmllZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDYyNjg4KQorKysg
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1wcmVm
bGlnaHQtc3luYy1oZWFkZXItZGVuaWVkLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAt
MSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBYTUxIdHRwUmVxdWVzdCBjYW5u
b3QgbG9hZCBodHRwOi8vbG9jYWxob3N0OjgwMDAveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2Fj
Y2Vzcy1jb250cm9sLXByZWZsaWdodC1kZW5pZWQteHNyZi5waHAuIE9yaWdpbiBodHRwOi8vMTI3
LjAuMC4xOjgwMDAgaXMgbm90IGFsbG93ZWQgYnkgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2lu
IHJlc3BvbnNlIGhlYWRlci4KK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxOiBYTUxIdHRwUmVxdWVz
dCBjYW5ub3QgbG9hZCBodHRwOi8vbG9jYWxob3N0OjgwMDAveG1saHR0cHJlcXVlc3QvcmVzb3Vy
Y2VzL2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1kZW5pZWQteHNyZi5waHA/c3RhdGU9aGVhZGVy
LiBSZXF1ZXN0IGhlYWRlciBmaWVsZCBYLU5PTi1TVEFOREFSRCBpcyBub3QgYWxsb3dlZCBieSBB
Y2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIHJlc3BvbnNlIGhlYWRlciBmaWVsZC4KIFBBU1M6
IFJlcXVlc3Qgc3VjY2Vzc2Z1bGx5IGJsb2NrZWQuCiAKIApJbmRleDogTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtc3luYy1oZWFk
ZXItZGVuaWVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxo
dHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtc3luYy1oZWFkZXItZGVuaWVkLmh0
bWwJKHJldmlzaW9uIDYyNjg4KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtc3luYy1oZWFkZXItZGVuaWVkLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTcsMTYgKzcsMTUgQEAgZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCiAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKS5hcHBlbmRDaGlsZChkb2N1bWVudC5j
cmVhdGVUZXh0Tm9kZShtZXNzYWdlICsgIlxuIikpOwogfQogCi1pZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQogICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLX0KIAogKGZ1bmN0aW9uKCkgewogICAg
IHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKIAogICAgIHRyeSB7CiAgICAgICAgIHho
ci5vcGVuKCJHRVQiLCAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3htbGh0dHByZXF1ZXN0L3Jlc291
cmNlcy9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtZGVuaWVkLXhzcmYucGhwP3N0YXRlPXJlc2V0
IiwgZmFsc2UpOwotICAgICAgICB4aHIuc2VuZCgiIik7CisgICAgICAgIHhoci5zZW5kKG51bGwp
OwogICAgIH0gY2F0Y2goZSkgewogICAgICAgICBsb2coIkZBSUw6IFVuYWJsZSB0byByZXNldCBz
ZXJ2ZXIgc3RhdGU6IFsiICsgZS5tZXNzYWdlICsgIl0uIik7CiAgICAgICAgIHJldHVybjsKQEAg
LTI1LDcgKzI0LDcgQEAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewogICAgIHho
ciA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwogCiAgICAgdHJ5IHsKLSAgICAgICAgeGhyLm9wZW4o
IkdFVCIsICJodHRwOi8vbG9jYWxob3N0OjgwMDAveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2Fj
Y2Vzcy1jb250cm9sLXByZWZsaWdodC1kZW5pZWQteHNyZi5waHAiLCBmYWxzZSk7CisgICAgICAg
IHhoci5vcGVuKCJHRVQiLCAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL3htbGh0dHByZXF1ZXN0L3Jl
c291cmNlcy9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtZGVuaWVkLXhzcmYucGhwP3N0YXRlPWhl
YWRlciIsIGZhbHNlKTsKICAgICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoIlgtTk9OLVNUQU5E
QVJEIiwgImZpbGxlciIpOwogICAgIH0gY2F0Y2goZSkgewogICAgICAgICBsb2coIkZBSUw6IEV4
Y2VwdGlvbiB0aHJvd24uIENyb3NzLWRvbWFpbiBhY2Nlc3MgaXMgbm90IGFsbG93ZWQgaW4gZmly
c3QgJ29wZW4nLiBbIiArIGUubWVzc2FnZSArICJdLiIpOwpAQCAtMzMsNyArMzIsNyBAQCBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CiAgICAgfQogCiAgICAgdHJ5IHsKLSAgICAg
ICAgeGhyLnNlbmQoIiIpOworICAgICAgICB4aHIuc2VuZChudWxsKTsKICAgICAgICAgbG9nKCJG
QUlMOiBDcm9zcy1kb21haW4gYWNjZXNzIGFsbG93ZWQgaW4gZmlyc3Qgc2VuZCB3aXRob3V0IHRo
cm93aW5nIGFuIGV4Y2VwdGlvbiIpOwogICAgICAgICByZXR1cm47CiAgICAgfSBjYXRjaChlKSB7
CkBAIC01MCw3ICs0OSw3IEBAIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKICAg
ICB9CiAKICAgICB0cnkgewotICAgICAgICB4aHIuc2VuZCgiIik7CisgICAgICAgIHhoci5zZW5k
KG51bGwpOwogICAgIH0gY2F0Y2goZSkgewogICAgICAgICBsb2coIkZBSUw6IEV4Y2VwdGlvbiB0
aHJvd24uIENyb3NzLWRvbWFpbiBhY2Nlc3MgaXMgbm90IGFsbG93ZWQgaW4gc2Vjb25kICdzZW5k
Jy4gWyIgKyBlLm1lc3NhZ2UgKyAiXS4iKTsKICAgICAgICAgcmV0dXJuOwpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQt
c3luYy1tZXRob2QtZGVuaWVkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1zeW5j
LW1ldGhvZC1kZW5pZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA2MjY4OCkKKysrIExheW91dFRl
c3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LXN5
bmMtbWV0aG9kLWRlbmllZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw0
IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogWE1MSHR0cFJlcXVlc3QgY2Fubm90IGxvYWQg
aHR0cDovL2xvY2FsaG9zdDo4MDAwL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9hY2Nlc3MtY29u
dHJvbC1wcmVmbGlnaHQtZGVuaWVkLXhzcmYucGhwLiBPcmlnaW4gaHR0cDovLzEyNy4wLjAuMTo4
MDAwIGlzIG5vdCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiByZXNwb25z
ZSBoZWFkZXIuCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTogWE1MSHR0cFJlcXVlc3QgY2Fubm90
IGxvYWQgaHR0cDovL2xvY2FsaG9zdDo4MDAwL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9hY2Nl
c3MtY29udHJvbC1wcmVmbGlnaHQtZGVuaWVkLXhzcmYucGhwP3N0YXRlPW1ldGhvZC4gTWV0aG9k
IERFTEVURSBpcyBub3QgYWxsb3dlZCBieSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIHJl
c3BvbnNlIGhlYWRlciBmaWVsZC4KIFBBU1M6IFJlcXVlc3Qgc3VjY2Vzc2Z1bGx5IGJsb2NrZWQu
CiAKIApJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nlc3Mt
Y29udHJvbC1wcmVmbGlnaHQtc3luYy1tZXRob2QtZGVuaWVkLmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1wcmVm
bGlnaHQtc3luYy1tZXRob2QtZGVuaWVkLmh0bWwJKHJldmlzaW9uIDYyNjg4KQorKysgTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQt
c3luYy1tZXRob2QtZGVuaWVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTcsMTYgKzcsMTUgQEAg
ZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNv
bGUnKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShtZXNzYWdlICsgIlxuIikp
OwogfQogCi1pZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CitpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQogICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
KTsKLX0KIAogKGZ1bmN0aW9uKCkgewogICAgIHZhciB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3Qo
KTsKIAogICAgIHRyeSB7CiAgICAgICAgIHhoci5vcGVuKCJHRVQiLCAiaHR0cDovL2xvY2FsaG9z
dDo4MDAwL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQt
ZGVuaWVkLXhzcmYucGhwP3N0YXRlPXJlc2V0IiwgZmFsc2UpOwotICAgICAgICB4aHIuc2VuZCgi
Iik7CisgICAgICAgIHhoci5zZW5kKG51bGwpOwogICAgIH0gY2F0Y2goZSkgewogICAgICAgICBs
b2coIkZBSUw6IFVuYWJsZSB0byByZXNldCBzZXJ2ZXIgc3RhdGU6IFsiICsgZS5tZXNzYWdlICsg
Il0uIik7CiAgICAgICAgIHJldHVybjsKQEAgLTI1LDE0ICsyNCwxNCBAQCBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKSB7CiAgICAgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7CiAK
ICAgICB0cnkgewotICAgICAgICB4aHIub3BlbigiREVMRVRFIiwgImh0dHA6Ly9sb2NhbGhvc3Q6
ODAwMC94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWRl
bmllZC14c3JmLnBocCIsIGZhbHNlKTsKKyAgICAgICAgeGhyLm9wZW4oIkRFTEVURSIsICJodHRw
Oi8vbG9jYWxob3N0OjgwMDAveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9s
LXByZWZsaWdodC1kZW5pZWQteHNyZi5waHA/c3RhdGU9bWV0aG9kIiwgZmFsc2UpOwogICAgIH0g
Y2F0Y2goZSkgewogICAgICAgICBsb2coIkZBSUw6IEV4Y2VwdGlvbiB0aHJvd24uIENyb3NzLWRv
bWFpbiBhY2Nlc3MgaXMgbm90IGFsbG93ZWQgaW4gZmlyc3QgJ29wZW4nLiBbIiArIGUubWVzc2Fn
ZSArICJdLiIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgdHJ5IHsKLSAgICAgICAg
eGhyLnNlbmQoIiIpOworICAgICAgICB4aHIuc2VuZChudWxsKTsKICAgICAgICAgbG9nKCJGQUlM
OiBDcm9zcy1kb21haW4gYWNjZXNzIGFsbG93ZWQgaW4gZmlyc3Qgc2VuZCB3aXRob3V0IHRocm93
aW5nIGFuIGV4Y2VwdGlvbiIpOwogICAgICAgICByZXR1cm47CiAgICAgfSBjYXRjaChlKSB7CkBA
IC00OSw3ICs0OCw3IEBAIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKICAgICB9
CiAKICAgICB0cnkgewotICAgICAgICB4aHIuc2VuZCgiIik7CisgICAgICAgIHhoci5zZW5kKG51
bGwpOwogICAgIH0gY2F0Y2goZSkgewogICAgICAgICBsb2coIkZBSUw6IEV4Y2VwdGlvbiB0aHJv
d24uIENyb3NzLWRvbWFpbiBhY2Nlc3MgaXMgbm90IGFsbG93ZWQgaW4gc2Vjb25kICdzZW5kJy4g
WyIgKyBlLm1lc3NhZ2UgKyAiXS4iKTsKICAgICAgICAgcmV0dXJuOwpJbmRleDogTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtc3lu
Yy1ub3Qtc3VwcG9ydGVkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1zeW5jLW5v
dC1zdXBwb3J0ZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtc3luYy1ub3Qt
c3VwcG9ydGVkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0IEBACitDT05T
T0xFIE1FU1NBR0U6IGxpbmUgMTogWE1MSHR0cFJlcXVlc3QgY2Fubm90IGxvYWQgaHR0cDovL2xv
Y2FsaG9zdDo4MDAwL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1wcmVm
bGlnaHQtZGVuaWVkLXhzcmYucGhwLiBPcmlnaW4gaHR0cDovLzEyNy4wLjAuMTo4MDAwIGlzIG5v
dCBhbGxvd2VkIGJ5IEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiByZXNwb25zZSBoZWFkZXIu
CitQQVNTOiBSZXF1ZXN0IHN1Y2Nlc3NmdWxseSBibG9ja2VkLgorCisKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LXN5
bmMtbm90LXN1cHBvcnRlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVz
dHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LXN5bmMtbm90LXN1cHBv
cnRlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRw
cmVxdWVzdC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtc3luYy1ub3Qtc3VwcG9ydGVkLmh0bWwJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNjEgQEAKKzxodG1sPgorPGJvZHk+Cis8cHJlIGlkPSdj
b25zb2xlJz48L3ByZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2Z1bmN0aW9u
IGxvZyhtZXNzYWdlKQoreworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25zb2xlJyku
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobWVzc2FnZSArICJcbiIpKTsKK30K
KworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7CisKKyhmdW5jdGlvbigpIHsKKyAgICB2YXIgeGhyID0gbmV3IFhN
TEh0dHBSZXF1ZXN0KCk7CisKKyAgICB0cnkgeworICAgICAgICB4aHIub3BlbigiR0VUIiwgImh0
dHA6Ly9sb2NhbGhvc3Q6ODAwMC94bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvYWNjZXNzLWNvbnRy
b2wtcHJlZmxpZ2h0LWRlbmllZC14c3JmLnBocD9zdGF0ZT1yZXNldCIsIGZhbHNlKTsKKyAgICAg
ICAgeGhyLnNlbmQobnVsbCk7CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIGxvZygiRkFJTDog
VW5hYmxlIHRvIHJlc2V0IHNlcnZlciBzdGF0ZTogWyIgKyBlLm1lc3NhZ2UgKyAiXS4iKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwor
CisgICAgdHJ5IHsKKyAgICAgICAgeGhyLm9wZW4oIlBVVCIsICJodHRwOi8vbG9jYWxob3N0Ojgw
MDAveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1kZW5p
ZWQteHNyZi5waHAiLCBmYWxzZSk7CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIGxvZygiRkFJ
TDogRXhjZXB0aW9uIHRocm93bi4gQ3Jvc3MtZG9tYWluIGFjY2VzcyBpcyBub3QgYWxsb3dlZCBp
biBmaXJzdCAnb3BlbicuIFsiICsgZS5tZXNzYWdlICsgIl0uIik7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICB0cnkgeworICAgICAgICB4aHIuc2VuZChudWxsKTsKKyAgICAgICAgbG9n
KCJGQUlMOiBDcm9zcy1kb21haW4gYWNjZXNzIGFsbG93ZWQgaW4gZmlyc3Qgc2VuZCB3aXRob3V0
IHRocm93aW5nIGFuIGV4Y2VwdGlvbiIpOworICAgICAgICByZXR1cm47CisgICAgfSBjYXRjaChl
KSB7CisgICAgICAgIC8vIEVhdCB0aGUgZXhjZXB0aW9uLgorICAgIH0KKworICAgIHhociA9IG5l
dyBYTUxIdHRwUmVxdWVzdCgpOworCisgICAgdHJ5IHsKKyAgICAgICAgeGhyLm9wZW4oIkdFVCIs
ICJodHRwOi8vbG9jYWxob3N0OjgwMDAveG1saHR0cHJlcXVlc3QvcmVzb3VyY2VzL2FjY2Vzcy1j
b250cm9sLXByZWZsaWdodC1kZW5pZWQteHNyZi5waHA/c3RhdGU9Y29tcGxldGUiLCBmYWxzZSk7
CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIGxvZygiRkFJTDogRXhjZXB0aW9uIHRocm93bi4g
Q3Jvc3MtZG9tYWluIGFjY2VzcyBpcyBub3QgYWxsb3dlZCBpbiBzZWNvbmQgJ29wZW4nLiBbIiAr
IGUubWVzc2FnZSArICJdLiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgdHJ5IHsK
KyAgICAgICAgeGhyLnNlbmQobnVsbCk7CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIGxvZygi
RkFJTDogRXhjZXB0aW9uIHRocm93bi4gQ3Jvc3MtZG9tYWluIGFjY2VzcyBpcyBub3QgYWxsb3dl
ZCBpbiBzZWNvbmQgJ3NlbmQnLiBbIiArIGUubWVzc2FnZSArICJdLiIpOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgbG9nKHhoci5yZXNwb25zZVRleHQpOworfSkoKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy94bWxodHRw
cmVxdWVzdC9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtcHJlZmxpZ2h0LWRlbmllZC14c3JmLnBo
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L3Jl
c291cmNlcy9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtZGVuaWVkLXhzcmYucGhwCShyZXZpc2lv
biA2MjY4OCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvcmVzb3Vy
Y2VzL2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1kZW5pZWQteHNyZi5waHAJKHdvcmtpbmcgY29w
eSkKQEAgLTgsNyArOCw3IEBAIGZ1bmN0aW9uIGZhaWwoJHN0YXRlKQogICAgIGhlYWRlcigiQWNj
ZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAiKTsKICAgICBo
ZWFkZXIoIkFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzOiB0cnVlIik7CiAgICAgaGVh
ZGVyKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzOiBHRVQiKTsKLSAgICBoZWFkZXIoIkFj
Y2Vzcy1Db250cm9sLU1heC1BZ2U6IDAiKTsKKyAgICBoZWFkZXIoIkFjY2Vzcy1Db250cm9sLU1h
eC1BZ2U6IDEiKTsKICAgICBlY2hvICJGQUlMRUQ6IElzc3VlZCBhICIgLiAkX1NFUlZFUlsnUkVR
VUVTVF9NRVRIT0QnXSAuICIgcmVxdWVzdCBkdXJpbmcgc3RhdGUgJyIgLiAkc3RhdGUgLiAiJ1xu
IjsKICAgICBleGl0KCk7CiB9CkBAIC0zMiwxMSArMzIsMTYgQEAgaWYgKCRfU0VSVkVSWydSRVFV
RVNUX01FVEhPRCddID09ICJHRVQiIAogICAgICYmICRfR0VUWydzdGF0ZSddID09ICJyZXNldCIp
IHsKICAgICBpZiAoZmlsZV9leGlzdHMoJHRtcEZpbGUpKSB1bmxpbmsoJHRtcEZpbGUpOwogICAg
IGhlYWRlcigiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luOiBodHRwOi8vMTI3LjAuMC4xOjgw
MDAiKTsKLSAgICBoZWFkZXIoIkFjY2Vzcy1Db250cm9sLU1heC1BZ2U6IDAiKTsKKyAgICBoZWFk
ZXIoIkFjY2Vzcy1Db250cm9sLU1heC1BZ2U6IDEiKTsKICAgICBlY2hvICJTZXJ2ZXIgc3RhdGUg
cmVzZXQuXG4iOwogfSBlbHNlIGlmICgkc3RhdGUgPT0gIlVuaW5pdGlhbGl6ZWQiKSB7CiAgICAg
aWYgKCRfU0VSVkVSWydSRVFVRVNUX01FVEhPRCddID09ICJPUFRJT05TIikgewotICAgICAgICBl
Y2hvKCJSZXF1ZXN0IERlbmllZFxuIik7CisgICAgICAgIGlmICgkX0dFVFsnc3RhdGUnXSA9PSAi
bWV0aG9kIiB8fCAkX0dFVFsnc3RhdGUnXSA9PSAiaGVhZGVyIikgeworICAgICAgICAgICAgaGVh
ZGVyKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzOiBHRVQiKTsKKyAgICAgICAgICAgIGhl
YWRlcigiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAi
KTsKKyAgICAgICAgICAgIGhlYWRlcigiQWNjZXNzLUNvbnRyb2wtTWF4LUFnZTogMSIpOworICAg
ICAgICB9CisgICAgICAgIGVjaG8oIkZBSUw6IFRoaXMgcmVxdWVzdCBzaG91bGQgbm90IGJlIGRp
c3BsYXllZC5cbiIpOwogICAgICAgICBzZXRTdGF0ZSgiRGVuaWVkIiwgJHRtcEZpbGUpOwogICAg
IH0gZWxzZSB7CiAgICAgICAgIGZhaWwoJHN0YXRlKTsKQEAgLTQ2LDcgKzUxLDcgQEAgaWYgKCRf
U0VSVkVSWydSRVFVRVNUX01FVEhPRCddID09ICJHRVQiIAogICAgICAgICAmJiAkX0dFVFsnc3Rh
dGUnXSA9PSAiY29tcGxldGUiKSB7CiAgICAgICAgIHVubGluaygkdG1wRmlsZSk7CiAgICAgICAg
IGhlYWRlcigiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luOiBodHRwOi8vMTI3LjAuMC4xOjgw
MDAiKTsKLSAgICAgICAgaGVhZGVyKCJBY2Nlc3MtQ29udHJvbC1NYXgtQWdlOiAwIik7CisgICAg
ICAgIGhlYWRlcigiQWNjZXNzLUNvbnRyb2wtTWF4LUFnZTogMSIpOwogICAgICAgICBlY2hvICJQ
QVNTOiBSZXF1ZXN0IHN1Y2Nlc3NmdWxseSBibG9ja2VkLlxuIjsKICAgICB9IGVsc2UgewogICAg
ICAgICBzZXRTdGF0ZSgiRGVueSBJZ25vcmVkIiwgJHRtcEZpbGUpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>