<?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>54724</bug_id>
          
          <creation_ts>2011-02-17 22:54:55 -0800</creation_ts>
          <short_desc>Extending selection by a boundary granularity (LineBoundary/ParagraphBoundary/DocumentBoundary) sets incorrect start/end of selection for RTL</short_desc>
          <delta_ts>2011-02-21 22:24:58 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin (Ben) Kalman">kalman</reporter>
          <assigned_to name="Benjamin (Ben) Kalman">kalman</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>leviw</cc>
    
    <cc>mitz</cc>
    
    <cc>rniwa</cc>
    
    <cc>xji</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>353435</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2011-02-17 22:54:55 -0800</bug_when>
    <thetext>Extending selection by a boundary granularity (LineBoundary/ParagraphBoundary/DocumentBoundary) sets incorrect start/end of selection for RTL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>353436</commentid>
    <comment_count>1</comment_count>
      <attachid>82925</attachid>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2011-02-17 22:59:45 -0800</bug_when>
    <thetext>Created attachment 82925
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>353438</commentid>
    <comment_count>2</comment_count>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2011-02-17 23:04:18 -0800</bug_when>
    <thetext>This bug is impossible to reproduce on any current build of chrome or safari because it was only exposed after 54534.

However, to reproduce from tip (&gt;= 78799) open up the test case from that bug (https://bug-54534-attachments.webkit.org/attachment.cgi?id=82596), go to the rightmost side of the text box, press command+shift+left (select to beginning of line) *twice*.  The second time should cancel the selection.  This is the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>353519</commentid>
    <comment_count>3</comment_count>
      <attachid>82925</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-02-18 04:06:55 -0800</bug_when>
    <thetext>Comment on attachment 82925
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Extending selection by a boundary granularity (LineBoundary/ParagraphBoundary/DocumentBoundary) sets incorrect start/end of selection for RTL
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=54724
&gt; +
&gt; +        Set the end of the selection if the direction is left within an RTL container, and likewise for the start.

I don&apos;t think there is sufficient explanation as to how incorrect it is.  You should also explain what caused the issue and how you fixed it.  r- for insufficient descriptions.  Also, since the bug title is really long, you might want to split it into two lines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354366</commentid>
    <comment_count>4</comment_count>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2011-02-20 18:48:55 -0800</bug_when>
    <thetext>Well, http://trac.webkit.org/changeset/78799 fixed a bug where the selection was extending in the wrong direction for lines in an RTL container.  That bug would have masked the existence of this one (i.e. they would have appeared to be the same bug), since extending the selection when there is already a selection hits an additional (buggy) codepath.

Namely that on mac the selection is always extended, but this &quot;always extend&quot; code wasn&apos;t taking into account the direction (LTR/RTL) of the container.  So in RTL when extending right, it should actually set the start of the selection not the end (since start/end is reversed with respect to left/right).  And likewise when extending left, it should actually set the end.

I&apos;ll update the changelog to explain this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354370</commentid>
    <comment_count>5</comment_count>
      <attachid>83115</attachid>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2011-02-20 18:57:15 -0800</bug_when>
    <thetext>Created attachment 83115
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>354448</commentid>
    <comment_count>6</comment_count>
      <attachid>83115</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-02-21 00:25:55 -0800</bug_when>
    <thetext>Comment on attachment 83115
Patch

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

&gt; Source/WebCore/ChangeLog:11
&gt; +        This is achieved by extending from the start of selection when going left, or extending from the end when going
&gt; +        right (as opposed from always extending from the extent).

I don&apos;t think this comment is a bit misleading since selection is always extended logically and we never &quot;go left&quot; or &quot;go right&quot; when extending the selection.  I think what you mean is that when the selection is extended by the left arrow key and the right arrow key.  Please revise this before landing the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355034</commentid>
    <comment_count>7</comment_count>
      <attachid>83267</attachid>
    <who name="Benjamin (Ben) Kalman">kalman</who>
    <bug_when>2011-02-21 21:36:04 -0800</bug_when>
    <thetext>Created attachment 83267
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355058</commentid>
    <comment_count>8</comment_count>
      <attachid>83267</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-21 22:24:52 -0800</bug_when>
    <thetext>Comment on attachment 83267
Patch for landing

Clearing flags on attachment: 83267

Committed r79290: &lt;http://trac.webkit.org/changeset/79290&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355059</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-21 22:24:58 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>82925</attachid>
            <date>2011-02-17 22:59:45 -0800</date>
            <delta_ts>2011-02-20 18:57:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54724-20110218175942.patch</filename>
            <type>text/plain</type>
            <size>8555</size>
            <attacher name="Benjamin (Ben) Kalman">kalman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzg2NDYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4Mjk3NGQ4YTcwY2M3NzI4NzZmYzRl
NGVlYmE3OWJlZDM3YzQ2Nzc5Li4xN2JlY2E1NjYzYjg0YWIyOWUxY2RmODkzZmM5ZWZiNDU4NTk5
MGE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDItMTcgIEJlbmphbWluIEthbG1hbiAg
PGthbG1hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRXh0ZW5kaW5nIHNlbGVjdGlvbiBieSBhIGJvdW5kYXJ5IGdyYW51bGFy
aXR5IChMaW5lQm91bmRhcnkvUGFyYWdyYXBoQm91bmRhcnkvRG9jdW1lbnRCb3VuZGFyeSkgc2V0
cyBpbmNvcnJlY3Qgc3RhcnQvZW5kIG9mIHNlbGVjdGlvbiBmb3IgUlRMCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDcyNAorCisgICAgICAgIEF1Z21l
bnQgZXh0ZW5kLWxlZnQtYnktbGluZWJvdW5kYXJ5IHRlc3QgdG8gZXh0ZW5kIHRoZSBzZWxlY3Rp
b24gdHdpY2UsIHdoaWNoIHRyaWdnZXJlZCB0aGUgYnVnLgorCisgICAgICAgICogZWRpdGluZy9z
ZWxlY3Rpb24vZXh0ZW5kLWxlZnQtcmlnaHQtYnktbGluZWJvdW5kYXJ5LWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtbGVmdC1yaWdodC1ieS1saW5lYm91
bmRhcnkuaHRtbDoKKwogMjAxMS0wMi0xNyAgU2VyZ2V5IEdsYXp1bm92ICA8c2VyZy5nbGF6dW5v
dkBnbWFpbC5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLWxlZnQtcmlnaHQt
YnktbGluZWJvdW5kYXJ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0
aW9uL2V4dGVuZC1sZWZ0LXJpZ2h0LWJ5LWxpbmVib3VuZGFyeS1leHBlY3RlZC50eHQKaW5kZXgg
YjYwOTc4ZDFmZTg2N2NhZGIwMjYzNDUwMGU4ODNjNGZjNmQ3NTMxYy4uNGQ0ZWQ5MmVkMzRkZWMx
YWY4MDNlNTE5OWE1ZTk5NzM5MDM3ZjU3ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9zZWxlY3Rpb24vZXh0ZW5kLWxlZnQtcmlnaHQtYnktbGluZWJvdW5kYXJ5LWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtbGVmdC1yaWdodC1i
eS1saW5lYm91bmRhcnktZXhwZWN0ZWQudHh0CkBAIC0xLDI1ICsxLDQxIEBACiBUZXN0aW5nIGx0
ciBjb250YWluZXIgd2l0aCBjb250ZW50cyAi15bXl9eYINeZ15rXmyDXnNed154g15bXl9eYINeZ
15rXmyDXnNed154iOgogUEFTUyAoZXh0ZW5kIGxlZnQgZnJvbSBsZWZ0KQorUEFTUyAoZXh0ZW5k
IGxlZnQgZnJvbSBsZWZ0IGFnYWluKQogUEFTUyAoZXh0ZW5kIHJpZ2h0IGZyb20gbGVmdCkKK1BB
U1MgKGV4dGVuZCByaWdodCBmcm9tIGxlZnQgYWdhaW4pCiBQQVNTIChleHRlbmQgcmlnaHQgZnJv
bSByaWdodCkKK1BBU1MgKGV4dGVuZCByaWdodCBmcm9tIHJpZ2h0IGFnYWluKQogUEFTUyAoZXh0
ZW5kIGxlZnQgZnJvbSByaWdodCkKK1BBU1MgKGV4dGVuZCBsZWZ0IGZyb20gcmlnaHQgYWdhaW4p
CiAKIFRlc3RpbmcgbHRyIGNvbnRhaW5lciB3aXRoIGNvbnRlbnRzICJ0aGlzIGlzIHNvbWUgbHRy
IHRleHQgaW4gYW4gcnRsIGNvbnRhaW5lciI6CiBQQVNTIChleHRlbmQgbGVmdCBmcm9tIGxlZnQp
CitQQVNTIChleHRlbmQgbGVmdCBmcm9tIGxlZnQgYWdhaW4pCiBQQVNTIChleHRlbmQgcmlnaHQg
ZnJvbSBsZWZ0KQorUEFTUyAoZXh0ZW5kIHJpZ2h0IGZyb20gbGVmdCBhZ2FpbikKIFBBU1MgKGV4
dGVuZCByaWdodCBmcm9tIHJpZ2h0KQorUEFTUyAoZXh0ZW5kIHJpZ2h0IGZyb20gcmlnaHQgYWdh
aW4pCiBQQVNTIChleHRlbmQgbGVmdCBmcm9tIHJpZ2h0KQorUEFTUyAoZXh0ZW5kIGxlZnQgZnJv
bSByaWdodCBhZ2FpbikKIAogVGVzdGluZyBydGwgY29udGFpbmVyIHdpdGggY29udGVudHMgIteW
15fXmCDXmdea15sg15zXndeeINeW15fXmCDXmdea15sg15zXndeeIjoKIFBBU1MgKGV4dGVuZCBs
ZWZ0IGZyb20gbGVmdCkKK1BBU1MgKGV4dGVuZCBsZWZ0IGZyb20gbGVmdCBhZ2FpbikKIFBBU1Mg
KGV4dGVuZCByaWdodCBmcm9tIGxlZnQpCitQQVNTIChleHRlbmQgcmlnaHQgZnJvbSBsZWZ0IGFn
YWluKQogUEFTUyAoZXh0ZW5kIHJpZ2h0IGZyb20gcmlnaHQpCitQQVNTIChleHRlbmQgcmlnaHQg
ZnJvbSByaWdodCBhZ2FpbikKIFBBU1MgKGV4dGVuZCBsZWZ0IGZyb20gcmlnaHQpCitQQVNTIChl
eHRlbmQgbGVmdCBmcm9tIHJpZ2h0IGFnYWluKQogCiBUZXN0aW5nIHJ0bCBjb250YWluZXIgd2l0
aCBjb250ZW50cyAidGhpcyBpcyBzb21lIGx0ciB0ZXh0IGluIGFuIHJ0bCBjb250YWluZXIiOgog
UEFTUyAoZXh0ZW5kIGxlZnQgZnJvbSBsZWZ0KQorUEFTUyAoZXh0ZW5kIGxlZnQgZnJvbSBsZWZ0
IGFnYWluKQogUEFTUyAoZXh0ZW5kIHJpZ2h0IGZyb20gbGVmdCkKK1BBU1MgKGV4dGVuZCByaWdo
dCBmcm9tIGxlZnQgYWdhaW4pCiBQQVNTIChleHRlbmQgcmlnaHQgZnJvbSByaWdodCkKK1BBU1Mg
KGV4dGVuZCByaWdodCBmcm9tIHJpZ2h0IGFnYWluKQogUEFTUyAoZXh0ZW5kIGxlZnQgZnJvbSBy
aWdodCkKK1BBU1MgKGV4dGVuZCBsZWZ0IGZyb20gcmlnaHQgYWdhaW4pCiAKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLWxlZnQtcmlnaHQtYnktbGlu
ZWJvdW5kYXJ5Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtbGVm
dC1yaWdodC1ieS1saW5lYm91bmRhcnkuaHRtbAppbmRleCA4ZmRhMmE5Yjc1ZTIwNWI5NTgzZWZk
MjI4ZWQyNzIwYTU4NjhiNzg3Li41NmExMjg4Y2E2YmM4MmViYzAwNDdhNTJiNWRhYTU4ODk2OThl
MjY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtbGVm
dC1yaWdodC1ieS1saW5lYm91bmRhcnkuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3Nl
bGVjdGlvbi9leHRlbmQtbGVmdC1yaWdodC1ieS1saW5lYm91bmRhcnkuaHRtbApAQCAtMTcsMTMg
KzE3LDE4IEBAIGZ1bmN0aW9uIHNob3dOb2RlKG5vZGUpCiAgICAgcmV0dXJuICI8IiArIHRhZ05h
bWUgKyAiPiIgKyBub2RlLnRleHRDb250ZW50ICsgIjwvIiArIHRhZ05hbWUgKyAiPiI7CiB9CiAK
LWZ1bmN0aW9uIGFzc2VydFNlbGVjdGlvbkV4dGVudEVxdWFscyhleHBlY3RlZE5vZGUsIGV4cGVj
dGVkT2Zmc2V0LCBtZXNzYWdlKQorZnVuY3Rpb24gYXNzZXJ0U2VsZWN0aW9uRXF1YWxzKGV4cGVj
dGVkTm9kZSwgZXhwZWN0ZWRCYXNlT2Zmc2V0LCBleHBlY3RlZEV4dGVudE9mZnNldCwgbWVzc2Fn
ZSkKIHsKLSAgICB2YXIgYWN0dWFsTm9kZSA9IGdldFNlbGVjdGlvbigpLmV4dGVudE5vZGU7Ci0g
ICAgdmFyIGFjdHVhbE9mZnNldCA9IGdldFNlbGVjdGlvbigpLmV4dGVudE9mZnNldDsKLSAgICBp
ZiAoYWN0dWFsTm9kZSAhPT0gZXhwZWN0ZWROb2RlIHx8IGFjdHVhbE9mZnNldCAhPT0gZXhwZWN0
ZWRPZmZzZXQpCi0gICAgICAgIGxvZygiRkFJTCAoIiArIG1lc3NhZ2UgKyAiKTogZXhwZWN0ZWQg
b2Zmc2V0ICIgKyBleHBlY3RlZE9mZnNldCArICIgaW4gbm9kZSAiICsgc2hvd05vZGUoZXhwZWN0
ZWROb2RlKSArCi0gICAgICAgICAgICAiIGJ1dCBnb3Qgb2Zmc2V0ICIgKyBhY3R1YWxPZmZzZXQg
KyAiIGluIG5vZGUgIiArIHNob3dOb2RlKGFjdHVhbE5vZGUpKTsKKyAgICB2YXIgc2VsZWN0aW9u
ID0gZ2V0U2VsZWN0aW9uKCk7CisgICAgaWYgKHNlbGVjdGlvbi5iYXNlTm9kZSAhPT0gZXhwZWN0
ZWROb2RlCisgICAgICAgICAgICB8fCBzZWxlY3Rpb24uYmFzZU9mZnNldCAhPT0gZXhwZWN0ZWRC
YXNlT2Zmc2V0CisgICAgICAgICAgICB8fCBzZWxlY3Rpb24uZXh0ZW50Tm9kZSAhPT0gZXhwZWN0
ZWROb2RlCisgICAgICAgICAgICB8fCBzZWxlY3Rpb24uZXh0ZW50T2Zmc2V0ICE9PSBleHBlY3Rl
ZEV4dGVudE9mZnNldCkKKyAgICAgICAgbG9nKCJGQUlMICgiICsgbWVzc2FnZSArICIpOlxuIiAr
CisgICAgICAgICAgICAiICAgICBleHBlY3RlZCBiYXNlIG9mZnNldCAiICsgZXhwZWN0ZWRCYXNl
T2Zmc2V0ICsgIiBpbiBub2RlICIgKyBzaG93Tm9kZShleHBlY3RlZE5vZGUpICsgIlxuIiArCisg
ICAgICAgICAgICAiICAgICAgICBhbmQgZXh0ZW50IG9mZnNldCAiICsgZXhwZWN0ZWRFeHRlbnRP
ZmZzZXQgKyAiIGluIG5vZGUgIiArIHNob3dOb2RlKGV4cGVjdGVkTm9kZSkgKyAiXG4iICsKKyAg
ICAgICAgICAgICIgIC4uLiBidXQgZ290IGJhc2Ugb2Zmc2V0ICIgKyBzZWxlY3Rpb24uYmFzZU9m
ZnNldCArICIgaW4gbm9kZSAiICsgc2hvd05vZGUoc2VsZWN0aW9uLmJhc2VOb2RlKSArICJcbiIg
KworICAgICAgICAgICAgIiAgICAgICAgYW5kIGV4dGVudCBvZmZzZXQgIiArIHNlbGVjdGlvbi5l
eHRlbnRPZmZzZXQgKyAiIGluIG5vZGUgIiArIHNob3dOb2RlKHNlbGVjdGlvbi5leHRlbnROb2Rl
KSk7CiAgICAgZWxzZQogICAgICAgICBsb2coIlBBU1MgKCIgKyBtZXNzYWdlICsgIikiKTsKIH0K
QEAgLTM4LDE5ICs0MywyNyBAQCBmdW5jdGlvbiBydW5UZXN0Rm9yQ29udGFpbmVyKGNvbnRhaW5l
cikKIAogICAgIGdldFNlbGVjdGlvbigpLnNldFBvc2l0aW9uKHRleHROb2RlLCBsZWZ0bW9zdE9m
ZnNldCk7CiAgICAgZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCJleHRlbmQiLCAibGVmdCIsICJsaW5l
Ym91bmRhcnkiKTsKLSAgICBhc3NlcnRTZWxlY3Rpb25FeHRlbnRFcXVhbHModGV4dE5vZGUsIGxl
ZnRtb3N0T2Zmc2V0LCAiZXh0ZW5kIGxlZnQgZnJvbSBsZWZ0Iik7CisgICAgYXNzZXJ0U2VsZWN0
aW9uRXF1YWxzKHRleHROb2RlLCBsZWZ0bW9zdE9mZnNldCwgbGVmdG1vc3RPZmZzZXQsICJleHRl
bmQgbGVmdCBmcm9tIGxlZnQiKTsKKyAgICBnZXRTZWxlY3Rpb24oKS5tb2RpZnkoImV4dGVuZCIs
ICJsZWZ0IiwgImxpbmVib3VuZGFyeSIpOworICAgIGFzc2VydFNlbGVjdGlvbkVxdWFscyh0ZXh0
Tm9kZSwgbGVmdG1vc3RPZmZzZXQsIGxlZnRtb3N0T2Zmc2V0LCAiZXh0ZW5kIGxlZnQgZnJvbSBs
ZWZ0IGFnYWluIik7CiAKICAgICBnZXRTZWxlY3Rpb24oKS5zZXRQb3NpdGlvbih0ZXh0Tm9kZSwg
bGVmdG1vc3RPZmZzZXQpOwogICAgIGdldFNlbGVjdGlvbigpLm1vZGlmeSgiZXh0ZW5kIiwgInJp
Z2h0IiwgImxpbmVib3VuZGFyeSIpOwotICAgIGFzc2VydFNlbGVjdGlvbkV4dGVudEVxdWFscyh0
ZXh0Tm9kZSwgcmlnaHRtb3N0T2Zmc2V0LCAiZXh0ZW5kIHJpZ2h0IGZyb20gbGVmdCIpOworICAg
IGFzc2VydFNlbGVjdGlvbkVxdWFscyh0ZXh0Tm9kZSwgbGVmdG1vc3RPZmZzZXQsIHJpZ2h0bW9z
dE9mZnNldCwgImV4dGVuZCByaWdodCBmcm9tIGxlZnQiKTsKKyAgICBnZXRTZWxlY3Rpb24oKS5t
b2RpZnkoImV4dGVuZCIsICJyaWdodCIsICJsaW5lYm91bmRhcnkiKTsKKyAgICBhc3NlcnRTZWxl
Y3Rpb25FcXVhbHModGV4dE5vZGUsIGxlZnRtb3N0T2Zmc2V0LCByaWdodG1vc3RPZmZzZXQsICJl
eHRlbmQgcmlnaHQgZnJvbSBsZWZ0IGFnYWluIik7CiAKICAgICBnZXRTZWxlY3Rpb24oKS5zZXRQ
b3NpdGlvbih0ZXh0Tm9kZSwgcmlnaHRtb3N0T2Zmc2V0KTsKICAgICBnZXRTZWxlY3Rpb24oKS5t
b2RpZnkoImV4dGVuZCIsICJyaWdodCIsICJsaW5lYm91bmRhcnkiKTsKLSAgICBhc3NlcnRTZWxl
Y3Rpb25FeHRlbnRFcXVhbHModGV4dE5vZGUsIHJpZ2h0bW9zdE9mZnNldCwgImV4dGVuZCByaWdo
dCBmcm9tIHJpZ2h0Iik7CisgICAgYXNzZXJ0U2VsZWN0aW9uRXF1YWxzKHRleHROb2RlLCByaWdo
dG1vc3RPZmZzZXQsIHJpZ2h0bW9zdE9mZnNldCwgImV4dGVuZCByaWdodCBmcm9tIHJpZ2h0Iik7
CisgICAgZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCJleHRlbmQiLCAicmlnaHQiLCAibGluZWJvdW5k
YXJ5Iik7CisgICAgYXNzZXJ0U2VsZWN0aW9uRXF1YWxzKHRleHROb2RlLCByaWdodG1vc3RPZmZz
ZXQsIHJpZ2h0bW9zdE9mZnNldCwgImV4dGVuZCByaWdodCBmcm9tIHJpZ2h0IGFnYWluIik7CiAK
ICAgICBnZXRTZWxlY3Rpb24oKS5zZXRQb3NpdGlvbih0ZXh0Tm9kZSwgcmlnaHRtb3N0T2Zmc2V0
KTsKICAgICBnZXRTZWxlY3Rpb24oKS5tb2RpZnkoImV4dGVuZCIsICJsZWZ0IiwgImxpbmVib3Vu
ZGFyeSIpOwotICAgIGFzc2VydFNlbGVjdGlvbkV4dGVudEVxdWFscyh0ZXh0Tm9kZSwgbGVmdG1v
c3RPZmZzZXQsICJleHRlbmQgbGVmdCBmcm9tIHJpZ2h0Iik7CisgICAgYXNzZXJ0U2VsZWN0aW9u
RXF1YWxzKHRleHROb2RlLCByaWdodG1vc3RPZmZzZXQsIGxlZnRtb3N0T2Zmc2V0LCAiZXh0ZW5k
IGxlZnQgZnJvbSByaWdodCIpOworICAgIGdldFNlbGVjdGlvbigpLm1vZGlmeSgiZXh0ZW5kIiwg
ImxlZnQiLCAibGluZWJvdW5kYXJ5Iik7CisgICAgYXNzZXJ0U2VsZWN0aW9uRXF1YWxzKHRleHRO
b2RlLCByaWdodG1vc3RPZmZzZXQsIGxlZnRtb3N0T2Zmc2V0LCAiZXh0ZW5kIGxlZnQgZnJvbSBy
aWdodCBhZ2FpbiIpOwogCiAgICAgbG9nKCIiKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmMDI2ZGM0Nzgw
YTg3OTAyZTFiMzY0YmMzMGE3YTkwODRkMDZlMGE5Li5mOTYzN2Q4ODk5NDEwZmIwZjJjNjFmYzVk
OWU4MWRjNWYzMTJjNTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDItMTcg
IEJlbmphbWluIEthbG1hbiAgPGthbG1hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXh0ZW5kaW5nIHNlbGVjdGlvbiBieSBh
IGJvdW5kYXJ5IGdyYW51bGFyaXR5IChMaW5lQm91bmRhcnkvUGFyYWdyYXBoQm91bmRhcnkvRG9j
dW1lbnRCb3VuZGFyeSkgc2V0cyBpbmNvcnJlY3Qgc3RhcnQvZW5kIG9mIHNlbGVjdGlvbiBmb3Ig
UlRMCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDcy
NAorCisgICAgICAgIFNldCB0aGUgZW5kIG9mIHRoZSBzZWxlY3Rpb24gaWYgdGhlIGRpcmVjdGlv
biBpcyBsZWZ0IHdpdGhpbiBhbiBSVEwgY29udGFpbmVyLCBhbmQgbGlrZXdpc2UgZm9yIHRoZSBz
dGFydC4KKworICAgICAgICAqIGVkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTZWxlY3Rpb25Db250cm9sbGVyOjptb2RpZnkpOgorCiAyMDExLTAyLTE3
ICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBKYW1lcyBSb2JpbnNvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU2Vs
ZWN0aW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNv
bnRyb2xsZXIuY3BwCmluZGV4IDVjZjVjYjc4NDE0NWY1NGVmOGI2OWM5YmM0MTJkNzEwOTRiMmRm
ZGYuLmY2MDQzYTgyZDI5ZGQ5MmEwZWYzMDFkN2YzZjNlMjUzMWEzMjRhYzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmNwcApAQCAtNzkzLDcgKzc5
Myw4IEBAIGJvb2wgU2VsZWN0aW9uQ29udHJvbGxlcjo6bW9kaWZ5KEVBbHRlcmF0aW9uIGFsdGVy
LCBTZWxlY3Rpb25EaXJlY3Rpb24gZGlyZWN0aW9uCiAgICAgICAgIGlmICghbV9mcmFtZSB8fCAh
bV9mcmFtZS0+ZWRpdG9yKCktPmJlaGF2aW9yKCkuc2hvdWxkQWx3YXlzR3Jvd1NlbGVjdGlvbldo
ZW5FeHRlbmRpbmdUb0JvdW5kYXJ5KCkgfHwgbV9zZWxlY3Rpb24uaXNDYXJldCgpIHx8ICFpc0Jv
dW5kYXJ5KGdyYW51bGFyaXR5KSkKICAgICAgICAgICAgIHNldEV4dGVudChwb3NpdGlvbiwgdXNl
clRyaWdnZXJlZCk7CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgaWYgKGRpcmVjdGlvbiA9
PSBEaXJlY3Rpb25Gb3J3YXJkIHx8IGRpcmVjdGlvbiA9PSBEaXJlY3Rpb25SaWdodCkKKyAgICAg
ICAgICAgIFRleHREaXJlY3Rpb24gdGV4dERpcmVjdGlvbiA9IGRpcmVjdGlvbk9mRW5jbG9zaW5n
QmxvY2soKTsKKyAgICAgICAgICAgIGlmIChkaXJlY3Rpb24gPT0gRGlyZWN0aW9uRm9yd2FyZCB8
fCAodGV4dERpcmVjdGlvbiA9PSBMVFIgJiYgZGlyZWN0aW9uID09IERpcmVjdGlvblJpZ2h0KSB8
fCAodGV4dERpcmVjdGlvbiA9PSBSVEwgJiYgZGlyZWN0aW9uID09IERpcmVjdGlvbkxlZnQpKQog
ICAgICAgICAgICAgICAgIHNldEVuZChwb3NpdGlvbiwgdXNlclRyaWdnZXJlZCk7CiAgICAgICAg
ICAgICBlbHNlCiAgICAgICAgICAgICAgICAgc2V0U3RhcnQocG9zaXRpb24sIHVzZXJUcmlnZ2Vy
ZWQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83115</attachid>
            <date>2011-02-20 18:57:15 -0800</date>
            <delta_ts>2011-02-21 21:35:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-54724-20110221135712.patch</filename>
            <type>text/plain</type>
            <size>8973</size>
            <attacher name="Benjamin (Ben) Kalman">kalman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzg2NDYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhYTMwZTM5ZmZiODUzNjA3MmNhOTY3
ZGYxMDg3ZjdkOWFmOTI4NDJlLi5jZmY5MjhmZjNlY2VkZTU0ZmZjYmFkZjQwZTVhYWU1MDZmNWQx
MzgwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDItMjEgIEJlbmphbWluIEthbG1hbiAg
PGthbG1hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRXh0ZW5kaW5nIHNlbGVjdGlvbiBieSBhIGJvdW5kYXJ5IGdyYW51bGFy
aXR5IChMaW5lQm91bmRhcnkvUGFyYWdyYXBoQm91bmRhcnkvRG9jdW1lbnRCb3VuZGFyeSkgc2V0
cyBpbmNvcnJlY3QKKyAgICAgICAgc3RhcnQvZW5kIG9mIHNlbGVjdGlvbiBmb3IgUlRMCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDcyNAorCisgICAg
ICAgIEF1Z21lbnQgZXh0ZW5kLWxlZnQtYnktbGluZWJvdW5kYXJ5IHRlc3QgdG8gZXh0ZW5kIHRo
ZSBzZWxlY3Rpb24gdHdpY2UsIHdoaWNoIHRyaWdnZXJlZCB0aGUgYnVnLgorCisgICAgICAgICog
ZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLWxlZnQtcmlnaHQtYnktbGluZWJvdW5kYXJ5LWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtbGVmdC1yaWdodC1i
eS1saW5lYm91bmRhcnkuaHRtbDoKKwogMjAxMS0wMi0yMSBCZW5qYW1pbiBLYWxtYW4gIDxrYWxt
YW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC1sZWZ0LXJpZ2h0
LWJ5LWxpbmVib3VuZGFyeS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVj
dGlvbi9leHRlbmQtbGVmdC1yaWdodC1ieS1saW5lYm91bmRhcnktZXhwZWN0ZWQudHh0CmluZGV4
IGI2MDk3OGQxZmU4NjdjYWRiMDI2MzQ1MDBlODgzYzRmYzZkNzUzMWMuLjRkNGVkOTJlZDM0ZGVj
MWFmODAzZTUxOTlhNWU5OTczOTAzN2Y1N2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRp
bmcvc2VsZWN0aW9uL2V4dGVuZC1sZWZ0LXJpZ2h0LWJ5LWxpbmVib3VuZGFyeS1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLWxlZnQtcmlnaHQt
YnktbGluZWJvdW5kYXJ5LWV4cGVjdGVkLnR4dApAQCAtMSwyNSArMSw0MSBAQAogVGVzdGluZyBs
dHIgY29udGFpbmVyIHdpdGggY29udGVudHMgIteW15fXmCDXmdea15sg15zXndeeINeW15fXmCDX
mdea15sg15zXndeeIjoKIFBBU1MgKGV4dGVuZCBsZWZ0IGZyb20gbGVmdCkKK1BBU1MgKGV4dGVu
ZCBsZWZ0IGZyb20gbGVmdCBhZ2FpbikKIFBBU1MgKGV4dGVuZCByaWdodCBmcm9tIGxlZnQpCitQ
QVNTIChleHRlbmQgcmlnaHQgZnJvbSBsZWZ0IGFnYWluKQogUEFTUyAoZXh0ZW5kIHJpZ2h0IGZy
b20gcmlnaHQpCitQQVNTIChleHRlbmQgcmlnaHQgZnJvbSByaWdodCBhZ2FpbikKIFBBU1MgKGV4
dGVuZCBsZWZ0IGZyb20gcmlnaHQpCitQQVNTIChleHRlbmQgbGVmdCBmcm9tIHJpZ2h0IGFnYWlu
KQogCiBUZXN0aW5nIGx0ciBjb250YWluZXIgd2l0aCBjb250ZW50cyAidGhpcyBpcyBzb21lIGx0
ciB0ZXh0IGluIGFuIHJ0bCBjb250YWluZXIiOgogUEFTUyAoZXh0ZW5kIGxlZnQgZnJvbSBsZWZ0
KQorUEFTUyAoZXh0ZW5kIGxlZnQgZnJvbSBsZWZ0IGFnYWluKQogUEFTUyAoZXh0ZW5kIHJpZ2h0
IGZyb20gbGVmdCkKK1BBU1MgKGV4dGVuZCByaWdodCBmcm9tIGxlZnQgYWdhaW4pCiBQQVNTIChl
eHRlbmQgcmlnaHQgZnJvbSByaWdodCkKK1BBU1MgKGV4dGVuZCByaWdodCBmcm9tIHJpZ2h0IGFn
YWluKQogUEFTUyAoZXh0ZW5kIGxlZnQgZnJvbSByaWdodCkKK1BBU1MgKGV4dGVuZCBsZWZ0IGZy
b20gcmlnaHQgYWdhaW4pCiAKIFRlc3RpbmcgcnRsIGNvbnRhaW5lciB3aXRoIGNvbnRlbnRzICLX
lteX15gg15nXmtebINec153XniDXlteX15gg15nXmtebINec153XniI6CiBQQVNTIChleHRlbmQg
bGVmdCBmcm9tIGxlZnQpCitQQVNTIChleHRlbmQgbGVmdCBmcm9tIGxlZnQgYWdhaW4pCiBQQVNT
IChleHRlbmQgcmlnaHQgZnJvbSBsZWZ0KQorUEFTUyAoZXh0ZW5kIHJpZ2h0IGZyb20gbGVmdCBh
Z2FpbikKIFBBU1MgKGV4dGVuZCByaWdodCBmcm9tIHJpZ2h0KQorUEFTUyAoZXh0ZW5kIHJpZ2h0
IGZyb20gcmlnaHQgYWdhaW4pCiBQQVNTIChleHRlbmQgbGVmdCBmcm9tIHJpZ2h0KQorUEFTUyAo
ZXh0ZW5kIGxlZnQgZnJvbSByaWdodCBhZ2FpbikKIAogVGVzdGluZyBydGwgY29udGFpbmVyIHdp
dGggY29udGVudHMgInRoaXMgaXMgc29tZSBsdHIgdGV4dCBpbiBhbiBydGwgY29udGFpbmVyIjoK
IFBBU1MgKGV4dGVuZCBsZWZ0IGZyb20gbGVmdCkKK1BBU1MgKGV4dGVuZCBsZWZ0IGZyb20gbGVm
dCBhZ2FpbikKIFBBU1MgKGV4dGVuZCByaWdodCBmcm9tIGxlZnQpCitQQVNTIChleHRlbmQgcmln
aHQgZnJvbSBsZWZ0IGFnYWluKQogUEFTUyAoZXh0ZW5kIHJpZ2h0IGZyb20gcmlnaHQpCitQQVNT
IChleHRlbmQgcmlnaHQgZnJvbSByaWdodCBhZ2FpbikKIFBBU1MgKGV4dGVuZCBsZWZ0IGZyb20g
cmlnaHQpCitQQVNTIChleHRlbmQgbGVmdCBmcm9tIHJpZ2h0IGFnYWluKQogCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC1sZWZ0LXJpZ2h0LWJ5LWxp
bmVib3VuZGFyeS5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLWxl
ZnQtcmlnaHQtYnktbGluZWJvdW5kYXJ5Lmh0bWwKaW5kZXggOGZkYTJhOWI3NWUyMDViOTU4M2Vm
ZDIyOGVkMjcyMGE1ODY4Yjc4Ny4uNTZhMTI4OGNhNmJjODJlYmMwMDQ3YTUyYjVkYWE1ODg5Njk4
ZTI2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLWxl
ZnQtcmlnaHQtYnktbGluZWJvdW5kYXJ5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9z
ZWxlY3Rpb24vZXh0ZW5kLWxlZnQtcmlnaHQtYnktbGluZWJvdW5kYXJ5Lmh0bWwKQEAgLTE3LDEz
ICsxNywxOCBAQCBmdW5jdGlvbiBzaG93Tm9kZShub2RlKQogICAgIHJldHVybiAiPCIgKyB0YWdO
YW1lICsgIj4iICsgbm9kZS50ZXh0Q29udGVudCArICI8LyIgKyB0YWdOYW1lICsgIj4iOwogfQog
Ci1mdW5jdGlvbiBhc3NlcnRTZWxlY3Rpb25FeHRlbnRFcXVhbHMoZXhwZWN0ZWROb2RlLCBleHBl
Y3RlZE9mZnNldCwgbWVzc2FnZSkKK2Z1bmN0aW9uIGFzc2VydFNlbGVjdGlvbkVxdWFscyhleHBl
Y3RlZE5vZGUsIGV4cGVjdGVkQmFzZU9mZnNldCwgZXhwZWN0ZWRFeHRlbnRPZmZzZXQsIG1lc3Nh
Z2UpCiB7Ci0gICAgdmFyIGFjdHVhbE5vZGUgPSBnZXRTZWxlY3Rpb24oKS5leHRlbnROb2RlOwot
ICAgIHZhciBhY3R1YWxPZmZzZXQgPSBnZXRTZWxlY3Rpb24oKS5leHRlbnRPZmZzZXQ7Ci0gICAg
aWYgKGFjdHVhbE5vZGUgIT09IGV4cGVjdGVkTm9kZSB8fCBhY3R1YWxPZmZzZXQgIT09IGV4cGVj
dGVkT2Zmc2V0KQotICAgICAgICBsb2coIkZBSUwgKCIgKyBtZXNzYWdlICsgIik6IGV4cGVjdGVk
IG9mZnNldCAiICsgZXhwZWN0ZWRPZmZzZXQgKyAiIGluIG5vZGUgIiArIHNob3dOb2RlKGV4cGVj
dGVkTm9kZSkgKwotICAgICAgICAgICAgIiBidXQgZ290IG9mZnNldCAiICsgYWN0dWFsT2Zmc2V0
ICsgIiBpbiBub2RlICIgKyBzaG93Tm9kZShhY3R1YWxOb2RlKSk7CisgICAgdmFyIHNlbGVjdGlv
biA9IGdldFNlbGVjdGlvbigpOworICAgIGlmIChzZWxlY3Rpb24uYmFzZU5vZGUgIT09IGV4cGVj
dGVkTm9kZQorICAgICAgICAgICAgfHwgc2VsZWN0aW9uLmJhc2VPZmZzZXQgIT09IGV4cGVjdGVk
QmFzZU9mZnNldAorICAgICAgICAgICAgfHwgc2VsZWN0aW9uLmV4dGVudE5vZGUgIT09IGV4cGVj
dGVkTm9kZQorICAgICAgICAgICAgfHwgc2VsZWN0aW9uLmV4dGVudE9mZnNldCAhPT0gZXhwZWN0
ZWRFeHRlbnRPZmZzZXQpCisgICAgICAgIGxvZygiRkFJTCAoIiArIG1lc3NhZ2UgKyAiKTpcbiIg
KworICAgICAgICAgICAgIiAgICAgZXhwZWN0ZWQgYmFzZSBvZmZzZXQgIiArIGV4cGVjdGVkQmFz
ZU9mZnNldCArICIgaW4gbm9kZSAiICsgc2hvd05vZGUoZXhwZWN0ZWROb2RlKSArICJcbiIgKwor
ICAgICAgICAgICAgIiAgICAgICAgYW5kIGV4dGVudCBvZmZzZXQgIiArIGV4cGVjdGVkRXh0ZW50
T2Zmc2V0ICsgIiBpbiBub2RlICIgKyBzaG93Tm9kZShleHBlY3RlZE5vZGUpICsgIlxuIiArCisg
ICAgICAgICAgICAiICAuLi4gYnV0IGdvdCBiYXNlIG9mZnNldCAiICsgc2VsZWN0aW9uLmJhc2VP
ZmZzZXQgKyAiIGluIG5vZGUgIiArIHNob3dOb2RlKHNlbGVjdGlvbi5iYXNlTm9kZSkgKyAiXG4i
ICsKKyAgICAgICAgICAgICIgICAgICAgIGFuZCBleHRlbnQgb2Zmc2V0ICIgKyBzZWxlY3Rpb24u
ZXh0ZW50T2Zmc2V0ICsgIiBpbiBub2RlICIgKyBzaG93Tm9kZShzZWxlY3Rpb24uZXh0ZW50Tm9k
ZSkpOwogICAgIGVsc2UKICAgICAgICAgbG9nKCJQQVNTICgiICsgbWVzc2FnZSArICIpIik7CiB9
CkBAIC0zOCwxOSArNDMsMjcgQEAgZnVuY3Rpb24gcnVuVGVzdEZvckNvbnRhaW5lcihjb250YWlu
ZXIpCiAKICAgICBnZXRTZWxlY3Rpb24oKS5zZXRQb3NpdGlvbih0ZXh0Tm9kZSwgbGVmdG1vc3RP
ZmZzZXQpOwogICAgIGdldFNlbGVjdGlvbigpLm1vZGlmeSgiZXh0ZW5kIiwgImxlZnQiLCAibGlu
ZWJvdW5kYXJ5Iik7Ci0gICAgYXNzZXJ0U2VsZWN0aW9uRXh0ZW50RXF1YWxzKHRleHROb2RlLCBs
ZWZ0bW9zdE9mZnNldCwgImV4dGVuZCBsZWZ0IGZyb20gbGVmdCIpOworICAgIGFzc2VydFNlbGVj
dGlvbkVxdWFscyh0ZXh0Tm9kZSwgbGVmdG1vc3RPZmZzZXQsIGxlZnRtb3N0T2Zmc2V0LCAiZXh0
ZW5kIGxlZnQgZnJvbSBsZWZ0Iik7CisgICAgZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCJleHRlbmQi
LCAibGVmdCIsICJsaW5lYm91bmRhcnkiKTsKKyAgICBhc3NlcnRTZWxlY3Rpb25FcXVhbHModGV4
dE5vZGUsIGxlZnRtb3N0T2Zmc2V0LCBsZWZ0bW9zdE9mZnNldCwgImV4dGVuZCBsZWZ0IGZyb20g
bGVmdCBhZ2FpbiIpOwogCiAgICAgZ2V0U2VsZWN0aW9uKCkuc2V0UG9zaXRpb24odGV4dE5vZGUs
IGxlZnRtb3N0T2Zmc2V0KTsKICAgICBnZXRTZWxlY3Rpb24oKS5tb2RpZnkoImV4dGVuZCIsICJy
aWdodCIsICJsaW5lYm91bmRhcnkiKTsKLSAgICBhc3NlcnRTZWxlY3Rpb25FeHRlbnRFcXVhbHMo
dGV4dE5vZGUsIHJpZ2h0bW9zdE9mZnNldCwgImV4dGVuZCByaWdodCBmcm9tIGxlZnQiKTsKKyAg
ICBhc3NlcnRTZWxlY3Rpb25FcXVhbHModGV4dE5vZGUsIGxlZnRtb3N0T2Zmc2V0LCByaWdodG1v
c3RPZmZzZXQsICJleHRlbmQgcmlnaHQgZnJvbSBsZWZ0Iik7CisgICAgZ2V0U2VsZWN0aW9uKCku
bW9kaWZ5KCJleHRlbmQiLCAicmlnaHQiLCAibGluZWJvdW5kYXJ5Iik7CisgICAgYXNzZXJ0U2Vs
ZWN0aW9uRXF1YWxzKHRleHROb2RlLCBsZWZ0bW9zdE9mZnNldCwgcmlnaHRtb3N0T2Zmc2V0LCAi
ZXh0ZW5kIHJpZ2h0IGZyb20gbGVmdCBhZ2FpbiIpOwogCiAgICAgZ2V0U2VsZWN0aW9uKCkuc2V0
UG9zaXRpb24odGV4dE5vZGUsIHJpZ2h0bW9zdE9mZnNldCk7CiAgICAgZ2V0U2VsZWN0aW9uKCku
bW9kaWZ5KCJleHRlbmQiLCAicmlnaHQiLCAibGluZWJvdW5kYXJ5Iik7Ci0gICAgYXNzZXJ0U2Vs
ZWN0aW9uRXh0ZW50RXF1YWxzKHRleHROb2RlLCByaWdodG1vc3RPZmZzZXQsICJleHRlbmQgcmln
aHQgZnJvbSByaWdodCIpOworICAgIGFzc2VydFNlbGVjdGlvbkVxdWFscyh0ZXh0Tm9kZSwgcmln
aHRtb3N0T2Zmc2V0LCByaWdodG1vc3RPZmZzZXQsICJleHRlbmQgcmlnaHQgZnJvbSByaWdodCIp
OworICAgIGdldFNlbGVjdGlvbigpLm1vZGlmeSgiZXh0ZW5kIiwgInJpZ2h0IiwgImxpbmVib3Vu
ZGFyeSIpOworICAgIGFzc2VydFNlbGVjdGlvbkVxdWFscyh0ZXh0Tm9kZSwgcmlnaHRtb3N0T2Zm
c2V0LCByaWdodG1vc3RPZmZzZXQsICJleHRlbmQgcmlnaHQgZnJvbSByaWdodCBhZ2FpbiIpOwog
CiAgICAgZ2V0U2VsZWN0aW9uKCkuc2V0UG9zaXRpb24odGV4dE5vZGUsIHJpZ2h0bW9zdE9mZnNl
dCk7CiAgICAgZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCJleHRlbmQiLCAibGVmdCIsICJsaW5lYm91
bmRhcnkiKTsKLSAgICBhc3NlcnRTZWxlY3Rpb25FeHRlbnRFcXVhbHModGV4dE5vZGUsIGxlZnRt
b3N0T2Zmc2V0LCAiZXh0ZW5kIGxlZnQgZnJvbSByaWdodCIpOworICAgIGFzc2VydFNlbGVjdGlv
bkVxdWFscyh0ZXh0Tm9kZSwgcmlnaHRtb3N0T2Zmc2V0LCBsZWZ0bW9zdE9mZnNldCwgImV4dGVu
ZCBsZWZ0IGZyb20gcmlnaHQiKTsKKyAgICBnZXRTZWxlY3Rpb24oKS5tb2RpZnkoImV4dGVuZCIs
ICJsZWZ0IiwgImxpbmVib3VuZGFyeSIpOworICAgIGFzc2VydFNlbGVjdGlvbkVxdWFscyh0ZXh0
Tm9kZSwgcmlnaHRtb3N0T2Zmc2V0LCBsZWZ0bW9zdE9mZnNldCwgImV4dGVuZCBsZWZ0IGZyb20g
cmlnaHQgYWdhaW4iKTsKIAogICAgIGxvZygiIik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmFkMzJkNGU4
YTMyMzE4NGY1OWY0MThjMzllMDhiZmY5ZmFkMmUzZi4uOGMxYzI0MWVjM2QwY2NlNzVjYjBhYWU4
NTI3ZTM4MTM5MGUzZDU2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDExLTAyLTIx
ICBCZW5qYW1pbiBLYWxtYW4gIDxrYWxtYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4dGVuZGluZyBzZWxlY3Rpb24gYnkg
YSBib3VuZGFyeSBncmFudWxhcml0eSAoTGluZUJvdW5kYXJ5L1BhcmFncmFwaEJvdW5kYXJ5L0Rv
Y3VtZW50Qm91bmRhcnkpIHNldHMgaW5jb3JyZWN0CisgICAgICAgIHN0YXJ0L2VuZCBvZiBzZWxl
Y3Rpb24gZm9yIFJUTAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTQ3MjQKKworICAgICAgICBPbiBtYWMsIHRoZSBzZWxlY3Rpb24gc2hvdWxkIGFsd2F5
cyBncm93IHdoZW4gZXh0ZW5kaW5nIGJ5IGEgYm91bmRhcnkgZ3JhbnVsYXJpdHkgKGxpbmUvcGFy
YWdyYXBoL2RvY3VtZW50KS4KKyAgICAgICAgVGhpcyBpcyBhY2hpZXZlZCBieSBleHRlbmRpbmcg
ZnJvbSB0aGUgc3RhcnQgb2Ygc2VsZWN0aW9uIHdoZW4gZ29pbmcgbGVmdCwgb3IgZXh0ZW5kaW5n
IGZyb20gdGhlIGVuZCB3aGVuIGdvaW5nCisgICAgICAgIHJpZ2h0IChhcyBvcHBvc2VkIGZyb20g
YWx3YXlzIGV4dGVuZGluZyBmcm9tIHRoZSBleHRlbnQpLgorICAgICAgICAKKyAgICAgICAgSG93
ZXZlciwgdGhpcyBoYXMgYSBidWcgZm9yIFJUTCB0ZXh0LCB3aGljaCBzaG91bGQgYWN0dWFsbHkg
ZXh0ZW5kIGZyb20gdGhlICplbmQqIHdoZW4gZ29pbmcgbGVmdCAoc2luY2UKKyAgICAgICAgZGly
ZWN0aW9uIGlzIG9idmlvdXNseSByZXZlcnNlZCkgYW5kIGxpa2V3aXNlIGV4dGVuZCBmcm9tIHRo
ZSBzdGFydCB3aGVuIGdvaW5nIHJpZ2h0LgorCisgICAgICAgICogZWRpdGluZy9TZWxlY3Rpb25D
b250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdGlvbkNvbnRyb2xsZXI6Om1v
ZGlmeSk6CisKIDIwMTEtMDItMjAgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmNwcAppbmRleCA1Y2Y1Y2I3ODQxNDVmNTRlZjhi
NjljOWJjNDEyZDcxMDk0YjJkZmRmLi5mNjA0M2E4MmQyOWRkOTJhMGVmMzAxZDdmM2YzZTI1MzFh
MzI0YWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRy
b2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU2VsZWN0aW9uQ29udHJvbGxl
ci5jcHAKQEAgLTc5Myw3ICs3OTMsOCBAQCBib29sIFNlbGVjdGlvbkNvbnRyb2xsZXI6Om1vZGlm
eShFQWx0ZXJhdGlvbiBhbHRlciwgU2VsZWN0aW9uRGlyZWN0aW9uIGRpcmVjdGlvbgogICAgICAg
ICBpZiAoIW1fZnJhbWUgfHwgIW1fZnJhbWUtPmVkaXRvcigpLT5iZWhhdmlvcigpLnNob3VsZEFs
d2F5c0dyb3dTZWxlY3Rpb25XaGVuRXh0ZW5kaW5nVG9Cb3VuZGFyeSgpIHx8IG1fc2VsZWN0aW9u
LmlzQ2FyZXQoKSB8fCAhaXNCb3VuZGFyeShncmFudWxhcml0eSkpCiAgICAgICAgICAgICBzZXRF
eHRlbnQocG9zaXRpb24sIHVzZXJUcmlnZ2VyZWQpOwogICAgICAgICBlbHNlIHsKLSAgICAgICAg
ICAgIGlmIChkaXJlY3Rpb24gPT0gRGlyZWN0aW9uRm9yd2FyZCB8fCBkaXJlY3Rpb24gPT0gRGly
ZWN0aW9uUmlnaHQpCisgICAgICAgICAgICBUZXh0RGlyZWN0aW9uIHRleHREaXJlY3Rpb24gPSBk
aXJlY3Rpb25PZkVuY2xvc2luZ0Jsb2NrKCk7CisgICAgICAgICAgICBpZiAoZGlyZWN0aW9uID09
IERpcmVjdGlvbkZvcndhcmQgfHwgKHRleHREaXJlY3Rpb24gPT0gTFRSICYmIGRpcmVjdGlvbiA9
PSBEaXJlY3Rpb25SaWdodCkgfHwgKHRleHREaXJlY3Rpb24gPT0gUlRMICYmIGRpcmVjdGlvbiA9
PSBEaXJlY3Rpb25MZWZ0KSkKICAgICAgICAgICAgICAgICBzZXRFbmQocG9zaXRpb24sIHVzZXJU
cmlnZ2VyZWQpOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIHNldFN0YXJ0KHBv
c2l0aW9uLCB1c2VyVHJpZ2dlcmVkKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83267</attachid>
            <date>2011-02-21 21:36:04 -0800</date>
            <delta_ts>2011-02-21 22:24:52 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-54724-20110222163601.patch</filename>
            <type>text/plain</type>
            <size>8991</size>
            <attacher name="Benjamin (Ben) Kalman">kalman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzkxNjAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhYTMwZTM5ZmZiODUzNjA3MmNhOTY3
ZGYxMDg3ZjdkOWFmOTI4NDJlLi45MTc3MjUyOTA3ZWZjMzQ3YzkyZDc1NjY0MDViYmEwZDFlMWJm
OWM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDItMjEgIEJlbmphbWluIEthbG1hbiAg
PGthbG1hbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdh
LgorCisgICAgICAgIEV4dGVuZGluZyBzZWxlY3Rpb24gYnkgYSBib3VuZGFyeSBncmFudWxhcml0
eSAoTGluZUJvdW5kYXJ5L1BhcmFncmFwaEJvdW5kYXJ5L0RvY3VtZW50Qm91bmRhcnkpIHNldHMg
aW5jb3JyZWN0CisgICAgICAgIHN0YXJ0L2VuZCBvZiBzZWxlY3Rpb24gZm9yIFJUTAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQ3MjQKKworICAgICAg
ICBBdWdtZW50IGV4dGVuZC1sZWZ0LWJ5LWxpbmVib3VuZGFyeSB0ZXN0IHRvIGV4dGVuZCB0aGUg
c2VsZWN0aW9uIHR3aWNlLCB3aGljaCB0cmlnZ2VyZWQgdGhlIGJ1Zy4KKworICAgICAgICAqIGVk
aXRpbmcvc2VsZWN0aW9uL2V4dGVuZC1sZWZ0LXJpZ2h0LWJ5LWxpbmVib3VuZGFyeS1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vZXh0ZW5kLWxlZnQtcmlnaHQtYnkt
bGluZWJvdW5kYXJ5Lmh0bWw6CisKIDIwMTEtMDItMjEgQmVuamFtaW4gS2FsbWFuICA8a2FsbWFu
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtbGVmdC1yaWdodC1i
eS1saW5lYm91bmRhcnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zZWxlY3Rp
b24vZXh0ZW5kLWxlZnQtcmlnaHQtYnktbGluZWJvdW5kYXJ5LWV4cGVjdGVkLnR4dAppbmRleCBi
NjA5NzhkMWZlODY3Y2FkYjAyNjM0NTAwZTg4M2M0ZmM2ZDc1MzFjLi40ZDRlZDkyZWQzNGRlYzFh
ZjgwM2U1MTk5YTVlOTk3MzkwMzdmNTdlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L3NlbGVjdGlvbi9leHRlbmQtbGVmdC1yaWdodC1ieS1saW5lYm91bmRhcnktZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC1sZWZ0LXJpZ2h0LWJ5
LWxpbmVib3VuZGFyeS1leHBlY3RlZC50eHQKQEAgLTEsMjUgKzEsNDEgQEAKIFRlc3RpbmcgbHRy
IGNvbnRhaW5lciB3aXRoIGNvbnRlbnRzICLXlteX15gg15nXmtebINec153XniDXlteX15gg15nX
mtebINec153XniI6CiBQQVNTIChleHRlbmQgbGVmdCBmcm9tIGxlZnQpCitQQVNTIChleHRlbmQg
bGVmdCBmcm9tIGxlZnQgYWdhaW4pCiBQQVNTIChleHRlbmQgcmlnaHQgZnJvbSBsZWZ0KQorUEFT
UyAoZXh0ZW5kIHJpZ2h0IGZyb20gbGVmdCBhZ2FpbikKIFBBU1MgKGV4dGVuZCByaWdodCBmcm9t
IHJpZ2h0KQorUEFTUyAoZXh0ZW5kIHJpZ2h0IGZyb20gcmlnaHQgYWdhaW4pCiBQQVNTIChleHRl
bmQgbGVmdCBmcm9tIHJpZ2h0KQorUEFTUyAoZXh0ZW5kIGxlZnQgZnJvbSByaWdodCBhZ2FpbikK
IAogVGVzdGluZyBsdHIgY29udGFpbmVyIHdpdGggY29udGVudHMgInRoaXMgaXMgc29tZSBsdHIg
dGV4dCBpbiBhbiBydGwgY29udGFpbmVyIjoKIFBBU1MgKGV4dGVuZCBsZWZ0IGZyb20gbGVmdCkK
K1BBU1MgKGV4dGVuZCBsZWZ0IGZyb20gbGVmdCBhZ2FpbikKIFBBU1MgKGV4dGVuZCByaWdodCBm
cm9tIGxlZnQpCitQQVNTIChleHRlbmQgcmlnaHQgZnJvbSBsZWZ0IGFnYWluKQogUEFTUyAoZXh0
ZW5kIHJpZ2h0IGZyb20gcmlnaHQpCitQQVNTIChleHRlbmQgcmlnaHQgZnJvbSByaWdodCBhZ2Fp
bikKIFBBU1MgKGV4dGVuZCBsZWZ0IGZyb20gcmlnaHQpCitQQVNTIChleHRlbmQgbGVmdCBmcm9t
IHJpZ2h0IGFnYWluKQogCiBUZXN0aW5nIHJ0bCBjb250YWluZXIgd2l0aCBjb250ZW50cyAi15bX
l9eYINeZ15rXmyDXnNed154g15bXl9eYINeZ15rXmyDXnNed154iOgogUEFTUyAoZXh0ZW5kIGxl
ZnQgZnJvbSBsZWZ0KQorUEFTUyAoZXh0ZW5kIGxlZnQgZnJvbSBsZWZ0IGFnYWluKQogUEFTUyAo
ZXh0ZW5kIHJpZ2h0IGZyb20gbGVmdCkKK1BBU1MgKGV4dGVuZCByaWdodCBmcm9tIGxlZnQgYWdh
aW4pCiBQQVNTIChleHRlbmQgcmlnaHQgZnJvbSByaWdodCkKK1BBU1MgKGV4dGVuZCByaWdodCBm
cm9tIHJpZ2h0IGFnYWluKQogUEFTUyAoZXh0ZW5kIGxlZnQgZnJvbSByaWdodCkKK1BBU1MgKGV4
dGVuZCBsZWZ0IGZyb20gcmlnaHQgYWdhaW4pCiAKIFRlc3RpbmcgcnRsIGNvbnRhaW5lciB3aXRo
IGNvbnRlbnRzICJ0aGlzIGlzIHNvbWUgbHRyIHRleHQgaW4gYW4gcnRsIGNvbnRhaW5lciI6CiBQ
QVNTIChleHRlbmQgbGVmdCBmcm9tIGxlZnQpCitQQVNTIChleHRlbmQgbGVmdCBmcm9tIGxlZnQg
YWdhaW4pCiBQQVNTIChleHRlbmQgcmlnaHQgZnJvbSBsZWZ0KQorUEFTUyAoZXh0ZW5kIHJpZ2h0
IGZyb20gbGVmdCBhZ2FpbikKIFBBU1MgKGV4dGVuZCByaWdodCBmcm9tIHJpZ2h0KQorUEFTUyAo
ZXh0ZW5kIHJpZ2h0IGZyb20gcmlnaHQgYWdhaW4pCiBQQVNTIChleHRlbmQgbGVmdCBmcm9tIHJp
Z2h0KQorUEFTUyAoZXh0ZW5kIGxlZnQgZnJvbSByaWdodCBhZ2FpbikKIAogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtbGVmdC1yaWdodC1ieS1saW5l
Ym91bmRhcnkuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC1sZWZ0
LXJpZ2h0LWJ5LWxpbmVib3VuZGFyeS5odG1sCmluZGV4IDhmZGEyYTliNzVlMjA1Yjk1ODNlZmQy
MjhlZDI3MjBhNTg2OGI3ODcuLjU2YTEyODhjYTZiYzgyZWJjMDA0N2E1MmI1ZGFhNTg4OTY5OGUy
NjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvc2VsZWN0aW9uL2V4dGVuZC1sZWZ0
LXJpZ2h0LWJ5LWxpbmVib3VuZGFyeS5odG1sCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc2Vs
ZWN0aW9uL2V4dGVuZC1sZWZ0LXJpZ2h0LWJ5LWxpbmVib3VuZGFyeS5odG1sCkBAIC0xNywxMyAr
MTcsMTggQEAgZnVuY3Rpb24gc2hvd05vZGUobm9kZSkKICAgICByZXR1cm4gIjwiICsgdGFnTmFt
ZSArICI+IiArIG5vZGUudGV4dENvbnRlbnQgKyAiPC8iICsgdGFnTmFtZSArICI+IjsKIH0KIAot
ZnVuY3Rpb24gYXNzZXJ0U2VsZWN0aW9uRXh0ZW50RXF1YWxzKGV4cGVjdGVkTm9kZSwgZXhwZWN0
ZWRPZmZzZXQsIG1lc3NhZ2UpCitmdW5jdGlvbiBhc3NlcnRTZWxlY3Rpb25FcXVhbHMoZXhwZWN0
ZWROb2RlLCBleHBlY3RlZEJhc2VPZmZzZXQsIGV4cGVjdGVkRXh0ZW50T2Zmc2V0LCBtZXNzYWdl
KQogewotICAgIHZhciBhY3R1YWxOb2RlID0gZ2V0U2VsZWN0aW9uKCkuZXh0ZW50Tm9kZTsKLSAg
ICB2YXIgYWN0dWFsT2Zmc2V0ID0gZ2V0U2VsZWN0aW9uKCkuZXh0ZW50T2Zmc2V0OwotICAgIGlm
IChhY3R1YWxOb2RlICE9PSBleHBlY3RlZE5vZGUgfHwgYWN0dWFsT2Zmc2V0ICE9PSBleHBlY3Rl
ZE9mZnNldCkKLSAgICAgICAgbG9nKCJGQUlMICgiICsgbWVzc2FnZSArICIpOiBleHBlY3RlZCBv
ZmZzZXQgIiArIGV4cGVjdGVkT2Zmc2V0ICsgIiBpbiBub2RlICIgKyBzaG93Tm9kZShleHBlY3Rl
ZE5vZGUpICsKLSAgICAgICAgICAgICIgYnV0IGdvdCBvZmZzZXQgIiArIGFjdHVhbE9mZnNldCAr
ICIgaW4gbm9kZSAiICsgc2hvd05vZGUoYWN0dWFsTm9kZSkpOworICAgIHZhciBzZWxlY3Rpb24g
PSBnZXRTZWxlY3Rpb24oKTsKKyAgICBpZiAoc2VsZWN0aW9uLmJhc2VOb2RlICE9PSBleHBlY3Rl
ZE5vZGUKKyAgICAgICAgICAgIHx8IHNlbGVjdGlvbi5iYXNlT2Zmc2V0ICE9PSBleHBlY3RlZEJh
c2VPZmZzZXQKKyAgICAgICAgICAgIHx8IHNlbGVjdGlvbi5leHRlbnROb2RlICE9PSBleHBlY3Rl
ZE5vZGUKKyAgICAgICAgICAgIHx8IHNlbGVjdGlvbi5leHRlbnRPZmZzZXQgIT09IGV4cGVjdGVk
RXh0ZW50T2Zmc2V0KQorICAgICAgICBsb2coIkZBSUwgKCIgKyBtZXNzYWdlICsgIik6XG4iICsK
KyAgICAgICAgICAgICIgICAgIGV4cGVjdGVkIGJhc2Ugb2Zmc2V0ICIgKyBleHBlY3RlZEJhc2VP
ZmZzZXQgKyAiIGluIG5vZGUgIiArIHNob3dOb2RlKGV4cGVjdGVkTm9kZSkgKyAiXG4iICsKKyAg
ICAgICAgICAgICIgICAgICAgIGFuZCBleHRlbnQgb2Zmc2V0ICIgKyBleHBlY3RlZEV4dGVudE9m
ZnNldCArICIgaW4gbm9kZSAiICsgc2hvd05vZGUoZXhwZWN0ZWROb2RlKSArICJcbiIgKworICAg
ICAgICAgICAgIiAgLi4uIGJ1dCBnb3QgYmFzZSBvZmZzZXQgIiArIHNlbGVjdGlvbi5iYXNlT2Zm
c2V0ICsgIiBpbiBub2RlICIgKyBzaG93Tm9kZShzZWxlY3Rpb24uYmFzZU5vZGUpICsgIlxuIiAr
CisgICAgICAgICAgICAiICAgICAgICBhbmQgZXh0ZW50IG9mZnNldCAiICsgc2VsZWN0aW9uLmV4
dGVudE9mZnNldCArICIgaW4gbm9kZSAiICsgc2hvd05vZGUoc2VsZWN0aW9uLmV4dGVudE5vZGUp
KTsKICAgICBlbHNlCiAgICAgICAgIGxvZygiUEFTUyAoIiArIG1lc3NhZ2UgKyAiKSIpOwogfQpA
QCAtMzgsMTkgKzQzLDI3IEBAIGZ1bmN0aW9uIHJ1blRlc3RGb3JDb250YWluZXIoY29udGFpbmVy
KQogCiAgICAgZ2V0U2VsZWN0aW9uKCkuc2V0UG9zaXRpb24odGV4dE5vZGUsIGxlZnRtb3N0T2Zm
c2V0KTsKICAgICBnZXRTZWxlY3Rpb24oKS5tb2RpZnkoImV4dGVuZCIsICJsZWZ0IiwgImxpbmVi
b3VuZGFyeSIpOwotICAgIGFzc2VydFNlbGVjdGlvbkV4dGVudEVxdWFscyh0ZXh0Tm9kZSwgbGVm
dG1vc3RPZmZzZXQsICJleHRlbmQgbGVmdCBmcm9tIGxlZnQiKTsKKyAgICBhc3NlcnRTZWxlY3Rp
b25FcXVhbHModGV4dE5vZGUsIGxlZnRtb3N0T2Zmc2V0LCBsZWZ0bW9zdE9mZnNldCwgImV4dGVu
ZCBsZWZ0IGZyb20gbGVmdCIpOworICAgIGdldFNlbGVjdGlvbigpLm1vZGlmeSgiZXh0ZW5kIiwg
ImxlZnQiLCAibGluZWJvdW5kYXJ5Iik7CisgICAgYXNzZXJ0U2VsZWN0aW9uRXF1YWxzKHRleHRO
b2RlLCBsZWZ0bW9zdE9mZnNldCwgbGVmdG1vc3RPZmZzZXQsICJleHRlbmQgbGVmdCBmcm9tIGxl
ZnQgYWdhaW4iKTsKIAogICAgIGdldFNlbGVjdGlvbigpLnNldFBvc2l0aW9uKHRleHROb2RlLCBs
ZWZ0bW9zdE9mZnNldCk7CiAgICAgZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCJleHRlbmQiLCAicmln
aHQiLCAibGluZWJvdW5kYXJ5Iik7Ci0gICAgYXNzZXJ0U2VsZWN0aW9uRXh0ZW50RXF1YWxzKHRl
eHROb2RlLCByaWdodG1vc3RPZmZzZXQsICJleHRlbmQgcmlnaHQgZnJvbSBsZWZ0Iik7CisgICAg
YXNzZXJ0U2VsZWN0aW9uRXF1YWxzKHRleHROb2RlLCBsZWZ0bW9zdE9mZnNldCwgcmlnaHRtb3N0
T2Zmc2V0LCAiZXh0ZW5kIHJpZ2h0IGZyb20gbGVmdCIpOworICAgIGdldFNlbGVjdGlvbigpLm1v
ZGlmeSgiZXh0ZW5kIiwgInJpZ2h0IiwgImxpbmVib3VuZGFyeSIpOworICAgIGFzc2VydFNlbGVj
dGlvbkVxdWFscyh0ZXh0Tm9kZSwgbGVmdG1vc3RPZmZzZXQsIHJpZ2h0bW9zdE9mZnNldCwgImV4
dGVuZCByaWdodCBmcm9tIGxlZnQgYWdhaW4iKTsKIAogICAgIGdldFNlbGVjdGlvbigpLnNldFBv
c2l0aW9uKHRleHROb2RlLCByaWdodG1vc3RPZmZzZXQpOwogICAgIGdldFNlbGVjdGlvbigpLm1v
ZGlmeSgiZXh0ZW5kIiwgInJpZ2h0IiwgImxpbmVib3VuZGFyeSIpOwotICAgIGFzc2VydFNlbGVj
dGlvbkV4dGVudEVxdWFscyh0ZXh0Tm9kZSwgcmlnaHRtb3N0T2Zmc2V0LCAiZXh0ZW5kIHJpZ2h0
IGZyb20gcmlnaHQiKTsKKyAgICBhc3NlcnRTZWxlY3Rpb25FcXVhbHModGV4dE5vZGUsIHJpZ2h0
bW9zdE9mZnNldCwgcmlnaHRtb3N0T2Zmc2V0LCAiZXh0ZW5kIHJpZ2h0IGZyb20gcmlnaHQiKTsK
KyAgICBnZXRTZWxlY3Rpb24oKS5tb2RpZnkoImV4dGVuZCIsICJyaWdodCIsICJsaW5lYm91bmRh
cnkiKTsKKyAgICBhc3NlcnRTZWxlY3Rpb25FcXVhbHModGV4dE5vZGUsIHJpZ2h0bW9zdE9mZnNl
dCwgcmlnaHRtb3N0T2Zmc2V0LCAiZXh0ZW5kIHJpZ2h0IGZyb20gcmlnaHQgYWdhaW4iKTsKIAog
ICAgIGdldFNlbGVjdGlvbigpLnNldFBvc2l0aW9uKHRleHROb2RlLCByaWdodG1vc3RPZmZzZXQp
OwogICAgIGdldFNlbGVjdGlvbigpLm1vZGlmeSgiZXh0ZW5kIiwgImxlZnQiLCAibGluZWJvdW5k
YXJ5Iik7Ci0gICAgYXNzZXJ0U2VsZWN0aW9uRXh0ZW50RXF1YWxzKHRleHROb2RlLCBsZWZ0bW9z
dE9mZnNldCwgImV4dGVuZCBsZWZ0IGZyb20gcmlnaHQiKTsKKyAgICBhc3NlcnRTZWxlY3Rpb25F
cXVhbHModGV4dE5vZGUsIHJpZ2h0bW9zdE9mZnNldCwgbGVmdG1vc3RPZmZzZXQsICJleHRlbmQg
bGVmdCBmcm9tIHJpZ2h0Iik7CisgICAgZ2V0U2VsZWN0aW9uKCkubW9kaWZ5KCJleHRlbmQiLCAi
bGVmdCIsICJsaW5lYm91bmRhcnkiKTsKKyAgICBhc3NlcnRTZWxlY3Rpb25FcXVhbHModGV4dE5v
ZGUsIHJpZ2h0bW9zdE9mZnNldCwgbGVmdG1vc3RPZmZzZXQsICJleHRlbmQgbGVmdCBmcm9tIHJp
Z2h0IGFnYWluIik7CiAKICAgICBsb2coIiIpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDZhZDMyZDRlOGEz
MjMxODRmNTlmNDE4YzM5ZTA4YmZmOWZhZDJlM2YuLjdmMDZhNDZjOGRkMjBkMGIxNzE1ZGEwMzU0
MDVhMWE4NmI0YjJlZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMS0wMi0yMSAg
QmVuamFtaW4gS2FsbWFuICA8a2FsbWFuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgRXh0ZW5kaW5nIHNlbGVjdGlvbiBieSBhIGJv
dW5kYXJ5IGdyYW51bGFyaXR5IChMaW5lQm91bmRhcnkvUGFyYWdyYXBoQm91bmRhcnkvRG9jdW1l
bnRCb3VuZGFyeSkgc2V0cyBpbmNvcnJlY3QKKyAgICAgICAgc3RhcnQvZW5kIG9mIHNlbGVjdGlv
biBmb3IgUlRMCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD01NDcyNAorCisgICAgICAgIE9uIG1hYywgdGhlIHNlbGVjdGlvbiBzaG91bGQgYWx3YXlzIGdy
b3cgd2hlbiBleHRlbmRpbmcgYnkgYSBib3VuZGFyeSBncmFudWxhcml0eSAobGluZS9wYXJhZ3Jh
cGgvZG9jdW1lbnQpLgorICAgICAgICBUaGlzIGlzIGFjaGlldmVkIGJ5IGV4dGVuZGluZyBmcm9t
IHRoZSBzdGFydCBmb3IgdGhlICJsZWZ0IiBkaXJlY3Rpb24gKGUuZy4gcHJlc3NpbmcgbGVmdCBh
cnJvdyBrZXkpLCBvcgorICAgICAgICBleHRlbmRpbmcgZnJvbSB0aGUgZW5kIHdoZW4gZm9yIHRo
ZSAicmlnaHQiIGRpcmVjdGlvbiAoZS5nLiBwcmVzc2luZyByaWdodCBhcnJvdyBrZXkpLgorCisg
ICAgICAgIEhvd2V2ZXIsIHRoaXMgaGFzIGEgYnVnIGZvciBSVEwgdGV4dCwgd2hpY2ggc2hvdWxk
IGFjdHVhbGx5IGV4dGVuZCBmcm9tIHRoZSAqZW5kKiB3aGVuIGV4dGVuZGluZyBsZWZ0IChzaW5j
ZQorICAgICAgICBkaXJlY3Rpb24gaXMgb2J2aW91c2x5IHJldmVyc2VkKSBhbmQgbGlrZXdpc2Ug
ZXh0ZW5kIGZyb20gdGhlIHN0YXJ0IHdoZW4gZXh0ZW5kaW5nIHJpZ2h0LgorCisgICAgICAgICog
ZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVj
dGlvbkNvbnRyb2xsZXI6Om1vZGlmeSk6CisKIDIwMTEtMDItMjAgIEFsZXhleSBQcm9za3VyeWFr
b3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9TZWxlY3Rpb25Db250cm9sbGVyLmNwcAppbmRleCA1
Y2Y1Y2I3ODQxNDVmNTRlZjhiNjljOWJjNDEyZDcxMDk0YjJkZmRmLi5mNjA0M2E4MmQyOWRkOTJh
MGVmMzAxZDdmM2YzZTI1MzFhMzI0YWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL1NlbGVjdGlvbkNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
U2VsZWN0aW9uQ29udHJvbGxlci5jcHAKQEAgLTc5Myw3ICs3OTMsOCBAQCBib29sIFNlbGVjdGlv
bkNvbnRyb2xsZXI6Om1vZGlmeShFQWx0ZXJhdGlvbiBhbHRlciwgU2VsZWN0aW9uRGlyZWN0aW9u
IGRpcmVjdGlvbgogICAgICAgICBpZiAoIW1fZnJhbWUgfHwgIW1fZnJhbWUtPmVkaXRvcigpLT5i
ZWhhdmlvcigpLnNob3VsZEFsd2F5c0dyb3dTZWxlY3Rpb25XaGVuRXh0ZW5kaW5nVG9Cb3VuZGFy
eSgpIHx8IG1fc2VsZWN0aW9uLmlzQ2FyZXQoKSB8fCAhaXNCb3VuZGFyeShncmFudWxhcml0eSkp
CiAgICAgICAgICAgICBzZXRFeHRlbnQocG9zaXRpb24sIHVzZXJUcmlnZ2VyZWQpOwogICAgICAg
ICBlbHNlIHsKLSAgICAgICAgICAgIGlmIChkaXJlY3Rpb24gPT0gRGlyZWN0aW9uRm9yd2FyZCB8
fCBkaXJlY3Rpb24gPT0gRGlyZWN0aW9uUmlnaHQpCisgICAgICAgICAgICBUZXh0RGlyZWN0aW9u
IHRleHREaXJlY3Rpb24gPSBkaXJlY3Rpb25PZkVuY2xvc2luZ0Jsb2NrKCk7CisgICAgICAgICAg
ICBpZiAoZGlyZWN0aW9uID09IERpcmVjdGlvbkZvcndhcmQgfHwgKHRleHREaXJlY3Rpb24gPT0g
TFRSICYmIGRpcmVjdGlvbiA9PSBEaXJlY3Rpb25SaWdodCkgfHwgKHRleHREaXJlY3Rpb24gPT0g
UlRMICYmIGRpcmVjdGlvbiA9PSBEaXJlY3Rpb25MZWZ0KSkKICAgICAgICAgICAgICAgICBzZXRF
bmQocG9zaXRpb24sIHVzZXJUcmlnZ2VyZWQpOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAg
ICAgICAgIHNldFN0YXJ0KHBvc2l0aW9uLCB1c2VyVHJpZ2dlcmVkKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>