<?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>147361</bug_id>
          
          <creation_ts>2015-07-28 09:57:01 -0700</creation_ts>
          <short_desc>Web Inspector: Allow users to duplicate rules in the Rules sidebar panel</short_desc>
          <delta_ts>2015-08-05 07:08:09 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>jonowells</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1112732</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2015-07-28 09:57:01 -0700</bug_when>
    <thetext>I often find that I want to duplicate a rule to be able to tweak the selector from that rule without messing up the applied properties.  I think that the best place to put this would be as a context menu item that inserts the duplicated (same selector but no properties) rule immediately after the copied rule.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112734</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-07-28 09:57:11 -0700</bug_when>
    <thetext>&lt;rdar://problem/22031990&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112746</commentid>
    <comment_count>2</comment_count>
      <attachid>257655</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2015-07-28 10:24:04 -0700</bug_when>
    <thetext>Created attachment 257655
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112801</commentid>
    <comment_count>3</comment_count>
      <attachid>257655</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-07-28 12:13:50 -0700</bug_when>
    <thetext>Comment on attachment 257655
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Views/CSSStyleDeclarationSection.js:408
&gt; +        if (!(this._style.ownerRule &amp;&amp; this._style.ownerRule.type === WebInspector.CSSRule.Type.UserAgent)) {

Why exclude UserAgent? (Or am I failing at boolean logic.) I think it would be useful to duplicate a rule that you can&apos;t edit directly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112819</commentid>
    <comment_count>4</comment_count>
      <attachid>257655</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2015-07-28 12:56:51 -0700</bug_when>
    <thetext>Comment on attachment 257655
Patch

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/CSSStyleDeclarationSection.js:408
&gt;&gt; +        if (!(this._style.ownerRule &amp;&amp; this._style.ownerRule.type === WebInspector.CSSRule.Type.UserAgent)) {
&gt; 
&gt; Why exclude UserAgent? (Or am I failing at boolean logic.) I think it would be useful to duplicate a rule that you can&apos;t edit directly.

That was supposed to be Inherited, not UserAgent.  Duplicated Inherited rules won&apos;t show up in the sidebar unless the node which the inherited rule comes from is selected, so its pointless to allow users to duplicate rules that are marked as inherited.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112997</commentid>
    <comment_count>5</comment_count>
      <attachid>257720</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2015-07-28 18:52:29 -0700</bug_when>
    <thetext>Created attachment 257720
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114086</commentid>
    <comment_count>6</comment_count>
      <attachid>258029</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2015-08-02 00:54:19 -0700</bug_when>
    <thetext>Created attachment 258029
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114785</commentid>
    <comment_count>7</comment_count>
      <attachid>258029</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-08-04 14:49:23 -0700</bug_when>
    <thetext>Comment on attachment 258029
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Views/CSSStyleDeclarationSection.js:459
&gt; +                if (this._delegate &amp;&amp; typeof this._delegate.focusNextNewInspectorRule === &quot;function&quot;)
&gt; +                    this._delegate.focusNextNewInspectorRule();

Delegate methods should be prefixed with the class name. So cssStyleDeclarationSectionFocusNextNewInspectorRule. This is really just calling a public method as a delegate method currently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114959</commentid>
    <comment_count>8</comment_count>
      <attachid>258264</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2015-08-04 21:26:56 -0700</bug_when>
    <thetext>Created attachment 258264
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115012</commentid>
    <comment_count>9</comment_count>
      <attachid>258264</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-05 07:08:05 -0700</bug_when>
    <thetext>Comment on attachment 258264
Patch

Clearing flags on attachment: 258264

Committed r187960: &lt;http://trac.webkit.org/changeset/187960&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115013</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-05 07:08:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257655</attachid>
            <date>2015-07-28 10:24:04 -0700</date>
            <delta_ts>2015-07-28 18:52:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147361-20150728102242.patch</filename>
            <type>text/plain</type>
            <size>4318</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDY2Y2FhYjJlMTAxZWRmNzgxZDFhNzMzNDI4MjVl
NGUwMWYxOTkxNTIuLjBmZjA3NzYyMzg0MmE0N2VmYjY5NWY2MWY5YWE4ZjcxNTI3NmExYzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE1LTA3LTI4ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBB
bGxvdyB1c2VycyB0byBkdXBsaWNhdGUgcnVsZXMgaW4gdGhlIFJ1bGVzIHNpZGViYXIgcGFuZWwK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzM2MQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZHMgY29u
dGV4dCBtZW51IG9wdGlvbiB0byBub24taW5oZXJpdGVkIHJ1bGVzIHRoYXQsIHdoZW4gY2xpY2tl
ZCwgY3JlYXRlcworICAgICAgICBhIG5ldyBydWxlIHdpdGggdGhlIHNhbWUgc2VsZWN0b3IgYW5k
IG5vIHByb3BlcnRpZXMuCisKKyAgICAgICAgKiBMb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2Fs
aXplZFN0cmluZ3MuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvRE9NTm9kZVN0
eWxlcy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01Ob2RlU3R5bGVzLnByb3RvdHlwZS5h
ZGRSdWxlV2l0aFNlbGVjdG9yLmFkZGVkUnVsZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9N
Tm9kZVN0eWxlcy5wcm90b3R5cGUuYWRkUnVsZVdpdGhTZWxlY3Rvcik6CisgICAgICAgICogVXNl
ckludGVyZmFjZS9WaWV3cy9DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUuZ2V0IF9j
dXJyZW50U2VsZWN0b3JUZXh0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xh
cmF0aW9uU2VjdGlvbi5wcm90b3R5cGUuX2hhbmRsZUNvbnRleHRNZW51RXZlbnQpOgorCiAyMDE1
LTA3LTI3ICBNYXR0IEJha2VyICA8bWF0dGJha2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBSZWNvcmQgYnV0dG9uIGluIFRpbWVsaW5lcyB2aWV3IGlzIGNsaXBwZWQgb24g
bm9uLXJldGluYS4gSG92ZXJpbmcgb3ZlciB0aGUgZG90IGRyYXdzIGl0IGNvcnJlY3RseS4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xv
Y2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9l
bi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IGU4ZmYxNWVhMWIyY2M2OGFhNzk2ZjE4
NzkzOWI3MmZkMjE1NzZkYzUuLjk2MWRjZDIzMzRkMWVkMjJmZmI1YzMxNTRhODYxZjIyNzJkMDYy
MWMgMTAwNjQ0CkdJVCBiaW5hcnkgcGF0Y2gKZGVsdGEgNDQKd2NtYlJCbFg9RTM8XyZYd2BHWGwh
OEZHTCluVzJPc3BQXnstNF9gJUF1LU4xc0tUSjF3YFU8V0cwQSVQN2AyWVhfCgpkZWx0YSAxNApX
Y21iUjdpK1I+aDxfJlh3SCV0NWRUP1lVLXkkNml8CgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGVTdHlsZXMuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRE9NTm9kZVN0eWxlcy5qcwppbmRl
eCAxMmNkZjAxY2RlZDZkZDgwY2NhMjM4ZTMxOTM1NTYwNGYyYTgyOWJhLi5hNTA5NDNlZWEzZmFi
ZDc2OTY5ZWQ3MDJjNTYwOTlkN2RjOThjZTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRE9NTm9kZVN0eWxlcy5qcworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRE9NTm9kZVN0eWxlcy5qcwpAQCAt
MjU3LDYgKzI1NywyNCBAQCBXZWJJbnNwZWN0b3IuRE9NTm9kZVN0eWxlcyA9IGNsYXNzIERPTU5v
ZGVTdHlsZXMgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAgICAgIENTU0FnZW50LmFk
ZFJ1bGUuaW52b2tlKHtjb250ZXh0Tm9kZUlkOiB0aGlzLl9ub2RlLmlkLCBzZWxlY3Rvcn0sIGFk
ZGVkUnVsZS5iaW5kKHRoaXMpKTsKICAgICB9CiAKKyAgICBhZGRSdWxlV2l0aFNlbGVjdG9yKHNl
bGVjdG9yKQorICAgIHsKKyAgICAgICAgaWYgKCFzZWxlY3RvcikKKyAgICAgICAgICAgIHJldHVy
bjsKKworICAgICAgICBmdW5jdGlvbiBhZGRlZFJ1bGUoZXJyb3IsIHJ1bGVQYXlsb2FkKQorICAg
ICAgICB7CisgICAgICAgICAgICBpZiAoZXJyb3IpCisgICAgICAgICAgICAgICAgcmV0dXJuOwor
CisgICAgICAgICAgICBET01BZ2VudC5tYXJrVW5kb2FibGVTdGF0ZSgpOworCisgICAgICAgICAg
ICB0aGlzLnJlZnJlc2goKTsKKyAgICAgICAgfQorCisgICAgICAgIENTU0FnZW50LmFkZFJ1bGUu
aW52b2tlKHtjb250ZXh0Tm9kZUlkOiB0aGlzLl9ub2RlLmlkLCBzZWxlY3Rvcn0sIGFkZGVkUnVs
ZS5iaW5kKHRoaXMpKTsKKyAgICB9CisKICAgICBnZXQgbWF0Y2hlZFJ1bGVzKCkKICAgICB7CiAg
ICAgICAgIHJldHVybiB0aGlzLl9tYXRjaGVkUnVsZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlv
bi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxl
RGVjbGFyYXRpb25TZWN0aW9uLmpzCmluZGV4IGYyYWUyNWM4NjYyMmE2OTY2MTEwZjNiZTBkOTI4
ZjRmNmJjMjhhZDkuLmExMjA5ZjhkNzEzMjdkNDFlODkxMzg3YWI0OWVmNGM5MzU5NTMwYWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0
eWxlRGVjbGFyYXRpb25TZWN0aW9uLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmpzCkBAIC0zODcsMTIg
KzM4NywxMyBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90
eXBlID0gewogCiAgICAgZ2V0IF9jdXJyZW50U2VsZWN0b3JUZXh0KCkKICAgICB7Ci0gICAgICAg
IGlmICghdGhpcy5fc3R5bGUub3duZXJSdWxlKQotICAgICAgICAgICAgcmV0dXJuOwotCiAgICAg
ICAgIHZhciBzZWxlY3RvclRleHQgPSB0aGlzLl9zZWxlY3RvckVsZW1lbnQudGV4dENvbnRlbnQ7
Ci0gICAgICAgIGlmICghc2VsZWN0b3JUZXh0IHx8ICFzZWxlY3RvclRleHQubGVuZ3RoKQorICAg
ICAgICBpZiAoIXNlbGVjdG9yVGV4dCB8fCAhc2VsZWN0b3JUZXh0Lmxlbmd0aCkgeworICAgICAg
ICAgICAgaWYgKCF0aGlzLl9zdHlsZS5vd25lclJ1bGUpCisgICAgICAgICAgICAgICAgcmV0dXJu
OworCiAgICAgICAgICAgICBzZWxlY3RvclRleHQgPSB0aGlzLl9zdHlsZS5vd25lclJ1bGUuc2Vs
ZWN0b3JUZXh0OworICAgICAgICB9CiAKICAgICAgICAgcmV0dXJuIHNlbGVjdG9yVGV4dC50cmlt
KCk7CiAgICAgfSwKQEAgLTQwNCw2ICs0MDUsMTIgQEAgV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVj
bGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZSA9IHsKIAogICAgICAgICB2YXIgY29udGV4dE1lbnUg
PSBuZXcgV2ViSW5zcGVjdG9yLkNvbnRleHRNZW51KGV2ZW50KTsKIAorICAgICAgICBpZiAoISh0
aGlzLl9zdHlsZS5vd25lclJ1bGUgJiYgdGhpcy5fc3R5bGUub3duZXJSdWxlLnR5cGUgPT09IFdl
Ykluc3BlY3Rvci5DU1NSdWxlLlR5cGUuVXNlckFnZW50KSkgeworICAgICAgICAgICAgY29udGV4
dE1lbnUuYXBwZW5kSXRlbShXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkR1cGxpY2F0ZSBTZWxlY3Rv
ciIpLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICB0aGlzLl9zdHlsZS5ub2RlU3R5bGVz
LmFkZFJ1bGVXaXRoU2VsZWN0b3IodGhpcy5fY3VycmVudFNlbGVjdG9yVGV4dCk7CisgICAgICAg
ICAgICB9LmJpbmQodGhpcykpOworICAgICAgICB9CisKICAgICAgICAgY29udGV4dE1lbnUuYXBw
ZW5kSXRlbShXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNvcHkgUnVsZSIpLCBmdW5jdGlvbigpIHsK
ICAgICAgICAgICAgIEluc3BlY3RvckZyb250ZW5kSG9zdC5jb3B5VGV4dCh0aGlzLl9nZW5lcmF0
ZUNTU1J1bGVTdHJpbmcoKSk7CiAgICAgICAgIH0uYmluZCh0aGlzKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257720</attachid>
            <date>2015-07-28 18:52:29 -0700</date>
            <delta_ts>2015-08-02 00:54:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147361-20150728185106.patch</filename>
            <type>text/plain</type>
            <size>5292</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDY2Y2FhYjJlMTAxZWRmNzgxZDFhNzMzNDI4MjVl
NGUwMWYxOTkxNTIuLmM1OWU4NzdkMTg2NTU4ZmM4NTBmNjZjYTM3OWFjZTk0NzM1NmEzNTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE1LTA3LTI4ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBB
bGxvdyB1c2VycyB0byBkdXBsaWNhdGUgcnVsZXMgaW4gdGhlIFJ1bGVzIHNpZGViYXIgcGFuZWwK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzM2MQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZHMgY29u
dGV4dCBtZW51IG9wdGlvbiB0byBub24taW5oZXJpdGVkIHJ1bGVzIHRoYXQsIHdoZW4gY2xpY2tl
ZCwgY3JlYXRlcworICAgICAgICBhIG5ldyBydWxlIHdpdGggdGhlIHNhbWUgc2VsZWN0b3IgYW5k
IG5vIHByb3BlcnRpZXMsIGFuZCB0aGVuIGZvY3VzZXMgaXQuCisKKyAgICAgICAgKiBMb2NhbGl6
YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanM6CisgICAgICAgICogVXNlckludGVy
ZmFjZS9Nb2RlbHMvRE9NTm9kZVN0eWxlcy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01O
b2RlU3R5bGVzLnByb3RvdHlwZS5hZGRSdWxlV2l0aFNlbGVjdG9yLmFkZGVkUnVsZSk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuRE9NTm9kZVN0eWxlcy5wcm90b3R5cGUuYWRkUnVsZVdpdGhTZWxl
Y3Rvcik6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9DU1NTdHlsZURlY2xhcmF0aW9u
U2VjdGlvbi5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2Vj
dGlvbi5wcm90b3R5cGUuZ2V0IF9jdXJyZW50U2VsZWN0b3JUZXh0KToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUuX2hhbmRsZUNvbnRl
eHRNZW51RXZlbnQpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvUnVsZXNTdHlsZURl
dGFpbHNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SdWxlc1N0eWxlRGV0YWlsc1Bh
bmVsLnByb3RvdHlwZS5mb2N1c05leHROZXdJbnNwZWN0b3JSdWxlKToKKwogMjAxNS0wNy0yNyAg
TWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3Rv
cjogUmVjb3JkIGJ1dHRvbiBpbiBUaW1lbGluZXMgdmlldyBpcyBjbGlwcGVkIG9uIG5vbi1yZXRp
bmEuIEhvdmVyaW5nIG92ZXIgdGhlIGRvdCBkcmF3cyBpdCBjb3JyZWN0bHkuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRT
dHJpbmdzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ov
bG9jYWxpemVkU3RyaW5ncy5qcwppbmRleCBlOGZmMTVlYTFiMmNjNjhhYTc5NmYxODc5MzliNzJm
ZDIxNTc2ZGM1Li45NjFkY2QyMzM0ZDFlZDIyZmZiNWMzMTU0YTg2MWYyMjcyZDA2MjFjIDEwMDY0
NApHSVQgYmluYXJ5IHBhdGNoCmRlbHRhIDQ0CndjbWJSQmxYPUUzPF8mWHdgR1hsIThGR0wpblcy
T3NwUF57LTRfYCVBdS1OMXNLVEoxd2BVPFdHMEElUDdgMllYXwoKZGVsdGEgMTQKV2NtYlI3aStS
Pmg8XyZYd0gldDVkVD9ZVS15JDZpfAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL01vZGVscy9ET01Ob2RlU3R5bGVzLmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGVTdHlsZXMuanMKaW5kZXggMTJjZGYw
MWNkZWQ2ZGQ4MGNjYTIzOGUzMTkzNTU2MDRmMmE4MjliYS4uYTUwOTQzZWVhM2ZhYmQ3Njk2OWVk
NzAyYzU2MDk5ZDdkYzk4Y2U2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGVTdHlsZXMuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGVTdHlsZXMuanMKQEAgLTI1Nyw2ICsy
NTcsMjQgQEAgV2ViSW5zcGVjdG9yLkRPTU5vZGVTdHlsZXMgPSBjbGFzcyBET01Ob2RlU3R5bGVz
IGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogICAgICAgICBDU1NBZ2VudC5hZGRSdWxlLmlu
dm9rZSh7Y29udGV4dE5vZGVJZDogdGhpcy5fbm9kZS5pZCwgc2VsZWN0b3J9LCBhZGRlZFJ1bGUu
YmluZCh0aGlzKSk7CiAgICAgfQogCisgICAgYWRkUnVsZVdpdGhTZWxlY3RvcihzZWxlY3RvcikK
KyAgICB7CisgICAgICAgIGlmICghc2VsZWN0b3IpCisgICAgICAgICAgICByZXR1cm47CisKKyAg
ICAgICAgZnVuY3Rpb24gYWRkZWRSdWxlKGVycm9yLCBydWxlUGF5bG9hZCkKKyAgICAgICAgewor
ICAgICAgICAgICAgaWYgKGVycm9yKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAg
ICAgICAgRE9NQWdlbnQubWFya1VuZG9hYmxlU3RhdGUoKTsKKworICAgICAgICAgICAgdGhpcy5y
ZWZyZXNoKCk7CisgICAgICAgIH0KKworICAgICAgICBDU1NBZ2VudC5hZGRSdWxlLmludm9rZSh7
Y29udGV4dE5vZGVJZDogdGhpcy5fbm9kZS5pZCwgc2VsZWN0b3J9LCBhZGRlZFJ1bGUuYmluZCh0
aGlzKSk7CisgICAgfQorCiAgICAgZ2V0IG1hdGNoZWRSdWxlcygpCiAgICAgewogICAgICAgICBy
ZXR1cm4gdGhpcy5fbWF0Y2hlZFJ1bGVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DU1NTdHlsZURlY2xhcmF0
aW9uU2VjdGlvbi5qcwppbmRleCBmMmFlMjVjODY2MjJhNjk2NjExMGYzYmUwZDkyOGY0ZjZiYzI4
YWQ5Li45NGExYzMyY2QzNDIxZjVmMWVhNWI4MDQ2MjU2NzVlZDhmNTMxY2IxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DU1NTdHlsZURlY2xh
cmF0aW9uU2VjdGlvbi5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5qcwpAQCAtMzg3LDEyICszODcsMTMg
QEAgV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZSA9IHsK
IAogICAgIGdldCBfY3VycmVudFNlbGVjdG9yVGV4dCgpCiAgICAgewotICAgICAgICBpZiAoIXRo
aXMuX3N0eWxlLm93bmVyUnVsZSkKLSAgICAgICAgICAgIHJldHVybjsKLQogICAgICAgICB2YXIg
c2VsZWN0b3JUZXh0ID0gdGhpcy5fc2VsZWN0b3JFbGVtZW50LnRleHRDb250ZW50OwotICAgICAg
ICBpZiAoIXNlbGVjdG9yVGV4dCB8fCAhc2VsZWN0b3JUZXh0Lmxlbmd0aCkKKyAgICAgICAgaWYg
KCFzZWxlY3RvclRleHQgfHwgIXNlbGVjdG9yVGV4dC5sZW5ndGgpIHsKKyAgICAgICAgICAgIGlm
ICghdGhpcy5fc3R5bGUub3duZXJSdWxlKQorICAgICAgICAgICAgICAgIHJldHVybjsKKwogICAg
ICAgICAgICAgc2VsZWN0b3JUZXh0ID0gdGhpcy5fc3R5bGUub3duZXJSdWxlLnNlbGVjdG9yVGV4
dDsKKyAgICAgICAgfQogCiAgICAgICAgIHJldHVybiBzZWxlY3RvclRleHQudHJpbSgpOwogICAg
IH0sCkBAIC00MDQsNiArNDA1LDE1IEBAIFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9u
U2VjdGlvbi5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgdmFyIGNvbnRleHRNZW51ID0gbmV3IFdl
Ykluc3BlY3Rvci5Db250ZXh0TWVudShldmVudCk7CiAKKyAgICAgICAgaWYgKCF0aGlzLl9zdHls
ZS5pbmhlcml0ZWQpIHsKKyAgICAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZEl0ZW0oV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJEdXBsaWNhdGUgU2VsZWN0b3IiKSwgZnVuY3Rpb24oKSB7CisgICAg
ICAgICAgICAgICAgaWYgKHRoaXMuX2RlbGVnYXRlICYmIHR5cGVvZiB0aGlzLl9kZWxlZ2F0ZS5m
b2N1c05leHROZXdJbnNwZWN0b3JSdWxlID09PSAiZnVuY3Rpb24iKQorICAgICAgICAgICAgICAg
ICAgICB0aGlzLl9kZWxlZ2F0ZS5mb2N1c05leHROZXdJbnNwZWN0b3JSdWxlKCk7CisKKyAgICAg
ICAgICAgICAgICB0aGlzLl9zdHlsZS5ub2RlU3R5bGVzLmFkZFJ1bGVXaXRoU2VsZWN0b3IodGhp
cy5fY3VycmVudFNlbGVjdG9yVGV4dCk7CisgICAgICAgICAgICB9LmJpbmQodGhpcykpOworICAg
ICAgICB9CisKICAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kSXRlbShXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIkNvcHkgUnVsZSIpLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgIEluc3BlY3RvckZy
b250ZW5kSG9zdC5jb3B5VGV4dCh0aGlzLl9nZW5lcmF0ZUNTU1J1bGVTdHJpbmcoKSk7CiAgICAg
ICAgIH0uYmluZCh0aGlzKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9SdWxlc1N0eWxlRGV0YWlsc1BhbmVsLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUnVsZXNTdHlsZURldGFpbHNQYW5lbC5qcwpp
bmRleCBhNGYzNjg3NWRiODMwMjMxMDk4MTQwMzM1NmViMTc3N2ZkNjI3YzJiLi5lMzQwOWU3MmQ4
ZTgzYWNkZmEyYzJhYjFkNDNhN2E4MjJmYjlhYjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SdWxlc1N0eWxlRGV0YWlsc1BhbmVsLmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1J1bGVzU3R5bGVE
ZXRhaWxzUGFuZWwuanMKQEAgLTM5Myw2ICszOTMsMTEgQEAgV2ViSW5zcGVjdG9yLlJ1bGVzU3R5
bGVEZXRhaWxzUGFuZWwgPSBjbGFzcyBSdWxlc1N0eWxlRGV0YWlsc1BhbmVsIGV4dGVuZHMgV2Vi
SW4KICAgICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoImZpbHRlci1ub24tbWF0
Y2hpbmciLCAhbWF0Y2hGb3VuZCk7CiAgICAgfQogCisgICAgZm9jdXNOZXh0TmV3SW5zcGVjdG9y
UnVsZSgpCisgICAgeworICAgICAgICB0aGlzLl9mb2N1c05leHROZXdJbnNwZWN0b3JSdWxlID0g
dHJ1ZTsKKyAgICB9CisKICAgICAvLyBQcm90ZWN0ZWQKIAogICAgIHNob3duKCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258029</attachid>
            <date>2015-08-02 00:54:19 -0700</date>
            <delta_ts>2015-08-04 21:26:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147361-20150802005415.patch</filename>
            <type>text/plain</type>
            <size>5255</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGM3YTg1N2I0ODIzYzBiMmZhM2E0ZmE0MTNjZmJk
MTNkNTQ2NGIyNTguLmM5YTkxYzY1NWFlOWIyZDYzYzA1ZTRiNWM5ODM3Y2I3YzMyYWIzNmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE1LTA4LTAyICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBB
bGxvdyB1c2VycyB0byBkdXBsaWNhdGUgcnVsZXMgaW4gdGhlIFJ1bGVzIHNpZGViYXIgcGFuZWwK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzM2MQor
CisgICAgICAgIFJldmlld2VkIGJ5IFRpbW90aHkgSGF0Y2hlci4KKworICAgICAgICBBZGRzIGNv
bnRleHQgbWVudSBvcHRpb24gdG8gbm9uLWluaGVyaXRlZCBydWxlcyB0aGF0LCB3aGVuIGNsaWNr
ZWQsIGNyZWF0ZXMKKyAgICAgICAgYSBuZXcgcnVsZSB3aXRoIHRoZSBzYW1lIHNlbGVjdG9yIGFu
ZCBubyBwcm9wZXJ0aWVzLCBhbmQgdGhlbiBmb2N1c2VzIGl0LgorCisgICAgICAgICogTG9jYWxp
emF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzOgorICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvTW9kZWxzL0RPTU5vZGVTdHlsZXMuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9N
Tm9kZVN0eWxlcy5wcm90b3R5cGUuYWRkUnVsZVdpdGhTZWxlY3Rvci5hZGRlZFJ1bGUpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkRPTU5vZGVTdHlsZXMucHJvdG90eXBlLmFkZFJ1bGVXaXRoU2Vs
ZWN0b3IpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5bGVEZWNsYXJhdGlv
blNlY3Rpb24uanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNl
Y3Rpb24ucHJvdG90eXBlLmdldCBfY3VycmVudFNlbGVjdG9yVGV4dCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlLl9oYW5kbGVDb250
ZXh0TWVudUV2ZW50KToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1J1bGVzU3R5bGVE
ZXRhaWxzUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUnVsZXNTdHlsZURldGFpbHNQ
YW5lbC5wcm90b3R5cGUuZm9jdXNOZXh0TmV3SW5zcGVjdG9yUnVsZSk6CisKIDIwMTUtMDgtMDEg
IE5pa2l0YSBWYXNpbHlldiAgPG52YXNpbHlldkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIElu
c3BlY3RvcjogUmVwbGFjZSAidW5rbm93bi1tYWMiIENTUyBjbGFzcyB3aXRoICJlbC1jYXBpdGFu
IgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHBy
b2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRp
b25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggYzFkMTAwMGY3NjhhNGYzNDhi
Zjk4ODEyY2M2YWZiNjY1ZjhmZmFkYy4uMTllZDA4OTVkOWUwYmRiYTQ3MjBlOWUxNDJmMWU4ODAx
YmRkNDVlZSAxMDA2NDQKR0lUIGJpbmFyeSBwYXRjaApkZWx0YSA0OAp6Y21kbj9td0MlUzxfJlh3
UyVWbzs4RkQ3Q2B6MWJeKWxZO1UlbWEhZkduNnBvR1phbXBWNWhzZStnRSFkMEopK04KQXp5SlVN
CgpkZWx0YSAxNApXY21kbjtrOXBmKTxfJlh3SCV0M1RaVWd7MjVDLWYzCgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGVTdHlsZXMu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRE9NTm9kZVN0
eWxlcy5qcwppbmRleCBlZDViOWZmNzRmNmE2OGQxMzU3YTRmZDUyNDY1YTFkYmE5NWNiZGIwLi5h
OWZmOWVhMTA1ZjJjN2MwZjlmODM0OGY2MWVjMWVhMzkwMGU1Y2FhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRE9NTm9kZVN0eWxlcy5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRE9NTm9kZVN0
eWxlcy5qcwpAQCAtMjU3LDYgKzI1NywyNCBAQCBXZWJJbnNwZWN0b3IuRE9NTm9kZVN0eWxlcyA9
IGNsYXNzIERPTU5vZGVTdHlsZXMgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAgICAg
IENTU0FnZW50LmFkZFJ1bGUuaW52b2tlKHtjb250ZXh0Tm9kZUlkOiB0aGlzLl9ub2RlLmlkLCBz
ZWxlY3Rvcn0sIGFkZGVkUnVsZS5iaW5kKHRoaXMpKTsKICAgICB9CiAKKyAgICBhZGRSdWxlV2l0
aFNlbGVjdG9yKHNlbGVjdG9yKQorICAgIHsKKyAgICAgICAgaWYgKCFzZWxlY3RvcikKKyAgICAg
ICAgICAgIHJldHVybjsKKworICAgICAgICBmdW5jdGlvbiBhZGRlZFJ1bGUoZXJyb3IsIHJ1bGVQ
YXlsb2FkKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoZXJyb3IpCisgICAgICAgICAgICAg
ICAgcmV0dXJuOworCisgICAgICAgICAgICBET01BZ2VudC5tYXJrVW5kb2FibGVTdGF0ZSgpOwor
CisgICAgICAgICAgICB0aGlzLnJlZnJlc2goKTsKKyAgICAgICAgfQorCisgICAgICAgIENTU0Fn
ZW50LmFkZFJ1bGUuaW52b2tlKHtjb250ZXh0Tm9kZUlkOiB0aGlzLl9ub2RlLmlkLCBzZWxlY3Rv
cn0sIGFkZGVkUnVsZS5iaW5kKHRoaXMpKTsKKyAgICB9CisKICAgICBnZXQgbWF0Y2hlZFJ1bGVz
KCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9tYXRjaGVkUnVsZXM7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DU1NTdHlsZURlY2xh
cmF0aW9uU2VjdGlvbi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmpzCmluZGV4IGUzMDA0MmNhZmQwYWY0NWNm
NThiOThjMzRjNjVkZmQwODlhOWQxMTcuLjZhMzIzNmVkNzYwY2ZhZjgwZDUzYTdlNzA1MzFmOWI5
MTE1MmRjODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmpz
CkBAIC0zOTgsMTIgKzM5OCwxMyBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNl
Y3Rpb24ucHJvdG90eXBlID0gewogCiAgICAgZ2V0IF9jdXJyZW50U2VsZWN0b3JUZXh0KCkKICAg
ICB7Ci0gICAgICAgIGlmICghdGhpcy5fc3R5bGUub3duZXJSdWxlKQotICAgICAgICAgICAgcmV0
dXJuOwotCiAgICAgICAgIHZhciBzZWxlY3RvclRleHQgPSB0aGlzLl9zZWxlY3RvckVsZW1lbnQu
dGV4dENvbnRlbnQ7Ci0gICAgICAgIGlmICghc2VsZWN0b3JUZXh0IHx8ICFzZWxlY3RvclRleHQu
bGVuZ3RoKQorICAgICAgICBpZiAoIXNlbGVjdG9yVGV4dCB8fCAhc2VsZWN0b3JUZXh0Lmxlbmd0
aCkgeworICAgICAgICAgICAgaWYgKCF0aGlzLl9zdHlsZS5vd25lclJ1bGUpCisgICAgICAgICAg
ICAgICAgcmV0dXJuOworCiAgICAgICAgICAgICBzZWxlY3RvclRleHQgPSB0aGlzLl9zdHlsZS5v
d25lclJ1bGUuc2VsZWN0b3JUZXh0OworICAgICAgICB9CiAKICAgICAgICAgcmV0dXJuIHNlbGVj
dG9yVGV4dC50cmltKCk7CiAgICAgfSwKQEAgLTQ1Miw2ICs0NTMsMTUgQEAgV2ViSW5zcGVjdG9y
LkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZSA9IHsKIAogICAgICAgICB2YXIg
Y29udGV4dE1lbnUgPSBuZXcgV2ViSW5zcGVjdG9yLkNvbnRleHRNZW51KGV2ZW50KTsKIAorICAg
ICAgICBpZiAoIXRoaXMuX3N0eWxlLmluaGVyaXRlZCkgeworICAgICAgICAgICAgY29udGV4dE1l
bnUuYXBwZW5kSXRlbShXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkR1cGxpY2F0ZSBTZWxlY3RvciIp
LCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICBpZiAodGhpcy5fZGVsZWdhdGUgJiYgdHlw
ZW9mIHRoaXMuX2RlbGVnYXRlLmZvY3VzTmV4dE5ld0luc3BlY3RvclJ1bGUgPT09ICJmdW5jdGlv
biIpCisgICAgICAgICAgICAgICAgICAgIHRoaXMuX2RlbGVnYXRlLmZvY3VzTmV4dE5ld0luc3Bl
Y3RvclJ1bGUoKTsKKworICAgICAgICAgICAgICAgIHRoaXMuX3N0eWxlLm5vZGVTdHlsZXMuYWRk
UnVsZVdpdGhTZWxlY3Rvcih0aGlzLl9jdXJyZW50U2VsZWN0b3JUZXh0KTsKKyAgICAgICAgICAg
IH0uYmluZCh0aGlzKSk7CisgICAgICAgIH0KKwogICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRJ
dGVtKFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ29weSBSdWxlIiksIGZ1bmN0aW9uKCkgewogICAg
ICAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNvcHlUZXh0KHRoaXMuX2dlbmVyYXRlQ1NT
UnVsZVN0cmluZygpKTsKICAgICAgICAgfS5iaW5kKHRoaXMpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1J1bGVzU3R5bGVEZXRhaWxzUGFu
ZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SdWxlc1N0
eWxlRGV0YWlsc1BhbmVsLmpzCmluZGV4IGUxOTZkZDJhYjE0NzM0ODA0MDIzODczNzNmZDMyNjcz
YmUxNWNiM2YuLmI3OGQ3ZjJkZmZiOWE0YzVhMGVjZThkMzIxY2NiMjQyOWE5NjAxNmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1J1bGVzU3R5
bGVEZXRhaWxzUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvUnVsZXNTdHlsZURldGFpbHNQYW5lbC5qcwpAQCAtNDExLDYgKzQxMSwxMSBAQCBX
ZWJJbnNwZWN0b3IuUnVsZXNTdHlsZURldGFpbHNQYW5lbCA9IGNsYXNzIFJ1bGVzU3R5bGVEZXRh
aWxzUGFuZWwgZXh0ZW5kcyBXZWJJbgogICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnRv
Z2dsZSgiZmlsdGVyLW5vbi1tYXRjaGluZyIsICFtYXRjaEZvdW5kKTsKICAgICB9CiAKKyAgICBm
b2N1c05leHROZXdJbnNwZWN0b3JSdWxlKCkKKyAgICB7CisgICAgICAgIHRoaXMuX2ZvY3VzTmV4
dE5ld0luc3BlY3RvclJ1bGUgPSB0cnVlOworICAgIH0KKwogICAgIC8vIFByb3RlY3RlZAogCiAg
ICAgc2hvd24oKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258264</attachid>
            <date>2015-08-04 21:26:56 -0700</date>
            <delta_ts>2015-08-05 07:08:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147361-20150804212648.patch</filename>
            <type>text/plain</type>
            <size>5396</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGFjZDUxNzdlYWQ3ODU1MTk5NjFjYTVlMTYzZWQ4
NzYzMDZiODI3NDUuLjFhOWE2ZGRlM2NjYzFiOGJiYjM2NmY2MDNjOTI5ZDcwMTg5OTMxMDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE1LTA4LTA0ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBB
bGxvdyB1c2VycyB0byBkdXBsaWNhdGUgcnVsZXMgaW4gdGhlIFJ1bGVzIHNpZGViYXIgcGFuZWwK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzM2MQor
CisgICAgICAgIFJldmlld2VkIGJ5IFRpbW90aHkgSGF0Y2hlci4KKworICAgICAgICBBZGRzIGNv
bnRleHQgbWVudSBvcHRpb24gdG8gbm9uLWluaGVyaXRlZCBydWxlcyB0aGF0LCB3aGVuIGNsaWNr
ZWQsIGNyZWF0ZXMKKyAgICAgICAgYSBuZXcgcnVsZSB3aXRoIHRoZSBzYW1lIHNlbGVjdG9yIGFu
ZCBubyBwcm9wZXJ0aWVzLCBhbmQgdGhlbiBmb2N1c2VzIGl0LgorCisgICAgICAgICogTG9jYWxp
emF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzOgorICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvTW9kZWxzL0RPTU5vZGVTdHlsZXMuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9N
Tm9kZVN0eWxlcy5wcm90b3R5cGUuYWRkUnVsZVdpdGhTZWxlY3Rvci5hZGRlZFJ1bGUpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkRPTU5vZGVTdHlsZXMucHJvdG90eXBlLmFkZFJ1bGVXaXRoU2Vs
ZWN0b3IpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5bGVEZWNsYXJhdGlv
blNlY3Rpb24uanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNl
Y3Rpb24ucHJvdG90eXBlLmdldCBfY3VycmVudFNlbGVjdG9yVGV4dCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlLl9oYW5kbGVDb250
ZXh0TWVudUV2ZW50KToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1J1bGVzU3R5bGVE
ZXRhaWxzUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUnVsZXNTdHlsZURldGFpbHNQ
YW5lbC5wcm90b3R5cGUuY3NzU3R5bGVEZWNsYXJhdGlvblNlY3Rpb25Gb2N1c05leHROZXdJbnNw
ZWN0b3JSdWxlKToKKwogMjAxNS0wOC0wNCAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5j
b20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogTGF5b3V0ICYgUmVuZGVyaW5nIHRpbWVsaW5l
IGdyaWQgc2hvdWxkIHNob3cgVGltZWxpbmVSZWNvcmQgcGFyZW50L2NoaWxkIHJlbGF0aW9uc2hp
cHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxw
cm9qL2xvY2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0
aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IDMyYzdmZmE4ZTczYjUyNGM0
MGE0MjdhYjM5ZTA0NGI3MTBmM2RmZWYuLjRjMGY0ZmMxNDYxYjkzNTQ4Y2NiOTY0MjU1YTY1ZjE2
Zjg5MTI4ODEgMTAwNjQ0CkdJVCBiaW5hcnkgcGF0Y2gKZGVsdGEgNTQKemNtY2Nqa05NN2o8Xysk
P2xFRG5BM15fb1kldXZGUiZycm1tIzFQQSV6K2xVdUZ4a0xZb0Uwb1B4I3FYJldAQklOCkZPI3NY
OTVCQzU3CgpkZWx0YSAxNApXY21jY2ZwWlZURDxfKyQ/bn4oYTZadnBeNVJ8ayopCgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0RPTU5vZGVT
dHlsZXMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRE9N
Tm9kZVN0eWxlcy5qcwppbmRleCBlZDViOWZmNzRmNmE2OGQxMzU3YTRmZDUyNDY1YTFkYmE5NWNi
ZGIwLi5hOWZmOWVhMTA1ZjJjN2MwZjlmODM0OGY2MWVjMWVhMzkwMGU1Y2FhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRE9NTm9kZVN0eWxl
cy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvRE9N
Tm9kZVN0eWxlcy5qcwpAQCAtMjU3LDYgKzI1NywyNCBAQCBXZWJJbnNwZWN0b3IuRE9NTm9kZVN0
eWxlcyA9IGNsYXNzIERPTU5vZGVTdHlsZXMgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAg
ICAgICAgIENTU0FnZW50LmFkZFJ1bGUuaW52b2tlKHtjb250ZXh0Tm9kZUlkOiB0aGlzLl9ub2Rl
LmlkLCBzZWxlY3Rvcn0sIGFkZGVkUnVsZS5iaW5kKHRoaXMpKTsKICAgICB9CiAKKyAgICBhZGRS
dWxlV2l0aFNlbGVjdG9yKHNlbGVjdG9yKQorICAgIHsKKyAgICAgICAgaWYgKCFzZWxlY3RvcikK
KyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBmdW5jdGlvbiBhZGRlZFJ1bGUoZXJyb3Is
IHJ1bGVQYXlsb2FkKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoZXJyb3IpCisgICAgICAg
ICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICBET01BZ2VudC5tYXJrVW5kb2FibGVTdGF0
ZSgpOworCisgICAgICAgICAgICB0aGlzLnJlZnJlc2goKTsKKyAgICAgICAgfQorCisgICAgICAg
IENTU0FnZW50LmFkZFJ1bGUuaW52b2tlKHtjb250ZXh0Tm9kZUlkOiB0aGlzLl9ub2RlLmlkLCBz
ZWxlY3Rvcn0sIGFkZGVkUnVsZS5iaW5kKHRoaXMpKTsKKyAgICB9CisKICAgICBnZXQgbWF0Y2hl
ZFJ1bGVzKCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9tYXRjaGVkUnVsZXM7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DU1NTdHls
ZURlY2xhcmF0aW9uU2VjdGlvbi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmpzCmluZGV4IGUzMDA0MmNhZmQw
YWY0NWNmNThiOThjMzRjNjVkZmQwODlhOWQxMTcuLjk5MTcyZTA3OTBiMGFmYjk5YjdhMGQwZmY3
MzRhM2E0NjA3YTg0NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmpzCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25TZWN0
aW9uLmpzCkBAIC0zOTgsMTIgKzM5OCwxMyBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJh
dGlvblNlY3Rpb24ucHJvdG90eXBlID0gewogCiAgICAgZ2V0IF9jdXJyZW50U2VsZWN0b3JUZXh0
KCkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy5fc3R5bGUub3duZXJSdWxlKQotICAgICAgICAg
ICAgcmV0dXJuOwotCiAgICAgICAgIHZhciBzZWxlY3RvclRleHQgPSB0aGlzLl9zZWxlY3RvckVs
ZW1lbnQudGV4dENvbnRlbnQ7Ci0gICAgICAgIGlmICghc2VsZWN0b3JUZXh0IHx8ICFzZWxlY3Rv
clRleHQubGVuZ3RoKQorICAgICAgICBpZiAoIXNlbGVjdG9yVGV4dCB8fCAhc2VsZWN0b3JUZXh0
Lmxlbmd0aCkgeworICAgICAgICAgICAgaWYgKCF0aGlzLl9zdHlsZS5vd25lclJ1bGUpCisgICAg
ICAgICAgICAgICAgcmV0dXJuOworCiAgICAgICAgICAgICBzZWxlY3RvclRleHQgPSB0aGlzLl9z
dHlsZS5vd25lclJ1bGUuc2VsZWN0b3JUZXh0OworICAgICAgICB9CiAKICAgICAgICAgcmV0dXJu
IHNlbGVjdG9yVGV4dC50cmltKCk7CiAgICAgfSwKQEAgLTQ1Miw2ICs0NTMsMTUgQEAgV2ViSW5z
cGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZSA9IHsKIAogICAgICAg
ICB2YXIgY29udGV4dE1lbnUgPSBuZXcgV2ViSW5zcGVjdG9yLkNvbnRleHRNZW51KGV2ZW50KTsK
IAorICAgICAgICBpZiAoIXRoaXMuX3N0eWxlLmluaGVyaXRlZCkgeworICAgICAgICAgICAgY29u
dGV4dE1lbnUuYXBwZW5kSXRlbShXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkR1cGxpY2F0ZSBTZWxl
Y3RvciIpLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICBpZiAodGhpcy5fZGVsZWdhdGUg
JiYgdHlwZW9mIHRoaXMuX2RlbGVnYXRlLmNzc1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uRm9jdXNO
ZXh0TmV3SW5zcGVjdG9yUnVsZSA9PT0gImZ1bmN0aW9uIikKKyAgICAgICAgICAgICAgICAgICAg
dGhpcy5fZGVsZWdhdGUuY3NzU3R5bGVEZWNsYXJhdGlvblNlY3Rpb25Gb2N1c05leHROZXdJbnNw
ZWN0b3JSdWxlKCk7CisKKyAgICAgICAgICAgICAgICB0aGlzLl9zdHlsZS5ub2RlU3R5bGVzLmFk
ZFJ1bGVXaXRoU2VsZWN0b3IodGhpcy5fY3VycmVudFNlbGVjdG9yVGV4dCk7CisgICAgICAgICAg
ICB9LmJpbmQodGhpcykpOworICAgICAgICB9CisKICAgICAgICAgY29udGV4dE1lbnUuYXBwZW5k
SXRlbShXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNvcHkgUnVsZSIpLCBmdW5jdGlvbigpIHsKICAg
ICAgICAgICAgIEluc3BlY3RvckZyb250ZW5kSG9zdC5jb3B5VGV4dCh0aGlzLl9nZW5lcmF0ZUNT
U1J1bGVTdHJpbmcoKSk7CiAgICAgICAgIH0uYmluZCh0aGlzKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SdWxlc1N0eWxlRGV0YWlsc1Bh
bmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUnVsZXNT
dHlsZURldGFpbHNQYW5lbC5qcwppbmRleCA3YzllMjRlMzY0MDZkZTY5MGE2YThlOTAwNzhhZTNh
ZDUzMTcxNzY5Li4xNGZkYmU1NGM3YmM1NGI5MTNjNGFhODg1NjI3ZTI2OWY0ZWUxOTBhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SdWxlc1N0
eWxlRGV0YWlsc1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1J1bGVzU3R5bGVEZXRhaWxzUGFuZWwuanMKQEAgLTQxMSw2ICs0MTEsMTEgQEAg
V2ViSW5zcGVjdG9yLlJ1bGVzU3R5bGVEZXRhaWxzUGFuZWwgPSBjbGFzcyBSdWxlc1N0eWxlRGV0
YWlsc1BhbmVsIGV4dGVuZHMgV2ViSW4KICAgICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC50
b2dnbGUoImZpbHRlci1ub24tbWF0Y2hpbmciLCAhbWF0Y2hGb3VuZCk7CiAgICAgfQogCisgICAg
Y3NzU3R5bGVEZWNsYXJhdGlvblNlY3Rpb25Gb2N1c05leHROZXdJbnNwZWN0b3JSdWxlKCkKKyAg
ICB7CisgICAgICAgIHRoaXMuX2ZvY3VzTmV4dE5ld0luc3BlY3RvclJ1bGUgPSB0cnVlOworICAg
IH0KKwogICAgIC8vIFByb3RlY3RlZAogCiAgICAgc2hvd24oKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>