<?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>76508</bug_id>
          
          <creation_ts>2012-01-17 18:24:50 -0800</creation_ts>
          <short_desc>[Chromium] Random characters got rendered as empty boxes or with incorrect glyphs even when a font is present</short_desc>
          <delta_ts>2012-01-19 11:04:56 -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>Text</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows 7</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>0</everconfirmed>
          <reporter name="Kazuhiro Inaba">kinaba</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>arthurhsu</cc>
    
    <cc>bashi</cc>
    
    <cc>cc-bugs</cc>
    
    <cc>hbono</cc>
    
    <cc>jamesr</cc>
    
    <cc>jshin</cc>
    
    <cc>tkent</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>537533</commentid>
    <comment_count>0</comment_count>
    <who name="Kazuhiro Inaba">kinaba</who>
    <bug_when>2012-01-17 18:24:50 -0800</bug_when>
    <thetext>Reported at http://crbug.com/80235.

When WebKit renderers run in the sandbox of Windows Chromium, random characters occasionally got rendered as incorrect glyphs.
Inspection by debugger showed that this likely happens when GetGlyphIndices() Win32 API call failed due to sandboxing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>537534</commentid>
    <comment_count>1</comment_count>
    <who name="Kazuhiro Inaba">kinaba</who>
    <bug_when>2012-01-17 18:26:21 -0800</bug_when>
    <thetext>One way to fix the issue is to retry the API call preceded by font loading on host process, when it failed. I&apos;ll prepare the patch...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>537583</commentid>
    <comment_count>2</comment_count>
    <who name="Hironori Bono">hbono</who>
    <bug_when>2012-01-17 20:06:13 -0800</bug_when>
    <thetext>Greetings,

Can you update http://crbug.com/80235, refer this URL, and change its status to ExternalDependency?

Regards,

Hironori Bono</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>538430</commentid>
    <comment_count>3</comment_count>
      <attachid>123062</attachid>
    <who name="Kazuhiro Inaba">kinaba</who>
    <bug_when>2012-01-18 20:39:32 -0800</bug_when>
    <thetext>Created attachment 123062
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>538434</commentid>
    <comment_count>4</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-01-18 20:50:20 -0800</bug_when>
    <thetext>Do we have any ways to test things like this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>538449</commentid>
    <comment_count>5</comment_count>
      <attachid>123062</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-01-18 21:18:08 -0800</bug_when>
    <thetext>Comment on attachment 123062
Patch

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

r+. But there are some style issues.

&gt; Source/WebCore/platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:59
&gt; +static bool getGlyphIndices(HFONT font,
&gt; +                            HDC dc,
&gt; +                            const UChar* buffer,
&gt; +                            unsigned length,
&gt; +                            WORD* glyphBuffer,
&gt; +                            DWORD flag) {

You don&apos;t need to wrap these lines.

We had better rename &apos;buffer&apos; to &apos;characters&apos;, &apos;length&apos;  to &apos;charactersLength&apos; because this function has two buffer arguments.

&gt; Source/WebCore/platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:148
&gt; +    if (!getGlyphIndices(fontData-&gt;platformData().hfont(),
&gt; +                         dc, buffer, length, localGlyphBuffer, GGI_MARK_NONEXISTING_GLYPHS)) {

You don&apos;t need to wrap these lines.

&gt; Source/WebCore/platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:150
&gt; +        SelectObject(dc, oldFont);
&gt; +        ReleaseDC(0, dc);

We had better introduce scoped objects like base/win/scoped_dc.h of Chromium.
You don&apos;t need to add them in this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>538464</commentid>
    <comment_count>6</comment_count>
      <attachid>123062</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-01-18 21:41:43 -0800</bug_when>
    <thetext>Comment on attachment 123062
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:150
&gt;&gt; +        ReleaseDC(0, dc);
&gt; 
&gt; We had better introduce scoped objects like base/win/scoped_dc.h of Chromium.
&gt; You don&apos;t need to add them in this patch.

We already have WebCore/platform/win/HwnDC.h for HDC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>538507</commentid>
    <comment_count>7</comment_count>
      <attachid>123079</attachid>
    <who name="Kazuhiro Inaba">kinaba</who>
    <bug_when>2012-01-18 23:29:42 -0800</bug_when>
    <thetext>Created attachment 123079
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>538508</commentid>
    <comment_count>8</comment_count>
      <attachid>123062</attachid>
    <who name="Kazuhiro Inaba">kinaba</who>
    <bug_when>2012-01-18 23:34:06 -0800</bug_when>
    <thetext>Comment on attachment 123062
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:59
&gt;&gt; +                            DWORD flag) {
&gt; 
&gt; You don&apos;t need to wrap these lines.
&gt; 
&gt; We had better rename &apos;buffer&apos; to &apos;characters&apos;, &apos;length&apos;  to &apos;charactersLength&apos; because this function has two buffer arguments.

Done.

&gt;&gt; Source/WebCore/platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:148
&gt;&gt; +                         dc, buffer, length, localGlyphBuffer, GGI_MARK_NONEXISTING_GLYPHS)) {
&gt; 
&gt; You don&apos;t need to wrap these lines.

Done.

&gt;&gt;&gt; Source/WebCore/platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:150
&gt;&gt;&gt; +        ReleaseDC(0, dc);
&gt;&gt; 
&gt;&gt; We had better introduce scoped objects like base/win/scoped_dc.h of Chromium.
&gt;&gt; You don&apos;t need to add them in this patch.
&gt; 
&gt; We already have WebCore/platform/win/HwnDC.h for HDC.

Switched to use HWndDC, and,
in preference of avoiding nested GetDC, removed the recursion in fillBMPGlyphs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>538516</commentid>
    <comment_count>9</comment_count>
      <attachid>123079</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-01-18 23:44:17 -0800</bug_when>
    <thetext>Comment on attachment 123079
Patch

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

&gt; Source/WebCore/platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:69
&gt; +// Initializes space glyph

nit: The comment is useless. It&apos;s equivalent to the function name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>538519</commentid>
    <comment_count>10</comment_count>
    <who name="Kazuhiro Inaba">kinaba</who>
    <bug_when>2012-01-18 23:47:29 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Do we have any ways to test things like this?

I&apos;d be happy to integrate it if someone knows a way to do this,
but at least I myself cannot come up with a good idea...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>538544</commentid>
    <comment_count>11</comment_count>
      <attachid>123079</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-19 01:08:25 -0800</bug_when>
    <thetext>Comment on attachment 123079
Patch

Clearing flags on attachment: 123079

Committed r105393: &lt;http://trac.webkit.org/changeset/105393&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>538545</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-19 01:08:31 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>538799</commentid>
    <comment_count>13</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-01-19 10:41:18 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #4)
&gt; &gt; Do we have any ways to test things like this?
&gt; 
&gt; I&apos;d be happy to integrate it if someone knows a way to do this,
&gt; but at least I myself cannot come up with a good idea...

It sounds like this doesn&apos;t repro without the sandbox, so DRT and test_shell probably won&apos;t work.

That said, it&apos;d be fine to add a test case that repros the bug in Chromium Win so at least someone can manually run the test with Chromium.  I think it would be fine as either a manual test or a layout test.  A layout test might be a bit better because people are working on getting content_shell (which uses the sandbox) to run layout tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>538815</commentid>
    <comment_count>14</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-01-19 11:04:56 -0800</bug_when>
    <thetext>What about mocking these interfaces and having a setting to make them fail if ensureFontLoaded() isn&apos;t called? This seems to be something that is constantly being broken and fixed and it doesn&apos;t sound like a fun thing at all to debug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123062</attachid>
            <date>2012-01-18 20:39:32 -0800</date>
            <delta_ts>2012-01-18 23:34:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76508-20120119134000.patch</filename>
            <type>text/plain</type>
            <size>5104</size>
            <attacher name="Kazuhiro Inaba">kinaba</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZw0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTA1Mzc3KQorKysgU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTItMDEtMTggIEthenVo
aXJvIEluYWJhICA8a2luYWJhQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIFJh
bmRvbSBjaGFyYWN0ZXJzIGdvdCByZW5kZXJlZCBhcyBlbXB0eSBib3hlcyBvciB3aXRoIGluY29y
cmVjdCBnbHlwaHMgZXZlbiB3aGVuIGEgZm9udCBpcyBwcmVzZW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUwOAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdyYXBwZWQgR2V0R2x5cGhJbmRpY2VzKCkg
QVBJIGNhbGxzIHNvIHRoYXQgd2hlbiB0aGV5IGZhaWxlZCB3ZSB0cmlnZ2VyIGZvbnQKKyAgICAg
ICAgbG9hZGluZyBvdXRzaWRlIHRoZSBzYW5kYm94IGFuZCByZXRyeSB0aGUgY2FsbC4KKworICAg
ICAgICBObyBuZXcgYXV0byB0ZXN0cyBzaW5jZSB0aGUgYnVnIGludm9sdmVzIHRoZSBzeXN0ZW0n
cyBvY2Nhc2lvbmFsIGNhY2hlIGJlaGF2aW9yCisgICAgICAgIGFuZCB0aHVzIHRoZXJlJ3Mgbm8g
cmVsaWFibGUgd2F5IHRvIHJlcHJvZHVjZSBhbmQgdGVzdCB0aGUgc2l0dWF0aW9uLgorCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR2x5cGhQYWdlVHJlZU5vZGVDaHJvbWl1
bVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpnZXRHbHlwaEluZGljZXMpOiBHREkgY2FsbCB3
cmFwcGVyIGVuc3VyaW5nIGZvbnRzIHRvIGJlIGxvYWRlZC4KKyAgICAgICAgKFdlYkNvcmU6Omlu
aXRTcGFjZUdseXBoKTogQ2hhbmdlZCB0byB1c2UgdGhlIHdyYXBwZXIgZnVuY3Rpb24uCisgICAg
ICAgIChXZWJDb3JlOjpmaWxsQk1QR2x5cGhzKTogQ2hhbmdlZCB0byB1c2UgdGhlIHdyYXBwZXIg
ZnVuY3Rpb24uCisKIDIwMTItMDEtMTggIElhbiBWb2xsaWNrICA8dm9sbGlja0BjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBDcmVhdGUgYSBiYXNlLWNsYXNzIENDQW5pbWF0aW9u
IHRvIHJlcHJlc2VudCBjb21wb3NpdG9yIGFuaW1hdGlvbnMKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dseXBoUGFnZVRyZWVOb2RlQ2hyb21pdW1XaW4u
Y3BwDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09DQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vR2x5cGhQYWdlVHJlZU5vZGVDaHJvbWl1bVdpbi5jcHAJKHJldmlzaW9uIDEwNTM3NykK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dseXBoUGFnZVRy
ZWVOb2RlQ2hyb21pdW1XaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoYykgMjAwOCwgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChjKSAyMDA4LCAyMDA5LCAyMDEyIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKiAKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAt
NDksMTUgKzQ5LDMxIEBAIHN0YXRpYyB2b2lkIGZpbGxFbXB0eUdseXBocyhHbHlwaFBhZ2UqIHAK
ICAgICAgICAgcGFnZS0+c2V0R2x5cGhEYXRhRm9ySW5kZXgoaSwgMCwgMCk7CiB9CiAKLS8vIExh
emlseSBpbml0aWFsaXplcyBzcGFjZSBnbHlwaAotc3RhdGljIEdseXBoIGluaXRTcGFjZUdseXBo
KEhEQyBkYywgR2x5cGgqIHNwYWNlR2x5cGgpCi17Ci0gICAgaWYgKCpzcGFjZUdseXBoKQotICAg
ICAgICByZXR1cm4gKnNwYWNlR2x5cGg7CisvLyBDb252ZXJ0IGNoYXJhY3RlcnMgdG8gZ2x5cGgg
aWRzIGJ5IEdldEdseXBoSW5kaWNlcygpLCBkdXJpbmcgd2hpY2gsIHdlCisvLyBlbnN1cmUgdGhl
IGZvbnQgaXMgbG9hZGVkIGluIG1lbW9yeSB0byBtYWtlIGl0IHdvcmsgaW4gYSBzYW5kYm94ZWQg
cHJvY2Vzcy4KK3N0YXRpYyBib29sIGdldEdseXBoSW5kaWNlcyhIRk9OVCBmb250LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEhEQyBkYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBVQ2hhciogYnVmZmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln
bmVkIGxlbmd0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBXT1JEKiBnbHlwaEJ1ZmZl
ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBEV09SRCBmbGFnKSB7CisgICAgaWYgKEdl
dEdseXBoSW5kaWNlcyhkYywgYnVmZmVyLCBsZW5ndGgsIGdseXBoQnVmZmVyLCBmbGFnKSAhPSBH
RElfRVJST1IpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIGlmIChQbGF0Zm9ybVN1cHBvcnQ6
OmVuc3VyZUZvbnRMb2FkZWQoZm9udCkpIHsKKyAgICAgICAgaWYgKEdldEdseXBoSW5kaWNlcyhk
YywgYnVmZmVyLCBsZW5ndGgsIGdseXBoQnVmZmVyLCBmbGFnKSAhPSBHRElfRVJST1IpCisgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgLy8gRklYTUU6IEhhbmRsZSBncmFjZWZ1bGx5
IHRoZSBlcnJvciBpZiB0aGlzIGNhbGwgYWxzbyBmYWlscy4KKyAgICAgICAgLy8gU2VlIGh0dHA6
Ly9jcmJ1Zy5jb20vNjQwMQorICAgICAgICBMT0dfRVJST1IoIlVuYWJsZSB0byBnZXQgdGhlIGds
eXBoIGluZGljZXMgYWZ0ZXIgc2Vjb25kIGF0dGVtcHQiKTsKKyAgICB9CisgICAgcmV0dXJuIGZh
bHNlOworfQogCisvLyBJbml0aWFsaXplcyBzcGFjZSBnbHlwaAorc3RhdGljIGJvb2wgaW5pdFNw
YWNlR2x5cGgoSEZPTlQgZm9udCwgSERDIGRjLCBHbHlwaCogc3BhY2VHbHlwaCkKK3sKICAgICBz
dGF0aWMgd2NoYXJfdCBzcGFjZSA9ICcgJzsKLSAgICBHZXRHbHlwaEluZGljZXMoZGMsICZzcGFj
ZSwgMSwgc3BhY2VHbHlwaCwgMCk7Ci0gICAgcmV0dXJuICpzcGFjZUdseXBoOworICAgIHJldHVy
biBnZXRHbHlwaEluZGljZXMoZm9udCwgZGMsICZzcGFjZSwgMSwgc3BhY2VHbHlwaCwgMCk7CiB9
CiAKIC8vIEZpbGxzIHxsZW5ndGh8IGdseXBocyBzdGFydGluZyBhdCB8b2Zmc2V0fCBpbiBhIHxw
YWdlfCBpbiB0aGUgQmFzaWMgCkBAIC0xMjgsNyArMTQ0LDEzIEBAIHN0YXRpYyBib29sIGZpbGxC
TVBHbHlwaHModW5zaWduZWQgb2Zmc2UKICAgICAvLyBBbHNvIGFjY29yZGluZyB0byBKdW5nc2hp
ayBhbmQgSGlyb25vcmkncyBzdWdnZXN0aW9uIGFuZCBtb2RpZmljYXRpb24KICAgICAvLyB3ZSB0
cmVhdCB0dXJldHlwZSBhbmQgcmFzdGVyIEZvbnQgYXMgZGlmZmVyZW50IHdheSB3aGVuIHdpbmRv
d3MgdmVyc2lvbgogICAgIC8vIGlzIGxlc3MgdGhhbiBWaXN0YS4KLSAgICBHZXRHbHlwaEluZGlj
ZXMoZGMsIGJ1ZmZlciwgbGVuZ3RoLCBsb2NhbEdseXBoQnVmZmVyLCBHR0lfTUFSS19OT05FWElT
VElOR19HTFlQSFMpOworICAgIGlmICghZ2V0R2x5cGhJbmRpY2VzKGZvbnREYXRhLT5wbGF0Zm9y
bURhdGEoKS5oZm9udCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgIGRjLCBidWZmZXIsIGxl
bmd0aCwgbG9jYWxHbHlwaEJ1ZmZlciwgR0dJX01BUktfTk9ORVhJU1RJTkdfR0xZUEhTKSkgewor
ICAgICAgICBTZWxlY3RPYmplY3QoZGMsIG9sZEZvbnQpOworICAgICAgICBSZWxlYXNlREMoMCwg
ZGMpOworICAgICAgICBmaWxsRW1wdHlHbHlwaHMocGFnZSk7CisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICB9CiAKICAgICAvLyBDb3B5IHRoZSBvdXRwdXQgdG8gdGhlIEdseXBoUGFnZQogICAg
IGJvb2wgaGF2ZUdseXBocyA9IGZhbHNlOwpAQCAtMTM4LDYgKzE2MCw3IEBAIHN0YXRpYyBib29s
IGZpbGxCTVBHbHlwaHModW5zaWduZWQgb2Zmc2UKICAgICAgICAgaW52YWxpZEdseXBoID0gMHgx
RjsKIAogICAgIEdseXBoIHNwYWNlR2x5cGggPSAwOyAgLy8gR2x5cGggZm9yIGEgc3BhY2UuIExh
emlseSBmaWxsZWQuCisgICAgYm9vbCBzcGFjZUdseXBoSW5pdGlhbGl6ZWQgPSBmYWxzZTsKIAog
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewogICAgICAgICBVQ2hh
ciBjID0gYnVmZmVyW2ldOwpAQCAtMTQ5LDcgKzE3MiwxMiBAQCBzdGF0aWMgYm9vbCBmaWxsQk1Q
R2x5cGhzKHVuc2lnbmVkIG9mZnNlCiAgICAgICAgIGlmIChGb250Ojp0cmVhdEFzU3BhY2UoYykp
IHsKICAgICAgICAgICAgIC8vIEhhcmQgY29kZSB0aGUgZ2x5cGggaW5kaWNlcyBmb3IgY2hhcmFj
dGVycyB0aGF0IHNob3VsZCBiZQogICAgICAgICAgICAgLy8gdHJlYXRlZCBsaWtlIHNwYWNlcy4K
LSAgICAgICAgICAgIGdseXBoID0gaW5pdFNwYWNlR2x5cGgoZGMsICZzcGFjZUdseXBoKTsKKyAg
ICAgICAgICAgIGlmICghc3BhY2VHbHlwaEluaXRpYWxpemVkKSB7CisgICAgICAgICAgICAgICAg
Ly8gSWYgaW5pdFNwYWNlR2x5cGggZmFpbHMsIHNwYWNlR2x5cGggc3RheXMgMCAoPSBnbHlwaCBp
cyBub3QgcHJlc2VudCkuCisgICAgICAgICAgICAgICAgZ2x5cGggPSBpbml0U3BhY2VHbHlwaChm
b250RGF0YS0+cGxhdGZvcm1EYXRhKCkuaGZvbnQoKSwgZGMsICZzcGFjZUdseXBoKTsKKyAgICAg
ICAgICAgICAgICBzcGFjZUdseXBoSW5pdGlhbGl6ZWQgPSB0cnVlOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgZ2x5cGggPSBzcGFjZUdseXBoOwogICAgICAgICB9IGVsc2UgaWYgKGdseXBo
ID09IGludmFsaWRHbHlwaCkgewogICAgICAgICAgICAgLy8gV2ViS2l0IGV4cGVjdHMgYm90aCB0
aGUgZ2x5cGggaW5kZXggYW5kIEZvbnREYXRhCiAgICAgICAgICAgICAvLyBwb2ludGVyIHRvIGJl
IDAgaWYgdGhlIGdseXBoIGlzIG5vdCBwcmVzZW50Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123079</attachid>
            <date>2012-01-18 23:29:42 -0800</date>
            <delta_ts>2012-01-19 01:08:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76508-20120119163010.patch</filename>
            <type>text/plain</type>
            <size>7532</size>
            <attacher name="Kazuhiro Inaba">kinaba</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZw0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTA1Mzg3KQorKysgU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTItMDEtMTggIEthenVo
aXJvIEluYWJhICA8a2luYWJhQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIFJh
bmRvbSBjaGFyYWN0ZXJzIGdvdCByZW5kZXJlZCBhcyBlbXB0eSBib3hlcyBvciB3aXRoIGluY29y
cmVjdCBnbHlwaHMgZXZlbiB3aGVuIGEgZm9udCBpcyBwcmVzZW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUwOAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdyYXBwZWQgR2V0R2x5cGhJbmRpY2VzKCkg
QVBJIGNhbGxzIHNvIHRoYXQgd2hlbiB0aGV5IGZhaWxlZCB3ZSB0cmlnZ2VyIGZvbnQKKyAgICAg
ICAgbG9hZGluZyBvdXRzaWRlIHRoZSBzYW5kYm94IGFuZCByZXRyeSB0aGUgY2FsbC4KKworICAg
ICAgICBObyBuZXcgYXV0byB0ZXN0cyBzaW5jZSB0aGUgYnVnIGludm9sdmVzIHRoZSBzeXN0ZW0n
cyBvY2Nhc2lvbmFsIGNhY2hlIGJlaGF2aW9yCisgICAgICAgIGFuZCB0aHVzIHRoZXJlJ3Mgbm8g
cmVsaWFibGUgd2F5IHRvIHJlcHJvZHVjZSBhbmQgdGVzdCB0aGUgc2l0dWF0aW9uLgorCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR2x5cGhQYWdlVHJlZU5vZGVDaHJvbWl1
bVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpnZXRHbHlwaEluZGljZXMpOgorICAgICAgICBH
REkgY2FsbCB3cmFwcGVyIGVuc3VyaW5nIGZvbnRzIHRvIGJlIGxvYWRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OmluaXRTcGFjZUdseXBoKToKKyAgICAgICAgQ2hhbmdlZCB0byB1c2UgdGhlIHdyYXBw
ZXIgZnVuY3Rpb24uCisgICAgICAgIChXZWJDb3JlOjpmaWxsQk1QR2x5cGhzKToKKyAgICAgICAg
Q2hhbmdlZCB0byB1c2UgdGhlIHdyYXBwZXIgZnVuY3Rpb24uCisgICAgICAgIEludHJvZHVjZWQg
c2NvcGVkIEhEQyBtYW5hZ2VtZW50IGJ5IEhXbmREQy4KKyAgICAgICAgKFdlYkNvcmU6OkdseXBo
UGFnZTo6ZmlsbCk6CisKIDIwMTItMDEtMTggIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtAZ29v
Z2xlLmNvbT4KIAogICAgICAgICBTaGFkb3dDb250ZW50IHF1ZXJ5IHNob3VsZCBiZSBhYmxlIHRv
IGhhdmUgZmFsbGJhY2sgZWxlbWVudHMuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9HbHlwaFBhZ2VUcmVlTm9kZUNocm9taXVtV2luLmNwcA0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQ0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dseXBo
UGFnZVRyZWVOb2RlQ2hyb21pdW1XaW4uY3BwCShyZXZpc2lvbiAxMDUzODcpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HbHlwaFBhZ2VUcmVlTm9kZUNocm9t
aXVtV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKGMpIDIwMDgsIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoYykgMjAwOCwgMjAwOSwgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICogCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTM0LDYgKzM0LDcg
QEAKIAogI2luY2x1ZGUgIkZvbnQuaCIKICNpbmNsdWRlICJHbHlwaFBhZ2VUcmVlTm9kZS5oIgor
I2luY2x1ZGUgIkhXbmREQy5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3VwcG9ydC5oIgogI2luY2x1
ZGUgIlNpbXBsZUZvbnREYXRhLmgiCiAjaW5jbHVkZSAiU3lzdGVtSW5mby5oIgpAQCAtNDksMTUg
KzUwLDI3IEBAIHN0YXRpYyB2b2lkIGZpbGxFbXB0eUdseXBocyhHbHlwaFBhZ2UqIHAKICAgICAg
ICAgcGFnZS0+c2V0R2x5cGhEYXRhRm9ySW5kZXgoaSwgMCwgMCk7CiB9CiAKLS8vIExhemlseSBp
bml0aWFsaXplcyBzcGFjZSBnbHlwaAotc3RhdGljIEdseXBoIGluaXRTcGFjZUdseXBoKEhEQyBk
YywgR2x5cGgqIHNwYWNlR2x5cGgpCisvLyBDb252ZXJ0IGNoYXJhY3RlcnMgdG8gZ2x5cGggaWRz
IGJ5IEdldEdseXBoSW5kaWNlcygpLCBkdXJpbmcgd2hpY2gsIHdlCisvLyBlbnN1cmUgdGhlIGZv
bnQgaXMgbG9hZGVkIGluIG1lbW9yeSB0byBtYWtlIGl0IHdvcmsgaW4gYSBzYW5kYm94ZWQgcHJv
Y2Vzcy4KK3N0YXRpYyBib29sIGdldEdseXBoSW5kaWNlcyhIRk9OVCBmb250LCBIREMgZGMsIGNv
bnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBjaGFyYWN0ZXJzTGVuZ3RoLCBXT1JEKiBn
bHlwaEJ1ZmZlciwgRFdPUkQgZmxhZykKIHsKLSAgICBpZiAoKnNwYWNlR2x5cGgpCi0gICAgICAg
IHJldHVybiAqc3BhY2VHbHlwaDsKKyAgICBpZiAoR2V0R2x5cGhJbmRpY2VzKGRjLCBjaGFyYWN0
ZXJzLCBjaGFyYWN0ZXJzTGVuZ3RoLCBnbHlwaEJ1ZmZlciwgZmxhZykgIT0gR0RJX0VSUk9SKQor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBpZiAoUGxhdGZvcm1TdXBwb3J0OjplbnN1cmVGb250
TG9hZGVkKGZvbnQpKSB7CisgICAgICAgIGlmIChHZXRHbHlwaEluZGljZXMoZGMsIGNoYXJhY3Rl
cnMsIGNoYXJhY3RlcnNMZW5ndGgsIGdseXBoQnVmZmVyLCBmbGFnKSAhPSBHRElfRVJST1IpCisg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgLy8gRklYTUU6IEhhbmRsZSBncmFjZWZ1
bGx5IHRoZSBlcnJvciBpZiB0aGlzIGNhbGwgYWxzbyBmYWlscy4KKyAgICAgICAgLy8gU2VlIGh0
dHA6Ly9jcmJ1Zy5jb20vNjQwMQorICAgICAgICBMT0dfRVJST1IoIlVuYWJsZSB0byBnZXQgdGhl
IGdseXBoIGluZGljZXMgYWZ0ZXIgc2Vjb25kIGF0dGVtcHQiKTsKKyAgICB9CisgICAgcmV0dXJu
IGZhbHNlOworfQogCisvLyBJbml0aWFsaXplcyBzcGFjZSBnbHlwaAorc3RhdGljIGJvb2wgaW5p
dFNwYWNlR2x5cGgoSEZPTlQgZm9udCwgSERDIGRjLCBHbHlwaCogc3BhY2VHbHlwaCkKK3sKICAg
ICBzdGF0aWMgd2NoYXJfdCBzcGFjZSA9ICcgJzsKLSAgICBHZXRHbHlwaEluZGljZXMoZGMsICZz
cGFjZSwgMSwgc3BhY2VHbHlwaCwgMCk7Ci0gICAgcmV0dXJuICpzcGFjZUdseXBoOworICAgIHJl
dHVybiBnZXRHbHlwaEluZGljZXMoZm9udCwgZGMsICZzcGFjZSwgMSwgc3BhY2VHbHlwaCwgMCk7
CiB9CiAKIC8vIEZpbGxzIHxsZW5ndGh8IGdseXBocyBzdGFydGluZyBhdCB8b2Zmc2V0fCBpbiBh
IHxwYWdlfCBpbiB0aGUgQmFzaWMgCkBAIC02OCwyNyArODEsMjUgQEAgc3RhdGljIGJvb2wgZmls
bEJNUEdseXBocyh1bnNpZ25lZCBvZmZzZQogICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBsZW5ndGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIFVDaGFyKiBidWZmZXIsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEdseXBoUGFnZSogcGFnZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgU2ltcGxlRm9udERhdGEqIGZvbnREYXRhLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICBib29sIHJlY3Vyc2UpCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IFNpbXBsZUZvbnREYXRhKiBmb250RGF0YSkKIHsKLSAgICBIREMgZGMgPSBHZXREQygoSFdO
RCkwKTsKKyAgICBIV25kREMgZGMoKEhXTkQpMCk7CiAgICAgSEdESU9CSiBvbGRGb250ID0gU2Vs
ZWN0T2JqZWN0KGRjLCBmb250RGF0YS0+cGxhdGZvcm1EYXRhKCkuaGZvbnQoKSk7CiAKICAgICBU
RVhUTUVUUklDIHRtID0gezB9OwogICAgIGlmICghR2V0VGV4dE1ldHJpY3MoZGMsICZ0bSkpIHsK
LSAgICAgICAgU2VsZWN0T2JqZWN0KGRjLCBvbGRGb250KTsKLSAgICAgICAgUmVsZWFzZURDKDAs
IGRjKTsKLQotICAgICAgICBpZiAocmVjdXJzZSkgewotICAgICAgICAgICAgaWYgKFBsYXRmb3Jt
U3VwcG9ydDo6ZW5zdXJlRm9udExvYWRlZChmb250RGF0YS0+cGxhdGZvcm1EYXRhKCkuaGZvbnQo
KSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZpbGxCTVBHbHlwaHMob2Zmc2V0LCBsZW5ndGgs
IGJ1ZmZlciwgcGFnZSwgZm9udERhdGEsIGZhbHNlKTsKLQotICAgICAgICAgICAgZmlsbEVtcHR5
R2x5cGhzKHBhZ2UpOwotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAoUGxh
dGZvcm1TdXBwb3J0OjplbnN1cmVGb250TG9hZGVkKGZvbnREYXRhLT5wbGF0Zm9ybURhdGEoKS5o
Zm9udCgpKSkgeworICAgICAgICAgICAgaWYgKCFHZXRUZXh0TWV0cmljcyhkYywgJnRtKSkgewor
ICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBIYW5kbGUgZ3JhY2VmdWxseSB0aGUgZXJyb3IgaWYg
dGhpcyBjYWxsIGFsc28gZmFpbHMuCisgICAgICAgICAgICAgICAgLy8gU2VlIGh0dHA6Ly9jcmJ1
Zy5jb20vNjQwMQorICAgICAgICAgICAgICAgIExPR19FUlJPUigiVW5hYmxlIHRvIGdldCB0aGUg
dGV4dCBtZXRyaWNzIGFmdGVyIHNlY29uZCBhdHRlbXB0Iik7CisKKyAgICAgICAgICAgICAgICBT
ZWxlY3RPYmplY3QoZGMsIG9sZEZvbnQpOworICAgICAgICAgICAgICAgIGZpbGxFbXB0eUdseXBo
cyhwYWdlKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9CiAg
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAvLyBGSVhNRTogSGFuZGxlIGdyYWNlZnVsbHkg
dGhlIGVycm9yIGlmIHRoaXMgY2FsbCBhbHNvIGZhaWxzLgotICAgICAgICAgICAgLy8gU2VlIGh0
dHA6Ly9jcmJ1Zy5jb20vNjQwMQotICAgICAgICAgICAgTE9HX0VSUk9SKCJVbmFibGUgdG8gZ2V0
IHRoZSB0ZXh0IG1ldHJpY3MgYWZ0ZXIgc2Vjb25kIGF0dGVtcHQiKTsKKyAgICAgICAgICAgIFNl
bGVjdE9iamVjdChkYywgb2xkRm9udCk7CiAgICAgICAgICAgICBmaWxsRW1wdHlHbHlwaHMocGFn
ZSk7CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KQEAgLTEyOCw3ICsxMzks
MTEgQEAgc3RhdGljIGJvb2wgZmlsbEJNUEdseXBocyh1bnNpZ25lZCBvZmZzZQogICAgIC8vIEFs
c28gYWNjb3JkaW5nIHRvIEp1bmdzaGlrIGFuZCBIaXJvbm9yaSdzIHN1Z2dlc3Rpb24gYW5kIG1v
ZGlmaWNhdGlvbgogICAgIC8vIHdlIHRyZWF0IHR1cmV0eXBlIGFuZCByYXN0ZXIgRm9udCBhcyBk
aWZmZXJlbnQgd2F5IHdoZW4gd2luZG93cyB2ZXJzaW9uCiAgICAgLy8gaXMgbGVzcyB0aGFuIFZp
c3RhLgotICAgIEdldEdseXBoSW5kaWNlcyhkYywgYnVmZmVyLCBsZW5ndGgsIGxvY2FsR2x5cGhC
dWZmZXIsIEdHSV9NQVJLX05PTkVYSVNUSU5HX0dMWVBIUyk7CisgICAgaWYgKCFnZXRHbHlwaElu
ZGljZXMoZm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLmhmb250KCksIGRjLCBidWZmZXIsIGxlbmd0
aCwgbG9jYWxHbHlwaEJ1ZmZlciwgR0dJX01BUktfTk9ORVhJU1RJTkdfR0xZUEhTKSkgeworICAg
ICAgICBTZWxlY3RPYmplY3QoZGMsIG9sZEZvbnQpOworICAgICAgICBmaWxsRW1wdHlHbHlwaHMo
cGFnZSk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CiAKICAgICAvLyBDb3B5IHRoZSBv
dXRwdXQgdG8gdGhlIEdseXBoUGFnZQogICAgIGJvb2wgaGF2ZUdseXBocyA9IGZhbHNlOwpAQCAt
MTM4LDYgKzE1Myw3IEBAIHN0YXRpYyBib29sIGZpbGxCTVBHbHlwaHModW5zaWduZWQgb2Zmc2UK
ICAgICAgICAgaW52YWxpZEdseXBoID0gMHgxRjsKIAogICAgIEdseXBoIHNwYWNlR2x5cGggPSAw
OyAgLy8gR2x5cGggZm9yIGEgc3BhY2UuIExhemlseSBmaWxsZWQuCisgICAgYm9vbCBzcGFjZUds
eXBoSW5pdGlhbGl6ZWQgPSBmYWxzZTsKIAogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBs
ZW5ndGg7IGkrKykgewogICAgICAgICBVQ2hhciBjID0gYnVmZmVyW2ldOwpAQCAtMTQ5LDcgKzE2
NSwxMiBAQCBzdGF0aWMgYm9vbCBmaWxsQk1QR2x5cGhzKHVuc2lnbmVkIG9mZnNlCiAgICAgICAg
IGlmIChGb250Ojp0cmVhdEFzU3BhY2UoYykpIHsKICAgICAgICAgICAgIC8vIEhhcmQgY29kZSB0
aGUgZ2x5cGggaW5kaWNlcyBmb3IgY2hhcmFjdGVycyB0aGF0IHNob3VsZCBiZQogICAgICAgICAg
ICAgLy8gdHJlYXRlZCBsaWtlIHNwYWNlcy4KLSAgICAgICAgICAgIGdseXBoID0gaW5pdFNwYWNl
R2x5cGgoZGMsICZzcGFjZUdseXBoKTsKKyAgICAgICAgICAgIGlmICghc3BhY2VHbHlwaEluaXRp
YWxpemVkKSB7CisgICAgICAgICAgICAgICAgLy8gSWYgaW5pdFNwYWNlR2x5cGggZmFpbHMsIHNw
YWNlR2x5cGggc3RheXMgMCAoPSBnbHlwaCBpcyBub3QgcHJlc2VudCkuCisgICAgICAgICAgICAg
ICAgaW5pdFNwYWNlR2x5cGgoZm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLmhmb250KCksIGRjLCAm
c3BhY2VHbHlwaCk7CisgICAgICAgICAgICAgICAgc3BhY2VHbHlwaEluaXRpYWxpemVkID0gdHJ1
ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGdseXBoID0gc3BhY2VHbHlwaDsKICAgICAg
ICAgfSBlbHNlIGlmIChnbHlwaCA9PSBpbnZhbGlkR2x5cGgpIHsKICAgICAgICAgICAgIC8vIFdl
YktpdCBleHBlY3RzIGJvdGggdGhlIGdseXBoIGluZGV4IGFuZCBGb250RGF0YQogICAgICAgICAg
ICAgLy8gcG9pbnRlciB0byBiZSAwIGlmIHRoZSBnbHlwaCBpcyBub3QgcHJlc2VudApAQCAtMTYx
LDcgKzE4Miw2IEBAIHN0YXRpYyBib29sIGZpbGxCTVBHbHlwaHModW5zaWduZWQgb2Zmc2UKICAg
ICB9CiAKICAgICBTZWxlY3RPYmplY3QoZGMsIG9sZEZvbnQpOwotICAgIFJlbGVhc2VEQygwLCBk
Yyk7CiAgICAgcmV0dXJuIGhhdmVHbHlwaHM7CiB9CiAKQEAgLTIyMiw3ICsyNDIsNyBAQCBib29s
IEdseXBoUGFnZTo6ZmlsbCh1bnNpZ25lZCBvZmZzZXQsIHVuCiAgICAgLy8gRklYTUU6IEFkZCBh
c3NlcnRpb25zIHRvIG1ha2Ugc3VyZSB0aGF0IGJ1ZmZlciBpcyBlbnRpcmVseSBpbiBCTVAKICAg
ICAvLyBvciBlbnRpcmVseSBpbiBub24tQk1QLiAKICAgICBpZiAoYnVmZmVyTGVuZ3RoID09IGxl
bmd0aCkKLSAgICAgICAgcmV0dXJuIGZpbGxCTVBHbHlwaHMob2Zmc2V0LCBsZW5ndGgsIGNoYXJh
Y3RlckJ1ZmZlciwgdGhpcywgZm9udERhdGEsIHRydWUpOworICAgICAgICByZXR1cm4gZmlsbEJN
UEdseXBocyhvZmZzZXQsIGxlbmd0aCwgY2hhcmFjdGVyQnVmZmVyLCB0aGlzLCBmb250RGF0YSk7
CiAKICAgICBpZiAoYnVmZmVyTGVuZ3RoID09IDIgKiBsZW5ndGgpIHsKICAgICAgICAgLy8gQSBu
b24tQk1QIGlucHV0IGJ1ZmZlciB3aWxsIGJlIHR3aWNlIGFzIGxvbmcgYXMgb3V0cHV0IGdseXBo
IGJ1ZmZlcgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>