<?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>58086</bug_id>
          
          <creation_ts>2011-04-07 14:58:13 -0700</creation_ts>
          <short_desc>Add stub support for generating Gtk build system from gyp</short_desc>
          <delta_ts>2011-04-07 22:18:48 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>55018</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>abarth</cc>
    
    <cc>mrobinson</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>381747</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-07 14:58:13 -0700</bug_when>
    <thetext>Add stub support for generating Gtk build system from gyp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381751</commentid>
    <comment_count>1</comment_count>
      <attachid>88708</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-07 15:00:05 -0700</bug_when>
    <thetext>Created attachment 88708
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381763</commentid>
    <comment_count>2</comment_count>
      <attachid>88708</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-04-07 15:08:31 -0700</bug_when>
    <thetext>Comment on attachment 88708
Patch

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

&gt; Source/JavaScriptCore/gyp/gtk.gyp:11
&gt; +  &apos;variables&apos;: {
&gt; +    &apos;javascriptcore_include_dirs&apos;: [
&gt; +      &apos;&lt;(project_dir)&apos;,
&gt; +      &apos;&lt;(project_dir)/icu&apos;,
&gt; +    ],
&gt; +  },

I&apos;d skip this part.  This isn&apos;t correct because Gtk doesn&apos;t have header maps.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381765</commentid>
    <comment_count>3</comment_count>
      <attachid>88714</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-07 15:10:33 -0700</bug_when>
    <thetext>Created attachment 88714
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381803</commentid>
    <comment_count>4</comment_count>
      <attachid>88720</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-07 15:56:14 -0700</bug_when>
    <thetext>Created attachment 88720
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381807</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-07 15:58:27 -0700</bug_when>
    <thetext>Attachment 88720 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;ChangeLog&apos;, u&apos;Source/JavaScriptCore/Change...&quot; exit_code: 1

Source/ThirdParty/gyp/pylib/gyp/generator/filelist.py:25:  indentation is not a multiple of four  [pep8/E111] [5]
Source/ThirdParty/gyp/pylib/gyp/generator/filelist.py:27:  indentation is not a multiple of four  [pep8/E111] [5]
Source/ThirdParty/gyp/pylib/gyp/generator/filelist.py:30:  indentation is not a multiple of four  [pep8/E111] [5]
Source/ThirdParty/gyp/pylib/gyp/generator/filelist.py:32:  at least two spaces before inline comment  [pep8/E261] [5]
Source/ThirdParty/gyp/pylib/gyp/generator/filelist.py:37:  indentation is not a multiple of four  [pep8/E111] [5]
Source/ThirdParty/gyp/pylib/gyp/generator/filelist.py:40:  at least two spaces before inline comment  [pep8/E261] [5]
Total errors found: 6 in 7 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>381812</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-07 16:03:53 -0700</bug_when>
    <thetext>Committed r83225: &lt;http://trac.webkit.org/changeset/83225&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88708</attachid>
            <date>2011-04-07 15:00:05 -0700</date>
            <delta_ts>2011-04-07 15:10:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58086-20110407150003.patch</filename>
            <type>text/plain</type>
            <size>14611</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODMyMDMKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCA4MTUyNmE3MTE1NWI1OGNiYjBhNjExZDE3YjdkZWQ3Y2E1YmQ3ZGZhLi4zZDYw
OGJiZDMzZWY4ZTBmMDY4MjM3NGVlMzMwMjgzY2UxOWMwOTM4IDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDQtMDcgIEVyaWMgU2Vp
ZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBzdHViIHN1cHBvcnQgZm9yIGdlbmVyYXRpbmcgR3RrIGJ1aWxk
IHN5c3RlbSBmcm9tIGd5cAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTgwODYKKworICAgICAgICBUaGlzIGFkZHMgc3VwcG9ydCBmb3IgYSBuZXcgLS1w
b3J0IGFyZ3VtZW50IGFuZCBwbHVtYnMgdGhyb3VnaAorICAgICAgICB0aGUgbmVjZXNzYXJ5IHBh
dGhzIHRvIGFsbG93IGdlbmVyYXRpbmcgZm9yIGEgcG9ydCBvdGhlciB0aGFuIE1hYy4KKworICAg
ICAgICAqIFNvdXJjZS9neXAvY29uZmlndXJlOgorCiAyMDExLTA0LTA2ICBEYWkgTWlrdXJ1YmUg
IDxkbWlrdXJ1YmVAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmlkIExl
dmluLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggN2FkMDlmMGEwMGRlOTIxMWZmY2QzN2Fj
YTliYTAwMzhkMzE5OGQ4MC4uMDRiZmIzNjU2MmVkMjk0MzYxNmJkYTIwYTQ1OTk1OTFmYjVmNmE1
NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDQtMDcg
IEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdHViIHN1cHBvcnQgZm9yIGdlbmVyYXRpbmcg
R3RrIGJ1aWxkIHN5c3RlbSBmcm9tIGd5cAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTgwODYKKworICAgICAgICBUaGlzIGRvZXMgbm90IHByb2R1Y2Ug
YSBidWlsZGFibGUgSmF2YVNjcmlwdENvcmUsIGJ1dCBpdAorICAgICAgICBkb2VzIGFsbG93IHJ1
bm5pbmcgZ3lwL2NvbmZpZ3VyZSAtLXBvcnQ9Z3RrIGFuZCBoYXZpbmcKKyAgICAgICAgaXQgZ2Vu
ZXJhdGUgYSBndGsuTWFrZWZpbGUgd2hpY2ggd2UgY2FuIHVzZSBmb3IgdGVzdGluZworICAgICAg
ICB0aGUgcmVzdCBvZiB0aGUgcGx1bWJpbmcuCisKKyAgICAgICAgKiBneXAvZ3RrLmd5cDogQWRk
ZWQuCisKIDIwMTEtMDQtMDYgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmIEdhcmVuLgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2d5cC9ndGsuZ3lwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2d5
cC9ndGsuZ3lwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA2ZDQ4NzgwMjU0ZTgwYWVhNzM5ZDY0ZWEyOTQ0N2I3OTlk
ODIxNTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZ3lwL2d0ay5n
eXAKQEAgLTAsMCArMSwxMTMgQEAKK3sKKyAgJ2luY2x1ZGVzJzogWworICAgICcuLi8uLi9neXAv
Y29tbW9uLmd5cGknLAorICAgICcuLi9KYXZhU2NyaXB0Q29yZS5neXBpJywKKyAgXSwKKyAgJ3Zh
cmlhYmxlcyc6IHsKKyAgICAnamF2YXNjcmlwdGNvcmVfaW5jbHVkZV9kaXJzJzogWworICAgICAg
JzwocHJvamVjdF9kaXIpJywKKyAgICAgICc8KHByb2plY3RfZGlyKS9pY3UnLAorICAgIF0sCisg
IH0sCisgICd0YXJnZXRzJzogWworICAgIHsKKyAgICAgICd0YXJnZXRfbmFtZSc6ICdKYXZhU2Ny
aXB0Q29yZScsCisgICAgICAndHlwZSc6ICdzaGFyZWRfbGlicmFyeScsCisgICAgICAnZGVwZW5k
ZW5jaWVzJzogWworICAgICAgICAnRGVyaXZlZCBTb3VyY2VzJywKKyAgICAgIF0sCisgICAgICAn
aW5jbHVkZV9kaXJzJzogWworICAgICAgICAnPEAoamF2YXNjcmlwdGNvcmVfaW5jbHVkZV9kaXJz
KScsCisgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29y
ZScsCisgICAgICBdLAorICAgICAgJ3NvdXJjZXMnOiBbCisgICAgICAgICc8QChqYXZhc2NyaXB0
Y29yZV9maWxlcyknLAorICAgICAgICAnPEAoamF2YXNjcmlwdGNvcmVfcHVibGljaGVhZGVyX2Zp
bGVzKScsCisgICAgICAgICc8QChqYXZhc2NyaXB0Y29yZV9wcml2YXRlaGVhZGVyX2ZpbGVzKScs
CisgICAgICAgICc8QChqYXZhc2NyaXB0Y29yZV9kZXJpdmVkX3NvdXJjZV9maWxlcyknLAorICAg
ICAgXSwKKyAgICAgICdzb3VyY2VzLyc6IFsKKyAgICAgICAgWydleGNsdWRlJywgJ0FQSS90ZXN0
cy8nXSwKKyAgICAgICAgWydleGNsdWRlJywgJ0ZvcndhcmRpbmdIZWFkZXJzLyddLAorICAgICAg
ICBbJ2V4Y2x1ZGUnLCAnKD88IXVuaWNvZGUpL2ljdS8nXSwKKyAgICAgICAgWydleGNsdWRlJywg
J29zLXdpbjMyLyddLAorICAgICAgICBbJ2V4Y2x1ZGUnLCAncXQvJ10sCisgICAgICAgIFsnZXhj
bHVkZScsICd3dGYvKGFuZHJvaWR8YnJld3xlZmx8bWFjfGhhaWt1fHF0fHdpbmNlfHd4KS8nXSwK
KyAgICAgICAgWydleGNsdWRlJywgJ3d0Zi91bmljb2RlL2JyZXcvJ10sCisgICAgICAgIFsnZXhj
bHVkZScsICd3dGYvdW5pY29kZS9xdDQvJ10sCisgICAgICAgIFsnZXhjbHVkZScsICd3dGYvdW5p
Y29kZS93aW5jZS8nXSwKKyAgICAgICAgWydleGNsdWRlJywgJ3d0Zi91cmwvJ10sCisgICAgICAg
IFsnZXhjbHVkZScsICcoRGVmYXVsdHxNYWN8Q2hyb21pdW18Tm9uZXxRdHxXaW58V3h8U3ltYmlh
bilcXC4oY3BwfG1tfGgpJCddLAorICAgICAgICBbJ2V4Y2x1ZGUnLCAnR0NBY3Rpdml0eUNhbGxi
YWNrXC5jcHAkJ10sCisgICAgICAgIFsnZXhjbHVkZScsICdCU1RSW14vXSokJ10sCisgICAgICBd
LAorICAgIH0sCisgICAgeworICAgICAgJ3RhcmdldF9uYW1lJzogJ21pbmlkb20nLAorICAgICAg
J3R5cGUnOiAnZXhlY3V0YWJsZScsCisgICAgICAnZGVwZW5kZW5jaWVzJzogWworICAgICAgICAn
SmF2YVNjcmlwdENvcmUnLAorICAgICAgXSwKKyAgICAgICdpbmNsdWRlX2RpcnMnOiBbCisgICAg
ICAgICc8QChqYXZhc2NyaXB0Y29yZV9pbmNsdWRlX2RpcnMpJywKKyAgICAgIF0sCisgICAgICAn
c291cmNlcyc6IFsKKyAgICAgICAgJzxAKG1pbmlkb21fZmlsZXMpJywKKyAgICAgIF0sCisgICAg
ICAnY29waWVzJzogW3sKKyAgICAgICAgJ2Rlc3RpbmF0aW9uJzogJzwoUFJPRFVDVF9ESVIpJywK
KyAgICAgICAgJ2ZpbGVzJzogWworICAgICAgICAgICc8QChtaW5pZG9tX3N1cHBvcnRfZmlsZXMp
JywKKyAgICAgICAgXSwKKyAgICAgIH1dLAorICAgIH0sCisgICAgeworICAgICAgJ3RhcmdldF9u
YW1lJzogJ0Rlcml2ZWQgU291cmNlcycsCisgICAgICAndHlwZSc6ICdub25lJywKKyAgICAgICdh
Y3Rpb25zJzogWworICAgICAgICB7CisgICAgICAgICAgJ2FjdGlvbl9uYW1lJzogJ0dlbmVyYXRl
IERlcml2ZWQgU291cmNlcycsCisgICAgICAgICAgJ2lucHV0cyc6IFtdLAorICAgICAgICAgICdv
dXRwdXRzJzogWworICAgICAgICAgICAgJzxAKGphdmFzY3JpcHRjb3JlX2Rlcml2ZWRfc291cmNl
X2ZpbGVzKScsCisgICAgICAgICAgXSwKKyAgICAgICAgICAnYWN0aW9uJzogWworICAgICAgICAg
ICAgJ3NoJywgJ2dlbmVyYXRlLWRlcml2ZWQtc291cmNlcy5zaCcKKyAgICAgICAgICBdLAorICAg
ICAgICB9LAorICAgICAgXSwKKyAgICB9LAorICAgIHsKKyAgICAgICd0YXJnZXRfbmFtZSc6ICd0
ZXN0YXBpJywKKyAgICAgICd0eXBlJzogJ2V4ZWN1dGFibGUnLAorICAgICAgJ2RlcGVuZGVuY2ll
cyc6IFsKKyAgICAgICAgJ0phdmFTY3JpcHRDb3JlJywKKyAgICAgIF0sCisgICAgICAnaW5jbHVk
ZV9kaXJzJzogWworICAgICAgICAnPEAoamF2YXNjcmlwdGNvcmVfaW5jbHVkZV9kaXJzKScsCisg
ICAgICBdLAorICAgICAgJ3NvdXJjZXMnOiBbCisgICAgICAgICc8QCh0ZXN0YXBpX2ZpbGVzKScs
CisgICAgICBdLAorICAgICAgJ2NvcGllcyc6IFt7CisgICAgICAgICdkZXN0aW5hdGlvbic6ICc8
KFBST0RVQ1RfRElSKScsCisgICAgICAgICdmaWxlcyc6IFsKKyAgICAgICAgICAnPEAodGVzdGFw
aV9zdXBwb3J0X2ZpbGVzKScsCisgICAgICAgIF0sCisgICAgICB9XSwKKyAgICB9LAorICAgIHsK
KyAgICAgICd0YXJnZXRfbmFtZSc6ICdqc2MnLAorICAgICAgJ3R5cGUnOiAnZXhlY3V0YWJsZScs
CisgICAgICAnZGVwZW5kZW5jaWVzJzogWworICAgICAgICAnSmF2YVNjcmlwdENvcmUnLAorICAg
ICAgXSwKKyAgICAgICdpbmNsdWRlX2RpcnMnOiBbCisgICAgICAgICc8QChqYXZhc2NyaXB0Y29y
ZV9pbmNsdWRlX2RpcnMpJywKKyAgICAgIF0sCisgICAgICAnc291cmNlcyc6IFsKKyAgICAgICAg
JzxAKGpzY19maWxlcyknLAorICAgICAgXSwKKyAgICB9LAorICBdLCAjIHRhcmdldHMKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwppbmRleCBhZGJlMzc0ZjgzMTg0NWE1ZjVjMmZmMDE3MDk2MmNjMTJjOTExZDQ3Li42Yjc3
NmFlYTVmN2YyMDBlZmE1MGI3ZTEwNTNjOTM1ODE0YWRjMzAzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTcgQEAKKzIwMTEtMDQtMDcgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdHViIHN1
cHBvcnQgZm9yIGdlbmVyYXRpbmcgR3RrIGJ1aWxkIHN5c3RlbSBmcm9tIGd5cAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTgwODYKKworICAgICAgICBU
aGlzIGRvZXMgbm90IHByb2R1Y2UgYSBidWlsZGFibGUgV2ViQ29yZSwgYnV0IGl0CisgICAgICAg
IGRvZXMgYWxsb3cgcnVubmluZyBneXAvY29uZmlndXJlIC0tcG9ydD1ndGsgYW5kIGhhdmluZwor
ICAgICAgICBpdCBnZW5lcmF0ZSBhIGd0ay5NYWtlZmlsZSB3aGljaCB3ZSBjYW4gdXNlIGZvciB0
ZXN0aW5nCisgICAgICAgIHRoZSByZXN0IG9mIHRoZSBwbHVtYmluZy4KKworICAgICAgICAqIGd5
cC9ndGsuZ3lwOiBBZGRlZC4KKwogMjAxMS0wNC0wNyAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBs
ZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9neXAvZ3RrLmd5cCBiL1NvdXJjZS9XZWJDb3JlL2d5cC9ndGsuZ3lwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmM1NjQ5ZWQwM2YyOTkxOTUwYTgwYjA4MWFlMjQ3NDRkYWEzNGQ5ZDEKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9neXAvZ3RrLmd5cApAQCAtMCwwICsxLDkzIEBA
Cit7CisgICdpbmNsdWRlcyc6IFsKKyAgICAnLi4vLi4vZ3lwL2NvbW1vbi5neXBpJywKKyAgICAn
Li4vV2ViQ29yZS5neXBpJywKKyAgXSwKKyAgJ3RhcmdldHMnOiBbCisgICAgeworICAgICAgJ3Rh
cmdldF9uYW1lJzogJ1dlYkNvcmUnLAorICAgICAgJ3R5cGUnOiAnc2hhcmVkX2xpYnJhcnknLAor
ICAgICAgJ2luY2x1ZGVfZGlycyc6IFsKKyAgICAgICAgJzwocHJvamVjdF9kaXIpJywKKyAgICAg
ICAgJzwocHJvamVjdF9kaXIpL2ljdScsCisgICAgICAgICc8KHByb2plY3RfZGlyKS9Gb3J3YXJk
aW5nSGVhZGVycycsCisgICAgICAgICc8KFBST0RVQ1RfRElSKS91c3IvbG9jYWwvaW5jbHVkZScs
CisgICAgICAgICcvdXNyL2luY2x1ZGUvbGlieG1sMicsCisgICAgICAgICc8KFBST0RVQ1RfRElS
KS9EZXJpdmVkU291cmNlcycsCisgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlJywKKyAgICAgIF0sCisgICAgICAnc291cmNlcyc6IFsKKyAgICAgICAgJzxAKHdl
YmNvcmVfZmlsZXMpJywKKyAgICAgICAgJzxAKHdlYmNvcmVfcHJpdmF0ZWhlYWRlcl9maWxlcykn
LAorICAgICAgICAnPEAod2ViY29yZV9kZXJpdmVkX3NvdXJjZV9maWxlcyknLAorICAgICAgXSwK
KyAgICAgICdzb3VyY2VzLyc6IFsKKyAgICAgICAgWydleGNsdWRlJywgJ2JpbmRpbmdzL1teL10r
LyddLAorICAgICAgICBbJ2luY2x1ZGUnLCAnYmluZGluZ3MvZ2VuZXJpYy8nXSwKKyAgICAgICAg
WydpbmNsdWRlJywgJ2JpbmRpbmdzL2pzLyddLAorICAgICAgICBbJ2luY2x1ZGUnLCAnYmluZGlu
Z3Mvb2JqYy8nXSwKKworICAgICAgICAjIEZJWE1FOiBUaGlzIGNvdWxkIHNob3VsZCBtb3ZlIHRv
IFNvdXJjZS9UaGlyZFBhcnR5LgorICAgICAgICBbJ2V4Y2x1ZGUnLCAndGhpcmRwYXJ0eS8nXSwK
KworICAgICAgICAjIEZJWE1FOiBGaWd1cmUgb3V0IGhvdyB0byBzdG9yZSB0aGVzZSBwYXR0ZXJu
cyBpbiBhIHZhcmlhYmxlLgorICAgICAgICBbJ2V4Y2x1ZGUnLCAnKGFuZHJvaWR8YnJld3xjYWly
b3xjaHJvbWl1bXxjdXJsfGVmbHxmcmVldHlwZXxmZnR3fGdzdHJlYW1lcnxndGt8aGFpa3V8bGlu
dXh8bWtsfG9wZW52Z3xwYW5nb3xxdHxza2lhfHNvdXB8c3ltYmlhbnx0ZXhtYXB8aXBob25lfHY4
fHdpbnx3aW5jZXx3eCkvJ10sCisgICAgICAgIFsnZXhjbHVkZScsICcoQW5kcm9pZHxCcmV3fENh
aXJvfEN1cmx8Q2hyb21pdW18RWZsfEhhaWt1fEd0a3xMaW51eHxPcGVuVHlwZXxRdHxTYWZhcml8
U291cHxTeW1iaWFufFY4fFdpbnxXaW5DRXxXeClcXC4oY3BwfG1tPykkJ10sCisgICAgICAgIFsn
ZXhjbHVkZScsICdDaHJvbWl1bVteL10qXFwuKGNwcHxtbT8pJCddLAorCisgICAgICAgIFsnZXhj
bHVkZScsICdwbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy8nXSwKKyAgICAgICAgWydleGNsdWRlJywg
J3BsYXRmb3JtL2ltYWdlLWVuY29kZXJzLyddLAorCisgICAgICAgIFsnZXhjbHVkZScsICdicmlk
Z2UvdGVzdGJpbmRpbmdzXFwuY3BwJCddLCAjIFJlbW92ZSBmcm9tIEdZUEk/CisgICAgICAgIFsn
ZXhjbHVkZScsICdicmlkZ2UvdGVzdGJpbmRpbmdzXFwubW0kJ10sICMgUmVtb3ZlIGZyb20gR1lQ
ST8KKyAgICAgICAgWydleGNsdWRlJywgJ2JyaWRnZS90ZXN0cXRiaW5kaW5nc1xcLmNwcCQnXSwg
IyBSZW1vdmUgZnJvbSBHWVBJPworICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0vS2lsbFJp
bmdOb25lXFwuY3BwJCddLAorICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0vZ3JhcGhpY3Mv
Y2cvRm9udFBsYXRmb3JtRGF0YVxcLmgkJ10sCisgICAgICAgIFsnZXhjbHVkZScsICdwbGF0Zm9y
bS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uUGF0aFByb2Nlc3NvclxcLihjcHB8aCkkJ10sCisgICAg
ICAgIFsnZXhjbHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uTG9jYWxUcmlh
bmd1bGF0b3JcXC4oY3BwfGgpJCddLAorICAgICAgICBbJ2V4Y2x1ZGUnLCAncGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0xvb3BCbGlublBhdGhDYWNoZVxcLihjcHB8aCkkJ10sCisgICAgICAgIFsnZXhj
bHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9ncHUvTG9vcEJsaW5uU2hhZGVyXFwuKGNwcHxoKSQn
XSwKKyAgICAgICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9Mb29wQmxpbm5T
b2xpZEZpbGxTaGFkZXJcXC4oY3BwfGgpJCddLAorICAgICAgICAjIEZJWE1FOiBDb25zaWRlciBl
eGNsdWRpbmcgR0wgYXMgYSBzdWZmaXguCisgICAgICAgIFsnZXhjbHVkZScsICdwbGF0Zm9ybS9n
cmFwaGljcy9JbWFnZVNvdXJjZVxcLmNwcCQnXSwKKyAgICAgICAgWydleGNsdWRlJywgJ3BsYXRm
b3JtL2dyYXBoaWNzL29wZW5nbC9UZXh0dXJlTWFwcGVyR0xcXC5jcHAkJ10sCisgICAgICAgIFsn
ZXhjbHVkZScsICdwbGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9PcGVuVHlwZVV0aWxpdGllc1xc
LihjcHB8aCkkJ10sCisgICAgICAgIFsnZXhjbHVkZScsICdwbGF0Zm9ybS9wb3NpeC9TaGFyZWRC
dWZmZXJQT1NJWFxcLmNwcCQnXSwKKyAgICAgICAgWydleGNsdWRlJywgJ3BsYXRmb3JtL3RleHQv
SHlwaGVuYXRpb25cXC5jcHAkJ10sCisgICAgICAgIFsnZXhjbHVkZScsICdwbGF0Zm9ybS90ZXh0
L0xvY2FsaXplZE51bWJlcklDVVxcLmNwcCQnXSwKKyAgICAgICAgWydleGNsdWRlJywgJ3BsYXRm
b3JtL3RleHQvTG9jYWxpemVkTnVtYmVyTm9uZVxcLmNwcCQnXSwKKyAgICAgICAgWydleGNsdWRl
JywgJ3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nRGV0ZWN0b3JOb25lXFwuY3BwJCddLAorICAg
ICAgICBbJ2V4Y2x1ZGUnLCAncGx1Z2lucy9QbHVnaW5EYXRhTm9uZVxcLmNwcCQnXSwKKyAgICAg
ICAgWydleGNsdWRlJywgJ3BsdWdpbnMvUGx1Z2luRGF0YWJhc2VcXC5jcHAkJ10sCisgICAgICAg
IFsnZXhjbHVkZScsICdwbHVnaW5zL1BsdWdpblBhY2thZ2VOb25lXFwuY3BwJCddLAorICAgICAg
ICBbJ2V4Y2x1ZGUnLCAncGx1Z2lucy9QbHVnaW5QYWNrYWdlXFwuY3BwJCddLAorICAgICAgICBb
J2V4Y2x1ZGUnLCAncGx1Z2lucy9QbHVnaW5TdHJlYW1cXC5jcHAkJ10sCisgICAgICAgIFsnZXhj
bHVkZScsICdwbHVnaW5zL1BsdWdpblZpZXdcXC5jcHAkJ10sCisgICAgICAgIFsnZXhjbHVkZScs
ICdwbHVnaW5zL21hYy9QbHVnaW5QYWNrYWdlTWFjXFwuY3BwJCddLAorICAgICAgICBbJ2V4Y2x1
ZGUnLCAncGx1Z2lucy9tYWMvUGx1Z2luVmlld01hY1xcLm1tJCddLAorICAgICAgICBbJ2V4Y2x1
ZGUnLCAncGx1Z2lucy9ucGFwaVxcLmNwcCQnXSwKKworICAgICAgICAjIEZJWE1FOiBDaGVjayB3
aGV0aGVyIHdlIG5lZWQgdG8gYnVpbGQgdGhlc2UgZGVyaXZlZCBzb3VyY2UgZmlsZXMuCisgICAg
ICAgIFsnZXhjbHVkZScsICdKU0Fic3RyYWN0Vmlld1xcLihjcHB8aCknXSwKKyAgICAgICAgWydl
eGNsdWRlJywgJ0pTRWxlbWVudFRpbWVDb250cm9sXFwuKGNwcHxoKSddLAorICAgICAgICBbJ2V4
Y2x1ZGUnLCAnSlNNYXRoTUxFbGVtZW50V3JhcHBlckZhY3RvcnlcXC4oY3BwfGgpJ10sCisgICAg
ICAgIFsnZXhjbHVkZScsICdKU1NWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRcXC4oY3BwfGgp
J10sCisgICAgICAgIFsnZXhjbHVkZScsICdKU1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0
cmlidXRlc1xcLihjcHB8aCknXSwKKyAgICAgICAgWydleGNsdWRlJywgJ0pTU1ZHRml0VG9WaWV3
Qm94XFwuKGNwcHxoKSddLAorICAgICAgICBbJ2V4Y2x1ZGUnLCAnSlNTVkdMYW5nU3BhY2VcXC4o
Y3BwfGgpJ10sCisgICAgICAgIFsnZXhjbHVkZScsICdKU1NWR0xvY2F0YWJsZVxcLihjcHB8aCkn
XSwKKyAgICAgICAgWydleGNsdWRlJywgJ0pTU1ZHU3R5bGFibGVcXC4oY3BwfGgpJ10sCisgICAg
ICAgIFsnZXhjbHVkZScsICdKU1NWR1Rlc3RzXFwuKGNwcHxoKSddLAorICAgICAgICBbJ2V4Y2x1
ZGUnLCAnSlNTVkdUcmFuc2Zvcm1hYmxlXFwuKGNwcHxoKSddLAorICAgICAgICBbJ2V4Y2x1ZGUn
LCAnSlNTVkdVUklSZWZlcmVuY2VcXC4oY3BwfGgpJ10sCisgICAgICAgIFsnZXhjbHVkZScsICdK
U1NWR1pvb21BbmRQYW5cXC4oY3BwfGgpJ10sCisgICAgICAgIFsnZXhjbHVkZScsICd0b2tlbml6
ZXJcXC5jcHAnXSwKKworICAgICAgICBbJ2V4Y2x1ZGUnLCAnQWxsSW5PbmVcXC5jcHAkJ10sCisK
KyAgICAgICAgWydleGNsdWRlJywgJ3JlbmRlcmluZy9zdmcvW14vXStcXC5jcHAnXSwKKyAgICAg
ICAgWydpbmNsdWRlJywgJ3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHQWxsSW5PbmVcXC5jcHAkJ10s
CisgICAgICBdLAorICAgIH0sCisgICBdLCAjIHRhcmdldHMKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9neXAvY29uZmlndXJlIGIvU291cmNlL2d5cC9jb25maWd1cmUKaW5kZXggMjhkNjY3NzA3NzMz
MjA2ZWI3YmUxZGY1YmI5ZjJlNjc3OTI2ZWZkMy4uOWNkYjk1NmM0ZjA0NzdhNTM4MzQ5ZjMzZTMw
MDYyNWJhZTJlYzkyMCAxMDA3NTUKLS0tIGEvU291cmNlL2d5cC9jb25maWd1cmUKKysrIGIvU291
cmNlL2d5cC9jb25maWd1cmUKQEAgLTQwLDYgKzQwLDcgQEAgZGVmIGNoZGlyX3RvX3NvdXJjZSgp
OgogZGVmIGd5cCgpOgogICAgIHJldHVybiBvcy5wYXRoLmpvaW4oJ1RoaXJkUGFydHknLCAnZ3lw
JywgJ2d5cCcpCiAKKwogY2xhc3MgUHJvamVjdDoKICAgICBkZWYgX19pbml0X18oc2VsZiwgbmFt
ZSk6CiAgICAgICAgIHNlbGYuX25hbWUgPSBuYW1lCkBAIC00Nyw0NCArNDgsNzggQEAgY2xhc3Mg
UHJvamVjdDoKICAgICBkZWYgbmFtZShzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuX25hbWUK
IAotICAgIGRlZiBpbnB1dHMoc2VsZik6CisgICAgZGVmIF9neXBfZGlyZWN0b3J5KHNlbGYpOgor
ICAgICAgICByZXR1cm4gb3MucGF0aC5qb2luKHNlbGYuX25hbWUsICdneXAnKQorCisgICAgZGVm
IF9neXBfZmlsZV9mb3JfcG9ydChzZWxmLCBwb3J0KToKKyAgICAgICAgIyBHeXAgdXNlcyB0aGUg
Z3lwIGZpbGUgbmFtZSBhcyB0aGUgWENvZGUgcHJvaiBmaWxlIG5hbWUsIHNvIGZvciBub3cgImFw
cGxlLW1hYyIgbXVzdCBiZSBQcm9qZWN0TmFtZS5neXAKKyAgICAgICAgaWYgcG9ydCA9PSAibWFj
IjoKKyAgICAgICAgICAgIHJldHVybiAnJXMuZ3lwJyAlIHNlbGYuX25hbWUKKyAgICAgICAgcmV0
dXJuICIlcy5neXAiICUgcG9ydAorCisgICAgZGVmIGlucHV0cyhzZWxmLCBwb3J0KToKICAgICAg
ICAgcmV0dXJuIFsKLSAgICAgICAgICAgIG9zLnBhdGguam9pbihzZWxmLl9uYW1lLCAnZ3lwJywg
c2VsZi5fbmFtZSArICcuZ3lwJyksCisgICAgICAgICAgICBvcy5wYXRoLmpvaW4oc2VsZi5fZ3lw
X2RpcmVjdG9yeSgpLCBzZWxmLl9neXBfZmlsZV9mb3JfcG9ydChwb3J0KSksCiAgICAgICAgICAg
ICBvcy5wYXRoLmpvaW4oc2VsZi5fbmFtZSwgc2VsZi5fbmFtZSArICcuZ3lwaScpLAogICAgICAg
ICAgICAgb3MucGF0aC5qb2luKCdneXAnLCAnY29tbW9uLmd5cGknKSwKICAgICAgICAgXQogCi0g
ICAgZGVmIG91dHB1dChzZWxmKToKLSAgICAgICAgcmV0dXJuIG9zLnBhdGguam9pbihzZWxmLl9u
YW1lLCAnZ3lwJywgc2VsZi5fbmFtZSArICcueGNvZGVwcm9qJywgJ3Byb2plY3QucGJ4cHJvaicp
CisgICAgZGVmIF9vdXRwdXRfZm9yX3BvcnQoc2VsZiwgcG9ydCk6CisgICAgICAgIGZvcm1hdCA9
IGZvcm1hdF9mb3JfcG9ydChwb3J0KQorICAgICAgICByZXR1cm4geworICAgICAgICAgICAgJ21h
a2UnOiAnJXMuTWFrZWZpbGUnICUgcG9ydCwKKyAgICAgICAgICAgICd4Y29kZSc6IG9zLnBhdGgu
am9pbihzZWxmLl9uYW1lICsgJy54Y29kZXByb2onLCAncHJvamVjdC5wYnhwcm9qJyksCisgICAg
ICAgIH1bZm9ybWF0XQogCi0gICAgZGVmIHNob3VsZF9nZW5lcmF0ZShzZWxmKToKLSAgICAgICAg
aWYgbm90IG9zLnBhdGguZXhpc3RzKHNlbGYub3V0cHV0KCkpOgorICAgIGRlZiBvdXRwdXQoc2Vs
ZiwgcG9ydCk6CisgICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4oc2VsZi5fZ3lwX2RpcmVjdG9y
eSgpLCBzZWxmLl9vdXRwdXRfZm9yX3BvcnQocG9ydCkpCisKKyAgICBkZWYgc2hvdWxkX2dlbmVy
YXRlKHNlbGYsIHBvcnQpOgorICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoc2VsZi5vdXRw
dXQocG9ydCkpOgogICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgcmV0dXJuIG9zLnBh
dGguZ2V0bXRpbWUoc2VsZi5vdXRwdXQoKSkgPCBzZWxmLl9uZXdlc3Qoc2VsZi5pbnB1dHMoKSkK
KyAgICAgICAgcmV0dXJuIG9zLnBhdGguZ2V0bXRpbWUoc2VsZi5vdXRwdXQocG9ydCkpIDwgc2Vs
Zi5fbmV3ZXN0KHNlbGYuaW5wdXRzKHBvcnQpKQorCisgICAgZGVmIF9leHRyYV9hcmdzX2Zvcl9m
b3JtYXQoc2VsZiwgZm9ybWF0KToKKyAgICAgICAgaWYgZm9ybWF0ID09ICJ4Y29kZSI6CisgICAg
ICAgICAgICByZXR1cm4gWyctRycsICd4Y29kZV9saXN0X2V4Y2x1ZGVkX2ZpbGVzPTAnXQorICAg
ICAgICByZXR1cm4gW10KIAotICAgIGRlZiBnZW5lcmF0ZShzZWxmKToKLSAgICAgICAgc3VicHJv
Y2Vzcy5jYWxsKFsKKyAgICBkZWYgZ2VuZXJhdGUoc2VsZiwgcG9ydCk6CisgICAgICAgIGFyZ3Mg
PSBbCiAgICAgICAgICAgICBneXAoKSwKLSAgICAgICAgICAgIHNlbGYuaW5wdXRzKClbMF0sCi0g
ICAgICAgICAgICAnLUcnLAotICAgICAgICAgICAgJ3hjb2RlX2xpc3RfZXhjbHVkZWRfZmlsZXM9
MCcsCisgICAgICAgICAgICBzZWxmLmlucHV0cyhwb3J0KVswXSwKICAgICAgICAgICAgICctLWRl
cHRoPS4nLAotICAgICAgICBdKQorICAgICAgICBdCisgICAgICAgIGZvcm1hdCA9IGZvcm1hdF9m
b3JfcG9ydChwb3J0KQorICAgICAgICBhcmdzLmFwcGVuZCgnLS1mb3JtYXQ9JXMnICUgZm9ybWF0
KQorICAgICAgICBhcmdzICs9IHNlbGYuX2V4dHJhX2FyZ3NfZm9yX2Zvcm1hdChmb3JtYXQpCisK
KyAgICAgICAgc3VicHJvY2Vzcy5jYWxsKGFyZ3MpCiAgICAgICAgICMgR1lQIGRvZXNuJ3QgYWx3
YXlzIHRvdWNoIHRoZSBvdXRwdXQgZmlsZSwgYnV0IHdlIHdhbnQgdG8gdG91Y2ggdGhlCiAgICAg
ICAgICMgZmlsZSBzbyB0aGF0IHdlIGRvbid0IGtlZXAgdHJ5aW5nIHRvIHJlZ2VuZXJhdGUgaXQu
Ci0gICAgICAgIG9zLnV0aW1lKHNlbGYub3V0cHV0KCksIE5vbmUpCisgICAgICAgIG9zLnV0aW1l
KHNlbGYub3V0cHV0KHBvcnQpLCBOb25lKQogCiAgICAgQHN0YXRpY21ldGhvZAogICAgIGRlZiBf
bmV3ZXN0KHBhdGhzKToKICAgICAgICAgcmV0dXJuIG1heChbb3MucGF0aC5nZXRtdGltZShwYXRo
KSBmb3IgcGF0aCBpbiBwYXRoc10pCiAKKworZGVmIGZvcm1hdF9mb3JfcG9ydChwb3J0KToKKyAg
ICByZXR1cm4geworICAgICAgICAnbWFjJzogJ3hjb2RlJywKKyAgICAgICAgJ2d0ayc6ICdtYWtl
JywKKyAgICAgICAgJ3dpbic6ICdtc3ZzJywKKyAgICB9W3BvcnRdICMgVmFsaWQgcG9ydCBpcyBy
ZXF1aXJlZC4KKworCiBQUk9KRUNUUyA9IFsKICAgICBQcm9qZWN0KCJKYXZhU2NyaXB0Q29yZSIp
LAogICAgIFByb2plY3QoIldlYkNvcmUiKSwKIF0KIAotZGVmIHByb2plY3RzX3RvX2dlbmVyYXRl
KCk6Ci0gICAgc2hvdWxkX2dlbmVyYXRlID0gW3Byb2plY3QgZm9yIHByb2plY3QgaW4gUFJPSkVD
VFMgaWYgcHJvamVjdC5zaG91bGRfZ2VuZXJhdGUoKV0KK2RlZiBwcm9qZWN0c190b19nZW5lcmF0
ZShwb3J0KToKKyAgICBmb3JtYXQgPSBmb3JtYXRfZm9yX3BvcnQocG9ydCkKKyAgICBzaG91bGRf
Z2VuZXJhdGUgPSBbcHJvamVjdCBmb3IgcHJvamVjdCBpbiBQUk9KRUNUUyBpZiBwcm9qZWN0LnNo
b3VsZF9nZW5lcmF0ZShmb3JtYXQpXQogICAgIGFscmVhZHlfZ2VuZXJhdGVkID0gW3Byb2plY3Qu
bmFtZSgpIGZvciBwcm9qZWN0IGluIHNldChQUk9KRUNUUykgLSBzZXQoc2hvdWxkX2dlbmVyYXRl
KV0KIAogICAgIGlmIGFscmVhZHlfZ2VuZXJhdGVkOgpAQCAtOTMsMTEgKzEyOCwxMyBAQCBkZWYg
cHJvamVjdHNfdG9fZ2VuZXJhdGUoKToKIAogICAgIHJldHVybiBzaG91bGRfZ2VuZXJhdGUKIAor
CiBkZWYgbWFpbigpOgogICAgIGNoZGlyX3RvX3NvdXJjZSgpCiAKICAgICBwYXJzZXIgPSBPcHRp
b25QYXJzZXIoKQotICAgICMgRklYTUU6IFRoZSB1c2VyIHNob3VsZCBiZSBhYmxlIHRvIHBhc3Mg
d2hpY2ggcG9ydCBvbiB0aGUgY29tbWFuZCBsaW5lLgorICAgIHBhcnNlci5hZGRfb3B0aW9uKCIt
LXBvcnQiLCBkZXN0PSJwb3J0IiwgYWN0aW9uPSJzdG9yZSIsIGRlZmF1bHQ9Im1hYyIsICMgRGVm
YXVsdCB0byBNYWMgZm9yIG5vdworICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IldoaWNoIHBv
cnQgdG8gZ2VuZXJhdGUgZm9yLiIpCiAgICAgcGFyc2VyLmFkZF9vcHRpb24oIi0tcmVnZW5lcmF0
ZS1wcm9qZWN0cyIsIGRlc3Q9InJlZ2VuZXJhdGVfcHJvamVjdHMiLAogICAgICAgICAgICAgICAg
ICAgICAgIGRlZmF1bHQ9RmFsc2UsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCiAgICAgICAgICAgICAg
ICAgICAgICAgaGVscD0iR2VuZXJhdGUgYWxsIHByb2plY3QgZmlsZXMgZXZlbiBpZiB0aGV5IGFw
cGVhciB0byBiZSB1cCB0byBkYXRlLiIpCkBAIC0xMDUsMTEgKzE0MiwxMiBAQCBkZWYgbWFpbigp
OgogCiAgICAgcHJvamVjdHMgPSBQUk9KRUNUUwogICAgIGlmIG5vdCBvcHRpb25zLnJlZ2VuZXJh
dGVfcHJvamVjdHM6Ci0gICAgICAgIHByb2plY3RzID0gcHJvamVjdHNfdG9fZ2VuZXJhdGUoKQor
ICAgICAgICBwcm9qZWN0cyA9IHByb2plY3RzX3RvX2dlbmVyYXRlKG9wdGlvbnMucG9ydCkKIAog
ICAgIGZvciBwcm9qZWN0IGluIHByb2plY3RzOgogICAgICAgICBwcmludCAiR2VuZXJhdGluZyAl
cy4iICUgcHJvamVjdC5uYW1lKCkKLSAgICAgICAgcHJvamVjdC5nZW5lcmF0ZSgpCisgICAgICAg
IHByb2plY3QuZ2VuZXJhdGUob3B0aW9ucy5wb3J0KQorCiAKIGlmIF9fbmFtZV9fID09ICJfX21h
aW5fXyI6CiAgICAgbWFpbigpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88714</attachid>
            <date>2011-04-07 15:10:33 -0700</date>
            <delta_ts>2011-04-07 15:56:11 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-58086-20110407151032.patch</filename>
            <type>text/plain</type>
            <size>8304</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODMyMDMKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCA4MTUyNmE3MTE1NWI1OGNiYjBhNjExZDE3YjdkZWQ3Y2E1YmQ3ZGZhLi41MzQw
Zjg5NTY4ZWVjZWMwMGNkOWJlODY3OTY1Yjg5NDRmNzYyOTgyIDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDQtMDcgIEVyaWMgU2Vp
ZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGgu
CisKKyAgICAgICAgQWRkIHN0dWIgc3VwcG9ydCBmb3IgZ2VuZXJhdGluZyBHdGsgYnVpbGQgc3lz
dGVtIGZyb20gZ3lwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01ODA4NgorCisgICAgICAgIFRoaXMgYWRkcyBzdXBwb3J0IGZvciBhIG5ldyAtLXBvcnQg
YXJndW1lbnQgYW5kIHBsdW1icyB0aHJvdWdoCisgICAgICAgIHRoZSBuZWNlc3NhcnkgcGF0aHMg
dG8gYWxsb3cgZ2VuZXJhdGluZyBmb3IgYSBwb3J0IG90aGVyIHRoYW4gTWFjLgorCisgICAgICAg
ICogU291cmNlL2d5cC9jb25maWd1cmU6CisKIDIwMTEtMDQtMDYgIERhaSBNaWt1cnViZSAgPGRt
aWt1cnViZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgTGV2aW4u
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3YWQwOWYwYTAwZGU5MjExZmZjZDM3YWNhOWJh
MDAzOGQzMTk4ZDgwLi4zYWM1ZmE3MGExMWUyMDNiZWNjOTQ4OTk4MzczZjRiYTQxZDZhMTEwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMS0wNC0wNyAgRXJp
YyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBC
YXJ0aC4KKworICAgICAgICBBZGQgc3R1YiBzdXBwb3J0IGZvciBnZW5lcmF0aW5nIEd0ayBidWls
ZCBzeXN0ZW0gZnJvbSBneXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTU4MDg2CisKKyAgICAgICAgVGhpcyBkb2VzIG5vdCBwcm9kdWNlIGEgYnVpbGRh
YmxlIEphdmFTY3JpcHRDb3JlLCBidXQgaXQKKyAgICAgICAgZG9lcyBhbGxvdyBydW5uaW5nIGd5
cC9jb25maWd1cmUgLS1wb3J0PWd0ayBhbmQgaGF2aW5nCisgICAgICAgIGl0IGdlbmVyYXRlIGEg
Z3RrLk1ha2VmaWxlIHdoaWNoIHdlIGNhbiB1c2UgZm9yIHRlc3RpbmcKKyAgICAgICAgdGhlIHJl
c3Qgb2YgdGhlIHBsdW1iaW5nLgorCisgICAgICAgICogZ3lwL2d0ay5neXA6IEFkZGVkLgorCiAy
MDExLTA0LTA2ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBHZW9mZiBHYXJlbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9neXAvZ3RrLmd5cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9neXAvZ3RrLmd5
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zM2VhYTE3YTIzYjQzNzdhY2Y4ZDg3ZGY4YWIxODkzNTk3ZTI2Y2IwCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2d5cC9ndGsuZ3lwCkBAIC0w
LDAgKzEsMTggQEAKK3sgIyBKdXN0IGEgc3R1YiBmaWxlIHRvIGFsbG93IFNvdXJjZS9neXAvY29u
ZmlndXJlIHRvIHJ1biBzdWNjZXNzZnVsbHkgZm9yIHRlc3RpbmcuCisgICdpbmNsdWRlcyc6IFsK
KyAgICAnLi4vLi4vZ3lwL2NvbW1vbi5neXBpJywKKyAgICAnLi4vSmF2YVNjcmlwdENvcmUuZ3lw
aScsCisgIF0sCisgICd0YXJnZXRzJzogWworICAgIHsKKyAgICAgICd0YXJnZXRfbmFtZSc6ICdK
YXZhU2NyaXB0Q29yZScsCisgICAgICAndHlwZSc6ICdzdGF0aWNfbGlicmFyeScsCisgICAgICAn
c291cmNlcyc6IFsKKyAgICAgICAgJzxAKGphdmFzY3JpcHRjb3JlX2ZpbGVzKScsCisgICAgICAg
ICc8QChqYXZhc2NyaXB0Y29yZV9wdWJsaWNoZWFkZXJfZmlsZXMpJywKKyAgICAgICAgJzxAKGph
dmFzY3JpcHRjb3JlX3ByaXZhdGVoZWFkZXJfZmlsZXMpJywKKyAgICAgICAgJzxAKGphdmFzY3Jp
cHRjb3JlX2Rlcml2ZWRfc291cmNlX2ZpbGVzKScsCisgICAgICBdLAorICAgIH0sCisgIF0sICMg
dGFyZ2V0cworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGFkYmUzNzRmODMxODQ1YTVmNWMyZmYwMTcwOTYyY2Mx
MmM5MTFkNDcuLjExN2EyN2U4ZGU0NDI4YzM1ZmVmNGM2OTEyOGEzNWFmZDg4ZTgwZTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMS0wNC0wNyAgRXJpYyBTZWlkZWwgIDxlcmljQHdl
YmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAgICAgICBB
ZGQgc3R1YiBzdXBwb3J0IGZvciBnZW5lcmF0aW5nIEd0ayBidWlsZCBzeXN0ZW0gZnJvbSBneXAK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4MDg2CisK
KyAgICAgICAgVGhpcyBkb2VzIG5vdCBwcm9kdWNlIGEgYnVpbGRhYmxlIFdlYkNvcmUsIGJ1dCBp
dAorICAgICAgICBkb2VzIGFsbG93IHJ1bm5pbmcgZ3lwL2NvbmZpZ3VyZSAtLXBvcnQ9Z3RrIGFu
ZCBoYXZpbmcKKyAgICAgICAgaXQgZ2VuZXJhdGUgYSBndGsuTWFrZWZpbGUgd2hpY2ggd2UgY2Fu
IHVzZSBmb3IgdGVzdGluZworICAgICAgICB0aGUgcmVzdCBvZiB0aGUgcGx1bWJpbmcuCisKKyAg
ICAgICAgKiBneXAvZ3RrLmd5cDogQWRkZWQuCisKIDIwMTEtMDQtMDcgIEFuZHkgRXN0ZXMgIDxh
ZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZ3lwL2d0ay5neXAgYi9Tb3VyY2UvV2ViQ29yZS9neXAv
Z3RrLmd5cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mNGZiM2NiNzUyN2JmYTQ3N2NlYmM4NDMxZTQ2M2EwODAxZWUy
NDUzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZ3lwL2d0ay5neXAKQEAgLTAs
MCArMSwxNyBAQAoreyAjIEp1c3QgYSBzdHViIGZpbGUgdG8gYWxsb3cgU291cmNlL2d5cC9jb25m
aWd1cmUgdG8gcnVuIHN1Y2Nlc3NmdWxseSBmb3IgdGVzdGluZy4KKyAgJ2luY2x1ZGVzJzogWwor
ICAgICcuLi8uLi9neXAvY29tbW9uLmd5cGknLAorICAgICcuLi9XZWJDb3JlLmd5cGknLAorICBd
LAorICAndGFyZ2V0cyc6IFsKKyAgICB7CisgICAgICAndGFyZ2V0X25hbWUnOiAnV2ViQ29yZScs
CisgICAgICAndHlwZSc6ICdzdGF0aWNfbGlicmFyeScsCisgICAgICAnc291cmNlcyc6IFsKKyAg
ICAgICAgJzxAKHdlYmNvcmVfZmlsZXMpJywKKyAgICAgICAgJzxAKHdlYmNvcmVfcHJpdmF0ZWhl
YWRlcl9maWxlcyknLAorICAgICAgICAnPEAod2ViY29yZV9kZXJpdmVkX3NvdXJjZV9maWxlcykn
LAorICAgICAgXSwKKyAgICB9LAorICAgXSwgIyB0YXJnZXRzCit9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvZ3lwL2NvbmZpZ3VyZSBiL1NvdXJjZS9neXAvY29uZmlndXJlCmluZGV4IDI4ZDY2NzcwNzcz
MzIwNmViN2JlMWRmNWJiOWYyZTY3NzkyNmVmZDMuLmZjZTJjZDE3NDk5ZjJhZDgzMzgxMTA4Zjk5
N2Y4Y2VlOTdkZmE3MGQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9neXAvY29uZmlndXJlCisrKyBiL1Nv
dXJjZS9neXAvY29uZmlndXJlCkBAIC00MCw2ICs0MCw3IEBAIGRlZiBjaGRpcl90b19zb3VyY2Uo
KToKIGRlZiBneXAoKToKICAgICByZXR1cm4gb3MucGF0aC5qb2luKCdUaGlyZFBhcnR5JywgJ2d5
cCcsICdneXAnKQogCisKIGNsYXNzIFByb2plY3Q6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5h
bWUpOgogICAgICAgICBzZWxmLl9uYW1lID0gbmFtZQpAQCAtNDcsNDQgKzQ4LDc3IEBAIGNsYXNz
IFByb2plY3Q6CiAgICAgZGVmIG5hbWUoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLl9uYW1l
CiAKLSAgICBkZWYgaW5wdXRzKHNlbGYpOgorICAgIGRlZiBfZ3lwX2RpcmVjdG9yeShzZWxmKToK
KyAgICAgICAgcmV0dXJuIG9zLnBhdGguam9pbihzZWxmLl9uYW1lLCAnZ3lwJykKKworICAgIGRl
ZiBfZ3lwX2ZpbGVfZm9yX3BvcnQoc2VsZiwgcG9ydCk6CisgICAgICAgICMgR3lwIHVzZXMgdGhl
IGd5cCBmaWxlIG5hbWUgYXMgdGhlIFhDb2RlIHByb2ogZmlsZSBuYW1lLCBzbyBmb3Igbm93ICJh
cHBsZS1tYWMiIG11c3QgYmUgUHJvamVjdE5hbWUuZ3lwCisgICAgICAgIGlmIHBvcnQgPT0gIm1h
YyI6CisgICAgICAgICAgICByZXR1cm4gJyVzLmd5cCcgJSBzZWxmLl9uYW1lCisgICAgICAgIHJl
dHVybiAiJXMuZ3lwIiAlIHBvcnQKKworICAgIGRlZiBpbnB1dHMoc2VsZiwgcG9ydCk6CiAgICAg
ICAgIHJldHVybiBbCi0gICAgICAgICAgICBvcy5wYXRoLmpvaW4oc2VsZi5fbmFtZSwgJ2d5cCcs
IHNlbGYuX25hbWUgKyAnLmd5cCcpLAorICAgICAgICAgICAgb3MucGF0aC5qb2luKHNlbGYuX2d5
cF9kaXJlY3RvcnkoKSwgc2VsZi5fZ3lwX2ZpbGVfZm9yX3BvcnQocG9ydCkpLAogICAgICAgICAg
ICAgb3MucGF0aC5qb2luKHNlbGYuX25hbWUsIHNlbGYuX25hbWUgKyAnLmd5cGknKSwKICAgICAg
ICAgICAgIG9zLnBhdGguam9pbignZ3lwJywgJ2NvbW1vbi5neXBpJyksCiAgICAgICAgIF0KIAot
ICAgIGRlZiBvdXRwdXQoc2VsZik6Ci0gICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4oc2VsZi5f
bmFtZSwgJ2d5cCcsIHNlbGYuX25hbWUgKyAnLnhjb2RlcHJvaicsICdwcm9qZWN0LnBieHByb2on
KQorICAgIGRlZiBfb3V0cHV0X2Zvcl9wb3J0KHNlbGYsIHBvcnQpOgorICAgICAgICBmb3JtYXQg
PSBmb3JtYXRfZm9yX3BvcnQocG9ydCkKKyAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgICAgICdt
YWtlJzogJyVzLk1ha2VmaWxlJyAlIHBvcnQsCisgICAgICAgICAgICAneGNvZGUnOiBvcy5wYXRo
LmpvaW4oc2VsZi5fbmFtZSArICcueGNvZGVwcm9qJywgJ3Byb2plY3QucGJ4cHJvaicpLAorICAg
ICAgICB9W2Zvcm1hdF0KIAotICAgIGRlZiBzaG91bGRfZ2VuZXJhdGUoc2VsZik6Ci0gICAgICAg
IGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhzZWxmLm91dHB1dCgpKToKKyAgICBkZWYgb3V0cHV0KHNl
bGYsIHBvcnQpOgorICAgICAgICByZXR1cm4gb3MucGF0aC5qb2luKHNlbGYuX2d5cF9kaXJlY3Rv
cnkoKSwgc2VsZi5fb3V0cHV0X2Zvcl9wb3J0KHBvcnQpKQorCisgICAgZGVmIHNob3VsZF9nZW5l
cmF0ZShzZWxmLCBwb3J0KToKKyAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHNlbGYub3V0
cHV0KHBvcnQpKToKICAgICAgICAgICAgIHJldHVybiBUcnVlCi0gICAgICAgIHJldHVybiBvcy5w
YXRoLmdldG10aW1lKHNlbGYub3V0cHV0KCkpIDwgc2VsZi5fbmV3ZXN0KHNlbGYuaW5wdXRzKCkp
CisgICAgICAgIHJldHVybiBvcy5wYXRoLmdldG10aW1lKHNlbGYub3V0cHV0KHBvcnQpKSA8IHNl
bGYuX25ld2VzdChzZWxmLmlucHV0cyhwb3J0KSkKKworICAgIGRlZiBfZXh0cmFfYXJnc19mb3Jf
Zm9ybWF0KHNlbGYsIGZvcm1hdCk6CisgICAgICAgIGlmIGZvcm1hdCA9PSAieGNvZGUiOgorICAg
ICAgICAgICAgcmV0dXJuIFsnLUcnLCAneGNvZGVfbGlzdF9leGNsdWRlZF9maWxlcz0wJ10KKyAg
ICAgICAgcmV0dXJuIFtdCiAKLSAgICBkZWYgZ2VuZXJhdGUoc2VsZik6Ci0gICAgICAgIHN1YnBy
b2Nlc3MuY2FsbChbCisgICAgZGVmIGdlbmVyYXRlKHNlbGYsIHBvcnQpOgorICAgICAgICBhcmdz
ID0gWwogICAgICAgICAgICAgZ3lwKCksCi0gICAgICAgICAgICBzZWxmLmlucHV0cygpWzBdLAot
ICAgICAgICAgICAgJy1HJywKLSAgICAgICAgICAgICd4Y29kZV9saXN0X2V4Y2x1ZGVkX2ZpbGVz
PTAnLAorICAgICAgICAgICAgc2VsZi5pbnB1dHMocG9ydClbMF0sCiAgICAgICAgICAgICAnLS1k
ZXB0aD0uJywKLSAgICAgICAgXSkKKyAgICAgICAgXQorICAgICAgICBmb3JtYXQgPSBmb3JtYXRf
Zm9yX3BvcnQocG9ydCkKKyAgICAgICAgYXJncy5hcHBlbmQoJy0tZm9ybWF0PSVzJyAlIGZvcm1h
dCkKKyAgICAgICAgYXJncyArPSBzZWxmLl9leHRyYV9hcmdzX2Zvcl9mb3JtYXQoZm9ybWF0KQor
CisgICAgICAgIHN1YnByb2Nlc3MuY2FsbChhcmdzKQogICAgICAgICAjIEdZUCBkb2Vzbid0IGFs
d2F5cyB0b3VjaCB0aGUgb3V0cHV0IGZpbGUsIGJ1dCB3ZSB3YW50IHRvIHRvdWNoIHRoZQogICAg
ICAgICAjIGZpbGUgc28gdGhhdCB3ZSBkb24ndCBrZWVwIHRyeWluZyB0byByZWdlbmVyYXRlIGl0
LgotICAgICAgICBvcy51dGltZShzZWxmLm91dHB1dCgpLCBOb25lKQorICAgICAgICBvcy51dGlt
ZShzZWxmLm91dHB1dChwb3J0KSwgTm9uZSkKIAogICAgIEBzdGF0aWNtZXRob2QKICAgICBkZWYg
X25ld2VzdChwYXRocyk6CiAgICAgICAgIHJldHVybiBtYXgoW29zLnBhdGguZ2V0bXRpbWUocGF0
aCkgZm9yIHBhdGggaW4gcGF0aHNdKQogCisKK2RlZiBmb3JtYXRfZm9yX3BvcnQocG9ydCk6Cisg
ICAgcmV0dXJuIHsKKyAgICAgICAgJ21hYyc6ICd4Y29kZScsCisgICAgICAgICdndGsnOiAnbWFr
ZScsCisgICAgICAgICd3aW4nOiAnbXN2cycsCisgICAgfVtwb3J0XSAjIFZhbGlkIHBvcnQgaXMg
cmVxdWlyZWQuCisKKwogUFJPSkVDVFMgPSBbCiAgICAgUHJvamVjdCgiSmF2YVNjcmlwdENvcmUi
KSwKICAgICBQcm9qZWN0KCJXZWJDb3JlIiksCiBdCiAKLWRlZiBwcm9qZWN0c190b19nZW5lcmF0
ZSgpOgotICAgIHNob3VsZF9nZW5lcmF0ZSA9IFtwcm9qZWN0IGZvciBwcm9qZWN0IGluIFBST0pF
Q1RTIGlmIHByb2plY3Quc2hvdWxkX2dlbmVyYXRlKCldCitkZWYgcHJvamVjdHNfdG9fZ2VuZXJh
dGUocG9ydCk6CisgICAgc2hvdWxkX2dlbmVyYXRlID0gW3Byb2plY3QgZm9yIHByb2plY3QgaW4g
UFJPSkVDVFMgaWYgcHJvamVjdC5zaG91bGRfZ2VuZXJhdGUocG9ydCldCiAgICAgYWxyZWFkeV9n
ZW5lcmF0ZWQgPSBbcHJvamVjdC5uYW1lKCkgZm9yIHByb2plY3QgaW4gc2V0KFBST0pFQ1RTKSAt
IHNldChzaG91bGRfZ2VuZXJhdGUpXQogCiAgICAgaWYgYWxyZWFkeV9nZW5lcmF0ZWQ6CkBAIC05
MywxMSArMTI3LDEzIEBAIGRlZiBwcm9qZWN0c190b19nZW5lcmF0ZSgpOgogCiAgICAgcmV0dXJu
IHNob3VsZF9nZW5lcmF0ZQogCisKIGRlZiBtYWluKCk6CiAgICAgY2hkaXJfdG9fc291cmNlKCkK
IAogICAgIHBhcnNlciA9IE9wdGlvblBhcnNlcigpCi0gICAgIyBGSVhNRTogVGhlIHVzZXIgc2hv
dWxkIGJlIGFibGUgdG8gcGFzcyB3aGljaCBwb3J0IG9uIHRoZSBjb21tYW5kIGxpbmUuCisgICAg
cGFyc2VyLmFkZF9vcHRpb24oIi0tcG9ydCIsIGRlc3Q9InBvcnQiLCBhY3Rpb249InN0b3JlIiwg
ZGVmYXVsdD0ibWFjIiwgIyBEZWZhdWx0IHRvIE1hYyBmb3Igbm93CisgICAgICAgICAgICAgICAg
ICAgICAgaGVscD0iV2hpY2ggcG9ydCB0byBnZW5lcmF0ZSBmb3IuIikKICAgICBwYXJzZXIuYWRk
X29wdGlvbigiLS1yZWdlbmVyYXRlLXByb2plY3RzIiwgZGVzdD0icmVnZW5lcmF0ZV9wcm9qZWN0
cyIsCiAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD1GYWxzZSwgYWN0aW9uPSJzdG9yZV90
cnVlIiwKICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJHZW5lcmF0ZSBhbGwgcHJvamVjdCBm
aWxlcyBldmVuIGlmIHRoZXkgYXBwZWFyIHRvIGJlIHVwIHRvIGRhdGUuIikKQEAgLTEwNSwxMSAr
MTQxLDEyIEBAIGRlZiBtYWluKCk6CiAKICAgICBwcm9qZWN0cyA9IFBST0pFQ1RTCiAgICAgaWYg
bm90IG9wdGlvbnMucmVnZW5lcmF0ZV9wcm9qZWN0czoKLSAgICAgICAgcHJvamVjdHMgPSBwcm9q
ZWN0c190b19nZW5lcmF0ZSgpCisgICAgICAgIHByb2plY3RzID0gcHJvamVjdHNfdG9fZ2VuZXJh
dGUob3B0aW9ucy5wb3J0KQogCiAgICAgZm9yIHByb2plY3QgaW4gcHJvamVjdHM6CiAgICAgICAg
IHByaW50ICJHZW5lcmF0aW5nICVzLiIgJSBwcm9qZWN0Lm5hbWUoKQotICAgICAgICBwcm9qZWN0
LmdlbmVyYXRlKCkKKyAgICAgICAgcHJvamVjdC5nZW5lcmF0ZShvcHRpb25zLnBvcnQpCisKIAog
aWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICBtYWluKCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88720</attachid>
            <date>2011-04-07 15:56:14 -0700</date>
            <delta_ts>2011-04-07 22:18:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58086-20110407155613.patch</filename>
            <type>text/plain</type>
            <size>10052</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODMyMDMKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCA4MTUyNmE3MTE1NWI1OGNiYjBhNjExZDE3YjdkZWQ3Y2E1YmQ3ZGZhLi41MzQw
Zjg5NTY4ZWVjZWMwMGNkOWJlODY3OTY1Yjg5NDRmNzYyOTgyIDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDQtMDcgIEVyaWMgU2Vp
ZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGgu
CisKKyAgICAgICAgQWRkIHN0dWIgc3VwcG9ydCBmb3IgZ2VuZXJhdGluZyBHdGsgYnVpbGQgc3lz
dGVtIGZyb20gZ3lwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01ODA4NgorCisgICAgICAgIFRoaXMgYWRkcyBzdXBwb3J0IGZvciBhIG5ldyAtLXBvcnQg
YXJndW1lbnQgYW5kIHBsdW1icyB0aHJvdWdoCisgICAgICAgIHRoZSBuZWNlc3NhcnkgcGF0aHMg
dG8gYWxsb3cgZ2VuZXJhdGluZyBmb3IgYSBwb3J0IG90aGVyIHRoYW4gTWFjLgorCisgICAgICAg
ICogU291cmNlL2d5cC9jb25maWd1cmU6CisKIDIwMTEtMDQtMDYgIERhaSBNaWt1cnViZSAgPGRt
aWt1cnViZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgTGV2aW4u
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3YWQwOWYwYTAwZGU5MjExZmZjZDM3YWNhOWJh
MDAzOGQzMTk4ZDgwLi4zYWM1ZmE3MGExMWUyMDNiZWNjOTQ4OTk4MzczZjRiYTQxZDZhMTEwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMS0wNC0wNyAgRXJp
YyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBC
YXJ0aC4KKworICAgICAgICBBZGQgc3R1YiBzdXBwb3J0IGZvciBnZW5lcmF0aW5nIEd0ayBidWls
ZCBzeXN0ZW0gZnJvbSBneXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTU4MDg2CisKKyAgICAgICAgVGhpcyBkb2VzIG5vdCBwcm9kdWNlIGEgYnVpbGRh
YmxlIEphdmFTY3JpcHRDb3JlLCBidXQgaXQKKyAgICAgICAgZG9lcyBhbGxvdyBydW5uaW5nIGd5
cC9jb25maWd1cmUgLS1wb3J0PWd0ayBhbmQgaGF2aW5nCisgICAgICAgIGl0IGdlbmVyYXRlIGEg
Z3RrLk1ha2VmaWxlIHdoaWNoIHdlIGNhbiB1c2UgZm9yIHRlc3RpbmcKKyAgICAgICAgdGhlIHJl
c3Qgb2YgdGhlIHBsdW1iaW5nLgorCisgICAgICAgICogZ3lwL2d0ay5neXA6IEFkZGVkLgorCiAy
MDExLTA0LTA2ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBHZW9mZiBHYXJlbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9neXAvZ3RrLmd5cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9neXAvZ3RrLmd5
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zM2VhYTE3YTIzYjQzNzdhY2Y4ZDg3ZGY4YWIxODkzNTk3ZTI2Y2IwCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2d5cC9ndGsuZ3lwCkBAIC0w
LDAgKzEsMTggQEAKK3sgIyBKdXN0IGEgc3R1YiBmaWxlIHRvIGFsbG93IFNvdXJjZS9neXAvY29u
ZmlndXJlIHRvIHJ1biBzdWNjZXNzZnVsbHkgZm9yIHRlc3RpbmcuCisgICdpbmNsdWRlcyc6IFsK
KyAgICAnLi4vLi4vZ3lwL2NvbW1vbi5neXBpJywKKyAgICAnLi4vSmF2YVNjcmlwdENvcmUuZ3lw
aScsCisgIF0sCisgICd0YXJnZXRzJzogWworICAgIHsKKyAgICAgICd0YXJnZXRfbmFtZSc6ICdK
YXZhU2NyaXB0Q29yZScsCisgICAgICAndHlwZSc6ICdzdGF0aWNfbGlicmFyeScsCisgICAgICAn
c291cmNlcyc6IFsKKyAgICAgICAgJzxAKGphdmFzY3JpcHRjb3JlX2ZpbGVzKScsCisgICAgICAg
ICc8QChqYXZhc2NyaXB0Y29yZV9wdWJsaWNoZWFkZXJfZmlsZXMpJywKKyAgICAgICAgJzxAKGph
dmFzY3JpcHRjb3JlX3ByaXZhdGVoZWFkZXJfZmlsZXMpJywKKyAgICAgICAgJzxAKGphdmFzY3Jp
cHRjb3JlX2Rlcml2ZWRfc291cmNlX2ZpbGVzKScsCisgICAgICBdLAorICAgIH0sCisgIF0sICMg
dGFyZ2V0cworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvZ3lwL3B5bGliL2d5cC9n
ZW5lcmF0b3IvZmlsZWxpc3QucHkgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9neXAvcHlsaWIvZ3lwL2dl
bmVyYXRvci9maWxlbGlzdC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZTM5MzYzZjk4NTY5MGZhNzU4ZmVkYTlh
MTFhZjk4Nzc3YWQwN2RjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1RoaXJkUGFydHkvZ3lw
L3B5bGliL2d5cC9nZW5lcmF0b3IvZmlsZWxpc3QucHkKQEAgLTAsMCArMSw0NSBAQAorIyEvdXNy
L2Jpbi9weXRob24KKworIyBDb3B5cmlnaHQgKGMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyMgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBC
U0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorIyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxl
LgorCisiIiJmaWxlbGlzdCBvdXRwdXQgbW9kdWxlCisKK0p1c3QgZHVtcHMgdGhlIGxpc3Qgb2Yg
ZmlsZXMgdG8gYSB0ZXh0IGZpbGUgZm9yIGltcG9ydCBpbnRvIGFub3RoZXIgYnVpbGQgc3lzdGVt
LgorIiIiCisKK2ltcG9ydCBneXAuY29tbW9uCitpbXBvcnQgZXJybm8KK2ltcG9ydCBvcworCisK
KyMgRklYTUU6IFRoZXNlIGRlZmF1bHRzIGFyZSB3cm9uZywgYnV0IHNlcnZlIHRvIGFsbG93IHVz
IHRvIGdlbmVyYXRlIHNvbWV0aGluZyBmb3Igbm93LgorZ2VuZXJhdG9yX2RlZmF1bHRfdmFyaWFi
bGVzID0geworICAnT1MnOiAnbGludXgnLAorICAnUFJPRFVDVF9ESVInOiAnJChidWlsZGRpcikn
LAorfQorCisKK2RlZiBHZW5lcmF0ZU91dHB1dCh0YXJnZXRfbGlzdCwgdGFyZ2V0X2RpY3RzLCBk
YXRhLCBwYXJhbXMpOgorICBvcHRpb25zID0gcGFyYW1zWydvcHRpb25zJ10KKworICBmb3IgYnVp
bGRfZmlsZSwgYnVpbGRfZmlsZV9kaWN0IGluIGRhdGEuaXRlcml0ZW1zKCk6CisgICAgKGJ1aWxk
X2ZpbGVfcm9vdCwgYnVpbGRfZmlsZV9leHQpID0gb3MucGF0aC5zcGxpdGV4dChidWlsZF9maWxl
KQorICAgIGlmIGJ1aWxkX2ZpbGVfZXh0ICE9ICcuZ3lwJzoKKyAgICAgIGNvbnRpbnVlCisKKyAg
ICBmaWxlbGlzdF9zdWZmaXggPSAiLmFtIiAjIEZJWE1FOiBUaGlzIHNob3VsZCBiZSBjb25maWd1
cmFibGUgaW4gdGhlIC5neXAgZmlsZQorICAgIGZpbGVsaXN0X3BhdGggPSBidWlsZF9maWxlX3Jv
b3QgKyBvcHRpb25zLnN1ZmZpeCArIGZpbGVsaXN0X3N1ZmZpeAorCisgICAgd2l0aCBvcGVuKGZp
bGVsaXN0X3BhdGgsICd3JykgYXMgb3V0cHV0OgorCisgICAgICBmb3IgcXVhbGlmaWVkX3Rhcmdl
dCBpbiB0YXJnZXRfbGlzdDoKKyAgICAgICAgW2lucHV0X2ZpbGUsIHRhcmdldF0gPSBneXAuY29t
bW9uLlBhcnNlUXVhbGlmaWVkVGFyZ2V0KHF1YWxpZmllZF90YXJnZXQpWzA6Ml0KKworICAgICAg
ICBsb3dlcmVkX3RhcmdldCA9IHRhcmdldC5sb3dlcigpICMgRklYTUU6IFRoaXMgaXMgYSBoYWNr
IGZvciBub3cgdG8gbWF0Y2hlIGd0ayBhdXRvbWFrZSBzdHlsZS4KKworICAgICAgICBvdXRwdXQu
d3JpdGUoIiVzX3NvdXJjZXMgKz0gXFxcbiIgJSBsb3dlcmVkX3RhcmdldCkKKworICAgICAgICBm
b3Igc291cmNlIGluIHRhcmdldF9kaWN0c1txdWFsaWZpZWRfdGFyZ2V0XVsnc291cmNlcyddOgor
ICAgICAgICAgICAgb3V0cHV0LndyaXRlKCJcdCVzIFxcXG4iICUgc291cmNlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IGFkYmUzNzRmODMxODQ1YTVmNWMyZmYwMTcwOTYyY2MxMmM5MTFkNDcuLjExN2EyN2U4ZGU0
NDI4YzM1ZmVmNGM2OTEyOGEzNWFmZDg4ZTgwZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBA
QAorMjAxMS0wNC0wNyAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAgICAgICBBZGQgc3R1YiBzdXBwb3J0IGZvciBn
ZW5lcmF0aW5nIEd0ayBidWlsZCBzeXN0ZW0gZnJvbSBneXAKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4MDg2CisKKyAgICAgICAgVGhpcyBkb2VzIG5v
dCBwcm9kdWNlIGEgYnVpbGRhYmxlIFdlYkNvcmUsIGJ1dCBpdAorICAgICAgICBkb2VzIGFsbG93
IHJ1bm5pbmcgZ3lwL2NvbmZpZ3VyZSAtLXBvcnQ9Z3RrIGFuZCBoYXZpbmcKKyAgICAgICAgaXQg
Z2VuZXJhdGUgYSBndGsuTWFrZWZpbGUgd2hpY2ggd2UgY2FuIHVzZSBmb3IgdGVzdGluZworICAg
ICAgICB0aGUgcmVzdCBvZiB0aGUgcGx1bWJpbmcuCisKKyAgICAgICAgKiBneXAvZ3RrLmd5cDog
QWRkZWQuCisKIDIwMTEtMDQtMDcgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZ3lwL2d0ay5neXAgYi9Tb3VyY2UvV2ViQ29yZS9neXAvZ3RrLmd5cApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
NGZiM2NiNzUyN2JmYTQ3N2NlYmM4NDMxZTQ2M2EwODAxZWUyNDUzCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvZ3lwL2d0ay5neXAKQEAgLTAsMCArMSwxNyBAQAoreyAjIEp1c3Qg
YSBzdHViIGZpbGUgdG8gYWxsb3cgU291cmNlL2d5cC9jb25maWd1cmUgdG8gcnVuIHN1Y2Nlc3Nm
dWxseSBmb3IgdGVzdGluZy4KKyAgJ2luY2x1ZGVzJzogWworICAgICcuLi8uLi9neXAvY29tbW9u
Lmd5cGknLAorICAgICcuLi9XZWJDb3JlLmd5cGknLAorICBdLAorICAndGFyZ2V0cyc6IFsKKyAg
ICB7CisgICAgICAndGFyZ2V0X25hbWUnOiAnV2ViQ29yZScsCisgICAgICAndHlwZSc6ICdzdGF0
aWNfbGlicmFyeScsCisgICAgICAnc291cmNlcyc6IFsKKyAgICAgICAgJzxAKHdlYmNvcmVfZmls
ZXMpJywKKyAgICAgICAgJzxAKHdlYmNvcmVfcHJpdmF0ZWhlYWRlcl9maWxlcyknLAorICAgICAg
ICAnPEAod2ViY29yZV9kZXJpdmVkX3NvdXJjZV9maWxlcyknLAorICAgICAgXSwKKyAgICB9LAor
ICAgXSwgIyB0YXJnZXRzCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvZ3lwL2NvbmZpZ3VyZSBiL1Nv
dXJjZS9neXAvY29uZmlndXJlCmluZGV4IDI4ZDY2NzcwNzczMzIwNmViN2JlMWRmNWJiOWYyZTY3
NzkyNmVmZDMuLmI0ZTRhYzUwODIxYTZkODIzMzYwMDU5ZjMwZjg1YWQ2YjUwMTMwNTcgMTAwNzU1
Ci0tLSBhL1NvdXJjZS9neXAvY29uZmlndXJlCisrKyBiL1NvdXJjZS9neXAvY29uZmlndXJlCkBA
IC00MCw2ICs0MCw3IEBAIGRlZiBjaGRpcl90b19zb3VyY2UoKToKIGRlZiBneXAoKToKICAgICBy
ZXR1cm4gb3MucGF0aC5qb2luKCdUaGlyZFBhcnR5JywgJ2d5cCcsICdneXAnKQogCisKIGNsYXNz
IFByb2plY3Q6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIG5hbWUpOgogICAgICAgICBzZWxmLl9u
YW1lID0gbmFtZQpAQCAtNDcsNDQgKzQ4LDc3IEBAIGNsYXNzIFByb2plY3Q6CiAgICAgZGVmIG5h
bWUoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLl9uYW1lCiAKLSAgICBkZWYgaW5wdXRzKHNl
bGYpOgorICAgIGRlZiBfZ3lwX2RpcmVjdG9yeShzZWxmKToKKyAgICAgICAgcmV0dXJuIG9zLnBh
dGguam9pbihzZWxmLl9uYW1lLCAnZ3lwJykKKworICAgIGRlZiBfZ3lwX2ZpbGVfZm9yX3BvcnQo
c2VsZiwgcG9ydCk6CisgICAgICAgICMgR3lwIHVzZXMgdGhlIGd5cCBmaWxlIG5hbWUgYXMgdGhl
IFhDb2RlIHByb2ogZmlsZSBuYW1lLCBzbyBmb3Igbm93ICJhcHBsZS1tYWMiIG11c3QgYmUgUHJv
amVjdE5hbWUuZ3lwCisgICAgICAgIGlmIHBvcnQgPT0gIm1hYyI6CisgICAgICAgICAgICByZXR1
cm4gJyVzLmd5cCcgJSBzZWxmLl9uYW1lCisgICAgICAgIHJldHVybiAiJXMuZ3lwIiAlIHBvcnQK
KworICAgIGRlZiBpbnB1dHMoc2VsZiwgcG9ydCk6CiAgICAgICAgIHJldHVybiBbCi0gICAgICAg
ICAgICBvcy5wYXRoLmpvaW4oc2VsZi5fbmFtZSwgJ2d5cCcsIHNlbGYuX25hbWUgKyAnLmd5cCcp
LAorICAgICAgICAgICAgb3MucGF0aC5qb2luKHNlbGYuX2d5cF9kaXJlY3RvcnkoKSwgc2VsZi5f
Z3lwX2ZpbGVfZm9yX3BvcnQocG9ydCkpLAogICAgICAgICAgICAgb3MucGF0aC5qb2luKHNlbGYu
X25hbWUsIHNlbGYuX25hbWUgKyAnLmd5cGknKSwKICAgICAgICAgICAgIG9zLnBhdGguam9pbign
Z3lwJywgJ2NvbW1vbi5neXBpJyksCiAgICAgICAgIF0KIAotICAgIGRlZiBvdXRwdXQoc2VsZik6
Ci0gICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4oc2VsZi5fbmFtZSwgJ2d5cCcsIHNlbGYuX25h
bWUgKyAnLnhjb2RlcHJvaicsICdwcm9qZWN0LnBieHByb2onKQorICAgIGRlZiBfb3V0cHV0X2Zv
cl9wb3J0KHNlbGYsIHBvcnQpOgorICAgICAgICBmb3JtYXQgPSBmb3JtYXRfZm9yX3BvcnQocG9y
dCkKKyAgICAgICAgcmV0dXJuIHsKKyAgICAgICAgICAgICdmaWxlbGlzdCc6ICclcy5hbScgJSBw
b3J0LAorICAgICAgICAgICAgJ3hjb2RlJzogb3MucGF0aC5qb2luKHNlbGYuX25hbWUgKyAnLnhj
b2RlcHJvaicsICdwcm9qZWN0LnBieHByb2onKSwKKyAgICAgICAgfVtmb3JtYXRdCiAKLSAgICBk
ZWYgc2hvdWxkX2dlbmVyYXRlKHNlbGYpOgotICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMo
c2VsZi5vdXRwdXQoKSk6CisgICAgZGVmIG91dHB1dChzZWxmLCBwb3J0KToKKyAgICAgICAgcmV0
dXJuIG9zLnBhdGguam9pbihzZWxmLl9neXBfZGlyZWN0b3J5KCksIHNlbGYuX291dHB1dF9mb3Jf
cG9ydChwb3J0KSkKKworICAgIGRlZiBzaG91bGRfZ2VuZXJhdGUoc2VsZiwgcG9ydCk6CisgICAg
ICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhzZWxmLm91dHB1dChwb3J0KSk6CiAgICAgICAgICAg
ICByZXR1cm4gVHJ1ZQotICAgICAgICByZXR1cm4gb3MucGF0aC5nZXRtdGltZShzZWxmLm91dHB1
dCgpKSA8IHNlbGYuX25ld2VzdChzZWxmLmlucHV0cygpKQorICAgICAgICByZXR1cm4gb3MucGF0
aC5nZXRtdGltZShzZWxmLm91dHB1dChwb3J0KSkgPCBzZWxmLl9uZXdlc3Qoc2VsZi5pbnB1dHMo
cG9ydCkpCisKKyAgICBkZWYgX2V4dHJhX2FyZ3NfZm9yX2Zvcm1hdChzZWxmLCBmb3JtYXQpOgor
ICAgICAgICBpZiBmb3JtYXQgPT0gInhjb2RlIjoKKyAgICAgICAgICAgIHJldHVybiBbJy1HJywg
J3hjb2RlX2xpc3RfZXhjbHVkZWRfZmlsZXM9MCddCisgICAgICAgIHJldHVybiBbXQogCi0gICAg
ZGVmIGdlbmVyYXRlKHNlbGYpOgotICAgICAgICBzdWJwcm9jZXNzLmNhbGwoWworICAgIGRlZiBn
ZW5lcmF0ZShzZWxmLCBwb3J0KToKKyAgICAgICAgYXJncyA9IFsKICAgICAgICAgICAgIGd5cCgp
LAotICAgICAgICAgICAgc2VsZi5pbnB1dHMoKVswXSwKLSAgICAgICAgICAgICctRycsCi0gICAg
ICAgICAgICAneGNvZGVfbGlzdF9leGNsdWRlZF9maWxlcz0wJywKKyAgICAgICAgICAgIHNlbGYu
aW5wdXRzKHBvcnQpWzBdLAogICAgICAgICAgICAgJy0tZGVwdGg9LicsCi0gICAgICAgIF0pCisg
ICAgICAgIF0KKyAgICAgICAgZm9ybWF0ID0gZm9ybWF0X2Zvcl9wb3J0KHBvcnQpCisgICAgICAg
IGFyZ3MuYXBwZW5kKCctLWZvcm1hdD0lcycgJSBmb3JtYXQpCisgICAgICAgIGFyZ3MgKz0gc2Vs
Zi5fZXh0cmFfYXJnc19mb3JfZm9ybWF0KGZvcm1hdCkKKworICAgICAgICBzdWJwcm9jZXNzLmNh
bGwoYXJncykKICAgICAgICAgIyBHWVAgZG9lc24ndCBhbHdheXMgdG91Y2ggdGhlIG91dHB1dCBm
aWxlLCBidXQgd2Ugd2FudCB0byB0b3VjaCB0aGUKICAgICAgICAgIyBmaWxlIHNvIHRoYXQgd2Ug
ZG9uJ3Qga2VlcCB0cnlpbmcgdG8gcmVnZW5lcmF0ZSBpdC4KLSAgICAgICAgb3MudXRpbWUoc2Vs
Zi5vdXRwdXQoKSwgTm9uZSkKKyAgICAgICAgb3MudXRpbWUoc2VsZi5vdXRwdXQocG9ydCksIE5v
bmUpCiAKICAgICBAc3RhdGljbWV0aG9kCiAgICAgZGVmIF9uZXdlc3QocGF0aHMpOgogICAgICAg
ICByZXR1cm4gbWF4KFtvcy5wYXRoLmdldG10aW1lKHBhdGgpIGZvciBwYXRoIGluIHBhdGhzXSkK
IAorCitkZWYgZm9ybWF0X2Zvcl9wb3J0KHBvcnQpOgorICAgIHJldHVybiB7CisgICAgICAgICdt
YWMnOiAneGNvZGUnLAorICAgICAgICAnZ3RrJzogJ2ZpbGVsaXN0JywKKyAgICAgICAgJ3dpbic6
ICdtc3ZzJywKKyAgICB9W3BvcnRdICMgVmFsaWQgcG9ydCBpcyByZXF1aXJlZC4KKworCiBQUk9K
RUNUUyA9IFsKICAgICBQcm9qZWN0KCJKYXZhU2NyaXB0Q29yZSIpLAogICAgIFByb2plY3QoIldl
YkNvcmUiKSwKIF0KIAotZGVmIHByb2plY3RzX3RvX2dlbmVyYXRlKCk6Ci0gICAgc2hvdWxkX2dl
bmVyYXRlID0gW3Byb2plY3QgZm9yIHByb2plY3QgaW4gUFJPSkVDVFMgaWYgcHJvamVjdC5zaG91
bGRfZ2VuZXJhdGUoKV0KK2RlZiBwcm9qZWN0c190b19nZW5lcmF0ZShwb3J0KToKKyAgICBzaG91
bGRfZ2VuZXJhdGUgPSBbcHJvamVjdCBmb3IgcHJvamVjdCBpbiBQUk9KRUNUUyBpZiBwcm9qZWN0
LnNob3VsZF9nZW5lcmF0ZShwb3J0KV0KICAgICBhbHJlYWR5X2dlbmVyYXRlZCA9IFtwcm9qZWN0
Lm5hbWUoKSBmb3IgcHJvamVjdCBpbiBzZXQoUFJPSkVDVFMpIC0gc2V0KHNob3VsZF9nZW5lcmF0
ZSldCiAKICAgICBpZiBhbHJlYWR5X2dlbmVyYXRlZDoKQEAgLTkzLDExICsxMjcsMTMgQEAgZGVm
IHByb2plY3RzX3RvX2dlbmVyYXRlKCk6CiAKICAgICByZXR1cm4gc2hvdWxkX2dlbmVyYXRlCiAK
KwogZGVmIG1haW4oKToKICAgICBjaGRpcl90b19zb3VyY2UoKQogCiAgICAgcGFyc2VyID0gT3B0
aW9uUGFyc2VyKCkKLSAgICAjIEZJWE1FOiBUaGUgdXNlciBzaG91bGQgYmUgYWJsZSB0byBwYXNz
IHdoaWNoIHBvcnQgb24gdGhlIGNvbW1hbmQgbGluZS4KKyAgICBwYXJzZXIuYWRkX29wdGlvbigi
LS1wb3J0IiwgZGVzdD0icG9ydCIsIGFjdGlvbj0ic3RvcmUiLCBkZWZhdWx0PSJtYWMiLCAjIERl
ZmF1bHQgdG8gTWFjIGZvciBub3cKKyAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJXaGljaCBw
b3J0IHRvIGdlbmVyYXRlIGZvci4iKQogICAgIHBhcnNlci5hZGRfb3B0aW9uKCItLXJlZ2VuZXJh
dGUtcHJvamVjdHMiLCBkZXN0PSJyZWdlbmVyYXRlX3Byb2plY3RzIiwKICAgICAgICAgICAgICAg
ICAgICAgICBkZWZhdWx0PUZhbHNlLCBhY3Rpb249InN0b3JlX3RydWUiLAogICAgICAgICAgICAg
ICAgICAgICAgIGhlbHA9IkdlbmVyYXRlIGFsbCBwcm9qZWN0IGZpbGVzIGV2ZW4gaWYgdGhleSBh
cHBlYXIgdG8gYmUgdXAgdG8gZGF0ZS4iKQpAQCAtMTA1LDExICsxNDEsMTIgQEAgZGVmIG1haW4o
KToKIAogICAgIHByb2plY3RzID0gUFJPSkVDVFMKICAgICBpZiBub3Qgb3B0aW9ucy5yZWdlbmVy
YXRlX3Byb2plY3RzOgotICAgICAgICBwcm9qZWN0cyA9IHByb2plY3RzX3RvX2dlbmVyYXRlKCkK
KyAgICAgICAgcHJvamVjdHMgPSBwcm9qZWN0c190b19nZW5lcmF0ZShvcHRpb25zLnBvcnQpCiAK
ICAgICBmb3IgcHJvamVjdCBpbiBwcm9qZWN0czoKICAgICAgICAgcHJpbnQgIkdlbmVyYXRpbmcg
JXMuIiAlIHByb2plY3QubmFtZSgpCi0gICAgICAgIHByb2plY3QuZ2VuZXJhdGUoKQorICAgICAg
ICBwcm9qZWN0LmdlbmVyYXRlKG9wdGlvbnMucG9ydCkKKwogCiBpZiBfX25hbWVfXyA9PSAiX19t
YWluX18iOgogICAgIG1haW4oKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>