<?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>130911</bug_id>
          
          <creation_ts>2014-03-28 13:00:08 -0700</creation_ts>
          <short_desc>Web Inspector: AXI: node-link-list should be collapsible</short_desc>
          <delta_ts>2016-01-23 18:47:58 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>P4</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="James Craig">jcraig</reporter>
          <assigned_to name="Aaron Chu">aaron_chu</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>jcraig</cc>
    
    <cc>joepeck</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>995430</commentid>
    <comment_count>0</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-28 13:00:08 -0700</bug_when>
    <thetext>Web Inspector: AXI: node-link-list should be collapsible. Sometimes these lists get really long so it&apos;d be good to include something like a disclosure button.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995431</commentid>
    <comment_count>1</comment_count>
      <attachid>228079</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-28 13:00:42 -0700</bug_when>
    <thetext>Created attachment 228079
screen shot</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995432</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-03-28 13:01:12 -0700</bug_when>
    <thetext>&lt;rdar://problem/16460250&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995491</commentid>
    <comment_count>3</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-03-28 16:46:55 -0700</bug_when>
    <thetext>This is making me wonder if Children is a good thing to include in the AX properties.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995514</commentid>
    <comment_count>4</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-28 17:24:12 -0700</bug_when>
    <thetext>It&apos;s already very useful, and will be especially so with Chris&apos; patch. Many times this list of accessibility siblings aren&apos;t even siblings. Sometimes they are promoted and normalized the in AX tree in a way that you can never see in the DOM.

It&apos;s only in a few cases (screen shot is on the body node) or in long lists (Facebook feed, Tweet list) where this would get unreasonably long. Perhaps we should make the Children list always collapsed by default, or collapsed if it&apos;s longer than n number of items.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995516</commentid>
    <comment_count>5</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-28 17:25:23 -0700</bug_when>
    <thetext>(Chris&apos;s patch being bug 130563.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995517</commentid>
    <comment_count>6</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-28 17:27:38 -0700</bug_when>
    <thetext>W3C specs are another place where you can get giant lists of AX Children.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995524</commentid>
    <comment_count>7</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-03-28 17:38:30 -0700</bug_when>
    <thetext>I think making it collapsed with a &quot;More…&quot; inline link at the end would be a good start.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995528</commentid>
    <comment_count>8</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-03-28 17:44:45 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; I think making it collapsed with a &quot;More…&quot; inline link at the end would be a good start.

I agree! And if we already know the #. &quot;# More...&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995533</commentid>
    <comment_count>9</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2014-03-28 18:30:01 -0700</bug_when>
    <thetext>How about the first 5 children (3?) plus the More link? Do we think we&apos;ll need a &quot;Show less&quot; link? They could always show less by just clicking away and back to the list, or if there is a &quot;less&quot; toggle, we could retain the current expanded/collapsed state for all nodes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995537</commentid>
    <comment_count>10</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-03-28 18:43:37 -0700</bug_when>
    <thetext>5 sounds good. Just More… and clicking away to another DOM node seems fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145525</commentid>
    <comment_count>11</comment_count>
      <attachid>266430</attachid>
    <who name="Aaron Chu">aaron_chu</who>
    <bug_when>2015-12-01 23:08:11 -0800</bug_when>
    <thetext>Created attachment 266430
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145530</commentid>
    <comment_count>12</comment_count>
      <attachid>266432</attachid>
    <who name="Aaron Chu">aaron_chu</who>
    <bug_when>2015-12-01 23:43:25 -0800</bug_when>
    <thetext>Created attachment 266432
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145545</commentid>
    <comment_count>13</comment_count>
      <attachid>266432</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2015-12-02 03:05:31 -0800</bug_when>
    <thetext>Comment on attachment 266432
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:346
&gt; +                    moreNodes.innerText = (listItemCount - initialItemCount) + &quot; More\u2026&quot;;

Localize this string.

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:347
&gt; +                    moreNodes.setAttribute(&quot;role&quot;, &quot;link&quot;);

Is there a reason you used span[role=link] instead of a[href]? I&apos;d recommend a[href] because you get the focus and keypress events for free with your click handler. If you have a compelling reason to use the span[role=link], You should add [tabindex=0] and register the keypress handler for Return.

I haven&apos;t built this path yet, but on first glance, it appears the link would not be focusable. Although, not all of the Web Inspector is accessible yet, we should strive to avoid accessibility gotchas that will come back to bite us when trying to make the rest of WebInspectorUI accessible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145546</commentid>
    <comment_count>14</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2015-12-02 03:08:37 -0800</bug_when>
    <thetext>Please forgive all the typos in my comments. It&apos;s 3am. Calling it a night. ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145707</commentid>
    <comment_count>15</comment_count>
      <attachid>266432</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-12-02 13:31:24 -0800</bug_when>
    <thetext>Comment on attachment 266432
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:305
&gt; +            var initialItemCount = 5;

You can make this a const variable with a more descriptive name:

    const itemsToShow = 5;

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:311
&gt; +            var node;
&gt; +            var link;
&gt; +            var listitem;
&gt; +            var nodeId;
&gt; +            var moreNodes;

Style: Our style is to put the `var` (or more commonly now, `let`) next to where the variable is first used. Predefining these up at the top has no advantages and just causes visual noise.

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:346
&gt;&gt; +                    moreNodes.innerText = (listItemCount - initialItemCount) + &quot; More\u2026&quot;;
&gt; 
&gt; Localize this string.

Yep! Use WebInspector.UIString, then use `Tools/Scripts/update-webkit-localizable-strings` to automatically update the `Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js` list of localized strings.

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:347
&gt;&gt; +                    moreNodes.setAttribute(&quot;role&quot;, &quot;link&quot;);
&gt; 
&gt; Is there a reason you used span[role=link] instead of a[href]? I&apos;d recommend a[href] because you get the focus and keypress events for free with your click handler. If you have a compelling reason to use the span[role=link], You should add [tabindex=0] and register the keypress handler for Return.
&gt; 
&gt; I haven&apos;t built this path yet, but on first glance, it appears the link would not be focusable. Although, not all of the Web Inspector is accessible yet, we should strive to avoid accessibility gotchas that will come back to bite us when trying to make the rest of WebInspectorUI accessible.

I agree, an &lt;a href&gt; would work well here.

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:361
&gt; +
&gt; +

Unnecessary whitespace like this can be removed.

&gt; ManualTests/accessibility/collapsible-node-link-list.html:2
&gt; +&lt;body id=&quot;body&quot;&gt;

This id is probably not needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146246</commentid>
    <comment_count>16</comment_count>
      <attachid>266432</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2015-12-04 02:17:35 -0800</bug_when>
    <thetext>Comment on attachment 266432
Patch

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

&gt;&gt;&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:347
&gt;&gt;&gt; +                    moreNodes.setAttribute(&quot;role&quot;, &quot;link&quot;);
&gt;&gt; 
&gt;&gt; Is there a reason you used span[role=link] instead of a[href]? I&apos;d recommend a[href] because you get the focus and keypress events for free with your click handler. If you have a compelling reason to use the span[role=link], You should add [tabindex=0] and register the keypress handler for Return.
&gt;&gt; 
&gt;&gt; I haven&apos;t built this path yet, but on first glance, it appears the link would not be focusable. Although, not all of the Web Inspector is accessible yet, we should strive to avoid accessibility gotchas that will come back to bite us when trying to make the rest of WebInspectorUI accessible.
&gt; 
&gt; I agree, an &lt;a href&gt; would work well here.

Come to think of it, a styled &lt;button&gt; is probably even better since it also catches the spacebar click handler by default. In case you use &lt;a href=&quot;&quot; role=&quot;button&quot;, you should intercept spacebar clicks in JS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146709</commentid>
    <comment_count>17</comment_count>
      <attachid>266739</attachid>
    <who name="Aaron Chu">aaron_chu</who>
    <bug_when>2015-12-06 15:30:40 -0800</bug_when>
    <thetext>Created attachment 266739
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146716</commentid>
    <comment_count>18</comment_count>
      <attachid>266739</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2015-12-06 16:11:58 -0800</bug_when>
    <thetext>Comment on attachment 266739
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:305
&gt;              var linkList = null;

You define linkList just inside the conditional and don&apos;t use it outside the conditional, so you can probably remove this one and move the var keyword to line 311 below.

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:307
&gt; +            var listItemCount = 0;
&gt; +            var initiallyHiddenItems = [];

Ditto. If you don&apos;t need this outside the conditional, move the assignment inside.

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:322
&gt; +                                listitem.className += &quot;hidden&quot;;

I think the HTML5 @hidden DOM property / content attribute would be better than a classname here.

listitem.hidden = true;

(Joe and Timothy may disagree for historical or project-specific reasons. If so, defer to their judgement.)

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:332
&gt; +                    var moreNodes = document.createElement(&quot;button&quot;);

Even though this is functionally a &lt;button&gt;, it does not have to look like a push button. I would give this a general classname (e.g. not &quot;node&quot; specific) and some CSS styles that could be reused for other long lists in inspector panels.

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:336
&gt; +                            value.classList.remove(&quot;hidden&quot;);

I think the HTML5 @hidden DOM property / content attribute would be better than a classname here.

value.hidden = false;

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:343
&gt; +            return hasLinks ? container : null;

I think I&apos;d rather see container defined and returned inside the (nodeIds !== undefined) conditional.

        if (hasLinks)
            return container;
    }
    return null;

The fallback null return is likely to be extraneous at the end. I would usually expect to see this at the beginning of the function as an early return.

    function linkListForNodeIds(nodeIds) {
        if (!nodeIds) // Be more explicit than (!nodeIds) if you prefer.
            return;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146718</commentid>
    <comment_count>19</comment_count>
    <who name="Aaron Chu">aaron_chu</who>
    <bug_when>2015-12-06 16:19:33 -0800</bug_when>
    <thetext>&gt;&gt;Even though this is functionally a &lt;button&gt;, it does not have to look like a push button. I would give this a general classname (e.g. not &quot;node&quot; specific) and some CSS styles that could be reused for other long lists in inspector panels.

Would it be appropriate to style it so that it looks just like an element of the link list?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146721</commentid>
    <comment_count>20</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2015-12-06 16:52:00 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; Would it be appropriate to style it so that it looks just like an element of
&gt; the link list?

I&apos;m not sure. It&apos;s probably fine to start that way for the purposes of this patch. We can file a new bug if the usability of the &quot;7 More...&quot; expander is not obvious.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146763</commentid>
    <comment_count>21</comment_count>
      <attachid>266752</attachid>
    <who name="Aaron Chu">aaron_chu</who>
    <bug_when>2015-12-06 22:55:33 -0800</bug_when>
    <thetext>Created attachment 266752
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146811</commentid>
    <comment_count>22</comment_count>
      <attachid>266752</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2015-12-07 03:23:39 -0800</bug_when>
    <thetext>Comment on attachment 266752
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:306
&gt; +            if (!nodeIds) return null; 

WebKit Style: This should be on two lines without braces. You can run the check-webkit-style script before submitting and it will catch most of the style guide violations. 

    if (!nodeIds)
        return null;

Also review review https://webkit.org/code-style-guidelines/

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:344
&gt; +            if (hasLinks &amp;&amp; container) {
&gt; +                return container;
&gt; +            }

WebKit Style: no braces on single line conditionals. Run check-webkit-style and review https://webkit.org/code-style-guidelines/

&gt; Source/WebInspectorUI/UserInterface/Views/Main.css:295
&gt; +.node-link-list li[hidden=true],

*If* this rule needs to be defined, it should just be:

    [hidden],

or 

    *[hidden],

But you likely don&apos;t need this extra selector at all. Behavior for @hidden is in the default user agent style sheet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146813</commentid>
    <comment_count>23</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2015-12-07 03:26:15 -0800</bug_when>
    <thetext>The rest looks good to me. You&apos;ll need the final r+ from JoePeck or Timothy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146922</commentid>
    <comment_count>24</comment_count>
      <attachid>266752</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-12-07 11:34:54 -0800</bug_when>
    <thetext>Comment on attachment 266752
Patch

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

My comments are almost entirely about Style. The patch itself looks fine to me though but I&apos;d like to see another revision addressing the style comments!

Our JavaScript style guide is not exactly set in stone anyways but we try to update this wiki page and follow the main WebKit style guide:
http://trac.webkit.org/wiki/WebInspectorCodingStyleGuide
https://webkit.org/code-style-guidelines/

&gt; Source/WebInspectorUI/ChangeLog:12
&gt; +
&gt; +

Unnecessary blank line in here.

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:316
&gt; +            for (var nodeId of nodeIds) {
&gt; +                var node = WebInspector.domTreeManager.nodeForId(nodeId);
&gt; +                if (node) {
&gt; +                    var link = WebInspector.linkifyAccessibilityNodeReference(node);
&gt; +                    if (link) {

Style: Use `let` instead of `var` where possible.

This would read much easier with less nesting, using `continue`.

    for (let nodded of nodeIds) {
        let node = WebInspector.domTreeManager.nodeForId(nodeId);
        if (!node)
            continue;

        let link = WebInspector.linkifyAccessibilityNodeReference(node);
        // NOTE: This should not return null so no need to check for it.
        ...
    }

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:318
&gt; +                        var listitem = document.createElement(&quot;li&quot;);

Style: Variable names should be camel case. &quot;listitem&quot; =&gt; &quot;listItem&quot;, or just &quot;li&quot; here.

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:321
&gt; +                            listitem.setAttribute(&quot;hidden&quot;, true);

Style: The hidden attribute has exposed DOM API. So you can just do: &quot;listItem.hidden = true;&quot;

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:332
&gt; +                moreNodes.className += &quot; expand-list-button&quot;;

Style: Prefer the classList DOM API: &quot;moreNodes.classList.add(&quot;expand-list-button&quot;);

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:333
&gt; +                moreNodes.innerText = WebInspector.UIString(&quot;%d More\u2026&quot;).format(listItemCount - itemsToShow);

Style: Prefer &quot;textContent&quot; over &quot;innerText&quot;. &quot;moreNodes.textContent = ...&quot;

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:339
&gt; +                moreNodes.addEventListener(&quot;click&quot;, function (evt) {
&gt; +                    initiallyHiddenItems.forEach(function (value, index) {
&gt; +                        value.setAttribute(&quot;hidden&quot;, false);
&gt; +                    });
&gt; +                    container.removeChild(this);
&gt; +                });

Style: No space between and parenthesis for anonymous functions. &quot;function (...)&quot; =&gt; &quot;function(...)&quot;
Style: Prefer unabbreviated variable names for clarity: &quot;evt&quot; =&gt; &quot;event&quot;

Also you can take advantage of arrow functions here:

    moreNodes.addEventListener(&quot;click&quot;, function(event) {
        initiallyHiddenItems.forEach((element) =&gt; { element.hidden = false; })
        moreNodes.remove();
    });

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/Main.css:295
&gt;&gt; +.node-link-list li[hidden=true],
&gt; 
&gt; *If* this rule needs to be defined, it should just be:
&gt; 
&gt;     [hidden],
&gt; 
&gt; or 
&gt; 
&gt;     *[hidden],
&gt; 
&gt; But you likely don&apos;t need this extra selector at all. Behavior for @hidden is in the default user agent style sheet.

Yes, default behavior should just work for this, you shouldn&apos;t need the new CSS here.

&gt; Source/WebInspectorUI/UserInterface/Views/Main.css:302
&gt; +    appearance: none;

Since Web Inspector in included in WebKit and we only target WebKit, we only need &quot;-webkit-appearance&quot; right now and not the maybe future available unprefixed version. If/when WebKit supports an unprefixed version we can update all the instances in Web Inspector&apos;s CSS. So lets just have &quot;-webkit-appearance: none&quot; here.

&gt; ManualTests/accessibility/collapsible-node-link-list.html:11
&gt; +&lt;li&gt;If the click on the said link does not functoin as described in #4, the test fails.&lt;/li&gt;

Typo: &quot;functoin&quot; =&gt; &quot;function&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1147173</commentid>
    <comment_count>25</comment_count>
      <attachid>266844</attachid>
    <who name="Aaron Chu">aaron_chu</who>
    <bug_when>2015-12-07 23:09:55 -0800</bug_when>
    <thetext>Created attachment 266844
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1147174</commentid>
    <comment_count>26</comment_count>
    <who name="Aaron Chu">aaron_chu</who>
    <bug_when>2015-12-07 23:10:36 -0800</bug_when>
    <thetext>It looks like the li in .node-link-list are styled using &quot;.node-link-list li&quot;, which overrode the default behavior, which is under simply &quot;li&quot;. I think it may make more sense to use the existing &quot;.hidden&quot; to hide these items.

I also checked out the style guide and repositioned some of the braces in a function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1147188</commentid>
    <comment_count>27</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2015-12-08 00:32:29 -0800</bug_when>
    <thetext>(In reply to comment #26)
&gt; It looks like the li in .node-link-list are styled using &quot;.node-link-list
&gt; li&quot;, which overrode the default behavior, which is under simply &quot;li&quot;. I
&gt; think it may make more sense to use the existing &quot;.hidden&quot; to hide these
&gt; items.

I&apos;m not sure I understand. 

Are you saying display was overridden so that @hidden did not work as intended? If so, you can probably fix the existing selector to include :not([hidden]), or perhaps add the !important directive to the local stylesheet for hidden:

*[hidden] {
  display: none !important;
}

If the local styles are overriding the expected behavior of @hidden, there may be a CSS bug that the default user style sheet needs to include the previous rule with the !important directive.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151428</commentid>
    <comment_count>28</comment_count>
      <attachid>266844</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2015-12-27 14:50:37 -0800</bug_when>
    <thetext>Comment on attachment 266844
Patch

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

I think this patch is ready to go. James, please land this (adding yourself to the Reviewed By: line) when you get back if there are no other issues.

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:-276
&gt; -        function booleanValueToLocalizedStringIfTrue(property) {

Either way is fine, you don&apos;t need to change this, but it&apos;s ok.

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:311
&gt; +                return null; 

Nit: usually add a newline after early bail or continue. Not a big deal though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153746</commentid>
    <comment_count>29</comment_count>
    <who name="Aaron Chu">aaron_chu</who>
    <bug_when>2016-01-07 19:16:52 -0800</bug_when>
    <thetext>I believe I should take a look at the CSS [hidden] issue as pointed out by James.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153753</commentid>
    <comment_count>30</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-01-07 19:49:18 -0800</bug_when>
    <thetext>&gt; *[hidden] {
&gt;   display: none !important;
&gt; }

We won&apos;t want to override the default style. The HTML spec recommends a default html stylesheet containing:

&gt; [hidden], area, base, basefont, datalist, head, link, menu[type=context i], meta,
&gt; noembed, noframes, param, rp, script, source, style, template, track, title {
&gt;   display: none;
&gt; }

https://html.spec.whatwg.org/multipage/interaction.html#the-hidden-attribute
https://html.spec.whatwg.org/multipage/rendering.html#hiddenCSS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153754</commentid>
    <comment_count>31</comment_count>
    <who name="Aaron Chu">aaron_chu</who>
    <bug_when>2016-01-07 19:50:51 -0800</bug_when>
    <thetext>Thanks Joe, I will look into :not([hidden]) and fix accordingly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153769</commentid>
    <comment_count>32</comment_count>
      <attachid>266844</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2016-01-07 21:02:51 -0800</bug_when>
    <thetext>Comment on attachment 266844
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:310
&gt; +            if (!nodeIds) 

You could put this at the very beginning of the function, so that if it is true no variables are declared.

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:312
&gt; +            let linkList = document.createElement(&quot;ul&quot;);

NIT: What you have here is fine, but we have a prototype function on Element called createChild that accepts an element type and optional className, so this line would instead be (and you could then delete lines 313 and 334):
let linkList = container.createChild(&quot;ul&quot;, &quot;node-link-list&quot;);

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:324
&gt; +                    let li = document.createElement(&quot;li&quot;);

NIT: Same as above.

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:336
&gt; +                let moreNodes = document.createElement(&quot;button&quot;);

NIT: Same as above.

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:340
&gt; +                    initiallyHiddenItems.forEach((element) =&gt; { element.classList.remove(&quot;hidden&quot;); });

NIT: You don&apos;t need the extra brackets after the &quot;=&gt;&quot;.

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:345
&gt; +            if (hasLinks &amp;&amp; container) 

I don&apos;t think you need to check for container being truthy as well, as it is always set on line 314.  Also, I would put a &quot;return null;&quot; after this if statement on the off-chance that some other circumstance arises where &quot;hasLinks&quot; is false for some reason.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153784</commentid>
    <comment_count>33</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2016-01-08 01:49:03 -0800</bug_when>
    <thetext>(In reply to comment #30)
&gt; &gt; *[hidden] {
&gt; &gt;   display: none !important;
&gt; &gt; }
&gt; 
&gt; We won&apos;t want to override the default style. The HTML spec recommends a
&gt; default html stylesheet containing:
&gt; 
&gt; &gt; [hidden], area, base, basefont, datalist, head, link, menu[type=context i], meta,
&gt; &gt; noembed, noframes, param, rp, script, source, style, template, track, title {
&gt; &gt;   display: none;
&gt; &gt; }
&gt; 
&gt; https://html.spec.whatwg.org/multipage/interaction.html#the-hidden-attribute
&gt; https://html.spec.whatwg.org/multipage/rendering.html#hiddenCSS

I think that&apos;s likely a spec error. The behavior of @hidden is such that it should have a higher default specificity than simple attribute selector. I&apos;ve raised it separately as bug 152883.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153785</commentid>
    <comment_count>34</comment_count>
      <attachid>266844</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2016-01-08 02:03:02 -0800</bug_when>
    <thetext>Comment on attachment 266844
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:277
&gt; -        function booleanValueToLocalizedStringIfTrue(property) {
&gt; +        function booleanValueToLocalizedStringIfTrue(property) 
&gt; +        {

Don&apos;t include unrelated stylistic changes in a patch.

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:284
&gt; -        function booleanValueToLocalizedStringIfPropertyDefined(property) {
&gt; +        function booleanValueToLocalizedStringIfPropertyDefined(property) 
&gt; +        {

Ditto.

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:295
&gt; -        function linkForNodeId(nodeId) {
&gt; +        function linkForNodeId(nodeId) 
&gt; +        {

Ditto.

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:345
&gt;&gt; +            if (hasLinks &amp;&amp; container) 
&gt; 
&gt; I don&apos;t think you need to check for container being truthy as well, as it is always set on line 314.  Also, I would put a &quot;return null;&quot; after this if statement on the off-chance that some other circumstance arises where &quot;hasLinks&quot; is false for some reason.

I gave similar feedback on an earlier patch in comment #18.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1154335</commentid>
    <comment_count>35</comment_count>
      <attachid>268680</attachid>
    <who name="Aaron Chu">aaron_chu</who>
    <bug_when>2016-01-11 01:40:20 -0800</bug_when>
    <thetext>Created attachment 268680
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1154638</commentid>
    <comment_count>36</comment_count>
      <attachid>268680</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2016-01-12 00:13:16 -0800</bug_when>
    <thetext>Comment on attachment 268680
Patch

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

&gt; Source/WebInspectorUI/ChangeLog:22
&gt; +2016-01-11  Aaron Chu  &lt;arona.chu@gmail.com&gt;

Looks like you have two changelogs.  Merge them.

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:310
&gt; +            container.className = &quot;list-container&quot;;

NIT: Use classList instead of className:
container.classList.add(&quot;list-container&quot;);

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:318
&gt; +                if (link) {

`link` will not be null unless `node` is null, which is checked for on line 315, meaning that `link` will never be null.  As such you can remove this if statement.

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:323
&gt; +                        li.setAttribute(&quot;hidden&quot;, &quot;&quot;);

NIT: Just doing `li.hidden = true;` would be valid as well.

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:329
&gt; +            container.appendChild(linkList);

This can be removed as createChild already does it.

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:331
&gt; +                let moreNodes = container.createChild(&quot;button&quot;);

You can make use of the optional className parameter of createChild:
let moreNodes = container.createChild(&quot;button&quot;, &quot;expand-list-button&quot;);

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:343
&gt; +

Remove extra newline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1154647</commentid>
    <comment_count>37</comment_count>
      <attachid>268680</attachid>
    <who name="James Craig">jcraig</who>
    <bug_when>2016-01-12 01:32:05 -0800</bug_when>
    <thetext>Comment on attachment 268680
Patch

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

&gt;&gt; Source/WebInspectorUI/ChangeLog:22
&gt;&gt; +2016-01-11  Aaron Chu  &lt;arona.chu@gmail.com&gt;
&gt; 
&gt; Looks like you have two changelogs.  Merge them.

If I need to update a patch, I usually copy the comment, revert my changelogs, and rerun the prepare-Changelog script.

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:329
&gt;&gt; +            container.appendChild(linkList);
&gt; 
&gt; This can be removed as createChild already does it.

Ditto for line 321, (link in li)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1156109</commentid>
    <comment_count>38</comment_count>
      <attachid>269146</attachid>
    <who name="Aaron Chu">aaron_chu</who>
    <bug_when>2016-01-15 21:08:41 -0800</bug_when>
    <thetext>Created attachment 269146
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1156678</commentid>
    <comment_count>39</comment_count>
      <attachid>269146</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-01-19 12:04:00 -0800</bug_when>
    <thetext>Comment on attachment 269146
Patch

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

The patch looks good to me. Please address the CSS issue and then we can look at landing it.

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:322
&gt; +                    li.setAttribute(&quot;hidden&quot;, &quot;&quot;);

This can just be:

    li.hidden = true;

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:329
&gt; +                let moreNodes = container.createChild(&quot;button&quot;, &quot;expand-list-button&quot;);

This variable name sounds like a list. How about naming it &quot;moreNodesButton&quot;.

&gt; Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js:332
&gt; +                    initiallyHiddenItems.forEach((element) =&gt; element.removeAttribute(&quot;hidden&quot;));

And this can be:

    (element) =&gt; { element.hidden = false; }

&gt; Source/WebInspectorUI/UserInterface/Views/Main.css:308
&gt; +.expand-list-button {

When I applied this patch, clicking the &quot;# More...&quot; link caused the text of the link to go white.

This was unlike the action of clicking any of the other text links (like an individual node in the list above it).

It is changing because of the user agent style:

    button:active {
        color: activebuttontext;
    }

I think this would be preferred if the color stayed the same when active, so you could just add to these styles:

    .expand-list-button {
        color: black;
    }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1156912</commentid>
    <comment_count>40</comment_count>
      <attachid>269345</attachid>
    <who name="Aaron Chu">aaron_chu</who>
    <bug_when>2016-01-19 23:10:45 -0800</bug_when>
    <thetext>Created attachment 269345
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1156971</commentid>
    <comment_count>41</comment_count>
      <attachid>269345</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-01-20 10:54:48 -0800</bug_when>
    <thetext>Comment on attachment 269345
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157040</commentid>
    <comment_count>42</comment_count>
      <attachid>269345</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-20 14:09:30 -0800</bug_when>
    <thetext>Comment on attachment 269345
Patch

Rejecting attachment 269345 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 269345, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
oseph Pecoraro&apos;]&quot; exit_code: 255 cwd: /Volumes/Data/EWS/WebKit

Parsed 6 diffs from patch file(s).
patching file Source/WebInspectorUI/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
Original content of Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js mismatches at /Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply line 283.

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Joseph Pecoraro&apos;]&quot; exit_code: 255 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-queues.webkit.org/results/718603</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157216</commentid>
    <comment_count>43</comment_count>
    <who name="Aaron Chu">aaron_chu</who>
    <bug_when>2016-01-20 22:13:12 -0800</bug_when>
    <thetext>noob here, what does this rejection mean? Is this because of the Loc file?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157242</commentid>
    <comment_count>44</comment_count>
    <who name="James Craig">jcraig</who>
    <bug_when>2016-01-21 01:08:19 -0800</bug_when>
    <thetext>(In reply to comment #43)
&gt; noob here, what does this rejection mean? Is this because of the Loc file?

Looks like commit bot could not auto-merge some of the diffs in the strings file. Update your local SVN and manually merge that file before recreating the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1158077</commentid>
    <comment_count>45</comment_count>
      <attachid>269680</attachid>
    <who name="Aaron Chu">aaron_chu</who>
    <bug_when>2016-01-23 17:46:16 -0800</bug_when>
    <thetext>Created attachment 269680
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1158078</commentid>
    <comment_count>46</comment_count>
      <attachid>269680</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-23 18:47:53 -0800</bug_when>
    <thetext>Comment on attachment 269680
Patch

Clearing flags on attachment: 269680

Committed r195512: &lt;http://trac.webkit.org/changeset/195512&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1158079</commentid>
    <comment_count>47</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-23 18:47:58 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>228079</attachid>
            <date>2014-03-28 13:00:42 -0700</date>
            <delta_ts>2014-03-28 13:00:42 -0700</delta_ts>
            <desc>screen shot</desc>
            <filename>Screen Shot 2014-03-27 at 1.00.11 PM.png</filename>
            <type>image/png</type>
            <size>45329</size>
            <attacher name="James Craig">jcraig</attacher>
            
              <data encoding="base64">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
EGsEGyfbY/ZUDiWOdc5LXAHcQtyLPOd4Pfi4+F7x1wr4CkoKbsLxa4mIn+ghMXqxNfEhiRrJWCkr
aWEZCNb/Dbkz8scUiIrGSnLKPCo0qijVbbWfh7Y1kJpUWlzasjpGup6wB6s0uGP41hhvomjqaZYD
R7DTljvW3Da6tgFw/HrTYcWJxdnMJc31ptt3d7kjER4txBUvfm8Pn0rfWX/OAK/ApqCvIVqh+WEL
EYqk/MiP0XYxfbHycZcTxI41J0kld6RqpT1Mdz2xlpmaxZTdkqOXO5nvU7BeFFeMKik4zVXWVm5Q
MVcZW81Y01Hnch5xofWidyNP07tLV1pSrthcFb6OaJ/rvHWj+mb6raA7tn3qA/x3sffe3e99UP4w
6rH1mPQE3ZPNZ/OTIy+6XjbOVrzKW0h+E7houSS5gnu/9OHex4vr2V/Cvzl9192U2eLZptsl29d/
pK+cLOw84JIlXgcuP87t7X0VBABbBMBO4d7er7q9vZ1zcLIxA0Bv8J/6+z4zBv4rUaSI6AN093TT
U/Yp/338D/H3br+LdkNQAAABnWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4
bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRm
OlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1u
cyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxu
czpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDxleGlmOlBp
eGVsWERpbWVuc2lvbj4zODQ8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQ
aXhlbFlEaW1lbnNpb24+NTY1PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAgICAgPC9yZGY6RGVz
Y3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+ClRmKqgAAEAASURBVHgB7F0JXFPH
89+QQAKBoKAIiAqKBypeFS+0VryVeluPVq09bLVqra1ar+LVeiPFs3j0p3hRRVARz6p/EW3FGxWt
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
+mAAAAAASUVORK5CYII=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266430</attachid>
            <date>2015-12-01 23:08:11 -0800</date>
            <delta_ts>2015-12-01 23:43:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130911-20151201230748.patch</filename>
            <type>text/plain</type>
            <size>7027</size>
            <attacher name="Aaron Chu">aaron_chu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyODYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA1
NTNmZDRhNjEwYjBhNjM0NTY3M2VjYzU2MTk4NWIzMTA2OWIzYzBhLi40ZWYzZDIwYmU4OTQ2OWIy
N2U2NjUzYmZkMzRiNmY0NmJlYWVkM2Y0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxNS0xMi0wMSAgQWFyb24gQ2h1ICA8YXJvbmEuY2h1QGdtYWlsLmNvbT4K
KyAgICAgICAgCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFYSTogbm9kZS1saW5rLWxpc3Qgc2hv
dWxkIGJlIGNvbGxhcHNpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMzA5MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBY2Nlc3NpYmlsaXR5IEluc3BlY3RvcjogZm9yIGEgdmVyeSBsb25nIGNoaWxk
cmVuIG5vZGUgbGlzdCwgb25seSB0aGUgZmlyc3QgNSBub2RlcyBhcmUgc2hvd24uCisgICAgICAg
IHJlbWFpbmluZyBub2RlcyBhcmUgaGlkZGVuIGJ5IGEgIiMgTW9yZeKApiIgbGluayBieSB3aGlj
aCBhIHVzZXIgY2FuIGNsaWNrIHRvIHJldmVhbCB0aGUgcmVtYWluZGVyCisgICAgICAgIG9mIHRo
ZSBub2RlIGxpc3QuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVEZXRh
aWxzU2lkZWJhclBhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTU5vZGVEZXRhaWxz
U2lkZWJhclBhbmVsLnByb3RvdHlwZS5fcmVmcmVzaEFjY2Vzc2liaWxpdHkubGlua0xpc3RGb3JO
b2RlSWRzKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL01haW4uY3NzOgorICAgICAg
ICAoLmxpc3QtY29udGFpbmVyIC5zaG93LWhpZGRlbi1ub2RlKToKKwogMjAxNS0xMS0zMCAgQnJp
YW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBzaG93
IHNvbWV0aGluZyB1c2VmdWwgd2hlbiB0aGUgaW5zcGVjdG9yIGZyb250ZW5kIGZhaWxzIHRvIGxv
YWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanMKaW5kZXggZTYx
Nzk5N2ViMGYxZGRkNGQxNGVmNTc4NzMwMGQzNzhlYTM5YzAwZi4uZmM2ZTM5MGU2MDY2YTlmYWE1
YmEyNWM5MDM2YWJkYTA1MzU4YzIxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFpbHNT
aWRlYmFyUGFuZWwuanMKQEAgLTMwMiwyMyArMzAyLDY0IEBAIFdlYkluc3BlY3Rvci5ET01Ob2Rl
RGV0YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNzIERPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsIGV4
dGVuCiAgICAgICAgIGZ1bmN0aW9uIGxpbmtMaXN0Rm9yTm9kZUlkcyhub2RlSWRzKSB7CiAgICAg
ICAgICAgICB2YXIgaGFzTGlua3MgPSBmYWxzZTsKICAgICAgICAgICAgIHZhciBsaW5rTGlzdCA9
IG51bGw7CisgICAgICAgICAgICB2YXIgaW5pdGlhbEl0ZW1Db3VudCA9IDU7CisgICAgICAgICAg
ICB2YXIgbGlzdEl0ZW1Db3VudCA9IDA7CisgICAgICAgICAgICB2YXIgbm9kZTsKKyAgICAgICAg
ICAgIHZhciBsaW5rOworICAgICAgICAgICAgdmFyIGxpc3RpdGVtOworICAgICAgICAgICAgdmFy
IG5vZGVJZDsKKyAgICAgICAgICAgIHZhciBtb3JlTm9kZXM7CisgICAgICAgICAgICB2YXIgaW5p
dGlhbGx5SGlkZGVuSXRlbXMgPSBbXTsKKyAgICAgICAgICAgIHZhciBjb250YWluZXIgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICAgICAgICAgIGNvbnRhaW5lci5jbGFzc05h
bWUgPSAibGlzdC1jb250YWluZXIiOworCiAgICAgICAgICAgICBpZiAobm9kZUlkcyAhPT0gdW5k
ZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgbGlua0xpc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJ1bCIpOwogICAgICAgICAgICAgICAgIGxpbmtMaXN0LmNsYXNzTmFtZSA9ICJub2RlLWxp
bmstbGlzdCI7ICAgIAotICAgICAgICAgICAgICAgIGZvciAodmFyIG5vZGVJZCBvZiBub2RlSWRz
KSB7Ci0gICAgICAgICAgICAgICAgICAgIHZhciBub2RlID0gV2ViSW5zcGVjdG9yLmRvbVRyZWVN
YW5hZ2VyLm5vZGVGb3JJZChub2RlSWQpOworCisgICAgICAgICAgICAgICAgZm9yIChub2RlSWQg
b2Ygbm9kZUlkcykgeworICAgICAgICAgICAgICAgICAgICBub2RlID0gV2ViSW5zcGVjdG9yLmRv
bVRyZWVNYW5hZ2VyLm5vZGVGb3JJZChub2RlSWQpOwogICAgICAgICAgICAgICAgICAgICBpZiAo
bm9kZSkgewotICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxpbmsgPSBXZWJJbnNwZWN0b3Iu
bGlua2lmeUFjY2Vzc2liaWxpdHlOb2RlUmVmZXJlbmNlKG5vZGUpOworICAgICAgICAgICAgICAg
ICAgICAgICAgbGluayA9IFdlYkluc3BlY3Rvci5saW5raWZ5QWNjZXNzaWJpbGl0eU5vZGVSZWZl
cmVuY2Uobm9kZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGluaykgewogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGhhc0xpbmtzID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2YXIgbGlzdGl0ZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaSIpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RpdGVtID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgibGkiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0aXRlbS5hcHBlbmRD
aGlsZChsaW5rKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsaXN0SXRlbUNv
dW50ID49IGluaXRpYWxJdGVtQ291bnQpIHsgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGxpc3RpdGVtLmNsYXNzTmFtZSArPSAiaGlkZGVuIjsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW5pdGlhbGx5SGlkZGVuSXRlbXMucHVzaChsaXN0aXRlbSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfSAKKwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGxpbmtMaXN0LmFwcGVuZENoaWxkKGxpc3RpdGVtKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0SXRlbUNvdW50Kys7CiAgICAg
ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQobGlua0xpc3Qp
OworCisgICAgICAgICAgICAgICAgaWYgKGxpc3RJdGVtQ291bnQgPiBpbml0aWFsSXRlbUNvdW50
KSB7CisgICAgICAgICAgICAgICAgICAgIG1vcmVOb2RlcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInNwYW4iKTsKKyAgICAgICAgICAgICAgICAgICAgbW9yZU5vZGVzLmNsYXNzTmFtZSA9ICJz
aG93LWhpZGRlbi1ub2RlIjsKKyAgICAgICAgICAgICAgICAgICAgbW9yZU5vZGVzLmlubmVyVGV4
dCA9IChsaXN0SXRlbUNvdW50IC0gaW5pdGlhbEl0ZW1Db3VudCkgKyAiIE1vcmVcdTIwMjYiOwor
ICAgICAgICAgICAgICAgICAgICBtb3JlTm9kZXMuaHJlZiA9ICIiOworICAgICAgICAgICAgICAg
ICAgICBtb3JlTm9kZXMuc2V0QXR0cmlidXRlKCJyb2xlIiwgImxpbmsiKTsKKworICAgICAgICAg
ICAgICAgICAgICBtb3JlTm9kZXMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBmdW5jdGlvbiAo
ZXZ0KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsbHlIaWRkZW5JdGVtcy5mb3JF
YWNoKGZ1bmN0aW9uICh2YWx1ZSwgaW5kZXgpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB2YWx1ZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIH0pOworICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyLnJlbW92ZUNoaWxkKHRo
aXMpOworICAgICAgICAgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgICAgICAgICBjb250
YWluZXIuYXBwZW5kQ2hpbGQobW9yZU5vZGVzKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICByZXR1cm4gaGFzTGlua3MgPyBsaW5rTGlzdCA6IG51bGw7Cisg
ICAgICAgICAgICByZXR1cm4gaGFzTGlua3MgPyBjb250YWluZXIgOiBudWxsOworCisKICAgICAg
ICAgfQogCiAgICAgICAgIGZ1bmN0aW9uIGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzQ2FsbGJhY2so
YWNjZXNzaWJpbGl0eVByb3BlcnRpZXMpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL01haW4uY3NzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvTWFpbi5jc3MKaW5kZXggMWM5OGMyMGZkOWY5Nzg4OWI3NDk0
Mzk5YTY1NzE2M2QxN2NhMzc3ZC4uN2FmMGQyMzYyNTJhZmUxMDlkZmYyOTQ3NzFjZjcxNTliY2Rl
ZjRkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvTWFpbi5jc3MKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvTWFpbi5jc3MKQEAgLTI5Niw2ICsyOTYsMTEgQEAgYm9keS53aW5kb3ctaW5hY3RpdmUgI3Nw
bGl0LWNvbnRlbnQtYnJvd3NlciB7CiAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogfQog
CisubGlzdC1jb250YWluZXIgLnNob3ctaGlkZGVuLW5vZGUgeworICAgIGN1cnNvcjogcG9pbnRl
cjsKKyAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKK30KKwogLm5vZGUtbGluayB7CiAg
ICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgY3Vyc29yOiBwb2ludGVyOwpkaWZm
IC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDk5MWExNzdjZTNkM2YwZWE5NGU2
YWQ0YzY0MDNlYjM5OWRjYzljMzQuLjNiYzE0NGJhNGZhZTBiYjI3NDhkZGQ4M2NiMmMxZWU2YWZm
NDRiY2YgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NCBAQAorMjAxNS0xMi0wMSAgQWFyb24gQ2h1ICA8YXJvbmEuY2h1QGdtYWlsLmNvbT4KKworICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBBWEk6IG5vZGUtbGluay1saXN0IHNob3VsZCBiZSBjb2xsYXBz
aWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMw
OTExCisKKyAgICAgICAgQWRkZWQgYSBtYW51YWwgdGVzdCB0byB0ZXN0IHRoZSBub2RlIGxpc3Qg
aW4gdGhlIEFjY2Vzc2liaWxpdHkgSW5zcGVjdG9yCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNYW51YWxUZXN0cy9hY2Nlc3NpYmlsaXR5L2NvbGxh
cHNpYmxlLW5vZGUtbGluay1saXN0Lmh0bWw6IEFkZGVkLgorCiAyMDE1LTExLTIzICBDYXJsb3Mg
R2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2Vk
LiBVcGRhdGUgT3B0aW9uc0dUSy5jbWFrZSBhbmQgTkVXUyBmb3IgMi4xMS4yIHJlbGVhc2UuCmRp
ZmYgLS1naXQgYS9NYW51YWxUZXN0cy9hY2Nlc3NpYmlsaXR5L2NvbGxhcHNpYmxlLW5vZGUtbGlu
ay1saXN0Lmh0bWwgYi9NYW51YWxUZXN0cy9hY2Nlc3NpYmlsaXR5L2NvbGxhcHNpYmxlLW5vZGUt
bGluay1saXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjk2ZmZkMjUzMTBiMmYwYzE3NTBlMDcwMDllOTJh
NzRlYzIxNTFkMQotLS0gL2Rldi9udWxsCisrKyBiL01hbnVhbFRlc3RzL2FjY2Vzc2liaWxpdHkv
Y29sbGFwc2libGUtbm9kZS1saW5rLWxpc3QuaHRtbApAQCAtMCwwICsxLDI5IEBACis8aHRtbD4K
Kzxib2R5IGlkPSJib2R5Ij4KKworCis8cD5UZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwOTExIj5CdWcgMTMwOTExOiBXZWIgSW5zcGVj
dG9yOiBBWEk6IG5vZGUtbGluay1saXN0IHNob3VsZCBiZSBjb2xsYXBzaWJsZTwvYT4uPC9wPgor
PG9sPgorPGxpPk9wZW4gQWNjZXNzaWJpbGl0eSBJbnNwZWN0b3IuPC9saT4KKzxsaT5JbiBET00g
dHJlZSBpbiB0aGUgV2ViIEluc3BlY3RvciwgY2xpY2sgb24gdGhlIHVub3JkZXJlZCBsaXN0IGJl
bG93LjwvbGk+Cis8bGk+SW4gdGhlIEFjY2Vzc2liaWxpdHkgSW5zcGVjdG9yLCB5b3Ugc2hvdWxk
IGJlIGFibGUgdG8gc2VlIHRoYXQgNSBvdXQgb2YgMTAgbm9kZXMgYXJlIHNob3dpbmcuIFRoZSBy
ZW1haW5pbmcgNSBhcmUgaGlkZGVuLiBJZiB5b3UgZG8gbm90IHNlZSB0aGlzLCB0aGUgdGVzdCBm
YWlscy48L2xpPgorPGxpPkluIHRoZSBBY2Nlc3NpYmlsaXR5IEluc3BlY3RvciBjbGljayBvbiAi
NSBtb3Jl4oCmIiB0byByZXZlYWwgdGhlIHJlbWFpbmluZyA1IG5vZGVzLjwvbGk+Cis8bGk+SWYg
dGhlIGNsaWNrIG9uIHRoZSBzYWlkIGxpbmsgZG9lcyBub3QgZnVuY3RvaW4gYXMgZGVzY3JpYmVk
IGluICM0LCB0aGUgdGVzdCBmYWlscy48L2xpPgorPC9vbD4KKworPHVsPgorPGxpPkl0ZW0gMTwv
bGk+Cis8bGk+SXRlbSAyPC9saT4KKzxsaT5JdGVtIDM8L2xpPgorPGxpPkl0ZW0gNDwvbGk+Cis8
bGk+SXRlbSA1PC9saT4KKzxsaT5JdGVtIDY8L2xpPgorPGxpPkl0ZW0gNzwvbGk+Cis8bGk+SXRl
bSA4PC9saT4KKzxsaT5JdGVtIDk8L2xpPgorPGxpPkl0ZW0gMTA8L2xpPgorPC91bD4KKworCis8
L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266432</attachid>
            <date>2015-12-01 23:43:25 -0800</date>
            <delta_ts>2015-12-06 15:30:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130911-20151201234302.patch</filename>
            <type>text/plain</type>
            <size>6985</size>
            <attacher name="Aaron Chu">aaron_chu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkyODYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA1
NTNmZDRhNjEwYjBhNjM0NTY3M2VjYzU2MTk4NWIzMTA2OWIzYzBhLi40ZWYzZDIwYmU4OTQ2OWIy
N2U2NjUzYmZkMzRiNmY0NmJlYWVkM2Y0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxNS0xMi0wMSAgQWFyb24gQ2h1ICA8YXJvbmEuY2h1QGdtYWlsLmNvbT4K
KyAgICAgICAgCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFYSTogbm9kZS1saW5rLWxpc3Qgc2hv
dWxkIGJlIGNvbGxhcHNpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMzA5MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBY2Nlc3NpYmlsaXR5IEluc3BlY3RvcjogZm9yIGEgdmVyeSBsb25nIGNoaWxk
cmVuIG5vZGUgbGlzdCwgb25seSB0aGUgZmlyc3QgNSBub2RlcyBhcmUgc2hvd24uCisgICAgICAg
IHJlbWFpbmluZyBub2RlcyBhcmUgaGlkZGVuIGJ5IGEgIiMgTW9yZeKApiIgbGluayBieSB3aGlj
aCBhIHVzZXIgY2FuIGNsaWNrIHRvIHJldmVhbCB0aGUgcmVtYWluZGVyCisgICAgICAgIG9mIHRo
ZSBub2RlIGxpc3QuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVEZXRh
aWxzU2lkZWJhclBhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTU5vZGVEZXRhaWxz
U2lkZWJhclBhbmVsLnByb3RvdHlwZS5fcmVmcmVzaEFjY2Vzc2liaWxpdHkubGlua0xpc3RGb3JO
b2RlSWRzKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL01haW4uY3NzOgorICAgICAg
ICAoLmxpc3QtY29udGFpbmVyIC5zaG93LWhpZGRlbi1ub2RlKToKKwogMjAxNS0xMS0zMCAgQnJp
YW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBzaG93
IHNvbWV0aGluZyB1c2VmdWwgd2hlbiB0aGUgaW5zcGVjdG9yIGZyb250ZW5kIGZhaWxzIHRvIGxv
YWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanMKaW5kZXggZTYx
Nzk5N2ViMGYxZGRkNGQxNGVmNTc4NzMwMGQzNzhlYTM5YzAwZi4uNzM4M2QzMzg4ZWI5NTRlYWFk
YzRhMThhMTk3ZjFhZWQ1OWFmNDk5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFpbHNT
aWRlYmFyUGFuZWwuanMKQEAgLTMwMiwyMyArMzAyLDYzIEBAIFdlYkluc3BlY3Rvci5ET01Ob2Rl
RGV0YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNzIERPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsIGV4
dGVuCiAgICAgICAgIGZ1bmN0aW9uIGxpbmtMaXN0Rm9yTm9kZUlkcyhub2RlSWRzKSB7CiAgICAg
ICAgICAgICB2YXIgaGFzTGlua3MgPSBmYWxzZTsKICAgICAgICAgICAgIHZhciBsaW5rTGlzdCA9
IG51bGw7CisgICAgICAgICAgICB2YXIgaW5pdGlhbEl0ZW1Db3VudCA9IDU7CisgICAgICAgICAg
ICB2YXIgbGlzdEl0ZW1Db3VudCA9IDA7CisgICAgICAgICAgICB2YXIgbm9kZTsKKyAgICAgICAg
ICAgIHZhciBsaW5rOworICAgICAgICAgICAgdmFyIGxpc3RpdGVtOworICAgICAgICAgICAgdmFy
IG5vZGVJZDsKKyAgICAgICAgICAgIHZhciBtb3JlTm9kZXM7CisgICAgICAgICAgICB2YXIgaW5p
dGlhbGx5SGlkZGVuSXRlbXMgPSBbXTsKKyAgICAgICAgICAgIHZhciBjb250YWluZXIgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICAgICAgICAgIGNvbnRhaW5lci5jbGFzc05h
bWUgPSAibGlzdC1jb250YWluZXIiOworCiAgICAgICAgICAgICBpZiAobm9kZUlkcyAhPT0gdW5k
ZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgbGlua0xpc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJ1bCIpOwogICAgICAgICAgICAgICAgIGxpbmtMaXN0LmNsYXNzTmFtZSA9ICJub2RlLWxp
bmstbGlzdCI7ICAgIAotICAgICAgICAgICAgICAgIGZvciAodmFyIG5vZGVJZCBvZiBub2RlSWRz
KSB7Ci0gICAgICAgICAgICAgICAgICAgIHZhciBub2RlID0gV2ViSW5zcGVjdG9yLmRvbVRyZWVN
YW5hZ2VyLm5vZGVGb3JJZChub2RlSWQpOworCisgICAgICAgICAgICAgICAgZm9yIChub2RlSWQg
b2Ygbm9kZUlkcykgeworICAgICAgICAgICAgICAgICAgICBub2RlID0gV2ViSW5zcGVjdG9yLmRv
bVRyZWVNYW5hZ2VyLm5vZGVGb3JJZChub2RlSWQpOwogICAgICAgICAgICAgICAgICAgICBpZiAo
bm9kZSkgewotICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGxpbmsgPSBXZWJJbnNwZWN0b3Iu
bGlua2lmeUFjY2Vzc2liaWxpdHlOb2RlUmVmZXJlbmNlKG5vZGUpOworICAgICAgICAgICAgICAg
ICAgICAgICAgbGluayA9IFdlYkluc3BlY3Rvci5saW5raWZ5QWNjZXNzaWJpbGl0eU5vZGVSZWZl
cmVuY2Uobm9kZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGluaykgewogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGhhc0xpbmtzID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2YXIgbGlzdGl0ZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaSIpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RpdGVtID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgibGkiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0aXRlbS5hcHBlbmRD
aGlsZChsaW5rKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsaXN0SXRlbUNv
dW50ID49IGluaXRpYWxJdGVtQ291bnQpIHsgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGxpc3RpdGVtLmNsYXNzTmFtZSArPSAiaGlkZGVuIjsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW5pdGlhbGx5SGlkZGVuSXRlbXMucHVzaChsaXN0aXRlbSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfSAKKwogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGxpbmtMaXN0LmFwcGVuZENoaWxkKGxpc3RpdGVtKTsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0SXRlbUNvdW50Kys7CiAgICAg
ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQobGlua0xpc3Qp
OworCisgICAgICAgICAgICAgICAgaWYgKGxpc3RJdGVtQ291bnQgPiBpbml0aWFsSXRlbUNvdW50
KSB7CisgICAgICAgICAgICAgICAgICAgIG1vcmVOb2RlcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInNwYW4iKTsKKyAgICAgICAgICAgICAgICAgICAgbW9yZU5vZGVzLmNsYXNzTmFtZSA9ICJz
aG93LWhpZGRlbi1ub2RlIjsKKyAgICAgICAgICAgICAgICAgICAgbW9yZU5vZGVzLmlubmVyVGV4
dCA9IChsaXN0SXRlbUNvdW50IC0gaW5pdGlhbEl0ZW1Db3VudCkgKyAiIE1vcmVcdTIwMjYiOwor
ICAgICAgICAgICAgICAgICAgICBtb3JlTm9kZXMuc2V0QXR0cmlidXRlKCJyb2xlIiwgImxpbmsi
KTsKKworICAgICAgICAgICAgICAgICAgICBtb3JlTm9kZXMuYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBmdW5jdGlvbiAoZXZ0KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsbHlI
aWRkZW5JdGVtcy5mb3JFYWNoKGZ1bmN0aW9uICh2YWx1ZSwgaW5kZXgpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB2YWx1ZS5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVy
LnJlbW92ZUNoaWxkKHRoaXMpOworICAgICAgICAgICAgICAgICAgICB9KTsKKworICAgICAgICAg
ICAgICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQobW9yZU5vZGVzKTsKKyAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXR1cm4gaGFzTGlua3MgPyBsaW5r
TGlzdCA6IG51bGw7CisgICAgICAgICAgICByZXR1cm4gaGFzTGlua3MgPyBjb250YWluZXIgOiBu
dWxsOworCisKICAgICAgICAgfQogCiAgICAgICAgIGZ1bmN0aW9uIGFjY2Vzc2liaWxpdHlQcm9w
ZXJ0aWVzQ2FsbGJhY2soYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMpIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL01haW4uY3NzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTWFpbi5jc3MKaW5kZXggMWM5OGMy
MGZkOWY5Nzg4OWI3NDk0Mzk5YTY1NzE2M2QxN2NhMzc3ZC4uN2FmMGQyMzYyNTJhZmUxMDlkZmYy
OTQ3NzFjZjcxNTliY2RlZjRkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvTWFpbi5jc3MKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvTWFpbi5jc3MKQEAgLTI5Niw2ICsyOTYsMTEgQEAgYm9keS53aW5k
b3ctaW5hY3RpdmUgI3NwbGl0LWNvbnRlbnQtYnJvd3NlciB7CiAgICAgZGlzcGxheTogbm9uZSAh
aW1wb3J0YW50OwogfQogCisubGlzdC1jb250YWluZXIgLnNob3ctaGlkZGVuLW5vZGUgeworICAg
IGN1cnNvcjogcG9pbnRlcjsKKyAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKK30KKwog
Lm5vZGUtbGluayB7CiAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgY3Vyc29y
OiBwb2ludGVyOwpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDk5MWEx
NzdjZTNkM2YwZWE5NGU2YWQ0YzY0MDNlYjM5OWRjYzljMzQuLjNiYzE0NGJhNGZhZTBiYjI3NDhk
ZGQ4M2NiMmMxZWU2YWZmNDRiY2YgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNS0xMi0wMSAgQWFyb24gQ2h1ICA8YXJvbmEuY2h1QGdt
YWlsLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBBWEk6IG5vZGUtbGluay1saXN0IHNo
b3VsZCBiZSBjb2xsYXBzaWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTMwOTExCisKKyAgICAgICAgQWRkZWQgYSBtYW51YWwgdGVzdCB0byB0ZXN0
IHRoZSBub2RlIGxpc3QgaW4gdGhlIEFjY2Vzc2liaWxpdHkgSW5zcGVjdG9yCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNYW51YWxUZXN0cy9hY2Nl
c3NpYmlsaXR5L2NvbGxhcHNpYmxlLW5vZGUtbGluay1saXN0Lmh0bWw6IEFkZGVkLgorCiAyMDE1
LTExLTIzICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBVbnJldmlld2VkLiBVcGRhdGUgT3B0aW9uc0dUSy5jbWFrZSBhbmQgTkVXUyBmb3IgMi4x
MS4yIHJlbGVhc2UuCmRpZmYgLS1naXQgYS9NYW51YWxUZXN0cy9hY2Nlc3NpYmlsaXR5L2NvbGxh
cHNpYmxlLW5vZGUtbGluay1saXN0Lmh0bWwgYi9NYW51YWxUZXN0cy9hY2Nlc3NpYmlsaXR5L2Nv
bGxhcHNpYmxlLW5vZGUtbGluay1saXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjk2ZmZkMjUzMTBiMmYw
YzE3NTBlMDcwMDllOTJhNzRlYzIxNTFkMQotLS0gL2Rldi9udWxsCisrKyBiL01hbnVhbFRlc3Rz
L2FjY2Vzc2liaWxpdHkvY29sbGFwc2libGUtbm9kZS1saW5rLWxpc3QuaHRtbApAQCAtMCwwICsx
LDI5IEBACis8aHRtbD4KKzxib2R5IGlkPSJib2R5Ij4KKworCis8cD5UZXN0IGZvciA8YSBocmVm
PSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwOTExIj5CdWcgMTMw
OTExOiBXZWIgSW5zcGVjdG9yOiBBWEk6IG5vZGUtbGluay1saXN0IHNob3VsZCBiZSBjb2xsYXBz
aWJsZTwvYT4uPC9wPgorPG9sPgorPGxpPk9wZW4gQWNjZXNzaWJpbGl0eSBJbnNwZWN0b3IuPC9s
aT4KKzxsaT5JbiBET00gdHJlZSBpbiB0aGUgV2ViIEluc3BlY3RvciwgY2xpY2sgb24gdGhlIHVu
b3JkZXJlZCBsaXN0IGJlbG93LjwvbGk+Cis8bGk+SW4gdGhlIEFjY2Vzc2liaWxpdHkgSW5zcGVj
dG9yLCB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gc2VlIHRoYXQgNSBvdXQgb2YgMTAgbm9kZXMgYXJl
IHNob3dpbmcuIFRoZSByZW1haW5pbmcgNSBhcmUgaGlkZGVuLiBJZiB5b3UgZG8gbm90IHNlZSB0
aGlzLCB0aGUgdGVzdCBmYWlscy48L2xpPgorPGxpPkluIHRoZSBBY2Nlc3NpYmlsaXR5IEluc3Bl
Y3RvciBjbGljayBvbiAiNSBtb3Jl4oCmIiB0byByZXZlYWwgdGhlIHJlbWFpbmluZyA1IG5vZGVz
LjwvbGk+Cis8bGk+SWYgdGhlIGNsaWNrIG9uIHRoZSBzYWlkIGxpbmsgZG9lcyBub3QgZnVuY3Rv
aW4gYXMgZGVzY3JpYmVkIGluICM0LCB0aGUgdGVzdCBmYWlscy48L2xpPgorPC9vbD4KKworPHVs
PgorPGxpPkl0ZW0gMTwvbGk+Cis8bGk+SXRlbSAyPC9saT4KKzxsaT5JdGVtIDM8L2xpPgorPGxp
Pkl0ZW0gNDwvbGk+Cis8bGk+SXRlbSA1PC9saT4KKzxsaT5JdGVtIDY8L2xpPgorPGxpPkl0ZW0g
NzwvbGk+Cis8bGk+SXRlbSA4PC9saT4KKzxsaT5JdGVtIDk8L2xpPgorPGxpPkl0ZW0gMTA8L2xp
PgorPC91bD4KKworCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266739</attachid>
            <date>2015-12-06 15:30:40 -0800</date>
            <delta_ts>2015-12-06 22:55:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130911-20151206153012.patch</filename>
            <type>text/plain</type>
            <size>5992</size>
            <attacher name="Aaron Chu">aaron_chu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkzNTEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBl
MTlhMTliNDNhOThiOGU2YTY4MzUxM2I0YmM4ZWFjMWI1NTZjNDdjLi5hMjgwNmQ1MmFmYzhjMGNi
OGQzZWNjMzYxYjA3NzQ0ZmM3MDQ0ZTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxNS0xMi0wNiAgQWFyb24gQ2h1ICA8YXJvbmEuY2h1QGdtYWlsLmNvbT4K
KworICAgICAgICBXZWIgSW5zcGVjdG9yOiBBWEk6IG5vZGUtbGluay1saXN0IHNob3VsZCBiZSBj
b2xsYXBzaWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTMwOTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWNjZXNzaWJpbGl0eSBJbnNwZWN0b3I6IGZvciBhIHZlcnkgbG9uZyBjaGlsZHJlbiBub2Rl
IGxpc3QsIG9ubHkgdGhlIGZpcnN0IDUgbm9kZXMgYXJlIHNob3duLgorICAgICAgICBSZW1haW5p
bmcgbm9kZXMgYXJlIGhpZGRlbiBieSBhICIjIE1vcmXigKYiIGJ1dHRvbiBieSB3aGljaCBhIHVz
ZXIgY2FuIGNsaWNrIHRvIHJldmVhbCB0aGUgcmVtYWluZGVyCisgICAgICAgIG9mIHRoZSBub2Rl
IGxpc3QuCisKKyAgICAgICAgKiBMb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmlu
Z3MuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9ET01Ob2RlRGV0YWlsc1NpZGVi
YXJQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01Ob2RlRGV0YWlsc1NpZGViYXJQ
YW5lbC5wcm90b3R5cGUuX3JlZnJlc2hBY2Nlc3NpYmlsaXR5LmxpbmtMaXN0Rm9yTm9kZUlkcyk6
CisKIDIwMTUtMTItMDQgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxOTM0ODYuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJp
bmdzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9j
YWxpemVkU3RyaW5ncy5qcwppbmRleCA0MjY1MDA0ZjA4Y2ZiYzBiYmU5ZjlkYTA3OTI5MWY5NDli
NGRmY2MzLi4zZjkxOGE0NGE1ZTlhY2Y0MTkzZjczM2MwMzRhZTVlYmY2MmE2MmE2IDEwMDY0NApH
SVQgYmluYXJ5IHBhdGNoCmRlbHRhIDgwCnpjbWV6Tmw7eSFRbUpMKGNFUFdhQjhIeU5FOERiYnA4
SF5ZVmZZXipkaTZORmpmeCNBdGxeOWVSUWgrb1RSZylqXgpQWUIlP0BaU1FBZU94RlBiNVpNdioK
CmRlbHRhIDE4CmFjbWFGeGpPRSk/bUpMKGNuKlh6SHxJZnlscn4/M0NZNiE7dwoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVEZXRh
aWxzU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanMKaW5kZXggZTYxNzk5N2ViMGYxZGRk
NGQxNGVmNTc4NzMwMGQzNzhlYTM5YzAwZi4uZmRhMDJkZjVmMmQ3ZjQ0OTNjZmNlNTBlNjllZTdm
ZmE0ZmEyZTFhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwu
anMKQEAgLTMwMCw4ICszMDAsMTMgQEAgV2ViSW5zcGVjdG9yLkRPTU5vZGVEZXRhaWxzU2lkZWJh
clBhbmVsID0gY2xhc3MgRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwgZXh0ZW4KICAgICAgICAg
fQogCiAgICAgICAgIGZ1bmN0aW9uIGxpbmtMaXN0Rm9yTm9kZUlkcyhub2RlSWRzKSB7CisgICAg
ICAgICAgICBjb25zdCBpdGVtc1RvU2hvdyA9IDU7CiAgICAgICAgICAgICB2YXIgaGFzTGlua3Mg
PSBmYWxzZTsKICAgICAgICAgICAgIHZhciBsaW5rTGlzdCA9IG51bGw7CisgICAgICAgICAgICB2
YXIgbGlzdEl0ZW1Db3VudCA9IDA7CisgICAgICAgICAgICB2YXIgaW5pdGlhbGx5SGlkZGVuSXRl
bXMgPSBbXTsKKyAgICAgICAgICAgIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJkaXYiKTsKKyAgICAgICAgICAgIGNvbnRhaW5lci5jbGFzc05hbWUgPSAibGlzdC1jb250
YWluZXIiOwogICAgICAgICAgICAgaWYgKG5vZGVJZHMgIT09IHVuZGVmaW5lZCkgewogICAgICAg
ICAgICAgICAgIGxpbmtMaXN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidWwiKTsKICAgICAg
ICAgICAgICAgICBsaW5rTGlzdC5jbGFzc05hbWUgPSAibm9kZS1saW5rLWxpc3QiOyAgICAKQEAg
LTMxMywxMiArMzE4LDI5IEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5l
bCA9IGNsYXNzIERPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsIGV4dGVuCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaGFzTGlua3MgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHZhciBsaXN0aXRlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIik7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbGlzdGl0ZW0uYXBwZW5kQ2hpbGQobGluayk7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKGxpc3RJdGVtQ291bnQgPj0gaXRlbXNUb1Nob3cpIHsg
ICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RpdGVtLmNsYXNzTmFtZSAr
PSAiaGlkZGVuIjsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbGx5SGlk
ZGVuSXRlbXMucHVzaChsaXN0aXRlbSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5rTGlzdC5hcHBlbmRDaGlsZChsaXN0aXRl
bSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdEl0ZW1Db3VudCsrOwogICAgICAg
ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChsaW5rTGlzdCk7Cisg
ICAgICAgICAgICAgICAgaWYgKGxpc3RJdGVtQ291bnQgPiBpdGVtc1RvU2hvdykgeworICAgICAg
ICAgICAgICAgICAgICB2YXIgbW9yZU5vZGVzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0
dG9uIik7CisgICAgICAgICAgICAgICAgICAgIG1vcmVOb2Rlcy5pbm5lclRleHQgPSBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIiVkIE1vcmVcdTIwMjYiKS5mb3JtYXQobGlzdEl0ZW1Db3VudCAtIGl0
ZW1zVG9TaG93KTsKKyAgICAgICAgICAgICAgICAgICAgbW9yZU5vZGVzLmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgZnVuY3Rpb24gKGV2dCkgeworICAgICAgICAgICAgICAgICAgICAgICAgaW5p
dGlhbGx5SGlkZGVuSXRlbXMuZm9yRWFjaChmdW5jdGlvbiAodmFsdWUsIGluZGV4KSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIik7
CisgICAgICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnRhaW5lci5yZW1vdmVDaGlsZCh0aGlzKTsKKyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICAgICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChtb3JlTm9kZXMpOworICAgICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiBoYXNMaW5rcyA/
IGxpbmtMaXN0IDogbnVsbDsKKyAgICAgICAgICAgIHJldHVybiBoYXNMaW5rcyA/IGNvbnRhaW5l
ciA6IG51bGw7CiAgICAgICAgIH0KIAogICAgICAgICBmdW5jdGlvbiBhY2Nlc3NpYmlsaXR5UHJv
cGVydGllc0NhbGxiYWNrKGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzKSB7CmRpZmYgLS1naXQgYS9D
aGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggNDllZDM1YWViMmI5ZWJjNjhlMzY0OWQyYTc2Zjcy
NzExMWJiZjA0Yi4uNDczZGQxYTM3YTM3MzAwN2RjMmYzN2Q4YTZmMjlmODcyYTE5Yjg1NyAxMDA2
NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1
LTEyLTA2ICBBYXJvbiBDaHUgIDxhcm9uYS5jaHVAZ21haWwuY29tPgorCisgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IEFYSTogbm9kZS1saW5rLWxpc3Qgc2hvdWxkIGJlIGNvbGxhcHNpYmxlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA5MTEKKworICAg
ICAgICBBZGRlZCBhIG1hbnVhbCB0ZXN0IHRvIHRlc3QgdGhlIG5vZGUgbGlzdCBpbiB0aGUgQWNj
ZXNzaWJpbGl0eSBJbnNwZWN0b3IKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIE1hbnVhbFRlc3RzL2FjY2Vzc2liaWxpdHkvY29sbGFwc2libGUtbm9k
ZS1saW5rLWxpc3QuaHRtbDogQWRkZWQuCisKIDIwMTUtMTItMDEgIFl1c3VrZSBTdXp1a2kgIDx1
dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgW0VTNl0gSW1wbGVtZW50IExMSW50L0Jh
c2VsaW5lIFN1cHBvcnQgZm9yIEVTNiBHZW5lcmF0b3JzIGFuZCBlbmFibGUgdGhpcyBmZWF0dXJl
CmRpZmYgLS1naXQgYS9NYW51YWxUZXN0cy9hY2Nlc3NpYmlsaXR5L2NvbGxhcHNpYmxlLW5vZGUt
bGluay1saXN0Lmh0bWwgYi9NYW51YWxUZXN0cy9hY2Nlc3NpYmlsaXR5L2NvbGxhcHNpYmxlLW5v
ZGUtbGluay1saXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTcxMjJjMGM4ZmJlOTQ0ZGI5YWU4NmU1N2Qy
ODcwMmMzODFjZDg3MgotLS0gL2Rldi9udWxsCisrKyBiL01hbnVhbFRlc3RzL2FjY2Vzc2liaWxp
dHkvY29sbGFwc2libGUtbm9kZS1saW5rLWxpc3QuaHRtbApAQCAtMCwwICsxLDI4IEBACis8aHRt
bD4KKzxib2R5PgorCisKKzxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA5MTEiPkJ1ZyAxMzA5MTE6IFdlYiBJbnNwZWN0b3I6IEFY
STogbm9kZS1saW5rLWxpc3Qgc2hvdWxkIGJlIGNvbGxhcHNpYmxlPC9hPi48L3A+Cis8b2w+Cis8
bGk+T3BlbiBBY2Nlc3NpYmlsaXR5IEluc3BlY3Rvci48L2xpPgorPGxpPkluIERPTSB0cmVlIGlu
IHRoZSBXZWIgSW5zcGVjdG9yLCBjbGljayBvbiB0aGUgdW5vcmRlcmVkIGxpc3QgYmVsb3cuPC9s
aT4KKzxsaT5JbiB0aGUgQWNjZXNzaWJpbGl0eSBJbnNwZWN0b3IsIHlvdSBzaG91bGQgYmUgYWJs
ZSB0byBzZWUgdGhhdCA1IG91dCBvZiAxMCBub2RlcyBhcmUgc2hvd2luZy4gVGhlIHJlbWFpbmlu
ZyA1IGFyZSBoaWRkZW4uIElmIHlvdSBkbyBub3Qgc2VlIHRoaXMsIHRoZSB0ZXN0IGZhaWxzLjwv
bGk+Cis8bGk+SW4gdGhlIEFjY2Vzc2liaWxpdHkgSW5zcGVjdG9yIGNsaWNrIG9uICI1IG1vcmXi
gKYiIHRvIHJldmVhbCB0aGUgcmVtYWluaW5nIDUgbm9kZXMuPC9saT4KKzxsaT5JZiB0aGUgY2xp
Y2sgb24gdGhlIHNhaWQgbGluayBkb2VzIG5vdCBmdW5jdG9pbiBhcyBkZXNjcmliZWQgaW4gIzQs
IHRoZSB0ZXN0IGZhaWxzLjwvbGk+Cis8L29sPgorCis8dWw+Cis8bGk+SXRlbSAxPC9saT4KKzxs
aT5JdGVtIDI8L2xpPgorPGxpPkl0ZW0gMzwvbGk+Cis8bGk+SXRlbSA0PC9saT4KKzxsaT5JdGVt
IDU8L2xpPgorPGxpPkl0ZW0gNjwvbGk+Cis8bGk+SXRlbSA3PC9saT4KKzxsaT5JdGVtIDg8L2xp
PgorPGxpPkl0ZW0gOTwvbGk+Cis8bGk+SXRlbSAxMDwvbGk+Cis8L3VsPgorCis8L2JvZHk+Cis8
L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266752</attachid>
            <date>2015-12-06 22:55:33 -0800</date>
            <delta_ts>2015-12-07 23:09:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130911-20151206225505.patch</filename>
            <type>text/plain</type>
            <size>7779</size>
            <attacher name="Aaron Chu">aaron_chu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkzNTEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBl
MTlhMTliNDNhOThiOGU2YTY4MzUxM2I0YmM4ZWFjMWI1NTZjNDdjLi4xZTBjZDNlNTAxZGNiNTI4
ODQ5OGI3MDBhOWFiMjNhNzliZTY2MDYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMSBAQAorMjAxNS0xMi0wNiAgQWFyb24gQ2h1ICA8YXJvbmEuY2h1QGdtYWlsLmNvbT4K
KworICAgICAgICBXZWIgSW5zcGVjdG9yOiBBWEk6IG5vZGUtbGluay1saXN0IHNob3VsZCBiZSBj
b2xsYXBzaWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTMwOTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWNjZXNzaWJpbGl0eSBJbnNwZWN0b3I6IGZvciBhIHZlcnkgbG9uZyBjaGlsZHJlbiBub2Rl
IGxpc3QsIG9ubHkgdGhlIGZpcnN0IDUgbm9kZXMgYXJlIHNob3duLgorICAgICAgICBSZW1haW5p
bmcgbm9kZXMgYXJlIGhpZGRlbiBieSBhICIjIE1vcmXigKYiIGxpbmsgYnkgd2hpY2ggYSB1c2Vy
IGNhbiBjbGljayB0byByZXZlYWwgdGhlIHJlbWFpbmRlcgorICAgICAgICBvZiB0aGUgbm9kZSBs
aXN0LgorCisKKyAgICAgICAgKiBMb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmlu
Z3MuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9ET01Ob2RlRGV0YWlsc1NpZGVi
YXJQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01Ob2RlRGV0YWlsc1NpZGViYXJQ
YW5lbC5wcm90b3R5cGUuX3JlZnJlc2hBY2Nlc3NpYmlsaXR5LmxpbmtMaXN0Rm9yTm9kZUlkcyk6
CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9NYWluLmNzczoKKyAgICAgICAgKC5leHBh
bmQtbGlzdC1idXR0b24pOgorCiAyMDE1LTEyLTA0ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVl
dWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTkzNDg2
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHBy
b2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRp
b25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggNDI2NTAwNGYwOGNmYmMwYmJl
OWY5ZGEwNzkyOTFmOTQ5YjRkZmNjMy4uM2Y5MThhNDRhNWU5YWNmNDE5M2Y3MzNjMDM0YWU1ZWJm
NjJhNjJhNiAxMDA2NDQKR0lUIGJpbmFyeSBwYXRjaApkZWx0YSA4MAp6Y21lek5sO3khUW1KTChj
RVBXYUI4SHlORThEYmJwOEheWVZmWV4qZGk2TkZqZngjQXRsXjllUlFoK29UUmcpal4KUFlCJT9A
WlNRQWVPeEZQYjVaTXYqCgpkZWx0YSAxOAphY21hRnhqT0UpP21KTChjbipYekh8SWZ5bHJ+PzND
WTYhO3cKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCmluZGV4
IGU2MTc5OTdlYjBmMWRkZDRkMTRlZjU3ODczMDBkMzc4ZWEzOWMwMGYuLmM3ODczZGRjNzQ0ODhj
MTEwZTYxMDM3NjFiOWJjZjBkMmYwMWZhODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVEZXRh
aWxzU2lkZWJhclBhbmVsLmpzCkBAIC0zMDAsMjUgKzMwMCw0OCBAQCBXZWJJbnNwZWN0b3IuRE9N
Tm9kZURldGFpbHNTaWRlYmFyUGFuZWwgPSBjbGFzcyBET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5l
bCBleHRlbgogICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24gbGlua0xpc3RGb3JOb2RlSWRz
KG5vZGVJZHMpIHsKKyAgICAgICAgICAgIGNvbnN0IGl0ZW1zVG9TaG93ID0gNTsKICAgICAgICAg
ICAgIHZhciBoYXNMaW5rcyA9IGZhbHNlOwotICAgICAgICAgICAgdmFyIGxpbmtMaXN0ID0gbnVs
bDsKLSAgICAgICAgICAgIGlmIChub2RlSWRzICE9PSB1bmRlZmluZWQpIHsKLSAgICAgICAgICAg
ICAgICBsaW5rTGlzdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInVsIik7Ci0gICAgICAgICAg
ICAgICAgbGlua0xpc3QuY2xhc3NOYW1lID0gIm5vZGUtbGluay1saXN0IjsgICAgCi0gICAgICAg
ICAgICAgICAgZm9yICh2YXIgbm9kZUlkIG9mIG5vZGVJZHMpIHsKLSAgICAgICAgICAgICAgICAg
ICAgdmFyIG5vZGUgPSBXZWJJbnNwZWN0b3IuZG9tVHJlZU1hbmFnZXIubm9kZUZvcklkKG5vZGVJ
ZCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChub2RlKSB7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICB2YXIgbGluayA9IFdlYkluc3BlY3Rvci5saW5raWZ5QWNjZXNzaWJpbGl0eU5vZGVSZWZl
cmVuY2Uobm9kZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAobGluaykgewotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGhhc0xpbmtzID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB2YXIgbGlzdGl0ZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaSIpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RpdGVtLmFwcGVuZENoaWxkKGxpbmspOwot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtMaXN0LmFwcGVuZENoaWxkKGxpc3RpdGVt
KTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHZhciBsaXN0SXRlbUNv
dW50ID0gMDsKKyAgICAgICAgICAgIGlmICghbm9kZUlkcykgcmV0dXJuIG51bGw7IAorICAgICAg
ICAgICAgdmFyIGxpbmtMaXN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidWwiKTsKKyAgICAg
ICAgICAgIGxpbmtMaXN0LmNsYXNzTmFtZSA9ICJub2RlLWxpbmstbGlzdCI7ICAKKyAgICAgICAg
ICAgIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICAg
ICAgICAgIGNvbnRhaW5lci5jbGFzc05hbWUgPSAibGlzdC1jb250YWluZXIiOworICAgICAgICAg
ICAgdmFyIGluaXRpYWxseUhpZGRlbkl0ZW1zID0gW107CisgICAgICAgICAgICBmb3IgKHZhciBu
b2RlSWQgb2Ygbm9kZUlkcykgeworICAgICAgICAgICAgICAgIHZhciBub2RlID0gV2ViSW5zcGVj
dG9yLmRvbVRyZWVNYW5hZ2VyLm5vZGVGb3JJZChub2RlSWQpOworICAgICAgICAgICAgICAgIGlm
IChub2RlKSB7CisgICAgICAgICAgICAgICAgICAgIHZhciBsaW5rID0gV2ViSW5zcGVjdG9yLmxp
bmtpZnlBY2Nlc3NpYmlsaXR5Tm9kZVJlZmVyZW5jZShub2RlKTsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKGxpbmspIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGhhc0xpbmtzID0gdHJ1ZTsK
KyAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsaXN0aXRlbSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImxpIik7CisgICAgICAgICAgICAgICAgICAgICAgICBsaXN0aXRlbS5hcHBlbmRDaGls
ZChsaW5rKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsaXN0SXRlbUNvdW50ID49IGl0
ZW1zVG9TaG93KSB7ICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RpdGVtLnNl
dEF0dHJpYnV0ZSgiaGlkZGVuIiwgdHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aW5pdGlhbGx5SGlkZGVuSXRlbXMucHVzaChsaXN0aXRlbSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICB9IAorICAgICAgICAgICAgICAgICAgICAgICAgbGlua0xpc3QuYXBwZW5kQ2hpbGQobGlz
dGl0ZW0pOworICAgICAgICAgICAgICAgICAgICAgICAgbGlzdEl0ZW1Db3VudCsrOwogICAgICAg
ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotICAgICAg
ICAgICAgcmV0dXJuIGhhc0xpbmtzID8gbGlua0xpc3QgOiBudWxsOworICAgICAgICAgICAgY29u
dGFpbmVyLmFwcGVuZENoaWxkKGxpbmtMaXN0KTsKKyAgICAgICAgICAgIGlmIChsaXN0SXRlbUNv
dW50ID4gaXRlbXNUb1Nob3cpIHsKKyAgICAgICAgICAgICAgICB2YXIgbW9yZU5vZGVzID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7CisgICAgICAgICAgICAgICAgbW9yZU5vZGVz
LmNsYXNzTmFtZSArPSAiIGV4cGFuZC1saXN0LWJ1dHRvbiI7CisgICAgICAgICAgICAgICAgbW9y
ZU5vZGVzLmlubmVyVGV4dCA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiJWQgTW9yZVx1MjAyNiIp
LmZvcm1hdChsaXN0SXRlbUNvdW50IC0gaXRlbXNUb1Nob3cpOworICAgICAgICAgICAgICAgIG1v
cmVOb2Rlcy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGZ1bmN0aW9uIChldnQpIHsKKyAgICAg
ICAgICAgICAgICAgICAgaW5pdGlhbGx5SGlkZGVuSXRlbXMuZm9yRWFjaChmdW5jdGlvbiAodmFs
dWUsIGluZGV4KSB7CisgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZS5zZXRBdHRyaWJ1dGUo
ImhpZGRlbiIsIGZhbHNlKTsKKyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAg
ICAgICAgIGNvbnRhaW5lci5yZW1vdmVDaGlsZCh0aGlzKTsKKyAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQobW9yZU5vZGVzKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIGlmIChoYXNMaW5rcyAmJiBjb250YWluZXIpIHsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gY29udGFpbmVyOworICAgICAgICAgICAgfQogICAgICAgICB9CiAK
ICAgICAgICAgZnVuY3Rpb24gYWNjZXNzaWJpbGl0eVByb3BlcnRpZXNDYWxsYmFjayhhY2Nlc3Np
YmlsaXR5UHJvcGVydGllcykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvTWFpbi5jc3MgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9NYWluLmNzcwppbmRleCAxYzk4YzIwZmQ5Zjk3ODg5Yjc0OTQzOTlhNjU3
MTYzZDE3Y2EzNzdkLi5jNzQ5MTIwMjFhMzU5OTA4YjZhNTExMjkzZDYzOGY3YWEyYzEyODUxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NYWlu
LmNzcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NYWlu
LmNzcwpAQCAtMjkyLDEwICsyOTIsMjIgQEAgYm9keS53aW5kb3ctaW5hY3RpdmUgI3NwbGl0LWNv
bnRlbnQtYnJvd3NlciB7CiAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL0ltYWdlcy9Hb1Rv
QXJyb3cuc3ZnI3NlbGVjdGVkLWFjdGl2ZSk7CiB9CiAKKy5ub2RlLWxpbmstbGlzdCBsaVtoaWRk
ZW49dHJ1ZV0sCiAuaGlkZGVuIHsKICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiB9CiAK
Ky5leHBhbmQtbGlzdC1idXR0b24geworICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKKyAg
ICBhcHBlYXJhbmNlOiBub25lOworICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOworICAg
IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OworICAgIHBhZGRpbmc6IDA7CisgICAgbWFy
Z2luOiAwOworICAgIGJvcmRlcjogMDsKKyAgICBjdXJzb3I6IHBvaW50ZXI7Cit9CisKIC5ub2Rl
LWxpbmsgewogICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgIGN1cnNvcjogcG9p
bnRlcjsKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA0OWVkMzVhZWIy
YjllYmM2OGUzNjQ5ZDJhNzZmNzI3MTExYmJmMDRiLi40NzNkZDFhMzdhMzczMDA3ZGMyZjM3ZDhh
NmYyOWY4NzJhMTliODU3IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTUtMTItMDYgIEFhcm9uIENodSAgPGFyb25hLmNodUBnbWFpbC5j
b20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQVhJOiBub2RlLWxpbmstbGlzdCBzaG91bGQg
YmUgY29sbGFwc2libGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEzMDkxMQorCisgICAgICAgIEFkZGVkIGEgbWFudWFsIHRlc3QgdG8gdGVzdCB0aGUg
bm9kZSBsaXN0IGluIHRoZSBBY2Nlc3NpYmlsaXR5IEluc3BlY3RvcgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTWFudWFsVGVzdHMvYWNjZXNzaWJp
bGl0eS9jb2xsYXBzaWJsZS1ub2RlLWxpbmstbGlzdC5odG1sOiBBZGRlZC4KKwogMjAxNS0xMi0w
MSAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBbRVM2
XSBJbXBsZW1lbnQgTExJbnQvQmFzZWxpbmUgU3VwcG9ydCBmb3IgRVM2IEdlbmVyYXRvcnMgYW5k
IGVuYWJsZSB0aGlzIGZlYXR1cmUKZGlmZiAtLWdpdCBhL01hbnVhbFRlc3RzL2FjY2Vzc2liaWxp
dHkvY29sbGFwc2libGUtbm9kZS1saW5rLWxpc3QuaHRtbCBiL01hbnVhbFRlc3RzL2FjY2Vzc2li
aWxpdHkvY29sbGFwc2libGUtbm9kZS1saW5rLWxpc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NzEyMmMw
YzhmYmU5NDRkYjlhZTg2ZTU3ZDI4NzAyYzM4MWNkODcyCi0tLSAvZGV2L251bGwKKysrIGIvTWFu
dWFsVGVzdHMvYWNjZXNzaWJpbGl0eS9jb2xsYXBzaWJsZS1ub2RlLWxpbmstbGlzdC5odG1sCkBA
IC0wLDAgKzEsMjggQEAKKzxodG1sPgorPGJvZHk+CisKKworPHA+VGVzdCBmb3IgPGEgaHJlZj0i
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMDkxMSI+QnVnIDEzMDkx
MTogV2ViIEluc3BlY3RvcjogQVhJOiBub2RlLWxpbmstbGlzdCBzaG91bGQgYmUgY29sbGFwc2li
bGU8L2E+LjwvcD4KKzxvbD4KKzxsaT5PcGVuIEFjY2Vzc2liaWxpdHkgSW5zcGVjdG9yLjwvbGk+
Cis8bGk+SW4gRE9NIHRyZWUgaW4gdGhlIFdlYiBJbnNwZWN0b3IsIGNsaWNrIG9uIHRoZSB1bm9y
ZGVyZWQgbGlzdCBiZWxvdy48L2xpPgorPGxpPkluIHRoZSBBY2Nlc3NpYmlsaXR5IEluc3BlY3Rv
ciwgeW91IHNob3VsZCBiZSBhYmxlIHRvIHNlZSB0aGF0IDUgb3V0IG9mIDEwIG5vZGVzIGFyZSBz
aG93aW5nLiBUaGUgcmVtYWluaW5nIDUgYXJlIGhpZGRlbi4gSWYgeW91IGRvIG5vdCBzZWUgdGhp
cywgdGhlIHRlc3QgZmFpbHMuPC9saT4KKzxsaT5JbiB0aGUgQWNjZXNzaWJpbGl0eSBJbnNwZWN0
b3IgY2xpY2sgb24gIjUgbW9yZeKApiIgdG8gcmV2ZWFsIHRoZSByZW1haW5pbmcgNSBub2Rlcy48
L2xpPgorPGxpPklmIHRoZSBjbGljayBvbiB0aGUgc2FpZCBsaW5rIGRvZXMgbm90IGZ1bmN0b2lu
IGFzIGRlc2NyaWJlZCBpbiAjNCwgdGhlIHRlc3QgZmFpbHMuPC9saT4KKzwvb2w+CisKKzx1bD4K
KzxsaT5JdGVtIDE8L2xpPgorPGxpPkl0ZW0gMjwvbGk+Cis8bGk+SXRlbSAzPC9saT4KKzxsaT5J
dGVtIDQ8L2xpPgorPGxpPkl0ZW0gNTwvbGk+Cis8bGk+SXRlbSA2PC9saT4KKzxsaT5JdGVtIDc8
L2xpPgorPGxpPkl0ZW0gODwvbGk+Cis8bGk+SXRlbSA5PC9saT4KKzxsaT5JdGVtIDEwPC9saT4K
KzwvdWw+CisKKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266844</attachid>
            <date>2015-12-07 23:09:55 -0800</date>
            <delta_ts>2016-01-11 01:40:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130911-20151207230926.patch</filename>
            <type>text/plain</type>
            <size>8955</size>
            <attacher name="Aaron Chu">aaron_chu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkzNjg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBm
NzViZGRmMmUwNDVlMGJjNzQ0NzliOTkyZDEyY2FhYWFlOGNhZjRhLi5mYWNlOGFjOWVhZmUyOWEz
ZWQ2YTY5NWNkOWJhMDNkMjU1NTk1NzRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAxNS0xMi0wNyAgQWFyb24gQ2h1ICA8YXJvbmEuY2h1QGdtYWlsLmNvbT4K
KworICAgICAgICBXZWIgSW5zcGVjdG9yOiBBWEk6IG5vZGUtbGluay1saXN0IHNob3VsZCBiZSBj
b2xsYXBzaWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTMwOTExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWNjZXNzaWJpbGl0eSBJbnNwZWN0b3I6IGZvciBhIHZlcnkgbG9uZyBjaGlsZHJlbiBub2Rl
IGxpc3QsIG9ubHkgdGhlIGZpcnN0IDUgbm9kZXMgYXJlIHNob3duLgorICAgICAgICBSZW1haW5p
bmcgbm9kZXMgYXJlIGhpZGRlbiBieSBhICIjIE1vcmXigKYiIGxpbmsgYnkgd2hpY2ggYSB1c2Vy
IGNhbiBjbGljayB0byByZXZlYWwgdGhlIHJlbWFpbmRlcgorICAgICAgICBvZiB0aGUgbm9kZSBs
aXN0LgorCisgICAgICAgICogTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdz
LmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFpbHNTaWRlYmFy
UGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NTm9kZURldGFpbHNTaWRlYmFyUGFu
ZWwucHJvdG90eXBlLl9yZWZyZXNoQWNjZXNzaWJpbGl0eS5saW5rTGlzdEZvck5vZGVJZHMpOgor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvTWFpbi5jc3M6CisgICAgICAgICguZXhwYW5k
LWxpc3QtYnV0dG9uKToKKwogMjAxNS0xMi0wNyAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNv
bT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBVbmNhdWdodCBFeGNlcHRpb24gcGFnZSBzaG91
bGQgaGF2ZSBiZXR0ZXIgc3R5bGVzIGFuZCBoYW5kbGUgbW9yZSBlcnJvciBjYXNlcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxp
emVkU3RyaW5ncy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxw
cm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggNDI2NTAwNGYwOGNmYmMwYmJlOWY5ZGEwNzky
OTFmOTQ5YjRkZmNjMy4uM2Y5MThhNDRhNWU5YWNmNDE5M2Y3MzNjMDM0YWU1ZWJmNjJhNjJhNiAx
MDA2NDQKR0lUIGJpbmFyeSBwYXRjaApkZWx0YSA4MAp6Y21lek5sO3khUW1KTChjRVBXYUI4SHlO
RThEYmJwOEheWVZmWV4qZGk2TkZqZngjQXRsXjllUlFoK29UUmcpal4KUFlCJT9AWlNRQWVPeEZQ
YjVaTXYqCgpkZWx0YSAxOAphY21hRnhqT0UpP21KTChjbipYekh8SWZ5bHJ+PzNDWTYhO3cKCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01O
b2RlRGV0YWlsc1NpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCmluZGV4IGU2MTc5OTdl
YjBmMWRkZDRkMTRlZjU3ODczMDBkMzc4ZWEzOWMwMGYuLjQyOGY1NDZmZGYzMDUwZGQ2ZDhhNWJl
ZjFiZjU3OTBkMTQzMDAwMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVEZXRhaWxzU2lkZWJh
clBhbmVsLmpzCkBAIC0yNzMsMTMgKzI3MywxNSBAQCBXZWJJbnNwZWN0b3IuRE9NTm9kZURldGFp
bHNTaWRlYmFyUGFuZWwgPSBjbGFzcyBET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbCBleHRlbgog
CiAgICAgICAgIHZhciBwcm9wZXJ0aWVzID0ge307CiAKLSAgICAgICAgZnVuY3Rpb24gYm9vbGVh
blZhbHVlVG9Mb2NhbGl6ZWRTdHJpbmdJZlRydWUocHJvcGVydHkpIHsKKyAgICAgICAgZnVuY3Rp
b24gYm9vbGVhblZhbHVlVG9Mb2NhbGl6ZWRTdHJpbmdJZlRydWUocHJvcGVydHkpIAorICAgICAg
ICB7CiAgICAgICAgICAgICBpZiAocHJvcGVydGllc1twcm9wZXJ0eV0pCiAgICAgICAgICAgICAg
ICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiWWVzIik7CiAgICAgICAgICAgICByZXR1
cm4gIiI7CiAgICAgICAgIH0KIAotICAgICAgICBmdW5jdGlvbiBib29sZWFuVmFsdWVUb0xvY2Fs
aXplZFN0cmluZ0lmUHJvcGVydHlEZWZpbmVkKHByb3BlcnR5KSB7CisgICAgICAgIGZ1bmN0aW9u
IGJvb2xlYW5WYWx1ZVRvTG9jYWxpemVkU3RyaW5nSWZQcm9wZXJ0eURlZmluZWQocHJvcGVydHkp
IAorICAgICAgICB7CiAgICAgICAgICAgICBpZiAocHJvcGVydGllc1twcm9wZXJ0eV0gIT09IHVu
ZGVmaW5lZCkgewogICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0aWVzW3Byb3BlcnR5XSkKICAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiWWVzIik7CkBA
IC0yODksNyArMjkxLDggQEAgV2ViSW5zcGVjdG9yLkRPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVs
ID0gY2xhc3MgRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwgZXh0ZW4KICAgICAgICAgICAgIHJl
dHVybiAiIjsKICAgICAgICAgfQogCi0gICAgICAgIGZ1bmN0aW9uIGxpbmtGb3JOb2RlSWQobm9k
ZUlkKSB7CisgICAgICAgIGZ1bmN0aW9uIGxpbmtGb3JOb2RlSWQobm9kZUlkKSAKKyAgICAgICAg
ewogICAgICAgICAgICAgdmFyIGxpbmsgPSBudWxsOwogICAgICAgICAgICAgaWYgKG5vZGVJZCAh
PT0gdW5kZWZpbmVkICYmIHR5cGVvZiBub2RlSWQgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICAg
ICAgICAgdmFyIG5vZGUgPSBXZWJJbnNwZWN0b3IuZG9tVHJlZU1hbmFnZXIubm9kZUZvcklkKG5v
ZGVJZCk7CkBAIC0yOTksMjkgKzMwMiw1MiBAQCBXZWJJbnNwZWN0b3IuRE9NTm9kZURldGFpbHNT
aWRlYmFyUGFuZWwgPSBjbGFzcyBET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbCBleHRlbgogICAg
ICAgICAgICAgcmV0dXJuIGxpbms7CiAgICAgICAgIH0KIAotICAgICAgICBmdW5jdGlvbiBsaW5r
TGlzdEZvck5vZGVJZHMobm9kZUlkcykgewotICAgICAgICAgICAgdmFyIGhhc0xpbmtzID0gZmFs
c2U7Ci0gICAgICAgICAgICB2YXIgbGlua0xpc3QgPSBudWxsOwotICAgICAgICAgICAgaWYgKG5v
ZGVJZHMgIT09IHVuZGVmaW5lZCkgewotICAgICAgICAgICAgICAgIGxpbmtMaXN0ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgidWwiKTsKLSAgICAgICAgICAgICAgICBsaW5rTGlzdC5jbGFzc05h
bWUgPSAibm9kZS1saW5rLWxpc3QiOyAgICAKLSAgICAgICAgICAgICAgICBmb3IgKHZhciBub2Rl
SWQgb2Ygbm9kZUlkcykgewotICAgICAgICAgICAgICAgICAgICB2YXIgbm9kZSA9IFdlYkluc3Bl
Y3Rvci5kb21UcmVlTWFuYWdlci5ub2RlRm9ySWQobm9kZUlkKTsKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKG5vZGUpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsaW5rID0gV2ViSW5z
cGVjdG9yLmxpbmtpZnlBY2Nlc3NpYmlsaXR5Tm9kZVJlZmVyZW5jZShub2RlKTsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIChsaW5rKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
aGFzTGlua3MgPSB0cnVlOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsaXN0aXRl
bSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIik7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbGlzdGl0ZW0uYXBwZW5kQ2hpbGQobGluayk7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbGlua0xpc3QuYXBwZW5kQ2hpbGQobGlzdGl0ZW0pOwotICAgICAgICAgICAgICAgICAg
ICAgICAgfQotICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgIGZ1bmN0aW9uIGxpbmtMaXN0
Rm9yTm9kZUlkcyhub2RlSWRzKSAKKyAgICAgICAgeworICAgICAgICAgICAgY29uc3QgaXRlbXNU
b1Nob3cgPSA1OworICAgICAgICAgICAgbGV0IGhhc0xpbmtzID0gZmFsc2U7CisgICAgICAgICAg
ICBsZXQgbGlzdEl0ZW1Db3VudCA9IDA7CisgICAgICAgICAgICBpZiAoIW5vZGVJZHMpIAorICAg
ICAgICAgICAgICAgIHJldHVybiBudWxsOyAKKyAgICAgICAgICAgIGxldCBsaW5rTGlzdCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInVsIik7CisgICAgICAgICAgICBsaW5rTGlzdC5jbGFzc05h
bWUgPSAibm9kZS1saW5rLWxpc3QiOyAgCisgICAgICAgICAgICBsZXQgY29udGFpbmVyID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgICAgICAgICBjb250YWluZXIuY2xhc3NO
YW1lID0gImxpc3QtY29udGFpbmVyIjsKKyAgICAgICAgICAgIGxldCBpbml0aWFsbHlIaWRkZW5J
dGVtcyA9IFtdOworICAgICAgICAgICAgZm9yIChsZXQgbm9kZUlkIG9mIG5vZGVJZHMpIHsKKyAg
ICAgICAgICAgICAgICBsZXQgbm9kZSA9IFdlYkluc3BlY3Rvci5kb21UcmVlTWFuYWdlci5ub2Rl
Rm9ySWQobm9kZUlkKTsKKyAgICAgICAgICAgICAgICBpZiAoIW5vZGUpCisgICAgICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIGxldCBsaW5rID0gV2ViSW5zcGVjdG9y
LmxpbmtpZnlBY2Nlc3NpYmlsaXR5Tm9kZVJlZmVyZW5jZShub2RlKTsKKyAgICAgICAgICAgICAg
ICBpZiAobGluaykgeworICAgICAgICAgICAgICAgICAgICBoYXNMaW5rcyA9IHRydWU7CisgICAg
ICAgICAgICAgICAgICAgIGxldCBsaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIik7Cisg
ICAgICAgICAgICAgICAgICAgIGxpLmFwcGVuZENoaWxkKGxpbmspOworICAgICAgICAgICAgICAg
ICAgICBpZiAobGlzdEl0ZW1Db3VudCA+PSBpdGVtc1RvU2hvdykgeyAgICAKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGxpLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpOworICAgICAgICAgICAgICAg
ICAgICAgICAgaW5pdGlhbGx5SGlkZGVuSXRlbXMucHVzaChsaSk7CisgICAgICAgICAgICAgICAg
ICAgIH0gCisgICAgICAgICAgICAgICAgICAgIGxpbmtMaXN0LmFwcGVuZENoaWxkKGxpKTsKKyAg
ICAgICAgICAgICAgICAgICAgbGlzdEl0ZW1Db3VudCsrOwogICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiBoYXNMaW5rcyA/IGxpbmtMaXN0IDogbnVs
bDsKKyAgICAgICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChsaW5rTGlzdCk7CisgICAgICAg
ICAgICBpZiAobGlzdEl0ZW1Db3VudCA+IGl0ZW1zVG9TaG93KSB7CisgICAgICAgICAgICAgICAg
bGV0IG1vcmVOb2RlcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpOworICAgICAg
ICAgICAgICAgIG1vcmVOb2Rlcy5jbGFzc0xpc3QuYWRkKCJleHBhbmQtbGlzdC1idXR0b24iKTsK
KyAgICAgICAgICAgICAgICBtb3JlTm9kZXMudGV4dENvbnRlbnQgPSBXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIiVkIE1vcmVcdTIwMjYiKS5mb3JtYXQobGlzdEl0ZW1Db3VudCAtIGl0ZW1zVG9TaG93
KTsKKyAgICAgICAgICAgICAgICBtb3JlTm9kZXMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAo
KSA9PiB7CisgICAgICAgICAgICAgICAgICAgIGluaXRpYWxseUhpZGRlbkl0ZW1zLmZvckVhY2go
KGVsZW1lbnQpID0+IHsgZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKTsgfSk7Cisg
ICAgICAgICAgICAgICAgICAgIG1vcmVOb2Rlcy5yZW1vdmUoKTsKKyAgICAgICAgICAgICAgICB9
KTsKKyAgICAgICAgICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQobW9yZU5vZGVzKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChoYXNMaW5rcyAmJiBjb250YWluZXIpIAorICAg
ICAgICAgICAgICAgIHJldHVybiBjb250YWluZXI7CiAgICAgICAgIH0KIAotICAgICAgICBmdW5j
dGlvbiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllc0NhbGxiYWNrKGFjY2Vzc2liaWxpdHlQcm9wZXJ0
aWVzKSB7CisgICAgICAgIGZ1bmN0aW9uIGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzQ2FsbGJhY2so
YWNjZXNzaWJpbGl0eVByb3BlcnRpZXMpIAorICAgICAgICB7CiAgICAgICAgICAgICBpZiAodGhp
cy5kb21Ob2RlICE9PSBkb21Ob2RlKQogICAgICAgICAgICAgICAgIHJldHVybjsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTWFpbi5jc3Mg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NYWluLmNzcwppbmRl
eCAxYzk4YzIwZmQ5Zjk3ODg5Yjc0OTQzOTlhNjU3MTYzZDE3Y2EzNzdkLi4wZTZlYTExODdmOGM4
ZmMzYjVmZTIxOWQ1YTJjNzRjMTY3YjQ5OGI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NYWluLmNzcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NYWluLmNzcwpAQCAtMjk2LDYgKzI5NiwxNiBAQCBi
b2R5LndpbmRvdy1pbmFjdGl2ZSAjc3BsaXQtY29udGVudC1icm93c2VyIHsKICAgICBkaXNwbGF5
OiBub25lICFpbXBvcnRhbnQ7CiB9CiAKKy5leHBhbmQtbGlzdC1idXR0b24geworICAgIC13ZWJr
aXQtYXBwZWFyYW5jZTogbm9uZTsKKyAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKKyAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKKyAgICBwYWRkaW5nOiAwOworICAgIG1h
cmdpbjogMDsKKyAgICBib3JkZXI6IDA7CisgICAgY3Vyc29yOiBwb2ludGVyOworfQorCiAubm9k
ZS1saW5rIHsKICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICBjdXJzb3I6IHBv
aW50ZXI7CmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggOTQyYTc3MTVl
MjBlZmY3NzFlNzcyY2FlZjE3N2M3NGYzM2Q1YzlkYi4uMmYxMGQwNWZlMTZmYzg4ZDU0OTk1OWM5
MzQwNTEzNDFlMDk2MjdmMiAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE0IEBACisyMDE1LTEyLTA3ICBBYXJvbiBDaHUgIDxhcm9uYS5jaHVAZ21haWwu
Y29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFYSTogbm9kZS1saW5rLWxpc3Qgc2hvdWxk
IGJlIGNvbGxhcHNpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMzA5MTEKKworICAgICAgICBBZGRlZCBhIG1hbnVhbCB0ZXN0IHRvIHRlc3QgdGhl
IG5vZGUgbGlzdCBpbiB0aGUgQWNjZXNzaWJpbGl0eSBJbnNwZWN0b3IKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE1hbnVhbFRlc3RzL2FjY2Vzc2li
aWxpdHkvY29sbGFwc2libGUtbm9kZS1saW5rLWxpc3QuaHRtbDogQWRkZWQuCisKIDIwMTUtMTIt
MDcgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBGaXggaW50ZXJuYWwgV2luZG93cyBidWlsZApkaWZmIC0tZ2l0IGEvTWFudWFsVGVzdHMvYWNj
ZXNzaWJpbGl0eS9jb2xsYXBzaWJsZS1ub2RlLWxpbmstbGlzdC5odG1sIGIvTWFudWFsVGVzdHMv
YWNjZXNzaWJpbGl0eS9jb2xsYXBzaWJsZS1ub2RlLWxpbmstbGlzdC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjZlMTA3MmZkMmI4MmYwZmUzN2I5ZmUzYzhjNGVmMTU3NGI3OGE2MzgKLS0tIC9kZXYvbnVsbAor
KysgYi9NYW51YWxUZXN0cy9hY2Nlc3NpYmlsaXR5L2NvbGxhcHNpYmxlLW5vZGUtbGluay1saXN0
Lmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPGh0bWw+Cis8Ym9keT4KKworCis8cD5UZXN0IGZvciA8
YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwOTExIj5C
dWcgMTMwOTExOiBXZWIgSW5zcGVjdG9yOiBBWEk6IG5vZGUtbGluay1saXN0IHNob3VsZCBiZSBj
b2xsYXBzaWJsZTwvYT4uPC9wPgorPG9sPgorPGxpPk9wZW4gQWNjZXNzaWJpbGl0eSBJbnNwZWN0
b3IuPC9saT4KKzxsaT5JbiBET00gdHJlZSBpbiB0aGUgV2ViIEluc3BlY3RvciwgY2xpY2sgb24g
dGhlIHVub3JkZXJlZCBsaXN0IGJlbG93LjwvbGk+Cis8bGk+SW4gdGhlIEFjY2Vzc2liaWxpdHkg
SW5zcGVjdG9yLCB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gc2VlIHRoYXQgNSBvdXQgb2YgMTAgbm9k
ZXMgYXJlIHNob3dpbmcuIFRoZSByZW1haW5pbmcgNSBhcmUgaGlkZGVuLiBJZiB5b3UgZG8gbm90
IHNlZSB0aGlzLCB0aGUgdGVzdCBmYWlscy48L2xpPgorPGxpPkluIHRoZSBBY2Nlc3NpYmlsaXR5
IEluc3BlY3RvciBjbGljayBvbiAiNSBtb3Jl4oCmIiB0byByZXZlYWwgdGhlIHJlbWFpbmluZyA1
IG5vZGVzLjwvbGk+Cis8bGk+SWYgdGhlIGNsaWNrIG9uIHRoZSBzYWlkIGxpbmsgZG9lcyBub3Qg
ZnVuY3Rpb24gYXMgZGVzY3JpYmVkIGluICM0LCB0aGUgdGVzdCBmYWlscy48L2xpPgorPC9vbD4K
KworPHVsPgorPGxpPkl0ZW0gMTwvbGk+Cis8bGk+SXRlbSAyPC9saT4KKzxsaT5JdGVtIDM8L2xp
PgorPGxpPkl0ZW0gNDwvbGk+Cis8bGk+SXRlbSA1PC9saT4KKzxsaT5JdGVtIDY8L2xpPgorPGxp
Pkl0ZW0gNzwvbGk+Cis8bGk+SXRlbSA4PC9saT4KKzxsaT5JdGVtIDk8L2xpPgorPGxpPkl0ZW0g
MTA8L2xpPgorPC91bD4KKworPHNwYW4gaGlkZGVuPnRlc3Q8L3NwYW4+CisKKzwvYm9keT4KKzwv
aHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268680</attachid>
            <date>2016-01-11 01:40:20 -0800</date>
            <delta_ts>2016-01-15 21:08:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130911-20160111013948.patch</filename>
            <type>text/plain</type>
            <size>8577</size>
            <attacher name="Aaron Chu">aaron_chu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk0ODM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA3
MmQ5OTNlMWI0YzAzOTMzZDAyODhkZTQ2YjlhNjc0YmIyODdmYTM4Li43YWU5Njk0ZjM0NzI2MmQ4
YmJmNThhMDIxMWM0MmE5YTY0N2FjNWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzOSBAQAorMjAxNi0wMS0xMSAgQWFyb24gQ2h1ICA8YXJvbmEuY2h1QGdtYWlsLmNvbT4K
KworICAgICAgICBXZWIgSW5zcGVjdG9yOiBBWEk6IG5vZGUtbGluay1saXN0IHNob3VsZCBiZSBj
b2xsYXBzaWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTMwOTExCisgICAgICAgIAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBY2Nlc3NpYmlsaXR5IEluc3BlY3RvcjogZm9yIGEgdmVyeSBsb25nIGNoaWxk
cmVuIG5vZGUgbGlzdCwgb25seSB0aGUgZmlyc3QgNSBub2RlcyBhcmUgc2hvd24uCisgICAgICAg
IFJlbWFpbmluZyBub2RlcyBhcmUgaGlkZGVuIGJ5IGEgIiMgTW9yZeKApiIgbGluayBieSB3aGlj
aCBhIHVzZXIgY2FuIGNsaWNrIHRvIHJldmVhbCB0aGUgcmVtYWluZGVyIAorICAgICAgICBvZiB0
aGUgbm9kZSBsaXN0LgorCisgICAgICAgICogTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6
ZWRTdHJpbmdzLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFp
bHNTaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NTm9kZURldGFpbHNT
aWRlYmFyUGFuZWwucHJvdG90eXBlLl9yZWZyZXNoQWNjZXNzaWJpbGl0eS5saW5rTGlzdEZvck5v
ZGVJZHMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVs
LnByb3RvdHlwZS5fcmVmcmVzaEFjY2Vzc2liaWxpdHkuYWNjZXNzaWJpbGl0eVByb3BlcnRpZXND
YWxsYmFjayk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NTm9kZURldGFpbHNTaWRlYmFyUGFu
ZWwucHJvdG90eXBlLl9yZWZyZXNoQWNjZXNzaWJpbGl0eSk6CisgICAgICAgICogVXNlckludGVy
ZmFjZS9WaWV3cy9NYWluLmNzczoKKyAgICAgICAgKC5leHBhbmQtbGlzdC1idXR0b24pOgorICAg
ICAgICAoLm5vZGUtbGluay1saXN0LCAubm9kZS1saW5rLWxpc3QgbGk6bm90KFtoaWRkZW5dKSk6
CisgICAgICAgICgubm9kZS1saW5rLWxpc3QsIC5ub2RlLWxpbmstbGlzdCBsaSk6IERlbGV0ZWQu
CisKKzIwMTYtMDEtMTEgIEFhcm9uIENodSAgPGFyb25hLmNodUBnbWFpbC5jb20+CisKKyAgICAg
ICAgTmVlZCBhIHNob3J0IGRlc2NyaXB0aW9uIChPT1BTISkuCisgICAgICAgIE5lZWQgdGhlIGJ1
ZyBVUkwgKE9PUFMhKS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIExvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qczoKKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLnByb3Rv
dHlwZS5fcmVmcmVzaEFjY2Vzc2liaWxpdHkubGlua0xpc3RGb3JOb2RlSWRzKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUuX3JlZnJl
c2hBY2Nlc3NpYmlsaXR5LmFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzQ2FsbGJhY2spOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkRPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fcmVm
cmVzaEFjY2Vzc2liaWxpdHkpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvTWFpbi5j
c3M6CisgICAgICAgICguZXhwYW5kLWxpc3QtYnV0dG9uKToKKwogMjAxNi0wMS0xMCAgSm9zZXBo
IFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IFVuY2F1Z2h0IEV4Y2VwdGlvbiBzZWxlY3RpbmcgSW5kZXhlZERCIGhvc3QgZm9sZGVyIGluIFN0
b3JhZ2UgdGFiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9u
cy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0xv
Y2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwppbmRleCBiZmZmNDRiMjhj
ZjM1MTlkOGNkZjMzM2JmZDExOGNhNzgyZjVjYmRjLi4xM2U0N2IyMDhmOTliM2M5ZGFlZmQzMjFj
YTE3YzVhZDliNTNmNWY4IDEwMDY0NApHSVQgYmluYXJ5IHBhdGNoCmRlbHRhIDgxCnpjbVhAbiUo
fChDYndkOCtlbHw4c1V4c3shQjhGNms3PX1eP0JMKUs/SGUqbT9oLUZZPHVteGZ6MjMzWD5BZE4t
VQpQPE9qVWtqcm0qaTg2ekQ1PE1hYDQKCmRlbHRhIDE1CldjbWRuZyFnYHthYndZbVEmODteWEJP
TCljRiRXRisKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCmlu
ZGV4IGNiNzczNjk4NjYzMzM3YTg3MzJmZmQ0NWI4ZDBlOTczM2M4ZjA1NTcuLmUyMzE2YWRhOGZj
OWU4YmMyMmUxNTM4NzMxZjVkNTM0ZTBmZmRlN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVE
ZXRhaWxzU2lkZWJhclBhbmVsLmpzCkBAIC0zMDAsMjUgKzMwMCw0NyBAQCBXZWJJbnNwZWN0b3Iu
RE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwgPSBjbGFzcyBET01Ob2RlRGV0YWlsc1NpZGViYXJQ
YW5lbCBleHRlbgogICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24gbGlua0xpc3RGb3JOb2Rl
SWRzKG5vZGVJZHMpIHsKLSAgICAgICAgICAgIHZhciBoYXNMaW5rcyA9IGZhbHNlOwotICAgICAg
ICAgICAgdmFyIGxpbmtMaXN0ID0gbnVsbDsKLSAgICAgICAgICAgIGlmIChub2RlSWRzICE9PSB1
bmRlZmluZWQpIHsKLSAgICAgICAgICAgICAgICBsaW5rTGlzdCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInVsIik7Ci0gICAgICAgICAgICAgICAgbGlua0xpc3QuY2xhc3NOYW1lID0gIm5vZGUt
bGluay1saXN0IjsgICAgCi0gICAgICAgICAgICAgICAgZm9yICh2YXIgbm9kZUlkIG9mIG5vZGVJ
ZHMpIHsKLSAgICAgICAgICAgICAgICAgICAgdmFyIG5vZGUgPSBXZWJJbnNwZWN0b3IuZG9tVHJl
ZU1hbmFnZXIubm9kZUZvcklkKG5vZGVJZCk7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChub2Rl
KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGluayA9IFdlYkluc3BlY3Rvci5saW5r
aWZ5QWNjZXNzaWJpbGl0eU5vZGVSZWZlcmVuY2Uobm9kZSk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBpZiAobGluaykgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0xpbmtzID0g
dHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgbGlzdGl0ZW0gPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJsaSIpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Rp
dGVtLmFwcGVuZENoaWxkKGxpbmspOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtM
aXN0LmFwcGVuZENoaWxkKGxpc3RpdGVtKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKCFub2RlSWRzKSAKKyAgICAgICAg
ICAgICAgICByZXR1cm4gbnVsbDsKKworICAgICAgICAgICAgY29uc3QgaXRlbXNUb1Nob3cgPSA1
OworICAgICAgICAgICAgbGV0IGhhc0xpbmtzID0gZmFsc2U7CisgICAgICAgICAgICBsZXQgbGlz
dEl0ZW1Db3VudCA9IDA7CisgICAgICAgICAgICBsZXQgY29udGFpbmVyID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiZGl2Iik7CisgICAgICAgICAgICBjb250YWluZXIuY2xhc3NOYW1lID0gImxp
c3QtY29udGFpbmVyIjsKKyAgICAgICAgICAgIGxldCBsaW5rTGlzdCA9IGNvbnRhaW5lci5jcmVh
dGVDaGlsZCgidWwiLCAibm9kZS1saW5rLWxpc3QiKTsgICAgICAgICAgICAKKyAgICAgICAgICAg
IGxldCBpbml0aWFsbHlIaWRkZW5JdGVtcyA9IFtdOworICAgICAgICAgICAgZm9yIChsZXQgbm9k
ZUlkIG9mIG5vZGVJZHMpIHsKKyAgICAgICAgICAgICAgICBsZXQgbm9kZSA9IFdlYkluc3BlY3Rv
ci5kb21UcmVlTWFuYWdlci5ub2RlRm9ySWQobm9kZUlkKTsKKyAgICAgICAgICAgICAgICBpZiAo
IW5vZGUpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIGxl
dCBsaW5rID0gV2ViSW5zcGVjdG9yLmxpbmtpZnlBY2Nlc3NpYmlsaXR5Tm9kZVJlZmVyZW5jZShu
b2RlKTsKKyAgICAgICAgICAgICAgICBpZiAobGluaykgeworICAgICAgICAgICAgICAgICAgICBo
YXNMaW5rcyA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgIGxldCBsaSA9IGxpbmtMaXN0LmNy
ZWF0ZUNoaWxkKCJsaSIpOworICAgICAgICAgICAgICAgICAgICBsaS5hcHBlbmRDaGlsZChsaW5r
KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGxpc3RJdGVtQ291bnQgPj0gaXRlbXNUb1Nob3cp
IHsgIAorICAgICAgICAgICAgICAgICAgICAgICAgbGkuc2V0QXR0cmlidXRlKCJoaWRkZW4iLCAi
Iik7CisgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsbHlIaWRkZW5JdGVtcy5wdXNoKGxp
KTsKKyAgICAgICAgICAgICAgICAgICAgfSAKKyAgICAgICAgICAgICAgICAgICAgbGlzdEl0ZW1D
b3VudCsrOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJl
dHVybiBoYXNMaW5rcyA/IGxpbmtMaXN0IDogbnVsbDsKKyAgICAgICAgICAgIGNvbnRhaW5lci5h
cHBlbmRDaGlsZChsaW5rTGlzdCk7CisgICAgICAgICAgICBpZiAobGlzdEl0ZW1Db3VudCA+IGl0
ZW1zVG9TaG93KSB7CisgICAgICAgICAgICAgICAgbGV0IG1vcmVOb2RlcyA9IGNvbnRhaW5lci5j
cmVhdGVDaGlsZCgiYnV0dG9uIik7CisgICAgICAgICAgICAgICAgbW9yZU5vZGVzLmNsYXNzTGlz
dC5hZGQoImV4cGFuZC1saXN0LWJ1dHRvbiIpOworICAgICAgICAgICAgICAgIG1vcmVOb2Rlcy50
ZXh0Q29udGVudCA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiJWQgTW9yZVx1MjAyNiIpLmZvcm1h
dChsaXN0SXRlbUNvdW50IC0gaXRlbXNUb1Nob3cpOworICAgICAgICAgICAgICAgIG1vcmVOb2Rl
cy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAg
aW5pdGlhbGx5SGlkZGVuSXRlbXMuZm9yRWFjaCgoZWxlbWVudCkgPT4gZWxlbWVudC5yZW1vdmVB
dHRyaWJ1dGUoImhpZGRlbiIpKTsKKyAgICAgICAgICAgICAgICAgICAgbW9yZU5vZGVzLnJlbW92
ZSgpOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYg
KGhhc0xpbmtzKSAKKyAgICAgICAgICAgICAgICByZXR1cm4gY29udGFpbmVyOworCisgICAgICAg
ICAgICByZXR1cm4gbnVsbDsKKwogICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24gYWNjZXNz
aWJpbGl0eVByb3BlcnRpZXNDYWxsYmFjayhhY2Nlc3NpYmlsaXR5UHJvcGVydGllcykgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTWFpbi5j
c3MgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NYWluLmNzcwpp
bmRleCBhYmQ5YmVjMjRkYzU0YjcxNzdiM2ViZmIzNjdmZWVmOGQ3ZjExOGFkLi45ZGYwOTkxY2Ey
ZDIxNzE5ZTE0MjdmNGQwZWEyOGQwMDRiNzYwNWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NYWluLmNzcworKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NYWluLmNzcwpAQCAtMzA1LDEyICszMDUsMjIg
QEAgYm9keS53aW5kb3ctaW5hY3RpdmUgI3NwbGl0LWNvbnRlbnQtYnJvd3NlciB7CiAgICAgZGlz
cGxheTogbm9uZSAhaW1wb3J0YW50OwogfQogCisuZXhwYW5kLWxpc3QtYnV0dG9uIHsKKyAgICAt
d2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CisgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7
CisgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CisgICAgcGFkZGluZzogMDsKKyAg
ICBtYXJnaW46IDA7CisgICAgYm9yZGVyOiAwOworICAgIGN1cnNvcjogcG9pbnRlcjsKK30KKwog
Lm5vZGUtbGluayB7CiAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgY3Vyc29y
OiBwb2ludGVyOwogfQogCi0ubm9kZS1saW5rLWxpc3QsIC5ub2RlLWxpbmstbGlzdCBsaSB7Cisu
bm9kZS1saW5rLWxpc3QsIC5ub2RlLWxpbmstbGlzdCBsaTpub3QoW2hpZGRlbl0pIHsKICAgICBk
aXNwbGF5OiBibG9jazsKICAgICBtYXJnaW46IDA7CiAgICAgcGFkZGluZzogMDsKZGlmZiAtLWdp
dCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAwZmQxMmZiYWRhMjM3OWYzYjhjOTI5Nzg2
MTkwNDBkMjAzMDdmMGJjLi5kODY4OGU5YzQzOTgwM2IxMzZlY2ZkNDI1ZWVjNTk1ZjIxMWRmZTNk
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTYtMDEtMTEgIEFhcm9uIENodSAgPGFyb25hLmNodUBnbWFpbC5jb20+CisKKyAgICAgICAg
V2ViIEluc3BlY3RvcjogQVhJOiBub2RlLWxpbmstbGlzdCBzaG91bGQgYmUgY29sbGFwc2libGUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMDkxMQor
ICAgICAgICAKKyAgICAgICAgQWRkZWQgYSBtYW51YWwgdGVzdCB0byB0ZXN0IHRoZSBub2RlIGxp
c3QgaW4gdGhlIEFjY2Vzc2liaWxpdHkgSW5zcGVjdG9yCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNYW51YWxUZXN0cy9hY2Nlc3NpYmlsaXR5L2Nv
bGxhcHNpYmxlLW5vZGUtbGluay1saXN0Lmh0bWw6IEFkZGVkLgorCiAyMDE2LTAxLTA4ICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IGlu
dGVybmFsIFdpbmRvd3MgYnVpbGQKZGlmZiAtLWdpdCBhL01hbnVhbFRlc3RzL2FjY2Vzc2liaWxp
dHkvY29sbGFwc2libGUtbm9kZS1saW5rLWxpc3QuaHRtbCBiL01hbnVhbFRlc3RzL2FjY2Vzc2li
aWxpdHkvY29sbGFwc2libGUtbm9kZS1saW5rLWxpc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNmFkMzM0
NWM2ZTAwMDNkZWJiMmUwODQ0NTliYTQxNWFmMTkyYjJjCi0tLSAvZGV2L251bGwKKysrIGIvTWFu
dWFsVGVzdHMvYWNjZXNzaWJpbGl0eS9jb2xsYXBzaWJsZS1ub2RlLWxpbmstbGlzdC5odG1sCkBA
IC0wLDAgKzEsMjggQEAKKzxodG1sPgorPGJvZHk+CisKKworPHA+VGVzdCBmb3IgPGEgaHJlZj0i
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMDkxMSI+QnVnIDEzMDkx
MTogV2ViIEluc3BlY3RvcjogQVhJOiBub2RlLWxpbmstbGlzdCBzaG91bGQgYmUgY29sbGFwc2li
bGU8L2E+LjwvcD4KKzxvbD4KKzxsaT5PcGVuIEFjY2Vzc2liaWxpdHkgSW5zcGVjdG9yLjwvbGk+
Cis8bGk+SW4gRE9NIHRyZWUgaW4gdGhlIFdlYiBJbnNwZWN0b3IsIGNsaWNrIG9uIHRoZSB1bm9y
ZGVyZWQgbGlzdCBiZWxvdy48L2xpPgorPGxpPkluIHRoZSBBY2Nlc3NpYmlsaXR5IEluc3BlY3Rv
ciwgeW91IHNob3VsZCBiZSBhYmxlIHRvIHNlZSB0aGF0IDUgb3V0IG9mIDEwIG5vZGVzIGFyZSBz
aG93aW5nLiBUaGUgcmVtYWluaW5nIDUgYXJlIGhpZGRlbi4gSWYgeW91IGRvIG5vdCBzZWUgdGhp
cywgdGhlIHRlc3QgZmFpbHMuPC9saT4KKzxsaT5JbiB0aGUgQWNjZXNzaWJpbGl0eSBJbnNwZWN0
b3IgY2xpY2sgb24gIjUgbW9yZeKApiIgdG8gcmV2ZWFsIHRoZSByZW1haW5pbmcgNSBub2Rlcy48
L2xpPgorPGxpPklmIHRoZSBjbGljayBvbiB0aGUgc2FpZCBsaW5rIGRvZXMgbm90IGZ1bmN0aW9u
IGFzIGRlc2NyaWJlZCBpbiAjNCwgdGhlIHRlc3QgZmFpbHMuPC9saT4KKzwvb2w+CisKKzx1bD4K
KzxsaT5JdGVtIDE8L2xpPgorPGxpPkl0ZW0gMjwvbGk+Cis8bGk+SXRlbSAzPC9saT4KKzxsaT5J
dGVtIDQ8L2xpPgorPGxpPkl0ZW0gNTwvbGk+Cis8bGk+SXRlbSA2PC9saT4KKzxsaT5JdGVtIDc8
L2xpPgorPGxpPkl0ZW0gODwvbGk+Cis8bGk+SXRlbSA5PC9saT4KKzxsaT5JdGVtIDEwPC9saT4K
KzwvdWw+CisKKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>269146</attachid>
            <date>2016-01-15 21:08:41 -0800</date>
            <delta_ts>2016-01-19 23:10:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130911-20160115210811.patch</filename>
            <type>text/plain</type>
            <size>7751</size>
            <attacher name="Aaron Chu">aaron_chu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk1MTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBk
OWNlNjgxZWIzZmY1NDc1Mjk4YWQwMDBjMGE3ZGZiNjcxNGUyMDRkLi40MGNiODIwNzM0ZjNlNDc2
ZWNiNjRiNTU3N2Y5MTQzNWU3N2U2NjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxNi0wMS0xNCAgQWFyb24gQ2h1ICA8YXJvbmEuY2h1QGdtYWlsLmNvbT4K
KworICAgICAgICBXZWIgSW5zcGVjdG9yOiBBWEk6IG5vZGUtbGluay1saXN0IHNob3VsZCBiZSBj
b2xsYXBzaWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTMwOTExCisgICAgICAgIAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBY2Nlc3NpYmlsaXR5IEluc3BlY3RvcjogZm9yIGEgdmVyeSBsb25nIGNoaWxk
cmVuIG5vZGUgbGlzdCwgb25seSB0aGUgZmlyc3QgNSBub2RlcyBhcmUgc2hvd24uCisgICAgICAg
IFJlbWFpbmluZyBub2RlcyBhcmUgaGlkZGVuIGJ5IGEgIiMgTW9yZeKApiIgbGluayBieSB3aGlj
aCBhIHVzZXIgY2FuIGNsaWNrIHRvIHJldmVhbCB0aGUgcmVtYWluZGVyIAorICAgICAgICBvZiB0
aGUgbm9kZSBsaXN0LgorCisgICAgICAgICogTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6
ZWRTdHJpbmdzLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFp
bHNTaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NTm9kZURldGFpbHNT
aWRlYmFyUGFuZWwucHJvdG90eXBlLl9yZWZyZXNoQWNjZXNzaWJpbGl0eS5saW5rTGlzdEZvck5v
ZGVJZHMpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvTWFpbi5jc3M6CisgICAgICAg
ICguZXhwYW5kLWxpc3QtYnV0dG9uKToKKyAgICAgICAgKC5ub2RlLWxpbmstbGlzdCwgLm5vZGUt
bGluay1saXN0IGxpOm5vdChbaGlkZGVuXSkpOgorICAgICAgICAoLm5vZGUtbGluay1saXN0LCAu
bm9kZS1saW5rLWxpc3QgbGkpOiBEZWxldGVkLgorCiAyMDE2LTAxLTEzICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogSW5zcGVj
dG9yIHNob3VsZCB1c2UgdGhlIGxhc3Qgc291cmNlVVJMIC8gc291cmNlTWFwcGluZ1VSTCBkaXJl
Y3RpdmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2Vu
Lmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxp
emF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IGRiNDQzMzMyZDQwOTY1
MzZiMDU5MzFjNDE1OGFlMWRmMDFmYzFkYWQuLmVjMjQ4MThhYTQ1YzhiYzc4ZjhiMzg5OTkwZjE3
ZDdjOWVlM2U2MGMgMTAwNjQ0CkdJVCBiaW5hcnkgcGF0Y2gKZGVsdGEgMTI4CnpjbWV5PyV6QzRS
YndkOCtlbHw4c1V4c3shQjhGNms3PX1eP0JMKUs/SGUqbT9oLUZZPHVteGZ6MjMzWD5BZE4tVQp6
PE9qVWs4fXM9ckN2UDs5bj5eUmpXYipiNlQ5ZnJuZypOa0IqKWROKHxEMCM/VU5mUHx4d2NBXj9i
fF5UVCtLJnEKTHc7IzEtRy1McSlgPT12YgoKZGVsdGEgODIKemNtY2M3IXVxWTVid2Q4ZW58emp4
ZFhvKC08dE1YUm5NQDlwKXRSaHNDTiVsQzcyb0QmRCs2WXopTFI9TnsmYT5TCmdoRDMlR2hEP1Qz
aENHSW4kcE55dUsmNCNHPlVQYEo/SENQTjBCIyleanNPNHYKCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01Ob2RlRGV0YWlsc1NpZGViYXJQ
YW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5v
ZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCmluZGV4IGNiNzczNjk4NjYzMzM3YTg3MzJmZmQ0NWI4
ZDBlOTczM2M4ZjA1NTcuLjg0YWY4ODYwMjUwYWFiNGQwNmFiYzFjYWUyODQ5MDhmYWEzNDcyYWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RP
TU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCkBAIC0zMDAs
MjUgKzMwMCw0MyBAQCBXZWJJbnNwZWN0b3IuRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwgPSBj
bGFzcyBET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbCBleHRlbgogICAgICAgICB9CiAKICAgICAg
ICAgZnVuY3Rpb24gbGlua0xpc3RGb3JOb2RlSWRzKG5vZGVJZHMpIHsKLSAgICAgICAgICAgIHZh
ciBoYXNMaW5rcyA9IGZhbHNlOwotICAgICAgICAgICAgdmFyIGxpbmtMaXN0ID0gbnVsbDsKLSAg
ICAgICAgICAgIGlmIChub2RlSWRzICE9PSB1bmRlZmluZWQpIHsKLSAgICAgICAgICAgICAgICBs
aW5rTGlzdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInVsIik7Ci0gICAgICAgICAgICAgICAg
bGlua0xpc3QuY2xhc3NOYW1lID0gIm5vZGUtbGluay1saXN0IjsgICAgCi0gICAgICAgICAgICAg
ICAgZm9yICh2YXIgbm9kZUlkIG9mIG5vZGVJZHMpIHsKLSAgICAgICAgICAgICAgICAgICAgdmFy
IG5vZGUgPSBXZWJJbnNwZWN0b3IuZG9tVHJlZU1hbmFnZXIubm9kZUZvcklkKG5vZGVJZCk7Ci0g
ICAgICAgICAgICAgICAgICAgIGlmIChub2RlKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB2
YXIgbGluayA9IFdlYkluc3BlY3Rvci5saW5raWZ5QWNjZXNzaWJpbGl0eU5vZGVSZWZlcmVuY2Uo
bm9kZSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAobGluaykgewotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGhhc0xpbmtzID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB2YXIgbGlzdGl0ZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaSIpOwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGxpc3RpdGVtLmFwcGVuZENoaWxkKGxpbmspOwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGxpbmtMaXN0LmFwcGVuZENoaWxkKGxpc3RpdGVtKTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIGlmICghbm9kZUlkcykgCisgICAgICAgICAgICAgICAgcmV0
dXJuIG51bGw7CisKKyAgICAgICAgICAgIGNvbnN0IGl0ZW1zVG9TaG93ID0gNTsKKyAgICAgICAg
ICAgIGxldCBoYXNMaW5rcyA9IGZhbHNlOworICAgICAgICAgICAgbGV0IGxpc3RJdGVtQ291bnQg
PSAwOworICAgICAgICAgICAgbGV0IGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImRpdiIpOworICAgICAgICAgICAgY29udGFpbmVyLmNsYXNzTGlzdC5hZGQoImxpc3QtY29udGFp
bmVyIikKKyAgICAgICAgICAgIGxldCBsaW5rTGlzdCA9IGNvbnRhaW5lci5jcmVhdGVDaGlsZCgi
dWwiLCAibm9kZS1saW5rLWxpc3QiKTsgICAgICAgICAgICAKKyAgICAgICAgICAgIGxldCBpbml0
aWFsbHlIaWRkZW5JdGVtcyA9IFtdOworICAgICAgICAgICAgZm9yIChsZXQgbm9kZUlkIG9mIG5v
ZGVJZHMpIHsKKyAgICAgICAgICAgICAgICBsZXQgbm9kZSA9IFdlYkluc3BlY3Rvci5kb21UcmVl
TWFuYWdlci5ub2RlRm9ySWQobm9kZUlkKTsKKyAgICAgICAgICAgICAgICBpZiAoIW5vZGUpCisg
ICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIGxldCBsaW5rID0g
V2ViSW5zcGVjdG9yLmxpbmtpZnlBY2Nlc3NpYmlsaXR5Tm9kZVJlZmVyZW5jZShub2RlKTsKKyAg
ICAgICAgICAgICAgICBoYXNMaW5rcyA9IHRydWU7CisgICAgICAgICAgICAgICAgbGV0IGxpID0g
bGlua0xpc3QuY3JlYXRlQ2hpbGQoImxpIik7CisgICAgICAgICAgICAgICAgbGkuYXBwZW5kQ2hp
bGQobGluayk7CisgICAgICAgICAgICAgICAgaWYgKGxpc3RJdGVtQ291bnQgPj0gaXRlbXNUb1No
b3cpIHsgIAorICAgICAgICAgICAgICAgICAgICBsaS5zZXRBdHRyaWJ1dGUoImhpZGRlbiIsICIi
KTsKKyAgICAgICAgICAgICAgICAgICAgaW5pdGlhbGx5SGlkZGVuSXRlbXMucHVzaChsaSk7Cisg
ICAgICAgICAgICAgICAgfSAKKyAgICAgICAgICAgICAgICBsaXN0SXRlbUNvdW50Kys7CiAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICByZXR1cm4gaGFzTGlua3MgPyBsaW5rTGlzdCA6IG51bGw7
CisgICAgICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQobGlua0xpc3QpOworICAgICAgICAg
ICAgaWYgKGxpc3RJdGVtQ291bnQgPiBpdGVtc1RvU2hvdykgeworICAgICAgICAgICAgICAgIGxl
dCBtb3JlTm9kZXMgPSBjb250YWluZXIuY3JlYXRlQ2hpbGQoImJ1dHRvbiIsICJleHBhbmQtbGlz
dC1idXR0b24iKTsKKyAgICAgICAgICAgICAgICBtb3JlTm9kZXMudGV4dENvbnRlbnQgPSBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIiVkIE1vcmVcdTIwMjYiKS5mb3JtYXQobGlzdEl0ZW1Db3VudCAt
IGl0ZW1zVG9TaG93KTsKKyAgICAgICAgICAgICAgICBtb3JlTm9kZXMuYWRkRXZlbnRMaXN0ZW5l
cigiY2xpY2siLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgICAgIGluaXRpYWxseUhpZGRlbkl0
ZW1zLmZvckVhY2goKGVsZW1lbnQpID0+IGVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCJoaWRkZW4i
KSk7CisgICAgICAgICAgICAgICAgICAgIG1vcmVOb2Rlcy5yZW1vdmUoKTsKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChoYXNMaW5rcykgCisgICAg
ICAgICAgICAgICAgcmV0dXJuIGNvbnRhaW5lcjsKKworICAgICAgICAgICAgcmV0dXJuIG51bGw7
CiAgICAgICAgIH0KIAogICAgICAgICBmdW5jdGlvbiBhY2Nlc3NpYmlsaXR5UHJvcGVydGllc0Nh
bGxiYWNrKGFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9NYWluLmNzcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL01haW4uY3NzCmluZGV4IGFiZDliZWMyNGRjNTRi
NzE3N2IzZWJmYjM2N2ZlZWY4ZDdmMTE4YWQuLjlkZjA5OTFjYTJkMjE3MTllMTQyN2Y0ZDBlYTI4
ZDAwNGI3NjA1ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL01haW4uY3NzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL01haW4uY3NzCkBAIC0zMDUsMTIgKzMwNSwyMiBAQCBib2R5LndpbmRvdy1pbmFj
dGl2ZSAjc3BsaXQtY29udGVudC1icm93c2VyIHsKICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRh
bnQ7CiB9CiAKKy5leHBhbmQtbGlzdC1idXR0b24geworICAgIC13ZWJraXQtYXBwZWFyYW5jZTog
bm9uZTsKKyAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKKyAgICBiYWNrZ3JvdW5kLWNv
bG9yOiB0cmFuc3BhcmVudDsKKyAgICBwYWRkaW5nOiAwOworICAgIG1hcmdpbjogMDsKKyAgICBi
b3JkZXI6IDA7CisgICAgY3Vyc29yOiBwb2ludGVyOworfQorCiAubm9kZS1saW5rIHsKICAgICB0
ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICBjdXJzb3I6IHBvaW50ZXI7CiB9CiAKLS5u
b2RlLWxpbmstbGlzdCwgLm5vZGUtbGluay1saXN0IGxpIHsKKy5ub2RlLWxpbmstbGlzdCwgLm5v
ZGUtbGluay1saXN0IGxpOm5vdChbaGlkZGVuXSkgewogICAgIGRpc3BsYXk6IGJsb2NrOwogICAg
IG1hcmdpbjogMDsKICAgICBwYWRkaW5nOiAwOwpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hh
bmdlTG9nCmluZGV4IGYzNDEyMWMxNmFlZDNlMjIzMDc0OTAwMzcyZjYxMTkwYmU1YTIxOGUuLjUx
MGI3ODQ3OGQ5NTE1NTE4MDUyMTQzNzliYzlkY2E1YjQzODBhZGYgMTAwNjQ0Ci0tLSBhL0NoYW5n
ZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNi0wMS0xNCAgQWFyb24g
Q2h1ICA8YXJvbmEuY2h1QGdtYWlsLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBBWEk6
IG5vZGUtbGluay1saXN0IHNob3VsZCBiZSBjb2xsYXBzaWJsZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwOTExCisgICAgICAgIAorICAgICAgICBB
ZGRlZCBhIG1hbnVhbCB0ZXN0IHRvIHRlc3QgdGhlIG5vZGUgbGlzdCBpbiB0aGUgQWNjZXNzaWJp
bGl0eSBJbnNwZWN0b3IKKworICAgICAgICAqIE1hbnVhbFRlc3RzL2FjY2Vzc2liaWxpdHkvY29s
bGFwc2libGUtbm9kZS1saW5rLWxpc3QuaHRtbDogQWRkZWQuCisKIDIwMTYtMDEtMTMgIENhcmxv
cyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtDTWFrZV0g
RG8gbm90IHVzZSBMTFZNIHN0YXRpYyBsaWJyYXJpZXMgZm9yIEZUTCBKSVQKZGlmZiAtLWdpdCBh
L01hbnVhbFRlc3RzL2FjY2Vzc2liaWxpdHkvY29sbGFwc2libGUtbm9kZS1saW5rLWxpc3QuaHRt
bCBiL01hbnVhbFRlc3RzL2FjY2Vzc2liaWxpdHkvY29sbGFwc2libGUtbm9kZS1saW5rLWxpc3Qu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40OWQ4MzFlODZlZThkMzg3MzRhMDk3YTUzYjU2M2IzNjc4NDNjMzgz
Ci0tLSAvZGV2L251bGwKKysrIGIvTWFudWFsVGVzdHMvYWNjZXNzaWJpbGl0eS9jb2xsYXBzaWJs
ZS1ub2RlLWxpbmstbGlzdC5odG1sCkBAIC0wLDAgKzEsMjggQEAKKzxodG1sPgorPGJvZHk+CisK
KworPHA+VGVzdCBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEzMDkxMSI+QnVnIDEzMDkxMTogV2ViIEluc3BlY3RvcjogQVhJOiBub2RlLWxpbmst
bGlzdCBzaG91bGQgYmUgY29sbGFwc2libGU8L2E+LjwvcD4KKzxvbD4KKzxsaT5PcGVuIEFjY2Vz
c2liaWxpdHkgSW5zcGVjdG9yLjwvbGk+Cis8bGk+SW4gRE9NIHRyZWUgaW4gdGhlIFdlYiBJbnNw
ZWN0b3IsIGNsaWNrIG9uIHRoZSB1bm9yZGVyZWQgbGlzdCBiZWxvdy48L2xpPgorPGxpPkluIHRo
ZSBBY2Nlc3NpYmlsaXR5IEluc3BlY3RvciwgeW91IHNob3VsZCBiZSBhYmxlIHRvIHNlZSB0aGF0
IDUgb3V0IG9mIDEwIG5vZGVzIGFyZSBzaG93aW5nLiBUaGUgcmVtYWluaW5nIDUgYXJlIGhpZGRl
bi4gSWYgeW91IGRvIG5vdCBzZWUgdGhpcywgdGhlIHRlc3QgZmFpbHMuPC9saT4KKzxsaT5JbiB0
aGUgQWNjZXNzaWJpbGl0eSBJbnNwZWN0b3IgY2xpY2sgb24gIjUgbW9yZSZoZWxsaXA7IiB0byBy
ZXZlYWwgdGhlIHJlbWFpbmluZyA1IG5vZGVzLjwvbGk+Cis8bGk+SWYgdGhlIGNsaWNrIG9uIHRo
ZSBzYWlkIGxpbmsgZG9lcyBub3QgZnVuY3Rpb24gYXMgZGVzY3JpYmVkIGluICM0LCB0aGUgdGVz
dCBmYWlscy48L2xpPgorPC9vbD4KKworPHVsPgorPGxpPkl0ZW0gMTwvbGk+Cis8bGk+SXRlbSAy
PC9saT4KKzxsaT5JdGVtIDM8L2xpPgorPGxpPkl0ZW0gNDwvbGk+Cis8bGk+SXRlbSA1PC9saT4K
KzxsaT5JdGVtIDY8L2xpPgorPGxpPkl0ZW0gNzwvbGk+Cis8bGk+SXRlbSA4PC9saT4KKzxsaT5J
dGVtIDk8L2xpPgorPGxpPkl0ZW0gMTA8L2xpPgorPC91bD4KKworPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>269345</attachid>
            <date>2016-01-19 23:10:45 -0800</date>
            <delta_ts>2016-01-23 17:46:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130911-20160119231016.patch</filename>
            <type>text/plain</type>
            <size>7743</size>
            <attacher name="Aaron Chu">aaron_chu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk1MzM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAx
YjdkMTU2MTljODdiZmM3OGU5MDRjNTZiNzMwNTEwYTZmZWUyY2IxLi5mYTQwODI2NzM2NWQ4Nzg4
OTFmODBhODg4YWQxYWE0ODZmNmZmODMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxNi0wMS0xOSAgQWFyb24gQ2h1ICA8YXJvbmEuY2h1QGdtYWlsLmNvbT4K
KworICAgICAgICBXZWIgSW5zcGVjdG9yOiBBWEk6IG5vZGUtbGluay1saXN0IHNob3VsZCBiZSBj
b2xsYXBzaWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTMwOTExCisgICAgICAgIAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBY2Nlc3NpYmlsaXR5IEluc3BlY3RvcjogZm9yIGEgdmVyeSBsb25nIGNoaWxk
cmVuIG5vZGUgbGlzdCwgb25seSB0aGUgZmlyc3QgNSBub2RlcyBhcmUgc2hvd24uCisgICAgICAg
IFJlbWFpbmluZyBub2RlcyBhcmUgaGlkZGVuIGJ5IGEgIiMgTW9yZeKApiIgbGluayBieSB3aGlj
aCBhIHVzZXIgY2FuIGNsaWNrIHRvIHJldmVhbCB0aGUgcmVtYWluZGVyIAorICAgICAgICBvZiB0
aGUgbm9kZSBsaXN0LgorCisgICAgICAgICogTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6
ZWRTdHJpbmdzLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFp
bHNTaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NTm9kZURldGFpbHNT
aWRlYmFyUGFuZWwucHJvdG90eXBlLl9yZWZyZXNoQWNjZXNzaWJpbGl0eS5saW5rTGlzdEZvck5v
ZGVJZHMpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvTWFpbi5jc3M6CisgICAgICAg
ICguZXhwYW5kLWxpc3QtYnV0dG9uKToKKyAgICAgICAgKC5ub2RlLWxpbmstbGlzdCwgLm5vZGUt
bGluay1saXN0IGxpOm5vdChbaGlkZGVuXSkpOgorICAgICAgICAoLm5vZGUtbGluay1saXN0LCAu
bm9kZS1saW5rLWxpc3QgbGkpOiBEZWxldGVkLgorCiAyMDE2LTAxLTE5ICBUaW1vdGh5IEhhdGNo
ZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgcHJv
dG9jb2wgdmVyc2lvbiBmb3IgaU9TIDkuMwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMK
aW5kZXggZGI0NDMzMzJkNDA5NjUzNmIwNTkzMWM0MTU4YWUxZGYwMWZjMWRhZC4uZWMyNDgxOGFh
NDVjOGJjNzhmOGIzODk5OTBmMTdkN2M5ZWUzZTYwYyAxMDA2NDQKR0lUIGJpbmFyeSBwYXRjaApk
ZWx0YSAxMjgKemNtZXk/JXpDNFJid2Q4K2VsfDhzVXhzeyFCOEY2azc9fV4/QkwpSz9IZSptP2gt
Rlk8dW14ZnoyMzNYPkFkTi1VCno8T2pVazh9cz1yQ3ZQOzluPl5SaldiKmI2VDlmcm5nKk5rQiop
ZE4ofEQwIz9VTmZQfHh3Y0FeP2J8XlRUK0smcQpMdzsjMS1HLUxxKWA9PXZiCgpkZWx0YSA4Mgp6
Y21jYzchdXFZNWJ3ZDhlbnx6anhkWG8oLTx0TVhSbk1AOXApdFJoc0NOJWxDNzJvRCZEKzZZeilM
Uj1OeyZhPlMKZ2hEMyVHaEQ/VDNoQ0dJbiRwTnl1SyY0I0c+VVBgSj9IQ1BOMEIjKV5qc080dgoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RP
TU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanMKaW5kZXggY2I3NzM2
OTg2NjMzMzdhODczMmZmZDQ1YjhkMGU5NzMzYzhmMDU1Ny4uMWZmOWRhNTFiYzNjMmI3ZGVlZWY4
M2YzMWNhMjIxMmU4OWY5N2I0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFpbHNTaWRl
YmFyUGFuZWwuanMKQEAgLTMwMCwyNSArMzAwLDQzIEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlRGV0
YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNzIERPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsIGV4dGVu
CiAgICAgICAgIH0KIAogICAgICAgICBmdW5jdGlvbiBsaW5rTGlzdEZvck5vZGVJZHMobm9kZUlk
cykgewotICAgICAgICAgICAgdmFyIGhhc0xpbmtzID0gZmFsc2U7Ci0gICAgICAgICAgICB2YXIg
bGlua0xpc3QgPSBudWxsOwotICAgICAgICAgICAgaWYgKG5vZGVJZHMgIT09IHVuZGVmaW5lZCkg
ewotICAgICAgICAgICAgICAgIGxpbmtMaXN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidWwi
KTsKLSAgICAgICAgICAgICAgICBsaW5rTGlzdC5jbGFzc05hbWUgPSAibm9kZS1saW5rLWxpc3Qi
OyAgICAKLSAgICAgICAgICAgICAgICBmb3IgKHZhciBub2RlSWQgb2Ygbm9kZUlkcykgewotICAg
ICAgICAgICAgICAgICAgICB2YXIgbm9kZSA9IFdlYkluc3BlY3Rvci5kb21UcmVlTWFuYWdlci5u
b2RlRm9ySWQobm9kZUlkKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGUpIHsKLSAgICAg
ICAgICAgICAgICAgICAgICAgIHZhciBsaW5rID0gV2ViSW5zcGVjdG9yLmxpbmtpZnlBY2Nlc3Np
YmlsaXR5Tm9kZVJlZmVyZW5jZShub2RlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChs
aW5rKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzTGlua3MgPSB0cnVlOwotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsaXN0aXRlbSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImxpIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdGl0ZW0uYXBwZW5k
Q2hpbGQobGluayk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlua0xpc3QuYXBwZW5k
Q2hpbGQobGlzdGl0ZW0pOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKCFub2RlSWRzKSAK
KyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDsKKworICAgICAgICAgICAgY29uc3QgaXRlbXNU
b1Nob3cgPSA1OworICAgICAgICAgICAgbGV0IGhhc0xpbmtzID0gZmFsc2U7CisgICAgICAgICAg
ICBsZXQgbGlzdEl0ZW1Db3VudCA9IDA7CisgICAgICAgICAgICBsZXQgY29udGFpbmVyID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgICAgICAgICBjb250YWluZXIuY2xhc3NM
aXN0LmFkZCgibGlzdC1jb250YWluZXIiKQorICAgICAgICAgICAgbGV0IGxpbmtMaXN0ID0gY29u
dGFpbmVyLmNyZWF0ZUNoaWxkKCJ1bCIsICJub2RlLWxpbmstbGlzdCIpOyAgICAgICAgICAgIAor
ICAgICAgICAgICAgbGV0IGluaXRpYWxseUhpZGRlbkl0ZW1zID0gW107CisgICAgICAgICAgICBm
b3IgKGxldCBub2RlSWQgb2Ygbm9kZUlkcykgeworICAgICAgICAgICAgICAgIGxldCBub2RlID0g
V2ViSW5zcGVjdG9yLmRvbVRyZWVNYW5hZ2VyLm5vZGVGb3JJZChub2RlSWQpOworICAgICAgICAg
ICAgICAgIGlmICghbm9kZSkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAg
ICAgICAgICAgbGV0IGxpbmsgPSBXZWJJbnNwZWN0b3IubGlua2lmeUFjY2Vzc2liaWxpdHlOb2Rl
UmVmZXJlbmNlKG5vZGUpOworICAgICAgICAgICAgICAgIGhhc0xpbmtzID0gdHJ1ZTsKKyAgICAg
ICAgICAgICAgICBsZXQgbGkgPSBsaW5rTGlzdC5jcmVhdGVDaGlsZCgibGkiKTsKKyAgICAgICAg
ICAgICAgICBsaS5hcHBlbmRDaGlsZChsaW5rKTsKKyAgICAgICAgICAgICAgICBpZiAobGlzdEl0
ZW1Db3VudCA+PSBpdGVtc1RvU2hvdykgeyAgCisgICAgICAgICAgICAgICAgICAgIGxpLmhpZGRl
biA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgIGluaXRpYWxseUhpZGRlbkl0ZW1zLnB1c2go
bGkpOworICAgICAgICAgICAgICAgIH0gCisgICAgICAgICAgICAgICAgbGlzdEl0ZW1Db3VudCsr
OwogICAgICAgICAgICAgfQotICAgICAgICAgICAgcmV0dXJuIGhhc0xpbmtzID8gbGlua0xpc3Qg
OiBudWxsOworICAgICAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGxpbmtMaXN0KTsKKyAg
ICAgICAgICAgIGlmIChsaXN0SXRlbUNvdW50ID4gaXRlbXNUb1Nob3cpIHsKKyAgICAgICAgICAg
ICAgICBsZXQgbW9yZU5vZGVzQnV0dG9uID0gY29udGFpbmVyLmNyZWF0ZUNoaWxkKCJidXR0b24i
LCAiZXhwYW5kLWxpc3QtYnV0dG9uIik7CisgICAgICAgICAgICAgICAgbW9yZU5vZGVzQnV0dG9u
LnRleHRDb250ZW50ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlZCBNb3JlXHUyMDI2IikuZm9y
bWF0KGxpc3RJdGVtQ291bnQgLSBpdGVtc1RvU2hvdyk7CisgICAgICAgICAgICAgICAgbW9yZU5v
ZGVzQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAg
ICAgICAgICBpbml0aWFsbHlIaWRkZW5JdGVtcy5mb3JFYWNoKChlbGVtZW50KSA9PiBlbGVtZW50
LmhpZGRlbiA9IGZhbHNlKTsKKyAgICAgICAgICAgICAgICAgICAgbW9yZU5vZGVzQnV0dG9uLnJl
bW92ZSgpOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfQorICAgICAgICAgICAg
aWYgKGhhc0xpbmtzKSAKKyAgICAgICAgICAgICAgICByZXR1cm4gY29udGFpbmVyOworCisgICAg
ICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgfQogCiAgICAgICAgIGZ1bmN0aW9uIGFjY2Vz
c2liaWxpdHlQcm9wZXJ0aWVzQ2FsbGJhY2soYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMpIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL01haW4u
Y3NzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTWFpbi5jc3MK
aW5kZXggYWJkOWJlYzI0ZGM1NGI3MTc3YjNlYmZiMzY3ZmVlZjhkN2YxMThhZC4uZmMwYmIyZmI1
ZmI3M2FiOTQ0YmEwNTdlZTZkZjk4YzYyMjJjNjU0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTWFpbi5jc3MKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTWFpbi5jc3MKQEAgLTMwNSwxMiArMzA1LDIz
IEBAIGJvZHkud2luZG93LWluYWN0aXZlICNzcGxpdC1jb250ZW50LWJyb3dzZXIgewogICAgIGRp
c3BsYXk6IG5vbmUgIWltcG9ydGFudDsKIH0KIAorLmV4cGFuZC1saXN0LWJ1dHRvbiB7CisgICAg
LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOworICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5l
OworICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OworICAgIHBhZGRpbmc6IDA7Cisg
ICAgbWFyZ2luOiAwOworICAgIGJvcmRlcjogMDsKKyAgICBjdXJzb3I6IHBvaW50ZXI7CisgICAg
Y29sb3I6IGJsYWNrOworfQorCiAubm9kZS1saW5rIHsKICAgICB0ZXh0LWRlY29yYXRpb246IHVu
ZGVybGluZTsKICAgICBjdXJzb3I6IHBvaW50ZXI7CiB9CiAKLS5ub2RlLWxpbmstbGlzdCwgLm5v
ZGUtbGluay1saXN0IGxpIHsKKy5ub2RlLWxpbmstbGlzdCwgLm5vZGUtbGluay1saXN0IGxpOm5v
dChbaGlkZGVuXSkgewogICAgIGRpc3BsYXk6IGJsb2NrOwogICAgIG1hcmdpbjogMDsKICAgICBw
YWRkaW5nOiAwOwpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDFkYjJh
OWE3ZDVlODdlOTRjMTE5NjczOWNlZGJhN2VkNzRjODY4NjAuLjY3ZWQ5YTIyZjQ2MDIxZTMwYmQ4
ZDQ5NTMxNjU0YjRiZWI4ZDc1ZjMgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNi0wMS0xOSAgQWFyb24gQ2h1ICA8YXJvbmEuY2h1QGdt
YWlsLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBBWEk6IG5vZGUtbGluay1saXN0IHNo
b3VsZCBiZSBjb2xsYXBzaWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTMwOTExCisgICAgICAgIAorICAgICAgICBBZGRlZCBhIG1hbnVhbCB0ZXN0
IHRvIHRlc3QgdGhlIG5vZGUgbGlzdCBpbiB0aGUgQWNjZXNzaWJpbGl0eSBJbnNwZWN0b3IKKwor
ICAgICAgICAqIE1hbnVhbFRlc3RzL2FjY2Vzc2liaWxpdHkvY29sbGFwc2libGUtbm9kZS1saW5r
LWxpc3QuaHRtbDogQWRkZWQuCisKIDIwMTYtMDEtMTggIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNh
dGFuemFyb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtDTWFrZV0gRHVwbGljYXRlIGF0dGVtcHRz
IHRvIGZpbmQgc29mdHdhcmUgZHVyaW5nIGNtYWtlIHN0YWdlCmRpZmYgLS1naXQgYS9NYW51YWxU
ZXN0cy9hY2Nlc3NpYmlsaXR5L2NvbGxhcHNpYmxlLW5vZGUtbGluay1saXN0Lmh0bWwgYi9NYW51
YWxUZXN0cy9hY2Nlc3NpYmlsaXR5L2NvbGxhcHNpYmxlLW5vZGUtbGluay1saXN0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNDlkODMxZTg2ZWU4ZDM4NzM0YTA5N2E1M2I1NjNiMzY3ODQzYzM4MwotLS0gL2Rl
di9udWxsCisrKyBiL01hbnVhbFRlc3RzL2FjY2Vzc2liaWxpdHkvY29sbGFwc2libGUtbm9kZS1s
aW5rLWxpc3QuaHRtbApAQCAtMCwwICsxLDI4IEBACis8aHRtbD4KKzxib2R5PgorCisKKzxwPlRl
c3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MzA5MTEiPkJ1ZyAxMzA5MTE6IFdlYiBJbnNwZWN0b3I6IEFYSTogbm9kZS1saW5rLWxpc3Qgc2hv
dWxkIGJlIGNvbGxhcHNpYmxlPC9hPi48L3A+Cis8b2w+Cis8bGk+T3BlbiBBY2Nlc3NpYmlsaXR5
IEluc3BlY3Rvci48L2xpPgorPGxpPkluIERPTSB0cmVlIGluIHRoZSBXZWIgSW5zcGVjdG9yLCBj
bGljayBvbiB0aGUgdW5vcmRlcmVkIGxpc3QgYmVsb3cuPC9saT4KKzxsaT5JbiB0aGUgQWNjZXNz
aWJpbGl0eSBJbnNwZWN0b3IsIHlvdSBzaG91bGQgYmUgYWJsZSB0byBzZWUgdGhhdCA1IG91dCBv
ZiAxMCBub2RlcyBhcmUgc2hvd2luZy4gVGhlIHJlbWFpbmluZyA1IGFyZSBoaWRkZW4uIElmIHlv
dSBkbyBub3Qgc2VlIHRoaXMsIHRoZSB0ZXN0IGZhaWxzLjwvbGk+Cis8bGk+SW4gdGhlIEFjY2Vz
c2liaWxpdHkgSW5zcGVjdG9yIGNsaWNrIG9uICI1IG1vcmUmaGVsbGlwOyIgdG8gcmV2ZWFsIHRo
ZSByZW1haW5pbmcgNSBub2Rlcy48L2xpPgorPGxpPklmIHRoZSBjbGljayBvbiB0aGUgc2FpZCBs
aW5rIGRvZXMgbm90IGZ1bmN0aW9uIGFzIGRlc2NyaWJlZCBpbiAjNCwgdGhlIHRlc3QgZmFpbHMu
PC9saT4KKzwvb2w+CisKKzx1bD4KKzxsaT5JdGVtIDE8L2xpPgorPGxpPkl0ZW0gMjwvbGk+Cis8
bGk+SXRlbSAzPC9saT4KKzxsaT5JdGVtIDQ8L2xpPgorPGxpPkl0ZW0gNTwvbGk+Cis8bGk+SXRl
bSA2PC9saT4KKzxsaT5JdGVtIDc8L2xpPgorPGxpPkl0ZW0gODwvbGk+Cis8bGk+SXRlbSA5PC9s
aT4KKzxsaT5JdGVtIDEwPC9saT4KKzwvdWw+CisKKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>269680</attachid>
            <date>2016-01-23 17:46:16 -0800</date>
            <delta_ts>2016-01-23 18:47:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130911-20160123174549.patch</filename>
            <type>text/plain</type>
            <size>7621</size>
            <attacher name="Aaron Chu">aaron_chu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk1NTExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA2
OTliZjNiYmU3ODRiYmM5YzI4ZDk0MmFjMjdkMzViYWJhYzdkM2Q4Li5mY2FlMzYzZDNlNjJkYmMx
ODE0NmFiNTQzOGZhZWFkZmE1ZTYyNDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxNi0wMS0yMyAgQWFyb24gQ2h1ICA8YXJvbmEuY2h1QGdtYWlsLmNvbT4K
KworICAgICAgICBXZWIgSW5zcGVjdG9yOiBBWEk6IG5vZGUtbGluay1saXN0IHNob3VsZCBiZSBj
b2xsYXBzaWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTMwOTExCisgICAgICAgIAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBY2Nlc3NpYmlsaXR5IEluc3BlY3RvcjogZm9yIGEgdmVyeSBsb25nIGNoaWxk
cmVuIG5vZGUgbGlzdCwgb25seSB0aGUgZmlyc3QgNSBub2RlcyBhcmUgc2hvd24uCisgICAgICAg
IFJlbWFpbmluZyBub2RlcyBhcmUgaGlkZGVuIGJ5IGEgIiMgTW9yZeKApiIgbGluayBieSB3aGlj
aCBhIHVzZXIgY2FuIGNsaWNrIHRvIHJldmVhbCB0aGUgcmVtYWluZGVyIAorICAgICAgICBvZiB0
aGUgbm9kZSBsaXN0LgorCisgICAgICAgICogTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6
ZWRTdHJpbmdzLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFp
bHNTaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NTm9kZURldGFpbHNT
aWRlYmFyUGFuZWwucHJvdG90eXBlLl9yZWZyZXNoQWNjZXNzaWJpbGl0eS5saW5rTGlzdEZvck5v
ZGVJZHMpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvTWFpbi5jc3M6CisgICAgICAg
ICguZXhwYW5kLWxpc3QtYnV0dG9uKToKKyAgICAgICAgKC5ub2RlLWxpbmstbGlzdCwgLm5vZGUt
bGluay1saXN0IGxpOm5vdChbaGlkZGVuXSkpOgorICAgICAgICAoLm5vZGUtbGluay1saXN0LCAu
bm9kZS1saW5rLWxpc3QgbGkpOiBEZWxldGVkLgorCiAyMDE2LTAxLTIyICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogUmVkdWNl
IHVubmVjZXNzYXJ5IGZvcmNlZCBsYXlvdXRzIGluIFRpbWVsaW5lUnVsZXIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0
cmluZ3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9s
b2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IDI5YWRlNTM0MTU5YTJhNzQ3NWIzODk3MzhhMGQwODA3
NzA5ZjgwNWYuLjM5MDRlOTY0YjQwNWNkNTI4NjZjYWY4ZDIzYmEyMWRhNGM0MzdhYmYgMTAwNjQ0
CkdJVCBiaW5hcnkgcGF0Y2gKZGVsdGEgODEKemNtYUZSJlUmaFlid2Q4K2VsfDhzVXhzeyFCOEY2
azc9fV4/QkwpSz9IZSptP2gtRlk8dW14ZnoyMzNYPkFkTi1VClA8T2pVa2pybSppODRIfk9eQDAo
PgoKZGVsdGEgMTUKV2NtWEByIVRPK2Bid1ltUSY4O15YMyFNUXlQWH1OQwoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVEZXRhaWxz
U2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanMKaW5kZXggY2I3NzM2OTg2NjMzMzdhODcz
MmZmZDQ1YjhkMGU5NzMzYzhmMDU1Ny4uMWZmOWRhNTFiYzNjMmI3ZGVlZWY4M2YzMWNhMjIxMmU4
OWY5N2I0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanMK
QEAgLTMwMCwyNSArMzAwLDQzIEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlRGV0YWlsc1NpZGViYXJQ
YW5lbCA9IGNsYXNzIERPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsIGV4dGVuCiAgICAgICAgIH0K
IAogICAgICAgICBmdW5jdGlvbiBsaW5rTGlzdEZvck5vZGVJZHMobm9kZUlkcykgewotICAgICAg
ICAgICAgdmFyIGhhc0xpbmtzID0gZmFsc2U7Ci0gICAgICAgICAgICB2YXIgbGlua0xpc3QgPSBu
dWxsOwotICAgICAgICAgICAgaWYgKG5vZGVJZHMgIT09IHVuZGVmaW5lZCkgewotICAgICAgICAg
ICAgICAgIGxpbmtMaXN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidWwiKTsKLSAgICAgICAg
ICAgICAgICBsaW5rTGlzdC5jbGFzc05hbWUgPSAibm9kZS1saW5rLWxpc3QiOyAgICAKLSAgICAg
ICAgICAgICAgICBmb3IgKHZhciBub2RlSWQgb2Ygbm9kZUlkcykgewotICAgICAgICAgICAgICAg
ICAgICB2YXIgbm9kZSA9IFdlYkluc3BlY3Rvci5kb21UcmVlTWFuYWdlci5ub2RlRm9ySWQobm9k
ZUlkKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKG5vZGUpIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHZhciBsaW5rID0gV2ViSW5zcGVjdG9yLmxpbmtpZnlBY2Nlc3NpYmlsaXR5Tm9kZVJl
ZmVyZW5jZShub2RlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsaW5rKSB7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaGFzTGlua3MgPSB0cnVlOwotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHZhciBsaXN0aXRlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIik7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdGl0ZW0uYXBwZW5kQ2hpbGQobGluayk7
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlua0xpc3QuYXBwZW5kQ2hpbGQobGlzdGl0
ZW0pOwotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKCFub2RlSWRzKSAKKyAgICAgICAgICAg
ICAgICByZXR1cm4gbnVsbDsKKworICAgICAgICAgICAgY29uc3QgaXRlbXNUb1Nob3cgPSA1Owor
ICAgICAgICAgICAgbGV0IGhhc0xpbmtzID0gZmFsc2U7CisgICAgICAgICAgICBsZXQgbGlzdEl0
ZW1Db3VudCA9IDA7CisgICAgICAgICAgICBsZXQgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiZGl2Iik7CisgICAgICAgICAgICBjb250YWluZXIuY2xhc3NMaXN0LmFkZCgibGlz
dC1jb250YWluZXIiKQorICAgICAgICAgICAgbGV0IGxpbmtMaXN0ID0gY29udGFpbmVyLmNyZWF0
ZUNoaWxkKCJ1bCIsICJub2RlLWxpbmstbGlzdCIpOyAgICAgICAgICAgIAorICAgICAgICAgICAg
bGV0IGluaXRpYWxseUhpZGRlbkl0ZW1zID0gW107CisgICAgICAgICAgICBmb3IgKGxldCBub2Rl
SWQgb2Ygbm9kZUlkcykgeworICAgICAgICAgICAgICAgIGxldCBub2RlID0gV2ViSW5zcGVjdG9y
LmRvbVRyZWVNYW5hZ2VyLm5vZGVGb3JJZChub2RlSWQpOworICAgICAgICAgICAgICAgIGlmICgh
bm9kZSkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgbGV0
IGxpbmsgPSBXZWJJbnNwZWN0b3IubGlua2lmeUFjY2Vzc2liaWxpdHlOb2RlUmVmZXJlbmNlKG5v
ZGUpOworICAgICAgICAgICAgICAgIGhhc0xpbmtzID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBs
ZXQgbGkgPSBsaW5rTGlzdC5jcmVhdGVDaGlsZCgibGkiKTsKKyAgICAgICAgICAgICAgICBsaS5h
cHBlbmRDaGlsZChsaW5rKTsKKyAgICAgICAgICAgICAgICBpZiAobGlzdEl0ZW1Db3VudCA+PSBp
dGVtc1RvU2hvdykgeyAgCisgICAgICAgICAgICAgICAgICAgIGxpLmhpZGRlbiA9IHRydWU7Cisg
ICAgICAgICAgICAgICAgICAgIGluaXRpYWxseUhpZGRlbkl0ZW1zLnB1c2gobGkpOworICAgICAg
ICAgICAgICAgIH0gCisgICAgICAgICAgICAgICAgbGlzdEl0ZW1Db3VudCsrOwogICAgICAgICAg
ICAgfQotICAgICAgICAgICAgcmV0dXJuIGhhc0xpbmtzID8gbGlua0xpc3QgOiBudWxsOworICAg
ICAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGxpbmtMaXN0KTsKKyAgICAgICAgICAgIGlm
IChsaXN0SXRlbUNvdW50ID4gaXRlbXNUb1Nob3cpIHsKKyAgICAgICAgICAgICAgICBsZXQgbW9y
ZU5vZGVzQnV0dG9uID0gY29udGFpbmVyLmNyZWF0ZUNoaWxkKCJidXR0b24iLCAiZXhwYW5kLWxp
c3QtYnV0dG9uIik7CisgICAgICAgICAgICAgICAgbW9yZU5vZGVzQnV0dG9uLnRleHRDb250ZW50
ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlZCBNb3JlXHUyMDI2IikuZm9ybWF0KGxpc3RJdGVt
Q291bnQgLSBpdGVtc1RvU2hvdyk7CisgICAgICAgICAgICAgICAgbW9yZU5vZGVzQnV0dG9uLmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4geworICAgICAgICAgICAgICAgICAgICBpbml0
aWFsbHlIaWRkZW5JdGVtcy5mb3JFYWNoKChlbGVtZW50KSA9PiBlbGVtZW50LmhpZGRlbiA9IGZh
bHNlKTsKKyAgICAgICAgICAgICAgICAgICAgbW9yZU5vZGVzQnV0dG9uLnJlbW92ZSgpOworICAg
ICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKGhhc0xpbmtz
KSAKKyAgICAgICAgICAgICAgICByZXR1cm4gY29udGFpbmVyOworCisgICAgICAgICAgICByZXR1
cm4gbnVsbDsKICAgICAgICAgfQogCiAgICAgICAgIGZ1bmN0aW9uIGFjY2Vzc2liaWxpdHlQcm9w
ZXJ0aWVzQ2FsbGJhY2soYWNjZXNzaWJpbGl0eVByb3BlcnRpZXMpIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL01haW4uY3NzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTWFpbi5jc3MKaW5kZXggYWJkOWJl
YzI0ZGM1NGI3MTc3YjNlYmZiMzY3ZmVlZjhkN2YxMThhZC4uZmMwYmIyZmI1ZmI3M2FiOTQ0YmEw
NTdlZTZkZjk4YzYyMjJjNjU0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvTWFpbi5jc3MKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvTWFpbi5jc3MKQEAgLTMwNSwxMiArMzA1LDIzIEBAIGJvZHkud2lu
ZG93LWluYWN0aXZlICNzcGxpdC1jb250ZW50LWJyb3dzZXIgewogICAgIGRpc3BsYXk6IG5vbmUg
IWltcG9ydGFudDsKIH0KIAorLmV4cGFuZC1saXN0LWJ1dHRvbiB7CisgICAgLXdlYmtpdC1hcHBl
YXJhbmNlOiBub25lOworICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOworICAgIGJhY2tn
cm91bmQtY29sb3I6IHRyYW5zcGFyZW50OworICAgIHBhZGRpbmc6IDA7CisgICAgbWFyZ2luOiAw
OworICAgIGJvcmRlcjogMDsKKyAgICBjdXJzb3I6IHBvaW50ZXI7CisgICAgY29sb3I6IGJsYWNr
OworfQorCiAubm9kZS1saW5rIHsKICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAg
ICBjdXJzb3I6IHBvaW50ZXI7CiB9CiAKLS5ub2RlLWxpbmstbGlzdCwgLm5vZGUtbGluay1saXN0
IGxpIHsKKy5ub2RlLWxpbmstbGlzdCwgLm5vZGUtbGluay1saXN0IGxpOm5vdChbaGlkZGVuXSkg
ewogICAgIGRpc3BsYXk6IGJsb2NrOwogICAgIG1hcmdpbjogMDsKICAgICBwYWRkaW5nOiAwOwpk
aWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IGFlNGM5NWNhNjRmMGNmMTRl
ZjZkOGNjYWQ3YTEyOGM3M2QwYTFlZmQuLjcwZDkwYjllYjRlMTY1ODFiMjQ1YTJkZDZmZmRkMjU3
MjY2ZmI1NzcgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNCBAQAorMjAxNi0wMS0yMyAgQWFyb24gQ2h1ICA8YXJvbmEuY2h1QGdtYWlsLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBBWEk6IG5vZGUtbGluay1saXN0IHNob3VsZCBiZSBjb2xs
YXBzaWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTMwOTExCisgICAgICAgIAorICAgICAgICBBZGRlZCBhIG1hbnVhbCB0ZXN0IHRvIHRlc3QgdGhl
IG5vZGUgbGlzdCBpbiB0aGUgQWNjZXNzaWJpbGl0eSBJbnNwZWN0b3IKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE1hbnVhbFRlc3RzL2FjY2Vzc2li
aWxpdHkvY29sbGFwc2libGUtbm9kZS1saW5rLWxpc3QuaHRtbDogQWRkZWQuCisKIDIwMTYtMDEt
MjIgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAg
ICBGaXggaW50ZXJuYWwgV2luZG93cyBidWlsZApkaWZmIC0tZ2l0IGEvTWFudWFsVGVzdHMvYWNj
ZXNzaWJpbGl0eS9jb2xsYXBzaWJsZS1ub2RlLWxpbmstbGlzdC5odG1sIGIvTWFudWFsVGVzdHMv
YWNjZXNzaWJpbGl0eS9jb2xsYXBzaWJsZS1ub2RlLWxpbmstbGlzdC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjQ5ZDgzMWU4NmVlOGQzODczNGEwOTdhNTNiNTYzYjM2Nzg0M2MzODMKLS0tIC9kZXYvbnVsbAor
KysgYi9NYW51YWxUZXN0cy9hY2Nlc3NpYmlsaXR5L2NvbGxhcHNpYmxlLW5vZGUtbGluay1saXN0
Lmh0bWwKQEAgLTAsMCArMSwyOCBAQAorPGh0bWw+Cis8Ym9keT4KKworCis8cD5UZXN0IGZvciA8
YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwOTExIj5C
dWcgMTMwOTExOiBXZWIgSW5zcGVjdG9yOiBBWEk6IG5vZGUtbGluay1saXN0IHNob3VsZCBiZSBj
b2xsYXBzaWJsZTwvYT4uPC9wPgorPG9sPgorPGxpPk9wZW4gQWNjZXNzaWJpbGl0eSBJbnNwZWN0
b3IuPC9saT4KKzxsaT5JbiBET00gdHJlZSBpbiB0aGUgV2ViIEluc3BlY3RvciwgY2xpY2sgb24g
dGhlIHVub3JkZXJlZCBsaXN0IGJlbG93LjwvbGk+Cis8bGk+SW4gdGhlIEFjY2Vzc2liaWxpdHkg
SW5zcGVjdG9yLCB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gc2VlIHRoYXQgNSBvdXQgb2YgMTAgbm9k
ZXMgYXJlIHNob3dpbmcuIFRoZSByZW1haW5pbmcgNSBhcmUgaGlkZGVuLiBJZiB5b3UgZG8gbm90
IHNlZSB0aGlzLCB0aGUgdGVzdCBmYWlscy48L2xpPgorPGxpPkluIHRoZSBBY2Nlc3NpYmlsaXR5
IEluc3BlY3RvciBjbGljayBvbiAiNSBtb3JlJmhlbGxpcDsiIHRvIHJldmVhbCB0aGUgcmVtYWlu
aW5nIDUgbm9kZXMuPC9saT4KKzxsaT5JZiB0aGUgY2xpY2sgb24gdGhlIHNhaWQgbGluayBkb2Vz
IG5vdCBmdW5jdGlvbiBhcyBkZXNjcmliZWQgaW4gIzQsIHRoZSB0ZXN0IGZhaWxzLjwvbGk+Cis8
L29sPgorCis8dWw+Cis8bGk+SXRlbSAxPC9saT4KKzxsaT5JdGVtIDI8L2xpPgorPGxpPkl0ZW0g
MzwvbGk+Cis8bGk+SXRlbSA0PC9saT4KKzxsaT5JdGVtIDU8L2xpPgorPGxpPkl0ZW0gNjwvbGk+
Cis8bGk+SXRlbSA3PC9saT4KKzxsaT5JdGVtIDg8L2xpPgorPGxpPkl0ZW0gOTwvbGk+Cis8bGk+
SXRlbSAxMDwvbGk+Cis8L3VsPgorCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>