<?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>154271</bug_id>
          
          <creation_ts>2016-02-15 17:15:18 -0800</creation_ts>
          <short_desc>run-webkit-httpd should use webkitpy to run httpd.</short_desc>
          <delta_ts>2016-02-19 18:35:33 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>154294</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>achristensen</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>glenn</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1164979</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-02-15 17:15:18 -0800</bug_when>
    <thetext>run-webkit-httpd should use webkitpy to run httpd.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164981</commentid>
    <comment_count>1</comment_count>
      <attachid>271395</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-02-15 17:17:33 -0800</bug_when>
    <thetext>Created attachment 271395
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165014</commentid>
    <comment_count>2</comment_count>
      <attachid>271395</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-02-15 19:04:28 -0800</bug_when>
    <thetext>Comment on attachment 271395
Patch

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

&gt; Tools/ChangeLog:3
&gt; +        run-webkit-httpd should use webkitpy to run httpd.

Will we still be getting a standard output log with this? It is quite helpful for debugging.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165039</commentid>
    <comment_count>3</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-02-15 21:19:08 -0800</bug_when>
    <thetext>In my testing, we still were getting access and error logs to stdout.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165040</commentid>
    <comment_count>4</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-02-15 21:23:53 -0800</bug_when>
    <thetext>And now that I try it on another machine, it doesn&apos;t print to stdout. I&apos;ll add that to the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165061</commentid>
    <comment_count>5</comment_count>
      <attachid>271419</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-02-15 22:52:52 -0800</bug_when>
    <thetext>Created attachment 271419
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165141</commentid>
    <comment_count>6</comment_count>
      <attachid>271419</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-02-16 09:15:23 -0800</bug_when>
    <thetext>Comment on attachment 271419
Patch

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

Should new-run-webkit-httpd be deleted? If bug 95256 is to be trusted, it should have been deleted as soon as chromium forked.

&gt; Tools/Scripts/run-webkit-httpd:70
&gt; +        # FIXME: is this the best way to handle unsupported port names?

This comment is not clear to me. What are the downsides, and what are the alternatives?

&gt; Tools/Scripts/run-webkit-httpd:78
&gt; +    http_port = options.http_port if options.http_port is not None else &quot;8000&quot;
&gt; +    if options.http_all_interfaces is not None:
&gt; +        print &quot;Starting httpd on port %s (all interfaces)&quot; % http_port
&gt; +    else:
&gt; +        print &quot;Starting httpd on &lt;http://127.0.0.1:%s&gt;&quot; % http_port

I don&apos;t think that this is accurate any more - when there is no explicitly specified port, we seem to listen on 8000, 8080 and 8443 (which is a good thing, as we can finally debug https tests with run-webkit-httpd).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165177</commentid>
    <comment_count>7</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-02-16 10:52:56 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Comment on attachment 271419 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=271419&amp;action=review
&gt; 
&gt; Should new-run-webkit-httpd be deleted? If bug 95256 is to be trusted, it
&gt; should have been deleted as soon as chromium forked.

I had no idea that was a thing.  Probably?

&gt; &gt; Tools/Scripts/run-webkit-httpd:70
&gt; &gt; +        # FIXME: is this the best way to handle unsupported port names?
&gt; 
&gt; This comment is not clear to me. What are the downsides, and what are the
&gt; alternatives?

Copypasta from run-webkit-tests. Perhaps we should just use the default port, and not provide an option to run as another port.

&gt; &gt; Tools/Scripts/run-webkit-httpd:78
&gt; &gt; +    http_port = options.http_port if options.http_port is not None else &quot;8000&quot;
&gt; &gt; +    if options.http_all_interfaces is not None:
&gt; &gt; +        print &quot;Starting httpd on port %s (all interfaces)&quot; % http_port
&gt; &gt; +    else:
&gt; &gt; +        print &quot;Starting httpd on &lt;http://127.0.0.1:%s&gt;&quot; % http_port
&gt; 
&gt; I don&apos;t think that this is accurate any more - when there is no explicitly
&gt; specified port, we seem to listen on 8000, 8080 and 8443 (which is a good
&gt; thing, as we can finally debug https tests with run-webkit-httpd).

That&apos;s true, but there&apos;s no current mechanism to report back from the web server what interfaces and ports are currently bound.  And for the option to bind to all interfaces, there may not be any possible mechanism for that.

So, I&apos;ll add a fixme and a bug to improve the reporting about what ports the server is reachable at.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165215</commentid>
    <comment_count>8</comment_count>
      <attachid>271456</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-02-16 11:24:58 -0800</bug_when>
    <thetext>Created attachment 271456
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166188</commentid>
    <comment_count>9</comment_count>
      <attachid>271456</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-18 14:31:47 -0800</bug_when>
    <thetext>Comment on attachment 271456
Patch for landing

Clearing flags on attachment: 271456

Committed r196778: &lt;http://trac.webkit.org/changeset/196778&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271395</attachid>
            <date>2016-02-15 17:17:33 -0800</date>
            <delta_ts>2016-02-15 22:52:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-154271-20160215171713.patch</filename>
            <type>text/plain</type>
            <size>10383</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2NjAzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMmM5OWVlOTM4ODYwMjhhNWZkZDJmMDBmN2Y0YWY4ZmMy
ZjM1N2I4Mi4uMTVhNDJkYWIwYTUzZTUzN2ExODI4ZTZlNTlkZTRiNWZkZmVjMGIzNSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
IEBACisyMDE2LTAyLTE1ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAg
ICAgIHJ1bi13ZWJraXQtaHR0cGQgc2hvdWxkIHVzZSB3ZWJraXRweSB0byBydW4gaHR0cGQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQyNzEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgcnVu
LXdlYmtpdC1odHRwZCB0byB1c2Ugd2Via2l0cHkucG9ydCB0byBsYXVuY2ggaHR0cGQuIFBhc3Mg
b24gaHR0cF9wb3J0IGFuZCBodHRwX2FsbF9pbnRlcmZhY2UKKyAgICAgICAgb3B0aW9ucyB0byBt
YXRjaCB0aGUgY3VycmVudCBydW4td2Via2l0LWh0dHBkIChvcHRpb25hbCkgYmVoYXZpb3IuCisK
KyAgICAgICAgKiBTY3JpcHRzL3J1bi13ZWJraXQtaHR0cGQ6CisgICAgICAgIChwYXJzZV9hcmdz
KToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3NlcnZlcnMvYXBhY2hlX2h0dHBfc2VydmVyLnB5OgorICAgICAgICAoTGF5b3V0VGVzdEFw
YWNoZUh0dHBkLl9faW5pdF9fKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9zZXJ2ZXJzL2h0dHBfc2VydmVyLnB5OgorICAgICAgICAoTGlnaHR0cGQuX3ByZXBhcmVf
Y29uZmlnKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weToKKyAgICAg
ICAgKFBvcnQudG8uc3RhcnRfaHR0cF9zZXJ2ZXIpOgorCiAyMDE2LTAyLTE1ICBDc2FiYSBPc3p0
cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW0VGTF0gVXBkYXRlIFRvb2xz
L2VmbC9pbnN0YWxsLWRlcGVuZGVuY2llcwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9ydW4t
d2Via2l0LWh0dHBkIGIvVG9vbHMvU2NyaXB0cy9ydW4td2Via2l0LWh0dHBkCmluZGV4IGNlYjU0
MzgwNzk5NjBhYTdhOTRkNjI5ZjUxMDZjMTJjMjZlZmU1MTIuLjYyMzQ0YTAyNjMyY2VhODBjM2Zm
ZTc4NTQ2NjU0MzA4NjZlMTJmMDMgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmtp
dC1odHRwZAorKysgYi9Ub29scy9TY3JpcHRzL3J1bi13ZWJraXQtaHR0cGQKQEAgLTEsNCArMSw0
IEBACi0jIS91c3IvYmluL3BlcmwKKyMhL3Vzci9iaW4vcHl0aG9uCiAKICMgQ29weXJpZ2h0IChD
KSAyMDA1LCAyMDA2LCAyMDA3LCAyMDE1IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAjIENvcHlyaWdodCAoQykgMjAwNiBBbGV4ZXkgUHJvc2t1cnlha292IChhcEBueXBvcC5jb20p
CkBAIC0yOCw3MyArMjgsNTYgQEAKICMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCiAjIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKLSMg
U2NyaXB0IHRvIHJ1biBBcGFjaGUgd2l0aCB0aGUgc2FtZSBjb25maWd1cmF0aW9uIGFzIHVzZWQg
aW4gaHR0cCBsYXlvdXQgdGVzdHMuCitpbXBvcnQgc3lzCitpbXBvcnQgb3B0cGFyc2UKK2ltcG9y
dCB0aW1lCiAKLXVzZSBzdHJpY3Q7Ci11c2Ugd2FybmluZ3M7Citmcm9tIHdlYmtpdHB5LmNvbW1v
bi5ob3N0IGltcG9ydCBIb3N0Citmcm9tIHdlYmtpdHB5LnBvcnQgaW1wb3J0IHBsYXRmb3JtX29w
dGlvbnMKIAotdXNlIEN3ZDsKLXVzZSBGaWxlOjpQYXRoOwotdXNlIEZpbGU6OkJhc2VuYW1lOwot
dXNlIEdldG9wdDo6TG9uZzsKLXVzZSBGaW5kQmluOworZGVmIHBhcnNlX2FyZ3MoYXJncyk6Cisg
ICAgb3B0aW9uX2dyb3VwX2RlZmluaXRpb25zID0gW10KIAotdXNlIGxpYiAkRmluZEJpbjo6Qmlu
OwotdXNlIHdlYmtpdHBlcmw6Omh0dHBkOwotdXNlIHdlYmtpdGRpcnM7CisgICAgb3B0aW9uX2dy
b3VwX2RlZmluaXRpb25zLmFwcGVuZCgoIlBsYXRmb3JtIG9wdGlvbnMiLCBwbGF0Zm9ybV9vcHRp
b25zKCkpKQogCi0jIEZJWE1FOiBEeW5hbWljIEhUVFAtcG9ydCBjb25maWd1cmF0aW9uIGluIHRo
aXMgZmlsZSBpcyB3cm9uZy4gIFRoZSB2YXJpb3VzCi0jIGFwYWNoZSBjb25maWcgZmlsZXMgaW4g
TGF5b3V0VGVzdHMvaHR0cC9jb25maWcgZ292ZXJuIHRoZSBwb3J0IG51bWJlcnMuCi0jIER5bmFt
aWMgY29uZmlndXJhdGlvbiBhcy13cml0dGVuIHdpbGwgYWxzbyBjYXVzZSByYW5kb20gZmFpbHVy
ZXMgaW4KLSMgYW4gSVB2NiBlbnZpcm9ubWVudC4gIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzcxMDQuCi0jIEFyZ3VtZW50IGhhbmRsaW5nCi1teSAkaHR0cGRQ
b3J0ID0gODAwMDsKLW15ICRhbGxJbnRlcmZhY2VzID0gMDsKLW15ICRzaG93SGVscDsKKyAgICBv
cHRpb25fZ3JvdXBfZGVmaW5pdGlvbnMuYXBwZW5kKCgiUnVudGltZSBvcHRpb25zIiwgWworICAg
ICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLWEiLCAiLS1hbGwtaW50ZXJmYWNlcyIsIGhlbHA9
IkJpbmQgdG8gYWxsIGludGVyZmFjZXMiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZXN0PSJodHRw
X2FsbF9pbnRlcmZhY2VzIiksCisgICAgICAgIG9wdHBhcnNlLm1ha2Vfb3B0aW9uKCItcCIsICIt
LXBvcnQiLCBoZWxwPSJCaW5kIHRvIHBvcnQgTk5OTiIsIGFjdGlvbj0ic3RvcmUiLCB0eXBlPSJp
bnQiLCBkZXN0PSJodHRwX3BvcnQiKSwKKyAgICBdKSkKIAotbXkgJHJlc3VsdCA9IEdldE9wdGlv
bnMoCi0gICAgJ2FsbC1pbnRlcmZhY2VzfGEnID0+IFwkYWxsSW50ZXJmYWNlcywKLSAgICAnaGVs
cHxoJyA9PiBcJHNob3dIZWxwLAotICAgICdwb3J0PWknID0+IFwkaHR0cGRQb3J0LAotKTsKKyAg
ICBvcHRpb25fcGFyc2VyID0gb3B0cGFyc2UuT3B0aW9uUGFyc2VyKCkKIAotaWYgKCEkcmVzdWx0
IHx8IEBBUkdWIHx8ICRzaG93SGVscCkgewotICAgIHByaW50ICJVc2FnZTogIiAuIGJhc2VuYW1l
KCQwKSAuICIgW29wdGlvbnNdXG4iOwotICAgIHByaW50ICIgIC1hfC0tYWxsLWludGVyZmFjZXMg
IEJpbmQgdG8gYWxsIGludGVyZmFjZXNcbiI7Ci0gICAgcHJpbnQgIiAgLWh8LS1oZWxwICAgICAg
ICAgICAgU2hvdyB0aGlzIGhlbHAgbWVzc2FnZVxuIjsKLSAgICBwcmludCAiICAtcHwtLXBvcnQg
Tk5OTiAgICAgICBCaW5kIHRvIHBvcnQgTk5OTlxuIjsKLSAgICBleGl0IDE7Ci19CisgICAgZm9y
IGdyb3VwX25hbWUsIGdyb3VwX29wdGlvbnMgaW4gb3B0aW9uX2dyb3VwX2RlZmluaXRpb25zOgor
ICAgICAgICBvcHRpb25fZ3JvdXAgPSBvcHRwYXJzZS5PcHRpb25Hcm91cChvcHRpb25fcGFyc2Vy
LCBncm91cF9uYW1lKQorICAgICAgICBvcHRpb25fZ3JvdXAuYWRkX29wdGlvbnMoZ3JvdXBfb3B0
aW9ucykKKyAgICAgICAgb3B0aW9uX3BhcnNlci5hZGRfb3B0aW9uX2dyb3VwKG9wdGlvbl9ncm91
cCkKIAotc2V0Q29uZmlndXJhdGlvbigpOwotbXkgJHByb2R1Y3REaXIgPSBwcm9kdWN0RGlyKCk7
Ci1jaGRpcldlYktpdCgpOwotbXkgJHRlc3REaXJlY3RvcnkgPSBGaWxlOjpTcGVjLT5jYXRmaWxl
KGdldGN3ZCgpLCAiTGF5b3V0VGVzdHMiKTsKLW15ICRsaXN0ZW4gPSAiMTI3LjAuMC4xOiRodHRw
ZFBvcnQiOwotJGxpc3RlbiA9ICIkaHR0cGRQb3J0IiBpZiAoJGFsbEludGVyZmFjZXMpOworICAg
IHJldHVybiBvcHRpb25fcGFyc2VyLnBhcnNlX2FyZ3MoYXJncykKIAotaWYgKCRhbGxJbnRlcmZh
Y2VzKSB7Ci0gICAgcHJpbnQgIlN0YXJ0aW5nIGh0dHBkIG9uIHBvcnQgJGh0dHBkUG9ydCAoYWxs
IGludGVyZmFjZXMpLi4uXG4iOwotfSBlbHNlIHsKLSAgICBwcmludCAiU3RhcnRpbmcgaHR0cGQg
b24gPGh0dHA6Ly8kbGlzdGVuLz4uLi5cbiI7Ci19Ci1zZXRTaG91bGRXYWl0Rm9yVXNlckludGVy
cnVwdCgpOwotcHJpbnQgIlByZXNzIEN0cmwrQyB0byBzdG9wIGl0LlxuXG4iOworZGVmIG1haW4o
YXJndiwgc3Rkb3V0LCBzdGRlcnIpOgorICAgIG9wdGlvbnMsIGFyZ3MgPSBwYXJzZV9hcmdzKGFy
Z3YpCisgICAgaG9zdCA9IEhvc3QoKQogCi1teSBAYXJncyA9ICgKLSAgICAiLUMiLCAiTGlzdGVu
ICRsaXN0ZW4iLAotICAgICMgUnVuIGluIHNpbmdsZS1wcm9jZXNzIG1vZGUsIGRvIG5vdCBkZXRh
Y2ggZnJvbSB0aGUgY29udHJvbGxpbmcgdGVybWluYWwuCi0gICAgIi1YIiwKLSAgICAjIERpc2Fi
bGUgS2VlcC1BbGl2ZSBzdXBwb3J0LiBNYWtlcyB0ZXN0aW5nIGluIG11bHRpcGxlIGJyb3dzZXJz
IGVhc2llciAobm8gbmVlZCB0byB3YWl0Ci0gICAgIyBmb3IgYW5vdGhlciBicm93c2VyJ3MgY29u
bmVjdGlvbiB0byBleHBpcmUpLgotICAgICItYyIsICJLZWVwQWxpdmUgb2ZmIgotKTsKKyAgICB0
cnk6CisgICAgICAgIHBvcnQgPSBob3N0LnBvcnRfZmFjdG9yeS5nZXQob3B0aW9ucy5wbGF0Zm9y
bSwgb3B0aW9ucykKKyAgICBleGNlcHQgTm90SW1wbGVtZW50ZWRFcnJvciwgZToKKyAgICAgICAg
IyBGSVhNRTogaXMgdGhpcyB0aGUgYmVzdCB3YXkgdG8gaGFuZGxlIHVuc3VwcG9ydGVkIHBvcnQg
bmFtZXM/CisgICAgICAgIHByaW50ID4+IHN0ZGVyciwgc3RyKGUpCisgICAgICAgIHJldHVybiBF
WENFUFRJT05BTF9FWElUX1NUQVRVUwogCi1pZiAoIWlzQW55V2luZG93cygpKSB7Ci0gICAgcHVz
aChAYXJncywgIi1jIiwgIkN1c3RvbUxvZyB8L3Vzci9iaW4vdGVlIGNvbW1vbiIpOwotICAgIHB1
c2goQGFyZ3MsICItYyIsICJFcnJvckxvZyB8L3Vzci9iaW4vdGVlIik7Ci19CisgICAgaHR0cF9w
b3J0ID0gb3B0aW9ucy5odHRwX3BvcnQgaWYgb3B0aW9ucy5odHRwX3BvcnQgaXMgbm90IE5vbmUg
ZWxzZSAiODAwMCIKKyAgICBpZiBvcHRpb25zLmh0dHBfYWxsX2ludGVyZmFjZXMgaXMgbm90IE5v
bmU6CisgICAgICAgIHByaW50ICJTdGFydGluZyBodHRwZCBvbiBwb3J0ICVzIChhbGwgaW50ZXJm
YWNlcykiICUgaHR0cF9wb3J0CisgICAgZWxzZToKKyAgICAgICAgcHJpbnQgIlN0YXJ0aW5nIGh0
dHBkIG9uIDxodHRwOi8vMTI3LjAuMC4xOiVzPiIgJSBodHRwX3BvcnQKIAotbXkgQGRlZmF1bHRB
cmdzID0gZ2V0RGVmYXVsdENvbmZpZ0ZvclRlc3REaXJlY3RvcnkoJHRlc3REaXJlY3RvcnkpOwot
QGFyZ3MgPSAoQGRlZmF1bHRBcmdzLCBAYXJncyk7Ci1vcGVuSFRUUEQoQGFyZ3MpOworICAgIHBv
cnQuc3RhcnRfaHR0cF9zZXJ2ZXIoKQorCisgICAgdHJ5OgorICAgICAgICB3aGlsZSBUcnVlOgor
ICAgICAgICAgICAgdGltZS5zbGVlcCg2MCkKKyAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQ6
CisgICAgICAgIHBvcnQuc3RvcF9odHRwX3NlcnZlcigpCisKK2lmIF9fbmFtZV9fID09ICdfX21h
aW5fXyc6CisgICAgc3lzLmV4aXQobWFpbihzeXMuYXJndlsxOl0sIHN5cy5zdGRvdXQsIHN5cy5z
dGRlcnIpKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
c2VydmVycy9hcGFjaGVfaHR0cF9zZXJ2ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9zZXJ2ZXJzL2FwYWNoZV9odHRwX3NlcnZlci5weQppbmRleCBlYzlkNmYyYzkx
ZTE5NDE3ODg5ODZiYzhkNTE1Y2E3YmUwNzM3N2U5Li44OTczNTdhNzhjMjNiNTIzYTQ3YWFlZTk5
MTUyZmUxZWRlMGRhMTg5IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9zZXJ2ZXJzL2FwYWNoZV9odHRwX3NlcnZlci5weQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L2xheW91dF90ZXN0cy9zZXJ2ZXJzL2FwYWNoZV9odHRwX3NlcnZlci5weQpAQCAt
NDMsNyArNDMsNyBAQCBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiAKIAogY2xh
c3MgTGF5b3V0VGVzdEFwYWNoZUh0dHBkKGh0dHBfc2VydmVyX2Jhc2UuSHR0cFNlcnZlckJhc2Up
OgotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwb3J0X29iaiwgb3V0cHV0X2RpciwgYWRkaXRpb25h
bF9kaXJzPU5vbmUpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwb3J0X29iaiwgb3V0cHV0X2Rp
ciwgYWRkaXRpb25hbF9kaXJzPU5vbmUsIHBvcnQ9Tm9uZSk6CiAgICAgICAgICIiIkFyZ3M6CiAg
ICAgICAgICAgcG9ydF9vYmo6IGhhbmRsZSB0byB0aGUgcGxhdGZvcm0tc3BlY2lmaWMgcm91dGlu
ZXMKICAgICAgICAgICBvdXRwdXRfZGlyOiB0aGUgYWJzb2x1dGUgcGF0aCB0byB0aGUgbGF5b3V0
IHRlc3QgcmVzdWx0IGRpcmVjdG9yeQpAQCAtNTEsMTAgKzUxLDE1IEBAIGNsYXNzIExheW91dFRl
c3RBcGFjaGVIdHRwZChodHRwX3NlcnZlcl9iYXNlLkh0dHBTZXJ2ZXJCYXNlKToKICAgICAgICAg
aHR0cF9zZXJ2ZXJfYmFzZS5IdHRwU2VydmVyQmFzZS5fX2luaXRfXyhzZWxmLCBwb3J0X29iaikK
ICAgICAgICAgIyBXZSB1c2UgdGhlIG5hbWUgImh0dHBkIiBpbnN0ZWFkIG9mICJhcGFjaGUiIHRv
IG1ha2Ugb3VyIHBhdGhzIChlLmcuIHRoZSBwaWQgZmlsZTogL3RtcC9XZWJLaXQvaHR0cGQucGlk
KQogICAgICAgICAjIG1hdGNoIG9sZC1ydW4td2Via2l0LXRlc3RzOiBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5NTYKKwogICAgICAgICBzZWxmLl9uYW1lID0gJ2h0
dHBkJwotICAgICAgICBzZWxmLl9tYXBwaW5ncyA9IFt7J3BvcnQnOiA4MDAwfSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgeydwb3J0JzogODA4MH0sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIHsncG9ydCc6IDg0NDMsICdzc2xjZXJ0JzogVHJ1ZX1dCisgICAgICAgIHNlbGYuX3BvcnQg
PSBwb3J0CisgICAgICAgIGlmIHNlbGYuX3BvcnQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBz
ZWxmLl9tYXBwaW5ncyA9IFt7J3BvcnQnOiBzZWxmLl9wb3J0fV0KKyAgICAgICAgZWxzZToKKyAg
ICAgICAgICAgIHNlbGYuX21hcHBpbmdzID0gW3sncG9ydCc6IDgwMDB9LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgeydwb3J0JzogODA4MH0sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB7J3BvcnQnOiA4NDQzLCAnc3NsY2VydCc6IFRydWV9XQogICAgICAgICBzZWxmLl9v
dXRwdXRfZGlyID0gb3V0cHV0X2RpcgogICAgICAgICBzZWxmLl9maWxlc3lzdGVtLm1heWJlX21h
a2VfZGlyZWN0b3J5KG91dHB1dF9kaXIpCiAKQEAgLTExMCwxMCArMTE1LDEyIEBAIGNsYXNzIExh
eW91dFRlc3RBcGFjaGVIdHRwZChodHRwX3NlcnZlcl9iYXNlLkh0dHBTZXJ2ZXJCYXNlKToKICAg
ICAgICAgZXhjZXB0OgogICAgICAgICAgICAgZW5hYmxlX2lwdjYgPSBGYWxzZQogCisgICAgICAg
IGJpbmRfYWRkcmVzcyA9ICcnIGlmIHNlbGYuX3BvcnRfb2JqLmdldF9vcHRpb24oImh0dHBfYWxs
X2ludGVyZmFjZXMiKSBlbHNlICcxMjcuMC4wLjE6JworCiAgICAgICAgIGZvciBtYXBwaW5nIGlu
IHNlbGYuX21hcHBpbmdzOgogICAgICAgICAgICAgcG9ydCA9IG1hcHBpbmdbJ3BvcnQnXQogCi0g
ICAgICAgICAgICBzdGFydF9jbWQgKz0gWyctQycsICJcJ0xpc3RlbiAxMjcuMC4wLjE6JWRcJyIg
JSBwb3J0XQorICAgICAgICAgICAgc3RhcnRfY21kICs9IFsnLUMnLCAiXCdMaXN0ZW4gJXMlZFwn
IiAlIChiaW5kX2FkZHJlc3MsIHBvcnQpXQogCiAgICAgICAgICAgICAjIFdlIGxpc3RlbiB0byBi
b3RoIElQdjQgYW5kIElQdjYgbG9vcC1iYWNrIGFkZHJlc3NlcywgYnV0IGlnbm9yZQogICAgICAg
ICAgICAgIyByZXF1ZXN0cyB0byA4MDAwIGZyb20gcmFuZG9tIHVzZXJzIG9uIG5ldHdvcmsuCmRp
ZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9zZXJ2ZXJzL2h0
dHBfc2VydmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvc2VydmVy
cy9odHRwX3NlcnZlci5weQppbmRleCA0NDE5NDBiMGE2ZGE5MmI2MGMwMjU3OTcxZGFhMDZmMjQx
MDEzMTk2Li4zOTQyOGY4MDUxZDRiNTE0MDJiYzJhMDhlNjdkNjg0Y2JlY2EyZjAyIDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9zZXJ2ZXJzL2h0dHBfc2Vy
dmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMv
aHR0cF9zZXJ2ZXIucHkKQEAgLTE0OSwxNiArMTQ5LDE4IEBAIGNsYXNzIExpZ2h0dHBkKGh0dHBf
c2VydmVyX2Jhc2UuSHR0cFNlcnZlckJhc2UpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAnc3NsY2VydCc6IHNlbGYuX3BlbV9maWxlfV0KICAgICAgICAgZWxzZToKICAgICAgICAgICAg
IG1hcHBpbmdzID0gc2VsZi5WSVJUVUFMQ09ORklHCisKKyAgICAgICAgYmluZF9hZGRyZXNzID0g
JycgaWYgc2VsZi5fcG9ydF9vYmouZ2V0X29wdGlvbignaHR0cF9hbGxfYWRkcmVzc2VzJykgZWxz
ZSAnMTI3LjAuMC4xJwogICAgICAgICBmb3IgbWFwcGluZyBpbiBtYXBwaW5nczoKICAgICAgICAg
ICAgIHNzbF9zZXR1cCA9ICcnCiAgICAgICAgICAgICBpZiAnc3NsY2VydCcgaW4gbWFwcGluZzoK
ICAgICAgICAgICAgICAgICBzc2xfc2V0dXAgPSAoJyAgc3NsLmVuZ2luZSA9ICJlbmFibGUiXG4n
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgIHNzbC5wZW1maWxlID0gIiVzIlxuJyAl
IG1hcHBpbmdbJ3NzbGNlcnQnXSkKIAotICAgICAgICAgICAgZi53cml0ZSgoJyRTRVJWRVJbInNv
Y2tldCJdID09ICIxMjcuMC4wLjE6JWQiIHtcbicKKyAgICAgICAgICAgIGYud3JpdGUoKCckU0VS
VkVSWyJzb2NrZXQiXSA9PSAiJXM6JWQiIHtcbicKICAgICAgICAgICAgICAgICAgICAgICcgIHNl
cnZlci5kb2N1bWVudC1yb290ID0gIiVzIlxuJyArCiAgICAgICAgICAgICAgICAgICAgICBzc2xf
c2V0dXAgKwotICAgICAgICAgICAgICAgICAgICAgJ31cblxuJykgJSAobWFwcGluZ1sncG9ydCdd
LCBtYXBwaW5nWydkb2Nyb290J10pKQorICAgICAgICAgICAgICAgICAgICAgJ31cblxuJykgJSAo
YmluZF9hZGRyZXNzLCBtYXBwaW5nWydwb3J0J10sIG1hcHBpbmdbJ2RvY3Jvb3QnXSkpCiAgICAg
ICAgIGYuY2xvc2UoKQogCiAgICAgICAgIGV4ZWN1dGFibGUgPSBzZWxmLl9wb3J0X29iai5fcGF0
aF90b19saWdodHRwZCgpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQv
YmFzZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CmluZGV4IDcxNWY4
ZmQ0NGFlMDExYjc1YjUzNDI2M2E2YmVkOGY5YWVlZjZlMmEuLmMxY2JlMzg2NjMxOTYzMTE2MDdk
YTQ1N2JkY2NmY2Y1MWZlNjE2YWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cG9ydC9iYXNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CkBA
IC05MDUsMTEgKzkwNSwxMSBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAKICAgICAgICAgUG9ydHMg
Y2FuIHN0dWIgdGhpcyBvdXQgaWYgdGhleSBkb24ndCBuZWVkIGEgd2ViIHNlcnZlciB0byBiZSBy
dW5uaW5nLiIiIgogICAgICAgICBhc3NlcnQgbm90IHNlbGYuX2h0dHBfc2VydmVyLCAnQWxyZWFk
eSBydW5uaW5nIGFuIGh0dHAgc2VydmVyLicKLQorICAgICAgICBodHRwX3BvcnQgPSBzZWxmLmdl
dF9vcHRpb24oJ2h0dHBfcG9ydCcpCiAgICAgICAgIGlmIHNlbGYuX3VzZXNfYXBhY2hlKCk6Ci0g
ICAgICAgICAgICBzZXJ2ZXIgPSBhcGFjaGVfaHR0cF9zZXJ2ZXIuTGF5b3V0VGVzdEFwYWNoZUh0
dHBkKHNlbGYsIHNlbGYucmVzdWx0c19kaXJlY3RvcnkoKSwgYWRkaXRpb25hbF9kaXJzPWFkZGl0
aW9uYWxfZGlycykKKyAgICAgICAgICAgIHNlcnZlciA9IGFwYWNoZV9odHRwX3NlcnZlci5MYXlv
dXRUZXN0QXBhY2hlSHR0cGQoc2VsZiwgc2VsZi5yZXN1bHRzX2RpcmVjdG9yeSgpLCBhZGRpdGlv
bmFsX2RpcnM9YWRkaXRpb25hbF9kaXJzLCBwb3J0PWh0dHBfcG9ydCkKICAgICAgICAgZWxzZToK
LSAgICAgICAgICAgIHNlcnZlciA9IGh0dHBfc2VydmVyLkxpZ2h0dHBkKHNlbGYsIHNlbGYucmVz
dWx0c19kaXJlY3RvcnkoKSwgYWRkaXRpb25hbF9kaXJzPWFkZGl0aW9uYWxfZGlycykKKyAgICAg
ICAgICAgIHNlcnZlciA9IGh0dHBfc2VydmVyLkxpZ2h0dHBkKHNlbGYsIHNlbGYucmVzdWx0c19k
aXJlY3RvcnkoKSwgYWRkaXRpb25hbF9kaXJzPWFkZGl0aW9uYWxfZGlycywgcG9ydD1odHRwX3Bv
cnQpCiAKICAgICAgICAgc2VydmVyLnN0YXJ0KCkKICAgICAgICAgc2VsZi5faHR0cF9zZXJ2ZXIg
PSBzZXJ2ZXIK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271419</attachid>
            <date>2016-02-15 22:52:52 -0800</date>
            <delta_ts>2016-02-16 09:15:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-154271-20160215225230.patch</filename>
            <type>text/plain</type>
            <size>11866</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2MTMxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMjY3NmVkMzIyNzUxNWNiNTA4Mjg5MmJiYmI4OTlmOTU5
MGJlZmI5MS4uZjMzNTdjYTcxMDhhYjA2NmI1N2Y4MzU4YTZlYjk4MGJiZWZmMDRiMiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
IEBACisyMDE2LTAyLTE1ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAg
ICAgIHJ1bi13ZWJraXQtaHR0cGQgc2hvdWxkIHVzZSB3ZWJraXRweSB0byBydW4gaHR0cGQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQyNzEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgcnVu
LXdlYmtpdC1odHRwZCB0byB1c2Ugd2Via2l0cHkucG9ydCB0byBsYXVuY2ggaHR0cGQuIFBhc3Mg
b24gaHR0cF9wb3J0IGFuZCBodHRwX2FsbF9pbnRlcmZhY2UKKyAgICAgICAgb3B0aW9ucyB0byBt
YXRjaCB0aGUgY3VycmVudCBydW4td2Via2l0LWh0dHBkIChvcHRpb25hbCkgYmVoYXZpb3IuCisK
KyAgICAgICAgKiBTY3JpcHRzL3J1bi13ZWJraXQtaHR0cGQ6CisgICAgICAgIChwYXJzZV9hcmdz
KToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3NlcnZlcnMvYXBhY2hlX2h0dHBfc2VydmVyLnB5OgorICAgICAgICAoTGF5b3V0VGVzdEFw
YWNoZUh0dHBkLl9faW5pdF9fKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy9zZXJ2ZXJzL2h0dHBfc2VydmVyLnB5OgorICAgICAgICAoTGlnaHR0cGQuX3ByZXBhcmVf
Y29uZmlnKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weToKKyAgICAg
ICAgKFBvcnQudG8uc3RhcnRfaHR0cF9zZXJ2ZXIpOgorCiAyMDE2LTAyLTAxICBKZXIgTm9ibGUg
IDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJBdWRpb10gQWRkIGV4cGVyaW1l
bnRhbCBzdXBwb3J0IGZvciBhIHN0cmVhbWluZyBhdWRpbyBkZWNvZGVyLgpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy9ydW4td2Via2l0LWh0dHBkIGIvVG9vbHMvU2NyaXB0cy9ydW4td2Via2l0
LWh0dHBkCmluZGV4IGNlYjU0MzgwNzk5NjBhYTdhOTRkNjI5ZjUxMDZjMTJjMjZlZmU1MTIuLjBl
NGI5Mjg4MGYzZWU2OTM2NzM1MTE3Mjc4NWFiYjhjNGYxYzYzZTggMTAwNzU1Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvcnVuLXdlYmtpdC1odHRwZAorKysgYi9Ub29scy9TY3JpcHRzL3J1bi13ZWJraXQt
aHR0cGQKQEAgLTEsNCArMSw0IEBACi0jIS91c3IvYmluL3BlcmwKKyMhL3Vzci9iaW4vcHl0aG9u
CiAKICMgQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA2LCAyMDA3LCAyMDE1IEFwcGxlIEluYy4gIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdodCAoQykgMjAwNiBBbGV4ZXkgUHJvc2t1cnlh
a292IChhcEBueXBvcC5jb20pCkBAIC0yOCw3MyArMjgsNjMgQEAKICMgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
CiAjIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCiAKLSMgU2NyaXB0IHRvIHJ1biBBcGFjaGUgd2l0aCB0aGUgc2FtZSBjb25m
aWd1cmF0aW9uIGFzIHVzZWQgaW4gaHR0cCBsYXlvdXQgdGVzdHMuCi0KLXVzZSBzdHJpY3Q7Ci11
c2Ugd2FybmluZ3M7Ci0KLXVzZSBDd2Q7Ci11c2UgRmlsZTo6UGF0aDsKLXVzZSBGaWxlOjpCYXNl
bmFtZTsKLXVzZSBHZXRvcHQ6Okxvbmc7Ci11c2UgRmluZEJpbjsKLQotdXNlIGxpYiAkRmluZEJp
bjo6QmluOwotdXNlIHdlYmtpdHBlcmw6Omh0dHBkOwotdXNlIHdlYmtpdGRpcnM7Ci0KLSMgRklY
TUU6IER5bmFtaWMgSFRUUC1wb3J0IGNvbmZpZ3VyYXRpb24gaW4gdGhpcyBmaWxlIGlzIHdyb25n
LiAgVGhlIHZhcmlvdXMKLSMgYXBhY2hlIGNvbmZpZyBmaWxlcyBpbiBMYXlvdXRUZXN0cy9odHRw
L2NvbmZpZyBnb3Zlcm4gdGhlIHBvcnQgbnVtYmVycy4KLSMgRHluYW1pYyBjb25maWd1cmF0aW9u
IGFzLXdyaXR0ZW4gd2lsbCBhbHNvIGNhdXNlIHJhbmRvbSBmYWlsdXJlcyBpbgotIyBhbiBJUHY2
IGVudmlyb25tZW50LiAgU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zNzEwNC4KLSMgQXJndW1lbnQgaGFuZGxpbmcKLW15ICRodHRwZFBvcnQgPSA4MDAwOwotbXkg
JGFsbEludGVyZmFjZXMgPSAwOwotbXkgJHNob3dIZWxwOwotCi1teSAkcmVzdWx0ID0gR2V0T3B0
aW9ucygKLSAgICAnYWxsLWludGVyZmFjZXN8YScgPT4gXCRhbGxJbnRlcmZhY2VzLAotICAgICdo
ZWxwfGgnID0+IFwkc2hvd0hlbHAsCi0gICAgJ3BvcnQ9aScgPT4gXCRodHRwZFBvcnQsCi0pOwot
Ci1pZiAoISRyZXN1bHQgfHwgQEFSR1YgfHwgJHNob3dIZWxwKSB7Ci0gICAgcHJpbnQgIlVzYWdl
OiAiIC4gYmFzZW5hbWUoJDApIC4gIiBbb3B0aW9uc11cbiI7Ci0gICAgcHJpbnQgIiAgLWF8LS1h
bGwtaW50ZXJmYWNlcyAgQmluZCB0byBhbGwgaW50ZXJmYWNlc1xuIjsKLSAgICBwcmludCAiICAt
aHwtLWhlbHAgICAgICAgICAgICBTaG93IHRoaXMgaGVscCBtZXNzYWdlXG4iOwotICAgIHByaW50
ICIgIC1wfC0tcG9ydCBOTk5OICAgICAgIEJpbmQgdG8gcG9ydCBOTk5OXG4iOwotICAgIGV4aXQg
MTsKLX0KLQotc2V0Q29uZmlndXJhdGlvbigpOwotbXkgJHByb2R1Y3REaXIgPSBwcm9kdWN0RGly
KCk7Ci1jaGRpcldlYktpdCgpOwotbXkgJHRlc3REaXJlY3RvcnkgPSBGaWxlOjpTcGVjLT5jYXRm
aWxlKGdldGN3ZCgpLCAiTGF5b3V0VGVzdHMiKTsKLW15ICRsaXN0ZW4gPSAiMTI3LjAuMC4xOiRo
dHRwZFBvcnQiOwotJGxpc3RlbiA9ICIkaHR0cGRQb3J0IiBpZiAoJGFsbEludGVyZmFjZXMpOwot
Ci1pZiAoJGFsbEludGVyZmFjZXMpIHsKLSAgICBwcmludCAiU3RhcnRpbmcgaHR0cGQgb24gcG9y
dCAkaHR0cGRQb3J0IChhbGwgaW50ZXJmYWNlcykuLi5cbiI7Ci19IGVsc2UgewotICAgIHByaW50
ICJTdGFydGluZyBodHRwZCBvbiA8aHR0cDovLyRsaXN0ZW4vPi4uLlxuIjsKLX0KLXNldFNob3Vs
ZFdhaXRGb3JVc2VySW50ZXJydXB0KCk7Ci1wcmludCAiUHJlc3MgQ3RybCtDIHRvIHN0b3AgaXQu
XG5cbiI7Ci0KLW15IEBhcmdzID0gKAotICAgICItQyIsICJMaXN0ZW4gJGxpc3RlbiIsCi0gICAg
IyBSdW4gaW4gc2luZ2xlLXByb2Nlc3MgbW9kZSwgZG8gbm90IGRldGFjaCBmcm9tIHRoZSBjb250
cm9sbGluZyB0ZXJtaW5hbC4KLSAgICAiLVgiLAotICAgICMgRGlzYWJsZSBLZWVwLUFsaXZlIHN1
cHBvcnQuIE1ha2VzIHRlc3RpbmcgaW4gbXVsdGlwbGUgYnJvd3NlcnMgZWFzaWVyIChubyBuZWVk
IHRvIHdhaXQKLSAgICAjIGZvciBhbm90aGVyIGJyb3dzZXIncyBjb25uZWN0aW9uIHRvIGV4cGly
ZSkuCi0gICAgIi1jIiwgIktlZXBBbGl2ZSBvZmYiCi0pOwotCi1pZiAoIWlzQW55V2luZG93cygp
KSB7Ci0gICAgcHVzaChAYXJncywgIi1jIiwgIkN1c3RvbUxvZyB8L3Vzci9iaW4vdGVlIGNvbW1v
biIpOwotICAgIHB1c2goQGFyZ3MsICItYyIsICJFcnJvckxvZyB8L3Vzci9iaW4vdGVlIik7Ci19
Ci0KLW15IEBkZWZhdWx0QXJncyA9IGdldERlZmF1bHRDb25maWdGb3JUZXN0RGlyZWN0b3J5KCR0
ZXN0RGlyZWN0b3J5KTsKLUBhcmdzID0gKEBkZWZhdWx0QXJncywgQGFyZ3MpOwotb3BlbkhUVFBE
KEBhcmdzKTsKK2ltcG9ydCBvcHRwYXJzZQoraW1wb3J0IHN1YnByb2Nlc3MKK2ltcG9ydCBzeXMK
K2ltcG9ydCB0ZW1wZmlsZQoraW1wb3J0IHRpbWUKKworZnJvbSB3ZWJraXRweS5jb21tb24uaG9z
dCBpbXBvcnQgSG9zdAorZnJvbSB3ZWJraXRweS5wb3J0IGltcG9ydCBwbGF0Zm9ybV9vcHRpb25z
CisKK2RlZiBwYXJzZV9hcmdzKGFyZ3MpOgorICAgIG9wdGlvbl9ncm91cF9kZWZpbml0aW9ucyA9
IFtdCisKKyAgICBvcHRpb25fZ3JvdXBfZGVmaW5pdGlvbnMuYXBwZW5kKCgiUGxhdGZvcm0gb3B0
aW9ucyIsIHBsYXRmb3JtX29wdGlvbnMoKSkpCisKKyAgICBvcHRpb25fZ3JvdXBfZGVmaW5pdGlv
bnMuYXBwZW5kKCgiUnVudGltZSBvcHRpb25zIiwgWworICAgICAgICBvcHRwYXJzZS5tYWtlX29w
dGlvbigiLWEiLCAiLS1hbGwtaW50ZXJmYWNlcyIsIGhlbHA9IkJpbmQgdG8gYWxsIGludGVyZmFj
ZXMiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZXN0PSJodHRwX2FsbF9pbnRlcmZhY2VzIiksCisg
ICAgICAgIG9wdHBhcnNlLm1ha2Vfb3B0aW9uKCItcCIsICItLXBvcnQiLCBoZWxwPSJCaW5kIHRv
IHBvcnQgTk5OTiIsIGFjdGlvbj0ic3RvcmUiLCB0eXBlPSJpbnQiLCBkZXN0PSJodHRwX3BvcnQi
KSwKKyAgICBdKSkKKworICAgIG9wdGlvbl9wYXJzZXIgPSBvcHRwYXJzZS5PcHRpb25QYXJzZXIo
KQorCisgICAgZm9yIGdyb3VwX25hbWUsIGdyb3VwX29wdGlvbnMgaW4gb3B0aW9uX2dyb3VwX2Rl
ZmluaXRpb25zOgorICAgICAgICBvcHRpb25fZ3JvdXAgPSBvcHRwYXJzZS5PcHRpb25Hcm91cChv
cHRpb25fcGFyc2VyLCBncm91cF9uYW1lKQorICAgICAgICBvcHRpb25fZ3JvdXAuYWRkX29wdGlv
bnMoZ3JvdXBfb3B0aW9ucykKKyAgICAgICAgb3B0aW9uX3BhcnNlci5hZGRfb3B0aW9uX2dyb3Vw
KG9wdGlvbl9ncm91cCkKKworICAgIHJldHVybiBvcHRpb25fcGFyc2VyLnBhcnNlX2FyZ3MoYXJn
cykKKworZGVmIG1haW4oYXJndiwgc3Rkb3V0LCBzdGRlcnIpOgorICAgIG9wdGlvbnMsIGFyZ3Mg
PSBwYXJzZV9hcmdzKGFyZ3YpCisgICAgaG9zdCA9IEhvc3QoKQorCisgICAgbG9nX2ZpbGUgPSB0
ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUoKTsKKyAgICBvcHRpb25zLmh0dHBfYWNjZXNzX2xv
ZyA9IGxvZ19maWxlLm5hbWU7CisgICAgb3B0aW9ucy5odHRwX2Vycm9yX2xvZyA9IGxvZ19maWxl
Lm5hbWU7CisKKyAgICB0cnk6CisgICAgICAgIHBvcnQgPSBob3N0LnBvcnRfZmFjdG9yeS5nZXQo
b3B0aW9ucy5wbGF0Zm9ybSwgb3B0aW9ucykKKyAgICBleGNlcHQgTm90SW1wbGVtZW50ZWRFcnJv
ciwgZToKKyAgICAgICAgIyBGSVhNRTogaXMgdGhpcyB0aGUgYmVzdCB3YXkgdG8gaGFuZGxlIHVu
c3VwcG9ydGVkIHBvcnQgbmFtZXM/CisgICAgICAgIHByaW50ID4+IHN0ZGVyciwgc3RyKGUpCisg
ICAgICAgIHJldHVybiBFWENFUFRJT05BTF9FWElUX1NUQVRVUworCisgICAgaHR0cF9wb3J0ID0g
b3B0aW9ucy5odHRwX3BvcnQgaWYgb3B0aW9ucy5odHRwX3BvcnQgaXMgbm90IE5vbmUgZWxzZSAi
ODAwMCIKKyAgICBpZiBvcHRpb25zLmh0dHBfYWxsX2ludGVyZmFjZXMgaXMgbm90IE5vbmU6Cisg
ICAgICAgIHByaW50ICJTdGFydGluZyBodHRwZCBvbiBwb3J0ICVzIChhbGwgaW50ZXJmYWNlcyki
ICUgaHR0cF9wb3J0CisgICAgZWxzZToKKyAgICAgICAgcHJpbnQgIlN0YXJ0aW5nIGh0dHBkIG9u
IDxodHRwOi8vMTI3LjAuMC4xOiVzPiIgJSBodHRwX3BvcnQKKworICAgIHBvcnQuc3RhcnRfaHR0
cF9zZXJ2ZXIoKQorCisgICAgdHJ5OgorICAgICAgICB0YWlsID0gc3VicHJvY2Vzcy5Qb3Blbihb
J3RhaWwnLCAnLUYnLCBsb2dfZmlsZS5uYW1lXSwgc3Rkb3V0PXN1YnByb2Nlc3MuUElQRSkKKyAg
ICAgICAgd2hpbGUgVHJ1ZToKKyAgICAgICAgICAgIHN5cy5zdGRvdXQud3JpdGUodGFpbC5zdGRv
dXQucmVhZGxpbmUoKSkKKyAgICBleGNlcHQgS2V5Ym9hcmRJbnRlcnJ1cHQ6CisgICAgICAgIHBv
cnQuc3RvcF9odHRwX3NlcnZlcigpCisKK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CisgICAg
c3lzLmV4aXQobWFpbihzeXMuYXJndlsxOl0sIHN5cy5zdGRvdXQsIHN5cy5zdGRlcnIpKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy9hcGFj
aGVfaHR0cF9zZXJ2ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9z
ZXJ2ZXJzL2FwYWNoZV9odHRwX3NlcnZlci5weQppbmRleCBlYzlkNmYyYzkxZTE5NDE3ODg5ODZi
YzhkNTE1Y2E3YmUwNzM3N2U5Li5mMTQ4YmQyMjIzMGFkNzdkZDAyZDE4N2QxODg3OGI0MTQ4OWRl
YzNkIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9zZXJ2
ZXJzL2FwYWNoZV9odHRwX3NlcnZlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy9zZXJ2ZXJzL2FwYWNoZV9odHRwX3NlcnZlci5weQpAQCAtNDMsNyArNDMsNyBA
QCBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiAKIAogY2xhc3MgTGF5b3V0VGVz
dEFwYWNoZUh0dHBkKGh0dHBfc2VydmVyX2Jhc2UuSHR0cFNlcnZlckJhc2UpOgotICAgIGRlZiBf
X2luaXRfXyhzZWxmLCBwb3J0X29iaiwgb3V0cHV0X2RpciwgYWRkaXRpb25hbF9kaXJzPU5vbmUp
OgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwb3J0X29iaiwgb3V0cHV0X2RpciwgYWRkaXRpb25h
bF9kaXJzPU5vbmUsIHBvcnQ9Tm9uZSk6CiAgICAgICAgICIiIkFyZ3M6CiAgICAgICAgICAgcG9y
dF9vYmo6IGhhbmRsZSB0byB0aGUgcGxhdGZvcm0tc3BlY2lmaWMgcm91dGluZXMKICAgICAgICAg
ICBvdXRwdXRfZGlyOiB0aGUgYWJzb2x1dGUgcGF0aCB0byB0aGUgbGF5b3V0IHRlc3QgcmVzdWx0
IGRpcmVjdG9yeQpAQCAtNTEsMTAgKzUxLDE1IEBAIGNsYXNzIExheW91dFRlc3RBcGFjaGVIdHRw
ZChodHRwX3NlcnZlcl9iYXNlLkh0dHBTZXJ2ZXJCYXNlKToKICAgICAgICAgaHR0cF9zZXJ2ZXJf
YmFzZS5IdHRwU2VydmVyQmFzZS5fX2luaXRfXyhzZWxmLCBwb3J0X29iaikKICAgICAgICAgIyBX
ZSB1c2UgdGhlIG5hbWUgImh0dHBkIiBpbnN0ZWFkIG9mICJhcGFjaGUiIHRvIG1ha2Ugb3VyIHBh
dGhzIChlLmcuIHRoZSBwaWQgZmlsZTogL3RtcC9XZWJLaXQvaHR0cGQucGlkKQogICAgICAgICAj
IG1hdGNoIG9sZC1ydW4td2Via2l0LXRlc3RzOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NjM5NTYKKwogICAgICAgICBzZWxmLl9uYW1lID0gJ2h0dHBkJwotICAgICAg
ICBzZWxmLl9tYXBwaW5ncyA9IFt7J3BvcnQnOiA4MDAwfSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgeydwb3J0JzogODA4MH0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHsncG9ydCc6
IDg0NDMsICdzc2xjZXJ0JzogVHJ1ZX1dCisgICAgICAgIHNlbGYuX3BvcnQgPSBwb3J0CisgICAg
ICAgIGlmIHNlbGYuX3BvcnQgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBzZWxmLl9tYXBwaW5n
cyA9IFt7J3BvcnQnOiBzZWxmLl9wb3J0fV0KKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNl
bGYuX21hcHBpbmdzID0gW3sncG9ydCc6IDgwMDB9LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgeydwb3J0JzogODA4MH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7J3Bv
cnQnOiA4NDQzLCAnc3NsY2VydCc6IFRydWV9XQogICAgICAgICBzZWxmLl9vdXRwdXRfZGlyID0g
b3V0cHV0X2RpcgogICAgICAgICBzZWxmLl9maWxlc3lzdGVtLm1heWJlX21ha2VfZGlyZWN0b3J5
KG91dHB1dF9kaXIpCiAKQEAgLTgwLDYgKzg1LDEyIEBAIGNsYXNzIExheW91dFRlc3RBcGFjaGVI
dHRwZChodHRwX3NlcnZlcl9iYXNlLkh0dHBTZXJ2ZXJCYXNlKToKICAgICAgICAgZXJyb3JfbG9n
ID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKG91dHB1dF9kaXIsICJlcnJvcl9sb2cudHh0IikKICAg
ICAgICAgZG9jdW1lbnRfcm9vdCA9IHNlbGYuX2ZpbGVzeXN0ZW0uam9pbih0ZXN0X2RpciwgImh0
dHAiLCAidGVzdHMiKQogCisgICAgICAgIGlmIHBvcnRfb2JqLmdldF9vcHRpb24oJ2h0dHBfYWNj
ZXNzX2xvZycpOgorICAgICAgICAgICAgYWNjZXNzX2xvZyA9IHBvcnRfb2JqLmdldF9vcHRpb24o
J2h0dHBfYWNjZXNzX2xvZycpCisKKyAgICAgICAgaWYgcG9ydF9vYmouZ2V0X29wdGlvbignaHR0
cF9lcnJvcl9sb2cnKToKKyAgICAgICAgICAgIGVycm9yX2xvZyA9IHBvcnRfb2JqLmdldF9vcHRp
b24oJ2h0dHBfZXJyb3JfbG9nJykKKwogICAgICAgICAjIEZJWE1FOiBXZSBzaG91bGRuJ3QgYmUg
Y2FsbGluZyBhIHByb3RlY3RlZCBtZXRob2Qgb2YgX3BvcnRfb2JqIQogICAgICAgICBleGVjdXRh
YmxlID0gc2VsZi5fcG9ydF9vYmouX3BhdGhfdG9fYXBhY2hlKCkKIApAQCAtMTEwLDEwICsxMjEs
MTIgQEAgY2xhc3MgTGF5b3V0VGVzdEFwYWNoZUh0dHBkKGh0dHBfc2VydmVyX2Jhc2UuSHR0cFNl
cnZlckJhc2UpOgogICAgICAgICBleGNlcHQ6CiAgICAgICAgICAgICBlbmFibGVfaXB2NiA9IEZh
bHNlCiAKKyAgICAgICAgYmluZF9hZGRyZXNzID0gJycgaWYgc2VsZi5fcG9ydF9vYmouZ2V0X29w
dGlvbigiaHR0cF9hbGxfaW50ZXJmYWNlcyIpIGVsc2UgJzEyNy4wLjAuMTonCisKICAgICAgICAg
Zm9yIG1hcHBpbmcgaW4gc2VsZi5fbWFwcGluZ3M6CiAgICAgICAgICAgICBwb3J0ID0gbWFwcGlu
Z1sncG9ydCddCiAKLSAgICAgICAgICAgIHN0YXJ0X2NtZCArPSBbJy1DJywgIlwnTGlzdGVuIDEy
Ny4wLjAuMTolZFwnIiAlIHBvcnRdCisgICAgICAgICAgICBzdGFydF9jbWQgKz0gWyctQycsICJc
J0xpc3RlbiAlcyVkXCciICUgKGJpbmRfYWRkcmVzcywgcG9ydCldCiAKICAgICAgICAgICAgICMg
V2UgbGlzdGVuIHRvIGJvdGggSVB2NCBhbmQgSVB2NiBsb29wLWJhY2sgYWRkcmVzc2VzLCBidXQg
aWdub3JlCiAgICAgICAgICAgICAjIHJlcXVlc3RzIHRvIDgwMDAgZnJvbSByYW5kb20gdXNlcnMg
b24gbmV0d29yay4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3NlcnZlcnMvaHR0cF9zZXJ2ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91
dF90ZXN0cy9zZXJ2ZXJzL2h0dHBfc2VydmVyLnB5CmluZGV4IDQ0MTk0MGIwYTZkYTkyYjYwYzAy
NTc5NzFkYWEwNmYyNDEwMTMxOTYuLmYyOTI2MGJlNWJiMjMwZjA4OTNhZGY0NTA5MmYyOTdjMDc5
MWY2YTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3Nl
cnZlcnMvaHR0cF9zZXJ2ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvc2VydmVycy9odHRwX3NlcnZlci5weQpAQCAtOTQsNiArOTQsMTIgQEAgY2xhc3MgTGln
aHR0cGQoaHR0cF9zZXJ2ZXJfYmFzZS5IdHRwU2VydmVyQmFzZSk6CiAgICAgICAgIGxvZ19maWxl
X25hbWUgPSAiZXJyb3IubG9nLSIgKyB0aW1lX3N0ciArICIudHh0IgogICAgICAgICBlcnJvcl9s
b2cgPSBvcy5wYXRoLmpvaW4oc2VsZi5fb3V0cHV0X2RpciwgbG9nX2ZpbGVfbmFtZSkKIAorICAg
ICAgICBpZiBzZWxmLl9wb3J0X29iai5nZXRfb3B0aW9uKCdodHRwX2FjY2Vzc19sb2cnKToKKyAg
ICAgICAgICAgIGFjY2Vzc19sb2cgPSBzZWxmLl9wb3J0X29iai5nZXRfb3B0aW9uKCdodHRwX2Fj
Y2Vzc19sb2cnKQorCisgICAgICAgIGlmIHNlbGYuX3BvcnRfb2JqLmdldF9vcHRpb24oJ2h0dHBf
ZXJyb3JfbG9nJyk6CisgICAgICAgICAgICBlcnJvcl9sb2cgPSBzZWxmLl9wb3J0X29iai5nZXRf
b3B0aW9uKCdodHRwX2Vycm9yX2xvZycpCisKICAgICAgICAgIyBXcml0ZSBvdXQgdGhlIGNvbmZp
ZwogICAgICAgICBiYXNlX2NvbmYgPSBzZWxmLl9maWxlc3lzdGVtLnJlYWRfdGV4dF9maWxlKGJh
c2VfY29uZl9maWxlKQogCkBAIC0xNDksMTYgKzE1NSwxOCBAQCBjbGFzcyBMaWdodHRwZChodHRw
X3NlcnZlcl9iYXNlLkh0dHBTZXJ2ZXJCYXNlKToKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJ3NzbGNlcnQnOiBzZWxmLl9wZW1fZmlsZX1dCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAg
ICBtYXBwaW5ncyA9IHNlbGYuVklSVFVBTENPTkZJRworCisgICAgICAgIGJpbmRfYWRkcmVzcyA9
ICcnIGlmIHNlbGYuX3BvcnRfb2JqLmdldF9vcHRpb24oJ2h0dHBfYWxsX2FkZHJlc3NlcycpIGVs
c2UgJzEyNy4wLjAuMScKICAgICAgICAgZm9yIG1hcHBpbmcgaW4gbWFwcGluZ3M6CiAgICAgICAg
ICAgICBzc2xfc2V0dXAgPSAnJwogICAgICAgICAgICAgaWYgJ3NzbGNlcnQnIGluIG1hcHBpbmc6
CiAgICAgICAgICAgICAgICAgc3NsX3NldHVwID0gKCcgIHNzbC5lbmdpbmUgPSAiZW5hYmxlIlxu
JwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnICBzc2wucGVtZmlsZSA9ICIlcyJcbicg
JSBtYXBwaW5nWydzc2xjZXJ0J10pCiAKLSAgICAgICAgICAgIGYud3JpdGUoKCckU0VSVkVSWyJz
b2NrZXQiXSA9PSAiMTI3LjAuMC4xOiVkIiB7XG4nCisgICAgICAgICAgICBmLndyaXRlKCgnJFNF
UlZFUlsic29ja2V0Il0gPT0gIiVzOiVkIiB7XG4nCiAgICAgICAgICAgICAgICAgICAgICAnICBz
ZXJ2ZXIuZG9jdW1lbnQtcm9vdCA9ICIlcyJcbicgKwogICAgICAgICAgICAgICAgICAgICAgc3Ns
X3NldHVwICsKLSAgICAgICAgICAgICAgICAgICAgICd9XG5cbicpICUgKG1hcHBpbmdbJ3BvcnQn
XSwgbWFwcGluZ1snZG9jcm9vdCddKSkKKyAgICAgICAgICAgICAgICAgICAgICd9XG5cbicpICUg
KGJpbmRfYWRkcmVzcywgbWFwcGluZ1sncG9ydCddLCBtYXBwaW5nWydkb2Nyb290J10pKQogICAg
ICAgICBmLmNsb3NlKCkKIAogICAgICAgICBleGVjdXRhYmxlID0gc2VsZi5fcG9ydF9vYmouX3Bh
dGhfdG9fbGlnaHR0cGQoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0
L2Jhc2UucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weQppbmRleCA3MTVm
OGZkNDRhZTAxMWI3NWI1MzQyNjNhNmJlZDhmOWFlZWY2ZTJhLi5jMWNiZTM4NjYzMTk2MzExNjA3
ZGE0NTdiZGNjZmNmNTFmZTYxNmFiIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3BvcnQvYmFzZS5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weQpA
QCAtOTA1LDExICs5MDUsMTEgQEAgY2xhc3MgUG9ydChvYmplY3QpOgogCiAgICAgICAgIFBvcnRz
IGNhbiBzdHViIHRoaXMgb3V0IGlmIHRoZXkgZG9uJ3QgbmVlZCBhIHdlYiBzZXJ2ZXIgdG8gYmUg
cnVubmluZy4iIiIKICAgICAgICAgYXNzZXJ0IG5vdCBzZWxmLl9odHRwX3NlcnZlciwgJ0FscmVh
ZHkgcnVubmluZyBhbiBodHRwIHNlcnZlci4nCi0KKyAgICAgICAgaHR0cF9wb3J0ID0gc2VsZi5n
ZXRfb3B0aW9uKCdodHRwX3BvcnQnKQogICAgICAgICBpZiBzZWxmLl91c2VzX2FwYWNoZSgpOgot
ICAgICAgICAgICAgc2VydmVyID0gYXBhY2hlX2h0dHBfc2VydmVyLkxheW91dFRlc3RBcGFjaGVI
dHRwZChzZWxmLCBzZWxmLnJlc3VsdHNfZGlyZWN0b3J5KCksIGFkZGl0aW9uYWxfZGlycz1hZGRp
dGlvbmFsX2RpcnMpCisgICAgICAgICAgICBzZXJ2ZXIgPSBhcGFjaGVfaHR0cF9zZXJ2ZXIuTGF5
b3V0VGVzdEFwYWNoZUh0dHBkKHNlbGYsIHNlbGYucmVzdWx0c19kaXJlY3RvcnkoKSwgYWRkaXRp
b25hbF9kaXJzPWFkZGl0aW9uYWxfZGlycywgcG9ydD1odHRwX3BvcnQpCiAgICAgICAgIGVsc2U6
Ci0gICAgICAgICAgICBzZXJ2ZXIgPSBodHRwX3NlcnZlci5MaWdodHRwZChzZWxmLCBzZWxmLnJl
c3VsdHNfZGlyZWN0b3J5KCksIGFkZGl0aW9uYWxfZGlycz1hZGRpdGlvbmFsX2RpcnMpCisgICAg
ICAgICAgICBzZXJ2ZXIgPSBodHRwX3NlcnZlci5MaWdodHRwZChzZWxmLCBzZWxmLnJlc3VsdHNf
ZGlyZWN0b3J5KCksIGFkZGl0aW9uYWxfZGlycz1hZGRpdGlvbmFsX2RpcnMsIHBvcnQ9aHR0cF9w
b3J0KQogCiAgICAgICAgIHNlcnZlci5zdGFydCgpCiAgICAgICAgIHNlbGYuX2h0dHBfc2VydmVy
ID0gc2VydmVyCg==
</data>
<flag name="review"
          id="296233"
          type_id="1"
          status="+"
          setter="ap"
    />
    <flag name="commit-queue"
          id="296244"
          type_id="3"
          status="-"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271456</attachid>
            <date>2016-02-16 11:24:58 -0800</date>
            <delta_ts>2016-02-18 14:31:47 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-154271-20160216112438.patch</filename>
            <type>text/plain</type>
            <size>11424</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2NjAzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMmM5OWVlOTM4ODYwMjhhNWZkZDJmMDBmN2Y0YWY4ZmMy
ZjM1N2I4Mi4uMjkyOGE1MzE2ODM4MjI0N2I1MzNjNGVmMmI0NDZlMTFkMTJhOTZlNyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
IEBACisyMDE2LTAyLTE2ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAg
ICAgIHJ1bi13ZWJraXQtaHR0cGQgc2hvdWxkIHVzZSB3ZWJraXRweSB0byBydW4gaHR0cGQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQyNzEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292LgorCisgICAgICAgIFVwZGF0
ZSBydW4td2Via2l0LWh0dHBkIHRvIHVzZSB3ZWJraXRweS5wb3J0IHRvIGxhdW5jaCBodHRwZC4g
UGFzcyBvbiBodHRwX3BvcnQgYW5kIGh0dHBfYWxsX2ludGVyZmFjZQorICAgICAgICBvcHRpb25z
IHRvIG1hdGNoIHRoZSBjdXJyZW50IHJ1bi13ZWJraXQtaHR0cGQgKG9wdGlvbmFsKSBiZWhhdmlv
ci4KKworICAgICAgICAqIFNjcmlwdHMvcnVuLXdlYmtpdC1odHRwZDoKKyAgICAgICAgKHBhcnNl
X2FyZ3MpOgorICAgICAgICAobWFpbik6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvc2VydmVycy9hcGFjaGVfaHR0cF9zZXJ2ZXIucHk6CisgICAgICAgIChMYXlvdXRU
ZXN0QXBhY2hlSHR0cGQuX19pbml0X18pOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3NlcnZlcnMvaHR0cF9zZXJ2ZXIucHk6CisgICAgICAgIChMaWdodHRwZC5fcHJl
cGFyZV9jb25maWcpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5Ogor
ICAgICAgICAoUG9ydC50by5zdGFydF9odHRwX3NlcnZlcik6CisKIDIwMTYtMDItMTUgIENzYWJh
IE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBbRUZMXSBVcGRhdGUg
VG9vbHMvZWZsL2luc3RhbGwtZGVwZW5kZW5jaWVzCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3J1bi13ZWJraXQtaHR0cGQgYi9Ub29scy9TY3JpcHRzL3J1bi13ZWJraXQtaHR0cGQKaW5kZXgg
Y2ViNTQzODA3OTk2MGFhN2E5NGQ2MjlmNTEwNmMxMmMyNmVmZTUxMi4uZDljN2Q0ZWFjODI3NmIz
MjI0MDJmOWM4NzBmMWUzMGRlYTU5MTQxMiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9ydW4t
d2Via2l0LWh0dHBkCisrKyBiL1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmtpdC1odHRwZApAQCAtMSw0
ICsxLDQgQEAKLSMhL3Vzci9iaW4vcGVybAorIyEvdXNyL2Jpbi9weXRob24KIAogIyBDb3B5cmln
aHQgKEMpIDIwMDUsIDIwMDYsIDIwMDcsIDIwMTUgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICMgQ29weXJpZ2h0IChDKSAyMDA2IEFsZXhleSBQcm9za3VyeWFrb3YgKGFwQG55cG9w
LmNvbSkKQEAgLTI4LDczICsyOCw1MSBAQAogIyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKICMgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
IAotIyBTY3JpcHQgdG8gcnVuIEFwYWNoZSB3aXRoIHRoZSBzYW1lIGNvbmZpZ3VyYXRpb24gYXMg
dXNlZCBpbiBodHRwIGxheW91dCB0ZXN0cy4KK2ltcG9ydCBvcHRwYXJzZQoraW1wb3J0IHN1YnBy
b2Nlc3MKK2ltcG9ydCBzeXMKK2ltcG9ydCB0ZW1wZmlsZQoraW1wb3J0IHRpbWUKIAotdXNlIHN0
cmljdDsKLXVzZSB3YXJuaW5nczsKK2Zyb20gd2Via2l0cHkuY29tbW9uLmhvc3QgaW1wb3J0IEhv
c3QKK2Zyb20gd2Via2l0cHkucG9ydCBpbXBvcnQgcGxhdGZvcm1fb3B0aW9ucwogCi11c2UgQ3dk
OwotdXNlIEZpbGU6OlBhdGg7Ci11c2UgRmlsZTo6QmFzZW5hbWU7Ci11c2UgR2V0b3B0OjpMb25n
OwotdXNlIEZpbmRCaW47CitkZWYgcGFyc2VfYXJncyhhcmdzKToKKyAgICBwYXJzZXIgPSBvcHRw
YXJzZS5PcHRpb25QYXJzZXIoKQorICAgIHBhcnNlci5hZGRfb3B0aW9uKCItYSIsICItLWFsbC1p
bnRlcmZhY2VzIiwgaGVscD0iQmluZCB0byBhbGwgaW50ZXJmYWNlcyIsIGFjdGlvbj0ic3RvcmVf
dHJ1ZSIsIGRlc3Q9Imh0dHBfYWxsX2ludGVyZmFjZXMiKQorICAgIHBhcnNlci5hZGRfb3B0aW9u
KCItcCIsICItLXBvcnQiLCBoZWxwPSJCaW5kIHRvIHBvcnQgTk5OTiIsIGFjdGlvbj0ic3RvcmUi
LCB0eXBlPSJpbnQiLCBkZXN0PSJodHRwX3BvcnQiKQorICAgIHJldHVybiBwYXJzZXIucGFyc2Vf
YXJncyhhcmdzKQogCi11c2UgbGliICRGaW5kQmluOjpCaW47Ci11c2Ugd2Via2l0cGVybDo6aHR0
cGQ7Ci11c2Ugd2Via2l0ZGlyczsKK2RlZiBtYWluKGFyZ3YsIHN0ZG91dCwgc3RkZXJyKToKKyAg
ICBvcHRpb25zLCBhcmdzID0gcGFyc2VfYXJncyhhcmd2KQorICAgIGhvc3QgPSBIb3N0KCkKIAot
IyBGSVhNRTogRHluYW1pYyBIVFRQLXBvcnQgY29uZmlndXJhdGlvbiBpbiB0aGlzIGZpbGUgaXMg
d3JvbmcuICBUaGUgdmFyaW91cwotIyBhcGFjaGUgY29uZmlnIGZpbGVzIGluIExheW91dFRlc3Rz
L2h0dHAvY29uZmlnIGdvdmVybiB0aGUgcG9ydCBudW1iZXJzLgotIyBEeW5hbWljIGNvbmZpZ3Vy
YXRpb24gYXMtd3JpdHRlbiB3aWxsIGFsc28gY2F1c2UgcmFuZG9tIGZhaWx1cmVzIGluCi0jIGFu
IElQdjYgZW52aXJvbm1lbnQuICBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTM3MTA0LgotIyBBcmd1bWVudCBoYW5kbGluZwotbXkgJGh0dHBkUG9ydCA9IDgwMDA7
Ci1teSAkYWxsSW50ZXJmYWNlcyA9IDA7Ci1teSAkc2hvd0hlbHA7CisgICAgbG9nX2ZpbGUgPSB0
ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUoKQorICAgIG9wdGlvbnMuaHR0cF9hY2Nlc3NfbG9n
ID0gbG9nX2ZpbGUubmFtZQorICAgIG9wdGlvbnMuaHR0cF9lcnJvcl9sb2cgPSBsb2dfZmlsZS5u
YW1lCisgICAgb3B0aW9ucy5wbGF0Zm9ybSA9IE5vbmUKIAotbXkgJHJlc3VsdCA9IEdldE9wdGlv
bnMoCi0gICAgJ2FsbC1pbnRlcmZhY2VzfGEnID0+IFwkYWxsSW50ZXJmYWNlcywKLSAgICAnaGVs
cHxoJyA9PiBcJHNob3dIZWxwLAotICAgICdwb3J0PWknID0+IFwkaHR0cGRQb3J0LAotKTsKKyAg
ICB0cnk6CisgICAgICAgIHBvcnQgPSBob3N0LnBvcnRfZmFjdG9yeS5nZXQob3B0aW9ucy5wbGF0
Zm9ybSwgb3B0aW9ucykKKyAgICBleGNlcHQgTm90SW1wbGVtZW50ZWRFcnJvciwgZToKKyAgICAg
ICAgcHJpbnQgPj4gc3RkZXJyLCBzdHIoZSkKKyAgICAgICAgcmV0dXJuIEVYQ0VQVElPTkFMX0VY
SVRfU1RBVFVTCiAKLWlmICghJHJlc3VsdCB8fCBAQVJHViB8fCAkc2hvd0hlbHApIHsKLSAgICBw
cmludCAiVXNhZ2U6ICIgLiBiYXNlbmFtZSgkMCkgLiAiIFtvcHRpb25zXVxuIjsKLSAgICBwcmlu
dCAiICAtYXwtLWFsbC1pbnRlcmZhY2VzICBCaW5kIHRvIGFsbCBpbnRlcmZhY2VzXG4iOwotICAg
IHByaW50ICIgIC1ofC0taGVscCAgICAgICAgICAgIFNob3cgdGhpcyBoZWxwIG1lc3NhZ2VcbiI7
Ci0gICAgcHJpbnQgIiAgLXB8LS1wb3J0IE5OTk4gICAgICAgQmluZCB0byBwb3J0IE5OTk5cbiI7
Ci0gICAgZXhpdCAxOwotfQorICAgICMgRklYTUUoMTU0Mjk0KTogc29tZWhvdyByZXRyaWV2ZSB0
aGUgYWN0dWFsIHBvcnRzIGFuZCBpbnRlcmZhY2VzIGJvdW5kIGJ5IHRoZSBodHRwZCBzZXJ2ZXIK
KyAgICBodHRwX3BvcnQgPSBvcHRpb25zLmh0dHBfcG9ydCBpZiBvcHRpb25zLmh0dHBfcG9ydCBp
cyBub3QgTm9uZSBlbHNlICI4MDAwIgorICAgIGlmIG9wdGlvbnMuaHR0cF9hbGxfaW50ZXJmYWNl
cyBpcyBub3QgTm9uZToKKyAgICAgICAgcHJpbnQgIlN0YXJ0aW5nIGh0dHBkIG9uIHBvcnQgJXMg
KGFsbCBpbnRlcmZhY2VzKSIgJSBodHRwX3BvcnQKKyAgICBlbHNlOgorICAgICAgICBwcmludCAi
U3RhcnRpbmcgaHR0cGQgb24gPGh0dHA6Ly8xMjcuMC4wLjE6JXM+IiAlIGh0dHBfcG9ydAogCi1z
ZXRDb25maWd1cmF0aW9uKCk7Ci1teSAkcHJvZHVjdERpciA9IHByb2R1Y3REaXIoKTsKLWNoZGly
V2ViS2l0KCk7Ci1teSAkdGVzdERpcmVjdG9yeSA9IEZpbGU6OlNwZWMtPmNhdGZpbGUoZ2V0Y3dk
KCksICJMYXlvdXRUZXN0cyIpOwotbXkgJGxpc3RlbiA9ICIxMjcuMC4wLjE6JGh0dHBkUG9ydCI7
Ci0kbGlzdGVuID0gIiRodHRwZFBvcnQiIGlmICgkYWxsSW50ZXJmYWNlcyk7CisgICAgcG9ydC5z
dGFydF9odHRwX3NlcnZlcigpCiAKLWlmICgkYWxsSW50ZXJmYWNlcykgewotICAgIHByaW50ICJT
dGFydGluZyBodHRwZCBvbiBwb3J0ICRodHRwZFBvcnQgKGFsbCBpbnRlcmZhY2VzKS4uLlxuIjsK
LX0gZWxzZSB7Ci0gICAgcHJpbnQgIlN0YXJ0aW5nIGh0dHBkIG9uIDxodHRwOi8vJGxpc3Rlbi8+
Li4uXG4iOwotfQotc2V0U2hvdWxkV2FpdEZvclVzZXJJbnRlcnJ1cHQoKTsKLXByaW50ICJQcmVz
cyBDdHJsK0MgdG8gc3RvcCBpdC5cblxuIjsKKyAgICB0cnk6CisgICAgICAgIHRhaWwgPSBzdWJw
cm9jZXNzLlBvcGVuKFsndGFpbCcsICctRicsIGxvZ19maWxlLm5hbWVdLCBzdGRvdXQ9c3VicHJv
Y2Vzcy5QSVBFKQorICAgICAgICB3aGlsZSBUcnVlOgorICAgICAgICAgICAgc3lzLnN0ZG91dC53
cml0ZSh0YWlsLnN0ZG91dC5yZWFkbGluZSgpKQorICAgIGV4Y2VwdCBLZXlib2FyZEludGVycnVw
dDoKKyAgICAgICAgcG9ydC5zdG9wX2h0dHBfc2VydmVyKCkKIAotbXkgQGFyZ3MgPSAoCi0gICAg
Ii1DIiwgIkxpc3RlbiAkbGlzdGVuIiwKLSAgICAjIFJ1biBpbiBzaW5nbGUtcHJvY2VzcyBtb2Rl
LCBkbyBub3QgZGV0YWNoIGZyb20gdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsLgotICAgICItWCIs
Ci0gICAgIyBEaXNhYmxlIEtlZXAtQWxpdmUgc3VwcG9ydC4gTWFrZXMgdGVzdGluZyBpbiBtdWx0
aXBsZSBicm93c2VycyBlYXNpZXIgKG5vIG5lZWQgdG8gd2FpdAotICAgICMgZm9yIGFub3RoZXIg
YnJvd3NlcidzIGNvbm5lY3Rpb24gdG8gZXhwaXJlKS4KLSAgICAiLWMiLCAiS2VlcEFsaXZlIG9m
ZiIKLSk7Ci0KLWlmICghaXNBbnlXaW5kb3dzKCkpIHsKLSAgICBwdXNoKEBhcmdzLCAiLWMiLCAi
Q3VzdG9tTG9nIHwvdXNyL2Jpbi90ZWUgY29tbW9uIik7Ci0gICAgcHVzaChAYXJncywgIi1jIiwg
IkVycm9yTG9nIHwvdXNyL2Jpbi90ZWUiKTsKLX0KLQotbXkgQGRlZmF1bHRBcmdzID0gZ2V0RGVm
YXVsdENvbmZpZ0ZvclRlc3REaXJlY3RvcnkoJHRlc3REaXJlY3RvcnkpOwotQGFyZ3MgPSAoQGRl
ZmF1bHRBcmdzLCBAYXJncyk7Ci1vcGVuSFRUUEQoQGFyZ3MpOworaWYgX19uYW1lX18gPT0gJ19f
bWFpbl9fJzoKKyAgICBzeXMuZXhpdChtYWluKHN5cy5hcmd2WzE6XSwgc3lzLnN0ZG91dCwgc3lz
LnN0ZGVycikpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9zZXJ2ZXJzL2FwYWNoZV9odHRwX3NlcnZlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL3NlcnZlcnMvYXBhY2hlX2h0dHBfc2VydmVyLnB5CmluZGV4IGVjOWQ2ZjJj
OTFlMTk0MTc4ODk4NmJjOGQ1MTVjYTdiZTA3Mzc3ZTkuLmYxNDhiZDIyMjMwYWQ3N2RkMDJkMTg3
ZDE4ODc4YjQxNDg5ZGVjM2QgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL3NlcnZlcnMvYXBhY2hlX2h0dHBfc2VydmVyLnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvYXBhY2hlX2h0dHBfc2VydmVyLnB5CkBA
IC00Myw3ICs0Myw3IEBAIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKIAogCiBj
bGFzcyBMYXlvdXRUZXN0QXBhY2hlSHR0cGQoaHR0cF9zZXJ2ZXJfYmFzZS5IdHRwU2VydmVyQmFz
ZSk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBvcnRfb2JqLCBvdXRwdXRfZGlyLCBhZGRpdGlv
bmFsX2RpcnM9Tm9uZSk6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBvcnRfb2JqLCBvdXRwdXRf
ZGlyLCBhZGRpdGlvbmFsX2RpcnM9Tm9uZSwgcG9ydD1Ob25lKToKICAgICAgICAgIiIiQXJnczoK
ICAgICAgICAgICBwb3J0X29iajogaGFuZGxlIHRvIHRoZSBwbGF0Zm9ybS1zcGVjaWZpYyByb3V0
aW5lcwogICAgICAgICAgIG91dHB1dF9kaXI6IHRoZSBhYnNvbHV0ZSBwYXRoIHRvIHRoZSBsYXlv
dXQgdGVzdCByZXN1bHQgZGlyZWN0b3J5CkBAIC01MSwxMCArNTEsMTUgQEAgY2xhc3MgTGF5b3V0
VGVzdEFwYWNoZUh0dHBkKGh0dHBfc2VydmVyX2Jhc2UuSHR0cFNlcnZlckJhc2UpOgogICAgICAg
ICBodHRwX3NlcnZlcl9iYXNlLkh0dHBTZXJ2ZXJCYXNlLl9faW5pdF9fKHNlbGYsIHBvcnRfb2Jq
KQogICAgICAgICAjIFdlIHVzZSB0aGUgbmFtZSAiaHR0cGQiIGluc3RlYWQgb2YgImFwYWNoZSIg
dG8gbWFrZSBvdXIgcGF0aHMgKGUuZy4gdGhlIHBpZCBmaWxlOiAvdG1wL1dlYktpdC9odHRwZC5w
aWQpCiAgICAgICAgICMgbWF0Y2ggb2xkLXJ1bi13ZWJraXQtdGVzdHM6IGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzk1NgorCiAgICAgICAgIHNlbGYuX25hbWUgPSAn
aHR0cGQnCi0gICAgICAgIHNlbGYuX21hcHBpbmdzID0gW3sncG9ydCc6IDgwMDB9LAotICAgICAg
ICAgICAgICAgICAgICAgICAgICB7J3BvcnQnOiA4MDgwfSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgeydwb3J0JzogODQ0MywgJ3NzbGNlcnQnOiBUcnVlfV0KKyAgICAgICAgc2VsZi5fcG9y
dCA9IHBvcnQKKyAgICAgICAgaWYgc2VsZi5fcG9ydCBpcyBub3QgTm9uZToKKyAgICAgICAgICAg
IHNlbGYuX21hcHBpbmdzID0gW3sncG9ydCc6IHNlbGYuX3BvcnR9XQorICAgICAgICBlbHNlOgor
ICAgICAgICAgICAgc2VsZi5fbWFwcGluZ3MgPSBbeydwb3J0JzogODAwMH0sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB7J3BvcnQnOiA4MDgwfSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHsncG9ydCc6IDg0NDMsICdzc2xjZXJ0JzogVHJ1ZX1dCiAgICAgICAgIHNlbGYu
X291dHB1dF9kaXIgPSBvdXRwdXRfZGlyCiAgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0ubWF5YmVf
bWFrZV9kaXJlY3Rvcnkob3V0cHV0X2RpcikKIApAQCAtODAsNiArODUsMTIgQEAgY2xhc3MgTGF5
b3V0VGVzdEFwYWNoZUh0dHBkKGh0dHBfc2VydmVyX2Jhc2UuSHR0cFNlcnZlckJhc2UpOgogICAg
ICAgICBlcnJvcl9sb2cgPSBzZWxmLl9maWxlc3lzdGVtLmpvaW4ob3V0cHV0X2RpciwgImVycm9y
X2xvZy50eHQiKQogICAgICAgICBkb2N1bWVudF9yb290ID0gc2VsZi5fZmlsZXN5c3RlbS5qb2lu
KHRlc3RfZGlyLCAiaHR0cCIsICJ0ZXN0cyIpCiAKKyAgICAgICAgaWYgcG9ydF9vYmouZ2V0X29w
dGlvbignaHR0cF9hY2Nlc3NfbG9nJyk6CisgICAgICAgICAgICBhY2Nlc3NfbG9nID0gcG9ydF9v
YmouZ2V0X29wdGlvbignaHR0cF9hY2Nlc3NfbG9nJykKKworICAgICAgICBpZiBwb3J0X29iai5n
ZXRfb3B0aW9uKCdodHRwX2Vycm9yX2xvZycpOgorICAgICAgICAgICAgZXJyb3JfbG9nID0gcG9y
dF9vYmouZ2V0X29wdGlvbignaHR0cF9lcnJvcl9sb2cnKQorCiAgICAgICAgICMgRklYTUU6IFdl
IHNob3VsZG4ndCBiZSBjYWxsaW5nIGEgcHJvdGVjdGVkIG1ldGhvZCBvZiBfcG9ydF9vYmohCiAg
ICAgICAgIGV4ZWN1dGFibGUgPSBzZWxmLl9wb3J0X29iai5fcGF0aF90b19hcGFjaGUoKQogCkBA
IC0xMTAsMTAgKzEyMSwxMiBAQCBjbGFzcyBMYXlvdXRUZXN0QXBhY2hlSHR0cGQoaHR0cF9zZXJ2
ZXJfYmFzZS5IdHRwU2VydmVyQmFzZSk6CiAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgIGVu
YWJsZV9pcHY2ID0gRmFsc2UKIAorICAgICAgICBiaW5kX2FkZHJlc3MgPSAnJyBpZiBzZWxmLl9w
b3J0X29iai5nZXRfb3B0aW9uKCJodHRwX2FsbF9pbnRlcmZhY2VzIikgZWxzZSAnMTI3LjAuMC4x
OicKKwogICAgICAgICBmb3IgbWFwcGluZyBpbiBzZWxmLl9tYXBwaW5nczoKICAgICAgICAgICAg
IHBvcnQgPSBtYXBwaW5nWydwb3J0J10KIAotICAgICAgICAgICAgc3RhcnRfY21kICs9IFsnLUMn
LCAiXCdMaXN0ZW4gMTI3LjAuMC4xOiVkXCciICUgcG9ydF0KKyAgICAgICAgICAgIHN0YXJ0X2Nt
ZCArPSBbJy1DJywgIlwnTGlzdGVuICVzJWRcJyIgJSAoYmluZF9hZGRyZXNzLCBwb3J0KV0KIAog
ICAgICAgICAgICAgIyBXZSBsaXN0ZW4gdG8gYm90aCBJUHY0IGFuZCBJUHY2IGxvb3AtYmFjayBh
ZGRyZXNzZXMsIGJ1dCBpZ25vcmUKICAgICAgICAgICAgICMgcmVxdWVzdHMgdG8gODAwMCBmcm9t
IHJhbmRvbSB1c2VycyBvbiBuZXR3b3JrLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvc2VydmVycy9odHRwX3NlcnZlci5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL3NlcnZlcnMvaHR0cF9zZXJ2ZXIucHkKaW5kZXggNDQxOTQw
YjBhNmRhOTJiNjBjMDI1Nzk3MWRhYTA2ZjI0MTAxMzE5Ni4uZjI5MjYwYmU1YmIyMzBmMDg5M2Fk
ZjQ1MDkyZjI5N2MwNzkxZjZhNSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9s
YXlvdXRfdGVzdHMvc2VydmVycy9odHRwX3NlcnZlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9zZXJ2ZXJzL2h0dHBfc2VydmVyLnB5CkBAIC05NCw2ICs5NCwx
MiBAQCBjbGFzcyBMaWdodHRwZChodHRwX3NlcnZlcl9iYXNlLkh0dHBTZXJ2ZXJCYXNlKToKICAg
ICAgICAgbG9nX2ZpbGVfbmFtZSA9ICJlcnJvci5sb2ctIiArIHRpbWVfc3RyICsgIi50eHQiCiAg
ICAgICAgIGVycm9yX2xvZyA9IG9zLnBhdGguam9pbihzZWxmLl9vdXRwdXRfZGlyLCBsb2dfZmls
ZV9uYW1lKQogCisgICAgICAgIGlmIHNlbGYuX3BvcnRfb2JqLmdldF9vcHRpb24oJ2h0dHBfYWNj
ZXNzX2xvZycpOgorICAgICAgICAgICAgYWNjZXNzX2xvZyA9IHNlbGYuX3BvcnRfb2JqLmdldF9v
cHRpb24oJ2h0dHBfYWNjZXNzX2xvZycpCisKKyAgICAgICAgaWYgc2VsZi5fcG9ydF9vYmouZ2V0
X29wdGlvbignaHR0cF9lcnJvcl9sb2cnKToKKyAgICAgICAgICAgIGVycm9yX2xvZyA9IHNlbGYu
X3BvcnRfb2JqLmdldF9vcHRpb24oJ2h0dHBfZXJyb3JfbG9nJykKKwogICAgICAgICAjIFdyaXRl
IG91dCB0aGUgY29uZmlnCiAgICAgICAgIGJhc2VfY29uZiA9IHNlbGYuX2ZpbGVzeXN0ZW0ucmVh
ZF90ZXh0X2ZpbGUoYmFzZV9jb25mX2ZpbGUpCiAKQEAgLTE0OSwxNiArMTU1LDE4IEBAIGNsYXNz
IExpZ2h0dHBkKGh0dHBfc2VydmVyX2Jhc2UuSHR0cFNlcnZlckJhc2UpOgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnc3NsY2VydCc6IHNlbGYuX3BlbV9maWxlfV0KICAgICAgICAgZWxz
ZToKICAgICAgICAgICAgIG1hcHBpbmdzID0gc2VsZi5WSVJUVUFMQ09ORklHCisKKyAgICAgICAg
YmluZF9hZGRyZXNzID0gJycgaWYgc2VsZi5fcG9ydF9vYmouZ2V0X29wdGlvbignaHR0cF9hbGxf
YWRkcmVzc2VzJykgZWxzZSAnMTI3LjAuMC4xJwogICAgICAgICBmb3IgbWFwcGluZyBpbiBtYXBw
aW5nczoKICAgICAgICAgICAgIHNzbF9zZXR1cCA9ICcnCiAgICAgICAgICAgICBpZiAnc3NsY2Vy
dCcgaW4gbWFwcGluZzoKICAgICAgICAgICAgICAgICBzc2xfc2V0dXAgPSAoJyAgc3NsLmVuZ2lu
ZSA9ICJlbmFibGUiXG4nCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgIHNzbC5wZW1m
aWxlID0gIiVzIlxuJyAlIG1hcHBpbmdbJ3NzbGNlcnQnXSkKIAotICAgICAgICAgICAgZi53cml0
ZSgoJyRTRVJWRVJbInNvY2tldCJdID09ICIxMjcuMC4wLjE6JWQiIHtcbicKKyAgICAgICAgICAg
IGYud3JpdGUoKCckU0VSVkVSWyJzb2NrZXQiXSA9PSAiJXM6JWQiIHtcbicKICAgICAgICAgICAg
ICAgICAgICAgICcgIHNlcnZlci5kb2N1bWVudC1yb290ID0gIiVzIlxuJyArCiAgICAgICAgICAg
ICAgICAgICAgICBzc2xfc2V0dXAgKwotICAgICAgICAgICAgICAgICAgICAgJ31cblxuJykgJSAo
bWFwcGluZ1sncG9ydCddLCBtYXBwaW5nWydkb2Nyb290J10pKQorICAgICAgICAgICAgICAgICAg
ICAgJ31cblxuJykgJSAoYmluZF9hZGRyZXNzLCBtYXBwaW5nWydwb3J0J10sIG1hcHBpbmdbJ2Rv
Y3Jvb3QnXSkpCiAgICAgICAgIGYuY2xvc2UoKQogCiAgICAgICAgIGV4ZWN1dGFibGUgPSBzZWxm
Ll9wb3J0X29iai5fcGF0aF90b19saWdodHRwZCgpCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3BvcnQvYmFzZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNl
LnB5CmluZGV4IDcxNWY4ZmQ0NGFlMDExYjc1YjUzNDI2M2E2YmVkOGY5YWVlZjZlMmEuLmMxY2Jl
Mzg2NjMxOTYzMTE2MDdkYTQ1N2JkY2NmY2Y1MWZlNjE2YWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cG9ydC9iYXNlLnB5CkBAIC05MDUsMTEgKzkwNSwxMSBAQCBjbGFzcyBQb3J0KG9iamVjdCk6CiAK
ICAgICAgICAgUG9ydHMgY2FuIHN0dWIgdGhpcyBvdXQgaWYgdGhleSBkb24ndCBuZWVkIGEgd2Vi
IHNlcnZlciB0byBiZSBydW5uaW5nLiIiIgogICAgICAgICBhc3NlcnQgbm90IHNlbGYuX2h0dHBf
c2VydmVyLCAnQWxyZWFkeSBydW5uaW5nIGFuIGh0dHAgc2VydmVyLicKLQorICAgICAgICBodHRw
X3BvcnQgPSBzZWxmLmdldF9vcHRpb24oJ2h0dHBfcG9ydCcpCiAgICAgICAgIGlmIHNlbGYuX3Vz
ZXNfYXBhY2hlKCk6Ci0gICAgICAgICAgICBzZXJ2ZXIgPSBhcGFjaGVfaHR0cF9zZXJ2ZXIuTGF5
b3V0VGVzdEFwYWNoZUh0dHBkKHNlbGYsIHNlbGYucmVzdWx0c19kaXJlY3RvcnkoKSwgYWRkaXRp
b25hbF9kaXJzPWFkZGl0aW9uYWxfZGlycykKKyAgICAgICAgICAgIHNlcnZlciA9IGFwYWNoZV9o
dHRwX3NlcnZlci5MYXlvdXRUZXN0QXBhY2hlSHR0cGQoc2VsZiwgc2VsZi5yZXN1bHRzX2RpcmVj
dG9yeSgpLCBhZGRpdGlvbmFsX2RpcnM9YWRkaXRpb25hbF9kaXJzLCBwb3J0PWh0dHBfcG9ydCkK
ICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlcnZlciA9IGh0dHBfc2VydmVyLkxpZ2h0dHBk
KHNlbGYsIHNlbGYucmVzdWx0c19kaXJlY3RvcnkoKSwgYWRkaXRpb25hbF9kaXJzPWFkZGl0aW9u
YWxfZGlycykKKyAgICAgICAgICAgIHNlcnZlciA9IGh0dHBfc2VydmVyLkxpZ2h0dHBkKHNlbGYs
IHNlbGYucmVzdWx0c19kaXJlY3RvcnkoKSwgYWRkaXRpb25hbF9kaXJzPWFkZGl0aW9uYWxfZGly
cywgcG9ydD1odHRwX3BvcnQpCiAKICAgICAgICAgc2VydmVyLnN0YXJ0KCkKICAgICAgICAgc2Vs
Zi5faHR0cF9zZXJ2ZXIgPSBzZXJ2ZXIK
</data>

          </attachment>
      

    </bug>

</bugzilla>