<?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>132110</bug_id>
          
          <creation_ts>2014-04-24 00:02:26 -0700</creation_ts>
          <short_desc>FontCache::fontCache() never returns nullptr so it can be made to return a reference instead</short_desc>
          <delta_ts>2014-04-24 12:06:41 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>bunhere</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>enrica</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jonlee</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mitz</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1003560</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-04-24 00:02:26 -0700</bug_when>
    <thetext>FontCache::fontCache() never returns nullptr so it can be made to return a reference instead</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003561</commentid>
    <comment_count>1</comment_count>
      <attachid>230054</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-04-24 00:05:41 -0700</bug_when>
    <thetext>Created attachment 230054
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003570</commentid>
    <comment_count>2</comment_count>
      <attachid>230054</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-04-24 00:38:06 -0700</bug_when>
    <thetext>Comment on attachment 230054
Patch

Nice! Did you make sure that iOS build doesn&apos;t break too? (seems like you&apos;re probably safe)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003733</commentid>
    <comment_count>3</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-04-24 12:04:02 -0700</bug_when>
    <thetext>Yep! iOS builds fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003735</commentid>
    <comment_count>4</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2014-04-24 12:06:41 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/167768</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230054</attachid>
            <date>2014-04-24 00:05:41 -0700</date>
            <delta_ts>2014-04-24 00:38:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132110-20140424000519.patch</filename>
            <type>text/plain</type>
            <size>34475</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3NzQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWY0MDZlODJmMWEyOTMx
MjAyYzU2NjMyYjhmNTZiMjRkNWRkZTIzYi4uN2ZlZWYxOTY0YjZmZTc5NDRkNzE0Nzk3MDQ0MGQ5
OTEwYzNlNWJiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDE0LTA0LTI0ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgRm9udENhY2hl
Ojpmb250Q2FjaGUoKSBuZXZlciByZXR1cm5zIG51bGxwdHIgc28gaXQgY2FuIGJlIG1hZGUgdG8g
cmV0dXJuIGEgcmVmZXJlbmNlIGluc3RlYWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEzMjExMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFVwZGF0ZXMgY2FsbGVycyB0byB1c2UgJy4nIGluc3RlYWQgb2Yg
Jy0+Jy4KKworICAgICAgICBObyBuZXcgdGVzdHMgYXJlIG5lY2Vzc2FyeSBiZWNhdXNlIHRoZXJl
IHNob3VsZCBiZSBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZh
Y2VTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZhY2VTb3VyY2U6OmdldEZv
bnREYXRhKToKKyAgICAgICAgKiBjc3MvQ1NTRm9udFNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0ZvbnRTZWxlY3Rvcjo6Q1NTRm9udFNlbGVjdG9yKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0ZvbnRTZWxlY3Rvcjo6fkNTU0ZvbnRTZWxlY3Rvcik6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NGb250U2VsZWN0b3I6OmFkZEZvbnRGYWNlUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpm
b250RGF0YUZvckdlbmVyaWNGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udFNlbGVj
dG9yOjpnZXRGYWxsYmFja0ZvbnREYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9NZW1vcnlQcmVz
c3VyZUhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5UHJlc3N1cmVIYW5kbGVy
OjpyZWxlYXNlTWVtb3J5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Zm9udENhY2hlKTogUmV0dXJuIGEgcmVmZXJlbmNlCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmg6CisgICAgICAgIChXZWJDb3Jl
OjpGb250Q2FjaGVQdXJnZVByZXZlbnRlcjo6Rm9udENhY2hlUHVyZ2VQcmV2ZW50ZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6Rm9udENhY2hlUHVyZ2VQcmV2ZW50ZXI6On5Gb250Q2FjaGVQdXJnZVBy
ZXZlbnRlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEdseXBocy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpGb250R2x5cGhzOjpGb250R2x5cGhzKToKKyAgICAgICAgKFdlYkNv
cmU6OkZvbnRHbHlwaHM6OnJlbGVhc2VGb250RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250
R2x5cGhzOjpyZWFsaXplRm9udERhdGFBdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250R2x5cGhz
OjpnbHlwaERhdGFBbmRQYWdlRm9yQ2hhcmFjdGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9mcmVldHlwZS9Gb250UGxhdGZvcm1EYXRhRnJlZVR5cGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6dmVydGljYWxEYXRhKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9pb3MvU2ltcGxlRm9udERhdGFJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpT
aW1wbGVGb250RGF0YTo6cGxhdGZvcm1DcmVhdGVTY2FsZWRGb250RGF0YSk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlckNvcmVUZXh0Lm1tOgor
ICAgICAgICAoV2ViQ29yZTo6Q29tcGxleFRleHRDb250cm9sbGVyOjpjb2xsZWN0Q29tcGxleFRl
eHRSdW5zRm9yQ2hhcmFjdGVycyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0Zv
bnRDYWNoZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OmludmFsaWRhdGVGb250Q2FjaGUpOgor
ICAgICAgICAoV2ViQ29yZTo6Zm9udENhY2hlUmVnaXN0ZXJlZEZvbnRzQ2hhbmdlZE5vdGlmaWNh
dGlvbkNhbGxiYWNrKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9u
dERhdGFNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1E
ZXN0cm95KToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUNyZWF0
ZVNjYWxlZEZvbnREYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udENh
Y2hlV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdldENKS0NvZGVQYWdlTWFza3MpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdpbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6Y29udGFpbnNDaGFyYWN0ZXJzKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9Gb250Q2FjaGVXaW5DRS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpnZXRDSktDb2RlUGFnZU1hc2tzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy93aW5jZS9Gb250UGxhdGZvcm1EYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRG
YW1pbHlDb2RlUGFnZUluZm86OmNvZGVQYWdlcyk6CisgICAgICAgIChXZWJDb3JlOjpGaXhlZFNp
emVGb250RGF0YTo6Y3JlYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9H
bHlwaFBhZ2VUcmVlTm9kZVdpbkNFLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdseXBoUGFnZTo6
ZmlsbCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvU2ltcGxlRm9udERhdGFX
aW5DRS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1DcmVh
dGVTY2FsZWRGb250RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6Y29u
dGFpbnNDaGFyYWN0ZXJzKToKKwogMjAxNC0wNC0yMyAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0Bh
cHBsZS5jb20+CiAKICAgICAgICAgQ2FudmFzIGNhY2hlIG9mIGNsZWFuIFVSTHMgY2FuIGdyb3cg
d2l0aG91dCBib3VuZHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggOTlmZmNkZjgxMWY3OThmYTIyNTEx
ODFiNmI5MTBmOTY0OTRmMWEyYi4uNTU4NDYwNmYwZDg3YjM5OTFiMTVlOTFkYTQ2NmRhOTQ0YTEx
OGIwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE0LTA0LTI0ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgRm9udENhY2hl
Ojpmb250Q2FjaGUoKSBuZXZlciByZXR1cm5zIG51bGxwdHIgc28gaXQgY2FuIGJlIG1hZGUgdG8g
cmV0dXJuIGEgcmVmZXJlbmNlIGluc3RlYWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEzMjExMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFVwZGF0ZXMgY2FsbGVycyB0byB1c2UgJy4nIGluc3RlYWQgb2Yg
Jy0+Jy4KKworICAgICAgICBObyBuZXcgdGVzdHMgYXJlIG5lY2Vzc2FyeSBiZWNhdXNlIHRoZXJl
IHNob3VsZCBiZSBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBld2svZXdrX3NldHRp
bmdzLmNwcDoKKyAgICAgICAgKGV3a19zZXR0aW5nc19tZW1vcnlfY2FjaGVfY2xlYXIpOgorCiAy
MDE0LTA0LTIzICBIeW93b24gS2ltICA8aHcxMDA4LmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAg
ICBbRUZMXVtXSzFdIEFkZCAqY29uc3QqIGtleXdvcmQgdG8gX2dldCgpIEFQSXMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvaW9zL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvaW9zL0NoYW5n
ZUxvZwppbmRleCA4YjQ0MGFlMzcxM2EyMTg0YjliZDgyNDZhYWNiOGI3ZjEwMThmMmM4Li5hZmE0
NTRjODdhMjAzMGE2ZmQ1YWRiYTZlOWJmNDNmNDQ3ZTJlZjQ1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2lvcy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9pb3MvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTQtMDQtMjQgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxk
QGFwcGxlLmNvbT4KKworICAgICAgICBGb250Q2FjaGU6OmZvbnRDYWNoZSgpIG5ldmVyIHJldHVy
bnMgbnVsbHB0ciBzbyBpdCBjYW4gYmUgbWFkZSB0byByZXR1cm4gYSByZWZlcmVuY2UgaW5zdGVh
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMyMTEw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRl
cyBjYWxsZXJzIHRvIHVzZSAnLicgaW5zdGVhZCBvZiAnLT4nLgorCisgICAgICAgIE5vIG5ldyB0
ZXN0cyBhcmUgbmVjZXNzYXJ5IGJlY2F1c2UgdGhlcmUgc2hvdWxkIGJlIG5vIGJlaGF2aW9yIGNo
YW5nZS4KKworICAgICAgICAqIE1pc2MvRW1vamlGYWxsYmFja0ZvbnRTZWxlY3Rvci5jcHA6Cisg
ICAgICAgIChFbW9qaUZhbGxiYWNrRm9udFNlbGVjdG9yOjpnZXRGYWxsYmFja0ZvbnREYXRhKToK
KwogMjAxNC0wNC0xNyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAg
ICAgW2lPU10gSG9vayB1cCBzY3JlZW4ue2F2YWlsSGVpZ2h0LCBhdmFpbFdpZHRoLCBoZWlnaHQs
IHdpZHRofQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGUzZDI4NjE5MWIxYTU1MThjNGY5OTQ0MWI4Yzc1
NWY2ZTNiODlmYzIuLmZlN2U4ZTkyYjczYjMyMjEwYWFhNzU5NDNhZTA3NzNhYTUwMDVkZWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxNC0wNC0yNCAgTXlsZXMgQy4gTWF4
ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIEZvbnRDYWNoZTo6Zm9udENh
Y2hlKCkgbmV2ZXIgcmV0dXJucyBudWxscHRyIHNvIGl0IGNhbiBiZSBtYWRlIHRvIHJldHVybiBh
IHJlZmVyZW5jZSBpbnN0ZWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMzIxMTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBVcGRhdGVzIGNhbGxlcnMgdG8gdXNlICcuJyBpbnN0ZWFkIG9mICctPicuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzIGFyZSBuZWNlc3NhcnkgYmVjYXVzZSB0aGVyZSBzaG91bGQg
YmUgbm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICogTWlzYy9XZWJDb3JlU3RhdGlzdGlj
cy5tbToKKyAgICAgICAgKCtbV2ViQ29yZVN0YXRpc3RpY3MgY2FjaGVkRm9udERhdGFDb3VudF0p
OgorICAgICAgICAoK1tXZWJDb3JlU3RhdGlzdGljcyBjYWNoZWRGb250RGF0YUluYWN0aXZlQ291
bnRdKToKKyAgICAgICAgKCtbV2ViQ29yZVN0YXRpc3RpY3MgcHVyZ2VJbmFjdGl2ZUZvbnREYXRh
XSk6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoK1tXZWJWaWV3IHB1
cmdlSW5hY3RpdmVGb250RGF0YV0pOgorCiAyMDE0LTA0LTIzICBBbmRlcnMgQ2FybHNzb24gIDxh
bmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgRG9uJ3QgbWlncmF0ZSB0aGUgV0tWaWV3Lmgg
aGVhZGVyIGZyb20gV2ViQ29yZSB0byBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
d2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCAyNmU2YTg4
YTRlYzgyZTBmNjhmZmNkNjYwYmJmYmM3ZjMzZTY0ODQwLi40NGEwNzhiNjMwNGM3MTI4OWEzNzcz
NTcyNWIwNTM2OWFlMmNhMWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIw
MTQtMDQtMjQgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAg
ICAgICBGb250Q2FjaGU6OmZvbnRDYWNoZSgpIG5ldmVyIHJldHVybnMgbnVsbHB0ciBzbyBpdCBj
YW4gYmUgbWFkZSB0byByZXR1cm4gYSByZWZlcmVuY2UgaW5zdGVhZAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMyMTEwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlcyBjYWxsZXJzIHRvIHVzZSAn
LicgaW5zdGVhZCBvZiAnLT4nLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBhcmUgbmVjZXNzYXJ5
IGJlY2F1c2UgdGhlcmUgc2hvdWxkIGJlIG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAq
IFdlYkNvcmVTdGF0aXN0aWNzLmNwcDoKKyAgICAgICAgKFdlYkNvcmVTdGF0aXN0aWNzOjpjYWNo
ZWRGb250RGF0YUNvdW50KToKKyAgICAgICAgKFdlYkNvcmVTdGF0aXN0aWNzOjpjYWNoZWRGb250
RGF0YUluYWN0aXZlQ291bnQpOgorICAgICAgICAoV2ViQ29yZVN0YXRpc3RpY3M6OnB1cmdlSW5h
Y3RpdmVGb250RGF0YSk6CisKIDIwMTQtMDQtMjIgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0
ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBCZWdpbiBpbXBsZW1lbnRhdGlvbiBvZiB2aWRl
byB1c2luZyBNZWRpYSBGb3VuZGF0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDFlNjgyYmRmZWU0ZDNhMGZh
MjM4NzFkNGRkZDE2MWQ2M2RkMTI1NWQuLjc1YzdmODNlZmUzNWEwNDIzZDEzM2ZjZGQ3NzQyNmZm
NzY1OWE0OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxNC0wNC0yNCAgTXlsZXMg
Qy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIEZvbnRDYWNoZTo6
Zm9udENhY2hlKCkgbmV2ZXIgcmV0dXJucyBudWxscHRyIHNvIGl0IGNhbiBiZSBtYWRlIHRvIHJl
dHVybiBhIHJlZmVyZW5jZSBpbnN0ZWFkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMzIxMTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBVcGRhdGVzIGNhbGxlcnMgdG8gdXNlICcuJyBpbnN0ZWFkIG9mICct
PicuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGFyZSBuZWNlc3NhcnkgYmVjYXVzZSB0aGVyZSBz
aG91bGQgYmUgbm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6dGVybWluYXRlKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6ZGlkQ2xvc2UpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzOjpnZXRXZWJDb3JlU3RhdGlzdGljcyk6CisKIDIwMTQtMDQtMjMgIFNpbW9uIEZy
YXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPUyBXSzJdIE1ha2Ug
LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2ggd29yawpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NGb250RmFjZVNvdXJjZS5jcHAKaW5kZXggOThmZjg3NWI0ZDk0YWNhNDMwNThlNzJkZGQzZmM1
Njc3ZDdkMWUyOS4uYjYwYzg1Y2EyNzc1MDljMjdhODJkOTg0ZWIwMmZiODllODcyYjNlYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwCkBAIC0xMDgsNyArMTA4LDcg
QEAgUGFzc1JlZlB0cjxTaW1wbGVGb250RGF0YT4gQ1NTRm9udEZhY2VTb3VyY2U6OmdldEZvbnRE
YXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYKICAgICApIHsKICAgICAgICAgLy8gV2UncmUgbG9j
YWwuIEp1c3QgcmV0dXJuIGEgU2ltcGxlRm9udERhdGEgZnJvbSB0aGUgbm9ybWFsIGNhY2hlLgog
ICAgICAgICAvLyBXZSBkb24ndCB3YW50IHRvIGNoZWNrIGFsdGVybmF0ZSBmb250IGZhbWlseSBu
YW1lcyBoZXJlLCBzbyBwYXNzIHRydWUgYXMgdGhlIGNoZWNraW5nQWx0ZXJuYXRlTmFtZSBwYXJh
bWV0ZXIuCi0gICAgICAgIHJldHVybiBmb250Q2FjaGUoKS0+Z2V0Q2FjaGVkRm9udERhdGEoZm9u
dERlc2NyaXB0aW9uLCBtX3N0cmluZywgdHJ1ZSk7CisgICAgICAgIHJldHVybiBmb250Q2FjaGUo
KS5nZXRDYWNoZWRGb250RGF0YShmb250RGVzY3JpcHRpb24sIG1fc3RyaW5nLCB0cnVlKTsKICAg
ICB9CiAKICAgICAvLyBTZWUgaWYgd2UgaGF2ZSBhIG1hcHBpbmcgaW4gb3VyIEZvbnREYXRhIGNh
Y2hlLgpAQCAtMTcyLDcgKzE3Miw3IEBAIFBhc3NSZWZQdHI8U2ltcGxlRm9udERhdGE+IENTU0Zv
bnRGYWNlU291cmNlOjpnZXRGb250RGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mCiAKICAgICAg
ICAgLy8gVGhpcyB0ZW1wb3JhcnkgZm9udCBpcyBub3QgcmV0YWluZWQgYW5kIHNob3VsZCBub3Qg
YmUgcmV0dXJuZWQuCiAgICAgICAgIEZvbnRDYWNoZVB1cmdlUHJldmVudGVyIGZvbnRDYWNoZVB1
cmdlUHJldmVudGVyOwotICAgICAgICBTaW1wbGVGb250RGF0YSogdGVtcG9yYXJ5Rm9udCA9IGZv
bnRDYWNoZSgpLT5nZXROb25SZXRhaW5lZExhc3RSZXNvcnRGYWxsYmFja0ZvbnQoZm9udERlc2Ny
aXB0aW9uKTsKKyAgICAgICAgU2ltcGxlRm9udERhdGEqIHRlbXBvcmFyeUZvbnQgPSBmb250Q2Fj
aGUoKS5nZXROb25SZXRhaW5lZExhc3RSZXNvcnRGYWxsYmFja0ZvbnQoZm9udERlc2NyaXB0aW9u
KTsKICAgICAgICAgZm9udERhdGEgPSBTaW1wbGVGb250RGF0YTo6Y3JlYXRlKHRlbXBvcmFyeUZv
bnQtPnBsYXRmb3JtRGF0YSgpLCB0cnVlLCB0cnVlKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0ZvbnRTZWxlY3Rvci5jcHAKaW5kZXggZjdjMDQ1ZTAxNGJjMTU2NGZjOTQ2ZjRmNDQyYTcx
NzYwMjk3NjA2ZC4uMDEyMTc0ODQ2MzU1ZjM4YWJiZTljNzE5ODM3ZTAyNzc5NjdiMTlmMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKQEAgLTcwLDEzICs3MCwxMyBAQCBD
U1NGb250U2VsZWN0b3I6OkNTU0ZvbnRTZWxlY3RvcihEb2N1bWVudCogZG9jdW1lbnQpCiAgICAg
Ly8gc2VlbSB0byBiZSBhbnkgc3VjaCBndWFyYW50ZWUuCiAKICAgICBBU1NFUlQobV9kb2N1bWVu
dCk7Ci0gICAgZm9udENhY2hlKCktPmFkZENsaWVudCh0aGlzKTsKKyAgICBmb250Q2FjaGUoKS5h
ZGRDbGllbnQodGhpcyk7CiB9CiAKIENTU0ZvbnRTZWxlY3Rvcjo6fkNTU0ZvbnRTZWxlY3Rvcigp
CiB7CiAgICAgY2xlYXJEb2N1bWVudCgpOwotICAgIGZvbnRDYWNoZSgpLT5yZW1vdmVDbGllbnQo
dGhpcyk7CisgICAgZm9udENhY2hlKCkucmVtb3ZlQ2xpZW50KHRoaXMpOwogfQogCiBib29sIENT
U0ZvbnRTZWxlY3Rvcjo6aXNFbXB0eSgpIGNvbnN0CkBAIC0zMDAsNyArMzAwLDcgQEAgdm9pZCBD
U1NGb250U2VsZWN0b3I6OmFkZEZvbnRGYWNlUnVsZShjb25zdCBTdHlsZVJ1bGVGb250RmFjZSog
Zm9udEZhY2VSdWxlKQogICAgICAgICAgICAgQVNTRVJUKCFtX2xvY2FsbHlJbnN0YWxsZWRGb250
RmFjZXMuY29udGFpbnMoZmFtaWx5TmFtZSkpOwogCiAgICAgICAgICAgICBWZWN0b3I8dW5zaWdu
ZWQ+IGxvY2FsbHlJbnN0YWxsZWRGb250c1RyYWl0c01hc2tzOwotICAgICAgICAgICAgZm9udENh
Y2hlKCktPmdldFRyYWl0c0luRmFtaWx5KGZhbWlseU5hbWUsIGxvY2FsbHlJbnN0YWxsZWRGb250
c1RyYWl0c01hc2tzKTsKKyAgICAgICAgICAgIGZvbnRDYWNoZSgpLmdldFRyYWl0c0luRmFtaWx5
KGZhbWlseU5hbWUsIGxvY2FsbHlJbnN0YWxsZWRGb250c1RyYWl0c01hc2tzKTsKICAgICAgICAg
ICAgIGlmICh1bnNpZ25lZCBudW1Mb2NhbGx5SW5zdGFsbGVkRmFjZXMgPSBsb2NhbGx5SW5zdGFs
bGVkRm9udHNUcmFpdHNNYXNrcy5zaXplKCkpIHsKICAgICAgICAgICAgICAgICBhdXRvIGZhbWls
eUxvY2FsbHlJbnN0YWxsZWRGYWNlcyA9IHN0ZDo6bWFrZV91bmlxdWU8VmVjdG9yPFJlZlB0cjxD
U1NGb250RmFjZT4+PigpOwogCkBAIC0zODYsNyArMzg2LDcgQEAgc3RhdGljIFBhc3NSZWZQdHI8
U2ltcGxlRm9udERhdGE+IGZvbnREYXRhRm9yR2VuZXJpY0ZhbWlseShEb2N1bWVudCogZG9jdW1l
bnQsIGMKICAgICAgICAgZ2VuZXJpY0ZhbWlseSA9IHNldHRpbmdzLnN0YW5kYXJkRm9udEZhbWls
eShzY3JpcHQpOwogCiAgICAgaWYgKCFnZW5lcmljRmFtaWx5LmlzRW1wdHkoKSkKLSAgICAgICAg
cmV0dXJuIGZvbnRDYWNoZSgpLT5nZXRDYWNoZWRGb250RGF0YShmb250RGVzY3JpcHRpb24sIGdl
bmVyaWNGYW1pbHkpOworICAgICAgICByZXR1cm4gZm9udENhY2hlKCkuZ2V0Q2FjaGVkRm9udERh
dGEoZm9udERlc2NyaXB0aW9uLCBnZW5lcmljRmFtaWx5KTsKIAogICAgIHJldHVybiBudWxscHRy
OwogfQpAQCAtNjQ5LDcgKzY0OSw3IEBAIFBhc3NSZWZQdHI8Rm9udERhdGE+IENTU0ZvbnRTZWxl
Y3Rvcjo6Z2V0RmFsbGJhY2tGb250RGF0YShjb25zdCBGb250RGVzY3JpcHRpb24mCiAgICAgaWYg
KCFzZXR0aW5ncyB8fCAhc2V0dGluZ3MtPmZvbnRGYWxsYmFja1ByZWZlcnNQaWN0b2dyYXBocygp
KQogICAgICAgICByZXR1cm4gMDsKIAotICAgIHJldHVybiBmb250Q2FjaGUoKS0+Z2V0Q2FjaGVk
Rm9udERhdGEoZm9udERlc2NyaXB0aW9uLCBzZXR0aW5ncy0+cGljdG9ncmFwaEZvbnRGYW1pbHko
KSk7CisgICAgcmV0dXJuIGZvbnRDYWNoZSgpLmdldENhY2hlZEZvbnREYXRhKGZvbnREZXNjcmlw
dGlvbiwgc2V0dGluZ3MtPnBpY3RvZ3JhcGhGb250RmFtaWx5KCkpOwogfQogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmNwcAppbmRleCBh
Mzc0OWQ4NWY2Yjg2NjIzMTVjYmVjNWVlZDFhNzBiNDk2YzQ0ZWRlLi40OTNlYjEzYWI1YTA5NDRl
NDViZDU5NWFhYzZmOGU1OGFhNDg4NWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL01lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAKQEAgLTc2LDcgKzc2LDcgQEAgdm9pZCBNZW1v
cnlQcmVzc3VyZUhhbmRsZXI6OnJlbGVhc2VNZW1vcnkoYm9vbCBjcml0aWNhbCkKIAogICAgIHsK
ICAgICAgICAgUmVsaWVmTG9nZ2VyIGxvZygiUHVyZ2UgaW5hY3RpdmUgRm9udERhdGEiKTsKLSAg
ICAgICAgZm9udENhY2hlKCktPnB1cmdlSW5hY3RpdmVGb250RGF0YSgpOworICAgICAgICBmb250
Q2FjaGUoKS5wdXJnZUluYWN0aXZlRm9udERhdGEoKTsKICAgICB9CiAKICAgICB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmNwcAppbmRleCA1YjQ5Y2Q5
MGE2NjUwMjdhODQ0ZjRiNzI5OWNkNTE0ODA3NDFhMmY5Li40YzY1ZWI3OTk4MmY5ODQxYzE1ZTQ5
YzBiZjZjZjAyNGEyYWIzODExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRDYWNoZS5jcHAKQEAgLTg1LDExICs4NSwxMCBAQCB1c2luZyBuYW1lc3BhY2UgV1RG
OwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLS8vIEZJWE1FOiBXZSBzaG91bGQgcmV0dXJuIGEg
cmVmZXJlbmNlIGluc3RlYWQgb2YgYSBwb2ludGVyIHNpbmNlIHdlIG5ldmVyIHJldHVybiBhIG51
bGxwdHIuCi1Gb250Q2FjaGUqIGZvbnRDYWNoZSgpCitGb250Q2FjaGUmIGZvbnRDYWNoZSgpCiB7
CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEZvbnRDYWNoZT4gZ2xvYmFsRm9udENhY2hlOwot
ICAgIHJldHVybiAmZ2xvYmFsRm9udENhY2hlLmdldCgpOworICAgIHJldHVybiBnbG9iYWxGb250
Q2FjaGUuZ2V0KCk7CiB9CiAKIEZvbnRDYWNoZTo6Rm9udENhY2hlKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKaW5kZXggYzNlOGU3MWY3MWNiMDRmNzcy
NTNkOGM2ZGQyYjgwMGVjZDY3ZjUwNi4uMWIxNTk0NWE1MDNiYTkzZjY0MjE2YWM5NjUzMmJmZDdk
OTMxN2Q4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dENhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hl
LmgKQEAgLTEwOCw3ICsxMDgsNyBAQCBjbGFzcyBGb250Q2FjaGUgewogCiAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRm9udENhY2hlKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
Ci0gICAgZnJpZW5kIEZvbnRDYWNoZSogZm9udENhY2hlKCk7CisgICAgZnJpZW5kIEZvbnRDYWNo
ZSYgZm9udENhY2hlKCk7CiAKICAgICBlbnVtIFNob3VsZFJldGFpbiB7IFJldGFpbiwgRG9Ob3RS
ZXRhaW4gfTsKIApAQCAtMjAzLDEyICsyMDMsMTIgQEAgcHJpdmF0ZToKIH07CiAKIC8vIEdldCB0
aGUgZ2xvYmFsIGZvbnRDYWNoZS4KLUZvbnRDYWNoZSogZm9udENhY2hlKCk7CitGb250Q2FjaGUm
IGZvbnRDYWNoZSgpOwogCiBjbGFzcyBGb250Q2FjaGVQdXJnZVByZXZlbnRlciB7CiBwdWJsaWM6
Ci0gICAgRm9udENhY2hlUHVyZ2VQcmV2ZW50ZXIoKSB7IGZvbnRDYWNoZSgpLT5kaXNhYmxlUHVy
Z2luZygpOyB9Ci0gICAgfkZvbnRDYWNoZVB1cmdlUHJldmVudGVyKCkgeyBmb250Q2FjaGUoKS0+
ZW5hYmxlUHVyZ2luZygpOyB9CisgICAgRm9udENhY2hlUHVyZ2VQcmV2ZW50ZXIoKSB7IGZvbnRD
YWNoZSgpLmRpc2FibGVQdXJnaW5nKCk7IH0KKyAgICB+Rm9udENhY2hlUHVyZ2VQcmV2ZW50ZXIo
KSB7IGZvbnRDYWNoZSgpLmVuYWJsZVB1cmdpbmcoKTsgfQogfTsKIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEdseXBocy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250R2x5cGhzLmNwcAppbmRleCAzMDA0YzUxNzFm
ZTE5ODBhMzllNGFiYTBiNDM0NWJhZTZkZTEyNDhmLi45NDg3Y2MwYTA4YjFjZGIwMDhiZDFjMWRk
MzZmMGQxMDRhNGRkMmY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250R2x5cGhzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250R2x5cGhzLmNwcApAQCAtNDIsNyArNDIsNyBAQCBGb250R2x5cGhzOjpGb250R2x5cGhz
KFBhc3NSZWZQdHI8Rm9udFNlbGVjdG9yPiBmb250U2VsZWN0b3IpCiAgICAgLCBtX2ZvbnRTZWxl
Y3Rvcihmb250U2VsZWN0b3IpCiAgICAgLCBtX2ZvbnRTZWxlY3RvclZlcnNpb24obV9mb250U2Vs
ZWN0b3IgPyBtX2ZvbnRTZWxlY3Rvci0+dmVyc2lvbigpIDogMCkKICAgICAsIG1fZmFtaWx5SW5k
ZXgoMCkKLSAgICAsIG1fZ2VuZXJhdGlvbihmb250Q2FjaGUoKS0+Z2VuZXJhdGlvbigpKQorICAg
ICwgbV9nZW5lcmF0aW9uKGZvbnRDYWNoZSgpLmdlbmVyYXRpb24oKSkKICAgICAsIG1fcGl0Y2go
VW5rbm93blBpdGNoKQogICAgICwgbV9sb2FkaW5nQ3VzdG9tRm9udHMoZmFsc2UpCiAgICAgLCBt
X2lzRm9yUGxhdGZvcm1Gb250KGZhbHNlKQpAQCAtNTUsMTIgKzU1LDEyIEBAIEZvbnRHbHlwaHM6
OkZvbnRHbHlwaHMoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYgcGxhdGZvcm1EYXRhKQogICAgICwg
bV9mb250U2VsZWN0b3IoMCkKICAgICAsIG1fZm9udFNlbGVjdG9yVmVyc2lvbigwKQogICAgICwg
bV9mYW1pbHlJbmRleChjQWxsRmFtaWxpZXNTY2FubmVkKQotICAgICwgbV9nZW5lcmF0aW9uKGZv
bnRDYWNoZSgpLT5nZW5lcmF0aW9uKCkpCisgICAgLCBtX2dlbmVyYXRpb24oZm9udENhY2hlKCku
Z2VuZXJhdGlvbigpKQogICAgICwgbV9waXRjaChVbmtub3duUGl0Y2gpCiAgICAgLCBtX2xvYWRp
bmdDdXN0b21Gb250cyhmYWxzZSkKICAgICAsIG1faXNGb3JQbGF0Zm9ybUZvbnQodHJ1ZSkKIHsK
LSAgICBSZWZQdHI8Rm9udERhdGE+IGZvbnREYXRhID0gZm9udENhY2hlKCktPmdldENhY2hlZEZv
bnREYXRhKCZwbGF0Zm9ybURhdGEpOworICAgIFJlZlB0cjxGb250RGF0YT4gZm9udERhdGEgPSBm
b250Q2FjaGUoKS5nZXRDYWNoZWRGb250RGF0YSgmcGxhdGZvcm1EYXRhKTsKICAgICBtX3JlYWxp
emVkRm9udERhdGEuYXBwZW5kKGZvbnREYXRhLnJlbGVhc2UoKSk7CiB9CiAKQEAgLTcxLDcgKzcx
LDcgQEAgdm9pZCBGb250R2x5cGhzOjpyZWxlYXNlRm9udERhdGEoKQogICAgICAgICBpZiAobV9y
ZWFsaXplZEZvbnREYXRhW2ldLT5pc0N1c3RvbUZvbnQoKSkKICAgICAgICAgICAgIGNvbnRpbnVl
OwogICAgICAgICBBU1NFUlQoIW1fcmVhbGl6ZWRGb250RGF0YVtpXS0+aXNTZWdtZW50ZWQoKSk7
Ci0gICAgICAgIGZvbnRDYWNoZSgpLT5yZWxlYXNlRm9udERhdGEoc3RhdGljX2Nhc3Q8Y29uc3Qg
U2ltcGxlRm9udERhdGEqPihtX3JlYWxpemVkRm9udERhdGFbaV0uZ2V0KCkpKTsKKyAgICAgICAg
Zm9udENhY2hlKCkucmVsZWFzZUZvbnREYXRhKHN0YXRpY19jYXN0PGNvbnN0IFNpbXBsZUZvbnRE
YXRhKj4obV9yZWFsaXplZEZvbnREYXRhW2ldLmdldCgpKSk7CiAgICAgfQogfQogCkBAIC0xMTcs
OCArMTE3LDggQEAgY29uc3QgRm9udERhdGEqIEZvbnRHbHlwaHM6OnJlYWxpemVGb250RGF0YUF0
KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24KICAgICAvLyBXZSBhcmUgb2J0YWlu
aW5nIHRoaXMgZm9udCBmb3IgdGhlIGZpcnN0IHRpbWUuIFdlIGtlZXAgdHJhY2sgb2YgdGhlIGZh
bWlsaWVzIHdlJ3ZlIGxvb2tlZCBhdCBiZWZvcmUKICAgICAvLyBpbiB8bV9mYW1pbHlJbmRleHws
IHNvIHRoYXQgd2UgbmV2ZXIgc2NhbiB0aGUgc2FtZSBzcG90IGluIHRoZSBsaXN0IHR3aWNlLiBn
ZXRGb250RGF0YSB3aWxsIGFkanVzdCBvdXIKICAgICAvLyB8bV9mYW1pbHlJbmRleHwgYXMgaXQg
c2NhbnMgZm9yIHRoZSByaWdodCBmb250IHRvIG1ha2UuCi0gICAgQVNTRVJUKGZvbnRDYWNoZSgp
LT5nZW5lcmF0aW9uKCkgPT0gbV9nZW5lcmF0aW9uKTsKLSAgICBSZWZQdHI8Rm9udERhdGE+IHJl
c3VsdCA9IGZvbnRDYWNoZSgpLT5nZXRGb250RGF0YShkZXNjcmlwdGlvbiwgbV9mYW1pbHlJbmRl
eCwgbV9mb250U2VsZWN0b3IuZ2V0KCkpOworICAgIEFTU0VSVChmb250Q2FjaGUoKS5nZW5lcmF0
aW9uKCkgPT0gbV9nZW5lcmF0aW9uKTsKKyAgICBSZWZQdHI8Rm9udERhdGE+IHJlc3VsdCA9IGZv
bnRDYWNoZSgpLmdldEZvbnREYXRhKGRlc2NyaXB0aW9uLCBtX2ZhbWlseUluZGV4LCBtX2ZvbnRT
ZWxlY3Rvci5nZXQoKSk7CiAgICAgaWYgKHJlc3VsdCkgewogICAgICAgICBtX3JlYWxpemVkRm9u
dERhdGEuYXBwZW5kKHJlc3VsdCk7CiAgICAgICAgIGlmIChyZXN1bHQtPmlzTG9hZGluZygpKQpA
QCAtMzgxLDcgKzM4MSw3IEBAIHN0ZDo6cGFpcjxHbHlwaERhdGEsIEdseXBoUGFnZSo+IEZvbnRH
bHlwaHM6OmdseXBoRGF0YUFuZFBhZ2VGb3JDaGFyYWN0ZXIoY29uc3QKICAgICAgICAgY29kZVVu
aXRzTGVuZ3RoID0gMjsKICAgICB9CiAgICAgY29uc3QgU2ltcGxlRm9udERhdGEqIG9yaWdpbmFs
Rm9udERhdGEgPSBwcmltYXJ5Rm9udERhdGEoZGVzY3JpcHRpb24pLT5mb250RGF0YUZvckNoYXJh
Y3RlcihjKTsKLSAgICBSZWZQdHI8U2ltcGxlRm9udERhdGE+IGNoYXJhY3RlckZvbnREYXRhID0g
Zm9udENhY2hlKCktPnN5c3RlbUZhbGxiYWNrRm9yQ2hhcmFjdGVycyhkZXNjcmlwdGlvbiwgb3Jp
Z2luYWxGb250RGF0YSwgbV9pc0ZvclBsYXRmb3JtRm9udCwgY29kZVVuaXRzLCBjb2RlVW5pdHNM
ZW5ndGgpOworICAgIFJlZlB0cjxTaW1wbGVGb250RGF0YT4gY2hhcmFjdGVyRm9udERhdGEgPSBm
b250Q2FjaGUoKS5zeXN0ZW1GYWxsYmFja0ZvckNoYXJhY3RlcnMoZGVzY3JpcHRpb24sIG9yaWdp
bmFsRm9udERhdGEsIG1faXNGb3JQbGF0Zm9ybUZvbnQsIGNvZGVVbml0cywgY29kZVVuaXRzTGVu
Z3RoKTsKICAgICBpZiAoY2hhcmFjdGVyRm9udERhdGEpIHsKICAgICAgICAgaWYgKGNoYXJhY3Rl
ckZvbnREYXRhLT5wbGF0Zm9ybURhdGEoKS5vcmllbnRhdGlvbigpID09IFZlcnRpY2FsICYmICFj
aGFyYWN0ZXJGb250RGF0YS0+aGFzVmVydGljYWxHbHlwaHMoKSAmJiBGb250Ojppc0NKS0lkZW9n
cmFwaE9yU3ltYm9sKGMpKQogICAgICAgICAgICAgdmFyaWFudCA9IEJyb2tlbklkZW9ncmFwaFZh
cmlhbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVl
dHlwZS9Gb250UGxhdGZvcm1EYXRhRnJlZVR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZnJlZXR5cGUvRm9udFBsYXRmb3JtRGF0YUZyZWVUeXBlLmNwcAppbmRleCA3
NjVmNzVlZjI3N2NjODE5N2I2M2FkZmVmOTI0Njk0MzQ5ZDE1MzUwLi4xZDRmMjRkM2EwOGUxZDU0
MmUzMTM0M2Q3NTQ5MmQ3ZDJjOGUxOWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9Gb250UGxhdGZvcm1EYXRhRnJlZVR5cGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL0ZvbnRQbGF0Zm9ybURh
dGFGcmVlVHlwZS5jcHAKQEAgLTM0Myw3ICszNDMsNyBAQCBib29sIEZvbnRQbGF0Zm9ybURhdGE6
Omhhc0NvbXBhdGlibGVDaGFybWFwKCkKIFBhc3NSZWZQdHI8T3BlblR5cGVWZXJ0aWNhbERhdGE+
IEZvbnRQbGF0Zm9ybURhdGE6OnZlcnRpY2FsRGF0YSgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGhh
c2goKSk7Ci0gICAgcmV0dXJuIGZvbnRDYWNoZSgpLT5nZXRWZXJ0aWNhbERhdGEoU3RyaW5nOjpu
dW1iZXIoaGFzaCgpKSwgKnRoaXMpOworICAgIHJldHVybiBmb250Q2FjaGUoKS5nZXRWZXJ0aWNh
bERhdGEoU3RyaW5nOjpudW1iZXIoaGFzaCgpKSwgKnRoaXMpOwogfQogCiBQYXNzUmVmUHRyPFNo
YXJlZEJ1ZmZlcj4gRm9udFBsYXRmb3JtRGF0YTo6b3BlblR5cGVUYWJsZSh1aW50MzJfdCB0YWJs
ZSkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lv
cy9TaW1wbGVGb250RGF0YUlPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2lvcy9TaW1wbGVGb250RGF0YUlPUy5tbQppbmRleCA3NzUwYzQ5ZTVjZTM0Yjk2ZDk1OTJjMjY0
NjEzMThkN2Y0OTUyZjFiLi4wYjE0MGUxZGJjZGY0ZmQ5MzVkMmY4ZjYzOThiODQ2NWRhNmEyNGRk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pb3MvU2ltcGxl
Rm9udERhdGFJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9z
L1NpbXBsZUZvbnREYXRhSU9TLm1tCkBAIC0xNTksNyArMTU5LDcgQEAgUGFzc1JlZlB0cjxTaW1w
bGVGb250RGF0YT4gU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtQ3JlYXRlU2NhbGVkRm9udERhdGEo
Y29uc3QgRm8KICAgICAgICAgc2NhbGVkRm9udERhdGEubV9zeW50aGV0aWNCb2xkID0gKGZvbnRU
cmFpdHMgJiBrQ1RGb250Qm9sZFRyYWl0KSAmJiAhKHNjYWxlZEZvbnRUcmFpdHMgJiBrQ1RGb250
VHJhaXRCb2xkKTsKICAgICAgICAgc2NhbGVkRm9udERhdGEubV9zeW50aGV0aWNPYmxpcXVlID0g
KGZvbnRUcmFpdHMgJiBrQ1RGb250SXRhbGljVHJhaXQpICYmICEoc2NhbGVkRm9udFRyYWl0cyAm
IGtDVEZvbnRUcmFpdEl0YWxpYyk7CiAKLSAgICAgICAgcmV0dXJuIGZvbnRDYWNoZSgpLT5nZXRD
YWNoZWRGb250RGF0YSgmc2NhbGVkRm9udERhdGEpOworICAgICAgICByZXR1cm4gZm9udENhY2hl
KCkuZ2V0Q2FjaGVkRm9udERhdGEoJnNjYWxlZEZvbnREYXRhKTsKICAgICB9CiAKICAgICByZXR1
cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXJDb3JlVGV4dC5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXJDb3JlVGV4dC5tbQppbmRl
eCA0NGMwMjk0ZmQ3N2MwZmY5YjI4YTM4MTFmZjcxOGIwY2NlMWYwMTFjLi5mZWE0OGRmOTFkOWE3
NjdmOGZhZjIzMzQ4YzE3OTE0M2MyYzM2ODkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyQ29yZVRleHQubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJv
bGxlckNvcmVUZXh0Lm1tCkBAIC0yNjksMTMgKzI2OSwxMyBAQCB2b2lkIENvbXBsZXhUZXh0Q29u
dHJvbGxlcjo6Y29sbGVjdENvbXBsZXhUZXh0UnVuc0ZvckNoYXJhY3RlcnMoY29uc3QgVUNoYXIq
IGNwLAogICAgICAgICAgICAgICAgICAgICAgICAgbV9jb21wbGV4VGV4dFJ1bnMuYXBwZW5kKENv
bXBsZXhUZXh0UnVuOjpjcmVhdGUobV9mb250LnByaW1hcnlGb250KCksIGNwLCBzdHJpbmdMb2Nh
dGlvbiArIHJ1blJhbmdlLmxvY2F0aW9uLCBydW5SYW5nZS5sZW5ndGgsIG1fcnVuLmx0cigpKSk7
CiAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICAg
fQotICAgICAgICAgICAgICAgICAgICBydW5Gb250RGF0YSA9IGZvbnRDYWNoZSgpLT5nZXRDYWNo
ZWRGb250RGF0YShtX2ZvbnQuZm9udERlc2NyaXB0aW9uKCksIGZvbnROYW1lLmdldCgpLCBmYWxz
ZSwgRm9udENhY2hlOjpEb05vdFJldGFpbikuZ2V0KCk7CisgICAgICAgICAgICAgICAgICAgIHJ1
bkZvbnREYXRhID0gZm9udENhY2hlKCkuZ2V0Q2FjaGVkRm9udERhdGEobV9mb250LmZvbnREZXNj
cmlwdGlvbigpLCBmb250TmFtZS5nZXQoKSwgZmFsc2UsIEZvbnRDYWNoZTo6RG9Ob3RSZXRhaW4p
LmdldCgpOwogI2lmICFQTEFURk9STShJT1MpCiAgICAgICAgICAgICAgICAgICAgIC8vIENvcmUg
VGV4dCBtYXkgaGF2ZSB1c2VkIGEgZm9udCB0aGF0IGlzIG5vdCBrbm93biB0byBOU0ZvbnRNYW5h
Z2VyLiBJbiB0aGF0IGNhc2UsIGZhbGwgYmFjayBvbgogICAgICAgICAgICAgICAgICAgICAvLyB1
c2luZyB0aGUgZm9udCBhcyByZXR1cm5lZCwgZXZlbiB0aG91Z2ggaXQgbWF5IG5vdCBoYXZlIHRo
ZSBiZXN0IE5TRm9udFJlbmRlcmluZ01vZGUuCiAgICAgICAgICAgICAgICAgICAgIGlmICghcnVu
Rm9udERhdGEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgIEZvbnRQbGF0Zm9ybURhdGEgcnVu
Rm9udFBsYXRmb3JtRGF0YSgoTlNGb250ICopcnVuRm9udCwgQ1RGb250R2V0U2l6ZShydW5Gb250
KSwgbV9mb250LmZvbnREZXNjcmlwdGlvbigpLnVzZVByaW50ZXJGb250KCkpOwotICAgICAgICAg
ICAgICAgICAgICAgICAgcnVuRm9udERhdGEgPSBmb250Q2FjaGUoKS0+Z2V0Q2FjaGVkRm9udERh
dGEoJnJ1bkZvbnRQbGF0Zm9ybURhdGEsIEZvbnRDYWNoZTo6RG9Ob3RSZXRhaW4pLmdldCgpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgcnVuRm9udERhdGEgPSBmb250Q2FjaGUoKS5nZXRDYWNo
ZWRGb250RGF0YSgmcnVuRm9udFBsYXRmb3JtRGF0YSwgRm9udENhY2hlOjpEb05vdFJldGFpbiku
Z2V0KCk7CiAgICAgICAgICAgICAgICAgICAgIH0KICNlbHNlCiAgICAgICAgICAgICAgICAgICAg
IC8vIEZJWE1FOiBKdXN0IGFzc2VydCBmb3Igbm93LCB1bnRpbCB3ZSBjYW4gZGV2aXNlIGEgYmV0
dGVyIGZpeCB0aGF0IHdvcmtzIHdpdGggaU9TLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDYWNoZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q2FjaGVNYWMubW0KaW5kZXggOTYzMWM1YWZiMWM1ZTAz
YTE3ZDQxNjI4ODhjYmM3MDM0OGRiZDdkOC4uNjkwMjFhNTEyNWZkZjU5NjQ0YWMwZGM5NjM3ZTA2
MTA2YjExNjcxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL0ZvbnRDYWNoZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9tYWMvRm9udENhY2hlTWFjLm1tCkBAIC01MSwxMiArNTEsMTIgQEAgc3RhdGljIHZvaWQgaW52
YWxpZGF0ZUZvbnRDYWNoZSh2b2lkKikKICAgICAgICAgY2FsbE9uTWFpblRocmVhZCgmaW52YWxp
ZGF0ZUZvbnRDYWNoZSwgMCk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgZm9udENhY2hl
KCktPmludmFsaWRhdGUoKTsKKyAgICBmb250Q2FjaGUoKS5pbnZhbGlkYXRlKCk7CiB9CiAKIHN0
YXRpYyB2b2lkIGZvbnRDYWNoZVJlZ2lzdGVyZWRGb250c0NoYW5nZWROb3RpZmljYXRpb25DYWxs
YmFjayhDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiwgdm9pZCogb2JzZXJ2ZXIsIENGU3RyaW5nUmVm
IG5hbWUsIGNvbnN0IHZvaWQgKiwgQ0ZEaWN0aW9uYXJ5UmVmKQogewotICAgIEFTU0VSVF9VTlVT
RUQob2JzZXJ2ZXIsIG9ic2VydmVyID09IGZvbnRDYWNoZSgpKTsKKyAgICBBU1NFUlRfVU5VU0VE
KG9ic2VydmVyLCBvYnNlcnZlciA9PSAmZm9udENhY2hlKCkpOwogICAgIEFTU0VSVF9VTlVTRUQo
bmFtZSwgQ0ZFcXVhbChuYW1lLCBrQ1RGb250TWFuYWdlclJlZ2lzdGVyZWRGb250c0NoYW5nZWRO
b3RpZmljYXRpb24pKTsKICAgICBpbnZhbGlkYXRlRm9udENhY2hlKDApOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhTWFj
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRh
TWFjLm1tCmluZGV4IGE4ZGQ1MGVlMzMwMTM0MWVlYjA1OTYxZmViMjUzZmQwZWJhMTc4YTMuLjMz
NDQ2NTc4ODdlM2NjZjc4NWMzNDI0NWU3MzcwODNlNzQ1MTZmOWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFNYWMu
bW0KQEAgLTI3NSwxMCArMjc1LDEwIEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtRGVz
dHJveSgpCiAgICAgaWYgKCFpc0N1c3RvbUZvbnQoKSAmJiBtX2Rlcml2ZWRGb250RGF0YSkgewog
ICAgICAgICAvLyBUaGVzZSBjb21lIGZyb20gdGhlIGNhY2hlLgogICAgICAgICBpZiAobV9kZXJp
dmVkRm9udERhdGEtPnNtYWxsQ2FwcykKLSAgICAgICAgICAgIGZvbnRDYWNoZSgpLT5yZWxlYXNl
Rm9udERhdGEobV9kZXJpdmVkRm9udERhdGEtPnNtYWxsQ2Fwcy5nZXQoKSk7CisgICAgICAgICAg
ICBmb250Q2FjaGUoKS5yZWxlYXNlRm9udERhdGEobV9kZXJpdmVkRm9udERhdGEtPnNtYWxsQ2Fw
cy5nZXQoKSk7CiAKICAgICAgICAgaWYgKG1fZGVyaXZlZEZvbnREYXRhLT5lbXBoYXNpc01hcmsp
Ci0gICAgICAgICAgICBmb250Q2FjaGUoKS0+cmVsZWFzZUZvbnREYXRhKG1fZGVyaXZlZEZvbnRE
YXRhLT5lbXBoYXNpc01hcmsuZ2V0KCkpOworICAgICAgICAgICAgZm9udENhY2hlKCkucmVsZWFz
ZUZvbnREYXRhKG1fZGVyaXZlZEZvbnREYXRhLT5lbXBoYXNpc01hcmsuZ2V0KCkpOwogICAgIH0K
IH0KIApAQCAtMzEzLDcgKzMxMyw3IEBAIFBhc3NSZWZQdHI8U2ltcGxlRm9udERhdGE+IFNpbXBs
ZUZvbnREYXRhOjpwbGF0Zm9ybUNyZWF0ZVNjYWxlZEZvbnREYXRhKGNvbnN0IEZvCiAgICAgICAg
IHNjYWxlZEZvbnREYXRhLm1fc3ludGhldGljT2JsaXF1ZSA9IChmb250VHJhaXRzICYgTlNJdGFs
aWNGb250TWFzaykgJiYgIShzY2FsZWRGb250VHJhaXRzICYgTlNJdGFsaWNGb250TWFzayk7CiAK
ICAgICAgICAgLy8gU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtRGVzdHJveSgpIHRha2VzIGNhcmUg
b2Ygbm90IGRlbGV0aW5nIHRoZSBjYWNoZWQgZm9udCBkYXRhIHR3aWNlLgotICAgICAgICByZXR1
cm4gZm9udENhY2hlKCktPmdldENhY2hlZEZvbnREYXRhKCZzY2FsZWRGb250RGF0YSk7CisgICAg
ICAgIHJldHVybiBmb250Q2FjaGUoKS5nZXRDYWNoZWRGb250RGF0YSgmc2NhbGVkRm9udERhdGEp
OwogICAgIH0KICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udENhY2hlV2luLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q2FjaGVXaW4uY3BwCmluZGV4
IDlmNmEyZTQyNzJjN2ZmZTFhNGZhZDYyNTA3MmZjZmQzNWQ4MTI0ZmUuLjQxMDIzYTgxMjYyY2Jj
YjgyNmE0ZTczMTg3OTQyMzc0YWNmMDNiNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q2FjaGVXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q2FjaGVXaW4uY3BwCkBAIC0xMzgsNyArMTM4LDcg
QEAgc3RhdGljIGNvbnN0IFZlY3RvcjxEV09SRCwgND4mIGdldENKS0NvZGVQYWdlTWFza3MoKQog
ICAgIHN0YXRpYyBib29sIGluaXRpYWxpemVkOwogICAgIGlmICghaW5pdGlhbGl6ZWQpIHsKICAg
ICAgICAgaW5pdGlhbGl6ZWQgPSB0cnVlOwotICAgICAgICBJTUxhbmdGb250TGlua1R5cGUqIGxh
bmdGb250TGluayA9IGZvbnRDYWNoZSgpLT5nZXRGb250TGlua0ludGVyZmFjZSgpOworICAgICAg
ICBJTUxhbmdGb250TGlua1R5cGUqIGxhbmdGb250TGluayA9IGZvbnRDYWNoZSgpLmdldEZvbnRM
aW5rSW50ZXJmYWNlKCk7CiAgICAgICAgIGlmICghbGFuZ0ZvbnRMaW5rKQogICAgICAgICAgICAg
cmV0dXJuIGNvZGVQYWdlTWFza3M7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFXaW4uY3BwCmluZGV4IDNmNTcwYzlk
MzEzYjc0ZDc4MGI3YzAxMDljYTk0MTg4M2I1NmM3YjMuLmZlZGQzZWRmMWNkNGQ4ZTQyYWEyNzQz
MTE0M2I1MTRhM2ZhNTg3ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhV2luLmNwcApAQCAtMTUyLDcgKzE1Miw3
IEBAIGJvb2wgU2ltcGxlRm9udERhdGE6OmNvbnRhaW5zQ2hhcmFjdGVycyhjb25zdCBVQ2hhciog
Y2hhcmFjdGVycywgaW50IGxlbmd0aCkgY29uCiAgICAgLy8gRklYTUU6IE1pY3Jvc29mdCBkb2N1
bWVudGF0aW9uIHNlZW1zIHRvIGltcGx5IHRoYXQgY2hhcmFjdGVycyBjYW4gYmUgb3V0cHV0IHVz
aW5nIGEgZ2l2ZW4gZm9udCBhbmQgREMKICAgICAvLyBtZXJlbHkgYnkgdGVzdGluZyBjb2RlIHBh
Z2UgaW50ZXJzZWN0aW9uLiAgVGhpcyBzZWVtcyBzdXNwZWN0IHRob3VnaC4gIENhbid0IGEgZm9u
dCBvbmx5IHBhcnRpYWxseQogICAgIC8vIGNvdmVyIGEgZ2l2ZW4gY29kZSBwYWdlPwotICAgIElN
TGFuZ0ZvbnRMaW5rVHlwZSogbGFuZ0ZvbnRMaW5rID0gZm9udENhY2hlKCktPmdldEZvbnRMaW5r
SW50ZXJmYWNlKCk7CisgICAgSU1MYW5nRm9udExpbmtUeXBlKiBsYW5nRm9udExpbmsgPSBmb250
Q2FjaGUoKS5nZXRGb250TGlua0ludGVyZmFjZSgpOwogICAgIGlmICghbGFuZ0ZvbnRMaW5rKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDYWNoZVdpbkNFLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbmNlL0ZvbnRDYWNoZVdpbkNFLmNwcAppbmRleCAxMzc0NDliMzhl
YjcwZGMyNDk0NzJmNmUyZGYxMzFjZGMwYjlmMjA4Li5mOWViZTRiZmI2NmRjNTdjMGI1Zjc5MTkw
MDBlOTk0ZDkzNzMyZTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW5jZS9Gb250Q2FjaGVXaW5DRS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luY2UvRm9udENhY2hlV2luQ0UuY3BwCkBAIC0xMjcsNyArMTI3LDcgQEAg
c3RhdGljIGNvbnN0IFZlY3RvcjxEV09SRCwgND4mIGdldENKS0NvZGVQYWdlTWFza3MoKQogICAg
IHN0YXRpYyBib29sIGluaXRpYWxpemVkOwogICAgIGlmICghaW5pdGlhbGl6ZWQpIHsKICAgICAg
ICAgaW5pdGlhbGl6ZWQgPSB0cnVlOwotICAgICAgICBJTUxhbmdGb250TGlua1R5cGUqIGxhbmdG
b250TGluayA9IGZvbnRDYWNoZSgpLT5nZXRGb250TGlua0ludGVyZmFjZSgpOworICAgICAgICBJ
TUxhbmdGb250TGlua1R5cGUqIGxhbmdGb250TGluayA9IGZvbnRDYWNoZSgpLmdldEZvbnRMaW5r
SW50ZXJmYWNlKCk7CiAgICAgICAgIGlmICghbGFuZ0ZvbnRMaW5rKQogICAgICAgICAgICAgcmV0
dXJuIGNvZGVQYWdlTWFza3M7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbmNlL0ZvbnRQbGF0Zm9ybURhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5jcHAKaW5kZXggZTg4ZDU4Mjc3
MGM3MjI5YzM0NjE5NDg1ZGUzMGU4ZDU1MWYwYTBlMC4uY2E2Y2E1Zjg2ODAyMzk4MTBiNWEyNDIz
MTQ4ZDU2NzFmMDE3YTU2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luY2UvRm9udFBsYXRmb3JtRGF0YS5jcHAKQEAgLTUzLDcgKzUzLDcg
QEAgcHVibGljOgogICAgIERXT1JEIGNvZGVQYWdlcygpIGNvbnN0CiAgICAgewogICAgICAgICBp
ZiAoIW1fY29kZVBhZ2VzKSB7Ci0gICAgICAgICAgICBpZiAoSU1MYW5nRm9udExpbmtUeXBlKiBs
YW5nRm9udExpbmsgPSBmb250Q2FjaGUoKS0+Z2V0Rm9udExpbmtJbnRlcmZhY2UoKSkKKyAgICAg
ICAgICAgIGlmIChJTUxhbmdGb250TGlua1R5cGUqIGxhbmdGb250TGluayA9IGZvbnRDYWNoZSgp
LmdldEZvbnRMaW5rSW50ZXJmYWNlKCkpCiAgICAgICAgICAgICAgICAgbGFuZ0ZvbnRMaW5rLT5D
b2RlUGFnZVRvQ29kZVBhZ2VzKG1fY29kZVBhZ2UsICZtX2NvZGVQYWdlcyk7CiAgICAgICAgIH0K
ICAgICAgICAgcmV0dXJuIG1fY29kZVBhZ2VzOwpAQCAtMjYyLDcgKzI2Miw3IEBAIFBhc3NSZWZQ
dHI8Rml4ZWRTaXplRm9udERhdGE+IEZpeGVkU2l6ZUZvbnREYXRhOjpjcmVhdGUoY29uc3QgQXRv
bWljU3RyaW5nJiBmYW1pCiAKICAgICBHZXRUZXh0TWV0cmljcyhnX3NjcmVlbkRDLCAmZm9udERh
dGEtPm1fbWV0cmljcyk7CiAKLSAgICBpZiAoSU1MYW5nRm9udExpbmtUeXBlKiBsYW5nRm9udExp
bmsgPSBmb250Q2FjaGUoKS0+Z2V0Rm9udExpbmtJbnRlcmZhY2UoKSkgeworICAgIGlmIChJTUxh
bmdGb250TGlua1R5cGUqIGxhbmdGb250TGluayA9IGZvbnRDYWNoZSgpLmdldEZvbnRMaW5rSW50
ZXJmYWNlKCkpIHsKICAgICAgICAgbGFuZ0ZvbnRMaW5rLT5HZXRGb250Q29kZVBhZ2VzKGdfc2Ny
ZWVuREMsIGZvbnREYXRhLT5tX2hmb250LmdldCgpLCAmZm9udERhdGEtPm1fY29kZVBhZ2VzKTsK
ICAgICAgICAgZm9udERhdGEtPm1fY29kZVBhZ2VzIHw9IEZvbnRQbGF0Zm9ybURhdGE6OmdldEtu
b3duRm9udENvZGVQYWdlcyh3aW5Gb250LmxmRmFjZU5hbWUpOwogICAgIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dseXBoUGFnZVRyZWVOb2Rl
V2luQ0UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR2x5cGhQ
YWdlVHJlZU5vZGVXaW5DRS5jcHAKaW5kZXggMDI1Njg5Y2M1MWY3YzcyYzA5OWFiNzRhMjc2YzZl
NDYzZGYwMzIxNC4uOGRjNTVmNDI4ZjRhNGMyOWRmN2I4YTk3MWFmNjFkNGMyYzYyZTRmMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR2x5cGhQYWdl
VHJlZU5vZGVXaW5DRS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luY2UvR2x5cGhQYWdlVHJlZU5vZGVXaW5DRS5jcHAKQEAgLTUxLDcgKzUxLDcgQEAgYm9vbCBH
bHlwaFBhZ2U6OmZpbGwodW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25lZCBsZW5ndGgsIFVDaGFyKiBi
dWZmZXIsIHVuc2lnbmVkIGIKICAgICAgICAgICAgICAgICAgICAgICAgIHNldEdseXBoRGF0YUZv
ckluZGV4KG9mZnNldCArIGksIDAsIDApOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAoSU1MYW5nRm9udExpbmtU
eXBlKiBsYW5nRm9udExpbmsgPSBmb250Q2FjaGUoKS0+Z2V0Rm9udExpbmtJbnRlcmZhY2UoKSkg
eworICAgICAgICAgICAgfSBlbHNlIGlmIChJTUxhbmdGb250TGlua1R5cGUqIGxhbmdGb250TGlu
ayA9IGZvbnRDYWNoZSgpLmdldEZvbnRMaW5rSW50ZXJmYWNlKCkpIHsKICAgICAgICAgICAgICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgYnVmZmVyTGVuZ3RoOyArK2kpIHsKICAgICAgICAg
ICAgICAgICAgICAgRFdPUkQgYWN0dWFsQ29kZVBhZ2VzOwogICAgICAgICAgICAgICAgICAgICBs
YW5nRm9udExpbmstPkdldENoYXJDb2RlUGFnZXMoYnVmZmVyW2ldLCAmYWN0dWFsQ29kZVBhZ2Vz
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL1Np
bXBsZUZvbnREYXRhV2luQ0UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luY2UvU2ltcGxlRm9udERhdGFXaW5DRS5jcHAKaW5kZXggZjA3NWNjYmM3NGM1NjZjN2Q0YzBi
N2EwZGI5YzUwZWE0NTE3NTcwMS4uYmNiOGY4Y2M3ZjNmMDc4ZTliN2RhNzM4OWY0YWE2ZWU1NGNh
OGQ5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2Uv
U2ltcGxlRm9udERhdGFXaW5DRS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luY2UvU2ltcGxlRm9udERhdGFXaW5DRS5jcHAKQEAgLTY5LDcgKzY5LDcgQEAgUGFz
c1JlZlB0cjxTaW1wbGVGb250RGF0YT4gU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtQ3JlYXRlU2Nh
bGVkRm9udERhdGEoY29uc3QgRm8KICAgICBmb250RGVzYy5zZXRDb21wdXRlZFNpemUobHJvdW5k
ZihzY2FsZUZhY3RvciAqIGZvbnREZXNjLmNvbXB1dGVkU2l6ZSgpKSk7CiAgICAgZm9udERlc2Mu
c2V0U3BlY2lmaWVkU2l6ZShscm91bmRmKHNjYWxlRmFjdG9yICogZm9udERlc2Muc3BlY2lmaWVk
U2l6ZSgpKSk7CiAgICAgZm9udERlc2Muc2V0S2V5d29yZFNpemUobHJvdW5kZihzY2FsZUZhY3Rv
ciAqIGZvbnREZXNjLmtleXdvcmRTaXplKCkpKTsKLSAgICBGb250UGxhdGZvcm1EYXRhKiByZXN1
bHQgPSBmb250Q2FjaGUoKS0+Z2V0Q2FjaGVkRm9udFBsYXRmb3JtRGF0YShmb250RGVzYywgbV9w
bGF0Zm9ybURhdGEuZmFtaWx5KCkpOworICAgIEZvbnRQbGF0Zm9ybURhdGEqIHJlc3VsdCA9IGZv
bnRDYWNoZSgpLmdldENhY2hlZEZvbnRQbGF0Zm9ybURhdGEoZm9udERlc2MsIG1fcGxhdGZvcm1E
YXRhLmZhbWlseSgpKTsKICAgICBpZiAoIXJlc3VsdCkKICAgICAgICAgcmV0dXJuIDA7CiAgICAg
cmV0dXJuIFNpbXBsZUZvbnREYXRhOjpjcmVhdGUoKnJlc3VsdCk7CkBAIC04Nyw3ICs4Nyw3IEBA
IGJvb2wgU2ltcGxlRm9udERhdGE6OmNvbnRhaW5zQ2hhcmFjdGVycyhjb25zdCBVQ2hhciogY2hh
cmFjdGVycywgaW50IGxlbmd0aCkgY29uCiAgICAgLy8gY292ZXIgYSBnaXZlbiBjb2RlIHBhZ2U/
CiAKICAgICAvLyBGSVhNRTogaW4gdGhlIGNhc2UgdGhhdCB3ZSBmYWlsZWQgdG8gZ2V0IHRoZSBp
bnRlcmZhY2UsIHN0aWxsIHVzZSB0aGUgZm9udC4KLSAgICBJTUxhbmdGb250TGlua1R5cGUqIGxh
bmdGb250TGluayA9IGZvbnRDYWNoZSgpLT5nZXRGb250TGlua0ludGVyZmFjZSgpOworICAgIElN
TGFuZ0ZvbnRMaW5rVHlwZSogbGFuZ0ZvbnRMaW5rID0gZm9udENhY2hlKCkuZ2V0Rm9udExpbmtJ
bnRlcmZhY2UoKTsKICAgICBpZiAoIWxhbmdGb250TGluaykKICAgICAgICAgcmV0dXJuIHRydWU7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfc2V0dGluZ3MuY3BwIGIv
U291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19zZXR0aW5ncy5jcHAKaW5kZXggMjA5ZDRmNWI0NTBl
MjAwN2QzMmVhZWY2OTI1ODQxODc4NDgzZTViOC4uNzJkMDY2MTllZTE3ZTMxMmEyYmI5MTUyZDBj
MWJhNjkyZmNkMjNhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19zZXR0
aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19zZXR0aW5ncy5jcHAKQEAg
LTI3OSw3ICsyNzksNyBAQCB2b2lkIGV3a19zZXR0aW5nc19tZW1vcnlfY2FjaGVfY2xlYXIoKQog
ICAgIFdlYkNvcmU6OnBhZ2VDYWNoZSgpLT5zZXRDYXBhY2l0eShwYWdlQ2FwYWNpdHkpOwogCiAg
ICAgLy8gSW52YWxpZGF0aW5nIHRoZSBmb250IGNhY2hlIGFuZCBmcmVlaW5nIGFsbCBpbmFjdGl2
ZSBmb250IGRhdGEuCi0gICAgV2ViQ29yZTo6Zm9udENhY2hlKCktPmludmFsaWRhdGUoKTsKKyAg
ICBXZWJDb3JlOjpmb250Q2FjaGUoKS5pbnZhbGlkYXRlKCk7CiAKICAgICAvLyBFbXB0eSB0aGUg
Q3Jvc3MtT3JpZ2luIFByZWZsaWdodCBjYWNoZQogICAgIFdlYkNvcmU6OkNyb3NzT3JpZ2luUHJl
ZmxpZ2h0UmVzdWx0Q2FjaGU6OnNoYXJlZCgpLmVtcHR5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2lvcy9NaXNjL0Vtb2ppRmFsbGJhY2tGb250U2VsZWN0b3IuY3BwIGIvU291cmNlL1dl
YktpdC9pb3MvTWlzYy9FbW9qaUZhbGxiYWNrRm9udFNlbGVjdG9yLmNwcAppbmRleCBmNDY0YTdm
YmE0ODc4YWYyM2RhOGFhMDZlYzQxZjM2MGY0NWQyZmMyLi5lNGJlNmE2NGYyNmJlNGQzZTQ4MDJl
N2Q1NzY4ZWU1MWE0N2MwYmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2lvcy9NaXNjL0Vt
b2ppRmFsbGJhY2tGb250U2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvaW9zL01pc2Mv
RW1vamlGYWxsYmFja0ZvbnRTZWxlY3Rvci5jcHAKQEAgLTM3LDEwICszNywxMCBAQCB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIFBhc3NSZWZQdHI8Rm9udERhdGE+IEVtb2ppRmFsbGJhY2tGb250
U2VsZWN0b3I6OmdldEZhbGxiYWNrRm9udERhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250
RGVzY3JpcHRpb24sIHNpemVfdCkKIHsKICAgICBERVBSRUNBVEVEX0RFRklORV9TVEFUSUNfTE9D
QUwoQXRvbWljU3RyaW5nLCBhcHBsZUNvbG9yRW1vamksICgiQXBwbGUgQ29sb3IgRW1vamkiKSk7
Ci0gICAgUmVmUHRyPEZvbnREYXRhPiBmb250RGF0YSA9IGZvbnRDYWNoZSgpLT5nZXRDYWNoZWRG
b250RGF0YShmb250RGVzY3JpcHRpb24sIGFwcGxlQ29sb3JFbW9qaSk7CisgICAgUmVmUHRyPEZv
bnREYXRhPiBmb250RGF0YSA9IGZvbnRDYWNoZSgpLmdldENhY2hlZEZvbnREYXRhKGZvbnREZXNj
cmlwdGlvbiwgYXBwbGVDb2xvckVtb2ppKTsKICAgICBpZiAoIWZvbnREYXRhKSB7CiAgICAgICAg
IExPR19FUlJPUigiRmFpbGVkIHRvIGdldCBcIkFwcGxlIENvbG9yIEVtb2ppXCIgZnJvbSB0aGUg
Zm9udCBjYWNoZS4gVXNpbmcgdGhlIGxhc3QgcmVzb3J0IGZhbGxiYWNrIGZvbnQgaW5zdGVhZC4i
KTsKLSAgICAgICAgZm9udERhdGEgPSBmb250Q2FjaGUoKS0+Z2V0TGFzdFJlc29ydEZhbGxiYWNr
Rm9udChmb250RGVzY3JpcHRpb24pOworICAgICAgICBmb250RGF0YSA9IGZvbnRDYWNoZSgpLmdl
dExhc3RSZXNvcnRGYWxsYmFja0ZvbnQoZm9udERlc2NyaXB0aW9uKTsKICAgICB9CiAKICAgICBy
ZXR1cm4gZm9udERhdGEucmVsZWFzZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
TWlzYy9XZWJDb3JlU3RhdGlzdGljcy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViQ29y
ZVN0YXRpc3RpY3MubW0KaW5kZXggMDY1Zjc5M2RlN2U5YjJiMmNhMjg1MzcyZDhmNDU3MDZmM2Q2
MjZlOC4uYzNkNmE3M2UzYTNiNWQ2ZWJjYzQzMGVmOGVjNDNkZTcwZGY4NGIyNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJDb3JlU3RhdGlzdGljcy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9NaXNjL1dlYkNvcmVTdGF0aXN0aWNzLm1tCkBAIC0xNDcsMTcgKzE0Nywx
NyBAQCArIChzaXplX3QpaWNvbnNXaXRoRGF0YUNvdW50CiAKICsgKHNpemVfdCljYWNoZWRGb250
RGF0YUNvdW50CiB7Ci0gICAgcmV0dXJuIGZvbnRDYWNoZSgpLT5mb250RGF0YUNvdW50KCk7Cisg
ICAgcmV0dXJuIGZvbnRDYWNoZSgpLmZvbnREYXRhQ291bnQoKTsKIH0KIAogKyAoc2l6ZV90KWNh
Y2hlZEZvbnREYXRhSW5hY3RpdmVDb3VudAogewotICAgIHJldHVybiBmb250Q2FjaGUoKS0+aW5h
Y3RpdmVGb250RGF0YUNvdW50KCk7CisgICAgcmV0dXJuIGZvbnRDYWNoZSgpLmluYWN0aXZlRm9u
dERhdGFDb3VudCgpOwogfQogCiArICh2b2lkKXB1cmdlSW5hY3RpdmVGb250RGF0YQogewotICAg
IGZvbnRDYWNoZSgpLT5wdXJnZUluYWN0aXZlRm9udERhdGEoKTsKKyAgICBmb250Q2FjaGUoKS5w
dXJnZUluYWN0aXZlRm9udERhdGEoKTsKIH0KIAogKyAoc2l6ZV90KWdseXBoUGFnZUNvdW50CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggNmE5NDY5NWMzZTg2ZTU2M2YzZWM5
YjI3MGNhYjljZjkyMjk3MzU0ZS4uZGI4NDJkYzY4NjNjNjM3MTFkNDA1OGFjNTc4MjUwMGJlNTdi
YjQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMTMyMyw3ICsxMzIz
LDcgQEAgKyAodm9pZClwdXJnZUluYWN0aXZlRm9udERhdGEKIHsKICAgICBBU1NFUlQoV2ViVGhy
ZWFkSXNDdXJyZW50KCkpOwogICAgIFdlYktpdDo6TWVtb3J5TWVhc3VyZSBtZWFzdXJlcigiTWVt
b3J5IHdhcm5pbmc6IFB1cmdpbmcgaW5hY3RpdmUgZm9udCBkYXRhLiIpOwotICAgIGZvbnRDYWNo
ZSgpLT5wdXJnZUluYWN0aXZlRm9udERhdGEoKTsKKyAgICBmb250Q2FjaGUoKS5wdXJnZUluYWN0
aXZlRm9udERhdGEoKTsKIH0KIAogKyAodm9pZClkcmFpbkxheWVyUG9vbApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN0YXRpc3RpY3MuY3BwIGIvU291cmNlL1dlYktpdC93
aW4vV2ViQ29yZVN0YXRpc3RpY3MuY3BwCmluZGV4IDFiODM5MjVlNzRmYTViYjM0ODlmYWUzMzJj
N2FiOGJjYzllMDg1NDYuLmFjODZlMjliMjhhYTNjMzZjOWRkMGYwZTYxZmU0ODlmNDNmZWM0MmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdGF0aXN0aWNzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3RhdGlzdGljcy5jcHAKQEAgLTE5Myw3ICsxOTMs
NyBAQCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYkNvcmVTdGF0aXN0aWNzOjpjYWNoZWRG
b250RGF0YUNvdW50KAogewogICAgIGlmICghY291bnQpCiAgICAgICAgIHJldHVybiBFX1BPSU5U
RVI7Ci0gICAgKmNvdW50ID0gKFVJTlQpIGZvbnRDYWNoZSgpLT5mb250RGF0YUNvdW50KCk7Cisg
ICAgKmNvdW50ID0gKFVJTlQpIGZvbnRDYWNoZSgpLmZvbnREYXRhQ291bnQoKTsKICAgICByZXR1
cm4gU19PSzsKIH0KIApAQCAtMjAyLDEzICsyMDIsMTMgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxM
VFlQRSBXZWJDb3JlU3RhdGlzdGljczo6Y2FjaGVkRm9udERhdGFJbmFjdGl2ZUNvdW50KAogewog
ICAgIGlmICghY291bnQpCiAgICAgICAgIHJldHVybiBFX1BPSU5URVI7Ci0gICAgKmNvdW50ID0g
KFVJTlQpIGZvbnRDYWNoZSgpLT5pbmFjdGl2ZUZvbnREYXRhQ291bnQoKTsKKyAgICAqY291bnQg
PSAoVUlOVCkgZm9udENhY2hlKCkuaW5hY3RpdmVGb250RGF0YUNvdW50KCk7CiAgICAgcmV0dXJu
IFNfT0s7CiB9CiAKIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViQ29yZVN0YXRpc3RpY3M6
OnB1cmdlSW5hY3RpdmVGb250RGF0YSh2b2lkKQogewotICAgIGZvbnRDYWNoZSgpLT5wdXJnZUlu
YWN0aXZlRm9udERhdGEoKTsKKyAgICBmb250Q2FjaGUoKS5wdXJnZUluYWN0aXZlRm9udERhdGEo
KTsKICAgICByZXR1cm4gU19PSzsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHAKaW5kZXggNzNmMGViZDFkM2E5ODFkZGE2YmRhYjdlOTM3MjY3NWU5NWUzZTBjOS4u
ZTI2ZWYxNWI1ZmU3ZWY3OGE3Y2VkYWZhYzNiNTEwM2M0ZTFhODZjYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC01NjQsNyArNTY0LDcgQEAgdm9pZCBXZWJQ
cm9jZXNzOjp0ZXJtaW5hdGUoKQogewogI2lmbmRlZiBOREVCVUcKICAgICBnY0NvbnRyb2xsZXIo
KS5nYXJiYWdlQ29sbGVjdE5vdygpOwotICAgIGZvbnRDYWNoZSgpLT5pbnZhbGlkYXRlKCk7Cisg
ICAgZm9udENhY2hlKCkuaW52YWxpZGF0ZSgpOwogICAgIG1lbW9yeUNhY2hlKCktPnNldERpc2Fi
bGVkKHRydWUpOwogI2VuZGlmCiAKQEAgLTYxNyw3ICs2MTcsNyBAQCB2b2lkIFdlYlByb2Nlc3M6
OmRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiopCiAgICAgcGFnZXMuY2xlYXIoKTsKIAogICAgIGdj
Q29udHJvbGxlcigpLmdhcmJhZ2VDb2xsZWN0U29vbigpOwotICAgIGZvbnRDYWNoZSgpLT5pbnZh
bGlkYXRlKCk7CisgICAgZm9udENhY2hlKCkuaW52YWxpZGF0ZSgpOwogICAgIG1lbW9yeUNhY2hl
KCktPnNldERpc2FibGVkKHRydWUpOwogI2VuZGlmICAgIAogCkBAIC04OTgsOCArODk4LDggQEAg
dm9pZCBXZWJQcm9jZXNzOjpnZXRXZWJDb3JlU3RhdGlzdGljcyh1aW50NjRfdCBjYWxsYmFja0lE
KQogICAgIGRhdGEuc3RhdGlzdGljc051bWJlcnMuc2V0KEFTQ0lJTGl0ZXJhbCgiSWNvbnNXaXRo
RGF0YUNvdW50IiksIGljb25EYXRhYmFzZSgpLmljb25SZWNvcmRDb3VudFdpdGhEYXRhKCkpOwog
ICAgIAogICAgIC8vIEdhdGhlciBmb250IHN0YXRpc3RpY3MuCi0gICAgZGF0YS5zdGF0aXN0aWNz
TnVtYmVycy5zZXQoQVNDSUlMaXRlcmFsKCJDYWNoZWRGb250RGF0YUNvdW50IiksIGZvbnRDYWNo
ZSgpLT5mb250RGF0YUNvdW50KCkpOwotICAgIGRhdGEuc3RhdGlzdGljc051bWJlcnMuc2V0KEFT
Q0lJTGl0ZXJhbCgiQ2FjaGVkRm9udERhdGFJbmFjdGl2ZUNvdW50IiksIGZvbnRDYWNoZSgpLT5p
bmFjdGl2ZUZvbnREYXRhQ291bnQoKSk7CisgICAgZGF0YS5zdGF0aXN0aWNzTnVtYmVycy5zZXQo
QVNDSUlMaXRlcmFsKCJDYWNoZWRGb250RGF0YUNvdW50IiksIGZvbnRDYWNoZSgpLmZvbnREYXRh
Q291bnQoKSk7CisgICAgZGF0YS5zdGF0aXN0aWNzTnVtYmVycy5zZXQoQVNDSUlMaXRlcmFsKCJD
YWNoZWRGb250RGF0YUluYWN0aXZlQ291bnQiKSwgZm9udENhY2hlKCkuaW5hY3RpdmVGb250RGF0
YUNvdW50KCkpOwogICAgIAogICAgIC8vIEdhdGhlciBnbHlwaCBwYWdlIHN0YXRpc3RpY3MuCiAg
ICAgZGF0YS5zdGF0aXN0aWNzTnVtYmVycy5zZXQoQVNDSUlMaXRlcmFsKCJHbHlwaFBhZ2VDb3Vu
dCIpLCBHbHlwaFBhZ2VUcmVlTm9kZTo6dHJlZUdseXBoUGFnZUNvdW50KCkpOwo=
</data>
<flag name="review"
          id="254426"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>