<?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>30752</bug_id>
          
          <creation_ts>2009-10-24 17:57:41 -0700</creation_ts>
          <short_desc>Web Inspector: Multiple Selection on Scope Bars by default Conflicts with other behavior on OSX</short_desc>
          <delta_ts>2009-10-24 21:43:06 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brian Weinstein">bweinstein</reporter>
          <assigned_to name="Brian Weinstein">bweinstein</assigned_to>
          <cc>aroben</cc>
    
    <cc>joepeck</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>157518</commentid>
    <comment_count>0</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-10-24 17:57:41 -0700</bug_when>
    <thetext>In my testing, none of the other scope bars on OSX allow for multiple selections, making the Inspector be an outlier, however, there are use cases where multiple selection is useful, it is just confusing when it is the default. It should be that a click without modifier keys selects just the clicked scope, and a click with the meta key selects multiple options.

I have a patch done, but the one thing I am not sure about is how to handle the case where the multiple selection key should be the Command key on Mac (e.metaKey), but the Control key on Windows (e.ctrlKey). There is a FIXME there for now, but if anyone knows how to handle that, that would be great.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157519</commentid>
    <comment_count>1</comment_count>
      <attachid>41801</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-10-24 18:01:49 -0700</bug_when>
    <thetext>Created attachment 41801
Fix

At some point, it would be good if these two filter functions were factored into a command function, as they are very similar. I&apos;ll file a bug for that and try it in a future patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157521</commentid>
    <comment_count>2</comment_count>
      <attachid>41802</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-10-24 18:11:25 -0700</bug_when>
    <thetext>Created attachment 41802
Fix w/ platform specific modifiers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157522</commentid>
    <comment_count>3</comment_count>
      <attachid>41803</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-10-24 18:21:00 -0700</bug_when>
    <thetext>Created attachment 41803
Fix + Joe&apos;s Comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157537</commentid>
    <comment_count>4</comment_count>
      <attachid>41803</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-10-24 20:23:15 -0700</bug_when>
    <thetext>Comment on attachment 41803
Fix + Joe&apos;s Comments

&gt; +        Need a short description and bug URL (OOPS!)
&gt; +
&gt; +        No new tests. (OOPS!)

Remove.


&gt; +            // If multiple selection is off, we want to unselect everything else
&gt; +            // and just select ourselves.
&gt; +            for (var i = 0; i &lt; this.filterBarElement.childNodes.length; ++i) {
&gt; +                var child = this.filterBarElement.childNodes[i];
&gt; +                if (!child.category)
&gt; +                    continue;
&gt; +                
&gt; +                child.removeStyleClass(&quot;selected&quot;);
&gt; +
&gt; +                var filterClass = &quot;filter-&quot; + child.category.toLowerCase();
&gt; +                this.resourcesGraphsElement.removeStyleClass(filterClass);
&gt; +                this.resourcesTreeElement.childrenListElement.removeStyleClass(filterClass);
&gt; +            }

You could factor this into a helper nested function that you share with the other part of this function that also deselects all.


&gt;          if (target.hasStyleClass(&quot;selected&quot;)) {
&gt; +            // If selectMultiple is turned on, and we were selected, we just
&gt; +            // want to unselect ourselves.
&gt;              target.removeStyleClass(&quot;selected&quot;);
&gt; -
&gt;              var filterClass = &quot;filter-&quot; + target.category.toLowerCase();

I prefer to keep the empty line that you deleted, it helps readability. You should also factor out the var filterCalss line so you don&apos;t need it twice. Like you did for the ConsoleView.


&gt;              target.addStyleClass(&quot;selected&quot;);
&gt; -
&gt;              var filterClass = &quot;filter-&quot; + target.category.toLowerCase();

Keep that empty line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157549</commentid>
    <comment_count>5</comment_count>
      <attachid>41811</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2009-10-24 21:09:08 -0700</bug_when>
    <thetext>Created attachment 41811
Fix + Refactoring

Just wanted one more review on the refactoring for a second set of eyes to make sure I didn&apos;t make a silly mistake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157555</commentid>
    <comment_count>6</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-10-24 21:43:06 -0700</bug_when>
    <thetext>Brian landed this in r50038.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41801</attachid>
            <date>2009-10-24 18:01:49 -0700</date>
            <delta_ts>2009-10-24 18:11:25 -0700</delta_ts>
            <desc>Fix</desc>
            <filename>meta_key_select.patch</filename>
            <type>text/plain</type>
            <size>7260</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MDAzNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMDktMTAtMjQgIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEZpeGVzIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzA3NTI+
LgorICAgICAgICBXZWIgSW5zcGVjdG9yOiBNdWx0aXBsZSBTZWxlY3Rpb24gb24gU2NvcGUgQmFy
cyBieSBkZWZhdWx0IENvbmZsaWN0cyB3aXRoIG90aGVyIGJlaGF2aW9yIG9uIE9TWC4KKyAgICAg
ICAgCisgICAgICAgIEhhdmUgdGhlIHNjb3BlIGJhcnMgc2VsZWN0IG9uZSBzY29wZSBieSBkZWZh
dWx0LCBidXQgaWYgdGhlIG11bHRpcGxlIHNlbGVjdGlvbiBrZXkKKyAgICAgICAgaXMgcHJlc3Nl
ZCwgYWxsb3cgZm9yIG11bHRpcGxlIHNlbGVjdGlvbi4KKworICAgICAgICBOZWVkIGEgc2hvcnQg
ZGVzY3JpcHRpb24gYW5kIGJ1ZyBVUkwgKE9PUFMhKQorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4g
KE9PUFMhKQorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlVmlldyk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLl91cGRhdGVGaWx0ZXIpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZS5maWx0ZXIpOgorICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVz
b3VyY2VzUGFuZWwpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3Rv
dHlwZS5maWx0ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3Rv
dHlwZS5fdXBkYXRlRmlsdGVyKToKKwogMjAwOS0xMC0yNCAgVGltb3RoeSBIYXRjaGVyICA8dGlt
b3RoeUBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSB0aGUgc2NvcGUgYmFycyBpbiB0aGUgV2Vi
IEluc3BlY3RvciBtYXRjaCBvdGhlciBzY29wZSBiYXJzIGluIE1hYyBPUyBYLgpJbmRleDogV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcwkocmV2aXNpb24gNTAwMzYp
CisrKyBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTk0LDE3ICs5NCwxOCBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcgPSBmdW5j
dGlvbihkcmF3CiAgICAgdGhpcy53YXJuaW5nRWxlbWVudCA9IGNyZWF0ZUZpbHRlckVsZW1lbnQu
Y2FsbCh0aGlzLCAiV2FybmluZ3MiKTsKICAgICB0aGlzLmxvZ0VsZW1lbnQgPSBjcmVhdGVGaWx0
ZXJFbGVtZW50LmNhbGwodGhpcywgIkxvZ3MiKTsKIAotICAgIHRoaXMuZmlsdGVyKHRoaXMuYWxs
RWxlbWVudCk7CisgICAgdGhpcy5maWx0ZXIodGhpcy5hbGxFbGVtZW50LCBmYWxzZSk7CiB9CiAK
IFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUgPSB7CiAgICAgCiAgICAgX3VwZGF0
ZUZpbHRlcjogZnVuY3Rpb24oZSkKICAgICB7Ci0gICAgICAgIHRoaXMuZmlsdGVyKGUudGFyZ2V0
KTsKKyAgICAgICAgLy8gRklYTUU6IEluIFdpbmRvd3MgdGhpcyBzaG91bGQgYmUgQ29udHJvbCBr
ZXkKKyAgICAgICAgdGhpcy5maWx0ZXIoZS50YXJnZXQsIGUubWV0YUtleSk7CiAgICAgfSwKICAg
ICAKLSAgICBmaWx0ZXI6IGZ1bmN0aW9uKHRhcmdldCkKKyAgICBmaWx0ZXI6IGZ1bmN0aW9uKHRh
cmdldCwgc2VsZWN0TXVsdGlwbGUpCiAgICAgewogICAgICAgICBpZiAodGFyZ2V0LmNhdGVnb3J5
ID09ICJBbGwiKSB7CiAgICAgICAgICAgICBpZiAodGFyZ2V0Lmhhc1N0eWxlQ2xhc3MoInNlbGVj
dGVkIikpIHsKQEAgLTEyNywxMiArMTI4LDM3IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5w
cm90b3R5cGUgPSB7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgCisgICAgICAg
IGlmICghc2VsZWN0TXVsdGlwbGUpIHsKKyAgICAgICAgICAgIC8vIElmIG11bHRpcGxlIHNlbGVj
dGlvbiBpcyBvZmYsIHdlIHdhbnQgdG8gdW5zZWxlY3QgZXZlcnl0aGluZyBlbHNlCisgICAgICAg
ICAgICAvLyBhbmQganVzdCBzZWxlY3Qgb3Vyc2VsdmVzLgorICAgICAgICAgICAgdGhpcy5lcnJv
ckVsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygic2VsZWN0ZWQiKTsKKyAgICAgICAgICAgIHRoaXMu
d2FybmluZ0VsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygic2VsZWN0ZWQiKTsKKyAgICAgICAgICAg
IHRoaXMubG9nRWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJzZWxlY3RlZCIpOworICAgICAgICAg
ICAgdGhpcy5hbGxFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoInNlbGVjdGVkIik7CisgICAgICAg
ICAgICAKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlLW1lc3Nh
Z2VzIikucmVtb3ZlU3R5bGVDbGFzcygiZmlsdGVyLWVycm9ycyIpOworICAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUtbWVzc2FnZXMiKS5yZW1vdmVTdHlsZUNsYXNz
KCJmaWx0ZXItd2FybmluZ3MiKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb25zb2xlLW1lc3NhZ2VzIikucmVtb3ZlU3R5bGVDbGFzcygiZmlsdGVyLWxvZ3MiKTsKKyAg
ICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlLW1lc3NhZ2VzIikucmVt
b3ZlU3R5bGVDbGFzcygiZmlsdGVyLWFsbCIpOworICAgICAgICAgICAgCisgICAgICAgICAgICB0
YXJnZXQuYWRkU3R5bGVDbGFzcygic2VsZWN0ZWQiKTsKKyAgICAgICAgICAgIHZhciBuZXdDbGFz
cyA9ICJmaWx0ZXItIiArIHRhcmdldC5jYXRlZ29yeS50b0xvd2VyQ2FzZSgpOworICAgICAgICAg
ICAgdmFyIGZpbHRlckVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZS1t
ZXNzYWdlcyIpOworICAgICAgICAgICAgZmlsdGVyRWxlbWVudC5hZGRTdHlsZUNsYXNzKG5ld0Ns
YXNzKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAg
ICAgIAogICAgICAgICBpZiAodGFyZ2V0Lmhhc1N0eWxlQ2xhc3MoInNlbGVjdGVkIikpIHsKKyAg
ICAgICAgICAgIC8vIElmIHNlbGVjdE11bHRpcGxlIGlzIHR1cm5lZCBvbiwgYW5kIHdlIHdlcmUg
c2VsZWN0ZWQsIHdlIGp1c3QKKyAgICAgICAgICAgIC8vIHdhbnQgdG8gdW5zZWxlY3Qgb3Vyc2Vs
dmVzLgogICAgICAgICAgICAgdGFyZ2V0LnJlbW92ZVN0eWxlQ2xhc3MoInNlbGVjdGVkIik7CiAg
ICAgICAgICAgICB2YXIgbmV3Q2xhc3MgPSAiZmlsdGVyLSIgKyB0YXJnZXQuY2F0ZWdvcnkudG9M
b3dlckNhc2UoKTsKICAgICAgICAgICAgIHZhciBmaWx0ZXJFbGVtZW50ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnNvbGUtbWVzc2FnZXMiKTsKICAgICAgICAgICAgIGZpbHRlckVsZW1l
bnQucmVtb3ZlU3R5bGVDbGFzcyhuZXdDbGFzcyk7CiAgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICAvLyBJZiBzZWxlY3RNdWx0aXBsZSBpcyB0dXJuZWQgb24sIGFuZCB3ZSB3ZXJlbid0IHNl
bGVjdGVkLCB3ZSBqdXN0CisgICAgICAgICAgICAvLyB3YW50IHRvIHNlbGVjdCBvdXJzZWx2ZXMu
CiAgICAgICAgICAgICB0YXJnZXQuYWRkU3R5bGVDbGFzcygic2VsZWN0ZWQiKTsKICAgICAgICAg
ICAgIHZhciBuZXdDbGFzcyA9ICJmaWx0ZXItIiArIHRhcmdldC5jYXRlZ29yeS50b0xvd2VyQ2Fz
ZSgpOwogICAgICAgICAgICAgdmFyIGZpbHRlckVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29uc29sZS1tZXNzYWdlcyIpOwpJbmRleDogV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1Jlc291cmNlc1BhbmVsLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcwkocmV2aXNpb24gNTAwMzYpCisrKyBXZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanMJKHdvcmtpbmcgY29weSkKQEAgLTE2
NCw3ICsxNjQsNyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwgPSBmdW5jdGlvbigpCiAg
ICAgZm9yICh2YXIgY2F0ZWdvcnkgaW4gdGhpcy5jYXRlZ29yaWVzKQogICAgICAgICBjcmVhdGVG
aWx0ZXJFbGVtZW50LmNhbGwodGhpcywgY2F0ZWdvcnkpOwogCi0gICAgdGhpcy5maWx0ZXIodGhp
cy5hbGxFbGVtZW50KTsKKyAgICB0aGlzLmZpbHRlcih0aGlzLmFsbEVsZW1lbnQsIGZhbHNlKTsK
IAogICAgIHRoaXMucmVzZXQoKTsKIApAQCAtMTg1LDcgKzE4NSw3IEBAIFdlYkluc3BlY3Rvci5S
ZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUgPSAKICAgICAgICAgcmV0dXJuIHRoaXMuX2NhdGVnb3Jp
ZXM7IAogICAgIH0sCiAKLSAgICBmaWx0ZXI6IGZ1bmN0aW9uKHRhcmdldCkKKyAgICBmaWx0ZXI6
IGZ1bmN0aW9uKHRhcmdldCwgc2VsZWN0TXVsdGlwbGUpCiAgICAgewogICAgICAgICBpZiAodGFy
Z2V0ID09PSB0aGlzLmFsbEVsZW1lbnQpIHsKICAgICAgICAgICAgIGlmICh0YXJnZXQuaGFzU3R5
bGVDbGFzcygic2VsZWN0ZWQiKSkgewpAQCAtMjE0LDE2ICsyMTQsNDEgQEAgV2ViSW5zcGVjdG9y
LlJlc291cmNlc1BhbmVsLnByb3RvdHlwZSA9IAogICAgICAgICAgICAgICAgIHRoaXMucmVzb3Vy
Y2VzVHJlZUVsZW1lbnQuY2hpbGRyZW5MaXN0RWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJmaWx0
ZXItYWxsIik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGlm
ICghc2VsZWN0TXVsdGlwbGUpIHsKKyAgICAgICAgICAgIC8vIElmIG11bHRpcGxlIHNlbGVjdGlv
biBpcyBvZmYsIHdlIHdhbnQgdG8gdW5zZWxlY3QgZXZlcnl0aGluZyBlbHNlCisgICAgICAgICAg
ICAvLyBhbmQganVzdCBzZWxlY3Qgb3Vyc2VsdmVzLgorICAgICAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCB0aGlzLmZpbHRlckJhckVsZW1lbnQuY2hpbGROb2Rlcy5sZW5ndGg7ICsraSkgewor
ICAgICAgICAgICAgICAgIHZhciBjaGlsZCA9IHRoaXMuZmlsdGVyQmFyRWxlbWVudC5jaGlsZE5v
ZGVzW2ldOworICAgICAgICAgICAgICAgIGlmICghY2hpbGQuY2F0ZWdvcnkpCisgICAgICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGNo
aWxkLnJlbW92ZVN0eWxlQ2xhc3MoInNlbGVjdGVkIik7CisKKyAgICAgICAgICAgICAgICB2YXIg
ZmlsdGVyQ2xhc3MgPSAiZmlsdGVyLSIgKyBjaGlsZC5jYXRlZ29yeS50b0xvd2VyQ2FzZSgpOwor
ICAgICAgICAgICAgICAgIHRoaXMucmVzb3VyY2VzR3JhcGhzRWxlbWVudC5yZW1vdmVTdHlsZUNs
YXNzKGZpbHRlckNsYXNzKTsKKyAgICAgICAgICAgICAgICB0aGlzLnJlc291cmNlc1RyZWVFbGVt
ZW50LmNoaWxkcmVuTGlzdEVsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcyhmaWx0ZXJDbGFzcyk7Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHRhcmdldC5hZGRTdHlsZUNs
YXNzKCJzZWxlY3RlZCIpOworICAgICAgICAgICAgdmFyIGZpbHRlckNsYXNzID0gImZpbHRlci0i
ICsgdGFyZ2V0LmNhdGVnb3J5LnRvTG93ZXJDYXNlKCk7CisgICAgICAgICAgICB0aGlzLnJlc291
cmNlc0dyYXBoc0VsZW1lbnQuYWRkU3R5bGVDbGFzcyhmaWx0ZXJDbGFzcyk7CisgICAgICAgICAg
ICB0aGlzLnJlc291cmNlc1RyZWVFbGVtZW50LmNoaWxkcmVuTGlzdEVsZW1lbnQuYWRkU3R5bGVD
bGFzcyhmaWx0ZXJDbGFzcyk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQogCiAgICAgICAgIGlmICh0YXJnZXQuaGFzU3R5bGVDbGFzcygic2VsZWN0ZWQiKSkg
eworICAgICAgICAgICAgLy8gSWYgc2VsZWN0TXVsdGlwbGUgaXMgdHVybmVkIG9uLCBhbmQgd2Ug
d2VyZSBzZWxlY3RlZCwgd2UganVzdAorICAgICAgICAgICAgLy8gd2FudCB0byB1bnNlbGVjdCBv
dXJzZWx2ZXMuCiAgICAgICAgICAgICB0YXJnZXQucmVtb3ZlU3R5bGVDbGFzcygic2VsZWN0ZWQi
KTsKLQogICAgICAgICAgICAgdmFyIGZpbHRlckNsYXNzID0gImZpbHRlci0iICsgdGFyZ2V0LmNh
dGVnb3J5LnRvTG93ZXJDYXNlKCk7CiAgICAgICAgICAgICB0aGlzLnJlc291cmNlc0dyYXBoc0Vs
ZW1lbnQucmVtb3ZlU3R5bGVDbGFzcyhmaWx0ZXJDbGFzcyk7CiAgICAgICAgICAgICB0aGlzLnJl
c291cmNlc1RyZWVFbGVtZW50LmNoaWxkcmVuTGlzdEVsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcyhm
aWx0ZXJDbGFzcyk7CiAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAvLyBJZiBzZWxlY3RN
dWx0aXBsZSBpcyB0dXJuZWQgb24sIGFuZCB3ZSB3ZXJlbid0IHNlbGVjdGVkLCB3ZSBqdXN0Cisg
ICAgICAgICAgICAvLyB3YW50IHRvIHNlbGVjdCBvdXJzZWx2ZXMuCiAgICAgICAgICAgICB0YXJn
ZXQuYWRkU3R5bGVDbGFzcygic2VsZWN0ZWQiKTsKLQogICAgICAgICAgICAgdmFyIGZpbHRlckNs
YXNzID0gImZpbHRlci0iICsgdGFyZ2V0LmNhdGVnb3J5LnRvTG93ZXJDYXNlKCk7CiAgICAgICAg
ICAgICB0aGlzLnJlc291cmNlc0dyYXBoc0VsZW1lbnQuYWRkU3R5bGVDbGFzcyhmaWx0ZXJDbGFz
cyk7CiAgICAgICAgICAgICB0aGlzLnJlc291cmNlc1RyZWVFbGVtZW50LmNoaWxkcmVuTGlzdEVs
ZW1lbnQuYWRkU3R5bGVDbGFzcyhmaWx0ZXJDbGFzcyk7CkBAIC0yMzcsNyArMjYyLDcgQEAgV2Vi
SW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3RvdHlwZSA9IAogCiAgICAgX3VwZGF0ZUZpbHRl
cjogZnVuY3Rpb24oZSkKICAgICB7Ci0gICAgICAgIHRoaXMuZmlsdGVyKGUudGFyZ2V0KTsKKyAg
ICAgICAgdGhpcy5maWx0ZXIoZS50YXJnZXQsIGUubWV0YUtleSk7CiAgICAgfSwKIAogICAgIGdl
dCB0b29sYmFySXRlbUxhYmVsKCkK
</data>
<flag name="commit-queue"
          id="23261"
          type_id="3"
          status="-"
          setter="bweinstein"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41802</attachid>
            <date>2009-10-24 18:11:25 -0700</date>
            <delta_ts>2009-10-24 18:21:00 -0700</delta_ts>
            <desc>Fix w/ platform specific modifiers</desc>
            <filename>meta_key_select.patch</filename>
            <type>text/plain</type>
            <size>7896</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MDAzNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMDktMTAtMjQgIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEZpeGVzIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzA3NTI+
LgorICAgICAgICBXZWIgSW5zcGVjdG9yOiBNdWx0aXBsZSBTZWxlY3Rpb24gb24gU2NvcGUgQmFy
cyBieSBkZWZhdWx0IENvbmZsaWN0cyB3aXRoIG90aGVyIGJlaGF2aW9yIG9uIE9TWC4KKyAgICAg
ICAgCisgICAgICAgIEhhdmUgdGhlIHNjb3BlIGJhcnMgc2VsZWN0IG9uZSBzY29wZSBieSBkZWZh
dWx0LCBidXQgaWYgdGhlIG11bHRpcGxlIHNlbGVjdGlvbiBrZXkKKyAgICAgICAgaXMgcHJlc3Nl
ZCwgYWxsb3cgZm9yIG11bHRpcGxlIHNlbGVjdGlvbi4KKworICAgICAgICBOZWVkIGEgc2hvcnQg
ZGVzY3JpcHRpb24gYW5kIGJ1ZyBVUkwgKE9PUFMhKQorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4g
KE9PUFMhKQorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlVmlldyk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLl91cGRhdGVGaWx0ZXIpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZS5maWx0ZXIpOgorICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVz
b3VyY2VzUGFuZWwpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3Rv
dHlwZS5maWx0ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3Rv
dHlwZS5fdXBkYXRlRmlsdGVyKToKKwogMjAwOS0xMC0yNCAgVGltb3RoeSBIYXRjaGVyICA8dGlt
b3RoeUBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSB0aGUgc2NvcGUgYmFycyBpbiB0aGUgV2Vi
IEluc3BlY3RvciBtYXRjaCBvdGhlciBzY29wZSBiYXJzIGluIE1hYyBPUyBYLgpJbmRleDogV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcwkocmV2aXNpb24gNTAwMzYp
CisrKyBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTk0LDE3ICs5NCwyNCBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcgPSBmdW5j
dGlvbihkcmF3CiAgICAgdGhpcy53YXJuaW5nRWxlbWVudCA9IGNyZWF0ZUZpbHRlckVsZW1lbnQu
Y2FsbCh0aGlzLCAiV2FybmluZ3MiKTsKICAgICB0aGlzLmxvZ0VsZW1lbnQgPSBjcmVhdGVGaWx0
ZXJFbGVtZW50LmNhbGwodGhpcywgIkxvZ3MiKTsKIAotICAgIHRoaXMuZmlsdGVyKHRoaXMuYWxs
RWxlbWVudCk7CisgICAgdGhpcy5maWx0ZXIodGhpcy5hbGxFbGVtZW50LCBmYWxzZSk7CiB9CiAK
IFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUgPSB7CiAgICAgCiAgICAgX3VwZGF0
ZUZpbHRlcjogZnVuY3Rpb24oZSkKICAgICB7Ci0gICAgICAgIHRoaXMuZmlsdGVyKGUudGFyZ2V0
KTsKKyAgICAgICAgdmFyIGlzTWFjID0gSW5zcGVjdG9yQ29udHJvbGxlci5wbGF0Zm9ybSgpLmlu
ZGV4T2YoIm1hYy0iKSA9PT0gMDsKKyAgICAgICAgdmFyIHNlbGVjdE11bHRpcGxlID0gZmFsc2U7
CisgICAgICAgIGlmIChpc01hYyAmJiBlLm1ldGFLZXkgJiYgIWUuY3RybEtleSAmJiAhZS5hbHRL
ZXkgJiYgIWUuc2hpZnRLZXkpCisgICAgICAgICAgICBzZWxlY3RNdWx0aXBsZSA9IHRydWU7Cisg
ICAgICAgIGlmICghaXNNYWMgJiYgZS5jdHJsS2V5ICYmICFlLm1ldGFLZXkgJiYgIWUuYWx0S2V5
ICYmICFlLnNoaWZ0S2V5KQorICAgICAgICAgICAgc2VsZWN0TXVsdGlwbGUgPSB0cnVlOworCisg
ICAgICAgIHRoaXMuZmlsdGVyKGUudGFyZ2V0LCBzZWxlY3RNdWx0aXBsZSk7CiAgICAgfSwKICAg
ICAKLSAgICBmaWx0ZXI6IGZ1bmN0aW9uKHRhcmdldCkKKyAgICBmaWx0ZXI6IGZ1bmN0aW9uKHRh
cmdldCwgc2VsZWN0TXVsdGlwbGUpCiAgICAgewogICAgICAgICBpZiAodGFyZ2V0LmNhdGVnb3J5
ID09ICJBbGwiKSB7CiAgICAgICAgICAgICBpZiAodGFyZ2V0Lmhhc1N0eWxlQ2xhc3MoInNlbGVj
dGVkIikpIHsKQEAgLTEyNywxMiArMTM0LDM3IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5w
cm90b3R5cGUgPSB7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgCisgICAgICAg
IGlmICghc2VsZWN0TXVsdGlwbGUpIHsKKyAgICAgICAgICAgIC8vIElmIG11bHRpcGxlIHNlbGVj
dGlvbiBpcyBvZmYsIHdlIHdhbnQgdG8gdW5zZWxlY3QgZXZlcnl0aGluZyBlbHNlCisgICAgICAg
ICAgICAvLyBhbmQganVzdCBzZWxlY3Qgb3Vyc2VsdmVzLgorICAgICAgICAgICAgdGhpcy5lcnJv
ckVsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygic2VsZWN0ZWQiKTsKKyAgICAgICAgICAgIHRoaXMu
d2FybmluZ0VsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygic2VsZWN0ZWQiKTsKKyAgICAgICAgICAg
IHRoaXMubG9nRWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJzZWxlY3RlZCIpOworICAgICAgICAg
ICAgdGhpcy5hbGxFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoInNlbGVjdGVkIik7CisgICAgICAg
ICAgICAKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlLW1lc3Nh
Z2VzIikucmVtb3ZlU3R5bGVDbGFzcygiZmlsdGVyLWVycm9ycyIpOworICAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUtbWVzc2FnZXMiKS5yZW1vdmVTdHlsZUNsYXNz
KCJmaWx0ZXItd2FybmluZ3MiKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb25zb2xlLW1lc3NhZ2VzIikucmVtb3ZlU3R5bGVDbGFzcygiZmlsdGVyLWxvZ3MiKTsKKyAg
ICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlLW1lc3NhZ2VzIikucmVt
b3ZlU3R5bGVDbGFzcygiZmlsdGVyLWFsbCIpOworICAgICAgICAgICAgCisgICAgICAgICAgICB0
YXJnZXQuYWRkU3R5bGVDbGFzcygic2VsZWN0ZWQiKTsKKyAgICAgICAgICAgIHZhciBuZXdDbGFz
cyA9ICJmaWx0ZXItIiArIHRhcmdldC5jYXRlZ29yeS50b0xvd2VyQ2FzZSgpOworICAgICAgICAg
ICAgdmFyIGZpbHRlckVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZS1t
ZXNzYWdlcyIpOworICAgICAgICAgICAgZmlsdGVyRWxlbWVudC5hZGRTdHlsZUNsYXNzKG5ld0Ns
YXNzKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAg
ICAgIAogICAgICAgICBpZiAodGFyZ2V0Lmhhc1N0eWxlQ2xhc3MoInNlbGVjdGVkIikpIHsKKyAg
ICAgICAgICAgIC8vIElmIHNlbGVjdE11bHRpcGxlIGlzIHR1cm5lZCBvbiwgYW5kIHdlIHdlcmUg
c2VsZWN0ZWQsIHdlIGp1c3QKKyAgICAgICAgICAgIC8vIHdhbnQgdG8gdW5zZWxlY3Qgb3Vyc2Vs
dmVzLgogICAgICAgICAgICAgdGFyZ2V0LnJlbW92ZVN0eWxlQ2xhc3MoInNlbGVjdGVkIik7CiAg
ICAgICAgICAgICB2YXIgbmV3Q2xhc3MgPSAiZmlsdGVyLSIgKyB0YXJnZXQuY2F0ZWdvcnkudG9M
b3dlckNhc2UoKTsKICAgICAgICAgICAgIHZhciBmaWx0ZXJFbGVtZW50ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnNvbGUtbWVzc2FnZXMiKTsKICAgICAgICAgICAgIGZpbHRlckVsZW1l
bnQucmVtb3ZlU3R5bGVDbGFzcyhuZXdDbGFzcyk7CiAgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICAvLyBJZiBzZWxlY3RNdWx0aXBsZSBpcyB0dXJuZWQgb24sIGFuZCB3ZSB3ZXJlbid0IHNl
bGVjdGVkLCB3ZSBqdXN0CisgICAgICAgICAgICAvLyB3YW50IHRvIHNlbGVjdCBvdXJzZWx2ZXMu
CiAgICAgICAgICAgICB0YXJnZXQuYWRkU3R5bGVDbGFzcygic2VsZWN0ZWQiKTsKICAgICAgICAg
ICAgIHZhciBuZXdDbGFzcyA9ICJmaWx0ZXItIiArIHRhcmdldC5jYXRlZ29yeS50b0xvd2VyQ2Fz
ZSgpOwogICAgICAgICAgICAgdmFyIGZpbHRlckVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiY29uc29sZS1tZXNzYWdlcyIpOwpJbmRleDogV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1Jlc291cmNlc1BhbmVsLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcwkocmV2aXNpb24gNTAwMzYpCisrKyBXZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanMJKHdvcmtpbmcgY29weSkKQEAgLTE2
NCw3ICsxNjQsNyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwgPSBmdW5jdGlvbigpCiAg
ICAgZm9yICh2YXIgY2F0ZWdvcnkgaW4gdGhpcy5jYXRlZ29yaWVzKQogICAgICAgICBjcmVhdGVG
aWx0ZXJFbGVtZW50LmNhbGwodGhpcywgY2F0ZWdvcnkpOwogCi0gICAgdGhpcy5maWx0ZXIodGhp
cy5hbGxFbGVtZW50KTsKKyAgICB0aGlzLmZpbHRlcih0aGlzLmFsbEVsZW1lbnQsIGZhbHNlKTsK
IAogICAgIHRoaXMucmVzZXQoKTsKIApAQCAtMTg1LDcgKzE4NSw3IEBAIFdlYkluc3BlY3Rvci5S
ZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUgPSAKICAgICAgICAgcmV0dXJuIHRoaXMuX2NhdGVnb3Jp
ZXM7IAogICAgIH0sCiAKLSAgICBmaWx0ZXI6IGZ1bmN0aW9uKHRhcmdldCkKKyAgICBmaWx0ZXI6
IGZ1bmN0aW9uKHRhcmdldCwgc2VsZWN0TXVsdGlwbGUpCiAgICAgewogICAgICAgICBpZiAodGFy
Z2V0ID09PSB0aGlzLmFsbEVsZW1lbnQpIHsKICAgICAgICAgICAgIGlmICh0YXJnZXQuaGFzU3R5
bGVDbGFzcygic2VsZWN0ZWQiKSkgewpAQCAtMjE0LDE2ICsyMTQsNDEgQEAgV2ViSW5zcGVjdG9y
LlJlc291cmNlc1BhbmVsLnByb3RvdHlwZSA9IAogICAgICAgICAgICAgICAgIHRoaXMucmVzb3Vy
Y2VzVHJlZUVsZW1lbnQuY2hpbGRyZW5MaXN0RWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJmaWx0
ZXItYWxsIik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGlm
ICghc2VsZWN0TXVsdGlwbGUpIHsKKyAgICAgICAgICAgIC8vIElmIG11bHRpcGxlIHNlbGVjdGlv
biBpcyBvZmYsIHdlIHdhbnQgdG8gdW5zZWxlY3QgZXZlcnl0aGluZyBlbHNlCisgICAgICAgICAg
ICAvLyBhbmQganVzdCBzZWxlY3Qgb3Vyc2VsdmVzLgorICAgICAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCB0aGlzLmZpbHRlckJhckVsZW1lbnQuY2hpbGROb2Rlcy5sZW5ndGg7ICsraSkgewor
ICAgICAgICAgICAgICAgIHZhciBjaGlsZCA9IHRoaXMuZmlsdGVyQmFyRWxlbWVudC5jaGlsZE5v
ZGVzW2ldOworICAgICAgICAgICAgICAgIGlmICghY2hpbGQuY2F0ZWdvcnkpCisgICAgICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGNo
aWxkLnJlbW92ZVN0eWxlQ2xhc3MoInNlbGVjdGVkIik7CisKKyAgICAgICAgICAgICAgICB2YXIg
ZmlsdGVyQ2xhc3MgPSAiZmlsdGVyLSIgKyBjaGlsZC5jYXRlZ29yeS50b0xvd2VyQ2FzZSgpOwor
ICAgICAgICAgICAgICAgIHRoaXMucmVzb3VyY2VzR3JhcGhzRWxlbWVudC5yZW1vdmVTdHlsZUNs
YXNzKGZpbHRlckNsYXNzKTsKKyAgICAgICAgICAgICAgICB0aGlzLnJlc291cmNlc1RyZWVFbGVt
ZW50LmNoaWxkcmVuTGlzdEVsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcyhmaWx0ZXJDbGFzcyk7Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHRhcmdldC5hZGRTdHlsZUNs
YXNzKCJzZWxlY3RlZCIpOworICAgICAgICAgICAgdmFyIGZpbHRlckNsYXNzID0gImZpbHRlci0i
ICsgdGFyZ2V0LmNhdGVnb3J5LnRvTG93ZXJDYXNlKCk7CisgICAgICAgICAgICB0aGlzLnJlc291
cmNlc0dyYXBoc0VsZW1lbnQuYWRkU3R5bGVDbGFzcyhmaWx0ZXJDbGFzcyk7CisgICAgICAgICAg
ICB0aGlzLnJlc291cmNlc1RyZWVFbGVtZW50LmNoaWxkcmVuTGlzdEVsZW1lbnQuYWRkU3R5bGVD
bGFzcyhmaWx0ZXJDbGFzcyk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQogCiAgICAgICAgIGlmICh0YXJnZXQuaGFzU3R5bGVDbGFzcygic2VsZWN0ZWQiKSkg
eworICAgICAgICAgICAgLy8gSWYgc2VsZWN0TXVsdGlwbGUgaXMgdHVybmVkIG9uLCBhbmQgd2Ug
d2VyZSBzZWxlY3RlZCwgd2UganVzdAorICAgICAgICAgICAgLy8gd2FudCB0byB1bnNlbGVjdCBv
dXJzZWx2ZXMuCiAgICAgICAgICAgICB0YXJnZXQucmVtb3ZlU3R5bGVDbGFzcygic2VsZWN0ZWQi
KTsKLQogICAgICAgICAgICAgdmFyIGZpbHRlckNsYXNzID0gImZpbHRlci0iICsgdGFyZ2V0LmNh
dGVnb3J5LnRvTG93ZXJDYXNlKCk7CiAgICAgICAgICAgICB0aGlzLnJlc291cmNlc0dyYXBoc0Vs
ZW1lbnQucmVtb3ZlU3R5bGVDbGFzcyhmaWx0ZXJDbGFzcyk7CiAgICAgICAgICAgICB0aGlzLnJl
c291cmNlc1RyZWVFbGVtZW50LmNoaWxkcmVuTGlzdEVsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcyhm
aWx0ZXJDbGFzcyk7CiAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAvLyBJZiBzZWxlY3RN
dWx0aXBsZSBpcyB0dXJuZWQgb24sIGFuZCB3ZSB3ZXJlbid0IHNlbGVjdGVkLCB3ZSBqdXN0Cisg
ICAgICAgICAgICAvLyB3YW50IHRvIHNlbGVjdCBvdXJzZWx2ZXMuCiAgICAgICAgICAgICB0YXJn
ZXQuYWRkU3R5bGVDbGFzcygic2VsZWN0ZWQiKTsKLQogICAgICAgICAgICAgdmFyIGZpbHRlckNs
YXNzID0gImZpbHRlci0iICsgdGFyZ2V0LmNhdGVnb3J5LnRvTG93ZXJDYXNlKCk7CiAgICAgICAg
ICAgICB0aGlzLnJlc291cmNlc0dyYXBoc0VsZW1lbnQuYWRkU3R5bGVDbGFzcyhmaWx0ZXJDbGFz
cyk7CiAgICAgICAgICAgICB0aGlzLnJlc291cmNlc1RyZWVFbGVtZW50LmNoaWxkcmVuTGlzdEVs
ZW1lbnQuYWRkU3R5bGVDbGFzcyhmaWx0ZXJDbGFzcyk7CkBAIC0yMzcsNyArMjYyLDE0IEBAIFdl
Ykluc3BlY3Rvci5SZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUgPSAKIAogICAgIF91cGRhdGVGaWx0
ZXI6IGZ1bmN0aW9uKGUpCiAgICAgewotICAgICAgICB0aGlzLmZpbHRlcihlLnRhcmdldCk7Cisg
ICAgICAgIHZhciBpc01hYyA9IEluc3BlY3RvckNvbnRyb2xsZXIucGxhdGZvcm0oKS5pbmRleE9m
KCJtYWMtIikgPT09IDA7CisgICAgICAgIHZhciBzZWxlY3RNdWx0aXBsZSA9IGZhbHNlOworICAg
ICAgICBpZiAoaXNNYWMgJiYgZS5tZXRhS2V5ICYmICFlLmN0cmxLZXkgJiYgIWUuYWx0S2V5ICYm
ICFlLnNoaWZ0S2V5KQorICAgICAgICAgICAgc2VsZWN0TXVsdGlwbGUgPSB0cnVlOworICAgICAg
ICBpZiAoIWlzTWFjICYmIGUuY3RybEtleSAmJiAhZS5tZXRhS2V5ICYmICFlLmFsdEtleSAmJiAh
ZS5zaGlmdEtleSkKKyAgICAgICAgICAgIHNlbGVjdE11bHRpcGxlID0gdHJ1ZTsKKyAgICAgICAg
CisgICAgICAgIHRoaXMuZmlsdGVyKGUudGFyZ2V0LCBzZWxlY3RNdWx0aXBsZSk7CiAgICAgfSwK
IAogICAgIGdldCB0b29sYmFySXRlbUxhYmVsKCkK
</data>
<flag name="commit-queue"
          id="23263"
          type_id="3"
          status="-"
          setter="bweinstein"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41803</attachid>
            <date>2009-10-24 18:21:00 -0700</date>
            <delta_ts>2009-10-24 21:09:08 -0700</delta_ts>
            <desc>Fix + Joe&apos;s Comments</desc>
            <filename>meta_key_select.patch</filename>
            <type>text/plain</type>
            <size>9043</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MDAzNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMDktMTAtMjQgIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEZpeGVzIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzA3NTI+
LgorICAgICAgICBXZWIgSW5zcGVjdG9yOiBNdWx0aXBsZSBTZWxlY3Rpb24gb24gU2NvcGUgQmFy
cyBieSBkZWZhdWx0IENvbmZsaWN0cyB3aXRoIG90aGVyIGJlaGF2aW9yIG9uIE9TWC4KKyAgICAg
ICAgCisgICAgICAgIEhhdmUgdGhlIHNjb3BlIGJhcnMgc2VsZWN0IG9uZSBzY29wZSBieSBkZWZh
dWx0LCBidXQgaWYgdGhlIG11bHRpcGxlIHNlbGVjdGlvbiBrZXkKKyAgICAgICAgaXMgcHJlc3Nl
ZCwgYWxsb3cgZm9yIG11bHRpcGxlIHNlbGVjdGlvbi4KKworICAgICAgICBOZWVkIGEgc2hvcnQg
ZGVzY3JpcHRpb24gYW5kIGJ1ZyBVUkwgKE9PUFMhKQorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4g
KE9PUFMhKQorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlVmlldyk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLl91cGRhdGVGaWx0ZXIpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkNvbnNvbGVWaWV3LnByb3RvdHlwZS5maWx0ZXIpOgorICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVz
b3VyY2VzUGFuZWwpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3Rv
dHlwZS5maWx0ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsLnByb3Rv
dHlwZS5fdXBkYXRlRmlsdGVyKToKKwogMjAwOS0xMC0yNCAgVGltb3RoeSBIYXRjaGVyICA8dGlt
b3RoeUBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSB0aGUgc2NvcGUgYmFycyBpbiB0aGUgV2Vi
IEluc3BlY3RvciBtYXRjaCBvdGhlciBzY29wZSBiYXJzIGluIE1hYyBPUyBYLgpJbmRleDogV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcwkocmV2aXNpb24gNTAwMzYp
CisrKyBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTk0LDE4ICs5NCwyNyBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcgPSBmdW5j
dGlvbihkcmF3CiAgICAgdGhpcy53YXJuaW5nRWxlbWVudCA9IGNyZWF0ZUZpbHRlckVsZW1lbnQu
Y2FsbCh0aGlzLCAiV2FybmluZ3MiKTsKICAgICB0aGlzLmxvZ0VsZW1lbnQgPSBjcmVhdGVGaWx0
ZXJFbGVtZW50LmNhbGwodGhpcywgIkxvZ3MiKTsKIAotICAgIHRoaXMuZmlsdGVyKHRoaXMuYWxs
RWxlbWVudCk7CisgICAgdGhpcy5maWx0ZXIodGhpcy5hbGxFbGVtZW50LCBmYWxzZSk7CiB9CiAK
IFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUgPSB7CiAgICAgCiAgICAgX3VwZGF0
ZUZpbHRlcjogZnVuY3Rpb24oZSkKICAgICB7Ci0gICAgICAgIHRoaXMuZmlsdGVyKGUudGFyZ2V0
KTsKKyAgICAgICAgdmFyIGlzTWFjID0gSW5zcGVjdG9yQ29udHJvbGxlci5wbGF0Zm9ybSgpLmlu
ZGV4T2YoIm1hYy0iKSA9PT0gMDsKKyAgICAgICAgdmFyIHNlbGVjdE11bHRpcGxlID0gZmFsc2U7
CisgICAgICAgIGlmIChpc01hYyAmJiBlLm1ldGFLZXkgJiYgIWUuY3RybEtleSAmJiAhZS5hbHRL
ZXkgJiYgIWUuc2hpZnRLZXkpCisgICAgICAgICAgICBzZWxlY3RNdWx0aXBsZSA9IHRydWU7Cisg
ICAgICAgIGlmICghaXNNYWMgJiYgZS5jdHJsS2V5ICYmICFlLm1ldGFLZXkgJiYgIWUuYWx0S2V5
ICYmICFlLnNoaWZ0S2V5KQorICAgICAgICAgICAgc2VsZWN0TXVsdGlwbGUgPSB0cnVlOworCisg
ICAgICAgIHRoaXMuZmlsdGVyKGUudGFyZ2V0LCBzZWxlY3RNdWx0aXBsZSk7CiAgICAgfSwKICAg
ICAKLSAgICBmaWx0ZXI6IGZ1bmN0aW9uKHRhcmdldCkKKyAgICBmaWx0ZXI6IGZ1bmN0aW9uKHRh
cmdldCwgc2VsZWN0TXVsdGlwbGUpCiAgICAgeworICAgICAgICB2YXIgdGFyZ2V0RmlsdGVyQ2xh
c3MgPSAiZmlsdGVyLSIgKyB0YXJnZXQuY2F0ZWdvcnkudG9Mb3dlckNhc2UoKTsKKwogICAgICAg
ICBpZiAodGFyZ2V0LmNhdGVnb3J5ID09ICJBbGwiKSB7CiAgICAgICAgICAgICBpZiAodGFyZ2V0
Lmhhc1N0eWxlQ2xhc3MoInNlbGVjdGVkIikpIHsKICAgICAgICAgICAgICAgICAvLyBXZSBjYW4n
dCB1bnNlbGVjdCBhbGwsIHNvIHdlIGJyZWFrIGVhcmx5IGhlcmUKQEAgLTExNiwyNyArMTI1LDQ2
IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB0
aGlzLndhcm5pbmdFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoInNlbGVjdGVkIik7CiAgICAgICAg
ICAgICB0aGlzLmxvZ0VsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygic2VsZWN0ZWQiKTsKICAgICAg
ICAgICAgIAotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUtbWVz
c2FnZXMiKS5yZW1vdmVTdHlsZUNsYXNzKCJmaWx0ZXItZXJyb3JzIik7Ci0gICAgICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZS1tZXNzYWdlcyIpLnJlbW92ZVN0eWxlQ2xh
c3MoImZpbHRlci13YXJuaW5ncyIpOwotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImNvbnNvbGUtbWVzc2FnZXMiKS5yZW1vdmVTdHlsZUNsYXNzKCJmaWx0ZXItbG9ncyIpOwor
ICAgICAgICAgICAgdGhpcy5tZXNzYWdlc0VsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygiZmlsdGVy
LWVycm9ycyIpOworICAgICAgICAgICAgdGhpcy5tZXNzYWdlc0VsZW1lbnQucmVtb3ZlU3R5bGVD
bGFzcygiZmlsdGVyLXdhcm5pbmdzIik7CisgICAgICAgICAgICB0aGlzLm1lc3NhZ2VzRWxlbWVu
dC5yZW1vdmVTdHlsZUNsYXNzKCJmaWx0ZXItbG9ncyIpOwogICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgICAgLy8gU29tZXRoaW5nIG90aGVyIHRoYW4gYWxsIGlzIGJlaW5nIHNlbGVjdGVkLCBz
byB3ZSB3YW50IHRvIHVuc2VsZWN0IGFsbAogICAgICAgICAgICAgaWYgKHRoaXMuYWxsRWxlbWVu
dC5oYXNTdHlsZUNsYXNzKCJzZWxlY3RlZCIpKSB7CiAgICAgICAgICAgICAgICAgdGhpcy5hbGxF
bGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoInNlbGVjdGVkIik7Ci0gICAgICAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUtbWVzc2FnZXMiKS5yZW1vdmVTdHlsZUNsYXNz
KCJmaWx0ZXItYWxsIik7CisgICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlc0VsZW1lbnQucmVt
b3ZlU3R5bGVDbGFzcygiZmlsdGVyLWFsbCIpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAg
ICAgICAgIAorICAgICAgICBpZiAoIXNlbGVjdE11bHRpcGxlKSB7CisgICAgICAgICAgICAvLyBJ
ZiBtdWx0aXBsZSBzZWxlY3Rpb24gaXMgb2ZmLCB3ZSB3YW50IHRvIHVuc2VsZWN0IGV2ZXJ5dGhp
bmcgZWxzZQorICAgICAgICAgICAgLy8gYW5kIGp1c3Qgc2VsZWN0IG91cnNlbHZlcy4KKyAgICAg
ICAgICAgIHRoaXMuZXJyb3JFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoInNlbGVjdGVkIik7Cisg
ICAgICAgICAgICB0aGlzLndhcm5pbmdFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoInNlbGVjdGVk
Iik7CisgICAgICAgICAgICB0aGlzLmxvZ0VsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygic2VsZWN0
ZWQiKTsKKyAgICAgICAgICAgIHRoaXMuYWxsRWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJzZWxl
Y3RlZCIpOworICAgICAgICAgICAgCisgICAgICAgICAgICB0aGlzLm1lc3NhZ2VzRWxlbWVudC5y
ZW1vdmVTdHlsZUNsYXNzKCJmaWx0ZXItZXJyb3JzIik7CisgICAgICAgICAgICB0aGlzLm1lc3Nh
Z2VzRWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJmaWx0ZXItd2FybmluZ3MiKTsKKyAgICAgICAg
ICAgIHRoaXMubWVzc2FnZXNFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoImZpbHRlci1sb2dzIik7
CisgICAgICAgICAgICB0aGlzLm1lc3NhZ2VzRWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJmaWx0
ZXItYWxsIik7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHRhcmdldC5hZGRTdHlsZUNsYXNz
KCJzZWxlY3RlZCIpOworICAgICAgICAgICAgdGhpcy5tZXNzYWdlc0VsZW1lbnQuYWRkU3R5bGVD
bGFzcyh0YXJnZXRGaWx0ZXJDbGFzcyk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQorICAgICAgICAKICAgICAgICAgaWYgKHRhcmdldC5oYXNTdHlsZUNsYXNz
KCJzZWxlY3RlZCIpKSB7CisgICAgICAgICAgICAvLyBJZiBzZWxlY3RNdWx0aXBsZSBpcyB0dXJu
ZWQgb24sIGFuZCB3ZSB3ZXJlIHNlbGVjdGVkLCB3ZSBqdXN0CisgICAgICAgICAgICAvLyB3YW50
IHRvIHVuc2VsZWN0IG91cnNlbHZlcy4KICAgICAgICAgICAgIHRhcmdldC5yZW1vdmVTdHlsZUNs
YXNzKCJzZWxlY3RlZCIpOwotICAgICAgICAgICAgdmFyIG5ld0NsYXNzID0gImZpbHRlci0iICsg
dGFyZ2V0LmNhdGVnb3J5LnRvTG93ZXJDYXNlKCk7Ci0gICAgICAgICAgICB2YXIgZmlsdGVyRWxl
bWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlLW1lc3NhZ2VzIik7Ci0gICAg
ICAgICAgICBmaWx0ZXJFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MobmV3Q2xhc3MpOworICAgICAg
ICAgICAgdGhpcy5tZXNzYWdlc0VsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcyh0YXJnZXRGaWx0ZXJD
bGFzcyk7CiAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAvLyBJZiBzZWxlY3RNdWx0aXBs
ZSBpcyB0dXJuZWQgb24sIGFuZCB3ZSB3ZXJlbid0IHNlbGVjdGVkLCB3ZSBqdXN0CisgICAgICAg
ICAgICAvLyB3YW50IHRvIHNlbGVjdCBvdXJzZWx2ZXMuCiAgICAgICAgICAgICB0YXJnZXQuYWRk
U3R5bGVDbGFzcygic2VsZWN0ZWQiKTsKLSAgICAgICAgICAgIHZhciBuZXdDbGFzcyA9ICJmaWx0
ZXItIiArIHRhcmdldC5jYXRlZ29yeS50b0xvd2VyQ2FzZSgpOwotICAgICAgICAgICAgdmFyIGZp
bHRlckVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZS1tZXNzYWdlcyIp
OwotICAgICAgICAgICAgZmlsdGVyRWxlbWVudC5hZGRTdHlsZUNsYXNzKG5ld0NsYXNzKTsKKyAg
ICAgICAgICAgIHRoaXMubWVzc2FnZXNFbGVtZW50LmFkZFN0eWxlQ2xhc3ModGFyZ2V0RmlsdGVy
Q2xhc3MpOwogICAgICAgICB9CiAgICAgfSwKICAgICAKSW5kZXg6IFdlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanMJKHJldmlzaW9uIDUwMDM2KQorKysgV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0xNjQsNyArMTY0LDcgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlc1BhbmVsID0gZnVuY3Rp
b24oKQogICAgIGZvciAodmFyIGNhdGVnb3J5IGluIHRoaXMuY2F0ZWdvcmllcykKICAgICAgICAg
Y3JlYXRlRmlsdGVyRWxlbWVudC5jYWxsKHRoaXMsIGNhdGVnb3J5KTsKIAotICAgIHRoaXMuZmls
dGVyKHRoaXMuYWxsRWxlbWVudCk7CisgICAgdGhpcy5maWx0ZXIodGhpcy5hbGxFbGVtZW50LCBm
YWxzZSk7CiAKICAgICB0aGlzLnJlc2V0KCk7CiAKQEAgLTE4NSw3ICsxODUsNyBAQCBXZWJJbnNw
ZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBlID0gCiAgICAgICAgIHJldHVybiB0aGlzLl9j
YXRlZ29yaWVzOyAKICAgICB9LAogCi0gICAgZmlsdGVyOiBmdW5jdGlvbih0YXJnZXQpCisgICAg
ZmlsdGVyOiBmdW5jdGlvbih0YXJnZXQsIHNlbGVjdE11bHRpcGxlKQogICAgIHsKICAgICAgICAg
aWYgKHRhcmdldCA9PT0gdGhpcy5hbGxFbGVtZW50KSB7CiAgICAgICAgICAgICBpZiAodGFyZ2V0
Lmhhc1N0eWxlQ2xhc3MoInNlbGVjdGVkIikpIHsKQEAgLTIxNCwxNiArMjE0LDQxIEBAIFdlYklu
c3BlY3Rvci5SZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUgPSAKICAgICAgICAgICAgICAgICB0aGlz
LnJlc291cmNlc1RyZWVFbGVtZW50LmNoaWxkcmVuTGlzdEVsZW1lbnQucmVtb3ZlU3R5bGVDbGFz
cygiZmlsdGVyLWFsbCIpOwogICAgICAgICAgICAgfQogICAgICAgICB9CisgICAgICAgIAorICAg
ICAgICBpZiAoIXNlbGVjdE11bHRpcGxlKSB7CisgICAgICAgICAgICAvLyBJZiBtdWx0aXBsZSBz
ZWxlY3Rpb24gaXMgb2ZmLCB3ZSB3YW50IHRvIHVuc2VsZWN0IGV2ZXJ5dGhpbmcgZWxzZQorICAg
ICAgICAgICAgLy8gYW5kIGp1c3Qgc2VsZWN0IG91cnNlbHZlcy4KKyAgICAgICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgdGhpcy5maWx0ZXJCYXJFbGVtZW50LmNoaWxkTm9kZXMubGVuZ3RoOyAr
K2kpIHsKKyAgICAgICAgICAgICAgICB2YXIgY2hpbGQgPSB0aGlzLmZpbHRlckJhckVsZW1lbnQu
Y2hpbGROb2Rlc1tpXTsKKyAgICAgICAgICAgICAgICBpZiAoIWNoaWxkLmNhdGVnb3J5KQorICAg
ICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAg
ICAgICBjaGlsZC5yZW1vdmVTdHlsZUNsYXNzKCJzZWxlY3RlZCIpOworCisgICAgICAgICAgICAg
ICAgdmFyIGZpbHRlckNsYXNzID0gImZpbHRlci0iICsgY2hpbGQuY2F0ZWdvcnkudG9Mb3dlckNh
c2UoKTsKKyAgICAgICAgICAgICAgICB0aGlzLnJlc291cmNlc0dyYXBoc0VsZW1lbnQucmVtb3Zl
U3R5bGVDbGFzcyhmaWx0ZXJDbGFzcyk7CisgICAgICAgICAgICAgICAgdGhpcy5yZXNvdXJjZXNU
cmVlRWxlbWVudC5jaGlsZHJlbkxpc3RFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoZmlsdGVyQ2xh
c3MpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICB0YXJnZXQuYWRk
U3R5bGVDbGFzcygic2VsZWN0ZWQiKTsKKyAgICAgICAgICAgIHZhciBmaWx0ZXJDbGFzcyA9ICJm
aWx0ZXItIiArIHRhcmdldC5jYXRlZ29yeS50b0xvd2VyQ2FzZSgpOworICAgICAgICAgICAgdGhp
cy5yZXNvdXJjZXNHcmFwaHNFbGVtZW50LmFkZFN0eWxlQ2xhc3MoZmlsdGVyQ2xhc3MpOworICAg
ICAgICAgICAgdGhpcy5yZXNvdXJjZXNUcmVlRWxlbWVudC5jaGlsZHJlbkxpc3RFbGVtZW50LmFk
ZFN0eWxlQ2xhc3MoZmlsdGVyQ2xhc3MpOworICAgICAgICAgICAgCisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KIAogICAgICAgICBpZiAodGFyZ2V0Lmhhc1N0eWxlQ2xhc3MoInNlbGVj
dGVkIikpIHsKKyAgICAgICAgICAgIC8vIElmIHNlbGVjdE11bHRpcGxlIGlzIHR1cm5lZCBvbiwg
YW5kIHdlIHdlcmUgc2VsZWN0ZWQsIHdlIGp1c3QKKyAgICAgICAgICAgIC8vIHdhbnQgdG8gdW5z
ZWxlY3Qgb3Vyc2VsdmVzLgogICAgICAgICAgICAgdGFyZ2V0LnJlbW92ZVN0eWxlQ2xhc3MoInNl
bGVjdGVkIik7Ci0KICAgICAgICAgICAgIHZhciBmaWx0ZXJDbGFzcyA9ICJmaWx0ZXItIiArIHRh
cmdldC5jYXRlZ29yeS50b0xvd2VyQ2FzZSgpOwogICAgICAgICAgICAgdGhpcy5yZXNvdXJjZXNH
cmFwaHNFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoZmlsdGVyQ2xhc3MpOwogICAgICAgICAgICAg
dGhpcy5yZXNvdXJjZXNUcmVlRWxlbWVudC5jaGlsZHJlbkxpc3RFbGVtZW50LnJlbW92ZVN0eWxl
Q2xhc3MoZmlsdGVyQ2xhc3MpOwogICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgLy8gSWYg
c2VsZWN0TXVsdGlwbGUgaXMgdHVybmVkIG9uLCBhbmQgd2Ugd2VyZW4ndCBzZWxlY3RlZCwgd2Ug
anVzdAorICAgICAgICAgICAgLy8gd2FudCB0byBzZWxlY3Qgb3Vyc2VsdmVzLgogICAgICAgICAg
ICAgdGFyZ2V0LmFkZFN0eWxlQ2xhc3MoInNlbGVjdGVkIik7Ci0KICAgICAgICAgICAgIHZhciBm
aWx0ZXJDbGFzcyA9ICJmaWx0ZXItIiArIHRhcmdldC5jYXRlZ29yeS50b0xvd2VyQ2FzZSgpOwog
ICAgICAgICAgICAgdGhpcy5yZXNvdXJjZXNHcmFwaHNFbGVtZW50LmFkZFN0eWxlQ2xhc3MoZmls
dGVyQ2xhc3MpOwogICAgICAgICAgICAgdGhpcy5yZXNvdXJjZXNUcmVlRWxlbWVudC5jaGlsZHJl
bkxpc3RFbGVtZW50LmFkZFN0eWxlQ2xhc3MoZmlsdGVyQ2xhc3MpOwpAQCAtMjM3LDcgKzI2Miwx
NCBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBlID0gCiAKICAgICBfdXBk
YXRlRmlsdGVyOiBmdW5jdGlvbihlKQogICAgIHsKLSAgICAgICAgdGhpcy5maWx0ZXIoZS50YXJn
ZXQpOworICAgICAgICB2YXIgaXNNYWMgPSBJbnNwZWN0b3JDb250cm9sbGVyLnBsYXRmb3JtKCku
aW5kZXhPZigibWFjLSIpID09PSAwOworICAgICAgICB2YXIgc2VsZWN0TXVsdGlwbGUgPSBmYWxz
ZTsKKyAgICAgICAgaWYgKGlzTWFjICYmIGUubWV0YUtleSAmJiAhZS5jdHJsS2V5ICYmICFlLmFs
dEtleSAmJiAhZS5zaGlmdEtleSkKKyAgICAgICAgICAgIHNlbGVjdE11bHRpcGxlID0gdHJ1ZTsK
KyAgICAgICAgaWYgKCFpc01hYyAmJiBlLmN0cmxLZXkgJiYgIWUubWV0YUtleSAmJiAhZS5hbHRL
ZXkgJiYgIWUuc2hpZnRLZXkpCisgICAgICAgICAgICBzZWxlY3RNdWx0aXBsZSA9IHRydWU7Cisg
ICAgICAgIAorICAgICAgICB0aGlzLmZpbHRlcihlLnRhcmdldCwgc2VsZWN0TXVsdGlwbGUpOwog
ICAgIH0sCiAKICAgICBnZXQgdG9vbGJhckl0ZW1MYWJlbCgpCg==
</data>
<flag name="review"
          id="23264"
          type_id="1"
          status="+"
          setter="timothy"
    />
    <flag name="commit-queue"
          id="23265"
          type_id="3"
          status="-"
          setter="bweinstein"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41811</attachid>
            <date>2009-10-24 21:09:08 -0700</date>
            <delta_ts>2009-10-24 21:11:28 -0700</delta_ts>
            <desc>Fix + Refactoring</desc>
            <filename>meta_key_select.patch</filename>
            <type>text/plain</type>
            <size>10222</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MDAzNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMDktMTAtMjQgIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbW90aHkgSGF0Y2hlci4KKworICAg
ICAgICBGaXhlcyA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwNzUy
Pi4KKyAgICAgICAgV2ViIEluc3BlY3RvcjogTXVsdGlwbGUgU2VsZWN0aW9uIG9uIFNjb3BlIEJh
cnMgYnkgZGVmYXVsdCBDb25mbGljdHMgd2l0aCBvdGhlciBiZWhhdmlvciBvbiBPU1guCisgICAg
ICAgIAorICAgICAgICBIYXZlIHRoZSBzY29wZSBiYXJzIHNlbGVjdCBvbmUgc2NvcGUgYnkgZGVm
YXVsdCwgYnV0IGlmIHRoZSBtdWx0aXBsZSBzZWxlY3Rpb24ga2V5CisgICAgICAgIGlzIHByZXNz
ZWQsIGFsbG93IGZvciBtdWx0aXBsZSBzZWxlY3Rpb24uCisKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVW
aWV3KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUuX3VwZGF0
ZUZpbHRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLmZp
bHRlcik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZXNQYW5lbCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBlLmZpbHRlcik6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBlLl91cGRhdGVGaWx0ZXIpOgorCiAyMDA5LTEw
LTI0ICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtl
IHRoZSBzY29wZSBiYXJzIGluIHRoZSBXZWIgSW5zcGVjdG9yIG1hdGNoIG90aGVyIHNjb3BlIGJh
cnMgaW4gTWFjIE9TIFguCkluZGV4OiBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29s
ZVZpZXcuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNv
bGVWaWV3LmpzCShyZXZpc2lvbiA1MDAzNikKKysrIFdlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9Db25zb2xlVmlldy5qcwkod29ya2luZyBjb3B5KQpAQCAtOTQsNDkgKzk0LDc2IEBAIFdlYklu
c3BlY3Rvci5Db25zb2xlVmlldyA9IGZ1bmN0aW9uKGRyYXcKICAgICB0aGlzLndhcm5pbmdFbGVt
ZW50ID0gY3JlYXRlRmlsdGVyRWxlbWVudC5jYWxsKHRoaXMsICJXYXJuaW5ncyIpOwogICAgIHRo
aXMubG9nRWxlbWVudCA9IGNyZWF0ZUZpbHRlckVsZW1lbnQuY2FsbCh0aGlzLCAiTG9ncyIpOwog
Ci0gICAgdGhpcy5maWx0ZXIodGhpcy5hbGxFbGVtZW50KTsKKyAgICB0aGlzLmZpbHRlcih0aGlz
LmFsbEVsZW1lbnQsIGZhbHNlKTsKIH0KIAogV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnByb3Rv
dHlwZSA9IHsKICAgICAKICAgICBfdXBkYXRlRmlsdGVyOiBmdW5jdGlvbihlKQogICAgIHsKLSAg
ICAgICAgdGhpcy5maWx0ZXIoZS50YXJnZXQpOworICAgICAgICB2YXIgaXNNYWMgPSBJbnNwZWN0
b3JDb250cm9sbGVyLnBsYXRmb3JtKCkuaW5kZXhPZigibWFjLSIpID09PSAwOworICAgICAgICB2
YXIgc2VsZWN0TXVsdGlwbGUgPSBmYWxzZTsKKyAgICAgICAgaWYgKGlzTWFjICYmIGUubWV0YUtl
eSAmJiAhZS5jdHJsS2V5ICYmICFlLmFsdEtleSAmJiAhZS5zaGlmdEtleSkKKyAgICAgICAgICAg
IHNlbGVjdE11bHRpcGxlID0gdHJ1ZTsKKyAgICAgICAgaWYgKCFpc01hYyAmJiBlLmN0cmxLZXkg
JiYgIWUubWV0YUtleSAmJiAhZS5hbHRLZXkgJiYgIWUuc2hpZnRLZXkpCisgICAgICAgICAgICBz
ZWxlY3RNdWx0aXBsZSA9IHRydWU7CisKKyAgICAgICAgdGhpcy5maWx0ZXIoZS50YXJnZXQsIHNl
bGVjdE11bHRpcGxlKTsKICAgICB9LAogICAgIAotICAgIGZpbHRlcjogZnVuY3Rpb24odGFyZ2V0
KQorICAgIGZpbHRlcjogZnVuY3Rpb24odGFyZ2V0LCBzZWxlY3RNdWx0aXBsZSkKICAgICB7Cisg
ICAgICAgIGZ1bmN0aW9uIHVuc2VsZWN0QWxsKCkKKyAgICAgICAgeworICAgICAgICAgICAgdGhp
cy5hbGxFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoInNlbGVjdGVkIik7CisgICAgICAgICAgICB0
aGlzLmVycm9yRWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJzZWxlY3RlZCIpOworICAgICAgICAg
ICAgdGhpcy53YXJuaW5nRWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJzZWxlY3RlZCIpOworICAg
ICAgICAgICAgdGhpcy5sb2dFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoInNlbGVjdGVkIik7Cisg
ICAgICAgICAgICAKKyAgICAgICAgICAgIHRoaXMubWVzc2FnZXNFbGVtZW50LnJlbW92ZVN0eWxl
Q2xhc3MoImZpbHRlci1hbGwiKTsKKyAgICAgICAgICAgIHRoaXMubWVzc2FnZXNFbGVtZW50LnJl
bW92ZVN0eWxlQ2xhc3MoImZpbHRlci1lcnJvcnMiKTsKKyAgICAgICAgICAgIHRoaXMubWVzc2Fn
ZXNFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoImZpbHRlci13YXJuaW5ncyIpOworICAgICAgICAg
ICAgdGhpcy5tZXNzYWdlc0VsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygiZmlsdGVyLWxvZ3MiKTsK
KyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgdmFyIHRhcmdldEZpbHRlckNsYXNzID0gImZp
bHRlci0iICsgdGFyZ2V0LmNhdGVnb3J5LnRvTG93ZXJDYXNlKCk7CisKICAgICAgICAgaWYgKHRh
cmdldC5jYXRlZ29yeSA9PSAiQWxsIikgewogICAgICAgICAgICAgaWYgKHRhcmdldC5oYXNTdHls
ZUNsYXNzKCJzZWxlY3RlZCIpKSB7CiAgICAgICAgICAgICAgICAgLy8gV2UgY2FuJ3QgdW5zZWxl
Y3QgYWxsLCBzbyB3ZSBicmVhayBlYXJseSBoZXJlCiAgICAgICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICB0aGlzLmVycm9yRWxlbWVu
dC5yZW1vdmVTdHlsZUNsYXNzKCJzZWxlY3RlZCIpOwotICAgICAgICAgICAgdGhpcy53YXJuaW5n
RWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJzZWxlY3RlZCIpOwotICAgICAgICAgICAgdGhpcy5s
b2dFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoInNlbGVjdGVkIik7Ci0gICAgICAgICAgICAKLSAg
ICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlLW1lc3NhZ2VzIikucmVt
b3ZlU3R5bGVDbGFzcygiZmlsdGVyLWVycm9ycyIpOwotICAgICAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImNvbnNvbGUtbWVzc2FnZXMiKS5yZW1vdmVTdHlsZUNsYXNzKCJmaWx0ZXIt
d2FybmluZ3MiKTsKLSAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xl
LW1lc3NhZ2VzIikucmVtb3ZlU3R5bGVDbGFzcygiZmlsdGVyLWxvZ3MiKTsKKworICAgICAgICAg
ICAgdW5zZWxlY3RBbGwuY2FsbCh0aGlzKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAg
IC8vIFNvbWV0aGluZyBvdGhlciB0aGFuIGFsbCBpcyBiZWluZyBzZWxlY3RlZCwgc28gd2Ugd2Fu
dCB0byB1bnNlbGVjdCBhbGwKICAgICAgICAgICAgIGlmICh0aGlzLmFsbEVsZW1lbnQuaGFzU3R5
bGVDbGFzcygic2VsZWN0ZWQiKSkgewogICAgICAgICAgICAgICAgIHRoaXMuYWxsRWxlbWVudC5y
ZW1vdmVTdHlsZUNsYXNzKCJzZWxlY3RlZCIpOwotICAgICAgICAgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb25zb2xlLW1lc3NhZ2VzIikucmVtb3ZlU3R5bGVDbGFzcygiZmlsdGVy
LWFsbCIpOworICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZXNFbGVtZW50LnJlbW92ZVN0eWxl
Q2xhc3MoImZpbHRlci1hbGwiKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICAK
KyAgICAgICAgaWYgKCFzZWxlY3RNdWx0aXBsZSkgeworICAgICAgICAgICAgLy8gSWYgbXVsdGlw
bGUgc2VsZWN0aW9uIGlzIG9mZiwgd2Ugd2FudCB0byB1bnNlbGVjdCBldmVyeXRoaW5nIGVsc2UK
KyAgICAgICAgICAgIC8vIGFuZCBqdXN0IHNlbGVjdCBvdXJzZWx2ZXMuCisgICAgICAgICAgICB1
bnNlbGVjdEFsbC5jYWxsKHRoaXMpOworICAgICAgICAgICAgCisgICAgICAgICAgICB0YXJnZXQu
YWRkU3R5bGVDbGFzcygic2VsZWN0ZWQiKTsKKyAgICAgICAgICAgIHRoaXMubWVzc2FnZXNFbGVt
ZW50LmFkZFN0eWxlQ2xhc3ModGFyZ2V0RmlsdGVyQ2xhc3MpOworICAgICAgICAgICAgCisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgCiAgICAgICAgIGlmICh0YXJnZXQu
aGFzU3R5bGVDbGFzcygic2VsZWN0ZWQiKSkgeworICAgICAgICAgICAgLy8gSWYgc2VsZWN0TXVs
dGlwbGUgaXMgdHVybmVkIG9uLCBhbmQgd2Ugd2VyZSBzZWxlY3RlZCwgd2UganVzdAorICAgICAg
ICAgICAgLy8gd2FudCB0byB1bnNlbGVjdCBvdXJzZWx2ZXMuCiAgICAgICAgICAgICB0YXJnZXQu
cmVtb3ZlU3R5bGVDbGFzcygic2VsZWN0ZWQiKTsKLSAgICAgICAgICAgIHZhciBuZXdDbGFzcyA9
ICJmaWx0ZXItIiArIHRhcmdldC5jYXRlZ29yeS50b0xvd2VyQ2FzZSgpOwotICAgICAgICAgICAg
dmFyIGZpbHRlckVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZS1tZXNz
YWdlcyIpOwotICAgICAgICAgICAgZmlsdGVyRWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKG5ld0Ns
YXNzKTsKKyAgICAgICAgICAgIHRoaXMubWVzc2FnZXNFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3Mo
dGFyZ2V0RmlsdGVyQ2xhc3MpOwogICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgLy8gSWYg
c2VsZWN0TXVsdGlwbGUgaXMgdHVybmVkIG9uLCBhbmQgd2Ugd2VyZW4ndCBzZWxlY3RlZCwgd2Ug
anVzdAorICAgICAgICAgICAgLy8gd2FudCB0byBzZWxlY3Qgb3Vyc2VsdmVzLgogICAgICAgICAg
ICAgdGFyZ2V0LmFkZFN0eWxlQ2xhc3MoInNlbGVjdGVkIik7Ci0gICAgICAgICAgICB2YXIgbmV3
Q2xhc3MgPSAiZmlsdGVyLSIgKyB0YXJnZXQuY2F0ZWdvcnkudG9Mb3dlckNhc2UoKTsKLSAgICAg
ICAgICAgIHZhciBmaWx0ZXJFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNv
bGUtbWVzc2FnZXMiKTsKLSAgICAgICAgICAgIGZpbHRlckVsZW1lbnQuYWRkU3R5bGVDbGFzcyhu
ZXdDbGFzcyk7CisgICAgICAgICAgICB0aGlzLm1lc3NhZ2VzRWxlbWVudC5hZGRTdHlsZUNsYXNz
KHRhcmdldEZpbHRlckNsYXNzKTsKICAgICAgICAgfQogICAgIH0sCiAgICAgCkluZGV4OiBXZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VzUGFuZWwuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlc1BhbmVsLmpzCShyZXZpc2lvbiA1
MDAzNikKKysrIFdlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZXNQYW5lbC5qcwko
d29ya2luZyBjb3B5KQpAQCAtMTY0LDcgKzE2NCw3IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZXNQ
YW5lbCA9IGZ1bmN0aW9uKCkKICAgICBmb3IgKHZhciBjYXRlZ29yeSBpbiB0aGlzLmNhdGVnb3Jp
ZXMpCiAgICAgICAgIGNyZWF0ZUZpbHRlckVsZW1lbnQuY2FsbCh0aGlzLCBjYXRlZ29yeSk7CiAK
LSAgICB0aGlzLmZpbHRlcih0aGlzLmFsbEVsZW1lbnQpOworICAgIHRoaXMuZmlsdGVyKHRoaXMu
YWxsRWxlbWVudCwgZmFsc2UpOwogCiAgICAgdGhpcy5yZXNldCgpOwogCkBAIC0xODUsMjcgKzE4
NSwzMyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VzUGFuZWwucHJvdG90eXBlID0gCiAgICAgICAg
IHJldHVybiB0aGlzLl9jYXRlZ29yaWVzOyAKICAgICB9LAogCi0gICAgZmlsdGVyOiBmdW5jdGlv
bih0YXJnZXQpCisgICAgZmlsdGVyOiBmdW5jdGlvbih0YXJnZXQsIHNlbGVjdE11bHRpcGxlKQog
ICAgIHsKLSAgICAgICAgaWYgKHRhcmdldCA9PT0gdGhpcy5hbGxFbGVtZW50KSB7Ci0gICAgICAg
ICAgICBpZiAodGFyZ2V0Lmhhc1N0eWxlQ2xhc3MoInNlbGVjdGVkIikpIHsKLSAgICAgICAgICAg
ICAgICAvLyBXZSBjYW4ndCB1bnNlbGVjdCBBbGwsIHNvIHdlIGJyZWFrIGVhcmx5IGhlcmUKLSAg
ICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIC8vIElm
IEFsbCB3YXNuJ3Qgc2VsZWN0ZWQsIGFuZCBub3cgaXMsIHVuc2VsZWN0IGV2ZXJ5dGhpbmcgZWxz
ZS4KKyAgICAgICAgZnVuY3Rpb24gdW5zZWxlY3RBbGwoKQorICAgICAgICB7CiAgICAgICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuZmlsdGVyQmFyRWxlbWVudC5jaGlsZE5vZGVzLmxl
bmd0aDsgKytpKSB7CiAgICAgICAgICAgICAgICAgdmFyIGNoaWxkID0gdGhpcy5maWx0ZXJCYXJF
bGVtZW50LmNoaWxkTm9kZXNbaV07CiAgICAgICAgICAgICAgICAgaWYgKCFjaGlsZC5jYXRlZ29y
eSkKICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgICAgICAgICBpZiAo
Y2hpbGQgIT09IHRoaXMuYWxsRWxlbWVudCkKLSAgICAgICAgICAgICAgICAgICAgY2hpbGQucmVt
b3ZlU3R5bGVDbGFzcygic2VsZWN0ZWQiKTsKLQorICAgICAgICAgICAgICAgIAorICAgICAgICAg
ICAgICAgIGNoaWxkLnJlbW92ZVN0eWxlQ2xhc3MoInNlbGVjdGVkIik7CisgICAgICAgICAgICAg
ICAgCiAgICAgICAgICAgICAgICAgdmFyIGZpbHRlckNsYXNzID0gImZpbHRlci0iICsgY2hpbGQu
Y2F0ZWdvcnkudG9Mb3dlckNhc2UoKTsKICAgICAgICAgICAgICAgICB0aGlzLnJlc291cmNlc0dy
YXBoc0VsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcyhmaWx0ZXJDbGFzcyk7CiAgICAgICAgICAgICAg
ICAgdGhpcy5yZXNvdXJjZXNUcmVlRWxlbWVudC5jaGlsZHJlbkxpc3RFbGVtZW50LnJlbW92ZVN0
eWxlQ2xhc3MoZmlsdGVyQ2xhc3MpOwogICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAg
IAorICAgICAgICB2YXIgdGFyZ2V0RmlsdGVyQ2xhc3MgPSAiZmlsdGVyLSIgKyB0YXJnZXQuY2F0
ZWdvcnkudG9Mb3dlckNhc2UoKTsKKworICAgICAgICBpZiAodGFyZ2V0ID09PSB0aGlzLmFsbEVs
ZW1lbnQpIHsKKyAgICAgICAgICAgIGlmICh0YXJnZXQuaGFzU3R5bGVDbGFzcygic2VsZWN0ZWQi
KSkgeworICAgICAgICAgICAgICAgIC8vIFdlIGNhbid0IHVuc2VsZWN0IEFsbCwgc28gd2UgYnJl
YWsgZWFybHkgaGVyZQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKwor
ICAgICAgICAgICAgLy8gSWYgQWxsIHdhc24ndCBzZWxlY3RlZCwgYW5kIG5vdyBpcywgdW5zZWxl
Y3QgZXZlcnl0aGluZyBlbHNlLgorICAgICAgICAgICAgdW5zZWxlY3RBbGwuY2FsbCh0aGlzKTsK
ICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIC8vIFNvbWV0aGluZyBvdGhlciB0aGFuIEFs
bCBpcyBiZWluZyBzZWxlY3RlZCwgc28gd2Ugd2FudCB0byB1bnNlbGVjdCBBbGwuCiAgICAgICAg
ICAgICBpZiAodGhpcy5hbGxFbGVtZW50Lmhhc1N0eWxlQ2xhc3MoInNlbGVjdGVkIikpIHsKQEAg
LTIxNCwxOSArMjIwLDMzIEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZXNQYW5lbC5wcm90b3R5cGUg
PSAKICAgICAgICAgICAgICAgICB0aGlzLnJlc291cmNlc1RyZWVFbGVtZW50LmNoaWxkcmVuTGlz
dEVsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygiZmlsdGVyLWFsbCIpOwogICAgICAgICAgICAgfQog
ICAgICAgICB9CisgICAgICAgIAorICAgICAgICBpZiAoIXNlbGVjdE11bHRpcGxlKSB7CisgICAg
ICAgICAgICAvLyBJZiBtdWx0aXBsZSBzZWxlY3Rpb24gaXMgb2ZmLCB3ZSB3YW50IHRvIHVuc2Vs
ZWN0IGV2ZXJ5dGhpbmcgZWxzZQorICAgICAgICAgICAgLy8gYW5kIGp1c3Qgc2VsZWN0IG91cnNl
bHZlcy4KKyAgICAgICAgICAgIHVuc2VsZWN0QWxsLmNhbGwodGhpcyk7CisgICAgICAgICAgICAK
KyAgICAgICAgICAgIHRhcmdldC5hZGRTdHlsZUNsYXNzKCJzZWxlY3RlZCIpOworICAgICAgICAg
ICAgdGhpcy5yZXNvdXJjZXNHcmFwaHNFbGVtZW50LmFkZFN0eWxlQ2xhc3ModGFyZ2V0RmlsdGVy
Q2xhc3MpOworICAgICAgICAgICAgdGhpcy5yZXNvdXJjZXNUcmVlRWxlbWVudC5jaGlsZHJlbkxp
c3RFbGVtZW50LmFkZFN0eWxlQ2xhc3ModGFyZ2V0RmlsdGVyQ2xhc3MpOworICAgICAgICAgICAg
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KIAogICAgICAgICBpZiAodGFyZ2V0Lmhh
c1N0eWxlQ2xhc3MoInNlbGVjdGVkIikpIHsKKyAgICAgICAgICAgIC8vIElmIHNlbGVjdE11bHRp
cGxlIGlzIHR1cm5lZCBvbiwgYW5kIHdlIHdlcmUgc2VsZWN0ZWQsIHdlIGp1c3QKKyAgICAgICAg
ICAgIC8vIHdhbnQgdG8gdW5zZWxlY3Qgb3Vyc2VsdmVzLgogICAgICAgICAgICAgdGFyZ2V0LnJl
bW92ZVN0eWxlQ2xhc3MoInNlbGVjdGVkIik7CiAKLSAgICAgICAgICAgIHZhciBmaWx0ZXJDbGFz
cyA9ICJmaWx0ZXItIiArIHRhcmdldC5jYXRlZ29yeS50b0xvd2VyQ2FzZSgpOwotICAgICAgICAg
ICAgdGhpcy5yZXNvdXJjZXNHcmFwaHNFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoZmlsdGVyQ2xh
c3MpOwotICAgICAgICAgICAgdGhpcy5yZXNvdXJjZXNUcmVlRWxlbWVudC5jaGlsZHJlbkxpc3RF
bGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoZmlsdGVyQ2xhc3MpOworICAgICAgICAgICAgdGhpcy5y
ZXNvdXJjZXNHcmFwaHNFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3ModGFyZ2V0RmlsdGVyQ2xhc3Mp
OworICAgICAgICAgICAgdGhpcy5yZXNvdXJjZXNUcmVlRWxlbWVudC5jaGlsZHJlbkxpc3RFbGVt
ZW50LnJlbW92ZVN0eWxlQ2xhc3ModGFyZ2V0RmlsdGVyQ2xhc3MpOwogICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgLy8gSWYgc2VsZWN0TXVsdGlwbGUgaXMgdHVybmVkIG9uLCBhbmQgd2Ug
d2VyZW4ndCBzZWxlY3RlZCwgd2UganVzdAorICAgICAgICAgICAgLy8gd2FudCB0byBzZWxlY3Qg
b3Vyc2VsdmVzLgogICAgICAgICAgICAgdGFyZ2V0LmFkZFN0eWxlQ2xhc3MoInNlbGVjdGVkIik7
CiAKLSAgICAgICAgICAgIHZhciBmaWx0ZXJDbGFzcyA9ICJmaWx0ZXItIiArIHRhcmdldC5jYXRl
Z29yeS50b0xvd2VyQ2FzZSgpOwotICAgICAgICAgICAgdGhpcy5yZXNvdXJjZXNHcmFwaHNFbGVt
ZW50LmFkZFN0eWxlQ2xhc3MoZmlsdGVyQ2xhc3MpOwotICAgICAgICAgICAgdGhpcy5yZXNvdXJj
ZXNUcmVlRWxlbWVudC5jaGlsZHJlbkxpc3RFbGVtZW50LmFkZFN0eWxlQ2xhc3MoZmlsdGVyQ2xh
c3MpOworICAgICAgICAgICAgdGhpcy5yZXNvdXJjZXNHcmFwaHNFbGVtZW50LmFkZFN0eWxlQ2xh
c3ModGFyZ2V0RmlsdGVyQ2xhc3MpOworICAgICAgICAgICAgdGhpcy5yZXNvdXJjZXNUcmVlRWxl
bWVudC5jaGlsZHJlbkxpc3RFbGVtZW50LmFkZFN0eWxlQ2xhc3ModGFyZ2V0RmlsdGVyQ2xhc3Mp
OwogICAgICAgICB9CiAgICAgfSwKIApAQCAtMjM3LDcgKzI1NywxNCBAQCBXZWJJbnNwZWN0b3Iu
UmVzb3VyY2VzUGFuZWwucHJvdG90eXBlID0gCiAKICAgICBfdXBkYXRlRmlsdGVyOiBmdW5jdGlv
bihlKQogICAgIHsKLSAgICAgICAgdGhpcy5maWx0ZXIoZS50YXJnZXQpOworICAgICAgICB2YXIg
aXNNYWMgPSBJbnNwZWN0b3JDb250cm9sbGVyLnBsYXRmb3JtKCkuaW5kZXhPZigibWFjLSIpID09
PSAwOworICAgICAgICB2YXIgc2VsZWN0TXVsdGlwbGUgPSBmYWxzZTsKKyAgICAgICAgaWYgKGlz
TWFjICYmIGUubWV0YUtleSAmJiAhZS5jdHJsS2V5ICYmICFlLmFsdEtleSAmJiAhZS5zaGlmdEtl
eSkKKyAgICAgICAgICAgIHNlbGVjdE11bHRpcGxlID0gdHJ1ZTsKKyAgICAgICAgaWYgKCFpc01h
YyAmJiBlLmN0cmxLZXkgJiYgIWUubWV0YUtleSAmJiAhZS5hbHRLZXkgJiYgIWUuc2hpZnRLZXkp
CisgICAgICAgICAgICBzZWxlY3RNdWx0aXBsZSA9IHRydWU7CisgICAgICAgIAorICAgICAgICB0
aGlzLmZpbHRlcihlLnRhcmdldCwgc2VsZWN0TXVsdGlwbGUpOwogICAgIH0sCiAKICAgICBnZXQg
dG9vbGJhckl0ZW1MYWJlbCgpCg==
</data>
<flag name="review"
          id="23273"
          type_id="1"
          status="+"
          setter="timothy"
    />
    <flag name="commit-queue"
          id="23274"
          type_id="3"
          status="-"
          setter="bweinstein"
    />
          </attachment>
      

    </bug>

</bugzilla>