<?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>26912</bug_id>
          
          <creation_ts>2009-07-01 18:25:36 -0700</creation_ts>
          <short_desc>bugzilla-tool should accept global options anywhere</short_desc>
          <delta_ts>2009-12-23 23:18:43 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>27164</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>129437</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-07-01 18:25:36 -0700</bug_when>
    <thetext>bugzilla-tool should accept global options anywhere

Right now bugzilla-tool makes sure that you put the global options before the command.  I don&apos;t think this is what we actually want.

Meaning:
bugzilla-tool post-diff --help
will error out instead of displaying the global help.
Likewise:
bugzilla-tool post-diff --dry-run
will be an error.

This will be simple to fix, but will require our first option-parse pass to ignore options it does not understand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170343</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-10 00:08:43 -0800</bug_when>
    <thetext>Adam points out that the easy way to do this would be to simply have a single option parser, and to just have the tool be smart enough to add in the options from whatever command is chosen.

Basically run looks like this:

1.  Find out where the command is in the args stream (the first arg not beginning with -)
2.  Look up the command.
3.  Build the relevant option parser.
4.  Parse options and pass them off to the command.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174736</commentid>
    <comment_count>2</comment_count>
      <attachid>45463</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-23 22:55:40 -0800</bug_when>
    <thetext>Created attachment 45463
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174737</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-23 22:56:02 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 45463 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174738</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-23 22:58:12 -0800</bug_when>
    <thetext>Turns out a single option parser was not &quot;easy&quot;, mostly because of how we depend on OptionParser for our help printing.  If we re-wrote the help printing to not use OptionParser, this code would all probably be a lot simpler.  Bleh.  Ugly patch.  I&apos;m very glad we had unit test coverage of most of this though!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174739</commentid>
    <comment_count>5</comment_count>
      <attachid>45463</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-12-23 23:07:20 -0800</bug_when>
    <thetext>Comment on attachment 45463
Patch

ok.  set_option_parser is kind of goofy, but this looks like it should do the job.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174740</commentid>
    <comment_count>6</comment_count>
      <attachid>45463</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-12-23 23:18:36 -0800</bug_when>
    <thetext>Comment on attachment 45463
Patch

Clearing flags on attachment: 45463

Committed r52543: &lt;http://trac.webkit.org/changeset/52543&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>174741</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-12-23 23:18:43 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45463</attachid>
            <date>2009-12-23 22:55:40 -0800</date>
            <delta_ts>2009-12-23 23:18:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-26912-20091224005537.patch</filename>
            <type>text/plain</type>
            <size>16414</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBlYjkyNGIyLi43ZmI3MWJhIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMDktMTIt
MjMgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGJ1Z3ppbGxhLXRvb2wgc2hvdWxkIGFjY2VwdCBn
bG9iYWwgb3B0aW9ucyBhbnl3aGVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjY5MTIKKworICAgICAgICAqIFNjcmlwdHMvYnVnemlsbGEtdG9vbDoK
KyAgICAgICAgIC0gVXNlIHRoZSBuZXcgZ2xvYmFsX29wdGlvbnMgY2xhc3MgcHJvcGVydHkuCisg
ICAgICAgICAtIEFkZCBhIGhhbmRsZV9nbG9iYWxfb3B0aW9ucyBjYWxsYmFjayB0byBhdm9pZCBu
ZWVkaW5nIGNhbGxiYWNrcyBmb3IgZWFjaCBnbG9iYWwgb3B0aW9uLgorICAgICAgICAqIFNjcmlw
dHMvbW9kdWxlcy9tdWx0aWNvbW1hbmR0b29sLnB5OgorICAgICAgICAgLSBNYWtlIHRoZSBjb2Rl
IHVzZSBvbmUgY29tYmluZWQgb3B0aW9uIHBhcnNlci4KKyAgICAgICAgICAgVGhpcyBhbGxvd3Mg
dXMgdG8gYWNjZXB0IGdsb2JhbCBvcHRpb25zIGFueXdoZXJlIGFuZAorICAgICAgICAgICBpbmRp
dmlkdWFsIGNvbW1hbmQgb3B0aW9ucyBiZWZvcmUgY29tbWFuZHMuCisgICAgICAgICAtIEFkZCBh
IGhhbmRsZV9nbG9iYWxfb3B0aW9ucyBjYWxsYmFjayB0byBhdm9pZCBuZWVkaW5nIGNhbGxiYWNr
cyBmb3IgZWFjaCBnbG9iYWwgb3B0aW9uLgorICAgICAgICAgLSBNYWtlIHRoZSBDb21tYW5kIGhv
bGQgdGhlIG9wdGlvbiBwYXJzZXIsIGJ1dCBhbGxvdyB0aGUgdG9vbCB0byBvdmVycmlkZSBpdC4K
KyAgICAgICAgIC0gVGhlIGRlZmF1bHQgb3B0aW9uIHBhcnNlciBpcyB1c2VkIGZvciBoZWxwIHBy
aW50aW5nIGFuZCB3aGVuIENvbW1hbmRzIGFyZSBydW4gc3RhbmQgYWxvbmUsCisgICAgICAgICAg
IGJ1dCBhcmUgb3RoZXJ3aXNlIG5vdCB1c2VkLgorICAgICAgICAgLSBBZGQgQ29tbWFuZC5tYWlu
IHRvIGNvZGlmeSB0aGUgaWRlYSB0aGF0IENvbW1hbmRzIHNob3VsZCBzdXBwb3J0IGJlaW5nIHJ1
biBzdGFuZC1hbG9uZS4KKyAgICAgICAgIC0gQ2hhbmdlIF9zcGxpdF9hcmdzIHRvIF9zcGxpdF9j
b21tYW5kX25hbWVfZnJvbV9hcmdzIG5vdyB0aGF0IGFyZ3MgYXJlIHVuaWZpZWQuCisgICAgICAg
ICogU2NyaXB0cy9tb2R1bGVzL211bHRpY29tbWFuZHRvb2xfdW5pdHRlc3QucHk6CisgICAgICAg
ICAtIFRlc3QgdGhhdCAidG9vbCIgYW5kICJ0b29sIGhlbHAiIHNob3cgdGhlIHNhbWUgaGVscC4K
KyAgICAgICAgIC0gVGVzdCB0aGF0IGFyZ3MgYXJlIGFjY2VwdGVkIGJlZm9yZSBjb21tYW5kcwor
CiAyMDA5LTEyLTIzICBMYXN6bG8gR29tYm9zICA8bGFzemxvLjEuZ29tYm9zQG5va2lhLmNvbT4K
IAogICAgICAgICBOb3QgcmV2aWV3ZWQsIGFkZGluZyBteXNlbGYgdG8gdGhlIHJldmlld2VycyBs
aXN0LgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9idWd6aWxsYS10b29sIGIvV2Vi
S2l0VG9vbHMvU2NyaXB0cy9idWd6aWxsYS10b29sCmluZGV4IGQzMzIzZWQuLjVkYmY5MWIgMTAw
NzU1Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvYnVnemlsbGEtdG9vbAorKysgYi9XZWJLaXRU
b29scy9TY3JpcHRzL2J1Z3ppbGxhLXRvb2wKQEAgLTQ3LDEwICs0NywxMyBAQCBmcm9tIG1vZHVs
ZXMudXNlciBpbXBvcnQgVXNlcgogCiAKIGNsYXNzIEJ1Z3ppbGxhVG9vbChNdWx0aUNvbW1hbmRU
b29sKToKKyAgICBnbG9iYWxfb3B0aW9ucyA9IFsKKyAgICAgICAgbWFrZV9vcHRpb24oIi0tZHJ5
LXJ1biIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlc3Q9ImRyeV9ydW4iLCBkZWZhdWx0PUZhbHNl
LCBoZWxwPSJkbyBub3QgdG91Y2ggcmVtb3RlIHNlcnZlcnMiKSwKKyAgICAgICAgbWFrZV9vcHRp
b24oIi0tc3RhdHVzLWhvc3QiLCBhY3Rpb249InN0b3JlIiwgZGVzdD0ic3RhdHVzX2hvc3QiLCB0
eXBlPSJzdHJpbmciLCBuYXJncz0xLCBoZWxwPSJIb3N0bmFtZSAoZS5nLiBsb2NhbGhvc3Qgb3Ig
Y29tbWl0LndlYmtpdC5vcmcpIHdoZXJlIHN0YXR1cyB1cGRhdGVzIHNob3VsZCBiZSBwb3N0ZWQu
IiksCisgICAgXQorCiAgICAgZGVmIF9faW5pdF9fKHNlbGYpOgogICAgICAgICBNdWx0aUNvbW1h
bmRUb29sLl9faW5pdF9fKHNlbGYpCi0gICAgICAgIHNlbGYuZ2xvYmFsX29wdGlvbl9wYXJzZXIu
YWRkX29wdGlvbigiLS1kcnktcnVuIiwgYWN0aW9uPSJjYWxsYmFjayIsIGhlbHA9ImRvIG5vdCB0
b3VjaCByZW1vdGUgc2VydmVycyIsIGNhbGxiYWNrPXNlbGYuZHJ5X3J1bl9jYWxsYmFjaykKLSAg
ICAgICAgc2VsZi5nbG9iYWxfb3B0aW9uX3BhcnNlci5hZGRfb3B0aW9uKCItLXN0YXR1cy1ob3N0
IiwgYWN0aW9uPSJjYWxsYmFjayIsIHR5cGU9InN0cmluZyIsIG5hcmdzPTEsIGhlbHA9Ikhvc3Ru
YW1lIChlLmcuIGxvY2FsaG9zdCBvciBjb21taXQud2Via2l0Lm9yZykgd2hlcmUgc3RhdHVzIHVw
ZGF0ZXMgc2hvdWxkIGJlIHBvc3RlZC4iLCBjYWxsYmFjaz1zZWxmLnN0YXR1c19ob3N0X2NhbGxi
YWNrKQogCiAgICAgICAgIHNlbGYuYnVncyA9IEJ1Z3ppbGxhKCkKICAgICAgICAgc2VsZi5idWls
ZGJvdCA9IEJ1aWxkQm90KCkKQEAgLTU5LDEzICs2Miw2IEBAIGNsYXNzIEJ1Z3ppbGxhVG9vbChN
dWx0aUNvbW1hbmRUb29sKToKICAgICAgICAgc2VsZi5fc2NtID0gTm9uZQogICAgICAgICBzZWxm
LnN0YXR1c19ib3QgPSBTdGF0dXNCb3QoKQogCi0gICAgZGVmIGRyeV9ydW5fY2FsbGJhY2soc2Vs
Ziwgb3B0aW9uLCBvcHQsIHZhbHVlLCBwYXJzZXIpOgotICAgICAgICBzZWxmLnNjbSgpLmRyeXJ1
biA9IFRydWUKLSAgICAgICAgc2VsZi5idWdzLmRyeXJ1biA9IFRydWUKLQotICAgIGRlZiBzdGF0
dXNfaG9zdF9jYWxsYmFjayhzZWxmLCBvcHRpb24sIG9wdCwgdmFsdWUsIHBhcnNlcik6Ci0gICAg
ICAgIHNlbGYuc3RhdHVzX2JvdC5zZXRfaG9zdCh2YWx1ZSkKLQogICAgIGRlZiBzY20oc2VsZik6
CiAgICAgICAgICMgTGF6aWx5IGluaXRpYWxpemUgU0NNIHRvIG5vdCBlcnJvci1vdXQgYmVmb3Jl
IGNvbW1hbmQgbGluZSBwYXJzaW5nIChvciB3aGVuIHJ1bm5pbmcgbm9uLXNjbSBjb21tYW5kcyku
CiAgICAgICAgIG9yaWdpbmFsX2N3ZCA9IG9zLnBhdGguYWJzcGF0aCgiLiIpCkBAIC05Myw2ICs4
OSwxNCBAQCBjbGFzcyBCdWd6aWxsYVRvb2woTXVsdGlDb21tYW5kVG9vbCk6CiAgICAgICAgICAg
ICByZXR1cm4gc2VsZi5zY20oKS5zdXBwb3J0c19sb2NhbF9jb21taXRzKCkKICAgICAgICAgcmV0
dXJuIFRydWUKIAorICAgICMgRklYTUU6IFRoaXMgbWF5IGJlIHVubmVjZXNzYXJ5IHNpbmNlIHdl
IHBhc3MgZ2xvYmFsIG9wdGlvbnMgdG8gYWxsIGNvbW1hbmRzIGR1cmluZyBleGVjdXRlKCkgYXMg
d2VsbC4KKyAgICBkZWYgaGFuZGxlX2dsb2JhbF9vcHRpb25zKHNlbGYsIG9wdGlvbnMpOgorICAg
ICAgICBpZiBvcHRpb25zLmRyeV9ydW46CisgICAgICAgICAgICBzZWxmLnNjbSgpLmRyeXJ1biA9
IFRydWUKKyAgICAgICAgICAgIHNlbGYuYnVncy5kcnlydW4gPSBUcnVlCisgICAgICAgIGlmIG9w
dGlvbnMuc3RhdHVzX2hvc3Q6CisgICAgICAgICAgICBzZWxmLnN0YXR1c19ib3Quc2V0X2hvc3Qo
b3B0aW9ucy5zdGF0dXNfaG9zdCkKKwogICAgIGRlZiBzaG91bGRfZXhlY3V0ZV9jb21tYW5kKHNl
bGYsIGNvbW1hbmQpOgogICAgICAgICBpZiBjb21tYW5kLnJlcXVpcmVzX2xvY2FsX2NvbW1pdHMg
YW5kIG5vdCBzZWxmLnNjbSgpLnN1cHBvcnRzX2xvY2FsX2NvbW1pdHMoKToKICAgICAgICAgICAg
IGZhaWx1cmVfcmVhc29uID0gIiVzIHJlcXVpcmVzIGxvY2FsIGNvbW1pdHMgdXNpbmcgJXMgaW4g
JXMuIiAlIChjb21tYW5kLm5hbWUsIHNlbGYuc2NtKCkuZGlzcGxheV9uYW1lKCksIHNlbGYuc2Nt
KCkuY2hlY2tvdXRfcm9vdCkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxl
cy9tdWx0aWNvbW1hbmR0b29sLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL211bHRp
Y29tbWFuZHRvb2wucHkKaW5kZXggNTMzODRkMy4uNTBiZDExYyAxMDA2NDQKLS0tIGEvV2ViS2l0
VG9vbHMvU2NyaXB0cy9tb2R1bGVzL211bHRpY29tbWFuZHRvb2wucHkKKysrIGIvV2ViS2l0VG9v
bHMvU2NyaXB0cy9tb2R1bGVzL211bHRpY29tbWFuZHRvb2wucHkKQEAgLTQ2LDkgKzQ2LDIzIEBA
IGNsYXNzIENvbW1hbmQob2JqZWN0KToKICAgICAgICAgc2VsZi5hcmd1bWVudF9uYW1lcyA9IGFy
Z3VtZW50X25hbWVzCiAgICAgICAgIHNlbGYucmVxdWlyZWRfYXJndW1lbnRzID0gc2VsZi5fcGFy
c2VfcmVxdWlyZWRfYXJndW1lbnRzKGFyZ3VtZW50X25hbWVzKQogICAgICAgICBzZWxmLm9wdGlv
bnMgPSBvcHRpb25zCi0gICAgICAgIHNlbGYub3B0aW9uX3BhcnNlciA9IEhlbHBQcmludGluZ09w
dGlvblBhcnNlcih1c2FnZT1TVVBQUkVTU19VU0FHRSwgYWRkX2hlbHBfb3B0aW9uPUZhbHNlLCBv
cHRpb25fbGlzdD1zZWxmLm9wdGlvbnMpCiAgICAgICAgIHNlbGYucmVxdWlyZXNfbG9jYWxfY29t
bWl0cyA9IHJlcXVpcmVzX2xvY2FsX2NvbW1pdHMKICAgICAgICAgc2VsZi50b29sID0gTm9uZQor
ICAgICAgICAjIG9wdGlvbl9wYXJzZXIgY2FuIGJlIG92ZXJyaWRlbiBieSB0aGUgdG9vbCB1c2lu
ZyBzZXRfb3B0aW9uX3BhcnNlcgorICAgICAgICAjIFRoaXMgZGVmYXVsdCBwYXJzZXIgd2lsbCBi
ZSB1c2VkIGZvciBzdGFuZGFsb25lX2hlbHAgcHJpbnRpbmcuCisgICAgICAgIHNlbGYub3B0aW9u
X3BhcnNlciA9IEhlbHBQcmludGluZ09wdGlvblBhcnNlcih1c2FnZT1TVVBQUkVTU19VU0FHRSwg
YWRkX2hlbHBfb3B0aW9uPUZhbHNlLCBvcHRpb25fbGlzdD1zZWxmLm9wdGlvbnMpCisKKyAgICAj
IFRoaXMgZGVzaWduIGlzIHNsaWdodGx5IGF3a3dhcmQsIGJ1dCB3ZSBuZWVkIHRoZQorICAgICMg
dGhlIHRvb2wgdG8gYmUgYWJsZSB0byBjcmVhdGUgYW5kIG1vZGlmeSB0aGUgb3B0aW9uX3BhcnNl
cgorICAgICMgYmVmb3JlIGl0IGtub3dzIHdoYXQgQ29tbWFuZCB0byBydW4uCisgICAgZGVmIHNl
dF9vcHRpb25fcGFyc2VyKHNlbGYsIG9wdGlvbl9wYXJzZXIpOgorICAgICAgICBzZWxmLm9wdGlv
bl9wYXJzZXIgPSBvcHRpb25fcGFyc2VyCisgICAgICAgIHNlbGYuX2FkZF9vcHRpb25zX3RvX3Bh
cnNlcigpCisKKyAgICBkZWYgX2FkZF9vcHRpb25zX3RvX3BhcnNlcihzZWxmKToKKyAgICAgICAg
b3B0aW9ucyA9IHNlbGYub3B0aW9ucyBvciBbXQorICAgICAgICBmb3Igb3B0aW9uIGluIG9wdGlv
bnM6CisgICAgICAgICAgICBzZWxmLm9wdGlvbl9wYXJzZXIuYWRkX29wdGlvbihvcHRpb24pCiAK
ICAgICAjIFRoZSB0b29sIGNhbGxzIGJpbmRfdG9fdG9vbCBvbiBlYWNoIENvbW1hbmQgYWZ0ZXIg
YWRkaW5nIGl0IHRvIGl0cyBsaXN0LgogICAgIGRlZiBiaW5kX3RvX3Rvb2woc2VsZiwgdG9vbCk6
CkBAIC04NCwxOSArOTgsMTcgQEAgY2xhc3MgQ29tbWFuZChvYmplY3QpOgogICAgIGRlZiBwYXJz
ZV9hcmdzKHNlbGYsIGFyZ3MpOgogICAgICAgICByZXR1cm4gc2VsZi5vcHRpb25fcGFyc2VyLnBh
cnNlX2FyZ3MoYXJncykKIAotICAgIGRlZiBjaGVja19hcmd1bWVudHNfYW5kX2V4ZWN1dGUoc2Vs
ZiwgYXJnc19hZnRlcl9jb21tYW5kX25hbWUsIHRvb2wpOgotICAgICAgICAoY29tbWFuZF9vcHRp
b25zLCBjb21tYW5kX2FyZ3MpID0gc2VsZi5wYXJzZV9hcmdzKGFyZ3NfYWZ0ZXJfY29tbWFuZF9u
YW1lKQotCi0gICAgICAgIGlmIGxlbihjb21tYW5kX2FyZ3MpIDwgbGVuKHNlbGYucmVxdWlyZWRf
YXJndW1lbnRzKToKKyAgICBkZWYgY2hlY2tfYXJndW1lbnRzX2FuZF9leGVjdXRlKHNlbGYsIG9w
dGlvbnMsIGFyZ3MsIHRvb2w9Tm9uZSk6CisgICAgICAgIGlmIGxlbihhcmdzKSA8IGxlbihzZWxm
LnJlcXVpcmVkX2FyZ3VtZW50cyk6CiAgICAgICAgICAgICBsb2coIiVzIHJlcXVpcmVkLCAlcyBw
cm92aWRlZC4gIFByb3ZpZGVkOiAlcyAgUmVxdWlyZWQ6ICVzXG5TZWUgJyVzIGhlbHAgJXMnIGZv
ciB1c2FnZS4iICUgKAogICAgICAgICAgICAgICAgIHBsdXJhbGl6ZSgiYXJndW1lbnQiLCBsZW4o
c2VsZi5yZXF1aXJlZF9hcmd1bWVudHMpKSwKLSAgICAgICAgICAgICAgICBwbHVyYWxpemUoImFy
Z3VtZW50IiwgbGVuKGNvbW1hbmRfYXJncykpLAotICAgICAgICAgICAgICAgICInJXMnIiAlICIg
Ii5qb2luKGNvbW1hbmRfYXJncyksCisgICAgICAgICAgICAgICAgcGx1cmFsaXplKCJhcmd1bWVu
dCIsIGxlbihhcmdzKSksCisgICAgICAgICAgICAgICAgIiclcyciICUgIiAiLmpvaW4oYXJncyks
CiAgICAgICAgICAgICAgICAgIiAiLmpvaW4oc2VsZi5yZXF1aXJlZF9hcmd1bWVudHMpLAogICAg
ICAgICAgICAgICAgIHRvb2wubmFtZSgpLAogICAgICAgICAgICAgICAgIHNlbGYubmFtZSkpCiAg
ICAgICAgICAgICByZXR1cm4gMQotICAgICAgICByZXR1cm4gc2VsZi5leGVjdXRlKGNvbW1hbmRf
b3B0aW9ucywgY29tbWFuZF9hcmdzLCB0b29sKSBvciAwCisgICAgICAgIHJldHVybiBzZWxmLmV4
ZWN1dGUob3B0aW9ucywgYXJncywgdG9vbCkgb3IgMAogCiAgICAgZGVmIHN0YW5kYWxvbmVfaGVs
cChzZWxmKToKICAgICAgICAgaGVscF90ZXh0ID0gc2VsZi5uYW1lX3dpdGhfYXJndW1lbnRzKCku
bGp1c3QobGVuKHNlbGYubmFtZV93aXRoX2FyZ3VtZW50cygpKSArIDMpICsgc2VsZi5oZWxwX3Rl
eHQgKyAiXG4iCkBAIC0xMDYsNiArMTE4LDEyIEBAIGNsYXNzIENvbW1hbmQob2JqZWN0KToKICAg
ICBkZWYgZXhlY3V0ZShzZWxmLCBvcHRpb25zLCBhcmdzLCB0b29sKToKICAgICAgICAgcmFpc2Ug
Tm90SW1wbGVtZW50ZWRFcnJvciwgInN1YmNsYXNzZXMgbXVzdCBpbXBsZW1lbnQiCiAKKyAgICAj
IG1haW4oKSBleGlzdHMgc28gdGhhdCBDb21tYW5kcyBjYW4gYmUgdHVybmVkIGludG8gc3RhbmQt
YWxvbmUgc2NyaXB0cy4KKyAgICAjIE90aGVyIHBhcnRzIG9mIHRoZSBjb2RlIHdpbGwgbGlrZWx5
IHJlcXVpcmUgbW9kaWZpY2F0aW9uIHRvIHdvcmsgc3RhbmQtYWxvbmUuCisgICAgZGVmIG1haW4o
c2VsZiwgYXJncz1zeXMuYXJndik6CisgICAgICAgIChvcHRpb25zLCBhcmdzKSA9IHNlbGYucGFy
c2VfYXJncyhhcmdzKQorICAgICAgICAjIFNvbWUgY29tbWFuZHMgbWlnaHQgcmVxdWlyZSBhIGR1
bW15IHRvb2wKKyAgICAgICAgcmV0dXJuIHNlbGYuY2hlY2tfYXJndW1lbnRzX2FuZF9leGVjdXRl
KG9wdGlvbnMsIGFyZ3MpCiAKIGNsYXNzIEhlbHBQcmludGluZ09wdGlvblBhcnNlcihPcHRpb25Q
YXJzZXIpOgogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBlcGlsb2dfbWV0aG9kPU5vbmUsICphcmdz
LCAqKmt3YXJncyk6CkBAIC0xMTUsNiArMTMzLDcgQEAgY2xhc3MgSGVscFByaW50aW5nT3B0aW9u
UGFyc2VyKE9wdGlvblBhcnNlcik6CiAgICAgZGVmIGVycm9yKHNlbGYsIG1zZyk6CiAgICAgICAg
IHNlbGYucHJpbnRfdXNhZ2Uoc3lzLnN0ZGVycikKICAgICAgICAgZXJyb3JfbWVzc2FnZSA9ICIl
czogZXJyb3I6ICVzXG4iICUgKHNlbGYuZ2V0X3Byb2dfbmFtZSgpLCBtc2cpCisgICAgICAgICMg
VGhpcyBtZXRob2QgaXMgb3ZlcnJpZGVuIHRvIGFkZCB0aGlzIG9uZSBsaW5lIHRvIHRoZSBvdXRw
dXQ6CiAgICAgICAgIGVycm9yX21lc3NhZ2UgKz0gIlxuVHlwZSBcIiVzIC0taGVscFwiIHRvIHNl
ZSB1c2FnZS5cbiIgJSBzZWxmLmdldF9wcm9nX25hbWUoKQogICAgICAgICBzZWxmLmV4aXQoMSwg
ZXJyb3JfbWVzc2FnZSkKIApAQCAtMTUwLDcgKzE2OSwxMiBAQCBjbGFzcyBIZWxwQ29tbWFuZChD
b21tYW5kKToKICAgICAgICAgZXBpbG9nICs9ICIlc1xuIiAlICIiLmpvaW4oY29tbWFuZF9oZWxw
X3RleHRzKQogICAgICAgICBlcGlsb2cgKz0gIlNlZSAnJXByb2cgaGVscCAtLWFsbC1jb21tYW5k
cycgdG8gbGlzdCBhbGwgY29tbWFuZHMuXG4iCiAgICAgICAgIGVwaWxvZyArPSAiU2VlICclcHJv
ZyBoZWxwIENPTU1BTkQnIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIGEgc3BlY2lmaWMgY29tbWFu
ZC5cbiIKLSAgICAgICAgcmV0dXJuIHNlbGYudG9vbC5nbG9iYWxfb3B0aW9uX3BhcnNlci5leHBh
bmRfcHJvZ19uYW1lKGVwaWxvZykKKyAgICAgICAgcmV0dXJuIGVwaWxvZy5yZXBsYWNlKCIlcHJv
ZyIsIHNlbGYudG9vbC5uYW1lKCkpICMgVXNlIG9mICVwcm9nIGhlcmUgbWltaWNzIE9wdGlvblBh
cnNlci5leHBhbmRfcHJvZ19uYW1lKCkuCisKKyAgICAjIEZJWE1FOiBUaGlzIGlzIGEgaGFjayBz
byB0aGF0IHdlIGRvbid0IHNob3cgLS1hbGwtY29tbWFuZHMgYXMgYSBnbG9iYWwgb3B0aW9uOgor
ICAgIGRlZiBfcmVtb3ZlX2hlbHBfb3B0aW9ucyhzZWxmKToKKyAgICAgICAgZm9yIG9wdGlvbiBp
biBzZWxmLm9wdGlvbnM6CisgICAgICAgICAgICBzZWxmLm9wdGlvbl9wYXJzZXIucmVtb3ZlX29w
dGlvbihvcHRpb24uZ2V0X29wdF9zdHJpbmcoKSkKIAogICAgIGRlZiBleGVjdXRlKHNlbGYsIG9w
dGlvbnMsIGFyZ3MsIHRvb2wpOgogICAgICAgICBpZiBhcmdzOgpAQCAtMTYwLDEyICsxODQsMTYg
QEAgY2xhc3MgSGVscENvbW1hbmQoQ29tbWFuZCk6CiAgICAgICAgICAgICAgICAgcmV0dXJuIDAK
IAogICAgICAgICBzZWxmLnNob3dfYWxsX2NvbW1hbmRzID0gb3B0aW9ucy5zaG93X2FsbF9jb21t
YW5kcwotICAgICAgICB0b29sLmdsb2JhbF9vcHRpb25fcGFyc2VyLnByaW50X2hlbHAoKQorICAg
ICAgICBzZWxmLl9yZW1vdmVfaGVscF9vcHRpb25zKCkKKyAgICAgICAgc2VsZi5vcHRpb25fcGFy
c2VyLnByaW50X2hlbHAoKQogICAgICAgICByZXR1cm4gMAogCiAKIGNsYXNzIE11bHRpQ29tbWFu
ZFRvb2wob2JqZWN0KToKKyAgICBnbG9iYWxfb3B0aW9ucyA9IE5vbmUKKwogICAgIGRlZiBfX2lu
aXRfXyhzZWxmLCBuYW1lPU5vbmUsIGNvbW1hbmRzPU5vbmUpOgorICAgICAgICBzZWxmLl9uYW1l
ID0gbmFtZSBvciBPcHRpb25QYXJzZXIocHJvZz1uYW1lKS5nZXRfcHJvZ19uYW1lKCkgIyBPcHRp
b25QYXJzZXIgaGFzIG5pY2UgbG9naWMgZm9yIGZldGNoaW5nIHRoZSBuYW1lLgogICAgICAgICAj
IEFsbG93IHRoZSB1bml0IHRlc3RzIHRvIGRpc2FibGUgY29tbWFuZCBhdXRvLWRpc2NvdmVyeS4K
ICAgICAgICAgc2VsZi5jb21tYW5kcyA9IGNvbW1hbmRzIG9yIFtjbHMoKSBmb3IgY2xzIGluIHNl
bGYuX2ZpbmRfYWxsX2NvbW1hbmRzKCkgaWYgY2xzLm5hbWVdCiAgICAgICAgIHNlbGYuaGVscF9j
b21tYW5kID0gc2VsZi5jb21tYW5kX2J5X25hbWUoSGVscENvbW1hbmQubmFtZSkKQEAgLTE3NSw3
ICsyMDMsNiBAQCBjbGFzcyBNdWx0aUNvbW1hbmRUb29sKG9iamVjdCk6CiAgICAgICAgICAgICBz
ZWxmLmNvbW1hbmRzLmFwcGVuZChzZWxmLmhlbHBfY29tbWFuZCkKICAgICAgICAgZm9yIGNvbW1h
bmQgaW4gc2VsZi5jb21tYW5kczoKICAgICAgICAgICAgIGNvbW1hbmQuYmluZF90b190b29sKHNl
bGYpCi0gICAgICAgIHNlbGYuZ2xvYmFsX29wdGlvbl9wYXJzZXIgPSBIZWxwUHJpbnRpbmdPcHRp
b25QYXJzZXIoZXBpbG9nX21ldGhvZD1zZWxmLmhlbHBfY29tbWFuZC5faGVscF9lcGlsb2csIHBy
b2c9bmFtZSwgdXNhZ2U9c2VsZi5fdXNhZ2VfbGluZSgpKQogCiAgICAgQGNsYXNzbWV0aG9kCiAg
ICAgZGVmIF9hZGRfYWxsX3N1YmNsYXNzZXMoY2xzLCBjbGFzc190b19jcmF3bCwgc2Vlbl9jbGFz
c2VzKToKQEAgLTE5MCwyMSArMjE3LDE1IEBAIGNsYXNzIE11bHRpQ29tbWFuZFRvb2wob2JqZWN0
KToKICAgICAgICAgY2xzLl9hZGRfYWxsX3N1YmNsYXNzZXMoQ29tbWFuZCwgY29tbWFuZHMpCiAg
ICAgICAgIHJldHVybiBzb3J0ZWQoY29tbWFuZHMpCiAKLSAgICBAc3RhdGljbWV0aG9kCi0gICAg
ZGVmIF91c2FnZV9saW5lKCk6Ci0gICAgICAgIHJldHVybiAiVXNhZ2U6ICVwcm9nIFtvcHRpb25z
XSBDT01NQU5EIFtBUkdTXSIKLQogICAgIGRlZiBuYW1lKHNlbGYpOgotICAgICAgICByZXR1cm4g
c2VsZi5nbG9iYWxfb3B0aW9uX3BhcnNlci5nZXRfcHJvZ19uYW1lKCkKKyAgICAgICAgcmV0dXJu
IHNlbGYuX25hbWUKIAotICAgIGRlZiBoYW5kbGVfZ2xvYmFsX2FyZ3Moc2VsZiwgYXJncyk6Ci0g
ICAgICAgIChvcHRpb25zLCBhcmdzKSA9IHNlbGYuZ2xvYmFsX29wdGlvbl9wYXJzZXIucGFyc2Vf
YXJncyhhcmdzKQotICAgICAgICAjIFdlIHNob3VsZCBuZXZlciBoaXQgdGhpcyBiZWNhdXNlIF9z
cGxpdF9hcmdzIHNwbGl0cyBhdCB0aGUgZmlyc3QgYXJnIHdpdGhvdXQgYSBsZWFkaW5nICItIi4K
LSAgICAgICAgaWYgYXJnczoKLSAgICAgICAgICAgIHNlbGYuZ2xvYmFsX29wdGlvbl9wYXJzZXIu
ZXJyb3IoIkV4dHJhIGFyZ3VtZW50cyBiZWZvcmUgY29tbWFuZDogJXMiICUgYXJncykKKyAgICBk
ZWYgX2NyZWF0ZV9vcHRpb25fcGFyc2VyKHNlbGYpOgorICAgICAgICB1c2FnZSA9ICJVc2FnZTog
JXByb2cgW29wdGlvbnNdIENPTU1BTkQgW0FSR1NdIgorICAgICAgICByZXR1cm4gSGVscFByaW50
aW5nT3B0aW9uUGFyc2VyKGVwaWxvZ19tZXRob2Q9c2VsZi5oZWxwX2NvbW1hbmQuX2hlbHBfZXBp
bG9nLCBwcm9nPXNlbGYubmFtZSgpLCB1c2FnZT11c2FnZSkKIAogICAgIEBzdGF0aWNtZXRob2QK
LSAgICBkZWYgX3NwbGl0X2FyZ3MoYXJncyk6CisgICAgZGVmIF9zcGxpdF9jb21tYW5kX25hbWVf
ZnJvbV9hcmdzKGFyZ3MpOgogICAgICAgICAjIEFzc3VtZSB0aGUgZmlyc3QgYXJndW1lbnQgd2hp
Y2ggZG9lc24ndCBzdGFydCB3aXRoICItIiBpcyB0aGUgY29tbWFuZCBuYW1lLgogICAgICAgICBj
b21tYW5kX2luZGV4ID0gMAogICAgICAgICBmb3IgYXJnIGluIGFyZ3M6CkBAIC0yMTIsMTIgKzIz
MywxMCBAQCBjbGFzcyBNdWx0aUNvbW1hbmRUb29sKG9iamVjdCk6CiAgICAgICAgICAgICAgICAg
YnJlYWsKICAgICAgICAgICAgIGNvbW1hbmRfaW5kZXggKz0gMQogICAgICAgICBlbHNlOgotICAg
ICAgICAgICAgcmV0dXJuIChhcmdzWzpdLCBOb25lLCBbXSkKKyAgICAgICAgICAgIHJldHVybiAo
Tm9uZSwgYXJnc1s6XSkKIAotICAgICAgICBnbG9iYWxfYXJncyA9IGFyZ3NbOmNvbW1hbmRfaW5k
ZXhdCiAgICAgICAgIGNvbW1hbmQgPSBhcmdzW2NvbW1hbmRfaW5kZXhdCi0gICAgICAgIGNvbW1h
bmRfYXJncyA9IGFyZ3NbY29tbWFuZF9pbmRleCArIDE6XQotICAgICAgICByZXR1cm4gKGdsb2Jh
bF9hcmdzLCBjb21tYW5kLCBjb21tYW5kX2FyZ3MpCisgICAgICAgIHJldHVybiAoY29tbWFuZCwg
YXJnc1s6Y29tbWFuZF9pbmRleF0gKyBhcmdzW2NvbW1hbmRfaW5kZXggKyAxOl0pCiAKICAgICBk
ZWYgY29tbWFuZF9ieV9uYW1lKHNlbGYsIGNvbW1hbmRfbmFtZSk6CiAgICAgICAgIGZvciBjb21t
YW5kIGluIHNlbGYuY29tbWFuZHM6CkBAIC0yMzIsMjEgKzI1MSwzMyBAQCBjbGFzcyBNdWx0aUNv
bW1hbmRUb29sKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBjb21tYW5kLnNob3dfaW5fbWFpbl9o
ZWxwCiAKICAgICBkZWYgc2hvdWxkX2V4ZWN1dGVfY29tbWFuZChzZWxmLCBjb21tYW5kKToKLSAg
ICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvciwgInN1YmNsYXNzZXMgbXVzdCBpbXBsZW1l
bnQiCisgICAgICAgIHJldHVybiBUcnVlCisKKyAgICBkZWYgX2FkZF9nbG9iYWxfb3B0aW9ucyhz
ZWxmLCBvcHRpb25fcGFyc2VyKToKKyAgICAgICAgZ2xvYmFsX29wdGlvbnMgPSBzZWxmLmdsb2Jh
bF9vcHRpb25zIG9yIFtdCisgICAgICAgIGZvciBvcHRpb24gaW4gZ2xvYmFsX29wdGlvbnM6Cisg
ICAgICAgICAgICBvcHRpb25fcGFyc2VyLmFkZF9vcHRpb24ob3B0aW9uKQorCisgICAgZGVmIGhh
bmRsZV9nbG9iYWxfb3B0aW9ucyhzZWxmLCBvcHRpb25zKToKKyAgICAgICAgcGFzcwogCiAgICAg
ZGVmIG1haW4oc2VsZiwgYXJndj1zeXMuYXJndik6Ci0gICAgICAgIChnbG9iYWxfYXJncywgY29t
bWFuZF9uYW1lLCBhcmdzX2FmdGVyX2NvbW1hbmRfbmFtZSkgPSBzZWxmLl9zcGxpdF9hcmdzKGFy
Z3ZbMTpdKQorICAgICAgICAoY29tbWFuZF9uYW1lLCBhcmdzKSA9IHNlbGYuX3NwbGl0X2NvbW1h
bmRfbmFtZV9mcm9tX2FyZ3MoYXJndlsxOl0pCiAKLSAgICAgICAgIyBIYW5kbGUgLS1oZWxwLCBl
dGM6Ci0gICAgICAgIHNlbGYuaGFuZGxlX2dsb2JhbF9hcmdzKGdsb2JhbF9hcmdzKQorICAgICAg
ICBvcHRpb25fcGFyc2VyID0gc2VsZi5fY3JlYXRlX29wdGlvbl9wYXJzZXIoKQorICAgICAgICBz
ZWxmLl9hZGRfZ2xvYmFsX29wdGlvbnMob3B0aW9uX3BhcnNlcikKIAogICAgICAgICBjb21tYW5k
ID0gc2VsZi5jb21tYW5kX2J5X25hbWUoY29tbWFuZF9uYW1lKSBvciBzZWxmLmhlbHBfY29tbWFu
ZAogICAgICAgICBpZiBub3QgY29tbWFuZDoKLSAgICAgICAgICAgIHNlbGYuZ2xvYmFsX29wdGlv
bl9wYXJzZXIuZXJyb3IoIiVzIGlzIG5vdCBhIHJlY29nbml6ZWQgY29tbWFuZCIgJSBjb21tYW5k
X25hbWUpCisgICAgICAgICAgICBvcHRpb25fcGFyc2VyLmVycm9yKCIlcyBpcyBub3QgYSByZWNv
Z25pemVkIGNvbW1hbmQiICUgY29tbWFuZF9uYW1lKQorCisgICAgICAgIGNvbW1hbmQuc2V0X29w
dGlvbl9wYXJzZXIob3B0aW9uX3BhcnNlcikKKyAgICAgICAgKG9wdGlvbnMsIGFyZ3MpID0gY29t
bWFuZC5wYXJzZV9hcmdzKGFyZ3MpCisgICAgICAgIHNlbGYuaGFuZGxlX2dsb2JhbF9vcHRpb25z
KG9wdGlvbnMpCiAKICAgICAgICAgKHNob3VsZF9leGVjdXRlLCBmYWlsdXJlX3JlYXNvbikgPSBz
ZWxmLnNob3VsZF9leGVjdXRlX2NvbW1hbmQoY29tbWFuZCkKICAgICAgICAgaWYgbm90IHNob3Vs
ZF9leGVjdXRlOgogICAgICAgICAgICAgbG9nKGZhaWx1cmVfcmVhc29uKQotICAgICAgICAgICAg
cmV0dXJuIDAKKyAgICAgICAgICAgIHJldHVybiAwICMgRklYTUU6IFNob3VsZCB0aGlzIHJlYWxs
eSBiZSAwPwogCi0gICAgICAgIHJldHVybiBjb21tYW5kLmNoZWNrX2FyZ3VtZW50c19hbmRfZXhl
Y3V0ZShhcmdzX2FmdGVyX2NvbW1hbmRfbmFtZSwgc2VsZikKKyAgICAgICAgcmV0dXJuIGNvbW1h
bmQuY2hlY2tfYXJndW1lbnRzX2FuZF9leGVjdXRlKG9wdGlvbnMsIGFyZ3MsIHNlbGYpCmRpZmYg
LS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvbXVsdGljb21tYW5kdG9vbF91bml0
dGVzdC5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9tdWx0aWNvbW1hbmR0b29sX3Vu
aXR0ZXN0LnB5CmluZGV4IGFkODcyYzkuLjdmNDg1YTIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xz
L1NjcmlwdHMvbW9kdWxlcy9tdWx0aWNvbW1hbmR0b29sX3VuaXR0ZXN0LnB5CisrKyBiL1dlYktp
dFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9tdWx0aWNvbW1hbmR0b29sX3VuaXR0ZXN0LnB5CkBAIC02
NCw3ICs2NCw3IEBAIGNsYXNzIENvbW1hbmRUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBk
ZWYgdGVzdF9yZXF1aXJlZF9hcmd1bWVudHMoc2VsZik6CiAgICAgICAgIHR3b19yZXF1aXJlZF9h
cmd1bWVudHMgPSBUcml2aWFsQ29tbWFuZChhcmd1bWVudF9uYW1lcz0iQVJHMSBBUkcyIFtBUkcz
XSIpCiAgICAgICAgIGV4cGVjdGVkX21pc3NpbmdfYXJnc19lcnJvciA9ICIyIGFyZ3VtZW50cyBy
ZXF1aXJlZCwgMSBhcmd1bWVudCBwcm92aWRlZC4gIFByb3ZpZGVkOiAnZm9vJyAgUmVxdWlyZWQ6
IEFSRzEgQVJHMlxuU2VlICd0cml2aWFsLXRvb2wgaGVscCB0cml2aWFsJyBmb3IgdXNhZ2UuXG4i
Ci0gICAgICAgIGV4aXRfY29kZSA9IE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxm
LCB0d29fcmVxdWlyZWRfYXJndW1lbnRzLmNoZWNrX2FyZ3VtZW50c19hbmRfZXhlY3V0ZSwgW1si
Zm9vIl0sIFRyaXZpYWxUb29sKCldLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfbWlzc2luZ19h
cmdzX2Vycm9yKQorICAgICAgICBleGl0X2NvZGUgPSBPdXRwdXRDYXB0dXJlKCkuYXNzZXJ0X291
dHB1dHMoc2VsZiwgdHdvX3JlcXVpcmVkX2FyZ3VtZW50cy5jaGVja19hcmd1bWVudHNfYW5kX2V4
ZWN1dGUsIFtOb25lLCBbImZvbyJdLCBUcml2aWFsVG9vbCgpXSwgZXhwZWN0ZWRfc3RkZXJyPWV4
cGVjdGVkX21pc3NpbmdfYXJnc19lcnJvcikKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChleGl0
X2NvZGUsIDEpCiAKIApAQCAtODEsMjAgKzgxLDIwIEBAIGNsYXNzIFRyaXZpYWxUb29sKE11bHRp
Q29tbWFuZFRvb2wpOgogCiBjbGFzcyBNdWx0aUNvbW1hbmRUb29sVGVzdCh1bml0dGVzdC5UZXN0
Q2FzZSk6CiAgICAgZGVmIF9hc3NlcnRfc3BsaXQoc2VsZiwgYXJncywgZXhwZWN0ZWRfc3BsaXQp
OgotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE11bHRpQ29tbWFuZFRvb2wuX3NwbGl0X2FyZ3Mo
YXJncyksIGV4cGVjdGVkX3NwbGl0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKE11bHRpQ29t
bWFuZFRvb2wuX3NwbGl0X2NvbW1hbmRfbmFtZV9mcm9tX2FyZ3MoYXJncyksIGV4cGVjdGVkX3Nw
bGl0KQogCiAgICAgZGVmIHRlc3Rfc3BsaXRfYXJncyhzZWxmKToKLSAgICAgICAgIyBNdWx0aUNv
bW1hbmRUb29sVGVzdC5fc3BsaXRfYXJncyByZXR1cm5zOiAoZ2xvYmFsX2FyZ3MsIGNvbW1hbmQs
IGNvbW1hbmRfYXJncykKKyAgICAgICAgIyBNdWx0aUNvbW1hbmRUb29sVGVzdC5fc3BsaXRfY29t
bWFuZF9uYW1lX2Zyb21fYXJncyByZXR1cm5zOiAoY29tbWFuZCwgYXJncykKICAgICAgICAgZnVs
bF9hcmdzID0gWyItLWdsb2JhbC1vcHRpb24iLCAiY29tbWFuZCIsICItLW9wdGlvbiIsICJhcmci
XQotICAgICAgICBmdWxsX2FyZ3NfZXhwZWN0ZWQgPSAoWyItLWdsb2JhbC1vcHRpb24iXSwgImNv
bW1hbmQiLCBbIi0tb3B0aW9uIiwgImFyZyJdKQorICAgICAgICBmdWxsX2FyZ3NfZXhwZWN0ZWQg
PSAoImNvbW1hbmQiLCBbIi0tZ2xvYmFsLW9wdGlvbiIsICItLW9wdGlvbiIsICJhcmciXSkKICAg
ICAgICAgc2VsZi5fYXNzZXJ0X3NwbGl0KGZ1bGxfYXJncywgZnVsbF9hcmdzX2V4cGVjdGVkKQog
CiAgICAgICAgIGZ1bGxfYXJncyA9IFtdCi0gICAgICAgIGZ1bGxfYXJnc19leHBlY3RlZCA9IChb
XSwgTm9uZSwgW10pCisgICAgICAgIGZ1bGxfYXJnc19leHBlY3RlZCA9IChOb25lLCBbXSkKICAg
ICAgICAgc2VsZi5fYXNzZXJ0X3NwbGl0KGZ1bGxfYXJncywgZnVsbF9hcmdzX2V4cGVjdGVkKQog
CiAgICAgICAgIGZ1bGxfYXJncyA9IFsiY29tbWFuZCIsICJhcmciXQotICAgICAgICBmdWxsX2Fy
Z3NfZXhwZWN0ZWQgPSAoW10sICJjb21tYW5kIiwgWyJhcmciXSkKKyAgICAgICAgZnVsbF9hcmdz
X2V4cGVjdGVkID0gKCJjb21tYW5kIiwgWyJhcmciXSkKICAgICAgICAgc2VsZi5fYXNzZXJ0X3Nw
bGl0KGZ1bGxfYXJncywgZnVsbF9hcmdzX2V4cGVjdGVkKQogCiAgICAgZGVmIHRlc3RfY29tbWFu
ZF9ieV9uYW1lKHNlbGYpOgpAQCAtMTIxLDYgKzEyMSw3IEBAIFNlZSAndHJpdmlhbC10b29sIGhl
bHAgLS1hbGwtY29tbWFuZHMnIHRvIGxpc3QgYWxsIGNvbW1hbmRzLgogU2VlICd0cml2aWFsLXRv
b2wgaGVscCBDT01NQU5EJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiBhIHNwZWNpZmljIGNvbW1h
bmQuCiAKICIiIgorICAgICAgICBzZWxmLl9hc3NlcnRfdG9vbF9tYWluX291dHB1dHModG9vbCwg
WyJ0b29sIl0sIGV4cGVjdGVkX2NvbW1vbl9jb21tYW5kc19oZWxwKQogICAgICAgICBzZWxmLl9h
c3NlcnRfdG9vbF9tYWluX291dHB1dHModG9vbCwgWyJ0b29sIiwgImhlbHAiXSwgZXhwZWN0ZWRf
Y29tbW9uX2NvbW1hbmRzX2hlbHApCiAgICAgICAgIGV4cGVjdGVkX2FsbF9jb21tYW5kc19oZWxw
ID0gIiIiVXNhZ2U6IHRyaXZpYWwtdG9vbCBbb3B0aW9uc10gQ09NTUFORCBbQVJHU10KIApAQCAt
MTM3LDYgKzEzOCw5IEBAIFNlZSAndHJpdmlhbC10b29sIGhlbHAgQ09NTUFORCcgZm9yIG1vcmUg
aW5mb3JtYXRpb24gb24gYSBzcGVjaWZpYyBjb21tYW5kLgogCiAiIiIKICAgICAgICAgc2VsZi5f
YXNzZXJ0X3Rvb2xfbWFpbl9vdXRwdXRzKHRvb2wsIFsidG9vbCIsICJoZWxwIiwgIi0tYWxsLWNv
bW1hbmRzIl0sIGV4cGVjdGVkX2FsbF9jb21tYW5kc19oZWxwKQorICAgICAgICAjIFRlc3QgdGhh
dCBhcmd1bWVudHMgY2FuIGJlIHBhc3NlZCBiZWZvcmUgY29tbWFuZHMgYXMgd2VsbAorICAgICAg
ICBzZWxmLl9hc3NlcnRfdG9vbF9tYWluX291dHB1dHModG9vbCwgWyJ0b29sIiwgIi0tYWxsLWNv
bW1hbmRzIiwgImhlbHAiXSwgZXhwZWN0ZWRfYWxsX2NvbW1hbmRzX2hlbHApCisKIAogICAgIGRl
ZiB0ZXN0X2NvbW1hbmRfaGVscChzZWxmKToKICAgICAgICAgY29tbWFuZF93aXRoX29wdGlvbnMg
PSBUcml2aWFsQ29tbWFuZChvcHRpb25zPVttYWtlX29wdGlvbigiLS1teV9vcHRpb24iKV0pCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>