<?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>90661</bug_id>
          
          <creation_ts>2012-07-06 00:28:15 -0700</creation_ts>
          <short_desc>Distributed nodes should not share styles.</short_desc>
          <delta_ts>2012-08-23 10:08:03 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</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>
          
          <blocked>90017</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Takashi Sakamoto">tasak</reporter>
          <assigned_to name="Takashi Sakamoto">tasak</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>dglazkov</cc>
    
    <cc>hayato</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>morrita</cc>
    
    <cc>tasak</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>663921</commentid>
    <comment_count>0</comment_count>
      <attachid>151026</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-07-06 00:28:15 -0700</bug_when>
    <thetext>Created attachment 151026
repro

According to Shadow DOM spec, the child nodes of the shadow host that are assigned to the insertion point should inherit the styles from the parent of the insertion point.
However sometimes such a child node don&apos;t inherit style from the parent of the insertion point.

The following is a figure showing a DOM tree created in repro.html:

div
  |
  +--div[id=host, style=color:red] ....... shadow-root
          |
          +---div[id=child-a]
          |
          +---div[id=child-b]

shadow-root
  |
  +--- content[select=&apos;#child-a&apos;]
  |
  +--- div[style=color:blue]
            |
            +---content[select=&apos;#child-b&apos;]

window.getComputedStyle(document.getElementById(&apos;child-b&apos;)).color should be &apos;rgb(0, 0, 255)&apos;, but &apos;rgb(255, 0, 0)&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>664026</commentid>
    <comment_count>1</comment_count>
      <attachid>151063</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-07-06 05:20:58 -0700</bug_when>
    <thetext>Created attachment 151063
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>664037</commentid>
    <comment_count>2</comment_count>
      <attachid>151063</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-07-06 05:48:48 -0700</bug_when>
    <thetext>Comment on attachment 151063
Patch

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

&gt; LayoutTests/fast/dom/shadow/user-modify-inheritance.html:65
&gt; +shouldBeEqualToString(&apos;getUserModifyProperty(&quot;child-b&quot;)&apos;, &apos;read-only&apos;);

This is confusing since it should be &apos;read-write&apos;, not &apos;read-only&apos;, from the view of editing.
Since this patch fixes an &apos;unexpected pass&apos; here, the test should &apos;FAIL&apos; for child-b.
We should add &apos;FIXME&apos; comment here with an appropriate bug id.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>664675</commentid>
    <comment_count>3</comment_count>
      <attachid>151192</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-07-08 23:41:48 -0700</bug_when>
    <thetext>Created attachment 151192
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>664678</commentid>
    <comment_count>4</comment_count>
      <attachid>151192</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-07-08 23:44:17 -0700</bug_when>
    <thetext>Comment on attachment 151192
Patch

I forgot to add &quot;FIXME&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>664722</commentid>
    <comment_count>5</comment_count>
      <attachid>151208</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-07-09 01:20:38 -0700</bug_when>
    <thetext>Created attachment 151208
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>664727</commentid>
    <comment_count>6</comment_count>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-07-09 01:25:57 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 151063 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=151063&amp;action=review
&gt; 
&gt; &gt; LayoutTests/fast/dom/shadow/user-modify-inheritance.html:65
&gt; &gt; +shouldBeEqualToString(&apos;getUserModifyProperty(&quot;child-b&quot;)&apos;, &apos;read-only&apos;);
&gt; 
&gt; This is confusing since it should be &apos;read-write&apos;, not &apos;read-only&apos;, from the view of editing.
&gt; Since this patch fixes an &apos;unexpected pass&apos; here, the test should &apos;FAIL&apos; for child-b.
&gt; We should add &apos;FIXME&apos; comment here with an appropriate bug id.

Done, but I reused bug 90017 for the FIXME.

Best regards,
Takashi Sakamoto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670768</commentid>
    <comment_count>7</comment_count>
      <attachid>151208</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-07-16 16:27:55 -0700</bug_when>
    <thetext>Comment on attachment 151208
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        [Shadow] distribute nodes don&apos;t inherit styles from parentNodeForRenderingAndStyle.

distribute -&gt; Distributed

Perhaps a better title for this bug would be: Distributed nodes should not share styles

&gt; Source/WebCore/css/StyleResolver.h:485
&gt; +    bool m_elementDistributed;

Do we really need a member here? Can we not infer this information somehow from parentStyle? I am not sure, just asking.

Also -- if we do, the name needs to be more descriptive. It&apos;s hard to understand for someone who doesn&apos;t normally deal with Shadow DOM terminology. Can this be just a bit flag for disabling style sharing? Will this produce better code?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677599</commentid>
    <comment_count>8</comment_count>
      <attachid>154245</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-07-24 21:45:06 -0700</bug_when>
    <thetext>Created attachment 154245
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>677607</commentid>
    <comment_count>9</comment_count>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-07-24 21:55:02 -0700</bug_when>
    <thetext>Thank you for reviewing.

(In reply to comment #7)
&gt; (From update of attachment 151208 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=151208&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:3
&gt; &gt; +        [Shadow] distribute nodes don&apos;t inherit styles from parentNodeForRenderingAndStyle.
&gt; 
&gt; distribute -&gt; Distributed
&gt; 
&gt; Perhaps a better title for this bug would be: Distributed nodes should not share styles

I see. Done.

&gt; &gt; Source/WebCore/css/StyleResolver.h:485
&gt; &gt; +    bool m_elementDistributed;
&gt; 
&gt; Do we really need a member here? Can we not infer this information somehow from parentStyle? I am not sure, just asking.

&gt; 
&gt; Also -- if we do, the name needs to be more descriptive. It&apos;s hard to understand for someone who doesn&apos;t normally deal with Shadow DOM terminology. Can this be just a bit flag for disabling style sharing? Will this produce better code?

I see.
I changed the code to use ElementShadow::insertionPointFor (i.e. not using NodeRenderingContext).

As the NodeRenderingContext (and ComposedTreeWalker) is a little slow, I would like to avoid using the API again. However, ElementShadow::insertionPointFor is not as slow as ComposedTreeWalker (I think). So I can remove the member.

I also moved the code from StyleResolver::locateSharedStyle to StyleResolver::styleForElement. Because I&apos;m thinking of re-using the condition for another purpose, i.e. if an element is distributed, &quot;user-modify&quot; is inherited from dom parent (not rendering parent).
 
Best regards,
Takashi Sakamoto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>692612</commentid>
    <comment_count>10</comment_count>
      <attachid>154245</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-08-10 09:34:55 -0700</bug_when>
    <thetext>Comment on attachment 154245
Patch

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

&gt; Source/WebCore/css/StyleResolver.cpp:1717
&gt; +    bool elementIsDistributed = false;

How about elementIsDistributed -&gt; distributedToInsertionPoint?

This may be a bit more clear to non-shadow DOM users.

&gt; Source/WebCore/css/StyleResolver.cpp:1720
&gt; +    if (Element* parentElement = element-&gt;parentElement())
&gt; +        if (ElementShadow* shadow = parentElement-&gt;shadow())
&gt; +            elementIsDistributed = !!shadow-&gt;insertionPointFor(element);

Since this is only checked once, it might be better to just move it to a static free-standing function that is only called when the first part of the condition below is true.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695795</commentid>
    <comment_count>11</comment_count>
      <attachid>158514</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-08-15 00:15:49 -0700</bug_when>
    <thetext>Created attachment 158514
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695851</commentid>
    <comment_count>12</comment_count>
      <attachid>154245</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-08-15 02:03:36 -0700</bug_when>
    <thetext>Comment on attachment 154245
Patch

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

Thank you for reviewing.

Best regards,
Takashi Sakamoto

&gt;&gt; Source/WebCore/css/StyleResolver.cpp:1717
&gt;&gt; +    bool elementIsDistributed = false;
&gt; 
&gt; How about elementIsDistributed -&gt; distributedToInsertionPoint?
&gt; 
&gt; This may be a bit more clear to non-shadow DOM users.

Done.

&gt;&gt; Source/WebCore/css/StyleResolver.cpp:1720
&gt;&gt; +            elementIsDistributed = !!shadow-&gt;insertionPointFor(element);
&gt; 
&gt; Since this is only checked once, it might be better to just move it to a static free-standing function that is only called when the first part of the condition below is true.

I see. Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700437</commentid>
    <comment_count>13</comment_count>
      <attachid>159616</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-08-20 21:27:02 -0700</bug_when>
    <thetext>Created attachment 159616
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700458</commentid>
    <comment_count>14</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-08-20 21:55:02 -0700</bug_when>
    <thetext>Sorry for my slow jumping in but - 

(In reply to comment #9)
&gt; &gt; &gt; Source/WebCore/css/StyleResolver.h:485
&gt; &gt; &gt; +    bool m_elementDistributed;
&gt; &gt; 
&gt; &gt; Do we really need a member here? Can we not infer this information somehow from parentStyle? I am not sure, just asking.
&gt; 
&gt; I see.
&gt; I changed the code to use ElementShadow::insertionPointFor (i.e. not using NodeRenderingContext).
&gt; 
&gt; As the NodeRenderingContext (and ComposedTreeWalker) is a little slow, I would like to avoid using the API again. However, ElementShadow::insertionPointFor is not as slow as ComposedTreeWalker (I think). So I can remove the member.
&gt; 
Both insertionPointFor() and Element::shadow() needs one hashtable lookup for each. Considering that shared style is a &quot;fast path&quot; and style recalculation is one of the hottest place in WebKit land, I&apos;d rather use what NodeRenderingContext told us than duplicate composed tree traversal logic there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701344</commentid>
    <comment_count>15</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-08-21 17:15:24 -0700</bug_when>
    <thetext>(In reply to comment #14)

&gt; Both insertionPointFor() and Element::shadow() needs one hashtable lookup for each. Considering that shared style is a &quot;fast path&quot; and style recalculation is one of the hottest place in WebKit land, I&apos;d rather use what NodeRenderingContext told us than duplicate composed tree traversal logic there.

Sounds good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701562</commentid>
    <comment_count>16</comment_count>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-08-21 22:10:47 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; Sorry for my slow jumping in but - 
&gt; 
&gt; (In reply to comment #9)
&gt; &gt; &gt; &gt; Source/WebCore/css/StyleResolver.h:485
&gt; &gt; &gt; &gt; +    bool m_elementDistributed;
&gt; &gt; &gt; 
&gt; &gt; &gt; Do we really need a member here? Can we not infer this information somehow from parentStyle? I am not sure, just asking.
&gt; &gt; 
&gt; &gt; I see.
&gt; &gt; I changed the code to use ElementShadow::insertionPointFor (i.e. not using NodeRenderingContext).
&gt; &gt; 
&gt; &gt; As the NodeRenderingContext (and ComposedTreeWalker) is a little slow, I would like to avoid using the API again. However, ElementShadow::insertionPointFor is not as slow as ComposedTreeWalker (I think). So I can remove the member.
&gt; &gt; 
&gt; Both insertionPointFor() and Element::shadow() needs one hashtable lookup for each. Considering that shared style is a &quot;fast path&quot; and style recalculation is one of the hottest place in WebKit land, I&apos;d rather use what NodeRenderingContext told us than duplicate composed tree traversal logic there.

I see.
I think, this is done by my fist patch.
So I modified my first patch (changing the name of the new member variable) and uploaded again.

Best regards,
Takashi Sakamoto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701563</commentid>
    <comment_count>17</comment_count>
      <attachid>159858</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-08-21 22:11:52 -0700</bug_when>
    <thetext>Created attachment 159858
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701564</commentid>
    <comment_count>18</comment_count>
      <attachid>159859</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-08-21 22:15:41 -0700</bug_when>
    <thetext>Created attachment 159859
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701584</commentid>
    <comment_count>19</comment_count>
      <attachid>159859</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-08-21 22:59:53 -0700</bug_when>
    <thetext>Comment on attachment 159859
Patch

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

Looks good. Please take this small fix.

&gt; LayoutTests/fast/dom/shadow/style-of-distributed-node.html:29
&gt; +div.innerHTML = &apos;&lt;div id=&quot;child-a&quot;&gt;&lt;/div&gt;&lt;div id=&quot;child-b&quot;&gt;&lt;/div&gt;&apos;;

You can put this into markup instead of programatically.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702807</commentid>
    <comment_count>20</comment_count>
      <attachid>160115</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-08-23 01:44:45 -0700</bug_when>
    <thetext>Created attachment 160115
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703099</commentid>
    <comment_count>21</comment_count>
      <attachid>160115</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-23 10:07:58 -0700</bug_when>
    <thetext>Comment on attachment 160115
Patch

Clearing flags on attachment: 160115

Committed r126442: &lt;http://trac.webkit.org/changeset/126442&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703100</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-23 10:08:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>151026</attachid>
            <date>2012-07-06 00:28:15 -0700</date>
            <delta_ts>2012-07-06 00:28:15 -0700</delta_ts>
            <desc>repro</desc>
            <filename>repro.html</filename>
            <type>text/html</type>
            <size>1088</size>
            <attacher name="Takashi Sakamoto">tasak</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KPHNjcmlwdCBzcmM9InJlc291cmNlcy9wb2x5
ZmlsbC5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0Pgo8c2NyaXB0PgpmdW5jdGlvbiBnZXRDb2xvclByb3BlcnR5KGlk
KSB7CiAgICByZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoaWQpKS5jb2xvcjsKfQoKZnVuY3Rpb24gbG9nKG1lc3NhZ2UpIHsKICAgIHZhciBjb25z
b2xlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKTsKICAgIGNvbnNvbGUuaW5u
ZXJIVE1MICs9IG1lc3NhZ2UgKyAnXG4nOwp9Cjwvc2NyaXB0Pgo8L2hlYWQ+Cjxib2R5Pgo8cHJl
IGlkPSJjb25zb2xlIj48L2Rpdj4KPGRpdiBpZD0idGVzdCI+PC9kaXY+CjxzY3JpcHQ+CgppZiAo
d2luZG93LnRlc3RSdW5uZXIpCiAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Cgp2YXIgZGl2ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CmRpdi5zZXRBdHRyaWJ1dGUoJ2lkJywgJ2hv
c3QnKTsKZGl2LnN0eWxlLmNvbG9yID0gJ3JlZCc7CmRpdi5pbm5lckhUTUwgPSAnPGRpdiBpZD0i
Y2hpbGQtYSI+PC9kaXY+PGRpdiBpZD0iY2hpbGQtYiI+PC9kaXY+JzsKCnZhciBzciA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGRpdik7CnNyLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IiNj
aGlsZC1hIj48L2NvbnRlbnQ+PGRpdiBzdHlsZT0iY29sb3I6IGJsdWUiPjxjb250ZW50IHNlbGVj
dD0iI2NoaWxkLWIiPjwvY29udGVudD48L2Rpdj4nOwpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
dGVzdCcpLmFwcGVuZENoaWxkKGRpdik7CgpzaG91bGRCZSgnZ2V0Q29sb3JQcm9wZXJ0eSgiY2hp
bGQtYSIpJywgJyJyZ2IoMjU1LCAwLCAwKSInKTsKc2hvdWxkQmUoJ2dldENvbG9yUHJvcGVydHko
ImNoaWxkLWIiKScsICcicmdiKDAsIDAsIDI1NSkiJyk7Cjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CjwvYm9keT4KPC9o
dG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151063</attachid>
            <date>2012-07-06 05:20:58 -0700</date>
            <delta_ts>2012-07-08 23:41:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90661-20120706212056.patch</filename>
            <type>text/plain</type>
            <size>8778</size>
            <attacher name="Takashi Sakamoto">tasak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxOTUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDg5NDkxZDBiMjlkYzgx
ZmVlZjEwOTZmNjA2YzE3ZjJlM2E0ZTEzOS4uMDgwMDBhOTFhZGQ1NTkyNzMyMGZmNDI1NmYwNjll
ZGJmMTU3OGY2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTA3LTA2ICBUYWth
c2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KKworICAgICAgICBbU2hhZG93XSBkaXN0
cmlidXRlIG5vZGVzIGRvbid0IGluaGVyaXQgc3R5bGVzIGZyb20gcGFyZW50Tm9kZUZvclJlbmRl
cmluZ0FuZFN0eWxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTA2NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBzdHlsZUZvckVsZW1lbnQgdHJpZXMgdG8gdXNlIHByZXZpb3VzIHNpYmxpbmcncyBzdHls
ZSBmb3IgZGlzdHJpYnV0ZWQKKyAgICAgICAgbm9kZXMuIEhvd2V2ZXIgZGlzdHJpYnV0ZWQgbm9k
ZXMgYXJlIGNoaWxkcmVuIG9mIGEgc2hhZG93IGhvc3QsIGJ1dAorICAgICAgICB0aGUgbm9kZXMg
YXJlIG5vdCBzaWJsaW5ncyBhcyB0aGUgcmVzdWx0IG9mIGRpc3RyaWJ1dGlvbi4KKyAgICAgICAg
VGhlIHNwZWMgaXM6CisgICAgICAgIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy93ZWJjb21wb25lbnRz
L3Jhdy1maWxlL3RpcC9zcGVjL3NoYWRvdy9pbmRleC5odG1sI3NoYWRvdy1kb20tc3VidHJlZXMK
KyAgICAgICAgU28gc2hhcmluZyBwcmV2aW91cyBzaWJsaW5nJ3Mgc3R5bGUgc2hvdWxkIGJlIGRp
c2FibGVkIGZvciBkaXN0cmJ1dGVkCisgICAgICAgIG5vZGVzLgorCisgICAgICAgIFRlc3Q6IGZh
c3QvZG9tL3NoYWRvdy9zdHlsZS1vZi1kaXN0cmlidXRlZC1ub2RlLmh0bWwKKworICAgICAgICAq
IGNzcy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6
OlN0eWxlUmVzb2x2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6aW5pdEZv
clN0eWxlUmVzb2x2ZSk6CisgICAgICAgIFNldCBtX2VsZW1lbnREaXN0cmlidXRlZCB0byBiZSB0
cnVlIGlmIHRoZSBnaXZlbiBlbGVtZW50J3MKKyAgICAgICAgTm9kZVJlbmRlcmluZ0NvbnRleHQg
aGFzIGFueSBpbnNlcnRpb24gcG9pbnQuIE90aGVyd2lzZSwga2VlcAorICAgICAgICBtX2VsZW1l
bnREaXN0cmlidXRlZCBmYWxzZS4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6Omxv
Y2F0ZVNoYXJlZFN0eWxlKToKKyAgICAgICAgTW9kaWZ5IHRvIHJldHVybiAwLCBpLmUuIGRpc2Fi
bGUgdXNpbmcgc2hhcmVkIHN0eWxlLCBpZiBtX2VsZW1lbnQgaXMKKyAgICAgICAgYSBkaXN0cmli
dXRlZCBub2RlLgorICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmg6CisgICAgICAgIChTdHls
ZVJlc29sdmVyKToKKyAgICAgICAgQWRkZWQgYSBuZXcgbWVtYmVyIHZhcmlhYmxlLCBtX2VsZW1l
bnREaXN0cmlidXRlZCwgd2hpY2ggdGVsbHMKKyAgICAgICAgd2hldGhlciBtX2VsZW1lbnQgaXMg
YSBkaXN0cmlidXRlZCBub2RlIG9yIG5vdC4KKwogMjAxMi0wNy0wNiAgR2Fib3IgUmFwY3Nhbnlp
ICA8cmdhYm9yQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4aW5nIGRlZmluZXMgZm9yIE5FT04g
aW50cmluc2ljcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRleCA4YmM1ZWZl
ZTgxMjI2NjdhNTVmMjA5MDkyMDJlMmI5M2QzZmQwMGNjLi44MzgyZjgwMTA0NDM2ODJlYzIyOGM4
NWYzNzgwNmM3ZjkxMmEyYzFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVS
ZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBA
IC0zNjQsNiArMzY0LDcgQEAgU3R5bGVSZXNvbHZlcjo6U3R5bGVSZXNvbHZlcihEb2N1bWVudCog
ZG9jdW1lbnQsIGJvb2wgbWF0Y2hBdXRob3JBbmRVc2VyU3R5bGVzKQogICAgICwgbV9yZWdpb25G
b3JTdHlsaW5nKDApCiAgICAgLCBtX2VsZW1lbnRMaW5rU3RhdGUoTm90SW5zaWRlTGluaykKICAg
ICAsIG1fcGFyZW50Tm9kZSgwKQorICAgICwgbV9lbGVtZW50RGlzdHJpYnV0ZWQoZmFsc2UpCiAg
ICAgLCBtX2xpbmVIZWlnaHRWYWx1ZSgwKQogICAgICwgbV9mb250RGlydHkoZmFsc2UpCiAgICAg
LCBtX21hdGNoQXV0aG9yQW5kVXNlclN0eWxlcyhtYXRjaEF1dGhvckFuZFVzZXJTdHlsZXMpCkBA
IC0xMjA1LDkgKzEyMDYsMTEgQEAgaW5saW5lIHZvaWQgU3R5bGVSZXNvbHZlcjo6aW5pdEZvclN0
eWxlUmVzb2x2ZShFbGVtZW50KiBlLCBSZW5kZXJTdHlsZSogcGFyZW50U3QKICAgICAgICAgbV9w
YXJlbnRTdHlsZSA9IGNvbnRleHQucmVzZXRTdHlsZUluaGVyaXRhbmNlKCk/IDAgOgogICAgICAg
ICAgICAgcGFyZW50U3R5bGUgPyBwYXJlbnRTdHlsZSA6CiAgICAgICAgICAgICBtX3BhcmVudE5v
ZGUgPyBtX3BhcmVudE5vZGUtPnJlbmRlclN0eWxlKCkgOiAwOworICAgICAgICBtX2VsZW1lbnRE
aXN0cmlidXRlZCA9ICEhY29udGV4dC5pbnNlcnRpb25Qb2ludCgpOwogICAgIH0gZWxzZSB7CiAg
ICAgICAgIG1fcGFyZW50Tm9kZSA9IDA7CiAgICAgICAgIG1fcGFyZW50U3R5bGUgPSBwYXJlbnRT
dHlsZTsKKyAgICAgICAgbV9lbGVtZW50RGlzdHJpYnV0ZWQgPSBmYWxzZTsKICAgICB9CiAKICAg
ICBOb2RlKiBkb2NFbGVtZW50ID0gZSA/IGUtPmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgp
IDogMDsKQEAgLTE1MjAsNiArMTUyMyw4IEBAIFJlbmRlclN0eWxlKiBTdHlsZVJlc29sdmVyOjps
b2NhdGVTaGFyZWRTdHlsZSgpCiAgICAgaWYgKG1fc3R5bGVkRWxlbWVudC0+aGFzU2NvcGVkSFRN
TFN0eWxlQ2hpbGQoKSkKICAgICAgICAgcmV0dXJuIDA7CiAjZW5kaWYKKyAgICBpZiAobV9lbGVt
ZW50RGlzdHJpYnV0ZWQpCisgICAgICAgIHJldHVybiAwOwogCiAgICAgLy8gQ2hlY2sgcHJldmlv
dXMgc2libGluZ3MgYW5kIHRoZWlyIGNvdXNpbnMuCiAgICAgdW5zaWduZWQgY291bnQgPSAwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmgKaW5kZXggYjY1M2U4NDQ0MTgzMWY1NDZkOWI3NDEw
MmM5NTllNTc5YmQ0YTdkOC4uMmRiYjUxYTljZjAwNTA5MjlhYmYzMjViMzM4M2I1ODdhNzRmNzFi
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCkBAIC00ODIsNiArNDgyLDcgQEAgcHJp
dmF0ZToKICAgICBSZW5kZXJSZWdpb24qIG1fcmVnaW9uRm9yU3R5bGluZzsKICAgICBFSW5zaWRl
TGluayBtX2VsZW1lbnRMaW5rU3RhdGU7CiAgICAgQ29udGFpbmVyTm9kZSogbV9wYXJlbnROb2Rl
OworICAgIGJvb2wgbV9lbGVtZW50RGlzdHJpYnV0ZWQ7CiAgICAgQ1NTVmFsdWUqIG1fbGluZUhl
aWdodFZhbHVlOwogICAgIGJvb2wgbV9mb250RGlydHk7CiAgICAgYm9vbCBtX21hdGNoQXV0aG9y
QW5kVXNlclN0eWxlczsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3YmJhMzdmM2ViNGQ5N2Q2OTE3OGZlZDQ1NzdkYjdhZjRh
YWFkMGRjLi45ZjU2YmJjMDZkZTRjNGUwYzQzY2UwMWE2NDA5OGZhZTkwYjk4ZTBkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTItMDctMDYgIFRha2FzaGkgU2FrYW1vdG8gIDx0YXNha0Bnb29n
bGUuY29tPgorCisgICAgICAgIFtTaGFkb3ddIGRpc3RyaWJ1dGUgbm9kZXMgZG9uJ3QgaW5oZXJp
dCBzdHlsZXMgZnJvbSBwYXJlbnROb2RlRm9yUmVuZGVyaW5nQW5kU3R5bGUuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDY2MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3N0
eWxlLW9mLWRpc3RyaWJ1dGVkLW5vZGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2RvbS9zaGFkb3cvc3R5bGUtb2YtZGlzdHJpYnV0ZWQtbm9kZS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJpdGFuY2UtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy91c2VyLW1vZGlmeS1pbmhlcml0YW5jZS5o
dG1sOgorICAgICAgICBBcyB0aGlzIHBhdGNoIGFsc28gZml4IHRoZSB1c2VyLW1vZGlmeS1pbmhl
cml0YW5jZSdzIHByb2JsZW0sIHVwZGF0ZWQKKyAgICAgICAgdGhpcyBsYXlvdXQgdGVzdC4KKwog
MjAxMi0wNy0wNiAgVGFrYXNoaSBUb3lvc2hpbWEgIDx0b3lvc2hpbUBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgW0luc3BlY3Rvcl1bV2ViU29ja2V0XVtOUldUXSBsYXlvdXQgdGVzdHMgd2hpY2gg
cmVxdWlyZXMgd2Vic29ja2V0IHNlcnZlciBtdXN0IGJlIGluIGEgd2Vic29ja2V0IHN1YmRpcmVj
dG9yeS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zdHlsZS1vZi1k
aXN0cmlidXRlZC1ub2RlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zdHlsZS1vZi1kaXN0cmlidXRlZC1ub2RlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZTgz
ZTFjNDA3ZjlhNDJkNzA1NGM2YjYxNWQwYTllZWEyMzZmYWI5Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxlLW9mLWRpc3RyaWJ1dGVkLW5vZGUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1Rlc3RzIHRvIGVuc3VyZSB0aGF0IHN0eWxlcyBv
ZiBkaXN0cmlidXRlZCBub2RlcyBhcmUgZGlmZmVyZW50IGlmIHRoZWlyIHBhcmVudCBzdHlsZXMg
YXJlIGRpZmZlcmVudC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKKworCitQQVNT
IGdldENvbG9yUHJvcGVydHkoImNoaWxkLWEiKSBpcyAicmdiKDI1NSwgMCwgMCkiCitQQVNTIGdl
dENvbG9yUHJvcGVydHkoImNoaWxkLWIiKSBpcyAicmdiKDAsIDAsIDI1NSkiCisKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCisKKworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUtb2YtZGlzdHJpYnV0ZWQtbm9k
ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxlLW9mLWRpc3RyaWJ1dGVk
LW5vZGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOGQ4YjMyODMxZmRiOGM1ZWU3YjIzMzFmYzVhZTU3ZmFk
ZGM1MmYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0
eWxlLW9mLWRpc3RyaWJ1dGVkLW5vZGUuaHRtbApAQCAtMCwwICsxLDQwIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3BvbHlmaWxsLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIGdldENvbG9yUHJvcGVydHkoaWQpIHsK
KyAgICByZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoaWQpKS5jb2xvcjsKK30KKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpIHsKKyAgICB2YXIgY29u
c29sZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25zb2xlJyk7CisgICAgY29uc29sZS5p
bm5lckhUTUwgKz0gbWVzc2FnZSArICdcbic7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHByZSBpZD0iY29uc29sZSI+PC9kaXY+Cis8ZGl2IGlkPSJ0ZXN0Ij48L2Rpdj4KKzxzY3Jp
cHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdG8gZW5zdXJlIHRoYXQgc3R5bGVzIG9mIGRpc3RyaWJ1
dGVkIG5vZGVzIGFyZSBkaWZmZXJlbnQgaWYgdGhlaXIgcGFyZW50IHN0eWxlcyBhcmUgZGlmZmVy
ZW50LiIpOworCitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOworCit2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CitkaXYuc2V0
QXR0cmlidXRlKCdpZCcsICdob3N0Jyk7CitkaXYuc3R5bGUuY29sb3IgPSAncmVkJzsKK2Rpdi5p
bm5lckhUTUwgPSAnPGRpdiBpZD0iY2hpbGQtYSI+PC9kaXY+PGRpdiBpZD0iY2hpbGQtYiI+PC9k
aXY+JzsKKwordmFyIHNyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsKK3NyLmlubmVySFRN
TCA9ICc8Y29udGVudCBzZWxlY3Q9IiNjaGlsZC1hIj48L2NvbnRlbnQ+PGRpdiBzdHlsZT0iY29s
b3I6IGJsdWUiPjxjb250ZW50IHNlbGVjdD0iI2NoaWxkLWIiPjwvY29udGVudD48L2Rpdj4nOwor
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QnKS5hcHBlbmRDaGlsZChkaXYpOworCitzaG91
bGRCZSgnZ2V0Q29sb3JQcm9wZXJ0eSgiY2hpbGQtYSIpJywgJyJyZ2IoMjU1LCAwLCAwKSInKTsK
K3Nob3VsZEJlKCdnZXRDb2xvclByb3BlcnR5KCJjaGlsZC1iIiknLCAnInJnYigwLCAwLCAyNTUp
IicpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3VzZXItbW9kaWZ5LWluaGVyaXRhbmNlLWV4
cGVjdGVkLnR4dAppbmRleCBjNzZlMTBkODExOWVmMDY2OGYwY2RiODE2ZDRkMTU1NDYwOTNjNDM3
Li4xMDczNzY0NzNkODNlMTc5MTY5N2ZmYTE3YjBmMjU4OTVkMzY3NWI5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJpdGFuY2UtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy91c2VyLW1vZGlmeS1pbmhl
cml0YW5jZS1leHBlY3RlZC50eHQKQEAgLTEwLDcgKzEwLDcgQEAgUEFTUyBjb21wdXRlZFN0eWxl
KHByZXBhcmVOb2RlSW5TaGFkb3dSb290KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub24tY29u
dGVudGUKIFBBU1MgY29tcHV0ZWRTdHlsZShwcmVwYXJlTm9kZUluU2hhZG93Um9vdChkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgibm9uLWNvbnRlbnRlZGl0YWJsZS1ob3N0MiIpLCAiZmFsc2UiKSwg
dXNlck1vZGlmeVByb3BlcnR5TmFtZSkgaXMgInJlYWQtb25seSIKIFBBU1MgY29tcHV0ZWRTdHls
ZShwcmVwYXJlTm9kZUluU2hhZG93Um9vdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm9uLWNv
bnRlbnRlZGl0YWJsZS1ob3N0MyIpLCAidHJ1ZSIpLCB1c2VyTW9kaWZ5UHJvcGVydHlOYW1lKSBp
cyAicmVhZC13cml0ZSIKIFBBU1MgZ2V0VXNlck1vZGlmeVByb3BlcnR5KCJjaGlsZC1hIikgaXMg
InJlYWQtd3JpdGUiCi1QQVNTIGdldFVzZXJNb2RpZnlQcm9wZXJ0eSgiY2hpbGQtYiIpIGlzICJy
ZWFkLXdyaXRlIgorUEFTUyBnZXRVc2VyTW9kaWZ5UHJvcGVydHkoImNoaWxkLWIiKSBpcyAicmVh
ZC1vbmx5IgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRF
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvdXNlci1tb2RpZnktaW5o
ZXJpdGFuY2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy91c2VyLW1vZGlmeS1p
bmhlcml0YW5jZS5odG1sCmluZGV4IDRlYTBjNmFlMDA0YjY1NTU5NTg1YWFjZDY0NWE3ODk1N2Jj
ZmRmMWMuLjkyNjIzYmZkZmM0NGYzZjBmYWUyNDc3NTdlMWMxNzhjYzkyZTRjNDQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy91c2VyLW1vZGlmeS1pbmhlcml0YW5jZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy91c2VyLW1vZGlmeS1pbmhlcml0
YW5jZS5odG1sCkBAIC02Miw3ICs2Miw3IEBAIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzYW5k
Ym94JykuYXBwZW5kQ2hpbGQoCiBkb2N1bWVudC5ib2R5Lm9mZnNldExlZnQ7CiAKIHNob3VsZEJl
RXF1YWxUb1N0cmluZygnZ2V0VXNlck1vZGlmeVByb3BlcnR5KCJjaGlsZC1hIiknLCAncmVhZC13
cml0ZScpOwotc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyTW9kaWZ5UHJvcGVydHkoImNo
aWxkLWIiKScsICdyZWFkLXdyaXRlJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJN
b2RpZnlQcm9wZXJ0eSgiY2hpbGQtYiIpJywgJ3JlYWQtb25seScpOwogCiA8L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151192</attachid>
            <date>2012-07-08 23:41:48 -0700</date>
            <delta_ts>2012-07-09 01:20:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90661-20120709154146.patch</filename>
            <type>text/plain</type>
            <size>7978</size>
            <attacher name="Takashi Sakamoto">tasak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyMDkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWQyYTk0YmNiNmJmNjI0
YTM4NDM0MTQ3ZWNlODIxNTFjZTk0Y2EyYy4uMzdlMGNkYWYxYzlkYWNmNDFkOGFiMTc5YzlmYWUz
MGM4MzMwYTYyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTA3LTA2ICBUYWth
c2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KKworICAgICAgICBbU2hhZG93XSBkaXN0
cmlidXRlIG5vZGVzIGRvbid0IGluaGVyaXQgc3R5bGVzIGZyb20gcGFyZW50Tm9kZUZvclJlbmRl
cmluZ0FuZFN0eWxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTA2NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBzdHlsZUZvckVsZW1lbnQgdHJpZXMgdG8gdXNlIHByZXZpb3VzIHNpYmxpbmcncyBzdHls
ZSBmb3IgZGlzdHJpYnV0ZWQKKyAgICAgICAgbm9kZXMuIEhvd2V2ZXIgZGlzdHJpYnV0ZWQgbm9k
ZXMgYXJlIGNoaWxkcmVuIG9mIGEgc2hhZG93IGhvc3QsIGJ1dAorICAgICAgICB0aGUgbm9kZXMg
YXJlIG5vdCBzaWJsaW5ncyBhcyB0aGUgcmVzdWx0IG9mIGRpc3RyaWJ1dGlvbi4KKyAgICAgICAg
VGhlIHNwZWMgaXM6CisgICAgICAgIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy93ZWJjb21wb25lbnRz
L3Jhdy1maWxlL3RpcC9zcGVjL3NoYWRvdy9pbmRleC5odG1sI3NoYWRvdy1kb20tc3VidHJlZXMK
KyAgICAgICAgU28gc2hhcmluZyBwcmV2aW91cyBzaWJsaW5nJ3Mgc3R5bGUgc2hvdWxkIGJlIGRp
c2FibGVkIGZvciBkaXN0cmJ1dGVkCisgICAgICAgIG5vZGVzLgorCisgICAgICAgIFRlc3Q6IGZh
c3QvZG9tL3NoYWRvdy9zdHlsZS1vZi1kaXN0cmlidXRlZC1ub2RlLmh0bWwKKworICAgICAgICAq
IGNzcy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6
OlN0eWxlUmVzb2x2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6aW5pdEZv
clN0eWxlUmVzb2x2ZSk6CisgICAgICAgIFNldCBtX2VsZW1lbnREaXN0cmlidXRlZCB0byBiZSB0
cnVlIGlmIHRoZSBnaXZlbiBlbGVtZW50J3MKKyAgICAgICAgTm9kZVJlbmRlcmluZ0NvbnRleHQg
aGFzIGFueSBpbnNlcnRpb24gcG9pbnQuIE90aGVyd2lzZSwga2VlcAorICAgICAgICBtX2VsZW1l
bnREaXN0cmlidXRlZCBmYWxzZS4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6Omxv
Y2F0ZVNoYXJlZFN0eWxlKToKKyAgICAgICAgTW9kaWZ5IHRvIHJldHVybiAwLCBpLmUuIGRpc2Fi
bGUgdXNpbmcgc2hhcmVkIHN0eWxlLCBpZiBtX2VsZW1lbnQgaXMKKyAgICAgICAgYSBkaXN0cmli
dXRlZCBub2RlLgorICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmg6CisgICAgICAgIChTdHls
ZVJlc29sdmVyKToKKyAgICAgICAgQWRkZWQgYSBuZXcgbWVtYmVyIHZhcmlhYmxlLCBtX2VsZW1l
bnREaXN0cmlidXRlZCwgd2hpY2ggdGVsbHMKKyAgICAgICAgd2hldGhlciBtX2VsZW1lbnQgaXMg
YSBkaXN0cmlidXRlZCBub2RlIG9yIG5vdC4KKwogMjAxMi0wNy0wOCAgWW9zaGlmdW1pIElub3Vl
ICA8eW9zaW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtQbGF0Zm9ybS1NYWNdIERlcml2ZSBM
b2NhbGVNYWMue2NwcCxofSBhbmQgTG9jYWxpemVkRGF0ZU1hYy5jcHAgZnJvbSBMb2NhbGVXaW4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRleCA4YmM1ZWZlZTgxMjI2NjdhNTVm
MjA5MDkyMDJlMmI5M2QzZmQwMGNjLi44MzgyZjgwMTA0NDM2ODJlYzIyOGM4NWYzNzgwNmM3Zjkx
MmEyYzFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0zNjQsNiArMzY0
LDcgQEAgU3R5bGVSZXNvbHZlcjo6U3R5bGVSZXNvbHZlcihEb2N1bWVudCogZG9jdW1lbnQsIGJv
b2wgbWF0Y2hBdXRob3JBbmRVc2VyU3R5bGVzKQogICAgICwgbV9yZWdpb25Gb3JTdHlsaW5nKDAp
CiAgICAgLCBtX2VsZW1lbnRMaW5rU3RhdGUoTm90SW5zaWRlTGluaykKICAgICAsIG1fcGFyZW50
Tm9kZSgwKQorICAgICwgbV9lbGVtZW50RGlzdHJpYnV0ZWQoZmFsc2UpCiAgICAgLCBtX2xpbmVI
ZWlnaHRWYWx1ZSgwKQogICAgICwgbV9mb250RGlydHkoZmFsc2UpCiAgICAgLCBtX21hdGNoQXV0
aG9yQW5kVXNlclN0eWxlcyhtYXRjaEF1dGhvckFuZFVzZXJTdHlsZXMpCkBAIC0xMjA1LDkgKzEy
MDYsMTEgQEAgaW5saW5lIHZvaWQgU3R5bGVSZXNvbHZlcjo6aW5pdEZvclN0eWxlUmVzb2x2ZShF
bGVtZW50KiBlLCBSZW5kZXJTdHlsZSogcGFyZW50U3QKICAgICAgICAgbV9wYXJlbnRTdHlsZSA9
IGNvbnRleHQucmVzZXRTdHlsZUluaGVyaXRhbmNlKCk/IDAgOgogICAgICAgICAgICAgcGFyZW50
U3R5bGUgPyBwYXJlbnRTdHlsZSA6CiAgICAgICAgICAgICBtX3BhcmVudE5vZGUgPyBtX3BhcmVu
dE5vZGUtPnJlbmRlclN0eWxlKCkgOiAwOworICAgICAgICBtX2VsZW1lbnREaXN0cmlidXRlZCA9
ICEhY29udGV4dC5pbnNlcnRpb25Qb2ludCgpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIG1fcGFy
ZW50Tm9kZSA9IDA7CiAgICAgICAgIG1fcGFyZW50U3R5bGUgPSBwYXJlbnRTdHlsZTsKKyAgICAg
ICAgbV9lbGVtZW50RGlzdHJpYnV0ZWQgPSBmYWxzZTsKICAgICB9CiAKICAgICBOb2RlKiBkb2NF
bGVtZW50ID0gZSA/IGUtPmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpIDogMDsKQEAgLTE1
MjAsNiArMTUyMyw4IEBAIFJlbmRlclN0eWxlKiBTdHlsZVJlc29sdmVyOjpsb2NhdGVTaGFyZWRT
dHlsZSgpCiAgICAgaWYgKG1fc3R5bGVkRWxlbWVudC0+aGFzU2NvcGVkSFRNTFN0eWxlQ2hpbGQo
KSkKICAgICAgICAgcmV0dXJuIDA7CiAjZW5kaWYKKyAgICBpZiAobV9lbGVtZW50RGlzdHJpYnV0
ZWQpCisgICAgICAgIHJldHVybiAwOwogCiAgICAgLy8gQ2hlY2sgcHJldmlvdXMgc2libGluZ3Mg
YW5kIHRoZWlyIGNvdXNpbnMuCiAgICAgdW5zaWduZWQgY291bnQgPSAwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJlc29sdmVyLmgKaW5kZXggYjY1M2U4NDQ0MTgzMWY1NDZkOWI3NDEwMmM5NTllNTc5YmQ0
YTdkOC4uMmRiYjUxYTljZjAwNTA5MjlhYmYzMjViMzM4M2I1ODdhNzRmNzFiOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSZXNvbHZlci5oCkBAIC00ODIsNiArNDgyLDcgQEAgcHJpdmF0ZToKICAgICBS
ZW5kZXJSZWdpb24qIG1fcmVnaW9uRm9yU3R5bGluZzsKICAgICBFSW5zaWRlTGluayBtX2VsZW1l
bnRMaW5rU3RhdGU7CiAgICAgQ29udGFpbmVyTm9kZSogbV9wYXJlbnROb2RlOworICAgIGJvb2wg
bV9lbGVtZW50RGlzdHJpYnV0ZWQ7CiAgICAgQ1NTVmFsdWUqIG1fbGluZUhlaWdodFZhbHVlOwog
ICAgIGJvb2wgbV9mb250RGlydHk7CiAgICAgYm9vbCBtX21hdGNoQXV0aG9yQW5kVXNlclN0eWxl
czsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCA2MDgxNTY5NTljNzQ5MmI5N2ZkYzE0YjIwYzkwNDI1OGM0NjI1YWNhLi44MTQx
YjQ0MzI1M2RhYzYzYTc4NzZmMDY1NmY4NDcyNzQ3YTQwNDE5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTItMDctMDYgIFRha2FzaGkgU2FrYW1vdG8gIDx0YXNha0Bnb29nbGUuY29tPgorCisg
ICAgICAgIFtTaGFkb3ddIGRpc3RyaWJ1dGUgbm9kZXMgZG9uJ3QgaW5oZXJpdCBzdHlsZXMgZnJv
bSBwYXJlbnROb2RlRm9yUmVuZGVyaW5nQW5kU3R5bGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDY2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3N0eWxlLW9mLWRpc3Ry
aWJ1dGVkLW5vZGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFk
b3cvc3R5bGUtb2YtZGlzdHJpYnV0ZWQtbm9kZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2RvbS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0OgorICAgICAg
ICBBcyB0aGlzIHBhdGNoIGFsc28gY2hhbmdlIHRoZSB1c2VyLW1vZGlmeS1pbmhlcml0YW5jZSdz
IHRlc3QgcmVzdWx0LAorICAgICAgICB1cGRhdGVkIHRoZSBleHBlY3RlZCByZXN1bHQuCisKIDIw
MTItMDctMDggIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLCBjaGVja2luZyBpbiBwbGF0Zm9ybSByZXN1bHRzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxlLW9mLWRpc3RyaWJ1dGVkLW5vZGUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxlLW9mLWRpc3RyaWJ1dGVkLW5v
ZGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVlODNlMWM0MDdmOWE0MmQ3MDU0YzZiNjE1ZDBh
OWVlYTIzNmZhYjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc3R5bGUtb2YtZGlzdHJpYnV0ZWQtbm9kZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBA
QAorVGVzdHMgdG8gZW5zdXJlIHRoYXQgc3R5bGVzIG9mIGRpc3RyaWJ1dGVkIG5vZGVzIGFyZSBk
aWZmZXJlbnQgaWYgdGhlaXIgcGFyZW50IHN0eWxlcyBhcmUgZGlmZmVyZW50LgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworCisKK1BBU1MgZ2V0Q29sb3JQcm9wZXJ0eSgiY2hpbGQt
YSIpIGlzICJyZ2IoMjU1LCAwLCAwKSIKK1BBU1MgZ2V0Q29sb3JQcm9wZXJ0eSgiY2hpbGQtYiIp
IGlzICJyZ2IoMCwgMCwgMjU1KSIKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKKworCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9zdHlsZS1vZi1kaXN0cmlidXRlZC1ub2RlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc3R5bGUtb2YtZGlzdHJpYnV0ZWQtbm9kZS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM4
ZDhiMzI4MzFmZGI4YzVlZTdiMjMzMWZjNWFlNTdmYWRkYzUyZjAKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUtb2YtZGlzdHJpYnV0ZWQtbm9kZS5o
dG1sCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvcG9seWZpbGwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgor
ZnVuY3Rpb24gZ2V0Q29sb3JQcm9wZXJ0eShpZCkgeworICAgIHJldHVybiB3aW5kb3cuZ2V0Q29t
cHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCkpLmNvbG9yOworfQorCitmdW5j
dGlvbiBsb2cobWVzc2FnZSkgeworICAgIHZhciBjb25zb2xlID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2NvbnNvbGUnKTsKKyAgICBjb25zb2xlLmlubmVySFRNTCArPSBtZXNzYWdlICsgJ1xu
JzsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cHJlIGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxkaXYgaWQ9InRlc3QiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyB0
byBlbnN1cmUgdGhhdCBzdHlsZXMgb2YgZGlzdHJpYnV0ZWQgbm9kZXMgYXJlIGRpZmZlcmVudCBp
ZiB0aGVpciBwYXJlbnQgc3R5bGVzIGFyZSBkaWZmZXJlbnQuIik7CisKK2lmICh3aW5kb3cudGVz
dFJ1bm5lcikKKyAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKK3ZhciBkaXYgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKK2Rpdi5zZXRBdHRyaWJ1dGUoJ2lkJywgJ2hvc3QnKTsK
K2Rpdi5zdHlsZS5jb2xvciA9ICdyZWQnOworZGl2LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJjaGls
ZC1hIj48L2Rpdj48ZGl2IGlkPSJjaGlsZC1iIj48L2Rpdj4nOworCit2YXIgc3IgPSBuZXcgV2Vi
S2l0U2hhZG93Um9vdChkaXYpOworc3IuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iI2No
aWxkLWEiPjwvY29udGVudD48ZGl2IHN0eWxlPSJjb2xvcjogYmx1ZSI+PGNvbnRlbnQgc2VsZWN0
PSIjY2hpbGQtYiI+PC9jb250ZW50PjwvZGl2Pic7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
dGVzdCcpLmFwcGVuZENoaWxkKGRpdik7CisKK3Nob3VsZEJlKCdnZXRDb2xvclByb3BlcnR5KCJj
aGlsZC1hIiknLCAnInJnYigyNTUsIDAsIDApIicpOworc2hvdWxkQmUoJ2dldENvbG9yUHJvcGVy
dHkoImNoaWxkLWIiKScsICcicmdiKDAsIDAsIDI1NSkiJyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy91c2Vy
LW1vZGlmeS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvdXNlci1tb2RpZnktaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CmluZGV4IGM3NmUxMGQ4
MTE5ZWYwNjY4ZjBjZGI4MTZkNGQxNTU0NjA5M2M0MzcuLjdhZjI0YzlkYjUwMDI3MjZkYTg0NGJh
N2NmYzE2M2RjZTcyOGJkYzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy91c2VyLW1vZGlmeS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3VzZXItbW9kaWZ5LWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dApAQCAt
MTAsNyArMTAsNyBAQCBQQVNTIGNvbXB1dGVkU3R5bGUocHJlcGFyZU5vZGVJblNoYWRvd1Jvb3Qo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vbi1jb250ZW50ZQogUEFTUyBjb21wdXRlZFN0eWxl
KHByZXBhcmVOb2RlSW5TaGFkb3dSb290KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub24tY29u
dGVudGVkaXRhYmxlLWhvc3QyIiksICJmYWxzZSIpLCB1c2VyTW9kaWZ5UHJvcGVydHlOYW1lKSBp
cyAicmVhZC1vbmx5IgogUEFTUyBjb21wdXRlZFN0eWxlKHByZXBhcmVOb2RlSW5TaGFkb3dSb290
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub24tY29udGVudGVkaXRhYmxlLWhvc3QzIiksICJ0
cnVlIiksIHVzZXJNb2RpZnlQcm9wZXJ0eU5hbWUpIGlzICJyZWFkLXdyaXRlIgogUEFTUyBnZXRV
c2VyTW9kaWZ5UHJvcGVydHkoImNoaWxkLWEiKSBpcyAicmVhZC13cml0ZSIKLVBBU1MgZ2V0VXNl
ck1vZGlmeVByb3BlcnR5KCJjaGlsZC1iIikgaXMgInJlYWQtd3JpdGUiCitGQUlMIGdldFVzZXJN
b2RpZnlQcm9wZXJ0eSgiY2hpbGQtYiIpIHNob3VsZCBiZSByZWFkLXdyaXRlLiBXYXMgcmVhZC1v
bmx5LgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151208</attachid>
            <date>2012-07-09 01:20:38 -0700</date>
            <delta_ts>2012-07-24 21:45:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90661-20120709172037.patch</filename>
            <type>text/plain</type>
            <size>8752</size>
            <attacher name="Takashi Sakamoto">tasak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyMDkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWQyYTk0YmNiNmJmNjI0
YTM4NDM0MTQ3ZWNlODIxNTFjZTk0Y2EyYy4uMzdlMGNkYWYxYzlkYWNmNDFkOGFiMTc5YzlmYWUz
MGM4MzMwYTYyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTA3LTA2ICBUYWth
c2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KKworICAgICAgICBbU2hhZG93XSBkaXN0
cmlidXRlIG5vZGVzIGRvbid0IGluaGVyaXQgc3R5bGVzIGZyb20gcGFyZW50Tm9kZUZvclJlbmRl
cmluZ0FuZFN0eWxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTA2NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBzdHlsZUZvckVsZW1lbnQgdHJpZXMgdG8gdXNlIHByZXZpb3VzIHNpYmxpbmcncyBzdHls
ZSBmb3IgZGlzdHJpYnV0ZWQKKyAgICAgICAgbm9kZXMuIEhvd2V2ZXIgZGlzdHJpYnV0ZWQgbm9k
ZXMgYXJlIGNoaWxkcmVuIG9mIGEgc2hhZG93IGhvc3QsIGJ1dAorICAgICAgICB0aGUgbm9kZXMg
YXJlIG5vdCBzaWJsaW5ncyBhcyB0aGUgcmVzdWx0IG9mIGRpc3RyaWJ1dGlvbi4KKyAgICAgICAg
VGhlIHNwZWMgaXM6CisgICAgICAgIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy93ZWJjb21wb25lbnRz
L3Jhdy1maWxlL3RpcC9zcGVjL3NoYWRvdy9pbmRleC5odG1sI3NoYWRvdy1kb20tc3VidHJlZXMK
KyAgICAgICAgU28gc2hhcmluZyBwcmV2aW91cyBzaWJsaW5nJ3Mgc3R5bGUgc2hvdWxkIGJlIGRp
c2FibGVkIGZvciBkaXN0cmJ1dGVkCisgICAgICAgIG5vZGVzLgorCisgICAgICAgIFRlc3Q6IGZh
c3QvZG9tL3NoYWRvdy9zdHlsZS1vZi1kaXN0cmlidXRlZC1ub2RlLmh0bWwKKworICAgICAgICAq
IGNzcy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6
OlN0eWxlUmVzb2x2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6aW5pdEZv
clN0eWxlUmVzb2x2ZSk6CisgICAgICAgIFNldCBtX2VsZW1lbnREaXN0cmlidXRlZCB0byBiZSB0
cnVlIGlmIHRoZSBnaXZlbiBlbGVtZW50J3MKKyAgICAgICAgTm9kZVJlbmRlcmluZ0NvbnRleHQg
aGFzIGFueSBpbnNlcnRpb24gcG9pbnQuIE90aGVyd2lzZSwga2VlcAorICAgICAgICBtX2VsZW1l
bnREaXN0cmlidXRlZCBmYWxzZS4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6Omxv
Y2F0ZVNoYXJlZFN0eWxlKToKKyAgICAgICAgTW9kaWZ5IHRvIHJldHVybiAwLCBpLmUuIGRpc2Fi
bGUgdXNpbmcgc2hhcmVkIHN0eWxlLCBpZiBtX2VsZW1lbnQgaXMKKyAgICAgICAgYSBkaXN0cmli
dXRlZCBub2RlLgorICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmg6CisgICAgICAgIChTdHls
ZVJlc29sdmVyKToKKyAgICAgICAgQWRkZWQgYSBuZXcgbWVtYmVyIHZhcmlhYmxlLCBtX2VsZW1l
bnREaXN0cmlidXRlZCwgd2hpY2ggdGVsbHMKKyAgICAgICAgd2hldGhlciBtX2VsZW1lbnQgaXMg
YSBkaXN0cmlidXRlZCBub2RlIG9yIG5vdC4KKwogMjAxMi0wNy0wOCAgWW9zaGlmdW1pIElub3Vl
ICA8eW9zaW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtQbGF0Zm9ybS1NYWNdIERlcml2ZSBM
b2NhbGVNYWMue2NwcCxofSBhbmQgTG9jYWxpemVkRGF0ZU1hYy5jcHAgZnJvbSBMb2NhbGVXaW4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRleCA4YmM1ZWZlZTgxMjI2NjdhNTVm
MjA5MDkyMDJlMmI5M2QzZmQwMGNjLi44MzgyZjgwMTA0NDM2ODJlYzIyOGM4NWYzNzgwNmM3Zjkx
MmEyYzFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0zNjQsNiArMzY0
LDcgQEAgU3R5bGVSZXNvbHZlcjo6U3R5bGVSZXNvbHZlcihEb2N1bWVudCogZG9jdW1lbnQsIGJv
b2wgbWF0Y2hBdXRob3JBbmRVc2VyU3R5bGVzKQogICAgICwgbV9yZWdpb25Gb3JTdHlsaW5nKDAp
CiAgICAgLCBtX2VsZW1lbnRMaW5rU3RhdGUoTm90SW5zaWRlTGluaykKICAgICAsIG1fcGFyZW50
Tm9kZSgwKQorICAgICwgbV9lbGVtZW50RGlzdHJpYnV0ZWQoZmFsc2UpCiAgICAgLCBtX2xpbmVI
ZWlnaHRWYWx1ZSgwKQogICAgICwgbV9mb250RGlydHkoZmFsc2UpCiAgICAgLCBtX21hdGNoQXV0
aG9yQW5kVXNlclN0eWxlcyhtYXRjaEF1dGhvckFuZFVzZXJTdHlsZXMpCkBAIC0xMjA1LDkgKzEy
MDYsMTEgQEAgaW5saW5lIHZvaWQgU3R5bGVSZXNvbHZlcjo6aW5pdEZvclN0eWxlUmVzb2x2ZShF
bGVtZW50KiBlLCBSZW5kZXJTdHlsZSogcGFyZW50U3QKICAgICAgICAgbV9wYXJlbnRTdHlsZSA9
IGNvbnRleHQucmVzZXRTdHlsZUluaGVyaXRhbmNlKCk/IDAgOgogICAgICAgICAgICAgcGFyZW50
U3R5bGUgPyBwYXJlbnRTdHlsZSA6CiAgICAgICAgICAgICBtX3BhcmVudE5vZGUgPyBtX3BhcmVu
dE5vZGUtPnJlbmRlclN0eWxlKCkgOiAwOworICAgICAgICBtX2VsZW1lbnREaXN0cmlidXRlZCA9
ICEhY29udGV4dC5pbnNlcnRpb25Qb2ludCgpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIG1fcGFy
ZW50Tm9kZSA9IDA7CiAgICAgICAgIG1fcGFyZW50U3R5bGUgPSBwYXJlbnRTdHlsZTsKKyAgICAg
ICAgbV9lbGVtZW50RGlzdHJpYnV0ZWQgPSBmYWxzZTsKICAgICB9CiAKICAgICBOb2RlKiBkb2NF
bGVtZW50ID0gZSA/IGUtPmRvY3VtZW50KCktPmRvY3VtZW50RWxlbWVudCgpIDogMDsKQEAgLTE1
MjAsNiArMTUyMyw4IEBAIFJlbmRlclN0eWxlKiBTdHlsZVJlc29sdmVyOjpsb2NhdGVTaGFyZWRT
dHlsZSgpCiAgICAgaWYgKG1fc3R5bGVkRWxlbWVudC0+aGFzU2NvcGVkSFRNTFN0eWxlQ2hpbGQo
KSkKICAgICAgICAgcmV0dXJuIDA7CiAjZW5kaWYKKyAgICBpZiAobV9lbGVtZW50RGlzdHJpYnV0
ZWQpCisgICAgICAgIHJldHVybiAwOwogCiAgICAgLy8gQ2hlY2sgcHJldmlvdXMgc2libGluZ3Mg
YW5kIHRoZWlyIGNvdXNpbnMuCiAgICAgdW5zaWduZWQgY291bnQgPSAwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJlc29sdmVyLmgKaW5kZXggYjY1M2U4NDQ0MTgzMWY1NDZkOWI3NDEwMmM5NTllNTc5YmQ0
YTdkOC4uMmRiYjUxYTljZjAwNTA5MjlhYmYzMjViMzM4M2I1ODdhNzRmNzFiOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSZXNvbHZlci5oCkBAIC00ODIsNiArNDgyLDcgQEAgcHJpdmF0ZToKICAgICBS
ZW5kZXJSZWdpb24qIG1fcmVnaW9uRm9yU3R5bGluZzsKICAgICBFSW5zaWRlTGluayBtX2VsZW1l
bnRMaW5rU3RhdGU7CiAgICAgQ29udGFpbmVyTm9kZSogbV9wYXJlbnROb2RlOworICAgIGJvb2wg
bV9lbGVtZW50RGlzdHJpYnV0ZWQ7CiAgICAgQ1NTVmFsdWUqIG1fbGluZUhlaWdodFZhbHVlOwog
ICAgIGJvb2wgbV9mb250RGlydHk7CiAgICAgYm9vbCBtX21hdGNoQXV0aG9yQW5kVXNlclN0eWxl
czsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCA2MDgxNTY5NTljNzQ5MmI5N2ZkYzE0YjIwYzkwNDI1OGM0NjI1YWNhLi4zMzRj
YmU4MDFhM2U4YzlmMTJkNmYzYjQ5ZDliOGJjNTQ1M2Y4MzUwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTItMDctMDYgIFRha2FzaGkgU2FrYW1vdG8gIDx0YXNha0Bnb29nbGUuY29tPgorCisg
ICAgICAgIFtTaGFkb3ddIGRpc3RyaWJ1dGUgbm9kZXMgZG9uJ3QgaW5oZXJpdCBzdHlsZXMgZnJv
bSBwYXJlbnROb2RlRm9yUmVuZGVyaW5nQW5kU3R5bGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDY2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3N0eWxlLW9mLWRpc3Ry
aWJ1dGVkLW5vZGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFk
b3cvc3R5bGUtb2YtZGlzdHJpYnV0ZWQtbm9kZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2RvbS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0OgorICAgICAg
ICBBcyB0aGlzIHBhdGNoIGFsc28gY2hhbmdlIHRoZSB1c2VyLW1vZGlmeS1pbmhlcml0YW5jZSdz
IHRlc3QgcmVzdWx0LAorICAgICAgICB1cGRhdGVkIHRoZSBleHBlY3RlZCByZXN1bHQuCisgICAg
ICAgICogZmFzdC9kb20vc2hhZG93L3VzZXItbW9kaWZ5LWluaGVyaXRhbmNlLmh0bWw6CisgICAg
ICAgIEFkZGVkIEZJWE1FIGNvbW1lbnQuCisKIDIwMTItMDctMDggIEZpbGlwIFBpemxvICA8ZnBp
emxvQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBjaGVja2luZyBpbiBwbGF0Zm9y
bSByZXN1bHRzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxl
LW9mLWRpc3RyaWJ1dGVkLW5vZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3N0eWxlLW9mLWRpc3RyaWJ1dGVkLW5vZGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjVlODNlMWM0MDdmOWE0MmQ3MDU0YzZiNjE1ZDBhOWVlYTIzNmZhYjkKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUtb2YtZGlzdHJpYnV0ZWQtbm9k
ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGVzdHMgdG8gZW5zdXJlIHRoYXQgc3R5
bGVzIG9mIGRpc3RyaWJ1dGVkIG5vZGVzIGFyZSBkaWZmZXJlbnQgaWYgdGhlaXIgcGFyZW50IHN0
eWxlcyBhcmUgZGlmZmVyZW50LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworCisK
K1BBU1MgZ2V0Q29sb3JQcm9wZXJ0eSgiY2hpbGQtYSIpIGlzICJyZ2IoMjU1LCAwLCAwKSIKK1BB
U1MgZ2V0Q29sb3JQcm9wZXJ0eSgiY2hpbGQtYiIpIGlzICJyZ2IoMCwgMCwgMjU1KSIKKworUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKKworCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zdHlsZS1vZi1kaXN0cmlidXRl
ZC1ub2RlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUtb2YtZGlzdHJp
YnV0ZWQtbm9kZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM4ZDhiMzI4MzFmZGI4YzVlZTdiMjMzMWZjNWFl
NTdmYWRkYzUyZjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc3R5bGUtb2YtZGlzdHJpYnV0ZWQtbm9kZS5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcG9seWZp
bGwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gZ2V0Q29sb3JQcm9wZXJ0eShp
ZCkgeworICAgIHJldHVybiB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZChpZCkpLmNvbG9yOworfQorCitmdW5jdGlvbiBsb2cobWVzc2FnZSkgeworICAgIHZh
ciBjb25zb2xlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKTsKKyAgICBjb25z
b2xlLmlubmVySFRNTCArPSBtZXNzYWdlICsgJ1xuJzsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cHJlIGlkPSJjb25zb2xlIj48L2Rpdj4KKzxkaXYgaWQ9InRlc3QiPjwvZGl2Pgor
PHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyB0byBlbnN1cmUgdGhhdCBzdHlsZXMgb2YgZGlz
dHJpYnV0ZWQgbm9kZXMgYXJlIGRpZmZlcmVudCBpZiB0aGVpciBwYXJlbnQgc3R5bGVzIGFyZSBk
aWZmZXJlbnQuIik7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7CisKK3ZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKK2Rp
di5zZXRBdHRyaWJ1dGUoJ2lkJywgJ2hvc3QnKTsKK2Rpdi5zdHlsZS5jb2xvciA9ICdyZWQnOwor
ZGl2LmlubmVySFRNTCA9ICc8ZGl2IGlkPSJjaGlsZC1hIj48L2Rpdj48ZGl2IGlkPSJjaGlsZC1i
Ij48L2Rpdj4nOworCit2YXIgc3IgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworc3IuaW5u
ZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0iI2NoaWxkLWEiPjwvY29udGVudD48ZGl2IHN0eWxl
PSJjb2xvcjogYmx1ZSI+PGNvbnRlbnQgc2VsZWN0PSIjY2hpbGQtYiI+PC9jb250ZW50PjwvZGl2
Pic7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdCcpLmFwcGVuZENoaWxkKGRpdik7CisK
K3Nob3VsZEJlKCdnZXRDb2xvclByb3BlcnR5KCJjaGlsZC1hIiknLCAnInJnYigyNTUsIDAsIDAp
IicpOworc2hvdWxkQmUoJ2dldENvbG9yUHJvcGVydHkoImNoaWxkLWIiKScsICcicmdiKDAsIDAs
IDI1NSkiJyk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy91c2VyLW1vZGlmeS1pbmhlcml0YW5jZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJpdGFu
Y2UtZXhwZWN0ZWQudHh0CmluZGV4IGM3NmUxMGQ4MTE5ZWYwNjY4ZjBjZGI4MTZkNGQxNTU0NjA5
M2M0MzcuLjdhZjI0YzlkYjUwMDI3MjZkYTg0NGJhN2NmYzE2M2RjZTcyOGJkYzQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy91c2VyLW1vZGlmeS1pbmhlcml0YW5jZS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3VzZXItbW9kaWZ5
LWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dApAQCAtMTAsNyArMTAsNyBAQCBQQVNTIGNvbXB1dGVk
U3R5bGUocHJlcGFyZU5vZGVJblNoYWRvd1Jvb3QoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5v
bi1jb250ZW50ZQogUEFTUyBjb21wdXRlZFN0eWxlKHByZXBhcmVOb2RlSW5TaGFkb3dSb290KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJub24tY29udGVudGVkaXRhYmxlLWhvc3QyIiksICJmYWxz
ZSIpLCB1c2VyTW9kaWZ5UHJvcGVydHlOYW1lKSBpcyAicmVhZC1vbmx5IgogUEFTUyBjb21wdXRl
ZFN0eWxlKHByZXBhcmVOb2RlSW5TaGFkb3dSb290KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJu
b24tY29udGVudGVkaXRhYmxlLWhvc3QzIiksICJ0cnVlIiksIHVzZXJNb2RpZnlQcm9wZXJ0eU5h
bWUpIGlzICJyZWFkLXdyaXRlIgogUEFTUyBnZXRVc2VyTW9kaWZ5UHJvcGVydHkoImNoaWxkLWEi
KSBpcyAicmVhZC13cml0ZSIKLVBBU1MgZ2V0VXNlck1vZGlmeVByb3BlcnR5KCJjaGlsZC1iIikg
aXMgInJlYWQtd3JpdGUiCitGQUlMIGdldFVzZXJNb2RpZnlQcm9wZXJ0eSgiY2hpbGQtYiIpIHNo
b3VsZCBiZSByZWFkLXdyaXRlLiBXYXMgcmVhZC1vbmx5LgogUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJpdGFuY2UuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy91c2VyLW1vZGlmeS1pbmhlcml0YW5jZS5odG1sCmluZGV4IDRlYTBjNmFl
MDA0YjY1NTU5NTg1YWFjZDY0NWE3ODk1N2JjZmRmMWMuLmI0NDkzMzVmZWMwMDRlNDA5NWRhMzFi
NzUxNDdjYzE4NzdmNjQ5MDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy91c2VyLW1vZGlmeS1pbmhlcml0YW5jZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy91c2VyLW1vZGlmeS1pbmhlcml0YW5jZS5odG1sCkBAIC02Miw2ICs2Miw3IEBAIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdzYW5kYm94JykuYXBwZW5kQ2hpbGQoCiBkb2N1bWVudC5i
b2R5Lm9mZnNldExlZnQ7CiAKIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlck1vZGlmeVBy
b3BlcnR5KCJjaGlsZC1hIiknLCAncmVhZC13cml0ZScpOworLyogRklYTUUoOTAwMTcpOiBjc3Mg
cHJvcGVydHk6IC11c2VyLW1vZGlmeSBzaG91bGQgYmUgaW5oZXJpdGVkIGZyb20gcGFyZW50Liov
CiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJNb2RpZnlQcm9wZXJ0eSgiY2hpbGQtYiIp
JywgJ3JlYWQtd3JpdGUnKTsKIAogPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154245</attachid>
            <date>2012-07-24 21:45:06 -0700</date>
            <delta_ts>2012-08-15 02:03:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90661-20120725134456.patch</filename>
            <type>text/plain</type>
            <size>7790</size>
            <attacher name="Takashi Sakamoto">tasak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTk0OTlhNGQwNjlmMzky
YTBlMjAzNTA2Y2M4NDRiNWNmN2QxMjNmNS4uYzY1ZmIyZGI3MWQwNmUxZTVjMTc4NzQ2MTk3OTA0
NDkwM2I1NTUwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA3LTA2ICBUYWth
c2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KKworICAgICAgICBbU2hhZG93XSBkaXN0
cmlidXRlIG5vZGVzIGRvbid0IGluaGVyaXQgc3R5bGVzIGZyb20gcGFyZW50Tm9kZUZvclJlbmRl
cmluZ0FuZFN0eWxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTA2NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBzdHlsZUZvckVsZW1lbnQgdHJpZXMgdG8gdXNlIHByZXZpb3VzIHNpYmxpbmcncyBzdHls
ZSBmb3IgZGlzdHJpYnV0ZWQKKyAgICAgICAgbm9kZXMuIEhvd2V2ZXIgZGlzdHJpYnV0ZWQgbm9k
ZXMgYXJlIGNoaWxkcmVuIG9mIGEgc2hhZG93IGhvc3QsIGJ1dAorICAgICAgICB0aGUgbm9kZXMg
YXJlIG5vdCBzaWJsaW5ncyBhcyB0aGUgcmVzdWx0IG9mIGRpc3RyaWJ1dGlvbi4KKyAgICAgICAg
VGhlIHNwZWMgaXM6CisgICAgICAgIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy93ZWJjb21wb25lbnRz
L3Jhdy1maWxlL3RpcC9zcGVjL3NoYWRvdy9pbmRleC5odG1sI3NoYWRvdy1kb20tc3VidHJlZXMK
KyAgICAgICAgU28gc2hhcmluZyBwcmV2aW91cyBzaWJsaW5nJ3Mgc3R5bGUgc2hvdWxkIGJlIGRp
c2FibGVkIGZvciBkaXN0cmJ1dGVkCisgICAgICAgIG5vZGVzLgorCisgICAgICAgIFRlc3Q6IGZh
c3QvZG9tL3NoYWRvdy9zdHlsZS1vZi1kaXN0cmlidXRlZC1ub2RlLmh0bWwKKworICAgICAgICAq
IGNzcy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6
OnN0eWxlRm9yRWxlbWVudCk6CisgICAgICAgIE1vZGlmeSB0aGUgY29uZGl0aW9uIHdoZXRoZXIg
dG8gY2hlY2sgc2hhcmVkIHN0eWxlcyBvciBub3QuIElmIHRoZSBnaXZlbgorICAgICAgICBlbGVt
ZW50IGlzIGRpc3RyaWJ1dGVkLCBub3cgU3R5bGVSZXNvbHZlciBkb2Vzbid0IGNoZWNrIHNoYXJl
ZCBzdHlsZXMuCisKIDIwMTItMDctMjQgIEFsZWMgRmxldHQgIDxhbGVjZmxldHRAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIEluZGV4ZWREQjogZml4ICNpbmNsdWRlIGRlcGVuZGVuY2llcyBzbyBJ
REJSZXF1ZXN0IGlzbid0IGFuIGluY2x1ZGUgcm9vdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2
ZXIuY3BwCmluZGV4IGU1NWU0MGM1ODViM2NlMTkzMGU1M2Y2NTFjOGQzZmY2Y2U2Mzg1OTYuLjg2
ZGExMDYxNzBjNWY4MThkN2M2NzNmMGNhYjZmN2IyMjA5ZmRhM2MgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVSZXNvbHZlci5jcHAKQEAgLTYwLDYgKzYwLDcgQEAKICNpbmNsdWRlICJDb3VudGVyLmgi
CiAjaW5jbHVkZSAiQ291bnRlckNvbnRlbnQuaCIKICNpbmNsdWRlICJDdXJzb3JMaXN0LmgiCisj
aW5jbHVkZSAiRWxlbWVudFNoYWRvdy5oIgogI2luY2x1ZGUgIkZvbnRGZWF0dXJlVmFsdWUuaCIK
ICNpbmNsdWRlICJGb250VmFsdWUuaCIKICNpbmNsdWRlICJGcmFtZS5oIgpAQCAtMTcxMiw4ICsx
NzEzLDE0IEBAIFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IFN0eWxlUmVzb2x2ZXI6OnN0eWxlRm9y
RWxlbWVudChFbGVtZW50KiBlbGVtZW50LCBSZW5kZXJTCiAKICAgICBpbml0RWxlbWVudChlbGVt
ZW50KTsKICAgICBpbml0Rm9yU3R5bGVSZXNvbHZlKGVsZW1lbnQsIGRlZmF1bHRQYXJlbnQpOwor
CisgICAgYm9vbCBlbGVtZW50SXNEaXN0cmlidXRlZCA9IGZhbHNlOworICAgIGlmIChFbGVtZW50
KiBwYXJlbnRFbGVtZW50ID0gZWxlbWVudC0+cGFyZW50RWxlbWVudCgpKQorICAgICAgICBpZiAo
RWxlbWVudFNoYWRvdyogc2hhZG93ID0gcGFyZW50RWxlbWVudC0+c2hhZG93KCkpCisgICAgICAg
ICAgICBlbGVtZW50SXNEaXN0cmlidXRlZCA9ICEhc2hhZG93LT5pbnNlcnRpb25Qb2ludEZvcihl
bGVtZW50KTsKKwogICAgIG1fcmVnaW9uRm9yU3R5bGluZyA9IHJlZ2lvbkZvclN0eWxpbmc7Ci0g
ICAgaWYgKHNoYXJpbmdCZWhhdmlvciA9PSBBbGxvd1N0eWxlU2hhcmluZykgeworICAgIGlmIChz
aGFyaW5nQmVoYXZpb3IgPT0gQWxsb3dTdHlsZVNoYXJpbmcgJiYgIWVsZW1lbnRJc0Rpc3RyaWJ1
dGVkKSB7CiAgICAgICAgIFJlbmRlclN0eWxlKiBzaGFyZWRTdHlsZSA9IGxvY2F0ZVNoYXJlZFN0
eWxlKCk7CiAgICAgICAgIGlmIChzaGFyZWRTdHlsZSkKICAgICAgICAgICAgIHJldHVybiBzaGFy
ZWRTdHlsZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA5MWYzOGZiMWVlMjZlMzFhNzNiNmNhYmUwZjNkNzM0OWVjODg1MjQy
Li5mNDFmMWQxM2IyMTMwNmI4ODEwNDdkMjQ0NDI2NTI2NTVhMmFkZGFiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0yOTUs
NiArMjk1LDIxIEBACiAgICAgICAgICogZmFzdC9mb3Jtcy9yZXNvdXJjZXMvY29tbW9uLWNoYW5n
ZS10eXBlLW9uLWZvY3VzLmpzOiBSZW1vdmUgSFRNTCBtYXJrdXAgdGV4dC4KICAgICAgICAgKiBm
YXN0L2Zvcm1zL3Jlc291cmNlcy9jb21tb24tbG9zaW5nLXJlbmRlcmVyLW9uLWNsaWNrLmpzOiBS
ZW1vdmUgSFRNTCBtYXJrdXAgdGV4dC4KIAorMjAxMi0wNy0wNiAgVGFrYXNoaSBTYWthbW90byAg
PHRhc2FrQGdvb2dsZS5jb20+CisKKyAgICAgICAgW1NoYWRvd10gZGlzdHJpYnV0ZSBub2RlcyBk
b24ndCBpbmhlcml0IHN0eWxlcyBmcm9tIHBhcmVudE5vZGVGb3JSZW5kZXJpbmdBbmRTdHlsZS4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwNjYxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvc3R5bGUtb2YtZGlzdHJpYnV0ZWQtbm9kZS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zdHlsZS1vZi1kaXN0cmlidXRlZC1ub2RlLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy91c2VyLW1vZGlmeS1pbmhlcml0YW5j
ZS1leHBlY3RlZC50eHQ6CisgICAgICAgIEFzIHRoaXMgcGF0Y2ggYWxzbyBjaGFuZ2UgdGhlIHVz
ZXItbW9kaWZ5LWluaGVyaXRhbmNlJ3MgdGVzdCByZXN1bHQsCisgICAgICAgIHVwZGF0ZWQgdGhl
IGV4cGVjdGVkIHJlc3VsdC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvdXNlci1tb2RpZnkt
aW5oZXJpdGFuY2UuaHRtbDoKKyAgICAgICAgQWRkZWQgRklYTUUgY29tbWVudC4KKwogMjAxMi0w
Ny0yNCAgQ2FpbyBNYXJjZWxvIGRlIE9saXZlaXJhIEZpbGhvICA8Y2Fpby5vbGl2ZWlyYUBvcGVu
Ym9zc2Eub3JnPgogCiAgICAgICAgIFtRdF0gY3NzMi4xL3QxNzA2MDIqIHJlYmFzZWxpbmUgYWZ0
ZXIgbmV3IHRlc3QgZm9udHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zdHlsZS1vZi1kaXN0cmlidXRlZC1ub2RlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zdHlsZS1vZi1kaXN0cmlidXRlZC1ub2RlLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi41ZTgzZTFjNDA3ZjlhNDJkNzA1NGM2YjYxNWQwYTllZWEyMzZmYWI5Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxlLW9mLWRpc3RyaWJ1
dGVkLW5vZGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1Rlc3RzIHRvIGVuc3VyZSB0
aGF0IHN0eWxlcyBvZiBkaXN0cmlidXRlZCBub2RlcyBhcmUgZGlmZmVyZW50IGlmIHRoZWlyIHBh
cmVudCBzdHlsZXMgYXJlIGRpZmZlcmVudC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKKworCitQQVNTIGdldENvbG9yUHJvcGVydHkoImNoaWxkLWEiKSBpcyAicmdiKDI1NSwgMCwg
MCkiCitQQVNTIGdldENvbG9yUHJvcGVydHkoImNoaWxkLWIiKSBpcyAicmdiKDAsIDAsIDI1NSki
CisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCisK
KworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUtb2YtZGlz
dHJpYnV0ZWQtbm9kZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxlLW9m
LWRpc3RyaWJ1dGVkLW5vZGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOGQ4YjMyODMxZmRiOGM1ZWU3YjIz
MzFmYzVhZTU3ZmFkZGM1MmYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3N0eWxlLW9mLWRpc3RyaWJ1dGVkLW5vZGUuaHRtbApAQCAtMCwwICsxLDQwIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L3BvbHlmaWxsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIGdldENvbG9yUHJv
cGVydHkoaWQpIHsKKyAgICByZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoaWQpKS5jb2xvcjsKK30KKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpIHsK
KyAgICB2YXIgY29uc29sZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25zb2xlJyk7Cisg
ICAgY29uc29sZS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICdcbic7Cit9Cis8L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPHByZSBpZD0iY29uc29sZSI+PC9kaXY+Cis8ZGl2IGlkPSJ0ZXN0Ij48
L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdG8gZW5zdXJlIHRoYXQgc3R5bGVz
IG9mIGRpc3RyaWJ1dGVkIG5vZGVzIGFyZSBkaWZmZXJlbnQgaWYgdGhlaXIgcGFyZW50IHN0eWxl
cyBhcmUgZGlmZmVyZW50LiIpOworCitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOworCit2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2
Jyk7CitkaXYuc2V0QXR0cmlidXRlKCdpZCcsICdob3N0Jyk7CitkaXYuc3R5bGUuY29sb3IgPSAn
cmVkJzsKK2Rpdi5pbm5lckhUTUwgPSAnPGRpdiBpZD0iY2hpbGQtYSI+PC9kaXY+PGRpdiBpZD0i
Y2hpbGQtYiI+PC9kaXY+JzsKKwordmFyIHNyID0gbmV3IFdlYktpdFNoYWRvd1Jvb3QoZGl2KTsK
K3NyLmlubmVySFRNTCA9ICc8Y29udGVudCBzZWxlY3Q9IiNjaGlsZC1hIj48L2NvbnRlbnQ+PGRp
diBzdHlsZT0iY29sb3I6IGJsdWUiPjxjb250ZW50IHNlbGVjdD0iI2NoaWxkLWIiPjwvY29udGVu
dD48L2Rpdj4nOworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QnKS5hcHBlbmRDaGlsZChk
aXYpOworCitzaG91bGRCZSgnZ2V0Q29sb3JQcm9wZXJ0eSgiY2hpbGQtYSIpJywgJyJyZ2IoMjU1
LCAwLCAwKSInKTsKK3Nob3VsZEJlKCdnZXRDb2xvclByb3BlcnR5KCJjaGlsZC1iIiknLCAnInJn
YigwLCAwLCAyNTUpIicpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJpdGFuY2Ut
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3VzZXItbW9kaWZ5LWlu
aGVyaXRhbmNlLWV4cGVjdGVkLnR4dAppbmRleCBjNzZlMTBkODExOWVmMDY2OGYwY2RiODE2ZDRk
MTU1NDYwOTNjNDM3Li43YWYyNGM5ZGI1MDAyNzI2ZGE4NDRiYTdjZmMxNjNkY2U3MjhiZGM0IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJp
dGFuY2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy91c2Vy
LW1vZGlmeS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKQEAgLTEwLDcgKzEwLDcgQEAgUEFTUyBj
b21wdXRlZFN0eWxlKHByZXBhcmVOb2RlSW5TaGFkb3dSb290KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJub24tY29udGVudGUKIFBBU1MgY29tcHV0ZWRTdHlsZShwcmVwYXJlTm9kZUluU2hhZG93
Um9vdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm9uLWNvbnRlbnRlZGl0YWJsZS1ob3N0MiIp
LCAiZmFsc2UiKSwgdXNlck1vZGlmeVByb3BlcnR5TmFtZSkgaXMgInJlYWQtb25seSIKIFBBU1Mg
Y29tcHV0ZWRTdHlsZShwcmVwYXJlTm9kZUluU2hhZG93Um9vdChkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgibm9uLWNvbnRlbnRlZGl0YWJsZS1ob3N0MyIpLCAidHJ1ZSIpLCB1c2VyTW9kaWZ5UHJv
cGVydHlOYW1lKSBpcyAicmVhZC13cml0ZSIKIFBBU1MgZ2V0VXNlck1vZGlmeVByb3BlcnR5KCJj
aGlsZC1hIikgaXMgInJlYWQtd3JpdGUiCi1QQVNTIGdldFVzZXJNb2RpZnlQcm9wZXJ0eSgiY2hp
bGQtYiIpIGlzICJyZWFkLXdyaXRlIgorRkFJTCBnZXRVc2VyTW9kaWZ5UHJvcGVydHkoImNoaWxk
LWIiKSBzaG91bGQgYmUgcmVhZC13cml0ZS4gV2FzIHJlYWQtb25seS4KIFBBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3VzZXItbW9kaWZ5LWluaGVyaXRhbmNlLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJpdGFuY2UuaHRtbAppbmRleCA0
ZWEwYzZhZTAwNGI2NTU1OTU4NWFhY2Q2NDVhNzg5NTdiY2ZkZjFjLi5iNDQ5MzM1ZmVjMDA0ZTQw
OTVkYTMxYjc1MTQ3Y2MxODc3ZjY0OTA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJpdGFuY2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJpdGFuY2UuaHRtbApAQCAtNjIsNiArNjIs
NyBAQCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2FuZGJveCcpLmFwcGVuZENoaWxkKAogZG9j
dW1lbnQuYm9keS5vZmZzZXRMZWZ0OwogCiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJN
b2RpZnlQcm9wZXJ0eSgiY2hpbGQtYSIpJywgJ3JlYWQtd3JpdGUnKTsKKy8qIEZJWE1FKDkwMDE3
KTogY3NzIHByb3BlcnR5OiAtdXNlci1tb2RpZnkgc2hvdWxkIGJlIGluaGVyaXRlZCBmcm9tIHBh
cmVudC4qLwogc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRVc2VyTW9kaWZ5UHJvcGVydHkoImNo
aWxkLWIiKScsICdyZWFkLXdyaXRlJyk7CiAKIDwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>158514</attachid>
            <date>2012-08-15 00:15:49 -0700</date>
            <delta_ts>2012-08-20 21:26:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90661-20120815161516.patch</filename>
            <type>text/plain</type>
            <size>8382</size>
            <attacher name="Takashi Sakamoto">tasak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1NjUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGJkNmY5Njk0Nzc2OGZj
NTcwMzcwYWYzZjU5ZjdhZTg1NmEwNjRkOC4uNmZhNzA2MjdkZTFjNDA4ZWNkZTE1OTcxNTM5YWQ0
ZTdjNDQ3Mzk0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA3LTA2ICBUYWth
c2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KKworICAgICAgICBbU2hhZG93XSBkaXN0
cmlidXRlIG5vZGVzIGRvbid0IGluaGVyaXQgc3R5bGVzIGZyb20gcGFyZW50Tm9kZUZvclJlbmRl
cmluZ0FuZFN0eWxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTA2NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBzdHlsZUZvckVsZW1lbnQgdHJpZXMgdG8gdXNlIHByZXZpb3VzIHNpYmxpbmcncyBzdHls
ZSBmb3IgZGlzdHJpYnV0ZWQKKyAgICAgICAgbm9kZXMuIEhvd2V2ZXIgZGlzdHJpYnV0ZWQgbm9k
ZXMgYXJlIGNoaWxkcmVuIG9mIGEgc2hhZG93IGhvc3QsIGJ1dAorICAgICAgICB0aGUgbm9kZXMg
YXJlIG5vdCBzaWJsaW5ncyBhcyB0aGUgcmVzdWx0IG9mIGRpc3RyaWJ1dGlvbi4KKyAgICAgICAg
VGhlIHNwZWMgaXM6CisgICAgICAgIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy93ZWJjb21wb25lbnRz
L3Jhdy1maWxlL3RpcC9zcGVjL3NoYWRvdy9pbmRleC5odG1sI3NoYWRvdy1kb20tc3VidHJlZXMK
KyAgICAgICAgU28gc2hhcmluZyBwcmV2aW91cyBzaWJsaW5nJ3Mgc3R5bGUgc2hvdWxkIGJlIGRp
c2FibGVkIGZvciBkaXN0cmJ1dGVkCisgICAgICAgIG5vZGVzLgorCisgICAgICAgIFRlc3Q6IGZh
c3QvZG9tL3NoYWRvdy9zdHlsZS1vZi1kaXN0cmlidXRlZC1ub2RlLmh0bWwKKworICAgICAgICAq
IGNzcy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzRGlzdHJpYnV0ZWRU
b0luc2VydGlvblBvaW50KToKKyAgICAgICAgTmV3bHkgYWRkZWQuIEFuIGlubGluZSBzdGF0aWMg
ZnVuY3Rpb24gdG8gZmluZCB3aGV0aGVyIHRoZSBnaXZlbgorICAgICAgICBlbGVtZW50IGlzIGRp
c3RyaWJ1dGVkIHRvIGFuIGluc2VydGlvbiBwb2ludC4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxl
UmVzb2x2ZXI6OnN0eWxlRm9yRWxlbWVudCk6CisgICAgICAgIE1vZGlmeSB0aGUgY29uZGl0aW9u
IHdoZXRoZXIgdG8gY2hlY2sgc2hhcmVkIHN0eWxlcyBvciBub3QuIElmIHRoZSBnaXZlbgorICAg
ICAgICBlbGVtZW50IGlzIGRpc3RyaWJ1dGVkLCBub3cgU3R5bGVSZXNvbHZlciBkb2Vzbid0IGNo
ZWNrIHNoYXJlZCBzdHlsZXMuCisKIDIwMTItMDgtMTQgIEphbiBLZXJvbW5lcyAgPGphbnhAbGlu
dXguY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IENvZGVNaXJyb3JUZXh0RWRpdG9yIGRv
ZXNuJ3QgY2xlYXIgZXhlY3V0aW9uIGxpbmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNw
cAppbmRleCBiMWVkZmQwMmIxZjg0MzExMmFlYzI4ZDBiMzVkNmZlMjc3YTg0YjE3Li5lNzdiM2Uw
ZTJkNGQzNWRlNzg1MzE0OTExN2M1NjBmZTc3NzRmNjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UmVzb2x2ZXIuY3BwCkBAIC02MCw2ICs2MCw3IEBACiAjaW5jbHVkZSAiQ291bnRlci5oIgogI2lu
Y2x1ZGUgIkNvdW50ZXJDb250ZW50LmgiCiAjaW5jbHVkZSAiQ3Vyc29yTGlzdC5oIgorI2luY2x1
ZGUgIkVsZW1lbnRTaGFkb3cuaCIKICNpbmNsdWRlICJGb250RmVhdHVyZVZhbHVlLmgiCiAjaW5j
bHVkZSAiRm9udFZhbHVlLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKQEAgLTE3MjMsNiArMTcyNCwy
MyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNBdFNoYWRvd0JvdW5kYXJ5KGNvbnN0IEVsZW1lbnQq
IGVsZW1lbnQpCiAgICAgcmV0dXJuIHBhcmVudE5vZGUgJiYgcGFyZW50Tm9kZS0+aXNTaGFkb3dS
b290KCk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgYm9vbCBpc0Rpc3RyaWJ1dGVkVG9JbnNlcnRpb25Q
b2ludChjb25zdCBFbGVtZW50KiBlbGVtZW50KQoreworICAgIGlmICghZWxlbWVudCkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgRWxlbWVudCogcGFyZW50RWxlbWVudCA9IGVsZW1lbnQt
PnBhcmVudEVsZW1lbnQoKTsKKyAgICBpZiAoIXBhcmVudEVsZW1lbnQpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgIEVsZW1lbnRTaGFkb3cqIHNoYWRvdyA9IHBhcmVudEVsZW1lbnQtPnNo
YWRvdygpOworICAgIGlmICghc2hhZG93KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYg
KCFzaGFkb3ctPmluc2VydGlvblBvaW50Rm9yKGVsZW1lbnQpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IFN0eWxl
UmVzb2x2ZXI6OnN0eWxlRm9yRWxlbWVudChFbGVtZW50KiBlbGVtZW50LCBSZW5kZXJTdHlsZSog
ZGVmYXVsdFBhcmVudCwKICAgICBTdHlsZVNoYXJpbmdCZWhhdmlvciBzaGFyaW5nQmVoYXZpb3Is
IFJ1bGVNYXRjaGluZ0JlaGF2aW9yIG1hdGNoaW5nQmVoYXZpb3IsIFJlbmRlclJlZ2lvbiogcmVn
aW9uRm9yU3R5bGluZykKIHsKQEAgLTE3NDAsOCArMTc1OCwxMCBAQCBQYXNzUmVmUHRyPFJlbmRl
clN0eWxlPiBTdHlsZVJlc29sdmVyOjpzdHlsZUZvckVsZW1lbnQoRWxlbWVudCogZWxlbWVudCwg
UmVuZGVyUwogCiAgICAgaW5pdEVsZW1lbnQoZWxlbWVudCk7CiAgICAgaW5pdEZvclN0eWxlUmVz
b2x2ZShlbGVtZW50LCBkZWZhdWx0UGFyZW50KTsKKworICAgIGJvb2wgZGlzdHJpYnV0ZWRUb0lu
c2VydGlvblBvaW50ID0gaXNEaXN0cmlidXRlZFRvSW5zZXJ0aW9uUG9pbnQoZWxlbWVudCk7CiAg
ICAgbV9yZWdpb25Gb3JTdHlsaW5nID0gcmVnaW9uRm9yU3R5bGluZzsKLSAgICBpZiAoc2hhcmlu
Z0JlaGF2aW9yID09IEFsbG93U3R5bGVTaGFyaW5nKSB7CisgICAgaWYgKHNoYXJpbmdCZWhhdmlv
ciA9PSBBbGxvd1N0eWxlU2hhcmluZyAmJiAhZGlzdHJpYnV0ZWRUb0luc2VydGlvblBvaW50KSB7
CiAgICAgICAgIFJlbmRlclN0eWxlKiBzaGFyZWRTdHlsZSA9IGxvY2F0ZVNoYXJlZFN0eWxlKCk7
CiAgICAgICAgIGlmIChzaGFyZWRTdHlsZSkKICAgICAgICAgICAgIHJldHVybiBzaGFyZWRTdHls
ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCBmNzY0ZmY5YzZjODM3NjE0YWQ0NmMzMDc3YjEwOTQzZjhkYzU0OWIxLi4wMjU3
NDEwZjEzZGNiOTkyODA5NjVlNWVkNTExMjYzZjU0ZTkzYjBjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTItMDctMDYgIFRha2FzaGkgU2FrYW1vdG8gIDx0YXNha0Bnb29nbGUuY29tPgorCisg
ICAgICAgIFtTaGFkb3ddIGRpc3RyaWJ1dGUgbm9kZXMgZG9uJ3QgaW5oZXJpdCBzdHlsZXMgZnJv
bSBwYXJlbnROb2RlRm9yUmVuZGVyaW5nQW5kU3R5bGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDY2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3N0eWxlLW9mLWRpc3Ry
aWJ1dGVkLW5vZGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFk
b3cvc3R5bGUtb2YtZGlzdHJpYnV0ZWQtbm9kZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2RvbS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0OgorICAgICAg
ICBBcyB0aGlzIHBhdGNoIGFsc28gY2hhbmdlIHRoZSB1c2VyLW1vZGlmeS1pbmhlcml0YW5jZSdz
IHRlc3QgcmVzdWx0LAorICAgICAgICB1cGRhdGVkIHRoZSBleHBlY3RlZCByZXN1bHQuCisgICAg
ICAgICogZmFzdC9kb20vc2hhZG93L3VzZXItbW9kaWZ5LWluaGVyaXRhbmNlLmh0bWw6CisgICAg
ICAgIEFkZGVkIEZJWE1FIGNvbW1lbnQuCisKIDIwMTItMDgtMTQgIFN1a29sc2FrIFNha3NodXdv
bmcgIDxzdWtvbHNha0Bnb29nbGUuY29tPgogCiAgICAgICAgIFRleHQgc2VsZWN0aW9uIGluIHRl
eHQgYXJlYSBpbiBhdXRvIHNjcm9sbCBtb2RlIGdvZXMgd3JvbmcuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUtb2YtZGlzdHJpYnV0ZWQtbm9kZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUtb2YtZGlzdHJpYnV0ZWQt
bm9kZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWU4M2UxYzQwN2Y5YTQyZDcwNTRjNmI2MTVk
MGE5ZWVhMjM2ZmFiOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zdHlsZS1vZi1kaXN0cmlidXRlZC1ub2RlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3
IEBACitUZXN0cyB0byBlbnN1cmUgdGhhdCBzdHlsZXMgb2YgZGlzdHJpYnV0ZWQgbm9kZXMgYXJl
IGRpZmZlcmVudCBpZiB0aGVpciBwYXJlbnQgc3R5bGVzIGFyZSBkaWZmZXJlbnQuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisKKworUEFTUyBnZXRDb2xvclByb3BlcnR5KCJjaGls
ZC1hIikgaXMgInJnYigyNTUsIDAsIDApIgorUEFTUyBnZXRDb2xvclByb3BlcnR5KCJjaGlsZC1i
IikgaXMgInJnYigwLCAwLCAyNTUpIgorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKworCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3N0eWxlLW9mLWRpc3RyaWJ1dGVkLW5vZGUuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zdHlsZS1vZi1kaXN0cmlidXRlZC1ub2RlLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzhkOGIzMjgzMWZkYjhjNWVlN2IyMzMxZmM1YWU1N2ZhZGRjNTJmMAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zdHlsZS1vZi1kaXN0cmlidXRlZC1ub2Rl
Lmh0bWwKQEAgLTAsMCArMSw0MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9wb2x5ZmlsbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+
CitmdW5jdGlvbiBnZXRDb2xvclByb3BlcnR5KGlkKSB7CisgICAgcmV0dXJuIHdpbmRvdy5nZXRD
b21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSkuY29sb3I7Cit9CisKK2Z1
bmN0aW9uIGxvZyhtZXNzYWdlKSB7CisgICAgdmFyIGNvbnNvbGUgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnY29uc29sZScpOworICAgIGNvbnNvbGUuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAn
XG4nOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwcmUgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPGRpdiBpZD0idGVzdCI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3Rz
IHRvIGVuc3VyZSB0aGF0IHN0eWxlcyBvZiBkaXN0cmlidXRlZCBub2RlcyBhcmUgZGlmZmVyZW50
IGlmIHRoZWlyIHBhcmVudCBzdHlsZXMgYXJlIGRpZmZlcmVudC4iKTsKKworaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKwordmFyIGRpdiA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworZGl2LnNldEF0dHJpYnV0ZSgnaWQnLCAnaG9zdCcp
OworZGl2LnN0eWxlLmNvbG9yID0gJ3JlZCc7CitkaXYuaW5uZXJIVE1MID0gJzxkaXYgaWQ9ImNo
aWxkLWEiPjwvZGl2PjxkaXYgaWQ9ImNoaWxkLWIiPjwvZGl2Pic7CisKK3ZhciBzciA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGRpdik7Citzci5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSIj
Y2hpbGQtYSI+PC9jb250ZW50PjxkaXYgc3R5bGU9ImNvbG9yOiBibHVlIj48Y29udGVudCBzZWxl
Y3Q9IiNjaGlsZC1iIj48L2NvbnRlbnQ+PC9kaXY+JzsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCd0ZXN0JykuYXBwZW5kQ2hpbGQoZGl2KTsKKworc2hvdWxkQmUoJ2dldENvbG9yUHJvcGVydHko
ImNoaWxkLWEiKScsICcicmdiKDI1NSwgMCwgMCkiJyk7CitzaG91bGRCZSgnZ2V0Q29sb3JQcm9w
ZXJ0eSgiY2hpbGQtYiIpJywgJyJyZ2IoMCwgMCwgMjU1KSInKTsKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3Vz
ZXItbW9kaWZ5LWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy91c2VyLW1vZGlmeS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKaW5kZXggYzc2ZTEw
ZDgxMTllZjA2NjhmMGNkYjgxNmQ0ZDE1NTQ2MDkzYzQzNy4uN2FmMjRjOWRiNTAwMjcyNmRhODQ0
YmE3Y2ZjMTYzZGNlNzI4YmRjNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3VzZXItbW9kaWZ5LWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CkBA
IC0xMCw3ICsxMCw3IEBAIFBBU1MgY29tcHV0ZWRTdHlsZShwcmVwYXJlTm9kZUluU2hhZG93Um9v
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm9uLWNvbnRlbnRlCiBQQVNTIGNvbXB1dGVkU3R5
bGUocHJlcGFyZU5vZGVJblNoYWRvd1Jvb3QoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vbi1j
b250ZW50ZWRpdGFibGUtaG9zdDIiKSwgImZhbHNlIiksIHVzZXJNb2RpZnlQcm9wZXJ0eU5hbWUp
IGlzICJyZWFkLW9ubHkiCiBQQVNTIGNvbXB1dGVkU3R5bGUocHJlcGFyZU5vZGVJblNoYWRvd1Jv
b3QoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vbi1jb250ZW50ZWRpdGFibGUtaG9zdDMiKSwg
InRydWUiKSwgdXNlck1vZGlmeVByb3BlcnR5TmFtZSkgaXMgInJlYWQtd3JpdGUiCiBQQVNTIGdl
dFVzZXJNb2RpZnlQcm9wZXJ0eSgiY2hpbGQtYSIpIGlzICJyZWFkLXdyaXRlIgotUEFTUyBnZXRV
c2VyTW9kaWZ5UHJvcGVydHkoImNoaWxkLWIiKSBpcyAicmVhZC13cml0ZSIKK0ZBSUwgZ2V0VXNl
ck1vZGlmeVByb3BlcnR5KCJjaGlsZC1iIikgc2hvdWxkIGJlIHJlYWQtd3JpdGUuIFdhcyByZWFk
LW9ubHkuCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy91c2VyLW1vZGlmeS1pbmhl
cml0YW5jZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3VzZXItbW9kaWZ5LWlu
aGVyaXRhbmNlLmh0bWwKaW5kZXggNGVhMGM2YWUwMDRiNjU1NTk1ODVhYWNkNjQ1YTc4OTU3YmNm
ZGYxYy4uYjQ0OTMzNWZlYzAwNGU0MDk1ZGEzMWI3NTE0N2NjMTg3N2Y2NDkwNiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3VzZXItbW9kaWZ5LWluaGVyaXRhbmNlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3VzZXItbW9kaWZ5LWluaGVyaXRh
bmNlLmh0bWwKQEAgLTYyLDYgKzYyLDcgQEAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NhbmRi
b3gnKS5hcHBlbmRDaGlsZCgKIGRvY3VtZW50LmJvZHkub2Zmc2V0TGVmdDsKIAogc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdnZXRVc2VyTW9kaWZ5UHJvcGVydHkoImNoaWxkLWEiKScsICdyZWFkLXdy
aXRlJyk7CisvKiBGSVhNRSg5MDAxNyk6IGNzcyBwcm9wZXJ0eTogLXVzZXItbW9kaWZ5IHNob3Vs
ZCBiZSBpbmhlcml0ZWQgZnJvbSBwYXJlbnQuKi8KIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0
VXNlck1vZGlmeVByb3BlcnR5KCJjaGlsZC1iIiknLCAncmVhZC13cml0ZScpOwogCiA8L3Njcmlw
dD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159616</attachid>
            <date>2012-08-20 21:27:02 -0700</date>
            <delta_ts>2012-08-21 22:11:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90661-20120821132621.patch</filename>
            <type>text/plain</type>
            <size>8401</size>
            <attacher name="Takashi Sakamoto">tasak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2MTI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTgzNDUzMGFhYWZjZjNm
YjMyNTk0YmI3YTVmNGVmOTAzNDJlMjk2Ny4uODY2MTg5YjUwNjFkOTAxYzc0NWI0ODRiYWY3Y2Q1
MTYwY2JiYzFlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA3LTA2ICBUYWth
c2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KKworICAgICAgICBbU2hhZG93XSBkaXN0
cmlidXRlIG5vZGVzIGRvbid0IGluaGVyaXQgc3R5bGVzIGZyb20gcGFyZW50Tm9kZUZvclJlbmRl
cmluZ0FuZFN0eWxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTA2NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBzdHlsZUZvckVsZW1lbnQgdHJpZXMgdG8gdXNlIHByZXZpb3VzIHNpYmxpbmcncyBzdHls
ZSBmb3IgZGlzdHJpYnV0ZWQKKyAgICAgICAgbm9kZXMuIEhvd2V2ZXIgZGlzdHJpYnV0ZWQgbm9k
ZXMgYXJlIGNoaWxkcmVuIG9mIGEgc2hhZG93IGhvc3QsIGJ1dAorICAgICAgICB0aGUgbm9kZXMg
YXJlIG5vdCBzaWJsaW5ncyBhcyB0aGUgcmVzdWx0IG9mIGRpc3RyaWJ1dGlvbi4KKyAgICAgICAg
VGhlIHNwZWMgaXM6CisgICAgICAgIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy93ZWJjb21wb25lbnRz
L3Jhdy1maWxlL3RpcC9zcGVjL3NoYWRvdy9pbmRleC5odG1sI3NoYWRvdy1kb20tc3VidHJlZXMK
KyAgICAgICAgU28gc2hhcmluZyBwcmV2aW91cyBzaWJsaW5nJ3Mgc3R5bGUgc2hvdWxkIGJlIGRp
c2FibGVkIGZvciBkaXN0cmJ1dGVkCisgICAgICAgIG5vZGVzLgorCisgICAgICAgIFRlc3Q6IGZh
c3QvZG9tL3NoYWRvdy9zdHlsZS1vZi1kaXN0cmlidXRlZC1ub2RlLmh0bWwKKworICAgICAgICAq
IGNzcy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzRGlzdHJpYnV0ZWRU
b0luc2VydGlvblBvaW50KToKKyAgICAgICAgTmV3bHkgYWRkZWQuIEFuIGlubGluZSBzdGF0aWMg
ZnVuY3Rpb24gdG8gZmluZCB3aGV0aGVyIHRoZSBnaXZlbgorICAgICAgICBlbGVtZW50IGlzIGRp
c3RyaWJ1dGVkIHRvIGFuIGluc2VydGlvbiBwb2ludC4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxl
UmVzb2x2ZXI6OnN0eWxlRm9yRWxlbWVudCk6CisgICAgICAgIE1vZGlmeSB0aGUgY29uZGl0aW9u
IHdoZXRoZXIgdG8gY2hlY2sgc2hhcmVkIHN0eWxlcyBvciBub3QuIElmIHRoZSBnaXZlbgorICAg
ICAgICBlbGVtZW50IGlzIGRpc3RyaWJ1dGVkLCBub3cgU3R5bGVSZXNvbHZlciBkb2Vzbid0IGNo
ZWNrIHNoYXJlZCBzdHlsZXMuCisKIDIwMTItMDgtMjAgIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55
YWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFNoYWRvd1Jvb3QuY2xvbmVOb2RlKCkgbXVzdCBh
bHdheXMgdGhyb3cgYSBEQVRBX0NMT05FX0VSUiBleGNlcHRpb24uCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVSZXNvbHZlci5jcHAKaW5kZXggZWE1OTUwZTU0Yzg5MDQwYTQ2ZjEwYzI5ZDAwODJkOWZiMmFm
M2Q5Yy4uZmY1MmIyY2UwN2YzODYwOWQ3YjNmYTE4N2NhOTk1NjVhYmNkMGI3OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcApAQCAtNjAsNiArNjAsNyBAQAogI2luY2x1ZGUgIkNv
dW50ZXIuaCIKICNpbmNsdWRlICJDb3VudGVyQ29udGVudC5oIgogI2luY2x1ZGUgIkN1cnNvckxp
c3QuaCIKKyNpbmNsdWRlICJFbGVtZW50U2hhZG93LmgiCiAjaW5jbHVkZSAiRm9udEZlYXR1cmVW
YWx1ZS5oIgogI2luY2x1ZGUgIkZvbnRWYWx1ZS5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCkBAIC0x
NzIzLDYgKzE3MjQsMjMgQEAgc3RhdGljIGlubGluZSBib29sIGlzQXRTaGFkb3dCb3VuZGFyeShj
b25zdCBFbGVtZW50KiBlbGVtZW50KQogICAgIHJldHVybiBwYXJlbnROb2RlICYmIHBhcmVudE5v
ZGUtPmlzU2hhZG93Um9vdCgpOwogfQogCitzdGF0aWMgaW5saW5lIGJvb2wgaXNEaXN0cmlidXRl
ZFRvSW5zZXJ0aW9uUG9pbnQoY29uc3QgRWxlbWVudCogZWxlbWVudCkKK3sKKyAgICBpZiAoIWVs
ZW1lbnQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIEVsZW1lbnQqIHBhcmVudEVsZW1l
bnQgPSBlbGVtZW50LT5wYXJlbnRFbGVtZW50KCk7CisgICAgaWYgKCFwYXJlbnRFbGVtZW50KQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBFbGVtZW50U2hhZG93KiBzaGFkb3cgPSBwYXJl
bnRFbGVtZW50LT5zaGFkb3coKTsKKyAgICBpZiAoIXNoYWRvdykKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIGlmICghc2hhZG93LT5pbnNlcnRpb25Qb2ludEZvcihlbGVtZW50KSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiB0cnVlOworfQorCiBQYXNzUmVmUHRyPFJlbmRl
clN0eWxlPiBTdHlsZVJlc29sdmVyOjpzdHlsZUZvckVsZW1lbnQoRWxlbWVudCogZWxlbWVudCwg
UmVuZGVyU3R5bGUqIGRlZmF1bHRQYXJlbnQsCiAgICAgU3R5bGVTaGFyaW5nQmVoYXZpb3Igc2hh
cmluZ0JlaGF2aW9yLCBSdWxlTWF0Y2hpbmdCZWhhdmlvciBtYXRjaGluZ0JlaGF2aW9yLCBSZW5k
ZXJSZWdpb24qIHJlZ2lvbkZvclN0eWxpbmcpCiB7CkBAIC0xNzQwLDggKzE3NTgsMTAgQEAgUGFz
c1JlZlB0cjxSZW5kZXJTdHlsZT4gU3R5bGVSZXNvbHZlcjo6c3R5bGVGb3JFbGVtZW50KEVsZW1l
bnQqIGVsZW1lbnQsIFJlbmRlclMKIAogICAgIGluaXRFbGVtZW50KGVsZW1lbnQpOwogICAgIGlu
aXRGb3JTdHlsZVJlc29sdmUoZWxlbWVudCwgZGVmYXVsdFBhcmVudCk7CisKKyAgICBib29sIGRp
c3RyaWJ1dGVkVG9JbnNlcnRpb25Qb2ludCA9IGlzRGlzdHJpYnV0ZWRUb0luc2VydGlvblBvaW50
KGVsZW1lbnQpOwogICAgIG1fcmVnaW9uRm9yU3R5bGluZyA9IHJlZ2lvbkZvclN0eWxpbmc7Ci0g
ICAgaWYgKHNoYXJpbmdCZWhhdmlvciA9PSBBbGxvd1N0eWxlU2hhcmluZykgeworICAgIGlmIChz
aGFyaW5nQmVoYXZpb3IgPT0gQWxsb3dTdHlsZVNoYXJpbmcgJiYgIWRpc3RyaWJ1dGVkVG9JbnNl
cnRpb25Qb2ludCkgewogICAgICAgICBSZW5kZXJTdHlsZSogc2hhcmVkU3R5bGUgPSBsb2NhdGVT
aGFyZWRTdHlsZSgpOwogICAgICAgICBpZiAoc2hhcmVkU3R5bGUpCiAgICAgICAgICAgICByZXR1
cm4gc2hhcmVkU3R5bGU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDAzZDEyMTVjMWExZmIyYzBkMDE2OTZhYzRiZWYyNWY1
ZWMxY2Q2ZC4uZmQ3NjEyMWYzZTFmMGVmN2YyMzE5MWZkY2FkOGM0ZGFkYjExMzRiNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE4IEBACisyMDEyLTA3LTA2ICBUYWthc2hpIFNha2Ftb3RvICA8dGFzYWtAZ29v
Z2xlLmNvbT4KKworICAgICAgICBbU2hhZG93XSBkaXN0cmlidXRlIG5vZGVzIGRvbid0IGluaGVy
aXQgc3R5bGVzIGZyb20gcGFyZW50Tm9kZUZvclJlbmRlcmluZ0FuZFN0eWxlLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA2NjEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9z
dHlsZS1vZi1kaXN0cmlidXRlZC1ub2RlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9kb20vc2hhZG93L3N0eWxlLW9mLWRpc3RyaWJ1dGVkLW5vZGUuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9kb20vc2hhZG93L3VzZXItbW9kaWZ5LWluaGVyaXRhbmNlLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgQXMgdGhpcyBwYXRjaCBhbHNvIGNoYW5nZSB0aGUgdXNlci1tb2RpZnkt
aW5oZXJpdGFuY2UncyB0ZXN0IHJlc3VsdCwKKyAgICAgICAgdXBkYXRlZCB0aGUgZXhwZWN0ZWQg
cmVzdWx0LgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy91c2VyLW1vZGlmeS1pbmhlcml0YW5j
ZS5odG1sOgorICAgICAgICBBZGRlZCBGSVhNRSBjb21tZW50LgorCiAyMDEyLTA4LTIwICBTaGlu
eWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBTaGFkb3dSb290
LmNsb25lTm9kZSgpIG11c3QgYWx3YXlzIHRocm93IGEgREFUQV9DTE9ORV9FUlIgZXhjZXB0aW9u
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxlLW9mLWRpc3Ry
aWJ1dGVkLW5vZGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0
eWxlLW9mLWRpc3RyaWJ1dGVkLW5vZGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVlODNlMWM0
MDdmOWE0MmQ3MDU0YzZiNjE1ZDBhOWVlYTIzNmZhYjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUtb2YtZGlzdHJpYnV0ZWQtbm9kZS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxNyBAQAorVGVzdHMgdG8gZW5zdXJlIHRoYXQgc3R5bGVzIG9mIGRp
c3RyaWJ1dGVkIG5vZGVzIGFyZSBkaWZmZXJlbnQgaWYgdGhlaXIgcGFyZW50IHN0eWxlcyBhcmUg
ZGlmZmVyZW50LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworCisKK1BBU1MgZ2V0
Q29sb3JQcm9wZXJ0eSgiY2hpbGQtYSIpIGlzICJyZ2IoMjU1LCAwLCAwKSIKK1BBU1MgZ2V0Q29s
b3JQcm9wZXJ0eSgiY2hpbGQtYiIpIGlzICJyZ2IoMCwgMCwgMjU1KSIKKworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKKworCisKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zdHlsZS1vZi1kaXN0cmlidXRlZC1ub2RlLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUtb2YtZGlzdHJpYnV0ZWQtbm9k
ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjM4ZDhiMzI4MzFmZGI4YzVlZTdiMjMzMWZjNWFlNTdmYWRkYzUy
ZjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUt
b2YtZGlzdHJpYnV0ZWQtbm9kZS5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcG9seWZpbGwuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gZ2V0Q29sb3JQcm9wZXJ0eShpZCkgeworICAg
IHJldHVybiB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZChp
ZCkpLmNvbG9yOworfQorCitmdW5jdGlvbiBsb2cobWVzc2FnZSkgeworICAgIHZhciBjb25zb2xl
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKTsKKyAgICBjb25zb2xlLmlubmVy
SFRNTCArPSBtZXNzYWdlICsgJ1xuJzsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
cHJlIGlkPSJjb25zb2xlIj48L2Rpdj4KKzxkaXYgaWQ9InRlc3QiPjwvZGl2PgorPHNjcmlwdD4K
K2Rlc2NyaXB0aW9uKCJUZXN0cyB0byBlbnN1cmUgdGhhdCBzdHlsZXMgb2YgZGlzdHJpYnV0ZWQg
bm9kZXMgYXJlIGRpZmZlcmVudCBpZiB0aGVpciBwYXJlbnQgc3R5bGVzIGFyZSBkaWZmZXJlbnQu
Iik7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CisKK3ZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKK2Rpdi5zZXRBdHRy
aWJ1dGUoJ2lkJywgJ2hvc3QnKTsKK2Rpdi5zdHlsZS5jb2xvciA9ICdyZWQnOworZGl2LmlubmVy
SFRNTCA9ICc8ZGl2IGlkPSJjaGlsZC1hIj48L2Rpdj48ZGl2IGlkPSJjaGlsZC1iIj48L2Rpdj4n
OworCit2YXIgc3IgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworc3IuaW5uZXJIVE1MID0g
Jzxjb250ZW50IHNlbGVjdD0iI2NoaWxkLWEiPjwvY29udGVudD48ZGl2IHN0eWxlPSJjb2xvcjog
Ymx1ZSI+PGNvbnRlbnQgc2VsZWN0PSIjY2hpbGQtYiI+PC9jb250ZW50PjwvZGl2Pic7Citkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdCcpLmFwcGVuZENoaWxkKGRpdik7CisKK3Nob3VsZEJl
KCdnZXRDb2xvclByb3BlcnR5KCJjaGlsZC1hIiknLCAnInJnYigyNTUsIDAsIDApIicpOworc2hv
dWxkQmUoJ2dldENvbG9yUHJvcGVydHkoImNoaWxkLWIiKScsICcicmdiKDAsIDAsIDI1NSkiJyk7
Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy91c2VyLW1vZGlmeS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJpdGFuY2UtZXhwZWN0
ZWQudHh0CmluZGV4IGM3NmUxMGQ4MTE5ZWYwNjY4ZjBjZGI4MTZkNGQxNTU0NjA5M2M0MzcuLjdh
ZjI0YzlkYjUwMDI3MjZkYTg0NGJhN2NmYzE2M2RjZTcyOGJkYzQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy91c2VyLW1vZGlmeS1pbmhlcml0YW5jZS1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3VzZXItbW9kaWZ5LWluaGVyaXRh
bmNlLWV4cGVjdGVkLnR4dApAQCAtMTAsNyArMTAsNyBAQCBQQVNTIGNvbXB1dGVkU3R5bGUocHJl
cGFyZU5vZGVJblNoYWRvd1Jvb3QoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vbi1jb250ZW50
ZQogUEFTUyBjb21wdXRlZFN0eWxlKHByZXBhcmVOb2RlSW5TaGFkb3dSb290KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJub24tY29udGVudGVkaXRhYmxlLWhvc3QyIiksICJmYWxzZSIpLCB1c2Vy
TW9kaWZ5UHJvcGVydHlOYW1lKSBpcyAicmVhZC1vbmx5IgogUEFTUyBjb21wdXRlZFN0eWxlKHBy
ZXBhcmVOb2RlSW5TaGFkb3dSb290KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub24tY29udGVu
dGVkaXRhYmxlLWhvc3QzIiksICJ0cnVlIiksIHVzZXJNb2RpZnlQcm9wZXJ0eU5hbWUpIGlzICJy
ZWFkLXdyaXRlIgogUEFTUyBnZXRVc2VyTW9kaWZ5UHJvcGVydHkoImNoaWxkLWEiKSBpcyAicmVh
ZC13cml0ZSIKLVBBU1MgZ2V0VXNlck1vZGlmeVByb3BlcnR5KCJjaGlsZC1iIikgaXMgInJlYWQt
d3JpdGUiCitGQUlMIGdldFVzZXJNb2RpZnlQcm9wZXJ0eSgiY2hpbGQtYiIpIHNob3VsZCBiZSBy
ZWFkLXdyaXRlLiBXYXMgcmVhZC1vbmx5LgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvdXNlci1tb2RpZnktaW5oZXJpdGFuY2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy91c2VyLW1vZGlmeS1pbmhlcml0YW5jZS5odG1sCmluZGV4IDRlYTBjNmFlMDA0YjY1NTU5
NTg1YWFjZDY0NWE3ODk1N2JjZmRmMWMuLmI0NDkzMzVmZWMwMDRlNDA5NWRhMzFiNzUxNDdjYzE4
NzdmNjQ5MDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy91c2VyLW1v
ZGlmeS1pbmhlcml0YW5jZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy91
c2VyLW1vZGlmeS1pbmhlcml0YW5jZS5odG1sCkBAIC02Miw2ICs2Miw3IEBAIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdzYW5kYm94JykuYXBwZW5kQ2hpbGQoCiBkb2N1bWVudC5ib2R5Lm9mZnNl
dExlZnQ7CiAKIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlck1vZGlmeVByb3BlcnR5KCJj
aGlsZC1hIiknLCAncmVhZC13cml0ZScpOworLyogRklYTUUoOTAwMTcpOiBjc3MgcHJvcGVydHk6
IC11c2VyLW1vZGlmeSBzaG91bGQgYmUgaW5oZXJpdGVkIGZyb20gcGFyZW50LiovCiBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2dldFVzZXJNb2RpZnlQcm9wZXJ0eSgiY2hpbGQtYiIpJywgJ3JlYWQt
d3JpdGUnKTsKIAogPC9zY3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159858</attachid>
            <date>2012-08-21 22:11:52 -0700</date>
            <delta_ts>2012-08-21 22:15:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90661-20120822141150.patch</filename>
            <type>text/plain</type>
            <size>9127</size>
            <attacher name="Takashi Sakamoto">tasak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2MjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmE4MTA4ZDcwZTJlNDEy
MTgyNWJmZmEzNWM1Yzg5Nzg3MDFhNTlhNy4uZmVkNzI4NzVmY2FkNzU1MzljY2ExODAxNmIwYTA3
ZWFjNjNlMTNkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTA4LTIxICBUYWth
c2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KKworICAgICAgICBEaXN0cmlidXRlZCBu
b2RlcyBzaG91bGQgbm90IHNoYXJlIHN0eWxlcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTkwNjYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgc3R5bGVGb3JFbGVtZW50IHRyaWVzIHRvIHVzZSBwcmV2aW91
cyBzaWJsaW5nJ3Mgc3R5bGUgZm9yIGRpc3RyaWJ1dGVkCisgICAgICAgIG5vZGVzLiBIb3dldmVy
IGRpc3RyaWJ1dGVkIG5vZGVzIGFyZSBjaGlsZHJlbiBvZiBhIHNoYWRvdyBob3N0LCBidXQKKyAg
ICAgICAgdGhlIG5vZGVzIGFyZSBub3Qgc2libGluZ3MgYXMgdGhlIHJlc3VsdCBvZiBkaXN0cmli
dXRpb24uCisgICAgICAgIFRoZSBzcGVjIGlzOgorICAgICAgICBodHRwOi8vZHZjcy53My5vcmcv
aGcvd2ViY29tcG9uZW50cy9yYXctZmlsZS90aXAvc3BlYy9zaGFkb3cvaW5kZXguaHRtbCNzaGFk
b3ctZG9tLXN1YnRyZWVzCisgICAgICAgIFNvIHNoYXJpbmcgcHJldmlvdXMgc2libGluZydzIHN0
eWxlIHNob3VsZCBiZSBkaXNhYmxlZCBmb3IgZGlzdHJidXRlZAorICAgICAgICBub2Rlcy4KKwor
ICAgICAgICBUZXN0OiBmYXN0L2RvbS9zaGFkb3cvc3R5bGUtb2YtZGlzdHJpYnV0ZWQtbm9kZS5o
dG1sCisKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTdHlsZVJlc29sdmVyOjpTdHlsZVJlc29sdmVyKToKKyAgICAgICAgSW5pdGlhbGl6ZWQgbV9k
aXN0cmlidXRlZFRvSW5zZXJ0aW9uUG9pbnQuIEl0cyBpbml0aWFsIHZhbHVlIGlzIGZhbHNlLgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6aW5pdEZvclN0eWxlUmVzb2x2ZSk6Cisg
ICAgICAgIEFmdGVyIGludm9raW5nIE5vZGVSZW5kZXJpbmdDb250ZXh0LCBpZiB0aGUgY29udGV4
dCByZXR1cm5zIGFueQorICAgICAgICBpbnNlcnRpb24gcG9pbnQsIHNldCBtX2Rpc3RyaWJ1dGVk
VG9JbnNlcnRpb25Qb2ludCB0byBiZSB0cnVlLgorICAgICAgICBPdGhlcndpc2UsIGZhbHNlLiBU
aGUgdmFsdWUgaXMgdXNlZCBpbiBzdHlsZUZvckVsZW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpT
dHlsZVJlc29sdmVyOjpzdHlsZUZvckVsZW1lbnQpOgorICAgICAgICBJZiBtX2Rpc3RyaWJ1dGVk
VG9JbnNlcnRpb25Qb2ludCBpcyB0cnVlLCBkaXNhYmxlIGxvY2FsIHNpYmxpbmcgc3R5bGUKKyAg
ICAgICAgY2FjaGUuCisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuaDoKKyAgICAgICAgKFN0
eWxlUmVzb2x2ZXIpOgorICAgICAgICBBZGRlZCBhIG5ldyBtZW1iZXIgdmFyaWFibGUsIG1fZGlz
dHJpYnV0ZWRUb0luc2VydGlvblBvaW50LgorICAgICAgICBUaGUgdmFyaWFibGUga2VlcHMgd2hl
dGhlciB0aGUgbV9lbGVtZW50IGlzIGRpc3RyaWJ1dGVkIHRvIGFuCisgICAgICAgIGluc2VydGlv
biBwb2ludC4KKwogMjAxMi0wOC0yMSAgU3Vrb2xzYWsgU2Frc2h1d29uZyAgPHN1a29sc2FrQGdv
b2dsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IFVuZG9NYW5hZ2VyJ3MgYXV0b21hdGljIERP
TSB0cmFuc2FjdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29s
dmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRleCBlYTU5
NTBlNTRjODkwNDBhNDZmMTBjMjlkMDA4MmQ5ZmIyYWYzZDljLi5mNjFiODAwZDUxYWVmMGNjOTBm
ZDQxMGNhZjA0NTNhNjI4YTgxYmY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3Bw
CkBAIC0zNzYsNiArMzc2LDcgQEAgU3R5bGVSZXNvbHZlcjo6U3R5bGVSZXNvbHZlcihEb2N1bWVu
dCogZG9jdW1lbnQsIGJvb2wgbWF0Y2hBdXRob3JBbmRVc2VyU3R5bGVzKQogICAgICwgbV9mb250
RGlydHkoZmFsc2UpCiAgICAgLCBtX21hdGNoQXV0aG9yQW5kVXNlclN0eWxlcyhtYXRjaEF1dGhv
ckFuZFVzZXJTdHlsZXMpCiAgICAgLCBtX3NhbWVPcmlnaW5Pbmx5KGZhbHNlKQorICAgICwgbV9k
aXN0cmlidXRlZFRvSW5zZXJ0aW9uUG9pbnQoZmFsc2UpCiAgICAgLCBtX2ZvbnRTZWxlY3RvcihD
U1NGb250U2VsZWN0b3I6OmNyZWF0ZShkb2N1bWVudCkpCiAgICAgLCBtX2FwcGx5UHJvcGVydHlU
b1JlZ3VsYXJTdHlsZSh0cnVlKQogICAgICwgbV9hcHBseVByb3BlcnR5VG9WaXNpdGVkTGlua1N0
eWxlKGZhbHNlKQpAQCAtMTIyMCw5ICsxMjIxLDExIEBAIGlubGluZSB2b2lkIFN0eWxlUmVzb2x2
ZXI6OmluaXRGb3JTdHlsZVJlc29sdmUoRWxlbWVudCogZSwgUmVuZGVyU3R5bGUqIHBhcmVudFN0
CiAgICAgICAgIG1fcGFyZW50U3R5bGUgPSBjb250ZXh0LnJlc2V0U3R5bGVJbmhlcml0YW5jZSgp
PyAwIDoKICAgICAgICAgICAgIHBhcmVudFN0eWxlID8gcGFyZW50U3R5bGUgOgogICAgICAgICAg
ICAgbV9wYXJlbnROb2RlID8gbV9wYXJlbnROb2RlLT5yZW5kZXJTdHlsZSgpIDogMDsKKyAgICAg
ICAgbV9kaXN0cmlidXRlZFRvSW5zZXJ0aW9uUG9pbnQgPSBjb250ZXh0Lmluc2VydGlvblBvaW50
KCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgbV9wYXJlbnROb2RlID0gMDsKICAgICAgICAgbV9w
YXJlbnRTdHlsZSA9IHBhcmVudFN0eWxlOworICAgICAgICBtX2Rpc3RyaWJ1dGVkVG9JbnNlcnRp
b25Qb2ludCA9IGZhbHNlOwogICAgIH0KIAogICAgIE5vZGUqIGRvY0VsZW1lbnQgPSBlID8gZS0+
ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCkgOiAwOwpAQCAtMTc0MCw4ICsxNzQzLDkgQEAg
UGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gU3R5bGVSZXNvbHZlcjo6c3R5bGVGb3JFbGVtZW50KEVs
ZW1lbnQqIGVsZW1lbnQsIFJlbmRlclMKIAogICAgIGluaXRFbGVtZW50KGVsZW1lbnQpOwogICAg
IGluaXRGb3JTdHlsZVJlc29sdmUoZWxlbWVudCwgZGVmYXVsdFBhcmVudCk7CisKICAgICBtX3Jl
Z2lvbkZvclN0eWxpbmcgPSByZWdpb25Gb3JTdHlsaW5nOwotICAgIGlmIChzaGFyaW5nQmVoYXZp
b3IgPT0gQWxsb3dTdHlsZVNoYXJpbmcpIHsKKyAgICBpZiAoc2hhcmluZ0JlaGF2aW9yID09IEFs
bG93U3R5bGVTaGFyaW5nICYmICFtX2Rpc3RyaWJ1dGVkVG9JbnNlcnRpb25Qb2ludCkgewogICAg
ICAgICBSZW5kZXJTdHlsZSogc2hhcmVkU3R5bGUgPSBsb2NhdGVTaGFyZWRTdHlsZSgpOwogICAg
ICAgICBpZiAoc2hhcmVkU3R5bGUpCiAgICAgICAgICAgICByZXR1cm4gc2hhcmVkU3R5bGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaAppbmRleCA0ZTlmZTkxNDhkZTI1NjdhYmJlY2JkMTgz
YjEyM2JjZTZjODg1OTIwLi5kOWRmYzkwZWIwMWMwM2IwNDhmZDQ4ODRkYjc1MzRkMzkxYzIxZGYw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmgKQEAgLTQ5NSw2ICs0OTUsNyBAQCBwcml2
YXRlOgogICAgIGJvb2wgbV9mb250RGlydHk7CiAgICAgYm9vbCBtX21hdGNoQXV0aG9yQW5kVXNl
clN0eWxlczsKICAgICBib29sIG1fc2FtZU9yaWdpbk9ubHk7CisgICAgYm9vbCBtX2Rpc3RyaWJ1
dGVkVG9JbnNlcnRpb25Qb2ludDsKIAogICAgIFJlZlB0cjxDU1NGb250U2VsZWN0b3I+IG1fZm9u
dFNlbGVjdG9yOwogICAgIFZlY3RvcjxPd25QdHI8TWVkaWFRdWVyeVJlc3VsdD4gPiBtX3ZpZXdw
b3J0RGVwZW5kZW50TWVkaWFRdWVyeVJlc3VsdHM7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTk3NTJlZWUxMjU5ZjAwMTZh
ZDhlZDYxNDEzMDNhYjA1N2U2NGRmYy4uMzZlNjJkNDExMTA2NjVlYjZiNmIyMjAwNjg3ZGRlYjEx
ODMzNmU0NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA4LTIxICBUYWthc2hpIFNha2Ft
b3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KKworICAgICAgICBEaXN0cmlidXRlZCBub2RlcyBzaG91
bGQgbm90IHNoYXJlIHN0eWxlcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTkwNjYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc3R5bGUtb2YtZGlzdHJpYnV0ZWQtbm9kZS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zdHlsZS1vZi1k
aXN0cmlidXRlZC1ub2RlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy91
c2VyLW1vZGlmeS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQ6CisgICAgICAgIEFzIHRoaXMgcGF0
Y2ggYWxzbyBjaGFuZ2UgdGhlIHVzZXItbW9kaWZ5LWluaGVyaXRhbmNlJ3MgdGVzdCByZXN1bHQs
CisgICAgICAgIHVwZGF0ZWQgdGhlIGV4cGVjdGVkIHJlc3VsdC4KKyAgICAgICAgKiBmYXN0L2Rv
bS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJpdGFuY2UuaHRtbDoKKyAgICAgICAgQWRkZWQgRklY
TUUgY29tbWVudC4KKwogMjAxMi0wOC0yMSAgS2VubmV0aCBSdXNzZWxsICA8a2JyQGdvb2dsZS5j
b20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBnYXJkZW5pbmcuIEFkZGVkIGZpbGUgc29tZWhvdyBt
aXNzZWQgYnkgZ2FyZGVuLW8tbWF0aWMgaW4gbGFzdCByZWJhc2VsaW5lLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxlLW9mLWRpc3RyaWJ1dGVkLW5vZGUtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxlLW9mLWRpc3RyaWJ1
dGVkLW5vZGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVlODNlMWM0MDdmOWE0MmQ3MDU0YzZi
NjE1ZDBhOWVlYTIzNmZhYjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc3R5bGUtb2YtZGlzdHJpYnV0ZWQtbm9kZS1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwxNyBAQAorVGVzdHMgdG8gZW5zdXJlIHRoYXQgc3R5bGVzIG9mIGRpc3RyaWJ1dGVkIG5vZGVz
IGFyZSBkaWZmZXJlbnQgaWYgdGhlaXIgcGFyZW50IHN0eWxlcyBhcmUgZGlmZmVyZW50LgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworCisKK1BBU1MgZ2V0Q29sb3JQcm9wZXJ0eSgi
Y2hpbGQtYSIpIGlzICJyZ2IoMjU1LCAwLCAwKSIKK1BBU1MgZ2V0Q29sb3JQcm9wZXJ0eSgiY2hp
bGQtYiIpIGlzICJyZ2IoMCwgMCwgMjU1KSIKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKKworCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zdHlsZS1vZi1kaXN0cmlidXRlZC1ub2RlLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUtb2YtZGlzdHJpYnV0ZWQtbm9kZS5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjM4ZDhiMzI4MzFmZGI4YzVlZTdiMjMzMWZjNWFlNTdmYWRkYzUyZjAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUtb2YtZGlzdHJpYnV0ZWQt
bm9kZS5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcG9seWZpbGwuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0PgorZnVuY3Rpb24gZ2V0Q29sb3JQcm9wZXJ0eShpZCkgeworICAgIHJldHVybiB3aW5kb3cu
Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCkpLmNvbG9yOworfQor
CitmdW5jdGlvbiBsb2cobWVzc2FnZSkgeworICAgIHZhciBjb25zb2xlID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKTsKKyAgICBjb25zb2xlLmlubmVySFRNTCArPSBtZXNzYWdl
ICsgJ1xuJzsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cHJlIGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxkaXYgaWQ9InRlc3QiPjwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJU
ZXN0cyB0byBlbnN1cmUgdGhhdCBzdHlsZXMgb2YgZGlzdHJpYnV0ZWQgbm9kZXMgYXJlIGRpZmZl
cmVudCBpZiB0aGVpciBwYXJlbnQgc3R5bGVzIGFyZSBkaWZmZXJlbnQuIik7CisKK2lmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKK3ZhciBkaXYgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKK2Rpdi5zZXRBdHRyaWJ1dGUoJ2lkJywgJ2hv
c3QnKTsKK2Rpdi5zdHlsZS5jb2xvciA9ICdyZWQnOworZGl2LmlubmVySFRNTCA9ICc8ZGl2IGlk
PSJjaGlsZC1hIj48L2Rpdj48ZGl2IGlkPSJjaGlsZC1iIj48L2Rpdj4nOworCit2YXIgc3IgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChkaXYpOworc3IuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVj
dD0iI2NoaWxkLWEiPjwvY29udGVudD48ZGl2IHN0eWxlPSJjb2xvcjogYmx1ZSI+PGNvbnRlbnQg
c2VsZWN0PSIjY2hpbGQtYiI+PC9jb250ZW50PjwvZGl2Pic7Citkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgndGVzdCcpLmFwcGVuZENoaWxkKGRpdik7CisKK3Nob3VsZEJlKCdnZXRDb2xvclByb3Bl
cnR5KCJjaGlsZC1hIiknLCAnInJnYigyNTUsIDAsIDApIicpOworc2hvdWxkQmUoJ2dldENvbG9y
UHJvcGVydHkoImNoaWxkLWIiKScsICcicmdiKDAsIDAsIDI1NSkiJyk7Cis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy91c2VyLW1vZGlmeS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CmluZGV4IGM3
NmUxMGQ4MTE5ZWYwNjY4ZjBjZGI4MTZkNGQxNTU0NjA5M2M0MzcuLjdhZjI0YzlkYjUwMDI3MjZk
YTg0NGJhN2NmYzE2M2RjZTcyOGJkYzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy91c2VyLW1vZGlmeS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3VzZXItbW9kaWZ5LWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4
dApAQCAtMTAsNyArMTAsNyBAQCBQQVNTIGNvbXB1dGVkU3R5bGUocHJlcGFyZU5vZGVJblNoYWRv
d1Jvb3QoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vbi1jb250ZW50ZQogUEFTUyBjb21wdXRl
ZFN0eWxlKHByZXBhcmVOb2RlSW5TaGFkb3dSb290KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJu
b24tY29udGVudGVkaXRhYmxlLWhvc3QyIiksICJmYWxzZSIpLCB1c2VyTW9kaWZ5UHJvcGVydHlO
YW1lKSBpcyAicmVhZC1vbmx5IgogUEFTUyBjb21wdXRlZFN0eWxlKHByZXBhcmVOb2RlSW5TaGFk
b3dSb290KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub24tY29udGVudGVkaXRhYmxlLWhvc3Qz
IiksICJ0cnVlIiksIHVzZXJNb2RpZnlQcm9wZXJ0eU5hbWUpIGlzICJyZWFkLXdyaXRlIgogUEFT
UyBnZXRVc2VyTW9kaWZ5UHJvcGVydHkoImNoaWxkLWEiKSBpcyAicmVhZC13cml0ZSIKLVBBU1Mg
Z2V0VXNlck1vZGlmeVByb3BlcnR5KCJjaGlsZC1iIikgaXMgInJlYWQtd3JpdGUiCitGQUlMIGdl
dFVzZXJNb2RpZnlQcm9wZXJ0eSgiY2hpbGQtYiIpIHNob3VsZCBiZSByZWFkLXdyaXRlLiBXYXMg
cmVhZC1vbmx5LgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBM
RVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvdXNlci1tb2RpZnkt
aW5oZXJpdGFuY2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy91c2VyLW1vZGlm
eS1pbmhlcml0YW5jZS5odG1sCmluZGV4IDRlYTBjNmFlMDA0YjY1NTU5NTg1YWFjZDY0NWE3ODk1
N2JjZmRmMWMuLmI0NDkzMzVmZWMwMDRlNDA5NWRhMzFiNzUxNDdjYzE4NzdmNjQ5MDYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy91c2VyLW1vZGlmeS1pbmhlcml0YW5j
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy91c2VyLW1vZGlmeS1pbmhl
cml0YW5jZS5odG1sCkBAIC02Miw2ICs2Miw3IEBAIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdz
YW5kYm94JykuYXBwZW5kQ2hpbGQoCiBkb2N1bWVudC5ib2R5Lm9mZnNldExlZnQ7CiAKIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnZ2V0VXNlck1vZGlmeVByb3BlcnR5KCJjaGlsZC1hIiknLCAncmVh
ZC13cml0ZScpOworLyogRklYTUUoOTAwMTcpOiBjc3MgcHJvcGVydHk6IC11c2VyLW1vZGlmeSBz
aG91bGQgYmUgaW5oZXJpdGVkIGZyb20gcGFyZW50LiovCiBzaG91bGRCZUVxdWFsVG9TdHJpbmco
J2dldFVzZXJNb2RpZnlQcm9wZXJ0eSgiY2hpbGQtYiIpJywgJ3JlYWQtd3JpdGUnKTsKIAogPC9z
Y3JpcHQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159859</attachid>
            <date>2012-08-21 22:15:41 -0700</date>
            <delta_ts>2012-08-23 01:44:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90661-20120822141539.patch</filename>
            <type>text/plain</type>
            <size>9123</size>
            <attacher name="Takashi Sakamoto">tasak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2MjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmE4MTA4ZDcwZTJlNDEy
MTgyNWJmZmEzNWM1Yzg5Nzg3MDFhNTlhNy4uZmVkNzI4NzVmY2FkNzU1MzljY2ExODAxNmIwYTA3
ZWFjNjNlMTNkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTA4LTIxICBUYWth
c2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KKworICAgICAgICBEaXN0cmlidXRlZCBu
b2RlcyBzaG91bGQgbm90IHNoYXJlIHN0eWxlcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTkwNjYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgc3R5bGVGb3JFbGVtZW50IHRyaWVzIHRvIHVzZSBwcmV2aW91
cyBzaWJsaW5nJ3Mgc3R5bGUgZm9yIGRpc3RyaWJ1dGVkCisgICAgICAgIG5vZGVzLiBIb3dldmVy
IGRpc3RyaWJ1dGVkIG5vZGVzIGFyZSBjaGlsZHJlbiBvZiBhIHNoYWRvdyBob3N0LCBidXQKKyAg
ICAgICAgdGhlIG5vZGVzIGFyZSBub3Qgc2libGluZ3MgYXMgdGhlIHJlc3VsdCBvZiBkaXN0cmli
dXRpb24uCisgICAgICAgIFRoZSBzcGVjIGlzOgorICAgICAgICBodHRwOi8vZHZjcy53My5vcmcv
aGcvd2ViY29tcG9uZW50cy9yYXctZmlsZS90aXAvc3BlYy9zaGFkb3cvaW5kZXguaHRtbCNzaGFk
b3ctZG9tLXN1YnRyZWVzCisgICAgICAgIFNvIHNoYXJpbmcgcHJldmlvdXMgc2libGluZydzIHN0
eWxlIHNob3VsZCBiZSBkaXNhYmxlZCBmb3IgZGlzdHJidXRlZAorICAgICAgICBub2Rlcy4KKwor
ICAgICAgICBUZXN0OiBmYXN0L2RvbS9zaGFkb3cvc3R5bGUtb2YtZGlzdHJpYnV0ZWQtbm9kZS5o
dG1sCisKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTdHlsZVJlc29sdmVyOjpTdHlsZVJlc29sdmVyKToKKyAgICAgICAgSW5pdGlhbGl6ZWQgbV9k
aXN0cmlidXRlZFRvSW5zZXJ0aW9uUG9pbnQuIEl0cyBpbml0aWFsIHZhbHVlIGlzIGZhbHNlLgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6aW5pdEZvclN0eWxlUmVzb2x2ZSk6Cisg
ICAgICAgIEFmdGVyIGludm9raW5nIE5vZGVSZW5kZXJpbmdDb250ZXh0LCBpZiB0aGUgY29udGV4
dCByZXR1cm5zIGFueQorICAgICAgICBpbnNlcnRpb24gcG9pbnQsIHNldCBtX2Rpc3RyaWJ1dGVk
VG9JbnNlcnRpb25Qb2ludCB0byBiZSB0cnVlLgorICAgICAgICBPdGhlcndpc2UsIGZhbHNlLiBU
aGUgdmFsdWUgaXMgdXNlZCBpbiBzdHlsZUZvckVsZW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpT
dHlsZVJlc29sdmVyOjpzdHlsZUZvckVsZW1lbnQpOgorICAgICAgICBJZiBtX2Rpc3RyaWJ1dGVk
VG9JbnNlcnRpb25Qb2ludCBpcyB0cnVlLCBkaXNhYmxlIGxvY2FsIHNpYmxpbmcgc3R5bGUKKyAg
ICAgICAgY2FjaGUuCisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuaDoKKyAgICAgICAgKFN0
eWxlUmVzb2x2ZXIpOgorICAgICAgICBBZGRlZCBhIG5ldyBtZW1iZXIgdmFyaWFibGUsIG1fZGlz
dHJpYnV0ZWRUb0luc2VydGlvblBvaW50LgorICAgICAgICBUaGUgdmFyaWFibGUga2VlcHMgd2hl
dGhlciB0aGUgbV9lbGVtZW50IGlzIGRpc3RyaWJ1dGVkIHRvIGFuCisgICAgICAgIGluc2VydGlv
biBwb2ludC4KKwogMjAxMi0wOC0yMSAgU3Vrb2xzYWsgU2Frc2h1d29uZyAgPHN1a29sc2FrQGdv
b2dsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IFVuZG9NYW5hZ2VyJ3MgYXV0b21hdGljIERP
TSB0cmFuc2FjdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29s
dmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRleCBlYTU5
NTBlNTRjODkwNDBhNDZmMTBjMjlkMDA4MmQ5ZmIyYWYzZDljLi5hNjVkOGI2ZDk5YWM3M2I0NDlj
NTYxNzdhMWM4YzE3ODMxYzViYmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3Bw
CkBAIC0zNzYsNiArMzc2LDcgQEAgU3R5bGVSZXNvbHZlcjo6U3R5bGVSZXNvbHZlcihEb2N1bWVu
dCogZG9jdW1lbnQsIGJvb2wgbWF0Y2hBdXRob3JBbmRVc2VyU3R5bGVzKQogICAgICwgbV9mb250
RGlydHkoZmFsc2UpCiAgICAgLCBtX21hdGNoQXV0aG9yQW5kVXNlclN0eWxlcyhtYXRjaEF1dGhv
ckFuZFVzZXJTdHlsZXMpCiAgICAgLCBtX3NhbWVPcmlnaW5Pbmx5KGZhbHNlKQorICAgICwgbV9k
aXN0cmlidXRlZFRvSW5zZXJ0aW9uUG9pbnQoZmFsc2UpCiAgICAgLCBtX2ZvbnRTZWxlY3RvcihD
U1NGb250U2VsZWN0b3I6OmNyZWF0ZShkb2N1bWVudCkpCiAgICAgLCBtX2FwcGx5UHJvcGVydHlU
b1JlZ3VsYXJTdHlsZSh0cnVlKQogICAgICwgbV9hcHBseVByb3BlcnR5VG9WaXNpdGVkTGlua1N0
eWxlKGZhbHNlKQpAQCAtMTIyMCw5ICsxMjIxLDExIEBAIGlubGluZSB2b2lkIFN0eWxlUmVzb2x2
ZXI6OmluaXRGb3JTdHlsZVJlc29sdmUoRWxlbWVudCogZSwgUmVuZGVyU3R5bGUqIHBhcmVudFN0
CiAgICAgICAgIG1fcGFyZW50U3R5bGUgPSBjb250ZXh0LnJlc2V0U3R5bGVJbmhlcml0YW5jZSgp
PyAwIDoKICAgICAgICAgICAgIHBhcmVudFN0eWxlID8gcGFyZW50U3R5bGUgOgogICAgICAgICAg
ICAgbV9wYXJlbnROb2RlID8gbV9wYXJlbnROb2RlLT5yZW5kZXJTdHlsZSgpIDogMDsKKyAgICAg
ICAgbV9kaXN0cmlidXRlZFRvSW5zZXJ0aW9uUG9pbnQgPSBjb250ZXh0Lmluc2VydGlvblBvaW50
KCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgbV9wYXJlbnROb2RlID0gMDsKICAgICAgICAgbV9w
YXJlbnRTdHlsZSA9IHBhcmVudFN0eWxlOworICAgICAgICBtX2Rpc3RyaWJ1dGVkVG9JbnNlcnRp
b25Qb2ludCA9IGZhbHNlOwogICAgIH0KIAogICAgIE5vZGUqIGRvY0VsZW1lbnQgPSBlID8gZS0+
ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCkgOiAwOwpAQCAtMTc0MSw3ICsxNzQ0LDcgQEAg
UGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gU3R5bGVSZXNvbHZlcjo6c3R5bGVGb3JFbGVtZW50KEVs
ZW1lbnQqIGVsZW1lbnQsIFJlbmRlclMKICAgICBpbml0RWxlbWVudChlbGVtZW50KTsKICAgICBp
bml0Rm9yU3R5bGVSZXNvbHZlKGVsZW1lbnQsIGRlZmF1bHRQYXJlbnQpOwogICAgIG1fcmVnaW9u
Rm9yU3R5bGluZyA9IHJlZ2lvbkZvclN0eWxpbmc7Ci0gICAgaWYgKHNoYXJpbmdCZWhhdmlvciA9
PSBBbGxvd1N0eWxlU2hhcmluZykgeworICAgIGlmIChzaGFyaW5nQmVoYXZpb3IgPT0gQWxsb3dT
dHlsZVNoYXJpbmcgJiYgIW1fZGlzdHJpYnV0ZWRUb0luc2VydGlvblBvaW50KSB7CiAgICAgICAg
IFJlbmRlclN0eWxlKiBzaGFyZWRTdHlsZSA9IGxvY2F0ZVNoYXJlZFN0eWxlKCk7CiAgICAgICAg
IGlmIChzaGFyZWRTdHlsZSkKICAgICAgICAgICAgIHJldHVybiBzaGFyZWRTdHlsZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSZXNvbHZlci5oCmluZGV4IDRlOWZlOTE0OGRlMjU2N2FiYmVjYmQxODNiMTIz
YmNlNmM4ODU5MjAuLmQ5ZGZjOTBlYjAxYzAzYjA0OGZkNDg4NGRiNzUzNGQzOTFjMjFkZjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaApAQCAtNDk1LDYgKzQ5NSw3IEBAIHByaXZhdGU6
CiAgICAgYm9vbCBtX2ZvbnREaXJ0eTsKICAgICBib29sIG1fbWF0Y2hBdXRob3JBbmRVc2VyU3R5
bGVzOwogICAgIGJvb2wgbV9zYW1lT3JpZ2luT25seTsKKyAgICBib29sIG1fZGlzdHJpYnV0ZWRU
b0luc2VydGlvblBvaW50OwogCiAgICAgUmVmUHRyPENTU0ZvbnRTZWxlY3Rvcj4gbV9mb250U2Vs
ZWN0b3I7CiAgICAgVmVjdG9yPE93blB0cjxNZWRpYVF1ZXJ5UmVzdWx0PiA+IG1fdmlld3BvcnRE
ZXBlbmRlbnRNZWRpYVF1ZXJ5UmVzdWx0czsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlOTc1MmVlZTEyNTlmMDAxNmFkOGVk
NjE0MTMwM2FiMDU3ZTY0ZGZjLi4zNmU2MmQ0MTExMDY2NWViNmI2YjIyMDA2ODdkZGViMTE4MzM2
ZTQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTItMDgtMjEgIFRha2FzaGkgU2FrYW1vdG8g
IDx0YXNha0Bnb29nbGUuY29tPgorCisgICAgICAgIERpc3RyaWJ1dGVkIG5vZGVzIHNob3VsZCBu
b3Qgc2hhcmUgc3R5bGVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTA2NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zdHlsZS1vZi1kaXN0cmlidXRlZC1ub2RlLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3N0eWxlLW9mLWRpc3Ry
aWJ1dGVkLW5vZGUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3VzZXIt
bW9kaWZ5LWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgQXMgdGhpcyBwYXRjaCBh
bHNvIGNoYW5nZSB0aGUgdXNlci1tb2RpZnktaW5oZXJpdGFuY2UncyB0ZXN0IHJlc3VsdCwKKyAg
ICAgICAgdXBkYXRlZCB0aGUgZXhwZWN0ZWQgcmVzdWx0LgorICAgICAgICAqIGZhc3QvZG9tL3No
YWRvdy91c2VyLW1vZGlmeS1pbmhlcml0YW5jZS5odG1sOgorICAgICAgICBBZGRlZCBGSVhNRSBj
b21tZW50LgorCiAyMDEyLTA4LTIxICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAZ29vZ2xlLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkIGdhcmRlbmluZy4gQWRkZWQgZmlsZSBzb21laG93IG1pc3Nl
ZCBieSBnYXJkZW4tby1tYXRpYyBpbiBsYXN0IHJlYmFzZWxpbmUuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUtb2YtZGlzdHJpYnV0ZWQtbm9kZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUtb2YtZGlzdHJpYnV0ZWQt
bm9kZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWU4M2UxYzQwN2Y5YTQyZDcwNTRjNmI2MTVk
MGE5ZWVhMjM2ZmFiOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zdHlsZS1vZi1kaXN0cmlidXRlZC1ub2RlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3
IEBACitUZXN0cyB0byBlbnN1cmUgdGhhdCBzdHlsZXMgb2YgZGlzdHJpYnV0ZWQgbm9kZXMgYXJl
IGRpZmZlcmVudCBpZiB0aGVpciBwYXJlbnQgc3R5bGVzIGFyZSBkaWZmZXJlbnQuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisKKworUEFTUyBnZXRDb2xvclByb3BlcnR5KCJjaGls
ZC1hIikgaXMgInJnYigyNTUsIDAsIDApIgorUEFTUyBnZXRDb2xvclByb3BlcnR5KCJjaGlsZC1i
IikgaXMgInJnYigwLCAwLCAyNTUpIgorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKworCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3N0eWxlLW9mLWRpc3RyaWJ1dGVkLW5vZGUuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zdHlsZS1vZi1kaXN0cmlidXRlZC1ub2RlLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzhkOGIzMjgzMWZkYjhjNWVlN2IyMzMxZmM1YWU1N2ZhZGRjNTJmMAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zdHlsZS1vZi1kaXN0cmlidXRlZC1ub2Rl
Lmh0bWwKQEAgLTAsMCArMSw0MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9InJlc291cmNlcy9wb2x5ZmlsbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+
CitmdW5jdGlvbiBnZXRDb2xvclByb3BlcnR5KGlkKSB7CisgICAgcmV0dXJuIHdpbmRvdy5nZXRD
b21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKSkuY29sb3I7Cit9CisKK2Z1
bmN0aW9uIGxvZyhtZXNzYWdlKSB7CisgICAgdmFyIGNvbnNvbGUgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnY29uc29sZScpOworICAgIGNvbnNvbGUuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAn
XG4nOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwcmUgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPGRpdiBpZD0idGVzdCI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3Rz
IHRvIGVuc3VyZSB0aGF0IHN0eWxlcyBvZiBkaXN0cmlidXRlZCBub2RlcyBhcmUgZGlmZmVyZW50
IGlmIHRoZWlyIHBhcmVudCBzdHlsZXMgYXJlIGRpZmZlcmVudC4iKTsKKworaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKwordmFyIGRpdiA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworZGl2LnNldEF0dHJpYnV0ZSgnaWQnLCAnaG9zdCcp
OworZGl2LnN0eWxlLmNvbG9yID0gJ3JlZCc7CitkaXYuaW5uZXJIVE1MID0gJzxkaXYgaWQ9ImNo
aWxkLWEiPjwvZGl2PjxkaXYgaWQ9ImNoaWxkLWIiPjwvZGl2Pic7CisKK3ZhciBzciA9IG5ldyBX
ZWJLaXRTaGFkb3dSb290KGRpdik7Citzci5pbm5lckhUTUwgPSAnPGNvbnRlbnQgc2VsZWN0PSIj
Y2hpbGQtYSI+PC9jb250ZW50PjxkaXYgc3R5bGU9ImNvbG9yOiBibHVlIj48Y29udGVudCBzZWxl
Y3Q9IiNjaGlsZC1iIj48L2NvbnRlbnQ+PC9kaXY+JzsKK2RvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCd0ZXN0JykuYXBwZW5kQ2hpbGQoZGl2KTsKKworc2hvdWxkQmUoJ2dldENvbG9yUHJvcGVydHko
ImNoaWxkLWEiKScsICcicmdiKDI1NSwgMCwgMCkiJyk7CitzaG91bGRCZSgnZ2V0Q29sb3JQcm9w
ZXJ0eSgiY2hpbGQtYiIpJywgJyJyZ2IoMCwgMCwgMjU1KSInKTsKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3Vz
ZXItbW9kaWZ5LWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy91c2VyLW1vZGlmeS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKaW5kZXggYzc2ZTEw
ZDgxMTllZjA2NjhmMGNkYjgxNmQ0ZDE1NTQ2MDkzYzQzNy4uN2FmMjRjOWRiNTAwMjcyNmRhODQ0
YmE3Y2ZjMTYzZGNlNzI4YmRjNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L3VzZXItbW9kaWZ5LWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CkBA
IC0xMCw3ICsxMCw3IEBAIFBBU1MgY29tcHV0ZWRTdHlsZShwcmVwYXJlTm9kZUluU2hhZG93Um9v
dChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm9uLWNvbnRlbnRlCiBQQVNTIGNvbXB1dGVkU3R5
bGUocHJlcGFyZU5vZGVJblNoYWRvd1Jvb3QoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vbi1j
b250ZW50ZWRpdGFibGUtaG9zdDIiKSwgImZhbHNlIiksIHVzZXJNb2RpZnlQcm9wZXJ0eU5hbWUp
IGlzICJyZWFkLW9ubHkiCiBQQVNTIGNvbXB1dGVkU3R5bGUocHJlcGFyZU5vZGVJblNoYWRvd1Jv
b3QoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vbi1jb250ZW50ZWRpdGFibGUtaG9zdDMiKSwg
InRydWUiKSwgdXNlck1vZGlmeVByb3BlcnR5TmFtZSkgaXMgInJlYWQtd3JpdGUiCiBQQVNTIGdl
dFVzZXJNb2RpZnlQcm9wZXJ0eSgiY2hpbGQtYSIpIGlzICJyZWFkLXdyaXRlIgotUEFTUyBnZXRV
c2VyTW9kaWZ5UHJvcGVydHkoImNoaWxkLWIiKSBpcyAicmVhZC13cml0ZSIKK0ZBSUwgZ2V0VXNl
ck1vZGlmeVByb3BlcnR5KCJjaGlsZC1iIikgc2hvdWxkIGJlIHJlYWQtd3JpdGUuIFdhcyByZWFk
LW9ubHkuCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy91c2VyLW1vZGlmeS1pbmhl
cml0YW5jZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3VzZXItbW9kaWZ5LWlu
aGVyaXRhbmNlLmh0bWwKaW5kZXggNGVhMGM2YWUwMDRiNjU1NTk1ODVhYWNkNjQ1YTc4OTU3YmNm
ZGYxYy4uYjQ0OTMzNWZlYzAwNGU0MDk1ZGEzMWI3NTE0N2NjMTg3N2Y2NDkwNiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3VzZXItbW9kaWZ5LWluaGVyaXRhbmNlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3VzZXItbW9kaWZ5LWluaGVyaXRh
bmNlLmh0bWwKQEAgLTYyLDYgKzYyLDcgQEAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NhbmRi
b3gnKS5hcHBlbmRDaGlsZCgKIGRvY3VtZW50LmJvZHkub2Zmc2V0TGVmdDsKIAogc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdnZXRVc2VyTW9kaWZ5UHJvcGVydHkoImNoaWxkLWEiKScsICdyZWFkLXdy
aXRlJyk7CisvKiBGSVhNRSg5MDAxNyk6IGNzcyBwcm9wZXJ0eTogLXVzZXItbW9kaWZ5IHNob3Vs
ZCBiZSBpbmhlcml0ZWQgZnJvbSBwYXJlbnQuKi8KIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0
VXNlck1vZGlmeVByb3BlcnR5KCJjaGlsZC1iIiknLCAncmVhZC13cml0ZScpOwogCiA8L3Njcmlw
dD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160115</attachid>
            <date>2012-08-23 01:44:45 -0700</date>
            <delta_ts>2012-08-23 10:07:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90661-20120823174442.patch</filename>
            <type>text/plain</type>
            <size>9067</size>
            <attacher name="Takashi Sakamoto">tasak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2NDA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTZiN2U5ZWI5NjU3Nzgy
YzUxMzQ4OTRmYzVmMGM4MDAxYzQzMzU5MC4uODgyMTM5NzBjZjc2NzNlMTg3Y2QzMmU4NjZhMDcw
MDExYTliYzNiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTA4LTIxICBUYWth
c2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KKworICAgICAgICBEaXN0cmlidXRlZCBu
b2RlcyBzaG91bGQgbm90IHNoYXJlIHN0eWxlcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTkwNjYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSGFqaW1l
IE1vcml0YS4KKworICAgICAgICBzdHlsZUZvckVsZW1lbnQgdHJpZXMgdG8gdXNlIHByZXZpb3Vz
IHNpYmxpbmcncyBzdHlsZSBmb3IgZGlzdHJpYnV0ZWQKKyAgICAgICAgbm9kZXMuIEhvd2V2ZXIg
ZGlzdHJpYnV0ZWQgbm9kZXMgYXJlIGNoaWxkcmVuIG9mIGEgc2hhZG93IGhvc3QsIGJ1dAorICAg
ICAgICB0aGUgbm9kZXMgYXJlIG5vdCBzaWJsaW5ncyBhcyB0aGUgcmVzdWx0IG9mIGRpc3RyaWJ1
dGlvbi4KKyAgICAgICAgVGhlIHNwZWMgaXM6CisgICAgICAgIGh0dHA6Ly9kdmNzLnczLm9yZy9o
Zy93ZWJjb21wb25lbnRzL3Jhdy1maWxlL3RpcC9zcGVjL3NoYWRvdy9pbmRleC5odG1sI3NoYWRv
dy1kb20tc3VidHJlZXMKKyAgICAgICAgU28gc2hhcmluZyBwcmV2aW91cyBzaWJsaW5nJ3Mgc3R5
bGUgc2hvdWxkIGJlIGRpc2FibGVkIGZvciBkaXN0cmJ1dGVkCisgICAgICAgIG5vZGVzLgorCisg
ICAgICAgIFRlc3Q6IGZhc3QvZG9tL3NoYWRvdy9zdHlsZS1vZi1kaXN0cmlidXRlZC1ub2RlLmh0
bWwKKworICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlUmVzb2x2ZXI6OlN0eWxlUmVzb2x2ZXIpOgorICAgICAgICBJbml0aWFsaXplZCBtX2Rp
c3RyaWJ1dGVkVG9JbnNlcnRpb25Qb2ludC4gSXRzIGluaXRpYWwgdmFsdWUgaXMgZmFsc2UuCisg
ICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjppbml0Rm9yU3R5bGVSZXNvbHZlKToKKyAg
ICAgICAgQWZ0ZXIgaW52b2tpbmcgTm9kZVJlbmRlcmluZ0NvbnRleHQsIGlmIHRoZSBjb250ZXh0
IHJldHVybnMgYW55CisgICAgICAgIGluc2VydGlvbiBwb2ludCwgc2V0IG1fZGlzdHJpYnV0ZWRU
b0luc2VydGlvblBvaW50IHRvIGJlIHRydWUuCisgICAgICAgIE90aGVyd2lzZSwgZmFsc2UuIFRo
ZSB2YWx1ZSBpcyB1c2VkIGluIHN0eWxlRm9yRWxlbWVudC4KKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlUmVzb2x2ZXI6OnN0eWxlRm9yRWxlbWVudCk6CisgICAgICAgIElmIG1fZGlzdHJpYnV0ZWRU
b0luc2VydGlvblBvaW50IGlzIHRydWUsIGRpc2FibGUgbG9jYWwgc2libGluZyBzdHlsZQorICAg
ICAgICBjYWNoZS4KKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5oOgorICAgICAgICAoU3R5
bGVSZXNvbHZlcik6CisgICAgICAgIEFkZGVkIGEgbmV3IG1lbWJlciB2YXJpYWJsZSwgbV9kaXN0
cmlidXRlZFRvSW5zZXJ0aW9uUG9pbnQuCisgICAgICAgIFRoZSB2YXJpYWJsZSBrZWVwcyB3aGV0
aGVyIHRoZSBtX2VsZW1lbnQgaXMgZGlzdHJpYnV0ZWQgdG8gYW4KKyAgICAgICAgaW5zZXJ0aW9u
IHBvaW50LgorCiAyMDEyLTA4LTIzICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHRyZWF0IDAgY29va2llcyBhcyAibm8gY29v
a2llcyIgYW5kIHJlbmRlciBpdCBhY2NvcmRpbmdseSBpbiB0aGUgVUkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJlc29sdmVyLmNwcAppbmRleCBhNzM5N2FlZDMyZGY3MTY0YWVhZDRlZDg3NGEzMDI2N2Vk
YTU3Mjg2Li42MjNiMDhiZTM1YTU1Zjc0MDZkZjU5NTQzMWJhMjc1ODg1MWJiYzk0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0zNzcsNiArMzc3LDcgQEAgU3R5bGVSZXNv
bHZlcjo6U3R5bGVSZXNvbHZlcihEb2N1bWVudCogZG9jdW1lbnQsIGJvb2wgbWF0Y2hBdXRob3JB
bmRVc2VyU3R5bGVzKQogICAgICwgbV9mb250RGlydHkoZmFsc2UpCiAgICAgLCBtX21hdGNoQXV0
aG9yQW5kVXNlclN0eWxlcyhtYXRjaEF1dGhvckFuZFVzZXJTdHlsZXMpCiAgICAgLCBtX3NhbWVP
cmlnaW5Pbmx5KGZhbHNlKQorICAgICwgbV9kaXN0cmlidXRlZFRvSW5zZXJ0aW9uUG9pbnQoZmFs
c2UpCiAgICAgLCBtX2ZvbnRTZWxlY3RvcihDU1NGb250U2VsZWN0b3I6OmNyZWF0ZShkb2N1bWVu
dCkpCiAgICAgLCBtX2FwcGx5UHJvcGVydHlUb1JlZ3VsYXJTdHlsZSh0cnVlKQogICAgICwgbV9h
cHBseVByb3BlcnR5VG9WaXNpdGVkTGlua1N0eWxlKGZhbHNlKQpAQCAtMTIyMCw5ICsxMjIxLDEx
IEBAIGlubGluZSB2b2lkIFN0eWxlUmVzb2x2ZXI6OmluaXRGb3JTdHlsZVJlc29sdmUoRWxlbWVu
dCogZSwgUmVuZGVyU3R5bGUqIHBhcmVudFN0CiAgICAgICAgIG1fcGFyZW50U3R5bGUgPSBjb250
ZXh0LnJlc2V0U3R5bGVJbmhlcml0YW5jZSgpPyAwIDoKICAgICAgICAgICAgIHBhcmVudFN0eWxl
ID8gcGFyZW50U3R5bGUgOgogICAgICAgICAgICAgbV9wYXJlbnROb2RlID8gbV9wYXJlbnROb2Rl
LT5yZW5kZXJTdHlsZSgpIDogMDsKKyAgICAgICAgbV9kaXN0cmlidXRlZFRvSW5zZXJ0aW9uUG9p
bnQgPSBjb250ZXh0Lmluc2VydGlvblBvaW50KCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgbV9w
YXJlbnROb2RlID0gMDsKICAgICAgICAgbV9wYXJlbnRTdHlsZSA9IHBhcmVudFN0eWxlOworICAg
ICAgICBtX2Rpc3RyaWJ1dGVkVG9JbnNlcnRpb25Qb2ludCA9IGZhbHNlOwogICAgIH0KIAogICAg
IE5vZGUqIGRvY0VsZW1lbnQgPSBlID8gZS0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCkg
OiAwOwpAQCAtMTc1Miw3ICsxNzU1LDcgQEAgUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gU3R5bGVS
ZXNvbHZlcjo6c3R5bGVGb3JFbGVtZW50KEVsZW1lbnQqIGVsZW1lbnQsIFJlbmRlclMKICAgICBp
bml0RWxlbWVudChlbGVtZW50KTsKICAgICBpbml0Rm9yU3R5bGVSZXNvbHZlKGVsZW1lbnQsIGRl
ZmF1bHRQYXJlbnQpOwogICAgIG1fcmVnaW9uRm9yU3R5bGluZyA9IHJlZ2lvbkZvclN0eWxpbmc7
Ci0gICAgaWYgKHNoYXJpbmdCZWhhdmlvciA9PSBBbGxvd1N0eWxlU2hhcmluZykgeworICAgIGlm
IChzaGFyaW5nQmVoYXZpb3IgPT0gQWxsb3dTdHlsZVNoYXJpbmcgJiYgIW1fZGlzdHJpYnV0ZWRU
b0luc2VydGlvblBvaW50KSB7CiAgICAgICAgIFJlbmRlclN0eWxlKiBzaGFyZWRTdHlsZSA9IGxv
Y2F0ZVNoYXJlZFN0eWxlKCk7CiAgICAgICAgIGlmIChzaGFyZWRTdHlsZSkKICAgICAgICAgICAg
IHJldHVybiBzaGFyZWRTdHlsZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJlc29sdmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCmluZGV4IDcx
MjA4NWJhMjNmNmYzNjAxOWYyOTJhNzU1YmYyMDNkODNhODg0OGQuLjJiYmM2ODIzZTkzNWEzMWI3
YjJjMTU4ZjU4NzU5YTA5ZmFmMzE2YTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJlc29sdmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaApA
QCAtNDk2LDYgKzQ5Niw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2ZvbnREaXJ0eTsKICAgICBi
b29sIG1fbWF0Y2hBdXRob3JBbmRVc2VyU3R5bGVzOwogICAgIGJvb2wgbV9zYW1lT3JpZ2luT25s
eTsKKyAgICBib29sIG1fZGlzdHJpYnV0ZWRUb0luc2VydGlvblBvaW50OwogCiAgICAgUmVmUHRy
PENTU0ZvbnRTZWxlY3Rvcj4gbV9mb250U2VsZWN0b3I7CiAgICAgVmVjdG9yPE93blB0cjxNZWRp
YVF1ZXJ5UmVzdWx0PiA+IG1fdmlld3BvcnREZXBlbmRlbnRNZWRpYVF1ZXJ5UmVzdWx0czsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCBiZDI0OGIxZGEzZmY2NGNmNjEwZWUyZDk1N2NhODE4MzFhNTIwZTU4Li5iOGI0MzUzMjIy
NmM4MDE5NDhjMjU5ZGY0N2U0YTM1ZDRjZTJhNWZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIw
MTItMDgtMjEgIFRha2FzaGkgU2FrYW1vdG8gIDx0YXNha0Bnb29nbGUuY29tPgorCisgICAgICAg
IERpc3RyaWJ1dGVkIG5vZGVzIHNob3VsZCBub3Qgc2hhcmUgc3R5bGVzLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA2NjEKKworICAgICAgICBSZXZp
ZXdlZCBieSBIYWppbWUgTW9yaXRhLgorCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3N0eWxl
LW9mLWRpc3RyaWJ1dGVkLW5vZGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2RvbS9zaGFkb3cvc3R5bGUtb2YtZGlzdHJpYnV0ZWQtbm9kZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2RvbS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0
OgorICAgICAgICBBcyB0aGlzIHBhdGNoIGFsc28gY2hhbmdlIHRoZSB1c2VyLW1vZGlmeS1pbmhl
cml0YW5jZSdzIHRlc3QgcmVzdWx0LAorICAgICAgICB1cGRhdGVkIHRoZSBleHBlY3RlZCByZXN1
bHQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3VzZXItbW9kaWZ5LWluaGVyaXRhbmNlLmh0
bWw6CisgICAgICAgIEFkZGVkIEZJWE1FIGNvbW1lbnQuCisKIDIwMTItMDgtMjMgIFphbiBEb2Jl
cnNlayAgPHphbmRvYmVyc2VrQGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGdhcmRl
bmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zdHlsZS1vZi1k
aXN0cmlidXRlZC1ub2RlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zdHlsZS1vZi1kaXN0cmlidXRlZC1ub2RlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZTgz
ZTFjNDA3ZjlhNDJkNzA1NGM2YjYxNWQwYTllZWEyMzZmYWI5Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxlLW9mLWRpc3RyaWJ1dGVkLW5vZGUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1Rlc3RzIHRvIGVuc3VyZSB0aGF0IHN0eWxlcyBv
ZiBkaXN0cmlidXRlZCBub2RlcyBhcmUgZGlmZmVyZW50IGlmIHRoZWlyIHBhcmVudCBzdHlsZXMg
YXJlIGRpZmZlcmVudC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKKworCitQQVNT
IGdldENvbG9yUHJvcGVydHkoImNoaWxkLWEiKSBpcyAicmdiKDI1NSwgMCwgMCkiCitQQVNTIGdl
dENvbG9yUHJvcGVydHkoImNoaWxkLWIiKSBpcyAicmdiKDAsIDAsIDI1NSkiCisKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCisKKworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc3R5bGUtb2YtZGlzdHJpYnV0ZWQtbm9k
ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0eWxlLW9mLWRpc3RyaWJ1dGVk
LW5vZGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYTkzOWJiNzMyZTVkOWQzNTM3ZGNmNmE3OWE1MDRjNjMx
MjI3YWJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3N0
eWxlLW9mLWRpc3RyaWJ1dGVkLW5vZGUuaHRtbApAQCAtMCwwICsxLDQxIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3BvbHlmaWxsLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIGdldENvbG9yUHJvcGVydHkoaWQpIHsK
KyAgICByZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoaWQpKS5jb2xvcjsKK30KKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpIHsKKyAgICB2YXIgY29u
c29sZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25zb2xlJyk7CisgICAgY29uc29sZS5p
bm5lckhUTUwgKz0gbWVzc2FnZSArICdcbic7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHByZSBpZD0iY29uc29sZSI+PC9kaXY+Cis8ZGl2IGlkPSJ0ZXN0Ij4KKyAgICA8ZGl2IGlk
PSJob3N0IiBzdHlsZT0iY29sb3I6IHJlZCI+CisgICAgICAgIDxkaXYgaWQ9ImNoaWxkLWEiPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJjaGlsZC1iIj48L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2
PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyB0byBlbnN1cmUgdGhhdCBzdHlsZXMgb2Yg
ZGlzdHJpYnV0ZWQgbm9kZXMgYXJlIGRpZmZlcmVudCBpZiB0aGVpciBwYXJlbnQgc3R5bGVzIGFy
ZSBkaWZmZXJlbnQuIik7CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgdGVzdFJ1bm5lci5k
dW1wQXNUZXh0KCk7CisKK3ZhciBzciA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJob3N0IikpOworc3IuaW5uZXJIVE1MID0gJzxjb250ZW50IHNlbGVjdD0i
I2NoaWxkLWEiPjwvY29udGVudD48ZGl2IHN0eWxlPSJjb2xvcjogYmx1ZSI+PGNvbnRlbnQgc2Vs
ZWN0PSIjY2hpbGQtYiI+PC9jb250ZW50PjwvZGl2Pic7CisKK3Nob3VsZEJlKCdnZXRDb2xvclBy
b3BlcnR5KCJjaGlsZC1hIiknLCAnInJnYigyNTUsIDAsIDApIicpOworc2hvdWxkQmUoJ2dldENv
bG9yUHJvcGVydHkoImNoaWxkLWIiKScsICcicmdiKDAsIDAsIDI1NSkiJyk7CisKK2RvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJ0ZXN0IikuaW5uZXJIVE1MID0gJyc7Cis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy91
c2VyLW1vZGlmeS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvdXNlci1tb2RpZnktaW5oZXJpdGFuY2UtZXhwZWN0ZWQudHh0CmluZGV4IGM3NmUx
MGQ4MTE5ZWYwNjY4ZjBjZGI4MTZkNGQxNTU0NjA5M2M0MzcuLjdhZjI0YzlkYjUwMDI3MjZkYTg0
NGJhN2NmYzE2M2RjZTcyOGJkYzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy91c2VyLW1vZGlmeS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L3VzZXItbW9kaWZ5LWluaGVyaXRhbmNlLWV4cGVjdGVkLnR4dApA
QCAtMTAsNyArMTAsNyBAQCBQQVNTIGNvbXB1dGVkU3R5bGUocHJlcGFyZU5vZGVJblNoYWRvd1Jv
b3QoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vbi1jb250ZW50ZQogUEFTUyBjb21wdXRlZFN0
eWxlKHByZXBhcmVOb2RlSW5TaGFkb3dSb290KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub24t
Y29udGVudGVkaXRhYmxlLWhvc3QyIiksICJmYWxzZSIpLCB1c2VyTW9kaWZ5UHJvcGVydHlOYW1l
KSBpcyAicmVhZC1vbmx5IgogUEFTUyBjb21wdXRlZFN0eWxlKHByZXBhcmVOb2RlSW5TaGFkb3dS
b290KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub24tY29udGVudGVkaXRhYmxlLWhvc3QzIiks
ICJ0cnVlIiksIHVzZXJNb2RpZnlQcm9wZXJ0eU5hbWUpIGlzICJyZWFkLXdyaXRlIgogUEFTUyBn
ZXRVc2VyTW9kaWZ5UHJvcGVydHkoImNoaWxkLWEiKSBpcyAicmVhZC13cml0ZSIKLVBBU1MgZ2V0
VXNlck1vZGlmeVByb3BlcnR5KCJjaGlsZC1iIikgaXMgInJlYWQtd3JpdGUiCitGQUlMIGdldFVz
ZXJNb2RpZnlQcm9wZXJ0eSgiY2hpbGQtYiIpIHNob3VsZCBiZSByZWFkLXdyaXRlLiBXYXMgcmVh
ZC1vbmx5LgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRF
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvdXNlci1tb2RpZnktaW5o
ZXJpdGFuY2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy91c2VyLW1vZGlmeS1p
bmhlcml0YW5jZS5odG1sCmluZGV4IDRlYTBjNmFlMDA0YjY1NTU5NTg1YWFjZDY0NWE3ODk1N2Jj
ZmRmMWMuLmI0NDkzMzVmZWMwMDRlNDA5NWRhMzFiNzUxNDdjYzE4NzdmNjQ5MDYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy91c2VyLW1vZGlmeS1pbmhlcml0YW5jZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy91c2VyLW1vZGlmeS1pbmhlcml0
YW5jZS5odG1sCkBAIC02Miw2ICs2Miw3IEBAIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzYW5k
Ym94JykuYXBwZW5kQ2hpbGQoCiBkb2N1bWVudC5ib2R5Lm9mZnNldExlZnQ7CiAKIHNob3VsZEJl
RXF1YWxUb1N0cmluZygnZ2V0VXNlck1vZGlmeVByb3BlcnR5KCJjaGlsZC1hIiknLCAncmVhZC13
cml0ZScpOworLyogRklYTUUoOTAwMTcpOiBjc3MgcHJvcGVydHk6IC11c2VyLW1vZGlmeSBzaG91
bGQgYmUgaW5oZXJpdGVkIGZyb20gcGFyZW50LiovCiBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dl
dFVzZXJNb2RpZnlQcm9wZXJ0eSgiY2hpbGQtYiIpJywgJ3JlYWQtd3JpdGUnKTsKIAogPC9zY3Jp
cHQ+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>