<?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>73858</bug_id>
          
          <creation_ts>2011-12-05 13:04:13 -0800</creation_ts>
          <short_desc>[chromium] Set opaque() for VideoLayerChromium</short_desc>
          <delta_ts>2011-12-08 15:01:17 -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>New Bugs</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="Dana Jansens">danakj</reporter>
          <assigned_to name="Dana Jansens">danakj</assigned_to>
          <cc>backer</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>piman</cc>
    
    <cc>reveman</cc>
    
    <cc>scherkus</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>515329</commentid>
    <comment_count>0</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2011-12-05 13:04:13 -0800</bug_when>
    <thetext>Sets opaque in WebMediaPlayerClientImpl.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515352</commentid>
    <comment_count>1</comment_count>
      <attachid>117933</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2011-12-05 13:32:23 -0800</bug_when>
    <thetext>Created attachment 117933
Patch

Two questions here.

1. Should WebVideoFrame::isFormatOpaque() be virtual?

2. Should the &quot;if (layer-&gt;opaque() != opaque)&quot; test be done in LC::setOpaque() or in the caller of the function?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515361</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-05 13:36:17 -0800</bug_when>
    <thetext>Please wait for approval from fishd@chromium.org before submitting because this patch contains changes to the Chromium public API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515383</commentid>
    <comment_count>3</comment_count>
      <attachid>117933</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-12-05 14:11:55 -0800</bug_when>
    <thetext>Comment on attachment 117933
Patch

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

&gt; Source/WebKit/chromium/ChangeLog:3
&gt; +        [chromium] Set opaque() for VideoLayerChromium

This ChangeLog summary seems inconsistent with the contents of the patch.

&gt; Source/WebKit/chromium/public/WebVideoFrame.h:65
&gt; +    virtual bool isFormatOpaque()

do you mean for this function to be overridden by the implementation class?
if not, then perhaps this should not be virtual.  you may also want to define
this non-inline since it generates a non-trivial amount of code.  or, perhaps
this should just be a static helper function defined in WebMediaPlayerClientImpl.cpp?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515414</commentid>
    <comment_count>4</comment_count>
      <attachid>117933</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2011-12-05 14:47:35 -0800</bug_when>
    <thetext>Comment on attachment 117933
Patch

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

&gt;&gt; Source/WebKit/chromium/ChangeLog:3
&gt;&gt; +        [chromium] Set opaque() for VideoLayerChromium
&gt; 
&gt; This ChangeLog summary seems inconsistent with the contents of the patch.

I&apos;m not sure what you mean here. See third comment.

&gt;&gt; Source/WebKit/chromium/public/WebVideoFrame.h:65
&gt;&gt; +    virtual bool isFormatOpaque()
&gt; 
&gt; do you mean for this function to be overridden by the implementation class?
&gt; if not, then perhaps this should not be virtual.  you may also want to define
&gt; this non-inline since it generates a non-trivial amount of code.  or, perhaps
&gt; this should just be a static helper function defined in WebMediaPlayerClientImpl.cpp?

I was not sure if it should be over-ridden or not. I suppose a subclass can not extend the Format enumeration, so it would make sense to not be virtual. This code migrated from https://bugs.webkit.org/show_bug.cgi?id=72964 where it was suggested to stick it in the analogous VideoFrameChromium, to keep it close to the list of formats. I think that makes sense here too. Would you accept a static helper function here instead?

&gt; Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp:584
&gt; +                m_videoLayer-&gt;setOpaque(opaque);

Here we are setting the opaque flag on the VideoLayerChromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515441</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-12-05 15:19:31 -0800</bug_when>
    <thetext>We should only add methods to the WebKit API that are either required by Chromium to call into WebKit, or required by WebKit to call back up to Chromium.  In this case, it looks like the WebKit implementation doesn&apos;t need Chromium to provide an answer to a question, so the question can be answered directly by WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515454</commentid>
    <comment_count>6</comment_count>
      <attachid>117949</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2011-12-05 15:36:59 -0800</bug_when>
    <thetext>Created attachment 117949
Patch

Thanks for feedback darin. New patch without change to WebVideoFrame.h.

Would still appreciate feedback on Question 2 above. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515512</commentid>
    <comment_count>7</comment_count>
      <attachid>117949</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-12-05 17:04:50 -0800</bug_when>
    <thetext>Comment on attachment 117949
Patch

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

&gt; Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp:578
&gt; +    default:
&gt; +        ASSERT_NOT_REACHED();

if you want to ensure that this switch has a case for every possible value of the WebVideoFrame::Format enum, a better way to do it is to leave out the &apos;default&apos; case completely - then the compiler will throw a warning (which is an error with our compiler settings) if there&apos;s an enum value without a possible case:

&gt; Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp:595
&gt; +}

i think you will need to add a return here outside the switch(), preferably with an ASSERT_NOT_REACHED() as well, or some versions of gcc we use will complain about a missing return statement in a non-void function

&gt; Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp:607
&gt; +            if (opaque != m_videoLayer-&gt;opaque())
&gt; +                m_videoLayer-&gt;setOpaque(opaque);

it doesn&apos;t seem very useful to do the state checking here since the implementation of setOpaque() will also compare the new state against the old and trigger the appropriate changes if necesssary I&apos;d cut this down to just one line that calls setOpaque() on m_videoLayer with the appropriate value (something like &quot;m_videoLayer-&gt;setOpaque(webkitVideoFrame &amp;&amp; frameFormatOpaque(...)&quot;).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515895</commentid>
    <comment_count>8</comment_count>
      <attachid>117949</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2011-12-06 07:19:13 -0800</bug_when>
    <thetext>Comment on attachment 117949
Patch

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

&gt;&gt; Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp:578
&gt;&gt; +        ASSERT_NOT_REACHED();
&gt; 
&gt; if you want to ensure that this switch has a case for every possible value of the WebVideoFrame::Format enum, a better way to do it is to leave out the &apos;default&apos; case completely - then the compiler will throw a warning (which is an error with our compiler settings) if there&apos;s an enum value without a possible case:

ok cool. saw this used elsewhere, but would prefer no default as you say.

&gt;&gt; Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp:595
&gt;&gt; +}
&gt; 
&gt; i think you will need to add a return here outside the switch(), preferably with an ASSERT_NOT_REACHED() as well, or some versions of gcc we use will complain about a missing return statement in a non-void function

ok.

&gt;&gt; Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp:607
&gt;&gt; +                m_videoLayer-&gt;setOpaque(opaque);
&gt; 
&gt; it doesn&apos;t seem very useful to do the state checking here since the implementation of setOpaque() will also compare the new state against the old and trigger the appropriate changes if necesssary I&apos;d cut this down to just one line that calls setOpaque() on m_videoLayer with the appropriate value (something like &quot;m_videoLayer-&gt;setOpaque(webkitVideoFrame &amp;&amp; frameFormatOpaque(...)&quot;).

I don&apos;t believe setOpaque() checks the new value. it just sets it and calls setNeedsCommit() regardless. I was trying to avoid doing that every frame, but can put the check in setOpaque() instead if you&apos;d like?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515941</commentid>
    <comment_count>9</comment_count>
    <who name="David Reveman">reveman</who>
    <bug_when>2011-12-06 08:42:37 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 117949 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=117949&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp:578
&gt; &gt;&gt; +        ASSERT_NOT_REACHED();
&gt; &gt; 
&gt; &gt; if you want to ensure that this switch has a case for every possible value of the WebVideoFrame::Format enum, a better way to do it is to leave out the &apos;default&apos; case completely - then the compiler will throw a warning (which is an error with our compiler settings) if there&apos;s an enum value without a possible case:
&gt; 
&gt; ok cool. saw this used elsewhere, but would prefer no default as you say.
&gt; 
&gt; &gt;&gt; Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp:595
&gt; &gt;&gt; +}
&gt; &gt; 
&gt; &gt; i think you will need to add a return here outside the switch(), preferably with an ASSERT_NOT_REACHED() as well, or some versions of gcc we use will complain about a missing return statement in a non-void function
&gt; 
&gt; ok.
&gt; 
&gt; &gt;&gt; Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp:607
&gt; &gt;&gt; +                m_videoLayer-&gt;setOpaque(opaque);
&gt; &gt; 
&gt; &gt; it doesn&apos;t seem very useful to do the state checking here since the implementation of setOpaque() will also compare the new state against the old and trigger the appropriate changes if necesssary I&apos;d cut this down to just one line that calls setOpaque() on m_videoLayer with the appropriate value (something like &quot;m_videoLayer-&gt;setOpaque(webkitVideoFrame &amp;&amp; frameFormatOpaque(...)&quot;).
&gt; 
&gt; I don&apos;t believe setOpaque() checks the new value. it just sets it and calls setNeedsCommit() regardless. I was trying to avoid doing that every frame, but can put the check in setOpaque() instead if you&apos;d like?

Hm, should setOpaque really call setNeedsCommit()? Isn&apos;t opaque-ness just additional information about the layer that can optionally be used for rendering? It doesn&apos;t affect output, just affects the process we use to produce the output. Shouldn&apos;t setNeedsCommit() just be called from functions such as setOpacity, which actually affect output?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516068</commentid>
    <comment_count>10</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-12-06 11:24:43 -0800</bug_when>
    <thetext>http://trac.webkit.org/browser/trunk/Source/WebCore/platform/graphics/chromium/LayerChromium.cpp#L288

LC::setOpaque() and LC::setOpacity() both call setNeedsCommit(), which I believe is correct in both cases - the opaque bit may be used when rendering to control blending and draw-time culling.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516086</commentid>
    <comment_count>11</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2011-12-06 11:34:26 -0800</bug_when>
    <thetext>&gt; I don&apos;t believe setOpaque() checks the new value. it just sets it and calls setNeedsCommit() regardless. I was trying to avoid doing that every frame, but can put the check in setOpaque() instead if you&apos;d like?

Oh, thanks for the trac. I see this changed recently, yay. Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516109</commentid>
    <comment_count>12</comment_count>
      <attachid>118082</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2011-12-06 11:49:41 -0800</bug_when>
    <thetext>Created attachment 118082
Patch

Updated with requested fixes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516270</commentid>
    <comment_count>13</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2011-12-06 14:44:24 -0800</bug_when>
    <thetext>I see this failed on win bot, but seems unrelated to the patch. Not sure how to resubmit to the bot without re-uploading.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516295</commentid>
    <comment_count>14</comment_count>
      <attachid>118082</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-12-06 15:23:31 -0800</bug_when>
    <thetext>Comment on attachment 118082
Patch

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

&gt; Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp:573
&gt; +static bool frameFormatOpaque(WebVideoFrame::Format format)

nit: please do not put global functions in the middle of a string
of class member function definitions.  please move global functions
to the top of the source file.

nit: the name &quot;frameFormatOpaque&quot; could be improved.  it seems like
this function is trying to ask a question, so it should probably be
phrased in the form of a question.  how about &quot;isFormatOpaque&quot; or
&quot;isVideoFrameFormatOpaque&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516647</commentid>
    <comment_count>15</comment_count>
      <attachid>118213</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2011-12-07 08:13:06 -0800</bug_when>
    <thetext>Created attachment 118213
Patch

Nits addressed, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517012</commentid>
    <comment_count>16</comment_count>
      <attachid>118213</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-12-07 17:33:08 -0800</bug_when>
    <thetext>Comment on attachment 118213
Patch

Looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517691</commentid>
    <comment_count>17</comment_count>
      <attachid>118213</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-08 12:34:12 -0800</bug_when>
    <thetext>Comment on attachment 118213
Patch

Rejecting attachment 118213 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
ebKit/chromium/third_party/yasm/source/patched-yasm --revision 73761 --non-interactive --force --accept theirs-conflict --ignore-externals&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
48&gt;At revision 73761.

________ running &apos;/usr/bin/python tools/clang/scripts/update.py --mac-only&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...

Full output: http://queues.webkit.org/results/10781409</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517828</commentid>
    <comment_count>18</comment_count>
      <attachid>118213</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-08 15:01:11 -0800</bug_when>
    <thetext>Comment on attachment 118213
Patch

Clearing flags on attachment: 118213

Committed r102387: &lt;http://trac.webkit.org/changeset/102387&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517829</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-08 15:01:17 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117933</attachid>
            <date>2011-12-05 13:32:23 -0800</date>
            <delta_ts>2011-12-05 15:36:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73858-20111205163222.patch</filename>
            <type>text/plain</type>
            <size>2748</size>
            <attacher name="Dana Jansens">danakj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGU2M2Y1ZTM5ODA1YWI5YjcwNDc2MjkzOGQ0ZDUwY2EwYzJiMGJhYTguLmYxNGE3MWUwOTg0NGU0
Y2I1NjEyMWFlNWJmODEzYmI2NjdlYzQ5NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTEtMTItMDUgIERhbmEgSmFuc2VucyAgPGRhbmFrakBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBTZXQgb3BhcXVlKCkgZm9yIFZpZGVvTGF5ZXJD
aHJvbWl1bQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzM4NTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHB1YmxpYy9XZWJWaWRlb0ZyYW1lLmg6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZGVvRnJhbWU6
OmlzRm9ybWF0T3BhcXVlKToKKyAgICAgICAgKiBzcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBs
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpnZXRDdXJy
ZW50RnJhbWUpOgorCiAyMDExLTEyLTAyICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBSZW1vdmUgZm9yd2FyZGluZyBoZWFkZXJzIGZv
ciBXZWJMYXllciBBUElzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJWaWRlb0ZyYW1lLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWRl
b0ZyYW1lLmgKaW5kZXggOGUzYjJjZGJkMmJkMWI5NmRlYzdkNzkyYjhiOGMyYTljZjY2NTRiMS4u
MWQ2OTA3Mjk4M2Q5MmJlYmZmNWIzN2ZiMjQxNmM0ZDI0NTkyYWNmMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlkZW9GcmFtZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZGVvRnJhbWUuaApAQCAtNjEsNiArNjEsMjAgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgaW50IHN0cmlkZSh1bnNpZ25lZCBwbGFuZSkgY29uc3QgeyBy
ZXR1cm4gMDsgfQogICAgIHZpcnR1YWwgY29uc3Qgdm9pZCogZGF0YSh1bnNpZ25lZCBwbGFuZSkg
Y29uc3QgeyByZXR1cm4gMDsgfQogICAgIHZpcnR1YWwgdW5zaWduZWQgdGV4dHVyZUlkKCkgY29u
c3QgeyByZXR1cm4gMDsgfQorCisgICAgdmlydHVhbCBib29sIGlzRm9ybWF0T3BhcXVlKCkKKyAg
ICB7CisgICAgICAgIEZvcm1hdCBmcmFtZUZvcm1hdCA9IGZvcm1hdCgpOworICAgICAgICByZXR1
cm4gZnJhbWVGb3JtYXQgPT0gRm9ybWF0UkdCNTU1CisgICAgICAgICAgICB8fCBmcmFtZUZvcm1h
dCA9PSBGb3JtYXRSR0I1NjUKKyAgICAgICAgICAgIHx8IGZyYW1lRm9ybWF0ID09IEZvcm1hdFJH
QjI0CisgICAgICAgICAgICB8fCBmcmFtZUZvcm1hdCA9PSBGb3JtYXRSR0IzMgorICAgICAgICAg
ICAgfHwgZnJhbWVGb3JtYXQgPT0gRm9ybWF0WVYxMgorICAgICAgICAgICAgfHwgZnJhbWVGb3Jt
YXQgPT0gRm9ybWF0WVYxNgorICAgICAgICAgICAgfHwgZnJhbWVGb3JtYXQgPT0gRm9ybWF0TlYx
MgorICAgICAgICAgICAgfHwgZnJhbWVGb3JtYXQgPT0gRm9ybWF0QVNDSUkKKyAgICAgICAgICAg
IHx8IGZyYW1lRm9ybWF0ID09IEZvcm1hdEk0MjA7CisgICAgfQogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRp
YVBsYXllckNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVk
aWFQbGF5ZXJDbGllbnRJbXBsLmNwcAppbmRleCA3ZWY2MzgyNjM3MGIzNWE2N2FlZTdhZjAwOTdj
NzU5NGQ4YzNhMWE2Li4xY2Q3Mzg5NDQ4ZDJiZDRlNTYwMWVmMTk2ZDk2NTU0ZTA3N2IwNzdlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVu
dEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVy
Q2xpZW50SW1wbC5jcHAKQEAgLTU3OCw2ICs1NzgsMTEgQEAgVmlkZW9GcmFtZUNocm9taXVtKiBX
ZWJNZWRpYVBsYXllckNsaWVudEltcGw6OmdldEN1cnJlbnRGcmFtZSgpCiAgICAgICAgIFdlYlZp
ZGVvRnJhbWUqIHdlYmtpdFZpZGVvRnJhbWUgPSBtX3dlYk1lZGlhUGxheWVyLT5nZXRDdXJyZW50
RnJhbWUoKTsKICAgICAgICAgaWYgKHdlYmtpdFZpZGVvRnJhbWUpCiAgICAgICAgICAgICBtX2N1
cnJlbnRWaWRlb0ZyYW1lID0gYWRvcHRQdHIobmV3IFZpZGVvRnJhbWVDaHJvbWl1bUltcGwod2Vi
a2l0VmlkZW9GcmFtZSkpOworICAgICAgICBpZiAobV92aWRlb0xheWVyKSB7CisgICAgICAgICAg
ICBib29sIG9wYXF1ZSA9IHdlYmtpdFZpZGVvRnJhbWUgPyB3ZWJraXRWaWRlb0ZyYW1lLT5pc0Zv
cm1hdE9wYXF1ZSgpIDogZmFsc2U7CisgICAgICAgICAgICBpZiAob3BhcXVlICE9IG1fdmlkZW9M
YXllci0+b3BhcXVlKCkpCisgICAgICAgICAgICAgICAgbV92aWRlb0xheWVyLT5zZXRPcGFxdWUo
b3BhcXVlKTsKKyAgICAgICAgfQogICAgIH0KICAgICByZXR1cm4gbV9jdXJyZW50VmlkZW9GcmFt
ZS5nZXQoKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117949</attachid>
            <date>2011-12-05 15:36:59 -0800</date>
            <delta_ts>2011-12-06 11:49:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73858-20111205183658.patch</filename>
            <type>text/plain</type>
            <size>2629</size>
            <attacher name="Dana Jansens">danakj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMDE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGU2M2Y1ZTM5ODA1YWI5YjcwNDc2MjkzOGQ0ZDUwY2EwYzJiMGJhYTguLjc0OGQ2ZDYzMzBkZGJm
YzdmMGI1MTJhMTg5NDA3ZDIwYjU0MGRmMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTEtMTItMDUgIERhbmEgSmFuc2VucyAgPGRhbmFrakBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBTZXQgb3BhcXVlKCkgZm9yIFZpZGVvTGF5ZXJD
aHJvbWl1bQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzM4NTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHNyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpmcmFt
ZUZvcm1hdE9wYXF1ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50SW1w
bDo6Z2V0Q3VycmVudEZyYW1lKToKKwogMjAxMS0xMi0wMiAgSmFtZXMgUm9iaW5zb24gIDxqYW1l
c3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gUmVtb3ZlIGZvcndhcmRpbmcg
aGVhZGVycyBmb3IgV2ViTGF5ZXIgQVBJcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5jcHAKaW5kZXggN2VmNjM4MjYzNzBi
MzVhNjdhZWU3YWYwMDk3Yzc1OTRkOGMzYTFhNi4uOWZlNjZlZWE3MzdlNTQzZGQ0YjgxZDZlZDlh
ZDdhYTQ4ZWJmMGMzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
TWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuY3BwCkBAIC01NzEsNiArNTcxLDI5IEBAIGJvb2wg
V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjphY2NlbGVyYXRlZFJlbmRlcmluZ0luVXNlKCkKICAg
ICByZXR1cm4gbV92aWRlb0xheWVyICYmIG1fdmlkZW9MYXllci0+bGF5ZXJUcmVlSG9zdCgpOwog
fQogCitzdGF0aWMgYm9vbCBmcmFtZUZvcm1hdE9wYXF1ZShXZWJWaWRlb0ZyYW1lOjpGb3JtYXQg
Zm9ybWF0KQoreworICAgIHN3aXRjaCAoZm9ybWF0KSB7CisgICAgZGVmYXVsdDoKKyAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgY2FzZSBXZWJWaWRlb0ZyYW1lOjpGb3JtYXRJbnZh
bGlkOgorICAgIGNhc2UgV2ViVmlkZW9GcmFtZTo6Rm9ybWF0RW1wdHk6CisgICAgY2FzZSBXZWJW
aWRlb0ZyYW1lOjpGb3JtYXRSR0JBOgorICAgIGNhc2UgV2ViVmlkZW9GcmFtZTo6Rm9ybWF0TmF0
aXZlVGV4dHVyZToKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGNhc2UgV2ViVmlkZW9GcmFt
ZTo6Rm9ybWF0UkdCNTU1OgorICAgIGNhc2UgV2ViVmlkZW9GcmFtZTo6Rm9ybWF0UkdCNTY1Ogor
ICAgIGNhc2UgV2ViVmlkZW9GcmFtZTo6Rm9ybWF0UkdCMjQ6CisgICAgY2FzZSBXZWJWaWRlb0Zy
YW1lOjpGb3JtYXRSR0IzMjoKKyAgICBjYXNlIFdlYlZpZGVvRnJhbWU6OkZvcm1hdFlWMTI6Cisg
ICAgY2FzZSBXZWJWaWRlb0ZyYW1lOjpGb3JtYXRZVjE2OgorICAgIGNhc2UgV2ViVmlkZW9GcmFt
ZTo6Rm9ybWF0TlYxMjoKKyAgICBjYXNlIFdlYlZpZGVvRnJhbWU6OkZvcm1hdEFTQ0lJOgorICAg
IGNhc2UgV2ViVmlkZW9GcmFtZTo6Rm9ybWF0STQyMDoKKyAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgfQorfQorCiBWaWRlb0ZyYW1lQ2hyb21pdW0qIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6
Z2V0Q3VycmVudEZyYW1lKCkKIHsKICAgICBBU1NFUlQoIW1fY3VycmVudFZpZGVvRnJhbWUpOwpA
QCAtNTc4LDYgKzYwMSwxMSBAQCBWaWRlb0ZyYW1lQ2hyb21pdW0qIFdlYk1lZGlhUGxheWVyQ2xp
ZW50SW1wbDo6Z2V0Q3VycmVudEZyYW1lKCkKICAgICAgICAgV2ViVmlkZW9GcmFtZSogd2Via2l0
VmlkZW9GcmFtZSA9IG1fd2ViTWVkaWFQbGF5ZXItPmdldEN1cnJlbnRGcmFtZSgpOwogICAgICAg
ICBpZiAod2Via2l0VmlkZW9GcmFtZSkKICAgICAgICAgICAgIG1fY3VycmVudFZpZGVvRnJhbWUg
PSBhZG9wdFB0cihuZXcgVmlkZW9GcmFtZUNocm9taXVtSW1wbCh3ZWJraXRWaWRlb0ZyYW1lKSk7
CisgICAgICAgIGlmIChtX3ZpZGVvTGF5ZXIpIHsKKyAgICAgICAgICAgIGJvb2wgb3BhcXVlID0g
d2Via2l0VmlkZW9GcmFtZSA/IGZyYW1lRm9ybWF0T3BhcXVlKHdlYmtpdFZpZGVvRnJhbWUtPmZv
cm1hdCgpKSA6IGZhbHNlOworICAgICAgICAgICAgaWYgKG9wYXF1ZSAhPSBtX3ZpZGVvTGF5ZXIt
Pm9wYXF1ZSgpKQorICAgICAgICAgICAgICAgIG1fdmlkZW9MYXllci0+c2V0T3BhcXVlKG9wYXF1
ZSk7CisgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIG1fY3VycmVudFZpZGVvRnJhbWUuZ2V0
KCk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118082</attachid>
            <date>2011-12-06 11:49:41 -0800</date>
            <delta_ts>2011-12-07 08:12:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73858-20111206144940.patch</filename>
            <type>text/plain</type>
            <size>2502</size>
            <attacher name="Dana Jansens">danakj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGNjNGIwYWFjNDZkMjliMjE3MjIwMzJjNDE5MzI2ZGVlMmNiZjZkNzQuLjk1MDBhYzAwNWNkOGMz
ZmI5ZDYxZDg0NTRkMGQwMGIxMzJlYTlhMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTEtMTItMDYgIERhbmEgSmFuc2VucyAgPGRhbmFrakBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBTZXQgb3BhcXVlKCkgZm9yIFZpZGVvTGF5ZXJD
aHJvbWl1bQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzM4NTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHNyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpmcmFt
ZUZvcm1hdE9wYXF1ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50SW1w
bDo6Z2V0Q3VycmVudEZyYW1lKToKKwogMjAxMS0xMi0wNiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQu
cmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjEwMjEwMi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlh
UGxheWVyQ2xpZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRp
YVBsYXllckNsaWVudEltcGwuY3BwCmluZGV4IDliOTVmOGQ1OTdlZTM0YWE0NThlMWMxZWRlODY1
NDNlOTA4ZjQyOTQuLjdlNDYwNDkzNjA5MGIwZDk0MjY1ZGYwZTE2YTUzNTlmM2IyMmUyNzQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50
SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJD
bGllbnRJbXBsLmNwcApAQCAtNTcwLDYgKzU3MCwyOSBAQCBib29sIFdlYk1lZGlhUGxheWVyQ2xp
ZW50SW1wbDo6YWNjZWxlcmF0ZWRSZW5kZXJpbmdJblVzZSgpCiAgICAgcmV0dXJuIG1fdmlkZW9M
YXllciAmJiBtX3ZpZGVvTGF5ZXItPmxheWVyVHJlZUhvc3QoKTsKIH0KIAorc3RhdGljIGJvb2wg
ZnJhbWVGb3JtYXRPcGFxdWUoV2ViVmlkZW9GcmFtZTo6Rm9ybWF0IGZvcm1hdCkKK3sKKyAgICBz
d2l0Y2ggKGZvcm1hdCkgeworICAgIGNhc2UgV2ViVmlkZW9GcmFtZTo6Rm9ybWF0SW52YWxpZDoK
KyAgICBjYXNlIFdlYlZpZGVvRnJhbWU6OkZvcm1hdEVtcHR5OgorICAgIGNhc2UgV2ViVmlkZW9G
cmFtZTo6Rm9ybWF0UkdCQToKKyAgICBjYXNlIFdlYlZpZGVvRnJhbWU6OkZvcm1hdE5hdGl2ZVRl
eHR1cmU6CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBjYXNlIFdlYlZpZGVvRnJhbWU6OkZv
cm1hdFJHQjU1NToKKyAgICBjYXNlIFdlYlZpZGVvRnJhbWU6OkZvcm1hdFJHQjU2NToKKyAgICBj
YXNlIFdlYlZpZGVvRnJhbWU6OkZvcm1hdFJHQjI0OgorICAgIGNhc2UgV2ViVmlkZW9GcmFtZTo6
Rm9ybWF0UkdCMzI6CisgICAgY2FzZSBXZWJWaWRlb0ZyYW1lOjpGb3JtYXRZVjEyOgorICAgIGNh
c2UgV2ViVmlkZW9GcmFtZTo6Rm9ybWF0WVYxNjoKKyAgICBjYXNlIFdlYlZpZGVvRnJhbWU6OkZv
cm1hdE5WMTI6CisgICAgY2FzZSBXZWJWaWRlb0ZyYW1lOjpGb3JtYXRBU0NJSToKKyAgICBjYXNl
IFdlYlZpZGVvRnJhbWU6OkZvcm1hdEk0MjA6CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0K
KyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIFZpZGVv
RnJhbWVDaHJvbWl1bSogV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpnZXRDdXJyZW50RnJhbWUo
KQogewogICAgIEFTU0VSVCghbV9jdXJyZW50VmlkZW9GcmFtZSk7CkBAIC01NzcsNiArNjAwLDgg
QEAgVmlkZW9GcmFtZUNocm9taXVtKiBXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OmdldEN1cnJl
bnRGcmFtZSgpCiAgICAgICAgIFdlYlZpZGVvRnJhbWUqIHdlYmtpdFZpZGVvRnJhbWUgPSBtX3dl
Yk1lZGlhUGxheWVyLT5nZXRDdXJyZW50RnJhbWUoKTsKICAgICAgICAgaWYgKHdlYmtpdFZpZGVv
RnJhbWUpCiAgICAgICAgICAgICBtX2N1cnJlbnRWaWRlb0ZyYW1lID0gYWRvcHRQdHIobmV3IFZp
ZGVvRnJhbWVDaHJvbWl1bUltcGwod2Via2l0VmlkZW9GcmFtZSkpOworICAgICAgICBpZiAobV92
aWRlb0xheWVyKQorICAgICAgICAgICAgbV92aWRlb0xheWVyLT5zZXRPcGFxdWUod2Via2l0Vmlk
ZW9GcmFtZSAmJiBmcmFtZUZvcm1hdE9wYXF1ZSh3ZWJraXRWaWRlb0ZyYW1lLT5mb3JtYXQoKSkp
OwogICAgIH0KICAgICByZXR1cm4gbV9jdXJyZW50VmlkZW9GcmFtZS5nZXQoKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118213</attachid>
            <date>2011-12-07 08:13:06 -0800</date>
            <delta_ts>2011-12-08 15:01:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73858-20111207111304.patch</filename>
            <type>text/plain</type>
            <size>2559</size>
            <attacher name="Dana Jansens">danakj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGNjNGIwYWFjNDZkMjliMjE3MjIwMzJjNDE5MzI2ZGVlMmNiZjZkNzQuLmMzYTc4NmMxZjU2ZGU0
Y2Y4YjY3ZDc0OTk5NzVlYjk5OWQ3NjY0OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTEtMTItMDcgIERhbmEgSmFuc2VucyAgPGRhbmFrakBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBTZXQgb3BhcXVlKCkgZm9yIFZpZGVvTGF5ZXJD
aHJvbWl1bQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzM4NTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHNyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0Ojppc1Zp
ZGVvRnJhbWVGb3JtYXRPcGFxdWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYVBsYXllckNs
aWVudEltcGw6OmdldEN1cnJlbnRGcmFtZSk6CisKIDIwMTEtMTItMDYgIFNoZXJpZmYgQm90ICA8
d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxp
bmcgb3V0IHIxMDIxMDIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJNZWRpYVBsYXllckNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcAppbmRleCA5Yjk1ZjhkNTk3ZWUzNGFhNDU4ZTFj
MWVkZTg2NTQzZTkwOGY0Mjk0Li45OTM2MWVkOTQxYWE0NjMwNmQ1NjdiZDIzZDhkY2RlYWRmNjVh
OTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBsYXll
ckNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlh
UGxheWVyQ2xpZW50SW1wbC5jcHAKQEAgLTYyLDYgKzYyLDI5IEBAIHN0YXRpYyBQYXNzT3duUHRy
PFdlYk1lZGlhUGxheWVyPiBjcmVhdGVXZWJNZWRpYVBsYXllcihXZWJNZWRpYVBsYXllckNsaWVu
dCogY2xpCiAgICAgcmV0dXJuIGFkb3B0UHRyKHdlYkZyYW1lLT5jbGllbnQoKS0+Y3JlYXRlTWVk
aWFQbGF5ZXIod2ViRnJhbWUsIGNsaWVudCkpOwogfQogCitzdGF0aWMgYm9vbCBpc1ZpZGVvRnJh
bWVGb3JtYXRPcGFxdWUoV2ViVmlkZW9GcmFtZTo6Rm9ybWF0IGZvcm1hdCkKK3sKKyAgICBzd2l0
Y2ggKGZvcm1hdCkgeworICAgIGNhc2UgV2ViVmlkZW9GcmFtZTo6Rm9ybWF0SW52YWxpZDoKKyAg
ICBjYXNlIFdlYlZpZGVvRnJhbWU6OkZvcm1hdEVtcHR5OgorICAgIGNhc2UgV2ViVmlkZW9GcmFt
ZTo6Rm9ybWF0UkdCQToKKyAgICBjYXNlIFdlYlZpZGVvRnJhbWU6OkZvcm1hdE5hdGl2ZVRleHR1
cmU6CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBjYXNlIFdlYlZpZGVvRnJhbWU6OkZvcm1h
dFJHQjU1NToKKyAgICBjYXNlIFdlYlZpZGVvRnJhbWU6OkZvcm1hdFJHQjU2NToKKyAgICBjYXNl
IFdlYlZpZGVvRnJhbWU6OkZvcm1hdFJHQjI0OgorICAgIGNhc2UgV2ViVmlkZW9GcmFtZTo6Rm9y
bWF0UkdCMzI6CisgICAgY2FzZSBXZWJWaWRlb0ZyYW1lOjpGb3JtYXRZVjEyOgorICAgIGNhc2Ug
V2ViVmlkZW9GcmFtZTo6Rm9ybWF0WVYxNjoKKyAgICBjYXNlIFdlYlZpZGVvRnJhbWU6OkZvcm1h
dE5WMTI6CisgICAgY2FzZSBXZWJWaWRlb0ZyYW1lOjpGb3JtYXRBU0NJSToKKyAgICBjYXNlIFdl
YlZpZGVvRnJhbWU6OkZvcm1hdEk0MjA6CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIGJvb2wgV2Vi
TWVkaWFQbGF5ZXJDbGllbnRJbXBsOjptX2lzRW5hYmxlZCA9IGZhbHNlOwogCiBib29sIFdlYk1l
ZGlhUGxheWVyQ2xpZW50SW1wbDo6aXNFbmFibGVkKCkKQEAgLTU3Nyw2ICs2MDAsOCBAQCBWaWRl
b0ZyYW1lQ2hyb21pdW0qIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6Z2V0Q3VycmVudEZyYW1l
KCkKICAgICAgICAgV2ViVmlkZW9GcmFtZSogd2Via2l0VmlkZW9GcmFtZSA9IG1fd2ViTWVkaWFQ
bGF5ZXItPmdldEN1cnJlbnRGcmFtZSgpOwogICAgICAgICBpZiAod2Via2l0VmlkZW9GcmFtZSkK
ICAgICAgICAgICAgIG1fY3VycmVudFZpZGVvRnJhbWUgPSBhZG9wdFB0cihuZXcgVmlkZW9GcmFt
ZUNocm9taXVtSW1wbCh3ZWJraXRWaWRlb0ZyYW1lKSk7CisgICAgICAgIGlmIChtX3ZpZGVvTGF5
ZXIpCisgICAgICAgICAgICBtX3ZpZGVvTGF5ZXItPnNldE9wYXF1ZSh3ZWJraXRWaWRlb0ZyYW1l
ICYmIGlzVmlkZW9GcmFtZUZvcm1hdE9wYXF1ZSh3ZWJraXRWaWRlb0ZyYW1lLT5mb3JtYXQoKSkp
OwogICAgIH0KICAgICByZXR1cm4gbV9jdXJyZW50VmlkZW9GcmFtZS5nZXQoKTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>