<?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>72411</bug_id>
          
          <creation_ts>2011-11-15 13:34:12 -0800</creation_ts>
          <short_desc>No-op filter changes color output because of colorspace issues</short_desc>
          <delta_ts>2012-03-09 06:16:16 -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>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>abarth</cc>
    
    <cc>cc-bugs</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dino</cc>
    
    <cc>eoconnor</cc>
    
    <cc>jamesr</cc>
    
    <cc>krit</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mitz</cc>
    
    <cc>ojan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>503203</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2011-11-15 13:34:12 -0800</bug_when>
    <thetext>See attached test case. There are three filters in there, but I&apos;m only using the null version (which is an empty feMerge). Notice that the output colors are not the same as the input, although they should be.

Firefox renders this as expected - no change in output.

This results in the inverse filter (included) giving much brighter values than expected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503205</commentid>
    <comment_count>1</comment_count>
      <attachid>115233</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2011-11-15 13:34:38 -0800</bug_when>
    <thetext>Created attachment 115233
Test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503219</commentid>
    <comment_count>2</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2011-11-15 13:44:16 -0800</bug_when>
    <thetext>This depends on the color profile selected for the display, so may be OS X only.

If I chose Generic RGB, the colors pass through unchanged. Nearly everything else produces a different result.

Interestingly, Firefox remains unchanged in all profiles. In fact, even the unfiltered colors are unaffected by the color profile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503223</commentid>
    <comment_count>3</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2011-11-15 13:48:42 -0800</bug_when>
    <thetext>So the bug is probably &quot;Why isn&apos;t SVG filters using the same color profile as the rest of the page?&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>503583</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-11-15 21:50:18 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; So the bug is probably &quot;Why isn&apos;t SVG filters using the same color profile as the rest of the page?&quot;

The default color space for SVG Filters is &apos;linearRGB&apos;. The color space can be set with the CSS property &apos;color-interpolation-filters&apos;. At the moment &apos;linearRGB&apos; is the only color space that we support for SVG Filters. Please see also:

http://dev.w3.org/Graphics-FX/modules/filters/publish/SVGFilter.html#FilterPrimitivesOverviewIntro
http://www.w3.org/TR/2003/REC-SVG11-20030114/painting.html#ColorInterpolationFiltersProperty</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504035</commentid>
    <comment_count>5</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2011-11-16 10:38:21 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; So the bug is probably &quot;Why isn&apos;t SVG filters using the same color profile as the rest of the page?&quot;
&gt; 
&gt; The default color space for SVG Filters is &apos;linearRGB&apos;. The color space can be set with the CSS property &apos;color-interpolation-filters&apos;. At the moment &apos;linearRGB&apos; is the only color space that we support for SVG Filters. Please see also:
&gt; 
&gt; http://dev.w3.org/Graphics-FX/modules/filters/publish/SVGFilter.html#FilterPrimitivesOverviewIntro
&gt; http://www.w3.org/TR/2003/REC-SVG11-20030114/painting.html#ColorInterpolationFiltersProperty

I guess I misunderstood that property to mean that it applies to the filter operations themselves, not to the rendering of the output into the document.

I think this is an issue because it means there currently is no way to provide a filter that doesn&apos;t change its input, unless your system is set to linearRGB (or sRGB when we support it).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>504578</commentid>
    <comment_count>6</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-11-16 23:05:13 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (In reply to comment #3)
&gt; &gt; &gt; So the bug is probably &quot;Why isn&apos;t SVG filters using the same color profile as the rest of the page?&quot;
&gt; &gt; 
&gt; &gt; The default color space for SVG Filters is &apos;linearRGB&apos;. The color space can be set with the CSS property &apos;color-interpolation-filters&apos;. At the moment &apos;linearRGB&apos; is the only color space that we support for SVG Filters. Please see also:
&gt; &gt; 
&gt; &gt; http://dev.w3.org/Graphics-FX/modules/filters/publish/SVGFilter.html#FilterPrimitivesOverviewIntro
&gt; &gt; http://www.w3.org/TR/2003/REC-SVG11-20030114/painting.html#ColorInterpolationFiltersProperty
&gt; 
&gt; I guess I misunderstood that property to mean that it applies to the filter operations themselves, not to the rendering of the output into the document.
&gt; 
&gt; I think this is an issue because it means there currently is no way to provide a filter that doesn&apos;t change its input, unless your system is set to linearRGB (or sRGB when we support it).

The default color space of SVG Masking was changed from linearRGB to sRGB as default (can be changed with &apos;color-interpolation&apos; property). Maybe the same could be done for filters with changing the initial value of &apos;color-interpolation-filters&apos;? This needs to get discussed on public-fx, since HTML doesn&apos;t support linearRGB yet IIRC. Maybe linearRGB could be added beside the supported color spaces sRGB and DeviceRGB. It is already an option in ColorSpace.h, just the CSS parser doesn&apos;t support it yet.

Supporting sRGB for filters is not a big deal. When I implemented linearRGB, I had problems to understand if the input of an effect needs to get transformed to linearRGB/sRGB or if the result needs to get transformed (the CSS property gets applied to certain effects). What happens if an effect has two inputs, both in different color spaces? I wrote some tests and couldn&apos;t get a sense full explanation of the behavior on testing other SVG Viewers.
At the end I decided to use linearRGB as default and support &apos;color-interpolation-filters&apos; later. We already have a bug report for this: bug 6033. And I think this bug is a duplication of bug 6033 .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522123</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2011-12-15 11:59:38 -0800</bug_when>
    <thetext>&lt;rdar://problem/10588374&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>525385</commentid>
    <comment_count>8</comment_count>
      <attachid>120200</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-12-21 11:32:41 -0800</bug_when>
    <thetext>Created attachment 120200
CSS filter test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>525851</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-12-21 17:09:37 -0800</bug_when>
    <thetext>We start losing fidelity of the pixel values in the

    resultImage-&gt;context()-&gt;drawImageBuffer(filter-&gt;sourceImage(), ColorSpaceDeviceRGB, IntPoint());

in SourceGraphic::platformApplySoftware() before we&apos;ve done any filter or alpha premult stuff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>525894</commentid>
    <comment_count>10</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-12-21 17:53:19 -0800</bug_when>
    <thetext>So right now SourceGraphic has a deviceRGB image buffer and we paint into that. That gets copied to a linearRGB buffer, thence to another linearRGB buffer, and that buffer gets copied to the final context. Somewhere in that process we lose color fidelity.

In theory I think CG should be doing colorspace conversion when the deviceRGB buffer is painted to the linearRGB buffer, and again when the lienarRGB buffer is painted to the destination. I&apos;m not sure why that isn&apos;t&apos; happening.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>561093</commentid>
    <comment_count>11</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-02-21 11:45:39 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; So right now SourceGraphic has a deviceRGB image buffer and we paint into that. That gets copied to a linearRGB buffer, thence to another linearRGB buffer, and that buffer gets copied to the final context. Somewhere in that process we lose color fidelity.
&gt; 
&gt; In theory I think CG should be doing colorspace conversion when the deviceRGB buffer is painted to the linearRGB buffer, and again when the lienarRGB buffer is painted to the destination. I&apos;m not sure why that isn&apos;t&apos; happening.

gdb&apos;ing the CSS testcase shows that both of SourceGraphic&apos;s buffers (filter-&gt;sourceImage and resultImage) are DeviceRGB, so I&apos;m not sure this description is accurate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>561136</commentid>
    <comment_count>12</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-02-21 12:33:47 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; gdb&apos;ing the CSS testcase shows that both of SourceGraphic&apos;s buffers (filter-&gt;sourceImage and resultImage) are DeviceRGB, so I&apos;m not sure this description is accurate.

Nevermind, I was misunderstanding the GraphicsContextState story.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568234</commentid>
    <comment_count>13</comment_count>
      <attachid>129616</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-02-29 19:33:35 -0800</bug_when>
    <thetext>Created attachment 129616
patch

One thing I think we need is an additional bug to look at turning this on for Windows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568237</commentid>
    <comment_count>14</comment_count>
      <attachid>129616</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-02-29 19:35:12 -0800</bug_when>
    <thetext>Comment on attachment 129616
patch

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

&gt; Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp:119
&gt; +        CFBundleRef webCoreBundle = CFBundleGetBundleWithIdentifier(CFSTR(&quot;com.apple.WebCore&quot;));
&gt; +        CFURLRef iccProfileURL = CFBundleCopyResourceURL(webCoreBundle, CFSTR(&quot;linearSRGB&quot;), CFSTR(&quot;icc&quot;), NULL);
&gt; +        CFDataRef iccProfileData;
&gt; +        CFURLCreateDataAndPropertiesFromResource(NULL, iccProfileURL, &amp;iccProfileData, NULL, NULL, NULL);
&gt; +        CFRelease(iccProfileURL);
&gt; +        linearSRGBSpace = CGColorSpaceCreateWithICCProfile(iccProfileData);
&gt; +        CFRelease(iccProfileData);

And some error checking if the file doesn&apos;t exist!

I love how I always find things once I&apos;m looking at it in the review interface that I&apos;m totally blind to in Xcode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568262</commentid>
    <comment_count>15</comment_count>
      <attachid>129616</attachid>
    <who name="">mitz</who>
    <bug_when>2012-02-29 19:56:40 -0800</bug_when>
    <thetext>Comment on attachment 129616
patch

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

&gt; Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp:110
&gt; +    static CGColorSpaceRef linearSRGBSpace = NULL;

statics are initialized to 0 by the compiler.

&gt; Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp:112
&gt; +    if (linearSRGBSpace == NULL) {

This should be written as if (!linearSRGBSpace).

&gt;&gt; Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp:119
&gt;&gt; +        CFRelease(iccProfileData);
&gt; 
&gt; And some error checking if the file doesn&apos;t exist!
&gt; 
&gt; I love how I always find things once I&apos;m looking at it in the review interface that I&apos;m totally blind to in Xcode.

Please use RetainPtr&lt;&gt; for iccProfileURL and iccProfileData.

&gt; Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp:123
&gt;  #endif

A common style in WebKit is to write a (static) create() function and initialize the static variable by calling it, rather than doing the manual null check as you do above. An even neater way to do this is to use a block.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568314</commentid>
    <comment_count>16</comment_count>
      <attachid>129616</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-29 21:26:19 -0800</bug_when>
    <thetext>Comment on attachment 129616
patch

Attachment 129616 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11757201

New failing tests:
fast/workers/storage/use-same-database-in-page-and-workers.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568376</commentid>
    <comment_count>17</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-02-29 23:22:44 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; (From update of attachment 129616 [details])
&gt; Please use RetainPtr&lt;&gt; for iccProfileURL and iccProfileData.

I can see that working for iccProfileURL, but I&apos;m not sure how (in the iccProfileData case) this would interact with the CFData being created by CFURLCreateDataAndPropertiesFromResource. It doesn&apos;t seem to &quot;just work&quot;, in any case. I&apos;ll have to look at it tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568387</commentid>
    <comment_count>18</comment_count>
      <attachid>129641</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-02-29 23:39:01 -0800</bug_when>
    <thetext>Created attachment 129641
patch with most of Dan&apos;s changes

This is just missing the RetainPtr for iccProfileData.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568389</commentid>
    <comment_count>19</comment_count>
      <attachid>129642</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-02-29 23:41:13 -0800</bug_when>
    <thetext>Created attachment 129642
preempting the style bot</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568392</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-29 23:44:21 -0800</bug_when>
    <thetext>Attachment 129642 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1
Tools/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Total errors found: 1 in 85 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568394</commentid>
    <comment_count>21</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-02-29 23:46:14 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt; Attachment 129642 [details] did not pass style-queue:
&gt; 
&gt; Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1
&gt; Tools/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
&gt; Total errors found: 1 in 85 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against check-webkit-style.

Wahaa? I didn&apos;t touch that file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568396</commentid>
    <comment_count>22</comment_count>
      <attachid>129642</attachid>
    <who name="">mitz</who>
    <bug_when>2012-02-29 23:47:31 -0800</bug_when>
    <thetext>Comment on attachment 129642
preempting the style bot

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

&gt; Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp:80
&gt; +    CGColorSpaceRef linearSRGBSpace = deviceRGBColorSpaceRef();

I would have initialized this to 0 here…

&gt; Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp:92
&gt; +    return linearSRGBSpace;

…and 0-checked it here, and only if it’s 0, call deviceRGBColorSpaceRef(). One reason is to save that function call in the success case. The other is to avoid returning 0 if CGColorSpaceCreateWithICCProfile() failed for some reason.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568409</commentid>
    <comment_count>23</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-03-01 00:00:17 -0800</bug_when>
    <thetext>Thanks for the review!

Unfortunately, this is going to need a lot of new baselines. Even more unfortunately, when poking through the new baselines, I noticed that at least svg/filters/feColorMatrix-offset.svg doesn&apos;t look right. I&apos;ll take a look tomorrow; it&apos;s possible that the other browsers I&apos;m trying are getting it wrong instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574103</commentid>
    <comment_count>24</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-03-08 12:46:42 -0800</bug_when>
    <thetext>(In reply to comment #23)
&gt; Thanks for the review!
&gt; 
&gt; Unfortunately, this is going to need a lot of new baselines. Even more unfortunately, when poking through the new baselines, I noticed that at least svg/filters/feColorMatrix-offset.svg doesn&apos;t look right. I&apos;ll take a look tomorrow; it&apos;s possible that the other browsers I&apos;m trying are getting it wrong instead.

Ok, so we&apos;re (as of the patch I&apos;m going to post in a second) down to just needing new pixel baselines, which is currently not possible due to https://bugs.webkit.org/show_bug.cgi?id=80571. In the interests of landing this patch sooner rather than later, ... what should I do? I wish I could temporarily skip just the pixel tests for the affected bunch of tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574104</commentid>
    <comment_count>25</comment_count>
      <attachid>130883</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-03-08 12:48:57 -0800</bug_when>
    <thetext>Created attachment 130883
patch

This patch differs from the last only slightly:

-    if (iccProfileURL &amp;&amp; !CFURLCreateDataAndPropertiesFromResource(0, iccProfileURL.get(), &amp;iccProfileData, 0, 0, 0))
+    if (iccProfileURL &amp;&amp; CFURLCreateDataAndPropertiesFromResource(0, iccProfileURL.get(), &amp;iccProfileData, 0, 0, 0))

I&apos;d misread the CFURL docs when reorganizing this function and got the expected return value swapped.

So, now it&apos;s just up to the tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574105</commentid>
    <comment_count>26</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-03-08 12:53:52 -0800</bug_when>
    <thetext>(In reply to comment #24)
&gt; (In reply to comment #23)
&gt; &gt; Thanks for the review!
&gt; &gt; 
&gt; &gt; Unfortunately, this is going to need a lot of new baselines. Even more unfortunately, when poking through the new baselines, I noticed that at least svg/filters/feColorMatrix-offset.svg doesn&apos;t look right. I&apos;ll take a look tomorrow; it&apos;s possible that the other browsers I&apos;m trying are getting it wrong instead.
&gt; 
&gt; Ok, so we&apos;re (as of the patch I&apos;m going to post in a second) down to just needing new pixel baselines, which is currently not possible due to https://bugs.webkit.org/show_bug.cgi?id=80571. In the interests of landing this patch sooner rather than later, ... what should I do? I wish I could temporarily skip just the pixel tests for the affected bunch of tests.

You can mark the tests as failing pixel tests only by adding appropriate lines to the test_expectations.txt for your platform.  The lines would look something like this:

// Description of why this set of tests is expected to have pixel diffs
BUGWK12345 path/to/test.html = IMAGE
...

Then if the tests start failing in any other way (crash, text diffs) they will still go red. This should work for any port using NRWT, which IIRC is everything but windows</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574106</commentid>
    <comment_count>27</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-03-08 12:55:43 -0800</bug_when>
    <thetext>&gt; Then if the tests start failing in any other way (crash, text diffs) they will still go red. This should work for any port using NRWT, which IIRC is everything but windows

Oh, test_expectations works for Mac? I had no idea!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574195</commentid>
    <comment_count>28</comment_count>
      <attachid>130883</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-03-08 14:19:07 -0800</bug_when>
    <thetext>Comment on attachment 130883
patch

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

This looks fine to me. Are you going to send another patch with the skips or test_expectations?

&gt; Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp:124
&gt; +    // FIXME: Windows should be able to use linear sRGB, this is tracked by http://webkit.org/b/80000.

I protest that such a nice id is for such a boring bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574201</commentid>
    <comment_count>29</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-03-08 14:24:17 -0800</bug_when>
    <thetext>(In reply to comment #28)
&gt; (From update of attachment 130883 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=130883&amp;action=review
&gt; 
&gt; This looks fine to me. Are you going to send another patch with the skips or test_expectations?

Thanks!

Indeed, I&apos;m trying to work out the test_expectations right now! Which might be leading to me filing another tools bug :-\

&gt; &gt; Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp:124
&gt; &gt; +    // FIXME: Windows should be able to use linear sRGB, this is tracked by http://webkit.org/b/80000.
&gt; 
&gt; I protest that such a nice id is for such a boring bug

I said the same thing, in the bug :-D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574317</commentid>
    <comment_count>30</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-03-08 15:33:07 -0800</bug_when>
    <thetext>(In reply to comment #29)
&gt; (In reply to comment #28)
&gt; &gt; (From update of attachment 130883 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=130883&amp;action=review
&gt; &gt; 
&gt; &gt; This looks fine to me. Are you going to send another patch with the skips or test_expectations?
&gt; 
&gt; Thanks!
&gt; 
&gt; Indeed, I&apos;m trying to work out the test_expectations right now! Which might be leading to me filing another tools bug :-\
&gt; 
&gt; &gt; &gt; Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp:124
&gt; &gt; &gt; +    // FIXME: Windows should be able to use linear sRGB, this is tracked by http://webkit.org/b/80000.
&gt; &gt; 
&gt; &gt; I protest that such a nice id is for such a boring bug
&gt; 
&gt; I said the same thing, in the bug :-D

Landed (with test_expectations updates for Mac) in http://trac.webkit.org/changeset/110221</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574826</commentid>
    <comment_count>31</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-03-09 05:11:29 -0800</bug_when>
    <thetext>(In reply to comment #30)
&gt; Landed (with test_expectations updates for Mac) in http://trac.webkit.org/changeset/110221
Hrm, this made nrwt --tolerance 0 -p svg useless for me.
Without the fix in bug 80571, the pixel test baseline can&apos;t be correctly updated - at least I can&apos;t find a way to.

I wouldn&apos;t have landed this with test_expectations.txt changes, until it&apos;s clear when and how it can be fixed. I usually mark a test as failing IMAGE, when I know it just needs a rebaseline. The test that you&apos;ve marked as IMAGE, can&apos;t be updated atm due to bug 80571...

Anyhow, I&apos;d like to hear how you want to move on with this. I&apos;m reopening this bug for potential rebaselines after 80571 landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574850</commentid>
    <comment_count>32</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-03-09 06:16:16 -0800</bug_when>
    <thetext>Closing again, I rebaselined everything using Generic RGB profile in r110292, and restored several missing results that got removed by wrong rebaselining. We have to fix bug 80571 ASAP, to make sure only Generic RGB pixel test results are added to the Mac baseline.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>115233</attachid>
            <date>2011-11-15 13:34:38 -0800</date>
            <delta_ts>2011-11-15 13:34:38 -0800</delta_ts>
            <desc>Test case</desc>
            <filename>filter-inverse.svg</filename>
            <type>image/svg+xml</type>
            <size>1335</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDxzdHlsZT4KICAgICAgICAuZmlsdGVyZWQg
ewogICAgICAgICAgICBmaWx0ZXI6IHVybCgnI251bGwnKTsKICAgICAgICB9CiAgICA8L3N0eWxl
PgogICAgPGRlZnM+CiAgICAgICAgPGZpbHRlciBpZD0iaW52ZXJ0Ij4KICAgICAgICAgICAgPGZl
Q29tcG9uZW50VHJhbnNmZXI+CiAgICAgICAgICAgICAgICA8ZmVGdW5jUiB0eXBlPSJ0YWJsZSIg
dGFibGVWYWx1ZXM9IjEgMCIvPgogICAgICAgICAgICAgICAgPGZlRnVuY0cgdHlwZT0idGFibGUi
IHRhYmxlVmFsdWVzPSIxIDAiLz4KICAgICAgICAgICAgICAgIDxmZUZ1bmNCIHR5cGU9InRhYmxl
IiB0YWJsZVZhbHVlcz0iMSAwIi8+CiAgICAgICAgICAgIDwvZmVDb21wb25lbnRUcmFuc2Zlcj4K
ICAgICAgICA8L2ZpbHRlcj4KICAgICAgICA8ZmlsdGVyIGlkPSJudWxsIj4KICAgICAgICAgICAg
PGZlTWVyZ2U+CiAgICAgICAgICAgICAgICA8ZmVNZXJnZU5vZGUvPgogICAgICAgICAgICA8L2Zl
TWVyZ2U+CiAgICAgICAgPC9maWx0ZXI+CiAgICAgICAgPGZpbHRlciBpZD0iaHVlLXJvdGF0ZSI+
CiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHR5cGU9Imh1ZVJvdGF0ZSIKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmFsdWVzPSIxODAiLz4KICAgICAgICA8L2ZpbHRlcj4KICAgIDwvZGVm
cz4KCiAgICA8cmVjdCB4PSIxMCIgeT0iMCIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9
IiNmMDAiLz4KICAgIDxyZWN0IHg9IjIxMCIgeT0iMCIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIxMDAi
IGZpbGw9IiNmMDAiIGNsYXNzPSJmaWx0ZXJlZCIvPgoKICAgIDxyZWN0IHg9IjEwIiB5PSIxMTAi
IHdpZHRoPSIyMDAiIGhlaWdodD0iMTAwIiBmaWxsPSIjMGYwIi8+CiAgICA8cmVjdCB4PSIyMTAi
IHk9IjExMCIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9IiMwZjAiIGNsYXNzPSJmaWx0
ZXJlZCIvPgoKICAgIDxyZWN0IHg9IjEwIiB5PSIyMjAiIHdpZHRoPSIyMDAiIGhlaWdodD0iMTAw
IiBmaWxsPSIjMDBmIi8+CiAgICA8cmVjdCB4PSIyMTAiIHk9IjIyMCIgd2lkdGg9IjIwMCIgaGVp
Z2h0PSIxMDAiIGZpbGw9IiMwMGYiIGNsYXNzPSJmaWx0ZXJlZCIvPgoKICAgIDxyZWN0IHg9IjEw
IiB5PSIzMzAiIHdpZHRoPSIyMDAiIGhlaWdodD0iMTAwIiBmaWxsPSIjMGZmIi8+CiAgICA8cmVj
dCB4PSIyMTAiIHk9IjMzMCIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9IiMwZmYiIGNs
YXNzPSJmaWx0ZXJlZCIvPgo8L3N2Zz4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>120200</attachid>
            <date>2011-12-21 11:32:41 -0800</date>
            <delta_ts>2011-12-21 11:32:41 -0800</delta_ts>
            <desc>CSS filter test case</desc>
            <filename>filter-region.html</filename>
            <type>text/html</type>
            <size>445</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+Cgo8aHRtbCBsYW5nPSJlbiI+CjxoZWFkPgogIDxzdHlsZT4KICAgIC5i
b3ggewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIGhlaWdodDogMTAwcHg7CiAgICAg
IHdpZHRoOiAxMDBweDsKICAgICAgbWFyZ2luOiAyMHB4OwogICAgICBib3JkZXI6IDFweCBzb2xp
ZCBibGFjazsKICAgICAgYm94LXNoYWRvdzogMCAwIDIwcHggYmx1ZTsKICAgIH0KICAgIAogICAg
LmJveDpob3ZlciB7CiAgICAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDApOwovKiAgICAgIG9wYWNp
dHk6IDAuNTsqLwogICAgfQogIDwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CgogIDxkaXYgY2xhc3M9
ImZpbHRlcmVkIGJveCI+CiAgICA8ZGl2IGNsYXNzPSJib3giIHN0eWxlPSJ0b3A6IDUwcHg7IGxl
ZnQ6IDUwcHgiPgogICAgPC9kaXY+CiAgPC9kaXY+CjwvYm9keT4KPC9odG1sPg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129616</attachid>
            <date>2012-02-29 19:33:35 -0800</date>
            <delta_ts>2012-02-29 23:39:01 -0800</delta_ts>
            <desc>patch</desc>
            <filename>colorspaces.patch</filename>
            <type>text/plain</type>
            <size>6618</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlN2U0MGFjLi45ZWMzZmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMTItMDItMjkgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgTm8tb3AgZmlsdGVyIGNoYW5nZXMgY29sb3Igb3V0cHV0IGJlY2F1c2Ugb2YgY29s
b3JzcGFjZSBpc3N1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTcyNDExCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDU4ODM3ND4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWRlZmluZSAibGluZWFy
IFJHQiIgY29sb3Igc3BhY2Ugb24gTWFjIHRvIG1lYW4gbGluZWFyaXplZCBzUkdCLCBpbnN0ZWFk
IG9mIGxpbmVhcgorICAgICAgICBHZW5lcmljIFJHQi4gVGhpcyBtYWtlcyBleGlzdGluZyBDRyBj
b2xvciBtYXRjaGluZyBlcXVpdmFsZW50IHRvIHdoYXQgb3RoZXIgcG9ydHMgZG8gdmlhCisgICAg
ICAgIEltYWdlQnVmZmVyOjp0cmFuc2Zvcm1Db2xvclNwYWNlICh3aGljaCBvbmx5IGFkanVzdHMg
Z2FtbWEsIGFzIHdlIHdpbGwgbm93KS4gUHJldmlvdXNseSwKKyAgICAgICAgd2Ugd2VyZSBhbHNv
IGNhdXNpbmcgYWN0dWFsIChub24tZ2FtbWEpIGNvbG9yIGFkanVzdG1lbnRzIHdoaWNoIHdlcmUg
bm90IHJldmVyc2libGUuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBjb3ZlcmVkIGJ5IGFsbCBl
eGlzdGluZyBTVkcgYW5kIENTUyBmaWx0ZXIgdGVzdHMuCisKKyAgICAgICAgKiBSZXNvdXJjZXMv
bGluZWFyU1JHQi5pY2M6IEFkZGVkLgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRl
eHRDRy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpsaW5lYXJSR0JDb2xvclNwYWNlUmVmKToKKwog
MjAxMi0wMi0yOSAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBbY2hyb21pdW1dIERvbid0IGxldCBpbnZhbGlkYXRpb24gZm9yIG5leHQgZnJhbWUgcHJldmVu
dCB0aWxlIHVwbG9hZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL2xpbmVh
clNSR0IuaWNjIGIvU291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL2xpbmVhclNSR0IuaWNjCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjVjYzQzNzEwNjllOTU1MjQ3MWU2YWEwNzdkNDc1ZDdhYzU2Y2NmNTAKR0lUIGJpbmFy
eSBwYXRjaApsaXRlcmFsIDQ2MAp6Y21aUXpVXzZzcFA+e25VemAmNTNTNWckQD94WVlBOEt1QzAx
UUxecjNtZ0xpZTJ8M0RuQlQ1M0ZvSnxHPnc/VGUKemxPKTlET2kzK0gxfWdkaCNBKVJ2MXRrbSZq
MWZTI05LIVZLNEtoIXAyPFJ4RmNtcyU/NHE7Q0x0QVZncmZZcFFxCnpJUm4rfjBrWmoka2w1KStZ
XllzOEJAOEAxblIlJitNR0QxMEtaRSNHMSZBPkc5MCgyQE16SiNwRkAja0p2SFYzMAp1Mz5JRyo3
Pz52QCNGQXoqRmw9dlNWMzQ/bDVLfiNlemApPGF6XzlJbmElb1crKUZlaHdAQjt1N2J2ZnElCgps
aXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMTNiNmM0NS4uYjNlODhiZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzYyLDYg
Kzc2Miw3IEBACiAJCTJEOEZFQkREMTQzRTNFRjcwMDcyNTAyQiAvKiBDU1NDcm9zc2ZhZGVWYWx1
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ4RkVC
REIxNDNFM0VGNzAwNzI1MDJCIC8qIENTU0Nyb3NzZmFkZVZhbHVlLmggKi87IH07CiAJCTJEOTA2
NjA2MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDkwNjYwNDBCRTE0MUQ0MDA5NTY5OTggLyog
TGF5b3V0U3RhdGUuY3BwICovOyB9OwogCQkyRDkwNjYwNzBCRTE0MUQ0MDA5NTY5OTggLyogTGF5
b3V0U3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDJEOTA2NjA1MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0ZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTJEOUYwRTEzMTRGRjFDQkYwMEJB
MEZGNyAvKiBsaW5lYXJTUkdCLmljYyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkQ5RjBFMTIxNEZGMUNCRjAwQkEwRkY3IC8qIGxpbmVhclNSR0IuaWNj
ICovOyB9OwogCQkyRTA4ODhENDExNDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTA4ODhEMjEx
NDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5jcHAgKi87IH07CiAJCTJFMDg4OEQ1MTE0
ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTA4ODhEMzExNDg4NDhBMDBBRjQyNjUgLyogSlNET01G
b3JtRGF0YS5oICovOyB9OwogCQkyRTA4ODhFNjExNDg4NEUyMDBBRjQyNjUgLyogSlNET01Gb3Jt
RGF0YUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyRTA4ODhFNTExNDg4NEUyMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YUN1c3RvbS5jcHAg
Ki87IH07CkBAIC03NTUyLDYgKzc1NTMsNyBAQAogCQkyRDkwNjYwNTBCRTE0MUQ0MDA5NTY5OTgg
LyogTGF5b3V0U3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91
dFN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEOTA2NjBCMDY2NUQ5Mzcw
MDZCNkYxQSAvKiBDbGlwYm9hcmRNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ2xpcGJvYXJkTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQkyRDkwNjYwQzA2NjVEOTM3MDA2
QjZGMUEgLyogQ2xpcGJvYXJkTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ2xpcGJvYXJkTWFjLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKKwkJMkQ5RjBFMTIxNEZG
MUNCRjAwQkEwRkY3IC8qIGxpbmVhclNSR0IuaWNjICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZTsgcGF0aCA9IGxpbmVhclNSR0IuaWNjOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRTA4ODhDMzExNDg4M0E5MDBBRjQyNjUgLyogRE9N
Rm9ybURhdGEuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERPTUZvcm1EYXRhLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkUwODg4RDIxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpT
RE9NRm9ybURhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNE
T01Gb3JtRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFMDg4OEQzMTE0
ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTRE9NRm9ybURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTEzNjc1LDYgKzEzNjc3LDcgQEAKIAkJCQk4NTEzNkM4QTBBRUQ2NjU4MDBGOTBBM0QgLyogZWFz
dFdlc3RSZXNpemVDdXJzb3IucG5nICovLAogCQkJCTg1MTM2QzhCMEFFRDY2NTgwMEY5MEEzRCAv
KiBoZWxwQ3Vyc29yLnBuZyAqLywKIAkJCQk5MzE1M0JFMzE0MTk1QjI5MDBGQ0Y1QkUgLyogaW5w
dXRTcGVlY2gucG5nICovLAorCQkJCTJEOUYwRTEyMTRGRjFDQkYwMEJBMEZGNyAvKiBsaW5lYXJT
UkdCLmljYyAqLywKIAkJCQk4NTEzNkM4QzBBRUQ2NjU4MDBGOTBBM0QgLyogbGlua0N1cnNvci5w
bmcgKi8sCiAJCQkJQkNBRDE4MDgxMzFDN0EwRDAwOTkwNDA2IC8qIExvY2FsaXphYmxlLnN0cmlu
Z3MgKi8sCiAJCQkJOTMxNTNCRTExNDE5NUE1NzAwRkNGNUJFIC8qIG1pc3NpbmdJbWFnZS5wbmcg
Ki8sCkBAIC0yNDUwOCw2ICsyNDUxMSw3IEBACiAJCQkJODUxMzZDQTgwQUVENjY1OTAwRjkwQTNE
IC8qIHdlc3RSZXNpemVDdXJzb3IucG5nIGluIFJlc291cmNlcyAqLywKIAkJCQkxQUIxQUU3QTBD
MDUxRkRFMDAxMzlGNEYgLyogem9vbUluQ3Vyc29yLnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJ
MUFCMUFFN0IwQzA1MUZERTAwMTM5RjRGIC8qIHpvb21PdXRDdXJzb3IucG5nIGluIFJlc291cmNl
cyAqLywKKwkJCQkyRDlGMEUxMzE0RkYxQ0JGMDBCQTBGRjcgLyogbGluZWFyU1JHQi5pY2MgaW4g
UmVzb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCmluZGV4IDRiNjE5MmYuLmFjNDkwMDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29u
dGV4dENHLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFw
aGljc0NvbnRleHRDRy5jcHAKQEAgLTEwMywxMiArMTAzLDIzIEBAIENHQ29sb3JTcGFjZVJlZiBz
UkdCQ29sb3JTcGFjZVJlZigpCiAKIENHQ29sb3JTcGFjZVJlZiBsaW5lYXJSR0JDb2xvclNwYWNl
UmVmKCkKIHsKLSAgICAvLyBGSVhNRTogV2luZG93cyBzaG91bGQgYmUgYWJsZSB0byB1c2Uga0NH
Q29sb3JTcGFjZUdlbmVyaWNSR0JMaW5lYXIsIHRoaXMgaXMgdHJhY2tlZCBieSBodHRwOi8vd2Vi
a2l0Lm9yZy9iLzMxMzYzLgorICAgIC8vIEZJWE1FOiBXaW5kb3dzIHNob3VsZCBiZSBhYmxlIHRv
IHVzZSBsaW5lYXIgU1JHQgogI2lmIFBMQVRGT1JNKFdJTikKICAgICByZXR1cm4gZGV2aWNlUkdC
Q29sb3JTcGFjZVJlZigpOwogI2Vsc2UKLSAgICBzdGF0aWMgQ0dDb2xvclNwYWNlUmVmIGxpbmVh
clJHQlNwYWNlID0gQ0dDb2xvclNwYWNlQ3JlYXRlV2l0aE5hbWUoa0NHQ29sb3JTcGFjZUdlbmVy
aWNSR0JMaW5lYXIpOwotICAgIHJldHVybiBsaW5lYXJSR0JTcGFjZTsKKyAgICBzdGF0aWMgQ0dD
b2xvclNwYWNlUmVmIGxpbmVhclNSR0JTcGFjZSA9IE5VTEw7CisKKyAgICBpZiAobGluZWFyU1JH
QlNwYWNlID09IE5VTEwpIHsKKyAgICAgICAgQ0ZCdW5kbGVSZWYgd2ViQ29yZUJ1bmRsZSA9IENG
QnVuZGxlR2V0QnVuZGxlV2l0aElkZW50aWZpZXIoQ0ZTVFIoImNvbS5hcHBsZS5XZWJDb3JlIikp
OworICAgICAgICBDRlVSTFJlZiBpY2NQcm9maWxlVVJMID0gQ0ZCdW5kbGVDb3B5UmVzb3VyY2VV
Ukwod2ViQ29yZUJ1bmRsZSwgQ0ZTVFIoImxpbmVhclNSR0IiKSwgQ0ZTVFIoImljYyIpLCBOVUxM
KTsKKyAgICAgICAgQ0ZEYXRhUmVmIGljY1Byb2ZpbGVEYXRhOworICAgICAgICBDRlVSTENyZWF0
ZURhdGFBbmRQcm9wZXJ0aWVzRnJvbVJlc291cmNlKE5VTEwsIGljY1Byb2ZpbGVVUkwsICZpY2NQ
cm9maWxlRGF0YSwgTlVMTCwgTlVMTCwgTlVMTCk7CisgICAgICAgIENGUmVsZWFzZShpY2NQcm9m
aWxlVVJMKTsKKyAgICAgICAgbGluZWFyU1JHQlNwYWNlID0gQ0dDb2xvclNwYWNlQ3JlYXRlV2l0
aElDQ1Byb2ZpbGUoaWNjUHJvZmlsZURhdGEpOworICAgICAgICBDRlJlbGVhc2UoaWNjUHJvZmls
ZURhdGEpOworICAgIH0KKyAgICAKKyAgICByZXR1cm4gbGluZWFyU1JHQlNwYWNlOwogI2VuZGlm
CiB9CiAK
</data>
<flag name="commit-queue"
          id="132349"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129641</attachid>
            <date>2012-02-29 23:39:01 -0800</date>
            <delta_ts>2012-02-29 23:41:13 -0800</delta_ts>
            <desc>patch with most of Dan&apos;s changes</desc>
            <filename>colorspaces.patch</filename>
            <type>text/plain</type>
            <size>7091</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlN2U0MGFjLi45ZWMzZmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMTItMDItMjkgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgTm8tb3AgZmlsdGVyIGNoYW5nZXMgY29sb3Igb3V0cHV0IGJlY2F1c2Ugb2YgY29s
b3JzcGFjZSBpc3N1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTcyNDExCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDU4ODM3ND4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWRlZmluZSAibGluZWFy
IFJHQiIgY29sb3Igc3BhY2Ugb24gTWFjIHRvIG1lYW4gbGluZWFyaXplZCBzUkdCLCBpbnN0ZWFk
IG9mIGxpbmVhcgorICAgICAgICBHZW5lcmljIFJHQi4gVGhpcyBtYWtlcyBleGlzdGluZyBDRyBj
b2xvciBtYXRjaGluZyBlcXVpdmFsZW50IHRvIHdoYXQgb3RoZXIgcG9ydHMgZG8gdmlhCisgICAg
ICAgIEltYWdlQnVmZmVyOjp0cmFuc2Zvcm1Db2xvclNwYWNlICh3aGljaCBvbmx5IGFkanVzdHMg
Z2FtbWEsIGFzIHdlIHdpbGwgbm93KS4gUHJldmlvdXNseSwKKyAgICAgICAgd2Ugd2VyZSBhbHNv
IGNhdXNpbmcgYWN0dWFsIChub24tZ2FtbWEpIGNvbG9yIGFkanVzdG1lbnRzIHdoaWNoIHdlcmUg
bm90IHJldmVyc2libGUuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBjb3ZlcmVkIGJ5IGFsbCBl
eGlzdGluZyBTVkcgYW5kIENTUyBmaWx0ZXIgdGVzdHMuCisKKyAgICAgICAgKiBSZXNvdXJjZXMv
bGluZWFyU1JHQi5pY2M6IEFkZGVkLgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRl
eHRDRy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpsaW5lYXJSR0JDb2xvclNwYWNlUmVmKToKKwog
MjAxMi0wMi0yOSAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBbY2hyb21pdW1dIERvbid0IGxldCBpbnZhbGlkYXRpb24gZm9yIG5leHQgZnJhbWUgcHJldmVu
dCB0aWxlIHVwbG9hZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL2xpbmVh
clNSR0IuaWNjIGIvU291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL2xpbmVhclNSR0IuaWNjCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjVjYzQzNzEwNjllOTU1MjQ3MWU2YWEwNzdkNDc1ZDdhYzU2Y2NmNTAKR0lUIGJpbmFy
eSBwYXRjaApsaXRlcmFsIDQ2MAp6Y21aUXpVXzZzcFA+e25VemAmNTNTNWckQD94WVlBOEt1QzAx
UUxecjNtZ0xpZTJ8M0RuQlQ1M0ZvSnxHPnc/VGUKemxPKTlET2kzK0gxfWdkaCNBKVJ2MXRrbSZq
MWZTI05LIVZLNEtoIXAyPFJ4RmNtcyU/NHE7Q0x0QVZncmZZcFFxCnpJUm4rfjBrWmoka2w1KStZ
XllzOEJAOEAxblIlJitNR0QxMEtaRSNHMSZBPkc5MCgyQE16SiNwRkAja0p2SFYzMAp1Mz5JRyo3
Pz52QCNGQXoqRmw9dlNWMzQ/bDVLfiNlemApPGF6XzlJbmElb1crKUZlaHdAQjt1N2J2ZnElCgps
aXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMTNiNmM0NS4uYjNlODhiZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzYyLDYg
Kzc2Miw3IEBACiAJCTJEOEZFQkREMTQzRTNFRjcwMDcyNTAyQiAvKiBDU1NDcm9zc2ZhZGVWYWx1
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ4RkVC
REIxNDNFM0VGNzAwNzI1MDJCIC8qIENTU0Nyb3NzZmFkZVZhbHVlLmggKi87IH07CiAJCTJEOTA2
NjA2MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDkwNjYwNDBCRTE0MUQ0MDA5NTY5OTggLyog
TGF5b3V0U3RhdGUuY3BwICovOyB9OwogCQkyRDkwNjYwNzBCRTE0MUQ0MDA5NTY5OTggLyogTGF5
b3V0U3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDJEOTA2NjA1MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0ZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTJEOUYwRTEzMTRGRjFDQkYwMEJB
MEZGNyAvKiBsaW5lYXJTUkdCLmljYyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkQ5RjBFMTIxNEZGMUNCRjAwQkEwRkY3IC8qIGxpbmVhclNSR0IuaWNj
ICovOyB9OwogCQkyRTA4ODhENDExNDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTA4ODhEMjEx
NDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5jcHAgKi87IH07CiAJCTJFMDg4OEQ1MTE0
ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTA4ODhEMzExNDg4NDhBMDBBRjQyNjUgLyogSlNET01G
b3JtRGF0YS5oICovOyB9OwogCQkyRTA4ODhFNjExNDg4NEUyMDBBRjQyNjUgLyogSlNET01Gb3Jt
RGF0YUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyRTA4ODhFNTExNDg4NEUyMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YUN1c3RvbS5jcHAg
Ki87IH07CkBAIC03NTUyLDYgKzc1NTMsNyBAQAogCQkyRDkwNjYwNTBCRTE0MUQ0MDA5NTY5OTgg
LyogTGF5b3V0U3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91
dFN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEOTA2NjBCMDY2NUQ5Mzcw
MDZCNkYxQSAvKiBDbGlwYm9hcmRNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ2xpcGJvYXJkTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQkyRDkwNjYwQzA2NjVEOTM3MDA2
QjZGMUEgLyogQ2xpcGJvYXJkTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ2xpcGJvYXJkTWFjLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKKwkJMkQ5RjBFMTIxNEZG
MUNCRjAwQkEwRkY3IC8qIGxpbmVhclNSR0IuaWNjICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZTsgcGF0aCA9IGxpbmVhclNSR0IuaWNjOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRTA4ODhDMzExNDg4M0E5MDBBRjQyNjUgLyogRE9N
Rm9ybURhdGEuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERPTUZvcm1EYXRhLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkUwODg4RDIxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpT
RE9NRm9ybURhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNE
T01Gb3JtRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFMDg4OEQzMTE0
ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTRE9NRm9ybURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTEzNjc1LDYgKzEzNjc3LDcgQEAKIAkJCQk4NTEzNkM4QTBBRUQ2NjU4MDBGOTBBM0QgLyogZWFz
dFdlc3RSZXNpemVDdXJzb3IucG5nICovLAogCQkJCTg1MTM2QzhCMEFFRDY2NTgwMEY5MEEzRCAv
KiBoZWxwQ3Vyc29yLnBuZyAqLywKIAkJCQk5MzE1M0JFMzE0MTk1QjI5MDBGQ0Y1QkUgLyogaW5w
dXRTcGVlY2gucG5nICovLAorCQkJCTJEOUYwRTEyMTRGRjFDQkYwMEJBMEZGNyAvKiBsaW5lYXJT
UkdCLmljYyAqLywKIAkJCQk4NTEzNkM4QzBBRUQ2NjU4MDBGOTBBM0QgLyogbGlua0N1cnNvci5w
bmcgKi8sCiAJCQkJQkNBRDE4MDgxMzFDN0EwRDAwOTkwNDA2IC8qIExvY2FsaXphYmxlLnN0cmlu
Z3MgKi8sCiAJCQkJOTMxNTNCRTExNDE5NUE1NzAwRkNGNUJFIC8qIG1pc3NpbmdJbWFnZS5wbmcg
Ki8sCkBAIC0yNDUwOCw2ICsyNDUxMSw3IEBACiAJCQkJODUxMzZDQTgwQUVENjY1OTAwRjkwQTNE
IC8qIHdlc3RSZXNpemVDdXJzb3IucG5nIGluIFJlc291cmNlcyAqLywKIAkJCQkxQUIxQUU3QTBD
MDUxRkRFMDAxMzlGNEYgLyogem9vbUluQ3Vyc29yLnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJ
MUFCMUFFN0IwQzA1MUZERTAwMTM5RjRGIC8qIHpvb21PdXRDdXJzb3IucG5nIGluIFJlc291cmNl
cyAqLywKKwkJCQkyRDlGMEUxMzE0RkYxQ0JGMDBCQTBGRjcgLyogbGluZWFyU1JHQi5pY2MgaW4g
UmVzb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCmluZGV4IDRiNjE5MmYuLjY1NTc2YzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29u
dGV4dENHLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFw
aGljc0NvbnRleHRDRy5jcHAKQEAgLTczLDYgKzczLDI0IEBAIGV4dGVybiAiQyIgewogdXNpbmcg
bmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgeworICAgIAorc3RhdGljIENHQ29s
b3JTcGFjZVJlZiBjcmVhdGVMaW5lYXJTUkdCQ29sb3JTcGFjZSgpCit7CisgICAgLy8gSWYgd2Ug
ZmFpbCB0byBsb2FkIHRoZSBsaW5lYXJpemVkIHNSR0IgSUNDIHByb2ZpbGUsIGZhbGwgYmFjayB0
byBEZXZpY2VSR0IuCisgICAgQ0dDb2xvclNwYWNlUmVmIGxpbmVhclNSR0JTcGFjZSA9IGRldmlj
ZVJHQkNvbG9yU3BhY2VSZWYoKTsKKyAgICAKKyAgICBDRkJ1bmRsZVJlZiB3ZWJDb3JlQnVuZGxl
ID0gQ0ZCdW5kbGVHZXRCdW5kbGVXaXRoSWRlbnRpZmllcihDRlNUUigiY29tLmFwcGxlLldlYkNv
cmUiKSk7CisgICAgUmV0YWluUHRyPENGVVJMUmVmPiBpY2NQcm9maWxlVVJMKENGQnVuZGxlQ29w
eVJlc291cmNlVVJMKHdlYkNvcmVCdW5kbGUsIENGU1RSKCJsaW5lYXJTUkdCIiksIENGU1RSKCJp
Y2MiKSwgTlVMTCkpOworICAgIENGRGF0YVJlZiBpY2NQcm9maWxlRGF0YTsKKyAgICAKKyAgICBp
ZihpY2NQcm9maWxlVVJMICYmICFDRlVSTENyZWF0ZURhdGFBbmRQcm9wZXJ0aWVzRnJvbVJlc291
cmNlKE5VTEwsIGljY1Byb2ZpbGVVUkwuZ2V0KCksICZpY2NQcm9maWxlRGF0YSwgTlVMTCwgTlVM
TCwgTlVMTCkpCisgICAgICAgIGxpbmVhclNSR0JTcGFjZSA9IENHQ29sb3JTcGFjZUNyZWF0ZVdp
dGhJQ0NQcm9maWxlKGljY1Byb2ZpbGVEYXRhKTsKKyAgICAKKyAgICBpZiAoaWNjUHJvZmlsZURh
dGEpCisgICAgICAgIENGUmVsZWFzZShpY2NQcm9maWxlRGF0YSk7CisgICAgCisgICAgcmV0dXJu
IGxpbmVhclNSR0JTcGFjZTsKK30KIAogc3RhdGljIHZvaWQgc2V0Q0dGaWxsQ29sb3IoQ0dDb250
ZXh0UmVmIGNvbnRleHQsIGNvbnN0IENvbG9yJiBjb2xvciwgQ29sb3JTcGFjZSBjb2xvclNwYWNl
KQogewpAQCAtMTAzLDEyICsxMjEsMTIgQEAgQ0dDb2xvclNwYWNlUmVmIHNSR0JDb2xvclNwYWNl
UmVmKCkKIAogQ0dDb2xvclNwYWNlUmVmIGxpbmVhclJHQkNvbG9yU3BhY2VSZWYoKQogewotICAg
IC8vIEZJWE1FOiBXaW5kb3dzIHNob3VsZCBiZSBhYmxlIHRvIHVzZSBrQ0dDb2xvclNwYWNlR2Vu
ZXJpY1JHQkxpbmVhciwgdGhpcyBpcyB0cmFja2VkIGJ5IGh0dHA6Ly93ZWJraXQub3JnL2IvMzEz
NjMuCisgICAgLy8gRklYTUU6IFdpbmRvd3Mgc2hvdWxkIGJlIGFibGUgdG8gdXNlIGxpbmVhciBz
UkdCLCB0aGlzIGlzIHRyYWNrZWQgYnkgaHR0cDovL3dlYmtpdC5vcmcvYi84MDAwMC4KICNpZiBQ
TEFURk9STShXSU4pCiAgICAgcmV0dXJuIGRldmljZVJHQkNvbG9yU3BhY2VSZWYoKTsKICNlbHNl
Ci0gICAgc3RhdGljIENHQ29sb3JTcGFjZVJlZiBsaW5lYXJSR0JTcGFjZSA9IENHQ29sb3JTcGFj
ZUNyZWF0ZVdpdGhOYW1lKGtDR0NvbG9yU3BhY2VHZW5lcmljUkdCTGluZWFyKTsKLSAgICByZXR1
cm4gbGluZWFyUkdCU3BhY2U7CisgICAgc3RhdGljIENHQ29sb3JTcGFjZVJlZiBsaW5lYXJTUkdC
U3BhY2UgPSBjcmVhdGVMaW5lYXJTUkdCQ29sb3JTcGFjZSgpOworICAgIHJldHVybiBsaW5lYXJT
UkdCU3BhY2U7CiAjZW5kaWYKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129642</attachid>
            <date>2012-02-29 23:41:13 -0800</date>
            <delta_ts>2012-03-08 12:48:57 -0800</delta_ts>
            <desc>preempting the style bot</desc>
            <filename>colorspaces.patch</filename>
            <type>text/plain</type>
            <size>7077</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlN2U0MGFjLi45ZWMzZmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMTItMDItMjkgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgTm8tb3AgZmlsdGVyIGNoYW5nZXMgY29sb3Igb3V0cHV0IGJlY2F1c2Ugb2YgY29s
b3JzcGFjZSBpc3N1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTcyNDExCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDU4ODM3ND4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWRlZmluZSAibGluZWFy
IFJHQiIgY29sb3Igc3BhY2Ugb24gTWFjIHRvIG1lYW4gbGluZWFyaXplZCBzUkdCLCBpbnN0ZWFk
IG9mIGxpbmVhcgorICAgICAgICBHZW5lcmljIFJHQi4gVGhpcyBtYWtlcyBleGlzdGluZyBDRyBj
b2xvciBtYXRjaGluZyBlcXVpdmFsZW50IHRvIHdoYXQgb3RoZXIgcG9ydHMgZG8gdmlhCisgICAg
ICAgIEltYWdlQnVmZmVyOjp0cmFuc2Zvcm1Db2xvclNwYWNlICh3aGljaCBvbmx5IGFkanVzdHMg
Z2FtbWEsIGFzIHdlIHdpbGwgbm93KS4gUHJldmlvdXNseSwKKyAgICAgICAgd2Ugd2VyZSBhbHNv
IGNhdXNpbmcgYWN0dWFsIChub24tZ2FtbWEpIGNvbG9yIGFkanVzdG1lbnRzIHdoaWNoIHdlcmUg
bm90IHJldmVyc2libGUuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBjb3ZlcmVkIGJ5IGFsbCBl
eGlzdGluZyBTVkcgYW5kIENTUyBmaWx0ZXIgdGVzdHMuCisKKyAgICAgICAgKiBSZXNvdXJjZXMv
bGluZWFyU1JHQi5pY2M6IEFkZGVkLgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRl
eHRDRy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpsaW5lYXJSR0JDb2xvclNwYWNlUmVmKToKKwog
MjAxMi0wMi0yOSAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBbY2hyb21pdW1dIERvbid0IGxldCBpbnZhbGlkYXRpb24gZm9yIG5leHQgZnJhbWUgcHJldmVu
dCB0aWxlIHVwbG9hZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL2xpbmVh
clNSR0IuaWNjIGIvU291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL2xpbmVhclNSR0IuaWNjCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjVjYzQzNzEwNjllOTU1MjQ3MWU2YWEwNzdkNDc1ZDdhYzU2Y2NmNTAKR0lUIGJpbmFy
eSBwYXRjaApsaXRlcmFsIDQ2MAp6Y21aUXpVXzZzcFA+e25VemAmNTNTNWckQD94WVlBOEt1QzAx
UUxecjNtZ0xpZTJ8M0RuQlQ1M0ZvSnxHPnc/VGUKemxPKTlET2kzK0gxfWdkaCNBKVJ2MXRrbSZq
MWZTI05LIVZLNEtoIXAyPFJ4RmNtcyU/NHE7Q0x0QVZncmZZcFFxCnpJUm4rfjBrWmoka2w1KStZ
XllzOEJAOEAxblIlJitNR0QxMEtaRSNHMSZBPkc5MCgyQE16SiNwRkAja0p2SFYzMAp1Mz5JRyo3
Pz52QCNGQXoqRmw9dlNWMzQ/bDVLfiNlemApPGF6XzlJbmElb1crKUZlaHdAQjt1N2J2ZnElCgps
aXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMTNiNmM0NS4uYjNlODhiZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzYyLDYg
Kzc2Miw3IEBACiAJCTJEOEZFQkREMTQzRTNFRjcwMDcyNTAyQiAvKiBDU1NDcm9zc2ZhZGVWYWx1
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ4RkVC
REIxNDNFM0VGNzAwNzI1MDJCIC8qIENTU0Nyb3NzZmFkZVZhbHVlLmggKi87IH07CiAJCTJEOTA2
NjA2MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDkwNjYwNDBCRTE0MUQ0MDA5NTY5OTggLyog
TGF5b3V0U3RhdGUuY3BwICovOyB9OwogCQkyRDkwNjYwNzBCRTE0MUQ0MDA5NTY5OTggLyogTGF5
b3V0U3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDJEOTA2NjA1MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0ZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTJEOUYwRTEzMTRGRjFDQkYwMEJB
MEZGNyAvKiBsaW5lYXJTUkdCLmljYyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkQ5RjBFMTIxNEZGMUNCRjAwQkEwRkY3IC8qIGxpbmVhclNSR0IuaWNj
ICovOyB9OwogCQkyRTA4ODhENDExNDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTA4ODhEMjEx
NDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5jcHAgKi87IH07CiAJCTJFMDg4OEQ1MTE0
ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTA4ODhEMzExNDg4NDhBMDBBRjQyNjUgLyogSlNET01G
b3JtRGF0YS5oICovOyB9OwogCQkyRTA4ODhFNjExNDg4NEUyMDBBRjQyNjUgLyogSlNET01Gb3Jt
RGF0YUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyRTA4ODhFNTExNDg4NEUyMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YUN1c3RvbS5jcHAg
Ki87IH07CkBAIC03NTUyLDYgKzc1NTMsNyBAQAogCQkyRDkwNjYwNTBCRTE0MUQ0MDA5NTY5OTgg
LyogTGF5b3V0U3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91
dFN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEOTA2NjBCMDY2NUQ5Mzcw
MDZCNkYxQSAvKiBDbGlwYm9hcmRNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ2xpcGJvYXJkTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQkyRDkwNjYwQzA2NjVEOTM3MDA2
QjZGMUEgLyogQ2xpcGJvYXJkTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ2xpcGJvYXJkTWFjLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKKwkJMkQ5RjBFMTIxNEZG
MUNCRjAwQkEwRkY3IC8qIGxpbmVhclNSR0IuaWNjICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZTsgcGF0aCA9IGxpbmVhclNSR0IuaWNjOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRTA4ODhDMzExNDg4M0E5MDBBRjQyNjUgLyogRE9N
Rm9ybURhdGEuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERPTUZvcm1EYXRhLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkUwODg4RDIxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpT
RE9NRm9ybURhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNE
T01Gb3JtRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFMDg4OEQzMTE0
ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTRE9NRm9ybURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTEzNjc1LDYgKzEzNjc3LDcgQEAKIAkJCQk4NTEzNkM4QTBBRUQ2NjU4MDBGOTBBM0QgLyogZWFz
dFdlc3RSZXNpemVDdXJzb3IucG5nICovLAogCQkJCTg1MTM2QzhCMEFFRDY2NTgwMEY5MEEzRCAv
KiBoZWxwQ3Vyc29yLnBuZyAqLywKIAkJCQk5MzE1M0JFMzE0MTk1QjI5MDBGQ0Y1QkUgLyogaW5w
dXRTcGVlY2gucG5nICovLAorCQkJCTJEOUYwRTEyMTRGRjFDQkYwMEJBMEZGNyAvKiBsaW5lYXJT
UkdCLmljYyAqLywKIAkJCQk4NTEzNkM4QzBBRUQ2NjU4MDBGOTBBM0QgLyogbGlua0N1cnNvci5w
bmcgKi8sCiAJCQkJQkNBRDE4MDgxMzFDN0EwRDAwOTkwNDA2IC8qIExvY2FsaXphYmxlLnN0cmlu
Z3MgKi8sCiAJCQkJOTMxNTNCRTExNDE5NUE1NzAwRkNGNUJFIC8qIG1pc3NpbmdJbWFnZS5wbmcg
Ki8sCkBAIC0yNDUwOCw2ICsyNDUxMSw3IEBACiAJCQkJODUxMzZDQTgwQUVENjY1OTAwRjkwQTNE
IC8qIHdlc3RSZXNpemVDdXJzb3IucG5nIGluIFJlc291cmNlcyAqLywKIAkJCQkxQUIxQUU3QTBD
MDUxRkRFMDAxMzlGNEYgLyogem9vbUluQ3Vyc29yLnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJ
MUFCMUFFN0IwQzA1MUZERTAwMTM5RjRGIC8qIHpvb21PdXRDdXJzb3IucG5nIGluIFJlc291cmNl
cyAqLywKKwkJCQkyRDlGMEUxMzE0RkYxQ0JGMDBCQTBGRjcgLyogbGluZWFyU1JHQi5pY2MgaW4g
UmVzb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCmluZGV4IDRiNjE5MmYuLjA0ODllYzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29u
dGV4dENHLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFw
aGljc0NvbnRleHRDRy5jcHAKQEAgLTczLDYgKzczLDI0IEBAIGV4dGVybiAiQyIgewogdXNpbmcg
bmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgeworICAgIAorc3RhdGljIENHQ29s
b3JTcGFjZVJlZiBjcmVhdGVMaW5lYXJTUkdCQ29sb3JTcGFjZSgpCit7CisgICAgLy8gSWYgd2Ug
ZmFpbCB0byBsb2FkIHRoZSBsaW5lYXJpemVkIHNSR0IgSUNDIHByb2ZpbGUsIGZhbGwgYmFjayB0
byBEZXZpY2VSR0IuCisgICAgQ0dDb2xvclNwYWNlUmVmIGxpbmVhclNSR0JTcGFjZSA9IGRldmlj
ZVJHQkNvbG9yU3BhY2VSZWYoKTsKKyAgICAKKyAgICBDRkJ1bmRsZVJlZiB3ZWJDb3JlQnVuZGxl
ID0gQ0ZCdW5kbGVHZXRCdW5kbGVXaXRoSWRlbnRpZmllcihDRlNUUigiY29tLmFwcGxlLldlYkNv
cmUiKSk7CisgICAgUmV0YWluUHRyPENGVVJMUmVmPiBpY2NQcm9maWxlVVJMKENGQnVuZGxlQ29w
eVJlc291cmNlVVJMKHdlYkNvcmVCdW5kbGUsIENGU1RSKCJsaW5lYXJTUkdCIiksIENGU1RSKCJp
Y2MiKSwgMCkpOworICAgIENGRGF0YVJlZiBpY2NQcm9maWxlRGF0YTsKKyAgICAKKyAgICBpZiAo
aWNjUHJvZmlsZVVSTCAmJiAhQ0ZVUkxDcmVhdGVEYXRhQW5kUHJvcGVydGllc0Zyb21SZXNvdXJj
ZSgwLCBpY2NQcm9maWxlVVJMLmdldCgpLCAmaWNjUHJvZmlsZURhdGEsIDAsIDAsIDApKQorICAg
ICAgICBsaW5lYXJTUkdCU3BhY2UgPSBDR0NvbG9yU3BhY2VDcmVhdGVXaXRoSUNDUHJvZmlsZShp
Y2NQcm9maWxlRGF0YSk7CisgICAgCisgICAgaWYgKGljY1Byb2ZpbGVEYXRhKQorICAgICAgICBD
RlJlbGVhc2UoaWNjUHJvZmlsZURhdGEpOworICAgIAorICAgIHJldHVybiBsaW5lYXJTUkdCU3Bh
Y2U7Cit9CiAKIHN0YXRpYyB2b2lkIHNldENHRmlsbENvbG9yKENHQ29udGV4dFJlZiBjb250ZXh0
LCBjb25zdCBDb2xvciYgY29sb3IsIENvbG9yU3BhY2UgY29sb3JTcGFjZSkKIHsKQEAgLTEwMywx
MiArMTIxLDEyIEBAIENHQ29sb3JTcGFjZVJlZiBzUkdCQ29sb3JTcGFjZVJlZigpCiAKIENHQ29s
b3JTcGFjZVJlZiBsaW5lYXJSR0JDb2xvclNwYWNlUmVmKCkKIHsKLSAgICAvLyBGSVhNRTogV2lu
ZG93cyBzaG91bGQgYmUgYWJsZSB0byB1c2Uga0NHQ29sb3JTcGFjZUdlbmVyaWNSR0JMaW5lYXIs
IHRoaXMgaXMgdHJhY2tlZCBieSBodHRwOi8vd2Via2l0Lm9yZy9iLzMxMzYzLgorICAgIC8vIEZJ
WE1FOiBXaW5kb3dzIHNob3VsZCBiZSBhYmxlIHRvIHVzZSBsaW5lYXIgc1JHQiwgdGhpcyBpcyB0
cmFja2VkIGJ5IGh0dHA6Ly93ZWJraXQub3JnL2IvODAwMDAuCiAjaWYgUExBVEZPUk0oV0lOKQog
ICAgIHJldHVybiBkZXZpY2VSR0JDb2xvclNwYWNlUmVmKCk7CiAjZWxzZQotICAgIHN0YXRpYyBD
R0NvbG9yU3BhY2VSZWYgbGluZWFyUkdCU3BhY2UgPSBDR0NvbG9yU3BhY2VDcmVhdGVXaXRoTmFt
ZShrQ0dDb2xvclNwYWNlR2VuZXJpY1JHQkxpbmVhcik7Ci0gICAgcmV0dXJuIGxpbmVhclJHQlNw
YWNlOworICAgIHN0YXRpYyBDR0NvbG9yU3BhY2VSZWYgbGluZWFyU1JHQlNwYWNlID0gY3JlYXRl
TGluZWFyU1JHQkNvbG9yU3BhY2UoKTsKKyAgICByZXR1cm4gbGluZWFyU1JHQlNwYWNlOwogI2Vu
ZGlmCiB9CiAK
</data>
<flag name="review"
          id="132372"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130883</attachid>
            <date>2012-03-08 12:48:57 -0800</date>
            <delta_ts>2012-03-08 14:19:07 -0800</delta_ts>
            <desc>patch</desc>
            <filename>colorspaces.patch</filename>
            <type>text/plain</type>
            <size>7076</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlN2U0MGFjLi45ZWMzZmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMTItMDItMjkgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgTm8tb3AgZmlsdGVyIGNoYW5nZXMgY29sb3Igb3V0cHV0IGJlY2F1c2Ugb2YgY29s
b3JzcGFjZSBpc3N1ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTcyNDExCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMDU4ODM3ND4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWRlZmluZSAibGluZWFy
IFJHQiIgY29sb3Igc3BhY2Ugb24gTWFjIHRvIG1lYW4gbGluZWFyaXplZCBzUkdCLCBpbnN0ZWFk
IG9mIGxpbmVhcgorICAgICAgICBHZW5lcmljIFJHQi4gVGhpcyBtYWtlcyBleGlzdGluZyBDRyBj
b2xvciBtYXRjaGluZyBlcXVpdmFsZW50IHRvIHdoYXQgb3RoZXIgcG9ydHMgZG8gdmlhCisgICAg
ICAgIEltYWdlQnVmZmVyOjp0cmFuc2Zvcm1Db2xvclNwYWNlICh3aGljaCBvbmx5IGFkanVzdHMg
Z2FtbWEsIGFzIHdlIHdpbGwgbm93KS4gUHJldmlvdXNseSwKKyAgICAgICAgd2Ugd2VyZSBhbHNv
IGNhdXNpbmcgYWN0dWFsIChub24tZ2FtbWEpIGNvbG9yIGFkanVzdG1lbnRzIHdoaWNoIHdlcmUg
bm90IHJldmVyc2libGUuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBjb3ZlcmVkIGJ5IGFsbCBl
eGlzdGluZyBTVkcgYW5kIENTUyBmaWx0ZXIgdGVzdHMuCisKKyAgICAgICAgKiBSZXNvdXJjZXMv
bGluZWFyU1JHQi5pY2M6IEFkZGVkLgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFwaGljc0NvbnRl
eHRDRy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpsaW5lYXJSR0JDb2xvclNwYWNlUmVmKToKKwog
MjAxMi0wMi0yOSAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBbY2hyb21pdW1dIERvbid0IGxldCBpbnZhbGlkYXRpb24gZm9yIG5leHQgZnJhbWUgcHJldmVu
dCB0aWxlIHVwbG9hZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL2xpbmVh
clNSR0IuaWNjIGIvU291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL2xpbmVhclNSR0IuaWNjCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjVjYzQzNzEwNjllOTU1MjQ3MWU2YWEwNzdkNDc1ZDdhYzU2Y2NmNTAKR0lUIGJpbmFy
eSBwYXRjaApsaXRlcmFsIDQ2MAp6Y21aUXpVXzZzcFA+e25VemAmNTNTNWckQD94WVlBOEt1QzAx
UUxecjNtZ0xpZTJ8M0RuQlQ1M0ZvSnxHPnc/VGUKemxPKTlET2kzK0gxfWdkaCNBKVJ2MXRrbSZq
MWZTI05LIVZLNEtoIXAyPFJ4RmNtcyU/NHE7Q0x0QVZncmZZcFFxCnpJUm4rfjBrWmoka2w1KStZ
XllzOEJAOEAxblIlJitNR0QxMEtaRSNHMSZBPkc5MCgyQE16SiNwRkAja0p2SFYzMAp1Mz5JRyo3
Pz52QCNGQXoqRmw9dlNWMzQ/bDVLfiNlemApPGF6XzlJbmElb1crKUZlaHdAQjt1N2J2ZnElCgps
aXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMTNiNmM0NS4uYjNlODhiZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzYyLDYg
Kzc2Miw3IEBACiAJCTJEOEZFQkREMTQzRTNFRjcwMDcyNTAyQiAvKiBDU1NDcm9zc2ZhZGVWYWx1
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ4RkVC
REIxNDNFM0VGNzAwNzI1MDJCIC8qIENTU0Nyb3NzZmFkZVZhbHVlLmggKi87IH07CiAJCTJEOTA2
NjA2MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDkwNjYwNDBCRTE0MUQ0MDA5NTY5OTggLyog
TGF5b3V0U3RhdGUuY3BwICovOyB9OwogCQkyRDkwNjYwNzBCRTE0MUQ0MDA5NTY5OTggLyogTGF5
b3V0U3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDJEOTA2NjA1MEJFMTQxRDQwMDk1Njk5OCAvKiBMYXlvdXRTdGF0ZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTJEOUYwRTEzMTRGRjFDQkYwMEJB
MEZGNyAvKiBsaW5lYXJTUkdCLmljYyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkQ5RjBFMTIxNEZGMUNCRjAwQkEwRkY3IC8qIGxpbmVhclNSR0IuaWNj
ICovOyB9OwogCQkyRTA4ODhENDExNDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTA4ODhEMjEx
NDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5jcHAgKi87IH07CiAJCTJFMDg4OEQ1MTE0
ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTA4ODhEMzExNDg4NDhBMDBBRjQyNjUgLyogSlNET01G
b3JtRGF0YS5oICovOyB9OwogCQkyRTA4ODhFNjExNDg4NEUyMDBBRjQyNjUgLyogSlNET01Gb3Jt
RGF0YUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyRTA4ODhFNTExNDg4NEUyMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YUN1c3RvbS5jcHAg
Ki87IH07CkBAIC03NTUyLDYgKzc1NTMsNyBAQAogCQkyRDkwNjYwNTBCRTE0MUQ0MDA5NTY5OTgg
LyogTGF5b3V0U3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheW91
dFN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEOTA2NjBCMDY2NUQ5Mzcw
MDZCNkYxQSAvKiBDbGlwYm9hcmRNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ2xpcGJvYXJkTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQkyRDkwNjYwQzA2NjVEOTM3MDA2
QjZGMUEgLyogQ2xpcGJvYXJkTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQ2xpcGJvYXJkTWFjLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKKwkJMkQ5RjBFMTIxNEZG
MUNCRjAwQkEwRkY3IC8qIGxpbmVhclNSR0IuaWNjICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZTsgcGF0aCA9IGxpbmVhclNSR0IuaWNjOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRTA4ODhDMzExNDg4M0E5MDBBRjQyNjUgLyogRE9N
Rm9ybURhdGEuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERPTUZvcm1EYXRhLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkUwODg4RDIxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpT
RE9NRm9ybURhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNE
T01Gb3JtRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFMDg4OEQzMTE0
ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTRE9NRm9ybURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTEzNjc1LDYgKzEzNjc3LDcgQEAKIAkJCQk4NTEzNkM4QTBBRUQ2NjU4MDBGOTBBM0QgLyogZWFz
dFdlc3RSZXNpemVDdXJzb3IucG5nICovLAogCQkJCTg1MTM2QzhCMEFFRDY2NTgwMEY5MEEzRCAv
KiBoZWxwQ3Vyc29yLnBuZyAqLywKIAkJCQk5MzE1M0JFMzE0MTk1QjI5MDBGQ0Y1QkUgLyogaW5w
dXRTcGVlY2gucG5nICovLAorCQkJCTJEOUYwRTEyMTRGRjFDQkYwMEJBMEZGNyAvKiBsaW5lYXJT
UkdCLmljYyAqLywKIAkJCQk4NTEzNkM4QzBBRUQ2NjU4MDBGOTBBM0QgLyogbGlua0N1cnNvci5w
bmcgKi8sCiAJCQkJQkNBRDE4MDgxMzFDN0EwRDAwOTkwNDA2IC8qIExvY2FsaXphYmxlLnN0cmlu
Z3MgKi8sCiAJCQkJOTMxNTNCRTExNDE5NUE1NzAwRkNGNUJFIC8qIG1pc3NpbmdJbWFnZS5wbmcg
Ki8sCkBAIC0yNDUwOCw2ICsyNDUxMSw3IEBACiAJCQkJODUxMzZDQTgwQUVENjY1OTAwRjkwQTNE
IC8qIHdlc3RSZXNpemVDdXJzb3IucG5nIGluIFJlc291cmNlcyAqLywKIAkJCQkxQUIxQUU3QTBD
MDUxRkRFMDAxMzlGNEYgLyogem9vbUluQ3Vyc29yLnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJ
MUFCMUFFN0IwQzA1MUZERTAwMTM5RjRGIC8qIHpvb21PdXRDdXJzb3IucG5nIGluIFJlc291cmNl
cyAqLywKKwkJCQkyRDlGMEUxMzE0RkYxQ0JGMDBCQTBGRjcgLyogbGluZWFyU1JHQi5pY2MgaW4g
UmVzb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCmluZGV4IDRiNjE5MmYuLjA0ODllYzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29u
dGV4dENHLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9HcmFw
aGljc0NvbnRleHRDRy5jcHAKQEAgLTczLDYgKzczLDI0IEBAIGV4dGVybiAiQyIgewogdXNpbmcg
bmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgeworICAgIAorc3RhdGljIENHQ29s
b3JTcGFjZVJlZiBjcmVhdGVMaW5lYXJTUkdCQ29sb3JTcGFjZSgpCit7CisgICAgLy8gSWYgd2Ug
ZmFpbCB0byBsb2FkIHRoZSBsaW5lYXJpemVkIHNSR0IgSUNDIHByb2ZpbGUsIGZhbGwgYmFjayB0
byBEZXZpY2VSR0IuCisgICAgQ0dDb2xvclNwYWNlUmVmIGxpbmVhclNSR0JTcGFjZSA9IGRldmlj
ZVJHQkNvbG9yU3BhY2VSZWYoKTsKKyAgICAKKyAgICBDRkJ1bmRsZVJlZiB3ZWJDb3JlQnVuZGxl
ID0gQ0ZCdW5kbGVHZXRCdW5kbGVXaXRoSWRlbnRpZmllcihDRlNUUigiY29tLmFwcGxlLldlYkNv
cmUiKSk7CisgICAgUmV0YWluUHRyPENGVVJMUmVmPiBpY2NQcm9maWxlVVJMKENGQnVuZGxlQ29w
eVJlc291cmNlVVJMKHdlYkNvcmVCdW5kbGUsIENGU1RSKCJsaW5lYXJTUkdCIiksIENGU1RSKCJp
Y2MiKSwgMCkpOworICAgIENGRGF0YVJlZiBpY2NQcm9maWxlRGF0YTsKKyAgICAKKyAgICBpZiAo
aWNjUHJvZmlsZVVSTCAmJiBDRlVSTENyZWF0ZURhdGFBbmRQcm9wZXJ0aWVzRnJvbVJlc291cmNl
KDAsIGljY1Byb2ZpbGVVUkwuZ2V0KCksICZpY2NQcm9maWxlRGF0YSwgMCwgMCwgMCkpCisgICAg
ICAgIGxpbmVhclNSR0JTcGFjZSA9IENHQ29sb3JTcGFjZUNyZWF0ZVdpdGhJQ0NQcm9maWxlKGlj
Y1Byb2ZpbGVEYXRhKTsKKyAgICAKKyAgICBpZiAoaWNjUHJvZmlsZURhdGEpCisgICAgICAgIENG
UmVsZWFzZShpY2NQcm9maWxlRGF0YSk7CisgICAgCisgICAgcmV0dXJuIGxpbmVhclNSR0JTcGFj
ZTsKK30KIAogc3RhdGljIHZvaWQgc2V0Q0dGaWxsQ29sb3IoQ0dDb250ZXh0UmVmIGNvbnRleHQs
IGNvbnN0IENvbG9yJiBjb2xvciwgQ29sb3JTcGFjZSBjb2xvclNwYWNlKQogewpAQCAtMTAzLDEy
ICsxMjEsMTIgQEAgQ0dDb2xvclNwYWNlUmVmIHNSR0JDb2xvclNwYWNlUmVmKCkKIAogQ0dDb2xv
clNwYWNlUmVmIGxpbmVhclJHQkNvbG9yU3BhY2VSZWYoKQogewotICAgIC8vIEZJWE1FOiBXaW5k
b3dzIHNob3VsZCBiZSBhYmxlIHRvIHVzZSBrQ0dDb2xvclNwYWNlR2VuZXJpY1JHQkxpbmVhciwg
dGhpcyBpcyB0cmFja2VkIGJ5IGh0dHA6Ly93ZWJraXQub3JnL2IvMzEzNjMuCisgICAgLy8gRklY
TUU6IFdpbmRvd3Mgc2hvdWxkIGJlIGFibGUgdG8gdXNlIGxpbmVhciBzUkdCLCB0aGlzIGlzIHRy
YWNrZWQgYnkgaHR0cDovL3dlYmtpdC5vcmcvYi84MDAwMC4KICNpZiBQTEFURk9STShXSU4pCiAg
ICAgcmV0dXJuIGRldmljZVJHQkNvbG9yU3BhY2VSZWYoKTsKICNlbHNlCi0gICAgc3RhdGljIENH
Q29sb3JTcGFjZVJlZiBsaW5lYXJSR0JTcGFjZSA9IENHQ29sb3JTcGFjZUNyZWF0ZVdpdGhOYW1l
KGtDR0NvbG9yU3BhY2VHZW5lcmljUkdCTGluZWFyKTsKLSAgICByZXR1cm4gbGluZWFyUkdCU3Bh
Y2U7CisgICAgc3RhdGljIENHQ29sb3JTcGFjZVJlZiBsaW5lYXJTUkdCU3BhY2UgPSBjcmVhdGVM
aW5lYXJTUkdCQ29sb3JTcGFjZSgpOworICAgIHJldHVybiBsaW5lYXJTUkdCU3BhY2U7CiAjZW5k
aWYKIH0KIAo=
</data>
<flag name="review"
          id="134023"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>