<?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>138837</bug_id>
          
          <creation_ts>2014-11-18 10:47:31 -0800</creation_ts>
          <short_desc>REGRESSION(r176264): caused many test failures (Requested by litherum on #webkit).</short_desc>
          <delta_ts>2014-11-18 10:52:39 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>138686</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>mmaxfield</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1049528</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-18 10:47:31 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/176264 broke the build:
caused many test failures (Requested by litherum on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049530</commentid>
    <comment_count>1</comment_count>
      <attachid>241795</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-18 10:47:58 -0800</bug_when>
    <thetext>Created attachment 241795
ROLLOUT of r176264

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049531</commentid>
    <comment_count>2</comment_count>
      <attachid>241795</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-18 10:52:36 -0800</bug_when>
    <thetext>Comment on attachment 241795
ROLLOUT of r176264

Clearing flags on attachment: 241795

Committed r176267: &lt;http://trac.webkit.org/changeset/176267&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049532</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-18 10:52:39 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241795</attachid>
            <date>2014-11-18 10:47:58 -0800</date>
            <delta_ts>2014-11-18 10:52:36 -0800</delta_ts>
            <desc>ROLLOUT of r176264</desc>
            <filename>bug-138837-20141118104811.patch</filename>
            <type>text/plain</type>
            <size>40386</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc2MjY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTllNGUzYTA0NDA5OGFi
ODZlOTdkMjRhZTYwMGFlZGJiOGRhZjgxYi4uZjU4ZjJlYWE0MWM5Nzg0YWI2Mjg0NzdhYzMyMTcx
YTNjNTNkY2VjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE0LTExLTE4ICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMTc2MjY0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTM4ODM3CisKKyAgICAgICAgY2F1c2VkIG1hbnkgdGVzdCBmYWlsdXJl
cyAoUmVxdWVzdGVkIGJ5IGxpdGhlcnVtIG9uICN3ZWJraXQpLgorCisgICAgICAgIFJldmVydGVk
IGNoYW5nZXNldDoKKworICAgICAgICAiU3ViY2xhc3MgQ2FjaGVkRm9udCBmb3IgU1ZHIGZvbnRz
IgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM4Njg2
CisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzE3NjI2NAorCiAyMDE0
LTExLTE4ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9T
XSBMaWJkaXNwYXRjaCwgRHlsZCwgSU9LaXQsIE1hY2gsIE5TUG9pbnRlckZ1bmN0aW9ucywgTW9i
aWxlR2VzdGFsdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGI4NjkwODVmNDhmOGRlNTViZmNiNmZlNDE3N2JmNzQ4
YmUwZWQ1Y2EuLjg0NmM5ODgwMGU0YWZkMDkzYjE1ZjRmZTcwODcwMjQ3YTgyNzI0M2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNC0xMS0xOCAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0
LXF1ZXVlQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE3
NjI2NC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEz
ODgzNworCisgICAgICAgIGNhdXNlZCBtYW55IHRlc3QgZmFpbHVyZXMgKFJlcXVlc3RlZCBieSBs
aXRoZXJ1bSBvbiAjd2Via2l0KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAg
ICAgICAgIlN1YmNsYXNzIENhY2hlZEZvbnQgZm9yIFNWRyBmb250cyIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzODY4NgorICAgICAgICBodHRwOi8v
dHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xNzYyNjQKKwogMjAxNC0xMS0xOCAgRGFuaWVsIEJh
dGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gTGliZGlzcGF0Y2gsIER5
bGQsIElPS2l0LCBNYWNoLCBOU1BvaW50ZXJGdW5jdGlvbnMsIE1vYmlsZUdlc3RhbHQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKaW5kZXggYmE0NTdkOWQ0ZTUwZDczMTY5MTY5N2UxMmFlM2RjYWMyNmU3ODM1
My4uYmY1NDY2YmU1MGYxNDA5YTRmZTY2YzQwMmQzMTFiYzQwYTc0NmQwOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKQEAgLTE4NDIsNyArMTg0Miw2IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBs
b2FkZXIvYXJjaGl2ZS9taHRtbC9NSFRNTFBhcnNlci5jcHAKIAogICAgIGxvYWRlci9jYWNoZS9D
YWNoZWRDU1NTdHlsZVNoZWV0LmNwcAotICAgIGxvYWRlci9jYWNoZS9DYWNoZWRTVkdGb250LmNw
cAogICAgIGxvYWRlci9jYWNoZS9DYWNoZWRGb250LmNwcAogICAgIGxvYWRlci9jYWNoZS9DYWNo
ZWRJbWFnZS5jcHAKICAgICBsb2FkZXIvY2FjaGUvQ2FjaGVkUmF3UmVzb3VyY2UuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagppbmRleCBiNTdm
MTQ4MmMyMmZmMDI1YjNmYjJiMmQyMzhkNTljNGFmZDkwZDhjLi41NjVkNTliOTI4NjNjY2VmODM0
Y2YzMWJkYmJkOTg2ODkwYWQzYzA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4
cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTczMjgsNyArNzMyOCw2IEBACiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxsb2FkZXJcYXJjaGl2ZVxtaHRtbFxNSFRNTFBhcnNlci5jcHAiIC8+CiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxsb2FkZXJcY2FjaGVcQ2FjaGVkQ1NTU3R5bGVTaGVl
dC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxsb2FkZXJcY2FjaGVcQ2FjaGVk
Rm9udC5jcHAiIC8+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxsb2FkZXJcY2FjaGVcQ2Fj
aGVkU1ZHRm9udC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxsb2FkZXJcY2Fj
aGVcQ2FjaGVkSW1hZ2UuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cbG9hZGVy
XGNhY2hlXENhY2hlZFJhd1Jlc291cmNlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXGxvYWRlclxjYWNoZVxDYWNoZWRSZXNvdXJjZS5jcHAiIC8+CkBAIC0xOTI4MCw3ICsxOTI3
OSw2IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxsb2FkZXJcYXJjaGl2ZVxtaHRtbFxN
SFRNTFBhcnNlci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cbG9hZGVyXGNhY2hl
XENhY2hlZENTU1N0eWxlU2hlZXQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGxv
YWRlclxjYWNoZVxDYWNoZWRGb250LmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxs
b2FkZXJcY2FjaGVcQ2FjaGVkU1ZHRm9udC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cbG9hZGVyXGNhY2hlXENhY2hlZEltYWdlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxsb2FkZXJcY2FjaGVcQ2FjaGVkUmF3UmVzb3VyY2UuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGxvYWRlclxjYWNoZVxDYWNoZWRSYXdSZXNvdXJjZUNsaWVudC5oIiAvPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ai5maWx0ZXJzCmluZGV4IDc4NzUwYmM3ZWIzMGVmODIxYzY1MDdmYTk0N2NhNDBiODcyYThlMmQu
LmI3OGY0NmY2YjNmNTAwNDg0ZmYxYTgzYmEzYmI3NGE0NTA3Njk0ZDYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMK
QEAgLTEwMjYsOSArMTAyNiw2IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxsb2FkZXJc
Y2FjaGVcQ2FjaGVkQ1NTU3R5bGVTaGVldC5jcHAiPgogICAgICAgPEZpbHRlcj5sb2FkZXJcY2Fj
aGU8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XGxvYWRlclxjYWNoZVxDYWNoZWRTVkdGb250LmNwcCI+Ci0gICAgICA8RmlsdGVyPmxvYWRlclxj
YWNoZTwvRmlsdGVyPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5cbG9hZGVyXGNhY2hlXENhY2hlZEZvbnQuY3BwIj4KICAgICAgIDxGaWx0ZXI+bG9hZGVyXGNh
Y2hlPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC04MDU1LDkgKzgwNTIsNiBAQAogICAg
IDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cbG9hZGVyXGNhY2hlXENhY2hlZENTU1N0eWxlU2hlZXQu
aCI+CiAgICAgICA8RmlsdGVyPmxvYWRlclxjYWNoZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRl
PgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cbG9hZGVyXGNhY2hlXENhY2hlZFNWR0ZvbnQu
aCI+Ci0gICAgICA8RmlsdGVyPmxvYWRlclxjYWNoZTwvRmlsdGVyPgotICAgIDwvQ2xJbmNsdWRl
PgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cbG9hZGVyXGNhY2hlXENhY2hlZEZvbnQuaCI+
CiAgICAgICA8RmlsdGVyPmxvYWRlclxjYWNoZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDliYmU4ODVlNjdhZjFkZDUzOWY4OGE3MTA0MDcxNDk1NjA1N2I4YjkuLmVlYjk1ODllMGIy
ZDkyZGYwOWU1NTYzZWU0MDA4MmU3MTg3MjQ0ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTkyNyw4ICs5MjcsNiBAQAogCQkx
QUZFMTE5QTBDQkZGQ0M0MDAzMDE3RkEgLyogSlNTUUxSZXN1bHRTZXRSb3dMaXN0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUZFMTE5ODBDQkZGQ0M0
MDAzMDE3RkEgLyogSlNTUUxSZXN1bHRTZXRSb3dMaXN0LmggKi87IH07CiAJCTFDMDEwNzAwMTky
NTk0REYwMDhBNDIwMSAvKiBJbmxpbmVUZXh0Qm94U3R5bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMwMTA2RkUxOTI1OTRERjAwOEE0MjAxIC8q
IElubGluZVRleHRCb3hTdHlsZS5jcHAgKi87IH07CiAJCTFDMDEwNzAxMTkyNTk0REYwMDhBNDIw
MSAvKiBJbmxpbmVUZXh0Qm94U3R5bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFDMDEwNkZGMTkyNTk0REYwMDhBNDIwMSAvKiBJbmxpbmVUZXh0Qm94
U3R5bGUuaCAqLzsgfTsKLQkJMUMwOTM5RUExQTEzRTEyOTAwQjc4OEU1IC8qIENhY2hlZFNWR0Zv
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMw
OTM5RTgxQTEzRTEyOTAwQjc4OEU1IC8qIENhY2hlZFNWR0ZvbnQuY3BwICovOyB9OwotCQkxQzA5
MzlFQjFBMTNFMTI5MDBCNzg4RTUgLyogQ2FjaGVkU1ZHRm9udC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMwOTM5RTkxQTEzRTEyOTAwQjc4OEU1IC8q
IENhY2hlZFNWR0ZvbnQuaCAqLzsgfTsKIAkJMUMxMUNDQjUwQUE2MDkzNzAwREFEQjIwIC8qIERP
TU5vdGF0aW9uLmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NUNBOTZFODBBOTYyNEU5MDA2OTBDQ0YgLyogRE9NTm90YXRpb24u
aCAqLzsgfTsKIAkJMUMxMUNDQjYwQUE2MDkzNzAwREFEQjIwIC8qIERPTUNvbW1lbnQuaCBpbiBD
b3B5IEdlbmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg1MDg5Q0QxMEE5OEM0MjcwMEEyNzVBQSAvKiBET01Db21tZW50LmggKi87IH07CiAJCTFDMTFD
Q0I3MEFBNjA5MzcwMERBREIyMCAvKiBET01OYW1lZE5vZGVNYXAuaCBpbiBDb3B5IEdlbmVyYXRl
ZCBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg1MThERDc2MEE5
Q0YzMUIwMDkxQjdBNiAvKiBET01OYW1lZE5vZGVNYXAuaCAqLzsgfTsKQEAgLTc5MzQsOCArNzkz
Miw2IEBACiAJCTFBRkUxMTk4MENCRkZDQzQwMDMwMTdGQSAvKiBKU1NRTFJlc3VsdFNldFJvd0xp
c3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTUUxSZXN1bHRTZXRSb3dM
aXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDMDEwNkZFMTkyNTk0REYwMDhB
NDIwMSAvKiBJbmxpbmVUZXh0Qm94U3R5bGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSW5saW5lVGV4dEJveFN0eWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMUMwMTA2RkYxOTI1OTRERjAwOEE0MjAxIC8qIElubGluZVRleHRCb3hTdHlsZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbmxpbmVUZXh0Qm94U3R5bGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMUMwOTM5RTgxQTEzRTEyOTAwQjc4OEU1IC8q
IENhY2hlZFNWR0ZvbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
Q2FjaGVkU1ZHRm9udC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFDMDkzOUU5
MUExM0UxMjkwMEI3ODhFNSAvKiBDYWNoZWRTVkdGb250LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENhY2hlZFNWR0ZvbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMUMxOERBNTYxODFBRjZBNTAwQzRFRjIyIC8qIFRleHRQYWludGVyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRleHRQYWludGVyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMUMxOERBNTcxODFBRjZBNTAwQzRFRjIyIC8qIFRleHRQYWludGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRleHRQYWludGVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDMjFFNTdBMTgzRUQxRkYwMDFDMjg5RCAvKiBJT1N1
cmZhY2VQb29sLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IElPU3Vy
ZmFjZVBvb2wuY3BwOyBwYXRoID0gLi4vY2cvSU9TdXJmYWNlUG9vbC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xOTYwMSw4ICsxOTU5Nyw2IEBACiAJCQkJRTQ2NzY4MEYxQTAx
NzdGOTAwQjlFMjZCIC8qIENhY2hlVmFsaWRhdGlvbi5oICovLAogCQkJCUJDQjE2QkZFMDk3OUMz
QkQwMDQ2Nzc0MSAvKiBNZW1vcnlDYWNoZS5jcHAgKi8sCiAJCQkJQkNCMTZCRkYwOTc5QzNCRDAw
NDY3NzQxIC8qIE1lbW9yeUNhY2hlLmggKi8sCi0JCQkJMUMwOTM5RTgxQTEzRTEyOTAwQjc4OEU1
IC8qIENhY2hlZFNWR0ZvbnQuY3BwICovLAotCQkJCTFDMDkzOUU5MUExM0UxMjkwMEI3ODhFNSAv
KiBDYWNoZWRTVkdGb250LmggKi8sCiAJCQkpOwogCQkJcGF0aCA9IGNhY2hlOwogCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTI2MjQ1LDcgKzI2MjM5LDYgQEAKIAkJCQlCMjIyNzlFOTBE
MDBCRjIyMDA3MUI3ODIgLyogU1ZHRkVGdW5jUkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUIyMjI3OUVDMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCUIyNTU5OTg1MEQwMEQ4QkEwMEJCODI1QyAvKiBTVkdGRUltYWdl
LmggaW4gSGVhZGVycyAqLywKLQkJCQkxQzA5MzlFQjFBMTNFMTI5MDBCNzg4RTUgLyogQ2FjaGVk
U1ZHRm9udC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjc5RUYwRDAwQkYyMjAwNzFCNzgyIC8q
IFNWR0ZFSW1hZ2VFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyNzlGMjBEMDBCRjIy
MDA3MUI3ODIgLyogU1ZHRkVMaWdodEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3
OUY0MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdGRU1lcmdlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yOTQ1Nyw3ICsyOTQ1MCw2IEBACiAJCQkJNTEzMjdENjExMUEzM0EyQjAwNEY5RDY1IC8q
IFNpbmtEb2N1bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUU5MTFDQzBFRjg2RDQ3MDA5
RDBDQUYgLyogU2tld1RyYW5zZm9ybU9wZXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0
MTUwRjlGMjEyQjZFMEU3MDAwOEM4NjAgLyogU2xpZGVyVGh1bWJFbGVtZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAotCQkJCTFDMDkzOUVBMUExM0UxMjkwMEI3ODhFNSAvKiBDYWNoZWRTVkdGb250LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTRCNkZBNkY3MEMzOUU0QTEwMDA4NzAxMSAvKiBTbWFydFJl
cGxhY2VDRi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFNEFGRDAwQjBEQUYzMzU0MDBGNUY1NUMg
LyogU01JTFRpbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTRBRkQwMEQwREFGMzM1NTAwRjVG
NTVDIC8qIFNNSUxUaW1lQ29udGFpbmVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NGb250RmFjZVNvdXJjZS5jcHAKaW5kZXggZGJlYTJkNjJkNzA0NTZlZjUzMzAzNjJi
Y2IxM2YzODdmYzlhMTFmMy4uYjYwYzg1Y2EyNzc1MDljMjdhODJkOTg0ZWIwMmZiODllODcyYjNl
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwCkBAIC0zNyw3ICsz
Nyw2IEBACiAjaW5jbHVkZSAiU2ltcGxlRm9udERhdGEuaCIKIAogI2lmIEVOQUJMRShTVkdfRk9O
VFMpCi0jaW5jbHVkZSAiQ2FjaGVkU1ZHRm9udC5oIgogI2luY2x1ZGUgIkZvbnRDdXN0b21QbGF0
Zm9ybURhdGEuaCIKICNpbmNsdWRlICJTVkdGb250RGF0YS5oIgogI2luY2x1ZGUgIlNWR0ZvbnRF
bGVtZW50LmgiCkBAIC0xMjMsMTEgKzEyMiw0MiBAQCBQYXNzUmVmUHRyPFNpbXBsZUZvbnREYXRh
PiBDU1NGb250RmFjZVNvdXJjZTo6Z2V0Rm9udERhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJgog
ICAgIC8vIElmIHdlIGFyZSBzdGlsbCBsb2FkaW5nLCB0aGVuIHdlIGxldCB0aGUgc3lzdGVtIHBp
Y2sgYSBmb250LgogICAgIGlmIChpc0xvYWRlZCgpKSB7CiAgICAgICAgIGlmIChtX2ZvbnQpIHsK
LSAgICAgICAgICAgIC8vIENyZWF0ZSBuZXcgRm9udFBsYXRmb3JtRGF0YSBmcm9tIG91ciBDR0Zv
bnRSZWYsIHBvaW50IHNpemUgYW5kIEFUU0ZvbnRSZWYuCi0gICAgICAgICAgICBpZiAoIW1fZm9u
dC0+ZW5zdXJlQ3VzdG9tRm9udERhdGEobV9oYXNFeHRlcm5hbFNWR0ZvbnQpKQotICAgICAgICAg
ICAgICAgIHJldHVybiBudWxscHRyOwotCi0gICAgICAgICAgICBmb250RGF0YSA9IG1fZm9udC0+
Z2V0Rm9udERhdGEoZm9udERlc2NyaXB0aW9uLCBtX3N0cmluZywgc3ludGhldGljQm9sZCwgc3lu
dGhldGljSXRhbGljLCBtX2hhc0V4dGVybmFsU1ZHRm9udCk7CisjaWYgRU5BQkxFKFNWR19GT05U
UykKKyAgICAgICAgICAgIGlmIChtX2hhc0V4dGVybmFsU1ZHRm9udCkgeworICAgICAgICAgICAg
ICAgIC8vIEZvciBTVkcgZm9udHMgcGFyc2UgdGhlIGV4dGVybmFsIFNWRyBkb2N1bWVudCwgYW5k
IGV4dHJhY3QgdGhlIDxmb250PiBlbGVtZW50LgorICAgICAgICAgICAgICAgIGlmICghbV9mb250
LT5lbnN1cmVTVkdGb250RGF0YSgpKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKKwor
ICAgICAgICAgICAgICAgIGlmICghbV9leHRlcm5hbFNWR0ZvbnRFbGVtZW50KSB7CisgICAgICAg
ICAgICAgICAgICAgIFN0cmluZyBmcmFnbWVudElkZW50aWZpZXI7CisgICAgICAgICAgICAgICAg
ICAgIHNpemVfdCBzdGFydCA9IG1fc3RyaW5nLmZpbmQoJyMnKTsKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKHN0YXJ0ICE9IG5vdEZvdW5kKQorICAgICAgICAgICAgICAgICAgICAgICAgZnJhZ21l
bnRJZGVudGlmaWVyID0gbV9zdHJpbmcuc3RyaW5nKCkuc3Vic3RyaW5nKHN0YXJ0ICsgMSk7Cisg
ICAgICAgICAgICAgICAgICAgIG1fZXh0ZXJuYWxTVkdGb250RWxlbWVudCA9IG1fZm9udC0+Z2V0
U1ZHRm9udEJ5SWQoZnJhZ21lbnRJZGVudGlmaWVyKTsKKyAgICAgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgICAgICBpZiAoIW1fZXh0ZXJuYWxTVkdGb250RWxlbWVudCkKKyAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIDA7CisKKyAgICAgICAgICAgICAgICBpZiAoYXV0byBmaXJzdEZvbnRG
YWNlID0gY2hpbGRyZW5PZlR5cGU8U1ZHRm9udEZhY2VFbGVtZW50PigqbV9leHRlcm5hbFNWR0Zv
bnRFbGVtZW50KS5maXJzdCgpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICghbV9zdmdGb250
RmFjZUVsZW1lbnQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlJ3JlIGNyZWF0ZWQg
dXNpbmcgYSBDU1MgQGZvbnQtZmFjZSBydWxlLCB0aGF0IG1lYW5zIHdlJ3JlIG5vdCBhc3NvY2lh
dGVkIHdpdGggYSBTVkdGb250RmFjZUVsZW1lbnQuCisgICAgICAgICAgICAgICAgICAgICAgICAv
LyBVc2UgdGhlIGltcG9ydGVkIDxmb250LWZhY2U+IHRhZyBhcyByZWZlcmVuY2luZyBmb250LWZh
Y2UgZWxlbWVudCBmb3IgdGhlc2UgY2FzZXMuCisgICAgICAgICAgICAgICAgICAgICAgICBtX3N2
Z0ZvbnRGYWNlRWxlbWVudCA9IGZpcnN0Rm9udEZhY2U7CisgICAgICAgICAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgICAgICAgICBmb250RGF0YSA9IFNpbXBsZUZvbnREYXRhOjpjcmVhdGUo
c3RkOjptYWtlX3VuaXF1ZTxTVkdGb250RGF0YT4oZmlyc3RGb250RmFjZSksIGZvbnREZXNjcmlw
dGlvbi5jb21wdXRlZFBpeGVsU2l6ZSgpLCBzeW50aGV0aWNCb2xkLCBzeW50aGV0aWNJdGFsaWMp
OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZQorI2VuZGlmCisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgLy8gQ3JlYXRlIG5ldyBGb250UGxhdGZvcm1EYXRhIGZy
b20gb3VyIENHRm9udFJlZiwgcG9pbnQgc2l6ZSBhbmQgQVRTRm9udFJlZi4KKyAgICAgICAgICAg
ICAgICBpZiAoIW1fZm9udC0+ZW5zdXJlQ3VzdG9tRm9udERhdGEoKSkKKyAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIDA7CisKKyAgICAgICAgICAgICAgICBmb250RGF0YSA9IFNpbXBsZUZvbnRE
YXRhOjpjcmVhdGUobV9mb250LT5wbGF0Zm9ybURhdGFGcm9tQ3VzdG9tRGF0YShmb250RGVzY3Jp
cHRpb24uY29tcHV0ZWRQaXhlbFNpemUoKSwgc3ludGhldGljQm9sZCwgc3ludGhldGljSXRhbGlj
LAorICAgICAgICAgICAgICAgICAgICBmb250RGVzY3JpcHRpb24ub3JpZW50YXRpb24oKSwgZm9u
dERlc2NyaXB0aW9uLndpZHRoVmFyaWFudCgpLCBmb250RGVzY3JpcHRpb24ucmVuZGVyaW5nTW9k
ZSgpKSwgdHJ1ZSwgZmFsc2UpOworICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgewogI2lm
IEVOQUJMRShTVkdfRk9OVFMpCiAgICAgICAgICAgICAvLyBJbi1Eb2N1bWVudCBTVkcgRm9udHMK
QEAgLTE0OSw2ICsxNzksMjMgQEAgUGFzc1JlZlB0cjxTaW1wbGVGb250RGF0YT4gQ1NTRm9udEZh
Y2VTb3VyY2U6OmdldEZvbnREYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYKICAgICByZXR1cm4g
Zm9udERhdGEucmVsZWFzZSgpOwogfQogCisjaWYgRU5BQkxFKFNWR19GT05UUykKK1NWR0ZvbnRG
YWNlRWxlbWVudCogQ1NTRm9udEZhY2VTb3VyY2U6OnN2Z0ZvbnRGYWNlRWxlbWVudCgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIG1fc3ZnRm9udEZhY2VFbGVtZW50LmdldCgpOworfQorCit2b2lkIENT
U0ZvbnRGYWNlU291cmNlOjpzZXRTVkdGb250RmFjZUVsZW1lbnQoUGFzc1JlZlB0cjxTVkdGb250
RmFjZUVsZW1lbnQ+IGVsZW1lbnQpCit7CisgICAgbV9zdmdGb250RmFjZUVsZW1lbnQgPSBlbGVt
ZW50OworfQorCitib29sIENTU0ZvbnRGYWNlU291cmNlOjppc1NWR0ZvbnRGYWNlU291cmNlKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gbV9zdmdGb250RmFjZUVsZW1lbnQgfHwgbV9oYXNFeHRlcm5h
bFNWR0ZvbnQ7Cit9CisjZW5kaWYKKwogI2lmIEVOQUJMRShGT05UX0xPQURfRVZFTlRTKQogYm9v
bCBDU1NGb250RmFjZVNvdXJjZTo6aXNEZWNvZGVFcnJvcigpIGNvbnN0CiB7CkBAIC0xNjEsNyAr
MjA4LDExIEBAIGJvb2wgQ1NTRm9udEZhY2VTb3VyY2U6OmVuc3VyZUZvbnREYXRhKCkKIHsKICAg
ICBpZiAoIW1fZm9udCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBtX2ZvbnQt
PmVuc3VyZUN1c3RvbUZvbnREYXRhKG1faGFzRXh0ZXJuYWxTVkdGb250KTsKKyNpZiBFTkFCTEUo
U1ZHX0ZPTlRTKQorICAgIGlmIChtX2hhc0V4dGVybmFsU1ZHRm9udCkKKyAgICAgICAgcmV0dXJu
IG1fZm9udC0+ZW5zdXJlU1ZHRm9udERhdGEoKTsKKyNlbmRpZgorICAgIHJldHVybiBtX2ZvbnQt
PmVuc3VyZUN1c3RvbUZvbnREYXRhKCk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
Rm9udEZhY2VTb3VyY2UuaAppbmRleCA2YjE2NDEwNDczNTYxNWRlMzAwYjc1NTZkZDJmMGQ0YzA0
MDYzYTZjLi5lODBmYzI5ZGI3MmU0MmU2ZWQ0ZDI0NDNiYmY5NTc0OGM5MjlkMDM4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2UuaApAQCAtMjgsMTEgKzI4LDYgQEAKIAogI2lu
Y2x1ZGUgIkNhY2hlZEZvbnRDbGllbnQuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRs
ZS5oIgotI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgotI2lmIEVOQUJMRShTVkdfRk9OVFMpCi0j
aW5jbHVkZSAiU1ZHRm9udEVsZW1lbnQuaCIKLSNpbmNsdWRlICJTVkdGb250RmFjZUVsZW1lbnQu
aCIKLSNlbmRpZgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KQEAgLTQ0LDYgKzM5LDEwIEBAIGNs
YXNzIENTU0ZvbnRGYWNlOwogY2xhc3MgQ1NTRm9udFNlbGVjdG9yOwogY2xhc3MgRm9udERlc2Ny
aXB0aW9uOwogY2xhc3MgU2ltcGxlRm9udERhdGE7CisjaWYgRU5BQkxFKFNWR19GT05UUykKK2Ns
YXNzIFNWR0ZvbnRFbGVtZW50OworY2xhc3MgU1ZHRm9udEZhY2VFbGVtZW50OworI2VuZGlmCiAK
IGNsYXNzIENTU0ZvbnRGYWNlU291cmNlIGZpbmFsIDogcHVibGljIENhY2hlZEZvbnRDbGllbnQg
ewogcHVibGljOgpAQCAtNjQsMTAgKzYzLDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHBydW5lVGFi
bGUoKTsKIAogI2lmIEVOQUJMRShTVkdfRk9OVFMpCi0gICAgU1ZHRm9udEZhY2VFbGVtZW50KiBz
dmdGb250RmFjZUVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX3N2Z0ZvbnRGYWNlRWxlbWVudC5n
ZXQoKTsgfQotICAgIHZvaWQgc2V0U1ZHRm9udEZhY2VFbGVtZW50KFBhc3NSZWZQdHI8U1ZHRm9u
dEZhY2VFbGVtZW50PiBlbGVtZW50KSB7IG1fc3ZnRm9udEZhY2VFbGVtZW50ID0gZWxlbWVudDsg
fQotICAgIGJvb2wgaXNTVkdGb250RmFjZVNvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3ZnRm9u
dEZhY2VFbGVtZW50IHx8IG1faGFzRXh0ZXJuYWxTVkdGb250OyB9Ci0gICAgdm9pZCBzZXRIYXNF
eHRlcm5hbFNWR0ZvbnQoKSB7IG1faGFzRXh0ZXJuYWxTVkdGb250ID0gdHJ1ZTsgfQorICAgIFNW
R0ZvbnRGYWNlRWxlbWVudCogc3ZnRm9udEZhY2VFbGVtZW50KCkgY29uc3Q7CisgICAgdm9pZCBz
ZXRTVkdGb250RmFjZUVsZW1lbnQoUGFzc1JlZlB0cjxTVkdGb250RmFjZUVsZW1lbnQ+KTsKKyAg
ICBib29sIGlzU1ZHRm9udEZhY2VTb3VyY2UoKSBjb25zdDsKKyAgICB2b2lkIHNldEhhc0V4dGVy
bmFsU1ZHRm9udChib29sIHZhbHVlKSB7IG1faGFzRXh0ZXJuYWxTVkdGb250ID0gdmFsdWU7IH0K
ICNlbmRpZgogCiAjaWYgRU5BQkxFKEZPTlRfTE9BRF9FVkVOVFMpCkBAIC04NSw2ICs4NCw3IEBA
IHByaXZhdGU6CiAKICNpZiBFTkFCTEUoU1ZHX0ZPTlRTKQogICAgIFJlZlB0cjxTVkdGb250RmFj
ZUVsZW1lbnQ+IG1fc3ZnRm9udEZhY2VFbGVtZW50OworICAgIFJlZlB0cjxTVkdGb250RWxlbWVu
dD4gbV9leHRlcm5hbFNWR0ZvbnRFbGVtZW50OwogICAgIGJvb2wgbV9oYXNFeHRlcm5hbFNWR0Zv
bnQ7CiAjZW5kaWYKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZh
Y2VTcmNWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5j
cHAKaW5kZXggNDM2NmU1NzEwMzU2MzhmMzA0NmJhZDM2NzIyYjNkOTMzMWJkM2ViMi4uNThhZWQy
Zjk4MjNjNDIyYjFlOGQ4ZTNmMGY1YWM1ZTgxM2U0NTY0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250RmFjZVNyY1ZhbHVlLmNwcApAQCAtNDMsMTEgKzQzLDYgQEAgYm9vbCBDU1NGb250
RmFjZVNyY1ZhbHVlOjppc1NWR0ZvbnRGYWNlU3JjKCkgY29uc3QKIHsKICAgICByZXR1cm4gZXF1
YWxJZ25vcmluZ0Nhc2UobV9mb3JtYXQsICJzdmciKTsKIH0KLQotYm9vbCBDU1NGb250RmFjZVNy
Y1ZhbHVlOjppc1NWR0ZvbnRUYXJnZXQoKSBjb25zdAotewotICAgIHJldHVybiBpc1NWR0ZvbnRG
YWNlU3JjKCkgfHwgc3ZnRm9udEZhY2VFbGVtZW50KCk7Ci19CiAjZW5kaWYKIAogYm9vbCBDU1NG
b250RmFjZVNyY1ZhbHVlOjppc1N1cHBvcnRlZEZvcm1hdCgpIGNvbnN0CkBAIC05OCwxMiArOTMs
MTIgQEAgYm9vbCBDU1NGb250RmFjZVNyY1ZhbHVlOjpoYXNGYWlsZWRPckNhbmNlbGVkU3VicmVz
b3VyY2VzKCkgY29uc3QKICAgICByZXR1cm4gbV9jYWNoZWRGb250LT5sb2FkRmFpbGVkT3JDYW5j
ZWxlZCgpOwogfQogCi1DYWNoZWRGb250KiBDU1NGb250RmFjZVNyY1ZhbHVlOjpjYWNoZWRGb250
KERvY3VtZW50KiBkb2N1bWVudCwgYm9vbCBpc1NWRykKK0NhY2hlZEZvbnQqIENTU0ZvbnRGYWNl
U3JjVmFsdWU6OmNhY2hlZEZvbnQoRG9jdW1lbnQqIGRvY3VtZW50KQogewogICAgIGlmICghbV9j
YWNoZWRGb250KSB7CiAgICAgICAgIENhY2hlZFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KFJlc291
cmNlUmVxdWVzdChkb2N1bWVudC0+Y29tcGxldGVVUkwobV9yZXNvdXJjZSkpKTsKICAgICAgICAg
cmVxdWVzdC5zZXRJbml0aWF0b3IoY2FjaGVkUmVzb3VyY2VSZXF1ZXN0SW5pdGlhdG9ycygpLmNz
cyk7Ci0gICAgICAgIG1fY2FjaGVkRm9udCA9IGRvY3VtZW50LT5jYWNoZWRSZXNvdXJjZUxvYWRl
cigpLT5yZXF1ZXN0Rm9udChyZXF1ZXN0LCBpc1NWRyk7CisgICAgICAgIG1fY2FjaGVkRm9udCA9
IGRvY3VtZW50LT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5yZXF1ZXN0Rm9udChyZXF1ZXN0KTsK
ICAgICB9CiAgICAgcmV0dXJuIG1fY2FjaGVkRm9udC5nZXQoKTsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNyY1ZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRm9udEZhY2VTcmNWYWx1ZS5oCmluZGV4IDYwYWM4N2MwYWJhNGY2NGIxMjc5Mzg0NThl
MjQ5ZDA3NDMzNmZjZjUuLjYxYmQ5MDkzM2M1MDAxNDRmY2Y3ZjU5ZWYyNDRjNTUyNzNhMTcyYjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNyY1ZhbHVlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU3JjVmFsdWUuaApAQCAtNTgsNyArNTgs
NiBAQCBwdWJsaWM6CiAKICNpZiBFTkFCTEUoU1ZHX0ZPTlRTKQogICAgIGJvb2wgaXNTVkdGb250
RmFjZVNyYygpIGNvbnN0OwotICAgIGJvb2wgaXNTVkdGb250VGFyZ2V0KCkgY29uc3Q7CiAKICAg
ICBTVkdGb250RmFjZUVsZW1lbnQqIHN2Z0ZvbnRGYWNlRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJu
IG1fc3ZnRm9udEZhY2VFbGVtZW50OyB9CiAgICAgdm9pZCBzZXRTVkdGb250RmFjZUVsZW1lbnQo
U1ZHRm9udEZhY2VFbGVtZW50KiBlbGVtZW50KSB7IG1fc3ZnRm9udEZhY2VFbGVtZW50ID0gZWxl
bWVudDsgfQpAQCAtNzAsNyArNjksNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGhhc0ZhaWxlZE9y
Q2FuY2VsZWRTdWJyZXNvdXJjZXMoKSBjb25zdDsKIAotICAgIENhY2hlZEZvbnQqIGNhY2hlZEZv
bnQoRG9jdW1lbnQqLCBib29sIGlzU1ZHKTsKKyAgICBDYWNoZWRGb250KiBjYWNoZWRGb250KERv
Y3VtZW50Kik7CiAKICAgICBib29sIGVxdWFscyhjb25zdCBDU1NGb250RmFjZVNyY1ZhbHVlJikg
Y29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250U2VsZWN0b3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKaW5kZXggMWJhYWVm
YzI1MDQ1NzU5OTNkYmRkYTU5Mzc4ODM1YWQwOWY5NTkwYy4uMTE1MDg4OWU4NzIyYzM5NTNiZmQ5
YWQ3YWQwYWNhYjM0Njg0ZDkzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Zv
bnRTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRTZWxlY3Rvci5j
cHAKQEAgLTIxMiwxMiArMjEyLDEyIEBAIHZvaWQgQ1NTRm9udFNlbGVjdG9yOjphZGRGb250RmFj
ZVJ1bGUoY29uc3QgU3R5bGVSdWxlRm9udEZhY2UqIGZvbnRGYWNlUnVsZSkKICAgICAgICAgICAg
IFNldHRpbmdzKiBzZXR0aW5ncyA9IG1fZG9jdW1lbnQgPyBtX2RvY3VtZW50LT5mcmFtZSgpID8g
Jm1fZG9jdW1lbnQtPmZyYW1lKCktPnNldHRpbmdzKCkgOiAwIDogMDsKICAgICAgICAgICAgIGJv
b2wgYWxsb3dEb3dubG9hZGluZyA9IGZvdW5kU1ZHRm9udCB8fCAoc2V0dGluZ3MgJiYgc2V0dGlu
Z3MtPmRvd25sb2FkYWJsZUJpbmFyeUZvbnRzRW5hYmxlZCgpKTsKICAgICAgICAgICAgIGlmIChh
bGxvd0Rvd25sb2FkaW5nICYmIGl0ZW0uaXNTdXBwb3J0ZWRGb3JtYXQoKSAmJiBtX2RvY3VtZW50
KSB7Ci0gICAgICAgICAgICAgICAgQ2FjaGVkRm9udCogY2FjaGVkRm9udCA9IGl0ZW0uY2FjaGVk
Rm9udChtX2RvY3VtZW50LCBmb3VuZFNWR0ZvbnQpOworICAgICAgICAgICAgICAgIENhY2hlZEZv
bnQqIGNhY2hlZEZvbnQgPSBpdGVtLmNhY2hlZEZvbnQobV9kb2N1bWVudCk7CiAgICAgICAgICAg
ICAgICAgaWYgKGNhY2hlZEZvbnQpIHsKICAgICAgICAgICAgICAgICAgICAgc291cmNlID0gc3Rk
OjptYWtlX3VuaXF1ZTxDU1NGb250RmFjZVNvdXJjZT4oaXRlbS5yZXNvdXJjZSgpLCBjYWNoZWRG
b250KTsKICNpZiBFTkFCTEUoU1ZHX0ZPTlRTKQogICAgICAgICAgICAgICAgICAgICBpZiAoZm91
bmRTVkdGb250KQotICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlLT5zZXRIYXNFeHRlcm5h
bFNWR0ZvbnQoKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZS0+c2V0SGFzRXh0ZXJu
YWxTVkdGb250KHRydWUpOwogI2VuZGlmCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2Vu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcApp
bmRleCBkN2UwMThjMDYzODlkZDM1N2M4MjMzZTRjNzk2MDk5NmI3YmNlMTJhLi5mOWIyYjIxM2Zh
NDBlZmI1ZTRiMzdkNzFlOTNlODUzNmYxMjlmNjYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcApAQCAtMjk3LDkgKzI5Nyw2IEBAIEluc3Bl
Y3RvclBhZ2VBZ2VudDo6UmVzb3VyY2VUeXBlIEluc3BlY3RvclBhZ2VBZ2VudDo6Y2FjaGVkUmVz
b3VyY2VUeXBlKGNvbnN0IENhCiAgICAgc3dpdGNoIChjYWNoZWRSZXNvdXJjZS50eXBlKCkpIHsK
ICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpJbWFnZVJlc291cmNlOgogICAgICAgICByZXR1cm4g
SW5zcGVjdG9yUGFnZUFnZW50OjpJbWFnZVJlc291cmNlOwotI2lmIEVOQUJMRShTVkdfRk9OVFMp
Ci0gICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6U1ZHRm9udFJlc291cmNlOgotI2VuZGlmCiAgICAg
Y2FzZSBDYWNoZWRSZXNvdXJjZTo6Rm9udFJlc291cmNlOgogICAgICAgICByZXR1cm4gSW5zcGVj
dG9yUGFnZUFnZW50OjpGb250UmVzb3VyY2U7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6Q1NT
U3R5bGVTaGVldDoKQEAgLTQ1Nyw5ICs0NTQsNiBAQCBzdGF0aWMgVmVjdG9yPENhY2hlZFJlc291
cmNlKj4gY2FjaGVkUmVzb3VyY2VzRm9yRnJhbWUoRnJhbWUqIGZyYW1lKQogICAgICAgICBzd2l0
Y2ggKGNhY2hlZFJlc291cmNlLT50eXBlKCkpIHsKICAgICAgICAgY2FzZSBDYWNoZWRSZXNvdXJj
ZTo6SW1hZ2VSZXNvdXJjZToKICAgICAgICAgICAgIC8vIFNraXAgaW1hZ2VzIHRoYXQgd2VyZSBu
b3QgYXV0byBsb2FkZWQgKGltYWdlcyBkaXNhYmxlZCBpbiB0aGUgdXNlciBhZ2VudCkuCi0jaWYg
RU5BQkxFKFNWR19GT05UUykKLSAgICAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6U1ZHRm9udFJl
c291cmNlOgotI2VuZGlmCiAgICAgICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkZvbnRSZXNvdXJj
ZToKICAgICAgICAgICAgIC8vIFNraXAgZm9udHMgdGhhdCB3ZXJlIHJlZmVyZW5jZWQgaW4gQ1NT
IGJ1dCBuZXZlciB1c2VkL2Rvd25sb2FkZWQuCiAgICAgICAgICAgICBpZiAoY2FjaGVkUmVzb3Vy
Y2UtPnN0aWxsTmVlZHNMb2FkKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkRm9udC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
Rm9udC5jcHAKaW5kZXggMjAyNmU1N2VjMWUyYmE0OWUwZTQ4NWE4YjBjZGZjYzc2MTI2MWE0Zi4u
MWVmNjIyZTI0YmRlNmI1OTRlMzhiN2Y0ZDUxZjkyNmUyZGI5NmM1NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEZvbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250LmNwcApAQCAtMzEsNyArMzEsNiBAQAogI2luY2x1
ZGUgIkNhY2hlZFJlc291cmNlQ2xpZW50V2Fsa2VyLmgiCiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuaCIKICNpbmNsdWRlICJGb250Q3VzdG9tUGxhdGZvcm1EYXRhLmgiCi0jaW5jbHVk
ZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiRm9udFBsYXRmb3JtRGF0YS5oIgogI2lu
Y2x1ZGUgIk1lbW9yeUNhY2hlLmgiCiAjaW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCkBAIC00MCwx
MCArMzksNiBAQAogI2luY2x1ZGUgIldPRkZGaWxlRm9ybWF0LmgiCiAjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgogCi0jaWYgRU5BQkxFKFNWR19PVEZfQ09OVkVSVEVSKQotI2luY2x1ZGUgIlNWR1Rv
T1RGRm9udENvbnZlcnNpb24uaCIKLSNlbmRpZgotCiAjaWYgRU5BQkxFKFNWR19GT05UUykKICNp
bmNsdWRlICJOb2RlTGlzdC5oIgogI2luY2x1ZGUgIlNWR0RvY3VtZW50LmgiCkBAIC01NSw4ICs1
MCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQ2FjaGVkRm9udDo6Q2FjaGVkRm9udChj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlc291cmNlUmVxdWVzdCwgU2Vzc2lvbklEIHNlc3Npb25J
RCwgVHlwZSB0eXBlKQotICAgIDogQ2FjaGVkUmVzb3VyY2UocmVzb3VyY2VSZXF1ZXN0LCB0eXBl
LCBzZXNzaW9uSUQpCitDYWNoZWRGb250OjpDYWNoZWRGb250KGNvbnN0IFJlc291cmNlUmVxdWVz
dCYgcmVzb3VyY2VSZXF1ZXN0LCBTZXNzaW9uSUQgc2Vzc2lvbklEKQorICAgIDogQ2FjaGVkUmVz
b3VyY2UocmVzb3VyY2VSZXF1ZXN0LCBGb250UmVzb3VyY2UsIHNlc3Npb25JRCkKICAgICAsIG1f
bG9hZEluaXRpYXRlZChmYWxzZSkKICAgICAsIG1faGFzQ3JlYXRlZEZvbnREYXRhV3JhcHBpbmdS
ZXNvdXJjZShmYWxzZSkKIHsKQEAgLTk2LDcgKzkxLDcgQEAgdm9pZCBDYWNoZWRGb250OjpiZWdp
bkxvYWRJZk5lZWRlZChDYWNoZWRSZXNvdXJjZUxvYWRlciogZGwpCiAgICAgfQogfQogCi1ib29s
IENhY2hlZEZvbnQ6OmVuc3VyZUN1c3RvbUZvbnREYXRhKGJvb2wpCitib29sIENhY2hlZEZvbnQ6
OmVuc3VyZUN1c3RvbUZvbnREYXRhKCkKIHsKICAgICBpZiAoIW1fZm9udERhdGEgJiYgIWVycm9y
T2NjdXJyZWQoKSAmJiAhaXNMb2FkaW5nKCkgJiYgbV9kYXRhKSB7CiAgICAgICAgIFJlZlB0cjxT
aGFyZWRCdWZmZXI+IGJ1ZmZlciA9IG1fZGF0YTsKQEAgLTEyMywxOCArMTE4LDQ2IEBAIGJvb2wg
Q2FjaGVkRm9udDo6ZW5zdXJlQ3VzdG9tRm9udERhdGEoYm9vbCkKICAgICByZXR1cm4gbV9mb250
RGF0YS5nZXQoKTsKIH0KIAotUGFzc1JlZlB0cjxTaW1wbGVGb250RGF0YT4gQ2FjaGVkRm9udDo6
Z2V0Rm9udERhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGNvbnN0
IEF0b21pY1N0cmluZyYsIGJvb2wgc3ludGhldGljQm9sZCwgYm9vbCBzeW50aGV0aWNJdGFsaWMs
IGJvb2wpCi17Ci0gICAgcmV0dXJuIFNpbXBsZUZvbnREYXRhOjpjcmVhdGUocGxhdGZvcm1EYXRh
RnJvbUN1c3RvbURhdGEoZm9udERlc2NyaXB0aW9uLmNvbXB1dGVkUGl4ZWxTaXplKCksIHN5bnRo
ZXRpY0JvbGQsIHN5bnRoZXRpY0l0YWxpYywKLSAgICAgICAgZm9udERlc2NyaXB0aW9uLm9yaWVu
dGF0aW9uKCksIGZvbnREZXNjcmlwdGlvbi53aWR0aFZhcmlhbnQoKSwgZm9udERlc2NyaXB0aW9u
LnJlbmRlcmluZ01vZGUoKSksIHRydWUsIGZhbHNlKTsKLX0KLQogRm9udFBsYXRmb3JtRGF0YSBD
YWNoZWRGb250OjpwbGF0Zm9ybURhdGFGcm9tQ3VzdG9tRGF0YShmbG9hdCBzaXplLCBib29sIGJv
bGQsIGJvb2wgaXRhbGljLCBGb250T3JpZW50YXRpb24gb3JpZW50YXRpb24sIEZvbnRXaWR0aFZh
cmlhbnQgd2lkdGhWYXJpYW50LCBGb250UmVuZGVyaW5nTW9kZSByZW5kZXJpbmdNb2RlKQogewor
I2lmIEVOQUJMRShTVkdfRk9OVFMpCisgICAgaWYgKG1fZXh0ZXJuYWxTVkdEb2N1bWVudCkKKyAg
ICAgICAgcmV0dXJuIEZvbnRQbGF0Zm9ybURhdGEoc2l6ZSwgYm9sZCwgaXRhbGljKTsKKyNlbmRp
ZgogICAgIEFTU0VSVChtX2ZvbnREYXRhKTsKICAgICByZXR1cm4gbV9mb250RGF0YS0+Zm9udFBs
YXRmb3JtRGF0YShzdGF0aWNfY2FzdDxpbnQ+KHNpemUpLCBib2xkLCBpdGFsaWMsIG9yaWVudGF0
aW9uLCB3aWR0aFZhcmlhbnQsIHJlbmRlcmluZ01vZGUpOwogfQogCisjaWYgRU5BQkxFKFNWR19G
T05UUykKKworYm9vbCBDYWNoZWRGb250OjplbnN1cmVTVkdGb250RGF0YSgpCit7CisgICAgaWYg
KCFtX2V4dGVybmFsU1ZHRG9jdW1lbnQgJiYgIWVycm9yT2NjdXJyZWQoKSAmJiAhaXNMb2FkaW5n
KCkgJiYgbV9kYXRhKSB7CisgICAgICAgIG1fZXh0ZXJuYWxTVkdEb2N1bWVudCA9IFNWR0RvY3Vt
ZW50OjpjcmVhdGUobnVsbHB0ciwgVVJMKCkpOworICAgICAgICBSZWZQdHI8VGV4dFJlc291cmNl
RGVjb2Rlcj4gZGVjb2RlciA9IFRleHRSZXNvdXJjZURlY29kZXI6OmNyZWF0ZSgiYXBwbGljYXRp
b24veG1sIik7CisgICAgICAgIG1fZXh0ZXJuYWxTVkdEb2N1bWVudC0+c2V0Q29udGVudChkZWNv
ZGVyLT5kZWNvZGVBbmRGbHVzaChtX2RhdGEtPmRhdGEoKSwgbV9kYXRhLT5zaXplKCkpKTsKKyAg
ICAgICAgaWYgKGRlY29kZXItPnNhd0Vycm9yKCkpCisgICAgICAgICAgICBtX2V4dGVybmFsU1ZH
RG9jdW1lbnQgPSBudWxscHRyOworICAgIH0KKyAgICByZXR1cm4gbV9leHRlcm5hbFNWR0RvY3Vt
ZW50OworfQorCitTVkdGb250RWxlbWVudCogQ2FjaGVkRm9udDo6Z2V0U1ZHRm9udEJ5SWQoY29u
c3QgU3RyaW5nJiBmb250TmFtZSkgY29uc3QKK3sKKyAgICBhdXRvIGVsZW1lbnRzID0gZGVzY2Vu
ZGFudHNPZlR5cGU8U1ZHRm9udEVsZW1lbnQ+KCptX2V4dGVybmFsU1ZHRG9jdW1lbnQpOworCisg
ICAgaWYgKGZvbnROYW1lLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIGVsZW1lbnRzLmZpcnN0
KCk7CisKKyAgICBmb3IgKGF1dG8mIGVsZW1lbnQgOiBlbGVtZW50cykgeworICAgICAgICBpZiAo
ZWxlbWVudC5nZXRJZEF0dHJpYnV0ZSgpID09IGZvbnROYW1lKQorICAgICAgICAgICAgcmV0dXJu
ICZlbGVtZW50OworICAgIH0KKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworI2VuZGlmCisKIHZv
aWQgQ2FjaGVkRm9udDo6YWxsQ2xpZW50c1JlbW92ZWQoKQogewogICAgIG1fZm9udERhdGEgPSBu
dWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEZv
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRGb250LmgKaW5kZXggZTVj
NTU0NTc4NDVjYjJhMDgwMTYyNjRhNzBmYmNkZjkyZjg5OGViNi4uMmEyNjdjY2NiMTUxMTEyNzc1
NTkwNWM5ZTE3NDdmMThlYzdiZWI2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZEZvbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkRm9udC5oCkBAIC0zMSwzMiArMzEsMzEgQEAKICNpbmNsdWRlICJGb250T3JpZW50YXRpb24u
aCIKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgIkZvbnRXaWR0aFZh
cmlhbnQuaCIKLSNpbmNsdWRlICJTaW1wbGVGb250RGF0YS5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIENhY2hlZFJlc291cmNlTG9hZGVyOwotY2xhc3MgRm9udERlc2NyaXB0aW9u
OwogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIFNWR0RvY3VtZW50OwogY2xhc3MgU1ZH
Rm9udEVsZW1lbnQ7CiBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRmb3JtRGF0YTsKIAotY2xhc3MgQ2Fj
aGVkRm9udCA6IHB1YmxpYyBDYWNoZWRSZXNvdXJjZSB7CitjbGFzcyBDYWNoZWRGb250IGZpbmFs
IDogcHVibGljIENhY2hlZFJlc291cmNlIHsKIHB1YmxpYzoKLSAgICBDYWNoZWRGb250KGNvbnN0
IFJlc291cmNlUmVxdWVzdCYsIFNlc3Npb25JRCwgVHlwZSA9IEZvbnRSZXNvdXJjZSk7CisgICAg
Q2FjaGVkRm9udChjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBTZXNzaW9uSUQpOwogICAgIHZpcnR1
YWwgfkNhY2hlZEZvbnQoKTsKIAogICAgIHZvaWQgYmVnaW5Mb2FkSWZOZWVkZWQoQ2FjaGVkUmVz
b3VyY2VMb2FkZXIqIGRsKTsKICAgICB2aXJ0dWFsIGJvb2wgc3RpbGxOZWVkc0xvYWQoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiAhbV9sb2FkSW5pdGlhdGVkOyB9CiAKLSAgICB2aXJ0dWFsIGJv
b2wgZW5zdXJlQ3VzdG9tRm9udERhdGEoYm9vbCBleHRlcm5hbFNWRyk7Ci0KLSAgICB2aXJ0dWFs
IFBhc3NSZWZQdHI8U2ltcGxlRm9udERhdGE+IGdldEZvbnREYXRhKGNvbnN0IEZvbnREZXNjcmlw
dGlvbiYsIGNvbnN0IEF0b21pY1N0cmluZyYgcmVtb3RlVVJJLCBib29sIHN5bnRoZXRpY0JvbGQs
IGJvb2wgc3ludGhldGljSXRhbGljLCBib29sIGV4dGVybmFsU1ZHKTsKLQotcHJvdGVjdGVkOgor
ICAgIGJvb2wgZW5zdXJlQ3VzdG9tRm9udERhdGEoKTsKICAgICBGb250UGxhdGZvcm1EYXRhIHBs
YXRmb3JtRGF0YUZyb21DdXN0b21EYXRhKGZsb2F0IHNpemUsIGJvb2wgYm9sZCwgYm9vbCBpdGFs
aWMsIEZvbnRPcmllbnRhdGlvbiA9IEhvcml6b250YWwsIEZvbnRXaWR0aFZhcmlhbnQgPSBSZWd1
bGFyV2lkdGgsIEZvbnRSZW5kZXJpbmdNb2RlID0gTm9ybWFsUmVuZGVyaW5nTW9kZSk7CiAKKyNp
ZiBFTkFCTEUoU1ZHX0ZPTlRTKQorICAgIGJvb2wgZW5zdXJlU1ZHRm9udERhdGEoKTsKKyAgICBT
VkdGb250RWxlbWVudCogZ2V0U1ZHRm9udEJ5SWQoY29uc3QgU3RyaW5nJikgY29uc3Q7CisjZW5k
aWYKKwogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgY2hlY2tOb3RpZnkoKSBvdmVycmlkZTsK
ICAgICB2aXJ0dWFsIGJvb2wgbWF5VHJ5UmVwbGFjZUVuY29kZWREYXRhKCkgY29uc3Qgb3ZlcnJp
ZGU7CkBAIC03Miw2ICs3MSwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9sb2FkSW5pdGlhdGVk
OwogICAgIGJvb2wgbV9oYXNDcmVhdGVkRm9udERhdGFXcmFwcGluZ1Jlc291cmNlOwogCisjaWYg
RU5BQkxFKFNWR19GT05UUykKKyAgICBSZWZQdHI8U1ZHRG9jdW1lbnQ+IG1fZXh0ZXJuYWxTVkdE
b2N1bWVudDsKKyNlbmRpZgorCiAgICAgZnJpZW5kIGNsYXNzIE1lbW9yeUNhY2hlOwogfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5jcHAKaW5kZXgg
NjE3MzAxNzdkNTI2ZDA4NjgxZDExMjVhNThmOGU4MzNiMDA5ODg1Yy4uNGY1ZjVhNGE0NTNjZWM4
ZmY2ZGM3MzE1MWI2NWUzZmIyMWUzNWNiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwCkBAIC02OSw5ICs2OSw2IEBAIHN0YXRpYyBSZXNvdXJj
ZUxvYWRQcmlvcml0eSBkZWZhdWx0UHJpb3JpdHlGb3JSZXNvdXJjZVR5cGUoQ2FjaGVkUmVzb3Vy
Y2U6OlR5cGUKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpDU1NTdHlsZVNoZWV0OgogICAgICAg
ICByZXR1cm4gUmVzb3VyY2VMb2FkUHJpb3JpdHlIaWdoOwogICAgIGNhc2UgQ2FjaGVkUmVzb3Vy
Y2U6OlNjcmlwdDoKLSNpZiBFTkFCTEUoU1ZHX0ZPTlRTKQotICAgIGNhc2UgQ2FjaGVkUmVzb3Vy
Y2U6OlNWR0ZvbnRSZXNvdXJjZToKLSNlbmRpZgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkZv
bnRSZXNvdXJjZToKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpSYXdSZXNvdXJjZToKICAgICAg
ICAgcmV0dXJuIFJlc291cmNlTG9hZFByaW9yaXR5TWVkaXVtOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAppbmRleCA1YTI0N2Q1NDg1MDhjMWQ5MDAzYjdh
YmZlNTBlNTQ5YTc5YTdjYWM4Li5kNGMwM2Y0ZGUxMThjYjdiMjFhMjM0YTYwNjczMmM3ODc3NjI2
YzAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaApA
QCAtNjYsOSArNjYsNiBAQCBwdWJsaWM6CiAgICAgICAgIENTU1N0eWxlU2hlZXQsCiAgICAgICAg
IFNjcmlwdCwKICAgICAgICAgRm9udFJlc291cmNlLAotI2lmIEVOQUJMRShTVkdfRk9OVFMpCi0g
ICAgICAgIFNWR0ZvbnRSZXNvdXJjZSwKLSNlbmRpZgogICAgICAgICBSYXdSZXNvdXJjZSwKICAg
ICAgICAgU1ZHRG9jdW1lbnRSZXNvdXJjZQogI2lmIEVOQUJMRShYU0xUKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXgg
NjhjMDIyZmYwYWM3YTQ2ZTkzZDc2Njc1NzRiMmYzMmUwZGUwNjIxNC4uYWI1OTBkZjNkMjZkNTEw
MTE1MzkwMjcyYjNkNTQyYjMwYWY5Njc0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0zMyw3ICszMyw2IEBACiAj
aW5jbHVkZSAiQ2FjaGVkSW1hZ2UuaCIKICNpbmNsdWRlICJDYWNoZWRSYXdSZXNvdXJjZS5oIgog
I2luY2x1ZGUgIkNhY2hlZFJlc291cmNlUmVxdWVzdC5oIgotI2luY2x1ZGUgIkNhY2hlZFNWR0Zv
bnQuaCIKICNpbmNsdWRlICJDYWNoZWRTY3JpcHQuaCIKICNpbmNsdWRlICJDYWNoZWRYU0xTdHls
ZVNoZWV0LmgiCiAjaW5jbHVkZSAiQ2hyb21lLmgiCkBAIC04NSwxMCArODQsNiBAQCBzdGF0aWMg
Q2FjaGVkUmVzb3VyY2UqIGNyZWF0ZVJlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUs
IFJlc291cmNlUmVxdWVzdAogICAgICAgICByZXR1cm4gbmV3IENhY2hlZFNjcmlwdChyZXF1ZXN0
LCBjaGFyc2V0LCBzZXNzaW9uSUQpOwogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlNWR0RvY3Vt
ZW50UmVzb3VyY2U6CiAgICAgICAgIHJldHVybiBuZXcgQ2FjaGVkU1ZHRG9jdW1lbnQocmVxdWVz
dCwgc2Vzc2lvbklEKTsKLSNpZiBFTkFCTEUoU1ZHX0ZPTlRTKQotICAgIGNhc2UgQ2FjaGVkUmVz
b3VyY2U6OlNWR0ZvbnRSZXNvdXJjZToKLSAgICAgICAgcmV0dXJuIG5ldyBDYWNoZWRTVkdGb250
KHJlcXVlc3QsIHNlc3Npb25JRCk7Ci0jZW5kaWYKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpG
b250UmVzb3VyY2U6CiAgICAgICAgIHJldHVybiBuZXcgQ2FjaGVkRm9udChyZXF1ZXN0LCBzZXNz
aW9uSUQpOwogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlJhd1Jlc291cmNlOgpAQCAtMTgwLDEw
ICsxNzUsOCBAQCBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRJbWFnZT4gQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXI6OnJlcXVlc3RJbWFnZShDYWNoZWRSZXNvdQogICAgIHJldHVybiBkb3duY2FzdDxD
YWNoZWRJbWFnZT4ocmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpJbWFnZVJlc291cmNl
LCByZXF1ZXN0KS5nZXQoKSk7CiB9CiAKLUNhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZEZvbnQ+
IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0Rm9udChDYWNoZWRSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIGJvb2wgaXNTVkcpCitDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRGb250PiBD
YWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdEZvbnQoQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0JiBy
ZXF1ZXN0KQogewotICAgIGlmIChpc1NWRykKLSAgICAgICAgcmV0dXJuIGRvd25jYXN0PENhY2hl
ZFNWR0ZvbnQ+KHJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6U1ZHRm9udFJlc291cmNl
LCByZXF1ZXN0KS5nZXQoKSk7CiAgICAgcmV0dXJuIGRvd25jYXN0PENhY2hlZEZvbnQ+KHJlcXVl
c3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6Rm9udFJlc291cmNlLCByZXF1ZXN0KS5nZXQoKSk7
CiB9CiAKQEAgLTI4MSw5ICsyNzQsNiBAQCBib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjpjaGVj
a0luc2VjdXJlQ29udGVudChDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBjb25zdAogI2VuZGlm
CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6UmF3UmVzb3VyY2U6CiAgICAgY2FzZSBDYWNoZWRS
ZXNvdXJjZTo6SW1hZ2VSZXNvdXJjZToKLSNpZiBFTkFCTEUoU1ZHX0ZPTlRTKQotICAgIGNhc2Ug
Q2FjaGVkUmVzb3VyY2U6OlNWR0ZvbnRSZXNvdXJjZToKLSNlbmRpZgogICAgIGNhc2UgQ2FjaGVk
UmVzb3VyY2U6OkZvbnRSZXNvdXJjZTogewogICAgICAgICAvLyBUaGVzZSByZXNvdXJjZXMgY2Fu
IGNvcnJ1cHQgb25seSB0aGUgZnJhbWUncyBwaXhlbHMuCiAgICAgICAgIGlmIChGcmFtZSogZiA9
IGZyYW1lKCkpIHsKQEAgLTMyNCw5ICszMTQsNiBAQCBib29sIENhY2hlZFJlc291cmNlTG9hZGVy
OjpjYW5SZXF1ZXN0KENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIGNvbnN0IFVSTCYgdXJsLAog
ICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkltYWdlUmVzb3VyY2U6CiAgICAgY2FzZSBDYWNoZWRS
ZXNvdXJjZTo6Q1NTU3R5bGVTaGVldDoKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpTY3JpcHQ6
Ci0jaWYgRU5BQkxFKFNWR19GT05UUykKLSAgICBjYXNlIENhY2hlZFJlc291cmNlOjpTVkdGb250
UmVzb3VyY2U6Ci0jZW5kaWYKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpGb250UmVzb3VyY2U6
CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6UmF3UmVzb3VyY2U6CiAjaWYgRU5BQkxFKExJTktf
UFJFRkVUQ0gpCkBAIC0zNzQsOSArMzYxLDYgQEAgYm9vbCBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6
Y2FuUmVxdWVzdChDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBjb25zdCBVUkwmIHVybCwKICAg
ICAgICAgaWYgKCFzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3kgJiYg
IW1fZG9jdW1lbnQtPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5hbGxvd0ltYWdlRnJvbVNvdXJj
ZSh1cmwpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBicmVhazsKLSNpZiBF
TkFCTEUoU1ZHX0ZPTlRTKQotICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlNWR0ZvbnRSZXNvdXJj
ZToKLSNlbmRpZgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkZvbnRSZXNvdXJjZTogewogICAg
ICAgICBpZiAoIXNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSAmJiAh
bV9kb2N1bWVudC0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmFsbG93Rm9udEZyb21Tb3VyY2Uo
dXJsKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmgKaW5kZXggYWViYTI1NDRmMWY1OWNl
NmFkOTA0MzI2ZjEyMDA1NTE1MmQyN2M1NS4uZTRlZDJmZWI5ZDRhYjhjOWE1MjdlZGI1ZDk2YTQ5
MjcxODEyMGJmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlTG9hZGVyLmgKQEAgLTc1LDcgKzc1LDcgQEAgcHVibGljOgogICAgIENhY2hlZFJl
c291cmNlSGFuZGxlPENhY2hlZENTU1N0eWxlU2hlZXQ+IHJlcXVlc3RDU1NTdHlsZVNoZWV0KENh
Y2hlZFJlc291cmNlUmVxdWVzdCYpOwogICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZENT
U1N0eWxlU2hlZXQ+IHJlcXVlc3RVc2VyQ1NTU3R5bGVTaGVldChDYWNoZWRSZXNvdXJjZVJlcXVl
c3QmKTsKICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRTY3JpcHQ+IHJlcXVlc3RTY3Jp
cHQoQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Jik7Ci0gICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2Fj
aGVkRm9udD4gcmVxdWVzdEZvbnQoQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0JiwgYm9vbCBpc1NWRyk7
CisgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkRm9udD4gcmVxdWVzdEZvbnQoQ2FjaGVk
UmVzb3VyY2VSZXF1ZXN0Jik7CiAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmF3UmVz
b3VyY2U+IHJlcXVlc3RSYXdSZXNvdXJjZShDYWNoZWRSZXNvdXJjZVJlcXVlc3QmKTsKICAgICBD
YWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSYXdSZXNvdXJjZT4gcmVxdWVzdE1haW5SZXNvdXJj
ZShDYWNoZWRSZXNvdXJjZVJlcXVlc3QmKTsKICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNo
ZWRTVkdEb2N1bWVudD4gcmVxdWVzdFNWR0RvY3VtZW50KENhY2hlZFJlc291cmNlUmVxdWVzdCYp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNWR0ZvbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFNWR0ZvbnQuY3BwCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MTJmYmY2YjU3ZTU3ZjUzNjIwYTlhMzQxNmU0NjQ1
Y2FhZTEzZmUyLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTVkdGb250LmNwcAorKysgL2Rldi9u
dWxsCkBAIC0xLDExNiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAy
MDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAw
OSBUb3JjaCBNb2JpbGUsIEluYy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJDYWNoZWRTVkdGb250Lmgi
Ci0KLSNpZiBFTkFCTEUoU1ZHX0ZPTlRTKQotCi0jaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgi
Ci0jaW5jbHVkZSAiRm9udFBsYXRmb3JtRGF0YS5oIgotI2luY2x1ZGUgIlNWR0RvY3VtZW50Lmgi
Ci0jaW5jbHVkZSAiU1ZHRm9udERhdGEuaCIKLSNpbmNsdWRlICJTVkdGb250RWxlbWVudC5oIgot
I2luY2x1ZGUgIlNWR0ZvbnRGYWNlRWxlbWVudC5oIgotI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5o
IgotI2luY2x1ZGUgIlRleHRSZXNvdXJjZURlY29kZXIuaCIKLSNpbmNsdWRlICJUeXBlZEVsZW1l
bnREZXNjZW5kYW50SXRlcmF0b3IuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1DYWNoZWRT
VkdGb250OjpDYWNoZWRTVkdGb250KGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVzb3VyY2VSZXF1
ZXN0LCBTZXNzaW9uSUQgc2Vzc2lvbklEKQotICAgIDogQ2FjaGVkRm9udChyZXNvdXJjZVJlcXVl
c3QsIHNlc3Npb25JRCwgU1ZHRm9udFJlc291cmNlKQotICAgICwgbV9leHRlcm5hbFNWR0ZvbnRF
bGVtZW50KG51bGxwdHIpCi17Ci19Ci0KLVBhc3NSZWZQdHI8U2ltcGxlRm9udERhdGE+IENhY2hl
ZFNWR0ZvbnQ6OmdldEZvbnREYXRhKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0
aW9uLCBjb25zdCBBdG9taWNTdHJpbmcmIHJlbW90ZVVSSSwgYm9vbCBzeW50aGV0aWNCb2xkLCBi
b29sIHN5bnRoZXRpY0l0YWxpYywgYm9vbCBleHRlcm5hbFNWRykKLXsKLSAgICBpZiAoIWV4dGVy
bmFsU1ZHKQotICAgICAgICByZXR1cm4gQ2FjaGVkRm9udDo6Z2V0Rm9udERhdGEoZm9udERlc2Ny
aXB0aW9uLCByZW1vdGVVUkksIHN5bnRoZXRpY0JvbGQsIHN5bnRoZXRpY0l0YWxpYywgZXh0ZXJu
YWxTVkcpOwotCi0gICAgaWYgKFNWR0ZvbnRGYWNlRWxlbWVudCogZmlyc3RGb250RmFjZSA9IHRo
aXMtPmZpcnN0Rm9udEZhY2UocmVtb3RlVVJJKSkKLSAgICAgICAgcmV0dXJuIFNpbXBsZUZvbnRE
YXRhOjpjcmVhdGUoc3RkOjptYWtlX3VuaXF1ZTxTVkdGb250RGF0YT4oZmlyc3RGb250RmFjZSks
IGZvbnREZXNjcmlwdGlvbi5jb21wdXRlZFBpeGVsU2l6ZSgpLCBzeW50aGV0aWNCb2xkLCBzeW50
aGV0aWNJdGFsaWMpOwotICAgIHJldHVybiBudWxscHRyOwotfQotCi1Gb250UGxhdGZvcm1EYXRh
IENhY2hlZFNWR0ZvbnQ6OnBsYXRmb3JtRGF0YUZyb21DdXN0b21EYXRhKGZsb2F0IHNpemUsIGJv
b2wgYm9sZCwgYm9vbCBpdGFsaWMsIEZvbnRPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwgRm9udFdp
ZHRoVmFyaWFudCB3aWR0aFZhcmlhbnQsIEZvbnRSZW5kZXJpbmdNb2RlIHJlbmRlcmluZ01vZGUp
Ci17Ci0gICAgaWYgKG1fZXh0ZXJuYWxTVkdEb2N1bWVudCkKLSAgICAgICAgcmV0dXJuIEZvbnRQ
bGF0Zm9ybURhdGEoc2l6ZSwgYm9sZCwgaXRhbGljKTsKLSAgICByZXR1cm4gQ2FjaGVkRm9udDo6
cGxhdGZvcm1EYXRhRnJvbUN1c3RvbURhdGEoc2l6ZSwgYm9sZCwgaXRhbGljLCBvcmllbnRhdGlv
biwgd2lkdGhWYXJpYW50LCByZW5kZXJpbmdNb2RlKTsKLX0KLQotYm9vbCBDYWNoZWRTVkdGb250
OjplbnN1cmVDdXN0b21Gb250RGF0YShib29sIGV4dGVybmFsU1ZHKQotewotICAgIGlmICghZXh0
ZXJuYWxTVkcpCi0gICAgICAgIHJldHVybiBDYWNoZWRGb250OjplbnN1cmVDdXN0b21Gb250RGF0
YShleHRlcm5hbFNWRyk7Ci0KLSAgICBpZiAoIW1fZXh0ZXJuYWxTVkdEb2N1bWVudCAmJiAhZXJy
b3JPY2N1cnJlZCgpICYmICFpc0xvYWRpbmcoKSAmJiBtX2RhdGEpIHsKLSAgICAgICAgbV9leHRl
cm5hbFNWR0RvY3VtZW50ID0gU1ZHRG9jdW1lbnQ6OmNyZWF0ZShudWxscHRyLCBVUkwoKSk7Ci0g
ICAgICAgIFJlZlB0cjxUZXh0UmVzb3VyY2VEZWNvZGVyPiBkZWNvZGVyID0gVGV4dFJlc291cmNl
RGVjb2Rlcjo6Y3JlYXRlKCJhcHBsaWNhdGlvbi94bWwiKTsKLSAgICAgICAgbV9leHRlcm5hbFNW
R0RvY3VtZW50LT5zZXRDb250ZW50KGRlY29kZXItPmRlY29kZUFuZEZsdXNoKG1fZGF0YS0+ZGF0
YSgpLCBtX2RhdGEtPnNpemUoKSkpOwotICAgICAgICBpZiAoZGVjb2Rlci0+c2F3RXJyb3IoKSkK
LSAgICAgICAgICAgIG1fZXh0ZXJuYWxTVkdEb2N1bWVudCA9IG51bGxwdHI7Ci0gICAgfQotICAg
IHJldHVybiBtX2V4dGVybmFsU1ZHRG9jdW1lbnQ7Ci19Ci0KLVNWR0ZvbnRFbGVtZW50KiBDYWNo
ZWRTVkdGb250OjpnZXRTVkdGb250QnlJZChjb25zdCBTdHJpbmcmIGZvbnROYW1lKSBjb25zdAot
ewotICAgIGF1dG8gZWxlbWVudHMgPSBkZXNjZW5kYW50c09mVHlwZTxTVkdGb250RWxlbWVudD4o
Km1fZXh0ZXJuYWxTVkdEb2N1bWVudCk7Ci0KLSAgICBpZiAoZm9udE5hbWUuaXNFbXB0eSgpKQot
ICAgICAgICByZXR1cm4gZWxlbWVudHMuZmlyc3QoKTsKLQotICAgIGZvciAoYXV0byYgZWxlbWVu
dCA6IGVsZW1lbnRzKSB7Ci0gICAgICAgIGlmIChlbGVtZW50LmdldElkQXR0cmlidXRlKCkgPT0g
Zm9udE5hbWUpCi0gICAgICAgICAgICByZXR1cm4gJmVsZW1lbnQ7Ci0gICAgfQotICAgIHJldHVy
biBudWxscHRyOwotfQotCi1TVkdGb250RmFjZUVsZW1lbnQqIENhY2hlZFNWR0ZvbnQ6OmZpcnN0
Rm9udEZhY2UoY29uc3QgQXRvbWljU3RyaW5nJiByZW1vdGVVUkkpCi17Ci0gICAgaWYgKCFtX2V4
dGVybmFsU1ZHRm9udEVsZW1lbnQpIHsKLSAgICAgICAgU3RyaW5nIGZyYWdtZW50SWRlbnRpZmll
cjsKLSAgICAgICAgc2l6ZV90IHN0YXJ0ID0gcmVtb3RlVVJJLmZpbmQoJyMnKTsKLSAgICAgICAg
aWYgKHN0YXJ0ICE9IG5vdEZvdW5kKQotICAgICAgICAgICAgZnJhZ21lbnRJZGVudGlmaWVyID0g
cmVtb3RlVVJJLnN0cmluZygpLnN1YnN0cmluZyhzdGFydCArIDEpOwotICAgICAgICBtX2V4dGVy
bmFsU1ZHRm9udEVsZW1lbnQgPSBnZXRTVkdGb250QnlJZChmcmFnbWVudElkZW50aWZpZXIpOwot
ICAgIH0KLQotICAgIGlmICghbV9leHRlcm5hbFNWR0ZvbnRFbGVtZW50KQotICAgICAgICByZXR1
cm4gbnVsbHB0cjsKLQotICAgIGlmIChhdXRvKiBmaXJzdEZvbnRGYWNlID0gY2hpbGRyZW5PZlR5
cGU8U1ZHRm9udEZhY2VFbGVtZW50PigqbV9leHRlcm5hbFNWR0ZvbnRFbGVtZW50KS5maXJzdCgp
KQotICAgICAgICByZXR1cm4gZmlyc3RGb250RmFjZTsKLSAgICByZXR1cm4gbnVsbHB0cjsKLX0K
LQotfQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRTVkdGb250LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkU1ZHRm9u
dC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2OGMwY2YzMDg1NWEwZjVhNWE0OWJj
ZTk0YWRhYmYxMTAyMTAzYjdmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRTVkdGb250LmgKKysr
IC9kZXYvbnVsbApAQCAtMSw2MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA3LCAy
MDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
LSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpZm5kZWYgQ2FjaGVkU1ZHRm9udF9oCi0jZGVmaW5l
IENhY2hlZFNWR0ZvbnRfaAotCi0jaWYgRU5BQkxFKFNWR19GT05UUykKLQotI2luY2x1ZGUgIkNh
Y2hlZEZvbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBTVkdGb250RmFjZUVs
ZW1lbnQ7Ci0KLWNsYXNzIENhY2hlZFNWR0ZvbnQgZmluYWwgOiBwdWJsaWMgQ2FjaGVkRm9udCB7
Ci1wdWJsaWM6Ci0gICAgQ2FjaGVkU1ZHRm9udChjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBTZXNz
aW9uSUQpOwotCi0gICAgdmlydHVhbCBib29sIGVuc3VyZUN1c3RvbUZvbnREYXRhKGJvb2wgZXh0
ZXJuYWxTVkcpIG92ZXJyaWRlOwotICAgIAotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTaW1wbGVG
b250RGF0YT4gZ2V0Rm9udERhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgY29uc3QgQXRvbWlj
U3RyaW5nJiByZW1vdGVVUkksIGJvb2wgc3ludGhldGljQm9sZCwgYm9vbCBzeW50aGV0aWNJdGFs
aWMsIGJvb2wgZXh0ZXJuYWxTVkcpIG92ZXJyaWRlOwotCi1wcml2YXRlOgotICAgIEZvbnRQbGF0
Zm9ybURhdGEgcGxhdGZvcm1EYXRhRnJvbUN1c3RvbURhdGEoZmxvYXQgc2l6ZSwgYm9vbCBib2xk
LCBib29sIGl0YWxpYywgRm9udE9yaWVudGF0aW9uID0gSG9yaXpvbnRhbCwgRm9udFdpZHRoVmFy
aWFudCA9IFJlZ3VsYXJXaWR0aCwgRm9udFJlbmRlcmluZ01vZGUgPSBOb3JtYWxSZW5kZXJpbmdN
b2RlKTsKLQotICAgIFNWR0ZvbnRFbGVtZW50KiBnZXRTVkdGb250QnlJZChjb25zdCBTdHJpbmcm
KSBjb25zdDsKLQotICAgIFNWR0ZvbnRGYWNlRWxlbWVudCogZmlyc3RGb250RmFjZShjb25zdCBB
dG9taWNTdHJpbmcmIHJlbW90ZVVSSSk7Ci0KLSAgICBSZWZQdHI8U1ZHRG9jdW1lbnQ+IG1fZXh0
ZXJuYWxTVkdEb2N1bWVudDsKLSAgICBTVkdGb250RWxlbWVudCogbV9leHRlcm5hbFNWR0ZvbnRF
bGVtZW50OwotfTsKLQotfQotCi1TUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0NBQ0hFRF9SRVNPVVJD
RShDYWNoZWRTVkdGb250LCBDYWNoZWRSZXNvdXJjZTo6U1ZHRm9udFJlc291cmNlKQotCi0jZW5k
aWYKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvTWVt
b3J5Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNw
cAppbmRleCA2MWFmMmZmZDc0YmU5NjRhYTQwZTZjYjc2MGZlOTk1NWQ5NDQzNjVkLi5mOWQwYTNh
NGJiNjE0ODg5N2VlYmM4MWEzNGYxMGE1NjhjMGYwNGNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKQEAgLTgyNCw5ICs4MjQsNiBAQCBNZW1vcnlDYWNo
ZTo6U3RhdGlzdGljcyBNZW1vcnlDYWNoZTo6Z2V0U3RhdGlzdGljcygpCiAgICAgICAgICAgICAg
ICAgICAgIHN0YXRzLnhzbFN0eWxlU2hlZXRzLmFkZFJlc291cmNlKHJlc291cmNlKTsKICAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7CiAjZW5kaWYKLSNpZiBFTkFCTEUoU1ZHX0ZPTlRTKQotICAg
ICAgICAgICAgICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlNWR0ZvbnRSZXNvdXJjZToKLSNlbmRp
ZgogICAgICAgICAgICAgICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkZvbnRSZXNvdXJjZToKICAg
ICAgICAgICAgICAgICAgICAgc3RhdHMuZm9udHMuYWRkUmVzb3VyY2UocmVzb3VyY2UpOwogICAg
ICAgICAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGb250RmFjZVVyaUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNl
VXJpRWxlbWVudC5jcHAKaW5kZXggNDViOTA2ZDc2NTIwYzNjNjBkNWY4YzQ0YjM4ZWMyYWY4ZDVi
OTZjNS4uMDNmYjNmNDljMDNlNjNjOWY2ZjFjMDJhMjg0ZTExOGJjNzQwOTI1NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlVXJpRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlVXJpRWxlbWVudC5jcHAKQEAgLTg4LDEyICs4OCw2
IEBAIE5vZGU6Okluc2VydGlvbk5vdGlmaWNhdGlvblJlcXVlc3QgU1ZHRm9udEZhY2VVcmlFbGVt
ZW50OjppbnNlcnRlZEludG8oQ29udGFpbmVyCiAgICAgcmV0dXJuIFNWR0VsZW1lbnQ6Omluc2Vy
dGVkSW50byhyb290UGFyZW50KTsKIH0KIAotc3RhdGljIGJvb2wgaXNTVkdGb250VGFyZ2V0KGNv
bnN0IFNWR0ZvbnRGYWNlVXJpRWxlbWVudCYgZWxlbWVudCkKLXsKLSAgICBSZWY8Q1NTRm9udEZh
Y2VTcmNWYWx1ZT4gc3JjVmFsdWUoZWxlbWVudC5zcmNWYWx1ZSgpKTsKLSAgICByZXR1cm4gc3Jj
VmFsdWUtPmlzU1ZHRm9udFRhcmdldCgpOwotfQotCiB2b2lkIFNWR0ZvbnRGYWNlVXJpRWxlbWVu
dDo6bG9hZEZvbnQoKQogewogICAgIGlmIChtX2NhY2hlZEZvbnQpCkBAIC0xMDQsNyArOTgsNyBA
QCB2b2lkIFNWR0ZvbnRGYWNlVXJpRWxlbWVudDo6bG9hZEZvbnQoKQogICAgICAgICBDYWNoZWRS
ZXNvdXJjZUxvYWRlciogY2FjaGVkUmVzb3VyY2VMb2FkZXIgPSBkb2N1bWVudCgpLmNhY2hlZFJl
c291cmNlTG9hZGVyKCk7CiAgICAgICAgIENhY2hlZFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KFJl
c291cmNlUmVxdWVzdChkb2N1bWVudCgpLmNvbXBsZXRlVVJMKGhyZWYpKSk7CiAgICAgICAgIHJl
cXVlc3Quc2V0SW5pdGlhdG9yKHRoaXMpOwotICAgICAgICBtX2NhY2hlZEZvbnQgPSBjYWNoZWRS
ZXNvdXJjZUxvYWRlci0+cmVxdWVzdEZvbnQocmVxdWVzdCwgaXNTVkdGb250VGFyZ2V0KCp0aGlz
KSk7CisgICAgICAgIG1fY2FjaGVkRm9udCA9IGNhY2hlZFJlc291cmNlTG9hZGVyLT5yZXF1ZXN0
Rm9udChyZXF1ZXN0KTsKICAgICAgICAgaWYgKG1fY2FjaGVkRm9udCkgewogICAgICAgICAgICAg
bV9jYWNoZWRGb250LT5hZGRDbGllbnQodGhpcyk7CiAgICAgICAgICAgICBtX2NhY2hlZEZvbnQt
PmJlZ2luTG9hZElmTmVlZGVkKGNhY2hlZFJlc291cmNlTG9hZGVyKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIu
Y3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZFNj
aGVkdWxlci5jcHAKaW5kZXggZWM5MGZlOWMyMDhhYTJjZGI3MDBhN2JjZjMzZTBhNzkwMzQ0NDU4
ZC4uODhjYjA2NGUxMDcyOTNkNzkwOTY1YTA3NGFkYzEyY2RhYzgwZDY4ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZFNjaGVkdWxl
ci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNl
TG9hZFNjaGVkdWxlci5jcHAKQEAgLTkyLDkgKzkyLDYgQEAgc3RhdGljIHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMgbWF4aW11bUJ1ZmZlcmluZ1RpbWUoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNl
KQogICAgIHN3aXRjaCAocmVzb3VyY2UtPnR5cGUoKSkgewogICAgIGNhc2UgQ2FjaGVkUmVzb3Vy
Y2U6OkNTU1N0eWxlU2hlZXQ6CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6U2NyaXB0OgotI2lm
IEVOQUJMRShTVkdfRk9OVFMpCi0gICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6U1ZHRm9udFJlc291
cmNlOgotI2VuZGlmCiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6Rm9udFJlc291cmNlOgogICAg
ICAgICByZXR1cm4gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kczo6bWF4KCk7CiAgICAgY2FzZSBD
YWNoZWRSZXNvdXJjZTo6SW1hZ2VSZXNvdXJjZToK
</data>

          </attachment>
      

    </bug>

</bugzilla>