<?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>80360</bug_id>
          
          <creation_ts>2012-03-05 17:24:42 -0800</creation_ts>
          <short_desc>1ex should equal .5em when the font has no x-height metric</short_desc>
          <delta_ts>2012-10-05 18:33:23 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Tab Atkins">tabatkins</reporter>
          <assigned_to name="Tab Atkins">tabatkins</assigned_to>
          <cc>ap</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>davidbarr</cc>
    
    <cc>efidler</cc>
    
    <cc>eric</cc>
    
    <cc>hyatt</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mitz</cc>
    
    <cc>senorblanco</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>571247</commentid>
    <comment_count>0</comment_count>
    <who name="Tab Atkins">tabatkins</who>
    <bug_when>2012-03-05 17:24:42 -0800</bug_when>
    <thetext>Testcase
========

&lt;!doctype html&gt;
&lt;svg xmlns = &apos;http://www.w3.org/2000/svg&apos; style=&apos;display:none&apos;&gt;
  &lt;defs&gt;
    &lt;font id=&quot;Font1&quot;&gt;
      &lt;font-face font-family=&quot;block&quot; /&gt;
    &lt;/font&gt;
  &lt;/defs&gt;
&lt;/svg&gt;
&lt;style&gt;
.em { height: .5em; width: .5em; }
.ex { height: 1ex; width: 1ex; }
.cover { background: green; }
.back { background: red; }
.one { left: 10px; }
.two { left: 70px; }
#test &gt; div { font-family: block; font-size: 100px; position: absolute; top: 10px; }
&lt;/style&gt;
&lt;div id=&apos;test&apos;&gt;
  &lt;div class=&apos;back em one&apos;&gt;&lt;/div&gt;
  &lt;div class=&apos;cover ex one&apos;&gt;&lt;/div&gt;

  &lt;div class=&apos;back ex two&apos;&gt;&lt;/div&gt;
  &lt;div class=&apos;cover em two&apos;&gt;&lt;/div&gt;
&lt;/div&gt;


Expected result
===============
Because the SVG font doesn&apos;t define an x-height metric, the &apos;ex&apos; unit for elements that use it should be sized to half the &apos;em&apos; unit.

Actual result
=============
The &apos;ex&apos; unit is sized to 0.  This also occurs with TrueType fonts that have been modified to not have an x-height metric.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571273</commentid>
    <comment_count>1</comment_count>
      <attachid>130249</attachid>
    <who name="Tab Atkins">tabatkins</who>
    <bug_when>2012-03-05 17:41:55 -0800</bug_when>
    <thetext>Created attachment 130249
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571284</commentid>
    <comment_count>2</comment_count>
    <who name="Tab Atkins">tabatkins</who>
    <bug_when>2012-03-05 17:49:01 -0800</bug_when>
    <thetext>The above patch definitely works with cr-linux, but I&apos;m unsure of what the other platforms return from their various font libraries.  I need to see bot results before I can be sure that my patch is complete.  :/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572137</commentid>
    <comment_count>3</comment_count>
      <attachid>130249</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2012-03-06 14:04:16 -0800</bug_when>
    <thetext>Comment on attachment 130249
Patch

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

&gt; Source/WebCore/platform/wx/wxcode/win/fontprops.cpp:61
&gt; -        m_xHeight = m_ascent * 0.56f;  // Best guess for xHeight for non-Truetype fonts.
&gt; -        m_lineGap = lroundf(tm.tmExternalLeading);
&gt; +        m_xHeight = m_ascent * 0.56f; // Best guess for xHeight for non-Truetype fonts.0;lroundf(tm.tmExternalLeading);

Did you mean to remove the assignment to m_lineGap and put its associated computation at the end of a comment?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572179</commentid>
    <comment_count>4</comment_count>
    <who name="Tab Atkins">tabatkins</who>
    <bug_when>2012-03-06 14:54:28 -0800</bug_when>
    <thetext>...huh.  I *thought* that comment looked weird.  I have no idea how I managed to accidentally do that.

I&apos;m about to be OOO for the week; I&apos;ll fix that and resubmit when I get back next week.  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579208</commentid>
    <comment_count>5</comment_count>
      <attachid>130249</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-03-15 01:54:19 -0700</bug_when>
    <thetext>Comment on attachment 130249
Patch

R-minusing based on Tim&apos;s comment to shorten the review queue. I&apos;m looking for your next patch ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>587426</commentid>
    <comment_count>6</comment_count>
      <attachid>133724</attachid>
    <who name="David Barr">davidbarr</who>
    <bug_when>2012-03-25 19:48:43 -0700</bug_when>
    <thetext>Created attachment 133724
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605997</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-04-19 15:26:11 -0700</bug_when>
    <thetext>This looks reasonable to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605998</commentid>
    <comment_count>8</comment_count>
      <attachid>133724</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-04-19 15:26:58 -0700</bug_when>
    <thetext>Comment on attachment 133724
Patch

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

&gt; Source/WebCore/platform/graphics/skia/SimpleFontDataSkia.cpp:109
&gt; +        m_fontMetrics.setHasXHeight(false);

You might want to explain this line here with a comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734978</commentid>
    <comment_count>9</comment_count>
      <attachid>167168</attachid>
    <who name="Tab Atkins">tabatkins</who>
    <bug_when>2012-10-04 13:44:01 -0700</bug_when>
    <thetext>Created attachment 167168
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734982</commentid>
    <comment_count>10</comment_count>
      <attachid>167168</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-10-04 13:48:51 -0700</bug_when>
    <thetext>Comment on attachment 167168
Patch for landing

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

&gt; Source/WebCore/platform/graphics/FontMetrics.h:133
&gt; +    bool m_hasXHeight;

Do we care about the size of this object such that we should be stealing a bit from another member instead of adding a whole int/byte/word/whatever</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734987</commentid>
    <comment_count>11</comment_count>
    <who name="Tab Atkins">tabatkins</who>
    <bug_when>2012-10-04 13:51:27 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 167168 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=167168&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/FontMetrics.h:133
&gt; &gt; +    bool m_hasXHeight;
&gt; 
&gt; Do we care about the size of this object such that we should be stealing a bit from another member instead of adding a whole int/byte/word/whatever

I have no idea!  We shouldn&apos;t have many FontMetrics objects in a page, though, so I doubt it&apos;s much of an issue (unless I&apos;m wrong).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734995</commentid>
    <comment_count>12</comment_count>
      <attachid>167168</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-10-04 13:56:36 -0700</bug_when>
    <thetext>Comment on attachment 167168
Patch for landing

We&apos;ll have one for every instance of
    DataRef&lt;StyleInheritedData&gt; inherited;
each element which has a different value for an inherited property than it&apos;s parent will have a unique StyleInheritedData object.

I suspect this isn&apos;t a huge deal.  But I do suspect it will have a small memory effect.  The solution here is for someone to look at the overall memory usage of the style tree and make it smaller if needed.

I don&apos;t think that needs to hold up this patch however.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735174</commentid>
    <comment_count>13</comment_count>
      <attachid>167168</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-04 17:35:47 -0700</bug_when>
    <thetext>Comment on attachment 167168
Patch for landing

Clearing flags on attachment: 167168

Committed r130437: &lt;http://trac.webkit.org/changeset/130437&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735175</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-04 17:35:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>736106</commentid>
    <comment_count>15</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-10-05 17:08:59 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; Because the SVG font doesn&apos;t define an x-height metric, the &apos;ex&apos; unit for elements that use it should be sized to half the &apos;em&apos; unit.

Where does that idea come from? A specification?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>736152</commentid>
    <comment_count>16</comment_count>
    <who name="Tab Atkins">tabatkins</who>
    <bug_when>2012-10-05 18:33:23 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (In reply to comment #0)
&gt; &gt; Because the SVG font doesn&apos;t define an x-height metric, the &apos;ex&apos; unit for elements that use it should be sized to half the &apos;em&apos; unit.
&gt; 
&gt; Where does that idea come from? A specification?

Yes: http://dev.w3.org/csswg/css3-values/#ex-unit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130249</attachid>
            <date>2012-03-05 17:41:55 -0800</date>
            <delta_ts>2012-03-25 19:48:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80360-20120305174154.patch</filename>
            <type>text/plain</type>
            <size>8876</size>
            <attacher name="Tab Atkins">tabatkins</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5ODA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmFjYzRiODEzMmM5MTVj
MDU3M2YxNzZjMGVlMzFkNzQzMTc4ZTNiOS4uNGFjYTk0ZjdlNDllZDdjODc4YmJiZDE0MWRlOWJm
ZjM5MTVhYThkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTAzLTA1ICBUYWIg
QXRraW5zICA8dGFiYXRraW5zQGdvb2dsZS5jb20+CisKKyAgICAgICAgMWV4IHNob3VsZCBlcXVh
bCAuNWVtIHdoZW4gdGhlIGZvbnQgaGFzIG5vIHgtaGVpZ2h0IG1ldHJpYworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAzNjAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGVkIEZvbnRNZXRyaWNzIGFu
ZCBDU1NQcmltaXRpdmVWYWx1ZSB0byBoYXZlL3VzZSBhbiBleHBsaWNpdCAiaGFzWEhlaWdodCIg
ZmxhZyB0byBkZXRlcm1pbmUgaG93IHRvIHNpemUgYW4gJ2V4JyB1bml0LgorCisgICAgICAgIFVw
ZGF0ZWQgYSBmZXcgb2YgdGhlIHBsYXRmb3JtIGZvbnQgZmlsZXMgdG8gc2V0IHRoZSBmbGFnIHBy
b3Blcmx5LgorCisgICAgICAgIFRlc3Q6IGZhc3QvY3NzL2V4LXVuaXQtd2l0aC1uby14LWhlaWdo
dC5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5ndGhEb3VibGUpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRNZXRyaWNzLmg6CisgICAgICAgIChXZWJDb3JlOjpG
b250TWV0cmljczo6Rm9udE1ldHJpY3MpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6
OnNldFhIZWlnaHQpOgorICAgICAgICAoRm9udE1ldHJpY3MpOgorICAgICAgICAoV2ViQ29yZTo6
Rm9udE1ldHJpY3M6Omhhc1hIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6
OnNldEhhc1hIZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OnJlc2V0KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9za2lhL1NpbXBsZUZvbnREYXRhU2tpYS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS93eC93eGNvZGUvd2luL2ZvbnRwcm9wcy5jcHA6CisgICAgICAgICh3eEZv
bnRQcm9wZXJ0aWVzOjp3eEZvbnRQcm9wZXJ0aWVzKToKKwogMjAxMi0wMy0wNSAgUnlvc3VrZSBO
aXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICB1bmljb2RlLWJpZGkgc2hvdWxkIHN1
cHBvcnQgaXNvbGF0ZSBvdmVycmlkZSBhbmQgb3ZlcnJpZGUgaXNvbGF0ZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKaW5kZXggMWRkZmI3OTljNDcxY2U2MTYyMzc1MzA2
YzQ3MDIzOTY4M2M2MjA1My4uMzQ5ZWE5YmIyMzA5MmQ4MDJkOWUxYzlkYzc5NTE0MGQ1OGExZTVj
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCkBAIC00MzksNyAr
NDM5LDEwIEBAIGRvdWJsZSBDU1NQcmltaXRpdmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aERvdWJsZShS
ZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByCiAgICAgICAgICAgICAvLyBGSVhNRTog
V2UgaGF2ZSBhIGJ1ZyByaWdodCBub3cgd2hlcmUgdGhlIHpvb20gd2lsbCBiZSBhcHBsaWVkIHR3
aWNlIHRvIEVYIHVuaXRzLgogICAgICAgICAgICAgLy8gV2UgcmVhbGx5IG5lZWQgdG8gY29tcHV0
ZSBFWCB1c2luZyBmb250TWV0cmljcyBmb3IgdGhlIG9yaWdpbmFsIHNwZWNpZmllZFNpemUgYW5k
IG5vdCB1c2UKICAgICAgICAgICAgIC8vIG91ciBhY3R1YWwgY29uc3RydWN0ZWQgcmVuZGVyaW5n
IGZvbnQuCi0gICAgICAgICAgICBmYWN0b3IgPSBzdHlsZS0+Zm9udE1ldHJpY3MoKS54SGVpZ2h0
KCk7CisgICAgICAgICAgICBpZiAoc3R5bGUtPmZvbnRNZXRyaWNzKCkuaGFzWEhlaWdodCgpKQor
ICAgICAgICAgICAgICAgIGZhY3RvciA9IHN0eWxlLT5mb250TWV0cmljcygpLnhIZWlnaHQoKTsK
KyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBmYWN0b3IgPSAoY29tcHV0aW5nRm9u
dFNpemUgPyBzdHlsZS0+Zm9udERlc2NyaXB0aW9uKCkuc3BlY2lmaWVkU2l6ZSgpIDogc3R5bGUt
PmZvbnREZXNjcmlwdGlvbigpLmNvbXB1dGVkU2l6ZSgpKSAvIDIuMDsKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICBjYXNlIENTU19SRU1TOgogICAgICAgICAgICAgaWYgKHJvb3RTdHlsZSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRNZXRyaWNz
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oCmluZGV4
IDVmZTQwOGJiNjcxMTRkMzYxYTg3MzU0MjViYTdkYjFjYzYwZTk1NzguLmIxZjcxNDUwNDcwMzlm
YjliNzg3OWJkNDMyYWFmM2FmZDZjODBmNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRNZXRyaWNzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udE1ldHJpY3MuaApAQCAtMzUsNiArMzUsNyBAQCBwdWJsaWM6CiAgICAg
ICAgICwgbV9saW5lR2FwKDApCiAgICAgICAgICwgbV9saW5lU3BhY2luZygwKQogICAgICAgICAs
IG1feEhlaWdodCgwKQorICAgICAgICAsIG1faGFzWEhlaWdodChmYWxzZSkKICAgICB7CiAgICAg
fQogCkBAIC03MSw3ICs3MiwxNCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRMaW5lU3BhY2luZyhm
bG9hdCBsaW5lU3BhY2luZykgeyBtX2xpbmVTcGFjaW5nID0gbGluZVNwYWNpbmc7IH0KIAogICAg
IGZsb2F0IHhIZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX3hIZWlnaHQ7IH0KLSAgICB2b2lkIHNl
dFhIZWlnaHQoZmxvYXQgeEhlaWdodCkgeyBtX3hIZWlnaHQgPSB4SGVpZ2h0OyB9CisgICAgdm9p
ZCBzZXRYSGVpZ2h0KGZsb2F0IHhIZWlnaHQpIAorICAgIHsgCisgICAgICAgIG1feEhlaWdodCA9
IHhIZWlnaHQ7CisgICAgICAgIG1faGFzWEhlaWdodCA9IHRydWU7CisgICAgfQorCisgICAgYm9v
bCBoYXNYSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbV9oYXNYSGVpZ2h0ICYmIG1feEhlaWdodCA+
IDA7IH0KKyAgICB2b2lkIHNldEhhc1hIZWlnaHQoYm9vbCBoYXNYSGVpZ2h0KSB7IG1faGFzWEhl
aWdodCA9IGhhc1hIZWlnaHQ7IH0KIAogICAgIC8vIEludGVnZXIgdmFyaWFudHMgb2YgY2VydGFp
biBtZXRyaWNzLCB1c2VkIGZvciBIVE1MIHJlbmRlcmluZy4KICAgICBpbnQgYXNjZW50KEZvbnRC
YXNlbGluZSBiYXNlbGluZVR5cGUgPSBBbHBoYWJldGljQmFzZWxpbmUpIGNvbnN0CkBAIC0xMTIs
NiArMTIwLDcgQEAgcHJpdmF0ZToKICAgICAgICAgbV9saW5lR2FwID0gMDsKICAgICAgICAgbV9s
aW5lU3BhY2luZyA9IDA7CiAgICAgICAgIG1feEhlaWdodCA9IDA7CisgICAgICAgIG1faGFzWEhl
aWdodCA9IGZhbHNlOwogICAgIH0KIAogICAgIHVuc2lnbmVkIG1fdW5pdHNQZXJFbTsKQEAgLTEy
MCw2ICsxMjksNyBAQCBwcml2YXRlOgogICAgIGZsb2F0IG1fbGluZUdhcDsKICAgICBmbG9hdCBt
X2xpbmVTcGFjaW5nOwogICAgIGZsb2F0IG1feEhlaWdodDsKKyAgICBib29sIG1faGFzWEhlaWdo
dDsKIH07CiAKIHN0YXRpYyBpbmxpbmUgZmxvYXQgc2NhbGVFbVRvVW5pdHMoZmxvYXQgeCwgdW5z
aWduZWQgdW5pdHNQZXJFbSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3NraWEvU2ltcGxlRm9udERhdGFTa2lhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3NraWEvU2ltcGxlRm9udERhdGFTa2lhLmNwcAppbmRleCA3ODJiMDJmYTkz
MjdiN2JmNjc4ODcwNzBlMDE0ZTkzOTFiYmU3MWUxLi40YTM0OTQ4MTk3MzQ1MDdiNDQ3YzEzYmRi
M2UyN2Y3YjBiZWUxMTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9za2lhL1NpbXBsZUZvbnREYXRhU2tpYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvc2tpYS9TaW1wbGVGb250RGF0YVNraWEuY3BwCkBAIC0xMDAsMTYgKzEw
MCwxOCBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgIG1fZm9udE1l
dHJpY3Muc2V0RGVzY2VudChkZXNjZW50KTsKIAogICAgIGZsb2F0IHhIZWlnaHQ7Ci0gICAgaWYg
KG1ldHJpY3MuZlhIZWlnaHQpCisgICAgaWYgKG1ldHJpY3MuZlhIZWlnaHQpIHsKICAgICAgICAg
eEhlaWdodCA9IG1ldHJpY3MuZlhIZWlnaHQ7Ci0gICAgZWxzZSB7Ci0gICAgICAgIC8vIGhhY2sg
dGFrZW4gZnJvbSB0aGUgV2luZG93cyBwb3J0Ci0gICAgICAgIHhIZWlnaHQgPSBhc2NlbnQgKiAw
LjU2ZjsKKyAgICAgICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHhIZWlnaHQpOworICAgIH0g
ZWxzZSB7CisgICAgICAgIHhIZWlnaHQgPSBhc2NlbnQgKiAwLjU2OyAvLyBCZXN0IGd1ZXNzIGZy
b20gV2luZG93cyBmb250IG1ldHJpY3MuCisgICAgICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdo
dCh4SGVpZ2h0KTsKKyAgICAgICAgbV9mb250TWV0cmljcy5zZXRIYXNYSGVpZ2h0KGZhbHNlKTsK
ICAgICB9CiAKKwogICAgIGZsb2F0IGxpbmVHYXAgPSBTa1NjYWxhclRvRmxvYXQobWV0cmljcy5m
TGVhZGluZyk7CiAgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGxpbmVHYXApOwotICAgIG1f
Zm9udE1ldHJpY3Muc2V0WEhlaWdodCh4SGVpZ2h0KTsKICAgICBtX2ZvbnRNZXRyaWNzLnNldExp
bmVTcGFjaW5nKGxyb3VuZGYoYXNjZW50KSArIGxyb3VuZGYoZGVzY2VudCkgKyBscm91bmRmKGxp
bmVHYXApKTsKIAogICAgIGlmIChwbGF0Zm9ybURhdGEoKS5vcmllbnRhdGlvbigpID09IFZlcnRp
Y2FsICYmICFpc1RleHRPcmllbnRhdGlvbkZhbGxiYWNrKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3d4L3d4Y29kZS93aW4vZm9udHByb3BzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3d4L3d4Y29kZS93aW4vZm9udHByb3BzLmNwcAppbmRleCBmM2U0ZmRh
NzAzZTk5NWI5ZjkxZTBkMjA5ZWEyOTgzMGM0MjU1MGM0Li45NDQwYjZiMjNhMmFiZGY0Y2VhZDVk
ZTljNjA2ZmU5OTY3OTIxNzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93
eC93eGNvZGUvd2luL2ZvbnRwcm9wcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
d3gvd3hjb2RlL3dpbi9mb250cHJvcHMuY3BwCkBAIC01OCw4ICs1OCw3IEBAIG1fYXNjZW50KDAp
LCBtX2Rlc2NlbnQoMCksIG1fbGluZUdhcCgwKSwgbV9saW5lU3BhY2luZygwKSwgbV94SGVpZ2h0
KDApCiAgICAgICAgIEdldFRleHRNZXRyaWNzKGRjLCAmdG0pOwogICAgICAgICBtX2FzY2VudCA9
IGxyb3VuZGYodG0udG1Bc2NlbnQpOwogICAgICAgICBtX2Rlc2NlbnQgPSBscm91bmRmKHRtLnRt
RGVzY2VudCk7Ci0gICAgICAgIG1feEhlaWdodCA9IG1fYXNjZW50ICogMC41NmY7ICAvLyBCZXN0
IGd1ZXNzIGZvciB4SGVpZ2h0IGZvciBub24tVHJ1ZXR5cGUgZm9udHMuCi0gICAgICAgIG1fbGlu
ZUdhcCA9IGxyb3VuZGYodG0udG1FeHRlcm5hbExlYWRpbmcpOworICAgICAgICBtX3hIZWlnaHQg
PSBtX2FzY2VudCAqIDAuNTZmOyAvLyBCZXN0IGd1ZXNzIGZvciB4SGVpZ2h0IGZvciBub24tVHJ1
ZXR5cGUgZm9udHMuMDtscm91bmRmKHRtLnRtRXh0ZXJuYWxMZWFkaW5nKTsKICAgICAgICAgbV9s
aW5lU3BhY2luZyA9IG1fbGluZUdhcCArIG1fYXNjZW50ICsgbV9kZXNjZW50OwogICAgIH0KICAg
ICBSZXN0b3JlREMoZGMsIC0xKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkN2RjMDFkNzA3MDQ3NTY3ZjYxNDI1ZTcwMTlh
MmQxZTZmOTI3ZDk2Li44NDNhODgzYWU2M2Q1YThhNDU2OGZlMjgwMDcwZTBlZTcwYTU3YmZmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDMtMDUgIFRhYiBBdGtpbnMgIDx0YWJhdGtpbnNA
Z29vZ2xlLmNvbT4KKworICAgICAgICAxZXggc2hvdWxkIGVxdWFsIC41ZW0gd2hlbiB0aGUgZm9u
dCBoYXMgbm8geC1oZWlnaHQgbWV0cmljCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04MDM2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIElmIGEgZm9udCBoYXMgbm8geC1oZWlnaHQgbWV0cmljLCAxZXggc2hv
dWxkIGVxdWFsIC41ZW0uCisKKyAgICAgICAgKiBmYXN0L2Nzcy9leC11bml0LXdpdGgtbm8teC1o
ZWlnaHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9leC11bml0LXdp
dGgtbm8teC1oZWlnaHQuaHRtbDogQWRkZWQuCisKIDIwMTItMDMtMDIgIFJ5b3N1a2UgTml3YSAg
PHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgdW5pY29kZS1iaWRpIHNob3VsZCBzdXBwb3J0
IGlzb2xhdGUgb3ZlcnJpZGUgYW5kIG92ZXJyaWRlIGlzb2xhdGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvY3NzL2V4LXVuaXQtd2l0aC1uby14LWhlaWdodC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy9leC11bml0LXdpdGgtbm8teC1oZWlnaHQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjYyNzk4ODBjMWJmZjY2ZmNmZjljYmUyNDNiMTBkODI3MTk2YTQzNmUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9leC11bml0LXdpdGgtbm8teC1o
ZWlnaHQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK1RoaXMgdGVzdCBlbnN1cmVzIHRo
YXQgdGhlIENTUyAnZXgnIHVuaXQgaXMgdHJlYXRlZCBhcyBoYWxmIHRoZSBzaXplIG9mIHRoZSBD
U1MgJ2VtJyB1bml0IHdoZW4gYSBmb250IGhhcyBubyB4LWhlaWdodCBpbmZvcm1hdGlvbi4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbWVhc3VyZUV4Qm94KCk7IGlzICc1
MHB4JworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2V4LXVuaXQtd2l0aC1uby14LWhlaWdo
dC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZXgtdW5pdC13aXRoLW5vLXgtaGVpZ2h0Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uY2U2OWFkYzFjODllYjM5MjNjMTMyMWRlNzRlMjNlNzJiZjQ1ZTBiNQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2V4LXVuaXQtd2l0aC1uby14
LWhlaWdodC5odG1sCkBAIC0wLDAgKzEsMzcgQEAKKzwhZG9jdHlwZSBodG1sPgorPHN2ZyB4bWxu
cyA9ICdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgc3R5bGU9J2Rpc3BsYXk6bm9uZSc+Cisg
IDxkZWZzPgorICAgIDxmb250IGlkPSJGb250MSI+CisgICAgICA8Zm9udC1mYWNlIGZvbnQtZmFt
aWx5PSJibG9jayIgLz4KKyAgICA8L2ZvbnQ+CisgIDwvZGVmcz4KKzwvc3ZnPgorCis8c3R5bGU+
CisuZW0geyBoZWlnaHQ6IC41ZW07IHdpZHRoOiAuNWVtOyB9CisuZXggeyBoZWlnaHQ6IDFleDsg
d2lkdGg6IDFleDsgfQorLmNvdmVyIHsgYmFja2dyb3VuZDogZ3JlZW47IH0KKy5iYWNrIHsgYmFj
a2dyb3VuZDogcmVkOyB9Cisub25lIHsgbGVmdDogMTBweDsgfQorLnR3byB7IGxlZnQ6IDcwcHg7
IH0KKyN0ZXN0ID4gZGl2IHsgZm9udC1mYW1pbHk6IGJsb2NrOyBmb250LXNpemU6IDEwMHB4OyBw
b3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTBweDsgfQorPC9zdHlsZT4KKworPGRpdiBpZD0ndGVz
dCc+CisgIDxkaXYgY2xhc3M9J2JhY2sgZW0gb25lJz48L2Rpdj4KKyAgPGRpdiBjbGFzcz0nY292
ZXIgZXggb25lJyBpZD0nZXgnPjwvZGl2PgorCisgIDxkaXYgY2xhc3M9J2JhY2sgZXggdHdvJz48
L2Rpdj4KKyAgPGRpdiBjbGFzcz0nY292ZXIgZW0gdHdvJz48L2Rpdj4KKzwvZGl2PgorPHNjcmlw
dCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
PgorZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBlbnN1cmVzIHRoYXQgdGhlIENTUyAnZXgnIHVuaXQg
aXMgdHJlYXRlZCBhcyBoYWxmIHRoZSBzaXplIG9mIHRoZSBDU1MgJ2VtJyB1bml0IHdoZW4gYSBm
b250IGhhcyBubyB4LWhlaWdodCBpbmZvcm1hdGlvbi4iKQorCitmdW5jdGlvbiBtZWFzdXJlRXhC
b3goKSB7CisgIHJldHVybiBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdleCcpKS53aWR0aDsKK30KKworc2hvdWxkQmUoIm1lYXN1cmVFeEJveCgpOyIsICInNTBweCci
KQorPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133724</attachid>
            <date>2012-03-25 19:48:43 -0700</date>
            <delta_ts>2012-10-04 13:43:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80360-20120326134841.patch</filename>
            <type>text/plain</type>
            <size>7985</size>
            <attacher name="David Barr">davidbarr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNjA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzY2YTU4Y2MzOGVjOWQ2
ODBjNDlhN2JmY2Y1Y2Y0ZDZiNmNiMzI3OS4uNTE2OGMzZDgyNTQ2YWJiOGYyZDY4NDhjMjRmZjJm
MGQ2Mzk5YzNhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTAzLTA1ICBUYWIg
QXRraW5zICA8dGFiYXRraW5zQGdvb2dsZS5jb20+CisKKyAgICAgICAgMWV4IHNob3VsZCBlcXVh
bCAuNWVtIHdoZW4gdGhlIGZvbnQgaGFzIG5vIHgtaGVpZ2h0IG1ldHJpYworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAzNjAKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGVkIEZvbnRNZXRyaWNzIGFu
ZCBDU1NQcmltaXRpdmVWYWx1ZSB0byBoYXZlL3VzZSBhbiBleHBsaWNpdCAiaGFzWEhlaWdodCIg
ZmxhZyB0byBkZXRlcm1pbmUgaG93IHRvIHNpemUgYW4gJ2V4JyB1bml0LgorCisgICAgICAgIFVw
ZGF0ZWQgYSBmZXcgb2YgdGhlIHBsYXRmb3JtIGZvbnQgZmlsZXMgdG8gc2V0IHRoZSBmbGFnIHBy
b3Blcmx5LgorCisgICAgICAgIFBhdGNoIGNsZWFudXAgYnkgRGF2aWQgQmFyciA8ZGF2aWRiYXJy
QGNocm9taXVtLm9yZz4uCisKKyAgICAgICAgVGVzdDogZmFzdC9jc3MvZXgtdW5pdC13aXRoLW5v
LXgtaGVpZ2h0Lmh0bWwKKworICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aERvdWJsZSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udE1ldHJpY3MuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkZvbnRNZXRyaWNzOjpGb250TWV0cmljcyk6CisgICAgICAgIChXZWJDb3JlOjpGb250
TWV0cmljczo6c2V0WEhlaWdodCk6CisgICAgICAgIChGb250TWV0cmljcyk6CisgICAgICAgIChX
ZWJDb3JlOjpGb250TWV0cmljczo6aGFzWEhlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpGb250
TWV0cmljczo6c2V0SGFzWEhlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6
cmVzZXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3NraWEvU2ltcGxlRm9udERhdGFT
a2lhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQp
OgorCiAyMDEyLTAzLTIxICBNYXJrIFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBSZWFscGhhYmV0aXplIGFib3V0IHdlYmF1ZGlvIG1vdmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCmluZGV4IDEwNWIwODcxOTJhYTI0YjNkYjgxZTYyMDc2
NDRkZDgxNzdhNmI5ZTguLjk0ZTRiMzQ3MWNkZWJjNDhmNDQxY2Y0ZWFiMDBkM2ExODViNDNkMzQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcApAQCAtNDE5LDcgKzQx
OSwxMCBAQCBkb3VibGUgQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5ndGhEb3VibGUoUmVu
ZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcgogICAgICAgICAgICAgLy8gRklYTUU6IFdl
IGhhdmUgYSBidWcgcmlnaHQgbm93IHdoZXJlIHRoZSB6b29tIHdpbGwgYmUgYXBwbGllZCB0d2lj
ZSB0byBFWCB1bml0cy4KICAgICAgICAgICAgIC8vIFdlIHJlYWxseSBuZWVkIHRvIGNvbXB1dGUg
RVggdXNpbmcgZm9udE1ldHJpY3MgZm9yIHRoZSBvcmlnaW5hbCBzcGVjaWZpZWRTaXplIGFuZCBu
b3QgdXNlCiAgICAgICAgICAgICAvLyBvdXIgYWN0dWFsIGNvbnN0cnVjdGVkIHJlbmRlcmluZyBm
b250LgotICAgICAgICAgICAgZmFjdG9yID0gc3R5bGUtPmZvbnRNZXRyaWNzKCkueEhlaWdodCgp
OworICAgICAgICAgICAgaWYgKHN0eWxlLT5mb250TWV0cmljcygpLmhhc1hIZWlnaHQoKSkKKyAg
ICAgICAgICAgICAgICBmYWN0b3IgPSBzdHlsZS0+Zm9udE1ldHJpY3MoKS54SGVpZ2h0KCk7Cisg
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgZmFjdG9yID0gKGNvbXB1dGluZ0ZvbnRT
aXplID8gc3R5bGUtPmZvbnREZXNjcmlwdGlvbigpLnNwZWNpZmllZFNpemUoKSA6IHN0eWxlLT5m
b250RGVzY3JpcHRpb24oKS5jb21wdXRlZFNpemUoKSkgLyAyLjA7CiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgY2FzZSBDU1NfUkVNUzoKICAgICAgICAgICAgIGlmIChyb290U3R5bGUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udE1ldHJpY3MuaAppbmRleCA1
ZmU0MDhiYjY3MTE0ZDM2MWE4NzM1NDI1YmE3ZGIxY2M2MGU5NTc4Li5iMWY3MTQ1MDQ3MDM5ZmI5
Yjc4NzliZDQzMmFhZjNhZmQ2YzgwZjVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRNZXRyaWNzLmgKQEAgLTM1LDYgKzM1LDcgQEAgcHVibGljOgogICAgICAg
ICAsIG1fbGluZUdhcCgwKQogICAgICAgICAsIG1fbGluZVNwYWNpbmcoMCkKICAgICAgICAgLCBt
X3hIZWlnaHQoMCkKKyAgICAgICAgLCBtX2hhc1hIZWlnaHQoZmFsc2UpCiAgICAgewogICAgIH0K
IApAQCAtNzEsNyArNzIsMTQgQEAgcHVibGljOgogICAgIHZvaWQgc2V0TGluZVNwYWNpbmcoZmxv
YXQgbGluZVNwYWNpbmcpIHsgbV9saW5lU3BhY2luZyA9IGxpbmVTcGFjaW5nOyB9CiAKICAgICBm
bG9hdCB4SGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbV94SGVpZ2h0OyB9Ci0gICAgdm9pZCBzZXRY
SGVpZ2h0KGZsb2F0IHhIZWlnaHQpIHsgbV94SGVpZ2h0ID0geEhlaWdodDsgfQorICAgIHZvaWQg
c2V0WEhlaWdodChmbG9hdCB4SGVpZ2h0KSAKKyAgICB7IAorICAgICAgICBtX3hIZWlnaHQgPSB4
SGVpZ2h0OworICAgICAgICBtX2hhc1hIZWlnaHQgPSB0cnVlOworICAgIH0KKworICAgIGJvb2wg
aGFzWEhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzWEhlaWdodCAmJiBtX3hIZWlnaHQgPiAw
OyB9CisgICAgdm9pZCBzZXRIYXNYSGVpZ2h0KGJvb2wgaGFzWEhlaWdodCkgeyBtX2hhc1hIZWln
aHQgPSBoYXNYSGVpZ2h0OyB9CiAKICAgICAvLyBJbnRlZ2VyIHZhcmlhbnRzIG9mIGNlcnRhaW4g
bWV0cmljcywgdXNlZCBmb3IgSFRNTCByZW5kZXJpbmcuCiAgICAgaW50IGFzY2VudChGb250QmFz
ZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxwaGFiZXRpY0Jhc2VsaW5lKSBjb25zdApAQCAtMTEyLDYg
KzEyMCw3IEBAIHByaXZhdGU6CiAgICAgICAgIG1fbGluZUdhcCA9IDA7CiAgICAgICAgIG1fbGlu
ZVNwYWNpbmcgPSAwOwogICAgICAgICBtX3hIZWlnaHQgPSAwOworICAgICAgICBtX2hhc1hIZWln
aHQgPSBmYWxzZTsKICAgICB9CiAKICAgICB1bnNpZ25lZCBtX3VuaXRzUGVyRW07CkBAIC0xMjAs
NiArMTI5LDcgQEAgcHJpdmF0ZToKICAgICBmbG9hdCBtX2xpbmVHYXA7CiAgICAgZmxvYXQgbV9s
aW5lU3BhY2luZzsKICAgICBmbG9hdCBtX3hIZWlnaHQ7CisgICAgYm9vbCBtX2hhc1hIZWlnaHQ7
CiB9OwogCiBzdGF0aWMgaW5saW5lIGZsb2F0IHNjYWxlRW1Ub1VuaXRzKGZsb2F0IHgsIHVuc2ln
bmVkIHVuaXRzUGVyRW0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9za2lhL1NpbXBsZUZvbnREYXRhU2tpYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9za2lhL1NpbXBsZUZvbnREYXRhU2tpYS5jcHAKaW5kZXggNzgyYjAyZmE5MzI3
YjdiZjY3ODg3MDcwZTAxNGU5MzkxYmJlNzFlMS4uNGEzNDk0ODE5NzM0NTA3YjQ0N2MxM2JkYjNl
MjdmN2IwYmVlMTEyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvc2tpYS9TaW1wbGVGb250RGF0YVNraWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3NraWEvU2ltcGxlRm9udERhdGFTa2lhLmNwcApAQCAtMTAwLDE2ICsxMDAs
MTggQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICBtX2ZvbnRNZXRy
aWNzLnNldERlc2NlbnQoZGVzY2VudCk7CiAKICAgICBmbG9hdCB4SGVpZ2h0OwotICAgIGlmICht
ZXRyaWNzLmZYSGVpZ2h0KQorICAgIGlmIChtZXRyaWNzLmZYSGVpZ2h0KSB7CiAgICAgICAgIHhI
ZWlnaHQgPSBtZXRyaWNzLmZYSGVpZ2h0OwotICAgIGVsc2UgewotICAgICAgICAvLyBoYWNrIHRh
a2VuIGZyb20gdGhlIFdpbmRvd3MgcG9ydAotICAgICAgICB4SGVpZ2h0ID0gYXNjZW50ICogMC41
NmY7CisgICAgICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodCh4SGVpZ2h0KTsKKyAgICB9IGVs
c2UgeworICAgICAgICB4SGVpZ2h0ID0gYXNjZW50ICogMC41NjsgLy8gQmVzdCBndWVzcyBmcm9t
IFdpbmRvd3MgZm9udCBtZXRyaWNzLgorICAgICAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWlnaHQo
eEhlaWdodCk7CisgICAgICAgIG1fZm9udE1ldHJpY3Muc2V0SGFzWEhlaWdodChmYWxzZSk7CiAg
ICAgfQogCisKICAgICBmbG9hdCBsaW5lR2FwID0gU2tTY2FsYXJUb0Zsb2F0KG1ldHJpY3MuZkxl
YWRpbmcpOwogICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChsaW5lR2FwKTsKLSAgICBtX2Zv
bnRNZXRyaWNzLnNldFhIZWlnaHQoeEhlaWdodCk7CiAgICAgbV9mb250TWV0cmljcy5zZXRMaW5l
U3BhY2luZyhscm91bmRmKGFzY2VudCkgKyBscm91bmRmKGRlc2NlbnQpICsgbHJvdW5kZihsaW5l
R2FwKSk7CiAKICAgICBpZiAocGxhdGZvcm1EYXRhKCkub3JpZW50YXRpb24oKSA9PSBWZXJ0aWNh
bCAmJiAhaXNUZXh0T3JpZW50YXRpb25GYWxsYmFjaygpKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTQwZTE5NDE5ZmY2
MzczZjk2NDQzMzkzNzRhNTdkOTkzNTc1YmRkOS4uYTNmNTk3OTYwYTU1MzQyNThjZGVhYTlmOGQ2
YWI1YWVhYTNmNGUzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTAzLTA1ICBUYWIgQXRr
aW5zICA8dGFiYXRraW5zQGdvb2dsZS5jb20+CisKKyAgICAgICAgMWV4IHNob3VsZCBlcXVhbCAu
NWVtIHdoZW4gdGhlIGZvbnQgaGFzIG5vIHgtaGVpZ2h0IG1ldHJpYworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAzNjAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJZiBhIGZvbnQgaGFzIG5vIHgtaGVpZ2h0
IG1ldHJpYywgMWV4IHNob3VsZCBlcXVhbCAuNWVtLgorCisgICAgICAgIFRlc3QgbGF5b3V0IHR3
ZWFrZWQgYnkgRGF2aWQgQmFyciA8ZGF2aWRiYXJyQGNocm9taXVtLm9yZz4uCisKKyAgICAgICAg
KiBmYXN0L2Nzcy9leC11bml0LXdpdGgtbm8teC1oZWlnaHQtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2Nzcy9leC11bml0LXdpdGgtbm8teC1oZWlnaHQuaHRtbDogQWRkZWQu
CisKIDIwMTItMDMtMjEgIFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFVucmV2aWV3ZWQsIHNraXAgc29tZSBmbGFreSB0ZXN0cyBvbiBHVEsuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9leC11bml0LXdpdGgtbm8teC1oZWlnaHQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZXgtdW5pdC13aXRoLW5vLXgtaGVpZ2h0
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42Mjc5ODgwYzFiZmY2NmZjZmY5Y2JlMjQzYjEwZDgy
NzE5NmE0MzZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZXgtdW5p
dC13aXRoLW5vLXgtaGVpZ2h0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUaGlzIHRl
c3QgZW5zdXJlcyB0aGF0IHRoZSBDU1MgJ2V4JyB1bml0IGlzIHRyZWF0ZWQgYXMgaGFsZiB0aGUg
c2l6ZSBvZiB0aGUgQ1NTICdlbScgdW5pdCB3aGVuIGEgZm9udCBoYXMgbm8geC1oZWlnaHQgaW5m
b3JtYXRpb24uCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIG1lYXN1cmVF
eEJveCgpOyBpcyAnNTBweCcKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9leC11bml0LXdp
dGgtbm8teC1oZWlnaHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2V4LXVuaXQtd2l0aC1u
by14LWhlaWdodC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhYWI4ZWJkOGEyNmYxMzE1NTc1NzFjOTU4M2Vk
OWYxMjBhNTY1NWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9leC11
bml0LXdpdGgtbm8teC1oZWlnaHQuaHRtbApAQCAtMCwwICsxLDM4IEBACis8IWRvY3R5cGUgaHRt
bD4KKzxzdmcgeG1sbnMgPSAnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHN0eWxlPSdkaXNw
bGF5Om5vbmUnPgorICA8ZGVmcz4KKyAgICA8Zm9udCBpZD0iRm9udDEiPgorICAgICAgPGZvbnQt
ZmFjZSBmb250LWZhbWlseT0iYmxvY2siIC8+CisgICAgPC9mb250PgorICA8L2RlZnM+Cis8L3N2
Zz4KKworPHN0eWxlPgorLmVtIHsgaGVpZ2h0OiAuNWVtOyB3aWR0aDogLjVlbTsgfQorLmV4IHsg
aGVpZ2h0OiAxZXg7IHdpZHRoOiAxZXg7IH0KKy5jb3ZlciB7IGJhY2tncm91bmQ6IGdyZWVuOyB9
CisuYmFjayB7IGJhY2tncm91bmQ6IHJlZDsgfQorLm9uZSB7IGxlZnQ6IDEwcHg7IH0KKy50d28g
eyBsZWZ0OiA3MHB4OyB9CisjdGVzdCA+IGRpdiB7IGZvbnQtZmFtaWx5OiBibG9jazsgZm9udC1z
aXplOiAxMDBweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEwcHg7IH0KKyNkZXNjcmlwdGlv
biB7IG1hcmdpbi10b3A6IDcwcHg7IH0KKzwvc3R5bGU+CisKKzxkaXYgaWQ9J3Rlc3QnPgorICA8
ZGl2IGNsYXNzPSdiYWNrIGVtIG9uZSc+PC9kaXY+CisgIDxkaXYgY2xhc3M9J2NvdmVyIGV4IG9u
ZScgaWQ9J2V4Jz48L2Rpdj4KKworICA8ZGl2IGNsYXNzPSdiYWNrIGV4IHR3byc+PC9kaXY+Cisg
IDxkaXYgY2xhc3M9J2NvdmVyIGVtIHR3byc+PC9kaXY+Cis8L2Rpdj4KKzxzY3JpcHQgc3JjPSIu
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Rlc2Ny
aXB0aW9uKCJUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IHRoZSBDU1MgJ2V4JyB1bml0IGlzIHRyZWF0
ZWQgYXMgaGFsZiB0aGUgc2l6ZSBvZiB0aGUgQ1NTICdlbScgdW5pdCB3aGVuIGEgZm9udCBoYXMg
bm8geC1oZWlnaHQgaW5mb3JtYXRpb24uIikKKworZnVuY3Rpb24gbWVhc3VyZUV4Qm94KCkgewor
ICByZXR1cm4gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXgnKSku
d2lkdGg7Cit9CisKK3Nob3VsZEJlKCJtZWFzdXJlRXhCb3goKTsiLCAiJzUwcHgnIikKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167168</attachid>
            <date>2012-10-04 13:44:01 -0700</date>
            <delta_ts>2012-10-05 17:09:54 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-80360-20121004134311.patch</filename>
            <type>text/plain</type>
            <size>8000</size>
            <attacher name="Tab Atkins">tabatkins</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwNDE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTE3ZTQyMjgyZjBkODg1
YzhlN2M4ZWIyZjEzYzJmMzBiNmU5Y2U3OS4uY2Y4YmI5YmQ5ZWQ4MTUxY2JmZTczY2YxMjhmNzA0
NmNmNTczNWRlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTEwLTA0ICBUYWIg
QXRraW5zICA8dGFiYXRraW5zQGdvb2dsZS5jb20+CisKKyAgICAgICAgMWV4IHNob3VsZCBlcXVh
bCAuNWVtIHdoZW4gdGhlIGZvbnQgaGFzIG5vIHgtaGVpZ2h0IG1ldHJpYworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAzNjAKKworICAgICAgICBSZXZp
ZXdlZCBieSBFcmljIFNlaWRlbC4KKworICAgICAgICBVcGRhdGVkIEZvbnRNZXRyaWNzIGFuZCBD
U1NQcmltaXRpdmVWYWx1ZSB0byBoYXZlL3VzZSBhbiBleHBsaWNpdCAiaGFzWEhlaWdodCIgZmxh
ZyB0byBkZXRlcm1pbmUgaG93IHRvIHNpemUgYW4gJ2V4JyB1bml0LgorCisgICAgICAgIFVwZGF0
ZWQgYSBmZXcgb2YgdGhlIHBsYXRmb3JtIGZvbnQgZmlsZXMgdG8gc2V0IHRoZSBmbGFnIHByb3Bl
cmx5LgorCisgICAgICAgIFBhdGNoIGNsZWFudXAgYnkgRGF2aWQgQmFyciA8ZGF2aWRiYXJyQGNo
cm9taXVtLm9yZz4uCisKKyAgICAgICAgVGVzdDogZmFzdC9jc3MvZXgtdW5pdC13aXRoLW5vLXgt
aGVpZ2h0Lmh0bWwKKworICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aERvdWJsZSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udE1ldHJpY3MuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkZvbnRNZXRyaWNzOjpGb250TWV0cmljcyk6CisgICAgICAgIChXZWJDb3JlOjpGb250TWV0
cmljczo6c2V0WEhlaWdodCk6CisgICAgICAgIChGb250TWV0cmljcyk6CisgICAgICAgIChXZWJD
b3JlOjpGb250TWV0cmljczo6aGFzWEhlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpGb250TWV0
cmljczo6c2V0SGFzWEhlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6cmVz
ZXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3NraWEvU2ltcGxlRm9udERhdGFTa2lh
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQpOgor
CiAyMDEyLTEwLTA0ICBBbHBoYSBMYW0gIDxoY2xhbUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
W3NraWFdIERyYXdpbmcgYSBzdWJyZWN0IG9mIGJpdG1hcCBpbWFnZSBpcyBtaXNhbGlnbmVkCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAppbmRleCA1Y2E3Y2ViOTIwZTA5
OTI4YjExOTBjNTIzZmMyMGI4YjcwZjYxN2E4Li4wNjg2OTdmYjBjZjBhNmIwZTNhMDIzZWI5MTA4
MWFlNWEyNTlmZWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAK
QEAgLTUyMiw3ICs1MjIsMTAgQEAgZG91YmxlIENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVu
Z3RoRG91YmxlKFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHIKICAgICAgICAgICAg
IC8vIEZJWE1FOiBXZSBoYXZlIGEgYnVnIHJpZ2h0IG5vdyB3aGVyZSB0aGUgem9vbSB3aWxsIGJl
IGFwcGxpZWQgdHdpY2UgdG8gRVggdW5pdHMuCiAgICAgICAgICAgICAvLyBXZSByZWFsbHkgbmVl
ZCB0byBjb21wdXRlIEVYIHVzaW5nIGZvbnRNZXRyaWNzIGZvciB0aGUgb3JpZ2luYWwgc3BlY2lm
aWVkU2l6ZSBhbmQgbm90IHVzZQogICAgICAgICAgICAgLy8gb3VyIGFjdHVhbCBjb25zdHJ1Y3Rl
ZCByZW5kZXJpbmcgZm9udC4KLSAgICAgICAgICAgIGZhY3RvciA9IHN0eWxlLT5mb250TWV0cmlj
cygpLnhIZWlnaHQoKTsKKyAgICAgICAgICAgIGlmIChzdHlsZS0+Zm9udE1ldHJpY3MoKS5oYXNY
SGVpZ2h0KCkpCisgICAgICAgICAgICAgICAgZmFjdG9yID0gc3R5bGUtPmZvbnRNZXRyaWNzKCku
eEhlaWdodCgpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGZhY3RvciA9IChj
b21wdXRpbmdGb250U2l6ZSA/IHN0eWxlLT5mb250RGVzY3JpcHRpb24oKS5zcGVjaWZpZWRTaXpl
KCkgOiBzdHlsZS0+Zm9udERlc2NyaXB0aW9uKCkuY29tcHV0ZWRTaXplKCkpIC8gMi4wOwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ1NTX1JFTVM6CiAgICAgICAgICAgICBpZiAo
cm9vdFN0eWxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udE1ldHJpY3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRNZXRy
aWNzLmgKaW5kZXggMTFiMDYyOTE4MjFlMTUxNWRlMDFmZGU0Yzc4NTY1ZTRlNWZkNGI2MC4uNzk4
MWQ4ZWVhZDUzYWQ4ZWI5MmZmZTc1NjEzNDE3ODRmZWNiZmUzNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udE1ldHJpY3MuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oCkBAIC0zNiw2ICszNiw3IEBAIHB1
YmxpYzoKICAgICAgICAgLCBtX2xpbmVHYXAoMCkKICAgICAgICAgLCBtX2xpbmVTcGFjaW5nKDAp
CiAgICAgICAgICwgbV94SGVpZ2h0KDApCisgICAgICAgICwgbV9oYXNYSGVpZ2h0KGZhbHNlKQog
ICAgIHsKICAgICB9CiAKQEAgLTcyLDcgKzczLDE0IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldExp
bmVTcGFjaW5nKGZsb2F0IGxpbmVTcGFjaW5nKSB7IG1fbGluZVNwYWNpbmcgPSBsaW5lU3BhY2lu
ZzsgfQogCiAgICAgZmxvYXQgeEhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1feEhlaWdodDsgfQot
ICAgIHZvaWQgc2V0WEhlaWdodChmbG9hdCB4SGVpZ2h0KSB7IG1feEhlaWdodCA9IHhIZWlnaHQ7
IH0KKyAgICB2b2lkIHNldFhIZWlnaHQoZmxvYXQgeEhlaWdodCkgCisgICAgeyAKKyAgICAgICAg
bV94SGVpZ2h0ID0geEhlaWdodDsKKyAgICAgICAgbV9oYXNYSGVpZ2h0ID0gdHJ1ZTsKKyAgICB9
CisKKyAgICBib29sIGhhc1hIZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX2hhc1hIZWlnaHQgJiYg
bV94SGVpZ2h0ID4gMDsgfQorICAgIHZvaWQgc2V0SGFzWEhlaWdodChib29sIGhhc1hIZWlnaHQp
IHsgbV9oYXNYSGVpZ2h0ID0gaGFzWEhlaWdodDsgfQogCiAgICAgLy8gSW50ZWdlciB2YXJpYW50
cyBvZiBjZXJ0YWluIG1ldHJpY3MsIHVzZWQgZm9yIEhUTUwgcmVuZGVyaW5nLgogICAgIGludCBh
c2NlbnQoRm9udEJhc2VsaW5lIGJhc2VsaW5lVHlwZSA9IEFscGhhYmV0aWNCYXNlbGluZSkgY29u
c3QKQEAgLTExMyw2ICsxMjEsNyBAQCBwcml2YXRlOgogICAgICAgICBtX2xpbmVHYXAgPSAwOwog
ICAgICAgICBtX2xpbmVTcGFjaW5nID0gMDsKICAgICAgICAgbV94SGVpZ2h0ID0gMDsKKyAgICAg
ICAgbV9oYXNYSGVpZ2h0ID0gZmFsc2U7CiAgICAgfQogCiAgICAgdW5zaWduZWQgbV91bml0c1Bl
ckVtOwpAQCAtMTIxLDYgKzEzMCw3IEBAIHByaXZhdGU6CiAgICAgZmxvYXQgbV9saW5lR2FwOwog
ICAgIGZsb2F0IG1fbGluZVNwYWNpbmc7CiAgICAgZmxvYXQgbV94SGVpZ2h0OworICAgIGJvb2wg
bV9oYXNYSGVpZ2h0OwogfTsKIAogc3RhdGljIGlubGluZSBmbG9hdCBzY2FsZUVtVG9Vbml0cyhm
bG9hdCB4LCB1bnNpZ25lZCB1bml0c1BlckVtKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9TaW1wbGVGb250RGF0YVNraWEuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9TaW1wbGVGb250RGF0YVNraWEuY3BwCmluZGV4
IDgwMzZiYzAzZWViZjRlZjhlNzljMTlkZmEzOGQxMTFlMjkzOWZlNzQuLjdkZjY4ZmQ4MGIwYzkz
ODFlMmU5YmFhY2VkZTI5MGU3ZmUyOGM5N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3NraWEvU2ltcGxlRm9udERhdGFTa2lhLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1NpbXBsZUZvbnREYXRhU2tpYS5jcHAKQEAg
LTExMiwxNiArMTEyLDE4IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAg
ICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50KGRlc2NlbnQpOwogCiAgICAgZmxvYXQgeEhlaWdo
dDsKLSAgICBpZiAobWV0cmljcy5mWEhlaWdodCkKKyAgICBpZiAobWV0cmljcy5mWEhlaWdodCkg
ewogICAgICAgICB4SGVpZ2h0ID0gbWV0cmljcy5mWEhlaWdodDsKLSAgICBlbHNlIHsKLSAgICAg
ICAgLy8gaGFjayB0YWtlbiBmcm9tIHRoZSBXaW5kb3dzIHBvcnQKLSAgICAgICAgeEhlaWdodCA9
IGFzY2VudCAqIDAuNTZmOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWlnaHQoeEhlaWdo
dCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgeEhlaWdodCA9IGFzY2VudCAqIDAuNTY7IC8vIEJl
c3QgZ3Vlc3MgZnJvbSBXaW5kb3dzIGZvbnQgbWV0cmljcy4KKyAgICAgICAgbV9mb250TWV0cmlj
cy5zZXRYSGVpZ2h0KHhIZWlnaHQpOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnNldEhhc1hIZWln
aHQoZmFsc2UpOwogICAgIH0KIAorCiAgICAgZmxvYXQgbGluZUdhcCA9IFNrU2NhbGFyVG9GbG9h
dChtZXRyaWNzLmZMZWFkaW5nKTsKICAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAobGluZUdh
cCk7Ci0gICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHhIZWlnaHQpOwogICAgIG1fZm9udE1l
dHJpY3Muc2V0TGluZVNwYWNpbmcobHJvdW5kZihhc2NlbnQpICsgbHJvdW5kZihkZXNjZW50KSAr
IGxyb3VuZGYobGluZUdhcCkpOwogCiAgICAgaWYgKHBsYXRmb3JtRGF0YSgpLm9yaWVudGF0aW9u
KCkgPT0gVmVydGljYWwgJiYgIWlzVGV4dE9yaWVudGF0aW9uRmFsbGJhY2soKSkgewpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDUwOTBkMjUxMDNjYzQwZjJlNjllNTJiMjcyMTI2MTE3Y2Y2ZjE3MzEuLjkzZTkyNDQ5MDlmZGVl
OGE1YzIyODEyNjAzN2ZhYzJkNjI4Y2Q5OGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0x
MC0wNCAgVGFiIEF0a2lucyAgPHRhYmF0a2luc0Bnb29nbGUuY29tPgorCisgICAgICAgIDFleCBz
aG91bGQgZXF1YWwgLjVlbSB3aGVuIHRoZSBmb250IGhhcyBubyB4LWhlaWdodCBtZXRyaWMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMzYwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCisKKyAgICAgICAgSWYgYSBmb250IGhhcyBu
byB4LWhlaWdodCBtZXRyaWMsIDFleCBzaG91bGQgZXF1YWwgLjVlbS4KKworICAgICAgICBUZXN0
IGxheW91dCB0d2Vha2VkIGJ5IERhdmlkIEJhcnIgPGRhdmlkYmFyckBjaHJvbWl1bS5vcmc+Lgor
CisgICAgICAgICogZmFzdC9jc3MvZXgtdW5pdC13aXRoLW5vLXgtaGVpZ2h0LWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvZXgtdW5pdC13aXRoLW5vLXgtaGVpZ2h0Lmh0
bWw6IEFkZGVkLgorCiAyMDEyLTEwLTA0ICBBbHBoYSBMYW0gIDxoY2xhbUBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgW3NraWFdIERyYXdpbmcgYSBzdWJyZWN0IG9mIGJpdG1hcCBpbWFnZSBpcyBt
aXNhbGlnbmVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9leC11bml0LXdpdGgt
bm8teC1oZWlnaHQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZXgtdW5pdC13
aXRoLW5vLXgtaGVpZ2h0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42Mjc5ODgwYzFiZmY2NmZj
ZmY5Y2JlMjQzYjEwZDgyNzE5NmE0MzZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvZXgtdW5pdC13aXRoLW5vLXgtaGVpZ2h0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEwIEBACitUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IHRoZSBDU1MgJ2V4JyB1bml0IGlzIHRyZWF0
ZWQgYXMgaGFsZiB0aGUgc2l6ZSBvZiB0aGUgQ1NTICdlbScgdW5pdCB3aGVuIGEgZm9udCBoYXMg
bm8geC1oZWlnaHQgaW5mb3JtYXRpb24uCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitQQVNTIG1lYXN1cmVFeEJveCgpOyBpcyAnNTBweCcKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9leC11bml0LXdpdGgtbm8teC1oZWlnaHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3Nz
L2V4LXVuaXQtd2l0aC1uby14LWhlaWdodC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhYWI4ZWJkOGEyNmYx
MzE1NTc1NzFjOTU4M2VkOWYxMjBhNTY1NWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy9leC11bml0LXdpdGgtbm8teC1oZWlnaHQuaHRtbApAQCAtMCwwICsxLDM4IEBA
Cis8IWRvY3R5cGUgaHRtbD4KKzxzdmcgeG1sbnMgPSAnaHR0cDovL3d3dy53My5vcmcvMjAwMC9z
dmcnIHN0eWxlPSdkaXNwbGF5Om5vbmUnPgorICA8ZGVmcz4KKyAgICA8Zm9udCBpZD0iRm9udDEi
PgorICAgICAgPGZvbnQtZmFjZSBmb250LWZhbWlseT0iYmxvY2siIC8+CisgICAgPC9mb250Pgor
ICA8L2RlZnM+Cis8L3N2Zz4KKworPHN0eWxlPgorLmVtIHsgaGVpZ2h0OiAuNWVtOyB3aWR0aDog
LjVlbTsgfQorLmV4IHsgaGVpZ2h0OiAxZXg7IHdpZHRoOiAxZXg7IH0KKy5jb3ZlciB7IGJhY2tn
cm91bmQ6IGdyZWVuOyB9CisuYmFjayB7IGJhY2tncm91bmQ6IHJlZDsgfQorLm9uZSB7IGxlZnQ6
IDEwcHg7IH0KKy50d28geyBsZWZ0OiA3MHB4OyB9CisjdGVzdCA+IGRpdiB7IGZvbnQtZmFtaWx5
OiBibG9jazsgZm9udC1zaXplOiAxMDBweDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEwcHg7
IH0KKyNkZXNjcmlwdGlvbiB7IG1hcmdpbi10b3A6IDcwcHg7IH0KKzwvc3R5bGU+CisKKzxkaXYg
aWQ9J3Rlc3QnPgorICA8ZGl2IGNsYXNzPSdiYWNrIGVtIG9uZSc+PC9kaXY+CisgIDxkaXYgY2xh
c3M9J2NvdmVyIGV4IG9uZScgaWQ9J2V4Jz48L2Rpdj4KKworICA8ZGl2IGNsYXNzPSdiYWNrIGV4
IHR3byc+PC9kaXY+CisgIDxkaXYgY2xhc3M9J2NvdmVyIGVtIHR3byc+PC9kaXY+Cis8L2Rpdj4K
KzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IHRoZSBDU1MgJ2V4
JyB1bml0IGlzIHRyZWF0ZWQgYXMgaGFsZiB0aGUgc2l6ZSBvZiB0aGUgQ1NTICdlbScgdW5pdCB3
aGVuIGEgZm9udCBoYXMgbm8geC1oZWlnaHQgaW5mb3JtYXRpb24uIikKKworZnVuY3Rpb24gbWVh
c3VyZUV4Qm94KCkgeworICByZXR1cm4gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnZXgnKSkud2lkdGg7Cit9CisKK3Nob3VsZEJlKCJtZWFzdXJlRXhCb3goKTsiLCAi
JzUwcHgnIikKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>