<?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>86719</bug_id>
          
          <creation_ts>2012-05-17 04:41:15 -0700</creation_ts>
          <short_desc>Submit button doesn&apos;t submit the form if the form is wrapped by an anchor tag</short_desc>
          <delta_ts>2012-05-25 01:12:35 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>UI Events</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>http://www.ferlingwebline.hu/webkit/webkit-form-in-a.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>87469</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zoltan Tolnai">tolnai.zoltan</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>pf</cc>
    
    <cc>rniwa</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>626453</commentid>
    <comment_count>0</comment_count>
    <who name="Zoltan Tolnai">tolnai.zoltan</who>
    <bug_when>2012-05-17 04:41:15 -0700</bug_when>
    <thetext>In every non-webkit browser, if you click on the submit button, the browser sends the form.
In WebKit, the browser goes to the anchor&apos;s url.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>626781</commentid>
    <comment_count>1</comment_count>
      <attachid>142515</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-05-17 11:43:30 -0700</bug_when>
    <thetext>Created attachment 142515
test case

Same test as attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630774</commentid>
    <comment_count>2</comment_count>
      <attachid>143366</attachid>
    <who name="Pablo Flouret">pf</who>
    <bug_when>2012-05-22 14:34:11 -0700</bug_when>
    <thetext>Created attachment 143366
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630779</commentid>
    <comment_count>3</comment_count>
      <attachid>143366</attachid>
    <who name="Pablo Flouret">pf</who>
    <bug_when>2012-05-22 14:37:55 -0700</bug_when>
    <thetext>Comment on attachment 143366
Patch

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

&gt; Source/WebCore/html/HTMLInputElement.cpp:1069
&gt; +            if (evt-&gt;underlyingEvent())
&gt; +                evt-&gt;underlyingEvent()-&gt;setDefaultHandled();

I wasn&apos;t sure if there&apos;s a need to check for the type of the underlying event, so i didn&apos;t, but let me know if it could cause problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631236</commentid>
    <comment_count>4</comment_count>
      <attachid>143366</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-22 22:48:46 -0700</bug_when>
    <thetext>Comment on attachment 143366
Patch

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

This looks like an improvement but I&apos;d like to see one more iteration.

&gt; Source/WebCore/html/HTMLButtonElement.cpp:110
&gt;      if (event-&gt;type() == eventNames().DOMActivateEvent &amp;&amp; !disabled()) {
&gt; -        if (form() &amp;&amp; m_type == SUBMIT) {
&gt; -            m_isActivatedSubmit = true;
&gt; -            form()-&gt;prepareForSubmission(event);
&gt; -            m_isActivatedSubmit = false; // Do this in case submission was canceled.
&gt; +        if (form() &amp;&amp; (m_type == SUBMIT || m_type == RESET)) {

Can we just combine these if statements?

&gt;&gt; Source/WebCore/html/HTMLInputElement.cpp:1069
&gt;&gt; +                evt-&gt;underlyingEvent()-&gt;setDefaultHandled();
&gt; 
&gt; I wasn&apos;t sure if there&apos;s a need to check for the type of the underlying event, so i didn&apos;t, but let me know if it could cause problems.

Why don&apos;t we do this instead in Node::defaultEventHandler? It appears to me canceling the default action of DOMActivate event should always cancel the default action of click event regardless of which element we&apos;re firing the event at.

&gt; LayoutTests/fast/forms/form-in-anchor-controls-activation.html:4
&gt; +    if (window.layoutTestController)
&gt; +        layoutTestController.dumpAsText();

No need to indent script contents like this.

&gt; LayoutTests/fast/forms/form-in-anchor-controls-activation.html:6
&gt; +    function log(s) { document.querySelector(&quot;pre&quot;).innerHTML += s + &quot;\n&quot;; }

Please don&apos;t use one-letter variable like s.

&gt; LayoutTests/fast/forms/form-in-anchor-controls-activation.html:11
&gt; +        document.forms[0].elements.t.value = &quot;blah&quot;;

Please don&apos;t use one-letter name like &quot;t&quot;.

&gt; LayoutTests/fast/forms/form-in-anchor-controls-activation.html:14
&gt; +            var e = document.forms[0].children[i];

Ditto about one letter variable name.

&gt; LayoutTests/fast/forms/form-in-anchor-controls-activation.html:20
&gt; +            (function (element) {
&gt; +                element.addEventListener(&quot;click&quot;, function () {
&gt; +                    log(&quot;Activated &quot; + element + &quot; type=&quot; + element.type);
&gt; +                }, false);
&gt; +            })(e);

Instead of wrapping in a closure like this to preserve element, you can use &quot;this&quot; instead.

&gt; LayoutTests/fast/forms/form-in-anchor-controls-activation.html:32
&gt; +            eventSender.mouseMoveTo(e.offsetLeft+3, e.offsetTop+3);

Spaces before and after +. Also why is that 3? It&apos;s probably safer to compute the center and click there.

&gt; LayoutTests/fast/forms/form-in-anchor-controls-activation.html:55
&gt; +        &lt;button &gt;button&lt;/button&gt;

What&apos;s up with the space between button and &gt;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632123</commentid>
    <comment_count>5</comment_count>
    <who name="Pablo Flouret">pf</who>
    <bug_when>2012-05-23 15:43:18 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 143366 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=143366&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/html/HTMLInputElement.cpp:1069
&gt; &gt;&gt; +                evt-&gt;underlyingEvent()-&gt;setDefaultHandled();
&gt; 
&gt; Why don&apos;t we do this instead in Node::defaultEventHandler? It appears to me canceling the default action of DOMActivate event should always cancel the default action of click event regardless of which element we&apos;re firing the event at.

When the DOMActivate event is actually handled the parent default handlers are not called, so it never reaches Node::defaultEventHandler. Are you suggesting to call the parent class before returning, or not returning and making sure the parent is indeed called (it&apos;s not in HTMLInputElement&apos;s case, the code makes sure the event wasn&apos;t handled before calling the parent), or something else and i misunderstood?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632125</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-23 15:48:19 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; When the DOMActivate event is actually handled the parent default handlers are not called, so it never reaches Node::defaultEventHandler. Are you suggesting to call the parent class before returning, or not returning and making sure the parent is indeed called (it&apos;s not in HTMLInputElement&apos;s case, the code makes sure the event wasn&apos;t handled before calling the parent), or something else and i misunderstood?

No, I&apos;m talking about where DOMActivate event is dispatched in the default event handler of click event.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632214</commentid>
    <comment_count>7</comment_count>
      <attachid>143687</attachid>
    <who name="Pablo Flouret">pf</who>
    <bug_when>2012-05-23 17:06:32 -0700</bug_when>
    <thetext>Created attachment 143687
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>632222</commentid>
    <comment_count>8</comment_count>
      <attachid>143687</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-23 17:11:03 -0700</bug_when>
    <thetext>Comment on attachment 143687
Patch

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

The code change looks good. We need more testing.

&gt; LayoutTests/ChangeLog:9
&gt; +        * fast/forms/form-in-anchor-controls-activation-expected.txt: Added.
&gt; +        * fast/forms/form-in-anchor-controls-activation.html: Added.

Please add a test for non-form elements.

&gt; LayoutTests/fast/forms/form-in-anchor-controls-activation.html:10
&gt; +window.onload = function () {

Do we really need to wait until the load event fires? Can&apos;t we move this code to the script element below?

&gt; LayoutTests/fast/forms/form-in-anchor-controls-activation.html:26
&gt; +        /*
&gt; +        (function (element) {
&gt; +            element.addEventListener(&quot;click&quot;, function () {
&gt; +                log(&quot;Activated &quot; + element + &quot; type=&quot; + element.type);
&gt; +            }, false);
&gt; +        })(element);
&gt; +        */

You should delete this code.

&gt; LayoutTests/fast/forms/form-in-anchor-controls-activation.html:73
&gt; +&lt;script&gt;
&gt; +&lt;/script&gt;

Why do we need this script element?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633251</commentid>
    <comment_count>9</comment_count>
      <attachid>143901</attachid>
    <who name="Pablo Flouret">pf</who>
    <bug_when>2012-05-24 14:44:22 -0700</bug_when>
    <thetext>Created attachment 143901
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633253</commentid>
    <comment_count>10</comment_count>
    <who name="Pablo Flouret">pf</who>
    <bug_when>2012-05-24 14:45:55 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Created an attachment (id=143901) [details]
&gt; Patch

Beside the cruft in the test, i had tested the new patch with the wrong build. It was crashing and didn&apos;t work correctly for HTMLButtonElements, so i fixed that as well in this patch. I shouldn&apos;t post patches when my brain is fried.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633266</commentid>
    <comment_count>11</comment_count>
      <attachid>143901</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-05-24 14:57:10 -0700</bug_when>
    <thetext>Comment on attachment 143901
Patch

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

&gt; Source/WebCore/dom/Node.cpp:2784
&gt; +    dispatchScopedEvent(event.get());

This can just be event, no need for event.get().

&gt; Source/WebCore/dom/Node.cpp:2863
&gt; +        if (dispatchDOMActivateEvent(detail, event))
&gt; +            event-&gt;setDefaultHandled();

What about other callers of dispatchDOMActivateEvent? Is this the only call site that needs this change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633274</commentid>
    <comment_count>12</comment_count>
    <who name="Pablo Flouret">pf</who>
    <bug_when>2012-05-24 15:00:06 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 143901 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=143901&amp;action=review
&gt; &gt; Source/WebCore/dom/Node.cpp:2863
&gt; &gt; +        if (dispatchDOMActivateEvent(detail, event))
&gt; &gt; +            event-&gt;setDefaultHandled();
&gt; 
&gt; What about other callers of dispatchDOMActivateEvent? Is this the only call site that needs this change?

Yeah, that&apos;s the only occurrence.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633287</commentid>
    <comment_count>13</comment_count>
      <attachid>143905</attachid>
    <who name="Pablo Flouret">pf</who>
    <bug_when>2012-05-24 15:12:55 -0700</bug_when>
    <thetext>Created attachment 143905
Patch for landing

event.get() -&gt; event</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633292</commentid>
    <comment_count>14</comment_count>
      <attachid>143905</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-24 15:19:05 -0700</bug_when>
    <thetext>Comment on attachment 143905
Patch for landing

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

&gt; Source/WebCore/ChangeLog:6
&gt; +        Reviewed by NOBODY (OOPS!).

Next time you&apos;re just asking for cq?, please fill in the reviewer&apos;s name.
Otherwise the commit queue is going to reject the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633344</commentid>
    <comment_count>15</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-05-24 16:25:13 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Yeah, that&apos;s the only occurrence.

If that’s the only caller, then I think we should make that function private.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633353</commentid>
    <comment_count>16</comment_count>
      <attachid>143905</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-24 16:36:29 -0700</bug_when>
    <thetext>Comment on attachment 143905
Patch for landing

Clearing flags on attachment: 143905

Committed r118442: &lt;http://trac.webkit.org/changeset/118442&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>633354</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-24 16:36:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>142515</attachid>
            <date>2012-05-17 11:43:30 -0700</date>
            <delta_ts>2012-05-17 11:43:30 -0700</delta_ts>
            <desc>test case</desc>
            <filename>anchor.html</filename>
            <type>text/html</type>
            <size>162</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">PGEgaHJlZj0iL3dlYmtpdC9hbmNob3IuaHRtbCI+CglQcm9kdWN0IHRpdGxlCgk8Zm9ybSBhY3Rp
b249Ii93ZWJraXQvZm9ybS1hY3Rpb24uaHRtbCI+CgkJPGlucHV0IHR5cGU9InRleHQiPgoJCTxp
bnB1dCB0eXBlPSJzdWJtaXQiIHZhbHVlPSJTdWJtaXQiPgoJPC9mb3JtPgo8L2E+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143366</attachid>
            <date>2012-05-22 14:34:11 -0700</date>
            <delta_ts>2012-05-23 17:06:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86719-20120522143410.patch</filename>
            <type>text/plain</type>
            <size>9454</size>
            <attacher name="Pablo Flouret">pf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2NjkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGUwZjlhMWJmY2Q3MmY3
ZTMyYjcyY2E3YTlkNTEzZmMzNWZiZTRlZi4uN2NjY2NiOTc0MTYzN2FmM2FhOTA3Yzc3NTRhMTA4
Y2UwNzE1N2Q3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA1LTIyICBQYWJs
byBGbG91cmV0ICA8cGFibG9mQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBTdWJtaXQgYnV0dG9u
IGRvZXNuJ3Qgc3VibWl0IHRoZSBmb3JtIGlmIHRoZSBmb3JtIGlzIHdyYXBwZWQgYnkgYW4gYW5j
aG9yIHRhZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODY3MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
aGVuIGEgZm9ybSdzIGJ1dHRvbiBpcyBjbGlja2VkIG9yIGFjdGl2YXRlZCB3aXRoIHRoZSBrZXli
b2FyZCBhCisgICAgICAgIERPTUFjdGl2YXRlIGV2ZW50IGlzIGRpc3BhdGNoZWQgaW50ZXJuYWxs
eSBhbmQgdGhlIGRlZmF1bHQgaGFuZGxlciBmb3IKKyAgICAgICAgaXQgdGFrZXMgY2FyZSBvZiBw
cm9jZXNzaW5nIHRoZSBmb3JtIHN1Ym1pc3Npb24sIGJ1dCB0aGUgdW5kZXJseWluZworICAgICAg
ICBldmVudCB0aGF0IHByb21wdGVkIGl0IGlzIG5vdCBzZXQgYXMgaGFuZGxlZCBhbmQgc28gaXQg
ZW5kcyB1cAorICAgICAgICBuYXZpZ2F0aW5nIHRoZSBhbmNob3IsIHRoZXJlYnkgY2FuY2VsbGlu
ZyB0aGUgZm9ybSBzdWJtaXNzaW9uLgorCisgICAgICAgIFRoaXMgcGF0Y2ggc2V0cyB0aGUgdW5k
ZXJseWluZyBldmVudCBhcyBoYW5kbGVkIGlmIHRoZSBET01BY3RpdmF0ZSBldmVudAorICAgICAg
ICBvbiB0aGUgaW5wdXQgZWxlbWVudCB3YXMgaGFuZGxlZC4gVGhpcyBtYXRjaGVzIHRoZSByZXN0
IG9mIHRoZSBicm93c2VycworICAgICAgICBmb3IgZm9ybSBjb250cm9scyB0aGF0IHN1Ym1pdCBh
IGZvcm0gKGlucHV0IHR5cGU9c3VibWl0LCBidXR0b24KKyAgICAgICAgdHlwZT1zdWJtaXQsIGlu
cHV0IHR5cGU9aW1hZ2UsIGV0YyksIGFuZCBtYXRjaGVzIElFIGZvciB0aGUgcmVzdCBvZiB0aGUK
KyAgICAgICAgY29udHJvbHMgKGJhc2ljYWxseSwgSUUgbmV2ZXIgYWN0aXZhdGVzIHRoZSBhbmNo
b3Igd2hlbiBjbGlja2luZyBvbiBmb3JtCisgICAgICAgIGNvbnRyb2xzLCBQcmVzdG8gYW5kIEdl
Y2tvIG1vc3RseSBkb24ndCBlaXRoZXIsIGV4Y2VwdCBpbiBhIGZldyBjYXNlcy4KKworICAgICAg
ICBUZXN0OiBmYXN0L2Zvcm1zL2Zvcm0taW4tYW5jaG9yLWNvbnRyb2xzLWFjdGl2YXRpb24uaHRt
bAorCisgICAgICAgICogaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MQnV0dG9uRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcik6CisgICAgICAgICog
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVs
ZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIpOgorCiAyMDEyLTA1LTE0ICBQYWJsbyBGbG91cmV0
ICA8cGFibG9mQG1vdG9yb2xhLmNvbT4KIAogICAgICAgICBTY3JpcHQgZWxlbWVudHMgaW5zZXJ0
ZWQgd2hpbGUgZnJhZ21lbnQgcGFyc2luZyBzaG91bGQgaGF2ZSB0aGVpciAiYWxyZWFkeSBzdGFy
dGVkIiBmbGFnIHNldC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRv
bkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5jcHAK
aW5kZXggMjRlZTc3NjliOTViOWEwZTE1ZjI4YTg1MzgzYWFlM2ExNzBiNjJjNy4uNjA0MzM1YzJl
MmJhZjlkNTdlZWRkNDZlYzdhM2I0NmU4ZjA3MDgwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQnV0dG9uRWxlbWVudC5jcHAKQEAgLTEwNywxMyArMTA3LDE3IEBAIHZvaWQgSFRNTEJ1dHRv
bkVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKEF0dHJpYnV0ZSogYXR0cikKIHZvaWQgSFRNTEJ1dHRv
bkVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50KQogewogICAgIGlmIChl
dmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5ET01BY3RpdmF0ZUV2ZW50ICYmICFkaXNhYmxl
ZCgpKSB7Ci0gICAgICAgIGlmIChmb3JtKCkgJiYgbV90eXBlID09IFNVQk1JVCkgewotICAgICAg
ICAgICAgbV9pc0FjdGl2YXRlZFN1Ym1pdCA9IHRydWU7Ci0gICAgICAgICAgICBmb3JtKCktPnBy
ZXBhcmVGb3JTdWJtaXNzaW9uKGV2ZW50KTsKLSAgICAgICAgICAgIG1faXNBY3RpdmF0ZWRTdWJt
aXQgPSBmYWxzZTsgLy8gRG8gdGhpcyBpbiBjYXNlIHN1Ym1pc3Npb24gd2FzIGNhbmNlbGVkLgor
ICAgICAgICBpZiAoZm9ybSgpICYmIChtX3R5cGUgPT0gU1VCTUlUIHx8IG1fdHlwZSA9PSBSRVNF
VCkpIHsKKyAgICAgICAgICAgIGlmIChtX3R5cGUgPT0gU1VCTUlUKSB7CisgICAgICAgICAgICAg
ICAgbV9pc0FjdGl2YXRlZFN1Ym1pdCA9IHRydWU7CisgICAgICAgICAgICAgICAgZm9ybSgpLT5w
cmVwYXJlRm9yU3VibWlzc2lvbihldmVudCk7CisgICAgICAgICAgICAgICAgbV9pc0FjdGl2YXRl
ZFN1Ym1pdCA9IGZhbHNlOyAvLyBEbyB0aGlzIGluIGNhc2Ugc3VibWlzc2lvbiB3YXMgY2FuY2Vs
ZWQuCisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBmb3JtKCktPnJlc2V0KCk7
CisKKyAgICAgICAgICAgIGlmIChldmVudC0+dW5kZXJseWluZ0V2ZW50KCkpCisgICAgICAgICAg
ICAgICAgZXZlbnQtPnVuZGVybHlpbmdFdmVudCgpLT5zZXREZWZhdWx0SGFuZGxlZCgpOwogICAg
ICAgICB9Ci0gICAgICAgIGlmIChmb3JtKCkgJiYgbV90eXBlID09IFJFU0VUKQotICAgICAgICAg
ICAgZm9ybSgpLT5yZXNldCgpOwogICAgIH0KIAogICAgIGlmIChldmVudC0+aXNLZXlib2FyZEV2
ZW50KCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IDZm
ZTU1OTY1ZDRmMWRhNzU5OWQ2MjkwMmQ5ODkxZTQ4ZDQ3OWFlZjcuLmJhMjhlYmY5NWQ5ODY1OWY0
YTcwMDc5MzZhOWIxY2ZlODZkNjU0NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTElucHV0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRF
bGVtZW50LmNwcApAQCAtMTA1OCw4ICsxMDU4LDE3IEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6
ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZ0KQogICAgIC8vIG11c3QgZGlzcGF0Y2ggYSBE
T01BY3RpdmF0ZSBldmVudCAtIGEgY2xpY2sgZXZlbnQgd2lsbCBub3QgZG8gdGhlIGpvYi4KICAg
ICBpZiAoZXZ0LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLkRPTUFjdGl2YXRlRXZlbnQpIHsKICAg
ICAgICAgbV9pbnB1dFR5cGUtPmhhbmRsZURPTUFjdGl2YXRlRXZlbnQoZXZ0KTsKLSAgICAgICAg
aWYgKGV2dC0+ZGVmYXVsdEhhbmRsZWQoKSkKKworICAgICAgICBpZiAoZXZ0LT5kZWZhdWx0SGFu
ZGxlZCgpKSB7CisgICAgICAgICAgICAvLyBJZiB0aGUgYWN0aXZhdGlvbiBhY3R1YWxseSBjYW1l
IGZyb20gYSBrZXlib2FyZCBvciBtb3VzZSBhY3Rpb24gd2Ugc2hvdWxkIG1hcmsgdGhhdAorICAg
ICAgICAgICAgLy8gZXZlbnQgYXMgaGFuZGxlZCBhcyB3ZWxsLCBvdGhlcndpc2UgaXQnbGwga2Vl
cCBidWJibGluZyB1cCBhbmQgcGVyaGFwcyBoYXZpbmcKKyAgICAgICAgICAgIC8vIHVuaW50ZW5k
ZWQgY29uc2VxdWVuY2VzIChmb3IgaW5zdGFuY2UsIGlmIHRoZSBmb3JtIGlzIGluc2lkZSBhbiBh
bmNob3IsIHRoZSBhbmNob3IKKyAgICAgICAgICAgIC8vIHdpbGwgYmUgYWN0aXZhdGVkIGFmdGVy
IHRoaXMgaW5wdXQgZWxlbWVudCwgcG90ZW50aWFsbHkgbmF2aWdhdGluZyBhd2F5IGFuZCBjYW5j
ZWxsaW5nCisgICAgICAgICAgICAvLyB0aGUgZm9ybSBzdWJtaXNzaW9uKS4KKyAgICAgICAgICAg
IGlmIChldnQtPnVuZGVybHlpbmdFdmVudCgpKQorICAgICAgICAgICAgICAgIGV2dC0+dW5kZXJs
eWluZ0V2ZW50KCktPnNldERlZmF1bHRIYW5kbGVkKCk7CiAgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIH0KICAgICB9CiAKICAgICAvLyBVc2Uga2V5IHByZXNzIGV2ZW50IGhlcmUgc2luY2Ug
c2VuZGluZyBzaW11bGF0ZWQgbW91c2UgZXZlbnRzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNTI1M2EwZDBjZDYzMmFkN2M1
ODNhNmI4YzVjYWNkMTVkNTM1MjliZC4uYjVkMGQ0NzJmMmMxN2RkNDk2MTA1YWE5NTNlMDBmZGEy
YTU4MjVlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA1LTIyICBQYWJsbyBGbG91cmV0
ICA8cGFibG9mQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBTdWJtaXQgYnV0dG9uIGRvZXNuJ3Qg
c3VibWl0IHRoZSBmb3JtIGlmIHRoZSBmb3JtIGlzIHdyYXBwZWQgYnkgYW4gYW5jaG9yIHRhZwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODY3MTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZm9y
bXMvZm9ybS1pbi1hbmNob3ItY29udHJvbHMtYWN0aXZhdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZm9ybXMvZm9ybS1pbi1hbmNob3ItY29udHJvbHMtYWN0aXZhdGlv
bi5odG1sOiBBZGRlZC4KKwogMjAxMi0wNS0xNCAgUGFibG8gRmxvdXJldCAgPHBhYmxvZkBtb3Rv
cm9sYS5jb20+CiAKICAgICAgICAgU2NyaXB0IGVsZW1lbnRzIGluc2VydGVkIHdoaWxlIGZyYWdt
ZW50IHBhcnNpbmcgc2hvdWxkIGhhdmUgdGhlaXIgImFscmVhZHkgc3RhcnRlZCIgZmxhZyBzZXQu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Zvcm0taW4tYW5jaG9yLWNvbnRy
b2xzLWFjdGl2YXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3Jt
LWluLWFuY2hvci1jb250cm9scy1hY3RpdmF0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
NmViYWM4NmI3MmVjNjAwNTA0ZjI2ZjdmYTgzMzgwNmQzNWZiOTBiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLWluLWFuY2hvci1jb250cm9scy1hY3RpdmF0
aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM4IEBACitUbyB0ZXN0IG1hbnVhbGx5LCBjbGlj
ayBvbiBhbGwgdGhlIGZvcm0gZWxlbWVudHMgKGV4Y2VwdCB0aGUgdGV4dGJveCkuIFRoZSBhbmNo
b3Igc2hvdWxkbid0IGJlIGFjdGl2YXRlZCAoaS5lLiB5b3Ugc2hvdWxkbid0IHNlZSBhbnkgImFu
Y2hvciBhY3RpdmF0ZWQiIG1lc3NhZ2VzKS4KKworRm9jdXNpbmcgW29iamVjdCBIVE1MSW5wdXRF
bGVtZW50XSB0eXBlPXRleHQgYW5kIHByZXNzaW5nIGVudGVyCitmb3JtIHN1Ym1pdHRlZAorCitB
Y3RpdmF0ZWQgW29iamVjdCBIVE1MSW5wdXRFbGVtZW50XSB0eXBlPXN1Ym1pdAorZm9ybSBzdWJt
aXR0ZWQKKworRm9jdXNpbmcgW29iamVjdCBIVE1MSW5wdXRFbGVtZW50XSB0eXBlPXN1Ym1pdCBh
bmQgcHJlc3NpbmcgZW50ZXIKK0FjdGl2YXRlZCBbb2JqZWN0IEhUTUxJbnB1dEVsZW1lbnRdIHR5
cGU9c3VibWl0Citmb3JtIHN1Ym1pdHRlZAorCitBY3RpdmF0ZWQgW29iamVjdCBIVE1MSW5wdXRF
bGVtZW50XSB0eXBlPWltYWdlCitmb3JtIHN1Ym1pdHRlZAorCitGb2N1c2luZyBbb2JqZWN0IEhU
TUxJbnB1dEVsZW1lbnRdIHR5cGU9aW1hZ2UgYW5kIHByZXNzaW5nIGVudGVyCitBY3RpdmF0ZWQg
W29iamVjdCBIVE1MSW5wdXRFbGVtZW50XSB0eXBlPWltYWdlCitmb3JtIHN1Ym1pdHRlZAorCitB
Y3RpdmF0ZWQgW29iamVjdCBIVE1MQnV0dG9uRWxlbWVudF0gdHlwZT1zdWJtaXQKK2Zvcm0gc3Vi
bWl0dGVkCisKK0ZvY3VzaW5nIFtvYmplY3QgSFRNTEJ1dHRvbkVsZW1lbnRdIHR5cGU9c3VibWl0
IGFuZCBwcmVzc2luZyBlbnRlcgorQWN0aXZhdGVkIFtvYmplY3QgSFRNTEJ1dHRvbkVsZW1lbnRd
IHR5cGU9c3VibWl0Citmb3JtIHN1Ym1pdHRlZAorCitBY3RpdmF0ZWQgW29iamVjdCBIVE1MSW5w
dXRFbGVtZW50XSB0eXBlPXJlc2V0CitGb2N1c2luZyBbb2JqZWN0IEhUTUxJbnB1dEVsZW1lbnRd
IHR5cGU9cmVzZXQgYW5kIHByZXNzaW5nIGVudGVyCitBY3RpdmF0ZWQgW29iamVjdCBIVE1MSW5w
dXRFbGVtZW50XSB0eXBlPXJlc2V0CitBY3RpdmF0ZWQgW29iamVjdCBIVE1MQnV0dG9uRWxlbWVu
dF0gdHlwZT1yZXNldAorRm9jdXNpbmcgW29iamVjdCBIVE1MQnV0dG9uRWxlbWVudF0gdHlwZT1y
ZXNldCBhbmQgcHJlc3NpbmcgZW50ZXIKK0FjdGl2YXRlZCBbb2JqZWN0IEhUTUxCdXR0b25FbGVt
ZW50XSB0eXBlPXJlc2V0CitBY3RpdmF0ZWQgW29iamVjdCBIVE1MSW5wdXRFbGVtZW50XSB0eXBl
PWNoZWNrYm94CitBY3RpdmF0ZWQgW29iamVjdCBIVE1MSW5wdXRFbGVtZW50XSB0eXBlPXJhZGlv
CitBY3RpdmF0ZWQgW29iamVjdCBIVE1MSW5wdXRFbGVtZW50XSB0eXBlPWZpbGUKK0ZvY3VzaW5n
IFtvYmplY3QgSFRNTElucHV0RWxlbWVudF0gdHlwZT1maWxlIGFuZCBwcmVzc2luZyBlbnRlcgor
QWN0aXZhdGVkIFtvYmplY3QgSFRNTElucHV0RWxlbWVudF0gdHlwZT1maWxlCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9ybS1pbi1hbmNob3ItY29udHJvbHMtYWN0aXZh
dGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLWluLWFuY2hvci1jb250cm9s
cy1hY3RpdmF0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2U4MmYyYWVkZWIxMjAyZTUxYjFiNWI0MGQy
NjYxOGJmNzY4NDYzOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMv
Zm9ybS1pbi1hbmNob3ItY29udHJvbHMtYWN0aXZhdGlvbi5odG1sCkBAIC0wLDAgKzEsNjcgQEAK
KzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKKyAg
ICBmdW5jdGlvbiBsb2cocykgeyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJwcmUiKS5pbm5lckhU
TUwgKz0gcyArICJcbiI7IH0KKyAgICBmdW5jdGlvbiBmb3JtU3VibWl0dGVkKCkgeyBsb2coImZv
cm0gc3VibWl0dGVkXG4iKTsgfQorICAgIGZ1bmN0aW9uIGFuY2hvckFjdGl2YXRlZCgpIHsgbG9n
KCJhbmNob3IgYWN0aXZhdGVkXG4iKTsgfQorCisgICAgd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9u
ICgpIHsKKyAgICAgICAgZG9jdW1lbnQuZm9ybXNbMF0uZWxlbWVudHMudC52YWx1ZSA9ICJibGFo
IjsKKworICAgICAgICBmb3IgKHZhciBpPTA7IGkgPCBkb2N1bWVudC5mb3Jtc1swXS5jaGlsZHJl
bi5sZW5ndGg7IGkrKykgeworICAgICAgICAgICAgdmFyIGUgPSBkb2N1bWVudC5mb3Jtc1swXS5j
aGlsZHJlbltpXTsKKworICAgICAgICAgICAgKGZ1bmN0aW9uIChlbGVtZW50KSB7CisgICAgICAg
ICAgICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGZ1bmN0aW9uICgpIHsK
KyAgICAgICAgICAgICAgICAgICAgbG9nKCJBY3RpdmF0ZWQgIiArIGVsZW1lbnQgKyAiIHR5cGU9
IiArIGVsZW1lbnQudHlwZSk7CisgICAgICAgICAgICAgICAgfSwgZmFsc2UpOworICAgICAgICAg
ICAgfSkoZSk7CisKKyAgICAgICAgICAgIGlmICghd2luZG93LmV2ZW50U2VuZGVyKQorICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICBpZiAoZS50eXBlID09ICJ0ZXh0Iikg
eworICAgICAgICAgICAgICAgIGxvZygiRm9jdXNpbmcgIiArIGUgKyAiIHR5cGU9IiArIGUudHlw
ZSArICIgYW5kIHByZXNzaW5nIGVudGVyIik7CisgICAgICAgICAgICAgICAgZS5mb2N1cygpOwor
ICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oIlxuIik7CisgICAgICAgICAgICAg
ICAgY29udGludWU7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1v
dXNlTW92ZVRvKGUub2Zmc2V0TGVmdCszLCBlLm9mZnNldFRvcCszKTsKKyAgICAgICAgICAgIGV2
ZW50U2VuZGVyLm1vdXNlRG93bigpOworICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgp
OworCisgICAgICAgICAgICBpZiAoZS50eXBlID09ICJyYWRpbyIgfHwgZS50eXBlID09ICJjaGVj
a2JveCIpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIGxvZygiRm9j
dXNpbmcgIiArIGUgKyAiIHR5cGU9IiArIGUudHlwZSArICIgYW5kIHByZXNzaW5nIGVudGVyIik7
CisgICAgICAgICAgICBlLmZvY3VzKCk7CisgICAgICAgICAgICBldmVudFNlbmRlci5rZXlEb3du
KCJcbiIpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKKyAgICAgICAgICAgIGRvY3VtZW50LmZvcm1zWzBdLnN0eWxlLmRpc3BsYXkgPSAibm9u
ZSI7CisgICAgfQorPC9zY3JpcHQ+CitUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayBvbiBhbGwgdGhl
IGZvcm0gZWxlbWVudHMgKGV4Y2VwdCB0aGUgdGV4dGJveCkuIFRoZQorYW5jaG9yIHNob3VsZG4n
dCBiZSBhY3RpdmF0ZWQgKGkuZS4geW91IHNob3VsZG4ndCBzZWUgYW55ICJhbmNob3IgYWN0aXZh
dGVkIiBtZXNzYWdlcykuCis8YSBocmVmPSJqYXZhc2NyaXB0OmFuY2hvckFjdGl2YXRlZCgpIj4K
KyAgICA8Zm9ybSBhY3Rpb249ImphdmFzY3JpcHQ6Zm9ybVN1Ym1pdHRlZCgpIj4KKwkJPGlucHV0
IG5hbWU9dCB0eXBlPXRleHQ+CisJCTxpbnB1dCB0eXBlPXN1Ym1pdD4KKwkJPGlucHV0IHR5cGU9
aW1hZ2Ugc3JjPXJlc291cmNlcy9hcHBsZS5naWY+CisgICAgICAgIDxidXR0b24gPmJ1dHRvbjwv
YnV0dG9uPgorCQk8aW5wdXQgdHlwZT1yZXNldD4KKyAgICAgICAgPGJ1dHRvbiB0eXBlPXJlc2V0
PmJ1dHRvbiByZXNldDwvYnV0dG9uPgorICAgICAgICA8aW5wdXQgdHlwZT1jaGVja2JveD4KKyAg
ICAgICAgPGlucHV0IHR5cGU9cmFkaW8+CisgICAgICAgIDxpbnB1dCB0eXBlPWZpbGU+CisJPC9m
b3JtPgorPC9hPgorPHByZT4KKworPC9wcmU+Cis8c2NyaXB0PgorPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143687</attachid>
            <date>2012-05-23 17:06:32 -0700</date>
            <delta_ts>2012-05-24 14:44:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86719-20120523170631.patch</filename>
            <type>text/plain</type>
            <size>9335</size>
            <attacher name="Pablo Flouret">pf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2NjkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGUwZjlhMWJmY2Q3MmY3
ZTMyYjcyY2E3YTlkNTEzZmMzNWZiZTRlZi4uYmMxZThjMGNlNzRjZTU4N2RjZjIxZGI4OTM1YzEx
ZWViZmFmNzQ3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTA1LTIyICBQYWJs
byBGbG91cmV0ICA8cGFibG9mQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBTdWJtaXQgYnV0dG9u
IGRvZXNuJ3Qgc3VibWl0IHRoZSBmb3JtIGlmIHRoZSBmb3JtIGlzIHdyYXBwZWQgYnkgYW4gYW5j
aG9yIHRhZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODY3MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
aGVuIGEgZm9ybSdzIGJ1dHRvbiBpcyBjbGlja2VkIG9yIGFjdGl2YXRlZCB3aXRoIHRoZSBrZXli
b2FyZCBhCisgICAgICAgIERPTUFjdGl2YXRlIGV2ZW50IGlzIGRpc3BhdGNoZWQgaW50ZXJuYWxs
eSBhbmQgdGhlIGRlZmF1bHQgaGFuZGxlciBmb3IKKyAgICAgICAgaXQgdGFrZXMgY2FyZSBvZiBw
cm9jZXNzaW5nIHRoZSBmb3JtIHN1Ym1pc3Npb24sIGJ1dCB0aGUgdW5kZXJseWluZworICAgICAg
ICBldmVudCB0aGF0IHByb21wdGVkIGl0IGlzIG5vdCBzZXQgYXMgaGFuZGxlZCBhbmQgc28gaXQg
ZW5kcyB1cAorICAgICAgICBuYXZpZ2F0aW5nIHRoZSBhbmNob3IsIHRoZXJlYnkgY2FuY2VsbGlu
ZyB0aGUgZm9ybSBzdWJtaXNzaW9uLgorCisgICAgICAgIFRoaXMgcGF0Y2ggc2V0cyB0aGUgb3Jp
Z2luYWwgY2xpY2sgZXZlbnQgYXMgaGFuZGxlZCBpZiB0aGUgRE9NQWN0aXZhdGUKKyAgICAgICAg
ZXZlbnQgd2FzIGhhbmRsZWQuIFRoaXMgbWF0Y2hlcyB0aGUgcmVzdCBvZiB0aGUgYnJvd3NlcnMg
Zm9yIGZvcm0KKyAgICAgICAgY29udHJvbHMgdGhhdCBzdWJtaXQgYSBmb3JtIChpbnB1dCB0eXBl
PXN1Ym1pdCwgYnV0dG9uIHR5cGU9c3VibWl0LAorICAgICAgICBpbnB1dCB0eXBlPWltYWdlLCBl
dGMpLCBhbmQgbWF0Y2hlcyBJRSBmb3IgdGhlIHJlc3Qgb2YgdGhlIGNvbnRyb2xzCisgICAgICAg
IChiYXNpY2FsbHksIElFIG5ldmVyIGFjdGl2YXRlcyB0aGUgYW5jaG9yIHdoZW4gY2xpY2tpbmcg
b24gZm9ybQorICAgICAgICBjb250cm9scywgUHJlc3RvIGFuZCBHZWNrbyBtb3N0bHkgZG9uJ3Qg
ZWl0aGVyLCBleGNlcHQgaW4gYSBmZXcgY2FzZXMuCisKKyAgICAgICAgVGVzdDogZmFzdC9mb3Jt
cy9mb3JtLWluLWFuY2hvci1jb250cm9scy1hY3RpdmF0aW9uLmh0bWwKKworICAgICAgICAqIGRv
bS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmRpc3BhdGNoRE9NQWN0aXZhdGVF
dmVudCk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpkZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAg
ICAgICAgKiBkb20vTm9kZS5oOgorICAgICAgICAoTm9kZSk6CisKIDIwMTItMDUtMTQgIFBhYmxv
IEZsb3VyZXQgIDxwYWJsb2ZAbW90b3JvbGEuY29tPgogCiAgICAgICAgIFNjcmlwdCBlbGVtZW50
cyBpbnNlcnRlZCB3aGlsZSBmcmFnbWVudCBwYXJzaW5nIHNob3VsZCBoYXZlIHRoZWlyICJhbHJl
YWR5IHN0YXJ0ZWQiIGZsYWcgc2V0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IDY5ODdiZWJkZmM1YjI1
ZGI4MTBiMTI2ZDY4NWUzNWUyYjJhZTViM2YuLmMzZTc4OGQxNTk1ZjM5OTAyMGQ5MmQwZmM3YTYy
MjFmZjdlYmVmMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTI3NzYsMTIgKzI3NzYsMTMgQEAgdm9p
ZCBOb2RlOjpkaXNwYXRjaEZvY3VzT3V0RXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5
cGUsIFBhc3NSZWZQdHI8Tm9kZT4KICAgICBkaXNwYXRjaFNjb3BlZEV2ZW50RGlzcGF0Y2hNZWRp
YXRvcihGb2N1c091dEV2ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKFVJRXZlbnQ6OmNyZWF0
ZShldmVudFR5cGUsIHRydWUsIGZhbHNlLCBkb2N1bWVudCgpLT5kZWZhdWx0VmlldygpLCAwKSwg
bmV3Rm9jdXNlZE5vZGUpKTsKIH0KIAotdm9pZCBOb2RlOjpkaXNwYXRjaERPTUFjdGl2YXRlRXZl
bnQoaW50IGRldGFpbCwgUGFzc1JlZlB0cjxFdmVudD4gdW5kZXJseWluZ0V2ZW50KQorYm9vbCBO
b2RlOjpkaXNwYXRjaERPTUFjdGl2YXRlRXZlbnQoaW50IGRldGFpbCwgUGFzc1JlZlB0cjxFdmVu
dD4gdW5kZXJseWluZ0V2ZW50KQogewogICAgIEFTU0VSVCghZXZlbnREaXNwYXRjaEZvcmJpZGRl
bigpKTsKICAgICBSZWZQdHI8VUlFdmVudD4gZXZlbnQgPSBVSUV2ZW50OjpjcmVhdGUoZXZlbnRO
YW1lcygpLkRPTUFjdGl2YXRlRXZlbnQsIHRydWUsIHRydWUsIGRvY3VtZW50KCktPmRlZmF1bHRW
aWV3KCksIGRldGFpbCk7CiAgICAgZXZlbnQtPnNldFVuZGVybHlpbmdFdmVudCh1bmRlcmx5aW5n
RXZlbnQpOwogICAgIGRpc3BhdGNoU2NvcGVkRXZlbnQoZXZlbnQucmVsZWFzZSgpKTsKKyAgICBy
ZXR1cm4gZXZlbnQtPmRlZmF1bHRIYW5kbGVkKCk7CiB9CiAKIGJvb2wgTm9kZTo6ZGlzcGF0Y2hL
ZXlFdmVudChjb25zdCBQbGF0Zm9ybUtleWJvYXJkRXZlbnQmIGV2ZW50KQpAQCAtMjg1OCw3ICsy
ODU5LDggQEAgdm9pZCBOb2RlOjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKICAg
ICAgICAgICAgICAgICBmcmFtZS0+ZXZlbnRIYW5kbGVyKCktPmRlZmF1bHRLZXlib2FyZEV2ZW50
SGFuZGxlcihzdGF0aWNfY2FzdDxLZXlib2FyZEV2ZW50Kj4oZXZlbnQpKTsKICAgICB9IGVsc2Ug
aWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuY2xpY2tFdmVudCkgewogICAgICAgICBpbnQg
ZGV0YWlsID0gZXZlbnQtPmlzVUlFdmVudCgpID8gc3RhdGljX2Nhc3Q8VUlFdmVudCo+KGV2ZW50
KS0+ZGV0YWlsKCkgOiAwOwotICAgICAgICBkaXNwYXRjaERPTUFjdGl2YXRlRXZlbnQoZGV0YWls
LCBldmVudCk7CisgICAgICAgIGlmIChkaXNwYXRjaERPTUFjdGl2YXRlRXZlbnQoZGV0YWlsLCBl
dmVudCkpCisgICAgICAgICAgICBldmVudC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsKICNpZiBFTkFC
TEUoQ09OVEVYVF9NRU5VUykKICAgICB9IGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVz
KCkuY29udGV4dG1lbnVFdmVudCkgewogICAgICAgICBpZiAoRnJhbWUqIGZyYW1lID0gZG9jdW1l
bnQoKS0+ZnJhbWUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCmluZGV4IDMyOGMwMjliMDk4MWFmZDRmNmY3ZGZjYjAx
NzBjYTgzNGJhYzlkYzcuLmJjMWNlMTI5OWY1MGQxNzQwZTY3OTIxYjBkNTM0YTQ3OTNiNWYxMTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL05vZGUuaApAQCAtNTk5LDcgKzU5OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc3Bh
dGNoUmVnaW9uTGF5b3V0VXBkYXRlRXZlbnQoKTsKIAogICAgIHZvaWQgZGlzcGF0Y2hTdWJ0cmVl
TW9kaWZpZWRFdmVudCgpOwotICAgIHZvaWQgZGlzcGF0Y2hET01BY3RpdmF0ZUV2ZW50KGludCBk
ZXRhaWwsIFBhc3NSZWZQdHI8RXZlbnQ+IHVuZGVybHlpbmdFdmVudCk7CisgICAgYm9vbCBkaXNw
YXRjaERPTUFjdGl2YXRlRXZlbnQoaW50IGRldGFpbCwgUGFzc1JlZlB0cjxFdmVudD4gdW5kZXJs
eWluZ0V2ZW50KTsKICAgICB2b2lkIGRpc3BhdGNoRm9jdXNJbkV2ZW50KGNvbnN0IEF0b21pY1N0
cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVmUHRyPE5vZGU+IG9sZEZvY3VzZWROb2RlKTsKICAgICB2
b2lkIGRpc3BhdGNoRm9jdXNPdXRFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwg
UGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1MjUzYTBkMGNkNjMy
YWQ3YzU4M2E2YjhjNWNhY2QxNWQ1MzUyOWJkLi5iNWQwZDQ3MmYyYzE3ZGQ0OTYxMDVhYTk1M2Uw
MGZkYTJhNTgyNWVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDUtMjIgIFBhYmxvIEZs
b3VyZXQgIDxwYWJsb2ZAbW90b3JvbGEuY29tPgorCisgICAgICAgIFN1Ym1pdCBidXR0b24gZG9l
c24ndCBzdWJtaXQgdGhlIGZvcm0gaWYgdGhlIGZvcm0gaXMgd3JhcHBlZCBieSBhbiBhbmNob3Ig
dGFnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04Njcx
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFz
dC9mb3Jtcy9mb3JtLWluLWFuY2hvci1jb250cm9scy1hY3RpdmF0aW9uLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9mb3JtLWluLWFuY2hvci1jb250cm9scy1hY3Rp
dmF0aW9uLmh0bWw6IEFkZGVkLgorCiAyMDEyLTA1LTE0ICBQYWJsbyBGbG91cmV0ICA8cGFibG9m
QG1vdG9yb2xhLmNvbT4KIAogICAgICAgICBTY3JpcHQgZWxlbWVudHMgaW5zZXJ0ZWQgd2hpbGUg
ZnJhZ21lbnQgcGFyc2luZyBzaG91bGQgaGF2ZSB0aGVpciAiYWxyZWFkeSBzdGFydGVkIiBmbGFn
IHNldC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvZm9ybS1pbi1hbmNob3It
Y29udHJvbHMtYWN0aXZhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2Zvcm0taW4tYW5jaG9yLWNvbnRyb2xzLWFjdGl2YXRpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY2ZWJhYzg2YjcyZWM2MDA1MDRmMjZmN2ZhODMzODA2ZDM1ZmI5MGIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Zvcm0taW4tYW5jaG9yLWNvbnRyb2xzLWFj
dGl2YXRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzggQEAKK1RvIHRlc3QgbWFudWFsbHks
IGNsaWNrIG9uIGFsbCB0aGUgZm9ybSBlbGVtZW50cyAoZXhjZXB0IHRoZSB0ZXh0Ym94KS4gVGhl
IGFuY2hvciBzaG91bGRuJ3QgYmUgYWN0aXZhdGVkIChpLmUuIHlvdSBzaG91bGRuJ3Qgc2VlIGFu
eSAiYW5jaG9yIGFjdGl2YXRlZCIgbWVzc2FnZXMpLgorCitGb2N1c2luZyBbb2JqZWN0IEhUTUxJ
bnB1dEVsZW1lbnRdIHR5cGU9dGV4dCBhbmQgcHJlc3NpbmcgZW50ZXIKK2Zvcm0gc3VibWl0dGVk
CisKK0FjdGl2YXRlZCBbb2JqZWN0IEhUTUxJbnB1dEVsZW1lbnRdIHR5cGU9c3VibWl0Citmb3Jt
IHN1Ym1pdHRlZAorCitGb2N1c2luZyBbb2JqZWN0IEhUTUxJbnB1dEVsZW1lbnRdIHR5cGU9c3Vi
bWl0IGFuZCBwcmVzc2luZyBlbnRlcgorQWN0aXZhdGVkIFtvYmplY3QgSFRNTElucHV0RWxlbWVu
dF0gdHlwZT1zdWJtaXQKK2Zvcm0gc3VibWl0dGVkCisKK0FjdGl2YXRlZCBbb2JqZWN0IEhUTUxJ
bnB1dEVsZW1lbnRdIHR5cGU9aW1hZ2UKK2Zvcm0gc3VibWl0dGVkCisKK0ZvY3VzaW5nIFtvYmpl
Y3QgSFRNTElucHV0RWxlbWVudF0gdHlwZT1pbWFnZSBhbmQgcHJlc3NpbmcgZW50ZXIKK0FjdGl2
YXRlZCBbb2JqZWN0IEhUTUxJbnB1dEVsZW1lbnRdIHR5cGU9aW1hZ2UKK2Zvcm0gc3VibWl0dGVk
CisKK0FjdGl2YXRlZCBbb2JqZWN0IEhUTUxCdXR0b25FbGVtZW50XSB0eXBlPXN1Ym1pdAorZm9y
bSBzdWJtaXR0ZWQKKworRm9jdXNpbmcgW29iamVjdCBIVE1MQnV0dG9uRWxlbWVudF0gdHlwZT1z
dWJtaXQgYW5kIHByZXNzaW5nIGVudGVyCitBY3RpdmF0ZWQgW29iamVjdCBIVE1MQnV0dG9uRWxl
bWVudF0gdHlwZT1zdWJtaXQKK2Zvcm0gc3VibWl0dGVkCisKK0FjdGl2YXRlZCBbb2JqZWN0IEhU
TUxJbnB1dEVsZW1lbnRdIHR5cGU9cmVzZXQKK0ZvY3VzaW5nIFtvYmplY3QgSFRNTElucHV0RWxl
bWVudF0gdHlwZT1yZXNldCBhbmQgcHJlc3NpbmcgZW50ZXIKK0FjdGl2YXRlZCBbb2JqZWN0IEhU
TUxJbnB1dEVsZW1lbnRdIHR5cGU9cmVzZXQKK0FjdGl2YXRlZCBbb2JqZWN0IEhUTUxCdXR0b25F
bGVtZW50XSB0eXBlPXJlc2V0CitGb2N1c2luZyBbb2JqZWN0IEhUTUxCdXR0b25FbGVtZW50XSB0
eXBlPXJlc2V0IGFuZCBwcmVzc2luZyBlbnRlcgorQWN0aXZhdGVkIFtvYmplY3QgSFRNTEJ1dHRv
bkVsZW1lbnRdIHR5cGU9cmVzZXQKK0FjdGl2YXRlZCBbb2JqZWN0IEhUTUxJbnB1dEVsZW1lbnRd
IHR5cGU9Y2hlY2tib3gKK0FjdGl2YXRlZCBbb2JqZWN0IEhUTUxJbnB1dEVsZW1lbnRdIHR5cGU9
cmFkaW8KK0FjdGl2YXRlZCBbb2JqZWN0IEhUTUxJbnB1dEVsZW1lbnRdIHR5cGU9ZmlsZQorRm9j
dXNpbmcgW29iamVjdCBIVE1MSW5wdXRFbGVtZW50XSB0eXBlPWZpbGUgYW5kIHByZXNzaW5nIGVu
dGVyCitBY3RpdmF0ZWQgW29iamVjdCBIVE1MSW5wdXRFbGVtZW50XSB0eXBlPWZpbGUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9mb3JtLWluLWFuY2hvci1jb250cm9scy1h
Y3RpdmF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2Zvcm0taW4tYW5jaG9yLWNv
bnRyb2xzLWFjdGl2YXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZDQ2YmMzYmIxMzY3NzE2YjdjYTBj
MTg0MzNmOWJiODE4YjA5YzAzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9mb3JtLWluLWFuY2hvci1jb250cm9scy1hY3RpdmF0aW9uLmh0bWwKQEAgLTAsMCArMSw3
MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK2Z1bmN0
aW9uIGxvZyhtZXNzYWdlKSB7IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInByZSIpLmlubmVySFRN
TCArPSBtZXNzYWdlICsgIlxuIjsgfQorZnVuY3Rpb24gZm9ybVN1Ym1pdHRlZCgpIHsgbG9nKCJm
b3JtIHN1Ym1pdHRlZFxuIik7IH0KK2Z1bmN0aW9uIGFuY2hvckFjdGl2YXRlZCgpIHsgbG9nKCJh
bmNob3IgYWN0aXZhdGVkXG4iKTsgfQorCit3aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgewor
ICAgIGRvY3VtZW50LmZvcm1zWzBdLmNoaWxkcmVuWzBdLnZhbHVlID0gImJsYWgiOworCisgICAg
Zm9yICh2YXIgaT0wOyBpIDwgZG9jdW1lbnQuZm9ybXNbMF0uY2hpbGRyZW4ubGVuZ3RoOyBpKysp
IHsKKyAgICAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5mb3Jtc1swXS5jaGlsZHJlbltpXTsK
KworICAgICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgZnVuY3Rpb24gKCkg
eworICAgICAgICAgICAgbG9nKCJBY3RpdmF0ZWQgIiArIHRoaXMgKyAiIHR5cGU9IiArIHRoaXMu
dHlwZSk7CisgICAgICAgIH0sIGZhbHNlKTsKKworICAgICAgICAvKgorICAgICAgICAoZnVuY3Rp
b24gKGVsZW1lbnQpIHsKKyAgICAgICAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgbG9nKCJBY3RpdmF0ZWQgIiArIGVs
ZW1lbnQgKyAiIHR5cGU9IiArIGVsZW1lbnQudHlwZSk7CisgICAgICAgICAgICB9LCBmYWxzZSk7
CisgICAgICAgIH0pKGVsZW1lbnQpOworICAgICAgICAqLworCisgICAgICAgIGlmICghd2luZG93
LmV2ZW50U2VuZGVyKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgaWYgKGVsZW1l
bnQudHlwZSA9PSAidGV4dCIpIHsKKyAgICAgICAgICAgIGxvZygiRm9jdXNpbmcgIiArIGVsZW1l
bnQgKyAiIHR5cGU9IiArIGVsZW1lbnQudHlwZSArICIgYW5kIHByZXNzaW5nIGVudGVyIik7Cisg
ICAgICAgICAgICBlbGVtZW50LmZvY3VzKCk7CisgICAgICAgICAgICBldmVudFNlbmRlci5rZXlE
b3duKCJcbiIpOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAgICBl
dmVudFNlbmRlci5tb3VzZU1vdmVUbyhlbGVtZW50Lm9mZnNldExlZnQgKyBlbGVtZW50LmNsaWVu
dFdpZHRoIC8gMiwgZWxlbWVudC5vZmZzZXRUb3AgKyBlbGVtZW50LmNsaWVudEhlaWdodCAvIDIp
OworICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICAgICAgZXZlbnRTZW5kZXIu
bW91c2VVcCgpOworCisgICAgICAgIGlmIChlbGVtZW50LnR5cGUgPT0gInJhZGlvIiB8fCBlbGVt
ZW50LnR5cGUgPT0gImNoZWNrYm94IikKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAg
IGxvZygiRm9jdXNpbmcgIiArIGVsZW1lbnQgKyAiIHR5cGU9IiArIGVsZW1lbnQudHlwZSArICIg
YW5kIHByZXNzaW5nIGVudGVyIik7CisgICAgICAgIGVsZW1lbnQuZm9jdXMoKTsKKyAgICAgICAg
ZXZlbnRTZW5kZXIua2V5RG93bigiXG4iKTsKKyAgICB9CisKKyAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQorICAgICAgICBkb2N1bWVudC5mb3Jtc1swXS5zdHlsZS5kaXNwbGF5
ID0gIm5vbmUiOworfQorPC9zY3JpcHQ+CitUbyB0ZXN0IG1hbnVhbGx5LCBjbGljayBvbiBhbGwg
dGhlIGZvcm0gZWxlbWVudHMgKGV4Y2VwdCB0aGUgdGV4dGJveCkuIFRoZQorYW5jaG9yIHNob3Vs
ZG4ndCBiZSBhY3RpdmF0ZWQgKGkuZS4geW91IHNob3VsZG4ndCBzZWUgYW55ICJhbmNob3IgYWN0
aXZhdGVkIiBtZXNzYWdlcykuCis8YSBocmVmPSJqYXZhc2NyaXB0OmFuY2hvckFjdGl2YXRlZCgp
Ij4KKyAgICA8Zm9ybSBhY3Rpb249ImphdmFzY3JpcHQ6Zm9ybVN1Ym1pdHRlZCgpIj4KKwkJPGlu
cHV0IHR5cGU9dGV4dD4KKwkJPGlucHV0IHR5cGU9c3VibWl0PgorCQk8aW5wdXQgdHlwZT1pbWFn
ZSBzcmM9cmVzb3VyY2VzL2FwcGxlLmdpZj4KKyAgICAgICAgPGJ1dHRvbj5idXR0b248L2J1dHRv
bj4KKwkJPGlucHV0IHR5cGU9cmVzZXQ+CisgICAgICAgIDxidXR0b24gdHlwZT1yZXNldD5idXR0
b24gcmVzZXQ8L2J1dHRvbj4KKyAgICAgICAgPGlucHV0IHR5cGU9Y2hlY2tib3g+CisgICAgICAg
IDxpbnB1dCB0eXBlPXJhZGlvPgorICAgICAgICA8aW5wdXQgdHlwZT1maWxlPgorCTwvZm9ybT4K
KzwvYT4KKzxwcmU+CisKKzwvcHJlPgorPHNjcmlwdD4KKzwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143901</attachid>
            <date>2012-05-24 14:44:22 -0700</date>
            <delta_ts>2012-05-24 15:19:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-86719-20120524144421.patch</filename>
            <type>text/plain</type>
            <size>10555</size>
            <attacher name="Pablo Flouret">pf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2NjkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGUwZjlhMWJmY2Q3MmY3
ZTMyYjcyY2E3YTlkNTEzZmMzNWZiZTRlZi4uZWY0OWZmZGUwNGNkOTllNDc0ZDUwYzc4NGI1ZjU0
OTI2ZGNlMzZkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA1LTIyICBQYWJs
byBGbG91cmV0ICA8cGFibG9mQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBTdWJtaXQgYnV0dG9u
IGRvZXNuJ3Qgc3VibWl0IHRoZSBmb3JtIGlmIHRoZSBmb3JtIGlzIHdyYXBwZWQgYnkgYW4gYW5j
aG9yIHRhZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODY3MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
aGVuIGEgZm9ybSdzIGJ1dHRvbiBpcyBjbGlja2VkIG9yIGFjdGl2YXRlZCB3aXRoIHRoZSBrZXli
b2FyZCBhCisgICAgICAgIERPTUFjdGl2YXRlIGV2ZW50IGlzIGRpc3BhdGNoZWQgaW50ZXJuYWxs
eSBhbmQgdGhlIGRlZmF1bHQgaGFuZGxlciBmb3IKKyAgICAgICAgaXQgdGFrZXMgY2FyZSBvZiBw
cm9jZXNzaW5nIHRoZSBmb3JtIHN1Ym1pc3Npb24sIGJ1dCB0aGUgdW5kZXJseWluZworICAgICAg
ICBldmVudCB0aGF0IHByb21wdGVkIGl0IGlzIG5vdCBzZXQgYXMgaGFuZGxlZCBhbmQgc28gaXQg
ZW5kcyB1cAorICAgICAgICBuYXZpZ2F0aW5nIHRoZSBhbmNob3IsIHRoZXJlYnkgY2FuY2VsbGlu
ZyB0aGUgZm9ybSBzdWJtaXNzaW9uLgorCisgICAgICAgIFRoaXMgcGF0Y2ggc2V0cyB0aGUgb3Jp
Z2luYWwgY2xpY2sgZXZlbnQgYXMgaGFuZGxlZCBpZiB0aGUgRE9NQWN0aXZhdGUKKyAgICAgICAg
ZXZlbnQgd2FzIGhhbmRsZWQuIFRoaXMgbWF0Y2hlcyB0aGUgcmVzdCBvZiB0aGUgYnJvd3NlcnMg
Zm9yIGZvcm0KKyAgICAgICAgY29udHJvbHMgdGhhdCBzdWJtaXQgYSBmb3JtIChpbnB1dCB0eXBl
PXN1Ym1pdCwgYnV0dG9uIHR5cGU9c3VibWl0LAorICAgICAgICBpbnB1dCB0eXBlPWltYWdlLCBl
dGMpLCBhbmQgbWF0Y2hlcyBJRSBmb3IgdGhlIHJlc3Qgb2YgdGhlIGNvbnRyb2xzCisgICAgICAg
IChiYXNpY2FsbHksIElFIG5ldmVyIGFjdGl2YXRlcyB0aGUgYW5jaG9yIHdoZW4gY2xpY2tpbmcg
b24gZm9ybQorICAgICAgICBjb250cm9scywgUHJlc3RvIGFuZCBHZWNrbyBtb3N0bHkgZG9uJ3Qg
ZWl0aGVyLCBleGNlcHQgaW4gYSBmZXcgY2FzZXMuCisKKyAgICAgICAgVGVzdDogZmFzdC9mb3Jt
cy9mb3JtLWluLWFuY2hvci1jb250cm9scy1hY3RpdmF0aW9uLmh0bWwKKworICAgICAgICAqIGRv
bS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmRpc3BhdGNoRE9NQWN0aXZhdGVF
dmVudCk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpkZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAg
ICAgICAgKiBkb20vTm9kZS5oOgorICAgICAgICAoTm9kZSk6CisgICAgICAgICogaHRtbC9IVE1M
QnV0dG9uRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQnV0dG9uRWxlbWVudDo6
ZGVmYXVsdEV2ZW50SGFuZGxlcik6CisKIDIwMTItMDUtMTQgIFBhYmxvIEZsb3VyZXQgIDxwYWJs
b2ZAbW90b3JvbGEuY29tPgogCiAgICAgICAgIFNjcmlwdCBlbGVtZW50cyBpbnNlcnRlZCB3aGls
ZSBmcmFnbWVudCBwYXJzaW5nIHNob3VsZCBoYXZlIHRoZWlyICJhbHJlYWR5IHN0YXJ0ZWQiIGZs
YWcgc2V0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IDY5ODdiZWJkZmM1YjI1ZGI4MTBiMTI2ZDY4NWUz
NWUyYjJhZTViM2YuLmI0MWE1NjAyMjZlMjI3OTM4MmIwZDBlNjMwMzU1N2VkODYwMjA3MzQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vTm9kZS5jcHAKQEAgLTI3NzYsMTIgKzI3NzYsMTMgQEAgdm9pZCBOb2RlOjpkaXNwYXRj
aEZvY3VzT3V0RXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIFBhc3NSZWZQdHI8
Tm9kZT4KICAgICBkaXNwYXRjaFNjb3BlZEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihGb2N1c091dEV2
ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKFVJRXZlbnQ6OmNyZWF0ZShldmVudFR5cGUsIHRy
dWUsIGZhbHNlLCBkb2N1bWVudCgpLT5kZWZhdWx0VmlldygpLCAwKSwgbmV3Rm9jdXNlZE5vZGUp
KTsKIH0KIAotdm9pZCBOb2RlOjpkaXNwYXRjaERPTUFjdGl2YXRlRXZlbnQoaW50IGRldGFpbCwg
UGFzc1JlZlB0cjxFdmVudD4gdW5kZXJseWluZ0V2ZW50KQorYm9vbCBOb2RlOjpkaXNwYXRjaERP
TUFjdGl2YXRlRXZlbnQoaW50IGRldGFpbCwgUGFzc1JlZlB0cjxFdmVudD4gdW5kZXJseWluZ0V2
ZW50KQogewogICAgIEFTU0VSVCghZXZlbnREaXNwYXRjaEZvcmJpZGRlbigpKTsKICAgICBSZWZQ
dHI8VUlFdmVudD4gZXZlbnQgPSBVSUV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLkRPTUFjdGl2
YXRlRXZlbnQsIHRydWUsIHRydWUsIGRvY3VtZW50KCktPmRlZmF1bHRWaWV3KCksIGRldGFpbCk7
CiAgICAgZXZlbnQtPnNldFVuZGVybHlpbmdFdmVudCh1bmRlcmx5aW5nRXZlbnQpOwotICAgIGRp
c3BhdGNoU2NvcGVkRXZlbnQoZXZlbnQucmVsZWFzZSgpKTsKKyAgICBkaXNwYXRjaFNjb3BlZEV2
ZW50KGV2ZW50LmdldCgpKTsKKyAgICByZXR1cm4gZXZlbnQtPmRlZmF1bHRIYW5kbGVkKCk7CiB9
CiAKIGJvb2wgTm9kZTo6ZGlzcGF0Y2hLZXlFdmVudChjb25zdCBQbGF0Zm9ybUtleWJvYXJkRXZl
bnQmIGV2ZW50KQpAQCAtMjg1OCw3ICsyODU5LDggQEAgdm9pZCBOb2RlOjpkZWZhdWx0RXZlbnRI
YW5kbGVyKEV2ZW50KiBldmVudCkKICAgICAgICAgICAgICAgICBmcmFtZS0+ZXZlbnRIYW5kbGVy
KCktPmRlZmF1bHRLZXlib2FyZEV2ZW50SGFuZGxlcihzdGF0aWNfY2FzdDxLZXlib2FyZEV2ZW50
Kj4oZXZlbnQpKTsKICAgICB9IGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuY2xp
Y2tFdmVudCkgewogICAgICAgICBpbnQgZGV0YWlsID0gZXZlbnQtPmlzVUlFdmVudCgpID8gc3Rh
dGljX2Nhc3Q8VUlFdmVudCo+KGV2ZW50KS0+ZGV0YWlsKCkgOiAwOwotICAgICAgICBkaXNwYXRj
aERPTUFjdGl2YXRlRXZlbnQoZGV0YWlsLCBldmVudCk7CisgICAgICAgIGlmIChkaXNwYXRjaERP
TUFjdGl2YXRlRXZlbnQoZGV0YWlsLCBldmVudCkpCisgICAgICAgICAgICBldmVudC0+c2V0RGVm
YXVsdEhhbmRsZWQoKTsKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKICAgICB9IGVsc2UgaWYg
KGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuY29udGV4dG1lbnVFdmVudCkgewogICAgICAgICBp
ZiAoRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQoKS0+ZnJhbWUoKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCmluZGV4IDMy
OGMwMjliMDk4MWFmZDRmNmY3ZGZjYjAxNzBjYTgzNGJhYzlkYzcuLmJjMWNlMTI5OWY1MGQxNzQw
ZTY3OTIxYjBkNTM0YTQ3OTNiNWYxMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9O
b2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaApAQCAtNTk5LDcgKzU5OSw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIGRpc3BhdGNoUmVnaW9uTGF5b3V0VXBkYXRlRXZlbnQoKTsKIAog
ICAgIHZvaWQgZGlzcGF0Y2hTdWJ0cmVlTW9kaWZpZWRFdmVudCgpOwotICAgIHZvaWQgZGlzcGF0
Y2hET01BY3RpdmF0ZUV2ZW50KGludCBkZXRhaWwsIFBhc3NSZWZQdHI8RXZlbnQ+IHVuZGVybHlp
bmdFdmVudCk7CisgICAgYm9vbCBkaXNwYXRjaERPTUFjdGl2YXRlRXZlbnQoaW50IGRldGFpbCwg
UGFzc1JlZlB0cjxFdmVudD4gdW5kZXJseWluZ0V2ZW50KTsKICAgICB2b2lkIGRpc3BhdGNoRm9j
dXNJbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVmUHRyPE5vZGU+
IG9sZEZvY3VzZWROb2RlKTsKICAgICB2b2lkIGRpc3BhdGNoRm9jdXNPdXRFdmVudChjb25zdCBB
dG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5jcHAKaW5kZXggMjRlZTc3
NjliOTViOWEwZTE1ZjI4YTg1MzgzYWFlM2ExNzBiNjJjNy4uNGMzNmMyMDE3MjA3Yzk0YjY2Y2Rj
MjZhNGZhMWM3NmM3ZTVkZGZiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
QnV0dG9uRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxl
bWVudC5jcHAKQEAgLTExMCwxMCArMTEwLDEzIEBAIHZvaWQgSFRNTEJ1dHRvbkVsZW1lbnQ6OmRl
ZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50KQogICAgICAgICBpZiAoZm9ybSgpICYmIG1f
dHlwZSA9PSBTVUJNSVQpIHsKICAgICAgICAgICAgIG1faXNBY3RpdmF0ZWRTdWJtaXQgPSB0cnVl
OwogICAgICAgICAgICAgZm9ybSgpLT5wcmVwYXJlRm9yU3VibWlzc2lvbihldmVudCk7CisgICAg
ICAgICAgICBldmVudC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsKICAgICAgICAgICAgIG1faXNBY3Rp
dmF0ZWRTdWJtaXQgPSBmYWxzZTsgLy8gRG8gdGhpcyBpbiBjYXNlIHN1Ym1pc3Npb24gd2FzIGNh
bmNlbGVkLgogICAgICAgICB9Ci0gICAgICAgIGlmIChmb3JtKCkgJiYgbV90eXBlID09IFJFU0VU
KQorICAgICAgICBpZiAoZm9ybSgpICYmIG1fdHlwZSA9PSBSRVNFVCkgewogICAgICAgICAgICAg
Zm9ybSgpLT5yZXNldCgpOworICAgICAgICAgICAgZXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7
CisgICAgICAgIH0KICAgICB9CiAKICAgICBpZiAoZXZlbnQtPmlzS2V5Ym9hcmRFdmVudCgpKSB7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggNTI1M2EwZDBjZDYzMmFkN2M1ODNhNmI4YzVjYWNkMTVkNTM1MjliZC4uYjVkMGQ0
NzJmMmMxN2RkNDk2MTA1YWE5NTNlMDBmZGEyYTU4MjVlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBA
CisyMDEyLTA1LTIyICBQYWJsbyBGbG91cmV0ICA8cGFibG9mQG1vdG9yb2xhLmNvbT4KKworICAg
ICAgICBTdWJtaXQgYnV0dG9uIGRvZXNuJ3Qgc3VibWl0IHRoZSBmb3JtIGlmIHRoZSBmb3JtIGlz
IHdyYXBwZWQgYnkgYW4gYW5jaG9yIHRhZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9ODY3MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGZhc3QvZm9ybXMvZm9ybS1pbi1hbmNob3ItY29udHJvbHMtYWN0
aXZhdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZm9ybS1p
bi1hbmNob3ItY29udHJvbHMtYWN0aXZhdGlvbi5odG1sOiBBZGRlZC4KKwogMjAxMi0wNS0xNCAg
UGFibG8gRmxvdXJldCAgPHBhYmxvZkBtb3Rvcm9sYS5jb20+CiAKICAgICAgICAgU2NyaXB0IGVs
ZW1lbnRzIGluc2VydGVkIHdoaWxlIGZyYWdtZW50IHBhcnNpbmcgc2hvdWxkIGhhdmUgdGhlaXIg
ImFscmVhZHkgc3RhcnRlZCIgZmxhZyBzZXQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9kb21hY3RpdmF0ZS1zZXRzLXVuZGVybHlpbmctY2xpY2stZXZlbnQtYXMtaGFuZGxl
ZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kb21hY3RpdmF0ZS1zZXRz
LXVuZGVybHlpbmctY2xpY2stZXZlbnQtYXMtaGFuZGxlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYjYyMjMwZTgwOTJhNTMzNzBiOWZhYjUwMGVkMzkzMDgxNTZiYTViMAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RvbWFjdGl2YXRlLXNldHMtdW5kZXJseWlu
Zy1jbGljay1ldmVudC1hcy1oYW5kbGVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQwIEBACitU
byB0ZXN0IG1hbnVhbGx5LCBjbGljayBvbiBhbGwgdGhlIGZvcm0gZWxlbWVudHMgKGV4Y2VwdCB0
aGUgdGV4dGJveCkgYW5kIHRoZSBkZXRhaWxzL3N1bW1hcnkgZWxlbWVudC4gVGhlIGFuY2hvciBz
aG91bGRuJ3QgYmUgYWN0aXZhdGVkIChpLmUuIHlvdSBzaG91bGRuJ3Qgc2VlIGFueSAiYW5jaG9y
IGFjdGl2YXRlZCIgbWVzc2FnZXMpLgorCitGb2N1c2luZyBbb2JqZWN0IEhUTUxJbnB1dEVsZW1l
bnRdIHR5cGU9dGV4dCBhbmQgcHJlc3NpbmcgZW50ZXIKK2Zvcm0gc3VibWl0dGVkCisKK0FjdGl2
YXRlZCBbb2JqZWN0IEhUTUxJbnB1dEVsZW1lbnRdIHR5cGU9c3VibWl0Citmb3JtIHN1Ym1pdHRl
ZAorCitGb2N1c2luZyBbb2JqZWN0IEhUTUxJbnB1dEVsZW1lbnRdIHR5cGU9c3VibWl0IGFuZCBw
cmVzc2luZyBlbnRlcgorQWN0aXZhdGVkIFtvYmplY3QgSFRNTElucHV0RWxlbWVudF0gdHlwZT1z
dWJtaXQKK2Zvcm0gc3VibWl0dGVkCisKK0FjdGl2YXRlZCBbb2JqZWN0IEhUTUxJbnB1dEVsZW1l
bnRdIHR5cGU9aW1hZ2UKK2Zvcm0gc3VibWl0dGVkCisKK0ZvY3VzaW5nIFtvYmplY3QgSFRNTElu
cHV0RWxlbWVudF0gdHlwZT1pbWFnZSBhbmQgcHJlc3NpbmcgZW50ZXIKK0FjdGl2YXRlZCBbb2Jq
ZWN0IEhUTUxJbnB1dEVsZW1lbnRdIHR5cGU9aW1hZ2UKK2Zvcm0gc3VibWl0dGVkCisKK0FjdGl2
YXRlZCBbb2JqZWN0IEhUTUxCdXR0b25FbGVtZW50XSB0eXBlPXN1Ym1pdAorZm9ybSBzdWJtaXR0
ZWQKKworRm9jdXNpbmcgW29iamVjdCBIVE1MQnV0dG9uRWxlbWVudF0gdHlwZT1zdWJtaXQgYW5k
IHByZXNzaW5nIGVudGVyCitBY3RpdmF0ZWQgW29iamVjdCBIVE1MQnV0dG9uRWxlbWVudF0gdHlw
ZT1zdWJtaXQKK2Zvcm0gc3VibWl0dGVkCisKK0FjdGl2YXRlZCBbb2JqZWN0IEhUTUxJbnB1dEVs
ZW1lbnRdIHR5cGU9cmVzZXQKK0ZvY3VzaW5nIFtvYmplY3QgSFRNTElucHV0RWxlbWVudF0gdHlw
ZT1yZXNldCBhbmQgcHJlc3NpbmcgZW50ZXIKK0FjdGl2YXRlZCBbb2JqZWN0IEhUTUxJbnB1dEVs
ZW1lbnRdIHR5cGU9cmVzZXQKK0FjdGl2YXRlZCBbb2JqZWN0IEhUTUxCdXR0b25FbGVtZW50XSB0
eXBlPXJlc2V0CitGb2N1c2luZyBbb2JqZWN0IEhUTUxCdXR0b25FbGVtZW50XSB0eXBlPXJlc2V0
IGFuZCBwcmVzc2luZyBlbnRlcgorQWN0aXZhdGVkIFtvYmplY3QgSFRNTEJ1dHRvbkVsZW1lbnRd
IHR5cGU9cmVzZXQKK0FjdGl2YXRlZCBbb2JqZWN0IEhUTUxJbnB1dEVsZW1lbnRdIHR5cGU9Y2hl
Y2tib3gKK0FjdGl2YXRlZCBbb2JqZWN0IEhUTUxJbnB1dEVsZW1lbnRdIHR5cGU9cmFkaW8KK0Fj
dGl2YXRlZCBbb2JqZWN0IEhUTUxJbnB1dEVsZW1lbnRdIHR5cGU9ZmlsZQorRm9jdXNpbmcgW29i
amVjdCBIVE1MSW5wdXRFbGVtZW50XSB0eXBlPWZpbGUgYW5kIHByZXNzaW5nIGVudGVyCitBY3Rp
dmF0ZWQgW29iamVjdCBIVE1MSW5wdXRFbGVtZW50XSB0eXBlPWZpbGUKKworVGhlIGRldGFpbHMg
ZWxlbWVudCB3YXMgb3BlbmVkCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L2RvbWFjdGl2YXRlLXNldHMtdW5kZXJseWluZy1jbGljay1ldmVudC1hcy1oYW5kbGVkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kb21hY3RpdmF0ZS1zZXRzLXVuZGVybHlpbmctY2xp
Y2stZXZlbnQtYXMtaGFuZGxlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzN2JhNjlmZjgyM2NhNDgxYzdj
MmNkOTQwNWI3Mjc0ODJkZmZkNGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9kb21hY3RpdmF0ZS1zZXRzLXVuZGVybHlpbmctY2xpY2stZXZlbnQtYXMtaGFuZGxl
ZC5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBodG1sPgorVG8gdGVzdCBtYW51YWxs
eSwgY2xpY2sgb24gYWxsIHRoZSBmb3JtIGVsZW1lbnRzIChleGNlcHQgdGhlIHRleHRib3gpIGFu
ZCB0aGUgZGV0YWlscy9zdW1tYXJ5CitlbGVtZW50LiBUaGUgYW5jaG9yIHNob3VsZG4ndCBiZSBh
Y3RpdmF0ZWQgKGkuZS4geW91IHNob3VsZG4ndCBzZWUgYW55ICJhbmNob3IgYWN0aXZhdGVkIiBt
ZXNzYWdlcykuCis8YSBocmVmPSJqYXZhc2NyaXB0OmFuY2hvckFjdGl2YXRlZCgpIj4KKyAgICA8
Zm9ybSBhY3Rpb249ImphdmFzY3JpcHQ6Zm9ybVN1Ym1pdHRlZCgpIj4KKyAgICAgICAgPGlucHV0
IHR5cGU9dGV4dD4KKyAgICAgICAgPGlucHV0IHR5cGU9c3VibWl0PgorICAgICAgICA8aW5wdXQg
dHlwZT1pbWFnZT4KKyAgICAgICAgPGJ1dHRvbj5idXR0b248L2J1dHRvbj4KKyAgICAgICAgPGlu
cHV0IHR5cGU9cmVzZXQ+CisgICAgICAgIDxidXR0b24gdHlwZT1yZXNldD5idXR0b24gcmVzZXQ8
L2J1dHRvbj4KKyAgICAgICAgPGlucHV0IHR5cGU9Y2hlY2tib3g+CisgICAgICAgIDxpbnB1dCB0
eXBlPXJhZGlvPgorICAgICAgICA8aW5wdXQgdHlwZT1maWxlPgorCTwvZm9ybT4KKyAgICA8ZGV0
YWlscz48c3VtbWFyeT5zdW1tYXJ5PC9zdW1tYXJ5PmRldGFpbHM8L2RldGFpbHM+Cis8L2E+CisK
KzxwcmU+CisKKzwvcHJlPgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK2Z1bmN0aW9u
IGxvZyhtZXNzYWdlKSB7IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInByZSIpLmlubmVySFRNTCAr
PSBtZXNzYWdlICsgIlxuIjsgfQorZnVuY3Rpb24gZm9ybVN1Ym1pdHRlZCgpIHsgbG9nKCJmb3Jt
IHN1Ym1pdHRlZFxuIik7IH0KK2Z1bmN0aW9uIGFuY2hvckFjdGl2YXRlZCgpIHsgbG9nKCJhbmNo
b3IgYWN0aXZhdGVkXG4iKTsgfQorCitkb2N1bWVudC5mb3Jtc1swXS5jaGlsZHJlblswXS52YWx1
ZSA9ICJibGFoIjsKKworZm9yICh2YXIgaT0wOyBpIDwgZG9jdW1lbnQuZm9ybXNbMF0uY2hpbGRy
ZW4ubGVuZ3RoOyBpKyspIHsKKyAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmZvcm1zWzBdLmNo
aWxkcmVuW2ldOworCisgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGZ1bmN0
aW9uICgpIHsKKyAgICAgICAgbG9nKCJBY3RpdmF0ZWQgIiArIHRoaXMgKyAiIHR5cGU9IiArIHRo
aXMudHlwZSk7CisgICAgfSwgZmFsc2UpOworCisgICAgaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIp
CisgICAgICAgIGNvbnRpbnVlOworCisgICAgaWYgKGVsZW1lbnQudHlwZSA9PSAidGV4dCIpIHsK
KyAgICAgICAgbG9nKCJGb2N1c2luZyAiICsgZWxlbWVudCArICIgdHlwZT0iICsgZWxlbWVudC50
eXBlICsgIiBhbmQgcHJlc3NpbmcgZW50ZXIiKTsKKyAgICAgICAgZWxlbWVudC5mb2N1cygpOwor
ICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKCJcbiIpOworICAgICAgICBjb250aW51ZTsKKyAg
ICB9CisKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhlbGVtZW50Lm9mZnNldExlZnQgKyBl
bGVtZW50LmNsaWVudFdpZHRoIC8gMiwgZWxlbWVudC5vZmZzZXRUb3AgKyBlbGVtZW50LmNsaWVu
dEhlaWdodCAvIDIpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOworICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlVXAoKTsKKworICAgIGlmIChlbGVtZW50LnR5cGUgPT0gInJhZGlvIiB8fCBlbGVt
ZW50LnR5cGUgPT0gImNoZWNrYm94IikKKyAgICAgICAgY29udGludWU7CisKKyAgICBsb2coIkZv
Y3VzaW5nICIgKyBlbGVtZW50ICsgIiB0eXBlPSIgKyBlbGVtZW50LnR5cGUgKyAiIGFuZCBwcmVz
c2luZyBlbnRlciIpOworICAgIGVsZW1lbnQuZm9jdXMoKTsKKyAgICBldmVudFNlbmRlci5rZXlE
b3duKCJcbiIpOworfQorCitpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgdmFyIGRldGFp
bHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJkZXRhaWxzIik7CisgICAgZXZlbnRTZW5kZXIu
bW91c2VNb3ZlVG8oZGV0YWlscy5vZmZzZXRMZWZ0ICsgZGV0YWlscy5jbGllbnRXaWR0aCAvIDIs
IGRldGFpbHMub2Zmc2V0VG9wICsgZGV0YWlscy5jbGllbnRIZWlnaHQgLyAyKTsKKyAgICBldmVu
dFNlbmRlci5tb3VzZURvd24oKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CisgICAgbG9n
KCJcblRoZSBkZXRhaWxzIGVsZW1lbnQgd2FzICIgKyAoZGV0YWlscy5vcGVuID8gIiIgOiAibm90
ICIpICsgIm9wZW5lZCIpOworfQorCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImEiKS5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwor
PC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143905</attachid>
            <date>2012-05-24 15:12:55 -0700</date>
            <delta_ts>2012-05-24 16:36:29 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-86719-20120524151254.patch</filename>
            <type>text/plain</type>
            <size>10549</size>
            <attacher name="Pablo Flouret">pf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2NjkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGUwZjlhMWJmY2Q3MmY3
ZTMyYjcyY2E3YTlkNTEzZmMzNWZiZTRlZi4uZWY0OWZmZGUwNGNkOTllNDc0ZDUwYzc4NGI1ZjU0
OTI2ZGNlMzZkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA1LTIyICBQYWJs
byBGbG91cmV0ICA8cGFibG9mQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBTdWJtaXQgYnV0dG9u
IGRvZXNuJ3Qgc3VibWl0IHRoZSBmb3JtIGlmIHRoZSBmb3JtIGlzIHdyYXBwZWQgYnkgYW4gYW5j
aG9yIHRhZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODY3MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
aGVuIGEgZm9ybSdzIGJ1dHRvbiBpcyBjbGlja2VkIG9yIGFjdGl2YXRlZCB3aXRoIHRoZSBrZXli
b2FyZCBhCisgICAgICAgIERPTUFjdGl2YXRlIGV2ZW50IGlzIGRpc3BhdGNoZWQgaW50ZXJuYWxs
eSBhbmQgdGhlIGRlZmF1bHQgaGFuZGxlciBmb3IKKyAgICAgICAgaXQgdGFrZXMgY2FyZSBvZiBw
cm9jZXNzaW5nIHRoZSBmb3JtIHN1Ym1pc3Npb24sIGJ1dCB0aGUgdW5kZXJseWluZworICAgICAg
ICBldmVudCB0aGF0IHByb21wdGVkIGl0IGlzIG5vdCBzZXQgYXMgaGFuZGxlZCBhbmQgc28gaXQg
ZW5kcyB1cAorICAgICAgICBuYXZpZ2F0aW5nIHRoZSBhbmNob3IsIHRoZXJlYnkgY2FuY2VsbGlu
ZyB0aGUgZm9ybSBzdWJtaXNzaW9uLgorCisgICAgICAgIFRoaXMgcGF0Y2ggc2V0cyB0aGUgb3Jp
Z2luYWwgY2xpY2sgZXZlbnQgYXMgaGFuZGxlZCBpZiB0aGUgRE9NQWN0aXZhdGUKKyAgICAgICAg
ZXZlbnQgd2FzIGhhbmRsZWQuIFRoaXMgbWF0Y2hlcyB0aGUgcmVzdCBvZiB0aGUgYnJvd3NlcnMg
Zm9yIGZvcm0KKyAgICAgICAgY29udHJvbHMgdGhhdCBzdWJtaXQgYSBmb3JtIChpbnB1dCB0eXBl
PXN1Ym1pdCwgYnV0dG9uIHR5cGU9c3VibWl0LAorICAgICAgICBpbnB1dCB0eXBlPWltYWdlLCBl
dGMpLCBhbmQgbWF0Y2hlcyBJRSBmb3IgdGhlIHJlc3Qgb2YgdGhlIGNvbnRyb2xzCisgICAgICAg
IChiYXNpY2FsbHksIElFIG5ldmVyIGFjdGl2YXRlcyB0aGUgYW5jaG9yIHdoZW4gY2xpY2tpbmcg
b24gZm9ybQorICAgICAgICBjb250cm9scywgUHJlc3RvIGFuZCBHZWNrbyBtb3N0bHkgZG9uJ3Qg
ZWl0aGVyLCBleGNlcHQgaW4gYSBmZXcgY2FzZXMuCisKKyAgICAgICAgVGVzdDogZmFzdC9mb3Jt
cy9mb3JtLWluLWFuY2hvci1jb250cm9scy1hY3RpdmF0aW9uLmh0bWwKKworICAgICAgICAqIGRv
bS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmRpc3BhdGNoRE9NQWN0aXZhdGVF
dmVudCk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjpkZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAg
ICAgICAgKiBkb20vTm9kZS5oOgorICAgICAgICAoTm9kZSk6CisgICAgICAgICogaHRtbC9IVE1M
QnV0dG9uRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQnV0dG9uRWxlbWVudDo6
ZGVmYXVsdEV2ZW50SGFuZGxlcik6CisKIDIwMTItMDUtMTQgIFBhYmxvIEZsb3VyZXQgIDxwYWJs
b2ZAbW90b3JvbGEuY29tPgogCiAgICAgICAgIFNjcmlwdCBlbGVtZW50cyBpbnNlcnRlZCB3aGls
ZSBmcmFnbWVudCBwYXJzaW5nIHNob3VsZCBoYXZlIHRoZWlyICJhbHJlYWR5IHN0YXJ0ZWQiIGZs
YWcgc2V0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IDY5ODdiZWJkZmM1YjI1ZGI4MTBiMTI2ZDY4NWUz
NWUyYjJhZTViM2YuLjk0ZGQwNThlYTU3NTExYjI1MjdlOWJmM2RhYTRiZWM3MTE2NjA3ODIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vTm9kZS5jcHAKQEAgLTI3NzYsMTIgKzI3NzYsMTMgQEAgdm9pZCBOb2RlOjpkaXNwYXRj
aEZvY3VzT3V0RXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIFBhc3NSZWZQdHI8
Tm9kZT4KICAgICBkaXNwYXRjaFNjb3BlZEV2ZW50RGlzcGF0Y2hNZWRpYXRvcihGb2N1c091dEV2
ZW50RGlzcGF0Y2hNZWRpYXRvcjo6Y3JlYXRlKFVJRXZlbnQ6OmNyZWF0ZShldmVudFR5cGUsIHRy
dWUsIGZhbHNlLCBkb2N1bWVudCgpLT5kZWZhdWx0VmlldygpLCAwKSwgbmV3Rm9jdXNlZE5vZGUp
KTsKIH0KIAotdm9pZCBOb2RlOjpkaXNwYXRjaERPTUFjdGl2YXRlRXZlbnQoaW50IGRldGFpbCwg
UGFzc1JlZlB0cjxFdmVudD4gdW5kZXJseWluZ0V2ZW50KQorYm9vbCBOb2RlOjpkaXNwYXRjaERP
TUFjdGl2YXRlRXZlbnQoaW50IGRldGFpbCwgUGFzc1JlZlB0cjxFdmVudD4gdW5kZXJseWluZ0V2
ZW50KQogewogICAgIEFTU0VSVCghZXZlbnREaXNwYXRjaEZvcmJpZGRlbigpKTsKICAgICBSZWZQ
dHI8VUlFdmVudD4gZXZlbnQgPSBVSUV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLkRPTUFjdGl2
YXRlRXZlbnQsIHRydWUsIHRydWUsIGRvY3VtZW50KCktPmRlZmF1bHRWaWV3KCksIGRldGFpbCk7
CiAgICAgZXZlbnQtPnNldFVuZGVybHlpbmdFdmVudCh1bmRlcmx5aW5nRXZlbnQpOwotICAgIGRp
c3BhdGNoU2NvcGVkRXZlbnQoZXZlbnQucmVsZWFzZSgpKTsKKyAgICBkaXNwYXRjaFNjb3BlZEV2
ZW50KGV2ZW50KTsKKyAgICByZXR1cm4gZXZlbnQtPmRlZmF1bHRIYW5kbGVkKCk7CiB9CiAKIGJv
b2wgTm9kZTo6ZGlzcGF0Y2hLZXlFdmVudChjb25zdCBQbGF0Zm9ybUtleWJvYXJkRXZlbnQmIGV2
ZW50KQpAQCAtMjg1OCw3ICsyODU5LDggQEAgdm9pZCBOb2RlOjpkZWZhdWx0RXZlbnRIYW5kbGVy
KEV2ZW50KiBldmVudCkKICAgICAgICAgICAgICAgICBmcmFtZS0+ZXZlbnRIYW5kbGVyKCktPmRl
ZmF1bHRLZXlib2FyZEV2ZW50SGFuZGxlcihzdGF0aWNfY2FzdDxLZXlib2FyZEV2ZW50Kj4oZXZl
bnQpKTsKICAgICB9IGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuY2xpY2tFdmVu
dCkgewogICAgICAgICBpbnQgZGV0YWlsID0gZXZlbnQtPmlzVUlFdmVudCgpID8gc3RhdGljX2Nh
c3Q8VUlFdmVudCo+KGV2ZW50KS0+ZGV0YWlsKCkgOiAwOwotICAgICAgICBkaXNwYXRjaERPTUFj
dGl2YXRlRXZlbnQoZGV0YWlsLCBldmVudCk7CisgICAgICAgIGlmIChkaXNwYXRjaERPTUFjdGl2
YXRlRXZlbnQoZGV0YWlsLCBldmVudCkpCisgICAgICAgICAgICBldmVudC0+c2V0RGVmYXVsdEhh
bmRsZWQoKTsKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKICAgICB9IGVsc2UgaWYgKGV2ZW50
VHlwZSA9PSBldmVudE5hbWVzKCkuY29udGV4dG1lbnVFdmVudCkgewogICAgICAgICBpZiAoRnJh
bWUqIGZyYW1lID0gZG9jdW1lbnQoKS0+ZnJhbWUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Ob2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCmluZGV4IDMyOGMwMjli
MDk4MWFmZDRmNmY3ZGZjYjAxNzBjYTgzNGJhYzlkYzcuLmJjMWNlMTI5OWY1MGQxNzQwZTY3OTIx
YjBkNTM0YTQ3OTNiNWYxMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaApAQCAtNTk5LDcgKzU5OSw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIGRpc3BhdGNoUmVnaW9uTGF5b3V0VXBkYXRlRXZlbnQoKTsKIAogICAgIHZv
aWQgZGlzcGF0Y2hTdWJ0cmVlTW9kaWZpZWRFdmVudCgpOwotICAgIHZvaWQgZGlzcGF0Y2hET01B
Y3RpdmF0ZUV2ZW50KGludCBkZXRhaWwsIFBhc3NSZWZQdHI8RXZlbnQ+IHVuZGVybHlpbmdFdmVu
dCk7CisgICAgYm9vbCBkaXNwYXRjaERPTUFjdGl2YXRlRXZlbnQoaW50IGRldGFpbCwgUGFzc1Jl
ZlB0cjxFdmVudD4gdW5kZXJseWluZ0V2ZW50KTsKICAgICB2b2lkIGRpc3BhdGNoRm9jdXNJbkV2
ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVmUHRyPE5vZGU+IG9sZEZv
Y3VzZWROb2RlKTsKICAgICB2b2lkIGRpc3BhdGNoRm9jdXNPdXRFdmVudChjb25zdCBBdG9taWNT
dHJpbmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxOb2RlPiBuZXdGb2N1c2VkTm9kZSk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJ1dHRvbkVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5jcHAKaW5kZXggMjRlZTc3NjliOTVi
OWEwZTE1ZjI4YTg1MzgzYWFlM2ExNzBiNjJjNy4uNGMzNmMyMDE3MjA3Yzk0YjY2Y2RjMjZhNGZh
MWM3NmM3ZTVkZGZiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0dG9u
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQnV0dG9uRWxlbWVudC5j
cHAKQEAgLTExMCwxMCArMTEwLDEzIEBAIHZvaWQgSFRNTEJ1dHRvbkVsZW1lbnQ6OmRlZmF1bHRF
dmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50KQogICAgICAgICBpZiAoZm9ybSgpICYmIG1fdHlwZSA9
PSBTVUJNSVQpIHsKICAgICAgICAgICAgIG1faXNBY3RpdmF0ZWRTdWJtaXQgPSB0cnVlOwogICAg
ICAgICAgICAgZm9ybSgpLT5wcmVwYXJlRm9yU3VibWlzc2lvbihldmVudCk7CisgICAgICAgICAg
ICBldmVudC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsKICAgICAgICAgICAgIG1faXNBY3RpdmF0ZWRT
dWJtaXQgPSBmYWxzZTsgLy8gRG8gdGhpcyBpbiBjYXNlIHN1Ym1pc3Npb24gd2FzIGNhbmNlbGVk
LgogICAgICAgICB9Ci0gICAgICAgIGlmIChmb3JtKCkgJiYgbV90eXBlID09IFJFU0VUKQorICAg
ICAgICBpZiAoZm9ybSgpICYmIG1fdHlwZSA9PSBSRVNFVCkgewogICAgICAgICAgICAgZm9ybSgp
LT5yZXNldCgpOworICAgICAgICAgICAgZXZlbnQtPnNldERlZmF1bHRIYW5kbGVkKCk7CisgICAg
ICAgIH0KICAgICB9CiAKICAgICBpZiAoZXZlbnQtPmlzS2V5Ym9hcmRFdmVudCgpKSB7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggNTI1M2EwZDBjZDYzMmFkN2M1ODNhNmI4YzVjYWNkMTVkNTM1MjliZC4uYjVkMGQ0NzJmMmMx
N2RkNDk2MTA1YWE5NTNlMDBmZGEyYTU4MjVlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEy
LTA1LTIyICBQYWJsbyBGbG91cmV0ICA8cGFibG9mQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBT
dWJtaXQgYnV0dG9uIGRvZXNuJ3Qgc3VibWl0IHRoZSBmb3JtIGlmIHRoZSBmb3JtIGlzIHdyYXBw
ZWQgYnkgYW4gYW5jaG9yIHRhZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODY3MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGZhc3QvZm9ybXMvZm9ybS1pbi1hbmNob3ItY29udHJvbHMtYWN0aXZhdGlv
bi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvZm9ybS1pbi1hbmNo
b3ItY29udHJvbHMtYWN0aXZhdGlvbi5odG1sOiBBZGRlZC4KKwogMjAxMi0wNS0xNCAgUGFibG8g
RmxvdXJldCAgPHBhYmxvZkBtb3Rvcm9sYS5jb20+CiAKICAgICAgICAgU2NyaXB0IGVsZW1lbnRz
IGluc2VydGVkIHdoaWxlIGZyYWdtZW50IHBhcnNpbmcgc2hvdWxkIGhhdmUgdGhlaXIgImFscmVh
ZHkgc3RhcnRlZCIgZmxhZyBzZXQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9kb21hY3RpdmF0ZS1zZXRzLXVuZGVybHlpbmctY2xpY2stZXZlbnQtYXMtaGFuZGxlZC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kb21hY3RpdmF0ZS1zZXRzLXVuZGVy
bHlpbmctY2xpY2stZXZlbnQtYXMtaGFuZGxlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjYy
MjMwZTgwOTJhNTMzNzBiOWZhYjUwMGVkMzkzMDgxNTZiYTViMAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RvbWFjdGl2YXRlLXNldHMtdW5kZXJseWluZy1jbGlj
ay1ldmVudC1hcy1oYW5kbGVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQwIEBACitUbyB0ZXN0
IG1hbnVhbGx5LCBjbGljayBvbiBhbGwgdGhlIGZvcm0gZWxlbWVudHMgKGV4Y2VwdCB0aGUgdGV4
dGJveCkgYW5kIHRoZSBkZXRhaWxzL3N1bW1hcnkgZWxlbWVudC4gVGhlIGFuY2hvciBzaG91bGRu
J3QgYmUgYWN0aXZhdGVkIChpLmUuIHlvdSBzaG91bGRuJ3Qgc2VlIGFueSAiYW5jaG9yIGFjdGl2
YXRlZCIgbWVzc2FnZXMpLgorCitGb2N1c2luZyBbb2JqZWN0IEhUTUxJbnB1dEVsZW1lbnRdIHR5
cGU9dGV4dCBhbmQgcHJlc3NpbmcgZW50ZXIKK2Zvcm0gc3VibWl0dGVkCisKK0FjdGl2YXRlZCBb
b2JqZWN0IEhUTUxJbnB1dEVsZW1lbnRdIHR5cGU9c3VibWl0Citmb3JtIHN1Ym1pdHRlZAorCitG
b2N1c2luZyBbb2JqZWN0IEhUTUxJbnB1dEVsZW1lbnRdIHR5cGU9c3VibWl0IGFuZCBwcmVzc2lu
ZyBlbnRlcgorQWN0aXZhdGVkIFtvYmplY3QgSFRNTElucHV0RWxlbWVudF0gdHlwZT1zdWJtaXQK
K2Zvcm0gc3VibWl0dGVkCisKK0FjdGl2YXRlZCBbb2JqZWN0IEhUTUxJbnB1dEVsZW1lbnRdIHR5
cGU9aW1hZ2UKK2Zvcm0gc3VibWl0dGVkCisKK0ZvY3VzaW5nIFtvYmplY3QgSFRNTElucHV0RWxl
bWVudF0gdHlwZT1pbWFnZSBhbmQgcHJlc3NpbmcgZW50ZXIKK0FjdGl2YXRlZCBbb2JqZWN0IEhU
TUxJbnB1dEVsZW1lbnRdIHR5cGU9aW1hZ2UKK2Zvcm0gc3VibWl0dGVkCisKK0FjdGl2YXRlZCBb
b2JqZWN0IEhUTUxCdXR0b25FbGVtZW50XSB0eXBlPXN1Ym1pdAorZm9ybSBzdWJtaXR0ZWQKKwor
Rm9jdXNpbmcgW29iamVjdCBIVE1MQnV0dG9uRWxlbWVudF0gdHlwZT1zdWJtaXQgYW5kIHByZXNz
aW5nIGVudGVyCitBY3RpdmF0ZWQgW29iamVjdCBIVE1MQnV0dG9uRWxlbWVudF0gdHlwZT1zdWJt
aXQKK2Zvcm0gc3VibWl0dGVkCisKK0FjdGl2YXRlZCBbb2JqZWN0IEhUTUxJbnB1dEVsZW1lbnRd
IHR5cGU9cmVzZXQKK0ZvY3VzaW5nIFtvYmplY3QgSFRNTElucHV0RWxlbWVudF0gdHlwZT1yZXNl
dCBhbmQgcHJlc3NpbmcgZW50ZXIKK0FjdGl2YXRlZCBbb2JqZWN0IEhUTUxJbnB1dEVsZW1lbnRd
IHR5cGU9cmVzZXQKK0FjdGl2YXRlZCBbb2JqZWN0IEhUTUxCdXR0b25FbGVtZW50XSB0eXBlPXJl
c2V0CitGb2N1c2luZyBbb2JqZWN0IEhUTUxCdXR0b25FbGVtZW50XSB0eXBlPXJlc2V0IGFuZCBw
cmVzc2luZyBlbnRlcgorQWN0aXZhdGVkIFtvYmplY3QgSFRNTEJ1dHRvbkVsZW1lbnRdIHR5cGU9
cmVzZXQKK0FjdGl2YXRlZCBbb2JqZWN0IEhUTUxJbnB1dEVsZW1lbnRdIHR5cGU9Y2hlY2tib3gK
K0FjdGl2YXRlZCBbb2JqZWN0IEhUTUxJbnB1dEVsZW1lbnRdIHR5cGU9cmFkaW8KK0FjdGl2YXRl
ZCBbb2JqZWN0IEhUTUxJbnB1dEVsZW1lbnRdIHR5cGU9ZmlsZQorRm9jdXNpbmcgW29iamVjdCBI
VE1MSW5wdXRFbGVtZW50XSB0eXBlPWZpbGUgYW5kIHByZXNzaW5nIGVudGVyCitBY3RpdmF0ZWQg
W29iamVjdCBIVE1MSW5wdXRFbGVtZW50XSB0eXBlPWZpbGUKKworVGhlIGRldGFpbHMgZWxlbWVu
dCB3YXMgb3BlbmVkCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RvbWFj
dGl2YXRlLXNldHMtdW5kZXJseWluZy1jbGljay1ldmVudC1hcy1oYW5kbGVkLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9kb21hY3RpdmF0ZS1zZXRzLXVuZGVybHlpbmctY2xpY2stZXZl
bnQtYXMtaGFuZGxlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYzN2JhNjlmZjgyM2NhNDgxYzdjMmNkOTQw
NWI3Mjc0ODJkZmZkNGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9kb21hY3RpdmF0ZS1zZXRzLXVuZGVybHlpbmctY2xpY2stZXZlbnQtYXMtaGFuZGxlZC5odG1s
CkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBodG1sPgorVG8gdGVzdCBtYW51YWxseSwgY2xp
Y2sgb24gYWxsIHRoZSBmb3JtIGVsZW1lbnRzIChleGNlcHQgdGhlIHRleHRib3gpIGFuZCB0aGUg
ZGV0YWlscy9zdW1tYXJ5CitlbGVtZW50LiBUaGUgYW5jaG9yIHNob3VsZG4ndCBiZSBhY3RpdmF0
ZWQgKGkuZS4geW91IHNob3VsZG4ndCBzZWUgYW55ICJhbmNob3IgYWN0aXZhdGVkIiBtZXNzYWdl
cykuCis8YSBocmVmPSJqYXZhc2NyaXB0OmFuY2hvckFjdGl2YXRlZCgpIj4KKyAgICA8Zm9ybSBh
Y3Rpb249ImphdmFzY3JpcHQ6Zm9ybVN1Ym1pdHRlZCgpIj4KKyAgICAgICAgPGlucHV0IHR5cGU9
dGV4dD4KKyAgICAgICAgPGlucHV0IHR5cGU9c3VibWl0PgorICAgICAgICA8aW5wdXQgdHlwZT1p
bWFnZT4KKyAgICAgICAgPGJ1dHRvbj5idXR0b248L2J1dHRvbj4KKyAgICAgICAgPGlucHV0IHR5
cGU9cmVzZXQ+CisgICAgICAgIDxidXR0b24gdHlwZT1yZXNldD5idXR0b24gcmVzZXQ8L2J1dHRv
bj4KKyAgICAgICAgPGlucHV0IHR5cGU9Y2hlY2tib3g+CisgICAgICAgIDxpbnB1dCB0eXBlPXJh
ZGlvPgorICAgICAgICA8aW5wdXQgdHlwZT1maWxlPgorCTwvZm9ybT4KKyAgICA8ZGV0YWlscz48
c3VtbWFyeT5zdW1tYXJ5PC9zdW1tYXJ5PmRldGFpbHM8L2RldGFpbHM+Cis8L2E+CisKKzxwcmU+
CisKKzwvcHJlPgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
KyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK2Z1bmN0aW9uIGxvZyht
ZXNzYWdlKSB7IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInByZSIpLmlubmVySFRNTCArPSBtZXNz
YWdlICsgIlxuIjsgfQorZnVuY3Rpb24gZm9ybVN1Ym1pdHRlZCgpIHsgbG9nKCJmb3JtIHN1Ym1p
dHRlZFxuIik7IH0KK2Z1bmN0aW9uIGFuY2hvckFjdGl2YXRlZCgpIHsgbG9nKCJhbmNob3IgYWN0
aXZhdGVkXG4iKTsgfQorCitkb2N1bWVudC5mb3Jtc1swXS5jaGlsZHJlblswXS52YWx1ZSA9ICJi
bGFoIjsKKworZm9yICh2YXIgaT0wOyBpIDwgZG9jdW1lbnQuZm9ybXNbMF0uY2hpbGRyZW4ubGVu
Z3RoOyBpKyspIHsKKyAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmZvcm1zWzBdLmNoaWxkcmVu
W2ldOworCisgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGZ1bmN0aW9uICgp
IHsKKyAgICAgICAgbG9nKCJBY3RpdmF0ZWQgIiArIHRoaXMgKyAiIHR5cGU9IiArIHRoaXMudHlw
ZSk7CisgICAgfSwgZmFsc2UpOworCisgICAgaWYgKCF3aW5kb3cuZXZlbnRTZW5kZXIpCisgICAg
ICAgIGNvbnRpbnVlOworCisgICAgaWYgKGVsZW1lbnQudHlwZSA9PSAidGV4dCIpIHsKKyAgICAg
ICAgbG9nKCJGb2N1c2luZyAiICsgZWxlbWVudCArICIgdHlwZT0iICsgZWxlbWVudC50eXBlICsg
IiBhbmQgcHJlc3NpbmcgZW50ZXIiKTsKKyAgICAgICAgZWxlbWVudC5mb2N1cygpOworICAgICAg
ICBldmVudFNlbmRlci5rZXlEb3duKCJcbiIpOworICAgICAgICBjb250aW51ZTsKKyAgICB9CisK
KyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhlbGVtZW50Lm9mZnNldExlZnQgKyBlbGVtZW50
LmNsaWVudFdpZHRoIC8gMiwgZWxlbWVudC5vZmZzZXRUb3AgKyBlbGVtZW50LmNsaWVudEhlaWdo
dCAvIDIpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOworICAgIGV2ZW50U2VuZGVyLm1v
dXNlVXAoKTsKKworICAgIGlmIChlbGVtZW50LnR5cGUgPT0gInJhZGlvIiB8fCBlbGVtZW50LnR5
cGUgPT0gImNoZWNrYm94IikKKyAgICAgICAgY29udGludWU7CisKKyAgICBsb2coIkZvY3VzaW5n
ICIgKyBlbGVtZW50ICsgIiB0eXBlPSIgKyBlbGVtZW50LnR5cGUgKyAiIGFuZCBwcmVzc2luZyBl
bnRlciIpOworICAgIGVsZW1lbnQuZm9jdXMoKTsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKCJc
biIpOworfQorCitpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgdmFyIGRldGFpbHMgPSBk
b2N1bWVudC5xdWVyeVNlbGVjdG9yKCJkZXRhaWxzIik7CisgICAgZXZlbnRTZW5kZXIubW91c2VN
b3ZlVG8oZGV0YWlscy5vZmZzZXRMZWZ0ICsgZGV0YWlscy5jbGllbnRXaWR0aCAvIDIsIGRldGFp
bHMub2Zmc2V0VG9wICsgZGV0YWlscy5jbGllbnRIZWlnaHQgLyAyKTsKKyAgICBldmVudFNlbmRl
ci5tb3VzZURvd24oKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CisgICAgbG9nKCJcblRo
ZSBkZXRhaWxzIGVsZW1lbnQgd2FzICIgKyAoZGV0YWlscy5vcGVuID8gIiIgOiAibm90ICIpICsg
Im9wZW5lZCIpOworfQorCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3IoImEiKS5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworPC9zY3Jp
cHQ+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>