<?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>53528</bug_id>
          
          <creation_ts>2011-02-01 13:36:51 -0800</creation_ts>
          <short_desc>ASSERT_NOT_REACHED reached with broken ideograph and system fallback</short_desc>
          <delta_ts>2011-05-24 15:12:44 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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="James Simonsen">simonjam</reporter>
          <assigned_to name="James Simonsen">simonjam</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>evan</cc>
    
    <cc>hyatt</cc>
    
    <cc>mitz</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>343494</commentid>
    <comment_count>0</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-02-01 13:36:51 -0800</bug_when>
    <thetext>ASSERT_NOT_REACHED reached with broken ideograph and system fallback</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343499</commentid>
    <comment_count>1</comment_count>
      <attachid>80818</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-02-01 13:39:51 -0800</bug_when>
    <thetext>Created attachment 80818
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343507</commentid>
    <comment_count>2</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-02-01 13:45:08 -0800</bug_when>
    <thetext>We hit the ASSERT_NOT_REACHED in Font::glyphDataForCharacter() on chromium linux with one of the new layout tests. It seems to happen because we have missing glyphs that we&apos;re only able to get by relying on the system fallback. That will update the normal page, but not the corresponding page for broken ideographs, so the assert fails.

I&apos;m new to this code, so I&apos;d definitely appreciate your take on it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>346759</commentid>
    <comment_count>3</comment_count>
      <attachid>80818</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-02-07 13:17:58 -0800</bug_when>
    <thetext>Comment on attachment 80818
Patch

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

&gt; Source/WebCore/platform/graphics/FontFastPath.cpp:171
&gt; +    else if (isBrokenIdeograph(characterFontData, c)) {

Why does the previous if check for characterFontData being 0 and this one does not?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>346858</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-07 15:10:15 -0800</bug_when>
    <thetext>Nevermind evan/tony.  This has little to do with cr-lx.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347049</commentid>
    <comment_count>5</comment_count>
      <attachid>81574</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-02-07 20:40:06 -0800</bug_when>
    <thetext>Created attachment 81574
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347050</commentid>
    <comment_count>6</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-02-07 20:40:20 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 80818 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=80818&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/FontFastPath.cpp:171
&gt; &gt; +    else if (isBrokenIdeograph(characterFontData, c)) {
&gt; 
&gt; Why does the previous if check for characterFontData being 0 and this one does not?

Good catch. Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347961</commentid>
    <comment_count>7</comment_count>
      <attachid>81745</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-02-08 21:47:44 -0800</bug_when>
    <thetext>Created attachment 81745
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347965</commentid>
    <comment_count>8</comment_count>
      <attachid>81745</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-02-08 21:49:58 -0800</bug_when>
    <thetext>Comment on attachment 81745
Patch

Oops. That last patch was meant for a different bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>360456</commentid>
    <comment_count>9</comment_count>
      <attachid>84341</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-03-01 18:07:42 -0800</bug_when>
    <thetext>Created attachment 84341
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>360459</commentid>
    <comment_count>10</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-03-01 18:08:42 -0800</bug_when>
    <thetext>I updated the patch. I&apos;d appreciate it if one of you guys could take a look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361743</commentid>
    <comment_count>11</comment_count>
      <attachid>84341</attachid>
    <who name="">mitz</who>
    <bug_when>2011-03-03 10:58:16 -0800</bug_when>
    <thetext>Comment on attachment 84341
Patch

This is OK, but I think it would be a lot better to add a BrokenIdeograph value to FontDataVariant and just change the variant to BrokenIdeograph in this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362048</commentid>
    <comment_count>12</comment_count>
      <attachid>84647</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-03-03 16:19:22 -0800</bug_when>
    <thetext>Created attachment 84647
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362050</commentid>
    <comment_count>13</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-03-03 16:20:09 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 84341 [details])
&gt; This is OK, but I think it would be a lot better to add a BrokenIdeograph value to FontDataVariant and just change the variant to BrokenIdeograph in this case.

Yeah, that turned out nice. I&apos;ve done that in this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362054</commentid>
    <comment_count>14</comment_count>
    <who name="">mitz</who>
    <bug_when>2011-03-03 16:23:01 -0800</bug_when>
    <thetext>Did you mean to flag attachment 84647 for review?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362060</commentid>
    <comment_count>15</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-03-03 16:24:53 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; Did you mean to flag attachment 84647 [details] for review?

Yeah, it&apos;d be nice if you took another look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362221</commentid>
    <comment_count>16</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-03-03 20:22:42 -0800</bug_when>
    <thetext>Attachment 84647 did not build on win:
Build output: http://queues.webkit.org/results/8078822</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>362746</commentid>
    <comment_count>17</comment_count>
      <attachid>84813</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-03-04 15:25:55 -0800</bug_when>
    <thetext>Created attachment 84813
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>398616</commentid>
    <comment_count>18</comment_count>
      <attachid>84813</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-05-05 01:35:07 -0700</bug_when>
    <thetext>Comment on attachment 84813
Patch

Looks like you did what mitz requested.  I&apos;m tempted to mark this R+, but I&apos;m not familiar with this code.  Mitz, would you be willing to take another look at this crash fix?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408317</commentid>
    <comment_count>19</comment_count>
      <attachid>84813</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-23 14:42:18 -0700</bug_when>
    <thetext>Comment on attachment 84813
Patch

Looks reasonable to me.  Mitz is of course still welcome/encouraged to comment, but this has been up for over a month and looks reasonable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408602</commentid>
    <comment_count>20</comment_count>
      <attachid>94552</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-05-23 20:39:35 -0700</bug_when>
    <thetext>Created attachment 94552
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408603</commentid>
    <comment_count>21</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-05-23 20:40:39 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; (From update of attachment 84813 [details])
&gt; Looks reasonable to me.  Mitz is of course still welcome/encouraged to comment, but this has been up for over a month and looks reasonable.

I merged this with the changes to the file since I initially uploaded the patch. I&apos;ll land it tomorrow, barring any objections.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>409250</commentid>
    <comment_count>22</comment_count>
      <attachid>94552</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-24 15:12:36 -0700</bug_when>
    <thetext>Comment on attachment 94552
Patch

Clearing flags on attachment: 94552

Committed r87215: &lt;http://trac.webkit.org/changeset/87215&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>409251</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-24 15:12:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80818</attachid>
            <date>2011-02-01 13:39:51 -0800</date>
            <delta_ts>2011-02-07 20:40:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53528-20110201133950.patch</filename>
            <type>text/plain</type>
            <size>6615</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjNTA1OWQ4NTg0YzI4OTBjNTUxMTQ2MTRkNzk4OWQyZWRmNWRhMzVlLi42ZTI0ZDgx
YTk3OGMxYTZlNDUwNTMxZGFjMWExZjdhYjQ5ZmJlNWIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMTEtMDItMDEgIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCByZWFjaGVkIHdpdGggYnJva2VuIGlkZW9ncmFwaCBhbmQgc3lzdGVtIGZhbGxiYWNr
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzUyOAor
CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0OiBSZW1v
dmUgQ1JBU0ggZnJvbSBmaXhlZCB0ZXN0LgorCiAyMDExLTAyLTAxICBEaW1pdHJpIEdsYXprb3Yg
IDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgTW9yZSBmbGFraW5lc3MgdXBkYXRl
cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0
YXRpb25zLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRp
b25zLnR4dAppbmRleCBkZWZiMzIxNTdmMmU0OGNkYTBkMTFmYjEwOThhMDY4OWY5ZWQxMjBjLi44
YTdlZjZmMTQ0OGUyYjM0NTRkMmUzOGI1NzNkNzlkZTgxMGZiYjFkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CkBAIC0zMDYx
LDEzICszMDYxLDEwIEBAIEJVR0NSNzA5NDEgQlVHQ1I3MTA4NyBMSU5VWCA6IHVzZXJzY3JpcHRz
L3VzZXItc2NyaXB0LWltYWdlLWRvY3VtZW50Lmh0bWwgPSBDUkFTCiBCVUdDUjcwOTQyIExJTlVY
IDogZWRpdGluZy9leGVjQ29tbWFuZC9icmVhay1vdXQtb2YtZW1wdHktbGlzdC1pdGVtLmh0bWwg
PSBQQVNTIFRJTUVPVVQKIEJVR1JOSVdBIFNMT1cgV0lOIDogZWRpdGluZy9leGVjQ29tbWFuZC80
Nzg2NDA0LTEuaHRtbCA9IFBBU1MKIAotLy8gQWRkZWQgYnkgYW5kIHN0YXJ0ZWQgY3Jhc2hpbmcg
YXQgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNzY3NDMKLUJVR0NSNzEwMTMgTElO
VVggOiBmYXN0L3RleHQvanVzdGlmeS1pZGVvZ3JhcGgtdmVydGljYWwuaHRtbCA9IENSQVNIIElN
QUdFK1RFWFQKLQogLy8gU3RhcnRlZCBmYWlsaW5nIGF0IGh0dHA6Ly90cmFjLndlYmtpdC5vcmcv
Y2hhbmdlc2V0Lzc2NzQzCiBCVUdDUjcxMDIyIFdJTiBMSU5VWCA6IGZhc3QvdGV4dC9qdXN0aWZ5
LWlkZW9ncmFwaC1jb21wbGV4Lmh0bWwgPSBJTUFHRStURVhUCiBCVUdDUjcxMDIyIFdJTiBMSU5V
WCA6IGZhc3QvdGV4dC9qdXN0aWZ5LWlkZW9ncmFwaC1zaW1wbGUuaHRtbCA9IElNQUdFK1RFWFQK
LUJVR0NSNzEwMjIgV0lOIDogZmFzdC90ZXh0L2p1c3RpZnktaWRlb2dyYXBoLXZlcnRpY2FsLmh0
bWwgPSBJTUFHRStURVhUCitCVUdDUjcxMDIyIFdJTiBMSU5VWCA6IGZhc3QvdGV4dC9qdXN0aWZ5
LWlkZW9ncmFwaC12ZXJ0aWNhbC5odG1sID0gSU1BR0UrVEVYVAogCiBCVUdDUjcxMDg3IFdJTiBM
SU5VWCBERUJVRyA6IG1lZGlhL3ZpZGVvLWN1cnJlbnRUaW1lLmh0bWwgPSBDUkFTSCBQQVNTIFRJ
TUVPVVQKIEJVR0NSNzEwODcgTUFDIERFQlVHIDogbWVkaWEvdmlkZW8tY3VycmVudFRpbWUuaHRt
bCA9IFBBU1MgVElNRU9VVApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDlmOGYxNTM4NmIyMmIwZjBhODRmYzE5MWRi
OTVlZjA0Y2U4Y2Q3ZWQuLmIxYzRmNjA1ZDM3MDEyOWU4ZjNlZGZiMDcyMTZmNDE3MTJmY2JkZjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMS0wMi0wMSAgSmFtZXMgU2ltb25zZW4g
IDxzaW1vbmphbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEIHJlYWNoZWQgd2l0aCBicm9rZW4g
aWRlb2dyYXBoIGFuZCBzeXN0ZW0gZmFsbGJhY2sKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNTI4CisKKyAgICAgICAgVGVzdDogZmFzdC90ZXh0L2p1
c3RpZnktaWRlb2dyYXBoLXZlcnRpY2FsLmh0bWwgKG9uIGNocm9taXVtIGxpbnV4KQorCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhc3RQYXRoLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmlzQnJva2VuSWRlb2dyYXBoKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpGb250Ojpn
bHlwaERhdGFGb3JDaGFyYWN0ZXIpOiBLZWVwIGJyb2tlbiBpZGVvZ3JhcGhzIG91dCBvZiBzeXN0
ZW0gZmFsbGJhY2sgcGFnZS4KKwogMjAxMS0wMi0wMSAgRGF2ZSBIeWF0dCAgPGh5YXR0QGFwcGxl
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYXN0UGF0aC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFzdFBhdGguY3BwCmluZGV4IDAzNGFjMjIw
Mzg1ZjVlYTgwZWM1NjdiNDdkODgyMzRhMDdjOTJjZDUuLmFkNjQwNjlhYzk0ZGZlNzQ1MWQ3NjZh
ODg5N2U0M2YxMDEwNzNkNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRGYXN0UGF0aC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udEZhc3RQYXRoLmNwcApAQCAtNDAsNiArNDAsMTEgQEAgdXNpbmcgbmFtZXNwYWNl
IFVuaWNvZGU7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAoraW5saW5lIHN0YXRpYyBib29sIGlz
QnJva2VuSWRlb2dyYXBoKGNvbnN0IFNpbXBsZUZvbnREYXRhKiBmb250RGF0YSwgVUNoYXIzMiBj
KQoreworICAgIHJldHVybiBmb250RGF0YS0+cGxhdGZvcm1EYXRhKCkub3JpZW50YXRpb24oKSA9
PSBWZXJ0aWNhbCAmJiBmb250RGF0YS0+b3JpZW50YXRpb24oKSA9PSBIb3Jpem9udGFsICYmIEZv
bnQ6OmlzQ0pLSWRlb2dyYXBoT3JTeW1ib2woYyk7Cit9CisKIEdseXBoRGF0YSBGb250OjpnbHlw
aERhdGFGb3JDaGFyYWN0ZXIoVUNoYXIzMiBjLCBib29sIG1pcnJvciwgRm9udERhdGFWYXJpYW50
IHZhcmlhbnQpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKQEAgLTc4LDcg
KzgzLDcgQEAgR2x5cGhEYXRhIEZvbnQ6OmdseXBoRGF0YUZvckNoYXJhY3RlcihVQ2hhcjMyIGMs
IGJvb2wgbWlycm9yLCBGb250RGF0YVZhcmlhbnQgdmEKICAgICAgICAgICAgIGlmIChwYWdlKSB7
CiAgICAgICAgICAgICAgICAgR2x5cGhEYXRhIGRhdGEgPSBwYWdlLT5nbHlwaERhdGFGb3JDaGFy
YWN0ZXIoYyk7CiAgICAgICAgICAgICAgICAgaWYgKGRhdGEuZm9udERhdGEpIHsKLSAgICAgICAg
ICAgICAgICAgICAgaWYgKGRhdGEuZm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLm9yaWVudGF0aW9u
KCkgPT0gVmVydGljYWwgJiYgZGF0YS5mb250RGF0YS0+b3JpZW50YXRpb24oKSA9PSBIb3Jpem9u
dGFsICYmIEZvbnQ6OmlzQ0pLSWRlb2dyYXBoT3JTeW1ib2woYykpIHsKKyAgICAgICAgICAgICAg
ICAgICAgaWYgKGlzQnJva2VuSWRlb2dyYXBoKGRhdGEuZm9udERhdGEsIGMpKSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBTaW1wbGVGb250RGF0YSogaWRlb2dyYXBoRm9udERhdGEg
PSBkYXRhLmZvbnREYXRhLT5icm9rZW5JZGVvZ3JhcGhGb250RGF0YSgpOwogICAgICAgICAgICAg
ICAgICAgICAgICAgR2x5cGhQYWdlVHJlZU5vZGUqIGlkZW9ncmFwaE5vZGUgPSBHbHlwaFBhZ2VU
cmVlTm9kZTo6Z2V0Um9vdENoaWxkKGlkZW9ncmFwaEZvbnREYXRhLCBwYWdlTnVtYmVyKTsKICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEdseXBoUGFnZSogaWRlb2dyYXBoUGFnZSA9IGlk
ZW9ncmFwaE5vZGUtPnBhZ2UoKTsKQEAgLTg3LDcgKzkyLDcgQEAgR2x5cGhEYXRhIEZvbnQ6Omds
eXBoRGF0YUZvckNoYXJhY3RlcihVQ2hhcjMyIGMsIGJvb2wgbWlycm9yLCBGb250RGF0YVZhcmlh
bnQgdmEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5mb250RGF0YSkKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7CiAgICAgICAgICAgICAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAKKwogICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gU2hvdWxkbid0IGJlIHBvc3NpYmxlIHRvIGV2ZW4gcmVhY2ggdGhpcyBwb2lu
dC4KICAgICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAg
ICAgICAgICAgICAgICB9CkBAIC0xNjAsMTQgKzE2NSwxOSBAQCBHbHlwaERhdGEgRm9udDo6Z2x5
cGhEYXRhRm9yQ2hhcmFjdGVyKFVDaGFyMzIgYywgYm9vbCBtaXJyb3IsIEZvbnREYXRhVmFyaWFu
dCB2YQogICAgICAgICBjb2RlVW5pdHNMZW5ndGggPSAyOwogICAgIH0KICAgICBjb25zdCBTaW1w
bGVGb250RGF0YSogY2hhcmFjdGVyRm9udERhdGEgPSBmb250Q2FjaGUoKS0+Z2V0Rm9udERhdGFG
b3JDaGFyYWN0ZXJzKCp0aGlzLCBjb2RlVW5pdHMsIGNvZGVVbml0c0xlbmd0aCk7CisgICAgYm9v
bCBjaGFyYWN0ZXJJc0Jyb2tlbklkZW9ncmFwaCA9IGZhbHNlOwogICAgIGlmICh2YXJpYW50ICE9
IE5vcm1hbFZhcmlhbnQgJiYgY2hhcmFjdGVyRm9udERhdGEpCiAgICAgICAgIGNoYXJhY3RlckZv
bnREYXRhID0gY2hhcmFjdGVyRm9udERhdGEtPnZhcmlhbnRGb250RGF0YShtX2ZvbnREZXNjcmlw
dGlvbiwgdmFyaWFudCk7CisgICAgZWxzZSBpZiAoaXNCcm9rZW5JZGVvZ3JhcGgoY2hhcmFjdGVy
Rm9udERhdGEsIGMpKSB7CisgICAgICAgIGNoYXJhY3RlcklzQnJva2VuSWRlb2dyYXBoID0gdHJ1
ZTsKKyAgICAgICAgY2hhcmFjdGVyRm9udERhdGEgPSBjaGFyYWN0ZXJGb250RGF0YS0+YnJva2Vu
SWRlb2dyYXBoRm9udERhdGEoKTsKKyAgICB9CiAgICAgaWYgKGNoYXJhY3RlckZvbnREYXRhKSB7
CiAgICAgICAgIC8vIEdvdCB0aGUgZmFsbGJhY2sgZ2x5cGggYW5kIGZvbnQuCiAgICAgICAgIEds
eXBoUGFnZSogZmFsbGJhY2tQYWdlID0gR2x5cGhQYWdlVHJlZU5vZGU6OmdldFJvb3RDaGlsZChj
aGFyYWN0ZXJGb250RGF0YSwgcGFnZU51bWJlciktPnBhZ2UoKTsKICAgICAgICAgR2x5cGhEYXRh
IGRhdGEgPSBmYWxsYmFja1BhZ2UgJiYgZmFsbGJhY2tQYWdlLT5mb250RGF0YUZvckNoYXJhY3Rl
cihjKSA/IGZhbGxiYWNrUGFnZS0+Z2x5cGhEYXRhRm9yQ2hhcmFjdGVyKGMpIDogY2hhcmFjdGVy
Rm9udERhdGEtPm1pc3NpbmdHbHlwaERhdGEoKTsKICAgICAgICAgLy8gQ2FjaGUgaXQgc28gd2Ug
ZG9uJ3QgaGF2ZSB0byBkbyBzeXN0ZW0gZmFsbGJhY2sgYWdhaW4gbmV4dCB0aW1lLgotICAgICAg
ICBpZiAodmFyaWFudCA9PSBOb3JtYWxWYXJpYW50KSB7CisgICAgICAgIGlmICh2YXJpYW50ID09
IE5vcm1hbFZhcmlhbnQgJiYgIWNoYXJhY3RlcklzQnJva2VuSWRlb2dyYXBoKSB7CiAjaWYgT1Mo
V0lOQ0UpCiAgICAgICAgICAgICAvLyBtaXNzaW5nR2x5cGhEYXRhIHJldHVybnMgYSBudWxsIGNo
YXJhY3Rlciwgd2hpY2ggaXMgbm90IHN1aXRhYmxlIGZvciBHREkgdG8gZGlzcGxheS4KICAgICAg
ICAgICAgIC8vIEFsc28sIHNvbWV0aW1lcyB3ZSBjYW5ub3QgbWFwIGEgZm9udCBmb3IgdGhlIGNo
YXJhY3RlciBvbiBXSU5DRSwgYnV0IEdESSBjYW4gc3RpbGwKQEAgLTE4NSw3ICsxOTUsNyBAQCBH
bHlwaERhdGEgRm9udDo6Z2x5cGhEYXRhRm9yQ2hhcmFjdGVyKFVDaGFyMzIgYywgYm9vbCBtaXJy
b3IsIEZvbnREYXRhVmFyaWFudCB2YQogICAgIC8vIEV2ZW4gc3lzdGVtIGZhbGxiYWNrIGNhbiBm
YWlsOyB1c2UgdGhlIG1pc3NpbmcgZ2x5cGggaW4gdGhhdCBjYXNlLgogICAgIC8vIEZJWE1FOiBJ
dCB3b3VsZCBiZSBuaWNlciB0byB1c2UgdGhlIG1pc3NpbmcgZ2x5cGggZnJvbSB0aGUgbGFzdCBy
ZXNvcnQgZm9udCBpbnN0ZWFkLgogICAgIEdseXBoRGF0YSBkYXRhID0gcHJpbWFyeUZvbnQoKS0+
bWlzc2luZ0dseXBoRGF0YSgpOwotICAgIGlmICh2YXJpYW50ID09IE5vcm1hbFZhcmlhbnQpIHsK
KyAgICBpZiAodmFyaWFudCA9PSBOb3JtYWxWYXJpYW50ICYmICFjaGFyYWN0ZXJJc0Jyb2tlbklk
ZW9ncmFwaCkgewogI2lmIE9TKFdJTkNFKQogICAgICAgICAvLyBTZWUgY29tbWVudCBhYm91dCBX
SU5DRSBHREkgaGFuZGxpbmcgbmVhciBzZXRHbHlwaERhdGFGb3JDaGFyYWN0ZXIgYWJvdmUuCiAg
ICAgICAgIHBhZ2UtPnNldEdseXBoRGF0YUZvckNoYXJhY3RlcihjLCBjLCBkYXRhLmZvbnREYXRh
KTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81574</attachid>
            <date>2011-02-07 20:40:06 -0800</date>
            <delta_ts>2011-03-01 18:07:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53528-20110207204005.patch</filename>
            <type>text/plain</type>
            <size>6768</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1OWE5NjcyMzIxYWY2ZTk4MWVhYjc2NzZhNTAzODNlMTM2ZjhhZWMxLi5iZjBjM2Mw
YTM0ZmZkZDA4MjM2MzRlMWJiYjk2ZDQ4YTJhMmIwNGRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMTEtMDItMDcgIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCByZWFjaGVkIHdpdGggYnJva2VuIGlkZW9ncmFwaCBhbmQgc3lzdGVtIGZhbGxiYWNr
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzUyOAor
CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0OiBSZW1v
dmUgQ1JBU0ggZnJvbSBmaXhlZCB0ZXN0LgorCiAyMDExLTAyLTA3ICBNYXJ0aW4gUm9iaW5zb24g
IDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYW5pZWwgQmF0
ZXMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVj
dGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0
aW9ucy50eHQKaW5kZXggNGE2ZTQ3MWU4ZWNkM2IxNGVlNzRkMzMxNmRkMzc4YjRlMmQwZTk5YS4u
OWRmNjlhNWFjMjhmODJjNWMyN2FhODlmMzI1YTcxYjE2MWM4NTAzYSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dApAQCAtMzAx
NiwxMyArMzAxNiwxMCBAQCBCVUdDUjcwODgyIE1BQyA6IGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFs
L3RoYWktYmFodC1zcGFjZS5odG1sID0gSU1BR0UKIEJVR0NSNzA5NDIgTElOVVggOiBlZGl0aW5n
L2V4ZWNDb21tYW5kL2JyZWFrLW91dC1vZi1lbXB0eS1saXN0LWl0ZW0uaHRtbCA9IFBBU1MgVElN
RU9VVAogQlVHUk5JV0EgU0xPVyBXSU4gOiBlZGl0aW5nL2V4ZWNDb21tYW5kLzQ3ODY0MDQtMS5o
dG1sID0gUEFTUwogCi0vLyBBZGRlZCBieSBhbmQgc3RhcnRlZCBjcmFzaGluZyBhdCBodHRwOi8v
dHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC83Njc0MwotQlVHQ1I3MTAxMyBMSU5VWCA6IGZhc3Qv
dGV4dC9qdXN0aWZ5LWlkZW9ncmFwaC12ZXJ0aWNhbC5odG1sID0gQ1JBU0ggSU1BR0UrVEVYVAot
CiAvLyBTdGFydGVkIGZhaWxpbmcgYXQgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQv
NzY3NDMKIEJVR0NSNzEwMjIgV0lOIExJTlVYIDogZmFzdC90ZXh0L2p1c3RpZnktaWRlb2dyYXBo
LWNvbXBsZXguaHRtbCA9IElNQUdFK1RFWFQKIEJVR0NSNzEwMjIgV0lOIExJTlVYIDogZmFzdC90
ZXh0L2p1c3RpZnktaWRlb2dyYXBoLXNpbXBsZS5odG1sID0gSU1BR0UrVEVYVAotQlVHQ1I3MTAy
MiBXSU4gOiBmYXN0L3RleHQvanVzdGlmeS1pZGVvZ3JhcGgtdmVydGljYWwuaHRtbCA9IElNQUdF
K1RFWFQKK0JVR0NSNzEwMjIgV0lOIExJTlVYIDogZmFzdC90ZXh0L2p1c3RpZnktaWRlb2dyYXBo
LXZlcnRpY2FsLmh0bWwgPSBJTUFHRStURVhUCiAKIEJVR1dLNTMzNDcgV0lOIExJTlVYIERFQlVH
IDogZmFzdC9yZXBhaW50LzQ3NzQzNTQuaHRtbCA9IFBBU1MgVElNRU9VVAogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggNzcxYzk3NzA3MTdjODQ4ODkyNDg1MGEyYzkyYmUxY2I0ZjdhNmE0Yi4uODMwYzc3OGNlMDky
MTdiZDlkMjdmOGQ1NjFhYWUwOTk0NzlhZDUwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBA
CisyMDExLTAyLTA3ICBKYW1lcyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQgcmVhY2hlZCB3aXRoIGJyb2tlbiBpZGVvZ3JhcGggYW5kIHN5c3RlbSBmYWxsYmFj
aworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM1MjgK
KworICAgICAgICBUZXN0OiBmYXN0L3RleHQvanVzdGlmeS1pZGVvZ3JhcGgtdmVydGljYWwuaHRt
bCAob24gY2hyb21pdW0gbGludXgpCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250
RmFzdFBhdGguY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNCcm9rZW5JZGVvZ3JhcGgpOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmdseXBoRGF0YUZvckNoYXJhY3Rlcik6IEtlZXAg
YnJva2VuIGlkZW9ncmFwaHMgb3V0IG9mIHN5c3RlbSBmYWxsYmFjayBwYWdlLgorCiAyMDExLTAy
LTA3ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBYYW4gTG9wZXouCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250RmFzdFBhdGguY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udEZhc3RQYXRoLmNwcAppbmRleCAwMzRhYzIyMDM4NWY1ZWE4MGVjNTY3YjQ3
ZDg4MjM0YTA3YzkyY2Q1Li4zMTk2NDdlMmYwOTAwYjY1ZTVlZmVjZWY0YTE4YmIxZGI1N2ZjNjVl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFzdFBh
dGguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYXN0UGF0
aC5jcHAKQEAgLTQwLDYgKzQwLDExIEBAIHVzaW5nIG5hbWVzcGFjZSBVbmljb2RlOwogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKK2lubGluZSBzdGF0aWMgYm9vbCBpc0Jyb2tlbklkZW9ncmFwaChj
b25zdCBTaW1wbGVGb250RGF0YSogZm9udERhdGEsIFVDaGFyMzIgYykKK3sKKyAgICByZXR1cm4g
Zm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLm9yaWVudGF0aW9uKCkgPT0gVmVydGljYWwgJiYgZm9u
dERhdGEtPm9yaWVudGF0aW9uKCkgPT0gSG9yaXpvbnRhbCAmJiBGb250Ojppc0NKS0lkZW9ncmFw
aE9yU3ltYm9sKGMpOworfQorCiBHbHlwaERhdGEgRm9udDo6Z2x5cGhEYXRhRm9yQ2hhcmFjdGVy
KFVDaGFyMzIgYywgYm9vbCBtaXJyb3IsIEZvbnREYXRhVmFyaWFudCB2YXJpYW50KSBjb25zdAog
ewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CkBAIC03OCw3ICs4Myw3IEBAIEdseXBoRGF0
YSBGb250OjpnbHlwaERhdGFGb3JDaGFyYWN0ZXIoVUNoYXIzMiBjLCBib29sIG1pcnJvciwgRm9u
dERhdGFWYXJpYW50IHZhCiAgICAgICAgICAgICBpZiAocGFnZSkgewogICAgICAgICAgICAgICAg
IEdseXBoRGF0YSBkYXRhID0gcGFnZS0+Z2x5cGhEYXRhRm9yQ2hhcmFjdGVyKGMpOwogICAgICAg
ICAgICAgICAgIGlmIChkYXRhLmZvbnREYXRhKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChk
YXRhLmZvbnREYXRhLT5wbGF0Zm9ybURhdGEoKS5vcmllbnRhdGlvbigpID09IFZlcnRpY2FsICYm
IGRhdGEuZm9udERhdGEtPm9yaWVudGF0aW9uKCkgPT0gSG9yaXpvbnRhbCAmJiBGb250Ojppc0NK
S0lkZW9ncmFwaE9yU3ltYm9sKGMpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmIChpc0Jyb2tl
bklkZW9ncmFwaChkYXRhLmZvbnREYXRhLCBjKSkgewogICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgU2ltcGxlRm9udERhdGEqIGlkZW9ncmFwaEZvbnREYXRhID0gZGF0YS5mb250RGF0YS0+
YnJva2VuSWRlb2dyYXBoRm9udERhdGEoKTsKICAgICAgICAgICAgICAgICAgICAgICAgIEdseXBo
UGFnZVRyZWVOb2RlKiBpZGVvZ3JhcGhOb2RlID0gR2x5cGhQYWdlVHJlZU5vZGU6OmdldFJvb3RD
aGlsZChpZGVvZ3JhcGhGb250RGF0YSwgcGFnZU51bWJlcik7CiAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBHbHlwaFBhZ2UqIGlkZW9ncmFwaFBhZ2UgPSBpZGVvZ3JhcGhOb2RlLT5wYWdl
KCk7CkBAIC04Nyw3ICs5Miw3IEBAIEdseXBoRGF0YSBGb250OjpnbHlwaERhdGFGb3JDaGFyYWN0
ZXIoVUNoYXIzMiBjLCBib29sIG1pcnJvciwgRm9udERhdGFWYXJpYW50IHZhCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuZm9udERhdGEpCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBkYXRhOwogICAgICAgICAgICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgICAgICAgICAgCisKICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNob3Vs
ZG4ndCBiZSBwb3NzaWJsZSB0byBldmVuIHJlYWNoIHRoaXMgcG9pbnQuCiAgICAgICAgICAgICAg
ICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgICAgICAgICAgICAgfQpA
QCAtMTU5LDE1ICsxNjQsMjIgQEAgR2x5cGhEYXRhIEZvbnQ6OmdseXBoRGF0YUZvckNoYXJhY3Rl
cihVQ2hhcjMyIGMsIGJvb2wgbWlycm9yLCBGb250RGF0YVZhcmlhbnQgdmEKICAgICAgICAgY29k
ZVVuaXRzWzFdID0gVTE2X1RSQUlMKGMpOwogICAgICAgICBjb2RlVW5pdHNMZW5ndGggPSAyOwog
ICAgIH0KKyAgICBib29sIGNoYXJhY3RlcklzQnJva2VuSWRlb2dyYXBoID0gZmFsc2U7CiAgICAg
Y29uc3QgU2ltcGxlRm9udERhdGEqIGNoYXJhY3RlckZvbnREYXRhID0gZm9udENhY2hlKCktPmdl
dEZvbnREYXRhRm9yQ2hhcmFjdGVycygqdGhpcywgY29kZVVuaXRzLCBjb2RlVW5pdHNMZW5ndGgp
OwotICAgIGlmICh2YXJpYW50ICE9IE5vcm1hbFZhcmlhbnQgJiYgY2hhcmFjdGVyRm9udERhdGEp
Ci0gICAgICAgIGNoYXJhY3RlckZvbnREYXRhID0gY2hhcmFjdGVyRm9udERhdGEtPnZhcmlhbnRG
b250RGF0YShtX2ZvbnREZXNjcmlwdGlvbiwgdmFyaWFudCk7CisgICAgaWYgKGNoYXJhY3RlckZv
bnREYXRhKSB7CisgICAgICAgIGlmICh2YXJpYW50ICE9IE5vcm1hbFZhcmlhbnQpCisgICAgICAg
ICAgICBjaGFyYWN0ZXJGb250RGF0YSA9IGNoYXJhY3RlckZvbnREYXRhLT52YXJpYW50Rm9udERh
dGEobV9mb250RGVzY3JpcHRpb24sIHZhcmlhbnQpOworICAgICAgICBlbHNlIGlmIChpc0Jyb2tl
bklkZW9ncmFwaChjaGFyYWN0ZXJGb250RGF0YSwgYykpIHsKKyAgICAgICAgICAgIGNoYXJhY3Rl
cklzQnJva2VuSWRlb2dyYXBoID0gdHJ1ZTsKKyAgICAgICAgICAgIGNoYXJhY3RlckZvbnREYXRh
ID0gY2hhcmFjdGVyRm9udERhdGEtPmJyb2tlbklkZW9ncmFwaEZvbnREYXRhKCk7CisgICAgICAg
IH0KKyAgICB9CiAgICAgaWYgKGNoYXJhY3RlckZvbnREYXRhKSB7CiAgICAgICAgIC8vIEdvdCB0
aGUgZmFsbGJhY2sgZ2x5cGggYW5kIGZvbnQuCiAgICAgICAgIEdseXBoUGFnZSogZmFsbGJhY2tQ
YWdlID0gR2x5cGhQYWdlVHJlZU5vZGU6OmdldFJvb3RDaGlsZChjaGFyYWN0ZXJGb250RGF0YSwg
cGFnZU51bWJlciktPnBhZ2UoKTsKICAgICAgICAgR2x5cGhEYXRhIGRhdGEgPSBmYWxsYmFja1Bh
Z2UgJiYgZmFsbGJhY2tQYWdlLT5mb250RGF0YUZvckNoYXJhY3RlcihjKSA/IGZhbGxiYWNrUGFn
ZS0+Z2x5cGhEYXRhRm9yQ2hhcmFjdGVyKGMpIDogY2hhcmFjdGVyRm9udERhdGEtPm1pc3NpbmdH
bHlwaERhdGEoKTsKICAgICAgICAgLy8gQ2FjaGUgaXQgc28gd2UgZG9uJ3QgaGF2ZSB0byBkbyBz
eXN0ZW0gZmFsbGJhY2sgYWdhaW4gbmV4dCB0aW1lLgotICAgICAgICBpZiAodmFyaWFudCA9PSBO
b3JtYWxWYXJpYW50KSB7CisgICAgICAgIGlmICh2YXJpYW50ID09IE5vcm1hbFZhcmlhbnQgJiYg
IWNoYXJhY3RlcklzQnJva2VuSWRlb2dyYXBoKSB7CiAjaWYgT1MoV0lOQ0UpCiAgICAgICAgICAg
ICAvLyBtaXNzaW5nR2x5cGhEYXRhIHJldHVybnMgYSBudWxsIGNoYXJhY3Rlciwgd2hpY2ggaXMg
bm90IHN1aXRhYmxlIGZvciBHREkgdG8gZGlzcGxheS4KICAgICAgICAgICAgIC8vIEFsc28sIHNv
bWV0aW1lcyB3ZSBjYW5ub3QgbWFwIGEgZm9udCBmb3IgdGhlIGNoYXJhY3RlciBvbiBXSU5DRSwg
YnV0IEdESSBjYW4gc3RpbGwKQEAgLTE4NSw3ICsxOTcsNyBAQCBHbHlwaERhdGEgRm9udDo6Z2x5
cGhEYXRhRm9yQ2hhcmFjdGVyKFVDaGFyMzIgYywgYm9vbCBtaXJyb3IsIEZvbnREYXRhVmFyaWFu
dCB2YQogICAgIC8vIEV2ZW4gc3lzdGVtIGZhbGxiYWNrIGNhbiBmYWlsOyB1c2UgdGhlIG1pc3Np
bmcgZ2x5cGggaW4gdGhhdCBjYXNlLgogICAgIC8vIEZJWE1FOiBJdCB3b3VsZCBiZSBuaWNlciB0
byB1c2UgdGhlIG1pc3NpbmcgZ2x5cGggZnJvbSB0aGUgbGFzdCByZXNvcnQgZm9udCBpbnN0ZWFk
LgogICAgIEdseXBoRGF0YSBkYXRhID0gcHJpbWFyeUZvbnQoKS0+bWlzc2luZ0dseXBoRGF0YSgp
OwotICAgIGlmICh2YXJpYW50ID09IE5vcm1hbFZhcmlhbnQpIHsKKyAgICBpZiAodmFyaWFudCA9
PSBOb3JtYWxWYXJpYW50ICYmICFjaGFyYWN0ZXJJc0Jyb2tlbklkZW9ncmFwaCkgewogI2lmIE9T
KFdJTkNFKQogICAgICAgICAvLyBTZWUgY29tbWVudCBhYm91dCBXSU5DRSBHREkgaGFuZGxpbmcg
bmVhciBzZXRHbHlwaERhdGFGb3JDaGFyYWN0ZXIgYWJvdmUuCiAgICAgICAgIHBhZ2UtPnNldEds
eXBoRGF0YUZvckNoYXJhY3RlcihjLCBjLCBkYXRhLmZvbnREYXRhKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81745</attachid>
            <date>2011-02-08 21:47:44 -0800</date>
            <delta_ts>2011-02-08 21:49:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53528-20110208214743.patch</filename>
            <type>text/plain</type>
            <size>3511</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0MTc2NWE2NTQwZGJhNTEyMzNjZmRjNGZiZjgzOTIxYTc2ODM3ZjdjLi4wMTc2M2Yy
Zjc4NTBkNjJjMjY4NDgyZDRlNjkyM2JlYThiOTMzNTg1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTEtMDItMDggIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgRG9uJ3QgbG9hZCBzY3Jp
cHRzIHdpdGggdW5rbm93biB0eXBlcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTUxNzYwCisKKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MU2NyaXB0RWxl
bWVudC9kb250LWxvYWQtdW5rbm93bi10eXBlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9kb20vSFRNTFNjcmlwdEVsZW1lbnQvZG9udC1sb2FkLXVua25vd24tdHlwZS5odG1s
OiBBZGRlZC4KKwogMjAxMS0wMi0wOCAgWmhlbnlhbyBNbyAgPHptb0Bnb29nbGUuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIHRlc3QgZXhwZWN0YXRpb25zIHVwZGF0ZS4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxTY3JpcHRFbGVtZW50L2RvbnQtbG9hZC11bmtub3du
LXR5cGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFNjcmlwdEVsZW1l
bnQvZG9udC1sb2FkLXVua25vd24tdHlwZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWI2MGU0
OTAzMWIxODdjNTM5MDQwZDc1MDE5OTQ3NzAwZjRjNGQwNwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxTY3JpcHRFbGVtZW50L2RvbnQtbG9hZC11bmtub3duLXR5
cGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKK1Vua25vd24gc2NyaXB0IHR5cGVzIHNob3Vs
ZCBub3QgYmUgbG9hZGVkIG5vciBleGVjdXRlZC4gSWYgdGhpcyB0ZXN0IGZhaWxzLCBhbiBleHRy
YSBsaW5lIHdpbGwgYXBwZWFyIGluIHRoZSBvdXRwdXQgd2l0aCB0aGUgc2NyaXB0J3MgTUlNRSB0
eXBlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFNjcmlwdEVsZW1lbnQv
ZG9udC1sb2FkLXVua25vd24tdHlwZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFNj
cmlwdEVsZW1lbnQvZG9udC1sb2FkLXVua25vd24tdHlwZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0Njgy
ZDUzNTRiM2FkMzgyODM2ZTMyNTNiOTNhNTJhZTlmMmMzMTcKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MU2NyaXB0RWxlbWVudC9kb250LWxvYWQtdW5rbm93bi10
eXBlLmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPHNjcmlwdD4KKyAgaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsK
KyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcygp
OworICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQgdHlwZT0iZmFrZSIgc3JjPSJzaG91bGRub3RleGVj
dXRlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisgIHZhciBib2d1c19zY3JpcHQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKKyAgYm9ndXNfc2NyaXB0LnR5cGUgPSAiYm9ndXMi
OworICBib2d1c19zY3JpcHQuc3JjID0gInNob3VsZG5vdGV4ZWN1dGUuanMiOworICBkb2N1bWVu
dC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENoaWxkKGJvZ3VzX3Njcmlw
dCk7Cis8L3NjcmlwdD4KK1Vua25vd24gc2NyaXB0IHR5cGVzIHNob3VsZCBub3QgYmUgbG9hZGVk
IG5vciBleGVjdXRlZC4gSWYgdGhpcyB0ZXN0IGZhaWxzLCBhbiBleHRyYSBsaW5lIHdpbGwgYXBw
ZWFyIGluIHRoZSBvdXRwdXQgd2l0aCB0aGUgc2NyaXB0J3MgTUlNRSB0eXBlLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDQ2Mzc4MTdlODVhMDY2ODc3NDZkYjg4ZTA3OWZjZjQxZTAxMWYzMzAuLjhiY2YzMjc5NjMy
OWJlN2IxN2UxYmU3MDc1NTRjN2IxOTUyNDhhNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAxMS0wMi0wOCAgSmFtZXMgU2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAgICAgICBEb24ndCBsb2FkIHNj
cmlwdHMgd2l0aCB1bmtub3duIHR5cGVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTE3NjAKKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9IVE1MU2Ny
aXB0RWxlbWVudC9kb250LWxvYWQtdW5rbm93bi10eXBlLmh0bWwKKworICAgICAgICAqIGRvbS9T
Y3JpcHRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEVsZW1lbnQ6OnJlcXVl
c3RTY3JpcHQpOgorCiAyMDExLTAyLTA4ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0
RWxlbWVudC5jcHAKaW5kZXggMTkzOWEwODBkZmM4ODM2OWYwMmZmZjc2Y2U2ODNiYzU2YmEzODUy
Yi4uNTg3MDhlZDg4MTNjNzBkNDRkYzdhZTZlNTNkN2E4Nzc3YzVmOGI4OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRFbGVtZW50LmNwcApAQCAtMTU3LDYgKzE1Nyw5IEBAIHZvaWQgU2NyaXB0RWxl
bWVudDo6cmVxdWVzdFNjcmlwdChjb25zdCBTdHJpbmcmIHNvdXJjZVVybCkKICAgICBpZiAoIW1f
ZWxlbWVudC0+aW5Eb2N1bWVudCgpIHx8IG1fZWxlbWVudC0+ZG9jdW1lbnQoKSAhPSBvcmlnaW5h
bERvY3VtZW50KQogICAgICAgICByZXR1cm47CiAKKyAgICBpZiAoIXNob3VsZEV4ZWN1dGVBc0ph
dmFTY3JpcHQoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgQVNTRVJUKCFtX2NhY2hlZFNjcmlw
dCk7CiAgICAgbV9jYWNoZWRTY3JpcHQgPSBtX2VsZW1lbnQtPmRvY3VtZW50KCktPmNhY2hlZFJl
c291cmNlTG9hZGVyKCktPnJlcXVlc3RTY3JpcHQoc291cmNlVXJsLCBzY3JpcHRDaGFyc2V0KCkp
OwogICAgIG1faXNFeHRlcm5hbFNjcmlwdCA9IHRydWU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84341</attachid>
            <date>2011-03-01 18:07:42 -0800</date>
            <delta_ts>2011-03-03 16:19:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53528-20110301180741.patch</filename>
            <type>text/plain</type>
            <size>6868</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODAwMDUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwZDE3YzE3NDQ1YjU0OTI2NzJlYTU2
NmRiMzg2Y2M5YjY1YThhMTlhLi5mMDBkYTlmYjM0MDBkMzFkZWViNzgwMWI1YWIxMTViZjA1ZWNk
NzE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDMtMDEgIEphbWVzIFNpbW9uc2VuICA8
c2ltb25qYW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCByZWFjaGVkIHdpdGggYnJva2VuIGlk
ZW9ncmFwaCBhbmQgc3lzdGVtIGZhbGxiYWNrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD01MzUyOAorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0v
dGVzdF9leHBlY3RhdGlvbnMudHh0OiBSZW1vdmUgQ1JBU0ggZnJvbSBmaXhlZCB0ZXN0LgorCiAy
MDExLTAzLTAxICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKaW5kZXggNmM4MzNjOTQ5MTAy
ZDJmZjk5YTQyMmJhNjVhYmUxOThjZTQyNjFjNS4uMmZhZmJhOTA4OGRhN2Y1MzFkM2ZkYWUxOWU0
YmQ3NjQwZDRhMWMxMyAxMDA3NTUKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
dGVzdF9leHBlY3RhdGlvbnMudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L3Rlc3RfZXhwZWN0YXRpb25zLnR4dApAQCAtMjkzNSwxNCArMjkzNSwxMSBAQCBCVUdDUjcwODgy
IFdJTiA6IGZhc3QvdGV4dC9vZmZzZXRGb3JQb3NpdGlvbi1jb21wbGV4LWZhbGxiYWNrLmh0bWwg
PSBURVhUCiBCVUdDUjcwOTQyIFdJTiA6IGVkaXRpbmcvZXhlY0NvbW1hbmQvYnJlYWstb3V0LW9m
LWVtcHR5LWxpc3QtaXRlbS5odG1sID0gUEFTUyBUSU1FT1VUCiBCVUdSTklXQSBTTE9XIFdJTiA6
IGVkaXRpbmcvZXhlY0NvbW1hbmQvNDc4NjQwNC0xLmh0bWwgPSBQQVNTCiAKLS8vIEFkZGVkIGJ5
IGFuZCBzdGFydGVkIGNyYXNoaW5nIGF0IGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0
Lzc2NzQzCi1CVUdDUjcxMDEzIExJTlVYIDogZmFzdC90ZXh0L2p1c3RpZnktaWRlb2dyYXBoLXZl
cnRpY2FsLmh0bWwgPSBDUkFTSCBJTUFHRStURVhUCi0KIC8vIFN0YXJ0ZWQgZmFpbGluZyBhdCBo
dHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC83Njc0MwogQlVHQ1I3MTAyMiBXSU4gTElO
VVggOiBmYXN0L3RleHQvanVzdGlmeS1pZGVvZ3JhcGgtY29tcGxleC5odG1sID0gSU1BR0UrVEVY
VAogQlVHQ1I3MTAyMiBNQUMgOiBmYXN0L3RleHQvanVzdGlmeS1pZGVvZ3JhcGgtY29tcGxleC5o
dG1sID0gSU1BR0UKIEJVR0NSNzEwMjIgV0lOIExJTlVYIDogZmFzdC90ZXh0L2p1c3RpZnktaWRl
b2dyYXBoLXNpbXBsZS5odG1sID0gSU1BR0UrVEVYVAotQlVHQ1I3MTAyMiBXSU4gOiBmYXN0L3Rl
eHQvanVzdGlmeS1pZGVvZ3JhcGgtdmVydGljYWwuaHRtbCA9IElNQUdFK1RFWFQKK0JVR0NSNzEw
MjIgV0lOIExJTlVYIDogZmFzdC90ZXh0L2p1c3RpZnktaWRlb2dyYXBoLXZlcnRpY2FsLmh0bWwg
PSBJTUFHRStURVhUCiAKIEJVR1dLNTMzNDcgV0lOIExJTlVYIERFQlVHIDogZmFzdC9yZXBhaW50
LzQ3NzQzNTQuaHRtbCA9IFBBU1MgVElNRU9VVAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjk1NmE2NTFhMjU5
NDQ0OWU5OTRhZDJmYzhiMWQ4NDM4NTNjNzcwNS4uN2NjZjVkN2YyYTYxNTIwZWQ3Y2Y0MzJmZjFm
OTMyYmVjZGM3YTNiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTAzLTAxICBK
YW1lcyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQgcmVhY2hl
ZCB3aXRoIGJyb2tlbiBpZGVvZ3JhcGggYW5kIHN5c3RlbSBmYWxsYmFjaworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM1MjgKKworICAgICAgICBUZXN0
OiBmYXN0L3RleHQvanVzdGlmeS1pZGVvZ3JhcGgtdmVydGljYWwuaHRtbCAob24gY2hyb21pdW0g
bGludXgpCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFzdFBhdGguY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6aXNCcm9rZW5JZGVvZ3JhcGgpOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OkZvbnQ6OmdseXBoRGF0YUZvckNoYXJhY3Rlcik6IEtlZXAgYnJva2VuIGlkZW9ncmFw
aHMgb3V0IG9mIHN5c3RlbSBmYWxsYmFjayBwYWdlLgorCiAyMDExLTAzLTAxICBJbHlhIFRpa2hv
bm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZl
bCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udEZhc3RQYXRoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRG
YXN0UGF0aC5jcHAKaW5kZXggZTYyZGY2MTBjZmY3ZmU2YjE5ZGMwY2FmODY1OGY2N2JhYzhkMGI2
NS4uNWRkMmUwMjJiODhhNzlkZDIzOWJjYzY0NmY0MmFkNzkzNjNlNzU4ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhc3RQYXRoLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFzdFBhdGguY3BwCkBAIC00MCw2
ICs0MCwxMSBAQCB1c2luZyBuYW1lc3BhY2UgVW5pY29kZTsKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCitpbmxpbmUgc3RhdGljIGJvb2wgaXNCcm9rZW5JZGVvZ3JhcGgoY29uc3QgU2ltcGxlRm9u
dERhdGEqIGZvbnREYXRhLCBVQ2hhcjMyIGMpCit7CisgICAgcmV0dXJuIGZvbnREYXRhLT5wbGF0
Zm9ybURhdGEoKS5vcmllbnRhdGlvbigpID09IFZlcnRpY2FsICYmIGZvbnREYXRhLT5vcmllbnRh
dGlvbigpID09IEhvcml6b250YWwgJiYgRm9udDo6aXNDSktJZGVvZ3JhcGhPclN5bWJvbChjKTsK
K30KKwogR2x5cGhEYXRhIEZvbnQ6OmdseXBoRGF0YUZvckNoYXJhY3RlcihVQ2hhcjMyIGMsIGJv
b2wgbWlycm9yLCBGb250RGF0YVZhcmlhbnQgdmFyaWFudCkgY29uc3QKIHsKICAgICBBU1NFUlQo
aXNNYWluVGhyZWFkKCkpOwpAQCAtNzgsNyArODMsNyBAQCBHbHlwaERhdGEgRm9udDo6Z2x5cGhE
YXRhRm9yQ2hhcmFjdGVyKFVDaGFyMzIgYywgYm9vbCBtaXJyb3IsIEZvbnREYXRhVmFyaWFudCB2
YQogICAgICAgICAgICAgaWYgKHBhZ2UpIHsKICAgICAgICAgICAgICAgICBHbHlwaERhdGEgZGF0
YSA9IHBhZ2UtPmdseXBoRGF0YUZvckNoYXJhY3RlcihjKTsKICAgICAgICAgICAgICAgICBpZiAo
ZGF0YS5mb250RGF0YSkgewotICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5mb250RGF0YS0+
cGxhdGZvcm1EYXRhKCkub3JpZW50YXRpb24oKSA9PSBWZXJ0aWNhbCAmJiBkYXRhLmZvbnREYXRh
LT5vcmllbnRhdGlvbigpID09IEhvcml6b250YWwgJiYgRm9udDo6aXNDSktJZGVvZ3JhcGhPclN5
bWJvbChjKSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoaXNCcm9rZW5JZGVvZ3JhcGgoZGF0
YS5mb250RGF0YSwgYykpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFNpbXBsZUZv
bnREYXRhKiBpZGVvZ3JhcGhGb250RGF0YSA9IGRhdGEuZm9udERhdGEtPmJyb2tlbklkZW9ncmFw
aEZvbnREYXRhKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBHbHlwaFBhZ2VUcmVlTm9kZSog
aWRlb2dyYXBoTm9kZSA9IEdseXBoUGFnZVRyZWVOb2RlOjpnZXRSb290Q2hpbGQoaWRlb2dyYXBo
Rm9udERhdGEsIHBhZ2VOdW1iZXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgR2x5
cGhQYWdlKiBpZGVvZ3JhcGhQYWdlID0gaWRlb2dyYXBoTm9kZS0+cGFnZSgpOwpAQCAtODcsNyAr
OTIsNyBAQCBHbHlwaERhdGEgRm9udDo6Z2x5cGhEYXRhRm9yQ2hhcmFjdGVyKFVDaGFyMzIgYywg
Ym9vbCBtaXJyb3IsIEZvbnREYXRhVmFyaWFudCB2YQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChkYXRhLmZvbnREYXRhKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gZGF0YTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAg
ICAgICAgIAorCiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTaG91bGRuJ3QgYmUgcG9zc2li
bGUgdG8gZXZlbiByZWFjaCB0aGlzIHBvaW50LgogICAgICAgICAgICAgICAgICAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgICAgICAgICAgICAgIH0KQEAgLTE1OSwxNSArMTY0
LDIyIEBAIEdseXBoRGF0YSBGb250OjpnbHlwaERhdGFGb3JDaGFyYWN0ZXIoVUNoYXIzMiBjLCBi
b29sIG1pcnJvciwgRm9udERhdGFWYXJpYW50IHZhCiAgICAgICAgIGNvZGVVbml0c1sxXSA9IFUx
Nl9UUkFJTChjKTsKICAgICAgICAgY29kZVVuaXRzTGVuZ3RoID0gMjsKICAgICB9CisgICAgYm9v
bCBjaGFyYWN0ZXJJc0Jyb2tlbklkZW9ncmFwaCA9IGZhbHNlOwogICAgIGNvbnN0IFNpbXBsZUZv
bnREYXRhKiBjaGFyYWN0ZXJGb250RGF0YSA9IGZvbnRDYWNoZSgpLT5nZXRGb250RGF0YUZvckNo
YXJhY3RlcnMoKnRoaXMsIGNvZGVVbml0cywgY29kZVVuaXRzTGVuZ3RoKTsKLSAgICBpZiAodmFy
aWFudCAhPSBOb3JtYWxWYXJpYW50ICYmIGNoYXJhY3RlckZvbnREYXRhKQotICAgICAgICBjaGFy
YWN0ZXJGb250RGF0YSA9IGNoYXJhY3RlckZvbnREYXRhLT52YXJpYW50Rm9udERhdGEobV9mb250
RGVzY3JpcHRpb24sIHZhcmlhbnQpOworICAgIGlmIChjaGFyYWN0ZXJGb250RGF0YSkgeworICAg
ICAgICBpZiAodmFyaWFudCAhPSBOb3JtYWxWYXJpYW50KQorICAgICAgICAgICAgY2hhcmFjdGVy
Rm9udERhdGEgPSBjaGFyYWN0ZXJGb250RGF0YS0+dmFyaWFudEZvbnREYXRhKG1fZm9udERlc2Ny
aXB0aW9uLCB2YXJpYW50KTsKKyAgICAgICAgZWxzZSBpZiAoaXNCcm9rZW5JZGVvZ3JhcGgoY2hh
cmFjdGVyRm9udERhdGEsIGMpKSB7CisgICAgICAgICAgICBjaGFyYWN0ZXJJc0Jyb2tlbklkZW9n
cmFwaCA9IHRydWU7CisgICAgICAgICAgICBjaGFyYWN0ZXJGb250RGF0YSA9IGNoYXJhY3RlckZv
bnREYXRhLT5icm9rZW5JZGVvZ3JhcGhGb250RGF0YSgpOworICAgICAgICB9CisgICAgfQogICAg
IGlmIChjaGFyYWN0ZXJGb250RGF0YSkgewogICAgICAgICAvLyBHb3QgdGhlIGZhbGxiYWNrIGds
eXBoIGFuZCBmb250LgogICAgICAgICBHbHlwaFBhZ2UqIGZhbGxiYWNrUGFnZSA9IEdseXBoUGFn
ZVRyZWVOb2RlOjpnZXRSb290Q2hpbGQoY2hhcmFjdGVyRm9udERhdGEsIHBhZ2VOdW1iZXIpLT5w
YWdlKCk7CiAgICAgICAgIEdseXBoRGF0YSBkYXRhID0gZmFsbGJhY2tQYWdlICYmIGZhbGxiYWNr
UGFnZS0+Zm9udERhdGFGb3JDaGFyYWN0ZXIoYykgPyBmYWxsYmFja1BhZ2UtPmdseXBoRGF0YUZv
ckNoYXJhY3RlcihjKSA6IGNoYXJhY3RlckZvbnREYXRhLT5taXNzaW5nR2x5cGhEYXRhKCk7CiAg
ICAgICAgIC8vIENhY2hlIGl0IHNvIHdlIGRvbid0IGhhdmUgdG8gZG8gc3lzdGVtIGZhbGxiYWNr
IGFnYWluIG5leHQgdGltZS4KLSAgICAgICAgaWYgKHZhcmlhbnQgPT0gTm9ybWFsVmFyaWFudCkg
eworICAgICAgICBpZiAodmFyaWFudCA9PSBOb3JtYWxWYXJpYW50ICYmICFjaGFyYWN0ZXJJc0Jy
b2tlbklkZW9ncmFwaCkgewogI2lmIE9TKFdJTkNFKQogICAgICAgICAgICAgLy8gbWlzc2luZ0ds
eXBoRGF0YSByZXR1cm5zIGEgbnVsbCBjaGFyYWN0ZXIsIHdoaWNoIGlzIG5vdCBzdWl0YWJsZSBm
b3IgR0RJIHRvIGRpc3BsYXkuCiAgICAgICAgICAgICAvLyBBbHNvLCBzb21ldGltZXMgd2UgY2Fu
bm90IG1hcCBhIGZvbnQgZm9yIHRoZSBjaGFyYWN0ZXIgb24gV0lOQ0UsIGJ1dCBHREkgY2FuIHN0
aWxsCkBAIC0xODUsNyArMTk3LDcgQEAgR2x5cGhEYXRhIEZvbnQ6OmdseXBoRGF0YUZvckNoYXJh
Y3RlcihVQ2hhcjMyIGMsIGJvb2wgbWlycm9yLCBGb250RGF0YVZhcmlhbnQgdmEKICAgICAvLyBF
dmVuIHN5c3RlbSBmYWxsYmFjayBjYW4gZmFpbDsgdXNlIHRoZSBtaXNzaW5nIGdseXBoIGluIHRo
YXQgY2FzZS4KICAgICAvLyBGSVhNRTogSXQgd291bGQgYmUgbmljZXIgdG8gdXNlIHRoZSBtaXNz
aW5nIGdseXBoIGZyb20gdGhlIGxhc3QgcmVzb3J0IGZvbnQgaW5zdGVhZC4KICAgICBHbHlwaERh
dGEgZGF0YSA9IHByaW1hcnlGb250KCktPm1pc3NpbmdHbHlwaERhdGEoKTsKLSAgICBpZiAodmFy
aWFudCA9PSBOb3JtYWxWYXJpYW50KSB7CisgICAgaWYgKHZhcmlhbnQgPT0gTm9ybWFsVmFyaWFu
dCAmJiAhY2hhcmFjdGVySXNCcm9rZW5JZGVvZ3JhcGgpIHsKICNpZiBPUyhXSU5DRSkKICAgICAg
ICAgLy8gU2VlIGNvbW1lbnQgYWJvdXQgV0lOQ0UgR0RJIGhhbmRsaW5nIG5lYXIgc2V0R2x5cGhE
YXRhRm9yQ2hhcmFjdGVyIGFib3ZlLgogICAgICAgICBwYWdlLT5zZXRHbHlwaERhdGFGb3JDaGFy
YWN0ZXIoYywgYywgZGF0YS5mb250RGF0YSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84647</attachid>
            <date>2011-03-03 16:19:22 -0800</date>
            <delta_ts>2011-03-04 15:25:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53528-20110303161921.patch</filename>
            <type>text/plain</type>
            <size>8001</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODAyMTAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4ZTRiYzBjYTFlMDc1MGUyMjAyZWUz
MjllZGRjNDgyY2U5YzM5YjRhLi44MzYyY2VhNzViNzRlNmZkNjMwYjg0OTk0YmE5NzQxNmU2NDQ4
OWE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDMtMDMgIEphbWVzIFNpbW9uc2VuICA8
c2ltb25qYW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCByZWFjaGVkIHdpdGggYnJva2VuIGlk
ZW9ncmFwaCBhbmQgc3lzdGVtIGZhbGxiYWNrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD01MzUyOAorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0v
dGVzdF9leHBlY3RhdGlvbnMudHh0OiBSZW1vdmUgQ1JBU0ggZnJvbSBmaXhlZCB0ZXN0LgorCiAy
MDExLTAzLTAyICBNaWhhaSBQYXJwYXJpdGEgIDxtaWhhaXBAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQgQ2hyb21pdW0gU25vdyBMZW9wYXJkIGJhc2VsaW5lIHVwZGF0ZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0
CmluZGV4IDZjNjFmNDgyY2RiNjMwY2NlOGZkYmMwYmVjOTY3OGZlM2FkNmYyZDMuLmRjNTMxNzk4
ODk5YjgxMWQyMDJmM2E5OTg5MzQyNmEyZTNkNWE5MzQgMTAwNzU1Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTI5MjgsMTQgKzI5
MjgsMTEgQEAgQlVHQ1I3MDg4MiBXSU4gOiBmYXN0L3RleHQvb2Zmc2V0Rm9yUG9zaXRpb24tY29t
cGxleC1mYWxsYmFjay5odG1sID0gVEVYVAogQlVHQ1I3MDk0MiBXSU4gOiBlZGl0aW5nL2V4ZWND
b21tYW5kL2JyZWFrLW91dC1vZi1lbXB0eS1saXN0LWl0ZW0uaHRtbCA9IFBBU1MgVElNRU9VVAog
QlVHUk5JV0EgU0xPVyBXSU4gOiBlZGl0aW5nL2V4ZWNDb21tYW5kLzQ3ODY0MDQtMS5odG1sID0g
UEFTUwogCi0vLyBBZGRlZCBieSBhbmQgc3RhcnRlZCBjcmFzaGluZyBhdCBodHRwOi8vdHJhYy53
ZWJraXQub3JnL2NoYW5nZXNldC83Njc0MwotQlVHQ1I3MTAxMyBMSU5VWCA6IGZhc3QvdGV4dC9q
dXN0aWZ5LWlkZW9ncmFwaC12ZXJ0aWNhbC5odG1sID0gQ1JBU0ggSU1BR0UrVEVYVAotCiAvLyBT
dGFydGVkIGZhaWxpbmcgYXQgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNzY3NDMK
IEJVR0NSNzEwMjIgV0lOIExJTlVYIDogZmFzdC90ZXh0L2p1c3RpZnktaWRlb2dyYXBoLWNvbXBs
ZXguaHRtbCA9IElNQUdFK1RFWFQKIEJVR0NSNzEwMjIgTUFDIDogZmFzdC90ZXh0L2p1c3RpZnkt
aWRlb2dyYXBoLWNvbXBsZXguaHRtbCA9IElNQUdFCiBCVUdDUjcxMDIyIFdJTiBMSU5VWCA6IGZh
c3QvdGV4dC9qdXN0aWZ5LWlkZW9ncmFwaC1zaW1wbGUuaHRtbCA9IElNQUdFK1RFWFQKLUJVR0NS
NzEwMjIgV0lOIDogZmFzdC90ZXh0L2p1c3RpZnktaWRlb2dyYXBoLXZlcnRpY2FsLmh0bWwgPSBJ
TUFHRStURVhUCitCVUdDUjcxMDIyIFdJTiBMSU5VWCA6IGZhc3QvdGV4dC9qdXN0aWZ5LWlkZW9n
cmFwaC12ZXJ0aWNhbC5odG1sID0gSU1BR0UrVEVYVAogCiBCVUdXSzUzMzQ3IFdJTiBMSU5VWCBE
RUJVRyA6IGZhc3QvcmVwYWludC80Nzc0MzU0Lmh0bWwgPSBQQVNTIFRJTUVPVVQKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IDA1ZTgzNTY5MTdkODgxZDQ1YTU3MmM1ZDMxYmRlZDI0NzA2MWJhNWIuLmJlN2I5Mzk4
NjYwOWQ3OTg2ODY5MDA1NmM0NDk5MTJkYjNlZTBiYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
OCBAQAorMjAxMS0wMy0wMyAgSmFtZXMgU2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEIHJlYWNoZWQgd2l0aCBicm9rZW4gaWRlb2dyYXBoIGFuZCBzeXN0ZW0gZmFs
bGJhY2sKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUz
NTI4CisKKyAgICAgICAgVGVzdDogZmFzdC90ZXh0L2p1c3RpZnktaWRlb2dyYXBoLXZlcnRpY2Fs
Lmh0bWwgKG9uIGNocm9taXVtIGxpbnV4KQorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udEZhc3RQYXRoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzQnJva2VuSWRlb2dyYXBoKTog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpGb250OjpnbHlwaERhdGFGb3JDaGFyYWN0ZXIpOiBI
YW5kbGUgYnJva2VuIGlkZW9ncmFwaHMgYXMgYW55IG90aGVyIHZhcmlhbnQuCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNp
bXBsZUZvbnREYXRhOjp2YXJpYW50Rm9udERhdGEpOiBBZGRlZCBCcm9rZW5JZGVvZ3JhcGhWYXJp
YW50LgorCiAyMDExLTAzLTAyICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEtlbnQgVGFtdXJhLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhc3RQYXRoLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYXN0UGF0aC5jcHAKaW5kZXggZTYyZGY2MTBjZmY3ZmU2
YjE5ZGMwY2FmODY1OGY2N2JhYzhkMGI2NS4uYjc3MzA5YjVlYWE2ZjRhYWEzYzE3NTVjOGJjNTFh
NDBkYjNmMzY5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udEZhc3RQYXRoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250RmFzdFBhdGguY3BwCkBAIC00MCw2ICs0MCwxMSBAQCB1c2luZyBuYW1lc3BhY2UgVW5pY29k
ZTsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitpbmxpbmUgc3RhdGljIGJvb2wgaXNCcm9rZW5J
ZGVvZ3JhcGgoY29uc3QgU2ltcGxlRm9udERhdGEqIGZvbnREYXRhLCBVQ2hhcjMyIGMpCit7Cisg
ICAgcmV0dXJuIGZvbnREYXRhLT5wbGF0Zm9ybURhdGEoKS5vcmllbnRhdGlvbigpID09IFZlcnRp
Y2FsICYmIGZvbnREYXRhLT5vcmllbnRhdGlvbigpID09IEhvcml6b250YWwgJiYgRm9udDo6aXND
SktJZGVvZ3JhcGhPclN5bWJvbChjKTsKK30KKwogR2x5cGhEYXRhIEZvbnQ6OmdseXBoRGF0YUZv
ckNoYXJhY3RlcihVQ2hhcjMyIGMsIGJvb2wgbWlycm9yLCBGb250RGF0YVZhcmlhbnQgdmFyaWFu
dCkgY29uc3QKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwpAQCAtNzgsMTggKzgzLDkg
QEAgR2x5cGhEYXRhIEZvbnQ6OmdseXBoRGF0YUZvckNoYXJhY3RlcihVQ2hhcjMyIGMsIGJvb2wg
bWlycm9yLCBGb250RGF0YVZhcmlhbnQgdmEKICAgICAgICAgICAgIGlmIChwYWdlKSB7CiAgICAg
ICAgICAgICAgICAgR2x5cGhEYXRhIGRhdGEgPSBwYWdlLT5nbHlwaERhdGFGb3JDaGFyYWN0ZXIo
Yyk7CiAgICAgICAgICAgICAgICAgaWYgKGRhdGEuZm9udERhdGEpIHsKLSAgICAgICAgICAgICAg
ICAgICAgaWYgKGRhdGEuZm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLm9yaWVudGF0aW9uKCkgPT0g
VmVydGljYWwgJiYgZGF0YS5mb250RGF0YS0+b3JpZW50YXRpb24oKSA9PSBIb3Jpem9udGFsICYm
IEZvbnQ6OmlzQ0pLSWRlb2dyYXBoT3JTeW1ib2woYykpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IFNpbXBsZUZvbnREYXRhKiBpZGVvZ3JhcGhGb250RGF0YSA9IGRhdGEuZm9udERh
dGEtPmJyb2tlbklkZW9ncmFwaEZvbnREYXRhKCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICBH
bHlwaFBhZ2VUcmVlTm9kZSogaWRlb2dyYXBoTm9kZSA9IEdseXBoUGFnZVRyZWVOb2RlOjpnZXRS
b290Q2hpbGQoaWRlb2dyYXBoRm9udERhdGEsIHBhZ2VOdW1iZXIpOwotICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgR2x5cGhQYWdlKiBpZGVvZ3JhcGhQYWdlID0gaWRlb2dyYXBoTm9kZS0+
cGFnZSgpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlkZW9ncmFwaFBhZ2UpIHsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBHbHlwaERhdGEgZGF0YSA9IGlkZW9ncmFwaFBhZ2Ut
PmdseXBoRGF0YUZvckNoYXJhY3RlcihjKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoZGF0YS5mb250RGF0YSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IGRhdGE7Ci0gICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAKLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNob3VsZG4ndCBiZSBwb3NzaWJsZSB0byBl
dmVuIHJlYWNoIHRoaXMgcG9pbnQuCi0gICAgICAgICAgICAgICAgICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGlzQnJva2VuSWRlb2dyYXBoKGRh
dGEuZm9udERhdGEsIGMpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50ID0gQnJv
a2VuSWRlb2dyYXBoVmFyaWFudDsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhOwogICAg
ICAgICAgICAgICAgIH0KQEAgLTEwNSw3ICsxMDEsOCBAQCBHbHlwaERhdGEgRm9udDo6Z2x5cGhE
YXRhRm9yQ2hhcmFjdGVyKFVDaGFyMzIgYywgYm9vbCBtaXJyb3IsIEZvbnREYXRhVmFyaWFudCB2
YQogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIG1fZm9udExpc3QtPm1fcGFnZVpl
cm8gPSBub2RlOwogICAgICAgICB9Ci0gICAgfSBlbHNlIHsKKyAgICB9CisgICAgaWYgKHZhcmlh
bnQgIT0gTm9ybWFsVmFyaWFudCkgewogICAgICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICAg
ICAgcGFnZSA9IG5vZGUtPnBhZ2UoKTsKICAgICAgICAgICAgIGlmIChwYWdlKSB7CkBAIC0xNjAs
OCArMTU3LDEyIEBAIEdseXBoRGF0YSBGb250OjpnbHlwaERhdGFGb3JDaGFyYWN0ZXIoVUNoYXIz
MiBjLCBib29sIG1pcnJvciwgRm9udERhdGFWYXJpYW50IHZhCiAgICAgICAgIGNvZGVVbml0c0xl
bmd0aCA9IDI7CiAgICAgfQogICAgIGNvbnN0IFNpbXBsZUZvbnREYXRhKiBjaGFyYWN0ZXJGb250
RGF0YSA9IGZvbnRDYWNoZSgpLT5nZXRGb250RGF0YUZvckNoYXJhY3RlcnMoKnRoaXMsIGNvZGVV
bml0cywgY29kZVVuaXRzTGVuZ3RoKTsKLSAgICBpZiAodmFyaWFudCAhPSBOb3JtYWxWYXJpYW50
ICYmIGNoYXJhY3RlckZvbnREYXRhKQotICAgICAgICBjaGFyYWN0ZXJGb250RGF0YSA9IGNoYXJh
Y3RlckZvbnREYXRhLT52YXJpYW50Rm9udERhdGEobV9mb250RGVzY3JpcHRpb24sIHZhcmlhbnQp
OworICAgIGlmIChjaGFyYWN0ZXJGb250RGF0YSkgeworICAgICAgICBpZiAoaXNCcm9rZW5JZGVv
Z3JhcGgoY2hhcmFjdGVyRm9udERhdGEsIGMpKQorICAgICAgICAgICAgdmFyaWFudCA9IEJyb2tl
bklkZW9ncmFwaFZhcmlhbnQ7CisgICAgICAgIGlmICh2YXJpYW50ICE9IE5vcm1hbFZhcmlhbnQp
CisgICAgICAgICAgICBjaGFyYWN0ZXJGb250RGF0YSA9IGNoYXJhY3RlckZvbnREYXRhLT52YXJp
YW50Rm9udERhdGEobV9mb250RGVzY3JpcHRpb24sIHZhcmlhbnQpOworICAgIH0KICAgICBpZiAo
Y2hhcmFjdGVyRm9udERhdGEpIHsKICAgICAgICAgLy8gR290IHRoZSBmYWxsYmFjayBnbHlwaCBh
bmQgZm9udC4KICAgICAgICAgR2x5cGhQYWdlKiBmYWxsYmFja1BhZ2UgPSBHbHlwaFBhZ2VUcmVl
Tm9kZTo6Z2V0Um9vdENoaWxkKGNoYXJhY3RlckZvbnREYXRhLCBwYWdlTnVtYmVyKS0+cGFnZSgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9u
dERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRh
LmgKaW5kZXggOTNkMzNiYmU5Njc4ZTNiZTRiYjk2MThmZGY1Nzk5ODM3ODA0MGFhYi4uMmE4NGUx
OTg0NTQyMWVhZTMwNThiYTZlY2JhMmIyOTM1ODhhYzE3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCkBAIC02Niw3ICs2Niw3IEBA
IGNsYXNzIEZvbnREZXNjcmlwdGlvbjsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIGNsYXNzIFNWR0Zv
bnREYXRhOwogCi1lbnVtIEZvbnREYXRhVmFyaWFudCB7IEF1dG9WYXJpYW50LCBOb3JtYWxWYXJp
YW50LCBTbWFsbENhcHNWYXJpYW50LCBFbXBoYXNpc01hcmtWYXJpYW50IH07CitlbnVtIEZvbnRE
YXRhVmFyaWFudCB7IEF1dG9WYXJpYW50LCBOb3JtYWxWYXJpYW50LCBTbWFsbENhcHNWYXJpYW50
LCBFbXBoYXNpc01hcmtWYXJpYW50LCBCcm9rZW5JZGVvZ3JhcGhWYXJpYW50IH07CiBlbnVtIFBp
dGNoIHsgVW5rbm93blBpdGNoLCBGaXhlZFBpdGNoLCBWYXJpYWJsZVBpdGNoIH07CiAKIGNsYXNz
IFNpbXBsZUZvbnREYXRhIDogcHVibGljIEZvbnREYXRhIHsKQEAgLTgxLDYgKzgxLDcgQEAgcHVi
bGljOgogCiAgICAgU2ltcGxlRm9udERhdGEqIHNtYWxsQ2Fwc0ZvbnREYXRhKGNvbnN0IEZvbnRE
ZXNjcmlwdGlvbiYpIGNvbnN0OwogICAgIFNpbXBsZUZvbnREYXRhKiBlbXBoYXNpc01hcmtGb250
RGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mKSBjb25zdDsKKyAgICBTaW1wbGVGb250RGF0YSog
YnJva2VuSWRlb2dyYXBoRm9udERhdGEoKSBjb25zdDsKIAogICAgIFNpbXBsZUZvbnREYXRhKiB2
YXJpYW50Rm9udERhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBkZXNjcmlwdGlvbiwgRm9udERh
dGFWYXJpYW50IHZhcmlhbnQpIGNvbnN0CiAgICAgewpAQCAtODksNiArOTAsOCBAQCBwdWJsaWM6
CiAgICAgICAgICAgICByZXR1cm4gc21hbGxDYXBzRm9udERhdGEoZGVzY3JpcHRpb24pOwogICAg
ICAgICBjYXNlIEVtcGhhc2lzTWFya1ZhcmlhbnQ6CiAgICAgICAgICAgICByZXR1cm4gZW1waGFz
aXNNYXJrRm9udERhdGEoZGVzY3JpcHRpb24pOworICAgICAgICBjYXNlIEJyb2tlbklkZW9ncmFw
aFZhcmlhbnQ6CisgICAgICAgICAgICByZXR1cm4gYnJva2VuSWRlb2dyYXBoRm9udERhdGEoKTsK
ICAgICAgICAgY2FzZSBBdXRvVmFyaWFudDoKICAgICAgICAgY2FzZSBOb3JtYWxWYXJpYW50Ogog
ICAgICAgICAgICAgYnJlYWs7CkBAIC05Nyw4ICsxMDAsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJl
dHVybiBjb25zdF9jYXN0PFNpbXBsZUZvbnREYXRhKj4odGhpcyk7CiAgICAgfQogCi0gICAgU2lt
cGxlRm9udERhdGEqIGJyb2tlbklkZW9ncmFwaEZvbnREYXRhKCkgY29uc3Q7Ci0gICAgCiAgICAg
Ly8gRklYTUU6IFVzZSB0aGUgYWN0dWFsIG1ldHJpY3MgZm9yIGZvbnRzIHdpdGggdmVydGljYWwg
dGFibGVzIGluc3RlYWQgb2YganVzdCBoYXJkLWNvZGluZy4gIElmIHRoZSBmb250IGlzIGhvcml6
b250YWxseSBvcmllbnRlZCBvcgogICAgIC8vIGEgYnJva2VuIGlkZW9ncmFwaGljIGZvbnQsIHRo
ZW4ganVzdCBoYXJkLWNvZGUgdG8gc3BsaXQgYXNjZW50L2Rlc2NlbnQgZG93biB0aGUgbWlkZGxl
LiAgT3RoZXJ3aXNlIHdlIHNob3VsZCBhY3R1YWxseSB1c2UgdGhlIG1ldHJpY3MKICAgICAvLyBm
cm9tIHRoZSBmb250IGl0c2VsZi4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84813</attachid>
            <date>2011-03-04 15:25:55 -0800</date>
            <delta_ts>2011-05-23 20:39:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53528-20110304152554.patch</filename>
            <type>text/plain</type>
            <size>8318</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODAzNjQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjYjg2ZTVmYTZmYmJjMjM0MGEzOTE3
ZGRiNzJkNzc1MWFkMjNmMjk5Li45ZDNlOGQ0YTA2Mjc5ZDQ5ZWU0ZDUzYzc4MTgzMDlkMGNlMzdi
YTljIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDMtMDQgIEphbWVzIFNpbW9uc2VuICA8
c2ltb25qYW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCByZWFjaGVkIHdpdGggYnJva2VuIGlk
ZW9ncmFwaCBhbmQgc3lzdGVtIGZhbGxiYWNrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD01MzUyOAorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0v
dGVzdF9leHBlY3RhdGlvbnMudHh0OiBSZW1vdmUgQ1JBU0ggZnJvbSBmaXhlZCB0ZXN0LgorCiAy
MDExLTAzLTA0ICBUb255IEdlbnRpbGNvcmUgIDx0b255Z0BjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCBleHBlY3RhdGlvbnMgdXBkYXRlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CmluZGV4IGM4MjhlMmUzZDcz
YjRmN2ExNDVlNmI3YTU2YzE4NjdmYmRkOTI1ZjMuLjliYTI4ZTYwM2Y3M2I2NjMyMmI0ZDgxMWFm
OWNhYjBiYzQ2NTUzMDUgMTAwNzU1Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTI5MjUsMTQgKzI5MjUsMTEgQEAgQlVHQ1I3MDg4
MiBXSU4gOiBmYXN0L3RleHQvb2Zmc2V0Rm9yUG9zaXRpb24tY29tcGxleC1mYWxsYmFjay5odG1s
ID0gVEVYVAogQlVHQ1I3MDk0MiBXSU4gOiBlZGl0aW5nL2V4ZWNDb21tYW5kL2JyZWFrLW91dC1v
Zi1lbXB0eS1saXN0LWl0ZW0uaHRtbCA9IFBBU1MgVElNRU9VVAogQlVHUk5JV0EgU0xPVyBXSU4g
OiBlZGl0aW5nL2V4ZWNDb21tYW5kLzQ3ODY0MDQtMS5odG1sID0gUEFTUwogCi0vLyBBZGRlZCBi
eSBhbmQgc3RhcnRlZCBjcmFzaGluZyBhdCBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNl
dC83Njc0MwotQlVHQ1I3MTAxMyBMSU5VWCA6IGZhc3QvdGV4dC9qdXN0aWZ5LWlkZW9ncmFwaC12
ZXJ0aWNhbC5odG1sID0gQ1JBU0ggSU1BR0UrVEVYVAotCiAvLyBTdGFydGVkIGZhaWxpbmcgYXQg
aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNzY3NDMKIEJVR0NSNzEwMjIgV0lOIExJ
TlVYIDogZmFzdC90ZXh0L2p1c3RpZnktaWRlb2dyYXBoLWNvbXBsZXguaHRtbCA9IElNQUdFK1RF
WFQKIEJVR0NSNzEwMjIgTUFDIDogZmFzdC90ZXh0L2p1c3RpZnktaWRlb2dyYXBoLWNvbXBsZXgu
aHRtbCA9IElNQUdFCiBCVUdDUjcxMDIyIFdJTiBMSU5VWCA6IGZhc3QvdGV4dC9qdXN0aWZ5LWlk
ZW9ncmFwaC1zaW1wbGUuaHRtbCA9IElNQUdFK1RFWFQKLUJVR0NSNzEwMjIgV0lOIDogZmFzdC90
ZXh0L2p1c3RpZnktaWRlb2dyYXBoLXZlcnRpY2FsLmh0bWwgPSBJTUFHRStURVhUCitCVUdDUjcx
MDIyIFdJTiBMSU5VWCA6IGZhc3QvdGV4dC9qdXN0aWZ5LWlkZW9ncmFwaC12ZXJ0aWNhbC5odG1s
ID0gSU1BR0UrVEVYVAogCiBCVUdXSzUzMzQ3IFdJTiBMSU5VWCBERUJVRyA6IGZhc3QvcmVwYWlu
dC80Nzc0MzU0Lmh0bWwgPSBQQVNTIFRJTUVPVVQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDVlY2YwNDE3YTJl
Nzc5N2RhN2U3NDE2NTllNDBjMTg1MjcwMDVlZWQuLmU1ZWQwOTY3NmRiYzViNjEyZWMyNzg3NWIw
YWY3NDAxNzRiM2EyMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0wMy0wNCAg
SmFtZXMgU2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEIHJlYWNo
ZWQgd2l0aCBicm9rZW4gaWRlb2dyYXBoIGFuZCBzeXN0ZW0gZmFsbGJhY2sKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUzNTI4CisKKyAgICAgICAgVGVz
dDogZmFzdC90ZXh0L2p1c3RpZnktaWRlb2dyYXBoLXZlcnRpY2FsLmh0bWwgKG9uIGNocm9taXVt
IGxpbnV4KQorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhc3RQYXRoLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmlzQnJva2VuSWRlb2dyYXBoKTogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpGb250OjpnbHlwaERhdGFGb3JDaGFyYWN0ZXIpOiBIYW5kbGUgYnJva2VuIGlkZW9n
cmFwaHMgYXMgYW55IG90aGVyIHZhcmlhbnQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
U2ltcGxlRm9udERhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjp2YXJp
YW50Rm9udERhdGEpOiBBZGRlZCBCcm9rZW5JZGVvZ3JhcGhWYXJpYW50LgorCiAyMDExLTAzLTA0
ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IE5pa29sYXMgWmltbWVybWFubi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRGYXN0UGF0aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250RmFzdFBhdGguY3BwCmluZGV4IGU2MmRmNjEwY2ZmN2ZlNmIxOWRjMGNh
Zjg2NThmNjdiYWM4ZDBiNjUuLmM5MDg5MmQ2YTAxNDU0MjZiMjNhNjg1OGZkZThmOWFhMTk4YzFi
ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYXN0
UGF0aC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhc3RQ
YXRoLmNwcApAQCAtNDAsNiArNDAsMTEgQEAgdXNpbmcgbmFtZXNwYWNlIFVuaWNvZGU7CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAoraW5saW5lIHN0YXRpYyBib29sIGlzQnJva2VuSWRlb2dyYXBo
KGNvbnN0IFNpbXBsZUZvbnREYXRhKiBmb250RGF0YSwgVUNoYXIzMiBjKQoreworICAgIHJldHVy
biBmb250RGF0YS0+cGxhdGZvcm1EYXRhKCkub3JpZW50YXRpb24oKSA9PSBWZXJ0aWNhbCAmJiBm
b250RGF0YS0+b3JpZW50YXRpb24oKSA9PSBIb3Jpem9udGFsICYmIEZvbnQ6OmlzQ0pLSWRlb2dy
YXBoT3JTeW1ib2woYyk7Cit9CisKIEdseXBoRGF0YSBGb250OjpnbHlwaERhdGFGb3JDaGFyYWN0
ZXIoVUNoYXIzMiBjLCBib29sIG1pcnJvciwgRm9udERhdGFWYXJpYW50IHZhcmlhbnQpIGNvbnN0
CiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKQEAgLTcwLDcgKzc1LDcgQEAgR2x5cGhE
YXRhIEZvbnQ6OmdseXBoRGF0YUZvckNoYXJhY3RlcihVQ2hhcjMyIGMsIGJvb2wgbWlycm9yLCBG
b250RGF0YVZhcmlhbnQgdmEKICAgICAgICAgICAgIG1fZm9udExpc3QtPm1fcGFnZVplcm8gPSBu
b2RlOwogICAgIH0KIAotICAgIEdseXBoUGFnZSogcGFnZTsKKyAgICBHbHlwaFBhZ2UqIHBhZ2Ug
PSAwOwogICAgIGlmICh2YXJpYW50ID09IE5vcm1hbFZhcmlhbnQpIHsKICAgICAgICAgLy8gRmFz
dGVzdCBsb29wLCBmb3IgdGhlIGNvbW1vbiBjYXNlIChub3JtYWwgdmFyaWFudCkuCiAgICAgICAg
IHdoaWxlICh0cnVlKSB7CkBAIC03OCwxOCArODMsOSBAQCBHbHlwaERhdGEgRm9udDo6Z2x5cGhE
YXRhRm9yQ2hhcmFjdGVyKFVDaGFyMzIgYywgYm9vbCBtaXJyb3IsIEZvbnREYXRhVmFyaWFudCB2
YQogICAgICAgICAgICAgaWYgKHBhZ2UpIHsKICAgICAgICAgICAgICAgICBHbHlwaERhdGEgZGF0
YSA9IHBhZ2UtPmdseXBoRGF0YUZvckNoYXJhY3RlcihjKTsKICAgICAgICAgICAgICAgICBpZiAo
ZGF0YS5mb250RGF0YSkgewotICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YS5mb250RGF0YS0+
cGxhdGZvcm1EYXRhKCkub3JpZW50YXRpb24oKSA9PSBWZXJ0aWNhbCAmJiBkYXRhLmZvbnREYXRh
LT5vcmllbnRhdGlvbigpID09IEhvcml6b250YWwgJiYgRm9udDo6aXNDSktJZGVvZ3JhcGhPclN5
bWJvbChjKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU2ltcGxlRm9udERhdGEq
IGlkZW9ncmFwaEZvbnREYXRhID0gZGF0YS5mb250RGF0YS0+YnJva2VuSWRlb2dyYXBoRm9udERh
dGEoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIEdseXBoUGFnZVRyZWVOb2RlKiBpZGVvZ3Jh
cGhOb2RlID0gR2x5cGhQYWdlVHJlZU5vZGU6OmdldFJvb3RDaGlsZChpZGVvZ3JhcGhGb250RGF0
YSwgcGFnZU51bWJlcik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBHbHlwaFBhZ2Uq
IGlkZW9ncmFwaFBhZ2UgPSBpZGVvZ3JhcGhOb2RlLT5wYWdlKCk7Ci0gICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoaWRlb2dyYXBoUGFnZSkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEdseXBoRGF0YSBkYXRhID0gaWRlb2dyYXBoUGFnZS0+Z2x5cGhEYXRhRm9yQ2hhcmFjdGVyKGMp
OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLmZvbnREYXRhKQotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gU2hvdWxkbid0IGJlIHBvc3NpYmxlIHRvIGV2ZW4gcmVhY2ggdGhpcyBwb2ludC4KLSAg
ICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAg
ICAgICAgICBpZiAoaXNCcm9rZW5JZGVvZ3JhcGgoZGF0YS5mb250RGF0YSwgYykpIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHZhcmlhbnQgPSBCcm9rZW5JZGVvZ3JhcGhWYXJpYW50OworICAg
ICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7CiAgICAgICAgICAgICAgICAgfQpAQCAtMTA1LDcg
KzEwMSw4IEBAIEdseXBoRGF0YSBGb250OjpnbHlwaERhdGFGb3JDaGFyYWN0ZXIoVUNoYXIzMiBj
LCBib29sIG1pcnJvciwgRm9udERhdGFWYXJpYW50IHZhCiAgICAgICAgICAgICBlbHNlCiAgICAg
ICAgICAgICAgICAgbV9mb250TGlzdC0+bV9wYWdlWmVybyA9IG5vZGU7CiAgICAgICAgIH0KLSAg
ICB9IGVsc2UgeworICAgIH0KKyAgICBpZiAodmFyaWFudCAhPSBOb3JtYWxWYXJpYW50KSB7CiAg
ICAgICAgIHdoaWxlICh0cnVlKSB7CiAgICAgICAgICAgICBwYWdlID0gbm9kZS0+cGFnZSgpOwog
ICAgICAgICAgICAgaWYgKHBhZ2UpIHsKQEAgLTE2MCw4ICsxNTcsMTIgQEAgR2x5cGhEYXRhIEZv
bnQ6OmdseXBoRGF0YUZvckNoYXJhY3RlcihVQ2hhcjMyIGMsIGJvb2wgbWlycm9yLCBGb250RGF0
YVZhcmlhbnQgdmEKICAgICAgICAgY29kZVVuaXRzTGVuZ3RoID0gMjsKICAgICB9CiAgICAgY29u
c3QgU2ltcGxlRm9udERhdGEqIGNoYXJhY3RlckZvbnREYXRhID0gZm9udENhY2hlKCktPmdldEZv
bnREYXRhRm9yQ2hhcmFjdGVycygqdGhpcywgY29kZVVuaXRzLCBjb2RlVW5pdHNMZW5ndGgpOwot
ICAgIGlmICh2YXJpYW50ICE9IE5vcm1hbFZhcmlhbnQgJiYgY2hhcmFjdGVyRm9udERhdGEpCi0g
ICAgICAgIGNoYXJhY3RlckZvbnREYXRhID0gY2hhcmFjdGVyRm9udERhdGEtPnZhcmlhbnRGb250
RGF0YShtX2ZvbnREZXNjcmlwdGlvbiwgdmFyaWFudCk7CisgICAgaWYgKGNoYXJhY3RlckZvbnRE
YXRhKSB7CisgICAgICAgIGlmIChpc0Jyb2tlbklkZW9ncmFwaChjaGFyYWN0ZXJGb250RGF0YSwg
YykpCisgICAgICAgICAgICB2YXJpYW50ID0gQnJva2VuSWRlb2dyYXBoVmFyaWFudDsKKyAgICAg
ICAgaWYgKHZhcmlhbnQgIT0gTm9ybWFsVmFyaWFudCkKKyAgICAgICAgICAgIGNoYXJhY3RlckZv
bnREYXRhID0gY2hhcmFjdGVyRm9udERhdGEtPnZhcmlhbnRGb250RGF0YShtX2ZvbnREZXNjcmlw
dGlvbiwgdmFyaWFudCk7CisgICAgfQogICAgIGlmIChjaGFyYWN0ZXJGb250RGF0YSkgewogICAg
ICAgICAvLyBHb3QgdGhlIGZhbGxiYWNrIGdseXBoIGFuZCBmb250LgogICAgICAgICBHbHlwaFBh
Z2UqIGZhbGxiYWNrUGFnZSA9IEdseXBoUGFnZVRyZWVOb2RlOjpnZXRSb290Q2hpbGQoY2hhcmFj
dGVyRm9udERhdGEsIHBhZ2VOdW1iZXIpLT5wYWdlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAppbmRleCA5M2QzM2JiZTk2NzhlM2Jl
NGJiOTYxOGZkZjU3OTk4Mzc4MDQwYWFiLi4yYTg0ZTE5ODQ1NDIxZWFlMzA1OGJhNmVjYmEyYjI5
MzU4OGFjMTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9T
aW1wbGVGb250RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1Np
bXBsZUZvbnREYXRhLmgKQEAgLTY2LDcgKzY2LDcgQEAgY2xhc3MgRm9udERlc2NyaXB0aW9uOwog
Y2xhc3MgU2hhcmVkQnVmZmVyOwogY2xhc3MgU1ZHRm9udERhdGE7CiAKLWVudW0gRm9udERhdGFW
YXJpYW50IHsgQXV0b1ZhcmlhbnQsIE5vcm1hbFZhcmlhbnQsIFNtYWxsQ2Fwc1ZhcmlhbnQsIEVt
cGhhc2lzTWFya1ZhcmlhbnQgfTsKK2VudW0gRm9udERhdGFWYXJpYW50IHsgQXV0b1ZhcmlhbnQs
IE5vcm1hbFZhcmlhbnQsIFNtYWxsQ2Fwc1ZhcmlhbnQsIEVtcGhhc2lzTWFya1ZhcmlhbnQsIEJy
b2tlbklkZW9ncmFwaFZhcmlhbnQgfTsKIGVudW0gUGl0Y2ggeyBVbmtub3duUGl0Y2gsIEZpeGVk
UGl0Y2gsIFZhcmlhYmxlUGl0Y2ggfTsKIAogY2xhc3MgU2ltcGxlRm9udERhdGEgOiBwdWJsaWMg
Rm9udERhdGEgewpAQCAtODEsNiArODEsNyBAQCBwdWJsaWM6CiAKICAgICBTaW1wbGVGb250RGF0
YSogc21hbGxDYXBzRm9udERhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJikgY29uc3Q7CiAgICAg
U2ltcGxlRm9udERhdGEqIGVtcGhhc2lzTWFya0ZvbnREYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlv
biYpIGNvbnN0OworICAgIFNpbXBsZUZvbnREYXRhKiBicm9rZW5JZGVvZ3JhcGhGb250RGF0YSgp
IGNvbnN0OwogCiAgICAgU2ltcGxlRm9udERhdGEqIHZhcmlhbnRGb250RGF0YShjb25zdCBGb250
RGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uLCBGb250RGF0YVZhcmlhbnQgdmFyaWFudCkgY29uc3QK
ICAgICB7CkBAIC04OSw2ICs5MCw4IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJldHVybiBzbWFs
bENhcHNGb250RGF0YShkZXNjcmlwdGlvbik7CiAgICAgICAgIGNhc2UgRW1waGFzaXNNYXJrVmFy
aWFudDoKICAgICAgICAgICAgIHJldHVybiBlbXBoYXNpc01hcmtGb250RGF0YShkZXNjcmlwdGlv
bik7CisgICAgICAgIGNhc2UgQnJva2VuSWRlb2dyYXBoVmFyaWFudDoKKyAgICAgICAgICAgIHJl
dHVybiBicm9rZW5JZGVvZ3JhcGhGb250RGF0YSgpOwogICAgICAgICBjYXNlIEF1dG9WYXJpYW50
OgogICAgICAgICBjYXNlIE5vcm1hbFZhcmlhbnQ6CiAgICAgICAgICAgICBicmVhazsKQEAgLTk3
LDggKzEwMCw2IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGNvbnN0X2Nhc3Q8U2ltcGxlRm9u
dERhdGEqPih0aGlzKTsKICAgICB9CiAKLSAgICBTaW1wbGVGb250RGF0YSogYnJva2VuSWRlb2dy
YXBoRm9udERhdGEoKSBjb25zdDsKLSAgICAKICAgICAvLyBGSVhNRTogVXNlIHRoZSBhY3R1YWwg
bWV0cmljcyBmb3IgZm9udHMgd2l0aCB2ZXJ0aWNhbCB0YWJsZXMgaW5zdGVhZCBvZiBqdXN0IGhh
cmQtY29kaW5nLiAgSWYgdGhlIGZvbnQgaXMgaG9yaXpvbnRhbGx5IG9yaWVudGVkIG9yCiAgICAg
Ly8gYSBicm9rZW4gaWRlb2dyYXBoaWMgZm9udCwgdGhlbiBqdXN0IGhhcmQtY29kZSB0byBzcGxp
dCBhc2NlbnQvZGVzY2VudCBkb3duIHRoZSBtaWRkbGUuICBPdGhlcndpc2Ugd2Ugc2hvdWxkIGFj
dHVhbGx5IHVzZSB0aGUgbWV0cmljcwogICAgIC8vIGZyb20gdGhlIGZvbnQgaXRzZWxmLgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94552</attachid>
            <date>2011-05-23 20:39:35 -0700</date>
            <delta_ts>2011-05-24 15:12:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53528-20110523203934.patch</filename>
            <type>text/plain</type>
            <size>8536</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODcwNjUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwYTgwY2FkMzIxMjBhMjNkYTM1NDUz
MjZiMDcyMDVjMmUxMjFiZjJiLi4xY2QzYTEwYzY5OGI3ZTViNzk2ZmYwMjg2ODY1ZGVlZTgwNzVl
OTkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDUtMjMgIEphbWVzIFNpbW9uc2VuICA8
c2ltb25qYW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVs
LgorCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCByZWFjaGVkIHdpdGggYnJva2VuIGlkZW9n
cmFwaCBhbmQgc3lzdGVtIGZhbGxiYWNrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD01MzUyOAorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVz
dF9leHBlY3RhdGlvbnMudHh0OiBSZW1vdmUgQ1JBU0ggZnJvbSBmaXhlZCB0ZXN0LgorCiAyMDEx
LTA1LTIzICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAg
W1F0XSBVbnJldmlld2VkLCBza2lwIG5ldyBmYWlsaW5nIHRlc3RzLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CmluZGV4IGE0NDY2
Mzg4NzllMzcyOTY5ZmI1YjdiMWQwNWQ0OTgzNTlmYmUwODMuLjZkYWNlNTU0MGU5NWI3YzQ5OGEy
NDQxNWMzNWE2MGNiYmNkN2IyNmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTI4NjEsMTUgKzI4NjEsMTEgQEAgQlVH
Q1I3MDg4MiBXSU4gOiBmYXN0L3RleHQvb2Zmc2V0Rm9yUG9zaXRpb24tY29tcGxleC1mYWxsYmFj
ay5odG1sID0gVEVYVAogQlVHQ1I3MDk0MiBXSU4gOiBlZGl0aW5nL2V4ZWNDb21tYW5kL2JyZWFr
LW91dC1vZi1lbXB0eS1saXN0LWl0ZW0uaHRtbCA9IFBBU1MgVElNRU9VVAogQlVHUk5JV0EgU0xP
VyBXSU4gOiBlZGl0aW5nL2V4ZWNDb21tYW5kLzQ3ODY0MDQtMS5odG1sID0gUEFTUwogCi0vLyBB
ZGRlZCBieSBhbmQgc3RhcnRlZCBjcmFzaGluZyBhdCBodHRwOi8vdHJhYy53ZWJraXQub3JnL2No
YW5nZXNldC83Njc0MywKLS8vIHN0b3BwZWQgY3Jhc2hpbmcgYXQgc29tZSBwb2ludCBhZnRlciA4
MDU4MiwgYnV0IHNlZSBCVUdDUjc1NDI2IQotQlVHQ1I3MTAxMyBMSU5VWCA6IGZhc3QvdGV4dC9q
dXN0aWZ5LWlkZW9ncmFwaC12ZXJ0aWNhbC5odG1sID0gQ1JBU0ggSU1BR0UrVEVYVAotCiAvLyBT
dGFydGVkIGZhaWxpbmcgYXQgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNzY3NDMK
IEJVR0NSNzEwMjIgV0lOIExJTlVYIDogZmFzdC90ZXh0L2p1c3RpZnktaWRlb2dyYXBoLWNvbXBs
ZXguaHRtbCA9IElNQUdFK1RFWFQKIEJVR0NSNzEwMjIgTUFDIDogZmFzdC90ZXh0L2p1c3RpZnkt
aWRlb2dyYXBoLWNvbXBsZXguaHRtbCA9IElNQUdFCiBCVUdDUjcxMDIyIFdJTiBMSU5VWCA6IGZh
c3QvdGV4dC9qdXN0aWZ5LWlkZW9ncmFwaC1zaW1wbGUuaHRtbCA9IElNQUdFK1RFWFQKLUJVR0NS
NzEwMjIgV0lOIDogZmFzdC90ZXh0L2p1c3RpZnktaWRlb2dyYXBoLXZlcnRpY2FsLmh0bWwgPSBJ
TUFHRStURVhUCitCVUdDUjcxMDIyIFdJTiBMSU5VWCA6IGZhc3QvdGV4dC9qdXN0aWZ5LWlkZW9n
cmFwaC12ZXJ0aWNhbC5odG1sID0gSU1BR0UrVEVYVAogLy8gU2VlbXMgdG8gaGF2ZSBzdGFydGVk
IGZhaWxpbmcgYXQgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvODA1ODIKIEJVR0NS
NzEwMjIgTEVPUEFSRCA6IGZhc3QvdGV4dC9qdXN0aWZ5LWlkZW9ncmFwaC12ZXJ0aWNhbC5odG1s
ID0gSU1BR0UKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDRlZTg2ZjkyMWZlNGVhZTA2M2RhM2Y0NzNiMjUxNTc0
MWQ3MzM3YzEuLjE2MzE3YTE0OGE4NDk1NWUwMTVjYTlhYzE5MmViMDAxNDg5YTI1YzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMS0wNS0yMyAgSmFtZXMgU2ltb25zZW4gIDxzaW1v
bmphbUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCisK
KyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEIHJlYWNoZWQgd2l0aCBicm9rZW4gaWRlb2dyYXBo
IGFuZCBzeXN0ZW0gZmFsbGJhY2sKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTUzNTI4CisKKyAgICAgICAgVGVzdDogZmFzdC90ZXh0L2p1c3RpZnktaWRl
b2dyYXBoLXZlcnRpY2FsLmh0bWwgKG9uIGNocm9taXVtIGxpbnV4KQorCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udEZhc3RQYXRoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6
OmdseXBoRGF0YUZvckNoYXJhY3Rlcik6IElkZW50aWZ5IGFuZCBoYW5kbGUgYnJva2VuIGlkZW9n
cmFwaHMgYXMgYW55IG90aGVyIHZhcmlhbnQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
U2ltcGxlRm9udERhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjp2YXJp
YW50Rm9udERhdGEpOiBBZGRlZCBCcm9rZW5JZGVvZ3JhcGhWYXJpYW50LgorCiAyMDExLTA1LTE5
ICBWaXRhbHkgUmVwZXNoa28gIDx2aXRhbHlyQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBBZGFtIEJhcnRoLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udEZhc3RQYXRoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRGYXN0UGF0aC5jcHAKaW5kZXggYjI0NDdiODU3MjE2YjlhZmE4MzE1ZjJjYzc1NTVi
YTgyMGUzNTkxMi4uMTg0MmM2NWFkYWZiYjEwNTVlODk1ZTBmMmJhZWUwOTUxNjYxZGJhZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhc3RQYXRoLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFzdFBhdGguY3Bw
CkBAIC03MCw3ICs3MCw3IEBAIEdseXBoRGF0YSBGb250OjpnbHlwaERhdGFGb3JDaGFyYWN0ZXIo
VUNoYXIzMiBjLCBib29sIG1pcnJvciwgRm9udERhdGFWYXJpYW50IHZhCiAgICAgICAgICAgICBt
X2ZvbnRMaXN0LT5tX3BhZ2VaZXJvID0gbm9kZTsKICAgICB9CiAKLSAgICBHbHlwaFBhZ2UqIHBh
Z2U7CisgICAgR2x5cGhQYWdlKiBwYWdlID0gMDsKICAgICBpZiAodmFyaWFudCA9PSBOb3JtYWxW
YXJpYW50KSB7CiAgICAgICAgIC8vIEZhc3Rlc3QgbG9vcCwgZm9yIHRoZSBjb21tb24gY2FzZSAo
bm9ybWFsIHZhcmlhbnQpLgogICAgICAgICB3aGlsZSAodHJ1ZSkgewpAQCAtNzksMjMgKzc5LDE0
IEBAIEdseXBoRGF0YSBGb250OjpnbHlwaERhdGFGb3JDaGFyYWN0ZXIoVUNoYXIzMiBjLCBib29s
IG1pcnJvciwgRm9udERhdGFWYXJpYW50IHZhCiAgICAgICAgICAgICAgICAgR2x5cGhEYXRhIGRh
dGEgPSBwYWdlLT5nbHlwaERhdGFGb3JDaGFyYWN0ZXIoYyk7CiAgICAgICAgICAgICAgICAgaWYg
KGRhdGEuZm9udERhdGEgJiYgKGRhdGEuZm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLm9yaWVudGF0
aW9uKCkgPT0gSG9yaXpvbnRhbCB8fCBkYXRhLmZvbnREYXRhLT5pc1RleHRPcmllbnRhdGlvbkZh
bGxiYWNrKCkpKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsKLSAgICAgICAgICAg
ICAgICAKKwogICAgICAgICAgICAgICAgIGlmIChkYXRhLmZvbnREYXRhKSB7CiAgICAgICAgICAg
ICAgICAgICAgIGlmIChpc0NKS0lkZW9ncmFwaE9yU3ltYm9sKGMpKSB7CiAgICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoIWRhdGEuZm9udERhdGEtPmhhc1ZlcnRpY2FsR2x5cGhzKCkpIHsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBVc2UgdGhlIGJyb2tlbiBpZGVvZ3JhcGggZm9u
dCBkYXRhLiBUaGUgYnJva2VuIGlkZW9ncmFwaCBmb250IHdpbGwgdXNlIHRoZSBob3Jpem9udGFs
IHdpZHRoIG9mIGdseXBocwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRvIG1ha2Ug
c3VyZSB5b3UgZ2V0IGEgc3F1YXJlIChldmVuIGZvciBicm9rZW4gZ2x5cGhzIGxpa2Ugc3ltYm9s
cyB1c2VkIGZvciBwdW5jdHVhdGlvbikuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgU2ltcGxlRm9udERhdGEqIGJyb2tlbklkZW9ncmFwaEZvbnREYXRhID0gZGF0YS5mb250RGF0
YS0+YnJva2VuSWRlb2dyYXBoRm9udERhdGEoKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBHbHlwaFBhZ2VUcmVlTm9kZSogYnJva2VuSWRlb2dyYXBoTm9kZSA9IEdseXBoUGFnZVRyZWVO
b2RlOjpnZXRSb290Q2hpbGQoYnJva2VuSWRlb2dyYXBoRm9udERhdGEsIHBhZ2VOdW1iZXIpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEdseXBoUGFnZSogYnJva2VuSWRlb2dy
YXBoUGFnZSA9IGJyb2tlbklkZW9ncmFwaE5vZGUtPnBhZ2UoKTsKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoYnJva2VuSWRlb2dyYXBoUGFnZSkgewotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBHbHlwaERhdGEgYnJva2VuSWRlb2dyYXBoRGF0YSA9IGJyb2tlbklkZW9n
cmFwaFBhZ2UtPmdseXBoRGF0YUZvckNoYXJhY3RlcihjKTsKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgKGJyb2tlbklkZW9ncmFwaERhdGEuZm9udERhdGEpCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYnJva2VuSWRlb2dyYXBoRGF0YTsKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2hvdWxkbid0IGJlIHBvc3NpYmxlIHRv
IGV2ZW4gcmVhY2ggdGhpcyBwb2ludC4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50ID0g
QnJva2VuSWRlb2dyYXBoVmFyaWFudDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtX2ZvbnREZXNjcmlwdGlvbi50ZXh0T3Jp
ZW50YXRpb24oKSA9PSBUZXh0T3JpZW50YXRpb25WZXJ0aWNhbFJpZ2h0KSB7CkBAIC0xNDUsNyAr
MTM2LDggQEAgR2x5cGhEYXRhIEZvbnQ6OmdseXBoRGF0YUZvckNoYXJhY3RlcihVQ2hhcjMyIGMs
IGJvb2wgbWlycm9yLCBGb250RGF0YVZhcmlhbnQgdmEKICAgICAgICAgICAgIGVsc2UKICAgICAg
ICAgICAgICAgICBtX2ZvbnRMaXN0LT5tX3BhZ2VaZXJvID0gbm9kZTsKICAgICAgICAgfQotICAg
IH0gZWxzZSB7CisgICAgfQorICAgIGlmICh2YXJpYW50ICE9IE5vcm1hbFZhcmlhbnQpIHsKICAg
ICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgICAgIHBhZ2UgPSBub2RlLT5wYWdlKCk7CiAg
ICAgICAgICAgICBpZiAocGFnZSkgewpAQCAtMjAwLDggKzE5MiwxMiBAQCBHbHlwaERhdGEgRm9u
dDo6Z2x5cGhEYXRhRm9yQ2hhcmFjdGVyKFVDaGFyMzIgYywgYm9vbCBtaXJyb3IsIEZvbnREYXRh
VmFyaWFudCB2YQogICAgICAgICBjb2RlVW5pdHNMZW5ndGggPSAyOwogICAgIH0KICAgICBjb25z
dCBTaW1wbGVGb250RGF0YSogY2hhcmFjdGVyRm9udERhdGEgPSBmb250Q2FjaGUoKS0+Z2V0Rm9u
dERhdGFGb3JDaGFyYWN0ZXJzKCp0aGlzLCBjb2RlVW5pdHMsIGNvZGVVbml0c0xlbmd0aCk7Ci0g
ICAgaWYgKHZhcmlhbnQgIT0gTm9ybWFsVmFyaWFudCAmJiBjaGFyYWN0ZXJGb250RGF0YSkKLSAg
ICAgICAgY2hhcmFjdGVyRm9udERhdGEgPSBjaGFyYWN0ZXJGb250RGF0YS0+dmFyaWFudEZvbnRE
YXRhKG1fZm9udERlc2NyaXB0aW9uLCB2YXJpYW50KTsKKyAgICBpZiAoY2hhcmFjdGVyRm9udERh
dGEpIHsKKyAgICAgICAgaWYgKGNoYXJhY3RlckZvbnREYXRhLT5wbGF0Zm9ybURhdGEoKS5vcmll
bnRhdGlvbigpID09IFZlcnRpY2FsICYmICFjaGFyYWN0ZXJGb250RGF0YS0+aGFzVmVydGljYWxH
bHlwaHMoKSAmJiBpc0NKS0lkZW9ncmFwaE9yU3ltYm9sKGMpKQorICAgICAgICAgICAgdmFyaWFu
dCA9IEJyb2tlbklkZW9ncmFwaFZhcmlhbnQ7CisgICAgICAgIGlmICh2YXJpYW50ICE9IE5vcm1h
bFZhcmlhbnQpCisgICAgICAgICAgICBjaGFyYWN0ZXJGb250RGF0YSA9IGNoYXJhY3RlckZvbnRE
YXRhLT52YXJpYW50Rm9udERhdGEobV9mb250RGVzY3JpcHRpb24sIHZhcmlhbnQpOworICAgIH0K
ICAgICBpZiAoY2hhcmFjdGVyRm9udERhdGEpIHsKICAgICAgICAgLy8gR290IHRoZSBmYWxsYmFj
ayBnbHlwaCBhbmQgZm9udC4KICAgICAgICAgR2x5cGhQYWdlKiBmYWxsYmFja1BhZ2UgPSBHbHlw
aFBhZ2VUcmVlTm9kZTo6Z2V0Um9vdENoaWxkKGNoYXJhY3RlckZvbnREYXRhLCBwYWdlTnVtYmVy
KS0+cGFnZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
U2ltcGxlRm9udERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBs
ZUZvbnREYXRhLmgKaW5kZXggOGIyYmVkMzlmYWRkMmZiMjY5YzVmMGYwZTlmNWQwOWQwYjY5MDFk
MS4uNzI2MjYzMzVmZTA3MDI1MzEyODg0MDYxNzA5ZjRhODk2MDNmM2U1YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCkBAIC02Niw3
ICs2Niw3IEBAIGNsYXNzIEZvbnREZXNjcmlwdGlvbjsKIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKIGNs
YXNzIFNWR0ZvbnREYXRhOwogCi1lbnVtIEZvbnREYXRhVmFyaWFudCB7IEF1dG9WYXJpYW50LCBO
b3JtYWxWYXJpYW50LCBTbWFsbENhcHNWYXJpYW50LCBFbXBoYXNpc01hcmtWYXJpYW50IH07Citl
bnVtIEZvbnREYXRhVmFyaWFudCB7IEF1dG9WYXJpYW50LCBOb3JtYWxWYXJpYW50LCBTbWFsbENh
cHNWYXJpYW50LCBFbXBoYXNpc01hcmtWYXJpYW50LCBCcm9rZW5JZGVvZ3JhcGhWYXJpYW50IH07
CiBlbnVtIFBpdGNoIHsgVW5rbm93blBpdGNoLCBGaXhlZFBpdGNoLCBWYXJpYWJsZVBpdGNoIH07
CiAKIGNsYXNzIFNpbXBsZUZvbnREYXRhIDogcHVibGljIEZvbnREYXRhIHsKQEAgLTgxLDYgKzgx
LDcgQEAgcHVibGljOgogCiAgICAgU2ltcGxlRm9udERhdGEqIHNtYWxsQ2Fwc0ZvbnREYXRhKGNv
bnN0IEZvbnREZXNjcmlwdGlvbiYpIGNvbnN0OwogICAgIFNpbXBsZUZvbnREYXRhKiBlbXBoYXNp
c01hcmtGb250RGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mKSBjb25zdDsKKyAgICBTaW1wbGVG
b250RGF0YSogYnJva2VuSWRlb2dyYXBoRm9udERhdGEoKSBjb25zdDsKIAogICAgIFNpbXBsZUZv
bnREYXRhKiB2YXJpYW50Rm9udERhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBkZXNjcmlwdGlv
biwgRm9udERhdGFWYXJpYW50IHZhcmlhbnQpIGNvbnN0CiAgICAgewpAQCAtODksNiArOTAsOCBA
QCBwdWJsaWM6CiAgICAgICAgICAgICByZXR1cm4gc21hbGxDYXBzRm9udERhdGEoZGVzY3JpcHRp
b24pOwogICAgICAgICBjYXNlIEVtcGhhc2lzTWFya1ZhcmlhbnQ6CiAgICAgICAgICAgICByZXR1
cm4gZW1waGFzaXNNYXJrRm9udERhdGEoZGVzY3JpcHRpb24pOworICAgICAgICBjYXNlIEJyb2tl
bklkZW9ncmFwaFZhcmlhbnQ6CisgICAgICAgICAgICByZXR1cm4gYnJva2VuSWRlb2dyYXBoRm9u
dERhdGEoKTsKICAgICAgICAgY2FzZSBBdXRvVmFyaWFudDoKICAgICAgICAgY2FzZSBOb3JtYWxW
YXJpYW50OgogICAgICAgICAgICAgYnJlYWs7CkBAIC05OSw3ICsxMDIsNiBAQCBwdWJsaWM6CiAK
ICAgICBTaW1wbGVGb250RGF0YSogdmVydGljYWxSaWdodE9yaWVudGF0aW9uRm9udERhdGEoKSBj
b25zdDsKICAgICBTaW1wbGVGb250RGF0YSogdXByaWdodE9yaWVudGF0aW9uRm9udERhdGEoKSBj
b25zdDsKLSAgICBTaW1wbGVGb250RGF0YSogYnJva2VuSWRlb2dyYXBoRm9udERhdGEoKSBjb25z
dDsKIAogICAgIGJvb2wgaGFzVmVydGljYWxHbHlwaHMoKSBjb25zdCB7IHJldHVybiBtX2hhc1Zl
cnRpY2FsR2x5cGhzOyB9CiAgICAgYm9vbCBpc1RleHRPcmllbnRhdGlvbkZhbGxiYWNrKCkgY29u
c3QgeyByZXR1cm4gbV9pc1RleHRPcmllbnRhdGlvbkZhbGxiYWNrOyB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>