<?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>64146</bug_id>
          
          <creation_ts>2011-07-07 22:09:35 -0700</creation_ts>
          <short_desc>Refactoring luminance code in RenderSVGResourceMasker</short_desc>
          <delta_ts>2011-07-08 23:05:45 -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>SVG</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="Dirk Schulze">krit</reporter>
          <assigned_to name="Dirk Schulze">krit</assigned_to>
          <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>433889</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-07-07 22:09:35 -0700</bug_when>
    <thetext>Refactoring luminance code in RenderSVGResourceMasker.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>433894</commentid>
    <comment_count>1</comment_count>
      <attachid>100070</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-07-07 22:19:39 -0700</bug_when>
    <thetext>Created attachment 100070
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434057</commentid>
    <comment_count>2</comment_count>
      <attachid>100070</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-07-08 08:18:05 -0700</bug_when>
    <thetext>Comment on attachment 100070
Patch

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

Hm, do you actually plan to implement a non-generic code path at some point? Did anyone ask for that? I&apos;m confused why this is needed, though I see the intention.

&gt; Source/WebCore/platform/graphics/ImageBuffer.cpp:91
&gt; +void ImageBuffer::toLuminanceMask()

You have to inline this as well - otherwhise there&apos;s no benefit in inlining genericToLumiMask() - correct me if I&apos;m wrong.

&gt; Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp:162
&gt; +    maskerData-&gt;maskImage-&gt;toLuminanceMask();

That sounds fairly generic, how about convertToLuminanceMask() ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434112</commentid>
    <comment_count>3</comment_count>
      <attachid>100127</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-07-08 09:54:36 -0700</bug_when>
    <thetext>Created attachment 100127
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434267</commentid>
    <comment_count>4</comment_count>
      <attachid>100152</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-07-08 13:28:32 -0700</bug_when>
    <thetext>Created attachment 100152
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434286</commentid>
    <comment_count>5</comment_count>
      <attachid>100152</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-08 13:48:57 -0700</bug_when>
    <thetext>Comment on attachment 100152
Patch

Attachment 100152 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/9005003</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434462</commentid>
    <comment_count>6</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-07-08 23:05:45 -0700</bug_when>
    <thetext>Committed r90676: &lt;http://trac.webkit.org/changeset/90676&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100070</attachid>
            <date>2011-07-07 22:19:39 -0700</date>
            <delta_ts>2011-07-08 09:54:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64146-20110708071936.patch</filename>
            <type>text/plain</type>
            <size>9971</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkwNjExKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDctMDcgIERpcmsgU2No
dWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KKworICAgICAgICBSZWZhY3RvcmluZyBsdW1pbmFuY2Ug
Y29kZSBpbiBSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxNDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBNb3ZlZCBsdW1pbmFuY2UgY2FsY3VsY2F0aW9uIGNvZGUg
dG8gSW1hZ2VCdWZmZXIuIFRoZSBjb2RlIGlzIGRvaW5nIHBpeGVsIG1hbmlwdWxhdGlvbnMgYW5k
IGNhbiBub3cgZ2V0IHJlcGxhY2VkCisgICAgICAgIGJ5IHBsYXRmb3JtIHNwZWNpZmljIGFsZ29y
aXRobXMgaW4gdGhlIEltbWFnZUJ1ZmZlciouY3BwIGZpbGVzLgorCisgICAgICAgIE5vIGNoYW5n
ZSBvZiBmdW5jdGlvbmFsaXR5LiBObyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2VCdWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXI6OnRyYW5zZm9ybUNv
bG9yU3BhY2UpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXI6OmdlbmVyaWNUb0x1bWlu
YW5jZU1hc2spOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXI6OnRvTHVtaW5hbmNlTWFz
ayk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTWFza2VyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclNWR1Jlc291cmNlTWFza2VyOjpkcmF3Q29udGVudEludG9NYXNrSW1hZ2Up
OgorCiAyMDExLTA3LTA3ICBFbWlsIEEgRWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBTd2l0Y2ggSGl0VGVzdFJlc3VsdCB0byB0byBuZXcgbGF5b3V0IHR5cGVzCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShy
ZXZpc2lvbiA5MDU1NSkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtOTQxLDYgKzk0MSw3IEBACiAJCTQzMUEyRkQ3
MTNCNzcwN0EwMDc3OTFFNCAvKiBTVkdBbmltYXRlZExlbmd0aExpc3QuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDMxQTJGRDYxM0I3NzA3QTAwNzc5
MUU0IC8qIFNWR0FuaW1hdGVkTGVuZ3RoTGlzdC5jcHAgKi87IH07CiAJCTQzMUEzMDIxMTNCODlE
Q0MwMDc3OTFFNCAvKiBTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8uY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDMxQTMwMjAxM0I4OURDQzAw
Nzc5MUU0IC8qIFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5jcHAgKi87IH07CiAJCTQz
MUEzMDg4MTNCOEY5NzgwMDc3OTFFNCAvKiBTVkdBbmltYXRlZEJvb2xlYW4uY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDMxQTMwODcxM0I4Rjk3ODAw
Nzc5MUU0IC8qIFNWR0FuaW1hdGVkQm9vbGVhbi5jcHAgKi87IH07CisJCTQzMjVCNzIyMTNDNjU2
ODEwMDk1QTg3OCAvKiBJbWFnZUJ1ZmZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MzI1QjcyMTEzQzY1NjgxMDA5NUE4NzggLyogSW1hZ2VCdWZm
ZXIuY3BwICovOyB9OwogCQk0MzMxQUM3ODEzQjY4NzAwMDBBOUU1QUUgLyogU1ZHQW5pbWF0ZWRO
dW1iZXJMaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQzMzFBQzc3MTNCNjg3MDAwMEE5RTVBRSAvKiBTVkdBbmltYXRlZE51bWJlckxpc3QuY3Bw
ICovOyB9OwogCQk0MzU4RTg2QTEzNjBBMjE2MDBFNDc0OEMgLyogRE9NU1ZHRkVEcm9wU2hhZG93
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDM1OEU4NjcxMzYwQTIxNjAwRTQ3NDhDIC8qIERPTVNWR0ZFRHJvcFNoYWRvd0VsZW1lbnQuaCAq
LzsgfTsKIAkJNDM1OEU4NkIxMzYwQTIxNjAwRTQ3NDhDIC8qIERPTVNWR0ZFRHJvcFNoYWRvd0Vs
ZW1lbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MzU4RTg2ODEzNjBBMjE2MDBFNDc0OEMgLyogRE9NU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5tbSAq
LzsgfTsKQEAgLTc0MDUsNiArNzQwNiw3IEBACiAJCTQzMUEyRkQ2MTNCNzcwN0EwMDc3OTFFNCAv
KiBTVkdBbmltYXRlZExlbmd0aExpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDMxQTMwMjAxM0I4OURDQzAwNzc5MUU0IC8qIFNWR0FuaW1hdGVkUHJlc2VydmVB
c3BlY3RSYXRpby5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdB
bmltYXRlZFByZXNlcnZlQXNwZWN0UmF0aW8uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0MzFBMzA4NzEzQjhGOTc4MDA3NzkxRTQgLyogU1ZHQW5pbWF0ZWRCb29sZWFuLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR0FuaW1hdGVkQm9vbGVhbi5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQzMjVCNzIxMTNDNjU2ODEwMDk1QTg3
OCAvKiBJbWFnZUJ1ZmZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBJbWFnZUJ1ZmZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQzMzFBQzc3
MTNCNjg3MDAwMEE5RTVBRSAvKiBTVkdBbmltYXRlZE51bWJlckxpc3QuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHQW5pbWF0ZWROdW1iZXJMaXN0LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDM1OEU4NjcxMzYwQTIxNjAwRTQ3NDhDIC8qIERP
TVNWR0ZFRHJvcFNoYWRvd0VsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRE9NU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0MzU4RTg2ODEzNjBBMjE2MDBFNDc0OEMgLyogRE9NU1ZHRkVEcm9wU2hhZG93RWxlbWVu
dC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTVNWR0ZFRHJv
cFNoYWRvd0VsZW1lbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODA0MCw2
ICsxODA0Miw3IEBACiAJCQkJQjI3NTM1NDAwQjA1MzgxNDAwMkNFNjRGIC8qIEljb24uaCAqLywK
IAkJCQlCMjc1MzU0MTBCMDUzODE0MDAyQ0U2NEYgLyogSW1hZ2UuY3BwICovLAogCQkJCUIyNzUz
NTQyMEIwNTM4MTQwMDJDRTY0RiAvKiBJbWFnZS5oICovLAorCQkJCTQzMjVCNzIxMTNDNjU2ODEw
MDk1QTg3OCAvKiBJbWFnZUJ1ZmZlci5jcHAgKi8sCiAJCQkJQjJBMTBCOTEwQjM4MThCRDAwMDk5
QUE0IC8qIEltYWdlQnVmZmVyLmggKi8sCiAJCQkJMjJCRDlGN0QxMzUzNjI1QzAwOUJEMTAyIC8q
IEltYWdlQnVmZmVyRGF0YS5oICovLAogCQkJCUJDN0Y0NEE3MEI5RTMyNEUwMEE5RDA4MSAvKiBJ
bWFnZU9ic2VydmVyLmggKi8sCkBAIC0yNTg1NSw2ICsyNTg1OCw3IEBACiAJCQkJNDMxQTMwMjEx
M0I4OURDQzAwNzc5MUU0IC8qIFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk0MzFBMzA4ODEzQjhGOTc4MDA3NzkxRTQgLyogU1ZHQW5pbWF0ZWRC
b29sZWFuLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQzRjZGRDk2MTNCQ0QwQjEwMDIyNDA1MiAv
KiBTVkdBbmltYXRlZEludGVnZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDMyNUI3MjIxM0M2
NTY4MTAwOTVBODc4IC8qIEltYWdlQnVmZmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJ
CXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmNwcAkocmV2
aXNpb24gOTA1NTUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1
ZmZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0
IChDKSAyMDA5IERpcmsgU2NodWx6ZSA8a3JpdEB3ZWJraXQub3JnPgorICogQ29weXJpZ2h0IChD
KSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDExLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNiwxOSArMjcsMTggQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogCi0jaWYgIVVTRShDRykK
LQotI2luY2x1ZGUgPG1hdGguaD4KKyNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKKyNpZiAhVVNFKENHKQogdm9pZCBJbWFnZUJ1ZmZlcjo6dHJhbnNm
b3JtQ29sb3JTcGFjZShDb2xvclNwYWNlIHNyY0NvbG9yU3BhY2UsIENvbG9yU3BhY2UgZHN0Q29s
b3JTcGFjZSkKIHsKICAgICBpZiAoc3JjQ29sb3JTcGFjZSA9PSBkc3RDb2xvclNwYWNlKQogICAg
ICAgICByZXR1cm47CiAKICAgICAvLyBvbmx5IHNSR0IgPC0+IGxpbmVhclJHQiBhcmUgc3VwcG9y
dGVkIGF0IHRoZSBtb21lbnQKLSAgICBpZiAoKHNyY0NvbG9yU3BhY2UgIT0gQ29sb3JTcGFjZUxp
bmVhclJHQiAmJiBzcmNDb2xvclNwYWNlICE9IENvbG9yU3BhY2VEZXZpY2VSR0IpIAorICAgIGlm
ICgoc3JjQ29sb3JTcGFjZSAhPSBDb2xvclNwYWNlTGluZWFyUkdCICYmIHNyY0NvbG9yU3BhY2Ug
IT0gQ29sb3JTcGFjZURldmljZVJHQikKICAgICAgICAgfHwgKGRzdENvbG9yU3BhY2UgIT0gQ29s
b3JTcGFjZUxpbmVhclJHQiAmJiBkc3RDb2xvclNwYWNlICE9IENvbG9yU3BhY2VEZXZpY2VSR0Ip
KQogICAgICAgICByZXR1cm47CiAKQEAgLTY2LDcgKzY2LDMyIEBAIHZvaWQgSW1hZ2VCdWZmZXI6
OnRyYW5zZm9ybUNvbG9yU3BhY2UoQ28KICAgICAgICAgcGxhdGZvcm1UcmFuc2Zvcm1Db2xvclNw
YWNlKG1fZGV2aWNlUmdiTFVUKTsKICAgICB9CiB9CisjZW5kaWYgLy8gVVNFKENHKQogCitpbmxp
bmUgdm9pZCBJbWFnZUJ1ZmZlcjo6Z2VuZXJpY1RvTHVtaW5hbmNlTWFzaygpCit7CisgICAgSW50
UmVjdCBsdW1pbmFuY2VSZWN0KEludFBvaW50KCksIHNpemUoKSk7CisgICAgUmVmUHRyPEJ5dGVB
cnJheT4gc3JjUGl4ZWxBcnJheSA9IGdldFVubXVsdGlwbGllZEltYWdlRGF0YShsdW1pbmFuY2VS
ZWN0KTsKKyAgICAKKyAgICB1bnNpZ25lZCBwaXhlbEFycmF5TGVuZ3RoID0gc3JjUGl4ZWxBcnJh
eS0+bGVuZ3RoKCk7CisgICAgZm9yICh1bnNpZ25lZCBwaXhlbE9mZnNldCA9IDA7IHBpeGVsT2Zm
c2V0IDwgcGl4ZWxBcnJheUxlbmd0aDsgcGl4ZWxPZmZzZXQgKz0gNCkgeworICAgICAgICB1bnNp
Z25lZCBjaGFyIGEgPSBzcmNQaXhlbEFycmF5LT5nZXQocGl4ZWxPZmZzZXQgKyAzKTsKKyAgICAg
ICAgaWYgKCFhKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIHVuc2lnbmVkIGNoYXIg
ciA9IHNyY1BpeGVsQXJyYXktPmdldChwaXhlbE9mZnNldCk7CisgICAgICAgIHVuc2lnbmVkIGNo
YXIgZyA9IHNyY1BpeGVsQXJyYXktPmdldChwaXhlbE9mZnNldCArIDEpOworICAgICAgICB1bnNp
Z25lZCBjaGFyIGIgPSBzcmNQaXhlbEFycmF5LT5nZXQocGl4ZWxPZmZzZXQgKyAyKTsKKyAgICAg
ICAgCisgICAgICAgIGRvdWJsZSBsdW1hID0gKHIgKiAwLjIxMjUgKyBnICogMC43MTU0ICsgYiAq
IDAuMDcyMSkgKiAoKGRvdWJsZSlhIC8gMjU1LjApOworICAgICAgICBzcmNQaXhlbEFycmF5LT5z
ZXQocGl4ZWxPZmZzZXQgKyAzLCBsdW1hKTsKKyAgICB9CisgICAgcHV0VW5tdWx0aXBsaWVkSW1h
Z2VEYXRhKHNyY1BpeGVsQXJyYXkuZ2V0KCksIGx1bWluYW5jZVJlY3Quc2l6ZSgpLCBsdW1pbmFu
Y2VSZWN0LCBJbnRQb2ludCgpKTsKIH0KIAotI2VuZGlmIC8vIFVTRShDRykKK3ZvaWQgSW1hZ2VC
dWZmZXI6OnRvTHVtaW5hbmNlTWFzaygpCit7CisgICAgLy8gQWRkIHBsYXRmb3JtIHNwZWNpZmlj
IGZ1bmN0aW9ucyB3aXRoIHBsYXRmb3JtVG9MdW1pbmFuY2VNYXNrIGhlcmUgbGF0ZXIuCisgICAg
Z2VuZXJpY1RvTHVtaW5hbmNlTWFzaygpOworfQorCit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgJKHJldmlzaW9uIDkwNTU1KQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtOTIsNiArOTIsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQg
cHV0VW5tdWx0aXBsaWVkSW1hZ2VEYXRhKEJ5dGVBcnJheSosIGNvbnN0IEludFNpemUmIHNvdXJj
ZVNpemUsIGNvbnN0IEludFJlY3QmIHNvdXJjZVJlY3QsIGNvbnN0IEludFBvaW50JiBkZXN0UG9p
bnQpOwogICAgICAgICB2b2lkIHB1dFByZW11bHRpcGxpZWRJbWFnZURhdGEoQnl0ZUFycmF5Kiwg
Y29uc3QgSW50U2l6ZSYgc291cmNlU2l6ZSwgY29uc3QgSW50UmVjdCYgc291cmNlUmVjdCwgY29u
c3QgSW50UG9pbnQmIGRlc3RQb2ludCk7CiAgICAgICAgIAorICAgICAgICB2b2lkIHRvTHVtaW5h
bmNlTWFzaygpOworICAgICAgICAKICAgICAgICAgU3RyaW5nIHRvRGF0YVVSTChjb25zdCBTdHJp
bmcmIG1pbWVUeXBlLCBjb25zdCBkb3VibGUqIHF1YWxpdHkgPSAwKSBjb25zdDsKICNpZiAhVVNF
KENHKQogICAgICAgICBBZmZpbmVUcmFuc2Zvcm0gYmFzZVRyYW5zZm9ybSgpIGNvbnN0IHsgcmV0
dXJuIEFmZmluZVRyYW5zZm9ybSgpOyB9CkBAIC0xMDksNiArMTExLDkgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb21wb3NpdGVPcGVyYXRvciA9
IENvbXBvc2l0ZVNvdXJjZU92ZXIsIGJvb2wgdXNlTG93UXVhbGl0eVNjYWxlID0gZmFsc2UpOwog
ICAgICAgICB2b2lkIGRyYXdQYXR0ZXJuKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVj
dCYgc3JjUmVjdCwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBwYXR0ZXJuVHJhbnNmb3JtLAogICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEZsb2F0UG9pbnQmIHBoYXNlLCBDb2xvclNwYWNl
IHN0eWxlQ29sb3JTcGFjZSwgQ29tcG9zaXRlT3BlcmF0b3IsIGNvbnN0IEZsb2F0UmVjdCYgZGVz
dFJlY3QpOworICAgICAgICAKKyAgICAgICAgdm9pZCBnZW5lcmljVG9MdW1pbmFuY2VNYXNrKCk7
CisKICAgICAgICAgZnJpZW5kIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKICAgICAgICAgZnJpZW5k
IGNsYXNzIEdlbmVyYXRlZEltYWdlOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR1Jlc291cmNlTWFza2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTWFza2VyLmNwcAkocmV2aXNpb24g
OTA1NTUpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNl
TWFza2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU5LDIzICsxNTksNyBAQCB2b2lkIFJlbmRl
clNWR1Jlc291cmNlTWFza2VyOjpkcmF3Q29udGVuCiAjZW5kaWYKIAogICAgIC8vIENyZWF0ZSB0
aGUgbHVtaW5hbmNlIG1hc2suCi0gICAgSW50UmVjdCBtYXNrSW1hZ2VSZWN0KEludFBvaW50KCks
IG1hc2tlckRhdGEtPm1hc2tJbWFnZS0+c2l6ZSgpKTsKLSAgICBSZWZQdHI8Qnl0ZUFycmF5PiBz
cmNQaXhlbEFycmF5ID0gbWFza2VyRGF0YS0+bWFza0ltYWdlLT5nZXRVbm11bHRpcGxpZWRJbWFn
ZURhdGEobWFza0ltYWdlUmVjdCk7Ci0KLSAgICB1bnNpZ25lZCBwaXhlbEFycmF5TGVuZ3RoID0g
c3JjUGl4ZWxBcnJheS0+bGVuZ3RoKCk7Ci0gICAgZm9yICh1bnNpZ25lZCBwaXhlbE9mZnNldCA9
IDA7IHBpeGVsT2Zmc2V0IDwgcGl4ZWxBcnJheUxlbmd0aDsgcGl4ZWxPZmZzZXQgKz0gNCkgewot
ICAgICAgICB1bnNpZ25lZCBjaGFyIGEgPSBzcmNQaXhlbEFycmF5LT5nZXQocGl4ZWxPZmZzZXQg
KyAzKTsKLSAgICAgICAgaWYgKCFhKQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIHVu
c2lnbmVkIGNoYXIgciA9IHNyY1BpeGVsQXJyYXktPmdldChwaXhlbE9mZnNldCk7Ci0gICAgICAg
IHVuc2lnbmVkIGNoYXIgZyA9IHNyY1BpeGVsQXJyYXktPmdldChwaXhlbE9mZnNldCArIDEpOwot
ICAgICAgICB1bnNpZ25lZCBjaGFyIGIgPSBzcmNQaXhlbEFycmF5LT5nZXQocGl4ZWxPZmZzZXQg
KyAyKTsKLQotICAgICAgICBkb3VibGUgbHVtYSA9IChyICogMC4yMTI1ICsgZyAqIDAuNzE1NCAr
IGIgKiAwLjA3MjEpICogKChkb3VibGUpYSAvIDI1NS4wKTsKLSAgICAgICAgc3JjUGl4ZWxBcnJh
eS0+c2V0KHBpeGVsT2Zmc2V0ICsgMywgbHVtYSk7Ci0gICAgfQotCi0gICAgbWFza2VyRGF0YS0+
bWFza0ltYWdlLT5wdXRVbm11bHRpcGxpZWRJbWFnZURhdGEoc3JjUGl4ZWxBcnJheS5nZXQoKSwg
bWFza0ltYWdlUmVjdC5zaXplKCksIG1hc2tJbWFnZVJlY3QsIEludFBvaW50KCkpOworICAgIG1h
c2tlckRhdGEtPm1hc2tJbWFnZS0+dG9MdW1pbmFuY2VNYXNrKCk7CiB9CiAKIHZvaWQgUmVuZGVy
U1ZHUmVzb3VyY2VNYXNrZXI6OmNhbGN1bGF0ZU1hc2tDb250ZW50UmVwYWludFJlY3QoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100127</attachid>
            <date>2011-07-08 09:54:36 -0700</date>
            <delta_ts>2011-07-08 13:28:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64146-20110708185433.patch</filename>
            <type>text/plain</type>
            <size>10034</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkwNjExKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDctMDcgIERpcmsgU2No
dWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KKworICAgICAgICBSZWZhY3RvcmluZyBsdW1pbmFuY2Ug
Y29kZSBpbiBSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxNDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBNb3ZlZCBsdW1pbmFuY2UgY2FsY3VsY2F0aW9uIGNvZGUg
dG8gSW1hZ2VCdWZmZXIuIFRoZSBjb2RlIGlzIGRvaW5nIHBpeGVsIG1hbmlwdWxhdGlvbnMgYW5k
IGNhbiBub3cgZ2V0IHJlcGxhY2VkCisgICAgICAgIGJ5IHBsYXRmb3JtIHNwZWNpZmljIGFsZ29y
aXRobXMgaW4gdGhlIEltbWFnZUJ1ZmZlciouY3BwIGZpbGVzLgorCisgICAgICAgIE5vIGNoYW5n
ZSBvZiBmdW5jdGlvbmFsaXR5LiBObyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2VCdWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXI6OnRyYW5zZm9ybUNv
bG9yU3BhY2UpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXI6OmdlbmVyaWNDb252ZXJ0
VG9MdW1pbmFuY2VNYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlQnVmZmVyOjpjb252ZXJ0
VG9MdW1pbmFuY2VNYXNrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZl
ci5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXI6OmRyYXdDb250ZW50
SW50b01hc2tJbWFnZSk6CisKIDIwMTEtMDctMDcgIEVtaWwgQSBFa2x1bmQgIDxlYWVAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFN3aXRjaCBIaXRUZXN0UmVzdWx0IHRvIHRvIG5ldyBsYXlvdXQg
dHlwZXMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oJKHJldmlzaW9uIDkwNTU1KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC05NDEsNiArOTQxLDcg
QEAKIAkJNDMxQTJGRDcxM0I3NzA3QTAwNzc5MUU0IC8qIFNWR0FuaW1hdGVkTGVuZ3RoTGlzdC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MzFBMkZE
NjEzQjc3MDdBMDA3NzkxRTQgLyogU1ZHQW5pbWF0ZWRMZW5ndGhMaXN0LmNwcCAqLzsgfTsKIAkJ
NDMxQTMwMjExM0I4OURDQzAwNzc5MUU0IC8qIFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRp
by5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MzFB
MzAyMDEzQjg5RENDMDA3NzkxRTQgLyogU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLmNw
cCAqLzsgfTsKIAkJNDMxQTMwODgxM0I4Rjk3ODAwNzc5MUU0IC8qIFNWR0FuaW1hdGVkQm9vbGVh
bi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MzFB
MzA4NzEzQjhGOTc4MDA3NzkxRTQgLyogU1ZHQW5pbWF0ZWRCb29sZWFuLmNwcCAqLzsgfTsKKwkJ
NDMyNUI3MjIxM0M2NTY4MTAwOTVBODc4IC8qIEltYWdlQnVmZmVyLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzMjVCNzIxMTNDNjU2ODEwMDk1QTg3
OCAvKiBJbWFnZUJ1ZmZlci5jcHAgKi87IH07CiAJCTQzMzFBQzc4MTNCNjg3MDAwMEE5RTVBRSAv
KiBTVkdBbmltYXRlZE51bWJlckxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDMzMUFDNzcxM0I2ODcwMDAwQTlFNUFFIC8qIFNWR0FuaW1hdGVk
TnVtYmVyTGlzdC5jcHAgKi87IH07CiAJCTQzNThFODZBMTM2MEEyMTYwMEU0NzQ4QyAvKiBET01T
VkdGRURyb3BTaGFkb3dFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MzU4RTg2NzEzNjBBMjE2MDBFNDc0OEMgLyogRE9NU1ZHRkVEcm9wU2hh
ZG93RWxlbWVudC5oICovOyB9OwogCQk0MzU4RTg2QjEzNjBBMjE2MDBFNDc0OEMgLyogRE9NU1ZH
RkVEcm9wU2hhZG93RWxlbWVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQzNThFODY4MTM2MEEyMTYwMEU0NzQ4QyAvKiBET01TVkdGRURyb3BTaGFk
b3dFbGVtZW50Lm1tICovOyB9OwpAQCAtNzQwNSw2ICs3NDA2LDcgQEAKIAkJNDMxQTJGRDYxM0I3
NzA3QTAwNzc5MUU0IC8qIFNWR0FuaW1hdGVkTGVuZ3RoTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdBbmltYXRlZExlbmd0aExpc3QuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MzFBMzAyMDEzQjg5RENDMDA3NzkxRTQgLyogU1ZHQW5p
bWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQzMUEzMDg3MTNCOEY5NzgwMDc3OTFFNCAvKiBTVkdBbmltYXRl
ZEJvb2xlYW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHQW5p
bWF0ZWRCb29sZWFuLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDMyNUI3MjEx
M0M2NTY4MTAwOTVBODc4IC8qIEltYWdlQnVmZmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEltYWdlQnVmZmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDMzMUFDNzcxM0I2ODcwMDAwQTlFNUFFIC8qIFNWR0FuaW1hdGVkTnVtYmVyTGlzdC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdBbmltYXRlZE51bWJl
ckxpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzU4RTg2NzEzNjBBMjE2
MDBFNDc0OEMgLyogRE9NU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBET01TVkdGRURyb3BTaGFkb3dFbGVtZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQzNThFODY4MTM2MEEyMTYwMEU0NzQ4QyAvKiBET01TVkdGRURy
b3BTaGFkb3dFbGVtZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gRE9NU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTE4MDQwLDYgKzE4MDQyLDcgQEAKIAkJCQlCMjc1MzU0MDBCMDUzODE0MDAyQ0U2NEYg
LyogSWNvbi5oICovLAogCQkJCUIyNzUzNTQxMEIwNTM4MTQwMDJDRTY0RiAvKiBJbWFnZS5jcHAg
Ki8sCiAJCQkJQjI3NTM1NDIwQjA1MzgxNDAwMkNFNjRGIC8qIEltYWdlLmggKi8sCisJCQkJNDMy
NUI3MjExM0M2NTY4MTAwOTVBODc4IC8qIEltYWdlQnVmZmVyLmNwcCAqLywKIAkJCQlCMkExMEI5
MTBCMzgxOEJEMDAwOTlBQTQgLyogSW1hZ2VCdWZmZXIuaCAqLywKIAkJCQkyMkJEOUY3RDEzNTM2
MjVDMDA5QkQxMDIgLyogSW1hZ2VCdWZmZXJEYXRhLmggKi8sCiAJCQkJQkM3RjQ0QTcwQjlFMzI0
RTAwQTlEMDgxIC8qIEltYWdlT2JzZXJ2ZXIuaCAqLywKQEAgLTI1ODU1LDYgKzI1ODU4LDcgQEAK
IAkJCQk0MzFBMzAyMTEzQjg5RENDMDA3NzkxRTQgLyogU1ZHQW5pbWF0ZWRQcmVzZXJ2ZUFzcGVj
dFJhdGlvLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQzMUEzMDg4MTNCOEY5NzgwMDc3OTFFNCAv
KiBTVkdBbmltYXRlZEJvb2xlYW4uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDNGNkZEOTYxM0JD
RDBCMTAwMjI0MDUyIC8qIFNWR0FuaW1hdGVkSW50ZWdlci5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQk0MzI1QjcyMjEzQzY1NjgxMDA5NUE4NzggLyogSW1hZ2VCdWZmZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJ
CX07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VC
dWZmZXIuY3BwCShyZXZpc2lvbiA5MDU1NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ltYWdlQnVmZmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8q
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgRGlyayBTY2h1bHplIDxrcml0QHdlYmtpdC5vcmc+Cisg
KiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTEuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI2LDE5ICsy
NywxOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCiAK
LSNpZiAhVVNFKENHKQotCi0jaW5jbHVkZSA8bWF0aC5oPgorI2luY2x1ZGUgPHd0Zi9NYXRoRXh0
cmFzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorI2lmICFVU0UoQ0cpCiB2b2lkIEltYWdl
QnVmZmVyOjp0cmFuc2Zvcm1Db2xvclNwYWNlKENvbG9yU3BhY2Ugc3JjQ29sb3JTcGFjZSwgQ29s
b3JTcGFjZSBkc3RDb2xvclNwYWNlKQogewogICAgIGlmIChzcmNDb2xvclNwYWNlID09IGRzdENv
bG9yU3BhY2UpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIG9ubHkgc1JHQiA8LT4gbGluZWFy
UkdCIGFyZSBzdXBwb3J0ZWQgYXQgdGhlIG1vbWVudAotICAgIGlmICgoc3JjQ29sb3JTcGFjZSAh
PSBDb2xvclNwYWNlTGluZWFyUkdCICYmIHNyY0NvbG9yU3BhY2UgIT0gQ29sb3JTcGFjZURldmlj
ZVJHQikgCisgICAgaWYgKChzcmNDb2xvclNwYWNlICE9IENvbG9yU3BhY2VMaW5lYXJSR0IgJiYg
c3JjQ29sb3JTcGFjZSAhPSBDb2xvclNwYWNlRGV2aWNlUkdCKQogICAgICAgICB8fCAoZHN0Q29s
b3JTcGFjZSAhPSBDb2xvclNwYWNlTGluZWFyUkdCICYmIGRzdENvbG9yU3BhY2UgIT0gQ29sb3JT
cGFjZURldmljZVJHQikpCiAgICAgICAgIHJldHVybjsKIApAQCAtNjYsNyArNjYsMzIgQEAgdm9p
ZCBJbWFnZUJ1ZmZlcjo6dHJhbnNmb3JtQ29sb3JTcGFjZShDbwogICAgICAgICBwbGF0Zm9ybVRy
YW5zZm9ybUNvbG9yU3BhY2UobV9kZXZpY2VSZ2JMVVQpOwogICAgIH0KIH0KKyNlbmRpZiAvLyBV
U0UoQ0cpCiAKK2lubGluZSB2b2lkIEltYWdlQnVmZmVyOjpnZW5lcmljQ29udmVydFRvTHVtaW5h
bmNlTWFzaygpCit7CisgICAgSW50UmVjdCBsdW1pbmFuY2VSZWN0KEludFBvaW50KCksIHNpemUo
KSk7CisgICAgUmVmUHRyPEJ5dGVBcnJheT4gc3JjUGl4ZWxBcnJheSA9IGdldFVubXVsdGlwbGll
ZEltYWdlRGF0YShsdW1pbmFuY2VSZWN0KTsKKyAgICAKKyAgICB1bnNpZ25lZCBwaXhlbEFycmF5
TGVuZ3RoID0gc3JjUGl4ZWxBcnJheS0+bGVuZ3RoKCk7CisgICAgZm9yICh1bnNpZ25lZCBwaXhl
bE9mZnNldCA9IDA7IHBpeGVsT2Zmc2V0IDwgcGl4ZWxBcnJheUxlbmd0aDsgcGl4ZWxPZmZzZXQg
Kz0gNCkgeworICAgICAgICB1bnNpZ25lZCBjaGFyIGEgPSBzcmNQaXhlbEFycmF5LT5nZXQocGl4
ZWxPZmZzZXQgKyAzKTsKKyAgICAgICAgaWYgKCFhKQorICAgICAgICAgICAgY29udGludWU7Cisg
ICAgICAgIHVuc2lnbmVkIGNoYXIgciA9IHNyY1BpeGVsQXJyYXktPmdldChwaXhlbE9mZnNldCk7
CisgICAgICAgIHVuc2lnbmVkIGNoYXIgZyA9IHNyY1BpeGVsQXJyYXktPmdldChwaXhlbE9mZnNl
dCArIDEpOworICAgICAgICB1bnNpZ25lZCBjaGFyIGIgPSBzcmNQaXhlbEFycmF5LT5nZXQocGl4
ZWxPZmZzZXQgKyAyKTsKKyAgICAgICAgCisgICAgICAgIGRvdWJsZSBsdW1hID0gKHIgKiAwLjIx
MjUgKyBnICogMC43MTU0ICsgYiAqIDAuMDcyMSkgKiAoKGRvdWJsZSlhIC8gMjU1LjApOworICAg
ICAgICBzcmNQaXhlbEFycmF5LT5zZXQocGl4ZWxPZmZzZXQgKyAzLCBsdW1hKTsKKyAgICB9Cisg
ICAgcHV0VW5tdWx0aXBsaWVkSW1hZ2VEYXRhKHNyY1BpeGVsQXJyYXkuZ2V0KCksIGx1bWluYW5j
ZVJlY3Quc2l6ZSgpLCBsdW1pbmFuY2VSZWN0LCBJbnRQb2ludCgpKTsKIH0KIAotI2VuZGlmIC8v
IFVTRShDRykKK3ZvaWQgSW1hZ2VCdWZmZXI6OmNvbnZlcnRUb0x1bWluYW5jZU1hc2soKQorewor
ICAgIC8vIEFkZCBwbGF0Zm9ybSBzcGVjaWZpYyBmdW5jdGlvbnMgd2l0aCBwbGF0Zm9ybVRvTHVt
aW5hbmNlTWFzayBoZXJlIGxhdGVyLgorICAgIGdlbmVyaWNDb252ZXJ0VG9MdW1pbmFuY2VNYXNr
KCk7Cit9CisKK30KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdl
QnVmZmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
SW1hZ2VCdWZmZXIuaAkocmV2aXNpb24gOTA1NTUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCSh3b3JraW5nIGNvcHkpCkBAIC05Miw2ICs5Miw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBwdXRVbm11bHRpcGxpZWRJbWFnZURh
dGEoQnl0ZUFycmF5KiwgY29uc3QgSW50U2l6ZSYgc291cmNlU2l6ZSwgY29uc3QgSW50UmVjdCYg
c291cmNlUmVjdCwgY29uc3QgSW50UG9pbnQmIGRlc3RQb2ludCk7CiAgICAgICAgIHZvaWQgcHV0
UHJlbXVsdGlwbGllZEltYWdlRGF0YShCeXRlQXJyYXkqLCBjb25zdCBJbnRTaXplJiBzb3VyY2VT
aXplLCBjb25zdCBJbnRSZWN0JiBzb3VyY2VSZWN0LCBjb25zdCBJbnRQb2ludCYgZGVzdFBvaW50
KTsKICAgICAgICAgCisgICAgICAgIHZvaWQgY29udmVydFRvTHVtaW5hbmNlTWFzaygpOworICAg
ICAgICAKICAgICAgICAgU3RyaW5nIHRvRGF0YVVSTChjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCBj
b25zdCBkb3VibGUqIHF1YWxpdHkgPSAwKSBjb25zdDsKICNpZiAhVVNFKENHKQogICAgICAgICBB
ZmZpbmVUcmFuc2Zvcm0gYmFzZVRyYW5zZm9ybSgpIGNvbnN0IHsgcmV0dXJuIEFmZmluZVRyYW5z
Zm9ybSgpOyB9CkBAIC0xMDksNiArMTExLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBDb21wb3NpdGVPcGVyYXRvciA9IENvbXBvc2l0ZVNvdXJj
ZU92ZXIsIGJvb2wgdXNlTG93UXVhbGl0eVNjYWxlID0gZmFsc2UpOwogICAgICAgICB2b2lkIGRy
YXdQYXR0ZXJuKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgY29u
c3QgQWZmaW5lVHJhbnNmb3JtJiBwYXR0ZXJuVHJhbnNmb3JtLAogICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IEZsb2F0UG9pbnQmIHBoYXNlLCBDb2xvclNwYWNlIHN0eWxlQ29sb3JTcGFj
ZSwgQ29tcG9zaXRlT3BlcmF0b3IsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QpOworICAgICAg
ICAKKyAgICAgICAgaW5saW5lIHZvaWQgZ2VuZXJpY0NvbnZlcnRUb0x1bWluYW5jZU1hc2soKTsK
KwogICAgICAgICBmcmllbmQgY2xhc3MgR3JhcGhpY3NDb250ZXh0OwogICAgICAgICBmcmllbmQg
Y2xhc3MgR2VuZXJhdGVkSW1hZ2U7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIuY3BwCShyZXZpc2lvbiA5
MDU1NSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VN
YXNrZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTksMjMgKzE1OSw3IEBAIHZvaWQgUmVuZGVy
U1ZHUmVzb3VyY2VNYXNrZXI6OmRyYXdDb250ZW4KICNlbmRpZgogCiAgICAgLy8gQ3JlYXRlIHRo
ZSBsdW1pbmFuY2UgbWFzay4KLSAgICBJbnRSZWN0IG1hc2tJbWFnZVJlY3QoSW50UG9pbnQoKSwg
bWFza2VyRGF0YS0+bWFza0ltYWdlLT5zaXplKCkpOwotICAgIFJlZlB0cjxCeXRlQXJyYXk+IHNy
Y1BpeGVsQXJyYXkgPSBtYXNrZXJEYXRhLT5tYXNrSW1hZ2UtPmdldFVubXVsdGlwbGllZEltYWdl
RGF0YShtYXNrSW1hZ2VSZWN0KTsKLQotICAgIHVuc2lnbmVkIHBpeGVsQXJyYXlMZW5ndGggPSBz
cmNQaXhlbEFycmF5LT5sZW5ndGgoKTsKLSAgICBmb3IgKHVuc2lnbmVkIHBpeGVsT2Zmc2V0ID0g
MDsgcGl4ZWxPZmZzZXQgPCBwaXhlbEFycmF5TGVuZ3RoOyBwaXhlbE9mZnNldCArPSA0KSB7Ci0g
ICAgICAgIHVuc2lnbmVkIGNoYXIgYSA9IHNyY1BpeGVsQXJyYXktPmdldChwaXhlbE9mZnNldCAr
IDMpOwotICAgICAgICBpZiAoIWEpCi0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgdW5z
aWduZWQgY2hhciByID0gc3JjUGl4ZWxBcnJheS0+Z2V0KHBpeGVsT2Zmc2V0KTsKLSAgICAgICAg
dW5zaWduZWQgY2hhciBnID0gc3JjUGl4ZWxBcnJheS0+Z2V0KHBpeGVsT2Zmc2V0ICsgMSk7Ci0g
ICAgICAgIHVuc2lnbmVkIGNoYXIgYiA9IHNyY1BpeGVsQXJyYXktPmdldChwaXhlbE9mZnNldCAr
IDIpOwotCi0gICAgICAgIGRvdWJsZSBsdW1hID0gKHIgKiAwLjIxMjUgKyBnICogMC43MTU0ICsg
YiAqIDAuMDcyMSkgKiAoKGRvdWJsZSlhIC8gMjU1LjApOwotICAgICAgICBzcmNQaXhlbEFycmF5
LT5zZXQocGl4ZWxPZmZzZXQgKyAzLCBsdW1hKTsKLSAgICB9Ci0KLSAgICBtYXNrZXJEYXRhLT5t
YXNrSW1hZ2UtPnB1dFVubXVsdGlwbGllZEltYWdlRGF0YShzcmNQaXhlbEFycmF5LmdldCgpLCBt
YXNrSW1hZ2VSZWN0LnNpemUoKSwgbWFza0ltYWdlUmVjdCwgSW50UG9pbnQoKSk7CisgICAgbWFz
a2VyRGF0YS0+bWFza0ltYWdlLT5jb252ZXJ0VG9MdW1pbmFuY2VNYXNrKCk7CiB9CiAKIHZvaWQg
UmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXI6OmNhbGN1bGF0ZU1hc2tDb250ZW50UmVwYWludFJlY3Qo
KQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100152</attachid>
            <date>2011-07-08 13:28:32 -0700</date>
            <delta_ts>2011-07-08 13:49:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64146-20110708222829.patch</filename>
            <type>text/plain</type>
            <size>8496</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkwNjU5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDctMDggIERpcmsgU2No
dWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KKworICAgICAgICBSZWZhY3RvcmluZyBsdW1pbmFuY2Ug
Y29kZSBpbiBSZW5kZXJTVkdSZXNvdXJjZU1hc2tlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxNDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBNb3ZlZCBsdW1pbmFuY2UgY2FsY3VsY2F0aW9uIGNvZGUg
dG8gSW1hZ2VCdWZmZXIuIFRoZSBjb2RlIGlzIGRvaW5nIHBpeGVsIG1hbmlwdWxhdGlvbnMgYW5k
IGNhbiBub3cgZ2V0IHJlcGxhY2VkCisgICAgICAgIGJ5IHBsYXRmb3JtIHNwZWNpZmljIGFsZ29y
aXRobXMgaW4gdGhlIEltbWFnZUJ1ZmZlciouY3BwIGZpbGVzLgorCisgICAgICAgIE5vIGNoYW5n
ZSBvZiBmdW5jdGlvbmFsaXR5LiBObyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW1h
Z2VCdWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXI6OnRyYW5zZm9ybUNv
bG9yU3BhY2UpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VCdWZmZXI6OmdlbmVyaWNDb252ZXJ0
VG9MdW1pbmFuY2VNYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlQnVmZmVyOjpjb252ZXJ0
VG9MdW1pbmFuY2VNYXNrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZl
ci5oOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUmVzb3VyY2VNYXNrZXI6OmRyYXdDb250ZW50
SW50b01hc2tJbWFnZSk6CisKIDIwMTEtMDctMDggIEplZmZyZXkgUGZhdSAgPGpwZmF1QGFwcGxl
LmNvbT4KIAogICAgICAgICBBZGQgZnJhbWV3b3JrIGZvciBhIG5ldy9kdW1teSBYTUxEb2N1bWVu
dFBhcnNlcgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkocmV2aXNpb24gOTA2NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTc0MTEsNiArNzQx
MSw3IEBACiAJCTQzMUEyRkQ2MTNCNzcwN0EwMDc3OTFFNCAvKiBTVkdBbmltYXRlZExlbmd0aExp
c3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHQW5pbWF0ZWRM
ZW5ndGhMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDMxQTMwMjAxM0I4
OURDQzAwNzc5MUU0IC8qIFNWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdBbmltYXRlZFByZXNlcnZlQXNwZWN0
UmF0aW8uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzFBMzA4NzEzQjhGOTc4
MDA3NzkxRTQgLyogU1ZHQW5pbWF0ZWRCb29sZWFuLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFNWR0FuaW1hdGVkQm9vbGVhbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTQzMjVCNzIxMTNDNjU2ODEwMDk1QTg3OCAvKiBJbWFnZUJ1ZmZlci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbWFnZUJ1ZmZlci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQzMzFBQzc3MTNCNjg3MDAwMEE5RTVBRSAvKiBT
VkdBbmltYXRlZE51bWJlckxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gU1ZHQW5pbWF0ZWROdW1iZXJMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDM1OEU4NjcxMzYwQTIxNjAwRTQ3NDhDIC8qIERPTVNWR0ZFRHJvcFNoYWRvd0VsZW1l
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NU1ZHRkVEcm9wU2hhZG93
RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzU4RTg2ODEzNjBBMjE2
MDBFNDc0OEMgLyogRE9NU1ZHRkVEcm9wU2hhZG93RWxlbWVudC5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTVNWR0ZFRHJvcFNoYWRvd0VsZW1lbnQubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODA1Miw2ICsxODA1Myw3IEBACiAJCQkJQjI3
NTM1NDAwQjA1MzgxNDAwMkNFNjRGIC8qIEljb24uaCAqLywKIAkJCQlCMjc1MzU0MTBCMDUzODE0
MDAyQ0U2NEYgLyogSW1hZ2UuY3BwICovLAogCQkJCUIyNzUzNTQyMEIwNTM4MTQwMDJDRTY0RiAv
KiBJbWFnZS5oICovLAorCQkJCTQzMjVCNzIxMTNDNjU2ODEwMDk1QTg3OCAvKiBJbWFnZUJ1ZmZl
ci5jcHAgKi8sCiAJCQkJQjJBMTBCOTEwQjM4MThCRDAwMDk5QUE0IC8qIEltYWdlQnVmZmVyLmgg
Ki8sCiAJCQkJMjJCRDlGN0QxMzUzNjI1QzAwOUJEMTAyIC8qIEltYWdlQnVmZmVyRGF0YS5oICov
LAogCQkJCUJDN0Y0NEE3MEI5RTMyNEUwMEE5RDA4MSAvKiBJbWFnZU9ic2VydmVyLmggKi8sCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIu
Y3BwCShyZXZpc2lvbiA5MDY1OSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ltYWdlQnVmZmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMDkgRGlyayBTY2h1bHplIDxrcml0QHdlYmtpdC5vcmc+CisgKiBDb3B5
cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTEuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI2LDE5ICsyNywxOCBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCiAKLSNpZiAh
VVNFKENHKQotCi0jaW5jbHVkZSA8bWF0aC5oPgorI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorI2lmICFVU0UoQ0cpCiB2b2lkIEltYWdlQnVmZmVy
Ojp0cmFuc2Zvcm1Db2xvclNwYWNlKENvbG9yU3BhY2Ugc3JjQ29sb3JTcGFjZSwgQ29sb3JTcGFj
ZSBkc3RDb2xvclNwYWNlKQogewogICAgIGlmIChzcmNDb2xvclNwYWNlID09IGRzdENvbG9yU3Bh
Y2UpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIG9ubHkgc1JHQiA8LT4gbGluZWFyUkdCIGFy
ZSBzdXBwb3J0ZWQgYXQgdGhlIG1vbWVudAotICAgIGlmICgoc3JjQ29sb3JTcGFjZSAhPSBDb2xv
clNwYWNlTGluZWFyUkdCICYmIHNyY0NvbG9yU3BhY2UgIT0gQ29sb3JTcGFjZURldmljZVJHQikg
CisgICAgaWYgKChzcmNDb2xvclNwYWNlICE9IENvbG9yU3BhY2VMaW5lYXJSR0IgJiYgc3JjQ29s
b3JTcGFjZSAhPSBDb2xvclNwYWNlRGV2aWNlUkdCKQogICAgICAgICB8fCAoZHN0Q29sb3JTcGFj
ZSAhPSBDb2xvclNwYWNlTGluZWFyUkdCICYmIGRzdENvbG9yU3BhY2UgIT0gQ29sb3JTcGFjZURl
dmljZVJHQikpCiAgICAgICAgIHJldHVybjsKIApAQCAtNjYsNyArNjYsMzIgQEAgdm9pZCBJbWFn
ZUJ1ZmZlcjo6dHJhbnNmb3JtQ29sb3JTcGFjZShDbwogICAgICAgICBwbGF0Zm9ybVRyYW5zZm9y
bUNvbG9yU3BhY2UobV9kZXZpY2VSZ2JMVVQpOwogICAgIH0KIH0KKyNlbmRpZiAvLyBVU0UoQ0cp
CiAKK2lubGluZSB2b2lkIEltYWdlQnVmZmVyOjpnZW5lcmljQ29udmVydFRvTHVtaW5hbmNlTWFz
aygpCit7CisgICAgSW50UmVjdCBsdW1pbmFuY2VSZWN0KEludFBvaW50KCksIHNpemUoKSk7Cisg
ICAgUmVmUHRyPEJ5dGVBcnJheT4gc3JjUGl4ZWxBcnJheSA9IGdldFVubXVsdGlwbGllZEltYWdl
RGF0YShsdW1pbmFuY2VSZWN0KTsKKyAgICAKKyAgICB1bnNpZ25lZCBwaXhlbEFycmF5TGVuZ3Ro
ID0gc3JjUGl4ZWxBcnJheS0+bGVuZ3RoKCk7CisgICAgZm9yICh1bnNpZ25lZCBwaXhlbE9mZnNl
dCA9IDA7IHBpeGVsT2Zmc2V0IDwgcGl4ZWxBcnJheUxlbmd0aDsgcGl4ZWxPZmZzZXQgKz0gNCkg
eworICAgICAgICB1bnNpZ25lZCBjaGFyIGEgPSBzcmNQaXhlbEFycmF5LT5nZXQocGl4ZWxPZmZz
ZXQgKyAzKTsKKyAgICAgICAgaWYgKCFhKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAg
IHVuc2lnbmVkIGNoYXIgciA9IHNyY1BpeGVsQXJyYXktPmdldChwaXhlbE9mZnNldCk7CisgICAg
ICAgIHVuc2lnbmVkIGNoYXIgZyA9IHNyY1BpeGVsQXJyYXktPmdldChwaXhlbE9mZnNldCArIDEp
OworICAgICAgICB1bnNpZ25lZCBjaGFyIGIgPSBzcmNQaXhlbEFycmF5LT5nZXQocGl4ZWxPZmZz
ZXQgKyAyKTsKKyAgICAgICAgCisgICAgICAgIGRvdWJsZSBsdW1hID0gKHIgKiAwLjIxMjUgKyBn
ICogMC43MTU0ICsgYiAqIDAuMDcyMSkgKiAoKGRvdWJsZSlhIC8gMjU1LjApOworICAgICAgICBz
cmNQaXhlbEFycmF5LT5zZXQocGl4ZWxPZmZzZXQgKyAzLCBsdW1hKTsKKyAgICB9CisgICAgcHV0
VW5tdWx0aXBsaWVkSW1hZ2VEYXRhKHNyY1BpeGVsQXJyYXkuZ2V0KCksIGx1bWluYW5jZVJlY3Qu
c2l6ZSgpLCBsdW1pbmFuY2VSZWN0LCBJbnRQb2ludCgpKTsKIH0KIAotI2VuZGlmIC8vIFVTRShD
RykKK3ZvaWQgSW1hZ2VCdWZmZXI6OmNvbnZlcnRUb0x1bWluYW5jZU1hc2soKQoreworICAgIC8v
IEFkZCBwbGF0Zm9ybSBzcGVjaWZpYyBmdW5jdGlvbnMgd2l0aCBwbGF0Zm9ybUNvbnZlcnRUb0x1
bWluYW5jZU1hc2sgaGVyZSBsYXRlci4KKyAgICBnZW5lcmljQ29udmVydFRvTHVtaW5hbmNlTWFz
aygpOworfQorCit9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFn
ZUJ1ZmZlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ltYWdlQnVmZmVyLmgJKHJldmlzaW9uIDkwNjU5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaAkod29ya2luZyBjb3B5KQpAQCAtOTIsNiArOTIsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgcHV0VW5tdWx0aXBsaWVkSW1hZ2VE
YXRhKEJ5dGVBcnJheSosIGNvbnN0IEludFNpemUmIHNvdXJjZVNpemUsIGNvbnN0IEludFJlY3Qm
IHNvdXJjZVJlY3QsIGNvbnN0IEludFBvaW50JiBkZXN0UG9pbnQpOwogICAgICAgICB2b2lkIHB1
dFByZW11bHRpcGxpZWRJbWFnZURhdGEoQnl0ZUFycmF5KiwgY29uc3QgSW50U2l6ZSYgc291cmNl
U2l6ZSwgY29uc3QgSW50UmVjdCYgc291cmNlUmVjdCwgY29uc3QgSW50UG9pbnQmIGRlc3RQb2lu
dCk7CiAgICAgICAgIAorICAgICAgICB2b2lkIGNvbnZlcnRUb0x1bWluYW5jZU1hc2soKTsKKyAg
ICAgICAgCiAgICAgICAgIFN0cmluZyB0b0RhdGFVUkwoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwg
Y29uc3QgZG91YmxlKiBxdWFsaXR5ID0gMCkgY29uc3Q7CiAjaWYgIVVTRShDRykKICAgICAgICAg
QWZmaW5lVHJhbnNmb3JtIGJhc2VUcmFuc2Zvcm0oKSBjb25zdCB7IHJldHVybiBBZmZpbmVUcmFu
c2Zvcm0oKTsgfQpAQCAtMTA5LDYgKzExMSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgQ29tcG9zaXRlT3BlcmF0b3IgPSBDb21wb3NpdGVTb3Vy
Y2VPdmVyLCBib29sIHVzZUxvd1F1YWxpdHlTY2FsZSA9IGZhbHNlKTsKICAgICAgICAgdm9pZCBk
cmF3UGF0dGVybihHcmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIGNv
bnN0IEFmZmluZVRyYW5zZm9ybSYgcGF0dGVyblRyYW5zZm9ybSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBGbG9hdFBvaW50JiBwaGFzZSwgQ29sb3JTcGFjZSBzdHlsZUNvbG9yU3Bh
Y2UsIENvbXBvc2l0ZU9wZXJhdG9yLCBjb25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0KTsKKyAgICAg
ICAgCisgICAgICAgIGlubGluZSB2b2lkIGdlbmVyaWNDb252ZXJ0VG9MdW1pbmFuY2VNYXNrKCk7
CisKICAgICAgICAgZnJpZW5kIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKICAgICAgICAgZnJpZW5k
IGNsYXNzIEdlbmVyYXRlZEltYWdlOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR1Jlc291cmNlTWFza2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNlTWFza2VyLmNwcAkocmV2aXNpb24g
OTA2NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jlc291cmNl
TWFza2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU5LDIzICsxNTksNyBAQCB2b2lkIFJlbmRl
clNWR1Jlc291cmNlTWFza2VyOjpkcmF3Q29udGVuCiAjZW5kaWYKIAogICAgIC8vIENyZWF0ZSB0
aGUgbHVtaW5hbmNlIG1hc2suCi0gICAgSW50UmVjdCBtYXNrSW1hZ2VSZWN0KEludFBvaW50KCks
IG1hc2tlckRhdGEtPm1hc2tJbWFnZS0+c2l6ZSgpKTsKLSAgICBSZWZQdHI8Qnl0ZUFycmF5PiBz
cmNQaXhlbEFycmF5ID0gbWFza2VyRGF0YS0+bWFza0ltYWdlLT5nZXRVbm11bHRpcGxpZWRJbWFn
ZURhdGEobWFza0ltYWdlUmVjdCk7Ci0KLSAgICB1bnNpZ25lZCBwaXhlbEFycmF5TGVuZ3RoID0g
c3JjUGl4ZWxBcnJheS0+bGVuZ3RoKCk7Ci0gICAgZm9yICh1bnNpZ25lZCBwaXhlbE9mZnNldCA9
IDA7IHBpeGVsT2Zmc2V0IDwgcGl4ZWxBcnJheUxlbmd0aDsgcGl4ZWxPZmZzZXQgKz0gNCkgewot
ICAgICAgICB1bnNpZ25lZCBjaGFyIGEgPSBzcmNQaXhlbEFycmF5LT5nZXQocGl4ZWxPZmZzZXQg
KyAzKTsKLSAgICAgICAgaWYgKCFhKQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIHVu
c2lnbmVkIGNoYXIgciA9IHNyY1BpeGVsQXJyYXktPmdldChwaXhlbE9mZnNldCk7Ci0gICAgICAg
IHVuc2lnbmVkIGNoYXIgZyA9IHNyY1BpeGVsQXJyYXktPmdldChwaXhlbE9mZnNldCArIDEpOwot
ICAgICAgICB1bnNpZ25lZCBjaGFyIGIgPSBzcmNQaXhlbEFycmF5LT5nZXQocGl4ZWxPZmZzZXQg
KyAyKTsKLQotICAgICAgICBkb3VibGUgbHVtYSA9IChyICogMC4yMTI1ICsgZyAqIDAuNzE1NCAr
IGIgKiAwLjA3MjEpICogKChkb3VibGUpYSAvIDI1NS4wKTsKLSAgICAgICAgc3JjUGl4ZWxBcnJh
eS0+c2V0KHBpeGVsT2Zmc2V0ICsgMywgbHVtYSk7Ci0gICAgfQotCi0gICAgbWFza2VyRGF0YS0+
bWFza0ltYWdlLT5wdXRVbm11bHRpcGxpZWRJbWFnZURhdGEoc3JjUGl4ZWxBcnJheS5nZXQoKSwg
bWFza0ltYWdlUmVjdC5zaXplKCksIG1hc2tJbWFnZVJlY3QsIEludFBvaW50KCkpOworICAgIG1h
c2tlckRhdGEtPm1hc2tJbWFnZS0+Y29udmVydFRvTHVtaW5hbmNlTWFzaygpOwogfQogCiB2b2lk
IFJlbmRlclNWR1Jlc291cmNlTWFza2VyOjpjYWxjdWxhdGVNYXNrQ29udGVudFJlcGFpbnRSZWN0
KCkK
</data>
<flag name="review"
          id="94795"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
    <flag name="commit-queue"
          id="94802"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>