<?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>144141</bug_id>
          
          <creation_ts>2015-04-23 22:20:44 -0700</creation_ts>
          <short_desc>[Cocoa] Remove a CTFontRef from FontPlatformData</short_desc>
          <delta_ts>2019-11-15 15:14:14 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>167068</dup_id>
          
          <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>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1088181</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-04-23 22:20:44 -0700</bug_when>
    <thetext>Remove a CTFontRef from FontPlatformData</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1088182</commentid>
    <comment_count>1</comment_count>
      <attachid>251537</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-04-23 22:22:04 -0700</bug_when>
    <thetext>Created attachment 251537
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1590692</commentid>
    <comment_count>2</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-11-15 15:14:14 -0800</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 167068 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251537</attachid>
            <date>2015-04-23 22:22:04 -0700</date>
            <delta_ts>2015-04-23 22:22:04 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-144141-20150423222059.patch</filename>
            <type>text/plain</type>
            <size>40041</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzMjA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTM3MGVjNWMxYTEzZTgz
NmM5MGI0MTU0YzU2NGJjNmVhYTEwNzM1MC4uYTUyNGFmOTYwMzUzNjA0MGY3MDlkMTE2NjEwZDg4
NzE5YjcxYmY2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDE1LTA0LTIzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGEg
Q1RGb250UmVmIGZyb20gRm9udFBsYXRmb3JtRGF0YQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0MTQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMgbm8g
YmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICogZWRpdGluZy9jb2NvYS9IVE1MQ29udmVydGVy
Lm1tOgorICAgICAgICAoX2ZvbnQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQ
bGF0Zm9ybURhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6Rm9u
dFBsYXRmb3JtRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpoYXNo
KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6Om9wZXJhdG9yPT0pOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuaDoKKyAgICAgICAgKFdl
YkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6OmZvbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBs
YXRmb3JtRGF0YTo6Y3RGb250KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6
OnBhcnRpYWxIYXNoKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6Om5zRm9u
dCk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjppc0hhc2hUYWJsZURlbGV0
ZWRWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjppc1ZhbGlkQ1RG
b250UmVmKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6Omhhc2gpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6b3BlcmF0b3I9PSk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpoYXNoVGFibGVEZWxl
dGVkRm9udFZhbHVlKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9Gb250Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpGb250OjpwbGF0Zm9ybUNyZWF0ZVNj
YWxlZEZvbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6cGxhdGZvcm1XaWR0aEZvckdseXBo
KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmNhblJlbmRlckNvbWJpbmluZ0NoYXJhY3RlclNl
cXVlbmNlKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmNvbXBvc2l0ZUZvbnRSZWZlcmVuY2VG
b250KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRh
Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpjYWxjdWxhdGVGb250SGFzaCk6CisgICAgICAg
IChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKToKKyAgICAgICAg
KFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6On5Gb250UGxhdGZvcm1EYXRhKToKKyAgICAgICAg
KFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6OnBsYXRmb3JtRGF0YUluaXQpOgorICAgICAgICAo
V2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6cGxhdGZvcm1EYXRhQXNzaWduKToKKyAgICAgICAg
KFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6OnBsYXRmb3JtSXNFcXVhbCk6CisgICAgICAgIChX
ZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpyb3VuZHNHbHlwaEFkdmFuY2VzKToKKyAgICAgICAg
KFdlYkNvcmU6OkZvbnRQbGF0Zm9ybURhdGE6OmFsbG93c0xpZ2F0dXJlcyk6CisgICAgICAgIChX
ZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjp1c2VkRm9udFNpemUpOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9udFBsYXRmb3JtRGF0YTo6Y2FsY3VsYXRlQ1RGb250KToKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRQbGF0Zm9ybURhdGE6OnNldEZvbnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
Rm9udFBsYXRmb3JtRGF0YTo6Y3RGb250KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkZv
bnRQbGF0Zm9ybURhdGE6Om9iamVjdEZvckVxdWFsaXR5Q2hlY2spOiBEZWxldGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXJDb3JlVGV4dC5t
bToKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBsZXhUZXh0Q29udHJvbGxlcjo6Y29sbGVjdENvbXBs
ZXhUZXh0UnVuc0ZvckNoYXJhY3RlcnMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21h
Yy9Gb250Q2FjaGVNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FjaGU6OnN5c3RlbUZh
bGxiYWNrRm9yQ2hhcmFjdGVycyk6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FjaGU6OmNyZWF0
ZUZvbnRQbGF0Zm9ybURhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9HbHlw
aFBhZ2VNYWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R2x5cGhQYWdlOjpmaWxsKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpGb250OjpnZXRDRlN0cmluZ0F0dHJpYnV0ZXMpOgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9EcmFnSW1hZ2VNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpmb250RnJv
bU5TRm9udCk6CisgICAgICAgIChXZWJDb3JlOjp3aWR0aFdpdGhGb250KToKKyAgICAgICAgKFdl
YkNvcmU6OmRyYXdBdFBvaW50KToKKwogMjAxNS0wNC0yMiAgQWxleGV5IFByb3NrdXJ5YWtvdiAg
PGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBXZWJLaXQgc2VydmljZXMgc2hvdWxkIGlu
aGVyaXQgZW52aXJvbm1lbnQgdmFyaWFibGVzIGZvciBob21lCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXgg
OGU2Yjk2Zjg5NDRkY2RlZTIxMWM4ODcwZDY1Mjc2MTA2MGY1MWJjYS4uMzMyMGQ5MjZlM2Y1MmYy
N2YxZTFlYzYwMzM3NmQ1ZjY4MzBiZGVhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDE1LTA0LTIzICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+
CisKKyAgICAgICAgUmVtb3ZlIGEgQ1RGb250UmVmIGZyb20gRm9udFBsYXRmb3JtRGF0YQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0MTQxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNaXNjL1dlYktp
dE5TU3RyaW5nRXh0cmFzLm1tOgorICAgICAgICAoLVtOU1N0cmluZyBfd2ViX2RyYXdBdFBvaW50
OmZvbnQ6dGV4dENvbG9yOmFsbG93aW5nRm9udFNtb290aGluZzpdKToKKyAgICAgICAgKC1bTlNT
dHJpbmcgX3dlYl93aWR0aFdpdGhGb250Ol0pOgorICAgICAgICAqIE1pc2MvV2ViU3RyaW5nVHJ1
bmNhdG9yLm1tOgorICAgICAgICAoZm9udEZyb21OU0ZvbnQpOgorCiAyMDE1LTA0LTIzICBBbmRy
ZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBUaGVyZSBzaG91bGQgb25s
eSBiZSBvbmUgd2F5IHRvIGdldCB0aGUgc3lzdGVtIG1lbW9yeSBzaXplLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9jb2NvYS9IVE1MQ29udmVydGVyLm1tIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9jb2NvYS9IVE1MQ29udmVydGVyLm1tCmluZGV4IDcxZGUzM2NmMWY0NzA3
Y2VhZjM5NjI3ZGNkY2QxNDE1NjJiMzg5YTUuLjg2MmYzYjBkZWJkY2Q3ZTZhZTJiOTlkNGRlNjQw
ZGIxMGYxZTM2MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvY29jb2EvSFRN
TENvbnZlcnRlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2NvY29hL0hUTUxDb252
ZXJ0ZXIubW0KQEAgLTExMTAsMTMgKzExMTAsMTMgQEAgUGxhdGZvcm1Db2xvciAqSFRNTENvbnZl
cnRlcjo6X2NvbG9yRm9yRWxlbWVudChFbGVtZW50JiBlbGVtZW50LCBDU1NQcm9wZXJ0eUlEIHAK
ICAgICByZXR1cm4gcGxhdGZvcm1SZXN1bHQ7CiB9CiAKLSNpZiAhUExBVEZPUk0oSU9TKQorI2lm
IFBMQVRGT1JNKElPUykKIHN0YXRpYyBQbGF0Zm9ybUZvbnQgKl9mb250KEVsZW1lbnQmIGVsZW1l
bnQpCiB7CiAgICAgYXV0byByZW5kZXJlciA9IGVsZW1lbnQucmVuZGVyZXIoKTsKICAgICBpZiAo
IXJlbmRlcmVyKQogICAgICAgICByZXR1cm4gbmlsOwotICAgIHJldHVybiByZW5kZXJlci0+c3R5
bGUoKS5mb250Q2FzY2FkZSgpLnByaW1hcnlGb250KCkuZ2V0TlNGb250KCk7CisgICAgcmV0dXJu
IChQbGF0Zm9ybUZvbnQgKilyZW5kZXJlci0+c3R5bGUoKS5mb250Q2FzY2FkZSgpLnByaW1hcnlG
b250KCkuZ2V0Q1RGb250KCk7CiB9CiAjZWxzZQogc3RhdGljIFBsYXRmb3JtRm9udCAqX2ZvbnQo
RWxlbWVudCYgZWxlbWVudCkKQEAgLTExMjQsNyArMTEyNCw3IEBAIHN0YXRpYyBQbGF0Zm9ybUZv
bnQgKl9mb250KEVsZW1lbnQmIGVsZW1lbnQpCiAgICAgYXV0byByZW5kZXJlciA9IGVsZW1lbnQu
cmVuZGVyZXIoKTsKICAgICBpZiAoIXJlbmRlcmVyKQogICAgICAgICByZXR1cm4gbmlsOwotICAg
IHJldHVybiAoUGxhdGZvcm1Gb250ICopcmVuZGVyZXItPnN0eWxlKCkuZm9udENhc2NhZGUoKS5w
cmltYXJ5Rm9udCgpLmdldENURm9udCgpOworICAgIHJldHVybiByZW5kZXJlci0+c3R5bGUoKS5m
b250Q2FzY2FkZSgpLnByaW1hcnlGb250KCkuZ2V0TlNGb250KCk7CiB9CiAjZW5kaWYKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0
YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRh
LmNwcAppbmRleCAzMDNlZmIyM2UzZDA1YTc4NWZiNGFjZGFhZTZkNzc3MzMwNmFlMWJiLi4yNTAx
NGI2ZjRiN2U5MjBiOWM0Y2I0Yzc0NmZiNDUwNjg4ODEwZTk4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmNwcApAQCAtNjAs
MjYgKzYwLDIyIEBAIEZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEoZmxvYXQgc2l6
ZSwgYm9vbCBzeW50aGV0aWNCb2xkLCBib29sIHN5bnRoZXRpCiB9CiAKICNpZiBVU0UoQ0cpCi1G
b250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKENHRm9udFJlZiBjZ0ZvbnQsIGZsb2F0
IHNpemUsIGJvb2wgc3ludGhldGljQm9sZCwgYm9vbCBzeW50aGV0aWNPYmxpcXVlLCBGb250T3Jp
ZW50YXRpb24gb3JpZW50YXRpb24sIEZvbnRXaWR0aFZhcmlhbnQgd2lkdGhWYXJpYW50KQotICAg
IDogbV9zeW50aGV0aWNCb2xkKHN5bnRoZXRpY0JvbGQpCi0gICAgLCBtX3N5bnRoZXRpY09ibGlx
dWUoc3ludGhldGljT2JsaXF1ZSkKLSAgICAsIG1fb3JpZW50YXRpb24ob3JpZW50YXRpb24pCi0g
ICAgLCBtX3NpemUoc2l6ZSkKLSAgICAsIG1fd2lkdGhWYXJpYW50KHdpZHRoVmFyaWFudCkKLSAg
ICAsIG1fY2dGb250KGNnRm9udCkKK0ZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQbGF0Zm9ybURhdGEo
UmV0YWluUHRyPENHRm9udFJlZj4gY2dGb250LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0Jv
bGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBG
b250V2lkdGhWYXJpYW50IHdpZHRoVmFyaWFudCkKKyAgICA6IEZvbnRQbGF0Zm9ybURhdGEoc2l6
ZSwgc3ludGhldGljQm9sZCwgc3ludGhldGljT2JsaXF1ZSwgb3JpZW50YXRpb24sIHdpZHRoVmFy
aWFudCkKIHsKKyAgICBtX2NnRm9udCA9IGNnRm9udDsKKworI2lmIFBMQVRGT1JNKENPQ09BKQor
ICAgIG1fcGFydGlhbEhhc2hDb2RlID0gQ0ZIYXNoKGNnRm9udC5nZXQoKSk7CisjZW5kaWYKIH0K
ICNlbmRpZgogCiBGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKGNvbnN0IEZvbnRQ
bGF0Zm9ybURhdGEmIHNvdXJjZSkKLSAgICA6IG1fc3ludGhldGljQm9sZChzb3VyY2UubV9zeW50
aGV0aWNCb2xkKQotICAgICwgbV9zeW50aGV0aWNPYmxpcXVlKHNvdXJjZS5tX3N5bnRoZXRpY09i
bGlxdWUpCi0gICAgLCBtX29yaWVudGF0aW9uKHNvdXJjZS5tX29yaWVudGF0aW9uKQotICAgICwg
bV9zaXplKHNvdXJjZS5tX3NpemUpCi0gICAgLCBtX3dpZHRoVmFyaWFudChzb3VyY2UubV93aWR0
aFZhcmlhbnQpCi0gICAgLCBtX2lzQ29sb3JCaXRtYXBGb250KHNvdXJjZS5tX2lzQ29sb3JCaXRt
YXBGb250KQotICAgICwgbV9pc0NvbXBvc2l0ZUZvbnRSZWZlcmVuY2Uoc291cmNlLm1faXNDb21w
b3NpdGVGb250UmVmZXJlbmNlKQorICAgIDogRm9udFBsYXRmb3JtRGF0YShzb3VyY2UubV9zaXpl
LCBzb3VyY2UubV9zeW50aGV0aWNCb2xkLCBzb3VyY2UubV9zeW50aGV0aWNPYmxpcXVlLCBzb3Vy
Y2UubV9vcmllbnRhdGlvbiwgc291cmNlLm1fd2lkdGhWYXJpYW50KQogeworICAgIG1faXNDb2xv
ckJpdG1hcEZvbnQgPSBzb3VyY2UubV9pc0NvbG9yQml0bWFwRm9udDsKKyAgICBtX2lzQ29tcG9z
aXRlRm9udFJlZmVyZW5jZSA9IHNvdXJjZS5tX2lzQ29tcG9zaXRlRm9udFJlZmVyZW5jZTsKICAg
ICBwbGF0Zm9ybURhdGFJbml0KHNvdXJjZSk7CiB9CiAKQEAgLTEwMCw0ICs5NiwzNSBAQCBjb25z
dCBGb250UGxhdGZvcm1EYXRhJiBGb250UGxhdGZvcm1EYXRhOjpvcGVyYXRvcj0oY29uc3QgRm9u
dFBsYXRmb3JtRGF0YSYgb3RoZQogICAgIHJldHVybiBwbGF0Zm9ybURhdGFBc3NpZ24ob3RoZXIp
OwogfQogCit1bnNpZ25lZCBGb250UGxhdGZvcm1EYXRhOjpoYXNoKCkgY29uc3QKK3sKKyNpZiBQ
TEFURk9STShXSU4pICYmICFVU0UoQ0FJUk8pCisgICAgcmV0dXJuIG1fZm9udCA/IG1fZm9udC0+
aGFzaCgpIDogMDsKKyNlbGlmIE9TKERBUldJTikKKyNpZiBVU0UoQVBQS0lUKQorICAgIEFTU0VS
VChmb250KCkgfHwgIW1fY2dGb250KTsKKyAgICB1aW50cHRyX3QgZGVzY3JpcHRpb25EYXRhID0g
c3RhdGljX2Nhc3Q8dWludHB0cl90PihtX29yaWVudGF0aW9uIDw8IDIgfCBtX3N5bnRoZXRpY0Jv
bGQgPDwgMSB8IG1fc3ludGhldGljT2JsaXF1ZSk7CisjZWxzZQorICAgIEFTU0VSVChmb250KCkg
fHwgIW1fY2dGb250IHx8IG1faXNFbW9qaSk7CisgICAgdWludHB0cl90IGRlc2NyaXB0aW9uRGF0
YSA9IHN0YXRpY19jYXN0PHVpbnRwdHJfdD4obV9pc0Vtb2ppIDw8IDMgfCBtX29yaWVudGF0aW9u
IDw8IDIgfCBtX3N5bnRoZXRpY0JvbGQgPDwgMSB8IG1fc3ludGhldGljT2JsaXF1ZSk7CisjZW5k
aWYgLy8gVVNFKEFQUEtJVCkKKyAgICB1aW50cHRyX3QgaGFzaENvZGVzWzNdID0geyBzdGF0aWNf
Y2FzdDx1aW50cHRyX3Q+KG1fcGFydGlhbEhhc2hDb2RlKSwgbV93aWR0aFZhcmlhbnQsIGRlc2Ny
aXB0aW9uRGF0YSB9OworICAgIHJldHVybiBTdHJpbmdIYXNoZXI6Omhhc2hNZW1vcnk8c2l6ZW9m
KGhhc2hDb2Rlcyk+KGhhc2hDb2Rlcyk7CisjZWxpZiBVU0UoQ0FJUk8pCisgICAgcmV0dXJuIFB0
ckhhc2g8Y2Fpcm9fc2NhbGVkX2ZvbnRfdCo+OjpoYXNoKG1fc2NhbGVkRm9udCk7CisjZW5kaWYK
K30KKworYm9vbCBGb250UGxhdGZvcm1EYXRhOjpvcGVyYXRvcj09KGNvbnN0IEZvbnRQbGF0Zm9y
bURhdGEmIG90aGVyKSBjb25zdAoreworICAgIHJldHVybiBwbGF0Zm9ybUlzRXF1YWwob3RoZXIp
CisgICAgICAgICYmIG1fc2l6ZSA9PSBvdGhlci5tX3NpemUKKyAgICAgICAgJiYgbV9zeW50aGV0
aWNCb2xkID09IG90aGVyLm1fc3ludGhldGljQm9sZAorICAgICAgICAmJiBtX3N5bnRoZXRpY09i
bGlxdWUgPT0gb3RoZXIubV9zeW50aGV0aWNPYmxpcXVlCisgICAgICAgICYmIG1faXNDb2xvckJp
dG1hcEZvbnQgPT0gb3RoZXIubV9pc0NvbG9yQml0bWFwRm9udAorICAgICAgICAmJiBtX2lzQ29t
cG9zaXRlRm9udFJlZmVyZW5jZSA9PSBvdGhlci5tX2lzQ29tcG9zaXRlRm9udFJlZmVyZW5jZQor
ICAgICAgICAmJiBtX29yaWVudGF0aW9uID09IG90aGVyLm1fb3JpZW50YXRpb24KKyAgICAgICAg
JiYgbV93aWR0aFZhcmlhbnQgPT0gb3RoZXIubV93aWR0aFZhcmlhbnQ7Cit9CisKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuaApp
bmRleCBmZDBjZDhlZGVlZjQyNTRjYjA1OWE1NzA4YjAwMmQzNjk0MmJjNTNkLi40NDNkNGUwZmI2
NGIwOGUzMzk4YzcyOGEzMGRmMWVmNmQ3OGRiMjY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UGxhdGZvcm1EYXRhLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCkBAIC04NiwxNCArODYsMTAg
QEAgcHVibGljOgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgV0VCQ09SRV9FWFBPUlQgRm9u
dFBsYXRmb3JtRGF0YShDVEZvbnRSZWYsIGZsb2F0IHNpemUsIGJvb2wgc3ludGhldGljQm9sZCA9
IGZhbHNlLCBib29sIHN5bnRoZXRpY09ibGlxdWUgPSBmYWxzZSwgRm9udE9yaWVudGF0aW9uID0g
SG9yaXpvbnRhbCwgRm9udFdpZHRoVmFyaWFudCA9IFJlZ3VsYXJXaWR0aCk7Ci0jaWYgVVNFKEFQ
UEtJVCkKLSAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgd2hlbiBhbGwgTlNGb250IHVzYWdlIGlz
IHJlbW92ZWQuCi0gICAgV0VCQ09SRV9FWFBPUlQgRm9udFBsYXRmb3JtRGF0YShOU0ZvbnQgKiwg
ZmxvYXQgc2l6ZSwgYm9vbCBzeW50aGV0aWNCb2xkID0gZmFsc2UsIGJvb2wgc3ludGhldGljT2Js
aXF1ZSA9IGZhbHNlLCBGb250T3JpZW50YXRpb24gPSBIb3Jpem9udGFsLCBGb250V2lkdGhWYXJp
YW50ID0gUmVndWxhcldpZHRoKTsKLSNlbmRpZgogI2VuZGlmCiAKICNpZiBVU0UoQ0cpCi0gICAg
Rm9udFBsYXRmb3JtRGF0YShDR0ZvbnRSZWYsIGZsb2F0IHNpemUsIGJvb2wgc3ludGhldGljQm9s
ZCwgYm9vbCBzeW50aGV0aWNPYmxpcXVlLCBGb250T3JpZW50YXRpb24sIEZvbnRXaWR0aFZhcmlh
bnQpOworICAgIEZvbnRQbGF0Zm9ybURhdGEoUmV0YWluUHRyPENHRm9udFJlZj4sIGZsb2F0IHNp
emUsIGJvb2wgc3ludGhldGljQm9sZCwgYm9vbCBzeW50aGV0aWNPYmxpcXVlLCBGb250T3JpZW50
YXRpb24sIEZvbnRXaWR0aFZhcmlhbnQpOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShXSU4pCkBA
IC0xMTIsMTkgKzEwOCwxOSBAQCBwdWJsaWM6CiAgICAgSEZPTlQgaGZvbnQoKSBjb25zdCB7IHJl
dHVybiBtX2ZvbnQgPyBtX2ZvbnQtPmdldCgpIDogMDsgfQogICAgIGJvb2wgdXNlR0RJKCkgY29u
c3QgeyByZXR1cm4gbV91c2VHREk7IH0KICNlbGlmIFBMQVRGT1JNKENPQ09BKQorICAgIENHRmxv
YXQgdXNlZEZvbnRTaXplKCkgY29uc3Q7CiAgICAgQ1RGb250UmVmIGZvbnQoKSBjb25zdCB7IHJl
dHVybiBtX2ZvbnQ7IH0KLSAgICB2b2lkIHNldEZvbnQoQ1RGb250UmVmKTsKIAotICAgIENURm9u
dFJlZiBjdEZvbnQoKSBjb25zdDsKLSAgICBzdGF0aWMgUmV0YWluUHRyPENGVHlwZVJlZj4gb2Jq
ZWN0Rm9yRXF1YWxpdHlDaGVjayhDVEZvbnRSZWYpOwotICAgIFJldGFpblB0cjxDRlR5cGVSZWY+
IG9iamVjdEZvckVxdWFsaXR5Q2hlY2soKSBjb25zdDsKKyAgICBSZXRhaW5QdHI8Q1RGb250UmVm
PiBjYWxjdWxhdGVDVEZvbnQoUmV0YWluUHRyPENURm9udFJlZj4gb3JpZ2luYWwsIENHRm9udFJl
ZikgY29uc3Q7CisgICAgQ1RGb250UmVmIGN0Rm9udCgpIGNvbnN0IHsgcmV0dXJuIGZvbnQoKTsg
fQorICAgIENGSGFzaENvZGUgcGFydGlhbEhhc2goKSBjb25zdCB7IHJldHVybiBtX3BhcnRpYWxI
YXNoQ29kZTsgfQogCiAgICAgYm9vbCBhbGxvd3NMaWdhdHVyZXMoKSBjb25zdDsKICAgICBib29s
IHJvdW5kc0dseXBoQWR2YW5jZXMoKSBjb25zdDsKIAogI2lmIFVTRShBUFBLSVQpCiAgICAgLy8g
RklYTUU6IFJlbW92ZSB0aGlzIHdoZW4gYWxsIE5TRm9udCB1c2FnZSBpcyByZW1vdmVkLgotICAg
IE5TRm9udCAqbnNGb250KCkgY29uc3QgeyByZXR1cm4gKE5TRm9udCAqKW1fZm9udDsgfQorICAg
IE5TRm9udCAqbnNGb250KCkgY29uc3QgeyByZXR1cm4gKE5TRm9udCAqKWZvbnQoKTsgfQogICAg
IHZvaWQgc2V0TlNGb250KE5TRm9udCAqZm9udCkgeyBzZXRGb250KChDVEZvbnRSZWYpZm9udCk7
IH0KICNlbmRpZgogI2VuZGlmCkBAIC0xNDksNDQgKzE0NSwxOCBAQCBwdWJsaWM6CiAgICAgY2Fp
cm9fc2NhbGVkX2ZvbnRfdCogc2NhbGVkRm9udCgpIGNvbnN0IHsgcmV0dXJuIG1fc2NhbGVkRm9u
dDsgfQogI2VuZGlmCiAKLSAgICB1bnNpZ25lZCBoYXNoKCkgY29uc3QKLSAgICB7Ci0jaWYgUExB
VEZPUk0oV0lOKSAmJiAhVVNFKENBSVJPKQotICAgICAgICByZXR1cm4gbV9mb250ID8gbV9mb250
LT5oYXNoKCkgOiAwOwotI2VsaWYgT1MoREFSV0lOKQotI2lmIFVTRShBUFBLSVQpCi0gICAgICAg
IEFTU0VSVChtX2ZvbnQgfHwgIW1fY2dGb250KTsKLSAgICAgICAgdWludHB0cl90IGhhc2hDb2Rl
c1szXSA9IHsgKHVpbnRwdHJfdCltX2ZvbnQsIG1fd2lkdGhWYXJpYW50LCBzdGF0aWNfY2FzdDx1
aW50cHRyX3Q+KG1fb3JpZW50YXRpb24gPDwgMiB8IG1fc3ludGhldGljQm9sZCA8PCAxIHwgbV9z
eW50aGV0aWNPYmxpcXVlKSB9OwotI2Vsc2UKLSAgICAgICAgQVNTRVJUKG1fZm9udCB8fCAhbV9j
Z0ZvbnQgfHwgbV9pc0Vtb2ppKTsKLSAgICAgICAgdWludHB0cl90IGhhc2hDb2Rlc1szXSA9IHsg
c3RhdGljX2Nhc3Q8dWludHB0cl90PihDRkhhc2gobV9mb250KSksIG1fd2lkdGhWYXJpYW50LCBz
dGF0aWNfY2FzdDx1aW50cHRyX3Q+KG1faXNFbW9qaSA8PCAzIHwgbV9vcmllbnRhdGlvbiA8PCAy
IHwgbV9zeW50aGV0aWNCb2xkIDw8IDEgfCBtX3N5bnRoZXRpY09ibGlxdWUpIH07Ci0jZW5kaWYg
Ly8gIVBMQVRGT1JNKElPUykKLSAgICAgICAgcmV0dXJuIFN0cmluZ0hhc2hlcjo6aGFzaE1lbW9y
eTxzaXplb2YoaGFzaENvZGVzKT4oaGFzaENvZGVzKTsKLSNlbGlmIFVTRShDQUlSTykKLSAgICAg
ICAgcmV0dXJuIFB0ckhhc2g8Y2Fpcm9fc2NhbGVkX2ZvbnRfdCo+OjpoYXNoKG1fc2NhbGVkRm9u
dCk7Ci0jZW5kaWYKLSAgICB9CisgICAgdW5zaWduZWQgaGFzaCgpIGNvbnN0OwogCiAgICAgY29u
c3QgRm9udFBsYXRmb3JtRGF0YSYgb3BlcmF0b3I9KGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmKTsK
IAotICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBGb250UGxhdGZvcm1EYXRhJiBvdGhlcikgY29u
c3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBwbGF0Zm9ybUlzRXF1YWwob3RoZXIpCi0gICAgICAg
ICAgICAmJiBtX3NpemUgPT0gb3RoZXIubV9zaXplCi0gICAgICAgICAgICAmJiBtX3N5bnRoZXRp
Y0JvbGQgPT0gb3RoZXIubV9zeW50aGV0aWNCb2xkCi0gICAgICAgICAgICAmJiBtX3N5bnRoZXRp
Y09ibGlxdWUgPT0gb3RoZXIubV9zeW50aGV0aWNPYmxpcXVlCi0gICAgICAgICAgICAmJiBtX2lz
Q29sb3JCaXRtYXBGb250ID09IG90aGVyLm1faXNDb2xvckJpdG1hcEZvbnQKLSAgICAgICAgICAg
ICYmIG1faXNDb21wb3NpdGVGb250UmVmZXJlbmNlID09IG90aGVyLm1faXNDb21wb3NpdGVGb250
UmVmZXJlbmNlCi0gICAgICAgICAgICAmJiBtX29yaWVudGF0aW9uID09IG90aGVyLm1fb3JpZW50
YXRpb24KLSAgICAgICAgICAgICYmIG1fd2lkdGhWYXJpYW50ID09IG90aGVyLm1fd2lkdGhWYXJp
YW50OwotICAgIH0KKyAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgRm9udFBsYXRmb3JtRGF0YSYg
b3RoZXIpIGNvbnN0OwogCiAgICAgYm9vbCBpc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpIGNvbnN0
CiAgICAgewogI2lmIFBMQVRGT1JNKFdJTikgJiYgIVVTRShDQUlSTykKICAgICAgICAgcmV0dXJu
IG1fZm9udC5pc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpOwogI2VsaWYgUExBVEZPUk0oQ09DT0Ep
Ci0gICAgICAgIHJldHVybiBtX2ZvbnQgPT0gaGFzaFRhYmxlRGVsZXRlZEZvbnRWYWx1ZSgpOwor
ICAgICAgICByZXR1cm4gZm9udCgpID09IGhhc2hUYWJsZURlbGV0ZWRGb250VmFsdWUoKTsKICNl
bGlmIFVTRShDQUlSTykKICAgICAgICAgcmV0dXJuIG1fc2NhbGVkRm9udCA9PSBoYXNoVGFibGVE
ZWxldGVkRm9udFZhbHVlKCk7CiAjZW5kaWYKQEAgLTIwNiw2ICsxNzYsNyBAQCBwcml2YXRlOgog
ICAgIGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIHBsYXRmb3JtRGF0YUFzc2lnbihjb25zdCBGb250
UGxhdGZvcm1EYXRhJik7CiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgc3RhdGljIENURm9udFJl
ZiBoYXNoVGFibGVEZWxldGVkRm9udFZhbHVlKCkgeyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxD
VEZvbnRSZWY+KC0xKTsgfQorICAgIHN0YXRpYyBib29sIGlzVmFsaWRDVEZvbnRSZWYoQ1RGb250
UmVmIGZvbnQpIHsgcmV0dXJuIGZvbnQgJiYgZm9udCAhPSBoYXNoVGFibGVEZWxldGVkRm9udFZh
bHVlKCk7IH0KICNlbmRpZgogI2lmIFBMQVRGT1JNKFdJTikKICAgICB2b2lkIHBsYXRmb3JtRGF0
YUluaXQoSEZPTlQsIGZsb2F0IHNpemUsIEhEQywgV0NIQVIqIGZhY2VOYW1lKTsKQEAgLTIyNiw5
ICsxOTcsOSBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAg
Ly8gRklYTUU6IEdldCByaWQgb2Ygb25lIG9mIHRoZXNlLiBUaGVzZSB0d28gZm9udHMgYXJlIHN1
YnRseSBkaWZmZXJlbnQsIGFuZCBpdCBpcyBub3Qgb2J2aW91cyB3aGljaCBvbmUgdG8gdXNlIHdo
ZXJlLgorICAgIC8vIEZJWE1FOiBTZWUgaWYgd2UgY2FuIGN1c3RvbWl6ZSBSZXRhaW5QdHIgdG8g
d29yayB3aXRoIEZvbnRQbGF0Zm9ybURhdGE6Omhhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpIGZvciB0
aGlzIHZhcmlhYmxlCiAgICAgQ1RGb250UmVmIG1fZm9udCB7IG51bGxwdHIgfTsKLSAgICBtdXRh
YmxlIFJldGFpblB0cjxDVEZvbnRSZWY+IG1fY3RGb250OworICAgIENGSGFzaENvZGUgbV9wYXJ0
aWFsSGFzaENvZGUgeyAwIH07IC8vIE9ubHkgY29tcHV0ZWQgb3ZlciB0aGUgQ1RGb250UmVmIG9y
IENHRm9udFJlZjsgc2VlIGhhc2goKQogI2VsaWYgUExBVEZPUk0oV0lOKQogICAgIFJlZlB0cjxT
aGFyZWRHRElPYmplY3Q8SEZPTlQ+PiBtX2ZvbnQ7CiAjZW5kaWYKQEAgLTI0OCw2ICsyMTksMTAg
QEAgcHJpdmF0ZToKICNlbmRpZgogfTsKIAorI2lmIFBMQVRGT1JNKENPQ09BKQorQ0ZIYXNoQ29k
ZSBjYWxjdWxhdGVGb250SGFzaChDVEZvbnRSZWYpOworI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAogI2VuZGlmIC8vIEZvbnRQbGF0Zm9ybURhdGFfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tCmluZGV4IDQ4OTAx
ZmNiYWFkM2I5NzMzZWUwNWNhNGEwOWE2NjYxMTVlMzZhZjguLjIwYjkzOTFhYWViNWRlN2IxYmMx
YTkzYTlmN2JlMjM3Y2VmZGYzODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW0KQEAgLTMyNSw3ICszMjUsNyBAQCBQYXNzUmVm
UHRyPEZvbnQ+IEZvbnQ6OnBsYXRmb3JtQ3JlYXRlU2NhbGVkRm9udChjb25zdCBGb250RGVzY3Jp
cHRpb24mLCBmbG9hdCBzYwogI2lmIFVTRShBUFBLSVQpCiAgICAgQkVHSU5fQkxPQ0tfT0JKQ19F
WENFUFRJT05TOwogCi0gICAgRm9udFBsYXRmb3JtRGF0YSBzY2FsZWRGb250RGF0YShbW05TRm9u
dE1hbmFnZXIgc2hhcmVkRm9udE1hbmFnZXJdIGNvbnZlcnRGb250Om1fcGxhdGZvcm1EYXRhLm5z
Rm9udCgpIHRvU2l6ZTpzaXplXSwgc2l6ZSwgZmFsc2UsIGZhbHNlLCBtX3BsYXRmb3JtRGF0YS5v
cmllbnRhdGlvbigpKTsKKyAgICBGb250UGxhdGZvcm1EYXRhIHNjYWxlZEZvbnREYXRhKHN0YXRp
Y19jYXN0PENURm9udFJlZj4oW1tOU0ZvbnRNYW5hZ2VyIHNoYXJlZEZvbnRNYW5hZ2VyXSBjb252
ZXJ0Rm9udDptX3BsYXRmb3JtRGF0YS5uc0ZvbnQoKSB0b1NpemU6c2l6ZV0pLCBzaXplLCBmYWxz
ZSwgZmFsc2UsIG1fcGxhdGZvcm1EYXRhLm9yaWVudGF0aW9uKCkpOwogCiAgICAgaWYgKHNjYWxl
ZEZvbnREYXRhLmZvbnQoKSkgewogICAgICAgICBOU0ZvbnRNYW5hZ2VyICpmb250TWFuYWdlciA9
IFtOU0ZvbnRNYW5hZ2VyIHNoYXJlZEZvbnRNYW5hZ2VyXTsKQEAgLTQ5NSwxMiArNDk1LDggQEAg
ZmxvYXQgRm9udDo6cGxhdGZvcm1XaWR0aEZvckdseXBoKEdseXBoIGdseXBoKSBjb25zdAogICAg
ICAgICAgICAgTE9HX0VSUk9SKCJVbmFibGUgdG8gY2FjaGUgZ2x5cGggd2lkdGhzIGZvciAlQCAl
ZiIsIGZ1bGxOYW1lLmdldCgpLCBwb2ludFNpemUpOwogICAgICAgICAgICAgYWR2YW5jZS53aWR0
aCA9IDA7CiAgICAgICAgIH0KLSAgICB9IGVsc2UgaWYgKCFwb3B1bGF0ZWRBZHZhbmNlKSB7Ci0g
ICAgICAgIC8vIG1fcGxhdGZvcm1EYXRhLmZvbnQoKSByZXR1cm5zIHRoZSBvcmlnaW5hbCBmb250
IHRoYXQgd2FzIHBhc3NlZCBpbnRvIHRoZSBGb250UGxhdGZvcm1EYXRhIGNvbnN0cnVjdG9yLiBJ
biB0aGUgY2FzZSBvZiBmb250cyB0aGF0IGhhdmUgY3VzdG9tIHRyYWNraW5nLAotICAgICAgICAv
LyB0aGUgY3VzdG9tIHRyYWNraW5nIGRvZXMgbm90IHN1cnZpdmUgdGhlIHRyYW5zZm9ybWF0aW9u
IHRvIGVpdGhlciBtX3BsYXRmb3JtRGF0YS5jZ0ZvbnQoKSBub3IgbV9wbGF0Zm9ybURhdGEuY3RG
b250KCksIHNvIHdlIG11c3QgdXNlIHRoZSBvcmlnaW5hbAotICAgICAgICAvLyBmb250KCkgdGhh
dCB3YXMgcGFzc2VkIGluLiBIb3dldmVyLCBmb3Igd2ViIGZvbnRzLCBtX3BsYXRmb3JtRGF0YS5m
b250KCkgaXMgbnVsbCwgc28gd2UgbXVzdCB1c2UgbV9wbGF0Zm9ybURhdGEuY3RGb250KCkgZm9y
IHRob3NlIGNhc2VzLgotICAgICAgICBDVEZvbnRHZXRBZHZhbmNlc0ZvckdseXBocyhoYXNDdXN0
b21UcmFja2luZygpID8gbV9wbGF0Zm9ybURhdGEuZm9udCgpIDogbV9wbGF0Zm9ybURhdGEuY3RG
b250KCksIGhvcml6b250YWwgPyBrQ1RGb250T3JpZW50YXRpb25Ib3Jpem9udGFsIDoga0NURm9u
dE9yaWVudGF0aW9uVmVydGljYWwsICZnbHlwaCwgJmFkdmFuY2UsIDEpOwotICAgIH0KKyAgICB9
IGVsc2UgaWYgKCFwb3B1bGF0ZWRBZHZhbmNlKQorICAgICAgICBDVEZvbnRHZXRBZHZhbmNlc0Zv
ckdseXBocyhtX3BsYXRmb3JtRGF0YS5jdEZvbnQoKSwgaG9yaXpvbnRhbCA/IGtDVEZvbnRPcmll
bnRhdGlvbkhvcml6b250YWwgOiBrQ1RGb250T3JpZW50YXRpb25WZXJ0aWNhbCwgJmdseXBoLCAm
YWR2YW5jZSwgMSk7CiAKICAgICByZXR1cm4gYWR2YW5jZS53aWR0aCArIG1fc3ludGhldGljQm9s
ZE9mZnNldDsKIH0KQEAgLTUzMyw3ICs1MjksNyBAQCBib29sIEZvbnQ6OmNhblJlbmRlckNvbWJp
bmluZ0NoYXJhY3RlclNlcXVlbmNlKGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCBzaXplX3QgbAog
ICAgIGlmICghYWRkUmVzdWx0LmlzTmV3RW50cnkpCiAgICAgICAgIHJldHVybiBhZGRSZXN1bHQu
aXRlcmF0b3ItPnZhbHVlOwogCi0gICAgUmV0YWluUHRyPENGVHlwZVJlZj4gZm9udEVxdWFsaXR5
T2JqZWN0ID0gcGxhdGZvcm1EYXRhKCkub2JqZWN0Rm9yRXF1YWxpdHlDaGVjaygpOworICAgIENG
SGFzaENvZGUgZm9udEhhc2ggPSBwbGF0Zm9ybURhdGEoKS5wYXJ0aWFsSGFzaCgpOwogCiAgICAg
UHJvdmlkZXJJbmZvIGluZm8gPSB7IGNoYXJhY3RlcnMsIGxlbmd0aCwgZ2V0Q0ZTdHJpbmdBdHRy
aWJ1dGVzKDAsIHBsYXRmb3JtRGF0YSgpLm9yaWVudGF0aW9uKCkpIH07CiAgICAgUmV0YWluUHRy
PENUTGluZVJlZj4gbGluZSA9IGFkb3B0Q0YoQ1RMaW5lQ3JlYXRlV2l0aFVuaUNoYXJQcm92aWRl
cigmcHJvdmlkZVN0cmluZ0FuZEF0dHJpYnV0ZXMsIDAsICZpbmZvKSk7CkBAIC01NDYsNyArNTQy
LDcgQEAgYm9vbCBGb250OjpjYW5SZW5kZXJDb21iaW5pbmdDaGFyYWN0ZXJTZXF1ZW5jZShjb25z
dCBVQ2hhciogY2hhcmFjdGVycywgc2l6ZV90IGwKICAgICAgICAgQVNTRVJUKENGR2V0VHlwZUlE
KGN0UnVuKSA9PSBDVFJ1bkdldFR5cGVJRCgpKTsKICAgICAgICAgQ0ZEaWN0aW9uYXJ5UmVmIHJ1
bkF0dHJpYnV0ZXMgPSBDVFJ1bkdldEF0dHJpYnV0ZXMoY3RSdW4pOwogICAgICAgICBDVEZvbnRS
ZWYgcnVuRm9udCA9IHN0YXRpY19jYXN0PENURm9udFJlZj4oQ0ZEaWN0aW9uYXJ5R2V0VmFsdWUo
cnVuQXR0cmlidXRlcywga0NURm9udEF0dHJpYnV0ZU5hbWUpKTsKLSAgICAgICAgaWYgKCFDRkVx
dWFsKGZvbnRFcXVhbGl0eU9iamVjdC5nZXQoKSwgRm9udFBsYXRmb3JtRGF0YTo6b2JqZWN0Rm9y
RXF1YWxpdHlDaGVjayhydW5Gb250KS5nZXQoKSkpCisgICAgICAgIGlmIChmb250SGFzaCAhPSBj
YWxjdWxhdGVGb250SGFzaChydW5Gb250KSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICB9CiAKQEAgLTU3MSw3ICs1NjcsNyBAQCBjb25zdCBGb250KiBGb250Ojpjb21wb3NpdGVGb250
UmVmZXJlbmNlRm9udChOU0ZvbnQgKmtleSkgY29uc3QKICAgICAgICAgYm9vbCBzeW50aGV0aWNC
b2xkID0gcGxhdGZvcm1EYXRhKCkuc3ludGhldGljQm9sZCgpICYmICEodHJhaXRzICYga0NURm9u
dEJvbGRUcmFpdCk7CiAgICAgICAgIGJvb2wgc3ludGhldGljT2JsaXF1ZSA9IHBsYXRmb3JtRGF0
YSgpLnN5bnRoZXRpY09ibGlxdWUoKSAmJiAhKHRyYWl0cyAmIGtDVEZvbnRJdGFsaWNUcmFpdCk7
CiAKLSAgICAgICAgRm9udFBsYXRmb3JtRGF0YSBzdWJzdGl0dXRlUGxhdGZvcm0oc3Vic3RpdHV0
ZUZvbnQsIHBsYXRmb3JtRGF0YSgpLnNpemUoKSwgc3ludGhldGljQm9sZCwgc3ludGhldGljT2Js
aXF1ZSwgcGxhdGZvcm1EYXRhKCkub3JpZW50YXRpb24oKSwgcGxhdGZvcm1EYXRhKCkud2lkdGhW
YXJpYW50KCkpOworICAgICAgICBGb250UGxhdGZvcm1EYXRhIHN1YnN0aXR1dGVQbGF0Zm9ybShz
dGF0aWNfY2FzdDxDVEZvbnRSZWY+KHN1YnN0aXR1dGVGb250KSwgcGxhdGZvcm1EYXRhKCkuc2l6
ZSgpLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNPYmxpcXVlLCBwbGF0Zm9ybURhdGEoKS5vcmll
bnRhdGlvbigpLCBwbGF0Zm9ybURhdGEoKS53aWR0aFZhcmlhbnQoKSk7CiAgICAgICAgIGFkZFJl
c3VsdC5pdGVyYXRvci0+dmFsdWUgPSBGb250OjpjcmVhdGUoc3Vic3RpdHV0ZVBsYXRmb3JtLCBp
c0N1c3RvbUZvbnQoKSk7CiAgICAgfQogICAgIHJldHVybiBhZGRSZXN1bHQuaXRlcmF0b3ItPnZh
bHVlLmdldCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tCmluZGV4IDJhNzZhYjNlODg3
YmFjMDFhOWIxZDEzYmNiMmVhZWY0MTkwZWNjNjQuLjRmYWZjZjZhYWFlMGQxOWRiYzQwY2FlMmNl
YmNmNDliNjg4NGYxNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0KQEAgLTQxLDQ0
ICs0MSw0MCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAvLyBUaGVzZSBDb3JlVGV4dCBUZXh0IFNw
YWNpbmcgZmVhdHVyZSBzZWxlY3RvcnMgYXJlIG5vdCBkZWZpbmVkIGluIENvcmVUZXh0LgogZW51
bSBUZXh0U3BhY2luZ0NURmVhdHVyZVNlbGVjdG9yIHsgVGV4dFNwYWNpbmdQcm9wb3J0aW9uYWws
IFRleHRTcGFjaW5nRnVsbFdpZHRoLCBUZXh0U3BhY2luZ0hhbGZXaWR0aCwgVGV4dFNwYWNpbmdU
aGlyZFdpZHRoLCBUZXh0U3BhY2luZ1F1YXJ0ZXJXaWR0aCB9OwogCi1Gb250UGxhdGZvcm1EYXRh
OjpGb250UGxhdGZvcm1EYXRhKENURm9udFJlZiBmb250LCBmbG9hdCBzaXplLCBib29sIHN5bnRo
ZXRpY0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0
aW9uLCBGb250V2lkdGhWYXJpYW50IHdpZHRoVmFyaWFudCkKLSAgICA6IG1fc3ludGhldGljQm9s
ZChzeW50aGV0aWNCb2xkKQotICAgICwgbV9zeW50aGV0aWNPYmxpcXVlKHN5bnRoZXRpY09ibGlx
dWUpCi0gICAgLCBtX29yaWVudGF0aW9uKG9yaWVudGF0aW9uKQotICAgICwgbV9zaXplKHNpemUp
Ci0gICAgLCBtX3dpZHRoVmFyaWFudCh3aWR0aFZhcmlhbnQpCi0gICAgLCBtX2ZvbnQoZm9udCkK
LSAgICAsIG1fY2dGb250KGFkb3B0Q0YoQ1RGb250Q29weUdyYXBoaWNzRm9udChmb250LCBOVUxM
KSkpCi0gICAgLCBtX2lzQ29sb3JCaXRtYXBGb250KENURm9udEdldFN5bWJvbGljVHJhaXRzKGZv
bnQpICYga0NURm9udFRyYWl0Q29sb3JHbHlwaHMpCi0gICAgLCBtX2lzQ29tcG9zaXRlRm9udFJl
ZmVyZW5jZShDVEZvbnRHZXRTeW1ib2xpY1RyYWl0cyhmb250KSAmIGtDVEZvbnRDb21wb3NpdGVU
cmFpdCkKK0NGSGFzaENvZGUgY2FsY3VsYXRlRm9udEhhc2goQ1RGb250UmVmIGZvbnQpCiB7Ci0g
ICAgQVNTRVJUX0FSRyhmb250LCBmb250KTsKLSAgICBDRlJldGFpbihtX2ZvbnQpOworICAgIGF1
dG8gZm9udERlc2NyaXB0b3IgPSBhZG9wdENGKENURm9udENvcHlGb250RGVzY3JpcHRvcihmb250
KSk7CisgICAgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMzg2ODMgVGhpcyBpcyBhIHNoYWxsb3cgcG9pbnRlciBjb21wYXJlIGZvciB3ZWIgZm9udHMK
KyAgICAvLyBiZWNhdXNlIHRoZSBVUkwgY29udGFpbnMgdGhlIGFkZHJlc3Mgb2YgdGhlIGZvbnQu
IFRoaXMgbWVhbnMgd2UgbWlnaHQgZXJyb25lb3VzbHkgZ2V0IGZhbHNlIG5lZ2F0aXZlcy4KKyAg
ICBSZXRhaW5QdHI8Q0ZVUkxSZWY+IHVybCA9IGFkb3B0Q0Yoc3RhdGljX2Nhc3Q8Q0ZVUkxSZWY+
KENURm9udERlc2NyaXB0b3JDb3B5QXR0cmlidXRlKGZvbnREZXNjcmlwdG9yLmdldCgpLCBrQ1RG
b250UmVmZXJlbmNlVVJMQXR0cmlidXRlKSkpOworICAgIHJldHVybiBDRkhhc2goQ0ZVUkxHZXRT
dHJpbmcodXJsLmdldCgpKSk7CiB9CiAKLSNpZiBVU0UoQVBQS0lUKQotLy8gRklYTUU6IFJlbW92
ZSB0aGlzIHdoZW4gYWxsIE5TRm9udCB1c2FnZSBpcyByZW1vdmVkLgotRm9udFBsYXRmb3JtRGF0
YTo6Rm9udFBsYXRmb3JtRGF0YShOU0ZvbnQgKmZvbnQsIGZsb2F0IHNpemUsIGJvb2wgc3ludGhl
dGljQm9sZCwgYm9vbCBzeW50aGV0aWNPYmxpcXVlLCBGb250T3JpZW50YXRpb24gb3JpZW50YXRp
b24sIEZvbnRXaWR0aFZhcmlhbnQgd2lkdGhWYXJpYW50KQotICAgIDogRm9udFBsYXRmb3JtRGF0
YSgoQ1RGb250UmVmKWZvbnQsIHNpemUsIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY09ibGlxdWUs
IG9yaWVudGF0aW9uLCB3aWR0aFZhcmlhbnQpCitGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZv
cm1EYXRhKENURm9udFJlZiBmb250LCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQsIGJv
b2wgc3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBGb250V2lk
dGhWYXJpYW50IHdpZHRoVmFyaWFudCkKKyAgICA6IEZvbnRQbGF0Zm9ybURhdGEoYWRvcHRDRihD
VEZvbnRDb3B5R3JhcGhpY3NGb250KGZvbnQsIE5VTEwpKSwgc2l6ZSwgc3ludGhldGljQm9sZCwg
c3ludGhldGljT2JsaXF1ZSwgb3JpZW50YXRpb24sIHdpZHRoVmFyaWFudCkKIHsKKyAgICBBU1NF
UlRfQVJHKGZvbnQsIGZvbnQpOworICAgIG1fZm9udCA9IGNhbGN1bGF0ZUNURm9udChmb250LCBj
Z0ZvbnQoKSkubGVha1JlZigpOworICAgIG1faXNDb2xvckJpdG1hcEZvbnQgPSBDVEZvbnRHZXRT
eW1ib2xpY1RyYWl0cyhmb250KSAmIGtDVEZvbnRUcmFpdENvbG9yR2x5cGhzOworICAgIG1faXND
b21wb3NpdGVGb250UmVmZXJlbmNlID0gQ1RGb250R2V0U3ltYm9saWNUcmFpdHMoZm9udCkgJiBr
Q1RGb250Q29tcG9zaXRlVHJhaXQ7CisKKyAgICBtX3BhcnRpYWxIYXNoQ29kZSA9IGNhbGN1bGF0
ZUZvbnRIYXNoKGZvbnQpOwogfQotI2VuZGlmCiAKIEZvbnRQbGF0Zm9ybURhdGE6On5Gb250UGxh
dGZvcm1EYXRhKCkKIHsKLSAgICBpZiAobV9mb250ICYmIG1fZm9udCAhPSByZWludGVycHJldF9j
YXN0PENURm9udFJlZj4oLTEpKQorICAgIGlmIChpc1ZhbGlkQ1RGb250UmVmKG1fZm9udCkpCiAg
ICAgICAgIENGUmVsZWFzZShtX2ZvbnQpOwogfQogCiB2b2lkIEZvbnRQbGF0Zm9ybURhdGE6OnBs
YXRmb3JtRGF0YUluaXQoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYgZikKIHsKLSAgICBtX2ZvbnQg
PSBmLm1fZm9udCAmJiBmLm1fZm9udCAhPSByZWludGVycHJldF9jYXN0PENURm9udFJlZj4oLTEp
ID8gc3RhdGljX2Nhc3Q8Q1RGb250UmVmPihjb25zdF9jYXN0PHZvaWQgKj4oQ0ZSZXRhaW4oZi5t
X2ZvbnQpKSkgOiBmLm1fZm9udDsKKyAgICBtX2ZvbnQgPSBpc1ZhbGlkQ1RGb250UmVmKGYubV9m
b250KSA/IHN0YXRpY19jYXN0PENURm9udFJlZj4oY29uc3RfY2FzdDx2b2lkICo+KENGUmV0YWlu
KGYubV9mb250KSkpIDogZi5tX2ZvbnQ7CiAKICNpZiBQTEFURk9STShJT1MpCiAgICAgbV9pc0Vt
b2ppID0gZi5tX2lzRW1vamk7CiAjZW5kaWYKICAgICBtX2NnRm9udCA9IGYubV9jZ0ZvbnQ7Ci0g
ICAgbV9jdEZvbnQgPSBmLm1fY3RGb250OwogfQogCiBjb25zdCBGb250UGxhdGZvcm1EYXRhJiBG
b250UGxhdGZvcm1EYXRhOjpwbGF0Zm9ybURhdGFBc3NpZ24oY29uc3QgRm9udFBsYXRmb3JtRGF0
YSYgZikKQEAgLTg3LDY4ICs4MywzMSBAQCBjb25zdCBGb250UGxhdGZvcm1EYXRhJiBGb250UGxh
dGZvcm1EYXRhOjpwbGF0Zm9ybURhdGFBc3NpZ24oY29uc3QgRm9udFBsYXRmb3JtRAogI2lmIFBM
QVRGT1JNKElPUykKICAgICBtX2lzRW1vamkgPSBmLm1faXNFbW9qaTsKICNlbmRpZgotICAgIGlm
IChtX2ZvbnQgJiYgbV9mb250ICE9IHJlaW50ZXJwcmV0X2Nhc3Q8Q1RGb250UmVmPigtMSkgJiYg
Zi5tX2ZvbnQgJiYgZi5tX2ZvbnQgIT0gcmVpbnRlcnByZXRfY2FzdDxDVEZvbnRSZWY+KC0xKSAm
JiBDRkVxdWFsKG1fZm9udCwgZi5tX2ZvbnQpKQorICAgIG1fcGFydGlhbEhhc2hDb2RlID0gZi5t
X3BhcnRpYWxIYXNoQ29kZTsKKyAgICBpZiAoaXNWYWxpZENURm9udFJlZihmb250KCkpICYmIGlz
VmFsaWRDVEZvbnRSZWYoZi5mb250KCkpICYmIENGRXF1YWwoZm9udCgpLCBmLmZvbnQoKSkpCiAg
ICAgICAgIHJldHVybiAqdGhpczsKLSAgICBpZiAoZi5tX2ZvbnQgJiYgZi5tX2ZvbnQgIT0gcmVp
bnRlcnByZXRfY2FzdDxDVEZvbnRSZWY+KC0xKSkKLSAgICAgICAgQ0ZSZXRhaW4oZi5tX2ZvbnQp
OwotICAgIGlmIChtX2ZvbnQgJiYgbV9mb250ICE9IHJlaW50ZXJwcmV0X2Nhc3Q8Q1RGb250UmVm
PigtMSkpCi0gICAgICAgIENGUmVsZWFzZShtX2ZvbnQpOwotICAgIG1fZm9udCA9IGYubV9mb250
OwotICAgIG1fY3RGb250ID0gZi5tX2N0Rm9udDsKKyAgICBpZiAoaXNWYWxpZENURm9udFJlZihm
LmZvbnQoKSkpCisgICAgICAgIENGUmV0YWluKGYuZm9udCgpKTsKKyAgICBpZiAoaXNWYWxpZENU
Rm9udFJlZihmb250KCkpKQorICAgICAgICBDRlJlbGVhc2UoZm9udCgpKTsKKyAgICBtX2ZvbnQg
PSBmLmZvbnQoKTsKIAogICAgIHJldHVybiAqdGhpczsKIH0KIAogYm9vbCBGb250UGxhdGZvcm1E
YXRhOjpwbGF0Zm9ybUlzRXF1YWwoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYgb3RoZXIpIGNvbnN0
CiB7Ci0gICAgYm9vbCByZXN1bHQgPSBmYWxzZTsKLSAgICBpZiAobV9mb250IHx8IG90aGVyLm1f
Zm9udCkgeworICAgIGJvb2wgcmVzdWx0ID0gbV9wYXJ0aWFsSGFzaENvZGUgPT0gb3RoZXIubV9w
YXJ0aWFsSGFzaENvZGU7CiAjaWYgUExBVEZPUk0oSU9TKQotICAgICAgICByZXN1bHQgPSBtX2Zv
bnQgJiYgbV9mb250ICE9IHJlaW50ZXJwcmV0X2Nhc3Q8Q1RGb250UmVmPigtMSkgJiYgb3RoZXIu
bV9mb250ICYmIG90aGVyLm1fZm9udCAhPSByZWludGVycHJldF9jYXN0PENURm9udFJlZj4oLTEp
ICYmIENGRXF1YWwobV9mb250LCBvdGhlci5tX2ZvbnQpOwotI2lmICFBU1NFUlRfRElTQUJMRUQK
LSAgICAgICAgaWYgKHJlc3VsdCkKLSAgICAgICAgICAgIEFTU0VSVChtX2lzRW1vamkgPT0gb3Ro
ZXIubV9pc0Vtb2ppKTsKKyAgICBBU1NFUlQoIXJlc3VsdCB8fCBtX2lzRW1vamkgPT0gb3RoZXIu
bV9pc0Vtb2ppKTsKICNlbmRpZgotI2Vsc2UKLSAgICAgICAgcmVzdWx0ID0gbV9mb250ID09IG90
aGVyLm1fZm9udDsKLSNlbmRpZiAvLyBQTEFURk9STShJT1MpCi0gICAgICAgIHJldHVybiByZXN1
bHQ7Ci0gICAgfQotI2lmIFBMQVRGT1JNKElPUykKLSNpZiAhQVNTRVJUX0RJU0FCTEVECi0gICAg
aWYgKG1fY2dGb250ID09IG90aGVyLm1fY2dGb250KQotICAgICAgICBBU1NFUlQobV9pc0Vtb2pp
ID09IG90aGVyLm1faXNFbW9qaSk7Ci0jZW5kaWYKLSNlbmRpZiAvLyBQTEFURk9STShJT1MpCi0g
ICAgcmV0dXJuIG1fY2dGb250ID09IG90aGVyLm1fY2dGb250OwotfQotCi12b2lkIEZvbnRQbGF0
Zm9ybURhdGE6OnNldEZvbnQoQ1RGb250UmVmIGZvbnQpCi17Ci0gICAgQVNTRVJUX0FSRyhmb250
LCBmb250KTsKLSAgICBBU1NFUlQobV9mb250ICE9IHJlaW50ZXJwcmV0X2Nhc3Q8Q1RGb250UmVm
PigtMSkpOwotCi0gICAgaWYgKG1fZm9udCA9PSBmb250KQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBDRlJldGFpbihmb250KTsKLSAgICBpZiAobV9mb250KQotICAgICAgICBDRlJlbGVhc2UobV9m
b250KTsKLSAgICBtX2ZvbnQgPSBmb250OwotICAgIG1fc2l6ZSA9IENURm9udEdldFNpemUoZm9u
dCk7Ci0gICAgbV9jZ0ZvbnQgPSBhZG9wdENGKENURm9udENvcHlHcmFwaGljc0ZvbnQoZm9udCwg
bnVsbHB0cikpOwotCi0gICAgQ1RGb250U3ltYm9saWNUcmFpdHMgdHJhaXRzID0gQ1RGb250R2V0
U3ltYm9saWNUcmFpdHMobV9mb250KTsKLSAgICBtX2lzQ29sb3JCaXRtYXBGb250ID0gdHJhaXRz
ICYga0NURm9udFRyYWl0Q29sb3JHbHlwaHM7Ci0gICAgbV9pc0NvbXBvc2l0ZUZvbnRSZWZlcmVu
Y2UgPSB0cmFpdHMgJiBrQ1RGb250Q29tcG9zaXRlVHJhaXQ7Ci0gICAgCi0gICAgbV9jdEZvbnQg
PSBudWxscHRyOworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIGJvb2wgRm9udFBsYXRmb3JtRGF0
YTo6cm91bmRzR2x5cGhBZHZhbmNlcygpIGNvbnN0CiB7CiAjaWYgVVNFKEFQUEtJVCkKLSAgICBy
ZXR1cm4gWyhOU0ZvbnQgKiltX2ZvbnQgcmVuZGVyaW5nTW9kZV0gPT0gTlNGb250QW50aWFsaWFz
ZWRJbnRlZ2VyQWR2YW5jZW1lbnRzUmVuZGVyaW5nTW9kZTsKKyAgICByZXR1cm4gWyhOU0ZvbnQg
Kilmb250KCkgcmVuZGVyaW5nTW9kZV0gPT0gTlNGb250QW50aWFsaWFzZWRJbnRlZ2VyQWR2YW5j
ZW1lbnRzUmVuZGVyaW5nTW9kZTsKICNlbHNlCiAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCkBA
IC0xNTcsMTUgKzExNiwxMSBAQCBib29sIEZvbnRQbGF0Zm9ybURhdGE6OnJvdW5kc0dseXBoQWR2
YW5jZXMoKSBjb25zdAogCiBib29sIEZvbnRQbGF0Zm9ybURhdGE6OmFsbG93c0xpZ2F0dXJlcygp
IGNvbnN0CiB7Ci0jaWYgVVNFKEFQUEtJVCkKLSAgICByZXR1cm4gIVtbKE5TRm9udCAqKW1fZm9u
dCBjb3ZlcmVkQ2hhcmFjdGVyU2V0XSBjaGFyYWN0ZXJJc01lbWJlcjonYSddOwotI2Vsc2UKLSAg
ICBpZiAoIW1fZm9udCkKKyAgICBpZiAoIWZvbnQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CiAgICAgUmV0YWluUHRyPENGQ2hhcmFjdGVyU2V0UmVmPiBjaGFyYWN0ZXJTZXQgPSBhZG9wdENG
KENURm9udENvcHlDaGFyYWN0ZXJTZXQoY3RGb250KCkpKTsKICAgICByZXR1cm4gIShjaGFyYWN0
ZXJTZXQuZ2V0KCkgJiYgQ0ZDaGFyYWN0ZXJTZXRJc0NoYXJhY3Rlck1lbWJlcihjaGFyYWN0ZXJT
ZXQuZ2V0KCksICdhJykpOwotI2VuZGlmCiB9CiAKIGlubGluZSBpbnQgbWFwRm9udFdpZHRoVmFy
aWFudFRvQ1RGZWF0dXJlU2VsZWN0b3IoRm9udFdpZHRoVmFyaWFudCB2YXJpYW50KQpAQCAtMjQw
LDcwICsxOTUsNDUgQEAgc3RhdGljIENURm9udERlc2NyaXB0b3JSZWYgY2FzY2FkZVRvTGFzdFJl
c29ydEFuZERpc2FibGVTd2FzaGVzRm9udERlc2NyaXB0b3IoKQogICAgIHJldHVybiBkZXNjcmlw
dG9yOwogfQogCi1DVEZvbnRSZWYgRm9udFBsYXRmb3JtRGF0YTo6Y3RGb250KCkgY29uc3QKK0NH
RmxvYXQgRm9udFBsYXRmb3JtRGF0YTo6dXNlZEZvbnRTaXplKCkgY29uc3QKIHsKLSAgICBpZiAo
bV9jdEZvbnQpCi0gICAgICAgIHJldHVybiBtX2N0Rm9udC5nZXQoKTsKKyNpZiBQTEFURk9STShJ
T1MpCisgICAgcmV0dXJuICFtX2lzRW1vamkgPyBtX3NpemUgOiBtX3NpemUgPD0gMTUgPyA0ICog
KG1fc2l6ZSArIDIpIC8gc3RhdGljX2Nhc3Q8Q0dGbG9hdD4oNSkgOiAxNjsKKyNlbHNlCisgICAg
cmV0dXJuIG1fc2l6ZTsKKyNlbmRpZgorfQogCitSZXRhaW5QdHI8Q1RGb250UmVmPiBGb250UGxh
dGZvcm1EYXRhOjpjYWxjdWxhdGVDVEZvbnQoUmV0YWluUHRyPENURm9udFJlZj4gb3JpZ2luYWws
IENHRm9udFJlZiBjZ0ZvbnQpIGNvbnN0Cit7CisgICAgUmV0YWluUHRyPENURm9udFJlZj4gcmVz
dWx0ID0gb3JpZ2luYWwuZ2V0KCk7CiAgICAgQVNTRVJUKG1fY2dGb250LmdldCgpKTsKLSNpZiAh
UExBVEZPUk0oSU9TKQotICAgIG1fY3RGb250ID0gbV9mb250OwotICAgIGlmIChtX2N0Rm9udCkg
eworICAgIGlmIChyZXN1bHQpIHsKICAgICAgICAgQ1RGb250RGVzY3JpcHRvclJlZiBmb250RGVz
Y3JpcHRvcjsKLSAgICAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBwb3N0U2NyaXB0TmFtZSA9
IGFkb3B0Q0YoQ1RGb250Q29weVBvc3RTY3JpcHROYW1lKG1fY3RGb250LmdldCgpKSk7CisgICAg
ICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gcG9zdFNjcmlwdE5hbWUgPSBhZG9wdENGKENURm9u
dENvcHlQb3N0U2NyaXB0TmFtZShyZXN1bHQuZ2V0KCkpKTsKICAgICAgICAgLy8gSG9lZmxlciBU
ZXh0IEl0YWxpYyBoYXMgbGluZS1pbml0aWFsIGFuZCAtZmluYWwgc3dhc2hlcyBlbmFibGVkIGJ5
IGRlZmF1bHQsIHNvIGRpc2FibGUgdGhlbS4KICAgICAgICAgaWYgKENGRXF1YWwocG9zdFNjcmlw
dE5hbWUuZ2V0KCksIENGU1RSKCJIb2VmbGVyVGV4dC1JdGFsaWMiKSkgfHwgQ0ZFcXVhbChwb3N0
U2NyaXB0TmFtZS5nZXQoKSwgQ0ZTVFIoIkhvZWZsZXJUZXh0LUJsYWNrSXRhbGljIikpKQogICAg
ICAgICAgICAgZm9udERlc2NyaXB0b3IgPSBjYXNjYWRlVG9MYXN0UmVzb3J0QW5kRGlzYWJsZVN3
YXNoZXNGb250RGVzY3JpcHRvcigpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBmb250RGVz
Y3JpcHRvciA9IGNhc2NhZGVUb0xhc3RSZXNvcnRGb250RGVzY3JpcHRvcigpOwotICAgICAgICBt
X2N0Rm9udCA9IGFkb3B0Q0YoQ1RGb250Q3JlYXRlQ29weVdpdGhBdHRyaWJ1dGVzKG1fY3RGb250
LmdldCgpLCBtX3NpemUsIDAsIGZvbnREZXNjcmlwdG9yKSk7CisgICAgICAgIHJlc3VsdCA9IGFk
b3B0Q0YoQ1RGb250Q3JlYXRlQ29weVdpdGhBdHRyaWJ1dGVzKHJlc3VsdC5nZXQoKSwgdXNlZEZv
bnRTaXplKCksIDAsIGZvbnREZXNjcmlwdG9yKSk7CiAgICAgfSBlbHNlCi0gICAgICAgIG1fY3RG
b250ID0gYWRvcHRDRihDVEZvbnRDcmVhdGVXaXRoR3JhcGhpY3NGb250KG1fY2dGb250LmdldCgp
LCBtX3NpemUsIDAsIGNhc2NhZGVUb0xhc3RSZXNvcnRGb250RGVzY3JpcHRvcigpKSk7Ci0jZWxz
ZQotICAgIC8vIEFwcGxlIENvbG9yIEVtb2ppIHNpemUgaXMgYWRqdXN0ZWQgKGFuZCB0aGVuIHJl
LWFkanVzdGVkIGJ5IENvcmUgVGV4dCkgYW5kIGNhcHBlZC4KLSAgICBDR0Zsb2F0IHNpemUgPSAh
bV9pc0Vtb2ppID8gbV9zaXplIDogbV9zaXplIDw9IDE1ID8gNCAqIChtX3NpemUgKyAyKSAvIHN0
YXRpY19jYXN0PENHRmxvYXQ+KDUpIDogMTY7Ci0gICAgQ1RGb250RGVzY3JpcHRvclJlZiBmb250
RGVzY3JpcHRvcjsKLSAgICBjb25zdCBjaGFyKiBwb3N0U2NyaXB0TmFtZSA9IENHRm9udEdldFBv
c3RTY3JpcHROYW1lKG1fY2dGb250LmdldCgpKTsKLSAgICBpZiAocG9zdFNjcmlwdE5hbWUgJiYg
KCFzdHJjbXAocG9zdFNjcmlwdE5hbWUsICJIb2VmbGVyVGV4dC1JdGFsaWMiKSB8fCAhc3RyY21w
KHBvc3RTY3JpcHROYW1lLCAiSG9lZmxlclRleHQtQmxhY2tJdGFsaWMiKSkpCi0gICAgICAgIGZv
bnREZXNjcmlwdG9yID0gY2FzY2FkZVRvTGFzdFJlc29ydEFuZERpc2FibGVTd2FzaGVzRm9udERl
c2NyaXB0b3IoKTsKLSAgICBlbHNlCi0gICAgICAgIGZvbnREZXNjcmlwdG9yID0gY2FzY2FkZVRv
TGFzdFJlc29ydEZvbnREZXNjcmlwdG9yKCk7Ci0gICAgbV9jdEZvbnQgPSBhZG9wdENGKENURm9u
dENyZWF0ZVdpdGhHcmFwaGljc0ZvbnQobV9jZ0ZvbnQuZ2V0KCksIHNpemUsIDAsIGZvbnREZXNj
cmlwdG9yKSk7Ci0jZW5kaWYgLy8gIVBMQVRGT1JNKElPUykKKyAgICAgICAgcmVzdWx0ID0gYWRv
cHRDRihDVEZvbnRDcmVhdGVXaXRoR3JhcGhpY3NGb250KGNnRm9udCwgdXNlZEZvbnRTaXplKCks
IDAsIGNhc2NhZGVUb0xhc3RSZXNvcnRGb250RGVzY3JpcHRvcigpKSk7CiAKICAgICBpZiAobV93
aWR0aFZhcmlhbnQgIT0gUmVndWxhcldpZHRoKSB7CiAgICAgICAgIGludCBmZWF0dXJlVHlwZVZh
bHVlID0ga1RleHRTcGFjaW5nVHlwZTsKICAgICAgICAgaW50IGZlYXR1cmVTZWxlY3RvclZhbHVl
ID0gbWFwRm9udFdpZHRoVmFyaWFudFRvQ1RGZWF0dXJlU2VsZWN0b3IobV93aWR0aFZhcmlhbnQp
OwotICAgICAgICBSZXRhaW5QdHI8Q1RGb250RGVzY3JpcHRvclJlZj4gc291cmNlRGVzY3JpcHRv
ciA9IGFkb3B0Q0YoQ1RGb250Q29weUZvbnREZXNjcmlwdG9yKG1fY3RGb250LmdldCgpKSk7Cisg
ICAgICAgIFJldGFpblB0cjxDVEZvbnREZXNjcmlwdG9yUmVmPiBzb3VyY2VEZXNjcmlwdG9yID0g
YWRvcHRDRihDVEZvbnRDb3B5Rm9udERlc2NyaXB0b3IocmVzdWx0LmdldCgpKSk7CiAgICAgICAg
IFJldGFpblB0cjxDRk51bWJlclJlZj4gZmVhdHVyZVR5cGUgPSBhZG9wdENGKENGTnVtYmVyQ3Jl
YXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIGtDRk51bWJlckludFR5cGUsICZmZWF0dXJlVHlwZVZh
bHVlKSk7CiAgICAgICAgIFJldGFpblB0cjxDRk51bWJlclJlZj4gZmVhdHVyZVNlbGVjdG9yID0g
YWRvcHRDRihDRk51bWJlckNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBrQ0ZOdW1iZXJJbnRU
eXBlLCAmZmVhdHVyZVNlbGVjdG9yVmFsdWUpKTsKICAgICAgICAgUmV0YWluUHRyPENURm9udERl
c2NyaXB0b3JSZWY+IG5ld0Rlc2NyaXB0b3IgPSBhZG9wdENGKENURm9udERlc2NyaXB0b3JDcmVh
dGVDb3B5V2l0aEZlYXR1cmUoc291cmNlRGVzY3JpcHRvci5nZXQoKSwgZmVhdHVyZVR5cGUuZ2V0
KCksIGZlYXR1cmVTZWxlY3Rvci5nZXQoKSkpOwogICAgICAgICBSZXRhaW5QdHI8Q1RGb250UmVm
PiBuZXdGb250ID0gYWRvcHRDRihDVEZvbnRDcmVhdGVXaXRoRm9udERlc2NyaXB0b3IobmV3RGVz
Y3JpcHRvci5nZXQoKSwgbV9zaXplLCAwKSk7CiAKICAgICAgICAgaWYgKG5ld0ZvbnQpCi0gICAg
ICAgICAgICBtX2N0Rm9udCA9IG5ld0ZvbnQ7CisgICAgICAgICAgICByZXN1bHQgPSBuZXdGb250
OwogICAgIH0KIAotICAgIHJldHVybiBtX2N0Rm9udC5nZXQoKTsKLX0KLQotUmV0YWluUHRyPENG
VHlwZVJlZj4gRm9udFBsYXRmb3JtRGF0YTo6b2JqZWN0Rm9yRXF1YWxpdHlDaGVjayhDVEZvbnRS
ZWYgY3RGb250KQotewotI2lmIChQTEFURk9STShJT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05f
TUlOX1JFUVVJUkVEIDw9IDgwMDAwKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEIDw9IDEwMTAwMCkKLSAgICBhdXRvIGZvbnREZXNjcmlwdG9yID0g
YWRvcHRDRihDVEZvbnRDb3B5Rm9udERlc2NyaXB0b3IoY3RGb250KSk7Ci0gICAgLy8gRklYTUU6
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg2ODMgVGhpcyBpcyBh
IHNoYWxsb3cgcG9pbnRlciBjb21wYXJlIGZvciB3ZWIgZm9udHMKLSAgICAvLyBiZWNhdXNlIHRo
ZSBVUkwgY29udGFpbnMgdGhlIGFkZHJlc3Mgb2YgdGhlIGZvbnQuIFRoaXMgbWVhbnMgd2UgbWln
aHQgZXJyb25lb3VzbHkgZ2V0IGZhbHNlIG5lZ2F0aXZlcy4KLSAgICBSZXRhaW5QdHI8Q0ZVUkxS
ZWY+IHVybCA9IGFkb3B0Q0Yoc3RhdGljX2Nhc3Q8Q0ZVUkxSZWY+KENURm9udERlc2NyaXB0b3JD
b3B5QXR0cmlidXRlKGZvbnREZXNjcmlwdG9yLmdldCgpLCBrQ1RGb250UmVmZXJlbmNlVVJMQXR0
cmlidXRlKSkpOwotICAgIEFTU0VSVChDRkdldFR5cGVJRCh1cmwuZ2V0KCkpID09IENGVVJMR2V0
VHlwZUlEKCkpOwotICAgIHJldHVybiB1cmw7Ci0jZWxzZQotICAgIHJldHVybiBhZG9wdENGKENU
Rm9udENvcHlHcmFwaGljc0ZvbnQoY3RGb250LCAwKSk7Ci0jZW5kaWYKLX0KLQotUmV0YWluUHRy
PENGVHlwZVJlZj4gRm9udFBsYXRmb3JtRGF0YTo6b2JqZWN0Rm9yRXF1YWxpdHlDaGVjaygpIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIG9iamVjdEZvckVxdWFsaXR5Q2hlY2soY3RGb250KCkpOworICAg
IHJldHVybiByZXN1bHQ7CiB9CiAKIFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiBGb250UGxhdGZv
cm1EYXRhOjpvcGVuVHlwZVRhYmxlKHVpbnQzMl90IHRhYmxlKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxl
ckNvcmVUZXh0Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBs
ZXhUZXh0Q29udHJvbGxlckNvcmVUZXh0Lm1tCmluZGV4IDNmOTcxMzFkOTU5M2EwMDJkOTVmYmNi
ZWNiNmExYzQ0MmI0YzhlNTEuLjhkMDE3NDk5ZDJiOTU5NjZkZDI5NTA3MzMwYzY1ZmMwMWViNjBm
ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Db21w
bGV4VGV4dENvbnRyb2xsZXJDb3JlVGV4dC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyQ29yZVRleHQubW0KQEAgLTI1OCwx
NSArMjU4LDE1IEBAIHZvaWQgQ29tcGxleFRleHRDb250cm9sbGVyOjpjb2xsZWN0Q29tcGxleFRl
eHRSdW5zRm9yQ2hhcmFjdGVycyhjb25zdCBVQ2hhciogY3AsCiAgICAgICAgICAgICBDRkRpY3Rp
b25hcnlSZWYgcnVuQXR0cmlidXRlcyA9IENUUnVuR2V0QXR0cmlidXRlcyhjdFJ1bik7CiAgICAg
ICAgICAgICBDVEZvbnRSZWYgcnVuQ1RGb250ID0gc3RhdGljX2Nhc3Q8Q1RGb250UmVmPihDRkRp
Y3Rpb25hcnlHZXRWYWx1ZShydW5BdHRyaWJ1dGVzLCBrQ1RGb250QXR0cmlidXRlTmFtZSkpOwog
ICAgICAgICAgICAgQVNTRVJUKENGR2V0VHlwZUlEKHJ1bkNURm9udCkgPT0gQ1RGb250R2V0VHlw
ZUlEKCkpOwotICAgICAgICAgICAgUmV0YWluUHRyPENGVHlwZVJlZj4gcnVuRm9udEVxdWFsaXR5
T2JqZWN0ID0gRm9udFBsYXRmb3JtRGF0YTo6b2JqZWN0Rm9yRXF1YWxpdHlDaGVjayhydW5DVEZv
bnQpOwotICAgICAgICAgICAgaWYgKCFDRkVxdWFsKHJ1bkZvbnRFcXVhbGl0eU9iamVjdC5nZXQo
KSwgZm9udC0+cGxhdGZvcm1EYXRhKCkub2JqZWN0Rm9yRXF1YWxpdHlDaGVjaygpLmdldCgpKSkg
eworICAgICAgICAgICAgQ0ZIYXNoQ29kZSBydW5Gb250SGFzaCA9IGNhbGN1bGF0ZUZvbnRIYXNo
KHJ1bkNURm9udCk7CisgICAgICAgICAgICBpZiAocnVuRm9udEhhc2ggIT0gZm9udC0+cGxhdGZv
cm1EYXRhKCkucGFydGlhbEhhc2goKSkgewogICAgICAgICAgICAgICAgIC8vIEJlZ2luIHRyeWlu
ZyB0byBzZWUgaWYgcnVuRm9udCBtYXRjaGVzIGFueSBvZiB0aGUgZm9udHMgaW4gdGhlIGZhbGxi
YWNrIGxpc3QuCiAKICAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyAhbV9mb250
LmZhbGxiYWNrUmFuZ2VzQXQoaSkuaXNOdWxsKCk7ICsraSkgewogICAgICAgICAgICAgICAgICAg
ICBydW5Gb250ID0gbV9mb250LmZhbGxiYWNrUmFuZ2VzQXQoaSkuZm9udEZvckNoYXJhY3Rlcihi
YXNlQ2hhcmFjdGVyKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKCFydW5Gb250KQogICAgICAg
ICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChDRkVx
dWFsKHJ1bkZvbnQtPnBsYXRmb3JtRGF0YSgpLm9iamVjdEZvckVxdWFsaXR5Q2hlY2soKS5nZXQo
KSwgcnVuRm9udEVxdWFsaXR5T2JqZWN0LmdldCgpKSkKKyAgICAgICAgICAgICAgICAgICAgaWYg
KHJ1bkZvbnQtPnBsYXRmb3JtRGF0YSgpLnBhcnRpYWxIYXNoKCkgPT0gcnVuRm9udEhhc2gpCiAg
ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgcnVuRm9u
dCA9IG51bGxwdHI7CiAgICAgICAgICAgICAgICAgfQpAQCAtMjg2LDcgKzI4Niw3IEBAIHZvaWQg
Q29tcGxleFRleHRDb250cm9sbGVyOjpjb2xsZWN0Q29tcGxleFRleHRSdW5zRm9yQ2hhcmFjdGVy
cyhjb25zdCBVQ2hhciogY3AsCiAgICAgICAgICAgICAgICAgICAgIC8vIENvcmUgVGV4dCBtYXkg
aGF2ZSB1c2VkIGEgZm9udCB0aGF0IGlzIG5vdCBrbm93biB0byBOU0ZvbnRNYW5hZ2VyLiBJbiB0
aGF0IGNhc2UsIGZhbGwgYmFjayBvbgogICAgICAgICAgICAgICAgICAgICAvLyB1c2luZyB0aGUg
Zm9udCBhcyByZXR1cm5lZCwgZXZlbiB0aG91Z2ggaXQgbWF5IG5vdCBoYXZlIHRoZSBiZXN0IE5T
Rm9udFJlbmRlcmluZ01vZGUuCiAgICAgICAgICAgICAgICAgICAgIGlmICghcnVuRm9udCkgewot
ICAgICAgICAgICAgICAgICAgICAgICAgRm9udFBsYXRmb3JtRGF0YSBydW5Gb250UGxhdGZvcm1E
YXRhKChOU0ZvbnQgKilydW5DVEZvbnQsIENURm9udEdldFNpemUocnVuQ1RGb250KSk7CisgICAg
ICAgICAgICAgICAgICAgICAgICBGb250UGxhdGZvcm1EYXRhIHJ1bkZvbnRQbGF0Zm9ybURhdGEo
cnVuQ1RGb250LCBDVEZvbnRHZXRTaXplKHJ1bkNURm9udCkpOwogICAgICAgICAgICAgICAgICAg
ICAgICAgcnVuRm9udCA9IGZvbnRDYWNoZS5mb250Rm9yUGxhdGZvcm1EYXRhKHJ1bkZvbnRQbGF0
Zm9ybURhdGEpLnB0cigpOwogICAgICAgICAgICAgICAgICAgICB9CiAjZWxzZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDYWNoZU1hYy5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q2FjaGVNYWMubW0KaW5k
ZXggYzFlNzg2NGZkMmNjM2FiYjFhZTU2YjA0YmEwZjg1ODBiNzExMWI5ZC4uNWQxOWZhNjdjZTk0
YjVkMmRmNmU0MTlkNjhmY2M4ZTg0YzRkMWY3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDYWNoZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udENhY2hlTWFjLm1tCkBAIC00MDMsNyArNDAzLDcg
QEAgUmVmUHRyPEZvbnQ+IEZvbnRDYWNoZTo6c3lzdGVtRmFsbGJhY2tGb3JDaGFyYWN0ZXJzKGNv
bnN0IEZvbnREZXNjcmlwdGlvbiYgZGVzY3IKICAgICBzdWJzdGl0dXRlRm9udFRyYWl0cyA9IFtm
b250TWFuYWdlciB0cmFpdHNPZkZvbnQ6c3Vic3RpdHV0ZUZvbnRdOwogICAgIHN1YnN0aXR1dGVG
b250V2VpZ2h0ID0gW2ZvbnRNYW5hZ2VyIHdlaWdodE9mRm9udDpzdWJzdGl0dXRlRm9udF07CiAK
LSAgICBGb250UGxhdGZvcm1EYXRhIGFsdGVybmF0ZUZvbnQoc3Vic3RpdHV0ZUZvbnQsIHBsYXRm
b3JtRGF0YS5zaXplKCksCisgICAgRm9udFBsYXRmb3JtRGF0YSBhbHRlcm5hdGVGb250KHN0YXRp
Y19jYXN0PENURm9udFJlZj4oc3Vic3RpdHV0ZUZvbnQpLCBwbGF0Zm9ybURhdGEuc2l6ZSgpLAog
ICAgICAgICAhaXNQbGF0Zm9ybUZvbnQgJiYgaXNBcHBLaXRGb250V2VpZ2h0Qm9sZCh3ZWlnaHQp
ICYmICFpc0FwcEtpdEZvbnRXZWlnaHRCb2xkKHN1YnN0aXR1dGVGb250V2VpZ2h0KSwKICAgICAg
ICAgIWlzUGxhdGZvcm1Gb250ICYmICh0cmFpdHMgJiBOU0ZvbnRJdGFsaWNUcmFpdCkgJiYgIShz
dWJzdGl0dXRlRm9udFRyYWl0cyAmIE5TRm9udEl0YWxpY1RyYWl0KSwKICAgICAgICAgcGxhdGZv
cm1EYXRhLm1fb3JpZW50YXRpb24pOwpAQCAtNTEyLDcgKzUxMiw3IEBAIHN0ZDo6dW5pcXVlX3B0
cjxGb250UGxhdGZvcm1EYXRhPiBGb250Q2FjaGU6OmNyZWF0ZUZvbnRQbGF0Zm9ybURhdGEoY29u
c3QgRm9udERlCiAgICAgYm9vbCBzeW50aGV0aWNCb2xkID0gaXNBcHBLaXRGb250V2VpZ2h0Qm9s
ZCh3ZWlnaHQpICYmICFpc0FwcEtpdEZvbnRXZWlnaHRCb2xkKGFjdHVhbFdlaWdodCk7CiAgICAg
Ym9vbCBzeW50aGV0aWNPYmxpcXVlID0gKHRyYWl0cyAmIE5TRm9udEl0YWxpY1RyYWl0KSAmJiAh
KGFjdHVhbFRyYWl0cyAmIE5TRm9udEl0YWxpY1RyYWl0KTsKIAotICAgIHJldHVybiBzdGQ6Om1h
a2VfdW5pcXVlPEZvbnRQbGF0Zm9ybURhdGE+KHBsYXRmb3JtRm9udCwgc2l6ZSwgc3ludGhldGlj
Qm9sZCwgc3ludGhldGljT2JsaXF1ZSwgZm9udERlc2NyaXB0aW9uLm9yaWVudGF0aW9uKCksIGZv
bnREZXNjcmlwdGlvbi53aWR0aFZhcmlhbnQoKSk7CisgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlx
dWU8Rm9udFBsYXRmb3JtRGF0YT4oc3RhdGljX2Nhc3Q8Q1RGb250UmVmPihwbGF0Zm9ybUZvbnQp
LCBzaXplLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNPYmxpcXVlLCBmb250RGVzY3JpcHRpb24u
b3JpZW50YXRpb24oKSwgZm9udERlc2NyaXB0aW9uLndpZHRoVmFyaWFudCgpKTsKIH0KIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL0dseXBoUGFnZU1hYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9tYWMvR2x5cGhQYWdlTWFjLmNwcAppbmRleCA2MDM2YTEyNzI5ZjcyZWRmZDczNzEw
YzBmNzg5Y2ViN2I4YjFhYjRlLi5jMDQ0MjBmMzAzNGUxNDAzYjVhM2MwMjQ3N2M0NzQ5NDQwZGJk
YzQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR2x5
cGhQYWdlTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
R2x5cGhQYWdlTWFjLmNwcApAQCAtMTE5LDcgKzExOSw3IEBAIGJvb2wgR2x5cGhQYWdlOjpmaWxs
KHVuc2lnbmVkIG9mZnNldCwgdW5zaWduZWQgbGVuZ3RoLCBVQ2hhciogYnVmZmVyLCB1bnNpZ25l
ZCBiCiAgICAgICAgIFZlY3RvcjxDRkluZGV4LCA1MTI+IGluZGV4VmVjdG9yOwogICAgICAgICBi
b29sIGRvbmUgPSBmYWxzZTsKIAotICAgICAgICBSZXRhaW5QdHI8Q0ZUeXBlUmVmPiBmb250RXF1
YWxpdHlPYmplY3QgPSBmb250RGF0YS0+cGxhdGZvcm1EYXRhKCkub2JqZWN0Rm9yRXF1YWxpdHlD
aGVjaygpOworICAgICAgICBDRkhhc2hDb2RlIGZvbnRIYXNoID0gZm9udERhdGEtPnBsYXRmb3Jt
RGF0YSgpLnBhcnRpYWxIYXNoKCk7CiAKICAgICAgICAgZm9yIChDRkluZGV4IHIgPSAwOyByIDwg
cnVuQ291bnQgJiYgIWRvbmUgOyArK3IpIHsKICAgICAgICAgICAgIC8vIENUTGluZSBjb3VsZCBt
YXAgY2hhcmFjdGVycyBvdmVyIG11bHRpcGxlIGZvbnRzIHVzaW5nIGl0cyBvd24gZm9udCBmYWxs
YmFjayBsaXN0LgpAQCAtMTI5LDcgKzEyOSw3IEBAIGJvb2wgR2x5cGhQYWdlOjpmaWxsKHVuc2ln
bmVkIG9mZnNldCwgdW5zaWduZWQgbGVuZ3RoLCBVQ2hhciogYnVmZmVyLCB1bnNpZ25lZCBiCiAK
ICAgICAgICAgICAgIENGRGljdGlvbmFyeVJlZiBhdHRyaWJ1dGVzID0gQ1RSdW5HZXRBdHRyaWJ1
dGVzKGN0UnVuKTsKICAgICAgICAgICAgIENURm9udFJlZiBydW5Gb250ID0gc3RhdGljX2Nhc3Q8
Q1RGb250UmVmPihDRkRpY3Rpb25hcnlHZXRWYWx1ZShhdHRyaWJ1dGVzLCBrQ1RGb250QXR0cmli
dXRlTmFtZSkpOwotICAgICAgICAgICAgYm9vbCBnb3RCYXNlRm9udCA9IENGRXF1YWwoZm9udEVx
dWFsaXR5T2JqZWN0LmdldCgpLCBGb250UGxhdGZvcm1EYXRhOjpvYmplY3RGb3JFcXVhbGl0eUNo
ZWNrKHJ1bkZvbnQpLmdldCgpKTsKKyAgICAgICAgICAgIGJvb2wgZ290QmFzZUZvbnQgPSBmb250
SGFzaCA9PSBjYWxjdWxhdGVGb250SGFzaChydW5Gb250KTsKICAgICAgICAgICAgIGlmIChnb3RC
YXNlRm9udCB8fCBmb250RGF0YS0+cGxhdGZvcm1EYXRhKCkuaXNDb21wb3NpdGVGb250UmVmZXJl
bmNlKCkpIHsKICAgICAgICAgICAgICAgICAvLyBUaGlzIHJ1biB1c2VzIHRoZSBmb250IHdlIHdh
bnQuIEV4dHJhY3QgZ2x5cGhzLgogICAgICAgICAgICAgICAgIENGSW5kZXggZ2x5cGhDb3VudCA9
IENUUnVuR2V0R2x5cGhDb3VudChjdFJ1bik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAK
aW5kZXggZTBhNzU5MzBkYzNjOTlhMDI2NzI3N2IzYmIxNGFlMTI3MGMxMzVmMy4uMGY4MzAxNzIw
NWUyZTFjZDJjM2YxOTkzZGZkZWNhMTZiM2E5NzY4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVU
ZXh0LmNwcApAQCAtNDYsMTAgKzQ2LDcgQEAgQ0ZEaWN0aW9uYXJ5UmVmIEZvbnQ6OmdldENGU3Ry
aW5nQXR0cmlidXRlcyhUeXBlc2V0dGluZ0ZlYXR1cmVzIHR5cGVzZXR0aW5nRmVhdHUKICAgICBh
dHRyaWJ1dGVzRGljdGlvbmFyeSA9IGFkb3B0Q0YoQ0ZEaWN0aW9uYXJ5Q3JlYXRlTXV0YWJsZShr
Q0ZBbGxvY2F0b3JEZWZhdWx0LCA0LCAma0NGQ29weVN0cmluZ0RpY3Rpb25hcnlLZXlDYWxsQmFj
a3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZhbHVlQ2FsbEJhY2tzKSk7CiAgICAgQ0ZNdXRhYmxlRGlj
dGlvbmFyeVJlZiBtdXRhYmxlQXR0cmlidXRlcyA9IChDRk11dGFibGVEaWN0aW9uYXJ5UmVmKWF0
dHJpYnV0ZXNEaWN0aW9uYXJ5LmdldCgpOwogCi0gICAgLy8gbV9wbGF0Zm9ybURhdGEuZm9udCgp
IHJldHVybnMgdGhlIG9yaWdpbmFsIGZvbnQgdGhhdCB3YXMgcGFzc2VkIGludG8gdGhlIEZvbnRQ
bGF0Zm9ybURhdGEgY29uc3RydWN0b3IuIEluIHRoZSBjYXNlIG9mIGZvbnRzIHRoYXQgaGF2ZSBj
dXN0b20gdHJhY2tpbmcsCi0gICAgLy8gdGhlIGN1c3RvbSB0cmFja2luZyBkb2VzIG5vdCBzdXJ2
aXZlIHRoZSB0cmFuc2Zvcm1hdGlvbiB0byBlaXRoZXIgbV9wbGF0Zm9ybURhdGEuY2dGb250KCkg
bm9yIG1fcGxhdGZvcm1EYXRhLmN0Rm9udCgpLCBzbyB3ZSBtdXN0IHVzZSB0aGUgb3JpZ2luYWwK
LSAgICAvLyBmb250KCkgdGhhdCB3YXMgcGFzc2VkIGluLiBIb3dldmVyLCBmb3Igd2ViIGZvbnRz
LCBtX3BsYXRmb3JtRGF0YS5mb250KCkgaXMgbnVsbCwgc28gd2UgbXVzdCB1c2UgbV9wbGF0Zm9y
bURhdGEuY3RGb250KCkgZm9yIHRob3NlIGNhc2VzLgotICAgIENGRGljdGlvbmFyeVNldFZhbHVl
KG11dGFibGVBdHRyaWJ1dGVzLCBrQ1RGb250QXR0cmlidXRlTmFtZSwgaGFzQ3VzdG9tVHJhY2tp
bmcoKSA/IHBsYXRmb3JtRGF0YSgpLmZvbnQoKSA6IHBsYXRmb3JtRGF0YSgpLmN0Rm9udCgpKTsK
KyAgICBDRkRpY3Rpb25hcnlTZXRWYWx1ZShtdXRhYmxlQXR0cmlidXRlcywga0NURm9udEF0dHJp
YnV0ZU5hbWUsIHBsYXRmb3JtRGF0YSgpLmN0Rm9udCgpKTsKIAogICAgIGlmICghKHR5cGVzZXR0
aW5nRmVhdHVyZXMgJiBLZXJuaW5nKSkgewogICAgICAgICBjb25zdCBmbG9hdCB6ZXJvID0gMDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9EcmFnSW1hZ2VNYWMubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvRHJhZ0ltYWdlTWFjLm1tCmluZGV4IGU3OTMx
MzQ0OGQ4OTNiZjlkN2UwZDgzOTM3Nzk0ZDU3ZWM4ZjQyNzEuLmE0NTkxZWI1NDQ4ODhjYWQ1MDhk
NGQ0ZWJkMWJjMGVkMGZkNjdhMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9EcmFnSW1hZ2VNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0Ry
YWdJbWFnZU1hYy5tbQpAQCAtMTY4LDcgKzE2OCw3IEBAIHN0YXRpYyBGb250Q2FzY2FkZSYgZm9u
dEZyb21OU0ZvbnQoTlNGb250ICpmb250KQogICAgICAgICBDRlJlbGVhc2UoY3VycmVudEZvbnQp
OwogICAgIGN1cnJlbnRGb250ID0gZm9udDsKICAgICBDRlJldGFpbihjdXJyZW50Rm9udCk7Ci0g
ICAgY3VycmVudFJlbmRlcmVyID0gRm9udENhc2NhZGUoRm9udFBsYXRmb3JtRGF0YShmb250LCBb
Zm9udCBwb2ludFNpemVdKSk7CisgICAgY3VycmVudFJlbmRlcmVyID0gRm9udENhc2NhZGUoRm9u
dFBsYXRmb3JtRGF0YShzdGF0aWNfY2FzdDxDVEZvbnRSZWY+KGZvbnQpLCBbZm9udCBwb2ludFNp
emVdKSk7CiAgICAgcmV0dXJuIGN1cnJlbnRSZW5kZXJlcjsKIH0KIApAQCAtMTkxLDcgKzE5MSw3
IEBAIHN0YXRpYyBmbG9hdCB3aWR0aFdpdGhGb250KE5TU3RyaW5nICpzdHJpbmcsIE5TRm9udCAq
Zm9udCkKICAgICBbc3RyaW5nIGdldENoYXJhY3RlcnM6YnVmZmVyLmRhdGEoKV07CiAgICAgCiAg
ICAgaWYgKGNhblVzZUZhc3RSZW5kZXJlcihidWZmZXIuZGF0YSgpLCBsZW5ndGgpKSB7Ci0gICAg
ICAgIEZvbnRDYXNjYWRlIHdlYkNvcmVGb250KEZvbnRQbGF0Zm9ybURhdGEoZm9udCwgW2ZvbnQg
cG9pbnRTaXplXSkpOworICAgICAgICBGb250Q2FzY2FkZSB3ZWJDb3JlRm9udChGb250UGxhdGZv
cm1EYXRhKHN0YXRpY19jYXN0PENURm9udFJlZj4oZm9udCksIFtmb250IHBvaW50U2l6ZV0pKTsK
ICAgICAgICAgVGV4dFJ1biBydW4oYnVmZmVyLmRhdGEoKSwgbGVuZ3RoKTsKICAgICAgICAgcnVu
LmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7CiAgICAgICAgIHJldHVybiB3ZWJDb3JlRm9udC53aWR0
aChydW4pOwpAQCAtMjIzLDcgKzIyMyw3IEBAIHN0YXRpYyB2b2lkIGRyYXdBdFBvaW50KE5TU3Ry
aW5nICpzdHJpbmcsIE5TUG9pbnQgcG9pbnQsIE5TRm9udCAqZm9udCwgTlNDb2xvciAqCiAgICAg
ICAgIGlmICghZmxpcHBlZCkKICAgICAgICAgICAgIENHQ29udGV4dFNjYWxlQ1RNKGNnQ29udGV4
dCwgMSwgLTEpOwogICAgICAgICAgICAgCi0gICAgICAgIEZvbnRDYXNjYWRlIHdlYkNvcmVGb250
KEZvbnRQbGF0Zm9ybURhdGEoZm9udCwgW2ZvbnQgcG9pbnRTaXplXSksIEFudGlhbGlhc2VkKTsK
KyAgICAgICAgRm9udENhc2NhZGUgd2ViQ29yZUZvbnQoRm9udFBsYXRmb3JtRGF0YShzdGF0aWNf
Y2FzdDxDVEZvbnRSZWY+KGZvbnQpLCBbZm9udCBwb2ludFNpemVdKSwgQW50aWFsaWFzZWQpOwog
ICAgICAgICBUZXh0UnVuIHJ1bihidWZmZXIuZGF0YSgpLCBsZW5ndGgpOwogICAgICAgICBydW4u
ZGlzYWJsZVJvdW5kaW5nSGFja3MoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
TWlzYy9XZWJLaXROU1N0cmluZ0V4dHJhcy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2Vi
S2l0TlNTdHJpbmdFeHRyYXMubW0KaW5kZXggNTMzNzljNTJiOWNjMTk1ZWRiYTMwYTlhOWI3OGZi
MTgyNTExNGYxMS4uM2QwYzFhMmU1ZjRjYTViMTQyNzZiNGFjMDFmZWIxMzZjOTFmNTk1OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJLaXROU1N0cmluZ0V4dHJhcy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYktpdE5TU3RyaW5nRXh0cmFzLm1tCkBAIC05
Miw3ICs5Miw3IEBAIC0gKHZvaWQpX3dlYl9kcmF3QXRQb2ludDooTlNQb2ludClwb2ludCBmb250
OihOU0ZvbnQgKilmb250IHRleHRDb2xvcjooTlNDb2xvciAqCiAgICAgICAgIGlmICghZmxpcHBl
ZCkKICAgICAgICAgICAgIENHQ29udGV4dFNjYWxlQ1RNKGNnQ29udGV4dCwgMSwgLTEpOwogCi0g
ICAgICAgIEZvbnRDYXNjYWRlIHdlYkNvcmVGb250KEZvbnRQbGF0Zm9ybURhdGEoZm9udCwgW2Zv
bnQgcG9pbnRTaXplXSksIGZvbnRTbW9vdGhpbmdJc0FsbG93ZWQgPyBBdXRvU21vb3RoaW5nIDog
QW50aWFsaWFzZWQpOworICAgICAgICBGb250Q2FzY2FkZSB3ZWJDb3JlRm9udChGb250UGxhdGZv
cm1EYXRhKHN0YXRpY19jYXN0PENURm9udFJlZj4oZm9udCksIFtmb250IHBvaW50U2l6ZV0pLCBm
b250U21vb3RoaW5nSXNBbGxvd2VkID8gQXV0b1Ntb290aGluZyA6IEFudGlhbGlhc2VkKTsKICAg
ICAgICAgVGV4dFJ1biBydW4oYnVmZmVyLmRhdGEoKSwgbGVuZ3RoKTsKICAgICAgICAgcnVuLmRp
c2FibGVSb3VuZGluZ0hhY2tzKCk7CiAKQEAgLTEzOCw3ICsxMzgsNyBAQCAtIChmbG9hdClfd2Vi
X3dpZHRoV2l0aEZvbnQ6KE5TRm9udCAqKWZvbnQKICAgICBbc2VsZiBnZXRDaGFyYWN0ZXJzOmJ1
ZmZlci5kYXRhKCldOwogCiAgICAgaWYgKGNhblVzZUZhc3RSZW5kZXJlcihidWZmZXIuZGF0YSgp
LCBsZW5ndGgpKSB7Ci0gICAgICAgIEZvbnRDYXNjYWRlIHdlYkNvcmVGb250KEZvbnRQbGF0Zm9y
bURhdGEoZm9udCwgW2ZvbnQgcG9pbnRTaXplXSkpOworICAgICAgICBGb250Q2FzY2FkZSB3ZWJD
b3JlRm9udChGb250UGxhdGZvcm1EYXRhKHN0YXRpY19jYXN0PENURm9udFJlZj4oZm9udCksIFtm
b250IHBvaW50U2l6ZV0pKTsKICAgICAgICAgVGV4dFJ1biBydW4oYnVmZmVyLmRhdGEoKSwgbGVu
Z3RoKTsKICAgICAgICAgcnVuLmRpc2FibGVSb3VuZGluZ0hhY2tzKCk7CiAgICAgICAgIHJldHVy
biB3ZWJDb3JlRm9udC53aWR0aChydW4pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
TWlzYy9XZWJTdHJpbmdUcnVuY2F0b3IubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYlN0
cmluZ1RydW5jYXRvci5tbQppbmRleCAzNjI4Zjg1NDAwNTE3M2E2NDcxNGRmNmUxNjdkMDIwYjc3
MDQxYjNmLi4yOGUyMjkzNzI4Zjk0MzNmZWY2NTkxZWU1YzA5M2NiZGI0YzY5MDIxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYlN0cmluZ1RydW5jYXRvci5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYlN0cmluZ1RydW5jYXRvci5tbQpAQCAtNDMsNyArNDMs
NyBAQCBzdGF0aWMgV2ViQ29yZTo6Rm9udENhc2NhZGUmIGZvbnRGcm9tTlNGb250KE5TRm9udCAq
Zm9udCkKICAgICBpZiAoW2ZvbnQgaXNFcXVhbDpjdXJyZW50TlNGb250LmdldCgpLmdldCgpXSkK
ICAgICAgICAgcmV0dXJuIGN1cnJlbnRGb250OwogICAgIGN1cnJlbnROU0ZvbnQuZ2V0KCkgPSBm
b250OwotICAgIGN1cnJlbnRGb250LmdldCgpID0gV2ViQ29yZTo6Rm9udENhc2NhZGUoV2ViQ29y
ZTo6Rm9udFBsYXRmb3JtRGF0YShmb250LCBbZm9udCBwb2ludFNpemVdKSk7CisgICAgY3VycmVu
dEZvbnQuZ2V0KCkgPSBXZWJDb3JlOjpGb250Q2FzY2FkZShXZWJDb3JlOjpGb250UGxhdGZvcm1E
YXRhKHN0YXRpY19jYXN0PENURm9udFJlZj4oZm9udCksIFtmb250IHBvaW50U2l6ZV0pKTsKICAg
ICByZXR1cm4gY3VycmVudEZvbnQ7CiB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>