<?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>19702</bug_id>
          
          <creation_ts>2008-06-20 18:33:54 -0700</creation_ts>
          <short_desc>blockquote gets clobbered on delete, but the font-tag inside it doesn&apos;t</short_desc>
          <delta_ts>2012-05-02 13:53:28 -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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>GoogleBug</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ojan Vafai">ovafai</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>ap</cc>
    
    <cc>ayg</cc>
    
    <cc>enrica</cc>
    
    <cc>eric</cc>
    
    <cc>jparent</cc>
    
    <cc>justin.garcia</cc>
    
    <cc>ovafai</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>84022</commentid>
    <comment_count>0</comment_count>
    <who name="Ojan Vafai">ovafai</who>
    <bug_when>2008-06-20 18:33:54 -0700</bug_when>
    <thetext>The test-case attached has instructions. The short version is that there is a font-tag inside a blockquote. Selecting from the beginning of the font-tag to the end of the contentEditable region and hitting delete gets rid of the blockquote tag and not the font tag. 

It should either get rid of both or keep both. I think the right thing is to keep both. This is what IE does. It&apos;s also what MS Word does in my brief testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84023</commentid>
    <comment_count>1</comment_count>
      <attachid>21866</attachid>
    <who name="Ojan Vafai">ovafai</who>
    <bug_when>2008-06-20 18:34:40 -0700</bug_when>
    <thetext>Created attachment 21866
reduced test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614008</commentid>
    <comment_count>2</comment_count>
      <attachid>139753</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-01 23:06:20 -0700</bug_when>
    <thetext>Created attachment 139753
Adds a test

This bug appears to have been fixed. Let&apos;s just add a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614011</commentid>
    <comment_count>3</comment_count>
      <attachid>139753</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-01 23:08:54 -0700</bug_when>
    <thetext>Comment on attachment 139753
Adds a test

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

&gt; LayoutTests/editing/execCommand/delete-line-and-insert-text-in-font-inside-blockquote-expected.txt:3
&gt; +There should be exactly one blockquote and you should see &quot;hello&amp;nbsp;world&quot; below:

WTF... I swear I&apos;ve replaced &amp;nbsp; by a space.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614012</commentid>
    <comment_count>4</comment_count>
      <attachid>139754</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-01 23:09:32 -0700</bug_when>
    <thetext>Created attachment 139754
Did s/&amp;nbsp;/ /</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614582</commentid>
    <comment_count>5</comment_count>
      <attachid>139866</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-05-02 13:12:07 -0700</bug_when>
    <thetext>Created attachment 139866
Right patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614586</commentid>
    <comment_count>6</comment_count>
      <attachid>139866</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2012-05-02 13:13:50 -0700</bug_when>
    <thetext>Comment on attachment 139866
Right patch

Looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614629</commentid>
    <comment_count>7</comment_count>
      <attachid>139866</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-02 13:53:16 -0700</bug_when>
    <thetext>Comment on attachment 139866
Right patch

Clearing flags on attachment: 139866

Committed r115884: &lt;http://trac.webkit.org/changeset/115884&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614630</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-02 13:53:28 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>21866</attachid>
            <date>2008-06-20 18:34:40 -0700</date>
            <delta_ts>2012-05-01 23:06:20 -0700</delta_ts>
            <desc>reduced test case</desc>
            <filename>blockquote-inner-font-remains.html</filename>
            <type>text/html</type>
            <size>413</size>
            <attacher name="Ojan Vafai">ovafai</attacher>
            
              <data encoding="base64">77u/PGh0bWw+Cjxib2R5IGNvbnRlbnRFZGl0YWJsZT4KPGJsb2NrcXVvdGUgc3R5bGU9ImJhY2tn
cm91bmQtY29sb3I6eWVsbG93Ij48YnI+PGZvbnQgc3R5bGU9ImNvbG9yOmJsdWUiPjxicj5QbGFj
ZSBjdXJzb3IgaW4gdGhlIGxpbmUgYWJvdmUgdGhpcyBvbmUuIFRoZW4gc2hpZnQtZG93biB0byB0
aGUgYm90dG9tLiBIaXQgZGVsZXRlIG9yIGJhY2tzcGFjZS4gVHlwZSAiZm9vIi4gTm90ZSB0aGF0
IHlvdSBhcmUgbm93IG91dHNpZGUgb2YgdGhlIGJsb2NrcXVvdGUsIGJ1dCBoYXZlIGEgYmx1ZSBm
b250IGNvbG9yLiBJIHRoaW5rIHRoZSByaWdodCBiZWhhdmlvciBpcyB0byBzYXkgaW5zaWRlIHRo
ZSBibG9ja3F1b3RlIGFuZCB0aGUgZm9udCB0YWcuPC9mb250PjwvYmxvY2txdW90ZT4KPGJyPgo8
L2JvZHk+CjwvaHRtbD4=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139753</attachid>
            <date>2012-05-01 23:06:20 -0700</date>
            <delta_ts>2012-05-01 23:09:32 -0700</delta_ts>
            <desc>Adds a test</desc>
            <filename>fix19702</filename>
            <type>text/plain</type>
            <size>2742</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDExNTc5NikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA1LTAxICBSeW9zdWtlIE5pd2EgIDxy
bml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIGJsb2NrcXVvdGUgZ2V0cyBjbG9iYmVyZWQgb24g
ZGVsZXRlLCBidXQgdGhlIGZvbnQtdGFnIGluc2lkZSBpdCBkb2Vzbid0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTcwMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHJlZ3Jlc3Npb24gdGVzdCBp
bml0aWFsbHkgYXV0aG9yZWQgYnkgT2phbiBWYWZhaSBzaW5jZSB0aGlzIGJ1ZyBhcHBlYXJzIHRv
IGhhdmUgYmVlbiBmaXhlZCBhbHJlYWR5LgorCisgICAgICAgICogZWRpdGluZy9leGVjQ29tbWFu
ZC9kZWxldGUtbGluZS1hbmQtaW5zZXJ0LXRleHQtaW4tZm9udC1pbnNpZGUtYmxvY2txdW90ZS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvZXhlY0NvbW1hbmQvZGVsZXRl
LWxpbmUtYW5kLWluc2VydC10ZXh0LWluLWZvbnQtaW5zaWRlLWJsb2NrcXVvdGUuaHRtbDogQWRk
ZWQuCisKIDIwMTItMDUtMDEgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAg
ICAgIEFkZCA8aWZyYW1lIHNlYW1sZXNzPiBuYXZpZ2F0aW9uIGNvZGUgKGFuZCBwYXNzIGFsbCB0
aGUgbmF2aWdhdGlvbiB0ZXN0cykKSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1h
bmQvZGVsZXRlLWxpbmUtYW5kLWluc2VydC10ZXh0LWluLWZvbnQtaW5zaWRlLWJsb2NrcXVvdGUu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2RlbGV0
ZS1saW5lLWFuZC1pbnNlcnQtdGV4dC1pbi1mb250LWluc2lkZS1ibG9ja3F1b3RlLmh0bWwJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2RlbGV0ZS1saW5l
LWFuZC1pbnNlcnQtdGV4dC1pbi1mb250LWluc2lkZS1ibG9ja3F1b3RlLmh0bWwJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxk
aXYgaWQ9ImNvbnRhaW5lciIgY29udGVudGVkaXRhYmxlPgorPGJsb2NrcXVvdGUgc3R5bGU9ImJh
Y2tncm91bmQtY29sb3I6eWVsbG93Ij48YnI+PGZvbnQgc3R5bGU9ImNvbG9yOmJsdWUiPjxicj4m
bmJzcDt3b3JsZAorPC9mb250PjwvYmxvY2txdW90ZT4KKzwvZGl2PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitN
YXJrdXAuZGVzY3JpcHRpb24oJ1RoaXMgdGVzdHMgZGVsZXRpbmcgYSBsaW5lIGluc2lkZSBhIGZv
bnQgZWxlbWVudCBpbnNpZGUgYSBibG9ja3F1b3RlLicpCisKK3ZhciBmb250ID0gZG9jdW1lbnQu
cXVlcnlTZWxlY3RvcignZm9udCcpOworZ2V0U2VsZWN0aW9uKCkuY29sbGFwc2UoZm9udCwgMCk7
CitnZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ0V4dGVuZCcsICdGb3J3YXJkJywgJ0xpbmUnKTsKK2Rv
Y3VtZW50LmV4ZWNDb21tYW5kKCdEZWxldGUnLCBmYWxzZSwgbnVsbCk7Citkb2N1bWVudC5leGVj
Q29tbWFuZCgnSW5zZXJ0VGV4dCcsIGZhbHNlLCAnaGVsbG8nKTsKKworTWFya3VwLmR1bXAoJ2Nv
bnRhaW5lcicsICdUaGVyZSBzaG91bGQgYmUgZXhhY3RseSBvbmUgYmxvY2txdW90ZSBhbmQgeW91
IHNob3VsZCBzZWUgImhlbGxvIHdvcmxkIiBiZWxvdycpCisKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9kZWxldGUtbGlu
ZS1hbmQtaW5zZXJ0LXRleHQtaW4tZm9udC1pbnNpZGUtYmxvY2txdW90ZS1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9kZWxldGUtbGlu
ZS1hbmQtaW5zZXJ0LXRleHQtaW4tZm9udC1pbnNpZGUtYmxvY2txdW90ZS1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2RlbGV0ZS1s
aW5lLWFuZC1pbnNlcnQtdGV4dC1pbi1mb250LWluc2lkZS1ibG9ja3F1b3RlLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNCBAQAorVGhpcyB0ZXN0cyBkZWxldGluZyBhIGxp
bmUgaW5zaWRlIGEgZm9udCBlbGVtZW50IGluc2lkZSBhIGJsb2NrcXVvdGUuCisKK1RoZXJlIHNo
b3VsZCBiZSBleGFjdGx5IG9uZSBibG9ja3F1b3RlIGFuZCB5b3Ugc2hvdWxkIHNlZSAiaGVsbG8m
bmJzcDt3b3JsZCIgYmVsb3c6Cit8ICIKKyIKK3wgPGJsb2NrcXVvdGU+Cit8ICAgc3R5bGU9ImJh
Y2tncm91bmQtY29sb3I6eWVsbG93IgorfCAgIDxicj4KK3wgICA8Zm9udD4KK3wgICAgIHN0eWxl
PSJjb2xvcjpibHVlIgorfCAgICAgImhlbGxvPCNzZWxlY3Rpb24tY2FyZXQ+IHdvcmxkCisiCit8
ICIKKyIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139754</attachid>
            <date>2012-05-01 23:09:32 -0700</date>
            <delta_ts>2012-05-02 13:12:07 -0700</delta_ts>
            <desc>Did s/&amp;nbsp;/ /</desc>
            <filename>attempt19795b</filename>
            <type>text/plain</type>
            <size>12492</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAJKHJldmlzaW9uIDY4OTcyKQorKysgV2Vi
Q29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzIsMTQg
KzQzMiwxNCBAQAogICAgIFN0cmluZyB0YWdOYW1lID0gdmFsdWUubG93ZXIoKTsKICAgICBpZiAo
dGFnTmFtZVswXSA9PSAnPCcgJiYgdGFnTmFtZVt0YWdOYW1lLmxlbmd0aCgpIC0gMV0gPT0gJz4n
KQogICAgICAgICB0YWdOYW1lID0gdGFnTmFtZS5zdWJzdHJpbmcoMSwgdGFnTmFtZS5sZW5ndGgo
KSAtIDIpOwotICAgIGlmICghdmFsaWRCbG9ja1RhZyh0YWdOYW1lKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwogCiAgICAgRXhjZXB0aW9uQ29kZSBlYzsKICAgICBTdHJpbmcgbG9jYWxOYW1lLCBw
cmVmaXg7CiAgICAgaWYgKCFEb2N1bWVudDo6cGFyc2VRdWFsaWZpZWROYW1lKHRhZ05hbWUsIHBy
ZWZpeCwgbG9jYWxOYW1lLCBlYykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBRdWFsaWZp
ZWROYW1lIHF1YWxpZmllZFRhZ05hbWUocHJlZml4LCBsb2NhbE5hbWUsIHhodG1sTmFtZXNwYWNl
VVJJKTsKKyAgICBpZiAoIUZvcm1hdEJsb2NrQ29tbWFuZDo6aXNGb3JtYXRCbG9ja0VsZW1lbnQo
cXVhbGlmaWVkVGFnTmFtZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGFwcGx5Q29t
bWFuZChGb3JtYXRCbG9ja0NvbW1hbmQ6OmNyZWF0ZShmcmFtZS0+ZG9jdW1lbnQoKSwgcXVhbGlm
aWVkVGFnTmFtZSkpOwogICAgIHJldHVybiB0cnVlOwpJbmRleDogV2ViQ29yZS9lZGl0aW5nL0Zv
cm1hdEJsb2NrQ29tbWFuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9lZGl0aW5nL0Zvcm1h
dEJsb2NrQ29tbWFuZC5jcHAJKHJldmlzaW9uIDY4OTcyKQorKysgV2ViQ29yZS9lZGl0aW5nL0Zv
cm1hdEJsb2NrQ29tbWFuZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDQwICs0MSw4NSBAQAog
ewogfQogCi12b2lkIEZvcm1hdEJsb2NrQ29tbWFuZDo6Zm9ybWF0UGFyYWdyYXBoKGNvbnN0IFZp
c2libGVQb3NpdGlvbiYgZW5kT2ZDdXJyZW50UGFyYWdyYXBoLCBSZWZQdHI8RWxlbWVudD4mKQor
dm9pZCBGb3JtYXRCbG9ja0NvbW1hbmQ6OmZvcm1hdFBhcmFncmFwaChjb25zdCBWaXNpYmxlUG9z
aXRpb24mIGVuZE9mQ3VycmVudFBhcmFncmFwaCwgUmVmUHRyPEVsZW1lbnQ+JiBibG9ja05vZGUp
CiB7Ci0gICAgc2V0RW5kaW5nU2VsZWN0aW9uKGVuZE9mQ3VycmVudFBhcmFncmFwaCk7Ci0gICAg
Tm9kZSogcmVmTm9kZSA9IGVuY2xvc2luZ0Jsb2NrRmxvd0VsZW1lbnQoZW5kaW5nU2VsZWN0aW9u
KCkudmlzaWJsZVN0YXJ0KCkpOwotICAgIGlmIChyZWZOb2RlLT5oYXNUYWdOYW1lKHRhZ05hbWUo
KSkpCi0gICAgICAgIC8vIFdlJ3JlIGFscmVhZHkgaW4gYSBibG9jayB3aXRoIHRoZSBmb3JtYXQg
d2Ugd2FudCwgc28gd2UgZG9uJ3QgaGF2ZSB0byBkbyBhbnl0aGluZwotICAgICAgICByZXR1cm47
CisgICAgUG9zaXRpb24gc3RhcnQgPSBzdGFydE9mUGFyYWdyYXBoKGVuZE9mQ3VycmVudFBhcmFn
cmFwaCkuZGVlcEVxdWl2YWxlbnQoKTsKKyAgICBOb2RlKiBub2RlVG9TcGxpdFRvID0gZW5jbG9z
aW5nQmxvY2tUb1NwbGl0VHJlZVRvKHN0YXJ0Lm5vZGUoKSk7CisgICAgUmVmUHRyPE5vZGU+IG91
dGVyQmxvY2sgPSAoc3RhcnQubm9kZSgpID09IG5vZGVUb1NwbGl0VG8pID8gc3RhcnQubm9kZSgp
IDogc3BsaXRUcmVlVG9Ob2RlKHN0YXJ0Lm5vZGUoKSwgbm9kZVRvU3BsaXRUbyk7CisgICAgUmVm
UHRyPE5vZGU+IG5vZGVBZnRlckluc2VydGlvblBvc2l0aW9uID0gb3V0ZXJCbG9jazsKIAotICAg
IFZpc2libGVQb3NpdGlvbiBwYXJhZ3JhcGhTdGFydCA9IHN0YXJ0T2ZQYXJhZ3JhcGgoZW5kaW5n
U2VsZWN0aW9uKCkudmlzaWJsZVN0YXJ0KCkpOwotICAgIFZpc2libGVQb3NpdGlvbiBwYXJhZ3Jh
cGhFbmQgPSBlbmRPZlBhcmFncmFwaChlbmRpbmdTZWxlY3Rpb24oKS52aXNpYmxlU3RhcnQoKSk7
Ci0gICAgVmlzaWJsZVBvc2l0aW9uIGJsb2NrU3RhcnQgPSBzdGFydE9mQmxvY2soZW5kaW5nU2Vs
ZWN0aW9uKCkudmlzaWJsZVN0YXJ0KCkpOwotICAgIFZpc2libGVQb3NpdGlvbiBibG9ja0VuZCA9
IGVuZE9mQmxvY2soZW5kaW5nU2VsZWN0aW9uKCkudmlzaWJsZVN0YXJ0KCkpOwotICAgIFJlZlB0
cjxFbGVtZW50PiBibG9ja05vZGUgPSBjcmVhdGVCbG9ja0VsZW1lbnQoKTsKLSAgICBSZWZQdHI8
RWxlbWVudD4gcGxhY2Vob2xkZXIgPSBjcmVhdGVCcmVha0VsZW1lbnQoZG9jdW1lbnQoKSk7Ci0K
LSAgICBOb2RlKiByb290ID0gZW5kaW5nU2VsZWN0aW9uKCkuc3RhcnQoKS5ub2RlKCktPnJvb3RF
ZGl0YWJsZUVsZW1lbnQoKTsKLSAgICBpZiAodmFsaWRCbG9ja1RhZyhyZWZOb2RlLT5ub2RlTmFt
ZSgpLmxvd2VyKCkpICYmIAotICAgICAgICBwYXJhZ3JhcGhTdGFydCA9PSBibG9ja1N0YXJ0ICYm
IHBhcmFncmFwaEVuZCA9PSBibG9ja0VuZCAmJiAKKyAgICBWaXNpYmxlUG9zaXRpb24gYmxvY2tT
dGFydCA9IHN0YXJ0T2ZCbG9jayhlbmRPZkN1cnJlbnRQYXJhZ3JhcGgpOworICAgIFZpc2libGVQ
b3NpdGlvbiBibG9ja0VuZCA9IGVuZE9mQmxvY2soZW5kT2ZDdXJyZW50UGFyYWdyYXBoKTsKKyAg
ICBFbGVtZW50KiByZWZOb2RlID0gZW5jbG9zaW5nQmxvY2tGbG93RWxlbWVudChlbmRPZkN1cnJl
bnRQYXJhZ3JhcGgpOworICAgIEVsZW1lbnQqIHJvb3QgPSBlbmRPZkN1cnJlbnRQYXJhZ3JhcGgu
cm9vdEVkaXRhYmxlRWxlbWVudCgpOworICAgIGlmIChpc0Zvcm1hdEJsb2NrRWxlbWVudChyZWZO
b2RlLT50YWdRTmFtZSgpKSAmJgorICAgICAgICBzdGFydE9mUGFyYWdyYXBoKGVuZE9mQ3VycmVu
dFBhcmFncmFwaCkgPT0gYmxvY2tTdGFydCAmJiBlbmRPZkN1cnJlbnRQYXJhZ3JhcGggPT0gYmxv
Y2tFbmQgJiYgCiAgICAgICAgIHJlZk5vZGUgIT0gcm9vdCAmJiAhcm9vdC0+aXNEZXNjZW5kYW50
T2YocmVmTm9kZSkpCiAgICAgICAgIC8vIEFscmVhZHkgaW4gYSB2YWxpZCBibG9jayB0YWcgdGhh
dCBvbmx5IGNvbnRhaW5zIHRoZSBjdXJyZW50IHBhcmFncmFwaCwgc28gd2UgY2FuIHN3YXAgd2l0
aCB0aGUgbmV3IHRhZwotICAgICAgICBpbnNlcnROb2RlQmVmb3JlKGJsb2NrTm9kZSwgcmVmTm9k
ZSk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIC8vIEF2b2lkIGluc2VydGluZyBpbnNpZGUgaW5saW5l
IGVsZW1lbnRzIHRoYXQgc3Vycm91bmQgcGFyYWdyYXBoU3RhcnQgd2l0aCB1cHN0cmVhbSgpLgot
ICAgICAgICAvLyBUaGlzIGlzIG9ubHkgdG8gYXZvaWQgY3JlYXRpbmcgYmxvYXRlZCBtYXJrdXAu
Ci0gICAgICAgIGluc2VydE5vZGVBdChibG9ja05vZGUsIHBhcmFncmFwaFN0YXJ0LmRlZXBFcXVp
dmFsZW50KCkudXBzdHJlYW0oKSk7CisgICAgICAgIG5vZGVBZnRlckluc2VydGlvblBvc2l0aW9u
ID0gcmVmTm9kZTsKKworICAgIGlmICghYmxvY2tOb2RlKSB7CisgICAgICAgIC8vIENyZWF0ZSBh
IG5ldyBibG9ja3F1b3RlIGFuZCBpbnNlcnQgaXQgYXMgYSBjaGlsZCBvZiB0aGUgcm9vdCBlZGl0
YWJsZSBlbGVtZW50LiBXZSBhY2NvbXBsaXNoCisgICAgICAgIC8vIHRoaXMgYnkgc3BsaXR0aW5n
IGFsbCBwYXJlbnRzIG9mIHRoZSBjdXJyZW50IHBhcmFncmFwaCB1cCB0byB0aGF0IHBvaW50Lgor
ICAgICAgICBibG9ja05vZGUgPSBjcmVhdGVCbG9ja0VsZW1lbnQoKTsKKyAgICAgICAgaW5zZXJ0
Tm9kZUJlZm9yZShibG9ja05vZGUsIG5vZGVBZnRlckluc2VydGlvblBvc2l0aW9uKTsKICAgICB9
Ci0gICAgYXBwZW5kTm9kZShwbGFjZWhvbGRlciwgYmxvY2tOb2RlKTsKIAotICAgIFZpc2libGVQ
b3NpdGlvbiBkZXN0aW5hdGlvbihQb3NpdGlvbihwbGFjZWhvbGRlci5nZXQoKSwgMCkpOwotICAg
IGlmIChwYXJhZ3JhcGhTdGFydCA9PSBwYXJhZ3JhcGhFbmQgJiYgIWxpbmVCcmVha0V4aXN0c0F0
VmlzaWJsZVBvc2l0aW9uKHBhcmFncmFwaFN0YXJ0KSkgewotICAgICAgICBzZXRFbmRpbmdTZWxl
Y3Rpb24oZGVzdGluYXRpb24pOwotICAgICAgICByZXR1cm47CisgICAgUG9zaXRpb24gbGFzdFBh
cmFncmFwaEluQmxvY2tOb2RlID0gbGFzdFBvc2l0aW9uSW5Ob2RlKGJsb2NrTm9kZS5nZXQoKSk7
CisgICAgYm9vbCB3YXNFbmRPZlBhcmFncmFwaCA9IGlzRW5kT2ZQYXJhZ3JhcGgobGFzdFBhcmFn
cmFwaEluQmxvY2tOb2RlKTsKKworICAgIG1vdmVQYXJhZ3JhcGhXaXRoQ2xvbmVzKHN0YXJ0T2ZQ
YXJhZ3JhcGgoZW5kT2ZDdXJyZW50UGFyYWdyYXBoKSwgZW5kT2ZDdXJyZW50UGFyYWdyYXBoLCBi
bG9ja05vZGUuZ2V0KCksIG91dGVyQmxvY2suZ2V0KCkpOworCisgICAgaWYgKHdhc0VuZE9mUGFy
YWdyYXBoICYmICFpc0VuZE9mUGFyYWdyYXBoKGxhc3RQYXJhZ3JhcGhJbkJsb2NrTm9kZSkpCisg
ICAgICAgIGluc2VydEJsb2NrUGxhY2Vob2xkZXIobGFzdFBhcmFncmFwaEluQmxvY2tOb2RlKTsK
K30KKworLy8gRklYTUU6IFdlIHNob3VsZCBjb25zaWRlciBtZXJpbmcgdGhpcyBmdW5jdGlvbiB3
aXRoIGlzRWxlbWVudEZvckZvcm1hdEJsb2NrQ29tbWFuZCBpbiBFZGl0b3IuY3BwCisvLyBDaGVj
a3MgaWYgYSB0YWcgbmFtZSBpcyB2YWxpZCBmb3IgZXhlY0NvbW1hbmQoJ0Zvcm1hdEJsb2NrJyku
Citib29sIEZvcm1hdEJsb2NrQ29tbWFuZDo6aXNGb3JtYXRCbG9ja0VsZW1lbnQoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSkKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEhhc2hTZXQ8
UXVhbGlmaWVkTmFtZT4sIGJsb2NrVGFncywgKCkpOworICAgIGlmIChibG9ja1RhZ3MuaXNFbXB0
eSgpKSB7CisgICAgICAgIGJsb2NrVGFncy5hZGQoYWRkcmVzc1RhZyk7CisgICAgICAgIGJsb2Nr
VGFncy5hZGQoYXJ0aWNsZVRhZyk7CisgICAgICAgIGJsb2NrVGFncy5hZGQoYXNpZGVUYWcpOwor
ICAgICAgICBibG9ja1RhZ3MuYWRkKGJsb2NrcXVvdGVUYWcpOworICAgICAgICBibG9ja1RhZ3Mu
YWRkKGRkVGFnKTsKKyAgICAgICAgYmxvY2tUYWdzLmFkZChkaXZUYWcpOworICAgICAgICBibG9j
a1RhZ3MuYWRkKGRsVGFnKTsKKyAgICAgICAgYmxvY2tUYWdzLmFkZChkdFRhZyk7CisgICAgICAg
IGJsb2NrVGFncy5hZGQoZm9vdGVyVGFnKTsKKyAgICAgICAgYmxvY2tUYWdzLmFkZChoMVRhZyk7
CisgICAgICAgIGJsb2NrVGFncy5hZGQoaDJUYWcpOworICAgICAgICBibG9ja1RhZ3MuYWRkKGgz
VGFnKTsKKyAgICAgICAgYmxvY2tUYWdzLmFkZChoNFRhZyk7CisgICAgICAgIGJsb2NrVGFncy5h
ZGQoaDVUYWcpOworICAgICAgICBibG9ja1RhZ3MuYWRkKGg2VGFnKTsKKyAgICAgICAgYmxvY2tU
YWdzLmFkZChoZWFkZXJUYWcpOworICAgICAgICBibG9ja1RhZ3MuYWRkKGhncm91cFRhZyk7Cisg
ICAgICAgIGJsb2NrVGFncy5hZGQobmF2VGFnKTsKKyAgICAgICAgYmxvY2tUYWdzLmFkZChwVGFn
KTsKKyAgICAgICAgYmxvY2tUYWdzLmFkZChwcmVUYWcpOworICAgICAgICBibG9ja1RhZ3MuYWRk
KHNlY3Rpb25UYWcpOwogICAgIH0KLSAgICBtb3ZlUGFyYWdyYXBoKHBhcmFncmFwaFN0YXJ0LCBw
YXJhZ3JhcGhFbmQsIGRlc3RpbmF0aW9uLCB0cnVlLCBmYWxzZSk7CisgICAgcmV0dXJuIGJsb2Nr
VGFncy5jb250YWlucyh0YWdOYW1lKTsKIH0KIAorTm9kZSogRm9ybWF0QmxvY2tDb21tYW5kOjpl
bmNsb3NpbmdCbG9ja1RvU3BsaXRUcmVlVG8oTm9kZSogc3RhcnROb2RlKQoreworICAgIE5vZGUq
IGxhc3RCbG9jayA9IHN0YXJ0Tm9kZTsKKyAgICBmb3IgKE5vZGUqIG4gPSBzdGFydE5vZGU7IG47
IG4gPSBuLT5wYXJlbnROb2RlKCkpIHsKKyAgICAgICAgaWYgKCFuLT5pc0NvbnRlbnRFZGl0YWJs
ZSgpKQorICAgICAgICAgICAgcmV0dXJuIGxhc3RCbG9jazsKKyAgICAgICAgaWYgKGlzVGFibGVD
ZWxsKG4pIHx8IG4tPmhhc1RhZ05hbWUoYm9keVRhZykgfHwgIW4tPnBhcmVudE5vZGUoKSB8fCAh
bi0+cGFyZW50Tm9kZSgpLT5pc0NvbnRlbnRFZGl0YWJsZSgpCisgICAgICAgICAgICB8fCAobi0+
aXNFbGVtZW50Tm9kZSgpICYmIGlzRm9ybWF0QmxvY2tFbGVtZW50KHN0YXRpY19jYXN0PEVsZW1l
bnQqPihuKS0+dGFnUU5hbWUoKSkpKQorICAgICAgICAgICAgcmV0dXJuIG47CisgICAgICAgIGlm
IChpc0Jsb2NrKG4pKQorICAgICAgICAgICAgbGFzdEJsb2NrID0gMDsKKyAgICAgICAgaWYgKGlz
TGlzdEVsZW1lbnQobikpCisgICAgICAgICAgICByZXR1cm4gbGFzdEJsb2NrOworICAgIH0KKyAg
ICByZXR1cm4gbGFzdEJsb2NrOwogfQorCit9CkluZGV4OiBXZWJDb3JlL2VkaXRpbmcvRm9ybWF0
QmxvY2tDb21tYW5kLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9lZGl0aW5nL0Zvcm1hdEJsb2Nr
Q29tbWFuZC5oCShyZXZpc2lvbiA2ODk3MikKKysrIFdlYkNvcmUvZWRpdGluZy9Gb3JtYXRCbG9j
a0NvbW1hbmQuaAkod29ya2luZyBjb3B5KQpAQCAtMzgsMTAgKzM4LDEzIEBACiAgICAgICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgRm9ybWF0QmxvY2tDb21tYW5kKGRvY3VtZW50LCB0YWdOYW1lKSk7
CiAgICAgfQogCisgICAgc3RhdGljIGJvb2wgaXNGb3JtYXRCbG9ja0VsZW1lbnQoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSk7CisKIHByaXZhdGU6CiAgICAgRm9ybWF0QmxvY2tDb21tYW5k
KERvY3VtZW50KiwgY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSk7CiAKICAgICB2aXJ0dWFs
IHZvaWQgZm9ybWF0UGFyYWdyYXBoKGNvbnN0IFZpc2libGVQb3NpdGlvbiYgZW5kT2ZDdXJyZW50
UGFyYWdyYXBoLCBSZWZQdHI8RWxlbWVudD4mKTsKKyAgICBOb2RlKiBlbmNsb3NpbmdCbG9ja1Rv
U3BsaXRUcmVlVG8oTm9kZSogc3RhcnROb2RlKTsKICAgICB2aXJ0dWFsIEVkaXRBY3Rpb24gZWRp
dGluZ0FjdGlvbigpIGNvbnN0IHsgcmV0dXJuIEVkaXRBY3Rpb25Gb3JtYXRCbG9jazsgfQogfTsK
IApJbmRleDogV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwCShyZXZpc2lvbiA2ODk3MikKKysrIFdlYkNv
cmUvZWRpdGluZy9odG1sZWRpdGluZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2NSwzOSArNDY1
LDYgQEAKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLS8vIENoZWNrcyBpZiBhIHN0cmluZyBpcyBh
IHZhbGlkIHRhZyBmb3IgdGhlIEZvcm1hdEJsb2NrQ29tbWFuZCBmdW5jdGlvbiBvZiBleGVjQ29t
bWFuZC4gRXhwZWN0cyBsb3dlciBjYXNlIHN0cmluZ3MuCi1ib29sIHZhbGlkQmxvY2tUYWcoY29u
c3QgQXRvbWljU3RyaW5nJiBibG9ja1RhZykKLXsKLSAgICBpZiAoYmxvY2tUYWcuaXNFbXB0eSgp
KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEhhc2hT
ZXQ8QXRvbWljU3RyaW5nPiwgYmxvY2tUYWdzLCAoKSk7Ci0gICAgaWYgKGJsb2NrVGFncy5pc0Vt
cHR5KCkpIHsKLSAgICAgICAgYmxvY2tUYWdzLmFkZChhZGRyZXNzVGFnLmxvY2FsTmFtZSgpKTsK
LSAgICAgICAgYmxvY2tUYWdzLmFkZChhcnRpY2xlVGFnLmxvY2FsTmFtZSgpKTsKLSAgICAgICAg
YmxvY2tUYWdzLmFkZChhc2lkZVRhZy5sb2NhbE5hbWUoKSk7Ci0gICAgICAgIGJsb2NrVGFncy5h
ZGQoYmxvY2txdW90ZVRhZy5sb2NhbE5hbWUoKSk7Ci0gICAgICAgIGJsb2NrVGFncy5hZGQoZGRU
YWcubG9jYWxOYW1lKCkpOwotICAgICAgICBibG9ja1RhZ3MuYWRkKGRpdlRhZy5sb2NhbE5hbWUo
KSk7Ci0gICAgICAgIGJsb2NrVGFncy5hZGQoZGxUYWcubG9jYWxOYW1lKCkpOwotICAgICAgICBi
bG9ja1RhZ3MuYWRkKGR0VGFnLmxvY2FsTmFtZSgpKTsKLSAgICAgICAgYmxvY2tUYWdzLmFkZChm
b290ZXJUYWcubG9jYWxOYW1lKCkpOwotICAgICAgICBibG9ja1RhZ3MuYWRkKGgxVGFnLmxvY2Fs
TmFtZSgpKTsKLSAgICAgICAgYmxvY2tUYWdzLmFkZChoMlRhZy5sb2NhbE5hbWUoKSk7Ci0gICAg
ICAgIGJsb2NrVGFncy5hZGQoaDNUYWcubG9jYWxOYW1lKCkpOwotICAgICAgICBibG9ja1RhZ3Mu
YWRkKGg0VGFnLmxvY2FsTmFtZSgpKTsKLSAgICAgICAgYmxvY2tUYWdzLmFkZChoNVRhZy5sb2Nh
bE5hbWUoKSk7Ci0gICAgICAgIGJsb2NrVGFncy5hZGQoaDZUYWcubG9jYWxOYW1lKCkpOwotICAg
ICAgICBibG9ja1RhZ3MuYWRkKGhlYWRlclRhZy5sb2NhbE5hbWUoKSk7Ci0gICAgICAgIGJsb2Nr
VGFncy5hZGQoaGdyb3VwVGFnLmxvY2FsTmFtZSgpKTsKLSAgICAgICAgYmxvY2tUYWdzLmFkZChu
YXZUYWcubG9jYWxOYW1lKCkpOwotICAgICAgICBibG9ja1RhZ3MuYWRkKHBUYWcubG9jYWxOYW1l
KCkpOwotICAgICAgICBibG9ja1RhZ3MuYWRkKHByZVRhZy5sb2NhbE5hbWUoKSk7Ci0gICAgICAg
IGJsb2NrVGFncy5hZGQoc2VjdGlvblRhZy5sb2NhbE5hbWUoKSk7Ci0gICAgfQotICAgIHJldHVy
biBibG9ja1RhZ3MuY29udGFpbnMoYmxvY2tUYWcpOwotfQotCiBzdGF0aWMgTm9kZSogZmlyc3RJ
blNwZWNpYWxFbGVtZW50KGNvbnN0IFBvc2l0aW9uJiBwb3MpCiB7CiAgICAgLy8gRklYTUU6IFRo
aXMgYmVnaW5zIGF0IHBvcy5ub2RlKCksIHdoaWNoIGRvZXNuJ3QgbmVjZXNzYXJpbHkgY29udGFp
biBwb3MgKHN1cHBvc2UgcG9zIHdhcyBbaW1nLCAwXSkuICBTZWUgPHJkYXI6Ly9wcm9ibGVtLzUw
Mjc3MDI+LgpJbmRleDogV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5jcHAJKHJldmlzaW9uIDY4
OTcyKQorKysgV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTYyOSw3ICs2MjksNyBAQAogICAgIHJldHVybiBjb2RlID09IDA7CiB9CiAKLU5vZGUg
KmVuY2xvc2luZ0Jsb2NrRmxvd0VsZW1lbnQoY29uc3QgVmlzaWJsZVBvc2l0aW9uICZ2aXNpYmxl
UG9zaXRpb24pCitFbGVtZW50KiBlbmNsb3NpbmdCbG9ja0Zsb3dFbGVtZW50KGNvbnN0IFZpc2li
bGVQb3NpdGlvbiAmdmlzaWJsZVBvc2l0aW9uKQogewogICAgIGlmICh2aXNpYmxlUG9zaXRpb24u
aXNOdWxsKCkpCiAgICAgICAgIHJldHVybiBOVUxMOwpJbmRleDogV2ViQ29yZS9lZGl0aW5nL0Fw
cGx5QmxvY2tFbGVtZW50Q29tbWFuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9lZGl0aW5n
L0FwcGx5QmxvY2tFbGVtZW50Q29tbWFuZC5jcHAJKHJldmlzaW9uIDY4OTcyKQorKysgV2ViQ29y
ZS9lZGl0aW5nL0FwcGx5QmxvY2tFbGVtZW50Q29tbWFuZC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEyMiw3ICsxMjIsNyBAQAogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgUmVmUHRyPEVs
ZW1lbnQ+IGJsb2NrcXVvdGVGb3JOZXh0SW5kZW50OworICAgIFJlZlB0cjxFbGVtZW50PiBibG9j
a0VsZW1lbnQ7CiAgICAgVmlzaWJsZVBvc2l0aW9uIGVuZE9mQ3VycmVudFBhcmFncmFwaCA9IGVu
ZE9mUGFyYWdyYXBoKHN0YXJ0T2ZTZWxlY3Rpb24pOwogICAgIFZpc2libGVQb3NpdGlvbiBlbmRB
ZnRlclNlbGVjdGlvbiA9IGVuZE9mUGFyYWdyYXBoKGVuZE9mUGFyYWdyYXBoKGVuZE9mU2VsZWN0
aW9uKS5uZXh0KCkpOwogICAgIGludCBlbmRPZkN1cnJlbnRQYXJhZ3JhcGhJbmRleCA9IGluZGV4
Rm9yVmlzaWJsZVBvc2l0aW9uKGVuZE9mQ3VycmVudFBhcmFncmFwaCk7CkBAIC0xNDgsMTYgKzE0
OCwxNSBAQAogICAgICAgICBWaXNpYmxlUG9zaXRpb24gZW5kT2ZOZXh0UGFyYWdyYXBoID0gZW5k
T2ZQYXJhZ3JhcGgoZW5kT2ZDdXJyZW50UGFyYWdyYXBoLm5leHQoKSk7CiAgICAgICAgIE5vZGUq
IGVuY2xvc2luZ0NlbGwgPSBlbmNsb3NpbmdOb2RlT2ZUeXBlKHN0YXJ0LCAmaXNUYWJsZUNlbGwp
OwogCi0gICAgICAgIGZvcm1hdFBhcmFncmFwaChlbmRPZkN1cnJlbnRQYXJhZ3JhcGgsIGJsb2Nr
cXVvdGVGb3JOZXh0SW5kZW50KTsKKyAgICAgICAgZm9ybWF0UGFyYWdyYXBoKGVuZE9mQ3VycmVu
dFBhcmFncmFwaCwgYmxvY2tFbGVtZW50KTsKIAotICAgICAgICAvLyBEb24ndCBwdXQgdGhlIG5l
eHQgcGFyYWdyYXBoIGluIHRoZSBibG9ja3F1b3RlIHdlIGp1c3QgY3JlYXRlZCBmb3IgdGhpcyBw
YXJhZ3JhcGggdW5sZXNzIAorICAgICAgICAvLyBEb24ndCBwdXQgdGhlIG5leHQgcGFyYWdyYXBo
IGluIHRoZSBibG9jayBlbGVtZW50IHdlIGp1c3QgY3JlYXRlZCBmb3IgdGhpcyBwYXJhZ3JhcGgg
dW5sZXNzIAogICAgICAgICAvLyB0aGUgbmV4dCBwYXJhZ3JhcGggaXMgaW4gdGhlIHNhbWUgY2Vs
bC4KICAgICAgICAgaWYgKGVuY2xvc2luZ0NlbGwgJiYgZW5jbG9zaW5nQ2VsbCAhPSBlbmNsb3Np
bmdOb2RlT2ZUeXBlKGVuZE9mTmV4dFBhcmFncmFwaC5kZWVwRXF1aXZhbGVudCgpLCAmaXNUYWJs
ZUNlbGwpKQotICAgICAgICAgICAgYmxvY2txdW90ZUZvck5leHRJbmRlbnQgPSAwOworICAgICAg
ICAgICAgYmxvY2tFbGVtZW50ID0gMDsKIAotICAgICAgICAvLyBpbmRlbnRJbnRvQmxvY2txdW90
ZSBjb3VsZCBtb3ZlIG1vcmUgdGhhbiBvbmUgcGFyYWdyYXBoIGlmIHRoZSBwYXJhZ3JhcGgKLSAg
ICAgICAgLy8gaXMgaW4gYSBsaXN0IGl0ZW0gb3IgYSB0YWJsZS4gQXMgYSByZXN1bHQsIGVuZEFm
dGVyU2VsZWN0aW9uIGNvdWxkIHJlZmVyIHRvIGEgcG9zaXRpb24KLSAgICAgICAgLy8gbm8gbG9u
Z2VyIGluIHRoZSBkb2N1bWVudC4KKyAgICAgICAgLy8gZm9ybWF0UGFyYWdyYXBoIGNvdWxkIG1v
dmUgbW9yZSB0aGFuIG9uZSBwYXJhZ3JhcGggaWYgdGhlIHBhcmFncmFwaCBpcyBpbiBhIGxpc3Qg
aXRlbSBvciBhIHRhYmxlLgorICAgICAgICAvLyBBcyBhIHJlc3VsdCwgZW5kQWZ0ZXJTZWxlY3Rp
b24gY291bGQgcmVmZXIgdG8gYSBwb3NpdGlvbiBubyBsb25nZXIgaW4gdGhlIGRvY3VtZW50Lgog
ICAgICAgICBpZiAoZW5kQWZ0ZXJTZWxlY3Rpb24uaXNOb3ROdWxsKCkgJiYgIWVuZEFmdGVyU2Vs
ZWN0aW9uLmRlZXBFcXVpdmFsZW50KCkubm9kZSgpLT5pbkRvY3VtZW50KCkpCiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgLy8gU2FuaXR5IGNoZWNrOiBNYWtlIHN1cmUgb3VyIG1vdmVQYXJh
Z3JhcGggY2FsbHMgZGlkbid0IHJlbW92ZSBlbmRPZk5leHRQYXJhZ3JhcGguZGVlcEVxdWl2YWxl
bnQoKS5ub2RlKCkKSW5kZXg6IFdlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5oCShyZXZpc2lvbiA2ODk3MikKKysr
IFdlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMjgsNyAr
MjI4LDYgQEAKICAgICAKIFN0cmluZyBzdHJpbmdXaXRoUmViYWxhbmNlZFdoaXRlc3BhY2UoY29u
c3QgU3RyaW5nJiwgYm9vbCwgYm9vbCk7CiBjb25zdCBTdHJpbmcmIG5vbkJyZWFraW5nU3BhY2VT
dHJpbmcoKTsKLWJvb2wgdmFsaWRCbG9ja1RhZyhjb25zdCBBdG9taWNTdHJpbmcmKTsKICAgICAK
IAogfQpJbmRleDogV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVQb3NpdGlvbi5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvZWRpdGluZy9WaXNpYmxlUG9zaXRpb24uaAkocmV2aXNpb24gNjg5NzIpCisr
KyBXZWJDb3JlL2VkaXRpbmcvVmlzaWJsZVBvc2l0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTEz
Niw3ICsxMzYsNyBAQAogVmlzaWJsZVBvc2l0aW9uIHN0YXJ0VmlzaWJsZVBvc2l0aW9uKGNvbnN0
IFJhbmdlKiwgRUFmZmluaXR5KTsKIFZpc2libGVQb3NpdGlvbiBlbmRWaXNpYmxlUG9zaXRpb24o
Y29uc3QgUmFuZ2UqLCBFQWZmaW5pdHkpOwogCi1Ob2RlICplbmNsb3NpbmdCbG9ja0Zsb3dFbGVt
ZW50KGNvbnN0IFZpc2libGVQb3NpdGlvbiYpOworRWxlbWVudCogZW5jbG9zaW5nQmxvY2tGbG93
RWxlbWVudChjb25zdCBWaXNpYmxlUG9zaXRpb24mKTsKIAogYm9vbCBpc0ZpcnN0VmlzaWJsZVBv
c2l0aW9uSW5Ob2RlKGNvbnN0IFZpc2libGVQb3NpdGlvbiYsIGNvbnN0IE5vZGUqKTsKIGJvb2wg
aXNMYXN0VmlzaWJsZVBvc2l0aW9uSW5Ob2RlKGNvbnN0IFZpc2libGVQb3NpdGlvbiYsIGNvbnN0
IE5vZGUqKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139866</attachid>
            <date>2012-05-02 13:12:07 -0700</date>
            <delta_ts>2012-05-02 13:53:15 -0700</delta_ts>
            <desc>Right patch</desc>
            <filename>fix19702b</filename>
            <type>text/plain</type>
            <size>2737</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDExNTc5NikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA1LTAxICBSeW9zdWtlIE5pd2EgIDxy
bml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIGJsb2NrcXVvdGUgZ2V0cyBjbG9iYmVyZWQgb24g
ZGVsZXRlLCBidXQgdGhlIGZvbnQtdGFnIGluc2lkZSBpdCBkb2Vzbid0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTcwMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIHJlZ3Jlc3Npb24gdGVzdCBp
bml0aWFsbHkgYXV0aG9yZWQgYnkgT2phbiBWYWZhaSBzaW5jZSB0aGlzIGJ1ZyBhcHBlYXJzIHRv
IGhhdmUgYmVlbiBmaXhlZCBhbHJlYWR5LgorCisgICAgICAgICogZWRpdGluZy9leGVjQ29tbWFu
ZC9kZWxldGUtbGluZS1hbmQtaW5zZXJ0LXRleHQtaW4tZm9udC1pbnNpZGUtYmxvY2txdW90ZS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvZXhlY0NvbW1hbmQvZGVsZXRl
LWxpbmUtYW5kLWluc2VydC10ZXh0LWluLWZvbnQtaW5zaWRlLWJsb2NrcXVvdGUuaHRtbDogQWRk
ZWQuCisKIDIwMTItMDUtMDEgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAg
ICAgIEFkZCA8aWZyYW1lIHNlYW1sZXNzPiBuYXZpZ2F0aW9uIGNvZGUgKGFuZCBwYXNzIGFsbCB0
aGUgbmF2aWdhdGlvbiB0ZXN0cykKSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1h
bmQvZGVsZXRlLWxpbmUtYW5kLWluc2VydC10ZXh0LWluLWZvbnQtaW5zaWRlLWJsb2NrcXVvdGUu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2RlbGV0
ZS1saW5lLWFuZC1pbnNlcnQtdGV4dC1pbi1mb250LWluc2lkZS1ibG9ja3F1b3RlLmh0bWwJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2RlbGV0ZS1saW5l
LWFuZC1pbnNlcnQtdGV4dC1pbi1mb250LWluc2lkZS1ibG9ja3F1b3RlLmh0bWwJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxk
aXYgaWQ9ImNvbnRhaW5lciIgY29udGVudGVkaXRhYmxlPgorPGJsb2NrcXVvdGUgc3R5bGU9ImJh
Y2tncm91bmQtY29sb3I6eWVsbG93Ij48YnI+PGZvbnQgc3R5bGU9ImNvbG9yOmJsdWUiPjxicj4m
bmJzcDt3b3JsZAorPC9mb250PjwvYmxvY2txdW90ZT4KKzwvZGl2PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitN
YXJrdXAuZGVzY3JpcHRpb24oJ1RoaXMgdGVzdHMgZGVsZXRpbmcgYSBsaW5lIGluc2lkZSBhIGZv
bnQgZWxlbWVudCBpbnNpZGUgYSBibG9ja3F1b3RlLicpCisKK3ZhciBmb250ID0gZG9jdW1lbnQu
cXVlcnlTZWxlY3RvcignZm9udCcpOworZ2V0U2VsZWN0aW9uKCkuY29sbGFwc2UoZm9udCwgMCk7
CitnZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ0V4dGVuZCcsICdGb3J3YXJkJywgJ0xpbmUnKTsKK2Rv
Y3VtZW50LmV4ZWNDb21tYW5kKCdEZWxldGUnLCBmYWxzZSwgbnVsbCk7Citkb2N1bWVudC5leGVj
Q29tbWFuZCgnSW5zZXJ0VGV4dCcsIGZhbHNlLCAnaGVsbG8nKTsKKworTWFya3VwLmR1bXAoJ2Nv
bnRhaW5lcicsICdUaGVyZSBzaG91bGQgYmUgZXhhY3RseSBvbmUgYmxvY2txdW90ZSBhbmQgeW91
IHNob3VsZCBzZWUgImhlbGxvIHdvcmxkIiBiZWxvdycpCisKKzwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9kZWxldGUtbGlu
ZS1hbmQtaW5zZXJ0LXRleHQtaW4tZm9udC1pbnNpZGUtYmxvY2txdW90ZS1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC9kZWxldGUtbGlu
ZS1hbmQtaW5zZXJ0LXRleHQtaW4tZm9udC1pbnNpZGUtYmxvY2txdW90ZS1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2RlbGV0ZS1s
aW5lLWFuZC1pbnNlcnQtdGV4dC1pbi1mb250LWluc2lkZS1ibG9ja3F1b3RlLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNCBAQAorVGhpcyB0ZXN0cyBkZWxldGluZyBhIGxp
bmUgaW5zaWRlIGEgZm9udCBlbGVtZW50IGluc2lkZSBhIGJsb2NrcXVvdGUuCisKK1RoZXJlIHNo
b3VsZCBiZSBleGFjdGx5IG9uZSBibG9ja3F1b3RlIGFuZCB5b3Ugc2hvdWxkIHNlZSAiaGVsbG8g
d29ybGQiIGJlbG93OgorfCAiCisiCit8IDxibG9ja3F1b3RlPgorfCAgIHN0eWxlPSJiYWNrZ3Jv
dW5kLWNvbG9yOnllbGxvdyIKK3wgICA8YnI+Cit8ICAgPGZvbnQ+Cit8ICAgICBzdHlsZT0iY29s
b3I6Ymx1ZSIKK3wgICAgICJoZWxsbzwjc2VsZWN0aW9uLWNhcmV0PiB3b3JsZAorIgorfCAiCisi
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>