<?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>136766</bug_id>
          
          <creation_ts>2014-09-11 16:45:32 -0700</creation_ts>
          <short_desc>Introduce FONT_DATA_TYPE_CASTS, and use it</short_desc>
          <delta_ts>2014-09-14 22:10:22 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          
          <blocked>136773</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Gyuyoung Kim">gyuyoung.kim</reporter>
          <assigned_to name="Gyuyoung Kim">gyuyoung.kim</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>mmaxfield</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1034754</commentid>
    <comment_count>0</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-09-11 16:45:32 -0700</bug_when>
    <thetext>SSIA</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034759</commentid>
    <comment_count>1</comment_count>
      <attachid>237998</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-09-11 17:04:03 -0700</bug_when>
    <thetext>Created attachment 237998
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034765</commentid>
    <comment_count>2</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-09-11 17:20:46 -0700</bug_when>
    <thetext>unofficial r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034784</commentid>
    <comment_count>3</comment_count>
      <attachid>238004</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-09-11 18:51:29 -0700</bug_when>
    <thetext>Created attachment 238004
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035116</commentid>
    <comment_count>4</comment_count>
      <attachid>238004</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-09-14 13:02:54 -0700</bug_when>
    <thetext>Comment on attachment 238004
Patch

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

&gt; Source/WebCore/platform/graphics/FontGlyphs.cpp:74
&gt; +        fontCache().releaseFontData(toSimpleFontData(m_realizedFontData[i]));

I don’t understand why the .get() isn’t needed any more.

&gt; Source/WebCore/platform/graphics/FontGlyphs.cpp:82
&gt; -        m_pitch = static_cast&lt;const SimpleFontData*&gt;(fontData)-&gt;pitch();
&gt; +        m_pitch = toSimpleFontData(fontData)-&gt;pitch();

Should be toSimpleFontData(*fontData).pitch()

&gt; Source/WebCore/platform/graphics/FontGlyphs.cpp:84
&gt; -        const SegmentedFontData* segmentedFontData = static_cast&lt;const SegmentedFontData*&gt;(fontData);
&gt; +        const SegmentedFontData* segmentedFontData = toSegmentedFontData(fontData);

Should be a reference, not a pointer, since it can’t be null.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035142</commentid>
    <comment_count>5</comment_count>
      <attachid>238004</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-09-14 19:47:14 -0700</bug_when>
    <thetext>Comment on attachment 238004
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/FontGlyphs.cpp:74
&gt;&gt; +        fontCache().releaseFontData(toSimpleFontData(m_realizedFontData[i]));
&gt; 
&gt; I don’t understand why the .get() isn’t needed any more.

By adding a below line, FONT_DATA_TYPE_CASTS generates &quot;toSimpleFontData(const RefPtr&lt;FontData&gt;&amp; fontData)&quot; as well. Thanks to the function, FONT_DATA_TYPE_CASTS can handle .get(). It seems to me it would be nicer to delegate .get() handling to toFoo(). This idea comes from blink.

template&lt;typename T&gt; inline ToValueTypeName* to##ToValueTypeName(const RefPtr&lt;T&gt;&amp; fontData) { return to##ToValueTypeName(fontData.get()); } \</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035143</commentid>
    <comment_count>6</comment_count>
      <attachid>238102</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-09-14 19:59:11 -0700</bug_when>
    <thetext>Created attachment 238102
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035151</commentid>
    <comment_count>7</comment_count>
      <attachid>238102</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-14 21:29:33 -0700</bug_when>
    <thetext>Comment on attachment 238102
Patch for landing

Clearing flags on attachment: 238102

Committed r173612: &lt;http://trac.webkit.org/changeset/173612&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035152</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-14 21:29:36 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035155</commentid>
    <comment_count>9</comment_count>
      <attachid>238004</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-09-14 22:06:41 -0700</bug_when>
    <thetext>Comment on attachment 238004
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/graphics/FontGlyphs.cpp:74
&gt;&gt;&gt; +        fontCache().releaseFontData(toSimpleFontData(m_realizedFontData[i]));
&gt;&gt; 
&gt;&gt; I don’t understand why the .get() isn’t needed any more.
&gt; 
&gt; By adding a below line, FONT_DATA_TYPE_CASTS generates &quot;toSimpleFontData(const RefPtr&lt;FontData&gt;&amp; fontData)&quot; as well. Thanks to the function, FONT_DATA_TYPE_CASTS can handle .get(). It seems to me it would be nicer to delegate .get() handling to toFoo(). This idea comes from blink.
&gt; 
&gt; template&lt;typename T&gt; inline ToValueTypeName* to##ToValueTypeName(const RefPtr&lt;T&gt;&amp; fontData) { return to##ToValueTypeName(fontData.get()); } \

I’m not sure this is a good idea. It’s random that some toXXX are overloaded to take RefPtr and others are not, and that this works on RefPtr but not PassRefPtr, and that the result is a raw pointer rather than another RefPtr. In some cases all of those things could be drawbacks. And in this case, the thing can never be nil so it would be nicer to use a reference rather than a pointer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1035157</commentid>
    <comment_count>10</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-09-14 22:10:22 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 238004 [details])

so it would be nicer to use a reference rather than a pointer.

Darin, ok, I see. Let me adjust your suggestion into new patch on Bug 136809.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237998</attachid>
            <date>2014-09-11 17:04:03 -0700</date>
            <delta_ts>2014-09-11 18:51:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136766-20140912090359.patch</filename>
            <type>text/plain</type>
            <size>8181</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczNTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTZjYzUxNjI3YzZmZTky
MzMyN2E1NTAxYWM4Nzc3N2JlM2YxYjlkNC4uMjU0NzAxNzhkMTU4YzQwNmUxMzc2YTBlNzAwNDY1
ZDVkYzY5YjU5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE0LTA5LTExICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgSW50cm9kdWNl
IEZPTlRfREFUQV9UWVBFX0NBU1RTLCBhbmQgdXNlIGl0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzY3NjYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBcyBhIHN0ZXAgdG8gdXNlIHRvRm9vLCB0aGlzIHBh
dGNoIGludHJvZHVjZXMgRk9OVF9EQVRBX1RZUEVfQ0FTVFMgbWFjcm8gZm9yIHRvRm9vRm9udERh
dGEoKS4KKyAgICAgICAgVGhpcyB3aWxsIGhlbHAgdG8gZGV0ZWN0IHdyb25nIHR5cGUgY2FzdC4K
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmg6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udEdseXBocy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250R2x5
cGhzOjpyZWxlYXNlRm9udERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udEdseXBoczo6ZGV0
ZXJtaW5lUGl0Y2gpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dseXBoUGFnZVRyZWVO
b2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdseXBoUGFnZVRyZWVOb2RlOjppbml0aWFsaXpl
UGFnZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU2VnbWVudGVkRm9udERhdGEuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbToKKyAgICAgICAgKFdl
YkNvcmU6OlNpbXBsZUZvbnREYXRhOjpnZXRDb21wb3NpdGVGb250UmVmZXJlbmNlRm9udERhdGEp
OgorCiAyMDE0LTA5LTExICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNv
bT4KIAogICAgICAgICBbR1RLXSBNZXJnZSBXZWJLaXRBdXRoZW50aWNhdGlvbldpZGdldCBpbnRv
IFdlYktpdEF1dGhlbnRpY2F0aW9uRGlhbG9nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udERhdGEuaAppbmRleCA1M2Q2NWY1Y2Y3NzcxNGJmZDU2YTA0YzAxZWJmZTA4NmYw
MTQ2MjlkLi4zNjZlOTJiNWNkNmM4ZjQwNTg4NTM4OTQ3Mjk1ZTNjOWE1MTY3YmYxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgKQEAgLTY0LDYgKzY0LDEw
IEBAIHByaXZhdGU6CiAgICAgbXV0YWJsZSB1bnNpZ25lZCBtX21heEdseXBoUGFnZVRyZWVMZXZl
bDsKIH07CiAKKyNkZWZpbmUgRk9OVF9EQVRBX1RZUEVfQ0FTVFMoVG9WYWx1ZVR5cGVOYW1lLCBw
b2ludGVyUHJlZGljYXRlLCByZWZlcmVuY2VQcmVkaWNhdGUpIFwKKyAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBUPiBpbmxpbmUgVG9WYWx1ZVR5cGVOYW1lKiB0byMjVG9WYWx1ZVR5cGVOYW1lKGNvbnN0
IFJlZlB0cjxUPiYgZm9udERhdGEpIHsgcmV0dXJuIHRvIyNUb1ZhbHVlVHlwZU5hbWUoZm9udERh
dGEuZ2V0KCkpOyB9IFwKKyAgICBUWVBFX0NBU1RTX0JBU0UoVG9WYWx1ZVR5cGVOYW1lLCBGb250
RGF0YSwgZm9udERhdGEsIHBvaW50ZXJQcmVkaWNhdGUsIHJlZmVyZW5jZVByZWRpY2F0ZSkKKwog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRm9udERhdGFfaApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEdseXBocy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250R2x5cGhzLmNwcAppbmRleCA5NDg3Y2Mw
YTA4YjFjZGIwMDhiZDFjMWRkMzZmMGQxMDRhNGRkMmY3Li4wOWFlOGM0OGE4MTY3NmQwNmMxMDdi
ZjEzNmVmOWZhOGU4NDEyYWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250R2x5cGhzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250R2x5cGhzLmNwcApAQCAtNzEsNyArNzEsNyBAQCB2b2lkIEZvbnRHbHlwaHM6OnJl
bGVhc2VGb250RGF0YSgpCiAgICAgICAgIGlmIChtX3JlYWxpemVkRm9udERhdGFbaV0tPmlzQ3Vz
dG9tRm9udCgpKQogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIEFTU0VSVCghbV9yZWFs
aXplZEZvbnREYXRhW2ldLT5pc1NlZ21lbnRlZCgpKTsKLSAgICAgICAgZm9udENhY2hlKCkucmVs
ZWFzZUZvbnREYXRhKHN0YXRpY19jYXN0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4obV9yZWFsaXpl
ZEZvbnREYXRhW2ldLmdldCgpKSk7CisgICAgICAgIGZvbnRDYWNoZSgpLnJlbGVhc2VGb250RGF0
YSh0b1NpbXBsZUZvbnREYXRhKG1fcmVhbGl6ZWRGb250RGF0YVtpXSkpOwogICAgIH0KIH0KIApA
QCAtNzksOSArNzksOSBAQCB2b2lkIEZvbnRHbHlwaHM6OmRldGVybWluZVBpdGNoKGNvbnN0IEZv
bnREZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24pIGNvbnN0CiB7CiAgICAgY29uc3QgRm9udERhdGEq
IGZvbnREYXRhID0gcHJpbWFyeUZvbnREYXRhKGRlc2NyaXB0aW9uKTsKICAgICBpZiAoIWZvbnRE
YXRhLT5pc1NlZ21lbnRlZCgpKQotICAgICAgICBtX3BpdGNoID0gc3RhdGljX2Nhc3Q8Y29uc3Qg
U2ltcGxlRm9udERhdGEqPihmb250RGF0YSktPnBpdGNoKCk7CisgICAgICAgIG1fcGl0Y2ggPSB0
b1NpbXBsZUZvbnREYXRhKGZvbnREYXRhKS0+cGl0Y2goKTsKICAgICBlbHNlIHsKLSAgICAgICAg
Y29uc3QgU2VnbWVudGVkRm9udERhdGEqIHNlZ21lbnRlZEZvbnREYXRhID0gc3RhdGljX2Nhc3Q8
Y29uc3QgU2VnbWVudGVkRm9udERhdGEqPihmb250RGF0YSk7CisgICAgICAgIGNvbnN0IFNlZ21l
bnRlZEZvbnREYXRhKiBzZWdtZW50ZWRGb250RGF0YSA9IHRvU2VnbWVudGVkRm9udERhdGEoZm9u
dERhdGEpOwogICAgICAgICB1bnNpZ25lZCBudW1SYW5nZXMgPSBzZWdtZW50ZWRGb250RGF0YS0+
bnVtUmFuZ2VzKCk7CiAgICAgICAgIGlmIChudW1SYW5nZXMgPT0gMSkKICAgICAgICAgICAgIG1f
cGl0Y2ggPSBzZWdtZW50ZWRGb250RGF0YS0+cmFuZ2VBdCgwKS5mb250RGF0YSgpLT5waXRjaCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhQYWdl
VHJlZU5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhQYWdl
VHJlZU5vZGUuY3BwCmluZGV4IDQwODE1ZTAyNzMyNGE1YWMzOGVhMDQwM2ViOWJjZDE5OGZiMTJi
ZjQuLjJlY2FkZDE0MTcyM2ZlNWI1MWU1NTllMzdkNzZhZmJjNzdmZTQwNTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoUGFnZVRyZWVOb2RlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaFBhZ2VUcmVlTm9kZS5j
cHAKQEAgLTIwNywyNCArMjA3LDI0IEBAIHZvaWQgR2x5cGhQYWdlVHJlZU5vZGU6OmluaXRpYWxp
emVQYWdlKGNvbnN0IEZvbnREYXRhKiBmb250RGF0YSwgdW5zaWduZWQgcGFnZU51CiAgICAgICAg
ICAgICAvLyBmb3Igb25seSAxMjggb3V0IG9mIDI1NiBjaGFyYWN0ZXJzLgogICAgICAgICAgICAg
Ym9vbCBoYXZlR2x5cGhzOwogICAgICAgICAgICAgaWYgKCFmb250RGF0YS0+aXNTZWdtZW50ZWQo
KSkgewotICAgICAgICAgICAgICAgIGlmIChHbHlwaFBhZ2U6Om1heVVzZU1peGVkRm9udERhdGFX
aGVuRmlsbGluZyhidWZmZXIsIGJ1ZmZlckxlbmd0aCwgc3RhdGljX2Nhc3Q8Y29uc3QgU2ltcGxl
Rm9udERhdGEqPihmb250RGF0YSkpKQorICAgICAgICAgICAgICAgIGlmIChHbHlwaFBhZ2U6Om1h
eVVzZU1peGVkRm9udERhdGFXaGVuRmlsbGluZyhidWZmZXIsIGJ1ZmZlckxlbmd0aCwgdG9TaW1w
bGVGb250RGF0YShmb250RGF0YSkpKQogICAgICAgICAgICAgICAgICAgICBtX3BhZ2UgPSBHbHlw
aFBhZ2U6OmNyZWF0ZUZvck1peGVkRm9udERhdGEodGhpcyk7CiAgICAgICAgICAgICAgICAgZWxz
ZQotICAgICAgICAgICAgICAgICAgICBtX3BhZ2UgPSBHbHlwaFBhZ2U6OmNyZWF0ZUZvclNpbmds
ZUZvbnREYXRhKHRoaXMsIHN0YXRpY19jYXN0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4oZm9udERh
dGEpKTsKKyAgICAgICAgICAgICAgICAgICAgbV9wYWdlID0gR2x5cGhQYWdlOjpjcmVhdGVGb3JT
aW5nbGVGb250RGF0YSh0aGlzLCB0b1NpbXBsZUZvbnREYXRhKGZvbnREYXRhKSk7CiAjaWYgUExB
VEZPUk0oSU9TKQogICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBUaW1lcyBOZXcgUm9tYW4gY29u
dGFpbnMgQXJhYmljIGdseXBocywgYnV0IENvcmUgVGV4dCBkb2Vzbid0IGtub3cgaG93IHRvIHNo
YXBlIHRoZW0uIFNlZSA8cmRhcjovL3Byb2JsZW0vOTgyMzk3NT4uCiAgICAgICAgICAgICAgICAg
Ly8gT25jZSB3ZSBoYXZlIHRoZSBmaXggZm9yIDxyZGFyOi8vcHJvYmxlbS85ODIzOTc1PiB0aGVu
IHJlbW92ZSB0aGlzIGNvZGUgdG9nZXRoZXIgd2l0aCBTaW1wbGVGb250RGF0YTo6c2hvdWxkTm90
QmVVc2VkRm9yQXJhYmljKCkKICAgICAgICAgICAgICAgICAvLyBpbiA8cmRhcjovL3Byb2JsZW0v
MTIwOTY4MzU+LgotICAgICAgICAgICAgICAgIGlmIChwYWdlTnVtYmVyID09IDYgJiYgc3RhdGlj
X2Nhc3Q8Y29uc3QgU2ltcGxlRm9udERhdGEqPihmb250RGF0YSktPnNob3VsZE5vdEJlVXNlZEZv
ckFyYWJpYygpKQorICAgICAgICAgICAgICAgIGlmIChwYWdlTnVtYmVyID09IDYgJiYgdG9TaW1w
bGVGb250RGF0YShmb250RGF0YSktPnNob3VsZE5vdEJlVXNlZEZvckFyYWJpYygpKQogICAgICAg
ICAgICAgICAgICAgICBoYXZlR2x5cGhzID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgZWxzZQog
I2VuZGlmCi0gICAgICAgICAgICAgICAgaGF2ZUdseXBocyA9IGZpbGwobV9wYWdlLmdldCgpLCAw
LCBHbHlwaFBhZ2U6OnNpemUsIGJ1ZmZlciwgYnVmZmVyTGVuZ3RoLCBzdGF0aWNfY2FzdDxjb25z
dCBTaW1wbGVGb250RGF0YSo+KGZvbnREYXRhKSk7CisgICAgICAgICAgICAgICAgaGF2ZUdseXBo
cyA9IGZpbGwobV9wYWdlLmdldCgpLCAwLCBHbHlwaFBhZ2U6OnNpemUsIGJ1ZmZlciwgYnVmZmVy
TGVuZ3RoLCB0b1NpbXBsZUZvbnREYXRhKGZvbnREYXRhKSk7CiAgICAgICAgICAgICB9IGVsc2Ug
ewogICAgICAgICAgICAgICAgIG1fcGFnZSA9IEdseXBoUGFnZTo6Y3JlYXRlRm9yTWl4ZWRGb250
RGF0YSh0aGlzKTsKICAgICAgICAgICAgICAgICBoYXZlR2x5cGhzID0gZmFsc2U7CiAKLSAgICAg
ICAgICAgICAgICBjb25zdCBTZWdtZW50ZWRGb250RGF0YSogc2VnbWVudGVkRm9udERhdGEgPSBz
dGF0aWNfY2FzdDxjb25zdCBTZWdtZW50ZWRGb250RGF0YSo+KGZvbnREYXRhKTsKKyAgICAgICAg
ICAgICAgICBjb25zdCBTZWdtZW50ZWRGb250RGF0YSogc2VnbWVudGVkRm9udERhdGEgPSB0b1Nl
Z21lbnRlZEZvbnREYXRhKGZvbnREYXRhKTsKICAgICAgICAgICAgICAgICB1bnNpZ25lZCBudW1S
YW5nZXMgPSBzZWdtZW50ZWRGb250RGF0YS0+bnVtUmFuZ2VzKCk7CiAgICAgICAgICAgICAgICAg
Ym9vbCB6ZXJvRmlsbGVkID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgUmVmUHRyPEdseXBoUGFn
ZT4gc2NyYXRjaFBhZ2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9TZWdtZW50ZWRGb250RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvU2VnbWVudGVkRm9udERhdGEuaAppbmRleCBkYjg5YjcyMDg4OWM1YjQxYmQyMmZkYTU4NjFh
ZjI5NDJjNDRmZTJkLi40N2QwOGY5YjYwN2RkZTUxYWFkM2VlNDEzNTViMDc1ZTAyY2UwYmE5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TZWdtZW50ZWRGb250
RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NlZ21lbnRlZEZv
bnREYXRhLmgKQEAgLTgwLDYgKzgwLDggQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8Rm9udERhdGFS
YW5nZSwgMT4gbV9yYW5nZXM7CiB9OwogCitGT05UX0RBVEFfVFlQRV9DQVNUUyhTZWdtZW50ZWRG
b250RGF0YSwgZm9udERhdGEtPmlzU2VnbWVudGVkKCksIGZvbnREYXRhLmlzU2VnbWVudGVkKCkp
CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIFNlZ21lbnRlZEZvbnREYXRh
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZv
bnREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0
YS5oCmluZGV4IDYxMjk2ZDIzNDU4NDUyZTlmMzE3NTkxYmNiYjIyZWU0MDQyODBlNjEuLjY4YzBh
ZGUwOWZlY2RiNWRlMGVhNGI0M2E4MzgyNDUyZmE5ZmI0MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaApAQCAtMzkxLDUgKzM5MSw3
IEBAIEFMV0FZU19JTkxJTkUgZmxvYXQgU2ltcGxlRm9udERhdGE6OndpZHRoRm9yR2x5cGgoR2x5
cGggZ2x5cGgpIGNvbnN0CiAgICAgcmV0dXJuIHdpZHRoOwogfQogCitGT05UX0RBVEFfVFlQRV9D
QVNUUyhTaW1wbGVGb250RGF0YSwgIWZvbnREYXRhLT5pc1NlZ21lbnRlZCgpLCAhIWZvbnREYXRh
LmlzU2VnbWVudGVkKCkpCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKICNlbmRpZiAvLyBTaW1w
bGVGb250RGF0YV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9tYWMvU2ltcGxlRm9udERhdGFNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9tYWMvU2ltcGxlRm9udERhdGFNYWMubW0KaW5kZXggZmJkYzc0NGE2YzVlNmM3ZTJlOTM1
MjZkOWFjMjA1YWUxYjkxYjU3MC4uNzcwOGQ2NzM3YzQ5N2U2MWE4NGJhNWFmMmRhZTViY2VmZWVl
YmZjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1Np
bXBsZUZvbnREYXRhTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21hYy9TaW1wbGVGb250RGF0YU1hYy5tbQpAQCAtMTAzLDcgKzEwMyw3IEBAIGNvbnN0IFNpbXBs
ZUZvbnREYXRhKiBTaW1wbGVGb250RGF0YTo6Z2V0Q29tcG9zaXRlRm9udFJlZmVyZW5jZUZvbnRE
YXRhKE5TRm9udCAqCiAgICAgICAgIGlmICghbV9kZXJpdmVkRm9udERhdGEtPmNvbXBvc2l0ZUZv
bnRSZWZlcmVuY2VzKQogICAgICAgICAgICAgbV9kZXJpdmVkRm9udERhdGEtPmNvbXBvc2l0ZUZv
bnRSZWZlcmVuY2VzID0gYWRvcHRDRihDRkRpY3Rpb25hcnlDcmVhdGVNdXRhYmxlKGtDRkFsbG9j
YXRvckRlZmF1bHQsIDEsICZrQ0ZUeXBlRGljdGlvbmFyeUtleUNhbGxCYWNrcywgTlVMTCkpOwog
ICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIGNvbnN0IFNpbXBsZUZvbnREYXRhKiBmb3VuZCA9
IHN0YXRpY19jYXN0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4oQ0ZEaWN0aW9uYXJ5R2V0VmFsdWUo
bV9kZXJpdmVkRm9udERhdGEtPmNvbXBvc2l0ZUZvbnRSZWZlcmVuY2VzLmdldCgpLCBzdGF0aWNf
Y2FzdDxjb25zdCB2b2lkICo+KGtleSkpKTsKKyAgICAgICAgICAgIGNvbnN0IFNpbXBsZUZvbnRE
YXRhKiBmb3VuZCA9IHRvU2ltcGxlRm9udERhdGEoQ0ZEaWN0aW9uYXJ5R2V0VmFsdWUobV9kZXJp
dmVkRm9udERhdGEtPmNvbXBvc2l0ZUZvbnRSZWZlcmVuY2VzLmdldCgpLCBzdGF0aWNfY2FzdDxj
b25zdCB2b2lkICo+KGtleSkpKTsKICAgICAgICAgICAgIGlmIChmb3VuZCkKICAgICAgICAgICAg
ICAgICByZXR1cm4gZm91bmQ7CiAgICAgICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238004</attachid>
            <date>2014-09-11 18:51:29 -0700</date>
            <delta_ts>2014-09-14 22:06:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136766-20140912105125.patch</filename>
            <type>text/plain</type>
            <size>7068</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczNTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjU0NTQzNzdjNmYzMDA1
OWJlZDNmMmNhMDgzZWQ1YjcxYjVjMGI2NC4uOWE0MWM2NDdkMDRiNjJiMTM1OTM1ZDcyMzEyMjJj
MDczZTlhMDA2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE0LTA5LTExICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgSW50cm9kdWNl
IEZPTlRfREFUQV9UWVBFX0NBU1RTLCBhbmQgdXNlIGl0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzY3NjYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBcyBhIHN0ZXAgdG8gdXNlIHRvRm9vLCB0aGlzIHBh
dGNoIGludHJvZHVjZXMgRk9OVF9EQVRBX1RZUEVfQ0FTVFMgbWFjcm8gZm9yIHRvRm9vRm9udERh
dGEoKS4KKyAgICAgICAgVGhpcyB3aWxsIGhlbHAgdG8gZGV0ZWN0IHdyb25nIHR5cGUgY2FzdC4K
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmg6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udEdseXBocy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250R2x5
cGhzOjpyZWxlYXNlRm9udERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udEdseXBoczo6ZGV0
ZXJtaW5lUGl0Y2gpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dseXBoUGFnZVRyZWVO
b2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdseXBoUGFnZVRyZWVOb2RlOjppbml0aWFsaXpl
UGFnZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU2VnbWVudGVkRm9udERhdGEuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbToKKyAgICAgICAgKFdl
YkNvcmU6OlNpbXBsZUZvbnREYXRhOjpnZXRDb21wb3NpdGVGb250UmVmZXJlbmNlRm9udERhdGEp
OgorCiAyMDE0LTA5LTExICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAg
ICAgU2ltcGxpZnkgRE9NIHRyZWUgdHJhdmVyc2FsIGluIEZyYW1lU2VsZWN0aW9uOjpzZXRTZWxl
Y3Rpb25Gcm9tTm9uZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERh
dGEuaAppbmRleCA1M2Q2NWY1Y2Y3NzcxNGJmZDU2YTA0YzAxZWJmZTA4NmYwMTQ2MjlkLi4zNjZl
OTJiNWNkNmM4ZjQwNTg4NTM4OTQ3Mjk1ZTNjOWE1MTY3YmYxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgKQEAgLTY0LDYgKzY0LDEwIEBAIHByaXZhdGU6
CiAgICAgbXV0YWJsZSB1bnNpZ25lZCBtX21heEdseXBoUGFnZVRyZWVMZXZlbDsKIH07CiAKKyNk
ZWZpbmUgRk9OVF9EQVRBX1RZUEVfQ0FTVFMoVG9WYWx1ZVR5cGVOYW1lLCBwb2ludGVyUHJlZGlj
YXRlLCByZWZlcmVuY2VQcmVkaWNhdGUpIFwKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxp
bmUgVG9WYWx1ZVR5cGVOYW1lKiB0byMjVG9WYWx1ZVR5cGVOYW1lKGNvbnN0IFJlZlB0cjxUPiYg
Zm9udERhdGEpIHsgcmV0dXJuIHRvIyNUb1ZhbHVlVHlwZU5hbWUoZm9udERhdGEuZ2V0KCkpOyB9
IFwKKyAgICBUWVBFX0NBU1RTX0JBU0UoVG9WYWx1ZVR5cGVOYW1lLCBGb250RGF0YSwgZm9udERh
dGEsIHBvaW50ZXJQcmVkaWNhdGUsIHJlZmVyZW5jZVByZWRpY2F0ZSkKKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRm9udERhdGFfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEdseXBocy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250R2x5cGhzLmNwcAppbmRleCA5NDg3Y2MwYTA4YjFjZGIwMDhi
ZDFjMWRkMzZmMGQxMDRhNGRkMmY3Li4wOWFlOGM0OGE4MTY3NmQwNmMxMDdiZjEzNmVmOWZhOGU4
NDEyYWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
R2x5cGhzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250R2x5
cGhzLmNwcApAQCAtNzEsNyArNzEsNyBAQCB2b2lkIEZvbnRHbHlwaHM6OnJlbGVhc2VGb250RGF0
YSgpCiAgICAgICAgIGlmIChtX3JlYWxpemVkRm9udERhdGFbaV0tPmlzQ3VzdG9tRm9udCgpKQog
ICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIEFTU0VSVCghbV9yZWFsaXplZEZvbnREYXRh
W2ldLT5pc1NlZ21lbnRlZCgpKTsKLSAgICAgICAgZm9udENhY2hlKCkucmVsZWFzZUZvbnREYXRh
KHN0YXRpY19jYXN0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4obV9yZWFsaXplZEZvbnREYXRhW2ld
LmdldCgpKSk7CisgICAgICAgIGZvbnRDYWNoZSgpLnJlbGVhc2VGb250RGF0YSh0b1NpbXBsZUZv
bnREYXRhKG1fcmVhbGl6ZWRGb250RGF0YVtpXSkpOwogICAgIH0KIH0KIApAQCAtNzksOSArNzks
OSBAQCB2b2lkIEZvbnRHbHlwaHM6OmRldGVybWluZVBpdGNoKGNvbnN0IEZvbnREZXNjcmlwdGlv
biYgZGVzY3JpcHRpb24pIGNvbnN0CiB7CiAgICAgY29uc3QgRm9udERhdGEqIGZvbnREYXRhID0g
cHJpbWFyeUZvbnREYXRhKGRlc2NyaXB0aW9uKTsKICAgICBpZiAoIWZvbnREYXRhLT5pc1NlZ21l
bnRlZCgpKQotICAgICAgICBtX3BpdGNoID0gc3RhdGljX2Nhc3Q8Y29uc3QgU2ltcGxlRm9udERh
dGEqPihmb250RGF0YSktPnBpdGNoKCk7CisgICAgICAgIG1fcGl0Y2ggPSB0b1NpbXBsZUZvbnRE
YXRhKGZvbnREYXRhKS0+cGl0Y2goKTsKICAgICBlbHNlIHsKLSAgICAgICAgY29uc3QgU2VnbWVu
dGVkRm9udERhdGEqIHNlZ21lbnRlZEZvbnREYXRhID0gc3RhdGljX2Nhc3Q8Y29uc3QgU2VnbWVu
dGVkRm9udERhdGEqPihmb250RGF0YSk7CisgICAgICAgIGNvbnN0IFNlZ21lbnRlZEZvbnREYXRh
KiBzZWdtZW50ZWRGb250RGF0YSA9IHRvU2VnbWVudGVkRm9udERhdGEoZm9udERhdGEpOwogICAg
ICAgICB1bnNpZ25lZCBudW1SYW5nZXMgPSBzZWdtZW50ZWRGb250RGF0YS0+bnVtUmFuZ2VzKCk7
CiAgICAgICAgIGlmIChudW1SYW5nZXMgPT0gMSkKICAgICAgICAgICAgIG1fcGl0Y2ggPSBzZWdt
ZW50ZWRGb250RGF0YS0+cmFuZ2VBdCgwKS5mb250RGF0YSgpLT5waXRjaCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhQYWdlVHJlZU5vZGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhQYWdlVHJlZU5vZGUuY3Bw
CmluZGV4IDQwODE1ZTAyNzMyNGE1YWMzOGVhMDQwM2ViOWJjZDE5OGZiMTJiZjQuLjJlY2FkZDE0
MTcyM2ZlNWI1MWU1NTllMzdkNzZhZmJjNzdmZTQwNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoUGFnZVRyZWVOb2RlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaFBhZ2VUcmVlTm9kZS5jcHAKQEAgLTIwNywy
NCArMjA3LDI0IEBAIHZvaWQgR2x5cGhQYWdlVHJlZU5vZGU6OmluaXRpYWxpemVQYWdlKGNvbnN0
IEZvbnREYXRhKiBmb250RGF0YSwgdW5zaWduZWQgcGFnZU51CiAgICAgICAgICAgICAvLyBmb3Ig
b25seSAxMjggb3V0IG9mIDI1NiBjaGFyYWN0ZXJzLgogICAgICAgICAgICAgYm9vbCBoYXZlR2x5
cGhzOwogICAgICAgICAgICAgaWYgKCFmb250RGF0YS0+aXNTZWdtZW50ZWQoKSkgewotICAgICAg
ICAgICAgICAgIGlmIChHbHlwaFBhZ2U6Om1heVVzZU1peGVkRm9udERhdGFXaGVuRmlsbGluZyhi
dWZmZXIsIGJ1ZmZlckxlbmd0aCwgc3RhdGljX2Nhc3Q8Y29uc3QgU2ltcGxlRm9udERhdGEqPihm
b250RGF0YSkpKQorICAgICAgICAgICAgICAgIGlmIChHbHlwaFBhZ2U6Om1heVVzZU1peGVkRm9u
dERhdGFXaGVuRmlsbGluZyhidWZmZXIsIGJ1ZmZlckxlbmd0aCwgdG9TaW1wbGVGb250RGF0YShm
b250RGF0YSkpKQogICAgICAgICAgICAgICAgICAgICBtX3BhZ2UgPSBHbHlwaFBhZ2U6OmNyZWF0
ZUZvck1peGVkRm9udERhdGEodGhpcyk7CiAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAg
ICAgICAgICAgICBtX3BhZ2UgPSBHbHlwaFBhZ2U6OmNyZWF0ZUZvclNpbmdsZUZvbnREYXRhKHRo
aXMsIHN0YXRpY19jYXN0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4oZm9udERhdGEpKTsKKyAgICAg
ICAgICAgICAgICAgICAgbV9wYWdlID0gR2x5cGhQYWdlOjpjcmVhdGVGb3JTaW5nbGVGb250RGF0
YSh0aGlzLCB0b1NpbXBsZUZvbnREYXRhKGZvbnREYXRhKSk7CiAjaWYgUExBVEZPUk0oSU9TKQog
ICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBUaW1lcyBOZXcgUm9tYW4gY29udGFpbnMgQXJhYmlj
IGdseXBocywgYnV0IENvcmUgVGV4dCBkb2Vzbid0IGtub3cgaG93IHRvIHNoYXBlIHRoZW0uIFNl
ZSA8cmRhcjovL3Byb2JsZW0vOTgyMzk3NT4uCiAgICAgICAgICAgICAgICAgLy8gT25jZSB3ZSBo
YXZlIHRoZSBmaXggZm9yIDxyZGFyOi8vcHJvYmxlbS85ODIzOTc1PiB0aGVuIHJlbW92ZSB0aGlz
IGNvZGUgdG9nZXRoZXIgd2l0aCBTaW1wbGVGb250RGF0YTo6c2hvdWxkTm90QmVVc2VkRm9yQXJh
YmljKCkKICAgICAgICAgICAgICAgICAvLyBpbiA8cmRhcjovL3Byb2JsZW0vMTIwOTY4MzU+Lgot
ICAgICAgICAgICAgICAgIGlmIChwYWdlTnVtYmVyID09IDYgJiYgc3RhdGljX2Nhc3Q8Y29uc3Qg
U2ltcGxlRm9udERhdGEqPihmb250RGF0YSktPnNob3VsZE5vdEJlVXNlZEZvckFyYWJpYygpKQor
ICAgICAgICAgICAgICAgIGlmIChwYWdlTnVtYmVyID09IDYgJiYgdG9TaW1wbGVGb250RGF0YShm
b250RGF0YSktPnNob3VsZE5vdEJlVXNlZEZvckFyYWJpYygpKQogICAgICAgICAgICAgICAgICAg
ICBoYXZlR2x5cGhzID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgZWxzZQogI2VuZGlmCi0gICAg
ICAgICAgICAgICAgaGF2ZUdseXBocyA9IGZpbGwobV9wYWdlLmdldCgpLCAwLCBHbHlwaFBhZ2U6
OnNpemUsIGJ1ZmZlciwgYnVmZmVyTGVuZ3RoLCBzdGF0aWNfY2FzdDxjb25zdCBTaW1wbGVGb250
RGF0YSo+KGZvbnREYXRhKSk7CisgICAgICAgICAgICAgICAgaGF2ZUdseXBocyA9IGZpbGwobV9w
YWdlLmdldCgpLCAwLCBHbHlwaFBhZ2U6OnNpemUsIGJ1ZmZlciwgYnVmZmVyTGVuZ3RoLCB0b1Np
bXBsZUZvbnREYXRhKGZvbnREYXRhKSk7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgICAgIG1fcGFnZSA9IEdseXBoUGFnZTo6Y3JlYXRlRm9yTWl4ZWRGb250RGF0YSh0aGlzKTsK
ICAgICAgICAgICAgICAgICBoYXZlR2x5cGhzID0gZmFsc2U7CiAKLSAgICAgICAgICAgICAgICBj
b25zdCBTZWdtZW50ZWRGb250RGF0YSogc2VnbWVudGVkRm9udERhdGEgPSBzdGF0aWNfY2FzdDxj
b25zdCBTZWdtZW50ZWRGb250RGF0YSo+KGZvbnREYXRhKTsKKyAgICAgICAgICAgICAgICBjb25z
dCBTZWdtZW50ZWRGb250RGF0YSogc2VnbWVudGVkRm9udERhdGEgPSB0b1NlZ21lbnRlZEZvbnRE
YXRhKGZvbnREYXRhKTsKICAgICAgICAgICAgICAgICB1bnNpZ25lZCBudW1SYW5nZXMgPSBzZWdt
ZW50ZWRGb250RGF0YS0+bnVtUmFuZ2VzKCk7CiAgICAgICAgICAgICAgICAgYm9vbCB6ZXJvRmls
bGVkID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgUmVmUHRyPEdseXBoUGFnZT4gc2NyYXRjaFBh
Z2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TZWdtZW50
ZWRGb250RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2VnbWVudGVk
Rm9udERhdGEuaAppbmRleCBkYjg5YjcyMDg4OWM1YjQxYmQyMmZkYTU4NjFhZjI5NDJjNDRmZTJk
Li40N2QwOGY5YjYwN2RkZTUxYWFkM2VlNDEzNTViMDc1ZTAyY2UwYmE5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TZWdtZW50ZWRGb250RGF0YS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NlZ21lbnRlZEZvbnREYXRhLmgKQEAg
LTgwLDYgKzgwLDggQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8Rm9udERhdGFSYW5nZSwgMT4gbV9y
YW5nZXM7CiB9OwogCitGT05UX0RBVEFfVFlQRV9DQVNUUyhTZWdtZW50ZWRGb250RGF0YSwgZm9u
dERhdGEtPmlzU2VnbWVudGVkKCksIGZvbnREYXRhLmlzU2VnbWVudGVkKCkpCisKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIFNlZ21lbnRlZEZvbnREYXRhX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCmluZGV4IDYx
Mjk2ZDIzNDU4NDUyZTlmMzE3NTkxYmNiYjIyZWU0MDQyODBlNjEuLmQzMDI3MjIxNmNkM2IwMmMx
YmRiOGI1YmNjNDc3ZmY5ZDQzOGYzOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaApAQCAtMzkxLDUgKzM5MSw3IEBAIEFMV0FZU19J
TkxJTkUgZmxvYXQgU2ltcGxlRm9udERhdGE6OndpZHRoRm9yR2x5cGgoR2x5cGggZ2x5cGgpIGNv
bnN0CiAgICAgcmV0dXJuIHdpZHRoOwogfQogCitGT05UX0RBVEFfVFlQRV9DQVNUUyhTaW1wbGVG
b250RGF0YSwgIWZvbnREYXRhLT5pc1NlZ21lbnRlZCgpLCAhZm9udERhdGEuaXNTZWdtZW50ZWQo
KSkKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogI2VuZGlmIC8vIFNpbXBsZUZvbnREYXRhX2gK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238102</attachid>
            <date>2014-09-14 19:59:11 -0700</date>
            <delta_ts>2014-09-14 21:29:33 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-136766-20140915115908.patch</filename>
            <type>text/plain</type>
            <size>7264</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczNjA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2YzNjY2NTNkODY5NTEx
OTQwMzUyNDhlNmY4ZTBkMmYxYmU2Y2FkYi4uYjIzNTgxYmMzN2ZmMjdjMTIwNTA3YWYzZjFkMWU1
ZWZlNTI5YjUyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE0LTA5LTE0ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgSW50cm9kdWNl
IEZPTlRfREFUQV9UWVBFX0NBU1RTLCBhbmQgdXNlIGl0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzY3NjYKKworICAgICAgICBSZXZpZXdlZCBieSBE
YXJpbiBBZGxlci4KKworICAgICAgICBBcyBhIHN0ZXAgdG8gdXNlIHRvRm9vLCB0aGlzIHBhdGNo
IGludHJvZHVjZXMgRk9OVF9EQVRBX1RZUEVfQ0FTVFMgbWFjcm8gZm9yIHRvRm9vRm9udERhdGEo
KS4KKyAgICAgICAgVGhpcyB3aWxsIGhlbHAgdG8gZGV0ZWN0IHdyb25nIHR5cGUgY2FzdC4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udEdseXBocy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250R2x5cGhz
OjpyZWxlYXNlRm9udERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udEdseXBoczo6ZGV0ZXJt
aW5lUGl0Y2gpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dseXBoUGFnZVRyZWVOb2Rl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdseXBoUGFnZVRyZWVOb2RlOjppbml0aWFsaXplUGFn
ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU2VnbWVudGVkRm9udERhdGEuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbToKKyAgICAgICAgKFdlYkNv
cmU6OlNpbXBsZUZvbnREYXRhOjpnZXRDb21wb3NpdGVGb250UmVmZXJlbmNlRm9udERhdGEpOgor
CiAyMDE0LTA5LTE0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAg
UmVtb3ZlIHVubmVjZXNzYXJ5IG92ZXJsb2FkcyB0YWtpbmcgYSBDb250YWluZXJOb2RlIGluIEVs
ZW1lbnQgVHJhdmVyc2FsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERh
dGEuaAppbmRleCA1M2Q2NWY1Y2Y3NzcxNGJmZDU2YTA0YzAxZWJmZTA4NmYwMTQ2MjlkLi4zNjZl
OTJiNWNkNmM4ZjQwNTg4NTM4OTQ3Mjk1ZTNjOWE1MTY3YmYxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgKQEAgLTY0LDYgKzY0LDEwIEBAIHByaXZhdGU6
CiAgICAgbXV0YWJsZSB1bnNpZ25lZCBtX21heEdseXBoUGFnZVRyZWVMZXZlbDsKIH07CiAKKyNk
ZWZpbmUgRk9OVF9EQVRBX1RZUEVfQ0FTVFMoVG9WYWx1ZVR5cGVOYW1lLCBwb2ludGVyUHJlZGlj
YXRlLCByZWZlcmVuY2VQcmVkaWNhdGUpIFwKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxp
bmUgVG9WYWx1ZVR5cGVOYW1lKiB0byMjVG9WYWx1ZVR5cGVOYW1lKGNvbnN0IFJlZlB0cjxUPiYg
Zm9udERhdGEpIHsgcmV0dXJuIHRvIyNUb1ZhbHVlVHlwZU5hbWUoZm9udERhdGEuZ2V0KCkpOyB9
IFwKKyAgICBUWVBFX0NBU1RTX0JBU0UoVG9WYWx1ZVR5cGVOYW1lLCBGb250RGF0YSwgZm9udERh
dGEsIHBvaW50ZXJQcmVkaWNhdGUsIHJlZmVyZW5jZVByZWRpY2F0ZSkKKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRm9udERhdGFfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEdseXBocy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250R2x5cGhzLmNwcAppbmRleCA5NDg3Y2MwYTA4YjFjZGIwMDhi
ZDFjMWRkMzZmMGQxMDRhNGRkMmY3Li5hOGNhZDQ0NDk2MjY2YTllZWVjZjQ5MmIxODUxMjdhMjZi
ZjM1NGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
R2x5cGhzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250R2x5
cGhzLmNwcApAQCAtNzEsNyArNzEsNyBAQCB2b2lkIEZvbnRHbHlwaHM6OnJlbGVhc2VGb250RGF0
YSgpCiAgICAgICAgIGlmIChtX3JlYWxpemVkRm9udERhdGFbaV0tPmlzQ3VzdG9tRm9udCgpKQog
ICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIEFTU0VSVCghbV9yZWFsaXplZEZvbnREYXRh
W2ldLT5pc1NlZ21lbnRlZCgpKTsKLSAgICAgICAgZm9udENhY2hlKCkucmVsZWFzZUZvbnREYXRh
KHN0YXRpY19jYXN0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4obV9yZWFsaXplZEZvbnREYXRhW2ld
LmdldCgpKSk7CisgICAgICAgIGZvbnRDYWNoZSgpLnJlbGVhc2VGb250RGF0YSh0b1NpbXBsZUZv
bnREYXRhKG1fcmVhbGl6ZWRGb250RGF0YVtpXSkpOwogICAgIH0KIH0KIApAQCAtNzksMTIgKzc5
LDEyIEBAIHZvaWQgRm9udEdseXBoczo6ZGV0ZXJtaW5lUGl0Y2goY29uc3QgRm9udERlc2NyaXB0
aW9uJiBkZXNjcmlwdGlvbikgY29uc3QKIHsKICAgICBjb25zdCBGb250RGF0YSogZm9udERhdGEg
PSBwcmltYXJ5Rm9udERhdGEoZGVzY3JpcHRpb24pOwogICAgIGlmICghZm9udERhdGEtPmlzU2Vn
bWVudGVkKCkpCi0gICAgICAgIG1fcGl0Y2ggPSBzdGF0aWNfY2FzdDxjb25zdCBTaW1wbGVGb250
RGF0YSo+KGZvbnREYXRhKS0+cGl0Y2goKTsKKyAgICAgICAgbV9waXRjaCA9IHRvU2ltcGxlRm9u
dERhdGEoKmZvbnREYXRhKS5waXRjaCgpOwogICAgIGVsc2UgewotICAgICAgICBjb25zdCBTZWdt
ZW50ZWRGb250RGF0YSogc2VnbWVudGVkRm9udERhdGEgPSBzdGF0aWNfY2FzdDxjb25zdCBTZWdt
ZW50ZWRGb250RGF0YSo+KGZvbnREYXRhKTsKLSAgICAgICAgdW5zaWduZWQgbnVtUmFuZ2VzID0g
c2VnbWVudGVkRm9udERhdGEtPm51bVJhbmdlcygpOworICAgICAgICBjb25zdCBTZWdtZW50ZWRG
b250RGF0YSYgc2VnbWVudGVkRm9udERhdGEgPSB0b1NlZ21lbnRlZEZvbnREYXRhKCpmb250RGF0
YSk7CisgICAgICAgIHVuc2lnbmVkIG51bVJhbmdlcyA9IHNlZ21lbnRlZEZvbnREYXRhLm51bVJh
bmdlcygpOwogICAgICAgICBpZiAobnVtUmFuZ2VzID09IDEpCi0gICAgICAgICAgICBtX3BpdGNo
ID0gc2VnbWVudGVkRm9udERhdGEtPnJhbmdlQXQoMCkuZm9udERhdGEoKS0+cGl0Y2goKTsKKyAg
ICAgICAgICAgIG1fcGl0Y2ggPSBzZWdtZW50ZWRGb250RGF0YS5yYW5nZUF0KDApLmZvbnREYXRh
KCktPnBpdGNoKCk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIG1fcGl0Y2ggPSBWYXJpYWJs
ZVBpdGNoOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dseXBoUGFnZVRyZWVOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dseXBoUGFnZVRyZWVOb2RlLmNwcAppbmRleCA0MDgxNWUwMjczMjRhNWFjMzhlYTA0MDNl
YjliY2QxOThmYjEyYmY0Li4yZWNhZGQxNDE3MjNmZTViNTFlNTU5ZTM3ZDc2YWZiYzc3ZmU0MDU2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaFBhZ2VU
cmVlTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhQ
YWdlVHJlZU5vZGUuY3BwCkBAIC0yMDcsMjQgKzIwNywyNCBAQCB2b2lkIEdseXBoUGFnZVRyZWVO
b2RlOjppbml0aWFsaXplUGFnZShjb25zdCBGb250RGF0YSogZm9udERhdGEsIHVuc2lnbmVkIHBh
Z2VOdQogICAgICAgICAgICAgLy8gZm9yIG9ubHkgMTI4IG91dCBvZiAyNTYgY2hhcmFjdGVycy4K
ICAgICAgICAgICAgIGJvb2wgaGF2ZUdseXBoczsKICAgICAgICAgICAgIGlmICghZm9udERhdGEt
PmlzU2VnbWVudGVkKCkpIHsKLSAgICAgICAgICAgICAgICBpZiAoR2x5cGhQYWdlOjptYXlVc2VN
aXhlZEZvbnREYXRhV2hlbkZpbGxpbmcoYnVmZmVyLCBidWZmZXJMZW5ndGgsIHN0YXRpY19jYXN0
PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4oZm9udERhdGEpKSkKKyAgICAgICAgICAgICAgICBpZiAo
R2x5cGhQYWdlOjptYXlVc2VNaXhlZEZvbnREYXRhV2hlbkZpbGxpbmcoYnVmZmVyLCBidWZmZXJM
ZW5ndGgsIHRvU2ltcGxlRm9udERhdGEoZm9udERhdGEpKSkKICAgICAgICAgICAgICAgICAgICAg
bV9wYWdlID0gR2x5cGhQYWdlOjpjcmVhdGVGb3JNaXhlZEZvbnREYXRhKHRoaXMpOwogICAgICAg
ICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgbV9wYWdlID0gR2x5cGhQYWdlOjpj
cmVhdGVGb3JTaW5nbGVGb250RGF0YSh0aGlzLCBzdGF0aWNfY2FzdDxjb25zdCBTaW1wbGVGb250
RGF0YSo+KGZvbnREYXRhKSk7CisgICAgICAgICAgICAgICAgICAgIG1fcGFnZSA9IEdseXBoUGFn
ZTo6Y3JlYXRlRm9yU2luZ2xlRm9udERhdGEodGhpcywgdG9TaW1wbGVGb250RGF0YShmb250RGF0
YSkpOwogI2lmIFBMQVRGT1JNKElPUykKICAgICAgICAgICAgICAgICAvLyBGSVhNRTogVGltZXMg
TmV3IFJvbWFuIGNvbnRhaW5zIEFyYWJpYyBnbHlwaHMsIGJ1dCBDb3JlIFRleHQgZG9lc24ndCBr
bm93IGhvdyB0byBzaGFwZSB0aGVtLiBTZWUgPHJkYXI6Ly9wcm9ibGVtLzk4MjM5NzU+LgogICAg
ICAgICAgICAgICAgIC8vIE9uY2Ugd2UgaGF2ZSB0aGUgZml4IGZvciA8cmRhcjovL3Byb2JsZW0v
OTgyMzk3NT4gdGhlbiByZW1vdmUgdGhpcyBjb2RlIHRvZ2V0aGVyIHdpdGggU2ltcGxlRm9udERh
dGE6OnNob3VsZE5vdEJlVXNlZEZvckFyYWJpYygpCiAgICAgICAgICAgICAgICAgLy8gaW4gPHJk
YXI6Ly9wcm9ibGVtLzEyMDk2ODM1Pi4KLSAgICAgICAgICAgICAgICBpZiAocGFnZU51bWJlciA9
PSA2ICYmIHN0YXRpY19jYXN0PGNvbnN0IFNpbXBsZUZvbnREYXRhKj4oZm9udERhdGEpLT5zaG91
bGROb3RCZVVzZWRGb3JBcmFiaWMoKSkKKyAgICAgICAgICAgICAgICBpZiAocGFnZU51bWJlciA9
PSA2ICYmIHRvU2ltcGxlRm9udERhdGEoZm9udERhdGEpLT5zaG91bGROb3RCZVVzZWRGb3JBcmFi
aWMoKSkKICAgICAgICAgICAgICAgICAgICAgaGF2ZUdseXBocyA9IGZhbHNlOwogICAgICAgICAg
ICAgICAgIGVsc2UKICNlbmRpZgotICAgICAgICAgICAgICAgIGhhdmVHbHlwaHMgPSBmaWxsKG1f
cGFnZS5nZXQoKSwgMCwgR2x5cGhQYWdlOjpzaXplLCBidWZmZXIsIGJ1ZmZlckxlbmd0aCwgc3Rh
dGljX2Nhc3Q8Y29uc3QgU2ltcGxlRm9udERhdGEqPihmb250RGF0YSkpOworICAgICAgICAgICAg
ICAgIGhhdmVHbHlwaHMgPSBmaWxsKG1fcGFnZS5nZXQoKSwgMCwgR2x5cGhQYWdlOjpzaXplLCBi
dWZmZXIsIGJ1ZmZlckxlbmd0aCwgdG9TaW1wbGVGb250RGF0YShmb250RGF0YSkpOwogICAgICAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICBtX3BhZ2UgPSBHbHlwaFBhZ2U6OmNyZWF0
ZUZvck1peGVkRm9udERhdGEodGhpcyk7CiAgICAgICAgICAgICAgICAgaGF2ZUdseXBocyA9IGZh
bHNlOwogCi0gICAgICAgICAgICAgICAgY29uc3QgU2VnbWVudGVkRm9udERhdGEqIHNlZ21lbnRl
ZEZvbnREYXRhID0gc3RhdGljX2Nhc3Q8Y29uc3QgU2VnbWVudGVkRm9udERhdGEqPihmb250RGF0
YSk7CisgICAgICAgICAgICAgICAgY29uc3QgU2VnbWVudGVkRm9udERhdGEqIHNlZ21lbnRlZEZv
bnREYXRhID0gdG9TZWdtZW50ZWRGb250RGF0YShmb250RGF0YSk7CiAgICAgICAgICAgICAgICAg
dW5zaWduZWQgbnVtUmFuZ2VzID0gc2VnbWVudGVkRm9udERhdGEtPm51bVJhbmdlcygpOwogICAg
ICAgICAgICAgICAgIGJvb2wgemVyb0ZpbGxlZCA9IGZhbHNlOwogICAgICAgICAgICAgICAgIFJl
ZlB0cjxHbHlwaFBhZ2U+IHNjcmF0Y2hQYWdlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvU2VnbWVudGVkRm9udERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL1NlZ21lbnRlZEZvbnREYXRhLmgKaW5kZXggZGI4OWI3MjA4ODljNWI0
MWJkMjJmZGE1ODYxYWYyOTQyYzQ0ZmUyZC4uNDdkMDhmOWI2MDdkZGU1MWFhZDNlZTQxMzU1YjA3
NWUwMmNlMGJhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
U2VnbWVudGVkRm9udERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9TZWdtZW50ZWRGb250RGF0YS5oCkBAIC04MCw2ICs4MCw4IEBAIHByaXZhdGU6CiAgICAgVmVj
dG9yPEZvbnREYXRhUmFuZ2UsIDE+IG1fcmFuZ2VzOwogfTsKIAorRk9OVF9EQVRBX1RZUEVfQ0FT
VFMoU2VnbWVudGVkRm9udERhdGEsIGZvbnREYXRhLT5pc1NlZ21lbnRlZCgpLCBmb250RGF0YS5p
c1NlZ21lbnRlZCgpKQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBTZWdt
ZW50ZWRGb250RGF0YV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9TaW1wbGVGb250RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
U2ltcGxlRm9udERhdGEuaAppbmRleCA2MTI5NmQyMzQ1ODQ1MmU5ZjMxNzU5MWJjYmIyMmVlNDA0
MjgwZTYxLi5kMzAyNzIyMTZjZDNiMDJjMWJkYjhiNWJjYzQ3N2ZmOWQ0MzhmMzkxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgKQEAg
LTM5MSw1ICszOTEsNyBAQCBBTFdBWVNfSU5MSU5FIGZsb2F0IFNpbXBsZUZvbnREYXRhOjp3aWR0
aEZvckdseXBoKEdseXBoIGdseXBoKSBjb25zdAogICAgIHJldHVybiB3aWR0aDsKIH0KIAorRk9O
VF9EQVRBX1RZUEVfQ0FTVFMoU2ltcGxlRm9udERhdGEsICFmb250RGF0YS0+aXNTZWdtZW50ZWQo
KSwgIWZvbnREYXRhLmlzU2VnbWVudGVkKCkpCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKICNl
bmRpZiAvLyBTaW1wbGVGb250RGF0YV9oCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>