<?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>38224</bug_id>
          
          <creation_ts>2010-04-27 15:17:19 -0700</creation_ts>
          <short_desc>[chromium] Enable rendering of Ethiopic, Lao, Tibetan and a few other scripts on Win XP</short_desc>
          <delta_ts>2010-06-10 06:31:27 -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>Layout and Rendering</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jungshik Shin">jshin</reporter>
          <assigned_to name="Jungshik Shin">jshin</assigned_to>
          <cc>aroben</cc>
    
    <cc>brettw</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>levin</cc>
    
    <cc>mal</cc>
    
    <cc>mitz</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>217985</commentid>
    <comment_count>0</comment_count>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2010-04-27 15:17:19 -0700</bug_when>
    <thetext>Currently, the last resort fallback font selection in Chromium Win is &apos;hard-coded&apos;. For some scripts (Ethiopic, Lao, Tibetan, etc), those fonts listed are only available on Vista.  We&apos;re requested to release Chrome/Chromium in Ethiopic UI on Windows XP because it&apos;s the platform dominant in Ethiopia. 

To solve the problem for upcoming Chrome 5 release, I&apos;m going to add a simple short-term  &quot;fix&quot; of going through multiple fonts (still hard-coded but having a high chance of availability) and picking the first one present on users&apos; machines. While doing so, I do the same for some other scripts. 


This is for http://crbug.com/3752</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217986</commentid>
    <comment_count>1</comment_count>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2010-04-27 15:17:41 -0700</bug_when>
    <thetext>Oops. it&apos;s http://crbug.com/36752</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218045</commentid>
    <comment_count>2</comment_count>
      <attachid>54471</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2010-04-27 16:50:17 -0700</bug_when>
    <thetext>Created attachment 54471
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218048</commentid>
    <comment_count>3</comment_count>
      <attachid>54472</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2010-04-27 16:53:40 -0700</bug_when>
    <thetext>Created attachment 54472
patch (same as before with copyright year updated)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219945</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-02 18:37:10 -0700</bug_when>
    <thetext>Looks sane to me. CCing txt and windows folks though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221195</commentid>
    <comment_count>5</comment_count>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2010-05-05 10:58:06 -0700</bug_when>
    <thetext>Brett, can you take a quick look? If his nod and Eric&apos;s previous comment are sufficient for r+, it&apos;d be great to get r+ from one of wk reviewers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231637</commentid>
    <comment_count>6</comment_count>
      <attachid>54472</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-05-28 04:12:48 -0700</bug_when>
    <thetext>Comment on attachment 54472
patch (same as before with copyright year updated)

WebCore/platform/graphics/chromium/FontUtilsChromiumWin.cpp:51
 +                               fontName);
Nit: you don&apos;t need to fold &quot;fontName);&quot;.


WebCore/platform/graphics/chromium/FontUtilsChromiumWin.cpp:112
 +      struct FontMap2 {
FontMap2 is not a meaningful name.
The name should contain &quot;families&quot; or &quot;family list&quot;.


WebCore/platform/graphics/chromium/FontUtilsChromiumWin.cpp:150
 +      DEFINE_STATIC_LOCAL(Vector&lt;Vector&lt;String&gt;* &gt;, familyLists, ());
FontMap2 has a comma-separated value, the code parses it, and stores a static storage.  It is inefficient.
Why doesn&apos;t FontMap2 have a pointer to a string list?

e.g.
const UChar* malayalamFamilies[] = {L&quot;AnjaliOldLipi&quot;, L&quot;Kartika&quot;, L&quot;Rachana&quot;, 0}
const static FontMap2 fontMap2[] = {
    {USCRIPT_MALAYALAM, malayalamFamilies},</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235600</commentid>
    <comment_count>7</comment_count>
      <attachid>58201</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2010-06-08 17:33:30 -0700</bug_when>
    <thetext>Created attachment 58201
patch updated 

I considered what tkent suggested and decided against it, but I don&apos;t remember what it was and I can&apos;t come up with any reason not to. So, I&apos;m doing it with this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235601</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-08 17:34:49 -0700</bug_when>
    <thetext>Attachment 58201 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebCore/platform/graphics/chromium/FontUtilsChromiumWin.cpp:168:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235614</commentid>
    <comment_count>9</comment_count>
      <attachid>58201</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-06-08 18:25:08 -0700</bug_when>
    <thetext>Comment on attachment 58201
patch updated 


WebCore/ChangeLog:5
 +          Make it possible to specify a list of fonts for per-script
Please add the bug URL in the ChangeLog entry.


WebCore/platform/graphics/chromium/FontUtilsChromiumWin.cpp:168
 +          while (*familyPtr != 0) {
Remove &quot;!=0&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235713</commentid>
    <comment_count>10</comment_count>
      <attachid>58225</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2010-06-09 02:20:48 -0700</bug_when>
    <thetext>Created attachment 58225
updated patch for commit (with style issues addressed)

@tkent, thank you for the review. Your concern was addressed and I&apos;m carrying over r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235714</commentid>
    <comment_count>11</comment_count>
      <attachid>58225</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-06-09 02:25:48 -0700</bug_when>
    <thetext>Comment on attachment 58225
updated patch for commit (with style issues addressed)

Rejecting patch 58225 from review queue.

jshin@chromium.org does not have reviewer permissions according to http://trac.webkit.org/browser/trunk/WebKitTools/Scripts/webkitpy/common/config/committers.py.

- If you do not have reviewer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have reviewer rights please correct the error in WebKitTools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  Due to bug 30084 the commit-queue will require a restart after your change.  Please contact eseidel@chromium.org to request a commit-queue restart.  After restart the commit-queue will correctly respect your reviewer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235715</commentid>
    <comment_count>12</comment_count>
      <attachid>58225</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-06-09 02:36:11 -0700</bug_when>
    <thetext>Comment on attachment 58225
updated patch for commit (with style issues addressed)

re-set r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>235886</commentid>
    <comment_count>13</comment_count>
      <attachid>58201</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-06-09 11:15:47 -0700</bug_when>
    <thetext>Comment on attachment 58201
patch updated 

Cleared Kent Tamura&apos;s review+ from obsolete attachment 58201 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236007</commentid>
    <comment_count>14</comment_count>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2010-06-09 14:20:26 -0700</bug_when>
    <thetext>Sorry for the mess and thank you for r+ again.  Next time in the same situation, I&apos;ll just commit myself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236332</commentid>
    <comment_count>15</comment_count>
      <attachid>58225</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-06-10 06:31:16 -0700</bug_when>
    <thetext>Comment on attachment 58225
updated patch for commit (with style issues addressed)

Clearing flags on attachment: 58225

Committed r60953: &lt;http://trac.webkit.org/changeset/60953&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236333</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-06-10 06:31:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54471</attachid>
            <date>2010-04-27 16:50:17 -0700</date>
            <delta_ts>2010-04-27 16:53:40 -0700</delta_ts>
            <desc>patch</desc>
            <filename>38224.patch.1a</filename>
            <type>text/plain</type>
            <size>7589</size>
            <attacher name="Jungshik Shin">jshin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1ODM0MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTAtMDQtMjcgIEp1bmdzaGlrIFNoaW4gIDxqc2hpbkBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TWFrZSBpdCBwb3NzaWJsZSB0byBzcGVjaWZ5IGEgbGlzdCBvZiBmb250cyBmb3IgcGVyLXNjcmlw
dAorICAgICAgICBmYWxsYmFjayBpbnN0ZWFkIG9mIGEgc2luZ2xlIGZvbnQgcGVyIHNjcmlwdC4g
VGhpcyBpcworICAgICAgICBuZWNlc3NhcnkgZm9yIE1hbGF5YWxhbSAoZm9yIHdoaWNoIFdpbmRv
d3MgZm9udCBkb2Vzbid0CisgICAgICAgIHN1cHBvcnQgVW5pY29kZSA1LnggZnVsbHkgb24gVmlz
dGEgb3IgZWFybGllciksIEV0aGlvcGljIAorICAgICAgICAod2Ugd2FudCB0byBzdXBwb3J0IG9u
IFhQIHdpdGggYSAzcmQgcGFydHkgZm9udCBiZWNhdXNlIFhQCisgICAgICAgIGRvZXNuJ3QgaGF2
ZSBhbnkgRXRoaW9waWMgZm9udCBvdXQgb2YgdGhlIGJveCkgYW5kIHNvbWUgb3RoZXIKKyAgICAg
ICAgc2NyaXB0cy4gVGhpcyBpcyBhIHNob3J0LXRlcm0gJ2ZpeCcgdW50aWwgd2UgaGF2ZSBwZXIt
c2NyaXB0CisgICAgICAgIGZvbnQgcHJlZmVyZW5jZXMuCisKKyAgICAgICAgTm8gbGF5b3V0IHRl
c3QgaXMgYWRkZWQgYmVjYXVzZSB0aGUgdGVzdCByZXN1bHRzIHdvdWxkIGJlCisgICAgICAgIGRl
cGVuZGVudCBvbiB3aGljaCBmb250cyBhcmUgcHJlc2VudC4gCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9Gb250VXRpbHNDaHJvbWl1bVdpbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjopOgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1hcDo6Rm9udE1hcDI6Oik6CisKIDIw
MTAtMDQtMjcgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHJvbGxpbmcgb3V0IHI1ODMxOC4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vRm9udFV0aWxzQ2hyb21pdW1XaW4uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udFV0aWxzQ2hyb21pdW1XaW4uY3BwCShy
ZXZpc2lvbiA1ODM0MikKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9u
dFV0aWxzQ2hyb21pdW1XaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSwxMSArMzksMzEgQEAK
ICNpbmNsdWRlIDx1bmljb2RlL2xvY2lkLmg+CiAjaW5jbHVkZSA8dW5pY29kZS91Y2hhci5oPgog
I2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIG5hbWVzcGFjZSB7CiAKK2Jvb2wgaXNGb250UHJlc2Vu
dChjb25zdCBVQ2hhciogZm9udE5hbWUpCit7CisgICAgSEZPTlQgaGZvbnQgPSBDcmVhdGVGb250
KDEyLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmb250TmFtZSk7CisgICAgaWYgKCFoZm9udCkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIEhEQyBkYyA9IEdldERDKDApOworICAgIEhHRElPQkogb2xkRm9udCA9IHN0
YXRpY19jYXN0PEhGT05UPihTZWxlY3RPYmplY3QoZGMsIGhmb250KSk7CisgICAgV0NIQVIgYWN0
dWFsRm9udE5hbWVbTEZfRkFDRVNJWkVdOworICAgIEdldFRleHRGYWNlKGRjLCBMRl9GQUNFU0la
RSwgYWN0dWFsRm9udE5hbWUpOworICAgIGFjdHVhbEZvbnROYW1lW0xGX0ZBQ0VTSVpFIC0gMV0g
PSAwOworICAgIFNlbGVjdE9iamVjdChkYywgb2xkRm9udCk7CisgICAgRGVsZXRlT2JqZWN0KGhm
b250KTsKKyAgICBSZWxlYXNlREMoMCwgZGMpOworICAgIC8vIFdlIGRvbid0IGhhdmUgdG8gd29y
cnkgYWJvdXQgRWFzdCBBc2lhbiBmb250cyB3aXRoIGxvY2FsZS1kZXBlbmRlbnQKKyAgICAvLyBu
YW1lcyBoZXJlIGZvciBub3cuCisgICAgcmV0dXJuICF3Y3NjbXAoZm9udE5hbWUsIGFjdHVhbEZv
bnROYW1lKTsKK30KKwogLy8gQSBzaW1wbGUgbWFwcGluZyBmcm9tIFVTY3JpcHRDb2RlIHRvIGZh
bWlseSBuYW1lLiAgVGhpcyBpcyBhIHNwYXJzZSBhcnJheSwKIC8vIHdoaWNoIHdvcmtzIHdlbGwg
c2luY2UgdGhlIHJhbmdlIG9mIFVTY3JpcHRDb2RlIHZhbHVlcyBpcyBzbWFsbC4KIHR5cGVkZWYg
Y29uc3QgVUNoYXIqIFNjcmlwdFRvRm9udE1hcFtVU0NSSVBUX0NPREVfTElNSVRdOwpAQCAtNTks
NiArNzksMTAgQEAgdm9pZCBpbml0aWFsaXplU2NyaXB0Rm9udE1hcChTY3JpcHRUb0ZvbgogICAg
ICAgICB7VVNDUklQVF9MQVRJTiwgTCJ0aW1lcyBuZXcgcm9tYW4ifSwKICAgICAgICAge1VTQ1JJ
UFRfR1JFRUssIEwidGltZXMgbmV3IHJvbWFuIn0sCiAgICAgICAgIHtVU0NSSVBUX0NZUklMTElD
LCBMInRpbWVzIG5ldyByb21hbiJ9LAorICAgICAgICAvLyBGSVhNRTogQ29uc2lkZXIgdHJ5aW5n
IG5ldyBWaXN0YSBmb250cyBiZWZvcmUgWFAgZm9udHMgZm9yIENKSy4KKyAgICAgICAgLy8gU29t
ZSBWaXN0YSB1c2VycyBkbyB3YW50IHRvIHVzZSBWaXN0YSBjbGVhcnR5cGUgQ0pLIGZvbnRzLiBJ
ZiB3ZQorICAgICAgICAvLyBkaWQsIHRoZSByZXN1bHRzIG9mIHRlc3RzIHdpdGggQ0pLIGNoYXJh
Y3RlcnMgd291bGQgaGF2ZSB0byBiZQorICAgICAgICAvLyByZWdlbmVyYXRlZCBmb3IgVmlzdGEu
CiAgICAgICAgIHtVU0NSSVBUX1NJTVBMSUZJRURfSEFOLCBMInNpbXN1biJ9LAogICAgICAgICB7
VVNDUklQVF9UUkFESVRJT05BTF9IQU4sIEwicG1pbmdsaXUifSwKICAgICAgICAge1VTQ1JJUFRf
SElSQUdBTkEsIEwibXMgcGdvdGhpYyJ9LApAQCAtNzIsMzIgKzk2LDczIEBAIHZvaWQgaW5pdGlh
bGl6ZVNjcmlwdEZvbnRNYXAoU2NyaXB0VG9Gb24KICAgICAgICAge1VTQ1JJUFRfQkVOR0FMSSwg
TCJ2cmluZGEifSwKICAgICAgICAge1VTQ1JJUFRfR1VSTVVLSEksIEwicmFhdmkifSwKICAgICAg
ICAge1VTQ1JJUFRfR1VKQVJBVEksIEwic2hydXRpIn0sCi0gICAgICAgIHtVU0NSSVBUX09SSVlB
LCBMImthbGluZ2EifSwKICAgICAgICAge1VTQ1JJUFRfVEFNSUwsIEwibGF0aGEifSwKICAgICAg
ICAge1VTQ1JJUFRfVEVMVUdVLCBMImdhdXRhbWkifSwKICAgICAgICAge1VTQ1JJUFRfS0FOTkFE
QSwgTCJ0dW5nYSJ9LAotICAgICAgICB7VVNDUklQVF9NQUxBWUFMQU0sIEwia2FydGlrYSJ9LAot
ICAgICAgICB7VVNDUklQVF9MQU8sIEwiZG9rY2hhbXBhIn0sCi0gICAgICAgIHtVU0NSSVBUX1RJ
QkVUQU4sIEwibWljcm9zb2Z0IGhpbWFsYXlhIn0sCiAgICAgICAgIHtVU0NSSVBUX0dFT1JHSUFO
LCBMInN5bGZhZW4ifSwKICAgICAgICAge1VTQ1JJUFRfQVJNRU5JQU4sIEwic3lsZmFlbiJ9LAot
ICAgICAgICB7VVNDUklQVF9FVEhJT1BJQywgTCJueWFsYSJ9LAorICAgICAgICB7VVNDUklQVF9U
SEFBTkEsIEwibXYgYm9saSJ9LAogICAgICAgICB7VVNDUklQVF9DQU5BRElBTl9BQk9SSUdJTkFM
LCBMImV1cGhlbWlhIn0sCiAgICAgICAgIHtVU0NSSVBUX0NIRVJPS0VFLCBMInBsYW50YWdlbmV0
IGNoZXJva2VlIn0sCi0gICAgICAgIHtVU0NSSVBUX1lJLCBMIm1pY3Jvc29mdCB5aSBiYWx0aSJ9
LAotICAgICAgICB7VVNDUklQVF9TSU5IQUxBLCBMImlza29vbGEgcG90YSJ9LAotICAgICAgICB7
VVNDUklQVF9TWVJJQUMsIEwiZXN0cmFuZ2VsbyBlZGVzc2EifSwKLSAgICAgICAge1VTQ1JJUFRf
S0hNRVIsIEwiZGF1bnBlbmgifSwKLSAgICAgICAge1VTQ1JJUFRfVEhBQU5BLCBMIm12IGJvbGki
fSwKICAgICAgICAge1VTQ1JJUFRfTU9OR09MSUFOLCBMIm1vbmdvbGlhbiBiYWx0aSJ9LAotICAg
ICAgICB7VVNDUklQVF9NWUFOTUFSLCBMInBhZGF1ayJ9LAogICAgICAgICAvLyBGb3IgVVNDUklQ
VF9DT01NT04sIHdlIG1hcCBibG9ja3MgdG8gc2NyaXB0cyB3aGVuCiAgICAgICAgIC8vIHRoYXQg
bWFrZXMgc2Vuc2UuCiAgICAgfTsKLSAgICAKKworICAgIHN0cnVjdCBGb250TWFwMiB7CisgICAg
ICAgIFVTY3JpcHRDb2RlIHNjcmlwdDsKKyAgICAgICAgY29uc3QgVUNoYXIqIGZhbWlsaWVzOwor
ICAgIH07CisKKyAgICBjb25zdCBzdGF0aWMgRm9udE1hcDIgZm9udE1hcDJbXSA9IHsKKyAgICAg
ICAgLy8gS2FydGlrYSBvbiBWaXN0YSBvciBlYXJsaWVyIGxhY2tzIHRoZSBzdXBwb3J0IGZvciBD
aGlsbHUgCisgICAgICAgIC8vIGxldHRlcnMgYWRkZWQgdG8gVW5pY29kZSA1LjEuCisgICAgICAg
IC8vIFRyeSBBbmphbGlPbGRMaXBpIChhIHZlcnkgd2lkZWx5IHVzZWQgTWFsYXlsYWxhbSBmb250
IHdpdGggdGhlIGZ1bGwKKyAgICAgICAgLy8gVW5pY29kZSA1Lnggc3VwcG9ydCkgYmVmb3JlIGZh
bGxpbmcgYmFjayB0byBLYXJ0aWthLgorICAgICAgICB7VVNDUklQVF9NQUxBWUFMQU0sIEwiQW5q
YWxpT2xkTGlwaSxLYXJ0aWthLFJhY2hhbmEifSwKKyAgICAgICAgLy8gVHJ5IEtobWVyIE9TIGJl
Zm9yZSBWaXN0YSBmb250cyBiZWNhdXNlICdLaG1lciBPUycgZ29lcyBhbG9uZyBiZXR0ZXIKKyAg
ICAgICAgLy8gd2l0aCBMYXRpbiBhbmQgbG9va3MgYmV0dGVyL2xhcmdlciBmb3IgdGhlIHNhbWUg
c2l6ZS4KKyAgICAgICAge1VTQ1JJUFRfS0hNRVIsIEwiS2htZXIgT1MsTW9vbEJvcmFuLERhdW5Q
ZW5oLENvZGUyMDAwIn0sCisgICAgICAgIC8vIEZvciB0aGUgZm9sbG93aW5nIDYgc2NyaXB0cywg
dHdvIG9yIGZvbnRzIGFyZSBsaXN0ZWQuIFRoZSBmb250cyBpbiAKKyAgICAgICAgLy8gdGhlIDFz
dCBzbG90IGFyZSBub3QgYXZhaWxhYmxlIG9uIFdpbmRvd3MgWFAuIFRvIHN1cHBvcnQgdGhlc2UK
KyAgICAgICAgLy8gc2NyaXB0cyBvbiBYUCwgbGlzdGVkIGluIHRoZSByZXN0IG9mIHNsb3RzIGFy
ZSB3aWRlbHkgdXNlZAorICAgICAgICAvLyBmb250cy4KKyAgICAgICAge1VTQ1JJUFRfRVRISU9Q
SUMsIEwiTnlhbGEsQWJ5c3NpbmljYSBTSUwsRXRoaW9waWEgSmlyZXQsVmlzdWFsIEdlZXogVW5p
Y29kZSxHRiBaZW1lbiBVbmljb2RlIn0sCisgICAgICAgIHtVU0NSSVBUX09SSVlBLCBMIkthbGlu
Z2Esb3JpMVVuaSxMb2hpdCBPcml5YSJ9LAorICAgICAgICB7VVNDUklQVF9MQU8sIEwiRG9rQ2hh
bXBhLFNheXNldHRoYSBPVCxQaGV0c2FyYXRoIE9ULENvZGUyMDAwIn0sCisgICAgICAgIHtVU0NS
SVBUX1RJQkVUQU4sIEwiTWljcm9zb2Z0IEhpbWFsYXlhLEpvbW9saGFyaSxUaWJldGFuIE1hY2hp
bmUgVW5pIn0sCisgICAgICAgIHtVU0NSSVBUX1NJTkhBTEEsIEwiSXNrb29sYSBQb3RhLEFrc2hh
clVuaWNvZGUifSwKKyAgICAgICAge1VTQ1JJUFRfWUksIEwiTWljcm9zb2Z0IFlpIEJhbHRpLE51
b3N1IFNJTCxDb2RlMjAwMCJ9LAorICAgICAgICAvLyBodHRwOi8vd3d3LmJldGhtYXJkdXRoby5v
cmcvc3VwcG9ydC9tZWx0aG8vZG93bmxvYWQvaW5kZXgucGhwCisgICAgICAgIHtVU0NSSVBUX1NZ
UklBQywgTCJFc3RyYW5nZWxvIEVkZXNzYSxFc3RyYW5nZWxvIE5pc2liaW4sQ29kZTIwMDAifSwK
KyAgICAgICAgLy8gTm8gTXlhbm1hci9CdXJtZXNlIGZvbnQgaXMgc2hpcHBlZCB3aXRoIFdpbmRv
d3MsIHlldC4gVHJ5IGEgZmV3CisgICAgICAgIC8vIHdpZGVseSBhdmFpbGFibGUvdXNlZCBvbmVz
LgorICAgICAgICB7VVNDUklQVF9NWUFOTUFSLCBMIlBhZGF1ayxQYXJhYmFpayxDb2RlMjAwMCJ9
LAorICAgIH07CisKICAgICBmb3IgKGludCBpID0gMDsgaSA8IHNpemVvZihmb250TWFwKSAvIHNp
emVvZihmb250TWFwWzBdKTsgKytpKQogICAgICAgICBzY3JpcHRGb250TWFwW2ZvbnRNYXBbaV0u
c2NyaXB0XSA9IGZvbnRNYXBbaV0uZmFtaWx5OwogCisgICAgLy8gRklYTUU6IEluc3RlYWQgb2Yg
c2Nhbm5pbmcgdGhlIGhhcmQtY29kZWQgbGlzdCwgd2UgaGF2ZSB0byAKKyAgICAvLyB1c2UgRW51
bUZvbnQqIHRvICdpbnNwZWN0JyBmb250cyB0byBwaWNrIHVwIGZvbnRzIGNvdmVyaW5nIHNjcmlw
dHMKKyAgICAvLyB3aGVuIGl0J3MgcG9zc2libGUgKGUuZy4gdXNpbmcgT1MvMiB0YWJsZSkuIElm
IHdlIGRvIHRoYXQsIHRoaXMgCisgICAgLy8gaGFkIGJldHRlciBiZSBwdWxsZWQgb3V0IG9mIGhl
cmUuCisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChWZWN0b3I8VmVjdG9yPFN0cmluZz4qID4sIGZh
bWlseUxpc3RzLCAoKSk7CisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplb2YoZm9udE1hcDIp
IC8gc2l6ZW9mKGZvbnRNYXAyWzBdKTsgKytpKSB7CisgICAgICAgIHNjcmlwdEZvbnRNYXBbZm9u
dE1hcDJbaV0uc2NyaXB0XSA9IDA7CisgICAgICAgIFZlY3RvcjxTdHJpbmc+KiBmYW1pbHlMaXN0
ID0gbmV3IFZlY3RvcjxTdHJpbmc+OworICAgICAgICBTdHJpbmcgZmFtaWxpZXMoZm9udE1hcDJb
aV0uZmFtaWxpZXMpOworICAgICAgICBmYW1pbGllcy5zcGxpdChMJywnLCAqZmFtaWx5TGlzdCk7
CisgICAgICAgIGZhbWlseUxpc3RzLmFwcGVuZChmYW1pbHlMaXN0KTsKKyAgICAgICAgZm9yIChp
bnQgaiA9IDA7IGogPCBmYW1pbHlMaXN0LT5zaXplKCk7ICsraikgeworICAgICAgICAgICAgY29u
c3QgVUNoYXIqIGZhbWlseSA9IGZhbWlseUxpc3QtPmF0KDApLmNoYXJhY3RlcnNXaXRoTnVsbFRl
cm1pbmF0aW9uKCk7CisgICAgICAgICAgICBpZiAoaXNGb250UHJlc2VudChmYW1pbHkpKSB7Cisg
ICAgICAgICAgICAgICAgc2NyaXB0Rm9udE1hcFtmb250TWFwMltpXS5zY3JpcHRdID0gZmFtaWx5
OworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAg
fQorCiAgICAgLy8gSW5pdGlhbGl6ZSB0aGUgbG9jYWxlLWRlcGVuZGVudCBtYXBwaW5nLgogICAg
IC8vIFNpbmNlIENocm9tZSBzeW5jaHJvbml6ZXMgdGhlIElDVSBkZWZhdWx0IGxvY2FsZSB3aXRo
IGl0cyBVSSBsb2NhbGUsCiAgICAgLy8gdGhpcyBJQ1UgbG9jYWxlIHRlbGxzIHRoZSBjdXJyZW50
IFVJIGxvY2FsZSBvZiBDaHJvbWUuCkBAIC0xOTgsNyArMjYzLDcgQEAgc3RydWN0IEZvbnREYXRh
IHsKIC8vIGluIHRoZSAxc3QgcGFzcy4gTmVlZCB0byBleHBlcmltZW50IGZ1cnRoZXIuCiB0eXBl
ZGVmIEhhc2hNYXA8U3RyaW5nLCBGb250RGF0YT4gRm9udERhdGFDYWNoZTsKIAotfSAgLy8gbmFt
ZXNwYWNlCit9IC8vIG5hbWVzcGFjZQogCiAvLyBGSVhNRTogdGhpcyBpcyBmb250IGZhbGxiYWNr
IGNvZGUgdmVyc2lvbiAwLjEKIC8vICAtIENvdmVyIGFsbCB0aGUgc2NyaXB0cwpAQCAtMzYzLDQg
KzQyOCw0IEBAIGludCBnZXRTdHlsZUZyb21Mb2dmb250KGNvbnN0IExPR0ZPTlQqIGwKICAgICAg
ICAgICAgKGxvZ2ZvbnQtPmxmV2VpZ2h0ID49IDcwMCA/IEZvbnRTdHlsZUJvbGQgOiBGb250U3R5
bGVOb3JtYWwpOwogfQogCi19ICAvLyBuYW1lc3BhY2UgV2ViQ29yZQorfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54472</attachid>
            <date>2010-04-27 16:53:40 -0700</date>
            <delta_ts>2010-06-08 17:33:30 -0700</delta_ts>
            <desc>patch (same as before with copyright year updated)</desc>
            <filename>38224.patch.1b</filename>
            <type>text/plain</type>
            <size>7910</size>
            <attacher name="Jungshik Shin">jshin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1ODM0MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTAtMDQtMjcgIEp1bmdzaGlrIFNoaW4gIDxqc2hpbkBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TWFrZSBpdCBwb3NzaWJsZSB0byBzcGVjaWZ5IGEgbGlzdCBvZiBmb250cyBmb3IgcGVyLXNjcmlw
dAorICAgICAgICBmYWxsYmFjayBpbnN0ZWFkIG9mIGEgc2luZ2xlIGZvbnQgcGVyIHNjcmlwdC4g
VGhpcyBpcworICAgICAgICBuZWNlc3NhcnkgZm9yIE1hbGF5YWxhbSAoZm9yIHdoaWNoIFdpbmRv
d3MgZm9udCBkb2Vzbid0CisgICAgICAgIHN1cHBvcnQgVW5pY29kZSA1LnggZnVsbHkgb24gVmlz
dGEgb3IgZWFybGllciksIEV0aGlvcGljIAorICAgICAgICAod2Ugd2FudCB0byBzdXBwb3J0IG9u
IFhQIHdpdGggYSAzcmQgcGFydHkgZm9udCBiZWNhdXNlIFhQCisgICAgICAgIGRvZXNuJ3QgaGF2
ZSBhbnkgRXRoaW9waWMgZm9udCBvdXQgb2YgdGhlIGJveCkgYW5kIHNvbWUgb3RoZXIKKyAgICAg
ICAgc2NyaXB0cy4gVGhpcyBpcyBhIHNob3J0LXRlcm0gJ2ZpeCcgdW50aWwgd2UgaGF2ZSBwZXIt
c2NyaXB0CisgICAgICAgIGZvbnQgcHJlZmVyZW5jZXMuCisKKyAgICAgICAgTm8gbGF5b3V0IHRl
c3QgaXMgYWRkZWQgYmVjYXVzZSB0aGUgdGVzdCByZXN1bHRzIHdvdWxkIGJlCisgICAgICAgIGRl
cGVuZGVudCBvbiB3aGljaCBmb250cyBhcmUgcHJlc2VudC4gCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9Gb250VXRpbHNDaHJvbWl1bVdpbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjopOgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1hcDo6Rm9udE1hcDI6Oik6CisKIDIw
MTAtMDQtMjcgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHJvbGxpbmcgb3V0IHI1ODMxOC4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vRm9udFV0aWxzQ2hyb21pdW1XaW4uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udFV0aWxzQ2hyb21pdW1XaW4uY3BwCShy
ZXZpc2lvbiA1ODM0MikKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9u
dFV0aWxzQ2hyb21pdW1XaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoYykgMjAwNiwgMjAwNywgMjAwOCwgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoYykgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAx
MCwgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIAogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCkBAIC0zOSwxMSArMzksMzEgQEAKICNpbmNsdWRlIDx1bmljb2RlL2xv
Y2lkLmg+CiAjaW5jbHVkZSA8dW5pY29kZS91Y2hhci5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+CisjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIG5hbWVzcGFjZSB7CiAKK2Jvb2wgaXNGb250UHJlc2VudChjb25zdCBVQ2hhciogZm9udE5h
bWUpCit7CisgICAgSEZPTlQgaGZvbnQgPSBDcmVhdGVGb250KDEyLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250TmFt
ZSk7CisgICAgaWYgKCFoZm9udCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIEhEQyBkYyA9
IEdldERDKDApOworICAgIEhHRElPQkogb2xkRm9udCA9IHN0YXRpY19jYXN0PEhGT05UPihTZWxl
Y3RPYmplY3QoZGMsIGhmb250KSk7CisgICAgV0NIQVIgYWN0dWFsRm9udE5hbWVbTEZfRkFDRVNJ
WkVdOworICAgIEdldFRleHRGYWNlKGRjLCBMRl9GQUNFU0laRSwgYWN0dWFsRm9udE5hbWUpOwor
ICAgIGFjdHVhbEZvbnROYW1lW0xGX0ZBQ0VTSVpFIC0gMV0gPSAwOworICAgIFNlbGVjdE9iamVj
dChkYywgb2xkRm9udCk7CisgICAgRGVsZXRlT2JqZWN0KGhmb250KTsKKyAgICBSZWxlYXNlREMo
MCwgZGMpOworICAgIC8vIFdlIGRvbid0IGhhdmUgdG8gd29ycnkgYWJvdXQgRWFzdCBBc2lhbiBm
b250cyB3aXRoIGxvY2FsZS1kZXBlbmRlbnQKKyAgICAvLyBuYW1lcyBoZXJlIGZvciBub3cuCisg
ICAgcmV0dXJuICF3Y3NjbXAoZm9udE5hbWUsIGFjdHVhbEZvbnROYW1lKTsKK30KKwogLy8gQSBz
aW1wbGUgbWFwcGluZyBmcm9tIFVTY3JpcHRDb2RlIHRvIGZhbWlseSBuYW1lLiAgVGhpcyBpcyBh
IHNwYXJzZSBhcnJheSwKIC8vIHdoaWNoIHdvcmtzIHdlbGwgc2luY2UgdGhlIHJhbmdlIG9mIFVT
Y3JpcHRDb2RlIHZhbHVlcyBpcyBzbWFsbC4KIHR5cGVkZWYgY29uc3QgVUNoYXIqIFNjcmlwdFRv
Rm9udE1hcFtVU0NSSVBUX0NPREVfTElNSVRdOwpAQCAtNTksNiArNzksMTAgQEAgdm9pZCBpbml0
aWFsaXplU2NyaXB0Rm9udE1hcChTY3JpcHRUb0ZvbgogICAgICAgICB7VVNDUklQVF9MQVRJTiwg
TCJ0aW1lcyBuZXcgcm9tYW4ifSwKICAgICAgICAge1VTQ1JJUFRfR1JFRUssIEwidGltZXMgbmV3
IHJvbWFuIn0sCiAgICAgICAgIHtVU0NSSVBUX0NZUklMTElDLCBMInRpbWVzIG5ldyByb21hbiJ9
LAorICAgICAgICAvLyBGSVhNRTogQ29uc2lkZXIgdHJ5aW5nIG5ldyBWaXN0YSBmb250cyBiZWZv
cmUgWFAgZm9udHMgZm9yIENKSy4KKyAgICAgICAgLy8gU29tZSBWaXN0YSB1c2VycyBkbyB3YW50
IHRvIHVzZSBWaXN0YSBjbGVhcnR5cGUgQ0pLIGZvbnRzLiBJZiB3ZQorICAgICAgICAvLyBkaWQs
IHRoZSByZXN1bHRzIG9mIHRlc3RzIHdpdGggQ0pLIGNoYXJhY3RlcnMgd291bGQgaGF2ZSB0byBi
ZQorICAgICAgICAvLyByZWdlbmVyYXRlZCBmb3IgVmlzdGEuCiAgICAgICAgIHtVU0NSSVBUX1NJ
TVBMSUZJRURfSEFOLCBMInNpbXN1biJ9LAogICAgICAgICB7VVNDUklQVF9UUkFESVRJT05BTF9I
QU4sIEwicG1pbmdsaXUifSwKICAgICAgICAge1VTQ1JJUFRfSElSQUdBTkEsIEwibXMgcGdvdGhp
YyJ9LApAQCAtNzIsMzIgKzk2LDczIEBAIHZvaWQgaW5pdGlhbGl6ZVNjcmlwdEZvbnRNYXAoU2Ny
aXB0VG9Gb24KICAgICAgICAge1VTQ1JJUFRfQkVOR0FMSSwgTCJ2cmluZGEifSwKICAgICAgICAg
e1VTQ1JJUFRfR1VSTVVLSEksIEwicmFhdmkifSwKICAgICAgICAge1VTQ1JJUFRfR1VKQVJBVEks
IEwic2hydXRpIn0sCi0gICAgICAgIHtVU0NSSVBUX09SSVlBLCBMImthbGluZ2EifSwKICAgICAg
ICAge1VTQ1JJUFRfVEFNSUwsIEwibGF0aGEifSwKICAgICAgICAge1VTQ1JJUFRfVEVMVUdVLCBM
ImdhdXRhbWkifSwKICAgICAgICAge1VTQ1JJUFRfS0FOTkFEQSwgTCJ0dW5nYSJ9LAotICAgICAg
ICB7VVNDUklQVF9NQUxBWUFMQU0sIEwia2FydGlrYSJ9LAotICAgICAgICB7VVNDUklQVF9MQU8s
IEwiZG9rY2hhbXBhIn0sCi0gICAgICAgIHtVU0NSSVBUX1RJQkVUQU4sIEwibWljcm9zb2Z0IGhp
bWFsYXlhIn0sCiAgICAgICAgIHtVU0NSSVBUX0dFT1JHSUFOLCBMInN5bGZhZW4ifSwKICAgICAg
ICAge1VTQ1JJUFRfQVJNRU5JQU4sIEwic3lsZmFlbiJ9LAotICAgICAgICB7VVNDUklQVF9FVEhJ
T1BJQywgTCJueWFsYSJ9LAorICAgICAgICB7VVNDUklQVF9USEFBTkEsIEwibXYgYm9saSJ9LAog
ICAgICAgICB7VVNDUklQVF9DQU5BRElBTl9BQk9SSUdJTkFMLCBMImV1cGhlbWlhIn0sCiAgICAg
ICAgIHtVU0NSSVBUX0NIRVJPS0VFLCBMInBsYW50YWdlbmV0IGNoZXJva2VlIn0sCi0gICAgICAg
IHtVU0NSSVBUX1lJLCBMIm1pY3Jvc29mdCB5aSBiYWx0aSJ9LAotICAgICAgICB7VVNDUklQVF9T
SU5IQUxBLCBMImlza29vbGEgcG90YSJ9LAotICAgICAgICB7VVNDUklQVF9TWVJJQUMsIEwiZXN0
cmFuZ2VsbyBlZGVzc2EifSwKLSAgICAgICAge1VTQ1JJUFRfS0hNRVIsIEwiZGF1bnBlbmgifSwK
LSAgICAgICAge1VTQ1JJUFRfVEhBQU5BLCBMIm12IGJvbGkifSwKICAgICAgICAge1VTQ1JJUFRf
TU9OR09MSUFOLCBMIm1vbmdvbGlhbiBiYWx0aSJ9LAotICAgICAgICB7VVNDUklQVF9NWUFOTUFS
LCBMInBhZGF1ayJ9LAogICAgICAgICAvLyBGb3IgVVNDUklQVF9DT01NT04sIHdlIG1hcCBibG9j
a3MgdG8gc2NyaXB0cyB3aGVuCiAgICAgICAgIC8vIHRoYXQgbWFrZXMgc2Vuc2UuCiAgICAgfTsK
LSAgICAKKworICAgIHN0cnVjdCBGb250TWFwMiB7CisgICAgICAgIFVTY3JpcHRDb2RlIHNjcmlw
dDsKKyAgICAgICAgY29uc3QgVUNoYXIqIGZhbWlsaWVzOworICAgIH07CisKKyAgICBjb25zdCBz
dGF0aWMgRm9udE1hcDIgZm9udE1hcDJbXSA9IHsKKyAgICAgICAgLy8gS2FydGlrYSBvbiBWaXN0
YSBvciBlYXJsaWVyIGxhY2tzIHRoZSBzdXBwb3J0IGZvciBDaGlsbHUgCisgICAgICAgIC8vIGxl
dHRlcnMgYWRkZWQgdG8gVW5pY29kZSA1LjEuCisgICAgICAgIC8vIFRyeSBBbmphbGlPbGRMaXBp
IChhIHZlcnkgd2lkZWx5IHVzZWQgTWFsYXlsYWxhbSBmb250IHdpdGggdGhlIGZ1bGwKKyAgICAg
ICAgLy8gVW5pY29kZSA1Lnggc3VwcG9ydCkgYmVmb3JlIGZhbGxpbmcgYmFjayB0byBLYXJ0aWth
LgorICAgICAgICB7VVNDUklQVF9NQUxBWUFMQU0sIEwiQW5qYWxpT2xkTGlwaSxLYXJ0aWthLFJh
Y2hhbmEifSwKKyAgICAgICAgLy8gVHJ5IEtobWVyIE9TIGJlZm9yZSBWaXN0YSBmb250cyBiZWNh
dXNlICdLaG1lciBPUycgZ29lcyBhbG9uZyBiZXR0ZXIKKyAgICAgICAgLy8gd2l0aCBMYXRpbiBh
bmQgbG9va3MgYmV0dGVyL2xhcmdlciBmb3IgdGhlIHNhbWUgc2l6ZS4KKyAgICAgICAge1VTQ1JJ
UFRfS0hNRVIsIEwiS2htZXIgT1MsTW9vbEJvcmFuLERhdW5QZW5oLENvZGUyMDAwIn0sCisgICAg
ICAgIC8vIEZvciB0aGUgZm9sbG93aW5nIDYgc2NyaXB0cywgdHdvIG9yIGZvbnRzIGFyZSBsaXN0
ZWQuIFRoZSBmb250cyBpbiAKKyAgICAgICAgLy8gdGhlIDFzdCBzbG90IGFyZSBub3QgYXZhaWxh
YmxlIG9uIFdpbmRvd3MgWFAuIFRvIHN1cHBvcnQgdGhlc2UKKyAgICAgICAgLy8gc2NyaXB0cyBv
biBYUCwgbGlzdGVkIGluIHRoZSByZXN0IG9mIHNsb3RzIGFyZSB3aWRlbHkgdXNlZAorICAgICAg
ICAvLyBmb250cy4KKyAgICAgICAge1VTQ1JJUFRfRVRISU9QSUMsIEwiTnlhbGEsQWJ5c3Npbmlj
YSBTSUwsRXRoaW9waWEgSmlyZXQsVmlzdWFsIEdlZXogVW5pY29kZSxHRiBaZW1lbiBVbmljb2Rl
In0sCisgICAgICAgIHtVU0NSSVBUX09SSVlBLCBMIkthbGluZ2Esb3JpMVVuaSxMb2hpdCBPcml5
YSJ9LAorICAgICAgICB7VVNDUklQVF9MQU8sIEwiRG9rQ2hhbXBhLFNheXNldHRoYSBPVCxQaGV0
c2FyYXRoIE9ULENvZGUyMDAwIn0sCisgICAgICAgIHtVU0NSSVBUX1RJQkVUQU4sIEwiTWljcm9z
b2Z0IEhpbWFsYXlhLEpvbW9saGFyaSxUaWJldGFuIE1hY2hpbmUgVW5pIn0sCisgICAgICAgIHtV
U0NSSVBUX1NJTkhBTEEsIEwiSXNrb29sYSBQb3RhLEFrc2hhclVuaWNvZGUifSwKKyAgICAgICAg
e1VTQ1JJUFRfWUksIEwiTWljcm9zb2Z0IFlpIEJhbHRpLE51b3N1IFNJTCxDb2RlMjAwMCJ9LAor
ICAgICAgICAvLyBodHRwOi8vd3d3LmJldGhtYXJkdXRoby5vcmcvc3VwcG9ydC9tZWx0aG8vZG93
bmxvYWQvaW5kZXgucGhwCisgICAgICAgIHtVU0NSSVBUX1NZUklBQywgTCJFc3RyYW5nZWxvIEVk
ZXNzYSxFc3RyYW5nZWxvIE5pc2liaW4sQ29kZTIwMDAifSwKKyAgICAgICAgLy8gTm8gTXlhbm1h
ci9CdXJtZXNlIGZvbnQgaXMgc2hpcHBlZCB3aXRoIFdpbmRvd3MsIHlldC4gVHJ5IGEgZmV3Cisg
ICAgICAgIC8vIHdpZGVseSBhdmFpbGFibGUvdXNlZCBvbmVzLgorICAgICAgICB7VVNDUklQVF9N
WUFOTUFSLCBMIlBhZGF1ayxQYXJhYmFpayxDb2RlMjAwMCJ9LAorICAgIH07CisKICAgICBmb3Ig
KGludCBpID0gMDsgaSA8IHNpemVvZihmb250TWFwKSAvIHNpemVvZihmb250TWFwWzBdKTsgKytp
KQogICAgICAgICBzY3JpcHRGb250TWFwW2ZvbnRNYXBbaV0uc2NyaXB0XSA9IGZvbnRNYXBbaV0u
ZmFtaWx5OwogCisgICAgLy8gRklYTUU6IEluc3RlYWQgb2Ygc2Nhbm5pbmcgdGhlIGhhcmQtY29k
ZWQgbGlzdCwgd2UgaGF2ZSB0byAKKyAgICAvLyB1c2UgRW51bUZvbnQqIHRvICdpbnNwZWN0JyBm
b250cyB0byBwaWNrIHVwIGZvbnRzIGNvdmVyaW5nIHNjcmlwdHMKKyAgICAvLyB3aGVuIGl0J3Mg
cG9zc2libGUgKGUuZy4gdXNpbmcgT1MvMiB0YWJsZSkuIElmIHdlIGRvIHRoYXQsIHRoaXMgCisg
ICAgLy8gaGFkIGJldHRlciBiZSBwdWxsZWQgb3V0IG9mIGhlcmUuCisgICAgREVGSU5FX1NUQVRJ
Q19MT0NBTChWZWN0b3I8VmVjdG9yPFN0cmluZz4qID4sIGZhbWlseUxpc3RzLCAoKSk7CisgICAg
Zm9yIChpbnQgaSA9IDA7IGkgPCBzaXplb2YoZm9udE1hcDIpIC8gc2l6ZW9mKGZvbnRNYXAyWzBd
KTsgKytpKSB7CisgICAgICAgIHNjcmlwdEZvbnRNYXBbZm9udE1hcDJbaV0uc2NyaXB0XSA9IDA7
CisgICAgICAgIFZlY3RvcjxTdHJpbmc+KiBmYW1pbHlMaXN0ID0gbmV3IFZlY3RvcjxTdHJpbmc+
OworICAgICAgICBTdHJpbmcgZmFtaWxpZXMoZm9udE1hcDJbaV0uZmFtaWxpZXMpOworICAgICAg
ICBmYW1pbGllcy5zcGxpdChMJywnLCAqZmFtaWx5TGlzdCk7CisgICAgICAgIGZhbWlseUxpc3Rz
LmFwcGVuZChmYW1pbHlMaXN0KTsKKyAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCBmYW1pbHlM
aXN0LT5zaXplKCk7ICsraikgeworICAgICAgICAgICAgY29uc3QgVUNoYXIqIGZhbWlseSA9IGZh
bWlseUxpc3QtPmF0KDApLmNoYXJhY3RlcnNXaXRoTnVsbFRlcm1pbmF0aW9uKCk7CisgICAgICAg
ICAgICBpZiAoaXNGb250UHJlc2VudChmYW1pbHkpKSB7CisgICAgICAgICAgICAgICAgc2NyaXB0
Rm9udE1hcFtmb250TWFwMltpXS5zY3JpcHRdID0gZmFtaWx5OworICAgICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCiAgICAgLy8gSW5pdGlhbGl6
ZSB0aGUgbG9jYWxlLWRlcGVuZGVudCBtYXBwaW5nLgogICAgIC8vIFNpbmNlIENocm9tZSBzeW5j
aHJvbml6ZXMgdGhlIElDVSBkZWZhdWx0IGxvY2FsZSB3aXRoIGl0cyBVSSBsb2NhbGUsCiAgICAg
Ly8gdGhpcyBJQ1UgbG9jYWxlIHRlbGxzIHRoZSBjdXJyZW50IFVJIGxvY2FsZSBvZiBDaHJvbWUu
CkBAIC0xOTgsNyArMjYzLDcgQEAgc3RydWN0IEZvbnREYXRhIHsKIC8vIGluIHRoZSAxc3QgcGFz
cy4gTmVlZCB0byBleHBlcmltZW50IGZ1cnRoZXIuCiB0eXBlZGVmIEhhc2hNYXA8U3RyaW5nLCBG
b250RGF0YT4gRm9udERhdGFDYWNoZTsKIAotfSAgLy8gbmFtZXNwYWNlCit9IC8vIG5hbWVzcGFj
ZQogCiAvLyBGSVhNRTogdGhpcyBpcyBmb250IGZhbGxiYWNrIGNvZGUgdmVyc2lvbiAwLjEKIC8v
ICAtIENvdmVyIGFsbCB0aGUgc2NyaXB0cwpAQCAtMzYzLDQgKzQyOCw0IEBAIGludCBnZXRTdHls
ZUZyb21Mb2dmb250KGNvbnN0IExPR0ZPTlQqIGwKICAgICAgICAgICAgKGxvZ2ZvbnQtPmxmV2Vp
Z2h0ID49IDcwMCA/IEZvbnRTdHlsZUJvbGQgOiBGb250U3R5bGVOb3JtYWwpOwogfQogCi19ICAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>58201</attachid>
            <date>2010-06-08 17:33:30 -0700</date>
            <delta_ts>2010-06-09 11:15:46 -0700</delta_ts>
            <desc>patch updated </desc>
            <filename>38224.patch.2</filename>
            <type>text/plain</type>
            <size>8770</size>
            <attacher name="Jungshik Shin">jshin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MDg3MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTAtMDYtMDggIEp1bmdzaGlrIFNoaW4gIDxqc2hpbkBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TWFrZSBpdCBwb3NzaWJsZSB0byBzcGVjaWZ5IGEgbGlzdCBvZiBmb250cyBmb3IgcGVyLXNjcmlw
dAorICAgICAgICBmYWxsYmFjayBpbnN0ZWFkIG9mIGEgc2luZ2xlIGZvbnQgcGVyIHNjcmlwdC4g
VGhpcyBpcworICAgICAgICBuZWNlc3NhcnkgZm9yIE1hbGF5YWxhbSAoZm9yIHdoaWNoIFdpbmRv
d3MgZm9udCBkb2Vzbid0CisgICAgICAgIHN1cHBvcnQgVW5pY29kZSA1LnggZnVsbHkgb24gVmlz
dGEgb3IgZWFybGllciksIEV0aGlvcGljIAorICAgICAgICAod2Ugd2FudCB0byBzdXBwb3J0IG9u
IFhQIHdpdGggYSAzcmQgcGFydHkgZm9udCBiZWNhdXNlIFhQCisgICAgICAgIGRvZXNuJ3QgaGF2
ZSBhbnkgRXRoaW9waWMgZm9udCBvdXQgb2YgdGhlIGJveCkgYW5kIHNvbWUgb3RoZXIKKyAgICAg
ICAgc2NyaXB0cy4gVGhpcyBpcyBhIHNob3J0LXRlcm0gJ2ZpeCcgdW50aWwgd2UgaGF2ZSBwZXIt
c2NyaXB0CisgICAgICAgIGZvbnQgcHJlZmVyZW5jZXMuCisKKyAgICAgICAgTm8gbGF5b3V0IHRl
c3QgaXMgYWRkZWQgYmVjYXVzZSB0aGUgdGVzdCByZXN1bHRzIHdvdWxkIGJlCisgICAgICAgIGRl
cGVuZGVudCBvbiB3aGljaCBmb250cyBhcmUgcHJlc2VudC4gCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9Gb250VXRpbHNDaHJvbWl1bVdpbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjopOgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1hcDo6Rm9udE1hcDI6Oik6CisKIDIw
MTAtMDYtMDggIEVucmljbyBSb3MgIDxlcm9zQGNvZGVhdXJvcmEub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEFyaXlhIEhpZGF5YXQuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL0ZvbnRVdGlsc0Nocm9taXVtV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRVdGlsc0Nocm9taXVtV2luLmNwcAkocmV2
aXNpb24gNjA4NzIpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRV
dGlsc0Nocm9taXVtV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKGMpIDIwMDYsIDIwMDcsIDIwMDgsIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKGMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAs
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiAKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZQpAQCAtMzksMTEgKzM5LDMxIEBACiAjaW5jbHVkZSA8dW5pY29kZS9sb2Np
ZC5oPgogI2luY2x1ZGUgPHVuaWNvZGUvdWNoYXIuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5o
PgorI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBuYW1lc3BhY2UgewogCitib29sIGlzRm9udFByZXNlbnQoY29uc3QgVUNoYXIqIGZvbnROYW1l
KQoreworICAgIEhGT05UIGhmb250ID0gQ3JlYXRlRm9udCgxMiwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMCwgMCwgMCwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udE5hbWUp
OworICAgIGlmICghaGZvbnQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBIREMgZGMgPSBH
ZXREQygwKTsKKyAgICBIR0RJT0JKIG9sZEZvbnQgPSBzdGF0aWNfY2FzdDxIRk9OVD4oU2VsZWN0
T2JqZWN0KGRjLCBoZm9udCkpOworICAgIFdDSEFSIGFjdHVhbEZvbnROYW1lW0xGX0ZBQ0VTSVpF
XTsKKyAgICBHZXRUZXh0RmFjZShkYywgTEZfRkFDRVNJWkUsIGFjdHVhbEZvbnROYW1lKTsKKyAg
ICBhY3R1YWxGb250TmFtZVtMRl9GQUNFU0laRSAtIDFdID0gMDsKKyAgICBTZWxlY3RPYmplY3Qo
ZGMsIG9sZEZvbnQpOworICAgIERlbGV0ZU9iamVjdChoZm9udCk7CisgICAgUmVsZWFzZURDKDAs
IGRjKTsKKyAgICAvLyBXZSBkb24ndCBoYXZlIHRvIHdvcnJ5IGFib3V0IEVhc3QgQXNpYW4gZm9u
dHMgd2l0aCBsb2NhbGUtZGVwZW5kZW50CisgICAgLy8gbmFtZXMgaGVyZSBmb3Igbm93LgorICAg
IHJldHVybiAhd2NzY21wKGZvbnROYW1lLCBhY3R1YWxGb250TmFtZSk7Cit9CisKIC8vIEEgc2lt
cGxlIG1hcHBpbmcgZnJvbSBVU2NyaXB0Q29kZSB0byBmYW1pbHkgbmFtZS4gIFRoaXMgaXMgYSBz
cGFyc2UgYXJyYXksCiAvLyB3aGljaCB3b3JrcyB3ZWxsIHNpbmNlIHRoZSByYW5nZSBvZiBVU2Ny
aXB0Q29kZSB2YWx1ZXMgaXMgc21hbGwuCiB0eXBlZGVmIGNvbnN0IFVDaGFyKiBTY3JpcHRUb0Zv
bnRNYXBbVVNDUklQVF9DT0RFX0xJTUlUXTsKQEAgLTU5LDYgKzc5LDEwIEBAIHZvaWQgaW5pdGlh
bGl6ZVNjcmlwdEZvbnRNYXAoU2NyaXB0VG9Gb24KICAgICAgICAge1VTQ1JJUFRfTEFUSU4sIEwi
dGltZXMgbmV3IHJvbWFuIn0sCiAgICAgICAgIHtVU0NSSVBUX0dSRUVLLCBMInRpbWVzIG5ldyBy
b21hbiJ9LAogICAgICAgICB7VVNDUklQVF9DWVJJTExJQywgTCJ0aW1lcyBuZXcgcm9tYW4ifSwK
KyAgICAgICAgLy8gRklYTUU6IENvbnNpZGVyIHRyeWluZyBuZXcgVmlzdGEgZm9udHMgYmVmb3Jl
IFhQIGZvbnRzIGZvciBDSksuCisgICAgICAgIC8vIFNvbWUgVmlzdGEgdXNlcnMgZG8gd2FudCB0
byB1c2UgVmlzdGEgY2xlYXJ0eXBlIENKSyBmb250cy4gSWYgd2UKKyAgICAgICAgLy8gZGlkLCB0
aGUgcmVzdWx0cyBvZiB0ZXN0cyB3aXRoIENKSyBjaGFyYWN0ZXJzIHdvdWxkIGhhdmUgdG8gYmUK
KyAgICAgICAgLy8gcmVnZW5lcmF0ZWQgZm9yIFZpc3RhLgogICAgICAgICB7VVNDUklQVF9TSU1Q
TElGSUVEX0hBTiwgTCJzaW1zdW4ifSwKICAgICAgICAge1VTQ1JJUFRfVFJBRElUSU9OQUxfSEFO
LCBMInBtaW5nbGl1In0sCiAgICAgICAgIHtVU0NSSVBUX0hJUkFHQU5BLCBMIm1zIHBnb3RoaWMi
fSwKQEAgLTY3LDM3ICs5MSw4OSBAQCB2b2lkIGluaXRpYWxpemVTY3JpcHRGb250TWFwKFNjcmlw
dFRvRm9uCiAgICAgICAgIHtVU0NSSVBUX0hBTkdVTCwgTCJndWxpbSJ9LAogICAgICAgICB7VVND
UklQVF9USEFJLCBMInRhaG9tYSJ9LAogICAgICAgICB7VVNDUklQVF9IRUJSRVcsIEwiZGF2aWQi
fSwKLSAgICAgICAge1VTQ1JJUFRfQVJBQklDLCBMInRhaG9tYSJ9LAorICAgICAgICAvLyBVc2Vk
IHRvIGJlIFRhaG9tYSwgYnV0IEFyYWJpYyBpbiBUYWhvbWEgaXMgYSBiaXQgInRvbyBtb2Rlcm4i
IHRvIG1hbnkKKyAgICAgICAgLy8gQXJhYmljIHNwZWFrZXJzICBhbHRob3VnaCB0aGUgInJlYWRh
YmlsaXR5IiBpcyBhcmd1YWJseSBiZXR0ZXIgdGhhbgorICAgICAgICAvLyBBcmFiaWMgaW4gQXJp
YWwuCisgICAgICAgIHtVU0NSSVBUX0FSQUJJQywgTCJhcmlhbCJ9LAogICAgICAgICB7VVNDUklQ
VF9ERVZBTkFHQVJJLCBMIm1hbmdhbCJ9LAogICAgICAgICB7VVNDUklQVF9CRU5HQUxJLCBMInZy
aW5kYSJ9LAogICAgICAgICB7VVNDUklQVF9HVVJNVUtISSwgTCJyYWF2aSJ9LAogICAgICAgICB7
VVNDUklQVF9HVUpBUkFUSSwgTCJzaHJ1dGkifSwKLSAgICAgICAge1VTQ1JJUFRfT1JJWUEsIEwi
a2FsaW5nYSJ9LAogICAgICAgICB7VVNDUklQVF9UQU1JTCwgTCJsYXRoYSJ9LAogICAgICAgICB7
VVNDUklQVF9URUxVR1UsIEwiZ2F1dGFtaSJ9LAogICAgICAgICB7VVNDUklQVF9LQU5OQURBLCBM
InR1bmdhIn0sCi0gICAgICAgIHtVU0NSSVBUX01BTEFZQUxBTSwgTCJrYXJ0aWthIn0sCi0gICAg
ICAgIHtVU0NSSVBUX0xBTywgTCJkb2tjaGFtcGEifSwKLSAgICAgICAge1VTQ1JJUFRfVElCRVRB
TiwgTCJtaWNyb3NvZnQgaGltYWxheWEifSwKICAgICAgICAge1VTQ1JJUFRfR0VPUkdJQU4sIEwi
c3lsZmFlbiJ9LAogICAgICAgICB7VVNDUklQVF9BUk1FTklBTiwgTCJzeWxmYWVuIn0sCi0gICAg
ICAgIHtVU0NSSVBUX0VUSElPUElDLCBMIm55YWxhIn0sCisgICAgICAgIHtVU0NSSVBUX1RIQUFO
QSwgTCJtdiBib2xpIn0sCiAgICAgICAgIHtVU0NSSVBUX0NBTkFESUFOX0FCT1JJR0lOQUwsIEwi
ZXVwaGVtaWEifSwKICAgICAgICAge1VTQ1JJUFRfQ0hFUk9LRUUsIEwicGxhbnRhZ2VuZXQgY2hl
cm9rZWUifSwKLSAgICAgICAge1VTQ1JJUFRfWUksIEwibWljcm9zb2Z0IHlpIGJhbHRpIn0sCi0g
ICAgICAgIHtVU0NSSVBUX1NJTkhBTEEsIEwiaXNrb29sYSBwb3RhIn0sCi0gICAgICAgIHtVU0NS
SVBUX1NZUklBQywgTCJlc3RyYW5nZWxvIGVkZXNzYSJ9LAotICAgICAgICB7VVNDUklQVF9LSE1F
UiwgTCJkYXVucGVuaCJ9LAotICAgICAgICB7VVNDUklQVF9USEFBTkEsIEwibXYgYm9saSJ9LAog
ICAgICAgICB7VVNDUklQVF9NT05HT0xJQU4sIEwibW9uZ29saWFuIGJhbHRpIn0sCi0gICAgICAg
IHtVU0NSSVBUX01ZQU5NQVIsIEwicGFkYXVrIn0sCiAgICAgICAgIC8vIEZvciBVU0NSSVBUX0NP
TU1PTiwgd2UgbWFwIGJsb2NrcyB0byBzY3JpcHRzIHdoZW4KICAgICAgICAgLy8gdGhhdCBtYWtl
cyBzZW5zZS4KICAgICB9OwotICAgIAorCisgICAgc3RydWN0IFNjcmlwdFRvRm9udEZhbWlsaWVz
IHsKKyAgICAgICAgVVNjcmlwdENvZGUgc2NyaXB0OworICAgICAgICBjb25zdCBVQ2hhcioqIGZh
bWlsaWVzOworICAgIH07CisKKyAgICAvLyBLYXJ0aWthIG9uIFZpc3RhIG9yIGVhcmxpZXIgbGFj
a3MgdGhlIHN1cHBvcnQgZm9yIENoaWxsdSAKKyAgICAvLyBsZXR0ZXJzIGFkZGVkIHRvIFVuaWNv
ZGUgNS4xLgorICAgIC8vIFRyeSBBbmphbGlPbGRMaXBpIChhIHZlcnkgd2lkZWx5IHVzZWQgTWFs
YXlsYWxhbSBmb250IHdpdGggdGhlIGZ1bGwKKyAgICAvLyBVbmljb2RlIDUueCBzdXBwb3J0KSBi
ZWZvcmUgZmFsbGluZyBiYWNrIHRvIEthcnRpa2EuCisgICAgY29uc3QgVUNoYXIqIG1hbGF5YWxh
bUZvbnRzW10gPSB7TCJBbmphbGlPbGRMaXBpIiwgTCJLYXJ0aWthIiwgTCJSYWNoYW5hIiwgMH07
CisgICAgLy8gVHJ5IEtobWVyIE9TIGJlZm9yZSBWaXN0YSBmb250cyBiZWNhdXNlICdLaG1lciBP
UycgZ29lcyBhbG9uZyBiZXR0ZXIKKyAgICAvLyB3aXRoIExhdGluIGFuZCBsb29rcyBiZXR0ZXIv
bGFyZ2VyIGZvciB0aGUgc2FtZSBzaXplLgorICAgIGNvbnN0IFVDaGFyKiBraG1lckZvbnRzW10g
PSB7TCJLaG1lciBPUyIsIEwiTW9vbEJvcmFuIiwgTCJEYXVuUGVuaCIsIEwiQ29kZTIwMDAiLCAw
fTsKKyAgICAvLyBGb3IgdGhlIGZvbGxvd2luZyA2IHNjcmlwdHMsIHR3byBvciBmb250cyBhcmUg
bGlzdGVkLiBUaGUgZm9udHMgaW4gCisgICAgLy8gdGhlIDFzdCBzbG90IGFyZSBub3QgYXZhaWxh
YmxlIG9uIFdpbmRvd3MgWFAuIFRvIHN1cHBvcnQgdGhlc2UKKyAgICAvLyBzY3JpcHRzIG9uIFhQ
LCBsaXN0ZWQgaW4gdGhlIHJlc3Qgb2Ygc2xvdHMgYXJlIHdpZGVseSB1c2VkCisgICAgLy8gZm9u
dHMuCisgICAgY29uc3QgVUNoYXIqIGV0aGlvcGljRm9udHNbXSA9IHtMIk55YWxhIiwgTCJBYnlz
c2luaWNhIFNJTCIsIEwiRXRoaW9waWEgSmlyZXQiLCBMIlZpc3VhbCBHZWV6IFVuaWNvZGUiLCBM
IkdGIFplbWVuIFVuaWNvZGUiLCAwfTsKKyAgICBjb25zdCBVQ2hhciogb3JpeWFGb250c1tdID0g
e0wiS2FsaW5nYSIsIEwib3JpMVVuaSIsIEwiTG9oaXQgT3JpeWEiLCAwfTsKKyAgICBjb25zdCBV
Q2hhciogbGFvRm9udHNbXSA9IHtMIkRva0NoYW1wYSIsIEwiU2F5c2V0dGhhIE9UIiwgTCJQaGV0
c2FyYXRoIE9UIiwgTCJDb2RlMjAwMCIsIDB9OworICAgIGNvbnN0IFVDaGFyKiB0aWJldGFuRm9u
dHNbXSA9IHtMIk1pY3Jvc29mdCBIaW1hbGF5YSIsIEwiSm9tb2xoYXJpIiwgTCJUaWJldGFuIE1h
Y2hpbmUgVW5pIiwgMH07CisgICAgY29uc3QgVUNoYXIqIHNpbmhhbGFGb250c1tdID0ge0wiSXNr
b29sYSBQb3RhIiwgTCJBa3NoYXJVbmljb2RlIiwgMH07CisgICAgY29uc3QgVUNoYXIqIHlpRm9u
dHNbXSA9IHtMIk1pY3Jvc29mdCBZaSBCYWx0aSIsIEwiTnVvc3UgU0lMIiwgTCJDb2RlMjAwMCIs
IDB9OworICAgIC8vIGh0dHA6Ly93d3cuYmV0aG1hcmR1dGhvLm9yZy9zdXBwb3J0L21lbHRoby9k
b3dubG9hZC9pbmRleC5waHAKKyAgICBjb25zdCBVQ2hhciogc3lyaWFjRm9udHNbXSA9IHtMIkVz
dHJhbmdlbG8gRWRlc3NhIiwgTCJFc3RyYW5nZWxvIE5pc2liaW4iLCBMIkNvZGUyMDAwIiwgMH07
CisgICAgLy8gTm8gTXlhbm1hci9CdXJtZXNlIGZvbnQgaXMgc2hpcHBlZCB3aXRoIFdpbmRvd3Ms
IHlldC4gVHJ5IGEgZmV3CisgICAgLy8gd2lkZWx5IGF2YWlsYWJsZS91c2VkIG9uZXMgdGhhdCBz
dXBwb3J0cyBVbmljb2RlIDUuMSBvciBsYXRlci4gCisgICAgY29uc3QgVUNoYXIqIG15YW5tYXJG
b250c1tdID0ge0wiUGFkYXVrIiwgTCJQYXJhYmFpayIsIEwiTXlhbm1hcjMiLCBMIkNvZGUyMDAw
IiwgMH07CisKKyAgICBjb25zdCBzdGF0aWMgU2NyaXB0VG9Gb250RmFtaWxpZXMgc2NyaXB0VG9G
b250RmFtaWxpZXNbXSA9IHsKKyAgICAgICAge1VTQ1JJUFRfTUFMQVlBTEFNLCBtYWxheWFsYW1G
b250c30sCisgICAgICAgIHtVU0NSSVBUX0tITUVSLCBraG1lckZvbnRzfSwKKyAgICAgICAge1VT
Q1JJUFRfRVRISU9QSUMsIGV0aGlvcGljRm9udHN9LAorICAgICAgICB7VVNDUklQVF9PUklZQSwg
b3JpeWFGb250c30sCisgICAgICAgIHtVU0NSSVBUX0xBTywgbGFvRm9udHN9LAorICAgICAgICB7
VVNDUklQVF9USUJFVEFOLCB0aWJldGFuRm9udHN9LAorICAgICAgICB7VVNDUklQVF9TSU5IQUxB
LCBzaW5oYWxhRm9udHN9LAorICAgICAgICB7VVNDUklQVF9ZSSwgeWlGb250c30sCisgICAgICAg
IHtVU0NSSVBUX1NZUklBQywgc3lyaWFjRm9udHN9LAorICAgICAgICB7VVNDUklQVF9NWUFOTUFS
LCBteWFubWFyRm9udHN9LAorICAgIH07CisKICAgICBmb3IgKGludCBpID0gMDsgaSA8IHNpemVv
Zihmb250TWFwKSAvIHNpemVvZihmb250TWFwWzBdKTsgKytpKQogICAgICAgICBzY3JpcHRGb250
TWFwW2ZvbnRNYXBbaV0uc2NyaXB0XSA9IGZvbnRNYXBbaV0uZmFtaWx5OwogCisgICAgLy8gRklY
TUU6IEluc3RlYWQgb2Ygc2Nhbm5pbmcgdGhlIGhhcmQtY29kZWQgbGlzdCwgd2UgaGF2ZSB0byAK
KyAgICAvLyB1c2UgRW51bUZvbnQqIHRvICdpbnNwZWN0JyBmb250cyB0byBwaWNrIHVwIGZvbnRz
IGNvdmVyaW5nIHNjcmlwdHMKKyAgICAvLyB3aGVuIGl0J3MgcG9zc2libGUgKGUuZy4gdXNpbmcg
T1MvMiB0YWJsZSkuIElmIHdlIGRvIHRoYXQsIHRoaXMgCisgICAgLy8gaGFkIGJldHRlciBiZSBw
dWxsZWQgb3V0IG9mIGhlcmUuCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplb2Yoc2NyaXB0
VG9Gb250RmFtaWxpZXMpIC8gc2l6ZW9mKHNjcmlwdFRvRm9udEZhbWlsaWVzWzBdKTsgKytpKSB7
CisgICAgICAgIFVTY3JpcHRDb2RlIHNjcmlwdCA9IHNjcmlwdFRvRm9udEZhbWlsaWVzW2ldLnNj
cmlwdDsKKyAgICAgICAgc2NyaXB0Rm9udE1hcFtzY3JpcHRdID0gMDsKKyAgICAgICAgY29uc3Qg
VUNoYXIqKiBmYW1pbHlQdHIgPSBzY3JpcHRUb0ZvbnRGYW1pbGllc1tpXS5mYW1pbGllczsKKyAg
ICAgICAgd2hpbGUgKCpmYW1pbHlQdHIgIT0gMCkgeworICAgICAgICAgICAgaWYgKGlzRm9udFBy
ZXNlbnQoKmZhbWlseVB0cikpIHsKKyAgICAgICAgICAgICAgICBzY3JpcHRGb250TWFwW3Njcmlw
dF0gPSAqZmFtaWx5UHRyOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgKytmYW1pbHlQdHI7CisgICAgICAgIH0KKyAgICB9CisKICAgICAvLyBJbml0
aWFsaXplIHRoZSBsb2NhbGUtZGVwZW5kZW50IG1hcHBpbmcuCiAgICAgLy8gU2luY2UgQ2hyb21l
IHN5bmNocm9uaXplcyB0aGUgSUNVIGRlZmF1bHQgbG9jYWxlIHdpdGggaXRzIFVJIGxvY2FsZSwK
ICAgICAvLyB0aGlzIElDVSBsb2NhbGUgdGVsbHMgdGhlIGN1cnJlbnQgVUkgbG9jYWxlIG9mIENo
cm9tZS4KQEAgLTE5OCw3ICsyNzQsNyBAQCBzdHJ1Y3QgRm9udERhdGEgewogLy8gaW4gdGhlIDFz
dCBwYXNzLiBOZWVkIHRvIGV4cGVyaW1lbnQgZnVydGhlci4KIHR5cGVkZWYgSGFzaE1hcDxTdHJp
bmcsIEZvbnREYXRhPiBGb250RGF0YUNhY2hlOwogCi19ICAvLyBuYW1lc3BhY2UKK30gLy8gbmFt
ZXNwYWNlCiAKIC8vIEZJWE1FOiB0aGlzIGlzIGZvbnQgZmFsbGJhY2sgY29kZSB2ZXJzaW9uIDAu
MQogLy8gIC0gQ292ZXIgYWxsIHRoZSBzY3JpcHRzCkBAIC0zNjMsNCArNDM5LDQgQEAgaW50IGdl
dFN0eWxlRnJvbUxvZ2ZvbnQoY29uc3QgTE9HRk9OVCogbAogICAgICAgICAgICAobG9nZm9udC0+
bGZXZWlnaHQgPj0gNzAwID8gRm9udFN0eWxlQm9sZCA6IEZvbnRTdHlsZU5vcm1hbCk7CiB9CiAK
LX0gIC8vIG5hbWVzcGFjZSBXZWJDb3JlCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>58225</attachid>
            <date>2010-06-09 02:20:48 -0700</date>
            <delta_ts>2010-06-10 06:31:16 -0700</delta_ts>
            <desc>updated patch for commit (with style issues addressed)</desc>
            <filename>38224.patch.2a</filename>
            <type>text/plain</type>
            <size>8642</size>
            <attacher name="Jungshik Shin">jshin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MDg4NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjggQEAKKzIwMTAtMDYtMDkgIEp1bmdzaGlrIFNoaW4gIDxqc2hpbkBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEKKworICAgICAgICBCdWcg
MzgyMjQgLSBbY2hyb21pdW1dIEVuYWJsZSByZW5kZXJpbmcgb2YgRXRoaW9waWMsIExhbywgVGli
ZXRhbiAKKyAgICAgICAgICAgICAgICAgICAgYW5kIGEgZmV3IG90aGVyIHNjcmlwdHMgb24gV2lu
IFhQCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4
MjI0CisKKyAgICAgICAgTWFrZSBpdCBwb3NzaWJsZSB0byBzcGVjaWZ5IGEgbGlzdCBvZiBmb250
cyBmb3IgcGVyLXNjcmlwdAorICAgICAgICBmYWxsYmFjayBpbnN0ZWFkIG9mIGEgc2luZ2xlIGZv
bnQgcGVyIHNjcmlwdC4gVGhpcyBpcworICAgICAgICBuZWNlc3NhcnkgZm9yIE1hbGF5YWxhbSAo
Zm9yIHdoaWNoIFdpbmRvd3MgZm9udCBkb2Vzbid0CisgICAgICAgIHN1cHBvcnQgVW5pY29kZSA1
LnggZnVsbHkgb24gVmlzdGEgb3IgZWFybGllciksIEV0aGlvcGljIAorICAgICAgICAod2Ugd2Fu
dCB0byBzdXBwb3J0IG9uIFhQIHdpdGggYSAzcmQgcGFydHkgZm9udCBiZWNhdXNlIFhQCisgICAg
ICAgIGRvZXNuJ3QgaGF2ZSBhbnkgRXRoaW9waWMgZm9udCBvdXQgb2YgdGhlIGJveCkgYW5kIHNv
bWUgb3RoZXIKKyAgICAgICAgc2NyaXB0cy4gVGhpcyBpcyBhIHNob3J0LXRlcm0gJ2ZpeCcgdW50
aWwgd2UgaGF2ZSBwZXItc2NyaXB0CisgICAgICAgIGZvbnQgcHJlZmVyZW5jZXMuCisKKyAgICAg
ICAgTm8gbGF5b3V0IHRlc3QgaXMgYWRkZWQgYmVjYXVzZSB0aGUgdGVzdCByZXN1bHRzIHdvdWxk
IGJlCisgICAgICAgIGRlcGVuZGVudCBvbiB3aGljaCBmb250cyBhcmUgcHJlc2VudC4gCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250VXRpbHNDaHJvbWl1bVdpbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjopOgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1hcDo6U2Ny
aXB0VG9Gb250RmFtaWxpZXM6Oik6CisKIDIwMTAtMDYtMDggIERpcmsgU2NodWx6ZSAgPGtyaXRA
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBOaWtvbGFzIFppbW1lcm1hbm4uCklu
ZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRVdGlsc0Nocm9taXVt
V2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0ZvbnRVdGlsc0Nocm9taXVtV2luLmNwcAkocmV2aXNpb24gNjA4ODUpCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRVdGlsc0Nocm9taXVtV2luLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKGMpIDIwMDYsIDIwMDcs
IDIwMDgsIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKGMp
IDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAsIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKiAKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNDQsNiArNDQs
MjUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2UgewogCitib29sIGlzRm9udFBy
ZXNlbnQoY29uc3QgVUNoYXIqIGZvbnROYW1lKQoreworICAgIEhGT05UIGhmb250ID0gQ3JlYXRl
Rm9udCgxMiwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZm9udE5hbWUpOworICAgIGlmICghaGZvbnQpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICBIREMgZGMgPSBHZXREQygwKTsKKyAgICBIR0RJT0JKIG9sZEZvbnQg
PSBzdGF0aWNfY2FzdDxIRk9OVD4oU2VsZWN0T2JqZWN0KGRjLCBoZm9udCkpOworICAgIFdDSEFS
IGFjdHVhbEZvbnROYW1lW0xGX0ZBQ0VTSVpFXTsKKyAgICBHZXRUZXh0RmFjZShkYywgTEZfRkFD
RVNJWkUsIGFjdHVhbEZvbnROYW1lKTsKKyAgICBhY3R1YWxGb250TmFtZVtMRl9GQUNFU0laRSAt
IDFdID0gMDsKKyAgICBTZWxlY3RPYmplY3QoZGMsIG9sZEZvbnQpOworICAgIERlbGV0ZU9iamVj
dChoZm9udCk7CisgICAgUmVsZWFzZURDKDAsIGRjKTsKKyAgICAvLyBXZSBkb24ndCBoYXZlIHRv
IHdvcnJ5IGFib3V0IEVhc3QgQXNpYW4gZm9udHMgd2l0aCBsb2NhbGUtZGVwZW5kZW50CisgICAg
Ly8gbmFtZXMgaGVyZSBmb3Igbm93LgorICAgIHJldHVybiAhd2NzY21wKGZvbnROYW1lLCBhY3R1
YWxGb250TmFtZSk7Cit9CisKIC8vIEEgc2ltcGxlIG1hcHBpbmcgZnJvbSBVU2NyaXB0Q29kZSB0
byBmYW1pbHkgbmFtZS4gIFRoaXMgaXMgYSBzcGFyc2UgYXJyYXksCiAvLyB3aGljaCB3b3JrcyB3
ZWxsIHNpbmNlIHRoZSByYW5nZSBvZiBVU2NyaXB0Q29kZSB2YWx1ZXMgaXMgc21hbGwuCiB0eXBl
ZGVmIGNvbnN0IFVDaGFyKiBTY3JpcHRUb0ZvbnRNYXBbVVNDUklQVF9DT0RFX0xJTUlUXTsKQEAg
LTU1LDEwICs3NCwxNCBAQCB2b2lkIGluaXRpYWxpemVTY3JpcHRGb250TWFwKFNjcmlwdFRvRm9u
CiAgICAgICAgIGNvbnN0IFVDaGFyKiBmYW1pbHk7CiAgICAgfTsKIAotICAgIGNvbnN0IHN0YXRp
YyBGb250TWFwIGZvbnRNYXBbXSA9IHsKKyAgICBzdGF0aWMgY29uc3QgRm9udE1hcCBmb250TWFw
W10gPSB7CiAgICAgICAgIHtVU0NSSVBUX0xBVElOLCBMInRpbWVzIG5ldyByb21hbiJ9LAogICAg
ICAgICB7VVNDUklQVF9HUkVFSywgTCJ0aW1lcyBuZXcgcm9tYW4ifSwKICAgICAgICAge1VTQ1JJ
UFRfQ1lSSUxMSUMsIEwidGltZXMgbmV3IHJvbWFuIn0sCisgICAgICAgIC8vIEZJWE1FOiBDb25z
aWRlciB0cnlpbmcgbmV3IFZpc3RhIGZvbnRzIGJlZm9yZSBYUCBmb250cyBmb3IgQ0pLLgorICAg
ICAgICAvLyBTb21lIFZpc3RhIHVzZXJzIGRvIHdhbnQgdG8gdXNlIFZpc3RhIGNsZWFydHlwZSBD
SksgZm9udHMuIElmIHdlCisgICAgICAgIC8vIGRpZCwgdGhlIHJlc3VsdHMgb2YgdGVzdHMgd2l0
aCBDSksgY2hhcmFjdGVycyB3b3VsZCBoYXZlIHRvIGJlCisgICAgICAgIC8vIHJlZ2VuZXJhdGVk
IGZvciBWaXN0YS4KICAgICAgICAge1VTQ1JJUFRfU0lNUExJRklFRF9IQU4sIEwic2ltc3VuIn0s
CiAgICAgICAgIHtVU0NSSVBUX1RSQURJVElPTkFMX0hBTiwgTCJwbWluZ2xpdSJ9LAogICAgICAg
ICB7VVNDUklQVF9ISVJBR0FOQSwgTCJtcyBwZ290aGljIn0sCkBAIC03MiwzMiArOTUsODEgQEAg
dm9pZCBpbml0aWFsaXplU2NyaXB0Rm9udE1hcChTY3JpcHRUb0ZvbgogICAgICAgICB7VVNDUklQ
VF9CRU5HQUxJLCBMInZyaW5kYSJ9LAogICAgICAgICB7VVNDUklQVF9HVVJNVUtISSwgTCJyYWF2
aSJ9LAogICAgICAgICB7VVNDUklQVF9HVUpBUkFUSSwgTCJzaHJ1dGkifSwKLSAgICAgICAge1VT
Q1JJUFRfT1JJWUEsIEwia2FsaW5nYSJ9LAogICAgICAgICB7VVNDUklQVF9UQU1JTCwgTCJsYXRo
YSJ9LAogICAgICAgICB7VVNDUklQVF9URUxVR1UsIEwiZ2F1dGFtaSJ9LAogICAgICAgICB7VVND
UklQVF9LQU5OQURBLCBMInR1bmdhIn0sCi0gICAgICAgIHtVU0NSSVBUX01BTEFZQUxBTSwgTCJr
YXJ0aWthIn0sCi0gICAgICAgIHtVU0NSSVBUX0xBTywgTCJkb2tjaGFtcGEifSwKLSAgICAgICAg
e1VTQ1JJUFRfVElCRVRBTiwgTCJtaWNyb3NvZnQgaGltYWxheWEifSwKICAgICAgICAge1VTQ1JJ
UFRfR0VPUkdJQU4sIEwic3lsZmFlbiJ9LAogICAgICAgICB7VVNDUklQVF9BUk1FTklBTiwgTCJz
eWxmYWVuIn0sCi0gICAgICAgIHtVU0NSSVBUX0VUSElPUElDLCBMIm55YWxhIn0sCisgICAgICAg
IHtVU0NSSVBUX1RIQUFOQSwgTCJtdiBib2xpIn0sCiAgICAgICAgIHtVU0NSSVBUX0NBTkFESUFO
X0FCT1JJR0lOQUwsIEwiZXVwaGVtaWEifSwKICAgICAgICAge1VTQ1JJUFRfQ0hFUk9LRUUsIEwi
cGxhbnRhZ2VuZXQgY2hlcm9rZWUifSwKLSAgICAgICAge1VTQ1JJUFRfWUksIEwibWljcm9zb2Z0
IHlpIGJhbHRpIn0sCi0gICAgICAgIHtVU0NSSVBUX1NJTkhBTEEsIEwiaXNrb29sYSBwb3RhIn0s
Ci0gICAgICAgIHtVU0NSSVBUX1NZUklBQywgTCJlc3RyYW5nZWxvIGVkZXNzYSJ9LAotICAgICAg
ICB7VVNDUklQVF9LSE1FUiwgTCJkYXVucGVuaCJ9LAotICAgICAgICB7VVNDUklQVF9USEFBTkEs
IEwibXYgYm9saSJ9LAogICAgICAgICB7VVNDUklQVF9NT05HT0xJQU4sIEwibW9uZ29saWFuIGJh
bHRpIn0sCi0gICAgICAgIHtVU0NSSVBUX01ZQU5NQVIsIEwicGFkYXVrIn0sCiAgICAgICAgIC8v
IEZvciBVU0NSSVBUX0NPTU1PTiwgd2UgbWFwIGJsb2NrcyB0byBzY3JpcHRzIHdoZW4KICAgICAg
ICAgLy8gdGhhdCBtYWtlcyBzZW5zZS4KICAgICB9OwotICAgIAorCisgICAgc3RydWN0IFNjcmlw
dFRvRm9udEZhbWlsaWVzIHsKKyAgICAgICAgVVNjcmlwdENvZGUgc2NyaXB0OworICAgICAgICBj
b25zdCBVQ2hhcioqIGZhbWlsaWVzOworICAgIH07CisKKyAgICAvLyBLYXJ0aWthIG9uIFZpc3Rh
IG9yIGVhcmxpZXIgbGFja3MgdGhlIHN1cHBvcnQgZm9yIENoaWxsdSAKKyAgICAvLyBsZXR0ZXJz
IGFkZGVkIHRvIFVuaWNvZGUgNS4xLgorICAgIC8vIFRyeSBBbmphbGlPbGRMaXBpIChhIHZlcnkg
d2lkZWx5IHVzZWQgTWFsYXlsYWxhbSBmb250IHdpdGggdGhlIGZ1bGwKKyAgICAvLyBVbmljb2Rl
IDUueCBzdXBwb3J0KSBiZWZvcmUgZmFsbGluZyBiYWNrIHRvIEthcnRpa2EuCisgICAgc3RhdGlj
IGNvbnN0IFVDaGFyKiBtYWxheWFsYW1Gb250c1tdID0ge0wiQW5qYWxpT2xkTGlwaSIsIEwiTG9o
aXQgTWFsYXlhbGFtIiwgTCJLYXJ0aWthIiwgTCJSYWNoYW5hIiwgMH07CisgICAgLy8gVHJ5IEto
bWVyIE9TIGJlZm9yZSBWaXN0YSBmb250cyBiZWNhdXNlICdLaG1lciBPUycgZ29lcyBhbG9uZyBi
ZXR0ZXIKKyAgICAvLyB3aXRoIExhdGluIGFuZCBsb29rcyBiZXR0ZXIvbGFyZ2VyIGZvciB0aGUg
c2FtZSBzaXplLgorICAgIHN0YXRpYyBjb25zdCBVQ2hhcioga2htZXJGb250c1tdID0ge0wiS2ht
ZXIgT1MiLCBMIk1vb2xCb3JhbiIsIEwiRGF1blBlbmgiLCBMIkNvZGUyMDAwIiwgMH07CisgICAg
Ly8gRm9yIHRoZSBmb2xsb3dpbmcgNiBzY3JpcHRzLCB0d28gb3IgZm9udHMgYXJlIGxpc3RlZC4g
VGhlIGZvbnRzIGluIAorICAgIC8vIHRoZSAxc3Qgc2xvdCBhcmUgbm90IGF2YWlsYWJsZSBvbiBX
aW5kb3dzIFhQLiBUbyBzdXBwb3J0IHRoZXNlCisgICAgLy8gc2NyaXB0cyBvbiBYUCwgbGlzdGVk
IGluIHRoZSByZXN0IG9mIHNsb3RzIGFyZSB3aWRlbHkgdXNlZAorICAgIC8vIGZvbnRzLgorICAg
IHN0YXRpYyBjb25zdCBVQ2hhciogZXRoaW9waWNGb250c1tdID0ge0wiTnlhbGEiLCBMIkFieXNz
aW5pY2EgU0lMIiwgTCJFdGhpb3BpYSBKaXJldCIsIEwiVmlzdWFsIEdlZXogVW5pY29kZSIsIEwi
R0YgWmVtZW4gVW5pY29kZSIsIDB9OworICAgIHN0YXRpYyBjb25zdCBVQ2hhciogb3JpeWFGb250
c1tdID0ge0wiS2FsaW5nYSIsIEwib3JpMVVuaSIsIEwiTG9oaXQgT3JpeWEiLCAwfTsKKyAgICBz
dGF0aWMgY29uc3QgVUNoYXIqIGxhb0ZvbnRzW10gPSB7TCJEb2tDaGFtcGEiLCBMIlNheXNldHRo
YSBPVCIsIEwiUGhldHNhcmF0aCBPVCIsIEwiQ29kZTIwMDAiLCAwfTsKKyAgICBzdGF0aWMgY29u
c3QgVUNoYXIqIHRpYmV0YW5Gb250c1tdID0ge0wiTWljcm9zb2Z0IEhpbWFsYXlhIiwgTCJKb21v
bGhhcmkiLCBMIlRpYmV0YW4gTWFjaGluZSBVbmkiLCAwfTsKKyAgICBzdGF0aWMgY29uc3QgVUNo
YXIqIHNpbmhhbGFGb250c1tdID0ge0wiSXNrb29sYSBQb3RhIiwgTCJBa3NoYXJVbmljb2RlIiwg
MH07CisgICAgc3RhdGljIGNvbnN0IFVDaGFyKiB5aUZvbnRzW10gPSB7TCJNaWNyb3NvZnQgWWkg
QmFsdGkiLCBMIk51b3N1IFNJTCIsIEwiQ29kZTIwMDAiLCAwfTsKKyAgICAvLyBodHRwOi8vd3d3
LmJldGhtYXJkdXRoby5vcmcvc3VwcG9ydC9tZWx0aG8vZG93bmxvYWQvaW5kZXgucGhwCisgICAg
c3RhdGljIGNvbnN0IFVDaGFyKiBzeXJpYWNGb250c1tdID0ge0wiRXN0cmFuZ2VsbyBFZGVzc2Ei
LCBMIkVzdHJhbmdlbG8gTmlzaWJpbiIsIEwiQ29kZTIwMDAiLCAwfTsKKyAgICAvLyBObyBNeWFu
bWFyL0J1cm1lc2UgZm9udCBpcyBzaGlwcGVkIHdpdGggV2luZG93cywgeWV0LiBUcnkgYSBmZXcK
KyAgICAvLyB3aWRlbHkgYXZhaWxhYmxlL3VzZWQgb25lcyB0aGF0IHN1cHBvcnRzIFVuaWNvZGUg
NS4xIG9yIGxhdGVyLiAKKyAgICBzdGF0aWMgY29uc3QgVUNoYXIqIG15YW5tYXJGb250c1tdID0g
e0wiUGFkYXVrIiwgTCJQYXJhYmFpayIsIEwiTXlhbm1hcjMiLCBMIkNvZGUyMDAwIiwgMH07CisK
KyAgICBzdGF0aWMgY29uc3QgU2NyaXB0VG9Gb250RmFtaWxpZXMgc2NyaXB0VG9Gb250RmFtaWxp
ZXNbXSA9IHsKKyAgICAgICAge1VTQ1JJUFRfTUFMQVlBTEFNLCBtYWxheWFsYW1Gb250c30sCisg
ICAgICAgIHtVU0NSSVBUX0tITUVSLCBraG1lckZvbnRzfSwKKyAgICAgICAge1VTQ1JJUFRfRVRI
SU9QSUMsIGV0aGlvcGljRm9udHN9LAorICAgICAgICB7VVNDUklQVF9PUklZQSwgb3JpeWFGb250
c30sCisgICAgICAgIHtVU0NSSVBUX0xBTywgbGFvRm9udHN9LAorICAgICAgICB7VVNDUklQVF9U
SUJFVEFOLCB0aWJldGFuRm9udHN9LAorICAgICAgICB7VVNDUklQVF9TSU5IQUxBLCBzaW5oYWxh
Rm9udHN9LAorICAgICAgICB7VVNDUklQVF9ZSSwgeWlGb250c30sCisgICAgICAgIHtVU0NSSVBU
X1NZUklBQywgc3lyaWFjRm9udHN9LAorICAgICAgICB7VVNDUklQVF9NWUFOTUFSLCBteWFubWFy
Rm9udHN9LAorICAgIH07CisKICAgICBmb3IgKGludCBpID0gMDsgaSA8IHNpemVvZihmb250TWFw
KSAvIHNpemVvZihmb250TWFwWzBdKTsgKytpKQogICAgICAgICBzY3JpcHRGb250TWFwW2ZvbnRN
YXBbaV0uc2NyaXB0XSA9IGZvbnRNYXBbaV0uZmFtaWx5OwogCisgICAgLy8gRklYTUU6IEluc3Rl
YWQgb2Ygc2Nhbm5pbmcgdGhlIGhhcmQtY29kZWQgbGlzdCwgd2UgaGF2ZSB0byAKKyAgICAvLyB1
c2UgRW51bUZvbnQqIHRvICdpbnNwZWN0JyBmb250cyB0byBwaWNrIHVwIGZvbnRzIGNvdmVyaW5n
IHNjcmlwdHMKKyAgICAvLyB3aGVuIGl0J3MgcG9zc2libGUgKGUuZy4gdXNpbmcgT1MvMiB0YWJs
ZSkuIElmIHdlIGRvIHRoYXQsIHRoaXMgCisgICAgLy8gaGFkIGJldHRlciBiZSBwdWxsZWQgb3V0
IG9mIGhlcmUuCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplb2Yoc2NyaXB0VG9Gb250RmFt
aWxpZXMpIC8gc2l6ZW9mKHNjcmlwdFRvRm9udEZhbWlsaWVzWzBdKTsgKytpKSB7CisgICAgICAg
IFVTY3JpcHRDb2RlIHNjcmlwdCA9IHNjcmlwdFRvRm9udEZhbWlsaWVzW2ldLnNjcmlwdDsKKyAg
ICAgICAgc2NyaXB0Rm9udE1hcFtzY3JpcHRdID0gMDsKKyAgICAgICAgY29uc3QgVUNoYXIqKiBm
YW1pbHlQdHIgPSBzY3JpcHRUb0ZvbnRGYW1pbGllc1tpXS5mYW1pbGllczsKKyAgICAgICAgd2hp
bGUgKCpmYW1pbHlQdHIpIHsKKyAgICAgICAgICAgIGlmIChpc0ZvbnRQcmVzZW50KCpmYW1pbHlQ
dHIpKSB7CisgICAgICAgICAgICAgICAgc2NyaXB0Rm9udE1hcFtzY3JpcHRdID0gKmZhbWlseVB0
cjsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICsr
ZmFtaWx5UHRyOworICAgICAgICB9CisgICAgfQorCiAgICAgLy8gSW5pdGlhbGl6ZSB0aGUgbG9j
YWxlLWRlcGVuZGVudCBtYXBwaW5nLgogICAgIC8vIFNpbmNlIENocm9tZSBzeW5jaHJvbml6ZXMg
dGhlIElDVSBkZWZhdWx0IGxvY2FsZSB3aXRoIGl0cyBVSSBsb2NhbGUsCiAgICAgLy8gdGhpcyBJ
Q1UgbG9jYWxlIHRlbGxzIHRoZSBjdXJyZW50IFVJIGxvY2FsZSBvZiBDaHJvbWUuCkBAIC0xOTgs
NyArMjcwLDcgQEAgc3RydWN0IEZvbnREYXRhIHsKIC8vIGluIHRoZSAxc3QgcGFzcy4gTmVlZCB0
byBleHBlcmltZW50IGZ1cnRoZXIuCiB0eXBlZGVmIEhhc2hNYXA8U3RyaW5nLCBGb250RGF0YT4g
Rm9udERhdGFDYWNoZTsKIAotfSAgLy8gbmFtZXNwYWNlCit9IC8vIG5hbWVzcGFjZQogCiAvLyBG
SVhNRTogdGhpcyBpcyBmb250IGZhbGxiYWNrIGNvZGUgdmVyc2lvbiAwLjEKIC8vICAtIENvdmVy
IGFsbCB0aGUgc2NyaXB0cwpAQCAtMzYzLDQgKzQzNSw0IEBAIGludCBnZXRTdHlsZUZyb21Mb2dm
b250KGNvbnN0IExPR0ZPTlQqIGwKICAgICAgICAgICAgKGxvZ2ZvbnQtPmxmV2VpZ2h0ID49IDcw
MCA/IEZvbnRTdHlsZUJvbGQgOiBGb250U3R5bGVOb3JtYWwpOwogfQogCi19ICAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>