<?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>215688</bug_id>
          
          <creation_ts>2020-08-19 22:14:38 -0700</creation_ts>
          <short_desc>[Cocoa] Prepare for migrating to CTFontHasTable() once it&apos;s faster than CTFontCopyAvailableTables()</short_desc>
          <delta_ts>2021-09-14 11:43:38 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>230248</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1681636</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-19 22:14:38 -0700</bug_when>
    <thetext>[Cocoa] CTFontHasTable() is faster than iterating over every table in the font</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681637</commentid>
    <comment_count>1</comment_count>
      <attachid>406917</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-19 22:16:46 -0700</bug_when>
    <thetext>Created attachment 406917
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681638</commentid>
    <comment_count>2</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-08-19 22:17:09 -0700</bug_when>
    <thetext>&lt;rdar://problem/57131142&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686037</commentid>
    <comment_count>3</comment_count>
      <attachid>408077</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-05 01:56:40 -0700</bug_when>
    <thetext>Created attachment 408077
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686072</commentid>
    <comment_count>4</comment_count>
      <attachid>408077</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-05 08:51:18 -0700</bug_when>
    <thetext>Comment on attachment 408077
Patch

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

&gt; Source/WTF/wtf/PlatformUse.h:309
&gt; +#define USE_CTFONTHASTABLE 1

Is this really a USE and not a HAVE?

USE for policy. HAVE for capability. I assume we’d use this whenever we have a working implementation.

&gt; Source/WebCore/platform/graphics/cocoa/FontCocoa.mm:65
&gt;  static bool fontHasVerticalGlyphs(CTFontRef ctFont)

Seems like the argument can just be named font.

&gt; Source/WebCore/platform/graphics/cocoa/FontCocoa.mm:71
&gt;      RetainPtr&lt;CFArrayRef&gt; tableTags = adoptCF(CTFontCopyAvailableTables(ctFont, kCTFontTableOptionNoOptions));

auto

&gt; Source/WebCore/platform/graphics/cocoa/FontCocoa.mm:76
&gt; +        CTFontTableTag tag = static_cast&lt;CTFontTableTag&gt;(reinterpret_cast&lt;uintptr_t&gt;(CFArrayGetValueAtIndex(tableTags.get(), index)));

auto

Is the static_cast really needed? I would think that conversion between integer types would work without it. In fact we could even compare uintptr_t values with CTFontTableTag constants without having to make the types match. I think using auto and taking out the static_cast would be good.

&gt; Source/WebCore/platform/graphics/opentype/OpenTypeCG.cpp:42
&gt;  bool fontHasMathTable(CTFontRef ctFont)

Could this share code with the other some day?

A function that takes a CTFontRef and an argument list of tables and checks for any of them? Would be nice to not have this twice.

&gt; Source/WebCore/platform/graphics/opentype/OpenTypeCG.cpp:47
&gt;      RetainPtr&lt;CFArrayRef&gt; tableTags = adoptCF(CTFontCopyAvailableTables(ctFont, kCTFontTableOptionNoOptions));

Ditto.

&gt; Source/WebCore/platform/graphics/opentype/OpenTypeCG.cpp:52
&gt; +        CTFontTableTag tag = static_cast&lt;CTFontTableTag&gt;(reinterpret_cast&lt;uintptr_t&gt;(CFArrayGetValueAtIndex(tableTags.get(), index)));

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686096</commentid>
    <comment_count>5</comment_count>
      <attachid>408089</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-05 11:11:41 -0700</bug_when>
    <thetext>Created attachment 408089
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686098</commentid>
    <comment_count>6</comment_count>
      <attachid>408090</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-05 11:30:37 -0700</bug_when>
    <thetext>Created attachment 408090
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686099</commentid>
    <comment_count>7</comment_count>
      <attachid>408091</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-05 11:35:01 -0700</bug_when>
    <thetext>Created attachment 408091
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686118</commentid>
    <comment_count>8</comment_count>
      <attachid>408096</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-05 14:28:29 -0700</bug_when>
    <thetext>Created attachment 408096
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686129</commentid>
    <comment_count>9</comment_count>
      <attachid>408100</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-05 14:48:09 -0700</bug_when>
    <thetext>Created attachment 408100
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686243</commentid>
    <comment_count>10</comment_count>
      <attachid>408145</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-06 15:39:39 -0700</bug_when>
    <thetext>Created attachment 408145
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686247</commentid>
    <comment_count>11</comment_count>
      <attachid>408146</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-06 15:46:20 -0700</bug_when>
    <thetext>Created attachment 408146
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686251</commentid>
    <comment_count>12</comment_count>
      <attachid>408146</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-06 16:02:06 -0700</bug_when>
    <thetext>Comment on attachment 408146
Patch for committing

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

&gt; Source/WebCore/platform/graphics/Font.cpp:488
&gt; +#if USE(CG)
&gt; +bool fontHasTable(CTFontRef ctFont, unsigned tableTag)

In the past sometimes we have literally named our function &quot;CTFontHasTable&quot; and just compile it when on a system that doesn’t have it. Risky though.

&gt; Source/WebCore/platform/graphics/Font.cpp:498
&gt; +        auto tag = static_cast&lt;CTFontTableTag&gt;(reinterpret_cast&lt;uintptr_t&gt;(CFArrayGetValueAtIndex(tableTags.get(), index)));

I don’t think the static_cast to CTFontTableTag here is needed.

&gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:495
&gt; +        bool foundFvar = CTFontHasTable(font, kCTFontTableFvar);
&gt; +        foundStat = CTFontHasTable(font, kCTFontTableSTAT);
&gt; +        aatShaping = CTFontHasTable(font, kCTFontTableMorx) || CTFontHasTable(font, kCTFontTableMort);
&gt; +        openTypeShaping = CTFontHasTable(font, kCTFontTableGPOS) || CTFontHasTable(font, kCTFontTableGSUB);
&gt; +        foundTrak = CTFontHasTable(font, kCTFontTableTrak);

Are you sure that 7 calls to this function are fast enough?

&gt; Source/WebCore/platform/graphics/cocoa/FontCocoa.mm:67
&gt; +    return fontHasTable(font, kCTFontTableVhea) || fontHasTable(font, kCTFontTableVORG);

Is it OK that this now is twice as slow on older systems?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686272</commentid>
    <comment_count>13</comment_count>
      <attachid>408154</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-06 17:25:18 -0700</bug_when>
    <thetext>Created attachment 408154
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686273</commentid>
    <comment_count>14</comment_count>
      <attachid>408146</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-06 17:27:22 -0700</bug_when>
    <thetext>Comment on attachment 408146
Patch for committing

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

&gt;&gt; Source/WebCore/platform/graphics/Font.cpp:498
&gt;&gt; +        auto tag = static_cast&lt;CTFontTableTag&gt;(reinterpret_cast&lt;uintptr_t&gt;(CFArrayGetValueAtIndex(tableTags.get(), index)));
&gt; 
&gt; I don’t think the static_cast to CTFontTableTag here is needed.

See the obsoleted patches in this bug. I tried taking it out but the builds turned red.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686274</commentid>
    <comment_count>15</comment_count>
      <attachid>408146</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-06 17:31:56 -0700</bug_when>
    <thetext>Comment on attachment 408146
Patch for committing

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

&gt;&gt; Source/WebCore/platform/graphics/cocoa/FontCocoa.mm:67
&gt;&gt; +    return fontHasTable(font, kCTFontTableVhea) || fontHasTable(font, kCTFontTableVORG);
&gt; 
&gt; Is it OK that this now is twice as slow on older systems?

I don&apos;t have a benchmark (yet), but the idea is that asking a font if it has a particular table is O(1) instead of O(n) to iterate through all tables. Also, there doesn&apos;t have to be a CFArray allocation.

I can make a tiny microbenchmark to verify this intuition.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686285</commentid>
    <comment_count>16</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-06 18:01:21 -0700</bug_when>
    <thetext>Heyyyyy guess what? From creating a microbenchmark, it turns out CTFontHasTable() is slower than the loop! I&apos;ve filed &lt;rdar://problem/68438759&gt;

I&apos;ll modify this patch to always run the loop, but I&apos;ll keep the design where this stuff is centralized so that when that radar is fixed we can have a drop-in replacement. I guess I can make a second variation of the loop which looks for two tag names, also.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686288</commentid>
    <comment_count>17</comment_count>
      <attachid>408158</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-06 18:17:56 -0700</bug_when>
    <thetext>Created attachment 408158
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686289</commentid>
    <comment_count>18</comment_count>
      <attachid>408159</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-09-06 18:20:15 -0700</bug_when>
    <thetext>Created attachment 408159
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1686301</commentid>
    <comment_count>19</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-06 23:11:12 -0700</bug_when>
    <thetext>Committed r266692: &lt;https://trac.webkit.org/changeset/266692&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 408159.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406917</attachid>
            <date>2020-08-19 22:16:46 -0700</date>
            <delta_ts>2020-09-05 01:56:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215688-20200819221645.patch</filename>
            <type>text/plain</type>
            <size>9339</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1ODkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDIxOTQ2NjFjNmZkNjQxYmUyZDFhODI5
NGM0ZGUwMDA1YTE5ZjZlNmYuLjNiZjQyZDY4NDc5MGE4ZGY3MDExN2U1YzFhZTA5OTdhOWEyYzE3
NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDgtMTkgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIENURm9udEhhc1RhYmxlKCkg
aXMgZmFzdGVyIHRoYW4gaXRlcmF0aW5nIG92ZXIgZXZlcnkgdGFibGUgaW4gdGhlIGZvbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTY4OAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL1BsYXRm
b3JtVXNlLmg6CisKIDIwMjAtMDgtMTggIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBs
ZS5jb20+CiAKICAgICAgICAgVHVybiBvZmYgd2hlZWwgZXZlbnQgcmVnaW9ucyB1bnRpbCB3ZSBu
ZWVkIHRoZW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2MzBiZGU3OWZlNTk4OTgzYzcyNzMzZWZiNDQ4ZDJkNzg0
YzA2ZTFiLi4zMTZjNDZkZmEzZGQ3ZWQyYzIxNmRiMGQ4YWU3MDYyOTc3NDdkZmUyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjAtMDgtMTkgIE15bGVzIEMuIE1heGZpZWxkICA8bW1h
eGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIENURm9udEhhc1RhYmxlKCkgaXMg
ZmFzdGVyIHRoYW4gaXRlcmF0aW5nIG92ZXIgZXZlcnkgdGFibGUgaW4gdGhlIGZvbnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTY4OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIGNhbiBkaXJlY3Rs
eSBhc2sgQ29yZSBUZXh0IGZvciB0aGUgaW5mb3JtYXRpb24gd2UncmUgbG9va2luZyBmb3IuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZpb3IgY2hhbmdl
LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFR5cGU6OkZvbnRUeXBlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpm
b250SGFzVmVydGljYWxHbHlwaHMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW50
eXBlL09wZW5UeXBlQ0cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6T3BlblR5cGU6OmZvbnRIYXNN
YXRoVGFibGUpOgorCiAyMDIwLTA4LTE5ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBw
bGUuY29tPgogCiAgICAgICAgIFtpT1NdIFJlc3RvcmUgYSAxMF8xNV8qIHVzZXItYWdlbnQgc3Ry
aW5nIHdoZW4gcmVxdWVzdGluZyBkZXNrdG9wIHNpdGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4IDJj
MjVmNmRiMTZjODk1NTgyNDQzMWYwM2E5ZTAzOTQyY2JjODE1Y2EuLjMzNjk5NDQxNGQ3NWRhOWI2
NzZkMGZjOGRjODk3ZDI2YmU0ODZiYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsxLDEy
IEBACisyMDIwLTA4LTE5ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+
CisKKyAgICAgICAgW0NvY29hXSBDVEZvbnRIYXNUYWJsZSgpIGlzIGZhc3RlciB0aGFuIGl0ZXJh
dGluZyBvdmVyIGV2ZXJ5IHRhYmxlIGluIHRoZSBmb250CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTU2ODgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaDoK
KwogMjAyMC0wOC0xOSAgQWRpdHlhIEtlZXJ0aGkgIDxha2VlcnRoaUBhcHBsZS5jb20+CiAKICAg
ICAgICAgW21hY09TXSBNb3ZlIHN0ZXBwZXIgcGFpbnRpbmcgY29kZSBvZmYgb2YgQ2FyYm9uIEFQ
SQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaCBiL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtVXNlLmgKaW5kZXggYWRlNDJkZDEzOWYzYTlmNGFhZjQ3MzgyZTViMGQ2NGNi
ZjY4MWEwNS4uYjgwMGJhZTJiODA2NGY2MDQwYjE0ZDcwMGU4MzM2MjhlZmMzYjRkZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybVVzZS5oCkBAIC0zMDQsMyArMzA0LDcgQEAKICNpZiBQTEFURk9STShDT0NPQSkgJiYg
IShQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMTAw
MDApCiAjZGVmaW5lIFVTRV9DVEZPTlRTSEFQRUdMWVBIUyAxCiAjZW5kaWYKKworI2lmIFBMQVRG
T1JNKENPQ09BKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA8IDEwMTUwMCkKKyNkZWZpbmUgVVNFX0NURk9OVEhBU1RBQkxFIDEKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQ29yZVRleHRTUEku
aCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgKaW5kZXgg
YjIyOGY5YmM4MzI0ODMzNDk0YTBjNzgxODNiNGYyZTNiNTVhOWYxNi4uZTBmOTRhM2E0YTU2ODU1
NjBhMTA3MDgwNTJiMmFlZDJjZmRiMmI0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oCkBAIC0xNDEsNiArMTQxLDcgQEAgQ1RGb250UmVmIENU
Rm9udENyZWF0ZUZvckNTUyhDRlN0cmluZ1JlZiBuYW1lLCB1aW50MTZfdCB3ZWlnaHQsIENURm9u
dFN5bWJvbGljVHIKIENURm9udFJlZiBDVEZvbnRDcmVhdGVGb3JDaGFyYWN0ZXJzV2l0aExhbmd1
YWdlKENURm9udFJlZiBjdXJyZW50Rm9udCwgY29uc3QgVVRGMTZDaGFyICpjaGFyYWN0ZXJzLCBD
RkluZGV4IGxlbmd0aCwgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UsIENGSW5kZXggKmNvdmVyZWRMZW5n
dGgpOwogQ1RGb250UmVmIENURm9udENyZWF0ZUZvckNoYXJhY3RlcnNXaXRoTGFuZ3VhZ2VBbmRP
cHRpb24oQ1RGb250UmVmIGN1cnJlbnRGb250LCBjb25zdCBVVEYxNkNoYXIgKmNoYXJhY3RlcnMs
IENGSW5kZXggbGVuZ3RoLCBDRlN0cmluZ1JlZiBsYW5ndWFnZSwgQ1RGb250RmFsbGJhY2tPcHRp
b24gb3B0aW9uLCBDRkluZGV4ICpjb3ZlcmVkTGVuZ3RoKTsKIENURm9udFJlZiBDVEZvbnRDb3B5
UGh5c2ljYWxGb250KENURm9udFJlZik7Citib29sIENURm9udEhhc1RhYmxlKENURm9udFJlZiwg
Q1RGb250VGFibGVUYWcpOwogCiBleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4
dFN0eWxlU2hvcnRIZWFkbGluZTsKIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRU
ZXh0U3R5bGVTaG9ydEJvZHk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKaW5kZXggMzY0MGJmMzE2
YjdkYzE5ZmFmMjI3NzdhZWU1YmNkMGQxNDRhNzVmMC4uN2I4Mzg3MTIzNjcyMmNhMmRhNTgxYzhj
MGUxNzcxZThiNTQ4Mjk1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcApAQCAtNDg1LDExICs0
ODUsMjIgQEAgc3RhdGljIGlubGluZSBmbG9hdCBub3JtYWxpemVXaWR0aChmbG9hdCB2YWx1ZSkK
IHN0cnVjdCBGb250VHlwZSB7CiAgICAgRm9udFR5cGUoQ1RGb250UmVmIGZvbnQpCiAgICAgewor
ICAgICAgICBib29sIGZvdW5kU3RhdCA9IGZhbHNlOworICAgICAgICBib29sIGZvdW5kVHJhayA9
IGZhbHNlOworI2lmIFVTRShDVEZPTlRIQVNUQUJMRSkKKyAgICAgICAgYm9vbCBmb3VuZEZ2YXIg
PSBDVEZvbnRIYXNUYWJsZShmb250LCBrQ1RGb250VGFibGVGdmFyKTsKKyAgICAgICAgZm91bmRT
dGF0ID0gQ1RGb250SGFzVGFibGUoZm9udCwga0NURm9udFRhYmxlU1RBVCk7CisgICAgICAgIGFh
dFNoYXBpbmcgPSBDVEZvbnRIYXNUYWJsZShmb250LCBrQ1RGb250VGFibGVNb3J4KSB8fCBDVEZv
bnRIYXNUYWJsZShmb250LCBrQ1RGb250VGFibGVNb3J0KTsKKyAgICAgICAgb3BlblR5cGVTaGFw
aW5nID0gQ1RGb250SGFzVGFibGUoZm9udCwga0NURm9udFRhYmxlR1BPUykgfHwgQ1RGb250SGFz
VGFibGUoZm9udCwga0NURm9udFRhYmxlR1NVQik7CisgICAgICAgIGZvdW5kVHJhayA9IENURm9u
dEhhc1RhYmxlKGZvbnQsIGtDVEZvbnRUYWJsZVRyYWspOworICAgICAgICBpZiAoZm91bmRTdGF0
KQorICAgICAgICAgICAgdmFyaWF0aW9uVHlwZSA9IFZhcmlhdGlvblR5cGU6Ok9wZW5UeXBlMTg7
CisgICAgICAgIGVsc2UgaWYgKGZvdW5kRnZhcikKKyAgICAgICAgICAgIHZhcmlhdGlvblR5cGUg
PSBWYXJpYXRpb25UeXBlOjpUcnVlVHlwZUdYOworI2Vsc2UKICAgICAgICAgYXV0byB0YWJsZXMg
PSBhZG9wdENGKENURm9udENvcHlBdmFpbGFibGVUYWJsZXMoZm9udCwga0NURm9udFRhYmxlT3B0
aW9uTm9PcHRpb25zKSk7CiAgICAgICAgIGlmICghdGFibGVzKQogICAgICAgICAgICAgcmV0dXJu
OwotICAgICAgICBib29sIGZvdW5kU3RhdCA9IGZhbHNlOwotICAgICAgICBib29sIGZvdW5kVHJh
ayA9IGZhbHNlOwogICAgICAgICBhdXRvIHNpemUgPSBDRkFycmF5R2V0Q291bnQodGFibGVzLmdl
dCgpKTsKICAgICAgICAgZm9yIChDRkluZGV4IGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7CiAgICAg
ICAgICAgICAvLyBUaGlzIGlzIHNvIHl1Y2t5LgpAQCAtNDk4LDI3ICs1MDksMjggQEAgc3RydWN0
IEZvbnRUeXBlIHsKICAgICAgICAgICAgIC8vICJDVEZvbnRUYWJsZVRhZyB0YWcgPSAoQ1RGb250
VGFibGVUYWcpKHVpbnRwdHJfdClDRkFycmF5R2V0VmFsdWVBdEluZGV4KHRhZ3MsIGluZGV4KTsi
CiAgICAgICAgICAgICBDVEZvbnRUYWJsZVRhZyB0YWJsZVRhZyA9IHN0YXRpY19jYXN0PENURm9u
dFRhYmxlVGFnPihyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oQ0ZBcnJheUdldFZhbHVlQXRJ
bmRleCh0YWJsZXMuZ2V0KCksIGkpKSk7CiAgICAgICAgICAgICBzd2l0Y2ggKHRhYmxlVGFnKSB7
Ci0gICAgICAgICAgICBjYXNlICdmdmFyJzoKKyAgICAgICAgICAgIGNhc2Uga0NURm9udFRhYmxl
RnZhcjoKICAgICAgICAgICAgICAgICBpZiAodmFyaWF0aW9uVHlwZSA9PSBWYXJpYXRpb25UeXBl
OjpOb3RWYXJpYWJsZSkKICAgICAgICAgICAgICAgICAgICAgdmFyaWF0aW9uVHlwZSA9IFZhcmlh
dGlvblR5cGU6OlRydWVUeXBlR1g7CiAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICBjYXNlICdTVEFUJzoKKyAgICAgICAgICAgIGNhc2Uga0NURm9udFRhYmxlU1RBVDoKICAgICAg
ICAgICAgICAgICBmb3VuZFN0YXQgPSB0cnVlOwogICAgICAgICAgICAgICAgIHZhcmlhdGlvblR5
cGUgPSBWYXJpYXRpb25UeXBlOjpPcGVuVHlwZTE4OwogICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgY2FzZSAnbW9yeCc6Ci0gICAgICAgICAgICBjYXNlICdtb3J0JzoKKyAgICAg
ICAgICAgIGNhc2Uga0NURm9udFRhYmxlTW9yeDoKKyAgICAgICAgICAgIGNhc2Uga0NURm9udFRh
YmxlTW9ydDoKICAgICAgICAgICAgICAgICBhYXRTaGFwaW5nID0gdHJ1ZTsKICAgICAgICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgJ0dQT1MnOgotICAgICAgICAgICAgY2FzZSAn
R1NVQic6CisgICAgICAgICAgICBjYXNlIGtDVEZvbnRUYWJsZUdQT1M6CisgICAgICAgICAgICBj
YXNlIGtDVEZvbnRUYWJsZUdTVUI6CiAgICAgICAgICAgICAgICAgb3BlblR5cGVTaGFwaW5nID0g
dHJ1ZTsKICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgJ3RyYWsnOgor
ICAgICAgICAgICAgY2FzZSBrQ1RGb250VGFibGVUcmFrOgogICAgICAgICAgICAgICAgIGZvdW5k
VHJhayA9IHRydWU7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KKyNlbmRpZgogICAgICAgICBpZiAoZm91bmRTdGF0ICYmIGZvdW5kVHJhaykKICAgICAg
ICAgICAgIHRyYWNraW5nVHlwZSA9IFRyYWNraW5nVHlwZTo6QXV0b21hdGljOwogICAgICAgICBl
bHNlIGlmIChmb3VuZFRyYWspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jb2NvYS9Gb250Q29jb2EubW0KaW5kZXggOTNmYjAwMDRlMmQwNGFhNzU5MzNhMWJkMWNi
N2JjOGI4MTdmNWNjNC4uNzRmYzdiZDFkYWRhZjIzMDE0ZTRmYjJjZjUwOTEwNDQ4ZmY3NDE2YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENv
Y29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRD
b2NvYS5tbQpAQCAtNjQsMTcgKzY0LDIxIEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBjYXNlSW5zZW5z
aXRpdmVDb21wYXJlKENGU3RyaW5nUmVmIGEsIENGU3RyaW5nUmVmIGIpCiAKIHN0YXRpYyBib29s
IGZvbnRIYXNWZXJ0aWNhbEdseXBocyhDVEZvbnRSZWYgY3RGb250KQogeworI2lmIFVTRShDVEZP
TlRIQVNUQUJMRSkKKyAgICByZXR1cm4gQ1RGb250SGFzVGFibGUoY3RGb250LCBrQ1RGb250VGFi
bGVWaGVhKSB8fCBDVEZvbnRIYXNUYWJsZShjdEZvbnQsIGtDVEZvbnRUYWJsZVZPUkcpOworI2Vs
c2UKICAgICAvLyBUaGUgY2hlY2sgZG9lc24ndCBsb29rIG5lYXQgYnV0IHRoaXMgaXMgd2hhdCBB
cHBLaXQgZG9lcyBmb3IgdmVydGljYWwgd3JpdGluZy4uLgogICAgIFJldGFpblB0cjxDRkFycmF5
UmVmPiB0YWJsZVRhZ3MgPSBhZG9wdENGKENURm9udENvcHlBdmFpbGFibGVUYWJsZXMoY3RGb250
LCBrQ1RGb250VGFibGVPcHRpb25Ob09wdGlvbnMpKTsKICAgICBpZiAoIXRhYmxlVGFncykKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIENGSW5kZXggbnVtVGFibGVzID0gQ0ZBcnJheUdldENv
dW50KHRhYmxlVGFncy5nZXQoKSk7CiAgICAgZm9yIChDRkluZGV4IGluZGV4ID0gMDsgaW5kZXgg
PCBudW1UYWJsZXM7ICsraW5kZXgpIHsKLSAgICAgICAgQ1RGb250VGFibGVUYWcgdGFnID0gKENU
Rm9udFRhYmxlVGFnKSh1aW50cHRyX3QpQ0ZBcnJheUdldFZhbHVlQXRJbmRleCh0YWJsZVRhZ3Mu
Z2V0KCksIGluZGV4KTsKKyAgICAgICAgQ1RGb250VGFibGVUYWcgdGFnID0gc3RhdGljX2Nhc3Q8
Q1RGb250VGFibGVUYWc+KHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihDRkFycmF5R2V0VmFs
dWVBdEluZGV4KHRhYmxlVGFncy5nZXQoKSwgaW5kZXgpKSk7CiAgICAgICAgIGlmICh0YWcgPT0g
a0NURm9udFRhYmxlVmhlYSB8fCB0YWcgPT0ga0NURm9udFRhYmxlVk9SRykKICAgICAgICAgICAg
IHJldHVybiB0cnVlOwogICAgIH0KICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKIH0KIAogI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9vcGVudHlwZS9PcGVuVHlwZUNHLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3BwCmluZGV4IGUxYjU2ZmFiNDRhNzI5
Zjc3MGJhOWZlODI2YTg3ZTVmZTFmZGE1OGIuLjY4Mzc4YTU4OTZmMmZmMjZhMThkZTI3YzM5OWFh
NTliMjFjNDA1M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L29wZW50eXBlL09wZW5UeXBlQ0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3BwCkBAIC0zNywxNiArMzcsMjAgQEAgc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIGxvbmcga0NURm9udFRhYmxlT1MyID0gJ09TLzInOwogCiBib29sIGZv
bnRIYXNNYXRoVGFibGUoQ1RGb250UmVmIGN0Rm9udCkKIHsKKyNpZiBVU0UoQ1RGT05USEFTVEFC
TEUpCisgICAgcmV0dXJuIENURm9udEhhc1RhYmxlKGN0Rm9udCwga0NURm9udFRhYmxlTUFUSCk7
CisjZWxzZQogICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiB0YWJsZVRhZ3MgPSBhZG9wdENGKENU
Rm9udENvcHlBdmFpbGFibGVUYWJsZXMoY3RGb250LCBrQ1RGb250VGFibGVPcHRpb25Ob09wdGlv
bnMpKTsKICAgICBpZiAoIXRhYmxlVGFncykKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIENG
SW5kZXggbnVtVGFibGVzID0gQ0ZBcnJheUdldENvdW50KHRhYmxlVGFncy5nZXQoKSk7CiAgICAg
Zm9yIChDRkluZGV4IGluZGV4ID0gMDsgaW5kZXggPCBudW1UYWJsZXM7ICsraW5kZXgpIHsKLSAg
ICAgICAgQ1RGb250VGFibGVUYWcgdGFnID0gKENURm9udFRhYmxlVGFnKSh1aW50cHRyX3QpQ0ZB
cnJheUdldFZhbHVlQXRJbmRleCh0YWJsZVRhZ3MuZ2V0KCksIGluZGV4KTsKLSAgICAgICAgaWYg
KHRhZyA9PSAnTUFUSCcpCisgICAgICAgIENURm9udFRhYmxlVGFnIHRhZyA9IHN0YXRpY19jYXN0
PENURm9udFRhYmxlVGFnPihyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oQ0ZBcnJheUdldFZh
bHVlQXRJbmRleCh0YWJsZVRhZ3MuZ2V0KCksIGluZGV4KSkpOworICAgICAgICBpZiAodGFnID09
IGtDVEZvbnRUYWJsZU1BVEgpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAg
cmV0dXJuIGZhbHNlOworI2VuZGlmCiB9CiAKIHN0YXRpYyBpbmxpbmUgc2hvcnQgcmVhZFNob3J0
RnJvbVRhYmxlKGNvbnN0IFVJbnQ4KiBvczJEYXRhLCBDRkluZGV4IG9mZnNldCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408077</attachid>
            <date>2020-09-05 01:56:40 -0700</date>
            <delta_ts>2020-09-05 08:51:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215688-20200905015639.patch</filename>
            <type>text/plain</type>
            <size>9460</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NjU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZjY2Q1NDFhMDhiZjY0Mzc5Yjg3OTM0
NzZlYTRhN2I5NDJhM2Y5NDIuLjRlNjMyODVjZTU3ZjZiOGFlN2FkNTRhNTNmODBkZTczMWNiZTVl
YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDktMDUgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIENURm9udEhhc1RhYmxlKCkg
aXMgZmFzdGVyIHRoYW4gaXRlcmF0aW5nIG92ZXIgZXZlcnkgdGFibGUgaW4gdGhlIGZvbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTY4OAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL1BsYXRm
b3JtVXNlLmg6CisKIDIwMjAtMDktMDQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5A
d2Via2l0Lm9yZz4KIAogICAgICAgICBNb3ZlIFBERiBoZWFkcy11cCBkaXNwbGF5IHRvIFVJIHBy
b2Nlc3Mgb24gbWFjT1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmOWI2MmU1OGY4Y2IyZGM3MzYzMTdmYWFlYWU4
YjMzMjYzYmI1NGZhLi5iYjVlNDQzMTAzYWYzNDBiMjJiNzQ3NTQ4ZDYyNzc4ZGFmNzQ5Y2IwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjAtMDktMDUgIE15bGVzIEMuIE1heGZpZWxk
ICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIENURm9udEhhc1RhYmxl
KCkgaXMgZmFzdGVyIHRoYW4gaXRlcmF0aW5nIG92ZXIgZXZlcnkgdGFibGUgaW4gdGhlIGZvbnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTY4OAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIGNhbiBk
aXJlY3RseSBhc2sgQ29yZSBUZXh0IGZvciB0aGUgaW5mb3JtYXRpb24gd2UncmUgbG9va2luZyBm
b3IuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZpb3Ig
Y2hhbmdlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29y
ZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFR5cGU6OkZvbnRUeXBlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW06CisgICAgICAgIChXZWJD
b3JlOjpmb250SGFzVmVydGljYWxHbHlwaHMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L29wZW50eXBlL09wZW5UeXBlQ0cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6T3BlblR5cGU6OmZv
bnRIYXNNYXRoVGFibGUpOgorCiAyMDIwLTA5LTA1ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhm
aWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IHRoZSBidWlsZCBhZnRlciByMjY2NjE0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
UEFML0NoYW5nZUxvZwppbmRleCBhZTIyMmIzYzA5NTg3MGM5NDU2M2NiOGNjNzVhNTYwYzYwMDM4
NmY1Li40MDAwYmU2NzJlZGVhOWFkN2JiOTgzN2RlMTkyNTgwMTYzY2M0MjIxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMC0wOS0wNSAgTXlsZXMgQy4gTWF4ZmllbGQg
IDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gQ1RGb250SGFzVGFibGUo
KSBpcyBmYXN0ZXIgdGhhbiBpdGVyYXRpbmcgb3ZlciBldmVyeSB0YWJsZSBpbiB0aGUgZm9udAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1Njg4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwYWwvc3Bp
L2NvY29hL0NvcmVUZXh0U1BJLmg6CisKIDIwMjAtMDktMDQgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CiAKICAgICAgICAgV2VicGFnZXMgZmxhc2ggd2hlbiBzd2l0Y2hpbmcgYmV0
d2VlbiB3aW5kb3dzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5oIGIv
U291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2UuaAppbmRleCBhZGU0MmRkMTM5ZjNhOWY0YWFmNDcz
ODJlNWIwZDY0Y2JmNjgxYTA1Li5iODAwYmFlMmI4MDY0ZjYwNDBiMTRkNzAwZTgzMzYyOGVmYzNi
NGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZS5oCisrKyBiL1NvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtVXNlLmgKQEAgLTMwNCwzICszMDQsNyBAQAogI2lmIFBMQVRGT1JN
KENPQ09BKSAmJiAhKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA8IDExMDAwMCkKICNkZWZpbmUgVVNFX0NURk9OVFNIQVBFR0xZUEhTIDEKICNlbmRpZgor
CisjaWYgUExBVEZPUk0oQ09DT0EpICYmICEoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwKQorI2RlZmluZSBVU0VfQ1RGT05USEFTVEFCTEUg
MQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9D
b3JlVGV4dFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQ29yZVRleHRT
UEkuaAppbmRleCBiMjI4ZjliYzgzMjQ4MzM0OTRhMGM3ODE4M2I0ZjJlM2I1NWE5ZjE2Li5lMGY5
NGEzYTRhNTY4NTU2MGExMDcwODA1MmIyYWVkMmNmZGIyYjQxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgKQEAgLTE0MSw2ICsxNDEsNyBAQCBD
VEZvbnRSZWYgQ1RGb250Q3JlYXRlRm9yQ1NTKENGU3RyaW5nUmVmIG5hbWUsIHVpbnQxNl90IHdl
aWdodCwgQ1RGb250U3ltYm9saWNUcgogQ1RGb250UmVmIENURm9udENyZWF0ZUZvckNoYXJhY3Rl
cnNXaXRoTGFuZ3VhZ2UoQ1RGb250UmVmIGN1cnJlbnRGb250LCBjb25zdCBVVEYxNkNoYXIgKmNo
YXJhY3RlcnMsIENGSW5kZXggbGVuZ3RoLCBDRlN0cmluZ1JlZiBsYW5ndWFnZSwgQ0ZJbmRleCAq
Y292ZXJlZExlbmd0aCk7CiBDVEZvbnRSZWYgQ1RGb250Q3JlYXRlRm9yQ2hhcmFjdGVyc1dpdGhM
YW5ndWFnZUFuZE9wdGlvbihDVEZvbnRSZWYgY3VycmVudEZvbnQsIGNvbnN0IFVURjE2Q2hhciAq
Y2hhcmFjdGVycywgQ0ZJbmRleCBsZW5ndGgsIENGU3RyaW5nUmVmIGxhbmd1YWdlLCBDVEZvbnRG
YWxsYmFja09wdGlvbiBvcHRpb24sIENGSW5kZXggKmNvdmVyZWRMZW5ndGgpOwogQ1RGb250UmVm
IENURm9udENvcHlQaHlzaWNhbEZvbnQoQ1RGb250UmVmKTsKK2Jvb2wgQ1RGb250SGFzVGFibGUo
Q1RGb250UmVmLCBDVEZvbnRUYWJsZVRhZyk7CiAKIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBr
Q1RVSUZvbnRUZXh0U3R5bGVTaG9ydEhlYWRsaW5lOwogZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVm
IGtDVFVJRm9udFRleHRTdHlsZVNob3J0Qm9keTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcAppbmRl
eCAzNjQwYmYzMTZiN2RjMTlmYWYyMjc3N2FlZTViY2QwZDE0NGE3NWYwLi43YjgzODcxMjM2NzIy
Y2EyZGE1ODFjOGMwZTE3NzFlOGI1NDgyOTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwCkBA
IC00ODUsMTEgKzQ4NSwyMiBAQCBzdGF0aWMgaW5saW5lIGZsb2F0IG5vcm1hbGl6ZVdpZHRoKGZs
b2F0IHZhbHVlKQogc3RydWN0IEZvbnRUeXBlIHsKICAgICBGb250VHlwZShDVEZvbnRSZWYgZm9u
dCkKICAgICB7CisgICAgICAgIGJvb2wgZm91bmRTdGF0ID0gZmFsc2U7CisgICAgICAgIGJvb2wg
Zm91bmRUcmFrID0gZmFsc2U7CisjaWYgVVNFKENURk9OVEhBU1RBQkxFKQorICAgICAgICBib29s
IGZvdW5kRnZhciA9IENURm9udEhhc1RhYmxlKGZvbnQsIGtDVEZvbnRUYWJsZUZ2YXIpOworICAg
ICAgICBmb3VuZFN0YXQgPSBDVEZvbnRIYXNUYWJsZShmb250LCBrQ1RGb250VGFibGVTVEFUKTsK
KyAgICAgICAgYWF0U2hhcGluZyA9IENURm9udEhhc1RhYmxlKGZvbnQsIGtDVEZvbnRUYWJsZU1v
cngpIHx8IENURm9udEhhc1RhYmxlKGZvbnQsIGtDVEZvbnRUYWJsZU1vcnQpOworICAgICAgICBv
cGVuVHlwZVNoYXBpbmcgPSBDVEZvbnRIYXNUYWJsZShmb250LCBrQ1RGb250VGFibGVHUE9TKSB8
fCBDVEZvbnRIYXNUYWJsZShmb250LCBrQ1RGb250VGFibGVHU1VCKTsKKyAgICAgICAgZm91bmRU
cmFrID0gQ1RGb250SGFzVGFibGUoZm9udCwga0NURm9udFRhYmxlVHJhayk7CisgICAgICAgIGlm
IChmb3VuZFN0YXQpCisgICAgICAgICAgICB2YXJpYXRpb25UeXBlID0gVmFyaWF0aW9uVHlwZTo6
T3BlblR5cGUxODsKKyAgICAgICAgZWxzZSBpZiAoZm91bmRGdmFyKQorICAgICAgICAgICAgdmFy
aWF0aW9uVHlwZSA9IFZhcmlhdGlvblR5cGU6OlRydWVUeXBlR1g7CisjZWxzZQogICAgICAgICBh
dXRvIHRhYmxlcyA9IGFkb3B0Q0YoQ1RGb250Q29weUF2YWlsYWJsZVRhYmxlcyhmb250LCBrQ1RG
b250VGFibGVPcHRpb25Ob09wdGlvbnMpKTsKICAgICAgICAgaWYgKCF0YWJsZXMpCiAgICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgIGJvb2wgZm91bmRTdGF0ID0gZmFsc2U7Ci0gICAgICAgIGJv
b2wgZm91bmRUcmFrID0gZmFsc2U7CiAgICAgICAgIGF1dG8gc2l6ZSA9IENGQXJyYXlHZXRDb3Vu
dCh0YWJsZXMuZ2V0KCkpOwogICAgICAgICBmb3IgKENGSW5kZXggaSA9IDA7IGkgPCBzaXplOyAr
K2kpIHsKICAgICAgICAgICAgIC8vIFRoaXMgaXMgc28geXVja3kuCkBAIC00OTgsMjcgKzUwOSwy
OCBAQCBzdHJ1Y3QgRm9udFR5cGUgewogICAgICAgICAgICAgLy8gIkNURm9udFRhYmxlVGFnIHRh
ZyA9IChDVEZvbnRUYWJsZVRhZykodWludHB0cl90KUNGQXJyYXlHZXRWYWx1ZUF0SW5kZXgodGFn
cywgaW5kZXgpOyIKICAgICAgICAgICAgIENURm9udFRhYmxlVGFnIHRhYmxlVGFnID0gc3RhdGlj
X2Nhc3Q8Q1RGb250VGFibGVUYWc+KHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihDRkFycmF5
R2V0VmFsdWVBdEluZGV4KHRhYmxlcy5nZXQoKSwgaSkpKTsKICAgICAgICAgICAgIHN3aXRjaCAo
dGFibGVUYWcpIHsKLSAgICAgICAgICAgIGNhc2UgJ2Z2YXInOgorICAgICAgICAgICAgY2FzZSBr
Q1RGb250VGFibGVGdmFyOgogICAgICAgICAgICAgICAgIGlmICh2YXJpYXRpb25UeXBlID09IFZh
cmlhdGlvblR5cGU6Ok5vdFZhcmlhYmxlKQogICAgICAgICAgICAgICAgICAgICB2YXJpYXRpb25U
eXBlID0gVmFyaWF0aW9uVHlwZTo6VHJ1ZVR5cGVHWDsKICAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgIGNhc2UgJ1NUQVQnOgorICAgICAgICAgICAgY2FzZSBrQ1RGb250VGFibGVT
VEFUOgogICAgICAgICAgICAgICAgIGZvdW5kU3RhdCA9IHRydWU7CiAgICAgICAgICAgICAgICAg
dmFyaWF0aW9uVHlwZSA9IFZhcmlhdGlvblR5cGU6Ok9wZW5UeXBlMTg7CiAgICAgICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICdtb3J4JzoKLSAgICAgICAgICAgIGNhc2UgJ21v
cnQnOgorICAgICAgICAgICAgY2FzZSBrQ1RGb250VGFibGVNb3J4OgorICAgICAgICAgICAgY2Fz
ZSBrQ1RGb250VGFibGVNb3J0OgogICAgICAgICAgICAgICAgIGFhdFNoYXBpbmcgPSB0cnVlOwog
ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAnR1BPUyc6Ci0gICAgICAg
ICAgICBjYXNlICdHU1VCJzoKKyAgICAgICAgICAgIGNhc2Uga0NURm9udFRhYmxlR1BPUzoKKyAg
ICAgICAgICAgIGNhc2Uga0NURm9udFRhYmxlR1NVQjoKICAgICAgICAgICAgICAgICBvcGVuVHlw
ZVNoYXBpbmcgPSB0cnVlOwogICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2Fz
ZSAndHJhayc6CisgICAgICAgICAgICBjYXNlIGtDVEZvbnRUYWJsZVRyYWs6CiAgICAgICAgICAg
ICAgICAgZm91bmRUcmFrID0gdHJ1ZTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgIH0KICAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGlmIChmb3VuZFN0YXQgJiYgZm91bmRU
cmFrKQogICAgICAgICAgICAgdHJhY2tpbmdUeXBlID0gVHJhY2tpbmdUeXBlOjpBdXRvbWF0aWM7
CiAgICAgICAgIGVsc2UgaWYgKGZvdW5kVHJhaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbQppbmRleCA5M2ZiMDAwNGUyZDA0YWE3
NTkzM2ExYmQxY2I3YmM4YjgxN2Y1Y2M0Li43NGZjN2JkMWRhZGFmMjMwMTRlNGZiMmNmNTA5MTA0
NDhmZjc0MTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9Gb250Q29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvRm9udENvY29hLm1tCkBAIC02NCwxNyArNjQsMjEgQEAgc3RhdGljIGlubGluZSBib29s
IGNhc2VJbnNlbnNpdGl2ZUNvbXBhcmUoQ0ZTdHJpbmdSZWYgYSwgQ0ZTdHJpbmdSZWYgYikKIAog
c3RhdGljIGJvb2wgZm9udEhhc1ZlcnRpY2FsR2x5cGhzKENURm9udFJlZiBjdEZvbnQpCiB7Cisj
aWYgVVNFKENURk9OVEhBU1RBQkxFKQorICAgIHJldHVybiBDVEZvbnRIYXNUYWJsZShjdEZvbnQs
IGtDVEZvbnRUYWJsZVZoZWEpIHx8IENURm9udEhhc1RhYmxlKGN0Rm9udCwga0NURm9udFRhYmxl
Vk9SRyk7CisjZWxzZQogICAgIC8vIFRoZSBjaGVjayBkb2Vzbid0IGxvb2sgbmVhdCBidXQgdGhp
cyBpcyB3aGF0IEFwcEtpdCBkb2VzIGZvciB2ZXJ0aWNhbCB3cml0aW5nLi4uCiAgICAgUmV0YWlu
UHRyPENGQXJyYXlSZWY+IHRhYmxlVGFncyA9IGFkb3B0Q0YoQ1RGb250Q29weUF2YWlsYWJsZVRh
YmxlcyhjdEZvbnQsIGtDVEZvbnRUYWJsZU9wdGlvbk5vT3B0aW9ucykpOwogICAgIGlmICghdGFi
bGVUYWdzKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgQ0ZJbmRleCBudW1UYWJsZXMgPSBD
RkFycmF5R2V0Q291bnQodGFibGVUYWdzLmdldCgpKTsKICAgICBmb3IgKENGSW5kZXggaW5kZXgg
PSAwOyBpbmRleCA8IG51bVRhYmxlczsgKytpbmRleCkgewotICAgICAgICBDVEZvbnRUYWJsZVRh
ZyB0YWcgPSAoQ1RGb250VGFibGVUYWcpKHVpbnRwdHJfdClDRkFycmF5R2V0VmFsdWVBdEluZGV4
KHRhYmxlVGFncy5nZXQoKSwgaW5kZXgpOworICAgICAgICBDVEZvbnRUYWJsZVRhZyB0YWcgPSBz
dGF0aWNfY2FzdDxDVEZvbnRUYWJsZVRhZz4ocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KENG
QXJyYXlHZXRWYWx1ZUF0SW5kZXgodGFibGVUYWdzLmdldCgpLCBpbmRleCkpKTsKICAgICAgICAg
aWYgKHRhZyA9PSBrQ1RGb250VGFibGVWaGVhIHx8IHRhZyA9PSBrQ1RGb250VGFibGVWT1JHKQog
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgIHJldHVybiBmYWxzZTsKKyNlbmRp
ZgogfQogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVDRy5jcHAKaW5kZXggZTFi
NTZmYWI0NGE3MjlmNzcwYmE5ZmU4MjZhODdlNWZlMWZkYTU4Yi4uMGFkOTNiMTVlMmE3NjdmNDVl
ZTAxOTg4ZDYyZDNjNjBmN2U5OWFjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVDRy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVDRy5jcHAKQEAgLTI4LDYgKzI4LDEw
IEBACiAKICNpbmNsdWRlICJPcGVuVHlwZVR5cGVzLmgiCiAKKyNpZiBQTEFURk9STShDT0NPQSkK
KyNpbmNsdWRlIDxwYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmg+CisjZW5kaWYKKwogbmFtZXNw
YWNlIFdlYkNvcmUgewogbmFtZXNwYWNlIE9wZW5UeXBlIHsKIApAQCAtMzcsMTYgKzQxLDIwIEBA
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBsb25nIGtDVEZvbnRUYWJsZU9TMiA9ICdPUy8yJzsKIAog
Ym9vbCBmb250SGFzTWF0aFRhYmxlKENURm9udFJlZiBjdEZvbnQpCiB7CisjaWYgVVNFKENURk9O
VEhBU1RBQkxFKQorICAgIHJldHVybiBDVEZvbnRIYXNUYWJsZShjdEZvbnQsIGtDVEZvbnRUYWJs
ZU1BVEgpOworI2Vsc2UKICAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gdGFibGVUYWdzID0gYWRv
cHRDRihDVEZvbnRDb3B5QXZhaWxhYmxlVGFibGVzKGN0Rm9udCwga0NURm9udFRhYmxlT3B0aW9u
Tm9PcHRpb25zKSk7CiAgICAgaWYgKCF0YWJsZVRhZ3MpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
ICAgICBDRkluZGV4IG51bVRhYmxlcyA9IENGQXJyYXlHZXRDb3VudCh0YWJsZVRhZ3MuZ2V0KCkp
OwogICAgIGZvciAoQ0ZJbmRleCBpbmRleCA9IDA7IGluZGV4IDwgbnVtVGFibGVzOyArK2luZGV4
KSB7Ci0gICAgICAgIENURm9udFRhYmxlVGFnIHRhZyA9IChDVEZvbnRUYWJsZVRhZykodWludHB0
cl90KUNGQXJyYXlHZXRWYWx1ZUF0SW5kZXgodGFibGVUYWdzLmdldCgpLCBpbmRleCk7Ci0gICAg
ICAgIGlmICh0YWcgPT0gJ01BVEgnKQorICAgICAgICBDVEZvbnRUYWJsZVRhZyB0YWcgPSBzdGF0
aWNfY2FzdDxDVEZvbnRUYWJsZVRhZz4ocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KENGQXJy
YXlHZXRWYWx1ZUF0SW5kZXgodGFibGVUYWdzLmdldCgpLCBpbmRleCkpKTsKKyAgICAgICAgaWYg
KHRhZyA9PSBrQ1RGb250VGFibGVNQVRIKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
fQogICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgogfQogCiBzdGF0aWMgaW5saW5lIHNob3J0IHJl
YWRTaG9ydEZyb21UYWJsZShjb25zdCBVSW50OCogb3MyRGF0YSwgQ0ZJbmRleCBvZmZzZXQpCg==
</data>
<flag name="review"
          id="423450"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408089</attachid>
            <date>2020-09-05 11:11:41 -0700</date>
            <delta_ts>2020-09-05 11:30:25 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-215688-20200905111140.patch</filename>
            <type>text/plain</type>
            <size>10531</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NjY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZjY2Q1NDFhMDhiZjY0Mzc5Yjg3OTM0
NzZlYTRhN2I5NDJhM2Y5NDIuLjlmYmRhNmEzY2FjZTY1M2Q5NThlZTc1NWFmZjhiZmYzOWM3Y2Yw
YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDktMDUgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIENURm9udEhhc1RhYmxlKCkg
aXMgZmFzdGVyIHRoYW4gaXRlcmF0aW5nIG92ZXIgZXZlcnkgdGFibGUgaW4gdGhlIGZvbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTY4OAorCisg
ICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICogd3RmL1BsYXRmb3Jt
VXNlLmg6CisKIDIwMjAtMDktMDQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBNb3ZlIFBERiBoZWFkcy11cCBkaXNwbGF5IHRvIFVJIHByb2Nl
c3Mgb24gbWFjT1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiNGQwNjA1Mzg5YmE5ZjFiMDEwNDBjYjljZjI1ZDk5
MTkxNzAyZWFlLi4yYjU5MWU0OGMxZTRlMTgyMDMxMjJiODk2ZDdiODA0ZDU0ZWFiYTNiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjAtMDktMDUgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIENURm9udEhhc1RhYmxlKCkg
aXMgZmFzdGVyIHRoYW4gaXRlcmF0aW5nIG92ZXIgZXZlcnkgdGFibGUgaW4gdGhlIGZvbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTY4OAorCisg
ICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFdlIGNhbiBkaXJlY3Rs
eSBhc2sgQ29yZSBUZXh0IGZvciB0aGUgaW5mb3JtYXRpb24gd2UncmUgbG9va2luZyBmb3IuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZpb3IgY2hhbmdl
LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFR5cGU6OkZvbnRUeXBlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpm
b250SGFzVmVydGljYWxHbHlwaHMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW50
eXBlL09wZW5UeXBlQ0cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6T3BlblR5cGU6OmZvbnRIYXNN
YXRoVGFibGUpOgorCiAyMDIwLTA5LTA1ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBh
cHBsZS5jb20+CiAKICAgICAgICAgW21hY09TXSBEb24ndCBhcHBseSBzeW50aGV0aWMgYm9sZCBv
ciBpdGFsaWNzIHRvIGVtb2ppCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBhZTIyMmIzYzA5NTg3MGM5
NDU2M2NiOGNjNzVhNTYwYzYwMDM4NmY1Li5jN2QzNTUyYTZlMWJlMmY3MjM1YWEyZTMzYTc2MjEy
NGE4ZDhkZjhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMC0wOS0w
NSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtD
b2NvYV0gQ1RGb250SGFzVGFibGUoKSBpcyBmYXN0ZXIgdGhhbiBpdGVyYXRpbmcgb3ZlciBldmVy
eSB0YWJsZSBpbiB0aGUgZm9udAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE1Njg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisK
KyAgICAgICAgKiBwYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmg6CisKIDIwMjAtMDktMDQgIFNp
aHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CiAKICAgICAgICAgV2VicGFnZXMgZmxhc2gg
d2hlbiBzd2l0Y2hpbmcgYmV0d2VlbiB3aW5kb3dzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybUhhdmUuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCmluZGV4IDU4
NDNjNzhkZjc2NmFmZDI3NTk2YWY1MmUxMmE2OTg0OTU5YjEyYjEuLjc3ZTFiYzAxOTQxNzZiM2Ni
MmY1YTAzMWZkYWU0ZGZjNGI4OWIxMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtSGF2ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCkBAIC03MzIsMyAr
NzMyLDcgQEAKICAgICB8fCAoUExBVEZPUk0oQVBQTEVUVikgJiYgX19UVl9PU19WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxNDAwMDApCiAjZGVmaW5lIEhBVkVfQ0ZORVRXT1JLX0NOQU1FX0FORF9D
T09LSUVfVFJBTlNGT1JNX1NQSSAxCiAjZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAh
KFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUw
MCkKKyNkZWZpbmUgSEFWRV9DVEZPTlRIQVNUQUJMRSAxCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmggYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oCmluZGV4IGIyMjhmOWJjODMyNDgz
MzQ5NGEwYzc4MTgzYjRmMmUzYjU1YTlmMTYuLmUwZjk0YTNhNGE1Njg1NTYwYTEwNzA4MDUyYjJh
ZWQyY2ZkYjJiNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29h
L0NvcmVUZXh0U1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQ29y
ZVRleHRTUEkuaApAQCAtMTQxLDYgKzE0MSw3IEBAIENURm9udFJlZiBDVEZvbnRDcmVhdGVGb3JD
U1MoQ0ZTdHJpbmdSZWYgbmFtZSwgdWludDE2X3Qgd2VpZ2h0LCBDVEZvbnRTeW1ib2xpY1RyCiBD
VEZvbnRSZWYgQ1RGb250Q3JlYXRlRm9yQ2hhcmFjdGVyc1dpdGhMYW5ndWFnZShDVEZvbnRSZWYg
Y3VycmVudEZvbnQsIGNvbnN0IFVURjE2Q2hhciAqY2hhcmFjdGVycywgQ0ZJbmRleCBsZW5ndGgs
IENGU3RyaW5nUmVmIGxhbmd1YWdlLCBDRkluZGV4ICpjb3ZlcmVkTGVuZ3RoKTsKIENURm9udFJl
ZiBDVEZvbnRDcmVhdGVGb3JDaGFyYWN0ZXJzV2l0aExhbmd1YWdlQW5kT3B0aW9uKENURm9udFJl
ZiBjdXJyZW50Rm9udCwgY29uc3QgVVRGMTZDaGFyICpjaGFyYWN0ZXJzLCBDRkluZGV4IGxlbmd0
aCwgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UsIENURm9udEZhbGxiYWNrT3B0aW9uIG9wdGlvbiwgQ0ZJ
bmRleCAqY292ZXJlZExlbmd0aCk7CiBDVEZvbnRSZWYgQ1RGb250Q29weVBoeXNpY2FsRm9udChD
VEZvbnRSZWYpOworYm9vbCBDVEZvbnRIYXNUYWJsZShDVEZvbnRSZWYsIENURm9udFRhYmxlVGFn
KTsKIAogZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZVNob3J0SGVh
ZGxpbmU7CiBleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlU2hvcnRC
b2R5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCmluZGV4IDhlYzMzODBk
N2I3ZTQ1YzBkMTFlN2M4YzRlZjcyMWY2OWViMjVmMGYuLjk0MjFjYTJjYThhZmExM2I3Y2JiMmQ4
OTdkYzkzYTQ0MzRiMDZhYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
LmgKQEAgLTY0LDYgKzY0LDEwIEBAIGVudW0gRm9udFZhcmlhbnQgeyBBdXRvVmFyaWFudCwgTm9y
bWFsVmFyaWFudCwgU21hbGxDYXBzVmFyaWFudCwgRW1waGFzaXNNYXJrVmFyCiBlbnVtIFBpdGNo
IHsgVW5rbm93blBpdGNoLCBGaXhlZFBpdGNoLCBWYXJpYWJsZVBpdGNoIH07CiBlbnVtIGNsYXNz
IElzRm9yUGxhdGZvcm1Gb250IDogdWludDhfdCB7IE5vLCBZZXMgfTsKIAorI2lmIFBMQVRGT1JN
KENPQ09BKQorYm9vbCBmb250SGFzVGFibGUoQ1RGb250UmVmLCB1bnNpZ25lZCB0YWJsZVRhZyk7
CisjZW5kaWYKKwogREVDTEFSRV9BTExPQ0FUT1JfV0lUSF9IRUFQX0lERU5USUZJRVIoRm9udCk7
CiBjbGFzcyBGb250IDogcHVibGljIFJlZkNvdW50ZWQ8Rm9udD4gewogICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEX1dJVEhfSEVBUF9JREVOVElGSUVSKEZvbnQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRl
eHQuY3BwCmluZGV4IDkzYjI2OWNhOTRkOTU0NmQxNGZkZWZhYWFkZWE4ZTJmZjY1M2I4MWMuLmJj
MGQ0M2Y0ZjcwMWE2N2Y0NmMyMDRhZWVlYWEwMDkyODMxODdiMjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3Jl
VGV4dC5jcHAKQEAgLTQ4NSwxMSArNDg1LDIyIEBAIHN0YXRpYyBpbmxpbmUgZmxvYXQgbm9ybWFs
aXplV2lkdGgoZmxvYXQgdmFsdWUpCiBzdHJ1Y3QgRm9udFR5cGUgewogICAgIEZvbnRUeXBlKENU
Rm9udFJlZiBmb250KQogICAgIHsKKyAgICAgICAgYm9vbCBmb3VuZFN0YXQgPSBmYWxzZTsKKyAg
ICAgICAgYm9vbCBmb3VuZFRyYWsgPSBmYWxzZTsKKyNpZiBVU0UoQ1RGT05USEFTVEFCTEUpCisg
ICAgICAgIGJvb2wgZm91bmRGdmFyID0gQ1RGb250SGFzVGFibGUoZm9udCwga0NURm9udFRhYmxl
RnZhcik7CisgICAgICAgIGZvdW5kU3RhdCA9IENURm9udEhhc1RhYmxlKGZvbnQsIGtDVEZvbnRU
YWJsZVNUQVQpOworICAgICAgICBhYXRTaGFwaW5nID0gQ1RGb250SGFzVGFibGUoZm9udCwga0NU
Rm9udFRhYmxlTW9yeCkgfHwgQ1RGb250SGFzVGFibGUoZm9udCwga0NURm9udFRhYmxlTW9ydCk7
CisgICAgICAgIG9wZW5UeXBlU2hhcGluZyA9IENURm9udEhhc1RhYmxlKGZvbnQsIGtDVEZvbnRU
YWJsZUdQT1MpIHx8IENURm9udEhhc1RhYmxlKGZvbnQsIGtDVEZvbnRUYWJsZUdTVUIpOworICAg
ICAgICBmb3VuZFRyYWsgPSBDVEZvbnRIYXNUYWJsZShmb250LCBrQ1RGb250VGFibGVUcmFrKTsK
KyAgICAgICAgaWYgKGZvdW5kU3RhdCkKKyAgICAgICAgICAgIHZhcmlhdGlvblR5cGUgPSBWYXJp
YXRpb25UeXBlOjpPcGVuVHlwZTE4OworICAgICAgICBlbHNlIGlmIChmb3VuZEZ2YXIpCisgICAg
ICAgICAgICB2YXJpYXRpb25UeXBlID0gVmFyaWF0aW9uVHlwZTo6VHJ1ZVR5cGVHWDsKKyNlbHNl
CiAgICAgICAgIGF1dG8gdGFibGVzID0gYWRvcHRDRihDVEZvbnRDb3B5QXZhaWxhYmxlVGFibGVz
KGZvbnQsIGtDVEZvbnRUYWJsZU9wdGlvbk5vT3B0aW9ucykpOwogICAgICAgICBpZiAoIXRhYmxl
cykKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgYm9vbCBmb3VuZFN0YXQgPSBmYWxzZTsK
LSAgICAgICAgYm9vbCBmb3VuZFRyYWsgPSBmYWxzZTsKICAgICAgICAgYXV0byBzaXplID0gQ0ZB
cnJheUdldENvdW50KHRhYmxlcy5nZXQoKSk7CiAgICAgICAgIGZvciAoQ0ZJbmRleCBpID0gMDsg
aSA8IHNpemU7ICsraSkgewogICAgICAgICAgICAgLy8gVGhpcyBpcyBzbyB5dWNreS4KQEAgLTQ5
OCwyNyArNTA5LDI4IEBAIHN0cnVjdCBGb250VHlwZSB7CiAgICAgICAgICAgICAvLyAiQ1RGb250
VGFibGVUYWcgdGFnID0gKENURm9udFRhYmxlVGFnKSh1aW50cHRyX3QpQ0ZBcnJheUdldFZhbHVl
QXRJbmRleCh0YWdzLCBpbmRleCk7IgogICAgICAgICAgICAgQ1RGb250VGFibGVUYWcgdGFibGVU
YWcgPSBzdGF0aWNfY2FzdDxDVEZvbnRUYWJsZVRhZz4ocmVpbnRlcnByZXRfY2FzdDx1aW50cHRy
X3Q+KENGQXJyYXlHZXRWYWx1ZUF0SW5kZXgodGFibGVzLmdldCgpLCBpKSkpOwogICAgICAgICAg
ICAgc3dpdGNoICh0YWJsZVRhZykgewotICAgICAgICAgICAgY2FzZSAnZnZhcic6CisgICAgICAg
ICAgICBjYXNlIGtDVEZvbnRUYWJsZUZ2YXI6CiAgICAgICAgICAgICAgICAgaWYgKHZhcmlhdGlv
blR5cGUgPT0gVmFyaWF0aW9uVHlwZTo6Tm90VmFyaWFibGUpCiAgICAgICAgICAgICAgICAgICAg
IHZhcmlhdGlvblR5cGUgPSBWYXJpYXRpb25UeXBlOjpUcnVlVHlwZUdYOwogICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAnU1RBVCc6CisgICAgICAgICAgICBjYXNlIGtD
VEZvbnRUYWJsZVNUQVQ6CiAgICAgICAgICAgICAgICAgZm91bmRTdGF0ID0gdHJ1ZTsKICAgICAg
ICAgICAgICAgICB2YXJpYXRpb25UeXBlID0gVmFyaWF0aW9uVHlwZTo6T3BlblR5cGUxODsKICAg
ICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgJ21vcngnOgotICAgICAgICAg
ICAgY2FzZSAnbW9ydCc6CisgICAgICAgICAgICBjYXNlIGtDVEZvbnRUYWJsZU1vcng6CisgICAg
ICAgICAgICBjYXNlIGtDVEZvbnRUYWJsZU1vcnQ6CiAgICAgICAgICAgICAgICAgYWF0U2hhcGlu
ZyA9IHRydWU7CiAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICdHUE9T
JzoKLSAgICAgICAgICAgIGNhc2UgJ0dTVUInOgorICAgICAgICAgICAgY2FzZSBrQ1RGb250VGFi
bGVHUE9TOgorICAgICAgICAgICAgY2FzZSBrQ1RGb250VGFibGVHU1VCOgogICAgICAgICAgICAg
ICAgIG9wZW5UeXBlU2hhcGluZyA9IHRydWU7CiAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICBjYXNlICd0cmFrJzoKKyAgICAgICAgICAgIGNhc2Uga0NURm9udFRhYmxlVHJhazoK
ICAgICAgICAgICAgICAgICBmb3VuZFRyYWsgPSB0cnVlOwogICAgICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICAgICAgfQogICAgICAgICB9CisjZW5kaWYKICAgICAgICAgaWYgKGZvdW5kU3Rh
dCAmJiBmb3VuZFRyYWspCiAgICAgICAgICAgICB0cmFja2luZ1R5cGUgPSBUcmFja2luZ1R5cGU6
OkF1dG9tYXRpYzsKICAgICAgICAgZWxzZSBpZiAoZm91bmRUcmFrKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tCmluZGV4IDkzZmIw
MDA0ZTJkMDRhYTc1OTMzYTFiZDFjYjdiYzhiODE3ZjVjYzQuLjM3ZmU1YTQxZmNjYzEwZDg3NDdk
ZmY5MmQzMDk5YmExNjBhYzdiMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW0KQEAgLTU3LDI0ICs1NywzMiBAQCBAZW5kCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGlubGluZSBib29sIGNhc2VJbnNlbnNpdGl2
ZUNvbXBhcmUoQ0ZTdHJpbmdSZWYgYSwgQ0ZTdHJpbmdSZWYgYikKLXsKLSAgICByZXR1cm4gYSAm
JiBDRlN0cmluZ0NvbXBhcmUoYSwgYiwga0NGQ29tcGFyZUNhc2VJbnNlbnNpdGl2ZSkgPT0ga0NG
Q29tcGFyZUVxdWFsVG87Ci19Ci0KLXN0YXRpYyBib29sIGZvbnRIYXNWZXJ0aWNhbEdseXBocyhD
VEZvbnRSZWYgY3RGb250KQorYm9vbCBmb250SGFzVGFibGUoQ1RGb250UmVmIGN0Rm9udCwgdW5z
aWduZWQgdGFibGVUYWcpCiB7Ci0gICAgLy8gVGhlIGNoZWNrIGRvZXNuJ3QgbG9vayBuZWF0IGJ1
dCB0aGlzIGlzIHdoYXQgQXBwS2l0IGRvZXMgZm9yIHZlcnRpY2FsIHdyaXRpbmcuLi4KLSAgICBS
ZXRhaW5QdHI8Q0ZBcnJheVJlZj4gdGFibGVUYWdzID0gYWRvcHRDRihDVEZvbnRDb3B5QXZhaWxh
YmxlVGFibGVzKGN0Rm9udCwga0NURm9udFRhYmxlT3B0aW9uTm9PcHRpb25zKSk7CisjaWYgSEFW
RShDVEZPTlRIQVNUQUJMRSkKKyAgICByZXR1cm4gQ1RGb250SGFzVGFibGUoY3RGb250LCB0YWcp
OworI2Vsc2UKKyAgICBhdXRvIHRhYmxlVGFncyA9IGFkb3B0Q0YoQ1RGb250Q29weUF2YWlsYWJs
ZVRhYmxlcyhjdEZvbnQsIGtDVEZvbnRUYWJsZU9wdGlvbk5vT3B0aW9ucykpOwogICAgIGlmICgh
dGFibGVUYWdzKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgQ0ZJbmRleCBudW1UYWJsZXMg
PSBDRkFycmF5R2V0Q291bnQodGFibGVUYWdzLmdldCgpKTsKICAgICBmb3IgKENGSW5kZXggaW5k
ZXggPSAwOyBpbmRleCA8IG51bVRhYmxlczsgKytpbmRleCkgewotICAgICAgICBDVEZvbnRUYWJs
ZVRhZyB0YWcgPSAoQ1RGb250VGFibGVUYWcpKHVpbnRwdHJfdClDRkFycmF5R2V0VmFsdWVBdElu
ZGV4KHRhYmxlVGFncy5nZXQoKSwgaW5kZXgpOwotICAgICAgICBpZiAodGFnID09IGtDVEZvbnRU
YWJsZVZoZWEgfHwgdGFnID09IGtDVEZvbnRUYWJsZVZPUkcpCisgICAgICAgIGF1dG8gdGFnID0g
Q0ZBcnJheUdldFZhbHVlQXRJbmRleCh0YWJsZVRhZ3MuZ2V0KCksIGluZGV4KTsKKyAgICAgICAg
aWYgKHRhZyA9PSB0YWJsZVRhZykKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICAg
ICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKworc3RhdGljIGlubGluZSBib29sIGNhc2VJbnNl
bnNpdGl2ZUNvbXBhcmUoQ0ZTdHJpbmdSZWYgYSwgQ0ZTdHJpbmdSZWYgYikKK3sKKyAgICByZXR1
cm4gYSAmJiBDRlN0cmluZ0NvbXBhcmUoYSwgYiwga0NGQ29tcGFyZUNhc2VJbnNlbnNpdGl2ZSkg
PT0ga0NGQ29tcGFyZUVxdWFsVG87Cit9CisKK3N0YXRpYyBib29sIGZvbnRIYXNWZXJ0aWNhbEds
eXBocyhDVEZvbnRSZWYgZm9udCkKK3sKKyAgICByZXR1cm4gZm9udEhhc1RhYmxlKGZvbnQsIGtD
VEZvbnRUYWJsZVZoZWEpIHx8IGZvbnRIYXNUYWJsZShmb250LCBrQ1RGb250VGFibGVWT1JHKTsK
IH0KIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9PcGVuVHlwZUNHLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3BwCmluZGV4IGUxYjU2
ZmFiNDRhNzI5Zjc3MGJhOWZlODI2YTg3ZTVmZTFmZGE1OGIuLjJiNjMxNjM3NDNmNTIzMDFmNjhi
NDIzZTBjOTBhNTAxZmU3YjM0OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3BwCkBAIC0yNiw2ICsyNiw3IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiT3BlblR5cGVDRy5oIgogCisjaW5jbHVk
ZSAiRm9udC5oIgogI2luY2x1ZGUgIk9wZW5UeXBlVHlwZXMuaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtMzUsMTggKzM2LDkgQEAgbmFtZXNwYWNlIE9wZW5UeXBlIHsKIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBsb25nIGtDVEZvbnRUYWJsZU9TMiA9ICdPUy8yJzsKICNlbmRpZgogCi1ib29s
IGZvbnRIYXNNYXRoVGFibGUoQ1RGb250UmVmIGN0Rm9udCkKK2Jvb2wgZm9udEhhc01hdGhUYWJs
ZShDVEZvbnRSZWYgZm9udCkKIHsKLSAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gdGFibGVUYWdz
ID0gYWRvcHRDRihDVEZvbnRDb3B5QXZhaWxhYmxlVGFibGVzKGN0Rm9udCwga0NURm9udFRhYmxl
T3B0aW9uTm9PcHRpb25zKSk7Ci0gICAgaWYgKCF0YWJsZVRhZ3MpCi0gICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICBDRkluZGV4IG51bVRhYmxlcyA9IENGQXJyYXlHZXRDb3VudCh0YWJsZVRhZ3Mu
Z2V0KCkpOwotICAgIGZvciAoQ0ZJbmRleCBpbmRleCA9IDA7IGluZGV4IDwgbnVtVGFibGVzOyAr
K2luZGV4KSB7Ci0gICAgICAgIENURm9udFRhYmxlVGFnIHRhZyA9IChDVEZvbnRUYWJsZVRhZyko
dWludHB0cl90KUNGQXJyYXlHZXRWYWx1ZUF0SW5kZXgodGFibGVUYWdzLmdldCgpLCBpbmRleCk7
Ci0gICAgICAgIGlmICh0YWcgPT0gJ01BVEgnKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgfQotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gZm9udEhhc1RhYmxlKGZvbnQsIGtD
VEZvbnRUYWJsZU1BVEgpOwogfQogCiBzdGF0aWMgaW5saW5lIHNob3J0IHJlYWRTaG9ydEZyb21U
YWJsZShjb25zdCBVSW50OCogb3MyRGF0YSwgQ0ZJbmRleCBvZmZzZXQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408090</attachid>
            <date>2020-09-05 11:30:37 -0700</date>
            <delta_ts>2020-09-05 14:25:21 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-215688-20200905113036.patch</filename>
            <type>text/plain</type>
            <size>10536</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NjY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZjY2Q1NDFhMDhiZjY0Mzc5Yjg3OTM0
NzZlYTRhN2I5NDJhM2Y5NDIuLjlmYmRhNmEzY2FjZTY1M2Q5NThlZTc1NWFmZjhiZmYzOWM3Y2Yw
YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDktMDUgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIENURm9udEhhc1RhYmxlKCkg
aXMgZmFzdGVyIHRoYW4gaXRlcmF0aW5nIG92ZXIgZXZlcnkgdGFibGUgaW4gdGhlIGZvbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTY4OAorCisg
ICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICogd3RmL1BsYXRmb3Jt
VXNlLmg6CisKIDIwMjAtMDktMDQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBNb3ZlIFBERiBoZWFkcy11cCBkaXNwbGF5IHRvIFVJIHByb2Nl
c3Mgb24gbWFjT1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiNGQwNjA1Mzg5YmE5ZjFiMDEwNDBjYjljZjI1ZDk5
MTkxNzAyZWFlLi4yYjU5MWU0OGMxZTRlMTgyMDMxMjJiODk2ZDdiODA0ZDU0ZWFiYTNiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjAtMDktMDUgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIENURm9udEhhc1RhYmxlKCkg
aXMgZmFzdGVyIHRoYW4gaXRlcmF0aW5nIG92ZXIgZXZlcnkgdGFibGUgaW4gdGhlIGZvbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTY4OAorCisg
ICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFdlIGNhbiBkaXJlY3Rs
eSBhc2sgQ29yZSBUZXh0IGZvciB0aGUgaW5mb3JtYXRpb24gd2UncmUgbG9va2luZyBmb3IuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZpb3IgY2hhbmdl
LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFR5cGU6OkZvbnRUeXBlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpm
b250SGFzVmVydGljYWxHbHlwaHMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW50
eXBlL09wZW5UeXBlQ0cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6T3BlblR5cGU6OmZvbnRIYXNN
YXRoVGFibGUpOgorCiAyMDIwLTA5LTA1ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBh
cHBsZS5jb20+CiAKICAgICAgICAgW21hY09TXSBEb24ndCBhcHBseSBzeW50aGV0aWMgYm9sZCBv
ciBpdGFsaWNzIHRvIGVtb2ppCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBhZTIyMmIzYzA5NTg3MGM5
NDU2M2NiOGNjNzVhNTYwYzYwMDM4NmY1Li5jN2QzNTUyYTZlMWJlMmY3MjM1YWEyZTMzYTc2MjEy
NGE4ZDhkZjhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMC0wOS0w
NSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtD
b2NvYV0gQ1RGb250SGFzVGFibGUoKSBpcyBmYXN0ZXIgdGhhbiBpdGVyYXRpbmcgb3ZlciBldmVy
eSB0YWJsZSBpbiB0aGUgZm9udAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE1Njg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisK
KyAgICAgICAgKiBwYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmg6CisKIDIwMjAtMDktMDQgIFNp
aHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CiAKICAgICAgICAgV2VicGFnZXMgZmxhc2gg
d2hlbiBzd2l0Y2hpbmcgYmV0d2VlbiB3aW5kb3dzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybUhhdmUuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCmluZGV4IDU4
NDNjNzhkZjc2NmFmZDI3NTk2YWY1MmUxMmE2OTg0OTU5YjEyYjEuLjc3ZTFiYzAxOTQxNzZiM2Ni
MmY1YTAzMWZkYWU0ZGZjNGI4OWIxMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtSGF2ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCkBAIC03MzIsMyAr
NzMyLDcgQEAKICAgICB8fCAoUExBVEZPUk0oQVBQTEVUVikgJiYgX19UVl9PU19WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxNDAwMDApCiAjZGVmaW5lIEhBVkVfQ0ZORVRXT1JLX0NOQU1FX0FORF9D
T09LSUVfVFJBTlNGT1JNX1NQSSAxCiAjZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAh
KFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUw
MCkKKyNkZWZpbmUgSEFWRV9DVEZPTlRIQVNUQUJMRSAxCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmggYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oCmluZGV4IGIyMjhmOWJjODMyNDgz
MzQ5NGEwYzc4MTgzYjRmMmUzYjU1YTlmMTYuLmUwZjk0YTNhNGE1Njg1NTYwYTEwNzA4MDUyYjJh
ZWQyY2ZkYjJiNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29h
L0NvcmVUZXh0U1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQ29y
ZVRleHRTUEkuaApAQCAtMTQxLDYgKzE0MSw3IEBAIENURm9udFJlZiBDVEZvbnRDcmVhdGVGb3JD
U1MoQ0ZTdHJpbmdSZWYgbmFtZSwgdWludDE2X3Qgd2VpZ2h0LCBDVEZvbnRTeW1ib2xpY1RyCiBD
VEZvbnRSZWYgQ1RGb250Q3JlYXRlRm9yQ2hhcmFjdGVyc1dpdGhMYW5ndWFnZShDVEZvbnRSZWYg
Y3VycmVudEZvbnQsIGNvbnN0IFVURjE2Q2hhciAqY2hhcmFjdGVycywgQ0ZJbmRleCBsZW5ndGgs
IENGU3RyaW5nUmVmIGxhbmd1YWdlLCBDRkluZGV4ICpjb3ZlcmVkTGVuZ3RoKTsKIENURm9udFJl
ZiBDVEZvbnRDcmVhdGVGb3JDaGFyYWN0ZXJzV2l0aExhbmd1YWdlQW5kT3B0aW9uKENURm9udFJl
ZiBjdXJyZW50Rm9udCwgY29uc3QgVVRGMTZDaGFyICpjaGFyYWN0ZXJzLCBDRkluZGV4IGxlbmd0
aCwgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UsIENURm9udEZhbGxiYWNrT3B0aW9uIG9wdGlvbiwgQ0ZJ
bmRleCAqY292ZXJlZExlbmd0aCk7CiBDVEZvbnRSZWYgQ1RGb250Q29weVBoeXNpY2FsRm9udChD
VEZvbnRSZWYpOworYm9vbCBDVEZvbnRIYXNUYWJsZShDVEZvbnRSZWYsIENURm9udFRhYmxlVGFn
KTsKIAogZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZVNob3J0SGVh
ZGxpbmU7CiBleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlU2hvcnRC
b2R5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCmluZGV4IDhlYzMzODBk
N2I3ZTQ1YzBkMTFlN2M4YzRlZjcyMWY2OWViMjVmMGYuLjk0MjFjYTJjYThhZmExM2I3Y2JiMmQ4
OTdkYzkzYTQ0MzRiMDZhYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
LmgKQEAgLTY0LDYgKzY0LDEwIEBAIGVudW0gRm9udFZhcmlhbnQgeyBBdXRvVmFyaWFudCwgTm9y
bWFsVmFyaWFudCwgU21hbGxDYXBzVmFyaWFudCwgRW1waGFzaXNNYXJrVmFyCiBlbnVtIFBpdGNo
IHsgVW5rbm93blBpdGNoLCBGaXhlZFBpdGNoLCBWYXJpYWJsZVBpdGNoIH07CiBlbnVtIGNsYXNz
IElzRm9yUGxhdGZvcm1Gb250IDogdWludDhfdCB7IE5vLCBZZXMgfTsKIAorI2lmIFBMQVRGT1JN
KENPQ09BKQorYm9vbCBmb250SGFzVGFibGUoQ1RGb250UmVmLCB1bnNpZ25lZCB0YWJsZVRhZyk7
CisjZW5kaWYKKwogREVDTEFSRV9BTExPQ0FUT1JfV0lUSF9IRUFQX0lERU5USUZJRVIoRm9udCk7
CiBjbGFzcyBGb250IDogcHVibGljIFJlZkNvdW50ZWQ8Rm9udD4gewogICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEX1dJVEhfSEVBUF9JREVOVElGSUVSKEZvbnQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRl
eHQuY3BwCmluZGV4IDkzYjI2OWNhOTRkOTU0NmQxNGZkZWZhYWFkZWE4ZTJmZjY1M2I4MWMuLmJj
MGQ0M2Y0ZjcwMWE2N2Y0NmMyMDRhZWVlYWEwMDkyODMxODdiMjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3Jl
VGV4dC5jcHAKQEAgLTQ4NSwxMSArNDg1LDIyIEBAIHN0YXRpYyBpbmxpbmUgZmxvYXQgbm9ybWFs
aXplV2lkdGgoZmxvYXQgdmFsdWUpCiBzdHJ1Y3QgRm9udFR5cGUgewogICAgIEZvbnRUeXBlKENU
Rm9udFJlZiBmb250KQogICAgIHsKKyAgICAgICAgYm9vbCBmb3VuZFN0YXQgPSBmYWxzZTsKKyAg
ICAgICAgYm9vbCBmb3VuZFRyYWsgPSBmYWxzZTsKKyNpZiBVU0UoQ1RGT05USEFTVEFCTEUpCisg
ICAgICAgIGJvb2wgZm91bmRGdmFyID0gQ1RGb250SGFzVGFibGUoZm9udCwga0NURm9udFRhYmxl
RnZhcik7CisgICAgICAgIGZvdW5kU3RhdCA9IENURm9udEhhc1RhYmxlKGZvbnQsIGtDVEZvbnRU
YWJsZVNUQVQpOworICAgICAgICBhYXRTaGFwaW5nID0gQ1RGb250SGFzVGFibGUoZm9udCwga0NU
Rm9udFRhYmxlTW9yeCkgfHwgQ1RGb250SGFzVGFibGUoZm9udCwga0NURm9udFRhYmxlTW9ydCk7
CisgICAgICAgIG9wZW5UeXBlU2hhcGluZyA9IENURm9udEhhc1RhYmxlKGZvbnQsIGtDVEZvbnRU
YWJsZUdQT1MpIHx8IENURm9udEhhc1RhYmxlKGZvbnQsIGtDVEZvbnRUYWJsZUdTVUIpOworICAg
ICAgICBmb3VuZFRyYWsgPSBDVEZvbnRIYXNUYWJsZShmb250LCBrQ1RGb250VGFibGVUcmFrKTsK
KyAgICAgICAgaWYgKGZvdW5kU3RhdCkKKyAgICAgICAgICAgIHZhcmlhdGlvblR5cGUgPSBWYXJp
YXRpb25UeXBlOjpPcGVuVHlwZTE4OworICAgICAgICBlbHNlIGlmIChmb3VuZEZ2YXIpCisgICAg
ICAgICAgICB2YXJpYXRpb25UeXBlID0gVmFyaWF0aW9uVHlwZTo6VHJ1ZVR5cGVHWDsKKyNlbHNl
CiAgICAgICAgIGF1dG8gdGFibGVzID0gYWRvcHRDRihDVEZvbnRDb3B5QXZhaWxhYmxlVGFibGVz
KGZvbnQsIGtDVEZvbnRUYWJsZU9wdGlvbk5vT3B0aW9ucykpOwogICAgICAgICBpZiAoIXRhYmxl
cykKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgYm9vbCBmb3VuZFN0YXQgPSBmYWxzZTsK
LSAgICAgICAgYm9vbCBmb3VuZFRyYWsgPSBmYWxzZTsKICAgICAgICAgYXV0byBzaXplID0gQ0ZB
cnJheUdldENvdW50KHRhYmxlcy5nZXQoKSk7CiAgICAgICAgIGZvciAoQ0ZJbmRleCBpID0gMDsg
aSA8IHNpemU7ICsraSkgewogICAgICAgICAgICAgLy8gVGhpcyBpcyBzbyB5dWNreS4KQEAgLTQ5
OCwyNyArNTA5LDI4IEBAIHN0cnVjdCBGb250VHlwZSB7CiAgICAgICAgICAgICAvLyAiQ1RGb250
VGFibGVUYWcgdGFnID0gKENURm9udFRhYmxlVGFnKSh1aW50cHRyX3QpQ0ZBcnJheUdldFZhbHVl
QXRJbmRleCh0YWdzLCBpbmRleCk7IgogICAgICAgICAgICAgQ1RGb250VGFibGVUYWcgdGFibGVU
YWcgPSBzdGF0aWNfY2FzdDxDVEZvbnRUYWJsZVRhZz4ocmVpbnRlcnByZXRfY2FzdDx1aW50cHRy
X3Q+KENGQXJyYXlHZXRWYWx1ZUF0SW5kZXgodGFibGVzLmdldCgpLCBpKSkpOwogICAgICAgICAg
ICAgc3dpdGNoICh0YWJsZVRhZykgewotICAgICAgICAgICAgY2FzZSAnZnZhcic6CisgICAgICAg
ICAgICBjYXNlIGtDVEZvbnRUYWJsZUZ2YXI6CiAgICAgICAgICAgICAgICAgaWYgKHZhcmlhdGlv
blR5cGUgPT0gVmFyaWF0aW9uVHlwZTo6Tm90VmFyaWFibGUpCiAgICAgICAgICAgICAgICAgICAg
IHZhcmlhdGlvblR5cGUgPSBWYXJpYXRpb25UeXBlOjpUcnVlVHlwZUdYOwogICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAnU1RBVCc6CisgICAgICAgICAgICBjYXNlIGtD
VEZvbnRUYWJsZVNUQVQ6CiAgICAgICAgICAgICAgICAgZm91bmRTdGF0ID0gdHJ1ZTsKICAgICAg
ICAgICAgICAgICB2YXJpYXRpb25UeXBlID0gVmFyaWF0aW9uVHlwZTo6T3BlblR5cGUxODsKICAg
ICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgJ21vcngnOgotICAgICAgICAg
ICAgY2FzZSAnbW9ydCc6CisgICAgICAgICAgICBjYXNlIGtDVEZvbnRUYWJsZU1vcng6CisgICAg
ICAgICAgICBjYXNlIGtDVEZvbnRUYWJsZU1vcnQ6CiAgICAgICAgICAgICAgICAgYWF0U2hhcGlu
ZyA9IHRydWU7CiAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICdHUE9T
JzoKLSAgICAgICAgICAgIGNhc2UgJ0dTVUInOgorICAgICAgICAgICAgY2FzZSBrQ1RGb250VGFi
bGVHUE9TOgorICAgICAgICAgICAgY2FzZSBrQ1RGb250VGFibGVHU1VCOgogICAgICAgICAgICAg
ICAgIG9wZW5UeXBlU2hhcGluZyA9IHRydWU7CiAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICBjYXNlICd0cmFrJzoKKyAgICAgICAgICAgIGNhc2Uga0NURm9udFRhYmxlVHJhazoK
ICAgICAgICAgICAgICAgICBmb3VuZFRyYWsgPSB0cnVlOwogICAgICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICAgICAgfQogICAgICAgICB9CisjZW5kaWYKICAgICAgICAgaWYgKGZvdW5kU3Rh
dCAmJiBmb3VuZFRyYWspCiAgICAgICAgICAgICB0cmFja2luZ1R5cGUgPSBUcmFja2luZ1R5cGU6
OkF1dG9tYXRpYzsKICAgICAgICAgZWxzZSBpZiAoZm91bmRUcmFrKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tCmluZGV4IDkzZmIw
MDA0ZTJkMDRhYTc1OTMzYTFiZDFjYjdiYzhiODE3ZjVjYzQuLjg3ZjE1YmI3NDE3Yjg1NzRkMjFm
Y2M1OGFkNWQ0NDkwZWIwODdmZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW0KQEAgLTU3LDI0ICs1NywzMiBAQCBAZW5kCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGlubGluZSBib29sIGNhc2VJbnNlbnNpdGl2
ZUNvbXBhcmUoQ0ZTdHJpbmdSZWYgYSwgQ0ZTdHJpbmdSZWYgYikKLXsKLSAgICByZXR1cm4gYSAm
JiBDRlN0cmluZ0NvbXBhcmUoYSwgYiwga0NGQ29tcGFyZUNhc2VJbnNlbnNpdGl2ZSkgPT0ga0NG
Q29tcGFyZUVxdWFsVG87Ci19Ci0KLXN0YXRpYyBib29sIGZvbnRIYXNWZXJ0aWNhbEdseXBocyhD
VEZvbnRSZWYgY3RGb250KQorYm9vbCBmb250SGFzVGFibGUoQ1RGb250UmVmIGN0Rm9udCwgdW5z
aWduZWQgdGFibGVUYWcpCiB7Ci0gICAgLy8gVGhlIGNoZWNrIGRvZXNuJ3QgbG9vayBuZWF0IGJ1
dCB0aGlzIGlzIHdoYXQgQXBwS2l0IGRvZXMgZm9yIHZlcnRpY2FsIHdyaXRpbmcuLi4KLSAgICBS
ZXRhaW5QdHI8Q0ZBcnJheVJlZj4gdGFibGVUYWdzID0gYWRvcHRDRihDVEZvbnRDb3B5QXZhaWxh
YmxlVGFibGVzKGN0Rm9udCwga0NURm9udFRhYmxlT3B0aW9uTm9PcHRpb25zKSk7CisjaWYgSEFW
RShDVEZPTlRIQVNUQUJMRSkKKyAgICByZXR1cm4gQ1RGb250SGFzVGFibGUoY3RGb250LCB0YWJs
ZVRhZyk7CisjZWxzZQorICAgIGF1dG8gdGFibGVUYWdzID0gYWRvcHRDRihDVEZvbnRDb3B5QXZh
aWxhYmxlVGFibGVzKGN0Rm9udCwga0NURm9udFRhYmxlT3B0aW9uTm9PcHRpb25zKSk7CiAgICAg
aWYgKCF0YWJsZVRhZ3MpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBDRkluZGV4IG51bVRh
YmxlcyA9IENGQXJyYXlHZXRDb3VudCh0YWJsZVRhZ3MuZ2V0KCkpOwogICAgIGZvciAoQ0ZJbmRl
eCBpbmRleCA9IDA7IGluZGV4IDwgbnVtVGFibGVzOyArK2luZGV4KSB7Ci0gICAgICAgIENURm9u
dFRhYmxlVGFnIHRhZyA9IChDVEZvbnRUYWJsZVRhZykodWludHB0cl90KUNGQXJyYXlHZXRWYWx1
ZUF0SW5kZXgodGFibGVUYWdzLmdldCgpLCBpbmRleCk7Ci0gICAgICAgIGlmICh0YWcgPT0ga0NU
Rm9udFRhYmxlVmhlYSB8fCB0YWcgPT0ga0NURm9udFRhYmxlVk9SRykKKyAgICAgICAgYXV0byB0
YWcgPSBDRkFycmF5R2V0VmFsdWVBdEluZGV4KHRhYmxlVGFncy5nZXQoKSwgaW5kZXgpOworICAg
ICAgICBpZiAodGFnID09IHRhYmxlVGFnKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
fQogICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorCitzdGF0aWMgaW5saW5lIGJvb2wgY2Fz
ZUluc2Vuc2l0aXZlQ29tcGFyZShDRlN0cmluZ1JlZiBhLCBDRlN0cmluZ1JlZiBiKQoreworICAg
IHJldHVybiBhICYmIENGU3RyaW5nQ29tcGFyZShhLCBiLCBrQ0ZDb21wYXJlQ2FzZUluc2Vuc2l0
aXZlKSA9PSBrQ0ZDb21wYXJlRXF1YWxUbzsKK30KKworc3RhdGljIGJvb2wgZm9udEhhc1ZlcnRp
Y2FsR2x5cGhzKENURm9udFJlZiBmb250KQoreworICAgIHJldHVybiBmb250SGFzVGFibGUoZm9u
dCwga0NURm9udFRhYmxlVmhlYSkgfHwgZm9udEhhc1RhYmxlKGZvbnQsIGtDVEZvbnRUYWJsZVZP
UkcpOwogfQogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVDRy5jcHAKaW5kZXgg
ZTFiNTZmYWI0NGE3MjlmNzcwYmE5ZmU4MjZhODdlNWZlMWZkYTU4Yi4uMmI2MzE2Mzc0M2Y1MjMw
MWY2OGI0MjNlMGM5MGE1MDFmZTdiMzQ5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVDRy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVDRy5jcHAKQEAgLTI2LDYgKzI2
LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJPcGVuVHlwZUNHLmgiCiAKKyNp
bmNsdWRlICJGb250LmgiCiAjaW5jbHVkZSAiT3BlblR5cGVUeXBlcy5oIgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CkBAIC0zNSwxOCArMzYsOSBAQCBuYW1lc3BhY2UgT3BlblR5cGUgewogc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIGxvbmcga0NURm9udFRhYmxlT1MyID0gJ09TLzInOwogI2VuZGlmCiAK
LWJvb2wgZm9udEhhc01hdGhUYWJsZShDVEZvbnRSZWYgY3RGb250KQorYm9vbCBmb250SGFzTWF0
aFRhYmxlKENURm9udFJlZiBmb250KQogewotICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiB0YWJs
ZVRhZ3MgPSBhZG9wdENGKENURm9udENvcHlBdmFpbGFibGVUYWJsZXMoY3RGb250LCBrQ1RGb250
VGFibGVPcHRpb25Ob09wdGlvbnMpKTsKLSAgICBpZiAoIXRhYmxlVGFncykKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgIENGSW5kZXggbnVtVGFibGVzID0gQ0ZBcnJheUdldENvdW50KHRhYmxl
VGFncy5nZXQoKSk7Ci0gICAgZm9yIChDRkluZGV4IGluZGV4ID0gMDsgaW5kZXggPCBudW1UYWJs
ZXM7ICsraW5kZXgpIHsKLSAgICAgICAgQ1RGb250VGFibGVUYWcgdGFnID0gKENURm9udFRhYmxl
VGFnKSh1aW50cHRyX3QpQ0ZBcnJheUdldFZhbHVlQXRJbmRleCh0YWJsZVRhZ3MuZ2V0KCksIGlu
ZGV4KTsKLSAgICAgICAgaWYgKHRhZyA9PSAnTUFUSCcpCi0gICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBmb250SGFzVGFibGUoZm9u
dCwga0NURm9udFRhYmxlTUFUSCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgc2hvcnQgcmVhZFNob3J0
RnJvbVRhYmxlKGNvbnN0IFVJbnQ4KiBvczJEYXRhLCBDRkluZGV4IG9mZnNldCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408091</attachid>
            <date>2020-09-05 11:35:01 -0700</date>
            <delta_ts>2020-09-05 14:25:27 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-215688-20200905113500.patch</filename>
            <type>text/plain</type>
            <size>10759</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NjY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZjY2Q1NDFhMDhiZjY0Mzc5Yjg3OTM0
NzZlYTRhN2I5NDJhM2Y5NDIuLjlmYmRhNmEzY2FjZTY1M2Q5NThlZTc1NWFmZjhiZmYzOWM3Y2Yw
YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDktMDUgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIENURm9udEhhc1RhYmxlKCkg
aXMgZmFzdGVyIHRoYW4gaXRlcmF0aW5nIG92ZXIgZXZlcnkgdGFibGUgaW4gdGhlIGZvbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTY4OAorCisg
ICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICogd3RmL1BsYXRmb3Jt
VXNlLmg6CisKIDIwMjAtMDktMDQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBNb3ZlIFBERiBoZWFkcy11cCBkaXNwbGF5IHRvIFVJIHByb2Nl
c3Mgb24gbWFjT1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiNGQwNjA1Mzg5YmE5ZjFiMDEwNDBjYjljZjI1ZDk5
MTkxNzAyZWFlLi4yYjU5MWU0OGMxZTRlMTgyMDMxMjJiODk2ZDdiODA0ZDU0ZWFiYTNiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjAtMDktMDUgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIENURm9udEhhc1RhYmxlKCkg
aXMgZmFzdGVyIHRoYW4gaXRlcmF0aW5nIG92ZXIgZXZlcnkgdGFibGUgaW4gdGhlIGZvbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTY4OAorCisg
ICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFdlIGNhbiBkaXJlY3Rs
eSBhc2sgQ29yZSBUZXh0IGZvciB0aGUgaW5mb3JtYXRpb24gd2UncmUgbG9va2luZyBmb3IuCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZpb3IgY2hhbmdl
LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFR5cGU6OkZvbnRUeXBlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpm
b250SGFzVmVydGljYWxHbHlwaHMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW50
eXBlL09wZW5UeXBlQ0cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6T3BlblR5cGU6OmZvbnRIYXNN
YXRoVGFibGUpOgorCiAyMDIwLTA5LTA1ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBh
cHBsZS5jb20+CiAKICAgICAgICAgW21hY09TXSBEb24ndCBhcHBseSBzeW50aGV0aWMgYm9sZCBv
ciBpdGFsaWNzIHRvIGVtb2ppCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBhZTIyMmIzYzA5NTg3MGM5
NDU2M2NiOGNjNzVhNTYwYzYwMDM4NmY1Li5jN2QzNTUyYTZlMWJlMmY3MjM1YWEyZTMzYTc2MjEy
NGE4ZDhkZjhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMC0wOS0w
NSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtD
b2NvYV0gQ1RGb250SGFzVGFibGUoKSBpcyBmYXN0ZXIgdGhhbiBpdGVyYXRpbmcgb3ZlciBldmVy
eSB0YWJsZSBpbiB0aGUgZm9udAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE1Njg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisK
KyAgICAgICAgKiBwYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmg6CisKIDIwMjAtMDktMDQgIFNp
aHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CiAKICAgICAgICAgV2VicGFnZXMgZmxhc2gg
d2hlbiBzd2l0Y2hpbmcgYmV0d2VlbiB3aW5kb3dzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybUhhdmUuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCmluZGV4IDU4
NDNjNzhkZjc2NmFmZDI3NTk2YWY1MmUxMmE2OTg0OTU5YjEyYjEuLjc3ZTFiYzAxOTQxNzZiM2Ni
MmY1YTAzMWZkYWU0ZGZjNGI4OWIxMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtSGF2ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCkBAIC03MzIsMyAr
NzMyLDcgQEAKICAgICB8fCAoUExBVEZPUk0oQVBQTEVUVikgJiYgX19UVl9PU19WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxNDAwMDApCiAjZGVmaW5lIEhBVkVfQ0ZORVRXT1JLX0NOQU1FX0FORF9D
T09LSUVfVFJBTlNGT1JNX1NQSSAxCiAjZW5kaWYKKworI2lmIFBMQVRGT1JNKENPQ09BKSAmJiAh
KFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUw
MCkKKyNkZWZpbmUgSEFWRV9DVEZPTlRIQVNUQUJMRSAxCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmggYi9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oCmluZGV4IGIyMjhmOWJjODMyNDgz
MzQ5NGEwYzc4MTgzYjRmMmUzYjU1YTlmMTYuLmUwZjk0YTNhNGE1Njg1NTYwYTEwNzA4MDUyYjJh
ZWQyY2ZkYjJiNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29h
L0NvcmVUZXh0U1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQ29y
ZVRleHRTUEkuaApAQCAtMTQxLDYgKzE0MSw3IEBAIENURm9udFJlZiBDVEZvbnRDcmVhdGVGb3JD
U1MoQ0ZTdHJpbmdSZWYgbmFtZSwgdWludDE2X3Qgd2VpZ2h0LCBDVEZvbnRTeW1ib2xpY1RyCiBD
VEZvbnRSZWYgQ1RGb250Q3JlYXRlRm9yQ2hhcmFjdGVyc1dpdGhMYW5ndWFnZShDVEZvbnRSZWYg
Y3VycmVudEZvbnQsIGNvbnN0IFVURjE2Q2hhciAqY2hhcmFjdGVycywgQ0ZJbmRleCBsZW5ndGgs
IENGU3RyaW5nUmVmIGxhbmd1YWdlLCBDRkluZGV4ICpjb3ZlcmVkTGVuZ3RoKTsKIENURm9udFJl
ZiBDVEZvbnRDcmVhdGVGb3JDaGFyYWN0ZXJzV2l0aExhbmd1YWdlQW5kT3B0aW9uKENURm9udFJl
ZiBjdXJyZW50Rm9udCwgY29uc3QgVVRGMTZDaGFyICpjaGFyYWN0ZXJzLCBDRkluZGV4IGxlbmd0
aCwgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UsIENURm9udEZhbGxiYWNrT3B0aW9uIG9wdGlvbiwgQ0ZJ
bmRleCAqY292ZXJlZExlbmd0aCk7CiBDVEZvbnRSZWYgQ1RGb250Q29weVBoeXNpY2FsRm9udChD
VEZvbnRSZWYpOworYm9vbCBDVEZvbnRIYXNUYWJsZShDVEZvbnRSZWYsIENURm9udFRhYmxlVGFn
KTsKIAogZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZVNob3J0SGVh
ZGxpbmU7CiBleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250VGV4dFN0eWxlU2hvcnRC
b2R5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCmluZGV4IDhlYzMzODBk
N2I3ZTQ1YzBkMTFlN2M4YzRlZjcyMWY2OWViMjVmMGYuLjk0MjFjYTJjYThhZmExM2I3Y2JiMmQ4
OTdkYzkzYTQ0MzRiMDZhYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
LmgKQEAgLTY0LDYgKzY0LDEwIEBAIGVudW0gRm9udFZhcmlhbnQgeyBBdXRvVmFyaWFudCwgTm9y
bWFsVmFyaWFudCwgU21hbGxDYXBzVmFyaWFudCwgRW1waGFzaXNNYXJrVmFyCiBlbnVtIFBpdGNo
IHsgVW5rbm93blBpdGNoLCBGaXhlZFBpdGNoLCBWYXJpYWJsZVBpdGNoIH07CiBlbnVtIGNsYXNz
IElzRm9yUGxhdGZvcm1Gb250IDogdWludDhfdCB7IE5vLCBZZXMgfTsKIAorI2lmIFBMQVRGT1JN
KENPQ09BKQorYm9vbCBmb250SGFzVGFibGUoQ1RGb250UmVmLCB1bnNpZ25lZCB0YWJsZVRhZyk7
CisjZW5kaWYKKwogREVDTEFSRV9BTExPQ0FUT1JfV0lUSF9IRUFQX0lERU5USUZJRVIoRm9udCk7
CiBjbGFzcyBGb250IDogcHVibGljIFJlZkNvdW50ZWQ8Rm9udD4gewogICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEX1dJVEhfSEVBUF9JREVOVElGSUVSKEZvbnQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRl
eHQuY3BwCmluZGV4IDkzYjI2OWNhOTRkOTU0NmQxNGZkZWZhYWFkZWE4ZTJmZjY1M2I4MWMuLmJk
NWJmMmNmZWE4ZDE0NzdmNjkwOWI5ZTFjOGVkZmE4MjQwMWQ5NmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3Jl
VGV4dC5jcHAKQEAgLTQ4NSw0MCArNDg1LDQ4IEBAIHN0YXRpYyBpbmxpbmUgZmxvYXQgbm9ybWFs
aXplV2lkdGgoZmxvYXQgdmFsdWUpCiBzdHJ1Y3QgRm9udFR5cGUgewogICAgIEZvbnRUeXBlKENU
Rm9udFJlZiBmb250KQogICAgIHsKKyAgICAgICAgYm9vbCBmb3VuZFN0YXQgPSBmYWxzZTsKKyAg
ICAgICAgYm9vbCBmb3VuZFRyYWsgPSBmYWxzZTsKKyNpZiBVU0UoQ1RGT05USEFTVEFCTEUpCisg
ICAgICAgIGJvb2wgZm91bmRGdmFyID0gQ1RGb250SGFzVGFibGUoZm9udCwga0NURm9udFRhYmxl
RnZhcik7CisgICAgICAgIGZvdW5kU3RhdCA9IENURm9udEhhc1RhYmxlKGZvbnQsIGtDVEZvbnRU
YWJsZVNUQVQpOworICAgICAgICBhYXRTaGFwaW5nID0gQ1RGb250SGFzVGFibGUoZm9udCwga0NU
Rm9udFRhYmxlTW9yeCkgfHwgQ1RGb250SGFzVGFibGUoZm9udCwga0NURm9udFRhYmxlTW9ydCk7
CisgICAgICAgIG9wZW5UeXBlU2hhcGluZyA9IENURm9udEhhc1RhYmxlKGZvbnQsIGtDVEZvbnRU
YWJsZUdQT1MpIHx8IENURm9udEhhc1RhYmxlKGZvbnQsIGtDVEZvbnRUYWJsZUdTVUIpOworICAg
ICAgICBmb3VuZFRyYWsgPSBDVEZvbnRIYXNUYWJsZShmb250LCBrQ1RGb250VGFibGVUcmFrKTsK
KyAgICAgICAgaWYgKGZvdW5kU3RhdCkKKyAgICAgICAgICAgIHZhcmlhdGlvblR5cGUgPSBWYXJp
YXRpb25UeXBlOjpPcGVuVHlwZTE4OworICAgICAgICBlbHNlIGlmIChmb3VuZEZ2YXIpCisgICAg
ICAgICAgICB2YXJpYXRpb25UeXBlID0gVmFyaWF0aW9uVHlwZTo6VHJ1ZVR5cGVHWDsKKyNlbHNl
CiAgICAgICAgIGF1dG8gdGFibGVzID0gYWRvcHRDRihDVEZvbnRDb3B5QXZhaWxhYmxlVGFibGVz
KGZvbnQsIGtDVEZvbnRUYWJsZU9wdGlvbk5vT3B0aW9ucykpOwogICAgICAgICBpZiAoIXRhYmxl
cykKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgYm9vbCBmb3VuZFN0YXQgPSBmYWxzZTsK
LSAgICAgICAgYm9vbCBmb3VuZFRyYWsgPSBmYWxzZTsKICAgICAgICAgYXV0byBzaXplID0gQ0ZB
cnJheUdldENvdW50KHRhYmxlcy5nZXQoKSk7CiAgICAgICAgIGZvciAoQ0ZJbmRleCBpID0gMDsg
aSA8IHNpemU7ICsraSkgewotICAgICAgICAgICAgLy8gVGhpcyBpcyBzbyB5dWNreS4KLSAgICAg
ICAgICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9yZWZlcmVuY2UvY29yZXRleHQv
MTUxMDc3NC1jdGZvbnRjb3B5YXZhaWxhYmxldGFibGVzCi0gICAgICAgICAgICAvLyAiVGhlIHJl
dHVybmVkIHNldCB3aWxsIGNvbnRhaW4gdW5ib3hlZCB2YWx1ZXMsIHdoaWNoIGNhbiBiZSBleHRy
YWN0ZWQgbGlrZSBzbzoiCi0gICAgICAgICAgICAvLyAiQ1RGb250VGFibGVUYWcgdGFnID0gKENU
Rm9udFRhYmxlVGFnKSh1aW50cHRyX3QpQ0ZBcnJheUdldFZhbHVlQXRJbmRleCh0YWdzLCBpbmRl
eCk7IgotICAgICAgICAgICAgQ1RGb250VGFibGVUYWcgdGFibGVUYWcgPSBzdGF0aWNfY2FzdDxD
VEZvbnRUYWJsZVRhZz4ocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KENGQXJyYXlHZXRWYWx1
ZUF0SW5kZXgodGFibGVzLmdldCgpLCBpKSkpOworICAgICAgICAgICAgYXV0byB0YWJsZVRhZyA9
IENGQXJyYXlHZXRWYWx1ZUF0SW5kZXgodGFibGVzLmdldCgpLCBpKTsKICAgICAgICAgICAgIHN3
aXRjaCAodGFibGVUYWcpIHsKLSAgICAgICAgICAgIGNhc2UgJ2Z2YXInOgorICAgICAgICAgICAg
Y2FzZSBrQ1RGb250VGFibGVGdmFyOgogICAgICAgICAgICAgICAgIGlmICh2YXJpYXRpb25UeXBl
ID09IFZhcmlhdGlvblR5cGU6Ok5vdFZhcmlhYmxlKQogICAgICAgICAgICAgICAgICAgICB2YXJp
YXRpb25UeXBlID0gVmFyaWF0aW9uVHlwZTo6VHJ1ZVR5cGVHWDsKICAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgIGNhc2UgJ1NUQVQnOgorICAgICAgICAgICAgY2FzZSBrQ1RGb250
VGFibGVTVEFUOgogICAgICAgICAgICAgICAgIGZvdW5kU3RhdCA9IHRydWU7CiAgICAgICAgICAg
ICAgICAgdmFyaWF0aW9uVHlwZSA9IFZhcmlhdGlvblR5cGU6Ok9wZW5UeXBlMTg7CiAgICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICdtb3J4JzoKLSAgICAgICAgICAgIGNh
c2UgJ21vcnQnOgorICAgICAgICAgICAgY2FzZSBrQ1RGb250VGFibGVNb3J4OgorICAgICAgICAg
ICAgY2FzZSBrQ1RGb250VGFibGVNb3J0OgogICAgICAgICAgICAgICAgIGFhdFNoYXBpbmcgPSB0
cnVlOwogICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAnR1BPUyc6Ci0g
ICAgICAgICAgICBjYXNlICdHU1VCJzoKKyAgICAgICAgICAgIGNhc2Uga0NURm9udFRhYmxlR1BP
UzoKKyAgICAgICAgICAgIGNhc2Uga0NURm9udFRhYmxlR1NVQjoKICAgICAgICAgICAgICAgICBv
cGVuVHlwZVNoYXBpbmcgPSB0cnVlOwogICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgY2FzZSAndHJhayc6CisgICAgICAgICAgICBjYXNlIGtDVEZvbnRUYWJsZVRyYWs6CiAgICAg
ICAgICAgICAgICAgZm91bmRUcmFrID0gdHJ1ZTsKICAgICAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgICAgIH0KICAgICAgICAgfQorI2VuZGlmCiAgICAgICAgIGlmIChmb3VuZFN0YXQgJiYg
Zm91bmRUcmFrKQogICAgICAgICAgICAgdHJhY2tpbmdUeXBlID0gVHJhY2tpbmdUeXBlOjpBdXRv
bWF0aWM7CiAgICAgICAgIGVsc2UgaWYgKGZvdW5kVHJhaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbQppbmRleCA5M2ZiMDAwNGUy
ZDA0YWE3NTkzM2ExYmQxY2I3YmM4YjgxN2Y1Y2M0Li44N2YxNWJiNzQxN2I4NTc0ZDIxZmNjNThh
ZDVkNDQ5MGViMDg3ZmY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jb2NvYS9Gb250Q29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvRm9udENvY29hLm1tCkBAIC01NywyNCArNTcsMzIgQEAgQGVuZAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBjYXNlSW5zZW5zaXRpdmVDb21w
YXJlKENGU3RyaW5nUmVmIGEsIENGU3RyaW5nUmVmIGIpCi17Ci0gICAgcmV0dXJuIGEgJiYgQ0ZT
dHJpbmdDb21wYXJlKGEsIGIsIGtDRkNvbXBhcmVDYXNlSW5zZW5zaXRpdmUpID09IGtDRkNvbXBh
cmVFcXVhbFRvOwotfQotCi1zdGF0aWMgYm9vbCBmb250SGFzVmVydGljYWxHbHlwaHMoQ1RGb250
UmVmIGN0Rm9udCkKK2Jvb2wgZm9udEhhc1RhYmxlKENURm9udFJlZiBjdEZvbnQsIHVuc2lnbmVk
IHRhYmxlVGFnKQogewotICAgIC8vIFRoZSBjaGVjayBkb2Vzbid0IGxvb2sgbmVhdCBidXQgdGhp
cyBpcyB3aGF0IEFwcEtpdCBkb2VzIGZvciB2ZXJ0aWNhbCB3cml0aW5nLi4uCi0gICAgUmV0YWlu
UHRyPENGQXJyYXlSZWY+IHRhYmxlVGFncyA9IGFkb3B0Q0YoQ1RGb250Q29weUF2YWlsYWJsZVRh
YmxlcyhjdEZvbnQsIGtDVEZvbnRUYWJsZU9wdGlvbk5vT3B0aW9ucykpOworI2lmIEhBVkUoQ1RG
T05USEFTVEFCTEUpCisgICAgcmV0dXJuIENURm9udEhhc1RhYmxlKGN0Rm9udCwgdGFibGVUYWcp
OworI2Vsc2UKKyAgICBhdXRvIHRhYmxlVGFncyA9IGFkb3B0Q0YoQ1RGb250Q29weUF2YWlsYWJs
ZVRhYmxlcyhjdEZvbnQsIGtDVEZvbnRUYWJsZU9wdGlvbk5vT3B0aW9ucykpOwogICAgIGlmICgh
dGFibGVUYWdzKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgQ0ZJbmRleCBudW1UYWJsZXMg
PSBDRkFycmF5R2V0Q291bnQodGFibGVUYWdzLmdldCgpKTsKICAgICBmb3IgKENGSW5kZXggaW5k
ZXggPSAwOyBpbmRleCA8IG51bVRhYmxlczsgKytpbmRleCkgewotICAgICAgICBDVEZvbnRUYWJs
ZVRhZyB0YWcgPSAoQ1RGb250VGFibGVUYWcpKHVpbnRwdHJfdClDRkFycmF5R2V0VmFsdWVBdElu
ZGV4KHRhYmxlVGFncy5nZXQoKSwgaW5kZXgpOwotICAgICAgICBpZiAodGFnID09IGtDVEZvbnRU
YWJsZVZoZWEgfHwgdGFnID09IGtDVEZvbnRUYWJsZVZPUkcpCisgICAgICAgIGF1dG8gdGFnID0g
Q0ZBcnJheUdldFZhbHVlQXRJbmRleCh0YWJsZVRhZ3MuZ2V0KCksIGluZGV4KTsKKyAgICAgICAg
aWYgKHRhZyA9PSB0YWJsZVRhZykKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICAg
ICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKworc3RhdGljIGlubGluZSBib29sIGNhc2VJbnNl
bnNpdGl2ZUNvbXBhcmUoQ0ZTdHJpbmdSZWYgYSwgQ0ZTdHJpbmdSZWYgYikKK3sKKyAgICByZXR1
cm4gYSAmJiBDRlN0cmluZ0NvbXBhcmUoYSwgYiwga0NGQ29tcGFyZUNhc2VJbnNlbnNpdGl2ZSkg
PT0ga0NGQ29tcGFyZUVxdWFsVG87Cit9CisKK3N0YXRpYyBib29sIGZvbnRIYXNWZXJ0aWNhbEds
eXBocyhDVEZvbnRSZWYgZm9udCkKK3sKKyAgICByZXR1cm4gZm9udEhhc1RhYmxlKGZvbnQsIGtD
VEZvbnRUYWJsZVZoZWEpIHx8IGZvbnRIYXNUYWJsZShmb250LCBrQ1RGb250VGFibGVWT1JHKTsK
IH0KIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9PcGVuVHlwZUNHLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3BwCmluZGV4IGUxYjU2
ZmFiNDRhNzI5Zjc3MGJhOWZlODI2YTg3ZTVmZTFmZGE1OGIuLjJiNjMxNjM3NDNmNTIzMDFmNjhi
NDIzZTBjOTBhNTAxZmU3YjM0OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3BwCkBAIC0yNiw2ICsyNiw3IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiT3BlblR5cGVDRy5oIgogCisjaW5jbHVk
ZSAiRm9udC5oIgogI2luY2x1ZGUgIk9wZW5UeXBlVHlwZXMuaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewpAQCAtMzUsMTggKzM2LDkgQEAgbmFtZXNwYWNlIE9wZW5UeXBlIHsKIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBsb25nIGtDVEZvbnRUYWJsZU9TMiA9ICdPUy8yJzsKICNlbmRpZgogCi1ib29s
IGZvbnRIYXNNYXRoVGFibGUoQ1RGb250UmVmIGN0Rm9udCkKK2Jvb2wgZm9udEhhc01hdGhUYWJs
ZShDVEZvbnRSZWYgZm9udCkKIHsKLSAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gdGFibGVUYWdz
ID0gYWRvcHRDRihDVEZvbnRDb3B5QXZhaWxhYmxlVGFibGVzKGN0Rm9udCwga0NURm9udFRhYmxl
T3B0aW9uTm9PcHRpb25zKSk7Ci0gICAgaWYgKCF0YWJsZVRhZ3MpCi0gICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICBDRkluZGV4IG51bVRhYmxlcyA9IENGQXJyYXlHZXRDb3VudCh0YWJsZVRhZ3Mu
Z2V0KCkpOwotICAgIGZvciAoQ0ZJbmRleCBpbmRleCA9IDA7IGluZGV4IDwgbnVtVGFibGVzOyAr
K2luZGV4KSB7Ci0gICAgICAgIENURm9udFRhYmxlVGFnIHRhZyA9IChDVEZvbnRUYWJsZVRhZyko
dWludHB0cl90KUNGQXJyYXlHZXRWYWx1ZUF0SW5kZXgodGFibGVUYWdzLmdldCgpLCBpbmRleCk7
Ci0gICAgICAgIGlmICh0YWcgPT0gJ01BVEgnKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgfQotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gZm9udEhhc1RhYmxlKGZvbnQsIGtD
VEZvbnRUYWJsZU1BVEgpOwogfQogCiBzdGF0aWMgaW5saW5lIHNob3J0IHJlYWRTaG9ydEZyb21U
YWJsZShjb25zdCBVSW50OCogb3MyRGF0YSwgQ0ZJbmRleCBvZmZzZXQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408096</attachid>
            <date>2020-09-05 14:28:29 -0700</date>
            <delta_ts>2020-09-05 14:48:02 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-215688-20200905142828.patch</filename>
            <type>text/plain</type>
            <size>10818</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NjY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZjY2Q1NDFhMDhiZjY0Mzc5Yjg3OTM0
NzZlYTRhN2I5NDJhM2Y5NDIuLjkyMWQ1Y2ZmODRhMmQ5Yzc2Yjc2M2JjYzhhNDZlN2MyNGM4MjNm
ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDktMDUgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIENURm9udEhhc1RhYmxlKCkg
aXMgZmFzdGVyIHRoYW4gaXRlcmF0aW5nIG92ZXIgZXZlcnkgdGFibGUgaW4gdGhlIGZvbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTY4OAorCisg
ICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICogd3RmL1BsYXRmb3Jt
SGF2ZS5oOgorCiAyMDIwLTA5LTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgTW92ZSBQREYgaGVhZHMtdXAgZGlzcGxheSB0byBVSSBwcm9j
ZXNzIG9uIG1hY09TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRkMDYwNTM4OWJhOWYxYjAxMDQwY2I5Y2YyNWQ5
OTE5MTcwMmVhZS4uMmI1OTFlNDhjMWU0ZTE4MjAzMTIyYjg5NmQ3YjgwNGQ1NGVhYmEzYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIwLTA5LTA1ICBNeWxlcyBDLiBNYXhmaWVsZCAg
PG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBDVEZvbnRIYXNUYWJsZSgp
IGlzIGZhc3RlciB0aGFuIGl0ZXJhdGluZyBvdmVyIGV2ZXJ5IHRhYmxlIGluIHRoZSBmb250Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTU2ODgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBXZSBjYW4gZGlyZWN0
bHkgYXNrIENvcmUgVGV4dCBmb3IgdGhlIGluZm9ybWF0aW9uIHdlJ3JlIGxvb2tpbmcgZm9yLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXJlIGlzIG5vIGJlaGF2aW9yIGNoYW5n
ZS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRUeXBlOjpGb250VHlwZSk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6
Zm9udEhhc1ZlcnRpY2FsR2x5cGhzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVu
dHlwZS9PcGVuVHlwZUNHLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok9wZW5UeXBlOjpmb250SGFz
TWF0aFRhYmxlKToKKwogMjAyMC0wOS0wNSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRA
YXBwbGUuY29tPgogCiAgICAgICAgIFttYWNPU10gRG9uJ3QgYXBwbHkgc3ludGhldGljIGJvbGQg
b3IgaXRhbGljcyB0byBlbW9qaQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggYWUyMjJiM2MwOTU4NzBj
OTQ1NjNjYjhjYzc1YTU2MGM2MDAzODZmNS4uYzdkMzU1MmE2ZTFiZTJmNzIzNWFhMmUzM2E3NjIx
MjRhOGQ4ZGY4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDkt
MDUgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBb
Q29jb2FdIENURm9udEhhc1RhYmxlKCkgaXMgZmFzdGVyIHRoYW4gaXRlcmF0aW5nIG92ZXIgZXZl
cnkgdGFibGUgaW4gdGhlIGZvbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxNTY4OAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgor
CisgICAgICAgICogcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oOgorCiAyMDIwLTA5LTA0ICBT
aWh1aSBMaXUgIDxzaWh1aV9saXVAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYnBhZ2VzIGZsYXNo
IHdoZW4gc3dpdGNoaW5nIGJldHdlZW4gd2luZG93cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvUGxhdGZvcm1IYXZlLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAppbmRleCA1
ODQzYzc4ZGY3NjZhZmQyNzU5NmFmNTJlMTJhNjk4NDk1OWIxMmIxLi43N2UxYmMwMTk0MTc2YjNj
YjJmNWEwMzFmZGFlNGRmYzRiODliMTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0
Zm9ybUhhdmUuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaApAQCAtNzMyLDMg
KzczMiw3IEBACiAgICAgfHwgKFBMQVRGT1JNKEFQUExFVFYpICYmIF9fVFZfT1NfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTQwMDAwKQogI2RlZmluZSBIQVZFX0NGTkVUV09SS19DTkFNRV9BTkRf
Q09PS0lFX1RSQU5TRk9STV9TUEkgMQogI2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkgJiYg
IShQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1
MDApCisjZGVmaW5lIEhBVkVfQ1RGT05USEFTVEFCTEUgMQorI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oIGIvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaAppbmRleCBiMjI4ZjliYzgzMjQ4
MzM0OTRhMGM3ODE4M2I0ZjJlM2I1NWE5ZjE2Li5lMGY5NGEzYTRhNTY4NTU2MGExMDcwODA1MmIy
YWVkMmNmZGIyYjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2Nv
YS9Db3JlVGV4dFNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0Nv
cmVUZXh0U1BJLmgKQEAgLTE0MSw2ICsxNDEsNyBAQCBDVEZvbnRSZWYgQ1RGb250Q3JlYXRlRm9y
Q1NTKENGU3RyaW5nUmVmIG5hbWUsIHVpbnQxNl90IHdlaWdodCwgQ1RGb250U3ltYm9saWNUcgog
Q1RGb250UmVmIENURm9udENyZWF0ZUZvckNoYXJhY3RlcnNXaXRoTGFuZ3VhZ2UoQ1RGb250UmVm
IGN1cnJlbnRGb250LCBjb25zdCBVVEYxNkNoYXIgKmNoYXJhY3RlcnMsIENGSW5kZXggbGVuZ3Ro
LCBDRlN0cmluZ1JlZiBsYW5ndWFnZSwgQ0ZJbmRleCAqY292ZXJlZExlbmd0aCk7CiBDVEZvbnRS
ZWYgQ1RGb250Q3JlYXRlRm9yQ2hhcmFjdGVyc1dpdGhMYW5ndWFnZUFuZE9wdGlvbihDVEZvbnRS
ZWYgY3VycmVudEZvbnQsIGNvbnN0IFVURjE2Q2hhciAqY2hhcmFjdGVycywgQ0ZJbmRleCBsZW5n
dGgsIENGU3RyaW5nUmVmIGxhbmd1YWdlLCBDVEZvbnRGYWxsYmFja09wdGlvbiBvcHRpb24sIENG
SW5kZXggKmNvdmVyZWRMZW5ndGgpOwogQ1RGb250UmVmIENURm9udENvcHlQaHlzaWNhbEZvbnQo
Q1RGb250UmVmKTsKK2Jvb2wgQ1RGb250SGFzVGFibGUoQ1RGb250UmVmLCBDVEZvbnRUYWJsZVRh
Zyk7CiAKIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVTaG9ydEhl
YWRsaW5lOwogZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZVNob3J0
Qm9keTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAppbmRleCA4ZWMzMzgw
ZDdiN2U0NWMwZDExZTdjOGM0ZWY3MjFmNjllYjI1ZjBmLi45NDIxY2EyY2E4YWZhMTNiN2NiYjJk
ODk3ZGM5M2E0NDM0YjA2YWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dC5oCkBAIC02NCw2ICs2NCwxMCBAQCBlbnVtIEZvbnRWYXJpYW50IHsgQXV0b1ZhcmlhbnQsIE5v
cm1hbFZhcmlhbnQsIFNtYWxsQ2Fwc1ZhcmlhbnQsIEVtcGhhc2lzTWFya1ZhcgogZW51bSBQaXRj
aCB7IFVua25vd25QaXRjaCwgRml4ZWRQaXRjaCwgVmFyaWFibGVQaXRjaCB9OwogZW51bSBjbGFz
cyBJc0ZvclBsYXRmb3JtRm9udCA6IHVpbnQ4X3QgeyBObywgWWVzIH07CiAKKyNpZiBQTEFURk9S
TShDT0NPQSkKK2Jvb2wgZm9udEhhc1RhYmxlKENURm9udFJlZiwgdW5zaWduZWQgdGFibGVUYWcp
OworI2VuZGlmCisKIERFQ0xBUkVfQUxMT0NBVE9SX1dJVEhfSEVBUF9JREVOVElGSUVSKEZvbnQp
OwogY2xhc3MgRm9udCA6IHB1YmxpYyBSZWZDb3VudGVkPEZvbnQ+IHsKICAgICBXVEZfTUFLRV9G
QVNUX0FMTE9DQVRFRF9XSVRIX0hFQVBfSURFTlRJRklFUihGb250KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVU
ZXh0LmNwcAppbmRleCA5M2IyNjljYTk0ZDk1NDZkMTRmZGVmYWFhZGVhOGUyZmY2NTNiODFjLi43
NDc0OWFmODU3ZDJjNWYzZWExNTRhY2QwZmE2OWMzODYzZjM0ZmQ4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29y
ZVRleHQuY3BwCkBAIC00ODUsNDAgKzQ4NSw0OCBAQCBzdGF0aWMgaW5saW5lIGZsb2F0IG5vcm1h
bGl6ZVdpZHRoKGZsb2F0IHZhbHVlKQogc3RydWN0IEZvbnRUeXBlIHsKICAgICBGb250VHlwZShD
VEZvbnRSZWYgZm9udCkKICAgICB7CisgICAgICAgIGJvb2wgZm91bmRTdGF0ID0gZmFsc2U7Cisg
ICAgICAgIGJvb2wgZm91bmRUcmFrID0gZmFsc2U7CisjaWYgVVNFKENURk9OVEhBU1RBQkxFKQor
ICAgICAgICBib29sIGZvdW5kRnZhciA9IENURm9udEhhc1RhYmxlKGZvbnQsIGtDVEZvbnRUYWJs
ZUZ2YXIpOworICAgICAgICBmb3VuZFN0YXQgPSBDVEZvbnRIYXNUYWJsZShmb250LCBrQ1RGb250
VGFibGVTVEFUKTsKKyAgICAgICAgYWF0U2hhcGluZyA9IENURm9udEhhc1RhYmxlKGZvbnQsIGtD
VEZvbnRUYWJsZU1vcngpIHx8IENURm9udEhhc1RhYmxlKGZvbnQsIGtDVEZvbnRUYWJsZU1vcnQp
OworICAgICAgICBvcGVuVHlwZVNoYXBpbmcgPSBDVEZvbnRIYXNUYWJsZShmb250LCBrQ1RGb250
VGFibGVHUE9TKSB8fCBDVEZvbnRIYXNUYWJsZShmb250LCBrQ1RGb250VGFibGVHU1VCKTsKKyAg
ICAgICAgZm91bmRUcmFrID0gQ1RGb250SGFzVGFibGUoZm9udCwga0NURm9udFRhYmxlVHJhayk7
CisgICAgICAgIGlmIChmb3VuZFN0YXQpCisgICAgICAgICAgICB2YXJpYXRpb25UeXBlID0gVmFy
aWF0aW9uVHlwZTo6T3BlblR5cGUxODsKKyAgICAgICAgZWxzZSBpZiAoZm91bmRGdmFyKQorICAg
ICAgICAgICAgdmFyaWF0aW9uVHlwZSA9IFZhcmlhdGlvblR5cGU6OlRydWVUeXBlR1g7CisjZWxz
ZQogICAgICAgICBhdXRvIHRhYmxlcyA9IGFkb3B0Q0YoQ1RGb250Q29weUF2YWlsYWJsZVRhYmxl
cyhmb250LCBrQ1RGb250VGFibGVPcHRpb25Ob09wdGlvbnMpKTsKICAgICAgICAgaWYgKCF0YWJs
ZXMpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGJvb2wgZm91bmRTdGF0ID0gZmFsc2U7
Ci0gICAgICAgIGJvb2wgZm91bmRUcmFrID0gZmFsc2U7CiAgICAgICAgIGF1dG8gc2l6ZSA9IENG
QXJyYXlHZXRDb3VudCh0YWJsZXMuZ2V0KCkpOwogICAgICAgICBmb3IgKENGSW5kZXggaSA9IDA7
IGkgPCBzaXplOyArK2kpIHsKLSAgICAgICAgICAgIC8vIFRoaXMgaXMgc28geXVja3kuCi0gICAg
ICAgICAgICAvLyBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vcmVmZXJlbmNlL2NvcmV0ZXh0
LzE1MTA3NzQtY3Rmb250Y29weWF2YWlsYWJsZXRhYmxlcwotICAgICAgICAgICAgLy8gIlRoZSBy
ZXR1cm5lZCBzZXQgd2lsbCBjb250YWluIHVuYm94ZWQgdmFsdWVzLCB3aGljaCBjYW4gYmUgZXh0
cmFjdGVkIGxpa2Ugc286IgotICAgICAgICAgICAgLy8gIkNURm9udFRhYmxlVGFnIHRhZyA9IChD
VEZvbnRUYWJsZVRhZykodWludHB0cl90KUNGQXJyYXlHZXRWYWx1ZUF0SW5kZXgodGFncywgaW5k
ZXgpOyIKLSAgICAgICAgICAgIENURm9udFRhYmxlVGFnIHRhYmxlVGFnID0gc3RhdGljX2Nhc3Q8
Q1RGb250VGFibGVUYWc+KHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihDRkFycmF5R2V0VmFs
dWVBdEluZGV4KHRhYmxlcy5nZXQoKSwgaSkpKTsKKyAgICAgICAgICAgIGF1dG8gdGFibGVUYWcg
PSBzdGF0aWNfY2FzdDxDVEZvbnRUYWJsZVRhZz4ocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+
KENGQXJyYXlHZXRWYWx1ZUF0SW5kZXgodGFibGVzLmdldCgpLCBpKSkpOwogICAgICAgICAgICAg
c3dpdGNoICh0YWJsZVRhZykgewotICAgICAgICAgICAgY2FzZSAnZnZhcic6CisgICAgICAgICAg
ICBjYXNlIGtDVEZvbnRUYWJsZUZ2YXI6CiAgICAgICAgICAgICAgICAgaWYgKHZhcmlhdGlvblR5
cGUgPT0gVmFyaWF0aW9uVHlwZTo6Tm90VmFyaWFibGUpCiAgICAgICAgICAgICAgICAgICAgIHZh
cmlhdGlvblR5cGUgPSBWYXJpYXRpb25UeXBlOjpUcnVlVHlwZUdYOwogICAgICAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICAgICAgY2FzZSAnU1RBVCc6CisgICAgICAgICAgICBjYXNlIGtDVEZv
bnRUYWJsZVNUQVQ6CiAgICAgICAgICAgICAgICAgZm91bmRTdGF0ID0gdHJ1ZTsKICAgICAgICAg
ICAgICAgICB2YXJpYXRpb25UeXBlID0gVmFyaWF0aW9uVHlwZTo6T3BlblR5cGUxODsKICAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgJ21vcngnOgotICAgICAgICAgICAg
Y2FzZSAnbW9ydCc6CisgICAgICAgICAgICBjYXNlIGtDVEZvbnRUYWJsZU1vcng6CisgICAgICAg
ICAgICBjYXNlIGtDVEZvbnRUYWJsZU1vcnQ6CiAgICAgICAgICAgICAgICAgYWF0U2hhcGluZyA9
IHRydWU7CiAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICdHUE9TJzoK
LSAgICAgICAgICAgIGNhc2UgJ0dTVUInOgorICAgICAgICAgICAgY2FzZSBrQ1RGb250VGFibGVH
UE9TOgorICAgICAgICAgICAgY2FzZSBrQ1RGb250VGFibGVHU1VCOgogICAgICAgICAgICAgICAg
IG9wZW5UeXBlU2hhcGluZyA9IHRydWU7CiAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICBjYXNlICd0cmFrJzoKKyAgICAgICAgICAgIGNhc2Uga0NURm9udFRhYmxlVHJhazoKICAg
ICAgICAgICAgICAgICBmb3VuZFRyYWsgPSB0cnVlOwogICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgfQogICAgICAgICB9CisjZW5kaWYKICAgICAgICAgaWYgKGZvdW5kU3RhdCAm
JiBmb3VuZFRyYWspCiAgICAgICAgICAgICB0cmFja2luZ1R5cGUgPSBUcmFja2luZ1R5cGU6OkF1
dG9tYXRpYzsKICAgICAgICAgZWxzZSBpZiAoZm91bmRUcmFrKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tCmluZGV4IDkzZmIwMDA0
ZTJkMDRhYTc1OTMzYTFiZDFjYjdiYzhiODE3ZjVjYzQuLjg3ZjE1YmI3NDE3Yjg1NzRkMjFmY2M1
OGFkNWQ0NDkwZWIwODdmZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW0KQEAgLTU3LDI0ICs1NywzMiBAQCBAZW5kCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGlubGluZSBib29sIGNhc2VJbnNlbnNpdGl2ZUNv
bXBhcmUoQ0ZTdHJpbmdSZWYgYSwgQ0ZTdHJpbmdSZWYgYikKLXsKLSAgICByZXR1cm4gYSAmJiBD
RlN0cmluZ0NvbXBhcmUoYSwgYiwga0NGQ29tcGFyZUNhc2VJbnNlbnNpdGl2ZSkgPT0ga0NGQ29t
cGFyZUVxdWFsVG87Ci19Ci0KLXN0YXRpYyBib29sIGZvbnRIYXNWZXJ0aWNhbEdseXBocyhDVEZv
bnRSZWYgY3RGb250KQorYm9vbCBmb250SGFzVGFibGUoQ1RGb250UmVmIGN0Rm9udCwgdW5zaWdu
ZWQgdGFibGVUYWcpCiB7Ci0gICAgLy8gVGhlIGNoZWNrIGRvZXNuJ3QgbG9vayBuZWF0IGJ1dCB0
aGlzIGlzIHdoYXQgQXBwS2l0IGRvZXMgZm9yIHZlcnRpY2FsIHdyaXRpbmcuLi4KLSAgICBSZXRh
aW5QdHI8Q0ZBcnJheVJlZj4gdGFibGVUYWdzID0gYWRvcHRDRihDVEZvbnRDb3B5QXZhaWxhYmxl
VGFibGVzKGN0Rm9udCwga0NURm9udFRhYmxlT3B0aW9uTm9PcHRpb25zKSk7CisjaWYgSEFWRShD
VEZPTlRIQVNUQUJMRSkKKyAgICByZXR1cm4gQ1RGb250SGFzVGFibGUoY3RGb250LCB0YWJsZVRh
Zyk7CisjZWxzZQorICAgIGF1dG8gdGFibGVUYWdzID0gYWRvcHRDRihDVEZvbnRDb3B5QXZhaWxh
YmxlVGFibGVzKGN0Rm9udCwga0NURm9udFRhYmxlT3B0aW9uTm9PcHRpb25zKSk7CiAgICAgaWYg
KCF0YWJsZVRhZ3MpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBDRkluZGV4IG51bVRhYmxl
cyA9IENGQXJyYXlHZXRDb3VudCh0YWJsZVRhZ3MuZ2V0KCkpOwogICAgIGZvciAoQ0ZJbmRleCBp
bmRleCA9IDA7IGluZGV4IDwgbnVtVGFibGVzOyArK2luZGV4KSB7Ci0gICAgICAgIENURm9udFRh
YmxlVGFnIHRhZyA9IChDVEZvbnRUYWJsZVRhZykodWludHB0cl90KUNGQXJyYXlHZXRWYWx1ZUF0
SW5kZXgodGFibGVUYWdzLmdldCgpLCBpbmRleCk7Ci0gICAgICAgIGlmICh0YWcgPT0ga0NURm9u
dFRhYmxlVmhlYSB8fCB0YWcgPT0ga0NURm9udFRhYmxlVk9SRykKKyAgICAgICAgYXV0byB0YWcg
PSBDRkFycmF5R2V0VmFsdWVBdEluZGV4KHRhYmxlVGFncy5nZXQoKSwgaW5kZXgpOworICAgICAg
ICBpZiAodGFnID09IHRhYmxlVGFnKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQog
ICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorCitzdGF0aWMgaW5saW5lIGJvb2wgY2FzZUlu
c2Vuc2l0aXZlQ29tcGFyZShDRlN0cmluZ1JlZiBhLCBDRlN0cmluZ1JlZiBiKQoreworICAgIHJl
dHVybiBhICYmIENGU3RyaW5nQ29tcGFyZShhLCBiLCBrQ0ZDb21wYXJlQ2FzZUluc2Vuc2l0aXZl
KSA9PSBrQ0ZDb21wYXJlRXF1YWxUbzsKK30KKworc3RhdGljIGJvb2wgZm9udEhhc1ZlcnRpY2Fs
R2x5cGhzKENURm9udFJlZiBmb250KQoreworICAgIHJldHVybiBmb250SGFzVGFibGUoZm9udCwg
a0NURm9udFRhYmxlVmhlYSkgfHwgZm9udEhhc1RhYmxlKGZvbnQsIGtDVEZvbnRUYWJsZVZPUkcp
OwogfQogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVDRy5jcHAKaW5kZXggZTFi
NTZmYWI0NGE3MjlmNzcwYmE5ZmU4MjZhODdlNWZlMWZkYTU4Yi4uMmI2MzE2Mzc0M2Y1MjMwMWY2
OGI0MjNlMGM5MGE1MDFmZTdiMzQ5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVDRy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVDRy5jcHAKQEAgLTI2LDYgKzI2LDcg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJPcGVuVHlwZUNHLmgiCiAKKyNpbmNs
dWRlICJGb250LmgiCiAjaW5jbHVkZSAiT3BlblR5cGVUeXBlcy5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CkBAIC0zNSwxOCArMzYsOSBAQCBuYW1lc3BhY2UgT3BlblR5cGUgewogc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGxvbmcga0NURm9udFRhYmxlT1MyID0gJ09TLzInOwogI2VuZGlmCiAKLWJv
b2wgZm9udEhhc01hdGhUYWJsZShDVEZvbnRSZWYgY3RGb250KQorYm9vbCBmb250SGFzTWF0aFRh
YmxlKENURm9udFJlZiBmb250KQogewotICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiB0YWJsZVRh
Z3MgPSBhZG9wdENGKENURm9udENvcHlBdmFpbGFibGVUYWJsZXMoY3RGb250LCBrQ1RGb250VGFi
bGVPcHRpb25Ob09wdGlvbnMpKTsKLSAgICBpZiAoIXRhYmxlVGFncykKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIENGSW5kZXggbnVtVGFibGVzID0gQ0ZBcnJheUdldENvdW50KHRhYmxlVGFn
cy5nZXQoKSk7Ci0gICAgZm9yIChDRkluZGV4IGluZGV4ID0gMDsgaW5kZXggPCBudW1UYWJsZXM7
ICsraW5kZXgpIHsKLSAgICAgICAgQ1RGb250VGFibGVUYWcgdGFnID0gKENURm9udFRhYmxlVGFn
KSh1aW50cHRyX3QpQ0ZBcnJheUdldFZhbHVlQXRJbmRleCh0YWJsZVRhZ3MuZ2V0KCksIGluZGV4
KTsKLSAgICAgICAgaWYgKHRhZyA9PSAnTUFUSCcpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
LSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBmb250SGFzVGFibGUoZm9udCwg
a0NURm9udFRhYmxlTUFUSCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgc2hvcnQgcmVhZFNob3J0RnJv
bVRhYmxlKGNvbnN0IFVJbnQ4KiBvczJEYXRhLCBDRkluZGV4IG9mZnNldCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408100</attachid>
            <date>2020-09-05 14:48:09 -0700</date>
            <delta_ts>2020-09-06 15:39:53 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-215688-20200905144809.patch</filename>
            <type>text/plain</type>
            <size>11107</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NjcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY3N2VmMzgwMDljZGYzMGI1ZjQ2YmEy
ZjZlMjA1ODBiMjZlMDMwZjQuLmJkMDUyY2M0N2E2ZGVhY2YwM2FiMjliMjRjYjk3MzQ3OGM2MzQx
MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDktMDUgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIENURm9udEhhc1RhYmxlKCkg
aXMgZmFzdGVyIHRoYW4gaXRlcmF0aW5nIG92ZXIgZXZlcnkgdGFibGUgaW4gdGhlIGZvbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTY4OAorCisg
ICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICogd3RmL1BsYXRmb3Jt
SGF2ZS5oOgorCiAyMDIwLTA5LTA1ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBs
ZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBVU0UoUExBVEZPUk1fU1lTVEVNX0ZBTExCQUNLX0xJ
U1QpIGlzIHRydWUgb24gYWxsIENvY29hIHBsYXRmb3Jtcywgc28gdGhlcmUncyBubyBuZWVkIHRv
IGNvbnN1bHQgaXQgaW4gQ29jb2Etc3BlY2lmaWMgZmlsZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0ZmFkYTI5
ZmU2ZGE4ZGFkZjgwNDg5M2Q4MmFkOTI4ZWYzNDRjMGM4Li44MWQ2MDIyNmFlNTIxYzM2OWY5ZGM0
ZDhkZjVkNTBlNzY1YmE5MjZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjAtMDkt
MDUgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBb
Q29jb2FdIENURm9udEhhc1RhYmxlKCkgaXMgZmFzdGVyIHRoYW4gaXRlcmF0aW5nIG92ZXIgZXZl
cnkgdGFibGUgaW4gdGhlIGZvbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxNTY4OAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgor
CisgICAgICAgIFdlIGNhbiBkaXJlY3RseSBhc2sgQ29yZSBUZXh0IGZvciB0aGUgaW5mb3JtYXRp
b24gd2UncmUgbG9va2luZyBmb3IuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhl
cmUgaXMgbm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFR5cGU6
OkZvbnRUeXBlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2Eu
bW06CisgICAgICAgIChXZWJDb3JlOjpmb250SGFzVmVydGljYWxHbHlwaHMpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6T3BlblR5cGU6OmZvbnRIYXNNYXRoVGFibGUpOgorCiAyMDIwLTA5LTA1ICBNeWxlcyBD
LiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBVU0Uo
UExBVEZPUk1fU1lTVEVNX0ZBTExCQUNLX0xJU1QpIGlzIHRydWUgb24gYWxsIENvY29hIHBsYXRm
b3Jtcywgc28gdGhlcmUncyBubyBuZWVkIHRvIGNvbnN1bHQgaXQgaW4gQ29jb2Etc3BlY2lmaWMg
ZmlsZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4IGM4MzUwMjlkYzRkMWRiYjYyZjczZDgyZTUxNGQw
NGNlZTBkMWUzMGUuLmFmODk0OTg3MzZjNjdiYWFjYTQ2Y2FiNWQ3ODZlMTMxYThiNGMwNjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTA5LTA1ICBNeWxlcyBDLiBN
YXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBDVEZvbnRI
YXNUYWJsZSgpIGlzIGZhc3RlciB0aGFuIGl0ZXJhdGluZyBvdmVyIGV2ZXJ5IHRhYmxlIGluIHRo
ZSBmb250CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MTU2ODgKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIHBh
bC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaDoKKwogMjAyMC0wOS0wNSAgTXlsZXMgQy4gTWF4Zmll
bGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gVVNFKFBMQVRGT1JN
X1NZU1RFTV9GQUxMQkFDS19MSVNUKSBpcyB0cnVlIG9uIGFsbCBDb2NvYSBwbGF0Zm9ybXMsIHNv
IHRoZXJlJ3Mgbm8gbmVlZCB0byBjb25zdWx0IGl0IGluIENvY29hLXNwZWNpZmljIGZpbGVzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCBiL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtSGF2ZS5oCmluZGV4IDBiY2Y4MWYzMDU5MzNiNzlmNTFiMjRiZmY4OTkwNWE1N2Uz
MTU1YmMuLjA4NDdlMjAxZTE2YWYxNjVhYjMyMmExNGM5MmU4MzU4ZDE1MzkzMTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1Bs
YXRmb3JtSGF2ZS5oCkBAIC03MzksMyArNzM5LDcgQEAKICAgICB8fCAoUExBVEZPUk0oQVBQTEVU
VikgJiYgX19UVl9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxNDAwMDApCiAjZGVmaW5lIEhB
VkVfQ1RGT05USVNTWVNURU1VSUZPTlQgMQogI2VuZGlmCisKKyNpZiBQTEFURk9STShDT0NPQSkg
JiYgIShQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAx
MDE1MDApCisjZGVmaW5lIEhBVkVfQ1RGT05USEFTVEFCTEUgMQorI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaAppbmRleCAwMmI3NjI1Zjhj
MjFmNTVjNzQ0NzgwZTQ4OTc2MjJlZDRmY2JmYjUyLi4yN2ZmODdkMTY0ZTMzNmZmOGFkOTk3OGJl
NzAwYmNmNTA0ZmY3MGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9j
b2NvYS9Db3JlVGV4dFNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29h
L0NvcmVUZXh0U1BJLmgKQEAgLTE0Miw2ICsxNDIsNyBAQCBDVEZvbnRSZWYgQ1RGb250Q3JlYXRl
Rm9yQ1NTKENGU3RyaW5nUmVmIG5hbWUsIHVpbnQxNl90IHdlaWdodCwgQ1RGb250U3ltYm9saWNU
cgogQ1RGb250UmVmIENURm9udENyZWF0ZUZvckNoYXJhY3RlcnNXaXRoTGFuZ3VhZ2UoQ1RGb250
UmVmIGN1cnJlbnRGb250LCBjb25zdCBVVEYxNkNoYXIgKmNoYXJhY3RlcnMsIENGSW5kZXggbGVu
Z3RoLCBDRlN0cmluZ1JlZiBsYW5ndWFnZSwgQ0ZJbmRleCAqY292ZXJlZExlbmd0aCk7CiBDVEZv
bnRSZWYgQ1RGb250Q3JlYXRlRm9yQ2hhcmFjdGVyc1dpdGhMYW5ndWFnZUFuZE9wdGlvbihDVEZv
bnRSZWYgY3VycmVudEZvbnQsIGNvbnN0IFVURjE2Q2hhciAqY2hhcmFjdGVycywgQ0ZJbmRleCBs
ZW5ndGgsIENGU3RyaW5nUmVmIGxhbmd1YWdlLCBDVEZvbnRGYWxsYmFja09wdGlvbiBvcHRpb24s
IENGSW5kZXggKmNvdmVyZWRMZW5ndGgpOwogQ1RGb250UmVmIENURm9udENvcHlQaHlzaWNhbEZv
bnQoQ1RGb250UmVmKTsKK2Jvb2wgQ1RGb250SGFzVGFibGUoQ1RGb250UmVmLCBDVEZvbnRUYWJs
ZVRhZyk7CiAKIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZvbnRUZXh0U3R5bGVTaG9y
dEhlYWRsaW5lOwogZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVFVJRm9udFRleHRTdHlsZVNo
b3J0Qm9keTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAppbmRleCA4ZWMz
MzgwZDdiN2U0NWMwZDExZTdjOGM0ZWY3MjFmNjllYjI1ZjBmLi45NDIxY2EyY2E4YWZhMTNiN2Ni
YjJkODk3ZGM5M2E0NDM0YjA2YWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udC5oCkBAIC02NCw2ICs2NCwxMCBAQCBlbnVtIEZvbnRWYXJpYW50IHsgQXV0b1ZhcmlhbnQs
IE5vcm1hbFZhcmlhbnQsIFNtYWxsQ2Fwc1ZhcmlhbnQsIEVtcGhhc2lzTWFya1ZhcgogZW51bSBQ
aXRjaCB7IFVua25vd25QaXRjaCwgRml4ZWRQaXRjaCwgVmFyaWFibGVQaXRjaCB9OwogZW51bSBj
bGFzcyBJc0ZvclBsYXRmb3JtRm9udCA6IHVpbnQ4X3QgeyBObywgWWVzIH07CiAKKyNpZiBQTEFU
Rk9STShDT0NPQSkKK2Jvb2wgZm9udEhhc1RhYmxlKENURm9udFJlZiwgdW5zaWduZWQgdGFibGVU
YWcpOworI2VuZGlmCisKIERFQ0xBUkVfQUxMT0NBVE9SX1dJVEhfSEVBUF9JREVOVElGSUVSKEZv
bnQpOwogY2xhc3MgRm9udCA6IHB1YmxpYyBSZWZDb3VudGVkPEZvbnQ+IHsKICAgICBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRF9XSVRIX0hFQVBfSURFTlRJRklFUihGb250KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNv
cmVUZXh0LmNwcAppbmRleCBmOGVmZWI4ZTFkZjM0MjlmNzQ4NTg0MjA5YTViNzkxN2IyOTIyZGFh
Li5jZTg1MGVmNDI1ZDA0YjY0Y2I0MDM4ODFiOGVmMGI2NjE1MWM2ODEwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hl
Q29yZVRleHQuY3BwCkBAIC00ODUsNDAgKzQ4NSw0OCBAQCBzdGF0aWMgaW5saW5lIGZsb2F0IG5v
cm1hbGl6ZVdpZHRoKGZsb2F0IHZhbHVlKQogc3RydWN0IEZvbnRUeXBlIHsKICAgICBGb250VHlw
ZShDVEZvbnRSZWYgZm9udCkKICAgICB7CisgICAgICAgIGJvb2wgZm91bmRTdGF0ID0gZmFsc2U7
CisgICAgICAgIGJvb2wgZm91bmRUcmFrID0gZmFsc2U7CisjaWYgVVNFKENURk9OVEhBU1RBQkxF
KQorICAgICAgICBib29sIGZvdW5kRnZhciA9IENURm9udEhhc1RhYmxlKGZvbnQsIGtDVEZvbnRU
YWJsZUZ2YXIpOworICAgICAgICBmb3VuZFN0YXQgPSBDVEZvbnRIYXNUYWJsZShmb250LCBrQ1RG
b250VGFibGVTVEFUKTsKKyAgICAgICAgYWF0U2hhcGluZyA9IENURm9udEhhc1RhYmxlKGZvbnQs
IGtDVEZvbnRUYWJsZU1vcngpIHx8IENURm9udEhhc1RhYmxlKGZvbnQsIGtDVEZvbnRUYWJsZU1v
cnQpOworICAgICAgICBvcGVuVHlwZVNoYXBpbmcgPSBDVEZvbnRIYXNUYWJsZShmb250LCBrQ1RG
b250VGFibGVHUE9TKSB8fCBDVEZvbnRIYXNUYWJsZShmb250LCBrQ1RGb250VGFibGVHU1VCKTsK
KyAgICAgICAgZm91bmRUcmFrID0gQ1RGb250SGFzVGFibGUoZm9udCwga0NURm9udFRhYmxlVHJh
ayk7CisgICAgICAgIGlmIChmb3VuZFN0YXQpCisgICAgICAgICAgICB2YXJpYXRpb25UeXBlID0g
VmFyaWF0aW9uVHlwZTo6T3BlblR5cGUxODsKKyAgICAgICAgZWxzZSBpZiAoZm91bmRGdmFyKQor
ICAgICAgICAgICAgdmFyaWF0aW9uVHlwZSA9IFZhcmlhdGlvblR5cGU6OlRydWVUeXBlR1g7Cisj
ZWxzZQogICAgICAgICBhdXRvIHRhYmxlcyA9IGFkb3B0Q0YoQ1RGb250Q29weUF2YWlsYWJsZVRh
Ymxlcyhmb250LCBrQ1RGb250VGFibGVPcHRpb25Ob09wdGlvbnMpKTsKICAgICAgICAgaWYgKCF0
YWJsZXMpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGJvb2wgZm91bmRTdGF0ID0gZmFs
c2U7Ci0gICAgICAgIGJvb2wgZm91bmRUcmFrID0gZmFsc2U7CiAgICAgICAgIGF1dG8gc2l6ZSA9
IENGQXJyYXlHZXRDb3VudCh0YWJsZXMuZ2V0KCkpOwogICAgICAgICBmb3IgKENGSW5kZXggaSA9
IDA7IGkgPCBzaXplOyArK2kpIHsKLSAgICAgICAgICAgIC8vIFRoaXMgaXMgc28geXVja3kuCi0g
ICAgICAgICAgICAvLyBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vcmVmZXJlbmNlL2NvcmV0
ZXh0LzE1MTA3NzQtY3Rmb250Y29weWF2YWlsYWJsZXRhYmxlcwotICAgICAgICAgICAgLy8gIlRo
ZSByZXR1cm5lZCBzZXQgd2lsbCBjb250YWluIHVuYm94ZWQgdmFsdWVzLCB3aGljaCBjYW4gYmUg
ZXh0cmFjdGVkIGxpa2Ugc286IgotICAgICAgICAgICAgLy8gIkNURm9udFRhYmxlVGFnIHRhZyA9
IChDVEZvbnRUYWJsZVRhZykodWludHB0cl90KUNGQXJyYXlHZXRWYWx1ZUF0SW5kZXgodGFncywg
aW5kZXgpOyIKLSAgICAgICAgICAgIENURm9udFRhYmxlVGFnIHRhYmxlVGFnID0gc3RhdGljX2Nh
c3Q8Q1RGb250VGFibGVUYWc+KHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihDRkFycmF5R2V0
VmFsdWVBdEluZGV4KHRhYmxlcy5nZXQoKSwgaSkpKTsKKyAgICAgICAgICAgIGF1dG8gdGFibGVU
YWcgPSBzdGF0aWNfY2FzdDxDVEZvbnRUYWJsZVRhZz4ocmVpbnRlcnByZXRfY2FzdDx1aW50cHRy
X3Q+KENGQXJyYXlHZXRWYWx1ZUF0SW5kZXgodGFibGVzLmdldCgpLCBpKSkpOwogICAgICAgICAg
ICAgc3dpdGNoICh0YWJsZVRhZykgewotICAgICAgICAgICAgY2FzZSAnZnZhcic6CisgICAgICAg
ICAgICBjYXNlIGtDVEZvbnRUYWJsZUZ2YXI6CiAgICAgICAgICAgICAgICAgaWYgKHZhcmlhdGlv
blR5cGUgPT0gVmFyaWF0aW9uVHlwZTo6Tm90VmFyaWFibGUpCiAgICAgICAgICAgICAgICAgICAg
IHZhcmlhdGlvblR5cGUgPSBWYXJpYXRpb25UeXBlOjpUcnVlVHlwZUdYOwogICAgICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAnU1RBVCc6CisgICAgICAgICAgICBjYXNlIGtD
VEZvbnRUYWJsZVNUQVQ6CiAgICAgICAgICAgICAgICAgZm91bmRTdGF0ID0gdHJ1ZTsKICAgICAg
ICAgICAgICAgICB2YXJpYXRpb25UeXBlID0gVmFyaWF0aW9uVHlwZTo6T3BlblR5cGUxODsKICAg
ICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgJ21vcngnOgotICAgICAgICAg
ICAgY2FzZSAnbW9ydCc6CisgICAgICAgICAgICBjYXNlIGtDVEZvbnRUYWJsZU1vcng6CisgICAg
ICAgICAgICBjYXNlIGtDVEZvbnRUYWJsZU1vcnQ6CiAgICAgICAgICAgICAgICAgYWF0U2hhcGlu
ZyA9IHRydWU7CiAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICdHUE9T
JzoKLSAgICAgICAgICAgIGNhc2UgJ0dTVUInOgorICAgICAgICAgICAgY2FzZSBrQ1RGb250VGFi
bGVHUE9TOgorICAgICAgICAgICAgY2FzZSBrQ1RGb250VGFibGVHU1VCOgogICAgICAgICAgICAg
ICAgIG9wZW5UeXBlU2hhcGluZyA9IHRydWU7CiAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICBjYXNlICd0cmFrJzoKKyAgICAgICAgICAgIGNhc2Uga0NURm9udFRhYmxlVHJhazoK
ICAgICAgICAgICAgICAgICBmb3VuZFRyYWsgPSB0cnVlOwogICAgICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICAgICAgfQogICAgICAgICB9CisjZW5kaWYKICAgICAgICAgaWYgKGZvdW5kU3Rh
dCAmJiBmb3VuZFRyYWspCiAgICAgICAgICAgICB0cmFja2luZ1R5cGUgPSBUcmFja2luZ1R5cGU6
OkF1dG9tYXRpYzsKICAgICAgICAgZWxzZSBpZiAoZm91bmRUcmFrKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tCmluZGV4IGZjOGJj
MGQzNDQxYTYxZmNjMDllOGQ0YTY1ZjQwZTU0ODllOTQ5ZDUuLjJjYzJmMzBkMjE3MmYyNDkwMTY4
YTRhNTg4MTU2NGFjYWI5N2RiMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW0KQEAgLTU3LDI0ICs1NywzMiBAQCBAZW5kCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIGlubGluZSBib29sIGNhc2VJbnNlbnNpdGl2
ZUNvbXBhcmUoQ0ZTdHJpbmdSZWYgYSwgQ0ZTdHJpbmdSZWYgYikKLXsKLSAgICByZXR1cm4gYSAm
JiBDRlN0cmluZ0NvbXBhcmUoYSwgYiwga0NGQ29tcGFyZUNhc2VJbnNlbnNpdGl2ZSkgPT0ga0NG
Q29tcGFyZUVxdWFsVG87Ci19Ci0KLXN0YXRpYyBib29sIGZvbnRIYXNWZXJ0aWNhbEdseXBocyhD
VEZvbnRSZWYgY3RGb250KQorYm9vbCBmb250SGFzVGFibGUoQ1RGb250UmVmIGN0Rm9udCwgdW5z
aWduZWQgdGFibGVUYWcpCiB7Ci0gICAgLy8gVGhlIGNoZWNrIGRvZXNuJ3QgbG9vayBuZWF0IGJ1
dCB0aGlzIGlzIHdoYXQgQXBwS2l0IGRvZXMgZm9yIHZlcnRpY2FsIHdyaXRpbmcuLi4KLSAgICBS
ZXRhaW5QdHI8Q0ZBcnJheVJlZj4gdGFibGVUYWdzID0gYWRvcHRDRihDVEZvbnRDb3B5QXZhaWxh
YmxlVGFibGVzKGN0Rm9udCwga0NURm9udFRhYmxlT3B0aW9uTm9PcHRpb25zKSk7CisjaWYgSEFW
RShDVEZPTlRIQVNUQUJMRSkKKyAgICByZXR1cm4gQ1RGb250SGFzVGFibGUoY3RGb250LCB0YWJs
ZVRhZyk7CisjZWxzZQorICAgIGF1dG8gdGFibGVUYWdzID0gYWRvcHRDRihDVEZvbnRDb3B5QXZh
aWxhYmxlVGFibGVzKGN0Rm9udCwga0NURm9udFRhYmxlT3B0aW9uTm9PcHRpb25zKSk7CiAgICAg
aWYgKCF0YWJsZVRhZ3MpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBDRkluZGV4IG51bVRh
YmxlcyA9IENGQXJyYXlHZXRDb3VudCh0YWJsZVRhZ3MuZ2V0KCkpOwogICAgIGZvciAoQ0ZJbmRl
eCBpbmRleCA9IDA7IGluZGV4IDwgbnVtVGFibGVzOyArK2luZGV4KSB7Ci0gICAgICAgIENURm9u
dFRhYmxlVGFnIHRhZyA9IChDVEZvbnRUYWJsZVRhZykodWludHB0cl90KUNGQXJyYXlHZXRWYWx1
ZUF0SW5kZXgodGFibGVUYWdzLmdldCgpLCBpbmRleCk7Ci0gICAgICAgIGlmICh0YWcgPT0ga0NU
Rm9udFRhYmxlVmhlYSB8fCB0YWcgPT0ga0NURm9udFRhYmxlVk9SRykKKyAgICAgICAgYXV0byB0
YWcgPSBzdGF0aWNfY2FzdDxDVEZvbnRUYWJsZVRhZz4ocmVpbnRlcnByZXRfY2FzdDx1aW50cHRy
X3Q+KENGQXJyYXlHZXRWYWx1ZUF0SW5kZXgodGFibGVUYWdzLmdldCgpLCBpbmRleCkpKTsKKyAg
ICAgICAgaWYgKHRhZyA9PSB0YWJsZVRhZykKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAg
IH0KICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKworc3RhdGljIGlubGluZSBib29sIGNh
c2VJbnNlbnNpdGl2ZUNvbXBhcmUoQ0ZTdHJpbmdSZWYgYSwgQ0ZTdHJpbmdSZWYgYikKK3sKKyAg
ICByZXR1cm4gYSAmJiBDRlN0cmluZ0NvbXBhcmUoYSwgYiwga0NGQ29tcGFyZUNhc2VJbnNlbnNp
dGl2ZSkgPT0ga0NGQ29tcGFyZUVxdWFsVG87Cit9CisKK3N0YXRpYyBib29sIGZvbnRIYXNWZXJ0
aWNhbEdseXBocyhDVEZvbnRSZWYgZm9udCkKK3sKKyAgICByZXR1cm4gZm9udEhhc1RhYmxlKGZv
bnQsIGtDVEZvbnRUYWJsZVZoZWEpIHx8IGZvbnRIYXNUYWJsZShmb250LCBrQ1RGb250VGFibGVW
T1JHKTsKIH0KIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9PcGVuVHlwZUNHLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3BwCmluZGV4
IGUxYjU2ZmFiNDRhNzI5Zjc3MGJhOWZlODI2YTg3ZTVmZTFmZGE1OGIuLjJiNjMxNjM3NDNmNTIz
MDFmNjhiNDIzZTBjOTBhNTAxZmU3YjM0OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3BwCkBAIC0yNiw2ICsy
Niw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiT3BlblR5cGVDRy5oIgogCisj
aW5jbHVkZSAiRm9udC5oIgogI2luY2x1ZGUgIk9wZW5UeXBlVHlwZXMuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtMzUsMTggKzM2LDkgQEAgbmFtZXNwYWNlIE9wZW5UeXBlIHsKIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBsb25nIGtDVEZvbnRUYWJsZU9TMiA9ICdPUy8yJzsKICNlbmRpZgog
Ci1ib29sIGZvbnRIYXNNYXRoVGFibGUoQ1RGb250UmVmIGN0Rm9udCkKK2Jvb2wgZm9udEhhc01h
dGhUYWJsZShDVEZvbnRSZWYgZm9udCkKIHsKLSAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gdGFi
bGVUYWdzID0gYWRvcHRDRihDVEZvbnRDb3B5QXZhaWxhYmxlVGFibGVzKGN0Rm9udCwga0NURm9u
dFRhYmxlT3B0aW9uTm9PcHRpb25zKSk7Ci0gICAgaWYgKCF0YWJsZVRhZ3MpCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICBDRkluZGV4IG51bVRhYmxlcyA9IENGQXJyYXlHZXRDb3VudCh0YWJs
ZVRhZ3MuZ2V0KCkpOwotICAgIGZvciAoQ0ZJbmRleCBpbmRleCA9IDA7IGluZGV4IDwgbnVtVGFi
bGVzOyArK2luZGV4KSB7Ci0gICAgICAgIENURm9udFRhYmxlVGFnIHRhZyA9IChDVEZvbnRUYWJs
ZVRhZykodWludHB0cl90KUNGQXJyYXlHZXRWYWx1ZUF0SW5kZXgodGFibGVUYWdzLmdldCgpLCBp
bmRleCk7Ci0gICAgICAgIGlmICh0YWcgPT0gJ01BVEgnKQotICAgICAgICAgICAgcmV0dXJuIHRy
dWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gZm9udEhhc1RhYmxlKGZv
bnQsIGtDVEZvbnRUYWJsZU1BVEgpOwogfQogCiBzdGF0aWMgaW5saW5lIHNob3J0IHJlYWRTaG9y
dEZyb21UYWJsZShjb25zdCBVSW50OCogb3MyRGF0YSwgQ0ZJbmRleCBvZmZzZXQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408145</attachid>
            <date>2020-09-06 15:39:39 -0700</date>
            <delta_ts>2020-09-06 15:46:09 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-215688-20200906153939.patch</filename>
            <type>text/plain</type>
            <size>11424</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NjgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDgyYzA0ODU1MGFmYjQ4ODc5MmY4NjQ4
ZWYwZjkyNWIxM2Q3NmUyZmYuLjQ0MTM0NTgxNTkzMGFkNjk0NzNlMWE2MGEzMWUzZThmNWJlNjM5
Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDktMDYgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIENURm9udEhhc1RhYmxlKCkg
aXMgZmFzdGVyIHRoYW4gaXRlcmF0aW5nIG92ZXIgZXZlcnkgdGFibGUgaW4gdGhlIGZvbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTY4OAorCisg
ICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICogd3RmL1BsYXRmb3Jt
SGF2ZS5oOgorCiAyMDIwLTA5LTA2ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAog
ICAgICAgICBUZXh0Q29kZWMgcmVmaW5lbWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzZjE0ZTRhZjJiMjc5
MmQ5NDQzYzc2YzYwYWEzODRlMzUwOTJmODY0Li4xOTYyNDgxNzU1OGQ2YTQwM2FhMTFiZDZlZGU4
ZGI4ZDRmNDZhYzYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjAtMDktMDYgIE15
bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2Fd
IENURm9udEhhc1RhYmxlKCkgaXMgZmFzdGVyIHRoYW4gaXRlcmF0aW5nIG92ZXIgZXZlcnkgdGFi
bGUgaW4gdGhlIGZvbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNTY4OAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAg
ICAgIFdlIGNhbiBkaXJlY3RseSBhc2sgQ29yZSBUZXh0IGZvciB0aGUgaW5mb3JtYXRpb24gd2Un
cmUgbG9va2luZyBmb3IuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMg
bm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
Rm9udENhY2hlQ29yZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFR5cGU6OkZvbnRU
eXBlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW06Cisg
ICAgICAgIChXZWJDb3JlOjpmb250SGFzVmVydGljYWxHbHlwaHMpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
T3BlblR5cGU6OmZvbnRIYXNNYXRoVGFibGUpOgorCiAyMDIwLTA5LTA2ICBNeWxlcyBDLiBNYXhm
aWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgTGV0dGVyLXNwYWNpbmcgc2hv
dWxkIGRpc2FibGUgbGlnYXR1cmVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBjODM1MDI5ZGM0ZDFk
YmI2MmY3M2Q4MmU1MTRkMDRjZWUwZDFlMzBlLi5hYTljMDczNmViODk2YTJlMTFkMTI3ODhkM2Nm
MjViZGE0M2I3NDg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMC0w
OS0wNiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAg
IFtDb2NvYV0gQ1RGb250SGFzVGFibGUoKSBpcyBmYXN0ZXIgdGhhbiBpdGVyYXRpbmcgb3ZlciBl
dmVyeSB0YWJsZSBpbiB0aGUgZm9udAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjE1Njg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIu
CisKKyAgICAgICAgKiBwYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmg6CisKIDIwMjAtMDktMDUg
IE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29j
b2FdIFVTRShQTEFURk9STV9TWVNURU1fRkFMTEJBQ0tfTElTVCkgaXMgdHJ1ZSBvbiBhbGwgQ29j
b2EgcGxhdGZvcm1zLCBzbyB0aGVyZSdzIG5vIG5lZWQgdG8gY29uc3VsdCBpdCBpbiBDb2NvYS1z
cGVjaWZpYyBmaWxlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgg
Yi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAppbmRleCAwYmNmODFmMzA1OTMzYjc5ZjUx
YjI0YmZmODk5MDVhNTdlMzE1NWJjLi4wODQ3ZTIwMWUxNmFmMTY1YWIzMjJhMTRjOTJlODM1OGQx
NTM5MzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAorKysgYi9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaApAQCAtNzM5LDMgKzczOSw3IEBACiAgICAgfHwg
KFBMQVRGT1JNKEFQUExFVFYpICYmIF9fVFZfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTQw
MDAwKQogI2RlZmluZSBIQVZFX0NURk9OVElTU1lTVEVNVUlGT05UIDEKICNlbmRpZgorCisjaWYg
UExBVEZPUk0oQ09DT0EpICYmICEoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEIDwgMTAxNTAwKQorI2RlZmluZSBIQVZFX0NURk9OVEhBU1RBQkxFIDEKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQ29yZVRl
eHRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgK
aW5kZXggMDJiNzYyNWY4YzIxZjU1Yzc0NDc4MGU0ODk3NjIyZWQ0ZmNiZmI1Mi4uMjdmZjg3ZDE2
NGUzMzZmZjhhZDk5NzhiZTcwMGJjZjUwNGZmNzBhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oCkBAIC0xNDIsNiArMTQyLDcgQEAgQ1RGb250
UmVmIENURm9udENyZWF0ZUZvckNTUyhDRlN0cmluZ1JlZiBuYW1lLCB1aW50MTZfdCB3ZWlnaHQs
IENURm9udFN5bWJvbGljVHIKIENURm9udFJlZiBDVEZvbnRDcmVhdGVGb3JDaGFyYWN0ZXJzV2l0
aExhbmd1YWdlKENURm9udFJlZiBjdXJyZW50Rm9udCwgY29uc3QgVVRGMTZDaGFyICpjaGFyYWN0
ZXJzLCBDRkluZGV4IGxlbmd0aCwgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UsIENGSW5kZXggKmNvdmVy
ZWRMZW5ndGgpOwogQ1RGb250UmVmIENURm9udENyZWF0ZUZvckNoYXJhY3RlcnNXaXRoTGFuZ3Vh
Z2VBbmRPcHRpb24oQ1RGb250UmVmIGN1cnJlbnRGb250LCBjb25zdCBVVEYxNkNoYXIgKmNoYXJh
Y3RlcnMsIENGSW5kZXggbGVuZ3RoLCBDRlN0cmluZ1JlZiBsYW5ndWFnZSwgQ1RGb250RmFsbGJh
Y2tPcHRpb24gb3B0aW9uLCBDRkluZGV4ICpjb3ZlcmVkTGVuZ3RoKTsKIENURm9udFJlZiBDVEZv
bnRDb3B5UGh5c2ljYWxGb250KENURm9udFJlZik7Citib29sIENURm9udEhhc1RhYmxlKENURm9u
dFJlZiwgQ1RGb250VGFibGVUYWcpOwogCiBleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlG
b250VGV4dFN0eWxlU2hvcnRIZWFkbGluZTsKIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RV
SUZvbnRUZXh0U3R5bGVTaG9ydEJvZHk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnQuY3BwCmluZGV4IDZlZjk3ODkyN2MzMDI0OTEyN2RmNWNiZDRlOWE1NWE4NzhkNDQ5YzMu
LmFmOGY3YzVkNzhjMDU0OTA3OWNkZjEwZTM2NGE0NWNiNTRlZjg1ZGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCkBAIC00ODQsNiArNDg0LDI3IEBAIGJvb2wg
Rm9udDo6aXNQcm9iYWJseU9ubHlVc2VkVG9SZW5kZXJJY29ucygpIGNvbnN0CiAKICNlbmRpZgog
CisjaWYgVVNFKENHKQoreworYm9vbCBmb250SGFzVGFibGUoQ1RGb250UmVmIGN0Rm9udCwgdW5z
aWduZWQgdGFibGVUYWcpCit7CisjaWYgSEFWRShDVEZPTlRIQVNUQUJMRSkKKyAgICByZXR1cm4g
Q1RGb250SGFzVGFibGUoY3RGb250LCB0YWJsZVRhZyk7CisjZWxzZQorICAgIGF1dG8gdGFibGVU
YWdzID0gYWRvcHRDRihDVEZvbnRDb3B5QXZhaWxhYmxlVGFibGVzKGN0Rm9udCwga0NURm9udFRh
YmxlT3B0aW9uTm9PcHRpb25zKSk7CisgICAgaWYgKCF0YWJsZVRhZ3MpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICBDRkluZGV4IG51bVRhYmxlcyA9IENGQXJyYXlHZXRDb3VudCh0YWJsZVRh
Z3MuZ2V0KCkpOworICAgIGZvciAoQ0ZJbmRleCBpbmRleCA9IDA7IGluZGV4IDwgbnVtVGFibGVz
OyArK2luZGV4KSB7CisgICAgICAgIGF1dG8gdGFnID0gc3RhdGljX2Nhc3Q8Q1RGb250VGFibGVU
YWc+KHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihDRkFycmF5R2V0VmFsdWVBdEluZGV4KHRh
YmxlVGFncy5nZXQoKSwgaW5kZXgpKSk7CisgICAgICAgIGlmICh0YWcgPT0gdGFibGVUYWcpCisg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlm
Cit9Cit9CisKICNpZiAhTE9HX0RJU0FCTEVECiBTdHJpbmcgRm9udDo6ZGVzY3JpcHRpb24oKSBj
b25zdAogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCmluZGV4IDhlYzMz
ODBkN2I3ZTQ1YzBkMTFlN2M4YzRlZjcyMWY2OWViMjVmMGYuLjkzNmM2ZDVkZTk1YzgyMDVlY2M2
NjcxZmJmOTBjYmFiYzUyZGNkZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250LmgKQEAgLTY0LDYgKzY0LDEwIEBAIGVudW0gRm9udFZhcmlhbnQgeyBBdXRvVmFyaWFudCwg
Tm9ybWFsVmFyaWFudCwgU21hbGxDYXBzVmFyaWFudCwgRW1waGFzaXNNYXJrVmFyCiBlbnVtIFBp
dGNoIHsgVW5rbm93blBpdGNoLCBGaXhlZFBpdGNoLCBWYXJpYWJsZVBpdGNoIH07CiBlbnVtIGNs
YXNzIElzRm9yUGxhdGZvcm1Gb250IDogdWludDhfdCB7IE5vLCBZZXMgfTsKIAorI2lmIFVTRShD
RykKK2Jvb2wgZm9udEhhc1RhYmxlKENURm9udFJlZiwgdW5zaWduZWQgdGFibGVUYWcpOworI2Vu
ZGlmCisKIERFQ0xBUkVfQUxMT0NBVE9SX1dJVEhfSEVBUF9JREVOVElGSUVSKEZvbnQpOwogY2xh
c3MgRm9udCA6IHB1YmxpYyBSZWZDb3VudGVkPEZvbnQ+IHsKICAgICBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRF9XSVRIX0hFQVBfSURFTlRJRklFUihGb250KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNw
cAppbmRleCAwOWM4NzVhNWJiYWFlMGRiMjMyZWRiMWI3MGJmNDFmNGI1MTRhMzM0Li5hYzc4NGRh
MzQ5YTE4NTY1Y2RlNmZjZjI0YzY2NzU5MGFiOGU5NDQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQu
Y3BwCkBAIC00ODUsNDAgKzQ4NSw0OCBAQCBzdGF0aWMgaW5saW5lIGZsb2F0IG5vcm1hbGl6ZVdp
ZHRoKGZsb2F0IHZhbHVlKQogc3RydWN0IEZvbnRUeXBlIHsKICAgICBGb250VHlwZShDVEZvbnRS
ZWYgZm9udCkKICAgICB7CisgICAgICAgIGJvb2wgZm91bmRTdGF0ID0gZmFsc2U7CisgICAgICAg
IGJvb2wgZm91bmRUcmFrID0gZmFsc2U7CisjaWYgVVNFKENURk9OVEhBU1RBQkxFKQorICAgICAg
ICBib29sIGZvdW5kRnZhciA9IENURm9udEhhc1RhYmxlKGZvbnQsIGtDVEZvbnRUYWJsZUZ2YXIp
OworICAgICAgICBmb3VuZFN0YXQgPSBDVEZvbnRIYXNUYWJsZShmb250LCBrQ1RGb250VGFibGVT
VEFUKTsKKyAgICAgICAgYWF0U2hhcGluZyA9IENURm9udEhhc1RhYmxlKGZvbnQsIGtDVEZvbnRU
YWJsZU1vcngpIHx8IENURm9udEhhc1RhYmxlKGZvbnQsIGtDVEZvbnRUYWJsZU1vcnQpOworICAg
ICAgICBvcGVuVHlwZVNoYXBpbmcgPSBDVEZvbnRIYXNUYWJsZShmb250LCBrQ1RGb250VGFibGVH
UE9TKSB8fCBDVEZvbnRIYXNUYWJsZShmb250LCBrQ1RGb250VGFibGVHU1VCKTsKKyAgICAgICAg
Zm91bmRUcmFrID0gQ1RGb250SGFzVGFibGUoZm9udCwga0NURm9udFRhYmxlVHJhayk7CisgICAg
ICAgIGlmIChmb3VuZFN0YXQpCisgICAgICAgICAgICB2YXJpYXRpb25UeXBlID0gVmFyaWF0aW9u
VHlwZTo6T3BlblR5cGUxODsKKyAgICAgICAgZWxzZSBpZiAoZm91bmRGdmFyKQorICAgICAgICAg
ICAgdmFyaWF0aW9uVHlwZSA9IFZhcmlhdGlvblR5cGU6OlRydWVUeXBlR1g7CisjZWxzZQogICAg
ICAgICBhdXRvIHRhYmxlcyA9IGFkb3B0Q0YoQ1RGb250Q29weUF2YWlsYWJsZVRhYmxlcyhmb250
LCBrQ1RGb250VGFibGVPcHRpb25Ob09wdGlvbnMpKTsKICAgICAgICAgaWYgKCF0YWJsZXMpCiAg
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIGJvb2wgZm91bmRTdGF0ID0gZmFsc2U7Ci0gICAg
ICAgIGJvb2wgZm91bmRUcmFrID0gZmFsc2U7CiAgICAgICAgIGF1dG8gc2l6ZSA9IENGQXJyYXlH
ZXRDb3VudCh0YWJsZXMuZ2V0KCkpOwogICAgICAgICBmb3IgKENGSW5kZXggaSA9IDA7IGkgPCBz
aXplOyArK2kpIHsKLSAgICAgICAgICAgIC8vIFRoaXMgaXMgc28geXVja3kuCi0gICAgICAgICAg
ICAvLyBodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vcmVmZXJlbmNlL2NvcmV0ZXh0LzE1MTA3
NzQtY3Rmb250Y29weWF2YWlsYWJsZXRhYmxlcwotICAgICAgICAgICAgLy8gIlRoZSByZXR1cm5l
ZCBzZXQgd2lsbCBjb250YWluIHVuYm94ZWQgdmFsdWVzLCB3aGljaCBjYW4gYmUgZXh0cmFjdGVk
IGxpa2Ugc286IgotICAgICAgICAgICAgLy8gIkNURm9udFRhYmxlVGFnIHRhZyA9IChDVEZvbnRU
YWJsZVRhZykodWludHB0cl90KUNGQXJyYXlHZXRWYWx1ZUF0SW5kZXgodGFncywgaW5kZXgpOyIK
LSAgICAgICAgICAgIENURm9udFRhYmxlVGFnIHRhYmxlVGFnID0gc3RhdGljX2Nhc3Q8Q1RGb250
VGFibGVUYWc+KHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihDRkFycmF5R2V0VmFsdWVBdElu
ZGV4KHRhYmxlcy5nZXQoKSwgaSkpKTsKKyAgICAgICAgICAgIGF1dG8gdGFibGVUYWcgPSBzdGF0
aWNfY2FzdDxDVEZvbnRUYWJsZVRhZz4ocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KENGQXJy
YXlHZXRWYWx1ZUF0SW5kZXgodGFibGVzLmdldCgpLCBpKSkpOwogICAgICAgICAgICAgc3dpdGNo
ICh0YWJsZVRhZykgewotICAgICAgICAgICAgY2FzZSAnZnZhcic6CisgICAgICAgICAgICBjYXNl
IGtDVEZvbnRUYWJsZUZ2YXI6CiAgICAgICAgICAgICAgICAgaWYgKHZhcmlhdGlvblR5cGUgPT0g
VmFyaWF0aW9uVHlwZTo6Tm90VmFyaWFibGUpCiAgICAgICAgICAgICAgICAgICAgIHZhcmlhdGlv
blR5cGUgPSBWYXJpYXRpb25UeXBlOjpUcnVlVHlwZUdYOwogICAgICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAgICAgY2FzZSAnU1RBVCc6CisgICAgICAgICAgICBjYXNlIGtDVEZvbnRUYWJs
ZVNUQVQ6CiAgICAgICAgICAgICAgICAgZm91bmRTdGF0ID0gdHJ1ZTsKICAgICAgICAgICAgICAg
ICB2YXJpYXRpb25UeXBlID0gVmFyaWF0aW9uVHlwZTo6T3BlblR5cGUxODsKICAgICAgICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgJ21vcngnOgotICAgICAgICAgICAgY2FzZSAn
bW9ydCc6CisgICAgICAgICAgICBjYXNlIGtDVEZvbnRUYWJsZU1vcng6CisgICAgICAgICAgICBj
YXNlIGtDVEZvbnRUYWJsZU1vcnQ6CiAgICAgICAgICAgICAgICAgYWF0U2hhcGluZyA9IHRydWU7
CiAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICdHUE9TJzoKLSAgICAg
ICAgICAgIGNhc2UgJ0dTVUInOgorICAgICAgICAgICAgY2FzZSBrQ1RGb250VGFibGVHUE9TOgor
ICAgICAgICAgICAgY2FzZSBrQ1RGb250VGFibGVHU1VCOgogICAgICAgICAgICAgICAgIG9wZW5U
eXBlU2hhcGluZyA9IHRydWU7CiAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBj
YXNlICd0cmFrJzoKKyAgICAgICAgICAgIGNhc2Uga0NURm9udFRhYmxlVHJhazoKICAgICAgICAg
ICAgICAgICBmb3VuZFRyYWsgPSB0cnVlOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICAgICAgfQogICAgICAgICB9CisjZW5kaWYKICAgICAgICAgaWYgKGZvdW5kU3RhdCAmJiBmb3Vu
ZFRyYWspCiAgICAgICAgICAgICB0cmFja2luZ1R5cGUgPSBUcmFja2luZ1R5cGU6OkF1dG9tYXRp
YzsKICAgICAgICAgZWxzZSBpZiAoZm91bmRUcmFrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tCmluZGV4IGZjOGJjMGQzNDQxYTYx
ZmNjMDllOGQ0YTY1ZjQwZTU0ODllOTQ5ZDUuLmUyZTE4N2IzMTllZDliYWZlYzgzYjRiNTVmNzg1
YTZjZmZmNzYzM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL0ZvbnRDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9Gb250Q29jb2EubW0KQEAgLTYyLDE5ICs2Miw5IEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCBjYXNlSW5zZW5zaXRpdmVDb21wYXJlKENGU3RyaW5nUmVmIGEsIENGU3RyaW5nUmVmIGIpCiAg
ICAgcmV0dXJuIGEgJiYgQ0ZTdHJpbmdDb21wYXJlKGEsIGIsIGtDRkNvbXBhcmVDYXNlSW5zZW5z
aXRpdmUpID09IGtDRkNvbXBhcmVFcXVhbFRvOwogfQogCi1zdGF0aWMgYm9vbCBmb250SGFzVmVy
dGljYWxHbHlwaHMoQ1RGb250UmVmIGN0Rm9udCkKK3N0YXRpYyBib29sIGZvbnRIYXNWZXJ0aWNh
bEdseXBocyhDVEZvbnRSZWYgZm9udCkKIHsKLSAgICAvLyBUaGUgY2hlY2sgZG9lc24ndCBsb29r
IG5lYXQgYnV0IHRoaXMgaXMgd2hhdCBBcHBLaXQgZG9lcyBmb3IgdmVydGljYWwgd3JpdGluZy4u
LgotICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiB0YWJsZVRhZ3MgPSBhZG9wdENGKENURm9udENv
cHlBdmFpbGFibGVUYWJsZXMoY3RGb250LCBrQ1RGb250VGFibGVPcHRpb25Ob09wdGlvbnMpKTsK
LSAgICBpZiAoIXRhYmxlVGFncykKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIENGSW5kZXgg
bnVtVGFibGVzID0gQ0ZBcnJheUdldENvdW50KHRhYmxlVGFncy5nZXQoKSk7Ci0gICAgZm9yIChD
RkluZGV4IGluZGV4ID0gMDsgaW5kZXggPCBudW1UYWJsZXM7ICsraW5kZXgpIHsKLSAgICAgICAg
Q1RGb250VGFibGVUYWcgdGFnID0gKENURm9udFRhYmxlVGFnKSh1aW50cHRyX3QpQ0ZBcnJheUdl
dFZhbHVlQXRJbmRleCh0YWJsZVRhZ3MuZ2V0KCksIGluZGV4KTsKLSAgICAgICAgaWYgKHRhZyA9
PSBrQ1RGb250VGFibGVWaGVhIHx8IHRhZyA9PSBrQ1RGb250VGFibGVWT1JHKQotICAgICAgICAg
ICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gZm9u
dEhhc1RhYmxlKGZvbnQsIGtDVEZvbnRUYWJsZVZoZWEpIHx8IGZvbnRIYXNUYWJsZShmb250LCBr
Q1RGb250VGFibGVWT1JHKTsKIH0KIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9PcGVuVHlwZUNH
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBl
Q0cuY3BwCmluZGV4IGUxYjU2ZmFiNDRhNzI5Zjc3MGJhOWZlODI2YTg3ZTVmZTFmZGE1OGIuLmEy
Mjg4YzFiY2Y3NTM4Njc2MmM4NjVhZGJkYzRjNjM5NDU0MjkxMjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3Bw
CkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiT3BlblR5
cGVDRy5oIgogCisjaW5jbHVkZSAiRm9udC5oIgogI2luY2x1ZGUgIk9wZW5UeXBlVHlwZXMuaCIK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzMsMjAgKzM0LDEyIEBAIG5hbWVzcGFjZSBPcGVu
VHlwZSB7CiAKICNpZiBQTEFURk9STShXSU4pCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbG9uZyBr
Q1RGb250VGFibGVPUzIgPSAnT1MvMic7CitzdGF0aWMgY29uc3QgdW5zaWduZWQgbG9uZyBrQ1RG
b250VGFibGVNQVRIID0gJ01BVEgnOwogI2VuZGlmCiAKLWJvb2wgZm9udEhhc01hdGhUYWJsZShD
VEZvbnRSZWYgY3RGb250KQorYm9vbCBmb250SGFzTWF0aFRhYmxlKENURm9udFJlZiBmb250KQog
ewotICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiB0YWJsZVRhZ3MgPSBhZG9wdENGKENURm9udENv
cHlBdmFpbGFibGVUYWJsZXMoY3RGb250LCBrQ1RGb250VGFibGVPcHRpb25Ob09wdGlvbnMpKTsK
LSAgICBpZiAoIXRhYmxlVGFncykKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIENGSW5kZXgg
bnVtVGFibGVzID0gQ0ZBcnJheUdldENvdW50KHRhYmxlVGFncy5nZXQoKSk7Ci0gICAgZm9yIChD
RkluZGV4IGluZGV4ID0gMDsgaW5kZXggPCBudW1UYWJsZXM7ICsraW5kZXgpIHsKLSAgICAgICAg
Q1RGb250VGFibGVUYWcgdGFnID0gKENURm9udFRhYmxlVGFnKSh1aW50cHRyX3QpQ0ZBcnJheUdl
dFZhbHVlQXRJbmRleCh0YWJsZVRhZ3MuZ2V0KCksIGluZGV4KTsKLSAgICAgICAgaWYgKHRhZyA9
PSAnTUFUSCcpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZh
bHNlOworICAgIHJldHVybiBmb250SGFzVGFibGUoZm9udCwga0NURm9udFRhYmxlTUFUSCk7CiB9
CiAKIHN0YXRpYyBpbmxpbmUgc2hvcnQgcmVhZFNob3J0RnJvbVRhYmxlKGNvbnN0IFVJbnQ4KiBv
czJEYXRhLCBDRkluZGV4IG9mZnNldCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408146</attachid>
            <date>2020-09-06 15:46:20 -0700</date>
            <delta_ts>2020-09-06 17:23:38 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-215688-20200906154620.patch</filename>
            <type>text/plain</type>
            <size>11426</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2NjgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDgyYzA0ODU1MGFmYjQ4ODc5MmY4NjQ4
ZWYwZjkyNWIxM2Q3NmUyZmYuLjQ0MTM0NTgxNTkzMGFkNjk0NzNlMWE2MGEzMWUzZThmNWJlNjM5
Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDktMDYgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIENURm9udEhhc1RhYmxlKCkg
aXMgZmFzdGVyIHRoYW4gaXRlcmF0aW5nIG92ZXIgZXZlcnkgdGFibGUgaW4gdGhlIGZvbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTY4OAorCisg
ICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICogd3RmL1BsYXRmb3Jt
SGF2ZS5oOgorCiAyMDIwLTA5LTA2ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAog
ICAgICAgICBUZXh0Q29kZWMgcmVmaW5lbWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzZjE0ZTRhZjJiMjc5
MmQ5NDQzYzc2YzYwYWEzODRlMzUwOTJmODY0Li4xOTYyNDgxNzU1OGQ2YTQwM2FhMTFiZDZlZGU4
ZGI4ZDRmNDZhYzYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjAtMDktMDYgIE15
bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2Fd
IENURm9udEhhc1RhYmxlKCkgaXMgZmFzdGVyIHRoYW4gaXRlcmF0aW5nIG92ZXIgZXZlcnkgdGFi
bGUgaW4gdGhlIGZvbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNTY4OAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAg
ICAgIFdlIGNhbiBkaXJlY3RseSBhc2sgQ29yZSBUZXh0IGZvciB0aGUgaW5mb3JtYXRpb24gd2Un
cmUgbG9va2luZyBmb3IuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMg
bm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
Rm9udENhY2hlQ29yZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFR5cGU6OkZvbnRU
eXBlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW06Cisg
ICAgICAgIChXZWJDb3JlOjpmb250SGFzVmVydGljYWxHbHlwaHMpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
T3BlblR5cGU6OmZvbnRIYXNNYXRoVGFibGUpOgorCiAyMDIwLTA5LTA2ICBNeWxlcyBDLiBNYXhm
aWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgTGV0dGVyLXNwYWNpbmcgc2hv
dWxkIGRpc2FibGUgbGlnYXR1cmVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBjODM1MDI5ZGM0ZDFk
YmI2MmY3M2Q4MmU1MTRkMDRjZWUwZDFlMzBlLi5hYTljMDczNmViODk2YTJlMTFkMTI3ODhkM2Nm
MjViZGE0M2I3NDg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMC0w
OS0wNiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAg
IFtDb2NvYV0gQ1RGb250SGFzVGFibGUoKSBpcyBmYXN0ZXIgdGhhbiBpdGVyYXRpbmcgb3ZlciBl
dmVyeSB0YWJsZSBpbiB0aGUgZm9udAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjE1Njg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIu
CisKKyAgICAgICAgKiBwYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmg6CisKIDIwMjAtMDktMDUg
IE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29j
b2FdIFVTRShQTEFURk9STV9TWVNURU1fRkFMTEJBQ0tfTElTVCkgaXMgdHJ1ZSBvbiBhbGwgQ29j
b2EgcGxhdGZvcm1zLCBzbyB0aGVyZSdzIG5vIG5lZWQgdG8gY29uc3VsdCBpdCBpbiBDb2NvYS1z
cGVjaWZpYyBmaWxlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgg
Yi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAppbmRleCAwYmNmODFmMzA1OTMzYjc5ZjUx
YjI0YmZmODk5MDVhNTdlMzE1NWJjLi4wODQ3ZTIwMWUxNmFmMTY1YWIzMjJhMTRjOTJlODM1OGQx
NTM5MzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAorKysgYi9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaApAQCAtNzM5LDMgKzczOSw3IEBACiAgICAgfHwg
KFBMQVRGT1JNKEFQUExFVFYpICYmIF9fVFZfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTQw
MDAwKQogI2RlZmluZSBIQVZFX0NURk9OVElTU1lTVEVNVUlGT05UIDEKICNlbmRpZgorCisjaWYg
UExBVEZPUk0oQ09DT0EpICYmICEoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEIDwgMTAxNTAwKQorI2RlZmluZSBIQVZFX0NURk9OVEhBU1RBQkxFIDEKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQ29yZVRl
eHRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgK
aW5kZXggMDJiNzYyNWY4YzIxZjU1Yzc0NDc4MGU0ODk3NjIyZWQ0ZmNiZmI1Mi4uMjdmZjg3ZDE2
NGUzMzZmZjhhZDk5NzhiZTcwMGJjZjUwNGZmNzBhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oCkBAIC0xNDIsNiArMTQyLDcgQEAgQ1RGb250
UmVmIENURm9udENyZWF0ZUZvckNTUyhDRlN0cmluZ1JlZiBuYW1lLCB1aW50MTZfdCB3ZWlnaHQs
IENURm9udFN5bWJvbGljVHIKIENURm9udFJlZiBDVEZvbnRDcmVhdGVGb3JDaGFyYWN0ZXJzV2l0
aExhbmd1YWdlKENURm9udFJlZiBjdXJyZW50Rm9udCwgY29uc3QgVVRGMTZDaGFyICpjaGFyYWN0
ZXJzLCBDRkluZGV4IGxlbmd0aCwgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UsIENGSW5kZXggKmNvdmVy
ZWRMZW5ndGgpOwogQ1RGb250UmVmIENURm9udENyZWF0ZUZvckNoYXJhY3RlcnNXaXRoTGFuZ3Vh
Z2VBbmRPcHRpb24oQ1RGb250UmVmIGN1cnJlbnRGb250LCBjb25zdCBVVEYxNkNoYXIgKmNoYXJh
Y3RlcnMsIENGSW5kZXggbGVuZ3RoLCBDRlN0cmluZ1JlZiBsYW5ndWFnZSwgQ1RGb250RmFsbGJh
Y2tPcHRpb24gb3B0aW9uLCBDRkluZGV4ICpjb3ZlcmVkTGVuZ3RoKTsKIENURm9udFJlZiBDVEZv
bnRDb3B5UGh5c2ljYWxGb250KENURm9udFJlZik7Citib29sIENURm9udEhhc1RhYmxlKENURm9u
dFJlZiwgQ1RGb250VGFibGVUYWcpOwogCiBleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlG
b250VGV4dFN0eWxlU2hvcnRIZWFkbGluZTsKIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RV
SUZvbnRUZXh0U3R5bGVTaG9ydEJvZHk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnQuY3BwCmluZGV4IDZlZjk3ODkyN2MzMDI0OTEyN2RmNWNiZDRlOWE1NWE4NzhkNDQ5YzMu
LjMwMjYyNGVkYjY3NjJmMDU2ZjIzZTBmYTRjMWQwYzRmNzc0NjZhZmUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuY3BwCkBAIC00ODQsNiArNDg0LDI2IEBAIGJvb2wg
Rm9udDo6aXNQcm9iYWJseU9ubHlVc2VkVG9SZW5kZXJJY29ucygpIGNvbnN0CiAKICNlbmRpZgog
CisjaWYgVVNFKENHKQorYm9vbCBmb250SGFzVGFibGUoQ1RGb250UmVmIGN0Rm9udCwgdW5zaWdu
ZWQgdGFibGVUYWcpCit7CisjaWYgSEFWRShDVEZPTlRIQVNUQUJMRSkKKyAgICByZXR1cm4gQ1RG
b250SGFzVGFibGUoY3RGb250LCB0YWJsZVRhZyk7CisjZWxzZQorICAgIGF1dG8gdGFibGVUYWdz
ID0gYWRvcHRDRihDVEZvbnRDb3B5QXZhaWxhYmxlVGFibGVzKGN0Rm9udCwga0NURm9udFRhYmxl
T3B0aW9uTm9PcHRpb25zKSk7CisgICAgaWYgKCF0YWJsZVRhZ3MpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICBDRkluZGV4IG51bVRhYmxlcyA9IENGQXJyYXlHZXRDb3VudCh0YWJsZVRhZ3Mu
Z2V0KCkpOworICAgIGZvciAoQ0ZJbmRleCBpbmRleCA9IDA7IGluZGV4IDwgbnVtVGFibGVzOyAr
K2luZGV4KSB7CisgICAgICAgIGF1dG8gdGFnID0gc3RhdGljX2Nhc3Q8Q1RGb250VGFibGVUYWc+
KHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihDRkFycmF5R2V0VmFsdWVBdEluZGV4KHRhYmxl
VGFncy5nZXQoKSwgaW5kZXgpKSk7CisgICAgICAgIGlmICh0YWcgPT0gdGFibGVUYWcpCisgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9
CisjZW5kaWYKKwogI2lmICFMT0dfRElTQUJMRUQKIFN0cmluZyBGb250OjpkZXNjcmlwdGlvbigp
IGNvbnN0CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKaW5kZXggOGVj
MzM4MGQ3YjdlNDVjMGQxMWU3YzhjNGVmNzIxZjY5ZWIyNWYwZi4uOTM2YzZkNWRlOTVjODIwNWVj
YzY2NzFmYmY5MGNiYWJjNTJkY2RkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnQuaApAQCAtNjQsNiArNjQsMTAgQEAgZW51bSBGb250VmFyaWFudCB7IEF1dG9WYXJpYW50
LCBOb3JtYWxWYXJpYW50LCBTbWFsbENhcHNWYXJpYW50LCBFbXBoYXNpc01hcmtWYXIKIGVudW0g
UGl0Y2ggeyBVbmtub3duUGl0Y2gsIEZpeGVkUGl0Y2gsIFZhcmlhYmxlUGl0Y2ggfTsKIGVudW0g
Y2xhc3MgSXNGb3JQbGF0Zm9ybUZvbnQgOiB1aW50OF90IHsgTm8sIFllcyB9OwogCisjaWYgVVNF
KENHKQorYm9vbCBmb250SGFzVGFibGUoQ1RGb250UmVmLCB1bnNpZ25lZCB0YWJsZVRhZyk7Cisj
ZW5kaWYKKwogREVDTEFSRV9BTExPQ0FUT1JfV0lUSF9IRUFQX0lERU5USUZJRVIoRm9udCk7CiBj
bGFzcyBGb250IDogcHVibGljIFJlZkNvdW50ZWQ8Rm9udD4gewogICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEX1dJVEhfSEVBUF9JREVOVElGSUVSKEZvbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQu
Y3BwCmluZGV4IDA5Yzg3NWE1YmJhYWUwZGIyMzJlZGIxYjcwYmY0MWY0YjUxNGEzMzQuLmFjNzg0
ZGEzNDlhMTg1NjVjZGU2ZmNmMjRjNjY3NTkwYWI4ZTk0NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4
dC5jcHAKQEAgLTQ4NSw0MCArNDg1LDQ4IEBAIHN0YXRpYyBpbmxpbmUgZmxvYXQgbm9ybWFsaXpl
V2lkdGgoZmxvYXQgdmFsdWUpCiBzdHJ1Y3QgRm9udFR5cGUgewogICAgIEZvbnRUeXBlKENURm9u
dFJlZiBmb250KQogICAgIHsKKyAgICAgICAgYm9vbCBmb3VuZFN0YXQgPSBmYWxzZTsKKyAgICAg
ICAgYm9vbCBmb3VuZFRyYWsgPSBmYWxzZTsKKyNpZiBVU0UoQ1RGT05USEFTVEFCTEUpCisgICAg
ICAgIGJvb2wgZm91bmRGdmFyID0gQ1RGb250SGFzVGFibGUoZm9udCwga0NURm9udFRhYmxlRnZh
cik7CisgICAgICAgIGZvdW5kU3RhdCA9IENURm9udEhhc1RhYmxlKGZvbnQsIGtDVEZvbnRUYWJs
ZVNUQVQpOworICAgICAgICBhYXRTaGFwaW5nID0gQ1RGb250SGFzVGFibGUoZm9udCwga0NURm9u
dFRhYmxlTW9yeCkgfHwgQ1RGb250SGFzVGFibGUoZm9udCwga0NURm9udFRhYmxlTW9ydCk7Cisg
ICAgICAgIG9wZW5UeXBlU2hhcGluZyA9IENURm9udEhhc1RhYmxlKGZvbnQsIGtDVEZvbnRUYWJs
ZUdQT1MpIHx8IENURm9udEhhc1RhYmxlKGZvbnQsIGtDVEZvbnRUYWJsZUdTVUIpOworICAgICAg
ICBmb3VuZFRyYWsgPSBDVEZvbnRIYXNUYWJsZShmb250LCBrQ1RGb250VGFibGVUcmFrKTsKKyAg
ICAgICAgaWYgKGZvdW5kU3RhdCkKKyAgICAgICAgICAgIHZhcmlhdGlvblR5cGUgPSBWYXJpYXRp
b25UeXBlOjpPcGVuVHlwZTE4OworICAgICAgICBlbHNlIGlmIChmb3VuZEZ2YXIpCisgICAgICAg
ICAgICB2YXJpYXRpb25UeXBlID0gVmFyaWF0aW9uVHlwZTo6VHJ1ZVR5cGVHWDsKKyNlbHNlCiAg
ICAgICAgIGF1dG8gdGFibGVzID0gYWRvcHRDRihDVEZvbnRDb3B5QXZhaWxhYmxlVGFibGVzKGZv
bnQsIGtDVEZvbnRUYWJsZU9wdGlvbk5vT3B0aW9ucykpOwogICAgICAgICBpZiAoIXRhYmxlcykK
ICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgYm9vbCBmb3VuZFN0YXQgPSBmYWxzZTsKLSAg
ICAgICAgYm9vbCBmb3VuZFRyYWsgPSBmYWxzZTsKICAgICAgICAgYXV0byBzaXplID0gQ0ZBcnJh
eUdldENvdW50KHRhYmxlcy5nZXQoKSk7CiAgICAgICAgIGZvciAoQ0ZJbmRleCBpID0gMDsgaSA8
IHNpemU7ICsraSkgewotICAgICAgICAgICAgLy8gVGhpcyBpcyBzbyB5dWNreS4KLSAgICAgICAg
ICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9yZWZlcmVuY2UvY29yZXRleHQvMTUx
MDc3NC1jdGZvbnRjb3B5YXZhaWxhYmxldGFibGVzCi0gICAgICAgICAgICAvLyAiVGhlIHJldHVy
bmVkIHNldCB3aWxsIGNvbnRhaW4gdW5ib3hlZCB2YWx1ZXMsIHdoaWNoIGNhbiBiZSBleHRyYWN0
ZWQgbGlrZSBzbzoiCi0gICAgICAgICAgICAvLyAiQ1RGb250VGFibGVUYWcgdGFnID0gKENURm9u
dFRhYmxlVGFnKSh1aW50cHRyX3QpQ0ZBcnJheUdldFZhbHVlQXRJbmRleCh0YWdzLCBpbmRleCk7
IgotICAgICAgICAgICAgQ1RGb250VGFibGVUYWcgdGFibGVUYWcgPSBzdGF0aWNfY2FzdDxDVEZv
bnRUYWJsZVRhZz4ocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KENGQXJyYXlHZXRWYWx1ZUF0
SW5kZXgodGFibGVzLmdldCgpLCBpKSkpOworICAgICAgICAgICAgYXV0byB0YWJsZVRhZyA9IHN0
YXRpY19jYXN0PENURm9udFRhYmxlVGFnPihyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4oQ0ZB
cnJheUdldFZhbHVlQXRJbmRleCh0YWJsZXMuZ2V0KCksIGkpKSk7CiAgICAgICAgICAgICBzd2l0
Y2ggKHRhYmxlVGFnKSB7Ci0gICAgICAgICAgICBjYXNlICdmdmFyJzoKKyAgICAgICAgICAgIGNh
c2Uga0NURm9udFRhYmxlRnZhcjoKICAgICAgICAgICAgICAgICBpZiAodmFyaWF0aW9uVHlwZSA9
PSBWYXJpYXRpb25UeXBlOjpOb3RWYXJpYWJsZSkKICAgICAgICAgICAgICAgICAgICAgdmFyaWF0
aW9uVHlwZSA9IFZhcmlhdGlvblR5cGU6OlRydWVUeXBlR1g7CiAgICAgICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgICAgICBjYXNlICdTVEFUJzoKKyAgICAgICAgICAgIGNhc2Uga0NURm9udFRh
YmxlU1RBVDoKICAgICAgICAgICAgICAgICBmb3VuZFN0YXQgPSB0cnVlOwogICAgICAgICAgICAg
ICAgIHZhcmlhdGlvblR5cGUgPSBWYXJpYXRpb25UeXBlOjpPcGVuVHlwZTE4OwogICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAnbW9yeCc6Ci0gICAgICAgICAgICBjYXNl
ICdtb3J0JzoKKyAgICAgICAgICAgIGNhc2Uga0NURm9udFRhYmxlTW9yeDoKKyAgICAgICAgICAg
IGNhc2Uga0NURm9udFRhYmxlTW9ydDoKICAgICAgICAgICAgICAgICBhYXRTaGFwaW5nID0gdHJ1
ZTsKICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgJ0dQT1MnOgotICAg
ICAgICAgICAgY2FzZSAnR1NVQic6CisgICAgICAgICAgICBjYXNlIGtDVEZvbnRUYWJsZUdQT1M6
CisgICAgICAgICAgICBjYXNlIGtDVEZvbnRUYWJsZUdTVUI6CiAgICAgICAgICAgICAgICAgb3Bl
blR5cGVTaGFwaW5nID0gdHJ1ZTsKICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAg
IGNhc2UgJ3RyYWsnOgorICAgICAgICAgICAgY2FzZSBrQ1RGb250VGFibGVUcmFrOgogICAgICAg
ICAgICAgICAgIGZvdW5kVHJhayA9IHRydWU7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0KKyNlbmRpZgogICAgICAgICBpZiAoZm91bmRTdGF0ICYmIGZv
dW5kVHJhaykKICAgICAgICAgICAgIHRyYWNraW5nVHlwZSA9IFRyYWNraW5nVHlwZTo6QXV0b21h
dGljOwogICAgICAgICBlbHNlIGlmIChmb3VuZFRyYWspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW0KaW5kZXggZmM4YmMwZDM0NDFh
NjFmY2MwOWU4ZDRhNjVmNDBlNTQ4OWU5NDlkNS4uZTJlMTg3YjMxOWVkOWJhZmVjODNiNGI1NWY3
ODVhNmNmZmY3NjMzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvRm9udENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL0ZvbnRDb2NvYS5tbQpAQCAtNjIsMTkgKzYyLDkgQEAgc3RhdGljIGlubGluZSBi
b29sIGNhc2VJbnNlbnNpdGl2ZUNvbXBhcmUoQ0ZTdHJpbmdSZWYgYSwgQ0ZTdHJpbmdSZWYgYikK
ICAgICByZXR1cm4gYSAmJiBDRlN0cmluZ0NvbXBhcmUoYSwgYiwga0NGQ29tcGFyZUNhc2VJbnNl
bnNpdGl2ZSkgPT0ga0NGQ29tcGFyZUVxdWFsVG87CiB9CiAKLXN0YXRpYyBib29sIGZvbnRIYXNW
ZXJ0aWNhbEdseXBocyhDVEZvbnRSZWYgY3RGb250KQorc3RhdGljIGJvb2wgZm9udEhhc1ZlcnRp
Y2FsR2x5cGhzKENURm9udFJlZiBmb250KQogewotICAgIC8vIFRoZSBjaGVjayBkb2Vzbid0IGxv
b2sgbmVhdCBidXQgdGhpcyBpcyB3aGF0IEFwcEtpdCBkb2VzIGZvciB2ZXJ0aWNhbCB3cml0aW5n
Li4uCi0gICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IHRhYmxlVGFncyA9IGFkb3B0Q0YoQ1RGb250
Q29weUF2YWlsYWJsZVRhYmxlcyhjdEZvbnQsIGtDVEZvbnRUYWJsZU9wdGlvbk5vT3B0aW9ucykp
OwotICAgIGlmICghdGFibGVUYWdzKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgQ0ZJbmRl
eCBudW1UYWJsZXMgPSBDRkFycmF5R2V0Q291bnQodGFibGVUYWdzLmdldCgpKTsKLSAgICBmb3Ig
KENGSW5kZXggaW5kZXggPSAwOyBpbmRleCA8IG51bVRhYmxlczsgKytpbmRleCkgewotICAgICAg
ICBDVEZvbnRUYWJsZVRhZyB0YWcgPSAoQ1RGb250VGFibGVUYWcpKHVpbnRwdHJfdClDRkFycmF5
R2V0VmFsdWVBdEluZGV4KHRhYmxlVGFncy5nZXQoKSwgaW5kZXgpOwotICAgICAgICBpZiAodGFn
ID09IGtDVEZvbnRUYWJsZVZoZWEgfHwgdGFnID09IGtDVEZvbnRUYWJsZVZPUkcpCi0gICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBm
b250SGFzVGFibGUoZm9udCwga0NURm9udFRhYmxlVmhlYSkgfHwgZm9udEhhc1RhYmxlKGZvbnQs
IGtDVEZvbnRUYWJsZVZPUkcpOwogfQogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBl
Q0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5
cGVDRy5jcHAKaW5kZXggZTFiNTZmYWI0NGE3MjlmNzcwYmE5ZmU4MjZhODdlNWZlMWZkYTU4Yi4u
YTIyODhjMWJjZjc1Mzg2NzYyYzg2NWFkYmRjNGM2Mzk0NTQyOTEyOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVDRy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVDRy5j
cHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJPcGVu
VHlwZUNHLmgiCiAKKyNpbmNsdWRlICJGb250LmgiCiAjaW5jbHVkZSAiT3BlblR5cGVUeXBlcy5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMywyMCArMzQsMTIgQEAgbmFtZXNwYWNlIE9w
ZW5UeXBlIHsKIAogI2lmIFBMQVRGT1JNKFdJTikKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBsb25n
IGtDVEZvbnRUYWJsZU9TMiA9ICdPUy8yJzsKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBsb25nIGtD
VEZvbnRUYWJsZU1BVEggPSAnTUFUSCc7CiAjZW5kaWYKIAotYm9vbCBmb250SGFzTWF0aFRhYmxl
KENURm9udFJlZiBjdEZvbnQpCitib29sIGZvbnRIYXNNYXRoVGFibGUoQ1RGb250UmVmIGZvbnQp
CiB7Ci0gICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IHRhYmxlVGFncyA9IGFkb3B0Q0YoQ1RGb250
Q29weUF2YWlsYWJsZVRhYmxlcyhjdEZvbnQsIGtDVEZvbnRUYWJsZU9wdGlvbk5vT3B0aW9ucykp
OwotICAgIGlmICghdGFibGVUYWdzKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgQ0ZJbmRl
eCBudW1UYWJsZXMgPSBDRkFycmF5R2V0Q291bnQodGFibGVUYWdzLmdldCgpKTsKLSAgICBmb3Ig
KENGSW5kZXggaW5kZXggPSAwOyBpbmRleCA8IG51bVRhYmxlczsgKytpbmRleCkgewotICAgICAg
ICBDVEZvbnRUYWJsZVRhZyB0YWcgPSAoQ1RGb250VGFibGVUYWcpKHVpbnRwdHJfdClDRkFycmF5
R2V0VmFsdWVBdEluZGV4KHRhYmxlVGFncy5nZXQoKSwgaW5kZXgpOwotICAgICAgICBpZiAodGFn
ID09ICdNQVRIJykKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1cm4g
ZmFsc2U7CisgICAgcmV0dXJuIGZvbnRIYXNUYWJsZShmb250LCBrQ1RGb250VGFibGVNQVRIKTsK
IH0KIAogc3RhdGljIGlubGluZSBzaG9ydCByZWFkU2hvcnRGcm9tVGFibGUoY29uc3QgVUludDgq
IG9zMkRhdGEsIENGSW5kZXggb2Zmc2V0KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408154</attachid>
            <date>2020-09-06 17:25:18 -0700</date>
            <delta_ts>2020-09-06 18:16:41 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-215688-20200906172517.patch</filename>
            <type>text/plain</type>
            <size>12315</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2Njg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDgyYzA0ODU1MGFmYjQ4ODc5MmY4NjQ4
ZWYwZjkyNWIxM2Q3NmUyZmYuLjQ0MTM0NTgxNTkzMGFkNjk0NzNlMWE2MGEzMWUzZThmNWJlNjM5
Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDktMDYgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIENURm9udEhhc1RhYmxlKCkg
aXMgZmFzdGVyIHRoYW4gaXRlcmF0aW5nIG92ZXIgZXZlcnkgdGFibGUgaW4gdGhlIGZvbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTY4OAorCisg
ICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICogd3RmL1BsYXRmb3Jt
SGF2ZS5oOgorCiAyMDIwLTA5LTA2ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAog
ICAgICAgICBUZXh0Q29kZWMgcmVmaW5lbWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkMDQzYjZhZjNlMzli
MjNhN2UzM2UyNmI5MmVlMmE1OTNlZjQ0MTkyLi4xNWU2YmNmODAxZDEyNDFiZDdjZmQ3YmFmYWNi
NWJiZTcyOWM2ZTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjAtMDktMDYgIE15
bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2Fd
IENURm9udEhhc1RhYmxlKCkgaXMgZmFzdGVyIHRoYW4gaXRlcmF0aW5nIG92ZXIgZXZlcnkgdGFi
bGUgaW4gdGhlIGZvbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNTY4OAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAg
ICAgIFdlIGNhbiBkaXJlY3RseSBhc2sgQ29yZSBUZXh0IGZvciB0aGUgaW5mb3JtYXRpb24gd2Un
cmUgbG9va2luZyBmb3IuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMg
bm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
Rm9udENhY2hlQ29yZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFR5cGU6OkZvbnRU
eXBlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW06Cisg
ICAgICAgIChXZWJDb3JlOjpmb250SGFzVmVydGljYWxHbHlwaHMpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
T3BlblR5cGU6OmZvbnRIYXNNYXRoVGFibGUpOgorCiAyMDIwLTA5LTA2ICBTYW0gV2VpbmlnICA8
d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViSURMXSBBZGQgbW9kZSB0byBwcmVwcm9j
ZXNzLWlkbHMucGwgdG8gdmFsaWRhdGUgZmFzdCByZWdleCBiYXNlZCBzY2FubmVyIHdpdGggdGhl
IG5vcm1hbCBJREwgcGFyc2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBjODM1MDI5ZGM0ZDFkYmI2
MmY3M2Q4MmU1MTRkMDRjZWUwZDFlMzBlLi5hYTljMDczNmViODk2YTJlMTFkMTI3ODhkM2NmMjVi
ZGE0M2I3NDg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMC0wOS0w
NiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtD
b2NvYV0gQ1RGb250SGFzVGFibGUoKSBpcyBmYXN0ZXIgdGhhbiBpdGVyYXRpbmcgb3ZlciBldmVy
eSB0YWJsZSBpbiB0aGUgZm9udAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjE1Njg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisK
KyAgICAgICAgKiBwYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmg6CisKIDIwMjAtMDktMDUgIE15
bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2Fd
IFVTRShQTEFURk9STV9TWVNURU1fRkFMTEJBQ0tfTElTVCkgaXMgdHJ1ZSBvbiBhbGwgQ29jb2Eg
cGxhdGZvcm1zLCBzbyB0aGVyZSdzIG5vIG5lZWQgdG8gY29uc3VsdCBpdCBpbiBDb2NvYS1zcGVj
aWZpYyBmaWxlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmggYi9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAppbmRleCAwYmNmODFmMzA1OTMzYjc5ZjUxYjI0
YmZmODk5MDVhNTdlMzE1NWJjLi4wODQ3ZTIwMWUxNmFmMTY1YWIzMjJhMTRjOTJlODM1OGQxNTM5
MzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaApAQCAtNzM5LDMgKzczOSw3IEBACiAgICAgfHwgKFBM
QVRGT1JNKEFQUExFVFYpICYmIF9fVFZfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTQwMDAw
KQogI2RlZmluZSBIQVZFX0NURk9OVElTU1lTVEVNVUlGT05UIDEKICNlbmRpZgorCisjaWYgUExB
VEZPUk0oQ09DT0EpICYmICEoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEIDwgMTAxNTAwKQorI2RlZmluZSBIQVZFX0NURk9OVEhBU1RBQkxFIDEKKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQ29yZVRleHRT
UEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgKaW5k
ZXggMDJiNzYyNWY4YzIxZjU1Yzc0NDc4MGU0ODk3NjIyZWQ0ZmNiZmI1Mi4uMjdmZjg3ZDE2NGUz
MzZmZjhhZDk5NzhiZTcwMGJjZjUwNGZmNzBhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oCkBAIC0xNDIsNiArMTQyLDcgQEAgQ1RGb250UmVm
IENURm9udENyZWF0ZUZvckNTUyhDRlN0cmluZ1JlZiBuYW1lLCB1aW50MTZfdCB3ZWlnaHQsIENU
Rm9udFN5bWJvbGljVHIKIENURm9udFJlZiBDVEZvbnRDcmVhdGVGb3JDaGFyYWN0ZXJzV2l0aExh
bmd1YWdlKENURm9udFJlZiBjdXJyZW50Rm9udCwgY29uc3QgVVRGMTZDaGFyICpjaGFyYWN0ZXJz
LCBDRkluZGV4IGxlbmd0aCwgQ0ZTdHJpbmdSZWYgbGFuZ3VhZ2UsIENGSW5kZXggKmNvdmVyZWRM
ZW5ndGgpOwogQ1RGb250UmVmIENURm9udENyZWF0ZUZvckNoYXJhY3RlcnNXaXRoTGFuZ3VhZ2VB
bmRPcHRpb24oQ1RGb250UmVmIGN1cnJlbnRGb250LCBjb25zdCBVVEYxNkNoYXIgKmNoYXJhY3Rl
cnMsIENGSW5kZXggbGVuZ3RoLCBDRlN0cmluZ1JlZiBsYW5ndWFnZSwgQ1RGb250RmFsbGJhY2tP
cHRpb24gb3B0aW9uLCBDRkluZGV4ICpjb3ZlcmVkTGVuZ3RoKTsKIENURm9udFJlZiBDVEZvbnRD
b3B5UGh5c2ljYWxGb250KENURm9udFJlZik7Citib29sIENURm9udEhhc1RhYmxlKENURm9udFJl
ZiwgQ1RGb250VGFibGVUYWcpOwogCiBleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NUVUlGb250
VGV4dFN0eWxlU2hvcnRIZWFkbGluZTsKIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RVSUZv
bnRUZXh0U3R5bGVTaG9ydEJvZHk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
LmgKaW5kZXggOGVjMzM4MGQ3YjdlNDVjMGQxMWU3YzhjNGVmNzIxZjY5ZWIyNWYwZi4uOTQyMWNh
MmNhOGFmYTEzYjdjYmIyZDg5N2RjOTNhNDQzNGIwNmFhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnQuaApAQCAtNjQsNiArNjQsMTAgQEAgZW51bSBGb250VmFyaWFudCB7
IEF1dG9WYXJpYW50LCBOb3JtYWxWYXJpYW50LCBTbWFsbENhcHNWYXJpYW50LCBFbXBoYXNpc01h
cmtWYXIKIGVudW0gUGl0Y2ggeyBVbmtub3duUGl0Y2gsIEZpeGVkUGl0Y2gsIFZhcmlhYmxlUGl0
Y2ggfTsKIGVudW0gY2xhc3MgSXNGb3JQbGF0Zm9ybUZvbnQgOiB1aW50OF90IHsgTm8sIFllcyB9
OwogCisjaWYgUExBVEZPUk0oQ09DT0EpCitib29sIGZvbnRIYXNUYWJsZShDVEZvbnRSZWYsIHVu
c2lnbmVkIHRhYmxlVGFnKTsKKyNlbmRpZgorCiBERUNMQVJFX0FMTE9DQVRPUl9XSVRIX0hFQVBf
SURFTlRJRklFUihGb250KTsKIGNsYXNzIEZvbnQgOiBwdWJsaWMgUmVmQ291bnRlZDxGb250PiB7
CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURURfV0lUSF9IRUFQX0lERU5USUZJRVIoRm9udCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250
Q2FjaGVDb3JlVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKaW5kZXggMTAwNmY0YmE1ZTI4NThmYTlhODUyZjFlZWZi
NTBjM2Y2ZDczNjgzYi4uYjYxY2M2ODQwYTY1OTY3MzY5MDg3YWZlOWE2NjY1NWZhMzQzMDU4NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENh
Y2hlQ29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcApAQCAtNDc5LDQwICs0NzksNDggQEAgc3RhdGljIGlu
bGluZSBmbG9hdCBub3JtYWxpemVXaWR0aChmbG9hdCB2YWx1ZSkKIHN0cnVjdCBGb250VHlwZSB7
CiAgICAgRm9udFR5cGUoQ1RGb250UmVmIGZvbnQpCiAgICAgeworICAgICAgICBib29sIGZvdW5k
U3RhdCA9IGZhbHNlOworICAgICAgICBib29sIGZvdW5kVHJhayA9IGZhbHNlOworI2lmIFVTRShD
VEZPTlRIQVNUQUJMRSkKKyAgICAgICAgYm9vbCBmb3VuZEZ2YXIgPSBDVEZvbnRIYXNUYWJsZShm
b250LCBrQ1RGb250VGFibGVGdmFyKTsKKyAgICAgICAgZm91bmRTdGF0ID0gQ1RGb250SGFzVGFi
bGUoZm9udCwga0NURm9udFRhYmxlU1RBVCk7CisgICAgICAgIGFhdFNoYXBpbmcgPSBDVEZvbnRI
YXNUYWJsZShmb250LCBrQ1RGb250VGFibGVNb3J4KSB8fCBDVEZvbnRIYXNUYWJsZShmb250LCBr
Q1RGb250VGFibGVNb3J0KTsKKyAgICAgICAgb3BlblR5cGVTaGFwaW5nID0gQ1RGb250SGFzVGFi
bGUoZm9udCwga0NURm9udFRhYmxlR1BPUykgfHwgQ1RGb250SGFzVGFibGUoZm9udCwga0NURm9u
dFRhYmxlR1NVQik7CisgICAgICAgIGZvdW5kVHJhayA9IENURm9udEhhc1RhYmxlKGZvbnQsIGtD
VEZvbnRUYWJsZVRyYWspOworICAgICAgICBpZiAoZm91bmRTdGF0KQorICAgICAgICAgICAgdmFy
aWF0aW9uVHlwZSA9IFZhcmlhdGlvblR5cGU6Ok9wZW5UeXBlMTg7CisgICAgICAgIGVsc2UgaWYg
KGZvdW5kRnZhcikKKyAgICAgICAgICAgIHZhcmlhdGlvblR5cGUgPSBWYXJpYXRpb25UeXBlOjpU
cnVlVHlwZUdYOworI2Vsc2UKICAgICAgICAgYXV0byB0YWJsZXMgPSBhZG9wdENGKENURm9udENv
cHlBdmFpbGFibGVUYWJsZXMoZm9udCwga0NURm9udFRhYmxlT3B0aW9uTm9PcHRpb25zKSk7CiAg
ICAgICAgIGlmICghdGFibGVzKQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBib29sIGZv
dW5kU3RhdCA9IGZhbHNlOwotICAgICAgICBib29sIGZvdW5kVHJhayA9IGZhbHNlOwogICAgICAg
ICBhdXRvIHNpemUgPSBDRkFycmF5R2V0Q291bnQodGFibGVzLmdldCgpKTsKICAgICAgICAgZm9y
IChDRkluZGV4IGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7Ci0gICAgICAgICAgICAvLyBUaGlzIGlz
IHNvIHl1Y2t5LgotICAgICAgICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL3Jl
ZmVyZW5jZS9jb3JldGV4dC8xNTEwNzc0LWN0Zm9udGNvcHlhdmFpbGFibGV0YWJsZXMKLSAgICAg
ICAgICAgIC8vICJUaGUgcmV0dXJuZWQgc2V0IHdpbGwgY29udGFpbiB1bmJveGVkIHZhbHVlcywg
d2hpY2ggY2FuIGJlIGV4dHJhY3RlZCBsaWtlIHNvOiIKLSAgICAgICAgICAgIC8vICJDVEZvbnRU
YWJsZVRhZyB0YWcgPSAoQ1RGb250VGFibGVUYWcpKHVpbnRwdHJfdClDRkFycmF5R2V0VmFsdWVB
dEluZGV4KHRhZ3MsIGluZGV4KTsiCi0gICAgICAgICAgICBDVEZvbnRUYWJsZVRhZyB0YWJsZVRh
ZyA9IHN0YXRpY19jYXN0PENURm9udFRhYmxlVGFnPihyZWludGVycHJldF9jYXN0PHVpbnRwdHJf
dD4oQ0ZBcnJheUdldFZhbHVlQXRJbmRleCh0YWJsZXMuZ2V0KCksIGkpKSk7CisgICAgICAgICAg
ICBhdXRvIHRhYmxlVGFnID0gc3RhdGljX2Nhc3Q8Q1RGb250VGFibGVUYWc+KHJlaW50ZXJwcmV0
X2Nhc3Q8dWludHB0cl90PihDRkFycmF5R2V0VmFsdWVBdEluZGV4KHRhYmxlcy5nZXQoKSwgaSkp
KTsKICAgICAgICAgICAgIHN3aXRjaCAodGFibGVUYWcpIHsKLSAgICAgICAgICAgIGNhc2UgJ2Z2
YXInOgorICAgICAgICAgICAgY2FzZSBrQ1RGb250VGFibGVGdmFyOgogICAgICAgICAgICAgICAg
IGlmICh2YXJpYXRpb25UeXBlID09IFZhcmlhdGlvblR5cGU6Ok5vdFZhcmlhYmxlKQogICAgICAg
ICAgICAgICAgICAgICB2YXJpYXRpb25UeXBlID0gVmFyaWF0aW9uVHlwZTo6VHJ1ZVR5cGVHWDsK
ICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgJ1NUQVQnOgorICAgICAg
ICAgICAgY2FzZSBrQ1RGb250VGFibGVTVEFUOgogICAgICAgICAgICAgICAgIGZvdW5kU3RhdCA9
IHRydWU7CiAgICAgICAgICAgICAgICAgdmFyaWF0aW9uVHlwZSA9IFZhcmlhdGlvblR5cGU6Ok9w
ZW5UeXBlMTg7CiAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBjYXNlICdtb3J4
JzoKLSAgICAgICAgICAgIGNhc2UgJ21vcnQnOgorICAgICAgICAgICAgY2FzZSBrQ1RGb250VGFi
bGVNb3J4OgorICAgICAgICAgICAgY2FzZSBrQ1RGb250VGFibGVNb3J0OgogICAgICAgICAgICAg
ICAgIGFhdFNoYXBpbmcgPSB0cnVlOwogICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgY2FzZSAnR1BPUyc6Ci0gICAgICAgICAgICBjYXNlICdHU1VCJzoKKyAgICAgICAgICAgIGNh
c2Uga0NURm9udFRhYmxlR1BPUzoKKyAgICAgICAgICAgIGNhc2Uga0NURm9udFRhYmxlR1NVQjoK
ICAgICAgICAgICAgICAgICBvcGVuVHlwZVNoYXBpbmcgPSB0cnVlOwogICAgICAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICAgICAgY2FzZSAndHJhayc6CisgICAgICAgICAgICBjYXNlIGtDVEZv
bnRUYWJsZVRyYWs6CiAgICAgICAgICAgICAgICAgZm91bmRUcmFrID0gdHJ1ZTsKICAgICAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgfQorI2VuZGlmCiAgICAgICAg
IGlmIChmb3VuZFN0YXQgJiYgZm91bmRUcmFrKQogICAgICAgICAgICAgdHJhY2tpbmdUeXBlID0g
VHJhY2tpbmdUeXBlOjpBdXRvbWF0aWM7CiAgICAgICAgIGVsc2UgaWYgKGZvdW5kVHJhaykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2Nv
YS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5t
bQppbmRleCBmYzhiYzBkMzQ0MWE2MWZjYzA5ZThkNGE2NWY0MGU1NDg5ZTk0OWQ1Li45NzJmYWFh
YTNkY2QxOGZlOWQwZmVhYmYyY2U1NDEyMDY0NTQzZDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tCkBAIC02MiwxOSArNjIs
OSBAQCBzdGF0aWMgaW5saW5lIGJvb2wgY2FzZUluc2Vuc2l0aXZlQ29tcGFyZShDRlN0cmluZ1Jl
ZiBhLCBDRlN0cmluZ1JlZiBiKQogICAgIHJldHVybiBhICYmIENGU3RyaW5nQ29tcGFyZShhLCBi
LCBrQ0ZDb21wYXJlQ2FzZUluc2Vuc2l0aXZlKSA9PSBrQ0ZDb21wYXJlRXF1YWxUbzsKIH0KIAot
c3RhdGljIGJvb2wgZm9udEhhc1ZlcnRpY2FsR2x5cGhzKENURm9udFJlZiBjdEZvbnQpCitzdGF0
aWMgYm9vbCBmb250SGFzVmVydGljYWxHbHlwaHMoQ1RGb250UmVmIGZvbnQpCiB7Ci0gICAgLy8g
VGhlIGNoZWNrIGRvZXNuJ3QgbG9vayBuZWF0IGJ1dCB0aGlzIGlzIHdoYXQgQXBwS2l0IGRvZXMg
Zm9yIHZlcnRpY2FsIHdyaXRpbmcuLi4KLSAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gdGFibGVU
YWdzID0gYWRvcHRDRihDVEZvbnRDb3B5QXZhaWxhYmxlVGFibGVzKGN0Rm9udCwga0NURm9udFRh
YmxlT3B0aW9uTm9PcHRpb25zKSk7Ci0gICAgaWYgKCF0YWJsZVRhZ3MpCi0gICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICBDRkluZGV4IG51bVRhYmxlcyA9IENGQXJyYXlHZXRDb3VudCh0YWJsZVRh
Z3MuZ2V0KCkpOwotICAgIGZvciAoQ0ZJbmRleCBpbmRleCA9IDA7IGluZGV4IDwgbnVtVGFibGVz
OyArK2luZGV4KSB7Ci0gICAgICAgIENURm9udFRhYmxlVGFnIHRhZyA9IChDVEZvbnRUYWJsZVRh
ZykodWludHB0cl90KUNGQXJyYXlHZXRWYWx1ZUF0SW5kZXgodGFibGVUYWdzLmdldCgpLCBpbmRl
eCk7Ci0gICAgICAgIGlmICh0YWcgPT0ga0NURm9udFRhYmxlVmhlYSB8fCB0YWcgPT0ga0NURm9u
dFRhYmxlVk9SRykKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1cm4g
ZmFsc2U7CisgICAgcmV0dXJuIGZvbnRIYXNUYWJsZShmb250LCBrQ1RGb250VGFibGVWaGVhKSB8
fCBmb250SGFzVGFibGUoZm9udCwga0NURm9udFRhYmxlVk9SRyk7CiB9CiAKICNpZiBQTEFURk9S
TShJT1NfRkFNSUxZKQpAQCAtMTE5LDYgKzEwOSwyNCBAQCBzdGF0aWMgYm9vbCBpc0FoZW1Gb250
KENGU3RyaW5nUmVmIGZhbWlseU5hbWUpCiAgICAgcmV0dXJuIGZhbWlseU5hbWUgJiYgY2FzZUlu
c2Vuc2l0aXZlQ29tcGFyZShmYW1pbHlOYW1lLCBDRlNUUigiQWhlbSIpKTsKIH0KIAorYm9vbCBm
b250SGFzVGFibGUoQ1RGb250UmVmIGN0Rm9udCwgdW5zaWduZWQgdGFibGVUYWcpCit7CisjaWYg
SEFWRShDVEZPTlRIQVNUQUJMRSkKKyAgICByZXR1cm4gQ1RGb250SGFzVGFibGUoY3RGb250LCB0
YWJsZVRhZyk7CisjZWxzZQorICAgIGF1dG8gdGFibGVUYWdzID0gYWRvcHRDRihDVEZvbnRDb3B5
QXZhaWxhYmxlVGFibGVzKGN0Rm9udCwga0NURm9udFRhYmxlT3B0aW9uTm9PcHRpb25zKSk7Cisg
ICAgaWYgKCF0YWJsZVRhZ3MpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBDRkluZGV4IG51
bVRhYmxlcyA9IENGQXJyYXlHZXRDb3VudCh0YWJsZVRhZ3MuZ2V0KCkpOworICAgIGZvciAoQ0ZJ
bmRleCBpbmRleCA9IDA7IGluZGV4IDwgbnVtVGFibGVzOyArK2luZGV4KSB7CisgICAgICAgIGF1
dG8gdGFnID0gc3RhdGljX2Nhc3Q8Q1RGb250VGFibGVUYWc+KHJlaW50ZXJwcmV0X2Nhc3Q8dWlu
dHB0cl90PihDRkFycmF5R2V0VmFsdWVBdEluZGV4KHRhYmxlVGFncy5nZXQoKSwgaW5kZXgpKSk7
CisgICAgICAgIGlmICh0YWcgPT0gdGFibGVUYWcpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKIHZvaWQgRm9udDo6cGxhdGZv
cm1Jbml0KCkKIHsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpAQCAtMTM3LDcgKzE0NSw3IEBA
IHZvaWQgRm9udDo6cGxhdGZvcm1Jbml0KCkKICAgICAvLyBUaGUgT3BlbiBGb250IEZvcm1hdCBk
ZXNjcmliZXMgdGhlIE9TLzIgVVNFX1RZUE9fTUVUUklDUyBmbGFnIGFzIGZvbGxvd3M6CiAgICAg
Ly8gIklmIHNldCwgaXQgaXMgc3Ryb25nbHkgcmVjb21tZW5kZWQgdG8gdXNlIE9TLzIuc1R5cG9B
c2NlbmRlciAtIE9TLzIuc1R5cG9EZXNjZW5kZXIrIE9TLzIuc1R5cG9MaW5lR2FwIGFzIGEgdmFs
dWUgZm9yIGRlZmF1bHQgbGluZSBzcGFjaW5nIGZvciB0aGlzIGZvbnQuIgogICAgIC8vIE9uIE9T
IFgsIHdlIG9ubHkgYXBwbHkgdGhpcyBydWxlIGluIHRoZSBpbXBvcnRhbnQgY2FzZSBvZiBmb250
cyB3aXRoIGEgTUFUSCB0YWJsZS4KLSAgICBpZiAoT3BlblR5cGU6OmZvbnRIYXNNYXRoVGFibGUo
bV9wbGF0Zm9ybURhdGEuY3RGb250KCkpKSB7CisgICAgaWYgKGZvbnRIYXNUYWJsZShtX3BsYXRm
b3JtRGF0YS5jdEZvbnQoKSwga0NURm9udFRhYmxlTUFUSCkpIHsKICAgICAgICAgc2hvcnQgdHlw
b0FzY2VudCwgdHlwb0Rlc2NlbnQsIHR5cG9MaW5lR2FwOwogICAgICAgICBpZiAoT3BlblR5cGU6
OnRyeUdldFR5cG9NZXRyaWNzKG1fcGxhdGZvcm1EYXRhLmZvbnQoKSwgdHlwb0FzY2VudCwgdHlw
b0Rlc2NlbnQsIHR5cG9MaW5lR2FwKSkgewogICAgICAgICAgICAgYXNjZW50ID0gc2NhbGVFbVRv
VW5pdHModHlwb0FzY2VudCwgdW5pdHNQZXJFbSkgKiBwb2ludFNpemU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9PcGVuVHlwZUNHLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3Bw
CmluZGV4IGUxYjU2ZmFiNDRhNzI5Zjc3MGJhOWZlODI2YTg3ZTVmZTFmZGE1OGIuLjQ5YmNkZjVi
YTA4MDNmZTM3ZjJkYzVjZTUxM2NmYzg2YWRkMDEyZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3BwCkBAIC0z
NSwyMCArMzUsNiBAQCBuYW1lc3BhY2UgT3BlblR5cGUgewogc3RhdGljIGNvbnN0IHVuc2lnbmVk
IGxvbmcga0NURm9udFRhYmxlT1MyID0gJ09TLzInOwogI2VuZGlmCiAKLWJvb2wgZm9udEhhc01h
dGhUYWJsZShDVEZvbnRSZWYgY3RGb250KQotewotICAgIFJldGFpblB0cjxDRkFycmF5UmVmPiB0
YWJsZVRhZ3MgPSBhZG9wdENGKENURm9udENvcHlBdmFpbGFibGVUYWJsZXMoY3RGb250LCBrQ1RG
b250VGFibGVPcHRpb25Ob09wdGlvbnMpKTsKLSAgICBpZiAoIXRhYmxlVGFncykKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIENGSW5kZXggbnVtVGFibGVzID0gQ0ZBcnJheUdldENvdW50KHRh
YmxlVGFncy5nZXQoKSk7Ci0gICAgZm9yIChDRkluZGV4IGluZGV4ID0gMDsgaW5kZXggPCBudW1U
YWJsZXM7ICsraW5kZXgpIHsKLSAgICAgICAgQ1RGb250VGFibGVUYWcgdGFnID0gKENURm9udFRh
YmxlVGFnKSh1aW50cHRyX3QpQ0ZBcnJheUdldFZhbHVlQXRJbmRleCh0YWJsZVRhZ3MuZ2V0KCks
IGluZGV4KTsKLSAgICAgICAgaWYgKHRhZyA9PSAnTUFUSCcpCi0gICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCiBzdGF0aWMgaW5saW5lIHNob3J0
IHJlYWRTaG9ydEZyb21UYWJsZShjb25zdCBVSW50OCogb3MyRGF0YSwgQ0ZJbmRleCBvZmZzZXQp
CiB7CiAgICAgcmV0dXJuICoocmVpbnRlcnByZXRfY2FzdDxjb25zdCBPcGVuVHlwZTo6SW50MTYq
PihvczJEYXRhICsgb2Zmc2V0KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9vcGVudHlwZS9PcGVuVHlwZUNHLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9vcGVudHlwZS9PcGVuVHlwZUNHLmgKaW5kZXggYzUzMzBiYmE3N2RiMWZiYThm
OTBhZGNjZTEzZDNjMTk5YjhhNGZjYi4uZmIzNzIzMzM1MzE3MTgzZjZiOWYzYTM5MzhiYjExZDE5
Y2Q4YWVmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Bl
bnR5cGUvT3BlblR5cGVDRy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L29wZW50eXBlL09wZW5UeXBlQ0cuaApAQCAtMzYsNyArMzYsNiBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogbmFtZXNwYWNlIE9wZW5UeXBlIHsKIAotYm9vbCBmb250SGFzTWF0aFRhYmxlKENURm9u
dFJlZik7CiBib29sIHRyeUdldFR5cG9NZXRyaWNzKENURm9udFJlZiwgc2hvcnQmIGFzY2VudCwg
c2hvcnQmIGRlc2NlbnQsIHNob3J0JiBsaW5lR2FwKTsKIAogfSAvLyBuYW1lc3BhY2UgT3BlblR5
cGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408158</attachid>
            <date>2020-09-06 18:17:56 -0700</date>
            <delta_ts>2020-09-06 18:20:22 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-215688-20200906181756.patch</filename>
            <type>text/plain</type>
            <size>12546</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2Njg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDgyYzA0ODU1MGFmYjQ4ODc5MmY4NjQ4
ZWYwZjkyNWIxM2Q3NmUyZmYuLjhlYjU3NGIxMWNiMWZlNzY1MjI0OGRjY2ZlMWFjNTc0MmNjNmIz
NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAtMDktMDYgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIFByZXBhcmUgZm9yIG1pZ3Jh
dGluZyB0byBDVEZvbnRIYXNUYWJsZSgpIG9uY2UgaXQncyBmYXN0ZXIgdGhhbiBDVEZvbnRDb3B5
QXZhaWxhYmxlVGFibGVzKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxNTY4OAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisg
ICAgICAgICogd3RmL1BsYXRmb3JtSGF2ZS5oOgorCiAyMDIwLTA5LTA2ICBEYXJpbiBBZGxlciAg
PGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBUZXh0Q29kZWMgcmVmaW5lbWVudHMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCAxZWQ2ZGNhNTU3NmVjOWVmN2I3NDQ4YjEyNWQ5NjEzMjUyNTNlZDY1Li5hYzQzODcz
Y2JhODg4NTdlZDY1MWQwNTMwOWJiNzJmZDdlOWZkYzlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjEgQEAKKzIwMjAtMDktMDYgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNv
bT4KKworICAgICAgICBbQ29jb2FdIFByZXBhcmUgZm9yIG1pZ3JhdGluZyB0byBDVEZvbnRIYXNU
YWJsZSgpIG9uY2UgaXQncyBmYXN0ZXIgdGhhbiBDVEZvbnRDb3B5QXZhaWxhYmxlVGFibGVzKCkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTY4OAor
CisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFdlIGNhbiBkaXJl
Y3RseSBhc2sgQ29yZSBUZXh0IGZvciB0aGUgaW5mb3JtYXRpb24gd2UncmUgbG9va2luZyBmb3Iu
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZpb3IgY2hh
bmdlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRl
eHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFR5cGU6OkZvbnRUeXBlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW06CisgICAgICAgIChXZWJDb3Jl
Ojpmb250SGFzVmVydGljYWxHbHlwaHMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29w
ZW50eXBlL09wZW5UeXBlQ0cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6T3BlblR5cGU6OmZvbnRI
YXNNYXRoVGFibGUpOgorCiAyMDIwLTA5LTA2ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhA
YXBwbGUuY29tPgogCiAgICAgICAgIFtNb3Rpb25NYXJrIC0gTXVsdGlwbHldIFdlYiBwcm9jZXNz
IHNwZW5kcyB+MSUgb2YgdG90YWwgc2FtcGxlcyBpbiBQcm9wZXJ0eUNhc2NhZGU6OnJlc29sdmVE
aXJlY3Rpb25BbmRXcml0aW5nTW9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggYzgzNTAyOWRjNGQx
ZGJiNjJmNzNkODJlNTE0ZDA0Y2VlMGQxZTMwZS4uOWI2NmUwMTMzMDg1YzM1Y2QzYTgwMTBmNmVk
ZWQ2NDFhNTE2ZDQxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjAt
MDktMDYgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAg
ICBbQ29jb2FdIFByZXBhcmUgZm9yIG1pZ3JhdGluZyB0byBDVEZvbnRIYXNUYWJsZSgpIG9uY2Ug
aXQncyBmYXN0ZXIgdGhhbiBDVEZvbnRDb3B5QXZhaWxhYmxlVGFibGVzKCkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTY4OAorCisgICAgICAgIFJl
dmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICogcGFsL3NwaS9jb2NvYS9Db3JlVGV4
dFNQSS5oOgorCiAyMDIwLTA5LTA1ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBs
ZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBVU0UoUExBVEZPUk1fU1lTVEVNX0ZBTExCQUNLX0xJ
U1QpIGlzIHRydWUgb24gYWxsIENvY29hIHBsYXRmb3Jtcywgc28gdGhlcmUncyBubyBuZWVkIHRv
IGNvbnN1bHQgaXQgaW4gQ29jb2Etc3BlY2lmaWMgZmlsZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGY3NmRmYWY4NzYzMjBkZmFkYzZk
MWE4N2VlYTIzYzAwNDZlNzliNWIuLjMwMmMyNzQ0ZTcyOGU3MzNmNjJkYzg2YjE5Y2Q0Y2RiYjYx
ZDgyYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0Lnhj
ZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxl
bGlzdApAQCAtMjA4LDYgKzIwOCw3IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUHJpb3JpdHlUeXBlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENSdHBDYXBhYmlsaXRpZXMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1J0cENvZGVjQ2FwYWJpbGl0eS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDUnRwQ29kZWNQYXJhbWV0ZXJzLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBDb2RpbmdQYXJhbWV0ZXJzLmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBDb250cmlidXRpbmdTb3VyY2UuaWRsCiAkKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cEVuY29kaW5nUGFyYW1ldGVycy5pZGwK
ICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwRmVjUGFyYW1ldGVycy5p
ZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2Zp
bGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QK
aW5kZXggYmMzMWU4YTJkYTFkZTRmNjFiYmY5NTQzZmQ5NmZkNTg2N2MyZTkxMi4uMTI5NmE3MDA3
NDc3MTY4YzA5NWYwMmQ0MGI4ZWFjY2NmYWIwMmJiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTE0NTYsNiArMTQ1Niw4IEBAICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDUnRwQ29kZWND
YXBhYmlsaXR5LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNSVENSdHBDb2RlY0NhcGFiaWxpdHkuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBDb2RlY1BhcmFtZXRlcnMuY3BwCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cENvZGVjUGFyYW1ldGVy
cy5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0
cENvZGluZ1BhcmFtZXRlcnMuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1JUQ1J0cENvZGluZ1BhcmFtZXRlcnMuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNSVENSdHBDb250cmlidXRpbmdTb3VyY2UuY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1JUQ1J0cENv
bnRyaWJ1dGluZ1NvdXJjZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1JUQ1J0cEVuY29kaW5nUGFyYW1ldGVycy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnQuaAppbmRleCA4ZWMzMzgwZDdiN2U0NWMwZDExZTdjOGM0ZWY3MjFm
NjllYjI1ZjBmLi43YWI1MzE3YWIxMjRlZjI2ZTQxMjk2NTNkNjNmOWY2NzM0NzVhMjM3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCkBAIC02NCw2ICs2NCwxMSBAQCBl
bnVtIEZvbnRWYXJpYW50IHsgQXV0b1ZhcmlhbnQsIE5vcm1hbFZhcmlhbnQsIFNtYWxsQ2Fwc1Zh
cmlhbnQsIEVtcGhhc2lzTWFya1ZhcgogZW51bSBQaXRjaCB7IFVua25vd25QaXRjaCwgRml4ZWRQ
aXRjaCwgVmFyaWFibGVQaXRjaCB9OwogZW51bSBjbGFzcyBJc0ZvclBsYXRmb3JtRm9udCA6IHVp
bnQ4X3QgeyBObywgWWVzIH07CiAKKyNpZiBQTEFURk9STShDT0NPQSkKK2Jvb2wgZm9udEhhc1Rh
YmxlKENURm9udFJlZiwgdW5zaWduZWQgdGFibGVUYWcpOworYm9vbCBmb250SGFzRWl0aGVyVGFi
bGUoQ1RGb250UmVmLCB1bnNpZ25lZCB0YWJsZVRhZzEsIHVuc2lnbmVkIHRhYmxlVGFnMik7Cisj
ZW5kaWYKKwogREVDTEFSRV9BTExPQ0FUT1JfV0lUSF9IRUFQX0lERU5USUZJRVIoRm9udCk7CiBj
bGFzcyBGb250IDogcHVibGljIFJlZkNvdW50ZWQ8Rm9udD4gewogICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEX1dJVEhfSEVBUF9JREVOVElGSUVSKEZvbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQu
Y3BwCmluZGV4IDEwMDZmNGJhNWUyODU4ZmE5YTg1MmYxZWVmYjUwYzNmNmQ3MzY4M2IuLmQ5MTNm
ZGQ1MDM5M2FlNWNhNGVkYWM5ZjM0MTEzYmYyN2MwMDQ2MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4
dC5jcHAKQEAgLTQ3OSwzNiArNDc5LDMyIEBAIHN0YXRpYyBpbmxpbmUgZmxvYXQgbm9ybWFsaXpl
V2lkdGgoZmxvYXQgdmFsdWUpCiBzdHJ1Y3QgRm9udFR5cGUgewogICAgIEZvbnRUeXBlKENURm9u
dFJlZiBmb250KQogICAgIHsKKyAgICAgICAgYm9vbCBmb3VuZFN0YXQgPSBmYWxzZTsKKyAgICAg
ICAgYm9vbCBmb3VuZFRyYWsgPSBmYWxzZTsKICAgICAgICAgYXV0byB0YWJsZXMgPSBhZG9wdENG
KENURm9udENvcHlBdmFpbGFibGVUYWJsZXMoZm9udCwga0NURm9udFRhYmxlT3B0aW9uTm9PcHRp
b25zKSk7CiAgICAgICAgIGlmICghdGFibGVzKQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICBib29sIGZvdW5kU3RhdCA9IGZhbHNlOwotICAgICAgICBib29sIGZvdW5kVHJhayA9IGZhbHNl
OwogICAgICAgICBhdXRvIHNpemUgPSBDRkFycmF5R2V0Q291bnQodGFibGVzLmdldCgpKTsKICAg
ICAgICAgZm9yIChDRkluZGV4IGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7Ci0gICAgICAgICAgICAv
LyBUaGlzIGlzIHNvIHl1Y2t5LgotICAgICAgICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIuYXBw
bGUuY29tL3JlZmVyZW5jZS9jb3JldGV4dC8xNTEwNzc0LWN0Zm9udGNvcHlhdmFpbGFibGV0YWJs
ZXMKLSAgICAgICAgICAgIC8vICJUaGUgcmV0dXJuZWQgc2V0IHdpbGwgY29udGFpbiB1bmJveGVk
IHZhbHVlcywgd2hpY2ggY2FuIGJlIGV4dHJhY3RlZCBsaWtlIHNvOiIKLSAgICAgICAgICAgIC8v
ICJDVEZvbnRUYWJsZVRhZyB0YWcgPSAoQ1RGb250VGFibGVUYWcpKHVpbnRwdHJfdClDRkFycmF5
R2V0VmFsdWVBdEluZGV4KHRhZ3MsIGluZGV4KTsiCi0gICAgICAgICAgICBDVEZvbnRUYWJsZVRh
ZyB0YWJsZVRhZyA9IHN0YXRpY19jYXN0PENURm9udFRhYmxlVGFnPihyZWludGVycHJldF9jYXN0
PHVpbnRwdHJfdD4oQ0ZBcnJheUdldFZhbHVlQXRJbmRleCh0YWJsZXMuZ2V0KCksIGkpKSk7Cisg
ICAgICAgICAgICBhdXRvIHRhYmxlVGFnID0gc3RhdGljX2Nhc3Q8Q1RGb250VGFibGVUYWc+KHJl
aW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihDRkFycmF5R2V0VmFsdWVBdEluZGV4KHRhYmxlcy5n
ZXQoKSwgaSkpKTsKICAgICAgICAgICAgIHN3aXRjaCAodGFibGVUYWcpIHsKLSAgICAgICAgICAg
IGNhc2UgJ2Z2YXInOgorICAgICAgICAgICAgY2FzZSBrQ1RGb250VGFibGVGdmFyOgogICAgICAg
ICAgICAgICAgIGlmICh2YXJpYXRpb25UeXBlID09IFZhcmlhdGlvblR5cGU6Ok5vdFZhcmlhYmxl
KQogICAgICAgICAgICAgICAgICAgICB2YXJpYXRpb25UeXBlID0gVmFyaWF0aW9uVHlwZTo6VHJ1
ZVR5cGVHWDsKICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgJ1NUQVQn
OgorICAgICAgICAgICAgY2FzZSBrQ1RGb250VGFibGVTVEFUOgogICAgICAgICAgICAgICAgIGZv
dW5kU3RhdCA9IHRydWU7CiAgICAgICAgICAgICAgICAgdmFyaWF0aW9uVHlwZSA9IFZhcmlhdGlv
blR5cGU6Ok9wZW5UeXBlMTg7CiAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICBj
YXNlICdtb3J4JzoKLSAgICAgICAgICAgIGNhc2UgJ21vcnQnOgorICAgICAgICAgICAgY2FzZSBr
Q1RGb250VGFibGVNb3J4OgorICAgICAgICAgICAgY2FzZSBrQ1RGb250VGFibGVNb3J0OgogICAg
ICAgICAgICAgICAgIGFhdFNoYXBpbmcgPSB0cnVlOwogICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgY2FzZSAnR1BPUyc6Ci0gICAgICAgICAgICBjYXNlICdHU1VCJzoKKyAgICAg
ICAgICAgIGNhc2Uga0NURm9udFRhYmxlR1BPUzoKKyAgICAgICAgICAgIGNhc2Uga0NURm9udFRh
YmxlR1NVQjoKICAgICAgICAgICAgICAgICBvcGVuVHlwZVNoYXBpbmcgPSB0cnVlOwogICAgICAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAndHJhayc6CisgICAgICAgICAgICBj
YXNlIGtDVEZvbnRUYWJsZVRyYWs6CiAgICAgICAgICAgICAgICAgZm91bmRUcmFrID0gdHJ1ZTsK
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5tbQppbmRleCBmYzhiYzBk
MzQ0MWE2MWZjYzA5ZThkNGE2NWY0MGU1NDg5ZTk0OWQ1Li5mYmUzODQ0N2ZjYTg0N2M1ZmM1MGNk
MmNjYTJiNDViN2FiNTA1ODY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9Gb250Q29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1tCkBAIC02MiwxOSArNjIsOSBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgY2FzZUluc2Vuc2l0aXZlQ29tcGFyZShDRlN0cmluZ1JlZiBhLCBDRlN0cmluZ1Jl
ZiBiKQogICAgIHJldHVybiBhICYmIENGU3RyaW5nQ29tcGFyZShhLCBiLCBrQ0ZDb21wYXJlQ2Fz
ZUluc2Vuc2l0aXZlKSA9PSBrQ0ZDb21wYXJlRXF1YWxUbzsKIH0KIAotc3RhdGljIGJvb2wgZm9u
dEhhc1ZlcnRpY2FsR2x5cGhzKENURm9udFJlZiBjdEZvbnQpCitzdGF0aWMgYm9vbCBmb250SGFz
VmVydGljYWxHbHlwaHMoQ1RGb250UmVmIGZvbnQpCiB7Ci0gICAgLy8gVGhlIGNoZWNrIGRvZXNu
J3QgbG9vayBuZWF0IGJ1dCB0aGlzIGlzIHdoYXQgQXBwS2l0IGRvZXMgZm9yIHZlcnRpY2FsIHdy
aXRpbmcuLi4KLSAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gdGFibGVUYWdzID0gYWRvcHRDRihD
VEZvbnRDb3B5QXZhaWxhYmxlVGFibGVzKGN0Rm9udCwga0NURm9udFRhYmxlT3B0aW9uTm9PcHRp
b25zKSk7Ci0gICAgaWYgKCF0YWJsZVRhZ3MpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBD
RkluZGV4IG51bVRhYmxlcyA9IENGQXJyYXlHZXRDb3VudCh0YWJsZVRhZ3MuZ2V0KCkpOwotICAg
IGZvciAoQ0ZJbmRleCBpbmRleCA9IDA7IGluZGV4IDwgbnVtVGFibGVzOyArK2luZGV4KSB7Ci0g
ICAgICAgIENURm9udFRhYmxlVGFnIHRhZyA9IChDVEZvbnRUYWJsZVRhZykodWludHB0cl90KUNG
QXJyYXlHZXRWYWx1ZUF0SW5kZXgodGFibGVUYWdzLmdldCgpLCBpbmRleCk7Ci0gICAgICAgIGlm
ICh0YWcgPT0ga0NURm9udFRhYmxlVmhlYSB8fCB0YWcgPT0ga0NURm9udFRhYmxlVk9SRykKLSAg
ICAgICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0
dXJuIGZvbnRIYXNFaXRoZXJUYWJsZShmb250LCBrQ1RGb250VGFibGVWaGVhLCBrQ1RGb250VGFi
bGVWT1JHKTsKIH0KIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC0xMTksNiArMTA5LDM0
IEBAIHN0YXRpYyBib29sIGlzQWhlbUZvbnQoQ0ZTdHJpbmdSZWYgZmFtaWx5TmFtZSkKICAgICBy
ZXR1cm4gZmFtaWx5TmFtZSAmJiBjYXNlSW5zZW5zaXRpdmVDb21wYXJlKGZhbWlseU5hbWUsIENG
U1RSKCJBaGVtIikpOwogfQogCitib29sIGZvbnRIYXNUYWJsZShDVEZvbnRSZWYgY3RGb250LCB1
bnNpZ25lZCB0YWJsZVRhZykKK3sKKyAgICBhdXRvIHRhYmxlVGFncyA9IGFkb3B0Q0YoQ1RGb250
Q29weUF2YWlsYWJsZVRhYmxlcyhjdEZvbnQsIGtDVEZvbnRUYWJsZU9wdGlvbk5vT3B0aW9ucykp
OworICAgIGlmICghdGFibGVUYWdzKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgQ0ZJbmRl
eCBudW1UYWJsZXMgPSBDRkFycmF5R2V0Q291bnQodGFibGVUYWdzLmdldCgpKTsKKyAgICBmb3Ig
KENGSW5kZXggaW5kZXggPSAwOyBpbmRleCA8IG51bVRhYmxlczsgKytpbmRleCkgeworICAgICAg
ICBhdXRvIHRhZyA9IHN0YXRpY19jYXN0PENURm9udFRhYmxlVGFnPihyZWludGVycHJldF9jYXN0
PHVpbnRwdHJfdD4oQ0ZBcnJheUdldFZhbHVlQXRJbmRleCh0YWJsZVRhZ3MuZ2V0KCksIGluZGV4
KSkpOworICAgICAgICBpZiAodGFnID09IHRhYmxlVGFnKQorICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBmb250SGFzRWl0aGVyVGFi
bGUoQ1RGb250UmVmIGN0Rm9udCwgdW5zaWduZWQgdGFibGVUYWcxLCB1bnNpZ25lZCB0YWJsZVRh
ZzIpCit7CisgICAgYXV0byB0YWJsZVRhZ3MgPSBhZG9wdENGKENURm9udENvcHlBdmFpbGFibGVU
YWJsZXMoY3RGb250LCBrQ1RGb250VGFibGVPcHRpb25Ob09wdGlvbnMpKTsKKyAgICBpZiAoIXRh
YmxlVGFncykKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIENGSW5kZXggbnVtVGFibGVzID0g
Q0ZBcnJheUdldENvdW50KHRhYmxlVGFncy5nZXQoKSk7CisgICAgZm9yIChDRkluZGV4IGluZGV4
ID0gMDsgaW5kZXggPCBudW1UYWJsZXM7ICsraW5kZXgpIHsKKyAgICAgICAgYXV0byB0YWcgPSBz
dGF0aWNfY2FzdDxDVEZvbnRUYWJsZVRhZz4ocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KENG
QXJyYXlHZXRWYWx1ZUF0SW5kZXgodGFibGVUYWdzLmdldCgpLCBpbmRleCkpKTsKKyAgICAgICAg
aWYgKHRhZyA9PSB0YWJsZVRhZzEgfHwgdGFnID09IHRhYmxlVGFnMikKKyAgICAgICAgICAgIHJl
dHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIHZvaWQgRm9udDo6cGxh
dGZvcm1Jbml0KCkKIHsKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpAQCAtMTM3LDcgKzE1NSw3
IEBAIHZvaWQgRm9udDo6cGxhdGZvcm1Jbml0KCkKICAgICAvLyBUaGUgT3BlbiBGb250IEZvcm1h
dCBkZXNjcmliZXMgdGhlIE9TLzIgVVNFX1RZUE9fTUVUUklDUyBmbGFnIGFzIGZvbGxvd3M6CiAg
ICAgLy8gIklmIHNldCwgaXQgaXMgc3Ryb25nbHkgcmVjb21tZW5kZWQgdG8gdXNlIE9TLzIuc1R5
cG9Bc2NlbmRlciAtIE9TLzIuc1R5cG9EZXNjZW5kZXIrIE9TLzIuc1R5cG9MaW5lR2FwIGFzIGEg
dmFsdWUgZm9yIGRlZmF1bHQgbGluZSBzcGFjaW5nIGZvciB0aGlzIGZvbnQuIgogICAgIC8vIE9u
IE9TIFgsIHdlIG9ubHkgYXBwbHkgdGhpcyBydWxlIGluIHRoZSBpbXBvcnRhbnQgY2FzZSBvZiBm
b250cyB3aXRoIGEgTUFUSCB0YWJsZS4KLSAgICBpZiAoT3BlblR5cGU6OmZvbnRIYXNNYXRoVGFi
bGUobV9wbGF0Zm9ybURhdGEuY3RGb250KCkpKSB7CisgICAgaWYgKGZvbnRIYXNUYWJsZShtX3Bs
YXRmb3JtRGF0YS5jdEZvbnQoKSwga0NURm9udFRhYmxlTUFUSCkpIHsKICAgICAgICAgc2hvcnQg
dHlwb0FzY2VudCwgdHlwb0Rlc2NlbnQsIHR5cG9MaW5lR2FwOwogICAgICAgICBpZiAoT3BlblR5
cGU6OnRyeUdldFR5cG9NZXRyaWNzKG1fcGxhdGZvcm1EYXRhLmZvbnQoKSwgdHlwb0FzY2VudCwg
dHlwb0Rlc2NlbnQsIHR5cG9MaW5lR2FwKSkgewogICAgICAgICAgICAgYXNjZW50ID0gc2NhbGVF
bVRvVW5pdHModHlwb0FzY2VudCwgdW5pdHNQZXJFbSkgKiBwb2ludFNpemU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9PcGVuVHlwZUNHLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cu
Y3BwCmluZGV4IGUxYjU2ZmFiNDRhNzI5Zjc3MGJhOWZlODI2YTg3ZTVmZTFmZGE1OGIuLjQ5YmNk
ZjViYTA4MDNmZTM3ZjJkYzVjZTUxM2NmYzg2YWRkMDEyZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuY3BwCkBA
IC0zNSwyMCArMzUsNiBAQCBuYW1lc3BhY2UgT3BlblR5cGUgewogc3RhdGljIGNvbnN0IHVuc2ln
bmVkIGxvbmcga0NURm9udFRhYmxlT1MyID0gJ09TLzInOwogI2VuZGlmCiAKLWJvb2wgZm9udEhh
c01hdGhUYWJsZShDVEZvbnRSZWYgY3RGb250KQotewotICAgIFJldGFpblB0cjxDRkFycmF5UmVm
PiB0YWJsZVRhZ3MgPSBhZG9wdENGKENURm9udENvcHlBdmFpbGFibGVUYWJsZXMoY3RGb250LCBr
Q1RGb250VGFibGVPcHRpb25Ob09wdGlvbnMpKTsKLSAgICBpZiAoIXRhYmxlVGFncykKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgIENGSW5kZXggbnVtVGFibGVzID0gQ0ZBcnJheUdldENvdW50
KHRhYmxlVGFncy5nZXQoKSk7Ci0gICAgZm9yIChDRkluZGV4IGluZGV4ID0gMDsgaW5kZXggPCBu
dW1UYWJsZXM7ICsraW5kZXgpIHsKLSAgICAgICAgQ1RGb250VGFibGVUYWcgdGFnID0gKENURm9u
dFRhYmxlVGFnKSh1aW50cHRyX3QpQ0ZBcnJheUdldFZhbHVlQXRJbmRleCh0YWJsZVRhZ3MuZ2V0
KCksIGluZGV4KTsKLSAgICAgICAgaWYgKHRhZyA9PSAnTUFUSCcpCi0gICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKLSAgICB9Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCiBzdGF0aWMgaW5saW5lIHNo
b3J0IHJlYWRTaG9ydEZyb21UYWJsZShjb25zdCBVSW50OCogb3MyRGF0YSwgQ0ZJbmRleCBvZmZz
ZXQpCiB7CiAgICAgcmV0dXJuICoocmVpbnRlcnByZXRfY2FzdDxjb25zdCBPcGVuVHlwZTo6SW50
MTYqPihvczJEYXRhICsgb2Zmc2V0KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9PcGVuVHlwZUNHLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9PcGVuVHlwZUNHLmgKaW5kZXggYzUzMzBiYmE3N2RiMWZi
YThmOTBhZGNjZTEzZDNjMTk5YjhhNGZjYi4uZmIzNzIzMzM1MzE3MTgzZjZiOWYzYTM5MzhiYjEx
ZDE5Y2Q4YWVmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
b3BlbnR5cGUvT3BlblR5cGVDRy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL29wZW50eXBlL09wZW5UeXBlQ0cuaApAQCAtMzYsNyArMzYsNiBAQAogbmFtZXNwYWNlIFdl
YkNvcmUgewogbmFtZXNwYWNlIE9wZW5UeXBlIHsKIAotYm9vbCBmb250SGFzTWF0aFRhYmxlKENU
Rm9udFJlZik7CiBib29sIHRyeUdldFR5cG9NZXRyaWNzKENURm9udFJlZiwgc2hvcnQmIGFzY2Vu
dCwgc2hvcnQmIGRlc2NlbnQsIHNob3J0JiBsaW5lR2FwKTsKIAogfSAvLyBuYW1lc3BhY2UgT3Bl
blR5cGUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408159</attachid>
            <date>2020-09-06 18:20:15 -0700</date>
            <delta_ts>2020-09-06 23:11:13 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-215688-20200906182014.patch</filename>
            <type>text/plain</type>
            <size>10126</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2Njg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWVkNmRjYTU1NzZlYzll
ZjdiNzQ0OGIxMjVkOTYxMzI1MjUzZWQ2NS4uYWM0Mzg3M2NiYTg4ODU3ZWQ2NTFkMDUzMDliYjcy
ZmQ3ZTlmZGM5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIwLTA5LTA2ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBQ
cmVwYXJlIGZvciBtaWdyYXRpbmcgdG8gQ1RGb250SGFzVGFibGUoKSBvbmNlIGl0J3MgZmFzdGVy
IHRoYW4gQ1RGb250Q29weUF2YWlsYWJsZVRhYmxlcygpCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTU2ODgKKworICAgICAgICBSZXZpZXdlZCBieSBE
YXJpbiBBZGxlci4KKworICAgICAgICBXZSBjYW4gZGlyZWN0bHkgYXNrIENvcmUgVGV4dCBmb3Ig
dGhlIGluZm9ybWF0aW9uIHdlJ3JlIGxvb2tpbmcgZm9yLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cyBiZWNhdXNlIHRoZXJlIGlzIG5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkZvbnRUeXBlOjpGb250VHlwZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvRm9udENvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6Zm9udEhhc1ZlcnRpY2FsR2x5cGhz
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9PcGVuVHlwZUNHLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok9wZW5UeXBlOjpmb250SGFzTWF0aFRhYmxlKToKKwogMjAyMC0w
OS0wNiAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBb
TW90aW9uTWFyayAtIE11bHRpcGx5XSBXZWIgcHJvY2VzcyBzcGVuZHMgfjElIG9mIHRvdGFsIHNh
bXBsZXMgaW4gUHJvcGVydHlDYXNjYWRlOjpyZXNvbHZlRGlyZWN0aW9uQW5kV3JpdGluZ01vZGUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9QQUwvQ2hhbmdlTG9nCmluZGV4IGM4MzUwMjlkYzRkMWRiYjYyZjczZDgyZTUxNGQwNGNlZTBk
MWUzMGUuLjliNjZlMDEzMzA4NWMzNWNkM2E4MDEwZjZlZGVkNjQxYTUxNmQ0MTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTA5LTA2ICBNeWxlcyBDLiBNYXhmaWVs
ZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBQcmVwYXJlIGZvciBt
aWdyYXRpbmcgdG8gQ1RGb250SGFzVGFibGUoKSBvbmNlIGl0J3MgZmFzdGVyIHRoYW4gQ1RGb250
Q29weUF2YWlsYWJsZVRhYmxlcygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTU2ODgKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4K
KworICAgICAgICAqIHBhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaDoKKwogMjAyMC0wOS0wNSAg
TXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2Nv
YV0gVVNFKFBMQVRGT1JNX1NZU1RFTV9GQUxMQkFDS19MSVNUKSBpcyB0cnVlIG9uIGFsbCBDb2Nv
YSBwbGF0Zm9ybXMsIHNvIHRoZXJlJ3Mgbm8gbmVlZCB0byBjb25zdWx0IGl0IGluIENvY29hLXNw
ZWNpZmljIGZpbGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKaW5kZXgg
OGVjMzM4MGQ3YjdlNDVjMGQxMWU3YzhjNGVmNzIxZjY5ZWIyNWYwZi4uN2FiNTMxN2FiMTI0ZWYy
NmU0MTI5NjUzZDYzZjlmNjczNDc1YTIzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnQuaApAQCAtNjQsNiArNjQsMTEgQEAgZW51bSBGb250VmFyaWFudCB7IEF1dG9WYXJp
YW50LCBOb3JtYWxWYXJpYW50LCBTbWFsbENhcHNWYXJpYW50LCBFbXBoYXNpc01hcmtWYXIKIGVu
dW0gUGl0Y2ggeyBVbmtub3duUGl0Y2gsIEZpeGVkUGl0Y2gsIFZhcmlhYmxlUGl0Y2ggfTsKIGVu
dW0gY2xhc3MgSXNGb3JQbGF0Zm9ybUZvbnQgOiB1aW50OF90IHsgTm8sIFllcyB9OwogCisjaWYg
UExBVEZPUk0oQ09DT0EpCitib29sIGZvbnRIYXNUYWJsZShDVEZvbnRSZWYsIHVuc2lnbmVkIHRh
YmxlVGFnKTsKK2Jvb2wgZm9udEhhc0VpdGhlclRhYmxlKENURm9udFJlZiwgdW5zaWduZWQgdGFi
bGVUYWcxLCB1bnNpZ25lZCB0YWJsZVRhZzIpOworI2VuZGlmCisKIERFQ0xBUkVfQUxMT0NBVE9S
X1dJVEhfSEVBUF9JREVOVElGSUVSKEZvbnQpOwogY2xhc3MgRm9udCA6IHB1YmxpYyBSZWZDb3Vu
dGVkPEZvbnQ+IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRF9XSVRIX0hFQVBfSURFTlRJ
RklFUihGb250KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcAppbmRleCAxMDA2ZjRiYTVlMjg1OGZh
OWE4NTJmMWVlZmI1MGMzZjZkNzM2ODNiLi5kOTEzZmRkNTAzOTNhZTVjYTRlZGFjOWYzNDExM2Jm
MjdjMDA0NjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwCkBAIC00NzksMzYgKzQ3OSwzMiBA
QCBzdGF0aWMgaW5saW5lIGZsb2F0IG5vcm1hbGl6ZVdpZHRoKGZsb2F0IHZhbHVlKQogc3RydWN0
IEZvbnRUeXBlIHsKICAgICBGb250VHlwZShDVEZvbnRSZWYgZm9udCkKICAgICB7CisgICAgICAg
IGJvb2wgZm91bmRTdGF0ID0gZmFsc2U7CisgICAgICAgIGJvb2wgZm91bmRUcmFrID0gZmFsc2U7
CiAgICAgICAgIGF1dG8gdGFibGVzID0gYWRvcHRDRihDVEZvbnRDb3B5QXZhaWxhYmxlVGFibGVz
KGZvbnQsIGtDVEZvbnRUYWJsZU9wdGlvbk5vT3B0aW9ucykpOwogICAgICAgICBpZiAoIXRhYmxl
cykKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgYm9vbCBmb3VuZFN0YXQgPSBmYWxzZTsK
LSAgICAgICAgYm9vbCBmb3VuZFRyYWsgPSBmYWxzZTsKICAgICAgICAgYXV0byBzaXplID0gQ0ZB
cnJheUdldENvdW50KHRhYmxlcy5nZXQoKSk7CiAgICAgICAgIGZvciAoQ0ZJbmRleCBpID0gMDsg
aSA8IHNpemU7ICsraSkgewotICAgICAgICAgICAgLy8gVGhpcyBpcyBzbyB5dWNreS4KLSAgICAg
ICAgICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9yZWZlcmVuY2UvY29yZXRleHQv
MTUxMDc3NC1jdGZvbnRjb3B5YXZhaWxhYmxldGFibGVzCi0gICAgICAgICAgICAvLyAiVGhlIHJl
dHVybmVkIHNldCB3aWxsIGNvbnRhaW4gdW5ib3hlZCB2YWx1ZXMsIHdoaWNoIGNhbiBiZSBleHRy
YWN0ZWQgbGlrZSBzbzoiCi0gICAgICAgICAgICAvLyAiQ1RGb250VGFibGVUYWcgdGFnID0gKENU
Rm9udFRhYmxlVGFnKSh1aW50cHRyX3QpQ0ZBcnJheUdldFZhbHVlQXRJbmRleCh0YWdzLCBpbmRl
eCk7IgotICAgICAgICAgICAgQ1RGb250VGFibGVUYWcgdGFibGVUYWcgPSBzdGF0aWNfY2FzdDxD
VEZvbnRUYWJsZVRhZz4ocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KENGQXJyYXlHZXRWYWx1
ZUF0SW5kZXgodGFibGVzLmdldCgpLCBpKSkpOworICAgICAgICAgICAgYXV0byB0YWJsZVRhZyA9
IHN0YXRpY19jYXN0PENURm9udFRhYmxlVGFnPihyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4o
Q0ZBcnJheUdldFZhbHVlQXRJbmRleCh0YWJsZXMuZ2V0KCksIGkpKSk7CiAgICAgICAgICAgICBz
d2l0Y2ggKHRhYmxlVGFnKSB7Ci0gICAgICAgICAgICBjYXNlICdmdmFyJzoKKyAgICAgICAgICAg
IGNhc2Uga0NURm9udFRhYmxlRnZhcjoKICAgICAgICAgICAgICAgICBpZiAodmFyaWF0aW9uVHlw
ZSA9PSBWYXJpYXRpb25UeXBlOjpOb3RWYXJpYWJsZSkKICAgICAgICAgICAgICAgICAgICAgdmFy
aWF0aW9uVHlwZSA9IFZhcmlhdGlvblR5cGU6OlRydWVUeXBlR1g7CiAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICBjYXNlICdTVEFUJzoKKyAgICAgICAgICAgIGNhc2Uga0NURm9u
dFRhYmxlU1RBVDoKICAgICAgICAgICAgICAgICBmb3VuZFN0YXQgPSB0cnVlOwogICAgICAgICAg
ICAgICAgIHZhcmlhdGlvblR5cGUgPSBWYXJpYXRpb25UeXBlOjpPcGVuVHlwZTE4OwogICAgICAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgY2FzZSAnbW9yeCc6Ci0gICAgICAgICAgICBj
YXNlICdtb3J0JzoKKyAgICAgICAgICAgIGNhc2Uga0NURm9udFRhYmxlTW9yeDoKKyAgICAgICAg
ICAgIGNhc2Uga0NURm9udFRhYmxlTW9ydDoKICAgICAgICAgICAgICAgICBhYXRTaGFwaW5nID0g
dHJ1ZTsKICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIGNhc2UgJ0dQT1MnOgot
ICAgICAgICAgICAgY2FzZSAnR1NVQic6CisgICAgICAgICAgICBjYXNlIGtDVEZvbnRUYWJsZUdQ
T1M6CisgICAgICAgICAgICBjYXNlIGtDVEZvbnRUYWJsZUdTVUI6CiAgICAgICAgICAgICAgICAg
b3BlblR5cGVTaGFwaW5nID0gdHJ1ZTsKICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ICAgIGNhc2UgJ3RyYWsnOgorICAgICAgICAgICAgY2FzZSBrQ1RGb250VGFibGVUcmFrOgogICAg
ICAgICAgICAgICAgIGZvdW5kVHJhayA9IHRydWU7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9Gb250Q29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9Gb250Q29jb2EubW0KaW5kZXggZmM4YmMwZDM0NDFhNjFmY2MwOWU4ZDRhNjVmNDBlNTQ4
OWU5NDlkNS4uZmJlMzg0NDdmY2E4NDdjNWZjNTBjZDJjY2EyYjQ1YjdhYjUwNTg2OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENvY29hLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDb2NvYS5t
bQpAQCAtNjIsMTkgKzYyLDkgQEAgc3RhdGljIGlubGluZSBib29sIGNhc2VJbnNlbnNpdGl2ZUNv
bXBhcmUoQ0ZTdHJpbmdSZWYgYSwgQ0ZTdHJpbmdSZWYgYikKICAgICByZXR1cm4gYSAmJiBDRlN0
cmluZ0NvbXBhcmUoYSwgYiwga0NGQ29tcGFyZUNhc2VJbnNlbnNpdGl2ZSkgPT0ga0NGQ29tcGFy
ZUVxdWFsVG87CiB9CiAKLXN0YXRpYyBib29sIGZvbnRIYXNWZXJ0aWNhbEdseXBocyhDVEZvbnRS
ZWYgY3RGb250KQorc3RhdGljIGJvb2wgZm9udEhhc1ZlcnRpY2FsR2x5cGhzKENURm9udFJlZiBm
b250KQogewotICAgIC8vIFRoZSBjaGVjayBkb2Vzbid0IGxvb2sgbmVhdCBidXQgdGhpcyBpcyB3
aGF0IEFwcEtpdCBkb2VzIGZvciB2ZXJ0aWNhbCB3cml0aW5nLi4uCi0gICAgUmV0YWluUHRyPENG
QXJyYXlSZWY+IHRhYmxlVGFncyA9IGFkb3B0Q0YoQ1RGb250Q29weUF2YWlsYWJsZVRhYmxlcyhj
dEZvbnQsIGtDVEZvbnRUYWJsZU9wdGlvbk5vT3B0aW9ucykpOwotICAgIGlmICghdGFibGVUYWdz
KQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgQ0ZJbmRleCBudW1UYWJsZXMgPSBDRkFycmF5
R2V0Q291bnQodGFibGVUYWdzLmdldCgpKTsKLSAgICBmb3IgKENGSW5kZXggaW5kZXggPSAwOyBp
bmRleCA8IG51bVRhYmxlczsgKytpbmRleCkgewotICAgICAgICBDVEZvbnRUYWJsZVRhZyB0YWcg
PSAoQ1RGb250VGFibGVUYWcpKHVpbnRwdHJfdClDRkFycmF5R2V0VmFsdWVBdEluZGV4KHRhYmxl
VGFncy5nZXQoKSwgaW5kZXgpOwotICAgICAgICBpZiAodGFnID09IGtDVEZvbnRUYWJsZVZoZWEg
fHwgdGFnID09IGtDVEZvbnRUYWJsZVZPUkcpCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAg
ICB9Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBmb250SGFzRWl0aGVyVGFibGUoZm9u
dCwga0NURm9udFRhYmxlVmhlYSwga0NURm9udFRhYmxlVk9SRyk7CiB9CiAKICNpZiBQTEFURk9S
TShJT1NfRkFNSUxZKQpAQCAtMTE5LDYgKzEwOSwzNCBAQCBzdGF0aWMgYm9vbCBpc0FoZW1Gb250
KENGU3RyaW5nUmVmIGZhbWlseU5hbWUpCiAgICAgcmV0dXJuIGZhbWlseU5hbWUgJiYgY2FzZUlu
c2Vuc2l0aXZlQ29tcGFyZShmYW1pbHlOYW1lLCBDRlNUUigiQWhlbSIpKTsKIH0KIAorYm9vbCBm
b250SGFzVGFibGUoQ1RGb250UmVmIGN0Rm9udCwgdW5zaWduZWQgdGFibGVUYWcpCit7CisgICAg
YXV0byB0YWJsZVRhZ3MgPSBhZG9wdENGKENURm9udENvcHlBdmFpbGFibGVUYWJsZXMoY3RGb250
LCBrQ1RGb250VGFibGVPcHRpb25Ob09wdGlvbnMpKTsKKyAgICBpZiAoIXRhYmxlVGFncykKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIENGSW5kZXggbnVtVGFibGVzID0gQ0ZBcnJheUdldENv
dW50KHRhYmxlVGFncy5nZXQoKSk7CisgICAgZm9yIChDRkluZGV4IGluZGV4ID0gMDsgaW5kZXgg
PCBudW1UYWJsZXM7ICsraW5kZXgpIHsKKyAgICAgICAgYXV0byB0YWcgPSBzdGF0aWNfY2FzdDxD
VEZvbnRUYWJsZVRhZz4ocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KENGQXJyYXlHZXRWYWx1
ZUF0SW5kZXgodGFibGVUYWdzLmdldCgpLCBpbmRleCkpKTsKKyAgICAgICAgaWYgKHRhZyA9PSB0
YWJsZVRhZykKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK2Jvb2wgZm9udEhhc0VpdGhlclRhYmxlKENURm9udFJlZiBjdEZvbnQsIHVuc2ln
bmVkIHRhYmxlVGFnMSwgdW5zaWduZWQgdGFibGVUYWcyKQoreworICAgIGF1dG8gdGFibGVUYWdz
ID0gYWRvcHRDRihDVEZvbnRDb3B5QXZhaWxhYmxlVGFibGVzKGN0Rm9udCwga0NURm9udFRhYmxl
T3B0aW9uTm9PcHRpb25zKSk7CisgICAgaWYgKCF0YWJsZVRhZ3MpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICBDRkluZGV4IG51bVRhYmxlcyA9IENGQXJyYXlHZXRDb3VudCh0YWJsZVRhZ3Mu
Z2V0KCkpOworICAgIGZvciAoQ0ZJbmRleCBpbmRleCA9IDA7IGluZGV4IDwgbnVtVGFibGVzOyAr
K2luZGV4KSB7CisgICAgICAgIGF1dG8gdGFnID0gc3RhdGljX2Nhc3Q8Q1RGb250VGFibGVUYWc+
KHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihDRkFycmF5R2V0VmFsdWVBdEluZGV4KHRhYmxl
VGFncy5nZXQoKSwgaW5kZXgpKSk7CisgICAgICAgIGlmICh0YWcgPT0gdGFibGVUYWcxIHx8IHRh
ZyA9PSB0YWJsZVRhZzIpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0
dXJuIGZhbHNlOworfQorCiB2b2lkIEZvbnQ6OnBsYXRmb3JtSW5pdCgpCiB7CiAjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKQEAgLTEzNyw3ICsxNTUsNyBAQCB2b2lkIEZvbnQ6OnBsYXRmb3JtSW5p
dCgpCiAgICAgLy8gVGhlIE9wZW4gRm9udCBGb3JtYXQgZGVzY3JpYmVzIHRoZSBPUy8yIFVTRV9U
WVBPX01FVFJJQ1MgZmxhZyBhcyBmb2xsb3dzOgogICAgIC8vICJJZiBzZXQsIGl0IGlzIHN0cm9u
Z2x5IHJlY29tbWVuZGVkIHRvIHVzZSBPUy8yLnNUeXBvQXNjZW5kZXIgLSBPUy8yLnNUeXBvRGVz
Y2VuZGVyKyBPUy8yLnNUeXBvTGluZUdhcCBhcyBhIHZhbHVlIGZvciBkZWZhdWx0IGxpbmUgc3Bh
Y2luZyBmb3IgdGhpcyBmb250LiIKICAgICAvLyBPbiBPUyBYLCB3ZSBvbmx5IGFwcGx5IHRoaXMg
cnVsZSBpbiB0aGUgaW1wb3J0YW50IGNhc2Ugb2YgZm9udHMgd2l0aCBhIE1BVEggdGFibGUuCi0g
ICAgaWYgKE9wZW5UeXBlOjpmb250SGFzTWF0aFRhYmxlKG1fcGxhdGZvcm1EYXRhLmN0Rm9udCgp
KSkgeworICAgIGlmIChmb250SGFzVGFibGUobV9wbGF0Zm9ybURhdGEuY3RGb250KCksIGtDVEZv
bnRUYWJsZU1BVEgpKSB7CiAgICAgICAgIHNob3J0IHR5cG9Bc2NlbnQsIHR5cG9EZXNjZW50LCB0
eXBvTGluZUdhcDsKICAgICAgICAgaWYgKE9wZW5UeXBlOjp0cnlHZXRUeXBvTWV0cmljcyhtX3Bs
YXRmb3JtRGF0YS5mb250KCksIHR5cG9Bc2NlbnQsIHR5cG9EZXNjZW50LCB0eXBvTGluZUdhcCkp
IHsKICAgICAgICAgICAgIGFzY2VudCA9IHNjYWxlRW1Ub1VuaXRzKHR5cG9Bc2NlbnQsIHVuaXRz
UGVyRW0pICogcG9pbnRTaXplOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbnR5cGUvT3BlblR5cGVDRy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9vcGVudHlwZS9PcGVuVHlwZUNHLmNwcAppbmRleCBlMWI1NmZhYjQ0YTcyOWY3
NzBiYTlmZTgyNmE4N2U1ZmUxZmRhNThiLi40OWJjZGY1YmEwODAzZmUzN2YyZGM1Y2U1MTNjZmM4
NmFkZDAxMmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9v
cGVudHlwZS9PcGVuVHlwZUNHLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9vcGVudHlwZS9PcGVuVHlwZUNHLmNwcApAQCAtMzUsMjAgKzM1LDYgQEAgbmFtZXNwYWNl
IE9wZW5UeXBlIHsKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBsb25nIGtDVEZvbnRUYWJsZU9TMiA9
ICdPUy8yJzsKICNlbmRpZgogCi1ib29sIGZvbnRIYXNNYXRoVGFibGUoQ1RGb250UmVmIGN0Rm9u
dCkKLXsKLSAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gdGFibGVUYWdzID0gYWRvcHRDRihDVEZv
bnRDb3B5QXZhaWxhYmxlVGFibGVzKGN0Rm9udCwga0NURm9udFRhYmxlT3B0aW9uTm9PcHRpb25z
KSk7Ci0gICAgaWYgKCF0YWJsZVRhZ3MpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBDRklu
ZGV4IG51bVRhYmxlcyA9IENGQXJyYXlHZXRDb3VudCh0YWJsZVRhZ3MuZ2V0KCkpOwotICAgIGZv
ciAoQ0ZJbmRleCBpbmRleCA9IDA7IGluZGV4IDwgbnVtVGFibGVzOyArK2luZGV4KSB7Ci0gICAg
ICAgIENURm9udFRhYmxlVGFnIHRhZyA9IChDVEZvbnRUYWJsZVRhZykodWludHB0cl90KUNGQXJy
YXlHZXRWYWx1ZUF0SW5kZXgodGFibGVUYWdzLmdldCgpLCBpbmRleCk7Ci0gICAgICAgIGlmICh0
YWcgPT0gJ01BVEgnKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIHJldHVy
biBmYWxzZTsKLX0KLQogc3RhdGljIGlubGluZSBzaG9ydCByZWFkU2hvcnRGcm9tVGFibGUoY29u
c3QgVUludDgqIG9zMkRhdGEsIENGSW5kZXggb2Zmc2V0KQogewogICAgIHJldHVybiAqKHJlaW50
ZXJwcmV0X2Nhc3Q8Y29uc3QgT3BlblR5cGU6OkludDE2Kj4ob3MyRGF0YSArIG9mZnNldCkpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3Bl
blR5cGVDRy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnR5cGUvT3Bl
blR5cGVDRy5oCmluZGV4IGM1MzMwYmJhNzdkYjFmYmE4ZjkwYWRjY2UxM2QzYzE5OWI4YTRmY2Iu
LmZiMzcyMzMzNTMxNzE4M2Y2YjlmM2EzOTM4YmIxMWQxOWNkOGFlZjQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW50eXBlL09wZW5UeXBlQ0cuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudHlwZS9PcGVuVHlwZUNHLmgK
QEAgLTM2LDcgKzM2LDYgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBPcGVuVHlw
ZSB7CiAKLWJvb2wgZm9udEhhc01hdGhUYWJsZShDVEZvbnRSZWYpOwogYm9vbCB0cnlHZXRUeXBv
TWV0cmljcyhDVEZvbnRSZWYsIHNob3J0JiBhc2NlbnQsIHNob3J0JiBkZXNjZW50LCBzaG9ydCYg
bGluZUdhcCk7CiAKIH0gLy8gbmFtZXNwYWNlIE9wZW5UeXBlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>