<?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>78604</bug_id>
          
          <creation_ts>2012-02-14 07:08:36 -0800</creation_ts>
          <short_desc>Share font-family CSS values through CSSValuePool.</short_desc>
          <delta_ts>2012-02-16 03:22:22 -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></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>78070</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>556282</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-02-14 07:08:36 -0800</bug_when>
    <thetext>SSIA</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556287</commentid>
    <comment_count>1</comment_count>
      <attachid>126975</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-02-14 07:13:39 -0800</bug_when>
    <thetext>Created attachment 126975
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556291</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-14 07:16:59 -0800</bug_when>
    <thetext>Attachment 126975 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/update-webkit&apos;]&quot; exit_code: 9

Updating OpenSource
First, rewinding head to replay your work on top of it...
Applying: [Mac][Win][WK2] Switch to RFC 6455 protocol for WebSockets
Using index info to reconstruct a base tree...
&lt;stdin&gt;:1578: trailing whitespace.
        
&lt;stdin&gt;:1647: trailing whitespace.
    
&lt;stdin&gt;:1657: trailing whitespace.
    
&lt;stdin&gt;:1672: trailing whitespace.
        return 0;        
&lt;stdin&gt;:1674: trailing whitespace.
    
warning: squelched 7 whitespace errors
warning: 12 lines add whitespace errors.
Falling back to patching base and 3-way merge...
warning: too many files (created: 168776 deleted: 3), skipping inexact rename detection
Auto-merging LayoutTests/ChangeLog
CONFLICT (content): Merge conflict in LayoutTests/ChangeLog
Auto-merging Source/WebCore/ChangeLog
CONFLICT (content): Merge conflict in Source/WebCore/ChangeLog
Auto-merging Source/WebKit2/ChangeLog
CONFLICT (content): Merge conflict in Source/WebKit2/ChangeLog
Auto-merging Tools/ChangeLog
CONFLICT (content): Merge conflict in Tools/ChangeLog
Failed to merge in the changes.
Patch failed at 0001 [Mac][Win][WK2] Switch to RFC 6455 protocol for WebSockets

When you have resolved this problem run &quot;git rebase --continue&quot;.
If you would prefer to skip this patch, instead run &quot;git rebase --skip&quot;.
To restore the original branch and stop rebasing run &quot;git rebase --abort&quot;.

rebase refs/remotes/origin/master: command returned error: 1

Died at Tools/Scripts/update-webkit line 164.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556306</commentid>
    <comment_count>3</comment_count>
      <attachid>126975</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-14 07:59:08 -0800</bug_when>
    <thetext>Comment on attachment 126975
Patch

Attachment 126975 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11514341

New failing tests:
fast/text/backslash-to-yen-sign-dynamic.html
editing/selection/find-yensign-and-backslash-with-japanese-fonts.html
fast/text/backslash-to-yen-sign-euc.html
tables/mozilla/bugs/bug126742.html
fast/text/backslash-to-yen-sign.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556977</commentid>
    <comment_count>4</comment_count>
      <attachid>127123</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-02-15 00:33:54 -0800</bug_when>
    <thetext>Created attachment 127123
Patch v2

Okay, it wasn&apos;t that simple, let&apos;s try again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557145</commentid>
    <comment_count>5</comment_count>
      <attachid>127123</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-02-15 04:13:54 -0800</bug_when>
    <thetext>Comment on attachment 127123
Patch v2

Looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>557329</commentid>
    <comment_count>6</comment_count>
      <attachid>127123</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-02-15 09:46:59 -0800</bug_when>
    <thetext>Comment on attachment 127123
Patch v2

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

&gt; Source/WebCore/css/CSSParser.cpp:4284
&gt; +    { }

Normal style is to put these on successive lines instead of on one line.

&gt; Source/WebCore/css/CSSParser.cpp:4313
&gt; +    FontFamilyValueBuilder familyBuilder(list.get(), cssValuePool());
&gt; +    bool inFamily = false;

It seems that it would be easy to leave out one call to commit in the code that follows. I the logic could be slightly clearer if more of the work was done through builder object and it had a bit more state.

&gt; Source/WebCore/css/CSSValuePool.h:77
&gt; +    typedef HashMap&lt;String, RefPtr&lt;FontFamilyValue&gt; &gt; FontFamilyValueCache;

It might be better to use AtomicString for this. We could possibly save some allocation by going directly from a parser string or a string builder to an existing AtomicString for an existing family name rather than making a temporary String that often ends up being used only for map lookup. Alternatively, we could work on enhancements to HashMap&lt;String, xxx&gt; that could allow us to look up in the map without allocating a new string. My guess is that this isn’t so performance-critical that either of those matters, but it is something I noticed while reviewing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558037</commentid>
    <comment_count>7</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-02-16 03:05:37 -0800</bug_when>
    <thetext>Committed r107919: &lt;http://trac.webkit.org/changeset/107919&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558047</commentid>
    <comment_count>8</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-02-16 03:22:22 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Committed r107919: &lt;http://trac.webkit.org/changeset/107919&gt;

Landed this as-is to move things on. Will return to parseFont() momentarily.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126975</attachid>
            <date>2012-02-14 07:13:39 -0800</date>
            <delta_ts>2012-02-14 08:12:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78604.diff</filename>
            <type>text/plain</type>
            <size>4779</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiNGU3ZDdhLi5mZGUyNTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUg
QEAKKzIwMTItMDItMTQgIEFuZHJlYXMgS2xpbmcgIDxhd2Vzb21la2xpbmdAYXBwbGUuY29tPgor
CisgICAgICAgIFNoYXJlIGZvbnQtZmFtaWx5IENTUyB2YWx1ZXMgdGhyb3VnaCBDU1NWYWx1ZVBv
b2wuCisgICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzc4NjA0PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENhY2hlIGFuZCBzaGFyZSBGb250RmFt
aWx5VmFsdWUgaW5zdGFuY2VzIGluIHRoZSBwZXItZG9jdW1lbnQgQ1NTVmFsdWVQb29sLgorICAg
ICAgICBUaGlzIHJlZHVjZXMgbWVtb3J5IGNvbnN1bXB0aW9uIGJ5IDI0OCBrQiBvbiB0aGUgTW96
IHBhZ2UgY3ljbGVyICg2NC1iaXQpCisgICAgICAgIGFuZCBhdm9pZHMgYSBidW5jaCBvZiBleHRy
YSB3b3JrLgorICAgICAgICAKKyAgICAgICAgVGhpcyBpcyBhIHJlZ3Jlc3Npb24gZnJvbSB0aGUg
cmVjZW50IGF0dHJpYnV0ZSBzdHlsZSByZWZhY3RvcmluZzsgcHJldmlvdXNseQorICAgICAgICB0
aGUgbWFwcGVkIGF0dHJpYnV0ZSBkZWNsYXJhdGlvbiB0YWJsZSB3b3VsZCBlbnN1cmUgdGhhdCBt
dWx0aXBsZSAnZm9udCcKKyAgICAgICAgZWxlbWVudHMgd2l0aCB0aGUgc2FtZSAnZmFjZScgdmFs
dWUgd291bGQgc2hhcmUgdGhlIHNhbWUgRm9udEZhbWlseVZhbHVlLgorCisgICAgICAgICogY3Nz
L0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlRm9udEZh
bWlseSk6CisgICAgICAgICogY3NzL0NTU1ZhbHVlUG9vbC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NWYWx1ZVBvb2w6OmNyZWF0ZUZvbnRGYW1pbHlWYWx1ZSk6CisgICAgICAgICogY3NzL0NT
U1ZhbHVlUG9vbC5oOgorICAgICAgICAoQ1NTVmFsdWVQb29sKToKKwogMjAxMi0wMi0xNCAgVnNl
dm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVj
dG9yOiBNYWtlIFNjcmlwdHNOYXZpZ2F0b3IgZGVmYXVsdCBmaWxlIHNlbGVjdG9yLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmNwcAppbmRleCBhMTI1OGZmLi5lYTA2NTU0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmNwcApAQCAtNDI5NiwyMSArNDI5NiwyMSBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlTGlz
dD4gQ1NTUGFyc2VyOjpwYXJzZUZvbnRGYW1pbHkoKQogICAgICAgICAgICAgZWxzZSBpZiAobmV4
dFZhbEJyZWFrc0ZvbnQgfHwgIW5leHRWYWxJc0ZvbnROYW1lKQogICAgICAgICAgICAgICAgIGxp
c3QtPmFwcGVuZChjc3NWYWx1ZVBvb2woKS0+Y3JlYXRlSWRlbnRpZmllclZhbHVlKHZhbHVlLT5p
ZCkpOwogICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgUmVmUHRyPEZvbnRGYW1p
bHlWYWx1ZT4gbmV3RmFtaWx5ID0gRm9udEZhbWlseVZhbHVlOjpjcmVhdGUodmFsdWUtPnN0cmlu
Zyk7CisgICAgICAgICAgICAgICAgUmVmUHRyPEZvbnRGYW1pbHlWYWx1ZT4gbmV3RmFtaWx5ID0g
Y3NzVmFsdWVQb29sKCktPmNyZWF0ZUZvbnRGYW1pbHlWYWx1ZSh2YWx1ZS0+c3RyaW5nKTsKICAg
ICAgICAgICAgICAgICBjdXJyRmFtaWx5ID0gbmV3RmFtaWx5LmdldCgpOwogICAgICAgICAgICAg
ICAgIGxpc3QtPmFwcGVuZChuZXdGYW1pbHkucmVsZWFzZSgpKTsKICAgICAgICAgICAgIH0KICAg
ICAgICAgfSBlbHNlIGlmICh2YWx1ZS0+dW5pdCA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1NU
UklORykgewogICAgICAgICAgICAgLy8gU3RyaW5ncyBuZXZlciBzaGFyZSBpbiBhIGZhbWlseSBu
YW1lLgogICAgICAgICAgICAgY3VyckZhbWlseSA9IDA7Ci0gICAgICAgICAgICBsaXN0LT5hcHBl
bmQoRm9udEZhbWlseVZhbHVlOjpjcmVhdGUodmFsdWUtPnN0cmluZykpOworICAgICAgICAgICAg
bGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVGb250RmFtaWx5VmFsdWUodmFsdWUt
PnN0cmluZykpOwogICAgICAgICB9IGVsc2UgaWYgKHZhbHVlLT51bml0ID09IENTU1ByaW1pdGl2
ZVZhbHVlOjpDU1NfSURFTlQpIHsKICAgICAgICAgICAgIGlmIChjdXJyRmFtaWx5KQogICAgICAg
ICAgICAgICAgIGN1cnJGYW1pbHktPmFwcGVuZFNwYWNlU2VwYXJhdGVkKHZhbHVlLT5zdHJpbmcu
Y2hhcmFjdGVycywgdmFsdWUtPnN0cmluZy5sZW5ndGgpOwogICAgICAgICAgICAgZWxzZSBpZiAo
bmV4dFZhbEJyZWFrc0ZvbnQgfHwgIW5leHRWYWxJc0ZvbnROYW1lKQotICAgICAgICAgICAgICAg
IGxpc3QtPmFwcGVuZChGb250RmFtaWx5VmFsdWU6OmNyZWF0ZSh2YWx1ZS0+c3RyaW5nKSk7Cisg
ICAgICAgICAgICAgICAgbGlzdC0+YXBwZW5kKGNzc1ZhbHVlUG9vbCgpLT5jcmVhdGVGb250RmFt
aWx5VmFsdWUodmFsdWUtPnN0cmluZykpOwogICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAg
ICAgICAgUmVmUHRyPEZvbnRGYW1pbHlWYWx1ZT4gbmV3RmFtaWx5ID0gRm9udEZhbWlseVZhbHVl
OjpjcmVhdGUodmFsdWUtPnN0cmluZyk7CisgICAgICAgICAgICAgICAgUmVmUHRyPEZvbnRGYW1p
bHlWYWx1ZT4gbmV3RmFtaWx5ID0gY3NzVmFsdWVQb29sKCktPmNyZWF0ZUZvbnRGYW1pbHlWYWx1
ZSh2YWx1ZS0+c3RyaW5nKTsKICAgICAgICAgICAgICAgICBjdXJyRmFtaWx5ID0gbmV3RmFtaWx5
LmdldCgpOwogICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChuZXdGYW1pbHkucmVsZWFzZSgp
KTsKICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZVBvb2wuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlUG9vbC5jcHAKaW5kZXggM2Q4
ODkzZS4uYWNkNjVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlUG9v
bC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlUG9vbC5jcHAKQEAgLTEyMCw0
ICsxMjAsMTIgQEAgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gQ1NTVmFsdWVQb29sOjpj
cmVhdGVWYWx1ZShkb3VibGUgdmFsdWUsIENTU1ByaW1pdGkKICAgICByZXR1cm4gZW50cnkuZmly
c3QtPnNlY29uZDsKIH0KIAorUGFzc1JlZlB0cjxGb250RmFtaWx5VmFsdWU+IENTU1ZhbHVlUG9v
bDo6Y3JlYXRlRm9udEZhbWlseVZhbHVlKGNvbnN0IFN0cmluZyYgZmFtaWx5TmFtZSkKK3sKKyAg
ICBSZWZQdHI8Rm9udEZhbWlseVZhbHVlPiYgdmFsdWUgPSBtX2ZvbnRGYW1pbHlWYWx1ZUNhY2hl
LmFkZChmYW1pbHlOYW1lLCAwKS5maXJzdC0+c2Vjb25kOworICAgIGlmICghdmFsdWUpCisgICAg
ICAgIHZhbHVlID0gRm9udEZhbWlseVZhbHVlOjpjcmVhdGUoZmFtaWx5TmFtZSk7CisgICAgcmV0
dXJuIHZhbHVlOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWVQb29sLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVQb29sLmgKaW5kZXggYmM3NTFl
Yi4uMTE0MGZlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlUG9vbC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZVBvb2wuaApAQCAtMjksNiArMjksNyBA
QAogI2luY2x1ZGUgIkNTU0luaGVyaXRlZFZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTSW5pdGlhbFZh
bHVlLmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKKyNpbmNsdWRlICJGb250RmFt
aWx5VmFsdWUuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KIApAQCAtMzksNiArNDAsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8
Q1NTVmFsdWVQb29sPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ1NTVmFsdWVQb29s
KTsgfQogICAgIH5DU1NWYWx1ZVBvb2woKTsKIAorICAgIFBhc3NSZWZQdHI8Rm9udEZhbWlseVZh
bHVlPiBjcmVhdGVGb250RmFtaWx5VmFsdWUoY29uc3QgU3RyaW5nJik7CiAgICAgUGFzc1JlZlB0
cjxDU1NJbmhlcml0ZWRWYWx1ZT4gY3JlYXRlSW5oZXJpdGVkVmFsdWUoKSB7IHJldHVybiBtX2lu
aGVyaXRlZFZhbHVlOyB9CiAgICAgUGFzc1JlZlB0cjxDU1NJbml0aWFsVmFsdWU+IGNyZWF0ZUlt
cGxpY2l0SW5pdGlhbFZhbHVlKCkgeyByZXR1cm4gbV9pbXBsaWNpdEluaXRpYWxWYWx1ZTsgfQog
ICAgIFBhc3NSZWZQdHI8Q1NTSW5pdGlhbFZhbHVlPiBjcmVhdGVFeHBsaWNpdEluaXRpYWxWYWx1
ZSgpIHsgcmV0dXJuIG1fZXhwbGljaXRJbml0aWFsVmFsdWU7IH0KQEAgLTcxLDYgKzczLDkgQEAg
cHJpdmF0ZToKICAgICBJbnRlZ2VyVmFsdWVDYWNoZSBtX3BpeGVsVmFsdWVDYWNoZTsKICAgICBJ
bnRlZ2VyVmFsdWVDYWNoZSBtX3BlcmNlbnRWYWx1ZUNhY2hlOwogICAgIEludGVnZXJWYWx1ZUNh
Y2hlIG1fbnVtYmVyVmFsdWVDYWNoZTsKKworICAgIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIFJl
ZlB0cjxGb250RmFtaWx5VmFsdWU+ID4gRm9udEZhbWlseVZhbHVlQ2FjaGU7CisgICAgRm9udEZh
bWlseVZhbHVlQ2FjaGUgbV9mb250RmFtaWx5VmFsdWVDYWNoZTsKIH07CiAKIH0K
</data>
<flag name="commit-queue"
          id="128961"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127123</attachid>
            <date>2012-02-15 00:33:54 -0800</date>
            <delta_ts>2012-02-15 09:46:59 -0800</delta_ts>
            <desc>Patch v2</desc>
            <filename>bug-78604-v2.diff</filename>
            <type>text/plain</type>
            <size>8961</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiNGU3ZDdhLi40NTdhOTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDQg
QEAKKzIwMTItMDItMTUgIEFuZHJlYXMgS2xpbmcgIDxhd2Vzb21la2xpbmdAYXBwbGUuY29tPgor
CisgICAgICAgIFNoYXJlIGZvbnQtZmFtaWx5IENTUyB2YWx1ZXMgdGhyb3VnaCBDU1NWYWx1ZVBv
b2wuCisgICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzc4NjA0PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENhY2hlIGFuZCBzaGFyZSBGb250RmFt
aWx5VmFsdWUgaW5zdGFuY2VzIGluIHRoZSBwZXItZG9jdW1lbnQgQ1NTVmFsdWVQb29sLgorICAg
ICAgICBUaGlzIHJlZHVjZXMgbWVtb3J5IGNvbnN1bXB0aW9uIGJ5IDI0OCBrQiBvbiB0aGUgTW96
IHBhZ2UgY3ljbGVyICg2NC1iaXQpCisgICAgICAgIGFuZCBhdm9pZHMgYSBidW5jaCBvZiBleHRy
YSB3b3JrLgorCisgICAgICAgIFRoaXMgaXMgYSByZWdyZXNzaW9uIGZyb20gdGhlIHJlY2VudCBh
dHRyaWJ1dGUgc3R5bGUgcmVmYWN0b3Jpbmc7IHByZXZpb3VzbHkKKyAgICAgICAgdGhlIG1hcHBl
ZCBhdHRyaWJ1dGUgZGVjbGFyYXRpb24gdGFibGUgd291bGQgZW5zdXJlIHRoYXQgbXVsdGlwbGUg
J2ZvbnQnCisgICAgICAgIGVsZW1lbnRzIHdpdGggdGhlIHNhbWUgJ2ZhY2UnIHZhbHVlIHdvdWxk
IHNoYXJlIHRoZSBzYW1lIEZvbnRGYW1pbHlWYWx1ZS4KKworICAgICAgICBXZSdyZSBub3QgeWV0
IHNoYXJpbmcgdGhlIGVudGlyZSBDU1NWYWx1ZUxpc3QgcmV0dXJuZWQgYnkgcGFyc2VGb250RmFt
aWx5KCkKKyAgICAgICAgYnV0IHRoaXMgaXMgYSBzdGVwIG9uIHRoZSB3YXkgdGhlcmUuCisKKyAg
ICAgICAgKiBjc3MvRm9udEZhbWlseVZhbHVlLmNwcDoKKyAgICAgICAgKiBjc3MvRm9udEZhbWls
eVZhbHVlLmg6CisKKyAgICAgICAgICAgIFJlbW92ZWQgYXBwZW5kU3BhY2VTZXBhcmF0ZWQoKSwg
bWFraW5nIEZvbnRGYW1pbHlWYWx1ZSBpbW11dGFibGUuCisKKyAgICAgICAgKiBjc3MvQ1NTUGFy
c2VyLmNwcDoKKyAgICAgICAgKEZvbnRGYW1pbHlWYWx1ZUJ1aWxkZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9udEZhbWlseVZhbHVlQnVpbGRlcjo6Rm9udEZhbWlseVZhbHVlQnVpbGRlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpGb250RmFtaWx5VmFsdWVCdWlsZGVyOjphZGQpOgorICAgICAgICAo
V2ViQ29yZTo6Rm9udEZhbWlseVZhbHVlQnVpbGRlcjo6Y29tbWl0KToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1BhcnNlcjo6cGFyc2VGb250RmFtaWx5KToKKworICAgICAgICAgICAgUmVmYWN0b3Ig
cGFyc2VGb250RmFtaWx5KCkgdG8gZGVmZXIgY3JlYXRpb24gb2YgRm9udEZhbWlseVZhbHVlIHVu
dGlsCisgICAgICAgICAgICB0aGUgd2hvbGUgZmFtaWx5IG5hbWUgaXMga25vd24uIEFkZGVkIGEg
bGl0dGxlIGhlbHBlciBjbGFzcyB0byBhdm9pZAorICAgICAgICAgICAgY29kZSBkdXBsaWNhdGlv
bi4KKworICAgICAgICAqIGNzcy9DU1NWYWx1ZVBvb2wuaDoKKyAgICAgICAgKiBjc3MvQ1NTVmFs
dWVQb29sLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlUG9vbDo6Y3JlYXRlRm9udEZh
bWlseVZhbHVlKToKKworICAgICAgICAgICAgQWRkZWQgYSBGb250RmFtaWx5VmFsdWUgY2FjaGUg
dG8gQ1NTVmFsdWVQb29sLiBBbGwgdmFsdWVzIGFyZSB0aWVkIHRvCisgICAgICAgICAgICB0aGUg
bGlmZXRpbWUgb2YgdGhlIHBvb2wuCisKIDIwMTItMDItMTQgIFZzZXZvbG9kIFZsYXNvdiAgPHZz
ZXZpa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogTWFrZSBTY3JpcHRz
TmF2aWdhdG9yIGRlZmF1bHQgZmlsZSBzZWxlY3Rvci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAK
aW5kZXggYTEyNThmZi4uZTRhY2U0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTQy
NzYsMTIgKzQyNzYsNDIgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlRm9udChib29sIGltcG9ydGFu
dCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorY2xhc3MgRm9udEZhbWlseVZhbHVlQnVpbGRlciB7
CitwdWJsaWM6CisgICAgRm9udEZhbWlseVZhbHVlQnVpbGRlcihDU1NWYWx1ZUxpc3QqIGxpc3Qs
IENTU1ZhbHVlUG9vbCogcG9vbCkKKyAgICAgICAgOiBtX2xpc3QobGlzdCkKKyAgICAgICAgLCBt
X2Nzc1ZhbHVlUG9vbChwb29sKQorICAgIHsgfQorCisgICAgdm9pZCBhZGQoY29uc3QgQ1NTUGFy
c2VyU3RyaW5nJiBzdHJpbmcpCisgICAgeworICAgICAgICBpZiAoIW1fYnVpbGRlci5pc0VtcHR5
KCkpCisgICAgICAgICAgICBtX2J1aWxkZXIuYXBwZW5kKCcgJyk7CisgICAgICAgIG1fYnVpbGRl
ci5hcHBlbmQoc3RyaW5nLmNoYXJhY3RlcnMsIHN0cmluZy5sZW5ndGgpOworICAgIH0KKworICAg
IHZvaWQgY29tbWl0KCkKKyAgICB7CisgICAgICAgIGlmIChtX2J1aWxkZXIuaXNFbXB0eSgpKQor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBtX2xpc3QtPmFwcGVuZChtX2Nzc1ZhbHVlUG9v
bC0+Y3JlYXRlRm9udEZhbWlseVZhbHVlKG1fYnVpbGRlci50b1N0cmluZygpKSk7CisgICAgICAg
IG1fYnVpbGRlci5jbGVhcigpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBTdHJpbmdCdWlsZGVy
IG1fYnVpbGRlcjsKKyAgICBDU1NWYWx1ZUxpc3QqIG1fbGlzdDsKKyAgICBDU1NWYWx1ZVBvb2wq
IG1fY3NzVmFsdWVQb29sOworfTsKKwogUGFzc1JlZlB0cjxDU1NWYWx1ZUxpc3Q+IENTU1BhcnNl
cjo6cGFyc2VGb250RmFtaWx5KCkKIHsKICAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBsaXN0ID0g
Q1NTVmFsdWVMaXN0OjpjcmVhdGVDb21tYVNlcGFyYXRlZCgpOwogICAgIENTU1BhcnNlclZhbHVl
KiB2YWx1ZSA9IG1fdmFsdWVMaXN0LT5jdXJyZW50KCk7CiAKLSAgICBGb250RmFtaWx5VmFsdWUq
IGN1cnJGYW1pbHkgPSAwOworICAgIEZvbnRGYW1pbHlWYWx1ZUJ1aWxkZXIgZmFtaWx5QnVpbGRl
cihsaXN0LmdldCgpLCBjc3NWYWx1ZVBvb2woKSk7CisgICAgYm9vbCBpbkZhbWlseSA9IGZhbHNl
OworCiAgICAgd2hpbGUgKHZhbHVlKSB7CiAgICAgICAgIENTU1BhcnNlclZhbHVlKiBuZXh0VmFs
dWUgPSBtX3ZhbHVlTGlzdC0+bmV4dCgpOwogICAgICAgICBib29sIG5leHRWYWxCcmVha3NGb250
ID0gIW5leHRWYWx1ZSB8fApAQCAtNDI5MSwyOCArNDMyMSwyOSBAQCBQYXNzUmVmUHRyPENTU1Zh
bHVlTGlzdD4gQ1NTUGFyc2VyOjpwYXJzZUZvbnRGYW1pbHkoKQogICAgICAgICAgICAgKG5leHRW
YWx1ZS0+dW5pdCA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1NUUklORyB8fCBuZXh0VmFsdWUt
PnVuaXQgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19JREVOVCkpOwogCiAgICAgICAgIGlmICh2
YWx1ZS0+aWQgPj0gQ1NTVmFsdWVTZXJpZiAmJiB2YWx1ZS0+aWQgPD0gQ1NTVmFsdWVXZWJraXRC
b2R5KSB7Ci0gICAgICAgICAgICBpZiAoY3VyckZhbWlseSkKLSAgICAgICAgICAgICAgICBjdXJy
RmFtaWx5LT5hcHBlbmRTcGFjZVNlcGFyYXRlZCh2YWx1ZS0+c3RyaW5nLmNoYXJhY3RlcnMsIHZh
bHVlLT5zdHJpbmcubGVuZ3RoKTsKKyAgICAgICAgICAgIGlmIChpbkZhbWlseSkKKyAgICAgICAg
ICAgICAgICBmYW1pbHlCdWlsZGVyLmFkZCh2YWx1ZS0+c3RyaW5nKTsKICAgICAgICAgICAgIGVs
c2UgaWYgKG5leHRWYWxCcmVha3NGb250IHx8ICFuZXh0VmFsSXNGb250TmFtZSkKICAgICAgICAg
ICAgICAgICBsaXN0LT5hcHBlbmQoY3NzVmFsdWVQb29sKCktPmNyZWF0ZUlkZW50aWZpZXJWYWx1
ZSh2YWx1ZS0+aWQpKTsKICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgIFJlZlB0
cjxGb250RmFtaWx5VmFsdWU+IG5ld0ZhbWlseSA9IEZvbnRGYW1pbHlWYWx1ZTo6Y3JlYXRlKHZh
bHVlLT5zdHJpbmcpOwotICAgICAgICAgICAgICAgIGN1cnJGYW1pbHkgPSBuZXdGYW1pbHkuZ2V0
KCk7Ci0gICAgICAgICAgICAgICAgbGlzdC0+YXBwZW5kKG5ld0ZhbWlseS5yZWxlYXNlKCkpOwor
ICAgICAgICAgICAgICAgIGZhbWlseUJ1aWxkZXIuY29tbWl0KCk7CisgICAgICAgICAgICAgICAg
ZmFtaWx5QnVpbGRlci5hZGQodmFsdWUtPnN0cmluZyk7CisgICAgICAgICAgICAgICAgaW5GYW1p
bHkgPSB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgaWYgKHZhbHVlLT51bml0
ID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfU1RSSU5HKSB7CiAgICAgICAgICAgICAvLyBTdHJp
bmdzIG5ldmVyIHNoYXJlIGluIGEgZmFtaWx5IG5hbWUuCi0gICAgICAgICAgICBjdXJyRmFtaWx5
ID0gMDsKLSAgICAgICAgICAgIGxpc3QtPmFwcGVuZChGb250RmFtaWx5VmFsdWU6OmNyZWF0ZSh2
YWx1ZS0+c3RyaW5nKSk7CisgICAgICAgICAgICBpbkZhbWlseSA9IGZhbHNlOworICAgICAgICAg
ICAgZmFtaWx5QnVpbGRlci5jb21taXQoKTsKKyAgICAgICAgICAgIGxpc3QtPmFwcGVuZChjc3NW
YWx1ZVBvb2woKS0+Y3JlYXRlRm9udEZhbWlseVZhbHVlKHZhbHVlLT5zdHJpbmcpKTsKICAgICAg
ICAgfSBlbHNlIGlmICh2YWx1ZS0+dW5pdCA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0lERU5U
KSB7Ci0gICAgICAgICAgICBpZiAoY3VyckZhbWlseSkKLSAgICAgICAgICAgICAgICBjdXJyRmFt
aWx5LT5hcHBlbmRTcGFjZVNlcGFyYXRlZCh2YWx1ZS0+c3RyaW5nLmNoYXJhY3RlcnMsIHZhbHVl
LT5zdHJpbmcubGVuZ3RoKTsKKyAgICAgICAgICAgIGlmIChpbkZhbWlseSkKKyAgICAgICAgICAg
ICAgICBmYW1pbHlCdWlsZGVyLmFkZCh2YWx1ZS0+c3RyaW5nKTsKICAgICAgICAgICAgIGVsc2Ug
aWYgKG5leHRWYWxCcmVha3NGb250IHx8ICFuZXh0VmFsSXNGb250TmFtZSkKLSAgICAgICAgICAg
ICAgICBsaXN0LT5hcHBlbmQoRm9udEZhbWlseVZhbHVlOjpjcmVhdGUodmFsdWUtPnN0cmluZykp
OworICAgICAgICAgICAgICAgIGxpc3QtPmFwcGVuZChjc3NWYWx1ZVBvb2woKS0+Y3JlYXRlRm9u
dEZhbWlseVZhbHVlKHZhbHVlLT5zdHJpbmcpKTsKICAgICAgICAgICAgIGVsc2UgewotICAgICAg
ICAgICAgICAgIFJlZlB0cjxGb250RmFtaWx5VmFsdWU+IG5ld0ZhbWlseSA9IEZvbnRGYW1pbHlW
YWx1ZTo6Y3JlYXRlKHZhbHVlLT5zdHJpbmcpOwotICAgICAgICAgICAgICAgIGN1cnJGYW1pbHkg
PSBuZXdGYW1pbHkuZ2V0KCk7Ci0gICAgICAgICAgICAgICAgbGlzdC0+YXBwZW5kKG5ld0ZhbWls
eS5yZWxlYXNlKCkpOworICAgICAgICAgICAgICAgIGZhbWlseUJ1aWxkZXIuY29tbWl0KCk7Cisg
ICAgICAgICAgICAgICAgZmFtaWx5QnVpbGRlci5hZGQodmFsdWUtPnN0cmluZyk7CisgICAgICAg
ICAgICAgICAgaW5GYW1pbHkgPSB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2Ug
ewogICAgICAgICAgICAgYnJlYWs7CkBAIC00MzIzLDEzICs0MzU0LDE2IEBAIFBhc3NSZWZQdHI8
Q1NTVmFsdWVMaXN0PiBDU1NQYXJzZXI6OnBhcnNlRm9udEZhbWlseSgpCiAKICAgICAgICAgaWYg
KG5leHRWYWxCcmVha3NGb250KSB7CiAgICAgICAgICAgICB2YWx1ZSA9IG1fdmFsdWVMaXN0LT5u
ZXh0KCk7Ci0gICAgICAgICAgICBjdXJyRmFtaWx5ID0gMDsKKyAgICAgICAgICAgIGZhbWlseUJ1
aWxkZXIuY29tbWl0KCk7CisgICAgICAgICAgICBpbkZhbWlseSA9IGZhbHNlOwogICAgICAgICB9
CiAgICAgICAgIGVsc2UgaWYgKG5leHRWYWxJc0ZvbnROYW1lKQogICAgICAgICAgICAgdmFsdWUg
PSBuZXh0VmFsdWU7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGJyZWFrOwogICAgIH0KKyAg
ICBmYW1pbHlCdWlsZGVyLmNvbW1pdCgpOworCiAgICAgaWYgKCFsaXN0LT5sZW5ndGgoKSkKICAg
ICAgICAgbGlzdCA9IDA7CiAgICAgcmV0dXJuIGxpc3QucmVsZWFzZSgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlUG9vbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTVmFsdWVQb29sLmNwcAppbmRleCAzZDg4OTNlLi5hY2Q2NWE5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTVmFsdWVQb29sLmNwcApAQCAtMTIwLDQgKzEyMCwxMiBAQCBQYXNzUmVmUHRyPENTU1ByaW1p
dGl2ZVZhbHVlPiBDU1NWYWx1ZVBvb2w6OmNyZWF0ZVZhbHVlKGRvdWJsZSB2YWx1ZSwgQ1NTUHJp
bWl0aQogICAgIHJldHVybiBlbnRyeS5maXJzdC0+c2Vjb25kOwogfQogCitQYXNzUmVmUHRyPEZv
bnRGYW1pbHlWYWx1ZT4gQ1NTVmFsdWVQb29sOjpjcmVhdGVGb250RmFtaWx5VmFsdWUoY29uc3Qg
U3RyaW5nJiBmYW1pbHlOYW1lKQoreworICAgIFJlZlB0cjxGb250RmFtaWx5VmFsdWU+JiB2YWx1
ZSA9IG1fZm9udEZhbWlseVZhbHVlQ2FjaGUuYWRkKGZhbWlseU5hbWUsIDApLmZpcnN0LT5zZWNv
bmQ7CisgICAgaWYgKCF2YWx1ZSkKKyAgICAgICAgdmFsdWUgPSBGb250RmFtaWx5VmFsdWU6OmNy
ZWF0ZShmYW1pbHlOYW1lKTsKKyAgICByZXR1cm4gdmFsdWU7Cit9CisKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZVBvb2wuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NWYWx1ZVBvb2wuaAppbmRleCBiYzc1MWViLi4xMTQwZmVlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVmFsdWVQb29sLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Zh
bHVlUG9vbC5oCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiQ1NTSW5oZXJpdGVkVmFsdWUu
aCIKICNpbmNsdWRlICJDU1NJbml0aWFsVmFsdWUuaCIKICNpbmNsdWRlICJDU1NQcmltaXRpdmVW
YWx1ZS5oIgorI2luY2x1ZGUgIkZvbnRGYW1pbHlWYWx1ZS5oIgogI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCkBAIC0zOSw2ICs0MCw3IEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NWYWx1ZVBvb2w+IGNyZWF0ZSgpIHsgcmV0dXJu
IGFkb3B0UmVmKG5ldyBDU1NWYWx1ZVBvb2wpOyB9CiAgICAgfkNTU1ZhbHVlUG9vbCgpOwogCisg
ICAgUGFzc1JlZlB0cjxGb250RmFtaWx5VmFsdWU+IGNyZWF0ZUZvbnRGYW1pbHlWYWx1ZShjb25z
dCBTdHJpbmcmKTsKICAgICBQYXNzUmVmUHRyPENTU0luaGVyaXRlZFZhbHVlPiBjcmVhdGVJbmhl
cml0ZWRWYWx1ZSgpIHsgcmV0dXJuIG1faW5oZXJpdGVkVmFsdWU7IH0KICAgICBQYXNzUmVmUHRy
PENTU0luaXRpYWxWYWx1ZT4gY3JlYXRlSW1wbGljaXRJbml0aWFsVmFsdWUoKSB7IHJldHVybiBt
X2ltcGxpY2l0SW5pdGlhbFZhbHVlOyB9CiAgICAgUGFzc1JlZlB0cjxDU1NJbml0aWFsVmFsdWU+
IGNyZWF0ZUV4cGxpY2l0SW5pdGlhbFZhbHVlKCkgeyByZXR1cm4gbV9leHBsaWNpdEluaXRpYWxW
YWx1ZTsgfQpAQCAtNzEsNiArNzMsOSBAQCBwcml2YXRlOgogICAgIEludGVnZXJWYWx1ZUNhY2hl
IG1fcGl4ZWxWYWx1ZUNhY2hlOwogICAgIEludGVnZXJWYWx1ZUNhY2hlIG1fcGVyY2VudFZhbHVl
Q2FjaGU7CiAgICAgSW50ZWdlclZhbHVlQ2FjaGUgbV9udW1iZXJWYWx1ZUNhY2hlOworCisgICAg
dHlwZWRlZiBIYXNoTWFwPFN0cmluZywgUmVmUHRyPEZvbnRGYW1pbHlWYWx1ZT4gPiBGb250RmFt
aWx5VmFsdWVDYWNoZTsKKyAgICBGb250RmFtaWx5VmFsdWVDYWNoZSBtX2ZvbnRGYW1pbHlWYWx1
ZUNhY2hlOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYW1p
bHlWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhbWlseVZhbHVlLmNwcAppbmRl
eCA2NjU4OTVkLi5mZmQ3MWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZh
bWlseVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvRm9udEZhbWlseVZhbHVlLmNw
cApAQCAtNTgsMTIgKzU4LDYgQEAgRm9udEZhbWlseVZhbHVlOjpGb250RmFtaWx5VmFsdWUoY29u
c3QgU3RyaW5nJiBmYW1pbHlOYW1lKQogICAgIG1fZmFtaWx5TmFtZS50cnVuY2F0ZShsZW5ndGgp
OwogfQogCi12b2lkIEZvbnRGYW1pbHlWYWx1ZTo6YXBwZW5kU3BhY2VTZXBhcmF0ZWQoY29uc3Qg
VUNoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKLXsKLSAgICBtX2ZhbWlseU5hbWUu
YXBwZW5kKCcgJyk7Ci0gICAgbV9mYW1pbHlOYW1lLmFwcGVuZChjaGFyYWN0ZXJzLCBsZW5ndGgp
OwotfQotCiBTdHJpbmcgRm9udEZhbWlseVZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKIHsK
ICAgICByZXR1cm4gcXVvdGVDU1NTdHJpbmdJZk5lZWRlZChtX2ZhbWlseU5hbWUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0ZvbnRGYW1pbHlWYWx1ZS5oIGIvU291cmNlL1dlYkNv
cmUvY3NzL0ZvbnRGYW1pbHlWYWx1ZS5oCmluZGV4IGIyZmJhYTIuLjJmOTFiNmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9Gb250RmFtaWx5VmFsdWUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvRm9udEZhbWlseVZhbHVlLmgKQEAgLTMzLDggKzMzLDYgQEAgcHVibGljOgogICAg
ICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEZvbnRGYW1pbHlWYWx1ZShmYW1pbHlOYW1lKSk7CiAg
ICAgfQogCi0gICAgdm9pZCBhcHBlbmRTcGFjZVNlcGFyYXRlZChjb25zdCBVQ2hhciogY2hhcmFj
dGVycywgdW5zaWduZWQgbGVuZ3RoKTsKLQogICAgIGNvbnN0IFN0cmluZyYgZmFtaWx5TmFtZSgp
IGNvbnN0IHsgcmV0dXJuIG1fZmFtaWx5TmFtZTsgfQogCiAgICAgU3RyaW5nIGN1c3RvbUNzc1Rl
eHQoKSBjb25zdDsK
</data>
<flag name="review"
          id="129166"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>