<?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>175106</bug_id>
          
          <creation_ts>2017-08-02 18:46:13 -0700</creation_ts>
          <short_desc>Use LazyNeverDestroyed instead of DEFINE_GLOBAL for WebKitFontFamilyNames</short_desc>
          <delta_ts>2017-10-18 04:06:55 -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>WebCore Misc.</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>174979</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1334568</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-08-02 18:46:13 -0700</bug_when>
    <thetext>Use LazyNeverDestroyed instead of DEFINE_GLOBAL for WebKitFontFamilyNames

This is a sub-task of Bug 174979.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1334571</commentid>
    <comment_count>1</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-08-02 18:50:41 -0700</bug_when>
    <thetext>In Bug 174150, 

&gt; And we also change emptyAtom to emptyAtom() to get the value from LazyNeverDestroyed&lt;&gt;.

Yusuke changed emptyAtom from a varialbe to an inline function.

I&apos;m wondering how I should do. I will create two WIP patches to begin a discussion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1334573</commentid>
    <comment_count>2</comment_count>
      <attachid>317062</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-08-02 18:52:15 -0700</bug_when>
    <thetext>Created attachment 317062
WIP patch (variable version)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1334595</commentid>
    <comment_count>3</comment_count>
      <attachid>317068</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-08-02 19:54:05 -0700</bug_when>
    <thetext>Created attachment 317068
WIP patch (inline function version)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1334598</commentid>
    <comment_count>4</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-08-02 19:55:56 -0700</bug_when>
    <thetext>Hi Alex and Yusuke,
Which approach does look better? Give me your feedback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1334605</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-08-02 20:02:08 -0700</bug_when>
    <thetext>I like the approach not using inline function if we do not need to annotate &quot;.get()&quot; so many.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1361543</commentid>
    <comment_count>6</comment_count>
      <attachid>324090</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-10-17 19:57:35 -0700</bug_when>
    <thetext>Created attachment 324090
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1361634</commentid>
    <comment_count>7</comment_count>
      <attachid>324090</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-10-18 03:37:43 -0700</bug_when>
    <thetext>Comment on attachment 324090
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1361637</commentid>
    <comment_count>8</comment_count>
      <attachid>324090</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-18 04:05:43 -0700</bug_when>
    <thetext>Comment on attachment 324090
Patch

Clearing flags on attachment: 324090

Committed r223600: &lt;https://trac.webkit.org/changeset/223600&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1361638</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-18 04:05:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1361639</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-10-18 04:06:55 -0700</bug_when>
    <thetext>&lt;rdar://problem/35049570&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317062</attachid>
            <date>2017-08-02 18:52:15 -0700</date>
            <delta_ts>2017-10-17 19:57:30 -0700</delta_ts>
            <desc>WIP patch (variable version)</desc>
            <filename>bug175106-var.patch</filename>
            <type>text/plain</type>
            <size>2789</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNldC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTZXQuY3BwCmluZGV4IGM4MGEyNWNlMDUxLi5iZjBl
YThjZDQ2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU2V0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTZXQuY3BwCkBAIC0xMzEsMTkg
KzEzMSwxOSBAQCBTdHJpbmcgQ1NTRm9udEZhY2VTZXQ6OmZhbWlseU5hbWVGcm9tUHJpbWl0aXZl
KGNvbnN0IENTU1ByaW1pdGl2ZVZhbHVlJiB2YWx1ZSkKICAgICAvLyBkZWZpbmluZyB3aGF0IGZv
bnQgdG8gdXNlIGZvciB0aG9zZSB0eXBlcy4KICAgICBzd2l0Y2ggKHZhbHVlLnZhbHVlSUQoKSkg
ewogICAgIGNhc2UgQ1NTVmFsdWVTZXJpZjoKLSAgICAgICAgcmV0dXJuIHNlcmlmRmFtaWx5Owor
ICAgICAgICByZXR1cm4gc2VyaWZGYW1pbHkuZ2V0KCk7CiAgICAgY2FzZSBDU1NWYWx1ZVNhbnNT
ZXJpZjoKLSAgICAgICAgcmV0dXJuIHNhbnNTZXJpZkZhbWlseTsKKyAgICAgICAgcmV0dXJuIHNh
bnNTZXJpZkZhbWlseS5nZXQoKTsKICAgICBjYXNlIENTU1ZhbHVlQ3Vyc2l2ZToKLSAgICAgICAg
cmV0dXJuIGN1cnNpdmVGYW1pbHk7CisgICAgICAgIHJldHVybiBjdXJzaXZlRmFtaWx5LmdldCgp
OwogICAgIGNhc2UgQ1NTVmFsdWVGYW50YXN5OgotICAgICAgICByZXR1cm4gZmFudGFzeUZhbWls
eTsKKyAgICAgICAgcmV0dXJuIGZhbnRhc3lGYW1pbHkuZ2V0KCk7CiAgICAgY2FzZSBDU1NWYWx1
ZU1vbm9zcGFjZToKLSAgICAgICAgcmV0dXJuIG1vbm9zcGFjZUZhbWlseTsKKyAgICAgICAgcmV0
dXJuIG1vbm9zcGFjZUZhbWlseS5nZXQoKTsKICAgICBjYXNlIENTU1ZhbHVlV2Via2l0UGljdG9n
cmFwaDoKLSAgICAgICAgcmV0dXJuIHBpY3RvZ3JhcGhGYW1pbHk7CisgICAgICAgIHJldHVybiBw
aWN0b2dyYXBoRmFtaWx5LmdldCgpOwogICAgIGNhc2UgQ1NTVmFsdWVTeXN0ZW1VaToKLSAgICAg
ICAgcmV0dXJuIHN5c3RlbVVpRmFtaWx5OworICAgICAgICByZXR1cm4gc3lzdGVtVWlGYW1pbHku
Z2V0KCk7CiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIHsgfTsKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vbWFrZV9uYW1lcy5wbCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9tYWtlX25hbWVzLnBsCmluZGV4IGYxZjNjZjc3NDQzLi41NDEzOTJjZjQ2NCAxMDA3NTUKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL21ha2VfbmFtZXMucGwKQEAgLTExMSw5ICsxMTEsMTMgQEAgaWYgKGxlbmd0aCgkZm9udE5h
bWVzSW4pKSB7CiAgICAgb3BlbiBGLCAiPiRoZWFkZXIiIG9yIGRpZSAiVW5hYmxlIHRvIG9wZW4g
JGhlYWRlciBmb3Igd3JpdGluZy4iOwogCiAgICAgcHJpbnRMaWNlbnNlSGVhZGVyKCRGKTsKLSAg
ICBwcmludEhlYWRlckhlYWQoJEYsICJDU1MiLCAkZmFtaWx5TmFtZXNGaWxlQmFzZSwgIiNpbmNs
dWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4iLCAiIik7CisgICAgcHJpbnRIZWFkZXJIZWFk
KCRGLCAiQ1NTIiwgJGZhbWlseU5hbWVzRmlsZUJhc2UsIDw8RU5ELCAiIik7CisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CisjaW5jbHVkZSA8d3Rm
L3RleHQvQXRvbWljU3RyaW5nLmg+CitFTkQKIAotICAgIHByaW50TWFjcm9zKCRGLCAiZXh0ZXJu
IGNvbnN0IFdURjo6QXRvbWljU3RyaW5nIiwgIiIsIFwlcGFyYW1ldGVycyk7CisgICAgcHJpbnRN
YWNyb3MoJEYsICJleHRlcm4gTGF6eU5ldmVyRGVzdHJveWVkPGNvbnN0IFdURjo6QXRvbWljU3Ry
aW5nPiIsICIiLCBcJXBhcmFtZXRlcnMpOwogICAgIHByaW50IEYgIiNlbmRpZlxuXG4iOwogCiAg
ICAgcHJpbnRJbml0KCRGLCAxKTsKQEAgLTEyNyw5ICsxMzEsNyBAQCBpZiAobGVuZ3RoKCRmb250
TmFtZXNJbikpIHsKIAogICAgIHByaW50IEYgU3RhdGljU3RyaW5nOjpHZW5lcmF0ZVN0cmluZ3Mo
XCVwYXJhbWV0ZXJzKTsKIAotICAgIGZvciBteSAkbmFtZSAoc29ydCBrZXlzICVwYXJhbWV0ZXJz
KSB7Ci0gICAgICAgIHByaW50IEYgIkRFRklORV9HTE9CQUwoQXRvbWljU3RyaW5nLCAkbmFtZSlc
biI7Ci0gICAgfQorICAgIHByaW50TWFjcm9zKCRGLCAiTGF6eU5ldmVyRGVzdHJveWVkPGNvbnN0
IFdURjo6QXRvbWljU3RyaW5nPiIsICIiLCBcJXBhcmFtZXRlcnMpOwogCiAgICAgcHJpbnRJbml0
KCRGLCAwKTsKIApAQCAtMTQwLDcgKzE0Miw3IEBAIGlmIChsZW5ndGgoJGZvbnROYW1lc0luKSkg
ewogICAgICAgICAjIEZJWE1FOiBXb3VsZCBsaWtlIHRvIHVzZSBzdGF0aWNfY2FzdCBoZXJlLCBi
dXQgdGhlcmUgYXJlIGRpZmZlcmVuY2VzIGluIGNvbnN0CiAgICAgICAgICMgZGVwZW5kaW5nIG9u
IHdoZXRoZXIgU0tJUF9TVEFUSUNfQ09OU1RSVUNUT1JTX09OX0dDQyBpcyB1c2VkLCBzbyBzdGlj
ayB3aXRoIGEKICAgICAgICAgIyBDLXN0eWxlIGNhc3QgZm9yIG5vdy4KLSAgICAgICAgcHJpbnQg
RiAiICAgIG5ldyAoTm90TnVsbCwgKHZvaWQqKSYkbmFtZSkgQXRvbWljU3RyaW5nKHJlaW50ZXJw
cmV0X2Nhc3Q8U3RyaW5nSW1wbCo+KCYke25hbWV9RGF0YSkpO1xuIjsKKyAgICAgICAgcHJpbnQg
RiAiICAgICR7bmFtZX0uY29uc3RydWN0KHJlaW50ZXJwcmV0X2Nhc3Q8U3RyaW5nSW1wbCo+KCYk
e25hbWV9RGF0YSkpO1xuIjsKICAgICB9CiAKICAgICBwcmludCBGICJ9XG59XG59XG4iOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317068</attachid>
            <date>2017-08-02 19:54:05 -0700</date>
            <delta_ts>2017-08-03 22:36:08 -0700</delta_ts>
            <desc>WIP patch (inline function version)</desc>
            <filename>bug175106-func.patch</filename>
            <type>text/plain</type>
            <size>12193</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRp
b24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5j
cHAKaW5kZXggZmEyMjI0ODQ5OTIuLjNiMTVmN2M5NzRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMTczNSwxOSArMTcz
NSwxOSBAQCBib29sIENvbXB1dGVkU3R5bGVFeHRyYWN0b3I6OnVzZUZpeGVkRm9udERlZmF1bHRT
aXplKCkKIAogc3RhdGljIENTU1ZhbHVlSUQgaWRlbnRpZmllckZvckZhbWlseShjb25zdCBBdG9t
aWNTdHJpbmcmIGZhbWlseSkKIHsKLSAgICBpZiAoZmFtaWx5ID09IGN1cnNpdmVGYW1pbHkpCisg
ICAgaWYgKGZhbWlseSA9PSBjdXJzaXZlRmFtaWx5KCkpCiAgICAgICAgIHJldHVybiBDU1NWYWx1
ZUN1cnNpdmU7Ci0gICAgaWYgKGZhbWlseSA9PSBmYW50YXN5RmFtaWx5KQorICAgIGlmIChmYW1p
bHkgPT0gZmFudGFzeUZhbWlseSgpKQogICAgICAgICByZXR1cm4gQ1NTVmFsdWVGYW50YXN5Owot
ICAgIGlmIChmYW1pbHkgPT0gbW9ub3NwYWNlRmFtaWx5KQorICAgIGlmIChmYW1pbHkgPT0gbW9u
b3NwYWNlRmFtaWx5KCkpCiAgICAgICAgIHJldHVybiBDU1NWYWx1ZU1vbm9zcGFjZTsKLSAgICBp
ZiAoZmFtaWx5ID09IHBpY3RvZ3JhcGhGYW1pbHkpCisgICAgaWYgKGZhbWlseSA9PSBwaWN0b2dy
YXBoRmFtaWx5KCkpCiAgICAgICAgIHJldHVybiBDU1NWYWx1ZVdlYmtpdFBpY3RvZ3JhcGg7Ci0g
ICAgaWYgKGZhbWlseSA9PSBzYW5zU2VyaWZGYW1pbHkpCisgICAgaWYgKGZhbWlseSA9PSBzYW5z
U2VyaWZGYW1pbHkoKSkKICAgICAgICAgcmV0dXJuIENTU1ZhbHVlU2Fuc1NlcmlmOwotICAgIGlm
IChmYW1pbHkgPT0gc2VyaWZGYW1pbHkpCisgICAgaWYgKGZhbWlseSA9PSBzZXJpZkZhbWlseSgp
KQogICAgICAgICByZXR1cm4gQ1NTVmFsdWVTZXJpZjsKLSAgICBpZiAoZmFtaWx5ID09IHN5c3Rl
bVVpRmFtaWx5KQorICAgIGlmIChmYW1pbHkgPT0gc3lzdGVtVWlGYW1pbHkoKSkKICAgICAgICAg
cmV0dXJuIENTU1ZhbHVlU3lzdGVtVWk7CiAgICAgcmV0dXJuIENTU1ZhbHVlSW52YWxpZDsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNldC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTZXQuY3BwCmluZGV4IGM4MGEyNWNlMDUxLi41OTAz
NzE3MmI5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU2V0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTZXQuY3BwCkBAIC0xMzEsMTkg
KzEzMSwxOSBAQCBTdHJpbmcgQ1NTRm9udEZhY2VTZXQ6OmZhbWlseU5hbWVGcm9tUHJpbWl0aXZl
KGNvbnN0IENTU1ByaW1pdGl2ZVZhbHVlJiB2YWx1ZSkKICAgICAvLyBkZWZpbmluZyB3aGF0IGZv
bnQgdG8gdXNlIGZvciB0aG9zZSB0eXBlcy4KICAgICBzd2l0Y2ggKHZhbHVlLnZhbHVlSUQoKSkg
ewogICAgIGNhc2UgQ1NTVmFsdWVTZXJpZjoKLSAgICAgICAgcmV0dXJuIHNlcmlmRmFtaWx5Owor
ICAgICAgICByZXR1cm4gc2VyaWZGYW1pbHkoKTsKICAgICBjYXNlIENTU1ZhbHVlU2Fuc1Nlcmlm
OgotICAgICAgICByZXR1cm4gc2Fuc1NlcmlmRmFtaWx5OworICAgICAgICByZXR1cm4gc2Fuc1Nl
cmlmRmFtaWx5KCk7CiAgICAgY2FzZSBDU1NWYWx1ZUN1cnNpdmU6Ci0gICAgICAgIHJldHVybiBj
dXJzaXZlRmFtaWx5OworICAgICAgICByZXR1cm4gY3Vyc2l2ZUZhbWlseSgpOwogICAgIGNhc2Ug
Q1NTVmFsdWVGYW50YXN5OgotICAgICAgICByZXR1cm4gZmFudGFzeUZhbWlseTsKKyAgICAgICAg
cmV0dXJuIGZhbnRhc3lGYW1pbHkoKTsKICAgICBjYXNlIENTU1ZhbHVlTW9ub3NwYWNlOgotICAg
ICAgICByZXR1cm4gbW9ub3NwYWNlRmFtaWx5OworICAgICAgICByZXR1cm4gbW9ub3NwYWNlRmFt
aWx5KCk7CiAgICAgY2FzZSBDU1NWYWx1ZVdlYmtpdFBpY3RvZ3JhcGg6Ci0gICAgICAgIHJldHVy
biBwaWN0b2dyYXBoRmFtaWx5OworICAgICAgICByZXR1cm4gcGljdG9ncmFwaEZhbWlseSgpOwog
ICAgIGNhc2UgQ1NTVmFsdWVTeXN0ZW1VaToKLSAgICAgICAgcmV0dXJuIHN5c3RlbVVpRmFtaWx5
OworICAgICAgICByZXR1cm4gc3lzdGVtVWlGYW1pbHkoKTsKICAgICBkZWZhdWx0OgogICAgICAg
ICByZXR1cm4geyB9OwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NG
b250U2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAK
aW5kZXggMGIyZTZmZjQ0MjUuLjY1YzlmNDQ4ZDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRm9udFNlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dFNlbGVjdG9yLmNwcApAQCAtMjY2LDE5ICsyNjYsMTkgQEAgc3RhdGljIGNvbnN0IEF0b21pY1N0
cmluZyYgcmVzb2x2ZUdlbmVyaWNGYW1pbHkoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBGb250
RGUKICAgICBjb25zdCBTZXR0aW5ncyYgc2V0dGluZ3MgPSBkb2N1bWVudC0+c2V0dGluZ3MoKTsK
IAogICAgIFVTY3JpcHRDb2RlIHNjcmlwdCA9IGZvbnREZXNjcmlwdGlvbi5zY3JpcHQoKTsKLSAg
ICBpZiAoZmFtaWx5TmFtZSA9PSBzZXJpZkZhbWlseSkKKyAgICBpZiAoZmFtaWx5TmFtZSA9PSBz
ZXJpZkZhbWlseSgpKQogICAgICAgICByZXR1cm4gc2V0dGluZ3Muc2VyaWZGb250RmFtaWx5KHNj
cmlwdCk7Ci0gICAgaWYgKGZhbWlseU5hbWUgPT0gc2Fuc1NlcmlmRmFtaWx5KQorICAgIGlmIChm
YW1pbHlOYW1lID09IHNhbnNTZXJpZkZhbWlseSgpKQogICAgICAgICByZXR1cm4gc2V0dGluZ3Mu
c2Fuc1NlcmlmRm9udEZhbWlseShzY3JpcHQpOwotICAgIGlmIChmYW1pbHlOYW1lID09IGN1cnNp
dmVGYW1pbHkpCisgICAgaWYgKGZhbWlseU5hbWUgPT0gY3Vyc2l2ZUZhbWlseSgpKQogICAgICAg
ICByZXR1cm4gc2V0dGluZ3MuY3Vyc2l2ZUZvbnRGYW1pbHkoc2NyaXB0KTsKLSAgICBpZiAoZmFt
aWx5TmFtZSA9PSBmYW50YXN5RmFtaWx5KQorICAgIGlmIChmYW1pbHlOYW1lID09IGZhbnRhc3lG
YW1pbHkoKSkKICAgICAgICAgcmV0dXJuIHNldHRpbmdzLmZhbnRhc3lGb250RmFtaWx5KHNjcmlw
dCk7Ci0gICAgaWYgKGZhbWlseU5hbWUgPT0gbW9ub3NwYWNlRmFtaWx5KQorICAgIGlmIChmYW1p
bHlOYW1lID09IG1vbm9zcGFjZUZhbWlseSgpKQogICAgICAgICByZXR1cm4gc2V0dGluZ3MuZml4
ZWRGb250RmFtaWx5KHNjcmlwdCk7Ci0gICAgaWYgKGZhbWlseU5hbWUgPT0gcGljdG9ncmFwaEZh
bWlseSkKKyAgICBpZiAoZmFtaWx5TmFtZSA9PSBwaWN0b2dyYXBoRmFtaWx5KCkpCiAgICAgICAg
IHJldHVybiBzZXR0aW5ncy5waWN0b2dyYXBoRm9udEZhbWlseShzY3JpcHQpOwotICAgIGlmIChm
YW1pbHlOYW1lID09IHN0YW5kYXJkRmFtaWx5KQorICAgIGlmIChmYW1pbHlOYW1lID09IHN0YW5k
YXJkRmFtaWx5KCkpCiAgICAgICAgIHJldHVybiBzZXR0aW5ncy5zdGFuZGFyZEZvbnRGYW1pbHko
c2NyaXB0KTsKIAogICAgIHJldHVybiBmYW1pbHlOYW1lOwpAQCAtMjkwLDcgKzI5MCw3IEBAIEZv
bnRSYW5nZXMgQ1NTRm9udFNlbGVjdG9yOjpmb250UmFuZ2VzRm9yRmFtaWx5KGNvbnN0IEZvbnRE
ZXNjcmlwdGlvbiYgZm9udERlc2NyCiAgICAgQVNTRVJUKCFtX2J1aWxkSXNVbmRlcndheSB8fCBt
X2NvbXB1dGluZ1Jvb3RTdHlsZUZvbnRDb3VudCk7CiAKICAgICAvLyBGSVhNRTogVGhlIHNwZWMg
KGFuZCBGaXJlZm94KSBzYXlzIHVzZXIgc3BlY2lmaWVkIGdlbmVyaWMgZmFtaWxpZXMgKHNhbnMt
c2VyaWYgZXRjLikgc2hvdWxkIGJlIHJlc29sdmVkIGJlZm9yZSB0aGUgQGZvbnQtZmFjZSBsb29r
dXAgdG9vLgotICAgIGJvb2wgcmVzb2x2ZUdlbmVyaWNGYW1pbHlGaXJzdCA9IGZhbWlseU5hbWUg
PT0gc3RhbmRhcmRGYW1pbHk7CisgICAgYm9vbCByZXNvbHZlR2VuZXJpY0ZhbWlseUZpcnN0ID0g
ZmFtaWx5TmFtZSA9PSBzdGFuZGFyZEZhbWlseSgpOwogCiAgICAgQXRvbWljU3RyaW5nIGZhbWls
eUZvckxvb2t1cCA9IHJlc29sdmVHZW5lcmljRmFtaWx5Rmlyc3QgPyByZXNvbHZlR2VuZXJpY0Zh
bWlseShtX2RvY3VtZW50LCBmb250RGVzY3JpcHRpb24sIGZhbWlseU5hbWUpIDogZmFtaWx5TmFt
ZTsKICAgICBhdXRvKiBmYWNlID0gbV9jc3NGb250RmFjZVNldC0+Zm9udEZhY2UoZm9udERlc2Ny
aXB0aW9uLmZvbnRTZWxlY3Rpb25SZXF1ZXN0KCksIGZhbWlseUZvckxvb2t1cCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ3VzdG9tLmggYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKaW5kZXggNGQ1ZmYxYTM4NGYuLmUxNTYwM2Uy
MDAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVCdWlsZGVyQ3VzdG9tLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlckN1c3RvbS5oCkBAIC05NTIsMzEg
Kzk1MiwzMSBAQCBpbmxpbmUgdm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVGb250
RmFtaWx5KFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZQogICAgICAgICAgICAgICAgIGZhbWls
eSA9IHN0eWxlUmVzb2x2ZXIuc2V0dGluZ3MoKS5zdGFuZGFyZEZvbnRGYW1pbHkoKTsKICAgICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVTZXJpZjoKLSAgICAg
ICAgICAgICAgICBmYW1pbHkgPSBzZXJpZkZhbWlseTsKKyAgICAgICAgICAgICAgICBmYW1pbHkg
PSBzZXJpZkZhbWlseSgpOwogICAgICAgICAgICAgICAgIGlzR2VuZXJpY0ZhbWlseSA9IHRydWU7
CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIENTU1ZhbHVlU2Fuc1Nl
cmlmOgotICAgICAgICAgICAgICAgIGZhbWlseSA9IHNhbnNTZXJpZkZhbWlseTsKKyAgICAgICAg
ICAgICAgICBmYW1pbHkgPSBzYW5zU2VyaWZGYW1pbHkoKTsKICAgICAgICAgICAgICAgICBpc0dl
bmVyaWNGYW1pbHkgPSB0cnVlOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAg
Y2FzZSBDU1NWYWx1ZUN1cnNpdmU6Ci0gICAgICAgICAgICAgICAgZmFtaWx5ID0gY3Vyc2l2ZUZh
bWlseTsKKyAgICAgICAgICAgICAgICBmYW1pbHkgPSBjdXJzaXZlRmFtaWx5KCk7CiAgICAgICAg
ICAgICAgICAgaXNHZW5lcmljRmFtaWx5ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVGYW50YXN5OgotICAgICAgICAgICAgICAgIGZhbWls
eSA9IGZhbnRhc3lGYW1pbHk7CisgICAgICAgICAgICAgICAgZmFtaWx5ID0gZmFudGFzeUZhbWls
eSgpOwogICAgICAgICAgICAgICAgIGlzR2VuZXJpY0ZhbWlseSA9IHRydWU7CiAgICAgICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNlIENTU1ZhbHVlTW9ub3NwYWNlOgotICAgICAg
ICAgICAgICAgIGZhbWlseSA9IG1vbm9zcGFjZUZhbWlseTsKKyAgICAgICAgICAgICAgICBmYW1p
bHkgPSBtb25vc3BhY2VGYW1pbHkoKTsKICAgICAgICAgICAgICAgICBpc0dlbmVyaWNGYW1pbHkg
PSB0cnVlOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgY2FzZSBDU1NWYWx1
ZVdlYmtpdFBpY3RvZ3JhcGg6Ci0gICAgICAgICAgICAgICAgZmFtaWx5ID0gcGljdG9ncmFwaEZh
bWlseTsKKyAgICAgICAgICAgICAgICBmYW1pbHkgPSBwaWN0b2dyYXBoRmFtaWx5KCk7CiAgICAg
ICAgICAgICAgICAgaXNHZW5lcmljRmFtaWx5ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVTeXN0ZW1VaToKLSAgICAgICAgICAgICAgICBm
YW1pbHkgPSBzeXN0ZW1VaUZhbWlseTsKKyAgICAgICAgICAgICAgICBmYW1pbHkgPSBzeXN0ZW1V
aUZhbWlseSgpOwogICAgICAgICAgICAgICAgIGlzR2VuZXJpY0ZhbWlseSA9IHRydWU7CiAgICAg
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBkZWZhdWx0OgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUmVzb2x2ZXIuY3BwCmluZGV4IDZlYWJjYjE1NjdhLi5iNzBiODhmMTlhYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcApAQCAtMTc4MSw3ICsxNzgxLDcgQEAgdm9pZCBTdHls
ZVJlc29sdmVyOjppbml0aWFsaXplRm9udFN0eWxlKCkKIHsKICAgICBGb250Q2FzY2FkZURlc2Ny
aXB0aW9uIGZvbnREZXNjcmlwdGlvbjsKICAgICBmb250RGVzY3JpcHRpb24uc2V0UmVuZGVyaW5n
TW9kZShzZXR0aW5ncygpLmZvbnRSZW5kZXJpbmdNb2RlKCkpOwotICAgIGZvbnREZXNjcmlwdGlv
bi5zZXRPbmVGYW1pbHkoc3RhbmRhcmRGYW1pbHkpOworICAgIGZvbnREZXNjcmlwdGlvbi5zZXRP
bmVGYW1pbHkoc3RhbmRhcmRGYW1pbHkoKSk7CiAgICAgZm9udERlc2NyaXB0aW9uLnNldEtleXdv
cmRTaXplRnJvbUlkZW50aWZpZXIoQ1NTVmFsdWVNZWRpdW0pOwogICAgIHNldEZvbnRTaXplKGZv
bnREZXNjcmlwdGlvbiwgU3R5bGU6OmZvbnRTaXplRm9yS2V5d29yZChDU1NWYWx1ZU1lZGl1bSwg
ZmFsc2UsIGRvY3VtZW50KCkpKTsKICAgICBzZXRGb250RGVzY3JpcHRpb24oZm9udERlc2NyaXB0
aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX25hbWVzLnBsIGIvU291
cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwKaW5kZXggZjFmM2NmNzc0NDMuLjQyNDU5ZjU4
NzFmIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vbWFrZV9uYW1lcy5wbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vbWFrZV9uYW1lcy5wbApAQCAtMTExLDkgKzExMSwxNiBAQCBpZiAo
bGVuZ3RoKCRmb250TmFtZXNJbikpIHsKICAgICBvcGVuIEYsICI+JGhlYWRlciIgb3IgZGllICJV
bmFibGUgdG8gb3BlbiAkaGVhZGVyIGZvciB3cml0aW5nLiI7CiAKICAgICBwcmludExpY2Vuc2VI
ZWFkZXIoJEYpOwotICAgIHByaW50SGVhZGVySGVhZCgkRiwgIkNTUyIsICRmYW1pbHlOYW1lc0Zp
bGVCYXNlLCAiI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPiIsICIiKTsKKyAgICBw
cmludEhlYWRlckhlYWQoJEYsICJDU1MiLCAkZmFtaWx5TmFtZXNGaWxlQmFzZSwgPDxFTkQsICIi
KTsKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4K
KyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KK0VORAogCi0gICAgcHJpbnRNYWNy
b3MoJEYsICJleHRlcm4gY29uc3QgV1RGOjpBdG9taWNTdHJpbmciLCAiIiwgXCVwYXJhbWV0ZXJz
KTsKKyAgICBmb3IgbXkgJG5hbWUgKHNvcnQga2V5cyAlcGFyYW1ldGVycykgeworICAgICAgICBw
cmludCBGICJleHRlcm4gTGF6eU5ldmVyRGVzdHJveWVkPGNvbnN0IFdURjo6QXRvbWljU3RyaW5n
PiAke25hbWV9SW5zdGFuY2U7XG4iOworICAgICAgICBwcmludCBGICJpbmxpbmUgY29uc3QgV1RG
OjpBdG9taWNTdHJpbmcmICRuYW1lKCkgeyByZXR1cm4gJHtuYW1lfUluc3RhbmNlOyB9XG4iOwor
ICAgIH0KICAgICBwcmludCBGICIjZW5kaWZcblxuIjsKIAogICAgIHByaW50SW5pdCgkRiwgMSk7
CkBAIC0xMjgsNyArMTM1LDcgQEAgaWYgKGxlbmd0aCgkZm9udE5hbWVzSW4pKSB7CiAgICAgcHJp
bnQgRiBTdGF0aWNTdHJpbmc6OkdlbmVyYXRlU3RyaW5ncyhcJXBhcmFtZXRlcnMpOwogCiAgICAg
Zm9yIG15ICRuYW1lIChzb3J0IGtleXMgJXBhcmFtZXRlcnMpIHsKLSAgICAgICAgcHJpbnQgRiAi
REVGSU5FX0dMT0JBTChBdG9taWNTdHJpbmcsICRuYW1lKVxuIjsKKyAgICAgICAgcHJpbnQgRiAi
TGF6eU5ldmVyRGVzdHJveWVkPGNvbnN0IFdURjo6QXRvbWljU3RyaW5nPiAke25hbWV9SW5zdGFu
Y2U7XG4iOwogICAgIH0KIAogICAgIHByaW50SW5pdCgkRiwgMCk7CkBAIC0xNDAsNyArMTQ3LDcg
QEAgaWYgKGxlbmd0aCgkZm9udE5hbWVzSW4pKSB7CiAgICAgICAgICMgRklYTUU6IFdvdWxkIGxp
a2UgdG8gdXNlIHN0YXRpY19jYXN0IGhlcmUsIGJ1dCB0aGVyZSBhcmUgZGlmZmVyZW5jZXMgaW4g
Y29uc3QKICAgICAgICAgIyBkZXBlbmRpbmcgb24gd2hldGhlciBTS0lQX1NUQVRJQ19DT05TVFJV
Q1RPUlNfT05fR0NDIGlzIHVzZWQsIHNvIHN0aWNrIHdpdGggYQogICAgICAgICAjIEMtc3R5bGUg
Y2FzdCBmb3Igbm93LgotICAgICAgICBwcmludCBGICIgICAgbmV3IChOb3ROdWxsLCAodm9pZCop
JiRuYW1lKSBBdG9taWNTdHJpbmcocmVpbnRlcnByZXRfY2FzdDxTdHJpbmdJbXBsKj4oJiR7bmFt
ZX1EYXRhKSk7XG4iOworICAgICAgICBwcmludCBGICIgICAgJHtuYW1lfUluc3RhbmNlLmNvbnN0
cnVjdChyZWludGVycHJldF9jYXN0PFN0cmluZ0ltcGwqPigmJHtuYW1lfURhdGEpKTtcbiI7CiAg
ICAgfQogCiAgICAgcHJpbnQgRiAifVxufVxufVxuIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlRm9udHMuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGVGb250cy5jcHAKaW5kZXggYjQwMGQ4MDk0
MmEuLmZjM2E4YzU0ZWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250Q2FzY2FkZUZvbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250Q2FzY2FkZUZvbnRzLmNwcApAQCAtMTg1LDcgKzE4NSw3IEBAIGNvbnN0IEZv
bnRSYW5nZXMmIEZvbnRDYXNjYWRlRm9udHM6OnJlYWxpemVGYWxsYmFja1Jhbmdlc0F0KGNvbnN0
IEZvbnRDYXNjYWRlRGVzCiAgICAgaWYgKCFpbmRleCkgewogICAgICAgICBmb250UmFuZ2VzID0g
cmVhbGl6ZU5leHRGYWxsYmFjayhkZXNjcmlwdGlvbiwgbV9sYXN0UmVhbGl6ZWRGYWxsYmFja0lu
ZGV4LCBtX2ZvbnRTZWxlY3Rvci5nZXQoKSk7CiAgICAgICAgIGlmIChmb250UmFuZ2VzLmlzTnVs
bCgpICYmIG1fZm9udFNlbGVjdG9yKQotICAgICAgICAgICAgZm9udFJhbmdlcyA9IG1fZm9udFNl
bGVjdG9yLT5mb250UmFuZ2VzRm9yRmFtaWx5KGRlc2NyaXB0aW9uLCBzdGFuZGFyZEZhbWlseSk7
CisgICAgICAgICAgICBmb250UmFuZ2VzID0gbV9mb250U2VsZWN0b3ItPmZvbnRSYW5nZXNGb3JG
YW1pbHkoZGVzY3JpcHRpb24sIHN0YW5kYXJkRmFtaWx5KCkpOwogICAgICAgICBpZiAoZm9udFJh
bmdlcy5pc051bGwoKSkKICAgICAgICAgICAgIGZvbnRSYW5nZXMgPSBGb250UmFuZ2VzKEZvbnRD
YWNoZTo6c2luZ2xldG9uKCkubGFzdFJlc29ydEZhbGxiYWNrRm9udChkZXNjcmlwdGlvbikpOwog
ICAgICAgICByZXR1cm4gZm9udFJhbmdlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnREZXNjcmlwdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udERlc2NyaXB0aW9uLmgKaW5kZXggYzVlZWJmMTViYjcuLmIyYzEwZmJh
OWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGVz
Y3JpcHRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGVz
Y3JpcHRpb24uaApAQCAtMjQ3LDcgKzI0Nyw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgRm9udFNl
bGVjdGlvblZhbHVlIGJvbGRlcldlaWdodChGb250U2VsZWN0aW9uVmFsdWUpOwogCiAgICAgLy8g
b25seSB1c2UgZml4ZWQgZGVmYXVsdCBzaXplIHdoZW4gdGhlcmUgaXMgb25seSBvbmUgZm9udCBm
YW1pbHksIGFuZCB0aGF0IGZhbWlseSBpcyAibW9ub3NwYWNlIgotICAgIGJvb2wgdXNlRml4ZWRE
ZWZhdWx0U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbWlseUNvdW50KCkgPT0gMSAmJiBmaXJzdEZh
bWlseSgpID09IG1vbm9zcGFjZUZhbWlseTsgfQorICAgIGJvb2wgdXNlRml4ZWREZWZhdWx0U2l6
ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbWlseUNvdW50KCkgPT0gMSAmJiBmaXJzdEZhbWlseSgpID09
IG1vbm9zcGFjZUZhbWlseSgpOyB9CiAKICAgICBLZXJuaW5nIGtlcm5pbmcoKSBjb25zdCB7IHJl
dHVybiBzdGF0aWNfY2FzdDxLZXJuaW5nPihtX2tlcm5pbmcpOyB9CiAgICAgdW5zaWduZWQga2V5
d29yZFNpemUoKSBjb25zdCB7IHJldHVybiBtX2tleXdvcmRTaXplOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9Gb250Q2FjaGVGcmVlVHlw
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9Gb250Q2Fj
aGVGcmVlVHlwZS5jcHAKaW5kZXggMTU4YWNkODFlOGIuLjYzOTRkNTA0MjUxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9Gb250Q2FjaGVGcmVl
VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUv
Rm9udENhY2hlRnJlZVR5cGUuY3BwCkBAIC0xNDcsMTUgKzE0NywxNSBAQCBzdGF0aWMgU3RyaW5n
IGdldEZhbWlseU5hbWVTdHJpbmdGcm9tRmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5
KQogICAgIGlmIChmYW1pbHkubGVuZ3RoKCkgJiYgIWZhbWlseS5zdGFydHNXaXRoKCItd2Via2l0
LSIpKQogICAgICAgICByZXR1cm4gZmFtaWx5LnN0cmluZygpOwogCi0gICAgaWYgKGZhbWlseSA9
PSBzdGFuZGFyZEZhbWlseSB8fCBmYW1pbHkgPT0gc2VyaWZGYW1pbHkpCisgICAgaWYgKGZhbWls
eSA9PSBzdGFuZGFyZEZhbWlseSgpIHx8IGZhbWlseSA9PSBzZXJpZkZhbWlseSgpKQogICAgICAg
ICByZXR1cm4gInNlcmlmIjsKLSAgICBpZiAoZmFtaWx5ID09IHNhbnNTZXJpZkZhbWlseSkKKyAg
ICBpZiAoZmFtaWx5ID09IHNhbnNTZXJpZkZhbWlseSgpKQogICAgICAgICByZXR1cm4gInNhbnMt
c2VyaWYiOwotICAgIGlmIChmYW1pbHkgPT0gbW9ub3NwYWNlRmFtaWx5KQorICAgIGlmIChmYW1p
bHkgPT0gbW9ub3NwYWNlRmFtaWx5KCkpCiAgICAgICAgIHJldHVybiAibW9ub3NwYWNlIjsKLSAg
ICBpZiAoZmFtaWx5ID09IGN1cnNpdmVGYW1pbHkpCisgICAgaWYgKGZhbWlseSA9PSBjdXJzaXZl
RmFtaWx5KCkpCiAgICAgICAgIHJldHVybiAiY3Vyc2l2ZSI7Ci0gICAgaWYgKGZhbWlseSA9PSBm
YW50YXN5RmFtaWx5KQorICAgIGlmIChmYW1pbHkgPT0gZmFudGFzeUZhbWlseSgpKQogICAgICAg
ICByZXR1cm4gImZhbnRhc3kiOwogICAgIHJldHVybiAiIjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N0eWxlL1N0eWxlUmVzb2x2ZUZvckRvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1N0eWxlUmVzb2x2ZUZvckRvY3VtZW50LmNwcAppbmRleCBkN2E4MGExZWM0OS4u
NDYwMmE2MTY2MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlUmVzb2x2
ZUZvckRvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVJlc29sdmVG
b3JEb2N1bWVudC5jcHAKQEAgLTEwOCw3ICsxMDgsNyBAQCBSZW5kZXJTdHlsZSByZXNvbHZlRm9y
RG9jdW1lbnQoY29uc3QgRG9jdW1lbnQmIGRvY3VtZW50KQogICAgIEZvbnRDYXNjYWRlRGVzY3Jp
cHRpb24gZm9udERlc2NyaXB0aW9uOwogICAgIGZvbnREZXNjcmlwdGlvbi5zZXRMb2NhbGUoZG9j
dW1lbnQuY29udGVudExhbmd1YWdlKCkpOwogICAgIGZvbnREZXNjcmlwdGlvbi5zZXRSZW5kZXJp
bmdNb2RlKHNldHRpbmdzLmZvbnRSZW5kZXJpbmdNb2RlKCkpOwotICAgIGZvbnREZXNjcmlwdGlv
bi5zZXRPbmVGYW1pbHkoc3RhbmRhcmRGYW1pbHkpOworICAgIGZvbnREZXNjcmlwdGlvbi5zZXRP
bmVGYW1pbHkoc3RhbmRhcmRGYW1pbHkoKSk7CiAKICAgICBmb250RGVzY3JpcHRpb24uc2V0S2V5
d29yZFNpemVGcm9tSWRlbnRpZmllcihDU1NWYWx1ZU1lZGl1bSk7CiAgICAgaW50IHNpemUgPSBm
b250U2l6ZUZvcktleXdvcmQoQ1NTVmFsdWVNZWRpdW0sIGZhbHNlLCBkb2N1bWVudCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>324090</attachid>
            <date>2017-10-17 19:57:35 -0700</date>
            <delta_ts>2017-10-18 04:05:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-175106-20171018115734.patch</filename>
            <type>text/plain</type>
            <size>3749</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzNTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDdlNDZlNmQ0MzNiNzI3
NzE1OTMzNjRlYTEzNjcxZDBhMThlZjg2ZC4uNTc4MWFhMDhmOTMyNWZiNmMyNTljNWQ1OTc3NWNi
M2JkMmJjNWE0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3LTEwLTE3ICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFVzZSBMYXp5
TmV2ZXJEZXN0cm95ZWQgaW5zdGVhZCBvZiBERUZJTkVfR0xPQkFMIGZvciBXZWJLaXRGb250RmFt
aWx5TmFtZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3NTEwNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXJlIGlzIG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAg
ICAgICAqIGNzcy9DU1NGb250RmFjZVNldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250
RmFjZVNldDo6ZmFtaWx5TmFtZUZyb21QcmltaXRpdmUpOiBDYWxsIGdldCgpIG1ldGhvZCBvZiBM
YXp5TmV2ZXJEZXN0cm95ZWQuCisgICAgICAgICogZG9tL21ha2VfbmFtZXMucGw6IFVzZSBMYXp5
TmV2ZXJEZXN0cm95ZWQgZm9yIGZvbnQgbmFtZXMuCisKIDIwMTctMTAtMTYgIEFuZHkgRXN0ZXMg
IDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtBcHBsZSBQYXldIEFkZCBzdWJMb2NhbGl0
eSBhbmQgc3ViQWRtaW5pc3RyYXRpdmVBcmVhIHRvIEFwcGxlUGF5UGF5bWVudENvbnRhY3QgYW5k
IEFwcGxlUGF5RXJyb3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFj
ZVNldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTZXQuY3BwCmluZGV4IDgx
MmNiNjUxNDlhNDY3OGE0N2JhNzU2MTJmMDRiMDQzZTNjZjM1YTYuLjYzYjM0OGI0NTRhYmE3ODdk
NjMxM2ZlNDI0ODZmMzUyZjVjMmEwYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGb250RmFjZVNldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU2V0
LmNwcApAQCAtMTMxLDE5ICsxMzEsMTkgQEAgU3RyaW5nIENTU0ZvbnRGYWNlU2V0OjpmYW1pbHlO
YW1lRnJvbVByaW1pdGl2ZShjb25zdCBDU1NQcmltaXRpdmVWYWx1ZSYgdmFsdWUpCiAgICAgLy8g
ZGVmaW5pbmcgd2hhdCBmb250IHRvIHVzZSBmb3IgdGhvc2UgdHlwZXMuCiAgICAgc3dpdGNoICh2
YWx1ZS52YWx1ZUlEKCkpIHsKICAgICBjYXNlIENTU1ZhbHVlU2VyaWY6Ci0gICAgICAgIHJldHVy
biBzZXJpZkZhbWlseTsKKyAgICAgICAgcmV0dXJuIHNlcmlmRmFtaWx5LmdldCgpOwogICAgIGNh
c2UgQ1NTVmFsdWVTYW5zU2VyaWY6Ci0gICAgICAgIHJldHVybiBzYW5zU2VyaWZGYW1pbHk7Cisg
ICAgICAgIHJldHVybiBzYW5zU2VyaWZGYW1pbHkuZ2V0KCk7CiAgICAgY2FzZSBDU1NWYWx1ZUN1
cnNpdmU6Ci0gICAgICAgIHJldHVybiBjdXJzaXZlRmFtaWx5OworICAgICAgICByZXR1cm4gY3Vy
c2l2ZUZhbWlseS5nZXQoKTsKICAgICBjYXNlIENTU1ZhbHVlRmFudGFzeToKLSAgICAgICAgcmV0
dXJuIGZhbnRhc3lGYW1pbHk7CisgICAgICAgIHJldHVybiBmYW50YXN5RmFtaWx5LmdldCgpOwog
ICAgIGNhc2UgQ1NTVmFsdWVNb25vc3BhY2U6Ci0gICAgICAgIHJldHVybiBtb25vc3BhY2VGYW1p
bHk7CisgICAgICAgIHJldHVybiBtb25vc3BhY2VGYW1pbHkuZ2V0KCk7CiAgICAgY2FzZSBDU1NW
YWx1ZVdlYmtpdFBpY3RvZ3JhcGg6Ci0gICAgICAgIHJldHVybiBwaWN0b2dyYXBoRmFtaWx5Owor
ICAgICAgICByZXR1cm4gcGljdG9ncmFwaEZhbWlseS5nZXQoKTsKICAgICBjYXNlIENTU1ZhbHVl
U3lzdGVtVWk6Ci0gICAgICAgIHJldHVybiBzeXN0ZW1VaUZhbWlseTsKKyAgICAgICAgcmV0dXJu
IHN5c3RlbVVpRmFtaWx5LmdldCgpOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiB7IH07
CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwgYi9T
b3VyY2UvV2ViQ29yZS9kb20vbWFrZV9uYW1lcy5wbAppbmRleCA3ODc1NTE1MmUzMjM4Njg5ZGJi
YmNlN2Y1ZWUyZjY2ZjNlODEyZDc3Li5kYjZjYmRmNDEwZjhkMjE5ZmZmNmJiNDgwODhlZjg3NjNm
ZDIxYzRkIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vbWFrZV9uYW1lcy5wbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFrZV9uYW1lcy5wbApAQCAtMTA5LDkgKzEwOSwxMiBAQCBp
ZiAobGVuZ3RoKCRmb250TmFtZXNJbikpIHsKICAgICBvcGVuIEYsICI+JGhlYWRlciIgb3IgZGll
ICJVbmFibGUgdG8gb3BlbiAkaGVhZGVyIGZvciB3cml0aW5nLiI7CiAKICAgICBwcmludExpY2Vu
c2VIZWFkZXIoJEYpOwotICAgIHByaW50SGVhZGVySGVhZCgkRiwgIkNTUyIsICRmYW1pbHlOYW1l
c0ZpbGVCYXNlLCAiI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPiIsICIiKTsKKyAg
ICBwcmludEhlYWRlckhlYWQoJEYsICJDU1MiLCAkZmFtaWx5TmFtZXNGaWxlQmFzZSwgPDxFTkQs
ICIiKTsKKyNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4
dC9BdG9taWNTdHJpbmcuaD4KK0VORAogCi0gICAgcHJpbnRNYWNyb3MoJEYsICJleHRlcm4gY29u
c3QgV1RGOjpBdG9taWNTdHJpbmciLCAiIiwgXCVwYXJhbWV0ZXJzKTsKKyAgICBwcmludE1hY3Jv
cygkRiwgImV4dGVybiBMYXp5TmV2ZXJEZXN0cm95ZWQ8Y29uc3QgV1RGOjpBdG9taWNTdHJpbmc+
IiwgIiIsIFwlcGFyYW1ldGVycyk7CiAgICAgcHJpbnQgRiAiI2VuZGlmXG5cbiI7CiAKICAgICBw
cmludEluaXQoJEYsIDEpOwpAQCAtMTI1LDkgKzEyOCw3IEBAIGlmIChsZW5ndGgoJGZvbnROYW1l
c0luKSkgewogCiAgICAgcHJpbnQgRiBTdGF0aWNTdHJpbmc6OkdlbmVyYXRlU3RyaW5ncyhcJXBh
cmFtZXRlcnMpOwogCi0gICAgZm9yIG15ICRuYW1lIChzb3J0IGtleXMgJXBhcmFtZXRlcnMpIHsK
LSAgICAgICAgcHJpbnQgRiAiREVGSU5FX0dMT0JBTChBdG9taWNTdHJpbmcsICRuYW1lKVxuIjsK
LSAgICB9CisgICAgcHJpbnRNYWNyb3MoJEYsICJMYXp5TmV2ZXJEZXN0cm95ZWQ8Y29uc3QgV1RG
OjpBdG9taWNTdHJpbmc+IiwgIiIsIFwlcGFyYW1ldGVycyk7CiAKICAgICBwcmludEluaXQoJEYs
IDApOwogCkBAIC0xMzgsNyArMTM5LDcgQEAgaWYgKGxlbmd0aCgkZm9udE5hbWVzSW4pKSB7CiAg
ICAgICAgICMgRklYTUU6IFdvdWxkIGxpa2UgdG8gdXNlIHN0YXRpY19jYXN0IGhlcmUsIGJ1dCB0
aGVyZSBhcmUgZGlmZmVyZW5jZXMgaW4gY29uc3QKICAgICAgICAgIyBkZXBlbmRpbmcgb24gd2hl
dGhlciBTS0lQX1NUQVRJQ19DT05TVFJVQ1RPUlNfT05fR0NDIGlzIHVzZWQsIHNvIHN0aWNrIHdp
dGggYQogICAgICAgICAjIEMtc3R5bGUgY2FzdCBmb3Igbm93LgotICAgICAgICBwcmludCBGICIg
ICAgbmV3IChOb3ROdWxsLCAodm9pZCopJiRuYW1lKSBBdG9taWNTdHJpbmcoJiR7bmFtZX1EYXRh
KTtcbiI7CisgICAgICAgIHByaW50IEYgIiAgICAke25hbWV9LmNvbnN0cnVjdCgmJHtuYW1lfURh
dGEpO1xuIjsKICAgICB9CiAKICAgICBwcmludCBGICJ9XG59XG59XG4iOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>