<?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>84197</bug_id>
          
          <creation_ts>2012-04-17 14:56:18 -0700</creation_ts>
          <short_desc>[Chromium] Solid color layers should respect opacity value.</short_desc>
          <delta_ts>2012-04-18 16:33:05 -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>WebCore Misc.</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>
          <dependson>84215</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Reveman">reveman</reporter>
          <assigned_to name="David Reveman">reveman</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>jamesr</cc>
    
    <cc>piman</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>wjmaclean</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>604374</commentid>
    <comment_count>0</comment_count>
    <who name="David Reveman">reveman</who>
    <bug_when>2012-04-17 14:56:18 -0700</bug_when>
    <thetext>Fold opacity into shader color for solid color layers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604375</commentid>
    <comment_count>1</comment_count>
      <attachid>137611</attachid>
    <who name="David Reveman">reveman</who>
    <bug_when>2012-04-17 14:58:11 -0700</bug_when>
    <thetext>Created attachment 137611
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604384</commentid>
    <comment_count>2</comment_count>
    <who name="Antoine Labour">piman</who>
    <bug_when>2012-04-17 15:05:51 -0700</bug_when>
    <thetext>I would do the folding into LayerRendererChromium::drawSolidColorQuad instead. It&apos;s intrinsically linked with the shader - e.g. if we were to change the shader to explicitly take the opacity as a param, that&apos;s where we&apos;d do it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604400</commentid>
    <comment_count>3</comment_count>
      <attachid>137611</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-17 15:19:33 -0700</bug_when>
    <thetext>Comment on attachment 137611
Patch

I agree with Antoine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604444</commentid>
    <comment_count>4</comment_count>
    <who name="David Reveman">reveman</who>
    <bug_when>2012-04-17 16:07:14 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; I would do the folding into LayerRendererChromium::drawSolidColorQuad instead. It&apos;s intrinsically linked with the shader - e.g. if we were to change the shader to explicitly take the opacity as a param, that&apos;s where we&apos;d do it.

Good point. That also gets rid of the ugly rounding code I have in the current patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604445</commentid>
    <comment_count>5</comment_count>
      <attachid>137627</attachid>
    <who name="David Reveman">reveman</who>
    <bug_when>2012-04-17 16:08:07 -0700</bug_when>
    <thetext>Created attachment 137627
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604450</commentid>
    <comment_count>6</comment_count>
      <attachid>137627</attachid>
    <who name="Antoine Labour">piman</who>
    <bug_when>2012-04-17 16:13:35 -0700</bug_when>
    <thetext>Comment on attachment 137627
Patch

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

&gt; Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:623
&gt; +    GLC(context(), context()-&gt;uniform4f(solidColorProgram-&gt;fragmentShader().colorLocation(), color.red() / 255.0, color.green() / 255.0, color.blue() / 255.0, (color.alpha() / 255.0) * opacity));

Don&apos;t you need to apply opacity to all components, since we&apos;re doing premultiplied alpha? All other shaders multiply all components by the opacity.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604488</commentid>
    <comment_count>7</comment_count>
    <who name="David Reveman">reveman</who>
    <bug_when>2012-04-17 16:57:58 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 137627 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=137627&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp:623
&gt; &gt; +    GLC(context(), context()-&gt;uniform4f(solidColorProgram-&gt;fragmentShader().colorLocation(), color.red() / 255.0, color.green() / 255.0, color.blue() / 255.0, (color.alpha() / 255.0) * opacity));
&gt; 
&gt; Don&apos;t you need to apply opacity to all components, since we&apos;re doing premultiplied alpha? All other shaders multiply all components by the opacity.

The solid color shader doesn&apos;t expect premultiplied alpha. We expect textures to have premultiplied alpha but I&apos;m not sure what the case is for LayerChromium::setBackgroundColor(). If it needs to be fixed, lets do that in a separate patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604495</commentid>
    <comment_count>8</comment_count>
    <who name="Antoine Labour">piman</who>
    <bug_when>2012-04-17 17:04:26 -0700</bug_when>
    <thetext>OK, NVM, the shader already multiplies RGB by A.

So this LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604922</commentid>
    <comment_count>9</comment_count>
      <attachid>137627</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-04-18 11:26:31 -0700</bug_when>
    <thetext>Comment on attachment 137627
Patch

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

Oops.  Thanks for fixing this.  R=me.

&gt; Source/WebKit/chromium/tests/CCSolidColorLayerImplTest.cpp:104
&gt; +    EXPECT_EQ(opacity, quadCuller.quadList()[0]-&gt;toSolidColorDrawQuad()-&gt;opacity());

This test would have passed before, but I guess there&apos;s no reason not to add it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604933</commentid>
    <comment_count>10</comment_count>
    <who name="David Reveman">reveman</who>
    <bug_when>2012-04-18 11:33:42 -0700</bug_when>
    <thetext>Will rebase and land this patch after: https://bugs.webkit.org/show_bug.cgi?id=84215</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605162</commentid>
    <comment_count>11</comment_count>
      <attachid>137786</attachid>
    <who name="David Reveman">reveman</who>
    <bug_when>2012-04-18 15:30:54 -0700</bug_when>
    <thetext>Created attachment 137786
Patch

Rebase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605215</commentid>
    <comment_count>12</comment_count>
      <attachid>137786</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-18 16:33:00 -0700</bug_when>
    <thetext>Comment on attachment 137786
Patch

Clearing flags on attachment: 137786

Committed r114580: &lt;http://trac.webkit.org/changeset/114580&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605216</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-18 16:33:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137611</attachid>
            <date>2012-04-17 14:58:11 -0700</date>
            <delta_ts>2012-04-17 16:08:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84197-20120417175810.patch</filename>
            <type>text/plain</type>
            <size>4390</size>
            <attacher name="David Reveman">reveman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0Mzc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2I2MmUzNjcxZGE1NGZi
MGQ0MGMzZmMwYzQ1NzNjYzVhMGVjZTEyZC4uMDRmMTU2NTg4OTFlMmI3Y2JiYmFiNGY0M2Y0NWY1
ZjNhYWVkYzJiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA0LTE3ICBEYXZp
ZCBSZXZlbWFuICA8cmV2ZW1hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBT
b2xpZCBjb2xvciBsYXllcnMgc2hvdWxkIHJlc3BlY3Qgb3BhY2l0eSB2YWx1ZS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg0MTk3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRm9sZCBvcGFjaXR5IGludG8g
c2hhZGVyIGNvbG9yIGZvciBzb2xpZCBjb2xvciBsYXllcnMuCisKKyAgICAgICAgVGVzdDogQ0NT
b2xpZENvbG9yTGF5ZXJJbXBsVGVzdC52ZXJpZnlDb3JyZWN0T3BhY2l0eUluUXVhZAorCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTb2xpZENvbG9yTGF5ZXJJbXBs
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDU29saWRDb2xvckxheWVySW1wbDo6YXBwZW5kUXVh
ZHMpOgorCiAyMDEyLTA0LTE3ICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5A
bm9raWEuY29tPgogCiAgICAgICAgIEFzc2VydHMgaW4gWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2
ZW50VGhyb3R0bGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggNzYwY2RhNTQzZjA1ZmM4
ZDFjMTkzMWFkN2JlYzczNWE2NGM0NjQ4Yi4uNGJjMGY1OWNiMTkxMzU4OTVjZTkwYTljNDI1YWRm
YTI4ZTRlNTUyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxMi0wNC0xNyAgRGF2aWQgUmV2ZW1hbiAgPHJldmVtYW5AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFtDaHJvbWl1bV0gU29saWQgY29sb3IgbGF5ZXJzIHNob3VsZCByZXNwZWN0IG9wYWNpdHkg
dmFsdWUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04
NDE5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
dGVzdHMvQ0NTb2xpZENvbG9yTGF5ZXJJbXBsVGVzdC5jcHA6CisgICAgICAgIChDQ0xheWVyVGVz
dENvbW1vbjo6VEVTVCk6CisgICAgICAgIChDQ0xheWVyVGVzdENvbW1vbik6CisKIDIwMTItMDQt
MTcgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1
bV0gQ2FsZW5kYXIgUGlja2VyOiBQb3B1cCBwb3NpdGlvbiBpcyB3cm9uZyB3aGVuIHRoZXJlIGFy
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NTb2xpZENvbG9yTGF5ZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL2NjL0NDU29saWRDb2xvckxheWVySW1wbC5jcHAKaW5kZXggNmFlM2Ex
NzI5OGU5YzZjMzE4MjdhZDY5ZWFiNDZiOWU4ZWQzZTQ2My4uZTJiODU1ZTRiMjJlYzNjY2ZmMzNl
MzgwYjljOTk3Njg5OWQ4YzNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTb2xpZENvbG9yTGF5ZXJJbXBsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NvbGlkQ29sb3JMYXll
ckltcGwuY3BwCkBAIC02Niw3ICs2NiwxMSBAQCB2b2lkIENDU29saWRDb2xvckxheWVySW1wbDo6
YXBwZW5kUXVhZHMoQ0NRdWFkQ3VsbGVyJiBxdWFkTGlzdCwgY29uc3QgQ0NTaGFyZWRRdQogICAg
IGZvciAoaW50IHggPSAwOyB4IDwgd2lkdGg7IHggKz0gbV90aWxlU2l6ZSkgewogICAgICAgICBm
b3IgKGludCB5ID0gMDsgeSA8IGhlaWdodDsgeSArPSBtX3RpbGVTaXplKSB7CiAgICAgICAgICAg
ICBJbnRSZWN0IHNvbGlkVGlsZVJlY3QoeCwgeSwgbWluKHdpZHRoIC0geCwgbV90aWxlU2l6ZSks
IG1pbihoZWlnaHQgLSB5LCBtX3RpbGVTaXplKSk7Ci0gICAgICAgICAgICBxdWFkTGlzdC5hcHBl
bmQoQ0NTb2xpZENvbG9yRHJhd1F1YWQ6OmNyZWF0ZShzaGFyZWRRdWFkU3RhdGUsIHNvbGlkVGls
ZVJlY3QsIGJhY2tncm91bmRDb2xvcigpKSk7CisgICAgICAgICAgICBDb2xvciBzb2xpZENvbG9y
KGJhY2tncm91bmRDb2xvcigpLnJlZCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
YWNrZ3JvdW5kQ29sb3IoKS5ncmVlbigpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
YWNrZ3JvdW5kQ29sb3IoKS5ibHVlKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0
YXRpY19jYXN0PGludD4ocm91bmRmKGJhY2tncm91bmRDb2xvcigpLmFscGhhKCkgKiBvcGFjaXR5
KCkpKSk7CisgICAgICAgICAgICBxdWFkTGlzdC5hcHBlbmQoQ0NTb2xpZENvbG9yRHJhd1F1YWQ6
OmNyZWF0ZShzaGFyZWRRdWFkU3RhdGUsIHNvbGlkVGlsZVJlY3QsIHNvbGlkQ29sb3IpKTsKICAg
ICAgICAgfQogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVz
dHMvQ0NTb2xpZENvbG9yTGF5ZXJJbXBsVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3Rlc3RzL0NDU29saWRDb2xvckxheWVySW1wbFRlc3QuY3BwCmluZGV4IGE1NWE0NDdhOWJjZGM4
YjEyMWMyNjRlZDk5NDVlMzVlYjkyNTFiNGMuLmE2Nzk4YjFhZTE3NWFmMzc3ZjFlNjI5NTljNGU2
MjQwZThlZGIyODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NT
b2xpZENvbG9yTGF5ZXJJbXBsVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90
ZXN0cy9DQ1NvbGlkQ29sb3JMYXllckltcGxUZXN0LmNwcApAQCAtODEsNCArODEsMzAgQEAgVEVT
VChDQ1NvbGlkQ29sb3JMYXllckltcGxUZXN0LCB2ZXJpZnlDb3JyZWN0QmFja2dyb3VuZENvbG9y
SW5RdWFkKQogICAgIEVYUEVDVF9FUShxdWFkQ3VsbGVyLnF1YWRMaXN0KClbMF0tPnRvU29saWRD
b2xvckRyYXdRdWFkKCktPmNvbG9yKCksIHRlc3RDb2xvcik7CiB9CiAKK1RFU1QoQ0NTb2xpZENv
bG9yTGF5ZXJJbXBsVGVzdCwgdmVyaWZ5Q29ycmVjdE9wYWNpdHlJblF1YWQpCit7CisgICAgRGVi
dWdTY29wZWRTZXRJbXBsVGhyZWFkIHNjb3BlZEltcGxUaHJlYWQ7CisKKyAgICBjb25zdCBDb2xv
ciB0ZXN0Q29sb3IgPSAweDgwQTU1QUE1OworICAgIGNvbnN0IENvbG9yIGJhY2tncm91bmRDb2xv
cih0ZXN0Q29sb3IucmVkKCksIHRlc3RDb2xvci5ncmVlbigpLCB0ZXN0Q29sb3IuYmx1ZSgpKTsK
KyAgICBjb25zdCBmbG9hdCBvcGFjaXR5ID0gdGVzdENvbG9yLmFscGhhKCkgLyAyNTUuMGY7CisK
KyAgICBNb2NrQ0NRdWFkQ3VsbGVyIHF1YWRDdWxsZXI7CisgICAgSW50U2l6ZSBsYXllclNpemUg
PSBJbnRTaXplKDEwMCwgMTAwKTsKKyAgICBJbnRSZWN0IHZpc2libGVMYXllclJlY3QgPSBJbnRS
ZWN0KEludFBvaW50KCksIGxheWVyU2l6ZSk7CisKKyAgICBPd25QdHI8Q0NTb2xpZENvbG9yTGF5
ZXJJbXBsPiBsYXllciA9IENDU29saWRDb2xvckxheWVySW1wbDo6Y3JlYXRlKDApOworICAgIGxh
eWVyLT5zZXRWaXNpYmxlTGF5ZXJSZWN0KHZpc2libGVMYXllclJlY3QpOworICAgIGxheWVyLT5z
ZXRCb3VuZHMobGF5ZXJTaXplKTsKKyAgICBsYXllci0+c2V0QmFja2dyb3VuZENvbG9yKGJhY2tn
cm91bmRDb2xvcik7CisgICAgbGF5ZXItPnNldE9wYWNpdHkob3BhY2l0eSk7CisKKyAgICBPd25Q
dHI8Q0NTaGFyZWRRdWFkU3RhdGU+IHNoYXJlZFF1YWRTdGF0ZSA9IGxheWVyLT5jcmVhdGVTaGFy
ZWRRdWFkU3RhdGUoKTsKKyAgICBib29sIGhhZE1pc3NpbmdUaWxlcyA9IGZhbHNlOworICAgIGxh
eWVyLT5hcHBlbmRRdWFkcyhxdWFkQ3VsbGVyLCBzaGFyZWRRdWFkU3RhdGUuZ2V0KCksIGhhZE1p
c3NpbmdUaWxlcyk7CisKKyAgICBBU1NFUlRfRVEocXVhZEN1bGxlci5xdWFkTGlzdCgpLnNpemUo
KSwgMVUpOworICAgIEVYUEVDVF9FUShxdWFkQ3VsbGVyLnF1YWRMaXN0KClbMF0tPnRvU29saWRD
b2xvckRyYXdRdWFkKCktPmNvbG9yKCksIHRlc3RDb2xvcik7Cit9CisKIH0gLy8gbmFtZXNwYWNl
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137627</attachid>
            <date>2012-04-17 16:08:07 -0700</date>
            <delta_ts>2012-04-18 15:30:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84197-20120417190805.patch</filename>
            <type>text/plain</type>
            <size>4400</size>
            <attacher name="David Reveman">reveman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0Mzc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2I2MmUzNjcxZGE1NGZi
MGQ0MGMzZmMwYzQ1NzNjYzVhMGVjZTEyZC4uZDA4NWU1MGZlNjg2ZTExMDU3NDU3NWQ5NTllMmU2
ZWY5NTY5YzI0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA0LTE3ICBEYXZp
ZCBSZXZlbWFuICA8cmV2ZW1hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBT
b2xpZCBjb2xvciBsYXllcnMgc2hvdWxkIHJlc3BlY3Qgb3BhY2l0eSB2YWx1ZS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg0MTk3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRm9sZCBvcGFjaXR5IGludG8g
c2hhZGVyIGNvbG9yIGZvciBzb2xpZCBjb2xvciBsYXllcnMuCisKKyAgICAgICAgVGVzdDogQ0NT
b2xpZENvbG9yTGF5ZXJJbXBsVGVzdC52ZXJpZnlDb3JyZWN0T3BhY2l0eUluUXVhZAorCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1NvbGlkQ29s
b3JRdWFkKToKKwogMjAxMi0wNC0xNyAgQWxsYW4gU2FuZGZlbGQgSmVuc2VuICA8YWxsYW4uamVu
c2VuQG5va2lhLmNvbT4KIAogICAgICAgICBBc3NlcnRzIGluIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudFRocm90dGxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDc2MGNkYTU0M2Yw
NWZjOGQxYzE5MzFhZDdiZWM3MzVhNjRjNDY0OGIuLjRiYzBmNTljYjE5MTM1ODk1Y2U5MGE5YzQy
NWFkZmEyOGU0ZTU1MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTItMDQtMTcgIERhdmlkIFJldmVtYW4gIDxyZXZlbWFuQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBbQ2hyb21pdW1dIFNvbGlkIGNvbG9yIGxheWVycyBzaG91bGQgcmVzcGVjdCBvcGFj
aXR5IHZhbHVlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODQxOTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHRlc3RzL0NDU29saWRDb2xvckxheWVySW1wbFRlc3QuY3BwOgorICAgICAgICAoQ0NMYXll
clRlc3RDb21tb246OlRFU1QpOgorICAgICAgICAoQ0NMYXllclRlc3RDb21tb24pOgorCiAyMDEy
LTA0LTE3ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hy
b21pdW1dIENhbGVuZGFyIFBpY2tlcjogUG9wdXAgcG9zaXRpb24gaXMgd3Jvbmcgd2hlbiB0aGVy
ZSBhcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCmluZGV4IDBkMDY2MzMy
OTBhMmI0ZDdkYjgzZTQxOTljMTFhYzA4ODkxZWM5OTQuLjAwNmZhZGIwOGRkOTkxMDQ4N2FmMDVj
NzYwNDYzYTliM2E1YzE2YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNw
cApAQCAtNjE4LDEyICs2MTgsMTIgQEAgdm9pZCBMYXllclJlbmRlcmVyQ2hyb21pdW06OmRyYXdT
b2xpZENvbG9yUXVhZChjb25zdCBDQ1NvbGlkQ29sb3JEcmF3UXVhZCogcXVhZCkKICAgICB0aWxl
VHJhbnNmb3JtLnRyYW5zbGF0ZSh0aWxlUmVjdC54KCkgKyB0aWxlUmVjdC53aWR0aCgpIC8gMi4w
LCB0aWxlUmVjdC55KCkgKyB0aWxlUmVjdC5oZWlnaHQoKSAvIDIuMCk7CiAKICAgICBjb25zdCBD
b2xvciYgY29sb3IgPSBxdWFkLT5jb2xvcigpOworICAgIGZsb2F0IG9wYWNpdHkgPSBxdWFkLT5v
cGFjaXR5KCk7CiAKLSAgICBHTEMoY29udGV4dCgpLCBjb250ZXh0KCktPnVuaWZvcm00Zihzb2xp
ZENvbG9yUHJvZ3JhbS0+ZnJhZ21lbnRTaGFkZXIoKS5jb2xvckxvY2F0aW9uKCksIGNvbG9yLnJl
ZCgpIC8gMjU1LjAsIGNvbG9yLmdyZWVuKCkgLyAyNTUuMCwgY29sb3IuYmx1ZSgpIC8gMjU1LjAs
IGNvbG9yLmFscGhhKCkgLyAyNTUuMCkpOworICAgIEdMQyhjb250ZXh0KCksIGNvbnRleHQoKS0+
dW5pZm9ybTRmKHNvbGlkQ29sb3JQcm9ncmFtLT5mcmFnbWVudFNoYWRlcigpLmNvbG9yTG9jYXRp
b24oKSwgY29sb3IucmVkKCkgLyAyNTUuMCwgY29sb3IuZ3JlZW4oKSAvIDI1NS4wLCBjb2xvci5i
bHVlKCkgLyAyNTUuMCwgKGNvbG9yLmFscGhhKCkgLyAyNTUuMCkgKiBvcGFjaXR5KSk7CiAKLSAg
ICBmbG9hdCBvcGFjaXR5ID0gcXVhZC0+b3BhY2l0eSgpOwogICAgIGRyYXdUZXh0dXJlZFF1YWQo
dGlsZVRyYW5zZm9ybSwKLSAgICAgICAgICAgICAgICAgICAgIHRpbGVSZWN0LndpZHRoKCksIHRp
bGVSZWN0LmhlaWdodCgpLCBvcGFjaXR5LCBGbG9hdFF1YWQoKSwKKyAgICAgICAgICAgICAgICAg
ICAgIHRpbGVSZWN0LndpZHRoKCksIHRpbGVSZWN0LmhlaWdodCgpLCAxLjAsIEZsb2F0UXVhZCgp
LAogICAgICAgICAgICAgICAgICAgICAgc29saWRDb2xvclByb2dyYW0tPnZlcnRleFNoYWRlcigp
Lm1hdHJpeExvY2F0aW9uKCksCiAgICAgICAgICAgICAgICAgICAgICAtMSwgLTEpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ1NvbGlkQ29sb3JMYXllcklt
cGxUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NTb2xpZENvbG9yTGF5
ZXJJbXBsVGVzdC5jcHAKaW5kZXggYTU1YTQ0N2E5YmNkYzhiMTIxYzI2NGVkOTk0NWUzNWViOTI1
MWI0Yy4uNmI3MTI0OTc1Y2UyMmFiYWVmYzU0N2Q2MzJhNTMxNjZiZGY4ZWIyNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ1NvbGlkQ29sb3JMYXllckltcGxUZXN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDU29saWRDb2xvckxheWVy
SW1wbFRlc3QuY3BwCkBAIC04MSw0ICs4MSwyNyBAQCBURVNUKENDU29saWRDb2xvckxheWVySW1w
bFRlc3QsIHZlcmlmeUNvcnJlY3RCYWNrZ3JvdW5kQ29sb3JJblF1YWQpCiAgICAgRVhQRUNUX0VR
KHF1YWRDdWxsZXIucXVhZExpc3QoKVswXS0+dG9Tb2xpZENvbG9yRHJhd1F1YWQoKS0+Y29sb3Io
KSwgdGVzdENvbG9yKTsKIH0KIAorVEVTVChDQ1NvbGlkQ29sb3JMYXllckltcGxUZXN0LCB2ZXJp
ZnlDb3JyZWN0T3BhY2l0eUluUXVhZCkKK3sKKyAgICBEZWJ1Z1Njb3BlZFNldEltcGxUaHJlYWQg
c2NvcGVkSW1wbFRocmVhZDsKKworICAgIGNvbnN0IGZsb2F0IG9wYWNpdHkgPSAwLjVmOworCisg
ICAgTW9ja0NDUXVhZEN1bGxlciBxdWFkQ3VsbGVyOworICAgIEludFNpemUgbGF5ZXJTaXplID0g
SW50U2l6ZSgxMDAsIDEwMCk7CisgICAgSW50UmVjdCB2aXNpYmxlTGF5ZXJSZWN0ID0gSW50UmVj
dChJbnRQb2ludCgpLCBsYXllclNpemUpOworCisgICAgT3duUHRyPENDU29saWRDb2xvckxheWVy
SW1wbD4gbGF5ZXIgPSBDQ1NvbGlkQ29sb3JMYXllckltcGw6OmNyZWF0ZSgwKTsKKyAgICBsYXll
ci0+c2V0VmlzaWJsZUxheWVyUmVjdCh2aXNpYmxlTGF5ZXJSZWN0KTsKKyAgICBsYXllci0+c2V0
Qm91bmRzKGxheWVyU2l6ZSk7CisgICAgbGF5ZXItPnNldERyYXdPcGFjaXR5KG9wYWNpdHkpOwor
CisgICAgT3duUHRyPENDU2hhcmVkUXVhZFN0YXRlPiBzaGFyZWRRdWFkU3RhdGUgPSBsYXllci0+
Y3JlYXRlU2hhcmVkUXVhZFN0YXRlKCk7CisgICAgYm9vbCBoYWRNaXNzaW5nVGlsZXMgPSBmYWxz
ZTsKKyAgICBsYXllci0+YXBwZW5kUXVhZHMocXVhZEN1bGxlciwgc2hhcmVkUXVhZFN0YXRlLmdl
dCgpLCBoYWRNaXNzaW5nVGlsZXMpOworCisgICAgQVNTRVJUX0VRKHF1YWRDdWxsZXIucXVhZExp
c3QoKS5zaXplKCksIDFVKTsKKyAgICBFWFBFQ1RfRVEob3BhY2l0eSwgcXVhZEN1bGxlci5xdWFk
TGlzdCgpWzBdLT50b1NvbGlkQ29sb3JEcmF3UXVhZCgpLT5vcGFjaXR5KCkpOworfQorCiB9IC8v
IG5hbWVzcGFjZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137786</attachid>
            <date>2012-04-18 15:30:54 -0700</date>
            <delta_ts>2012-04-18 16:33:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84197-20120418183053.patch</filename>
            <type>text/plain</type>
            <size>4335</size>
            <attacher name="David Reveman">reveman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0NTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjYwNWY2ODNjMmI2MWZk
NDgyM2Y2NmNlNTI0ZTA5MjM2ODlmNzAxZC4uZTZmZDE4Mjc1OWViMTRjMTczY2ZiN2M0NmNhOWVh
OTUwMmE2MzdhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA0LTE4ICBEYXZp
ZCBSZXZlbWFuICA8cmV2ZW1hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBT
b2xpZCBjb2xvciBsYXllcnMgc2hvdWxkIHJlc3BlY3Qgb3BhY2l0eSB2YWx1ZS4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg0MTk3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRm9sZCBvcGFjaXR5IGludG8g
c2hhZGVyIGNvbG9yIGZvciBzb2xpZCBjb2xvciBsYXllcnMuCisKKyAgICAgICAgVGVzdDogQ0NT
b2xpZENvbG9yTGF5ZXJJbXBsVGVzdC52ZXJpZnlDb3JyZWN0T3BhY2l0eUluUXVhZAorCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6ZHJhd1NvbGlkQ29s
b3JRdWFkKToKKwogMjAxMi0wNC0xOCAgTHVrZSBNYWNwaGVyc29uICA8bWFjcGhlcnNvbkBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgUHJldmVudCBzd2l0Y2ggY2FzZSBmYWxsdGhyb3VnaCBpbiBT
dHlsZVByb3BlcnR5U2V0OjpnZXRQcm9wZXJ0eVZhbHVlKCkuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCmluZGV4IDQyNGZkZDIxZmYzYTZlOTE0NmYwMjk5NDcxOGNlNjJkZWE2ZTA0MzguLjZhMzY1
MjA3OGEzN2ZmMzc0MjI4YTNhNmE4NGRmYzdkZGIwNDZhMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDQtMTggIERhdmlkIFJldmVtYW4gIDxyZXZl
bWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIFNvbGlkIGNvbG9yIGxheWVy
cyBzaG91bGQgcmVzcGVjdCBvcGFjaXR5IHZhbHVlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQxOTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIHRlc3RzL0NDU29saWRDb2xvckxheWVySW1wbFRlc3Qu
Y3BwOgorICAgICAgICAoQ0NMYXllclRlc3RDb21tb246OlRFU1QpOgorICAgICAgICAoQ0NMYXll
clRlc3RDb21tb24pOgorCiAyMDEyLTA0LTE4ICBNeWxlcyBNYXhmaWVsZCAgPG1tYXhmaWVsZEBn
b29nbGUuY29tPgogCiAgICAgICAgIENocm9taXVtIGNvbXBpbGUgb2YgV2ViRGF0YWJhc2UuY3Bw
IGZhaWxzIHdpdGhvdXQgU1FMX0RBVEFCQVNFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9t
aXVtLmNwcAppbmRleCBhM2ViMWNkOWYzZDlkYTc2YTJiNmI3YzY0NTAxYjNiOWYwNzZiNDM5Li43
ZmEzYzM1Njc5OTJmNTNkYmU2NTQ1ODQ3MTk3NmRmN2M2MDNkY2NhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21p
dW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xh
eWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKQEAgLTYyNywxMyArNjI3LDEzIEBAIHZvaWQgTGF5ZXJS
ZW5kZXJlckNocm9taXVtOjpkcmF3U29saWRDb2xvclF1YWQoY29uc3QgQ0NTb2xpZENvbG9yRHJh
d1F1YWQqIHF1YWQpCiAgICAgdGlsZVRyYW5zZm9ybS50cmFuc2xhdGUodGlsZVJlY3QueCgpICsg
dGlsZVJlY3Qud2lkdGgoKSAvIDIuMCwgdGlsZVJlY3QueSgpICsgdGlsZVJlY3QuaGVpZ2h0KCkg
LyAyLjApOwogCiAgICAgY29uc3QgQ29sb3ImIGNvbG9yID0gcXVhZC0+Y29sb3IoKTsKLSAgICBm
bG9hdCBhbHBoYSA9IGNvbG9yLmFscGhhKCkgLyAyNTUuMDsKKyAgICBmbG9hdCBvcGFjaXR5ID0g
cXVhZC0+b3BhY2l0eSgpOworICAgIGZsb2F0IGFscGhhID0gKGNvbG9yLmFscGhhKCkgLyAyNTUu
MCkgKiBvcGFjaXR5OwogCiAgICAgR0xDKGNvbnRleHQoKSwgY29udGV4dCgpLT51bmlmb3JtNGYo
c29saWRDb2xvclByb2dyYW0tPmZyYWdtZW50U2hhZGVyKCkuY29sb3JMb2NhdGlvbigpLCAoY29s
b3IucmVkKCkgLyAyNTUuMCkgKiBhbHBoYSwgKGNvbG9yLmdyZWVuKCkgLyAyNTUuMCkgKiBhbHBo
YSwgKGNvbG9yLmJsdWUoKSAvIDI1NS4wKSAqIGFscGhhLCBhbHBoYSkpOwogCi0gICAgZmxvYXQg
b3BhY2l0eSA9IHF1YWQtPm9wYWNpdHkoKTsKICAgICBkcmF3VGV4dHVyZWRRdWFkKHRpbGVUcmFu
c2Zvcm0sCi0gICAgICAgICAgICAgICAgICAgICB0aWxlUmVjdC53aWR0aCgpLCB0aWxlUmVjdC5o
ZWlnaHQoKSwgb3BhY2l0eSwgRmxvYXRRdWFkKCksCisgICAgICAgICAgICAgICAgICAgICB0aWxl
UmVjdC53aWR0aCgpLCB0aWxlUmVjdC5oZWlnaHQoKSwgMS4wLCBGbG9hdFF1YWQoKSwKICAgICAg
ICAgICAgICAgICAgICAgIHNvbGlkQ29sb3JQcm9ncmFtLT52ZXJ0ZXhTaGFkZXIoKS5tYXRyaXhM
b2NhdGlvbigpLAogICAgICAgICAgICAgICAgICAgICAgLTEsIC0xKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NTb2xpZENvbG9yTGF5ZXJJbXBsVGVzdC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDU29saWRDb2xvckxheWVySW1wbFRl
c3QuY3BwCmluZGV4IGE1NWE0NDdhOWJjZGM4YjEyMWMyNjRlZDk5NDVlMzVlYjkyNTFiNGMuLjZi
NzEyNDk3NWNlMjJhYmFlZmM1NDdkNjMyYTUzMTY2YmRmOGViMjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NTb2xpZENvbG9yTGF5ZXJJbXBsVGVzdC5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ1NvbGlkQ29sb3JMYXllckltcGxUZXN0
LmNwcApAQCAtODEsNCArODEsMjcgQEAgVEVTVChDQ1NvbGlkQ29sb3JMYXllckltcGxUZXN0LCB2
ZXJpZnlDb3JyZWN0QmFja2dyb3VuZENvbG9ySW5RdWFkKQogICAgIEVYUEVDVF9FUShxdWFkQ3Vs
bGVyLnF1YWRMaXN0KClbMF0tPnRvU29saWRDb2xvckRyYXdRdWFkKCktPmNvbG9yKCksIHRlc3RD
b2xvcik7CiB9CiAKK1RFU1QoQ0NTb2xpZENvbG9yTGF5ZXJJbXBsVGVzdCwgdmVyaWZ5Q29ycmVj
dE9wYWNpdHlJblF1YWQpCit7CisgICAgRGVidWdTY29wZWRTZXRJbXBsVGhyZWFkIHNjb3BlZElt
cGxUaHJlYWQ7CisKKyAgICBjb25zdCBmbG9hdCBvcGFjaXR5ID0gMC41ZjsKKworICAgIE1vY2tD
Q1F1YWRDdWxsZXIgcXVhZEN1bGxlcjsKKyAgICBJbnRTaXplIGxheWVyU2l6ZSA9IEludFNpemUo
MTAwLCAxMDApOworICAgIEludFJlY3QgdmlzaWJsZUxheWVyUmVjdCA9IEludFJlY3QoSW50UG9p
bnQoKSwgbGF5ZXJTaXplKTsKKworICAgIE93blB0cjxDQ1NvbGlkQ29sb3JMYXllckltcGw+IGxh
eWVyID0gQ0NTb2xpZENvbG9yTGF5ZXJJbXBsOjpjcmVhdGUoMCk7CisgICAgbGF5ZXItPnNldFZp
c2libGVMYXllclJlY3QodmlzaWJsZUxheWVyUmVjdCk7CisgICAgbGF5ZXItPnNldEJvdW5kcyhs
YXllclNpemUpOworICAgIGxheWVyLT5zZXREcmF3T3BhY2l0eShvcGFjaXR5KTsKKworICAgIE93
blB0cjxDQ1NoYXJlZFF1YWRTdGF0ZT4gc2hhcmVkUXVhZFN0YXRlID0gbGF5ZXItPmNyZWF0ZVNo
YXJlZFF1YWRTdGF0ZSgpOworICAgIGJvb2wgaGFkTWlzc2luZ1RpbGVzID0gZmFsc2U7CisgICAg
bGF5ZXItPmFwcGVuZFF1YWRzKHF1YWRDdWxsZXIsIHNoYXJlZFF1YWRTdGF0ZS5nZXQoKSwgaGFk
TWlzc2luZ1RpbGVzKTsKKworICAgIEFTU0VSVF9FUShxdWFkQ3VsbGVyLnF1YWRMaXN0KCkuc2l6
ZSgpLCAxVSk7CisgICAgRVhQRUNUX0VRKG9wYWNpdHksIHF1YWRDdWxsZXIucXVhZExpc3QoKVsw
XS0+dG9Tb2xpZENvbG9yRHJhd1F1YWQoKS0+b3BhY2l0eSgpKTsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UK
</data>

          </attachment>
      

    </bug>

</bugzilla>