<?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>181013</bug_id>
          
          <creation_ts>2017-12-19 17:10:58 -0800</creation_ts>
          <short_desc>Refactor user-installed font setting for clarity</short_desc>
          <delta_ts>2017-12-19 19:26:56 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1383437</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-12-19 17:10:58 -0800</bug_when>
    <thetext>Refactor user-installed font setting for clarity</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383444</commentid>
    <comment_count>1</comment_count>
      <attachid>329858</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-12-19 17:19:26 -0800</bug_when>
    <thetext>Created attachment 329858
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383448</commentid>
    <comment_count>2</comment_count>
      <attachid>329859</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-12-19 17:25:20 -0800</bug_when>
    <thetext>Created attachment 329859
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383453</commentid>
    <comment_count>3</comment_count>
      <attachid>329858</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-12-19 17:30:18 -0800</bug_when>
    <thetext>Comment on attachment 329858
Patch

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

&gt; Source/WebCore/platform/graphics/FontDescription.h:188
&gt; +    unsigned m_shouldAllowUserInstalledFonts : 1; // If this description is allowed to match a user-installed font

The comment should mention the name of the enum.

&gt; Source/WebCore/platform/text/TextFlags.h:367
&gt; +    Yes,
&gt; +    No

Maybe better to flip these so that No is 0 in case this gets cast to a bool context.

&gt; Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h:118
&gt; -@property (nonatomic, setter=_setShouldDisallowUserInstalledFonts:) BOOL _shouldDisallowUserInstalledFonts WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
&gt; +@property (nonatomic, setter=_setShouldAllowUserInstalledFonts:) BOOL _shouldAllowUserInstalledFonts WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));

I presume no-one is using this yet?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383454</commentid>
    <comment_count>4</comment_count>
      <attachid>329859</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-12-19 17:31:07 -0800</bug_when>
    <thetext>Comment on attachment 329859
Patch

Please see my comments on the previous patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383486</commentid>
    <comment_count>5</comment_count>
      <attachid>329858</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-12-19 18:50:14 -0800</bug_when>
    <thetext>Comment on attachment 329858
Patch

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

&gt;&gt; Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h:118
&gt;&gt; +@property (nonatomic, setter=_setShouldAllowUserInstalledFonts:) BOOL _shouldAllowUserInstalledFonts WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA));
&gt; 
&gt; I presume no-one is using this yet?

Correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383498</commentid>
    <comment_count>6</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-12-19 19:24:22 -0800</bug_when>
    <thetext>Committed r226172: &lt;https://trac.webkit.org/changeset/226172&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383499</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-19 19:26:56 -0800</bug_when>
    <thetext>&lt;rdar://problem/36147318&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329858</attachid>
            <date>2017-12-19 17:19:26 -0800</date>
            <delta_ts>2017-12-19 17:25:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181013-20171219171925.patch</filename>
            <type>text/plain</type>
            <size>36414</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2MTUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2Q0YmZmMzk4MWM5M2Rj
ZjUxYjc3N2JjMjQwZTYzMzE3YTdmMWUxOS4uZTJjN2NhNjdiYTJkYmEyNjA3M2I5YzEwYzI2MjRh
NWI2MDQzMzg3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDE3LTEyLTE5ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVmYWN0b3Ig
dXNlci1pbnN0YWxsZWQgZm9udCBzZXR0aW5nIGZvciBjbGFyaXR5CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODEwMTMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXZlIHRoZSB3YXkgZm9yIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODA5NTEuCisKKyAgICAgICAgVGhpcyBw
YXRjaCByZW5hbWVzIHRoZSBTZXR0aW5nIHRvIG5vdCBoYXZlIHNvIG1hbnkgZ3JhbW1hdGljYWwg
bmVnYXRpdmVzLCBhbmQgbW92ZXMKKyAgICAgICAgc29tZSBDb3JlVGV4dC1zcGVjaWZpYyBGb250
Q2FjaGUgZnVuY3Rpb24gc2lnbmF0dXJlcyBpbnRvIGEgbmV3IEZvbnRDYWNoZUNvcmVUZXh0LmgK
KyAgICAgICAgaGVhZGVyIGZpbGUuIEl0IGFsc28gdXNlcyB0aGUgQWxsb3dVc2VySW5zdGFsbGVk
Rm9udHMgZW51bSBjbGFzcyBpbiBtb3JlIHBsYWNlcyBpbnN0ZWFkCisgICAgICAgIG9mIHRoZSBv
bGQgYm9vbGVhbiB3ZSB3ZXJlIHVzaW5nLCBhbmQgcHV0cyB0aGlzIGVudW0gY2xhc3MgaW4gdGhl
IGNvbW1vbiBUZXh0RmxhZ3MuaAorICAgICAgICBoZWFkZXIuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICogV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGNzcy9DU1NGb250RmFj
ZVNldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250RmFjZVNldDo6ZW5zdXJlTG9jYWxG
b250RmFjZXNGb3JGYW1pbHlSZWdpc3RlcmVkKToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjppbml0aWFsaXplRm9udFN0
eWxlKToKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLnlhbWw6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udENhY2hlLmg6CisgICAgICAgIChXZWJDb3JlOjpTeW50aGVzaXNQYWlyOjpT
eW50aGVzaXNQYWlyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN5bnRoZXNpc1BhaXI6
OmJvbGRPYmxpcXVlUGFpciBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udERlc2NyaXB0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1fc2hvdWxkQWxs
b3dVc2VySW5zdGFsbGVkRm9udHMpOgorICAgICAgICAoV2ViQ29yZTo6bV9tYXlSZXByZXNlbnRV
c2VySW5zdGFsbGVkRm9udCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udERlc2NyaXB0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpGb250RGVzY3JpcHRpb246OnNo
b3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZv
bnREZXNjcmlwdGlvbjo6c2V0U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udERlc2NyaXB0aW9uOjpvcGVyYXRvcj09IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkZvbnREZXNjcmlwdGlvbjo6bWF5UmVwcmVzZW50VXNlckluc3RhbGxlZEZvbnQg
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Rm9udERlc2NyaXB0aW9uOjpzZXRN
YXlSZXByZXNlbnRVc2VySW5zdGFsbGVkRm9udCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9udERhdGFiYXNlOjpzaW5nbGV0b24pOgorICAgICAgICAoV2ViQ29yZTo6Rm9udERhdGFi
YXNlOjpzaW5nbGV0b25BbGxvd2luZ1VzZXJJbnN0YWxsZWRGb250cyk6CisgICAgICAgIChXZWJD
b3JlOjpGb250RGF0YWJhc2U6OnNpbmdsZXRvbkRpc2FsbG93aW5nVXNlckluc3RhbGxlZEZvbnRz
KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnREYXRhYmFzZTo6Rm9udERhdGFiYXNlKToKKyAgICAg
ICAgKFdlYkNvcmU6OnBsYXRmb3JtRm9udExvb2t1cFdpdGhGYW1pbHkpOgorICAgICAgICAoV2Vi
Q29yZTo6Zm9udFdpdGhGYW1pbHkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0ZvbnRDYWNoZUNvcmVUZXh0Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U3ludGhlc2lz
UGFpcjo6U3ludGhlc2lzUGFpcik6CisgICAgICAgIChXZWJDb3JlOjpTeW50aGVzaXNQYWlyOjpi
b2xkT2JsaXF1ZVBhaXIgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dEZsYWdz
Lmg6CisgICAgICAgICogc3R5bGUvU3R5bGVSZXNvbHZlRm9yRG9jdW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGU6OnJlc29sdmVGb3JEb2N1bWVudCk6CisKIDIwMTctMTItMTkgIEpl
ciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgUGxheWluZyBtZWRpYSBl
bGVtZW50cyB3aGljaCBjYWxsICJwYXVzZSgpOyBwbGF5KCkiIHdpbGwgaGF2ZSB0aGUgcGxheSBw
cm9taXNlIHJlamVjdGVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBjNTcwM2Y5YzVlYmVkMzM4NjFiZTgyYjE4MTEx
ZTY4MDg5MTEyZWE3Li4wNDQxOGMwYTkwY2VmNTViMjhlNjQ1NDZlMmMwZGQxYjY0MDc3ODY3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE3LTEyLTE5ICBNeWxlcyBDLiBNYXhmaWVsZCAg
PG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVmYWN0b3IgdXNlci1pbnN0YWxsZWQg
Zm9udCBzZXR0aW5nIGZvciBjbGFyaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xODEwMTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGVyZSBhcmUgbm8gY2xpZW50cyBvZiB0aGlzIFNQSSB5ZXQsIHNv
IHdlIGNhbiByZW5hbWUgaXQgdG8gcmVtb3ZlIHRoZQorICAgICAgICBncmFtbWF0aWNhbCBuZWdh
dGl2ZS4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdLUHJlZmVyZW5j
ZXNTZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyk6CisgICAgICAgIChXS1ByZWZlcmVu
Y2VzR2V0U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOgorICAgICAgICAoV0tQcmVmZXJl
bmNlc1NldFNob3VsZERpc2FsbG93VXNlckluc3RhbGxlZEZvbnRzKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdLUHJlZmVyZW5jZXNHZXRTaG91bGREaXNhbGxvd1VzZXJJbnN0YWxsZWRGb250cyk6IERl
bGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRl
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzLm1tOgorICAg
ICAgICAoLVtXS1ByZWZlcmVuY2VzIF9zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250c10pOgor
ICAgICAgICAoLVtXS1ByZWZlcmVuY2VzIF9zZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250
czpdKToKKyAgICAgICAgKC1bV0tQcmVmZXJlbmNlcyBfc2hvdWxkRGlzYWxsb3dVc2VySW5zdGFs
bGVkRm9udHNdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bV0tQcmVmZXJlbmNlcyBfc2V0U2hvdWxk
RGlzYWxsb3dVc2VySW5zdGFsbGVkRm9udHM6XSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oOgorCiAyMDE3LTEyLTE5ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFBsYXlpbmcgbWVkaWEgZWxl
bWVudHMgd2hpY2ggY2FsbCAicGF1c2UoKTsgcGxheSgpIiB3aWxsIGhhdmUgdGhlIHBsYXkgcHJv
bWlzZSByZWplY3RlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCAzZTNiMmViOGNmYWIxNDc3MDM1MTMzNjNiZWJhYzY4Njc5Y2Vk
NzJkLi4xYjIzZWFhOTNkOTJkMDBiMDRhZjZhZjZiMjExMGRkN2YwYzE0MDY4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zNzIx
LDYgKzM3MjEsNyBAQAogCQlDMTA1REE2NDBGM0FBNkI4MDAxREQ0NEYgLyogVGV4dEVuY29kaW5n
RGV0ZWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEMxMDVEQTYzMEYzQUE2QjgwMDFERDQ0RiAvKiBUZXh0RW5jb2RpbmdEZXRlY3Rvci5oICovOyB9
OwogCQlDMjAxNUMwQTFCRTZGRUIyMDA4MjIzODkgLyogRm9udFZhcmlhbnRCdWlsZGVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMjAxNUMwOTFCRTZG
RTJDMDA4MjIzODkgLyogRm9udFZhcmlhbnRCdWlsZGVyLmggKi87IH07CiAJCUMyMURGMkVBMUQ5
RTRFOTkwMEY1QjI0QyAvKiBDU1NGb250VmFyaWF0aW9uVmFsdWUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyMURGMkU4MUQ5RTRFOTkwMEY1QjI0QyAv
KiBDU1NGb250VmFyaWF0aW9uVmFsdWUuaCAqLzsgfTsKKwkJQzI0NThFNjMxRkU4OTdCMDAwNTk0
NzU5IC8qIEZvbnRDYWNoZUNvcmVUZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDMjQ1OEU2MTFGRTg5NzlFMDA1OTQ3NTkgLyogRm9udENhY2hlQ29y
ZVRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlDMjYwMTdBNDFDNzJEQzk5MDBGNzRBMTYgLyogQ1NTRm9udEZhY2VTZXQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyNjAxN0EyMUM3MkRDOTkwMEY3
NEExNiAvKiBDU1NGb250RmFjZVNldC5oICovOyB9OwogCQlDMjgwODMzRjFDNkRDMjZGMDAxNDUx
QjYgLyogSlNGb250RmFjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzI4MDgzM0UxQzZEQzIyQzAwMTQ1MUI2IC8qIEpTRm9udEZhY2UuaCAqLzsgfTsK
IAkJQzJBQjBBRjcxRTZCM0M2QzAwMTM0OEM1IC8qIEZvbnRTZWxlY3Rpb25BbGdvcml0aG0uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyQUIwQUY1MUU2
QjNDNkMwMDEzNDhDNSAvKiBGb250U2VsZWN0aW9uQWxnb3JpdGhtLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTEyNjM5LDYgKzEyNjQwLDcgQEAK
IAkJQzIwMTVDMDkxQkU2RkUyQzAwODIyMzg5IC8qIEZvbnRWYXJpYW50QnVpbGRlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBGb250VmFyaWFudEJ1aWxkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQzIxREYyRTcxRDlFNEU5OTAwRjVCMjRDIC8qIENTU0ZvbnRWYXJpYXRpb25WYWx1ZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NGb250VmFyaWF0aW9u
VmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMjFERjJFODFEOUU0RTk5
MDBGNUIyNEMgLyogQ1NTRm9udFZhcmlhdGlvblZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENTU0ZvbnRWYXJpYXRpb25WYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlDMjQ1OEU2MTFGRTg5NzlFMDA1OTQ3NTkgLyogRm9udENhY2hlQ29yZVRleHQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRm9udENhY2hlQ29yZVRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQzI2MDE3QTExQzcyREM5OTAwRjc0QTE2IC8qIENTU0ZvbnRGYWNlU2V0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0ZvbnRGYWNlU2V0LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzI2MDE3QTIxQzcyREM5OTAwRjc0QTE2
IC8qIENTU0ZvbnRGYWNlU2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENT
U0ZvbnRGYWNlU2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyODA4MzNDMUM2
REIxOTQwMDE0NTFCNiAvKiBGb250RmFjZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRm9u
dEZhY2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjMwMDYsNiArMjMwMDgs
NyBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQkxQzM5NjlDRjFC
NzQyMTFFMDAyQkNGQTcgLyogRm9udENhY2hlQ29yZVRleHQuY3BwICovLAorCQkJCUMyNDU4RTYx
MUZFODk3OUUwMDU5NDc1OSAvKiBGb250Q2FjaGVDb3JlVGV4dC5oICovLAogCQkJCUIyQUZGQzc4
MEQwMEE1QzEwMDMwMDc0RCAvKiBGb250Q2FzY2FkZUNvY29hLm1tICovLAogCQkJCTdDNEVERDcz
MUE3QjYwNzgwMDE5OEM0RCAvKiBGb250Q29jb2EubW0gKi8sCiAJCQkJMUMxMkFDMkMxRUU3Nzk5
NTAwNzlFMEEwIC8qIEZvbnREZXNjcmlwdGlvbkNvY29hLmNwcCAqLywKQEAgLTI2OTI4LDYgKzI2
OTMxLDcgQEAKIAkJCQk1MTdBNTM1QjFGNTg4QTRDMDBEQ0RDMEEgLyogRmV0Y2hCb2R5Q29uc3Vt
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxMjlDOTk3MUY1OUI5NjMwMDlENzQwMyAvKiBGZXRj
aEJvZHlTb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTQxRDEyOURCMUYzRDE0MzgwMEQxNUU0
NyAvKiBGZXRjaEhlYWRlcnMuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxNjFFMkQ1MUZFNDhEQzUw
MEVDMkU5NiAvKiBGZXRjaExvYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE3QTUzNTgxRjU4
ODlFODAwRENEQzBBIC8qIEZldGNoTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk0
MUFENzUzQTFDRUY2QkQxMDBBMzE0ODYgLyogRmV0Y2hPcHRpb25zLmggaW4gSGVhZGVycyAqLywK
IAkJCQk3Q0UxOTE0RDFGMkE5QUZCMDAyNzJGNzggLyogRmV0Y2hSZWZlcnJlclBvbGljeS5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0yNjk5MCw2ICsyNjk5NCw3IEBACiAJCQkJMUFDMkQ4OUQxQjFFMjkx
RjAwRDUyRTg3IC8qIEZvbnRBbnRpYWxpYXNpbmdTdGF0ZVNhdmVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQ0I5MkQ0RjEyOTM1NTBCMDBDODM4N0YgLyogRm9udEJhc2VsaW5lLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCMkMzREE2MzBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udENhY2hlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQlDMjQ1OEU2MzFGRTg5N0IwMDA1OTQ3NTkgLyogRm9udENhY2hlQ29yZVRl
eHQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyQzNEQTYxMEQwMDZDRDYwMEVGNkYyNiAvKiBGb250
Q2FzY2FkZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJDM0RBNjgwRDAwNkNENjAwRUY2RjI2IC8q
IEZvbnRDYXNjYWRlRm9udHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyQUZGQzdFMEQwMEE1QzEw
MDMwMDc0RCAvKiBGb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggaW4gSGVhZGVycyAqLywKQEAgLTI3
Mzg5LDcgKzI3Mzk0LDYgQEAKIAkJCQk3QTU0ODU4MDE0RTAyRDUxMDA2QUUwNUEgLyogSW5zcGVj
dG9ySGlzdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTVCODFDQUUxRkFBNDQ2MjAwMzdEMUU2
IC8qIEluc3BlY3RvckluZGV4ZWREQkFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkyMEQ2Mjky
NzEyNTM2OTBCMDAwODE1NDMgLyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggaW4gSGVhZGVy
cyAqLywKLQkJCQk0MTYxRTJENTFGRTQ4REM1MDBFQzJFOTYgLyogRmV0Y2hMb2FkZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUE1ODQwRTFEMTg3Qjc0RDUwMDg0M0IxMCAvKiBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb25Db29raWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1QjgxQ0FGMUZBQTQ0NjIw
MDM3RDFFNiAvKiBJbnNwZWN0b3JMYXllclRyZWVBZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTVCODFDQjAxRkFBNDQ2MjAwMzdEMUU2IC8qIEluc3BlY3Rvck1lbW9yeUFnZW50LmggaW4gSGVh
ZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNldC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTZXQuY3BwCmluZGV4IDVjNDAzMTNl
NTljNmM0ZDNmZTBmYjI3ZWQ4MzY4ZDA2NjYxOTQxMzYuLmI4MTA0MDNmYzA3YThmNzJhYjUzOWJm
ZTM0ZmMzMGM2ZjRkMDRhOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
RmFjZVNldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU2V0LmNwcApA
QCAtMTA0LDkgKzEwNCw5IEBAIHZvaWQgQ1NTRm9udEZhY2VTZXQ6OmVuc3VyZUxvY2FsRm9udEZh
Y2VzRm9yRmFtaWx5UmVnaXN0ZXJlZChjb25zdCBTdHJpbmcmIGZhbWlsCiAgICAgaWYgKG1fbG9j
YWxseUluc3RhbGxlZEZhY2VzTG9va3VwVGFibGUuY29udGFpbnMoZmFtaWx5TmFtZSkpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIEZvbnRDYWNoZTo6QWxsb3dVc2VySW5zdGFsbGVkRm9udHMgYWxs
b3dVc2VySW5zdGFsbGVkRm9udHMgPSBGb250Q2FjaGU6OkFsbG93VXNlckluc3RhbGxlZEZvbnRz
OjpZZXM7Ci0gICAgaWYgKG1fb3duaW5nRm9udFNlbGVjdG9yLT5kb2N1bWVudCgpICYmIG1fb3du
aW5nRm9udFNlbGVjdG9yLT5kb2N1bWVudCgpLT5zZXR0aW5ncygpLnNob3VsZERpc2FsbG93VXNl
ckluc3RhbGxlZEZvbnRzKCkpCi0gICAgICAgIGFsbG93VXNlckluc3RhbGxlZEZvbnRzID0gRm9u
dENhY2hlOjpBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6Tm87CisgICAgQWxsb3dVc2VySW5zdGFs
bGVkRm9udHMgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMgPSBBbGxvd1VzZXJJbnN0YWxsZWRGb250
czo6WWVzOworICAgIGlmIChtX293bmluZ0ZvbnRTZWxlY3Rvci0+ZG9jdW1lbnQoKSkKKyAgICAg
ICAgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMgPSBtX293bmluZ0ZvbnRTZWxlY3Rvci0+ZG9jdW1l
bnQoKS0+c2V0dGluZ3MoKS5zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cygpID8gQWxsb3dV
c2VySW5zdGFsbGVkRm9udHM6OlllcyA6IEFsbG93VXNlckluc3RhbGxlZEZvbnRzOjpObzsKICAg
ICBWZWN0b3I8Rm9udFNlbGVjdGlvbkNhcGFiaWxpdGllcz4gY2FwYWJpbGl0aWVzID0gRm9udENh
Y2hlOjpzaW5nbGV0b24oKS5nZXRGb250U2VsZWN0aW9uQ2FwYWJpbGl0aWVzSW5GYW1pbHkoZmFt
aWx5TmFtZSwgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOwogICAgIGlmIChjYXBhYmlsaXRpZXMu
aXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5j
cHAKaW5kZXggN2ZkMjViOGFhZDVhYmM3MGRlMTA5YjI0MTQ2MjY0N2ZkNzlmMDU1ZC4uODk0N2Mw
MDFmODU5NzQ4NzRmZTMwMWFkMjkwYzg1MjY2NDA2ZGRlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJlc29sdmVyLmNwcApAQCAtMTc4OCw3ICsxNzg4LDcgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjpp
bml0aWFsaXplRm9udFN0eWxlKCkKICAgICBmb250RGVzY3JpcHRpb24uc2V0T25lRmFtaWx5KHN0
YW5kYXJkRmFtaWx5KTsKICAgICBmb250RGVzY3JpcHRpb24uc2V0S2V5d29yZFNpemVGcm9tSWRl
bnRpZmllcihDU1NWYWx1ZU1lZGl1bSk7CiAgICAgc2V0Rm9udFNpemUoZm9udERlc2NyaXB0aW9u
LCBTdHlsZTo6Zm9udFNpemVGb3JLZXl3b3JkKENTU1ZhbHVlTWVkaXVtLCBmYWxzZSwgZG9jdW1l
bnQoKSkpOwotICAgIGZvbnREZXNjcmlwdGlvbi5zZXRNYXlSZXByZXNlbnRVc2VySW5zdGFsbGVk
Rm9udCghc2V0dGluZ3MoKS5zaG91bGREaXNhbGxvd1VzZXJJbnN0YWxsZWRGb250cygpKTsKKyAg
ICBmb250RGVzY3JpcHRpb24uc2V0U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoc2V0dGlu
Z3MoKS5zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cygpID8gQWxsb3dVc2VySW5zdGFsbGVk
Rm9udHM6OlllcyA6IEFsbG93VXNlckluc3RhbGxlZEZvbnRzOjpObyk7CiAgICAgc2V0Rm9udERl
c2NyaXB0aW9uKGZvbnREZXNjcmlwdGlvbik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MueWFtbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFt
bAppbmRleCA5OTVlYjhkMWNjNDA5ZGQ5ZGI5ZmMxYzdiOWZmZjJhODM1ODY0MWNhLi43YWZiNmEy
MzRkYmU3YTBhZjNmODBiYjJiOTdlM2Y2ZTAwNWViMzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLnlhbWwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy55YW1sCkBAIC02NjEsOCArNjYxLDggQEAgc3RvcmFnZUJsb2NraW5nUG9saWN5OgogICBpbml0
aWFsOiBTZWN1cml0eU9yaWdpbjo6QWxsb3dBbGxTdG9yYWdlCiAgIG9uQ2hhbmdlOiBzdG9yYWdl
QmxvY2tpbmdQb2xpY3lDaGFuZ2VkCiAKLXNob3VsZERpc2FsbG93VXNlckluc3RhbGxlZEZvbnRz
OgotICBpbml0aWFsOiBmYWxzZQorc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHM6CisgIGlu
aXRpYWw6IHRydWUKICAgb25DaGFuZ2U6IHNldE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcwog
CiAjIE9ubHkgc2V0IGJ5IExheW91dCBUZXN0cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udENhY2hlLmgKaW5kZXggNGFmNDdkNGIzNjM5OTQ3NTgyYzdlMDg0ODJhOWE1
Yzc3MmE0ZGU0MS4uYTJlYTIxM2Q1MjE2ZjYyOTI1MTk4NTg0YjJmMGU5M2Q0OWNiYjA2YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKQEAgLTQxLDcg
KzQxLDcgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogI2lmIFBMQVRGT1JN
KENPQ09BKQotI2luY2x1ZGUgPENvcmVUZXh0L0NURm9udC5oPgorI2luY2x1ZGUgIkZvbnRDYWNo
ZUNvcmVUZXh0LmgiCiAjZW5kaWYKIAogI2lmIE9TKFdJTkRPV1MpCkBAIC0yMDAsMTAgKzIwMCw2
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgSU11bHRpTGFuZ3VhZ2UqIGdldE11bHRpTGFuZ3VhZ2VJ
bnRlcmZhY2UoKTsKICNlbmRpZgogCi0gICAgZW51bSBjbGFzcyBBbGxvd1VzZXJJbnN0YWxsZWRG
b250cyB7Ci0gICAgICAgIFllcywKLSAgICAgICAgTm8KLSAgICB9OwogICAgIC8vIFRoaXMgZnVu
Y3Rpb24gZXhpc3RzIHNvIENTU0ZvbnRTZWxlY3RvciBjYW4gaGF2ZSBhIHVuaWZpZWQgbm90aW9u
IG9mIHByZWluc3RhbGxlZCBmb250cyBhbmQgQGZvbnQtZmFjZS4KICAgICAvLyBJdCBjb21lcyBp
bnRvIHBsYXkgd2hlbiB5b3UgY3JlYXRlIGFuIEBmb250LWZhY2Ugd2hpY2ggc2hhcmVzIGEgZmFt
aWx5IG5hbWUgYXMgYSBwcmVpbnN0YWxsZWQgZm9udC4KICAgICBWZWN0b3I8Rm9udFNlbGVjdGlv
bkNhcGFiaWxpdGllcz4gZ2V0Rm9udFNlbGVjdGlvbkNhcGFiaWxpdGllc0luRmFtaWx5KGNvbnN0
IEF0b21pY1N0cmluZyYsIEFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKQEAgLTI3MCwzMiArMjY2
LDcgQEAgaW5saW5lIHN0ZDo6dW5pcXVlX3B0cjxGb250UGxhdGZvcm1EYXRhPiBGb250Q2FjaGU6
OmNyZWF0ZUZvbnRQbGF0Zm9ybURhdGFGb3JUZXMKICAgICByZXR1cm4gY3JlYXRlRm9udFBsYXRm
b3JtRGF0YShmb250RGVzY3JpcHRpb24sIGZhbWlseSwgbnVsbHB0ciwgbnVsbHB0ciwgeyB9KTsK
IH0KIAotI2lmIFBMQVRGT1JNKENPQ09BKQotCi1zdHJ1Y3QgU3ludGhlc2lzUGFpciB7Ci0gICAg
U3ludGhlc2lzUGFpcihib29sIG5lZWRzU3ludGhldGljQm9sZCwgYm9vbCBuZWVkc1N5bnRoZXRp
Y09ibGlxdWUpCi0gICAgICAgIDogbmVlZHNTeW50aGV0aWNCb2xkKG5lZWRzU3ludGhldGljQm9s
ZCkKLSAgICAgICAgLCBuZWVkc1N5bnRoZXRpY09ibGlxdWUobmVlZHNTeW50aGV0aWNPYmxpcXVl
KQotICAgIHsKLSAgICB9Ci0KLSAgICBzdGQ6OnBhaXI8Ym9vbCwgYm9vbD4gYm9sZE9ibGlxdWVQ
YWlyKCkgY29uc3QKLSAgICB7Ci0gICAgICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihuZWVkc1N5
bnRoZXRpY0JvbGQsIG5lZWRzU3ludGhldGljT2JsaXF1ZSk7Ci0gICAgfQotCi0gICAgYm9vbCBu
ZWVkc1N5bnRoZXRpY0JvbGQ7Ci0gICAgYm9vbCBuZWVkc1N5bnRoZXRpY09ibGlxdWU7Ci19Owot
Ci1SZXRhaW5QdHI8Q1RGb250UmVmPiBwcmVwYXJlUGxhdGZvcm1Gb250KENURm9udFJlZiwgY29u
c3QgRm9udERlc2NyaXB0aW9uJiwgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyogZm9udEZhY2VG
ZWF0dXJlcywgY29uc3QgRm9udFZhcmlhbnRTZXR0aW5ncyogZm9udEZhY2VWYXJpYW50U2V0dGlu
Z3MsIEZvbnRTZWxlY3Rpb25TcGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRp
ZXMsIGZsb2F0IHNpemUsIGJvb2wgYXBwbHlXZWlnaHRXaWR0aFNsb3BlVmFyaWF0aW9ucyA9IHRy
dWUpOwotU3ludGhlc2lzUGFpciBjb21wdXRlTmVjZXNzYXJ5U3ludGhlc2lzKENURm9udFJlZiwg
Y29uc3QgRm9udERlc2NyaXB0aW9uJiwgYm9vbCBpc1BsYXRmb3JtRm9udCA9IGZhbHNlKTsKLVJl
dGFpblB0cjxDVEZvbnRSZWY+IHBsYXRmb3JtRm9udFdpdGhGYW1pbHlTcGVjaWFsQ2FzZShjb25z
dCBBdG9taWNTdHJpbmcmIGZhbWlseSwgRm9udFNlbGVjdGlvblJlcXVlc3QsIGZsb2F0IHNpemUp
OwotUmV0YWluUHRyPENURm9udFJlZj4gcGxhdGZvcm1Gb250V2l0aEZhbWlseShjb25zdCBBdG9t
aWNTdHJpbmcmIGZhbWlseSwgRm9udFNlbGVjdGlvblJlcXVlc3QsIFRleHRSZW5kZXJpbmdNb2Rl
LCBmbG9hdCBzaXplKTsKLWJvb2wgcmVxdWlyZXNDdXN0b21GYWxsYmFja0ZvbnQoVUNoYXIzMiBj
aGFyYWN0ZXIpOwotRm9udFNlbGVjdGlvbkNhcGFiaWxpdGllcyBjYXBhYmlsaXRpZXNGb3JGb250
RGVzY3JpcHRvcihDVEZvbnREZXNjcmlwdG9yUmVmKTsKLQotI2Vsc2UKKyNpZiAhUExBVEZPUk0o
Q09DT0EpCiAKIGlubGluZSB2b2lkIEZvbnRDYWNoZTo6cGxhdGZvcm1QdXJnZUluYWN0aXZlRm9u
dERhdGEoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udERlc2NyaXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnREZXNjcmlwdGlvbi5jcHAKaW5kZXggZGY0YTljY2I1ZGI0OTA3NjhkMGUxM2RjNjJmZWM1YzUw
M2ZhYjZlOC4uM2Q1ZGQzNTcxNDYwNzdiMjhhZTUyM2UzYTMzZTI3YmZkMjQ1NjlhYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERlc2NyaXB0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGVzY3JpcHRpb24u
Y3BwCkBAIC04MCw3ICs4MCw3IEBAIEZvbnREZXNjcmlwdGlvbjo6Rm9udERlc2NyaXB0aW9uKCkK
ICAgICAsIG1fdmFyaWFudEVhc3RBc2lhblJ1Ynkoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEZvbnRW
YXJpYW50RWFzdEFzaWFuUnVieTo6Tm9ybWFsKSkKICAgICAsIG1fb3B0aWNhbFNpemluZyhzdGF0
aWNfY2FzdDx1bnNpZ25lZD4oRm9udE9wdGljYWxTaXppbmc6OkVuYWJsZWQpKQogICAgICwgbV9m
b250U3R5bGVBeGlzKEZvbnRDYXNjYWRlRGVzY3JpcHRpb246OmluaXRpYWxGb250U3R5bGVBeGlz
KCkgPT0gRm9udFN0eWxlQXhpczo6aXRhbCkKLSAgICAsIG1fbWF5UmVwcmVzZW50VXNlckluc3Rh
bGxlZEZvbnQodHJ1ZSkKKyAgICAsIG1fc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KEFsbG93VXNlckluc3RhbGxlZEZvbnRzOjpZZXMpKQogewogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGVzY3Jp
cHRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREZXNjcmlwdGlv
bi5oCmluZGV4IDhiOGZhMjI1MDNlMmM1MTA1MWJkZDg4YWJkYmM1MGE5ZjVlYmRhOWEuLjE1YjRh
ZjY5NGYzOWZmOWFhM2NmZWEyZDI4MWY5MDg1Y2U1ZjdiNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREZXNjcmlwdGlvbi5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREZXNjcmlwdGlvbi5oCkBAIC0xMTQsNyArMTE0
LDcgQEAgcHVibGljOgogICAgIH0KICAgICBGb250T3B0aWNhbFNpemluZyBvcHRpY2FsU2l6aW5n
KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Rm9udE9wdGljYWxTaXppbmc+KG1fb3B0aWNh
bFNpemluZyk7IH0KICAgICBGb250U3R5bGVBeGlzIGZvbnRTdHlsZUF4aXMoKSBjb25zdCB7IHJl
dHVybiBtX2ZvbnRTdHlsZUF4aXMgPyBGb250U3R5bGVBeGlzOjppdGFsIDogRm9udFN0eWxlQXhp
czo6c2xudDsgfQotICAgIGJvb2wgbWF5UmVwcmVzZW50VXNlckluc3RhbGxlZEZvbnQoKSBjb25z
dCB7IHJldHVybiBtX21heVJlcHJlc2VudFVzZXJJbnN0YWxsZWRGb250OyB9CisgICAgQWxsb3dV
c2VySW5zdGFsbGVkRm9udHMgc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSBjb25zdCB7
IHJldHVybiBzdGF0aWNfY2FzdDxBbGxvd1VzZXJJbnN0YWxsZWRGb250cz4obV9zaG91bGRBbGxv
d1VzZXJJbnN0YWxsZWRGb250cyk7IH0KIAogICAgIHZvaWQgc2V0Q29tcHV0ZWRTaXplKGZsb2F0
IHMpIHsgbV9jb21wdXRlZFNpemUgPSBjbGFtcFRvRmxvYXQocyk7IH0KICAgICB2b2lkIHNldEl0
YWxpYyhGb250U2VsZWN0aW9uVmFsdWUgaXRhbGljKSB7IG1fZm9udFNlbGVjdGlvblJlcXVlc3Qu
c2xvcGUgPSBpdGFsaWM7IH0KQEAgLTE0OSw3ICsxNDksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBz
ZXRWYXJpYW50RWFzdEFzaWFuUnVieShGb250VmFyaWFudEVhc3RBc2lhblJ1YnkgdmFyaWFudCkg
eyBtX3ZhcmlhbnRFYXN0QXNpYW5SdWJ5ID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHZhcmlhbnQp
OyB9CiAgICAgdm9pZCBzZXRPcHRpY2FsU2l6aW5nKEZvbnRPcHRpY2FsU2l6aW5nIHNpemluZykg
eyBtX29wdGljYWxTaXppbmcgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oc2l6aW5nKTsgfQogICAg
IHZvaWQgc2V0Rm9udFN0eWxlQXhpcyhGb250U3R5bGVBeGlzIGF4aXMpIHsgbV9mb250U3R5bGVB
eGlzID0gYXhpcyA9PSBGb250U3R5bGVBeGlzOjppdGFsOyB9Ci0gICAgdm9pZCBzZXRNYXlSZXBy
ZXNlbnRVc2VySW5zdGFsbGVkRm9udChib29sIG1heVJlcHJlc2VudFVzZXJJbnN0YWxsZWRGb250
KSB7IG1fbWF5UmVwcmVzZW50VXNlckluc3RhbGxlZEZvbnQgPSBtYXlSZXByZXNlbnRVc2VySW5z
dGFsbGVkRm9udDsgfQorICAgIHZvaWQgc2V0U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMo
QWxsb3dVc2VySW5zdGFsbGVkRm9udHMgc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMpIHsg
bV9zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihz
aG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyk7IH0KIAogICAgIHN0YXRpYyB2b2lkIGludmFs
aWRhdGVDYWNoZXMoKTsKIApAQCAtMTg1LDcgKzE4NSw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWdu
ZWQgbV92YXJpYW50RWFzdEFzaWFuUnVieSA6IDE7IC8vIEZvbnRWYXJpYW50RWFzdEFzaWFuUnVi
eQogICAgIHVuc2lnbmVkIG1fb3B0aWNhbFNpemluZyA6IDE7IC8vIEZvbnRPcHRpY2FsU2l6aW5n
CiAgICAgdW5zaWduZWQgbV9mb250U3R5bGVBeGlzIDogMTsgLy8gV2hldGhlciAiZm9udC1zdHls
ZTogaXRhbGljIiBvciAiZm9udC1zdHlsZTogb2JsaXF1ZSAyMGRlZyIgd2FzIHNwZWNpZmllZAot
ICAgIHVuc2lnbmVkIG1fbWF5UmVwcmVzZW50VXNlckluc3RhbGxlZEZvbnQgOiAxOyAvLyBJZiB0
aGlzIGRlc2NyaXB0aW9uIGlzIGFsbG93ZWQgdG8gbWF0Y2ggYSB1c2VyLWluc3RhbGxlZCBmb250
CisgICAgdW5zaWduZWQgbV9zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyA6IDE7IC8vIElm
IHRoaXMgZGVzY3JpcHRpb24gaXMgYWxsb3dlZCB0byBtYXRjaCBhIHVzZXItaW5zdGFsbGVkIGZv
bnQKIH07CiAKIGlubGluZSBib29sIEZvbnREZXNjcmlwdGlvbjo6b3BlcmF0b3I9PShjb25zdCBG
b250RGVzY3JpcHRpb24mIG90aGVyKSBjb25zdApAQCAtMjIwLDcgKzIyMCw3IEBAIGlubGluZSBi
b29sIEZvbnREZXNjcmlwdGlvbjo6b3BlcmF0b3I9PShjb25zdCBGb250RGVzY3JpcHRpb24mIG90
aGVyKSBjb25zdAogICAgICAgICAmJiBtX3ZhcmlhbnRFYXN0QXNpYW5SdWJ5ID09IG90aGVyLm1f
dmFyaWFudEVhc3RBc2lhblJ1YnkKICAgICAgICAgJiYgbV9vcHRpY2FsU2l6aW5nID09IG90aGVy
Lm1fb3B0aWNhbFNpemluZwogICAgICAgICAmJiBtX2ZvbnRTdHlsZUF4aXMgPT0gb3RoZXIubV9m
b250U3R5bGVBeGlzCi0gICAgICAgICYmIG1fbWF5UmVwcmVzZW50VXNlckluc3RhbGxlZEZvbnQg
PT0gb3RoZXIubV9tYXlSZXByZXNlbnRVc2VySW5zdGFsbGVkRm9udDsKKyAgICAgICAgJiYgbV9z
aG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyA9PSBvdGhlci5tX3Nob3VsZEFsbG93VXNlcklu
c3RhbGxlZEZvbnRzOwogfQogCiAvLyBGSVhNRTogTW92ZSB0byBhIGZpbGUgb2YgaXRzIG93bi4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRD
YWNoZUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0ZvbnRDYWNoZUNvcmVUZXh0LmNwcAppbmRleCBjZTcwMzc0MTUwNjllMDczMTNhYjk4YWQ5NTM3
MjE2MGFkOWRiNmYzLi4wYWIxN2Y1NzhmNzZjNGQ1YWM1YTE5NTc2YmY1NDkyM2YwOTAzMGYyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2Fj
aGVDb3JlVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvRm9udENhY2hlQ29yZVRleHQuY3BwCkBAIC04MzMsNyArODMzLDcgQEAgcHVibGljOgogI2lm
ICFDQU5fRElTQUxMT1dfVVNFUl9JTlNUQUxMRURfRk9OVFMKICAgICBzdGF0aWMgRm9udERhdGFi
YXNlJiBzaW5nbGV0b24oKQogICAgIHsKLSAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEZv
bnREYXRhYmFzZT4gZGF0YWJhc2UoRm9udENhY2hlOjpBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6
WWVzKTsKKyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEZvbnREYXRhYmFzZT4gZGF0YWJh
c2UoQWxsb3dVc2VySW5zdGFsbGVkRm9udHM6Olllcyk7CiAgICAgICAgIHJldHVybiBkYXRhYmFz
ZTsKICAgICB9CiAjZW5kaWYKQEAgLTg0MSw3ICs4NDEsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IEZvbnREYXRhYmFzZSYgc2luZ2xldG9uQWxsb3dpbmdVc2VySW5zdGFsbGVkRm9udHMoKQogICAg
IHsKICNpZiBDQU5fRElTQUxMT1dfVVNFUl9JTlNUQUxMRURfRk9OVFMKLSAgICAgICAgc3RhdGlj
IE5ldmVyRGVzdHJveWVkPEZvbnREYXRhYmFzZT4gZGF0YWJhc2UoRm9udENhY2hlOjpBbGxvd1Vz
ZXJJbnN0YWxsZWRGb250czo6WWVzKTsKKyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEZv
bnREYXRhYmFzZT4gZGF0YWJhc2UoQWxsb3dVc2VySW5zdGFsbGVkRm9udHM6Olllcyk7CiAgICAg
ICAgIHJldHVybiBkYXRhYmFzZTsKICNlbHNlCiAgICAgICAgIHJldHVybiBzaW5nbGV0b24oKTsK
QEAgLTg1MSw3ICs4NTEsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEZvbnREYXRhYmFzZSYgc2lu
Z2xldG9uRGlzYWxsb3dpbmdVc2VySW5zdGFsbGVkRm9udHMoKQogICAgIHsKICNpZiBDQU5fRElT
QUxMT1dfVVNFUl9JTlNUQUxMRURfRk9OVFMKLSAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVk
PEZvbnREYXRhYmFzZT4gZGF0YWJhc2UoRm9udENhY2hlOjpBbGxvd1VzZXJJbnN0YWxsZWRGb250
czo6Tm8pOworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Rm9udERhdGFiYXNlPiBkYXRh
YmFzZShBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6Tm8pOwogICAgICAgICByZXR1cm4gZGF0YWJh
c2U7CiAjZWxzZQogICAgICAgICByZXR1cm4gc2luZ2xldG9uKCk7CkBAIC05NzQsMTQgKzk3NCwx
NCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBOZXZlckRlc3Ryb3llZDxG
b250RGF0YWJhc2U+OwogCi0gICAgRm9udERhdGFiYXNlKEZvbnRDYWNoZTo6QWxsb3dVc2VySW5z
dGFsbGVkRm9udHMgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpCisgICAgRm9udERhdGFiYXNlKEFs
bG93VXNlckluc3RhbGxlZEZvbnRzIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKQogICAgICAgICA6
IG1fYWxsb3dVc2VySW5zdGFsbGVkRm9udHMoYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpCiAgICAg
ewogICAgIH0KIAogICAgIEhhc2hNYXA8U3RyaW5nLCBJbnN0YWxsZWRGb250RmFtaWx5PiBtX2Zh
bWlseU5hbWVUb0ZvbnREZXNjcmlwdG9yczsKICAgICBIYXNoTWFwPFN0cmluZywgSW5zdGFsbGVk
Rm9udD4gbV9wb3N0U2NyaXB0TmFtZVRvRm9udERlc2NyaXB0b3JzOwotICAgIEZvbnRDYWNoZTo6
QWxsb3dVc2VySW5zdGFsbGVkRm9udHMgbV9hbGxvd1VzZXJJbnN0YWxsZWRGb250czsKKyAgICBB
bGxvd1VzZXJJbnN0YWxsZWRGb250cyBtX2FsbG93VXNlckluc3RhbGxlZEZvbnRzOwogfTsKIAog
Ly8gQmVjYXVzZSB0aGlzIHN0cnVjdCBob2xkcyBpbnRlcm1lZGlhdGUgdmFsdWVzIHdoaWNoIG1h
eSBiZSBpbiB0aGUgY29tcHJlc3NlZCAtMSAtIDEgR1ggcmFuZ2UsIHdlIGRvbid0IHdhbnQgdG8g
dXNlIHRoZSByZWxhdGl2ZWx5IGxhcmdlCkBAIC0xMTkwLDE4ICsxMTkwLDE4IEBAIHN0cnVjdCBG
b250TG9va3VwIHsKICAgICBib29sIGNyZWF0ZWRGcm9tUG9zdFNjcmlwdE5hbWUgeyBmYWxzZSB9
OwogfTsKIAotc3RhdGljIEZvbnRMb29rdXAgcGxhdGZvcm1Gb250TG9va3VwV2l0aEZhbWlseShj
b25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSwgRm9udFNlbGVjdGlvblJlcXVlc3QgcmVxdWVzdCwg
ZmxvYXQgc2l6ZSwgYm9vbCBtYXlSZXByZXNlbnRVc2VySW5zdGFsbGVkRm9udCkKK3N0YXRpYyBG
b250TG9va3VwIHBsYXRmb3JtRm9udExvb2t1cFdpdGhGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5n
JiBmYW1pbHksIEZvbnRTZWxlY3Rpb25SZXF1ZXN0IHJlcXVlc3QsIGZsb2F0IHNpemUsIEFsbG93
VXNlckluc3RhbGxlZEZvbnRzIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKQogewogICAgIGNvbnN0
IGF1dG8mIHdoaXRlbGlzdCA9IGZvbnRXaGl0ZWxpc3QoKTsKICAgICBpZiAoIWlzU3lzdGVtRm9u
dChmYW1pbHkpICYmIHdoaXRlbGlzdC5zaXplKCkgJiYgIXdoaXRlbGlzdC5jb250YWlucyhmYW1p
bHkpKQogICAgICAgICByZXR1cm4geyBudWxscHRyIH07CiAKICNpZiBTSE9VTERfVVNFX0NPUkVf
VEVYVF9GT05UX0xPT0tVUAotICAgIFVOVVNFRF9QQVJBTShtYXlSZXByZXNlbnRVc2VySW5zdGFs
bGVkRm9udCk7CisgICAgVU5VU0VEX1BBUkFNKGFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKICAg
ICBDVEZvbnRTeW1ib2xpY1RyYWl0cyB0cmFpdHMgPSAoaXNGb250V2VpZ2h0Qm9sZChyZXF1ZXN0
LndlaWdodCkgPyBrQ1RGb250VHJhaXRCb2xkIDogMCkgfCAoaXNJdGFsaWMocmVxdWVzdC5zbG9w
ZSkgPyBrQ1RGb250VHJhaXRJdGFsaWMgOiAwKTsKICAgICByZXR1cm4geyBhZG9wdENGKENURm9u
dENyZWF0ZUZvckNTUyhmYW1pbHkuc3RyaW5nKCkuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSwgc3Rh
dGljX2Nhc3Q8ZmxvYXQ+KHJlcXVlc3Qud2VpZ2h0KSwgdHJhaXRzLCBzaXplKSkgfTsKICNlbHNl
Ci0gICAgYXV0byYgZm9udERhdGFiYXNlID0gbWF5UmVwcmVzZW50VXNlckluc3RhbGxlZEZvbnQg
PyBGb250RGF0YWJhc2U6OnNpbmdsZXRvbkFsbG93aW5nVXNlckluc3RhbGxlZEZvbnRzKCkgOiBG
b250RGF0YWJhc2U6OnNpbmdsZXRvbkRpc2FsbG93aW5nVXNlckluc3RhbGxlZEZvbnRzKCk7Cisg
ICAgYXV0byYgZm9udERhdGFiYXNlID0gYWxsb3dVc2VySW5zdGFsbGVkRm9udHMgPT0gQWxsb3dV
c2VySW5zdGFsbGVkRm9udHM6OlllcyA/IEZvbnREYXRhYmFzZTo6c2luZ2xldG9uQWxsb3dpbmdV
c2VySW5zdGFsbGVkRm9udHMoKSA6IEZvbnREYXRhYmFzZTo6c2luZ2xldG9uRGlzYWxsb3dpbmdV
c2VySW5zdGFsbGVkRm9udHMoKTsKICAgICBjb25zdCBhdXRvJiBmYW1pbHlGb250cyA9IGZvbnRE
YXRhYmFzZS5jb2xsZWN0aW9uRm9yRmFtaWx5KGZhbWlseS5zdHJpbmcoKSk7CiAgICAgaWYgKGZh
bWlseUZvbnRzLmlzRW1wdHkoKSkgewogICAgICAgICAvLyBUaGUgQ1NTIHNwZWMgc3RhdGVzIHRo
YXQgZm9udC1mYW1pbHkgb25seSBhY2NlcHRzIGEgbmFtZSBvZiBhbiBhY3R1YWwgZm9udCBmYW1p
bHkuIEhvd2V2ZXIsIGluIFdlYktpdCwgd2UgY2xhaW0gdG8gYWxzbwpAQCAtMTI2NSw3ICsxMjY1
LDcgQEAgc3RhdGljIFJldGFpblB0cjxDVEZvbnRSZWY+IGZvbnRXaXRoRmFtaWx5KGNvbnN0IEF0
b21pY1N0cmluZyYgZmFtaWx5LCBjb25zdCBGb24KICAgICBGb250TG9va3VwIGZvbnRMb29rdXA7
CiAgICAgZm9udExvb2t1cC5yZXN1bHQgPSBwbGF0Zm9ybUZvbnRXaXRoRmFtaWx5U3BlY2lhbENh
c2UoZmFtaWx5LCByZXF1ZXN0LCBzaXplKTsKICAgICBpZiAoIWZvbnRMb29rdXAucmVzdWx0KQot
ICAgICAgICBmb250TG9va3VwID0gcGxhdGZvcm1Gb250TG9va3VwV2l0aEZhbWlseShmYW1pbHks
IHJlcXVlc3QsIHNpemUsIGZvbnREZXNjcmlwdGlvbi5tYXlSZXByZXNlbnRVc2VySW5zdGFsbGVk
Rm9udCgpKTsKKyAgICAgICAgZm9udExvb2t1cCA9IHBsYXRmb3JtRm9udExvb2t1cFdpdGhGYW1p
bHkoZmFtaWx5LCByZXF1ZXN0LCBzaXplLCBmb250RGVzY3JpcHRpb24uc2hvdWxkQWxsb3dVc2Vy
SW5zdGFsbGVkRm9udHMoKSk7CiAgICAgcmV0dXJuIHByZXBhcmVQbGF0Zm9ybUZvbnQoZm9udExv
b2t1cC5yZXN1bHQuZ2V0KCksIGZvbnREZXNjcmlwdGlvbiwgZm9udEZhY2VGZWF0dXJlcywgZm9u
dEZhY2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBzaXplLCAhZm9udExv
b2t1cC5jcmVhdGVkRnJvbVBvc3RTY3JpcHROYW1lKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMWIxNmY3YjFkMzc4YjAwODc0YjkzODE0NjhiNDg1ODM2YmI2YzgzNwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0Zv
bnRDYWNoZUNvcmVUZXh0LmgKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBu
YW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Cisg
KiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJGb250
RGVzY3JpcHRpb24uaCIKKworI2luY2x1ZGUgPENvcmVUZXh0L0NURm9udC5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK3N0cnVjdCBTeW50aGVzaXNQYWlyIHsKKyAgICBTeW50aGVzaXNQYWly
KGJvb2wgbmVlZHNTeW50aGV0aWNCb2xkLCBib29sIG5lZWRzU3ludGhldGljT2JsaXF1ZSkKKyAg
ICAgICAgOiBuZWVkc1N5bnRoZXRpY0JvbGQobmVlZHNTeW50aGV0aWNCb2xkKQorICAgICAgICAs
IG5lZWRzU3ludGhldGljT2JsaXF1ZShuZWVkc1N5bnRoZXRpY09ibGlxdWUpCisgICAgeworICAg
IH0KKworICAgIHN0ZDo6cGFpcjxib29sLCBib29sPiBib2xkT2JsaXF1ZVBhaXIoKSBjb25zdAor
ICAgIHsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV9wYWlyKG5lZWRzU3ludGhldGljQm9sZCwg
bmVlZHNTeW50aGV0aWNPYmxpcXVlKTsKKyAgICB9CisKKyAgICBib29sIG5lZWRzU3ludGhldGlj
Qm9sZDsKKyAgICBib29sIG5lZWRzU3ludGhldGljT2JsaXF1ZTsKK307CisKK1JldGFpblB0cjxD
VEZvbnRSZWY+IHByZXBhcmVQbGF0Zm9ybUZvbnQoQ1RGb250UmVmLCBjb25zdCBGb250RGVzY3Jp
cHRpb24mLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVzLCBjb25z
dCBGb250VmFyaWFudFNldHRpbmdzKiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgRm9udFNlbGVj
dGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcywgZmxvYXQgc2l6
ZSwgYm9vbCBhcHBseVdlaWdodFdpZHRoU2xvcGVWYXJpYXRpb25zID0gdHJ1ZSk7CitTeW50aGVz
aXNQYWlyIGNvbXB1dGVOZWNlc3NhcnlTeW50aGVzaXMoQ1RGb250UmVmLCBjb25zdCBGb250RGVz
Y3JpcHRpb24mLCBib29sIGlzUGxhdGZvcm1Gb250ID0gZmFsc2UpOworUmV0YWluUHRyPENURm9u
dFJlZj4gcGxhdGZvcm1Gb250V2l0aEZhbWlseVNwZWNpYWxDYXNlKGNvbnN0IEF0b21pY1N0cmlu
ZyYgZmFtaWx5LCBGb250U2VsZWN0aW9uUmVxdWVzdCwgZmxvYXQgc2l6ZSk7CitSZXRhaW5QdHI8
Q1RGb250UmVmPiBwbGF0Zm9ybUZvbnRXaXRoRmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgZmFt
aWx5LCBGb250U2VsZWN0aW9uUmVxdWVzdCwgVGV4dFJlbmRlcmluZ01vZGUsIGZsb2F0IHNpemUp
OworYm9vbCByZXF1aXJlc0N1c3RvbUZhbGxiYWNrRm9udChVQ2hhcjMyIGNoYXJhY3Rlcik7CitG
b250U2VsZWN0aW9uQ2FwYWJpbGl0aWVzIGNhcGFiaWxpdGllc0ZvckZvbnREZXNjcmlwdG9yKENU
Rm9udERlc2NyaXB0b3JSZWYpOworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L1RleHRGbGFncy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0
RmxhZ3MuaAppbmRleCBkZmRlNWJmNmE0NjM0NDNjMjVkYTU2YjVjOTU1OTRiYzJkMTUxZjE5Li40
MTJiOTZmYTJjMmJlN2M0NTViZGM5OGVmOTQyZTk2ZThkY2RjNWJhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRGbGFncy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvVGV4dEZsYWdzLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDAzLCAyMDA2IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDMsIDIwMDYsIDIwMTcgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzYyLDQgKzM2Miw5IEBA
IGVudW0gY2xhc3MgRm9udFN0eWxlQXhpcyB7CiAgICAgaXRhbAogfTsKIAorZW51bSBjbGFzcyBB
bGxvd1VzZXJJbnN0YWxsZWRGb250cyB7CisgICAgWWVzLAorICAgIE5vCit9OworCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVJlc29sdmVGb3JEb2N1bWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVJlc29sdmVGb3JEb2N1bWVudC5jcHAKaW5kZXgg
Y2JmNjcyMzQyNjhmNGMzNzcwYmZmM2VhMDk1Zjk5ODczMjJkNDEyZi4uYjZlNzIwNDU5Mzg2Njg1
MDJjMGI5NDY1ZGQyOTE1OTQ0ZTg2ZWU2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5
bGUvU3R5bGVSZXNvbHZlRm9yRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlUmVzb2x2ZUZvckRvY3VtZW50LmNwcApAQCAtMTA5LDcgKzEwOSw3IEBAIFJlbmRlclN0
eWxlIHJlc29sdmVGb3JEb2N1bWVudChjb25zdCBEb2N1bWVudCYgZG9jdW1lbnQpCiAgICAgZm9u
dERlc2NyaXB0aW9uLnNldExvY2FsZShkb2N1bWVudC5jb250ZW50TGFuZ3VhZ2UoKSk7CiAgICAg
Zm9udERlc2NyaXB0aW9uLnNldFJlbmRlcmluZ01vZGUoc2V0dGluZ3MuZm9udFJlbmRlcmluZ01v
ZGUoKSk7CiAgICAgZm9udERlc2NyaXB0aW9uLnNldE9uZUZhbWlseShzdGFuZGFyZEZhbWlseSk7
Ci0gICAgZm9udERlc2NyaXB0aW9uLnNldE1heVJlcHJlc2VudFVzZXJJbnN0YWxsZWRGb250KCFz
ZXR0aW5ncy5zaG91bGREaXNhbGxvd1VzZXJJbnN0YWxsZWRGb250cygpKTsKKyAgICBmb250RGVz
Y3JpcHRpb24uc2V0U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoc2V0dGluZ3Muc2hvdWxk
QWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSA/IEFsbG93VXNlckluc3RhbGxlZEZvbnRzOjpZZXMg
OiBBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6Tm8pOwogCiAgICAgZm9udERlc2NyaXB0aW9uLnNl
dEtleXdvcmRTaXplRnJvbUlkZW50aWZpZXIoQ1NTVmFsdWVNZWRpdW0pOwogICAgIGludCBzaXpl
ID0gZm9udFNpemVGb3JLZXl3b3JkKENTU1ZhbHVlTWVkaXVtLCBmYWxzZSwgZG9jdW1lbnQpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggMWY0YjlkOTU1ZGFj
ZmE1OGFiMzcyY2ZmNzYwNTQzNzllOGI2Mzc5Yy4uNTQ1MjQzNTA4Mzc1OTBiNWE5MWE2MGJlYTY3
YmQ4NjUzMDZlMmRiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVy
ZW5jZXMueWFtbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1s
CkBAIC0xMDM0LDkgKzEwMzQsOSBAQCBWaXNpYmxlRGVidWdPdmVybGF5UmVnaW9uczoKICAgZGVm
YXVsdFZhbHVlOiAwCiAgIGNhdGVnb3J5OiBkZWJ1ZwogCi1TaG91bGREaXNhbGxvd1VzZXJJbnN0
YWxsZWRGb250czoKK1Nob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzOgogICB0eXBlOiBib29s
Ci0gIGRlZmF1bHRWYWx1ZTogZmFsc2UKKyAgZGVmYXVsdFZhbHVlOiB0cnVlCiAKIAogIyBGb3Ig
ZXhwZXJpbWVudGFsIGZlYXR1cmVzOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmNwcAppbmRleCBkMzAzZTQ5OWE2NjQxNzgyNGNkNmYxMjNmNjFhNThl
YTk0MGZmYmNhLi4zN2U2Y2IxMDViM2MzN2UyMWQ3Mzg0ZDlmOTlkZmQ0M2M4NjJhMDYwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcApAQCAt
MTkyMCwxMiArMTkyMCwxMiBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRBY2Nlc3NpYmlsaXR5T2Jq
ZWN0TW9kZWxFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZQogICAgIHJldHVybiB0
b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5hY2Nlc3NpYmlsaXR5T2JqZWN0TW9kZWxFbmFibGVkKCk7
CiB9CiAKLXZvaWQgV0tQcmVmZXJlbmNlc1NldFNob3VsZERpc2FsbG93VXNlckluc3RhbGxlZEZv
bnRzKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKK3ZvaWQgV0tQ
cmVmZXJlbmNlc1NldFNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKFdLUHJlZmVyZW5jZXNS
ZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKIHsKLSAgICB0b0ltcGwocHJlZmVyZW5jZXNS
ZWYpLT5zZXRTaG91bGREaXNhbGxvd1VzZXJJbnN0YWxsZWRGb250cyhmbGFnKTsKKyAgICB0b0lt
cGwocHJlZmVyZW5jZXNSZWYpLT5zZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyhmbGFn
KTsKIH0KIAotYm9vbCBXS1ByZWZlcmVuY2VzR2V0U2hvdWxkRGlzYWxsb3dVc2VySW5zdGFsbGVk
Rm9udHMoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKK2Jvb2wgV0tQcmVmZXJlbmNl
c0dldFNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVy
ZW5jZXNSZWYpCiB7Ci0gICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNob3VsZERp
c2FsbG93VXNlckluc3RhbGxlZEZvbnRzKCk7CisgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNl
c1JlZiktPnNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKCk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaApp
bmRleCA2ZWZjZmUwOTJmZDUxMGRjMjJkMjMwMmQ4MWY1Y2ZmYjViZWNlNDFhLi5lNzkzOTIzZWY0
N2EyNTlmYjA3YjM2MmJjZjY1NzM1MWRiZTc1YTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKQEAgLTU0Niw4
ICs1NDYsOCBAQCBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0QWNjZXNzaWJpbGl0eU9i
amVjdE1vZGVsRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLAogV0tfRVhQT1JUIGJvb2wgV0tQcmVm
ZXJlbmNlc0dldEFjY2Vzc2liaWxpdHlPYmplY3RNb2RlbEVuYWJsZWQoV0tQcmVmZXJlbmNlc1Jl
Zik7CiAKIC8vIERlZmF1bHRzIHRvIGZhbHNlLgotV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNl
c1NldFNob3VsZERpc2FsbG93VXNlckluc3RhbGxlZEZvbnRzKFdLUHJlZmVyZW5jZXNSZWYsIGJv
b2wgZmxhZyk7Ci1XS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0U2hvdWxkRGlzYWxsb3dV
c2VySW5zdGFsbGVkRm9udHMoV0tQcmVmZXJlbmNlc1JlZik7CitXS19FWFBPUlQgdm9pZCBXS1By
ZWZlcmVuY2VzU2V0U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoV0tQcmVmZXJlbmNlc1Jl
ZiwgYm9vbCBmbGFnKTsKK1dLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRTaG91bGRBbGxv
d1VzZXJJbnN0YWxsZWRGb250cyhXS1ByZWZlcmVuY2VzUmVmKTsKICAgICAKICNpZmRlZiBfX2Nw
bHVzcGx1cwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLUHJlZmVyZW5jZXMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQ
cmVmZXJlbmNlcy5tbQppbmRleCA3NmY0MDQ0NGJmZjY5N2YzYTYyYzYwOGM3OTAwOTEyNGEwOTJk
MGNkLi5jZjY5MmNjZDBmOTU5NzBhMWJmYzc1MWNlY2I5NWJhODMyOGQyODdlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlcy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlcy5tbQpAQCAt
NjU3LDE0ICs2NTcsMTQgQEAgLSAodm9pZClfc2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2Fy
ZDooQk9PTClqYXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkCiAgICAgX3ByZWZlcmVuY2VzLT5z
ZXRKYXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkKGphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9h
cmQpOwogfQogCi0tIChCT09MKV9zaG91bGREaXNhbGxvd1VzZXJJbnN0YWxsZWRGb250cworLSAo
Qk9PTClfc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMKIHsKLSAgICByZXR1cm4gX3ByZWZl
cmVuY2VzLT5zaG91bGREaXNhbGxvd1VzZXJJbnN0YWxsZWRGb250cygpOworICAgIHJldHVybiBf
cHJlZmVyZW5jZXMtPnNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKCk7CiB9CiAKLS0gKHZv
aWQpX3NldFNob3VsZERpc2FsbG93VXNlckluc3RhbGxlZEZvbnRzOihCT09MKV9zaG91bGREaXNh
bGxvd1VzZXJJbnN0YWxsZWRGb250cworLSAodm9pZClfc2V0U2hvdWxkQWxsb3dVc2VySW5zdGFs
bGVkRm9udHM6KEJPT0wpX3Nob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzCiB7Ci0gICAgX3By
ZWZlcmVuY2VzLT5zZXRTaG91bGREaXNhbGxvd1VzZXJJbnN0YWxsZWRGb250cyhfc2hvdWxkRGlz
YWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOworICAgIF9wcmVmZXJlbmNlcy0+c2V0U2hvdWxkQWxs
b3dVc2VySW5zdGFsbGVkRm9udHMoX3Nob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKIH0K
IAogI2lmIFBMQVRGT1JNKE1BQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggY2I5MTRmYmJkZWM0NmFk
YmNhM2MyODg0ZTk0N2M2OTFlYjkyYjAyYi4uNmExODgwNmYwM2FjNzBlZDI5NTM5MjMzOTg4NzVk
YTk1ZWQwZGU2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKQEAgLTExNSw3ICsxMTUsNyBAQCB0eXBlZGVm
IE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dLSmF2YVNjcmlwdFJ1bnRpbWVGbGFncykgewogQHBy
b3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2Fy
ZDopIEJPT0wgX2phdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQgV0tfQVBJX0FWQUlMQUJMRSht
YWNvc3goMTAuMTMpLCBpb3MoMTEuMCkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1f
c2V0RE9NUGFzdGVBbGxvd2VkOikgQk9PTCBfZG9tUGFzdGVBbGxvd2VkIFdLX0FQSV9BVkFJTEFC
TEUobWFjb3N4KDEwLjEzKSwgaW9zKDExLjApKTsKIAotQHByb3BlcnR5IChub25hdG9taWMsIHNl
dHRlcj1fc2V0U2hvdWxkRGlzYWxsb3dVc2VySW5zdGFsbGVkRm9udHM6KSBCT09MIF9zaG91bGRE
aXNhbGxvd1VzZXJJbnN0YWxsZWRGb250cyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNf
VEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3Nl
dFNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzOikgQk9PTCBfc2hvdWxkQWxsb3dVc2VySW5z
dGFsbGVkRm9udHMgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19J
T1NfVEJBKSk7CiAKICsgKE5TQXJyYXk8X1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqPiAqKV9leHBl
cmltZW50YWxGZWF0dXJlcyBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMiksIGlvcygxMC4w
KSk7CiAtIChCT09MKV9pc0VuYWJsZWRGb3JGZWF0dXJlOihfV0tFeHBlcmltZW50YWxGZWF0dXJl
ICopZmVhdHVyZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMiksIGlvcygxMC4wKSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggNTlkZjFlMzQxODI1YTgwZTZjZGZkM2JkODE2OWFjOWVjMGE3YTQ3NS4uM2IyMjIzMTNj
MGYzYzBmZmYzNjhiMDNiZmNmZWUzNDhiNmRhYWVjZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisy
MDE3LTEyLTE5ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAg
ICAgICAgUmVmYWN0b3IgdXNlci1pbnN0YWxsZWQgZm9udCBzZXR0aW5nIGZvciBjbGFyaXR5Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODEwMTMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvdGV4
dC91c2VyLWluc3RhbGxlZC1mb250cy9kaXNhYmxlLmh0bWw6CisgICAgICAgICogZmFzdC90ZXh0
L3VzZXItaW5zdGFsbGVkLWZvbnRzL3NoYWRvdy1kaXNhYmxlLmh0bWw6CisgICAgICAgICogZmFz
dC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL3NoYWRvdy1mYW1pbHktZGlzYWJsZS5odG1sOgor
ICAgICAgICAqIGZhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9zaGFkb3ctcG9zdHNjcmlw
dC1kaXNhYmxlLmh0bWw6CisgICAgICAgICogZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRz
L3NoYWRvdy1wb3N0c2NyaXB0LWZhbWlseS1kaXNhYmxlLmh0bWw6CisKIDIwMTctMTItMTkgIEJy
aWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogSW5z
cGVjdG9yVGVzdC5leHBlY3RFeGNlcHRpb24gZG9lcyBub3QgaGFuZGxlIGltcGxpY2l0bHkgcmVz
b2x2ZWQgYXN5bmMgZnVuY3Rpb25zIGNvcnJlY3RseQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL2Rpc2FibGUuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9kaXNhYmxlLmh0bWwKaW5kZXggMzE0ZWE2
MTU5MDdhNWIxNDQ0YmU0OTgzYTQ2ZGE0MGVmMmJkNGI1Zi4uMjEzYzgwMDM1YzhhODdhNWRlYjY1
NDlmMDc3ZmQzZTM4M2JmNDZmZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3Vz
ZXItaW5zdGFsbGVkLWZvbnRzL2Rpc2FibGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvdXNlci1pbnN0YWxsZWQtZm9udHMvZGlzYWJsZS5odG1sCkBAIC0zLDcgKzMsNyBAQAogPGhl
YWQ+CiA8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldFNob3VsZERpc2FsbG93VXNlckluc3RhbGxlZEZvbnRzKHRydWUpOworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyhmYWxzZSk7CiA8
L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL3NoYWRvdy1kaXNhYmxlLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvc2hhZG93LWRpc2FibGUuaHRtbAppbmRl
eCBjYzQ1Nzc5ZDk1NmRhZDBlY2Q4ZGJiNWRjMWQ4YjM3OTFmNGVmYmI3Li5iYmUyYzk5Zjc4YTY1
MjJhOTI1YTI0ZGRlOGY4YmM1YmJlMTQ3OTMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvc2hhZG93LWRpc2FibGUuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvc2hhZG93LWRpc2FibGUuaHRt
bApAQCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVy
Lmluc3RhbGxGYWtlSGVsdmV0aWNhKCJIZWx2ZXRpY2EtNDAwIik7CiBpZiAod2luZG93LmludGVy
bmFscykKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U2hvdWxkRGlzYWxsb3dVc2VySW5zdGFs
bGVkRm9udHModHJ1ZSk7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFNob3VsZEFsbG93VXNl
ckluc3RhbGxlZEZvbnRzKGZhbHNlKTsKIDwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvc2hhZG93
LWZhbWlseS1kaXNhYmxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdXNlci1pbnN0YWxs
ZWQtZm9udHMvc2hhZG93LWZhbWlseS1kaXNhYmxlLmh0bWwKaW5kZXggYmVkZGFmNTVmZGZiMjUw
ZGJmNDA4ZWE1MjBlZTcxZDYzOTk3ZTM3Ni4uNGEwY2RmYTM1NjEyYzZhNjk5YjIxMDJiN2IxN2Q1
OWIzNTFlZWVjNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VzZXItaW5zdGFs
bGVkLWZvbnRzL3NoYWRvdy1mYW1pbHktZGlzYWJsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9zaGFkb3ctZmFtaWx5LWRpc2FibGUuaHRtbApA
QCAtNSw3ICs1LDcgQEAKIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICB0ZXN0UnVubmVyLmlu
c3RhbGxGYWtlSGVsdmV0aWNhKCJIZWx2ZXRpY2EtNTAwIik7CiBpZiAod2luZG93LmludGVybmFs
cykKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U2hvdWxkRGlzYWxsb3dVc2VySW5zdGFsbGVk
Rm9udHModHJ1ZSk7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFNob3VsZEFsbG93VXNlcklu
c3RhbGxlZEZvbnRzKGZhbHNlKTsKIDwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvc2hhZG93LXBv
c3RzY3JpcHQtZGlzYWJsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VzZXItaW5zdGFs
bGVkLWZvbnRzL3NoYWRvdy1wb3N0c2NyaXB0LWRpc2FibGUuaHRtbAppbmRleCAxZTQ0ZDVjNjZl
Nzc0OTg0ZWE1OTcxZjM3MGFlMjYxOThkZTA1ODQ4Li5kYzUzMjQwMDE0MGU2YjIxMGI0MTU4ZDZm
NjI5YmM1MzRiMGI3ZWQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdXNlci1p
bnN0YWxsZWQtZm9udHMvc2hhZG93LXBvc3RzY3JpcHQtZGlzYWJsZS5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9zaGFkb3ctcG9zdHNjcmlwdC1k
aXNhYmxlLmh0bWwKQEAgLTUsNyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAg
dGVzdFJ1bm5lci5pbnN0YWxsRmFrZUhlbHZldGljYSgiSGVsdmV0aWNhMi00MDAiKTsKIGlmICh3
aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTaG91bGREaXNhbGxv
d1VzZXJJbnN0YWxsZWRGb250cyh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U2hv
dWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoZmFsc2UpOwogPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8
Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1m
b250cy9zaGFkb3ctcG9zdHNjcmlwdC1mYW1pbHktZGlzYWJsZS5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL3NoYWRvdy1wb3N0c2NyaXB0LWZhbWlseS1k
aXNhYmxlLmh0bWwKaW5kZXggZjBhM2ZmNGJlNTkyOGY0YTMxYzhiM2M4M2Y5YjBlOTM2YWMwYWU1
Yy4uZGY1ZmMwOWFiYzUzMTU4MDRjOTVjNmU4ZDM1NDRlMTY4ZGZiMzFkNCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL3NoYWRvdy1wb3N0c2Ny
aXB0LWZhbWlseS1kaXNhYmxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VzZXIt
aW5zdGFsbGVkLWZvbnRzL3NoYWRvdy1wb3N0c2NyaXB0LWZhbWlseS1kaXNhYmxlLmh0bWwKQEAg
LTUsNyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5pbnN0
YWxsRmFrZUhlbHZldGljYSgiSGVsdmV0aWNhMi01MDAiKTsKIGlmICh3aW5kb3cuaW50ZXJuYWxz
KQotICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTaG91bGREaXNhbGxvd1VzZXJJbnN0YWxsZWRG
b250cyh0cnVlKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U2hvdWxkQWxsb3dVc2VySW5z
dGFsbGVkRm9udHMoZmFsc2UpOwogPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329859</attachid>
            <date>2017-12-19 17:25:20 -0800</date>
            <delta_ts>2017-12-19 17:31:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181013-20171219172519.patch</filename>
            <type>text/plain</type>
            <size>35326</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2MTYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2Q2NmM3OWViZjc3Y2Fm
NDZkY2FlMzQxNzc0OTJlZmM1ZGYyMWQ3Yy4uNTUyYjQ1NTUxMjU3NjU1NDBmMjNjYjRlYjQyM2Y0
OTY5ZmUzNTk0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDE3LTEyLTE5ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVmYWN0b3Ig
dXNlci1pbnN0YWxsZWQgZm9udCBzZXR0aW5nIGZvciBjbGFyaXR5CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODEwMTMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXZlIHRoZSB3YXkgZm9yIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODA5NTEuCisKKyAgICAgICAgVGhpcyBw
YXRjaCByZW5hbWVzIHRoZSBTZXR0aW5nIHRvIG5vdCBoYXZlIHNvIG1hbnkgZ3JhbW1hdGljYWwg
bmVnYXRpdmVzLCBhbmQgbW92ZXMKKyAgICAgICAgc29tZSBDb3JlVGV4dC1zcGVjaWZpYyBGb250
Q2FjaGUgZnVuY3Rpb24gc2lnbmF0dXJlcyBpbnRvIGEgbmV3IEZvbnRDYWNoZUNvcmVUZXh0LmgK
KyAgICAgICAgaGVhZGVyIGZpbGUuIEl0IGFsc28gdXNlcyB0aGUgQWxsb3dVc2VySW5zdGFsbGVk
Rm9udHMgZW51bSBjbGFzcyBpbiBtb3JlIHBsYWNlcyBpbnN0ZWFkCisgICAgICAgIG9mIHRoZSBv
bGQgYm9vbGVhbiB3ZSB3ZXJlIHVzaW5nLCBhbmQgcHV0cyB0aGlzIGVudW0gY2xhc3MgaW4gdGhl
IGNvbW1vbiBUZXh0RmxhZ3MuaAorICAgICAgICBoZWFkZXIuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICogV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGNzcy9DU1NGb250RmFj
ZVNldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250RmFjZVNldDo6ZW5zdXJlTG9jYWxG
b250RmFjZXNGb3JGYW1pbHlSZWdpc3RlcmVkKToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjppbml0aWFsaXplRm9udFN0
eWxlKToKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLnlhbWw6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udENhY2hlLmg6CisgICAgICAgIChXZWJDb3JlOjpTeW50aGVzaXNQYWlyOjpT
eW50aGVzaXNQYWlyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlN5bnRoZXNpc1BhaXI6
OmJvbGRPYmxpcXVlUGFpciBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udERlc2NyaXB0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1fc2hvdWxkQWxs
b3dVc2VySW5zdGFsbGVkRm9udHMpOgorICAgICAgICAoV2ViQ29yZTo6bV9tYXlSZXByZXNlbnRV
c2VySW5zdGFsbGVkRm9udCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udERlc2NyaXB0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpGb250RGVzY3JpcHRpb246OnNo
b3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZv
bnREZXNjcmlwdGlvbjo6c2V0U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udERlc2NyaXB0aW9uOjpvcGVyYXRvcj09IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkZvbnREZXNjcmlwdGlvbjo6bWF5UmVwcmVzZW50VXNlckluc3RhbGxlZEZvbnQg
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Rm9udERlc2NyaXB0aW9uOjpzZXRN
YXlSZXByZXNlbnRVc2VySW5zdGFsbGVkRm9udCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9udERhdGFiYXNlOjpzaW5nbGV0b24pOgorICAgICAgICAoV2ViQ29yZTo6Rm9udERhdGFi
YXNlOjpzaW5nbGV0b25BbGxvd2luZ1VzZXJJbnN0YWxsZWRGb250cyk6CisgICAgICAgIChXZWJD
b3JlOjpGb250RGF0YWJhc2U6OnNpbmdsZXRvbkRpc2FsbG93aW5nVXNlckluc3RhbGxlZEZvbnRz
KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnREYXRhYmFzZTo6Rm9udERhdGFiYXNlKToKKyAgICAg
ICAgKFdlYkNvcmU6OnBsYXRmb3JtRm9udExvb2t1cFdpdGhGYW1pbHkpOgorICAgICAgICAoV2Vi
Q29yZTo6Zm9udFdpdGhGYW1pbHkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0ZvbnRDYWNoZUNvcmVUZXh0Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U3ludGhlc2lz
UGFpcjo6U3ludGhlc2lzUGFpcik6CisgICAgICAgIChXZWJDb3JlOjpTeW50aGVzaXNQYWlyOjpi
b2xkT2JsaXF1ZVBhaXIgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dEZsYWdz
Lmg6CisgICAgICAgICogc3R5bGUvU3R5bGVSZXNvbHZlRm9yRG9jdW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGU6OnJlc29sdmVGb3JEb2N1bWVudCk6CisKIDIwMTctMTItMTkgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBbRmV0Y2hdIEV4dHJhY3Rp
bmcgYSBib2R5IG9mIHR5cGUgQmxvYiBzaG91bGQgbm90IHNldCBDb250ZW50LVR5cGUgdG8gdGhl
IGVtcHR5IHN0cmluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA4OThmYzMzMmNlMzkwNDg2OWNlZWUzOTIxNTUwYTgw
ZGZkNGI0NzY5Li5lYzljMzdhZjNiZGI1YjgwYzRmMDgwNmY2Y2NmZWQxZmNhMTIxYzI0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE3LTEyLTE5ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1t
YXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVmYWN0b3IgdXNlci1pbnN0YWxsZWQgZm9u
dCBzZXR0aW5nIGZvciBjbGFyaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xODEwMTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGVyZSBhcmUgbm8gY2xpZW50cyBvZiB0aGlzIFNQSSB5ZXQsIHNvIHdl
IGNhbiByZW5hbWUgaXQgdG8gcmVtb3ZlIHRoZQorICAgICAgICBncmFtbWF0aWNhbCBuZWdhdGl2
ZS4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNT
ZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyk6CisgICAgICAgIChXS1ByZWZlcmVuY2Vz
R2V0U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOgorICAgICAgICAoV0tQcmVmZXJlbmNl
c1NldFNob3VsZERpc2FsbG93VXNlckluc3RhbGxlZEZvbnRzKTogRGVsZXRlZC4KKyAgICAgICAg
KFdLUHJlZmVyZW5jZXNHZXRTaG91bGREaXNhbGxvd1VzZXJJbnN0YWxsZWRGb250cyk6IERlbGV0
ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzLm1tOgorICAgICAg
ICAoLVtXS1ByZWZlcmVuY2VzIF9zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250c10pOgorICAg
ICAgICAoLVtXS1ByZWZlcmVuY2VzIF9zZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250czpd
KToKKyAgICAgICAgKC1bV0tQcmVmZXJlbmNlcyBfc2hvdWxkRGlzYWxsb3dVc2VySW5zdGFsbGVk
Rm9udHNdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bV0tQcmVmZXJlbmNlcyBfc2V0U2hvdWxkRGlz
YWxsb3dVc2VySW5zdGFsbGVkRm9udHM6XSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oOgorCiAyMDE3LTEyLTE5ICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtNZWRpYVN0cmVhbV0g
Q2xlYW4gdXAgUmVhbHRpbWVNZWRpYVNvdXJjZSBpbnRlcmZhY2VzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZDhkMDA0ZjE3MGVh
MTZhMjgyMTYwMmY2YjNkZjVhOTVhYTI2ZTc3NS4uNzg1OGE0NmQ5Y2Q4NjQ3MGYxNWRlMzY4Mzk3
NWUzYTEzMjU0MjQ4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtMzcyMiw2ICszNzIyLDcgQEAKIAkJQzEwNURBNjQwRjNBQTZC
ODAwMURENDRGIC8qIFRleHRFbmNvZGluZ0RldGVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMTA1REE2MzBGM0FBNkI4MDAxREQ0NEYgLyogVGV4
dEVuY29kaW5nRGV0ZWN0b3IuaCAqLzsgfTsKIAkJQzIwMTVDMEExQkU2RkVCMjAwODIyMzg5IC8q
IEZvbnRWYXJpYW50QnVpbGRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQzIwMTVDMDkxQkU2RkUyQzAwODIyMzg5IC8qIEZvbnRWYXJpYW50QnVpbGRl
ci5oICovOyB9OwogCQlDMjFERjJFQTFEOUU0RTk5MDBGNUIyNEMgLyogQ1NTRm9udFZhcmlhdGlv
blZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
MjFERjJFODFEOUU0RTk5MDBGNUIyNEMgLyogQ1NTRm9udFZhcmlhdGlvblZhbHVlLmggKi87IH07
CisJCUMyNDU4RTYzMUZFODk3QjAwMDU5NDc1OSAvKiBGb250Q2FjaGVDb3JlVGV4dC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzI0NThFNjExRkU4OTc5
RTAwNTk0NzU5IC8qIEZvbnRDYWNoZUNvcmVUZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzI2MDE3QTQxQzcyREM5OTAwRjc0QTE2IC8qIENT
U0ZvbnRGYWNlU2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDMjYwMTdBMjFDNzJEQzk5MDBGNzRBMTYgLyogQ1NTRm9udEZhY2VTZXQuaCAqLzsgfTsK
IAkJQzI4MDgzM0YxQzZEQzI2RjAwMTQ1MUI2IC8qIEpTRm9udEZhY2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyODA4MzNFMUM2REMyMkMwMDE0NTFC
NiAvKiBKU0ZvbnRGYWNlLmggKi87IH07CiAJCUMyQUIwQUY3MUU2QjNDNkMwMDEzNDhDNSAvKiBG
b250U2VsZWN0aW9uQWxnb3JpdGhtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDMkFCMEFGNTFFNkIzQzZDMDAxMzQ4QzUgLyogRm9udFNlbGVjdGlvbkFs
Z29yaXRobS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CkBAIC0xMjY0MSw2ICsxMjY0Miw3IEBACiAJCUMyMDE1QzA5MUJFNkZFMkMwMDgyMjM4OSAvKiBG
b250VmFyaWFudEJ1aWxkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9udFZhcmlhbnRCdWlsZGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyMURGMkU3MUQ5RTRFOTkwMEY1QjI0QyAv
KiBDU1NGb250VmFyaWF0aW9uVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gQ1NTRm9udFZhcmlhdGlvblZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQzIxREYyRTgxRDlFNEU5OTAwRjVCMjRDIC8qIENTU0ZvbnRWYXJpYXRpb25WYWx1
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NGb250VmFyaWF0aW9uVmFs
dWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzI0NThFNjExRkU4OTc5RTAwNTk0
NzU5IC8qIEZvbnRDYWNoZUNvcmVUZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRDYWNoZUNvcmVU
ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyNjAxN0ExMUM3MkRDOTkwMEY3
NEExNiAvKiBDU1NGb250RmFjZVNldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBDU1NGb250RmFjZVNldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUMyNjAxN0EyMUM3MkRDOTkwMEY3NEExNiAvKiBDU1NGb250RmFjZVNldC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NGb250RmFjZVNldC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDMjgwODMzQzFDNkRCMTk0MDAxNDUxQjYgLyogRm9udEZhY2UuaWRsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IEZvbnRGYWNlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTIzMDA5LDYgKzIzMDExLDcgQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hp
bGRyZW4gPSAoCiAJCQkJMUMzOTY5Q0YxQjc0MjExRTAwMkJDRkE3IC8qIEZvbnRDYWNoZUNvcmVU
ZXh0LmNwcCAqLywKKwkJCQlDMjQ1OEU2MTFGRTg5NzlFMDA1OTQ3NTkgLyogRm9udENhY2hlQ29y
ZVRleHQuaCAqLywKIAkJCQlCMkFGRkM3ODBEMDBBNUMxMDAzMDA3NEQgLyogRm9udENhc2NhZGVD
b2NvYS5tbSAqLywKIAkJCQk3QzRFREQ3MzFBN0I2MDc4MDAxOThDNEQgLyogRm9udENvY29hLm1t
ICovLAogCQkJCTFDMTJBQzJDMUVFNzc5OTUwMDc5RTBBMCAvKiBGb250RGVzY3JpcHRpb25Db2Nv
YS5jcHAgKi8sCkBAIC0yNjk5NCw2ICsyNjk5Nyw3IEBACiAJCQkJMUFDMkQ4OUQxQjFFMjkxRjAw
RDUyRTg3IC8qIEZvbnRBbnRpYWxpYXNpbmdTdGF0ZVNhdmVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQ0I5MkQ0RjEyOTM1NTBCMDBDODM4N0YgLyogRm9udEJhc2VsaW5lLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCMkMzREE2MzBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udENhY2hlLmggaW4gSGVhZGVy
cyAqLywKKwkJCQlDMjQ1OEU2MzFGRTg5N0IwMDA1OTQ3NTkgLyogRm9udENhY2hlQ29yZVRleHQu
aCBpbiBIZWFkZXJzICovLAogCQkJCUIyQzNEQTYxMEQwMDZDRDYwMEVGNkYyNiAvKiBGb250Q2Fz
Y2FkZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJDM0RBNjgwRDAwNkNENjAwRUY2RjI2IC8qIEZv
bnRDYXNjYWRlRm9udHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyQUZGQzdFMEQwMEE1QzEwMDMw
MDc0RCAvKiBGb250Q3VzdG9tUGxhdGZvcm1EYXRhLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNldC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRm9udEZhY2VTZXQuY3BwCmluZGV4IDVjNDAzMTNlNTljNmM0ZDNmZTBmYjI3ZWQ4
MzY4ZDA2NjYxOTQxMzYuLmI4MTA0MDNmYzA3YThmNzJhYjUzOWJmZTM0ZmMzMGM2ZjRkMDRhOTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNldC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU2V0LmNwcApAQCAtMTA0LDkgKzEwNCw5IEBA
IHZvaWQgQ1NTRm9udEZhY2VTZXQ6OmVuc3VyZUxvY2FsRm9udEZhY2VzRm9yRmFtaWx5UmVnaXN0
ZXJlZChjb25zdCBTdHJpbmcmIGZhbWlsCiAgICAgaWYgKG1fbG9jYWxseUluc3RhbGxlZEZhY2Vz
TG9va3VwVGFibGUuY29udGFpbnMoZmFtaWx5TmFtZSkpCiAgICAgICAgIHJldHVybjsKIAotICAg
IEZvbnRDYWNoZTo6QWxsb3dVc2VySW5zdGFsbGVkRm9udHMgYWxsb3dVc2VySW5zdGFsbGVkRm9u
dHMgPSBGb250Q2FjaGU6OkFsbG93VXNlckluc3RhbGxlZEZvbnRzOjpZZXM7Ci0gICAgaWYgKG1f
b3duaW5nRm9udFNlbGVjdG9yLT5kb2N1bWVudCgpICYmIG1fb3duaW5nRm9udFNlbGVjdG9yLT5k
b2N1bWVudCgpLT5zZXR0aW5ncygpLnNob3VsZERpc2FsbG93VXNlckluc3RhbGxlZEZvbnRzKCkp
Ci0gICAgICAgIGFsbG93VXNlckluc3RhbGxlZEZvbnRzID0gRm9udENhY2hlOjpBbGxvd1VzZXJJ
bnN0YWxsZWRGb250czo6Tm87CisgICAgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMgYWxsb3dVc2Vy
SW5zdGFsbGVkRm9udHMgPSBBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6WWVzOworICAgIGlmICht
X293bmluZ0ZvbnRTZWxlY3Rvci0+ZG9jdW1lbnQoKSkKKyAgICAgICAgYWxsb3dVc2VySW5zdGFs
bGVkRm9udHMgPSBtX293bmluZ0ZvbnRTZWxlY3Rvci0+ZG9jdW1lbnQoKS0+c2V0dGluZ3MoKS5z
aG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cygpID8gQWxsb3dVc2VySW5zdGFsbGVkRm9udHM6
OlllcyA6IEFsbG93VXNlckluc3RhbGxlZEZvbnRzOjpObzsKICAgICBWZWN0b3I8Rm9udFNlbGVj
dGlvbkNhcGFiaWxpdGllcz4gY2FwYWJpbGl0aWVzID0gRm9udENhY2hlOjpzaW5nbGV0b24oKS5n
ZXRGb250U2VsZWN0aW9uQ2FwYWJpbGl0aWVzSW5GYW1pbHkoZmFtaWx5TmFtZSwgYWxsb3dVc2Vy
SW5zdGFsbGVkRm9udHMpOwogICAgIGlmIChjYXBhYmlsaXRpZXMuaXNFbXB0eSgpKQogICAgICAg
ICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKaW5kZXggN2ZkMjViOGFh
ZDVhYmM3MGRlMTA5YjI0MTQ2MjY0N2ZkNzlmMDU1ZC4uODk0N2MwMDFmODU5NzQ4NzRmZTMwMWFk
MjkwYzg1MjY2NDA2ZGRlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVz
b2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcApAQCAt
MTc4OCw3ICsxNzg4LDcgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjppbml0aWFsaXplRm9udFN0eWxl
KCkKICAgICBmb250RGVzY3JpcHRpb24uc2V0T25lRmFtaWx5KHN0YW5kYXJkRmFtaWx5KTsKICAg
ICBmb250RGVzY3JpcHRpb24uc2V0S2V5d29yZFNpemVGcm9tSWRlbnRpZmllcihDU1NWYWx1ZU1l
ZGl1bSk7CiAgICAgc2V0Rm9udFNpemUoZm9udERlc2NyaXB0aW9uLCBTdHlsZTo6Zm9udFNpemVG
b3JLZXl3b3JkKENTU1ZhbHVlTWVkaXVtLCBmYWxzZSwgZG9jdW1lbnQoKSkpOwotICAgIGZvbnRE
ZXNjcmlwdGlvbi5zZXRNYXlSZXByZXNlbnRVc2VySW5zdGFsbGVkRm9udCghc2V0dGluZ3MoKS5z
aG91bGREaXNhbGxvd1VzZXJJbnN0YWxsZWRGb250cygpKTsKKyAgICBmb250RGVzY3JpcHRpb24u
c2V0U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoc2V0dGluZ3MoKS5zaG91bGRBbGxvd1Vz
ZXJJbnN0YWxsZWRGb250cygpID8gQWxsb3dVc2VySW5zdGFsbGVkRm9udHM6OlllcyA6IEFsbG93
VXNlckluc3RhbGxlZEZvbnRzOjpObyk7CiAgICAgc2V0Rm9udERlc2NyaXB0aW9uKGZvbnREZXNj
cmlwdGlvbik7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
eWFtbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAppbmRleCA5OTVlYjhkMWNj
NDA5ZGQ5ZGI5ZmMxYzdiOWZmZjJhODM1ODY0MWNhLi43YWZiNmEyMzRkYmU3YTBhZjNmODBiYjJi
OTdlM2Y2ZTAwNWViMzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LnlhbWwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCkBAIC02NjEsOCAr
NjYxLDggQEAgc3RvcmFnZUJsb2NraW5nUG9saWN5OgogICBpbml0aWFsOiBTZWN1cml0eU9yaWdp
bjo6QWxsb3dBbGxTdG9yYWdlCiAgIG9uQ2hhbmdlOiBzdG9yYWdlQmxvY2tpbmdQb2xpY3lDaGFu
Z2VkCiAKLXNob3VsZERpc2FsbG93VXNlckluc3RhbGxlZEZvbnRzOgotICBpbml0aWFsOiBmYWxz
ZQorc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHM6CisgIGluaXRpYWw6IHRydWUKICAgb25D
aGFuZ2U6IHNldE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcwogCiAjIE9ubHkgc2V0IGJ5IExh
eW91dCBUZXN0cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRDYWNoZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hl
LmgKaW5kZXggNGFmNDdkNGIzNjM5OTQ3NTgyYzdlMDg0ODJhOWE1Yzc3MmE0ZGU0MS4uYTJlYTIx
M2Q1MjE2ZjYyOTI1MTk4NTg0YjJmMGU5M2Q0OWNiYjA2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKQEAgLTQxLDcgKzQxLDcgQEAKICNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogI2lmIFBMQVRGT1JNKENPQ09BKQotI2luY2x1ZGUg
PENvcmVUZXh0L0NURm9udC5oPgorI2luY2x1ZGUgIkZvbnRDYWNoZUNvcmVUZXh0LmgiCiAjZW5k
aWYKIAogI2lmIE9TKFdJTkRPV1MpCkBAIC0yMDAsMTAgKzIwMCw2IEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgSU11bHRpTGFuZ3VhZ2UqIGdldE11bHRpTGFuZ3VhZ2VJbnRlcmZhY2UoKTsKICNlbmRp
ZgogCi0gICAgZW51bSBjbGFzcyBBbGxvd1VzZXJJbnN0YWxsZWRGb250cyB7Ci0gICAgICAgIFll
cywKLSAgICAgICAgTm8KLSAgICB9OwogICAgIC8vIFRoaXMgZnVuY3Rpb24gZXhpc3RzIHNvIENT
U0ZvbnRTZWxlY3RvciBjYW4gaGF2ZSBhIHVuaWZpZWQgbm90aW9uIG9mIHByZWluc3RhbGxlZCBm
b250cyBhbmQgQGZvbnQtZmFjZS4KICAgICAvLyBJdCBjb21lcyBpbnRvIHBsYXkgd2hlbiB5b3Ug
Y3JlYXRlIGFuIEBmb250LWZhY2Ugd2hpY2ggc2hhcmVzIGEgZmFtaWx5IG5hbWUgYXMgYSBwcmVp
bnN0YWxsZWQgZm9udC4KICAgICBWZWN0b3I8Rm9udFNlbGVjdGlvbkNhcGFiaWxpdGllcz4gZ2V0
Rm9udFNlbGVjdGlvbkNhcGFiaWxpdGllc0luRmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYsIEFs
bG93VXNlckluc3RhbGxlZEZvbnRzKTsKQEAgLTI3MCwzMiArMjY2LDcgQEAgaW5saW5lIHN0ZDo6
dW5pcXVlX3B0cjxGb250UGxhdGZvcm1EYXRhPiBGb250Q2FjaGU6OmNyZWF0ZUZvbnRQbGF0Zm9y
bURhdGFGb3JUZXMKICAgICByZXR1cm4gY3JlYXRlRm9udFBsYXRmb3JtRGF0YShmb250RGVzY3Jp
cHRpb24sIGZhbWlseSwgbnVsbHB0ciwgbnVsbHB0ciwgeyB9KTsKIH0KIAotI2lmIFBMQVRGT1JN
KENPQ09BKQotCi1zdHJ1Y3QgU3ludGhlc2lzUGFpciB7Ci0gICAgU3ludGhlc2lzUGFpcihib29s
IG5lZWRzU3ludGhldGljQm9sZCwgYm9vbCBuZWVkc1N5bnRoZXRpY09ibGlxdWUpCi0gICAgICAg
IDogbmVlZHNTeW50aGV0aWNCb2xkKG5lZWRzU3ludGhldGljQm9sZCkKLSAgICAgICAgLCBuZWVk
c1N5bnRoZXRpY09ibGlxdWUobmVlZHNTeW50aGV0aWNPYmxpcXVlKQotICAgIHsKLSAgICB9Ci0K
LSAgICBzdGQ6OnBhaXI8Ym9vbCwgYm9vbD4gYm9sZE9ibGlxdWVQYWlyKCkgY29uc3QKLSAgICB7
Ci0gICAgICAgIHJldHVybiBzdGQ6Om1ha2VfcGFpcihuZWVkc1N5bnRoZXRpY0JvbGQsIG5lZWRz
U3ludGhldGljT2JsaXF1ZSk7Ci0gICAgfQotCi0gICAgYm9vbCBuZWVkc1N5bnRoZXRpY0JvbGQ7
Ci0gICAgYm9vbCBuZWVkc1N5bnRoZXRpY09ibGlxdWU7Ci19OwotCi1SZXRhaW5QdHI8Q1RGb250
UmVmPiBwcmVwYXJlUGxhdGZvcm1Gb250KENURm9udFJlZiwgY29uc3QgRm9udERlc2NyaXB0aW9u
JiwgY29uc3QgRm9udEZlYXR1cmVTZXR0aW5ncyogZm9udEZhY2VGZWF0dXJlcywgY29uc3QgRm9u
dFZhcmlhbnRTZXR0aW5ncyogZm9udEZhY2VWYXJpYW50U2V0dGluZ3MsIEZvbnRTZWxlY3Rpb25T
cGVjaWZpZWRDYXBhYmlsaXRpZXMgZm9udEZhY2VDYXBhYmlsaXRpZXMsIGZsb2F0IHNpemUsIGJv
b2wgYXBwbHlXZWlnaHRXaWR0aFNsb3BlVmFyaWF0aW9ucyA9IHRydWUpOwotU3ludGhlc2lzUGFp
ciBjb21wdXRlTmVjZXNzYXJ5U3ludGhlc2lzKENURm9udFJlZiwgY29uc3QgRm9udERlc2NyaXB0
aW9uJiwgYm9vbCBpc1BsYXRmb3JtRm9udCA9IGZhbHNlKTsKLVJldGFpblB0cjxDVEZvbnRSZWY+
IHBsYXRmb3JtRm9udFdpdGhGYW1pbHlTcGVjaWFsQ2FzZShjb25zdCBBdG9taWNTdHJpbmcmIGZh
bWlseSwgRm9udFNlbGVjdGlvblJlcXVlc3QsIGZsb2F0IHNpemUpOwotUmV0YWluUHRyPENURm9u
dFJlZj4gcGxhdGZvcm1Gb250V2l0aEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSwg
Rm9udFNlbGVjdGlvblJlcXVlc3QsIFRleHRSZW5kZXJpbmdNb2RlLCBmbG9hdCBzaXplKTsKLWJv
b2wgcmVxdWlyZXNDdXN0b21GYWxsYmFja0ZvbnQoVUNoYXIzMiBjaGFyYWN0ZXIpOwotRm9udFNl
bGVjdGlvbkNhcGFiaWxpdGllcyBjYXBhYmlsaXRpZXNGb3JGb250RGVzY3JpcHRvcihDVEZvbnRE
ZXNjcmlwdG9yUmVmKTsKLQotI2Vsc2UKKyNpZiAhUExBVEZPUk0oQ09DT0EpCiAKIGlubGluZSB2
b2lkIEZvbnRDYWNoZTo6cGxhdGZvcm1QdXJnZUluYWN0aXZlRm9udERhdGEoKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERlc2NyaXB0aW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREZXNjcmlwdGlvbi5jcHAK
aW5kZXggZGY0YTljY2I1ZGI0OTA3NjhkMGUxM2RjNjJmZWM1YzUwM2ZhYjZlOC4uM2Q1ZGQzNTcx
NDYwNzdiMjhhZTUyM2UzYTMzZTI3YmZkMjQ1NjlhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERlc2NyaXB0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGVzY3JpcHRpb24uY3BwCkBAIC04MCw3ICs4MCw3
IEBAIEZvbnREZXNjcmlwdGlvbjo6Rm9udERlc2NyaXB0aW9uKCkKICAgICAsIG1fdmFyaWFudEVh
c3RBc2lhblJ1Ynkoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEZvbnRWYXJpYW50RWFzdEFzaWFuUnVi
eTo6Tm9ybWFsKSkKICAgICAsIG1fb3B0aWNhbFNpemluZyhzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
Rm9udE9wdGljYWxTaXppbmc6OkVuYWJsZWQpKQogICAgICwgbV9mb250U3R5bGVBeGlzKEZvbnRD
YXNjYWRlRGVzY3JpcHRpb246OmluaXRpYWxGb250U3R5bGVBeGlzKCkgPT0gRm9udFN0eWxlQXhp
czo6aXRhbCkKLSAgICAsIG1fbWF5UmVwcmVzZW50VXNlckluc3RhbGxlZEZvbnQodHJ1ZSkKKyAg
ICAsIG1fc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KEFsbG93VXNlckluc3RhbGxlZEZvbnRzOjpZZXMpKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGVzY3JpcHRpb24uaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREZXNjcmlwdGlvbi5oCmluZGV4IDhiOGZhMjI1
MDNlMmM1MTA1MWJkZDg4YWJkYmM1MGE5ZjVlYmRhOWEuLjE1YjRhZjY5NGYzOWZmOWFhM2NmZWEy
ZDI4MWY5MDg1Y2U1ZjdiNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnREZXNjcmlwdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnREZXNjcmlwdGlvbi5oCkBAIC0xMTQsNyArMTE0LDcgQEAgcHVibGljOgogICAg
IH0KICAgICBGb250T3B0aWNhbFNpemluZyBvcHRpY2FsU2l6aW5nKCkgY29uc3QgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8Rm9udE9wdGljYWxTaXppbmc+KG1fb3B0aWNhbFNpemluZyk7IH0KICAgICBG
b250U3R5bGVBeGlzIGZvbnRTdHlsZUF4aXMoKSBjb25zdCB7IHJldHVybiBtX2ZvbnRTdHlsZUF4
aXMgPyBGb250U3R5bGVBeGlzOjppdGFsIDogRm9udFN0eWxlQXhpczo6c2xudDsgfQotICAgIGJv
b2wgbWF5UmVwcmVzZW50VXNlckluc3RhbGxlZEZvbnQoKSBjb25zdCB7IHJldHVybiBtX21heVJl
cHJlc2VudFVzZXJJbnN0YWxsZWRGb250OyB9CisgICAgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMg
c2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2Fz
dDxBbGxvd1VzZXJJbnN0YWxsZWRGb250cz4obV9zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250
cyk7IH0KIAogICAgIHZvaWQgc2V0Q29tcHV0ZWRTaXplKGZsb2F0IHMpIHsgbV9jb21wdXRlZFNp
emUgPSBjbGFtcFRvRmxvYXQocyk7IH0KICAgICB2b2lkIHNldEl0YWxpYyhGb250U2VsZWN0aW9u
VmFsdWUgaXRhbGljKSB7IG1fZm9udFNlbGVjdGlvblJlcXVlc3Quc2xvcGUgPSBpdGFsaWM7IH0K
QEAgLTE0OSw3ICsxNDksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRWYXJpYW50RWFzdEFzaWFu
UnVieShGb250VmFyaWFudEVhc3RBc2lhblJ1YnkgdmFyaWFudCkgeyBtX3ZhcmlhbnRFYXN0QXNp
YW5SdWJ5ID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHZhcmlhbnQpOyB9CiAgICAgdm9pZCBzZXRP
cHRpY2FsU2l6aW5nKEZvbnRPcHRpY2FsU2l6aW5nIHNpemluZykgeyBtX29wdGljYWxTaXppbmcg
PSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oc2l6aW5nKTsgfQogICAgIHZvaWQgc2V0Rm9udFN0eWxl
QXhpcyhGb250U3R5bGVBeGlzIGF4aXMpIHsgbV9mb250U3R5bGVBeGlzID0gYXhpcyA9PSBGb250
U3R5bGVBeGlzOjppdGFsOyB9Ci0gICAgdm9pZCBzZXRNYXlSZXByZXNlbnRVc2VySW5zdGFsbGVk
Rm9udChib29sIG1heVJlcHJlc2VudFVzZXJJbnN0YWxsZWRGb250KSB7IG1fbWF5UmVwcmVzZW50
VXNlckluc3RhbGxlZEZvbnQgPSBtYXlSZXByZXNlbnRVc2VySW5zdGFsbGVkRm9udDsgfQorICAg
IHZvaWQgc2V0U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoQWxsb3dVc2VySW5zdGFsbGVk
Rm9udHMgc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMpIHsgbV9zaG91bGRBbGxvd1VzZXJJ
bnN0YWxsZWRGb250cyA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihzaG91bGRBbGxvd1VzZXJJbnN0
YWxsZWRGb250cyk7IH0KIAogICAgIHN0YXRpYyB2b2lkIGludmFsaWRhdGVDYWNoZXMoKTsKIApA
QCAtMTg1LDcgKzE4NSw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV92YXJpYW50RWFzdEFz
aWFuUnVieSA6IDE7IC8vIEZvbnRWYXJpYW50RWFzdEFzaWFuUnVieQogICAgIHVuc2lnbmVkIG1f
b3B0aWNhbFNpemluZyA6IDE7IC8vIEZvbnRPcHRpY2FsU2l6aW5nCiAgICAgdW5zaWduZWQgbV9m
b250U3R5bGVBeGlzIDogMTsgLy8gV2hldGhlciAiZm9udC1zdHlsZTogaXRhbGljIiBvciAiZm9u
dC1zdHlsZTogb2JsaXF1ZSAyMGRlZyIgd2FzIHNwZWNpZmllZAotICAgIHVuc2lnbmVkIG1fbWF5
UmVwcmVzZW50VXNlckluc3RhbGxlZEZvbnQgOiAxOyAvLyBJZiB0aGlzIGRlc2NyaXB0aW9uIGlz
IGFsbG93ZWQgdG8gbWF0Y2ggYSB1c2VyLWluc3RhbGxlZCBmb250CisgICAgdW5zaWduZWQgbV9z
aG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyA6IDE7IC8vIElmIHRoaXMgZGVzY3JpcHRpb24g
aXMgYWxsb3dlZCB0byBtYXRjaCBhIHVzZXItaW5zdGFsbGVkIGZvbnQKIH07CiAKIGlubGluZSBi
b29sIEZvbnREZXNjcmlwdGlvbjo6b3BlcmF0b3I9PShjb25zdCBGb250RGVzY3JpcHRpb24mIG90
aGVyKSBjb25zdApAQCAtMjIwLDcgKzIyMCw3IEBAIGlubGluZSBib29sIEZvbnREZXNjcmlwdGlv
bjo6b3BlcmF0b3I9PShjb25zdCBGb250RGVzY3JpcHRpb24mIG90aGVyKSBjb25zdAogICAgICAg
ICAmJiBtX3ZhcmlhbnRFYXN0QXNpYW5SdWJ5ID09IG90aGVyLm1fdmFyaWFudEVhc3RBc2lhblJ1
YnkKICAgICAgICAgJiYgbV9vcHRpY2FsU2l6aW5nID09IG90aGVyLm1fb3B0aWNhbFNpemluZwog
ICAgICAgICAmJiBtX2ZvbnRTdHlsZUF4aXMgPT0gb3RoZXIubV9mb250U3R5bGVBeGlzCi0gICAg
ICAgICYmIG1fbWF5UmVwcmVzZW50VXNlckluc3RhbGxlZEZvbnQgPT0gb3RoZXIubV9tYXlSZXBy
ZXNlbnRVc2VySW5zdGFsbGVkRm9udDsKKyAgICAgICAgJiYgbV9zaG91bGRBbGxvd1VzZXJJbnN0
YWxsZWRGb250cyA9PSBvdGhlci5tX3Nob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzOwogfQog
CiAvLyBGSVhNRTogTW92ZSB0byBhIGZpbGUgb2YgaXRzIG93bi4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0
LmNwcAppbmRleCBjZTcwMzc0MTUwNjllMDczMTNhYjk4YWQ5NTM3MjE2MGFkOWRiNmYzLi4wYWIx
N2Y1NzhmNzZjNGQ1YWM1YTE5NTc2YmY1NDkyM2YwOTAzMGYyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRl
eHQuY3BwCkBAIC04MzMsNyArODMzLDcgQEAgcHVibGljOgogI2lmICFDQU5fRElTQUxMT1dfVVNF
Ul9JTlNUQUxMRURfRk9OVFMKICAgICBzdGF0aWMgRm9udERhdGFiYXNlJiBzaW5nbGV0b24oKQog
ICAgIHsKLSAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEZvbnREYXRhYmFzZT4gZGF0YWJh
c2UoRm9udENhY2hlOjpBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6WWVzKTsKKyAgICAgICAgc3Rh
dGljIE5ldmVyRGVzdHJveWVkPEZvbnREYXRhYmFzZT4gZGF0YWJhc2UoQWxsb3dVc2VySW5zdGFs
bGVkRm9udHM6Olllcyk7CiAgICAgICAgIHJldHVybiBkYXRhYmFzZTsKICAgICB9CiAjZW5kaWYK
QEAgLTg0MSw3ICs4NDEsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEZvbnREYXRhYmFzZSYgc2lu
Z2xldG9uQWxsb3dpbmdVc2VySW5zdGFsbGVkRm9udHMoKQogICAgIHsKICNpZiBDQU5fRElTQUxM
T1dfVVNFUl9JTlNUQUxMRURfRk9OVFMKLSAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEZv
bnREYXRhYmFzZT4gZGF0YWJhc2UoRm9udENhY2hlOjpBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6
WWVzKTsKKyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEZvbnREYXRhYmFzZT4gZGF0YWJh
c2UoQWxsb3dVc2VySW5zdGFsbGVkRm9udHM6Olllcyk7CiAgICAgICAgIHJldHVybiBkYXRhYmFz
ZTsKICNlbHNlCiAgICAgICAgIHJldHVybiBzaW5nbGV0b24oKTsKQEAgLTg1MSw3ICs4NTEsNyBA
QCBwdWJsaWM6CiAgICAgc3RhdGljIEZvbnREYXRhYmFzZSYgc2luZ2xldG9uRGlzYWxsb3dpbmdV
c2VySW5zdGFsbGVkRm9udHMoKQogICAgIHsKICNpZiBDQU5fRElTQUxMT1dfVVNFUl9JTlNUQUxM
RURfRk9OVFMKLSAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEZvbnREYXRhYmFzZT4gZGF0
YWJhc2UoRm9udENhY2hlOjpBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6Tm8pOworICAgICAgICBz
dGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Rm9udERhdGFiYXNlPiBkYXRhYmFzZShBbGxvd1VzZXJJbnN0
YWxsZWRGb250czo6Tm8pOwogICAgICAgICByZXR1cm4gZGF0YWJhc2U7CiAjZWxzZQogICAgICAg
ICByZXR1cm4gc2luZ2xldG9uKCk7CkBAIC05NzQsMTQgKzk3NCwxNCBAQCBwdWJsaWM6CiBwcml2
YXRlOgogICAgIGZyaWVuZCBjbGFzcyBOZXZlckRlc3Ryb3llZDxGb250RGF0YWJhc2U+OwogCi0g
ICAgRm9udERhdGFiYXNlKEZvbnRDYWNoZTo6QWxsb3dVc2VySW5zdGFsbGVkRm9udHMgYWxsb3dV
c2VySW5zdGFsbGVkRm9udHMpCisgICAgRm9udERhdGFiYXNlKEFsbG93VXNlckluc3RhbGxlZEZv
bnRzIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKQogICAgICAgICA6IG1fYWxsb3dVc2VySW5zdGFs
bGVkRm9udHMoYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpCiAgICAgewogICAgIH0KIAogICAgIEhh
c2hNYXA8U3RyaW5nLCBJbnN0YWxsZWRGb250RmFtaWx5PiBtX2ZhbWlseU5hbWVUb0ZvbnREZXNj
cmlwdG9yczsKICAgICBIYXNoTWFwPFN0cmluZywgSW5zdGFsbGVkRm9udD4gbV9wb3N0U2NyaXB0
TmFtZVRvRm9udERlc2NyaXB0b3JzOwotICAgIEZvbnRDYWNoZTo6QWxsb3dVc2VySW5zdGFsbGVk
Rm9udHMgbV9hbGxvd1VzZXJJbnN0YWxsZWRGb250czsKKyAgICBBbGxvd1VzZXJJbnN0YWxsZWRG
b250cyBtX2FsbG93VXNlckluc3RhbGxlZEZvbnRzOwogfTsKIAogLy8gQmVjYXVzZSB0aGlzIHN0
cnVjdCBob2xkcyBpbnRlcm1lZGlhdGUgdmFsdWVzIHdoaWNoIG1heSBiZSBpbiB0aGUgY29tcHJl
c3NlZCAtMSAtIDEgR1ggcmFuZ2UsIHdlIGRvbid0IHdhbnQgdG8gdXNlIHRoZSByZWxhdGl2ZWx5
IGxhcmdlCkBAIC0xMTkwLDE4ICsxMTkwLDE4IEBAIHN0cnVjdCBGb250TG9va3VwIHsKICAgICBi
b29sIGNyZWF0ZWRGcm9tUG9zdFNjcmlwdE5hbWUgeyBmYWxzZSB9OwogfTsKIAotc3RhdGljIEZv
bnRMb29rdXAgcGxhdGZvcm1Gb250TG9va3VwV2l0aEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcm
IGZhbWlseSwgRm9udFNlbGVjdGlvblJlcXVlc3QgcmVxdWVzdCwgZmxvYXQgc2l6ZSwgYm9vbCBt
YXlSZXByZXNlbnRVc2VySW5zdGFsbGVkRm9udCkKK3N0YXRpYyBGb250TG9va3VwIHBsYXRmb3Jt
Rm9udExvb2t1cFdpdGhGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIEZvbnRTZWxl
Y3Rpb25SZXF1ZXN0IHJlcXVlc3QsIGZsb2F0IHNpemUsIEFsbG93VXNlckluc3RhbGxlZEZvbnRz
IGFsbG93VXNlckluc3RhbGxlZEZvbnRzKQogewogICAgIGNvbnN0IGF1dG8mIHdoaXRlbGlzdCA9
IGZvbnRXaGl0ZWxpc3QoKTsKICAgICBpZiAoIWlzU3lzdGVtRm9udChmYW1pbHkpICYmIHdoaXRl
bGlzdC5zaXplKCkgJiYgIXdoaXRlbGlzdC5jb250YWlucyhmYW1pbHkpKQogICAgICAgICByZXR1
cm4geyBudWxscHRyIH07CiAKICNpZiBTSE9VTERfVVNFX0NPUkVfVEVYVF9GT05UX0xPT0tVUAot
ICAgIFVOVVNFRF9QQVJBTShtYXlSZXByZXNlbnRVc2VySW5zdGFsbGVkRm9udCk7CisgICAgVU5V
U0VEX1BBUkFNKGFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKICAgICBDVEZvbnRTeW1ib2xpY1Ry
YWl0cyB0cmFpdHMgPSAoaXNGb250V2VpZ2h0Qm9sZChyZXF1ZXN0LndlaWdodCkgPyBrQ1RGb250
VHJhaXRCb2xkIDogMCkgfCAoaXNJdGFsaWMocmVxdWVzdC5zbG9wZSkgPyBrQ1RGb250VHJhaXRJ
dGFsaWMgOiAwKTsKICAgICByZXR1cm4geyBhZG9wdENGKENURm9udENyZWF0ZUZvckNTUyhmYW1p
bHkuc3RyaW5nKCkuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHJl
cXVlc3Qud2VpZ2h0KSwgdHJhaXRzLCBzaXplKSkgfTsKICNlbHNlCi0gICAgYXV0byYgZm9udERh
dGFiYXNlID0gbWF5UmVwcmVzZW50VXNlckluc3RhbGxlZEZvbnQgPyBGb250RGF0YWJhc2U6OnNp
bmdsZXRvbkFsbG93aW5nVXNlckluc3RhbGxlZEZvbnRzKCkgOiBGb250RGF0YWJhc2U6OnNpbmds
ZXRvbkRpc2FsbG93aW5nVXNlckluc3RhbGxlZEZvbnRzKCk7CisgICAgYXV0byYgZm9udERhdGFi
YXNlID0gYWxsb3dVc2VySW5zdGFsbGVkRm9udHMgPT0gQWxsb3dVc2VySW5zdGFsbGVkRm9udHM6
OlllcyA/IEZvbnREYXRhYmFzZTo6c2luZ2xldG9uQWxsb3dpbmdVc2VySW5zdGFsbGVkRm9udHMo
KSA6IEZvbnREYXRhYmFzZTo6c2luZ2xldG9uRGlzYWxsb3dpbmdVc2VySW5zdGFsbGVkRm9udHMo
KTsKICAgICBjb25zdCBhdXRvJiBmYW1pbHlGb250cyA9IGZvbnREYXRhYmFzZS5jb2xsZWN0aW9u
Rm9yRmFtaWx5KGZhbWlseS5zdHJpbmcoKSk7CiAgICAgaWYgKGZhbWlseUZvbnRzLmlzRW1wdHko
KSkgewogICAgICAgICAvLyBUaGUgQ1NTIHNwZWMgc3RhdGVzIHRoYXQgZm9udC1mYW1pbHkgb25s
eSBhY2NlcHRzIGEgbmFtZSBvZiBhbiBhY3R1YWwgZm9udCBmYW1pbHkuIEhvd2V2ZXIsIGluIFdl
YktpdCwgd2UgY2xhaW0gdG8gYWxzbwpAQCAtMTI2NSw3ICsxMjY1LDcgQEAgc3RhdGljIFJldGFp
blB0cjxDVEZvbnRSZWY+IGZvbnRXaXRoRmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5
LCBjb25zdCBGb24KICAgICBGb250TG9va3VwIGZvbnRMb29rdXA7CiAgICAgZm9udExvb2t1cC5y
ZXN1bHQgPSBwbGF0Zm9ybUZvbnRXaXRoRmFtaWx5U3BlY2lhbENhc2UoZmFtaWx5LCByZXF1ZXN0
LCBzaXplKTsKICAgICBpZiAoIWZvbnRMb29rdXAucmVzdWx0KQotICAgICAgICBmb250TG9va3Vw
ID0gcGxhdGZvcm1Gb250TG9va3VwV2l0aEZhbWlseShmYW1pbHksIHJlcXVlc3QsIHNpemUsIGZv
bnREZXNjcmlwdGlvbi5tYXlSZXByZXNlbnRVc2VySW5zdGFsbGVkRm9udCgpKTsKKyAgICAgICAg
Zm9udExvb2t1cCA9IHBsYXRmb3JtRm9udExvb2t1cFdpdGhGYW1pbHkoZmFtaWx5LCByZXF1ZXN0
LCBzaXplLCBmb250RGVzY3JpcHRpb24uc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSk7
CiAgICAgcmV0dXJuIHByZXBhcmVQbGF0Zm9ybUZvbnQoZm9udExvb2t1cC5yZXN1bHQuZ2V0KCks
IGZvbnREZXNjcmlwdGlvbiwgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGlu
Z3MsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBzaXplLCAhZm9udExvb2t1cC5jcmVhdGVkRnJvbVBv
c3RTY3JpcHROYW1lKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWIxNmY3
YjFkMzc4YjAwODc0YjkzODE0NjhiNDg1ODM2YmI2YzgzNwotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmgK
QEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuICBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhl
IG5hbWUgb2YgQXBwbGUgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJGb250RGVzY3JpcHRpb24uaCIKKwor
I2luY2x1ZGUgPENvcmVUZXh0L0NURm9udC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0
cnVjdCBTeW50aGVzaXNQYWlyIHsKKyAgICBTeW50aGVzaXNQYWlyKGJvb2wgbmVlZHNTeW50aGV0
aWNCb2xkLCBib29sIG5lZWRzU3ludGhldGljT2JsaXF1ZSkKKyAgICAgICAgOiBuZWVkc1N5bnRo
ZXRpY0JvbGQobmVlZHNTeW50aGV0aWNCb2xkKQorICAgICAgICAsIG5lZWRzU3ludGhldGljT2Js
aXF1ZShuZWVkc1N5bnRoZXRpY09ibGlxdWUpCisgICAgeworICAgIH0KKworICAgIHN0ZDo6cGFp
cjxib29sLCBib29sPiBib2xkT2JsaXF1ZVBhaXIoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0
dXJuIHN0ZDo6bWFrZV9wYWlyKG5lZWRzU3ludGhldGljQm9sZCwgbmVlZHNTeW50aGV0aWNPYmxp
cXVlKTsKKyAgICB9CisKKyAgICBib29sIG5lZWRzU3ludGhldGljQm9sZDsKKyAgICBib29sIG5l
ZWRzU3ludGhldGljT2JsaXF1ZTsKK307CisKK1JldGFpblB0cjxDVEZvbnRSZWY+IHByZXBhcmVQ
bGF0Zm9ybUZvbnQoQ1RGb250UmVmLCBjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBGb250
RmVhdHVyZVNldHRpbmdzKiBmb250RmFjZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNldHRp
bmdzKiBmb250RmFjZVZhcmlhbnRTZXR0aW5ncywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFi
aWxpdGllcyBmb250RmFjZUNhcGFiaWxpdGllcywgZmxvYXQgc2l6ZSwgYm9vbCBhcHBseVdlaWdo
dFdpZHRoU2xvcGVWYXJpYXRpb25zID0gdHJ1ZSk7CitTeW50aGVzaXNQYWlyIGNvbXB1dGVOZWNl
c3NhcnlTeW50aGVzaXMoQ1RGb250UmVmLCBjb25zdCBGb250RGVzY3JpcHRpb24mLCBib29sIGlz
UGxhdGZvcm1Gb250ID0gZmFsc2UpOworUmV0YWluUHRyPENURm9udFJlZj4gcGxhdGZvcm1Gb250
V2l0aEZhbWlseVNwZWNpYWxDYXNlKGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5LCBGb250U2Vs
ZWN0aW9uUmVxdWVzdCwgZmxvYXQgc2l6ZSk7CitSZXRhaW5QdHI8Q1RGb250UmVmPiBwbGF0Zm9y
bUZvbnRXaXRoRmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5LCBGb250U2VsZWN0aW9u
UmVxdWVzdCwgVGV4dFJlbmRlcmluZ01vZGUsIGZsb2F0IHNpemUpOworYm9vbCByZXF1aXJlc0N1
c3RvbUZhbGxiYWNrRm9udChVQ2hhcjMyIGNoYXJhY3Rlcik7CitGb250U2VsZWN0aW9uQ2FwYWJp
bGl0aWVzIGNhcGFiaWxpdGllc0ZvckZvbnREZXNjcmlwdG9yKENURm9udERlc2NyaXB0b3JSZWYp
OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRGbGFn
cy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RmxhZ3MuaAppbmRleCBkZmRl
NWJmNmE0NjM0NDNjMjVkYTU2YjVjOTU1OTRiYzJkMTUxZjE5Li40MTJiOTZmYTJjMmJlN2M0NTVi
ZGM5OGVmOTQyZTk2ZThkY2RjNWJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L1RleHRGbGFncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4
dEZsYWdzLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA2
IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDMs
IDIwMDYsIDIwMTcgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzYyLDQgKzM2Miw5IEBAIGVudW0gY2xhc3MgRm9udFN0
eWxlQXhpcyB7CiAgICAgaXRhbAogfTsKIAorZW51bSBjbGFzcyBBbGxvd1VzZXJJbnN0YWxsZWRG
b250cyB7CisgICAgWWVzLAorICAgIE5vCit9OworCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZVJlc29sdmVGb3JEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9TdHlsZVJlc29sdmVGb3JEb2N1bWVudC5jcHAKaW5kZXggY2JmNjcyMzQyNjhmNGMzNzcw
YmZmM2VhMDk1Zjk5ODczMjJkNDEyZi4uYjZlNzIwNDU5Mzg2Njg1MDJjMGI5NDY1ZGQyOTE1OTQ0
ZTg2ZWU2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZlRm9y
RG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlUmVzb2x2ZUZvckRv
Y3VtZW50LmNwcApAQCAtMTA5LDcgKzEwOSw3IEBAIFJlbmRlclN0eWxlIHJlc29sdmVGb3JEb2N1
bWVudChjb25zdCBEb2N1bWVudCYgZG9jdW1lbnQpCiAgICAgZm9udERlc2NyaXB0aW9uLnNldExv
Y2FsZShkb2N1bWVudC5jb250ZW50TGFuZ3VhZ2UoKSk7CiAgICAgZm9udERlc2NyaXB0aW9uLnNl
dFJlbmRlcmluZ01vZGUoc2V0dGluZ3MuZm9udFJlbmRlcmluZ01vZGUoKSk7CiAgICAgZm9udERl
c2NyaXB0aW9uLnNldE9uZUZhbWlseShzdGFuZGFyZEZhbWlseSk7Ci0gICAgZm9udERlc2NyaXB0
aW9uLnNldE1heVJlcHJlc2VudFVzZXJJbnN0YWxsZWRGb250KCFzZXR0aW5ncy5zaG91bGREaXNh
bGxvd1VzZXJJbnN0YWxsZWRGb250cygpKTsKKyAgICBmb250RGVzY3JpcHRpb24uc2V0U2hvdWxk
QWxsb3dVc2VySW5zdGFsbGVkRm9udHMoc2V0dGluZ3Muc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVk
Rm9udHMoKSA/IEFsbG93VXNlckluc3RhbGxlZEZvbnRzOjpZZXMgOiBBbGxvd1VzZXJJbnN0YWxs
ZWRGb250czo6Tm8pOwogCiAgICAgZm9udERlc2NyaXB0aW9uLnNldEtleXdvcmRTaXplRnJvbUlk
ZW50aWZpZXIoQ1NTVmFsdWVNZWRpdW0pOwogICAgIGludCBzaXplID0gZm9udFNpemVGb3JLZXl3
b3JkKENTU1ZhbHVlTWVkaXVtLCBmYWxzZSwgZG9jdW1lbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggMWY0YjlkOTU1ZGFjZmE1OGFiMzcyY2ZmNzYwNTQz
NzllOGI2Mzc5Yy4uNTQ1MjQzNTA4Mzc1OTBiNWE5MWE2MGJlYTY3YmQ4NjUzMDZlMmRiNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC0xMDM0LDkgKzEwMzQs
OSBAQCBWaXNpYmxlRGVidWdPdmVybGF5UmVnaW9uczoKICAgZGVmYXVsdFZhbHVlOiAwCiAgIGNh
dGVnb3J5OiBkZWJ1ZwogCi1TaG91bGREaXNhbGxvd1VzZXJJbnN0YWxsZWRGb250czoKK1Nob3Vs
ZEFsbG93VXNlckluc3RhbGxlZEZvbnRzOgogICB0eXBlOiBib29sCi0gIGRlZmF1bHRWYWx1ZTog
ZmFsc2UKKyAgZGVmYXVsdFZhbHVlOiB0cnVlCiAKIAogIyBGb3IgZXhwZXJpbWVudGFsIGZlYXR1
cmVzOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJl
bmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNw
cAppbmRleCBkMzAzZTQ5OWE2NjQxNzgyNGNkNmYxMjNmNjFhNThlYTk0MGZmYmNhLi4zN2U2Y2Ix
MDViM2MzN2UyMWQ3Mzg0ZDlmOTlkZmQ0M2M4NjJhMDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcApAQCAtMTkyMCwxMiArMTkyMCwxMiBA
QCBib29sIFdLUHJlZmVyZW5jZXNHZXRBY2Nlc3NpYmlsaXR5T2JqZWN0TW9kZWxFbmFibGVkKFdL
UHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZQogICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNS
ZWYpLT5hY2Nlc3NpYmlsaXR5T2JqZWN0TW9kZWxFbmFibGVkKCk7CiB9CiAKLXZvaWQgV0tQcmVm
ZXJlbmNlc1NldFNob3VsZERpc2FsbG93VXNlckluc3RhbGxlZEZvbnRzKFdLUHJlZmVyZW5jZXNS
ZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldFNob3Vs
ZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYs
IGJvb2wgZmxhZykKIHsKLSAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRTaG91bGREaXNh
bGxvd1VzZXJJbnN0YWxsZWRGb250cyhmbGFnKTsKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYp
LT5zZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyhmbGFnKTsKIH0KIAotYm9vbCBXS1By
ZWZlcmVuY2VzR2V0U2hvdWxkRGlzYWxsb3dVc2VySW5zdGFsbGVkRm9udHMoV0tQcmVmZXJlbmNl
c1JlZiBwcmVmZXJlbmNlc1JlZikKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldFNob3VsZEFsbG93VXNl
ckluc3RhbGxlZEZvbnRzKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiB7Ci0gICAg
cmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNob3VsZERpc2FsbG93VXNlckluc3RhbGxl
ZEZvbnRzKCk7CisgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNob3VsZEFsbG93
VXNlckluc3RhbGxlZEZvbnRzKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAppbmRleCA2ZWZjZmUwOTJmZDUx
MGRjMjJkMjMwMmQ4MWY1Y2ZmYjViZWNlNDFhLi5lNzkzOTIzZWY0N2EyNTlmYjA3YjM2MmJjZjY1
NzM1MWRiZTc1YTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKQEAgLTU0Niw4ICs1NDYsOCBAQCBXS19FWFBP
UlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0QWNjZXNzaWJpbGl0eU9iamVjdE1vZGVsRW5hYmxlZChX
S1ByZWZlcmVuY2VzUmVmLAogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldEFjY2Vzc2li
aWxpdHlPYmplY3RNb2RlbEVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7CiAKIC8vIERlZmF1bHRz
IHRvIGZhbHNlLgotV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFNob3VsZERpc2FsbG93
VXNlckluc3RhbGxlZEZvbnRzKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7Ci1XS19FWFBP
UlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0U2hvdWxkRGlzYWxsb3dVc2VySW5zdGFsbGVkRm9udHMo
V0tQcmVmZXJlbmNlc1JlZik7CitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0U2hvdWxk
QWxsb3dVc2VySW5zdGFsbGVkRm9udHMoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKK1dL
X0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250
cyhXS1ByZWZlcmVuY2VzUmVmKTsKICAgICAKICNpZmRlZiBfX2NwbHVzcGx1cwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMubW0g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlcy5tbQppbmRl
eCA3NmY0MDQ0NGJmZjY5N2YzYTYyYzYwOGM3OTAwOTEyNGEwOTJkMGNkLi5jZjY5MmNjZDBmOTU5
NzBhMWJmYzc1MWNlY2I5NWJhODMyOGQyODdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlcy5tbQpAQCAtNjU3LDE0ICs2NTcsMTQgQEAg
LSAodm9pZClfc2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZDooQk9PTClqYXZhU2NyaXB0
Q2FuQWNjZXNzQ2xpcGJvYXJkCiAgICAgX3ByZWZlcmVuY2VzLT5zZXRKYXZhU2NyaXB0Q2FuQWNj
ZXNzQ2xpcGJvYXJkKGphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQpOwogfQogCi0tIChCT09M
KV9zaG91bGREaXNhbGxvd1VzZXJJbnN0YWxsZWRGb250cworLSAoQk9PTClfc2hvdWxkQWxsb3dV
c2VySW5zdGFsbGVkRm9udHMKIHsKLSAgICByZXR1cm4gX3ByZWZlcmVuY2VzLT5zaG91bGREaXNh
bGxvd1VzZXJJbnN0YWxsZWRGb250cygpOworICAgIHJldHVybiBfcHJlZmVyZW5jZXMtPnNob3Vs
ZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKCk7CiB9CiAKLS0gKHZvaWQpX3NldFNob3VsZERpc2Fs
bG93VXNlckluc3RhbGxlZEZvbnRzOihCT09MKV9zaG91bGREaXNhbGxvd1VzZXJJbnN0YWxsZWRG
b250cworLSAodm9pZClfc2V0U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHM6KEJPT0wpX3No
b3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzCiB7Ci0gICAgX3ByZWZlcmVuY2VzLT5zZXRTaG91
bGREaXNhbGxvd1VzZXJJbnN0YWxsZWRGb250cyhfc2hvdWxkRGlzYWxsb3dVc2VySW5zdGFsbGVk
Rm9udHMpOworICAgIF9wcmVmZXJlbmNlcy0+c2V0U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9u
dHMoX3Nob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKIH0KIAogI2lmIFBMQVRGT1JNKE1B
QykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZl
cmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJl
ZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggY2I5MTRmYmJkZWM0NmFkYmNhM2MyODg0ZTk0N2M2OTFl
YjkyYjAyYi4uNmExODgwNmYwM2FjNzBlZDI5NTM5MjMzOTg4NzVkYTk1ZWQwZGU2MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXNQcml2
YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5j
ZXNQcml2YXRlLmgKQEAgLTExNSw3ICsxMTUsNyBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50
ZWdlciwgX1dLSmF2YVNjcmlwdFJ1bnRpbWVGbGFncykgewogQHByb3BlcnR5IChub25hdG9taWMs
IHNldHRlcj1fc2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZDopIEJPT0wgX2phdmFTY3Jp
cHRDYW5BY2Nlc3NDbGlwYm9hcmQgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMpLCBpb3Mo
MTEuMCkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0RE9NUGFzdGVBbGxvd2Vk
OikgQk9PTCBfZG9tUGFzdGVBbGxvd2VkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEzKSwg
aW9zKDExLjApKTsKIAotQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0U2hvdWxkRGlz
YWxsb3dVc2VySW5zdGFsbGVkRm9udHM6KSBCT09MIF9zaG91bGREaXNhbGxvd1VzZXJJbnN0YWxs
ZWRGb250cyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19U
QkEpKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFNob3VsZEFsbG93VXNlcklu
c3RhbGxlZEZvbnRzOikgQk9PTCBfc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAKICsgKE5T
QXJyYXk8X1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqPiAqKV9leHBlcmltZW50YWxGZWF0dXJlcyBX
S19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMiksIGlvcygxMC4wKSk7CiAtIChCT09MKV9pc0Vu
YWJsZWRGb3JGZWF0dXJlOihfV0tFeHBlcmltZW50YWxGZWF0dXJlICopZmVhdHVyZSBXS19BUElf
QVZBSUxBQkxFKG1hY29zeCgxMC4xMiksIGlvcygxMC4wKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZmU5OTYxOWUwODI4
Y2YwMDI3MjIzMjRmNmM5OGU2ZmU4YjJhMmRkNi4uMmUzZGFmNjAyYTFmYzg2MTBmN2Y5NzAyNTkx
MGY4MTUwNjhmMjRhZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3LTEyLTE5ICBNeWxlcyBD
LiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVmYWN0b3IgdXNl
ci1pbnN0YWxsZWQgZm9udCBzZXR0aW5nIGZvciBjbGFyaXR5CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODEwMTMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1m
b250cy9kaXNhYmxlLmh0bWw6CisgICAgICAgICogZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZv
bnRzL3NoYWRvdy1kaXNhYmxlLmh0bWw6CisgICAgICAgICogZmFzdC90ZXh0L3VzZXItaW5zdGFs
bGVkLWZvbnRzL3NoYWRvdy1mYW1pbHktZGlzYWJsZS5odG1sOgorICAgICAgICAqIGZhc3QvdGV4
dC91c2VyLWluc3RhbGxlZC1mb250cy9zaGFkb3ctcG9zdHNjcmlwdC1kaXNhYmxlLmh0bWw6Cisg
ICAgICAgICogZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL3NoYWRvdy1wb3N0c2NyaXB0
LWZhbWlseS1kaXNhYmxlLmh0bWw6CisKIDIwMTctMTItMTkgIEVyaWMgQ2FybHNvbiAgPGVyaWMu
Y2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgW01lZGlhU3RyZWFtXSBDbGVhbiB1cCBSZWFs
dGltZU1lZGlhU291cmNlIGludGVyZmFjZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9kaXNhYmxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvZGlzYWJsZS5odG1sCmluZGV4IDMxNGVhNjE1OTA3
YTViMTQ0NGJlNDk4M2E0NmRhNDBlZjJiZDRiNWYuLjIxM2M4MDAzNWM4YTg3YTVkZWI2NTQ5ZjA3
N2ZkM2UzODNiZjQ2ZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91c2VyLWlu
c3RhbGxlZC1mb250cy9kaXNhYmxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3Vz
ZXItaW5zdGFsbGVkLWZvbnRzL2Rpc2FibGUuaHRtbApAQCAtMyw3ICszLDcgQEAKIDxoZWFkPgog
PHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRTaG91bGREaXNhbGxvd1VzZXJJbnN0YWxsZWRGb250cyh0cnVlKTsKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoZmFsc2UpOwogPC9zY3Jp
cHQ+CiA8L2hlYWQ+CiA8Ym9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91
c2VyLWluc3RhbGxlZC1mb250cy9zaGFkb3ctZGlzYWJsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL3NoYWRvdy1kaXNhYmxlLmh0bWwKaW5kZXggY2M0
NTc3OWQ5NTZkYWQwZWNkOGRiYjVkYzFkOGIzNzkxZjRlZmJiNy4uYmJlMmM5OWY3OGE2NTIyYTky
NWEyNGRkZThmOGJjNWJiZTE0NzkzMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
L3VzZXItaW5zdGFsbGVkLWZvbnRzL3NoYWRvdy1kaXNhYmxlLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL3NoYWRvdy1kaXNhYmxlLmh0bWwKQEAg
LTUsNyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5pbnN0
YWxsRmFrZUhlbHZldGljYSgiSGVsdmV0aWNhLTQwMCIpOwogaWYgKHdpbmRvdy5pbnRlcm5hbHMp
Ci0gICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFNob3VsZERpc2FsbG93VXNlckluc3RhbGxlZEZv
bnRzKHRydWUpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTaG91bGRBbGxvd1VzZXJJbnN0
YWxsZWRGb250cyhmYWxzZSk7CiA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL3NoYWRvdy1mYW1p
bHktZGlzYWJsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZv
bnRzL3NoYWRvdy1mYW1pbHktZGlzYWJsZS5odG1sCmluZGV4IGJlZGRhZjU1ZmRmYjI1MGRiZjQw
OGVhNTIwZWU3MWQ2Mzk5N2UzNzYuLjRhMGNkZmEzNTYxMmM2YTY5OWIyMTAyYjdiMTdkNTliMzUx
ZWVlYzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1m
b250cy9zaGFkb3ctZmFtaWx5LWRpc2FibGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvdXNlci1pbnN0YWxsZWQtZm9udHMvc2hhZG93LWZhbWlseS1kaXNhYmxlLmh0bWwKQEAgLTUs
NyArNSw3IEBACiBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgdGVzdFJ1bm5lci5pbnN0YWxs
RmFrZUhlbHZldGljYSgiSGVsdmV0aWNhLTUwMCIpOwogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0g
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFNob3VsZERpc2FsbG93VXNlckluc3RhbGxlZEZvbnRz
KHRydWUpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxs
ZWRGb250cyhmYWxzZSk7CiA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL3NoYWRvdy1wb3N0c2Ny
aXB0LWRpc2FibGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1m
b250cy9zaGFkb3ctcG9zdHNjcmlwdC1kaXNhYmxlLmh0bWwKaW5kZXggMWU0NGQ1YzY2ZTc3NDk4
NGVhNTk3MWYzNzBhZTI2MTk4ZGUwNTg0OC4uZGM1MzI0MDAxNDBlNmIyMTBiNDE1OGQ2ZjYyOWJj
NTM0YjBiN2VkMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VzZXItaW5zdGFs
bGVkLWZvbnRzL3NoYWRvdy1wb3N0c2NyaXB0LWRpc2FibGUuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvc2hhZG93LXBvc3RzY3JpcHQtZGlzYWJs
ZS5odG1sCkBAIC01LDcgKzUsNyBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RS
dW5uZXIuaW5zdGFsbEZha2VIZWx2ZXRpY2EoIkhlbHZldGljYTItNDAwIik7CiBpZiAod2luZG93
LmludGVybmFscykKLSAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U2hvdWxkRGlzYWxsb3dVc2Vy
SW5zdGFsbGVkRm9udHModHJ1ZSk7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFNob3VsZEFs
bG93VXNlckluc3RhbGxlZEZvbnRzKGZhbHNlKTsKIDwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMv
c2hhZG93LXBvc3RzY3JpcHQtZmFtaWx5LWRpc2FibGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9zaGFkb3ctcG9zdHNjcmlwdC1mYW1pbHktZGlzYWJs
ZS5odG1sCmluZGV4IGYwYTNmZjRiZTU5MjhmNGEzMWM4YjNjODNmOWIwZTkzNmFjMGFlNWMuLmRm
NWZjMDlhYmM1MzE1ODA0Yzk1YzZlOGQzNTQ0ZTE2OGRmYjMxZDQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9zaGFkb3ctcG9zdHNjcmlwdC1m
YW1pbHktZGlzYWJsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91c2VyLWluc3Rh
bGxlZC1mb250cy9zaGFkb3ctcG9zdHNjcmlwdC1mYW1pbHktZGlzYWJsZS5odG1sCkBAIC01LDcg
KzUsNyBAQAogaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgIHRlc3RSdW5uZXIuaW5zdGFsbEZh
a2VIZWx2ZXRpY2EoIkhlbHZldGljYTItNTAwIik7CiBpZiAod2luZG93LmludGVybmFscykKLSAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U2hvdWxkRGlzYWxsb3dVc2VySW5zdGFsbGVkRm9udHMo
dHJ1ZSk7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFNob3VsZEFsbG93VXNlckluc3RhbGxl
ZEZvbnRzKGZhbHNlKTsKIDwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+Cg==
</data>
<flag name="review"
          id="348889"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
    <flag name="commit-queue"
          id="348890"
          type_id="3"
          status="-"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>