<?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>199769</bug_id>
          
          <creation_ts>2019-07-12 17:15:21 -0700</creation_ts>
          <short_desc>Make sure to set kCTFontFallbackOptionAttribute to kCTFontFallbackOptionSystem for system fonts</short_desc>
          <delta_ts>2019-09-17 19:52:32 -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>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=201893</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1552622</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-12 17:15:21 -0700</bug_when>
    <thetext>This ensures that these system fonts will not resort to user installed fonts in case of a missing character.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552623</commentid>
    <comment_count>1</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-12 17:15:40 -0700</bug_when>
    <thetext>&lt;rdar://problem/49390297&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552624</commentid>
    <comment_count>2</comment_count>
      <attachid>374055</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-12 17:18:44 -0700</bug_when>
    <thetext>Created attachment 374055
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552641</commentid>
    <comment_count>3</comment_count>
      <attachid>374062</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-12 18:08:54 -0700</bug_when>
    <thetext>Created attachment 374062
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552642</commentid>
    <comment_count>4</comment_count>
      <attachid>374062</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2019-07-12 18:22:07 -0700</bug_when>
    <thetext>Comment on attachment 374062
Patch

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

&gt; Source/WTF/wtf/Platform.h:1536
&gt; +#if (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101400) || (PLATFORM(IOS_FAMILY) &amp;&amp; __IPHONE_OS_VERSION_MIN_REQUIRED &gt;= 120000)

No need for iOS version check, we only support building for 12.2 and newer).

I *think* that this check as is disables the feature on watchOS and tvOS, which may or may not be desirable. But let’s be explicit about it if we want this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552685</commentid>
    <comment_count>5</comment_count>
      <attachid>374062</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-07-12 22:26:53 -0700</bug_when>
    <thetext>Comment on attachment 374062
Patch

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

&gt; Source/WTF/wtf/Platform.h:1537
&gt; +#define HAVE_DISALLOW_USER_INSTALLED_FONTS 1

“Have disallowed” doesn’t make much sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552686</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-12 22:48:05 -0700</bug_when>
    <thetext>Thanks for the review, I&apos;ll update it accordingly.

I tried coming with a test but failed to do it so far, if anybody has an idea, let me know.

It also seems that styles keep a shouldAllowUserInstalledFonts() that is not always in sync with the corresponding setting when changed through internals API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552850</commentid>
    <comment_count>7</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-15 09:28:43 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #4)
&gt; Comment on attachment 374062 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=374062&amp;action=review
&gt; 
&gt; &gt; Source/WTF/wtf/Platform.h:1536
&gt; &gt; +#if (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101400) || (PLATFORM(IOS_FAMILY) &amp;&amp; __IPHONE_OS_VERSION_MIN_REQUIRED &gt;= 120000)
&gt; 
&gt; No need for iOS version check, we only support building for 12.2 and newer).

OK

&gt; I *think* that this check as is disables the feature on watchOS and tvOS,
&gt; which may or may not be desirable. But let’s be explicit about it if we want
&gt; this.

I think it is fine as is.

&gt; &gt; Source/WTF/wtf/Platform.h:1537
&gt; &gt; +#define HAVE_DISALLOW_USER_INSTALLED_FONTS 1
&gt; 
&gt; “Have disallowed” doesn’t make much sense.

Will change to HAVE(CAN_DISALLOW_USER_INSTALLED_FONTS)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552889</commentid>
    <comment_count>8</comment_count>
      <attachid>374125</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-15 11:19:06 -0700</bug_when>
    <thetext>Created attachment 374125
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553041</commentid>
    <comment_count>9</comment_count>
      <attachid>374125</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-15 17:18:03 -0700</bug_when>
    <thetext>Comment on attachment 374125
Patch

Rejecting attachment 374125 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 374125, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in Source/WTF/ChangeLog contains OOPS!.

Full output: https://webkit-queues.webkit.org/results/12746368</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553046</commentid>
    <comment_count>10</comment_count>
      <attachid>374169</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-15 17:26:25 -0700</bug_when>
    <thetext>Created attachment 374169
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553128</commentid>
    <comment_count>11</comment_count>
      <attachid>374195</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-15 23:04:56 -0700</bug_when>
    <thetext>Created attachment 374195
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553210</commentid>
    <comment_count>12</comment_count>
      <attachid>374213</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-16 09:53:36 -0700</bug_when>
    <thetext>Created attachment 374213
With tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553230</commentid>
    <comment_count>13</comment_count>
      <attachid>374218</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-16 10:54:11 -0700</bug_when>
    <thetext>Created attachment 374218
With tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553257</commentid>
    <comment_count>14</comment_count>
      <attachid>374218</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-07-16 11:51:22 -0700</bug_when>
    <thetext>Comment on attachment 374218
With tests

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

&gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:842
&gt; +#if !HAVE(CAN_DISALLOW_USER_INSTALLED_FONTS)

Nit: How about HAVE(DISALLOWABLE_USER_INSTALLED_FONTS)

&gt; Tools/WebKitTestRunner/TestController.cpp:1399
&gt; +        else if (key == &quot;allowUserInstalledFonts&quot;)

I&apos;m amazed this didn&apos;t exist already.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553258</commentid>
    <comment_count>15</comment_count>
      <attachid>374218</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-07-16 11:54:35 -0700</bug_when>
    <thetext>Comment on attachment 374218
With tests

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

&gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:573
&gt; +        return createFontForInstalledFonts(originalFont, fontDescription.shouldAllowUserInstalledFonts());

This should have already been called before this function. Why not put this call at the end of lookupFallbackFont()? It would be more performant there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553261</commentid>
    <comment_count>16</comment_count>
      <attachid>374218</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-07-16 11:58:39 -0700</bug_when>
    <thetext>Comment on attachment 374218
With tests

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

&gt; Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:99
&gt; +		41D5B62622DD9D36000F4C4A /* FakeHelvetica-SingleExtendedCharacter.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 41D5B62522DD9D36000F4C4A /* FakeHelvetica-SingleExtendedCharacter.ttf */; };

Woah, how did you build this font?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553289</commentid>
    <comment_count>17</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-16 13:18:46 -0700</bug_when>
    <thetext>(In reply to Myles C. Maxfield from comment #15)
&gt; Comment on attachment 374218 [details]
&gt; With tests
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=374218&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:573
&gt; &gt; +        return createFontForInstalledFonts(originalFont, fontDescription.shouldAllowUserInstalledFonts());
&gt; 
&gt; This should have already been called before this function. Why not put this
&gt; call at the end of lookupFallbackFont()? It would be more performant there.

That is the first thing I did to verify this was the issue.

I moved this wrapping so that this was making sure preparePlatformFont would always return a &apos;safe&apos; font.
For instance, there is no guarantee to have the same fontDescription.shouldAllowUserInstalledFonts value.
I guess we could beef-up the optimisation if-check to validate this, or use an ASSERT.

Is it perf sensitive?

&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=374218&amp;action=review
&gt; 
&gt; &gt; Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:99
&gt; &gt; +		41D5B62622DD9D36000F4C4A /* FakeHelvetica-SingleExtendedCharacter.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 41D5B62522DD9D36000F4C4A /* FakeHelvetica-SingleExtendedCharacter.ttf */; };
&gt; 
&gt; Woah, how did you build this font?

I used FontForge, my first and probably last work on editing fonts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553296</commentid>
    <comment_count>18</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-16 13:28:12 -0700</bug_when>
    <thetext>(In reply to Myles C. Maxfield from comment #14)
&gt; Comment on attachment 374218 [details]
&gt; With tests
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=374218&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:842
&gt; &gt; +#if !HAVE(CAN_DISALLOW_USER_INSTALLED_FONTS)
&gt; 
&gt; Nit: How about HAVE(DISALLOWABLE_USER_INSTALLED_FONTS)

OK

&gt; &gt; Tools/WebKitTestRunner/TestController.cpp:1399
&gt; &gt; +        else if (key == &quot;allowUserInstalledFonts&quot;)
&gt; 
&gt; I&apos;m amazed this didn&apos;t exist already.

I think we should probably modify all existing tests to use this one and not the internals settings one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553300</commentid>
    <comment_count>19</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-16 13:35:03 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #17)
&gt; (In reply to Myles C. Maxfield from comment #15)
&gt; &gt; Comment on attachment 374218 [details]
&gt; &gt; With tests
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=374218&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:573
&gt; &gt; &gt; +        return createFontForInstalledFonts(originalFont, fontDescription.shouldAllowUserInstalledFonts());
&gt; &gt; 
&gt; &gt; This should have already been called before this function. Why not put this
&gt; &gt; call at the end of lookupFallbackFont()? It would be more performant there.
&gt; 
&gt; That is the first thing I did to verify this was the issue.
&gt; 
&gt; I moved this wrapping so that this was making sure preparePlatformFont would
&gt; always return a &apos;safe&apos; font.
&gt; For instance, there is no guarantee to have the same
&gt; fontDescription.shouldAllowUserInstalledFonts value.
&gt; I guess we could beef-up the optimisation if-check to validate this, or use
&gt; an ASSERT.
&gt; 
&gt; Is it perf sensitive?

Or maybe optimize createFontForInstalledFonts in case font already has the right attribute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553302</commentid>
    <comment_count>20</comment_count>
      <attachid>374218</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-07-16 13:36:04 -0700</bug_when>
    <thetext>Comment on attachment 374218
With tests

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

&gt;&gt;&gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:573
&gt;&gt;&gt; +        return createFontForInstalledFonts(originalFont, fontDescription.shouldAllowUserInstalledFonts());
&gt;&gt; 
&gt;&gt; This should have already been called before this function. Why not put this call at the end of lookupFallbackFont()? It would be more performant there.
&gt; 
&gt; That is the first thing I did to verify this was the issue.
&gt; 
&gt; I moved this wrapping so that this was making sure preparePlatformFont would always return a &apos;safe&apos; font.
&gt; For instance, there is no guarantee to have the same fontDescription.shouldAllowUserInstalledFonts value.
&gt; I guess we could beef-up the optimisation if-check to validate this, or use an ASSERT.
&gt; 
&gt; Is it perf sensitive?

Creating fonts affects PLT and is perf sensitive.

I like the ASSERT() idea. Can we put the createFontForInstalledFonts() call in lookupFallbackFont() and add an ASSERT() in preparePlatformFont()?

&gt;&gt;&gt; Tools/WebKitTestRunner/TestController.cpp:1399
&gt;&gt;&gt; +        else if (key == &quot;allowUserInstalledFonts&quot;)
&gt;&gt; 
&gt;&gt; I&apos;m amazed this didn&apos;t exist already.
&gt; 
&gt; I think we should probably modify all existing tests to use this one and not the internals settings one.

Is there an internals settings one? There&apos;s an internals function to install some fonts, but none that I can see to disable user-installed fonts.

In general, I believe internals is preferable to the &lt;!-- webkit-test-runner [ allowUserInstalledFonts=false ] --&gt; thing. If we can migrate to that, we should. (Also, moving to internals should require 0 lines of code since all Settings are already exposed to internals already. You should already just be able to say

if (window.internals)
    window.internals.settings.setShouldAllowUserInstalledFonts(false);

And it should just work on ToT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553303</commentid>
    <comment_count>21</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-16 13:41:21 -0700</bug_when>
    <thetext>&gt; In general, I believe internals is preferable to the &lt;!-- webkit-test-runner
&gt; [ allowUserInstalledFonts=false ] --&gt; thing. If we can migrate to that, we
&gt; should. (Also, moving to internals should require 0 lines of code since all
&gt; Settings are already exposed to internals already. You should already just
&gt; be able to say
&gt; 
&gt; if (window.internals)
&gt;     window.internals.settings.setShouldAllowUserInstalledFonts(false);
&gt; 
&gt; And it should just work on ToT.

internals.settings.setShouldAllowUserInstalledFonts is affecting the setting and will adjust the setting in some of the places it is stored but not all.
Some rendering code is sticking with the old initial value for instance.
Hence why I went with the webkit-test-runner option.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553304</commentid>
    <comment_count>22</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-07-16 13:47:47 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #21)
&gt; &gt; In general, I believe internals is preferable to the &lt;!-- webkit-test-runner
&gt; &gt; [ allowUserInstalledFonts=false ] --&gt; thing. If we can migrate to that, we
&gt; &gt; should. (Also, moving to internals should require 0 lines of code since all
&gt; &gt; Settings are already exposed to internals already. You should already just
&gt; &gt; be able to say
&gt; &gt; 
&gt; &gt; if (window.internals)
&gt; &gt;     window.internals.settings.setShouldAllowUserInstalledFonts(false);
&gt; &gt; 
&gt; &gt; And it should just work on ToT.
&gt; 
&gt; internals.settings.setShouldAllowUserInstalledFonts is affecting the setting
&gt; and will adjust the setting in some of the places it is stored but not all.
&gt; Some rendering code is sticking with the old initial value for instance.
&gt; Hence why I went with the webkit-test-runner option.

I&apos;m surprised at the idea that, because something is buggy, we should build a new way of doing the same thing, rather than just fixing the bug(s). Especially because the replacement method is less preferable than the original method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553353</commentid>
    <comment_count>23</comment_count>
      <attachid>374252</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-16 15:51:10 -0700</bug_when>
    <thetext>Created attachment 374252
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553388</commentid>
    <comment_count>24</comment_count>
      <attachid>374263</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-16 16:54:50 -0700</bug_when>
    <thetext>Created attachment 374263
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553458</commentid>
    <comment_count>25</comment_count>
      <attachid>374281</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-16 23:44:17 -0700</bug_when>
    <thetext>Created attachment 374281
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553459</commentid>
    <comment_count>26</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-16 23:45:44 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #25)
&gt; Created attachment 374281 [details]
&gt; Patch

Made sure that the cached font descriptors in FontDatabase have exactly the right fallback option.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553799</commentid>
    <comment_count>27</comment_count>
      <attachid>374281</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-07-17 18:57:56 -0700</bug_when>
    <thetext>Comment on attachment 374281
Patch

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

&gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:572
&gt; +        return createFontForInstalledFonts(originalFont, fontDescription.shouldAllowUserInstalledFonts());

I thought we needed to guard this; only call it when it&apos;s actually necessary.

&gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:882
&gt; +            addAttributesForInstalledFonts(attributes.get(), allowUserInstalledFonts);

I don&apos;t think this is actually necessary. You&apos;re already calling this in preparePlatformFont().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553813</commentid>
    <comment_count>28</comment_count>
      <attachid>374281</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-17 19:50:06 -0700</bug_when>
    <thetext>Comment on attachment 374281
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:572
&gt;&gt; +        return createFontForInstalledFonts(originalFont, fontDescription.shouldAllowUserInstalledFonts());
&gt; 
&gt; I thought we needed to guard this; only call it when it&apos;s actually necessary.

createFontForInstalledFonts is a no-op if the fallback attribute is matching the policy.

&gt;&gt; Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:882
&gt;&gt; +            addAttributesForInstalledFonts(attributes.get(), allowUserInstalledFonts);
&gt; 
&gt; I don&apos;t think this is actually necessary. You&apos;re already calling this in preparePlatformFont().

It does help as preparePlatformFont will in most cases become a no-op, especially since we are caching these descriptors, this ensure we do not change the attribute again and again in preparePlatformFont</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553967</commentid>
    <comment_count>29</comment_count>
      <attachid>374281</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-18 11:34:35 -0700</bug_when>
    <thetext>Comment on attachment 374281
Patch

Clearing flags on attachment: 374281

Committed r247566: &lt;https://trac.webkit.org/changeset/247566&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553968</commentid>
    <comment_count>30</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-18 11:34:37 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374055</attachid>
            <date>2019-07-12 17:18:44 -0700</date>
            <delta_ts>2019-07-12 18:08:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199769-20190712171844.patch</filename>
            <type>text/plain</type>
            <size>5417</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3Mzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2RiNmNkODI0MjMyMjY3
Mzc5OGNlZTQyMzczODA0NTk2ZDA1MDc0ZS4uNjhlMTRkZTRkOTRmY2RhNTI2YmQxZTViNTJiN2I0
NzJjN2Q0ODdiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE5LTA3LTEyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHN1cmUgdG8gc2V0
IGtDVEZvbnRGYWxsYmFja09wdGlvbkF0dHJpYnV0ZSB0byBrQ1RGb250RmFsbGJhY2tPcHRpb25T
eXN0ZW0gZm9yIHN5c3RlbSBmb250cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTk5NzY5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80OTM5MDI5Nz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIGdl
dHRpbmcgYSBzeXN0ZW0gZm9udCwgc2V0IHRoZSBhcHByb3ByaWF0ZSBhdHRyaWJ1dGUgc28gdGhh
dCBpdAorICAgICAgICBkb2VzIG5vdCBmYWxsYmFjayB0byBhIHVzZXIgaW5pdGlhdGVkIGZvbnQu
CisgICAgICAgIEFkZCBhbiBBU1NFUlQgdGhhdCBjaGVja3MgdGhhdCB0aGUgZm9udCBpbiB1c2Ug
aXMgbm90IGEgdXNlciBmb250IGlmCisgICAgICAgIHBvbGljeSBpcyB0byB1c2UgdXNlciBpbnN0
YWxsZWQgZm9udHMuCisKKyAgICAgICAgTWFudWFsbHkgdGVzdGVkLgorCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRD
YXNjYWRlRm9udHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhc2NhZGVGb250czo6Z2x5
cGhEYXRhRm9yU3lzdGVtRmFsbGJhY2spOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnByZXBhcmVQbGF0
Zm9ybUZvbnQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0
YUNvcmVUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmlzVXNlckluc3RhbGxlZEZv
bnQgY29uc3QpOgorCiAyMDE5LTA3LTEyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KIAogICAgICAgICBTdG9wcGluZyBhIGNsb25lZCBNZWRpYVN0cmVhbSB2aWRlbyB0cmFjayBz
aG91bGQgbm90IHN0b3AgYW55IG90aGVyIHZpZGVvIHRyYWNrCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250LmgKaW5kZXggM2NhOTc4ODYyZDllMzlkYTEzYTYyNmQ3NmU1MzY1NWYy
ZDU2MTIxOS4uY2NkM2E0MTI2MTgxMTAyZTA3NWQ3N2MxOGI5YzM3NTdmMzI4NDVjYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaApAQCAtMjAyLDYgKzIwMiw3IEBAIHB1
YmxpYzoKICAgICBjb25zdCBCaXRWZWN0b3ImIGdseXBoc1N1cHBvcnRlZEJ5QWxsU21hbGxDYXBz
KCkgY29uc3Q7CiAgICAgY29uc3QgQml0VmVjdG9yJiBnbHlwaHNTdXBwb3J0ZWRCeVBldGl0ZUNh
cHMoKSBjb25zdDsKICAgICBjb25zdCBCaXRWZWN0b3ImIGdseXBoc1N1cHBvcnRlZEJ5QWxsUGV0
aXRlQ2FwcygpIGNvbnN0OworICAgIGJvb2wgaXNVc2VySW5zdGFsbGVkRm9udCgpIGNvbnN0Owog
I2VuZGlmCiAKICAgICBib29sIGNhblJlbmRlckNvbWJpbmluZ0NoYXJhY3RlclNlcXVlbmNlKGNv
bnN0IFVDaGFyKiwgc2l6ZV90KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlRm9udHMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGVGb250cy5jcHAKaW5kZXggNjk0NDY5YzBlYjYyYWQ5
Yzg0ZTliYmQwOGZhMTM0MjY0MDkwNjlhOS4uN2RlNGUzZmYxODNkODdmYjdlZjg1ZTY3ZTU4ZTIy
NjhmNzNmMGExNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udENhc2NhZGVGb250cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udENhc2NhZGVGb250cy5jcHAKQEAgLTM0OSw2ICszNDksMTAgQEAgR2x5cGhEYXRhIEZv
bnRDYXNjYWRlRm9udHM6OmdseXBoRGF0YUZvclN5c3RlbUZhbGxiYWNrKFVDaGFyMzIgY2hhcmFj
dGVyLCBjb25zdAogICAgIGlmICghc3lzdGVtRmFsbGJhY2tGb250KQogICAgICAgICByZXR1cm4g
R2x5cGhEYXRhKCk7CiAKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICBBU1NFUlQoIXN5c3RlbUZh
bGxiYWNrRm9udC0+aXNVc2VySW5zdGFsbGVkRm9udCgpIHx8IGRlc2NyaXB0aW9uLnNob3VsZEFs
bG93VXNlckluc3RhbGxlZEZvbnRzKCkgPT0gQWxsb3dVc2VySW5zdGFsbGVkRm9udHM6Olllcyk7
CisjZW5kaWYKKwogICAgIGlmIChzeXN0ZW1GYWxsYmFja1Nob3VsZEJlSW52aXNpYmxlKQogICAg
ICAgICBzeXN0ZW1GYWxsYmFja0ZvbnQgPSBjb25zdF9jYXN0PEZvbnQqPigmc3lzdGVtRmFsbGJh
Y2tGb250LT5pbnZpc2libGVGb250KCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKaW5kZXgg
NDgyMTE4NmQ3YTdhYWViODdhNWZkNDc0NTA0OTY1ZjE1ZWNmNmEyZS4uODZlODU3MDBkYWFlMTcy
NWMzOTI5ZWJkMGMzNGZiZWZkMWQ0NGFlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcApAQCAt
NTcwLDcgKzU3MCw3IEBAIFJldGFpblB0cjxDVEZvbnRSZWY+IHByZXBhcmVQbGF0Zm9ybUZvbnQo
Q1RGb250UmVmIG9yaWdpbmFsRm9udCwgY29uc3QgRm9udERlc2NyCiAgICAgYm9vbCBmb250RmFj
ZURvZXNudFNwZWNpZnlGZWF0dXJlcyA9ICFmb250RmFjZUZlYXR1cmVzIHx8IGZvbnRGYWNlRmVh
dHVyZXMtPmlzRW1wdHkoKTsKICAgICBib29sIGZvbnRGYWNlRG9lc250U3BlY2lmeVZhcmlhdGlv
bnMgPSAhZm9udEZhY2VWYXJpYW50U2V0dGluZ3MgfHwgZm9udEZhY2VWYXJpYW50U2V0dGluZ3Mt
PmlzQWxsTm9ybWFsKCk7CiAgICAgaWYgKG5vRm9udEZlYXR1cmVTZXR0aW5ncyAmJiBub0ZvbnRW
YXJpYXRpb25TZXR0aW5ncyAmJiB0ZXh0UmVuZGVyaW5nTW9kZUlzQXV0byAmJiB2YXJpYW50U2V0
dGluZ3NJc05vcm1hbCAmJiBkb250TmVlZFRvQXBwbHlPcHRpY2FsU2l6aW5nICYmIGZvbnRGYWNl
RG9lc250U3BlY2lmeUZlYXR1cmVzICYmIGZvbnRGYWNlRG9lc250U3BlY2lmeVZhcmlhdGlvbnMp
Ci0gICAgICAgIHJldHVybiBvcmlnaW5hbEZvbnQ7CisgICAgICAgIHJldHVybiBjcmVhdGVGb250
Rm9ySW5zdGFsbGVkRm9udHMob3JpZ2luYWxGb250LCBmb250RGVzY3JpcHRpb24uc2hvdWxkQWxs
b3dVc2VySW5zdGFsbGVkRm9udHMoKSk7CiAKICAgICAvLyBUaGlzIGFsZ29yaXRobSBpcyBkZXNj
cmliZWQgYXQgaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1mb250cy8jZmVhdHVyZS1wcmVjZWRl
bmNlCiAgICAgRmVhdHVyZXNNYXAgZmVhdHVyZXNUb0JlQXBwbGllZDsKQEAgLTY4NSw5ICs2ODUs
MTAgQEAgUmV0YWluUHRyPENURm9udFJlZj4gcHJlcGFyZVBsYXRmb3JtRm9udChDVEZvbnRSZWYg
b3JpZ2luYWxGb250LCBjb25zdCBGb250RGVzY3IKICNlbmRpZgogICAgIH0KIAorICAgIGFkZEF0
dHJpYnV0ZXNGb3JJbnN0YWxsZWRGb250cyhhdHRyaWJ1dGVzLmdldCgpLCBmb250RGVzY3JpcHRp
b24uc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSk7CisKICAgICBhdXRvIGRlc2NyaXB0
b3IgPSBhZG9wdENGKENURm9udERlc2NyaXB0b3JDcmVhdGVXaXRoQXR0cmlidXRlcyhhdHRyaWJ1
dGVzLmdldCgpKSk7Ci0gICAgYXV0byByZXN1bHQgPSBhZG9wdENGKENURm9udENyZWF0ZUNvcHlX
aXRoQXR0cmlidXRlcyhvcmlnaW5hbEZvbnQsIENURm9udEdldFNpemUob3JpZ2luYWxGb250KSwg
bnVsbHB0ciwgZGVzY3JpcHRvci5nZXQoKSkpOwotICAgIHJldHVybiByZXN1bHQ7CisgICAgcmV0
dXJuIGFkb3B0Q0YoQ1RGb250Q3JlYXRlQ29weVdpdGhBdHRyaWJ1dGVzKG9yaWdpbmFsRm9udCwg
Q1RGb250R2V0U2l6ZShvcmlnaW5hbEZvbnQpLCBudWxscHRyLCBkZXNjcmlwdG9yLmdldCgpKSk7
CiB9CiAKIFJlZlB0cjxGb250PiBGb250Q2FjaGU6OnNpbWlsYXJGb250KGNvbnN0IEZvbnREZXNj
cmlwdGlvbiYgZGVzY3JpcHRpb24sIGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNv
cmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVG
b250RGF0YUNvcmVUZXh0LmNwcAppbmRleCAzMzU4NDkwZWJlNTE3N2UzMWQ1ODc2ODM1NTlkMDVi
M2NmMjg0NmMwLi5iMWVjN2M1NjVhY2EyODZmYjFiYTBlOTEyZDY2ZWIxYmUxZGQ2OWZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERh
dGFDb3JlVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L1NpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwCkBAIC01Myw0ICs1MywxMCBAQCBDRkRpY3Rpb25h
cnlSZWYgRm9udDo6Z2V0Q0ZTdHJpbmdBdHRyaWJ1dGVzKGJvb2wgZW5hYmxlS2VybmluZywgRm9u
dE9yaWVudGF0aW9uCiAgICAgcmV0dXJuIGF0dHJpYnV0ZXNEaWN0aW9uYXJ5LmdldCgpOwogfQog
Citib29sIEZvbnQ6OmlzVXNlckluc3RhbGxlZEZvbnQoKSBjb25zdAoreworICAgIGF1dG8gaXNV
c2VySW5zdGFsbGVkRm9udCA9IGFkb3B0Q0Yoc3RhdGljX2Nhc3Q8Q0ZCb29sZWFuUmVmPihDVEZv
bnRDb3B5QXR0cmlidXRlKGdldENURm9udCgpLCBrQ1RGb250VXNlckluc3RhbGxlZEF0dHJpYnV0
ZSkpKTsKKyAgICByZXR1cm4gaXNVc2VySW5zdGFsbGVkRm9udCAmJiBDRkJvb2xlYW5HZXRWYWx1
ZShpc1VzZXJJbnN0YWxsZWRGb250LmdldCgpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374062</attachid>
            <date>2019-07-12 18:08:54 -0700</date>
            <delta_ts>2019-07-15 11:19:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199769-20190712180853.patch</filename>
            <type>text/plain</type>
            <size>8830</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3Mzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDgzYzNjODYwYjExZmExNThlYmE1Njcw
NWQyNmM5Y2YxMTQ0NDc3NTEuLmViZTY4OWU5OTA0MjYxMmJmYmVkNGNmMmRlYTkwZmMzZWY5YTNk
OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDctMTIgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc3VyZSB0byBzZXQga0NURm9udEZhbGxiYWNr
T3B0aW9uQXR0cmlidXRlIHRvIGtDVEZvbnRGYWxsYmFja09wdGlvblN5c3RlbSBmb3Igc3lzdGVt
IGZvbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTk3NjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5MzkwMjk3PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIw
MTktMDctMTEgIFBhYmxvIFNhYXZlZHJhICA8cHNhYXZlZHJhQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgW1dQRV1bR1RLXSBCdWlsZCBmYWlsdXJlIHdpdGggRU5BQkxFX0FDQ0VTU0lCSUxJVFk9T0ZG
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggY2RiNmNkODI0MjMyMjY3Mzc5OGNlZTQyMzczODA0NTk2ZDA1MDc0ZS4u
ZTM5ZmJhZWZlZDE3ZTcyYWYyNTQ2MjBmNjMwYjliYmI5ZWZhMmU5MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDMwIEBACisyMDE5LTA3LTEyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KKworICAgICAgICBNYWtlIHN1cmUgdG8gc2V0IGtDVEZvbnRGYWxsYmFja09wdGlvbkF0dHJp
YnV0ZSB0byBrQ1RGb250RmFsbGJhY2tPcHRpb25TeXN0ZW0gZm9yIHN5c3RlbSBmb250cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5NzY5CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS80OTM5MDI5Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIGdldHRpbmcgYSBzeXN0ZW0gZm9udCwgc2V0IHRo
ZSBhcHByb3ByaWF0ZSBhdHRyaWJ1dGUgc28gdGhhdCBpdAorICAgICAgICBkb2VzIG5vdCBmYWxs
YmFjayB0byBhIHVzZXIgaW5pdGlhdGVkIGZvbnQuCisgICAgICAgIEFkZCBhbiBBU1NFUlQgdGhh
dCBjaGVja3MgdGhhdCB0aGUgZm9udCBpbiB1c2UgaXMgbm90IGEgdXNlciBmb250IGlmCisgICAg
ICAgIHBvbGljeSBpcyB0byB1c2UgdXNlciBpbnN0YWxsZWQgZm9udHMuCisKKyAgICAgICAgTWFu
dWFsbHkgdGVzdGVkLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlRm9udHMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Rm9udENhc2NhZGVGb250czo6Z2x5cGhEYXRhRm9yU3lzdGVtRmFsbGJhY2spOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkZvbnREYXRhYmFzZTo6c2luZ2xldG9uQWxsb3dpbmdVc2VySW5z
dGFsbGVkRm9udHMpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udERhdGFiYXNlOjpzaW5nbGV0b25E
aXNhbGxvd2luZ1VzZXJJbnN0YWxsZWRGb250cyk6CisgICAgICAgIChXZWJDb3JlOjphZGRBdHRy
aWJ1dGVzRm9ySW5zdGFsbGVkRm9udHMpOgorICAgICAgICAoV2ViQ29yZTo6YWRkQXR0cmlidXRl
c0ZvcldlYkZvbnRzKToKKyAgICAgICAgKFdlYkNvcmU6Omluc3RhbGxlZEZvbnRNYW5kYXRvcnlB
dHRyaWJ1dGVzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERh
dGFDb3JlVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Ojppc1VzZXJJbnN0YWxsZWRG
b250IGNvbnN0KToKKwogMjAxOS0wNy0xMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5j
b20+CiAKICAgICAgICAgU3RvcHBpbmcgYSBjbG9uZWQgTWVkaWFTdHJlYW0gdmlkZW8gdHJhY2sg
c2hvdWxkIG5vdCBzdG9wIGFueSBvdGhlciB2aWRlbyB0cmFjawpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKaW5kZXggZWFh
MzY1ZWQ3ZmM5M2VmYjc5Y2E2NzViZWQ0MjE5YmIwYWQyM2Q2My4uYTNiOTNiOGE0MDkxNWIwMDMw
NzJjMmViNDYwZmFhMGY3NzI5ZDJlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZv
cm0uaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCkBAIC0xNTMzLDYgKzE1MzMsMTAg
QEAKICNkZWZpbmUgRU5BQkxFX01PTk9TUEFDRV9GT05UX0VYQ0VQVElPTiAoX19JUEhPTkVfT1Nf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMzAwMDApCiAjZW5kaWYKIAorI2lmIChQTEFURk9STShN
QUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKSB8fCAoUExB
VEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTIwMDAwKQorI2RlZmluZSBIQVZFX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTIDEKKyNl
bmRpZgorCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTMwMDAwCiAjZGVmaW5lIEhBVkVfQVJLSVRfUVVJQ0tfTE9PS19QUkVW
SUVXX0lURU0gMQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgK
aW5kZXggM2NhOTc4ODYyZDllMzlkYTEzYTYyNmQ3NmU1MzY1NWYyZDU2MTIxOS4uMTEyOGEzOTA3
NjIyNmQ3YzhhNjk3M2I3Zjg1ZDE4YWNjMGI3MmE3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnQuaApAQCAtMjA0LDYgKzIwNCwxMCBAQCBwdWJsaWM6CiAgICAgY29uc3Qg
Qml0VmVjdG9yJiBnbHlwaHNTdXBwb3J0ZWRCeUFsbFBldGl0ZUNhcHMoKSBjb25zdDsKICNlbmRp
ZgogCisjaWYgSEFWRShESVNBTExPV19VU0VSX0lOU1RBTExFRF9GT05UUykKKyAgICBib29sIGlz
VXNlckluc3RhbGxlZEZvbnQoKSBjb25zdDsKKyNlbmRpZgorCiAgICAgYm9vbCBjYW5SZW5kZXJD
b21iaW5pbmdDaGFyYWN0ZXJTZXF1ZW5jZShjb25zdCBVQ2hhciosIHNpemVfdCkgY29uc3Q7CiAg
ICAgYm9vbCBhcHBseVRyYW5zZm9ybXMoR2x5cGhCdWZmZXJHbHlwaCosIEdseXBoQnVmZmVyQWR2
YW5jZSosIHNpemVfdCBnbHlwaENvdW50LCBib29sIGVuYWJsZUtlcm5pbmcsIGJvb2wgcmVxdWly
ZXNTaGFwaW5nKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udENhc2NhZGVGb250cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250Q2FzY2FkZUZvbnRzLmNwcAppbmRleCA2OTQ0NjljMGViNjJhZDljODRlOWJi
ZDA4ZmExMzQyNjQwOTA2OWE5Li45ZjM0Y2EzNjU5ZGY1M2Y4MGZkOWE3ZWZiMWJlY2VkYTg2N2Iw
NDJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2Fz
Y2FkZUZvbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
Q2FzY2FkZUZvbnRzLmNwcApAQCAtMzQ5LDYgKzM0OSwxMCBAQCBHbHlwaERhdGEgRm9udENhc2Nh
ZGVGb250czo6Z2x5cGhEYXRhRm9yU3lzdGVtRmFsbGJhY2soVUNoYXIzMiBjaGFyYWN0ZXIsIGNv
bnN0CiAgICAgaWYgKCFzeXN0ZW1GYWxsYmFja0ZvbnQpCiAgICAgICAgIHJldHVybiBHbHlwaERh
dGEoKTsKIAorI2lmIEhBVkUoRElTQUxMT1dfVVNFUl9JTlNUQUxMRURfRk9OVFMpCisgICAgQVNT
RVJUKCFzeXN0ZW1GYWxsYmFja0ZvbnQtPmlzVXNlckluc3RhbGxlZEZvbnQoKSB8fCBkZXNjcmlw
dGlvbi5zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cygpID09IEFsbG93VXNlckluc3RhbGxl
ZEZvbnRzOjpZZXMpOworI2VuZGlmCisKICAgICBpZiAoc3lzdGVtRmFsbGJhY2tTaG91bGRCZUlu
dmlzaWJsZSkKICAgICAgICAgc3lzdGVtRmFsbGJhY2tGb250ID0gY29uc3RfY2FzdDxGb250Kj4o
JnN5c3RlbUZhbGxiYWNrRm9udC0+aW52aXNpYmxlRm9udCgpKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRl
eHQuY3BwCmluZGV4IDQ4MjExODZkN2E3YWFlYjg3YTVmZDQ3NDUwNDk2NWYxNWVjZjZhMmUuLmNi
MjhmYjZiNjQzOWJlZTI2OTM4YTBkOWMzNmJhNzY4YmZiZjUxYjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3Jl
VGV4dC5jcHAKQEAgLTM4LDcgKzM4LDYgQEAKICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQu
aD4KIAogI2RlZmluZSBIQVNfQ09SRV9URVhUX1dJRFRIX0FUVFJJQlVURSAoKFBMQVRGT1JNKE1B
QykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEzMDApIHx8IChQTEFU
Rk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MTAwMDApKQotI2RlZmluZSBDQU5fRElTQUxMT1dfVVNFUl9JTlNUQUxMRURfRk9OVFMgKChQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNDAwKSB8
fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTIwMDAwKSkKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC04MzgsNyArODM3LDcg
QEAgc3RhdGljIGlubGluZSBib29sIGlzU3lzdGVtRm9udChjb25zdCBBdG9tU3RyaW5nJiBmYW1p
bHkpCiAKIGNsYXNzIEZvbnREYXRhYmFzZSB7CiBwdWJsaWM6Ci0jaWYgIUNBTl9ESVNBTExPV19V
U0VSX0lOU1RBTExFRF9GT05UUworI2lmICFIQVZFKERJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZP
TlRTKQogICAgIHN0YXRpYyBGb250RGF0YWJhc2UmIHNpbmdsZXRvbigpCiAgICAgewogICAgICAg
ICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Rm9udERhdGFiYXNlPiBkYXRhYmFzZShBbGxvd1VzZXJJ
bnN0YWxsZWRGb250czo6WWVzKTsKQEAgLTg0OCw3ICs4NDcsNyBAQCBwdWJsaWM6CiAKICAgICBz
dGF0aWMgRm9udERhdGFiYXNlJiBzaW5nbGV0b25BbGxvd2luZ1VzZXJJbnN0YWxsZWRGb250cygp
CiAgICAgewotI2lmIENBTl9ESVNBTExPV19VU0VSX0lOU1RBTExFRF9GT05UUworI2lmIEhBVkUo
RElTQUxMT1dfVVNFUl9JTlNUQUxMRURfRk9OVFMpCiAgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ry
b3llZDxGb250RGF0YWJhc2U+IGRhdGFiYXNlKEFsbG93VXNlckluc3RhbGxlZEZvbnRzOjpZZXMp
OwogICAgICAgICByZXR1cm4gZGF0YWJhc2U7CiAjZWxzZQpAQCAtODU4LDcgKzg1Nyw3IEBAIHB1
YmxpYzoKIAogICAgIHN0YXRpYyBGb250RGF0YWJhc2UmIHNpbmdsZXRvbkRpc2FsbG93aW5nVXNl
ckluc3RhbGxlZEZvbnRzKCkKICAgICB7Ci0jaWYgQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVE
X0ZPTlRTCisjaWYgSEFWRShESVNBTExPV19VU0VSX0lOU1RBTExFRF9GT05UUykKICAgICAgICAg
c3RhdGljIE5ldmVyRGVzdHJveWVkPEZvbnREYXRhYmFzZT4gZGF0YWJhc2UoQWxsb3dVc2VySW5z
dGFsbGVkRm9udHM6Ok5vKTsKICAgICAgICAgcmV0dXJuIGRhdGFiYXNlOwogI2Vsc2UKQEAgLTE0
NjYsNyArMTQ2NSw3IEBAIGNvbnN0IEF0b21TdHJpbmcmIEZvbnRDYWNoZTo6cGxhdGZvcm1BbHRl
cm5hdGVGYW1pbHlOYW1lKGNvbnN0IEF0b21TdHJpbmcmIGZhbWlsCiAKIHZvaWQgYWRkQXR0cmli
dXRlc0Zvckluc3RhbGxlZEZvbnRzKENGTXV0YWJsZURpY3Rpb25hcnlSZWYgYXR0cmlidXRlcywg
QWxsb3dVc2VySW5zdGFsbGVkRm9udHMgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpCiB7Ci0jaWYg
Q0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTCisjaWYgSEFWRShESVNBTExPV19VU0VS
X0lOU1RBTExFRF9GT05UUykKICAgICBpZiAoYWxsb3dVc2VySW5zdGFsbGVkRm9udHMgPT0gQWxs
b3dVc2VySW5zdGFsbGVkRm9udHM6Ok5vKSB7CiAgICAgICAgIENGRGljdGlvbmFyeUFkZFZhbHVl
KGF0dHJpYnV0ZXMsIGtDVEZvbnRVc2VySW5zdGFsbGVkQXR0cmlidXRlLCBrQ0ZCb29sZWFuRmFs
c2UpOwogICAgICAgICBDVEZvbnRGYWxsYmFja09wdGlvbiBmYWxsYmFja09wdGlvbiA9IGtDVEZv
bnRGYWxsYmFja09wdGlvblN5c3RlbTsKQEAgLTE1MDMsNyArMTUwMiw3IEBAIFJldGFpblB0cjxD
VEZvbnRSZWY+IGNyZWF0ZUZvbnRGb3JJbnN0YWxsZWRGb250cyhDVEZvbnRSZWYgZm9udCwgQWxs
b3dVc2VySW5zdGFsCiAKIHZvaWQgYWRkQXR0cmlidXRlc0ZvcldlYkZvbnRzKENGTXV0YWJsZURp
Y3Rpb25hcnlSZWYgYXR0cmlidXRlcywgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMgYWxsb3dVc2Vy
SW5zdGFsbGVkRm9udHMpCiB7Ci0jaWYgQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRT
CisjaWYgSEFWRShESVNBTExPV19VU0VSX0lOU1RBTExFRF9GT05UUykKICAgICBpZiAoYWxsb3dV
c2VySW5zdGFsbGVkRm9udHMgPT0gQWxsb3dVc2VySW5zdGFsbGVkRm9udHM6Ok5vKSB7CiAgICAg
ICAgIENURm9udEZhbGxiYWNrT3B0aW9uIGZhbGxiYWNrT3B0aW9uID0ga0NURm9udEZhbGxiYWNr
T3B0aW9uU3lzdGVtOwogICAgICAgICBhdXRvIGZhbGxiYWNrT3B0aW9uTnVtYmVyID0gYWRvcHRD
RihDRk51bWJlckNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBrQ0ZOdW1iZXJTSW50NjRUeXBl
LCAmZmFsbGJhY2tPcHRpb24pKTsKQEAgLTE1MTcsNyArMTUxNiw3IEBAIHZvaWQgYWRkQXR0cmli
dXRlc0ZvcldlYkZvbnRzKENGTXV0YWJsZURpY3Rpb25hcnlSZWYgYXR0cmlidXRlcywgQWxsb3dV
c2VySW5zdGFsCiAKIFJldGFpblB0cjxDRlNldFJlZj4gaW5zdGFsbGVkRm9udE1hbmRhdG9yeUF0
dHJpYnV0ZXMoQWxsb3dVc2VySW5zdGFsbGVkRm9udHMgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMp
CiB7Ci0jaWYgQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTCisjaWYgSEFWRShESVNB
TExPV19VU0VSX0lOU1RBTExFRF9GT05UUykKICAgICBpZiAoYWxsb3dVc2VySW5zdGFsbGVkRm9u
dHMgPT0gQWxsb3dVc2VySW5zdGFsbGVkRm9udHM6Ok5vKSB7CiAgICAgICAgIENGVHlwZVJlZiBt
YW5kYXRvcnlBdHRyaWJ1dGVzVmFsdWVzW10gPSB7IGtDVEZvbnRGYW1pbHlOYW1lQXR0cmlidXRl
LCBrQ1RGb250UG9zdFNjcmlwdE5hbWVBdHRyaWJ1dGUsIGtDVEZvbnRFbmFibGVkQXR0cmlidXRl
LCBrQ1RGb250VXNlckluc3RhbGxlZEF0dHJpYnV0ZSwga0NURm9udEZhbGxiYWNrT3B0aW9uQXR0
cmlidXRlIH07CiAgICAgICAgIHJldHVybiBhZG9wdENGKENGU2V0Q3JlYXRlKGtDRkFsbG9jYXRv
ckRlZmF1bHQsIG1hbmRhdG9yeUF0dHJpYnV0ZXNWYWx1ZXMsIFdURl9BUlJBWV9MRU5HVEgobWFu
ZGF0b3J5QXR0cmlidXRlc1ZhbHVlcyksICZrQ0ZUeXBlU2V0Q2FsbEJhY2tzKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFD
b3JlVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxl
Rm9udERhdGFDb3JlVGV4dC5jcHAKaW5kZXggMzM1ODQ5MGViZTUxNzdlMzFkNTg3NjgzNTU5ZDA1
YjNjZjI4NDZjMC4uOWI0MTUwMDBkMDgzOWNiMjAyM2M4YzQ5YjZhYTI4OWE5OTdmNzU2MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnRE
YXRhQ29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21h
Yy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcApAQCAtNTMsNCArNTMsMTIgQEAgQ0ZEaWN0aW9u
YXJ5UmVmIEZvbnQ6OmdldENGU3RyaW5nQXR0cmlidXRlcyhib29sIGVuYWJsZUtlcm5pbmcsIEZv
bnRPcmllbnRhdGlvbgogICAgIHJldHVybiBhdHRyaWJ1dGVzRGljdGlvbmFyeS5nZXQoKTsKIH0K
IAorI2lmIEhBVkUoRElTQUxMT1dfVVNFUl9JTlNUQUxMRURfRk9OVFMpCitib29sIEZvbnQ6Omlz
VXNlckluc3RhbGxlZEZvbnQoKSBjb25zdAoreworICAgIGF1dG8gaXNVc2VySW5zdGFsbGVkRm9u
dCA9IGFkb3B0Q0Yoc3RhdGljX2Nhc3Q8Q0ZCb29sZWFuUmVmPihDVEZvbnRDb3B5QXR0cmlidXRl
KGdldENURm9udCgpLCBrQ1RGb250VXNlckluc3RhbGxlZEF0dHJpYnV0ZSkpKTsKKyAgICByZXR1
cm4gaXNVc2VySW5zdGFsbGVkRm9udCAmJiBDRkJvb2xlYW5HZXRWYWx1ZShpc1VzZXJJbnN0YWxs
ZWRGb250LmdldCgpKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374125</attachid>
            <date>2019-07-15 11:19:06 -0700</date>
            <delta_ts>2019-07-15 17:26:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199769-20190715111902.patch</filename>
            <type>text/plain</type>
            <size>8897</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3NDMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDBmZmM1NWNkMDQ2YTA1NGRiY2YzODEy
Njc4ZTcyMWJkMjU5NjZlYzguLjM5NzdiYmNkMDVkMTRiNDU0YjE0OTZlMmU0NDczNmU0MDFiZDM4
MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDctMTIgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc3VyZSB0byBzZXQga0NURm9udEZhbGxiYWNr
T3B0aW9uQXR0cmlidXRlIHRvIGtDVEZvbnRGYWxsYmFja09wdGlvblN5c3RlbSBmb3Igc3lzdGVt
IGZvbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTk3NjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5MzkwMjk3PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIw
MTktMDctMTQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQg
dGhyZWFkaW5nIGFzc2VydGlvbiB0byBXZWFrUHRyRmFjdG9yeTo6Y3JlYXRlV2Vha1B0cigpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggZDJlYjY5YTA4YmRiOGJhM2JkZDk4MjlhZDA0OWEwMTUwM2M1NTNiNS4uZjIz
ODcwMDM3Njg3NWMxMjExOGM1MWVlMjExNTU3Y2U1ZGI1ZTA0YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDMwIEBACisyMDE5LTA3LTEyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
KworICAgICAgICBNYWtlIHN1cmUgdG8gc2V0IGtDVEZvbnRGYWxsYmFja09wdGlvbkF0dHJpYnV0
ZSB0byBrQ1RGb250RmFsbGJhY2tPcHRpb25TeXN0ZW0gZm9yIHN5c3RlbSBmb250cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5NzY5CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS80OTM5MDI5Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBNeWxlcyBD
LiBNYXhmaWVsZC4KKworICAgICAgICBXaGVuIGdldHRpbmcgYSBzeXN0ZW0gZm9udCwgc2V0IHRo
ZSBhcHByb3ByaWF0ZSBhdHRyaWJ1dGUgc28gdGhhdCBpdAorICAgICAgICBkb2VzIG5vdCBmYWxs
YmFjayB0byBhIHVzZXIgaW5pdGlhdGVkIGZvbnQuCisgICAgICAgIEFkZCBhbiBBU1NFUlQgdGhh
dCBjaGVja3MgdGhhdCB0aGUgZm9udCBpbiB1c2UgaXMgbm90IGEgdXNlciBmb250IGlmCisgICAg
ICAgIHBvbGljeSBpcyB0byB1c2UgdXNlciBpbnN0YWxsZWQgZm9udHMuCisKKyAgICAgICAgTWFu
dWFsbHkgdGVzdGVkLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlRm9udHMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Rm9udENhc2NhZGVGb250czo6Z2x5cGhEYXRhRm9yU3lzdGVtRmFsbGJhY2spOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkZvbnREYXRhYmFzZTo6c2luZ2xldG9uQWxsb3dpbmdVc2VySW5z
dGFsbGVkRm9udHMpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udERhdGFiYXNlOjpzaW5nbGV0b25E
aXNhbGxvd2luZ1VzZXJJbnN0YWxsZWRGb250cyk6CisgICAgICAgIChXZWJDb3JlOjphZGRBdHRy
aWJ1dGVzRm9ySW5zdGFsbGVkRm9udHMpOgorICAgICAgICAoV2ViQ29yZTo6YWRkQXR0cmlidXRl
c0ZvcldlYkZvbnRzKToKKyAgICAgICAgKFdlYkNvcmU6Omluc3RhbGxlZEZvbnRNYW5kYXRvcnlB
dHRyaWJ1dGVzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERh
dGFDb3JlVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Ojppc1VzZXJJbnN0YWxsZWRG
b250IGNvbnN0KToKKwogMjAxOS0wNy0xNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5j
b20+CiAKICAgICAgICAgRmlsdGVyIFNEUCBjIGxpbmVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAppbmRleCA1MjM3YWYy
MmM5YWMzNWU5NzVmMTE5M2RiYTlmOWY0NzY0NzFiNDY5Li43YjMwZDFiNDI4YWRhZDljYzk5ZjVj
NGRmMzMyNjY5ZTBhMDQ1MjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5o
CisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKQEAgLTE1MzYsNiArMTUzNiwxMCBAQAog
I2RlZmluZSBFTkFCTEVfTU9OT1NQQUNFX0ZPTlRfRVhDRVBUSU9OIChfX0lQSE9ORV9PU19WRVJT
SU9OX01JTl9SRVFVSVJFRCA8IDEzMDAwMCkKICNlbmRpZgogCisjaWYgKFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDApIHx8IFBMQVRGT1JN
KElPU19GQU1JTFkpCisjZGVmaW5lIEhBVkVfQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZP
TlRTIDEKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1Nf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwCiAjZGVmaW5lIEhBVkVfQVJLSVRfUVVJQ0tf
TE9PS19QUkVWSUVXX0lURU0gMQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250LmgKaW5kZXggM2NhOTc4ODYyZDllMzlkYTEzYTYyNmQ3NmU1MzY1NWYyZDU2MTIxOS4u
ZmZhMDgxMjg3NDZmMTMwOTlhNmNhMzljMjNlYzY0OTUyYWFmOTI1NSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaApAQCAtMjA0LDYgKzIwNCwxMCBAQCBwdWJsaWM6CiAg
ICAgY29uc3QgQml0VmVjdG9yJiBnbHlwaHNTdXBwb3J0ZWRCeUFsbFBldGl0ZUNhcHMoKSBjb25z
dDsKICNlbmRpZgogCisjaWYgSEFWRShDQU5fRElTQUxMT1dfVVNFUl9JTlNUQUxMRURfRk9OVFMp
CisgICAgYm9vbCBpc1VzZXJJbnN0YWxsZWRGb250KCkgY29uc3Q7CisjZW5kaWYKKwogICAgIGJv
b2wgY2FuUmVuZGVyQ29tYmluaW5nQ2hhcmFjdGVyU2VxdWVuY2UoY29uc3QgVUNoYXIqLCBzaXpl
X3QpIGNvbnN0OwogICAgIGJvb2wgYXBwbHlUcmFuc2Zvcm1zKEdseXBoQnVmZmVyR2x5cGgqLCBH
bHlwaEJ1ZmZlckFkdmFuY2UqLCBzaXplX3QgZ2x5cGhDb3VudCwgYm9vbCBlbmFibGVLZXJuaW5n
LCBib29sIHJlcXVpcmVzU2hhcGluZykgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlRm9udHMuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGVGb250cy5jcHAKaW5kZXggNjk0NDY5YzBl
YjYyYWQ5Yzg0ZTliYmQwOGZhMTM0MjY0MDkwNjlhOS4uNjgzZjQ3NTRiYzE3N2NmOWFmOTZmMWIx
YjNkNTEyZGNlNTk3YTE0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udENhc2NhZGVGb250cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udENhc2NhZGVGb250cy5jcHAKQEAgLTM0OSw2ICszNDksMTAgQEAgR2x5cGhE
YXRhIEZvbnRDYXNjYWRlRm9udHM6OmdseXBoRGF0YUZvclN5c3RlbUZhbGxiYWNrKFVDaGFyMzIg
Y2hhcmFjdGVyLCBjb25zdAogICAgIGlmICghc3lzdGVtRmFsbGJhY2tGb250KQogICAgICAgICBy
ZXR1cm4gR2x5cGhEYXRhKCk7CiAKKyNpZiBIQVZFKENBTl9ESVNBTExPV19VU0VSX0lOU1RBTExF
RF9GT05UUykKKyAgICBBU1NFUlQoIXN5c3RlbUZhbGxiYWNrRm9udC0+aXNVc2VySW5zdGFsbGVk
Rm9udCgpIHx8IGRlc2NyaXB0aW9uLnNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKCkgPT0g
QWxsb3dVc2VySW5zdGFsbGVkRm9udHM6Olllcyk7CisjZW5kaWYKKwogICAgIGlmIChzeXN0ZW1G
YWxsYmFja1Nob3VsZEJlSW52aXNpYmxlKQogICAgICAgICBzeXN0ZW1GYWxsYmFja0ZvbnQgPSBj
b25zdF9jYXN0PEZvbnQqPigmc3lzdGVtRmFsbGJhY2tGb250LT5pbnZpc2libGVGb250KCkpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250
Q2FjaGVDb3JlVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKaW5kZXggYTVhYjY1MGQ4YmM1OTg5NGFkMjYwY2MwNGYw
MDc2MWEzNjU2ZTEyNC4uYWJhMTQxYTdkOTdkMGY5M2Y5MTFmY2UyNzlkYjE5MTIzODlhZDRlNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENh
Y2hlQ29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcApAQCAtMzgsNyArMzgsNiBAQAogI2luY2x1ZGUgPHd0
Zi9OZXZlckRlc3Ryb3llZC5oPgogCiAjZGVmaW5lIEhBU19DT1JFX1RFWFRfV0lEVEhfQVRUUklC
VVRFICgoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMTMwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDExMDAwMCkpCi0jZGVmaW5lIENBTl9ESVNBTExPV19VU0VSX0lOU1RB
TExFRF9GT05UUyAoKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMDE0MDApIHx8IChQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMjAwMDApKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
QEAgLTgzOCw3ICs4MzcsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNTeXN0ZW1Gb250KGNvbnN0
IEF0b21TdHJpbmcmIGZhbWlseSkKIAogY2xhc3MgRm9udERhdGFiYXNlIHsKIHB1YmxpYzoKLSNp
ZiAhQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTCisjaWYgIUhBVkUoQ0FOX0RJU0FM
TE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQogICAgIHN0YXRpYyBGb250RGF0YWJhc2UmIHNpbmds
ZXRvbigpCiAgICAgewogICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Rm9udERhdGFiYXNl
PiBkYXRhYmFzZShBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6WWVzKTsKQEAgLTg0OCw3ICs4NDcs
NyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgRm9udERhdGFiYXNlJiBzaW5nbGV0b25BbGxvd2lu
Z1VzZXJJbnN0YWxsZWRGb250cygpCiAgICAgewotI2lmIENBTl9ESVNBTExPV19VU0VSX0lOU1RB
TExFRF9GT05UUworI2lmIEhBVkUoQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQog
ICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Rm9udERhdGFiYXNlPiBkYXRhYmFzZShBbGxv
d1VzZXJJbnN0YWxsZWRGb250czo6WWVzKTsKICAgICAgICAgcmV0dXJuIGRhdGFiYXNlOwogI2Vs
c2UKQEAgLTg1OCw3ICs4NTcsNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgRm9udERhdGFiYXNl
JiBzaW5nbGV0b25EaXNhbGxvd2luZ1VzZXJJbnN0YWxsZWRGb250cygpCiAgICAgewotI2lmIENB
Tl9ESVNBTExPV19VU0VSX0lOU1RBTExFRF9GT05UUworI2lmIEhBVkUoQ0FOX0RJU0FMTE9XX1VT
RVJfSU5TVEFMTEVEX0ZPTlRTKQogICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Rm9udERh
dGFiYXNlPiBkYXRhYmFzZShBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6Tm8pOwogICAgICAgICBy
ZXR1cm4gZGF0YWJhc2U7CiAjZWxzZQpAQCAtMTUwNiw3ICsxNTA1LDcgQEAgY29uc3QgQXRvbVN0
cmluZyYgRm9udENhY2hlOjpwbGF0Zm9ybUFsdGVybmF0ZUZhbWlseU5hbWUoY29uc3QgQXRvbVN0
cmluZyYgZmFtaWwKIAogdm9pZCBhZGRBdHRyaWJ1dGVzRm9ySW5zdGFsbGVkRm9udHMoQ0ZNdXRh
YmxlRGljdGlvbmFyeVJlZiBhdHRyaWJ1dGVzLCBBbGxvd1VzZXJJbnN0YWxsZWRGb250cyBhbGxv
d1VzZXJJbnN0YWxsZWRGb250cykKIHsKLSNpZiBDQU5fRElTQUxMT1dfVVNFUl9JTlNUQUxMRURf
Rk9OVFMKKyNpZiBIQVZFKENBTl9ESVNBTExPV19VU0VSX0lOU1RBTExFRF9GT05UUykKICAgICBp
ZiAoYWxsb3dVc2VySW5zdGFsbGVkRm9udHMgPT0gQWxsb3dVc2VySW5zdGFsbGVkRm9udHM6Ok5v
KSB7CiAgICAgICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGF0dHJpYnV0ZXMsIGtDVEZvbnRVc2Vy
SW5zdGFsbGVkQXR0cmlidXRlLCBrQ0ZCb29sZWFuRmFsc2UpOwogICAgICAgICBDVEZvbnRGYWxs
YmFja09wdGlvbiBmYWxsYmFja09wdGlvbiA9IGtDVEZvbnRGYWxsYmFja09wdGlvblN5c3RlbTsK
QEAgLTE1NDMsNyArMTU0Miw3IEBAIFJldGFpblB0cjxDVEZvbnRSZWY+IGNyZWF0ZUZvbnRGb3JJ
bnN0YWxsZWRGb250cyhDVEZvbnRSZWYgZm9udCwgQWxsb3dVc2VySW5zdGFsCiAKIHZvaWQgYWRk
QXR0cmlidXRlc0ZvcldlYkZvbnRzKENGTXV0YWJsZURpY3Rpb25hcnlSZWYgYXR0cmlidXRlcywg
QWxsb3dVc2VySW5zdGFsbGVkRm9udHMgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpCiB7Ci0jaWYg
Q0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTCisjaWYgSEFWRShDQU5fRElTQUxMT1df
VVNFUl9JTlNUQUxMRURfRk9OVFMpCiAgICAgaWYgKGFsbG93VXNlckluc3RhbGxlZEZvbnRzID09
IEFsbG93VXNlckluc3RhbGxlZEZvbnRzOjpObykgewogICAgICAgICBDVEZvbnRGYWxsYmFja09w
dGlvbiBmYWxsYmFja09wdGlvbiA9IGtDVEZvbnRGYWxsYmFja09wdGlvblN5c3RlbTsKICAgICAg
ICAgYXV0byBmYWxsYmFja09wdGlvbk51bWJlciA9IGFkb3B0Q0YoQ0ZOdW1iZXJDcmVhdGUoa0NG
QWxsb2NhdG9yRGVmYXVsdCwga0NGTnVtYmVyU0ludDY0VHlwZSwgJmZhbGxiYWNrT3B0aW9uKSk7
CkBAIC0xNTU3LDcgKzE1NTYsNyBAQCB2b2lkIGFkZEF0dHJpYnV0ZXNGb3JXZWJGb250cyhDRk11
dGFibGVEaWN0aW9uYXJ5UmVmIGF0dHJpYnV0ZXMsIEFsbG93VXNlckluc3RhbAogCiBSZXRhaW5Q
dHI8Q0ZTZXRSZWY+IGluc3RhbGxlZEZvbnRNYW5kYXRvcnlBdHRyaWJ1dGVzKEFsbG93VXNlcklu
c3RhbGxlZEZvbnRzIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKQogewotI2lmIENBTl9ESVNBTExP
V19VU0VSX0lOU1RBTExFRF9GT05UUworI2lmIEhBVkUoQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFM
TEVEX0ZPTlRTKQogICAgIGlmIChhbGxvd1VzZXJJbnN0YWxsZWRGb250cyA9PSBBbGxvd1VzZXJJ
bnN0YWxsZWRGb250czo6Tm8pIHsKICAgICAgICAgQ0ZUeXBlUmVmIG1hbmRhdG9yeUF0dHJpYnV0
ZXNWYWx1ZXNbXSA9IHsga0NURm9udEZhbWlseU5hbWVBdHRyaWJ1dGUsIGtDVEZvbnRQb3N0U2Ny
aXB0TmFtZUF0dHJpYnV0ZSwga0NURm9udEVuYWJsZWRBdHRyaWJ1dGUsIGtDVEZvbnRVc2VySW5z
dGFsbGVkQXR0cmlidXRlLCBrQ1RGb250RmFsbGJhY2tPcHRpb25BdHRyaWJ1dGUgfTsKICAgICAg
ICAgcmV0dXJuIGFkb3B0Q0YoQ0ZTZXRDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgbWFuZGF0
b3J5QXR0cmlidXRlc1ZhbHVlcywgV1RGX0FSUkFZX0xFTkdUSChtYW5kYXRvcnlBdHRyaWJ1dGVz
VmFsdWVzKSwgJmtDRlR5cGVTZXRDYWxsQmFja3MpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0
LmNwcAppbmRleCAzMzU4NDkwZWJlNTE3N2UzMWQ1ODc2ODM1NTlkMDViM2NmMjg0NmMwLi4xYzM1
MzI5MDQwNGI2ODdmYTU2NDZiYTBiN2YyYWVlYjkxNzRjNTE1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRh
Q29yZVRleHQuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiRm9udC5oIgogCiAjaW5j
bHVkZSA8Q29yZVRleHQvQ29yZVRleHQuaD4KKyNpbmNsdWRlIDxwYWwvc3BpL2NvY29hL0NvcmVU
ZXh0U1BJLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTMsNCArNTQsMTIgQEAgQ0ZE
aWN0aW9uYXJ5UmVmIEZvbnQ6OmdldENGU3RyaW5nQXR0cmlidXRlcyhib29sIGVuYWJsZUtlcm5p
bmcsIEZvbnRPcmllbnRhdGlvbgogICAgIHJldHVybiBhdHRyaWJ1dGVzRGljdGlvbmFyeS5nZXQo
KTsKIH0KIAorI2lmIEhBVkUoQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQorYm9v
bCBGb250Ojppc1VzZXJJbnN0YWxsZWRGb250KCkgY29uc3QKK3sKKyAgICBhdXRvIGlzVXNlcklu
c3RhbGxlZEZvbnQgPSBhZG9wdENGKHN0YXRpY19jYXN0PENGQm9vbGVhblJlZj4oQ1RGb250Q29w
eUF0dHJpYnV0ZShnZXRDVEZvbnQoKSwga0NURm9udFVzZXJJbnN0YWxsZWRBdHRyaWJ1dGUpKSk7
CisgICAgcmV0dXJuIGlzVXNlckluc3RhbGxlZEZvbnQgJiYgQ0ZCb29sZWFuR2V0VmFsdWUoaXNV
c2VySW5zdGFsbGVkRm9udC5nZXQoKSk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQo=
</data>
<flag name="commit-queue"
          id="389960"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374169</attachid>
            <date>2019-07-15 17:26:25 -0700</date>
            <delta_ts>2019-07-15 23:04:56 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>8517</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggMGZmYzU1Y2QwNDYuLmQ0MTE5MzE3NTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE5
LTA3LTE1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtl
IHN1cmUgdG8gc2V0IGtDVEZvbnRGYWxsYmFja09wdGlvbkF0dHJpYnV0ZSB0byBrQ1RGb250RmFs
bGJhY2tPcHRpb25TeXN0ZW0gZm9yIHN5c3RlbSBmb250cworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5NzY5CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS80OTM5MDI5Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBNeWxlcyBDLiBNYXhmaWVsZC4KKwor
ICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgorCiAyMDE5LTA3LTE0ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIHRocmVhZGluZyBhc3NlcnRpb24gdG8gV2Vh
a1B0ckZhY3Rvcnk6OmNyZWF0ZVdlYWtQdHIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
UGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKaW5kZXggNTIzN2FmMjJjOWEu
LjdiMzBkMWI0MjhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCisrKyBi
L1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKQEAgLTE1MzYsNiArMTUzNiwxMCBAQAogI2RlZmlu
ZSBFTkFCTEVfTU9OT1NQQUNFX0ZPTlRfRVhDRVBUSU9OIChfX0lQSE9ORV9PU19WRVJTSU9OX01J
Tl9SRVFVSVJFRCA8IDEzMDAwMCkKICNlbmRpZgogCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19N
QUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE0MDApIHx8IFBMQVRGT1JNKElPU19G
QU1JTFkpCisjZGVmaW5lIEhBVkVfQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTIDEK
KyNlbmRpZgorCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwCiAjZGVmaW5lIEhBVkVfQVJLSVRfUVVJQ0tfTE9PS19Q
UkVWSUVXX0lURU0gMQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDMwMDU2MmYzMGMuLmJlNjZlNGFh
ZWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTktMDctMTUgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc3VyZSB0byBzZXQga0NURm9u
dEZhbGxiYWNrT3B0aW9uQXR0cmlidXRlIHRvIGtDVEZvbnRGYWxsYmFja09wdGlvblN5c3RlbSBm
b3Igc3lzdGVtIGZvbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTk3NjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5MzkwMjk3PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE15bGVzIEMuIE1heGZpZWxkLgorCisgICAgICAgIFdoZW4gZ2V0dGlu
ZyBhIHN5c3RlbSBmb250LCBzZXQgdGhlIGFwcHJvcHJpYXRlIGF0dHJpYnV0ZSBzbyB0aGF0IGl0
CisgICAgICAgIGRvZXMgbm90IGZhbGxiYWNrIHRvIGEgdXNlciBpbml0aWF0ZWQgZm9udC4KKyAg
ICAgICAgQWRkIGFuIEFTU0VSVCB0aGF0IGNoZWNrcyB0aGF0IHRoZSBmb250IGluIHVzZSBpcyBu
b3QgYSB1c2VyIGZvbnQgaWYKKyAgICAgICAgcG9saWN5IGlzIHRvIHVzZSB1c2VyIGluc3RhbGxl
ZCBmb250cy4KKworICAgICAgICBNYW51YWxseSB0ZXN0ZWQuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9Gb250Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2Nh
ZGVGb250cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZUZvbnRzOjpnbHlwaERh
dGFGb3JTeXN0ZW1GYWxsYmFjayk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
Rm9udENhY2hlQ29yZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udERhdGFiYXNlOjpz
aW5nbGV0b25BbGxvd2luZ1VzZXJJbnN0YWxsZWRGb250cyk6CisgICAgICAgIChXZWJDb3JlOjpG
b250RGF0YWJhc2U6OnNpbmdsZXRvbkRpc2FsbG93aW5nVXNlckluc3RhbGxlZEZvbnRzKToKKyAg
ICAgICAgKFdlYkNvcmU6OmFkZEF0dHJpYnV0ZXNGb3JJbnN0YWxsZWRGb250cyk6CisgICAgICAg
IChXZWJDb3JlOjphZGRBdHRyaWJ1dGVzRm9yV2ViRm9udHMpOgorICAgICAgICAoV2ViQ29yZTo6
aW5zdGFsbGVkRm9udE1hbmRhdG9yeUF0dHJpYnV0ZXMpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnQ6OmlzVXNlckluc3RhbGxlZEZvbnQgY29uc3QpOgorCiAyMDE5LTA3LTE1ICBZb3Vlbm4g
RmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBIb3AgdG8gbWFpbiB0aHJlYWQg
Zm9yIHJlbGVhc2UgbG9nZ2luZyBpbiBSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAppbmRleCAzY2E5Nzg4NjJkOS4uZmZhMDgx
Mjg3NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKQEAgLTIwNCw2
ICsyMDQsMTAgQEAgcHVibGljOgogICAgIGNvbnN0IEJpdFZlY3RvciYgZ2x5cGhzU3VwcG9ydGVk
QnlBbGxQZXRpdGVDYXBzKCkgY29uc3Q7CiAjZW5kaWYKIAorI2lmIEhBVkUoQ0FOX0RJU0FMTE9X
X1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQorICAgIGJvb2wgaXNVc2VySW5zdGFsbGVkRm9udCgpIGNv
bnN0OworI2VuZGlmCisKICAgICBib29sIGNhblJlbmRlckNvbWJpbmluZ0NoYXJhY3RlclNlcXVl
bmNlKGNvbnN0IFVDaGFyKiwgc2l6ZV90KSBjb25zdDsKICAgICBib29sIGFwcGx5VHJhbnNmb3Jt
cyhHbHlwaEJ1ZmZlckdseXBoKiwgR2x5cGhCdWZmZXJBZHZhbmNlKiwgc2l6ZV90IGdseXBoQ291
bnQsIGJvb2wgZW5hYmxlS2VybmluZywgYm9vbCByZXF1aXJlc1NoYXBpbmcpIGNvbnN0OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZUZv
bnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlRm9u
dHMuY3BwCmluZGV4IDY5NDQ2OWMwZWI2Li42ODNmNDc1NGJjMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGVGb250cy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGVGb250cy5jcHAKQEAgLTM0
OSw2ICszNDksMTAgQEAgR2x5cGhEYXRhIEZvbnRDYXNjYWRlRm9udHM6OmdseXBoRGF0YUZvclN5
c3RlbUZhbGxiYWNrKFVDaGFyMzIgY2hhcmFjdGVyLCBjb25zdAogICAgIGlmICghc3lzdGVtRmFs
bGJhY2tGb250KQogICAgICAgICByZXR1cm4gR2x5cGhEYXRhKCk7CiAKKyNpZiBIQVZFKENBTl9E
SVNBTExPV19VU0VSX0lOU1RBTExFRF9GT05UUykKKyAgICBBU1NFUlQoIXN5c3RlbUZhbGxiYWNr
Rm9udC0+aXNVc2VySW5zdGFsbGVkRm9udCgpIHx8IGRlc2NyaXB0aW9uLnNob3VsZEFsbG93VXNl
ckluc3RhbGxlZEZvbnRzKCkgPT0gQWxsb3dVc2VySW5zdGFsbGVkRm9udHM6Olllcyk7CisjZW5k
aWYKKwogICAgIGlmIChzeXN0ZW1GYWxsYmFja1Nob3VsZEJlSW52aXNpYmxlKQogICAgICAgICBz
eXN0ZW1GYWxsYmFja0ZvbnQgPSBjb25zdF9jYXN0PEZvbnQqPigmc3lzdGVtRmFsbGJhY2tGb250
LT5pbnZpc2libGVGb250KCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKaW5kZXggYTVhYjY1
MGQ4YmMuLmFiYTE0MWE3ZDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwCkBAIC0zOCw3ICsz
OCw2IEBACiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAKICNkZWZpbmUgSEFTX0NP
UkVfVEVYVF9XSURUSF9BVFRSSUJVVEUgKChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYg
X19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwKSkKLSNkZWZpbmUgQ0FO
X0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTICgoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1J
TFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEyMDAwMCkpCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtODM4LDcgKzgzNyw3IEBAIHN0YXRpYyBpbmxpbmUgYm9v
bCBpc1N5c3RlbUZvbnQoY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5KQogCiBjbGFzcyBGb250RGF0
YWJhc2UgewogcHVibGljOgotI2lmICFDQU5fRElTQUxMT1dfVVNFUl9JTlNUQUxMRURfRk9OVFMK
KyNpZiAhSEFWRShDQU5fRElTQUxMT1dfVVNFUl9JTlNUQUxMRURfRk9OVFMpCiAgICAgc3RhdGlj
IEZvbnREYXRhYmFzZSYgc2luZ2xldG9uKCkKICAgICB7CiAgICAgICAgIHN0YXRpYyBOZXZlckRl
c3Ryb3llZDxGb250RGF0YWJhc2U+IGRhdGFiYXNlKEFsbG93VXNlckluc3RhbGxlZEZvbnRzOjpZ
ZXMpOwpAQCAtODQ4LDcgKzg0Nyw3IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBGb250RGF0YWJh
c2UmIHNpbmdsZXRvbkFsbG93aW5nVXNlckluc3RhbGxlZEZvbnRzKCkKICAgICB7Ci0jaWYgQ0FO
X0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTCisjaWYgSEFWRShDQU5fRElTQUxMT1dfVVNF
Ul9JTlNUQUxMRURfRk9OVFMpCiAgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxGb250RGF0
YWJhc2U+IGRhdGFiYXNlKEFsbG93VXNlckluc3RhbGxlZEZvbnRzOjpZZXMpOwogICAgICAgICBy
ZXR1cm4gZGF0YWJhc2U7CiAjZWxzZQpAQCAtODU4LDcgKzg1Nyw3IEBAIHB1YmxpYzoKIAogICAg
IHN0YXRpYyBGb250RGF0YWJhc2UmIHNpbmdsZXRvbkRpc2FsbG93aW5nVXNlckluc3RhbGxlZEZv
bnRzKCkKICAgICB7Ci0jaWYgQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTCisjaWYg
SEFWRShDQU5fRElTQUxMT1dfVVNFUl9JTlNUQUxMRURfRk9OVFMpCiAgICAgICAgIHN0YXRpYyBO
ZXZlckRlc3Ryb3llZDxGb250RGF0YWJhc2U+IGRhdGFiYXNlKEFsbG93VXNlckluc3RhbGxlZEZv
bnRzOjpObyk7CiAgICAgICAgIHJldHVybiBkYXRhYmFzZTsKICNlbHNlCkBAIC0xNTA2LDcgKzE1
MDUsNyBAQCBjb25zdCBBdG9tU3RyaW5nJiBGb250Q2FjaGU6OnBsYXRmb3JtQWx0ZXJuYXRlRmFt
aWx5TmFtZShjb25zdCBBdG9tU3RyaW5nJiBmYW1pbAogCiB2b2lkIGFkZEF0dHJpYnV0ZXNGb3JJ
bnN0YWxsZWRGb250cyhDRk11dGFibGVEaWN0aW9uYXJ5UmVmIGF0dHJpYnV0ZXMsIEFsbG93VXNl
ckluc3RhbGxlZEZvbnRzIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKQogewotI2lmIENBTl9ESVNB
TExPV19VU0VSX0lOU1RBTExFRF9GT05UUworI2lmIEhBVkUoQ0FOX0RJU0FMTE9XX1VTRVJfSU5T
VEFMTEVEX0ZPTlRTKQogICAgIGlmIChhbGxvd1VzZXJJbnN0YWxsZWRGb250cyA9PSBBbGxvd1Vz
ZXJJbnN0YWxsZWRGb250czo6Tm8pIHsKICAgICAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoYXR0
cmlidXRlcywga0NURm9udFVzZXJJbnN0YWxsZWRBdHRyaWJ1dGUsIGtDRkJvb2xlYW5GYWxzZSk7
CiAgICAgICAgIENURm9udEZhbGxiYWNrT3B0aW9uIGZhbGxiYWNrT3B0aW9uID0ga0NURm9udEZh
bGxiYWNrT3B0aW9uU3lzdGVtOwpAQCAtMTU0Myw3ICsxNTQyLDcgQEAgUmV0YWluUHRyPENURm9u
dFJlZj4gY3JlYXRlRm9udEZvckluc3RhbGxlZEZvbnRzKENURm9udFJlZiBmb250LCBBbGxvd1Vz
ZXJJbnN0YWwKIAogdm9pZCBhZGRBdHRyaWJ1dGVzRm9yV2ViRm9udHMoQ0ZNdXRhYmxlRGljdGlv
bmFyeVJlZiBhdHRyaWJ1dGVzLCBBbGxvd1VzZXJJbnN0YWxsZWRGb250cyBhbGxvd1VzZXJJbnN0
YWxsZWRGb250cykKIHsKLSNpZiBDQU5fRElTQUxMT1dfVVNFUl9JTlNUQUxMRURfRk9OVFMKKyNp
ZiBIQVZFKENBTl9ESVNBTExPV19VU0VSX0lOU1RBTExFRF9GT05UUykKICAgICBpZiAoYWxsb3dV
c2VySW5zdGFsbGVkRm9udHMgPT0gQWxsb3dVc2VySW5zdGFsbGVkRm9udHM6Ok5vKSB7CiAgICAg
ICAgIENURm9udEZhbGxiYWNrT3B0aW9uIGZhbGxiYWNrT3B0aW9uID0ga0NURm9udEZhbGxiYWNr
T3B0aW9uU3lzdGVtOwogICAgICAgICBhdXRvIGZhbGxiYWNrT3B0aW9uTnVtYmVyID0gYWRvcHRD
RihDRk51bWJlckNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBrQ0ZOdW1iZXJTSW50NjRUeXBl
LCAmZmFsbGJhY2tPcHRpb24pKTsKQEAgLTE1NTcsNyArMTU1Niw3IEBAIHZvaWQgYWRkQXR0cmli
dXRlc0ZvcldlYkZvbnRzKENGTXV0YWJsZURpY3Rpb25hcnlSZWYgYXR0cmlidXRlcywgQWxsb3dV
c2VySW5zdGFsCiAKIFJldGFpblB0cjxDRlNldFJlZj4gaW5zdGFsbGVkRm9udE1hbmRhdG9yeUF0
dHJpYnV0ZXMoQWxsb3dVc2VySW5zdGFsbGVkRm9udHMgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMp
CiB7Ci0jaWYgQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTCisjaWYgSEFWRShDQU5f
RElTQUxMT1dfVVNFUl9JTlNUQUxMRURfRk9OVFMpCiAgICAgaWYgKGFsbG93VXNlckluc3RhbGxl
ZEZvbnRzID09IEFsbG93VXNlckluc3RhbGxlZEZvbnRzOjpObykgewogICAgICAgICBDRlR5cGVS
ZWYgbWFuZGF0b3J5QXR0cmlidXRlc1ZhbHVlc1tdID0geyBrQ1RGb250RmFtaWx5TmFtZUF0dHJp
YnV0ZSwga0NURm9udFBvc3RTY3JpcHROYW1lQXR0cmlidXRlLCBrQ1RGb250RW5hYmxlZEF0dHJp
YnV0ZSwga0NURm9udFVzZXJJbnN0YWxsZWRBdHRyaWJ1dGUsIGtDVEZvbnRGYWxsYmFja09wdGlv
bkF0dHJpYnV0ZSB9OwogICAgICAgICByZXR1cm4gYWRvcHRDRihDRlNldENyZWF0ZShrQ0ZBbGxv
Y2F0b3JEZWZhdWx0LCBtYW5kYXRvcnlBdHRyaWJ1dGVzVmFsdWVzLCBXVEZfQVJSQVlfTEVOR1RI
KG1hbmRhdG9yeUF0dHJpYnV0ZXNWYWx1ZXMpLCAma0NGVHlwZVNldENhbGxCYWNrcykpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnRE
YXRhQ29yZVRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1Np
bXBsZUZvbnREYXRhQ29yZVRleHQuY3BwCmluZGV4IDMzNTg0OTBlYmU1Li4xYzM1MzI5MDQwNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZv
bnREYXRhQ29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1
ZGUgIkZvbnQuaCIKIAogI2luY2x1ZGUgPENvcmVUZXh0L0NvcmVUZXh0Lmg+CisjaW5jbHVkZSA8
cGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTUzLDQgKzU0LDEyIEBAIENGRGljdGlvbmFyeVJlZiBGb250OjpnZXRDRlN0cmluZ0F0dHJpYnV0
ZXMoYm9vbCBlbmFibGVLZXJuaW5nLCBGb250T3JpZW50YXRpb24KICAgICByZXR1cm4gYXR0cmli
dXRlc0RpY3Rpb25hcnkuZ2V0KCk7CiB9CiAKKyNpZiBIQVZFKENBTl9ESVNBTExPV19VU0VSX0lO
U1RBTExFRF9GT05UUykKK2Jvb2wgRm9udDo6aXNVc2VySW5zdGFsbGVkRm9udCgpIGNvbnN0Cit7
CisgICAgYXV0byBpc1VzZXJJbnN0YWxsZWRGb250ID0gYWRvcHRDRihzdGF0aWNfY2FzdDxDRkJv
b2xlYW5SZWY+KENURm9udENvcHlBdHRyaWJ1dGUoZ2V0Q1RGb250KCksIGtDVEZvbnRVc2VySW5z
dGFsbGVkQXR0cmlidXRlKSkpOworICAgIHJldHVybiBpc1VzZXJJbnN0YWxsZWRGb250ICYmIENG
Qm9vbGVhbkdldFZhbHVlKGlzVXNlckluc3RhbGxlZEZvbnQuZ2V0KCkpOworfQorI2VuZGlmCisK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374195</attachid>
            <date>2019-07-15 23:04:56 -0700</date>
            <delta_ts>2019-07-16 09:53:35 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>17193</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxOGRiMzFjMGYzZi4uYTE0MjUwMTQwZWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxOS0wNy0xNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAg
TWFrZSBzdXJlIHRvIHNldCBrQ1RGb250RmFsbGJhY2tPcHRpb25BdHRyaWJ1dGUgdG8ga0NURm9u
dEZhbGxiYWNrT3B0aW9uU3lzdGVtIGZvciBzeXN0ZW0gZm9udHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTc2OQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNDkzOTAyOTc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTXlsZXMgQy4gTWF4ZmllbGQu
CisKKyAgICAgICAgKiBmYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvZXh0ZW5kZWQtY2hh
cmFjdGVyLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC91c2VyLWlu
c3RhbGxlZC1mb250cy9leHRlbmRlZC1jaGFyYWN0ZXIuaHRtbDogQWRkZWQuCisKIDIwMTktMDct
MTUgIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCwgcm9sbGluZyBvdXQgcjI0NzM5NywgcjI0NzM3OCwgcjI0NzM2Ni4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9leHRlbmRlZC1jaGFy
YWN0ZXItZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91c2VyLWluc3RhbGxl
ZC1mb250cy9leHRlbmRlZC1jaGFyYWN0ZXItZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNDU4MTIzYWI2OTAKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvZXh0ZW5kZWQtY2hhcmFj
dGVyLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw5IEBACis8aHRtbD4KKyAgICA8aGVhZD4KKzxt
ZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDwh
LS0gdW5rbm93biBjaGFyYWN0ZXIgLS0+CisgICAgICAgIDx0ZD4mI3gwMTE3NDA7PC90ZD4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdXNl
ci1pbnN0YWxsZWQtZm9udHMvZXh0ZW5kZWQtY2hhcmFjdGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvZXh0ZW5kZWQtY2hhcmFjdGVyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmQ3MTU2Y2ExZDRjCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4
dGVuZGVkLWNoYXJhY3Rlci5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzxodG1sPgorICAgIDxoZWFk
PgorPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLmluc3Rh
bGxGYWtlSGVsdmV0aWNhKCJTaW5nbGVFeHRlbmRlZENoYXJhY3RlciIpOworICAgICAgICA8L3Nj
cmlwdD4KKyAgICAgICAgPCEtLSBDaGFyYWN0ZXIga25vd24gYnkgdXNlciBpbnN0YWxsZWQgZm9u
dCBvbmx5IC0tPgorICAgICAgICA8dGQ+JiN4MDExNzIxOzwvdGQ+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZwppbmRleCAwZmZjNTVjZDA0Ni4uZDQxMTkzMTc1OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTktMDctMTUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAg
IE1ha2Ugc3VyZSB0byBzZXQga0NURm9udEZhbGxiYWNrT3B0aW9uQXR0cmlidXRlIHRvIGtDVEZv
bnRGYWxsYmFja09wdGlvblN5c3RlbSBmb3Igc3lzdGVtIGZvbnRzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTk3NjkKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzQ5MzkwMjk3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE15bGVzIEMuIE1heGZpZWxk
LgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisKIDIwMTktMDctMTQgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgdGhyZWFkaW5nIGFzc2VydGlvbiB0
byBXZWFrUHRyRmFjdG9yeTo6Y3JlYXRlV2Vha1B0cigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaAppbmRleCA1MjM3YWYy
MmM5YS4uN2IzMGQxYjQyOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgK
KysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApAQCAtMTUzNiw2ICsxNTM2LDEwIEBACiAj
ZGVmaW5lIEVOQUJMRV9NT05PU1BBQ0VfRk9OVF9FWENFUFRJT04gKF9fSVBIT05FX09TX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEIDwgMTMwMDAwKQogI2VuZGlmCiAKKyNpZiAoUExBVEZPUk0oTUFDKSAm
JiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkgfHwgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKKyNkZWZpbmUgSEFWRV9DQU5fRElTQUxMT1dfVVNFUl9JTlNUQUxMRURfRk9O
VFMgMQorI2VuZGlmCisKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDAKICNkZWZpbmUgSEFWRV9BUktJVF9RVUlDS19M
T09LX1BSRVZJRVdfSVRFTSAxCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkMzAwNTYyZjMwYy4uOTQx
ODQ2MzBlNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAxOS0wNy0xNSAgWW91ZW5u
IEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzdXJlIHRvIHNldCBr
Q1RGb250RmFsbGJhY2tPcHRpb25BdHRyaWJ1dGUgdG8ga0NURm9udEZhbGxiYWNrT3B0aW9uU3lz
dGVtIGZvciBzeXN0ZW0gZm9udHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE5OTc2OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDkzOTAyOTc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTXlsZXMgQy4gTWF4ZmllbGQuCisKKyAgICAgICAgV2hlbiBn
ZXR0aW5nIGEgc3lzdGVtIGZvbnQsIHNldCB0aGUgYXBwcm9wcmlhdGUgYXR0cmlidXRlIHNvIHRo
YXQgaXQKKyAgICAgICAgZG9lcyBub3QgZmFsbGJhY2sgdG8gYSB1c2VyIGluaXRpYXRlZCBmb250
LgorICAgICAgICBBZGQgYW4gQVNTRVJUIHRoYXQgY2hlY2tzIHRoYXQgdGhlIGZvbnQgaW4gdXNl
IGlzIG5vdCBhIHVzZXIgZm9udCBpZgorICAgICAgICBwb2xpY3kgaXMgdG8gdXNlIHVzZXIgaW5z
dGFsbGVkIGZvbnRzLgorCisgICAgICAgIFRlc3Q6IGZhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1m
b250cy9leHRlbmRlZC1jaGFyYWN0ZXIuaHRtbAorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlRm9udHMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhc2NhZGVGb250czo6Z2x5cGhEYXRhRm9yU3lz
dGVtRmFsbGJhY2spOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNo
ZUNvcmVUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnByZXBhcmVQbGF0Zm9ybUZvbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6Rm9udERhdGFiYXNlOjpzaW5nbGV0b25BbGxvd2luZ1VzZXJJbnN0
YWxsZWRGb250cyk6CisgICAgICAgIChXZWJDb3JlOjpGb250RGF0YWJhc2U6OnNpbmdsZXRvbkRp
c2FsbG93aW5nVXNlckluc3RhbGxlZEZvbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OmFkZEF0dHJp
YnV0ZXNGb3JJbnN0YWxsZWRGb250cyk6CisgICAgICAgIChXZWJDb3JlOjphZGRBdHRyaWJ1dGVz
Rm9yV2ViRm9udHMpOgorICAgICAgICAoV2ViQ29yZTo6aW5zdGFsbGVkRm9udE1hbmRhdG9yeUF0
dHJpYnV0ZXMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0
YUNvcmVUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmlzVXNlckluc3RhbGxlZEZv
bnQgY29uc3QpOgorCiAyMDE5LTA3LTE1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KIAogICAgICAgICBIb3AgdG8gbWFpbiB0aHJlYWQgZm9yIHJlbGVhc2UgbG9nZ2luZyBpbiBS
ZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnQuaAppbmRleCAzY2E5Nzg4NjJkOS4uZmZhMDgxMjg3NDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKQEAgLTIwNCw2ICsyMDQsMTAgQEAgcHVibGljOgogICAg
IGNvbnN0IEJpdFZlY3RvciYgZ2x5cGhzU3VwcG9ydGVkQnlBbGxQZXRpdGVDYXBzKCkgY29uc3Q7
CiAjZW5kaWYKIAorI2lmIEhBVkUoQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQor
ICAgIGJvb2wgaXNVc2VySW5zdGFsbGVkRm9udCgpIGNvbnN0OworI2VuZGlmCisKICAgICBib29s
IGNhblJlbmRlckNvbWJpbmluZ0NoYXJhY3RlclNlcXVlbmNlKGNvbnN0IFVDaGFyKiwgc2l6ZV90
KSBjb25zdDsKICAgICBib29sIGFwcGx5VHJhbnNmb3JtcyhHbHlwaEJ1ZmZlckdseXBoKiwgR2x5
cGhCdWZmZXJBZHZhbmNlKiwgc2l6ZV90IGdseXBoQ291bnQsIGJvb2wgZW5hYmxlS2VybmluZywg
Ym9vbCByZXF1aXJlc1NoYXBpbmcpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZUZvbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlRm9udHMuY3BwCmluZGV4IDY5NDQ2OWMwZWI2
Li42ODNmNDc1NGJjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udENhc2NhZGVGb250cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udENhc2NhZGVGb250cy5jcHAKQEAgLTM0OSw2ICszNDksMTAgQEAgR2x5cGhEYXRh
IEZvbnRDYXNjYWRlRm9udHM6OmdseXBoRGF0YUZvclN5c3RlbUZhbGxiYWNrKFVDaGFyMzIgY2hh
cmFjdGVyLCBjb25zdAogICAgIGlmICghc3lzdGVtRmFsbGJhY2tGb250KQogICAgICAgICByZXR1
cm4gR2x5cGhEYXRhKCk7CiAKKyNpZiBIQVZFKENBTl9ESVNBTExPV19VU0VSX0lOU1RBTExFRF9G
T05UUykKKyAgICBBU1NFUlQoIXN5c3RlbUZhbGxiYWNrRm9udC0+aXNVc2VySW5zdGFsbGVkRm9u
dCgpIHx8IGRlc2NyaXB0aW9uLnNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKCkgPT0gQWxs
b3dVc2VySW5zdGFsbGVkRm9udHM6Olllcyk7CisjZW5kaWYKKwogICAgIGlmIChzeXN0ZW1GYWxs
YmFja1Nob3VsZEJlSW52aXNpYmxlKQogICAgICAgICBzeXN0ZW1GYWxsYmFja0ZvbnQgPSBjb25z
dF9jYXN0PEZvbnQqPigmc3lzdGVtRmFsbGJhY2tGb250LT5pbnZpc2libGVGb250KCkpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2Fj
aGVDb3JlVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9G
b250Q2FjaGVDb3JlVGV4dC5jcHAKaW5kZXggYTVhYjY1MGQ4YmMuLjM0YjZhYTM1ZmY1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVD
b3JlVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
Rm9udENhY2hlQ29yZVRleHQuY3BwCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSA8d3RmL05l
dmVyRGVzdHJveWVkLmg+CiAKICNkZWZpbmUgSEFTX0NPUkVfVEVYVF9XSURUSF9BVFRSSUJVVEUg
KChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAx
MzAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5f
UkVRVUlSRUQgPj0gMTEwMDAwKSkKLSNkZWZpbmUgQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVE
X0ZPTlRTICgoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEwMTQwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEyMDAwMCkpCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAt
NTcwLDcgKzU2OSw3IEBAIFJldGFpblB0cjxDVEZvbnRSZWY+IHByZXBhcmVQbGF0Zm9ybUZvbnQo
Q1RGb250UmVmIG9yaWdpbmFsRm9udCwgY29uc3QgRm9udERlc2NyCiAgICAgYm9vbCBmb250RmFj
ZURvZXNudFNwZWNpZnlGZWF0dXJlcyA9ICFmb250RmFjZUZlYXR1cmVzIHx8IGZvbnRGYWNlRmVh
dHVyZXMtPmlzRW1wdHkoKTsKICAgICBib29sIGZvbnRGYWNlRG9lc250U3BlY2lmeVZhcmlhdGlv
bnMgPSAhZm9udEZhY2VWYXJpYW50U2V0dGluZ3MgfHwgZm9udEZhY2VWYXJpYW50U2V0dGluZ3Mt
PmlzQWxsTm9ybWFsKCk7CiAgICAgaWYgKG5vRm9udEZlYXR1cmVTZXR0aW5ncyAmJiBub0ZvbnRW
YXJpYXRpb25TZXR0aW5ncyAmJiB0ZXh0UmVuZGVyaW5nTW9kZUlzQXV0byAmJiB2YXJpYW50U2V0
dGluZ3NJc05vcm1hbCAmJiBkb250TmVlZFRvQXBwbHlPcHRpY2FsU2l6aW5nICYmIGZvbnRGYWNl
RG9lc250U3BlY2lmeUZlYXR1cmVzICYmIGZvbnRGYWNlRG9lc250U3BlY2lmeVZhcmlhdGlvbnMp
Ci0gICAgICAgIHJldHVybiBvcmlnaW5hbEZvbnQ7CisgICAgICAgIHJldHVybiBjcmVhdGVGb250
Rm9ySW5zdGFsbGVkRm9udHMob3JpZ2luYWxGb250LCBmb250RGVzY3JpcHRpb24uc2hvdWxkQWxs
b3dVc2VySW5zdGFsbGVkRm9udHMoKSk7CiAKICAgICAvLyBUaGlzIGFsZ29yaXRobSBpcyBkZXNj
cmliZWQgYXQgaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1mb250cy8jZmVhdHVyZS1wcmVjZWRl
bmNlCiAgICAgRmVhdHVyZXNNYXAgZmVhdHVyZXNUb0JlQXBwbGllZDsKQEAgLTY4NSw5ICs2ODQs
MTAgQEAgUmV0YWluUHRyPENURm9udFJlZj4gcHJlcGFyZVBsYXRmb3JtRm9udChDVEZvbnRSZWYg
b3JpZ2luYWxGb250LCBjb25zdCBGb250RGVzY3IKICNlbmRpZgogICAgIH0KIAorICAgIGFkZEF0
dHJpYnV0ZXNGb3JJbnN0YWxsZWRGb250cyhhdHRyaWJ1dGVzLmdldCgpLCBmb250RGVzY3JpcHRp
b24uc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSk7CisKICAgICBhdXRvIGRlc2NyaXB0
b3IgPSBhZG9wdENGKENURm9udERlc2NyaXB0b3JDcmVhdGVXaXRoQXR0cmlidXRlcyhhdHRyaWJ1
dGVzLmdldCgpKSk7Ci0gICAgYXV0byByZXN1bHQgPSBhZG9wdENGKENURm9udENyZWF0ZUNvcHlX
aXRoQXR0cmlidXRlcyhvcmlnaW5hbEZvbnQsIENURm9udEdldFNpemUob3JpZ2luYWxGb250KSwg
bnVsbHB0ciwgZGVzY3JpcHRvci5nZXQoKSkpOwotICAgIHJldHVybiByZXN1bHQ7CisgICAgcmV0
dXJuIGFkb3B0Q0YoQ1RGb250Q3JlYXRlQ29weVdpdGhBdHRyaWJ1dGVzKG9yaWdpbmFsRm9udCwg
Q1RGb250R2V0U2l6ZShvcmlnaW5hbEZvbnQpLCBudWxscHRyLCBkZXNjcmlwdG9yLmdldCgpKSk7
CiB9CiAKIFJlZlB0cjxGb250PiBGb250Q2FjaGU6OnNpbWlsYXJGb250KGNvbnN0IEZvbnREZXNj
cmlwdGlvbiYgZGVzY3JpcHRpb24sIGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSkKQEAgLTgzOCw3
ICs4MzgsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNTeXN0ZW1Gb250KGNvbnN0IEF0b21TdHJp
bmcmIGZhbWlseSkKIAogY2xhc3MgRm9udERhdGFiYXNlIHsKIHB1YmxpYzoKLSNpZiAhQ0FOX0RJ
U0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTCisjaWYgIUhBVkUoQ0FOX0RJU0FMTE9XX1VTRVJf
SU5TVEFMTEVEX0ZPTlRTKQogICAgIHN0YXRpYyBGb250RGF0YWJhc2UmIHNpbmdsZXRvbigpCiAg
ICAgewogICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Rm9udERhdGFiYXNlPiBkYXRhYmFz
ZShBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6WWVzKTsKQEAgLTg0OCw3ICs4NDgsNyBAQCBwdWJs
aWM6CiAKICAgICBzdGF0aWMgRm9udERhdGFiYXNlJiBzaW5nbGV0b25BbGxvd2luZ1VzZXJJbnN0
YWxsZWRGb250cygpCiAgICAgewotI2lmIENBTl9ESVNBTExPV19VU0VSX0lOU1RBTExFRF9GT05U
UworI2lmIEhBVkUoQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQogICAgICAgICBz
dGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Rm9udERhdGFiYXNlPiBkYXRhYmFzZShBbGxvd1VzZXJJbnN0
YWxsZWRGb250czo6WWVzKTsKICAgICAgICAgcmV0dXJuIGRhdGFiYXNlOwogI2Vsc2UKQEAgLTg1
OCw3ICs4NTgsNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgRm9udERhdGFiYXNlJiBzaW5nbGV0
b25EaXNhbGxvd2luZ1VzZXJJbnN0YWxsZWRGb250cygpCiAgICAgewotI2lmIENBTl9ESVNBTExP
V19VU0VSX0lOU1RBTExFRF9GT05UUworI2lmIEhBVkUoQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFM
TEVEX0ZPTlRTKQogICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Rm9udERhdGFiYXNlPiBk
YXRhYmFzZShBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6Tm8pOwogICAgICAgICByZXR1cm4gZGF0
YWJhc2U7CiAjZWxzZQpAQCAtMTUwNiw3ICsxNTA2LDcgQEAgY29uc3QgQXRvbVN0cmluZyYgRm9u
dENhY2hlOjpwbGF0Zm9ybUFsdGVybmF0ZUZhbWlseU5hbWUoY29uc3QgQXRvbVN0cmluZyYgZmFt
aWwKIAogdm9pZCBhZGRBdHRyaWJ1dGVzRm9ySW5zdGFsbGVkRm9udHMoQ0ZNdXRhYmxlRGljdGlv
bmFyeVJlZiBhdHRyaWJ1dGVzLCBBbGxvd1VzZXJJbnN0YWxsZWRGb250cyBhbGxvd1VzZXJJbnN0
YWxsZWRGb250cykKIHsKLSNpZiBDQU5fRElTQUxMT1dfVVNFUl9JTlNUQUxMRURfRk9OVFMKKyNp
ZiBIQVZFKENBTl9ESVNBTExPV19VU0VSX0lOU1RBTExFRF9GT05UUykKICAgICBpZiAoYWxsb3dV
c2VySW5zdGFsbGVkRm9udHMgPT0gQWxsb3dVc2VySW5zdGFsbGVkRm9udHM6Ok5vKSB7CiAgICAg
ICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGF0dHJpYnV0ZXMsIGtDVEZvbnRVc2VySW5zdGFsbGVk
QXR0cmlidXRlLCBrQ0ZCb29sZWFuRmFsc2UpOwogICAgICAgICBDVEZvbnRGYWxsYmFja09wdGlv
biBmYWxsYmFja09wdGlvbiA9IGtDVEZvbnRGYWxsYmFja09wdGlvblN5c3RlbTsKQEAgLTE1NDMs
NyArMTU0Myw3IEBAIFJldGFpblB0cjxDVEZvbnRSZWY+IGNyZWF0ZUZvbnRGb3JJbnN0YWxsZWRG
b250cyhDVEZvbnRSZWYgZm9udCwgQWxsb3dVc2VySW5zdGFsCiAKIHZvaWQgYWRkQXR0cmlidXRl
c0ZvcldlYkZvbnRzKENGTXV0YWJsZURpY3Rpb25hcnlSZWYgYXR0cmlidXRlcywgQWxsb3dVc2Vy
SW5zdGFsbGVkRm9udHMgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpCiB7Ci0jaWYgQ0FOX0RJU0FM
TE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTCisjaWYgSEFWRShDQU5fRElTQUxMT1dfVVNFUl9JTlNU
QUxMRURfRk9OVFMpCiAgICAgaWYgKGFsbG93VXNlckluc3RhbGxlZEZvbnRzID09IEFsbG93VXNl
ckluc3RhbGxlZEZvbnRzOjpObykgewogICAgICAgICBDVEZvbnRGYWxsYmFja09wdGlvbiBmYWxs
YmFja09wdGlvbiA9IGtDVEZvbnRGYWxsYmFja09wdGlvblN5c3RlbTsKICAgICAgICAgYXV0byBm
YWxsYmFja09wdGlvbk51bWJlciA9IGFkb3B0Q0YoQ0ZOdW1iZXJDcmVhdGUoa0NGQWxsb2NhdG9y
RGVmYXVsdCwga0NGTnVtYmVyU0ludDY0VHlwZSwgJmZhbGxiYWNrT3B0aW9uKSk7CkBAIC0xNTU3
LDcgKzE1NTcsNyBAQCB2b2lkIGFkZEF0dHJpYnV0ZXNGb3JXZWJGb250cyhDRk11dGFibGVEaWN0
aW9uYXJ5UmVmIGF0dHJpYnV0ZXMsIEFsbG93VXNlckluc3RhbAogCiBSZXRhaW5QdHI8Q0ZTZXRS
ZWY+IGluc3RhbGxlZEZvbnRNYW5kYXRvcnlBdHRyaWJ1dGVzKEFsbG93VXNlckluc3RhbGxlZEZv
bnRzIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKQogewotI2lmIENBTl9ESVNBTExPV19VU0VSX0lO
U1RBTExFRF9GT05UUworI2lmIEhBVkUoQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRT
KQogICAgIGlmIChhbGxvd1VzZXJJbnN0YWxsZWRGb250cyA9PSBBbGxvd1VzZXJJbnN0YWxsZWRG
b250czo6Tm8pIHsKICAgICAgICAgQ0ZUeXBlUmVmIG1hbmRhdG9yeUF0dHJpYnV0ZXNWYWx1ZXNb
XSA9IHsga0NURm9udEZhbWlseU5hbWVBdHRyaWJ1dGUsIGtDVEZvbnRQb3N0U2NyaXB0TmFtZUF0
dHJpYnV0ZSwga0NURm9udEVuYWJsZWRBdHRyaWJ1dGUsIGtDVEZvbnRVc2VySW5zdGFsbGVkQXR0
cmlidXRlLCBrQ1RGb250RmFsbGJhY2tPcHRpb25BdHRyaWJ1dGUgfTsKICAgICAgICAgcmV0dXJu
IGFkb3B0Q0YoQ0ZTZXRDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgbWFuZGF0b3J5QXR0cmli
dXRlc1ZhbHVlcywgV1RGX0FSUkFZX0xFTkdUSChtYW5kYXRvcnlBdHRyaWJ1dGVzVmFsdWVzKSwg
JmtDRlR5cGVTZXRDYWxsQmFja3MpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcAppbmRl
eCAzMzU4NDkwZWJlNS4uMWMzNTMyOTA0MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFDb3JlVGV4dC5j
cHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJGb250LmgiCiAKICNpbmNsdWRlIDxDb3Jl
VGV4dC9Db3JlVGV4dC5oPgorI2luY2x1ZGUgPHBhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01Myw0ICs1NCwxMiBAQCBDRkRpY3Rpb25hcnlS
ZWYgRm9udDo6Z2V0Q0ZTdHJpbmdBdHRyaWJ1dGVzKGJvb2wgZW5hYmxlS2VybmluZywgRm9udE9y
aWVudGF0aW9uCiAgICAgcmV0dXJuIGF0dHJpYnV0ZXNEaWN0aW9uYXJ5LmdldCgpOwogfQogCisj
aWYgSEFWRShDQU5fRElTQUxMT1dfVVNFUl9JTlNUQUxMRURfRk9OVFMpCitib29sIEZvbnQ6Omlz
VXNlckluc3RhbGxlZEZvbnQoKSBjb25zdAoreworICAgIGF1dG8gaXNVc2VySW5zdGFsbGVkRm9u
dCA9IGFkb3B0Q0Yoc3RhdGljX2Nhc3Q8Q0ZCb29sZWFuUmVmPihDVEZvbnRDb3B5QXR0cmlidXRl
KGdldENURm9udCgpLCBrQ1RGb250VXNlckluc3RhbGxlZEF0dHJpYnV0ZSkpKTsKKyAgICByZXR1
cm4gaXNVc2VySW5zdGFsbGVkRm9udCAmJiBDRkJvb2xlYW5HZXRWYWx1ZShpc1VzZXJJbnN0YWxs
ZWRGb250LmdldCgpKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYTA0NTAyMjlj
ZWQuLjMxY2NjNDBkNjE0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTktMDctMTUgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc3VyZSB0byBzZXQga0NURm9udEZhbGxi
YWNrT3B0aW9uQXR0cmlidXRlIHRvIGtDVEZvbnRGYWxsYmFja09wdGlvblN5c3RlbSBmb3Igc3lz
dGVtIGZvbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTk3NjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5MzkwMjk3PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE15bGVzIEMuIE1heGZpZWxkLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9XZWJLaXRUZXN0UnVubmVyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICog
V2ViS2l0VGVzdFJ1bm5lci9mb250cy9GYWtlSGVsdmV0aWNhLVNpbmdsZUV4dGVuZGVkQ2hhcmFj
dGVyLnR0ZjogQWRkZWQuCisKIDIwMTktMDctMTUgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2ll
aEBhcHBsZS5jb20+CiAKICAgICAgICAgW21hY09TIDEwLjE1XSBDYW5ub3QgdW5ib2xkIHNlbGVj
dGVkIHRleHQgd2hlbiB0aGUgc3lzdGVtIGZvbnQgaXMgdXNlZApkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9XZWJLaXRUZXN0UnVubmVyLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1dlYktpdFRlc3RSdW5uZXIueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCA0YjQ3ZTg5YTljZS4uZWE1NzMwZmVkZjkgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV2ViS2l0VGVzdFJ1bm5lci54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV2ViS2l0VGVzdFJ1bm5lci54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05Niw2ICs5Niw3IEBACiAJCTJFNzQ5QkYyMTg5
MUVCRkEwMDdGQzE3NSAvKiBFdmVudFNlbmRlclByb3h5SU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkU2M0VEN0ExODkxQUNFOTAwMkE3QUZDIC8q
IEV2ZW50U2VuZGVyUHJveHlJT1MubW0gKi87IH07CiAJCTMxREE4QTNEMUU3MjA1Q0MwMEUxREYy
RiAvKiBJT1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTQ4QTA1MzFFNkY4NUI2MDBEM0IzMTYgLyogSU9T
TGF5b3V0VGVzdENvbW11bmljYXRpb24uY3BwICovOyB9OwogCQk0MUM1Mzc4RTIxRjEzNDE0MDA4
QjFGQUQgLyogVGVzdFdlYnNpdGVEYXRhU3RvcmVEZWxlZ2F0ZS5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQzUzNzhEMjFGMTMzM0MwMDhCMUZBRCAv
KiBUZXN0V2Vic2l0ZURhdGFTdG9yZURlbGVnYXRlLm1tICovOyB9OworCQk0MUQ1QjYyNjIyREQ5
RDM2MDAwRjRDNEEgLyogRmFrZUhlbHZldGljYS1TaW5nbGVFeHRlbmRlZENoYXJhY3Rlci50dGYg
aW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDVCNjI1
MjJERDlEMzYwMDBGNEM0QSAvKiBGYWtlSGVsdmV0aWNhLVNpbmdsZUV4dGVuZGVkQ2hhcmFjdGVy
LnR0ZiAqLzsgfTsKIAkJNDQzMEFFMTkxRjgyQzRGRDAwOTk5MTVBIC8qIEdlbmVyYXRlZFRvdWNo
ZXNEZWJ1Z1dpbmRvdy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ0MzBBRTE3MUY4MkM0RUUwMDk5OTE1QSAvKiBHZW5lcmF0ZWRUb3VjaGVzRGVidWdX
aW5kb3cubW0gKi87IH07CiAJCTUxMDU4QUQ1MUQ2Nzg4MjAwMDlBNTM4QyAvKiBsaWJXZWJDb3Jl
VGVzdFN1cHBvcnQuZHlsaWIgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MTIzMEUxNjEzOEM3OEJGMDBCQ0NGQ0EgLyogbGliV2ViQ29yZVRlc3RTdXBw
b3J0LmR5bGliICovOyB9OwogCQk1MTA1OEFENjFENjc4ODI1MDA5QTUzOEMgLyogV2ViS2l0LmZy
YW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBGNTE2OUNBMTQ0NTIyMkQwMEUwQTlENyAvKiBXZWJLaXQuZnJhbWV3b3JrICovOyB9OwpAQCAt
MzAwLDYgKzMwMSw3IEBACiAJCTQxODE3MzFCMTM4QUQzOUQwMDU3QUFBNCAvKiBXZWJDb3JlVGVz
dFN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViQ29yZVRlc3RT
dXBwb3J0Lmg7IHBhdGggPSBXZWJDb3JlVGVzdFN1cHBvcnQvV2ViQ29yZVRlc3RTdXBwb3J0Lmg7
IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTQxQzUzNzhDMjFGMTMzM0Mw
MDhCMUZBRCAvKiBUZXN0V2Vic2l0ZURhdGFTdG9yZURlbGVnYXRlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IFRlc3RXZWJzaXRlRGF0YVN0b3JlRGVsZWdhdGUuaDsgcGF0aCA9
IGNvY29hL1Rlc3RXZWJzaXRlRGF0YVN0b3JlRGVsZWdhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNDFDNTM3OEQyMUYxMzMzQzAwOEIxRkFEIC8qIFRlc3RXZWJzaXRlRGF0YVN0
b3JlRGVsZWdhdGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBU
ZXN0V2Vic2l0ZURhdGFTdG9yZURlbGVnYXRlLm1tOyBwYXRoID0gY29jb2EvVGVzdFdlYnNpdGVE
YXRhU3RvcmVEZWxlZ2F0ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDFENUI2
MjUyMkREOUQzNjAwMEY0QzRBIC8qIEZha2VIZWx2ZXRpY2EtU2luZ2xlRXh0ZW5kZWRDaGFyYWN0
ZXIudHRmICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
ZmlsZTsgbmFtZSA9ICJGYWtlSGVsdmV0aWNhLVNpbmdsZUV4dGVuZGVkQ2hhcmFjdGVyLnR0ZiI7
IHBhdGggPSAiLi4vLi4vLi4vLi4vLi4vLi4vLi4vU3lzdGVtL1ZvbHVtZXMvRGF0YS9Vc2Vycy95
b3Vlbm4vZGV2L0FwcGxlL09wZW5Tb3VyY2UvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9mb250cy9G
YWtlSGVsdmV0aWNhLVNpbmdsZUV4dGVuZGVkQ2hhcmFjdGVyLnR0ZiI7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQ0MjlGQzVFMTYyNzA4OTYwMEY2NkQ4QiAvKiBXb3JrUXVldWVNYW5h
Z2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdvcmtRdWV1ZU1h
bmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDI5RkM2MTE2MjcwODk2
MDBGNjZEOEIgLyogV29ya1F1ZXVlTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXb3JrUXVldWVNYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQ0MzBBRTE3MUY4MkM0RUUwMDk5OTE1QSAvKiBHZW5lcmF0ZWRUb3VjaGVzRGVidWdXaW5kb3cu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBHZW5lcmF0ZWRUb3VjaGVzRGVidWdXaW5kb3cubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NDMsNiArNzQ1LDcgQEAKIAkJQkMyNTE5
NDQxMUQxNURCRTAwMkVCQzAxIC8qIFJlc291cmNlcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3Vw
OwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNDFENUI2MjUyMkREOUQzNjAwMEY0QzRBIC8qIEZha2VI
ZWx2ZXRpY2EtU2luZ2xlRXh0ZW5kZWRDaGFyYWN0ZXIudHRmICovLAogCQkJCTY1MTBBNzc3MTFF
QzY0MzgwMDQxMDg2NyAvKiBBSEVNX19fXy5UVEYgKi8sCiAJCQkJMUNFQTg0REMyMDM3ODJFRDAw
NDQwRDA4IC8qIEZha2VIZWx2ZXRpY2EtQXJtZW5pYW5DaGFyYWN0ZXIudHRmICovLAogCQkJCTFD
QkEwMjk0MUZEODZFQTEwMDE3OUM3RCAvKiBGYWtlSGVsdmV0aWNhLUhlbHZldGljYS00MDAudHRm
ICovLApAQCAtMTAzMCw2ICsxMDMzLDcgQEAKIAkJCQkxQ0JBMDI5NjFGRDg3REVDMDAxNzlDN0Qg
LyogRmFrZUhlbHZldGljYS1IZWx2ZXRpY2EyLTUwMC50dGYgaW4gUmVzb3VyY2VzICovLAogCQkJ
CTFDQTIxMUM5MUJDQTEwNzMwMEIyMTAxRiAvKiBGb250V2l0aEZlYXR1cmVzLm90ZiBpbiBSZXNv
dXJjZXMgKi8sCiAJCQkJMUNBMjExQ0ExQkNBMTA3MzAwQjIxMDFGIC8qIEZvbnRXaXRoRmVhdHVy
ZXMudHRmIGluIFJlc291cmNlcyAqLywKKwkJCQk0MUQ1QjYyNjIyREQ5RDM2MDAwRjRDNEEgLyog
RmFrZUhlbHZldGljYS1TaW5nbGVFeHRlbmRlZENoYXJhY3Rlci50dGYgaW4gUmVzb3VyY2VzICov
LAogCQkJCTY1MTBBNzg0MTFFQzY0MzgwMDQxMDg2NyAvKiBXZWJLaXRXZWlnaHRXYXRjaGVyMTAw
LnR0ZiBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJNjUxMEE3ODUxMUVDNjQzODAwNDEwODY3IC8qIFdl
YktpdFdlaWdodFdhdGNoZXIyMDAudHRmIGluIFJlc291cmNlcyAqLywKIAkJCQk2NTEwQTc4NjEx
RUM2NDM4MDA0MTA4NjcgLyogV2ViS2l0V2VpZ2h0V2F0Y2hlcjMwMC50dGYgaW4gUmVzb3VyY2Vz
ICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9mb250cy9GYWtlSGVsdmV0
aWNhLVNpbmdsZUV4dGVuZGVkQ2hhcmFjdGVyLnR0ZiBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
Zm9udHMvRmFrZUhlbHZldGljYS1TaW5nbGVFeHRlbmRlZENoYXJhY3Rlci50dGYKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjQwZjBkMGVhNjM1CkJpbmFyeSBmaWxlcyAv
ZGV2L251bGwgYW5kIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9mb250cy9GYWtlSGVsdmV0aWNh
LVNpbmdsZUV4dGVuZGVkQ2hhcmFjdGVyLnR0ZiBkaWZmZXIK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374213</attachid>
            <date>2019-07-16 09:53:36 -0700</date>
            <delta_ts>2019-07-16 10:50:50 -0700</delta_ts>
            <desc>With tests</desc>
            <filename>bug-199769-20190716095333.patch</filename>
            <type>text/plain</type>
            <size>28946</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3NDc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY3NmJlOWVhYzgxZWJiNTZjMGUwODFm
NzIyYWRiODJiYmI4NjVmMmMuLjMzNmFkMDI2YzdmMzRlNjU3M2NhMWE3OWRkNjhhZTg5NGRkYjk2
YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDctMTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc3VyZSB0byBzZXQga0NURm9udEZhbGxiYWNr
T3B0aW9uQXR0cmlidXRlIHRvIGtDVEZvbnRGYWxsYmFja09wdGlvblN5c3RlbSBmb3Igc3lzdGVt
IGZvbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTk3NjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5MzkwMjk3PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE15bGVzIEMuIE1heGZpZWxkLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisK
IDIwMTktMDctMTYgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgog
CiAgICAgICAgIFtXUEVdW0dUS10gSW1wcm92ZW1lbnRzIGFuZCBmaXhlcyBpbiBGaWxlU3lzdGVt
R2xpYi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2MWRjNWZkNjZlMzc2NGYwMWUxZjI4YjkwYzc2ZTEwNDE3
NWE5ZTM5Li42NmRhNjg5NzRmYzE0ZmI3ODk5OTA4OGExNzIzODFlZDZhMTY4MDBkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTktMDctMTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5A
YXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc3VyZSB0byBzZXQga0NURm9udEZhbGxiYWNrT3B0
aW9uQXR0cmlidXRlIHRvIGtDVEZvbnRGYWxsYmFja09wdGlvblN5c3RlbSBmb3Igc3lzdGVtIGZv
bnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTk3
NjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5MzkwMjk3PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE15bGVzIEMuIE1heGZpZWxkLgorCisgICAgICAgIFdoZW4gZ2V0dGluZyBhIHN5c3RlbSBm
b250LCBzZXQgdGhlIGFwcHJvcHJpYXRlIGF0dHJpYnV0ZSBzbyB0aGF0IGl0CisgICAgICAgIGRv
ZXMgbm90IGZhbGxiYWNrIHRvIGEgdXNlciBpbml0aWF0ZWQgZm9udC4KKyAgICAgICAgQWRkIGFu
IEFTU0VSVCB0aGF0IGNoZWNrcyB0aGF0IHRoZSBmb250IGluIHVzZSBpcyBub3QgYSB1c2VyIGZv
bnQgaWYKKyAgICAgICAgcG9saWN5IGlzIHRvIG5vdCB1c2UgdXNlciBpbnN0YWxsZWQgZm9udHMu
CisKKyAgICAgICAgVGVzdHM6IGZhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9leHRlbmRl
ZC1jaGFyYWN0ZXItd2l0aC11c2VyLWZvbnQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC90ZXh0
L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVkLWNoYXJhY3Rlci5odG1sCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udENhc2NhZGVGb250cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZUZvbnRz
OjpnbHlwaERhdGFGb3JTeXN0ZW1GYWxsYmFjayk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cHJlcGFy
ZVBsYXRmb3JtRm9udCk6CisgICAgICAgIChXZWJDb3JlOjpGb250RGF0YWJhc2U6OnNpbmdsZXRv
bkFsbG93aW5nVXNlckluc3RhbGxlZEZvbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnREYXRh
YmFzZTo6c2luZ2xldG9uRGlzYWxsb3dpbmdVc2VySW5zdGFsbGVkRm9udHMpOgorICAgICAgICAo
V2ViQ29yZTo6YWRkQXR0cmlidXRlc0Zvckluc3RhbGxlZEZvbnRzKToKKyAgICAgICAgKFdlYkNv
cmU6OmFkZEF0dHJpYnV0ZXNGb3JXZWJGb250cyk6CisgICAgICAgIChXZWJDb3JlOjppbnN0YWxs
ZWRGb250TWFuZGF0b3J5QXR0cmlidXRlcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL1NpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6
aXNVc2VySW5zdGFsbGVkRm9udCBjb25zdCk6CisKIDIwMTktMDctMTUgIFJ5YW4gSGFkZGFkICA8
cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjI0NzQ0NC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybS5oCmluZGV4IDZiODIwNTNlYTIwNDhmNDQ1ZWRlZTQ2MmVjNDZiMDg3
YTQ3MmY5NjUuLmMwYTMyMjAxZmFlM2EwZjA3ZmQ5MDM0MGJlM2U2YzBiZGY2ODkxMTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxh
dGZvcm0uaApAQCAtMTUzNiw2ICsxNTM2LDEwIEBACiAjZGVmaW5lIEVOQUJMRV9NT05PU1BBQ0Vf
Rk9OVF9FWENFUFRJT04gKF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTMwMDAw
KQogI2VuZGlmCiAKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMTQwMCkgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNkZWZpbmUgSEFW
RV9DQU5fRElTQUxMT1dfVVNFUl9JTlNUQUxMRURfRk9OVFMgMQorI2VuZGlmCisKICNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MzAwMDAKICNkZWZpbmUgSEFWRV9BUktJVF9RVUlDS19MT09LX1BSRVZJRVdfSVRFTSAxCiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAppbmRleCAzY2E5Nzg4NjJk
OWUzOWRhMTNhNjI2ZDc2ZTUzNjU1ZjJkNTYxMjE5Li5mZmEwODEyODc0NmYxMzA5OWE2Y2EzOWMy
M2VjNjQ5NTJhYWY5MjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5o
CkBAIC0yMDQsNiArMjA0LDEwIEBAIHB1YmxpYzoKICAgICBjb25zdCBCaXRWZWN0b3ImIGdseXBo
c1N1cHBvcnRlZEJ5QWxsUGV0aXRlQ2FwcygpIGNvbnN0OwogI2VuZGlmCiAKKyNpZiBIQVZFKENB
Tl9ESVNBTExPV19VU0VSX0lOU1RBTExFRF9GT05UUykKKyAgICBib29sIGlzVXNlckluc3RhbGxl
ZEZvbnQoKSBjb25zdDsKKyNlbmRpZgorCiAgICAgYm9vbCBjYW5SZW5kZXJDb21iaW5pbmdDaGFy
YWN0ZXJTZXF1ZW5jZShjb25zdCBVQ2hhciosIHNpemVfdCkgY29uc3Q7CiAgICAgYm9vbCBhcHBs
eVRyYW5zZm9ybXMoR2x5cGhCdWZmZXJHbHlwaCosIEdseXBoQnVmZmVyQWR2YW5jZSosIHNpemVf
dCBnbHlwaENvdW50LCBib29sIGVuYWJsZUtlcm5pbmcsIGJvb2wgcmVxdWlyZXNTaGFwaW5nKSBj
b25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dENhc2NhZGVGb250cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
Q2FzY2FkZUZvbnRzLmNwcAppbmRleCA2OTQ0NjljMGViNjJhZDljODRlOWJiZDA4ZmExMzQyNjQw
OTA2OWE5Li42ODNmNDc1NGJjMTc3Y2Y5YWY5NmYxYjFiM2Q1MTJkY2U1OTdhMTRkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZUZvbnRzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZUZvbnRz
LmNwcApAQCAtMzQ5LDYgKzM0OSwxMCBAQCBHbHlwaERhdGEgRm9udENhc2NhZGVGb250czo6Z2x5
cGhEYXRhRm9yU3lzdGVtRmFsbGJhY2soVUNoYXIzMiBjaGFyYWN0ZXIsIGNvbnN0CiAgICAgaWYg
KCFzeXN0ZW1GYWxsYmFja0ZvbnQpCiAgICAgICAgIHJldHVybiBHbHlwaERhdGEoKTsKIAorI2lm
IEhBVkUoQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQorICAgIEFTU0VSVCghc3lz
dGVtRmFsbGJhY2tGb250LT5pc1VzZXJJbnN0YWxsZWRGb250KCkgfHwgZGVzY3JpcHRpb24uc2hv
dWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSA9PSBBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6
WWVzKTsKKyNlbmRpZgorCiAgICAgaWYgKHN5c3RlbUZhbGxiYWNrU2hvdWxkQmVJbnZpc2libGUp
CiAgICAgICAgIHN5c3RlbUZhbGxiYWNrRm9udCA9IGNvbnN0X2Nhc3Q8Rm9udCo+KCZzeXN0ZW1G
YWxsYmFja0ZvbnQtPmludmlzaWJsZUZvbnQoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcApp
bmRleCAwNjI5MjljNTI4MmM4MTQ2ODZhNDkyOTE3Nzc0NWQwMWIzODFkMDc0Li5jZmEyYmU1ZGY2
OTYxZTFjZWY5MzhhOWM2ZDc2M2JlMTYyMmNlZTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3Bw
CkBAIC0zOSw3ICszOSw2IEBACiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAKICNk
ZWZpbmUgSEFTX0NPUkVfVEVYVF9XSURUSF9BVFRSSUJVVEUgKChQTEFURk9STShNQUMpICYmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwKSB8fCAoUExBVEZPUk0oSU9T
X0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwKSkK
LSNkZWZpbmUgQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTICgoUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkgfHwgKFBMQVRG
T1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEy
MDAwMCkpCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTcxLDcgKzU3MCw3IEBAIFJldGFp
blB0cjxDVEZvbnRSZWY+IHByZXBhcmVQbGF0Zm9ybUZvbnQoQ1RGb250UmVmIG9yaWdpbmFsRm9u
dCwgY29uc3QgRm9udERlc2NyCiAgICAgYm9vbCBmb250RmFjZURvZXNudFNwZWNpZnlGZWF0dXJl
cyA9ICFmb250RmFjZUZlYXR1cmVzIHx8IGZvbnRGYWNlRmVhdHVyZXMtPmlzRW1wdHkoKTsKICAg
ICBib29sIGZvbnRGYWNlRG9lc250U3BlY2lmeVZhcmlhdGlvbnMgPSAhZm9udEZhY2VWYXJpYW50
U2V0dGluZ3MgfHwgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MtPmlzQWxsTm9ybWFsKCk7CiAgICAg
aWYgKG5vRm9udEZlYXR1cmVTZXR0aW5ncyAmJiBub0ZvbnRWYXJpYXRpb25TZXR0aW5ncyAmJiB0
ZXh0UmVuZGVyaW5nTW9kZUlzQXV0byAmJiB2YXJpYW50U2V0dGluZ3NJc05vcm1hbCAmJiBkb250
TmVlZFRvQXBwbHlPcHRpY2FsU2l6aW5nICYmIGZvbnRGYWNlRG9lc250U3BlY2lmeUZlYXR1cmVz
ICYmIGZvbnRGYWNlRG9lc250U3BlY2lmeVZhcmlhdGlvbnMpCi0gICAgICAgIHJldHVybiBvcmln
aW5hbEZvbnQ7CisgICAgICAgIHJldHVybiBjcmVhdGVGb250Rm9ySW5zdGFsbGVkRm9udHMob3Jp
Z2luYWxGb250LCBmb250RGVzY3JpcHRpb24uc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMo
KSk7CiAKICAgICAvLyBUaGlzIGFsZ29yaXRobSBpcyBkZXNjcmliZWQgYXQgaHR0cDovL3d3dy53
My5vcmcvVFIvY3NzMy1mb250cy8jZmVhdHVyZS1wcmVjZWRlbmNlCiAgICAgRmVhdHVyZXNNYXAg
ZmVhdHVyZXNUb0JlQXBwbGllZDsKQEAgLTY4Niw5ICs2ODUsMTAgQEAgUmV0YWluUHRyPENURm9u
dFJlZj4gcHJlcGFyZVBsYXRmb3JtRm9udChDVEZvbnRSZWYgb3JpZ2luYWxGb250LCBjb25zdCBG
b250RGVzY3IKICNlbmRpZgogICAgIH0KIAorICAgIGFkZEF0dHJpYnV0ZXNGb3JJbnN0YWxsZWRG
b250cyhhdHRyaWJ1dGVzLmdldCgpLCBmb250RGVzY3JpcHRpb24uc2hvdWxkQWxsb3dVc2VySW5z
dGFsbGVkRm9udHMoKSk7CisKICAgICBhdXRvIGRlc2NyaXB0b3IgPSBhZG9wdENGKENURm9udERl
c2NyaXB0b3JDcmVhdGVXaXRoQXR0cmlidXRlcyhhdHRyaWJ1dGVzLmdldCgpKSk7Ci0gICAgYXV0
byByZXN1bHQgPSBhZG9wdENGKENURm9udENyZWF0ZUNvcHlXaXRoQXR0cmlidXRlcyhvcmlnaW5h
bEZvbnQsIENURm9udEdldFNpemUob3JpZ2luYWxGb250KSwgbnVsbHB0ciwgZGVzY3JpcHRvci5n
ZXQoKSkpOwotICAgIHJldHVybiByZXN1bHQ7CisgICAgcmV0dXJuIGFkb3B0Q0YoQ1RGb250Q3Jl
YXRlQ29weVdpdGhBdHRyaWJ1dGVzKG9yaWdpbmFsRm9udCwgQ1RGb250R2V0U2l6ZShvcmlnaW5h
bEZvbnQpLCBudWxscHRyLCBkZXNjcmlwdG9yLmdldCgpKSk7CiB9CiAKIFJlZlB0cjxGb250PiBG
b250Q2FjaGU6OnNpbWlsYXJGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24s
IGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSkKQEAgLTgzOSw3ICs4MzksNyBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgaXNTeXN0ZW1Gb250KGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSkKIAogY2xhc3Mg
Rm9udERhdGFiYXNlIHsKIHB1YmxpYzoKLSNpZiAhQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVE
X0ZPTlRTCisjaWYgIUhBVkUoQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQogICAg
IHN0YXRpYyBGb250RGF0YWJhc2UmIHNpbmdsZXRvbigpCiAgICAgewogICAgICAgICBzdGF0aWMg
TmV2ZXJEZXN0cm95ZWQ8Rm9udERhdGFiYXNlPiBkYXRhYmFzZShBbGxvd1VzZXJJbnN0YWxsZWRG
b250czo6WWVzKTsKQEAgLTg0OSw3ICs4NDksNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgRm9u
dERhdGFiYXNlJiBzaW5nbGV0b25BbGxvd2luZ1VzZXJJbnN0YWxsZWRGb250cygpCiAgICAgewot
I2lmIENBTl9ESVNBTExPV19VU0VSX0lOU1RBTExFRF9GT05UUworI2lmIEhBVkUoQ0FOX0RJU0FM
TE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQogICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
Rm9udERhdGFiYXNlPiBkYXRhYmFzZShBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6WWVzKTsKICAg
ICAgICAgcmV0dXJuIGRhdGFiYXNlOwogI2Vsc2UKQEAgLTg1OSw3ICs4NTksNyBAQCBwdWJsaWM6
CiAKICAgICBzdGF0aWMgRm9udERhdGFiYXNlJiBzaW5nbGV0b25EaXNhbGxvd2luZ1VzZXJJbnN0
YWxsZWRGb250cygpCiAgICAgewotI2lmIENBTl9ESVNBTExPV19VU0VSX0lOU1RBTExFRF9GT05U
UworI2lmIEhBVkUoQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQogICAgICAgICBz
dGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Rm9udERhdGFiYXNlPiBkYXRhYmFzZShBbGxvd1VzZXJJbnN0
YWxsZWRGb250czo6Tm8pOwogICAgICAgICByZXR1cm4gZGF0YWJhc2U7CiAjZWxzZQpAQCAtMTUw
Nyw3ICsxNTA3LDcgQEAgY29uc3QgQXRvbVN0cmluZyYgRm9udENhY2hlOjpwbGF0Zm9ybUFsdGVy
bmF0ZUZhbWlseU5hbWUoY29uc3QgQXRvbVN0cmluZyYgZmFtaWwKIAogdm9pZCBhZGRBdHRyaWJ1
dGVzRm9ySW5zdGFsbGVkRm9udHMoQ0ZNdXRhYmxlRGljdGlvbmFyeVJlZiBhdHRyaWJ1dGVzLCBB
bGxvd1VzZXJJbnN0YWxsZWRGb250cyBhbGxvd1VzZXJJbnN0YWxsZWRGb250cykKIHsKLSNpZiBD
QU5fRElTQUxMT1dfVVNFUl9JTlNUQUxMRURfRk9OVFMKKyNpZiBIQVZFKENBTl9ESVNBTExPV19V
U0VSX0lOU1RBTExFRF9GT05UUykKICAgICBpZiAoYWxsb3dVc2VySW5zdGFsbGVkRm9udHMgPT0g
QWxsb3dVc2VySW5zdGFsbGVkRm9udHM6Ok5vKSB7CiAgICAgICAgIENGRGljdGlvbmFyeUFkZFZh
bHVlKGF0dHJpYnV0ZXMsIGtDVEZvbnRVc2VySW5zdGFsbGVkQXR0cmlidXRlLCBrQ0ZCb29sZWFu
RmFsc2UpOwogICAgICAgICBDVEZvbnRGYWxsYmFja09wdGlvbiBmYWxsYmFja09wdGlvbiA9IGtD
VEZvbnRGYWxsYmFja09wdGlvblN5c3RlbTsKQEAgLTE1NDQsNyArMTU0NCw3IEBAIFJldGFpblB0
cjxDVEZvbnRSZWY+IGNyZWF0ZUZvbnRGb3JJbnN0YWxsZWRGb250cyhDVEZvbnRSZWYgZm9udCwg
QWxsb3dVc2VySW5zdGFsCiAKIHZvaWQgYWRkQXR0cmlidXRlc0ZvcldlYkZvbnRzKENGTXV0YWJs
ZURpY3Rpb25hcnlSZWYgYXR0cmlidXRlcywgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMgYWxsb3dV
c2VySW5zdGFsbGVkRm9udHMpCiB7Ci0jaWYgQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZP
TlRTCisjaWYgSEFWRShDQU5fRElTQUxMT1dfVVNFUl9JTlNUQUxMRURfRk9OVFMpCiAgICAgaWYg
KGFsbG93VXNlckluc3RhbGxlZEZvbnRzID09IEFsbG93VXNlckluc3RhbGxlZEZvbnRzOjpObykg
ewogICAgICAgICBDVEZvbnRGYWxsYmFja09wdGlvbiBmYWxsYmFja09wdGlvbiA9IGtDVEZvbnRG
YWxsYmFja09wdGlvblN5c3RlbTsKICAgICAgICAgYXV0byBmYWxsYmFja09wdGlvbk51bWJlciA9
IGFkb3B0Q0YoQ0ZOdW1iZXJDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwga0NGTnVtYmVyU0lu
dDY0VHlwZSwgJmZhbGxiYWNrT3B0aW9uKSk7CkBAIC0xNTU4LDcgKzE1NTgsNyBAQCB2b2lkIGFk
ZEF0dHJpYnV0ZXNGb3JXZWJGb250cyhDRk11dGFibGVEaWN0aW9uYXJ5UmVmIGF0dHJpYnV0ZXMs
IEFsbG93VXNlckluc3RhbAogCiBSZXRhaW5QdHI8Q0ZTZXRSZWY+IGluc3RhbGxlZEZvbnRNYW5k
YXRvcnlBdHRyaWJ1dGVzKEFsbG93VXNlckluc3RhbGxlZEZvbnRzIGFsbG93VXNlckluc3RhbGxl
ZEZvbnRzKQogewotI2lmIENBTl9ESVNBTExPV19VU0VSX0lOU1RBTExFRF9GT05UUworI2lmIEhB
VkUoQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQogICAgIGlmIChhbGxvd1VzZXJJ
bnN0YWxsZWRGb250cyA9PSBBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6Tm8pIHsKICAgICAgICAg
Q0ZUeXBlUmVmIG1hbmRhdG9yeUF0dHJpYnV0ZXNWYWx1ZXNbXSA9IHsga0NURm9udEZhbWlseU5h
bWVBdHRyaWJ1dGUsIGtDVEZvbnRQb3N0U2NyaXB0TmFtZUF0dHJpYnV0ZSwga0NURm9udEVuYWJs
ZWRBdHRyaWJ1dGUsIGtDVEZvbnRVc2VySW5zdGFsbGVkQXR0cmlidXRlLCBrQ1RGb250RmFsbGJh
Y2tPcHRpb25BdHRyaWJ1dGUgfTsKICAgICAgICAgcmV0dXJuIGFkb3B0Q0YoQ0ZTZXRDcmVhdGUo
a0NGQWxsb2NhdG9yRGVmYXVsdCwgbWFuZGF0b3J5QXR0cmlidXRlc1ZhbHVlcywgV1RGX0FSUkFZ
X0xFTkdUSChtYW5kYXRvcnlBdHRyaWJ1dGVzVmFsdWVzKSwgJmtDRlR5cGVTZXRDYWxsQmFja3Mp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1w
bGVGb250RGF0YUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcAppbmRleCAzMzU4NDkwZWJlNTE3N2UzMWQ1
ODc2ODM1NTlkMDViM2NmMjg0NmMwLi4xYzM1MzI5MDQwNGI2ODdmYTU2NDZiYTBiN2YyYWVlYjkx
NzRjNTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
U2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwCkBAIC0yOCw2ICsyOCw3IEBA
CiAjaW5jbHVkZSAiRm9udC5oIgogCiAjaW5jbHVkZSA8Q29yZVRleHQvQ29yZVRleHQuaD4KKyNp
bmNsdWRlIDxwYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApAQCAtNTMsNCArNTQsMTIgQEAgQ0ZEaWN0aW9uYXJ5UmVmIEZvbnQ6OmdldENGU3RyaW5n
QXR0cmlidXRlcyhib29sIGVuYWJsZUtlcm5pbmcsIEZvbnRPcmllbnRhdGlvbgogICAgIHJldHVy
biBhdHRyaWJ1dGVzRGljdGlvbmFyeS5nZXQoKTsKIH0KIAorI2lmIEhBVkUoQ0FOX0RJU0FMTE9X
X1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQorYm9vbCBGb250Ojppc1VzZXJJbnN0YWxsZWRGb250KCkg
Y29uc3QKK3sKKyAgICBhdXRvIGlzVXNlckluc3RhbGxlZEZvbnQgPSBhZG9wdENGKHN0YXRpY19j
YXN0PENGQm9vbGVhblJlZj4oQ1RGb250Q29weUF0dHJpYnV0ZShnZXRDVEZvbnQoKSwga0NURm9u
dFVzZXJJbnN0YWxsZWRBdHRyaWJ1dGUpKSk7CisgICAgcmV0dXJuIGlzVXNlckluc3RhbGxlZEZv
bnQgJiYgQ0ZCb29sZWFuR2V0VmFsdWUoaXNVc2VySW5zdGFsbGVkRm9udC5nZXQoKSk7Cit9Cisj
ZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdl
TG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDQyNjBmN2I3NzJiOTM4ZTQyNTBlZDE5NDIyM2Rh
NjllMDQ2NGE4ZTEuLjMwMTY3YWVjNjExNTVjNzgwNjZlMzQ0ZDVlNGI1MTkxOWEwNmRlOTIgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyOCBAQAorMjAxOS0wNy0xNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisK
KyAgICAgICAgTWFrZSBzdXJlIHRvIHNldCBrQ1RGb250RmFsbGJhY2tPcHRpb25BdHRyaWJ1dGUg
dG8ga0NURm9udEZhbGxiYWNrT3B0aW9uU3lzdGVtIGZvciBzeXN0ZW0gZm9udHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTc2OQorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDkzOTAyOTc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTXlsZXMgQy4g
TWF4ZmllbGQuCisKKyAgICAgICAgQWRkIGEgZm9udCBjb250YWluaW5nIG9uZSBleHRlbmRlZCBj
aGFyYWN0ZXIgbm90IGZvdW5kIGluIHN5c3RlbSBmb250cy4KKyAgICAgICAgQWRkIGEgV1RSIG9w
dGlvbiB0byBkaXNhYmxlIHVzZXIgaW5zdGFsbGVkIGZvbnRzLgorCisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OnVwZGF0ZVRlc3RP
cHRpb25zRnJvbVRlc3RIZWFkZXIpOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cnVu
VGVzdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oOgorICAg
ICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6c2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMg
Y29uc3QpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuaDoKKyAgICAg
ICAgKFdUUjo6VGVzdE9wdGlvbnM6Omhhc1NhbWVJbml0aWFsaXphdGlvbk9wdGlvbnMgY29uc3Qp
OgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvV2ViS2l0VGVzdFJ1bm5lci54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvZm9udHMvRmFrZUhl
bHZldGljYS1TaW5nbGVFeHRlbmRlZENoYXJhY3Rlci50dGY6IEFkZGVkLgorICAgICAgICAqIFdl
YktpdFRlc3RSdW5uZXIvaW9zL1Rlc3RDb250cm9sbGVySU9TLm1tOgorICAgICAgICAoV1RSOjpU
ZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1SZXNldFByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVz
KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL21hYy9UZXN0Q29udHJvbGxlck1hYy5tbToK
KyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtUmVzZXRQcmVmZXJlbmNlc1Rv
Q29uc2lzdGVudFZhbHVlcyk6CisKIDIwMTktMDctMTUgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21p
bGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgSlNHbG9iYWxPYmplY3QgdHlwZSBtYWNyb3Mgc2hv
dWxkIHN1cHBvcnQgZmVhdHVyZSBmbGFncyBhbmQgV2Vha1JlZiBzaG91bGQgaGF2ZSBvbmUKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXggYmZhYzE5MjMzNGMz
NjJlMTc3NGE3YmVkZjc3MjdjNjNjMTY2MjgwYi4uN2Q4NTEzODlhNDE1MzNhOTYyZTM4OTgzYzVm
ZTBlODVhMjczMjA1NCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29u
dHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5j
cHAKQEAgLTEzOTYsNiArMTM5Niw5IEBAIHN0YXRpYyB2b2lkIHVwZGF0ZVRlc3RPcHRpb25zRnJv
bVRlc3RIZWFkZXIoVGVzdE9wdGlvbnMmIHRlc3RPcHRpb25zLCBjb25zdCBzdGQ6CiAgICAgICAg
ICAgICB0ZXN0T3B0aW9ucy5jb250ZW50TW9kZSA9IHsgdmFsdWUuY19zdHIoKSB9OwogICAgICAg
ICBlbHNlIGlmIChrZXkgPT0gImVuYWJsZUFwcE5hcCIpCiAgICAgICAgICAgICB0ZXN0T3B0aW9u
cy5lbmFibGVBcHBOYXAgPSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOworICAg
ICAgICBlbHNlIGlmIChrZXkgPT0gImFsbG93VXNlckluc3RhbGxlZEZvbnRzIikKKyAgICAgICAg
ICAgIHRlc3RPcHRpb25zLmFsbG93VXNlckluc3RhbGxlZEZvbnRzID0gcGFyc2VCb29sZWFuVGVz
dEhlYWRlclZhbHVlKHZhbHVlKTsKKwogICAgICAgICBwYWlyU3RhcnQgPSBwYWlyRW5kICsgMTsK
ICAgICB9CiB9CkBAIC0xNjUwLDYgKzE2NTMsNyBAQCBib29sIFRlc3RDb250cm9sbGVyOjpydW5U
ZXN0KGNvbnN0IGNoYXIqIGlucHV0TGluZSkKICAgICAgICAgbV9jdXJyZW50SW52b2NhdGlvbi0+
c2V0Q3VzdG9tVGltZW91dChjb21tYW5kLnRpbWVvdXQpOwogCiAgICAgbV9jdXJyZW50SW52b2Nh
dGlvbi0+c2V0RHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyKGNvbW1hbmQuZHVtcEpTQ29uc29sZUxv
Z0luU3RkRXJyIHx8IG9wdGlvbnMuZHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyKTsKKyAgICBtX3No
b3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzID0gb3B0aW9ucy5hbGxvd1VzZXJJbnN0YWxsZWRG
b250czsKIAogICAgIHBsYXRmb3JtV2lsbFJ1blRlc3QoKm1fY3VycmVudEludm9jYXRpb24pOwog
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmggYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKaW5kZXggYjA0ZTU4MmQ4MmQ2
ZGE0MjE2NjBjOGE3NWNmYmI2NjFkNDY5MzFmYS4uMTQ1NGNjZTczY2E2NzI5YjFjY2NjZTc5ZDg5
ZDE2Y2Q2M2I3ZWVhNCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29u
dHJvbGxlci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaApA
QCAtMzIwLDYgKzMyMCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEFkQ2xpY2tBdHRyaWJ1dGlv
bkNvbnZlcnNpb25VUkxGb3JUZXN0aW5nKFdLVVJMUmVmKTsKICAgICB2b2lkIG1hcmtBZENsaWNr
QXR0cmlidXRpb25zQXNFeHBpcmVkRm9yVGVzdGluZygpOwogCisgICAgYm9vbCBzaG91bGRBbGxv
d1VzZXJJbnN0YWxsZWRGb250cygpIGNvbnN0IHsgcmV0dXJuIG1fc2hvdWxkQWxsb3dVc2VySW5z
dGFsbGVkRm9udHM7IH0KKwogcHJpdmF0ZToKICAgICBXS1JldGFpblB0cjxXS1BhZ2VDb25maWd1
cmF0aW9uUmVmPiBnZW5lcmF0ZVBhZ2VDb25maWd1cmF0aW9uKGNvbnN0IFRlc3RPcHRpb25zJik7
CiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0Q29uZmlndXJhdGlvblJlZj4gZ2VuZXJhdGVDb250
ZXh0Q29uZmlndXJhdGlvbihjb25zdCBUZXN0T3B0aW9uczo6Q29udGV4dE9wdGlvbnMmKSBjb25z
dDsKQEAgLTU5MCw2ICs1OTIsNyBAQCBwcml2YXRlOgogCiAgICAgdWludDY0X3QgbV9zZXJ2ZXJU
cnVzdEV2YWx1YXRpb25DYWxsYmFja0NhbGxzQ291bnQgeyAwIH07CiAgICAgYm9vbCBtX3Nob3Vs
ZERpc21pc3NKYXZhU2NyaXB0QWxlcnRzQXN5bmNocm9ub3VzbHkgeyBmYWxzZSB9OworICAgIGJv
b2wgbV9zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyB7IHRydWUgfTsKIH07CiAKIHN0cnVj
dCBUZXN0Q29tbWFuZCB7CkBAIC01OTksNiArNjAyLDcgQEAgc3RydWN0IFRlc3RDb21tYW5kIHsK
ICAgICBXVEY6OlNlY29uZHMgdGltZW91dDsKICAgICBib29sIHNob3VsZER1bXBQaXhlbHMgeyBm
YWxzZSB9OwogICAgIGJvb2wgZHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIHsgZmFsc2UgfTsKKyAg
ICBib29sIGFsbG93VXNlckluc3RhbGxlZEZvbnRzIHsgdHJ1ZSB9OwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV1RSCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25z
LmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmgKaW5kZXggNDk2OGY1Y2Uz
ZjZmZjA5ZWJlNjc2MTg5YWZlZjAzOTc0YTFkZTc1ZS4uMGFhZDBmZWUwMWU0Mjk3MDY2NjhjYTli
YmFmN2Y5Y2U1NzdkZjNkZiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
T3B0aW9ucy5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuaApAQCAt
OTIsNiArOTIsNyBAQCBzdHJ1Y3QgVGVzdE9wdGlvbnMgewogICAgIGJvb2wgc2hvdWxkSGFuZGxl
UnVuT3BlblBhbmVsIHsgdHJ1ZSB9OwogICAgIGJvb2wgc2hvdWxkUHJlc2VudFBvcG92ZXJzIHsg
dHJ1ZSB9OwogICAgIGJvb2wgZW5hYmxlQXBwTmFwIHsgZmFsc2UgfTsKKyAgICBib29sIGFsbG93
VXNlckluc3RhbGxlZEZvbnRzIHsgdHJ1ZSB9OwogCiAgICAgZG91YmxlIGNvbnRlbnRJbnNldFRv
cCB7IDAgfTsKIApAQCAtMTQ2LDcgKzE0Nyw4IEBAIHN0cnVjdCBUZXN0T3B0aW9ucyB7CiAgICAg
ICAgICAgICB8fCBzaG91bGRQcmVzZW50UG9wb3ZlcnMgIT0gb3B0aW9ucy5zaG91bGRQcmVzZW50
UG9wb3ZlcnMKICAgICAgICAgICAgIHx8IGNvbnRlbnRJbnNldFRvcCAhPSBvcHRpb25zLmNvbnRl
bnRJbnNldFRvcAogICAgICAgICAgICAgfHwgY29udGVudE1vZGUgIT0gb3B0aW9ucy5jb250ZW50
TW9kZQotICAgICAgICAgICAgfHwgZW5hYmxlQXBwTmFwICE9IG9wdGlvbnMuZW5hYmxlQXBwTmFw
KQorICAgICAgICAgICAgfHwgZW5hYmxlQXBwTmFwICE9IG9wdGlvbnMuZW5hYmxlQXBwTmFwCisg
ICAgICAgICAgICB8fCBhbGxvd1VzZXJJbnN0YWxsZWRGb250cyAhPSBvcHRpb25zLmFsbG93VXNl
ckluc3RhbGxlZEZvbnRzKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgIGlm
ICghY29udGV4dE9wdGlvbnMuaGFzU2FtZUluaXRpYWxpemF0aW9uT3B0aW9ucyhvcHRpb25zLmNv
bnRleHRPcHRpb25zKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV2ViS2l0
VGVzdFJ1bm5lci54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9XZWJLaXRUZXN0UnVubmVyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNGI0
N2U4OWE5Y2ViNTNhMjU5OTUyZjE2Y2JhZTExZGIwNTI1ZDFiYi4uMThmYzM1OTIzZmZlY2I4NmYw
NzYzZDhlZDBlNWU2NjBkMDg5NjhkOSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9XZWJLaXRUZXN0UnVubmVyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9XZWJLaXRUZXN0UnVubmVyLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTk2LDYgKzk2LDcgQEAKIAkJMkU3NDlCRjIxODkxRUJGQTAwN0ZDMTc1IC8qIEV2ZW50
U2VuZGVyUHJveHlJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyRTYzRUQ3QTE4OTFBQ0U5MDAyQTdBRkMgLyogRXZlbnRTZW5kZXJQcm94eUlPUy5t
bSAqLzsgfTsKIAkJMzFEQThBM0QxRTcyMDVDQzAwRTFERjJGIC8qIElPU0xheW91dFRlc3RDb21t
dW5pY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMxNDhBMDUzMUU2Rjg1QjYwMEQzQjMxNiAvKiBJT1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlv
bi5jcHAgKi87IH07CiAJCTQxQzUzNzhFMjFGMTM0MTQwMDhCMUZBRCAvKiBUZXN0V2Vic2l0ZURh
dGFTdG9yZURlbGVnYXRlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDFDNTM3OEQyMUYxMzMzQzAwOEIxRkFEIC8qIFRlc3RXZWJzaXRlRGF0YVN0b3Jl
RGVsZWdhdGUubW0gKi87IH07CisJCTQxRDVCNjI2MjJERDlEMzYwMDBGNEM0QSAvKiBGYWtlSGVs
dmV0aWNhLVNpbmdsZUV4dGVuZGVkQ2hhcmFjdGVyLnR0ZiBpbiBSZXNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFENUI2MjUyMkREOUQzNjAwMEY0QzRBIC8qIEZh
a2VIZWx2ZXRpY2EtU2luZ2xlRXh0ZW5kZWRDaGFyYWN0ZXIudHRmICovOyB9OwogCQk0NDMwQUUx
OTFGODJDNEZEMDA5OTkxNUEgLyogR2VuZXJhdGVkVG91Y2hlc0RlYnVnV2luZG93Lm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzMEFFMTcxRjgyQzRF
RTAwOTk5MTVBIC8qIEdlbmVyYXRlZFRvdWNoZXNEZWJ1Z1dpbmRvdy5tbSAqLzsgfTsKIAkJNTEw
NThBRDUxRDY3ODgyMDAwOUE1MzhDIC8qIGxpYldlYkNvcmVUZXN0U3VwcG9ydC5keWxpYiBpbiBG
cmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMjMwRTE2MTM4
Qzc4QkYwMEJDQ0ZDQSAvKiBsaWJXZWJDb3JlVGVzdFN1cHBvcnQuZHlsaWIgKi87IH07CiAJCTUx
MDU4QUQ2MUQ2Nzg4MjUwMDlBNTM4QyAvKiBXZWJLaXQuZnJhbWV3b3JrIGluIEZyYW1ld29ya3Mg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY1MTY5Q0ExNDQ1MjIyRDAwRTBB
OUQ3IC8qIFdlYktpdC5mcmFtZXdvcmsgKi87IH07CkBAIC0zMDAsNiArMzAxLDcgQEAKIAkJNDE4
MTczMUIxMzhBRDM5RDAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJDb3JlVGVzdFN1cHBvcnQuaDsgcGF0aCA9IFdlYkNv
cmVUZXN0U3VwcG9ydC9XZWJDb3JlVGVzdFN1cHBvcnQuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BS
T0RVQ1RTX0RJUjsgfTsKIAkJNDFDNTM3OEMyMUYxMzMzQzAwOEIxRkFEIC8qIFRlc3RXZWJzaXRl
RGF0YVN0b3JlRGVsZWdhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gVGVz
dFdlYnNpdGVEYXRhU3RvcmVEZWxlZ2F0ZS5oOyBwYXRoID0gY29jb2EvVGVzdFdlYnNpdGVEYXRh
U3RvcmVEZWxlZ2F0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUM1Mzc4RDIx
RjEzMzNDMDA4QjFGQUQgLyogVGVzdFdlYnNpdGVEYXRhU3RvcmVEZWxlZ2F0ZS5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFRlc3RXZWJzaXRlRGF0YVN0b3JlRGVs
ZWdhdGUubW07IHBhdGggPSBjb2NvYS9UZXN0V2Vic2l0ZURhdGFTdG9yZURlbGVnYXRlLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MUQ1QjYyNTIyREQ5RDM2MDAwRjRDNEEgLyog
RmFrZUhlbHZldGljYS1TaW5nbGVFeHRlbmRlZENoYXJhY3Rlci50dGYgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBmaWxlOyBuYW1lID0gIkZha2VIZWx2
ZXRpY2EtU2luZ2xlRXh0ZW5kZWRDaGFyYWN0ZXIudHRmIjsgcGF0aCA9ICJmb250cy9GYWtlSGVs
dmV0aWNhLVNpbmdsZUV4dGVuZGVkQ2hhcmFjdGVyLnR0ZiI7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQ0MjlGQzVFMTYyNzA4OTYwMEY2NkQ4QiAvKiBXb3JrUXVldWVNYW5hZ2VyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdvcmtRdWV1ZU1hbmFnZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDI5RkM2MTE2MjcwODk2MDBGNjZE
OEIgLyogV29ya1F1ZXVlTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXb3JrUXVldWVNYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0MzBB
RTE3MUY4MkM0RUUwMDk5OTE1QSAvKiBHZW5lcmF0ZWRUb3VjaGVzRGVidWdXaW5kb3cubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBHZW5lcmF0ZWRUb3VjaGVzRGVidWdXaW5kb3cubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NDksNiArNzUxLDcgQEAKIAkJCQkxQ0JBMDI5MzFG
RDg2RUExMDAxNzlDN0QgLyogRmFrZUhlbHZldGljYS1IZWx2ZXRpY2EtNTAwLnR0ZiAqLywKIAkJ
CQkxQ0JBMDI5MjFGRDg2RUExMDAxNzlDN0QgLyogRmFrZUhlbHZldGljYS1IZWx2ZXRpY2EyLTQw
MC50dGYgKi8sCiAJCQkJMUNCQTAyOTUxRkQ4NkVBMTAwMTc5QzdEIC8qIEZha2VIZWx2ZXRpY2Et
SGVsdmV0aWNhMi01MDAudHRmICovLAorCQkJCTQxRDVCNjI1MjJERDlEMzYwMDBGNEM0QSAvKiBG
YWtlSGVsdmV0aWNhLVNpbmdsZUV4dGVuZGVkQ2hhcmFjdGVyLnR0ZiAqLywKIAkJCQkxQ0EyMTFD
NzFCQ0ExMDczMDBCMjEwMUYgLyogRm9udFdpdGhGZWF0dXJlcy5vdGYgKi8sCiAJCQkJMUNBMjEx
QzgxQkNBMTA3MzAwQjIxMDFGIC8qIEZvbnRXaXRoRmVhdHVyZXMudHRmICovLAogCQkJCUJDMjUx
ODYzMTFEMTVENTQwMDJFQkMwMSAvKiBJbmplY3RlZEJ1bmRsZS1JbmZvLnBsaXN0ICovLApAQCAt
MTAyOCw2ICsxMDMxLDcgQEAKIAkJCQkxQ0JBMDI5ODFGRDg3REYwMDAxNzlDN0QgLyogRmFrZUhl
bHZldGljYS1IZWx2ZXRpY2EtNTAwLnR0ZiBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJMUNCQTAyOTcx
RkQ4N0RFRTAwMTc5QzdEIC8qIEZha2VIZWx2ZXRpY2EtSGVsdmV0aWNhMi00MDAudHRmIGluIFJl
c291cmNlcyAqLywKIAkJCQkxQ0JBMDI5NjFGRDg3REVDMDAxNzlDN0QgLyogRmFrZUhlbHZldGlj
YS1IZWx2ZXRpY2EyLTUwMC50dGYgaW4gUmVzb3VyY2VzICovLAorCQkJCTQxRDVCNjI2MjJERDlE
MzYwMDBGNEM0QSAvKiBGYWtlSGVsdmV0aWNhLVNpbmdsZUV4dGVuZGVkQ2hhcmFjdGVyLnR0ZiBp
biBSZXNvdXJjZXMgKi8sCiAJCQkJMUNBMjExQzkxQkNBMTA3MzAwQjIxMDFGIC8qIEZvbnRXaXRo
RmVhdHVyZXMub3RmIGluIFJlc291cmNlcyAqLywKIAkJCQkxQ0EyMTFDQTFCQ0ExMDczMDBCMjEw
MUYgLyogRm9udFdpdGhGZWF0dXJlcy50dGYgaW4gUmVzb3VyY2VzICovLAogCQkJCTY1MTBBNzg0
MTFFQzY0MzgwMDQxMDg2NyAvKiBXZWJLaXRXZWlnaHRXYXRjaGVyMTAwLnR0ZiBpbiBSZXNvdXJj
ZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2ZvbnRzL0Zha2VIZWx2
ZXRpY2EtU2luZ2xlRXh0ZW5kZWRDaGFyYWN0ZXIudHRmIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9mb250cy9GYWtlSGVsdmV0aWNhLVNpbmdsZUV4dGVuZGVkQ2hhcmFjdGVyLnR0ZgpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40MGYwZDBlYTYzNWQyMGExM2NkMmNkZTdlNjdlZmVlZDI5OTg3M2NmCkdJVCBiaW5hcnkg
cGF0Y2gKbGl0ZXJhbCAxNjE2CnpjbWRzMSZyNEtNNiNuajtIX3VFezZDRVcmdTQkQkApMDx+MWli
MFN+QXhXaTsoOGlvKm8tQFdjWnkyQVVpPk9ALQp6SH5rTSR5Q1BrK3VTSlY/RWg/eU93OCYqZDVL
UH4+XkVBUHJlZk0kUnttIX1Qb2NyQiNlP1MzZiEyYHN3bWA+bEEKeip9UWs+R3ZKKTFfNHVXIWkp
blBDZ0w9MjxTTGU9bik2ZXArMDlCO0VtfE13SyhCcGxneygtV1R5QmxpUXhETGU1CnpiS0VYdVMx
WXZ8R3M5YDRleUM4fFNlblB8Vn4kXj05djF5PHpUS09DTGl+Kn5UQkhHUW58N0cxcEwmMEJDMHlA
Jgp6aUlkZGRQO1Y7KnhoIXNqdjlUJVloZ1kpZTY8byRSJDFoWFk8P008LXZ3N3RSJDZvX2hxN3Rs
enh6eEVBSyU1K3IKemZ+PUwmS2U5UD90OTl9X256KE1aazh7cFkpSVRNRTswYGtVQUElKVRIaTs4
VWJKSkgqSVdDc3sle0NUJEZHZURqCnp2N0paS0lORDhMKWcjMS09V3Z0JXFmdmhqNHRtS0pAa1ps
a2UhQ05rYSY3NWk5dUkxNFNnTChOdnRkJV92PlR3SQp6JFZgfCs3KmQkZyUqRVBja1JvR0s1JGk/
bmkwfmd8ZjdzWTwkb15YT14+UTlpI0d7JFFlSyZ1em9+flhmM0pYbHQKemA5bmVwO3IqbH5MXkF5
VSY3NjBmSHMxdTdZbmZYMmJDK1VoS3lwanIlO2F7MWpVOHt4aUdQfmhqIy00KmlpdFRjCno9SXNW
WXtoSGluMzN0NVZrPlNvJCF5fHBSS0hsQSgkPUVZZSNhQDFMQXslJWAmVz9KQzQoQ0t+cU5sVTck
NCNgaAp6Q1IkQzJUa3czWi1wNFErVlRESGM1dztrQUtmKkVJc2RveyEoV3M2QElGMj9vOSR8O30x
dngzVW9KKUJSPlI2JGoKekhAdUU1ejhwYj5XMD1PbjI7MjFlOFIwbXo+V1oqfmJ+VEwpakh6RylS
VjxAYEIwXnxaRk5YcDQ5JGVuamFoXj8wCnpqe3N9clUqP0FrTDFtLTVUcXVWNmJaJFU8WmZibGBa
djw8OG5QVjlgZ2lJRXFNRTUpc0FYNSZQITsrc1RvVGFWNgp6TD92VzdDMShBP1N9OUFBV19wUX16
RGZfQE9ySW5IalMwJVp0YVc+ZTxzSEhwV3RTfHtLey1xWilxPTBScV5sP04Kei10NUd3KFY/Kis7
cmxQMV5KR3hQRCVUO3JHPGlyVmdwWWgwbkQ/dXolUnlQWVpZdEB6RS1lUXM/cUIlY2pqYTlQCng4
fXFtT0Q2ZktvcjdVTUhsXlhMe0VOUDBqLS09Rnd5YTY1Tk1BdSltLTdIRVJLZkdUc1pgU196XkVX
MU96JlpjYAoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRyb2xsZXJJT1MubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQppbmRleCA3MzcwNjMxM2FlODZjMzk3NWM0MjNk
OTY2N2I3ZTdmMzhlMmRlZTE4Li5hZDg1MDUwOTRiNjllN2U3Y2JjYzQ5ZWMyMWYxZGEzYjI0MTEw
YjU2IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxl
cklPUy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklP
Uy5tbQpAQCAtMTM1LDYgKzEzNSw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtUmVz
ZXRQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcygpCiAgICAgV0tQcmVmZXJlbmNlc1NldFRl
eHRBdXRvc2l6aW5nRW5hYmxlZChwcmVmZXJlbmNlcywgZmFsc2UpOwogICAgIFdLUHJlZmVyZW5j
ZXNTZXRDb250ZW50Q2hhbmdlT2JzZXJ2ZXJFbmFibGVkKHByZWZlcmVuY2VzLCBmYWxzZSk7CiAg
ICAgWyhfX2JyaWRnZSBXS1ByZWZlcmVuY2VzICopcHJlZmVyZW5jZXMgX3NldFNob3VsZElnbm9y
ZU1ldGFWaWV3cG9ydDpOT107CisgICAgWyhfX2JyaWRnZSBXS1ByZWZlcmVuY2VzICopcHJlZmVy
ZW5jZXMgX3NldFNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzOiBzaG91bGRBbGxvd1VzZXJJ
bnN0YWxsZWRGb250cygpID8gWUVTIDogTk9dOwogfQogCiB2b2lkIFRlc3RDb250cm9sbGVyOjpw
bGF0Zm9ybVJlc2V0U3RhdGVUb0NvbnNpc3RlbnRWYWx1ZXMoY29uc3QgVGVzdE9wdGlvbnMmIG9w
dGlvbnMpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9UZXN0Q29udHJv
bGxlck1hYy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1Rlc3RDb250cm9sbGVyTWFj
Lm1tCmluZGV4IGE0MmM2MDNkMzcxZjliYzU5MWQ5M2NmYWYwOWVlMDc5MGFkZmNmZWIuLmE1MTNi
MDA0MWFjYmUwZTQxYzdjYjUyZDJlNGI1MjMwN2FlMzFjMWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvbWFjL1Rlc3RDb250cm9sbGVyTWFjLm1tCisrKyBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvbWFjL1Rlc3RDb250cm9sbGVyTWFjLm1tCkBAIC0zMyw2ICszMyw3IEBACiAj
aW1wb3J0ICJXZWJLaXRUZXN0UnVubmVyUGFzdGVib2FyZC5oIgogI2ltcG9ydCA8V2ViS2l0L1dL
Q29udGV4dFByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS1BhZ2VHcm91cC5oPgorI2ltcG9y
dCA8V2ViS2l0L1dLUHJlZmVyZW5jZXNQcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tQcm9j
ZXNzUG9vbFByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS1N0cmluZ0NGLmg+CiAjaW1wb3J0
IDxXZWJLaXQvV0tVUkxDRi5oPgpAQCAtMTAwLDYgKzEwMSw4IEBAIHZvaWQgVGVzdENvbnRyb2xs
ZXI6OmluaXRpYWxpemVUZXN0UGx1Z2luRGlyZWN0b3J5KCkKIAogdm9pZCBUZXN0Q29udHJvbGxl
cjo6cGxhdGZvcm1SZXNldFByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKCkKIHsKKyAgICBX
S1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzID0gcGxhdGZvcm1QcmVmZXJlbmNlcygpOworICAg
IFsoX19icmlkZ2UgV0tQcmVmZXJlbmNlcyAqKXByZWZlcmVuY2VzIF9zZXRTaG91bGRBbGxvd1Vz
ZXJJbnN0YWxsZWRGb250czogc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSA/IFlFUyA6
IE5PXTsKIH0KIAogdm9pZCBUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1SZXNldFN0YXRlVG9Db25z
aXN0ZW50VmFsdWVzKGNvbnN0IFRlc3RPcHRpb25zJiBvcHRpb25zKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDk4MmVmOTU4
M2VkNTk5Y2U4YTYzNTIzYjVjZGVmNDRhYzhkNWIxY2UuLmYwMzFhY2JmMDA2NjAzYzJiYjIyMWJk
MDA5NTYxNmQ2ZWY0NWU3YjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxOS0wNy0xNiAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzdXJlIHRvIHNl
dCBrQ1RGb250RmFsbGJhY2tPcHRpb25BdHRyaWJ1dGUgdG8ga0NURm9udEZhbGxiYWNrT3B0aW9u
U3lzdGVtIGZvciBzeXN0ZW0gZm9udHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE5OTc2OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDkzOTAyOTc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTXlsZXMgQy4gTWF4ZmllbGQuCisKKyAgICAgICAgVGVz
dHMgcmVxdWlyZSBXVFIgYW5kIHJlY2VudCBNYWNPUywgaGVuY2Ugd2h5IHRoZXkgYXJlIGRpc2Fi
bGVkIGVsc2V3aGVyZS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICog
cGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIGZhc3QvdGV4dC91
c2VyLWluc3RhbGxlZC1mb250cy9leHRlbmRlZC1jaGFyYWN0ZXItZXhwZWN0ZWQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVkLWNo
YXJhY3Rlci13aXRoLXVzZXItZm9udC1leHBlY3RlZC1taXNtYXRjaC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvZXh0ZW5kZWQtY2hhcmFjdGVy
LXdpdGgtdXNlci1mb250Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC91c2VyLWlu
c3RhbGxlZC1mb250cy9leHRlbmRlZC1jaGFyYWN0ZXIuaHRtbDogQWRkZWQuCisKIDIwMTktMDct
MTUgIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgW21hY09T
IFdLMl0gTGF5b3V0IFRlc3QgaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdy
YW50LWFjY2Vzcy10aGVuLW5hdmlnYXRlLWNyb3NzLXNpdGUtc2hvdWxkLW5vdC1oYXZlLWFjY2Vz
cy5odG1sIGlzIGEgZmxha3kgdGltZW91dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYTQzNDYyYmUx
MmI3NTNhMjIxMGJmODIzMjYxY2M3MzRlZDU0N2FhZi4uZDY0MWMxODY1NDM2NDJmNGQzZTNhOTRm
YjIzZDEwNDlkMTAzMGQyYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNjY5LDYgKzE2NjksMTAg
QEAgd2Via2l0Lm9yZy9iLzE0ODg4NCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL2Zvcm1zL3RleHRmaWUKIHdlYmtpdC5vcmcvYi8xOTA2MjYgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90aGUtZGF0YWxpc3Qt
ZWxlbWVudC9kYXRhbGlzdG9wdGlvbnMuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE5
MDYxMyBpbXBvcnRlZC9ibGluay9mYXN0L2Zvcm1zL2RhdGFsaXN0L3NsaWRlci1hcHBlYXJhbmNl
LXdpdGgtdGlja3MtY3Jhc2guaHRtbCBbIFNraXAgXQogCisjIFRlc3RzIHJlcXVpcmUgV1RSIGFu
ZCBkaXNhYmxpbmcgb2YgdXNlciBpbnN0YWxsZWQgZm9udHMuIFJlZW5hYmxpbmcgdGhlbSBpbiBz
dXBwb3J0ZWQgcGxhdGZvcm1zCitmYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvZXh0ZW5k
ZWQtY2hhcmFjdGVyLmh0bWwgWyBTa2lwIF0KK2Zhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250
cy9leHRlbmRlZC1jaGFyYWN0ZXItd2l0aC11c2VyLWZvbnQuaHRtbCBbIFNraXAgXQorCiAjIERv
ZXMgdGltZW91dAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby9pZGxo
YXJuZXNzLmh0dHBzLmh0bWwgWyBTa2lwIF0KICMgRG8gYXNzZXJ0IGluIE9mZmxpbmVBdWRpb0Nv
bnRleHQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1m
b250cy9leHRlbmRlZC1jaGFyYWN0ZXItZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9leHRlbmRlZC1jaGFyYWN0ZXItZXhwZWN0ZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zZDVmNmZiMzA2Yzc2ZGE2ZTljYmFkYWNhYjQ2OTM2YzUxOTgwYmUyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZv
bnRzL2V4dGVuZGVkLWNoYXJhY3Rlci1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzwh
ZG9jdHlwZSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGNoYXJzZXQ9
IlVURi04Ij4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDwhLS0gdW5rbm93biBj
aGFyYWN0ZXIgLS0+CisgICAgICAgIDx0ZD4mI3gwMTE3NDA7PC90ZD4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdXNlci1pbnN0YWxsZWQt
Zm9udHMvZXh0ZW5kZWQtY2hhcmFjdGVyLXdpdGgtdXNlci1mb250LWV4cGVjdGVkLW1pc21hdGNo
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvZXh0ZW5k
ZWQtY2hhcmFjdGVyLXdpdGgtdXNlci1mb250LWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uM2Q1ZjZmYjMwNmM3NmRhNmU5Y2JhZGFjYWI0NjkzNmM1MTk4MGJlMgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9leHRl
bmRlZC1jaGFyYWN0ZXItd2l0aC11c2VyLWZvbnQtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApAQCAt
MCwwICsxLDEwIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAg
ICA8IS0tIHVua25vd24gY2hhcmFjdGVyIC0tPgorICAgICAgICA8dGQ+JiN4MDExNzQwOzwvdGQ+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVkLWNoYXJhY3Rlci13aXRoLXVzZXItZm9udC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVk
LWNoYXJhY3Rlci13aXRoLXVzZXItZm9udC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFkYWJmMmFjY2ZlMTg3
MDVjYTM0MGEyYmI5N2ZmOTA3MDg4ODIwNmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvZXh0ZW5kZWQtY2hhcmFjdGVyLXdpdGgt
dXNlci1mb250Lmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDwvaGVhZD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICB0ZXN0UnVubmVyLmluc3RhbGxGYWtlSGVsdmV0aWNhKCJTaW5nbGVFeHRlbmRlZENoYXJhY3Rl
ciIpOworICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPCEtLSBDaGFyYWN0ZXIga25vd24gYnkg
dXNlciBpbnN0YWxsZWQgZm9udCBvbmx5IC0tPgorICAgICAgICA8dGQ+JiN4MDExNzIxOzwvdGQ+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVkLWNoYXJhY3Rlci5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVkLWNoYXJhY3Rlci5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjhlZDIxOGMyMzQ2NzI0MjhlMjc2MzliZjNiYzU5N2VhMzdlYzNhMjUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9u
dHMvZXh0ZW5kZWQtY2hhcmFjdGVyLmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFkb2N0eXBlIGh0
bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBhbGxvd1VzZXJJbnN0YWxsZWRGb250cz1mYWxz
ZSBdIC0tPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04
Ij4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxzY3JpcHQ+CitpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5pbnN0YWxsRmFrZUhlbHZldGljYSgiU2luZ2xl
RXh0ZW5kZWRDaGFyYWN0ZXIiKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDwhLS0gQ2hh
cmFjdGVyIGtub3duIGJ5IHVzZXIgaW5zdGFsbGVkIGZvbnQgb25seSAtLT4KKyAgICAgICAgPHRk
PiYjeDAxMTcyMTs8L3RkPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAxNTI1MDk3OGQzN2VmY2EyNmVh
MjgxN2U5Njg4MmJlZTU2MmM4MmQ0Li5kMGZhMGQzMTM3M2I0ODI5NmE0NTkzMWI3MzM1ZjE1Yjcx
MGVmMzdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRp
b25zCkBAIC03NzMsNiArNzczLDEwIEBAIHdlYmtpdC5vcmcvYi8xODU5NjIgbWVkaWEvdmlkZW8t
cGxheS1hdWRpby1yZXF1aXJlLXVzZXItZ2VzdHVyZS5odG1sIFsgUGFzcyBGYWlsCiB3ZWJraXQu
b3JnL2IvMTg1OTk0IGZhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9zaGFkb3ctZmFtaWx5
Lmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE4NTk5NCBmYXN0
L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvc2hhZG93LXBvc3RzY3JpcHQtZmFtaWx5Lmh0bWwg
WyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQogCisjIFJlZW5hYmxlZCB0ZXN0cyBmb3Igc3VwcG9y
dGVkIHBsYXRmb3JtcworZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVkLWNo
YXJhY3Rlci5odG1sIFsgUGFzcyBdCitmYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvZXh0
ZW5kZWQtY2hhcmFjdGVyLXdpdGgtdXNlci1mb250Lmh0bWwgWyBQYXNzIF0KKwogIyA8cmRhcjov
L3Byb2JsZW0vMjUwMTAzMDc+CiBbIEhpZ2hTaWVycmErIF0gaHR0cC90ZXN0cy9zc2wvYXBwbGVw
YXkvQXBwbGVQYXlFcnJvci5odG1sIFsgUGFzcyBdCiBbIEhpZ2hTaWVycmErIF0gaHR0cC90ZXN0
cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjMuaHRtbCBbIFBhc3MgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374218</attachid>
            <date>2019-07-16 10:54:11 -0700</date>
            <delta_ts>2019-07-16 15:51:08 -0700</delta_ts>
            <desc>With tests</desc>
            <filename>bug-199769-20190716105407.patch</filename>
            <type>text/plain</type>
            <size>28970</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3NDc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY3NmJlOWVhYzgxZWJiNTZjMGUwODFm
NzIyYWRiODJiYmI4NjVmMmMuLjMzNmFkMDI2YzdmMzRlNjU3M2NhMWE3OWRkNjhhZTg5NGRkYjk2
YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDctMTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc3VyZSB0byBzZXQga0NURm9udEZhbGxiYWNr
T3B0aW9uQXR0cmlidXRlIHRvIGtDVEZvbnRGYWxsYmFja09wdGlvblN5c3RlbSBmb3Igc3lzdGVt
IGZvbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTk3NjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5MzkwMjk3PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE15bGVzIEMuIE1heGZpZWxkLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisK
IDIwMTktMDctMTYgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgog
CiAgICAgICAgIFtXUEVdW0dUS10gSW1wcm92ZW1lbnRzIGFuZCBmaXhlcyBpbiBGaWxlU3lzdGVt
R2xpYi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2MWRjNWZkNjZlMzc2NGYwMWUxZjI4YjkwYzc2ZTEwNDE3
NWE5ZTM5Li42NmRhNjg5NzRmYzE0ZmI3ODk5OTA4OGExNzIzODFlZDZhMTY4MDBkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTktMDctMTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5A
YXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc3VyZSB0byBzZXQga0NURm9udEZhbGxiYWNrT3B0
aW9uQXR0cmlidXRlIHRvIGtDVEZvbnRGYWxsYmFja09wdGlvblN5c3RlbSBmb3Igc3lzdGVtIGZv
bnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTk3
NjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5MzkwMjk3PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE15bGVzIEMuIE1heGZpZWxkLgorCisgICAgICAgIFdoZW4gZ2V0dGluZyBhIHN5c3RlbSBm
b250LCBzZXQgdGhlIGFwcHJvcHJpYXRlIGF0dHJpYnV0ZSBzbyB0aGF0IGl0CisgICAgICAgIGRv
ZXMgbm90IGZhbGxiYWNrIHRvIGEgdXNlciBpbml0aWF0ZWQgZm9udC4KKyAgICAgICAgQWRkIGFu
IEFTU0VSVCB0aGF0IGNoZWNrcyB0aGF0IHRoZSBmb250IGluIHVzZSBpcyBub3QgYSB1c2VyIGZv
bnQgaWYKKyAgICAgICAgcG9saWN5IGlzIHRvIG5vdCB1c2UgdXNlciBpbnN0YWxsZWQgZm9udHMu
CisKKyAgICAgICAgVGVzdHM6IGZhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9leHRlbmRl
ZC1jaGFyYWN0ZXItd2l0aC11c2VyLWZvbnQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC90ZXh0
L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVkLWNoYXJhY3Rlci5odG1sCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udENhc2NhZGVGb250cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZUZvbnRz
OjpnbHlwaERhdGFGb3JTeXN0ZW1GYWxsYmFjayk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cHJlcGFy
ZVBsYXRmb3JtRm9udCk6CisgICAgICAgIChXZWJDb3JlOjpGb250RGF0YWJhc2U6OnNpbmdsZXRv
bkFsbG93aW5nVXNlckluc3RhbGxlZEZvbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnREYXRh
YmFzZTo6c2luZ2xldG9uRGlzYWxsb3dpbmdVc2VySW5zdGFsbGVkRm9udHMpOgorICAgICAgICAo
V2ViQ29yZTo6YWRkQXR0cmlidXRlc0Zvckluc3RhbGxlZEZvbnRzKToKKyAgICAgICAgKFdlYkNv
cmU6OmFkZEF0dHJpYnV0ZXNGb3JXZWJGb250cyk6CisgICAgICAgIChXZWJDb3JlOjppbnN0YWxs
ZWRGb250TWFuZGF0b3J5QXR0cmlidXRlcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL1NpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6
aXNVc2VySW5zdGFsbGVkRm9udCBjb25zdCk6CisKIDIwMTktMDctMTUgIFJ5YW4gSGFkZGFkICA8
cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjI0NzQ0NC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybS5oCmluZGV4IDZiODIwNTNlYTIwNDhmNDQ1ZWRlZTQ2MmVjNDZiMDg3
YTQ3MmY5NjUuLmMwYTMyMjAxZmFlM2EwZjA3ZmQ5MDM0MGJlM2U2YzBiZGY2ODkxMTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxh
dGZvcm0uaApAQCAtMTUzNiw2ICsxNTM2LDEwIEBACiAjZGVmaW5lIEVOQUJMRV9NT05PU1BBQ0Vf
Rk9OVF9FWENFUFRJT04gKF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTMwMDAw
KQogI2VuZGlmCiAKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMTQwMCkgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNkZWZpbmUgSEFW
RV9DQU5fRElTQUxMT1dfVVNFUl9JTlNUQUxMRURfRk9OVFMgMQorI2VuZGlmCisKICNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MzAwMDAKICNkZWZpbmUgSEFWRV9BUktJVF9RVUlDS19MT09LX1BSRVZJRVdfSVRFTSAxCiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAppbmRleCAzY2E5Nzg4NjJk
OWUzOWRhMTNhNjI2ZDc2ZTUzNjU1ZjJkNTYxMjE5Li5mZmEwODEyODc0NmYxMzA5OWE2Y2EzOWMy
M2VjNjQ5NTJhYWY5MjU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5o
CkBAIC0yMDQsNiArMjA0LDEwIEBAIHB1YmxpYzoKICAgICBjb25zdCBCaXRWZWN0b3ImIGdseXBo
c1N1cHBvcnRlZEJ5QWxsUGV0aXRlQ2FwcygpIGNvbnN0OwogI2VuZGlmCiAKKyNpZiBIQVZFKENB
Tl9ESVNBTExPV19VU0VSX0lOU1RBTExFRF9GT05UUykKKyAgICBib29sIGlzVXNlckluc3RhbGxl
ZEZvbnQoKSBjb25zdDsKKyNlbmRpZgorCiAgICAgYm9vbCBjYW5SZW5kZXJDb21iaW5pbmdDaGFy
YWN0ZXJTZXF1ZW5jZShjb25zdCBVQ2hhciosIHNpemVfdCkgY29uc3Q7CiAgICAgYm9vbCBhcHBs
eVRyYW5zZm9ybXMoR2x5cGhCdWZmZXJHbHlwaCosIEdseXBoQnVmZmVyQWR2YW5jZSosIHNpemVf
dCBnbHlwaENvdW50LCBib29sIGVuYWJsZUtlcm5pbmcsIGJvb2wgcmVxdWlyZXNTaGFwaW5nKSBj
b25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dENhc2NhZGVGb250cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
Q2FzY2FkZUZvbnRzLmNwcAppbmRleCA2OTQ0NjljMGViNjJhZDljODRlOWJiZDA4ZmExMzQyNjQw
OTA2OWE5Li42ODNmNDc1NGJjMTc3Y2Y5YWY5NmYxYjFiM2Q1MTJkY2U1OTdhMTRkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZUZvbnRzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZUZvbnRz
LmNwcApAQCAtMzQ5LDYgKzM0OSwxMCBAQCBHbHlwaERhdGEgRm9udENhc2NhZGVGb250czo6Z2x5
cGhEYXRhRm9yU3lzdGVtRmFsbGJhY2soVUNoYXIzMiBjaGFyYWN0ZXIsIGNvbnN0CiAgICAgaWYg
KCFzeXN0ZW1GYWxsYmFja0ZvbnQpCiAgICAgICAgIHJldHVybiBHbHlwaERhdGEoKTsKIAorI2lm
IEhBVkUoQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQorICAgIEFTU0VSVCghc3lz
dGVtRmFsbGJhY2tGb250LT5pc1VzZXJJbnN0YWxsZWRGb250KCkgfHwgZGVzY3JpcHRpb24uc2hv
dWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSA9PSBBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6
WWVzKTsKKyNlbmRpZgorCiAgICAgaWYgKHN5c3RlbUZhbGxiYWNrU2hvdWxkQmVJbnZpc2libGUp
CiAgICAgICAgIHN5c3RlbUZhbGxiYWNrRm9udCA9IGNvbnN0X2Nhc3Q8Rm9udCo+KCZzeXN0ZW1G
YWxsYmFja0ZvbnQtPmludmlzaWJsZUZvbnQoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcApp
bmRleCAwNjI5MjljNTI4MmM4MTQ2ODZhNDkyOTE3Nzc0NWQwMWIzODFkMDc0Li5jZmEyYmU1ZGY2
OTYxZTFjZWY5MzhhOWM2ZDc2M2JlMTYyMmNlZTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3Bw
CkBAIC0zOSw3ICszOSw2IEBACiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAKICNk
ZWZpbmUgSEFTX0NPUkVfVEVYVF9XSURUSF9BVFRSSUJVVEUgKChQTEFURk9STShNQUMpICYmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwKSB8fCAoUExBVEZPUk0oSU9T
X0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwKSkK
LSNkZWZpbmUgQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTICgoUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkgfHwgKFBMQVRG
T1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEy
MDAwMCkpCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTcxLDcgKzU3MCw3IEBAIFJldGFp
blB0cjxDVEZvbnRSZWY+IHByZXBhcmVQbGF0Zm9ybUZvbnQoQ1RGb250UmVmIG9yaWdpbmFsRm9u
dCwgY29uc3QgRm9udERlc2NyCiAgICAgYm9vbCBmb250RmFjZURvZXNudFNwZWNpZnlGZWF0dXJl
cyA9ICFmb250RmFjZUZlYXR1cmVzIHx8IGZvbnRGYWNlRmVhdHVyZXMtPmlzRW1wdHkoKTsKICAg
ICBib29sIGZvbnRGYWNlRG9lc250U3BlY2lmeVZhcmlhdGlvbnMgPSAhZm9udEZhY2VWYXJpYW50
U2V0dGluZ3MgfHwgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MtPmlzQWxsTm9ybWFsKCk7CiAgICAg
aWYgKG5vRm9udEZlYXR1cmVTZXR0aW5ncyAmJiBub0ZvbnRWYXJpYXRpb25TZXR0aW5ncyAmJiB0
ZXh0UmVuZGVyaW5nTW9kZUlzQXV0byAmJiB2YXJpYW50U2V0dGluZ3NJc05vcm1hbCAmJiBkb250
TmVlZFRvQXBwbHlPcHRpY2FsU2l6aW5nICYmIGZvbnRGYWNlRG9lc250U3BlY2lmeUZlYXR1cmVz
ICYmIGZvbnRGYWNlRG9lc250U3BlY2lmeVZhcmlhdGlvbnMpCi0gICAgICAgIHJldHVybiBvcmln
aW5hbEZvbnQ7CisgICAgICAgIHJldHVybiBjcmVhdGVGb250Rm9ySW5zdGFsbGVkRm9udHMob3Jp
Z2luYWxGb250LCBmb250RGVzY3JpcHRpb24uc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMo
KSk7CiAKICAgICAvLyBUaGlzIGFsZ29yaXRobSBpcyBkZXNjcmliZWQgYXQgaHR0cDovL3d3dy53
My5vcmcvVFIvY3NzMy1mb250cy8jZmVhdHVyZS1wcmVjZWRlbmNlCiAgICAgRmVhdHVyZXNNYXAg
ZmVhdHVyZXNUb0JlQXBwbGllZDsKQEAgLTY4Niw5ICs2ODUsMTAgQEAgUmV0YWluUHRyPENURm9u
dFJlZj4gcHJlcGFyZVBsYXRmb3JtRm9udChDVEZvbnRSZWYgb3JpZ2luYWxGb250LCBjb25zdCBG
b250RGVzY3IKICNlbmRpZgogICAgIH0KIAorICAgIGFkZEF0dHJpYnV0ZXNGb3JJbnN0YWxsZWRG
b250cyhhdHRyaWJ1dGVzLmdldCgpLCBmb250RGVzY3JpcHRpb24uc2hvdWxkQWxsb3dVc2VySW5z
dGFsbGVkRm9udHMoKSk7CisKICAgICBhdXRvIGRlc2NyaXB0b3IgPSBhZG9wdENGKENURm9udERl
c2NyaXB0b3JDcmVhdGVXaXRoQXR0cmlidXRlcyhhdHRyaWJ1dGVzLmdldCgpKSk7Ci0gICAgYXV0
byByZXN1bHQgPSBhZG9wdENGKENURm9udENyZWF0ZUNvcHlXaXRoQXR0cmlidXRlcyhvcmlnaW5h
bEZvbnQsIENURm9udEdldFNpemUob3JpZ2luYWxGb250KSwgbnVsbHB0ciwgZGVzY3JpcHRvci5n
ZXQoKSkpOwotICAgIHJldHVybiByZXN1bHQ7CisgICAgcmV0dXJuIGFkb3B0Q0YoQ1RGb250Q3Jl
YXRlQ29weVdpdGhBdHRyaWJ1dGVzKG9yaWdpbmFsRm9udCwgQ1RGb250R2V0U2l6ZShvcmlnaW5h
bEZvbnQpLCBudWxscHRyLCBkZXNjcmlwdG9yLmdldCgpKSk7CiB9CiAKIFJlZlB0cjxGb250PiBG
b250Q2FjaGU6OnNpbWlsYXJGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24s
IGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSkKQEAgLTgzOSw3ICs4MzksNyBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgaXNTeXN0ZW1Gb250KGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSkKIAogY2xhc3Mg
Rm9udERhdGFiYXNlIHsKIHB1YmxpYzoKLSNpZiAhQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVE
X0ZPTlRTCisjaWYgIUhBVkUoQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQogICAg
IHN0YXRpYyBGb250RGF0YWJhc2UmIHNpbmdsZXRvbigpCiAgICAgewogICAgICAgICBzdGF0aWMg
TmV2ZXJEZXN0cm95ZWQ8Rm9udERhdGFiYXNlPiBkYXRhYmFzZShBbGxvd1VzZXJJbnN0YWxsZWRG
b250czo6WWVzKTsKQEAgLTg0OSw3ICs4NDksNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgRm9u
dERhdGFiYXNlJiBzaW5nbGV0b25BbGxvd2luZ1VzZXJJbnN0YWxsZWRGb250cygpCiAgICAgewot
I2lmIENBTl9ESVNBTExPV19VU0VSX0lOU1RBTExFRF9GT05UUworI2lmIEhBVkUoQ0FOX0RJU0FM
TE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQogICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
Rm9udERhdGFiYXNlPiBkYXRhYmFzZShBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6WWVzKTsKICAg
ICAgICAgcmV0dXJuIGRhdGFiYXNlOwogI2Vsc2UKQEAgLTg1OSw3ICs4NTksNyBAQCBwdWJsaWM6
CiAKICAgICBzdGF0aWMgRm9udERhdGFiYXNlJiBzaW5nbGV0b25EaXNhbGxvd2luZ1VzZXJJbnN0
YWxsZWRGb250cygpCiAgICAgewotI2lmIENBTl9ESVNBTExPV19VU0VSX0lOU1RBTExFRF9GT05U
UworI2lmIEhBVkUoQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQogICAgICAgICBz
dGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Rm9udERhdGFiYXNlPiBkYXRhYmFzZShBbGxvd1VzZXJJbnN0
YWxsZWRGb250czo6Tm8pOwogICAgICAgICByZXR1cm4gZGF0YWJhc2U7CiAjZWxzZQpAQCAtMTUw
Nyw3ICsxNTA3LDcgQEAgY29uc3QgQXRvbVN0cmluZyYgRm9udENhY2hlOjpwbGF0Zm9ybUFsdGVy
bmF0ZUZhbWlseU5hbWUoY29uc3QgQXRvbVN0cmluZyYgZmFtaWwKIAogdm9pZCBhZGRBdHRyaWJ1
dGVzRm9ySW5zdGFsbGVkRm9udHMoQ0ZNdXRhYmxlRGljdGlvbmFyeVJlZiBhdHRyaWJ1dGVzLCBB
bGxvd1VzZXJJbnN0YWxsZWRGb250cyBhbGxvd1VzZXJJbnN0YWxsZWRGb250cykKIHsKLSNpZiBD
QU5fRElTQUxMT1dfVVNFUl9JTlNUQUxMRURfRk9OVFMKKyNpZiBIQVZFKENBTl9ESVNBTExPV19V
U0VSX0lOU1RBTExFRF9GT05UUykKICAgICBpZiAoYWxsb3dVc2VySW5zdGFsbGVkRm9udHMgPT0g
QWxsb3dVc2VySW5zdGFsbGVkRm9udHM6Ok5vKSB7CiAgICAgICAgIENGRGljdGlvbmFyeUFkZFZh
bHVlKGF0dHJpYnV0ZXMsIGtDVEZvbnRVc2VySW5zdGFsbGVkQXR0cmlidXRlLCBrQ0ZCb29sZWFu
RmFsc2UpOwogICAgICAgICBDVEZvbnRGYWxsYmFja09wdGlvbiBmYWxsYmFja09wdGlvbiA9IGtD
VEZvbnRGYWxsYmFja09wdGlvblN5c3RlbTsKQEAgLTE1NDQsNyArMTU0NCw3IEBAIFJldGFpblB0
cjxDVEZvbnRSZWY+IGNyZWF0ZUZvbnRGb3JJbnN0YWxsZWRGb250cyhDVEZvbnRSZWYgZm9udCwg
QWxsb3dVc2VySW5zdGFsCiAKIHZvaWQgYWRkQXR0cmlidXRlc0ZvcldlYkZvbnRzKENGTXV0YWJs
ZURpY3Rpb25hcnlSZWYgYXR0cmlidXRlcywgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMgYWxsb3dV
c2VySW5zdGFsbGVkRm9udHMpCiB7Ci0jaWYgQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZP
TlRTCisjaWYgSEFWRShDQU5fRElTQUxMT1dfVVNFUl9JTlNUQUxMRURfRk9OVFMpCiAgICAgaWYg
KGFsbG93VXNlckluc3RhbGxlZEZvbnRzID09IEFsbG93VXNlckluc3RhbGxlZEZvbnRzOjpObykg
ewogICAgICAgICBDVEZvbnRGYWxsYmFja09wdGlvbiBmYWxsYmFja09wdGlvbiA9IGtDVEZvbnRG
YWxsYmFja09wdGlvblN5c3RlbTsKICAgICAgICAgYXV0byBmYWxsYmFja09wdGlvbk51bWJlciA9
IGFkb3B0Q0YoQ0ZOdW1iZXJDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwga0NGTnVtYmVyU0lu
dDY0VHlwZSwgJmZhbGxiYWNrT3B0aW9uKSk7CkBAIC0xNTU4LDcgKzE1NTgsNyBAQCB2b2lkIGFk
ZEF0dHJpYnV0ZXNGb3JXZWJGb250cyhDRk11dGFibGVEaWN0aW9uYXJ5UmVmIGF0dHJpYnV0ZXMs
IEFsbG93VXNlckluc3RhbAogCiBSZXRhaW5QdHI8Q0ZTZXRSZWY+IGluc3RhbGxlZEZvbnRNYW5k
YXRvcnlBdHRyaWJ1dGVzKEFsbG93VXNlckluc3RhbGxlZEZvbnRzIGFsbG93VXNlckluc3RhbGxl
ZEZvbnRzKQogewotI2lmIENBTl9ESVNBTExPV19VU0VSX0lOU1RBTExFRF9GT05UUworI2lmIEhB
VkUoQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQogICAgIGlmIChhbGxvd1VzZXJJ
bnN0YWxsZWRGb250cyA9PSBBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6Tm8pIHsKICAgICAgICAg
Q0ZUeXBlUmVmIG1hbmRhdG9yeUF0dHJpYnV0ZXNWYWx1ZXNbXSA9IHsga0NURm9udEZhbWlseU5h
bWVBdHRyaWJ1dGUsIGtDVEZvbnRQb3N0U2NyaXB0TmFtZUF0dHJpYnV0ZSwga0NURm9udEVuYWJs
ZWRBdHRyaWJ1dGUsIGtDVEZvbnRVc2VySW5zdGFsbGVkQXR0cmlidXRlLCBrQ1RGb250RmFsbGJh
Y2tPcHRpb25BdHRyaWJ1dGUgfTsKICAgICAgICAgcmV0dXJuIGFkb3B0Q0YoQ0ZTZXRDcmVhdGUo
a0NGQWxsb2NhdG9yRGVmYXVsdCwgbWFuZGF0b3J5QXR0cmlidXRlc1ZhbHVlcywgV1RGX0FSUkFZ
X0xFTkdUSChtYW5kYXRvcnlBdHRyaWJ1dGVzVmFsdWVzKSwgJmtDRlR5cGVTZXRDYWxsQmFja3Mp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1w
bGVGb250RGF0YUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcAppbmRleCAzMzU4NDkwZWJlNTE3N2UzMWQ1
ODc2ODM1NTlkMDViM2NmMjg0NmMwLi4xYzM1MzI5MDQwNGI2ODdmYTU2NDZiYTBiN2YyYWVlYjkx
NzRjNTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
U2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwCkBAIC0yOCw2ICsyOCw3IEBA
CiAjaW5jbHVkZSAiRm9udC5oIgogCiAjaW5jbHVkZSA8Q29yZVRleHQvQ29yZVRleHQuaD4KKyNp
bmNsdWRlIDxwYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApAQCAtNTMsNCArNTQsMTIgQEAgQ0ZEaWN0aW9uYXJ5UmVmIEZvbnQ6OmdldENGU3RyaW5n
QXR0cmlidXRlcyhib29sIGVuYWJsZUtlcm5pbmcsIEZvbnRPcmllbnRhdGlvbgogICAgIHJldHVy
biBhdHRyaWJ1dGVzRGljdGlvbmFyeS5nZXQoKTsKIH0KIAorI2lmIEhBVkUoQ0FOX0RJU0FMTE9X
X1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQorYm9vbCBGb250Ojppc1VzZXJJbnN0YWxsZWRGb250KCkg
Y29uc3QKK3sKKyAgICBhdXRvIGlzVXNlckluc3RhbGxlZEZvbnQgPSBhZG9wdENGKHN0YXRpY19j
YXN0PENGQm9vbGVhblJlZj4oQ1RGb250Q29weUF0dHJpYnV0ZShnZXRDVEZvbnQoKSwga0NURm9u
dFVzZXJJbnN0YWxsZWRBdHRyaWJ1dGUpKSk7CisgICAgcmV0dXJuIGlzVXNlckluc3RhbGxlZEZv
bnQgJiYgQ0ZCb29sZWFuR2V0VmFsdWUoaXNVc2VySW5zdGFsbGVkRm9udC5nZXQoKSk7Cit9Cisj
ZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdl
TG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDQyNjBmN2I3NzJiOTM4ZTQyNTBlZDE5NDIyM2Rh
NjllMDQ2NGE4ZTEuLjMwMTY3YWVjNjExNTVjNzgwNjZlMzQ0ZDVlNGI1MTkxOWEwNmRlOTIgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyOCBAQAorMjAxOS0wNy0xNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisK
KyAgICAgICAgTWFrZSBzdXJlIHRvIHNldCBrQ1RGb250RmFsbGJhY2tPcHRpb25BdHRyaWJ1dGUg
dG8ga0NURm9udEZhbGxiYWNrT3B0aW9uU3lzdGVtIGZvciBzeXN0ZW0gZm9udHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTc2OQorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNDkzOTAyOTc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTXlsZXMgQy4g
TWF4ZmllbGQuCisKKyAgICAgICAgQWRkIGEgZm9udCBjb250YWluaW5nIG9uZSBleHRlbmRlZCBj
aGFyYWN0ZXIgbm90IGZvdW5kIGluIHN5c3RlbSBmb250cy4KKyAgICAgICAgQWRkIGEgV1RSIG9w
dGlvbiB0byBkaXNhYmxlIHVzZXIgaW5zdGFsbGVkIGZvbnRzLgorCisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OnVwZGF0ZVRlc3RP
cHRpb25zRnJvbVRlc3RIZWFkZXIpOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cnVu
VGVzdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oOgorICAg
ICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6c2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMg
Y29uc3QpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuaDoKKyAgICAg
ICAgKFdUUjo6VGVzdE9wdGlvbnM6Omhhc1NhbWVJbml0aWFsaXphdGlvbk9wdGlvbnMgY29uc3Qp
OgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvV2ViS2l0VGVzdFJ1bm5lci54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvZm9udHMvRmFrZUhl
bHZldGljYS1TaW5nbGVFeHRlbmRlZENoYXJhY3Rlci50dGY6IEFkZGVkLgorICAgICAgICAqIFdl
YktpdFRlc3RSdW5uZXIvaW9zL1Rlc3RDb250cm9sbGVySU9TLm1tOgorICAgICAgICAoV1RSOjpU
ZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1SZXNldFByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVz
KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL21hYy9UZXN0Q29udHJvbGxlck1hYy5tbToK
KyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtUmVzZXRQcmVmZXJlbmNlc1Rv
Q29uc2lzdGVudFZhbHVlcyk6CisKIDIwMTktMDctMTUgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21p
bGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgSlNHbG9iYWxPYmplY3QgdHlwZSBtYWNyb3Mgc2hv
dWxkIHN1cHBvcnQgZmVhdHVyZSBmbGFncyBhbmQgV2Vha1JlZiBzaG91bGQgaGF2ZSBvbmUKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXggYmZhYzE5MjMzNGMz
NjJlMTc3NGE3YmVkZjc3MjdjNjNjMTY2MjgwYi4uN2Q4NTEzODlhNDE1MzNhOTYyZTM4OTgzYzVm
ZTBlODVhMjczMjA1NCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29u
dHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5j
cHAKQEAgLTEzOTYsNiArMTM5Niw5IEBAIHN0YXRpYyB2b2lkIHVwZGF0ZVRlc3RPcHRpb25zRnJv
bVRlc3RIZWFkZXIoVGVzdE9wdGlvbnMmIHRlc3RPcHRpb25zLCBjb25zdCBzdGQ6CiAgICAgICAg
ICAgICB0ZXN0T3B0aW9ucy5jb250ZW50TW9kZSA9IHsgdmFsdWUuY19zdHIoKSB9OwogICAgICAg
ICBlbHNlIGlmIChrZXkgPT0gImVuYWJsZUFwcE5hcCIpCiAgICAgICAgICAgICB0ZXN0T3B0aW9u
cy5lbmFibGVBcHBOYXAgPSBwYXJzZUJvb2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOworICAg
ICAgICBlbHNlIGlmIChrZXkgPT0gImFsbG93VXNlckluc3RhbGxlZEZvbnRzIikKKyAgICAgICAg
ICAgIHRlc3RPcHRpb25zLmFsbG93VXNlckluc3RhbGxlZEZvbnRzID0gcGFyc2VCb29sZWFuVGVz
dEhlYWRlclZhbHVlKHZhbHVlKTsKKwogICAgICAgICBwYWlyU3RhcnQgPSBwYWlyRW5kICsgMTsK
ICAgICB9CiB9CkBAIC0xNjUwLDYgKzE2NTMsNyBAQCBib29sIFRlc3RDb250cm9sbGVyOjpydW5U
ZXN0KGNvbnN0IGNoYXIqIGlucHV0TGluZSkKICAgICAgICAgbV9jdXJyZW50SW52b2NhdGlvbi0+
c2V0Q3VzdG9tVGltZW91dChjb21tYW5kLnRpbWVvdXQpOwogCiAgICAgbV9jdXJyZW50SW52b2Nh
dGlvbi0+c2V0RHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyKGNvbW1hbmQuZHVtcEpTQ29uc29sZUxv
Z0luU3RkRXJyIHx8IG9wdGlvbnMuZHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyKTsKKyAgICBtX3No
b3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzID0gb3B0aW9ucy5hbGxvd1VzZXJJbnN0YWxsZWRG
b250czsKIAogICAgIHBsYXRmb3JtV2lsbFJ1blRlc3QoKm1fY3VycmVudEludm9jYXRpb24pOwog
CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmggYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKaW5kZXggYjA0ZTU4MmQ4MmQ2
ZGE0MjE2NjBjOGE3NWNmYmI2NjFkNDY5MzFmYS4uMTQ1NGNjZTczY2E2NzI5YjFjY2NjZTc5ZDg5
ZDE2Y2Q2M2I3ZWVhNCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29u
dHJvbGxlci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaApA
QCAtMzIwLDYgKzMyMCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEFkQ2xpY2tBdHRyaWJ1dGlv
bkNvbnZlcnNpb25VUkxGb3JUZXN0aW5nKFdLVVJMUmVmKTsKICAgICB2b2lkIG1hcmtBZENsaWNr
QXR0cmlidXRpb25zQXNFeHBpcmVkRm9yVGVzdGluZygpOwogCisgICAgYm9vbCBzaG91bGRBbGxv
d1VzZXJJbnN0YWxsZWRGb250cygpIGNvbnN0IHsgcmV0dXJuIG1fc2hvdWxkQWxsb3dVc2VySW5z
dGFsbGVkRm9udHM7IH0KKwogcHJpdmF0ZToKICAgICBXS1JldGFpblB0cjxXS1BhZ2VDb25maWd1
cmF0aW9uUmVmPiBnZW5lcmF0ZVBhZ2VDb25maWd1cmF0aW9uKGNvbnN0IFRlc3RPcHRpb25zJik7
CiAgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0Q29uZmlndXJhdGlvblJlZj4gZ2VuZXJhdGVDb250
ZXh0Q29uZmlndXJhdGlvbihjb25zdCBUZXN0T3B0aW9uczo6Q29udGV4dE9wdGlvbnMmKSBjb25z
dDsKQEAgLTU5MCw2ICs1OTIsNyBAQCBwcml2YXRlOgogCiAgICAgdWludDY0X3QgbV9zZXJ2ZXJU
cnVzdEV2YWx1YXRpb25DYWxsYmFja0NhbGxzQ291bnQgeyAwIH07CiAgICAgYm9vbCBtX3Nob3Vs
ZERpc21pc3NKYXZhU2NyaXB0QWxlcnRzQXN5bmNocm9ub3VzbHkgeyBmYWxzZSB9OworICAgIGJv
b2wgbV9zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyB7IHRydWUgfTsKIH07CiAKIHN0cnVj
dCBUZXN0Q29tbWFuZCB7CkBAIC01OTksNiArNjAyLDcgQEAgc3RydWN0IFRlc3RDb21tYW5kIHsK
ICAgICBXVEY6OlNlY29uZHMgdGltZW91dDsKICAgICBib29sIHNob3VsZER1bXBQaXhlbHMgeyBm
YWxzZSB9OwogICAgIGJvb2wgZHVtcEpTQ29uc29sZUxvZ0luU3RkRXJyIHsgZmFsc2UgfTsKKyAg
ICBib29sIGFsbG93VXNlckluc3RhbGxlZEZvbnRzIHsgdHJ1ZSB9OwogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV1RSCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25z
LmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmgKaW5kZXggNDk2OGY1Y2Uz
ZjZmZjA5ZWJlNjc2MTg5YWZlZjAzOTc0YTFkZTc1ZS4uMGFhZDBmZWUwMWU0Mjk3MDY2NjhjYTli
YmFmN2Y5Y2U1NzdkZjNkZiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
T3B0aW9ucy5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuaApAQCAt
OTIsNiArOTIsNyBAQCBzdHJ1Y3QgVGVzdE9wdGlvbnMgewogICAgIGJvb2wgc2hvdWxkSGFuZGxl
UnVuT3BlblBhbmVsIHsgdHJ1ZSB9OwogICAgIGJvb2wgc2hvdWxkUHJlc2VudFBvcG92ZXJzIHsg
dHJ1ZSB9OwogICAgIGJvb2wgZW5hYmxlQXBwTmFwIHsgZmFsc2UgfTsKKyAgICBib29sIGFsbG93
VXNlckluc3RhbGxlZEZvbnRzIHsgdHJ1ZSB9OwogCiAgICAgZG91YmxlIGNvbnRlbnRJbnNldFRv
cCB7IDAgfTsKIApAQCAtMTQ2LDcgKzE0Nyw4IEBAIHN0cnVjdCBUZXN0T3B0aW9ucyB7CiAgICAg
ICAgICAgICB8fCBzaG91bGRQcmVzZW50UG9wb3ZlcnMgIT0gb3B0aW9ucy5zaG91bGRQcmVzZW50
UG9wb3ZlcnMKICAgICAgICAgICAgIHx8IGNvbnRlbnRJbnNldFRvcCAhPSBvcHRpb25zLmNvbnRl
bnRJbnNldFRvcAogICAgICAgICAgICAgfHwgY29udGVudE1vZGUgIT0gb3B0aW9ucy5jb250ZW50
TW9kZQotICAgICAgICAgICAgfHwgZW5hYmxlQXBwTmFwICE9IG9wdGlvbnMuZW5hYmxlQXBwTmFw
KQorICAgICAgICAgICAgfHwgZW5hYmxlQXBwTmFwICE9IG9wdGlvbnMuZW5hYmxlQXBwTmFwCisg
ICAgICAgICAgICB8fCBhbGxvd1VzZXJJbnN0YWxsZWRGb250cyAhPSBvcHRpb25zLmFsbG93VXNl
ckluc3RhbGxlZEZvbnRzKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgIGlm
ICghY29udGV4dE9wdGlvbnMuaGFzU2FtZUluaXRpYWxpemF0aW9uT3B0aW9ucyhvcHRpb25zLmNv
bnRleHRPcHRpb25zKSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV2ViS2l0
VGVzdFJ1bm5lci54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9XZWJLaXRUZXN0UnVubmVyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNGI0
N2U4OWE5Y2ViNTNhMjU5OTUyZjE2Y2JhZTExZGIwNTI1ZDFiYi4uMThmYzM1OTIzZmZlY2I4NmYw
NzYzZDhlZDBlNWU2NjBkMDg5NjhkOSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9XZWJLaXRUZXN0UnVubmVyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9XZWJLaXRUZXN0UnVubmVyLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTk2LDYgKzk2LDcgQEAKIAkJMkU3NDlCRjIxODkxRUJGQTAwN0ZDMTc1IC8qIEV2ZW50
U2VuZGVyUHJveHlJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyRTYzRUQ3QTE4OTFBQ0U5MDAyQTdBRkMgLyogRXZlbnRTZW5kZXJQcm94eUlPUy5t
bSAqLzsgfTsKIAkJMzFEQThBM0QxRTcyMDVDQzAwRTFERjJGIC8qIElPU0xheW91dFRlc3RDb21t
dW5pY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMxNDhBMDUzMUU2Rjg1QjYwMEQzQjMxNiAvKiBJT1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlv
bi5jcHAgKi87IH07CiAJCTQxQzUzNzhFMjFGMTM0MTQwMDhCMUZBRCAvKiBUZXN0V2Vic2l0ZURh
dGFTdG9yZURlbGVnYXRlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDFDNTM3OEQyMUYxMzMzQzAwOEIxRkFEIC8qIFRlc3RXZWJzaXRlRGF0YVN0b3Jl
RGVsZWdhdGUubW0gKi87IH07CisJCTQxRDVCNjI2MjJERDlEMzYwMDBGNEM0QSAvKiBGYWtlSGVs
dmV0aWNhLVNpbmdsZUV4dGVuZGVkQ2hhcmFjdGVyLnR0ZiBpbiBSZXNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFENUI2MjUyMkREOUQzNjAwMEY0QzRBIC8qIEZh
a2VIZWx2ZXRpY2EtU2luZ2xlRXh0ZW5kZWRDaGFyYWN0ZXIudHRmICovOyB9OwogCQk0NDMwQUUx
OTFGODJDNEZEMDA5OTkxNUEgLyogR2VuZXJhdGVkVG91Y2hlc0RlYnVnV2luZG93Lm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQzMEFFMTcxRjgyQzRF
RTAwOTk5MTVBIC8qIEdlbmVyYXRlZFRvdWNoZXNEZWJ1Z1dpbmRvdy5tbSAqLzsgfTsKIAkJNTEw
NThBRDUxRDY3ODgyMDAwOUE1MzhDIC8qIGxpYldlYkNvcmVUZXN0U3VwcG9ydC5keWxpYiBpbiBG
cmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMjMwRTE2MTM4
Qzc4QkYwMEJDQ0ZDQSAvKiBsaWJXZWJDb3JlVGVzdFN1cHBvcnQuZHlsaWIgKi87IH07CiAJCTUx
MDU4QUQ2MUQ2Nzg4MjUwMDlBNTM4QyAvKiBXZWJLaXQuZnJhbWV3b3JrIGluIEZyYW1ld29ya3Mg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY1MTY5Q0ExNDQ1MjIyRDAwRTBB
OUQ3IC8qIFdlYktpdC5mcmFtZXdvcmsgKi87IH07CkBAIC0zMDAsNiArMzAxLDcgQEAKIAkJNDE4
MTczMUIxMzhBRDM5RDAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJDb3JlVGVzdFN1cHBvcnQuaDsgcGF0aCA9IFdlYkNv
cmVUZXN0U3VwcG9ydC9XZWJDb3JlVGVzdFN1cHBvcnQuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BS
T0RVQ1RTX0RJUjsgfTsKIAkJNDFDNTM3OEMyMUYxMzMzQzAwOEIxRkFEIC8qIFRlc3RXZWJzaXRl
RGF0YVN0b3JlRGVsZWdhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gVGVz
dFdlYnNpdGVEYXRhU3RvcmVEZWxlZ2F0ZS5oOyBwYXRoID0gY29jb2EvVGVzdFdlYnNpdGVEYXRh
U3RvcmVEZWxlZ2F0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUM1Mzc4RDIx
RjEzMzNDMDA4QjFGQUQgLyogVGVzdFdlYnNpdGVEYXRhU3RvcmVEZWxlZ2F0ZS5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFRlc3RXZWJzaXRlRGF0YVN0b3JlRGVs
ZWdhdGUubW07IHBhdGggPSBjb2NvYS9UZXN0V2Vic2l0ZURhdGFTdG9yZURlbGVnYXRlLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MUQ1QjYyNTIyREQ5RDM2MDAwRjRDNEEgLyog
RmFrZUhlbHZldGljYS1TaW5nbGVFeHRlbmRlZENoYXJhY3Rlci50dGYgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBmaWxlOyBuYW1lID0gIkZha2VIZWx2
ZXRpY2EtU2luZ2xlRXh0ZW5kZWRDaGFyYWN0ZXIudHRmIjsgcGF0aCA9ICJmb250cy9GYWtlSGVs
dmV0aWNhLVNpbmdsZUV4dGVuZGVkQ2hhcmFjdGVyLnR0ZiI7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQ0MjlGQzVFMTYyNzA4OTYwMEY2NkQ4QiAvKiBXb3JrUXVldWVNYW5hZ2VyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdvcmtRdWV1ZU1hbmFnZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDI5RkM2MTE2MjcwODk2MDBGNjZE
OEIgLyogV29ya1F1ZXVlTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXb3JrUXVldWVNYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0MzBB
RTE3MUY4MkM0RUUwMDk5OTE1QSAvKiBHZW5lcmF0ZWRUb3VjaGVzRGVidWdXaW5kb3cubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBHZW5lcmF0ZWRUb3VjaGVzRGVidWdXaW5kb3cubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NDksNiArNzUxLDcgQEAKIAkJCQkxQ0JBMDI5MzFG
RDg2RUExMDAxNzlDN0QgLyogRmFrZUhlbHZldGljYS1IZWx2ZXRpY2EtNTAwLnR0ZiAqLywKIAkJ
CQkxQ0JBMDI5MjFGRDg2RUExMDAxNzlDN0QgLyogRmFrZUhlbHZldGljYS1IZWx2ZXRpY2EyLTQw
MC50dGYgKi8sCiAJCQkJMUNCQTAyOTUxRkQ4NkVBMTAwMTc5QzdEIC8qIEZha2VIZWx2ZXRpY2Et
SGVsdmV0aWNhMi01MDAudHRmICovLAorCQkJCTQxRDVCNjI1MjJERDlEMzYwMDBGNEM0QSAvKiBG
YWtlSGVsdmV0aWNhLVNpbmdsZUV4dGVuZGVkQ2hhcmFjdGVyLnR0ZiAqLywKIAkJCQkxQ0EyMTFD
NzFCQ0ExMDczMDBCMjEwMUYgLyogRm9udFdpdGhGZWF0dXJlcy5vdGYgKi8sCiAJCQkJMUNBMjEx
QzgxQkNBMTA3MzAwQjIxMDFGIC8qIEZvbnRXaXRoRmVhdHVyZXMudHRmICovLAogCQkJCUJDMjUx
ODYzMTFEMTVENTQwMDJFQkMwMSAvKiBJbmplY3RlZEJ1bmRsZS1JbmZvLnBsaXN0ICovLApAQCAt
MTAyOCw2ICsxMDMxLDcgQEAKIAkJCQkxQ0JBMDI5ODFGRDg3REYwMDAxNzlDN0QgLyogRmFrZUhl
bHZldGljYS1IZWx2ZXRpY2EtNTAwLnR0ZiBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJMUNCQTAyOTcx
RkQ4N0RFRTAwMTc5QzdEIC8qIEZha2VIZWx2ZXRpY2EtSGVsdmV0aWNhMi00MDAudHRmIGluIFJl
c291cmNlcyAqLywKIAkJCQkxQ0JBMDI5NjFGRDg3REVDMDAxNzlDN0QgLyogRmFrZUhlbHZldGlj
YS1IZWx2ZXRpY2EyLTUwMC50dGYgaW4gUmVzb3VyY2VzICovLAorCQkJCTQxRDVCNjI2MjJERDlE
MzYwMDBGNEM0QSAvKiBGYWtlSGVsdmV0aWNhLVNpbmdsZUV4dGVuZGVkQ2hhcmFjdGVyLnR0ZiBp
biBSZXNvdXJjZXMgKi8sCiAJCQkJMUNBMjExQzkxQkNBMTA3MzAwQjIxMDFGIC8qIEZvbnRXaXRo
RmVhdHVyZXMub3RmIGluIFJlc291cmNlcyAqLywKIAkJCQkxQ0EyMTFDQTFCQ0ExMDczMDBCMjEw
MUYgLyogRm9udFdpdGhGZWF0dXJlcy50dGYgaW4gUmVzb3VyY2VzICovLAogCQkJCTY1MTBBNzg0
MTFFQzY0MzgwMDQxMDg2NyAvKiBXZWJLaXRXZWlnaHRXYXRjaGVyMTAwLnR0ZiBpbiBSZXNvdXJj
ZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2ZvbnRzL0Zha2VIZWx2
ZXRpY2EtU2luZ2xlRXh0ZW5kZWRDaGFyYWN0ZXIudHRmIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9mb250cy9GYWtlSGVsdmV0aWNhLVNpbmdsZUV4dGVuZGVkQ2hhcmFjdGVyLnR0ZgpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40MGYwZDBlYTYzNWQyMGExM2NkMmNkZTdlNjdlZmVlZDI5OTg3M2NmCkdJVCBiaW5hcnkg
cGF0Y2gKbGl0ZXJhbCAxNjE2CnpjbWRzMSZyNEtNNiNuajtIX3VFezZDRVcmdTQkQkApMDx+MWli
MFN+QXhXaTsoOGlvKm8tQFdjWnkyQVVpPk9ALQp6SH5rTSR5Q1BrK3VTSlY/RWg/eU93OCYqZDVL
UH4+XkVBUHJlZk0kUnttIX1Qb2NyQiNlP1MzZiEyYHN3bWA+bEEKeip9UWs+R3ZKKTFfNHVXIWkp
blBDZ0w9MjxTTGU9bik2ZXArMDlCO0VtfE13SyhCcGxneygtV1R5QmxpUXhETGU1CnpiS0VYdVMx
WXZ8R3M5YDRleUM4fFNlblB8Vn4kXj05djF5PHpUS09DTGl+Kn5UQkhHUW58N0cxcEwmMEJDMHlA
Jgp6aUlkZGRQO1Y7KnhoIXNqdjlUJVloZ1kpZTY8byRSJDFoWFk8P008LXZ3N3RSJDZvX2hxN3Rs
enh6eEVBSyU1K3IKemZ+PUwmS2U5UD90OTl9X256KE1aazh7cFkpSVRNRTswYGtVQUElKVRIaTs4
VWJKSkgqSVdDc3sle0NUJEZHZURqCnp2N0paS0lORDhMKWcjMS09V3Z0JXFmdmhqNHRtS0pAa1ps
a2UhQ05rYSY3NWk5dUkxNFNnTChOdnRkJV92PlR3SQp6JFZgfCs3KmQkZyUqRVBja1JvR0s1JGk/
bmkwfmd8ZjdzWTwkb15YT14+UTlpI0d7JFFlSyZ1em9+flhmM0pYbHQKemA5bmVwO3IqbH5MXkF5
VSY3NjBmSHMxdTdZbmZYMmJDK1VoS3lwanIlO2F7MWpVOHt4aUdQfmhqIy00KmlpdFRjCno9SXNW
WXtoSGluMzN0NVZrPlNvJCF5fHBSS0hsQSgkPUVZZSNhQDFMQXslJWAmVz9KQzQoQ0t+cU5sVTck
NCNgaAp6Q1IkQzJUa3czWi1wNFErVlRESGM1dztrQUtmKkVJc2RveyEoV3M2QElGMj9vOSR8O30x
dngzVW9KKUJSPlI2JGoKekhAdUU1ejhwYj5XMD1PbjI7MjFlOFIwbXo+V1oqfmJ+VEwpakh6RylS
VjxAYEIwXnxaRk5YcDQ5JGVuamFoXj8wCnpqe3N9clUqP0FrTDFtLTVUcXVWNmJaJFU8WmZibGBa
djw8OG5QVjlgZ2lJRXFNRTUpc0FYNSZQITsrc1RvVGFWNgp6TD92VzdDMShBP1N9OUFBV19wUX16
RGZfQE9ySW5IalMwJVp0YVc+ZTxzSEhwV3RTfHtLey1xWilxPTBScV5sP04Kei10NUd3KFY/Kis7
cmxQMV5KR3hQRCVUO3JHPGlyVmdwWWgwbkQ/dXolUnlQWVpZdEB6RS1lUXM/cUIlY2pqYTlQCng4
fXFtT0Q2ZktvcjdVTUhsXlhMe0VOUDBqLS09Rnd5YTY1Tk1BdSltLTdIRVJLZkdUc1pgU196XkVX
MU96JlpjYAoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRyb2xsZXJJT1MubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQppbmRleCA3MzcwNjMxM2FlODZjMzk3NWM0MjNk
OTY2N2I3ZTdmMzhlMmRlZTE4Li5hZDg1MDUwOTRiNjllN2U3Y2JjYzQ5ZWMyMWYxZGEzYjI0MTEw
YjU2IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxl
cklPUy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklP
Uy5tbQpAQCAtMTM1LDYgKzEzNSw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtUmVz
ZXRQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcygpCiAgICAgV0tQcmVmZXJlbmNlc1NldFRl
eHRBdXRvc2l6aW5nRW5hYmxlZChwcmVmZXJlbmNlcywgZmFsc2UpOwogICAgIFdLUHJlZmVyZW5j
ZXNTZXRDb250ZW50Q2hhbmdlT2JzZXJ2ZXJFbmFibGVkKHByZWZlcmVuY2VzLCBmYWxzZSk7CiAg
ICAgWyhfX2JyaWRnZSBXS1ByZWZlcmVuY2VzICopcHJlZmVyZW5jZXMgX3NldFNob3VsZElnbm9y
ZU1ldGFWaWV3cG9ydDpOT107CisgICAgWyhfX2JyaWRnZSBXS1ByZWZlcmVuY2VzICopcHJlZmVy
ZW5jZXMgX3NldFNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzOiBzaG91bGRBbGxvd1VzZXJJ
bnN0YWxsZWRGb250cygpID8gWUVTIDogTk9dOwogfQogCiB2b2lkIFRlc3RDb250cm9sbGVyOjpw
bGF0Zm9ybVJlc2V0U3RhdGVUb0NvbnNpc3RlbnRWYWx1ZXMoY29uc3QgVGVzdE9wdGlvbnMmIG9w
dGlvbnMpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9UZXN0Q29udHJv
bGxlck1hYy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1Rlc3RDb250cm9sbGVyTWFj
Lm1tCmluZGV4IGE0MmM2MDNkMzcxZjliYzU5MWQ5M2NmYWYwOWVlMDc5MGFkZmNmZWIuLmE1MTNi
MDA0MWFjYmUwZTQxYzdjYjUyZDJlNGI1MjMwN2FlMzFjMWUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvbWFjL1Rlc3RDb250cm9sbGVyTWFjLm1tCisrKyBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvbWFjL1Rlc3RDb250cm9sbGVyTWFjLm1tCkBAIC0zMyw2ICszMyw3IEBACiAj
aW1wb3J0ICJXZWJLaXRUZXN0UnVubmVyUGFzdGVib2FyZC5oIgogI2ltcG9ydCA8V2ViS2l0L1dL
Q29udGV4dFByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS1BhZ2VHcm91cC5oPgorI2ltcG9y
dCA8V2ViS2l0L1dLUHJlZmVyZW5jZXNQcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tQcm9j
ZXNzUG9vbFByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS1N0cmluZ0NGLmg+CiAjaW1wb3J0
IDxXZWJLaXQvV0tVUkxDRi5oPgpAQCAtMTAwLDYgKzEwMSw4IEBAIHZvaWQgVGVzdENvbnRyb2xs
ZXI6OmluaXRpYWxpemVUZXN0UGx1Z2luRGlyZWN0b3J5KCkKIAogdm9pZCBUZXN0Q29udHJvbGxl
cjo6cGxhdGZvcm1SZXNldFByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKCkKIHsKKyAgICBX
S1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzID0gcGxhdGZvcm1QcmVmZXJlbmNlcygpOworICAg
IFsoX19icmlkZ2UgV0tQcmVmZXJlbmNlcyAqKXByZWZlcmVuY2VzIF9zZXRTaG91bGRBbGxvd1Vz
ZXJJbnN0YWxsZWRGb250czogc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSA/IFlFUyA6
IE5PXTsKIH0KIAogdm9pZCBUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1SZXNldFN0YXRlVG9Db25z
aXN0ZW50VmFsdWVzKGNvbnN0IFRlc3RPcHRpb25zJiBvcHRpb25zKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDk4MmVmOTU4
M2VkNTk5Y2U4YTYzNTIzYjVjZGVmNDRhYzhkNWIxY2UuLmYwMzFhY2JmMDA2NjAzYzJiYjIyMWJk
MDA5NTYxNmQ2ZWY0NWU3YjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxOS0wNy0xNiAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzdXJlIHRvIHNl
dCBrQ1RGb250RmFsbGJhY2tPcHRpb25BdHRyaWJ1dGUgdG8ga0NURm9udEZhbGxiYWNrT3B0aW9u
U3lzdGVtIGZvciBzeXN0ZW0gZm9udHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE5OTc2OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDkzOTAyOTc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTXlsZXMgQy4gTWF4ZmllbGQuCisKKyAgICAgICAgVGVz
dHMgcmVxdWlyZSBXVFIgYW5kIHJlY2VudCBNYWNPUywgaGVuY2Ugd2h5IHRoZXkgYXJlIGRpc2Fi
bGVkIGVsc2V3aGVyZS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICog
cGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIGZhc3QvdGV4dC91
c2VyLWluc3RhbGxlZC1mb250cy9leHRlbmRlZC1jaGFyYWN0ZXItZXhwZWN0ZWQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVkLWNo
YXJhY3Rlci13aXRoLXVzZXItZm9udC1leHBlY3RlZC1taXNtYXRjaC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvZXh0ZW5kZWQtY2hhcmFjdGVy
LXdpdGgtdXNlci1mb250Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC91c2VyLWlu
c3RhbGxlZC1mb250cy9leHRlbmRlZC1jaGFyYWN0ZXIuaHRtbDogQWRkZWQuCisKIDIwMTktMDct
MTUgIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgW21hY09T
IFdLMl0gTGF5b3V0IFRlc3QgaHR0cC90ZXN0cy9zdG9yYWdlQWNjZXNzL3JlcXVlc3QtYW5kLWdy
YW50LWFjY2Vzcy10aGVuLW5hdmlnYXRlLWNyb3NzLXNpdGUtc2hvdWxkLW5vdC1oYXZlLWFjY2Vz
cy5odG1sIGlzIGEgZmxha3kgdGltZW91dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYTQzNDYyYmUx
MmI3NTNhMjIxMGJmODIzMjYxY2M3MzRlZDU0N2FhZi4uZDY0MWMxODY1NDM2NDJmNGQzZTNhOTRm
YjIzZDEwNDlkMTAzMGQyYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNjY5LDYgKzE2NjksMTAg
QEAgd2Via2l0Lm9yZy9iLzE0ODg4NCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL2Zvcm1zL3RleHRmaWUKIHdlYmtpdC5vcmcvYi8xOTA2MjYgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90aGUtZGF0YWxpc3Qt
ZWxlbWVudC9kYXRhbGlzdG9wdGlvbnMuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE5
MDYxMyBpbXBvcnRlZC9ibGluay9mYXN0L2Zvcm1zL2RhdGFsaXN0L3NsaWRlci1hcHBlYXJhbmNl
LXdpdGgtdGlja3MtY3Jhc2guaHRtbCBbIFNraXAgXQogCisjIFRlc3RzIHJlcXVpcmUgV1RSIGFu
ZCBkaXNhYmxpbmcgb2YgdXNlciBpbnN0YWxsZWQgZm9udHMuIFJlZW5hYmxpbmcgdGhlbSBpbiBz
dXBwb3J0ZWQgcGxhdGZvcm1zCitmYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvZXh0ZW5k
ZWQtY2hhcmFjdGVyLmh0bWwgWyBTa2lwIF0KK2Zhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250
cy9leHRlbmRlZC1jaGFyYWN0ZXItd2l0aC11c2VyLWZvbnQuaHRtbCBbIFNraXAgXQorCiAjIERv
ZXMgdGltZW91dAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJhdWRpby9pZGxo
YXJuZXNzLmh0dHBzLmh0bWwgWyBTa2lwIF0KICMgRG8gYXNzZXJ0IGluIE9mZmxpbmVBdWRpb0Nv
bnRleHQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1m
b250cy9leHRlbmRlZC1jaGFyYWN0ZXItZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9leHRlbmRlZC1jaGFyYWN0ZXItZXhwZWN0ZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4zZDVmNmZiMzA2Yzc2ZGE2ZTljYmFkYWNhYjQ2OTM2YzUxOTgwYmUyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZv
bnRzL2V4dGVuZGVkLWNoYXJhY3Rlci1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzwh
ZG9jdHlwZSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGNoYXJzZXQ9
IlVURi04Ij4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDwhLS0gdW5rbm93biBj
aGFyYWN0ZXIgLS0+CisgICAgICAgIDx0ZD4mI3gwMTE3NDA7PC90ZD4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdXNlci1pbnN0YWxsZWQt
Zm9udHMvZXh0ZW5kZWQtY2hhcmFjdGVyLXdpdGgtdXNlci1mb250LWV4cGVjdGVkLW1pc21hdGNo
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvZXh0ZW5k
ZWQtY2hhcmFjdGVyLXdpdGgtdXNlci1mb250LWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uM2Q1ZjZmYjMwNmM3NmRhNmU5Y2JhZGFjYWI0NjkzNmM1MTk4MGJlMgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9leHRl
bmRlZC1jaGFyYWN0ZXItd2l0aC11c2VyLWZvbnQtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApAQCAt
MCwwICsxLDEwIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAg
ICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAg
ICA8IS0tIHVua25vd24gY2hhcmFjdGVyIC0tPgorICAgICAgICA8dGQ+JiN4MDExNzQwOzwvdGQ+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVkLWNoYXJhY3Rlci13aXRoLXVzZXItZm9udC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVk
LWNoYXJhY3Rlci13aXRoLXVzZXItZm9udC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFkYWJmMmFjY2ZlMTg3
MDVjYTM0MGEyYmI5N2ZmOTA3MDg4ODIwNmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvZXh0ZW5kZWQtY2hhcmFjdGVyLXdpdGgt
dXNlci1mb250Lmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4K
KyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDwvaGVhZD4K
KyAgICA8Ym9keT4KKyAgICAgICAgPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICB0ZXN0UnVubmVyLmluc3RhbGxGYWtlSGVsdmV0aWNhKCJTaW5nbGVFeHRlbmRlZENoYXJhY3Rl
ciIpOworICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPCEtLSBDaGFyYWN0ZXIga25vd24gYnkg
dXNlciBpbnN0YWxsZWQgZm9udCBvbmx5IC0tPgorICAgICAgICA8dGQ+JiN4MDExNzIxOzwvdGQ+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVkLWNoYXJhY3Rlci5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVkLWNoYXJhY3Rlci5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjhlZDIxOGMyMzQ2NzI0MjhlMjc2MzliZjNiYzU5N2VhMzdlYzNhMjUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9u
dHMvZXh0ZW5kZWQtY2hhcmFjdGVyLmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFkb2N0eXBlIGh0
bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBhbGxvd1VzZXJJbnN0YWxsZWRGb250cz1mYWxz
ZSBdIC0tPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04
Ij4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxzY3JpcHQ+CitpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5pbnN0YWxsRmFrZUhlbHZldGljYSgiU2luZ2xl
RXh0ZW5kZWRDaGFyYWN0ZXIiKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDwhLS0gQ2hh
cmFjdGVyIGtub3duIGJ5IHVzZXIgaW5zdGFsbGVkIGZvbnQgb25seSAtLT4KKyAgICAgICAgPHRk
PiYjeDAxMTcyMTs8L3RkPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAxNTI1MDk3OGQzN2VmY2EyNmVh
MjgxN2U5Njg4MmJlZTU2MmM4MmQ0Li4wMDg0ZDc0Y2MwYjljNWUwMmYxMTJjZDY1MGMwYTA0MGYx
OTlkZjFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRp
b25zCkBAIC03NzMsNiArNzczLDEwIEBAIHdlYmtpdC5vcmcvYi8xODU5NjIgbWVkaWEvdmlkZW8t
cGxheS1hdWRpby1yZXF1aXJlLXVzZXItZ2VzdHVyZS5odG1sIFsgUGFzcyBGYWlsCiB3ZWJraXQu
b3JnL2IvMTg1OTk0IGZhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9zaGFkb3ctZmFtaWx5
Lmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE4NTk5NCBmYXN0
L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvc2hhZG93LXBvc3RzY3JpcHQtZmFtaWx5Lmh0bWwg
WyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQogCisjIFJlZW5hYmxlZCB0ZXN0cyBmb3Igc3VwcG9y
dGVkIHBsYXRmb3JtcworWyBNb2phdmUrIF0gZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRz
L2V4dGVuZGVkLWNoYXJhY3Rlci5odG1sIFsgUGFzcyBdCitbIE1vamF2ZSsgXSBmYXN0L3RleHQv
dXNlci1pbnN0YWxsZWQtZm9udHMvZXh0ZW5kZWQtY2hhcmFjdGVyLXdpdGgtdXNlci1mb250Lmh0
bWwgWyBQYXNzIF0KKwogIyA8cmRhcjovL3Byb2JsZW0vMjUwMTAzMDc+CiBbIEhpZ2hTaWVycmEr
IF0gaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlFcnJvci5odG1sIFsgUGFzcyBdCiBb
IEhpZ2hTaWVycmErIF0gaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjMu
aHRtbCBbIFBhc3MgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374252</attachid>
            <date>2019-07-16 15:51:10 -0700</date>
            <delta_ts>2019-07-16 16:54:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199769-20190716155106.patch</filename>
            <type>text/plain</type>
            <size>24549</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3NDc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY3NmJlOWVhYzgxZWJiNTZjMGUwODFm
NzIyYWRiODJiYmI4NjVmMmMuLjMzNmFkMDI2YzdmMzRlNjU3M2NhMWE3OWRkNjhhZTg5NGRkYjk2
YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDctMTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc3VyZSB0byBzZXQga0NURm9udEZhbGxiYWNr
T3B0aW9uQXR0cmlidXRlIHRvIGtDVEZvbnRGYWxsYmFja09wdGlvblN5c3RlbSBmb3Igc3lzdGVt
IGZvbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTk3NjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5MzkwMjk3PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE15bGVzIEMuIE1heGZpZWxkLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisK
IDIwMTktMDctMTYgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgog
CiAgICAgICAgIFtXUEVdW0dUS10gSW1wcm92ZW1lbnRzIGFuZCBmaXhlcyBpbiBGaWxlU3lzdGVt
R2xpYi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2MWRjNWZkNjZlMzc2NGYwMWUxZjI4YjkwYzc2ZTEwNDE3
NWE5ZTM5Li42NmRhNjg5NzRmYzE0ZmI3ODk5OTA4OGExNzIzODFlZDZhMTY4MDBkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTktMDctMTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5A
YXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc3VyZSB0byBzZXQga0NURm9udEZhbGxiYWNrT3B0
aW9uQXR0cmlidXRlIHRvIGtDVEZvbnRGYWxsYmFja09wdGlvblN5c3RlbSBmb3Igc3lzdGVtIGZv
bnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTk3
NjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5MzkwMjk3PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE15bGVzIEMuIE1heGZpZWxkLgorCisgICAgICAgIFdoZW4gZ2V0dGluZyBhIHN5c3RlbSBm
b250LCBzZXQgdGhlIGFwcHJvcHJpYXRlIGF0dHJpYnV0ZSBzbyB0aGF0IGl0CisgICAgICAgIGRv
ZXMgbm90IGZhbGxiYWNrIHRvIGEgdXNlciBpbml0aWF0ZWQgZm9udC4KKyAgICAgICAgQWRkIGFu
IEFTU0VSVCB0aGF0IGNoZWNrcyB0aGF0IHRoZSBmb250IGluIHVzZSBpcyBub3QgYSB1c2VyIGZv
bnQgaWYKKyAgICAgICAgcG9saWN5IGlzIHRvIG5vdCB1c2UgdXNlciBpbnN0YWxsZWQgZm9udHMu
CisKKyAgICAgICAgVGVzdHM6IGZhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9leHRlbmRl
ZC1jaGFyYWN0ZXItd2l0aC11c2VyLWZvbnQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC90ZXh0
L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVkLWNoYXJhY3Rlci5odG1sCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udENhc2NhZGVGb250cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZUZvbnRz
OjpnbHlwaERhdGFGb3JTeXN0ZW1GYWxsYmFjayk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cHJlcGFy
ZVBsYXRmb3JtRm9udCk6CisgICAgICAgIChXZWJDb3JlOjpGb250RGF0YWJhc2U6OnNpbmdsZXRv
bkFsbG93aW5nVXNlckluc3RhbGxlZEZvbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnREYXRh
YmFzZTo6c2luZ2xldG9uRGlzYWxsb3dpbmdVc2VySW5zdGFsbGVkRm9udHMpOgorICAgICAgICAo
V2ViQ29yZTo6YWRkQXR0cmlidXRlc0Zvckluc3RhbGxlZEZvbnRzKToKKyAgICAgICAgKFdlYkNv
cmU6OmFkZEF0dHJpYnV0ZXNGb3JXZWJGb250cyk6CisgICAgICAgIChXZWJDb3JlOjppbnN0YWxs
ZWRGb250TWFuZGF0b3J5QXR0cmlidXRlcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL1NpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6
aXNVc2VySW5zdGFsbGVkRm9udCBjb25zdCk6CisKIDIwMTktMDctMTUgIFJ5YW4gSGFkZGFkICA8
cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjI0NzQ0NC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybS5oCmluZGV4IDZiODIwNTNlYTIwNDhmNDQ1ZWRlZTQ2MmVjNDZiMDg3
YTQ3MmY5NjUuLmZjYjQ2OWExMjMwNTUyMzNjZTk2NDhkNjI1ZWE1ZGNjZTdmMDkzZjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxh
dGZvcm0uaApAQCAtMTUzNiw2ICsxNTM2LDEwIEBACiAjZGVmaW5lIEVOQUJMRV9NT05PU1BBQ0Vf
Rk9OVF9FWENFUFRJT04gKF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTMwMDAw
KQogI2VuZGlmCiAKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMTQwMCkgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNkZWZpbmUgSEFW
RV9ESVNBTExPV0FCTEVfVVNFUl9JTlNUQUxMRURfRk9OVFMgMQorI2VuZGlmCisKICNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MzAwMDAKICNkZWZpbmUgSEFWRV9BUktJVF9RVUlDS19MT09LX1BSRVZJRVdfSVRFTSAxCiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAppbmRleCAzY2E5Nzg4NjJk
OWUzOWRhMTNhNjI2ZDc2ZTUzNjU1ZjJkNTYxMjE5Li4yZTU4YmQ2OWViYjUzOTFlMDM2ZDI4YzI3
MDJjMWY0NTA1MDhiMzEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5o
CkBAIC0yMDQsNiArMjA0LDEwIEBAIHB1YmxpYzoKICAgICBjb25zdCBCaXRWZWN0b3ImIGdseXBo
c1N1cHBvcnRlZEJ5QWxsUGV0aXRlQ2FwcygpIGNvbnN0OwogI2VuZGlmCiAKKyNpZiBIQVZFKERJ
U0FMTE9XQUJMRV9VU0VSX0lOU1RBTExFRF9GT05UUykKKyAgICBib29sIGlzVXNlckluc3RhbGxl
ZEZvbnQoKSBjb25zdDsKKyNlbmRpZgorCiAgICAgYm9vbCBjYW5SZW5kZXJDb21iaW5pbmdDaGFy
YWN0ZXJTZXF1ZW5jZShjb25zdCBVQ2hhciosIHNpemVfdCkgY29uc3Q7CiAgICAgYm9vbCBhcHBs
eVRyYW5zZm9ybXMoR2x5cGhCdWZmZXJHbHlwaCosIEdseXBoQnVmZmVyQWR2YW5jZSosIHNpemVf
dCBnbHlwaENvdW50LCBib29sIGVuYWJsZUtlcm5pbmcsIGJvb2wgcmVxdWlyZXNTaGFwaW5nKSBj
b25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dENhc2NhZGVGb250cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
Q2FzY2FkZUZvbnRzLmNwcAppbmRleCA2OTQ0NjljMGViNjJhZDljODRlOWJiZDA4ZmExMzQyNjQw
OTA2OWE5Li5kYjc0MzAyZTlkYWE0ZWI1MmMwY2UwODFmZDU2MDUyNzk1NzhmYmY0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZUZvbnRzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZUZvbnRz
LmNwcApAQCAtMzQ5LDYgKzM0OSwxMCBAQCBHbHlwaERhdGEgRm9udENhc2NhZGVGb250czo6Z2x5
cGhEYXRhRm9yU3lzdGVtRmFsbGJhY2soVUNoYXIzMiBjaGFyYWN0ZXIsIGNvbnN0CiAgICAgaWYg
KCFzeXN0ZW1GYWxsYmFja0ZvbnQpCiAgICAgICAgIHJldHVybiBHbHlwaERhdGEoKTsKIAorI2lm
IEhBVkUoRElTQUxMT1dBQkxFX1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQorICAgIEFTU0VSVCghc3lz
dGVtRmFsbGJhY2tGb250LT5pc1VzZXJJbnN0YWxsZWRGb250KCkgfHwgZGVzY3JpcHRpb24uc2hv
dWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSA9PSBBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6
WWVzKTsKKyNlbmRpZgorCiAgICAgaWYgKHN5c3RlbUZhbGxiYWNrU2hvdWxkQmVJbnZpc2libGUp
CiAgICAgICAgIHN5c3RlbUZhbGxiYWNrRm9udCA9IGNvbnN0X2Nhc3Q8Rm9udCo+KCZzeXN0ZW1G
YWxsYmFja0ZvbnQtPmludmlzaWJsZUZvbnQoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcApp
bmRleCAwNjI5MjljNTI4MmM4MTQ2ODZhNDkyOTE3Nzc0NWQwMWIzODFkMDc0Li42ZjE2ZDZlM2Nm
NWJiYzIzZWU0M2RkYzZlNjNhYzY2ZWU4ZjNjMzRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3Bw
CkBAIC0zOSw3ICszOSw2IEBACiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAKICNk
ZWZpbmUgSEFTX0NPUkVfVEVYVF9XSURUSF9BVFRSSUJVVEUgKChQTEFURk9STShNQUMpICYmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwKSB8fCAoUExBVEZPUk0oSU9T
X0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwKSkK
LSNkZWZpbmUgQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTICgoUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkgfHwgKFBMQVRG
T1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEy
MDAwMCkpCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTcxLDcgKzU3MCw3IEBAIFJldGFp
blB0cjxDVEZvbnRSZWY+IHByZXBhcmVQbGF0Zm9ybUZvbnQoQ1RGb250UmVmIG9yaWdpbmFsRm9u
dCwgY29uc3QgRm9udERlc2NyCiAgICAgYm9vbCBmb250RmFjZURvZXNudFNwZWNpZnlGZWF0dXJl
cyA9ICFmb250RmFjZUZlYXR1cmVzIHx8IGZvbnRGYWNlRmVhdHVyZXMtPmlzRW1wdHkoKTsKICAg
ICBib29sIGZvbnRGYWNlRG9lc250U3BlY2lmeVZhcmlhdGlvbnMgPSAhZm9udEZhY2VWYXJpYW50
U2V0dGluZ3MgfHwgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MtPmlzQWxsTm9ybWFsKCk7CiAgICAg
aWYgKG5vRm9udEZlYXR1cmVTZXR0aW5ncyAmJiBub0ZvbnRWYXJpYXRpb25TZXR0aW5ncyAmJiB0
ZXh0UmVuZGVyaW5nTW9kZUlzQXV0byAmJiB2YXJpYW50U2V0dGluZ3NJc05vcm1hbCAmJiBkb250
TmVlZFRvQXBwbHlPcHRpY2FsU2l6aW5nICYmIGZvbnRGYWNlRG9lc250U3BlY2lmeUZlYXR1cmVz
ICYmIGZvbnRGYWNlRG9lc250U3BlY2lmeVZhcmlhdGlvbnMpCi0gICAgICAgIHJldHVybiBvcmln
aW5hbEZvbnQ7CisgICAgICAgIHJldHVybiBjcmVhdGVGb250Rm9ySW5zdGFsbGVkRm9udHMob3Jp
Z2luYWxGb250LCBmb250RGVzY3JpcHRpb24uc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMo
KSk7CiAKICAgICAvLyBUaGlzIGFsZ29yaXRobSBpcyBkZXNjcmliZWQgYXQgaHR0cDovL3d3dy53
My5vcmcvVFIvY3NzMy1mb250cy8jZmVhdHVyZS1wcmVjZWRlbmNlCiAgICAgRmVhdHVyZXNNYXAg
ZmVhdHVyZXNUb0JlQXBwbGllZDsKQEAgLTY4Niw5ICs2ODUsMTAgQEAgUmV0YWluUHRyPENURm9u
dFJlZj4gcHJlcGFyZVBsYXRmb3JtRm9udChDVEZvbnRSZWYgb3JpZ2luYWxGb250LCBjb25zdCBG
b250RGVzY3IKICNlbmRpZgogICAgIH0KIAorICAgIGFkZEF0dHJpYnV0ZXNGb3JJbnN0YWxsZWRG
b250cyhhdHRyaWJ1dGVzLmdldCgpLCBmb250RGVzY3JpcHRpb24uc2hvdWxkQWxsb3dVc2VySW5z
dGFsbGVkRm9udHMoKSk7CisKICAgICBhdXRvIGRlc2NyaXB0b3IgPSBhZG9wdENGKENURm9udERl
c2NyaXB0b3JDcmVhdGVXaXRoQXR0cmlidXRlcyhhdHRyaWJ1dGVzLmdldCgpKSk7Ci0gICAgYXV0
byByZXN1bHQgPSBhZG9wdENGKENURm9udENyZWF0ZUNvcHlXaXRoQXR0cmlidXRlcyhvcmlnaW5h
bEZvbnQsIENURm9udEdldFNpemUob3JpZ2luYWxGb250KSwgbnVsbHB0ciwgZGVzY3JpcHRvci5n
ZXQoKSkpOwotICAgIHJldHVybiByZXN1bHQ7CisgICAgcmV0dXJuIGFkb3B0Q0YoQ1RGb250Q3Jl
YXRlQ29weVdpdGhBdHRyaWJ1dGVzKG9yaWdpbmFsRm9udCwgQ1RGb250R2V0U2l6ZShvcmlnaW5h
bEZvbnQpLCBudWxscHRyLCBkZXNjcmlwdG9yLmdldCgpKSk7CiB9CiAKIFJlZlB0cjxGb250PiBG
b250Q2FjaGU6OnNpbWlsYXJGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24s
IGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSkKQEAgLTgzOSw3ICs4MzksNyBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgaXNTeXN0ZW1Gb250KGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSkKIAogY2xhc3Mg
Rm9udERhdGFiYXNlIHsKIHB1YmxpYzoKLSNpZiAhQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVE
X0ZPTlRTCisjaWYgIUhBVkUoRElTQUxMT1dBQkxFX1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQogICAg
IHN0YXRpYyBGb250RGF0YWJhc2UmIHNpbmdsZXRvbigpCiAgICAgewogICAgICAgICBzdGF0aWMg
TmV2ZXJEZXN0cm95ZWQ8Rm9udERhdGFiYXNlPiBkYXRhYmFzZShBbGxvd1VzZXJJbnN0YWxsZWRG
b250czo6WWVzKTsKQEAgLTg0OSw3ICs4NDksNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgRm9u
dERhdGFiYXNlJiBzaW5nbGV0b25BbGxvd2luZ1VzZXJJbnN0YWxsZWRGb250cygpCiAgICAgewot
I2lmIENBTl9ESVNBTExPV19VU0VSX0lOU1RBTExFRF9GT05UUworI2lmIEhBVkUoRElTQUxMT1dB
QkxFX1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQogICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
Rm9udERhdGFiYXNlPiBkYXRhYmFzZShBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6WWVzKTsKICAg
ICAgICAgcmV0dXJuIGRhdGFiYXNlOwogI2Vsc2UKQEAgLTg1OSw3ICs4NTksNyBAQCBwdWJsaWM6
CiAKICAgICBzdGF0aWMgRm9udERhdGFiYXNlJiBzaW5nbGV0b25EaXNhbGxvd2luZ1VzZXJJbnN0
YWxsZWRGb250cygpCiAgICAgewotI2lmIENBTl9ESVNBTExPV19VU0VSX0lOU1RBTExFRF9GT05U
UworI2lmIEhBVkUoRElTQUxMT1dBQkxFX1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQogICAgICAgICBz
dGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Rm9udERhdGFiYXNlPiBkYXRhYmFzZShBbGxvd1VzZXJJbnN0
YWxsZWRGb250czo6Tm8pOwogICAgICAgICByZXR1cm4gZGF0YWJhc2U7CiAjZWxzZQpAQCAtMTUw
Nyw3ICsxNTA3LDcgQEAgY29uc3QgQXRvbVN0cmluZyYgRm9udENhY2hlOjpwbGF0Zm9ybUFsdGVy
bmF0ZUZhbWlseU5hbWUoY29uc3QgQXRvbVN0cmluZyYgZmFtaWwKIAogdm9pZCBhZGRBdHRyaWJ1
dGVzRm9ySW5zdGFsbGVkRm9udHMoQ0ZNdXRhYmxlRGljdGlvbmFyeVJlZiBhdHRyaWJ1dGVzLCBB
bGxvd1VzZXJJbnN0YWxsZWRGb250cyBhbGxvd1VzZXJJbnN0YWxsZWRGb250cykKIHsKLSNpZiBD
QU5fRElTQUxMT1dfVVNFUl9JTlNUQUxMRURfRk9OVFMKKyNpZiBIQVZFKERJU0FMTE9XQUJMRV9V
U0VSX0lOU1RBTExFRF9GT05UUykKICAgICBpZiAoYWxsb3dVc2VySW5zdGFsbGVkRm9udHMgPT0g
QWxsb3dVc2VySW5zdGFsbGVkRm9udHM6Ok5vKSB7CiAgICAgICAgIENGRGljdGlvbmFyeUFkZFZh
bHVlKGF0dHJpYnV0ZXMsIGtDVEZvbnRVc2VySW5zdGFsbGVkQXR0cmlidXRlLCBrQ0ZCb29sZWFu
RmFsc2UpOwogICAgICAgICBDVEZvbnRGYWxsYmFja09wdGlvbiBmYWxsYmFja09wdGlvbiA9IGtD
VEZvbnRGYWxsYmFja09wdGlvblN5c3RlbTsKQEAgLTE1MzEsOCArMTUzMSwyNCBAQCBSZXRhaW5Q
dHI8Q1RGb250UmVmPiBjcmVhdGVGb250Rm9ySW5zdGFsbGVkRm9udHMoQ1RGb250RGVzY3JpcHRv
clJlZiBmb250RGVzY3JpcAogICAgIHJldHVybiBhZG9wdENGKENURm9udENyZWF0ZVdpdGhGb250
RGVzY3JpcHRvcihmb250RGVzY3JpcHRvciwgc2l6ZSwgbnVsbHB0cikpOwogfQogCitzdGF0aWMg
aW5saW5lIGJvb2wgaXNGb250TWF0Y2hpbmdVc2VySW5zdGFsbGVkRm9udEZhbGxiYWNrKENURm9u
dFJlZiBmb250LCBBbGxvd1VzZXJJbnN0YWxsZWRGb250cyBhbGxvd1VzZXJJbnN0YWxsZWRGb250
cykKK3sKKyAgICBib29sIHdpbGxGYWxsYmFja1RvU3lzdGVtT25seSA9IGZhbHNlOworICAgIGlm
IChhdXRvIGZvbnRGYWxsYmFja09wdGlvbkF0dHJpYnV0ZVJlZiA9IGFkb3B0Q0Yoc3RhdGljX2Nh
c3Q8Q0ZOdW1iZXJSZWY+KENURm9udENvcHlBdHRyaWJ1dGUoZm9udCwga0NURm9udEZhbGxiYWNr
T3B0aW9uQXR0cmlidXRlKSkpKSB7CisgICAgICAgIGludDY0X3QgZm9udEZhbGxiYWNrT3B0aW9u
QXR0cmlidXRlOworICAgICAgICBDRk51bWJlckdldFZhbHVlKGZvbnRGYWxsYmFja09wdGlvbkF0
dHJpYnV0ZVJlZi5nZXQoKSwga0NGTnVtYmVyU0ludDY0VHlwZSwgJmZvbnRGYWxsYmFja09wdGlv
bkF0dHJpYnV0ZSk7CisgICAgICAgIHdpbGxGYWxsYmFja1RvU3lzdGVtT25seSA9IGZvbnRGYWxs
YmFja09wdGlvbkF0dHJpYnV0ZSA9PSBrQ1RGb250RmFsbGJhY2tPcHRpb25TeXN0ZW07CisgICAg
fQorCisgICAgYm9vbCBzaG91bGRGYWxsYmFja1RvU3lzdGVtT25seSA9IGFsbG93VXNlckluc3Rh
bGxlZEZvbnRzID09IEFsbG93VXNlckluc3RhbGxlZEZvbnRzOjpObzsKKyAgICByZXR1cm4gd2ls
bEZhbGxiYWNrVG9TeXN0ZW1Pbmx5ID09IHNob3VsZEZhbGxiYWNrVG9TeXN0ZW1Pbmx5OworfQor
CiBSZXRhaW5QdHI8Q1RGb250UmVmPiBjcmVhdGVGb250Rm9ySW5zdGFsbGVkRm9udHMoQ1RGb250
UmVmIGZvbnQsIEFsbG93VXNlckluc3RhbGxlZEZvbnRzIGFsbG93VXNlckluc3RhbGxlZEZvbnRz
KQogeworICAgIGlmIChpc0ZvbnRNYXRjaGluZ1VzZXJJbnN0YWxsZWRGb250RmFsbGJhY2soZm9u
dCwgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpKQorICAgICAgICByZXR1cm4gZm9udDsKKwogICAg
IGF1dG8gYXR0cmlidXRlcyA9IGFkb3B0Q0YoQ0ZEaWN0aW9uYXJ5Q3JlYXRlTXV0YWJsZShrQ0ZB
bGxvY2F0b3JEZWZhdWx0LCAwLCAma0NGVHlwZURpY3Rpb25hcnlLZXlDYWxsQmFja3MsICZrQ0ZU
eXBlRGljdGlvbmFyeVZhbHVlQ2FsbEJhY2tzKSk7CiAgICAgYWRkQXR0cmlidXRlc0Zvckluc3Rh
bGxlZEZvbnRzKGF0dHJpYnV0ZXMuZ2V0KCksIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKICAg
ICBpZiAoQ0ZEaWN0aW9uYXJ5R2V0Q291bnQoYXR0cmlidXRlcy5nZXQoKSkpIHsKQEAgLTE1NDQs
NyArMTU2MCw3IEBAIFJldGFpblB0cjxDVEZvbnRSZWY+IGNyZWF0ZUZvbnRGb3JJbnN0YWxsZWRG
b250cyhDVEZvbnRSZWYgZm9udCwgQWxsb3dVc2VySW5zdGFsCiAKIHZvaWQgYWRkQXR0cmlidXRl
c0ZvcldlYkZvbnRzKENGTXV0YWJsZURpY3Rpb25hcnlSZWYgYXR0cmlidXRlcywgQWxsb3dVc2Vy
SW5zdGFsbGVkRm9udHMgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpCiB7Ci0jaWYgQ0FOX0RJU0FM
TE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTCisjaWYgSEFWRShESVNBTExPV0FCTEVfVVNFUl9JTlNU
QUxMRURfRk9OVFMpCiAgICAgaWYgKGFsbG93VXNlckluc3RhbGxlZEZvbnRzID09IEFsbG93VXNl
ckluc3RhbGxlZEZvbnRzOjpObykgewogICAgICAgICBDVEZvbnRGYWxsYmFja09wdGlvbiBmYWxs
YmFja09wdGlvbiA9IGtDVEZvbnRGYWxsYmFja09wdGlvblN5c3RlbTsKICAgICAgICAgYXV0byBm
YWxsYmFja09wdGlvbk51bWJlciA9IGFkb3B0Q0YoQ0ZOdW1iZXJDcmVhdGUoa0NGQWxsb2NhdG9y
RGVmYXVsdCwga0NGTnVtYmVyU0ludDY0VHlwZSwgJmZhbGxiYWNrT3B0aW9uKSk7CkBAIC0xNTU4
LDcgKzE1NzQsNyBAQCB2b2lkIGFkZEF0dHJpYnV0ZXNGb3JXZWJGb250cyhDRk11dGFibGVEaWN0
aW9uYXJ5UmVmIGF0dHJpYnV0ZXMsIEFsbG93VXNlckluc3RhbAogCiBSZXRhaW5QdHI8Q0ZTZXRS
ZWY+IGluc3RhbGxlZEZvbnRNYW5kYXRvcnlBdHRyaWJ1dGVzKEFsbG93VXNlckluc3RhbGxlZEZv
bnRzIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKQogewotI2lmIENBTl9ESVNBTExPV19VU0VSX0lO
U1RBTExFRF9GT05UUworI2lmIEhBVkUoRElTQUxMT1dBQkxFX1VTRVJfSU5TVEFMTEVEX0ZPTlRT
KQogICAgIGlmIChhbGxvd1VzZXJJbnN0YWxsZWRGb250cyA9PSBBbGxvd1VzZXJJbnN0YWxsZWRG
b250czo6Tm8pIHsKICAgICAgICAgQ0ZUeXBlUmVmIG1hbmRhdG9yeUF0dHJpYnV0ZXNWYWx1ZXNb
XSA9IHsga0NURm9udEZhbWlseU5hbWVBdHRyaWJ1dGUsIGtDVEZvbnRQb3N0U2NyaXB0TmFtZUF0
dHJpYnV0ZSwga0NURm9udEVuYWJsZWRBdHRyaWJ1dGUsIGtDVEZvbnRVc2VySW5zdGFsbGVkQXR0
cmlidXRlLCBrQ1RGb250RmFsbGJhY2tPcHRpb25BdHRyaWJ1dGUgfTsKICAgICAgICAgcmV0dXJu
IGFkb3B0Q0YoQ0ZTZXRDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgbWFuZGF0b3J5QXR0cmli
dXRlc1ZhbHVlcywgV1RGX0FSUkFZX0xFTkdUSChtYW5kYXRvcnlBdHRyaWJ1dGVzVmFsdWVzKSwg
JmtDRlR5cGVTZXRDYWxsQmFja3MpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcAppbmRl
eCAzMzU4NDkwZWJlNTE3N2UzMWQ1ODc2ODM1NTlkMDViM2NmMjg0NmMwLi44MTAzMTc1YWVkODJk
MGQ4ZmY5ZmMzZTcyZjA2NDA3MWJhZGQyMDdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFDb3JlVGV4dC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29yZVRleHQu
Y3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiRm9udC5oIgogCiAjaW5jbHVkZSA8Q29y
ZVRleHQvQ29yZVRleHQuaD4KKyNpbmNsdWRlIDxwYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTMsNCArNTQsMTIgQEAgQ0ZEaWN0aW9uYXJ5
UmVmIEZvbnQ6OmdldENGU3RyaW5nQXR0cmlidXRlcyhib29sIGVuYWJsZUtlcm5pbmcsIEZvbnRP
cmllbnRhdGlvbgogICAgIHJldHVybiBhdHRyaWJ1dGVzRGljdGlvbmFyeS5nZXQoKTsKIH0KIAor
I2lmIEhBVkUoRElTQUxMT1dBQkxFX1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQorYm9vbCBGb250Ojpp
c1VzZXJJbnN0YWxsZWRGb250KCkgY29uc3QKK3sKKyAgICBhdXRvIGlzVXNlckluc3RhbGxlZEZv
bnQgPSBhZG9wdENGKHN0YXRpY19jYXN0PENGQm9vbGVhblJlZj4oQ1RGb250Q29weUF0dHJpYnV0
ZShnZXRDVEZvbnQoKSwga0NURm9udFVzZXJJbnN0YWxsZWRBdHRyaWJ1dGUpKSk7CisgICAgcmV0
dXJuIGlzVXNlckluc3RhbGxlZEZvbnQgJiYgQ0ZCb29sZWFuR2V0VmFsdWUoaXNVc2VySW5zdGFs
bGVkRm9udC5nZXQoKSk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDQyNjBmN2I3
NzJiOTM4ZTQyNTBlZDE5NDIyM2RhNjllMDQ2NGE4ZTEuLjY4M2QwOTkwYTMyYjA4NDEzYmE1ZmJm
N2QzNmY0YWI5ZmEwNTA5OTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29s
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxOS0wNy0xNiAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzdXJlIHRvIHNldCBrQ1RGb250RmFs
bGJhY2tPcHRpb25BdHRyaWJ1dGUgdG8ga0NURm9udEZhbGxiYWNrT3B0aW9uU3lzdGVtIGZvciBz
eXN0ZW0gZm9udHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5OTc2OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDkzOTAyOTc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTXlsZXMgQy4gTWF4ZmllbGQuCisKKyAgICAgICAgQWRkIGEgZm9udCBjb250
YWluaW5nIG9uZSBleHRlbmRlZCBjaGFyYWN0ZXIgbm90IGZvdW5kIGluIHN5c3RlbSBmb250cy4K
KworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvV2ViS2l0VGVzdFJ1bm5lci54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvZm9udHMvRmFrZUhl
bHZldGljYS1TaW5nbGVFeHRlbmRlZENoYXJhY3Rlci50dGY6IEFkZGVkLgorCiAyMDE5LTA3LTE1
ICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEpTR2xv
YmFsT2JqZWN0IHR5cGUgbWFjcm9zIHNob3VsZCBzdXBwb3J0IGZlYXR1cmUgZmxhZ3MgYW5kIFdl
YWtSZWYgc2hvdWxkIGhhdmUgb25lCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L1dlYktpdFRlc3RSdW5uZXIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvV2ViS2l0VGVzdFJ1bm5lci54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDRiNDdlODlhOWNlYjUzYTI1OTk1MmYxNmNiYWUxMWRiMDUyNWQxYmIuLjE4ZmMzNTkyM2Zm
ZWNiODZmMDc2M2Q4ZWQwZTVlNjYwZDA4OTY4ZDkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvV2ViS2l0VGVzdFJ1bm5lci54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV2ViS2l0VGVzdFJ1bm5lci54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC05Niw2ICs5Niw3IEBACiAJCTJFNzQ5QkYyMTg5MUVCRkEwMDdGQzE3NSAv
KiBFdmVudFNlbmRlclByb3h5SU9TLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkU2M0VEN0ExODkxQUNFOTAwMkE3QUZDIC8qIEV2ZW50U2VuZGVyUHJv
eHlJT1MubW0gKi87IH07CiAJCTMxREE4QTNEMUU3MjA1Q0MwMEUxREYyRiAvKiBJT1NMYXlvdXRU
ZXN0Q29tbXVuaWNhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMTQ4QTA1MzFFNkY4NUI2MDBEM0IzMTYgLyogSU9TTGF5b3V0VGVzdENvbW11
bmljYXRpb24uY3BwICovOyB9OwogCQk0MUM1Mzc4RTIxRjEzNDE0MDA4QjFGQUQgLyogVGVzdFdl
YnNpdGVEYXRhU3RvcmVEZWxlZ2F0ZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQxQzUzNzhEMjFGMTMzM0MwMDhCMUZBRCAvKiBUZXN0V2Vic2l0ZURh
dGFTdG9yZURlbGVnYXRlLm1tICovOyB9OworCQk0MUQ1QjYyNjIyREQ5RDM2MDAwRjRDNEEgLyog
RmFrZUhlbHZldGljYS1TaW5nbGVFeHRlbmRlZENoYXJhY3Rlci50dGYgaW4gUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDVCNjI1MjJERDlEMzYwMDBGNEM0
QSAvKiBGYWtlSGVsdmV0aWNhLVNpbmdsZUV4dGVuZGVkQ2hhcmFjdGVyLnR0ZiAqLzsgfTsKIAkJ
NDQzMEFFMTkxRjgyQzRGRDAwOTk5MTVBIC8qIEdlbmVyYXRlZFRvdWNoZXNEZWJ1Z1dpbmRvdy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MzBBRTE3
MUY4MkM0RUUwMDk5OTE1QSAvKiBHZW5lcmF0ZWRUb3VjaGVzRGVidWdXaW5kb3cubW0gKi87IH07
CiAJCTUxMDU4QUQ1MUQ2Nzg4MjAwMDlBNTM4QyAvKiBsaWJXZWJDb3JlVGVzdFN1cHBvcnQuZHls
aWIgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTIz
MEUxNjEzOEM3OEJGMDBCQ0NGQ0EgLyogbGliV2ViQ29yZVRlc3RTdXBwb3J0LmR5bGliICovOyB9
OwogCQk1MTA1OEFENjFENjc4ODI1MDA5QTUzOEMgLyogV2ViS2l0LmZyYW1ld29yayBpbiBGcmFt
ZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNTE2OUNBMTQ0NTIy
MkQwMEUwQTlENyAvKiBXZWJLaXQuZnJhbWV3b3JrICovOyB9OwpAQCAtMzAwLDYgKzMwMSw3IEBA
CiAJCTQxODE3MzFCMTM4QUQzOUQwMDU3QUFBNCAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViQ29yZVRlc3RTdXBwb3J0Lmg7IHBhdGgg
PSBXZWJDb3JlVGVzdFN1cHBvcnQvV2ViQ29yZVRlc3RTdXBwb3J0Lmg7IHNvdXJjZVRyZWUgPSBC
VUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTQxQzUzNzhDMjFGMTMzM0MwMDhCMUZBRCAvKiBUZXN0
V2Vic2l0ZURhdGFTdG9yZURlbGVnYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IFRlc3RXZWJzaXRlRGF0YVN0b3JlRGVsZWdhdGUuaDsgcGF0aCA9IGNvY29hL1Rlc3RXZWJz
aXRlRGF0YVN0b3JlRGVsZWdhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFD
NTM3OEQyMUYxMzMzQzAwOEIxRkFEIC8qIFRlc3RXZWJzaXRlRGF0YVN0b3JlRGVsZWdhdGUubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBUZXN0V2Vic2l0ZURhdGFT
dG9yZURlbGVnYXRlLm1tOyBwYXRoID0gY29jb2EvVGVzdFdlYnNpdGVEYXRhU3RvcmVEZWxlZ2F0
ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDFENUI2MjUyMkREOUQzNjAwMEY0
QzRBIC8qIEZha2VIZWx2ZXRpY2EtU2luZ2xlRXh0ZW5kZWRDaGFyYWN0ZXIudHRmICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZTsgbmFtZSA9ICJG
YWtlSGVsdmV0aWNhLVNpbmdsZUV4dGVuZGVkQ2hhcmFjdGVyLnR0ZiI7IHBhdGggPSAiZm9udHMv
RmFrZUhlbHZldGljYS1TaW5nbGVFeHRlbmRlZENoYXJhY3Rlci50dGYiOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0NDI5RkM1RTE2MjcwODk2MDBGNjZEOEIgLyogV29ya1F1ZXVlTWFu
YWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXb3JrUXVldWVN
YW5hZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQyOUZDNjExNjI3MDg5
NjAwRjY2RDhCIC8qIFdvcmtRdWV1ZU1hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV29ya1F1ZXVlTWFuYWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0NDMwQUUxNzFGODJDNEVFMDA5OTkxNUEgLyogR2VuZXJhdGVkVG91Y2hlc0RlYnVnV2luZG93
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gR2VuZXJhdGVkVG91Y2hlc0RlYnVnV2luZG93Lm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzQ5LDYgKzc1MSw3IEBACiAJCQkJMUNC
QTAyOTMxRkQ4NkVBMTAwMTc5QzdEIC8qIEZha2VIZWx2ZXRpY2EtSGVsdmV0aWNhLTUwMC50dGYg
Ki8sCiAJCQkJMUNCQTAyOTIxRkQ4NkVBMTAwMTc5QzdEIC8qIEZha2VIZWx2ZXRpY2EtSGVsdmV0
aWNhMi00MDAudHRmICovLAogCQkJCTFDQkEwMjk1MUZEODZFQTEwMDE3OUM3RCAvKiBGYWtlSGVs
dmV0aWNhLUhlbHZldGljYTItNTAwLnR0ZiAqLywKKwkJCQk0MUQ1QjYyNTIyREQ5RDM2MDAwRjRD
NEEgLyogRmFrZUhlbHZldGljYS1TaW5nbGVFeHRlbmRlZENoYXJhY3Rlci50dGYgKi8sCiAJCQkJ
MUNBMjExQzcxQkNBMTA3MzAwQjIxMDFGIC8qIEZvbnRXaXRoRmVhdHVyZXMub3RmICovLAogCQkJ
CTFDQTIxMUM4MUJDQTEwNzMwMEIyMTAxRiAvKiBGb250V2l0aEZlYXR1cmVzLnR0ZiAqLywKIAkJ
CQlCQzI1MTg2MzExRDE1RDU0MDAyRUJDMDEgLyogSW5qZWN0ZWRCdW5kbGUtSW5mby5wbGlzdCAq
LywKQEAgLTEwMjgsNiArMTAzMSw3IEBACiAJCQkJMUNCQTAyOTgxRkQ4N0RGMDAwMTc5QzdEIC8q
IEZha2VIZWx2ZXRpY2EtSGVsdmV0aWNhLTUwMC50dGYgaW4gUmVzb3VyY2VzICovLAogCQkJCTFD
QkEwMjk3MUZEODdERUUwMDE3OUM3RCAvKiBGYWtlSGVsdmV0aWNhLUhlbHZldGljYTItNDAwLnR0
ZiBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJMUNCQTAyOTYxRkQ4N0RFQzAwMTc5QzdEIC8qIEZha2VI
ZWx2ZXRpY2EtSGVsdmV0aWNhMi01MDAudHRmIGluIFJlc291cmNlcyAqLywKKwkJCQk0MUQ1QjYy
NjIyREQ5RDM2MDAwRjRDNEEgLyogRmFrZUhlbHZldGljYS1TaW5nbGVFeHRlbmRlZENoYXJhY3Rl
ci50dGYgaW4gUmVzb3VyY2VzICovLAogCQkJCTFDQTIxMUM5MUJDQTEwNzMwMEIyMTAxRiAvKiBG
b250V2l0aEZlYXR1cmVzLm90ZiBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJMUNBMjExQ0ExQkNBMTA3
MzAwQjIxMDFGIC8qIEZvbnRXaXRoRmVhdHVyZXMudHRmIGluIFJlc291cmNlcyAqLywKIAkJCQk2
NTEwQTc4NDExRUM2NDM4MDA0MTA4NjcgLyogV2ViS2l0V2VpZ2h0V2F0Y2hlcjEwMC50dGYgaW4g
UmVzb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9mb250cy9G
YWtlSGVsdmV0aWNhLVNpbmdsZUV4dGVuZGVkQ2hhcmFjdGVyLnR0ZiBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvZm9udHMvRmFrZUhlbHZldGljYS1TaW5nbGVFeHRlbmRlZENoYXJhY3Rlci50dGYK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNDBmMGQwZWE2MzVkMjBhMTNjZDJjZGU3ZTY3ZWZlZWQyOTk4NzNjZgpHSVQg
YmluYXJ5IHBhdGNoCmxpdGVyYWwgMTYxNgp6Y21kczEmcjRLTTYjbmo7SF91RXs2Q0VXJnU0JEJA
KTA8fjFpYjBTfkF4V2k7KDhpbypvLUBXY1p5MkFVaT5PQC0Kekh+a00keUNQayt1U0pWP0VoP3lP
dzgmKmQ1S1B+Pl5FQVByZWZNJFJ7bSF9UG9jckIjZT9TM2YhMmBzd21gPmxBCnoqfVFrPkd2Sikx
XzR1VyFpKW5QQ2dMPTI8U0xlPW4pNmVwKzA5QjtFbXxNd0soQnBsZ3soLVdUeUJsaVF4RExlNQp6
YktFWHVTMVl2fEdzOWA0ZXlDOHxTZW5QfFZ+JF49OXYxeTx6VEtPQ0xpfip+VEJIR1FufDdHMXBM
JjBCQzB5QCYKemlJZGRkUDtWOyp4aCFzanY5VCVZaGdZKWU2PG8kUiQxaFhZPD9NPC12dzd0UiQ2
b19ocTd0bHp4enhFQUslNStyCnpmfj1MJktlOVA/dDk5fV9ueihNWms4e3BZKUlUTUU7MGBrVUFB
JSlUSGk7OFViSkpIKklXQ3N7JXtDVCRGR2VEagp6djdKWktJTkQ4TClnIzEtPVd2dCVxZnZoajR0
bUtKQGtabGtlIUNOa2EmNzVpOXVJMTRTZ0woTnZ0ZCVfdj5Ud0kKeiRWYHwrNypkJGclKkVQY2tS
b0dLNSRpP25pMH5nfGY3c1k8JG9eWE9ePlE5aSNHeyRRZUsmdXpvfn5YZjNKWGx0CnpgOW5lcDty
Kmx+TF5BeVUmNzYwZkhzMXU3WW5mWDJiQytVaEt5cGpyJTthezFqVTh7eGlHUH5oaiMtNCppaXRU
Ywp6PUlzVll7aEhpbjMzdDVWaz5TbyQheXxwUktIbEEoJD1FWWUjYUAxTEF7JSVgJlc/SkM0KENL
fnFObFU3JDQjYGgKekNSJEMyVGt3M1otcDRRK1ZUREhjNXc7a0FLZipFSXNkb3shKFdzNkBJRjI/
bzkkfDt9MXZ4M1VvSilCUj5SNiRqCnpIQHVFNXo4cGI+VzA9T24yOzIxZThSMG16PldaKn5iflRM
KWpIekcpUlY8QGBCMF58WkZOWHA0OSRlbmphaF4/MAp6antzfXJVKj9Ba0wxbS01VHF1VjZiWiRV
PFpmYmxgWnY8PDhuUFY5YGdpSUVxTUU1KXNBWDUmUCE7K3NUb1RhVjYKekw/dlc3QzEoQT9TfTlB
QVdfcFF9ekRmX0BPckluSGpTMCVadGFXPmU8c0hIcFd0U3x7S3stcVopcT0wUnFebD9OCnotdDVH
dyhWPyorO3JsUDFeSkd4UEQlVDtyRzxpclZncFloMG5EP3V6JVJ5UFlaWXRAekUtZVFzP3FCJWNq
amE5UAp4OH1xbU9ENmZLb3I3VU1IbF5YTHtFTlAwai0tPUZ3eWE2NU5NQXUpbS03SEVSS2ZHVHNa
YFNfel5FVzFPeiZaY2AKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5ODJlZjk1ODNl
ZDU5OWNlOGE2MzUyM2I1Y2RlZjQ0YWM4ZDViMWNlLi5mMDMxYWNiZjAwNjYwM2MyYmIyMjFiZDAw
OTU2MTZkNmVmNDVlN2IxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTktMDctMTYgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc3VyZSB0byBzZXQg
a0NURm9udEZhbGxiYWNrT3B0aW9uQXR0cmlidXRlIHRvIGtDVEZvbnRGYWxsYmFja09wdGlvblN5
c3RlbSBmb3Igc3lzdGVtIGZvbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTk3NjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5MzkwMjk3Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE15bGVzIEMuIE1heGZpZWxkLgorCisgICAgICAgIFRlc3Rz
IHJlcXVpcmUgV1RSIGFuZCByZWNlbnQgTWFjT1MsIGhlbmNlIHdoeSB0aGV5IGFyZSBkaXNhYmxl
ZCBlbHNld2hlcmUuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBs
YXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBmYXN0L3RleHQvdXNl
ci1pbnN0YWxsZWQtZm9udHMvZXh0ZW5kZWQtY2hhcmFjdGVyLWV4cGVjdGVkLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9leHRlbmRlZC1jaGFy
YWN0ZXItd2l0aC11c2VyLWZvbnQtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVkLWNoYXJhY3Rlci13
aXRoLXVzZXItZm9udC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvdXNlci1pbnN0
YWxsZWQtZm9udHMvZXh0ZW5kZWQtY2hhcmFjdGVyLmh0bWw6IEFkZGVkLgorCiAyMDE5LTA3LTE1
ICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFttYWNPUyBX
SzJdIExheW91dCBUZXN0IGh0dHAvdGVzdHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFu
dC1hY2Nlc3MtdGhlbi1uYXZpZ2F0ZS1jcm9zcy1zaXRlLXNob3VsZC1ub3QtaGF2ZS1hY2Nlc3Mu
aHRtbCBpcyBhIGZsYWt5IHRpbWVvdXQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBl
Y3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGE0MzQ2MmJlMTJi
NzUzYTIyMTBiZjgyMzI2MWNjNzM0ZWQ1NDdhYWYuLmQ2NDFjMTg2NTQzNjQyZjRkM2UzYTk0ZmIy
M2QxMDQ5ZDEwMzBkMmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMK
KysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTY2OSw2ICsxNjY5LDEwIEBA
IHdlYmtpdC5vcmcvYi8xNDg4ODQgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9mb3Jtcy90ZXh0ZmllCiB3ZWJraXQub3JnL2IvMTkwNjI2IGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvdGhlLWRhdGFsaXN0LWVs
ZW1lbnQvZGF0YWxpc3RvcHRpb25zLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xOTA2
MTMgaW1wb3J0ZWQvYmxpbmsvZmFzdC9mb3Jtcy9kYXRhbGlzdC9zbGlkZXItYXBwZWFyYW5jZS13
aXRoLXRpY2tzLWNyYXNoLmh0bWwgWyBTa2lwIF0KIAorIyBUZXN0cyByZXF1aXJlIFdUUiBhbmQg
ZGlzYWJsaW5nIG9mIHVzZXIgaW5zdGFsbGVkIGZvbnRzLiBSZWVuYWJsaW5nIHRoZW0gaW4gc3Vw
cG9ydGVkIHBsYXRmb3JtcworZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVk
LWNoYXJhY3Rlci5odG1sIFsgU2tpcCBdCitmYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMv
ZXh0ZW5kZWQtY2hhcmFjdGVyLXdpdGgtdXNlci1mb250Lmh0bWwgWyBTa2lwIF0KKwogIyBEb2Vz
IHRpbWVvdXQKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vaWRsaGFy
bmVzcy5odHRwcy5odG1sIFsgU2tpcCBdCiAjIERvIGFzc2VydCBpbiBPZmZsaW5lQXVkaW9Db250
ZXh0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9u
dHMvZXh0ZW5kZWQtY2hhcmFjdGVyLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvdXNlci1pbnN0YWxsZWQtZm9udHMvZXh0ZW5kZWQtY2hhcmFjdGVyLWV4cGVjdGVkLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uM2Q1ZjZmYjMwNmM3NmRhNmU5Y2JhZGFjYWI0NjkzNmM1MTk4MGJlMgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250
cy9leHRlbmRlZC1jaGFyYWN0ZXItZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IWRv
Y3R5cGUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8bWV0YSBjaGFyc2V0PSJV
VEYtOCI+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8IS0tIHVua25vd24gY2hh
cmFjdGVyIC0tPgorICAgICAgICA8dGQ+JiN4MDExNzQwOzwvdGQ+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZv
bnRzL2V4dGVuZGVkLWNoYXJhY3Rlci13aXRoLXVzZXItZm9udC1leHBlY3RlZC1taXNtYXRjaC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVk
LWNoYXJhY3Rlci13aXRoLXVzZXItZm9udC1leHBlY3RlZC1taXNtYXRjaC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjNkNWY2ZmIzMDZjNzZkYTZlOWNiYWRhY2FiNDY5MzZjNTE5ODBiZTIKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvZXh0ZW5k
ZWQtY2hhcmFjdGVyLXdpdGgtdXNlci1mb250LWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKQEAgLTAs
MCArMSwxMCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAg
PG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PCEtLSB1bmtub3duIGNoYXJhY3RlciAtLT4KKyAgICAgICAgPHRkPiYjeDAxMTc0MDs8L3RkPgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91
c2VyLWluc3RhbGxlZC1mb250cy9leHRlbmRlZC1jaGFyYWN0ZXItd2l0aC11c2VyLWZvbnQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9leHRlbmRlZC1j
aGFyYWN0ZXItd2l0aC11c2VyLWZvbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZGFiZjJhY2NmZTE4NzA1
Y2EzNDBhMmJiOTdmZjkwNzA4ODgyMDZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVkLWNoYXJhY3Rlci13aXRoLXVz
ZXItZm9udC5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8L2hlYWQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxzY3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAg
dGVzdFJ1bm5lci5pbnN0YWxsRmFrZUhlbHZldGljYSgiU2luZ2xlRXh0ZW5kZWRDaGFyYWN0ZXIi
KTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDwhLS0gQ2hhcmFjdGVyIGtub3duIGJ5IHVz
ZXIgaW5zdGFsbGVkIGZvbnQgb25seSAtLT4KKyAgICAgICAgPHRkPiYjeDAxMTcyMTs8L3RkPgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91
c2VyLWluc3RhbGxlZC1mb250cy9leHRlbmRlZC1jaGFyYWN0ZXIuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9leHRlbmRlZC1jaGFyYWN0ZXIuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40YzIzZjlkY2Y5ZmU5OTQ2MmYxYTFmNDg5OWRhZWQ5MTExMzRmYmY0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRz
L2V4dGVuZGVkLWNoYXJhY3Rlci5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzwhZG9jdHlwZSBodG1s
PgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAg
ICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxzY3JpcHQ+CitpZiAod2luZG93LmludGVy
bmFscykKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVk
Rm9udHMoZmFsc2UpOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuaW5z
dGFsbEZha2VIZWx2ZXRpY2EoIlNpbmdsZUV4dGVuZGVkQ2hhcmFjdGVyIik7CisgICAgICAgIDwv
c2NyaXB0PgorICAgICAgICA8IS0tIENoYXJhY3RlciBrbm93biBieSB1c2VyIGluc3RhbGxlZCBm
b250IG9ubHkgLS0+CisgICAgICAgIDx0ZD4mI3gwMTE3MjE7PC90ZD4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBl
Y3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggMTUyNTA5NzhkMzdlZmNhMjZlYTI4MTdlOTY4ODJiZWU1NjJjODJkNC4uMDA4NGQ3NGNj
MGI5YzVlMDJmMTEyY2Q2NTBjMGEwNDBmMTk5ZGYxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNzczLDYgKzc3MywxMCBAQCB3ZWJraXQu
b3JnL2IvMTg1OTYyIG1lZGlhL3ZpZGVvLXBsYXktYXVkaW8tcmVxdWlyZS11c2VyLWdlc3R1cmUu
aHRtbCBbIFBhc3MgRmFpbAogd2Via2l0Lm9yZy9iLzE4NTk5NCBmYXN0L3RleHQvdXNlci1pbnN0
YWxsZWQtZm9udHMvc2hhZG93LWZhbWlseS5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0K
IHdlYmtpdC5vcmcvYi8xODU5OTQgZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL3NoYWRv
dy1wb3N0c2NyaXB0LWZhbWlseS5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KIAorIyBS
ZWVuYWJsZWQgdGVzdHMgZm9yIHN1cHBvcnRlZCBwbGF0Zm9ybXMKK1sgTW9qYXZlKyBdIGZhc3Qv
dGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9leHRlbmRlZC1jaGFyYWN0ZXIuaHRtbCBbIFBhc3Mg
XQorWyBNb2phdmUrIF0gZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVkLWNo
YXJhY3Rlci13aXRoLXVzZXItZm9udC5odG1sIFsgUGFzcyBdCisKICMgPHJkYXI6Ly9wcm9ibGVt
LzI1MDEwMzA3PgogWyBIaWdoU2llcnJhKyBdIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxl
UGF5RXJyb3IuaHRtbCBbIFBhc3MgXQogWyBIaWdoU2llcnJhKyBdIGh0dHAvdGVzdHMvc3NsL2Fw
cGxlcGF5L0FwcGxlUGF5U2Vzc2lvblYzLmh0bWwgWyBQYXNzIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374263</attachid>
            <date>2019-07-16 16:54:50 -0700</date>
            <delta_ts>2019-07-16 23:44:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199769-20190716165446.patch</filename>
            <type>text/plain</type>
            <size>24696</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3NDc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY3NmJlOWVhYzgxZWJiNTZjMGUwODFm
NzIyYWRiODJiYmI4NjVmMmMuLjMzNmFkMDI2YzdmMzRlNjU3M2NhMWE3OWRkNjhhZTg5NGRkYjk2
YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDctMTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc3VyZSB0byBzZXQga0NURm9udEZhbGxiYWNr
T3B0aW9uQXR0cmlidXRlIHRvIGtDVEZvbnRGYWxsYmFja09wdGlvblN5c3RlbSBmb3Igc3lzdGVt
IGZvbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTk3NjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5MzkwMjk3PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE15bGVzIEMuIE1heGZpZWxkLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisK
IDIwMTktMDctMTYgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgog
CiAgICAgICAgIFtXUEVdW0dUS10gSW1wcm92ZW1lbnRzIGFuZCBmaXhlcyBpbiBGaWxlU3lzdGVt
R2xpYi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2MWRjNWZkNjZlMzc2NGYwMWUxZjI4YjkwYzc2ZTEwNDE3
NWE5ZTM5Li42NmRhNjg5NzRmYzE0ZmI3ODk5OTA4OGExNzIzODFlZDZhMTY4MDBkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTktMDctMTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5A
YXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc3VyZSB0byBzZXQga0NURm9udEZhbGxiYWNrT3B0
aW9uQXR0cmlidXRlIHRvIGtDVEZvbnRGYWxsYmFja09wdGlvblN5c3RlbSBmb3Igc3lzdGVtIGZv
bnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTk3
NjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5MzkwMjk3PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE15bGVzIEMuIE1heGZpZWxkLgorCisgICAgICAgIFdoZW4gZ2V0dGluZyBhIHN5c3RlbSBm
b250LCBzZXQgdGhlIGFwcHJvcHJpYXRlIGF0dHJpYnV0ZSBzbyB0aGF0IGl0CisgICAgICAgIGRv
ZXMgbm90IGZhbGxiYWNrIHRvIGEgdXNlciBpbml0aWF0ZWQgZm9udC4KKyAgICAgICAgQWRkIGFu
IEFTU0VSVCB0aGF0IGNoZWNrcyB0aGF0IHRoZSBmb250IGluIHVzZSBpcyBub3QgYSB1c2VyIGZv
bnQgaWYKKyAgICAgICAgcG9saWN5IGlzIHRvIG5vdCB1c2UgdXNlciBpbnN0YWxsZWQgZm9udHMu
CisKKyAgICAgICAgVGVzdHM6IGZhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9leHRlbmRl
ZC1jaGFyYWN0ZXItd2l0aC11c2VyLWZvbnQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC90ZXh0
L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVkLWNoYXJhY3Rlci5odG1sCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udENhc2NhZGVGb250cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZUZvbnRz
OjpnbHlwaERhdGFGb3JTeXN0ZW1GYWxsYmFjayk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cHJlcGFy
ZVBsYXRmb3JtRm9udCk6CisgICAgICAgIChXZWJDb3JlOjpGb250RGF0YWJhc2U6OnNpbmdsZXRv
bkFsbG93aW5nVXNlckluc3RhbGxlZEZvbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnREYXRh
YmFzZTo6c2luZ2xldG9uRGlzYWxsb3dpbmdVc2VySW5zdGFsbGVkRm9udHMpOgorICAgICAgICAo
V2ViQ29yZTo6YWRkQXR0cmlidXRlc0Zvckluc3RhbGxlZEZvbnRzKToKKyAgICAgICAgKFdlYkNv
cmU6OmFkZEF0dHJpYnV0ZXNGb3JXZWJGb250cyk6CisgICAgICAgIChXZWJDb3JlOjppbnN0YWxs
ZWRGb250TWFuZGF0b3J5QXR0cmlidXRlcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL1NpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6
aXNVc2VySW5zdGFsbGVkRm9udCBjb25zdCk6CisKIDIwMTktMDctMTUgIFJ5YW4gSGFkZGFkICA8
cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjI0NzQ0NC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybS5oCmluZGV4IDZiODIwNTNlYTIwNDhmNDQ1ZWRlZTQ2MmVjNDZiMDg3
YTQ3MmY5NjUuLmZjYjQ2OWExMjMwNTUyMzNjZTk2NDhkNjI1ZWE1ZGNjZTdmMDkzZjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxh
dGZvcm0uaApAQCAtMTUzNiw2ICsxNTM2LDEwIEBACiAjZGVmaW5lIEVOQUJMRV9NT05PU1BBQ0Vf
Rk9OVF9FWENFUFRJT04gKF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTMwMDAw
KQogI2VuZGlmCiAKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMTQwMCkgfHwgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKyNkZWZpbmUgSEFW
RV9ESVNBTExPV0FCTEVfVVNFUl9JTlNUQUxMRURfRk9OVFMgMQorI2VuZGlmCisKICNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MzAwMDAKICNkZWZpbmUgSEFWRV9BUktJVF9RVUlDS19MT09LX1BSRVZJRVdfSVRFTSAxCiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAppbmRleCAzY2E5Nzg4NjJk
OWUzOWRhMTNhNjI2ZDc2ZTUzNjU1ZjJkNTYxMjE5Li4yZTU4YmQ2OWViYjUzOTFlMDM2ZDI4YzI3
MDJjMWY0NTA1MDhiMzEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5o
CkBAIC0yMDQsNiArMjA0LDEwIEBAIHB1YmxpYzoKICAgICBjb25zdCBCaXRWZWN0b3ImIGdseXBo
c1N1cHBvcnRlZEJ5QWxsUGV0aXRlQ2FwcygpIGNvbnN0OwogI2VuZGlmCiAKKyNpZiBIQVZFKERJ
U0FMTE9XQUJMRV9VU0VSX0lOU1RBTExFRF9GT05UUykKKyAgICBib29sIGlzVXNlckluc3RhbGxl
ZEZvbnQoKSBjb25zdDsKKyNlbmRpZgorCiAgICAgYm9vbCBjYW5SZW5kZXJDb21iaW5pbmdDaGFy
YWN0ZXJTZXF1ZW5jZShjb25zdCBVQ2hhciosIHNpemVfdCkgY29uc3Q7CiAgICAgYm9vbCBhcHBs
eVRyYW5zZm9ybXMoR2x5cGhCdWZmZXJHbHlwaCosIEdseXBoQnVmZmVyQWR2YW5jZSosIHNpemVf
dCBnbHlwaENvdW50LCBib29sIGVuYWJsZUtlcm5pbmcsIGJvb2wgcmVxdWlyZXNTaGFwaW5nKSBj
b25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dENhc2NhZGVGb250cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
Q2FzY2FkZUZvbnRzLmNwcAppbmRleCA2OTQ0NjljMGViNjJhZDljODRlOWJiZDA4ZmExMzQyNjQw
OTA2OWE5Li5kYjc0MzAyZTlkYWE0ZWI1MmMwY2UwODFmZDU2MDUyNzk1NzhmYmY0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZUZvbnRzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZUZvbnRz
LmNwcApAQCAtMzQ5LDYgKzM0OSwxMCBAQCBHbHlwaERhdGEgRm9udENhc2NhZGVGb250czo6Z2x5
cGhEYXRhRm9yU3lzdGVtRmFsbGJhY2soVUNoYXIzMiBjaGFyYWN0ZXIsIGNvbnN0CiAgICAgaWYg
KCFzeXN0ZW1GYWxsYmFja0ZvbnQpCiAgICAgICAgIHJldHVybiBHbHlwaERhdGEoKTsKIAorI2lm
IEhBVkUoRElTQUxMT1dBQkxFX1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQorICAgIEFTU0VSVCghc3lz
dGVtRmFsbGJhY2tGb250LT5pc1VzZXJJbnN0YWxsZWRGb250KCkgfHwgZGVzY3JpcHRpb24uc2hv
dWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSA9PSBBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6
WWVzKTsKKyNlbmRpZgorCiAgICAgaWYgKHN5c3RlbUZhbGxiYWNrU2hvdWxkQmVJbnZpc2libGUp
CiAgICAgICAgIHN5c3RlbUZhbGxiYWNrRm9udCA9IGNvbnN0X2Nhc3Q8Rm9udCo+KCZzeXN0ZW1G
YWxsYmFja0ZvbnQtPmludmlzaWJsZUZvbnQoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcApp
bmRleCAwNjI5MjljNTI4MmM4MTQ2ODZhNDkyOTE3Nzc0NWQwMWIzODFkMDc0Li4zNjJiZmVhZjk5
Yzk0YzkxOTRjZDlmMTkwYzllZDVlMGYxMzgwODJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3Bw
CkBAIC0zOSw3ICszOSw2IEBACiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAKICNk
ZWZpbmUgSEFTX0NPUkVfVEVYVF9XSURUSF9BVFRSSUJVVEUgKChQTEFURk9STShNQUMpICYmIF9f
TUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMzAwKSB8fCAoUExBVEZPUk0oSU9T
X0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwKSkK
LSNkZWZpbmUgQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTICgoUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkgfHwgKFBMQVRG
T1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEy
MDAwMCkpCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTcxLDcgKzU3MCw3IEBAIFJldGFp
blB0cjxDVEZvbnRSZWY+IHByZXBhcmVQbGF0Zm9ybUZvbnQoQ1RGb250UmVmIG9yaWdpbmFsRm9u
dCwgY29uc3QgRm9udERlc2NyCiAgICAgYm9vbCBmb250RmFjZURvZXNudFNwZWNpZnlGZWF0dXJl
cyA9ICFmb250RmFjZUZlYXR1cmVzIHx8IGZvbnRGYWNlRmVhdHVyZXMtPmlzRW1wdHkoKTsKICAg
ICBib29sIGZvbnRGYWNlRG9lc250U3BlY2lmeVZhcmlhdGlvbnMgPSAhZm9udEZhY2VWYXJpYW50
U2V0dGluZ3MgfHwgZm9udEZhY2VWYXJpYW50U2V0dGluZ3MtPmlzQWxsTm9ybWFsKCk7CiAgICAg
aWYgKG5vRm9udEZlYXR1cmVTZXR0aW5ncyAmJiBub0ZvbnRWYXJpYXRpb25TZXR0aW5ncyAmJiB0
ZXh0UmVuZGVyaW5nTW9kZUlzQXV0byAmJiB2YXJpYW50U2V0dGluZ3NJc05vcm1hbCAmJiBkb250
TmVlZFRvQXBwbHlPcHRpY2FsU2l6aW5nICYmIGZvbnRGYWNlRG9lc250U3BlY2lmeUZlYXR1cmVz
ICYmIGZvbnRGYWNlRG9lc250U3BlY2lmeVZhcmlhdGlvbnMpCi0gICAgICAgIHJldHVybiBvcmln
aW5hbEZvbnQ7CisgICAgICAgIHJldHVybiBjcmVhdGVGb250Rm9ySW5zdGFsbGVkRm9udHMob3Jp
Z2luYWxGb250LCBmb250RGVzY3JpcHRpb24uc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMo
KSk7CiAKICAgICAvLyBUaGlzIGFsZ29yaXRobSBpcyBkZXNjcmliZWQgYXQgaHR0cDovL3d3dy53
My5vcmcvVFIvY3NzMy1mb250cy8jZmVhdHVyZS1wcmVjZWRlbmNlCiAgICAgRmVhdHVyZXNNYXAg
ZmVhdHVyZXNUb0JlQXBwbGllZDsKQEAgLTY4Niw5ICs2ODUsMTAgQEAgUmV0YWluUHRyPENURm9u
dFJlZj4gcHJlcGFyZVBsYXRmb3JtRm9udChDVEZvbnRSZWYgb3JpZ2luYWxGb250LCBjb25zdCBG
b250RGVzY3IKICNlbmRpZgogICAgIH0KIAorICAgIGFkZEF0dHJpYnV0ZXNGb3JJbnN0YWxsZWRG
b250cyhhdHRyaWJ1dGVzLmdldCgpLCBmb250RGVzY3JpcHRpb24uc2hvdWxkQWxsb3dVc2VySW5z
dGFsbGVkRm9udHMoKSk7CisKICAgICBhdXRvIGRlc2NyaXB0b3IgPSBhZG9wdENGKENURm9udERl
c2NyaXB0b3JDcmVhdGVXaXRoQXR0cmlidXRlcyhhdHRyaWJ1dGVzLmdldCgpKSk7Ci0gICAgYXV0
byByZXN1bHQgPSBhZG9wdENGKENURm9udENyZWF0ZUNvcHlXaXRoQXR0cmlidXRlcyhvcmlnaW5h
bEZvbnQsIENURm9udEdldFNpemUob3JpZ2luYWxGb250KSwgbnVsbHB0ciwgZGVzY3JpcHRvci5n
ZXQoKSkpOwotICAgIHJldHVybiByZXN1bHQ7CisgICAgcmV0dXJuIGFkb3B0Q0YoQ1RGb250Q3Jl
YXRlQ29weVdpdGhBdHRyaWJ1dGVzKG9yaWdpbmFsRm9udCwgQ1RGb250R2V0U2l6ZShvcmlnaW5h
bEZvbnQpLCBudWxscHRyLCBkZXNjcmlwdG9yLmdldCgpKSk7CiB9CiAKIFJlZlB0cjxGb250PiBG
b250Q2FjaGU6OnNpbWlsYXJGb250KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24s
IGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSkKQEAgLTgzOSw3ICs4MzksNyBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgaXNTeXN0ZW1Gb250KGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSkKIAogY2xhc3Mg
Rm9udERhdGFiYXNlIHsKIHB1YmxpYzoKLSNpZiAhQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVE
X0ZPTlRTCisjaWYgIUhBVkUoRElTQUxMT1dBQkxFX1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQogICAg
IHN0YXRpYyBGb250RGF0YWJhc2UmIHNpbmdsZXRvbigpCiAgICAgewogICAgICAgICBzdGF0aWMg
TmV2ZXJEZXN0cm95ZWQ8Rm9udERhdGFiYXNlPiBkYXRhYmFzZShBbGxvd1VzZXJJbnN0YWxsZWRG
b250czo6WWVzKTsKQEAgLTg0OSw3ICs4NDksNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgRm9u
dERhdGFiYXNlJiBzaW5nbGV0b25BbGxvd2luZ1VzZXJJbnN0YWxsZWRGb250cygpCiAgICAgewot
I2lmIENBTl9ESVNBTExPV19VU0VSX0lOU1RBTExFRF9GT05UUworI2lmIEhBVkUoRElTQUxMT1dB
QkxFX1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQogICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
Rm9udERhdGFiYXNlPiBkYXRhYmFzZShBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6WWVzKTsKICAg
ICAgICAgcmV0dXJuIGRhdGFiYXNlOwogI2Vsc2UKQEAgLTg1OSw3ICs4NTksNyBAQCBwdWJsaWM6
CiAKICAgICBzdGF0aWMgRm9udERhdGFiYXNlJiBzaW5nbGV0b25EaXNhbGxvd2luZ1VzZXJJbnN0
YWxsZWRGb250cygpCiAgICAgewotI2lmIENBTl9ESVNBTExPV19VU0VSX0lOU1RBTExFRF9GT05U
UworI2lmIEhBVkUoRElTQUxMT1dBQkxFX1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQogICAgICAgICBz
dGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Rm9udERhdGFiYXNlPiBkYXRhYmFzZShBbGxvd1VzZXJJbnN0
YWxsZWRGb250czo6Tm8pOwogICAgICAgICByZXR1cm4gZGF0YWJhc2U7CiAjZWxzZQpAQCAtMTUw
Nyw3ICsxNTA3LDcgQEAgY29uc3QgQXRvbVN0cmluZyYgRm9udENhY2hlOjpwbGF0Zm9ybUFsdGVy
bmF0ZUZhbWlseU5hbWUoY29uc3QgQXRvbVN0cmluZyYgZmFtaWwKIAogdm9pZCBhZGRBdHRyaWJ1
dGVzRm9ySW5zdGFsbGVkRm9udHMoQ0ZNdXRhYmxlRGljdGlvbmFyeVJlZiBhdHRyaWJ1dGVzLCBB
bGxvd1VzZXJJbnN0YWxsZWRGb250cyBhbGxvd1VzZXJJbnN0YWxsZWRGb250cykKIHsKLSNpZiBD
QU5fRElTQUxMT1dfVVNFUl9JTlNUQUxMRURfRk9OVFMKKyNpZiBIQVZFKERJU0FMTE9XQUJMRV9V
U0VSX0lOU1RBTExFRF9GT05UUykKICAgICBpZiAoYWxsb3dVc2VySW5zdGFsbGVkRm9udHMgPT0g
QWxsb3dVc2VySW5zdGFsbGVkRm9udHM6Ok5vKSB7CiAgICAgICAgIENGRGljdGlvbmFyeUFkZFZh
bHVlKGF0dHJpYnV0ZXMsIGtDVEZvbnRVc2VySW5zdGFsbGVkQXR0cmlidXRlLCBrQ0ZCb29sZWFu
RmFsc2UpOwogICAgICAgICBDVEZvbnRGYWxsYmFja09wdGlvbiBmYWxsYmFja09wdGlvbiA9IGtD
VEZvbnRGYWxsYmFja09wdGlvblN5c3RlbTsKQEAgLTE1MzEsOCArMTUzMSwzMCBAQCBSZXRhaW5Q
dHI8Q1RGb250UmVmPiBjcmVhdGVGb250Rm9ySW5zdGFsbGVkRm9udHMoQ1RGb250RGVzY3JpcHRv
clJlZiBmb250RGVzY3JpcAogICAgIHJldHVybiBhZG9wdENGKENURm9udENyZWF0ZVdpdGhGb250
RGVzY3JpcHRvcihmb250RGVzY3JpcHRvciwgc2l6ZSwgbnVsbHB0cikpOwogfQogCitzdGF0aWMg
aW5saW5lIGJvb2wgaXNGb250TWF0Y2hpbmdVc2VySW5zdGFsbGVkRm9udEZhbGxiYWNrKENURm9u
dFJlZiBmb250LCBBbGxvd1VzZXJJbnN0YWxsZWRGb250cyBhbGxvd1VzZXJJbnN0YWxsZWRGb250
cykKK3sKKyNpZiBIQVZFKERJU0FMTE9XQUJMRV9VU0VSX0lOU1RBTExFRF9GT05UUykKKyAgICBi
b29sIHdpbGxGYWxsYmFja1RvU3lzdGVtT25seSA9IGZhbHNlOworICAgIGlmIChhdXRvIGZvbnRG
YWxsYmFja09wdGlvbkF0dHJpYnV0ZVJlZiA9IGFkb3B0Q0Yoc3RhdGljX2Nhc3Q8Q0ZOdW1iZXJS
ZWY+KENURm9udENvcHlBdHRyaWJ1dGUoZm9udCwga0NURm9udEZhbGxiYWNrT3B0aW9uQXR0cmli
dXRlKSkpKSB7CisgICAgICAgIGludDY0X3QgZm9udEZhbGxiYWNrT3B0aW9uQXR0cmlidXRlOwor
ICAgICAgICBDRk51bWJlckdldFZhbHVlKGZvbnRGYWxsYmFja09wdGlvbkF0dHJpYnV0ZVJlZi5n
ZXQoKSwga0NGTnVtYmVyU0ludDY0VHlwZSwgJmZvbnRGYWxsYmFja09wdGlvbkF0dHJpYnV0ZSk7
CisgICAgICAgIHdpbGxGYWxsYmFja1RvU3lzdGVtT25seSA9IGZvbnRGYWxsYmFja09wdGlvbkF0
dHJpYnV0ZSA9PSBrQ1RGb250RmFsbGJhY2tPcHRpb25TeXN0ZW07CisgICAgfQorCisgICAgYm9v
bCBzaG91bGRGYWxsYmFja1RvU3lzdGVtT25seSA9IGFsbG93VXNlckluc3RhbGxlZEZvbnRzID09
IEFsbG93VXNlckluc3RhbGxlZEZvbnRzOjpObzsKKyAgICByZXR1cm4gd2lsbEZhbGxiYWNrVG9T
eXN0ZW1Pbmx5ID09IHNob3VsZEZhbGxiYWNrVG9TeXN0ZW1Pbmx5OworI2Vsc2UKKyAgICBVTlVT
RURfUEFSQU0oZm9udCk7CisgICAgVU5VU0VEX1BBUkFNKGFsbG93VXNlckluc3RhbGxlZEZvbnRz
KTsKKyAgICByZXR1cm4gdHJ1ZTsKKyNlbmRpZgorfQorCiBSZXRhaW5QdHI8Q1RGb250UmVmPiBj
cmVhdGVGb250Rm9ySW5zdGFsbGVkRm9udHMoQ1RGb250UmVmIGZvbnQsIEFsbG93VXNlckluc3Rh
bGxlZEZvbnRzIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKQogeworICAgIGlmIChpc0ZvbnRNYXRj
aGluZ1VzZXJJbnN0YWxsZWRGb250RmFsbGJhY2soZm9udCwgYWxsb3dVc2VySW5zdGFsbGVkRm9u
dHMpKQorICAgICAgICByZXR1cm4gZm9udDsKKwogICAgIGF1dG8gYXR0cmlidXRlcyA9IGFkb3B0
Q0YoQ0ZEaWN0aW9uYXJ5Q3JlYXRlTXV0YWJsZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCAwLCAma0NG
VHlwZURpY3Rpb25hcnlLZXlDYWxsQmFja3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZhbHVlQ2FsbEJh
Y2tzKSk7CiAgICAgYWRkQXR0cmlidXRlc0Zvckluc3RhbGxlZEZvbnRzKGF0dHJpYnV0ZXMuZ2V0
KCksIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKICAgICBpZiAoQ0ZEaWN0aW9uYXJ5R2V0Q291
bnQoYXR0cmlidXRlcy5nZXQoKSkpIHsKQEAgLTE1NDQsNyArMTU2Niw3IEBAIFJldGFpblB0cjxD
VEZvbnRSZWY+IGNyZWF0ZUZvbnRGb3JJbnN0YWxsZWRGb250cyhDVEZvbnRSZWYgZm9udCwgQWxs
b3dVc2VySW5zdGFsCiAKIHZvaWQgYWRkQXR0cmlidXRlc0ZvcldlYkZvbnRzKENGTXV0YWJsZURp
Y3Rpb25hcnlSZWYgYXR0cmlidXRlcywgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMgYWxsb3dVc2Vy
SW5zdGFsbGVkRm9udHMpCiB7Ci0jaWYgQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRT
CisjaWYgSEFWRShESVNBTExPV0FCTEVfVVNFUl9JTlNUQUxMRURfRk9OVFMpCiAgICAgaWYgKGFs
bG93VXNlckluc3RhbGxlZEZvbnRzID09IEFsbG93VXNlckluc3RhbGxlZEZvbnRzOjpObykgewog
ICAgICAgICBDVEZvbnRGYWxsYmFja09wdGlvbiBmYWxsYmFja09wdGlvbiA9IGtDVEZvbnRGYWxs
YmFja09wdGlvblN5c3RlbTsKICAgICAgICAgYXV0byBmYWxsYmFja09wdGlvbk51bWJlciA9IGFk
b3B0Q0YoQ0ZOdW1iZXJDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwga0NGTnVtYmVyU0ludDY0
VHlwZSwgJmZhbGxiYWNrT3B0aW9uKSk7CkBAIC0xNTU4LDcgKzE1ODAsNyBAQCB2b2lkIGFkZEF0
dHJpYnV0ZXNGb3JXZWJGb250cyhDRk11dGFibGVEaWN0aW9uYXJ5UmVmIGF0dHJpYnV0ZXMsIEFs
bG93VXNlckluc3RhbAogCiBSZXRhaW5QdHI8Q0ZTZXRSZWY+IGluc3RhbGxlZEZvbnRNYW5kYXRv
cnlBdHRyaWJ1dGVzKEFsbG93VXNlckluc3RhbGxlZEZvbnRzIGFsbG93VXNlckluc3RhbGxlZEZv
bnRzKQogewotI2lmIENBTl9ESVNBTExPV19VU0VSX0lOU1RBTExFRF9GT05UUworI2lmIEhBVkUo
RElTQUxMT1dBQkxFX1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQogICAgIGlmIChhbGxvd1VzZXJJbnN0
YWxsZWRGb250cyA9PSBBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6Tm8pIHsKICAgICAgICAgQ0ZU
eXBlUmVmIG1hbmRhdG9yeUF0dHJpYnV0ZXNWYWx1ZXNbXSA9IHsga0NURm9udEZhbWlseU5hbWVB
dHRyaWJ1dGUsIGtDVEZvbnRQb3N0U2NyaXB0TmFtZUF0dHJpYnV0ZSwga0NURm9udEVuYWJsZWRB
dHRyaWJ1dGUsIGtDVEZvbnRVc2VySW5zdGFsbGVkQXR0cmlidXRlLCBrQ1RGb250RmFsbGJhY2tP
cHRpb25BdHRyaWJ1dGUgfTsKICAgICAgICAgcmV0dXJuIGFkb3B0Q0YoQ0ZTZXRDcmVhdGUoa0NG
QWxsb2NhdG9yRGVmYXVsdCwgbWFuZGF0b3J5QXR0cmlidXRlc1ZhbHVlcywgV1RGX0FSUkFZX0xF
TkdUSChtYW5kYXRvcnlBdHRyaWJ1dGVzVmFsdWVzKSwgJmtDRlR5cGVTZXRDYWxsQmFja3MpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVG
b250RGF0YUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21h
Yy9TaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcAppbmRleCAzMzU4NDkwZWJlNTE3N2UzMWQ1ODc2
ODM1NTlkMDViM2NmMjg0NmMwLi44MTAzMTc1YWVkODJkMGQ4ZmY5ZmMzZTcyZjA2NDA3MWJhZGQy
MDdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2lt
cGxlRm9udERhdGFDb3JlVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhQ29yZVRleHQuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAj
aW5jbHVkZSAiRm9udC5oIgogCiAjaW5jbHVkZSA8Q29yZVRleHQvQ29yZVRleHQuaD4KKyNpbmNs
dWRlIDxwYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApAQCAtNTMsNCArNTQsMTIgQEAgQ0ZEaWN0aW9uYXJ5UmVmIEZvbnQ6OmdldENGU3RyaW5nQXR0
cmlidXRlcyhib29sIGVuYWJsZUtlcm5pbmcsIEZvbnRPcmllbnRhdGlvbgogICAgIHJldHVybiBh
dHRyaWJ1dGVzRGljdGlvbmFyeS5nZXQoKTsKIH0KIAorI2lmIEhBVkUoRElTQUxMT1dBQkxFX1VT
RVJfSU5TVEFMTEVEX0ZPTlRTKQorYm9vbCBGb250Ojppc1VzZXJJbnN0YWxsZWRGb250KCkgY29u
c3QKK3sKKyAgICBhdXRvIGlzVXNlckluc3RhbGxlZEZvbnQgPSBhZG9wdENGKHN0YXRpY19jYXN0
PENGQm9vbGVhblJlZj4oQ1RGb250Q29weUF0dHJpYnV0ZShnZXRDVEZvbnQoKSwga0NURm9udFVz
ZXJJbnN0YWxsZWRBdHRyaWJ1dGUpKSk7CisgICAgcmV0dXJuIGlzVXNlckluc3RhbGxlZEZvbnQg
JiYgQ0ZCb29sZWFuR2V0VmFsdWUoaXNVc2VySW5zdGFsbGVkRm9udC5nZXQoKSk7Cit9CisjZW5k
aWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9n
IGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDQyNjBmN2I3NzJiOTM4ZTQyNTBlZDE5NDIyM2RhNjll
MDQ2NGE4ZTEuLjY4M2QwOTkwYTMyYjA4NDEzYmE1ZmJmN2QzNmY0YWI5ZmEwNTA5OTcgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NiBAQAorMjAxOS0wNy0xNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAg
ICAgICAgTWFrZSBzdXJlIHRvIHNldCBrQ1RGb250RmFsbGJhY2tPcHRpb25BdHRyaWJ1dGUgdG8g
a0NURm9udEZhbGxiYWNrT3B0aW9uU3lzdGVtIGZvciBzeXN0ZW0gZm9udHMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTc2OQorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vNDkzOTAyOTc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTXlsZXMgQy4gTWF4
ZmllbGQuCisKKyAgICAgICAgQWRkIGEgZm9udCBjb250YWluaW5nIG9uZSBleHRlbmRlZCBjaGFy
YWN0ZXIgbm90IGZvdW5kIGluIHN5c3RlbSBmb250cy4KKworICAgICAgICAqIFdlYktpdFRlc3RS
dW5uZXIvV2ViS2l0VGVzdFJ1bm5lci54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIFdlYktpdFRlc3RSdW5uZXIvZm9udHMvRmFrZUhlbHZldGljYS1TaW5nbGVFeHRlbmRlZENo
YXJhY3Rlci50dGY6IEFkZGVkLgorCiAyMDE5LTA3LTE1ICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9t
aWxsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEpTR2xvYmFsT2JqZWN0IHR5cGUgbWFjcm9zIHNo
b3VsZCBzdXBwb3J0IGZlYXR1cmUgZmxhZ3MgYW5kIFdlYWtSZWYgc2hvdWxkIGhhdmUgb25lCmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1dlYktpdFRlc3RSdW5uZXIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV2ViS2l0VGVzdFJ1
bm5lci54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDRiNDdlODlhOWNlYjUzYTI1OTk1
MmYxNmNiYWUxMWRiMDUyNWQxYmIuLjE4ZmMzNTkyM2ZmZWNiODZmMDc2M2Q4ZWQwZTVlNjYwZDA4
OTY4ZDkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV2ViS2l0VGVzdFJ1bm5l
ci54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
V2ViS2l0VGVzdFJ1bm5lci54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05Niw2ICs5Niw3
IEBACiAJCTJFNzQ5QkYyMTg5MUVCRkEwMDdGQzE3NSAvKiBFdmVudFNlbmRlclByb3h5SU9TLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkU2M0VEN0Ex
ODkxQUNFOTAwMkE3QUZDIC8qIEV2ZW50U2VuZGVyUHJveHlJT1MubW0gKi87IH07CiAJCTMxREE4
QTNEMUU3MjA1Q0MwMEUxREYyRiAvKiBJT1NMYXlvdXRUZXN0Q29tbXVuaWNhdGlvbi5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTQ4QTA1MzFFNkY4
NUI2MDBEM0IzMTYgLyogSU9TTGF5b3V0VGVzdENvbW11bmljYXRpb24uY3BwICovOyB9OwogCQk0
MUM1Mzc4RTIxRjEzNDE0MDA4QjFGQUQgLyogVGVzdFdlYnNpdGVEYXRhU3RvcmVEZWxlZ2F0ZS5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQzUzNzhE
MjFGMTMzM0MwMDhCMUZBRCAvKiBUZXN0V2Vic2l0ZURhdGFTdG9yZURlbGVnYXRlLm1tICovOyB9
OworCQk0MUQ1QjYyNjIyREQ5RDM2MDAwRjRDNEEgLyogRmFrZUhlbHZldGljYS1TaW5nbGVFeHRl
bmRlZENoYXJhY3Rlci50dGYgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxRDVCNjI1MjJERDlEMzYwMDBGNEM0QSAvKiBGYWtlSGVsdmV0aWNhLVNpbmds
ZUV4dGVuZGVkQ2hhcmFjdGVyLnR0ZiAqLzsgfTsKIAkJNDQzMEFFMTkxRjgyQzRGRDAwOTk5MTVB
IC8qIEdlbmVyYXRlZFRvdWNoZXNEZWJ1Z1dpbmRvdy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MzBBRTE3MUY4MkM0RUUwMDk5OTE1QSAvKiBHZW5l
cmF0ZWRUb3VjaGVzRGVidWdXaW5kb3cubW0gKi87IH07CiAJCTUxMDU4QUQ1MUQ2Nzg4MjAwMDlB
NTM4QyAvKiBsaWJXZWJDb3JlVGVzdFN1cHBvcnQuZHlsaWIgaW4gRnJhbWV3b3JrcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTIzMEUxNjEzOEM3OEJGMDBCQ0NGQ0EgLyog
bGliV2ViQ29yZVRlc3RTdXBwb3J0LmR5bGliICovOyB9OwogCQk1MTA1OEFENjFENjc4ODI1MDA5
QTUzOEMgLyogV2ViS2l0LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGNTE2OUNBMTQ0NTIyMkQwMEUwQTlENyAvKiBXZWJLaXQuZnJh
bWV3b3JrICovOyB9OwpAQCAtMzAwLDYgKzMwMSw3IEBACiAJCTQxODE3MzFCMTM4QUQzOUQwMDU3
QUFBNCAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gV2ViQ29yZVRlc3RTdXBwb3J0Lmg7IHBhdGggPSBXZWJDb3JlVGVzdFN1cHBvcnQvV2Vi
Q29yZVRlc3RTdXBwb3J0Lmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJ
CTQxQzUzNzhDMjFGMTMzM0MwMDhCMUZBRCAvKiBUZXN0V2Vic2l0ZURhdGFTdG9yZURlbGVnYXRl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFRlc3RXZWJzaXRlRGF0YVN0b3Jl
RGVsZWdhdGUuaDsgcGF0aCA9IGNvY29hL1Rlc3RXZWJzaXRlRGF0YVN0b3JlRGVsZWdhdGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFDNTM3OEQyMUYxMzMzQzAwOEIxRkFEIC8q
IFRlc3RXZWJzaXRlRGF0YVN0b3JlRGVsZWdhdGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IG5hbWUgPSBUZXN0V2Vic2l0ZURhdGFTdG9yZURlbGVnYXRlLm1tOyBwYXRoID0g
Y29jb2EvVGVzdFdlYnNpdGVEYXRhU3RvcmVEZWxlZ2F0ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNDFENUI2MjUyMkREOUQzNjAwMEY0QzRBIC8qIEZha2VIZWx2ZXRpY2EtU2lu
Z2xlRXh0ZW5kZWRDaGFyYWN0ZXIudHRmICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gZmlsZTsgbmFtZSA9ICJGYWtlSGVsdmV0aWNhLVNpbmdsZUV4dGVu
ZGVkQ2hhcmFjdGVyLnR0ZiI7IHBhdGggPSAiZm9udHMvRmFrZUhlbHZldGljYS1TaW5nbGVFeHRl
bmRlZENoYXJhY3Rlci50dGYiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDI5RkM1
RTE2MjcwODk2MDBGNjZEOEIgLyogV29ya1F1ZXVlTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXb3JrUXVldWVNYW5hZ2VyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDQyOUZDNjExNjI3MDg5NjAwRjY2RDhCIC8qIFdvcmtRdWV1ZU1h
bmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV29ya1F1ZXVlTWFuYWdl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDMwQUUxNzFGODJDNEVFMDA5OTkx
NUEgLyogR2VuZXJhdGVkVG91Y2hlc0RlYnVnV2luZG93Lm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gR2VuZXJhdGVkVG91Y2hlc0RlYnVnV2luZG93Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtNzQ5LDYgKzc1MSw3IEBACiAJCQkJMUNCQTAyOTMxRkQ4NkVBMTAwMTc5QzdEIC8q
IEZha2VIZWx2ZXRpY2EtSGVsdmV0aWNhLTUwMC50dGYgKi8sCiAJCQkJMUNCQTAyOTIxRkQ4NkVB
MTAwMTc5QzdEIC8qIEZha2VIZWx2ZXRpY2EtSGVsdmV0aWNhMi00MDAudHRmICovLAogCQkJCTFD
QkEwMjk1MUZEODZFQTEwMDE3OUM3RCAvKiBGYWtlSGVsdmV0aWNhLUhlbHZldGljYTItNTAwLnR0
ZiAqLywKKwkJCQk0MUQ1QjYyNTIyREQ5RDM2MDAwRjRDNEEgLyogRmFrZUhlbHZldGljYS1TaW5n
bGVFeHRlbmRlZENoYXJhY3Rlci50dGYgKi8sCiAJCQkJMUNBMjExQzcxQkNBMTA3MzAwQjIxMDFG
IC8qIEZvbnRXaXRoRmVhdHVyZXMub3RmICovLAogCQkJCTFDQTIxMUM4MUJDQTEwNzMwMEIyMTAx
RiAvKiBGb250V2l0aEZlYXR1cmVzLnR0ZiAqLywKIAkJCQlCQzI1MTg2MzExRDE1RDU0MDAyRUJD
MDEgLyogSW5qZWN0ZWRCdW5kbGUtSW5mby5wbGlzdCAqLywKQEAgLTEwMjgsNiArMTAzMSw3IEBA
CiAJCQkJMUNCQTAyOTgxRkQ4N0RGMDAwMTc5QzdEIC8qIEZha2VIZWx2ZXRpY2EtSGVsdmV0aWNh
LTUwMC50dGYgaW4gUmVzb3VyY2VzICovLAogCQkJCTFDQkEwMjk3MUZEODdERUUwMDE3OUM3RCAv
KiBGYWtlSGVsdmV0aWNhLUhlbHZldGljYTItNDAwLnR0ZiBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJ
MUNCQTAyOTYxRkQ4N0RFQzAwMTc5QzdEIC8qIEZha2VIZWx2ZXRpY2EtSGVsdmV0aWNhMi01MDAu
dHRmIGluIFJlc291cmNlcyAqLywKKwkJCQk0MUQ1QjYyNjIyREQ5RDM2MDAwRjRDNEEgLyogRmFr
ZUhlbHZldGljYS1TaW5nbGVFeHRlbmRlZENoYXJhY3Rlci50dGYgaW4gUmVzb3VyY2VzICovLAog
CQkJCTFDQTIxMUM5MUJDQTEwNzMwMEIyMTAxRiAvKiBGb250V2l0aEZlYXR1cmVzLm90ZiBpbiBS
ZXNvdXJjZXMgKi8sCiAJCQkJMUNBMjExQ0ExQkNBMTA3MzAwQjIxMDFGIC8qIEZvbnRXaXRoRmVh
dHVyZXMudHRmIGluIFJlc291cmNlcyAqLywKIAkJCQk2NTEwQTc4NDExRUM2NDM4MDA0MTA4Njcg
LyogV2ViS2l0V2VpZ2h0V2F0Y2hlcjEwMC50dGYgaW4gUmVzb3VyY2VzICovLApkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9mb250cy9GYWtlSGVsdmV0aWNhLVNpbmdsZUV4dGVu
ZGVkQ2hhcmFjdGVyLnR0ZiBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvZm9udHMvRmFrZUhlbHZl
dGljYS1TaW5nbGVFeHRlbmRlZENoYXJhY3Rlci50dGYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDBmMGQwZWE2MzVk
MjBhMTNjZDJjZGU3ZTY3ZWZlZWQyOTk4NzNjZgpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTYx
Ngp6Y21kczEmcjRLTTYjbmo7SF91RXs2Q0VXJnU0JEJAKTA8fjFpYjBTfkF4V2k7KDhpbypvLUBX
Y1p5MkFVaT5PQC0Kekh+a00keUNQayt1U0pWP0VoP3lPdzgmKmQ1S1B+Pl5FQVByZWZNJFJ7bSF9
UG9jckIjZT9TM2YhMmBzd21gPmxBCnoqfVFrPkd2SikxXzR1VyFpKW5QQ2dMPTI8U0xlPW4pNmVw
KzA5QjtFbXxNd0soQnBsZ3soLVdUeUJsaVF4RExlNQp6YktFWHVTMVl2fEdzOWA0ZXlDOHxTZW5Q
fFZ+JF49OXYxeTx6VEtPQ0xpfip+VEJIR1FufDdHMXBMJjBCQzB5QCYKemlJZGRkUDtWOyp4aCFz
anY5VCVZaGdZKWU2PG8kUiQxaFhZPD9NPC12dzd0UiQ2b19ocTd0bHp4enhFQUslNStyCnpmfj1M
JktlOVA/dDk5fV9ueihNWms4e3BZKUlUTUU7MGBrVUFBJSlUSGk7OFViSkpIKklXQ3N7JXtDVCRG
R2VEagp6djdKWktJTkQ4TClnIzEtPVd2dCVxZnZoajR0bUtKQGtabGtlIUNOa2EmNzVpOXVJMTRT
Z0woTnZ0ZCVfdj5Ud0kKeiRWYHwrNypkJGclKkVQY2tSb0dLNSRpP25pMH5nfGY3c1k8JG9eWE9e
PlE5aSNHeyRRZUsmdXpvfn5YZjNKWGx0CnpgOW5lcDtyKmx+TF5BeVUmNzYwZkhzMXU3WW5mWDJi
QytVaEt5cGpyJTthezFqVTh7eGlHUH5oaiMtNCppaXRUYwp6PUlzVll7aEhpbjMzdDVWaz5TbyQh
eXxwUktIbEEoJD1FWWUjYUAxTEF7JSVgJlc/SkM0KENLfnFObFU3JDQjYGgKekNSJEMyVGt3M1ot
cDRRK1ZUREhjNXc7a0FLZipFSXNkb3shKFdzNkBJRjI/bzkkfDt9MXZ4M1VvSilCUj5SNiRqCnpI
QHVFNXo4cGI+VzA9T24yOzIxZThSMG16PldaKn5iflRMKWpIekcpUlY8QGBCMF58WkZOWHA0OSRl
bmphaF4/MAp6antzfXJVKj9Ba0wxbS01VHF1VjZiWiRVPFpmYmxgWnY8PDhuUFY5YGdpSUVxTUU1
KXNBWDUmUCE7K3NUb1RhVjYKekw/dlc3QzEoQT9TfTlBQVdfcFF9ekRmX0BPckluSGpTMCVadGFX
PmU8c0hIcFd0U3x7S3stcVopcT0wUnFebD9OCnotdDVHdyhWPyorO3JsUDFeSkd4UEQlVDtyRzxp
clZncFloMG5EP3V6JVJ5UFlaWXRAekUtZVFzP3FCJWNqamE5UAp4OH1xbU9ENmZLb3I3VU1IbF5Y
THtFTlAwai0tPUZ3eWE2NU5NQXUpbS03SEVSS2ZHVHNaYFNfel5FVzFPeiZaY2AKCmxpdGVyYWwg
MApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5ODJlZjk1ODNlZDU5OWNlOGE2MzUyM2I1Y2RlZjQ0YWM4
ZDViMWNlLi5mMDMxYWNiZjAwNjYwM2MyYmIyMjFiZDAwOTU2MTZkNmVmNDVlN2IxIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTktMDctMTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgorCisgICAgICAgIE1ha2Ugc3VyZSB0byBzZXQga0NURm9udEZhbGxiYWNrT3B0aW9uQXR0
cmlidXRlIHRvIGtDVEZvbnRGYWxsYmFja09wdGlvblN5c3RlbSBmb3Igc3lzdGVtIGZvbnRzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTk3NjkKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5MzkwMjk3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE15
bGVzIEMuIE1heGZpZWxkLgorCisgICAgICAgIFRlc3RzIHJlcXVpcmUgV1RSIGFuZCByZWNlbnQg
TWFjT1MsIGhlbmNlIHdoeSB0aGV5IGFyZSBkaXNhYmxlZCBlbHNld2hlcmUuCisKKyAgICAgICAg
KiBUZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvVGVzdEV4cGVj
dGF0aW9uczoKKyAgICAgICAgKiBmYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvZXh0ZW5k
ZWQtY2hhcmFjdGVyLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC91
c2VyLWluc3RhbGxlZC1mb250cy9leHRlbmRlZC1jaGFyYWN0ZXItd2l0aC11c2VyLWZvbnQtZXhw
ZWN0ZWQtbWlzbWF0Y2guaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L3VzZXItaW5z
dGFsbGVkLWZvbnRzL2V4dGVuZGVkLWNoYXJhY3Rlci13aXRoLXVzZXItZm9udC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvZXh0ZW5kZWQtY2hh
cmFjdGVyLmh0bWw6IEFkZGVkLgorCiAyMDE5LTA3LTE1ICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRk
YWRAYXBwbGUuY29tPgogCiAgICAgICAgIFttYWNPUyBXSzJdIExheW91dCBUZXN0IGh0dHAvdGVz
dHMvc3RvcmFnZUFjY2Vzcy9yZXF1ZXN0LWFuZC1ncmFudC1hY2Nlc3MtdGhlbi1uYXZpZ2F0ZS1j
cm9zcy1zaXRlLXNob3VsZC1ub3QtaGF2ZS1hY2Nlc3MuaHRtbCBpcyBhIGZsYWt5IHRpbWVvdXQK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IGE0MzQ2MmJlMTJiNzUzYTIyMTBiZjgyMzI2MWNjNzM0ZWQ1
NDdhYWYuLmQ2NDFjMTg2NTQzNjQyZjRkM2UzYTk0ZmIyM2QxMDQ5ZDEwMzBkMmIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4
cGVjdGF0aW9ucwpAQCAtMTY2OSw2ICsxNjY5LDEwIEBAIHdlYmtpdC5vcmcvYi8xNDg4ODQgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90ZXh0Zmll
CiB3ZWJraXQub3JnL2IvMTkwNjI2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3MvZm9ybXMvdGhlLWRhdGFsaXN0LWVsZW1lbnQvZGF0YWxpc3RvcHRpb25zLmh0
bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xOTA2MTMgaW1wb3J0ZWQvYmxpbmsvZmFzdC9m
b3Jtcy9kYXRhbGlzdC9zbGlkZXItYXBwZWFyYW5jZS13aXRoLXRpY2tzLWNyYXNoLmh0bWwgWyBT
a2lwIF0KIAorIyBUZXN0cyByZXF1aXJlIFdUUiBhbmQgZGlzYWJsaW5nIG9mIHVzZXIgaW5zdGFs
bGVkIGZvbnRzLiBSZWVuYWJsaW5nIHRoZW0gaW4gc3VwcG9ydGVkIHBsYXRmb3JtcworZmFzdC90
ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVkLWNoYXJhY3Rlci5odG1sIFsgU2tpcCBd
CitmYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvZXh0ZW5kZWQtY2hhcmFjdGVyLXdpdGgt
dXNlci1mb250Lmh0bWwgWyBTa2lwIF0KKwogIyBEb2VzIHRpbWVvdXQKIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2ViYXVkaW8vaWRsaGFybmVzcy5odHRwcy5odG1sIFsgU2tpcCBd
CiAjIERvIGFzc2VydCBpbiBPZmZsaW5lQXVkaW9Db250ZXh0CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvZXh0ZW5kZWQtY2hhcmFjdGVyLWV4
cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMv
ZXh0ZW5kZWQtY2hhcmFjdGVyLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Q1ZjZmYjMwNmM3
NmRhNmU5Y2JhZGFjYWI0NjkzNmM1MTk4MGJlMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9leHRlbmRlZC1jaGFyYWN0ZXItZXhw
ZWN0ZWQuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICAg
IDxoZWFkPgorICAgICAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgPC9oZWFkPgorICAg
IDxib2R5PgorICAgICAgICA8IS0tIHVua25vd24gY2hhcmFjdGVyIC0tPgorICAgICAgICA8dGQ+
JiN4MDExNzQwOzwvdGQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVkLWNoYXJhY3Rlci13
aXRoLXVzZXItZm9udC1leHBlY3RlZC1taXNtYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVkLWNoYXJhY3Rlci13aXRoLXVzZXItZm9u
dC1leHBlY3RlZC1taXNtYXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkNWY2ZmIzMDZjNzZkYTZlOWNi
YWRhY2FiNDY5MzZjNTE5ODBiZTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvZXh0ZW5kZWQtY2hhcmFjdGVyLXdpdGgtdXNlci1m
b250LWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFkb2N0eXBlIGh0
bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgor
ICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPCEtLSB1bmtub3duIGNoYXJhY3RlciAt
LT4KKyAgICAgICAgPHRkPiYjeDAxMTc0MDs8L3RkPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9leHRl
bmRlZC1jaGFyYWN0ZXItd2l0aC11c2VyLWZvbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC91c2VyLWluc3RhbGxlZC1mb250cy9leHRlbmRlZC1jaGFyYWN0ZXItd2l0aC11c2VyLWZvbnQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xZGFiZjJhY2NmZTE4NzA1Y2EzNDBhMmJiOTdmZjkwNzA4ODgyMDZk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVk
LWZvbnRzL2V4dGVuZGVkLWNoYXJhY3Rlci13aXRoLXVzZXItZm9udC5odG1sCkBAIC0wLDAgKzEs
MTQgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRh
IGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxzY3Jp
cHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5pbnN0YWxsRmFrZUhl
bHZldGljYSgiU2luZ2xlRXh0ZW5kZWRDaGFyYWN0ZXIiKTsKKyAgICAgICAgPC9zY3JpcHQ+Cisg
ICAgICAgIDwhLS0gQ2hhcmFjdGVyIGtub3duIGJ5IHVzZXIgaW5zdGFsbGVkIGZvbnQgb25seSAt
LT4KKyAgICAgICAgPHRkPiYjeDAxMTcyMTs8L3RkPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9leHRl
bmRlZC1jaGFyYWN0ZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91c2VyLWluc3RhbGxl
ZC1mb250cy9leHRlbmRlZC1jaGFyYWN0ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YzIzZjlkY2Y5ZmU5
OTQ2MmYxYTFmNDg5OWRhZWQ5MTExMzRmYmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVkLWNoYXJhY3Rlci5odG1s
CkBAIC0wLDAgKzEsMTYgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoZmFsc2UpOworaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuaW5zdGFsbEZha2VIZWx2ZXRpY2EoIlNpbmds
ZUV4dGVuZGVkQ2hhcmFjdGVyIik7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8IS0tIENo
YXJhY3RlciBrbm93biBieSB1c2VyIGluc3RhbGxlZCBmb250IG9ubHkgLS0+CisgICAgICAgIDx0
ZD4mI3gwMTE3MjE7PC90ZD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMTUyNTA5NzhkMzdlZmNhMjZl
YTI4MTdlOTY4ODJiZWU1NjJjODJkNC4uMDA4NGQ3NGNjMGI5YzVlMDJmMTEyY2Q2NTBjMGEwNDBm
MTk5ZGYxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0
aW9ucwpAQCAtNzczLDYgKzc3MywxMCBAQCB3ZWJraXQub3JnL2IvMTg1OTYyIG1lZGlhL3ZpZGVv
LXBsYXktYXVkaW8tcmVxdWlyZS11c2VyLWdlc3R1cmUuaHRtbCBbIFBhc3MgRmFpbAogd2Via2l0
Lm9yZy9iLzE4NTk5NCBmYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvc2hhZG93LWZhbWls
eS5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xODU5OTQgZmFz
dC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL3NoYWRvdy1wb3N0c2NyaXB0LWZhbWlseS5odG1s
IFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KIAorIyBSZWVuYWJsZWQgdGVzdHMgZm9yIHN1cHBv
cnRlZCBwbGF0Zm9ybXMKK1sgTW9qYXZlKyBdIGZhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250
cy9leHRlbmRlZC1jaGFyYWN0ZXIuaHRtbCBbIFBhc3MgXQorWyBNb2phdmUrIF0gZmFzdC90ZXh0
L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVkLWNoYXJhY3Rlci13aXRoLXVzZXItZm9udC5o
dG1sIFsgUGFzcyBdCisKICMgPHJkYXI6Ly9wcm9ibGVtLzI1MDEwMzA3PgogWyBIaWdoU2llcnJh
KyBdIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3IuaHRtbCBbIFBhc3MgXQog
WyBIaWdoU2llcnJhKyBdIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvblYz
Lmh0bWwgWyBQYXNzIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374281</attachid>
            <date>2019-07-16 23:44:17 -0700</date>
            <delta_ts>2019-07-18 11:34:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199769-20190716234416.patch</filename>
            <type>text/plain</type>
            <size>26682</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3NDQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDBmZmM1NWNkMDQ2YTA1NGRiY2YzODEy
Njc4ZTcyMWJkMjU5NjZlYzguLjJiMzBiYTI5Yjc3Yjk3OTMyYjk5ZGY2ODZjMzBhNGQ4MWIwZDI2
ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDctMTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2Ugc3VyZSB0byBzZXQga0NURm9udEZhbGxiYWNr
T3B0aW9uQXR0cmlidXRlIHRvIGtDVEZvbnRGYWxsYmFja09wdGlvblN5c3RlbSBmb3Igc3lzdGVt
IGZvbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTk3NjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5MzkwMjk3PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE15bGVzIEMuIE1heGZpZWxkLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtLmg6CisK
IDIwMTktMDctMTQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBB
ZGQgdGhyZWFkaW5nIGFzc2VydGlvbiB0byBXZWFrUHRyRmFjdG9yeTo6Y3JlYXRlV2Vha1B0cigp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggZDMwMDU2MmYzMGM0ZTkwODY3MDgyZDcxMTA3ZWM5YzViODI5MmQ1Yi4u
ZDQ3ZGQ5NGI5NDRiMGVjODBkMmI5YTU4OGU0NmQyN2Q5Nzk0MzBkZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDMyIEBACisyMDE5LTA3LTE2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KKworICAgICAgICBNYWtlIHN1cmUgdG8gc2V0IGtDVEZvbnRGYWxsYmFja09wdGlvbkF0dHJp
YnV0ZSB0byBrQ1RGb250RmFsbGJhY2tPcHRpb25TeXN0ZW0gZm9yIHN5c3RlbSBmb250cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5NzY5CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS80OTM5MDI5Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBNeWxl
cyBDLiBNYXhmaWVsZC4KKworICAgICAgICBXaGVuIGdldHRpbmcgYSBzeXN0ZW0gZm9udCwgc2V0
IHRoZSBhcHByb3ByaWF0ZSBhdHRyaWJ1dGUgc28gdGhhdCBpdAorICAgICAgICBkb2VzIG5vdCBm
YWxsYmFjayB0byBhIHVzZXIgaW5pdGlhdGVkIGZvbnQuCisgICAgICAgIEFkZCBhbiBBU1NFUlQg
dGhhdCBjaGVja3MgdGhhdCB0aGUgZm9udCBpbiB1c2UgaXMgbm90IGEgdXNlciBmb250IGlmCisg
ICAgICAgIHBvbGljeSBpcyB0byBub3QgdXNlIHVzZXIgaW5zdGFsbGVkIGZvbnRzLgorCisgICAg
ICAgIFRlc3RzOiBmYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvZXh0ZW5kZWQtY2hhcmFj
dGVyLXdpdGgtdXNlci1mb250Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC91c2VyLWlu
c3RhbGxlZC1mb250cy9leHRlbmRlZC1jaGFyYWN0ZXIuaHRtbAorCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNj
YWRlRm9udHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Rm9udENhc2NhZGVGb250czo6Z2x5cGhE
YXRhRm9yU3lzdGVtRmFsbGJhY2spOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0ZvbnRDYWNoZUNvcmVUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnByZXBhcmVQbGF0Zm9y
bUZvbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udERhdGFiYXNlOjpzaW5nbGV0b25BbGxvd2lu
Z1VzZXJJbnN0YWxsZWRGb250cyk6CisgICAgICAgIChXZWJDb3JlOjpGb250RGF0YWJhc2U6OnNp
bmdsZXRvbkRpc2FsbG93aW5nVXNlckluc3RhbGxlZEZvbnRzKToKKyAgICAgICAgKFdlYkNvcmU6
OmFkZEF0dHJpYnV0ZXNGb3JJbnN0YWxsZWRGb250cyk6CisgICAgICAgIChXZWJDb3JlOjphZGRB
dHRyaWJ1dGVzRm9yV2ViRm9udHMpOgorICAgICAgICAoV2ViQ29yZTo6aW5zdGFsbGVkRm9udE1h
bmRhdG9yeUF0dHJpYnV0ZXMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1w
bGVGb250RGF0YUNvcmVUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmlzVXNlcklu
c3RhbGxlZEZvbnQgY29uc3QpOgorCiAyMDE5LTA3LTE1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5u
QGFwcGxlLmNvbT4KIAogICAgICAgICBIb3AgdG8gbWFpbiB0aHJlYWQgZm9yIHJlbGVhc2UgbG9n
Z2luZyBpbiBSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCmluZGV4IDUyMzdh
ZjIyYzlhYzM1ZTk3NWYxMTkzZGJhOWY5ZjQ3NjQ3MWI0NjkuLmMxNThiYzBjMWUzOTE5NzJlZTZk
YjU4NDFjZGI4MTFiYzc4ZDM1NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3Jt
LmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApAQCAtMTUzNiw2ICsxNTM2LDEwIEBA
CiAjZGVmaW5lIEVOQUJMRV9NT05PU1BBQ0VfRk9OVF9FWENFUFRJT04gKF9fSVBIT05FX09TX1ZF
UlNJT05fTUlOX1JFUVVJUkVEIDwgMTMwMDAwKQogI2VuZGlmCiAKKyNpZiAoUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTQwMCkgfHwgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKKyNkZWZpbmUgSEFWRV9ESVNBTExPV0FCTEVfVVNFUl9JTlNUQUxMRURf
Rk9OVFMgMQorI2VuZGlmCisKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKSAmJiBfX0lQSE9ORV9P
U19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMzAwMDAKICNkZWZpbmUgSEFWRV9BUktJVF9RVUlD
S19MT09LX1BSRVZJRVdfSVRFTSAxCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnQuaAppbmRleCAzY2E5Nzg4NjJkOWUzOWRhMTNhNjI2ZDc2ZTUzNjU1ZjJkNTYxMjE5
Li4yZTU4YmQ2OWViYjUzOTFlMDM2ZDI4YzI3MDJjMWY0NTA1MDhiMzEyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCkBAIC0yMDQsNiArMjA0LDEwIEBAIHB1YmxpYzoK
ICAgICBjb25zdCBCaXRWZWN0b3ImIGdseXBoc1N1cHBvcnRlZEJ5QWxsUGV0aXRlQ2FwcygpIGNv
bnN0OwogI2VuZGlmCiAKKyNpZiBIQVZFKERJU0FMTE9XQUJMRV9VU0VSX0lOU1RBTExFRF9GT05U
UykKKyAgICBib29sIGlzVXNlckluc3RhbGxlZEZvbnQoKSBjb25zdDsKKyNlbmRpZgorCiAgICAg
Ym9vbCBjYW5SZW5kZXJDb21iaW5pbmdDaGFyYWN0ZXJTZXF1ZW5jZShjb25zdCBVQ2hhciosIHNp
emVfdCkgY29uc3Q7CiAgICAgYm9vbCBhcHBseVRyYW5zZm9ybXMoR2x5cGhCdWZmZXJHbHlwaCos
IEdseXBoQnVmZmVyQWR2YW5jZSosIHNpemVfdCBnbHlwaENvdW50LCBib29sIGVuYWJsZUtlcm5p
bmcsIGJvb2wgcmVxdWlyZXNTaGFwaW5nKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGVGb250cy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZUZvbnRzLmNwcAppbmRleCA2OTQ0Njlj
MGViNjJhZDljODRlOWJiZDA4ZmExMzQyNjQwOTA2OWE5Li5kYjc0MzAyZTlkYWE0ZWI1MmMwY2Uw
ODFmZDU2MDUyNzk1NzhmYmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250Q2FzY2FkZUZvbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250Q2FzY2FkZUZvbnRzLmNwcApAQCAtMzQ5LDYgKzM0OSwxMCBAQCBHbHlw
aERhdGEgRm9udENhc2NhZGVGb250czo6Z2x5cGhEYXRhRm9yU3lzdGVtRmFsbGJhY2soVUNoYXIz
MiBjaGFyYWN0ZXIsIGNvbnN0CiAgICAgaWYgKCFzeXN0ZW1GYWxsYmFja0ZvbnQpCiAgICAgICAg
IHJldHVybiBHbHlwaERhdGEoKTsKIAorI2lmIEhBVkUoRElTQUxMT1dBQkxFX1VTRVJfSU5TVEFM
TEVEX0ZPTlRTKQorICAgIEFTU0VSVCghc3lzdGVtRmFsbGJhY2tGb250LT5pc1VzZXJJbnN0YWxs
ZWRGb250KCkgfHwgZGVzY3JpcHRpb24uc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSA9
PSBBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6WWVzKTsKKyNlbmRpZgorCiAgICAgaWYgKHN5c3Rl
bUZhbGxiYWNrU2hvdWxkQmVJbnZpc2libGUpCiAgICAgICAgIHN5c3RlbUZhbGxiYWNrRm9udCA9
IGNvbnN0X2Nhc3Q8Rm9udCo+KCZzeXN0ZW1GYWxsYmFja0ZvbnQtPmludmlzaWJsZUZvbnQoKSk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0Zv
bnRDYWNoZUNvcmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcAppbmRleCBhNWFiNjUwZDhiYzU5ODk0YWQyNjBjYzA0
ZjAwNzYxYTM2NTZlMTI0Li40MTZmNTE5NDgxNThjZWYwNmZlMWNjOGUwZWU4ZDY4NGRjNzQ1MDcy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250
Q2FjaGVDb3JlVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSA8
d3RmL05ldmVyRGVzdHJveWVkLmg+CiAKICNkZWZpbmUgSEFTX0NPUkVfVEVYVF9XSURUSF9BVFRS
SUJVVEUgKChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxMzAwKSB8fCAoUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgX19JUEhPTkVfT1NfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPj0gMTEwMDAwKSkKLSNkZWZpbmUgQ0FOX0RJU0FMTE9XX1VTRVJfSU5T
VEFMTEVEX0ZPTlRTICgoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwMTQwMCkgfHwgKFBMQVRGT1JNKElPU19GQU1JTFkpICYmIF9fSVBIT05FX09T
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEyMDAwMCkpCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApAQCAtNTcwLDcgKzU2OSw3IEBAIFJldGFpblB0cjxDVEZvbnRSZWY+IHByZXBhcmVQbGF0Zm9y
bUZvbnQoQ1RGb250UmVmIG9yaWdpbmFsRm9udCwgY29uc3QgRm9udERlc2NyCiAgICAgYm9vbCBm
b250RmFjZURvZXNudFNwZWNpZnlGZWF0dXJlcyA9ICFmb250RmFjZUZlYXR1cmVzIHx8IGZvbnRG
YWNlRmVhdHVyZXMtPmlzRW1wdHkoKTsKICAgICBib29sIGZvbnRGYWNlRG9lc250U3BlY2lmeVZh
cmlhdGlvbnMgPSAhZm9udEZhY2VWYXJpYW50U2V0dGluZ3MgfHwgZm9udEZhY2VWYXJpYW50U2V0
dGluZ3MtPmlzQWxsTm9ybWFsKCk7CiAgICAgaWYgKG5vRm9udEZlYXR1cmVTZXR0aW5ncyAmJiBu
b0ZvbnRWYXJpYXRpb25TZXR0aW5ncyAmJiB0ZXh0UmVuZGVyaW5nTW9kZUlzQXV0byAmJiB2YXJp
YW50U2V0dGluZ3NJc05vcm1hbCAmJiBkb250TmVlZFRvQXBwbHlPcHRpY2FsU2l6aW5nICYmIGZv
bnRGYWNlRG9lc250U3BlY2lmeUZlYXR1cmVzICYmIGZvbnRGYWNlRG9lc250U3BlY2lmeVZhcmlh
dGlvbnMpCi0gICAgICAgIHJldHVybiBvcmlnaW5hbEZvbnQ7CisgICAgICAgIHJldHVybiBjcmVh
dGVGb250Rm9ySW5zdGFsbGVkRm9udHMob3JpZ2luYWxGb250LCBmb250RGVzY3JpcHRpb24uc2hv
dWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSk7CiAKICAgICAvLyBUaGlzIGFsZ29yaXRobSBp
cyBkZXNjcmliZWQgYXQgaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1mb250cy8jZmVhdHVyZS1w
cmVjZWRlbmNlCiAgICAgRmVhdHVyZXNNYXAgZmVhdHVyZXNUb0JlQXBwbGllZDsKQEAgLTY4NSw5
ICs2ODQsMTAgQEAgUmV0YWluUHRyPENURm9udFJlZj4gcHJlcGFyZVBsYXRmb3JtRm9udChDVEZv
bnRSZWYgb3JpZ2luYWxGb250LCBjb25zdCBGb250RGVzY3IKICNlbmRpZgogICAgIH0KIAorICAg
IGFkZEF0dHJpYnV0ZXNGb3JJbnN0YWxsZWRGb250cyhhdHRyaWJ1dGVzLmdldCgpLCBmb250RGVz
Y3JpcHRpb24uc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSk7CisKICAgICBhdXRvIGRl
c2NyaXB0b3IgPSBhZG9wdENGKENURm9udERlc2NyaXB0b3JDcmVhdGVXaXRoQXR0cmlidXRlcyhh
dHRyaWJ1dGVzLmdldCgpKSk7Ci0gICAgYXV0byByZXN1bHQgPSBhZG9wdENGKENURm9udENyZWF0
ZUNvcHlXaXRoQXR0cmlidXRlcyhvcmlnaW5hbEZvbnQsIENURm9udEdldFNpemUob3JpZ2luYWxG
b250KSwgbnVsbHB0ciwgZGVzY3JpcHRvci5nZXQoKSkpOwotICAgIHJldHVybiByZXN1bHQ7Cisg
ICAgcmV0dXJuIGFkb3B0Q0YoQ1RGb250Q3JlYXRlQ29weVdpdGhBdHRyaWJ1dGVzKG9yaWdpbmFs
Rm9udCwgQ1RGb250R2V0U2l6ZShvcmlnaW5hbEZvbnQpLCBudWxscHRyLCBkZXNjcmlwdG9yLmdl
dCgpKSk7CiB9CiAKIFJlZlB0cjxGb250PiBGb250Q2FjaGU6OnNpbWlsYXJGb250KGNvbnN0IEZv
bnREZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSkKQEAg
LTgzOCw3ICs4MzgsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNTeXN0ZW1Gb250KGNvbnN0IEF0
b21TdHJpbmcmIGZhbWlseSkKIAogY2xhc3MgRm9udERhdGFiYXNlIHsKIHB1YmxpYzoKLSNpZiAh
Q0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTCisjaWYgIUhBVkUoRElTQUxMT1dBQkxF
X1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQogICAgIHN0YXRpYyBGb250RGF0YWJhc2UmIHNpbmdsZXRv
bigpCiAgICAgewogICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Rm9udERhdGFiYXNlPiBk
YXRhYmFzZShBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6WWVzKTsKQEAgLTg0OCw3ICs4NDgsNyBA
QCBwdWJsaWM6CiAKICAgICBzdGF0aWMgRm9udERhdGFiYXNlJiBzaW5nbGV0b25BbGxvd2luZ1Vz
ZXJJbnN0YWxsZWRGb250cygpCiAgICAgewotI2lmIENBTl9ESVNBTExPV19VU0VSX0lOU1RBTExF
RF9GT05UUworI2lmIEhBVkUoRElTQUxMT1dBQkxFX1VTRVJfSU5TVEFMTEVEX0ZPTlRTKQogICAg
ICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Rm9udERhdGFiYXNlPiBkYXRhYmFzZShBbGxvd1Vz
ZXJJbnN0YWxsZWRGb250czo6WWVzKTsKICAgICAgICAgcmV0dXJuIGRhdGFiYXNlOwogI2Vsc2UK
QEAgLTg1OCw3ICs4NTgsNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgRm9udERhdGFiYXNlJiBz
aW5nbGV0b25EaXNhbGxvd2luZ1VzZXJJbnN0YWxsZWRGb250cygpCiAgICAgewotI2lmIENBTl9E
SVNBTExPV19VU0VSX0lOU1RBTExFRF9GT05UUworI2lmIEhBVkUoRElTQUxMT1dBQkxFX1VTRVJf
SU5TVEFMTEVEX0ZPTlRTKQogICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8Rm9udERhdGFi
YXNlPiBkYXRhYmFzZShBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6Tm8pOwogICAgICAgICByZXR1
cm4gZGF0YWJhc2U7CiAjZWxzZQpAQCAtODcyLDEwICs4NzIsMTUgQEAgcHVibGljOgogICAgIHN0
cnVjdCBJbnN0YWxsZWRGb250IHsKICAgICAgICAgSW5zdGFsbGVkRm9udCgpID0gZGVmYXVsdDsK
IAotICAgICAgICBJbnN0YWxsZWRGb250KENURm9udERlc2NyaXB0b3JSZWYgZm9udERlc2NyaXB0
b3IpCisgICAgICAgIEluc3RhbGxlZEZvbnQoQ1RGb250RGVzY3JpcHRvclJlZiBmb250RGVzY3Jp
cHRvciwgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpCiAg
ICAgICAgICAgICA6IGZvbnREZXNjcmlwdG9yKGZvbnREZXNjcmlwdG9yKQogICAgICAgICAgICAg
LCBjYXBhYmlsaXRpZXMoY2FwYWJpbGl0aWVzRm9yRm9udERlc2NyaXB0b3IoZm9udERlc2NyaXB0
b3IpKQogICAgICAgICB7CisgICAgICAgICAgICBpZiAoYWxsb3dVc2VySW5zdGFsbGVkRm9udHMg
IT0gQWxsb3dVc2VySW5zdGFsbGVkRm9udHM6Ok5vKQorICAgICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgICAgIGF1dG8gYXR0cmlidXRlcyA9IGFkb3B0Q0YoQ0ZEaWN0aW9uYXJ5Q3JlYXRl
TXV0YWJsZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCAwLCAma0NGVHlwZURpY3Rpb25hcnlLZXlDYWxs
QmFja3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZhbHVlQ2FsbEJhY2tzKSk7CisgICAgICAgICAgICBh
ZGRBdHRyaWJ1dGVzRm9ySW5zdGFsbGVkRm9udHMoYXR0cmlidXRlcy5nZXQoKSwgYWxsb3dVc2Vy
SW5zdGFsbGVkRm9udHMpOworICAgICAgICAgICAgdGhpcy0+Zm9udERlc2NyaXB0b3IgPSBDVEZv
bnREZXNjcmlwdG9yQ3JlYXRlQ29weVdpdGhBdHRyaWJ1dGVzKGZvbnREZXNjcmlwdG9yLCBhdHRy
aWJ1dGVzLmdldCgpKTsKICAgICAgICAgfQogCiAgICAgICAgIFJldGFpblB0cjxDVEZvbnREZXNj
cmlwdG9yUmVmPiBmb250RGVzY3JpcHRvcjsKQEAgLTkzMyw3ICs5MzgsNyBAQCBwdWJsaWM6CiAg
ICAgICAgICAgICAgICAgVmVjdG9yPEluc3RhbGxlZEZvbnQ+IHJlc3VsdDsKICAgICAgICAgICAg
ICAgICByZXN1bHQucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShjb3VudCk7CiAgICAgICAgICAgICAg
ICAgZm9yIChDRkluZGV4IGkgPSAwOyBpIDwgY291bnQ7ICsraSkgewotICAgICAgICAgICAgICAg
ICAgICBJbnN0YWxsZWRGb250IGluc3RhbGxlZEZvbnQoc3RhdGljX2Nhc3Q8Q1RGb250RGVzY3Jp
cHRvclJlZj4oQ0ZBcnJheUdldFZhbHVlQXRJbmRleChtYXRjaGVzLmdldCgpLCBpKSkpOworICAg
ICAgICAgICAgICAgICAgICBJbnN0YWxsZWRGb250IGluc3RhbGxlZEZvbnQoc3RhdGljX2Nhc3Q8
Q1RGb250RGVzY3JpcHRvclJlZj4oQ0ZBcnJheUdldFZhbHVlQXRJbmRleChtYXRjaGVzLmdldCgp
LCBpKSksIG1fYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOwogICAgICAgICAgICAgICAgICAgICBy
ZXN1bHQudW5jaGVja2VkQXBwZW5kKFdURk1vdmUoaW5zdGFsbGVkRm9udCkpOwogICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgICAgICByZXR1cm4gSW5zdGFsbGVkRm9udEZhbWlseShXVEZN
b3ZlKHJlc3VsdCkpOwpAQCAtOTYyLDcgKzk2Nyw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIGF1
dG8gZm9udERlc2NyaXB0b3JUb01hdGNoID0gYWRvcHRDRihDVEZvbnREZXNjcmlwdG9yQ3JlYXRl
V2l0aEF0dHJpYnV0ZXMoYXR0cmlidXRlcy5nZXQoKSkpOwogICAgICAgICAgICAgYXV0byBtYW5k
YXRvcnlBdHRyaWJ1dGVzID0gaW5zdGFsbGVkRm9udE1hbmRhdG9yeUF0dHJpYnV0ZXMobV9hbGxv
d1VzZXJJbnN0YWxsZWRGb250cyk7CiAgICAgICAgICAgICBhdXRvIG1hdGNoID0gYWRvcHRDRihD
VEZvbnREZXNjcmlwdG9yQ3JlYXRlTWF0Y2hpbmdGb250RGVzY3JpcHRvcihmb250RGVzY3JpcHRv
clRvTWF0Y2guZ2V0KCksIG1hbmRhdG9yeUF0dHJpYnV0ZXMuZ2V0KCkpKTsKLSAgICAgICAgICAg
IHJldHVybiBJbnN0YWxsZWRGb250KG1hdGNoLmdldCgpKTsKKyAgICAgICAgICAgIHJldHVybiBJ
bnN0YWxsZWRGb250KG1hdGNoLmdldCgpLCBtX2FsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKICAg
ICAgICAgfSkuaXRlcmF0b3ItPnZhbHVlOwogICAgIH0KIApAQCAtMTUwNiw3ICsxNTExLDcgQEAg
Y29uc3QgQXRvbVN0cmluZyYgRm9udENhY2hlOjpwbGF0Zm9ybUFsdGVybmF0ZUZhbWlseU5hbWUo
Y29uc3QgQXRvbVN0cmluZyYgZmFtaWwKIAogdm9pZCBhZGRBdHRyaWJ1dGVzRm9ySW5zdGFsbGVk
Rm9udHMoQ0ZNdXRhYmxlRGljdGlvbmFyeVJlZiBhdHRyaWJ1dGVzLCBBbGxvd1VzZXJJbnN0YWxs
ZWRGb250cyBhbGxvd1VzZXJJbnN0YWxsZWRGb250cykKIHsKLSNpZiBDQU5fRElTQUxMT1dfVVNF
Ul9JTlNUQUxMRURfRk9OVFMKKyNpZiBIQVZFKERJU0FMTE9XQUJMRV9VU0VSX0lOU1RBTExFRF9G
T05UUykKICAgICBpZiAoYWxsb3dVc2VySW5zdGFsbGVkRm9udHMgPT0gQWxsb3dVc2VySW5zdGFs
bGVkRm9udHM6Ok5vKSB7CiAgICAgICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGF0dHJpYnV0ZXMs
IGtDVEZvbnRVc2VySW5zdGFsbGVkQXR0cmlidXRlLCBrQ0ZCb29sZWFuRmFsc2UpOwogICAgICAg
ICBDVEZvbnRGYWxsYmFja09wdGlvbiBmYWxsYmFja09wdGlvbiA9IGtDVEZvbnRGYWxsYmFja09w
dGlvblN5c3RlbTsKQEAgLTE1MzAsOCArMTUzNSwzMCBAQCBSZXRhaW5QdHI8Q1RGb250UmVmPiBj
cmVhdGVGb250Rm9ySW5zdGFsbGVkRm9udHMoQ1RGb250RGVzY3JpcHRvclJlZiBmb250RGVzY3Jp
cAogICAgIHJldHVybiBhZG9wdENGKENURm9udENyZWF0ZVdpdGhGb250RGVzY3JpcHRvcihmb250
RGVzY3JpcHRvciwgc2l6ZSwgbnVsbHB0cikpOwogfQogCitzdGF0aWMgaW5saW5lIGJvb2wgaXNG
b250TWF0Y2hpbmdVc2VySW5zdGFsbGVkRm9udEZhbGxiYWNrKENURm9udFJlZiBmb250LCBBbGxv
d1VzZXJJbnN0YWxsZWRGb250cyBhbGxvd1VzZXJJbnN0YWxsZWRGb250cykKK3sKKyNpZiBIQVZF
KERJU0FMTE9XQUJMRV9VU0VSX0lOU1RBTExFRF9GT05UUykKKyAgICBib29sIHdpbGxGYWxsYmFj
a1RvU3lzdGVtT25seSA9IGZhbHNlOworICAgIGlmIChhdXRvIGZvbnRGYWxsYmFja09wdGlvbkF0
dHJpYnV0ZVJlZiA9IGFkb3B0Q0Yoc3RhdGljX2Nhc3Q8Q0ZOdW1iZXJSZWY+KENURm9udENvcHlB
dHRyaWJ1dGUoZm9udCwga0NURm9udEZhbGxiYWNrT3B0aW9uQXR0cmlidXRlKSkpKSB7CisgICAg
ICAgIGludDY0X3QgZm9udEZhbGxiYWNrT3B0aW9uQXR0cmlidXRlOworICAgICAgICBDRk51bWJl
ckdldFZhbHVlKGZvbnRGYWxsYmFja09wdGlvbkF0dHJpYnV0ZVJlZi5nZXQoKSwga0NGTnVtYmVy
U0ludDY0VHlwZSwgJmZvbnRGYWxsYmFja09wdGlvbkF0dHJpYnV0ZSk7CisgICAgICAgIHdpbGxG
YWxsYmFja1RvU3lzdGVtT25seSA9IGZvbnRGYWxsYmFja09wdGlvbkF0dHJpYnV0ZSA9PSBrQ1RG
b250RmFsbGJhY2tPcHRpb25TeXN0ZW07CisgICAgfQorCisgICAgYm9vbCBzaG91bGRGYWxsYmFj
a1RvU3lzdGVtT25seSA9IGFsbG93VXNlckluc3RhbGxlZEZvbnRzID09IEFsbG93VXNlckluc3Rh
bGxlZEZvbnRzOjpObzsKKyAgICByZXR1cm4gd2lsbEZhbGxiYWNrVG9TeXN0ZW1Pbmx5ID09IHNo
b3VsZEZhbGxiYWNrVG9TeXN0ZW1Pbmx5OworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0oZm9udCk7
CisgICAgVU5VU0VEX1BBUkFNKGFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKKyAgICByZXR1cm4g
dHJ1ZTsKKyNlbmRpZgorfQorCiBSZXRhaW5QdHI8Q1RGb250UmVmPiBjcmVhdGVGb250Rm9ySW5z
dGFsbGVkRm9udHMoQ1RGb250UmVmIGZvbnQsIEFsbG93VXNlckluc3RhbGxlZEZvbnRzIGFsbG93
VXNlckluc3RhbGxlZEZvbnRzKQogeworICAgIGlmIChpc0ZvbnRNYXRjaGluZ1VzZXJJbnN0YWxs
ZWRGb250RmFsbGJhY2soZm9udCwgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpKQorICAgICAgICBy
ZXR1cm4gZm9udDsKKwogICAgIGF1dG8gYXR0cmlidXRlcyA9IGFkb3B0Q0YoQ0ZEaWN0aW9uYXJ5
Q3JlYXRlTXV0YWJsZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCAwLCAma0NGVHlwZURpY3Rpb25hcnlL
ZXlDYWxsQmFja3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZhbHVlQ2FsbEJhY2tzKSk7CiAgICAgYWRk
QXR0cmlidXRlc0Zvckluc3RhbGxlZEZvbnRzKGF0dHJpYnV0ZXMuZ2V0KCksIGFsbG93VXNlcklu
c3RhbGxlZEZvbnRzKTsKICAgICBpZiAoQ0ZEaWN0aW9uYXJ5R2V0Q291bnQoYXR0cmlidXRlcy5n
ZXQoKSkpIHsKQEAgLTE1NDMsNyArMTU3MCw3IEBAIFJldGFpblB0cjxDVEZvbnRSZWY+IGNyZWF0
ZUZvbnRGb3JJbnN0YWxsZWRGb250cyhDVEZvbnRSZWYgZm9udCwgQWxsb3dVc2VySW5zdGFsCiAK
IHZvaWQgYWRkQXR0cmlidXRlc0ZvcldlYkZvbnRzKENGTXV0YWJsZURpY3Rpb25hcnlSZWYgYXR0
cmlidXRlcywgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMp
CiB7Ci0jaWYgQ0FOX0RJU0FMTE9XX1VTRVJfSU5TVEFMTEVEX0ZPTlRTCisjaWYgSEFWRShESVNB
TExPV0FCTEVfVVNFUl9JTlNUQUxMRURfRk9OVFMpCiAgICAgaWYgKGFsbG93VXNlckluc3RhbGxl
ZEZvbnRzID09IEFsbG93VXNlckluc3RhbGxlZEZvbnRzOjpObykgewogICAgICAgICBDVEZvbnRG
YWxsYmFja09wdGlvbiBmYWxsYmFja09wdGlvbiA9IGtDVEZvbnRGYWxsYmFja09wdGlvblN5c3Rl
bTsKICAgICAgICAgYXV0byBmYWxsYmFja09wdGlvbk51bWJlciA9IGFkb3B0Q0YoQ0ZOdW1iZXJD
cmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwga0NGTnVtYmVyU0ludDY0VHlwZSwgJmZhbGxiYWNr
T3B0aW9uKSk7CkBAIC0xNTU3LDcgKzE1ODQsNyBAQCB2b2lkIGFkZEF0dHJpYnV0ZXNGb3JXZWJG
b250cyhDRk11dGFibGVEaWN0aW9uYXJ5UmVmIGF0dHJpYnV0ZXMsIEFsbG93VXNlckluc3RhbAog
CiBSZXRhaW5QdHI8Q0ZTZXRSZWY+IGluc3RhbGxlZEZvbnRNYW5kYXRvcnlBdHRyaWJ1dGVzKEFs
bG93VXNlckluc3RhbGxlZEZvbnRzIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKQogewotI2lmIENB
Tl9ESVNBTExPV19VU0VSX0lOU1RBTExFRF9GT05UUworI2lmIEhBVkUoRElTQUxMT1dBQkxFX1VT
RVJfSU5TVEFMTEVEX0ZPTlRTKQogICAgIGlmIChhbGxvd1VzZXJJbnN0YWxsZWRGb250cyA9PSBB
bGxvd1VzZXJJbnN0YWxsZWRGb250czo6Tm8pIHsKICAgICAgICAgQ0ZUeXBlUmVmIG1hbmRhdG9y
eUF0dHJpYnV0ZXNWYWx1ZXNbXSA9IHsga0NURm9udEZhbWlseU5hbWVBdHRyaWJ1dGUsIGtDVEZv
bnRQb3N0U2NyaXB0TmFtZUF0dHJpYnV0ZSwga0NURm9udEVuYWJsZWRBdHRyaWJ1dGUsIGtDVEZv
bnRVc2VySW5zdGFsbGVkQXR0cmlidXRlLCBrQ1RGb250RmFsbGJhY2tPcHRpb25BdHRyaWJ1dGUg
fTsKICAgICAgICAgcmV0dXJuIGFkb3B0Q0YoQ0ZTZXRDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVs
dCwgbWFuZGF0b3J5QXR0cmlidXRlc1ZhbHVlcywgV1RGX0FSUkFZX0xFTkdUSChtYW5kYXRvcnlB
dHRyaWJ1dGVzVmFsdWVzKSwgJmtDRlR5cGVTZXRDYWxsQmFja3MpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YUNvcmVUZXh0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0
YUNvcmVUZXh0LmNwcAppbmRleCAzMzU4NDkwZWJlNTE3N2UzMWQ1ODc2ODM1NTlkMDViM2NmMjg0
NmMwLi44MTAzMTc1YWVkODJkMGQ4ZmY5ZmMzZTcyZjA2NDA3MWJhZGQyMDdhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFDb3Jl
VGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBs
ZUZvbnREYXRhQ29yZVRleHQuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiRm9udC5o
IgogCiAjaW5jbHVkZSA8Q29yZVRleHQvQ29yZVRleHQuaD4KKyNpbmNsdWRlIDxwYWwvc3BpL2Nv
Y29hL0NvcmVUZXh0U1BJLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTMsNCArNTQs
MTIgQEAgQ0ZEaWN0aW9uYXJ5UmVmIEZvbnQ6OmdldENGU3RyaW5nQXR0cmlidXRlcyhib29sIGVu
YWJsZUtlcm5pbmcsIEZvbnRPcmllbnRhdGlvbgogICAgIHJldHVybiBhdHRyaWJ1dGVzRGljdGlv
bmFyeS5nZXQoKTsKIH0KIAorI2lmIEhBVkUoRElTQUxMT1dBQkxFX1VTRVJfSU5TVEFMTEVEX0ZP
TlRTKQorYm9vbCBGb250Ojppc1VzZXJJbnN0YWxsZWRGb250KCkgY29uc3QKK3sKKyAgICBhdXRv
IGlzVXNlckluc3RhbGxlZEZvbnQgPSBhZG9wdENGKHN0YXRpY19jYXN0PENGQm9vbGVhblJlZj4o
Q1RGb250Q29weUF0dHJpYnV0ZShnZXRDVEZvbnQoKSwga0NURm9udFVzZXJJbnN0YWxsZWRBdHRy
aWJ1dGUpKSk7CisgICAgcmV0dXJuIGlzVXNlckluc3RhbGxlZEZvbnQgJiYgQ0ZCb29sZWFuR2V0
VmFsdWUoaXNVc2VySW5zdGFsbGVkRm9udC5nZXQoKSk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IGEwNDUwMjI5Y2VkZmQxN2RiNDM0OWE4ZWYyOWUyNDIwODY5YmEwNmQuLjZmNzNk
MDViZGQ5NmQwN2JkYjcxYjI4MmQ3YzZjNTNmODBiNjgwOGQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxOS0wNy0x
NiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzdXJl
IHRvIHNldCBrQ1RGb250RmFsbGJhY2tPcHRpb25BdHRyaWJ1dGUgdG8ga0NURm9udEZhbGxiYWNr
T3B0aW9uU3lzdGVtIGZvciBzeXN0ZW0gZm9udHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTc2OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDkz
OTAyOTc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTXlsZXMgQy4gTWF4ZmllbGQuCisKKyAgICAg
ICAgQWRkIGEgZm9udCBjb250YWluaW5nIG9uZSBleHRlbmRlZCBjaGFyYWN0ZXIgbm90IGZvdW5k
IGluIHN5c3RlbSBmb250cy4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvV2ViS2l0VGVz
dFJ1bm5lci54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYktpdFRlc3RS
dW5uZXIvZm9udHMvRmFrZUhlbHZldGljYS1TaW5nbGVFeHRlbmRlZENoYXJhY3Rlci50dGY6IEFk
ZGVkLgorCiAyMDE5LTA3LTE1ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29t
PgogCiAgICAgICAgIFttYWNPUyAxMC4xNV0gQ2Fubm90IHVuYm9sZCBzZWxlY3RlZCB0ZXh0IHdo
ZW4gdGhlIHN5c3RlbSBmb250IGlzIHVzZWQKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvV2ViS2l0VGVzdFJ1bm5lci54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9XZWJLaXRUZXN0UnVubmVyLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggNGI0N2U4OWE5Y2ViNTNhMjU5OTUyZjE2Y2JhZTExZGIwNTI1ZDFiYi4uMThmYzM1
OTIzZmZlY2I4NmYwNzYzZDhlZDBlNWU2NjBkMDg5NjhkOSAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9XZWJLaXRUZXN0UnVubmVyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9XZWJLaXRUZXN0UnVubmVyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTk2LDYgKzk2LDcgQEAKIAkJMkU3NDlCRjIxODkxRUJGQTAwN0ZD
MTc1IC8qIEV2ZW50U2VuZGVyUHJveHlJT1MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyRTYzRUQ3QTE4OTFBQ0U5MDAyQTdBRkMgLyogRXZlbnRTZW5k
ZXJQcm94eUlPUy5tbSAqLzsgfTsKIAkJMzFEQThBM0QxRTcyMDVDQzAwRTFERjJGIC8qIElPU0xh
eW91dFRlc3RDb21tdW5pY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDMxNDhBMDUzMUU2Rjg1QjYwMEQzQjMxNiAvKiBJT1NMYXlvdXRUZXN0
Q29tbXVuaWNhdGlvbi5jcHAgKi87IH07CiAJCTQxQzUzNzhFMjFGMTM0MTQwMDhCMUZBRCAvKiBU
ZXN0V2Vic2l0ZURhdGFTdG9yZURlbGVnYXRlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDFDNTM3OEQyMUYxMzMzQzAwOEIxRkFEIC8qIFRlc3RXZWJz
aXRlRGF0YVN0b3JlRGVsZWdhdGUubW0gKi87IH07CisJCTQxRDVCNjI2MjJERDlEMzYwMDBGNEM0
QSAvKiBGYWtlSGVsdmV0aWNhLVNpbmdsZUV4dGVuZGVkQ2hhcmFjdGVyLnR0ZiBpbiBSZXNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFENUI2MjUyMkREOUQzNjAw
MEY0QzRBIC8qIEZha2VIZWx2ZXRpY2EtU2luZ2xlRXh0ZW5kZWRDaGFyYWN0ZXIudHRmICovOyB9
OwogCQk0NDMwQUUxOTFGODJDNEZEMDA5OTkxNUEgLyogR2VuZXJhdGVkVG91Y2hlc0RlYnVnV2lu
ZG93Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQz
MEFFMTcxRjgyQzRFRTAwOTk5MTVBIC8qIEdlbmVyYXRlZFRvdWNoZXNEZWJ1Z1dpbmRvdy5tbSAq
LzsgfTsKIAkJNTEwNThBRDUxRDY3ODgyMDAwOUE1MzhDIC8qIGxpYldlYkNvcmVUZXN0U3VwcG9y
dC5keWxpYiBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxMjMwRTE2MTM4Qzc4QkYwMEJDQ0ZDQSAvKiBsaWJXZWJDb3JlVGVzdFN1cHBvcnQuZHlsaWIg
Ki87IH07CiAJCTUxMDU4QUQ2MUQ2Nzg4MjUwMDlBNTM4QyAvKiBXZWJLaXQuZnJhbWV3b3JrIGlu
IEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY1MTY5Q0Ex
NDQ1MjIyRDAwRTBBOUQ3IC8qIFdlYktpdC5mcmFtZXdvcmsgKi87IH07CkBAIC0zMDAsNiArMzAx
LDcgQEAKIAkJNDE4MTczMUIxMzhBRDM5RDAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJDb3JlVGVzdFN1cHBvcnQuaDsg
cGF0aCA9IFdlYkNvcmVUZXN0U3VwcG9ydC9XZWJDb3JlVGVzdFN1cHBvcnQuaDsgc291cmNlVHJl
ZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJNDFDNTM3OEMyMUYxMzMzQzAwOEIxRkFEIC8q
IFRlc3RXZWJzaXRlRGF0YVN0b3JlRGVsZWdhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gVGVzdFdlYnNpdGVEYXRhU3RvcmVEZWxlZ2F0ZS5oOyBwYXRoID0gY29jb2EvVGVz
dFdlYnNpdGVEYXRhU3RvcmVEZWxlZ2F0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0MUM1Mzc4RDIxRjEzMzNDMDA4QjFGQUQgLyogVGVzdFdlYnNpdGVEYXRhU3RvcmVEZWxlZ2F0
ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFRlc3RXZWJzaXRl
RGF0YVN0b3JlRGVsZWdhdGUubW07IHBhdGggPSBjb2NvYS9UZXN0V2Vic2l0ZURhdGFTdG9yZURl
bGVnYXRlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MUQ1QjYyNTIyREQ5RDM2
MDAwRjRDNEEgLyogRmFrZUhlbHZldGljYS1TaW5nbGVFeHRlbmRlZENoYXJhY3Rlci50dGYgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBmaWxlOyBuYW1l
ID0gIkZha2VIZWx2ZXRpY2EtU2luZ2xlRXh0ZW5kZWRDaGFyYWN0ZXIudHRmIjsgcGF0aCA9ICJm
b250cy9GYWtlSGVsdmV0aWNhLVNpbmdsZUV4dGVuZGVkQ2hhcmFjdGVyLnR0ZiI7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0MjlGQzVFMTYyNzA4OTYwMEY2NkQ4QiAvKiBXb3JrUXVl
dWVNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdvcmtR
dWV1ZU1hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDI5RkM2MTE2
MjcwODk2MDBGNjZEOEIgLyogV29ya1F1ZXVlTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXb3JrUXVldWVNYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQ0MzBBRTE3MUY4MkM0RUUwMDk5OTE1QSAvKiBHZW5lcmF0ZWRUb3VjaGVzRGVidWdX
aW5kb3cubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBHZW5lcmF0ZWRUb3VjaGVzRGVidWdXaW5k
b3cubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NDksNiArNzUxLDcgQEAKIAkJ
CQkxQ0JBMDI5MzFGRDg2RUExMDAxNzlDN0QgLyogRmFrZUhlbHZldGljYS1IZWx2ZXRpY2EtNTAw
LnR0ZiAqLywKIAkJCQkxQ0JBMDI5MjFGRDg2RUExMDAxNzlDN0QgLyogRmFrZUhlbHZldGljYS1I
ZWx2ZXRpY2EyLTQwMC50dGYgKi8sCiAJCQkJMUNCQTAyOTUxRkQ4NkVBMTAwMTc5QzdEIC8qIEZh
a2VIZWx2ZXRpY2EtSGVsdmV0aWNhMi01MDAudHRmICovLAorCQkJCTQxRDVCNjI1MjJERDlEMzYw
MDBGNEM0QSAvKiBGYWtlSGVsdmV0aWNhLVNpbmdsZUV4dGVuZGVkQ2hhcmFjdGVyLnR0ZiAqLywK
IAkJCQkxQ0EyMTFDNzFCQ0ExMDczMDBCMjEwMUYgLyogRm9udFdpdGhGZWF0dXJlcy5vdGYgKi8s
CiAJCQkJMUNBMjExQzgxQkNBMTA3MzAwQjIxMDFGIC8qIEZvbnRXaXRoRmVhdHVyZXMudHRmICov
LAogCQkJCUJDMjUxODYzMTFEMTVENTQwMDJFQkMwMSAvKiBJbmplY3RlZEJ1bmRsZS1JbmZvLnBs
aXN0ICovLApAQCAtMTAyOCw2ICsxMDMxLDcgQEAKIAkJCQkxQ0JBMDI5ODFGRDg3REYwMDAxNzlD
N0QgLyogRmFrZUhlbHZldGljYS1IZWx2ZXRpY2EtNTAwLnR0ZiBpbiBSZXNvdXJjZXMgKi8sCiAJ
CQkJMUNCQTAyOTcxRkQ4N0RFRTAwMTc5QzdEIC8qIEZha2VIZWx2ZXRpY2EtSGVsdmV0aWNhMi00
MDAudHRmIGluIFJlc291cmNlcyAqLywKIAkJCQkxQ0JBMDI5NjFGRDg3REVDMDAxNzlDN0QgLyog
RmFrZUhlbHZldGljYS1IZWx2ZXRpY2EyLTUwMC50dGYgaW4gUmVzb3VyY2VzICovLAorCQkJCTQx
RDVCNjI2MjJERDlEMzYwMDBGNEM0QSAvKiBGYWtlSGVsdmV0aWNhLVNpbmdsZUV4dGVuZGVkQ2hh
cmFjdGVyLnR0ZiBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJMUNBMjExQzkxQkNBMTA3MzAwQjIxMDFG
IC8qIEZvbnRXaXRoRmVhdHVyZXMub3RmIGluIFJlc291cmNlcyAqLywKIAkJCQkxQ0EyMTFDQTFC
Q0ExMDczMDBCMjEwMUYgLyogRm9udFdpdGhGZWF0dXJlcy50dGYgaW4gUmVzb3VyY2VzICovLAog
CQkJCTY1MTBBNzg0MTFFQzY0MzgwMDQxMDg2NyAvKiBXZWJLaXRXZWlnaHRXYXRjaGVyMTAwLnR0
ZiBpbiBSZXNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2Zv
bnRzL0Zha2VIZWx2ZXRpY2EtU2luZ2xlRXh0ZW5kZWRDaGFyYWN0ZXIudHRmIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9mb250cy9GYWtlSGVsdmV0aWNhLVNpbmdsZUV4dGVuZGVkQ2hhcmFjdGVy
LnR0ZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40MGYwZDBlYTYzNWQyMGExM2NkMmNkZTdlNjdlZmVlZDI5OTg3M2Nm
CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxNjE2CnpjbWRzMSZyNEtNNiNuajtIX3VFezZDRVcm
dTQkQkApMDx+MWliMFN+QXhXaTsoOGlvKm8tQFdjWnkyQVVpPk9ALQp6SH5rTSR5Q1BrK3VTSlY/
RWg/eU93OCYqZDVLUH4+XkVBUHJlZk0kUnttIX1Qb2NyQiNlP1MzZiEyYHN3bWA+bEEKeip9UWs+
R3ZKKTFfNHVXIWkpblBDZ0w9MjxTTGU9bik2ZXArMDlCO0VtfE13SyhCcGxneygtV1R5QmxpUXhE
TGU1CnpiS0VYdVMxWXZ8R3M5YDRleUM4fFNlblB8Vn4kXj05djF5PHpUS09DTGl+Kn5UQkhHUW58
N0cxcEwmMEJDMHlAJgp6aUlkZGRQO1Y7KnhoIXNqdjlUJVloZ1kpZTY8byRSJDFoWFk8P008LXZ3
N3RSJDZvX2hxN3Rsenh6eEVBSyU1K3IKemZ+PUwmS2U5UD90OTl9X256KE1aazh7cFkpSVRNRTsw
YGtVQUElKVRIaTs4VWJKSkgqSVdDc3sle0NUJEZHZURqCnp2N0paS0lORDhMKWcjMS09V3Z0JXFm
dmhqNHRtS0pAa1psa2UhQ05rYSY3NWk5dUkxNFNnTChOdnRkJV92PlR3SQp6JFZgfCs3KmQkZyUq
RVBja1JvR0s1JGk/bmkwfmd8ZjdzWTwkb15YT14+UTlpI0d7JFFlSyZ1em9+flhmM0pYbHQKemA5
bmVwO3IqbH5MXkF5VSY3NjBmSHMxdTdZbmZYMmJDK1VoS3lwanIlO2F7MWpVOHt4aUdQfmhqIy00
KmlpdFRjCno9SXNWWXtoSGluMzN0NVZrPlNvJCF5fHBSS0hsQSgkPUVZZSNhQDFMQXslJWAmVz9K
QzQoQ0t+cU5sVTckNCNgaAp6Q1IkQzJUa3czWi1wNFErVlRESGM1dztrQUtmKkVJc2RveyEoV3M2
QElGMj9vOSR8O30xdngzVW9KKUJSPlI2JGoKekhAdUU1ejhwYj5XMD1PbjI7MjFlOFIwbXo+V1oq
fmJ+VEwpakh6RylSVjxAYEIwXnxaRk5YcDQ5JGVuamFoXj8wCnpqe3N9clUqP0FrTDFtLTVUcXVW
NmJaJFU8WmZibGBadjw8OG5QVjlgZ2lJRXFNRTUpc0FYNSZQITsrc1RvVGFWNgp6TD92VzdDMShB
P1N9OUFBV19wUX16RGZfQE9ySW5IalMwJVp0YVc+ZTxzSEhwV3RTfHtLey1xWilxPTBScV5sP04K
ei10NUd3KFY/Kis7cmxQMV5KR3hQRCVUO3JHPGlyVmdwWWgwbkQ/dXolUnlQWVpZdEB6RS1lUXM/
cUIlY2pqYTlQCng4fXFtT0Q2ZktvcjdVTUhsXlhMe0VOUDBqLS09Rnd5YTY1Tk1BdSltLTdIRVJL
ZkdUc1pgU196XkVXMU96JlpjYAoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE4ZGIz
MWMwZjNmOGE0NTNjMDRlNTgwY2RhYTY0Mjk1NGIwNWE1NmQuLjhjNDg2OTljMmMxYjNjYTY0ZGNl
ZDgxMjMyYjA2MjQ4MTE1Mzk0YWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxOS0wNy0xNiAg
WW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzdXJlIHRv
IHNldCBrQ1RGb250RmFsbGJhY2tPcHRpb25BdHRyaWJ1dGUgdG8ga0NURm9udEZhbGxiYWNrT3B0
aW9uU3lzdGVtIGZvciBzeXN0ZW0gZm9udHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5OTc2OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDkzOTAy
OTc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTXlsZXMgQy4gTWF4ZmllbGQuCisKKyAgICAgICAg
VGVzdHMgcmVxdWlyZSBXVFIgYW5kIHJlY2VudCBNYWNPUywgaGVuY2Ugd2h5IHRoZXkgYXJlIGRp
c2FibGVkIGVsc2V3aGVyZS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIGZhc3QvdGV4
dC91c2VyLWluc3RhbGxlZC1mb250cy9leHRlbmRlZC1jaGFyYWN0ZXItZXhwZWN0ZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVk
LWNoYXJhY3Rlci13aXRoLXVzZXItZm9udC1leHBlY3RlZC1taXNtYXRjaC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvZXh0ZW5kZWQtY2hhcmFj
dGVyLXdpdGgtdXNlci1mb250Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC91c2Vy
LWluc3RhbGxlZC1mb250cy9leHRlbmRlZC1jaGFyYWN0ZXIuaHRtbDogQWRkZWQuCisKIDIwMTkt
MDctMTUgIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI0NzM5NywgcjI0NzM3OCwgcjI0NzM2Ni4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IGE0MzQ2MmJlMTJiNzUzYTIyMTBiZjgyMzI2MWNjNzM0ZWQ1NDdhYWYuLmQ2
NDFjMTg2NTQzNjQyZjRkM2UzYTk0ZmIyM2QxMDQ5ZDEwMzBkMmIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtMTY2OSw2ICsxNjY5LDEwIEBAIHdlYmtpdC5vcmcvYi8xNDg4ODQgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90ZXh0ZmllCiB3ZWJraXQu
b3JnL2IvMTkwNjI2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvZm9ybXMvdGhlLWRhdGFsaXN0LWVsZW1lbnQvZGF0YWxpc3RvcHRpb25zLmh0bWwgWyBGYWls
dXJlIF0KIHdlYmtpdC5vcmcvYi8xOTA2MTMgaW1wb3J0ZWQvYmxpbmsvZmFzdC9mb3Jtcy9kYXRh
bGlzdC9zbGlkZXItYXBwZWFyYW5jZS13aXRoLXRpY2tzLWNyYXNoLmh0bWwgWyBTa2lwIF0KIAor
IyBUZXN0cyByZXF1aXJlIFdUUiBhbmQgZGlzYWJsaW5nIG9mIHVzZXIgaW5zdGFsbGVkIGZvbnRz
LiBSZWVuYWJsaW5nIHRoZW0gaW4gc3VwcG9ydGVkIHBsYXRmb3JtcworZmFzdC90ZXh0L3VzZXIt
aW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVkLWNoYXJhY3Rlci5odG1sIFsgU2tpcCBdCitmYXN0L3Rl
eHQvdXNlci1pbnN0YWxsZWQtZm9udHMvZXh0ZW5kZWQtY2hhcmFjdGVyLXdpdGgtdXNlci1mb250
Lmh0bWwgWyBTa2lwIF0KKwogIyBEb2VzIHRpbWVvdXQKIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvd2ViYXVkaW8vaWRsaGFybmVzcy5odHRwcy5odG1sIFsgU2tpcCBdCiAjIERvIGFz
c2VydCBpbiBPZmZsaW5lQXVkaW9Db250ZXh0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvZXh0ZW5kZWQtY2hhcmFjdGVyLWV4cGVjdGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvZXh0ZW5kZWQt
Y2hhcmFjdGVyLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2Q1ZjZmYjMwNmM3NmRhNmU5Y2Jh
ZGFjYWI0NjkzNmM1MTk4MGJlMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9leHRlbmRlZC1jaGFyYWN0ZXItZXhwZWN0ZWQuaHRt
bApAQCAtMCwwICsxLDEwIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgor
ICAgICAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CisgICAgPC9oZWFkPgorICAgIDxib2R5Pgor
ICAgICAgICA8IS0tIHVua25vd24gY2hhcmFjdGVyIC0tPgorICAgICAgICA8dGQ+JiN4MDExNzQw
OzwvdGQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVkLWNoYXJhY3Rlci13aXRoLXVzZXIt
Zm9udC1leHBlY3RlZC1taXNtYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VzZXIt
aW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVkLWNoYXJhY3Rlci13aXRoLXVzZXItZm9udC1leHBlY3Rl
ZC1taXNtYXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkNWY2ZmIzMDZjNzZkYTZlOWNiYWRhY2FiNDY5
MzZjNTE5ODBiZTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdXNl
ci1pbnN0YWxsZWQtZm9udHMvZXh0ZW5kZWQtY2hhcmFjdGVyLXdpdGgtdXNlci1mb250LWV4cGVj
dGVkLW1pc21hdGNoLmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRt
bD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgorICAgIDwvaGVh
ZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPCEtLSB1bmtub3duIGNoYXJhY3RlciAtLT4KKyAgICAg
ICAgPHRkPiYjeDAxMTc0MDs8L3RkPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9leHRlbmRlZC1jaGFy
YWN0ZXItd2l0aC11c2VyLWZvbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91c2VyLWlu
c3RhbGxlZC1mb250cy9leHRlbmRlZC1jaGFyYWN0ZXItd2l0aC11c2VyLWZvbnQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xZGFiZjJhY2NmZTE4NzA1Y2EzNDBhMmJiOTdmZjkwNzA4ODgyMDZkCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4
dGVuZGVkLWNoYXJhY3Rlci13aXRoLXVzZXItZm9udC5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzwh
ZG9jdHlwZSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxtZXRhIGNoYXJzZXQ9
IlVURi04Ij4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxzY3JpcHQ+CitpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5pbnN0YWxsRmFrZUhlbHZldGljYSgi
U2luZ2xlRXh0ZW5kZWRDaGFyYWN0ZXIiKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDwh
LS0gQ2hhcmFjdGVyIGtub3duIGJ5IHVzZXIgaW5zdGFsbGVkIGZvbnQgb25seSAtLT4KKyAgICAg
ICAgPHRkPiYjeDAxMTcyMTs8L3RkPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9leHRlbmRlZC1jaGFy
YWN0ZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9l
eHRlbmRlZC1jaGFyYWN0ZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40YzIzZjlkY2Y5ZmU5OTQ2MmYxYTFm
NDg5OWRhZWQ5MTExMzRmYmY0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL2V4dGVuZGVkLWNoYXJhY3Rlci5odG1sCkBAIC0wLDAg
KzEsMTYgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxt
ZXRhIGNoYXJzZXQ9IlVURi04Ij4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxz
Y3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoZmFsc2UpOworaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQorICAgIHRlc3RSdW5uZXIuaW5zdGFsbEZha2VIZWx2ZXRpY2EoIlNpbmdsZUV4dGVuZGVk
Q2hhcmFjdGVyIik7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8IS0tIENoYXJhY3RlciBr
bm93biBieSB1c2VyIGluc3RhbGxlZCBmb250IG9ubHkgLS0+CisgICAgICAgIDx0ZD4mI3gwMTE3
MjE7PC90ZD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYTlhN2M0Mzc4NjEzOWVhMzEwY2ExMzE4NmMw
ZTgyZjI4ZjM3NWEyMy4uYzcyY2ZhZjU0OWJiNTEzOWE1YzA4Y2EzZjc2YjgwM2JlYmQ5OGQ2ZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25z
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAt
NzczLDYgKzc3MywxMCBAQCB3ZWJraXQub3JnL2IvMTg1OTYyIG1lZGlhL3ZpZGVvLXBsYXktYXVk
aW8tcmVxdWlyZS11c2VyLWdlc3R1cmUuaHRtbCBbIFBhc3MgRmFpbAogd2Via2l0Lm9yZy9iLzE4
NTk5NCBmYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvc2hhZG93LWZhbWlseS5odG1sIFsg
UGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xODU5OTQgZmFzdC90ZXh0L3Vz
ZXItaW5zdGFsbGVkLWZvbnRzL3NoYWRvdy1wb3N0c2NyaXB0LWZhbWlseS5odG1sIFsgUGFzcyBJ
bWFnZU9ubHlGYWlsdXJlIF0KIAorIyBSZWVuYWJsZWQgdGVzdHMgZm9yIHN1cHBvcnRlZCBwbGF0
Zm9ybXMKK1sgTW9qYXZlKyBdIGZhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9leHRlbmRl
ZC1jaGFyYWN0ZXIuaHRtbCBbIFBhc3MgXQorWyBNb2phdmUrIF0gZmFzdC90ZXh0L3VzZXItaW5z
dGFsbGVkLWZvbnRzL2V4dGVuZGVkLWNoYXJhY3Rlci13aXRoLXVzZXItZm9udC5odG1sIFsgUGFz
cyBdCisKICMgPHJkYXI6Ly9wcm9ibGVtLzI1MDEwMzA3PgogWyBIaWdoU2llcnJhKyBdIGh0dHAv
dGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3IuaHRtbCBbIFBhc3MgXQogWyBIaWdoU2ll
cnJhKyBdIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvblYzLmh0bWwgWyBQ
YXNzIF0K
</data>

          </attachment>
      

    </bug>

</bugzilla>