<?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>190987</bug_id>
          
          <creation_ts>2018-10-27 10:59:59 -0700</creation_ts>
          <short_desc>Web Inspector: provide options to WI.cssPath for more verbosity</short_desc>
          <delta_ts>2018-10-30 16:07:27 -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>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>190754</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1472717</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-10-27 10:59:59 -0700</bug_when>
    <thetext>This will let us be more verbose in logging.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1472721</commentid>
    <comment_count>1</comment_count>
      <attachid>353237</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-10-27 11:03:26 -0700</bug_when>
    <thetext>Created attachment 353237
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1472725</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-10-27 11:06:09 -0700</bug_when>
    <thetext>Attachment 353237 did not pass style-queue:


ERROR: Source/WebInspectorUI/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
ERROR: LayoutTests/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Total errors found: 2 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1472729</commentid>
    <comment_count>3</comment_count>
      <attachid>353241</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-10-27 11:10:19 -0700</bug_when>
    <thetext>Created attachment 353241
Patch

Whoops.  Forgot bug number.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473158</commentid>
    <comment_count>4</comment_count>
      <attachid>353345</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-10-29 19:29:17 -0700</bug_when>
    <thetext>Created attachment 353345
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473362</commentid>
    <comment_count>5</comment_count>
      <attachid>353345</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2018-10-30 12:48:17 -0700</bug_when>
    <thetext>Comment on attachment 353345
Patch

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

r=me

&gt; Source/WebInspectorUI/ChangeLog:8
&gt; +        * UserInterface/Base/DOMUtilities.js:

You need to describe the enhancements being made here.

&gt; Source/WebInspectorUI/UserInterface/Base/DOMUtilities.js:138
&gt; +            let unique = new Map;

Nit: uniqueAttributes

&gt; LayoutTests/inspector/dom/domutilities-csspath.html:10
&gt; +    async function nodeForSelector(selector) {

v.nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473410</commentid>
    <comment_count>6</comment_count>
      <attachid>353409</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-10-30 14:33:33 -0700</bug_when>
    <thetext>Created attachment 353409
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473469</commentid>
    <comment_count>7</comment_count>
      <attachid>353409</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-30 16:06:33 -0700</bug_when>
    <thetext>Comment on attachment 353409
Patch

Clearing flags on attachment: 353409

Committed r237608: &lt;https://trac.webkit.org/changeset/237608&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473470</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-30 16:06:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1473471</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-10-30 16:07:27 -0700</bug_when>
    <thetext>&lt;rdar://problem/45684504&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353237</attachid>
            <date>2018-10-27 11:03:26 -0700</date>
            <delta_ts>2018-10-27 11:10:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>cssPath.diff</filename>
            <type>text/plain</type>
            <size>16698</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkOWY1YzVhYjA4MC4uMDhhOGIxZDBhMmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAor
MjAxOC0xMC0yNiAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAg
V2ViIEluc3BlY3RvcjogcHJvdmlkZSBvcHRpb25zIHRvIFdJLmNzc1BhdGggZm9yIG1vcmUgdmVy
Ym9zaXR5CisgICAgICAgIE5lZWQgdGhlIGJ1ZyBVUkwgKE9PUFMhKS4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9kb20vZG9tdXRp
bGl0aWVzLWNzc3BhdGguaHRtbDoKKwogMjAxOC0xMC0yNiAgQW50b2luZSBRdWludCAgPGdyYW91
dHNAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWIgQW5pbWF0aW9uc10gUmVtb3ZlIHVzZWxlc3Mg
aW50ZXJuYWxzIG1ldGhvZHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20v
ZG9tdXRpbGl0aWVzLWNzc3BhdGguaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vZG9t
dXRpbGl0aWVzLWNzc3BhdGguaHRtbAppbmRleCAyMzgzNzQxODA1Mi4uNDUxMTI1MzQ0Y2EgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vZG9tdXRpbGl0aWVzLWNzc3BhdGgu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL2RvbXV0aWxpdGllcy1jc3NwYXRo
Lmh0bWwKQEAgLTcsMTAgKzcsMTcgQEAgZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgbGV0IGRvY3Vt
ZW50Tm9kZTsKIAotICAgIGZ1bmN0aW9uIG5vZGVGb3JTZWxlY3RvcihzZWxlY3RvciwgY2FsbGJh
Y2spIHsKLSAgICAgICAgV0kuZG9tTWFuYWdlci5xdWVyeVNlbGVjdG9yKGRvY3VtZW50Tm9kZS5p
ZCwgc2VsZWN0b3IsIChub2RlSWQpID0+IHsKLSAgICAgICAgICAgIGNhbGxiYWNrKFdJLmRvbU1h
bmFnZXIubm9kZUZvcklkKG5vZGVJZCkpOwotICAgICAgICB9KTsKKyAgICBhc3luYyBmdW5jdGlv
biBub2RlRm9yU2VsZWN0b3Ioc2VsZWN0b3IpIHsKKyAgICAgICAgbGV0IG5vZGVJZCA9IGF3YWl0
IFdJLmRvbU1hbmFnZXIucXVlcnlTZWxlY3Rvcihkb2N1bWVudE5vZGUuaWQsIHNlbGVjdG9yKTsK
KyAgICAgICAgcmV0dXJuIFdJLmRvbU1hbmFnZXIubm9kZUZvcklkKG5vZGVJZCk7CisgICAgfQor
CisgICAgZnVuY3Rpb24gdGVzdE5vZGVNYXRjaGVzUGF0aChub2RlLCBtZXNzYWdlLCB7cmVndWxh
ciwgZnVsbH0pIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChXSS5jc3NQYXRo
KG5vZGUpLCByZWd1bGFyLCBtZXNzYWdlKTsKKyAgICAgICAgaWYgKGZ1bGwpIHsKKyAgICAgICAg
ICAgIGxldCBhY3R1YWwgPSBXSS5jc3NQYXRoKG5vZGUsIHtmdWxsOiB0cnVlfSk7CisgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChhY3R1YWwgPT09IGZ1bGwsIGBGdWxsIHBhdGggJHth
Y3R1YWx9IGRvZXNuJ3QgbWF0Y2ggZXhwZWN0ZWQgJHtmdWxsfS5gKTsKKyAgICAgICAgfQogICAg
IH0KIAogICAgIGxldCBzdWl0ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiV0ku
Y3NzUGF0aCIpOwpAQCAtMTgsMTYgKzI1LDIzIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIHN1aXRl
LmFkZFRlc3RDYXNlKHsKICAgICAgICAgbmFtZTogIldJLmNzc1BhdGguVG9wTGV2ZWxOb2RlIiwK
ICAgICAgICAgZGVzY3JpcHRpb246ICJUb3AgbGV2ZWwgbm9kZXMgbGlrZSBodG1sLCBib2R5LCBh
bmQgaGVhZCBhcmUgdW5pcXVlLiIsCi0gICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7Ci0g
ICAgICAgICAgICBub2RlRm9yU2VsZWN0b3IoImh0bWwiLCAobm9kZSkgPT4gewotICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwoV0kuY3NzUGF0aChub2RlKSwgImh0bWwi
LCAiSFRNTCBlbGVtZW50IHNob3VsZCBoYXZlIHNpbXBsZSBzZWxlY3RvciAnaHRtbCcuIik7Cisg
ICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBsZXQgaHRtbCA9IGF3YWl0IG5vZGVG
b3JTZWxlY3RvcigiaHRtbCIpOworICAgICAgICAgICAgdGVzdE5vZGVNYXRjaGVzUGF0aChodG1s
LCAiSFRNTCBlbGVtZW50IHNob3VsZCBoYXZlIHNpbXBsZSBzZWxlY3RvciAnaHRtbCcuIiwgewor
ICAgICAgICAgICAgICAgIHJlZ3VsYXI6IGBodG1sYCwKKyAgICAgICAgICAgICAgICBmdWxsOiBg
aHRtbGAsCiAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIG5vZGVGb3JTZWxlY3RvcigiaHRt
bCA+IGJvZHkiLCAobm9kZSkgPT4gewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhw
ZWN0RXF1YWwoV0kuY3NzUGF0aChub2RlKSwgImJvZHkiLCAiQk9EWSBlbGVtZW50IHNob3VsZCBo
YXZlIHNpbXBsZSBzZWxlY3RvciAnYm9keScuIik7CisKKyAgICAgICAgICAgIGxldCBib2R5ID0g
YXdhaXQgbm9kZUZvclNlbGVjdG9yKCJodG1sID4gYm9keSIpOworICAgICAgICAgICAgdGVzdE5v
ZGVNYXRjaGVzUGF0aChib2R5LCAiQk9EWSBlbGVtZW50IHNob3VsZCBoYXZlIHNpbXBsZSBzZWxl
Y3RvciAnYm9keScuIiwgeworICAgICAgICAgICAgICAgIHJlZ3VsYXI6IGBib2R5YCwKKyAgICAg
ICAgICAgICAgICBmdWxsOiBgaHRtbCA+IGJvZHlbb25sb2FkPSJydW5UZXN0KCkiXWAsCiAgICAg
ICAgICAgICB9KTsKLSAgICAgICAgICAgIG5vZGVGb3JTZWxlY3RvcigiaHRtbCA+IGhlYWQiLCAo
bm9kZSkgPT4gewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwoV0ku
Y3NzUGF0aChub2RlKSwgImhlYWQiLCAiSEVBRCBlbGVtZW50IHNob3VsZCBoYXZlIHNpbXBsZSBz
ZWxlY3RvciAnaGVhZCcuIik7Ci0gICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworCisgICAgICAg
ICAgICBsZXQgaGVhZCA9IGF3YWl0IG5vZGVGb3JTZWxlY3RvcigiaHRtbCA+IGhlYWQiKTsKKyAg
ICAgICAgICAgIHRlc3ROb2RlTWF0Y2hlc1BhdGgoaGVhZCwgIkhFQUQgZWxlbWVudCBzaG91bGQg
aGF2ZSBzaW1wbGUgc2VsZWN0b3IgJ2hlYWQnLiIsIHsKKyAgICAgICAgICAgICAgICByZWd1bGFy
OiBgaGVhZGAsCisgICAgICAgICAgICAgICAgZnVsbDogYGh0bWwgPiBoZWFkYCwKICAgICAgICAg
ICAgIH0pOwogICAgICAgICB9CiAgICAgfSk7CkBAIC0zNSwxMyArNDksMTcgQEAgZnVuY3Rpb24g
dGVzdCgpCiAgICAgc3VpdGUuYWRkVGVzdENhc2UoewogICAgICAgICBuYW1lOiAiV0kuY3NzUGF0
aC5FbGVtZW50V2l0aElEIiwKICAgICAgICAgZGVzY3JpcHRpb246ICJFbGVtZW50IHdpdGggSUQg
aXMgdW5pcXVlICgjaWQpLiBQYXRoIGRvZXMgbm90IG5lZWQgdG8gZ28gcGFzdCBpdC4iLAotICAg
ICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAgICAgbm9kZUZvclNlbGVjdG9y
KCIjaWQtdGVzdCIsIChub2RlKSA9PiB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5l
eHBlY3RFcXVhbChXSS5jc3NQYXRoKG5vZGUpLCAiI2lkLXRlc3QiLCAiRWxlbWVudCB3aXRoIGlk
IHNob3VsZCBoYXZlIHNpbXBsZSBzZWxlY3RvciAnI2lkLXRlc3QnLiIpOworICAgICAgICBhc3lu
YyB0ZXN0KCkgeworICAgICAgICAgICAgbGV0IHRlc3QgPSBhd2FpdCBub2RlRm9yU2VsZWN0b3Io
IiNpZC10ZXN0Iik7CisgICAgICAgICAgICB0ZXN0Tm9kZU1hdGNoZXNQYXRoKHRlc3QsICJFbGVt
ZW50IHdpdGggaWQgc2hvdWxkIGhhdmUgc2ltcGxlIHNlbGVjdG9yICcjaWQtdGVzdCcuIiwgewor
ICAgICAgICAgICAgICAgIHJlZ3VsYXI6IGAjaWQtdGVzdGAsCisgICAgICAgICAgICAgICAgZnVs
bDogYGh0bWwgPiBib2R5W29ubG9hZD0icnVuVGVzdCgpIl0gPiBkaXZbc3R5bGU9InZpc2liaWxp
dHk6aGlkZGVuIl0gPiBkaXZbaWQ9ImlkLXRlc3QiXTpudGgtY2hpbGQoMSlgLAogICAgICAgICAg
ICAgfSk7Ci0gICAgICAgICAgICBub2RlRm9yU2VsZWN0b3IoIiNpZC10ZXN0ID4gZGl2IiwgKG5v
ZGUpID0+IHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKFdJLmNz
c1BhdGgobm9kZSksICIjaWQtdGVzdCA+IGRpdiIsICJFbGVtZW50IGluc2lkZSBlbGVtZW50IHdp
dGggaWQgc2hvdWxkIGhhdmUgcGF0aCBmcm9tIGlkLiIpOwotICAgICAgICAgICAgICAgIHJlc29s
dmUoKTsKKworICAgICAgICAgICAgbGV0IGRpdiA9IGF3YWl0IG5vZGVGb3JTZWxlY3RvcigiI2lk
LXRlc3QgPiBkaXYiKTsKKyAgICAgICAgICAgIHRlc3ROb2RlTWF0Y2hlc1BhdGgoZGl2LCAiRWxl
bWVudCBpbnNpZGUgZWxlbWVudCB3aXRoIGlkIHNob3VsZCBoYXZlIHBhdGggZnJvbSBpZC4iLCB7
CisgICAgICAgICAgICAgICAgcmVndWxhcjogYCNpZC10ZXN0ID4gZGl2YCwKKyAgICAgICAgICAg
ICAgICBmdWxsOiBgaHRtbCA+IGJvZHlbb25sb2FkPSJydW5UZXN0KCkiXSA+IGRpdltzdHlsZT0i
dmlzaWJpbGl0eTpoaWRkZW4iXSA+IGRpdltpZD0iaWQtdGVzdCJdOm50aC1jaGlsZCgxKSA+IGRp
dmAsCiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQogICAgIH0pOwpAQCAtNDksMTAgKzY3LDEx
IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKICAgICAgICAgbmFt
ZTogIldJLmNzc1BhdGguSW5wdXRFbGVtZW50RmxhaXIiLAogICAgICAgICBkZXNjcmlwdGlvbjog
IklucHV0IGVsZW1lbnRzIGluY2x1ZGUgdGhlaXIgdHlwZS4iLAotICAgICAgICB0ZXN0KHJlc29s
dmUsIHJlamVjdCkgewotICAgICAgICAgICAgbm9kZUZvclNlbGVjdG9yKCIjaW5wdXQtdGVzdCBp
bnB1dCIsIChub2RlKSA9PiB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RF
cXVhbChXSS5jc3NQYXRoKG5vZGUpLCAiI2lucHV0LXRlc3QgPiBpbnB1dFt0eXBlPVwicGFzc3dv
cmRcIl0iLCAiSW5wdXQgZWxlbWVudCBzaG91bGQgaW5jbHVkZSB0eXBlLiIpOwotICAgICAgICAg
ICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgYXN5bmMgdGVzdCgpIHsKKyAgICAgICAgICAgIGxl
dCBpbnB1dCA9IGF3YWl0IG5vZGVGb3JTZWxlY3RvcigiI2lucHV0LXRlc3QgaW5wdXQiKTsKKyAg
ICAgICAgICAgIHRlc3ROb2RlTWF0Y2hlc1BhdGgoaW5wdXQsICJJbnB1dCBlbGVtZW50IHNob3Vs
ZCBpbmNsdWRlIHR5cGUuIiwgeworICAgICAgICAgICAgICAgIHJlZ3VsYXI6IGAjaW5wdXQtdGVz
dCA+IGlucHV0W3R5cGU9InBhc3N3b3JkIl1gLAorICAgICAgICAgICAgICAgIGZ1bGw6IGBodG1s
ID4gYm9keVtvbmxvYWQ9InJ1blRlc3QoKSJdID4gZGl2W3N0eWxlPSJ2aXNpYmlsaXR5OmhpZGRl
biJdID4gZGl2W2lkPSJpbnB1dC10ZXN0Il06bnRoLWNoaWxkKDIpID4gaW5wdXRbdHlwZT0icGFz
c3dvcmQiXWAsCiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQogICAgIH0pOwpAQCAtNjAsMTAg
Kzc5LDExIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKICAgICAg
ICAgbmFtZTogIldJLmNzc1BhdGguVW5pcXVlVGFnTmFtZSIsCiAgICAgICAgIGRlc2NyaXB0aW9u
OiAiRWxlbWVudHMgd2l0aCB1bmlxdWUgdGFnIG5hbWUgZG8gbm90IG5lZWQgbnRoLWNoaWxkLiIs
Ci0gICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICBub2RlRm9yU2Vs
ZWN0b3IoIiN1bmlxdWUtdGFnLXRlc3QgPiBzcGFuIiwgKG5vZGUpID0+IHsKLSAgICAgICAgICAg
ICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKFdJLmNzc1BhdGgobm9kZSksICIjdW5pcXVl
LXRhZy10ZXN0ID4gc3BhbiIsICJFbGVtZW50cyB3aXRoIHVuaXF1ZSB0YWcgbmFtZSBzaG91bGQg
bm90IG5lZWQgbnRoLWNoaWxkKCkuIik7Ci0gICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAg
ICAgICBhc3luYyB0ZXN0KCkgeworICAgICAgICAgICAgbGV0IHNwYW4gPSBhd2FpdCBub2RlRm9y
U2VsZWN0b3IoIiN1bmlxdWUtdGFnLXRlc3QgPiBzcGFuIik7CisgICAgICAgICAgICB0ZXN0Tm9k
ZU1hdGNoZXNQYXRoKHNwYW4sICJFbGVtZW50cyB3aXRoIHVuaXF1ZSB0YWcgbmFtZSBzaG91bGQg
bm90IG5lZWQgbnRoLWNoaWxkKCkuIiwgeworICAgICAgICAgICAgICAgIHJlZ3VsYXI6IGAjdW5p
cXVlLXRhZy10ZXN0ID4gc3BhbmAsCisgICAgICAgICAgICAgICAgZnVsbDogYGh0bWwgPiBib2R5
W29ubG9hZD0icnVuVGVzdCgpIl0gPiBkaXZbc3R5bGU9InZpc2liaWxpdHk6aGlkZGVuIl0gPiBk
aXZbaWQ9InVuaXF1ZS10YWctdGVzdCJdOm50aC1jaGlsZCgzKSA+IHNwYW5gLAogICAgICAgICAg
ICAgfSk7CiAgICAgICAgIH0KICAgICB9KTsKQEAgLTcxLDEwICs5MSwxMSBAQCBmdW5jdGlvbiB0
ZXN0KCkKICAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CiAgICAgICAgIG5hbWU6ICJXSS5jc3NQYXRo
Lk5vblVuaXF1ZVRhZ05hbWUiLAogICAgICAgICBkZXNjcmlwdGlvbjogIkVsZW1lbnRzIHdpdGgg
bm9uLXVuaXF1ZSB0YWcgbmFtZSBuZWVkIG50aC1jaGlsZC4iLAotICAgICAgICB0ZXN0KHJlc29s
dmUsIHJlamVjdCkgewotICAgICAgICAgICAgbm9kZUZvclNlbGVjdG9yKCIjbm9uLXVuaXF1ZS10
YWctdGVzdCA+IHNwYW4gfiBzcGFuIiwgKG5vZGUpID0+IHsKLSAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmV4cGVjdEVxdWFsKFdJLmNzc1BhdGgobm9kZSksICIjbm9uLXVuaXF1ZS10YWct
dGVzdCA+IHNwYW46bnRoLWNoaWxkKDMpIiwgIkVsZW1lbnRzIHdpdGggbm9uLXVuaXF1ZSB0YWcg
bmFtZSBzaG91bGQgbmVlZCBudGgtY2hpbGQoKS4iKTsKLSAgICAgICAgICAgICAgICByZXNvbHZl
KCk7CisgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBsZXQgc3BhbiA9IGF3YWl0
IG5vZGVGb3JTZWxlY3RvcigiI25vbi11bmlxdWUtdGFnLXRlc3QgPiBzcGFuIH4gc3BhbiIpOwor
ICAgICAgICAgICAgdGVzdE5vZGVNYXRjaGVzUGF0aChzcGFuLCAiRWxlbWVudHMgd2l0aCBub24t
dW5pcXVlIHRhZyBuYW1lIHNob3VsZCBuZWVkIG50aC1jaGlsZCgpLiIsIHsKKyAgICAgICAgICAg
ICAgICByZWd1bGFyOiBgI25vbi11bmlxdWUtdGFnLXRlc3QgPiBzcGFuOm50aC1jaGlsZCgzKWAs
CisgICAgICAgICAgICAgICAgZnVsbDogYGh0bWwgPiBib2R5W29ubG9hZD0icnVuVGVzdCgpIl0g
PiBkaXZbc3R5bGU9InZpc2liaWxpdHk6aGlkZGVuIl0gPiBkaXZbaWQ9Im5vbi11bmlxdWUtdGFn
LXRlc3QiXTpudGgtY2hpbGQoNCkgPiBzcGFuOm50aC1jaGlsZCgzKWAsCiAgICAgICAgICAgICB9
KTsKICAgICAgICAgfQogICAgIH0pOwpAQCAtODIsMTAgKzEwMywxMSBAQCBmdW5jdGlvbiB0ZXN0
KCkKICAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CiAgICAgICAgIG5hbWU6ICJXSS5jc3NQYXRoLlVu
aXF1ZUNsYXNzTmFtZSIsCiAgICAgICAgIGRlc2NyaXB0aW9uOiAiRWxlbWVudHMgd2l0aCB1bmlx
dWUgY2xhc3MgbmFtZXMgc2hvdWxkIGluY2x1ZGUgdGhlaXIgY2xhc3MgbmFtZXMuIiwKLSAgICAg
ICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgIG5vZGVGb3JTZWxlY3Rvcigi
I3VuaXF1ZS1jbGFzcy10ZXN0ID4gLmJldGEiLCAobm9kZSkgPT4gewotICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwoV0kuY3NzUGF0aChub2RlKSwgIiN1bmlxdWUtY2xh
c3MtdGVzdCA+IGRpdi5hbHBoYS5iZXRhIiwgIkVsZW1lbnRzIHdpdGggdW5pcXVlIGNsYXNzIG5h
bWVzIHNob3VsZCBpbmNsdWRlIHRoZWlyIGNsYXNzIG5hbWVzLiIpOwotICAgICAgICAgICAgICAg
IHJlc29sdmUoKTsKKyAgICAgICAgYXN5bmMgdGVzdCgpIHsKKyAgICAgICAgICAgIGxldCBiZXRh
ID0gYXdhaXQgbm9kZUZvclNlbGVjdG9yKCIjdW5pcXVlLWNsYXNzLXRlc3QgPiAuYmV0YSIpOwor
ICAgICAgICAgICAgdGVzdE5vZGVNYXRjaGVzUGF0aChiZXRhLCAiRWxlbWVudHMgd2l0aCB1bmlx
dWUgY2xhc3MgbmFtZXMgc2hvdWxkIGluY2x1ZGUgdGhlaXIgY2xhc3MgbmFtZXMuIiwgeworICAg
ICAgICAgICAgICAgIHJlZ3VsYXI6IGAjdW5pcXVlLWNsYXNzLXRlc3QgPiBkaXYuYWxwaGEuYmV0
YWAsCisgICAgICAgICAgICAgICAgZnVsbDogYGh0bWwgPiBib2R5W29ubG9hZD0icnVuVGVzdCgp
Il0gPiBkaXZbc3R5bGU9InZpc2liaWxpdHk6aGlkZGVuIl0gPiBkaXZbaWQ9InVuaXF1ZS1jbGFz
cy10ZXN0Il06bnRoLWNoaWxkKDUpID4gZGl2W2NsYXNzPSJhbHBoYSBiZXRhIl0uYWxwaGEuYmV0
YWAsCiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQogICAgIH0pOwpAQCAtOTMsMTAgKzExNSwx
MSBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CiAgICAgICAgIG5h
bWU6ICJXSS5jc3NQYXRoLk5vblVuaXF1ZUNsYXNzTmFtZSIsCiAgICAgICAgIGRlc2NyaXB0aW9u
OiAiRWxlbWVudHMgd2l0aCBub24tdW5pcXVlIGNsYXNzIG5hbWVzIHNob3VsZCBub3QgaW5jbHVk
ZSB0aGVpciBjbGFzcyBuYW1lcy4iLAotICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewot
ICAgICAgICAgICAgbm9kZUZvclNlbGVjdG9yKCIjbm9uLXVuaXF1ZS1jbGFzcy10ZXN0ID4gZGl2
IH4gZGl2IiwgKG5vZGUpID0+IHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVj
dEVxdWFsKFdJLmNzc1BhdGgobm9kZSksICIjbm9uLXVuaXF1ZS1jbGFzcy10ZXN0ID4gZGl2Om50
aC1jaGlsZCgyKSIsICJFbGVtZW50cyB3aXRoIG5vbi11bmlxdWUgY2xhc3MgbmFtZXMgc2hvdWxk
IG5vdCBpbmNsdWRlIHRoZWlyIGNsYXNzIG5hbWVzLiIpOwotICAgICAgICAgICAgICAgIHJlc29s
dmUoKTsKKyAgICAgICAgYXN5bmMgdGVzdCgpIHsKKyAgICAgICAgICAgIGxldCBkaXYgPSBhd2Fp
dCBub2RlRm9yU2VsZWN0b3IoIiNub24tdW5pcXVlLWNsYXNzLXRlc3QgPiBkaXYgfiBkaXYiKTsK
KyAgICAgICAgICAgIHRlc3ROb2RlTWF0Y2hlc1BhdGgoZGl2LCAiRWxlbWVudHMgd2l0aCBub24t
dW5pcXVlIGNsYXNzIG5hbWVzIHNob3VsZCBub3QgaW5jbHVkZSB0aGVpciBjbGFzcyBuYW1lcy4i
LCB7CisgICAgICAgICAgICAgICAgcmVndWxhcjogYCNub24tdW5pcXVlLWNsYXNzLXRlc3QgPiBk
aXY6bnRoLWNoaWxkKDIpYCwKKyAgICAgICAgICAgICAgICBmdWxsOiBgaHRtbCA+IGJvZHlbb25s
b2FkPSJydW5UZXN0KCkiXSA+IGRpdltzdHlsZT0idmlzaWJpbGl0eTpoaWRkZW4iXSA+IGRpdltp
ZD0ibm9uLXVuaXF1ZS1jbGFzcy10ZXN0Il06bnRoLWNoaWxkKDYpID4gZGl2W2NsYXNzPSJhbHBo
YSJdOm50aC1jaGlsZCgyKWAsCiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQogICAgIH0pOwpA
QCAtMTA0LDEwICsxMjcsMTEgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgc3VpdGUuYWRkVGVzdENh
c2UoewogICAgICAgICBuYW1lOiAiV0kuY3NzUGF0aC5VbmlxdWVUYWdBbmRDbGFzc05hbWUiLAog
ICAgICAgICBkZXNjcmlwdGlvbjogIkVsZW1lbnRzIHdpdGggdW5pcXVlIHRhZyBhbmQgY2xhc3Mg
bmFtZSBqdXN0IHVzZSB0YWcgZm9yIHNpbXBsaWNpdHkuIiwKLSAgICAgICAgdGVzdChyZXNvbHZl
LCByZWplY3QpIHsKLSAgICAgICAgICAgIG5vZGVGb3JTZWxlY3RvcigiI3VuaXF1ZS10YWctYW5k
LWNsYXNzLXRlc3QgPiAuYWxwaGEiLCAobm9kZSkgPT4gewotICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuZXhwZWN0RXF1YWwoV0kuY3NzUGF0aChub2RlKSwgIiN1bmlxdWUtdGFnLWFuZC1j
bGFzcy10ZXN0ID4gZGl2IiwgIkVsZW1lbnRzIHdpdGggdW5pcXVlIHRhZyBhbmQgY2xhc3MgbmFt
ZXMgc2hvdWxkIGp1c3QgaGF2ZSBzaW1wbGUgdGFnLiIpOwotICAgICAgICAgICAgICAgIHJlc29s
dmUoKTsKKyAgICAgICAgYXN5bmMgdGVzdCgpIHsKKyAgICAgICAgICAgIGxldCBhbHBoYSA9IGF3
YWl0IG5vZGVGb3JTZWxlY3RvcigiI3VuaXF1ZS10YWctYW5kLWNsYXNzLXRlc3QgPiAuYWxwaGEi
KTsKKyAgICAgICAgICAgIHRlc3ROb2RlTWF0Y2hlc1BhdGgoYWxwaGEsICJFbGVtZW50cyB3aXRo
IHVuaXF1ZSB0YWcgYW5kIGNsYXNzIG5hbWVzIHNob3VsZCBqdXN0IGhhdmUgc2ltcGxlIHRhZy4i
LCB7CisgICAgICAgICAgICAgICAgcmVndWxhcjogYCN1bmlxdWUtdGFnLWFuZC1jbGFzcy10ZXN0
ID4gZGl2YCwKKyAgICAgICAgICAgICAgICBmdWxsOiBgaHRtbCA+IGJvZHlbb25sb2FkPSJydW5U
ZXN0KCkiXSA+IGRpdltzdHlsZT0idmlzaWJpbGl0eTpoaWRkZW4iXSA+IGRpdltpZD0idW5pcXVl
LXRhZy1hbmQtY2xhc3MtdGVzdCJdOm50aC1jaGlsZCg3KSA+IGRpdltjbGFzcz0iYWxwaGEiXWAs
CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQogICAgIH0pOwpAQCAtMTE1LDEwICsxMzksMTEg
QEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgc3VpdGUuYWRkVGVzdENhc2UoewogICAgICAgICBuYW1l
OiAiV0kuY3NzUGF0aC5EZWVwUGF0aCIsCiAgICAgICAgIGRlc2NyaXB0aW9uOiAiVGVzdHMgZm9y
IGVsZW1lbnQgd2l0aCBjb21wbGV4IHBhdGguIiwKLSAgICAgICAgdGVzdChyZXNvbHZlLCByZWpl
Y3QpIHsKLSAgICAgICAgICAgIG5vZGVGb3JTZWxlY3Rvcigic21hbGwiLCAobm9kZSkgPT4gewot
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwoV0kuY3NzUGF0aChub2Rl
KSwgImJvZHkgPiBkaXYgPiBkaXYuZGVlcC1wYXRoLXRlc3QgPiB1bCA+IGxpID4gZGl2Om50aC1j
aGlsZCg0KSA+IHVsID4gbGkuYWN0aXZlID4gYSA+IHNtYWxsIiwgIlNob3VsZCBiZSBhYmxlIHRv
IGNyZWF0ZSBwYXRoIGZvciBkZWVwIGVsZW1lbnRzLiIpOwotICAgICAgICAgICAgICAgIHJlc29s
dmUoKTsKKyAgICAgICAgYXN5bmMgdGVzdCgpIHsKKyAgICAgICAgICAgIGxldCBzbWFsbCA9IGF3
YWl0IG5vZGVGb3JTZWxlY3Rvcigic21hbGwiKTsKKyAgICAgICAgICAgIHRlc3ROb2RlTWF0Y2hl
c1BhdGgoc21hbGwsICJTaG91bGQgYmUgYWJsZSB0byBjcmVhdGUgcGF0aCBmb3IgZGVlcCBlbGVt
ZW50cy4iLCB7CisgICAgICAgICAgICAgICAgcmVndWxhcjogYGJvZHkgPiBkaXYgPiBkaXYuZGVl
cC1wYXRoLXRlc3QgPiB1bCA+IGxpID4gZGl2Om50aC1jaGlsZCg0KSA+IHVsID4gbGkuYWN0aXZl
ID4gYSA+IHNtYWxsYCwKKyAgICAgICAgICAgICAgICBmdWxsOiBgaHRtbCA+IGJvZHlbb25sb2Fk
PSJydW5UZXN0KCkiXSA+IGRpdltzdHlsZT0idmlzaWJpbGl0eTpoaWRkZW4iXSA+IGRpdltjbGFz
cz0iZGVlcC1wYXRoLXRlc3QiXS5kZWVwLXBhdGgtdGVzdCA+IHVsID4gbGkgPiBkaXY6bnRoLWNo
aWxkKDQpID4gdWxbY2xhc3M9Imxpc3QiXSA+IGxpW2NsYXNzPSJhY3RpdmUiXS5hY3RpdmUgPiBh
W2hyZWY9IiMiXSA+IHNtYWxsYCwKICAgICAgICAgICAgIH0pOwogICAgICAgICB9CiAgICAgfSk7
CkBAIC0xMjYsMTUgKzE1MSwyMSBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICBzdWl0ZS5hZGRUZXN0
Q2FzZSh7CiAgICAgICAgIG5hbWU6ICJXSS5jc3NQYXRoLlBzZXVkb0VsZW1lbnQiLAogICAgICAg
ICBkZXNjcmlwdGlvbjogIkZvciBhIHBzZXVkbyBlbGVtZW50IHdlIHNob3VsZCBnZXQgdGhlIHBh
dGggb2YgdGhlIHBhcmVudCBhbmQgYXBwZW5kIHRoZSBwc2V1ZG8gZWxlbWVudCBzZWxlY3Rvci4i
LAotICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAgICAgbm9kZUZvclNl
bGVjdG9yKCIjcHNldWRvLWVsZW1lbnQtdGVzdCA+IGRpdiB+IGRpdiIsIChub2RlKSA9PiB7Ci0g
ICAgICAgICAgICAgICAgbGV0IHBzZXVkb0VsZW1lbnRCZWZvcmUgPSBub2RlLmJlZm9yZVBzZXVk
b0VsZW1lbnQoKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChwc2V1ZG9F
bGVtZW50QmVmb3JlKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFs
KFdJLmNzc1BhdGgocHNldWRvRWxlbWVudEJlZm9yZSksICIjcHNldWRvLWVsZW1lbnQtdGVzdCA+
IGRpdjpudGgtY2hpbGQoMyk6OmJlZm9yZSIsICJTaG91bGQgYmUgYWJsZSB0byBjcmVhdGUgcGF0
aCBmb3IgOjpiZWZvcmUgcHNldWRvIGVsZW1lbnRzLiIpOwotICAgICAgICAgICAgICAgIGxldCBw
c2V1ZG9FbGVtZW50QWZ0ZXIgPSBub2RlLmFmdGVyUHNldWRvRWxlbWVudCgpOwotICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHBzZXVkb0VsZW1lbnRBZnRlcik7Ci0gICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChXSS5jc3NQYXRoKHBzZXVkb0VsZW1l
bnRBZnRlciksICIjcHNldWRvLWVsZW1lbnQtdGVzdCA+IGRpdjpudGgtY2hpbGQoMyk6OmFmdGVy
IiwgIlNob3VsZCBiZSBhYmxlIHRvIGNyZWF0ZSBwYXRoIGZvciA6OmFmdGVyIHBzZXVkbyBlbGVt
ZW50cy4iKTsKLSAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIGFzeW5jIHRlc3Qo
KSB7CisgICAgICAgICAgICBsZXQgZGl2ID0gYXdhaXQgbm9kZUZvclNlbGVjdG9yKCIjcHNldWRv
LWVsZW1lbnQtdGVzdCA+IGRpdiB+IGRpdiIpOworCisgICAgICAgICAgICBsZXQgcHNldWRvRWxl
bWVudEJlZm9yZSA9IGRpdi5iZWZvcmVQc2V1ZG9FbGVtZW50KCk7CisgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFzc2VydChwc2V1ZG9FbGVtZW50QmVmb3JlKTsKKyAgICAgICAgICAgIHRlc3RO
b2RlTWF0Y2hlc1BhdGgocHNldWRvRWxlbWVudEJlZm9yZSwgIlNob3VsZCBiZSBhYmxlIHRvIGNy
ZWF0ZSBwYXRoIGZvciA6OmJlZm9yZSBwc2V1ZG8gZWxlbWVudHMuIiwgeworICAgICAgICAgICAg
ICAgIHJlZ3VsYXI6IGAjcHNldWRvLWVsZW1lbnQtdGVzdCA+IGRpdjpudGgtY2hpbGQoMyk6OmJl
Zm9yZWAsCisgICAgICAgICAgICAgICAgZnVsbDogYGh0bWwgPiBib2R5W29ubG9hZD0icnVuVGVz
dCgpIl0gPiBkaXZbc3R5bGU9InZpc2liaWxpdHk6aGlkZGVuIl0gPiBkaXZbaWQ9InBzZXVkby1l
bGVtZW50LXRlc3QiXTpudGgtY2hpbGQoOSkgPiBkaXY6bnRoLWNoaWxkKDMpOjpiZWZvcmVgLAor
ICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgIGxldCBwc2V1ZG9FbGVtZW50QWZ0ZXIgPSBk
aXYuYWZ0ZXJQc2V1ZG9FbGVtZW50KCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2Vy
dChwc2V1ZG9FbGVtZW50QWZ0ZXIpOworICAgICAgICAgICAgdGVzdE5vZGVNYXRjaGVzUGF0aChw
c2V1ZG9FbGVtZW50QWZ0ZXIsICJTaG91bGQgYmUgYWJsZSB0byBjcmVhdGUgcGF0aCBmb3IgOjph
ZnRlciBwc2V1ZG8gZWxlbWVudHMuIiwgeworICAgICAgICAgICAgICAgIHJlZ3VsYXI6IGAjcHNl
dWRvLWVsZW1lbnQtdGVzdCA+IGRpdjpudGgtY2hpbGQoMyk6OmFmdGVyYCwKKyAgICAgICAgICAg
ICAgICBmdWxsOiBgaHRtbCA+IGJvZHlbb25sb2FkPSJydW5UZXN0KCkiXSA+IGRpdltzdHlsZT0i
dmlzaWJpbGl0eTpoaWRkZW4iXSA+IGRpdltpZD0icHNldWRvLWVsZW1lbnQtdGVzdCJdOm50aC1j
aGlsZCg5KSA+IGRpdjpudGgtY2hpbGQoMyk6OmFmdGVyYCwKICAgICAgICAgICAgIH0pOwogICAg
ICAgICB9CiAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBkMmVlMzU3MmY0ZC4u
MTk2ZTc4ODZiMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDE4LTEwLTI2ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBwcm92aWRlIG9wdGlvbnMgdG8gV0kuY3NzUGF0aCBmb3IgbW9yZSB2ZXJi
b3NpdHkKKyAgICAgICAgTmVlZCB0aGUgYnVnIFVSTCAoT09QUyEpLgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9CYXNlL0RP
TVV0aWxpdGllcy5qczoKKyAgICAgICAgKFdJLmNzc1BhdGgpOgorICAgICAgICAoV0kuY3NzUGF0
aENvbXBvbmVudCk6CisKIDIwMTgtMTAtMjUgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUu
Y29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IENhbnZhcyBSZWNvcmRpbmcgbG9hZGluZyBn
b2VzIHNpZ25pZmljYW50bHkgc2xvd2VyIHdoZW4gIkZyYW1lIiB0cmVlIGVsZW1lbnQgaXMgZXhw
YW5kZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jh
c2UvRE9NVXRpbGl0aWVzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
QmFzZS9ET01VdGlsaXRpZXMuanMKaW5kZXggNTA2NzEwYTFmNTQuLjRhNTBmM2I0ZWYyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL0RPTVV0aWxp
dGllcy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL0RP
TVV0aWxpdGllcy5qcwpAQCAtOTMsNyArOTMsNyBAQCBmdW5jdGlvbiBjcmVhdGVTVkdFbGVtZW50
KHRhZ05hbWUpCiAgICAgcmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3
dy53My5vcmcvMjAwMC9zdmciLCB0YWdOYW1lKTsKIH0KIAotV0kuY3NzUGF0aCA9IGZ1bmN0aW9u
KG5vZGUpCitXSS5jc3NQYXRoID0gZnVuY3Rpb24obm9kZSwgb3B0aW9ucyA9IHt9KQogewogICAg
IGNvbnNvbGUuYXNzZXJ0KG5vZGUgaW5zdGFuY2VvZiBXSS5ET01Ob2RlLCAiRXhwZWN0ZWQgYSBE
T01Ob2RlLiIpOwogICAgIGlmIChub2RlLm5vZGVUeXBlKCkgIT09IE5vZGUuRUxFTUVOVF9OT0RF
KQpAQCAtMTA3LDcgKzEwNyw3IEBAIFdJLmNzc1BhdGggPSBmdW5jdGlvbihub2RlKQogCiAgICAg
bGV0IGNvbXBvbmVudHMgPSBbXTsKICAgICB3aGlsZSAobm9kZSkgewotICAgICAgICBsZXQgY29t
cG9uZW50ID0gV0kuY3NzUGF0aENvbXBvbmVudChub2RlKTsKKyAgICAgICAgbGV0IGNvbXBvbmVu
dCA9IFdJLmNzc1BhdGhDb21wb25lbnQobm9kZSwgb3B0aW9ucyk7CiAgICAgICAgIGlmICghY29t
cG9uZW50KQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNvbXBvbmVudHMucHVzaChjb21w
b25lbnQpOwpAQCAtMTIwLDcgKzEyMCw3IEBAIFdJLmNzc1BhdGggPSBmdW5jdGlvbihub2RlKQog
ICAgIHJldHVybiBjb21wb25lbnRzLm1hcCgoeCkgPT4geC52YWx1ZSkuam9pbigiID4gIikgKyBz
dWZmaXg7CiB9OwogCi1XSS5jc3NQYXRoQ29tcG9uZW50ID0gZnVuY3Rpb24obm9kZSkKK1dJLmNz
c1BhdGhDb21wb25lbnQgPSBmdW5jdGlvbihub2RlLCBvcHRpb25zID0ge30pCiB7CiAgICAgY29u
c29sZS5hc3NlcnQobm9kZSBpbnN0YW5jZW9mIFdJLkRPTU5vZGUsICJFeHBlY3RlZCBhIERPTU5v
ZGUuIik7CiAgICAgY29uc29sZS5hc3NlcnQoIW5vZGUuaXNQc2V1ZG9FbGVtZW50KCkpOwpAQCAt
MTMxLDEyICsxMzEsMTIgQEAgV0kuY3NzUGF0aENvbXBvbmVudCA9IGZ1bmN0aW9uKG5vZGUpCiAg
ICAgbGV0IGxvd2VyTm9kZU5hbWUgPSBub2RlLm5vZGVOYW1lKCkudG9Mb3dlckNhc2UoKTsKIAog
ICAgIC8vIGh0bWwsIGhlYWQsIGFuZCBib2R5IGFyZSB1bmlxdWUgbm9kZXMuCi0gICAgaWYgKGxv
d2VyTm9kZU5hbWUgPT09ICJib2R5IiB8fCBsb3dlck5vZGVOYW1lID09PSAiaGVhZCIgfHwgbG93
ZXJOb2RlTmFtZSA9PT0gImh0bWwiKQorICAgIGlmICghb3B0aW9ucy5mdWxsICYmIChsb3dlck5v
ZGVOYW1lID09PSAiYm9keSIgfHwgbG93ZXJOb2RlTmFtZSA9PT0gImhlYWQiIHx8IGxvd2VyTm9k
ZU5hbWUgPT09ICJodG1sIikpCiAgICAgICAgIHJldHVybiB7dmFsdWU6IG5vZGVOYW1lLCBkb25l
OiB0cnVlfTsKIAogICAgIC8vICNpZCBpcyB1bmlxdWUuCiAgICAgbGV0IGlkID0gbm9kZS5nZXRB
dHRyaWJ1dGUoImlkIik7Ci0gICAgaWYgKGlkKQorICAgIGlmICghb3B0aW9ucy5mdWxsICYmIGlk
KQogICAgICAgICByZXR1cm4ge3ZhbHVlOiBub2RlLmVzY2FwZWRJZFNlbGVjdG9yLCBkb25lOiB0
cnVlfTsKIAogICAgIC8vIFJvb3Qgbm9kZSBkb2VzIG5vdCBoYXZlIHNpYmxpbmdzLgpAQCAtMTgw
LDcgKzE4MCwxMiBAQCBXSS5jc3NQYXRoQ29tcG9uZW50ID0gZnVuY3Rpb24obm9kZSkKICAgICB9
CiAKICAgICBsZXQgc2VsZWN0b3IgPSBub2RlTmFtZTsKLSAgICBpZiAobG93ZXJOb2RlTmFtZSA9
PT0gImlucHV0IiAmJiBub2RlLmdldEF0dHJpYnV0ZSgidHlwZSIpICYmICF1bmlxdWVDbGFzc2Vz
LnNpemUpCisgICAgaWYgKG9wdGlvbnMuZnVsbCkgeworICAgICAgICBmb3IgKGxldCBhdHRyaWJ1
dGUgb2Ygbm9kZS5hdHRyaWJ1dGVzKCkpIHsKKyAgICAgICAgICAgIGxldCBlc2NhcGVkVmFsdWUg
PSBhdHRyaWJ1dGUudmFsdWUuZXNjYXBlQ2hhcmFjdGVycygiXCIiKTsKKyAgICAgICAgICAgIHNl
bGVjdG9yICs9IGBbJHthdHRyaWJ1dGUubmFtZX09IiR7ZXNjYXBlZFZhbHVlfSJdYDsKKyAgICAg
ICAgfQorICAgIH0gZWxzZSBpZiAobG93ZXJOb2RlTmFtZSA9PT0gImlucHV0IiAmJiBub2RlLmdl
dEF0dHJpYnV0ZSgidHlwZSIpICYmICF1bmlxdWVDbGFzc2VzLnNpemUpCiAgICAgICAgIHNlbGVj
dG9yICs9IGBbdHlwZT0iJHtub2RlLmdldEF0dHJpYnV0ZSgidHlwZSIpfSJdYDsKICAgICBpZiAo
IWhhc1VuaXF1ZVRhZ05hbWUpIHsKICAgICAgICAgaWYgKHVuaXF1ZUNsYXNzZXMuc2l6ZSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353241</attachid>
            <date>2018-10-27 11:10:19 -0700</date>
            <delta_ts>2018-10-29 19:29:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>cssPath.diff</filename>
            <type>text/plain</type>
            <size>16740</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkOWY1YzVhYjA4MC4uMDhhOGIxZDBhMmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAor
MjAxOC0xMC0yNyAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAg
V2ViIEluc3BlY3RvcjogcHJvdmlkZSBvcHRpb25zIHRvIFdJLmNzc1BhdGggZm9yIG1vcmUgdmVy
Ym9zaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTA5ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGluc3BlY3Rvci9kb20vZG9tdXRpbGl0aWVzLWNzc3BhdGguaHRtbDoKKwogMjAxOC0xMC0yNiAg
QW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWIgQW5pbWF0
aW9uc10gUmVtb3ZlIHVzZWxlc3MgaW50ZXJuYWxzIG1ldGhvZHMKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9kb20vZG9tdXRpbGl0aWVzLWNzc3BhdGguaHRtbCBiL0xheW91dFRl
c3RzL2luc3BlY3Rvci9kb20vZG9tdXRpbGl0aWVzLWNzc3BhdGguaHRtbAppbmRleCAyMzgzNzQx
ODA1Mi4uNDUxMTI1MzQ0Y2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20v
ZG9tdXRpbGl0aWVzLWNzc3BhdGguaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9t
L2RvbXV0aWxpdGllcy1jc3NwYXRoLmh0bWwKQEAgLTcsMTAgKzcsMTcgQEAgZnVuY3Rpb24gdGVz
dCgpCiB7CiAgICAgbGV0IGRvY3VtZW50Tm9kZTsKIAotICAgIGZ1bmN0aW9uIG5vZGVGb3JTZWxl
Y3RvcihzZWxlY3RvciwgY2FsbGJhY2spIHsKLSAgICAgICAgV0kuZG9tTWFuYWdlci5xdWVyeVNl
bGVjdG9yKGRvY3VtZW50Tm9kZS5pZCwgc2VsZWN0b3IsIChub2RlSWQpID0+IHsKLSAgICAgICAg
ICAgIGNhbGxiYWNrKFdJLmRvbU1hbmFnZXIubm9kZUZvcklkKG5vZGVJZCkpOwotICAgICAgICB9
KTsKKyAgICBhc3luYyBmdW5jdGlvbiBub2RlRm9yU2VsZWN0b3Ioc2VsZWN0b3IpIHsKKyAgICAg
ICAgbGV0IG5vZGVJZCA9IGF3YWl0IFdJLmRvbU1hbmFnZXIucXVlcnlTZWxlY3Rvcihkb2N1bWVu
dE5vZGUuaWQsIHNlbGVjdG9yKTsKKyAgICAgICAgcmV0dXJuIFdJLmRvbU1hbmFnZXIubm9kZUZv
cklkKG5vZGVJZCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gdGVzdE5vZGVNYXRjaGVzUGF0aChu
b2RlLCBtZXNzYWdlLCB7cmVndWxhciwgZnVsbH0pIHsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5l
eHBlY3RFcXVhbChXSS5jc3NQYXRoKG5vZGUpLCByZWd1bGFyLCBtZXNzYWdlKTsKKyAgICAgICAg
aWYgKGZ1bGwpIHsKKyAgICAgICAgICAgIGxldCBhY3R1YWwgPSBXSS5jc3NQYXRoKG5vZGUsIHtm
dWxsOiB0cnVlfSk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChhY3R1YWwgPT09
IGZ1bGwsIGBGdWxsIHBhdGggJHthY3R1YWx9IGRvZXNuJ3QgbWF0Y2ggZXhwZWN0ZWQgJHtmdWxs
fS5gKTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIGxldCBzdWl0ZSA9IEluc3BlY3RvclRlc3Qu
Y3JlYXRlQXN5bmNTdWl0ZSgiV0kuY3NzUGF0aCIpOwpAQCAtMTgsMTYgKzI1LDIzIEBAIGZ1bmN0
aW9uIHRlc3QoKQogICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKICAgICAgICAgbmFtZTogIldJLmNz
c1BhdGguVG9wTGV2ZWxOb2RlIiwKICAgICAgICAgZGVzY3JpcHRpb246ICJUb3AgbGV2ZWwgbm9k
ZXMgbGlrZSBodG1sLCBib2R5LCBhbmQgaGVhZCBhcmUgdW5pcXVlLiIsCi0gICAgICAgIHRlc3Qo
cmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICBub2RlRm9yU2VsZWN0b3IoImh0bWwiLCAo
bm9kZSkgPT4gewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwoV0ku
Y3NzUGF0aChub2RlKSwgImh0bWwiLCAiSFRNTCBlbGVtZW50IHNob3VsZCBoYXZlIHNpbXBsZSBz
ZWxlY3RvciAnaHRtbCcuIik7CisgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBs
ZXQgaHRtbCA9IGF3YWl0IG5vZGVGb3JTZWxlY3RvcigiaHRtbCIpOworICAgICAgICAgICAgdGVz
dE5vZGVNYXRjaGVzUGF0aChodG1sLCAiSFRNTCBlbGVtZW50IHNob3VsZCBoYXZlIHNpbXBsZSBz
ZWxlY3RvciAnaHRtbCcuIiwgeworICAgICAgICAgICAgICAgIHJlZ3VsYXI6IGBodG1sYCwKKyAg
ICAgICAgICAgICAgICBmdWxsOiBgaHRtbGAsCiAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAg
IG5vZGVGb3JTZWxlY3RvcigiaHRtbCA+IGJvZHkiLCAobm9kZSkgPT4gewotICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwoV0kuY3NzUGF0aChub2RlKSwgImJvZHkiLCAi
Qk9EWSBlbGVtZW50IHNob3VsZCBoYXZlIHNpbXBsZSBzZWxlY3RvciAnYm9keScuIik7CisKKyAg
ICAgICAgICAgIGxldCBib2R5ID0gYXdhaXQgbm9kZUZvclNlbGVjdG9yKCJodG1sID4gYm9keSIp
OworICAgICAgICAgICAgdGVzdE5vZGVNYXRjaGVzUGF0aChib2R5LCAiQk9EWSBlbGVtZW50IHNo
b3VsZCBoYXZlIHNpbXBsZSBzZWxlY3RvciAnYm9keScuIiwgeworICAgICAgICAgICAgICAgIHJl
Z3VsYXI6IGBib2R5YCwKKyAgICAgICAgICAgICAgICBmdWxsOiBgaHRtbCA+IGJvZHlbb25sb2Fk
PSJydW5UZXN0KCkiXWAsCiAgICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIG5vZGVGb3JTZWxl
Y3RvcigiaHRtbCA+IGhlYWQiLCAobm9kZSkgPT4gewotICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuZXhwZWN0RXF1YWwoV0kuY3NzUGF0aChub2RlKSwgImhlYWQiLCAiSEVBRCBlbGVtZW50
IHNob3VsZCBoYXZlIHNpbXBsZSBzZWxlY3RvciAnaGVhZCcuIik7Ci0gICAgICAgICAgICAgICAg
cmVzb2x2ZSgpOworCisgICAgICAgICAgICBsZXQgaGVhZCA9IGF3YWl0IG5vZGVGb3JTZWxlY3Rv
cigiaHRtbCA+IGhlYWQiKTsKKyAgICAgICAgICAgIHRlc3ROb2RlTWF0Y2hlc1BhdGgoaGVhZCwg
IkhFQUQgZWxlbWVudCBzaG91bGQgaGF2ZSBzaW1wbGUgc2VsZWN0b3IgJ2hlYWQnLiIsIHsKKyAg
ICAgICAgICAgICAgICByZWd1bGFyOiBgaGVhZGAsCisgICAgICAgICAgICAgICAgZnVsbDogYGh0
bWwgPiBoZWFkYCwKICAgICAgICAgICAgIH0pOwogICAgICAgICB9CiAgICAgfSk7CkBAIC0zNSwx
MyArNDksMTcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgc3VpdGUuYWRkVGVzdENhc2UoewogICAg
ICAgICBuYW1lOiAiV0kuY3NzUGF0aC5FbGVtZW50V2l0aElEIiwKICAgICAgICAgZGVzY3JpcHRp
b246ICJFbGVtZW50IHdpdGggSUQgaXMgdW5pcXVlICgjaWQpLiBQYXRoIGRvZXMgbm90IG5lZWQg
dG8gZ28gcGFzdCBpdC4iLAotICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewotICAgICAg
ICAgICAgbm9kZUZvclNlbGVjdG9yKCIjaWQtdGVzdCIsIChub2RlKSA9PiB7Ci0gICAgICAgICAg
ICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChXSS5jc3NQYXRoKG5vZGUpLCAiI2lkLXRl
c3QiLCAiRWxlbWVudCB3aXRoIGlkIHNob3VsZCBoYXZlIHNpbXBsZSBzZWxlY3RvciAnI2lkLXRl
c3QnLiIpOworICAgICAgICBhc3luYyB0ZXN0KCkgeworICAgICAgICAgICAgbGV0IHRlc3QgPSBh
d2FpdCBub2RlRm9yU2VsZWN0b3IoIiNpZC10ZXN0Iik7CisgICAgICAgICAgICB0ZXN0Tm9kZU1h
dGNoZXNQYXRoKHRlc3QsICJFbGVtZW50IHdpdGggaWQgc2hvdWxkIGhhdmUgc2ltcGxlIHNlbGVj
dG9yICcjaWQtdGVzdCcuIiwgeworICAgICAgICAgICAgICAgIHJlZ3VsYXI6IGAjaWQtdGVzdGAs
CisgICAgICAgICAgICAgICAgZnVsbDogYGh0bWwgPiBib2R5W29ubG9hZD0icnVuVGVzdCgpIl0g
PiBkaXZbc3R5bGU9InZpc2liaWxpdHk6aGlkZGVuIl0gPiBkaXZbaWQ9ImlkLXRlc3QiXTpudGgt
Y2hpbGQoMSlgLAogICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICBub2RlRm9yU2VsZWN0b3Io
IiNpZC10ZXN0ID4gZGl2IiwgKG5vZGUpID0+IHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmV4cGVjdEVxdWFsKFdJLmNzc1BhdGgobm9kZSksICIjaWQtdGVzdCA+IGRpdiIsICJFbGVt
ZW50IGluc2lkZSBlbGVtZW50IHdpdGggaWQgc2hvdWxkIGhhdmUgcGF0aCBmcm9tIGlkLiIpOwot
ICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKworICAgICAgICAgICAgbGV0IGRpdiA9IGF3YWl0
IG5vZGVGb3JTZWxlY3RvcigiI2lkLXRlc3QgPiBkaXYiKTsKKyAgICAgICAgICAgIHRlc3ROb2Rl
TWF0Y2hlc1BhdGgoZGl2LCAiRWxlbWVudCBpbnNpZGUgZWxlbWVudCB3aXRoIGlkIHNob3VsZCBo
YXZlIHBhdGggZnJvbSBpZC4iLCB7CisgICAgICAgICAgICAgICAgcmVndWxhcjogYCNpZC10ZXN0
ID4gZGl2YCwKKyAgICAgICAgICAgICAgICBmdWxsOiBgaHRtbCA+IGJvZHlbb25sb2FkPSJydW5U
ZXN0KCkiXSA+IGRpdltzdHlsZT0idmlzaWJpbGl0eTpoaWRkZW4iXSA+IGRpdltpZD0iaWQtdGVz
dCJdOm50aC1jaGlsZCgxKSA+IGRpdmAsCiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQogICAg
IH0pOwpAQCAtNDksMTAgKzY3LDExIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIHN1aXRlLmFkZFRl
c3RDYXNlKHsKICAgICAgICAgbmFtZTogIldJLmNzc1BhdGguSW5wdXRFbGVtZW50RmxhaXIiLAog
ICAgICAgICBkZXNjcmlwdGlvbjogIklucHV0IGVsZW1lbnRzIGluY2x1ZGUgdGhlaXIgdHlwZS4i
LAotICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAgICAgbm9kZUZvclNl
bGVjdG9yKCIjaW5wdXQtdGVzdCBpbnB1dCIsIChub2RlKSA9PiB7Ci0gICAgICAgICAgICAgICAg
SW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChXSS5jc3NQYXRoKG5vZGUpLCAiI2lucHV0LXRlc3Qg
PiBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0iLCAiSW5wdXQgZWxlbWVudCBzaG91bGQgaW5jbHVk
ZSB0eXBlLiIpOwotICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgYXN5bmMgdGVz
dCgpIHsKKyAgICAgICAgICAgIGxldCBpbnB1dCA9IGF3YWl0IG5vZGVGb3JTZWxlY3RvcigiI2lu
cHV0LXRlc3QgaW5wdXQiKTsKKyAgICAgICAgICAgIHRlc3ROb2RlTWF0Y2hlc1BhdGgoaW5wdXQs
ICJJbnB1dCBlbGVtZW50IHNob3VsZCBpbmNsdWRlIHR5cGUuIiwgeworICAgICAgICAgICAgICAg
IHJlZ3VsYXI6IGAjaW5wdXQtdGVzdCA+IGlucHV0W3R5cGU9InBhc3N3b3JkIl1gLAorICAgICAg
ICAgICAgICAgIGZ1bGw6IGBodG1sID4gYm9keVtvbmxvYWQ9InJ1blRlc3QoKSJdID4gZGl2W3N0
eWxlPSJ2aXNpYmlsaXR5OmhpZGRlbiJdID4gZGl2W2lkPSJpbnB1dC10ZXN0Il06bnRoLWNoaWxk
KDIpID4gaW5wdXRbdHlwZT0icGFzc3dvcmQiXWAsCiAgICAgICAgICAgICB9KTsKICAgICAgICAg
fQogICAgIH0pOwpAQCAtNjAsMTAgKzc5LDExIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIHN1aXRl
LmFkZFRlc3RDYXNlKHsKICAgICAgICAgbmFtZTogIldJLmNzc1BhdGguVW5pcXVlVGFnTmFtZSIs
CiAgICAgICAgIGRlc2NyaXB0aW9uOiAiRWxlbWVudHMgd2l0aCB1bmlxdWUgdGFnIG5hbWUgZG8g
bm90IG5lZWQgbnRoLWNoaWxkLiIsCi0gICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7Ci0g
ICAgICAgICAgICBub2RlRm9yU2VsZWN0b3IoIiN1bmlxdWUtdGFnLXRlc3QgPiBzcGFuIiwgKG5v
ZGUpID0+IHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKFdJLmNz
c1BhdGgobm9kZSksICIjdW5pcXVlLXRhZy10ZXN0ID4gc3BhbiIsICJFbGVtZW50cyB3aXRoIHVu
aXF1ZSB0YWcgbmFtZSBzaG91bGQgbm90IG5lZWQgbnRoLWNoaWxkKCkuIik7Ci0gICAgICAgICAg
ICAgICAgcmVzb2x2ZSgpOworICAgICAgICBhc3luYyB0ZXN0KCkgeworICAgICAgICAgICAgbGV0
IHNwYW4gPSBhd2FpdCBub2RlRm9yU2VsZWN0b3IoIiN1bmlxdWUtdGFnLXRlc3QgPiBzcGFuIik7
CisgICAgICAgICAgICB0ZXN0Tm9kZU1hdGNoZXNQYXRoKHNwYW4sICJFbGVtZW50cyB3aXRoIHVu
aXF1ZSB0YWcgbmFtZSBzaG91bGQgbm90IG5lZWQgbnRoLWNoaWxkKCkuIiwgeworICAgICAgICAg
ICAgICAgIHJlZ3VsYXI6IGAjdW5pcXVlLXRhZy10ZXN0ID4gc3BhbmAsCisgICAgICAgICAgICAg
ICAgZnVsbDogYGh0bWwgPiBib2R5W29ubG9hZD0icnVuVGVzdCgpIl0gPiBkaXZbc3R5bGU9InZp
c2liaWxpdHk6aGlkZGVuIl0gPiBkaXZbaWQ9InVuaXF1ZS10YWctdGVzdCJdOm50aC1jaGlsZCgz
KSA+IHNwYW5gLAogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KICAgICB9KTsKQEAgLTcxLDEw
ICs5MSwxMSBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CiAgICAg
ICAgIG5hbWU6ICJXSS5jc3NQYXRoLk5vblVuaXF1ZVRhZ05hbWUiLAogICAgICAgICBkZXNjcmlw
dGlvbjogIkVsZW1lbnRzIHdpdGggbm9uLXVuaXF1ZSB0YWcgbmFtZSBuZWVkIG50aC1jaGlsZC4i
LAotICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAgICAgbm9kZUZvclNl
bGVjdG9yKCIjbm9uLXVuaXF1ZS10YWctdGVzdCA+IHNwYW4gfiBzcGFuIiwgKG5vZGUpID0+IHsK
LSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKFdJLmNzc1BhdGgobm9k
ZSksICIjbm9uLXVuaXF1ZS10YWctdGVzdCA+IHNwYW46bnRoLWNoaWxkKDMpIiwgIkVsZW1lbnRz
IHdpdGggbm9uLXVuaXF1ZSB0YWcgbmFtZSBzaG91bGQgbmVlZCBudGgtY2hpbGQoKS4iKTsKLSAg
ICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAg
ICAgICBsZXQgc3BhbiA9IGF3YWl0IG5vZGVGb3JTZWxlY3RvcigiI25vbi11bmlxdWUtdGFnLXRl
c3QgPiBzcGFuIH4gc3BhbiIpOworICAgICAgICAgICAgdGVzdE5vZGVNYXRjaGVzUGF0aChzcGFu
LCAiRWxlbWVudHMgd2l0aCBub24tdW5pcXVlIHRhZyBuYW1lIHNob3VsZCBuZWVkIG50aC1jaGls
ZCgpLiIsIHsKKyAgICAgICAgICAgICAgICByZWd1bGFyOiBgI25vbi11bmlxdWUtdGFnLXRlc3Qg
PiBzcGFuOm50aC1jaGlsZCgzKWAsCisgICAgICAgICAgICAgICAgZnVsbDogYGh0bWwgPiBib2R5
W29ubG9hZD0icnVuVGVzdCgpIl0gPiBkaXZbc3R5bGU9InZpc2liaWxpdHk6aGlkZGVuIl0gPiBk
aXZbaWQ9Im5vbi11bmlxdWUtdGFnLXRlc3QiXTpudGgtY2hpbGQoNCkgPiBzcGFuOm50aC1jaGls
ZCgzKWAsCiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQogICAgIH0pOwpAQCAtODIsMTAgKzEw
MywxMSBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CiAgICAgICAg
IG5hbWU6ICJXSS5jc3NQYXRoLlVuaXF1ZUNsYXNzTmFtZSIsCiAgICAgICAgIGRlc2NyaXB0aW9u
OiAiRWxlbWVudHMgd2l0aCB1bmlxdWUgY2xhc3MgbmFtZXMgc2hvdWxkIGluY2x1ZGUgdGhlaXIg
Y2xhc3MgbmFtZXMuIiwKLSAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAg
ICAgIG5vZGVGb3JTZWxlY3RvcigiI3VuaXF1ZS1jbGFzcy10ZXN0ID4gLmJldGEiLCAobm9kZSkg
PT4gewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwoV0kuY3NzUGF0
aChub2RlKSwgIiN1bmlxdWUtY2xhc3MtdGVzdCA+IGRpdi5hbHBoYS5iZXRhIiwgIkVsZW1lbnRz
IHdpdGggdW5pcXVlIGNsYXNzIG5hbWVzIHNob3VsZCBpbmNsdWRlIHRoZWlyIGNsYXNzIG5hbWVz
LiIpOwotICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgYXN5bmMgdGVzdCgpIHsK
KyAgICAgICAgICAgIGxldCBiZXRhID0gYXdhaXQgbm9kZUZvclNlbGVjdG9yKCIjdW5pcXVlLWNs
YXNzLXRlc3QgPiAuYmV0YSIpOworICAgICAgICAgICAgdGVzdE5vZGVNYXRjaGVzUGF0aChiZXRh
LCAiRWxlbWVudHMgd2l0aCB1bmlxdWUgY2xhc3MgbmFtZXMgc2hvdWxkIGluY2x1ZGUgdGhlaXIg
Y2xhc3MgbmFtZXMuIiwgeworICAgICAgICAgICAgICAgIHJlZ3VsYXI6IGAjdW5pcXVlLWNsYXNz
LXRlc3QgPiBkaXYuYWxwaGEuYmV0YWAsCisgICAgICAgICAgICAgICAgZnVsbDogYGh0bWwgPiBi
b2R5W29ubG9hZD0icnVuVGVzdCgpIl0gPiBkaXZbc3R5bGU9InZpc2liaWxpdHk6aGlkZGVuIl0g
PiBkaXZbaWQ9InVuaXF1ZS1jbGFzcy10ZXN0Il06bnRoLWNoaWxkKDUpID4gZGl2W2NsYXNzPSJh
bHBoYSBiZXRhIl0uYWxwaGEuYmV0YWAsCiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQogICAg
IH0pOwpAQCAtOTMsMTAgKzExNSwxMSBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICBzdWl0ZS5hZGRU
ZXN0Q2FzZSh7CiAgICAgICAgIG5hbWU6ICJXSS5jc3NQYXRoLk5vblVuaXF1ZUNsYXNzTmFtZSIs
CiAgICAgICAgIGRlc2NyaXB0aW9uOiAiRWxlbWVudHMgd2l0aCBub24tdW5pcXVlIGNsYXNzIG5h
bWVzIHNob3VsZCBub3QgaW5jbHVkZSB0aGVpciBjbGFzcyBuYW1lcy4iLAotICAgICAgICB0ZXN0
KHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAgICAgbm9kZUZvclNlbGVjdG9yKCIjbm9uLXVu
aXF1ZS1jbGFzcy10ZXN0ID4gZGl2IH4gZGl2IiwgKG5vZGUpID0+IHsKLSAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKFdJLmNzc1BhdGgobm9kZSksICIjbm9uLXVuaXF1
ZS1jbGFzcy10ZXN0ID4gZGl2Om50aC1jaGlsZCgyKSIsICJFbGVtZW50cyB3aXRoIG5vbi11bmlx
dWUgY2xhc3MgbmFtZXMgc2hvdWxkIG5vdCBpbmNsdWRlIHRoZWlyIGNsYXNzIG5hbWVzLiIpOwot
ICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgYXN5bmMgdGVzdCgpIHsKKyAgICAg
ICAgICAgIGxldCBkaXYgPSBhd2FpdCBub2RlRm9yU2VsZWN0b3IoIiNub24tdW5pcXVlLWNsYXNz
LXRlc3QgPiBkaXYgfiBkaXYiKTsKKyAgICAgICAgICAgIHRlc3ROb2RlTWF0Y2hlc1BhdGgoZGl2
LCAiRWxlbWVudHMgd2l0aCBub24tdW5pcXVlIGNsYXNzIG5hbWVzIHNob3VsZCBub3QgaW5jbHVk
ZSB0aGVpciBjbGFzcyBuYW1lcy4iLCB7CisgICAgICAgICAgICAgICAgcmVndWxhcjogYCNub24t
dW5pcXVlLWNsYXNzLXRlc3QgPiBkaXY6bnRoLWNoaWxkKDIpYCwKKyAgICAgICAgICAgICAgICBm
dWxsOiBgaHRtbCA+IGJvZHlbb25sb2FkPSJydW5UZXN0KCkiXSA+IGRpdltzdHlsZT0idmlzaWJp
bGl0eTpoaWRkZW4iXSA+IGRpdltpZD0ibm9uLXVuaXF1ZS1jbGFzcy10ZXN0Il06bnRoLWNoaWxk
KDYpID4gZGl2W2NsYXNzPSJhbHBoYSJdOm50aC1jaGlsZCgyKWAsCiAgICAgICAgICAgICB9KTsK
ICAgICAgICAgfQogICAgIH0pOwpAQCAtMTA0LDEwICsxMjcsMTEgQEAgZnVuY3Rpb24gdGVzdCgp
CiAgICAgc3VpdGUuYWRkVGVzdENhc2UoewogICAgICAgICBuYW1lOiAiV0kuY3NzUGF0aC5Vbmlx
dWVUYWdBbmRDbGFzc05hbWUiLAogICAgICAgICBkZXNjcmlwdGlvbjogIkVsZW1lbnRzIHdpdGgg
dW5pcXVlIHRhZyBhbmQgY2xhc3MgbmFtZSBqdXN0IHVzZSB0YWcgZm9yIHNpbXBsaWNpdHkuIiwK
LSAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgIG5vZGVGb3JTZWxl
Y3RvcigiI3VuaXF1ZS10YWctYW5kLWNsYXNzLXRlc3QgPiAuYWxwaGEiLCAobm9kZSkgPT4gewot
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwoV0kuY3NzUGF0aChub2Rl
KSwgIiN1bmlxdWUtdGFnLWFuZC1jbGFzcy10ZXN0ID4gZGl2IiwgIkVsZW1lbnRzIHdpdGggdW5p
cXVlIHRhZyBhbmQgY2xhc3MgbmFtZXMgc2hvdWxkIGp1c3QgaGF2ZSBzaW1wbGUgdGFnLiIpOwot
ICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgYXN5bmMgdGVzdCgpIHsKKyAgICAg
ICAgICAgIGxldCBhbHBoYSA9IGF3YWl0IG5vZGVGb3JTZWxlY3RvcigiI3VuaXF1ZS10YWctYW5k
LWNsYXNzLXRlc3QgPiAuYWxwaGEiKTsKKyAgICAgICAgICAgIHRlc3ROb2RlTWF0Y2hlc1BhdGgo
YWxwaGEsICJFbGVtZW50cyB3aXRoIHVuaXF1ZSB0YWcgYW5kIGNsYXNzIG5hbWVzIHNob3VsZCBq
dXN0IGhhdmUgc2ltcGxlIHRhZy4iLCB7CisgICAgICAgICAgICAgICAgcmVndWxhcjogYCN1bmlx
dWUtdGFnLWFuZC1jbGFzcy10ZXN0ID4gZGl2YCwKKyAgICAgICAgICAgICAgICBmdWxsOiBgaHRt
bCA+IGJvZHlbb25sb2FkPSJydW5UZXN0KCkiXSA+IGRpdltzdHlsZT0idmlzaWJpbGl0eTpoaWRk
ZW4iXSA+IGRpdltpZD0idW5pcXVlLXRhZy1hbmQtY2xhc3MtdGVzdCJdOm50aC1jaGlsZCg3KSA+
IGRpdltjbGFzcz0iYWxwaGEiXWAsCiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQogICAgIH0p
OwpAQCAtMTE1LDEwICsxMzksMTEgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgc3VpdGUuYWRkVGVz
dENhc2UoewogICAgICAgICBuYW1lOiAiV0kuY3NzUGF0aC5EZWVwUGF0aCIsCiAgICAgICAgIGRl
c2NyaXB0aW9uOiAiVGVzdHMgZm9yIGVsZW1lbnQgd2l0aCBjb21wbGV4IHBhdGguIiwKLSAgICAg
ICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgIG5vZGVGb3JTZWxlY3Rvcigi
c21hbGwiLCAobm9kZSkgPT4gewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0
RXF1YWwoV0kuY3NzUGF0aChub2RlKSwgImJvZHkgPiBkaXYgPiBkaXYuZGVlcC1wYXRoLXRlc3Qg
PiB1bCA+IGxpID4gZGl2Om50aC1jaGlsZCg0KSA+IHVsID4gbGkuYWN0aXZlID4gYSA+IHNtYWxs
IiwgIlNob3VsZCBiZSBhYmxlIHRvIGNyZWF0ZSBwYXRoIGZvciBkZWVwIGVsZW1lbnRzLiIpOwot
ICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgYXN5bmMgdGVzdCgpIHsKKyAgICAg
ICAgICAgIGxldCBzbWFsbCA9IGF3YWl0IG5vZGVGb3JTZWxlY3Rvcigic21hbGwiKTsKKyAgICAg
ICAgICAgIHRlc3ROb2RlTWF0Y2hlc1BhdGgoc21hbGwsICJTaG91bGQgYmUgYWJsZSB0byBjcmVh
dGUgcGF0aCBmb3IgZGVlcCBlbGVtZW50cy4iLCB7CisgICAgICAgICAgICAgICAgcmVndWxhcjog
YGJvZHkgPiBkaXYgPiBkaXYuZGVlcC1wYXRoLXRlc3QgPiB1bCA+IGxpID4gZGl2Om50aC1jaGls
ZCg0KSA+IHVsID4gbGkuYWN0aXZlID4gYSA+IHNtYWxsYCwKKyAgICAgICAgICAgICAgICBmdWxs
OiBgaHRtbCA+IGJvZHlbb25sb2FkPSJydW5UZXN0KCkiXSA+IGRpdltzdHlsZT0idmlzaWJpbGl0
eTpoaWRkZW4iXSA+IGRpdltjbGFzcz0iZGVlcC1wYXRoLXRlc3QiXS5kZWVwLXBhdGgtdGVzdCA+
IHVsID4gbGkgPiBkaXY6bnRoLWNoaWxkKDQpID4gdWxbY2xhc3M9Imxpc3QiXSA+IGxpW2NsYXNz
PSJhY3RpdmUiXS5hY3RpdmUgPiBhW2hyZWY9IiMiXSA+IHNtYWxsYCwKICAgICAgICAgICAgIH0p
OwogICAgICAgICB9CiAgICAgfSk7CkBAIC0xMjYsMTUgKzE1MSwyMSBAQCBmdW5jdGlvbiB0ZXN0
KCkKICAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CiAgICAgICAgIG5hbWU6ICJXSS5jc3NQYXRoLlBz
ZXVkb0VsZW1lbnQiLAogICAgICAgICBkZXNjcmlwdGlvbjogIkZvciBhIHBzZXVkbyBlbGVtZW50
IHdlIHNob3VsZCBnZXQgdGhlIHBhdGggb2YgdGhlIHBhcmVudCBhbmQgYXBwZW5kIHRoZSBwc2V1
ZG8gZWxlbWVudCBzZWxlY3Rvci4iLAotICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewot
ICAgICAgICAgICAgbm9kZUZvclNlbGVjdG9yKCIjcHNldWRvLWVsZW1lbnQtdGVzdCA+IGRpdiB+
IGRpdiIsIChub2RlKSA9PiB7Ci0gICAgICAgICAgICAgICAgbGV0IHBzZXVkb0VsZW1lbnRCZWZv
cmUgPSBub2RlLmJlZm9yZVBzZXVkb0VsZW1lbnQoKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmFzc2VydChwc2V1ZG9FbGVtZW50QmVmb3JlKTsKLSAgICAgICAgICAgICAgICBJbnNw
ZWN0b3JUZXN0LmV4cGVjdEVxdWFsKFdJLmNzc1BhdGgocHNldWRvRWxlbWVudEJlZm9yZSksICIj
cHNldWRvLWVsZW1lbnQtdGVzdCA+IGRpdjpudGgtY2hpbGQoMyk6OmJlZm9yZSIsICJTaG91bGQg
YmUgYWJsZSB0byBjcmVhdGUgcGF0aCBmb3IgOjpiZWZvcmUgcHNldWRvIGVsZW1lbnRzLiIpOwot
ICAgICAgICAgICAgICAgIGxldCBwc2V1ZG9FbGVtZW50QWZ0ZXIgPSBub2RlLmFmdGVyUHNldWRv
RWxlbWVudCgpOwotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHBzZXVkb0Vs
ZW1lbnRBZnRlcik7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChX
SS5jc3NQYXRoKHBzZXVkb0VsZW1lbnRBZnRlciksICIjcHNldWRvLWVsZW1lbnQtdGVzdCA+IGRp
djpudGgtY2hpbGQoMyk6OmFmdGVyIiwgIlNob3VsZCBiZSBhYmxlIHRvIGNyZWF0ZSBwYXRoIGZv
ciA6OmFmdGVyIHBzZXVkbyBlbGVtZW50cy4iKTsKLSAgICAgICAgICAgICAgICByZXNvbHZlKCk7
CisgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBsZXQgZGl2ID0gYXdhaXQgbm9k
ZUZvclNlbGVjdG9yKCIjcHNldWRvLWVsZW1lbnQtdGVzdCA+IGRpdiB+IGRpdiIpOworCisgICAg
ICAgICAgICBsZXQgcHNldWRvRWxlbWVudEJlZm9yZSA9IGRpdi5iZWZvcmVQc2V1ZG9FbGVtZW50
KCk7CisgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChwc2V1ZG9FbGVtZW50QmVmb3Jl
KTsKKyAgICAgICAgICAgIHRlc3ROb2RlTWF0Y2hlc1BhdGgocHNldWRvRWxlbWVudEJlZm9yZSwg
IlNob3VsZCBiZSBhYmxlIHRvIGNyZWF0ZSBwYXRoIGZvciA6OmJlZm9yZSBwc2V1ZG8gZWxlbWVu
dHMuIiwgeworICAgICAgICAgICAgICAgIHJlZ3VsYXI6IGAjcHNldWRvLWVsZW1lbnQtdGVzdCA+
IGRpdjpudGgtY2hpbGQoMyk6OmJlZm9yZWAsCisgICAgICAgICAgICAgICAgZnVsbDogYGh0bWwg
PiBib2R5W29ubG9hZD0icnVuVGVzdCgpIl0gPiBkaXZbc3R5bGU9InZpc2liaWxpdHk6aGlkZGVu
Il0gPiBkaXZbaWQ9InBzZXVkby1lbGVtZW50LXRlc3QiXTpudGgtY2hpbGQoOSkgPiBkaXY6bnRo
LWNoaWxkKDMpOjpiZWZvcmVgLAorICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgIGxldCBw
c2V1ZG9FbGVtZW50QWZ0ZXIgPSBkaXYuYWZ0ZXJQc2V1ZG9FbGVtZW50KCk7CisgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmFzc2VydChwc2V1ZG9FbGVtZW50QWZ0ZXIpOworICAgICAgICAgICAg
dGVzdE5vZGVNYXRjaGVzUGF0aChwc2V1ZG9FbGVtZW50QWZ0ZXIsICJTaG91bGQgYmUgYWJsZSB0
byBjcmVhdGUgcGF0aCBmb3IgOjphZnRlciBwc2V1ZG8gZWxlbWVudHMuIiwgeworICAgICAgICAg
ICAgICAgIHJlZ3VsYXI6IGAjcHNldWRvLWVsZW1lbnQtdGVzdCA+IGRpdjpudGgtY2hpbGQoMyk6
OmFmdGVyYCwKKyAgICAgICAgICAgICAgICBmdWxsOiBgaHRtbCA+IGJvZHlbb25sb2FkPSJydW5U
ZXN0KCkiXSA+IGRpdltzdHlsZT0idmlzaWJpbGl0eTpoaWRkZW4iXSA+IGRpdltpZD0icHNldWRv
LWVsZW1lbnQtdGVzdCJdOm50aC1jaGlsZCg5KSA+IGRpdjpudGgtY2hpbGQoMyk6OmFmdGVyYCwK
ICAgICAgICAgICAgIH0pOwogICAgICAgICB9CiAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxv
ZwppbmRleCBkMmVlMzU3MmY0ZC4uMTk2ZTc4ODZiMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0IEBACisyMDE4LTEwLTI3ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFw
cGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBwcm92aWRlIG9wdGlvbnMgdG8gV0ku
Y3NzUGF0aCBmb3IgbW9yZSB2ZXJib3NpdHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5MDk4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9CYXNlL0RPTVV0aWxpdGllcy5qczoK
KyAgICAgICAgKFdJLmNzc1BhdGgpOgorICAgICAgICAoV0kuY3NzUGF0aENvbXBvbmVudCk6CisK
IDIwMTgtMTAtMjUgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAg
IFdlYiBJbnNwZWN0b3I6IENhbnZhcyBSZWNvcmRpbmcgbG9hZGluZyBnb2VzIHNpZ25pZmljYW50
bHkgc2xvd2VyIHdoZW4gIkZyYW1lIiB0cmVlIGVsZW1lbnQgaXMgZXhwYW5kZWQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvRE9NVXRpbGl0aWVz
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9ET01VdGlsaXRp
ZXMuanMKaW5kZXggNTA2NzEwYTFmNTQuLjRhNTBmM2I0ZWYyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL0RPTVV0aWxpdGllcy5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL0RPTVV0aWxpdGllcy5qcwpA
QCAtOTMsNyArOTMsNyBAQCBmdW5jdGlvbiBjcmVhdGVTVkdFbGVtZW50KHRhZ05hbWUpCiAgICAg
cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9z
dmciLCB0YWdOYW1lKTsKIH0KIAotV0kuY3NzUGF0aCA9IGZ1bmN0aW9uKG5vZGUpCitXSS5jc3NQ
YXRoID0gZnVuY3Rpb24obm9kZSwgb3B0aW9ucyA9IHt9KQogewogICAgIGNvbnNvbGUuYXNzZXJ0
KG5vZGUgaW5zdGFuY2VvZiBXSS5ET01Ob2RlLCAiRXhwZWN0ZWQgYSBET01Ob2RlLiIpOwogICAg
IGlmIChub2RlLm5vZGVUeXBlKCkgIT09IE5vZGUuRUxFTUVOVF9OT0RFKQpAQCAtMTA3LDcgKzEw
Nyw3IEBAIFdJLmNzc1BhdGggPSBmdW5jdGlvbihub2RlKQogCiAgICAgbGV0IGNvbXBvbmVudHMg
PSBbXTsKICAgICB3aGlsZSAobm9kZSkgewotICAgICAgICBsZXQgY29tcG9uZW50ID0gV0kuY3Nz
UGF0aENvbXBvbmVudChub2RlKTsKKyAgICAgICAgbGV0IGNvbXBvbmVudCA9IFdJLmNzc1BhdGhD
b21wb25lbnQobm9kZSwgb3B0aW9ucyk7CiAgICAgICAgIGlmICghY29tcG9uZW50KQogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIGNvbXBvbmVudHMucHVzaChjb21wb25lbnQpOwpAQCAtMTIw
LDcgKzEyMCw3IEBAIFdJLmNzc1BhdGggPSBmdW5jdGlvbihub2RlKQogICAgIHJldHVybiBjb21w
b25lbnRzLm1hcCgoeCkgPT4geC52YWx1ZSkuam9pbigiID4gIikgKyBzdWZmaXg7CiB9OwogCi1X
SS5jc3NQYXRoQ29tcG9uZW50ID0gZnVuY3Rpb24obm9kZSkKK1dJLmNzc1BhdGhDb21wb25lbnQg
PSBmdW5jdGlvbihub2RlLCBvcHRpb25zID0ge30pCiB7CiAgICAgY29uc29sZS5hc3NlcnQobm9k
ZSBpbnN0YW5jZW9mIFdJLkRPTU5vZGUsICJFeHBlY3RlZCBhIERPTU5vZGUuIik7CiAgICAgY29u
c29sZS5hc3NlcnQoIW5vZGUuaXNQc2V1ZG9FbGVtZW50KCkpOwpAQCAtMTMxLDEyICsxMzEsMTIg
QEAgV0kuY3NzUGF0aENvbXBvbmVudCA9IGZ1bmN0aW9uKG5vZGUpCiAgICAgbGV0IGxvd2VyTm9k
ZU5hbWUgPSBub2RlLm5vZGVOYW1lKCkudG9Mb3dlckNhc2UoKTsKIAogICAgIC8vIGh0bWwsIGhl
YWQsIGFuZCBib2R5IGFyZSB1bmlxdWUgbm9kZXMuCi0gICAgaWYgKGxvd2VyTm9kZU5hbWUgPT09
ICJib2R5IiB8fCBsb3dlck5vZGVOYW1lID09PSAiaGVhZCIgfHwgbG93ZXJOb2RlTmFtZSA9PT0g
Imh0bWwiKQorICAgIGlmICghb3B0aW9ucy5mdWxsICYmIChsb3dlck5vZGVOYW1lID09PSAiYm9k
eSIgfHwgbG93ZXJOb2RlTmFtZSA9PT0gImhlYWQiIHx8IGxvd2VyTm9kZU5hbWUgPT09ICJodG1s
IikpCiAgICAgICAgIHJldHVybiB7dmFsdWU6IG5vZGVOYW1lLCBkb25lOiB0cnVlfTsKIAogICAg
IC8vICNpZCBpcyB1bmlxdWUuCiAgICAgbGV0IGlkID0gbm9kZS5nZXRBdHRyaWJ1dGUoImlkIik7
Ci0gICAgaWYgKGlkKQorICAgIGlmICghb3B0aW9ucy5mdWxsICYmIGlkKQogICAgICAgICByZXR1
cm4ge3ZhbHVlOiBub2RlLmVzY2FwZWRJZFNlbGVjdG9yLCBkb25lOiB0cnVlfTsKIAogICAgIC8v
IFJvb3Qgbm9kZSBkb2VzIG5vdCBoYXZlIHNpYmxpbmdzLgpAQCAtMTgwLDcgKzE4MCwxMiBAQCBX
SS5jc3NQYXRoQ29tcG9uZW50ID0gZnVuY3Rpb24obm9kZSkKICAgICB9CiAKICAgICBsZXQgc2Vs
ZWN0b3IgPSBub2RlTmFtZTsKLSAgICBpZiAobG93ZXJOb2RlTmFtZSA9PT0gImlucHV0IiAmJiBu
b2RlLmdldEF0dHJpYnV0ZSgidHlwZSIpICYmICF1bmlxdWVDbGFzc2VzLnNpemUpCisgICAgaWYg
KG9wdGlvbnMuZnVsbCkgeworICAgICAgICBmb3IgKGxldCBhdHRyaWJ1dGUgb2Ygbm9kZS5hdHRy
aWJ1dGVzKCkpIHsKKyAgICAgICAgICAgIGxldCBlc2NhcGVkVmFsdWUgPSBhdHRyaWJ1dGUudmFs
dWUuZXNjYXBlQ2hhcmFjdGVycygiXCIiKTsKKyAgICAgICAgICAgIHNlbGVjdG9yICs9IGBbJHth
dHRyaWJ1dGUubmFtZX09IiR7ZXNjYXBlZFZhbHVlfSJdYDsKKyAgICAgICAgfQorICAgIH0gZWxz
ZSBpZiAobG93ZXJOb2RlTmFtZSA9PT0gImlucHV0IiAmJiBub2RlLmdldEF0dHJpYnV0ZSgidHlw
ZSIpICYmICF1bmlxdWVDbGFzc2VzLnNpemUpCiAgICAgICAgIHNlbGVjdG9yICs9IGBbdHlwZT0i
JHtub2RlLmdldEF0dHJpYnV0ZSgidHlwZSIpfSJdYDsKICAgICBpZiAoIWhhc1VuaXF1ZVRhZ05h
bWUpIHsKICAgICAgICAgaWYgKHVuaXF1ZUNsYXNzZXMuc2l6ZSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353345</attachid>
            <date>2018-10-29 19:29:17 -0700</date>
            <delta_ts>2018-10-30 14:33:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190987-20181029192917.patch</filename>
            <type>text/plain</type>
            <size>18734</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDNkNTJmY2RiYmZhNzlkZjFmMzE1OTE2ZWM3ZTJl
Yzc4ODdkNGMyYjEuLmMzY2EwODkwYmI2MjlkZTgyMzI0MjhiYTI3ZDQwODRlOWJmNjdmYjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE4LTEwLTI5ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBw
cm92aWRlIG9wdGlvbnMgdG8gV0kuY3NzUGF0aCBmb3IgbW9yZSB2ZXJib3NpdHkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDk4NworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9C
YXNlL0RPTVV0aWxpdGllcy5qczoKKyAgICAgICAgKFdJLmNzc1BhdGgpOgorICAgICAgICAoV0ku
Y3NzUGF0aENvbXBvbmVudCk6CisKIDIwMTgtMTAtMjcgIE1hdHQgQmFrZXIgIDxtYXR0YmFrZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFRhYmxlIHNob3VsZCBzdXBwb3J0
IGRlbGV0aW5nIHJvd3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0Jhc2UvRE9NVXRpbGl0aWVzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvQmFzZS9ET01VdGlsaXRpZXMuanMKaW5kZXggNTA2NzEwYTFmNTQ4ZmY3N2E5OTc1
MmVlN2U5ZTY1YWY2NGQyOGZhNC4uM2ZlM2Q4OGEyMjk0YWJlZDgzZDk3MDk2YzZhMjdjYmE1NjA3
YmUzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFz
ZS9ET01VdGlsaXRpZXMuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvQmFzZS9ET01VdGlsaXRpZXMuanMKQEAgLTkzLDcgKzkzLDcgQEAgZnVuY3Rpb24gY3JlYXRl
U1ZHRWxlbWVudCh0YWdOYW1lKQogICAgIHJldHVybiBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMo
Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwgdGFnTmFtZSk7CiB9CiAKLVdJLmNzc1BhdGgg
PSBmdW5jdGlvbihub2RlKQorV0kuY3NzUGF0aCA9IGZ1bmN0aW9uKG5vZGUsIG9wdGlvbnMgPSB7
fSkKIHsKICAgICBjb25zb2xlLmFzc2VydChub2RlIGluc3RhbmNlb2YgV0kuRE9NTm9kZSwgIkV4
cGVjdGVkIGEgRE9NTm9kZS4iKTsKICAgICBpZiAobm9kZS5ub2RlVHlwZSgpICE9PSBOb2RlLkVM
RU1FTlRfTk9ERSkKQEAgLTEwNyw3ICsxMDcsNyBAQCBXSS5jc3NQYXRoID0gZnVuY3Rpb24obm9k
ZSkKIAogICAgIGxldCBjb21wb25lbnRzID0gW107CiAgICAgd2hpbGUgKG5vZGUpIHsKLSAgICAg
ICAgbGV0IGNvbXBvbmVudCA9IFdJLmNzc1BhdGhDb21wb25lbnQobm9kZSk7CisgICAgICAgIGxl
dCBjb21wb25lbnQgPSBXSS5jc3NQYXRoQ29tcG9uZW50KG5vZGUsIG9wdGlvbnMpOwogICAgICAg
ICBpZiAoIWNvbXBvbmVudCkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjb21wb25lbnRz
LnB1c2goY29tcG9uZW50KTsKQEAgLTEyMCw3ICsxMjAsNyBAQCBXSS5jc3NQYXRoID0gZnVuY3Rp
b24obm9kZSkKICAgICByZXR1cm4gY29tcG9uZW50cy5tYXAoKHgpID0+IHgudmFsdWUpLmpvaW4o
IiA+ICIpICsgc3VmZml4OwogfTsKIAotV0kuY3NzUGF0aENvbXBvbmVudCA9IGZ1bmN0aW9uKG5v
ZGUpCitXSS5jc3NQYXRoQ29tcG9uZW50ID0gZnVuY3Rpb24obm9kZSwgb3B0aW9ucyA9IHt9KQog
ewogICAgIGNvbnNvbGUuYXNzZXJ0KG5vZGUgaW5zdGFuY2VvZiBXSS5ET01Ob2RlLCAiRXhwZWN0
ZWQgYSBET01Ob2RlLiIpOwogICAgIGNvbnNvbGUuYXNzZXJ0KCFub2RlLmlzUHNldWRvRWxlbWVu
dCgpKTsKQEAgLTEyOCw2ICsxMjgsNzUgQEAgV0kuY3NzUGF0aENvbXBvbmVudCA9IGZ1bmN0aW9u
KG5vZGUpCiAgICAgICAgIHJldHVybiBudWxsOwogCiAgICAgbGV0IG5vZGVOYW1lID0gbm9kZS5u
b2RlTmFtZUluQ29ycmVjdENhc2UoKTsKKworICAgIC8vIFJvb3Qgbm9kZSBkb2VzIG5vdCBoYXZl
IHNpYmxpbmdzLgorICAgIGlmICghbm9kZS5wYXJlbnROb2RlIHx8IG5vZGUucGFyZW50Tm9kZS5u
b2RlVHlwZSgpID09PSBOb2RlLkRPQ1VNRU5UX05PREUpCisgICAgICAgIHJldHVybiB7dmFsdWU6
IG5vZGVOYW1lLCBkb25lOiB0cnVlfTsKKworICAgIGlmIChvcHRpb25zLmZ1bGwpIHsKKyAgICAg
ICAgZnVuY3Rpb24gZ2V0VW5pcXVlQXR0cmlidXRlcyhkb21Ob2RlKSB7CisgICAgICAgICAgICBs
ZXQgdW5pcXVlID0gbmV3IE1hcDsKKyAgICAgICAgICAgIGZvciAobGV0IGF0dHJpYnV0ZSBvZiBk
b21Ob2RlLmF0dHJpYnV0ZXMoKSkgeworICAgICAgICAgICAgICAgIGxldCB2YWx1ZXMgPSBbYXR0
cmlidXRlLnZhbHVlXTsKKyAgICAgICAgICAgICAgICBpZiAoYXR0cmlidXRlLm5hbWUgPT09ICJp
ZCIgfHwgYXR0cmlidXRlLm5hbWUgPT09ICJjbGFzcyIpCisgICAgICAgICAgICAgICAgICAgIHZh
bHVlcyA9IGF0dHJpYnV0ZS52YWx1ZS5zcGxpdCgvXHMrLyk7CisgICAgICAgICAgICAgICAgdW5p
cXVlLnNldChhdHRyaWJ1dGUubmFtZSwgbmV3IFNldCh2YWx1ZXMpKTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIHJldHVybiB1bmlxdWU7CisgICAgICAgIH0KKworICAgICAgICBsZXQgbm9k
ZUluZGV4ID0gMDsKKyAgICAgICAgbGV0IG5lZWRzTnRoQ2hpbGQgPSBmYWxzZTsKKyAgICAgICAg
bGV0IHVuaXF1ZUF0dHJpYnV0ZXMgPSBnZXRVbmlxdWVBdHRyaWJ1dGVzKG5vZGUpOworICAgICAg
ICBub2RlLnBhcmVudE5vZGUuY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQsIGkpID0+IHsKKyAgICAg
ICAgICAgIGlmIChjaGlsZC5ub2RlVHlwZSgpICE9PSBOb2RlLkVMRU1FTlRfTk9ERSkKKyAgICAg
ICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgIGlmIChjaGlsZCA9PT0gbm9kZSkgewor
ICAgICAgICAgICAgICAgIG5vZGVJbmRleCA9IGk7CisgICAgICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAobmVlZHNOdGhDaGlsZCB8fCBjaGlsZC5u
b2RlTmFtZUluQ29ycmVjdENhc2UoKSAhPT0gbm9kZU5hbWUpCisgICAgICAgICAgICAgICAgcmV0
dXJuOworCisgICAgICAgICAgICBsZXQgY2hpbGRVbmlxdWVBdHRyaWJ1dGVzID0gZ2V0VW5pcXVl
QXR0cmlidXRlcyhjaGlsZCk7CisgICAgICAgICAgICBsZXQgc3Vic2V0Q291bnQgPSAwOworICAg
ICAgICAgICAgZm9yIChsZXQgW25hbWUsIHZhbHVlc10gb2YgdW5pcXVlQXR0cmlidXRlcykgewor
ICAgICAgICAgICAgICAgIGxldCBjaGlsZFZhbHVlcyA9IGNoaWxkVW5pcXVlQXR0cmlidXRlcy5n
ZXQobmFtZSk7CisgICAgICAgICAgICAgICAgaWYgKGNoaWxkVmFsdWVzICYmIHZhbHVlcy5zaXpl
IDw9IGNoaWxkVmFsdWVzLnNpemUgJiYgdmFsdWVzLmlzU3Vic2V0T2YoY2hpbGRWYWx1ZXMpKQor
ICAgICAgICAgICAgICAgICAgICArK3N1YnNldENvdW50OworICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICBpZiAoc3Vic2V0Q291bnQgPT09IHVuaXF1ZUF0dHJpYnV0ZXMuc2l6ZSkKKyAgICAg
ICAgICAgICAgICBuZWVkc050aENoaWxkID0gdHJ1ZTsKKyAgICAgICAgfSk7CisKKyAgICAgICAg
ZnVuY3Rpb24gc2VsZWN0b3JGb3JBdHRyaWJ1dGUodmFsdWVzLCBwcmVmaXggPSAiIiwgc2hvdWxk
Q1NTRXNjYXBlID0gZmFsc2UpIHsKKyAgICAgICAgICAgIGlmICghdmFsdWVzIHx8ICF2YWx1ZXMu
c2l6ZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gIiI7CisgICAgICAgICAgICB2YWx1ZXMgPSBB
cnJheS5mcm9tKHZhbHVlcyk7CisgICAgICAgICAgICB2YWx1ZXMgPSB2YWx1ZXMuZmlsdGVyKCh2
YWx1ZSkgPT4gdmFsdWUgJiYgdmFsdWUubGVuZ3RoKTsKKyAgICAgICAgICAgIGlmICghdmFsdWVz
Lmxlbmd0aCkKKyAgICAgICAgICAgICAgICByZXR1cm4gIiI7CisgICAgICAgICAgICB2YWx1ZXMg
PSB2YWx1ZXMubWFwKCh2YWx1ZSkgPT4gc2hvdWxkQ1NTRXNjYXBlID8gQ1NTLmVzY2FwZSh2YWx1
ZSkgOiB2YWx1ZS5lc2NhcGVDaGFyYWN0ZXJzKCJcIiIpKTsKKyAgICAgICAgICAgIHJldHVybiBw
cmVmaXggKyB2YWx1ZXMuam9pbihwcmVmaXgpOworICAgICAgICB9CisKKyAgICAgICAgbGV0IHNl
bGVjdG9yID0gbm9kZU5hbWU7CisgICAgICAgIHNlbGVjdG9yICs9IHNlbGVjdG9yRm9yQXR0cmli
dXRlKHVuaXF1ZUF0dHJpYnV0ZXMuZ2V0KCJpZCIpLCAiIyIsIHRydWUpOworICAgICAgICBzZWxl
Y3RvciArPSBzZWxlY3RvckZvckF0dHJpYnV0ZSh1bmlxdWVBdHRyaWJ1dGVzLmdldCgiY2xhc3Mi
KSwgIi4iLCB0cnVlKTsKKyAgICAgICAgZm9yIChsZXQgW2F0dHJpYnV0ZSwgdmFsdWVzXSBvZiB1
bmlxdWVBdHRyaWJ1dGVzKSB7CisgICAgICAgICAgICBpZiAoYXR0cmlidXRlICE9PSAiaWQiICYm
IGF0dHJpYnV0ZSAhPT0gImNsYXNzIikKKyAgICAgICAgICAgICAgICBzZWxlY3RvciArPSBgWyR7
YXR0cmlidXRlfT0iJHtzZWxlY3RvckZvckF0dHJpYnV0ZSh2YWx1ZXMpfSJdYDsKKyAgICAgICAg
fQorCisgICAgICAgIGlmIChuZWVkc050aENoaWxkKQorICAgICAgICAgICAgc2VsZWN0b3IgKz0g
YDpudGgtY2hpbGQoJHtub2RlSW5kZXggKyAxfSlgOworCisgICAgICAgIHJldHVybiB7dmFsdWU6
IHNlbGVjdG9yLCBkb25lOiBmYWxzZX07CisgICAgfQorCiAgICAgbGV0IGxvd2VyTm9kZU5hbWUg
PSBub2RlLm5vZGVOYW1lKCkudG9Mb3dlckNhc2UoKTsKIAogICAgIC8vIGh0bWwsIGhlYWQsIGFu
ZCBib2R5IGFyZSB1bmlxdWUgbm9kZXMuCkBAIC0xMzksMTAgKzIwOCw2IEBAIFdJLmNzc1BhdGhD
b21wb25lbnQgPSBmdW5jdGlvbihub2RlKQogICAgIGlmIChpZCkKICAgICAgICAgcmV0dXJuIHt2
YWx1ZTogbm9kZS5lc2NhcGVkSWRTZWxlY3RvciwgZG9uZTogdHJ1ZX07CiAKLSAgICAvLyBSb290
IG5vZGUgZG9lcyBub3QgaGF2ZSBzaWJsaW5ncy4KLSAgICBpZiAoIW5vZGUucGFyZW50Tm9kZSB8
fCBub2RlLnBhcmVudE5vZGUubm9kZVR5cGUoKSA9PT0gTm9kZS5ET0NVTUVOVF9OT0RFKQotICAg
ICAgICByZXR1cm4ge3ZhbHVlOiBub2RlTmFtZSwgZG9uZTogdHJ1ZX07Ci0KICAgICAvLyBGaW5k
IHVuaXF1ZW5lc3MgYW1vbmcgc2libGluZ3MuCiAgICAgLy8gICAtIGxvb2sgZm9yIGEgdW5pcXVl
IGNsYXNzTmFtZQogICAgIC8vICAgLSBsb29rIGZvciBhIHVuaXF1ZSB0YWdOYW1lCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
YmE2MmI4MDMyYjcwMjZjOTE2YTI3MzA5MTQwN2M3NjRiNmIzMTRmOS4uNDhmNjMwZWMwZTQ0OWFk
NTY5MDUyMjU2ZTU1MzZiODhlMTRjZmRhMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE4LTEw
LTI5ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBwcm92aWRlIG9wdGlvbnMgdG8gV0kuY3NzUGF0aCBmb3IgbW9yZSB2ZXJib3NpdHkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDk4Nwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVj
dG9yL2RvbS9kb211dGlsaXRpZXMtY3NzcGF0aC5odG1sOgorCiAyMDE4LTEwLTI3ICBNYXR0IEJh
a2VyICA8bWF0dGJha2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBUYWJs
ZSBzaG91bGQgc3VwcG9ydCBkZWxldGluZyByb3dzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvZG9tL2RvbXV0aWxpdGllcy1jc3NwYXRoLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZG9tL2RvbXV0aWxpdGllcy1jc3NwYXRoLmh0bWwKaW5kZXggMjM4Mzc0MTgwNTJkMTll
YjFhMDY0ZjY3NTg2MzRhZmIzYWIyZGM4Mi4uMjQxYjk4ZmZhZTlkZTc3OWNkNTNhOTEyNGRiNTA0
M2MxZTBhNGYzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9kb211dGls
aXRpZXMtY3NzcGF0aC5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vZG9tdXRp
bGl0aWVzLWNzc3BhdGguaHRtbApAQCAtNywxMCArNywxNyBAQCBmdW5jdGlvbiB0ZXN0KCkKIHsK
ICAgICBsZXQgZG9jdW1lbnROb2RlOwogCi0gICAgZnVuY3Rpb24gbm9kZUZvclNlbGVjdG9yKHNl
bGVjdG9yLCBjYWxsYmFjaykgewotICAgICAgICBXSS5kb21NYW5hZ2VyLnF1ZXJ5U2VsZWN0b3Io
ZG9jdW1lbnROb2RlLmlkLCBzZWxlY3RvciwgKG5vZGVJZCkgPT4gewotICAgICAgICAgICAgY2Fs
bGJhY2soV0kuZG9tTWFuYWdlci5ub2RlRm9ySWQobm9kZUlkKSk7Ci0gICAgICAgIH0pOworICAg
IGFzeW5jIGZ1bmN0aW9uIG5vZGVGb3JTZWxlY3RvcihzZWxlY3RvcikgeworICAgICAgICBsZXQg
bm9kZUlkID0gYXdhaXQgV0kuZG9tTWFuYWdlci5xdWVyeVNlbGVjdG9yKGRvY3VtZW50Tm9kZS5p
ZCwgc2VsZWN0b3IpOworICAgICAgICByZXR1cm4gV0kuZG9tTWFuYWdlci5ub2RlRm9ySWQobm9k
ZUlkKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiB0ZXN0Tm9kZU1hdGNoZXNQYXRoKG5vZGUsIG1l
c3NhZ2UsIHtyZWd1bGFyLCBmdWxsfSkgeworICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVx
dWFsKFdJLmNzc1BhdGgobm9kZSksIHJlZ3VsYXIsIG1lc3NhZ2UpOworICAgICAgICBpZiAoZnVs
bCkgeworICAgICAgICAgICAgbGV0IGFjdHVhbCA9IFdJLmNzc1BhdGgobm9kZSwge2Z1bGw6IHRy
dWV9KTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KGFjdHVhbCA9PT0gZnVsbCwg
YEZ1bGwgcGF0aCAke2FjdHVhbH0gZG9lc24ndCBtYXRjaCBleHBlY3RlZCAke2Z1bGx9LmApOwor
ICAgICAgICB9CiAgICAgfQogCiAgICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVB
c3luY1N1aXRlKCJXSS5jc3NQYXRoIik7CkBAIC0xOCwxNiArMjUsMjMgQEAgZnVuY3Rpb24gdGVz
dCgpCiAgICAgc3VpdGUuYWRkVGVzdENhc2UoewogICAgICAgICBuYW1lOiAiV0kuY3NzUGF0aC5U
b3BMZXZlbE5vZGUiLAogICAgICAgICBkZXNjcmlwdGlvbjogIlRvcCBsZXZlbCBub2RlcyBsaWtl
IGh0bWwsIGJvZHksIGFuZCBoZWFkIGFyZSB1bmlxdWUuIiwKLSAgICAgICAgdGVzdChyZXNvbHZl
LCByZWplY3QpIHsKLSAgICAgICAgICAgIG5vZGVGb3JTZWxlY3RvcigiaHRtbCIsIChub2RlKSA9
PiB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChXSS5jc3NQYXRo
KG5vZGUpLCAiaHRtbCIsICJIVE1MIGVsZW1lbnQgc2hvdWxkIGhhdmUgc2ltcGxlIHNlbGVjdG9y
ICdodG1sJy4iKTsKKyAgICAgICAgYXN5bmMgdGVzdCgpIHsKKyAgICAgICAgICAgIGxldCBodG1s
ID0gYXdhaXQgbm9kZUZvclNlbGVjdG9yKCJodG1sIik7CisgICAgICAgICAgICB0ZXN0Tm9kZU1h
dGNoZXNQYXRoKGh0bWwsICJIVE1MIGVsZW1lbnQgc2hvdWxkIGhhdmUgc2ltcGxlIHNlbGVjdG9y
ICdodG1sJy4iLCB7CisgICAgICAgICAgICAgICAgcmVndWxhcjogYGh0bWxgLAorICAgICAgICAg
ICAgICAgIGZ1bGw6IGBodG1sYCwKICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgbm9kZUZv
clNlbGVjdG9yKCJodG1sID4gYm9keSIsIChub2RlKSA9PiB7Ci0gICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5leHBlY3RFcXVhbChXSS5jc3NQYXRoKG5vZGUpLCAiYm9keSIsICJCT0RZIGVs
ZW1lbnQgc2hvdWxkIGhhdmUgc2ltcGxlIHNlbGVjdG9yICdib2R5Jy4iKTsKKworICAgICAgICAg
ICAgbGV0IGJvZHkgPSBhd2FpdCBub2RlRm9yU2VsZWN0b3IoImh0bWwgPiBib2R5Iik7CisgICAg
ICAgICAgICB0ZXN0Tm9kZU1hdGNoZXNQYXRoKGJvZHksICJCT0RZIGVsZW1lbnQgc2hvdWxkIGhh
dmUgc2ltcGxlIHNlbGVjdG9yICdib2R5Jy4iLCB7CisgICAgICAgICAgICAgICAgcmVndWxhcjog
YGJvZHlgLAorICAgICAgICAgICAgICAgIGZ1bGw6IGBodG1sID4gYm9keVtvbmxvYWQ9InJ1blRl
c3QoKSJdYCwKICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgbm9kZUZvclNlbGVjdG9yKCJo
dG1sID4gaGVhZCIsIChub2RlKSA9PiB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5l
eHBlY3RFcXVhbChXSS5jc3NQYXRoKG5vZGUpLCAiaGVhZCIsICJIRUFEIGVsZW1lbnQgc2hvdWxk
IGhhdmUgc2ltcGxlIHNlbGVjdG9yICdoZWFkJy4iKTsKLSAgICAgICAgICAgICAgICByZXNvbHZl
KCk7CisKKyAgICAgICAgICAgIGxldCBoZWFkID0gYXdhaXQgbm9kZUZvclNlbGVjdG9yKCJodG1s
ID4gaGVhZCIpOworICAgICAgICAgICAgdGVzdE5vZGVNYXRjaGVzUGF0aChoZWFkLCAiSEVBRCBl
bGVtZW50IHNob3VsZCBoYXZlIHNpbXBsZSBzZWxlY3RvciAnaGVhZCcuIiwgeworICAgICAgICAg
ICAgICAgIHJlZ3VsYXI6IGBoZWFkYCwKKyAgICAgICAgICAgICAgICBmdWxsOiBgaHRtbCA+IGhl
YWRgLAogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KICAgICB9KTsKQEAgLTM1LDEzICs0OSwx
NyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CiAgICAgICAgIG5h
bWU6ICJXSS5jc3NQYXRoLkVsZW1lbnRXaXRoSUQiLAogICAgICAgICBkZXNjcmlwdGlvbjogIkVs
ZW1lbnQgd2l0aCBJRCBpcyB1bmlxdWUgKCNpZCkuIFBhdGggZG9lcyBub3QgbmVlZCB0byBnbyBw
YXN0IGl0LiIsCi0gICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICBu
b2RlRm9yU2VsZWN0b3IoIiNpZC10ZXN0IiwgKG5vZGUpID0+IHsKLSAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKFdJLmNzc1BhdGgobm9kZSksICIjaWQtdGVzdCIsICJF
bGVtZW50IHdpdGggaWQgc2hvdWxkIGhhdmUgc2ltcGxlIHNlbGVjdG9yICcjaWQtdGVzdCcuIik7
CisgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBsZXQgdGVzdCA9IGF3YWl0IG5v
ZGVGb3JTZWxlY3RvcigiI2lkLXRlc3QiKTsKKyAgICAgICAgICAgIHRlc3ROb2RlTWF0Y2hlc1Bh
dGgodGVzdCwgIkVsZW1lbnQgd2l0aCBpZCBzaG91bGQgaGF2ZSBzaW1wbGUgc2VsZWN0b3IgJyNp
ZC10ZXN0Jy4iLCB7CisgICAgICAgICAgICAgICAgcmVndWxhcjogYCNpZC10ZXN0YCwKKyAgICAg
ICAgICAgICAgICBmdWxsOiBgaHRtbCA+IGJvZHlbb25sb2FkPSJydW5UZXN0KCkiXSA+IGRpdltz
dHlsZT0idmlzaWJpbGl0eTpoaWRkZW4iXSA+IGRpdiNpZC10ZXN0YCwKICAgICAgICAgICAgIH0p
OwotICAgICAgICAgICAgbm9kZUZvclNlbGVjdG9yKCIjaWQtdGVzdCA+IGRpdiIsIChub2RlKSA9
PiB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChXSS5jc3NQYXRo
KG5vZGUpLCAiI2lkLXRlc3QgPiBkaXYiLCAiRWxlbWVudCBpbnNpZGUgZWxlbWVudCB3aXRoIGlk
IHNob3VsZCBoYXZlIHBhdGggZnJvbSBpZC4iKTsKLSAgICAgICAgICAgICAgICByZXNvbHZlKCk7
CisKKyAgICAgICAgICAgIGxldCBkaXYgPSBhd2FpdCBub2RlRm9yU2VsZWN0b3IoIiNpZC10ZXN0
ID4gZGl2Iik7CisgICAgICAgICAgICB0ZXN0Tm9kZU1hdGNoZXNQYXRoKGRpdiwgIkVsZW1lbnQg
aW5zaWRlIGVsZW1lbnQgd2l0aCBpZCBzaG91bGQgaGF2ZSBwYXRoIGZyb20gaWQuIiwgeworICAg
ICAgICAgICAgICAgIHJlZ3VsYXI6IGAjaWQtdGVzdCA+IGRpdmAsCisgICAgICAgICAgICAgICAg
ZnVsbDogYGh0bWwgPiBib2R5W29ubG9hZD0icnVuVGVzdCgpIl0gPiBkaXZbc3R5bGU9InZpc2li
aWxpdHk6aGlkZGVuIl0gPiBkaXYjaWQtdGVzdCA+IGRpdmAsCiAgICAgICAgICAgICB9KTsKICAg
ICAgICAgfQogICAgIH0pOwpAQCAtNDksMTAgKzY3LDExIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAg
IHN1aXRlLmFkZFRlc3RDYXNlKHsKICAgICAgICAgbmFtZTogIldJLmNzc1BhdGguSW5wdXRFbGVt
ZW50RmxhaXIiLAogICAgICAgICBkZXNjcmlwdGlvbjogIklucHV0IGVsZW1lbnRzIGluY2x1ZGUg
dGhlaXIgdHlwZS4iLAotICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAg
ICAgbm9kZUZvclNlbGVjdG9yKCIjaW5wdXQtdGVzdCBpbnB1dCIsIChub2RlKSA9PiB7Ci0gICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChXSS5jc3NQYXRoKG5vZGUpLCAi
I2lucHV0LXRlc3QgPiBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0iLCAiSW5wdXQgZWxlbWVudCBz
aG91bGQgaW5jbHVkZSB0eXBlLiIpOwotICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAg
ICAgYXN5bmMgdGVzdCgpIHsKKyAgICAgICAgICAgIGxldCBpbnB1dCA9IGF3YWl0IG5vZGVGb3JT
ZWxlY3RvcigiI2lucHV0LXRlc3QgaW5wdXQiKTsKKyAgICAgICAgICAgIHRlc3ROb2RlTWF0Y2hl
c1BhdGgoaW5wdXQsICJJbnB1dCBlbGVtZW50IHNob3VsZCBpbmNsdWRlIHR5cGUuIiwgeworICAg
ICAgICAgICAgICAgIHJlZ3VsYXI6IGAjaW5wdXQtdGVzdCA+IGlucHV0W3R5cGU9InBhc3N3b3Jk
Il1gLAorICAgICAgICAgICAgICAgIGZ1bGw6IGBodG1sID4gYm9keVtvbmxvYWQ9InJ1blRlc3Qo
KSJdID4gZGl2W3N0eWxlPSJ2aXNpYmlsaXR5OmhpZGRlbiJdID4gZGl2I2lucHV0LXRlc3QgPiBp
bnB1dFt0eXBlPSJwYXNzd29yZCJdYCwKICAgICAgICAgICAgIH0pOwogICAgICAgICB9CiAgICAg
fSk7CkBAIC02MCwxMCArNzksMTEgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgc3VpdGUuYWRkVGVz
dENhc2UoewogICAgICAgICBuYW1lOiAiV0kuY3NzUGF0aC5VbmlxdWVUYWdOYW1lIiwKICAgICAg
ICAgZGVzY3JpcHRpb246ICJFbGVtZW50cyB3aXRoIHVuaXF1ZSB0YWcgbmFtZSBkbyBub3QgbmVl
ZCBudGgtY2hpbGQuIiwKLSAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAg
ICAgIG5vZGVGb3JTZWxlY3RvcigiI3VuaXF1ZS10YWctdGVzdCA+IHNwYW4iLCAobm9kZSkgPT4g
ewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwoV0kuY3NzUGF0aChu
b2RlKSwgIiN1bmlxdWUtdGFnLXRlc3QgPiBzcGFuIiwgIkVsZW1lbnRzIHdpdGggdW5pcXVlIHRh
ZyBuYW1lIHNob3VsZCBub3QgbmVlZCBudGgtY2hpbGQoKS4iKTsKLSAgICAgICAgICAgICAgICBy
ZXNvbHZlKCk7CisgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBsZXQgc3BhbiA9
IGF3YWl0IG5vZGVGb3JTZWxlY3RvcigiI3VuaXF1ZS10YWctdGVzdCA+IHNwYW4iKTsKKyAgICAg
ICAgICAgIHRlc3ROb2RlTWF0Y2hlc1BhdGgoc3BhbiwgIkVsZW1lbnRzIHdpdGggdW5pcXVlIHRh
ZyBuYW1lIHNob3VsZCBub3QgbmVlZCBudGgtY2hpbGQoKS4iLCB7CisgICAgICAgICAgICAgICAg
cmVndWxhcjogYCN1bmlxdWUtdGFnLXRlc3QgPiBzcGFuYCwKKyAgICAgICAgICAgICAgICBmdWxs
OiBgaHRtbCA+IGJvZHlbb25sb2FkPSJydW5UZXN0KCkiXSA+IGRpdltzdHlsZT0idmlzaWJpbGl0
eTpoaWRkZW4iXSA+IGRpdiN1bmlxdWUtdGFnLXRlc3QgPiBzcGFuYCwKICAgICAgICAgICAgIH0p
OwogICAgICAgICB9CiAgICAgfSk7CkBAIC03MSwxMCArOTEsMTEgQEAgZnVuY3Rpb24gdGVzdCgp
CiAgICAgc3VpdGUuYWRkVGVzdENhc2UoewogICAgICAgICBuYW1lOiAiV0kuY3NzUGF0aC5Ob25V
bmlxdWVUYWdOYW1lIiwKICAgICAgICAgZGVzY3JpcHRpb246ICJFbGVtZW50cyB3aXRoIG5vbi11
bmlxdWUgdGFnIG5hbWUgbmVlZCBudGgtY2hpbGQuIiwKLSAgICAgICAgdGVzdChyZXNvbHZlLCBy
ZWplY3QpIHsKLSAgICAgICAgICAgIG5vZGVGb3JTZWxlY3RvcigiI25vbi11bmlxdWUtdGFnLXRl
c3QgPiBzcGFuIH4gc3BhbiIsIChub2RlKSA9PiB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5leHBlY3RFcXVhbChXSS5jc3NQYXRoKG5vZGUpLCAiI25vbi11bmlxdWUtdGFnLXRlc3Qg
PiBzcGFuOm50aC1jaGlsZCgzKSIsICJFbGVtZW50cyB3aXRoIG5vbi11bmlxdWUgdGFnIG5hbWUg
c2hvdWxkIG5lZWQgbnRoLWNoaWxkKCkuIik7Ci0gICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwor
ICAgICAgICBhc3luYyB0ZXN0KCkgeworICAgICAgICAgICAgbGV0IHNwYW4gPSBhd2FpdCBub2Rl
Rm9yU2VsZWN0b3IoIiNub24tdW5pcXVlLXRhZy10ZXN0ID4gc3BhbiB+IHNwYW4iKTsKKyAgICAg
ICAgICAgIHRlc3ROb2RlTWF0Y2hlc1BhdGgoc3BhbiwgIkVsZW1lbnRzIHdpdGggbm9uLXVuaXF1
ZSB0YWcgbmFtZSBzaG91bGQgbmVlZCBudGgtY2hpbGQoKS4iLCB7CisgICAgICAgICAgICAgICAg
cmVndWxhcjogYCNub24tdW5pcXVlLXRhZy10ZXN0ID4gc3BhbjpudGgtY2hpbGQoMylgLAorICAg
ICAgICAgICAgICAgIGZ1bGw6IGBodG1sID4gYm9keVtvbmxvYWQ9InJ1blRlc3QoKSJdID4gZGl2
W3N0eWxlPSJ2aXNpYmlsaXR5OmhpZGRlbiJdID4gZGl2I25vbi11bmlxdWUtdGFnLXRlc3QgPiBz
cGFuOm50aC1jaGlsZCgzKWAsCiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQogICAgIH0pOwpA
QCAtODIsMTAgKzEwMywxMSBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICBzdWl0ZS5hZGRUZXN0Q2Fz
ZSh7CiAgICAgICAgIG5hbWU6ICJXSS5jc3NQYXRoLlVuaXF1ZUNsYXNzTmFtZSIsCiAgICAgICAg
IGRlc2NyaXB0aW9uOiAiRWxlbWVudHMgd2l0aCB1bmlxdWUgY2xhc3MgbmFtZXMgc2hvdWxkIGlu
Y2x1ZGUgdGhlaXIgY2xhc3MgbmFtZXMuIiwKLSAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3Qp
IHsKLSAgICAgICAgICAgIG5vZGVGb3JTZWxlY3RvcigiI3VuaXF1ZS1jbGFzcy10ZXN0ID4gLmJl
dGEiLCAobm9kZSkgPT4gewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1
YWwoV0kuY3NzUGF0aChub2RlKSwgIiN1bmlxdWUtY2xhc3MtdGVzdCA+IGRpdi5hbHBoYS5iZXRh
IiwgIkVsZW1lbnRzIHdpdGggdW5pcXVlIGNsYXNzIG5hbWVzIHNob3VsZCBpbmNsdWRlIHRoZWly
IGNsYXNzIG5hbWVzLiIpOwotICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgYXN5
bmMgdGVzdCgpIHsKKyAgICAgICAgICAgIGxldCBiZXRhID0gYXdhaXQgbm9kZUZvclNlbGVjdG9y
KCIjdW5pcXVlLWNsYXNzLXRlc3QgPiAuYmV0YSIpOworICAgICAgICAgICAgdGVzdE5vZGVNYXRj
aGVzUGF0aChiZXRhLCAiRWxlbWVudHMgd2l0aCB1bmlxdWUgY2xhc3MgbmFtZXMgc2hvdWxkIGlu
Y2x1ZGUgdGhlaXIgY2xhc3MgbmFtZXMuIiwgeworICAgICAgICAgICAgICAgIHJlZ3VsYXI6IGAj
dW5pcXVlLWNsYXNzLXRlc3QgPiBkaXYuYWxwaGEuYmV0YWAsCisgICAgICAgICAgICAgICAgZnVs
bDogYGh0bWwgPiBib2R5W29ubG9hZD0icnVuVGVzdCgpIl0gPiBkaXZbc3R5bGU9InZpc2liaWxp
dHk6aGlkZGVuIl0gPiBkaXYjdW5pcXVlLWNsYXNzLXRlc3QgPiBkaXYuYWxwaGEuYmV0YWAsCiAg
ICAgICAgICAgICB9KTsKICAgICAgICAgfQogICAgIH0pOwpAQCAtOTMsMTAgKzExNSwxMSBAQCBm
dW5jdGlvbiB0ZXN0KCkKICAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CiAgICAgICAgIG5hbWU6ICJX
SS5jc3NQYXRoLk5vblVuaXF1ZUNsYXNzTmFtZSIsCiAgICAgICAgIGRlc2NyaXB0aW9uOiAiRWxl
bWVudHMgd2l0aCBub24tdW5pcXVlIGNsYXNzIG5hbWVzIHNob3VsZCBub3QgaW5jbHVkZSB0aGVp
ciBjbGFzcyBuYW1lcy4iLAotICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewotICAgICAg
ICAgICAgbm9kZUZvclNlbGVjdG9yKCIjbm9uLXVuaXF1ZS1jbGFzcy10ZXN0ID4gZGl2IH4gZGl2
IiwgKG5vZGUpID0+IHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFs
KFdJLmNzc1BhdGgobm9kZSksICIjbm9uLXVuaXF1ZS1jbGFzcy10ZXN0ID4gZGl2Om50aC1jaGls
ZCgyKSIsICJFbGVtZW50cyB3aXRoIG5vbi11bmlxdWUgY2xhc3MgbmFtZXMgc2hvdWxkIG5vdCBp
bmNsdWRlIHRoZWlyIGNsYXNzIG5hbWVzLiIpOwotICAgICAgICAgICAgICAgIHJlc29sdmUoKTsK
KyAgICAgICAgYXN5bmMgdGVzdCgpIHsKKyAgICAgICAgICAgIGxldCBkaXYgPSBhd2FpdCBub2Rl
Rm9yU2VsZWN0b3IoIiNub24tdW5pcXVlLWNsYXNzLXRlc3QgPiBkaXYgfiBkaXYiKTsKKyAgICAg
ICAgICAgIHRlc3ROb2RlTWF0Y2hlc1BhdGgoZGl2LCAiRWxlbWVudHMgd2l0aCBub24tdW5pcXVl
IGNsYXNzIG5hbWVzIHNob3VsZCBub3QgaW5jbHVkZSB0aGVpciBjbGFzcyBuYW1lcy4iLCB7Cisg
ICAgICAgICAgICAgICAgcmVndWxhcjogYCNub24tdW5pcXVlLWNsYXNzLXRlc3QgPiBkaXY6bnRo
LWNoaWxkKDIpYCwKKyAgICAgICAgICAgICAgICBmdWxsOiBgaHRtbCA+IGJvZHlbb25sb2FkPSJy
dW5UZXN0KCkiXSA+IGRpdltzdHlsZT0idmlzaWJpbGl0eTpoaWRkZW4iXSA+IGRpdiNub24tdW5p
cXVlLWNsYXNzLXRlc3QgPiBkaXYuYWxwaGE6bnRoLWNoaWxkKDIpYCwKICAgICAgICAgICAgIH0p
OwogICAgICAgICB9CiAgICAgfSk7CkBAIC0xMDQsMTAgKzEyNywxMSBAQCBmdW5jdGlvbiB0ZXN0
KCkKICAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CiAgICAgICAgIG5hbWU6ICJXSS5jc3NQYXRoLlVu
aXF1ZVRhZ0FuZENsYXNzTmFtZSIsCiAgICAgICAgIGRlc2NyaXB0aW9uOiAiRWxlbWVudHMgd2l0
aCB1bmlxdWUgdGFnIGFuZCBjbGFzcyBuYW1lIGp1c3QgdXNlIHRhZyBmb3Igc2ltcGxpY2l0eS4i
LAotICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAgICAgbm9kZUZvclNl
bGVjdG9yKCIjdW5pcXVlLXRhZy1hbmQtY2xhc3MtdGVzdCA+IC5hbHBoYSIsIChub2RlKSA9PiB7
Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChXSS5jc3NQYXRoKG5v
ZGUpLCAiI3VuaXF1ZS10YWctYW5kLWNsYXNzLXRlc3QgPiBkaXYiLCAiRWxlbWVudHMgd2l0aCB1
bmlxdWUgdGFnIGFuZCBjbGFzcyBuYW1lcyBzaG91bGQganVzdCBoYXZlIHNpbXBsZSB0YWcuIik7
Ci0gICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICBhc3luYyB0ZXN0KCkgeworICAg
ICAgICAgICAgbGV0IGFscGhhID0gYXdhaXQgbm9kZUZvclNlbGVjdG9yKCIjdW5pcXVlLXRhZy1h
bmQtY2xhc3MtdGVzdCA+IC5hbHBoYSIpOworICAgICAgICAgICAgdGVzdE5vZGVNYXRjaGVzUGF0
aChhbHBoYSwgIkVsZW1lbnRzIHdpdGggdW5pcXVlIHRhZyBhbmQgY2xhc3MgbmFtZXMgc2hvdWxk
IGp1c3QgaGF2ZSBzaW1wbGUgdGFnLiIsIHsKKyAgICAgICAgICAgICAgICByZWd1bGFyOiBgI3Vu
aXF1ZS10YWctYW5kLWNsYXNzLXRlc3QgPiBkaXZgLAorICAgICAgICAgICAgICAgIGZ1bGw6IGBo
dG1sID4gYm9keVtvbmxvYWQ9InJ1blRlc3QoKSJdID4gZGl2W3N0eWxlPSJ2aXNpYmlsaXR5Omhp
ZGRlbiJdID4gZGl2I3VuaXF1ZS10YWctYW5kLWNsYXNzLXRlc3QgPiBkaXYuYWxwaGFgLAogICAg
ICAgICAgICAgfSk7CiAgICAgICAgIH0KICAgICB9KTsKQEAgLTExNSwxMCArMTM5LDExIEBAIGZ1
bmN0aW9uIHRlc3QoKQogICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKICAgICAgICAgbmFtZTogIldJ
LmNzc1BhdGguRGVlcFBhdGgiLAogICAgICAgICBkZXNjcmlwdGlvbjogIlRlc3RzIGZvciBlbGVt
ZW50IHdpdGggY29tcGxleCBwYXRoLiIsCi0gICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7
Ci0gICAgICAgICAgICBub2RlRm9yU2VsZWN0b3IoInNtYWxsIiwgKG5vZGUpID0+IHsKLSAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKFdJLmNzc1BhdGgobm9kZSksICJi
b2R5ID4gZGl2ID4gZGl2LmRlZXAtcGF0aC10ZXN0ID4gdWwgPiBsaSA+IGRpdjpudGgtY2hpbGQo
NCkgPiB1bCA+IGxpLmFjdGl2ZSA+IGEgPiBzbWFsbCIsICJTaG91bGQgYmUgYWJsZSB0byBjcmVh
dGUgcGF0aCBmb3IgZGVlcCBlbGVtZW50cy4iKTsKLSAgICAgICAgICAgICAgICByZXNvbHZlKCk7
CisgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBsZXQgc21hbGwgPSBhd2FpdCBu
b2RlRm9yU2VsZWN0b3IoInNtYWxsIik7CisgICAgICAgICAgICB0ZXN0Tm9kZU1hdGNoZXNQYXRo
KHNtYWxsLCAiU2hvdWxkIGJlIGFibGUgdG8gY3JlYXRlIHBhdGggZm9yIGRlZXAgZWxlbWVudHMu
IiwgeworICAgICAgICAgICAgICAgIHJlZ3VsYXI6IGBib2R5ID4gZGl2ID4gZGl2LmRlZXAtcGF0
aC10ZXN0ID4gdWwgPiBsaSA+IGRpdjpudGgtY2hpbGQoNCkgPiB1bCA+IGxpLmFjdGl2ZSA+IGEg
PiBzbWFsbGAsCisgICAgICAgICAgICAgICAgZnVsbDogYGh0bWwgPiBib2R5W29ubG9hZD0icnVu
VGVzdCgpIl0gPiBkaXZbc3R5bGU9InZpc2liaWxpdHk6aGlkZGVuIl0gPiBkaXYuZGVlcC1wYXRo
LXRlc3QgPiB1bCA+IGxpID4gZGl2Om50aC1jaGlsZCg0KSA+IHVsLmxpc3QgPiBsaS5hY3RpdmUg
PiBhW2hyZWY9IiMiXSA+IHNtYWxsYCwKICAgICAgICAgICAgIH0pOwogICAgICAgICB9CiAgICAg
fSk7CkBAIC0xMjYsMTUgKzE1MSwyMSBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICBzdWl0ZS5hZGRU
ZXN0Q2FzZSh7CiAgICAgICAgIG5hbWU6ICJXSS5jc3NQYXRoLlBzZXVkb0VsZW1lbnQiLAogICAg
ICAgICBkZXNjcmlwdGlvbjogIkZvciBhIHBzZXVkbyBlbGVtZW50IHdlIHNob3VsZCBnZXQgdGhl
IHBhdGggb2YgdGhlIHBhcmVudCBhbmQgYXBwZW5kIHRoZSBwc2V1ZG8gZWxlbWVudCBzZWxlY3Rv
ci4iLAotICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAgICAgbm9kZUZv
clNlbGVjdG9yKCIjcHNldWRvLWVsZW1lbnQtdGVzdCA+IGRpdiB+IGRpdiIsIChub2RlKSA9PiB7
Ci0gICAgICAgICAgICAgICAgbGV0IHBzZXVkb0VsZW1lbnRCZWZvcmUgPSBub2RlLmJlZm9yZVBz
ZXVkb0VsZW1lbnQoKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChwc2V1
ZG9FbGVtZW50QmVmb3JlKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVx
dWFsKFdJLmNzc1BhdGgocHNldWRvRWxlbWVudEJlZm9yZSksICIjcHNldWRvLWVsZW1lbnQtdGVz
dCA+IGRpdjpudGgtY2hpbGQoMyk6OmJlZm9yZSIsICJTaG91bGQgYmUgYWJsZSB0byBjcmVhdGUg
cGF0aCBmb3IgOjpiZWZvcmUgcHNldWRvIGVsZW1lbnRzLiIpOwotICAgICAgICAgICAgICAgIGxl
dCBwc2V1ZG9FbGVtZW50QWZ0ZXIgPSBub2RlLmFmdGVyUHNldWRvRWxlbWVudCgpOwotICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHBzZXVkb0VsZW1lbnRBZnRlcik7Ci0gICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChXSS5jc3NQYXRoKHBzZXVkb0Vs
ZW1lbnRBZnRlciksICIjcHNldWRvLWVsZW1lbnQtdGVzdCA+IGRpdjpudGgtY2hpbGQoMyk6OmFm
dGVyIiwgIlNob3VsZCBiZSBhYmxlIHRvIGNyZWF0ZSBwYXRoIGZvciA6OmFmdGVyIHBzZXVkbyBl
bGVtZW50cy4iKTsKLSAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIGFzeW5jIHRl
c3QoKSB7CisgICAgICAgICAgICBsZXQgZGl2ID0gYXdhaXQgbm9kZUZvclNlbGVjdG9yKCIjcHNl
dWRvLWVsZW1lbnQtdGVzdCA+IGRpdiB+IGRpdiIpOworCisgICAgICAgICAgICBsZXQgcHNldWRv
RWxlbWVudEJlZm9yZSA9IGRpdi5iZWZvcmVQc2V1ZG9FbGVtZW50KCk7CisgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmFzc2VydChwc2V1ZG9FbGVtZW50QmVmb3JlKTsKKyAgICAgICAgICAgIHRl
c3ROb2RlTWF0Y2hlc1BhdGgocHNldWRvRWxlbWVudEJlZm9yZSwgIlNob3VsZCBiZSBhYmxlIHRv
IGNyZWF0ZSBwYXRoIGZvciA6OmJlZm9yZSBwc2V1ZG8gZWxlbWVudHMuIiwgeworICAgICAgICAg
ICAgICAgIHJlZ3VsYXI6IGAjcHNldWRvLWVsZW1lbnQtdGVzdCA+IGRpdjpudGgtY2hpbGQoMyk6
OmJlZm9yZWAsCisgICAgICAgICAgICAgICAgZnVsbDogYGh0bWwgPiBib2R5W29ubG9hZD0icnVu
VGVzdCgpIl0gPiBkaXZbc3R5bGU9InZpc2liaWxpdHk6aGlkZGVuIl0gPiBkaXYjcHNldWRvLWVs
ZW1lbnQtdGVzdCA+IGRpdjpudGgtY2hpbGQoMyk6OmJlZm9yZWAsCisgICAgICAgICAgICB9KTsK
KworICAgICAgICAgICAgbGV0IHBzZXVkb0VsZW1lbnRBZnRlciA9IGRpdi5hZnRlclBzZXVkb0Vs
ZW1lbnQoKTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHBzZXVkb0VsZW1lbnRB
ZnRlcik7CisgICAgICAgICAgICB0ZXN0Tm9kZU1hdGNoZXNQYXRoKHBzZXVkb0VsZW1lbnRBZnRl
ciwgIlNob3VsZCBiZSBhYmxlIHRvIGNyZWF0ZSBwYXRoIGZvciA6OmFmdGVyIHBzZXVkbyBlbGVt
ZW50cy4iLCB7CisgICAgICAgICAgICAgICAgcmVndWxhcjogYCNwc2V1ZG8tZWxlbWVudC10ZXN0
ID4gZGl2Om50aC1jaGlsZCgzKTo6YWZ0ZXJgLAorICAgICAgICAgICAgICAgIGZ1bGw6IGBodG1s
ID4gYm9keVtvbmxvYWQ9InJ1blRlc3QoKSJdID4gZGl2W3N0eWxlPSJ2aXNpYmlsaXR5OmhpZGRl
biJdID4gZGl2I3BzZXVkby1lbGVtZW50LXRlc3QgPiBkaXY6bnRoLWNoaWxkKDMpOjphZnRlcmAs
CiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQogICAgIH0pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353409</attachid>
            <date>2018-10-30 14:33:33 -0700</date>
            <delta_ts>2018-10-30 16:06:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190987-20181030143333.patch</filename>
            <type>text/plain</type>
            <size>19093</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGUyNDQyMmZlZTBjODcxYThlNjcwZTIyMDZjN2M4
ZThlNWM3YWIxYjEuLjk5OTBjZTVlZjljN2NmMDk5NjMzNzA3Yzc5ZGUzZDE1MGZhYzMxMTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE4LTEwLTMwICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBw
cm92aWRlIG9wdGlvbnMgdG8gV0kuY3NzUGF0aCBmb3IgbW9yZSB2ZXJib3NpdHkKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDk4NworCisgICAgICAg
IFJldmlld2VkIGJ5IEJyaWFuIEJ1cmcuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0Jhc2Uv
RE9NVXRpbGl0aWVzLmpzOgorICAgICAgICAoV0kuY3NzUGF0aCk6CisgICAgICAgIChXSS5jc3NQ
YXRoQ29tcG9uZW50KToKKyAgICAgICAgV2hlbiB0aGUgb3B0aW9uIGBmdWxsYCBpcyB0cnVlLCBw
cmludCBldmVyeSBhdHRyaWJ1dGUgYWxvbmcgd2l0aCBldmVyeSBub2RlIGluIHRoZSBoaWVyYXJj
aHkKKyAgICAgICAgdW50aWwgdGhlIHJvb3QgaXMgcmVhY2hlZC4gVGhpcyBwYXJ0aWFsbHkgZHVw
bGljYXRlcyB0aGUgZWZmZWN0IG9mIGFuIFhQYXRoLCBidXQgaW5zdGVhZAorICAgICAgICB1c2Vz
IENTUyBzZWxlY3RvcnMsIG1ha2luZyBpdCBtdWNoIG1vcmUgaHVtYW4gcmVhZGFibGUgYW5kIHJl
Y29nbml6YWJsZS4KKwogMjAxOC0xMC0zMCAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5j
b20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogcmVmYWN0b3IgV0kuU2NvcGVCYXJJdGVtIGZv
ciBiZXR0ZXIgZXh0ZW5zaWJpbGl0eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvQmFzZS9ET01VdGlsaXRpZXMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9CYXNlL0RPTVV0aWxpdGllcy5qcwppbmRleCA1MDY3MTBhMWY1NDhm
Zjc3YTk5NzUyZWU3ZTllNjVhZjY0ZDI4ZmE0Li42MTI4ZGI3NzQ3OTZlMTEyZDAzY2Q2YjFlZDQ5
YzNjZWIxNGJiNDExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9CYXNlL0RPTVV0aWxpdGllcy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9CYXNlL0RPTVV0aWxpdGllcy5qcwpAQCAtOTMsNyArOTMsNyBAQCBmdW5jdGlv
biBjcmVhdGVTVkdFbGVtZW50KHRhZ05hbWUpCiAgICAgcmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLCB0YWdOYW1lKTsKIH0KIAotV0ku
Y3NzUGF0aCA9IGZ1bmN0aW9uKG5vZGUpCitXSS5jc3NQYXRoID0gZnVuY3Rpb24obm9kZSwgb3B0
aW9ucyA9IHt9KQogewogICAgIGNvbnNvbGUuYXNzZXJ0KG5vZGUgaW5zdGFuY2VvZiBXSS5ET01O
b2RlLCAiRXhwZWN0ZWQgYSBET01Ob2RlLiIpOwogICAgIGlmIChub2RlLm5vZGVUeXBlKCkgIT09
IE5vZGUuRUxFTUVOVF9OT0RFKQpAQCAtMTA3LDcgKzEwNyw3IEBAIFdJLmNzc1BhdGggPSBmdW5j
dGlvbihub2RlKQogCiAgICAgbGV0IGNvbXBvbmVudHMgPSBbXTsKICAgICB3aGlsZSAobm9kZSkg
ewotICAgICAgICBsZXQgY29tcG9uZW50ID0gV0kuY3NzUGF0aENvbXBvbmVudChub2RlKTsKKyAg
ICAgICAgbGV0IGNvbXBvbmVudCA9IFdJLmNzc1BhdGhDb21wb25lbnQobm9kZSwgb3B0aW9ucyk7
CiAgICAgICAgIGlmICghY29tcG9uZW50KQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNv
bXBvbmVudHMucHVzaChjb21wb25lbnQpOwpAQCAtMTIwLDcgKzEyMCw3IEBAIFdJLmNzc1BhdGgg
PSBmdW5jdGlvbihub2RlKQogICAgIHJldHVybiBjb21wb25lbnRzLm1hcCgoeCkgPT4geC52YWx1
ZSkuam9pbigiID4gIikgKyBzdWZmaXg7CiB9OwogCi1XSS5jc3NQYXRoQ29tcG9uZW50ID0gZnVu
Y3Rpb24obm9kZSkKK1dJLmNzc1BhdGhDb21wb25lbnQgPSBmdW5jdGlvbihub2RlLCBvcHRpb25z
ID0ge30pCiB7CiAgICAgY29uc29sZS5hc3NlcnQobm9kZSBpbnN0YW5jZW9mIFdJLkRPTU5vZGUs
ICJFeHBlY3RlZCBhIERPTU5vZGUuIik7CiAgICAgY29uc29sZS5hc3NlcnQoIW5vZGUuaXNQc2V1
ZG9FbGVtZW50KCkpOwpAQCAtMTI4LDYgKzEyOCw3NSBAQCBXSS5jc3NQYXRoQ29tcG9uZW50ID0g
ZnVuY3Rpb24obm9kZSkKICAgICAgICAgcmV0dXJuIG51bGw7CiAKICAgICBsZXQgbm9kZU5hbWUg
PSBub2RlLm5vZGVOYW1lSW5Db3JyZWN0Q2FzZSgpOworCisgICAgLy8gUm9vdCBub2RlIGRvZXMg
bm90IGhhdmUgc2libGluZ3MuCisgICAgaWYgKCFub2RlLnBhcmVudE5vZGUgfHwgbm9kZS5wYXJl
bnROb2RlLm5vZGVUeXBlKCkgPT09IE5vZGUuRE9DVU1FTlRfTk9ERSkKKyAgICAgICAgcmV0dXJu
IHt2YWx1ZTogbm9kZU5hbWUsIGRvbmU6IHRydWV9OworCisgICAgaWYgKG9wdGlvbnMuZnVsbCkg
eworICAgICAgICBmdW5jdGlvbiBnZXRVbmlxdWVBdHRyaWJ1dGVzKGRvbU5vZGUpIHsKKyAgICAg
ICAgICAgIGxldCB1bmlxdWVBdHRyaWJ1dGVzID0gbmV3IE1hcDsKKyAgICAgICAgICAgIGZvciAo
bGV0IGF0dHJpYnV0ZSBvZiBkb21Ob2RlLmF0dHJpYnV0ZXMoKSkgeworICAgICAgICAgICAgICAg
IGxldCB2YWx1ZXMgPSBbYXR0cmlidXRlLnZhbHVlXTsKKyAgICAgICAgICAgICAgICBpZiAoYXR0
cmlidXRlLm5hbWUgPT09ICJpZCIgfHwgYXR0cmlidXRlLm5hbWUgPT09ICJjbGFzcyIpCisgICAg
ICAgICAgICAgICAgICAgIHZhbHVlcyA9IGF0dHJpYnV0ZS52YWx1ZS5zcGxpdCgvXHMrLyk7Cisg
ICAgICAgICAgICAgICAgdW5pcXVlQXR0cmlidXRlcy5zZXQoYXR0cmlidXRlLm5hbWUsIG5ldyBT
ZXQodmFsdWVzKSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4gdW5pcXVlQXR0
cmlidXRlczsKKyAgICAgICAgfQorCisgICAgICAgIGxldCBub2RlSW5kZXggPSAwOworICAgICAg
ICBsZXQgbmVlZHNOdGhDaGlsZCA9IGZhbHNlOworICAgICAgICBsZXQgdW5pcXVlQXR0cmlidXRl
cyA9IGdldFVuaXF1ZUF0dHJpYnV0ZXMobm9kZSk7CisgICAgICAgIG5vZGUucGFyZW50Tm9kZS5j
aGlsZHJlbi5mb3JFYWNoKChjaGlsZCwgaSkgPT4geworICAgICAgICAgICAgaWYgKGNoaWxkLm5v
ZGVUeXBlKCkgIT09IE5vZGUuRUxFTUVOVF9OT0RFKQorICAgICAgICAgICAgICAgIHJldHVybjsK
KworICAgICAgICAgICAgaWYgKGNoaWxkID09PSBub2RlKSB7CisgICAgICAgICAgICAgICAgbm9k
ZUluZGV4ID0gaTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIGlmIChuZWVkc050aENoaWxkIHx8IGNoaWxkLm5vZGVOYW1lSW5Db3JyZWN0Q2Fz
ZSgpICE9PSBub2RlTmFtZSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAg
IGxldCBjaGlsZFVuaXF1ZUF0dHJpYnV0ZXMgPSBnZXRVbmlxdWVBdHRyaWJ1dGVzKGNoaWxkKTsK
KyAgICAgICAgICAgIGxldCBzdWJzZXRDb3VudCA9IDA7CisgICAgICAgICAgICBmb3IgKGxldCBb
bmFtZSwgdmFsdWVzXSBvZiB1bmlxdWVBdHRyaWJ1dGVzKSB7CisgICAgICAgICAgICAgICAgbGV0
IGNoaWxkVmFsdWVzID0gY2hpbGRVbmlxdWVBdHRyaWJ1dGVzLmdldChuYW1lKTsKKyAgICAgICAg
ICAgICAgICBpZiAoY2hpbGRWYWx1ZXMgJiYgdmFsdWVzLnNpemUgPD0gY2hpbGRWYWx1ZXMuc2l6
ZSAmJiB2YWx1ZXMuaXNTdWJzZXRPZihjaGlsZFZhbHVlcykpCisgICAgICAgICAgICAgICAgICAg
ICsrc3Vic2V0Q291bnQ7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmIChzdWJzZXRD
b3VudCA9PT0gdW5pcXVlQXR0cmlidXRlcy5zaXplKQorICAgICAgICAgICAgICAgIG5lZWRzTnRo
Q2hpbGQgPSB0cnVlOworICAgICAgICB9KTsKKworICAgICAgICBmdW5jdGlvbiBzZWxlY3RvckZv
ckF0dHJpYnV0ZSh2YWx1ZXMsIHByZWZpeCA9ICIiLCBzaG91bGRDU1NFc2NhcGUgPSBmYWxzZSkg
eworICAgICAgICAgICAgaWYgKCF2YWx1ZXMgfHwgIXZhbHVlcy5zaXplKQorICAgICAgICAgICAg
ICAgIHJldHVybiAiIjsKKyAgICAgICAgICAgIHZhbHVlcyA9IEFycmF5LmZyb20odmFsdWVzKTsK
KyAgICAgICAgICAgIHZhbHVlcyA9IHZhbHVlcy5maWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZSAmJiB2
YWx1ZS5sZW5ndGgpOworICAgICAgICAgICAgaWYgKCF2YWx1ZXMubGVuZ3RoKQorICAgICAgICAg
ICAgICAgIHJldHVybiAiIjsKKyAgICAgICAgICAgIHZhbHVlcyA9IHZhbHVlcy5tYXAoKHZhbHVl
KSA9PiBzaG91bGRDU1NFc2NhcGUgPyBDU1MuZXNjYXBlKHZhbHVlKSA6IHZhbHVlLmVzY2FwZUNo
YXJhY3RlcnMoIlwiIikpOworICAgICAgICAgICAgcmV0dXJuIHByZWZpeCArIHZhbHVlcy5qb2lu
KHByZWZpeCk7CisgICAgICAgIH0KKworICAgICAgICBsZXQgc2VsZWN0b3IgPSBub2RlTmFtZTsK
KyAgICAgICAgc2VsZWN0b3IgKz0gc2VsZWN0b3JGb3JBdHRyaWJ1dGUodW5pcXVlQXR0cmlidXRl
cy5nZXQoImlkIiksICIjIiwgdHJ1ZSk7CisgICAgICAgIHNlbGVjdG9yICs9IHNlbGVjdG9yRm9y
QXR0cmlidXRlKHVuaXF1ZUF0dHJpYnV0ZXMuZ2V0KCJjbGFzcyIpLCAiLiIsIHRydWUpOworICAg
ICAgICBmb3IgKGxldCBbYXR0cmlidXRlLCB2YWx1ZXNdIG9mIHVuaXF1ZUF0dHJpYnV0ZXMpIHsK
KyAgICAgICAgICAgIGlmIChhdHRyaWJ1dGUgIT09ICJpZCIgJiYgYXR0cmlidXRlICE9PSAiY2xh
c3MiKQorICAgICAgICAgICAgICAgIHNlbGVjdG9yICs9IGBbJHthdHRyaWJ1dGV9PSIke3NlbGVj
dG9yRm9yQXR0cmlidXRlKHZhbHVlcyl9Il1gOworICAgICAgICB9CisKKyAgICAgICAgaWYgKG5l
ZWRzTnRoQ2hpbGQpCisgICAgICAgICAgICBzZWxlY3RvciArPSBgOm50aC1jaGlsZCgke25vZGVJ
bmRleCArIDF9KWA7CisKKyAgICAgICAgcmV0dXJuIHt2YWx1ZTogc2VsZWN0b3IsIGRvbmU6IGZh
bHNlfTsKKyAgICB9CisKICAgICBsZXQgbG93ZXJOb2RlTmFtZSA9IG5vZGUubm9kZU5hbWUoKS50
b0xvd2VyQ2FzZSgpOwogCiAgICAgLy8gaHRtbCwgaGVhZCwgYW5kIGJvZHkgYXJlIHVuaXF1ZSBu
b2Rlcy4KQEAgLTEzOSwxMCArMjA4LDYgQEAgV0kuY3NzUGF0aENvbXBvbmVudCA9IGZ1bmN0aW9u
KG5vZGUpCiAgICAgaWYgKGlkKQogICAgICAgICByZXR1cm4ge3ZhbHVlOiBub2RlLmVzY2FwZWRJ
ZFNlbGVjdG9yLCBkb25lOiB0cnVlfTsKIAotICAgIC8vIFJvb3Qgbm9kZSBkb2VzIG5vdCBoYXZl
IHNpYmxpbmdzLgotICAgIGlmICghbm9kZS5wYXJlbnROb2RlIHx8IG5vZGUucGFyZW50Tm9kZS5u
b2RlVHlwZSgpID09PSBOb2RlLkRPQ1VNRU5UX05PREUpCi0gICAgICAgIHJldHVybiB7dmFsdWU6
IG5vZGVOYW1lLCBkb25lOiB0cnVlfTsKLQogICAgIC8vIEZpbmQgdW5pcXVlbmVzcyBhbW9uZyBz
aWJsaW5ncy4KICAgICAvLyAgIC0gbG9vayBmb3IgYSB1bmlxdWUgY2xhc3NOYW1lCiAgICAgLy8g
ICAtIGxvb2sgZm9yIGEgdW5pcXVlIHRhZ05hbWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1NmQ3YjJmNWIzYzVlNTJjOGQ1
YzUzMDA2ZjIxZDVhNjUzMzQzOTFhLi4wMTViYjBhYTMyM2M3YjFlMmM4NzY3YzRlZGEwZWIzMjQ4
YmMxNWI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTgtMTAtMjkgIERldmluIFJvdXNzbyAg
PGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHByb3ZpZGUgb3B0
aW9ucyB0byBXSS5jc3NQYXRoIGZvciBtb3JlIHZlcmJvc2l0eQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwOTg3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgQnJpYW4gQnVyZy4KKworICAgICAgICAqIGluc3BlY3Rvci9kb20vZG9tdXRpbGl0aWVzLWNz
c3BhdGguaHRtbDoKKwogMjAxOC0xMC0zMCAgRGF3ZWkgRmVudG9uICA8cmVhbGRhd2VpQGFwcGxl
LmNvbT4KIAogICAgICAgICBbIE1vamF2ZSBEZWJ1ZyBdIExheW91dCBUZXN0IGh0dHAvdGVzdHMv
d29ya2Vycy9zZXJ2aWNlL3NlbGZfcmVnaXN0cmF0aW9uLmh0bWwgaXMgZmxha3kKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vZG9tdXRpbGl0aWVzLWNzc3BhdGguaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vZG9tdXRpbGl0aWVzLWNzc3BhdGguaHRtbAppbmRl
eCAyMzgzNzQxODA1MmQxOWViMWEwNjRmNjc1ODYzNGFmYjNhYjJkYzgyLi4yNDFiOThmZmFlOWRl
Nzc5Y2Q1M2E5MTI0ZGI1MDQzYzFlMGE0ZjNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvZG9tL2RvbXV0aWxpdGllcy1jc3NwYXRoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2RvbS9kb211dGlsaXRpZXMtY3NzcGF0aC5odG1sCkBAIC03LDEwICs3LDE3IEBAIGZ1
bmN0aW9uIHRlc3QoKQogewogICAgIGxldCBkb2N1bWVudE5vZGU7CiAKLSAgICBmdW5jdGlvbiBu
b2RlRm9yU2VsZWN0b3Ioc2VsZWN0b3IsIGNhbGxiYWNrKSB7Ci0gICAgICAgIFdJLmRvbU1hbmFn
ZXIucXVlcnlTZWxlY3Rvcihkb2N1bWVudE5vZGUuaWQsIHNlbGVjdG9yLCAobm9kZUlkKSA9PiB7
Ci0gICAgICAgICAgICBjYWxsYmFjayhXSS5kb21NYW5hZ2VyLm5vZGVGb3JJZChub2RlSWQpKTsK
LSAgICAgICAgfSk7CisgICAgYXN5bmMgZnVuY3Rpb24gbm9kZUZvclNlbGVjdG9yKHNlbGVjdG9y
KSB7CisgICAgICAgIGxldCBub2RlSWQgPSBhd2FpdCBXSS5kb21NYW5hZ2VyLnF1ZXJ5U2VsZWN0
b3IoZG9jdW1lbnROb2RlLmlkLCBzZWxlY3Rvcik7CisgICAgICAgIHJldHVybiBXSS5kb21NYW5h
Z2VyLm5vZGVGb3JJZChub2RlSWQpOworICAgIH0KKworICAgIGZ1bmN0aW9uIHRlc3ROb2RlTWF0
Y2hlc1BhdGgobm9kZSwgbWVzc2FnZSwge3JlZ3VsYXIsIGZ1bGx9KSB7CisgICAgICAgIEluc3Bl
Y3RvclRlc3QuZXhwZWN0RXF1YWwoV0kuY3NzUGF0aChub2RlKSwgcmVndWxhciwgbWVzc2FnZSk7
CisgICAgICAgIGlmIChmdWxsKSB7CisgICAgICAgICAgICBsZXQgYWN0dWFsID0gV0kuY3NzUGF0
aChub2RlLCB7ZnVsbDogdHJ1ZX0pOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQo
YWN0dWFsID09PSBmdWxsLCBgRnVsbCBwYXRoICR7YWN0dWFsfSBkb2Vzbid0IG1hdGNoIGV4cGVj
dGVkICR7ZnVsbH0uYCk7CisgICAgICAgIH0KICAgICB9CiAKICAgICBsZXQgc3VpdGUgPSBJbnNw
ZWN0b3JUZXN0LmNyZWF0ZUFzeW5jU3VpdGUoIldJLmNzc1BhdGgiKTsKQEAgLTE4LDE2ICsyNSwy
MyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CiAgICAgICAgIG5h
bWU6ICJXSS5jc3NQYXRoLlRvcExldmVsTm9kZSIsCiAgICAgICAgIGRlc2NyaXB0aW9uOiAiVG9w
IGxldmVsIG5vZGVzIGxpa2UgaHRtbCwgYm9keSwgYW5kIGhlYWQgYXJlIHVuaXF1ZS4iLAotICAg
ICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAgICAgbm9kZUZvclNlbGVjdG9y
KCJodG1sIiwgKG5vZGUpID0+IHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVj
dEVxdWFsKFdJLmNzc1BhdGgobm9kZSksICJodG1sIiwgIkhUTUwgZWxlbWVudCBzaG91bGQgaGF2
ZSBzaW1wbGUgc2VsZWN0b3IgJ2h0bWwnLiIpOworICAgICAgICBhc3luYyB0ZXN0KCkgeworICAg
ICAgICAgICAgbGV0IGh0bWwgPSBhd2FpdCBub2RlRm9yU2VsZWN0b3IoImh0bWwiKTsKKyAgICAg
ICAgICAgIHRlc3ROb2RlTWF0Y2hlc1BhdGgoaHRtbCwgIkhUTUwgZWxlbWVudCBzaG91bGQgaGF2
ZSBzaW1wbGUgc2VsZWN0b3IgJ2h0bWwnLiIsIHsKKyAgICAgICAgICAgICAgICByZWd1bGFyOiBg
aHRtbGAsCisgICAgICAgICAgICAgICAgZnVsbDogYGh0bWxgLAogICAgICAgICAgICAgfSk7Ci0g
ICAgICAgICAgICBub2RlRm9yU2VsZWN0b3IoImh0bWwgPiBib2R5IiwgKG5vZGUpID0+IHsKLSAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKFdJLmNzc1BhdGgobm9kZSks
ICJib2R5IiwgIkJPRFkgZWxlbWVudCBzaG91bGQgaGF2ZSBzaW1wbGUgc2VsZWN0b3IgJ2JvZHkn
LiIpOworCisgICAgICAgICAgICBsZXQgYm9keSA9IGF3YWl0IG5vZGVGb3JTZWxlY3RvcigiaHRt
bCA+IGJvZHkiKTsKKyAgICAgICAgICAgIHRlc3ROb2RlTWF0Y2hlc1BhdGgoYm9keSwgIkJPRFkg
ZWxlbWVudCBzaG91bGQgaGF2ZSBzaW1wbGUgc2VsZWN0b3IgJ2JvZHknLiIsIHsKKyAgICAgICAg
ICAgICAgICByZWd1bGFyOiBgYm9keWAsCisgICAgICAgICAgICAgICAgZnVsbDogYGh0bWwgPiBi
b2R5W29ubG9hZD0icnVuVGVzdCgpIl1gLAogICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICBu
b2RlRm9yU2VsZWN0b3IoImh0bWwgPiBoZWFkIiwgKG5vZGUpID0+IHsKLSAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKFdJLmNzc1BhdGgobm9kZSksICJoZWFkIiwgIkhF
QUQgZWxlbWVudCBzaG91bGQgaGF2ZSBzaW1wbGUgc2VsZWN0b3IgJ2hlYWQnLiIpOwotICAgICAg
ICAgICAgICAgIHJlc29sdmUoKTsKKworICAgICAgICAgICAgbGV0IGhlYWQgPSBhd2FpdCBub2Rl
Rm9yU2VsZWN0b3IoImh0bWwgPiBoZWFkIik7CisgICAgICAgICAgICB0ZXN0Tm9kZU1hdGNoZXNQ
YXRoKGhlYWQsICJIRUFEIGVsZW1lbnQgc2hvdWxkIGhhdmUgc2ltcGxlIHNlbGVjdG9yICdoZWFk
Jy4iLCB7CisgICAgICAgICAgICAgICAgcmVndWxhcjogYGhlYWRgLAorICAgICAgICAgICAgICAg
IGZ1bGw6IGBodG1sID4gaGVhZGAsCiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQogICAgIH0p
OwpAQCAtMzUsMTMgKzQ5LDE3IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIHN1aXRlLmFkZFRlc3RD
YXNlKHsKICAgICAgICAgbmFtZTogIldJLmNzc1BhdGguRWxlbWVudFdpdGhJRCIsCiAgICAgICAg
IGRlc2NyaXB0aW9uOiAiRWxlbWVudCB3aXRoIElEIGlzIHVuaXF1ZSAoI2lkKS4gUGF0aCBkb2Vz
IG5vdCBuZWVkIHRvIGdvIHBhc3QgaXQuIiwKLSAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3Qp
IHsKLSAgICAgICAgICAgIG5vZGVGb3JTZWxlY3RvcigiI2lkLXRlc3QiLCAobm9kZSkgPT4gewot
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwoV0kuY3NzUGF0aChub2Rl
KSwgIiNpZC10ZXN0IiwgIkVsZW1lbnQgd2l0aCBpZCBzaG91bGQgaGF2ZSBzaW1wbGUgc2VsZWN0
b3IgJyNpZC10ZXN0Jy4iKTsKKyAgICAgICAgYXN5bmMgdGVzdCgpIHsKKyAgICAgICAgICAgIGxl
dCB0ZXN0ID0gYXdhaXQgbm9kZUZvclNlbGVjdG9yKCIjaWQtdGVzdCIpOworICAgICAgICAgICAg
dGVzdE5vZGVNYXRjaGVzUGF0aCh0ZXN0LCAiRWxlbWVudCB3aXRoIGlkIHNob3VsZCBoYXZlIHNp
bXBsZSBzZWxlY3RvciAnI2lkLXRlc3QnLiIsIHsKKyAgICAgICAgICAgICAgICByZWd1bGFyOiBg
I2lkLXRlc3RgLAorICAgICAgICAgICAgICAgIGZ1bGw6IGBodG1sID4gYm9keVtvbmxvYWQ9InJ1
blRlc3QoKSJdID4gZGl2W3N0eWxlPSJ2aXNpYmlsaXR5OmhpZGRlbiJdID4gZGl2I2lkLXRlc3Rg
LAogICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICBub2RlRm9yU2VsZWN0b3IoIiNpZC10ZXN0
ID4gZGl2IiwgKG5vZGUpID0+IHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVj
dEVxdWFsKFdJLmNzc1BhdGgobm9kZSksICIjaWQtdGVzdCA+IGRpdiIsICJFbGVtZW50IGluc2lk
ZSBlbGVtZW50IHdpdGggaWQgc2hvdWxkIGhhdmUgcGF0aCBmcm9tIGlkLiIpOwotICAgICAgICAg
ICAgICAgIHJlc29sdmUoKTsKKworICAgICAgICAgICAgbGV0IGRpdiA9IGF3YWl0IG5vZGVGb3JT
ZWxlY3RvcigiI2lkLXRlc3QgPiBkaXYiKTsKKyAgICAgICAgICAgIHRlc3ROb2RlTWF0Y2hlc1Bh
dGgoZGl2LCAiRWxlbWVudCBpbnNpZGUgZWxlbWVudCB3aXRoIGlkIHNob3VsZCBoYXZlIHBhdGgg
ZnJvbSBpZC4iLCB7CisgICAgICAgICAgICAgICAgcmVndWxhcjogYCNpZC10ZXN0ID4gZGl2YCwK
KyAgICAgICAgICAgICAgICBmdWxsOiBgaHRtbCA+IGJvZHlbb25sb2FkPSJydW5UZXN0KCkiXSA+
IGRpdltzdHlsZT0idmlzaWJpbGl0eTpoaWRkZW4iXSA+IGRpdiNpZC10ZXN0ID4gZGl2YCwKICAg
ICAgICAgICAgIH0pOwogICAgICAgICB9CiAgICAgfSk7CkBAIC00OSwxMCArNjcsMTEgQEAgZnVu
Y3Rpb24gdGVzdCgpCiAgICAgc3VpdGUuYWRkVGVzdENhc2UoewogICAgICAgICBuYW1lOiAiV0ku
Y3NzUGF0aC5JbnB1dEVsZW1lbnRGbGFpciIsCiAgICAgICAgIGRlc2NyaXB0aW9uOiAiSW5wdXQg
ZWxlbWVudHMgaW5jbHVkZSB0aGVpciB0eXBlLiIsCi0gICAgICAgIHRlc3QocmVzb2x2ZSwgcmVq
ZWN0KSB7Ci0gICAgICAgICAgICBub2RlRm9yU2VsZWN0b3IoIiNpbnB1dC10ZXN0IGlucHV0Iiwg
KG5vZGUpID0+IHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKFdJ
LmNzc1BhdGgobm9kZSksICIjaW5wdXQtdGVzdCA+IGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSIs
ICJJbnB1dCBlbGVtZW50IHNob3VsZCBpbmNsdWRlIHR5cGUuIik7Ci0gICAgICAgICAgICAgICAg
cmVzb2x2ZSgpOworICAgICAgICBhc3luYyB0ZXN0KCkgeworICAgICAgICAgICAgbGV0IGlucHV0
ID0gYXdhaXQgbm9kZUZvclNlbGVjdG9yKCIjaW5wdXQtdGVzdCBpbnB1dCIpOworICAgICAgICAg
ICAgdGVzdE5vZGVNYXRjaGVzUGF0aChpbnB1dCwgIklucHV0IGVsZW1lbnQgc2hvdWxkIGluY2x1
ZGUgdHlwZS4iLCB7CisgICAgICAgICAgICAgICAgcmVndWxhcjogYCNpbnB1dC10ZXN0ID4gaW5w
dXRbdHlwZT0icGFzc3dvcmQiXWAsCisgICAgICAgICAgICAgICAgZnVsbDogYGh0bWwgPiBib2R5
W29ubG9hZD0icnVuVGVzdCgpIl0gPiBkaXZbc3R5bGU9InZpc2liaWxpdHk6aGlkZGVuIl0gPiBk
aXYjaW5wdXQtdGVzdCA+IGlucHV0W3R5cGU9InBhc3N3b3JkIl1gLAogICAgICAgICAgICAgfSk7
CiAgICAgICAgIH0KICAgICB9KTsKQEAgLTYwLDEwICs3OSwxMSBAQCBmdW5jdGlvbiB0ZXN0KCkK
ICAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CiAgICAgICAgIG5hbWU6ICJXSS5jc3NQYXRoLlVuaXF1
ZVRhZ05hbWUiLAogICAgICAgICBkZXNjcmlwdGlvbjogIkVsZW1lbnRzIHdpdGggdW5pcXVlIHRh
ZyBuYW1lIGRvIG5vdCBuZWVkIG50aC1jaGlsZC4iLAotICAgICAgICB0ZXN0KHJlc29sdmUsIHJl
amVjdCkgewotICAgICAgICAgICAgbm9kZUZvclNlbGVjdG9yKCIjdW5pcXVlLXRhZy10ZXN0ID4g
c3BhbiIsIChub2RlKSA9PiB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RF
cXVhbChXSS5jc3NQYXRoKG5vZGUpLCAiI3VuaXF1ZS10YWctdGVzdCA+IHNwYW4iLCAiRWxlbWVu
dHMgd2l0aCB1bmlxdWUgdGFnIG5hbWUgc2hvdWxkIG5vdCBuZWVkIG50aC1jaGlsZCgpLiIpOwot
ICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgYXN5bmMgdGVzdCgpIHsKKyAgICAg
ICAgICAgIGxldCBzcGFuID0gYXdhaXQgbm9kZUZvclNlbGVjdG9yKCIjdW5pcXVlLXRhZy10ZXN0
ID4gc3BhbiIpOworICAgICAgICAgICAgdGVzdE5vZGVNYXRjaGVzUGF0aChzcGFuLCAiRWxlbWVu
dHMgd2l0aCB1bmlxdWUgdGFnIG5hbWUgc2hvdWxkIG5vdCBuZWVkIG50aC1jaGlsZCgpLiIsIHsK
KyAgICAgICAgICAgICAgICByZWd1bGFyOiBgI3VuaXF1ZS10YWctdGVzdCA+IHNwYW5gLAorICAg
ICAgICAgICAgICAgIGZ1bGw6IGBodG1sID4gYm9keVtvbmxvYWQ9InJ1blRlc3QoKSJdID4gZGl2
W3N0eWxlPSJ2aXNpYmlsaXR5OmhpZGRlbiJdID4gZGl2I3VuaXF1ZS10YWctdGVzdCA+IHNwYW5g
LAogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KICAgICB9KTsKQEAgLTcxLDEwICs5MSwxMSBA
QCBmdW5jdGlvbiB0ZXN0KCkKICAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CiAgICAgICAgIG5hbWU6
ICJXSS5jc3NQYXRoLk5vblVuaXF1ZVRhZ05hbWUiLAogICAgICAgICBkZXNjcmlwdGlvbjogIkVs
ZW1lbnRzIHdpdGggbm9uLXVuaXF1ZSB0YWcgbmFtZSBuZWVkIG50aC1jaGlsZC4iLAotICAgICAg
ICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAgICAgbm9kZUZvclNlbGVjdG9yKCIj
bm9uLXVuaXF1ZS10YWctdGVzdCA+IHNwYW4gfiBzcGFuIiwgKG5vZGUpID0+IHsKLSAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKFdJLmNzc1BhdGgobm9kZSksICIjbm9u
LXVuaXF1ZS10YWctdGVzdCA+IHNwYW46bnRoLWNoaWxkKDMpIiwgIkVsZW1lbnRzIHdpdGggbm9u
LXVuaXF1ZSB0YWcgbmFtZSBzaG91bGQgbmVlZCBudGgtY2hpbGQoKS4iKTsKLSAgICAgICAgICAg
ICAgICByZXNvbHZlKCk7CisgICAgICAgIGFzeW5jIHRlc3QoKSB7CisgICAgICAgICAgICBsZXQg
c3BhbiA9IGF3YWl0IG5vZGVGb3JTZWxlY3RvcigiI25vbi11bmlxdWUtdGFnLXRlc3QgPiBzcGFu
IH4gc3BhbiIpOworICAgICAgICAgICAgdGVzdE5vZGVNYXRjaGVzUGF0aChzcGFuLCAiRWxlbWVu
dHMgd2l0aCBub24tdW5pcXVlIHRhZyBuYW1lIHNob3VsZCBuZWVkIG50aC1jaGlsZCgpLiIsIHsK
KyAgICAgICAgICAgICAgICByZWd1bGFyOiBgI25vbi11bmlxdWUtdGFnLXRlc3QgPiBzcGFuOm50
aC1jaGlsZCgzKWAsCisgICAgICAgICAgICAgICAgZnVsbDogYGh0bWwgPiBib2R5W29ubG9hZD0i
cnVuVGVzdCgpIl0gPiBkaXZbc3R5bGU9InZpc2liaWxpdHk6aGlkZGVuIl0gPiBkaXYjbm9uLXVu
aXF1ZS10YWctdGVzdCA+IHNwYW46bnRoLWNoaWxkKDMpYCwKICAgICAgICAgICAgIH0pOwogICAg
ICAgICB9CiAgICAgfSk7CkBAIC04MiwxMCArMTAzLDExIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAg
IHN1aXRlLmFkZFRlc3RDYXNlKHsKICAgICAgICAgbmFtZTogIldJLmNzc1BhdGguVW5pcXVlQ2xh
c3NOYW1lIiwKICAgICAgICAgZGVzY3JpcHRpb246ICJFbGVtZW50cyB3aXRoIHVuaXF1ZSBjbGFz
cyBuYW1lcyBzaG91bGQgaW5jbHVkZSB0aGVpciBjbGFzcyBuYW1lcy4iLAotICAgICAgICB0ZXN0
KHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAgICAgbm9kZUZvclNlbGVjdG9yKCIjdW5pcXVl
LWNsYXNzLXRlc3QgPiAuYmV0YSIsIChub2RlKSA9PiB7Ci0gICAgICAgICAgICAgICAgSW5zcGVj
dG9yVGVzdC5leHBlY3RFcXVhbChXSS5jc3NQYXRoKG5vZGUpLCAiI3VuaXF1ZS1jbGFzcy10ZXN0
ID4gZGl2LmFscGhhLmJldGEiLCAiRWxlbWVudHMgd2l0aCB1bmlxdWUgY2xhc3MgbmFtZXMgc2hv
dWxkIGluY2x1ZGUgdGhlaXIgY2xhc3MgbmFtZXMuIik7Ci0gICAgICAgICAgICAgICAgcmVzb2x2
ZSgpOworICAgICAgICBhc3luYyB0ZXN0KCkgeworICAgICAgICAgICAgbGV0IGJldGEgPSBhd2Fp
dCBub2RlRm9yU2VsZWN0b3IoIiN1bmlxdWUtY2xhc3MtdGVzdCA+IC5iZXRhIik7CisgICAgICAg
ICAgICB0ZXN0Tm9kZU1hdGNoZXNQYXRoKGJldGEsICJFbGVtZW50cyB3aXRoIHVuaXF1ZSBjbGFz
cyBuYW1lcyBzaG91bGQgaW5jbHVkZSB0aGVpciBjbGFzcyBuYW1lcy4iLCB7CisgICAgICAgICAg
ICAgICAgcmVndWxhcjogYCN1bmlxdWUtY2xhc3MtdGVzdCA+IGRpdi5hbHBoYS5iZXRhYCwKKyAg
ICAgICAgICAgICAgICBmdWxsOiBgaHRtbCA+IGJvZHlbb25sb2FkPSJydW5UZXN0KCkiXSA+IGRp
dltzdHlsZT0idmlzaWJpbGl0eTpoaWRkZW4iXSA+IGRpdiN1bmlxdWUtY2xhc3MtdGVzdCA+IGRp
di5hbHBoYS5iZXRhYCwKICAgICAgICAgICAgIH0pOwogICAgICAgICB9CiAgICAgfSk7CkBAIC05
MywxMCArMTE1LDExIEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsK
ICAgICAgICAgbmFtZTogIldJLmNzc1BhdGguTm9uVW5pcXVlQ2xhc3NOYW1lIiwKICAgICAgICAg
ZGVzY3JpcHRpb246ICJFbGVtZW50cyB3aXRoIG5vbi11bmlxdWUgY2xhc3MgbmFtZXMgc2hvdWxk
IG5vdCBpbmNsdWRlIHRoZWlyIGNsYXNzIG5hbWVzLiIsCi0gICAgICAgIHRlc3QocmVzb2x2ZSwg
cmVqZWN0KSB7Ci0gICAgICAgICAgICBub2RlRm9yU2VsZWN0b3IoIiNub24tdW5pcXVlLWNsYXNz
LXRlc3QgPiBkaXYgfiBkaXYiLCAobm9kZSkgPT4gewotICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuZXhwZWN0RXF1YWwoV0kuY3NzUGF0aChub2RlKSwgIiNub24tdW5pcXVlLWNsYXNzLXRl
c3QgPiBkaXY6bnRoLWNoaWxkKDIpIiwgIkVsZW1lbnRzIHdpdGggbm9uLXVuaXF1ZSBjbGFzcyBu
YW1lcyBzaG91bGQgbm90IGluY2x1ZGUgdGhlaXIgY2xhc3MgbmFtZXMuIik7Ci0gICAgICAgICAg
ICAgICAgcmVzb2x2ZSgpOworICAgICAgICBhc3luYyB0ZXN0KCkgeworICAgICAgICAgICAgbGV0
IGRpdiA9IGF3YWl0IG5vZGVGb3JTZWxlY3RvcigiI25vbi11bmlxdWUtY2xhc3MtdGVzdCA+IGRp
diB+IGRpdiIpOworICAgICAgICAgICAgdGVzdE5vZGVNYXRjaGVzUGF0aChkaXYsICJFbGVtZW50
cyB3aXRoIG5vbi11bmlxdWUgY2xhc3MgbmFtZXMgc2hvdWxkIG5vdCBpbmNsdWRlIHRoZWlyIGNs
YXNzIG5hbWVzLiIsIHsKKyAgICAgICAgICAgICAgICByZWd1bGFyOiBgI25vbi11bmlxdWUtY2xh
c3MtdGVzdCA+IGRpdjpudGgtY2hpbGQoMilgLAorICAgICAgICAgICAgICAgIGZ1bGw6IGBodG1s
ID4gYm9keVtvbmxvYWQ9InJ1blRlc3QoKSJdID4gZGl2W3N0eWxlPSJ2aXNpYmlsaXR5OmhpZGRl
biJdID4gZGl2I25vbi11bmlxdWUtY2xhc3MtdGVzdCA+IGRpdi5hbHBoYTpudGgtY2hpbGQoMilg
LAogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KICAgICB9KTsKQEAgLTEwNCwxMCArMTI3LDEx
IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKICAgICAgICAgbmFt
ZTogIldJLmNzc1BhdGguVW5pcXVlVGFnQW5kQ2xhc3NOYW1lIiwKICAgICAgICAgZGVzY3JpcHRp
b246ICJFbGVtZW50cyB3aXRoIHVuaXF1ZSB0YWcgYW5kIGNsYXNzIG5hbWUganVzdCB1c2UgdGFn
IGZvciBzaW1wbGljaXR5LiIsCi0gICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7Ci0gICAg
ICAgICAgICBub2RlRm9yU2VsZWN0b3IoIiN1bmlxdWUtdGFnLWFuZC1jbGFzcy10ZXN0ID4gLmFs
cGhhIiwgKG5vZGUpID0+IHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVx
dWFsKFdJLmNzc1BhdGgobm9kZSksICIjdW5pcXVlLXRhZy1hbmQtY2xhc3MtdGVzdCA+IGRpdiIs
ICJFbGVtZW50cyB3aXRoIHVuaXF1ZSB0YWcgYW5kIGNsYXNzIG5hbWVzIHNob3VsZCBqdXN0IGhh
dmUgc2ltcGxlIHRhZy4iKTsKLSAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIGFz
eW5jIHRlc3QoKSB7CisgICAgICAgICAgICBsZXQgYWxwaGEgPSBhd2FpdCBub2RlRm9yU2VsZWN0
b3IoIiN1bmlxdWUtdGFnLWFuZC1jbGFzcy10ZXN0ID4gLmFscGhhIik7CisgICAgICAgICAgICB0
ZXN0Tm9kZU1hdGNoZXNQYXRoKGFscGhhLCAiRWxlbWVudHMgd2l0aCB1bmlxdWUgdGFnIGFuZCBj
bGFzcyBuYW1lcyBzaG91bGQganVzdCBoYXZlIHNpbXBsZSB0YWcuIiwgeworICAgICAgICAgICAg
ICAgIHJlZ3VsYXI6IGAjdW5pcXVlLXRhZy1hbmQtY2xhc3MtdGVzdCA+IGRpdmAsCisgICAgICAg
ICAgICAgICAgZnVsbDogYGh0bWwgPiBib2R5W29ubG9hZD0icnVuVGVzdCgpIl0gPiBkaXZbc3R5
bGU9InZpc2liaWxpdHk6aGlkZGVuIl0gPiBkaXYjdW5pcXVlLXRhZy1hbmQtY2xhc3MtdGVzdCA+
IGRpdi5hbHBoYWAsCiAgICAgICAgICAgICB9KTsKICAgICAgICAgfQogICAgIH0pOwpAQCAtMTE1
LDEwICsxMzksMTEgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgc3VpdGUuYWRkVGVzdENhc2Uoewog
ICAgICAgICBuYW1lOiAiV0kuY3NzUGF0aC5EZWVwUGF0aCIsCiAgICAgICAgIGRlc2NyaXB0aW9u
OiAiVGVzdHMgZm9yIGVsZW1lbnQgd2l0aCBjb21wbGV4IHBhdGguIiwKLSAgICAgICAgdGVzdChy
ZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgIG5vZGVGb3JTZWxlY3Rvcigic21hbGwiLCAo
bm9kZSkgPT4gewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwoV0ku
Y3NzUGF0aChub2RlKSwgImJvZHkgPiBkaXYgPiBkaXYuZGVlcC1wYXRoLXRlc3QgPiB1bCA+IGxp
ID4gZGl2Om50aC1jaGlsZCg0KSA+IHVsID4gbGkuYWN0aXZlID4gYSA+IHNtYWxsIiwgIlNob3Vs
ZCBiZSBhYmxlIHRvIGNyZWF0ZSBwYXRoIGZvciBkZWVwIGVsZW1lbnRzLiIpOwotICAgICAgICAg
ICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgYXN5bmMgdGVzdCgpIHsKKyAgICAgICAgICAgIGxl
dCBzbWFsbCA9IGF3YWl0IG5vZGVGb3JTZWxlY3Rvcigic21hbGwiKTsKKyAgICAgICAgICAgIHRl
c3ROb2RlTWF0Y2hlc1BhdGgoc21hbGwsICJTaG91bGQgYmUgYWJsZSB0byBjcmVhdGUgcGF0aCBm
b3IgZGVlcCBlbGVtZW50cy4iLCB7CisgICAgICAgICAgICAgICAgcmVndWxhcjogYGJvZHkgPiBk
aXYgPiBkaXYuZGVlcC1wYXRoLXRlc3QgPiB1bCA+IGxpID4gZGl2Om50aC1jaGlsZCg0KSA+IHVs
ID4gbGkuYWN0aXZlID4gYSA+IHNtYWxsYCwKKyAgICAgICAgICAgICAgICBmdWxsOiBgaHRtbCA+
IGJvZHlbb25sb2FkPSJydW5UZXN0KCkiXSA+IGRpdltzdHlsZT0idmlzaWJpbGl0eTpoaWRkZW4i
XSA+IGRpdi5kZWVwLXBhdGgtdGVzdCA+IHVsID4gbGkgPiBkaXY6bnRoLWNoaWxkKDQpID4gdWwu
bGlzdCA+IGxpLmFjdGl2ZSA+IGFbaHJlZj0iIyJdID4gc21hbGxgLAogICAgICAgICAgICAgfSk7
CiAgICAgICAgIH0KICAgICB9KTsKQEAgLTEyNiwxNSArMTUxLDIxIEBAIGZ1bmN0aW9uIHRlc3Qo
KQogICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKICAgICAgICAgbmFtZTogIldJLmNzc1BhdGguUHNl
dWRvRWxlbWVudCIsCiAgICAgICAgIGRlc2NyaXB0aW9uOiAiRm9yIGEgcHNldWRvIGVsZW1lbnQg
d2Ugc2hvdWxkIGdldCB0aGUgcGF0aCBvZiB0aGUgcGFyZW50IGFuZCBhcHBlbmQgdGhlIHBzZXVk
byBlbGVtZW50IHNlbGVjdG9yLiIsCi0gICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7Ci0g
ICAgICAgICAgICBub2RlRm9yU2VsZWN0b3IoIiNwc2V1ZG8tZWxlbWVudC10ZXN0ID4gZGl2IH4g
ZGl2IiwgKG5vZGUpID0+IHsKLSAgICAgICAgICAgICAgICBsZXQgcHNldWRvRWxlbWVudEJlZm9y
ZSA9IG5vZGUuYmVmb3JlUHNldWRvRWxlbWVudCgpOwotICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QuYXNzZXJ0KHBzZXVkb0VsZW1lbnRCZWZvcmUpOwotICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuZXhwZWN0RXF1YWwoV0kuY3NzUGF0aChwc2V1ZG9FbGVtZW50QmVmb3JlKSwgIiNw
c2V1ZG8tZWxlbWVudC10ZXN0ID4gZGl2Om50aC1jaGlsZCgzKTo6YmVmb3JlIiwgIlNob3VsZCBi
ZSBhYmxlIHRvIGNyZWF0ZSBwYXRoIGZvciA6OmJlZm9yZSBwc2V1ZG8gZWxlbWVudHMuIik7Ci0g
ICAgICAgICAgICAgICAgbGV0IHBzZXVkb0VsZW1lbnRBZnRlciA9IG5vZGUuYWZ0ZXJQc2V1ZG9F
bGVtZW50KCk7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnQocHNldWRvRWxl
bWVudEFmdGVyKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKFdJ
LmNzc1BhdGgocHNldWRvRWxlbWVudEFmdGVyKSwgIiNwc2V1ZG8tZWxlbWVudC10ZXN0ID4gZGl2
Om50aC1jaGlsZCgzKTo6YWZ0ZXIiLCAiU2hvdWxkIGJlIGFibGUgdG8gY3JlYXRlIHBhdGggZm9y
IDo6YWZ0ZXIgcHNldWRvIGVsZW1lbnRzLiIpOwotICAgICAgICAgICAgICAgIHJlc29sdmUoKTsK
KyAgICAgICAgYXN5bmMgdGVzdCgpIHsKKyAgICAgICAgICAgIGxldCBkaXYgPSBhd2FpdCBub2Rl
Rm9yU2VsZWN0b3IoIiNwc2V1ZG8tZWxlbWVudC10ZXN0ID4gZGl2IH4gZGl2Iik7CisKKyAgICAg
ICAgICAgIGxldCBwc2V1ZG9FbGVtZW50QmVmb3JlID0gZGl2LmJlZm9yZVBzZXVkb0VsZW1lbnQo
KTsKKyAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KHBzZXVkb0VsZW1lbnRCZWZvcmUp
OworICAgICAgICAgICAgdGVzdE5vZGVNYXRjaGVzUGF0aChwc2V1ZG9FbGVtZW50QmVmb3JlLCAi
U2hvdWxkIGJlIGFibGUgdG8gY3JlYXRlIHBhdGggZm9yIDo6YmVmb3JlIHBzZXVkbyBlbGVtZW50
cy4iLCB7CisgICAgICAgICAgICAgICAgcmVndWxhcjogYCNwc2V1ZG8tZWxlbWVudC10ZXN0ID4g
ZGl2Om50aC1jaGlsZCgzKTo6YmVmb3JlYCwKKyAgICAgICAgICAgICAgICBmdWxsOiBgaHRtbCA+
IGJvZHlbb25sb2FkPSJydW5UZXN0KCkiXSA+IGRpdltzdHlsZT0idmlzaWJpbGl0eTpoaWRkZW4i
XSA+IGRpdiNwc2V1ZG8tZWxlbWVudC10ZXN0ID4gZGl2Om50aC1jaGlsZCgzKTo6YmVmb3JlYCwK
KyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICBsZXQgcHNldWRvRWxlbWVudEFmdGVyID0g
ZGl2LmFmdGVyUHNldWRvRWxlbWVudCgpOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3Nl
cnQocHNldWRvRWxlbWVudEFmdGVyKTsKKyAgICAgICAgICAgIHRlc3ROb2RlTWF0Y2hlc1BhdGgo
cHNldWRvRWxlbWVudEFmdGVyLCAiU2hvdWxkIGJlIGFibGUgdG8gY3JlYXRlIHBhdGggZm9yIDo6
YWZ0ZXIgcHNldWRvIGVsZW1lbnRzLiIsIHsKKyAgICAgICAgICAgICAgICByZWd1bGFyOiBgI3Bz
ZXVkby1lbGVtZW50LXRlc3QgPiBkaXY6bnRoLWNoaWxkKDMpOjphZnRlcmAsCisgICAgICAgICAg
ICAgICAgZnVsbDogYGh0bWwgPiBib2R5W29ubG9hZD0icnVuVGVzdCgpIl0gPiBkaXZbc3R5bGU9
InZpc2liaWxpdHk6aGlkZGVuIl0gPiBkaXYjcHNldWRvLWVsZW1lbnQtdGVzdCA+IGRpdjpudGgt
Y2hpbGQoMyk6OmFmdGVyYCwKICAgICAgICAgICAgIH0pOwogICAgICAgICB9CiAgICAgfSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>