<?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>148697</bug_id>
          
          <creation_ts>2015-09-01 17:40:30 -0700</creation_ts>
          <short_desc>[mediacontrols] Improve media controls testing helpers</short_desc>
          <delta_ts>2015-09-02 10:33:47 -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>Media</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1122710</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2015-09-01 17:40:30 -0700</bug_when>
    <thetext>[mediacontrols] Improve media controls testing helpers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122711</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-09-01 17:42:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/22530876&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122712</commentid>
    <comment_count>2</comment_count>
      <attachid>260396</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2015-09-01 17:44:11 -0700</bug_when>
    <thetext>Created attachment 260396
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122839</commentid>
    <comment_count>3</comment_count>
      <attachid>260396</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-09-02 10:04:30 -0700</bug_when>
    <thetext>Comment on attachment 260396
Patch

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

Very nice!

&gt; LayoutTests/media/controls/basic.html:9
&gt; +            var tester = new ControlsTest();
&gt; +            tester.whenReady(runTests);
&gt; +            tester.start();

Can you make this even more modern-looking with something like:

var tester = new ControlsTest()
        .whenReady(runTests)
        .start();

:-)

&gt; LayoutTests/media/controls/controls-test-helpers.js:11
&gt; +        this.eventType = eventType || &quot;canplaythrough&quot;;

Nit: maybe &apos;eventTrigger&apos; instead of &apos;eventType&apos;?

&gt; LayoutTests/media/controls/controls-test-helpers.js:66
&gt; +        var textMsg = document.createTextNode(msg);
&gt; +        this.console.appendChild(textMsg);
&gt; +        var br = document.createElement(&quot;br&quot;);
&gt; +        this.console.appendChild(br);

Nit: don&apos;t really need the local variables.

&gt; LayoutTests/media/controls/controls-test-helpers.js:73
&gt; +        this.logMessage(&quot;&quot;);
&gt; +        this.logMessage(msg);
&gt; +        this.logMessage(&quot;&quot;);

Nit: &quot;this.logMessage(&apos;&lt;br&gt;&apos; + msg + &apos;&lt;br&gt;&apos;) would be more concise.

&gt; LayoutTests/media/controls/showControlsButton-expected.txt:12
&gt; +EVENT: canplaythrough
&gt; +PASS: We are using the apple idiom
&gt; +
&gt; +Get the button that shows controls while in Voice Over
&gt; +
&gt; +PASS: Name is &apos;Show Controls&apos;
&gt; +PASS: Is hidden

It would be nice to have a label for the first test section as well. Maybe have the constructor take a label and have start() call startNewSection()?.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122852</commentid>
    <comment_count>4</comment_count>
      <attachid>260396</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2015-09-02 10:33:22 -0700</bug_when>
    <thetext>Comment on attachment 260396
Patch

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

&gt;&gt; LayoutTests/media/controls/basic.html:9
&gt;&gt; +            tester.start();
&gt; 
&gt; Can you make this even more modern-looking with something like:
&gt; 
&gt; var tester = new ControlsTest()
&gt;         .whenReady(runTests)
&gt;         .start();
&gt; 
&gt; :-)

Done!

&gt;&gt; LayoutTests/media/controls/controls-test-helpers.js:11
&gt;&gt; +        this.eventType = eventType || &quot;canplaythrough&quot;;
&gt; 
&gt; Nit: maybe &apos;eventTrigger&apos; instead of &apos;eventType&apos;?

Changed!

&gt;&gt; LayoutTests/media/controls/controls-test-helpers.js:66
&gt;&gt; +        this.console.appendChild(br);
&gt; 
&gt; Nit: don&apos;t really need the local variables.

Removed!

&gt;&gt; LayoutTests/media/controls/controls-test-helpers.js:73
&gt;&gt; +        this.logMessage(&quot;&quot;);
&gt; 
&gt; Nit: &quot;this.logMessage(&apos;&lt;br&gt;&apos; + msg + &apos;&lt;br&gt;&apos;) would be more concise.

That doesn&apos;t quite work because we append a text node (rather than innerHTML). I cleaned it up a bit though.

&gt;&gt; LayoutTests/media/controls/showControlsButton-expected.txt:12
&gt;&gt; +PASS: Is hidden
&gt; 
&gt; It would be nice to have a label for the first test section as well. Maybe have the constructor take a label and have start() call startNewSection()?.

Done. The start() method now takes an optional label.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122853</commentid>
    <comment_count>5</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2015-09-02 10:33:47 -0700</bug_when>
    <thetext>Committed r189254: &lt;http://trac.webkit.org/changeset/189254&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260396</attachid>
            <date>2015-09-01 17:44:11 -0700</date>
            <delta_ts>2015-09-02 10:04:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148697-20150901174353.patch</filename>
            <type>text/plain</type>
            <size>19772</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5MjE3CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYmZiNWY1MDUxMmE4MzYxY2IxNTcy
MmRjMzkxMmJkNjQ3OGQ2MGJkOS4uMjRlOTg5ZDI1ZjU3OWJkZjc5M2FhYjU4OWVkMmRjMjk0Nzk0
NzVhOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI5IEBACiAyMDE1LTA5LTAxICBEZWFuIEphY2tzb24gIDxk
aW5vQGFwcGxlLmNvbT4KIAorICAgICAgICBbbWVkaWFjb250cm9sc10gSW1wcm92ZSBtZWRpYSBj
b250cm9scyB0ZXN0aW5nIGhlbHBlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE0ODY5NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjI1MzA4NzY+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVt
ZW50IGEgbW9yZSBtb2Rlcm4tbG9va2luZyB0ZXN0aW5nIEFQSSBmb3IgbWVkaWEKKyAgICAgICAg
Y29udHJvbHMgdGVzdHMsIGFuZCB1cGRhdGUgdGhlIGV4aXN0aW5nIHRlc3RzIHRvCisgICAgICAg
IHVzZSB0aGUgbmV3IEFQSS4KKworICAgICAgICAqIG1lZGlhL2NvbnRyb2xzL2Jhc2ljLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBtZWRpYS9jb250cm9scy9iYXNpYy5odG1sOgorICAgICAgICAq
IG1lZGlhL2NvbnRyb2xzL2NvbnRyb2xzLXRlc3QtaGVscGVycy5qczoKKyAgICAgICAgKENvbnRy
b2xzVGVzdCk6IE5ldyBjbGFzcyBmb3IgaGVscGluZyB0ZXN0aW5nLgorICAgICAgICAoc3RhdHVz
Rm9yQ29udHJvbHNFbGVtZW50KTogRGVsZXRlZC4KKyAgICAgICAgKiBtZWRpYS9jb250cm9scy9z
aG93Q29udHJvbHNCdXR0b24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL2NvbnRyb2xz
L3Nob3dDb250cm9sc0J1dHRvbi5odG1sOgorICAgICAgICAqIG1lZGlhL2NvbnRyb2xzL3N0YXR1
c0Rpc3BsYXktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIG1lZGlhL2NvbnRyb2xzL3N0YXR1c0Rp
c3BsYXkuaHRtbDoKKyAgICAgICAgKiBtZWRpYS9jb250cm9scy9zdGF0dXNEaXNwbGF5QmFkLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBtZWRpYS9jb250cm9scy9zdGF0dXNEaXNwbGF5QmFkLmh0
bWw6CisKKzIwMTUtMDktMDEgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCiAgICAg
ICAgIFRoZSBuZXcgbWVkaWEgY29udHJvbHMgdGVzdHMgYXJlIE9TIFggb25seS4KIAogICAgICAg
ICAqIHBsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zOgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvbWVkaWEvY29udHJvbHMvYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEv
Y29udHJvbHMvYmFzaWMtZXhwZWN0ZWQudHh0CmluZGV4IDUwMDNlZTRlODA3ZDJiY2RkNDVlMmRj
Yjc3ZWVmN2ZkMWU4NjEyZWMuLmZjZWU2OTc2NzM0OGI5ZWM2ZGRhODc5MDg3YmYzODRmMDcwN2Vi
NjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL2NvbnRyb2xzL2Jhc2ljLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9jb250cm9scy9iYXNpYy1leHBlY3RlZC50eHQK
QEAgLTMsOCArMyw4IEBAIFRoaXMgaXMgYSBiYXNpYyB0ZXN0IG9mIHRoZSBpbnRlcm5hbCBjb250
cm9scyBzdGF0dXMgQVBJLgogVGhpcyB0ZXN0IG9ubHkgcnVucyBpbiBEUlQhCiAKIAotRVZFTlQo
Y2FucGxheXRocm91Z2gpCi1URVNUKGN1cnJlbnRTdGF0dXMgIT0gbnVsbCkgT0sKLUVYUEVDVEVE
IChjdXJyZW50U3RhdHVzLnN0YXR1cyA9PSAnb2snKSBPSwotRU5EIE9GIFRFU1QKK0VWRU5UOiBj
YW5wbGF5dGhyb3VnaAorUEFTUzogQ2hlY2sgdGhhdCBzdGF0dXMgaXMgb2sKKworVGVzdGluZyBm
aW5pc2hlZC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvY29udHJvbHMvYmFzaWMu
aHRtbCBiL0xheW91dFRlc3RzL21lZGlhL2NvbnRyb2xzL2Jhc2ljLmh0bWwKaW5kZXggYzlmMDNi
MjIxMzQ3MmU5M2Y5OGEyOThmMTFjNzgxMjQ4YTY2NDhmYy4uNmFiZjgxYTgzMTdkM2MyNWM0NDU3
MDU1OGM0NWEwNDRmNDIwYmU3ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvY29udHJv
bHMvYmFzaWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9jb250cm9scy9iYXNpYy5odG1s
CkBAIC0yLDM0ICsyLDI0IEBACiA8aHRtbD4KICAgICA8aGVhZD4KICAgICAgICAgPHNjcmlwdCBz
cmM9Ii4uL21lZGlhLWZpbGUuanMiPjwvc2NyaXB0PgotICAgICAgICA8c2NyaXB0IHNyYz0iLi4v
dmlkZW8tdGVzdC5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSJjb250cm9scy10
ZXN0LWhlbHBlcnMuanMiPjwvc2NyaXB0PgogICAgICAgICA8c2NyaXB0PgotICAgICAgICAgICAg
dmFyIHZpZGVvOwotICAgICAgICAgICAgdmFyIGN1cnJlbnRTdGF0dXM7CisgICAgICAgICAgICB2
YXIgdGVzdGVyID0gbmV3IENvbnRyb2xzVGVzdCgpOworICAgICAgICAgICAgdGVzdGVyLndoZW5S
ZWFkeShydW5UZXN0cyk7CisgICAgICAgICAgICB0ZXN0ZXIuc3RhcnQoKTsKIAotICAgICAgICAg
ICAgZnVuY3Rpb24gaW5pdCgpCisgICAgICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCiAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgZmluZE1lZGlhRWxlbWVudCgpOwotICAgICAgICAg
ICAgICAgIHZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgIi4uL2NvbnRlbnQvdGVz
dCIpOworICAgICAgICAgICAgICAgIGN1cnJlbnRTdGF0ZSA9IHRlc3Rlci5jdXJyZW50U3RhdGU7
CisgICAgICAgICAgICAgICAgdGVzdGVyLnRlc3QoIkNoZWNrIHRoYXQgc3RhdHVzIGlzIG9rIikK
KyAgICAgICAgICAgICAgICAgICAgLnZhbHVlKGN1cnJlbnRTdGF0ZS5zdGF0dXMpCisgICAgICAg
ICAgICAgICAgICAgIC5pc0VxdWFsVG8oIm9rIik7CiAKLSAgICAgICAgICAgICAgICB3YWl0Rm9y
RXZlbnQoImNhbnBsYXl0aHJvdWdoIiwgY2FucGxheXRocm91Z2gpOwotICAgICAgICAgICAgICAg
IHdhaXRGb3JFdmVudEFuZEZhaWwoImVycm9yIik7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAg
ICAgIGZ1bmN0aW9uIGNhbnBsYXl0aHJvdWdoKCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQotICAgICAgICAgICAgICAgICAgICByZXR1cm47
Ci0KLSAgICAgICAgICAgICAgICBjdXJyZW50U3RhdHVzID0gSlNPTi5wYXJzZShpbnRlcm5hbHMu
Z2V0Q3VycmVudE1lZGlhQ29udHJvbHNTdGF0dXNGb3JFbGVtZW50KHZpZGVvKSk7Ci0gICAgICAg
ICAgICAgICAgdGVzdCgiY3VycmVudFN0YXR1cyAhPSBudWxsIik7Ci0gICAgICAgICAgICAgICAg
aWYgKGN1cnJlbnRTdGF0dXMpCi0gICAgICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgiY3Vy
cmVudFN0YXR1cy5zdGF0dXMiLCAib2siKTsKLSAgICAgICAgICAgICAgICBlbmRUZXN0KCk7Cisg
ICAgICAgICAgICAgICAgdGVzdGVyLmVuZCgpOwogICAgICAgICAgICAgfQogICAgICAgICA8L3Nj
cmlwdD4KICAgICA8L2hlYWQ+Ci0gICAgPGJvZHkgb25sb2FkPSJpbml0KCkiPgorICAgIDxib2R5
PgogICAgICAgICA8cD5UaGlzIGlzIGEgYmFzaWMgdGVzdCBvZiB0aGUgaW50ZXJuYWwgY29udHJv
bHMgc3RhdHVzIEFQSS48L3A+CiAgICAgICAgIDxwPlRoaXMgdGVzdCBvbmx5IHJ1bnMgaW4gRFJU
ITwvcD4KICAgICAgICAgPHZpZGVvIGNvbnRyb2xzPjwvdmlkZW8+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9tZWRpYS9jb250cm9scy9jb250cm9scy10ZXN0LWhlbHBlcnMuanMgYi9MYXlvdXRU
ZXN0cy9tZWRpYS9jb250cm9scy9jb250cm9scy10ZXN0LWhlbHBlcnMuanMKaW5kZXggNDU4MTA1
NjU3Mjg1ODE4OWFmNzY3NjQxNDMxNTE5NjdlOWQyNGVmMy4uNjFkN2I4OTkzMmQ2NWI4YmE1OTIw
Yzk2MDZlZGQyZTkzY2UzYzg4OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvbWVkaWEvY29udHJv
bHMvY29udHJvbHMtdGVzdC1oZWxwZXJzLmpzCisrKyBiL0xheW91dFRlc3RzL21lZGlhL2NvbnRy
b2xzL2NvbnRyb2xzLXRlc3QtaGVscGVycy5qcwpAQCAtMSwxMCArMSwxNjEgQEAKLWZ1bmN0aW9u
IHN0YXR1c0ZvckNvbnRyb2xzRWxlbWVudChzdGF0dXNPYmplY3QsIGVsZW1lbnROYW1lKQotewot
ICAgIGlmIChzdGF0dXNPYmplY3QuZWxlbWVudHMgJiYgc3RhdHVzT2JqZWN0LmVsZW1lbnRzLmxl
bmd0aCkgewotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHN0YXR1c09iamVjdC5lbGVtZW50
cy5sZW5ndGg7IGkrKykgewotICAgICAgICAgICAgaWYgKHN0YXR1c09iamVjdC5lbGVtZW50c1tp
XS5uYW1lID09IGVsZW1lbnROYW1lKQotICAgICAgICAgICAgICAgIHJldHVybiBzdGF0dXNPYmpl
Y3QuZWxlbWVudHNbaV07CitDb250cm9sc1Rlc3QgPSBjbGFzcyBDb250cm9sc1Rlc3QgeworICAg
IGNvbnN0cnVjdG9yKG1lZGlhVVJMLCBldmVudFR5cGUpCisgICAgeworICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwor
ICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CiAgICAgICAgIH0KKworICAg
ICAgICB0aGlzLmNhbGxiYWNrID0gbnVsbDsKKyAgICAgICAgdGhpcy5tZWRpYVVSTCA9IG1lZGlh
VVJMIHx8ICIuLi9jb250ZW50L3Rlc3QiOworICAgICAgICB0aGlzLmV2ZW50VHlwZSA9IGV2ZW50
VHlwZSB8fCAiY2FucGxheXRocm91Z2giOworICAgICAgICB0aGlzLmN1cnJlbnRNZXNzYWdlID0g
IiI7CisgICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gbnVsbDsKICAgICB9Ci0gICAgcmV0dXJu
IG51bGw7CisKKyAgICB3aGVuUmVhZHkoY2FsbGJhY2spCisgICAgeworICAgICAgICB0aGlzLmNh
bGxiYWNrID0gY2FsbGJhY2s7CisgICAgfQorCisgICAgZ2V0IGN1cnJlbnRTdGF0ZSgpCisgICAg
eworICAgICAgICBpZiAoIXRoaXMubWVkaWEpCisgICAgICAgICAgICByZXR1cm4gbnVsbDsKKwor
ICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgIHJldHVybiBKU09OLnBh
cnNlKGludGVybmFscy5nZXRDdXJyZW50TWVkaWFDb250cm9sc1N0YXR1c0ZvckVsZW1lbnQodGhp
cy5tZWRpYSkpOworCisgICAgICAgIHJldHVybiB7IGlkaW9tOiAiYXBwbGUiIH07CisgICAgfQor
CisgICAgc3RhdGVGb3JDb250cm9sc0VsZW1lbnQoZWxlbWVudE5hbWUpCisgICAgeworICAgICAg
ICB2YXIgc3RhdGUgPSB0aGlzLmN1cnJlbnRTdGF0ZTsKKyAgICAgICAgaWYgKHN0YXRlLmVsZW1l
bnRzICYmIHN0YXRlLmVsZW1lbnRzLmxlbmd0aCkgeworICAgICAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBzdGF0ZS5lbGVtZW50cy5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgICAgIGlm
IChzdGF0ZS5lbGVtZW50c1tpXS5uYW1lID09IGVsZW1lbnROYW1lKQorICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gc3RhdGUuZWxlbWVudHNbaV07CisgICAgICAgICAgICB9CisgICAgICAgIH0K
KyAgICAgICAgcmV0dXJuIG51bGw7CisgICAgfQorCisgICAgaGFuZGxlRXZlbnQoZXZlbnQpCisg
ICAgeworICAgICAgICB0aGlzLmxvZ01lc3NhZ2UoYEVWRU5UOiAke2V2ZW50LnR5cGV9YCk7Cisg
ICAgICAgIGlmIChldmVudC50eXBlID09IHRoaXMuZXZlbnRUeXBlICYmIHRoaXMuY2FsbGJhY2sp
CisgICAgICAgICAgICB0aGlzLmNhbGxiYWNrKCk7CisgICAgfQorCisgICAgbG9nU3VjY2Vzcyht
c2cpCisgICAgeworICAgICAgICB0aGlzLmxvZ01lc3NhZ2UoYFBBU1M6ICR7bXNnfWApOworICAg
IH0KKworICAgIGxvZ0ZhaWx1cmUobXNnKQorICAgIHsKKyAgICAgICAgdGhpcy5sb2dNZXNzYWdl
KGBGQUlMOiAke21zZ31gKTsKKyAgICB9CisKKyAgICBsb2dNZXNzYWdlKG1zZykKKyAgICB7Cisg
ICAgICAgIHZhciB0ZXh0TXNnID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobXNnKTsKKyAgICAg
ICAgdGhpcy5jb25zb2xlLmFwcGVuZENoaWxkKHRleHRNc2cpOworICAgICAgICB2YXIgYnIgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJiciIpOworICAgICAgICB0aGlzLmNvbnNvbGUuYXBwZW5k
Q2hpbGQoYnIpOworICAgIH0KKworICAgIHN0YXJ0TmV3U2VjdGlvbihtc2cpCisgICAgeworICAg
ICAgICB0aGlzLmxvZ01lc3NhZ2UoIiIpOworICAgICAgICB0aGlzLmxvZ01lc3NhZ2UobXNnKTsK
KyAgICAgICAgdGhpcy5sb2dNZXNzYWdlKCIiKTsKKyAgICB9CisKKyAgICBzZXR1cCgpCisgICAg
eworICAgICAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICB0aGlzLmxv
Z0ZhaWx1cmUoIlRlc3QgcmVxdWlyZXMgRFJULiIpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgICAgICB9CisKKyAgICAgICAgdGhpcy5jb25zb2xlID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiZGl2Iik7CisgICAgICAgIHRoaXMuY29uc29sZS5jbGFzc05hbWUgPSAiY29uc29sZSI7
CisgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5jb25zb2xlKTsKKworICAg
ICAgICB0aGlzLm1lZGlhID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW8iKTsKKworICAg
ICAgICBpZiAoIXRoaXMubWVkaWEpIHsKKyAgICAgICAgICAgIHRoaXMubG9nRmFpbHVyZSgiVW5h
YmxlIHRvIGZpbmQgbWVkaWEgZWxlbWVudCIpOworICAgICAgICAgICAgdGhpcy5lbmQoKTsKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorCisgICAgICAgIHRoaXMubWVkaWEu
YWRkRXZlbnRMaXN0ZW5lcih0aGlzLmV2ZW50VHlwZSwgdGhpcywgZmFsc2UpOworICAgICAgICB0
aGlzLm1lZGlhLnNyYyA9IGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgdGhpcy5tZWRpYVVSTCk7CisK
KyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgc3RhcnQoKQorICAgIHsKKyAgICAg
ICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBmdW5jdGlvbiAoKSB7CisgICAgICAg
ICAgICB0aGlzLnNldHVwKCk7CisgICAgICAgIH0uYmluZCh0aGlzKSwgZmFsc2UpOworICAgIH0K
KworICAgIGVuZCgpCisgICAgeworICAgICAgICB0aGlzLmxvZ01lc3NhZ2UoIiIpOworICAgICAg
ICB0aGlzLmxvZ01lc3NhZ2UoIlRlc3RpbmcgZmluaXNoZWQuIik7CisgICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAg
IH0KKworICAgIHRlc3QobWVzc2FnZSkKKyAgICB7CisgICAgICAgIHRoaXMuY3VycmVudE1lc3Nh
Z2UgPSBtZXNzYWdlOworICAgICAgICByZXR1cm4gdGhpczsKKyAgICB9CisKKyAgICB2YWx1ZShu
ZXdWYWx1ZSkKKyAgICB7CisgICAgICAgIHRoaXMuY3VycmVudFZhbHVlID0gbmV3VmFsdWU7Cisg
ICAgICAgIHJldHVybiB0aGlzOworICAgIH0KKworICAgIGlzRXF1YWxUbyh2YWx1ZSkKKyAgICB7
CisgICAgICAgIGlmICh0aGlzLmN1cnJlbnRWYWx1ZSA9PSB2YWx1ZSkKKyAgICAgICAgICAgIHRo
aXMubG9nU3VjY2Vzcyh0aGlzLmN1cnJlbnRNZXNzYWdlKTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgdGhpcy5sb2dGYWlsdXJlKGAke3RoaXMuY3VycmVudE1lc3NhZ2V9IEV4cGVjdGVkOiAi
JHt2YWx1ZX0iLiBBY3R1YWw6ICIke3RoaXMuY3VycmVudFZhbHVlfSJgKTsKKyAgICB9CisKKyAg
ICBpc0VtcHR5U3RyaW5nKCkKKyAgICB7CisgICAgICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBh
bHNvIGNoZWNrIHR5cGVvZiBTdHJpbmcuCisgICAgICAgIGlmICghdGhpcy5jdXJyZW50VmFsdWUp
CisgICAgICAgICAgICB0aGlzLmxvZ1N1Y2Nlc3ModGhpcy5jdXJyZW50TWVzc2FnZSk7CisgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgIHRoaXMubG9nRmFpbHVyZShgJHt0aGlzLmN1cnJlbnRNZXNz
YWdlfSBFeHBlY3RlZCBhbiBlbXB0eSBzdHJpbmcuIEFjdHVhbDogIiR7dGhpcy5jdXJyZW50VmFs
dWV9ImApOworICAgIH0KKworICAgIGlzVHJ1ZSgpCisgICAgeworICAgICAgICBpZiAodGhpcy5j
dXJyZW50VmFsdWUpCisgICAgICAgICAgICB0aGlzLmxvZ1N1Y2Nlc3ModGhpcy5jdXJyZW50TWVz
c2FnZSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRoaXMubG9nRmFpbHVyZShgJHt0aGlz
LmN1cnJlbnRNZXNzYWdlfSBFeHBlY3RlZCBhIHRydWUgdmFsdWUuIEFjdHVhbDogIiR7dGhpcy5j
dXJyZW50VmFsdWV9ImApOworICAgIH0KKworICAgIGlzRmFsc2UoKQorICAgIHsKKyAgICAgICAg
aWYgKCF0aGlzLmN1cnJlbnRWYWx1ZSkKKyAgICAgICAgICAgIHRoaXMubG9nU3VjY2Vzcyh0aGlz
LmN1cnJlbnRNZXNzYWdlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhpcy5sb2dGYWls
dXJlKGAke3RoaXMuY3VycmVudE1lc3NhZ2V9IEV4cGVjdGVkIGEgZmFsc2UgdmFsdWUuIEFjdHVh
bDogIiR7dGhpcy5jdXJyZW50VmFsdWV9ImApOworICAgIH0KKwogfQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvbWVkaWEvY29udHJvbHMvc2hvd0NvbnRyb2xzQnV0dG9uLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL21lZGlhL2NvbnRyb2xzL3Nob3dDb250cm9sc0J1dHRvbi1leHBlY3RlZC50
eHQKaW5kZXggMDBhZWIyMzczNjI5OWM0YzMwYjFmYTgzNGUwZGJlY2ViNjEyMTJmMS4uYjhkMGM5
YjFmM2E2OWM1M2M4ZjdiMjM4NzZhNDAzMmQxNTY5MmNkNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvbWVkaWEvY29udHJvbHMvc2hvd0NvbnRyb2xzQnV0dG9uLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9tZWRpYS9jb250cm9scy9zaG93Q29udHJvbHNCdXR0b24tZXhwZWN0ZWQudHh0
CkBAIC0zLDggKzMsMTMgQEAgVGhpcyB0ZXN0cyBmb3IgdGhlIGV4aXN0ZW5jZSBvZiBhIGhpZGRl
biBTaG93IENvbnRyb2xzIGJ1dHRvbi4KIFRoaXMgdGVzdCBvbmx5IHJ1bnMgaW4gRFJUIQogCiAK
LUVWRU5UKGNhbnBsYXl0aHJvdWdoKQotRVhQRUNURUQgKHNob3dDb250cm9sc0J1dHRvbkluZm8u
bmFtZSA9PSAnU2hvdyBDb250cm9scycpIE9LCi1FWFBFQ1RFRCAoc2hvd0NvbnRyb2xzQnV0dG9u
SW5mby5oaWRkZW4gPT0gJ3RydWUnKSBPSwotRU5EIE9GIFRFU1QKK0VWRU5UOiBjYW5wbGF5dGhy
b3VnaAorUEFTUzogV2UgYXJlIHVzaW5nIHRoZSBhcHBsZSBpZGlvbQorCitHZXQgdGhlIGJ1dHRv
biB0aGF0IHNob3dzIGNvbnRyb2xzIHdoaWxlIGluIFZvaWNlIE92ZXIKKworUEFTUzogTmFtZSBp
cyAnU2hvdyBDb250cm9scycKK1BBU1M6IElzIGhpZGRlbgorCitUZXN0aW5nIGZpbmlzaGVkLgog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9jb250cm9scy9zaG93Q29udHJvbHNCdXR0
b24uaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL2NvbnRyb2xzL3Nob3dDb250cm9sc0J1dHRvbi5o
dG1sCmluZGV4IDJkOWQyNDc4MTkyM2ZiOTcyZTNmM2MyYWU3MWVhZWFjYmNhOTBmYjUuLjgzMDUy
NjBjZjJkNGNkZTBhODViNWFiNWI5NmYxZjYyMzJmMTAzMDggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL21lZGlhL2NvbnRyb2xzL3Nob3dDb250cm9sc0J1dHRvbi5odG1sCisrKyBiL0xheW91dFRl
c3RzL21lZGlhL2NvbnRyb2xzL3Nob3dDb250cm9sc0J1dHRvbi5odG1sCkBAIC0yLDQyICsyLDM1
IEBACiA8aHRtbD4KICAgICA8aGVhZD4KICAgICAgICAgPHNjcmlwdCBzcmM9Ii4uL21lZGlhLWZp
bGUuanMiPjwvc2NyaXB0PgotICAgICAgICA8c2NyaXB0IHNyYz0iLi4vdmlkZW8tdGVzdC5qcyI+
PC9zY3JpcHQ+CiAgICAgICAgIDxzY3JpcHQgc3JjPSJjb250cm9scy10ZXN0LWhlbHBlcnMuanMi
Pjwvc2NyaXB0PgogICAgICAgICA8c2NyaXB0PgotICAgICAgICAgICAgdmFyIHZpZGVvOwotICAg
ICAgICAgICAgdmFyIGN1cnJlbnRTdGF0dXM7Ci0gICAgICAgICAgICB2YXIgc2hvd0NvbnRyb2xz
QnV0dG9uSW5mbzsKKyAgICAgICAgICAgIHZhciB0ZXN0ZXIgPSBuZXcgQ29udHJvbHNUZXN0KCk7
CisgICAgICAgICAgICB0ZXN0ZXIud2hlblJlYWR5KHJ1blRlc3RzKTsKKyAgICAgICAgICAgIHRl
c3Rlci5zdGFydCgpOwogCi0gICAgICAgICAgICBmdW5jdGlvbiBpbml0KCkKKyAgICAgICAgICAg
IGZ1bmN0aW9uIHJ1blRlc3RzKCkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBmaW5k
TWVkaWFFbGVtZW50KCk7Ci0gICAgICAgICAgICAgICAgdmlkZW8uc3JjID0gZmluZE1lZGlhRmls
ZSgidmlkZW8iLCAiLi4vY29udGVudC90ZXN0Iik7CisgICAgICAgICAgICAgICAgY3VycmVudFN0
YXRlID0gdGVzdGVyLmN1cnJlbnRTdGF0ZTsKKyAgICAgICAgICAgICAgICB0ZXN0ZXIudGVzdCgi
V2UgYXJlIHVzaW5nIHRoZSBhcHBsZSBpZGlvbSIpCisgICAgICAgICAgICAgICAgICAgIC52YWx1
ZShjdXJyZW50U3RhdGUuaWRpb20pCisgICAgICAgICAgICAgICAgICAgIC5pc0VxdWFsVG8oImFw
cGxlIik7CiAKLSAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoImNhbnBsYXl0aHJvdWdoIiwg
Y2FucGxheXRocm91Z2gpOwotICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudEFuZEZhaWwoImVy
cm9yIik7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgdGVzdGVyLnN0YXJ0TmV3U2Vj
dGlvbigiR2V0IHRoZSBidXR0b24gdGhhdCBzaG93cyBjb250cm9scyB3aGlsZSBpbiBWb2ljZSBP
dmVyIik7CisgICAgICAgICAgICAgICAgdmFyIGNvbnRyb2xzQnV0dG9uU3RhdGUgPSB0ZXN0ZXIu
c3RhdGVGb3JDb250cm9sc0VsZW1lbnQoIlNob3cgQ29udHJvbHMiKTsKIAotICAgICAgICAgICAg
ZnVuY3Rpb24gY2FucGxheXRocm91Z2goKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgICAgICAgICB0ZXN0ZXIudGVzdCgiTmFtZSBpcyAnU2hvdyBDb250cm9scyciKQorICAg
ICAgICAgICAgICAgICAgICAudmFsdWUoY29udHJvbHNCdXR0b25TdGF0ZS5uYW1lKQorICAgICAg
ICAgICAgICAgICAgICAuaXNFcXVhbFRvKCJTaG93IENvbnRyb2xzIik7CisKKyAgICAgICAgICAg
ICAgICB0ZXN0ZXIudGVzdCgiSXMgaGlkZGVuIikKKyAgICAgICAgICAgICAgICAgICAgLnZhbHVl
KGNvbnRyb2xzQnV0dG9uU3RhdGUuaGlkZGVuKQorICAgICAgICAgICAgICAgICAgICAuaXNUcnVl
KCk7CiAKLSAgICAgICAgICAgICAgICBjdXJyZW50U3RhdHVzID0gSlNPTi5wYXJzZShpbnRlcm5h
bHMuZ2V0Q3VycmVudE1lZGlhQ29udHJvbHNTdGF0dXNGb3JFbGVtZW50KHZpZGVvKSk7Ci0gICAg
ICAgICAgICAgICAgaWYgKGN1cnJlbnRTdGF0dXMpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYg
KGN1cnJlbnRTdGF0dXMuaWRpb20gPT0gImFwcGxlIikgewotICAgICAgICAgICAgICAgICAgICAg
ICAgc2hvd0NvbnRyb2xzQnV0dG9uSW5mbyA9IHN0YXR1c0ZvckNvbnRyb2xzRWxlbWVudChjdXJy
ZW50U3RhdHVzLCAiU2hvdyBDb250cm9scyIpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KHNob3dDb250cm9sc0J1dHRvbkluZm8pIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
ZXN0RXhwZWN0ZWQoInNob3dDb250cm9sc0J1dHRvbkluZm8ubmFtZSIsICJTaG93IENvbnRyb2xz
Iik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJzaG93Q29udHJv
bHNCdXR0b25JbmZvLmhpZGRlbiIsIHRydWUpOwotICAgICAgICAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IGVuZFRlc3QoKTsKKyAgICAgICAgICAgICAgICB0ZXN0ZXIuZW5kKCk7CiAgICAgICAgICAgICB9
CiAgICAgICAgIDwvc2NyaXB0PgogICAgIDwvaGVhZD4KLSAgICA8Ym9keSBvbmxvYWQ9ImluaXQo
KSI+CisgICAgPGJvZHk+CiAgICAgICAgIDxwPlRoaXMgdGVzdHMgZm9yIHRoZSBleGlzdGVuY2Ug
b2YgYSBoaWRkZW4gU2hvdyBDb250cm9scyBidXR0b24uPC9wPgogICAgICAgICA8cD5UaGlzIHRl
c3Qgb25seSBydW5zIGluIERSVCE8L3A+CiAgICAgICAgIDx2aWRlbyBjb250cm9scz48L3ZpZGVv
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvY29udHJvbHMvc3RhdHVzRGlzcGxheS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9tZWRpYS9jb250cm9scy9zdGF0dXNEaXNwbGF5LWV4
cGVjdGVkLnR4dAppbmRleCA0NTljNzZjNTE1NDJlZTJlNzBkMTdlYzRkOWZmNjZkOTAwZjZhMWU2
Li4xZmY1YzQwOTdkY2ViZmFlZGViZDM2OTljODFmMGFkYzRlZjM5YjllIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9tZWRpYS9jb250cm9scy9zdGF0dXNEaXNwbGF5LWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9tZWRpYS9jb250cm9scy9zdGF0dXNEaXNwbGF5LWV4cGVjdGVkLnR4dApA
QCAtMyw5ICszLDE0IEBAIFRoaXMgdGVzdHMgZm9yIHRoZSBjb250ZW50IGluIHRoZSBzdGF0dXMg
ZGlzcGxheS4KIFRoaXMgdGVzdCBvbmx5IHJ1bnMgaW4gRFJUIQogCiAKLUVWRU5UKGNhbnBsYXl0
aHJvdWdoKQotRVhQRUNURUQgKHN0YXR1c0Rpc3BsYXlJbmZvLm5hbWUgPT0gJ1N0YXR1cyBEaXNw
bGF5JykgT0sKLUVYUEVDVEVEIChzdGF0dXNEaXNwbGF5SW5mby5jbGFzc05hbWUgPT0gJ2hpZGRl
bicpIE9LCi1FWFBFQ1RFRCAoc3RhdHVzRGlzcGxheUluZm8uY29udGVudCA9PSAnJykgT0sKLUVO
RCBPRiBURVNUCitFVkVOVDogY2FucGxheXRocm91Z2gKK1BBU1M6IFdlIGFyZSB1c2luZyB0aGUg
YXBwbGUgaWRpb20KKworR2V0IHRoZSBzdGF0dXMgbGFiZWwgc3RhdGUKKworUEFTUzogTmFtZSBp
cyAnU3RhdHVzIERpc3BsYXknCitQQVNTOiBIYXMgaGlkZGVuIGNsYXNzCitQQVNTOiBDb250ZW50
IGlzIEVtcHR5CisKK1Rlc3RpbmcgZmluaXNoZWQuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L21lZGlhL2NvbnRyb2xzL3N0YXR1c0Rpc3BsYXkuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL2Nv
bnRyb2xzL3N0YXR1c0Rpc3BsYXkuaHRtbAppbmRleCA2YTRhZDE2ZGNmMjMyZmZjYTZkYTRjZWIw
M2U4ODkzOWUyNGU4OWQ2Li5lOTI5NWUzYjRiYzU1YWUyNDczNWUyYTlkYTExMzQ2NTExYzNkMjk5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9tZWRpYS9jb250cm9scy9zdGF0dXNEaXNwbGF5Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvY29udHJvbHMvc3RhdHVzRGlzcGxheS5odG1sCkBA
IC0yLDQzICsyLDQwIEBACiA8aHRtbD4KICAgICA8aGVhZD4KICAgICAgICAgPHNjcmlwdCBzcmM9
Ii4uL21lZGlhLWZpbGUuanMiPjwvc2NyaXB0PgotICAgICAgICA8c2NyaXB0IHNyYz0iLi4vdmlk
ZW8tdGVzdC5qcyI+PC9zY3JpcHQ+CiAgICAgICAgIDxzY3JpcHQgc3JjPSJjb250cm9scy10ZXN0
LWhlbHBlcnMuanMiPjwvc2NyaXB0PgogICAgICAgICA8c2NyaXB0PgotICAgICAgICAgICAgdmFy
IHZpZGVvOwotICAgICAgICAgICAgdmFyIGN1cnJlbnRTdGF0dXM7Ci0gICAgICAgICAgICB2YXIg
c3RhdHVzRGlzcGxheUluZm87CisgICAgICAgICAgICB2YXIgdGVzdGVyID0gbmV3IENvbnRyb2xz
VGVzdCgpOworICAgICAgICAgICAgdGVzdGVyLndoZW5SZWFkeShydW5UZXN0cyk7CisgICAgICAg
ICAgICB0ZXN0ZXIuc3RhcnQoKTsKIAotICAgICAgICAgICAgZnVuY3Rpb24gaW5pdCgpCisgICAg
ICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgZmluZE1lZGlhRWxlbWVudCgpOwotICAgICAgICAgICAgICAgIHZpZGVvLnNyYyA9IGZpbmRN
ZWRpYUZpbGUoInZpZGVvIiwgIi4uL2NvbnRlbnQvdGVzdCIpOworICAgICAgICAgICAgICAgIGN1
cnJlbnRTdGF0ZSA9IHRlc3Rlci5jdXJyZW50U3RhdGU7CisgICAgICAgICAgICAgICAgdGVzdGVy
LnRlc3QoIldlIGFyZSB1c2luZyB0aGUgYXBwbGUgaWRpb20iKQorICAgICAgICAgICAgICAgICAg
ICAudmFsdWUoY3VycmVudFN0YXRlLmlkaW9tKQorICAgICAgICAgICAgICAgICAgICAuaXNFcXVh
bFRvKCJhcHBsZSIpOwogCi0gICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50KCJjYW5wbGF5dGhy
b3VnaCIsIGNhbnBsYXl0aHJvdWdoKTsKLSAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnRBbmRG
YWlsKCJlcnJvciIpOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHRlc3Rlci5zdGFy
dE5ld1NlY3Rpb24oIkdldCB0aGUgc3RhdHVzIGxhYmVsIHN0YXRlIik7CisgICAgICAgICAgICAg
ICAgdmFyIHN0YXR1c0Rpc3BsYXlMYWJlbFN0YXRlID0gdGVzdGVyLnN0YXRlRm9yQ29udHJvbHNF
bGVtZW50KCJTdGF0dXMgRGlzcGxheSIpOwogCi0gICAgICAgICAgICBmdW5jdGlvbiBjYW5wbGF5
dGhyb3VnaCgpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIHRl
c3Rlci50ZXN0KCJOYW1lIGlzICdTdGF0dXMgRGlzcGxheSciKQorICAgICAgICAgICAgICAgICAg
ICAudmFsdWUoc3RhdHVzRGlzcGxheUxhYmVsU3RhdGUubmFtZSkKKyAgICAgICAgICAgICAgICAg
ICAgLmlzRXF1YWxUbygiU3RhdHVzIERpc3BsYXkiKTsKKworICAgICAgICAgICAgICAgIHRlc3Rl
ci50ZXN0KCJIYXMgaGlkZGVuIGNsYXNzIikKKyAgICAgICAgICAgICAgICAgICAgLnZhbHVlKHN0
YXR1c0Rpc3BsYXlMYWJlbFN0YXRlLmNsYXNzTmFtZSkKKyAgICAgICAgICAgICAgICAgICAgLmlz
RXF1YWxUbygiaGlkZGVuIik7CiAKLSAgICAgICAgICAgICAgICBjdXJyZW50U3RhdHVzID0gSlNP
Ti5wYXJzZShpbnRlcm5hbHMuZ2V0Q3VycmVudE1lZGlhQ29udHJvbHNTdGF0dXNGb3JFbGVtZW50
KHZpZGVvKSk7Ci0gICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRTdGF0dXMpIHsKLSAgICAgICAg
ICAgICAgICAgICAgaWYgKGN1cnJlbnRTdGF0dXMuaWRpb20gPT0gImFwcGxlIikgewotICAgICAg
ICAgICAgICAgICAgICAgICAgc3RhdHVzRGlzcGxheUluZm8gPSBzdGF0dXNGb3JDb250cm9sc0Vs
ZW1lbnQoY3VycmVudFN0YXR1cywgIlN0YXR1cyBEaXNwbGF5Iik7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoc3RhdHVzRGlzcGxheUluZm8pIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0RXhwZWN0ZWQoInN0YXR1c0Rpc3BsYXlJbmZvLm5hbWUiLCAiU3RhdHVzIERpc3Bs
YXkiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInN0YXR1c0Rp
c3BsYXlJbmZvLmNsYXNzTmFtZSIsICJoaWRkZW4iKTsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0ZXN0RXhwZWN0ZWQoInN0YXR1c0Rpc3BsYXlJbmZvLmNvbnRlbnQiLCAiIik7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgZW5kVGVzdCgpOworICAgICAgICAgICAgICAgIHRlc3Rl
ci50ZXN0KCJDb250ZW50IGlzIEVtcHR5IikKKyAgICAgICAgICAgICAgICAgICAgLnZhbHVlKHN0
YXR1c0Rpc3BsYXlMYWJlbFN0YXRlLmNvbnRlbnQpCisgICAgICAgICAgICAgICAgICAgIC5pc0Vt
cHR5U3RyaW5nKCk7CisKKyAgICAgICAgICAgICAgICB0ZXN0ZXIuZW5kKCk7CiAgICAgICAgICAg
ICB9CisKICAgICAgICAgPC9zY3JpcHQ+CiAgICAgPC9oZWFkPgotICAgIDxib2R5IG9ubG9hZD0i
aW5pdCgpIj4KKyAgICA8Ym9keT4KICAgICAgICAgPHA+VGhpcyB0ZXN0cyBmb3IgdGhlIGNvbnRl
bnQgaW4gdGhlIHN0YXR1cyBkaXNwbGF5LjwvcD4KICAgICAgICAgPHA+VGhpcyB0ZXN0IG9ubHkg
cnVucyBpbiBEUlQhPC9wPgogICAgICAgICA8dmlkZW8gY29udHJvbHM+PC92aWRlbz4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL21lZGlhL2NvbnRyb2xzL3N0YXR1c0Rpc3BsYXlCYWQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvbWVkaWEvY29udHJvbHMvc3RhdHVzRGlzcGxheUJhZC1leHBl
Y3RlZC50eHQKaW5kZXggMzhiZWYzZDBjNzE2NTliYWM0MTg5OWY0YzA2MGM2NTlhNzNhZDYyMC4u
OGQyNjkzYjY2ZjIzNzkyZGY3YTFkMTMzYjU4MDEzOTc2M2M2MzI5MiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvbWVkaWEvY29udHJvbHMvc3RhdHVzRGlzcGxheUJhZC1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvbWVkaWEvY29udHJvbHMvc3RhdHVzRGlzcGxheUJhZC1leHBlY3RlZC50
eHQKQEAgLTMsOSArMywxNCBAQCBUaGlzIHRlc3RzIHRoYXQgdGhlIHN0YXR1cyBkaXNwbGF5IGhh
cyB0aGUgY29ycmVudCBlcnJvciBtZXNzYWdlLgogVGhpcyB0ZXN0IG9ubHkgcnVucyBpbiBEUlQh
CiAKIAotRVZFTlQoZXJyb3IpCi1FWFBFQ1RFRCAoc3RhdHVzRGlzcGxheUluZm8ubmFtZSA9PSAn
U3RhdHVzIERpc3BsYXknKSBPSwotRVhQRUNURUQgKHN0YXR1c0Rpc3BsYXlJbmZvLmNsYXNzTmFt
ZSA9PSAnJykgT0sKLUVYUEVDVEVEIChzdGF0dXNEaXNwbGF5SW5mby5jb250ZW50ID09ICdFcnJv
cicpIE9LCi1FTkQgT0YgVEVTVAorRVZFTlQ6IGVycm9yCitQQVNTOiBXZSBhcmUgdXNpbmcgdGhl
IGFwcGxlIGlkaW9tCisKK0dldCB0aGUgc3RhdHVzIGxhYmVsIHN0YXRlCisKK1BBU1M6IE5hbWUg
aXMgJ1N0YXR1cyBEaXNwbGF5JworUEFTUzogSGFzIGVtcHR5IGNsYXNzCitQQVNTOiBDb250ZW50
IGlzICdFcnJvcicKKworVGVzdGluZyBmaW5pc2hlZC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvbWVkaWEvY29udHJvbHMvc3RhdHVzRGlzcGxheUJhZC5odG1sIGIvTGF5b3V0VGVzdHMvbWVk
aWEvY29udHJvbHMvc3RhdHVzRGlzcGxheUJhZC5odG1sCmluZGV4IGUxN2FkMjYwMmM0NTg0OWUz
ZDk0NWFlZWVjMWJmODM1ZGFmN2U1MzguLjgzMGQ5YmU4Y2RkOThlZmNkMDk4NjZhZmZhYjY5ZTlh
ODRkOTUwMDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL21lZGlhL2NvbnRyb2xzL3N0YXR1c0Rp
c3BsYXlCYWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9tZWRpYS9jb250cm9scy9zdGF0dXNEaXNw
bGF5QmFkLmh0bWwKQEAgLTIsNDIgKzIsMzkgQEAKIDxodG1sPgogICAgIDxoZWFkPgogICAgICAg
ICA8c2NyaXB0IHNyYz0iLi4vbWVkaWEtZmlsZS5qcyI+PC9zY3JpcHQ+Ci0gICAgICAgIDxzY3Jp
cHQgc3JjPSIuLi92aWRlby10ZXN0LmpzIj48L3NjcmlwdD4KICAgICAgICAgPHNjcmlwdCBzcmM9
ImNvbnRyb2xzLXRlc3QtaGVscGVycy5qcyI+PC9zY3JpcHQ+CiAgICAgICAgIDxzY3JpcHQ+Ci0g
ICAgICAgICAgICB2YXIgdmlkZW87Ci0gICAgICAgICAgICB2YXIgY3VycmVudFN0YXR1czsKLSAg
ICAgICAgICAgIHZhciBzdGF0dXNEaXNwbGF5SW5mbzsKKyAgICAgICAgICAgIHZhciB0ZXN0ZXIg
PSBuZXcgQ29udHJvbHNUZXN0KCJub24tZXhpc3RlbnQtbWVkaWEtZmlsZSIsICJlcnJvciIpOwor
ICAgICAgICAgICAgdGVzdGVyLndoZW5SZWFkeShydW5UZXN0cyk7CisgICAgICAgICAgICB0ZXN0
ZXIuc3RhcnQoKTsKIAotICAgICAgICAgICAgZnVuY3Rpb24gaW5pdCgpCisgICAgICAgICAgICBm
dW5jdGlvbiBydW5UZXN0cygpCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgZmluZE1l
ZGlhRWxlbWVudCgpOwotICAgICAgICAgICAgICAgIHZpZGVvLnNyYyA9IGZpbmRNZWRpYUZpbGUo
InZpZGVvIiwgIm5vbi1leGlzdGVudC1tZWRpYS1maWxlIik7CisgICAgICAgICAgICAgICAgY3Vy
cmVudFN0YXRlID0gdGVzdGVyLmN1cnJlbnRTdGF0ZTsKKyAgICAgICAgICAgICAgICB0ZXN0ZXIu
dGVzdCgiV2UgYXJlIHVzaW5nIHRoZSBhcHBsZSBpZGlvbSIpCisgICAgICAgICAgICAgICAgICAg
IC52YWx1ZShjdXJyZW50U3RhdGUuaWRpb20pCisgICAgICAgICAgICAgICAgICAgIC5pc0VxdWFs
VG8oImFwcGxlIik7CiAKLSAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnQoImVycm9yIiwgcnVu
VGVzdCk7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgdGVzdGVyLnN0YXJ0TmV3U2Vj
dGlvbigiR2V0IHRoZSBzdGF0dXMgbGFiZWwgc3RhdGUiKTsKKyAgICAgICAgICAgICAgICB2YXIg
c3RhdHVzRGlzcGxheUxhYmVsU3RhdGUgPSB0ZXN0ZXIuc3RhdGVGb3JDb250cm9sc0VsZW1lbnQo
IlN0YXR1cyBEaXNwbGF5Iik7CiAKLSAgICAgICAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKQotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCi0gICAg
ICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB0ZXN0ZXIudGVzdCgiTmFt
ZSBpcyAnU3RhdHVzIERpc3BsYXknIikKKyAgICAgICAgICAgICAgICAgICAgLnZhbHVlKHN0YXR1
c0Rpc3BsYXlMYWJlbFN0YXRlLm5hbWUpCisgICAgICAgICAgICAgICAgICAgIC5pc0VxdWFsVG8o
IlN0YXR1cyBEaXNwbGF5Iik7CisKKyAgICAgICAgICAgICAgICB0ZXN0ZXIudGVzdCgiSGFzIGVt
cHR5IGNsYXNzIikKKyAgICAgICAgICAgICAgICAgICAgLnZhbHVlKHN0YXR1c0Rpc3BsYXlMYWJl
bFN0YXRlLmNsYXNzTmFtZSkKKyAgICAgICAgICAgICAgICAgICAgLmlzRW1wdHlTdHJpbmcoKTsK
KworICAgICAgICAgICAgICAgIHRlc3Rlci50ZXN0KCJDb250ZW50IGlzICdFcnJvciciKQorICAg
ICAgICAgICAgICAgICAgICAudmFsdWUoc3RhdHVzRGlzcGxheUxhYmVsU3RhdGUuY29udGVudCkK
KyAgICAgICAgICAgICAgICAgICAgLmlzRXF1YWxUbygiRXJyb3IiKTsKIAotICAgICAgICAgICAg
ICAgIGN1cnJlbnRTdGF0dXMgPSBKU09OLnBhcnNlKGludGVybmFscy5nZXRDdXJyZW50TWVkaWFD
b250cm9sc1N0YXR1c0ZvckVsZW1lbnQodmlkZW8pKTsKLSAgICAgICAgICAgICAgICBpZiAoY3Vy
cmVudFN0YXR1cykgewotICAgICAgICAgICAgICAgICAgICBpZiAoY3VycmVudFN0YXR1cy5pZGlv
bSA9PSAiYXBwbGUiKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXNEaXNwbGF5SW5m
byA9IHN0YXR1c0ZvckNvbnRyb2xzRWxlbWVudChjdXJyZW50U3RhdHVzLCAiU3RhdHVzIERpc3Bs
YXkiKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdGF0dXNEaXNwbGF5SW5mbykgewot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgic3RhdHVzRGlzcGxheUlu
Zm8ubmFtZSIsICJTdGF0dXMgRGlzcGxheSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRlc3RFeHBlY3RlZCgic3RhdHVzRGlzcGxheUluZm8uY2xhc3NOYW1lIiwgIiIpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgic3RhdHVzRGlzcGxheUluZm8uY29u
dGVudCIsICJFcnJvciIpOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGVuZFRlc3QoKTsK
KyAgICAgICAgICAgICAgICB0ZXN0ZXIuZW5kKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIDwv
c2NyaXB0PgogICAgIDwvaGVhZD4KLSAgICA8Ym9keSBvbmxvYWQ9ImluaXQoKSI+CisgICAgPGJv
ZHk+CiAgICAgICAgIDxwPlRoaXMgdGVzdHMgdGhhdCB0aGUgc3RhdHVzIGRpc3BsYXkgaGFzIHRo
ZSBjb3JyZW50IGVycm9yIG1lc3NhZ2UuPC9wPgogICAgICAgICA8cD5UaGlzIHRlc3Qgb25seSBy
dW5zIGluIERSVCE8L3A+CiAgICAgICAgIDx2aWRlbyBjb250cm9scz48L3ZpZGVvPgo=
</data>
<flag name="review"
          id="285575"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
          </attachment>
      

    </bug>

</bugzilla>