<?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>15068</bug_id>
          
          <creation_ts>2007-08-24 05:46:23 -0700</creation_ts>
          <short_desc>[S60] VBRY-763RLF : RTL brackets and alt text are displayed incorrecting</short_desc>
          <delta_ts>2011-03-21 11:53:37 -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>DOM</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>S60 Emulator</rep_platform>
          <op_sys>S60 3rd edition</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.google.com/pk or http://www.google.co.il</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>PlatformOnly</keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Pat">vincent.bradley</reporter>
          <assigned_to name="Pat">vincent.bradley</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1553</commentid>
    <comment_count>0</comment_count>
    <who name="Pat">vincent.bradley</who>
    <bug_when>2007-08-24 05:46:23 -0700</bug_when>
    <thetext>TSW ID: VBRY-763RLF
For RTL languages, special characters, such as brackets are displayed incorrectly. Also Alternative text for images are displayed LTR, instead of RTL. The alt text issue is on Safari also, but they always display a broken image icon, so the text is not displayed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384</commentid>
    <comment_count>1</comment_count>
      <attachid>16132</attachid>
    <who name="Pat">vincent.bradley</who>
    <bug_when>2007-08-27 08:46:22 -0700</bug_when>
    <thetext>Created attachment 16132
3.2 patch for RTL text in body and alt text

This patch needs to be reviewed by Sachin (WebKit part) and Zalan (WebCore part).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1374</commentid>
    <comment_count>2</comment_count>
      <attachid>16132</attachid>
    <who name="Pat">vincent.bradley</who>
    <bug_when>2007-08-27 11:39:14 -0700</bug_when>
    <thetext>Comment on attachment 16132
3.2 patch for RTL text in body and alt text

Sachin requested that Yongjun review the WebKit part of patch, since he wrote that module. Reassigning review to Yongjun.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>912</commentid>
    <comment_count>3</comment_count>
      <attachid>16132</attachid>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2007-09-05 13:31:01 -0700</bug_when>
    <thetext>Comment on attachment 16132
3.2 patch for RTL text in body and alt text

Possible memory leak here:
+                // We have a RTL string
+                TBidiText* bidiText = TBidiText::NewL( newStr, 1, TBidiText::ERightToLeft );
+                bidiText-&gt;WrapText( WidthForRun( aRun, aStyle ), *iFont );
+                bidiText-&gt;DrawText( bitgc, startPos );

/ bidiText is never deleted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826</commentid>
    <comment_count>4</comment_count>
      <attachid>16219</attachid>
    <who name="Pat">vincent.bradley</who>
    <bug_when>2007-09-07 10:36:19 -0700</bug_when>
    <thetext>Created attachment 16219
3.2 patch for RTL text in body and alt image text

Fixes memory leak, by deleting TBidiText.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704</commentid>
    <comment_count>5</comment_count>
      <attachid>16219</attachid>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2007-09-10 07:06:04 -0700</bug_when>
    <thetext>Comment on attachment 16219
3.2 patch for RTL text in body and alt image text

r = me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>77080</commentid>
    <comment_count>6</comment_count>
    <who name="Bradley Morrison">bradley.morrison</who>
    <bug_when>2008-04-09 11:39:57 -0700</bug_when>
    <thetext>Bulk closing of all s60 platform bugs. 

Sorry for the noise!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370785</commentid>
    <comment_count>7</comment_count>
    <who name="Joel Parks">joel.parks</who>
    <bug_when>2011-03-21 11:53:37 -0700</bug_when>
    <thetext>re-purposing InTSW keyword for use by QtWebkit team</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>16132</attachid>
            <date>2007-08-27 08:46:22 -0700</date>
            <delta_ts>2007-09-07 10:36:19 -0700</delta_ts>
            <desc>3.2 patch for RTL text in body and alt text</desc>
            <filename>15068.patch</filename>
            <type>text/plain</type>
            <size>9455</size>
            <attacher name="Pat">vincent.bradley</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViQ29yZS9DaGFuZ2VM
b2cJKHJldmlzaW9uIDI1MjYxKQ0KKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
DQpAQCAtMSwzICsxLDEyIEBADQordmJyYWRsZXksIHJldmlld2VkIGJ5IFphbGFuDQorIERFU0M6
IFZCUlktNzYzUkxGIC0gUlRMIGJyYWNrZXRzIGFuZCBhbHQgdGV4dCBhcmUgZGlzcGxheWVkIGlu
Y29ycmVjdGx5DQorIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MDY4
DQorDQorICAgICAgICBXQVJOSU5HOiBOTyBURVNUIENBU0VTIEFEREVEIE9SIENIQU5HRUQNCisN
CisgICAgICAgICoga2h0bWwvcmVuZGVyaW5nL3JlbmRlcl9pbWFnZS5jcHA6DQorICAgICAgICAo
UmVuZGVySW1hZ2U6OnBhaW50KToNCisNCiAyMDA3LTA4LTIzICB3M2xpdSAgPHdlaS5saXVAbm9r
aWEuY29tPg0KIA0KICAgICAgICAgUmV2aWV3ZWQgYnkgPHNyaXJhbS55YWRhdmFsbGlAbm9raWEu
Y29tPi4NCkluZGV4OiBXZWJDb3JlL2todG1sL3JlbmRlcmluZy9yZW5kZXJfaW1hZ2UuY3BwDQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09DQotLS0gV2ViQ29yZS9raHRtbC9yZW5kZXJpbmcvcmVuZGVyX2ltYWdlLmNwcAko
cmV2aXNpb24gMjUyNjApDQorKysgV2ViQ29yZS9raHRtbC9yZW5kZXJpbmcvcmVuZGVyX2ltYWdl
LmNwcAkod29ya2luZyBjb3B5KQ0KQEAgLTM3Myw5ICszNzMsMjAgQEANCiAgICAgICAgICAgICAg
ICAgUVN0cmluZyB0ZXh0ID0gYWx0LnN0cmluZygpOwogICAgICAgICAgICAgICAgIGlmIChlcnJv
clBpY3R1cmVEcmF3bikgewogICAgICAgICAgICAgICAgICAgICBpZiAodXNhYmxlV2lkdGggPj0g
dGV4dFdpZHRoICYmIHRleHRIZWlnaHQgPD0gaW1hZ2VZKQorI2lmICFOT0tJQV9DSEFOR0VTCiAg
ICAgICAgICAgICAgICAgICAgICAgICBwLT5kcmF3VGV4dChfdHggKyB0ZXh0WCwgIF90eSArIHRl
eHRZICsgYXNjZW50LCB0YWJXaWR0aCgpLCAwLCAwIC8qIGlnbm9yZWQgKi8sIDAgLyogaWdub3Jl
ZCAqLywgUXQ6OldvcmRCcmVhayAgLyogbm90IHN1cHBvcnRlZCAqLywgdGV4dCApOwogICAgICAg
ICAgICAgICAgIH0gZWxzZSBpZiAodXNhYmxlV2lkdGggPj0gdGV4dFdpZHRoICYmIGNIZWlnaHQg
Pj0gdGV4dEhlaWdodCkKICAgICAgICAgICAgICAgICAgICAgcC0+ZHJhd1RleHQoX3R4ICsgdGV4
dFgsIF90eSArIHRleHRZICsgYXNjZW50LCB0YWJXaWR0aCgpLCAwLCAwIC8qIGlnbm9yZWQgKi8s
IDAgLyogaWdub3JlZCAqLywgUXQ6OldvcmRCcmVhayAgLyogbm90IHN1cHBvcnRlZCAqLywgdGV4
dCApOworI2Vsc2UKKwkJCQkJLy8gU3VwcG9ydHMgZGlzcGxheWluZyBhbHQgdGV4dCBhcyBSVEws
IGlmIG5lZWRlZAorICAgICAgICAgICAgICAgICAgICBwLT5kcmF3VGV4dChfdHggKyB0ZXh0WCwg
X3R5ICsgdGV4dFkgKyBhc2NlbnQsIHRhYldpZHRoKCksIDAsIHRleHQudW5pY29kZSgpLCAoaW50
KXRleHQubGVuZ3RoKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIChpbnQp
dGV4dC5sZW5ndGgoKSwgMCwgc2VsZWN0aW9uQ29sb3IocCksIHN0eWxlKCktPmRpcmVjdGlvbigp
ID8gUVBhaW50ZXI6OlJUTCA6IFFQYWludGVyOjpMVFIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHN0eWxlKCktPnZpc3VhbGx5T3JkZXJlZCgpLCBzdHlsZSgpLT5sZXR0ZXJTcGFj
aW5nKCksIHN0eWxlKCktPndvcmRTcGFjaW5nKCksIGZhbHNlICk7CisgICAgICAgICAgICAgICAg
fSBlbHNlIGlmICh1c2FibGVXaWR0aCA+PSB0ZXh0V2lkdGggJiYgY0hlaWdodCA+PSB0ZXh0SGVp
Z2h0KQorICAgICAgICAgICAgICAgICAgICBwLT5kcmF3VGV4dChfdHggKyB0ZXh0WCwgX3R5ICsg
dGV4dFkgKyBhc2NlbnQsIHRhYldpZHRoKCksIDAsIHRleHQudW5pY29kZSgpLCAoaW50KXRleHQu
bGVuZ3RoKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIChpbnQpdGV4dC5s
ZW5ndGgoKSwgMCwgc2VsZWN0aW9uQ29sb3IocCksIHN0eWxlKCktPmRpcmVjdGlvbigpID8gUVBh
aW50ZXI6OlJUTCA6IFFQYWludGVyOjpMVFIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHN0eWxlKCktPnZpc3VhbGx5T3JkZXJlZCgpLCBzdHlsZSgpLT5sZXR0ZXJTcGFjaW5nKCks
IHN0eWxlKCktPndvcmRTcGFjaW5nKCksIGZhbHNlICk7CisjZW5kaWYKICAgICAgICAgICAgIH0K
ICNlbHNlIC8qIG5vdCBBUFBMRV9DSEFOR0VTICovCiAgICAgICAgICAgICBpZiAoICFiZXJyb3JQ
aWMgKSB7CkluZGV4OiBXZWJLaXQvQnJvd3NlckNvcmUvUmVuZGVyZXJzL3NyYy9UZXh0UmVuZGVy
ZXIuY3BwDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0L0Jyb3dzZXJDb3JlL1JlbmRlcmVycy9zcmMv
VGV4dFJlbmRlcmVyLmNwcAkocmV2aXNpb24gMjUyNjApDQorKysgV2ViS2l0L0Jyb3dzZXJDb3Jl
L1JlbmRlcmVycy9zcmMvVGV4dFJlbmRlcmVyLmNwcAkod29ya2luZyBjb3B5KQ0KQEAgLTQ3LDYg
KzQ3LDcgQEANCiAjaW5jbHVkZSA8Z2RpLmg+DQogI2luY2x1ZGUgPGJpdHN0ZC5oPg0KICNpbmNs
dWRlIDx3MzJzdGQuaD4NCisjaW5jbHVkZSA8QmlkaVRleHQuaD4NCiANCiAjaW5jbHVkZSAiV2Vi
Q29yZUJyaWRnZS5oIg0KICNpbmNsdWRlICJUZXh0UmVuZGVyZXJGYWN0b3J5LmgiDQpAQCAtMjky
LDI0ICsyOTMsMjQgQEANCiAgICAgQ0Zic0JpdEdjJiBiaXRnYyA9IGFHcmFwaGljc0NvbnRleHQu
R2MoKTsNCiAgICAgYml0Z2MuU2V0UGVuQ29sb3IoIGFTdHlsZS5pVGV4dENvbG9yICk7DQogICAg
IGJpdGdjLlVzZUZvbnROb0R1cGxpY2F0ZSggc3RhdGljX2Nhc3Q8Q0Zic0JpdEdjRm9udCo+KGlG
b250KSApOw0KLSAgICBDV2ViS2l0RnJhbWUqIHdlYmtpdEZyYW1lID0gc3RhdGljX2Nhc3Q8Q1dl
YktpdEZyYW1lKj4oJmFHcmFwaGljc0NvbnRleHQuVmlldygpKTsNCisgICAgQ1dlYktpdEZyYW1l
KiB3ZWJraXRGcmFtZSA9IHN0YXRpY19jYXN0PENXZWJLaXRGcmFtZSo+KCAmYUdyYXBoaWNzQ29u
dGV4dC5WaWV3KCkgKTsNCiAgIA0KICAgICBUUG9pbnQgc3RhcnRQb3MgPSBhR2VvbWV0cnkuaVBv
aW50Ow0KLSAgICBpZiAoYVJ1bi5pRnJvbSkNCisgICAgaWYgKCBhUnVuLmlGcm9tICkNCiAgICAg
ICAgIHsNCiAgICAgICAgIC8vIHRoZSB0ZXh0IHJ1biBiZWZvcmUgdGhlIHNlbGVjdGlvbg0KLSAg
ICAgICAgVFdlYkNvcmVUZXh0UnVuIGxlZnRSdW4oYVJ1bi5pQ2hhcmFjdGVycywgYVJ1bi5pTGVu
Z3RoLCAwLCBhUnVuLmlGcm9tKTsNCisgICAgICAgIFRXZWJDb3JlVGV4dFJ1biBsZWZ0UnVuKCBh
UnVuLmlDaGFyYWN0ZXJzLCBhUnVuLmlMZW5ndGgsIDAsIGFSdW4uaUZyb20gKTsNCiAgICAgICAg
IC8vIHRoZSBzZWxlY3Rpb24gc3RhcnQgcG9pbnQNCi0gICAgICAgIHN0YXJ0UG9zLmlYICs9IFdp
ZHRoRm9yUnVuKGxlZnRSdW4sIGFTdHlsZSk7DQorICAgICAgICBzdGFydFBvcy5pWCArPSBXaWR0
aEZvclJ1biggbGVmdFJ1biwgYVN0eWxlICk7DQogICAgIH0NCi0gICAgVFB0ckMgc3RyKCAoY29u
c3QgVFVpbnQxNiopKGFSdW4uaUNoYXJhY3RlcnMgKyBhUnVuLmlGcm9tKSwgYVJ1bi5pVG8gLSBh
UnVuLmlGcm9tKTsNCisgICAgVFB0ckMgc3RyKCAoY29uc3QgVFVpbnQxNiopKGFSdW4uaUNoYXJh
Y3RlcnMgKyBhUnVuLmlGcm9tKSwgYVJ1bi5pVG8gLSBhUnVuLmlGcm9tICk7DQogDQotICAgIFRJ
bnQgbnVtU3BhY2VzKDApOw0KLSAgICBUSW50IGluZGV4T2ZGaXJzdE5vblJlZ3VsYXJTcGFjZSgt
MSk7DQotICAgIFRJbnQgc3RyTGVuZ3RoKHN0ci5MZW5ndGgoKSk7DQorICAgIFRJbnQgbnVtU3Bh
Y2VzKCAwICk7DQorICAgIFRJbnQgaW5kZXhPZkZpcnN0Tm9uUmVndWxhclNwYWNlKCAtMSApOw0K
KyAgICBUSW50IHN0ckxlbmd0aCggc3RyLkxlbmd0aCgpICk7DQogICAgIC8vIGEpIHNlYXJjaCBm
b3IgbmJzcCBhbmQgc2ltaWxhcg0KICAgICAvLyBiKSBjb3VudCB0aGUgc3BhY2VzIGZvciB3b3Jk
IHNwYWNpbmcNCi0gICAgZm9yKCBUSW50IG4gPSAwOyBuPHN0ckxlbmd0aDsgKytuKQ0KKyAgICBm
b3IgKCBUSW50IG4gPSAwOyBuPHN0ckxlbmd0aDsgKytuICkNCiAgICAgICAgIHsNCiAgICAgICAg
IGlmICggc3RyW25dID09ICcgJyApDQogICAgICAgICAgICAgew0KQEAgLTMxNywxMiArMzE4LDEy
IEBADQogICAgICAgICAgICAgfQ0KICAgICAgICAgZWxzZSBpZiggVENoYXIoc3RyW25dKS5Jc1Nw
YWNlKCkgKQ0KICAgICAgICAgICAgIHsNCi0gICAgICAgICAgICBpZiAoaW5kZXhPZkZpcnN0Tm9u
UmVndWxhclNwYWNlPT0tMSkNCisgICAgICAgICAgICBpZiAoIGluZGV4T2ZGaXJzdE5vblJlZ3Vs
YXJTcGFjZSA9PSAtMSApDQogICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgaW5k
ZXhPZkZpcnN0Tm9uUmVndWxhclNwYWNlID0gbjsNCiAgICAgICAgICAgICAgICAgfQ0KICAgICAg
ICAgICAgIG51bVNwYWNlcysrOw0KLSAgICAgICAgICAgIGlmIChhU3R5bGUuaVdvcmRTcGFjaW5n
PT0wICYmIGFTdHlsZS5pUGFkZGluZyA9PSAwICkNCisgICAgICAgICAgICBpZiAoIGFTdHlsZS5p
V29yZFNwYWNpbmcgPT0gMCAmJiBhU3R5bGUuaVBhZGRpbmcgPT0gMCApDQogICAgICAgICAgICAg
ICAgIHsNCiAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgIH0NCkBAIC0z
MzAsNjQgKzMzMSw1OCBAQA0KICAgICAgICAgfQ0KIA0KICAgICAvLyBsZXR0ZXIgc3BhY2luZw0K
LSAgICBiaXRnYy5TZXRDaGFySnVzdGlmaWNhdGlvbihhU3R5bGUuaUxldHRlclNwYWNpbmcqc3Ry
Lkxlbmd0aCgpLHN0ci5MZW5ndGgoKSk7DQorICAgIGJpdGdjLlNldENoYXJKdXN0aWZpY2F0aW9u
KCBhU3R5bGUuaUxldHRlclNwYWNpbmcqc3RyLkxlbmd0aCgpLCBzdHIuTGVuZ3RoKCkgKTsNCiAg
ICAgLy8gd29yZCBzcGFjaW5nDQogICAgIGJpdGdjLlNldFdvcmRKdXN0aWZpY2F0aW9uKCBhU3R5
bGUuaVdvcmRTcGFjaW5nKm51bVNwYWNlcyArIGFTdHlsZS5pUGFkZGluZywgbnVtU3BhY2VzICk7
DQogDQotICAgIC8vIHNlZSBpZiB3ZSBuZWVkIGEgdGVtcG9yYXJ5IGJ1ZmZlcg0KLSAgICBpZigg
aW5kZXhPZkZpcnN0Tm9uUmVndWxhclNwYWNlID4gLTEgfHwgYVN0eWxlLmlTbWFsbENhcHMgfHwg
YVN0eWxlLmlSdGwpew0KLSAgICAgICAgSEJ1ZkMqIHRleHQgPSAwOw0KLSAgICAgICAgaWYgKGFT
dHlsZS5pUnRsKQ0KKyAgICAvLyBTZWUgaWYgd2UgbmVlZCBhIHRlbXBvcmFyeSBidWZmZXINCisg
ICAgaWYgKCBpbmRleE9mRmlyc3ROb25SZWd1bGFyU3BhY2UgPiAtMSB8fCBhU3R5bGUuaVNtYWxs
Q2FwcyB8fCBhU3R5bGUuaVJ0bCApDQorICAgICAgICB7DQorICAgICAgICBIQnVmQyogdGV4dCA9
IHN0ci5BbGxvYygpOw0KKyAgICAgICAgaWYgKCB0ZXh0ICkNCiAgICAgICAgICAgICB7DQotICAg
ICAgICAgICAgLy8gc3dpdGNoIGNoYXJhY3RlciBvcmRlciBmb3IgcmlnaHQtdG8tbGVmdCB0ZXh0
DQotICAgICAgICAgICAgdGV4dCA9IEhCdWZDOjpOZXcoc3RyTGVuZ3RoKTsNCi0gICAgICAgICAg
ICBpZiAodGV4dCkNCisgICAgICAgICAgICBUUHRyIG5ld1N0ciggdGV4dC0+RGVzKCkgKTsNCisg
ICAgICAgICAgICBpZiAoIGFTdHlsZS5pU21hbGxDYXBzICkNCiAgICAgICAgICAgICAgICAgew0K
LSAgICAgICAgICAgICAgICBUUHRyIG5ld1N0cih0ZXh0LT5EZXMoKSk7DQotICAgICAgICAgICAg
ICAgIG5ld1N0ci5TZXRMZW5ndGgoc3RyTGVuZ3RoKTsNCi0gICAgICAgICAgICAgICAgZm9yIChU
SW50IG4gPSAwOyBuPHN0ckxlbmd0aDsgbisrKQ0KLSAgICAgICAgICAgICAgICAgICAgew0KLSAg
ICAgICAgICAgICAgICAgICAgbmV3U3RyW25dID0gc3RyW3N0ckxlbmd0aC1uLTFdOw0KLSAgICAg
ICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICAgICBpZiAoaW5kZXhPZkZpcnN0Tm9uUmVn
dWxhclNwYWNlID4gLTEpDQotICAgICAgICAgICAgICAgICAgICB7DQotICAgICAgICAgICAgICAg
ICAgICBpbmRleE9mRmlyc3ROb25SZWd1bGFyU3BhY2UgPSBzdHJMZW5ndGgtaW5kZXhPZkZpcnN0
Tm9uUmVndWxhclNwYWNlLTE7DQotICAgICAgICAgICAgICAgICAgICB9DQotICAgICAgICAgICAg
ICAgfQ0KLSAgICAgICAgICAgIH0NCi0gICAgICAgIGVsc2UNCi0gICAgICAgICAgICB7DQotICAg
ICAgICAgICAgdGV4dCA9IHN0ci5BbGxvYygpOw0KLSAgICAgICAgICAgIH0NCi0gICAgICAgIGlm
ICh0ZXh0KXsNCi0gICAgICAgICAgICBUUHRyIG5ld1N0cih0ZXh0LT5EZXMoKSk7DQotICAgICAg
ICAgICAgaWYgKGFTdHlsZS5pU21hbGxDYXBzKQ0KLSAgICAgICAgICAgICAgICB7DQotICAgICAg
ICAgICAgICAgIC8vIHByb3BlciBzbWFsbCBjYXBzIGltcGxlbWVudGF0aW9uIHdvdWxkIHVzZSBz
bWFsbGVyIGZvbnQsIGJ1dCB0aGF0IGdldCBjb21wbGljYXRlZA0KKyAgICAgICAgICAgICAgICAv
LyBQcm9wZXIgc21hbGwgY2FwcyBpbXBsZW1lbnRhdGlvbiB3b3VsZCB1c2Ugc21hbGxlciBmb250
LCBidXQgdGhhdCBnZXQgY29tcGxpY2F0ZWQNCiAgICAgICAgICAgICAgICAgLy8ganVzdCB1cHBl
ciBjYXNlIGZvciBub3cNCiAgICAgICAgICAgICAgICAgbmV3U3RyLlVwcGVyQ2FzZSgpOw0KICAg
ICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgLy8gaWYgd2UgaGF2ZSBub24tcmVndWxhciBz
cGFjZXMgKG5ic3AsIHRhYiwgZXRjLikgd2UgbmVlZCB0byBtYWtlIGEgY29weQ0KKw0KKyAgICAg
ICAgICAgIC8vIElmIHdlIGhhdmUgbm9uLXJlZ3VsYXIgc3BhY2VzIChuYnNwLCB0YWIsIGV0Yy4p
IHdlIG5lZWQgdG8gbWFrZSBhIGNvcHkNCiAgICAgICAgICAgICAvLyBhbmQgcmVwbGFjZSB0aGVt
IHdpdGggcmVndWxhciBzcGFjZXMuIG90aGVyd2lzZSB0aGV5IHNob3cgdXAgYXMgYm94ZXMuDQot
ICAgICAgICAgICAgaWYgKGluZGV4T2ZGaXJzdE5vblJlZ3VsYXJTcGFjZSA+IC0xKQ0KKyAgICAg
ICAgICAgIGlmICggaW5kZXhPZkZpcnN0Tm9uUmVndWxhclNwYWNlID4gLTEgKQ0KICAgICAgICAg
ICAgICAgICB7DQotICAgICAgICAgICAgICAgIGZvcig7IGluZGV4T2ZGaXJzdE5vblJlZ3VsYXJT
cGFjZTxzdHJMZW5ndGg7ICsraW5kZXhPZkZpcnN0Tm9uUmVndWxhclNwYWNlICkNCisgICAgICAg
ICAgICAgICAgZm9yKCA7IGluZGV4T2ZGaXJzdE5vblJlZ3VsYXJTcGFjZTxzdHJMZW5ndGg7ICsr
aW5kZXhPZkZpcnN0Tm9uUmVndWxhclNwYWNlICkNCiAgICAgICAgICAgICAgICAgICAgIHsNCi0g
ICAgICAgICAgICAgICAgICAgIGlmKCBUQ2hhcihuZXdTdHJbaW5kZXhPZkZpcnN0Tm9uUmVndWxh
clNwYWNlXSkuSXNTcGFjZSgpICkNCisgICAgICAgICAgICAgICAgICAgIGlmICggVENoYXIobmV3
U3RyW2luZGV4T2ZGaXJzdE5vblJlZ3VsYXJTcGFjZV0pLklzU3BhY2UoKSApDQogICAgICAgICAg
ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1N0cltpbmRleE9m
Rmlyc3ROb25SZWd1bGFyU3BhY2VdID0gJyAnOw0KICAgICAgICAgICAgICAgICAgICAgICAgIH0N
CiAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAg
IGJpdGdjLkRyYXdUZXh0KCBuZXdTdHIsIHN0YXJ0UG9zICk7DQotICAgICAgICAgICAgd2Via2l0
RnJhbWUtPldlYktpdFZpZXcoKS5EcmF3UGljdG9ncmFwaHNJblRleHQoYml0Z2MsICppRm9udCwg
bmV3U3RyLCBzdGFydFBvcyApOw0KKw0KKyAgICAgICAgICAgIGlmICggYVN0eWxlLmlSdGwgKQ0K
KyAgICAgICAgICAgICAgICB7DQorICAgICAgICAgICAgICAgIC8vIFdlIGhhdmUgYSBSVEwgc3Ry
aW5nDQorICAgICAgICAgICAgICAgIFRCaWRpVGV4dCogYmlkaVRleHQgPSBUQmlkaVRleHQ6Ok5l
d0woIG5ld1N0ciwgMSwgVEJpZGlUZXh0OjpFUmlnaHRUb0xlZnQgKTsNCisgICAgICAgICAgICAg
ICAgYmlkaVRleHQtPldyYXBUZXh0KCBXaWR0aEZvclJ1biggYVJ1biwgYVN0eWxlICksICppRm9u
dCApOw0KKyAgICAgICAgICAgICAgICBiaWRpVGV4dC0+RHJhd1RleHQoIGJpdGdjLCBzdGFydFBv
cyApOyAgICAgICAgICAgIA0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgZWxzZSAN
CisgICAgICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICAvLyBXZSBoYXZlIGEgTFRSIHN0
cmluZw0KKyAgICAgICAgICAgICAgICBiaXRnYy5EcmF3VGV4dCggbmV3U3RyLCBzdGFydFBvcyAp
Ow0KKyAgICAgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgd2Via2l0RnJhbWUtPldlYktp
dFZpZXcoKS5EcmF3UGljdG9ncmFwaHNJblRleHQoIGJpdGdjLCAqaUZvbnQsIG5ld1N0ciwgc3Rh
cnRQb3MgKTsNCiAgICAgICAgICAgICBkZWxldGUgdGV4dDsNCiAgICAgICAgICAgICB9DQogICAg
ICAgICB9DQogICAgIGVsc2UNCiAgICAgICAgIHsNCiAgICAgICAgIGJpdGdjLkRyYXdUZXh0KCBz
dHIsIHN0YXJ0UG9zICk7DQotICAgICAgICB3ZWJraXRGcmFtZS0+V2ViS2l0VmlldygpLkRyYXdQ
aWN0b2dyYXBoc0luVGV4dChiaXRnYywgKmlGb250LCBzdHIsIHN0YXJ0UG9zICk7DQorICAgICAg
ICB3ZWJraXRGcmFtZS0+V2ViS2l0VmlldygpLkRyYXdQaWN0b2dyYXBoc0luVGV4dCggYml0Z2Ms
ICppRm9udCwgc3RyLCBzdGFydFBvcyApOw0KICAgICAgICAgfQ0KICAgICBiaXRnYy5EaXNjYXJk
Rm9udCgpOw0KICAgICB9DQpJbmRleDogV2ViS2l0L0NoYW5nZUxvZw0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0t
IFdlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1MjYxKQ0KKysrIFdlYktpdC9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkNCkBAIC0xLDMgKzEsMTAgQEANCit2YnJhZGxleSwgcmV2aWV3ZWQgYnkg
U2FjaGluDQorIERFU0M6IFZCUlktNzYzUkxGIC0gUlRMIGJyYWNrZXRzIGFuZCBhbHQgdGV4dCBh
cmUgZGlzcGxheWVkIGluY29ycmVjdGx5DQorIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE1MDY4DQorDQorICAgICAgICAqIEJyb3dzZXJDb3JlL1JlbmRlcmVycy9zcmMv
VGV4dFJlbmRlcmVyLmNwcDoNCisgICAgICAgIChDVGV4dFJlbmRlcmVyOjpEcmF3UnVuKToNCisN
CiByYXRobmFzYSwgcmV2aWV3ZWQgYnkgc3BhZG1hDQogIERFU0M6IFRTVyBJRDogU0pVTi03M1hC
VkMuIFRleHQgYXBwZWFycyBvdmVybGFwcGVkIHdpdGggZG9jdW1lbnQud3JpdGUgaW4gb25sb2Fk
DQogIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTE1DQo=
</data>
<flag name="review"
          id="6776"
          type_id="1"
          status="-"
          setter="yongjun.zhang"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>16219</attachid>
            <date>2007-09-07 10:36:19 -0700</date>
            <delta_ts>2007-09-10 07:06:04 -0700</delta_ts>
            <desc>3.2 patch for RTL text in body and alt image text</desc>
            <filename>15068_3.2_1.patch</filename>
            <type>text/plain</type>
            <size>8327</size>
            <attacher name="Pat">vincent.bradley</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUva2h0bWwvcmVuZGVyaW5nL3JlbmRlcl9pbWFnZS5jcHANCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0NCi0tLSBXZWJDb3JlL2todG1sL3JlbmRlcmluZy9yZW5kZXJfaW1hZ2UuY3BwCShyZXZpc2lv
biAyODAzKQ0KKysrIFdlYkNvcmUva2h0bWwvcmVuZGVyaW5nL3JlbmRlcl9pbWFnZS5jcHAJKHdv
cmtpbmcgY29weSkNCkBAIC0zNzMsOSArMzczLDIwIEBADQogICAgICAgICAgICAgICAgIFFTdHJp
bmcgdGV4dCA9IGFsdC5zdHJpbmcoKTsNCiAgICAgICAgICAgICAgICAgaWYgKGVycm9yUGljdHVy
ZURyYXduKSB7DQogICAgICAgICAgICAgICAgICAgICBpZiAodXNhYmxlV2lkdGggPj0gdGV4dFdp
ZHRoICYmIHRleHRIZWlnaHQgPD0gaW1hZ2VZKQ0KKyNpZiAhTk9LSUFfQ0hBTkdFUw0KICAgICAg
ICAgICAgICAgICAgICAgICAgIHAtPmRyYXdUZXh0KF90eCArIHRleHRYLCAgX3R5ICsgdGV4dFkg
KyBhc2NlbnQsIHRhYldpZHRoKCksIDAsIDAgLyogaWdub3JlZCAqLywgMCAvKiBpZ25vcmVkICov
LCBRdDo6V29yZEJyZWFrICAvKiBub3Qgc3VwcG9ydGVkICovLCB0ZXh0ICk7DQogICAgICAgICAg
ICAgICAgIH0gZWxzZSBpZiAodXNhYmxlV2lkdGggPj0gdGV4dFdpZHRoICYmIGNIZWlnaHQgPj0g
dGV4dEhlaWdodCkNCiAgICAgICAgICAgICAgICAgICAgIHAtPmRyYXdUZXh0KF90eCArIHRleHRY
LCBfdHkgKyB0ZXh0WSArIGFzY2VudCwgdGFiV2lkdGgoKSwgMCwgMCAvKiBpZ25vcmVkICovLCAw
IC8qIGlnbm9yZWQgKi8sIFF0OjpXb3JkQnJlYWsgIC8qIG5vdCBzdXBwb3J0ZWQgKi8sIHRleHQg
KTsNCisjZWxzZQ0KKwkJCQkJLy8gU3VwcG9ydHMgZGlzcGxheWluZyBhbHQgdGV4dCBhcyBSVEws
IGlmIG5lZWRlZA0KKyAgICAgICAgICAgICAgICAgICAgcC0+ZHJhd1RleHQoX3R4ICsgdGV4dFgs
IF90eSArIHRleHRZICsgYXNjZW50LCB0YWJXaWR0aCgpLCAwLCB0ZXh0LnVuaWNvZGUoKSwgKGlu
dCl0ZXh0Lmxlbmd0aCgpLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgKGlu
dCl0ZXh0Lmxlbmd0aCgpLCAwLCBzZWxlY3Rpb25Db2xvcihwKSwgc3R5bGUoKS0+ZGlyZWN0aW9u
KCkgPyBRUGFpbnRlcjo6UlRMIDogUVBhaW50ZXI6OkxUUiwNCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHN0eWxlKCktPnZpc3VhbGx5T3JkZXJlZCgpLCBzdHlsZSgpLT5sZXR0ZXJT
cGFjaW5nKCksIHN0eWxlKCktPndvcmRTcGFjaW5nKCksIGZhbHNlICk7DQorICAgICAgICAgICAg
ICAgIH0gZWxzZSBpZiAodXNhYmxlV2lkdGggPj0gdGV4dFdpZHRoICYmIGNIZWlnaHQgPj0gdGV4
dEhlaWdodCkNCisgICAgICAgICAgICAgICAgICAgIHAtPmRyYXdUZXh0KF90eCArIHRleHRYLCBf
dHkgKyB0ZXh0WSArIGFzY2VudCwgdGFiV2lkdGgoKSwgMCwgdGV4dC51bmljb2RlKCksIChpbnQp
dGV4dC5sZW5ndGgoKSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIChpbnQp
dGV4dC5sZW5ndGgoKSwgMCwgc2VsZWN0aW9uQ29sb3IocCksIHN0eWxlKCktPmRpcmVjdGlvbigp
ID8gUVBhaW50ZXI6OlJUTCA6IFFQYWludGVyOjpMVFIsDQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzdHlsZSgpLT52aXN1YWxseU9yZGVyZWQoKSwgc3R5bGUoKS0+bGV0dGVyU3Bh
Y2luZygpLCBzdHlsZSgpLT53b3JkU3BhY2luZygpLCBmYWxzZSApOw0KKyNlbmRpZg0KICAgICAg
ICAgICAgIH0NCiAjZWxzZSAvKiBub3QgQVBQTEVfQ0hBTkdFUyAqLw0KICAgICAgICAgICAgIGlm
ICggIWJlcnJvclBpYyApIHsNCkluZGV4OiBXZWJLaXQvQnJvd3NlckNvcmUvUmVuZGVyZXJzL3Ny
Yy9UZXh0UmVuZGVyZXIuY3BwDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0L0Jyb3dzZXJDb3JlL1Jl
bmRlcmVycy9zcmMvVGV4dFJlbmRlcmVyLmNwcAkocmV2aXNpb24gMjgwMykNCisrKyBXZWJLaXQv
QnJvd3NlckNvcmUvUmVuZGVyZXJzL3NyYy9UZXh0UmVuZGVyZXIuY3BwCSh3b3JraW5nIGNvcHkp
DQpAQCAtNDcsNiArNDcsNyBAQA0KICNpbmNsdWRlIDxnZGkuaD4NCiAjaW5jbHVkZSA8Yml0c3Rk
Lmg+DQogI2luY2x1ZGUgPHczMnN0ZC5oPg0KKyNpbmNsdWRlIDxCaWRpVGV4dC5oPg0KIA0KICNp
bmNsdWRlICJXZWJDb3JlQnJpZGdlLmgiDQogI2luY2x1ZGUgIlRleHRSZW5kZXJlckZhY3Rvcnku
aCINCkBAIC0yOTIsMjQgKzI5MywyNCBAQA0KICAgICBDRmJzQml0R2MmIGJpdGdjID0gYUdyYXBo
aWNzQ29udGV4dC5HYygpOw0KICAgICBiaXRnYy5TZXRQZW5Db2xvciggYVN0eWxlLmlUZXh0Q29s
b3IgKTsNCiAgICAgYml0Z2MuVXNlRm9udE5vRHVwbGljYXRlKCBzdGF0aWNfY2FzdDxDRmJzQml0
R2NGb250Kj4oaUZvbnQpICk7DQotICAgIENXZWJLaXRGcmFtZSogd2Via2l0RnJhbWUgPSBzdGF0
aWNfY2FzdDxDV2ViS2l0RnJhbWUqPigmYUdyYXBoaWNzQ29udGV4dC5WaWV3KCkpOw0KKyAgICBD
V2ViS2l0RnJhbWUqIHdlYmtpdEZyYW1lID0gc3RhdGljX2Nhc3Q8Q1dlYktpdEZyYW1lKj4oICZh
R3JhcGhpY3NDb250ZXh0LlZpZXcoKSApOw0KICAgDQogICAgIFRQb2ludCBzdGFydFBvcyA9IGFH
ZW9tZXRyeS5pUG9pbnQ7DQotICAgIGlmIChhUnVuLmlGcm9tKQ0KKyAgICBpZiAoIGFSdW4uaUZy
b20gKQ0KICAgICAgICAgew0KICAgICAgICAgLy8gdGhlIHRleHQgcnVuIGJlZm9yZSB0aGUgc2Vs
ZWN0aW9uDQotICAgICAgICBUV2ViQ29yZVRleHRSdW4gbGVmdFJ1bihhUnVuLmlDaGFyYWN0ZXJz
LCBhUnVuLmlMZW5ndGgsIDAsIGFSdW4uaUZyb20pOw0KKyAgICAgICAgVFdlYkNvcmVUZXh0UnVu
IGxlZnRSdW4oIGFSdW4uaUNoYXJhY3RlcnMsIGFSdW4uaUxlbmd0aCwgMCwgYVJ1bi5pRnJvbSAp
Ow0KICAgICAgICAgLy8gdGhlIHNlbGVjdGlvbiBzdGFydCBwb2ludA0KLSAgICAgICAgc3RhcnRQ
b3MuaVggKz0gV2lkdGhGb3JSdW4obGVmdFJ1biwgYVN0eWxlKTsNCisgICAgICAgIHN0YXJ0UG9z
LmlYICs9IFdpZHRoRm9yUnVuKCBsZWZ0UnVuLCBhU3R5bGUgKTsNCiAgICAgfQ0KLSAgICBUUHRy
QyBzdHIoIChjb25zdCBUVWludDE2KikoYVJ1bi5pQ2hhcmFjdGVycyArIGFSdW4uaUZyb20pLCBh
UnVuLmlUbyAtIGFSdW4uaUZyb20pOw0KKyAgICBUUHRyQyBzdHIoIChjb25zdCBUVWludDE2Kiko
YVJ1bi5pQ2hhcmFjdGVycyArIGFSdW4uaUZyb20pLCBhUnVuLmlUbyAtIGFSdW4uaUZyb20gKTsN
CiANCi0gICAgVEludCBudW1TcGFjZXMoMCk7DQotICAgIFRJbnQgaW5kZXhPZkZpcnN0Tm9uUmVn
dWxhclNwYWNlKC0xKTsNCi0gICAgVEludCBzdHJMZW5ndGgoc3RyLkxlbmd0aCgpKTsNCisgICAg
VEludCBudW1TcGFjZXMoIDAgKTsNCisgICAgVEludCBpbmRleE9mRmlyc3ROb25SZWd1bGFyU3Bh
Y2UoIC0xICk7DQorICAgIFRJbnQgc3RyTGVuZ3RoKCBzdHIuTGVuZ3RoKCkgKTsNCiAgICAgLy8g
YSkgc2VhcmNoIGZvciBuYnNwIGFuZCBzaW1pbGFyDQogICAgIC8vIGIpIGNvdW50IHRoZSBzcGFj
ZXMgZm9yIHdvcmQgc3BhY2luZw0KLSAgICBmb3IoIFRJbnQgbiA9IDA7IG48c3RyTGVuZ3RoOyAr
K24pDQorICAgIGZvciAoIFRJbnQgbiA9IDA7IG48c3RyTGVuZ3RoOyArK24gKQ0KICAgICAgICAg
ew0KICAgICAgICAgaWYgKCBzdHJbbl0gPT0gJyAnICkNCiAgICAgICAgICAgICB7DQpAQCAtMzE3
LDEyICszMTgsMTIgQEANCiAgICAgICAgICAgICB9DQogICAgICAgICBlbHNlIGlmKCBUQ2hhcihz
dHJbbl0pLklzU3BhY2UoKSApDQogICAgICAgICAgICAgew0KLSAgICAgICAgICAgIGlmIChpbmRl
eE9mRmlyc3ROb25SZWd1bGFyU3BhY2U9PS0xKQ0KKyAgICAgICAgICAgIGlmICggaW5kZXhPZkZp
cnN0Tm9uUmVndWxhclNwYWNlID09IC0xICkNCiAgICAgICAgICAgICAgICAgew0KICAgICAgICAg
ICAgICAgICBpbmRleE9mRmlyc3ROb25SZWd1bGFyU3BhY2UgPSBuOw0KICAgICAgICAgICAgICAg
ICB9DQogICAgICAgICAgICAgbnVtU3BhY2VzKys7DQotICAgICAgICAgICAgaWYgKGFTdHlsZS5p
V29yZFNwYWNpbmc9PTAgJiYgYVN0eWxlLmlQYWRkaW5nID09IDAgKQ0KKyAgICAgICAgICAgIGlm
ICggYVN0eWxlLmlXb3JkU3BhY2luZyA9PSAwICYmIGFTdHlsZS5pUGFkZGluZyA9PSAwICkNCiAg
ICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAg
ICAgfQ0KQEAgLTMzMCw2NCArMzMxLDU5IEBADQogICAgICAgICB9DQogDQogICAgIC8vIGxldHRl
ciBzcGFjaW5nDQotICAgIGJpdGdjLlNldENoYXJKdXN0aWZpY2F0aW9uKGFTdHlsZS5pTGV0dGVy
U3BhY2luZypzdHIuTGVuZ3RoKCksc3RyLkxlbmd0aCgpKTsNCisgICAgYml0Z2MuU2V0Q2hhckp1
c3RpZmljYXRpb24oIGFTdHlsZS5pTGV0dGVyU3BhY2luZypzdHIuTGVuZ3RoKCksIHN0ci5MZW5n
dGgoKSApOw0KICAgICAvLyB3b3JkIHNwYWNpbmcNCiAgICAgYml0Z2MuU2V0V29yZEp1c3RpZmlj
YXRpb24oIGFTdHlsZS5pV29yZFNwYWNpbmcqbnVtU3BhY2VzICsgYVN0eWxlLmlQYWRkaW5nLCBu
dW1TcGFjZXMgKTsNCiANCi0gICAgLy8gc2VlIGlmIHdlIG5lZWQgYSB0ZW1wb3JhcnkgYnVmZmVy
DQotICAgIGlmKCBpbmRleE9mRmlyc3ROb25SZWd1bGFyU3BhY2UgPiAtMSB8fCBhU3R5bGUuaVNt
YWxsQ2FwcyB8fCBhU3R5bGUuaVJ0bCl7DQotICAgICAgICBIQnVmQyogdGV4dCA9IDA7DQotICAg
ICAgICBpZiAoYVN0eWxlLmlSdGwpDQorICAgIC8vIFNlZSBpZiB3ZSBuZWVkIGEgdGVtcG9yYXJ5
IGJ1ZmZlcg0KKyAgICBpZiAoIGluZGV4T2ZGaXJzdE5vblJlZ3VsYXJTcGFjZSA+IC0xIHx8IGFT
dHlsZS5pU21hbGxDYXBzIHx8IGFTdHlsZS5pUnRsICkNCisgICAgICAgIHsNCisgICAgICAgIEhC
dWZDKiB0ZXh0ID0gc3RyLkFsbG9jKCk7DQorICAgICAgICBpZiAoIHRleHQgKQ0KICAgICAgICAg
ICAgIHsNCi0gICAgICAgICAgICAvLyBzd2l0Y2ggY2hhcmFjdGVyIG9yZGVyIGZvciByaWdodC10
by1sZWZ0IHRleHQNCi0gICAgICAgICAgICB0ZXh0ID0gSEJ1ZkM6Ok5ldyhzdHJMZW5ndGgpOw0K
LSAgICAgICAgICAgIGlmICh0ZXh0KQ0KKyAgICAgICAgICAgIFRQdHIgbmV3U3RyKCB0ZXh0LT5E
ZXMoKSApOw0KKyAgICAgICAgICAgIGlmICggYVN0eWxlLmlTbWFsbENhcHMgKQ0KICAgICAgICAg
ICAgICAgICB7DQotICAgICAgICAgICAgICAgIFRQdHIgbmV3U3RyKHRleHQtPkRlcygpKTsNCi0g
ICAgICAgICAgICAgICAgbmV3U3RyLlNldExlbmd0aChzdHJMZW5ndGgpOw0KLSAgICAgICAgICAg
ICAgICBmb3IgKFRJbnQgbiA9IDA7IG48c3RyTGVuZ3RoOyBuKyspDQotICAgICAgICAgICAgICAg
ICAgICB7DQotICAgICAgICAgICAgICAgICAgICBuZXdTdHJbbl0gPSBzdHJbc3RyTGVuZ3RoLW4t
MV07DQotICAgICAgICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgICAgIGlmIChpbmRleE9m
Rmlyc3ROb25SZWd1bGFyU3BhY2UgPiAtMSkNCi0gICAgICAgICAgICAgICAgICAgIHsNCi0gICAg
ICAgICAgICAgICAgICAgIGluZGV4T2ZGaXJzdE5vblJlZ3VsYXJTcGFjZSA9IHN0ckxlbmd0aC1p
bmRleE9mRmlyc3ROb25SZWd1bGFyU3BhY2UtMTsNCi0gICAgICAgICAgICAgICAgICAgIH0NCi0g
ICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgfQ0KLSAgICAgICAgZWxzZQ0KLSAgICAgICAg
ICAgIHsNCi0gICAgICAgICAgICB0ZXh0ID0gc3RyLkFsbG9jKCk7DQotICAgICAgICAgICAgfQ0K
LSAgICAgICAgaWYgKHRleHQpew0KLSAgICAgICAgICAgIFRQdHIgbmV3U3RyKHRleHQtPkRlcygp
KTsNCi0gICAgICAgICAgICBpZiAoYVN0eWxlLmlTbWFsbENhcHMpDQotICAgICAgICAgICAgICAg
IHsNCi0gICAgICAgICAgICAgICAgLy8gcHJvcGVyIHNtYWxsIGNhcHMgaW1wbGVtZW50YXRpb24g
d291bGQgdXNlIHNtYWxsZXIgZm9udCwgYnV0IHRoYXQgZ2V0IGNvbXBsaWNhdGVkDQorICAgICAg
ICAgICAgICAgIC8vIFByb3BlciBzbWFsbCBjYXBzIGltcGxlbWVudGF0aW9uIHdvdWxkIHVzZSBz
bWFsbGVyIGZvbnQsIGJ1dCB0aGF0IGdldCBjb21wbGljYXRlZA0KICAgICAgICAgICAgICAgICAv
LyBqdXN0IHVwcGVyIGNhc2UgZm9yIG5vdw0KICAgICAgICAgICAgICAgICBuZXdTdHIuVXBwZXJD
YXNlKCk7DQogICAgICAgICAgICAgICAgIH0NCi0gICAgICAgICAgICAvLyBpZiB3ZSBoYXZlIG5v
bi1yZWd1bGFyIHNwYWNlcyAobmJzcCwgdGFiLCBldGMuKSB3ZSBuZWVkIHRvIG1ha2UgYSBjb3B5
DQorDQorICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSBub24tcmVndWxhciBzcGFjZXMgKG5ic3As
IHRhYiwgZXRjLikgd2UgbmVlZCB0byBtYWtlIGEgY29weQ0KICAgICAgICAgICAgIC8vIGFuZCBy
ZXBsYWNlIHRoZW0gd2l0aCByZWd1bGFyIHNwYWNlcy4gb3RoZXJ3aXNlIHRoZXkgc2hvdyB1cCBh
cyBib3hlcy4NCi0gICAgICAgICAgICBpZiAoaW5kZXhPZkZpcnN0Tm9uUmVndWxhclNwYWNlID4g
LTEpDQorICAgICAgICAgICAgaWYgKCBpbmRleE9mRmlyc3ROb25SZWd1bGFyU3BhY2UgPiAtMSAp
DQogICAgICAgICAgICAgICAgIHsNCi0gICAgICAgICAgICAgICAgZm9yKDsgaW5kZXhPZkZpcnN0
Tm9uUmVndWxhclNwYWNlPHN0ckxlbmd0aDsgKytpbmRleE9mRmlyc3ROb25SZWd1bGFyU3BhY2Ug
KQ0KKyAgICAgICAgICAgICAgICBmb3IoIDsgaW5kZXhPZkZpcnN0Tm9uUmVndWxhclNwYWNlPHN0
ckxlbmd0aDsgKytpbmRleE9mRmlyc3ROb25SZWd1bGFyU3BhY2UgKQ0KICAgICAgICAgICAgICAg
ICAgICAgew0KLSAgICAgICAgICAgICAgICAgICAgaWYoIFRDaGFyKG5ld1N0cltpbmRleE9mRmly
c3ROb25SZWd1bGFyU3BhY2VdKS5Jc1NwYWNlKCkgKQ0KKyAgICAgICAgICAgICAgICAgICAgaWYg
KCBUQ2hhcihuZXdTdHJbaW5kZXhPZkZpcnN0Tm9uUmVndWxhclNwYWNlXSkuSXNTcGFjZSgpICkN
CiAgICAgICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICAgbmV3
U3RyW2luZGV4T2ZGaXJzdE5vblJlZ3VsYXJTcGFjZV0gPSAnICc7DQogICAgICAgICAgICAgICAg
ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICB9DQot
ICAgICAgICAgICAgYml0Z2MuRHJhd1RleHQoIG5ld1N0ciwgc3RhcnRQb3MgKTsNCi0gICAgICAg
ICAgICB3ZWJraXRGcmFtZS0+V2ViS2l0VmlldygpLkRyYXdQaWN0b2dyYXBoc0luVGV4dChiaXRn
YywgKmlGb250LCBuZXdTdHIsIHN0YXJ0UG9zICk7DQorDQorICAgICAgICAgICAgaWYgKCBhU3R5
bGUuaVJ0bCApDQorICAgICAgICAgICAgICAgIHsNCisgICAgICAgICAgICAgICAgLy8gV2UgaGF2
ZSBhIFJUTCBzdHJpbmcNCisgICAgICAgICAgICAgICAgVEJpZGlUZXh0KiBiaWRpVGV4dCA9IFRC
aWRpVGV4dDo6TmV3TCggbmV3U3RyLCAxLCBUQmlkaVRleHQ6OkVSaWdodFRvTGVmdCApOw0KKyAg
ICAgICAgICAgICAgICBiaWRpVGV4dC0+V3JhcFRleHQoIFdpZHRoRm9yUnVuKCBhUnVuLCBhU3R5
bGUgKSwgKmlGb250ICk7DQorICAgICAgICAgICAgICAgIGJpZGlUZXh0LT5EcmF3VGV4dCggYml0
Z2MsIHN0YXJ0UG9zICk7DQorICAgICAgICAgICAgICAgIGRlbGV0ZSBiaWRpVGV4dDsgICAgICAg
ICAgIA0KKyAgICAgICAgICAgICAgICB9DQorICAgICAgICAgICAgZWxzZSANCisgICAgICAgICAg
ICAgICAgew0KKyAgICAgICAgICAgICAgICAvLyBXZSBoYXZlIGEgTFRSIHN0cmluZw0KKyAgICAg
ICAgICAgICAgICBiaXRnYy5EcmF3VGV4dCggbmV3U3RyLCBzdGFydFBvcyApOw0KKyAgICAgICAg
ICAgICAgICB9DQorDQorICAgICAgICAgICAgd2Via2l0RnJhbWUtPldlYktpdFZpZXcoKS5EcmF3
UGljdG9ncmFwaHNJblRleHQoIGJpdGdjLCAqaUZvbnQsIG5ld1N0ciwgc3RhcnRQb3MgKTsNCiAg
ICAgICAgICAgICBkZWxldGUgdGV4dDsNCiAgICAgICAgICAgICB9DQogICAgICAgICB9DQogICAg
IGVsc2UNCiAgICAgICAgIHsNCiAgICAgICAgIGJpdGdjLkRyYXdUZXh0KCBzdHIsIHN0YXJ0UG9z
ICk7DQotICAgICAgICB3ZWJraXRGcmFtZS0+V2ViS2l0VmlldygpLkRyYXdQaWN0b2dyYXBoc0lu
VGV4dChiaXRnYywgKmlGb250LCBzdHIsIHN0YXJ0UG9zICk7DQorICAgICAgICB3ZWJraXRGcmFt
ZS0+V2ViS2l0VmlldygpLkRyYXdQaWN0b2dyYXBoc0luVGV4dCggYml0Z2MsICppRm9udCwgc3Ry
LCBzdGFydFBvcyApOw0KICAgICAgICAgfQ0KICAgICBiaXRnYy5EaXNjYXJkRm9udCgpOw0KICAg
ICB9DQo=
</data>
<flag name="review"
          id="6823"
          type_id="1"
          status="+"
          setter="yongjun.zhang"
    />
          </attachment>
      

    </bug>

</bugzilla>