<?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>73419</bug_id>
          
          <creation_ts>2011-11-30 02:50:50 -0800</creation_ts>
          <short_desc>WebFonts are re-fetched from the server upon Document::styleSelectorChanged call.</short_desc>
          <delta_ts>2012-01-10 02:13:27 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://crbug.com/103510</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="Kenichi Ishibashi">bashi</reporter>
          <assigned_to name="Kenichi Ishibashi">bashi</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>bdakin</cc>
    
    <cc>eric</cc>
    
    <cc>japhet</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>mitz</cc>
    
    <cc>morrita</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yael</cc>
    
    <cc>yuzo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>511572</commentid>
    <comment_count>0</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-11-30 02:50:50 -0800</bug_when>
    <thetext>See http://crbug.com/103510 for details.

This problem could happen when the response header of a webfont contains &apos;Cache-control: no-cache&apos;. When style recalculation occurs, styleSelector is recreated. During styleSelector recreation, the webfont is re-validated via CSSFontSelector::addFontFaceRule(). As the result, the webfont is reloaded. WebKit shouldn&apos;t re-validate the cache in this case.

I think we can avoid re-validation by holding a CachedFont handle in CSSFontFaceSrcValue object, like CSSImageValue does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511581</commentid>
    <comment_count>1</comment_count>
      <attachid>117157</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-11-30 03:02:15 -0800</bug_when>
    <thetext>Created attachment 117157
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511582</commentid>
    <comment_count>2</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-11-30 03:02:48 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=117157) [details]
&gt; Patch

No tests so far. How can we test this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511585</commentid>
    <comment_count>3</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-11-30 03:06:22 -0800</bug_when>
    <thetext>Hi mitz,

Could you please take a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511917</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-11-30 11:10:48 -0800</bug_when>
    <thetext>See also: bug 27971, bug 43704.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514910</commentid>
    <comment_count>5</comment_count>
      <attachid>117843</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-12-04 22:23:02 -0800</bug_when>
    <thetext>Created attachment 117843
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514914</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-12-04 22:31:15 -0800</bug_when>
    <thetext>Does this also fix bug 27971?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514919</commentid>
    <comment_count>7</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-12-04 22:44:03 -0800</bug_when>
    <thetext>Moritta suggested me in person that resource should be acquired in CSSFontFaceSrcValue. Could you take a look? (bdakin?)

(In reply to comment #6)
&gt; Does this also fix bug 27971?

Thanks for letting me know the bug. I couldn&apos;t reproduce the problem with my Safari, but I think this patch can fix bug 27971 if the corresponding document object is not discarded.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515500</commentid>
    <comment_count>8</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-12-05 16:48:57 -0800</bug_when>
    <thetext>Ping?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516544</commentid>
    <comment_count>9</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-12-07 01:51:18 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; Does this also fix bug 27971?
&gt; 
&gt; Thanks for letting me know the bug. I couldn&apos;t reproduce the problem with my Safari, but I think this patch can fix bug 27971 if the corresponding document object is not discarded.

As far as I checked with WebInspector (on Chromium Linux build), WebKit doesn&apos;t try to reload the fonts when &apos;Back&apos; is pressed. I also confirmed that the fonts were reloaded when &apos;Reload&apos; is pressed in accordance with the response header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516655</commentid>
    <comment_count>10</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2011-12-07 08:23:45 -0800</bug_when>
    <thetext>&gt; As far as I checked with WebInspector (on Chromium Linux build), WebKit doesn&apos;t try to reload the fonts when &apos;Back&apos; is pressed. I also confirmed that the fonts were reloaded when &apos;Reload&apos; is pressed in accordance with the response header.

It sounds like you could test your change if you use a PHP script that remembers that it was called (look at LayoutTests/http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache-invalidation.php for an example) and use a location.reload(). If that&apos;s not possible, your ChangeLog should mention why you could not land a test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516667</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-12-07 09:07:55 -0800</bug_when>
    <thetext>&gt; As far as I checked with WebInspector (on Chromium Linux build), WebKit doesn&apos;t try to reload the fonts when &apos;Back&apos; is pressed. I also confirmed that the fonts were reloaded when &apos;Reload&apos; is pressed in accordance with the response header.

This is not what I&apos;m seeing in Safari with ToT WebKit. The fonts are reloaded on Back. The fact that the test passes appears to mean that it no longer functions properly (perhaps a workaround was added server side).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517100</commentid>
    <comment_count>12</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-12-07 18:54:26 -0800</bug_when>
    <thetext>(In reply to comment #10)

&gt; It sounds like you could test your change if you use a PHP script that remembers that it was called (look at LayoutTests/http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache-invalidation.php for an example) and use a location.reload(). If that&apos;s not possible, your ChangeLog should mention why you could not land a test case.

Thank you for the information. I&apos;ll try it (page navigation behavior looks different between ports as I mention below, though).

&gt; This is not what I&apos;m seeing in Safari with ToT WebKit. The fonts are reloaded on Back. The fact that the test passes appears to mean that it no longer functions properly (perhaps a workaround was added server side).

You are right. I confirmed the behavior in Safari with ToT WebKit. And my patch doesn&apos;t solve the problem.  It seems the cause of bug 27971 is different from this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518996</commentid>
    <comment_count>13</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-12-11 21:09:20 -0800</bug_when>
    <thetext>As jchaffraix@ pointed, having a test case makes this change more solid.
Using some server is good for end-to-end perspective.
Another idea is to add some Internals API to purge caches,
then use it in the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519086</commentid>
    <comment_count>14</comment_count>
      <attachid>118758</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-12-12 02:43:39 -0800</bug_when>
    <thetext>Created attachment 118758
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519089</commentid>
    <comment_count>15</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-12-12 02:50:15 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; As jchaffraix@ pointed, having a test case makes this change more solid.
&gt; Using some server is good for end-to-end perspective.
&gt; Another idea is to add some Internals API to purge caches,
&gt; then use it in the test.

Thank you for the suggestion. LayoutTests/http/tests/xmlhttprequest/resources/access-control-basic-preflight-cache-invalidation.php is an useful reference and I wrote a test case (The test uses ugly setTimeout() to check whether font re-fetching has happened, though).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521522</commentid>
    <comment_count>16</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-12-14 17:35:23 -0800</bug_when>
    <thetext>Could someone review the patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521628</commentid>
    <comment_count>17</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-12-14 21:12:07 -0800</bug_when>
    <thetext>One question someone asked me is why we need a new reference to CachedFont, given that document already has a CachedResource for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521660</commentid>
    <comment_count>18</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-12-14 22:26:34 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; One question someone asked me is why we need a new reference to CachedFont, given that document already has a CachedResource for it.

&quot;document already has a CachedResource for it&quot; means we can get the CachedFont by calling document-&gt;cachedResourceLoader()-&gt;requestFont()? If so, the problem is that requestFont() re-validates the cache, as I described in the bug description. Holding a reference to CachedFont avoids it, as the same manner as CSSImageValue does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523681</commentid>
    <comment_count>19</comment_count>
      <attachid>119804</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-12-18 20:39:13 -0800</bug_when>
    <thetext>Created attachment 119804
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523682</commentid>
    <comment_count>20</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2011-12-18 20:40:22 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; Created an attachment (id=119804) [details]
&gt; Patch

Just rebased to ToT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>525488</commentid>
    <comment_count>21</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-12-21 12:47:40 -0800</bug_when>
    <thetext>I know we&apos;ve had issues before with cache sharing between documents.  I&apos;m not sure if that is still a risk or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532810</commentid>
    <comment_count>22</comment_count>
      <attachid>119804</attachid>
    <who name="">mitz</who>
    <bug_when>2012-01-09 21:52:12 -0800</bug_when>
    <thetext>Comment on attachment 119804
Patch

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

&gt; Source/WebCore/css/CSSFontFaceSrcValue.cpp:29
&gt; +#include &quot;CachedFont.h&quot;

I’m surprised that this header is needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532830</commentid>
    <comment_count>23</comment_count>
      <attachid>119804</attachid>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-01-09 22:55:29 -0800</bug_when>
    <thetext>Comment on attachment 119804
Patch

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

Thank you so much for review.

&gt;&gt; Source/WebCore/css/CSSFontFaceSrcValue.cpp:29
&gt;&gt; +#include &quot;CachedFont.h&quot;
&gt; 
&gt; I’m surprised that this header is needed.

&quot;m_cachedFont = document-&gt;cachedResourceLoader()-&gt;requestFont(request);&quot; requires the header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532902</commentid>
    <comment_count>24</comment_count>
      <attachid>119804</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-10 02:13:20 -0800</bug_when>
    <thetext>Comment on attachment 119804
Patch

Clearing flags on attachment: 119804

Committed r104542: &lt;http://trac.webkit.org/changeset/104542&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>532903</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-10 02:13:27 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117157</attachid>
            <date>2011-11-30 03:02:15 -0800</date>
            <delta_ts>2011-12-04 22:22:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73419-20111130200210.patch</filename>
            <type>text/plain</type>
            <size>4166</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxNDI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDZhZGQ5ZWM1MTEyZTZh
NDhkZDUyZjQ4YmRlOWQzNjRhZmYwNTFkOC4uMjA1MWM2ZDQ4MjdhMDY0YjVhMzI4Zjg1NzM3OGQx
YmU0OGIwMDBmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDExLTExLTMwICBLZW5p
Y2hpIElzaGliYXNoaSAgPGJhc2hpQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWJGb250cyBh
cmUgcmUtZmV0Y2hlZCBmcm9tIHRoZSBzZXJ2ZXIgdXBvbiBEb2N1bWVudDo6c3R5bGVTZWxlY3Rv
ckNoYW5nZWQgY2FsbC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTczNDE5CisKKyAgICAgICAgSG9sZHMgdGhlIENhY2hlZEZvbnQgaGFuZGxlIGluIENT
U0ZvbnRGYWNlU3JjVmFsdWUgc28gdGhhdCBhdm9pZGluZyByZS12YWxpZGF0aW9uIGR1cmluZyBz
dHlsZSByZWNhbGN1bGF0aW9uLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIGNzcy9DU1NGb250RmFjZVNy
Y1ZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNlU3JjVmFsdWU6OnNldENh
Y2hlZEZvbnQpOiBBZGRlZC4KKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZhY2VTcmNWYWx1ZTo6Z2V0Q2FjaGVkRm9udCk6IEFk
ZGVkLgorICAgICAgICAqIGNzcy9DU1NGb250U2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTRm9udFNlbGVjdG9yOjphZGRGb250RmFjZVJ1bGUpOiBHZXRzIHRoZSBDYWNoZWRGb250
IGZyb20gQ1NTRm9udEZhY2VTcmNWYWx1ZSBvYmplY3QuIFJlcXVlc3QgdGhlIHJlc291cmNlIGlm
IGl0IGRvZXNuJ3QgZXhpc3QuCisKIDIwMTEtMTEtMjkgIE9saXZlciBIdW50ICA8b2xpdmVyQGFw
cGxlLmNvbT4KIAogICAgICAgICBBbGxvdyBXZWJDb3JlIHRvIGRlc2NyaWJlIHR5cGVkIGFycmF5
cyB0byBKU0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNyY1Zh
bHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNyY1ZhbHVlLmNwcAppbmRl
eCA1NzMwMGVmNzE0Yzc4YjU0YzhhZTgxNmMzMjBmOTczOTQzYTU5MGRkLi42ZDBjYzY1MmI0NDBl
YTE2ZTUzZmQyODVlZmRiNmU3ZmUyMGQwNjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Zv
bnRGYWNlU3JjVmFsdWUuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiQ1NTRm9udEZhY2VTcmNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1N0eWxlU2hl
ZXQuaCIKKyNpbmNsdWRlICJDYWNoZWRGb250LmgiCiAjaW5jbHVkZSAiRm9udEN1c3RvbVBsYXRm
b3JtRGF0YS5oIgogI2luY2x1ZGUgIk5vZGUuaCIKIApAQCAtNzYsNSArNzcsMTAgQEAgdm9pZCBD
U1NGb250RmFjZVNyY1ZhbHVlOjphZGRTdWJyZXNvdXJjZVN0eWxlVVJMcyhMaXN0SGFzaFNldDxL
VVJMPiYgdXJscywgY29uc3QKICAgICAgICAgYWRkU3VicmVzb3VyY2VVUkwodXJscywgc3R5bGVT
aGVldC0+Y29tcGxldGVVUkwobV9yZXNvdXJjZSkpOwogfQogCit2b2lkIENTU0ZvbnRGYWNlU3Jj
VmFsdWU6OnNldENhY2hlZEZvbnQoQ2FjaGVkRm9udCogZm9udCkKK3sKKyAgICBtX2NhY2hlZEZv
bnQgPSBmb250OworfQorCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NG
b250RmFjZVNyY1ZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTcmNWYWx1
ZS5oCmluZGV4IDEyMWY0ZDRlMTEyOTJjNWFmNzExYjA0YzkwMmZkYmM2Y2FhZTQxMTguLjM4ODUy
OWJkYjcyYjAwMGVjZTA5MjczMzNhZTBmYzZjZTgzZTFlZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNyY1ZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ZvbnRGYWNlU3JjVmFsdWUuaApAQCAtMjcsMTEgKzI3LDEzIEBACiAjZGVmaW5lIENTU0Zv
bnRGYWNlU3JjVmFsdWVfaAogCiAjaW5jbHVkZSAiQ1NTVmFsdWUuaCIKKyNpbmNsdWRlICJDYWNo
ZWRSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVk
ZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBDYWNo
ZWRGb250OwogY2xhc3MgU1ZHRm9udEZhY2VFbGVtZW50OwogCiBjbGFzcyBDU1NGb250RmFjZVNy
Y1ZhbHVlIDogcHVibGljIENTU1ZhbHVlIHsKQEAgLTY0LDYgKzY2LDkgQEAgcHVibGljOgogCiAg
ICAgdm9pZCBhZGRTdWJyZXNvdXJjZVN0eWxlVVJMcyhMaXN0SGFzaFNldDxLVVJMPiYsIGNvbnN0
IENTU1N0eWxlU2hlZXQqKTsKIAorICAgIHZvaWQgc2V0Q2FjaGVkRm9udChDYWNoZWRGb250Kik7
CisgICAgQ2FjaGVkRm9udCogZ2V0Q2FjaGVkRm9udCgpIGNvbnN0IHsgcmV0dXJuIG1fY2FjaGVk
Rm9udC5nZXQoKTsgfQorCiBwcml2YXRlOgogICAgIENTU0ZvbnRGYWNlU3JjVmFsdWUoY29uc3Qg
U3RyaW5nJiByZXNvdXJjZSwgYm9vbCBsb2NhbCkKICAgICAgICAgOiBDU1NWYWx1ZShGb250RmFj
ZVNyY0NsYXNzKQpAQCAtNzksNiArODQsOCBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX2Zvcm1h
dDsKICAgICBib29sIG1faXNMb2NhbDsKIAorICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hl
ZEZvbnQ+IG1fY2FjaGVkRm9udDsKKwogI2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAgU1ZHRm9u
dEZhY2VFbGVtZW50KiBtX3N2Z0ZvbnRGYWNlRWxlbWVudDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRm9udFNlbGVjdG9yLmNwcAppbmRleCA1OGUyMTMxNzYzZmZlZDIwMzcwNTY3OWIwNmQw
OTVmYWQ4ZTBiYzA0Li4zNmRiNjlkMTViMmRlMDIzZTkxNjdkOWNhYjg1YTgwNzhlYTI2MmFmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNwcApAQCAtMjQ3LDcgKzI0NywxMSBA
QCB2b2lkIENTU0ZvbnRTZWxlY3Rvcjo6YWRkRm9udEZhY2VSdWxlKGNvbnN0IENTU0ZvbnRGYWNl
UnVsZSogZm9udEZhY2VSdWxlKQogICAgICAgICAgICAgYm9vbCBhbGxvd0Rvd25sb2FkaW5nID0g
Zm91bmRTVkdGb250IHx8IChzZXR0aW5ncyAmJiBzZXR0aW5ncy0+ZG93bmxvYWRhYmxlQmluYXJ5
Rm9udHNFbmFibGVkKCkpOwogICAgICAgICAgICAgaWYgKGFsbG93RG93bmxvYWRpbmcgJiYgaXRl
bS0+aXNTdXBwb3J0ZWRGb3JtYXQoKSAmJiBtX2RvY3VtZW50KSB7CiAgICAgICAgICAgICAgICAg
UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QobV9kb2N1bWVudC0+Y29tcGxldGVVUkwoaXRlbS0+cmVz
b3VyY2UoKSkpOwotICAgICAgICAgICAgICAgIENhY2hlZEZvbnQqIGNhY2hlZEZvbnQgPSBtX2Rv
Y3VtZW50LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0Rm9udChyZXF1ZXN0KTsKKyAg
ICAgICAgICAgICAgICBDYWNoZWRGb250KiBjYWNoZWRGb250ID0gaXRlbS0+Z2V0Q2FjaGVkRm9u
dCgpOworICAgICAgICAgICAgICAgIGlmICghY2FjaGVkRm9udCkgeworICAgICAgICAgICAgICAg
ICAgICBjYWNoZWRGb250ID0gbV9kb2N1bWVudC0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cmVx
dWVzdEZvbnQocmVxdWVzdCk7CisgICAgICAgICAgICAgICAgICAgIGl0ZW0tPnNldENhY2hlZEZv
bnQoY2FjaGVkRm9udCk7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGlmIChj
YWNoZWRGb250KSB7CiAgICAgICAgICAgICAgICAgICAgIHNvdXJjZSA9IG5ldyBDU1NGb250RmFj
ZVNvdXJjZShpdGVtLT5yZXNvdXJjZSgpLCBjYWNoZWRGb250KTsKICNpZiBFTkFCTEUoU1ZHX0ZP
TlRTKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117843</attachid>
            <date>2011-12-04 22:23:02 -0800</date>
            <delta_ts>2011-12-12 02:43:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73419-20111205152300.patch</filename>
            <type>text/plain</type>
            <size>4285</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxOTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTY5YjFiOTlmMDEwZmNh
Mjk3ZjdlYWEyODVmZTkzNDA5OGIzOWFjNi4uZGI1OWU5OGEwM2U4ZmFhMmMyY2U4M2QyNjJlMGQw
YTI0ZTg5NjQ0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDExLTEyLTA0ICBLZW5p
Y2hpIElzaGliYXNoaSAgPGJhc2hpQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWJGb250cyBh
cmUgcmUtZmV0Y2hlZCBmcm9tIHRoZSBzZXJ2ZXIgdXBvbiBEb2N1bWVudDo6c3R5bGVTZWxlY3Rv
ckNoYW5nZWQgY2FsbC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTczNDE5CisKKyAgICAgICAgSG9sZHMgdGhlIENhY2hlZEZvbnQgaGFuZGxlIGluIENT
U0ZvbnRGYWNlU3JjVmFsdWUgc28gdGhhdCBhdm9pZGluZyByZS12YWxpZGF0aW9uIGR1cmluZyBz
dHlsZSByZWNhbGN1bGF0aW9uLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIGNzcy9DU1NGb250RmFjZVNy
Y1ZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRGYWNlU3JjVmFsdWU6OmNhY2hl
ZEZvbnQpOiBBZGRlZC4KKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5oOgorICAg
ICAgICAqIGNzcy9DU1NGb250U2VsZWN0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9u
dFNlbGVjdG9yOjphZGRGb250RmFjZVJ1bGUpOiBHZXRzIHRoZSBDYWNoZWRGb250IGZyb20gQ1NT
Rm9udEZhY2VTcmNWYWx1ZSBvYmplY3QuIFRoZSBvYmplY3Qgd2lsbCByZXF1ZXN0IHRoZSByZXNv
dXJjZSBpZiBpdCBkb2Vzbid0IGV4aXN0LgorCiAyMDExLTEyLTA0ICBSeW9zdWtlIE5pd2EgIDxy
bml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEhJRVJBUkNIWV9SRVFVRVNUX0VSUiBjaGVjayBp
biBjaGVja0FjY2VwdENoaWxkIHNob3VsZCBiZSBvcHRpbWl6ZWQgZm9yIG5ld0NoaWxkIHdpdGhv
dXQgY2hpbGRyZW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNy
Y1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNyY1ZhbHVlLmNwcApp
bmRleCA1NzMwMGVmNzE0Yzc4YjU0YzhhZTgxNmMzMjBmOTczOTQzYTU5MGRkLi4zY2RlY2U4ODNi
NWEzMGNmMGVjOWE5M2Y4OWU2OWY3NmFkMTdhMjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ZvbnRGYWNlU3JjVmFsdWUuY3BwCkBAIC0yNiw2ICsyNiw5IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiQ1NTRm9udEZhY2VTcmNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1N0eWxl
U2hlZXQuaCIKKyNpbmNsdWRlICJDYWNoZWRGb250LmgiCisjaW5jbHVkZSAiQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuaCIKKyNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkZvbnRDdXN0b21Q
bGF0Zm9ybURhdGEuaCIKICNpbmNsdWRlICJOb2RlLmgiCiAKQEAgLTc2LDUgKzc5LDE0IEBAIHZv
aWQgQ1NTRm9udEZhY2VTcmNWYWx1ZTo6YWRkU3VicmVzb3VyY2VTdHlsZVVSTHMoTGlzdEhhc2hT
ZXQ8S1VSTD4mIHVybHMsIGNvbnN0CiAgICAgICAgIGFkZFN1YnJlc291cmNlVVJMKHVybHMsIHN0
eWxlU2hlZXQtPmNvbXBsZXRlVVJMKG1fcmVzb3VyY2UpKTsKIH0KIAorQ2FjaGVkRm9udCogQ1NT
Rm9udEZhY2VTcmNWYWx1ZTo6Y2FjaGVkRm9udChEb2N1bWVudCogZG9jdW1lbnQpCit7CisgICAg
aWYgKCFtX2NhY2hlZEZvbnQpIHsKKyAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QoZG9j
dW1lbnQtPmNvbXBsZXRlVVJMKG1fcmVzb3VyY2UpKTsKKyAgICAgICAgbV9jYWNoZWRGb250ID0g
ZG9jdW1lbnQtPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnJlcXVlc3RGb250KHJlcXVlc3QpOwor
ICAgIH0KKyAgICByZXR1cm4gbV9jYWNoZWRGb250LmdldCgpOworfQorCiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNyY1ZhbHVlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5oCmluZGV4IDEyMWY0ZDRlMTEyOTJjNWFmNzEx
YjA0YzkwMmZkYmM2Y2FhZTQxMTguLmE1ZjU0ZGU0NzkzNGYxMzI5ZTIwNzRjYzQwM2Y0ZGM1YTIz
NWNhMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNyY1ZhbHVl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUuaApAQCAtMjcs
MTEgKzI3LDE0IEBACiAjZGVmaW5lIENTU0ZvbnRGYWNlU3JjVmFsdWVfaAogCiAjaW5jbHVkZSAi
Q1NTVmFsdWUuaCIKKyNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgogI2luY2x1ZGUg
IlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCitjbGFzcyBDYWNoZWRGb250OworY2xhc3MgRG9jdW1lbnQ7CiBjbGFz
cyBTVkdGb250RmFjZUVsZW1lbnQ7CiAKIGNsYXNzIENTU0ZvbnRGYWNlU3JjVmFsdWUgOiBwdWJs
aWMgQ1NTVmFsdWUgewpAQCAtNjQsNiArNjcsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGFkZFN1
YnJlc291cmNlU3R5bGVVUkxzKExpc3RIYXNoU2V0PEtVUkw+JiwgY29uc3QgQ1NTU3R5bGVTaGVl
dCopOwogCisgICAgQ2FjaGVkRm9udCogY2FjaGVkRm9udChEb2N1bWVudCopOworCiBwcml2YXRl
OgogICAgIENTU0ZvbnRGYWNlU3JjVmFsdWUoY29uc3QgU3RyaW5nJiByZXNvdXJjZSwgYm9vbCBs
b2NhbCkKICAgICAgICAgOiBDU1NWYWx1ZShGb250RmFjZVNyY0NsYXNzKQpAQCAtNzksNiArODQs
OCBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX2Zvcm1hdDsKICAgICBib29sIG1faXNMb2NhbDsK
IAorICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEZvbnQ+IG1fY2FjaGVkRm9udDsKKwog
I2lmIEVOQUJMRShTVkdfRk9OVFMpCiAgICAgU1ZHRm9udEZhY2VFbGVtZW50KiBtX3N2Z0ZvbnRG
YWNlRWxlbWVudDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Zv
bnRTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNwcApp
bmRleCA0ZjQzNDk5NzllMjQ2NjU1OTg1MDZhMjQzMGU1MDZiNjU5ZDZkZGUyLi5kMzg4NTE1ZGE5
YmY4MjczZjM5MzVlMWZhMWFjYWM3MGUzNmIxYmMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dFNlbGVjdG9yLmNwcApAQCAtMjQ0LDggKzI0NCw3IEBAIHZvaWQgQ1NTRm9udFNlbGVjdG9yOjph
ZGRGb250RmFjZVJ1bGUoY29uc3QgQ1NTRm9udEZhY2VSdWxlKiBmb250RmFjZVJ1bGUpCiAgICAg
ICAgICAgICBTZXR0aW5ncyogc2V0dGluZ3MgPSBtX2RvY3VtZW50ID8gbV9kb2N1bWVudC0+ZnJh
bWUoKSA/IG1fZG9jdW1lbnQtPmZyYW1lKCktPnNldHRpbmdzKCkgOiAwIDogMDsKICAgICAgICAg
ICAgIGJvb2wgYWxsb3dEb3dubG9hZGluZyA9IGZvdW5kU1ZHRm9udCB8fCAoc2V0dGluZ3MgJiYg
c2V0dGluZ3MtPmRvd25sb2FkYWJsZUJpbmFyeUZvbnRzRW5hYmxlZCgpKTsKICAgICAgICAgICAg
IGlmIChhbGxvd0Rvd25sb2FkaW5nICYmIGl0ZW0tPmlzU3VwcG9ydGVkRm9ybWF0KCkgJiYgbV9k
b2N1bWVudCkgewotICAgICAgICAgICAgICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KG1fZG9j
dW1lbnQtPmNvbXBsZXRlVVJMKGl0ZW0tPnJlc291cmNlKCkpKTsKLSAgICAgICAgICAgICAgICBD
YWNoZWRGb250KiBjYWNoZWRGb250ID0gbV9kb2N1bWVudC0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIo
KS0+cmVxdWVzdEZvbnQocmVxdWVzdCk7CisgICAgICAgICAgICAgICAgQ2FjaGVkRm9udCogY2Fj
aGVkRm9udCA9IGl0ZW0tPmNhY2hlZEZvbnQobV9kb2N1bWVudCk7CiAgICAgICAgICAgICAgICAg
aWYgKGNhY2hlZEZvbnQpIHsKICAgICAgICAgICAgICAgICAgICAgc291cmNlID0gbmV3IENTU0Zv
bnRGYWNlU291cmNlKGl0ZW0tPnJlc291cmNlKCksIGNhY2hlZEZvbnQpOwogI2lmIEVOQUJMRShT
VkdfRk9OVFMpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118758</attachid>
            <date>2011-12-12 02:43:39 -0800</date>
            <delta_ts>2011-12-18 20:39:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73419-20111212194337.patch</filename>
            <type>text/plain</type>
            <size>9443</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDZiYTgwZmM1YzQ0MTM3
OTU3MTMxMDE1YWIzMDM5NzMzYTc2NGI3Yy4uNWRjYjM2NmE5YmQzNGQ4NzVkMTA4ZGEwZjEwYTc3
NDc0YzU1MjUxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDExLTEyLTEyICBLZW5p
Y2hpIElzaGliYXNoaSAgPGJhc2hpQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWJGb250cyBh
cmUgcmUtZmV0Y2hlZCBmcm9tIHRoZSBzZXJ2ZXIgdXBvbiBEb2N1bWVudDo6c3R5bGVTZWxlY3Rv
ckNoYW5nZWQgY2FsbC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTczNDE5CisKKyAgICAgICAgSG9sZHMgdGhlIENhY2hlZEZvbnQgaGFuZGxlIGluIENT
U0ZvbnRGYWNlU3JjVmFsdWUgc28gdGhhdCBhdm9pZGluZyByZS12YWxpZGF0aW9uIGR1cmluZyBz
dHlsZSByZWNhbGN1bGF0aW9uLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvY3NzL2ZvbnQtZmFjZS1zcmMtbG9hZGluZy5o
dG1sCisKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NGb250RmFjZVNyY1ZhbHVlOjpjYWNoZWRGb250KTogQWRkZWQuCisgICAgICAg
ICogY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUuaDoKKyAgICAgICAgKiBjc3MvQ1NTRm9udFNlbGVj
dG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcjo6YWRkRm9udEZhY2VS
dWxlKTogR2V0cyB0aGUgQ2FjaGVkRm9udCBmcm9tIENTU0ZvbnRGYWNlU3JjVmFsdWUgb2JqZWN0
LiBUaGUgb2JqZWN0IHdpbGwgcmVxdWVzdCB0aGUgcmVzb3VyY2UgaWYgaXQgZG9lc24ndCBleGlz
dC4KKwogMjAxMS0xMi0xMSAgQW5kcmVhcyBLbGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgTW92ZSBDU1NFbGVtZW50U3R5bGVEZWNsYXJhdGlvbiB0byBpdHMgb3duIGNwcC9oIGZp
bGVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUuY3BwCmluZGV4IDU3
MzAwZWY3MTRjNzhiNTRjOGFlODE2YzMyMGY5NzM5NDNhNTkwZGQuLjNjZGVjZTg4M2I1YTMwY2Yw
ZWM5YTkzZjg5ZTY5Zjc2YWQxN2EyNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGb250RmFjZVNyY1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZh
Y2VTcmNWYWx1ZS5jcHAKQEAgLTI2LDYgKzI2LDkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJDU1NGb250RmFjZVNyY1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTU3R5bGVTaGVldC5o
IgorI2luY2x1ZGUgIkNhY2hlZEZvbnQuaCIKKyNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUxvYWRl
ci5oIgorI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRm9udEN1c3RvbVBsYXRmb3Jt
RGF0YS5oIgogI2luY2x1ZGUgIk5vZGUuaCIKIApAQCAtNzYsNSArNzksMTQgQEAgdm9pZCBDU1NG
b250RmFjZVNyY1ZhbHVlOjphZGRTdWJyZXNvdXJjZVN0eWxlVVJMcyhMaXN0SGFzaFNldDxLVVJM
PiYgdXJscywgY29uc3QKICAgICAgICAgYWRkU3VicmVzb3VyY2VVUkwodXJscywgc3R5bGVTaGVl
dC0+Y29tcGxldGVVUkwobV9yZXNvdXJjZSkpOwogfQogCitDYWNoZWRGb250KiBDU1NGb250RmFj
ZVNyY1ZhbHVlOjpjYWNoZWRGb250KERvY3VtZW50KiBkb2N1bWVudCkKK3sKKyAgICBpZiAoIW1f
Y2FjaGVkRm9udCkgeworICAgICAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChkb2N1bWVudC0+
Y29tcGxldGVVUkwobV9yZXNvdXJjZSkpOworICAgICAgICBtX2NhY2hlZEZvbnQgPSBkb2N1bWVu
dC0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVzdEZvbnQocmVxdWVzdCk7CisgICAgfQor
ICAgIHJldHVybiBtX2NhY2hlZEZvbnQuZ2V0KCk7Cit9CisKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250RmFjZVNyY1ZhbHVlLmgKaW5kZXggMTIxZjRkNGUxMTI5MmM1YWY3MTFiMDRjOTAy
ZmRiYzZjYWFlNDExOC4uYTVmNTRkZTQ3OTM0ZjEzMjllMjA3NGNjNDAzZjRkYzVhMjM1Y2EzOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5oCkBAIC0yNywxMSArMjcs
MTQgQEAKICNkZWZpbmUgQ1NTRm9udEZhY2VTcmNWYWx1ZV9oCiAKICNpbmNsdWRlICJDU1NWYWx1
ZS5oIgorI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiUGxhdGZv
cm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKK2NsYXNzIENhY2hlZEZvbnQ7CitjbGFzcyBEb2N1bWVudDsKIGNsYXNzIFNWR0Zv
bnRGYWNlRWxlbWVudDsKIAogY2xhc3MgQ1NTRm9udEZhY2VTcmNWYWx1ZSA6IHB1YmxpYyBDU1NW
YWx1ZSB7CkBAIC02NCw2ICs2Nyw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgYWRkU3VicmVzb3Vy
Y2VTdHlsZVVSTHMoTGlzdEhhc2hTZXQ8S1VSTD4mLCBjb25zdCBDU1NTdHlsZVNoZWV0Kik7CiAK
KyAgICBDYWNoZWRGb250KiBjYWNoZWRGb250KERvY3VtZW50Kik7CisKIHByaXZhdGU6CiAgICAg
Q1NTRm9udEZhY2VTcmNWYWx1ZShjb25zdCBTdHJpbmcmIHJlc291cmNlLCBib29sIGxvY2FsKQog
ICAgICAgICA6IENTU1ZhbHVlKEZvbnRGYWNlU3JjQ2xhc3MpCkBAIC03OSw2ICs4NCw4IEBAIHBy
aXZhdGU6CiAgICAgU3RyaW5nIG1fZm9ybWF0OwogICAgIGJvb2wgbV9pc0xvY2FsOwogCisgICAg
Q2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkRm9udD4gbV9jYWNoZWRGb250OworCiAjaWYgRU5B
QkxFKFNWR19GT05UUykKICAgICBTVkdGb250RmFjZUVsZW1lbnQqIG1fc3ZnRm9udEZhY2VFbGVt
ZW50OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udFNlbGVj
dG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCmluZGV4IDBi
MWVhNGJlMmRmZjVlMDI2YjlmNWM3YmE0NTlkMWFjNzBmODNmOTguLmMwZjBkNWVmNjMyNGMyZTZm
NTA1OWIyMDQ2ZTZjMzUzZTkyZjBhOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGb250U2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0
b3IuY3BwCkBAIC0yNDMsOCArMjQzLDcgQEAgdm9pZCBDU1NGb250U2VsZWN0b3I6OmFkZEZvbnRG
YWNlUnVsZShjb25zdCBDU1NGb250RmFjZVJ1bGUqIGZvbnRGYWNlUnVsZSkKICAgICAgICAgICAg
IFNldHRpbmdzKiBzZXR0aW5ncyA9IG1fZG9jdW1lbnQgPyBtX2RvY3VtZW50LT5mcmFtZSgpID8g
bV9kb2N1bWVudC0+ZnJhbWUoKS0+c2V0dGluZ3MoKSA6IDAgOiAwOwogICAgICAgICAgICAgYm9v
bCBhbGxvd0Rvd25sb2FkaW5nID0gZm91bmRTVkdGb250IHx8IChzZXR0aW5ncyAmJiBzZXR0aW5n
cy0+ZG93bmxvYWRhYmxlQmluYXJ5Rm9udHNFbmFibGVkKCkpOwogICAgICAgICAgICAgaWYgKGFs
bG93RG93bmxvYWRpbmcgJiYgaXRlbS0+aXNTdXBwb3J0ZWRGb3JtYXQoKSAmJiBtX2RvY3VtZW50
KSB7Ci0gICAgICAgICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QobV9kb2N1bWVudC0+
Y29tcGxldGVVUkwoaXRlbS0+cmVzb3VyY2UoKSkpOwotICAgICAgICAgICAgICAgIENhY2hlZEZv
bnQqIGNhY2hlZEZvbnQgPSBtX2RvY3VtZW50LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1
ZXN0Rm9udChyZXF1ZXN0KTsKKyAgICAgICAgICAgICAgICBDYWNoZWRGb250KiBjYWNoZWRGb250
ID0gaXRlbS0+Y2FjaGVkRm9udChtX2RvY3VtZW50KTsKICAgICAgICAgICAgICAgICBpZiAoY2Fj
aGVkRm9udCkgewogICAgICAgICAgICAgICAgICAgICBzb3VyY2UgPSBuZXcgQ1NTRm9udEZhY2VT
b3VyY2UoaXRlbS0+cmVzb3VyY2UoKSwgY2FjaGVkRm9udCk7CiAjaWYgRU5BQkxFKFNWR19GT05U
UykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCBlYmM3MWI2MWFkNTYzMzI2YmZhZThkY2QzYWJkMTA0ZTUzNmJkNzhjLi5iNGZi
Mjg5ZGE0MmVhMjU3OWMxZDEyYWI2MzQ2Njg2NDhiN2I0NGMxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTEtMTItMTIgIEtlbmljaGkgSXNoaWJhc2hpICA8YmFzaGlAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFdlYkZvbnRzIGFyZSByZS1mZXRjaGVkIGZyb20gdGhlIHNlcnZlciB1cG9uIERv
Y3VtZW50OjpzdHlsZVNlbGVjdG9yQ2hhbmdlZCBjYWxsLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MTkKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRzIGEgdGVzdCB0aGF0IGVuc3VyZXMgcmUtZmV0
Y2hpbmcgV2ViRm9udHMgZG9lc24ndCBvY2N1ciBhZnRlciBzdHlsZSByZWNhbGN1bGF0aW9uLgor
CisgICAgICAgICogaHR0cC90ZXN0cy9jc3MvZm9udC1mYWNlLXNyYy1sb2FkaW5nLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jc3MvZm9udC1mYWNlLXNyYy1sb2Fk
aW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY3NzL3Jlc291cmNlcy93ZWJm
b250LXJlcXVlc3QucGhwOiBBZGRlZC4KKwogMjAxMS0xMi0xMSAgQW5kcmVhcyBLbGluZyAgPGts
aW5nQHdlYmtpdC5vcmc+CiAKICAgICAgICAgV0syL05ldHNjYXBlUGx1Z2luOiBJbmNvcnJlY3Qg
bW91c2UgZXZlbnQgY29vcmRpbmF0ZXMgd2hlbiBmcmFtZVNjYWxlRmFjdG9yICE9IDEuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nzcy9mb250LWZhY2Utc3JjLWxvYWRpbmct
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jc3MvZm9udC1mYWNlLXNyYy1s
b2FkaW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNjI3MjgwYTNlODc1ZjAzYjQ2YjE2YmUz
OWE3OGU5NWQ5NmE4YWNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9jc3MvZm9udC1mYWNlLXNyYy1sb2FkaW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAK
K1RoaXMgdGVzdCBlbnN1cmVzIHRoYXQgd2ViZm9udHMgYXJlIG5vdCByZS1mZXRjaGVkIGFmdGVy
IHN0eWxlIHJlY2FsY3VsYXRpb24uCisKK1RleHQKK051bWJlciBvZiByZXF1ZXN0cyBhZnRlciBy
ZWNhbGN1bGF0aW9uOiAwCitTVUNDRVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL2Nzcy9mb250LWZhY2Utc3JjLWxvYWRpbmcuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvY3NzL2ZvbnQtZmFjZS1zcmMtbG9hZGluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4ZWQyOTBlZGY4
MTg4MGY2NzQ5MWYwOTk4YTVkYzYxMjEzNjc5OTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2Nzcy9mb250LWZhY2Utc3JjLWxvYWRpbmcuaHRtbApAQCAtMCwwICsx
LDY4IEBACis8aGVhZD4KKzxzdHlsZT4KK0Bmb250LWZhY2UgeworICAgIGZvbnQtZmFtaWx5OiAn
d2ViZm9udCc7CisgICAgc3JjOiB1cmwoaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nzcy9yZXNvdXJj
ZXMvd2ViZm9udC1yZXF1ZXN0LnBocD9tb2RlPWdldEZvbnQmZmlsZW5hbWU9d2ViZm9udFJlcXVl
c3RDb3VudC50eHQpIGZvcm1hdCgndHJ1ZXR5cGUnKTsKK30KKzwvc3R5bGU+Cis8c2NyaXB0Pgor
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25l
KCk7Cit9CisKK3ZhciBmaWxlbmFtZSA9ICdmaWxlbmFtZT13ZWJmb250UmVxdWVzdENvdW50LnR4
dCc7Cit2YXIgeGhyOworCitmdW5jdGlvbiBzdGFydFRlc3QoKSB7CisgICAgLy8gUmVzZXRzIHJl
cXVlc3QgY291bnQgYmVmb3JlIHN0YXJ0aW5nIHRoZSB0ZXN0LgorICAgIHhociA9IG5ldyBYTUxI
dHRwUmVxdWVzdDsKKyAgICB4aHIub25lcnJvciA9IGZ1bmN0aW9uKCkgeworICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0JykuaW5uZXJUZXh0ID0gJ0ZBSUw6IE5ldHdvcmsg
ZXJyb3IuJzsKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICB9OworICAgIHho
ci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgaWYgKHhoci5yZWFk
eVN0YXRlID09IHhoci5ET05FKQorICAgICAgICAgICAgZm9yY2VTdHlsZVNlbGVjdG9yUmVjcmVh
dGlvbigpOworICAgIH07CisgICAgeGhyLm9wZW4oJ0dFVCcsICcvcmVzb3VyY2VzL3Jlc2V0LXRl
bXAtZmlsZS5waHA/JyArIGZpbGVuYW1lLCB0cnVlKTsKKyAgICB4aHIuc2VuZCgpOworfQorCitm
dW5jdGlvbiBmb3JjZVN0eWxlU2VsZWN0b3JSZWNyZWF0aW9uKCkgeworICAgIGRvY3VtZW50Lmhl
YWQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKSk7CisgICAgLy8g
UGF1c2VzIGZvciBhIG1vbWVudCB0byBzZWUgd2hldGhlciBmb250IHJlLWZldGNoaW5nIG9jY3Vy
cy4KKyAgICBzZXRUaW1lb3V0KGdldFJlcXVlc3RDb3VudCwgMTAwKTsKK30KKworZnVuY3Rpb24g
Z2V0UmVxdWVzdENvdW50KCkgeworICAgIHhoci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlv
bigpIHsKKyAgICAgICAgaWYgKHhoci5yZWFkeVN0YXRlID09IHhoci5ET05FKQorICAgICAgICAg
ICAgY2hlY2tSZXF1ZXN0Q291bnQoKTsKKyAgICB9OworICAgIHhoci5vcGVuKCdHRVQnLCAnaHR0
cDovL2xvY2FsaG9zdDo4MDAwL2Nzcy9yZXNvdXJjZXMvd2ViZm9udC1yZXF1ZXN0LnBocD9tb2Rl
PWdldFJlcXVlc3RDb3VudCYnICsgZmlsZW5hbWUsIHRydWUpOworICAgIHhoci5zZW5kKCk7Cit9
CisKK2Z1bmN0aW9uIGNoZWNrUmVxdWVzdENvdW50KCkgeworICAgIHZhciBudW1SZXF1ZXN0ID0g
eGhyLnJlc3BvbnNlVGV4dDsKKyAgICB2YXIgcmVzdWx0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3Jlc3VsdCcpOworICAgIHJlc3VsdC5pbm5lckhUTUwgPSAnTnVtYmVyIG9mIHJlcXVlc3Rz
IGFmdGVyIHJlY2FsY3VsYXRpb246ICcgKyBudW1SZXF1ZXN0ICsgJzxiciAvPic7CisgICAgaWYg
KG51bVJlcXVlc3QgPT0gJzAnKQorICAgICAgICByZXN1bHQuaW5uZXJIVE1MICs9ICdTVUNDRVNT
JzsKKyAgICBlbHNlCisgICAgICAgIHJlc3VsdC5pbm5lckhUTUwgKz0gJ0ZBSUwnOworICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLm5vdGlmeURvbmUoKTsKK307Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0i
c3RhcnRUZXN0KCkiPgorPHA+VGhpcyB0ZXN0IGVuc3VyZXMgdGhhdCB3ZWJmb250cyBhcmUgbm90
IHJlLWZldGNoZWQgYWZ0ZXIgc3R5bGUgcmVjYWxjdWxhdGlvbi48L3A+Cis8ZGl2IHN0eWxlPSJm
b250LWZhbWlseTogd2ViZm9udDsiPlRleHQ8L2Rpdj4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+
Cis8c2NyaXB0PgorZG9jdW1lbnQuYm9keS5vZmZzZXRUb3A7Cis8L3NjcmlwdD4KKzwvYm9keT4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY3NzL3Jlc291cmNlcy93ZWJmb250
LXJlcXVlc3QucGhwIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jc3MvcmVzb3VyY2VzL3dlYmZv
bnQtcmVxdWVzdC5waHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmY2YjU5ZGJmZTIxZGY3NGU0YTBhY2Y1OWI2ZDMy
NWFkMmM3MWNhNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY3Nz
L3Jlc291cmNlcy93ZWJmb250LXJlcXVlc3QucGhwCkBAIC0wLDAgKzEsMzYgQEAKKzw/cGhwCity
ZXF1aXJlX29uY2UgIi4uLy4uL3Jlc291cmNlcy9wb3J0YWJpbGl0eUxheWVyLnBocCI7CisKK2Z1
bmN0aW9uIGdldFJlcXVlc3RDb3VudCgkZmlsZSkKK3sKKyAgICBpZiAoIWZpbGVfZXhpc3RzKCRm
aWxlKSkgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgcmV0dXJuIChpbnQpZmlsZV9n
ZXRfY29udGVudHMoJGZpbGUpOworfQorCitmdW5jdGlvbiBzZXRSZXF1ZXN0Q291bnQoJGZpbGUs
ICRjb3VudCkKK3sKKyAgICBmaWxlX3B1dF9jb250ZW50cygkZmlsZSwgJGNvdW50KTsKK30KKwor
JHRtcEZpbGUgPSBzeXNfZ2V0X3RlbXBfZGlyKCkgLiAiLyIgLiAkX0dFVFsiZmlsZW5hbWUiXTsK
KworJGN1cnJlbnRDb3VudCA9IGdldFJlcXVlc3RDb3VudCgkdG1wRmlsZSk7CiskbW9kZSA9ICRf
R0VUWyJtb2RlIl07CisKK2lmICgkbW9kZSA9PSAiZ2V0Rm9udCIpIHsKKyAgICBzZXRSZXF1ZXN0
Q291bnQoJHRtcEZpbGUsICRjdXJyZW50Q291bnQgKyAxKTsKKyAgICBoZWFkZXIoIkFjY2Vzcy1j
b250cm9sLW1heC1hZ2U6IDAiKTsKKyAgICBoZWFkZXIoIkFjY2Vzcy1jb250cm9sLWFsbG93LW9y
aWdpbjogKiIpOworICAgIGhlYWRlcigiQWNjZXNzLWNvbnRyb2wtYWxsb3ctbWV0aG9kczogKiIp
OworICAgIGhlYWRlcigiQ2FjaGUtQ29udHJvbDogbWF4LWFnZT0wIik7CisgICAgaGVhZGVyKCJD
b250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIpOworICAgIGVjaG8gIiI7Cit9
IGVsc2UgaWYgKCRtb2RlID09ICJnZXRSZXF1ZXN0Q291bnQiKSB7CisgICAgaGVhZGVyKCJBY2Nl
c3MtY29udHJvbC1tYXgtYWdlOiAwIik7CisgICAgaGVhZGVyKCJBY2Nlc3MtY29udHJvbC1hbGxv
dy1vcmlnaW46ICoiKTsKKyAgICBoZWFkZXIoIkFjY2Vzcy1jb250cm9sLWFsbG93LW1ldGhvZHM6
ICoiKTsKKyAgICBlY2hvICRjdXJyZW50Q291bnQ7Cit9Cis/Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119804</attachid>
            <date>2011-12-18 20:39:13 -0800</date>
            <delta_ts>2012-01-10 02:13:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73419-20111219133911.patch</filename>
            <type>text/plain</type>
            <size>9479</size>
            <attacher name="Kenichi Ishibashi">bashi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzMjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTc0NGJiYzVmMWJmMmVh
NTI0M2QxMTg2N2EyMjljNjk1ZGEyMjAzZC4uODU4ZjRlMmE0NzIwMGNkYjYyYzU5ZTYyMDNhYjUw
OGVmMGRhYmRlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDExLTEyLTE4ICBLZW5p
Y2hpIElzaGliYXNoaSAgPGJhc2hpQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWJGb250cyBh
cmUgcmUtZmV0Y2hlZCBmcm9tIHRoZSBzZXJ2ZXIgdXBvbiBEb2N1bWVudDo6c3R5bGVTZWxlY3Rv
ckNoYW5nZWQgY2FsbC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTczNDE5CisKKyAgICAgICAgSG9sZHMgdGhlIENhY2hlZEZvbnQgaGFuZGxlIGluIENT
U0ZvbnRGYWNlU3JjVmFsdWUgc28gdGhhdCBhdm9pZGluZyByZS12YWxpZGF0aW9uIGR1cmluZyBz
dHlsZSByZWNhbGN1bGF0aW9uLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvY3NzL2ZvbnQtZmFjZS1zcmMtbG9hZGluZy5o
dG1sCisKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NGb250RmFjZVNyY1ZhbHVlOjpjYWNoZWRGb250KTogQWRkZWQuCisgICAgICAg
ICogY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUuaDoKKyAgICAgICAgKiBjc3MvQ1NTRm9udFNlbGVj
dG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcjo6YWRkRm9udEZhY2VS
dWxlKTogR2V0cyB0aGUgQ2FjaGVkRm9udCBmcm9tIENTU0ZvbnRGYWNlU3JjVmFsdWUgb2JqZWN0
LiBUaGUgb2JqZWN0IHdpbGwgcmVxdWVzdCB0aGUgcmVzb3VyY2UgaWYgaXQgZG9lc24ndCBleGlz
dC4KKwogMjAxMS0xMi0xOCAgTHVrZSBNYWNwaGVyc29uICAgPG1hY3BoZXJzb25AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIEltcGxlbWVudCBDU1MgbGluZS1oZWlnaHQgcHJvcGVydHkgaW4gQ1NT
U3R5bGVBcHBseVByb3BlcnR5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Zv
bnRGYWNlU3JjVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU3JjVmFs
dWUuY3BwCmluZGV4IDU3MzAwZWY3MTRjNzhiNTRjOGFlODE2YzMyMGY5NzM5NDNhNTkwZGQuLjNj
ZGVjZTg4M2I1YTMwY2YwZWM5YTkzZjg5ZTY5Zjc2YWQxN2EyNDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNyY1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5jcHAKQEAgLTI2LDYgKzI2LDkgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVNyY1ZhbHVlLmgiCiAjaW5jbHVkZSAi
Q1NTU3R5bGVTaGVldC5oIgorI2luY2x1ZGUgIkNhY2hlZEZvbnQuaCIKKyNpbmNsdWRlICJDYWNo
ZWRSZXNvdXJjZUxvYWRlci5oIgorI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRm9u
dEN1c3RvbVBsYXRmb3JtRGF0YS5oIgogI2luY2x1ZGUgIk5vZGUuaCIKIApAQCAtNzYsNSArNzks
MTQgQEAgdm9pZCBDU1NGb250RmFjZVNyY1ZhbHVlOjphZGRTdWJyZXNvdXJjZVN0eWxlVVJMcyhM
aXN0SGFzaFNldDxLVVJMPiYgdXJscywgY29uc3QKICAgICAgICAgYWRkU3VicmVzb3VyY2VVUkwo
dXJscywgc3R5bGVTaGVldC0+Y29tcGxldGVVUkwobV9yZXNvdXJjZSkpOwogfQogCitDYWNoZWRG
b250KiBDU1NGb250RmFjZVNyY1ZhbHVlOjpjYWNoZWRGb250KERvY3VtZW50KiBkb2N1bWVudCkK
K3sKKyAgICBpZiAoIW1fY2FjaGVkRm9udCkgeworICAgICAgICBSZXNvdXJjZVJlcXVlc3QgcmVx
dWVzdChkb2N1bWVudC0+Y29tcGxldGVVUkwobV9yZXNvdXJjZSkpOworICAgICAgICBtX2NhY2hl
ZEZvbnQgPSBkb2N1bWVudC0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+cmVxdWVzdEZvbnQocmVx
dWVzdCk7CisgICAgfQorICAgIHJldHVybiBtX2NhY2hlZEZvbnQuZ2V0KCk7Cit9CisKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNyY1ZhbHVlLmgKaW5kZXggMTIxZjRkNGUxMTI5
MmM1YWY3MTFiMDRjOTAyZmRiYzZjYWFlNDExOC4uYTVmNTRkZTQ3OTM0ZjEzMjllMjA3NGNjNDAz
ZjRkYzVhMjM1Y2EzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNl
U3JjVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5o
CkBAIC0yNywxMSArMjcsMTQgQEAKICNkZWZpbmUgQ1NTRm9udEZhY2VTcmNWYWx1ZV9oCiAKICNp
bmNsdWRlICJDU1NWYWx1ZS5oIgorI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAj
aW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIENhY2hlZEZvbnQ7CitjbGFzcyBEb2N1bWVu
dDsKIGNsYXNzIFNWR0ZvbnRGYWNlRWxlbWVudDsKIAogY2xhc3MgQ1NTRm9udEZhY2VTcmNWYWx1
ZSA6IHB1YmxpYyBDU1NWYWx1ZSB7CkBAIC02NCw2ICs2Nyw4IEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgYWRkU3VicmVzb3VyY2VTdHlsZVVSTHMoTGlzdEhhc2hTZXQ8S1VSTD4mLCBjb25zdCBDU1NT
dHlsZVNoZWV0Kik7CiAKKyAgICBDYWNoZWRGb250KiBjYWNoZWRGb250KERvY3VtZW50Kik7CisK
IHByaXZhdGU6CiAgICAgQ1NTRm9udEZhY2VTcmNWYWx1ZShjb25zdCBTdHJpbmcmIHJlc291cmNl
LCBib29sIGxvY2FsKQogICAgICAgICA6IENTU1ZhbHVlKEZvbnRGYWNlU3JjQ2xhc3MpCkBAIC03
OSw2ICs4NCw4IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fZm9ybWF0OwogICAgIGJvb2wgbV9p
c0xvY2FsOwogCisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkRm9udD4gbV9jYWNoZWRG
b250OworCiAjaWYgRU5BQkxFKFNWR19GT05UUykKICAgICBTVkdGb250RmFjZUVsZW1lbnQqIG1f
c3ZnRm9udEZhY2VFbGVtZW50OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRm9udFNlbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0
b3IuY3BwCmluZGV4IDBiMWVhNGJlMmRmZjVlMDI2YjlmNWM3YmE0NTlkMWFjNzBmODNmOTguLmMw
ZjBkNWVmNjMyNGMyZTZmNTA1OWIyMDQ2ZTZjMzUzZTkyZjBhOWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250U2VsZWN0b3IuY3BwCkBAIC0yNDMsOCArMjQzLDcgQEAgdm9pZCBDU1NGb250U2Vs
ZWN0b3I6OmFkZEZvbnRGYWNlUnVsZShjb25zdCBDU1NGb250RmFjZVJ1bGUqIGZvbnRGYWNlUnVs
ZSkKICAgICAgICAgICAgIFNldHRpbmdzKiBzZXR0aW5ncyA9IG1fZG9jdW1lbnQgPyBtX2RvY3Vt
ZW50LT5mcmFtZSgpID8gbV9kb2N1bWVudC0+ZnJhbWUoKS0+c2V0dGluZ3MoKSA6IDAgOiAwOwog
ICAgICAgICAgICAgYm9vbCBhbGxvd0Rvd25sb2FkaW5nID0gZm91bmRTVkdGb250IHx8IChzZXR0
aW5ncyAmJiBzZXR0aW5ncy0+ZG93bmxvYWRhYmxlQmluYXJ5Rm9udHNFbmFibGVkKCkpOwogICAg
ICAgICAgICAgaWYgKGFsbG93RG93bmxvYWRpbmcgJiYgaXRlbS0+aXNTdXBwb3J0ZWRGb3JtYXQo
KSAmJiBtX2RvY3VtZW50KSB7Ci0gICAgICAgICAgICAgICAgUmVzb3VyY2VSZXF1ZXN0IHJlcXVl
c3QobV9kb2N1bWVudC0+Y29tcGxldGVVUkwoaXRlbS0+cmVzb3VyY2UoKSkpOwotICAgICAgICAg
ICAgICAgIENhY2hlZEZvbnQqIGNhY2hlZEZvbnQgPSBtX2RvY3VtZW50LT5jYWNoZWRSZXNvdXJj
ZUxvYWRlcigpLT5yZXF1ZXN0Rm9udChyZXF1ZXN0KTsKKyAgICAgICAgICAgICAgICBDYWNoZWRG
b250KiBjYWNoZWRGb250ID0gaXRlbS0+Y2FjaGVkRm9udChtX2RvY3VtZW50KTsKICAgICAgICAg
ICAgICAgICBpZiAoY2FjaGVkRm9udCkgewogICAgICAgICAgICAgICAgICAgICBzb3VyY2UgPSBu
ZXcgQ1NTRm9udEZhY2VTb3VyY2UoaXRlbS0+cmVzb3VyY2UoKSwgY2FjaGVkRm9udCk7CiAjaWYg
RU5BQkxFKFNWR19GT05UUykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiMWEwMDIxMGFhZmZlZjRmZjUyOTlkNGUwYzNlOGEw
NGFmYzlhOWJmLi5mN2VjZDY2YjQ3MjRhZTMxNmUzM2RhYjAzNWU0YzRhMmM2NjQ3MzQwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMTItMTggIEtlbmljaGkgSXNoaWJhc2hpICA8YmFzaGlA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYkZvbnRzIGFyZSByZS1mZXRjaGVkIGZyb20gdGhl
IHNlcnZlciB1cG9uIERvY3VtZW50OjpzdHlsZVNlbGVjdG9yQ2hhbmdlZCBjYWxsLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MTkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRzIGEgdGVzdCB0aGF0
IGVuc3VyZXMgcmUtZmV0Y2hpbmcgV2ViRm9udHMgZG9lc24ndCBvY2N1ciBhZnRlciBzdHlsZSBy
ZWNhbGN1bGF0aW9uLgorCisgICAgICAgICogaHR0cC90ZXN0cy9jc3MvZm9udC1mYWNlLXNyYy1s
b2FkaW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9jc3MvZm9u
dC1mYWNlLXNyYy1sb2FkaW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvY3Nz
L3Jlc291cmNlcy93ZWJmb250LXJlcXVlc3QucGhwOiBBZGRlZC4KKwogMjAxMS0xMi0xOCAgRGFu
IEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFBvc2l0aW9uZWQgRmxvYXRz
OiBBc3NlcnRpb24gaGl0IGluIGZhc3QvYmxvY2svcG9zaXRpb25pbmcvcG9zaXRpb25lZC1mbG9h
dC1sYXlvdXQtYWZ0ZXItaW1hZ2UtbG9hZC5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2Nzcy9mb250LWZhY2Utc3JjLWxvYWRpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jc3MvZm9udC1mYWNlLXNyYy1sb2FkaW5nLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iNjI3MjgwYTNlODc1ZjAzYjQ2YjE2YmUzOWE3OGU5NWQ5NmE4YWNlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jc3MvZm9udC1mYWNlLXNyYy1s
b2FkaW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVzdCBlbnN1cmVzIHRo
YXQgd2ViZm9udHMgYXJlIG5vdCByZS1mZXRjaGVkIGFmdGVyIHN0eWxlIHJlY2FsY3VsYXRpb24u
CisKK1RleHQKK051bWJlciBvZiByZXF1ZXN0cyBhZnRlciByZWNhbGN1bGF0aW9uOiAwCitTVUND
RVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nzcy9mb250LWZhY2Utc3Jj
LWxvYWRpbmcuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY3NzL2ZvbnQtZmFjZS1zcmMt
bG9hZGluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4ZWQyOTBlZGY4MTg4MGY2NzQ5MWYwOTk4YTVkYzYx
MjEzNjc5OTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2Nzcy9m
b250LWZhY2Utc3JjLWxvYWRpbmcuaHRtbApAQCAtMCwwICsxLDY4IEBACis8aGVhZD4KKzxzdHls
ZT4KK0Bmb250LWZhY2UgeworICAgIGZvbnQtZmFtaWx5OiAnd2ViZm9udCc7CisgICAgc3JjOiB1
cmwoaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nzcy9yZXNvdXJjZXMvd2ViZm9udC1yZXF1ZXN0LnBo
cD9tb2RlPWdldEZvbnQmZmlsZW5hbWU9d2ViZm9udFJlcXVlc3RDb3VudC50eHQpIGZvcm1hdCgn
dHJ1ZXR5cGUnKTsKK30KKzwvc3R5bGU+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7Cit9CisKK3ZhciBmaWxlbmFt
ZSA9ICdmaWxlbmFtZT13ZWJmb250UmVxdWVzdENvdW50LnR4dCc7Cit2YXIgeGhyOworCitmdW5j
dGlvbiBzdGFydFRlc3QoKSB7CisgICAgLy8gUmVzZXRzIHJlcXVlc3QgY291bnQgYmVmb3JlIHN0
YXJ0aW5nIHRoZSB0ZXN0LgorICAgIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdDsKKyAgICB4aHIu
b25lcnJvciA9IGZ1bmN0aW9uKCkgeworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
cmVzdWx0JykuaW5uZXJUZXh0ID0gJ0ZBSUw6IE5ldHdvcmsgZXJyb3IuJzsKKyAgICAgICAgaWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICB9OworICAgIHhoci5vbnJlYWR5c3RhdGVjaGFuZ2Ug
PSBmdW5jdGlvbigpIHsKKyAgICAgICAgaWYgKHhoci5yZWFkeVN0YXRlID09IHhoci5ET05FKQor
ICAgICAgICAgICAgZm9yY2VTdHlsZVNlbGVjdG9yUmVjcmVhdGlvbigpOworICAgIH07CisgICAg
eGhyLm9wZW4oJ0dFVCcsICcvcmVzb3VyY2VzL3Jlc2V0LXRlbXAtZmlsZS5waHA/JyArIGZpbGVu
YW1lLCB0cnVlKTsKKyAgICB4aHIuc2VuZCgpOworfQorCitmdW5jdGlvbiBmb3JjZVN0eWxlU2Vs
ZWN0b3JSZWNyZWF0aW9uKCkgeworICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKSk7CisgICAgLy8gUGF1c2VzIGZvciBhIG1vbWVudCB0
byBzZWUgd2hldGhlciBmb250IHJlLWZldGNoaW5nIG9jY3Vycy4KKyAgICBzZXRUaW1lb3V0KGdl
dFJlcXVlc3RDb3VudCwgMTAwKTsKK30KKworZnVuY3Rpb24gZ2V0UmVxdWVzdENvdW50KCkgewor
ICAgIHhoci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgaWYgKHho
ci5yZWFkeVN0YXRlID09IHhoci5ET05FKQorICAgICAgICAgICAgY2hlY2tSZXF1ZXN0Q291bnQo
KTsKKyAgICB9OworICAgIHhoci5vcGVuKCdHRVQnLCAnaHR0cDovL2xvY2FsaG9zdDo4MDAwL2Nz
cy9yZXNvdXJjZXMvd2ViZm9udC1yZXF1ZXN0LnBocD9tb2RlPWdldFJlcXVlc3RDb3VudCYnICsg
ZmlsZW5hbWUsIHRydWUpOworICAgIHhoci5zZW5kKCk7Cit9CisKK2Z1bmN0aW9uIGNoZWNrUmVx
dWVzdENvdW50KCkgeworICAgIHZhciBudW1SZXF1ZXN0ID0geGhyLnJlc3BvbnNlVGV4dDsKKyAg
ICB2YXIgcmVzdWx0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpOworICAgIHJl
c3VsdC5pbm5lckhUTUwgPSAnTnVtYmVyIG9mIHJlcXVlc3RzIGFmdGVyIHJlY2FsY3VsYXRpb246
ICcgKyBudW1SZXF1ZXN0ICsgJzxiciAvPic7CisgICAgaWYgKG51bVJlcXVlc3QgPT0gJzAnKQor
ICAgICAgICByZXN1bHQuaW5uZXJIVE1MICs9ICdTVUNDRVNTJzsKKyAgICBlbHNlCisgICAgICAg
IHJlc3VsdC5pbm5lckhUTUwgKz0gJ0ZBSUwnOworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKK307
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0ic3RhcnRUZXN0KCkiPgorPHA+VGhp
cyB0ZXN0IGVuc3VyZXMgdGhhdCB3ZWJmb250cyBhcmUgbm90IHJlLWZldGNoZWQgYWZ0ZXIgc3R5
bGUgcmVjYWxjdWxhdGlvbi48L3A+Cis8ZGl2IHN0eWxlPSJmb250LWZhbWlseTogd2ViZm9udDsi
PlRleHQ8L2Rpdj4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8c2NyaXB0PgorZG9jdW1lbnQu
Ym9keS5vZmZzZXRUb3A7Cis8L3NjcmlwdD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvY3NzL3Jlc291cmNlcy93ZWJmb250LXJlcXVlc3QucGhwIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jc3MvcmVzb3VyY2VzL3dlYmZvbnQtcmVxdWVzdC5waHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZmY2YjU5ZGJmZTIxZGY3NGU0YTBhY2Y1OWI2ZDMyNWFkMmM3MWNhNwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY3NzL3Jlc291cmNlcy93ZWJmb250LXJl
cXVlc3QucGhwCkBAIC0wLDAgKzEsMzYgQEAKKzw/cGhwCityZXF1aXJlX29uY2UgIi4uLy4uL3Jl
c291cmNlcy9wb3J0YWJpbGl0eUxheWVyLnBocCI7CisKK2Z1bmN0aW9uIGdldFJlcXVlc3RDb3Vu
dCgkZmlsZSkKK3sKKyAgICBpZiAoIWZpbGVfZXhpc3RzKCRmaWxlKSkgeworICAgICAgICByZXR1
cm4gMDsKKyAgICB9CisgICAgcmV0dXJuIChpbnQpZmlsZV9nZXRfY29udGVudHMoJGZpbGUpOwor
fQorCitmdW5jdGlvbiBzZXRSZXF1ZXN0Q291bnQoJGZpbGUsICRjb3VudCkKK3sKKyAgICBmaWxl
X3B1dF9jb250ZW50cygkZmlsZSwgJGNvdW50KTsKK30KKworJHRtcEZpbGUgPSBzeXNfZ2V0X3Rl
bXBfZGlyKCkgLiAiLyIgLiAkX0dFVFsiZmlsZW5hbWUiXTsKKworJGN1cnJlbnRDb3VudCA9IGdl
dFJlcXVlc3RDb3VudCgkdG1wRmlsZSk7CiskbW9kZSA9ICRfR0VUWyJtb2RlIl07CisKK2lmICgk
bW9kZSA9PSAiZ2V0Rm9udCIpIHsKKyAgICBzZXRSZXF1ZXN0Q291bnQoJHRtcEZpbGUsICRjdXJy
ZW50Q291bnQgKyAxKTsKKyAgICBoZWFkZXIoIkFjY2Vzcy1jb250cm9sLW1heC1hZ2U6IDAiKTsK
KyAgICBoZWFkZXIoIkFjY2Vzcy1jb250cm9sLWFsbG93LW9yaWdpbjogKiIpOworICAgIGhlYWRl
cigiQWNjZXNzLWNvbnRyb2wtYWxsb3ctbWV0aG9kczogKiIpOworICAgIGhlYWRlcigiQ2FjaGUt
Q29udHJvbDogbWF4LWFnZT0wIik7CisgICAgaGVhZGVyKCJDb250ZW50LVR5cGU6IGFwcGxpY2F0
aW9uL29jdGV0LXN0cmVhbSIpOworICAgIGVjaG8gIiI7Cit9IGVsc2UgaWYgKCRtb2RlID09ICJn
ZXRSZXF1ZXN0Q291bnQiKSB7CisgICAgaGVhZGVyKCJBY2Nlc3MtY29udHJvbC1tYXgtYWdlOiAw
Iik7CisgICAgaGVhZGVyKCJBY2Nlc3MtY29udHJvbC1hbGxvdy1vcmlnaW46ICoiKTsKKyAgICBo
ZWFkZXIoIkFjY2Vzcy1jb250cm9sLWFsbG93LW1ldGhvZHM6ICoiKTsKKyAgICBlY2hvICRjdXJy
ZW50Q291bnQ7Cit9Cis/Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>