<?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>92376</bug_id>
          
          <creation_ts>2012-07-26 06:11:09 -0700</creation_ts>
          <short_desc>Avoid Assertion Failure in HarfBuzzRun::characterIndexForXPosition</short_desc>
          <delta_ts>2013-01-28 02:20:25 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dominik Röttsches (drott)">d-r</reporter>
          <assigned_to name="Dominik Röttsches (drott)">d-r</assigned_to>
          <cc>bashi</cc>
    
    <cc>eae</cc>
    
    <cc>eric</cc>
    
    <cc>hausmann</cc>
    
    <cc>leviw</cc>
    
    <cc>morrita</cc>
    
    <cc>rakuco</cc>
    
    <cc>rniwa</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>679237</commentid>
    <comment_count>0</comment_count>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-07-26 06:11:09 -0700</bug_when>
    <thetext>Some floating point intricacies here...patch follows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679278</commentid>
    <comment_count>1</comment_count>
      <attachid>154644</attachid>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-07-26 06:52:39 -0700</bug_when>
    <thetext>Created attachment 154644
Avoiding assertion failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679372</commentid>
    <comment_count>2</comment_count>
      <attachid>154644</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-07-26 08:45:40 -0700</bug_when>
    <thetext>Comment on attachment 154644
Avoiding assertion failure.

I think at the very least this deserves a comment in the code. But it is not clear from the ChangeLog why the sum of glyph advances would not be cleanly representable in float?

Are you suggesting that the advances are all zero? Could the reason for that be a differen one, i.e. lack of glyphs present in the given font for a given string?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679551</commentid>
    <comment_count>3</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-07-26 11:21:25 -0700</bug_when>
    <thetext>Can you add a LayoutTest that triggers the ASSERT?  That may make it more clear what this change is doing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679865</commentid>
    <comment_count>4</comment_count>
      <attachid>154644</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-07-26 15:51:38 -0700</bug_when>
    <thetext>Comment on attachment 154644
Avoiding assertion failure.

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

&gt; Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:351
&gt; +            int nextX = currentX + static_cast&lt;int&gt;(m_harfbuzzRuns[i]-&gt;width());

Couldn&apos;t we use float instead casting int?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680281</commentid>
    <comment_count>5</comment_count>
      <attachid>154644</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-07-27 01:20:57 -0700</bug_when>
    <thetext>Comment on attachment 154644
Avoiding assertion failure.

I think that there is consensus that this needs either a test or more information how exactly this bug is triggered.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680285</commentid>
    <comment_count>6</comment_count>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-07-27 01:28:08 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 154644 [details])
&gt; I think that there is consensus that this needs either a test or more information how exactly this bug is triggered.

Well, I can trigger this if I select text like crazy back and forth with the mouse on a page that has complex text. Isn&apos;t that a great reproduction? ;-) What i see in this case is a mismatch of for example 85.999975 vs. 86 when entering the function. I will try to come up with a test case - not sure if I will succeed.

(In reply to comment #4)
&gt; (From update of attachment 154644 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=154644&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:351
&gt; &gt; +            int nextX = currentX + static_cast&lt;int&gt;(m_harfbuzzRuns[i]-&gt;width());
&gt; 
&gt; Couldn&apos;t we use float instead casting int?

For nextX and currentX you mean? Sure can, but I thought you had a perfomance reason or something for using int&apos;s all over the place here. Maybe that assumption was wrong?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680313</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-07-27 01:56:38 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; (From update of attachment 154644 [details] [details])
&gt; &gt; I think that there is consensus that this needs either a test or more information how exactly this bug is triggered.
&gt; 
&gt; Well, I can trigger this if I select text like crazy back and forth with the mouse on a page that has complex text. Isn&apos;t that a great reproduction? ;-) What i see in this case is a mismatch of for example 85.999975 vs. 86 when entering the function. I will try to come up with a test case - not sure if I will succeed.

Perhaps you can figure out which sequence of fonts and characters causes this with excessive debug output right before the ASSERT?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680375</commentid>
    <comment_count>8</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-07-27 02:59:25 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; For nextX and currentX you mean? Sure can, but I thought you had a perfomance reason or something for using int&apos;s all over the place here. Maybe that assumption was wrong?

Yes. Sorry for confusion, but when I started writing the code, I used ComplexControllerHarfBuzz::offsetForPosition() as a reference. I prefer accuracy than performance here.

As Tony and Simon suggest, please consider adding a test to the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680615</commentid>
    <comment_count>9</comment_count>
      <attachid>154941</attachid>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-07-27 07:24:33 -0700</bug_when>
    <thetext>Created attachment 154941
Mouse selection fuzzing test.

So, this is the best I could come up with. It fuzzes the mouse selection in a brute force way. This test crashes 100% reliably on my machine before the DRT timeout. Requires the Telugu Lohi font to be installed into the EFL DRT fonts directory like:
cp /usr/share/fonts/truetype/ttf-telugu-fonts/lohit_te.ttf WebKitBuild/Dependencies/Source/webkitgtk-test-fonts-0.0.3
Unfortunately, this doesn&apos;t really work as a regression test eventually. I also tried replaying exactly the same sequence of random numbers to reproduce the crash, but that doesn&apos;t work. Suggestions on how to exercise this code path in a different way are welcome.

Can we agree that there is a problem and change the types to float here - which makes sense not only for the assertion failure issue, but in general, for reasons of precision?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680642</commentid>
    <comment_count>10</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-07-27 07:49:00 -0700</bug_when>
    <thetext>(In reply to comment #9)

&gt; Can we agree that there is a problem and change the types to float here - which makes sense not only for the assertion failure issue, but in general, for reasons of precision?

I have no objection if you describe why adding a test is difficult in ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680829</commentid>
    <comment_count>11</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-07-27 11:11:05 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; 
&gt; &gt; Can we agree that there is a problem and change the types to float here - which makes sense not only for the assertion failure issue, but in general, for reasons of precision?
&gt; 
&gt; I have no objection if you describe why adding a test is difficult in ChangeLog.

It would also be OK to add this to WebKit/ManualTests (maybe with harfbuzz in the test name?).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681793</commentid>
    <comment_count>12</comment_count>
      <attachid>155236</attachid>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-07-30 02:18:24 -0700</bug_when>
    <thetext>Created attachment 155236
Fix for assertion being hit, test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681814</commentid>
    <comment_count>13</comment_count>
      <attachid>155236</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-07-30 02:53:54 -0700</bug_when>
    <thetext>Comment on attachment 155236
Fix for assertion being hit, test case.

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

&gt; ManualTests/harfbuzz-mouse-selection-crash.html:14
&gt; +layoutTestController.waitUntilDone();

if (testRunner)
    testRunner.waitUntilDone();

?

How does this test finish successfully?

&gt; ManualTests/harfbuzz-mouse-selection-crash.html:18
&gt; +          var body = document.body;

We prefer 4-spaces indentation.

&gt; ManualTests/harfbuzz-mouse-selection-crash.html:24
&gt; +          eventSender.mouseMoveTo(xStart, yStart);

Please ensure evenSender exists.

&gt; ManualTests/harfbuzz-mouse-selection-crash.html:29
&gt; +/*            console.log(&quot;{x:&quot;+randomX+&quot;,y:&quot;+randomY+&quot;} &quot;); */

Please remove this.

&gt; ManualTests/harfbuzz-mouse-selection-crash.html:40
&gt; +&lt;body onload=&quot;mouseSelection()&quot;&gt;&lt;!--

It would be better to include the following description as a part of the test (not as comment).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681827</commentid>
    <comment_count>14</comment_count>
      <attachid>155236</attachid>
    <who name="Shinya Kawanaka">shinyak</who>
    <bug_when>2012-07-30 03:29:46 -0700</bug_when>
    <thetext>Comment on attachment 155236
Fix for assertion being hit, test case.

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

&gt;&gt; ManualTests/harfbuzz-mouse-selection-crash.html:14
&gt;&gt; +layoutTestController.waitUntilDone();
&gt; 
&gt; if (testRunner)
&gt;     testRunner.waitUntilDone();
&gt; 
&gt; ?
&gt; 
&gt; How does this test finish successfully?

if (testRunner)
--&gt;
if (window.testRunner)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681855</commentid>
    <comment_count>15</comment_count>
      <attachid>155253</attachid>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-07-30 04:30:46 -0700</bug_when>
    <thetext>Created attachment 155253
Fix for assertion being hit, test case, v2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681860</commentid>
    <comment_count>16</comment_count>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-07-30 04:33:55 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 155236 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=155236&amp;action=review
&gt; 
&gt; &gt; ManualTests/harfbuzz-mouse-selection-crash.html:14
&gt; &gt; +layoutTestController.waitUntilDone();
&gt; 
&gt; if (testRunner)
&gt;     testRunner.waitUntilDone();

Changed to 
if (window.testRunner)
    testRunner.waitUntilDone();
  
&gt; How does this test finish successfully?

Changed, now using a large enough number of iterations to reliably crash. Completes successfully if it doesn&apos;t crash. Note added in the description.

&gt; &gt; ManualTests/harfbuzz-mouse-selection-crash.html:18
&gt; &gt; +          var body = document.body;
&gt; 
&gt; We prefer 4-spaces indentation.

Done.


&gt; &gt; ManualTests/harfbuzz-mouse-selection-crash.html:24
&gt; &gt; +          eventSender.mouseMoveTo(xStart, yStart);
&gt; 
&gt; Please ensure evenSender exists.

Done, checking for window.eventSender

&gt; &gt; ManualTests/harfbuzz-mouse-selection-crash.html:29
&gt; &gt; +/*            console.log(&quot;{x:&quot;+randomX+&quot;,y:&quot;+randomY+&quot;} &quot;); */
&gt; 
&gt; Please remove this.

Done.

&gt; &gt; ManualTests/harfbuzz-mouse-selection-crash.html:40
&gt; &gt; +&lt;body onload=&quot;mouseSelection()&quot;&gt;&lt;!--
&gt; 
&gt; It would be better to include the following description as a part of the test (not as comment).

Changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682225</commentid>
    <comment_count>17</comment_count>
      <attachid>155253</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-07-30 11:34:51 -0700</bug_when>
    <thetext>Comment on attachment 155253
Fix for assertion being hit, test case, v2.

This code change seems fine.

In the test, would it be possible to run the test until it crashes while recording the mouseMoveTo positions, then use the mouse positions to make a reliable ASSERT?  You could take the minimum number of mouse positions to hit the ASSERT and create an automated layout test for it.

It would also be OK to run such a layout test on all ports because it should still pass on all ports.

Hmm, I guess you need a certain font installed.  Does it repro with either lohit_hi.ttf, lohit_ta.ttf, or MuktiNarrow.ttf from ttf-indic-fonts-core?  We already use those fonts on Chromium Linux.

This manual test also seems OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682348</commentid>
    <comment_count>18</comment_count>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-07-30 13:49:28 -0700</bug_when>
    <thetext>Tony, thanks for the r+ - comments below.

CC&apos;ing Raphael, cq+? Kiitos paljon! :-)

(In reply to comment #17)
&gt; (From update of attachment 155253 [details])
&gt; This code change seems fine.
&gt; 
&gt; In the test, would it be possible to run the test until it crashes while recording the mouseMoveTo positions, then use the mouse positions to make a reliable ASSERT?  You could take the minimum number of mouse positions to hit the ASSERT and create an automated layout test for it.

As mentioned in comment 9, I tried recording and replaying, but that didn&apos;t do it for some unknown reason. :-(

&gt; It would also be OK to run such a layout test on all ports because it should still pass on all ports.
&gt; 
&gt; Hmm, I guess you need a certain font installed.  Does it repro with either lohit_hi.ttf, lohit_ta.ttf, or MuktiNarrow.ttf from ttf-indic-fonts-core?  We already use those fonts on Chromium Linux.

I can give this a try, with a different text and these fonts and see what happens.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682496</commentid>
    <comment_count>19</comment_count>
      <attachid>155253</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-30 16:13:42 -0700</bug_when>
    <thetext>Comment on attachment 155253
Fix for assertion being hit, test case, v2.

Clearing flags on attachment: 155253

Committed r124111: &lt;http://trac.webkit.org/changeset/124111&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682497</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-30 16:13:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>817634</commentid>
    <comment_count>21</comment_count>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2013-01-28 02:20:25 -0800</bug_when>
    <thetext>*** Bug 40673 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154644</attachid>
            <date>2012-07-26 06:52:39 -0700</date>
            <delta_ts>2012-07-30 02:18:14 -0700</delta_ts>
            <desc>Avoiding assertion failure.</desc>
            <filename>bug-92376-20120726165447.patch</filename>
            <type>text/plain</type>
            <size>3132</size>
            <attacher name="Dominik Röttsches (drott)">d-r</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNzIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmI2YTM4Y2VkODNhYjVj
OWI3YzQyZjkyYTc1ZjBjYTc2ZmZkNTlmNC4uMDQyODk3MGI4NjMzYmEyMzRiZWNkYzlmMWJiN2Jl
NGIzYjJkOWI3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTA3LTI2ICBEb21p
bmlrIFLDtnR0c2NoZXMgIDxkb21pbmlrLnJvdHRzY2hlc0BpbnRlbC5jb20+CisKKyAgICAgICAg
QXZvaWQgQXNzZXJ0aW9uIEZhaWx1cmUgaW4gSGFyZkJ1enpSdW46OmNoYXJhY3RlckluZGV4Rm9y
WFBvc2l0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05MjM3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGNoYXJhY3RlckluZGV4Rm9yWFBvc2l0aW9uIGlzIGNhbGxlZCBmcm9tIG9mZnNldEZvclBvc2l0
aW9uLgorICAgICAgICBJbiBvZmZzZXRGb3JQb3NpdGlvbiBuZXh0WCBpcyBjYWxjdWxhdGVkIGJ5
IGFkZGluZyB1cCB0aGUgd2lkdGgKKyAgICAgICAgb2YgYSBIYXJmQnV6elJ1biBhbmQgdGhlIGN1
cnJlbnRYLiBUaGlzIGNhbiBsZWFkIHRvIGEgbnVtYmVyCisgICAgICAgIHdoaWNoIGlzIGNsZWFu
bHkgcmVwcmVzZW50YWJsZSBpbiBmbG9hdCB3aGlsZSB0aGUgd2lkdGggb2YgdGhlIHJ1bgorICAg
ICAgICBpdHNlbGYgbWF5IG5vdCBldmVubHkgcmVwcmVzZW50YWJsZSBpbiBmbG9hdC4KKyAgICAg
ICAgSW4gdHVybiwgdGhlIGNvbmRpdGlvbiB0byBjYWxsIGNoYXJhY3RlckluZGV4Rm9yWFBvc2l0
aW9uOgorICAgICAgICAgICAgICAgIGN1cnJlbnRYIDw9IHRhcmdldFggJiYgdGFyZ2V0WCA8PSBu
ZXh0WAorICAgICAgICBtYXkgYmUgc2F0aXNmaWVkIGluIHRoZSBldmVuIHJlcHJlc2VudGF0aW9u
IGNhc2UgZm9yIG5leHRYLCB0aGUgZnVuY3Rpb24KKyAgICAgICAgaXMgY2FsbGVkLCBidXQgdGhl
biB0aGUgY29tcGFyaXNvbiB0byBtX3dpZHRoIGluIHRoZSBhc3NlcnRpb24KKyAgICAgICAgYWN0
dWFsbHkgZmFpbHMsIHNpbmNlIG1fd2lkdGggaXMgbm90IGNsZWFubHkgcmVwcmVzZW50YWJsZS4K
KworICAgICAgICBIZW5jZSwgSSBzdWdnZXN0IHRvIGFsd2F5cyBjYXN0IGRvd24gdG8gaW50IGZv
ciB0aGUgbmV4dFgKKyAgICAgICAgY2FsY3VsYXRpb24gLSBhdm9pZGluZyB0aGlzIG1pc21hdGNo
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvaGFyZmJ1enovbmcvSGFyZkJ1enpTaGFwZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SGFyZkJ1enpTaGFwZXI6Om9mZnNldEZvclBvc2l0aW9uKToKKwogMjAxMi0wNy0yNiAgTWlr
ZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIENTUCAxLjE6IEltcGxlbWVu
dCB0aGUgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgc2NyaXB0IGludGVyZmFjZS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2hhcmZidXp6L25nL0hhcmZCdXp6
U2hhcGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2hhcmZidXp6L25n
L0hhcmZCdXp6U2hhcGVyLmNwcAppbmRleCBlYWYzMDk5ZmQyOGYzNzhjYmVhZTRiNGY2ZTEyNGQ4
ODc0NzUxNDA4Li5iNGM2ZDdlYjk3Njk1NGE0MTYyYTAxZDIwMGQwYjdiMzViZTUwNzcyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYXJmYnV6ei9uZy9IYXJm
QnV6elNoYXBlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFy
ZmJ1enovbmcvSGFyZkJ1enpTaGFwZXIuY3BwCkBAIC0zNDgsNyArMzQ4LDcgQEAgaW50IEhhcmZC
dXp6U2hhcGVyOjpvZmZzZXRGb3JQb3NpdGlvbihmbG9hdCB0YXJnZXRYKQogICAgICAgICBjaGFy
YWN0ZXJzU29GYXIgPSBtX25vcm1hbGl6ZWRCdWZmZXJMZW5ndGg7CiAgICAgICAgIGZvciAoaW50
IGkgPSBtX2hhcmZidXp6UnVucy5zaXplKCkgLSAxOyBpID49IDA7IC0taSkgewogICAgICAgICAg
ICAgY2hhcmFjdGVyc1NvRmFyIC09IG1faGFyZmJ1enpSdW5zW2ldLT5udW1DaGFyYWN0ZXJzKCk7
Ci0gICAgICAgICAgICBpbnQgbmV4dFggPSBjdXJyZW50WCArIG1faGFyZmJ1enpSdW5zW2ldLT53
aWR0aCgpOworICAgICAgICAgICAgaW50IG5leHRYID0gY3VycmVudFggKyBzdGF0aWNfY2FzdDxp
bnQ+KG1faGFyZmJ1enpSdW5zW2ldLT53aWR0aCgpKTsKICAgICAgICAgICAgIGlmIChjdXJyZW50
WCA8PSB0YXJnZXRYICYmIHRhcmdldFggPD0gbmV4dFgpIHsKICAgICAgICAgICAgICAgICAvLyBU
aGUgeCB2YWx1ZSBpbiBxdWVzdGlvbiBpcyB3aXRoaW4gdGhpcyBzY3JpcHQgcnVuLgogICAgICAg
ICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGluZGV4ID0gbV9oYXJmYnV6elJ1bnNbaV0tPmNoYXJh
Y3RlckluZGV4Rm9yWFBvc2l0aW9uKHRhcmdldFggLSBjdXJyZW50WCk7CkBAIC0zNTgsNyArMzU4
LDcgQEAgaW50IEhhcmZCdXp6U2hhcGVyOjpvZmZzZXRGb3JQb3NpdGlvbihmbG9hdCB0YXJnZXRY
KQogICAgICAgICB9CiAgICAgfSBlbHNlIHsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IG1faGFyZmJ1enpSdW5zLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBpbnQgbmV4dFgg
PSBjdXJyZW50WCArIG1faGFyZmJ1enpSdW5zW2ldLT53aWR0aCgpOworICAgICAgICAgICAgaW50
IG5leHRYID0gY3VycmVudFggKyBzdGF0aWNfY2FzdDxpbnQ+KG1faGFyZmJ1enpSdW5zW2ldLT53
aWR0aCgpKTsKICAgICAgICAgICAgIGlmIChjdXJyZW50WCA8PSB0YXJnZXRYICYmIHRhcmdldFgg
PD0gbmV4dFgpIHsKICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBpbmRleCA9IG1faGFy
ZmJ1enpSdW5zW2ldLT5jaGFyYWN0ZXJJbmRleEZvclhQb3NpdGlvbih0YXJnZXRYIC0gY3VycmVu
dFgpOwogICAgICAgICAgICAgICAgIHJldHVybiBjaGFyYWN0ZXJzU29GYXIgKyBpbmRleDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>154941</attachid>
            <date>2012-07-27 07:24:33 -0700</date>
            <delta_ts>2012-07-27 07:24:33 -0700</delta_ts>
            <desc>Mouse selection fuzzing test.</desc>
            <filename>telugu-mouse-selection-crash.html</filename>
            <type>text/html</type>
            <size>1416</size>
            <attacher name="Dominik Röttsches (drott)">d-r</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRl
eHQvaHRtbDsgY2hhcnNldD11dGYtOCI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CmJvZHkgewpm
b250LXNpemU6IDJjbTsKbGluZS1oZWlnaHQ6IDEuNWVtOwpmb250LWZhbWlseTogIkxvaGl0IFRl
bHVndSI7Cn0KPC9zdHlsZT4KCjxzY3JpcHQ+CgpsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50
aWxEb25lKCk7CgpmdW5jdGlvbiBtb3VzZVNlbGVjdGlvbigpIHsKCiAgICAgICAgICB2YXIgYm9k
eSA9IGRvY3VtZW50LmJvZHk7CiAgICAgICAgICBib2R5LmZvY3VzKCk7CgogICAgICAgICAgeFN0
YXJ0ID0gMDsKICAgICAgICAgIHlTdGFydCA9IDA7CgogICAgICAgICAgZXZlbnRTZW5kZXIubW91
c2VNb3ZlVG8oeFN0YXJ0LCB5U3RhcnQpOwogICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VEb3du
KCk7CiAgICAgICAgICB3aGlsZSh0cnVlKSB7CiAgICAgICAgICAgIHJhbmRvbUNvb3JkID0gcmFu
ZG9tQ29vcmRpbmF0ZSgpOwogICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhyYW5k
b21Db29yZC54LCByYW5kb21Db29yZC55KTsKLyogICAgICAgICAgICBjb25zb2xlLmxvZygie3g6
IityYW5kb21YKyIseToiK3JhbmRvbVkrIn0gIik7ICovCiAgICAgICAgICB9CiAgICAgICAgICBl
dmVudFNlbmRlci5tb3VzZVVwKCk7CiAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KHRydWUpOwogICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgp
Owp9CgpmdW5jdGlvbiByYW5kb21Db29yZGluYXRlKGF4aXMpIHsKICByZXR1cm4geyB4OiBNYXRo
LmZsb29yKE1hdGgucmFuZG9tKCkqd2luZG93LmlubmVyV2lkdGgpLAogICAgeTogTWF0aC5mbG9v
cihNYXRoLnJhbmRvbSgpKiB3aW5kb3cuaW5uZXJIZWlnaHQpIH0KfQoKPC9zY3JpcHQ+CjwvaGVh
ZD4KPGJvZHkgb25sb2FkPSJtb3VzZVNlbGVjdGlvbigpIj4K4LCa4LGH4LCo4LGH4LCkIOCwleCw
vuCwsOCxjeCwruCwv+CwleCxgeCwsiDgsLjgsK7gsLjgsY3gsK/gsLLgsKjgsYEg4LCq4LGN4LCw
4LCt4LGB4LCk4LGN4LC14LCCIOCwpuCxg+Cwt+CxjeCwn+Cwv+CwleCwvyDgsKTgsYDgsLjgsYHg
sJXgsYHgsLXgsYbgsLPgsY3gsLLgsYfgsILgsKbgsYHgsJXgsYEg4LC44LC/4LCw4LC/4LC44LC/
4LCy4LGN4LCy4LCy4LGLIOCwteCxiOCwjuCwuOCxjeCwhuCwsOCxjSDgsLjgsL/gsKrgsL8g4LCX
4LGM4LCw4LC14LC+4LCn4LGN4LCv4LCV4LGN4LC34LGB4LCw4LC+4LCy4LGBIOCwteCwv+CwnOCw
r+CwruCxjeCwriDgsJrgsYfgsKrgsJ/gsY3gsJ/gsL/gsKjgsKbgsYDgsJXgsY3gsLcg4LC14LC/
4LCc4LCv4LC14LCC4LCk4LCu4LGI4LCC4LCm4LC/Lgo8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155236</attachid>
            <date>2012-07-30 02:18:24 -0700</date>
            <delta_ts>2012-07-30 04:30:36 -0700</delta_ts>
            <desc>Fix for assertion being hit, test case.</desc>
            <filename>bug-92376-20120730122026.patch</filename>
            <type>text/plain</type>
            <size>8809</size>
            <attacher name="Dominik Röttsches (drott)">d-r</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0MDAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODgzY2IyNWU5NTA2NmM4
M2Y4YWNjZjk0YzBkNWI2NzZjYWM4YTY1MC4uYzllZDViNjM0ODU0OGE3YzdjYzM5NWM0MzZlNWI5
Y2U1OTMwODliMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTA3LTMwICBEb21p
bmlrIFLDtnR0c2NoZXMgIDxkb21pbmlrLnJvdHRzY2hlc0BpbnRlbC5jb20+CisKKyAgICAgICAg
QXZvaWQgQXNzZXJ0aW9uIEZhaWx1cmUgaW4gSGFyZkJ1enpSdW46OmNoYXJhY3RlckluZGV4Rm9y
WFBvc2l0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05MjM3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFByZXZpb3VzbHksIHRoZSBpZiBjb25kaXRpb24gaW4gb2Zmc2V0Rm9yUG9zaXRpb24gZ2F0aW5n
IHRoZSBjYWxsIHRvCisgICAgICAgIGNoYXJhY3RlckluZGV4Rm9yWFBvc2l0aW9uIHdhcyBjb21w
YXJpbmcgYSBkaWZmZXJlbnQgdmFsdWUgdGhhbiB3aGF0IHdhcyBhY3R1YWxseSB1c2VkCisgICAg
ICAgIGFzIHRoZSBhcmd1bWVudCB0byBjYWxsaW5nIGl0LiBJbiBzb21lIGNhc2VzLCB0aGlzIGNh
biBsZWFkIHRvIGEgbWludXNjdWxlIGRpZmZlcmVuY2UKKyAgICAgICAgd2hlbiBjb21wYXJpbmcg
dGhlIHR3byBmbG9hdHMgLSBlbm91Z2ggdG8gdHJpZ2dlciB0aGUgYXNzZXJ0aW9uLiBUbyByZXNv
bHZlIHRoaXMsCisgICAgICAgIHRoZSBhY2N1cmFjeSBvZiB0aGUgaW5kZXggY2FsY3VsYXRpb24g
aXMgaW1wcm92ZWQgYnkgY2hhbmdpbmcgdGhlIHR5cGVzIGZyb20gaW50CisgICAgICAgIHRvIGZs
b2F0cyBhbmQgcmVwaHJhc2luZyB0aGUgaWYgY29uZGl0aW9uIHRvIGJlIGV4YWN0bHkgdGhlIHNh
bWUgYXMgd2hhdCBpcyBjaGVja2VkCisgICAgICAgIGZvciBpbiB0aGUgYXNzZXJ0aW9uLgorCisg
ICAgICAgIE1hbnVhbCB0ZXN0IE1hbnVhbFRlc3RzL2hhcmZidXp6LW1vdXNlLXNlbGVjdGlvbi1j
cmFzaC5odG1sIGFkZGVkCisgICAgICAgIHdoaWNoIHJlbGlhYmx5IHJlcHJvZHVjZXMgdGhlIGFz
c2VydGlvbiBmYWlsdXJlIGJlZm9yZSB0aGlzIGNoYW5nZS4KKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2hhcmZidXp6L25nL0hhcmZCdXp6U2hhcGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhhcmZCdXp6U2hhcGVyOjpIYXJmQnV6elJ1bjo6Y2hhcmFjdGVySW5kZXhGb3JYUG9zaXRp
b24pOiBUeXBlcyBjaGFuZ2VkIHRvIGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6SGFyZkJ1enpT
aGFwZXI6Om9mZnNldEZvclBvc2l0aW9uKTogVHlwZXMgY2hhbmdlZCB0byBmbG9hdCwgaWYgY29u
ZGl0aW9uIHJlcGhyYXNlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9oYXJmYnV6ei9u
Zy9IYXJmQnV6elNoYXBlci5oOgorICAgICAgICAoSGFyZkJ1enpSdW4pOgorCiAyMDEyLTA3LTI5
ICBWc2V2b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IFJlc291cmNlIGFnZW50J3MgcmVmZXJlbmNlIHRvIGNhY2hlZCByZXNvdXJjZXMg
c2hvdWxkIGJlIHdlYWsuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9oYXJmYnV6ei9uZy9IYXJmQnV6elNoYXBlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9oYXJmYnV6ei9uZy9IYXJmQnV6elNoYXBlci5jcHAKaW5kZXggMTdhZDJi
NjliNzFjZTg4MGNjM2FmYWI0YjQwZmIzNmYxMzFlNzkwOC4uYzNiYjU0ZGEzNDc2ZTJlYmNlYzhh
Nzc0YmFlNzIyMGFlNGIwN2MyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvaGFyZmJ1enovbmcvSGFyZkJ1enpTaGFwZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2hhcmZidXp6L25nL0hhcmZCdXp6U2hhcGVyLmNwcApAQCAt
MTE3LDE0ICsxMTcsMTQgQEAgdm9pZCBIYXJmQnV6elNoYXBlcjo6SGFyZkJ1enpSdW46OnNldEds
eXBoQW5kQWR2YW5jZSh1bnNpZ25lZCBpbmRleCwgdWludDE2X3QgZ2wKICAgICBtX2FkdmFuY2Vz
W2luZGV4XSA9IGFkdmFuY2U7CiB9CiAKLWludCBIYXJmQnV6elNoYXBlcjo6SGFyZkJ1enpSdW46
OmNoYXJhY3RlckluZGV4Rm9yWFBvc2l0aW9uKGludCB0YXJnZXRYKQoraW50IEhhcmZCdXp6U2hh
cGVyOjpIYXJmQnV6elJ1bjo6Y2hhcmFjdGVySW5kZXhGb3JYUG9zaXRpb24oZmxvYXQgdGFyZ2V0
WCkKIHsKLSAgICBBU1NFUlQoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHRhcmdldFgpIDw9IG1fd2lk
dGgpOwotICAgIGludCBjdXJyZW50WCA9IDA7CisgICAgQVNTRVJUKHRhcmdldFggPD0gbV93aWR0
aCk7CisgICAgZmxvYXQgY3VycmVudFggPSAwOwogICAgIGZsb2F0IHByZXZBZHZhbmNlID0gMDsK
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9udW1HbHlwaHM7ICsraSkgewogICAgICAg
ICBmbG9hdCBjdXJyZW50QWR2YW5jZSA9IG1fYWR2YW5jZXNbaV0gLyAyLjA7Ci0gICAgICAgIGlu
dCBuZXh0WCA9IGN1cnJlbnRYICsgcm91bmRmKHByZXZBZHZhbmNlICsgY3VycmVudEFkdmFuY2Up
OworICAgICAgICBmbG9hdCBuZXh0WCA9IGN1cnJlbnRYICsgcHJldkFkdmFuY2UgKyBjdXJyZW50
QWR2YW5jZTsKICAgICAgICAgaWYgKGN1cnJlbnRYIDw9IHRhcmdldFggJiYgdGFyZ2V0WCA8PSBu
ZXh0WCkKICAgICAgICAgICAgIHJldHVybiBtX2dseXBoVG9DaGFyYWN0ZXJJbmRleFtpXSArIChy
dGwoKSA/IDEgOiAwKTsKICAgICAgICAgY3VycmVudFggPSBuZXh0WDsKQEAgLTM2OSwyNSArMzY5
LDI3IEBAIHZvaWQgSGFyZkJ1enpTaGFwZXI6OnNldEdseXBoUG9zaXRpb25zRm9ySGFyZkJ1enpS
dW4oSGFyZkJ1enpSdW4qIGN1cnJlbnRSdW4sIHVuCiBpbnQgSGFyZkJ1enpTaGFwZXI6Om9mZnNl
dEZvclBvc2l0aW9uKGZsb2F0IHRhcmdldFgpCiB7CiAgICAgaW50IGNoYXJhY3RlcnNTb0ZhciA9
IDA7Ci0gICAgaW50IGN1cnJlbnRYID0gMDsKKyAgICBmbG9hdCBjdXJyZW50WCA9IDA7CiAKICAg
ICBpZiAobV9ydW4ucnRsKCkpIHsKICAgICAgICAgY2hhcmFjdGVyc1NvRmFyID0gbV9ub3JtYWxp
emVkQnVmZmVyTGVuZ3RoOwogICAgICAgICBmb3IgKGludCBpID0gbV9oYXJmYnV6elJ1bnMuc2l6
ZSgpIC0gMTsgaSA+PSAwOyAtLWkpIHsKICAgICAgICAgICAgIGNoYXJhY3RlcnNTb0ZhciAtPSBt
X2hhcmZidXp6UnVuc1tpXS0+bnVtQ2hhcmFjdGVycygpOwotICAgICAgICAgICAgaW50IG5leHRY
ID0gY3VycmVudFggKyBtX2hhcmZidXp6UnVuc1tpXS0+d2lkdGgoKTsKLSAgICAgICAgICAgIGlm
IChjdXJyZW50WCA8PSB0YXJnZXRYICYmIHRhcmdldFggPD0gbmV4dFgpIHsKKyAgICAgICAgICAg
IGZsb2F0IG5leHRYID0gY3VycmVudFggKyBtX2hhcmZidXp6UnVuc1tpXS0+d2lkdGgoKTsKKyAg
ICAgICAgICAgIGZsb2F0IG9mZnNldEZvclJ1biA9IHRhcmdldFggLSBjdXJyZW50WDsKKyAgICAg
ICAgICAgIGlmIChvZmZzZXRGb3JSdW4gPj0gMCAmJiBvZmZzZXRGb3JSdW4gPD0gbV9oYXJmYnV6
elJ1bnNbaV0tPndpZHRoKCkpIHsKICAgICAgICAgICAgICAgICAvLyBUaGUgeCB2YWx1ZSBpbiBx
dWVzdGlvbiBpcyB3aXRoaW4gdGhpcyBzY3JpcHQgcnVuLgotICAgICAgICAgICAgICAgIGNvbnN0
IHVuc2lnbmVkIGluZGV4ID0gbV9oYXJmYnV6elJ1bnNbaV0tPmNoYXJhY3RlckluZGV4Rm9yWFBv
c2l0aW9uKHRhcmdldFggLSBjdXJyZW50WCk7CisgICAgICAgICAgICAgICAgY29uc3QgdW5zaWdu
ZWQgaW5kZXggPSBtX2hhcmZidXp6UnVuc1tpXS0+Y2hhcmFjdGVySW5kZXhGb3JYUG9zaXRpb24o
b2Zmc2V0Rm9yUnVuKTsKICAgICAgICAgICAgICAgICByZXR1cm4gY2hhcmFjdGVyc1NvRmFyICsg
aW5kZXg7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBjdXJyZW50WCA9IG5leHRYOwogICAg
ICAgICB9CiAgICAgfSBlbHNlIHsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1f
aGFyZmJ1enpSdW5zLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBpbnQgbmV4dFggPSBjdXJy
ZW50WCArIG1faGFyZmJ1enpSdW5zW2ldLT53aWR0aCgpOwotICAgICAgICAgICAgaWYgKGN1cnJl
bnRYIDw9IHRhcmdldFggJiYgdGFyZ2V0WCA8PSBuZXh0WCkgewotICAgICAgICAgICAgICAgIGNv
bnN0IHVuc2lnbmVkIGluZGV4ID0gbV9oYXJmYnV6elJ1bnNbaV0tPmNoYXJhY3RlckluZGV4Rm9y
WFBvc2l0aW9uKHRhcmdldFggLSBjdXJyZW50WCk7CisgICAgICAgICAgICBmbG9hdCBuZXh0WCA9
IGN1cnJlbnRYICsgbV9oYXJmYnV6elJ1bnNbaV0tPndpZHRoKCk7CisgICAgICAgICAgICBmbG9h
dCBvZmZzZXRGb3JSdW4gPSB0YXJnZXRYIC0gY3VycmVudFg7CisgICAgICAgICAgICBpZiAob2Zm
c2V0Rm9yUnVuID49IDAgJiYgb2Zmc2V0Rm9yUnVuIDw9IG1faGFyZmJ1enpSdW5zW2ldLT53aWR0
aCgpKSB7CisgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgaW5kZXggPSBtX2hhcmZidXp6
UnVuc1tpXS0+Y2hhcmFjdGVySW5kZXhGb3JYUG9zaXRpb24ob2Zmc2V0Rm9yUnVuKTsKICAgICAg
ICAgICAgICAgICByZXR1cm4gY2hhcmFjdGVyc1NvRmFyICsgaW5kZXg7CiAgICAgICAgICAgICB9
CiAgICAgICAgICAgICBjaGFyYWN0ZXJzU29GYXIgKz0gbV9oYXJmYnV6elJ1bnNbaV0tPm51bUNo
YXJhY3RlcnMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2hhcmZidXp6L25nL0hhcmZCdXp6U2hhcGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9oYXJmYnV6ei9uZy9IYXJmQnV6elNoYXBlci5oCmluZGV4IDg3ODQ0Y2M3ZmNkZGVj
MDA1ZmUwMDczZmI2YzY4MDliY2IzOTBlMDMuLjgyNjBmYzk2YzM0MjIzNjc4MDMyMGY1ZDA1NmNh
NmQ4ZmMzYTcwMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2hhcmZidXp6L25nL0hhcmZCdXp6U2hhcGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvaGFyZmJ1enovbmcvSGFyZkJ1enpTaGFwZXIuaApAQCAtNzAsNyArNzAsNyBA
QCBwcml2YXRlOgogICAgICAgICB2b2lkIHNldEdseXBoQW5kQWR2YW5jZSh1bnNpZ25lZCBpbmRl
eCwgdWludDE2X3QgZ2x5cGhJZCwgZmxvYXQgYWR2YW5jZSk7CiAgICAgICAgIHZvaWQgc2V0V2lk
dGgoZmxvYXQgd2lkdGgpIHsgbV93aWR0aCA9IHdpZHRoOyB9CiAKLSAgICAgICAgaW50IGNoYXJh
Y3RlckluZGV4Rm9yWFBvc2l0aW9uKGludCB0YXJnZXRYKTsKKyAgICAgICAgaW50IGNoYXJhY3Rl
ckluZGV4Rm9yWFBvc2l0aW9uKGZsb2F0IHRhcmdldFgpOwogICAgICAgICBmbG9hdCB4UG9zaXRp
b25Gb3JPZmZzZXQodW5zaWduZWQgb2Zmc2V0KTsKIAogICAgICAgICBjb25zdCBTaW1wbGVGb250
RGF0YSogZm9udERhdGEoKSB7IHJldHVybiBtX2ZvbnREYXRhOyB9CmRpZmYgLS1naXQgYS9DaGFu
Z2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggMmQ3NjE1MmEwMTlhMzkwNDVlZDlkZDJlMDVmOGJhMzMz
ZDlkMmJiOC4uNzlmZWNhYjMwOGRjMTJkZTkyMzI4NjU1ZGE1ODYzYzNiZjc2NjUyMiAxMDA2NDQK
LS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTA3
LTMwICBEb21pbmlrIFLDtnR0c2NoZXMgIDxkb21pbmlrLnJvdHRzY2hlc0BpbnRlbC5jb20+CisK
KyAgICAgICAgQXZvaWQgQXNzZXJ0aW9uIEZhaWx1cmUgaW4gSGFyZkJ1enpSdW46OmNoYXJhY3Rl
ckluZGV4Rm9yWFBvc2l0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05MjM3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZGVkIG1hbnVhbCB0ZXN0IHRvIHJlbGlhYmx5IHJlcHJvZHVjZSBhc3NlcnRp
b24gZmFpbHVyZSB3aGljaCBpcyBzb2x2ZWQgYnkgdGhpcyBwYXRjaC4KKworICAgICAgICAqIE1h
bnVhbFRlc3RzL2hhcmZidXp6LW1vdXNlLXNlbGVjdGlvbi1jcmFzaC5odG1sOiBBZGRlZC4KKwog
MjAxMi0wNy0yOSAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBSZXNvdXJjZSBhZ2VudCdzIHJlZmVyZW5jZSB0byBjYWNoZWQg
cmVzb3VyY2VzIHNob3VsZCBiZSB3ZWFrLgpkaWZmIC0tZ2l0IGEvTWFudWFsVGVzdHMvaGFyZmJ1
enotbW91c2Utc2VsZWN0aW9uLWNyYXNoLmh0bWwgYi9NYW51YWxUZXN0cy9oYXJmYnV6ei1tb3Vz
ZS1zZWxlY3Rpb24tY3Jhc2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMmU3YmRkYzhiMDI0OTMxMjFlNDdk
NmRiMDYzYjcwMjdkMGU3OGQxCi0tLSAvZGV2L251bGwKKysrIGIvTWFudWFsVGVzdHMvaGFyZmJ1
enotbW91c2Utc2VsZWN0aW9uLWNyYXNoLmh0bWwKQEAgLTAsMCArMSw1MSBAQAorPGh0bWw+Cis8
aGVhZD4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s
OyBjaGFyc2V0PXV0Zi04Ij4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Citib2R5IHsKK2ZvbnQt
c2l6ZTogMmNtOworbGluZS1oZWlnaHQ6IDEuNWVtOworZm9udC1mYW1pbHk6ICJMb2hpdCBUZWx1
Z3UiOworfQorPC9zdHlsZT4KKworPHNjcmlwdD4KKworbGF5b3V0VGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpOworCitmdW5jdGlvbiBtb3VzZVNlbGVjdGlvbigpIHsKKworICAgICAgICAg
IHZhciBib2R5ID0gZG9jdW1lbnQuYm9keTsKKyAgICAgICAgICBib2R5LmZvY3VzKCk7CisKKyAg
ICAgICAgICB4U3RhcnQgPSAwOworICAgICAgICAgIHlTdGFydCA9IDA7CisKKyAgICAgICAgICBl
dmVudFNlbmRlci5tb3VzZU1vdmVUbyh4U3RhcnQsIHlTdGFydCk7CisgICAgICAgICAgZXZlbnRT
ZW5kZXIubW91c2VEb3duKCk7CisgICAgICAgICAgd2hpbGUodHJ1ZSkgeworICAgICAgICAgICAg
cmFuZG9tQ29vcmQgPSByYW5kb21Db29yZGluYXRlKCk7CisgICAgICAgICAgICBldmVudFNlbmRl
ci5tb3VzZU1vdmVUbyhyYW5kb21Db29yZC54LCByYW5kb21Db29yZC55KTsKKy8qICAgICAgICAg
ICAgY29uc29sZS5sb2coInt4OiIrcmFuZG9tWCsiLHk6IityYW5kb21ZKyJ9ICIpOyAqLworICAg
ICAgICAgIH0KK30KKworZnVuY3Rpb24gcmFuZG9tQ29vcmRpbmF0ZShheGlzKSB7CisgIHJldHVy
biB7IHg6IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSp3aW5kb3cuaW5uZXJXaWR0aCksCisgICAg
eTogTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKiB3aW5kb3cuaW5uZXJIZWlnaHQpIH0KK30KKwor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9Im1vdXNlU2VsZWN0aW9uKCkiPjwhLS0K
KyAgIFRoaXMgdGVzdCBmdXp6ZXMgSGFyZkJ1enpTaGFwZXI6Om9mZnNldEZvclBvc2l0aW9uIHRv
IHRyaWdnZXIgYW4gYXNzZXJ0aW9uIGluIHRoZSBkb3duc3RyZWFtIGZ1bmN0aW9uIGNoYXJhY3Rl
ckluZGV4Rm9yWFBvc2l0aW9uKCkuCisgICBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTkyMzc2IC0gcmVhc29uIG9mIHRoZSBhc3NlcnRpb24gYmVpbmcgaGl0IGlz
IGEgbWludXNjdWxlIGZsb2F0aW5nIHBvaW50IGluYWNjdXJhY3kgCisgICBiZXR3ZWVuIGFuIGlm
IGNvbmRpdGlvbiB0aGF0IGdhdGVzIHRoZSBjYWxsIHRvIGNoYXJhY3RlckluZGV4Rm9yWFBvc2l0
aW9uIGFuZCB0aGUgYWN0dWFsIGFyZ3VtZW50IHRoYXQncyB0aGVuIGdpdmVuIHRvIHRoZSBmdW5j
dGlvbi4KKyAgIFRoaXMgdGVzdCB3b3JrcyBvbiBXZWJLaXQgRUZMLCB3aXRoIHRoZSBVYnVudHUg
VGVsdWd1IExvaGl0IGZvbnQgaW5zdGFsbGVkIHRvIHRoZSBFRkwgamhidWlsZCBmb250IGRpcmVj
dG9yeSwgbGlrZToKKyAgICAgJCBjcCAvdXNyL3NoYXJlL2ZvbnRzL3RydWV0eXBlL3R0Zi10ZWx1
Z3UtZm9udHMvbG9oaXRfdGUudHRmIFdlYktpdEJ1aWxkL0RlcGVuZGVuY2llcy9Tb3VyY2Uvd2Vi
a2l0Z3RrLXRlc3QtZm9udHMtMC4wLjMKKyAgIFJ1biB3aXRoOgorICAgICAkIFdlYktpdEJ1aWxk
L0RlYnVnL2Jpbi9EdW1wUmVuZGVyVHJlZSBNYW51YWxUZXN0cy9oYXJmYnV6ei1tb3VzZS1zZWxl
Y3Rpb24tY3Jhc2guaHRtbAorICAgQmVmb3JlIHRoZSBjaGFuZ2UsIHRoaXMgd291bGQgY3Jhc2gg
MTAvMTAgdGltZXMuCistLT7gsJrgsYfgsKjgsYfgsKQg4LCV4LC+4LCw4LGN4LCu4LC/4LCV4LGB
4LCyIOCwuOCwruCwuOCxjeCwr+CwsuCwqOCxgSDgsKrgsY3gsLDgsK3gsYHgsKTgsY3gsLXgsIIg
4LCm4LGD4LC34LGN4LCf4LC/4LCV4LC/IOCwpOCxgOCwuOCxgeCwleCxgeCwteCxhuCws+CxjeCw
suCxh+CwguCwpuCxgeCwleCxgSDgsLjgsL/gsLDgsL/gsLjgsL/gsLLgsY3gsLLgsLLgsYsg4LC1
4LGI4LCO4LC44LGN4LCG4LCw4LGNIOCwuOCwv+CwquCwvyDgsJfgsYzgsLDgsLXgsL7gsKfgsY3g
sK/gsJXgsY3gsLfgsYHgsLDgsL7gsLLgsYEg4LC14LC/4LCc4LCv4LCu4LGN4LCuIOCwmuCxh+Cw
quCwn+CxjeCwn+Cwv+CwqOCwpuCxgOCwleCxjeCwtyDgsLXgsL/gsJzgsK/gsLXgsILgsKTgsK7g
sYjgsILgsKbgsL8uCis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155253</attachid>
            <date>2012-07-30 04:30:46 -0700</date>
            <delta_ts>2012-07-30 16:13:42 -0700</delta_ts>
            <desc>Fix for assertion being hit, test case, v2.</desc>
            <filename>bug-92376-20120730143249.patch</filename>
            <type>text/plain</type>
            <size>8953</size>
            <attacher name="Dominik Röttsches (drott)">d-r</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0MDA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTU1NjZmNjVmOWMzYzA5
NTZkNWYwMTRkMTc2YTZlOTJjYjkwZTE5ZS4uZTk4ZWZhYThmNDFhM2Y5OTU3MDE4ZDBhNzUzMzA1
NTNhZmVkZjdiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTA3LTMwICBEb21p
bmlrIFLDtnR0c2NoZXMgIDxkb21pbmlrLnJvdHRzY2hlc0BpbnRlbC5jb20+CisKKyAgICAgICAg
QXZvaWQgQXNzZXJ0aW9uIEZhaWx1cmUgaW4gSGFyZkJ1enpSdW46OmNoYXJhY3RlckluZGV4Rm9y
WFBvc2l0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05MjM3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFByZXZpb3VzbHksIHRoZSBpZiBjb25kaXRpb24gaW4gb2Zmc2V0Rm9yUG9zaXRpb24gZ2F0aW5n
IHRoZSBjYWxsIHRvCisgICAgICAgIGNoYXJhY3RlckluZGV4Rm9yWFBvc2l0aW9uIHdhcyBjb21w
YXJpbmcgYSBkaWZmZXJlbnQgdmFsdWUgdGhhbiB3aGF0IHdhcyBhY3R1YWxseSB1c2VkCisgICAg
ICAgIGFzIHRoZSBhcmd1bWVudCB0byBjYWxsaW5nIGl0LiBJbiBzb21lIGNhc2VzLCB0aGlzIGNh
biBsZWFkIHRvIGEgbWludXNjdWxlIGRpZmZlcmVuY2UKKyAgICAgICAgd2hlbiBjb21wYXJpbmcg
dGhlIHR3byBmbG9hdHMgLSBlbm91Z2ggdG8gdHJpZ2dlciB0aGUgYXNzZXJ0aW9uLiBUbyByZXNv
bHZlIHRoaXMsCisgICAgICAgIHRoZSBhY2N1cmFjeSBvZiB0aGUgaW5kZXggY2FsY3VsYXRpb24g
aXMgaW1wcm92ZWQgYnkgY2hhbmdpbmcgdGhlIHR5cGVzIGZyb20gaW50CisgICAgICAgIHRvIGZs
b2F0cyBhbmQgcmVwaHJhc2luZyB0aGUgaWYgY29uZGl0aW9uIHRvIGJlIGV4YWN0bHkgdGhlIHNh
bWUgYXMgd2hhdCBpcyBjaGVja2VkCisgICAgICAgIGZvciBpbiB0aGUgYXNzZXJ0aW9uLgorCisg
ICAgICAgIE1hbnVhbCB0ZXN0IE1hbnVhbFRlc3RzL2hhcmZidXp6LW1vdXNlLXNlbGVjdGlvbi1j
cmFzaC5odG1sIGFkZGVkCisgICAgICAgIHdoaWNoIHJlbGlhYmx5IHJlcHJvZHVjZXMgdGhlIGFz
c2VydGlvbiBmYWlsdXJlIGJlZm9yZSB0aGlzIGNoYW5nZS4KKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2hhcmZidXp6L25nL0hhcmZCdXp6U2hhcGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhhcmZCdXp6U2hhcGVyOjpIYXJmQnV6elJ1bjo6Y2hhcmFjdGVySW5kZXhGb3JYUG9zaXRp
b24pOiBUeXBlcyBjaGFuZ2VkIHRvIGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6SGFyZkJ1enpT
aGFwZXI6Om9mZnNldEZvclBvc2l0aW9uKTogVHlwZXMgY2hhbmdlZCB0byBmbG9hdCwgaWYgY29u
ZGl0aW9uIHJlcGhyYXNlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9oYXJmYnV6ei9u
Zy9IYXJmQnV6elNoYXBlci5oOgorICAgICAgICAoSGFyZkJ1enpSdW4pOgorCiAyMDEyLTA3LTI2
ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IG1vdmUgU3RyaW5nSW1wbCBzaXplIGNhbGN1bGF0aW9uIHRvIFN0cmluZ0ltcGwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2hhcmZidXp6L25n
L0hhcmZCdXp6U2hhcGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2hh
cmZidXp6L25nL0hhcmZCdXp6U2hhcGVyLmNwcAppbmRleCAxN2FkMmI2OWI3MWNlODgwY2MzYWZh
YjRiNDBmYjM2ZjEzMWU3OTA4Li5jM2JiNTRkYTM0NzZlMmViY2VjOGE3NzRiYWU3MjIwYWU0YjA3
YzJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYXJmYnV6
ei9uZy9IYXJmQnV6elNoYXBlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvaGFyZmJ1enovbmcvSGFyZkJ1enpTaGFwZXIuY3BwCkBAIC0xMTcsMTQgKzExNywxNCBA
QCB2b2lkIEhhcmZCdXp6U2hhcGVyOjpIYXJmQnV6elJ1bjo6c2V0R2x5cGhBbmRBZHZhbmNlKHVu
c2lnbmVkIGluZGV4LCB1aW50MTZfdCBnbAogICAgIG1fYWR2YW5jZXNbaW5kZXhdID0gYWR2YW5j
ZTsKIH0KIAotaW50IEhhcmZCdXp6U2hhcGVyOjpIYXJmQnV6elJ1bjo6Y2hhcmFjdGVySW5kZXhG
b3JYUG9zaXRpb24oaW50IHRhcmdldFgpCitpbnQgSGFyZkJ1enpTaGFwZXI6OkhhcmZCdXp6UnVu
OjpjaGFyYWN0ZXJJbmRleEZvclhQb3NpdGlvbihmbG9hdCB0YXJnZXRYKQogewotICAgIEFTU0VS
VChzdGF0aWNfY2FzdDx1bnNpZ25lZD4odGFyZ2V0WCkgPD0gbV93aWR0aCk7Ci0gICAgaW50IGN1
cnJlbnRYID0gMDsKKyAgICBBU1NFUlQodGFyZ2V0WCA8PSBtX3dpZHRoKTsKKyAgICBmbG9hdCBj
dXJyZW50WCA9IDA7CiAgICAgZmxvYXQgcHJldkFkdmFuY2UgPSAwOwogICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBtX251bUdseXBoczsgKytpKSB7CiAgICAgICAgIGZsb2F0IGN1cnJlbnRB
ZHZhbmNlID0gbV9hZHZhbmNlc1tpXSAvIDIuMDsKLSAgICAgICAgaW50IG5leHRYID0gY3VycmVu
dFggKyByb3VuZGYocHJldkFkdmFuY2UgKyBjdXJyZW50QWR2YW5jZSk7CisgICAgICAgIGZsb2F0
IG5leHRYID0gY3VycmVudFggKyBwcmV2QWR2YW5jZSArIGN1cnJlbnRBZHZhbmNlOwogICAgICAg
ICBpZiAoY3VycmVudFggPD0gdGFyZ2V0WCAmJiB0YXJnZXRYIDw9IG5leHRYKQogICAgICAgICAg
ICAgcmV0dXJuIG1fZ2x5cGhUb0NoYXJhY3RlckluZGV4W2ldICsgKHJ0bCgpID8gMSA6IDApOwog
ICAgICAgICBjdXJyZW50WCA9IG5leHRYOwpAQCAtMzY5LDI1ICszNjksMjcgQEAgdm9pZCBIYXJm
QnV6elNoYXBlcjo6c2V0R2x5cGhQb3NpdGlvbnNGb3JIYXJmQnV6elJ1bihIYXJmQnV6elJ1biog
Y3VycmVudFJ1biwgdW4KIGludCBIYXJmQnV6elNoYXBlcjo6b2Zmc2V0Rm9yUG9zaXRpb24oZmxv
YXQgdGFyZ2V0WCkKIHsKICAgICBpbnQgY2hhcmFjdGVyc1NvRmFyID0gMDsKLSAgICBpbnQgY3Vy
cmVudFggPSAwOworICAgIGZsb2F0IGN1cnJlbnRYID0gMDsKIAogICAgIGlmIChtX3J1bi5ydGwo
KSkgewogICAgICAgICBjaGFyYWN0ZXJzU29GYXIgPSBtX25vcm1hbGl6ZWRCdWZmZXJMZW5ndGg7
CiAgICAgICAgIGZvciAoaW50IGkgPSBtX2hhcmZidXp6UnVucy5zaXplKCkgLSAxOyBpID49IDA7
IC0taSkgewogICAgICAgICAgICAgY2hhcmFjdGVyc1NvRmFyIC09IG1faGFyZmJ1enpSdW5zW2ld
LT5udW1DaGFyYWN0ZXJzKCk7Ci0gICAgICAgICAgICBpbnQgbmV4dFggPSBjdXJyZW50WCArIG1f
aGFyZmJ1enpSdW5zW2ldLT53aWR0aCgpOwotICAgICAgICAgICAgaWYgKGN1cnJlbnRYIDw9IHRh
cmdldFggJiYgdGFyZ2V0WCA8PSBuZXh0WCkgeworICAgICAgICAgICAgZmxvYXQgbmV4dFggPSBj
dXJyZW50WCArIG1faGFyZmJ1enpSdW5zW2ldLT53aWR0aCgpOworICAgICAgICAgICAgZmxvYXQg
b2Zmc2V0Rm9yUnVuID0gdGFyZ2V0WCAtIGN1cnJlbnRYOworICAgICAgICAgICAgaWYgKG9mZnNl
dEZvclJ1biA+PSAwICYmIG9mZnNldEZvclJ1biA8PSBtX2hhcmZidXp6UnVuc1tpXS0+d2lkdGgo
KSkgewogICAgICAgICAgICAgICAgIC8vIFRoZSB4IHZhbHVlIGluIHF1ZXN0aW9uIGlzIHdpdGhp
biB0aGlzIHNjcmlwdCBydW4uCi0gICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgaW5kZXgg
PSBtX2hhcmZidXp6UnVuc1tpXS0+Y2hhcmFjdGVySW5kZXhGb3JYUG9zaXRpb24odGFyZ2V0WCAt
IGN1cnJlbnRYKTsKKyAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBpbmRleCA9IG1faGFy
ZmJ1enpSdW5zW2ldLT5jaGFyYWN0ZXJJbmRleEZvclhQb3NpdGlvbihvZmZzZXRGb3JSdW4pOwog
ICAgICAgICAgICAgICAgIHJldHVybiBjaGFyYWN0ZXJzU29GYXIgKyBpbmRleDsKICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIGN1cnJlbnRYID0gbmV4dFg7CiAgICAgICAgIH0KICAgICB9IGVs
c2UgewogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9oYXJmYnV6elJ1bnMuc2l6
ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIGludCBuZXh0WCA9IGN1cnJlbnRYICsgbV9oYXJmYnV6
elJ1bnNbaV0tPndpZHRoKCk7Ci0gICAgICAgICAgICBpZiAoY3VycmVudFggPD0gdGFyZ2V0WCAm
JiB0YXJnZXRYIDw9IG5leHRYKSB7Ci0gICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgaW5k
ZXggPSBtX2hhcmZidXp6UnVuc1tpXS0+Y2hhcmFjdGVySW5kZXhGb3JYUG9zaXRpb24odGFyZ2V0
WCAtIGN1cnJlbnRYKTsKKyAgICAgICAgICAgIGZsb2F0IG5leHRYID0gY3VycmVudFggKyBtX2hh
cmZidXp6UnVuc1tpXS0+d2lkdGgoKTsKKyAgICAgICAgICAgIGZsb2F0IG9mZnNldEZvclJ1biA9
IHRhcmdldFggLSBjdXJyZW50WDsKKyAgICAgICAgICAgIGlmIChvZmZzZXRGb3JSdW4gPj0gMCAm
JiBvZmZzZXRGb3JSdW4gPD0gbV9oYXJmYnV6elJ1bnNbaV0tPndpZHRoKCkpIHsKKyAgICAgICAg
ICAgICAgICBjb25zdCB1bnNpZ25lZCBpbmRleCA9IG1faGFyZmJ1enpSdW5zW2ldLT5jaGFyYWN0
ZXJJbmRleEZvclhQb3NpdGlvbihvZmZzZXRGb3JSdW4pOwogICAgICAgICAgICAgICAgIHJldHVy
biBjaGFyYWN0ZXJzU29GYXIgKyBpbmRleDsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGNo
YXJhY3RlcnNTb0ZhciArPSBtX2hhcmZidXp6UnVuc1tpXS0+bnVtQ2hhcmFjdGVycygpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFyZmJ1enovbmcvSGFy
ZkJ1enpTaGFwZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2hhcmZidXp6
L25nL0hhcmZCdXp6U2hhcGVyLmgKaW5kZXggODc4NDRjYzdmY2RkZWMwMDVmZTAwNzNmYjZjNjgw
OWJjYjM5MGUwMy4uODI2MGZjOTZjMzQyMjM2NzgwMzIwZjVkMDU2Y2E2ZDhmYzNhNzAwMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFyZmJ1enovbmcvSGFy
ZkJ1enpTaGFwZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYXJm
YnV6ei9uZy9IYXJmQnV6elNoYXBlci5oCkBAIC03MCw3ICs3MCw3IEBAIHByaXZhdGU6CiAgICAg
ICAgIHZvaWQgc2V0R2x5cGhBbmRBZHZhbmNlKHVuc2lnbmVkIGluZGV4LCB1aW50MTZfdCBnbHlw
aElkLCBmbG9hdCBhZHZhbmNlKTsKICAgICAgICAgdm9pZCBzZXRXaWR0aChmbG9hdCB3aWR0aCkg
eyBtX3dpZHRoID0gd2lkdGg7IH0KIAotICAgICAgICBpbnQgY2hhcmFjdGVySW5kZXhGb3JYUG9z
aXRpb24oaW50IHRhcmdldFgpOworICAgICAgICBpbnQgY2hhcmFjdGVySW5kZXhGb3JYUG9zaXRp
b24oZmxvYXQgdGFyZ2V0WCk7CiAgICAgICAgIGZsb2F0IHhQb3NpdGlvbkZvck9mZnNldCh1bnNp
Z25lZCBvZmZzZXQpOwogCiAgICAgICAgIGNvbnN0IFNpbXBsZUZvbnREYXRhKiBmb250RGF0YSgp
IHsgcmV0dXJuIG1fZm9udERhdGE7IH0KZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxv
ZwppbmRleCAyZDc2MTUyYTAxOWEzOTA0NWVkOWRkMmUwNWY4YmEzMzNkOWQyYmI4Li43OWZlY2Fi
MzA4ZGMxMmRlOTIzMjg2NTVkYTU4NjNjM2JmNzY2NTIyIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cK
KysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDctMzAgIERvbWluaWsgUsO2
dHRzY2hlcyAgPGRvbWluaWsucm90dHNjaGVzQGludGVsLmNvbT4KKworICAgICAgICBBdm9pZCBB
c3NlcnRpb24gRmFpbHVyZSBpbiBIYXJmQnV6elJ1bjo6Y2hhcmFjdGVySW5kZXhGb3JYUG9zaXRp
b24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyMzc2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
bWFudWFsIHRlc3QgdG8gcmVsaWFibHkgcmVwcm9kdWNlIGFzc2VydGlvbiBmYWlsdXJlIHdoaWNo
IGlzIHNvbHZlZCBieSB0aGlzIHBhdGNoLgorCisgICAgICAgICogTWFudWFsVGVzdHMvaGFyZmJ1
enotbW91c2Utc2VsZWN0aW9uLWNyYXNoLmh0bWw6IEFkZGVkLgorCiAyMDEyLTA3LTI5ICBWc2V2
b2xvZCBWbGFzb3YgIDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFJlc291cmNlIGFnZW50J3MgcmVmZXJlbmNlIHRvIGNhY2hlZCByZXNvdXJjZXMgc2hvdWxk
IGJlIHdlYWsuCmRpZmYgLS1naXQgYS9NYW51YWxUZXN0cy9oYXJmYnV6ei1tb3VzZS1zZWxlY3Rp
b24tY3Jhc2guaHRtbCBiL01hbnVhbFRlc3RzL2hhcmZidXp6LW1vdXNlLXNlbGVjdGlvbi1jcmFz
aC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmE3ZTg1YTFlZjgzMTExZDUwNGM3ZjAxYzAyMjYzNTQ0MTMyYWUy
OWYKLS0tIC9kZXYvbnVsbAorKysgYi9NYW51YWxUZXN0cy9oYXJmYnV6ei1tb3VzZS1zZWxlY3Rp
b24tY3Jhc2guaHRtbApAQCAtMCwwICsxLDU0IEBACis8aHRtbD4KKzxoZWFkPgorPG1ldGEgaHR0
cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgi
PgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyN0ZWx1Z3UgeworZm9udC1zaXplOiAyY207Cits
aW5lLWhlaWdodDogMS41ZW07Citmb250LWZhbWlseTogIkxvaGl0IFRlbHVndSI7Cit9Cis8L3N0
eWxlPgorPHNjcmlwdD4KK3ZhciBJVEVSQVRJT05TID0gMTAwMDA7CisKK2lmICh3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKworZnVuY3Rpb24gbW91
c2VTZWxlY3Rpb24oKSB7CisgICAgdmFyIGJvZHkgPSBkb2N1bWVudC5ib2R5OworICAgIGJvZHku
Zm9jdXMoKTsKKworICAgIHhTdGFydCA9IDA7CisgICAgeVN0YXJ0ID0gMDsKKworICAgIGlmICh3
aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oeFN0
YXJ0LCB5U3RhcnQpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICAgICAg
Zm9yKGk9MDtpPElURVJBVElPTlM7aSsrKSB7CisgICAgICAgICAgICByYW5kb21Db29yZCA9IHJh
bmRvbUNvb3JkaW5hdGUoKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHJh
bmRvbUNvb3JkLngsIHJhbmRvbUNvb3JkLnkpOworICAgICAgICB9CisgICAgfQorICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5kZXIpCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworfQor
CitmdW5jdGlvbiByYW5kb21Db29yZGluYXRlKGF4aXMpIHsKKyAgICByZXR1cm4geyB4OiBNYXRo
LmZsb29yKE1hdGgucmFuZG9tKCkqd2luZG93LmlubmVyV2lkdGgpLAorICAgICAgICAgICAgIHk6
IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSogd2luZG93LmlubmVySGVpZ2h0KSB9Cit9CisKKzwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJtb3VzZVNlbGVjdGlvbigpIj48cD4KKyAg
IFRoaXMgdGVzdCBmdXp6ZXMgSGFyZkJ1enpTaGFwZXI6Om9mZnNldEZvclBvc2l0aW9uIHRvIHRy
aWdnZXIgYW4gYXNzZXJ0aW9uIGluIHRoZSBkb3duc3RyZWFtIGZ1bmN0aW9uIGNoYXJhY3Rlcklu
ZGV4Rm9yWFBvc2l0aW9uKCkuCisgICBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTkyMzc2IC0gcmVhc29uIG9mIHRoZSBhc3NlcnRpb24gYmVpbmcgaGl0IGlzIGEg
bWludXNjdWxlIGZsb2F0aW5nIHBvaW50IGluYWNjdXJhY3kgCisgICBiZXR3ZWVuIGFuIGlmIGNv
bmRpdGlvbiB0aGF0IGdhdGVzIHRoZSBjYWxsIHRvIGNoYXJhY3RlckluZGV4Rm9yWFBvc2l0aW9u
IGFuZCB0aGUgYWN0dWFsIGFyZ3VtZW50IHRoYXQncyB0aGVuIGdpdmVuIHRvIHRoZSBmdW5jdGlv
bi4KKyAgIFRoaXMgdGVzdCB3b3JrcyBvbiBXZWJLaXQgRUZMLCB3aXRoIHRoZSBVYnVudHUgVGVs
dWd1IExvaGl0IGZvbnQgaW5zdGFsbGVkIHRvIHRoZSBFRkwgamhidWlsZCBmb250IGRpcmVjdG9y
eSwgbGlrZTo8L3A+CisgICAgIDxwcmU+JCBjcCAvdXNyL3NoYXJlL2ZvbnRzL3RydWV0eXBlL3R0
Zi10ZWx1Z3UtZm9udHMvbG9oaXRfdGUudHRmIFdlYktpdEJ1aWxkL0RlcGVuZGVuY2llcy9Tb3Vy
Y2Uvd2Via2l0Z3RrLXRlc3QtZm9udHMtMC4wLjM8L3ByZT4KKyAgIDxwPlJ1biB3aXRoOjwvcD4K
KyAgICAgPHByZT4kIFdlYktpdEJ1aWxkL0RlYnVnL2Jpbi9EdW1wUmVuZGVyVHJlZSBNYW51YWxU
ZXN0cy9oYXJmYnV6ei1tb3VzZS1zZWxlY3Rpb24tY3Jhc2guaHRtbDwvcHJlPgorICAgPHA+QmVm
b3JlIHRoZSBjaGFuZ2UsIHRoaXMgd291bGQgY3Jhc2ggMTAvMTAgdGltZXMuIFRlc3QgcGFzc2Vz
IGlmIGl0IGRvZXMgbm90IGNyYXNoLjwvcD4KKzxwIGlkPSJ0ZWx1Z3UiPuCwmuCxh+CwqOCxh+Cw
pCDgsJXgsL7gsLDgsY3gsK7gsL/gsJXgsYHgsLIg4LC44LCu4LC44LGN4LCv4LCy4LCo4LGBIOCw
quCxjeCwsOCwreCxgeCwpOCxjeCwteCwgiDgsKbgsYPgsLfgsY3gsJ/gsL/gsJXgsL8g4LCk4LGA
4LC44LGB4LCV4LGB4LC14LGG4LCz4LGN4LCy4LGH4LCC4LCm4LGB4LCV4LGBIOCwuOCwv+CwsOCw
v+CwuOCwv+CwsuCxjeCwsuCwsuCxiyDgsLXgsYjgsI7gsLjgsY3gsIbgsLDgsY0g4LC44LC/4LCq
4LC/IOCwl+CxjOCwsOCwteCwvuCwp+CxjeCwr+CwleCxjeCwt+CxgeCwsOCwvuCwsuCxgSDgsLXg
sL/gsJzgsK/gsK7gsY3gsK4g4LCa4LGH4LCq4LCf4LGN4LCf4LC/4LCo4LCm4LGA4LCV4LGN4LC3
IOCwteCwv+CwnOCwr+CwteCwguCwpOCwruCxiOCwguCwpuCwvy48L3A+Cis8L2JvZHk+Cis8L2h0
bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>