<?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>199653</bug_id>
          
          <creation_ts>2019-07-09 19:53:09 -0700</creation_ts>
          <short_desc>New York font erroneously gets synthetic bold</short_desc>
          <delta_ts>2019-07-16 09:18:11 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>199816</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gzjjgod</cc>
    
    <cc>jonlee</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1551580</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-07-09 19:53:09 -0700</bug_when>
    <thetext>New York erroneously gets synthetic bold</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551581</commentid>
    <comment_count>1</comment_count>
      <attachid>373813</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-07-09 19:53:28 -0700</bug_when>
    <thetext>Created attachment 373813
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551810</commentid>
    <comment_count>2</comment_count>
      <attachid>373863</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-07-10 13:34:43 -0700</bug_when>
    <thetext>Created attachment 373863
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551915</commentid>
    <comment_count>3</comment_count>
      <attachid>373883</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-07-10 18:04:43 -0700</bug_when>
    <thetext>Created attachment 373883
Needs tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551916</commentid>
    <comment_count>4</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-07-10 18:05:22 -0700</bug_when>
    <thetext>One thing I shouldn&apos;t forget to do is to add code to catch the dot-prefixed name to make sure it explicitly doesn&apos;t work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551917</commentid>
    <comment_count>5</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-07-10 18:05:47 -0700</bug_when>
    <thetext>Attachment 373883 did not pass style-queue:


ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 31 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551930</commentid>
    <comment_count>6</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-07-10 18:19:33 -0700</bug_when>
    <thetext>&lt;rdar://problem/51692592&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551991</commentid>
    <comment_count>7</comment_count>
      <attachid>373883</attachid>
    <who name="Jiang Jiang">gzjjgod</who>
    <bug_when>2019-07-10 23:12:13 -0700</bug_when>
    <thetext>Comment on attachment 373883
Needs tests

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

&gt; Source/WebCore/platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp:60
&gt; +    auto result = adoptCF(CTFontCreateUIFontForLanguage(kCTFontUIFontSystem, parameters.size, locale));

Shouldn&apos;t need to start with this.

&gt; Source/WebCore/platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp:85
&gt; +    // FIXME: Use applyWeightItalicsAndFallbackBehavior() once &lt;rdar://problem/33046041&gt; is fixed.

Isn&apos;t this fixed long long time ago?

&gt; Source/WebCore/platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp:141
&gt; +    CFTypeRef traitsValues[] = { weightNumber.get(), italicsNumber.get(), design ? static_cast&lt;CFTypeRef&gt;(design) : static_cast&lt;CFTypeRef&gt;(kCFBooleanTrue) };

We shouldn&apos;t use kCFBooleanTrue as the value in any case, either left design out, or use kCTFontUIFontDesignDefault.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552167</commentid>
    <comment_count>8</comment_count>
      <attachid>373883</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-07-11 13:02:35 -0700</bug_when>
    <thetext>Comment on attachment 373883
Needs tests

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

&gt;&gt; Source/WebCore/platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp:85
&gt;&gt; +    // FIXME: Use applyWeightItalicsAndFallbackBehavior() once &lt;rdar://problem/33046041&gt; is fixed.
&gt; 
&gt; Isn&apos;t this fixed long long time ago?

I&apos;ll remove this in a subsequent patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552168</commentid>
    <comment_count>9</comment_count>
      <attachid>373941</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-07-11 13:08:14 -0700</bug_when>
    <thetext>Created attachment 373941
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552198</commentid>
    <comment_count>10</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-07-11 14:06:18 -0700</bug_when>
    <thetext>Running fast/text/design-system-ui-{11,14}.html causes #14 to fail</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552213</commentid>
    <comment_count>11</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-07-11 14:15:41 -0700</bug_when>
    <thetext>file:///Users/mmaxfield/src/WebKit/OpenSource/LayoutTests/fast/text/design-system-ui-11.html
file:///Users/mmaxfield/src/WebKit/OpenSource/LayoutTests/fast/text/design-system-ui-14.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552216</commentid>
    <comment_count>12</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-07-11 14:20:31 -0700</bug_when>
    <thetext>window.internals.invalidateFontCache(); in the test appears to fix this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552254</commentid>
    <comment_count>13</comment_count>
      <attachid>373964</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-07-11 15:29:56 -0700</bug_when>
    <thetext>Created attachment 373964
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552255</commentid>
    <comment_count>14</comment_count>
      <attachid>373965</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-07-11 15:32:09 -0700</bug_when>
    <thetext>Created attachment 373965
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552273</commentid>
    <comment_count>15</comment_count>
      <attachid>373965</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-07-11 16:18:21 -0700</bug_when>
    <thetext>Comment on attachment 373965
Patch

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

&gt; Source/WTF/ChangeLog:3
&gt; +        New York erroneously gets synthetic bold

The state, or the city? Oh, you mean the font? Please say so.

&gt; Source/WebCore/ChangeLog:15
&gt; +        WKPreferencesSetShouldAllowDesignSystemUIFonts(true)

Nope

&gt; Source/WebCore/ChangeLog:16
&gt; +        or -[WKPreferences _shouldAllowDesignSystemUIFonts] = YES.

OK

&gt; Source/WTF/wtf/Platform.h:1598
&gt; +#if (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101500) || (PLATFORM(IOS) &amp;&amp; __IPHONE_OS_VERSION_MIN_REQUIRED &gt;= 130000) || (PLATFORM(WATCHOS) &amp;&amp; __WATCH_OS_VERSION_MIN_REQUIRED &gt;= 60000) || (PLATFORM(APPLETV) &amp;&amp; __TV_OS_VERSION_MIN_REQUIRED &gt;= 130000)

I have no idea.

&gt; Source/WebCore/platform/graphics/cocoa/FontDescriptionCocoa.cpp:57
&gt; +#if HAVE(DESIGN_SYSTEM_UI_FONTS)

Blank line above please.

&gt; Source/WebCore/platform/graphics/cocoa/FontDescriptionCocoa.cpp:112
&gt; +        if (auto use = systemFontUse(cssFamily, shouldAllowDesignSystemUIFonts()))

So hard to distinguish between &apos;use&apos; noun, and &apos;use&apos; verb.

&gt; Source/WebCore/platform/graphics/cocoa/FontDescriptionCocoa.cpp:131
&gt; +        if (auto use = systemFontUse(cssFamily, shouldAllowDesignSystemUIFonts())) {

Ditto.

&gt; Source/WebCore/platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp:50
&gt; +RetainPtr&lt;CTFontRef&gt; SystemFontDatabaseCoreText::createSystemUI(const CascadeListParameters&amp; parameters, CFStringRef locale)

createSystemUIFont?

&gt; Source/WebCore/platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp:58
&gt; +RetainPtr&lt;CTFontRef&gt; SystemFontDatabaseCoreText::createDesignSystemUI(ClientUse clientUse, const CascadeListParameters&amp; parameters)

createSystemUIFont?

&gt; Source/WebCore/platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp:78
&gt; +RetainPtr&lt;CTFontRef&gt; SystemFontDatabaseCoreText::createTextStyle(const CascadeListParameters&amp; parameters)

It makes a font, not a text style.

&gt; Source/WebCore/platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp:132
&gt; +RetainPtr&lt;CTFontRef&gt; SystemFontDatabaseCoreText::applyWeightItalicsAndFallbackBehavior(CTFontRef font, CGFloat weight, bool italic, float size, AllowUserInstalledFonts allowUserInstalledFonts, CFStringRef design)

This should be called createFontByApplying...

&gt; Source/WebCore/platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp:214
&gt; +        static NeverDestroyed&lt;AtomString&gt; systemUI = AtomString(&quot;system-ui-serif&quot;, AtomString::ConstructFromLiteral);

systemUI -&gt; systemUISerif

&gt; Source/WebCore/platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp:219
&gt; +        static NeverDestroyed&lt;AtomString&gt; systemUI = AtomString(&quot;system-ui-monospaced&quot;, AtomString::ConstructFromLiteral);

systemUI -&gt; systemUIMonospaced

&gt; Source/WebCore/platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp:224
&gt; +        static NeverDestroyed&lt;AtomString&gt; systemUI = AtomString(&quot;system-ui-rounded&quot;, AtomString::ConstructFromLiteral);

systemUI -&gt; systemUIRounded

&gt; Source/WebCore/platform/graphics/cocoa/SystemFontDatabaseCoreText.h:99
&gt; +    enum class ClientUse {

: uint8_t if anyone stores it.

&gt; Source/WebCore/platform/graphics/mac/FontCacheMac.mm:111
&gt; +#if HAVE(DESIGN_SYSTEM_UI_FONTS)
&gt; +    if (fontDescription.shouldAllowDesignSystemUIFonts()) {
&gt; +        Optional&lt;SystemFontDatabaseCoreText::ClientUse&gt; designSystemUI;
&gt; +        if (equalLettersIgnoringASCIICase(family, &quot;-apple-system-ui-serif&quot;))
&gt; +            designSystemUI = SystemFontDatabaseCoreText::ClientUse::ForSystemUISerif;
&gt; +        else if (equalLettersIgnoringASCIICase(family, &quot;-apple-system-ui-monospaced&quot;))
&gt; +            designSystemUI = SystemFontDatabaseCoreText::ClientUse::ForSystemUIMonospaced;
&gt; +        else if (equalLettersIgnoringASCIICase(family, &quot;-apple-system-ui-rounded&quot;))
&gt; +            designSystemUI = SystemFontDatabaseCoreText::ClientUse::ForSystemUIRounded;
&gt; +
&gt; +        if (designSystemUI) {
&gt; +            auto cascadeList = SystemFontDatabaseCoreText::singleton().cascadeList(fontDescription, family, *designSystemUI, allowUserInstalledFonts);
&gt; +            if (!cascadeList.isEmpty())
&gt; +                return createFontForInstalledFonts(cascadeList[0].get(), size, allowUserInstalledFonts);
&gt; +        }
&gt; +    }
&gt; +#endif

Need to share more of this code between macOS and iOS.

&gt; Source/WebCore/svg/graphics/SVGImage.cpp:474
&gt; +        m_page-&gt;settings().setShouldAllowDesignSystemUIFonts(false);

It&apos;s false by default so no need to do anything.

&gt; Source/WebCore/testing/InternalSettings.cpp:88
&gt; +    , m_shouldAllowDesignSystemUIFonts(settings.shouldAllowDesignSystemUIFonts())

Remove

&gt; Source/WebCore/testing/InternalSettings.cpp:188
&gt; +    settings.setShouldAllowDesignSystemUIFonts(m_shouldAllowDesignSystemUIFonts);

Remove

&gt; Source/WebCore/testing/InternalSettings.cpp:704
&gt; +ExceptionOr&lt;void&gt; InternalSettings::setShouldAllowDesignSystemUIFonts(bool allow)
&gt; +{
&gt; +    if (!m_page)
&gt; +        return Exception { InvalidAccessError };
&gt; +    settings().setShouldAllowDesignSystemUIFonts(allow);
&gt; +    return { };
&gt; +}

Remove

&gt; Source/WebCore/testing/InternalSettings.h:89
&gt; +    ExceptionOr&lt;void&gt; setShouldAllowDesignSystemUIFonts(bool);

Remove

&gt; Source/WebCore/testing/InternalSettings.h:189
&gt; +        bool m_shouldAllowDesignSystemUIFonts;

Remove

&gt; Source/WebCore/testing/InternalSettings.idl:49
&gt; +    [MayThrowException] void setShouldAllowDesignSystemUIFonts(boolean ignore);

This shouldn&apos;t be necessary. All Settings can be changed from tests already.

&gt; Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h:576
&gt; +WK_EXPORT void WKPreferencesSetShouldAllowDesignSystemUIFonts(WKPreferencesRef, bool flag);
&gt; +WK_EXPORT bool WKPreferencesGetShouldAllowDesignSystemUIFonts(WKPreferencesRef);

I don&apos;t know why we&apos;re still adding to the C SPI</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552318</commentid>
    <comment_count>16</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-07-11 18:08:35 -0700</bug_when>
    <thetext>Committed r247377: &lt;https://trac.webkit.org/changeset/247377&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552319</commentid>
    <comment_count>17</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-07-11 18:09:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/52982969&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552335</commentid>
    <comment_count>18</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-07-11 18:59:11 -0700</bug_when>
    <thetext>This seems to break the build. 

e.g.:
failed r247377:
https://build.webkit.org/builders/Apple%20iOS%2012%20Release%20%28Build%29/builds/7431

passed r247375: 
https://build.webkit.org/builders/Apple%20iOS%2012%20Release%20%28Build%29/builds/7430</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552336</commentid>
    <comment_count>19</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-07-11 19:01:21 -0700</bug_when>
    <thetext>FontCacheCoreText.cpp:1250:73: error: unused parameter &apos;family&apos; [-Werror,-Wunused-parameter]
FontCacheCoreText.cpp:1250:104: error: unused parameter &apos;fontDescription&apos; [-Werror,-Wunused-parameter]
FontCacheCoreText.cpp:1250:127: error: unused parameter &apos;size&apos; [-Werror,-Wunused-parameter]
FontCacheCoreText.cpp:1250:157: error: unused parameter &apos;allowUserInstalledFonts&apos; [-Werror,-Wunused-parameter]


In file included from /Volumes/Data/slave/ios-12-release/build/WebKitBuild/Release-iphoneos/DerivedSources/WebCore/unified-sources/UnifiedSource360.cpp:8:
./platform/graphics/cocoa/FontCacheCoreText.cpp:1250:73: error: unused parameter &apos;family&apos; [-Werror,-Wunused-parameter]
static RetainPtr&lt;CTFontRef&gt; fontWithFamilySpecialCase(const AtomString&amp; family, const FontDescription&amp; fontDescription, float size, AllowUserInstalledFonts allowUserInstalledFonts)
                                                                        ^
./platform/graphics/cocoa/FontCacheCoreText.cpp:1250:104: error: unused parameter &apos;fontDescription&apos; [-Werror,-Wunused-parameter]
static RetainPtr&lt;CTFontRef&gt; fontWithFamilySpecialCase(const AtomString&amp; family, const FontDescription&amp; fontDescription, float size, AllowUserInstalledFonts allowUserInstalledFonts)
                                                                                                       ^
./platform/graphics/cocoa/FontCacheCoreText.cpp:1250:127: error: unused parameter &apos;size&apos; [-Werror,-Wunused-parameter]
static RetainPtr&lt;CTFontRef&gt; fontWithFamilySpecialCase(const AtomString&amp; family, const FontDescription&amp; fontDescription, float size, AllowUserInstalledFonts allowUserInstalledFonts)
                                                                                                                              ^
./platform/graphics/cocoa/FontCacheCoreText.cpp:1250:157: error: unused parameter &apos;allowUserInstalledFonts&apos; [-Werror,-Wunused-parameter]
static RetainPtr&lt;CTFontRef&gt; fontWithFamilySpecialCase(const AtomString&amp; family, const FontDescription&amp; fontDescription, float size, AllowUserInstalledFonts allowUserInstalledFonts)
                                                                                                                                                            ^
4 errors generated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552339</commentid>
    <comment_count>20</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-07-11 19:06:07 -0700</bug_when>
    <thetext>Broke mac os build as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552340</commentid>
    <comment_count>21</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-07-11 19:06:31 -0700</bug_when>
    <thetext>Broke macos build as well: https://build.webkit.org/builders/Apple%20High%20Sierra%20Release%20%28Build%29/builds/15784</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552341</commentid>
    <comment_count>22</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-07-11 19:10:24 -0700</bug_when>
    <thetext>Why was EWS green?

Fixing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552342</commentid>
    <comment_count>23</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2019-07-11 19:11:40 -0700</bug_when>
    <thetext>The commit in  r247377 seems substantially different from the last uploaded patch (373965). Might be good idea to atleast run the patch through EWS before landing (if not using commit-queue).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552345</commentid>
    <comment_count>24</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-07-11 19:32:32 -0700</bug_when>
    <thetext>Build fix in https://trac.webkit.org/changeset/247379/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553042</commentid>
    <comment_count>25</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-07-15 17:18:04 -0700</bug_when>
    <thetext>Committed r247462: &lt;https://trac.webkit.org/changeset/247462&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553044</commentid>
    <comment_count>26</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-15 17:21:47 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 199816</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553063</commentid>
    <comment_count>27</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-07-15 17:54:03 -0700</bug_when>
    <thetext>Committed r247465: &lt;https://trac.webkit.org/changeset/247465&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1553199</commentid>
    <comment_count>28</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2019-07-16 09:18:11 -0700</bug_when>
    <thetext>Committed r247482: &lt;https://trac.webkit.org/changeset/247482&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373813</attachid>
            <date>2019-07-09 19:53:28 -0700</date>
            <delta_ts>2019-07-10 13:34:42 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-199653-20190709195327.patch</filename>
            <type>text/plain</type>
            <size>20753</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDRkOWExMGViOTU1NDQz
YzdiM2I1NGY0YzhiYjMxMjE0MWVjMmRlYy4uYzJmYzFhZmEwMzEwZWI1YWUzMjUyYmJiZjhlNTFm
Njk0NDYxMDYyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE5LTA3LTA5ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgTmV3IFlvcmsg
ZXJyb25lb3VzbHkgZ2V0cyBzeW50aGV0aWMgYm9sZAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5NjUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpwcmVwYXJlUGxhdGZvcm1Gb250KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jb2NvYS9Gb250RGVzY3JpcHRpb25Db2NvYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpz
eXN0ZW1Gb250VXNlKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlRGVzY3JpcHRpb246
OmVmZmVjdGl2ZUZhbWlseUNvdW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNj
YWRlRGVzY3JpcHRpb246OmVmZmVjdGl2ZUZhbWlseUF0IGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OmlzU3lzdGVtRm9udFN0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjppc1VJ
Rm9udFRleHRTdHlsZSk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRm
b3JtRGF0YTo6Y3RGb250IGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9TeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTeXN0
ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6Y3JlYXRlU3lzdGVtVUkpOgorICAgICAgICAoV2ViQ29y
ZTo6U3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OmNyZWF0ZURlc2lnblN5c3RlbVVJKToKKyAg
ICAgICAgKFdlYkNvcmU6OlN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpjcmVhdGVUZXh0U3R5
bGUpOgorICAgICAgICAoV2ViQ29yZTo6U3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OmNhc2Nh
ZGVMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0Ojph
cHBseVdlaWdodEl0YWxpY3NBbmRGYWxsYmFja0JlaGF2aW9yKToKKyAgICAgICAgKFdlYkNvcmU6
OlN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpzeXN0ZW1Gb250UGFyYW1ldGVycyk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQu
aDoKKwogMjAxOS0wNy0wOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAg
ICAgIE1ha2UgRG9jdW1lbnQ6OnBvc3RUYXNrKCkgc2FmZSB0byBjYWxsIGZyb20gYSBiYWNrZ3Jv
dW5kIHRocmVhZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggN2IyZDQxNTczZTYyMGMwMGUxZmMzMmJk
ZmI0YWY3MjI5M2IzY2I1OC4uMjY5NmE2OGNlNGU4MWMwNDBmZDQzYWQzMGIyZDM5OGY3NjlkMjEz
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTktMDctMDkgIE15bGVz
IEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBOZXcgWW9yayBl
cnJvbmVvdXNseSBnZXRzIHN5bnRoZXRpYyBib2xkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTk2NTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIHBhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaDoKKwog
MjAxOS0wNy0wOCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAgICAg
IFtQb2ludGVyIEV2ZW50c10gRW5hYmxlIG9ubHkgb24gdGhlIG1vc3QgcmVjZW50IHZlcnNpb24g
b2YgdGhlIHN1cHBvcnRlZCBpT1MgZmFtaWx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9z
cGkvY29jb2EvQ29yZVRleHRTUEkuaAppbmRleCBkNjJiYjI1ZDAxMzAxN2Y5Y2JlZjhkODMzNzY3
MzNhYWE2ZDEyYzM4Li4xYjExMGJmMmI4ODFjOTA2YWFlOGFhMDk4OGVmMjk1ODU4MWUxYThlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgKQEAg
LTExMSw2ICsxMTEsMTEgQEAgZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVEZvbnRDU1NXaWR0
aEF0dHJpYnV0ZTsKIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250RGVzY3JpcHRvclRl
eHRTdHlsZUF0dHJpYnV0ZTsKIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250VUlGb250
RGVzaWduVHJhaXQ7CiAKK2V4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250VUlGb250RGVz
aWduRGVmYXVsdDsKK2V4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250VUlGb250RGVzaWdu
U2VyaWY7CitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NURm9udFVJRm9udERlc2lnbk1vbm9z
cGFjZWQ7CitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NURm9udFVJRm9udERlc2lnblJvdW5k
ZWQ7CisKIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGcmFtZU1heGltdW1OdW1iZXJPZkxp
bmVzQXR0cmlidXRlTmFtZTsKIAogYm9vbCBDVEZvbnREZXNjcmlwdG9ySXNTeXN0ZW1VSUZvbnQo
Q1RGb250RGVzY3JpcHRvclJlZik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKaW5kZXggNDgyMTE4
NmQ3YTdhYWViODdhNWZkNDc0NTA0OTY1ZjE1ZWNmNmEyZS4uYmYzNzIzZWRmYjdiMjFmNDMyZTU1
ODg4NjJkNWYxZTAxNjZjNTU0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcApAQCAtNjE4LDcg
KzYxOCw3IEBAIFJldGFpblB0cjxDVEZvbnRSZWY+IHByZXBhcmVQbGF0Zm9ybUZvbnQoQ1RGb250
UmVmIG9yaWdpbmFsRm9udCwgY29uc3QgRm9udERlc2NyCiAgICAgfTsKIAogICAgIC8vIFRoZSBz
eXN0ZW0gZm9udCBpcyBzb21ld2hhdCBtYWdpY2FsLiBEb24ndCBtZXNzIHdpdGggaXRzIHZhcmlh
dGlvbnMuCi0gICAgaWYgKGFwcGx5V2VpZ2h0V2lkdGhTbG9wZVZhcmlhdGlvbnMgJiYgIWZvbnRJ
c1N5c3RlbUZvbnQob3JpZ2luYWxGb250KSkgeworICAgIGlmIChhcHBseVdlaWdodFdpZHRoU2xv
cGVWYXJpYXRpb25zLyogJiYgIWZvbnRJc1N5c3RlbUZvbnQob3JpZ2luYWxGb250KSovKSB7CiAg
ICAgICAgIGZsb2F0IHdlaWdodCA9IGZvbnRTZWxlY3Rpb25SZXF1ZXN0LndlaWdodDsKICAgICAg
ICAgZmxvYXQgd2lkdGggPSBmb250U2VsZWN0aW9uUmVxdWVzdC53aWR0aDsKICAgICAgICAgZmxv
YXQgc2xvcGUgPSBmb250U2VsZWN0aW9uUmVxdWVzdC5zbG9wZS52YWx1ZU9yKG5vcm1hbEl0YWxp
Y1ZhbHVlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvRm9udERlc2NyaXB0aW9uQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvRm9udERlc2NyaXB0aW9uQ29jb2EuY3BwCmluZGV4IDE5Yzc2MzYwMTY1
YTRiYmJlOGI5NThlOTM2YjI3M2Y4YTExNGI1YmYuLmUxMTllYWNhY2UzYjZiMjQwNDVhYjU3ODYz
MjE0NDBmMTVlNzY3MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL0ZvbnREZXNjcmlwdGlvbkNvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250RGVzY3JpcHRpb25Db2NvYS5jcHAKQEAgLTM0LDE0
ICszNCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmIFVTRV9QTEFURk9STV9TWVNURU1f
RkFMTEJBQ0tfTElTVAogCi1zdGF0aWMgaW5saW5lIGJvb2wgaXNTeXN0ZW1Gb250U3RyaW5nKGNv
bnN0IEF0b21TdHJpbmcmIHN0cmluZykKLXsKLSAgICByZXR1cm4gZXF1YWxMZXR0ZXJzSWdub3Jp
bmdBU0NJSUNhc2Uoc3RyaW5nLCAiLXdlYmtpdC1zeXN0ZW0tZm9udCIpCi0gICAgICAgIHx8IGVx
dWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHN0cmluZywgIi1hcHBsZS1zeXN0ZW0iKQotICAg
ICAgICB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShzdHJpbmcsICItYXBwbGUtc3lz
dGVtLWZvbnQiKQotICAgICAgICB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShzdHJp
bmcsICJzeXN0ZW0tdWkiKTsKLX0KLQogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAKIHRlbXBs
YXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFUsIHN0ZDo6c2l6ZV90IHNpemUsIHN0ZDo6c2l6ZV90
Li4uIGluZGljZXM+IHN0ZDo6YXJyYXk8VCwgc2l6ZT4gY29udmVydEFycmF5KFUgKCZhcnJheSlb
c2l6ZV0sIHN0ZDo6aW5kZXhfc2VxdWVuY2U8aW5kaWNlcy4uLj4pCkBAIC01Myw5ICs0NSwyMyBA
QCB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVLCBzdGQ6OnNpemVfdCBzaXplPiBpbmxp
bmUgc3RkOjphcnJheTxULCBzaXplPiBjbwogewogICAgIHJldHVybiBjb252ZXJ0QXJyYXk8VD4o
YXJyYXksIHN0ZDo6bWFrZV9pbmRleF9zZXF1ZW5jZTxzaXplPiB7IH0pOwogfQorI2VuZGlmCiAK
LXN0YXRpYyBpbmxpbmUgYm9vbCBpc1VJRm9udFRleHRTdHlsZShjb25zdCBBdG9tU3RyaW5nJiBz
dHJpbmcpCitzdGF0aWMgaW5saW5lIE9wdGlvbmFsPFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0
OjpDbGllbnRVc2U+IHN5c3RlbUZvbnRVc2UoY29uc3QgQXRvbVN0cmluZyYgc3RyaW5nKQogewor
ICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShzdHJpbmcsICItd2Via2l0LXN5
c3RlbS1mb250IikKKyAgICAgICAgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uoc3Ry
aW5nLCAiLWFwcGxlLXN5c3RlbSIpCisgICAgICAgIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVND
SUlDYXNlKHN0cmluZywgIi1hcHBsZS1zeXN0ZW0tZm9udCIpCisgICAgICAgIHx8IGVxdWFsTGV0
dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHN0cmluZywgInN5c3RlbS11aSIpKQorICAgICAgICByZXR1
cm4gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNsaWVudFVzZTo6Rm9yU3lzdGVtVUk7Cisg
ICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHN0cmluZywgInN5c3RlbS11aS1z
ZXJpZiIpKQorICAgICAgICByZXR1cm4gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNsaWVu
dFVzZTo6Rm9yU3lzdGVtVUlTZXJpZjsKKyAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2Uoc3RyaW5nLCAic3lzdGVtLXVpLW1vbm9zcGFjZWQiKSkKKyAgICAgICAgcmV0dXJuIFN5
c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpDbGllbnRVc2U6OkZvclN5c3RlbVVJTW9ub3NwYWNl
ZDsKKyAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uoc3RyaW5nLCAic3lzdGVt
LXVpLXJvdW5kZWQiKSkKKyAgICAgICAgcmV0dXJuIFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0
OjpDbGllbnRVc2U6OkZvclN5c3RlbVVJUm91bmRlZDsKKworI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCiAgICAgc3RhdGljIGNvbnN0IENGU3RyaW5nUmVmIHN0eWxlc1tdID0gewogICAgICAgICBr
Q1RVSUZvbnRUZXh0U3R5bGVIZWFkbGluZSwKICAgICAgICAga0NUVUlGb250VGV4dFN0eWxlQm9k
eSwKQEAgLTc5LDEwICs4NSwxMyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNVSUZvbnRUZXh0U3R5
bGUoY29uc3QgQXRvbVN0cmluZyYgc3RyaW5nKQogICAgIH07CiAgICAgCiAgICAgc3RhdGljIGF1
dG8gc3RyaW5ncyB7IG1ha2VOZXZlckRlc3Ryb3llZChjb252ZXJ0QXJyYXk8QXRvbVN0cmluZz4o
c3R5bGVzKSkgfTsKLSAgICByZXR1cm4gc3RkOjpmaW5kKHN0cmluZ3MuZ2V0KCkuYmVnaW4oKSwg
c3RyaW5ncy5nZXQoKS5lbmQoKSwgc3RyaW5nKSAhPSBzdHJpbmdzLmdldCgpLmVuZCgpOwotfQor
ICAgIGlmIChzdGQ6OmZpbmQoc3RyaW5ncy5nZXQoKS5iZWdpbigpLCBzdHJpbmdzLmdldCgpLmVu
ZCgpLCBzdHJpbmcpICE9IHN0cmluZ3MuZ2V0KCkuZW5kKCkpCisgICAgICAgIHJldHVybiBTeXN0
ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6Q2xpZW50VXNlOjpGb3JUZXh0U3R5bGU7CiAjZW5kaWYK
IAorICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Cit9CisKIHN0YXRpYyBpbmxpbmUgVmVjdG9yPFJl
dGFpblB0cjxDVEZvbnREZXNjcmlwdG9yUmVmPj4gc3lzdGVtRm9udENhc2NhZGVMaXN0KGNvbnN0
IEZvbnRDYXNjYWRlRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uLCBjb25zdCBBdG9tU3RyaW5nJiBj
c3NGYW1pbHksIFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpDbGllbnRVc2UgY2xpZW50VXNl
LCBBbGxvd1VzZXJJbnN0YWxsZWRGb250cyBhbGxvd1VzZXJJbnN0YWxsZWRGb250cykKIHsKICAg
ICByZXR1cm4gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OnNpbmdsZXRvbigpLmNhc2NhZGVM
aXN0KGRlc2NyaXB0aW9uLCBjc3NGYW1pbHksIGNsaWVudFVzZSwgYWxsb3dVc2VySW5zdGFsbGVk
Rm9udHMpOwpAQCAtOTQsMTIgKzEwMyw4IEBAIHVuc2lnbmVkIEZvbnRDYXNjYWRlRGVzY3JpcHRp
b246OmVmZmVjdGl2ZUZhbWlseUNvdW50KCkgY29uc3QKICAgICB1bnNpZ25lZCByZXN1bHQgPSAw
OwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBmYW1pbHlDb3VudCgpOyArK2kpIHsKICAg
ICAgICAgY29uc3QgYXV0byYgY3NzRmFtaWx5ID0gZmFtaWx5QXQoaSk7Ci0gICAgICAgIGlmIChp
c1N5c3RlbUZvbnRTdHJpbmcoY3NzRmFtaWx5KSkKLSAgICAgICAgICAgIHJlc3VsdCArPSBzeXN0
ZW1Gb250Q2FzY2FkZUxpc3QoKnRoaXMsIGNzc0ZhbWlseSwgU3lzdGVtRm9udERhdGFiYXNlQ29y
ZVRleHQ6OkNsaWVudFVzZTo6Rm9yU3lzdGVtVUksIHNob3VsZEFsbG93VXNlckluc3RhbGxlZEZv
bnRzKCkpLnNpemUoKTsKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgICAgICBlbHNlIGlm
IChpc1VJRm9udFRleHRTdHlsZShjc3NGYW1pbHkpKQotICAgICAgICAgICAgcmVzdWx0ICs9IHN5
c3RlbUZvbnRDYXNjYWRlTGlzdCgqdGhpcywgY3NzRmFtaWx5LCBTeXN0ZW1Gb250RGF0YWJhc2VD
b3JlVGV4dDo6Q2xpZW50VXNlOjpGb3JUZXh0U3R5bGUsIHNob3VsZEFsbG93VXNlckluc3RhbGxl
ZEZvbnRzKCkpLnNpemUoKTsKLSNlbmRpZgorICAgICAgICBpZiAoYXV0byB1c2UgPSBzeXN0ZW1G
b250VXNlKGNzc0ZhbWlseSkpCisgICAgICAgICAgICByZXN1bHQgKz0gc3lzdGVtRm9udENhc2Nh
ZGVMaXN0KCp0aGlzLCBjc3NGYW1pbHksICp1c2UsIHNob3VsZEFsbG93VXNlckluc3RhbGxlZEZv
bnRzKCkpLnNpemUoKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgKytyZXN1bHQ7CiAgICAg
fQpAQCAtMTE3LDIwICsxMjIsMTIgQEAgRm9udEZhbWlseVNwZWNpZmljYXRpb24gRm9udENhc2Nh
ZGVEZXNjcmlwdGlvbjo6ZWZmZWN0aXZlRmFtaWx5QXQodW5zaWduZWQgaW5kZXgKICAgICAvLyBU
aGVzZSB0d28gYmVoYXZpb3JzIHNob3VsZCBiZSB1bmlmaWVkLCB3aGljaCB3b3VsZCBob3BlZnVs
bHkgYWxsb3cgdXMgdG8gZGVsZXRlIHRoaXMgZHVwbGljYXRlIGNvZGUuCiAgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IGZhbWlseUNvdW50KCk7ICsraSkgewogICAgICAgICBjb25zdCBhdXRv
JiBjc3NGYW1pbHkgPSBmYW1pbHlBdChpKTsKLSAgICAgICAgaWYgKGlzU3lzdGVtRm9udFN0cmlu
Zyhjc3NGYW1pbHkpKSB7Ci0gICAgICAgICAgICBhdXRvIGNhc2NhZGVMaXN0ID0gc3lzdGVtRm9u
dENhc2NhZGVMaXN0KCp0aGlzLCBjc3NGYW1pbHksIFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0
OjpDbGllbnRVc2U6OkZvclN5c3RlbVVJLCBzaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cygp
KTsKLSAgICAgICAgICAgIGlmIChpbmRleCA8IGNhc2NhZGVMaXN0LnNpemUoKSkKLSAgICAgICAg
ICAgICAgICByZXR1cm4gRm9udEZhbWlseVNwZWNpZmljYXRpb24oY2FzY2FkZUxpc3RbaW5kZXhd
LmdldCgpKTsKLSAgICAgICAgICAgIGluZGV4IC09IGNhc2NhZGVMaXN0LnNpemUoKTsKLSAgICAg
ICAgfQotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgICAgIGVsc2UgaWYgKGlzVUlGb250
VGV4dFN0eWxlKGNzc0ZhbWlseSkpIHsKLSAgICAgICAgICAgIGF1dG8gY2FzY2FkZUxpc3QgPSBz
eXN0ZW1Gb250Q2FzY2FkZUxpc3QoKnRoaXMsIGNzc0ZhbWlseSwgU3lzdGVtRm9udERhdGFiYXNl
Q29yZVRleHQ6OkNsaWVudFVzZTo6Rm9yVGV4dFN0eWxlLCBzaG91bGRBbGxvd1VzZXJJbnN0YWxs
ZWRGb250cygpKTsKKyAgICAgICAgaWYgKGF1dG8gdXNlID0gc3lzdGVtRm9udFVzZShjc3NGYW1p
bHkpKSB7CisgICAgICAgICAgICBhdXRvIGNhc2NhZGVMaXN0ID0gc3lzdGVtRm9udENhc2NhZGVM
aXN0KCp0aGlzLCBjc3NGYW1pbHksICp1c2UsIHNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRz
KCkpOwogICAgICAgICAgICAgaWYgKGluZGV4IDwgY2FzY2FkZUxpc3Quc2l6ZSgpKQogICAgICAg
ICAgICAgICAgIHJldHVybiBGb250RmFtaWx5U3BlY2lmaWNhdGlvbihjYXNjYWRlTGlzdFtpbmRl
eF0uZ2V0KCkpOwogICAgICAgICAgICAgaW5kZXggLT0gY2FzY2FkZUxpc3Quc2l6ZSgpOwogICAg
ICAgICB9Ci0jZW5kaWYKICAgICAgICAgZWxzZSBpZiAoIWluZGV4KQogICAgICAgICAgICAgcmV0
dXJuIGNzc0ZhbWlseTsKICAgICAgICAgZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1t
CmluZGV4IDc2ZTA5MjgyMmU2N2JkN2UyNzU3NThlNTBlMDQ4Y2I0OWQzODQ1NGIuLjZmN2FiNDY3
ZDQ0MzQwNTUxNjk0NGRjOTk4YzBhZWQ0NDY2ZjJjMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRh
Q29jb2EubW0KQEAgLTE1NSw3ICsxNTUsNyBAQCBDVEZvbnRSZWYgRm9udFBsYXRmb3JtRGF0YTo6
Y3RGb250KCkgY29uc3QKICAgICAgICAgcmV0dXJuIG1fY3RGb250LmdldCgpOwogCiAgICAgQVNT
RVJUKG1fZm9udCk7Ci0gICAgbV9jdEZvbnQgPSBhZG9wdENGKENURm9udENyZWF0ZUNvcHlXaXRo
QXR0cmlidXRlcyhtX2ZvbnQuZ2V0KCksIG1fc2l6ZSwgMCwgY2FzY2FkZVRvTGFzdFJlc29ydEFu
ZFZhcmlhdGlvbnNGb250RGVzY3JpcHRvcihtX2ZvbnQuZ2V0KCkpLmdldCgpKSk7CisgICAgbV9j
dEZvbnQgPSBhZG9wdENGKENURm9udENyZWF0ZUNvcHlXaXRoQXR0cmlidXRlcyhtX2ZvbnQuZ2V0
KCksIG1fc2l6ZSwgbnVsbHB0ciwgY2FzY2FkZVRvTGFzdFJlc29ydEFuZFZhcmlhdGlvbnNGb250
RGVzY3JpcHRvcihtX2ZvbnQuZ2V0KCkpLmdldCgpKSk7CiAKICAgICBpZiAobV93aWR0aFZhcmlh
bnQgIT0gRm9udFdpZHRoVmFyaWFudDo6UmVndWxhcldpZHRoKSB7CiAgICAgICAgIGludCBmZWF0
dXJlVHlwZVZhbHVlID0ga1RleHRTcGFjaW5nVHlwZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1N5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1N5c3RlbUZvbnREYXRh
YmFzZUNvcmVUZXh0LmNwcAppbmRleCBiM2QwMmZmODU1YTg5YWU0OTNkYWJlOTM4MDg3MDI0ODkx
MWZkOGFhLi4xMTlkMmY3MWI2ZGQ3YzUwZmM3YTk1MDI5YzQwMWRmMDA4N2NiYzRlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9TeXN0ZW1Gb250RGF0
YWJhc2VDb3JlVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQuY3BwCkBAIC00NywyOCArNDcsNjggQEAg
U3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OlN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0KCkK
IAogI2lmIFVTRV9QTEFURk9STV9TWVNURU1fRkFMTEJBQ0tfTElTVAogCitSZXRhaW5QdHI8Q1RG
b250UmVmPiBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6Y3JlYXRlU3lzdGVtVUkoY29uc3Qg
Q2FzY2FkZUxpc3RQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBDRlN0cmluZ1JlZiBsb2NhbGUpCit7
CisgICAgYXV0byByZXN1bHQgPSBhZG9wdENGKENURm9udENyZWF0ZVVJRm9udEZvckxhbmd1YWdl
KGtDVEZvbnRVSUZvbnRTeXN0ZW0sIHBhcmFtZXRlcnMuc2l6ZSwgbG9jYWxlKSk7CisgICAgQVNT
RVJUKHJlc3VsdCk7CisgICAgcmV0dXJuIGFwcGx5V2VpZ2h0SXRhbGljc0FuZEZhbGxiYWNrQmVo
YXZpb3IocmVzdWx0LmdldCgpLCBwYXJhbWV0ZXJzLndlaWdodCwgcGFyYW1ldGVycy5pdGFsaWMs
IHBhcmFtZXRlcnMuc2l6ZSwgcGFyYW1ldGVycy5hbGxvd1VzZXJJbnN0YWxsZWRGb250cyk7Cit9
CisKK1JldGFpblB0cjxDVEZvbnRSZWY+IFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpjcmVh
dGVEZXNpZ25TeXN0ZW1VSShDbGllbnRVc2UgY2xpZW50VXNlLCBjb25zdCBDYXNjYWRlTGlzdFBh
cmFtZXRlcnMmIHBhcmFtZXRlcnMsIENGU3RyaW5nUmVmIGxvY2FsZSkKK3sKKyAgICBhdXRvIHJl
c3VsdCA9IGFkb3B0Q0YoQ1RGb250Q3JlYXRlVUlGb250Rm9yTGFuZ3VhZ2Uoa0NURm9udFVJRm9u
dFN5c3RlbSwgcGFyYW1ldGVycy5zaXplLCBsb2NhbGUpKTsKKyAgICBBU1NFUlQocmVzdWx0KTsK
KworICAgIENGU3RyaW5nUmVmIGRlc2lnbiA9IGtDVEZvbnRVSUZvbnREZXNpZ25EZWZhdWx0Owor
ICAgIHN3aXRjaCAoY2xpZW50VXNlKSB7CisgICAgY2FzZSBDbGllbnRVc2U6OkZvclN5c3RlbVVJ
U2VyaWY6CisgICAgICAgIGRlc2lnbiA9IGtDVEZvbnRVSUZvbnREZXNpZ25TZXJpZjsKKyAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBDbGllbnRVc2U6OkZvclN5c3RlbVVJTW9ub3NwYWNlZDoKKyAg
ICAgICAgZGVzaWduID0ga0NURm9udFVJRm9udERlc2lnbk1vbm9zcGFjZWQ7CisgICAgICAgIGJy
ZWFrOworICAgIGNhc2UgQ2xpZW50VXNlOjpGb3JTeXN0ZW1VSVJvdW5kZWQ6CisgICAgICAgIGRl
c2lnbiA9IGtDVEZvbnRVSUZvbnREZXNpZ25Sb3VuZGVkOworICAgICAgICBicmVhazsKKyAgICBk
ZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICB9CisgICAgcmV0dXJu
IGFwcGx5V2VpZ2h0SXRhbGljc0FuZEZhbGxiYWNrQmVoYXZpb3IocmVzdWx0LmdldCgpLCBwYXJh
bWV0ZXJzLndlaWdodCwgcGFyYW1ldGVycy5pdGFsaWMsIHBhcmFtZXRlcnMuc2l6ZSwgcGFyYW1l
dGVycy5hbGxvd1VzZXJJbnN0YWxsZWRGb250cywgZGVzaWduKTsKK30KKworUmV0YWluUHRyPENU
Rm9udFJlZj4gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OmNyZWF0ZVRleHRTdHlsZShjb25z
dCBDYXNjYWRlTGlzdFBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCit7CisjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKKyAgICBhdXRvIGZvbnREZXNjcmlwdG9yID0gYWRvcHRDRihDVEZvbnREZXNjcmlw
dG9yQ3JlYXRlV2l0aFRleHRTdHlsZShwYXJhbWV0ZXJzLmZvbnROYW1lLnN0cmluZygpLmNyZWF0
ZUNGU3RyaW5nKCkuZ2V0KCksIFJlbmRlclRoZW1lSU9TOjpjb250ZW50U2l6ZUNhdGVnb3J5KCks
IG51bGxwdHIpKTsKKyAgICAvLyBGSVhNRTogVXNlIGFwcGx5V2VpZ2h0SXRhbGljc0FuZEZhbGxi
YWNrQmVoYXZpb3IoKSBvbmNlIDxyZGFyOi8vcHJvYmxlbS8zMzA0NjA0MT4gaXMgZml4ZWQuCisg
ICAgQ1RGb250U3ltYm9saWNUcmFpdHMgdHJhaXRzID0gKHBhcmFtZXRlcnMud2VpZ2h0ID49IGtD
VEZvbnRXZWlnaHRTZW1pYm9sZCA/IGtDVEZvbnRUcmFpdEJvbGQgOiAwKSB8IChwYXJhbWV0ZXJz
Lml0YWxpYyA/IGtDVEZvbnRUcmFpdEl0YWxpYyA6IDApOworICAgIGlmICh0cmFpdHMpCisgICAg
ICAgIGZvbnREZXNjcmlwdG9yID0gYWRvcHRDRihDVEZvbnREZXNjcmlwdG9yQ3JlYXRlQ29weVdp
dGhTeW1ib2xpY1RyYWl0cyhmb250RGVzY3JpcHRvci5nZXQoKSwgdHJhaXRzLCB0cmFpdHMpKTsK
KyAgICByZXR1cm4gY3JlYXRlRm9udEZvckluc3RhbGxlZEZvbnRzKGZvbnREZXNjcmlwdG9yLmdl
dCgpLCBwYXJhbWV0ZXJzLnNpemUsIHBhcmFtZXRlcnMuYWxsb3dVc2VySW5zdGFsbGVkRm9udHMp
OworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocGFyYW1ldGVycyk7CisgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisjZW5kaWYKK30KKwogVmVjdG9yPFJldGFpblB0cjxDVEZvbnREZXNjcmlwdG9y
UmVmPj4gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OmNhc2NhZGVMaXN0KGNvbnN0IENhc2Nh
ZGVMaXN0UGFyYW1ldGVycyYgcGFyYW1ldGVycywgQ2xpZW50VXNlIGNsaWVudFVzZSkKIHsKICAg
ICBBU1NFUlQoIXBhcmFtZXRlcnMuZm9udE5hbWUuaXNOdWxsKCkpOwogICAgIHJldHVybiBtX3N5
c3RlbUZvbnRDYWNoZS5lbnN1cmUocGFyYW1ldGVycywgWyZdIHsKICAgICAgICAgYXV0byBsb2Nh
bGVTdHJpbmcgPSBwYXJhbWV0ZXJzLmxvY2FsZS5zdHJpbmcoKS5jcmVhdGVDRlN0cmluZygpOwog
ICAgICAgICBSZXRhaW5QdHI8Q1RGb250UmVmPiBzeXN0ZW1Gb250OwotICAgICAgICBpZiAoY2xp
ZW50VXNlID09IENsaWVudFVzZTo6Rm9yU3lzdGVtVUkpIHsKLSAgICAgICAgICAgIHN5c3RlbUZv
bnQgPSBhZG9wdENGKENURm9udENyZWF0ZVVJRm9udEZvckxhbmd1YWdlKGtDVEZvbnRVSUZvbnRT
eXN0ZW0sIHBhcmFtZXRlcnMuc2l6ZSwgbG9jYWxlU3RyaW5nLmdldCgpKSk7Ci0gICAgICAgICAg
ICBBU1NFUlQoc3lzdGVtRm9udCk7Ci0gICAgICAgICAgICAvLyBGSVhNRTogVXNlIGFwcGx5V2Vp
Z2h0SXRhbGljc0FuZEZhbGxiYWNrQmVoYXZpb3IoKSBpbiBib3RoIGNhc2VzIG9uY2UgPHJkYXI6
Ly9wcm9ibGVtLzMzMDQ2MDQxPiBpcyBmaXhlZC4KLSAgICAgICAgICAgIHN5c3RlbUZvbnQgPSBh
cHBseVdlaWdodEl0YWxpY3NBbmRGYWxsYmFja0JlaGF2aW9yKHN5c3RlbUZvbnQuZ2V0KCksIHBh
cmFtZXRlcnMud2VpZ2h0LCBwYXJhbWV0ZXJzLml0YWxpYywgcGFyYW1ldGVycy5zaXplLCBwYXJh
bWV0ZXJzLmFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKLSAgICAgICAgfSBlbHNlIHsKLSNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQotICAgICAgICAgICAgQVNTRVJUKGNsaWVudFVzZSA9PSBDbGll
bnRVc2U6OkZvclRleHRTdHlsZSk7Ci0gICAgICAgICAgICBhdXRvIGZvbnREZXNjcmlwdG9yID0g
YWRvcHRDRihDVEZvbnREZXNjcmlwdG9yQ3JlYXRlV2l0aFRleHRTdHlsZShwYXJhbWV0ZXJzLmZv
bnROYW1lLnN0cmluZygpLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCksIFJlbmRlclRoZW1lSU9TOjpj
b250ZW50U2l6ZUNhdGVnb3J5KCksIG51bGxwdHIpKTsKLSAgICAgICAgICAgIENURm9udFN5bWJv
bGljVHJhaXRzIHRyYWl0cyA9IChwYXJhbWV0ZXJzLndlaWdodCA+PSBrQ1RGb250V2VpZ2h0U2Vt
aWJvbGQgPyBrQ1RGb250VHJhaXRCb2xkIDogMCkgfCAocGFyYW1ldGVycy5pdGFsaWMgPyBrQ1RG
b250VHJhaXRJdGFsaWMgOiAwKTsKLSAgICAgICAgICAgIGlmICh0cmFpdHMpCi0gICAgICAgICAg
ICAgICAgZm9udERlc2NyaXB0b3IgPSBhZG9wdENGKENURm9udERlc2NyaXB0b3JDcmVhdGVDb3B5
V2l0aFN5bWJvbGljVHJhaXRzKGZvbnREZXNjcmlwdG9yLmdldCgpLCB0cmFpdHMsIHRyYWl0cykp
OwotICAgICAgICAgICAgc3lzdGVtRm9udCA9IGNyZWF0ZUZvbnRGb3JJbnN0YWxsZWRGb250cyhm
b250RGVzY3JpcHRvci5nZXQoKSwgcGFyYW1ldGVycy5zaXplLCBwYXJhbWV0ZXJzLmFsbG93VXNl
ckluc3RhbGxlZEZvbnRzKTsKLSNlbHNlCi0gICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKLSNlbmRpZgorICAgICAgICBzd2l0Y2ggKGNsaWVudFVzZSkgeworICAgICAgICBjYXNlIENs
aWVudFVzZTo6Rm9yU3lzdGVtVUk6CisgICAgICAgICAgICBzeXN0ZW1Gb250ID0gY3JlYXRlU3lz
dGVtVUkocGFyYW1ldGVycywgbG9jYWxlU3RyaW5nLmdldCgpKTsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBjYXNlIENsaWVudFVzZTo6Rm9yU3lzdGVtVUlTZXJpZjoKKyAgICAgICAgY2Fz
ZSBDbGllbnRVc2U6OkZvclN5c3RlbVVJTW9ub3NwYWNlZDoKKyAgICAgICAgY2FzZSBDbGllbnRV
c2U6OkZvclN5c3RlbVVJUm91bmRlZDoKKyAgICAgICAgICAgIHN5c3RlbUZvbnQgPSBjcmVhdGVE
ZXNpZ25TeXN0ZW1VSShjbGllbnRVc2UsIHBhcmFtZXRlcnMsIGxvY2FsZVN0cmluZy5nZXQoKSk7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDbGllbnRVc2U6OkZvclRleHRTdHls
ZToKKyAgICAgICAgICAgIHN5c3RlbUZvbnQgPSBjcmVhdGVUZXh0U3R5bGUocGFyYW1ldGVycyk7
CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBBU1NFUlQoc3lzdGVtRm9u
dCk7CiAgICAgICAgIGF1dG8gcmVzdWx0ID0gY29tcHV0ZUNhc2NhZGVMaXN0KHN5c3RlbUZvbnQu
Z2V0KCksIGxvY2FsZVN0cmluZy5nZXQoKSk7CkBAIC04NywxNCArMTI3LDE0IEBAIHZvaWQgU3lz
dGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OmNsZWFyKCkKICAgICBtX21vbm9zcGFjZUZhbWlsaWVz
LmNsZWFyKCk7CiB9CiAKLVJldGFpblB0cjxDVEZvbnRSZWY+IFN5c3RlbUZvbnREYXRhYmFzZUNv
cmVUZXh0OjphcHBseVdlaWdodEl0YWxpY3NBbmRGYWxsYmFja0JlaGF2aW9yKENURm9udFJlZiBm
b250LCBDR0Zsb2F0IHdlaWdodCwgYm9vbCBpdGFsaWMsIGZsb2F0IHNpemUsIEFsbG93VXNlcklu
c3RhbGxlZEZvbnRzIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKQorUmV0YWluUHRyPENURm9udFJl
Zj4gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OmFwcGx5V2VpZ2h0SXRhbGljc0FuZEZhbGxi
YWNrQmVoYXZpb3IoQ1RGb250UmVmIGZvbnQsIENHRmxvYXQgd2VpZ2h0LCBib29sIGl0YWxpYywg
ZmxvYXQgc2l6ZSwgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMgYWxsb3dVc2VySW5zdGFsbGVkRm9u
dHMsIENGU3RyaW5nUmVmIGRlc2lnbikKIHsKICAgICBhdXRvIHdlaWdodE51bWJlciA9IGFkb3B0
Q0YoQ0ZOdW1iZXJDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwga0NGTnVtYmVyQ0dGbG9hdFR5
cGUsICZ3ZWlnaHQpKTsKICAgICBjb25zdCBmbG9hdCBzeXN0ZW1Gb250SXRhbGljU2xvcGUgPSAw
LjA3OwogICAgIGZsb2F0IGl0YWxpY3NSYXdOdW1iZXIgPSBpdGFsaWMgPyBzeXN0ZW1Gb250SXRh
bGljU2xvcGUgOiAwOwogICAgIGF1dG8gaXRhbGljc051bWJlciA9IGFkb3B0Q0YoQ0ZOdW1iZXJD
cmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwga0NGTnVtYmVyRmxvYXRUeXBlLCAmaXRhbGljc1Jh
d051bWJlcikpOwogICAgIENGVHlwZVJlZiB0cmFpdHNLZXlzW10gPSB7IGtDVEZvbnRXZWlnaHRU
cmFpdCwga0NURm9udFNsYW50VHJhaXQsIGtDVEZvbnRVSUZvbnREZXNpZ25UcmFpdCB9OwotICAg
IENGVHlwZVJlZiB0cmFpdHNWYWx1ZXNbXSA9IHsgd2VpZ2h0TnVtYmVyLmdldCgpLCBpdGFsaWNz
TnVtYmVyLmdldCgpLCBrQ0ZCb29sZWFuVHJ1ZSB9OworICAgIENGVHlwZVJlZiB0cmFpdHNWYWx1
ZXNbXSA9IHsgd2VpZ2h0TnVtYmVyLmdldCgpLCBpdGFsaWNzTnVtYmVyLmdldCgpLCBkZXNpZ24g
PyBzdGF0aWNfY2FzdDxDRlR5cGVSZWY+KGRlc2lnbikgOiBzdGF0aWNfY2FzdDxDRlR5cGVSZWY+
KGtDRkJvb2xlYW5UcnVlKSB9OwogICAgIGF1dG8gdHJhaXRzRGljdGlvbmFyeSA9IGFkb3B0Q0Yo
Q0ZEaWN0aW9uYXJ5Q3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIHRyYWl0c0tleXMsIHRyYWl0
c1ZhbHVlcywgV1RGX0FSUkFZX0xFTkdUSCh0cmFpdHNLZXlzKSwgJmtDRlR5cGVEaWN0aW9uYXJ5
S2V5Q2FsbEJhY2tzLCAma0NGVHlwZURpY3Rpb25hcnlWYWx1ZUNhbGxCYWNrcykpOwogICAgIGF1
dG8gYXR0cmlidXRlcyA9IGFkb3B0Q0YoQ0ZEaWN0aW9uYXJ5Q3JlYXRlTXV0YWJsZShrQ0ZBbGxv
Y2F0b3JEZWZhdWx0LCAwLCAma0NGVHlwZURpY3Rpb25hcnlLZXlDYWxsQmFja3MsICZrQ0ZUeXBl
RGljdGlvbmFyeVZhbHVlQ2FsbEJhY2tzKSk7CiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoYXR0
cmlidXRlcy5nZXQoKSwga0NURm9udFRyYWl0c0F0dHJpYnV0ZSwgdHJhaXRzRGljdGlvbmFyeS5n
ZXQoKSk7CkBAIC0xMzUsNiArMTc1LDcgQEAgU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNh
c2NhZGVMaXN0UGFyYW1ldGVycyBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6c3kKICAgICBy
ZXN1bHQubG9jYWxlID0gZGVzY3JpcHRpb24ubG9jYWxlKCk7CiAgICAgcmVzdWx0LnNpemUgPSBk
ZXNjcmlwdGlvbi5jb21wdXRlZFNpemUoKTsKICAgICByZXN1bHQuaXRhbGljID0gaXNJdGFsaWMo
ZGVzY3JpcHRpb24uaXRhbGljKCkpOworICAgIHJlc3VsdC5hbGxvd1VzZXJJbnN0YWxsZWRGb250
cyA9IGFsbG93VXNlckluc3RhbGxlZEZvbnRzOwogCiAgICAgYXV0byB3ZWlnaHQgPSBkZXNjcmlw
dGlvbi53ZWlnaHQoKTsKICAgICBpZiAoRm9udENhY2hlOjpzaW5nbGV0b24oKS5zaG91bGRNb2Nr
Qm9sZFN5c3RlbUZvbnRGb3JBY2Nlc3NpYmlsaXR5KCkpCkBAIC0xNTksMTYgKzIwMCwzMiBAQCBT
eXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6Q2FzY2FkZUxpc3RQYXJhbWV0ZXJzIFN5c3RlbUZv
bnREYXRhYmFzZUNvcmVUZXh0OjpzeQogICAgIGVsc2UKICAgICAgICAgcmVzdWx0LndlaWdodCA9
IGtDVEZvbnRXZWlnaHRCbGFjazsKIAotICAgIGlmIChjbGllbnRVc2UgPT0gQ2xpZW50VXNlOjpG
b3JTeXN0ZW1VSSkgeworICAgIHN3aXRjaCAoY2xpZW50VXNlKSB7CisgICAgY2FzZSBDbGllbnRV
c2U6OkZvclN5c3RlbVVJOiB7CiAgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9tU3Ry
aW5nPiBzeXN0ZW1VSSA9IEF0b21TdHJpbmcoInN5c3RlbS11aSIsIEF0b21TdHJpbmc6OkNvbnN0
cnVjdEZyb21MaXRlcmFsKTsKICAgICAgICAgcmVzdWx0LmZvbnROYW1lID0gc3lzdGVtVUkuZ2V0
KCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgQVNTRVJUKGNsaWVudFVzZSA9PSBDbGllbnRVc2U6
OkZvclRleHRTdHlsZSk7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBjYXNlIENsaWVudFVz
ZTo6Rm9yU3lzdGVtVUlTZXJpZjogeworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8QXRv
bVN0cmluZz4gc3lzdGVtVUkgPSBBdG9tU3RyaW5nKCJzeXN0ZW0tdWktc2VyaWYiLCBBdG9tU3Ry
aW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgICAgIHJlc3VsdC5mb250TmFtZSA9IHN5
c3RlbVVJLmdldCgpOworICAgICAgICBicmVhazsKKyAgICB9CisgICAgY2FzZSBDbGllbnRVc2U6
OkZvclN5c3RlbVVJTW9ub3NwYWNlZDogeworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
QXRvbVN0cmluZz4gc3lzdGVtVUkgPSBBdG9tU3RyaW5nKCJzeXN0ZW0tdWktbW9ub3NwYWNlZCIs
IEF0b21TdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKKyAgICAgICAgcmVzdWx0LmZvbnRO
YW1lID0gc3lzdGVtVUkuZ2V0KCk7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBjYXNlIENs
aWVudFVzZTo6Rm9yU3lzdGVtVUlSb3VuZGVkOiB7CisgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ry
b3llZDxBdG9tU3RyaW5nPiBzeXN0ZW1VSSA9IEF0b21TdHJpbmcoInN5c3RlbS11aS1yb3VuZGVk
IiwgQXRvbVN0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAgICAgICByZXN1bHQuZm9u
dE5hbWUgPSBzeXN0ZW1VSS5nZXQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGNhc2Ug
Q2xpZW50VXNlOjpGb3JUZXh0U3R5bGU6CiAgICAgICAgIHJlc3VsdC5mb250TmFtZSA9IGZhbWls
eU5hbWU7CisgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIHJlc3VsdC5hbGxvd1VzZXJJbnN0
YWxsZWRGb250cyA9IGFsbG93VXNlckluc3RhbGxlZEZvbnRzOwotCiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL1N5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0LmgKaW5kZXggMzIzYWIy
OThmMDYzMmVhYTc1NWM4ZmE3YzAyODVmMDhiMTNmYjZiMC4uZDdmMzU2MDUwZGM5OWNhMmRkNDhh
MzdiMjhkOGQ3MmI1ZDZkMmE5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9TeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4
dC5oCkBAIC05Niw3ICs5NiwxMyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgU3lzdGVtRm9udERh
dGFiYXNlQ29yZVRleHQmIHNpbmdsZXRvbigpOwogCi0gICAgZW51bSBjbGFzcyBDbGllbnRVc2Ug
eyBGb3JTeXN0ZW1VSSwgRm9yVGV4dFN0eWxlIH07CisgICAgZW51bSBjbGFzcyBDbGllbnRVc2Ug
eworICAgICAgICBGb3JTeXN0ZW1VSSwKKyAgICAgICAgRm9yU3lzdGVtVUlTZXJpZiwKKyAgICAg
ICAgRm9yU3lzdGVtVUlNb25vc3BhY2VkLAorICAgICAgICBGb3JTeXN0ZW1VSVJvdW5kZWQsCisg
ICAgICAgIEZvclRleHRTdHlsZQorICAgIH07CiAKICAgICBWZWN0b3I8UmV0YWluUHRyPENURm9u
dERlc2NyaXB0b3JSZWY+PiBjYXNjYWRlTGlzdChjb25zdCBGb250Q2FzY2FkZURlc2NyaXB0aW9u
JiwgY29uc3QgQXRvbVN0cmluZyYgY3NzRmFtaWx5LCBDbGllbnRVc2UsIEFsbG93VXNlckluc3Rh
bGxlZEZvbnRzKTsKIApAQCAtMTEzLDcgKzExOSwxMSBAQCBwcml2YXRlOgogCiAgICAgVmVjdG9y
PFJldGFpblB0cjxDVEZvbnREZXNjcmlwdG9yUmVmPj4gY2FzY2FkZUxpc3QoY29uc3QgQ2FzY2Fk
ZUxpc3RQYXJhbWV0ZXJzJiwgQ2xpZW50VXNlKTsKIAotICAgIHN0YXRpYyBSZXRhaW5QdHI8Q1RG
b250UmVmPiBhcHBseVdlaWdodEl0YWxpY3NBbmRGYWxsYmFja0JlaGF2aW9yKENURm9udFJlZiwg
Q0dGbG9hdCB3ZWlnaHQsIGJvb2wgaXRhbGljLCBmbG9hdCBzaXplLCBBbGxvd1VzZXJJbnN0YWxs
ZWRGb250cyk7CisgICAgUmV0YWluUHRyPENURm9udFJlZj4gY3JlYXRlU3lzdGVtVUkoY29uc3Qg
Q2FzY2FkZUxpc3RQYXJhbWV0ZXJzJiwgQ0ZTdHJpbmdSZWYgbG9jYWxlKTsKKyAgICBSZXRhaW5Q
dHI8Q1RGb250UmVmPiBjcmVhdGVEZXNpZ25TeXN0ZW1VSShDbGllbnRVc2UsIGNvbnN0IENhc2Nh
ZGVMaXN0UGFyYW1ldGVycyYsIENGU3RyaW5nUmVmIGxvY2FsZSk7CisgICAgUmV0YWluUHRyPENU
Rm9udFJlZj4gY3JlYXRlVGV4dFN0eWxlKGNvbnN0IENhc2NhZGVMaXN0UGFyYW1ldGVycyYpOwor
CisgICAgc3RhdGljIFJldGFpblB0cjxDVEZvbnRSZWY+IGFwcGx5V2VpZ2h0SXRhbGljc0FuZEZh
bGxiYWNrQmVoYXZpb3IoQ1RGb250UmVmLCBDR0Zsb2F0IHdlaWdodCwgYm9vbCBpdGFsaWMsIGZs
b2F0IHNpemUsIEFsbG93VXNlckluc3RhbGxlZEZvbnRzLCBDRlN0cmluZ1JlZiBkZXNpZ24gPSBu
dWxscHRyKTsKICAgICBzdGF0aWMgUmV0YWluUHRyPENURm9udERlc2NyaXB0b3JSZWY+IHJlbW92
ZUNhc2NhZGVMaXN0KENURm9udERlc2NyaXB0b3JSZWYpOwogICAgIHN0YXRpYyBWZWN0b3I8UmV0
YWluUHRyPENURm9udERlc2NyaXB0b3JSZWY+PiBjb21wdXRlQ2FzY2FkZUxpc3QoQ1RGb250UmVm
LCBDRlN0cmluZ1JlZiBsb2NhbGUpOwogICAgIHN0YXRpYyBDYXNjYWRlTGlzdFBhcmFtZXRlcnMg
c3lzdGVtRm9udFBhcmFtZXRlcnMoY29uc3QgRm9udENhc2NhZGVEZXNjcmlwdGlvbiYsIGNvbnN0
IEF0b21TdHJpbmcmIGZhbWlseU5hbWUsIENsaWVudFVzZSwgQWxsb3dVc2VySW5zdGFsbGVkRm9u
dHMpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373863</attachid>
            <date>2019-07-10 13:34:43 -0700</date>
            <delta_ts>2019-07-10 18:04:42 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-199653-20190710133442.patch</filename>
            <type>text/plain</type>
            <size>19852</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDRkOWExMGViOTU1NDQz
YzdiM2I1NGY0YzhiYjMxMjE0MWVjMmRlYy4uYzJmYzFhZmEwMzEwZWI1YWUzMjUyYmJiZjhlNTFm
Njk0NDYxMDYyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE5LTA3LTA5ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgTmV3IFlvcmsg
ZXJyb25lb3VzbHkgZ2V0cyBzeW50aGV0aWMgYm9sZAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5NjUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpwcmVwYXJlUGxhdGZvcm1Gb250KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jb2NvYS9Gb250RGVzY3JpcHRpb25Db2NvYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpz
eXN0ZW1Gb250VXNlKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlRGVzY3JpcHRpb246
OmVmZmVjdGl2ZUZhbWlseUNvdW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNj
YWRlRGVzY3JpcHRpb246OmVmZmVjdGl2ZUZhbWlseUF0IGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OmlzU3lzdGVtRm9udFN0cmluZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjppc1VJ
Rm9udFRleHRTdHlsZSk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRm
b3JtRGF0YTo6Y3RGb250IGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9TeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTeXN0
ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6Y3JlYXRlU3lzdGVtVUkpOgorICAgICAgICAoV2ViQ29y
ZTo6U3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OmNyZWF0ZURlc2lnblN5c3RlbVVJKToKKyAg
ICAgICAgKFdlYkNvcmU6OlN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpjcmVhdGVUZXh0U3R5
bGUpOgorICAgICAgICAoV2ViQ29yZTo6U3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OmNhc2Nh
ZGVMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0Ojph
cHBseVdlaWdodEl0YWxpY3NBbmRGYWxsYmFja0JlaGF2aW9yKToKKyAgICAgICAgKFdlYkNvcmU6
OlN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpzeXN0ZW1Gb250UGFyYW1ldGVycyk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQu
aDoKKwogMjAxOS0wNy0wOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAg
ICAgIE1ha2UgRG9jdW1lbnQ6OnBvc3RUYXNrKCkgc2FmZSB0byBjYWxsIGZyb20gYSBiYWNrZ3Jv
dW5kIHRocmVhZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggN2IyZDQxNTczZTYyMGMwMGUxZmMzMmJk
ZmI0YWY3MjI5M2IzY2I1OC4uMjY5NmE2OGNlNGU4MWMwNDBmZDQzYWQzMGIyZDM5OGY3NjlkMjEz
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTktMDctMDkgIE15bGVz
IEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBOZXcgWW9yayBl
cnJvbmVvdXNseSBnZXRzIHN5bnRoZXRpYyBib2xkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTk2NTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIHBhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaDoKKwog
MjAxOS0wNy0wOCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAgICAg
IFtQb2ludGVyIEV2ZW50c10gRW5hYmxlIG9ubHkgb24gdGhlIG1vc3QgcmVjZW50IHZlcnNpb24g
b2YgdGhlIHN1cHBvcnRlZCBpT1MgZmFtaWx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9z
cGkvY29jb2EvQ29yZVRleHRTUEkuaAppbmRleCBkNjJiYjI1ZDAxMzAxN2Y5Y2JlZjhkODMzNzY3
MzNhYWE2ZDEyYzM4Li4xYjExMGJmMmI4ODFjOTA2YWFlOGFhMDk4OGVmMjk1ODU4MWUxYThlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgKQEAg
LTExMSw2ICsxMTEsMTEgQEAgZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVEZvbnRDU1NXaWR0
aEF0dHJpYnV0ZTsKIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250RGVzY3JpcHRvclRl
eHRTdHlsZUF0dHJpYnV0ZTsKIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250VUlGb250
RGVzaWduVHJhaXQ7CiAKK2V4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250VUlGb250RGVz
aWduRGVmYXVsdDsKK2V4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250VUlGb250RGVzaWdu
U2VyaWY7CitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NURm9udFVJRm9udERlc2lnbk1vbm9z
cGFjZWQ7CitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NURm9udFVJRm9udERlc2lnblJvdW5k
ZWQ7CisKIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGcmFtZU1heGltdW1OdW1iZXJPZkxp
bmVzQXR0cmlidXRlTmFtZTsKIAogYm9vbCBDVEZvbnREZXNjcmlwdG9ySXNTeXN0ZW1VSUZvbnQo
Q1RGb250RGVzY3JpcHRvclJlZik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9Gb250RGVzY3JpcHRpb25Db2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250RGVzY3JpcHRpb25Db2NvYS5jcHAKaW5kZXgg
MTljNzYzNjAxNjVhNGJiYmU4Yjk1OGU5MzZiMjczZjhhMTE0YjViZi4uZTExOWVhY2FjZTNiNmIy
NDA0NWFiNTc4NjMyMTQ0MGYxNWU3NjcwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udERlc2NyaXB0aW9uQ29jb2EuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnREZXNjcmlwdGlvbkNvY29hLmNw
cApAQCAtMzQsMTQgKzM0LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjaWYgVVNFX1BMQVRG
T1JNX1NZU1RFTV9GQUxMQkFDS19MSVNUCiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBpc1N5c3RlbUZv
bnRTdHJpbmcoY29uc3QgQXRvbVN0cmluZyYgc3RyaW5nKQotewotICAgIHJldHVybiBlcXVhbExl
dHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShzdHJpbmcsICItd2Via2l0LXN5c3RlbS1mb250IikKLSAg
ICAgICAgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uoc3RyaW5nLCAiLWFwcGxlLXN5
c3RlbSIpCi0gICAgICAgIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHN0cmluZywg
Ii1hcHBsZS1zeXN0ZW0tZm9udCIpCi0gICAgICAgIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVND
SUlDYXNlKHN0cmluZywgInN5c3RlbS11aSIpOwotfQotCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlM
WSkKIAogdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVSwgc3RkOjpzaXplX3Qgc2l6ZSwg
c3RkOjpzaXplX3QuLi4gaW5kaWNlcz4gc3RkOjphcnJheTxULCBzaXplPiBjb252ZXJ0QXJyYXko
VSAoJmFycmF5KVtzaXplXSwgc3RkOjppbmRleF9zZXF1ZW5jZTxpbmRpY2VzLi4uPikKQEAgLTUz
LDkgKzQ1LDIzIEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFUsIHN0ZDo6c2l6ZV90
IHNpemU+IGlubGluZSBzdGQ6OmFycmF5PFQsIHNpemU+IGNvCiB7CiAgICAgcmV0dXJuIGNvbnZl
cnRBcnJheTxUPihhcnJheSwgc3RkOjptYWtlX2luZGV4X3NlcXVlbmNlPHNpemU+IHsgfSk7CiB9
CisjZW5kaWYKIAotc3RhdGljIGlubGluZSBib29sIGlzVUlGb250VGV4dFN0eWxlKGNvbnN0IEF0
b21TdHJpbmcmIHN0cmluZykKK3N0YXRpYyBpbmxpbmUgT3B0aW9uYWw8U3lzdGVtRm9udERhdGFi
YXNlQ29yZVRleHQ6OkNsaWVudFVzZT4gc3lzdGVtRm9udFVzZShjb25zdCBBdG9tU3RyaW5nJiBz
dHJpbmcpCiB7CisgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHN0cmluZywg
Ii13ZWJraXQtc3lzdGVtLWZvbnQiKQorICAgICAgICB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FT
Q0lJQ2FzZShzdHJpbmcsICItYXBwbGUtc3lzdGVtIikKKyAgICAgICAgfHwgZXF1YWxMZXR0ZXJz
SWdub3JpbmdBU0NJSUNhc2Uoc3RyaW5nLCAiLWFwcGxlLXN5c3RlbS1mb250IikKKyAgICAgICAg
fHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uoc3RyaW5nLCAic3lzdGVtLXVpIikpCisg
ICAgICAgIHJldHVybiBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6Q2xpZW50VXNlOjpGb3JT
eXN0ZW1VSTsKKyAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uoc3RyaW5nLCAi
c3lzdGVtLXVpLXNlcmlmIikpCisgICAgICAgIHJldHVybiBTeXN0ZW1Gb250RGF0YWJhc2VDb3Jl
VGV4dDo6Q2xpZW50VXNlOjpGb3JTeXN0ZW1VSVNlcmlmOworICAgIGlmIChlcXVhbExldHRlcnNJ
Z25vcmluZ0FTQ0lJQ2FzZShzdHJpbmcsICJzeXN0ZW0tdWktbW9ub3NwYWNlZCIpKQorICAgICAg
ICByZXR1cm4gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNsaWVudFVzZTo6Rm9yU3lzdGVt
VUlNb25vc3BhY2VkOworICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShzdHJp
bmcsICJzeXN0ZW0tdWktcm91bmRlZCIpKQorICAgICAgICByZXR1cm4gU3lzdGVtRm9udERhdGFi
YXNlQ29yZVRleHQ6OkNsaWVudFVzZTo6Rm9yU3lzdGVtVUlSb3VuZGVkOworCisjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKICAgICBzdGF0aWMgY29uc3QgQ0ZTdHJpbmdSZWYgc3R5bGVzW10gPSB7
CiAgICAgICAgIGtDVFVJRm9udFRleHRTdHlsZUhlYWRsaW5lLAogICAgICAgICBrQ1RVSUZvbnRU
ZXh0U3R5bGVCb2R5LApAQCAtNzksMTAgKzg1LDEzIEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpc1VJ
Rm9udFRleHRTdHlsZShjb25zdCBBdG9tU3RyaW5nJiBzdHJpbmcpCiAgICAgfTsKICAgICAKICAg
ICBzdGF0aWMgYXV0byBzdHJpbmdzIHsgbWFrZU5ldmVyRGVzdHJveWVkKGNvbnZlcnRBcnJheTxB
dG9tU3RyaW5nPihzdHlsZXMpKSB9OwotICAgIHJldHVybiBzdGQ6OmZpbmQoc3RyaW5ncy5nZXQo
KS5iZWdpbigpLCBzdHJpbmdzLmdldCgpLmVuZCgpLCBzdHJpbmcpICE9IHN0cmluZ3MuZ2V0KCku
ZW5kKCk7Ci19CisgICAgaWYgKHN0ZDo6ZmluZChzdHJpbmdzLmdldCgpLmJlZ2luKCksIHN0cmlu
Z3MuZ2V0KCkuZW5kKCksIHN0cmluZykgIT0gc3RyaW5ncy5nZXQoKS5lbmQoKSkKKyAgICAgICAg
cmV0dXJuIFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpDbGllbnRVc2U6OkZvclRleHRTdHls
ZTsKICNlbmRpZgogCisgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKK30KKwogc3RhdGljIGlubGlu
ZSBWZWN0b3I8UmV0YWluUHRyPENURm9udERlc2NyaXB0b3JSZWY+PiBzeXN0ZW1Gb250Q2FzY2Fk
ZUxpc3QoY29uc3QgRm9udENhc2NhZGVEZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIGNvbnN0IEF0
b21TdHJpbmcmIGNzc0ZhbWlseSwgU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNsaWVudFVz
ZSBjbGllbnRVc2UsIEFsbG93VXNlckluc3RhbGxlZEZvbnRzIGFsbG93VXNlckluc3RhbGxlZEZv
bnRzKQogewogICAgIHJldHVybiBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6c2luZ2xldG9u
KCkuY2FzY2FkZUxpc3QoZGVzY3JpcHRpb24sIGNzc0ZhbWlseSwgY2xpZW50VXNlLCBhbGxvd1Vz
ZXJJbnN0YWxsZWRGb250cyk7CkBAIC05NCwxMiArMTAzLDggQEAgdW5zaWduZWQgRm9udENhc2Nh
ZGVEZXNjcmlwdGlvbjo6ZWZmZWN0aXZlRmFtaWx5Q291bnQoKSBjb25zdAogICAgIHVuc2lnbmVk
IHJlc3VsdCA9IDA7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGZhbWlseUNvdW50KCk7
ICsraSkgewogICAgICAgICBjb25zdCBhdXRvJiBjc3NGYW1pbHkgPSBmYW1pbHlBdChpKTsKLSAg
ICAgICAgaWYgKGlzU3lzdGVtRm9udFN0cmluZyhjc3NGYW1pbHkpKQotICAgICAgICAgICAgcmVz
dWx0ICs9IHN5c3RlbUZvbnRDYXNjYWRlTGlzdCgqdGhpcywgY3NzRmFtaWx5LCBTeXN0ZW1Gb250
RGF0YWJhc2VDb3JlVGV4dDo6Q2xpZW50VXNlOjpGb3JTeXN0ZW1VSSwgc2hvdWxkQWxsb3dVc2Vy
SW5zdGFsbGVkRm9udHMoKSkuc2l6ZSgpOwotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAg
ICAgIGVsc2UgaWYgKGlzVUlGb250VGV4dFN0eWxlKGNzc0ZhbWlseSkpCi0gICAgICAgICAgICBy
ZXN1bHQgKz0gc3lzdGVtRm9udENhc2NhZGVMaXN0KCp0aGlzLCBjc3NGYW1pbHksIFN5c3RlbUZv
bnREYXRhYmFzZUNvcmVUZXh0OjpDbGllbnRVc2U6OkZvclRleHRTdHlsZSwgc2hvdWxkQWxsb3dV
c2VySW5zdGFsbGVkRm9udHMoKSkuc2l6ZSgpOwotI2VuZGlmCisgICAgICAgIGlmIChhdXRvIHVz
ZSA9IHN5c3RlbUZvbnRVc2UoY3NzRmFtaWx5KSkKKyAgICAgICAgICAgIHJlc3VsdCArPSBzeXN0
ZW1Gb250Q2FzY2FkZUxpc3QoKnRoaXMsIGNzc0ZhbWlseSwgKnVzZSwgc2hvdWxkQWxsb3dVc2Vy
SW5zdGFsbGVkRm9udHMoKSkuc2l6ZSgpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICArK3Jl
c3VsdDsKICAgICB9CkBAIC0xMTcsMjAgKzEyMiwxMiBAQCBGb250RmFtaWx5U3BlY2lmaWNhdGlv
biBGb250Q2FzY2FkZURlc2NyaXB0aW9uOjplZmZlY3RpdmVGYW1pbHlBdCh1bnNpZ25lZCBpbmRl
eAogICAgIC8vIFRoZXNlIHR3byBiZWhhdmlvcnMgc2hvdWxkIGJlIHVuaWZpZWQsIHdoaWNoIHdv
dWxkIGhvcGVmdWxseSBhbGxvdyB1cyB0byBkZWxldGUgdGhpcyBkdXBsaWNhdGUgY29kZS4KICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZmFtaWx5Q291bnQoKTsgKytpKSB7CiAgICAgICAg
IGNvbnN0IGF1dG8mIGNzc0ZhbWlseSA9IGZhbWlseUF0KGkpOwotICAgICAgICBpZiAoaXNTeXN0
ZW1Gb250U3RyaW5nKGNzc0ZhbWlseSkpIHsKLSAgICAgICAgICAgIGF1dG8gY2FzY2FkZUxpc3Qg
PSBzeXN0ZW1Gb250Q2FzY2FkZUxpc3QoKnRoaXMsIGNzc0ZhbWlseSwgU3lzdGVtRm9udERhdGFi
YXNlQ29yZVRleHQ6OkNsaWVudFVzZTo6Rm9yU3lzdGVtVUksIHNob3VsZEFsbG93VXNlckluc3Rh
bGxlZEZvbnRzKCkpOwotICAgICAgICAgICAgaWYgKGluZGV4IDwgY2FzY2FkZUxpc3Quc2l6ZSgp
KQotICAgICAgICAgICAgICAgIHJldHVybiBGb250RmFtaWx5U3BlY2lmaWNhdGlvbihjYXNjYWRl
TGlzdFtpbmRleF0uZ2V0KCkpOwotICAgICAgICAgICAgaW5kZXggLT0gY2FzY2FkZUxpc3Quc2l6
ZSgpOwotICAgICAgICB9Ci0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICAgICAgZWxzZSBp
ZiAoaXNVSUZvbnRUZXh0U3R5bGUoY3NzRmFtaWx5KSkgewotICAgICAgICAgICAgYXV0byBjYXNj
YWRlTGlzdCA9IHN5c3RlbUZvbnRDYXNjYWRlTGlzdCgqdGhpcywgY3NzRmFtaWx5LCBTeXN0ZW1G
b250RGF0YWJhc2VDb3JlVGV4dDo6Q2xpZW50VXNlOjpGb3JUZXh0U3R5bGUsIHNob3VsZEFsbG93
VXNlckluc3RhbGxlZEZvbnRzKCkpOworICAgICAgICBpZiAoYXV0byB1c2UgPSBzeXN0ZW1Gb250
VXNlKGNzc0ZhbWlseSkpIHsKKyAgICAgICAgICAgIGF1dG8gY2FzY2FkZUxpc3QgPSBzeXN0ZW1G
b250Q2FzY2FkZUxpc3QoKnRoaXMsIGNzc0ZhbWlseSwgKnVzZSwgc2hvdWxkQWxsb3dVc2VySW5z
dGFsbGVkRm9udHMoKSk7CiAgICAgICAgICAgICBpZiAoaW5kZXggPCBjYXNjYWRlTGlzdC5zaXpl
KCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uKGNhc2Nh
ZGVMaXN0W2luZGV4XS5nZXQoKSk7CiAgICAgICAgICAgICBpbmRleCAtPSBjYXNjYWRlTGlzdC5z
aXplKCk7CiAgICAgICAgIH0KLSNlbmRpZgogICAgICAgICBlbHNlIGlmICghaW5kZXgpCiAgICAg
ICAgICAgICByZXR1cm4gY3NzRmFtaWx5OwogICAgICAgICBlbHNlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2Eu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1E
YXRhQ29jb2EubW0KaW5kZXggNzZlMDkyODIyZTY3YmQ3ZTI3NTc1OGU1MGUwNDhjYjQ5ZDM4NDU0
Yi4uNmY3YWI0NjdkNDQzNDA1NTE2OTQ0ZGM5OThjMGFlZDQ0NjZmMmMxNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNv
Y29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQ
bGF0Zm9ybURhdGFDb2NvYS5tbQpAQCAtMTU1LDcgKzE1NSw3IEBAIENURm9udFJlZiBGb250UGxh
dGZvcm1EYXRhOjpjdEZvbnQoKSBjb25zdAogICAgICAgICByZXR1cm4gbV9jdEZvbnQuZ2V0KCk7
CiAKICAgICBBU1NFUlQobV9mb250KTsKLSAgICBtX2N0Rm9udCA9IGFkb3B0Q0YoQ1RGb250Q3Jl
YXRlQ29weVdpdGhBdHRyaWJ1dGVzKG1fZm9udC5nZXQoKSwgbV9zaXplLCAwLCBjYXNjYWRlVG9M
YXN0UmVzb3J0QW5kVmFyaWF0aW9uc0ZvbnREZXNjcmlwdG9yKG1fZm9udC5nZXQoKSkuZ2V0KCkp
KTsKKyAgICBtX2N0Rm9udCA9IGFkb3B0Q0YoQ1RGb250Q3JlYXRlQ29weVdpdGhBdHRyaWJ1dGVz
KG1fZm9udC5nZXQoKSwgbV9zaXplLCBudWxscHRyLCBjYXNjYWRlVG9MYXN0UmVzb3J0QW5kVmFy
aWF0aW9uc0ZvbnREZXNjcmlwdG9yKG1fZm9udC5nZXQoKSkuZ2V0KCkpKTsKIAogICAgIGlmICht
X3dpZHRoVmFyaWFudCAhPSBGb250V2lkdGhWYXJpYW50OjpSZWd1bGFyV2lkdGgpIHsKICAgICAg
ICAgaW50IGZlYXR1cmVUeXBlVmFsdWUgPSBrVGV4dFNwYWNpbmdUeXBlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU3lzdGVtRm9udERhdGFiYXNl
Q29yZVRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU3lz
dGVtRm9udERhdGFiYXNlQ29yZVRleHQuY3BwCmluZGV4IGIzZDAyZmY4NTVhODlhZTQ5M2RhYmU5
MzgwODcwMjQ4OTExZmQ4YWEuLjExOWQyZjcxYjZkZDdjNTBmYzdhOTUwMjljNDAxZGYwMDg3Y2Jj
NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1N5
c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9TeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dC5jcHAKQEAgLTQ3LDI4
ICs0Nyw2OCBAQCBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6U3lzdGVtRm9udERhdGFiYXNl
Q29yZVRleHQoKQogCiAjaWYgVVNFX1BMQVRGT1JNX1NZU1RFTV9GQUxMQkFDS19MSVNUCiAKK1Jl
dGFpblB0cjxDVEZvbnRSZWY+IFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpjcmVhdGVTeXN0
ZW1VSShjb25zdCBDYXNjYWRlTGlzdFBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsIENGU3RyaW5nUmVm
IGxvY2FsZSkKK3sKKyAgICBhdXRvIHJlc3VsdCA9IGFkb3B0Q0YoQ1RGb250Q3JlYXRlVUlGb250
Rm9yTGFuZ3VhZ2Uoa0NURm9udFVJRm9udFN5c3RlbSwgcGFyYW1ldGVycy5zaXplLCBsb2NhbGUp
KTsKKyAgICBBU1NFUlQocmVzdWx0KTsKKyAgICByZXR1cm4gYXBwbHlXZWlnaHRJdGFsaWNzQW5k
RmFsbGJhY2tCZWhhdmlvcihyZXN1bHQuZ2V0KCksIHBhcmFtZXRlcnMud2VpZ2h0LCBwYXJhbWV0
ZXJzLml0YWxpYywgcGFyYW1ldGVycy5zaXplLCBwYXJhbWV0ZXJzLmFsbG93VXNlckluc3RhbGxl
ZEZvbnRzKTsKK30KKworUmV0YWluUHRyPENURm9udFJlZj4gU3lzdGVtRm9udERhdGFiYXNlQ29y
ZVRleHQ6OmNyZWF0ZURlc2lnblN5c3RlbVVJKENsaWVudFVzZSBjbGllbnRVc2UsIGNvbnN0IENh
c2NhZGVMaXN0UGFyYW1ldGVycyYgcGFyYW1ldGVycywgQ0ZTdHJpbmdSZWYgbG9jYWxlKQorewor
ICAgIGF1dG8gcmVzdWx0ID0gYWRvcHRDRihDVEZvbnRDcmVhdGVVSUZvbnRGb3JMYW5ndWFnZShr
Q1RGb250VUlGb250U3lzdGVtLCBwYXJhbWV0ZXJzLnNpemUsIGxvY2FsZSkpOworICAgIEFTU0VS
VChyZXN1bHQpOworCisgICAgQ0ZTdHJpbmdSZWYgZGVzaWduID0ga0NURm9udFVJRm9udERlc2ln
bkRlZmF1bHQ7CisgICAgc3dpdGNoIChjbGllbnRVc2UpIHsKKyAgICBjYXNlIENsaWVudFVzZTo6
Rm9yU3lzdGVtVUlTZXJpZjoKKyAgICAgICAgZGVzaWduID0ga0NURm9udFVJRm9udERlc2lnblNl
cmlmOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENsaWVudFVzZTo6Rm9yU3lzdGVtVUlNb25v
c3BhY2VkOgorICAgICAgICBkZXNpZ24gPSBrQ1RGb250VUlGb250RGVzaWduTW9ub3NwYWNlZDsK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDbGllbnRVc2U6OkZvclN5c3RlbVVJUm91bmRlZDoK
KyAgICAgICAgZGVzaWduID0ga0NURm9udFVJRm9udERlc2lnblJvdW5kZWQ7CisgICAgICAgIGJy
ZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0K
KyAgICByZXR1cm4gYXBwbHlXZWlnaHRJdGFsaWNzQW5kRmFsbGJhY2tCZWhhdmlvcihyZXN1bHQu
Z2V0KCksIHBhcmFtZXRlcnMud2VpZ2h0LCBwYXJhbWV0ZXJzLml0YWxpYywgcGFyYW1ldGVycy5z
aXplLCBwYXJhbWV0ZXJzLmFsbG93VXNlckluc3RhbGxlZEZvbnRzLCBkZXNpZ24pOworfQorCitS
ZXRhaW5QdHI8Q1RGb250UmVmPiBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6Y3JlYXRlVGV4
dFN0eWxlKGNvbnN0IENhc2NhZGVMaXN0UGFyYW1ldGVycyYgcGFyYW1ldGVycykKK3sKKyNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQorICAgIGF1dG8gZm9udERlc2NyaXB0b3IgPSBhZG9wdENGKENU
Rm9udERlc2NyaXB0b3JDcmVhdGVXaXRoVGV4dFN0eWxlKHBhcmFtZXRlcnMuZm9udE5hbWUuc3Ry
aW5nKCkuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSwgUmVuZGVyVGhlbWVJT1M6OmNvbnRlbnRTaXpl
Q2F0ZWdvcnkoKSwgbnVsbHB0cikpOworICAgIC8vIEZJWE1FOiBVc2UgYXBwbHlXZWlnaHRJdGFs
aWNzQW5kRmFsbGJhY2tCZWhhdmlvcigpIG9uY2UgPHJkYXI6Ly9wcm9ibGVtLzMzMDQ2MDQxPiBp
cyBmaXhlZC4KKyAgICBDVEZvbnRTeW1ib2xpY1RyYWl0cyB0cmFpdHMgPSAocGFyYW1ldGVycy53
ZWlnaHQgPj0ga0NURm9udFdlaWdodFNlbWlib2xkID8ga0NURm9udFRyYWl0Qm9sZCA6IDApIHwg
KHBhcmFtZXRlcnMuaXRhbGljID8ga0NURm9udFRyYWl0SXRhbGljIDogMCk7CisgICAgaWYgKHRy
YWl0cykKKyAgICAgICAgZm9udERlc2NyaXB0b3IgPSBhZG9wdENGKENURm9udERlc2NyaXB0b3JD
cmVhdGVDb3B5V2l0aFN5bWJvbGljVHJhaXRzKGZvbnREZXNjcmlwdG9yLmdldCgpLCB0cmFpdHMs
IHRyYWl0cykpOworICAgIHJldHVybiBjcmVhdGVGb250Rm9ySW5zdGFsbGVkRm9udHMoZm9udERl
c2NyaXB0b3IuZ2V0KCksIHBhcmFtZXRlcnMuc2l6ZSwgcGFyYW1ldGVycy5hbGxvd1VzZXJJbnN0
YWxsZWRGb250cyk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShwYXJhbWV0ZXJzKTsKKyAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyNlbmRpZgorfQorCiBWZWN0b3I8UmV0YWluUHRyPENURm9u
dERlc2NyaXB0b3JSZWY+PiBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6Y2FzY2FkZUxpc3Qo
Y29uc3QgQ2FzY2FkZUxpc3RQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBDbGllbnRVc2UgY2xpZW50
VXNlKQogewogICAgIEFTU0VSVCghcGFyYW1ldGVycy5mb250TmFtZS5pc051bGwoKSk7CiAgICAg
cmV0dXJuIG1fc3lzdGVtRm9udENhY2hlLmVuc3VyZShwYXJhbWV0ZXJzLCBbJl0gewogICAgICAg
ICBhdXRvIGxvY2FsZVN0cmluZyA9IHBhcmFtZXRlcnMubG9jYWxlLnN0cmluZygpLmNyZWF0ZUNG
U3RyaW5nKCk7CiAgICAgICAgIFJldGFpblB0cjxDVEZvbnRSZWY+IHN5c3RlbUZvbnQ7Ci0gICAg
ICAgIGlmIChjbGllbnRVc2UgPT0gQ2xpZW50VXNlOjpGb3JTeXN0ZW1VSSkgewotICAgICAgICAg
ICAgc3lzdGVtRm9udCA9IGFkb3B0Q0YoQ1RGb250Q3JlYXRlVUlGb250Rm9yTGFuZ3VhZ2Uoa0NU
Rm9udFVJRm9udFN5c3RlbSwgcGFyYW1ldGVycy5zaXplLCBsb2NhbGVTdHJpbmcuZ2V0KCkpKTsK
LSAgICAgICAgICAgIEFTU0VSVChzeXN0ZW1Gb250KTsKLSAgICAgICAgICAgIC8vIEZJWE1FOiBV
c2UgYXBwbHlXZWlnaHRJdGFsaWNzQW5kRmFsbGJhY2tCZWhhdmlvcigpIGluIGJvdGggY2FzZXMg
b25jZSA8cmRhcjovL3Byb2JsZW0vMzMwNDYwNDE+IGlzIGZpeGVkLgotICAgICAgICAgICAgc3lz
dGVtRm9udCA9IGFwcGx5V2VpZ2h0SXRhbGljc0FuZEZhbGxiYWNrQmVoYXZpb3Ioc3lzdGVtRm9u
dC5nZXQoKSwgcGFyYW1ldGVycy53ZWlnaHQsIHBhcmFtZXRlcnMuaXRhbGljLCBwYXJhbWV0ZXJz
LnNpemUsIHBhcmFtZXRlcnMuYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOwotICAgICAgICB9IGVs
c2UgewotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgICAgICAgICBBU1NFUlQoY2xpZW50
VXNlID09IENsaWVudFVzZTo6Rm9yVGV4dFN0eWxlKTsKLSAgICAgICAgICAgIGF1dG8gZm9udERl
c2NyaXB0b3IgPSBhZG9wdENGKENURm9udERlc2NyaXB0b3JDcmVhdGVXaXRoVGV4dFN0eWxlKHBh
cmFtZXRlcnMuZm9udE5hbWUuc3RyaW5nKCkuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSwgUmVuZGVy
VGhlbWVJT1M6OmNvbnRlbnRTaXplQ2F0ZWdvcnkoKSwgbnVsbHB0cikpOwotICAgICAgICAgICAg
Q1RGb250U3ltYm9saWNUcmFpdHMgdHJhaXRzID0gKHBhcmFtZXRlcnMud2VpZ2h0ID49IGtDVEZv
bnRXZWlnaHRTZW1pYm9sZCA/IGtDVEZvbnRUcmFpdEJvbGQgOiAwKSB8IChwYXJhbWV0ZXJzLml0
YWxpYyA/IGtDVEZvbnRUcmFpdEl0YWxpYyA6IDApOwotICAgICAgICAgICAgaWYgKHRyYWl0cykK
LSAgICAgICAgICAgICAgICBmb250RGVzY3JpcHRvciA9IGFkb3B0Q0YoQ1RGb250RGVzY3JpcHRv
ckNyZWF0ZUNvcHlXaXRoU3ltYm9saWNUcmFpdHMoZm9udERlc2NyaXB0b3IuZ2V0KCksIHRyYWl0
cywgdHJhaXRzKSk7Ci0gICAgICAgICAgICBzeXN0ZW1Gb250ID0gY3JlYXRlRm9udEZvckluc3Rh
bGxlZEZvbnRzKGZvbnREZXNjcmlwdG9yLmdldCgpLCBwYXJhbWV0ZXJzLnNpemUsIHBhcmFtZXRl
cnMuYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOwotI2Vsc2UKLSAgICAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwotI2VuZGlmCisgICAgICAgIHN3aXRjaCAoY2xpZW50VXNlKSB7CisgICAg
ICAgIGNhc2UgQ2xpZW50VXNlOjpGb3JTeXN0ZW1VSToKKyAgICAgICAgICAgIHN5c3RlbUZvbnQg
PSBjcmVhdGVTeXN0ZW1VSShwYXJhbWV0ZXJzLCBsb2NhbGVTdHJpbmcuZ2V0KCkpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ2xpZW50VXNlOjpGb3JTeXN0ZW1VSVNlcmlmOgor
ICAgICAgICBjYXNlIENsaWVudFVzZTo6Rm9yU3lzdGVtVUlNb25vc3BhY2VkOgorICAgICAgICBj
YXNlIENsaWVudFVzZTo6Rm9yU3lzdGVtVUlSb3VuZGVkOgorICAgICAgICAgICAgc3lzdGVtRm9u
dCA9IGNyZWF0ZURlc2lnblN5c3RlbVVJKGNsaWVudFVzZSwgcGFyYW1ldGVycywgbG9jYWxlU3Ry
aW5nLmdldCgpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENsaWVudFVzZTo6
Rm9yVGV4dFN0eWxlOgorICAgICAgICAgICAgc3lzdGVtRm9udCA9IGNyZWF0ZVRleHRTdHlsZShw
YXJhbWV0ZXJzKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIEFTU0VS
VChzeXN0ZW1Gb250KTsKICAgICAgICAgYXV0byByZXN1bHQgPSBjb21wdXRlQ2FzY2FkZUxpc3Qo
c3lzdGVtRm9udC5nZXQoKSwgbG9jYWxlU3RyaW5nLmdldCgpKTsKQEAgLTg3LDE0ICsxMjcsMTQg
QEAgdm9pZCBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6Y2xlYXIoKQogICAgIG1fbW9ub3Nw
YWNlRmFtaWxpZXMuY2xlYXIoKTsKIH0KIAotUmV0YWluUHRyPENURm9udFJlZj4gU3lzdGVtRm9u
dERhdGFiYXNlQ29yZVRleHQ6OmFwcGx5V2VpZ2h0SXRhbGljc0FuZEZhbGxiYWNrQmVoYXZpb3Io
Q1RGb250UmVmIGZvbnQsIENHRmxvYXQgd2VpZ2h0LCBib29sIGl0YWxpYywgZmxvYXQgc2l6ZSwg
QWxsb3dVc2VySW5zdGFsbGVkRm9udHMgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpCitSZXRhaW5Q
dHI8Q1RGb250UmVmPiBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6YXBwbHlXZWlnaHRJdGFs
aWNzQW5kRmFsbGJhY2tCZWhhdmlvcihDVEZvbnRSZWYgZm9udCwgQ0dGbG9hdCB3ZWlnaHQsIGJv
b2wgaXRhbGljLCBmbG9hdCBzaXplLCBBbGxvd1VzZXJJbnN0YWxsZWRGb250cyBhbGxvd1VzZXJJ
bnN0YWxsZWRGb250cywgQ0ZTdHJpbmdSZWYgZGVzaWduKQogewogICAgIGF1dG8gd2VpZ2h0TnVt
YmVyID0gYWRvcHRDRihDRk51bWJlckNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBrQ0ZOdW1i
ZXJDR0Zsb2F0VHlwZSwgJndlaWdodCkpOwogICAgIGNvbnN0IGZsb2F0IHN5c3RlbUZvbnRJdGFs
aWNTbG9wZSA9IDAuMDc7CiAgICAgZmxvYXQgaXRhbGljc1Jhd051bWJlciA9IGl0YWxpYyA/IHN5
c3RlbUZvbnRJdGFsaWNTbG9wZSA6IDA7CiAgICAgYXV0byBpdGFsaWNzTnVtYmVyID0gYWRvcHRD
RihDRk51bWJlckNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBrQ0ZOdW1iZXJGbG9hdFR5cGUs
ICZpdGFsaWNzUmF3TnVtYmVyKSk7CiAgICAgQ0ZUeXBlUmVmIHRyYWl0c0tleXNbXSA9IHsga0NU
Rm9udFdlaWdodFRyYWl0LCBrQ1RGb250U2xhbnRUcmFpdCwga0NURm9udFVJRm9udERlc2lnblRy
YWl0IH07Ci0gICAgQ0ZUeXBlUmVmIHRyYWl0c1ZhbHVlc1tdID0geyB3ZWlnaHROdW1iZXIuZ2V0
KCksIGl0YWxpY3NOdW1iZXIuZ2V0KCksIGtDRkJvb2xlYW5UcnVlIH07CisgICAgQ0ZUeXBlUmVm
IHRyYWl0c1ZhbHVlc1tdID0geyB3ZWlnaHROdW1iZXIuZ2V0KCksIGl0YWxpY3NOdW1iZXIuZ2V0
KCksIGRlc2lnbiA/IHN0YXRpY19jYXN0PENGVHlwZVJlZj4oZGVzaWduKSA6IHN0YXRpY19jYXN0
PENGVHlwZVJlZj4oa0NGQm9vbGVhblRydWUpIH07CiAgICAgYXV0byB0cmFpdHNEaWN0aW9uYXJ5
ID0gYWRvcHRDRihDRkRpY3Rpb25hcnlDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgdHJhaXRz
S2V5cywgdHJhaXRzVmFsdWVzLCBXVEZfQVJSQVlfTEVOR1RIKHRyYWl0c0tleXMpLCAma0NGVHlw
ZURpY3Rpb25hcnlLZXlDYWxsQmFja3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZhbHVlQ2FsbEJhY2tz
KSk7CiAgICAgYXV0byBhdHRyaWJ1dGVzID0gYWRvcHRDRihDRkRpY3Rpb25hcnlDcmVhdGVNdXRh
YmxlKGtDRkFsbG9jYXRvckRlZmF1bHQsIDAsICZrQ0ZUeXBlRGljdGlvbmFyeUtleUNhbGxCYWNr
cywgJmtDRlR5cGVEaWN0aW9uYXJ5VmFsdWVDYWxsQmFja3MpKTsKICAgICBDRkRpY3Rpb25hcnlB
ZGRWYWx1ZShhdHRyaWJ1dGVzLmdldCgpLCBrQ1RGb250VHJhaXRzQXR0cmlidXRlLCB0cmFpdHNE
aWN0aW9uYXJ5LmdldCgpKTsKQEAgLTEzNSw2ICsxNzUsNyBAQCBTeXN0ZW1Gb250RGF0YWJhc2VD
b3JlVGV4dDo6Q2FzY2FkZUxpc3RQYXJhbWV0ZXJzIFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0
OjpzeQogICAgIHJlc3VsdC5sb2NhbGUgPSBkZXNjcmlwdGlvbi5sb2NhbGUoKTsKICAgICByZXN1
bHQuc2l6ZSA9IGRlc2NyaXB0aW9uLmNvbXB1dGVkU2l6ZSgpOwogICAgIHJlc3VsdC5pdGFsaWMg
PSBpc0l0YWxpYyhkZXNjcmlwdGlvbi5pdGFsaWMoKSk7CisgICAgcmVzdWx0LmFsbG93VXNlcklu
c3RhbGxlZEZvbnRzID0gYWxsb3dVc2VySW5zdGFsbGVkRm9udHM7CiAKICAgICBhdXRvIHdlaWdo
dCA9IGRlc2NyaXB0aW9uLndlaWdodCgpOwogICAgIGlmIChGb250Q2FjaGU6OnNpbmdsZXRvbigp
LnNob3VsZE1vY2tCb2xkU3lzdGVtRm9udEZvckFjY2Vzc2liaWxpdHkoKSkKQEAgLTE1OSwxNiAr
MjAwLDMyIEBAIFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpDYXNjYWRlTGlzdFBhcmFtZXRl
cnMgU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OnN5CiAgICAgZWxzZQogICAgICAgICByZXN1
bHQud2VpZ2h0ID0ga0NURm9udFdlaWdodEJsYWNrOwogCi0gICAgaWYgKGNsaWVudFVzZSA9PSBD
bGllbnRVc2U6OkZvclN5c3RlbVVJKSB7CisgICAgc3dpdGNoIChjbGllbnRVc2UpIHsKKyAgICBj
YXNlIENsaWVudFVzZTo6Rm9yU3lzdGVtVUk6IHsKICAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJv
eWVkPEF0b21TdHJpbmc+IHN5c3RlbVVJID0gQXRvbVN0cmluZygic3lzdGVtLXVpIiwgQXRvbVN0
cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOwogICAgICAgICByZXN1bHQuZm9udE5hbWUgPSBz
eXN0ZW1VSS5nZXQoKTsKLSAgICB9IGVsc2UgewotICAgICAgICBBU1NFUlQoY2xpZW50VXNlID09
IENsaWVudFVzZTo6Rm9yVGV4dFN0eWxlKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGNh
c2UgQ2xpZW50VXNlOjpGb3JTeXN0ZW1VSVNlcmlmOiB7CisgICAgICAgIHN0YXRpYyBOZXZlckRl
c3Ryb3llZDxBdG9tU3RyaW5nPiBzeXN0ZW1VSSA9IEF0b21TdHJpbmcoInN5c3RlbS11aS1zZXJp
ZiIsIEF0b21TdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKKyAgICAgICAgcmVzdWx0LmZv
bnROYW1lID0gc3lzdGVtVUkuZ2V0KCk7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBjYXNl
IENsaWVudFVzZTo6Rm9yU3lzdGVtVUlNb25vc3BhY2VkOiB7CisgICAgICAgIHN0YXRpYyBOZXZl
ckRlc3Ryb3llZDxBdG9tU3RyaW5nPiBzeXN0ZW1VSSA9IEF0b21TdHJpbmcoInN5c3RlbS11aS1t
b25vc3BhY2VkIiwgQXRvbVN0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAgICAgICBy
ZXN1bHQuZm9udE5hbWUgPSBzeXN0ZW1VSS5nZXQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQor
ICAgIGNhc2UgQ2xpZW50VXNlOjpGb3JTeXN0ZW1VSVJvdW5kZWQ6IHsKKyAgICAgICAgc3RhdGlj
IE5ldmVyRGVzdHJveWVkPEF0b21TdHJpbmc+IHN5c3RlbVVJID0gQXRvbVN0cmluZygic3lzdGVt
LXVpLXJvdW5kZWQiLCBBdG9tU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgICAg
IHJlc3VsdC5mb250TmFtZSA9IHN5c3RlbVVJLmdldCgpOworICAgICAgICBicmVhazsKKyAgICB9
CisgICAgY2FzZSBDbGllbnRVc2U6OkZvclRleHRTdHlsZToKICAgICAgICAgcmVzdWx0LmZvbnRO
YW1lID0gZmFtaWx5TmFtZTsKKyAgICAgICAgYnJlYWs7CiAgICAgfQogCi0gICAgcmVzdWx0LmFs
bG93VXNlckluc3RhbGxlZEZvbnRzID0gYWxsb3dVc2VySW5zdGFsbGVkRm9udHM7Ci0KICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9TeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dC5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQuaApp
bmRleCAzMjNhYjI5OGYwNjMyZWFhNzU1YzhmYTdjMDI4NWYwOGIxM2ZiNmIwLi5kN2YzNTYwNTBk
Yzk5Y2EyZGQ0OGEzN2IyOGQ4ZDcyYjVkNmQyYTllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9TeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1N5c3RlbUZvbnREYXRh
YmFzZUNvcmVUZXh0LmgKQEAgLTk2LDcgKzk2LDEzIEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBT
eXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dCYgc2luZ2xldG9uKCk7CiAKLSAgICBlbnVtIGNsYXNz
IENsaWVudFVzZSB7IEZvclN5c3RlbVVJLCBGb3JUZXh0U3R5bGUgfTsKKyAgICBlbnVtIGNsYXNz
IENsaWVudFVzZSB7CisgICAgICAgIEZvclN5c3RlbVVJLAorICAgICAgICBGb3JTeXN0ZW1VSVNl
cmlmLAorICAgICAgICBGb3JTeXN0ZW1VSU1vbm9zcGFjZWQsCisgICAgICAgIEZvclN5c3RlbVVJ
Um91bmRlZCwKKyAgICAgICAgRm9yVGV4dFN0eWxlCisgICAgfTsKIAogICAgIFZlY3RvcjxSZXRh
aW5QdHI8Q1RGb250RGVzY3JpcHRvclJlZj4+IGNhc2NhZGVMaXN0KGNvbnN0IEZvbnRDYXNjYWRl
RGVzY3JpcHRpb24mLCBjb25zdCBBdG9tU3RyaW5nJiBjc3NGYW1pbHksIENsaWVudFVzZSwgQWxs
b3dVc2VySW5zdGFsbGVkRm9udHMpOwogCkBAIC0xMTMsNyArMTE5LDExIEBAIHByaXZhdGU6CiAK
ICAgICBWZWN0b3I8UmV0YWluUHRyPENURm9udERlc2NyaXB0b3JSZWY+PiBjYXNjYWRlTGlzdChj
b25zdCBDYXNjYWRlTGlzdFBhcmFtZXRlcnMmLCBDbGllbnRVc2UpOwogCi0gICAgc3RhdGljIFJl
dGFpblB0cjxDVEZvbnRSZWY+IGFwcGx5V2VpZ2h0SXRhbGljc0FuZEZhbGxiYWNrQmVoYXZpb3Io
Q1RGb250UmVmLCBDR0Zsb2F0IHdlaWdodCwgYm9vbCBpdGFsaWMsIGZsb2F0IHNpemUsIEFsbG93
VXNlckluc3RhbGxlZEZvbnRzKTsKKyAgICBSZXRhaW5QdHI8Q1RGb250UmVmPiBjcmVhdGVTeXN0
ZW1VSShjb25zdCBDYXNjYWRlTGlzdFBhcmFtZXRlcnMmLCBDRlN0cmluZ1JlZiBsb2NhbGUpOwor
ICAgIFJldGFpblB0cjxDVEZvbnRSZWY+IGNyZWF0ZURlc2lnblN5c3RlbVVJKENsaWVudFVzZSwg
Y29uc3QgQ2FzY2FkZUxpc3RQYXJhbWV0ZXJzJiwgQ0ZTdHJpbmdSZWYgbG9jYWxlKTsKKyAgICBS
ZXRhaW5QdHI8Q1RGb250UmVmPiBjcmVhdGVUZXh0U3R5bGUoY29uc3QgQ2FzY2FkZUxpc3RQYXJh
bWV0ZXJzJik7CisKKyAgICBzdGF0aWMgUmV0YWluUHRyPENURm9udFJlZj4gYXBwbHlXZWlnaHRJ
dGFsaWNzQW5kRmFsbGJhY2tCZWhhdmlvcihDVEZvbnRSZWYsIENHRmxvYXQgd2VpZ2h0LCBib29s
IGl0YWxpYywgZmxvYXQgc2l6ZSwgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMsIENGU3RyaW5nUmVm
IGRlc2lnbiA9IG51bGxwdHIpOwogICAgIHN0YXRpYyBSZXRhaW5QdHI8Q1RGb250RGVzY3JpcHRv
clJlZj4gcmVtb3ZlQ2FzY2FkZUxpc3QoQ1RGb250RGVzY3JpcHRvclJlZik7CiAgICAgc3RhdGlj
IFZlY3RvcjxSZXRhaW5QdHI8Q1RGb250RGVzY3JpcHRvclJlZj4+IGNvbXB1dGVDYXNjYWRlTGlz
dChDVEZvbnRSZWYsIENGU3RyaW5nUmVmIGxvY2FsZSk7CiAgICAgc3RhdGljIENhc2NhZGVMaXN0
UGFyYW1ldGVycyBzeXN0ZW1Gb250UGFyYW1ldGVycyhjb25zdCBGb250Q2FzY2FkZURlc2NyaXB0
aW9uJiwgY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5TmFtZSwgQ2xpZW50VXNlLCBBbGxvd1VzZXJJ
bnN0YWxsZWRGb250cyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373883</attachid>
            <date>2019-07-10 18:04:43 -0700</date>
            <delta_ts>2019-07-11 13:08:12 -0700</delta_ts>
            <desc>Needs tests</desc>
            <filename>bug-199653-20190710180442.patch</filename>
            <type>text/plain</type>
            <size>53465</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGNhNDY2NjI3MTMwM2I2ZmNhY2E1ODUy
MWVkZGQ0ZDA3ZmU0ODgxYmYuLjlmMjExMjgyZjY0ZTJkZjZjODdmNjFlYTUwMGFiMDM0NzIwOTFk
NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTktMDctMTAgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBOZXcgWW9yayBlcnJvbmVvdXNseSBnZXRz
IHN5bnRoZXRpYyBib2xkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTk2NTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgorCiAyMDE5LTA3LTA4ICBDaHJpc3RvcGhlciBSZWlk
ICA8Y2hyaXMucmVpZEBzb255LmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgTWFwcGVkRmlsZURh
dGEgZm9yIFdpbmRvd3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0NGQ5YTEwZWI5NTU0NDNjN2IzYjU0ZjRjOGJi
MzEyMTQxZWMyZGVjLi5hMzI5ZDM5ODQzM2YwNzQzNzNlZDNmNGU0OGRkN2ZkYTY5MWJlODJjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsNjIgQEAKKzIwMTktMDctMTAgIE15bGVzIEMuIE1heGZpZWxk
ICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBOZXcgWW9yayBlcnJvbmVvdXNseSBn
ZXRzIHN5bnRoZXRpYyBib2xkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTk2NTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIGNzcy9DU1NGb250
RmFjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250RmFjZTo6c2hvdWxkQWxsb3dEZXNp
Z25TeXN0ZW1VSUZvbnRzIGNvbnN0KToKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2UuaDoKKyAg
ICAgICAgKiBjc3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
Rm9udEZhY2VTb3VyY2U6OmxvYWQpOgorICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OmluaXRpYWxpemVGb250U3R5bGUpOgor
ICAgICAgICAqIHBhZ2UvU2V0dGluZ3MueWFtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9Gb250RGVzY3JpcHRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6bV9zaG91bGRBbGxvd0Rl
c2lnblN5c3RlbVVJRm9udHMpOgorICAgICAgICAoV2ViQ29yZTo6bV9zaG91bGRBbGxvd1VzZXJJ
bnN0YWxsZWRGb250cyk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dERlc2NyaXB0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpGb250RGVzY3JpcHRpb246OnNob3Vs
ZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250
RGVzY3JpcHRpb246OnNldFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyk6CisgICAgICAg
IChXZWJDb3JlOjpGb250RGVzY3JpcHRpb246Om9wZXJhdG9yPT0gY29uc3QpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmZvbnRXaXRoRmFtaWx5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL0ZvbnREZXNjcmlwdGlvbkNvY29hLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnN5c3RlbUZv
bnRVc2UpOgorICAgICAgICAoV2ViQ29yZTo6c3lzdGVtRm9udENhc2NhZGVMaXN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlRGVzY3JpcHRpb246OmVmZmVjdGl2ZUZhbWlseUNvdW50
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlRGVzY3JpcHRpb246OmVmZmVj
dGl2ZUZhbWlseUF0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OmlzU3lzdGVtRm9udFN0cmlu
Zyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjppc1VJRm9udFRleHRTdHlsZSk6IERlbGV0
ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNv
Y29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6Y3RGb250IGNvbnN0
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9TeXN0ZW1Gb250RGF0YWJhc2VD
b3JlVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4
dDo6Y3JlYXRlU3lzdGVtVUkpOgorICAgICAgICAoV2ViQ29yZTo6U3lzdGVtRm9udERhdGFiYXNl
Q29yZVRleHQ6OmNyZWF0ZURlc2lnblN5c3RlbVVJKToKKyAgICAgICAgKFdlYkNvcmU6OlN5c3Rl
bUZvbnREYXRhYmFzZUNvcmVUZXh0OjpjcmVhdGVUZXh0U3R5bGUpOgorICAgICAgICAoV2ViQ29y
ZTo6U3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OmNhc2NhZGVMaXN0KToKKyAgICAgICAgKFdl
YkNvcmU6OlN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjphcHBseVdlaWdodEl0YWxpY3NBbmRG
YWxsYmFja0JlaGF2aW9yKToKKyAgICAgICAgKFdlYkNvcmU6OlN5c3RlbUZvbnREYXRhYmFzZUNv
cmVUZXh0OjpzeXN0ZW1Gb250UGFyYW1ldGVycyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9pb3MvRm9udENhY2hlSU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6cGxhdGZv
cm1Gb250V2l0aEZhbWlseVNwZWNpYWxDYXNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9tYWMvRm9udENhY2hlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6cGxhdGZvcm1Gb250V2l0
aEZhbWlseVNwZWNpYWxDYXNlKToKKyAgICAgICAgKiBzdHlsZS9TdHlsZVJlc29sdmVGb3JEb2N1
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6cmVzb2x2ZUZvckRvY3VtZW50KToK
KyAgICAgICAgKiBzdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHSW1hZ2U6OmRhdGFDaGFuZ2VkKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGlu
Z3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNr
dXApOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3Jl
VG8pOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0U2hvdWxkQWxsb3dE
ZXNpZ25TeXN0ZW1VSUZvbnRzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
aDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsOgorCiAyMDE5LTA3LTA4
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBEb2N1bWVu
dDo6cG9zdFRhc2soKSBzYWZlIHRvIGNhbGwgZnJvbSBhIGJhY2tncm91bmQgdGhyZWFkCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFM
L0NoYW5nZUxvZwppbmRleCA3YjJkNDE1NzNlNjIwYzAwZTFmYzMyYmRmYjRhZjcyMjkzYjNjYjU4
Li44MDBkNWI1ZDYyN2JhNzNlNjY2ODdhMWM3NTFmZDI0MjZiOWNlNzVlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxOS0wNy0xMCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxt
bWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIE5ldyBZb3JrIGVycm9uZW91c2x5IGdldHMg
c3ludGhldGljIGJvbGQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE5OTY1MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oOgorCiAyMDE5LTA3LTA4ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAgW1BvaW50ZXIgRXZlbnRz
XSBFbmFibGUgb25seSBvbiB0aGUgbW9zdCByZWNlbnQgdmVyc2lvbiBvZiB0aGUgc3VwcG9ydGVk
IGlPUyBmYW1pbHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMWNhMDAwODEzMTJlZDJjYjJkMDUzOTI0ZWU2NjFlM2Y5
MjA4NDJlZS4uYmI3MWM3M2JjNWE2MTJlMGZhNmViMTY2NjQ4OGJmMmUyMzU2OGY2YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMCBAQAorMjAxOS0wNy0xMCAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4
ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIE5ldyBZb3JrIGVycm9uZW91c2x5IGdldHMgc3lu
dGhldGljIGJvbGQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5OTY1MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVmZXJlbmNlc1NldFNob3VsZEFs
bG93RGVzaWduU3lzdGVtVUlGb250cyk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0U2hvdWxk
QWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlc1JlZlByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dL
UHJlZmVyZW5jZXMubW06CisgICAgICAgICgtW1dLUHJlZmVyZW5jZXMgX3Nob3VsZEFsbG93RGVz
aWduU3lzdGVtVUlGb250c10pOgorICAgICAgICAoLVtXS1ByZWZlcmVuY2VzIF9zZXRTaG91bGRB
bGxvd0Rlc2lnblN5c3RlbVVJRm9udHM6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oOgorCiAyMDE5LTA3LTA4ICBEYW5pZWwgQmF0ZXMgIDxk
YWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBTdXBwb3J0IHNlbGVjdCBhbGwgaW4g
bm9uLWVkaXRhYmxlIGVsZW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3Jt
LmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCmluZGV4IGI2Y2Y2YmNkZDQ0Nzc4MDE0YjY1
NzFiOTk1YmE3YmNkMzA5ZjYyMGUuLmRlNmE0ZmI4MzQ4YTJlMDBiNDBkMTBiMmZiM2I1NjdmNGE2
ZGYxYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNl
L1dURi93dGYvUGxhdGZvcm0uaApAQCAtMTU5NCwzICsxNTk0LDcgQEAKICNpZiBQTEFURk9STShN
QUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxNTAwCiAjZGVmaW5l
IEhBVkVfU1VCVklFV1NfSVZBUl9TUEkgMQogI2VuZGlmCisKKyNpZiAoUExBVEZPUk0oTUFDKSAm
JiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMCkgfHwgKFBMQVRGT1JN
KElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwKSB8fCAo
UExBVEZPUk0oV0FUQ0hPUykgJiYgX19XQVRDSF9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSA2
MDAwMCkgfHwgKFBMQVRGT1JNKEFQUExFVFYpICYmIF9fVFZfT1NfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTMwMDAwKQorI2RlZmluZSBIQVZFX0RFU0lHTl9TWVNURU1fVUlfRk9OVFMgMQorI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4
dFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaApp
bmRleCBkNjJiYjI1ZDAxMzAxN2Y5Y2JlZjhkODMzNzY3MzNhYWE2ZDEyYzM4Li4xYjExMGJmMmI4
ODFjOTA2YWFlOGFhMDk4OGVmMjk1ODU4MWUxYThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgKQEAgLTExMSw2ICsxMTEsMTEgQEAgZXh0ZXJu
IGNvbnN0IENGU3RyaW5nUmVmIGtDVEZvbnRDU1NXaWR0aEF0dHJpYnV0ZTsKIGV4dGVybiBjb25z
dCBDRlN0cmluZ1JlZiBrQ1RGb250RGVzY3JpcHRvclRleHRTdHlsZUF0dHJpYnV0ZTsKIGV4dGVy
biBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250VUlGb250RGVzaWduVHJhaXQ7CiAKK2V4dGVybiBj
b25zdCBDRlN0cmluZ1JlZiBrQ1RGb250VUlGb250RGVzaWduRGVmYXVsdDsKK2V4dGVybiBjb25z
dCBDRlN0cmluZ1JlZiBrQ1RGb250VUlGb250RGVzaWduU2VyaWY7CitleHRlcm4gY29uc3QgQ0ZT
dHJpbmdSZWYga0NURm9udFVJRm9udERlc2lnbk1vbm9zcGFjZWQ7CitleHRlcm4gY29uc3QgQ0ZT
dHJpbmdSZWYga0NURm9udFVJRm9udERlc2lnblJvdW5kZWQ7CisKIGV4dGVybiBjb25zdCBDRlN0
cmluZ1JlZiBrQ1RGcmFtZU1heGltdW1OdW1iZXJPZkxpbmVzQXR0cmlidXRlTmFtZTsKIAogYm9v
bCBDVEZvbnREZXNjcmlwdG9ySXNTeXN0ZW1VSUZvbnQoQ1RGb250RGVzY3JpcHRvclJlZik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAppbmRleCA3Mzc3YWRiYTkyOWZlYjU3YjViMzdlOTgy
NjBmMjllODUzNWNjZDViLi43NzA5YjVkZWFmYmZlOWY5YWIxMWFjMDc3YzYxOWQ3OTRkMTY0MmYy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKQEAgLTU5NCw2ICs1OTQsMTMgQEAgQWxs
b3dVc2VySW5zdGFsbGVkRm9udHMgQ1NTRm9udEZhY2U6OmFsbG93VXNlckluc3RhbGxlZEZvbnRz
KCkgY29uc3QKICAgICByZXR1cm4gQWxsb3dVc2VySW5zdGFsbGVkRm9udHM6OlllczsKIH0KIAor
Ym9vbCBDU1NGb250RmFjZTo6c2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKCkgY29uc3QK
K3sKKyAgICBpZiAobV9mb250U2VsZWN0b3IgJiYgbV9mb250U2VsZWN0b3ItPmRvY3VtZW50KCkp
CisgICAgICAgIHJldHVybiBtX2ZvbnRTZWxlY3Rvci0+ZG9jdW1lbnQoKS0+c2V0dGluZ3MoKS5z
aG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisK
IHN0YXRpYyBTZXR0aW5nczo6Rm9udExvYWRUaW1pbmdPdmVycmlkZSBmb250TG9hZFRpbWluZ092
ZXJyaWRlKENTU0ZvbnRTZWxlY3RvciogZm9udFNlbGVjdG9yKQogewogICAgIGF1dG8gb3ZlcnJp
ZGVWYWx1ZSA9IFNldHRpbmdzOjpGb250TG9hZFRpbWluZ092ZXJyaWRlOjpOb25lOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTRm9udEZhY2UuaAppbmRleCBhMzlhOTI2ZmY4YjNiNzY1MDI4NjA1NDE5YmRkMGU4Yzdk
N2U1YjE4Li42NzZmYmE4NTMyZjYwYThjNWNkNGI3NTI0MGNlYjliZDkzNmM4YjNkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTRm9udEZhY2UuaApAQCAtMTYyLDYgKzE2Miw3IEBAIHB1YmxpYzoKICAgICBib29s
IHB1cmdlYWJsZSgpIGNvbnN0OwogCiAgICAgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMgYWxsb3dV
c2VySW5zdGFsbGVkRm9udHMoKSBjb25zdDsKKyAgICBib29sIHNob3VsZEFsbG93RGVzaWduU3lz
dGVtVUlGb250cygpIGNvbnN0OwogCiAgICAgdm9pZCB1cGRhdGVTdHlsZUlmTmVlZGVkKCk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNvdXJjZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwCmluZGV4IDMwYmU3ZjQwODI4
YWQ1YTYxZDJhNmNlYzRmZDI4MWU2YTE4Yzc5ZTMuLjAwZmQxNjBiYjU3OWIyN2NjODE1YTAzY2Zl
Y2RjMzdiZTcyZmUyZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFj
ZVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNw
cApAQCAtMTgzLDYgKzE4Myw3IEBAIHZvaWQgQ1NTRm9udEZhY2VTb3VyY2U6OmxvYWQoQ1NTRm9u
dFNlbGVjdG9yKiBmb250U2VsZWN0b3IpCiAgICAgICAgICAgICBmb250RGVzY3JpcHRpb24uc2V0
T25lRmFtaWx5KG1fZmFtaWx5TmFtZU9yVVJJKTsKICAgICAgICAgICAgIGZvbnREZXNjcmlwdGlv
bi5zZXRDb21wdXRlZFNpemUoMSk7CiAgICAgICAgICAgICBmb250RGVzY3JpcHRpb24uc2V0U2hv
dWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMobV9mYWNlLmFsbG93VXNlckluc3RhbGxlZEZvbnRz
KCkpOworICAgICAgICAgICAgZm9udERlc2NyaXB0aW9uLnNldFNob3VsZEFsbG93RGVzaWduU3lz
dGVtVUlGb250cyhtX2ZhY2Uuc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKCkpOwogICAg
ICAgICAgICAgc3VjY2VzcyA9IEZvbnRDYWNoZTo6c2luZ2xldG9uKCkuZm9udEZvckZhbWlseShm
b250RGVzY3JpcHRpb24sIG1fZmFtaWx5TmFtZU9yVVJJLCBudWxscHRyLCBudWxscHRyLCBGb250
U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzKCksIHRydWUpOwogICAgICAgICAgICAgaWYg
KFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkud2ViQVBJU3RhdGlzdGlj
c0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgIGlmIChhdXRvKiBkb2N1bWVudCA9IGZvbnRT
ZWxlY3Rvci0+ZG9jdW1lbnQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRl
eCA1NmQ4NzI3MTFiYzE0MTUwZDY2MDMwZWJlM2ZmMzQxNTg5NDk4YjRmLi44OTAxYWIwODBiZGU3
YTFjOGU3MjEyMjBlZmFmN2U3N2U0N2I3ZDM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2
ZXIuY3BwCkBAIC0xOTM2LDYgKzE5MzYsNyBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6OmluaXRpYWxp
emVGb250U3R5bGUoKQogICAgIGZvbnREZXNjcmlwdGlvbi5zZXRLZXl3b3JkU2l6ZUZyb21JZGVu
dGlmaWVyKENTU1ZhbHVlTWVkaXVtKTsKICAgICBzZXRGb250U2l6ZShmb250RGVzY3JpcHRpb24s
IFN0eWxlOjpmb250U2l6ZUZvcktleXdvcmQoQ1NTVmFsdWVNZWRpdW0sIGZhbHNlLCBkb2N1bWVu
dCgpKSk7CiAgICAgZm9udERlc2NyaXB0aW9uLnNldFNob3VsZEFsbG93VXNlckluc3RhbGxlZEZv
bnRzKHNldHRpbmdzKCkuc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSA/IEFsbG93VXNl
ckluc3RhbGxlZEZvbnRzOjpZZXMgOiBBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6Tm8pOworICAg
IGZvbnREZXNjcmlwdGlvbi5zZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMoc2V0dGlu
Z3MoKS5zaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMoKSk7CiAgICAgc2V0Rm9udERlc2Ny
aXB0aW9uKFdURk1vdmUoZm9udERlc2NyaXB0aW9uKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MueWFtbAppbmRleCBlMjJkOGQ0ZTI5MDIzZTgyYTBjYTA0N2MxZDZmNTVlODRkNDJkOGEzLi44
YTc0MTQ3ODdjYzMwZjMwMGIxZWI2MTQwNzU1YjEyY2EwYmFlM2Q3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy55YW1sCkBAIC03MzgsNiArNzM4LDEwIEBAIHNob3VsZEFsbG93VXNlckluc3RhbGxl
ZEZvbnRzOgogICBpbml0aWFsOiB0cnVlCiAgIG9uQ2hhbmdlOiBzZXROZWVkc1JlY2FsY1N0eWxl
SW5BbGxGcmFtZXMKIAorc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzOgorICBpbml0aWFs
OiBmYWxzZQorICBvbkNoYW5nZTogc2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzCisKIHJl
c2l6ZU9ic2VydmVyRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UKICAgY29uZGl0aW9uYWw6IFJF
U0laRV9PQlNFUlZFUgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udERlc2NyaXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnREZXNjcmlwdGlvbi5jcHAKaW5kZXggOGE5MjRmOWE2NTBjNDRkN2VmMDU4NzlhZDNmZTUx
NzVlMmZkMDg5Ni4uMTMyMTYyYzA2YjFiZWU1MTk2YThmZWU2NzAwYTIyMjQxMWNiYmM2OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERlc2NyaXB0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGVzY3JpcHRp
b24uY3BwCkBAIC02Miw2ICs2Miw3IEBAIEZvbnREZXNjcmlwdGlvbjo6Rm9udERlc2NyaXB0aW9u
KCkKICAgICAsIG1fb3B0aWNhbFNpemluZyhzdGF0aWNfY2FzdDx1bnNpZ25lZD4oRm9udE9wdGlj
YWxTaXppbmc6OkVuYWJsZWQpKQogICAgICwgbV9mb250U3R5bGVBeGlzKEZvbnRDYXNjYWRlRGVz
Y3JpcHRpb246OmluaXRpYWxGb250U3R5bGVBeGlzKCkgPT0gRm9udFN0eWxlQXhpczo6aXRhbCkK
ICAgICAsIG1fc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KEFsbG93VXNlckluc3RhbGxlZEZvbnRzOjpObykpCisgICAgLCBtX3Nob3VsZEFsbG93RGVz
aWduU3lzdGVtVUlGb250cyhmYWxzZSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERlc2NyaXB0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250RGVzY3JpcHRpb24uaAppbmRleCAxOGYxZGUxODdmNTFmMWNj
N2M3Y2EwOGY5YTg4MTkzZGI4Mjc0NTY3Li4yMWRlMjM4NDBkZGY5OWZjM2M2MjM1MGRjNTQyMWY1
OTljZTUxNjIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250RGVzY3JpcHRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250RGVzY3JpcHRpb24uaApAQCAtOTcsNiArOTcsNyBAQCBwdWJsaWM6CiAgICAgRm9udE9wdGlj
YWxTaXppbmcgb3B0aWNhbFNpemluZygpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEZvbnRP
cHRpY2FsU2l6aW5nPihtX29wdGljYWxTaXppbmcpOyB9CiAgICAgRm9udFN0eWxlQXhpcyBmb250
U3R5bGVBeGlzKCkgY29uc3QgeyByZXR1cm4gbV9mb250U3R5bGVBeGlzID8gRm9udFN0eWxlQXhp
czo6aXRhbCA6IEZvbnRTdHlsZUF4aXM6OnNsbnQ7IH0KICAgICBBbGxvd1VzZXJJbnN0YWxsZWRG
b250cyBzaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cygpIGNvbnN0IHsgcmV0dXJuIHN0YXRp
Y19jYXN0PEFsbG93VXNlckluc3RhbGxlZEZvbnRzPihtX3Nob3VsZEFsbG93VXNlckluc3RhbGxl
ZEZvbnRzKTsgfQorICAgIGJvb2wgc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKCkgY29u
c3QgeyByZXR1cm4gbV9zaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHM7IH0KIAogICAgIHZv
aWQgc2V0Q29tcHV0ZWRTaXplKGZsb2F0IHMpIHsgbV9jb21wdXRlZFNpemUgPSBjbGFtcFRvRmxv
YXQocyk7IH0KICAgICB2b2lkIHNldEl0YWxpYyhPcHRpb25hbDxGb250U2VsZWN0aW9uVmFsdWU+
IGl0YWxpYykgeyBtX2ZvbnRTZWxlY3Rpb25SZXF1ZXN0LnNsb3BlID0gaXRhbGljOyB9CkBAIC0x
MzIsNiArMTMzLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0T3B0aWNhbFNpemluZyhGb250T3B0
aWNhbFNpemluZyBzaXppbmcpIHsgbV9vcHRpY2FsU2l6aW5nID0gc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KHNpemluZyk7IH0KICAgICB2b2lkIHNldEZvbnRTdHlsZUF4aXMoRm9udFN0eWxlQXhpcyBh
eGlzKSB7IG1fZm9udFN0eWxlQXhpcyA9IGF4aXMgPT0gRm9udFN0eWxlQXhpczo6aXRhbDsgfQog
ICAgIHZvaWQgc2V0U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoQWxsb3dVc2VySW5zdGFs
bGVkRm9udHMgc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMpIHsgbV9zaG91bGRBbGxvd1Vz
ZXJJbnN0YWxsZWRGb250cyA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihzaG91bGRBbGxvd1VzZXJJ
bnN0YWxsZWRGb250cyk7IH0KKyAgICB2b2lkIHNldFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlG
b250cyhib29sIGFsbG93KSB7IG1fc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzID0gYWxs
b3c7IH0KIAogICAgIHN0YXRpYyBBdG9tU3RyaW5nIHBsYXRmb3JtUmVzb2x2ZUdlbmVyaWNGYW1p
bHkoVVNjcmlwdENvZGUsIGNvbnN0IEF0b21TdHJpbmcmIGxvY2FsZSwgY29uc3QgQXRvbVN0cmlu
ZyYgZmFtaWx5TmFtZSk7CiAKQEAgLTE2OCw2ICsxNzAsNyBAQCBwcml2YXRlOgogICAgIHVuc2ln
bmVkIG1fb3B0aWNhbFNpemluZyA6IDE7IC8vIEZvbnRPcHRpY2FsU2l6aW5nCiAgICAgdW5zaWdu
ZWQgbV9mb250U3R5bGVBeGlzIDogMTsgLy8gV2hldGhlciAiZm9udC1zdHlsZTogaXRhbGljIiBv
ciAiZm9udC1zdHlsZTogb2JsaXF1ZSAyMGRlZyIgd2FzIHNwZWNpZmllZAogICAgIHVuc2lnbmVk
IG1fc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMgOiAxOyAvLyBBbGxvd1VzZXJJbnN0YWxs
ZWRGb250czogSWYgdGhpcyBkZXNjcmlwdGlvbiBpcyBhbGxvd2VkIHRvIG1hdGNoIGEgdXNlci1p
bnN0YWxsZWQgZm9udAorICAgIHVuc2lnbmVkIG1fc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZv
bnRzIDogMTsgLy8gV2hldGhlciAtYXBwbGUtc3lzdGVtLXVpLXNlcmlmLCAtYXBwbGUtc3lzdGVt
LXVpLW1vbm9zcGFjZWQsIGFuZCAtYXBwbGUtc3lzdGVtLXVpLXJvdW5kZWQgYXJlIHN1cHBvcnRl
ZAogfTsKIAogaW5saW5lIGJvb2wgRm9udERlc2NyaXB0aW9uOjpvcGVyYXRvcj09KGNvbnN0IEZv
bnREZXNjcmlwdGlvbiYgb3RoZXIpIGNvbnN0CkBAIC0yMDIsNyArMjA1LDggQEAgaW5saW5lIGJv
b2wgRm9udERlc2NyaXB0aW9uOjpvcGVyYXRvcj09KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgb3Ro
ZXIpIGNvbnN0CiAgICAgICAgICYmIG1fdmFyaWFudEVhc3RBc2lhblJ1YnkgPT0gb3RoZXIubV92
YXJpYW50RWFzdEFzaWFuUnVieQogICAgICAgICAmJiBtX29wdGljYWxTaXppbmcgPT0gb3RoZXIu
bV9vcHRpY2FsU2l6aW5nCiAgICAgICAgICYmIG1fZm9udFN0eWxlQXhpcyA9PSBvdGhlci5tX2Zv
bnRTdHlsZUF4aXMKLSAgICAgICAgJiYgbV9zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyA9
PSBvdGhlci5tX3Nob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzOworICAgICAgICAmJiBtX3No
b3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzID09IG90aGVyLm1fc2hvdWxkQWxsb3dVc2VySW5z
dGFsbGVkRm9udHMKKyAgICAgICAgJiYgbV9zaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMg
PT0gb3RoZXIubV9zaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHM7CiB9CiAKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNv
cmVUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRD
YWNoZUNvcmVUZXh0LmNwcAppbmRleCA0ODIxMTg2ZDdhN2FhZWI4N2E1ZmQ0NzQ1MDQ5NjVmMTVl
Y2Y2YTJlLi45NGQzODE1OTJjZDcxOTYwNTBhNzY2ZmYyZTM5ZWYwZjhmN2U2OTJlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3Jl
VGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9u
dENhY2hlQ29yZVRleHQuY3BwCkBAIC0xMjQzLDExICsxMjQzLDEwIEBAIHN0YXRpYyBSZXRhaW5Q
dHI8Q1RGb250UmVmPiBmb250V2l0aEZhbWlseShjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIGNv
bnN0IEZvbnRECiAgICAgaWYgKGZhbWlseS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBudWxs
cHRyOwogCi0gICAgY29uc3QgYXV0byYgcmVxdWVzdCA9IGZvbnREZXNjcmlwdGlvbi5mb250U2Vs
ZWN0aW9uUmVxdWVzdCgpOwogICAgIEZvbnRMb29rdXAgZm9udExvb2t1cDsKLSAgICBmb250TG9v
a3VwLnJlc3VsdCA9IHBsYXRmb3JtRm9udFdpdGhGYW1pbHlTcGVjaWFsQ2FzZShmYW1pbHksIHJl
cXVlc3QsIHNpemUsIGZvbnREZXNjcmlwdGlvbi5zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250
cygpKTsKKyAgICBmb250TG9va3VwLnJlc3VsdCA9IHBsYXRmb3JtRm9udFdpdGhGYW1pbHlTcGVj
aWFsQ2FzZShmYW1pbHksIGZvbnREZXNjcmlwdGlvbiwgc2l6ZSwgZm9udERlc2NyaXB0aW9uLnNo
b3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKCkpOwogICAgIGlmICghZm9udExvb2t1cC5yZXN1
bHQpCi0gICAgICAgIGZvbnRMb29rdXAgPSBwbGF0Zm9ybUZvbnRMb29rdXBXaXRoRmFtaWx5KGZh
bWlseSwgcmVxdWVzdCwgc2l6ZSwgZm9udERlc2NyaXB0aW9uLnNob3VsZEFsbG93VXNlckluc3Rh
bGxlZEZvbnRzKCkpOworICAgICAgICBmb250TG9va3VwID0gcGxhdGZvcm1Gb250TG9va3VwV2l0
aEZhbWlseShmYW1pbHksIGZvbnREZXNjcmlwdGlvbi5mb250U2VsZWN0aW9uUmVxdWVzdCgpLCBz
aXplLCBmb250RGVzY3JpcHRpb24uc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSk7CiAg
ICAgcmV0dXJuIHByZXBhcmVQbGF0Zm9ybUZvbnQoZm9udExvb2t1cC5yZXN1bHQuZ2V0KCksIGZv
bnREZXNjcmlwdGlvbiwgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJpYW50U2V0dGluZ3Ms
IGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCAhZm9udExvb2t1cC5jcmVhdGVkRnJvbVBvc3RTY3JpcHRO
YW1lKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvRm9udENhY2hlQ29yZVRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmgKaW5kZXggYjdhODA2NjExZjc3OGJkMTM2ZDhi
ZjBkZDhhODRlYjU4Y2QwMjM0Ni4uNGUzN2UzNzM0ZDAxYzRkZmZlNGIxYzZkN2Q1NjY2N2Y1NDYw
N2ZhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
Rm9udENhY2hlQ29yZVRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5oCkBAIC01Miw3ICs1Miw3IEBAIHN0cnVjdCBTeW50
aGVzaXNQYWlyIHsKIAogUmV0YWluUHRyPENURm9udFJlZj4gcHJlcGFyZVBsYXRmb3JtRm9udChD
VEZvbnRSZWYsIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEZvbnRGZWF0dXJlU2V0dGlu
Z3MqIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGluZ3MqIGZvbnRGYWNl
VmFyaWFudFNldHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzIGZvbnRG
YWNlQ2FwYWJpbGl0aWVzLCBib29sIGFwcGx5V2VpZ2h0V2lkdGhTbG9wZVZhcmlhdGlvbnMgPSB0
cnVlKTsKIFN5bnRoZXNpc1BhaXIgY29tcHV0ZU5lY2Vzc2FyeVN5bnRoZXNpcyhDVEZvbnRSZWYs
IGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGJvb2wgaXNQbGF0Zm9ybUZvbnQgPSBmYWxzZSk7Ci1S
ZXRhaW5QdHI8Q1RGb250UmVmPiBwbGF0Zm9ybUZvbnRXaXRoRmFtaWx5U3BlY2lhbENhc2UoY29u
c3QgQXRvbVN0cmluZyYgZmFtaWx5LCBGb250U2VsZWN0aW9uUmVxdWVzdCwgZmxvYXQgc2l6ZSwg
QWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOworUmV0YWluUHRyPENURm9udFJlZj4gcGxhdGZvcm1G
b250V2l0aEZhbWlseVNwZWNpYWxDYXNlKGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSwgY29uc3Qg
Rm9udERlc2NyaXB0aW9uJiwgZmxvYXQgc2l6ZSwgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOwog
UmV0YWluUHRyPENURm9udFJlZj4gcGxhdGZvcm1Gb250V2l0aEZhbWlseShjb25zdCBBdG9tU3Ry
aW5nJiBmYW1pbHksIEZvbnRTZWxlY3Rpb25SZXF1ZXN0LCBUZXh0UmVuZGVyaW5nTW9kZSwgZmxv
YXQgc2l6ZSk7CiBib29sIHJlcXVpcmVzQ3VzdG9tRmFsbGJhY2tGb250KFVDaGFyMzIgY2hhcmFj
dGVyKTsKIEZvbnRTZWxlY3Rpb25DYXBhYmlsaXRpZXMgY2FwYWJpbGl0aWVzRm9yRm9udERlc2Ny
aXB0b3IoQ1RGb250RGVzY3JpcHRvclJlZik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250RGVzY3JpcHRpb25Db2NvYS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250RGVzY3JpcHRpb25Db2NvYS5jcHAK
aW5kZXggMTljNzYzNjAxNjVhNGJiYmU4Yjk1OGU5MzZiMjczZjhhMTE0YjViZi4uYTk2MGFhODJl
ZTU1NjAyZDU2MjAxMzhjN2FkYTQwMTQ5OGM0Y2I1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udERlc2NyaXB0aW9uQ29jb2EuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnREZXNjcmlwdGlvbkNv
Y29hLmNwcApAQCAtMjQsNyArMjQsNyBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLSNp
bmNsdWRlICJGb250RGVzY3JpcHRpb24uaCIKKyNpbmNsdWRlICJGb250Q2FzY2FkZURlc2NyaXB0
aW9uLmgiCiAKICNpbmNsdWRlICJTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dC5oIgogI2luY2x1
ZGUgPG11dGV4PgpAQCAtMzQsMTQgKzM0LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAjaWYg
VVNFX1BMQVRGT1JNX1NZU1RFTV9GQUxMQkFDS19MSVNUCiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBp
c1N5c3RlbUZvbnRTdHJpbmcoY29uc3QgQXRvbVN0cmluZyYgc3RyaW5nKQotewotICAgIHJldHVy
biBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShzdHJpbmcsICItd2Via2l0LXN5c3RlbS1m
b250IikKLSAgICAgICAgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uoc3RyaW5nLCAi
LWFwcGxlLXN5c3RlbSIpCi0gICAgICAgIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNl
KHN0cmluZywgIi1hcHBsZS1zeXN0ZW0tZm9udCIpCi0gICAgICAgIHx8IGVxdWFsTGV0dGVyc0ln
bm9yaW5nQVNDSUlDYXNlKHN0cmluZywgInN5c3RlbS11aSIpOwotfQotCiAjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKIAogdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVSwgc3RkOjpzaXpl
X3Qgc2l6ZSwgc3RkOjpzaXplX3QuLi4gaW5kaWNlcz4gc3RkOjphcnJheTxULCBzaXplPiBjb252
ZXJ0QXJyYXkoVSAoJmFycmF5KVtzaXplXSwgc3RkOjppbmRleF9zZXF1ZW5jZTxpbmRpY2VzLi4u
PikKQEAgLTUzLDkgKzQ1LDI5IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFUsIHN0
ZDo6c2l6ZV90IHNpemU+IGlubGluZSBzdGQ6OmFycmF5PFQsIHNpemU+IGNvCiB7CiAgICAgcmV0
dXJuIGNvbnZlcnRBcnJheTxUPihhcnJheSwgc3RkOjptYWtlX2luZGV4X3NlcXVlbmNlPHNpemU+
IHsgfSk7CiB9CisjZW5kaWYKIAotc3RhdGljIGlubGluZSBib29sIGlzVUlGb250VGV4dFN0eWxl
KGNvbnN0IEF0b21TdHJpbmcmIHN0cmluZykKK3N0YXRpYyBpbmxpbmUgT3B0aW9uYWw8U3lzdGVt
Rm9udERhdGFiYXNlQ29yZVRleHQ6OkNsaWVudFVzZT4gc3lzdGVtRm9udFVzZShjb25zdCBBdG9t
U3RyaW5nJiBzdHJpbmcsIGJvb2wgc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKQogewor
ICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShzdHJpbmcsICItd2Via2l0LXN5
c3RlbS1mb250IikKKyAgICAgICAgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uoc3Ry
aW5nLCAiLWFwcGxlLXN5c3RlbSIpCisgICAgICAgIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVND
SUlDYXNlKHN0cmluZywgIi1hcHBsZS1zeXN0ZW0tZm9udCIpCisgICAgICAgIHx8IGVxdWFsTGV0
dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHN0cmluZywgInN5c3RlbS11aSIpKQorICAgICAgICByZXR1
cm4gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNsaWVudFVzZTo6Rm9yU3lzdGVtVUk7Cisj
aWYgSEFWRShERVNJR05fU1lTVEVNX1VJX0ZPTlRTKQorICAgIGlmIChzaG91bGRBbGxvd0Rlc2ln
blN5c3RlbVVJRm9udHMpIHsKKyAgICAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlD
YXNlKHN0cmluZywgIi1hcHBsZS1zeXN0ZW0tdWktc2VyaWYiKSkKKyAgICAgICAgICAgIHJldHVy
biBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6Q2xpZW50VXNlOjpGb3JTeXN0ZW1VSVNlcmlm
OworICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uoc3RyaW5nLCAiLWFw
cGxlLXN5c3RlbS11aS1tb25vc3BhY2VkIikpCisgICAgICAgICAgICByZXR1cm4gU3lzdGVtRm9u
dERhdGFiYXNlQ29yZVRleHQ6OkNsaWVudFVzZTo6Rm9yU3lzdGVtVUlNb25vc3BhY2VkOworICAg
ICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uoc3RyaW5nLCAiLWFwcGxlLXN5
c3RlbS11aS1yb3VuZGVkIikpCisgICAgICAgICAgICByZXR1cm4gU3lzdGVtRm9udERhdGFiYXNl
Q29yZVRleHQ6OkNsaWVudFVzZTo6Rm9yU3lzdGVtVUlSb3VuZGVkOworICAgIH0KKyNlbHNlCisg
ICAgVU5VU0VEX1BBUkFNKHNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyk7CisjZW5kaWYK
KworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgc3RhdGljIGNvbnN0IENGU3RyaW5nUmVm
IHN0eWxlc1tdID0gewogICAgICAgICBrQ1RVSUZvbnRUZXh0U3R5bGVIZWFkbGluZSwKICAgICAg
ICAga0NUVUlGb250VGV4dFN0eWxlQm9keSwKQEAgLTc5LDExICs5MSwxNCBAQCBzdGF0aWMgaW5s
aW5lIGJvb2wgaXNVSUZvbnRUZXh0U3R5bGUoY29uc3QgQXRvbVN0cmluZyYgc3RyaW5nKQogICAg
IH07CiAgICAgCiAgICAgc3RhdGljIGF1dG8gc3RyaW5ncyB7IG1ha2VOZXZlckRlc3Ryb3llZChj
b252ZXJ0QXJyYXk8QXRvbVN0cmluZz4oc3R5bGVzKSkgfTsKLSAgICByZXR1cm4gc3RkOjpmaW5k
KHN0cmluZ3MuZ2V0KCkuYmVnaW4oKSwgc3RyaW5ncy5nZXQoKS5lbmQoKSwgc3RyaW5nKSAhPSBz
dHJpbmdzLmdldCgpLmVuZCgpOwotfQorICAgIGlmIChzdGQ6OmZpbmQoc3RyaW5ncy5nZXQoKS5i
ZWdpbigpLCBzdHJpbmdzLmdldCgpLmVuZCgpLCBzdHJpbmcpICE9IHN0cmluZ3MuZ2V0KCkuZW5k
KCkpCisgICAgICAgIHJldHVybiBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6Q2xpZW50VXNl
OjpGb3JUZXh0U3R5bGU7CiAjZW5kaWYKIAotc3RhdGljIGlubGluZSBWZWN0b3I8UmV0YWluUHRy
PENURm9udERlc2NyaXB0b3JSZWY+PiBzeXN0ZW1Gb250Q2FzY2FkZUxpc3QoY29uc3QgRm9udENh
c2NhZGVEZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIGNvbnN0IEF0b21TdHJpbmcmIGNzc0ZhbWls
eSwgU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNsaWVudFVzZSBjbGllbnRVc2UsIEFsbG93
VXNlckluc3RhbGxlZEZvbnRzIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKQorICAgIHJldHVybiBX
VEY6Om51bGxvcHQ7Cit9CisKK3N0YXRpYyBpbmxpbmUgVmVjdG9yPFJldGFpblB0cjxDVEZvbnRE
ZXNjcmlwdG9yUmVmPj4gc3lzdGVtRm9udENhc2NhZGVMaXN0KGNvbnN0IEZvbnREZXNjcmlwdGlv
biYgZGVzY3JpcHRpb24sIGNvbnN0IEF0b21TdHJpbmcmIGNzc0ZhbWlseSwgU3lzdGVtRm9udERh
dGFiYXNlQ29yZVRleHQ6OkNsaWVudFVzZSBjbGllbnRVc2UsIEFsbG93VXNlckluc3RhbGxlZEZv
bnRzIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKQogewogICAgIHJldHVybiBTeXN0ZW1Gb250RGF0
YWJhc2VDb3JlVGV4dDo6c2luZ2xldG9uKCkuY2FzY2FkZUxpc3QoZGVzY3JpcHRpb24sIGNzc0Zh
bWlseSwgY2xpZW50VXNlLCBhbGxvd1VzZXJJbnN0YWxsZWRGb250cyk7CiB9CkBAIC05NCwxMiAr
MTA5LDggQEAgdW5zaWduZWQgRm9udENhc2NhZGVEZXNjcmlwdGlvbjo6ZWZmZWN0aXZlRmFtaWx5
Q291bnQoKSBjb25zdAogICAgIHVuc2lnbmVkIHJlc3VsdCA9IDA7CiAgICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSA8IGZhbWlseUNvdW50KCk7ICsraSkgewogICAgICAgICBjb25zdCBhdXRvJiBj
c3NGYW1pbHkgPSBmYW1pbHlBdChpKTsKLSAgICAgICAgaWYgKGlzU3lzdGVtRm9udFN0cmluZyhj
c3NGYW1pbHkpKQotICAgICAgICAgICAgcmVzdWx0ICs9IHN5c3RlbUZvbnRDYXNjYWRlTGlzdCgq
dGhpcywgY3NzRmFtaWx5LCBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6Q2xpZW50VXNlOjpG
b3JTeXN0ZW1VSSwgc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSkuc2l6ZSgpOwotI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgICAgIGVsc2UgaWYgKGlzVUlGb250VGV4dFN0eWxl
KGNzc0ZhbWlseSkpCi0gICAgICAgICAgICByZXN1bHQgKz0gc3lzdGVtRm9udENhc2NhZGVMaXN0
KCp0aGlzLCBjc3NGYW1pbHksIFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpDbGllbnRVc2U6
OkZvclRleHRTdHlsZSwgc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSkuc2l6ZSgpOwot
I2VuZGlmCisgICAgICAgIGlmIChhdXRvIHVzZSA9IHN5c3RlbUZvbnRVc2UoY3NzRmFtaWx5LCBz
aG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMoKSkpCisgICAgICAgICAgICByZXN1bHQgKz0g
c3lzdGVtRm9udENhc2NhZGVMaXN0KCp0aGlzLCBjc3NGYW1pbHksICp1c2UsIHNob3VsZEFsbG93
VXNlckluc3RhbGxlZEZvbnRzKCkpLnNpemUoKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAg
KytyZXN1bHQ7CiAgICAgfQpAQCAtMTE3LDIwICsxMjgsMTIgQEAgRm9udEZhbWlseVNwZWNpZmlj
YXRpb24gRm9udENhc2NhZGVEZXNjcmlwdGlvbjo6ZWZmZWN0aXZlRmFtaWx5QXQodW5zaWduZWQg
aW5kZXgKICAgICAvLyBUaGVzZSB0d28gYmVoYXZpb3JzIHNob3VsZCBiZSB1bmlmaWVkLCB3aGlj
aCB3b3VsZCBob3BlZnVsbHkgYWxsb3cgdXMgdG8gZGVsZXRlIHRoaXMgZHVwbGljYXRlIGNvZGUu
CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGZhbWlseUNvdW50KCk7ICsraSkgewogICAg
ICAgICBjb25zdCBhdXRvJiBjc3NGYW1pbHkgPSBmYW1pbHlBdChpKTsKLSAgICAgICAgaWYgKGlz
U3lzdGVtRm9udFN0cmluZyhjc3NGYW1pbHkpKSB7Ci0gICAgICAgICAgICBhdXRvIGNhc2NhZGVM
aXN0ID0gc3lzdGVtRm9udENhc2NhZGVMaXN0KCp0aGlzLCBjc3NGYW1pbHksIFN5c3RlbUZvbnRE
YXRhYmFzZUNvcmVUZXh0OjpDbGllbnRVc2U6OkZvclN5c3RlbVVJLCBzaG91bGRBbGxvd1VzZXJJ
bnN0YWxsZWRGb250cygpKTsKKyAgICAgICAgaWYgKGF1dG8gdXNlID0gc3lzdGVtRm9udFVzZShj
c3NGYW1pbHksIHNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cygpKSkgeworICAgICAgICAg
ICAgYXV0byBjYXNjYWRlTGlzdCA9IHN5c3RlbUZvbnRDYXNjYWRlTGlzdCgqdGhpcywgY3NzRmFt
aWx5LCAqdXNlLCBzaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cygpKTsKICAgICAgICAgICAg
IGlmIChpbmRleCA8IGNhc2NhZGVMaXN0LnNpemUoKSkKICAgICAgICAgICAgICAgICByZXR1cm4g
Rm9udEZhbWlseVNwZWNpZmljYXRpb24oY2FzY2FkZUxpc3RbaW5kZXhdLmdldCgpKTsKICAgICAg
ICAgICAgIGluZGV4IC09IGNhc2NhZGVMaXN0LnNpemUoKTsKICAgICAgICAgfQotI2lmIFBMQVRG
T1JNKElPU19GQU1JTFkpCi0gICAgICAgIGVsc2UgaWYgKGlzVUlGb250VGV4dFN0eWxlKGNzc0Zh
bWlseSkpIHsKLSAgICAgICAgICAgIGF1dG8gY2FzY2FkZUxpc3QgPSBzeXN0ZW1Gb250Q2FzY2Fk
ZUxpc3QoKnRoaXMsIGNzc0ZhbWlseSwgU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNsaWVu
dFVzZTo6Rm9yVGV4dFN0eWxlLCBzaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cygpKTsKLSAg
ICAgICAgICAgIGlmIChpbmRleCA8IGNhc2NhZGVMaXN0LnNpemUoKSkKLSAgICAgICAgICAgICAg
ICByZXR1cm4gRm9udEZhbWlseVNwZWNpZmljYXRpb24oY2FzY2FkZUxpc3RbaW5kZXhdLmdldCgp
KTsKLSAgICAgICAgICAgIGluZGV4IC09IGNhc2NhZGVMaXN0LnNpemUoKTsKLSAgICAgICAgfQot
I2VuZGlmCiAgICAgICAgIGVsc2UgaWYgKCFpbmRleCkKICAgICAgICAgICAgIHJldHVybiBjc3NG
YW1pbHk7CiAgICAgICAgIGVsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbQppbmRleCA3
NmUwOTI4MjJlNjdiZDdlMjc1NzU4ZTUwZTA0OGNiNDlkMzg0NTRiLi42ZjdhYjQ2N2Q0NDM0MDU1
MTY5NDRkYzk5OGMwYWVkNDQ2NmYyYzE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1t
CkBAIC0xNTUsNyArMTU1LDcgQEAgQ1RGb250UmVmIEZvbnRQbGF0Zm9ybURhdGE6OmN0Rm9udCgp
IGNvbnN0CiAgICAgICAgIHJldHVybiBtX2N0Rm9udC5nZXQoKTsKIAogICAgIEFTU0VSVChtX2Zv
bnQpOwotICAgIG1fY3RGb250ID0gYWRvcHRDRihDVEZvbnRDcmVhdGVDb3B5V2l0aEF0dHJpYnV0
ZXMobV9mb250LmdldCgpLCBtX3NpemUsIDAsIGNhc2NhZGVUb0xhc3RSZXNvcnRBbmRWYXJpYXRp
b25zRm9udERlc2NyaXB0b3IobV9mb250LmdldCgpKS5nZXQoKSkpOworICAgIG1fY3RGb250ID0g
YWRvcHRDRihDVEZvbnRDcmVhdGVDb3B5V2l0aEF0dHJpYnV0ZXMobV9mb250LmdldCgpLCBtX3Np
emUsIG51bGxwdHIsIGNhc2NhZGVUb0xhc3RSZXNvcnRBbmRWYXJpYXRpb25zRm9udERlc2NyaXB0
b3IobV9mb250LmdldCgpKS5nZXQoKSkpOwogCiAgICAgaWYgKG1fd2lkdGhWYXJpYW50ICE9IEZv
bnRXaWR0aFZhcmlhbnQ6OlJlZ3VsYXJXaWR0aCkgewogICAgICAgICBpbnQgZmVhdHVyZVR5cGVW
YWx1ZSA9IGtUZXh0U3BhY2luZ1R5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9TeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9TeXN0ZW1Gb250RGF0YWJhc2VDb3Jl
VGV4dC5jcHAKaW5kZXggYjNkMDJmZjg1NWE4OWFlNDkzZGFiZTkzODA4NzAyNDg5MTFmZDhhYS4u
YzMzNGM0YjdhNTY3NjZjN2UzYjNlNzM0ZjM1NDY2YjgyYzVkMDlhYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU3lzdGVtRm9udERhdGFiYXNlQ29y
ZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1N5
c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0LmNwcApAQCAtNDcsMjggKzQ3LDcyIEBAIFN5c3RlbUZv
bnREYXRhYmFzZUNvcmVUZXh0OjpTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dCgpCiAKICNpZiBV
U0VfUExBVEZPUk1fU1lTVEVNX0ZBTExCQUNLX0xJU1QKIAorUmV0YWluUHRyPENURm9udFJlZj4g
U3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OmNyZWF0ZVN5c3RlbVVJKGNvbnN0IENhc2NhZGVM
aXN0UGFyYW1ldGVycyYgcGFyYW1ldGVycywgQ0ZTdHJpbmdSZWYgbG9jYWxlKQoreworICAgIGF1
dG8gcmVzdWx0ID0gYWRvcHRDRihDVEZvbnRDcmVhdGVVSUZvbnRGb3JMYW5ndWFnZShrQ1RGb250
VUlGb250U3lzdGVtLCBwYXJhbWV0ZXJzLnNpemUsIGxvY2FsZSkpOworICAgIEFTU0VSVChyZXN1
bHQpOworICAgIHJldHVybiBhcHBseVdlaWdodEl0YWxpY3NBbmRGYWxsYmFja0JlaGF2aW9yKHJl
c3VsdC5nZXQoKSwgcGFyYW1ldGVycy53ZWlnaHQsIHBhcmFtZXRlcnMuaXRhbGljLCBwYXJhbWV0
ZXJzLnNpemUsIHBhcmFtZXRlcnMuYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOworfQorCisjaWYg
SEFWRShERVNJR05fU1lTVEVNX1VJX0ZPTlRTKQorUmV0YWluUHRyPENURm9udFJlZj4gU3lzdGVt
Rm9udERhdGFiYXNlQ29yZVRleHQ6OmNyZWF0ZURlc2lnblN5c3RlbVVJKENsaWVudFVzZSBjbGll
bnRVc2UsIGNvbnN0IENhc2NhZGVMaXN0UGFyYW1ldGVycyYgcGFyYW1ldGVycywgQ0ZTdHJpbmdS
ZWYgbG9jYWxlKQoreworICAgIGF1dG8gcmVzdWx0ID0gYWRvcHRDRihDVEZvbnRDcmVhdGVVSUZv
bnRGb3JMYW5ndWFnZShrQ1RGb250VUlGb250U3lzdGVtLCBwYXJhbWV0ZXJzLnNpemUsIGxvY2Fs
ZSkpOworICAgIEFTU0VSVChyZXN1bHQpOworCisgICAgQ0ZTdHJpbmdSZWYgZGVzaWduID0ga0NU
Rm9udFVJRm9udERlc2lnbkRlZmF1bHQ7CisgICAgc3dpdGNoIChjbGllbnRVc2UpIHsKKyAgICBj
YXNlIENsaWVudFVzZTo6Rm9yU3lzdGVtVUlTZXJpZjoKKyAgICAgICAgZGVzaWduID0ga0NURm9u
dFVJRm9udERlc2lnblNlcmlmOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENsaWVudFVzZTo6
Rm9yU3lzdGVtVUlNb25vc3BhY2VkOgorICAgICAgICBkZXNpZ24gPSBrQ1RGb250VUlGb250RGVz
aWduTW9ub3NwYWNlZDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDbGllbnRVc2U6OkZvclN5
c3RlbVVJUm91bmRlZDoKKyAgICAgICAgZGVzaWduID0ga0NURm9udFVJRm9udERlc2lnblJvdW5k
ZWQ7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOworICAgIH0KKyAgICByZXR1cm4gYXBwbHlXZWlnaHRJdGFsaWNzQW5kRmFsbGJhY2tC
ZWhhdmlvcihyZXN1bHQuZ2V0KCksIHBhcmFtZXRlcnMud2VpZ2h0LCBwYXJhbWV0ZXJzLml0YWxp
YywgcGFyYW1ldGVycy5zaXplLCBwYXJhbWV0ZXJzLmFsbG93VXNlckluc3RhbGxlZEZvbnRzLCBk
ZXNpZ24pOworfQorI2VuZGlmCisKK1JldGFpblB0cjxDVEZvbnRSZWY+IFN5c3RlbUZvbnREYXRh
YmFzZUNvcmVUZXh0OjpjcmVhdGVUZXh0U3R5bGUoY29uc3QgQ2FzY2FkZUxpc3RQYXJhbWV0ZXJz
JiBwYXJhbWV0ZXJzKQoreworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgYXV0byBmb250
RGVzY3JpcHRvciA9IGFkb3B0Q0YoQ1RGb250RGVzY3JpcHRvckNyZWF0ZVdpdGhUZXh0U3R5bGUo
cGFyYW1ldGVycy5mb250TmFtZS5zdHJpbmcoKS5jcmVhdGVDRlN0cmluZygpLmdldCgpLCBSZW5k
ZXJUaGVtZUlPUzo6Y29udGVudFNpemVDYXRlZ29yeSgpLCBudWxscHRyKSk7CisgICAgLy8gRklY
TUU6IFVzZSBhcHBseVdlaWdodEl0YWxpY3NBbmRGYWxsYmFja0JlaGF2aW9yKCkgb25jZSA8cmRh
cjovL3Byb2JsZW0vMzMwNDYwNDE+IGlzIGZpeGVkLgorICAgIENURm9udFN5bWJvbGljVHJhaXRz
IHRyYWl0cyA9IChwYXJhbWV0ZXJzLndlaWdodCA+PSBrQ1RGb250V2VpZ2h0U2VtaWJvbGQgPyBr
Q1RGb250VHJhaXRCb2xkIDogMCkgfCAocGFyYW1ldGVycy5pdGFsaWMgPyBrQ1RGb250VHJhaXRJ
dGFsaWMgOiAwKTsKKyAgICBpZiAodHJhaXRzKQorICAgICAgICBmb250RGVzY3JpcHRvciA9IGFk
b3B0Q0YoQ1RGb250RGVzY3JpcHRvckNyZWF0ZUNvcHlXaXRoU3ltYm9saWNUcmFpdHMoZm9udERl
c2NyaXB0b3IuZ2V0KCksIHRyYWl0cywgdHJhaXRzKSk7CisgICAgcmV0dXJuIGNyZWF0ZUZvbnRG
b3JJbnN0YWxsZWRGb250cyhmb250RGVzY3JpcHRvci5nZXQoKSwgcGFyYW1ldGVycy5zaXplLCBw
YXJhbWV0ZXJzLmFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKKyNlbHNlCisgICAgVU5VU0VEX1BB
UkFNKHBhcmFtZXRlcnMpOworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworI2VuZGlmCit9CisK
IFZlY3RvcjxSZXRhaW5QdHI8Q1RGb250RGVzY3JpcHRvclJlZj4+IFN5c3RlbUZvbnREYXRhYmFz
ZUNvcmVUZXh0OjpjYXNjYWRlTGlzdChjb25zdCBDYXNjYWRlTGlzdFBhcmFtZXRlcnMmIHBhcmFt
ZXRlcnMsIENsaWVudFVzZSBjbGllbnRVc2UpCiB7CiAgICAgQVNTRVJUKCFwYXJhbWV0ZXJzLmZv
bnROYW1lLmlzTnVsbCgpKTsKICAgICByZXR1cm4gbV9zeXN0ZW1Gb250Q2FjaGUuZW5zdXJlKHBh
cmFtZXRlcnMsIFsmXSB7CiAgICAgICAgIGF1dG8gbG9jYWxlU3RyaW5nID0gcGFyYW1ldGVycy5s
b2NhbGUuc3RyaW5nKCkuY3JlYXRlQ0ZTdHJpbmcoKTsKICAgICAgICAgUmV0YWluUHRyPENURm9u
dFJlZj4gc3lzdGVtRm9udDsKLSAgICAgICAgaWYgKGNsaWVudFVzZSA9PSBDbGllbnRVc2U6OkZv
clN5c3RlbVVJKSB7Ci0gICAgICAgICAgICBzeXN0ZW1Gb250ID0gYWRvcHRDRihDVEZvbnRDcmVh
dGVVSUZvbnRGb3JMYW5ndWFnZShrQ1RGb250VUlGb250U3lzdGVtLCBwYXJhbWV0ZXJzLnNpemUs
IGxvY2FsZVN0cmluZy5nZXQoKSkpOwotICAgICAgICAgICAgQVNTRVJUKHN5c3RlbUZvbnQpOwot
ICAgICAgICAgICAgLy8gRklYTUU6IFVzZSBhcHBseVdlaWdodEl0YWxpY3NBbmRGYWxsYmFja0Jl
aGF2aW9yKCkgaW4gYm90aCBjYXNlcyBvbmNlIDxyZGFyOi8vcHJvYmxlbS8zMzA0NjA0MT4gaXMg
Zml4ZWQuCi0gICAgICAgICAgICBzeXN0ZW1Gb250ID0gYXBwbHlXZWlnaHRJdGFsaWNzQW5kRmFs
bGJhY2tCZWhhdmlvcihzeXN0ZW1Gb250LmdldCgpLCBwYXJhbWV0ZXJzLndlaWdodCwgcGFyYW1l
dGVycy5pdGFsaWMsIHBhcmFtZXRlcnMuc2l6ZSwgcGFyYW1ldGVycy5hbGxvd1VzZXJJbnN0YWxs
ZWRGb250cyk7Ci0gICAgICAgIH0gZWxzZSB7Ci0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAg
ICAgICAgICAgIEFTU0VSVChjbGllbnRVc2UgPT0gQ2xpZW50VXNlOjpGb3JUZXh0U3R5bGUpOwot
ICAgICAgICAgICAgYXV0byBmb250RGVzY3JpcHRvciA9IGFkb3B0Q0YoQ1RGb250RGVzY3JpcHRv
ckNyZWF0ZVdpdGhUZXh0U3R5bGUocGFyYW1ldGVycy5mb250TmFtZS5zdHJpbmcoKS5jcmVhdGVD
RlN0cmluZygpLmdldCgpLCBSZW5kZXJUaGVtZUlPUzo6Y29udGVudFNpemVDYXRlZ29yeSgpLCBu
dWxscHRyKSk7Ci0gICAgICAgICAgICBDVEZvbnRTeW1ib2xpY1RyYWl0cyB0cmFpdHMgPSAocGFy
YW1ldGVycy53ZWlnaHQgPj0ga0NURm9udFdlaWdodFNlbWlib2xkID8ga0NURm9udFRyYWl0Qm9s
ZCA6IDApIHwgKHBhcmFtZXRlcnMuaXRhbGljID8ga0NURm9udFRyYWl0SXRhbGljIDogMCk7Ci0g
ICAgICAgICAgICBpZiAodHJhaXRzKQotICAgICAgICAgICAgICAgIGZvbnREZXNjcmlwdG9yID0g
YWRvcHRDRihDVEZvbnREZXNjcmlwdG9yQ3JlYXRlQ29weVdpdGhTeW1ib2xpY1RyYWl0cyhmb250
RGVzY3JpcHRvci5nZXQoKSwgdHJhaXRzLCB0cmFpdHMpKTsKLSAgICAgICAgICAgIHN5c3RlbUZv
bnQgPSBjcmVhdGVGb250Rm9ySW5zdGFsbGVkRm9udHMoZm9udERlc2NyaXB0b3IuZ2V0KCksIHBh
cmFtZXRlcnMuc2l6ZSwgcGFyYW1ldGVycy5hbGxvd1VzZXJJbnN0YWxsZWRGb250cyk7Ci0jZWxz
ZQotICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHN3aXRjaCAoY2xp
ZW50VXNlKSB7CisgICAgICAgIGNhc2UgQ2xpZW50VXNlOjpGb3JTeXN0ZW1VSToKKyAgICAgICAg
ICAgIHN5c3RlbUZvbnQgPSBjcmVhdGVTeXN0ZW1VSShwYXJhbWV0ZXJzLCBsb2NhbGVTdHJpbmcu
Z2V0KCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ2xpZW50VXNlOjpGb3JT
eXN0ZW1VSVNlcmlmOgorICAgICAgICBjYXNlIENsaWVudFVzZTo6Rm9yU3lzdGVtVUlNb25vc3Bh
Y2VkOgorICAgICAgICBjYXNlIENsaWVudFVzZTo6Rm9yU3lzdGVtVUlSb3VuZGVkOgorI2lmIEhB
VkUoREVTSUdOX1NZU1RFTV9VSV9GT05UUykKKyAgICAgICAgICAgIHN5c3RlbUZvbnQgPSBjcmVh
dGVEZXNpZ25TeXN0ZW1VSShjbGllbnRVc2UsIHBhcmFtZXRlcnMsIGxvY2FsZVN0cmluZy5nZXQo
KSk7CiAjZW5kaWYKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENsaWVudFVzZTo6
Rm9yVGV4dFN0eWxlOgorICAgICAgICAgICAgc3lzdGVtRm9udCA9IGNyZWF0ZVRleHRTdHlsZShw
YXJhbWV0ZXJzKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIEFTU0VS
VChzeXN0ZW1Gb250KTsKICAgICAgICAgYXV0byByZXN1bHQgPSBjb21wdXRlQ2FzY2FkZUxpc3Qo
c3lzdGVtRm9udC5nZXQoKSwgbG9jYWxlU3RyaW5nLmdldCgpKTsKQEAgLTg3LDE0ICsxMzEsMTQg
QEAgdm9pZCBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6Y2xlYXIoKQogICAgIG1fbW9ub3Nw
YWNlRmFtaWxpZXMuY2xlYXIoKTsKIH0KIAotUmV0YWluUHRyPENURm9udFJlZj4gU3lzdGVtRm9u
dERhdGFiYXNlQ29yZVRleHQ6OmFwcGx5V2VpZ2h0SXRhbGljc0FuZEZhbGxiYWNrQmVoYXZpb3Io
Q1RGb250UmVmIGZvbnQsIENHRmxvYXQgd2VpZ2h0LCBib29sIGl0YWxpYywgZmxvYXQgc2l6ZSwg
QWxsb3dVc2VySW5zdGFsbGVkRm9udHMgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpCitSZXRhaW5Q
dHI8Q1RGb250UmVmPiBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6YXBwbHlXZWlnaHRJdGFs
aWNzQW5kRmFsbGJhY2tCZWhhdmlvcihDVEZvbnRSZWYgZm9udCwgQ0dGbG9hdCB3ZWlnaHQsIGJv
b2wgaXRhbGljLCBmbG9hdCBzaXplLCBBbGxvd1VzZXJJbnN0YWxsZWRGb250cyBhbGxvd1VzZXJJ
bnN0YWxsZWRGb250cywgQ0ZTdHJpbmdSZWYgZGVzaWduKQogewogICAgIGF1dG8gd2VpZ2h0TnVt
YmVyID0gYWRvcHRDRihDRk51bWJlckNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBrQ0ZOdW1i
ZXJDR0Zsb2F0VHlwZSwgJndlaWdodCkpOwogICAgIGNvbnN0IGZsb2F0IHN5c3RlbUZvbnRJdGFs
aWNTbG9wZSA9IDAuMDc7CiAgICAgZmxvYXQgaXRhbGljc1Jhd051bWJlciA9IGl0YWxpYyA/IHN5
c3RlbUZvbnRJdGFsaWNTbG9wZSA6IDA7CiAgICAgYXV0byBpdGFsaWNzTnVtYmVyID0gYWRvcHRD
RihDRk51bWJlckNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBrQ0ZOdW1iZXJGbG9hdFR5cGUs
ICZpdGFsaWNzUmF3TnVtYmVyKSk7CiAgICAgQ0ZUeXBlUmVmIHRyYWl0c0tleXNbXSA9IHsga0NU
Rm9udFdlaWdodFRyYWl0LCBrQ1RGb250U2xhbnRUcmFpdCwga0NURm9udFVJRm9udERlc2lnblRy
YWl0IH07Ci0gICAgQ0ZUeXBlUmVmIHRyYWl0c1ZhbHVlc1tdID0geyB3ZWlnaHROdW1iZXIuZ2V0
KCksIGl0YWxpY3NOdW1iZXIuZ2V0KCksIGtDRkJvb2xlYW5UcnVlIH07CisgICAgQ0ZUeXBlUmVm
IHRyYWl0c1ZhbHVlc1tdID0geyB3ZWlnaHROdW1iZXIuZ2V0KCksIGl0YWxpY3NOdW1iZXIuZ2V0
KCksIGRlc2lnbiA/IHN0YXRpY19jYXN0PENGVHlwZVJlZj4oZGVzaWduKSA6IHN0YXRpY19jYXN0
PENGVHlwZVJlZj4oa0NGQm9vbGVhblRydWUpIH07CiAgICAgYXV0byB0cmFpdHNEaWN0aW9uYXJ5
ID0gYWRvcHRDRihDRkRpY3Rpb25hcnlDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgdHJhaXRz
S2V5cywgdHJhaXRzVmFsdWVzLCBXVEZfQVJSQVlfTEVOR1RIKHRyYWl0c0tleXMpLCAma0NGVHlw
ZURpY3Rpb25hcnlLZXlDYWxsQmFja3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZhbHVlQ2FsbEJhY2tz
KSk7CiAgICAgYXV0byBhdHRyaWJ1dGVzID0gYWRvcHRDRihDRkRpY3Rpb25hcnlDcmVhdGVNdXRh
YmxlKGtDRkFsbG9jYXRvckRlZmF1bHQsIDAsICZrQ0ZUeXBlRGljdGlvbmFyeUtleUNhbGxCYWNr
cywgJmtDRlR5cGVEaWN0aW9uYXJ5VmFsdWVDYWxsQmFja3MpKTsKICAgICBDRkRpY3Rpb25hcnlB
ZGRWYWx1ZShhdHRyaWJ1dGVzLmdldCgpLCBrQ1RGb250VHJhaXRzQXR0cmlidXRlLCB0cmFpdHNE
aWN0aW9uYXJ5LmdldCgpKTsKQEAgLTEyOSwxMiArMTczLDEzIEBAIFZlY3RvcjxSZXRhaW5QdHI8
Q1RGb250RGVzY3JpcHRvclJlZj4+IFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0Ojpjb21wdXRl
Q2FzY2FkCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotU3lzdGVtRm9udERhdGFiYXNlQ29yZVRl
eHQ6OkNhc2NhZGVMaXN0UGFyYW1ldGVycyBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6c3lz
dGVtRm9udFBhcmFtZXRlcnMoY29uc3QgRm9udENhc2NhZGVEZXNjcmlwdGlvbiYgZGVzY3JpcHRp
b24sIGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseU5hbWUsIENsaWVudFVzZSBjbGllbnRVc2UsIEFs
bG93VXNlckluc3RhbGxlZEZvbnRzIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKQorU3lzdGVtRm9u
dERhdGFiYXNlQ29yZVRleHQ6OkNhc2NhZGVMaXN0UGFyYW1ldGVycyBTeXN0ZW1Gb250RGF0YWJh
c2VDb3JlVGV4dDo6c3lzdGVtRm9udFBhcmFtZXRlcnMoY29uc3QgRm9udERlc2NyaXB0aW9uJiBk
ZXNjcmlwdGlvbiwgY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5TmFtZSwgQ2xpZW50VXNlIGNsaWVu
dFVzZSwgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpCiB7
CiAgICAgQ2FzY2FkZUxpc3RQYXJhbWV0ZXJzIHJlc3VsdDsKICAgICByZXN1bHQubG9jYWxlID0g
ZGVzY3JpcHRpb24ubG9jYWxlKCk7CiAgICAgcmVzdWx0LnNpemUgPSBkZXNjcmlwdGlvbi5jb21w
dXRlZFNpemUoKTsKICAgICByZXN1bHQuaXRhbGljID0gaXNJdGFsaWMoZGVzY3JpcHRpb24uaXRh
bGljKCkpOworICAgIHJlc3VsdC5hbGxvd1VzZXJJbnN0YWxsZWRGb250cyA9IGFsbG93VXNlcklu
c3RhbGxlZEZvbnRzOwogCiAgICAgYXV0byB3ZWlnaHQgPSBkZXNjcmlwdGlvbi53ZWlnaHQoKTsK
ICAgICBpZiAoRm9udENhY2hlOjpzaW5nbGV0b24oKS5zaG91bGRNb2NrQm9sZFN5c3RlbUZvbnRG
b3JBY2Nlc3NpYmlsaXR5KCkpCkBAIC0xNTksMjAgKzIwNCwzNiBAQCBTeXN0ZW1Gb250RGF0YWJh
c2VDb3JlVGV4dDo6Q2FzY2FkZUxpc3RQYXJhbWV0ZXJzIFN5c3RlbUZvbnREYXRhYmFzZUNvcmVU
ZXh0OjpzeQogICAgIGVsc2UKICAgICAgICAgcmVzdWx0LndlaWdodCA9IGtDVEZvbnRXZWlnaHRC
bGFjazsKIAotICAgIGlmIChjbGllbnRVc2UgPT0gQ2xpZW50VXNlOjpGb3JTeXN0ZW1VSSkgewor
ICAgIHN3aXRjaCAoY2xpZW50VXNlKSB7CisgICAgY2FzZSBDbGllbnRVc2U6OkZvclN5c3RlbVVJ
OiB7CiAgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9tU3RyaW5nPiBzeXN0ZW1VSSA9
IEF0b21TdHJpbmcoInN5c3RlbS11aSIsIEF0b21TdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFs
KTsKICAgICAgICAgcmVzdWx0LmZvbnROYW1lID0gc3lzdGVtVUkuZ2V0KCk7Ci0gICAgfSBlbHNl
IHsKLSAgICAgICAgQVNTRVJUKGNsaWVudFVzZSA9PSBDbGllbnRVc2U6OkZvclRleHRTdHlsZSk7
CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBjYXNlIENsaWVudFVzZTo6Rm9yU3lzdGVtVUlT
ZXJpZjogeworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8QXRvbVN0cmluZz4gc3lzdGVt
VUkgPSBBdG9tU3RyaW5nKCJzeXN0ZW0tdWktc2VyaWYiLCBBdG9tU3RyaW5nOjpDb25zdHJ1Y3RG
cm9tTGl0ZXJhbCk7CisgICAgICAgIHJlc3VsdC5mb250TmFtZSA9IHN5c3RlbVVJLmdldCgpOwor
ICAgICAgICBicmVhazsKKyAgICB9CisgICAgY2FzZSBDbGllbnRVc2U6OkZvclN5c3RlbVVJTW9u
b3NwYWNlZDogeworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8QXRvbVN0cmluZz4gc3lz
dGVtVUkgPSBBdG9tU3RyaW5nKCJzeXN0ZW0tdWktbW9ub3NwYWNlZCIsIEF0b21TdHJpbmc6OkNv
bnN0cnVjdEZyb21MaXRlcmFsKTsKKyAgICAgICAgcmVzdWx0LmZvbnROYW1lID0gc3lzdGVtVUku
Z2V0KCk7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBjYXNlIENsaWVudFVzZTo6Rm9yU3lz
dGVtVUlSb3VuZGVkOiB7CisgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9tU3RyaW5n
PiBzeXN0ZW1VSSA9IEF0b21TdHJpbmcoInN5c3RlbS11aS1yb3VuZGVkIiwgQXRvbVN0cmluZzo6
Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAgICAgICByZXN1bHQuZm9udE5hbWUgPSBzeXN0ZW1V
SS5nZXQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGNhc2UgQ2xpZW50VXNlOjpGb3JU
ZXh0U3R5bGU6CiAgICAgICAgIHJlc3VsdC5mb250TmFtZSA9IGZhbWlseU5hbWU7CisgICAgICAg
IGJyZWFrOwogICAgIH0KIAotICAgIHJlc3VsdC5hbGxvd1VzZXJJbnN0YWxsZWRGb250cyA9IGFs
bG93VXNlckluc3RhbGxlZEZvbnRzOwotCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotVmVjdG9y
PFJldGFpblB0cjxDVEZvbnREZXNjcmlwdG9yUmVmPj4gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRl
eHQ6OmNhc2NhZGVMaXN0KGNvbnN0IEZvbnRDYXNjYWRlRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9u
LCBjb25zdCBBdG9tU3RyaW5nJiBjc3NGYW1pbHksIENsaWVudFVzZSBjbGllbnRVc2UsIEFsbG93
VXNlckluc3RhbGxlZEZvbnRzIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKQorVmVjdG9yPFJldGFp
blB0cjxDVEZvbnREZXNjcmlwdG9yUmVmPj4gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OmNh
c2NhZGVMaXN0KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIGNvbnN0IEF0b21T
dHJpbmcmIGNzc0ZhbWlseSwgQ2xpZW50VXNlIGNsaWVudFVzZSwgQWxsb3dVc2VySW5zdGFsbGVk
Rm9udHMgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpCiB7CiAgICAgcmV0dXJuIGNhc2NhZGVMaXN0
KHN5c3RlbUZvbnRQYXJhbWV0ZXJzKGRlc2NyaXB0aW9uLCBjc3NGYW1pbHksIGNsaWVudFVzZSwg
YWxsb3dVc2VySW5zdGFsbGVkRm9udHMpLCBjbGllbnRVc2UpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU3lzdGVtRm9udERhdGFiYXNlQ29y
ZVRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1N5c3RlbUZv
bnREYXRhYmFzZUNvcmVUZXh0LmgKaW5kZXggMzIzYWIyOThmMDYzMmVhYTc1NWM4ZmE3YzAyODVm
MDhiMTNmYjZiMC4uNjZjOTNiZGNiZGYzMzNlOTkxZjgwZmE0NDE1NmJjYjY5YjY1NzNjYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU3lzdGVtRm9u
dERhdGFiYXNlQ29yZVRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9TeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dC5oCkBAIC0yNSw3ICsyNSw3IEBACiAK
ICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiRm9udENhc2NhZGVEZXNjcmlwdGlvbi5oIgorI2lu
Y2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgPHBhbC9zcGkvY29jb2EvQ29yZVRl
eHRTUEkuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoVHJh
aXRzLmg+CkBAIC05Niw5ICs5NiwxNSBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgU3lzdGVtRm9u
dERhdGFiYXNlQ29yZVRleHQmIHNpbmdsZXRvbigpOwogCi0gICAgZW51bSBjbGFzcyBDbGllbnRV
c2UgeyBGb3JTeXN0ZW1VSSwgRm9yVGV4dFN0eWxlIH07CisgICAgZW51bSBjbGFzcyBDbGllbnRV
c2UgeworICAgICAgICBGb3JTeXN0ZW1VSSwKKyAgICAgICAgRm9yU3lzdGVtVUlTZXJpZiwKKyAg
ICAgICAgRm9yU3lzdGVtVUlNb25vc3BhY2VkLAorICAgICAgICBGb3JTeXN0ZW1VSVJvdW5kZWQs
CisgICAgICAgIEZvclRleHRTdHlsZQorICAgIH07CiAKLSAgICBWZWN0b3I8UmV0YWluUHRyPENU
Rm9udERlc2NyaXB0b3JSZWY+PiBjYXNjYWRlTGlzdChjb25zdCBGb250Q2FzY2FkZURlc2NyaXB0
aW9uJiwgY29uc3QgQXRvbVN0cmluZyYgY3NzRmFtaWx5LCBDbGllbnRVc2UsIEFsbG93VXNlcklu
c3RhbGxlZEZvbnRzKTsKKyAgICBWZWN0b3I8UmV0YWluUHRyPENURm9udERlc2NyaXB0b3JSZWY+
PiBjYXNjYWRlTGlzdChjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBBdG9tU3RyaW5nJiBj
c3NGYW1pbHksIENsaWVudFVzZSwgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOwogCiAgICAgU3Ry
aW5nIHNlcmlmRmFtaWx5KGNvbnN0IFN0cmluZyYgbG9jYWxlKTsKICAgICBTdHJpbmcgc2Fuc1Nl
cmlmRmFtaWx5KGNvbnN0IFN0cmluZyYgbG9jYWxlKTsKQEAgLTExMywxMCArMTE5LDE0IEBAIHBy
aXZhdGU6CiAKICAgICBWZWN0b3I8UmV0YWluUHRyPENURm9udERlc2NyaXB0b3JSZWY+PiBjYXNj
YWRlTGlzdChjb25zdCBDYXNjYWRlTGlzdFBhcmFtZXRlcnMmLCBDbGllbnRVc2UpOwogCi0gICAg
c3RhdGljIFJldGFpblB0cjxDVEZvbnRSZWY+IGFwcGx5V2VpZ2h0SXRhbGljc0FuZEZhbGxiYWNr
QmVoYXZpb3IoQ1RGb250UmVmLCBDR0Zsb2F0IHdlaWdodCwgYm9vbCBpdGFsaWMsIGZsb2F0IHNp
emUsIEFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKKyAgICBSZXRhaW5QdHI8Q1RGb250UmVmPiBj
cmVhdGVTeXN0ZW1VSShjb25zdCBDYXNjYWRlTGlzdFBhcmFtZXRlcnMmLCBDRlN0cmluZ1JlZiBs
b2NhbGUpOworICAgIFJldGFpblB0cjxDVEZvbnRSZWY+IGNyZWF0ZURlc2lnblN5c3RlbVVJKENs
aWVudFVzZSwgY29uc3QgQ2FzY2FkZUxpc3RQYXJhbWV0ZXJzJiwgQ0ZTdHJpbmdSZWYgbG9jYWxl
KTsKKyAgICBSZXRhaW5QdHI8Q1RGb250UmVmPiBjcmVhdGVUZXh0U3R5bGUoY29uc3QgQ2FzY2Fk
ZUxpc3RQYXJhbWV0ZXJzJik7CisKKyAgICBzdGF0aWMgUmV0YWluUHRyPENURm9udFJlZj4gYXBw
bHlXZWlnaHRJdGFsaWNzQW5kRmFsbGJhY2tCZWhhdmlvcihDVEZvbnRSZWYsIENHRmxvYXQgd2Vp
Z2h0LCBib29sIGl0YWxpYywgZmxvYXQgc2l6ZSwgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMsIENG
U3RyaW5nUmVmIGRlc2lnbiA9IG51bGxwdHIpOwogICAgIHN0YXRpYyBSZXRhaW5QdHI8Q1RGb250
RGVzY3JpcHRvclJlZj4gcmVtb3ZlQ2FzY2FkZUxpc3QoQ1RGb250RGVzY3JpcHRvclJlZik7CiAg
ICAgc3RhdGljIFZlY3RvcjxSZXRhaW5QdHI8Q1RGb250RGVzY3JpcHRvclJlZj4+IGNvbXB1dGVD
YXNjYWRlTGlzdChDVEZvbnRSZWYsIENGU3RyaW5nUmVmIGxvY2FsZSk7Ci0gICAgc3RhdGljIENh
c2NhZGVMaXN0UGFyYW1ldGVycyBzeXN0ZW1Gb250UGFyYW1ldGVycyhjb25zdCBGb250Q2FzY2Fk
ZURlc2NyaXB0aW9uJiwgY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5TmFtZSwgQ2xpZW50VXNlLCBB
bGxvd1VzZXJJbnN0YWxsZWRGb250cyk7CisgICAgc3RhdGljIENhc2NhZGVMaXN0UGFyYW1ldGVy
cyBzeXN0ZW1Gb250UGFyYW1ldGVycyhjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBBdG9t
U3RyaW5nJiBmYW1pbHlOYW1lLCBDbGllbnRVc2UsIEFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsK
IAogICAgIEhhc2hNYXA8Q2FzY2FkZUxpc3RQYXJhbWV0ZXJzLCBWZWN0b3I8UmV0YWluUHRyPENU
Rm9udERlc2NyaXB0b3JSZWY+PiwgQ2FzY2FkZUxpc3RQYXJhbWV0ZXJzOjpDYXNjYWRlTGlzdFBh
cmFtZXRlcnNIYXNoLCBTaW1wbGVDbGFzc0hhc2hUcmFpdHM8Q2FzY2FkZUxpc3RQYXJhbWV0ZXJz
Pj4gbV9zeXN0ZW1Gb250Q2FjaGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2lvcy9Gb250Q2FjaGVJT1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9pb3MvRm9udENhY2hlSU9TLm1tCmluZGV4IDhiYTM5NjBiMzg3ZTMzZGNiZTk5
NDJjNDRlNmFiNTJhNzBmYTc1MzcuLmMzNTcwYzFkN2ZjZGE4Yjk2YmRiNjI3OTI2ZWNjNzJmZjU3
MzZlZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9G
b250Q2FjaGVJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9z
L0ZvbnRDYWNoZUlPUy5tbQpAQCAtMzMsNiArMzMsNyBAQAogCiAjaW1wb3J0ICJGb250Q2FzY2Fk
ZS5oIgogI2ltcG9ydCAiUmVuZGVyVGhlbWVJT1MuaCIKKyNpbXBvcnQgIlN5c3RlbUZvbnREYXRh
YmFzZUNvcmVUZXh0LmgiCiAjaW1wb3J0IDxwYWwvc3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oPgog
I2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oPgogI2ltcG9ydCA8d3RmL0hhc2hT
ZXQuaD4KQEAgLTEyOCw5ICsxMjksMTEgQEAgc3RhdGljIFJldGFpblB0cjxDVEZvbnREZXNjcmlw
dG9yUmVmPiBzeXN0ZW1Gb250RGVzY3JpcHRvcihGb250U2VsZWN0aW9uVmFsdWUgd2UKICAgICBy
ZXR1cm4gYWRvcHRDRihDVEZvbnREZXNjcmlwdG9yQ3JlYXRlQ29weVdpdGhBdHRyaWJ1dGVzKGZv
bnREZXNjcmlwdG9yLmdldCgpLCBzdGF0aWNfY2FzdDxDRkRpY3Rpb25hcnlSZWY+KGF0dHJpYnV0
ZXMuZ2V0KCkpKSk7CiB9CiAKLVJldGFpblB0cjxDVEZvbnRSZWY+IHBsYXRmb3JtRm9udFdpdGhG
YW1pbHlTcGVjaWFsQ2FzZShjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIEZvbnRTZWxlY3Rpb25S
ZXF1ZXN0IHJlcXVlc3QsIGZsb2F0IHNpemUsIEFsbG93VXNlckluc3RhbGxlZEZvbnRzIGFsbG93
VXNlckluc3RhbGxlZEZvbnRzKQorUmV0YWluUHRyPENURm9udFJlZj4gcGxhdGZvcm1Gb250V2l0
aEZhbWlseVNwZWNpYWxDYXNlKGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSwgY29uc3QgRm9udERl
c2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGZsb2F0IHNpemUsIEFsbG93VXNlckluc3RhbGxl
ZEZvbnRzIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKQogewogICAgIC8vIEZJWE1FOiBTZWUgY29t
bWVudCBpbiBGb250Q2FzY2FkZURlc2NyaXB0aW9uOjplZmZlY3RpdmVGYW1pbHlBdCgpIGluIEZv
bnREZXNjcmlwdGlvbkNvY29hLmNwcAorICAgIGNvbnN0IGF1dG8mIHJlcXVlc3QgPSBmb250RGVz
Y3JpcHRpb24uZm9udFNlbGVjdGlvblJlcXVlc3QoKTsKKwogICAgIGlmIChmYW1pbHkuc3RhcnRz
V2l0aCgiVUlDVEZvbnRUZXh0U3R5bGUiKSkgewogICAgICAgICBDVEZvbnRTeW1ib2xpY1RyYWl0
cyB0cmFpdHMgPSAoaXNGb250V2VpZ2h0Qm9sZChyZXF1ZXN0LndlaWdodCkgfHwgRm9udENhY2hl
OjpzaW5nbGV0b24oKS5zaG91bGRNb2NrQm9sZFN5c3RlbUZvbnRGb3JBY2Nlc3NpYmlsaXR5KCkg
PyBrQ1RGb250VHJhaXRCb2xkIDogMCkgfCAoaXNJdGFsaWMocmVxdWVzdC5zbG9wZSkgPyBrQ1RG
b250VHJhaXRJdGFsaWMgOiAwKTsKICAgICAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBmYW1p
bHlOYW1lU3RyID0gZmFtaWx5LnN0cmluZygpLmNyZWF0ZUNGU3RyaW5nKCk7CkBAIC0xNDAsMTEg
KzE0MywzMCBAQCBSZXRhaW5QdHI8Q1RGb250UmVmPiBwbGF0Zm9ybUZvbnRXaXRoRmFtaWx5U3Bl
Y2lhbENhc2UoY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LAogICAgICAgICByZXR1cm4gY3JlYXRl
Rm9udEZvckluc3RhbGxlZEZvbnRzKGZvbnREZXNjcmlwdG9yLmdldCgpLCBzaXplLCBhbGxvd1Vz
ZXJJbnN0YWxsZWRGb250cyk7CiAgICAgfQogCisgICAgLy8gRklYTUU6IE1pZ3JhdGUgdGhpcyB0
byB1c2UgU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQgbGlrZSB0aGUgZGVzaWduIHN5c3RlbS11
aSBibG9jayBiZWxvdy4KICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZmFt
aWx5LCAiLXdlYmtpdC1zeXN0ZW0tZm9udCIpIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlD
YXNlKGZhbWlseSwgIi1hcHBsZS1zeXN0ZW0iKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJ
Q2FzZShmYW1pbHksICItYXBwbGUtc3lzdGVtLWZvbnQiKSB8fCBlcXVhbExldHRlcnNJZ25vcmlu
Z0FTQ0lJQ2FzZShmYW1pbHksICJzeXN0ZW0tdWkiKSkgewogICAgICAgICBhdXRvIGZvbnREZXNj
cmlwdG9yID0gc3lzdGVtRm9udERlc2NyaXB0b3IocmVxdWVzdC53ZWlnaHQsIGlzRm9udFdlaWdo
dEJvbGQocmVxdWVzdC53ZWlnaHQpLCBpc0l0YWxpYyhyZXF1ZXN0LnNsb3BlKSwgc2l6ZSk7CiAg
ICAgICAgIHJldHVybiBjcmVhdGVGb250Rm9ySW5zdGFsbGVkRm9udHMoZm9udERlc2NyaXB0b3Iu
Z2V0KCksIHNpemUsIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKICAgICB9CiAKKyNpZiBIQVZF
KERFU0lHTl9TWVNURU1fVUlfRk9OVFMpCisgICAgaWYgKGZvbnREZXNjcmlwdGlvbi5zaG91bGRB
bGxvd0Rlc2lnblN5c3RlbVVJRm9udHMoKSkgeworICAgICAgICBPcHRpb25hbDxTeXN0ZW1Gb250
RGF0YWJhc2VDb3JlVGV4dDo6Q2xpZW50VXNlPiBkZXNpZ25TeXN0ZW1VSTsKKyAgICAgICAgaWYg
KGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGZhbWlseSwgIi1hcHBsZS1zeXN0ZW0tdWkt
c2VyaWYiKSkKKyAgICAgICAgICAgIGRlc2lnblN5c3RlbVVJID0gU3lzdGVtRm9udERhdGFiYXNl
Q29yZVRleHQ6OkNsaWVudFVzZTo6Rm9yU3lzdGVtVUlTZXJpZjsKKyAgICAgICAgZWxzZSBpZiAo
ZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZmFtaWx5LCAiLWFwcGxlLXN5c3RlbS11aS1t
b25vc3BhY2VkIikpCisgICAgICAgICAgICBkZXNpZ25TeXN0ZW1VSSA9IFN5c3RlbUZvbnREYXRh
YmFzZUNvcmVUZXh0OjpDbGllbnRVc2U6OkZvclN5c3RlbVVJTW9ub3NwYWNlZDsKKyAgICAgICAg
ZWxzZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZmFtaWx5LCAiLWFwcGxlLXN5
c3RlbS11aS1yb3VuZGVkIikpCisgICAgICAgICAgICBkZXNpZ25TeXN0ZW1VSSA9IFN5c3RlbUZv
bnREYXRhYmFzZUNvcmVUZXh0OjpDbGllbnRVc2U6OkZvclN5c3RlbVVJUm91bmRlZDsKKworICAg
ICAgICBpZiAoZGVzaWduU3lzdGVtVUkpIHsKKyAgICAgICAgICAgIGF1dG8gY2FzY2FkZUxpc3Qg
PSBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6c2luZ2xldG9uKCkuY2FzY2FkZUxpc3QoZm9u
dERlc2NyaXB0aW9uLCBmYW1pbHksICpkZXNpZ25TeXN0ZW1VSSwgYWxsb3dVc2VySW5zdGFsbGVk
Rm9udHMpOworICAgICAgICAgICAgaWYgKCFjYXNjYWRlTGlzdC5pc0VtcHR5KCkpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIGNyZWF0ZUZvbnRGb3JJbnN0YWxsZWRGb250cyhjYXNjYWRlTGlzdFsw
XS5nZXQoKSwgc2l6ZSwgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOworICAgICAgICB9CisgICAg
fQorI2VuZGlmCisKICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZmFtaWx5
LCAiLWFwcGxlLXN5c3RlbS1tb25vc3BhY2VkLW51bWJlcnMiKSkgewogICAgICAgICBSZXRhaW5Q
dHI8Q1RGb250RGVzY3JpcHRvclJlZj4gc3lzdGVtRm9udERlc2NyaXB0b3IgPSBhZG9wdENGKENU
Rm9udERlc2NyaXB0b3JDcmVhdGVGb3JVSVR5cGUoa0NURm9udFVJRm9udFN5c3RlbSwgc2l6ZSwg
bnVsbHB0cikpOwogICAgICAgICBSZXRhaW5QdHI8Q1RGb250RGVzY3JpcHRvclJlZj4gbW9ub3Nw
YWNlRm9udERlc2NyaXB0b3IgPSBhZG9wdENGKENURm9udERlc2NyaXB0b3JDcmVhdGVDb3B5V2l0
aEZlYXR1cmUoc3lzdGVtRm9udERlc2NyaXB0b3IuZ2V0KCksIChDRk51bWJlclJlZilAKGtOdW1i
ZXJTcGFjaW5nVHlwZSksIChDRk51bWJlclJlZilAKGtNb25vc3BhY2VkTnVtYmVyc1NlbGVjdG9y
KSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0Zv
bnRDYWNoZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250
Q2FjaGVNYWMubW0KaW5kZXggYjNkY2RjYzdmYjU2NThiNDYxMGZkMjE1YzM3ZmVjY2UwZmUzZTA4
Yy4uYTA1ZTQxMjdhM2MyMjQwZjQ4NDZlODgyNDYzOGUwZmRlOTFkZmQyYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDYWNoZU1hYy5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udENhY2hlTWFjLm1tCkBA
IC0zMyw2ICszMyw3IEBACiAjaW1wb3J0ICJGb250LmgiCiAjaW1wb3J0ICJGb250Q2FzY2FkZS5o
IgogI2ltcG9ydCAiRm9udFBsYXRmb3JtRGF0YS5oIgorI2ltcG9ydCAiU3lzdGVtRm9udERhdGFi
YXNlQ29yZVRleHQuaCIKICNpbXBvcnQgPHBhbC9zcGkvY2cvQ29yZUdyYXBoaWNzU1BJLmg+CiAj
aW1wb3J0IDxwYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmg+CiAKQEAgLTczLDkgKzc0LDEyIEBA
IHN0YXRpYyBDR0Zsb2F0IHRvTlNGb250V2VpZ2h0KEZvbnRTZWxlY3Rpb25WYWx1ZSBmb250V2Vp
Z2h0KQogICAgIHJldHVybiBOU0ZvbnRXZWlnaHRCbGFjazsKIH0KIAotUmV0YWluUHRyPENURm9u
dFJlZj4gcGxhdGZvcm1Gb250V2l0aEZhbWlseVNwZWNpYWxDYXNlKGNvbnN0IEF0b21TdHJpbmcm
IGZhbWlseSwgRm9udFNlbGVjdGlvblJlcXVlc3QgcmVxdWVzdCwgZmxvYXQgc2l6ZSwgQWxsb3dV
c2VySW5zdGFsbGVkRm9udHMgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpCitSZXRhaW5QdHI8Q1RG
b250UmVmPiBwbGF0Zm9ybUZvbnRXaXRoRmFtaWx5U3BlY2lhbENhc2UoY29uc3QgQXRvbVN0cmlu
ZyYgZmFtaWx5LCBjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgZmxvYXQg
c2l6ZSwgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpCiB7
CiAgICAgLy8gRklYTUU6IFNlZSBjb21tZW50IGluIEZvbnRDYXNjYWRlRGVzY3JpcHRpb246OmVm
ZmVjdGl2ZUZhbWlseUF0KCkgaW4gRm9udERlc2NyaXB0aW9uQ29jb2EuY3BwCisgICAgY29uc3Qg
YXV0byYgcmVxdWVzdCA9IGZvbnREZXNjcmlwdGlvbi5mb250U2VsZWN0aW9uUmVxdWVzdCgpOwor
CisgICAgLy8gRklYTUU6IE1pZ3JhdGUgdGhpcyB0byB1c2UgU3lzdGVtRm9udERhdGFiYXNlQ29y
ZVRleHQgbGlrZSB0aGUgZGVzaWduIHN5c3RlbS11aSBibG9jayBiZWxvdy4KICAgICBpZiAoZXF1
YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZmFtaWx5LCAiLXdlYmtpdC1zeXN0ZW0tZm9udCIp
IHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGZhbWlseSwgIi1hcHBsZS1zeXN0ZW0i
KSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShmYW1pbHksICItYXBwbGUtc3lzdGVt
LWZvbnQiKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShmYW1pbHksICJzeXN0ZW0t
dWkiKSkgewogICAgICAgICBSZXRhaW5QdHI8Q1RGb250UmVmPiByZXN1bHQgPSB0b0NURm9udChb
TlNGb250IHN5c3RlbUZvbnRPZlNpemU6c2l6ZSB3ZWlnaHQ6dG9OU0ZvbnRXZWlnaHQocmVxdWVz
dC53ZWlnaHQpXSk7CiAgICAgICAgIGlmIChpc0l0YWxpYyhyZXF1ZXN0LnNsb3BlKSkgewpAQCAt
ODgsNiArOTIsMjQgQEAgUmV0YWluUHRyPENURm9udFJlZj4gcGxhdGZvcm1Gb250V2l0aEZhbWls
eVNwZWNpYWxDYXNlKGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSwKICAgICAgICAgcmV0dXJuIGNy
ZWF0ZUZvbnRGb3JJbnN0YWxsZWRGb250cyhyZXN1bHQuZ2V0KCksIGFsbG93VXNlckluc3RhbGxl
ZEZvbnRzKTsKICAgICB9CiAKKyNpZiBIQVZFKERFU0lHTl9TWVNURU1fVUlfRk9OVFMpCisgICAg
aWYgKGZvbnREZXNjcmlwdGlvbi5zaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMoKSkgewor
ICAgICAgICBPcHRpb25hbDxTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6Q2xpZW50VXNlPiBk
ZXNpZ25TeXN0ZW1VSTsKKyAgICAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNl
KGZhbWlseSwgIi1hcHBsZS1zeXN0ZW0tdWktc2VyaWYiKSkKKyAgICAgICAgICAgIGRlc2lnblN5
c3RlbVVJID0gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNsaWVudFVzZTo6Rm9yU3lzdGVt
VUlTZXJpZjsKKyAgICAgICAgZWxzZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uo
ZmFtaWx5LCAiLWFwcGxlLXN5c3RlbS11aS1tb25vc3BhY2VkIikpCisgICAgICAgICAgICBkZXNp
Z25TeXN0ZW1VSSA9IFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpDbGllbnRVc2U6OkZvclN5
c3RlbVVJTW9ub3NwYWNlZDsKKyAgICAgICAgZWxzZSBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdB
U0NJSUNhc2UoZmFtaWx5LCAiLWFwcGxlLXN5c3RlbS11aS1yb3VuZGVkIikpCisgICAgICAgICAg
ICBkZXNpZ25TeXN0ZW1VSSA9IFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpDbGllbnRVc2U6
OkZvclN5c3RlbVVJUm91bmRlZDsKKworICAgICAgICBpZiAoZGVzaWduU3lzdGVtVUkpIHsKKyAg
ICAgICAgICAgIGF1dG8gY2FzY2FkZUxpc3QgPSBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6
c2luZ2xldG9uKCkuY2FzY2FkZUxpc3QoZm9udERlc2NyaXB0aW9uLCBmYW1pbHksICpkZXNpZ25T
eXN0ZW1VSSwgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOworICAgICAgICAgICAgaWYgKCFjYXNj
YWRlTGlzdC5pc0VtcHR5KCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZUZvbnRGb3JJ
bnN0YWxsZWRGb250cyhjYXNjYWRlTGlzdFswXS5nZXQoKSwgc2l6ZSwgYWxsb3dVc2VySW5zdGFs
bGVkRm9udHMpOworICAgICAgICB9CisgICAgfQorI2VuZGlmCisKICAgICBpZiAoZXF1YWxMZXR0
ZXJzSWdub3JpbmdBU0NJSUNhc2UoZmFtaWx5LCAiLWFwcGxlLXN5c3RlbS1tb25vc3BhY2VkLW51
bWJlcnMiKSkgewogICAgICAgICBpbnQgbnVtYmVyU3BhY2luZ1R5cGUgPSBrTnVtYmVyU3BhY2lu
Z1R5cGU7CiAgICAgICAgIGludCBtb25vc3BhY2VkTnVtYmVyc1NlbGVjdG9yID0ga01vbm9zcGFj
ZWROdW1iZXJzU2VsZWN0b3I7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHls
ZVJlc29sdmVGb3JEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVJlc29s
dmVGb3JEb2N1bWVudC5jcHAKaW5kZXggMGU0M2Q0MTdhY2VlZjNlN2FkYTY4OTY2YzNhMDdjMDVj
OTA0YTIzYi4uZGRlODgxODI5ZDJkNmNjZTY1ZmI0NmY1MmJjMTA0MGI4MDU3NDhlNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZlRm9yRG9jdW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlUmVzb2x2ZUZvckRvY3VtZW50LmNwcApAQCAt
MTEwLDYgKzExMCw3IEBAIFJlbmRlclN0eWxlIHJlc29sdmVGb3JEb2N1bWVudChjb25zdCBEb2N1
bWVudCYgZG9jdW1lbnQpCiAgICAgZm9udERlc2NyaXB0aW9uLnNldFJlbmRlcmluZ01vZGUoc2V0
dGluZ3MuZm9udFJlbmRlcmluZ01vZGUoKSk7CiAgICAgZm9udERlc2NyaXB0aW9uLnNldE9uZUZh
bWlseShzdGFuZGFyZEZhbWlseSk7CiAgICAgZm9udERlc2NyaXB0aW9uLnNldFNob3VsZEFsbG93
VXNlckluc3RhbGxlZEZvbnRzKHNldHRpbmdzLnNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRz
KCkgPyBBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6WWVzIDogQWxsb3dVc2VySW5zdGFsbGVkRm9u
dHM6Ok5vKTsKKyAgICBmb250RGVzY3JpcHRpb24uc2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1V
SUZvbnRzKHNldHRpbmdzLnNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cygpKTsKIAogICAg
IGZvbnREZXNjcmlwdGlvbi5zZXRLZXl3b3JkU2l6ZUZyb21JZGVudGlmaWVyKENTU1ZhbHVlTWVk
aXVtKTsKICAgICBpbnQgc2l6ZSA9IGZvbnRTaXplRm9yS2V5d29yZChDU1NWYWx1ZU1lZGl1bSwg
ZmFsc2UsIGRvY3VtZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGlj
cy9TVkdJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3Bw
CmluZGV4IGIyZGIxYTZkYjg5OTYwZjk3NTc2NjJkODllNTBjYWNiZWQ5NzQzYjIuLmIzZjIyY2Ix
ODM3ZTgzYTVlN2IyNmM2MTBhNTdkYTM5YWJkMzVhZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2dy
YXBoaWNzL1NWR0ltYWdlLmNwcApAQCAtNDcxLDYgKzQ3MSw3IEBAIEVuY29kZWREYXRhU3RhdHVz
IFNWR0ltYWdlOjpkYXRhQ2hhbmdlZChib29sIGFsbERhdGFSZWNlaXZlZCkKICAgICAgICAgbV9w
YWdlLT5zZXR0aW5ncygpLnNldFBsdWdpbnNFbmFibGVkKGZhbHNlKTsKICAgICAgICAgbV9wYWdl
LT5zZXR0aW5ncygpLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKGZhbHNlKTsKICAg
ICAgICAgbV9wYWdlLT5zZXR0aW5ncygpLnNldFNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRz
KGZhbHNlKTsKKyAgICAgICAgbV9wYWdlLT5zZXR0aW5ncygpLnNldFNob3VsZEFsbG93RGVzaWdu
U3lzdGVtVUlGb250cyhmYWxzZSk7CiAKICAgICAgICAgRnJhbWUmIGZyYW1lID0gbV9wYWdlLT5t
YWluRnJhbWUoKTsKICAgICAgICAgZnJhbWUuc2V0VmlldyhGcmFtZVZpZXc6OmNyZWF0ZShmcmFt
ZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKaW5kZXgg
YzExMzFkMjViMzg4YmJhODM2NjUzZDI5NzA4ZTZhNWJiZTRiZGZjNC4uMmUzMmU4MTI4ZmQxYTRl
YzE1MmY4ODFiMDk5MjIzYjY5OTYzZTdiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuY3BwCkBAIC04NSw2ICs4NSw3IEBAIEludGVybmFsU2V0dGluZ3M6OkJh
Y2t1cDo6QmFja3VwKFNldHRpbmdzJiBzZXR0aW5ncykKICAgICAsIG1fc2hvdWxkQ29udmVydFBv
c2l0aW9uU3R5bGVPbkNvcHkoc2V0dGluZ3Muc2hvdWxkQ29udmVydFBvc2l0aW9uU3R5bGVPbkNv
cHkoKSkKICAgICAsIG1fZm9udEZhbGxiYWNrUHJlZmVyc1BpY3RvZ3JhcGhzKHNldHRpbmdzLmZv
bnRGYWxsYmFja1ByZWZlcnNQaWN0b2dyYXBocygpKQogICAgICwgbV9zaG91bGRJZ25vcmVGb250
TG9hZENvbXBsZXRpb25zKHNldHRpbmdzLnNob3VsZElnbm9yZUZvbnRMb2FkQ29tcGxldGlvbnMo
KSkKKyAgICAsIG1fc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKHNldHRpbmdzLnNob3Vs
ZEFsbG93RGVzaWduU3lzdGVtVUlGb250cygpKQogICAgICwgbV9iYWNrZ3JvdW5kU2hvdWxkRXh0
ZW5kQmV5b25kUGFnZShzZXR0aW5ncy5iYWNrZ3JvdW5kU2hvdWxkRXh0ZW5kQmV5b25kUGFnZSgp
KQogICAgICwgbV9zdG9yYWdlQmxvY2tpbmdQb2xpY3koc2V0dGluZ3Muc3RvcmFnZUJsb2NraW5n
UG9saWN5KCkpCiAgICAgLCBtX3Njcm9sbGluZ1RyZWVJbmNsdWRlc0ZyYW1lcyhzZXR0aW5ncy5z
Y3JvbGxpbmdUcmVlSW5jbHVkZXNGcmFtZXMoKSkKQEAgLTE4NCw2ICsxODUsNyBAQCB2b2lkIElu
dGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9yZVRvKFNldHRpbmdzJiBzZXR0aW5ncykKICAg
ICBzZXR0aW5ncy5zZXRTaG91bGRDb252ZXJ0UG9zaXRpb25TdHlsZU9uQ29weShtX3Nob3VsZENv
bnZlcnRQb3NpdGlvblN0eWxlT25Db3B5KTsKICAgICBzZXR0aW5ncy5zZXRGb250RmFsbGJhY2tQ
cmVmZXJzUGljdG9ncmFwaHMobV9mb250RmFsbGJhY2tQcmVmZXJzUGljdG9ncmFwaHMpOwogICAg
IHNldHRpbmdzLnNldFNob3VsZElnbm9yZUZvbnRMb2FkQ29tcGxldGlvbnMobV9zaG91bGRJZ25v
cmVGb250TG9hZENvbXBsZXRpb25zKTsKKyAgICBzZXR0aW5ncy5zZXRTaG91bGRBbGxvd0Rlc2ln
blN5c3RlbVVJRm9udHMobV9zaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMpOwogICAgIHNl
dHRpbmdzLnNldEJhY2tncm91bmRTaG91bGRFeHRlbmRCZXlvbmRQYWdlKG1fYmFja2dyb3VuZFNo
b3VsZEV4dGVuZEJleW9uZFBhZ2UpOwogICAgIHNldHRpbmdzLnNldFN0b3JhZ2VCbG9ja2luZ1Bv
bGljeShtX3N0b3JhZ2VCbG9ja2luZ1BvbGljeSk7CiAgICAgc2V0dGluZ3Muc2V0U2Nyb2xsaW5n
VHJlZUluY2x1ZGVzRnJhbWVzKG1fc2Nyb2xsaW5nVHJlZUluY2x1ZGVzRnJhbWVzKTsKQEAgLTY5
Myw2ICs2OTUsMTQgQEAgRXhjZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0U2hv
dWxkSWdub3JlRm9udExvYWRDb21wbGV0aW9ucyhib29sIGlnbm8KICAgICByZXR1cm4geyB9Owog
fQogCitFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRTaG91bGRBbGxvd0Rl
c2lnblN5c3RlbVVJRm9udHMoYm9vbCBhbGxvdykKK3sKKyAgICBpZiAoIW1fcGFnZSkKKyAgICAg
ICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciB9OworICAgIHNldHRpbmdz
KCkuc2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKGFsbG93KTsKKyAgICByZXR1cm4g
eyB9OworfQorCiBFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5hbFNldHRpbmdzOjpzZXRRdWlja1Rp
bWVQbHVnaW5SZXBsYWNlbWVudEVuYWJsZWQoYm9vbCBlbmFibGVkKQogewogICAgIGlmICghbV9w
YWdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAppbmRleCA2NjJk
OGZlYTI5ODZkOGY0NjAyZTNlZmU0YmM1YjJiMGFmZjc3MzVlLi41ZTRlYmI0M2Y5NjM0MWU1Mzky
MTdmZWIwYTcyNzdjNDJmOWU1OTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
U2V0dGluZ3MuaApAQCAtODYsNiArODYsNyBAQCBwdWJsaWM6CiAgICAgZW51bSBjbGFzcyBGb250
TG9hZFRpbWluZ092ZXJyaWRlIHsgQmxvY2ssIFN3YXAsIEZhaWx1cmUgfTsKICAgICBFeGNlcHRp
b25Pcjx2b2lkPiBzZXRGb250TG9hZFRpbWluZ092ZXJyaWRlKGNvbnN0IEZvbnRMb2FkVGltaW5n
T3ZlcnJpZGUmKTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRTaG91bGRJZ25vcmVGb250TG9h
ZENvbXBsZXRpb25zKGJvb2wpOworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFNob3VsZEFsbG93
RGVzaWduU3lzdGVtVUlGb250cyhib29sKTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRRdWlj
a1RpbWVQbHVnaW5SZXBsYWNlbWVudEVuYWJsZWQoYm9vbCk7CiAgICAgRXhjZXB0aW9uT3I8dm9p
ZD4gc2V0WW91VHViZUZsYXNoUGx1Z2luUmVwbGFjZW1lbnRFbmFibGVkKGJvb2wpOwogICAgIEV4
Y2VwdGlvbk9yPHZvaWQ+IHNldEJhY2tncm91bmRTaG91bGRFeHRlbmRCZXlvbmRQYWdlKGJvb2wp
OwpAQCAtMTg1LDYgKzE4Niw3IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgbV9zaG91bGRDb252
ZXJ0UG9zaXRpb25TdHlsZU9uQ29weTsKICAgICAgICAgYm9vbCBtX2ZvbnRGYWxsYmFja1ByZWZl
cnNQaWN0b2dyYXBoczsKICAgICAgICAgYm9vbCBtX3Nob3VsZElnbm9yZUZvbnRMb2FkQ29tcGxl
dGlvbnM7CisgICAgICAgIGJvb2wgbV9zaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHM7CiAg
ICAgICAgIGJvb2wgbV9iYWNrZ3JvdW5kU2hvdWxkRXh0ZW5kQmV5b25kUGFnZTsKICAgICAgICAg
U2VjdXJpdHlPcmlnaW46OlN0b3JhZ2VCbG9ja2luZ1BvbGljeSBtX3N0b3JhZ2VCbG9ja2luZ1Bv
bGljeTsKICAgICAgICAgYm9vbCBtX3Njcm9sbGluZ1RyZWVJbmNsdWRlc0ZyYW1lczsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCmluZGV4IGU2M2NjNTYwNjJi
M2U4MWEwYjM0N2QwZjljZWViOGJmNDJiZTk4ZDYuLmUzNzlmOGU2NjgxZjU3ODcwZTFhZjk5OTdl
YjFkMzhjNDFlZTAzYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxTZXR0aW5ncy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRp
bmdzLmlkbApAQCAtNDYsNiArNDYsNyBAQCBlbnVtIEZvbnRMb2FkVGltaW5nT3ZlcnJpZGUgeyAi
QmxvY2siLCAiU3dhcCIsICJGYWlsdXJlIiB9OwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9p
ZCBzZXRGb250RmFsbGJhY2tQcmVmZXJzUGljdG9ncmFwaHMoYm9vbGVhbiBwcmVmZXJQaWN0b2dy
YXBocyk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldEZvbnRMb2FkVGltaW5nT3Zl
cnJpZGUoRm9udExvYWRUaW1pbmdPdmVycmlkZSBvdmVycmlkZSk7CiAgICAgW01heVRocm93RXhj
ZXB0aW9uXSB2b2lkIHNldFNob3VsZElnbm9yZUZvbnRMb2FkQ29tcGxldGlvbnMoYm9vbGVhbiBp
Z25vcmUpOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRTaG91bGRBbGxvd0Rlc2ln
blN5c3RlbVVJRm9udHMoYm9vbGVhbiBpZ25vcmUpOwogCiAgICAgW01heVRocm93RXhjZXB0aW9u
XSB2b2lkIHNldFRleHRBdXRvc2l6aW5nRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwogICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlk
ZShsb25nIHdpZHRoLCBsb25nIGhlaWdodCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVy
ZW5jZXMueWFtbAppbmRleCA0MTc0NjgxYWNlN2RkZjVkY2ZkOTQzNGRlZGIyMTI2NDQzMWNlZjk4
Li5kZmY1NTY5ODBhZjZlZTc0NDUwODM3ZTIzMDJjYjQyYjgzOGJmMGIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKQEAgLTExMjYsNiArMTEyNiwxMCBAQCBTaG91
bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250czoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6
IHRydWUKIAorU2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzOgorICB0eXBlOiBib29sCisg
IGRlZmF1bHRWYWx1ZTogZmFsc2UKKwogTWVkaWFDYXBhYmlsaXRpZXNFbmFibGVkOgogICB0eXBl
OiBib29sCiAgIGRlZmF1bHRWYWx1ZTogdHJ1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAppbmRleCBhMDMxNzk4ZGVmYmZkODYwZjFhYWUyOGIy
YjJkNjFjYTVlMjE1NmIwLi40OWI5OGQ2ODYwNzY2YjdhMTAxM2JlYjc2YjkyOTFmNDJiOGFlOTUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2Vz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNw
cApAQCAtMjAxMCw2ICsyMDEwLDE2IEBAIGJvb2wgV0tQcmVmZXJlbmNlc0dldFNob3VsZEFsbG93
VXNlckluc3RhbGxlZEZvbnRzKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSCiAgICAgcmV0
dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRz
KCk7CiB9CiAKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlG
b250cyhXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpCit7CisgICAg
dG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRz
KGZsYWcpOworfQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRTaG91bGRBbGxvd0Rlc2lnblN5c3Rl
bVVJRm9udHMoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAgICByZXR1cm4g
dG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKCk7
Cit9CisKIHZvaWQgV0tQcmVmZXJlbmNlc1NldE1lZGlhQ2FwYWJpbGl0aWVzRW5hYmxlZChXS1By
ZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpCiB7CiAgICAgdG9JbXBs
KHByZWZlcmVuY2VzUmVmKS0+c2V0TWVkaWFDYXBhYmlsaXRpZXNFbmFibGVkKGVuYWJsZWQpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1Jl
ZlByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNS
ZWZQcml2YXRlLmgKaW5kZXggNWMzMzk4Y2IyNzU0ZmNjNGMwNWQ1M2YyNmU5ZDZhMTM3OWJkODUw
Yy4uN2IzMDgzNDgwN2FlNzdiZGNmYTg2MmMyM2YwMTJhOWIxOWM4MDJlYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0
ZS5oCkBAIC01NzEsNiArNTcxLDEwIEBAIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRD
U1NPTVZpZXdTY3JvbGxpbmdBUElFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOwogV0tfRVhQT1JU
IHZvaWQgV0tQcmVmZXJlbmNlc1NldFNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKFdLUHJl
ZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0
U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoV0tQcmVmZXJlbmNlc1JlZik7CiAKKy8vIERl
ZmF1bHRzIHRvIGZhbHNlLgorV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFNob3VsZEFs
bG93RGVzaWduU3lzdGVtVUlGb250cyhXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOworV0tf
RVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250
cyhXS1ByZWZlcmVuY2VzUmVmKTsKKwogLy8gRGVmYXVsdHMgdG8gZmFsc2UuCiBXS19FWFBPUlQg
dm9pZCBXS1ByZWZlcmVuY2VzU2V0QWxsb3dDcm9zc09yaWdpblN1YnJlc291cmNlc1RvQXNrRm9y
Q3JlZGVudGlhbHMoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKIFdLX0VYUE9SVCBib29s
IFdLUHJlZmVyZW5jZXNHZXRBbGxvd0Nyb3NzT3JpZ2luU3VicmVzb3VyY2VzVG9Bc2tGb3JDcmVk
ZW50aWFscyhXS1ByZWZlcmVuY2VzUmVmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMubW0KaW5kZXggZTA2ZjQ3ZTQyMWYwMTdhNWE0Yzdl
MWU2YzcwYTgxMjA4NTUyMWRmOS4uODVjMmFiNzUwZDY1MDk5YzllNjQzZWQwOTBjOTI3ZWJmOTEx
MTU3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJl
ZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJl
ZmVyZW5jZXMubW0KQEAgLTcxMyw2ICs3MTMsMTYgQEAgLSAodm9pZClfc2V0U2hvdWxkQWxsb3dV
c2VySW5zdGFsbGVkRm9udHM6KEJPT0wpX3Nob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzCiAg
ICAgX3ByZWZlcmVuY2VzLT5zZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyhfc2hvdWxk
QWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOwogfQogCistIChCT09MKV9zaG91bGRBbGxvd0Rlc2ln
blN5c3RlbVVJRm9udHMKK3sKKyAgICByZXR1cm4gX3ByZWZlcmVuY2VzLT5zaG91bGRBbGxvd0Rl
c2lnblN5c3RlbVVJRm9udHMoKTsKK30KKworLSAodm9pZClfc2V0U2hvdWxkQWxsb3dEZXNpZ25T
eXN0ZW1VSUZvbnRzOihCT09MKV9zaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMKK3sKKyAg
ICBfcHJlZmVyZW5jZXMtPnNldFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyhfc2hvdWxk
QWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKTsKK30KKwogc3RhdGljIF9XS0VkaXRhYmxlTGlua0Jl
aGF2aW9yIHRvQVBJKFdlYkNvcmU6OkVkaXRhYmxlTGlua0JlaGF2aW9yIGJlaGF2aW9yKQogewog
ICAgIHN3aXRjaCAoYmVoYXZpb3IpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggZWYxODE5MzZjZjEz
N2U2ZTE4NjQ3MTQ4ZjkxNzJlYjkyOTJjOWU4Ni4uMzkwNzQyOGE1MmI2NGQ4ZmFmNzkwOWQ3MjIz
ZDI0ZWEwMDk4ZjRiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKQEAgLTEyNiw2ICsxMjYsNyBAQCB0eXBl
ZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tFZGl0YWJsZUxpbmtCZWhhdmlvcikgewogQHByb3Bl
cnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0RE9NUGFzdGVBbGxvd2VkOikgQk9PTCBfZG9tUGFz
dGVBbGxvd2VkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTMpLCBpb3MoMTEuMCkpOwogCiBA
cHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRG
b250czopIEJPT0wgX3Nob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzIFdLX0FQSV9BVkFJTEFC
TEUobWFjb3MoMTAuMTMuNCksIGlvcygxMS4zKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0
dGVyPV9zZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHM6KSBCT09MIF9zaG91bGRBbGxv
d0Rlc2lnblN5c3RlbVVJRm9udHMgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwg
aW9zKFdLX0lPU19UQkEpKTsKIAogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0RWRp
dGFibGVMaW5rQmVoYXZpb3I6KSBfV0tFZGl0YWJsZUxpbmtCZWhhdmlvciBfZWRpdGFibGVMaW5r
QmVoYXZpb3IgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMy40KSwgaW9zKDExLjMpKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373941</attachid>
            <date>2019-07-11 13:08:14 -0700</date>
            <delta_ts>2019-07-11 15:29:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199653-20190711130813.patch</filename>
            <type>text/plain</type>
            <size>88692</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MzUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDliYjIzY2RmNWI0ODdmNTViZmYyZTU5
YTVhZTMxYTJkOWNjYTZiNDkuLmJmM2Q3NzMxM2EwNzU2ZjA2OTg3YzAxNGVjYTc1MWViZTkwZTM3
ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTktMDctMTEgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBOZXcgWW9yayBlcnJvbmVvdXNseSBnZXRz
IHN5bnRoZXRpYyBib2xkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTk2NTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgorCiAyMDE5LTA3LTEwICBSeWFuIEhhZGRhZCAgPHJ5
YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIy
NDcyODYuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggYTljODZmYzEwMTlhNDNlMmFkNWY3ZGQ1NTdmZGU1MGVjZTU5
Y2MzZi4uNjFmYzc1ZmM0ZjBjMDZiNzJhNWVhOTlhNWJmZTBiYjg5YzkzMzgyNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDkxIEBACisyMDE5LTA3LTExICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhm
aWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgTmV3IFlvcmsgZXJyb25lb3VzbHkgZ2V0cyBzeW50
aGV0aWMgYm9sZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk5NjUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQgZm9yIC1hcHBsZS1zeXN0ZW0tdWktc2VyaWYsIC1h
cHBsZS1zeXN0ZW0tdWktbW9ub3NwYWNlZCwKKyAgICAgICAgYW5kIC1hcHBsZS1zeXN0ZW0tdWkt
cm91bmRlZCwgYmVoaW5kIGFuIFNQSSB0aGF0IGlzIG9mZi1ieS1kZWZhdWx0LiBXZSBkb24ndCB3
YW50CisgICAgICAgIHRvIGV4cG9zZSB0aGVzZSBmb250cyB0byB0aGUgd2ViIGJlY2F1c2Ugd2Ug
ZG9uJ3QgYSBzdGFuZGFyZGl6YXRpb24gc3RvcnkgZm9yIHRoZW0KKyAgICAgICAgeWV0LCBidXQg
d2UgZG8gd2FudCBzb21lIGFwcHMgdG8gYmUgYWJsZSB0byB1c2UgdGhlbS4KKworICAgICAgICBX
ZWJLaXQgY2xpZW50cyB3aG8gd2FudCB0byB1c2UgdGhlc2UgZm9udHMgY2FuIGNhbGwKKyAgICAg
ICAgV0tQcmVmZXJlbmNlc1NldFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyh0cnVlKQor
ICAgICAgICBvciAtW1dLUHJlZmVyZW5jZXMgX3Nob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250
c10gPSBZRVMuCisKKyAgICAgICAgVGhlIHBhdGNoIGdlbmVyYWxpemVzIG91ciBleGlzdGluZyBz
eXN0ZW0tdWkgaW5mcmFzdHJ1Y3R1cmUgdG8gaGFuZGxlIHRoZXNlIHRocmVlCisgICAgICAgIGFk
ZGl0aW9uYWwgZm9udHMuIEl0IGFsc28gZXhwbGljaXRseSBkaXNhYmxlcyB0aGUgdW5zdXBwb3J0
ZWQgZG90LXByZWZpeGVkIG5hbWVzCisgICAgICAgIHNvIHRoZXkgZG9uJ3QgbGVhayBvdXQgaW50
byBXZWIgY29udGVudC4KKworICAgICAgICBUZXN0czogZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0t
dWktMTAuaHRtbAorICAgICAgICAgICAgICAgZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTEu
aHRtbAorICAgICAgICAgICAgICAgZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTIuaHRtbAor
ICAgICAgICAgICAgICAgZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTMuaHRtbAorICAgICAg
ICAgICAgICAgZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTQuaHRtbAorICAgICAgICAgICAg
ICAgZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTUuaHRtbAorICAgICAgICAgICAgICAgZmFz
dC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTYuaHRtbAorICAgICAgICAgICAgICAgZmFzdC90ZXh0
L2Rlc2lnbi1zeXN0ZW0tdWktMi5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQvZGVzaWdu
LXN5c3RlbS11aS0zLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVt
LXVpLTQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktNS5o
dG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS02Lmh0bWwKKyAg
ICAgICAgICAgICAgIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTcuaHRtbAorICAgICAgICAg
ICAgICAgZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktOC5odG1sCisgICAgICAgICAgICAgICBm
YXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS05Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4
dC9kZXNpZ24tc3lzdGVtLXVpLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NGb250RmFjZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250RmFjZTo6c2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1V
SUZvbnRzIGNvbnN0KToKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2UuaDoKKyAgICAgICAgKiBj
c3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZhY2VT
b3VyY2U6OmxvYWQpOgorICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OmluaXRpYWxpemVGb250U3R5bGUpOgorICAgICAgICAq
IHBhZ2UvU2V0dGluZ3MueWFtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250RGVz
Y3JpcHRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6bV9zaG91bGRBbGxvd0Rlc2lnblN5c3Rl
bVVJRm9udHMpOgorICAgICAgICAoV2ViQ29yZTo6bV9zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRG
b250cyk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERlc2NyaXB0
aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpGb250RGVzY3JpcHRpb246OnNob3VsZEFsbG93RGVz
aWduU3lzdGVtVUlGb250cyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250RGVzY3JpcHRp
b246OnNldFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyk6CisgICAgICAgIChXZWJDb3Jl
OjpGb250RGVzY3JpcHRpb246Om9wZXJhdG9yPT0gY29uc3QpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OnBsYXRmb3JtRm9udExvb2t1cFdpdGhGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6Zm9udFdp
dGhGYW1pbHkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNv
cmVUZXh0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udERlc2NyaXB0
aW9uQ29jb2EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c3lzdGVtRm9udFVzZSk6CisgICAgICAg
IChXZWJDb3JlOjpzeXN0ZW1Gb250Q2FzY2FkZUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9u
dENhc2NhZGVEZXNjcmlwdGlvbjo6ZWZmZWN0aXZlRmFtaWx5Q291bnQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udENhc2NhZGVEZXNjcmlwdGlvbjo6ZWZmZWN0aXZlRmFtaWx5QXQgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6aXNTeXN0ZW1Gb250U3RyaW5nKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OmlzVUlGb250VGV4dFN0eWxlKTogRGVsZXRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW06CisgICAgICAg
IChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpjdEZvbnQgY29uc3QpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL1N5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpjcmVhdGVTeXN0ZW1V
SSk6CisgICAgICAgIChXZWJDb3JlOjpTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6Y3JlYXRl
RGVzaWduU3lzdGVtVUkpOgorICAgICAgICAoV2ViQ29yZTo6U3lzdGVtRm9udERhdGFiYXNlQ29y
ZVRleHQ6OmNyZWF0ZVRleHRTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpTeXN0ZW1Gb250RGF0
YWJhc2VDb3JlVGV4dDo6Y2FzY2FkZUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6U3lzdGVtRm9u
dERhdGFiYXNlQ29yZVRleHQ6OmFwcGx5V2VpZ2h0SXRhbGljc0FuZEZhbGxiYWNrQmVoYXZpb3Ip
OgorICAgICAgICAoV2ViQ29yZTo6U3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OnN5c3RlbUZv
bnRQYXJhbWV0ZXJzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9TeXN0ZW1G
b250RGF0YWJhc2VDb3JlVGV4dC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2lvcy9G
b250Q2FjaGVJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpwbGF0Zm9ybUZvbnRXaXRoRmFtaWx5
U3BlY2lhbENhc2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q2FjaGVN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpwbGF0Zm9ybUZvbnRXaXRoRmFtaWx5U3BlY2lhbENh
c2UpOgorICAgICAgICAqIHN0eWxlL1N0eWxlUmVzb2x2ZUZvckRvY3VtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlN0eWxlOjpyZXNvbHZlRm9yRG9jdW1lbnQpOgorICAgICAgICAqIHN2Zy9n
cmFwaGljcy9TVkdJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdJbWFnZTo6ZGF0YUNo
YW5nZWQpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1cCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OnJlc3RvcmVUbyk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9u
dHMpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oOgorICAgICAgICAqIHRl
c3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGw6CisKIDIwMTktMDctMTEgIFphbGFuIEJ1anRhcyAg
PHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIENsZWFudXAgSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQ6OkxpbmVMYXlvdXQgY2xhc3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBh
NjI3N2Y2YTVhMTVkMDIwYmU5NDgzYjAzODhmMjA4Nzc5ZDk1ZDMwLi4xOGFkZmZhN2JkNzQ4MTU4
YmQwZTRmYWNkNWQ2NGEzN2IyYWZlN2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MiBAQAorMjAxOS0wNy0xMSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29t
PgorCisgICAgICAgIE5ldyBZb3JrIGVycm9uZW91c2x5IGdldHMgc3ludGhldGljIGJvbGQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTY1MworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFsL3NwaS9j
b2NvYS9Db3JlVGV4dFNQSS5oOgorCiAyMDE5LTA3LTEwICBBbGV4IENocmlzdGVuc2VuICA8YWNo
cmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWxsb3cgQ01ha2UgdG8gYnVpbGQgV2Vi
Q29yZSBvbiBNYWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYTM3NmI2OWU3OTBkODNiYzJiOTQ5ODE5ZjBjNzgwMzg4
ZThjNTJkZC4uMjU4M2YzYjM4MWVhMzc3MTZlMWFiZjEwNjk3MmE1YzY4NzYxM2FmMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMiBAQAorMjAxOS0wNy0xMSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4
ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIE5ldyBZb3JrIGVycm9uZW91c2x5IGdldHMgc3lu
dGhldGljIGJvbGQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5OTY1MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCB0aGUgU1BJIHRvIGVuYWJsZSB0aGUgbmV3IGZvbnRzLgorCisgICAgICAgICogU2hh
cmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJl
ZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVmZXJlbmNlc1NldFNob3VsZEFsbG93RGVzaWdu
U3lzdGVtVUlGb250cyk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0U2hvdWxkQWxsb3dEZXNp
Z25TeXN0ZW1VSUZvbnRzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNl
c1JlZlByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5j
ZXMubW06CisgICAgICAgICgtW1dLUHJlZmVyZW5jZXMgX3Nob3VsZEFsbG93RGVzaWduU3lzdGVt
VUlGb250c10pOgorICAgICAgICAoLVtXS1ByZWZlcmVuY2VzIF9zZXRTaG91bGRBbGxvd0Rlc2ln
blN5c3RlbVVJRm9udHM6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZl
cmVuY2VzUHJpdmF0ZS5oOgorCiAyMDE5LTA3LTExICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNp
ZWhAYXBwbGUuY29tPgogCiAgICAgICAgIE1vYmlsZVNhZmFyaSBtYXkgY3Jhc2ggdW5kZXIgLVtV
SUtleWJvYXJkVGFza0V4ZWN1dGlvbkNvbnRleHQgdHJhbnNmZXJFeGVjdXRpb25Ub01haW5UaHJl
YWRXaXRoVGFzazpdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291
cmNlL1dURi93dGYvUGxhdGZvcm0uaAppbmRleCBiNmNmNmJjZGQ0NDc3ODAxNGI2NTcxYjk5NWJh
N2JjZDMwOWY2MjBlLi5kZTZhNGZiODM0OGEyZTAwYjQwZDEwYjJmYjNiNTY3ZjRhNmRmMWI2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtLmgKQEAgLTE1OTQsMyArMTU5NCw3IEBACiAjaWYgUExBVEZPUk0oTUFDKSAmJiBf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMAogI2RlZmluZSBIQVZFX1NV
QlZJRVdTX0lWQVJfU1BJIDEKICNlbmRpZgorCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IChQTEFURk9STShJT1MpICYm
IF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkgfHwgKFBMQVRGT1JN
KFdBVENIT1MpICYmIF9fV0FUQ0hfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gNjAwMDApIHx8
IChQTEFURk9STShBUFBMRVRWKSAmJiBfX1RWX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEz
MDAwMCkKKyNkZWZpbmUgSEFWRV9ERVNJR05fU1lTVEVNX1VJX0ZPTlRTIDEKKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaCBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgKaW5kZXggZDYy
YmIyNWQwMTMwMTdmOWNiZWY4ZDgzMzc2NzMzYWFhNmQxMmMzOC4uMWIxMTBiZjJiODgxYzkwNmFh
ZThhYTA5ODhlZjI5NTg1ODFlMWE4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3Nw
aS9jb2NvYS9Db3JlVGV4dFNQSS5oCkBAIC0xMTEsNiArMTExLDExIEBAIGV4dGVybiBjb25zdCBD
RlN0cmluZ1JlZiBrQ1RGb250Q1NTV2lkdGhBdHRyaWJ1dGU7CiBleHRlcm4gY29uc3QgQ0ZTdHJp
bmdSZWYga0NURm9udERlc2NyaXB0b3JUZXh0U3R5bGVBdHRyaWJ1dGU7CiBleHRlcm4gY29uc3Qg
Q0ZTdHJpbmdSZWYga0NURm9udFVJRm9udERlc2lnblRyYWl0OwogCitleHRlcm4gY29uc3QgQ0ZT
dHJpbmdSZWYga0NURm9udFVJRm9udERlc2lnbkRlZmF1bHQ7CitleHRlcm4gY29uc3QgQ0ZTdHJp
bmdSZWYga0NURm9udFVJRm9udERlc2lnblNlcmlmOworZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVm
IGtDVEZvbnRVSUZvbnREZXNpZ25Nb25vc3BhY2VkOworZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVm
IGtDVEZvbnRVSUZvbnREZXNpZ25Sb3VuZGVkOworCiBleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYg
a0NURnJhbWVNYXhpbXVtTnVtYmVyT2ZMaW5lc0F0dHJpYnV0ZU5hbWU7CiAKIGJvb2wgQ1RGb250
RGVzY3JpcHRvcklzU3lzdGVtVUlGb250KENURm9udERlc2NyaXB0b3JSZWYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250RmFjZS5jcHAKaW5kZXggNzM3N2FkYmE5MjlmZWI1N2I1YjM3ZTk4MjYwZjI5ZTg1
MzVjY2Q1Yi4uNzcwOWI1ZGVhZmJmZTlmOWFiMTFhYzA3N2M2MTlkNzk0ZDE2NDJmMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwCkBAIC01OTQsNiArNTk0LDEzIEBAIEFsbG93VXNlcklu
c3RhbGxlZEZvbnRzIENTU0ZvbnRGYWNlOjphbGxvd1VzZXJJbnN0YWxsZWRGb250cygpIGNvbnN0
CiAgICAgcmV0dXJuIEFsbG93VXNlckluc3RhbGxlZEZvbnRzOjpZZXM7CiB9CiAKK2Jvb2wgQ1NT
Rm9udEZhY2U6OnNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cygpIGNvbnN0Cit7CisgICAg
aWYgKG1fZm9udFNlbGVjdG9yICYmIG1fZm9udFNlbGVjdG9yLT5kb2N1bWVudCgpKQorICAgICAg
ICByZXR1cm4gbV9mb250U2VsZWN0b3ItPmRvY3VtZW50KCktPnNldHRpbmdzKCkuc2hvdWxkQWxs
b3dEZXNpZ25TeXN0ZW1VSUZvbnRzKCk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiBzdGF0aWMg
U2V0dGluZ3M6OkZvbnRMb2FkVGltaW5nT3ZlcnJpZGUgZm9udExvYWRUaW1pbmdPdmVycmlkZShD
U1NGb250U2VsZWN0b3IqIGZvbnRTZWxlY3RvcikKIHsKICAgICBhdXRvIG92ZXJyaWRlVmFsdWUg
PSBTZXR0aW5nczo6Rm9udExvYWRUaW1pbmdPdmVycmlkZTo6Tm9uZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Zv
bnRGYWNlLmgKaW5kZXggYTM5YTkyNmZmOGIzYjc2NTAyODYwNTQxOWJkZDBlOGM3ZDdlNWIxOC4u
Njc2ZmJhODUzMmY2MGE4YzVjZDRiNzUyNDBjZWI5YmQ5MzZjOGIzZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ZvbnRGYWNlLmgKQEAgLTE2Miw2ICsxNjIsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBwdXJnZWFi
bGUoKSBjb25zdDsKIAogICAgIEFsbG93VXNlckluc3RhbGxlZEZvbnRzIGFsbG93VXNlckluc3Rh
bGxlZEZvbnRzKCkgY29uc3Q7CisgICAgYm9vbCBzaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9u
dHMoKSBjb25zdDsKIAogICAgIHZvaWQgdXBkYXRlU3R5bGVJZk5lZWRlZCgpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNwcAppbmRleCAzMGJlN2Y0MDgyOGFkNWE2MWQy
YTZjZWM0ZmQyODFlNmExOGM3OWUzLi4wMGZkMTYwYmI1NzliMjdjYzgxNWEwM2NmZWNkYzM3YmU3
MmZlMmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNvdXJjZS5jcHAKQEAgLTE4
Myw2ICsxODMsNyBAQCB2b2lkIENTU0ZvbnRGYWNlU291cmNlOjpsb2FkKENTU0ZvbnRTZWxlY3Rv
ciogZm9udFNlbGVjdG9yKQogICAgICAgICAgICAgZm9udERlc2NyaXB0aW9uLnNldE9uZUZhbWls
eShtX2ZhbWlseU5hbWVPclVSSSk7CiAgICAgICAgICAgICBmb250RGVzY3JpcHRpb24uc2V0Q29t
cHV0ZWRTaXplKDEpOwogICAgICAgICAgICAgZm9udERlc2NyaXB0aW9uLnNldFNob3VsZEFsbG93
VXNlckluc3RhbGxlZEZvbnRzKG1fZmFjZS5hbGxvd1VzZXJJbnN0YWxsZWRGb250cygpKTsKKyAg
ICAgICAgICAgIGZvbnREZXNjcmlwdGlvbi5zZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9u
dHMobV9mYWNlLnNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cygpKTsKICAgICAgICAgICAg
IHN1Y2Nlc3MgPSBGb250Q2FjaGU6OnNpbmdsZXRvbigpLmZvbnRGb3JGYW1pbHkoZm9udERlc2Ny
aXB0aW9uLCBtX2ZhbWlseU5hbWVPclVSSSwgbnVsbHB0ciwgbnVsbHB0ciwgRm9udFNlbGVjdGlv
blNwZWNpZmllZENhcGFiaWxpdGllcygpLCB0cnVlKTsKICAgICAgICAgICAgIGlmIChSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYkFQSVN0YXRpc3RpY3NFbmFibGVk
KCkpIHsKICAgICAgICAgICAgICAgICBpZiAoYXV0byogZG9jdW1lbnQgPSBmb250U2VsZWN0b3It
PmRvY3VtZW50KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKaW5kZXggNTZkODcy
NzExYmMxNDE1MGQ2NjAzMGViZTNmZjM0MTU4OTQ5OGI0Zi4uODkwMWFiMDgwYmRlN2ExYzhlNzIx
MjIwZWZhZjdlNzdlNDdiN2QzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcApA
QCAtMTkzNiw2ICsxOTM2LDcgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjppbml0aWFsaXplRm9udFN0
eWxlKCkKICAgICBmb250RGVzY3JpcHRpb24uc2V0S2V5d29yZFNpemVGcm9tSWRlbnRpZmllcihD
U1NWYWx1ZU1lZGl1bSk7CiAgICAgc2V0Rm9udFNpemUoZm9udERlc2NyaXB0aW9uLCBTdHlsZTo6
Zm9udFNpemVGb3JLZXl3b3JkKENTU1ZhbHVlTWVkaXVtLCBmYWxzZSwgZG9jdW1lbnQoKSkpOwog
ICAgIGZvbnREZXNjcmlwdGlvbi5zZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyhzZXR0
aW5ncygpLnNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKCkgPyBBbGxvd1VzZXJJbnN0YWxs
ZWRGb250czo6WWVzIDogQWxsb3dVc2VySW5zdGFsbGVkRm9udHM6Ok5vKTsKKyAgICBmb250RGVz
Y3JpcHRpb24uc2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKHNldHRpbmdzKCkuc2hv
dWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKCkpOwogICAgIHNldEZvbnREZXNjcmlwdGlvbihX
VEZNb3ZlKGZvbnREZXNjcmlwdGlvbikpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLnlhbWwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwK
aW5kZXggZTIyZDhkNGUyOTAyM2U4MmEwY2EwNDdjMWQ2ZjU1ZTg0ZDQyZDhhMy4uOGE3NDE0Nzg3
Y2MzMGYzMDBiMWViNjE0MDc1NWIxMmNhMGJhZTNkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy55YW1sCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
eWFtbApAQCAtNzM4LDYgKzczOCwxMCBAQCBzaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250czoK
ICAgaW5pdGlhbDogdHJ1ZQogICBvbkNoYW5nZTogc2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJh
bWVzCiAKK3Nob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250czoKKyAgaW5pdGlhbDogZmFsc2UK
KyAgb25DaGFuZ2U6IHNldE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcworCiByZXNpemVPYnNl
cnZlckVuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCiAgIGNvbmRpdGlvbmFsOiBSRVNJWkVfT0JT
RVJWRVIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRE
ZXNjcmlwdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGVz
Y3JpcHRpb24uY3BwCmluZGV4IDhhOTI0ZjlhNjUwYzQ0ZDdlZjA1ODc5YWQzZmU1MTc1ZTJmZDA4
OTYuLjEzMjE2MmMwNmIxYmVlNTE5NmE4ZmVlNjcwMGEyMjI0MTFjYmJjNjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREZXNjcmlwdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERlc2NyaXB0aW9uLmNwcApA
QCAtNjIsNiArNjIsNyBAQCBGb250RGVzY3JpcHRpb246OkZvbnREZXNjcmlwdGlvbigpCiAgICAg
LCBtX29wdGljYWxTaXppbmcoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEZvbnRPcHRpY2FsU2l6aW5n
OjpFbmFibGVkKSkKICAgICAsIG1fZm9udFN0eWxlQXhpcyhGb250Q2FzY2FkZURlc2NyaXB0aW9u
Ojppbml0aWFsRm9udFN0eWxlQXhpcygpID09IEZvbnRTdHlsZUF4aXM6Oml0YWwpCiAgICAgLCBt
X3Nob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKHN0YXRpY19jYXN0PHVuc2lnbmVkPihBbGxv
d1VzZXJJbnN0YWxsZWRGb250czo6Tm8pKQorICAgICwgbV9zaG91bGRBbGxvd0Rlc2lnblN5c3Rl
bVVJRm9udHMoZmFsc2UpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnREZXNjcmlwdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udERlc2NyaXB0aW9uLmgKaW5kZXggMThmMWRlMTg3ZjUxZjFjYzdjN2NhMDhm
OWE4ODE5M2RiODI3NDU2Ny4uMjFkZTIzODQwZGRmOTlmYzNjNjIzNTBkYzU0MjFmNTk5Y2U1MTYy
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERlc2Ny
aXB0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERlc2Ny
aXB0aW9uLmgKQEAgLTk3LDYgKzk3LDcgQEAgcHVibGljOgogICAgIEZvbnRPcHRpY2FsU2l6aW5n
IG9wdGljYWxTaXppbmcoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxGb250T3B0aWNhbFNp
emluZz4obV9vcHRpY2FsU2l6aW5nKTsgfQogICAgIEZvbnRTdHlsZUF4aXMgZm9udFN0eWxlQXhp
cygpIGNvbnN0IHsgcmV0dXJuIG1fZm9udFN0eWxlQXhpcyA/IEZvbnRTdHlsZUF4aXM6Oml0YWwg
OiBGb250U3R5bGVBeGlzOjpzbG50OyB9CiAgICAgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMgc2hv
dWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxB
bGxvd1VzZXJJbnN0YWxsZWRGb250cz4obV9zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyk7
IH0KKyAgICBib29sIHNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cygpIGNvbnN0IHsgcmV0
dXJuIG1fc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzOyB9CiAKICAgICB2b2lkIHNldENv
bXB1dGVkU2l6ZShmbG9hdCBzKSB7IG1fY29tcHV0ZWRTaXplID0gY2xhbXBUb0Zsb2F0KHMpOyB9
CiAgICAgdm9pZCBzZXRJdGFsaWMoT3B0aW9uYWw8Rm9udFNlbGVjdGlvblZhbHVlPiBpdGFsaWMp
IHsgbV9mb250U2VsZWN0aW9uUmVxdWVzdC5zbG9wZSA9IGl0YWxpYzsgfQpAQCAtMTMyLDYgKzEz
Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldE9wdGljYWxTaXppbmcoRm9udE9wdGljYWxTaXpp
bmcgc2l6aW5nKSB7IG1fb3B0aWNhbFNpemluZyA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihzaXpp
bmcpOyB9CiAgICAgdm9pZCBzZXRGb250U3R5bGVBeGlzKEZvbnRTdHlsZUF4aXMgYXhpcykgeyBt
X2ZvbnRTdHlsZUF4aXMgPSBheGlzID09IEZvbnRTdHlsZUF4aXM6Oml0YWw7IH0KICAgICB2b2lk
IHNldFNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKEFsbG93VXNlckluc3RhbGxlZEZvbnRz
IHNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKSB7IG1fc2hvdWxkQWxsb3dVc2VySW5zdGFs
bGVkRm9udHMgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVk
Rm9udHMpOyB9CisgICAgdm9pZCBzZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMoYm9v
bCBhbGxvdykgeyBtX3Nob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyA9IGFsbG93OyB9CiAK
ICAgICBzdGF0aWMgQXRvbVN0cmluZyBwbGF0Zm9ybVJlc29sdmVHZW5lcmljRmFtaWx5KFVTY3Jp
cHRDb2RlLCBjb25zdCBBdG9tU3RyaW5nJiBsb2NhbGUsIGNvbnN0IEF0b21TdHJpbmcmIGZhbWls
eU5hbWUpOwogCkBAIC0xNjgsNiArMTcwLDcgQEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX29w
dGljYWxTaXppbmcgOiAxOyAvLyBGb250T3B0aWNhbFNpemluZwogICAgIHVuc2lnbmVkIG1fZm9u
dFN0eWxlQXhpcyA6IDE7IC8vIFdoZXRoZXIgImZvbnQtc3R5bGU6IGl0YWxpYyIgb3IgImZvbnQt
c3R5bGU6IG9ibGlxdWUgMjBkZWciIHdhcyBzcGVjaWZpZWQKICAgICB1bnNpZ25lZCBtX3Nob3Vs
ZEFsbG93VXNlckluc3RhbGxlZEZvbnRzIDogMTsgLy8gQWxsb3dVc2VySW5zdGFsbGVkRm9udHM6
IElmIHRoaXMgZGVzY3JpcHRpb24gaXMgYWxsb3dlZCB0byBtYXRjaCBhIHVzZXItaW5zdGFsbGVk
IGZvbnQKKyAgICB1bnNpZ25lZCBtX3Nob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyA6IDE7
IC8vIFdoZXRoZXIgLWFwcGxlLXN5c3RlbS11aS1zZXJpZiwgLWFwcGxlLXN5c3RlbS11aS1tb25v
c3BhY2VkLCBhbmQgLWFwcGxlLXN5c3RlbS11aS1yb3VuZGVkIGFyZSBzdXBwb3J0ZWQKIH07CiAK
IGlubGluZSBib29sIEZvbnREZXNjcmlwdGlvbjo6b3BlcmF0b3I9PShjb25zdCBGb250RGVzY3Jp
cHRpb24mIG90aGVyKSBjb25zdApAQCAtMjAyLDcgKzIwNSw4IEBAIGlubGluZSBib29sIEZvbnRE
ZXNjcmlwdGlvbjo6b3BlcmF0b3I9PShjb25zdCBGb250RGVzY3JpcHRpb24mIG90aGVyKSBjb25z
dAogICAgICAgICAmJiBtX3ZhcmlhbnRFYXN0QXNpYW5SdWJ5ID09IG90aGVyLm1fdmFyaWFudEVh
c3RBc2lhblJ1YnkKICAgICAgICAgJiYgbV9vcHRpY2FsU2l6aW5nID09IG90aGVyLm1fb3B0aWNh
bFNpemluZwogICAgICAgICAmJiBtX2ZvbnRTdHlsZUF4aXMgPT0gb3RoZXIubV9mb250U3R5bGVB
eGlzCi0gICAgICAgICYmIG1fc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMgPT0gb3RoZXIu
bV9zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250czsKKyAgICAgICAgJiYgbV9zaG91bGRBbGxv
d1VzZXJJbnN0YWxsZWRGb250cyA9PSBvdGhlci5tX3Nob3VsZEFsbG93VXNlckluc3RhbGxlZEZv
bnRzCisgICAgICAgICYmIG1fc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzID09IG90aGVy
Lm1fc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzOwogfQogCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3Jl
VGV4dC5jcHAKaW5kZXggNDgyMTE4NmQ3YTdhYWViODdhNWZkNDc0NTA0OTY1ZjE1ZWNmNmEyZS4u
NTRkOGYzYjU0NDY5OTZmNTkzYmRkZTFiNmRjNmNkN2I1OTdlNTYzYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNv
cmVUZXh0LmNwcApAQCAtMTE4MSw2ICsxMTgxLDE1IEBAIHN0YXRpYyBGb250TG9va3VwIHBsYXRm
b3JtRm9udExvb2t1cFdpdGhGYW1pbHkoY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBGb250U2Vs
CiAgICAgaWYgKCFpc1N5c3RlbUZvbnQoZmFtaWx5KSAmJiB3aGl0ZWxpc3Quc2l6ZSgpICYmICF3
aGl0ZWxpc3QuY29udGFpbnMoZmFtaWx5KSkKICAgICAgICAgcmV0dXJuIHsgbnVsbHB0ciB9Owog
CisgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGZhbWlseSwgIi5hcHBsZXN5
c3RlbXVpZm9udHNlcmlmIikKKyAgICAgICAgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNh
c2UoZmFtaWx5LCAiLnNmIG5zIG1vbm8iKQorICAgICAgICB8fCBlcXVhbExldHRlcnNJZ25vcmlu
Z0FTQ0lJQ2FzZShmYW1pbHksICIuc2YgdWkgbW9ubyIpCisgICAgICAgIHx8IGVxdWFsTGV0dGVy
c0lnbm9yaW5nQVNDSUlDYXNlKGZhbWlseSwgIi5hcHBsZXN5c3RlbXVpZm9udHJvdW5kZWQiKSkg
eworICAgICAgICAvLyBJZiB5b3Ugd2FudCB0byB1c2UgdGhlc2UgZm9udHMsIHNldCB0aGUgc2hv
dWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzIFNldHRpbmcgYW5kIHVzZQorICAgICAgICAvLyAt
YXBwbGUtc3lzdGVtLXVpLXNlcmlmLCAtYXBwbGUtc3lzdGVtLXVpLW1vbm9zcGFjZWQsIGFuZCAt
YXBwbGUtc3lzdGVtLXVpLXJvdW5kZWQuCisgICAgICAgIHJldHVybiB7IG51bGxwdHIgfTsKKyAg
ICB9CisKICAgICBhdXRvJiBmb250RGF0YWJhc2UgPSBhbGxvd1VzZXJJbnN0YWxsZWRGb250cyA9
PSBBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6WWVzID8gRm9udERhdGFiYXNlOjpzaW5nbGV0b25B
bGxvd2luZ1VzZXJJbnN0YWxsZWRGb250cygpIDogRm9udERhdGFiYXNlOjpzaW5nbGV0b25EaXNh
bGxvd2luZ1VzZXJJbnN0YWxsZWRGb250cygpOwogICAgIGNvbnN0IGF1dG8mIGZhbWlseUZvbnRz
ID0gZm9udERhdGFiYXNlLmNvbGxlY3Rpb25Gb3JGYW1pbHkoZmFtaWx5LnN0cmluZygpKTsKICAg
ICBpZiAoZmFtaWx5Rm9udHMuaXNFbXB0eSgpKSB7CkBAIC0xMjQzLDExICsxMjUyLDEwIEBAIHN0
YXRpYyBSZXRhaW5QdHI8Q1RGb250UmVmPiBmb250V2l0aEZhbWlseShjb25zdCBBdG9tU3RyaW5n
JiBmYW1pbHksIGNvbnN0IEZvbnRECiAgICAgaWYgKGZhbWlseS5pc0VtcHR5KCkpCiAgICAgICAg
IHJldHVybiBudWxscHRyOwogCi0gICAgY29uc3QgYXV0byYgcmVxdWVzdCA9IGZvbnREZXNjcmlw
dGlvbi5mb250U2VsZWN0aW9uUmVxdWVzdCgpOwogICAgIEZvbnRMb29rdXAgZm9udExvb2t1cDsK
LSAgICBmb250TG9va3VwLnJlc3VsdCA9IHBsYXRmb3JtRm9udFdpdGhGYW1pbHlTcGVjaWFsQ2Fz
ZShmYW1pbHksIHJlcXVlc3QsIHNpemUsIGZvbnREZXNjcmlwdGlvbi5zaG91bGRBbGxvd1VzZXJJ
bnN0YWxsZWRGb250cygpKTsKKyAgICBmb250TG9va3VwLnJlc3VsdCA9IHBsYXRmb3JtRm9udFdp
dGhGYW1pbHlTcGVjaWFsQ2FzZShmYW1pbHksIGZvbnREZXNjcmlwdGlvbiwgc2l6ZSwgZm9udERl
c2NyaXB0aW9uLnNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKCkpOwogICAgIGlmICghZm9u
dExvb2t1cC5yZXN1bHQpCi0gICAgICAgIGZvbnRMb29rdXAgPSBwbGF0Zm9ybUZvbnRMb29rdXBX
aXRoRmFtaWx5KGZhbWlseSwgcmVxdWVzdCwgc2l6ZSwgZm9udERlc2NyaXB0aW9uLnNob3VsZEFs
bG93VXNlckluc3RhbGxlZEZvbnRzKCkpOworICAgICAgICBmb250TG9va3VwID0gcGxhdGZvcm1G
b250TG9va3VwV2l0aEZhbWlseShmYW1pbHksIGZvbnREZXNjcmlwdGlvbi5mb250U2VsZWN0aW9u
UmVxdWVzdCgpLCBzaXplLCBmb250RGVzY3JpcHRpb24uc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVk
Rm9udHMoKSk7CiAgICAgcmV0dXJuIHByZXBhcmVQbGF0Zm9ybUZvbnQoZm9udExvb2t1cC5yZXN1
bHQuZ2V0KCksIGZvbnREZXNjcmlwdGlvbiwgZm9udEZhY2VGZWF0dXJlcywgZm9udEZhY2VWYXJp
YW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCAhZm9udExvb2t1cC5jcmVhdGVkRnJv
bVBvc3RTY3JpcHROYW1lKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmgKaW5kZXggYjdhODA2NjEx
Zjc3OGJkMTM2ZDhiZjBkZDhhODRlYjU4Y2QwMjM0Ni4uNGUzN2UzNzM0ZDAxYzRkZmZlNGIxYzZk
N2Q1NjY2N2Y1NDYwN2ZhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5oCkBAIC01Miw3ICs1Miw3IEBA
IHN0cnVjdCBTeW50aGVzaXNQYWlyIHsKIAogUmV0YWluUHRyPENURm9udFJlZj4gcHJlcGFyZVBs
YXRmb3JtRm9udChDVEZvbnRSZWYsIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0IEZvbnRG
ZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50U2V0dGlu
Z3MqIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJp
bGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBib29sIGFwcGx5V2VpZ2h0V2lkdGhTbG9wZVZh
cmlhdGlvbnMgPSB0cnVlKTsKIFN5bnRoZXNpc1BhaXIgY29tcHV0ZU5lY2Vzc2FyeVN5bnRoZXNp
cyhDVEZvbnRSZWYsIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGJvb2wgaXNQbGF0Zm9ybUZvbnQg
PSBmYWxzZSk7Ci1SZXRhaW5QdHI8Q1RGb250UmVmPiBwbGF0Zm9ybUZvbnRXaXRoRmFtaWx5U3Bl
Y2lhbENhc2UoY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBGb250U2VsZWN0aW9uUmVxdWVzdCwg
ZmxvYXQgc2l6ZSwgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOworUmV0YWluUHRyPENURm9udFJl
Zj4gcGxhdGZvcm1Gb250V2l0aEZhbWlseVNwZWNpYWxDYXNlKGNvbnN0IEF0b21TdHJpbmcmIGZh
bWlseSwgY29uc3QgRm9udERlc2NyaXB0aW9uJiwgZmxvYXQgc2l6ZSwgQWxsb3dVc2VySW5zdGFs
bGVkRm9udHMpOwogUmV0YWluUHRyPENURm9udFJlZj4gcGxhdGZvcm1Gb250V2l0aEZhbWlseShj
b25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIEZvbnRTZWxlY3Rpb25SZXF1ZXN0LCBUZXh0UmVuZGVy
aW5nTW9kZSwgZmxvYXQgc2l6ZSk7CiBib29sIHJlcXVpcmVzQ3VzdG9tRmFsbGJhY2tGb250KFVD
aGFyMzIgY2hhcmFjdGVyKTsKIEZvbnRTZWxlY3Rpb25DYXBhYmlsaXRpZXMgY2FwYWJpbGl0aWVz
Rm9yRm9udERlc2NyaXB0b3IoQ1RGb250RGVzY3JpcHRvclJlZik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250RGVzY3JpcHRpb25Db2NvYS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250RGVzY3JpcHRp
b25Db2NvYS5jcHAKaW5kZXggMTljNzYzNjAxNjVhNGJiYmU4Yjk1OGU5MzZiMjczZjhhMTE0YjVi
Zi4uYTk2MGFhODJlZTU1NjAyZDU2MjAxMzhjN2FkYTQwMTQ5OGM0Y2I1YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udERlc2NyaXB0aW9uQ29j
b2EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRE
ZXNjcmlwdGlvbkNvY29hLmNwcApAQCAtMjQsNyArMjQsNyBAQAogICovCiAKICNpbmNsdWRlICJj
b25maWcuaCIKLSNpbmNsdWRlICJGb250RGVzY3JpcHRpb24uaCIKKyNpbmNsdWRlICJGb250Q2Fz
Y2FkZURlc2NyaXB0aW9uLmgiCiAKICNpbmNsdWRlICJTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4
dC5oIgogI2luY2x1ZGUgPG11dGV4PgpAQCAtMzQsMTQgKzM0LDYgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiAjaWYgVVNFX1BMQVRGT1JNX1NZU1RFTV9GQUxMQkFDS19MSVNUCiAKLXN0YXRpYyBp
bmxpbmUgYm9vbCBpc1N5c3RlbUZvbnRTdHJpbmcoY29uc3QgQXRvbVN0cmluZyYgc3RyaW5nKQot
ewotICAgIHJldHVybiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShzdHJpbmcsICItd2Vi
a2l0LXN5c3RlbS1mb250IikKLSAgICAgICAgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNh
c2Uoc3RyaW5nLCAiLWFwcGxlLXN5c3RlbSIpCi0gICAgICAgIHx8IGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKHN0cmluZywgIi1hcHBsZS1zeXN0ZW0tZm9udCIpCi0gICAgICAgIHx8IGVx
dWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHN0cmluZywgInN5c3RlbS11aSIpOwotfQotCiAj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAogdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUg
VSwgc3RkOjpzaXplX3Qgc2l6ZSwgc3RkOjpzaXplX3QuLi4gaW5kaWNlcz4gc3RkOjphcnJheTxU
LCBzaXplPiBjb252ZXJ0QXJyYXkoVSAoJmFycmF5KVtzaXplXSwgc3RkOjppbmRleF9zZXF1ZW5j
ZTxpbmRpY2VzLi4uPikKQEAgLTUzLDkgKzQ1LDI5IEBAIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5
cGVuYW1lIFUsIHN0ZDo6c2l6ZV90IHNpemU+IGlubGluZSBzdGQ6OmFycmF5PFQsIHNpemU+IGNv
CiB7CiAgICAgcmV0dXJuIGNvbnZlcnRBcnJheTxUPihhcnJheSwgc3RkOjptYWtlX2luZGV4X3Nl
cXVlbmNlPHNpemU+IHsgfSk7CiB9CisjZW5kaWYKIAotc3RhdGljIGlubGluZSBib29sIGlzVUlG
b250VGV4dFN0eWxlKGNvbnN0IEF0b21TdHJpbmcmIHN0cmluZykKK3N0YXRpYyBpbmxpbmUgT3B0
aW9uYWw8U3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNsaWVudFVzZT4gc3lzdGVtRm9udFVz
ZShjb25zdCBBdG9tU3RyaW5nJiBzdHJpbmcsIGJvb2wgc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1V
SUZvbnRzKQogeworICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShzdHJpbmcs
ICItd2Via2l0LXN5c3RlbS1mb250IikKKyAgICAgICAgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdB
U0NJSUNhc2Uoc3RyaW5nLCAiLWFwcGxlLXN5c3RlbSIpCisgICAgICAgIHx8IGVxdWFsTGV0dGVy
c0lnbm9yaW5nQVNDSUlDYXNlKHN0cmluZywgIi1hcHBsZS1zeXN0ZW0tZm9udCIpCisgICAgICAg
IHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHN0cmluZywgInN5c3RlbS11aSIpKQor
ICAgICAgICByZXR1cm4gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNsaWVudFVzZTo6Rm9y
U3lzdGVtVUk7CisjaWYgSEFWRShERVNJR05fU1lTVEVNX1VJX0ZPTlRTKQorICAgIGlmIChzaG91
bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMpIHsKKyAgICAgICAgaWYgKGVxdWFsTGV0dGVyc0ln
bm9yaW5nQVNDSUlDYXNlKHN0cmluZywgIi1hcHBsZS1zeXN0ZW0tdWktc2VyaWYiKSkKKyAgICAg
ICAgICAgIHJldHVybiBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6Q2xpZW50VXNlOjpGb3JT
eXN0ZW1VSVNlcmlmOworICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uo
c3RyaW5nLCAiLWFwcGxlLXN5c3RlbS11aS1tb25vc3BhY2VkIikpCisgICAgICAgICAgICByZXR1
cm4gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNsaWVudFVzZTo6Rm9yU3lzdGVtVUlNb25v
c3BhY2VkOworICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uoc3RyaW5n
LCAiLWFwcGxlLXN5c3RlbS11aS1yb3VuZGVkIikpCisgICAgICAgICAgICByZXR1cm4gU3lzdGVt
Rm9udERhdGFiYXNlQ29yZVRleHQ6OkNsaWVudFVzZTo6Rm9yU3lzdGVtVUlSb3VuZGVkOworICAg
IH0KKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250
cyk7CisjZW5kaWYKKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgc3RhdGljIGNvbnN0
IENGU3RyaW5nUmVmIHN0eWxlc1tdID0gewogICAgICAgICBrQ1RVSUZvbnRUZXh0U3R5bGVIZWFk
bGluZSwKICAgICAgICAga0NUVUlGb250VGV4dFN0eWxlQm9keSwKQEAgLTc5LDExICs5MSwxNCBA
QCBzdGF0aWMgaW5saW5lIGJvb2wgaXNVSUZvbnRUZXh0U3R5bGUoY29uc3QgQXRvbVN0cmluZyYg
c3RyaW5nKQogICAgIH07CiAgICAgCiAgICAgc3RhdGljIGF1dG8gc3RyaW5ncyB7IG1ha2VOZXZl
ckRlc3Ryb3llZChjb252ZXJ0QXJyYXk8QXRvbVN0cmluZz4oc3R5bGVzKSkgfTsKLSAgICByZXR1
cm4gc3RkOjpmaW5kKHN0cmluZ3MuZ2V0KCkuYmVnaW4oKSwgc3RyaW5ncy5nZXQoKS5lbmQoKSwg
c3RyaW5nKSAhPSBzdHJpbmdzLmdldCgpLmVuZCgpOwotfQorICAgIGlmIChzdGQ6OmZpbmQoc3Ry
aW5ncy5nZXQoKS5iZWdpbigpLCBzdHJpbmdzLmdldCgpLmVuZCgpLCBzdHJpbmcpICE9IHN0cmlu
Z3MuZ2V0KCkuZW5kKCkpCisgICAgICAgIHJldHVybiBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4
dDo6Q2xpZW50VXNlOjpGb3JUZXh0U3R5bGU7CiAjZW5kaWYKIAotc3RhdGljIGlubGluZSBWZWN0
b3I8UmV0YWluUHRyPENURm9udERlc2NyaXB0b3JSZWY+PiBzeXN0ZW1Gb250Q2FzY2FkZUxpc3Qo
Y29uc3QgRm9udENhc2NhZGVEZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIGNvbnN0IEF0b21TdHJp
bmcmIGNzc0ZhbWlseSwgU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNsaWVudFVzZSBjbGll
bnRVc2UsIEFsbG93VXNlckluc3RhbGxlZEZvbnRzIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKQor
ICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Cit9CisKK3N0YXRpYyBpbmxpbmUgVmVjdG9yPFJldGFp
blB0cjxDVEZvbnREZXNjcmlwdG9yUmVmPj4gc3lzdGVtRm9udENhc2NhZGVMaXN0KGNvbnN0IEZv
bnREZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIGNvbnN0IEF0b21TdHJpbmcmIGNzc0ZhbWlseSwg
U3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNsaWVudFVzZSBjbGllbnRVc2UsIEFsbG93VXNl
ckluc3RhbGxlZEZvbnRzIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKQogewogICAgIHJldHVybiBT
eXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6c2luZ2xldG9uKCkuY2FzY2FkZUxpc3QoZGVzY3Jp
cHRpb24sIGNzc0ZhbWlseSwgY2xpZW50VXNlLCBhbGxvd1VzZXJJbnN0YWxsZWRGb250cyk7CiB9
CkBAIC05NCwxMiArMTA5LDggQEAgdW5zaWduZWQgRm9udENhc2NhZGVEZXNjcmlwdGlvbjo6ZWZm
ZWN0aXZlRmFtaWx5Q291bnQoKSBjb25zdAogICAgIHVuc2lnbmVkIHJlc3VsdCA9IDA7CiAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGZhbWlseUNvdW50KCk7ICsraSkgewogICAgICAgICBj
b25zdCBhdXRvJiBjc3NGYW1pbHkgPSBmYW1pbHlBdChpKTsKLSAgICAgICAgaWYgKGlzU3lzdGVt
Rm9udFN0cmluZyhjc3NGYW1pbHkpKQotICAgICAgICAgICAgcmVzdWx0ICs9IHN5c3RlbUZvbnRD
YXNjYWRlTGlzdCgqdGhpcywgY3NzRmFtaWx5LCBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6
Q2xpZW50VXNlOjpGb3JTeXN0ZW1VSSwgc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSku
c2l6ZSgpOwotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgICAgIGVsc2UgaWYgKGlzVUlG
b250VGV4dFN0eWxlKGNzc0ZhbWlseSkpCi0gICAgICAgICAgICByZXN1bHQgKz0gc3lzdGVtRm9u
dENhc2NhZGVMaXN0KCp0aGlzLCBjc3NGYW1pbHksIFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0
OjpDbGllbnRVc2U6OkZvclRleHRTdHlsZSwgc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMo
KSkuc2l6ZSgpOwotI2VuZGlmCisgICAgICAgIGlmIChhdXRvIHVzZSA9IHN5c3RlbUZvbnRVc2Uo
Y3NzRmFtaWx5LCBzaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMoKSkpCisgICAgICAgICAg
ICByZXN1bHQgKz0gc3lzdGVtRm9udENhc2NhZGVMaXN0KCp0aGlzLCBjc3NGYW1pbHksICp1c2Us
IHNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKCkpLnNpemUoKTsKICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgKytyZXN1bHQ7CiAgICAgfQpAQCAtMTE3LDIwICsxMjgsMTIgQEAgRm9udEZh
bWlseVNwZWNpZmljYXRpb24gRm9udENhc2NhZGVEZXNjcmlwdGlvbjo6ZWZmZWN0aXZlRmFtaWx5
QXQodW5zaWduZWQgaW5kZXgKICAgICAvLyBUaGVzZSB0d28gYmVoYXZpb3JzIHNob3VsZCBiZSB1
bmlmaWVkLCB3aGljaCB3b3VsZCBob3BlZnVsbHkgYWxsb3cgdXMgdG8gZGVsZXRlIHRoaXMgZHVw
bGljYXRlIGNvZGUuCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGZhbWlseUNvdW50KCk7
ICsraSkgewogICAgICAgICBjb25zdCBhdXRvJiBjc3NGYW1pbHkgPSBmYW1pbHlBdChpKTsKLSAg
ICAgICAgaWYgKGlzU3lzdGVtRm9udFN0cmluZyhjc3NGYW1pbHkpKSB7Ci0gICAgICAgICAgICBh
dXRvIGNhc2NhZGVMaXN0ID0gc3lzdGVtRm9udENhc2NhZGVMaXN0KCp0aGlzLCBjc3NGYW1pbHks
IFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpDbGllbnRVc2U6OkZvclN5c3RlbVVJLCBzaG91
bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cygpKTsKKyAgICAgICAgaWYgKGF1dG8gdXNlID0gc3lz
dGVtRm9udFVzZShjc3NGYW1pbHksIHNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cygpKSkg
eworICAgICAgICAgICAgYXV0byBjYXNjYWRlTGlzdCA9IHN5c3RlbUZvbnRDYXNjYWRlTGlzdCgq
dGhpcywgY3NzRmFtaWx5LCAqdXNlLCBzaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cygpKTsK
ICAgICAgICAgICAgIGlmIChpbmRleCA8IGNhc2NhZGVMaXN0LnNpemUoKSkKICAgICAgICAgICAg
ICAgICByZXR1cm4gRm9udEZhbWlseVNwZWNpZmljYXRpb24oY2FzY2FkZUxpc3RbaW5kZXhdLmdl
dCgpKTsKICAgICAgICAgICAgIGluZGV4IC09IGNhc2NhZGVMaXN0LnNpemUoKTsKICAgICAgICAg
fQotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgICAgIGVsc2UgaWYgKGlzVUlGb250VGV4
dFN0eWxlKGNzc0ZhbWlseSkpIHsKLSAgICAgICAgICAgIGF1dG8gY2FzY2FkZUxpc3QgPSBzeXN0
ZW1Gb250Q2FzY2FkZUxpc3QoKnRoaXMsIGNzc0ZhbWlseSwgU3lzdGVtRm9udERhdGFiYXNlQ29y
ZVRleHQ6OkNsaWVudFVzZTo6Rm9yVGV4dFN0eWxlLCBzaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRG
b250cygpKTsKLSAgICAgICAgICAgIGlmIChpbmRleCA8IGNhc2NhZGVMaXN0LnNpemUoKSkKLSAg
ICAgICAgICAgICAgICByZXR1cm4gRm9udEZhbWlseVNwZWNpZmljYXRpb24oY2FzY2FkZUxpc3Rb
aW5kZXhdLmdldCgpKTsKLSAgICAgICAgICAgIGluZGV4IC09IGNhc2NhZGVMaXN0LnNpemUoKTsK
LSAgICAgICAgfQotI2VuZGlmCiAgICAgICAgIGVsc2UgaWYgKCFpbmRleCkKICAgICAgICAgICAg
IHJldHVybiBjc3NGYW1pbHk7CiAgICAgICAgIGVsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2Nv
YS5tbQppbmRleCA3NmUwOTI4MjJlNjdiZDdlMjc1NzU4ZTUwZTA0OGNiNDlkMzg0NTRiLi42Zjdh
YjQ2N2Q0NDM0MDU1MTY5NDRkYzk5OGMwYWVkNDQ2NmYyYzE3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3Jt
RGF0YUNvY29hLm1tCkBAIC0xNTUsNyArMTU1LDcgQEAgQ1RGb250UmVmIEZvbnRQbGF0Zm9ybURh
dGE6OmN0Rm9udCgpIGNvbnN0CiAgICAgICAgIHJldHVybiBtX2N0Rm9udC5nZXQoKTsKIAogICAg
IEFTU0VSVChtX2ZvbnQpOwotICAgIG1fY3RGb250ID0gYWRvcHRDRihDVEZvbnRDcmVhdGVDb3B5
V2l0aEF0dHJpYnV0ZXMobV9mb250LmdldCgpLCBtX3NpemUsIDAsIGNhc2NhZGVUb0xhc3RSZXNv
cnRBbmRWYXJpYXRpb25zRm9udERlc2NyaXB0b3IobV9mb250LmdldCgpKS5nZXQoKSkpOworICAg
IG1fY3RGb250ID0gYWRvcHRDRihDVEZvbnRDcmVhdGVDb3B5V2l0aEF0dHJpYnV0ZXMobV9mb250
LmdldCgpLCBtX3NpemUsIG51bGxwdHIsIGNhc2NhZGVUb0xhc3RSZXNvcnRBbmRWYXJpYXRpb25z
Rm9udERlc2NyaXB0b3IobV9mb250LmdldCgpKS5nZXQoKSkpOwogCiAgICAgaWYgKG1fd2lkdGhW
YXJpYW50ICE9IEZvbnRXaWR0aFZhcmlhbnQ6OlJlZ3VsYXJXaWR0aCkgewogICAgICAgICBpbnQg
ZmVhdHVyZVR5cGVWYWx1ZSA9IGtUZXh0U3BhY2luZ1R5cGU7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9TeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9TeXN0ZW1Gb250
RGF0YWJhc2VDb3JlVGV4dC5jcHAKaW5kZXggYjNkMDJmZjg1NWE4OWFlNDkzZGFiZTkzODA4NzAy
NDg5MTFmZDhhYS4uNWNhMjEwYjMxNGFkMjI5MzA3ZjFkMDRlMDE0ODEwNDIxODA3ZTNjNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU3lzdGVtRm9u
dERhdGFiYXNlQ29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL1N5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0LmNwcApAQCAtNDcsMjggKzQ3LDcw
IEBAIFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4
dCgpCiAKICNpZiBVU0VfUExBVEZPUk1fU1lTVEVNX0ZBTExCQUNLX0xJU1QKIAorUmV0YWluUHRy
PENURm9udFJlZj4gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OmNyZWF0ZVN5c3RlbVVJKGNv
bnN0IENhc2NhZGVMaXN0UGFyYW1ldGVycyYgcGFyYW1ldGVycywgQ0ZTdHJpbmdSZWYgbG9jYWxl
KQoreworICAgIGF1dG8gcmVzdWx0ID0gYWRvcHRDRihDVEZvbnRDcmVhdGVVSUZvbnRGb3JMYW5n
dWFnZShrQ1RGb250VUlGb250U3lzdGVtLCBwYXJhbWV0ZXJzLnNpemUsIGxvY2FsZSkpOworICAg
IEFTU0VSVChyZXN1bHQpOworICAgIHJldHVybiBhcHBseVdlaWdodEl0YWxpY3NBbmRGYWxsYmFj
a0JlaGF2aW9yKHJlc3VsdC5nZXQoKSwgcGFyYW1ldGVycy53ZWlnaHQsIHBhcmFtZXRlcnMuaXRh
bGljLCBwYXJhbWV0ZXJzLnNpemUsIHBhcmFtZXRlcnMuYWxsb3dVc2VySW5zdGFsbGVkRm9udHMp
OworfQorCisjaWYgSEFWRShERVNJR05fU1lTVEVNX1VJX0ZPTlRTKQorUmV0YWluUHRyPENURm9u
dFJlZj4gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OmNyZWF0ZURlc2lnblN5c3RlbVVJKENs
aWVudFVzZSBjbGllbnRVc2UsIGNvbnN0IENhc2NhZGVMaXN0UGFyYW1ldGVycyYgcGFyYW1ldGVy
cykKK3sKKyAgICBDRlN0cmluZ1JlZiBkZXNpZ24gPSBrQ1RGb250VUlGb250RGVzaWduRGVmYXVs
dDsKKyAgICBzd2l0Y2ggKGNsaWVudFVzZSkgeworICAgIGNhc2UgQ2xpZW50VXNlOjpGb3JTeXN0
ZW1VSVNlcmlmOgorICAgICAgICBkZXNpZ24gPSBrQ1RGb250VUlGb250RGVzaWduU2VyaWY7Cisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgQ2xpZW50VXNlOjpGb3JTeXN0ZW1VSU1vbm9zcGFjZWQ6
CisgICAgICAgIGRlc2lnbiA9IGtDVEZvbnRVSUZvbnREZXNpZ25Nb25vc3BhY2VkOworICAgICAg
ICBicmVhazsKKyAgICBjYXNlIENsaWVudFVzZTo6Rm9yU3lzdGVtVUlSb3VuZGVkOgorICAgICAg
ICBkZXNpZ24gPSBrQ1RGb250VUlGb250RGVzaWduUm91bmRlZDsKKyAgICAgICAgYnJlYWs7Cisg
ICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgfQorICAgIHJl
dHVybiBhcHBseVdlaWdodEl0YWxpY3NBbmRGYWxsYmFja0JlaGF2aW9yKG51bGxwdHIsIHBhcmFt
ZXRlcnMud2VpZ2h0LCBwYXJhbWV0ZXJzLml0YWxpYywgcGFyYW1ldGVycy5zaXplLCBwYXJhbWV0
ZXJzLmFsbG93VXNlckluc3RhbGxlZEZvbnRzLCBkZXNpZ24pOworfQorI2VuZGlmCisKK1JldGFp
blB0cjxDVEZvbnRSZWY+IFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpjcmVhdGVUZXh0U3R5
bGUoY29uc3QgQ2FzY2FkZUxpc3RQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQoreworI2lmIFBMQVRG
T1JNKElPU19GQU1JTFkpCisgICAgYXV0byBmb250RGVzY3JpcHRvciA9IGFkb3B0Q0YoQ1RGb250
RGVzY3JpcHRvckNyZWF0ZVdpdGhUZXh0U3R5bGUocGFyYW1ldGVycy5mb250TmFtZS5zdHJpbmco
KS5jcmVhdGVDRlN0cmluZygpLmdldCgpLCBSZW5kZXJUaGVtZUlPUzo6Y29udGVudFNpemVDYXRl
Z29yeSgpLCBudWxscHRyKSk7CisgICAgLy8gRklYTUU6IFVzZSBhcHBseVdlaWdodEl0YWxpY3NB
bmRGYWxsYmFja0JlaGF2aW9yKCkgb25jZSA8cmRhcjovL3Byb2JsZW0vMzMwNDYwNDE+IGlzIGZp
eGVkLgorICAgIENURm9udFN5bWJvbGljVHJhaXRzIHRyYWl0cyA9IChwYXJhbWV0ZXJzLndlaWdo
dCA+PSBrQ1RGb250V2VpZ2h0U2VtaWJvbGQgPyBrQ1RGb250VHJhaXRCb2xkIDogMCkgfCAocGFy
YW1ldGVycy5pdGFsaWMgPyBrQ1RGb250VHJhaXRJdGFsaWMgOiAwKTsKKyAgICBpZiAodHJhaXRz
KQorICAgICAgICBmb250RGVzY3JpcHRvciA9IGFkb3B0Q0YoQ1RGb250RGVzY3JpcHRvckNyZWF0
ZUNvcHlXaXRoU3ltYm9saWNUcmFpdHMoZm9udERlc2NyaXB0b3IuZ2V0KCksIHRyYWl0cywgdHJh
aXRzKSk7CisgICAgcmV0dXJuIGNyZWF0ZUZvbnRGb3JJbnN0YWxsZWRGb250cyhmb250RGVzY3Jp
cHRvci5nZXQoKSwgcGFyYW1ldGVycy5zaXplLCBwYXJhbWV0ZXJzLmFsbG93VXNlckluc3RhbGxl
ZEZvbnRzKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHBhcmFtZXRlcnMpOworICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBudWxscHRyOworI2VuZGlmCit9CisKIFZlY3Rv
cjxSZXRhaW5QdHI8Q1RGb250RGVzY3JpcHRvclJlZj4+IFN5c3RlbUZvbnREYXRhYmFzZUNvcmVU
ZXh0OjpjYXNjYWRlTGlzdChjb25zdCBDYXNjYWRlTGlzdFBhcmFtZXRlcnMmIHBhcmFtZXRlcnMs
IENsaWVudFVzZSBjbGllbnRVc2UpCiB7CiAgICAgQVNTRVJUKCFwYXJhbWV0ZXJzLmZvbnROYW1l
LmlzTnVsbCgpKTsKICAgICByZXR1cm4gbV9zeXN0ZW1Gb250Q2FjaGUuZW5zdXJlKHBhcmFtZXRl
cnMsIFsmXSB7CiAgICAgICAgIGF1dG8gbG9jYWxlU3RyaW5nID0gcGFyYW1ldGVycy5sb2NhbGUu
c3RyaW5nKCkuY3JlYXRlQ0ZTdHJpbmcoKTsKICAgICAgICAgUmV0YWluUHRyPENURm9udFJlZj4g
c3lzdGVtRm9udDsKLSAgICAgICAgaWYgKGNsaWVudFVzZSA9PSBDbGllbnRVc2U6OkZvclN5c3Rl
bVVJKSB7Ci0gICAgICAgICAgICBzeXN0ZW1Gb250ID0gYWRvcHRDRihDVEZvbnRDcmVhdGVVSUZv
bnRGb3JMYW5ndWFnZShrQ1RGb250VUlGb250U3lzdGVtLCBwYXJhbWV0ZXJzLnNpemUsIGxvY2Fs
ZVN0cmluZy5nZXQoKSkpOwotICAgICAgICAgICAgQVNTRVJUKHN5c3RlbUZvbnQpOwotICAgICAg
ICAgICAgLy8gRklYTUU6IFVzZSBhcHBseVdlaWdodEl0YWxpY3NBbmRGYWxsYmFja0JlaGF2aW9y
KCkgaW4gYm90aCBjYXNlcyBvbmNlIDxyZGFyOi8vcHJvYmxlbS8zMzA0NjA0MT4gaXMgZml4ZWQu
Ci0gICAgICAgICAgICBzeXN0ZW1Gb250ID0gYXBwbHlXZWlnaHRJdGFsaWNzQW5kRmFsbGJhY2tC
ZWhhdmlvcihzeXN0ZW1Gb250LmdldCgpLCBwYXJhbWV0ZXJzLndlaWdodCwgcGFyYW1ldGVycy5p
dGFsaWMsIHBhcmFtZXRlcnMuc2l6ZSwgcGFyYW1ldGVycy5hbGxvd1VzZXJJbnN0YWxsZWRGb250
cyk7Ci0gICAgICAgIH0gZWxzZSB7Ci0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAgICAgICAg
ICAgIEFTU0VSVChjbGllbnRVc2UgPT0gQ2xpZW50VXNlOjpGb3JUZXh0U3R5bGUpOwotICAgICAg
ICAgICAgYXV0byBmb250RGVzY3JpcHRvciA9IGFkb3B0Q0YoQ1RGb250RGVzY3JpcHRvckNyZWF0
ZVdpdGhUZXh0U3R5bGUocGFyYW1ldGVycy5mb250TmFtZS5zdHJpbmcoKS5jcmVhdGVDRlN0cmlu
ZygpLmdldCgpLCBSZW5kZXJUaGVtZUlPUzo6Y29udGVudFNpemVDYXRlZ29yeSgpLCBudWxscHRy
KSk7Ci0gICAgICAgICAgICBDVEZvbnRTeW1ib2xpY1RyYWl0cyB0cmFpdHMgPSAocGFyYW1ldGVy
cy53ZWlnaHQgPj0ga0NURm9udFdlaWdodFNlbWlib2xkID8ga0NURm9udFRyYWl0Qm9sZCA6IDAp
IHwgKHBhcmFtZXRlcnMuaXRhbGljID8ga0NURm9udFRyYWl0SXRhbGljIDogMCk7Ci0gICAgICAg
ICAgICBpZiAodHJhaXRzKQotICAgICAgICAgICAgICAgIGZvbnREZXNjcmlwdG9yID0gYWRvcHRD
RihDVEZvbnREZXNjcmlwdG9yQ3JlYXRlQ29weVdpdGhTeW1ib2xpY1RyYWl0cyhmb250RGVzY3Jp
cHRvci5nZXQoKSwgdHJhaXRzLCB0cmFpdHMpKTsKLSAgICAgICAgICAgIHN5c3RlbUZvbnQgPSBj
cmVhdGVGb250Rm9ySW5zdGFsbGVkRm9udHMoZm9udERlc2NyaXB0b3IuZ2V0KCksIHBhcmFtZXRl
cnMuc2l6ZSwgcGFyYW1ldGVycy5hbGxvd1VzZXJJbnN0YWxsZWRGb250cyk7Ci0jZWxzZQotICAg
ICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHN3aXRjaCAoY2xpZW50VXNl
KSB7CisgICAgICAgIGNhc2UgQ2xpZW50VXNlOjpGb3JTeXN0ZW1VSToKKyAgICAgICAgICAgIHN5
c3RlbUZvbnQgPSBjcmVhdGVTeXN0ZW1VSShwYXJhbWV0ZXJzLCBsb2NhbGVTdHJpbmcuZ2V0KCkp
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ2xpZW50VXNlOjpGb3JTeXN0ZW1V
SVNlcmlmOgorICAgICAgICBjYXNlIENsaWVudFVzZTo6Rm9yU3lzdGVtVUlNb25vc3BhY2VkOgor
ICAgICAgICBjYXNlIENsaWVudFVzZTo6Rm9yU3lzdGVtVUlSb3VuZGVkOgorI2lmIEhBVkUoREVT
SUdOX1NZU1RFTV9VSV9GT05UUykKKyAgICAgICAgICAgIHN5c3RlbUZvbnQgPSBjcmVhdGVEZXNp
Z25TeXN0ZW1VSShjbGllbnRVc2UsIHBhcmFtZXRlcnMpOwogI2VuZGlmCisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgY2FzZSBDbGllbnRVc2U6OkZvclRleHRTdHlsZToKKyAgICAgICAgICAg
IHN5c3RlbUZvbnQgPSBjcmVhdGVUZXh0U3R5bGUocGFyYW1ldGVycyk7CisgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgfQogICAgICAgICBBU1NFUlQoc3lzdGVtRm9udCk7CiAgICAgICAgIGF1
dG8gcmVzdWx0ID0gY29tcHV0ZUNhc2NhZGVMaXN0KHN5c3RlbUZvbnQuZ2V0KCksIGxvY2FsZVN0
cmluZy5nZXQoKSk7CkBAIC04NywyMCArMTI5LDIyIEBAIHZvaWQgU3lzdGVtRm9udERhdGFiYXNl
Q29yZVRleHQ6OmNsZWFyKCkKICAgICBtX21vbm9zcGFjZUZhbWlsaWVzLmNsZWFyKCk7CiB9CiAK
LVJldGFpblB0cjxDVEZvbnRSZWY+IFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjphcHBseVdl
aWdodEl0YWxpY3NBbmRGYWxsYmFja0JlaGF2aW9yKENURm9udFJlZiBmb250LCBDR0Zsb2F0IHdl
aWdodCwgYm9vbCBpdGFsaWMsIGZsb2F0IHNpemUsIEFsbG93VXNlckluc3RhbGxlZEZvbnRzIGFs
bG93VXNlckluc3RhbGxlZEZvbnRzKQorUmV0YWluUHRyPENURm9udFJlZj4gU3lzdGVtRm9udERh
dGFiYXNlQ29yZVRleHQ6OmFwcGx5V2VpZ2h0SXRhbGljc0FuZEZhbGxiYWNrQmVoYXZpb3IoQ1RG
b250UmVmIGZvbnQsIENHRmxvYXQgd2VpZ2h0LCBib29sIGl0YWxpYywgZmxvYXQgc2l6ZSwgQWxs
b3dVc2VySW5zdGFsbGVkRm9udHMgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMsIENGU3RyaW5nUmVm
IGRlc2lnbikKIHsKICAgICBhdXRvIHdlaWdodE51bWJlciA9IGFkb3B0Q0YoQ0ZOdW1iZXJDcmVh
dGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwga0NGTnVtYmVyQ0dGbG9hdFR5cGUsICZ3ZWlnaHQpKTsK
ICAgICBjb25zdCBmbG9hdCBzeXN0ZW1Gb250SXRhbGljU2xvcGUgPSAwLjA3OwogICAgIGZsb2F0
IGl0YWxpY3NSYXdOdW1iZXIgPSBpdGFsaWMgPyBzeXN0ZW1Gb250SXRhbGljU2xvcGUgOiAwOwog
ICAgIGF1dG8gaXRhbGljc051bWJlciA9IGFkb3B0Q0YoQ0ZOdW1iZXJDcmVhdGUoa0NGQWxsb2Nh
dG9yRGVmYXVsdCwga0NGTnVtYmVyRmxvYXRUeXBlLCAmaXRhbGljc1Jhd051bWJlcikpOwogICAg
IENGVHlwZVJlZiB0cmFpdHNLZXlzW10gPSB7IGtDVEZvbnRXZWlnaHRUcmFpdCwga0NURm9udFNs
YW50VHJhaXQsIGtDVEZvbnRVSUZvbnREZXNpZ25UcmFpdCB9OwotICAgIENGVHlwZVJlZiB0cmFp
dHNWYWx1ZXNbXSA9IHsgd2VpZ2h0TnVtYmVyLmdldCgpLCBpdGFsaWNzTnVtYmVyLmdldCgpLCBr
Q0ZCb29sZWFuVHJ1ZSB9OworICAgIENGVHlwZVJlZiB0cmFpdHNWYWx1ZXNbXSA9IHsgd2VpZ2h0
TnVtYmVyLmdldCgpLCBpdGFsaWNzTnVtYmVyLmdldCgpLCBkZXNpZ24gPyBzdGF0aWNfY2FzdDxD
RlR5cGVSZWY+KGRlc2lnbikgOiBzdGF0aWNfY2FzdDxDRlR5cGVSZWY+KGtDVEZvbnRVSUZvbnRE
ZXNpZ25EZWZhdWx0KSB9OwogICAgIGF1dG8gdHJhaXRzRGljdGlvbmFyeSA9IGFkb3B0Q0YoQ0ZE
aWN0aW9uYXJ5Q3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIHRyYWl0c0tleXMsIHRyYWl0c1Zh
bHVlcywgV1RGX0FSUkFZX0xFTkdUSCh0cmFpdHNLZXlzKSwgJmtDRlR5cGVEaWN0aW9uYXJ5S2V5
Q2FsbEJhY2tzLCAma0NGVHlwZURpY3Rpb25hcnlWYWx1ZUNhbGxCYWNrcykpOwogICAgIGF1dG8g
YXR0cmlidXRlcyA9IGFkb3B0Q0YoQ0ZEaWN0aW9uYXJ5Q3JlYXRlTXV0YWJsZShrQ0ZBbGxvY2F0
b3JEZWZhdWx0LCAwLCAma0NGVHlwZURpY3Rpb25hcnlLZXlDYWxsQmFja3MsICZrQ0ZUeXBlRGlj
dGlvbmFyeVZhbHVlQ2FsbEJhY2tzKSk7CiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoYXR0cmli
dXRlcy5nZXQoKSwga0NURm9udFRyYWl0c0F0dHJpYnV0ZSwgdHJhaXRzRGljdGlvbmFyeS5nZXQo
KSk7CiAgICAgYWRkQXR0cmlidXRlc0Zvckluc3RhbGxlZEZvbnRzKGF0dHJpYnV0ZXMuZ2V0KCks
IGFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKICAgICBhdXRvIG1vZGlmaWNhdGlvbiA9IGFkb3B0
Q0YoQ1RGb250RGVzY3JpcHRvckNyZWF0ZVdpdGhBdHRyaWJ1dGVzKGF0dHJpYnV0ZXMuZ2V0KCkp
KTsKLSAgICByZXR1cm4gYWRvcHRDRihDVEZvbnRDcmVhdGVDb3B5V2l0aEF0dHJpYnV0ZXMoZm9u
dCwgc2l6ZSwgbnVsbHB0ciwgbW9kaWZpY2F0aW9uLmdldCgpKSk7CisgICAgaWYgKGZvbnQpCisg
ICAgICAgIHJldHVybiBhZG9wdENGKENURm9udENyZWF0ZUNvcHlXaXRoQXR0cmlidXRlcyhmb250
LCBzaXplLCBudWxscHRyLCBtb2RpZmljYXRpb24uZ2V0KCkpKTsKKyAgICByZXR1cm4gYWRvcHRD
RihDVEZvbnRDcmVhdGVXaXRoRm9udERlc2NyaXB0b3IobW9kaWZpY2F0aW9uLmdldCgpLCBzaXpl
LCBudWxscHRyKSk7CiB9CiAKIFJldGFpblB0cjxDVEZvbnREZXNjcmlwdG9yUmVmPiBTeXN0ZW1G
b250RGF0YWJhc2VDb3JlVGV4dDo6cmVtb3ZlQ2FzY2FkZUxpc3QoQ1RGb250RGVzY3JpcHRvclJl
ZiBmb250RGVzY3JpcHRvcikKQEAgLTEyOSwxMiArMTczLDEzIEBAIFZlY3RvcjxSZXRhaW5QdHI8
Q1RGb250RGVzY3JpcHRvclJlZj4+IFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0Ojpjb21wdXRl
Q2FzY2FkCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotU3lzdGVtRm9udERhdGFiYXNlQ29yZVRl
eHQ6OkNhc2NhZGVMaXN0UGFyYW1ldGVycyBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6c3lz
dGVtRm9udFBhcmFtZXRlcnMoY29uc3QgRm9udENhc2NhZGVEZXNjcmlwdGlvbiYgZGVzY3JpcHRp
b24sIGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseU5hbWUsIENsaWVudFVzZSBjbGllbnRVc2UsIEFs
bG93VXNlckluc3RhbGxlZEZvbnRzIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKQorU3lzdGVtRm9u
dERhdGFiYXNlQ29yZVRleHQ6OkNhc2NhZGVMaXN0UGFyYW1ldGVycyBTeXN0ZW1Gb250RGF0YWJh
c2VDb3JlVGV4dDo6c3lzdGVtRm9udFBhcmFtZXRlcnMoY29uc3QgRm9udERlc2NyaXB0aW9uJiBk
ZXNjcmlwdGlvbiwgY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5TmFtZSwgQ2xpZW50VXNlIGNsaWVu
dFVzZSwgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpCiB7
CiAgICAgQ2FzY2FkZUxpc3RQYXJhbWV0ZXJzIHJlc3VsdDsKICAgICByZXN1bHQubG9jYWxlID0g
ZGVzY3JpcHRpb24ubG9jYWxlKCk7CiAgICAgcmVzdWx0LnNpemUgPSBkZXNjcmlwdGlvbi5jb21w
dXRlZFNpemUoKTsKICAgICByZXN1bHQuaXRhbGljID0gaXNJdGFsaWMoZGVzY3JpcHRpb24uaXRh
bGljKCkpOworICAgIHJlc3VsdC5hbGxvd1VzZXJJbnN0YWxsZWRGb250cyA9IGFsbG93VXNlcklu
c3RhbGxlZEZvbnRzOwogCiAgICAgYXV0byB3ZWlnaHQgPSBkZXNjcmlwdGlvbi53ZWlnaHQoKTsK
ICAgICBpZiAoRm9udENhY2hlOjpzaW5nbGV0b24oKS5zaG91bGRNb2NrQm9sZFN5c3RlbUZvbnRG
b3JBY2Nlc3NpYmlsaXR5KCkpCkBAIC0xNTksMjAgKzIwNCwzNiBAQCBTeXN0ZW1Gb250RGF0YWJh
c2VDb3JlVGV4dDo6Q2FzY2FkZUxpc3RQYXJhbWV0ZXJzIFN5c3RlbUZvbnREYXRhYmFzZUNvcmVU
ZXh0OjpzeQogICAgIGVsc2UKICAgICAgICAgcmVzdWx0LndlaWdodCA9IGtDVEZvbnRXZWlnaHRC
bGFjazsKIAotICAgIGlmIChjbGllbnRVc2UgPT0gQ2xpZW50VXNlOjpGb3JTeXN0ZW1VSSkgewor
ICAgIHN3aXRjaCAoY2xpZW50VXNlKSB7CisgICAgY2FzZSBDbGllbnRVc2U6OkZvclN5c3RlbVVJ
OiB7CiAgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9tU3RyaW5nPiBzeXN0ZW1VSSA9
IEF0b21TdHJpbmcoInN5c3RlbS11aSIsIEF0b21TdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFs
KTsKICAgICAgICAgcmVzdWx0LmZvbnROYW1lID0gc3lzdGVtVUkuZ2V0KCk7Ci0gICAgfSBlbHNl
IHsKLSAgICAgICAgQVNTRVJUKGNsaWVudFVzZSA9PSBDbGllbnRVc2U6OkZvclRleHRTdHlsZSk7
CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBjYXNlIENsaWVudFVzZTo6Rm9yU3lzdGVtVUlT
ZXJpZjogeworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8QXRvbVN0cmluZz4gc3lzdGVt
VUkgPSBBdG9tU3RyaW5nKCJzeXN0ZW0tdWktc2VyaWYiLCBBdG9tU3RyaW5nOjpDb25zdHJ1Y3RG
cm9tTGl0ZXJhbCk7CisgICAgICAgIHJlc3VsdC5mb250TmFtZSA9IHN5c3RlbVVJLmdldCgpOwor
ICAgICAgICBicmVhazsKKyAgICB9CisgICAgY2FzZSBDbGllbnRVc2U6OkZvclN5c3RlbVVJTW9u
b3NwYWNlZDogeworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8QXRvbVN0cmluZz4gc3lz
dGVtVUkgPSBBdG9tU3RyaW5nKCJzeXN0ZW0tdWktbW9ub3NwYWNlZCIsIEF0b21TdHJpbmc6OkNv
bnN0cnVjdEZyb21MaXRlcmFsKTsKKyAgICAgICAgcmVzdWx0LmZvbnROYW1lID0gc3lzdGVtVUku
Z2V0KCk7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBjYXNlIENsaWVudFVzZTo6Rm9yU3lz
dGVtVUlSb3VuZGVkOiB7CisgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9tU3RyaW5n
PiBzeXN0ZW1VSSA9IEF0b21TdHJpbmcoInN5c3RlbS11aS1yb3VuZGVkIiwgQXRvbVN0cmluZzo6
Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAgICAgICByZXN1bHQuZm9udE5hbWUgPSBzeXN0ZW1V
SS5nZXQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGNhc2UgQ2xpZW50VXNlOjpGb3JU
ZXh0U3R5bGU6CiAgICAgICAgIHJlc3VsdC5mb250TmFtZSA9IGZhbWlseU5hbWU7CisgICAgICAg
IGJyZWFrOwogICAgIH0KIAotICAgIHJlc3VsdC5hbGxvd1VzZXJJbnN0YWxsZWRGb250cyA9IGFs
bG93VXNlckluc3RhbGxlZEZvbnRzOwotCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotVmVjdG9y
PFJldGFpblB0cjxDVEZvbnREZXNjcmlwdG9yUmVmPj4gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRl
eHQ6OmNhc2NhZGVMaXN0KGNvbnN0IEZvbnRDYXNjYWRlRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9u
LCBjb25zdCBBdG9tU3RyaW5nJiBjc3NGYW1pbHksIENsaWVudFVzZSBjbGllbnRVc2UsIEFsbG93
VXNlckluc3RhbGxlZEZvbnRzIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKQorVmVjdG9yPFJldGFp
blB0cjxDVEZvbnREZXNjcmlwdG9yUmVmPj4gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OmNh
c2NhZGVMaXN0KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIGNvbnN0IEF0b21T
dHJpbmcmIGNzc0ZhbWlseSwgQ2xpZW50VXNlIGNsaWVudFVzZSwgQWxsb3dVc2VySW5zdGFsbGVk
Rm9udHMgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpCiB7CiAgICAgcmV0dXJuIGNhc2NhZGVMaXN0
KHN5c3RlbUZvbnRQYXJhbWV0ZXJzKGRlc2NyaXB0aW9uLCBjc3NGYW1pbHksIGNsaWVudFVzZSwg
YWxsb3dVc2VySW5zdGFsbGVkRm9udHMpLCBjbGllbnRVc2UpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU3lzdGVtRm9udERhdGFiYXNlQ29y
ZVRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1N5c3RlbUZv
bnREYXRhYmFzZUNvcmVUZXh0LmgKaW5kZXggMzIzYWIyOThmMDYzMmVhYTc1NWM4ZmE3YzAyODVm
MDhiMTNmYjZiMC4uN2E2MjMxNjFiYzQyZDA1MDA5ZTE4YzAyZjAyZGIyZWQ5MDQ3YzE3YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU3lzdGVtRm9u
dERhdGFiYXNlQ29yZVRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9TeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dC5oCkBAIC0yNSw3ICsyNSw3IEBACiAK
ICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiRm9udENhc2NhZGVEZXNjcmlwdGlvbi5oIgorI2lu
Y2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgPHBhbC9zcGkvY29jb2EvQ29yZVRl
eHRTUEkuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoVHJh
aXRzLmg+CkBAIC05Niw5ICs5NiwxNSBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgU3lzdGVtRm9u
dERhdGFiYXNlQ29yZVRleHQmIHNpbmdsZXRvbigpOwogCi0gICAgZW51bSBjbGFzcyBDbGllbnRV
c2UgeyBGb3JTeXN0ZW1VSSwgRm9yVGV4dFN0eWxlIH07CisgICAgZW51bSBjbGFzcyBDbGllbnRV
c2UgeworICAgICAgICBGb3JTeXN0ZW1VSSwKKyAgICAgICAgRm9yU3lzdGVtVUlTZXJpZiwKKyAg
ICAgICAgRm9yU3lzdGVtVUlNb25vc3BhY2VkLAorICAgICAgICBGb3JTeXN0ZW1VSVJvdW5kZWQs
CisgICAgICAgIEZvclRleHRTdHlsZQorICAgIH07CiAKLSAgICBWZWN0b3I8UmV0YWluUHRyPENU
Rm9udERlc2NyaXB0b3JSZWY+PiBjYXNjYWRlTGlzdChjb25zdCBGb250Q2FzY2FkZURlc2NyaXB0
aW9uJiwgY29uc3QgQXRvbVN0cmluZyYgY3NzRmFtaWx5LCBDbGllbnRVc2UsIEFsbG93VXNlcklu
c3RhbGxlZEZvbnRzKTsKKyAgICBWZWN0b3I8UmV0YWluUHRyPENURm9udERlc2NyaXB0b3JSZWY+
PiBjYXNjYWRlTGlzdChjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBBdG9tU3RyaW5nJiBj
c3NGYW1pbHksIENsaWVudFVzZSwgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOwogCiAgICAgU3Ry
aW5nIHNlcmlmRmFtaWx5KGNvbnN0IFN0cmluZyYgbG9jYWxlKTsKICAgICBTdHJpbmcgc2Fuc1Nl
cmlmRmFtaWx5KGNvbnN0IFN0cmluZyYgbG9jYWxlKTsKQEAgLTExMywxMCArMTE5LDE0IEBAIHBy
aXZhdGU6CiAKICAgICBWZWN0b3I8UmV0YWluUHRyPENURm9udERlc2NyaXB0b3JSZWY+PiBjYXNj
YWRlTGlzdChjb25zdCBDYXNjYWRlTGlzdFBhcmFtZXRlcnMmLCBDbGllbnRVc2UpOwogCi0gICAg
c3RhdGljIFJldGFpblB0cjxDVEZvbnRSZWY+IGFwcGx5V2VpZ2h0SXRhbGljc0FuZEZhbGxiYWNr
QmVoYXZpb3IoQ1RGb250UmVmLCBDR0Zsb2F0IHdlaWdodCwgYm9vbCBpdGFsaWMsIGZsb2F0IHNp
emUsIEFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKKyAgICBSZXRhaW5QdHI8Q1RGb250UmVmPiBj
cmVhdGVTeXN0ZW1VSShjb25zdCBDYXNjYWRlTGlzdFBhcmFtZXRlcnMmLCBDRlN0cmluZ1JlZiBs
b2NhbGUpOworICAgIFJldGFpblB0cjxDVEZvbnRSZWY+IGNyZWF0ZURlc2lnblN5c3RlbVVJKENs
aWVudFVzZSwgY29uc3QgQ2FzY2FkZUxpc3RQYXJhbWV0ZXJzJik7CisgICAgUmV0YWluUHRyPENU
Rm9udFJlZj4gY3JlYXRlVGV4dFN0eWxlKGNvbnN0IENhc2NhZGVMaXN0UGFyYW1ldGVycyYpOwor
CisgICAgc3RhdGljIFJldGFpblB0cjxDVEZvbnRSZWY+IGFwcGx5V2VpZ2h0SXRhbGljc0FuZEZh
bGxiYWNrQmVoYXZpb3IoQ1RGb250UmVmLCBDR0Zsb2F0IHdlaWdodCwgYm9vbCBpdGFsaWMsIGZs
b2F0IHNpemUsIEFsbG93VXNlckluc3RhbGxlZEZvbnRzLCBDRlN0cmluZ1JlZiBkZXNpZ24gPSBu
dWxscHRyKTsKICAgICBzdGF0aWMgUmV0YWluUHRyPENURm9udERlc2NyaXB0b3JSZWY+IHJlbW92
ZUNhc2NhZGVMaXN0KENURm9udERlc2NyaXB0b3JSZWYpOwogICAgIHN0YXRpYyBWZWN0b3I8UmV0
YWluUHRyPENURm9udERlc2NyaXB0b3JSZWY+PiBjb21wdXRlQ2FzY2FkZUxpc3QoQ1RGb250UmVm
LCBDRlN0cmluZ1JlZiBsb2NhbGUpOwotICAgIHN0YXRpYyBDYXNjYWRlTGlzdFBhcmFtZXRlcnMg
c3lzdGVtRm9udFBhcmFtZXRlcnMoY29uc3QgRm9udENhc2NhZGVEZXNjcmlwdGlvbiYsIGNvbnN0
IEF0b21TdHJpbmcmIGZhbWlseU5hbWUsIENsaWVudFVzZSwgQWxsb3dVc2VySW5zdGFsbGVkRm9u
dHMpOworICAgIHN0YXRpYyBDYXNjYWRlTGlzdFBhcmFtZXRlcnMgc3lzdGVtRm9udFBhcmFtZXRl
cnMoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5TmFtZSwg
Q2xpZW50VXNlLCBBbGxvd1VzZXJJbnN0YWxsZWRGb250cyk7CiAKICAgICBIYXNoTWFwPENhc2Nh
ZGVMaXN0UGFyYW1ldGVycywgVmVjdG9yPFJldGFpblB0cjxDVEZvbnREZXNjcmlwdG9yUmVmPj4s
IENhc2NhZGVMaXN0UGFyYW1ldGVyczo6Q2FzY2FkZUxpc3RQYXJhbWV0ZXJzSGFzaCwgU2ltcGxl
Q2xhc3NIYXNoVHJhaXRzPENhc2NhZGVMaXN0UGFyYW1ldGVycz4+IG1fc3lzdGVtRm9udENhY2hl
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pb3MvRm9u
dENhY2hlSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0ZvbnRD
YWNoZUlPUy5tbQppbmRleCA4YmEzOTYwYjM4N2UzM2RjYmU5OTQyYzQ0ZTZhYjUyYTcwZmE3NTM3
Li5jMzU3MGMxZDdmY2RhOGI5NmJkYjYyNzkyNmVjYzcyZmY1NzM2ZWUzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pb3MvRm9udENhY2hlSU9TLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250Q2FjaGVJT1MubW0KQEAg
LTMzLDYgKzMzLDcgQEAKIAogI2ltcG9ydCAiRm9udENhc2NhZGUuaCIKICNpbXBvcnQgIlJlbmRl
clRoZW1lSU9TLmgiCisjaW1wb3J0ICJTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dC5oIgogI2lt
cG9ydCA8cGFsL3NwaS9jZy9Db3JlR3JhcGhpY3NTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvY29j
b2EvQ29yZVRleHRTUEkuaD4KICNpbXBvcnQgPHd0Zi9IYXNoU2V0Lmg+CkBAIC0xMjgsOSArMTI5
LDExIEBAIHN0YXRpYyBSZXRhaW5QdHI8Q1RGb250RGVzY3JpcHRvclJlZj4gc3lzdGVtRm9udERl
c2NyaXB0b3IoRm9udFNlbGVjdGlvblZhbHVlIHdlCiAgICAgcmV0dXJuIGFkb3B0Q0YoQ1RGb250
RGVzY3JpcHRvckNyZWF0ZUNvcHlXaXRoQXR0cmlidXRlcyhmb250RGVzY3JpcHRvci5nZXQoKSwg
c3RhdGljX2Nhc3Q8Q0ZEaWN0aW9uYXJ5UmVmPihhdHRyaWJ1dGVzLmdldCgpKSkpOwogfQogCi1S
ZXRhaW5QdHI8Q1RGb250UmVmPiBwbGF0Zm9ybUZvbnRXaXRoRmFtaWx5U3BlY2lhbENhc2UoY29u
c3QgQXRvbVN0cmluZyYgZmFtaWx5LCBGb250U2VsZWN0aW9uUmVxdWVzdCByZXF1ZXN0LCBmbG9h
dCBzaXplLCBBbGxvd1VzZXJJbnN0YWxsZWRGb250cyBhbGxvd1VzZXJJbnN0YWxsZWRGb250cykK
K1JldGFpblB0cjxDVEZvbnRSZWY+IHBsYXRmb3JtRm9udFdpdGhGYW1pbHlTcGVjaWFsQ2FzZShj
b25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2Ny
aXB0aW9uLCBmbG9hdCBzaXplLCBBbGxvd1VzZXJJbnN0YWxsZWRGb250cyBhbGxvd1VzZXJJbnN0
YWxsZWRGb250cykKIHsKICAgICAvLyBGSVhNRTogU2VlIGNvbW1lbnQgaW4gRm9udENhc2NhZGVE
ZXNjcmlwdGlvbjo6ZWZmZWN0aXZlRmFtaWx5QXQoKSBpbiBGb250RGVzY3JpcHRpb25Db2NvYS5j
cHAKKyAgICBjb25zdCBhdXRvJiByZXF1ZXN0ID0gZm9udERlc2NyaXB0aW9uLmZvbnRTZWxlY3Rp
b25SZXF1ZXN0KCk7CisKICAgICBpZiAoZmFtaWx5LnN0YXJ0c1dpdGgoIlVJQ1RGb250VGV4dFN0
eWxlIikpIHsKICAgICAgICAgQ1RGb250U3ltYm9saWNUcmFpdHMgdHJhaXRzID0gKGlzRm9udFdl
aWdodEJvbGQocmVxdWVzdC53ZWlnaHQpIHx8IEZvbnRDYWNoZTo6c2luZ2xldG9uKCkuc2hvdWxk
TW9ja0JvbGRTeXN0ZW1Gb250Rm9yQWNjZXNzaWJpbGl0eSgpID8ga0NURm9udFRyYWl0Qm9sZCA6
IDApIHwgKGlzSXRhbGljKHJlcXVlc3Quc2xvcGUpID8ga0NURm9udFRyYWl0SXRhbGljIDogMCk7
CiAgICAgICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gZmFtaWx5TmFtZVN0ciA9IGZhbWlseS5z
dHJpbmcoKS5jcmVhdGVDRlN0cmluZygpOwpAQCAtMTQwLDExICsxNDMsMzAgQEAgUmV0YWluUHRy
PENURm9udFJlZj4gcGxhdGZvcm1Gb250V2l0aEZhbWlseVNwZWNpYWxDYXNlKGNvbnN0IEF0b21T
dHJpbmcmIGZhbWlseSwKICAgICAgICAgcmV0dXJuIGNyZWF0ZUZvbnRGb3JJbnN0YWxsZWRGb250
cyhmb250RGVzY3JpcHRvci5nZXQoKSwgc2l6ZSwgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOwog
ICAgIH0KIAorICAgIC8vIEZJWE1FOiBNaWdyYXRlIHRoaXMgdG8gdXNlIFN5c3RlbUZvbnREYXRh
YmFzZUNvcmVUZXh0IGxpa2UgdGhlIGRlc2lnbiBzeXN0ZW0tdWkgYmxvY2sgYmVsb3cuCiAgICAg
aWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGZhbWlseSwgIi13ZWJraXQtc3lzdGVt
LWZvbnQiKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShmYW1pbHksICItYXBwbGUt
c3lzdGVtIikgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZmFtaWx5LCAiLWFwcGxl
LXN5c3RlbS1mb250IikgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZmFtaWx5LCAi
c3lzdGVtLXVpIikpIHsKICAgICAgICAgYXV0byBmb250RGVzY3JpcHRvciA9IHN5c3RlbUZvbnRE
ZXNjcmlwdG9yKHJlcXVlc3Qud2VpZ2h0LCBpc0ZvbnRXZWlnaHRCb2xkKHJlcXVlc3Qud2VpZ2h0
KSwgaXNJdGFsaWMocmVxdWVzdC5zbG9wZSksIHNpemUpOwogICAgICAgICByZXR1cm4gY3JlYXRl
Rm9udEZvckluc3RhbGxlZEZvbnRzKGZvbnREZXNjcmlwdG9yLmdldCgpLCBzaXplLCBhbGxvd1Vz
ZXJJbnN0YWxsZWRGb250cyk7CiAgICAgfQogCisjaWYgSEFWRShERVNJR05fU1lTVEVNX1VJX0ZP
TlRTKQorICAgIGlmIChmb250RGVzY3JpcHRpb24uc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZv
bnRzKCkpIHsKKyAgICAgICAgT3B0aW9uYWw8U3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNs
aWVudFVzZT4gZGVzaWduU3lzdGVtVUk7CisgICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmlu
Z0FTQ0lJQ2FzZShmYW1pbHksICItYXBwbGUtc3lzdGVtLXVpLXNlcmlmIikpCisgICAgICAgICAg
ICBkZXNpZ25TeXN0ZW1VSSA9IFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpDbGllbnRVc2U6
OkZvclN5c3RlbVVJU2VyaWY7CisgICAgICAgIGVsc2UgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5n
QVNDSUlDYXNlKGZhbWlseSwgIi1hcHBsZS1zeXN0ZW0tdWktbW9ub3NwYWNlZCIpKQorICAgICAg
ICAgICAgZGVzaWduU3lzdGVtVUkgPSBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6Q2xpZW50
VXNlOjpGb3JTeXN0ZW1VSU1vbm9zcGFjZWQ7CisgICAgICAgIGVsc2UgaWYgKGVxdWFsTGV0dGVy
c0lnbm9yaW5nQVNDSUlDYXNlKGZhbWlseSwgIi1hcHBsZS1zeXN0ZW0tdWktcm91bmRlZCIpKQor
ICAgICAgICAgICAgZGVzaWduU3lzdGVtVUkgPSBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6
Q2xpZW50VXNlOjpGb3JTeXN0ZW1VSVJvdW5kZWQ7CisKKyAgICAgICAgaWYgKGRlc2lnblN5c3Rl
bVVJKSB7CisgICAgICAgICAgICBhdXRvIGNhc2NhZGVMaXN0ID0gU3lzdGVtRm9udERhdGFiYXNl
Q29yZVRleHQ6OnNpbmdsZXRvbigpLmNhc2NhZGVMaXN0KGZvbnREZXNjcmlwdGlvbiwgZmFtaWx5
LCAqZGVzaWduU3lzdGVtVUksIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKKyAgICAgICAgICAg
IGlmICghY2FzY2FkZUxpc3QuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAgIHJldHVybiBjcmVh
dGVGb250Rm9ySW5zdGFsbGVkRm9udHMoY2FzY2FkZUxpc3RbMF0uZ2V0KCksIHNpemUsIGFsbG93
VXNlckluc3RhbGxlZEZvbnRzKTsKKyAgICAgICAgfQorICAgIH0KKyNlbmRpZgorCiAgICAgaWYg
KGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGZhbWlseSwgIi1hcHBsZS1zeXN0ZW0tbW9u
b3NwYWNlZC1udW1iZXJzIikpIHsKICAgICAgICAgUmV0YWluUHRyPENURm9udERlc2NyaXB0b3JS
ZWY+IHN5c3RlbUZvbnREZXNjcmlwdG9yID0gYWRvcHRDRihDVEZvbnREZXNjcmlwdG9yQ3JlYXRl
Rm9yVUlUeXBlKGtDVEZvbnRVSUZvbnRTeXN0ZW0sIHNpemUsIG51bGxwdHIpKTsKICAgICAgICAg
UmV0YWluUHRyPENURm9udERlc2NyaXB0b3JSZWY+IG1vbm9zcGFjZUZvbnREZXNjcmlwdG9yID0g
YWRvcHRDRihDVEZvbnREZXNjcmlwdG9yQ3JlYXRlQ29weVdpdGhGZWF0dXJlKHN5c3RlbUZvbnRE
ZXNjcmlwdG9yLmdldCgpLCAoQ0ZOdW1iZXJSZWYpQChrTnVtYmVyU3BhY2luZ1R5cGUpLCAoQ0ZO
dW1iZXJSZWYpQChrTW9ub3NwYWNlZE51bWJlcnNTZWxlY3RvcikpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q2FjaGVNYWMubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udENhY2hlTWFjLm1tCmluZGV4IGIz
ZGNkY2M3ZmI1NjU4YjQ2MTBmZDIxNWMzN2ZlY2NlMGZlM2UwOGMuLmEwNWU0MTI3YTNjMjI0MGY0
ODQ2ZTg4MjQ2MzhlMGZkZTkxZGZkMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21hYy9Gb250Q2FjaGVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDYWNoZU1hYy5tbQpAQCAtMzMsNiArMzMsNyBAQAogI2lt
cG9ydCAiRm9udC5oIgogI2ltcG9ydCAiRm9udENhc2NhZGUuaCIKICNpbXBvcnQgIkZvbnRQbGF0
Zm9ybURhdGEuaCIKKyNpbXBvcnQgIlN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0LmgiCiAjaW1w
b3J0IDxwYWwvc3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9jb2Nv
YS9Db3JlVGV4dFNQSS5oPgogCkBAIC03Myw5ICs3NCwxMiBAQCBzdGF0aWMgQ0dGbG9hdCB0b05T
Rm9udFdlaWdodChGb250U2VsZWN0aW9uVmFsdWUgZm9udFdlaWdodCkKICAgICByZXR1cm4gTlNG
b250V2VpZ2h0QmxhY2s7CiB9CiAKLVJldGFpblB0cjxDVEZvbnRSZWY+IHBsYXRmb3JtRm9udFdp
dGhGYW1pbHlTcGVjaWFsQ2FzZShjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIEZvbnRTZWxlY3Rp
b25SZXF1ZXN0IHJlcXVlc3QsIGZsb2F0IHNpemUsIEFsbG93VXNlckluc3RhbGxlZEZvbnRzIGFs
bG93VXNlckluc3RhbGxlZEZvbnRzKQorUmV0YWluUHRyPENURm9udFJlZj4gcGxhdGZvcm1Gb250
V2l0aEZhbWlseVNwZWNpYWxDYXNlKGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSwgY29uc3QgRm9u
dERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGZsb2F0IHNpemUsIEFsbG93VXNlckluc3Rh
bGxlZEZvbnRzIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKQogewogICAgIC8vIEZJWE1FOiBTZWUg
Y29tbWVudCBpbiBGb250Q2FzY2FkZURlc2NyaXB0aW9uOjplZmZlY3RpdmVGYW1pbHlBdCgpIGlu
IEZvbnREZXNjcmlwdGlvbkNvY29hLmNwcAorICAgIGNvbnN0IGF1dG8mIHJlcXVlc3QgPSBmb250
RGVzY3JpcHRpb24uZm9udFNlbGVjdGlvblJlcXVlc3QoKTsKKworICAgIC8vIEZJWE1FOiBNaWdy
YXRlIHRoaXMgdG8gdXNlIFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0IGxpa2UgdGhlIGRlc2ln
biBzeXN0ZW0tdWkgYmxvY2sgYmVsb3cuCiAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVND
SUlDYXNlKGZhbWlseSwgIi13ZWJraXQtc3lzdGVtLWZvbnQiKSB8fCBlcXVhbExldHRlcnNJZ25v
cmluZ0FTQ0lJQ2FzZShmYW1pbHksICItYXBwbGUtc3lzdGVtIikgfHwgZXF1YWxMZXR0ZXJzSWdu
b3JpbmdBU0NJSUNhc2UoZmFtaWx5LCAiLWFwcGxlLXN5c3RlbS1mb250IikgfHwgZXF1YWxMZXR0
ZXJzSWdub3JpbmdBU0NJSUNhc2UoZmFtaWx5LCAic3lzdGVtLXVpIikpIHsKICAgICAgICAgUmV0
YWluUHRyPENURm9udFJlZj4gcmVzdWx0ID0gdG9DVEZvbnQoW05TRm9udCBzeXN0ZW1Gb250T2ZT
aXplOnNpemUgd2VpZ2h0OnRvTlNGb250V2VpZ2h0KHJlcXVlc3Qud2VpZ2h0KV0pOwogICAgICAg
ICBpZiAoaXNJdGFsaWMocmVxdWVzdC5zbG9wZSkpIHsKQEAgLTg4LDYgKzkyLDI0IEBAIFJldGFp
blB0cjxDVEZvbnRSZWY+IHBsYXRmb3JtRm9udFdpdGhGYW1pbHlTcGVjaWFsQ2FzZShjb25zdCBB
dG9tU3RyaW5nJiBmYW1pbHksCiAgICAgICAgIHJldHVybiBjcmVhdGVGb250Rm9ySW5zdGFsbGVk
Rm9udHMocmVzdWx0LmdldCgpLCBhbGxvd1VzZXJJbnN0YWxsZWRGb250cyk7CiAgICAgfQogCisj
aWYgSEFWRShERVNJR05fU1lTVEVNX1VJX0ZPTlRTKQorICAgIGlmIChmb250RGVzY3JpcHRpb24u
c2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKCkpIHsKKyAgICAgICAgT3B0aW9uYWw8U3lz
dGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNsaWVudFVzZT4gZGVzaWduU3lzdGVtVUk7CisgICAg
ICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShmYW1pbHksICItYXBwbGUtc3lz
dGVtLXVpLXNlcmlmIikpCisgICAgICAgICAgICBkZXNpZ25TeXN0ZW1VSSA9IFN5c3RlbUZvbnRE
YXRhYmFzZUNvcmVUZXh0OjpDbGllbnRVc2U6OkZvclN5c3RlbVVJU2VyaWY7CisgICAgICAgIGVs
c2UgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGZhbWlseSwgIi1hcHBsZS1zeXN0
ZW0tdWktbW9ub3NwYWNlZCIpKQorICAgICAgICAgICAgZGVzaWduU3lzdGVtVUkgPSBTeXN0ZW1G
b250RGF0YWJhc2VDb3JlVGV4dDo6Q2xpZW50VXNlOjpGb3JTeXN0ZW1VSU1vbm9zcGFjZWQ7Cisg
ICAgICAgIGVsc2UgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGZhbWlseSwgIi1h
cHBsZS1zeXN0ZW0tdWktcm91bmRlZCIpKQorICAgICAgICAgICAgZGVzaWduU3lzdGVtVUkgPSBT
eXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6Q2xpZW50VXNlOjpGb3JTeXN0ZW1VSVJvdW5kZWQ7
CisKKyAgICAgICAgaWYgKGRlc2lnblN5c3RlbVVJKSB7CisgICAgICAgICAgICBhdXRvIGNhc2Nh
ZGVMaXN0ID0gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OnNpbmdsZXRvbigpLmNhc2NhZGVM
aXN0KGZvbnREZXNjcmlwdGlvbiwgZmFtaWx5LCAqZGVzaWduU3lzdGVtVUksIGFsbG93VXNlcklu
c3RhbGxlZEZvbnRzKTsKKyAgICAgICAgICAgIGlmICghY2FzY2FkZUxpc3QuaXNFbXB0eSgpKQor
ICAgICAgICAgICAgICAgIHJldHVybiBjcmVhdGVGb250Rm9ySW5zdGFsbGVkRm9udHMoY2FzY2Fk
ZUxpc3RbMF0uZ2V0KCksIHNpemUsIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKKyAgICAgICAg
fQorICAgIH0KKyNlbmRpZgorCiAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNl
KGZhbWlseSwgIi1hcHBsZS1zeXN0ZW0tbW9ub3NwYWNlZC1udW1iZXJzIikpIHsKICAgICAgICAg
aW50IG51bWJlclNwYWNpbmdUeXBlID0ga051bWJlclNwYWNpbmdUeXBlOwogICAgICAgICBpbnQg
bW9ub3NwYWNlZE51bWJlcnNTZWxlY3RvciA9IGtNb25vc3BhY2VkTnVtYmVyc1NlbGVjdG9yOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZlRm9yRG9jdW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZlRm9yRG9jdW1lbnQuY3BwCmlu
ZGV4IDBlNDNkNDE3YWNlZWYzZTdhZGE2ODk2NmMzYTA3YzA1YzkwNGEyM2IuLmRkZTg4MTgyOWQy
ZDZjY2U2NWZiNDZmNTJiYzEwNDBiODA1NzQ4ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL1N0eWxlUmVzb2x2ZUZvckRvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9TdHlsZVJlc29sdmVGb3JEb2N1bWVudC5jcHAKQEAgLTExMCw2ICsxMTAsNyBAQCBSZW5k
ZXJTdHlsZSByZXNvbHZlRm9yRG9jdW1lbnQoY29uc3QgRG9jdW1lbnQmIGRvY3VtZW50KQogICAg
IGZvbnREZXNjcmlwdGlvbi5zZXRSZW5kZXJpbmdNb2RlKHNldHRpbmdzLmZvbnRSZW5kZXJpbmdN
b2RlKCkpOwogICAgIGZvbnREZXNjcmlwdGlvbi5zZXRPbmVGYW1pbHkoc3RhbmRhcmRGYW1pbHkp
OwogICAgIGZvbnREZXNjcmlwdGlvbi5zZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyhz
ZXR0aW5ncy5zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cygpID8gQWxsb3dVc2VySW5zdGFs
bGVkRm9udHM6OlllcyA6IEFsbG93VXNlckluc3RhbGxlZEZvbnRzOjpObyk7CisgICAgZm9udERl
c2NyaXB0aW9uLnNldFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyhzZXR0aW5ncy5zaG91
bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMoKSk7CiAKICAgICBmb250RGVzY3JpcHRpb24uc2V0
S2V5d29yZFNpemVGcm9tSWRlbnRpZmllcihDU1NWYWx1ZU1lZGl1bSk7CiAgICAgaW50IHNpemUg
PSBmb250U2l6ZUZvcktleXdvcmQoQ1NTVmFsdWVNZWRpdW0sIGZhbHNlLCBkb2N1bWVudCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcAppbmRleCBiMmRiMWE2ZGI4OTk2
MGY5NzU3NjYyZDg5ZTUwY2FjYmVkOTc0M2IyLi5iM2YyMmNiMTgzN2U4M2E1ZTdiMjZjNjEwYTU3
ZGEzOWFiZDM1YWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZH
SW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAK
QEAgLTQ3MSw2ICs0NzEsNyBAQCBFbmNvZGVkRGF0YVN0YXR1cyBTVkdJbWFnZTo6ZGF0YUNoYW5n
ZWQoYm9vbCBhbGxEYXRhUmVjZWl2ZWQpCiAgICAgICAgIG1fcGFnZS0+c2V0dGluZ3MoKS5zZXRQ
bHVnaW5zRW5hYmxlZChmYWxzZSk7CiAgICAgICAgIG1fcGFnZS0+c2V0dGluZ3MoKS5zZXRBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZChmYWxzZSk7CiAgICAgICAgIG1fcGFnZS0+c2V0dGlu
Z3MoKS5zZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyhmYWxzZSk7CisgICAgICAgIG1f
cGFnZS0+c2V0dGluZ3MoKS5zZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMoZmFsc2Up
OwogCiAgICAgICAgIEZyYW1lJiBmcmFtZSA9IG1fcGFnZS0+bWFpbkZyYW1lKCk7CiAgICAgICAg
IGZyYW1lLnNldFZpZXcoRnJhbWVWaWV3OjpjcmVhdGUoZnJhbWUpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCmluZGV4IGMxMTMxZDI1YjM4OGJiYTgzNjY1
M2QyOTcwOGU2YTViYmU0YmRmYzQuLjJlMzJlODEyOGZkMWE0ZWMxNTJmODgxYjA5OTIyM2I2OTk2
M2U3YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5n
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcApA
QCAtODUsNiArODUsNyBAQCBJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1cChTZXR0aW5n
cyYgc2V0dGluZ3MpCiAgICAgLCBtX3Nob3VsZENvbnZlcnRQb3NpdGlvblN0eWxlT25Db3B5KHNl
dHRpbmdzLnNob3VsZENvbnZlcnRQb3NpdGlvblN0eWxlT25Db3B5KCkpCiAgICAgLCBtX2ZvbnRG
YWxsYmFja1ByZWZlcnNQaWN0b2dyYXBocyhzZXR0aW5ncy5mb250RmFsbGJhY2tQcmVmZXJzUGlj
dG9ncmFwaHMoKSkKICAgICAsIG1fc2hvdWxkSWdub3JlRm9udExvYWRDb21wbGV0aW9ucyhzZXR0
aW5ncy5zaG91bGRJZ25vcmVGb250TG9hZENvbXBsZXRpb25zKCkpCisgICAgLCBtX3Nob3VsZEFs
bG93RGVzaWduU3lzdGVtVUlGb250cyhzZXR0aW5ncy5zaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJ
Rm9udHMoKSkKICAgICAsIG1fYmFja2dyb3VuZFNob3VsZEV4dGVuZEJleW9uZFBhZ2Uoc2V0dGlu
Z3MuYmFja2dyb3VuZFNob3VsZEV4dGVuZEJleW9uZFBhZ2UoKSkKICAgICAsIG1fc3RvcmFnZUJs
b2NraW5nUG9saWN5KHNldHRpbmdzLnN0b3JhZ2VCbG9ja2luZ1BvbGljeSgpKQogICAgICwgbV9z
Y3JvbGxpbmdUcmVlSW5jbHVkZXNGcmFtZXMoc2V0dGluZ3Muc2Nyb2xsaW5nVHJlZUluY2x1ZGVz
RnJhbWVzKCkpCkBAIC0xODQsNiArMTg1LDcgQEAgdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpCYWNr
dXA6OnJlc3RvcmVUbyhTZXR0aW5ncyYgc2V0dGluZ3MpCiAgICAgc2V0dGluZ3Muc2V0U2hvdWxk
Q29udmVydFBvc2l0aW9uU3R5bGVPbkNvcHkobV9zaG91bGRDb252ZXJ0UG9zaXRpb25TdHlsZU9u
Q29weSk7CiAgICAgc2V0dGluZ3Muc2V0Rm9udEZhbGxiYWNrUHJlZmVyc1BpY3RvZ3JhcGhzKG1f
Zm9udEZhbGxiYWNrUHJlZmVyc1BpY3RvZ3JhcGhzKTsKICAgICBzZXR0aW5ncy5zZXRTaG91bGRJ
Z25vcmVGb250TG9hZENvbXBsZXRpb25zKG1fc2hvdWxkSWdub3JlRm9udExvYWRDb21wbGV0aW9u
cyk7CisgICAgc2V0dGluZ3Muc2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKG1fc2hv
dWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKTsKICAgICBzZXR0aW5ncy5zZXRCYWNrZ3JvdW5k
U2hvdWxkRXh0ZW5kQmV5b25kUGFnZShtX2JhY2tncm91bmRTaG91bGRFeHRlbmRCZXlvbmRQYWdl
KTsKICAgICBzZXR0aW5ncy5zZXRTdG9yYWdlQmxvY2tpbmdQb2xpY3kobV9zdG9yYWdlQmxvY2tp
bmdQb2xpY3kpOwogICAgIHNldHRpbmdzLnNldFNjcm9sbGluZ1RyZWVJbmNsdWRlc0ZyYW1lcyht
X3Njcm9sbGluZ1RyZWVJbmNsdWRlc0ZyYW1lcyk7CkBAIC02OTMsNiArNjk1LDE0IEBAIEV4Y2Vw
dGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFNob3VsZElnbm9yZUZvbnRMb2FkQ29t
cGxldGlvbnMoYm9vbCBpZ25vCiAgICAgcmV0dXJuIHsgfTsKIH0KIAorRXhjZXB0aW9uT3I8dm9p
ZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKGJv
b2wgYWxsb3cpCit7CisgICAgaWYgKCFtX3BhZ2UpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24g
eyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKKyAgICBzZXR0aW5ncygpLnNldFNob3VsZEFsbG93RGVz
aWduU3lzdGVtVUlGb250cyhhbGxvdyk7CisgICAgcmV0dXJuIHsgfTsKK30KKwogRXhjZXB0aW9u
T3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0UXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnRF
bmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKICAgICBpZiAoIW1fcGFnZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKaW5kZXggNjYyZDhmZWEyOTg2ZDhmNDYwMmUzZWZl
NGJjNWIyYjBhZmY3NzM1ZS4uNWU0ZWJiNDNmOTYzNDFlNTM5MjE3ZmViMGE3Mjc3YzQyZjllNTk5
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKQEAgLTg2LDYg
Kzg2LDcgQEAgcHVibGljOgogICAgIGVudW0gY2xhc3MgRm9udExvYWRUaW1pbmdPdmVycmlkZSB7
IEJsb2NrLCBTd2FwLCBGYWlsdXJlIH07CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0Rm9udExv
YWRUaW1pbmdPdmVycmlkZShjb25zdCBGb250TG9hZFRpbWluZ092ZXJyaWRlJik7CiAgICAgRXhj
ZXB0aW9uT3I8dm9pZD4gc2V0U2hvdWxkSWdub3JlRm9udExvYWRDb21wbGV0aW9ucyhib29sKTsK
KyAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMo
Ym9vbCk7CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0UXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1l
bnRFbmFibGVkKGJvb2wpOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFlvdVR1YmVGbGFzaFBs
dWdpblJlcGxhY2VtZW50RW5hYmxlZChib29sKTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRC
YWNrZ3JvdW5kU2hvdWxkRXh0ZW5kQmV5b25kUGFnZShib29sKTsKQEAgLTE4NSw2ICsxODYsNyBA
QCBwcml2YXRlOgogICAgICAgICBib29sIG1fc2hvdWxkQ29udmVydFBvc2l0aW9uU3R5bGVPbkNv
cHk7CiAgICAgICAgIGJvb2wgbV9mb250RmFsbGJhY2tQcmVmZXJzUGljdG9ncmFwaHM7CiAgICAg
ICAgIGJvb2wgbV9zaG91bGRJZ25vcmVGb250TG9hZENvbXBsZXRpb25zOworICAgICAgICBib29s
IG1fc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzOwogICAgICAgICBib29sIG1fYmFja2dy
b3VuZFNob3VsZEV4dGVuZEJleW9uZFBhZ2U7CiAgICAgICAgIFNlY3VyaXR5T3JpZ2luOjpTdG9y
YWdlQmxvY2tpbmdQb2xpY3kgbV9zdG9yYWdlQmxvY2tpbmdQb2xpY3k7CiAgICAgICAgIGJvb2wg
bV9zY3JvbGxpbmdUcmVlSW5jbHVkZXNGcmFtZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbFNldHRpbmdzLmlkbAppbmRleCBlNjNjYzU2MDYyYjNlODFhMGIzNDdkMGY5Y2VlYjhi
ZjQyYmU5OGQ2Li5lMzc5ZjhlNjY4MWY1Nzg3MGUxYWY5OTk3ZWIxZDM4YzQxZWUwM2ExIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKQEAgLTQ2LDYgKzQ2
LDcgQEAgZW51bSBGb250TG9hZFRpbWluZ092ZXJyaWRlIHsgIkJsb2NrIiwgIlN3YXAiLCAiRmFp
bHVyZSIgfTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0Rm9udEZhbGxiYWNrUHJl
ZmVyc1BpY3RvZ3JhcGhzKGJvb2xlYW4gcHJlZmVyUGljdG9ncmFwaHMpOwogICAgIFtNYXlUaHJv
d0V4Y2VwdGlvbl0gdm9pZCBzZXRGb250TG9hZFRpbWluZ092ZXJyaWRlKEZvbnRMb2FkVGltaW5n
T3ZlcnJpZGUgb3ZlcnJpZGUpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRTaG91
bGRJZ25vcmVGb250TG9hZENvbXBsZXRpb25zKGJvb2xlYW4gaWdub3JlKTsKKyAgICBbTWF5VGhy
b3dFeGNlcHRpb25dIHZvaWQgc2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKGJvb2xl
YW4gaWdub3JlKTsKIAogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRUZXh0QXV0b3Np
emluZ0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZv
aWQgc2V0VGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUobG9uZyB3aWR0aCwgbG9uZyBo
ZWlnaHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMu
eWFtbCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggNDE3
NDY4MWFjZTdkZGY1ZGNmZDk0MzRkZWRiMjEyNjQ0MzFjZWY5OC4uZGZmNTU2OTgwYWY2ZWU3NDQ1
MDgzN2UyMzAyY2I0MmI4MzhiZjBiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUHJlZmVyZW5jZXMueWFtbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJl
bmNlcy55YW1sCkBAIC0xMTI2LDYgKzExMjYsMTAgQEAgU2hvdWxkQWxsb3dVc2VySW5zdGFsbGVk
Rm9udHM6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiB0cnVlCiAKK1Nob3VsZEFsbG93
RGVzaWduU3lzdGVtVUlGb250czoKKyAgdHlwZTogYm9vbAorICBkZWZhdWx0VmFsdWU6IGZhbHNl
CisKIE1lZGlhQ2FwYWJpbGl0aWVzRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFs
dWU6IHRydWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJl
ZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNl
cy5jcHAKaW5kZXggYTAzMTc5OGRlZmJmZDg2MGYxYWFlMjhiMmIyZDYxY2E1ZTIxNTZiMC4uNDli
OThkNjg2MDc2NmI3YTEwMTNiZWI3NmI5MjkxZjQyYjhhZTk1MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKQEAgLTIwMTAsNiArMjAxMCwx
NiBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyhX
S1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUgogICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5j
ZXNSZWYpLT5zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cygpOwogfQogCit2b2lkIFdLUHJl
ZmVyZW5jZXNTZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMoV0tQcmVmZXJlbmNlc1Jl
ZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKQoreworICAgIHRvSW1wbChwcmVmZXJlbmNlc1Jl
ZiktPnNldFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyhmbGFnKTsKK30KKworYm9vbCBX
S1ByZWZlcmVuY2VzR2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXNSZWYpCit7CisgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1Jl
ZiktPnNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cygpOworfQorCiB2b2lkIFdLUHJlZmVy
ZW5jZXNTZXRNZWRpYUNhcGFiaWxpdGllc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJl
bmNlc1JlZiwgYm9vbCBlbmFibGVkKQogewogICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNl
dE1lZGlhQ2FwYWJpbGl0aWVzRW5hYmxlZChlbmFibGVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCmluZGV4IDVj
MzM5OGNiMjc1NGZjYzRjMDVkNTNmMjZlOWQ2YTEzNzliZDg1MGMuLjdiMzA4MzQ4MDdhZTc3YmRj
ZmE4NjJjMjNmMDEyYTliMTljODAyZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaApAQCAtNTcxLDYgKzU3MSwx
MCBAQCBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0Q1NTT01WaWV3U2Nyb2xsaW5nQVBJ
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNT
ZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyhXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZs
YWcpOwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFNob3VsZEFsbG93VXNlckluc3Rh
bGxlZEZvbnRzKFdLUHJlZmVyZW5jZXNSZWYpOwogCisvLyBEZWZhdWx0cyB0byBmYWxzZS4KK1dL
X0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9u
dHMoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKK1dLX0VYUE9SVCBib29sIFdLUHJlZmVy
ZW5jZXNHZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMoV0tQcmVmZXJlbmNlc1JlZik7
CisKIC8vIERlZmF1bHRzIHRvIGZhbHNlLgogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1Nl
dEFsbG93Q3Jvc3NPcmlnaW5TdWJyZXNvdXJjZXNUb0Fza0ZvckNyZWRlbnRpYWxzKFdLUHJlZmVy
ZW5jZXNSZWYsIGJvb2wgZmxhZyk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0QWxs
b3dDcm9zc09yaWdpblN1YnJlc291cmNlc1RvQXNrRm9yQ3JlZGVudGlhbHMoV0tQcmVmZXJlbmNl
c1JlZik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQ
cmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZl
cmVuY2VzLm1tCmluZGV4IGUwNmY0N2U0MjFmMDE3YTVhNGM3ZTFlNmM3MGE4MTIwODU1MjFkZjku
Ljg1YzJhYjc1MGQ2NTA5OWM5ZTY0M2VkMDkwYzkyN2ViZjkxMTE1NzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzLm1tCkBAIC03MTMs
NiArNzEzLDE2IEBAIC0gKHZvaWQpX3NldFNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzOihC
T09MKV9zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cwogICAgIF9wcmVmZXJlbmNlcy0+c2V0
U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoX3Nob3VsZEFsbG93VXNlckluc3RhbGxlZEZv
bnRzKTsKIH0KIAorLSAoQk9PTClfc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzCit7Cisg
ICAgcmV0dXJuIF9wcmVmZXJlbmNlcy0+c2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKCk7
Cit9CisKKy0gKHZvaWQpX3NldFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250czooQk9PTClf
c2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzCit7CisgICAgX3ByZWZlcmVuY2VzLT5zZXRT
aG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMoX3Nob3VsZEFsbG93RGVzaWduU3lzdGVtVUlG
b250cyk7Cit9CisKIHN0YXRpYyBfV0tFZGl0YWJsZUxpbmtCZWhhdmlvciB0b0FQSShXZWJDb3Jl
OjpFZGl0YWJsZUxpbmtCZWhhdmlvciBiZWhhdmlvcikKIHsKICAgICBzd2l0Y2ggKGJlaGF2aW9y
KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVm
ZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1By
ZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IGVmMTgxOTM2Y2YxMzdlNmUxODY0NzE0OGY5MTcyZWI5
MjkyYzllODYuLjM5MDc0MjhhNTJiNjRkOGZhZjc5MDlkNzIyM2QyNGVhMDA5OGY0YmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVu
Y2VzUHJpdmF0ZS5oCkBAIC0xMjYsNiArMTI2LDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TSW50ZWdl
ciwgX1dLRWRpdGFibGVMaW5rQmVoYXZpb3IpIHsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0
ZXI9X3NldERPTVBhc3RlQWxsb3dlZDopIEJPT0wgX2RvbVBhc3RlQWxsb3dlZCBXS19BUElfQVZB
SUxBQkxFKG1hY29zKDEwLjEzKSwgaW9zKDExLjApKTsKIAogQHByb3BlcnR5IChub25hdG9taWMs
IHNldHRlcj1fc2V0U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHM6KSBCT09MIF9zaG91bGRB
bGxvd1VzZXJJbnN0YWxsZWRGb250cyBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEzLjQpLCBp
b3MoMTEuMykpOworQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0U2hvdWxkQWxsb3dE
ZXNpZ25TeXN0ZW1VSUZvbnRzOikgQk9PTCBfc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRz
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAK
IEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEVkaXRhYmxlTGlua0JlaGF2aW9yOikg
X1dLRWRpdGFibGVMaW5rQmVoYXZpb3IgX2VkaXRhYmxlTGlua0JlaGF2aW9yIFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3MoMTAuMTMuNCksIGlvcygxMS4zKSk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3Y2I4YTI2ZDAxNzI3
NGY0MjJmNmU2OWQxOTY0MzFmMmNjMWRhN2ZmLi4yNjVmOWM1NmNmNjE5OTcwNGQyYjI4MDY3NmU5
MTgwMzQ2NjBlYThjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDUgQEAKKzIwMTktMDctMTEgIE15bGVzIEMu
IE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBOZXcgWW9yayBlcnJv
bmVvdXNseSBnZXRzIHN5bnRoZXRpYyBib2xkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTk2NTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogZmFzdC90
ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTAtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTAuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTEtZXhwZWN0ZWQtbWlzbWF0Y2guaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTEuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTItZXhwZWN0ZWQt
bWlzbWF0Y2guaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0t
dWktMTIuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWkt
MTMtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2Rl
c2lnbi1zeXN0ZW0tdWktMTMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2Rlc2ln
bi1zeXN0ZW0tdWktMTQtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTUuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTYtZXhwZWN0ZWQtbWlzbWF0Y2gu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTYuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMi1leHBlY3Rl
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0yLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTMtZXhwZWN0
ZWQtbWlzbWF0Y2guaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2Rlc2lnbi1zeXN0
ZW0tdWktMy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvZGVzaWduLXN5c3RlbS11
aS00LWV4cGVjdGVkLW1pc21hdGNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9k
ZXNpZ24tc3lzdGVtLXVpLTQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2Rlc2ln
bi1zeXN0ZW0tdWktNS1leHBlY3RlZC1taXNtYXRjaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS01Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
dGV4dC9kZXNpZ24tc3lzdGVtLXVpLTYtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L3RleHQvZGVzaWduLXN5c3RlbS11aS03LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTcuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktOC1leHBlY3RlZC1taXNtYXRjaC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS04Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTktZXhwZWN0ZWQtbWlzbWF0Y2guaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktOS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS1leHBlY3RlZC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxOS0wNy0x
MSAgTWlndWVsIEdvbWV6ICA8bWFnb21lekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQgR1RLKyBnYXJkZW5pbmcuIFVwZGF0ZSBleHBlY3RhdGlvbnMgYWZ0ZXIgcjI0NzM0Ni4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zCmluZGV4IDBhZWNlZDVlNjk2ZWEwMDJkMzBiOGM1Mjg4NTAzNWFmMWYyNTU2
N2YuLmE0MzQ2MmJlMTJiNzUzYTIyMTBiZjgyMzI2MWNjNzM0ZWQ1NDdhYWYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMzQ0MywzICszNDQzLDExIEBAIHdlYmtpdC5vcmcvYi8xOTkwMzkgZWRpdGlu
Zy9kZWxldGluZy9zbWFydC1kZWxldGUtcGFyYWdyYXBoLTAwMy5odG1sIFsgU2tpcCBdCiB3ZWJr
aXQub3JnL2IvMTk5MDI4IHdlYmdwdS93aGxzbC10ZXN0LWhhcm5lc3MtdGVzdC5odG1sIFsgU2xv
dyBdCiAKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvb2Zm
c2V0VG9wTGVmdC1pbmxpbmUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorCisjIFRoZXNlIHRl
c3RzIG9ubHkgd29yayBvbiBzeXN0ZW1zIHdpdGggdGhlIGRlc2lnbiBzeXN0ZW0gdWkgZm9udHMg
aW5zdGFsbGVkLgorZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTEuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQorZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTIuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQorZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTMuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQorZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTQuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQorZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTUuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQorZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTYuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0
ZW0tdWktMTAtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9k
ZXNpZ24tc3lzdGVtLXVpLTEwLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWQ1
OWJhZWFjMDI3OTk3YWJhNzZhMGJlMWMwYzFmNTIxNjRhYjRjMQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTEwLWV4cGVjdGVkLW1pc21h
dGNoLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMu
c2V0dGluZ3Muc2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKHRydWUpOworPC9zY3Jp
cHQ+Cis8c3R5bGU+CitAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogIkFwcGxlU3lzdGVt
VUlSb3VuZGVkIjsKKyAgICBzcmM6IGxvY2FsKCItYXBwbGUtc3lzdGVtLXVpLXJvdW5kZWQiKTsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5
OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IDcycHggJ0FwcGxlU3lzdGVtVUlSb3VuZGVkJzsgZm9udC1z
eW50aGVzaXM6IG5vbmU7Ij5IZUpsbG88L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTAuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTEwLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNWY2YTNlYjY4NTRjNTIzNWEzZTcwZWRkZWQwMjQ0ZTZmMGIzNGRmOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTEwLmh0bWwK
QEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKHRydWUpOworPC9zY3JpcHQ+Cis8c3R5
bGU+CitAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogIkFwcGxlU3lzdGVtVUlSb3VuZGVk
IjsKKyAgICBzcmM6IGxvY2FsKCItYXBwbGUtc3lzdGVtLXVpLXJvdW5kZWQiKTsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUt
YmxvY2s7IGZvbnQ6IGJvbGQgNzJweCAnQXBwbGVTeXN0ZW1VSVJvdW5kZWQnOyBmb250LXN5bnRo
ZXNpczogbm9uZTsiPkhlSmxsbzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xMS1leHBlY3Rl
ZC1taXNtYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWkt
MTEtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNTM3OTRhNzExNjQ4NmQxNDZj
MjZjNWJiYzJmOWRiMWY3ZDhlMWQ4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTEtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApAQCAtMCww
ICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTog
NzJweDsiPkhlSmxsbzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xMS5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTEuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNDAz
YTdjMGU4YmVjNmM1MTk3ZDY1NzhkYWVkNGQwZmI1MmM1Yzk3Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTEuaHRtbApAQCAtMCwwICsx
LDE0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdp
bmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTaG91bGRB
bGxvd0Rlc2lnblN5c3RlbVVJRm9udHModHJ1ZSk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogNzJweCAn
LWFwcGxlLXN5c3RlbS11aS1zZXJpZic7Ij5IZUpsbG88L2Rpdj4KKzwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0t
dWktMTItZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNp
Z24tc3lzdGVtLXVpLTEyLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjUzNzk0
YTcxMTY0ODZkMTQ2YzI2YzViYmMyZjlkYjFmN2Q4ZTFkOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTEyLWV4cGVjdGVkLW1pc21hdGNo
Lmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2Nr
OyBmb250LXNpemU6IDcycHg7Ij5IZUpsbG88L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTIu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTEyLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMmEzOTYzNzhmOTM3YWIyNGE0MmJkNWJlOGVkOTJiYWE5Mzc1YjBlMQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTEyLmh0
bWwKQEAgLTAsMCArMSwxNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKHRydWUpOworPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7
IGZvbnQ6IDcycHggJy1hcHBsZS1zeXN0ZW0tdWktbW9ub3NwYWNlZCc7Ij5IZUpsbG88L2Rpdj4K
KzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTMtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTEzLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjUzNzk0YTcxMTY0ODZkMTQ2YzI2YzViYmMyZjlkYjFmN2Q4ZTFkOAotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTEz
LWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PgorPGRpdiBzdHlsZT0iZGlz
cGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDcycHg7Ij5IZUpsbG88L2Rpdj4KKzwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rl
c2lnbi1zeXN0ZW0tdWktMTMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lz
dGVtLXVpLTEzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzYxNDM5MTVhMDVhN2QxNTMzZjcwOWVjNzJmNDUy
ODRhYjY1ZTZhYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNp
Z24tc3lzdGVtLXVpLTEzLmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRv
dy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKHRy
dWUpOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+Cis8ZGl2IHN0eWxlPSJkaXNw
bGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IDcycHggJy1hcHBsZS1zeXN0ZW0tdWktcm91bmRlZCc7
Ij5IZUpsbG88L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTQtZXhwZWN0ZWQtbWlzbWF0Y2gu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTE0LWV4cGVjdGVk
LW1pc21hdGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjUzNzk0YTcxMTY0ODZkMTQ2YzI2YzViYmMyZjlk
YjFmN2Q4ZTFkOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNp
Z24tc3lzdGVtLXVpLTE0LWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKQEAgLTAsMCArMSwxMCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2Pgor
PGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDcycHg7Ij5IZUps
bG88L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC9kZXNpZ24tc3lzdGVtLXVpLTE0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDVjYTY2YmMxOWZiN2Fh
YzVkZjI5MThhZTU2NmU1M2JmZDk5ZDMyYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTE0Lmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJu
YWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U2hvdWxkQWxsb3dEZXNpZ25T
eXN0ZW1VSUZvbnRzKHRydWUpOworPC9zY3JpcHQ+Cis8c3R5bGU+CitAZm9udC1mYWNlIHsKKyAg
ICBmb250LWZhbWlseTogIkFwcGxlU3lzdGVtVUlTZXJpZiI7CisgICAgc3JjOiBsb2NhbCgiLWFw
cGxlLXN5c3RlbS11aS1zZXJpZiIpOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRp
dj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogNzJweCAnQXBwbGVT
eXN0ZW1VSVNlcmlmJzsiPkhlSmxsbzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xNS1leHBl
Y3RlZC1taXNtYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0t
dWktMTUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNTM3OTRhNzExNjQ4NmQx
NDZjMjZjNWJiYzJmOWRiMWY3ZDhlMWQ4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApAQCAt
MCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6
ZTogNzJweDsiPkhlSmxsbzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xNS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
YTZmZmZhMDM0MjBkOWY1NTlhZjQ1ZjczYTNiNjU1M2Y1Nzk0NDU4Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTUuaHRtbApAQCAtMCww
ICsxLDIwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYg
KHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTaG91
bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHModHJ1ZSk7Cis8L3NjcmlwdD4KKzxzdHlsZT4KK0Bm
b250LWZhY2UgeworICAgIGZvbnQtZmFtaWx5OiAiQXBwbGVTeXN0ZW1VSU1vbm9zcGFjZWQiOwor
ICAgIHNyYzogbG9jYWwoIi1hcHBsZS1zeXN0ZW0tdWktbW9ub3NwYWNlZCIpOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1i
bG9jazsgZm9udDogNzJweCAnQXBwbGVTeXN0ZW1VSU1vbm9zcGFjZWQnOyI+SGVKbGxvPC9kaXY+
Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC9kZXNpZ24tc3lzdGVtLXVpLTE2LWV4cGVjdGVkLW1pc21hdGNoLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xNi1leHBlY3RlZC1taXNtYXRjaC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjI1Mzc5NGE3MTE2NDg2ZDE0NmMyNmM1YmJjMmY5ZGIxZjdkOGUxZDgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0x
Ni1leHBlY3RlZC1taXNtYXRjaC5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj4KKzxkaXYgc3R5bGU9ImRp
c3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiA3MnB4OyI+SGVKbGxvPC9kaXY+Cis8L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9k
ZXNpZ24tc3lzdGVtLXVpLTE2Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5
c3RlbS11aS0xNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc3MWQzOGRjNGY2ZmQ1Yzk3YjE2ZjQ1MTc0NzFm
MzlmYTA2Yjc3NzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVz
aWduLXN5c3RlbS11aS0xNi5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykKKyAgICB3aW5k
b3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyh0
cnVlKTsKKzwvc2NyaXB0PgorPHN0eWxlPgorQGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6
ICJBcHBsZVN5c3RlbVVJUm91bmRlZCI7CisgICAgc3JjOiBsb2NhbCgiLWFwcGxlLXN5c3RlbS11
aS1yb3VuZGVkIik7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PgorPGRpdiBz
dHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiA3MnB4ICdBcHBsZVN5c3RlbVVJUm91
bmRlZCc7Ij5IZUpsbG88L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMi1leHBlY3RlZC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMi1leHBlY3RlZC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjVhZGMzNjI1ZGI3M2ZiM2UxMzFiM2Q2NjNiNjZkYTNhZDU4MTQ5OTkKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0y
LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRl
cm5hbHMuc2V0dGluZ3Muc2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKHRydWUpOwor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgdGhl
IGRlc2lnbiBzeXN0ZW0gVUkgZm9udHMgZG9uJ3Qgd29yayB1bmxlc3MgdGhlIHNob3VsZEFsbG93
RGVzaWduU3lzdGVtVUlGb250cyBwcmVmZXJlbmNlIGlzIHNldC4gVGhlIHRlc3QgcGFzc2VzIGlm
IGFsbCB0aGUgdGV4dCBiZWxvdyBpcyBib2xkLgorPGRpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6
IGlubGluZS1ibG9jazsgZm9udDogYm9sZCA3MnB4ICctYXBwbGUtc3lzdGVtLXVpLXNlcmlmJzsi
PkhlSmxsbzwvZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiBi
b2xkIDcycHggJy1hcHBsZS1zeXN0ZW0tdWktbW9ub3NwYWNlZCc7Ij5IZUpsbG88L2Rpdj4KKzxk
aXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogYm9sZCA3MnB4ICctYXBwbGUt
c3lzdGVtLXVpLXJvdW5kZWQnOyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBp
bmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJweCAnLkFwcGxlU3lzdGVtVUlGb250U2VyaWYnOyI+
SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IGJv
bGQgNzJweCAnLlNGIE5TIE1vbm8nOyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5
OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJweCAnLlNGIFVJIE1vbm8nOyI+SGVKbGxvPC9k
aXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJweCAn
LkFwcGxlU3lzdGVtVUlGb250Um91bmRlZCc7Ij5IZUpsbG88L2Rpdj4KKzwvZGl2PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0
ZW0tdWktMi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjc3ZjY2Y2RiM2VjOTA2MWQ0Mzk5MmQyNDZjMzEzMGQ4NTZlMmMwZjgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11
aS0yLmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMu
c2V0dGluZ3Muc2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKHRydWUpOworPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgdGhlIGRlc2ln
biBzeXN0ZW0gVUkgZm9udHMgZG9uJ3Qgd29yayB1bmxlc3MgdGhlIHNob3VsZEFsbG93RGVzaWdu
U3lzdGVtVUlGb250cyBwcmVmZXJlbmNlIGlzIHNldC4gVGhlIHRlc3QgcGFzc2VzIGlmIGFsbCB0
aGUgdGV4dCBiZWxvdyBpcyBib2xkLgorPGRpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGlu
ZS1ibG9jazsgZm9udDogYm9sZCA3MnB4ICctYXBwbGUtc3lzdGVtLXVpLXNlcmlmJzsgZm9udC1z
eW50aGVzaXM6IG5vbmU7Ij5IZUpsbG88L2Rpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGlu
ZS1ibG9jazsgZm9udDogYm9sZCA3MnB4ICctYXBwbGUtc3lzdGVtLXVpLW1vbm9zcGFjZWQnOyBm
b250LXN5bnRoZXNpczogbm9uZTsiPkhlSmxsbzwvZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTog
aW5saW5lLWJsb2NrOyBmb250OiBib2xkIDcycHggJy1hcHBsZS1zeXN0ZW0tdWktcm91bmRlZCc7
IGZvbnQtc3ludGhlc2lzOiBub25lOyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5
OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJweCAnLkFwcGxlU3lzdGVtVUlGb250U2VyaWYn
OyBmb250LXN5bnRoZXNpczogbm9uZTsiPkhlSmxsbzwvZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxh
eTogaW5saW5lLWJsb2NrOyBmb250OiBib2xkIDcycHggJy5TRiBOUyBNb25vJzsgZm9udC1zeW50
aGVzaXM6IG5vbmU7Ij5IZUpsbG88L2Rpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1i
bG9jazsgZm9udDogYm9sZCA3MnB4ICcuU0YgVUkgTW9ubyc7IGZvbnQtc3ludGhlc2lzOiBub25l
OyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6
IGJvbGQgNzJweCAnLkFwcGxlU3lzdGVtVUlGb250Um91bmRlZCc7IGZvbnQtc3ludGhlc2lzOiBu
b25lOyI+SGVKbGxvPC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTMtZXhwZWN0ZWQtbWlzbWF0
Y2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTMtZXhwZWN0
ZWQtbWlzbWF0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MTYxMzhmNjMyM2FkNmE0NmEzNTY0N2JhODQy
ZGI3OGZkMDUzZWI0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rl
c2lnbi1zeXN0ZW0tdWktMy1leHBlY3RlZC1taXNtYXRjaC5odG1sCkBAIC0wLDAgKzEsMTQgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93Lmlu
dGVybmFscykKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFNob3VsZEFsbG93RGVz
aWduU3lzdGVtVUlGb250cyh0cnVlKTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiA3MnB4ICctYXBwbGUt
c3lzdGVtLXVpLXNlcmlmJzsgZm9udC1zeW50aGVzaXM6IG5vbmU7Ij5IZUpsbG88L2Rpdj4KKzwv
ZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
L2Rlc2lnbi1zeXN0ZW0tdWktMy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1z
eXN0ZW0tdWktMy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM1MzM0YTY5MmQxYzZkYTE3ZjRmZGIxZmIzOGY2
YTE1ODI4ZjZmNDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVz
aWduLXN5c3RlbS11aS0zLmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRv
dy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKHRy
dWUpOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+Cis8ZGl2IHN0eWxlPSJkaXNw
bGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJweCAnLWFwcGxlLXN5c3RlbS11aS1zZXJp
Zic7IGZvbnQtc3ludGhlc2lzOiBub25lOyI+SGVKbGxvPC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVt
LXVpLTQtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNp
Z24tc3lzdGVtLXVpLTQtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYzJlNDhh
Y2YxNjBmMzQ4MDFjYTUyMGUwOTA0OWQ0NmE5NmQ0ZTk4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktNC1leHBlY3RlZC1taXNtYXRjaC5o
dG1sCkBAIC0wLDAgKzEsMTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRp
bmdzLnNldFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyh0cnVlKTsKKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2Nr
OyBmb250OiA3MnB4ICctYXBwbGUtc3lzdGVtLXVpLW1vbm9zcGFjZWQnOyBmb250LXN5bnRoZXNp
czogbm9uZTsiPkhlSmxsbzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS00Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS00Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODM3
ZjJiYTVkY2VkZTE4N2YxM2NjMTZjYjNkODdjM2U2MGZhNjkyYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTQuaHRtbApAQCAtMCwwICsx
LDE0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdp
bmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTaG91bGRB
bGxvd0Rlc2lnblN5c3RlbVVJRm9udHModHJ1ZSk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogYm9sZCA3
MnB4ICctYXBwbGUtc3lzdGVtLXVpLW1vbm9zcGFjZWQnOyBmb250LXN5bnRoZXNpczogbm9uZTsi
PkhlSmxsbzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS01LWV4cGVjdGVkLW1pc21hdGNoLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS01LWV4cGVjdGVkLW1p
c21hdGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE4NmNlNmE5OTAwMjhiMTc1NzUzNTcyNjFiN2JlMjhi
YjIyNjBhYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24t
c3lzdGVtLXVpLTUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApAQCAtMCwwICsxLDE0IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5h
bHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTaG91bGRBbGxvd0Rlc2lnblN5
c3RlbVVJRm9udHModHJ1ZSk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj4KKzxk
aXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogNzJweCAnLWFwcGxlLXN5c3Rl
bS11aS1yb3VuZGVkJzsgZm9udC1zeW50aGVzaXM6IG5vbmU7Ij5IZUpsbG88L2Rpdj4KKzwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rl
c2lnbi1zeXN0ZW0tdWktNS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0
ZW0tdWktNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNmYTZmYWVmNjc1NjY1ZWFmYmEwNjUwYzVkNThkMmY5
MzQxYWYxMjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWdu
LXN5c3RlbS11aS01Lmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5p
bnRlcm5hbHMuc2V0dGluZ3Muc2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKHRydWUp
OworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5
OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJweCAnLWFwcGxlLXN5c3RlbS11aS1yb3VuZGVk
JzsgZm9udC1zeW50aGVzaXM6IG5vbmU7Ij5IZUpsbG88L2Rpdj4KKzwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0t
dWktNi1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0t
dWktNi1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2Y2RhZWQ3NmM4ZjBjMzQ3NjM4MzYzMjVi
N2VmMzRlNTcwOWZjYmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQv
ZGVzaWduLXN5c3RlbS11aS02LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNyBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+CitUaGlzIHRlc3QgbWFr
ZXMgc3VyZSB0aGF0IHRoZSBkZXNpZ24gc3lzdGVtIFVJIGZvbnRzIGRvbid0IHdvcmsgdW5sZXNz
IHRoZSBzaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMgcHJlZmVyZW5jZSBpcyBzZXQuIFRo
ZSB0ZXN0IHBhc3NlcyBpZiBhbGwgdGhlIHRleHQgYmVsb3cgaXMgcmVuZGVyZWQgaW4gVGltZXMu
Cis8ZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDcy
cHg7Ij5IZUpsbG88L2Rpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9u
dC1zaXplOiA3MnB4OyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUt
YmxvY2s7IGZvbnQtc2l6ZTogNzJweDsiPkhlSmxsbzwvZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxh
eTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDcycHg7Ij5IZUpsbG88L2Rpdj4KKzxkaXYgc3R5
bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiA3MnB4OyI+SGVKbGxvPC9kaXY+
Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogNzJweDsiPkhl
SmxsbzwvZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6
IDcycHg7Ij5IZUpsbG88L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktNi5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEyZGFi
YjY1ZGFmNDM4ZTZlMzU4MGQwZmNmZDc0MjEwZjdhZDcxYmUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS02Lmh0bWwKQEAgLTAsMCArMSw0
NyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorQGZvbnQtZmFj
ZSB7CisgICAgZm9udC1mYW1pbHk6ICJBcHBsZVN5c3RlbVVJU2VyaWYiOworICAgIHNyYzogbG9j
YWwoIi1hcHBsZS1zeXN0ZW0tdWktc2VyaWYiKTsKK30KK0Bmb250LWZhY2UgeworICAgIGZvbnQt
ZmFtaWx5OiAiQXBwbGVTeXN0ZW1VSU1vbm9zcGFjZWQiOworICAgIHNyYzogbG9jYWwoIi1hcHBs
ZS1zeXN0ZW0tdWktbW9ub3NwYWNlZCIpOworfQorQGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1p
bHk6ICJBcHBsZVN5c3RlbVVJUm91bmRlZCI7CisgICAgc3JjOiBsb2NhbCgiLWFwcGxlLXN5c3Rl
bS11aS1yb3VuZGVkIik7Cit9CitAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogIkRvdEFw
cGxlU3lzdGVtVUlGb250U2VyaWYiOworICAgIHNyYzogbG9jYWwoIi5BcHBsZVN5c3RlbVVJRm9u
dFNlcmlmIik7Cit9CitAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogIkRvdFNGTlNNb25v
IjsKKyAgICBzcmM6IGxvY2FsKCIuU0YgTlMgTW9ubyIpOworfQorQGZvbnQtZmFjZSB7CisgICAg
Zm9udC1mYW1pbHk6ICJEb3RTRlVJTW9ubyI7CisgICAgc3JjOiBsb2NhbCgiLlNGIFVJIE1vbm8i
KTsKK30KK0Bmb250LWZhY2UgeworICAgIGZvbnQtZmFtaWx5OiAiRG90QXBwbGVTeXN0ZW1VSUZv
bnRSb3VuZGVkIjsKKyAgICBzcmM6IGxvY2FsKCIuQXBwbGVTeXN0ZW1VSUZvbnRSb3VuZGVkIik7
Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CitUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0
IHRoZSBkZXNpZ24gc3lzdGVtIFVJIGZvbnRzIGRvbid0IHdvcmsgdW5sZXNzIHRoZSBzaG91bGRB
bGxvd0Rlc2lnblN5c3RlbVVJRm9udHMgcHJlZmVyZW5jZSBpcyBzZXQuIFRoZSB0ZXN0IHBhc3Nl
cyBpZiBhbGwgdGhlIHRleHQgYmVsb3cgaXMgcmVuZGVyZWQgaW4gVGltZXMuCis8ZGl2PgorPGRp
diBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiA3MnB4ICdBcHBsZVN5c3RlbVVJ
U2VyaWYnOyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7
IGZvbnQ6IDcycHggJ0FwcGxlU3lzdGVtVUlNb25vc3BhY2VkJzsiPkhlSmxsbzwvZGl2PgorPGRp
diBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiA3MnB4ICdBcHBsZVN5c3RlbVVJ
Um91bmRlZCc7Ij5IZUpsbG88L2Rpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9j
azsgZm9udDogNzJweCAnRG90QXBwbGVTeXN0ZW1VSUZvbnRTZXJpZic7Ij5IZUpsbG88L2Rpdj4K
KzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogNzJweCAnRG90U0ZOU01v
bm8nOyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZv
bnQ6IDcycHggJ0RvdFNGVUlNb25vJzsiPkhlSmxsbzwvZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxh
eTogaW5saW5lLWJsb2NrOyBmb250OiA3MnB4ICdEb3RBcHBsZVN5c3RlbVVJRm9udFJvdW5kZWQn
OyI+SGVKbGxvPC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTctZXhwZWN0ZWQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTctZXhwZWN0ZWQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40NzUzODcwMzdjMDU1MzJkM2M5NGYxMWFhNmYyZjkyMWViMGM4ZDQ3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktNy1leHBl
Y3RlZC5odG1sCkBAIC0wLDAgKzEsNTEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykKKyAgICB3aW5kb3cuaW50ZXJuYWxz
LnNldHRpbmdzLnNldFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyh0cnVlKTsKKzwvc2Ny
aXB0PgorPHN0eWxlPgorQGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6ICJBcHBsZVN5c3Rl
bVVJU2VyaWYiOworICAgIHNyYzogbG9jYWwoIi1hcHBsZS1zeXN0ZW0tdWktc2VyaWYiKTsKK30K
K0Bmb250LWZhY2UgeworICAgIGZvbnQtZmFtaWx5OiAiQXBwbGVTeXN0ZW1VSU1vbm9zcGFjZWQi
OworICAgIHNyYzogbG9jYWwoIi1hcHBsZS1zeXN0ZW0tdWktbW9ub3NwYWNlZCIpOworfQorQGZv
bnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6ICJBcHBsZVN5c3RlbVVJUm91bmRlZCI7CisgICAg
c3JjOiBsb2NhbCgiLWFwcGxlLXN5c3RlbS11aS1yb3VuZGVkIik7Cit9CitAZm9udC1mYWNlIHsK
KyAgICBmb250LWZhbWlseTogIkRvdEFwcGxlU3lzdGVtVUlGb250U2VyaWYiOworICAgIHNyYzog
bG9jYWwoIi5BcHBsZVN5c3RlbVVJRm9udFNlcmlmIik7Cit9CitAZm9udC1mYWNlIHsKKyAgICBm
b250LWZhbWlseTogIkRvdFNGTlNNb25vIjsKKyAgICBzcmM6IGxvY2FsKCIuU0YgTlMgTW9ubyIp
OworfQorQGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6ICJEb3RTRlVJTW9ubyI7CisgICAg
c3JjOiBsb2NhbCgiLlNGIFVJIE1vbm8iKTsKK30KK0Bmb250LWZhY2UgeworICAgIGZvbnQtZmFt
aWx5OiAiRG90QXBwbGVTeXN0ZW1VSUZvbnRSb3VuZGVkIjsKKyAgICBzcmM6IGxvY2FsKCIuQXBw
bGVTeXN0ZW1VSUZvbnRSb3VuZGVkIik7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CitU
aGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHRoZSBkZXNpZ24gc3lzdGVtIFVJIGZvbnRzIGRvbid0
IHdvcmsgdW5sZXNzIHRoZSBzaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMgcHJlZmVyZW5j
ZSBpcyBzZXQuIFRoZSB0ZXN0IHBhc3NlcyBpZiBhbGwgdGhlIHRleHQgYmVsb3cgaXMgYm9sZC4K
KzxkaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJw
eCAnQXBwbGVTeXN0ZW1VSVNlcmlmJzsiPkhlSmxsbzwvZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxh
eTogaW5saW5lLWJsb2NrOyBmb250OiBib2xkIDcycHggJ0FwcGxlU3lzdGVtVUlNb25vc3BhY2Vk
JzsiPkhlSmxsbzwvZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250
OiBib2xkIDcycHggJ0FwcGxlU3lzdGVtVUlSb3VuZGVkJzsiPkhlSmxsbzwvZGl2PgorPGRpdiBz
dHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiBib2xkIDcycHggJ0RvdEFwcGxlU3lz
dGVtVUlGb250U2VyaWYnOyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxp
bmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJweCAnRG90U0ZOU01vbm8nOyI+SGVKbGxvPC9kaXY+Cis8
ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJweCAnRG90U0ZV
SU1vbm8nOyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7
IGZvbnQ6IGJvbGQgNzJweCAnRG90QXBwbGVTeXN0ZW1VSUZvbnRSb3VuZGVkJzsiPkhlSmxsbzwv
ZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS03Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQv
ZGVzaWduLXN5c3RlbS11aS03Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjE2ZDg3ZDM5NzE1MzY2OWIyNTE5
N2Q1ZDJmOWIxODhkYTU3NTA3YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC9kZXNpZ24tc3lzdGVtLXVpLTcuaHRtbApAQCAtMCwwICsxLDUxIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisg
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJ
Rm9udHModHJ1ZSk7Cis8L3NjcmlwdD4KKzxzdHlsZT4KK0Bmb250LWZhY2UgeworICAgIGZvbnQt
ZmFtaWx5OiAiQXBwbGVTeXN0ZW1VSVNlcmlmIjsKKyAgICBzcmM6IGxvY2FsKCItYXBwbGUtc3lz
dGVtLXVpLXNlcmlmIik7Cit9CitAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogIkFwcGxl
U3lzdGVtVUlNb25vc3BhY2VkIjsKKyAgICBzcmM6IGxvY2FsKCItYXBwbGUtc3lzdGVtLXVpLW1v
bm9zcGFjZWQiKTsKK30KK0Bmb250LWZhY2UgeworICAgIGZvbnQtZmFtaWx5OiAiQXBwbGVTeXN0
ZW1VSVJvdW5kZWQiOworICAgIHNyYzogbG9jYWwoIi1hcHBsZS1zeXN0ZW0tdWktcm91bmRlZCIp
OworfQorQGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6ICJEb3RBcHBsZVN5c3RlbVVJRm9u
dFNlcmlmIjsKKyAgICBzcmM6IGxvY2FsKCIuQXBwbGVTeXN0ZW1VSUZvbnRTZXJpZiIpOworfQor
QGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6ICJEb3RTRk5TTW9ubyI7CisgICAgc3JjOiBs
b2NhbCgiLlNGIE5TIE1vbm8iKTsKK30KK0Bmb250LWZhY2UgeworICAgIGZvbnQtZmFtaWx5OiAi
RG90U0ZVSU1vbm8iOworICAgIHNyYzogbG9jYWwoIi5TRiBVSSBNb25vIik7Cit9CitAZm9udC1m
YWNlIHsKKyAgICBmb250LWZhbWlseTogIkRvdEFwcGxlU3lzdGVtVUlGb250Um91bmRlZCI7Cisg
ICAgc3JjOiBsb2NhbCgiLkFwcGxlU3lzdGVtVUlGb250Um91bmRlZCIpOworfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCB0aGUgZGVzaWduIHN5
c3RlbSBVSSBmb250cyBkb24ndCB3b3JrIHVubGVzcyB0aGUgc2hvdWxkQWxsb3dEZXNpZ25TeXN0
ZW1VSUZvbnRzIHByZWZlcmVuY2UgaXMgc2V0LiBUaGUgdGVzdCBwYXNzZXMgaWYgYWxsIHRoZSB0
ZXh0IGJlbG93IGlzIGJvbGQuCis8ZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJs
b2NrOyBmb250OiBib2xkIDcycHggJ0FwcGxlU3lzdGVtVUlTZXJpZic7IGZvbnQtc3ludGhlc2lz
OiBub25lOyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7
IGZvbnQ6IGJvbGQgNzJweCAnQXBwbGVTeXN0ZW1VSU1vbm9zcGFjZWQnOyBmb250LXN5bnRoZXNp
czogbm9uZTsiPkhlSmxsbzwvZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2Nr
OyBmb250OiBib2xkIDcycHggJ0FwcGxlU3lzdGVtVUlSb3VuZGVkJzsgZm9udC1zeW50aGVzaXM6
IG5vbmU7Ij5IZUpsbG88L2Rpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsg
Zm9udDogYm9sZCA3MnB4ICdEb3RBcHBsZVN5c3RlbVVJRm9udFNlcmlmJzsgZm9udC1zeW50aGVz
aXM6IG5vbmU7Ij5IZUpsbG88L2Rpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9j
azsgZm9udDogYm9sZCA3MnB4ICdEb3RTRk5TTW9ubyc7IGZvbnQtc3ludGhlc2lzOiBub25lOyI+
SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IGJv
bGQgNzJweCAnRG90U0ZVSU1vbm8nOyBmb250LXN5bnRoZXNpczogbm9uZTsiPkhlSmxsbzwvZGl2
PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiBib2xkIDcycHggJ0Rv
dEFwcGxlU3lzdGVtVUlGb250Um91bmRlZCc7IGZvbnQtc3ludGhlc2lzOiBub25lOyI+SGVKbGxv
PC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTgtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTgtZXhwZWN0ZWQtbWlzbWF0Y2gu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45ZTk4MDQ5OTIzNDA4N2Y4NDNhN2IxNTg2NGViNjNhYWM5MTExYjRi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0t
dWktOC1leHBlY3RlZC1taXNtYXRjaC5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykKKyAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlG
b250cyh0cnVlKTsKKzwvc2NyaXB0PgorPHN0eWxlPgorQGZvbnQtZmFjZSB7CisgICAgZm9udC1m
YW1pbHk6ICJBcHBsZVN5c3RlbVVJU2VyaWYiOworICAgIHNyYzogbG9jYWwoIi1hcHBsZS1zeXN0
ZW0tdWktc2VyaWYiKTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+Cis8ZGl2
IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IDcycHggJ0FwcGxlU3lzdGVtVUlT
ZXJpZic7IGZvbnQtc3ludGhlc2lzOiBub25lOyI+SGVKbGxvPC9kaXY+Cis8L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lz
dGVtLXVpLTguaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTgu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40OWExZDFkMWRmNDg0ZjU1MmM4YTViZjI5NzQ3YjQ2NjEyOTYwYWUz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0t
dWktOC5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykKKyAgICB3aW5kb3cuaW50ZXJuYWxz
LnNldHRpbmdzLnNldFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyh0cnVlKTsKKzwvc2Ny
aXB0PgorPHN0eWxlPgorQGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6ICJBcHBsZVN5c3Rl
bVVJU2VyaWYiOworICAgIHNyYzogbG9jYWwoIi1hcHBsZS1zeXN0ZW0tdWktc2VyaWYiKTsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBp
bmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJweCAnQXBwbGVTeXN0ZW1VSVNlcmlmJzsgZm9udC1z
eW50aGVzaXM6IG5vbmU7Ij5IZUpsbG88L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktOS1leHBl
Y3RlZC1taXNtYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0t
dWktOS1leHBlY3RlZC1taXNtYXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUwZmJmNzgyZDU0M2RmZDcy
NDlkYWEyYjg1MGUzM2RhMjQzNjI2YTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS05LWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKQEAgLTAs
MCArMSwyMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lm
ICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U2hv
dWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKHRydWUpOworPC9zY3JpcHQ+Cis8c3R5bGU+CitA
Zm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogIkFwcGxlU3lzdGVtVUlNb25vc3BhY2VkIjsK
KyAgICBzcmM6IGxvY2FsKCItYXBwbGUtc3lzdGVtLXVpLW1vbm9zcGFjZWQiKTsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUt
YmxvY2s7IGZvbnQ6IDcycHggJ0FwcGxlU3lzdGVtVUlNb25vc3BhY2VkJzsgZm9udC1zeW50aGVz
aXM6IG5vbmU7Ij5IZUpsbG88L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktOS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktOS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2
OWVlYjQxN2NiZjBjMTIwMmM0MDI2NzVhMTc3OTQ1ZjdlNzc1ZDkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS05Lmh0bWwKQEAgLTAsMCAr
MSwyMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3
aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U2hvdWxk
QWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKHRydWUpOworPC9zY3JpcHQ+Cis8c3R5bGU+CitAZm9u
dC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogIkFwcGxlU3lzdGVtVUlNb25vc3BhY2VkIjsKKyAg
ICBzcmM6IGxvY2FsKCItYXBwbGUtc3lzdGVtLXVpLW1vbm9zcGFjZWQiKTsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxv
Y2s7IGZvbnQ6IGJvbGQgNzJweCAnQXBwbGVTeXN0ZW1VSU1vbm9zcGFjZWQnOyBmb250LXN5bnRo
ZXNpczogbm9uZTsiPkhlSmxsbzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS1leHBlY3RlZC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktZXhwZWN0ZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iNmNkYWVkNzZjOGYwYzM0NzYzODM2MzI1YjdlZjM0ZTU3MDlmY2JiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWkt
ZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgdGhlIGRl
c2lnbiBzeXN0ZW0gVUkgZm9udHMgZG9uJ3Qgd29yayB1bmxlc3MgdGhlIHNob3VsZEFsbG93RGVz
aWduU3lzdGVtVUlGb250cyBwcmVmZXJlbmNlIGlzIHNldC4gVGhlIHRlc3QgcGFzc2VzIGlmIGFs
bCB0aGUgdGV4dCBiZWxvdyBpcyByZW5kZXJlZCBpbiBUaW1lcy4KKzxkaXY+Cis8ZGl2IHN0eWxl
PSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogNzJweDsiPkhlSmxsbzwvZGl2Pgor
PGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDcycHg7Ij5IZUps
bG88L2Rpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiA3
MnB4OyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZv
bnQtc2l6ZTogNzJweDsiPkhlSmxsbzwvZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5l
LWJsb2NrOyBmb250LXNpemU6IDcycHg7Ij5IZUpsbG88L2Rpdj4KKzxkaXYgc3R5bGU9ImRpc3Bs
YXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiA3MnB4OyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0
eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogNzJweDsiPkhlSmxsbzwvZGl2
PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3RleHQvZGVzaWduLXN5c3RlbS11aS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2ln
bi1zeXN0ZW0tdWkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MDQ3MGMwNzBkYzc3MGY1MWJmZDY3YTU3ZGU3
ZGQ1ZTIyY2FkNDg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rl
c2lnbi1zeXN0ZW0tdWkuaHRtbApAQCAtMCwwICsxLDE3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQg
dGhlIGRlc2lnbiBzeXN0ZW0gVUkgZm9udHMgZG9uJ3Qgd29yayB1bmxlc3MgdGhlIHNob3VsZEFs
bG93RGVzaWduU3lzdGVtVUlGb250cyBwcmVmZXJlbmNlIGlzIHNldC4gVGhlIHRlc3QgcGFzc2Vz
IGlmIGFsbCB0aGUgdGV4dCBiZWxvdyBpcyByZW5kZXJlZCBpbiBUaW1lcy4KKzxkaXY+Cis8ZGl2
IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IDcycHggJy1hcHBsZS1zeXN0ZW0t
dWktc2VyaWYnOyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxv
Y2s7IGZvbnQ6IDcycHggJy1hcHBsZS1zeXN0ZW0tdWktbW9ub3NwYWNlZCc7Ij5IZUpsbG88L2Rp
dj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogNzJweCAnLWFwcGxl
LXN5c3RlbS11aS1yb3VuZGVkJzsiPkhlSmxsbzwvZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTog
aW5saW5lLWJsb2NrOyBmb250OiA3MnB4ICcuQXBwbGVTeXN0ZW1VSUZvbnRTZXJpZic7Ij5IZUps
bG88L2Rpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogNzJweCAn
LlNGIE5TIE1vbm8nOyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUt
YmxvY2s7IGZvbnQ6IDcycHggJy5TRiBVSSBNb25vJzsiPkhlSmxsbzwvZGl2PgorPGRpdiBzdHls
ZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiA3MnB4ICcuQXBwbGVTeXN0ZW1VSUZvbnRS
b3VuZGVkJzsiPkhlSmxsbzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDI4ODQxYTg2OWIwZDQzYmRm
N2ViOTYzOGMzYTdlOTJjMWEwYmI1OGUuLjRhYWRiMWU5MGRiNDRjYjA2NWU3YzViMzZjMGZiMmUy
ZDIzYjNlMWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBA
IC0xOTcyLDMgKzE5NzIsMTEgQEAgd2Via2l0Lm9yZy9iLzE5NTYzNSBzY3JvbGxpbmdjb29yZGlu
YXRvci9tYWMvbXVsdGlwbGUtZml4ZWQuaHRtbCBbIFBhc3MgVGltZW91dAogWyBDYXRhbGluYSsg
XSBodHRwL3dwdC9yZXNvdXJjZS10aW1pbmcvcnQtaW5pdGlhdG9yVHlwZS1zY3JpcHQtbW9kdWxl
Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogWyBDYXRhbGluYSsgXSBodHRwL3dwdC9yZXNvdXJjZS10
aW1pbmcvcnQtaW5pdGlhdG9yVHlwZS1lbGVtZW50Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogWyBD
YXRhbGluYSsgXSBodHRwL3dwdC9yZXNvdXJjZS10aW1pbmcvcnQtaW5pdGlhdG9yVHlwZS14bWxo
dHRwcmVxdWVzdC5odG1sIFsgUGFzcyBGYWlsdXJlIF0KKworIyBUaGVzZSB0ZXN0cyByZXF1aXJl
IHRoZSBkZXNpZ24gc3lzdGVtIHVpIGZvbnRzIHRvIGJlIGluc3RhbGxlZC4KK1sgQ2F0YWxpbmEr
IF0gZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTEuaHRtbCBbIFBhc3MgXQorWyBDYXRhbGlu
YSsgXSBmYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xMi5odG1sIFsgUGFzcyBdCitbIENhdGFs
aW5hKyBdIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTEzLmh0bWwgWyBQYXNzIF0KK1sgQ2F0
YWxpbmErIF0gZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTQuaHRtbCBbIFBhc3MgXQorWyBD
YXRhbGluYSsgXSBmYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xNS5odG1sIFsgUGFzcyBdCitb
IENhdGFsaW5hKyBdIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTE2Lmh0bWwgWyBQYXNzIF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373964</attachid>
            <date>2019-07-11 15:29:56 -0700</date>
            <delta_ts>2019-07-11 15:32:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199653-20190711152955.patch</filename>
            <type>text/plain</type>
            <size>89745</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MzUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDliYjIzY2RmNWI0ODdmNTViZmYyZTU5
YTVhZTMxYTJkOWNjYTZiNDkuLmJmM2Q3NzMxM2EwNzU2ZjA2OTg3YzAxNGVjYTc1MWViZTkwZTM3
ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTktMDctMTEgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBOZXcgWW9yayBlcnJvbmVvdXNseSBnZXRz
IHN5bnRoZXRpYyBib2xkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTk2NTMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgorCiAyMDE5LTA3LTEwICBSeWFuIEhhZGRhZCAgPHJ5
YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIy
NDcyODYuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggYTljODZmYzEwMTlhNDNlMmFkNWY3ZGQ1NTdmZGU1MGVjZTU5
Y2MzZi4uNjFmYzc1ZmM0ZjBjMDZiNzJhNWVhOTlhNWJmZTBiYjg5YzkzMzgyNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDkxIEBACisyMDE5LTA3LTExICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhm
aWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgTmV3IFlvcmsgZXJyb25lb3VzbHkgZ2V0cyBzeW50
aGV0aWMgYm9sZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk5NjUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVGhpcyBwYXRjaCBhZGRzIHN1cHBvcnQgZm9yIC1hcHBsZS1zeXN0ZW0tdWktc2VyaWYsIC1h
cHBsZS1zeXN0ZW0tdWktbW9ub3NwYWNlZCwKKyAgICAgICAgYW5kIC1hcHBsZS1zeXN0ZW0tdWkt
cm91bmRlZCwgYmVoaW5kIGFuIFNQSSB0aGF0IGlzIG9mZi1ieS1kZWZhdWx0LiBXZSBkb24ndCB3
YW50CisgICAgICAgIHRvIGV4cG9zZSB0aGVzZSBmb250cyB0byB0aGUgd2ViIGJlY2F1c2Ugd2Ug
ZG9uJ3QgYSBzdGFuZGFyZGl6YXRpb24gc3RvcnkgZm9yIHRoZW0KKyAgICAgICAgeWV0LCBidXQg
d2UgZG8gd2FudCBzb21lIGFwcHMgdG8gYmUgYWJsZSB0byB1c2UgdGhlbS4KKworICAgICAgICBX
ZWJLaXQgY2xpZW50cyB3aG8gd2FudCB0byB1c2UgdGhlc2UgZm9udHMgY2FuIGNhbGwKKyAgICAg
ICAgV0tQcmVmZXJlbmNlc1NldFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyh0cnVlKQor
ICAgICAgICBvciAtW1dLUHJlZmVyZW5jZXMgX3Nob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250
c10gPSBZRVMuCisKKyAgICAgICAgVGhlIHBhdGNoIGdlbmVyYWxpemVzIG91ciBleGlzdGluZyBz
eXN0ZW0tdWkgaW5mcmFzdHJ1Y3R1cmUgdG8gaGFuZGxlIHRoZXNlIHRocmVlCisgICAgICAgIGFk
ZGl0aW9uYWwgZm9udHMuIEl0IGFsc28gZXhwbGljaXRseSBkaXNhYmxlcyB0aGUgdW5zdXBwb3J0
ZWQgZG90LXByZWZpeGVkIG5hbWVzCisgICAgICAgIHNvIHRoZXkgZG9uJ3QgbGVhayBvdXQgaW50
byBXZWIgY29udGVudC4KKworICAgICAgICBUZXN0czogZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0t
dWktMTAuaHRtbAorICAgICAgICAgICAgICAgZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTEu
aHRtbAorICAgICAgICAgICAgICAgZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTIuaHRtbAor
ICAgICAgICAgICAgICAgZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTMuaHRtbAorICAgICAg
ICAgICAgICAgZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTQuaHRtbAorICAgICAgICAgICAg
ICAgZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTUuaHRtbAorICAgICAgICAgICAgICAgZmFz
dC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTYuaHRtbAorICAgICAgICAgICAgICAgZmFzdC90ZXh0
L2Rlc2lnbi1zeXN0ZW0tdWktMi5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQvZGVzaWdu
LXN5c3RlbS11aS0zLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVt
LXVpLTQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktNS5o
dG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS02Lmh0bWwKKyAg
ICAgICAgICAgICAgIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTcuaHRtbAorICAgICAgICAg
ICAgICAgZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktOC5odG1sCisgICAgICAgICAgICAgICBm
YXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS05Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4
dC9kZXNpZ24tc3lzdGVtLXVpLmh0bWwKKworICAgICAgICAqIGNzcy9DU1NGb250RmFjZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDU1NGb250RmFjZTo6c2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1V
SUZvbnRzIGNvbnN0KToKKyAgICAgICAgKiBjc3MvQ1NTRm9udEZhY2UuaDoKKyAgICAgICAgKiBj
c3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZhY2VT
b3VyY2U6OmxvYWQpOgorICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OmluaXRpYWxpemVGb250U3R5bGUpOgorICAgICAgICAq
IHBhZ2UvU2V0dGluZ3MueWFtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250RGVz
Y3JpcHRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6bV9zaG91bGRBbGxvd0Rlc2lnblN5c3Rl
bVVJRm9udHMpOgorICAgICAgICAoV2ViQ29yZTo6bV9zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRG
b250cyk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERlc2NyaXB0
aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpGb250RGVzY3JpcHRpb246OnNob3VsZEFsbG93RGVz
aWduU3lzdGVtVUlGb250cyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpGb250RGVzY3JpcHRp
b246OnNldFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyk6CisgICAgICAgIChXZWJDb3Jl
OjpGb250RGVzY3JpcHRpb246Om9wZXJhdG9yPT0gY29uc3QpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OnBsYXRmb3JtRm9udExvb2t1cFdpdGhGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6Zm9udFdp
dGhGYW1pbHkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNv
cmVUZXh0Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udERlc2NyaXB0
aW9uQ29jb2EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c3lzdGVtRm9udFVzZSk6CisgICAgICAg
IChXZWJDb3JlOjpzeXN0ZW1Gb250Q2FzY2FkZUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6Rm9u
dENhc2NhZGVEZXNjcmlwdGlvbjo6ZWZmZWN0aXZlRmFtaWx5Q291bnQgY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udENhc2NhZGVEZXNjcmlwdGlvbjo6ZWZmZWN0aXZlRmFtaWx5QXQgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6aXNTeXN0ZW1Gb250U3RyaW5nKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OmlzVUlGb250VGV4dFN0eWxlKTogRGVsZXRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW06CisgICAgICAg
IChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjpjdEZvbnQgY29uc3QpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL1N5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpjcmVhdGVTeXN0ZW1V
SSk6CisgICAgICAgIChXZWJDb3JlOjpTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6Y3JlYXRl
RGVzaWduU3lzdGVtVUkpOgorICAgICAgICAoV2ViQ29yZTo6U3lzdGVtRm9udERhdGFiYXNlQ29y
ZVRleHQ6OmNyZWF0ZVRleHRTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpTeXN0ZW1Gb250RGF0
YWJhc2VDb3JlVGV4dDo6Y2FzY2FkZUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6U3lzdGVtRm9u
dERhdGFiYXNlQ29yZVRleHQ6OmFwcGx5V2VpZ2h0SXRhbGljc0FuZEZhbGxiYWNrQmVoYXZpb3Ip
OgorICAgICAgICAoV2ViQ29yZTo6U3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OnN5c3RlbUZv
bnRQYXJhbWV0ZXJzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9TeXN0ZW1G
b250RGF0YWJhc2VDb3JlVGV4dC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2lvcy9G
b250Q2FjaGVJT1MubW06CisgICAgICAgIChXZWJDb3JlOjpwbGF0Zm9ybUZvbnRXaXRoRmFtaWx5
U3BlY2lhbENhc2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q2FjaGVN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpwbGF0Zm9ybUZvbnRXaXRoRmFtaWx5U3BlY2lhbENh
c2UpOgorICAgICAgICAqIHN0eWxlL1N0eWxlUmVzb2x2ZUZvckRvY3VtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlN0eWxlOjpyZXNvbHZlRm9yRG9jdW1lbnQpOgorICAgICAgICAqIHN2Zy9n
cmFwaGljcy9TVkdJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdJbWFnZTo6ZGF0YUNo
YW5nZWQpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1cCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OnJlc3RvcmVUbyk6CisgICAgICAgIChX
ZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9u
dHMpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oOgorICAgICAgICAqIHRl
c3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGw6CisKIDIwMTktMDctMTEgIFphbGFuIEJ1anRhcyAg
PHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIENsZWFudXAgSW5saW5lRm9y
bWF0dGluZ0NvbnRleHQ6OkxpbmVMYXlvdXQgY2xhc3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBh
NjI3N2Y2YTVhMTVkMDIwYmU5NDgzYjAzODhmMjA4Nzc5ZDk1ZDMwLi4xOGFkZmZhN2JkNzQ4MTU4
YmQwZTRmYWNkNWQ2NGEzN2IyYWZlN2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MiBAQAorMjAxOS0wNy0xMSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29t
PgorCisgICAgICAgIE5ldyBZb3JrIGVycm9uZW91c2x5IGdldHMgc3ludGhldGljIGJvbGQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTY1MworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFsL3NwaS9j
b2NvYS9Db3JlVGV4dFNQSS5oOgorCiAyMDE5LTA3LTEwICBBbGV4IENocmlzdGVuc2VuICA8YWNo
cmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWxsb3cgQ01ha2UgdG8gYnVpbGQgV2Vi
Q29yZSBvbiBNYWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYTM3NmI2OWU3OTBkODNiYzJiOTQ5ODE5ZjBjNzgwMzg4
ZThjNTJkZC4uMjU4M2YzYjM4MWVhMzc3MTZlMWFiZjEwNjk3MmE1YzY4NzYxM2FmMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMiBAQAorMjAxOS0wNy0xMSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4
ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIE5ldyBZb3JrIGVycm9uZW91c2x5IGdldHMgc3lu
dGhldGljIGJvbGQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE5OTY1MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCB0aGUgU1BJIHRvIGVuYWJsZSB0aGUgbmV3IGZvbnRzLgorCisgICAgICAgICogU2hh
cmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJl
ZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVmZXJlbmNlc1NldFNob3VsZEFsbG93RGVzaWdu
U3lzdGVtVUlGb250cyk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0U2hvdWxkQWxsb3dEZXNp
Z25TeXN0ZW1VSUZvbnRzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNl
c1JlZlByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5j
ZXMubW06CisgICAgICAgICgtW1dLUHJlZmVyZW5jZXMgX3Nob3VsZEFsbG93RGVzaWduU3lzdGVt
VUlGb250c10pOgorICAgICAgICAoLVtXS1ByZWZlcmVuY2VzIF9zZXRTaG91bGRBbGxvd0Rlc2ln
blN5c3RlbVVJRm9udHM6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZl
cmVuY2VzUHJpdmF0ZS5oOgorCiAyMDE5LTA3LTExICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNp
ZWhAYXBwbGUuY29tPgogCiAgICAgICAgIE1vYmlsZVNhZmFyaSBtYXkgY3Jhc2ggdW5kZXIgLVtV
SUtleWJvYXJkVGFza0V4ZWN1dGlvbkNvbnRleHQgdHJhbnNmZXJFeGVjdXRpb25Ub01haW5UaHJl
YWRXaXRoVGFzazpdCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291
cmNlL1dURi93dGYvUGxhdGZvcm0uaAppbmRleCBiNmNmNmJjZGQ0NDc3ODAxNGI2NTcxYjk5NWJh
N2JjZDMwOWY2MjBlLi5kZTZhNGZiODM0OGEyZTAwYjQwZDEwYjJmYjNiNTY3ZjRhNmRmMWI2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtLmgKQEAgLTE1OTQsMyArMTU5NCw3IEBACiAjaWYgUExBVEZPUk0oTUFDKSAmJiBf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTUwMAogI2RlZmluZSBIQVZFX1NV
QlZJRVdTX0lWQVJfU1BJIDEKICNlbmRpZgorCisjaWYgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDE1MDApIHx8IChQTEFURk9STShJT1MpICYm
IF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEzMDAwMCkgfHwgKFBMQVRGT1JN
KFdBVENIT1MpICYmIF9fV0FUQ0hfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gNjAwMDApIHx8
IChQTEFURk9STShBUFBMRVRWKSAmJiBfX1RWX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEz
MDAwMCkKKyNkZWZpbmUgSEFWRV9ERVNJR05fU1lTVEVNX1VJX0ZPTlRTIDEKKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaCBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgKaW5kZXggZDYy
YmIyNWQwMTMwMTdmOWNiZWY4ZDgzMzc2NzMzYWFhNmQxMmMzOC4uMWIxMTBiZjJiODgxYzkwNmFh
ZThhYTA5ODhlZjI5NTg1ODFlMWE4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3Nw
aS9jb2NvYS9Db3JlVGV4dFNQSS5oCkBAIC0xMTEsNiArMTExLDExIEBAIGV4dGVybiBjb25zdCBD
RlN0cmluZ1JlZiBrQ1RGb250Q1NTV2lkdGhBdHRyaWJ1dGU7CiBleHRlcm4gY29uc3QgQ0ZTdHJp
bmdSZWYga0NURm9udERlc2NyaXB0b3JUZXh0U3R5bGVBdHRyaWJ1dGU7CiBleHRlcm4gY29uc3Qg
Q0ZTdHJpbmdSZWYga0NURm9udFVJRm9udERlc2lnblRyYWl0OwogCitleHRlcm4gY29uc3QgQ0ZT
dHJpbmdSZWYga0NURm9udFVJRm9udERlc2lnbkRlZmF1bHQ7CitleHRlcm4gY29uc3QgQ0ZTdHJp
bmdSZWYga0NURm9udFVJRm9udERlc2lnblNlcmlmOworZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVm
IGtDVEZvbnRVSUZvbnREZXNpZ25Nb25vc3BhY2VkOworZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVm
IGtDVEZvbnRVSUZvbnREZXNpZ25Sb3VuZGVkOworCiBleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYg
a0NURnJhbWVNYXhpbXVtTnVtYmVyT2ZMaW5lc0F0dHJpYnV0ZU5hbWU7CiAKIGJvb2wgQ1RGb250
RGVzY3JpcHRvcklzU3lzdGVtVUlGb250KENURm9udERlc2NyaXB0b3JSZWYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NGb250RmFjZS5jcHAKaW5kZXggNzM3N2FkYmE5MjlmZWI1N2I1YjM3ZTk4MjYwZjI5ZTg1
MzVjY2Q1Yi4uNzcwOWI1ZGVhZmJmZTlmOWFiMTFhYzA3N2M2MTlkNzk0ZDE2NDJmMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTRm9udEZhY2UuY3BwCkBAIC01OTQsNiArNTk0LDEzIEBAIEFsbG93VXNlcklu
c3RhbGxlZEZvbnRzIENTU0ZvbnRGYWNlOjphbGxvd1VzZXJJbnN0YWxsZWRGb250cygpIGNvbnN0
CiAgICAgcmV0dXJuIEFsbG93VXNlckluc3RhbGxlZEZvbnRzOjpZZXM7CiB9CiAKK2Jvb2wgQ1NT
Rm9udEZhY2U6OnNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cygpIGNvbnN0Cit7CisgICAg
aWYgKG1fZm9udFNlbGVjdG9yICYmIG1fZm9udFNlbGVjdG9yLT5kb2N1bWVudCgpKQorICAgICAg
ICByZXR1cm4gbV9mb250U2VsZWN0b3ItPmRvY3VtZW50KCktPnNldHRpbmdzKCkuc2hvdWxkQWxs
b3dEZXNpZ25TeXN0ZW1VSUZvbnRzKCk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiBzdGF0aWMg
U2V0dGluZ3M6OkZvbnRMb2FkVGltaW5nT3ZlcnJpZGUgZm9udExvYWRUaW1pbmdPdmVycmlkZShD
U1NGb250U2VsZWN0b3IqIGZvbnRTZWxlY3RvcikKIHsKICAgICBhdXRvIG92ZXJyaWRlVmFsdWUg
PSBTZXR0aW5nczo6Rm9udExvYWRUaW1pbmdPdmVycmlkZTo6Tm9uZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Zv
bnRGYWNlLmgKaW5kZXggYTM5YTkyNmZmOGIzYjc2NTAyODYwNTQxOWJkZDBlOGM3ZDdlNWIxOC4u
Njc2ZmJhODUzMmY2MGE4YzVjZDRiNzUyNDBjZWI5YmQ5MzZjOGIzZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ZvbnRGYWNlLmgKQEAgLTE2Miw2ICsxNjIsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBwdXJnZWFi
bGUoKSBjb25zdDsKIAogICAgIEFsbG93VXNlckluc3RhbGxlZEZvbnRzIGFsbG93VXNlckluc3Rh
bGxlZEZvbnRzKCkgY29uc3Q7CisgICAgYm9vbCBzaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9u
dHMoKSBjb25zdDsKIAogICAgIHZvaWQgdXBkYXRlU3R5bGVJZk5lZWRlZCgpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNwcAppbmRleCAzMGJlN2Y0MDgyOGFkNWE2MWQy
YTZjZWM0ZmQyODFlNmExOGM3OWUzLi4wMGZkMTYwYmI1NzliMjdjYzgxNWEwM2NmZWNkYzM3YmU3
MmZlMmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZVNvdXJjZS5jcHAKQEAgLTE4
Myw2ICsxODMsNyBAQCB2b2lkIENTU0ZvbnRGYWNlU291cmNlOjpsb2FkKENTU0ZvbnRTZWxlY3Rv
ciogZm9udFNlbGVjdG9yKQogICAgICAgICAgICAgZm9udERlc2NyaXB0aW9uLnNldE9uZUZhbWls
eShtX2ZhbWlseU5hbWVPclVSSSk7CiAgICAgICAgICAgICBmb250RGVzY3JpcHRpb24uc2V0Q29t
cHV0ZWRTaXplKDEpOwogICAgICAgICAgICAgZm9udERlc2NyaXB0aW9uLnNldFNob3VsZEFsbG93
VXNlckluc3RhbGxlZEZvbnRzKG1fZmFjZS5hbGxvd1VzZXJJbnN0YWxsZWRGb250cygpKTsKKyAg
ICAgICAgICAgIGZvbnREZXNjcmlwdGlvbi5zZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9u
dHMobV9mYWNlLnNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cygpKTsKICAgICAgICAgICAg
IHN1Y2Nlc3MgPSBGb250Q2FjaGU6OnNpbmdsZXRvbigpLmZvbnRGb3JGYW1pbHkoZm9udERlc2Ny
aXB0aW9uLCBtX2ZhbWlseU5hbWVPclVSSSwgbnVsbHB0ciwgbnVsbHB0ciwgRm9udFNlbGVjdGlv
blNwZWNpZmllZENhcGFiaWxpdGllcygpLCB0cnVlKTsKICAgICAgICAgICAgIGlmIChSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYkFQSVN0YXRpc3RpY3NFbmFibGVk
KCkpIHsKICAgICAgICAgICAgICAgICBpZiAoYXV0byogZG9jdW1lbnQgPSBmb250U2VsZWN0b3It
PmRvY3VtZW50KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKaW5kZXggNTZkODcy
NzExYmMxNDE1MGQ2NjAzMGViZTNmZjM0MTU4OTQ5OGI0Zi4uODkwMWFiMDgwYmRlN2ExYzhlNzIx
MjIwZWZhZjdlNzdlNDdiN2QzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcApA
QCAtMTkzNiw2ICsxOTM2LDcgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjppbml0aWFsaXplRm9udFN0
eWxlKCkKICAgICBmb250RGVzY3JpcHRpb24uc2V0S2V5d29yZFNpemVGcm9tSWRlbnRpZmllcihD
U1NWYWx1ZU1lZGl1bSk7CiAgICAgc2V0Rm9udFNpemUoZm9udERlc2NyaXB0aW9uLCBTdHlsZTo6
Zm9udFNpemVGb3JLZXl3b3JkKENTU1ZhbHVlTWVkaXVtLCBmYWxzZSwgZG9jdW1lbnQoKSkpOwog
ICAgIGZvbnREZXNjcmlwdGlvbi5zZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyhzZXR0
aW5ncygpLnNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKCkgPyBBbGxvd1VzZXJJbnN0YWxs
ZWRGb250czo6WWVzIDogQWxsb3dVc2VySW5zdGFsbGVkRm9udHM6Ok5vKTsKKyAgICBmb250RGVz
Y3JpcHRpb24uc2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKHNldHRpbmdzKCkuc2hv
dWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKCkpOwogICAgIHNldEZvbnREZXNjcmlwdGlvbihX
VEZNb3ZlKGZvbnREZXNjcmlwdGlvbikpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLnlhbWwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwK
aW5kZXggZTIyZDhkNGUyOTAyM2U4MmEwY2EwNDdjMWQ2ZjU1ZTg0ZDQyZDhhMy4uOGE3NDE0Nzg3
Y2MzMGYzMDBiMWViNjE0MDc1NWIxMmNhMGJhZTNkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy55YW1sCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3Mu
eWFtbApAQCAtNzM4LDYgKzczOCwxMCBAQCBzaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250czoK
ICAgaW5pdGlhbDogdHJ1ZQogICBvbkNoYW5nZTogc2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJh
bWVzCiAKK3Nob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250czoKKyAgaW5pdGlhbDogZmFsc2UK
KyAgb25DaGFuZ2U6IHNldE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcworCiByZXNpemVPYnNl
cnZlckVuYWJsZWQ6CiAgIGluaXRpYWw6IGZhbHNlCiAgIGNvbmRpdGlvbmFsOiBSRVNJWkVfT0JT
RVJWRVIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRD
YWNoZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKaW5k
ZXggZjY1YmYzYWMxNGIwYWRmNTg2NzU1Y2E3OTk0OWQ5YmQyOGRjNzZkNi4uNWNhZThhYzRkMGVk
N2YyNDMyMWU3ZWNmZjE0ZjY1MDYxZGY1ZmQ1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKQEAgLTEyOCw3ICsxMjgsOCBAQCBzdHJ1Y3QgRm9udERl
c2NyaXB0aW9uS2V5IHsKIHByaXZhdGU6CiAgICAgc3RhdGljIHN0ZDo6YXJyYXk8dW5zaWduZWQs
IDI+IG1ha2VGbGFnc0tleShjb25zdCBGb250RGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uKQogICAg
IHsKLSAgICAgICAgdW5zaWduZWQgZmlyc3QgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZGVzY3Jp
cHRpb24uc2NyaXB0KCkpIDw8IDE0CisgICAgICAgIHVuc2lnbmVkIGZpcnN0ID0gc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KGRlc2NyaXB0aW9uLnNjcmlwdCgpKSA8PCAxNQorICAgICAgICAgICAgfCBz
dGF0aWNfY2FzdDx1bnNpZ25lZD4oZGVzY3JpcHRpb24uc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1V
SUZvbnRzKCkpIDw8IDE0CiAgICAgICAgICAgICB8IHN0YXRpY19jYXN0PHVuc2lnbmVkPihkZXNj
cmlwdGlvbi5zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cygpKSA8PCAxMwogICAgICAgICAg
ICAgfCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZGVzY3JpcHRpb24uZm9udFN0eWxlQXhpcygpID09
IEZvbnRTdHlsZUF4aXM6OnNsbnQpIDw8IDEyCiAgICAgICAgICAgICB8IHN0YXRpY19jYXN0PHVu
c2lnbmVkPihkZXNjcmlwdGlvbi5vcHRpY2FsU2l6aW5nKCkpIDw8IDExCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGVzY3JpcHRpb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERlc2NyaXB0aW9uLmNwcAppbmRleCA4
YTkyNGY5YTY1MGM0NGQ3ZWYwNTg3OWFkM2ZlNTE3NWUyZmQwODk2Li4xMzIxNjJjMDZiMWJlZTUx
OTZhOGZlZTY3MDBhMjIyNDExY2JiYzY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250RGVzY3JpcHRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnREZXNjcmlwdGlvbi5jcHAKQEAgLTYyLDYgKzYyLDcgQEAgRm9u
dERlc2NyaXB0aW9uOjpGb250RGVzY3JpcHRpb24oKQogICAgICwgbV9vcHRpY2FsU2l6aW5nKHN0
YXRpY19jYXN0PHVuc2lnbmVkPihGb250T3B0aWNhbFNpemluZzo6RW5hYmxlZCkpCiAgICAgLCBt
X2ZvbnRTdHlsZUF4aXMoRm9udENhc2NhZGVEZXNjcmlwdGlvbjo6aW5pdGlhbEZvbnRTdHlsZUF4
aXMoKSA9PSBGb250U3R5bGVBeGlzOjppdGFsKQogICAgICwgbV9zaG91bGRBbGxvd1VzZXJJbnN0
YWxsZWRGb250cyhzdGF0aWNfY2FzdDx1bnNpZ25lZD4oQWxsb3dVc2VySW5zdGFsbGVkRm9udHM6
Ok5vKSkKKyAgICAsIG1fc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKGZhbHNlKQogewog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RGVz
Y3JpcHRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREZXNjcmlw
dGlvbi5oCmluZGV4IDE4ZjFkZTE4N2Y1MWYxY2M3YzdjYTA4ZjlhODgxOTNkYjgyNzQ1NjcuLjIx
ZGUyMzg0MGRkZjk5ZmMzYzYyMzUwZGM1NDIxZjU5OWNlNTE2MjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREZXNjcmlwdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREZXNjcmlwdGlvbi5oCkBAIC05Nyw2ICs5
Nyw3IEBAIHB1YmxpYzoKICAgICBGb250T3B0aWNhbFNpemluZyBvcHRpY2FsU2l6aW5nKCkgY29u
c3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Rm9udE9wdGljYWxTaXppbmc+KG1fb3B0aWNhbFNpemlu
Zyk7IH0KICAgICBGb250U3R5bGVBeGlzIGZvbnRTdHlsZUF4aXMoKSBjb25zdCB7IHJldHVybiBt
X2ZvbnRTdHlsZUF4aXMgPyBGb250U3R5bGVBeGlzOjppdGFsIDogRm9udFN0eWxlQXhpczo6c2xu
dDsgfQogICAgIEFsbG93VXNlckluc3RhbGxlZEZvbnRzIHNob3VsZEFsbG93VXNlckluc3RhbGxl
ZEZvbnRzKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8QWxsb3dVc2VySW5zdGFsbGVkRm9u
dHM+KG1fc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOyB9CisgICAgYm9vbCBzaG91bGRB
bGxvd0Rlc2lnblN5c3RlbVVJRm9udHMoKSBjb25zdCB7IHJldHVybiBtX3Nob3VsZEFsbG93RGVz
aWduU3lzdGVtVUlGb250czsgfQogCiAgICAgdm9pZCBzZXRDb21wdXRlZFNpemUoZmxvYXQgcykg
eyBtX2NvbXB1dGVkU2l6ZSA9IGNsYW1wVG9GbG9hdChzKTsgfQogICAgIHZvaWQgc2V0SXRhbGlj
KE9wdGlvbmFsPEZvbnRTZWxlY3Rpb25WYWx1ZT4gaXRhbGljKSB7IG1fZm9udFNlbGVjdGlvblJl
cXVlc3Quc2xvcGUgPSBpdGFsaWM7IH0KQEAgLTEzMiw2ICsxMzMsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRPcHRpY2FsU2l6aW5nKEZvbnRPcHRpY2FsU2l6aW5nIHNpemluZykgeyBtX29wdGlj
YWxTaXppbmcgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oc2l6aW5nKTsgfQogICAgIHZvaWQgc2V0
Rm9udFN0eWxlQXhpcyhGb250U3R5bGVBeGlzIGF4aXMpIHsgbV9mb250U3R5bGVBeGlzID0gYXhp
cyA9PSBGb250U3R5bGVBeGlzOjppdGFsOyB9CiAgICAgdm9pZCBzZXRTaG91bGRBbGxvd1VzZXJJ
bnN0YWxsZWRGb250cyhBbGxvd1VzZXJJbnN0YWxsZWRGb250cyBzaG91bGRBbGxvd1VzZXJJbnN0
YWxsZWRGb250cykgeyBtX3Nob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzID0gc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KHNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsgfQorICAgIHZvaWQg
c2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKGJvb2wgYWxsb3cpIHsgbV9zaG91bGRB
bGxvd0Rlc2lnblN5c3RlbVVJRm9udHMgPSBhbGxvdzsgfQogCiAgICAgc3RhdGljIEF0b21TdHJp
bmcgcGxhdGZvcm1SZXNvbHZlR2VuZXJpY0ZhbWlseShVU2NyaXB0Q29kZSwgY29uc3QgQXRvbVN0
cmluZyYgbG9jYWxlLCBjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHlOYW1lKTsKIApAQCAtMTY4LDYg
KzE3MCw3IEBAIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbV9vcHRpY2FsU2l6aW5nIDogMTsgLy8g
Rm9udE9wdGljYWxTaXppbmcKICAgICB1bnNpZ25lZCBtX2ZvbnRTdHlsZUF4aXMgOiAxOyAvLyBX
aGV0aGVyICJmb250LXN0eWxlOiBpdGFsaWMiIG9yICJmb250LXN0eWxlOiBvYmxpcXVlIDIwZGVn
IiB3YXMgc3BlY2lmaWVkCiAgICAgdW5zaWduZWQgbV9zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRG
b250cyA6IDE7IC8vIEFsbG93VXNlckluc3RhbGxlZEZvbnRzOiBJZiB0aGlzIGRlc2NyaXB0aW9u
IGlzIGFsbG93ZWQgdG8gbWF0Y2ggYSB1c2VyLWluc3RhbGxlZCBmb250CisgICAgdW5zaWduZWQg
bV9zaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMgOiAxOyAvLyBXaGV0aGVyIC1hcHBsZS1z
eXN0ZW0tdWktc2VyaWYsIC1hcHBsZS1zeXN0ZW0tdWktbW9ub3NwYWNlZCwgYW5kIC1hcHBsZS1z
eXN0ZW0tdWktcm91bmRlZCBhcmUgc3VwcG9ydGVkCiB9OwogCiBpbmxpbmUgYm9vbCBGb250RGVz
Y3JpcHRpb246Om9wZXJhdG9yPT0oY29uc3QgRm9udERlc2NyaXB0aW9uJiBvdGhlcikgY29uc3QK
QEAgLTIwMiw3ICsyMDUsOCBAQCBpbmxpbmUgYm9vbCBGb250RGVzY3JpcHRpb246Om9wZXJhdG9y
PT0oY29uc3QgRm9udERlc2NyaXB0aW9uJiBvdGhlcikgY29uc3QKICAgICAgICAgJiYgbV92YXJp
YW50RWFzdEFzaWFuUnVieSA9PSBvdGhlci5tX3ZhcmlhbnRFYXN0QXNpYW5SdWJ5CiAgICAgICAg
ICYmIG1fb3B0aWNhbFNpemluZyA9PSBvdGhlci5tX29wdGljYWxTaXppbmcKICAgICAgICAgJiYg
bV9mb250U3R5bGVBeGlzID09IG90aGVyLm1fZm9udFN0eWxlQXhpcwotICAgICAgICAmJiBtX3No
b3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzID09IG90aGVyLm1fc2hvdWxkQWxsb3dVc2VySW5z
dGFsbGVkRm9udHM7CisgICAgICAgICYmIG1fc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMg
PT0gb3RoZXIubV9zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cworICAgICAgICAmJiBtX3No
b3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyA9PSBvdGhlci5tX3Nob3VsZEFsbG93RGVzaWdu
U3lzdGVtVUlGb250czsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuY3BwCmluZGV4IDQ4MjEx
ODZkN2E3YWFlYjg3YTVmZDQ3NDUwNDk2NWYxNWVjZjZhMmUuLjU0ZDhmM2I1NDQ2OTk2ZjU5M2Jk
ZGUxYjZkYzZjZDdiNTk3ZTU2M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHAKQEAgLTExODEs
NiArMTE4MSwxNSBAQCBzdGF0aWMgRm9udExvb2t1cCBwbGF0Zm9ybUZvbnRMb29rdXBXaXRoRmFt
aWx5KGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSwgRm9udFNlbAogICAgIGlmICghaXNTeXN0ZW1G
b250KGZhbWlseSkgJiYgd2hpdGVsaXN0LnNpemUoKSAmJiAhd2hpdGVsaXN0LmNvbnRhaW5zKGZh
bWlseSkpCiAgICAgICAgIHJldHVybiB7IG51bGxwdHIgfTsKIAorICAgIGlmIChlcXVhbExldHRl
cnNJZ25vcmluZ0FTQ0lJQ2FzZShmYW1pbHksICIuYXBwbGVzeXN0ZW11aWZvbnRzZXJpZiIpCisg
ICAgICAgIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGZhbWlseSwgIi5zZiBucyBt
b25vIikKKyAgICAgICAgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZmFtaWx5LCAi
LnNmIHVpIG1vbm8iKQorICAgICAgICB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShm
YW1pbHksICIuYXBwbGVzeXN0ZW11aWZvbnRyb3VuZGVkIikpIHsKKyAgICAgICAgLy8gSWYgeW91
IHdhbnQgdG8gdXNlIHRoZXNlIGZvbnRzLCBzZXQgdGhlIHNob3VsZEFsbG93RGVzaWduU3lzdGVt
VUlGb250cyBTZXR0aW5nIGFuZCB1c2UKKyAgICAgICAgLy8gLWFwcGxlLXN5c3RlbS11aS1zZXJp
ZiwgLWFwcGxlLXN5c3RlbS11aS1tb25vc3BhY2VkLCBhbmQgLWFwcGxlLXN5c3RlbS11aS1yb3Vu
ZGVkLgorICAgICAgICByZXR1cm4geyBudWxscHRyIH07CisgICAgfQorCiAgICAgYXV0byYgZm9u
dERhdGFiYXNlID0gYWxsb3dVc2VySW5zdGFsbGVkRm9udHMgPT0gQWxsb3dVc2VySW5zdGFsbGVk
Rm9udHM6OlllcyA/IEZvbnREYXRhYmFzZTo6c2luZ2xldG9uQWxsb3dpbmdVc2VySW5zdGFsbGVk
Rm9udHMoKSA6IEZvbnREYXRhYmFzZTo6c2luZ2xldG9uRGlzYWxsb3dpbmdVc2VySW5zdGFsbGVk
Rm9udHMoKTsKICAgICBjb25zdCBhdXRvJiBmYW1pbHlGb250cyA9IGZvbnREYXRhYmFzZS5jb2xs
ZWN0aW9uRm9yRmFtaWx5KGZhbWlseS5zdHJpbmcoKSk7CiAgICAgaWYgKGZhbWlseUZvbnRzLmlz
RW1wdHkoKSkgewpAQCAtMTI0MywxMSArMTI1MiwxMCBAQCBzdGF0aWMgUmV0YWluUHRyPENURm9u
dFJlZj4gZm9udFdpdGhGYW1pbHkoY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBjb25zdCBGb250
RAogICAgIGlmIChmYW1pbHkuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAot
ICAgIGNvbnN0IGF1dG8mIHJlcXVlc3QgPSBmb250RGVzY3JpcHRpb24uZm9udFNlbGVjdGlvblJl
cXVlc3QoKTsKICAgICBGb250TG9va3VwIGZvbnRMb29rdXA7Ci0gICAgZm9udExvb2t1cC5yZXN1
bHQgPSBwbGF0Zm9ybUZvbnRXaXRoRmFtaWx5U3BlY2lhbENhc2UoZmFtaWx5LCByZXF1ZXN0LCBz
aXplLCBmb250RGVzY3JpcHRpb24uc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSk7Cisg
ICAgZm9udExvb2t1cC5yZXN1bHQgPSBwbGF0Zm9ybUZvbnRXaXRoRmFtaWx5U3BlY2lhbENhc2Uo
ZmFtaWx5LCBmb250RGVzY3JpcHRpb24sIHNpemUsIGZvbnREZXNjcmlwdGlvbi5zaG91bGRBbGxv
d1VzZXJJbnN0YWxsZWRGb250cygpKTsKICAgICBpZiAoIWZvbnRMb29rdXAucmVzdWx0KQotICAg
ICAgICBmb250TG9va3VwID0gcGxhdGZvcm1Gb250TG9va3VwV2l0aEZhbWlseShmYW1pbHksIHJl
cXVlc3QsIHNpemUsIGZvbnREZXNjcmlwdGlvbi5zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250
cygpKTsKKyAgICAgICAgZm9udExvb2t1cCA9IHBsYXRmb3JtRm9udExvb2t1cFdpdGhGYW1pbHko
ZmFtaWx5LCBmb250RGVzY3JpcHRpb24uZm9udFNlbGVjdGlvblJlcXVlc3QoKSwgc2l6ZSwgZm9u
dERlc2NyaXB0aW9uLnNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKCkpOwogICAgIHJldHVy
biBwcmVwYXJlUGxhdGZvcm1Gb250KGZvbnRMb29rdXAucmVzdWx0LmdldCgpLCBmb250RGVzY3Jp
cHRpb24sIGZvbnRGYWNlRmVhdHVyZXMsIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBmb250RmFj
ZUNhcGFiaWxpdGllcywgIWZvbnRMb29rdXAuY3JlYXRlZEZyb21Qb3N0U2NyaXB0TmFtZSk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0Zv
bnRDYWNoZUNvcmVUZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9Gb250Q2FjaGVDb3JlVGV4dC5oCmluZGV4IGI3YTgwNjYxMWY3NzhiZDEzNmQ4YmYwZGQ4YTg0
ZWI1OGNkMDIzNDYuLjRlMzdlMzczNGQwMWM0ZGZmZTRiMWM2ZDdkNTY2NjdmNTQ2MDdmYTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNo
ZUNvcmVUZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
Rm9udENhY2hlQ29yZVRleHQuaApAQCAtNTIsNyArNTIsNyBAQCBzdHJ1Y3QgU3ludGhlc2lzUGFp
ciB7CiAKIFJldGFpblB0cjxDVEZvbnRSZWY+IHByZXBhcmVQbGF0Zm9ybUZvbnQoQ1RGb250UmVm
LCBjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBGb250RmVhdHVyZVNldHRpbmdzKiBmb250
RmFjZUZlYXR1cmVzLCBjb25zdCBGb250VmFyaWFudFNldHRpbmdzKiBmb250RmFjZVZhcmlhbnRT
ZXR0aW5ncywgRm9udFNlbGVjdGlvblNwZWNpZmllZENhcGFiaWxpdGllcyBmb250RmFjZUNhcGFi
aWxpdGllcywgYm9vbCBhcHBseVdlaWdodFdpZHRoU2xvcGVWYXJpYXRpb25zID0gdHJ1ZSk7CiBT
eW50aGVzaXNQYWlyIGNvbXB1dGVOZWNlc3NhcnlTeW50aGVzaXMoQ1RGb250UmVmLCBjb25zdCBG
b250RGVzY3JpcHRpb24mLCBib29sIGlzUGxhdGZvcm1Gb250ID0gZmFsc2UpOwotUmV0YWluUHRy
PENURm9udFJlZj4gcGxhdGZvcm1Gb250V2l0aEZhbWlseVNwZWNpYWxDYXNlKGNvbnN0IEF0b21T
dHJpbmcmIGZhbWlseSwgRm9udFNlbGVjdGlvblJlcXVlc3QsIGZsb2F0IHNpemUsIEFsbG93VXNl
ckluc3RhbGxlZEZvbnRzKTsKK1JldGFpblB0cjxDVEZvbnRSZWY+IHBsYXRmb3JtRm9udFdpdGhG
YW1pbHlTcGVjaWFsQ2FzZShjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIGNvbnN0IEZvbnREZXNj
cmlwdGlvbiYsIGZsb2F0IHNpemUsIEFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKIFJldGFpblB0
cjxDVEZvbnRSZWY+IHBsYXRmb3JtRm9udFdpdGhGYW1pbHkoY29uc3QgQXRvbVN0cmluZyYgZmFt
aWx5LCBGb250U2VsZWN0aW9uUmVxdWVzdCwgVGV4dFJlbmRlcmluZ01vZGUsIGZsb2F0IHNpemUp
OwogYm9vbCByZXF1aXJlc0N1c3RvbUZhbGxiYWNrRm9udChVQ2hhcjMyIGNoYXJhY3Rlcik7CiBG
b250U2VsZWN0aW9uQ2FwYWJpbGl0aWVzIGNhcGFiaWxpdGllc0ZvckZvbnREZXNjcmlwdG9yKENU
Rm9udERlc2NyaXB0b3JSZWYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvRm9udERlc2NyaXB0aW9uQ29jb2EuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udERlc2NyaXB0aW9uQ29jb2EuY3BwCmluZGV4IDE5
Yzc2MzYwMTY1YTRiYmJlOGI5NThlOTM2YjI3M2Y4YTExNGI1YmYuLmE5NjBhYTgyZWU1NTYwMmQ1
NjIwMTM4YzdhZGE0MDE0OThjNGNiNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL0ZvbnREZXNjcmlwdGlvbkNvY29hLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250RGVzY3JpcHRpb25Db2NvYS5jcHAK
QEAgLTI0LDcgKzI0LDcgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAi
Rm9udERlc2NyaXB0aW9uLmgiCisjaW5jbHVkZSAiRm9udENhc2NhZGVEZXNjcmlwdGlvbi5oIgog
CiAjaW5jbHVkZSAiU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQuaCIKICNpbmNsdWRlIDxtdXRl
eD4KQEAgLTM0LDE0ICszNCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmIFVTRV9QTEFU
Rk9STV9TWVNURU1fRkFMTEJBQ0tfTElTVAogCi1zdGF0aWMgaW5saW5lIGJvb2wgaXNTeXN0ZW1G
b250U3RyaW5nKGNvbnN0IEF0b21TdHJpbmcmIHN0cmluZykKLXsKLSAgICByZXR1cm4gZXF1YWxM
ZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uoc3RyaW5nLCAiLXdlYmtpdC1zeXN0ZW0tZm9udCIpCi0g
ICAgICAgIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHN0cmluZywgIi1hcHBsZS1z
eXN0ZW0iKQotICAgICAgICB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShzdHJpbmcs
ICItYXBwbGUtc3lzdGVtLWZvbnQiKQotICAgICAgICB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FT
Q0lJQ2FzZShzdHJpbmcsICJzeXN0ZW0tdWkiKTsKLX0KLQogI2lmIFBMQVRGT1JNKElPU19GQU1J
TFkpCiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFUsIHN0ZDo6c2l6ZV90IHNpemUs
IHN0ZDo6c2l6ZV90Li4uIGluZGljZXM+IHN0ZDo6YXJyYXk8VCwgc2l6ZT4gY29udmVydEFycmF5
KFUgKCZhcnJheSlbc2l6ZV0sIHN0ZDo6aW5kZXhfc2VxdWVuY2U8aW5kaWNlcy4uLj4pCkBAIC01
Myw5ICs0NSwyOSBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBVLCBzdGQ6OnNpemVf
dCBzaXplPiBpbmxpbmUgc3RkOjphcnJheTxULCBzaXplPiBjbwogewogICAgIHJldHVybiBjb252
ZXJ0QXJyYXk8VD4oYXJyYXksIHN0ZDo6bWFrZV9pbmRleF9zZXF1ZW5jZTxzaXplPiB7IH0pOwog
fQorI2VuZGlmCiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBpc1VJRm9udFRleHRTdHlsZShjb25zdCBB
dG9tU3RyaW5nJiBzdHJpbmcpCitzdGF0aWMgaW5saW5lIE9wdGlvbmFsPFN5c3RlbUZvbnREYXRh
YmFzZUNvcmVUZXh0OjpDbGllbnRVc2U+IHN5c3RlbUZvbnRVc2UoY29uc3QgQXRvbVN0cmluZyYg
c3RyaW5nLCBib29sIHNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cykKIHsKKyAgICBpZiAo
ZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uoc3RyaW5nLCAiLXdlYmtpdC1zeXN0ZW0tZm9u
dCIpCisgICAgICAgIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHN0cmluZywgIi1h
cHBsZS1zeXN0ZW0iKQorICAgICAgICB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShz
dHJpbmcsICItYXBwbGUtc3lzdGVtLWZvbnQiKQorICAgICAgICB8fCBlcXVhbExldHRlcnNJZ25v
cmluZ0FTQ0lJQ2FzZShzdHJpbmcsICJzeXN0ZW0tdWkiKSkKKyAgICAgICAgcmV0dXJuIFN5c3Rl
bUZvbnREYXRhYmFzZUNvcmVUZXh0OjpDbGllbnRVc2U6OkZvclN5c3RlbVVJOworI2lmIEhBVkUo
REVTSUdOX1NZU1RFTV9VSV9GT05UUykKKyAgICBpZiAoc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1V
SUZvbnRzKSB7CisgICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShzdHJp
bmcsICItYXBwbGUtc3lzdGVtLXVpLXNlcmlmIikpCisgICAgICAgICAgICByZXR1cm4gU3lzdGVt
Rm9udERhdGFiYXNlQ29yZVRleHQ6OkNsaWVudFVzZTo6Rm9yU3lzdGVtVUlTZXJpZjsKKyAgICAg
ICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHN0cmluZywgIi1hcHBsZS1zeXN0
ZW0tdWktbW9ub3NwYWNlZCIpKQorICAgICAgICAgICAgcmV0dXJuIFN5c3RlbUZvbnREYXRhYmFz
ZUNvcmVUZXh0OjpDbGllbnRVc2U6OkZvclN5c3RlbVVJTW9ub3NwYWNlZDsKKyAgICAgICAgaWYg
KGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHN0cmluZywgIi1hcHBsZS1zeXN0ZW0tdWkt
cm91bmRlZCIpKQorICAgICAgICAgICAgcmV0dXJuIFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0
OjpDbGllbnRVc2U6OkZvclN5c3RlbVVJUm91bmRlZDsKKyAgICB9CisjZWxzZQorICAgIFVOVVNF
RF9QQVJBTShzaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMpOworI2VuZGlmCisKKyNpZiBQ
TEFURk9STShJT1NfRkFNSUxZKQogICAgIHN0YXRpYyBjb25zdCBDRlN0cmluZ1JlZiBzdHlsZXNb
XSA9IHsKICAgICAgICAga0NUVUlGb250VGV4dFN0eWxlSGVhZGxpbmUsCiAgICAgICAgIGtDVFVJ
Rm9udFRleHRTdHlsZUJvZHksCkBAIC03OSwxMSArOTEsMTQgQEAgc3RhdGljIGlubGluZSBib29s
IGlzVUlGb250VGV4dFN0eWxlKGNvbnN0IEF0b21TdHJpbmcmIHN0cmluZykKICAgICB9OwogICAg
IAogICAgIHN0YXRpYyBhdXRvIHN0cmluZ3MgeyBtYWtlTmV2ZXJEZXN0cm95ZWQoY29udmVydEFy
cmF5PEF0b21TdHJpbmc+KHN0eWxlcykpIH07Ci0gICAgcmV0dXJuIHN0ZDo6ZmluZChzdHJpbmdz
LmdldCgpLmJlZ2luKCksIHN0cmluZ3MuZ2V0KCkuZW5kKCksIHN0cmluZykgIT0gc3RyaW5ncy5n
ZXQoKS5lbmQoKTsKLX0KKyAgICBpZiAoc3RkOjpmaW5kKHN0cmluZ3MuZ2V0KCkuYmVnaW4oKSwg
c3RyaW5ncy5nZXQoKS5lbmQoKSwgc3RyaW5nKSAhPSBzdHJpbmdzLmdldCgpLmVuZCgpKQorICAg
ICAgICByZXR1cm4gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNsaWVudFVzZTo6Rm9yVGV4
dFN0eWxlOwogI2VuZGlmCiAKLXN0YXRpYyBpbmxpbmUgVmVjdG9yPFJldGFpblB0cjxDVEZvbnRE
ZXNjcmlwdG9yUmVmPj4gc3lzdGVtRm9udENhc2NhZGVMaXN0KGNvbnN0IEZvbnRDYXNjYWRlRGVz
Y3JpcHRpb24mIGRlc2NyaXB0aW9uLCBjb25zdCBBdG9tU3RyaW5nJiBjc3NGYW1pbHksIFN5c3Rl
bUZvbnREYXRhYmFzZUNvcmVUZXh0OjpDbGllbnRVc2UgY2xpZW50VXNlLCBBbGxvd1VzZXJJbnN0
YWxsZWRGb250cyBhbGxvd1VzZXJJbnN0YWxsZWRGb250cykKKyAgICByZXR1cm4gV1RGOjpudWxs
b3B0OworfQorCitzdGF0aWMgaW5saW5lIFZlY3RvcjxSZXRhaW5QdHI8Q1RGb250RGVzY3JpcHRv
clJlZj4+IHN5c3RlbUZvbnRDYXNjYWRlTGlzdChjb25zdCBGb250RGVzY3JpcHRpb24mIGRlc2Ny
aXB0aW9uLCBjb25zdCBBdG9tU3RyaW5nJiBjc3NGYW1pbHksIFN5c3RlbUZvbnREYXRhYmFzZUNv
cmVUZXh0OjpDbGllbnRVc2UgY2xpZW50VXNlLCBBbGxvd1VzZXJJbnN0YWxsZWRGb250cyBhbGxv
d1VzZXJJbnN0YWxsZWRGb250cykKIHsKICAgICByZXR1cm4gU3lzdGVtRm9udERhdGFiYXNlQ29y
ZVRleHQ6OnNpbmdsZXRvbigpLmNhc2NhZGVMaXN0KGRlc2NyaXB0aW9uLCBjc3NGYW1pbHksIGNs
aWVudFVzZSwgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOwogfQpAQCAtOTQsMTIgKzEwOSw4IEBA
IHVuc2lnbmVkIEZvbnRDYXNjYWRlRGVzY3JpcHRpb246OmVmZmVjdGl2ZUZhbWlseUNvdW50KCkg
Y29uc3QKICAgICB1bnNpZ25lZCByZXN1bHQgPSAwOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBmYW1pbHlDb3VudCgpOyArK2kpIHsKICAgICAgICAgY29uc3QgYXV0byYgY3NzRmFtaWx5
ID0gZmFtaWx5QXQoaSk7Ci0gICAgICAgIGlmIChpc1N5c3RlbUZvbnRTdHJpbmcoY3NzRmFtaWx5
KSkKLSAgICAgICAgICAgIHJlc3VsdCArPSBzeXN0ZW1Gb250Q2FzY2FkZUxpc3QoKnRoaXMsIGNz
c0ZhbWlseSwgU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNsaWVudFVzZTo6Rm9yU3lzdGVt
VUksIHNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKCkpLnNpemUoKTsKLSNpZiBQTEFURk9S
TShJT1NfRkFNSUxZKQotICAgICAgICBlbHNlIGlmIChpc1VJRm9udFRleHRTdHlsZShjc3NGYW1p
bHkpKQotICAgICAgICAgICAgcmVzdWx0ICs9IHN5c3RlbUZvbnRDYXNjYWRlTGlzdCgqdGhpcywg
Y3NzRmFtaWx5LCBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6Q2xpZW50VXNlOjpGb3JUZXh0
U3R5bGUsIHNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKCkpLnNpemUoKTsKLSNlbmRpZgor
ICAgICAgICBpZiAoYXV0byB1c2UgPSBzeXN0ZW1Gb250VXNlKGNzc0ZhbWlseSwgc2hvdWxkQWxs
b3dEZXNpZ25TeXN0ZW1VSUZvbnRzKCkpKQorICAgICAgICAgICAgcmVzdWx0ICs9IHN5c3RlbUZv
bnRDYXNjYWRlTGlzdCgqdGhpcywgY3NzRmFtaWx5LCAqdXNlLCBzaG91bGRBbGxvd1VzZXJJbnN0
YWxsZWRGb250cygpKS5zaXplKCk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgICsrcmVzdWx0
OwogICAgIH0KQEAgLTExNywyMCArMTI4LDEyIEBAIEZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uIEZv
bnRDYXNjYWRlRGVzY3JpcHRpb246OmVmZmVjdGl2ZUZhbWlseUF0KHVuc2lnbmVkIGluZGV4CiAg
ICAgLy8gVGhlc2UgdHdvIGJlaGF2aW9ycyBzaG91bGQgYmUgdW5pZmllZCwgd2hpY2ggd291bGQg
aG9wZWZ1bGx5IGFsbG93IHVzIHRvIGRlbGV0ZSB0aGlzIGR1cGxpY2F0ZSBjb2RlLgogICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBmYW1pbHlDb3VudCgpOyArK2kpIHsKICAgICAgICAgY29u
c3QgYXV0byYgY3NzRmFtaWx5ID0gZmFtaWx5QXQoaSk7Ci0gICAgICAgIGlmIChpc1N5c3RlbUZv
bnRTdHJpbmcoY3NzRmFtaWx5KSkgewotICAgICAgICAgICAgYXV0byBjYXNjYWRlTGlzdCA9IHN5
c3RlbUZvbnRDYXNjYWRlTGlzdCgqdGhpcywgY3NzRmFtaWx5LCBTeXN0ZW1Gb250RGF0YWJhc2VD
b3JlVGV4dDo6Q2xpZW50VXNlOjpGb3JTeXN0ZW1VSSwgc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVk
Rm9udHMoKSk7CisgICAgICAgIGlmIChhdXRvIHVzZSA9IHN5c3RlbUZvbnRVc2UoY3NzRmFtaWx5
LCBzaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMoKSkpIHsKKyAgICAgICAgICAgIGF1dG8g
Y2FzY2FkZUxpc3QgPSBzeXN0ZW1Gb250Q2FzY2FkZUxpc3QoKnRoaXMsIGNzc0ZhbWlseSwgKnVz
ZSwgc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSk7CiAgICAgICAgICAgICBpZiAoaW5k
ZXggPCBjYXNjYWRlTGlzdC5zaXplKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEZvbnRGYW1p
bHlTcGVjaWZpY2F0aW9uKGNhc2NhZGVMaXN0W2luZGV4XS5nZXQoKSk7CiAgICAgICAgICAgICBp
bmRleCAtPSBjYXNjYWRlTGlzdC5zaXplKCk7CiAgICAgICAgIH0KLSNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQotICAgICAgICBlbHNlIGlmIChpc1VJRm9udFRleHRTdHlsZShjc3NGYW1pbHkpKSB7
Ci0gICAgICAgICAgICBhdXRvIGNhc2NhZGVMaXN0ID0gc3lzdGVtRm9udENhc2NhZGVMaXN0KCp0
aGlzLCBjc3NGYW1pbHksIFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpDbGllbnRVc2U6OkZv
clRleHRTdHlsZSwgc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSk7Ci0gICAgICAgICAg
ICBpZiAoaW5kZXggPCBjYXNjYWRlTGlzdC5zaXplKCkpCi0gICAgICAgICAgICAgICAgcmV0dXJu
IEZvbnRGYW1pbHlTcGVjaWZpY2F0aW9uKGNhc2NhZGVMaXN0W2luZGV4XS5nZXQoKSk7Ci0gICAg
ICAgICAgICBpbmRleCAtPSBjYXNjYWRlTGlzdC5zaXplKCk7Ci0gICAgICAgIH0KLSNlbmRpZgog
ICAgICAgICBlbHNlIGlmICghaW5kZXgpCiAgICAgICAgICAgICByZXR1cm4gY3NzRmFtaWx5Owog
ICAgICAgICBlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW0KaW5kZXggNzZlMDkyODIy
ZTY3YmQ3ZTI3NTc1OGU1MGUwNDhjYjQ5ZDM4NDU0Yi4uNmY3YWI0NjdkNDQzNDA1NTE2OTQ0ZGM5
OThjMGFlZDQ0NjZmMmMxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbQpAQCAtMTU1
LDcgKzE1NSw3IEBAIENURm9udFJlZiBGb250UGxhdGZvcm1EYXRhOjpjdEZvbnQoKSBjb25zdAog
ICAgICAgICByZXR1cm4gbV9jdEZvbnQuZ2V0KCk7CiAKICAgICBBU1NFUlQobV9mb250KTsKLSAg
ICBtX2N0Rm9udCA9IGFkb3B0Q0YoQ1RGb250Q3JlYXRlQ29weVdpdGhBdHRyaWJ1dGVzKG1fZm9u
dC5nZXQoKSwgbV9zaXplLCAwLCBjYXNjYWRlVG9MYXN0UmVzb3J0QW5kVmFyaWF0aW9uc0ZvbnRE
ZXNjcmlwdG9yKG1fZm9udC5nZXQoKSkuZ2V0KCkpKTsKKyAgICBtX2N0Rm9udCA9IGFkb3B0Q0Yo
Q1RGb250Q3JlYXRlQ29weVdpdGhBdHRyaWJ1dGVzKG1fZm9udC5nZXQoKSwgbV9zaXplLCBudWxs
cHRyLCBjYXNjYWRlVG9MYXN0UmVzb3J0QW5kVmFyaWF0aW9uc0ZvbnREZXNjcmlwdG9yKG1fZm9u
dC5nZXQoKSkuZ2V0KCkpKTsKIAogICAgIGlmIChtX3dpZHRoVmFyaWFudCAhPSBGb250V2lkdGhW
YXJpYW50OjpSZWd1bGFyV2lkdGgpIHsKICAgICAgICAgaW50IGZlYXR1cmVUeXBlVmFsdWUgPSBr
VGV4dFNwYWNpbmdUeXBlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQuY3Bw
CmluZGV4IGIzZDAyZmY4NTVhODlhZTQ5M2RhYmU5MzgwODcwMjQ4OTExZmQ4YWEuLjVjYTIxMGIz
MTRhZDIyOTMwN2YxZDA0ZTAxNDgxMDQyMTgwN2UzYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1N5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9TeXN0ZW1Gb250
RGF0YWJhc2VDb3JlVGV4dC5jcHAKQEAgLTQ3LDI4ICs0Nyw3MCBAQCBTeXN0ZW1Gb250RGF0YWJh
c2VDb3JlVGV4dDo6U3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQoKQogCiAjaWYgVVNFX1BMQVRG
T1JNX1NZU1RFTV9GQUxMQkFDS19MSVNUCiAKK1JldGFpblB0cjxDVEZvbnRSZWY+IFN5c3RlbUZv
bnREYXRhYmFzZUNvcmVUZXh0OjpjcmVhdGVTeXN0ZW1VSShjb25zdCBDYXNjYWRlTGlzdFBhcmFt
ZXRlcnMmIHBhcmFtZXRlcnMsIENGU3RyaW5nUmVmIGxvY2FsZSkKK3sKKyAgICBhdXRvIHJlc3Vs
dCA9IGFkb3B0Q0YoQ1RGb250Q3JlYXRlVUlGb250Rm9yTGFuZ3VhZ2Uoa0NURm9udFVJRm9udFN5
c3RlbSwgcGFyYW1ldGVycy5zaXplLCBsb2NhbGUpKTsKKyAgICBBU1NFUlQocmVzdWx0KTsKKyAg
ICByZXR1cm4gYXBwbHlXZWlnaHRJdGFsaWNzQW5kRmFsbGJhY2tCZWhhdmlvcihyZXN1bHQuZ2V0
KCksIHBhcmFtZXRlcnMud2VpZ2h0LCBwYXJhbWV0ZXJzLml0YWxpYywgcGFyYW1ldGVycy5zaXpl
LCBwYXJhbWV0ZXJzLmFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKK30KKworI2lmIEhBVkUoREVT
SUdOX1NZU1RFTV9VSV9GT05UUykKK1JldGFpblB0cjxDVEZvbnRSZWY+IFN5c3RlbUZvbnREYXRh
YmFzZUNvcmVUZXh0OjpjcmVhdGVEZXNpZ25TeXN0ZW1VSShDbGllbnRVc2UgY2xpZW50VXNlLCBj
b25zdCBDYXNjYWRlTGlzdFBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCit7CisgICAgQ0ZTdHJpbmdS
ZWYgZGVzaWduID0ga0NURm9udFVJRm9udERlc2lnbkRlZmF1bHQ7CisgICAgc3dpdGNoIChjbGll
bnRVc2UpIHsKKyAgICBjYXNlIENsaWVudFVzZTo6Rm9yU3lzdGVtVUlTZXJpZjoKKyAgICAgICAg
ZGVzaWduID0ga0NURm9udFVJRm9udERlc2lnblNlcmlmOworICAgICAgICBicmVhazsKKyAgICBj
YXNlIENsaWVudFVzZTo6Rm9yU3lzdGVtVUlNb25vc3BhY2VkOgorICAgICAgICBkZXNpZ24gPSBr
Q1RGb250VUlGb250RGVzaWduTW9ub3NwYWNlZDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBD
bGllbnRVc2U6OkZvclN5c3RlbVVJUm91bmRlZDoKKyAgICAgICAgZGVzaWduID0ga0NURm9udFVJ
Rm9udERlc2lnblJvdW5kZWQ7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KKyAgICByZXR1cm4gYXBwbHlXZWlnaHRJdGFs
aWNzQW5kRmFsbGJhY2tCZWhhdmlvcihudWxscHRyLCBwYXJhbWV0ZXJzLndlaWdodCwgcGFyYW1l
dGVycy5pdGFsaWMsIHBhcmFtZXRlcnMuc2l6ZSwgcGFyYW1ldGVycy5hbGxvd1VzZXJJbnN0YWxs
ZWRGb250cywgZGVzaWduKTsKK30KKyNlbmRpZgorCitSZXRhaW5QdHI8Q1RGb250UmVmPiBTeXN0
ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6Y3JlYXRlVGV4dFN0eWxlKGNvbnN0IENhc2NhZGVMaXN0
UGFyYW1ldGVycyYgcGFyYW1ldGVycykKK3sKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAg
IGF1dG8gZm9udERlc2NyaXB0b3IgPSBhZG9wdENGKENURm9udERlc2NyaXB0b3JDcmVhdGVXaXRo
VGV4dFN0eWxlKHBhcmFtZXRlcnMuZm9udE5hbWUuc3RyaW5nKCkuY3JlYXRlQ0ZTdHJpbmcoKS5n
ZXQoKSwgUmVuZGVyVGhlbWVJT1M6OmNvbnRlbnRTaXplQ2F0ZWdvcnkoKSwgbnVsbHB0cikpOwor
ICAgIC8vIEZJWE1FOiBVc2UgYXBwbHlXZWlnaHRJdGFsaWNzQW5kRmFsbGJhY2tCZWhhdmlvcigp
IG9uY2UgPHJkYXI6Ly9wcm9ibGVtLzMzMDQ2MDQxPiBpcyBmaXhlZC4KKyAgICBDVEZvbnRTeW1i
b2xpY1RyYWl0cyB0cmFpdHMgPSAocGFyYW1ldGVycy53ZWlnaHQgPj0ga0NURm9udFdlaWdodFNl
bWlib2xkID8ga0NURm9udFRyYWl0Qm9sZCA6IDApIHwgKHBhcmFtZXRlcnMuaXRhbGljID8ga0NU
Rm9udFRyYWl0SXRhbGljIDogMCk7CisgICAgaWYgKHRyYWl0cykKKyAgICAgICAgZm9udERlc2Ny
aXB0b3IgPSBhZG9wdENGKENURm9udERlc2NyaXB0b3JDcmVhdGVDb3B5V2l0aFN5bWJvbGljVHJh
aXRzKGZvbnREZXNjcmlwdG9yLmdldCgpLCB0cmFpdHMsIHRyYWl0cykpOworICAgIHJldHVybiBj
cmVhdGVGb250Rm9ySW5zdGFsbGVkRm9udHMoZm9udERlc2NyaXB0b3IuZ2V0KCksIHBhcmFtZXRl
cnMuc2l6ZSwgcGFyYW1ldGVycy5hbGxvd1VzZXJJbnN0YWxsZWRGb250cyk7CisjZWxzZQorICAg
IFVOVVNFRF9QQVJBTShwYXJhbWV0ZXJzKTsKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICByZXR1cm4gbnVsbHB0cjsKKyNlbmRpZgorfQorCiBWZWN0b3I8UmV0YWluUHRyPENURm9udERl
c2NyaXB0b3JSZWY+PiBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6Y2FzY2FkZUxpc3QoY29u
c3QgQ2FzY2FkZUxpc3RQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBDbGllbnRVc2UgY2xpZW50VXNl
KQogewogICAgIEFTU0VSVCghcGFyYW1ldGVycy5mb250TmFtZS5pc051bGwoKSk7CiAgICAgcmV0
dXJuIG1fc3lzdGVtRm9udENhY2hlLmVuc3VyZShwYXJhbWV0ZXJzLCBbJl0gewogICAgICAgICBh
dXRvIGxvY2FsZVN0cmluZyA9IHBhcmFtZXRlcnMubG9jYWxlLnN0cmluZygpLmNyZWF0ZUNGU3Ry
aW5nKCk7CiAgICAgICAgIFJldGFpblB0cjxDVEZvbnRSZWY+IHN5c3RlbUZvbnQ7Ci0gICAgICAg
IGlmIChjbGllbnRVc2UgPT0gQ2xpZW50VXNlOjpGb3JTeXN0ZW1VSSkgewotICAgICAgICAgICAg
c3lzdGVtRm9udCA9IGFkb3B0Q0YoQ1RGb250Q3JlYXRlVUlGb250Rm9yTGFuZ3VhZ2Uoa0NURm9u
dFVJRm9udFN5c3RlbSwgcGFyYW1ldGVycy5zaXplLCBsb2NhbGVTdHJpbmcuZ2V0KCkpKTsKLSAg
ICAgICAgICAgIEFTU0VSVChzeXN0ZW1Gb250KTsKLSAgICAgICAgICAgIC8vIEZJWE1FOiBVc2Ug
YXBwbHlXZWlnaHRJdGFsaWNzQW5kRmFsbGJhY2tCZWhhdmlvcigpIGluIGJvdGggY2FzZXMgb25j
ZSA8cmRhcjovL3Byb2JsZW0vMzMwNDYwNDE+IGlzIGZpeGVkLgotICAgICAgICAgICAgc3lzdGVt
Rm9udCA9IGFwcGx5V2VpZ2h0SXRhbGljc0FuZEZhbGxiYWNrQmVoYXZpb3Ioc3lzdGVtRm9udC5n
ZXQoKSwgcGFyYW1ldGVycy53ZWlnaHQsIHBhcmFtZXRlcnMuaXRhbGljLCBwYXJhbWV0ZXJzLnNp
emUsIHBhcmFtZXRlcnMuYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOwotICAgICAgICB9IGVsc2Ug
ewotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgICAgICAgICBBU1NFUlQoY2xpZW50VXNl
ID09IENsaWVudFVzZTo6Rm9yVGV4dFN0eWxlKTsKLSAgICAgICAgICAgIGF1dG8gZm9udERlc2Ny
aXB0b3IgPSBhZG9wdENGKENURm9udERlc2NyaXB0b3JDcmVhdGVXaXRoVGV4dFN0eWxlKHBhcmFt
ZXRlcnMuZm9udE5hbWUuc3RyaW5nKCkuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSwgUmVuZGVyVGhl
bWVJT1M6OmNvbnRlbnRTaXplQ2F0ZWdvcnkoKSwgbnVsbHB0cikpOwotICAgICAgICAgICAgQ1RG
b250U3ltYm9saWNUcmFpdHMgdHJhaXRzID0gKHBhcmFtZXRlcnMud2VpZ2h0ID49IGtDVEZvbnRX
ZWlnaHRTZW1pYm9sZCA/IGtDVEZvbnRUcmFpdEJvbGQgOiAwKSB8IChwYXJhbWV0ZXJzLml0YWxp
YyA/IGtDVEZvbnRUcmFpdEl0YWxpYyA6IDApOwotICAgICAgICAgICAgaWYgKHRyYWl0cykKLSAg
ICAgICAgICAgICAgICBmb250RGVzY3JpcHRvciA9IGFkb3B0Q0YoQ1RGb250RGVzY3JpcHRvckNy
ZWF0ZUNvcHlXaXRoU3ltYm9saWNUcmFpdHMoZm9udERlc2NyaXB0b3IuZ2V0KCksIHRyYWl0cywg
dHJhaXRzKSk7Ci0gICAgICAgICAgICBzeXN0ZW1Gb250ID0gY3JlYXRlRm9udEZvckluc3RhbGxl
ZEZvbnRzKGZvbnREZXNjcmlwdG9yLmdldCgpLCBwYXJhbWV0ZXJzLnNpemUsIHBhcmFtZXRlcnMu
YWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOwotI2Vsc2UKLSAgICAgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgICAgICBzd2l0Y2ggKGNsaWVudFVzZSkgeworICAgICAgICBjYXNlIENs
aWVudFVzZTo6Rm9yU3lzdGVtVUk6CisgICAgICAgICAgICBzeXN0ZW1Gb250ID0gY3JlYXRlU3lz
dGVtVUkocGFyYW1ldGVycywgbG9jYWxlU3RyaW5nLmdldCgpKTsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBjYXNlIENsaWVudFVzZTo6Rm9yU3lzdGVtVUlTZXJpZjoKKyAgICAgICAgY2Fz
ZSBDbGllbnRVc2U6OkZvclN5c3RlbVVJTW9ub3NwYWNlZDoKKyAgICAgICAgY2FzZSBDbGllbnRV
c2U6OkZvclN5c3RlbVVJUm91bmRlZDoKKyNpZiBIQVZFKERFU0lHTl9TWVNURU1fVUlfRk9OVFMp
CisgICAgICAgICAgICBzeXN0ZW1Gb250ID0gY3JlYXRlRGVzaWduU3lzdGVtVUkoY2xpZW50VXNl
LCBwYXJhbWV0ZXJzKTsKICNlbmRpZgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Ug
Q2xpZW50VXNlOjpGb3JUZXh0U3R5bGU6CisgICAgICAgICAgICBzeXN0ZW1Gb250ID0gY3JlYXRl
VGV4dFN0eWxlKHBhcmFtZXRlcnMpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAg
ICAgICAgQVNTRVJUKHN5c3RlbUZvbnQpOwogICAgICAgICBhdXRvIHJlc3VsdCA9IGNvbXB1dGVD
YXNjYWRlTGlzdChzeXN0ZW1Gb250LmdldCgpLCBsb2NhbGVTdHJpbmcuZ2V0KCkpOwpAQCAtODcs
MjAgKzEyOSwyMiBAQCB2b2lkIFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpjbGVhcigpCiAg
ICAgbV9tb25vc3BhY2VGYW1pbGllcy5jbGVhcigpOwogfQogCi1SZXRhaW5QdHI8Q1RGb250UmVm
PiBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6YXBwbHlXZWlnaHRJdGFsaWNzQW5kRmFsbGJh
Y2tCZWhhdmlvcihDVEZvbnRSZWYgZm9udCwgQ0dGbG9hdCB3ZWlnaHQsIGJvb2wgaXRhbGljLCBm
bG9hdCBzaXplLCBBbGxvd1VzZXJJbnN0YWxsZWRGb250cyBhbGxvd1VzZXJJbnN0YWxsZWRGb250
cykKK1JldGFpblB0cjxDVEZvbnRSZWY+IFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjphcHBs
eVdlaWdodEl0YWxpY3NBbmRGYWxsYmFja0JlaGF2aW9yKENURm9udFJlZiBmb250LCBDR0Zsb2F0
IHdlaWdodCwgYm9vbCBpdGFsaWMsIGZsb2F0IHNpemUsIEFsbG93VXNlckluc3RhbGxlZEZvbnRz
IGFsbG93VXNlckluc3RhbGxlZEZvbnRzLCBDRlN0cmluZ1JlZiBkZXNpZ24pCiB7CiAgICAgYXV0
byB3ZWlnaHROdW1iZXIgPSBhZG9wdENGKENGTnVtYmVyQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1
bHQsIGtDRk51bWJlckNHRmxvYXRUeXBlLCAmd2VpZ2h0KSk7CiAgICAgY29uc3QgZmxvYXQgc3lz
dGVtRm9udEl0YWxpY1Nsb3BlID0gMC4wNzsKICAgICBmbG9hdCBpdGFsaWNzUmF3TnVtYmVyID0g
aXRhbGljID8gc3lzdGVtRm9udEl0YWxpY1Nsb3BlIDogMDsKICAgICBhdXRvIGl0YWxpY3NOdW1i
ZXIgPSBhZG9wdENGKENGTnVtYmVyQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIGtDRk51bWJl
ckZsb2F0VHlwZSwgJml0YWxpY3NSYXdOdW1iZXIpKTsKICAgICBDRlR5cGVSZWYgdHJhaXRzS2V5
c1tdID0geyBrQ1RGb250V2VpZ2h0VHJhaXQsIGtDVEZvbnRTbGFudFRyYWl0LCBrQ1RGb250VUlG
b250RGVzaWduVHJhaXQgfTsKLSAgICBDRlR5cGVSZWYgdHJhaXRzVmFsdWVzW10gPSB7IHdlaWdo
dE51bWJlci5nZXQoKSwgaXRhbGljc051bWJlci5nZXQoKSwga0NGQm9vbGVhblRydWUgfTsKKyAg
ICBDRlR5cGVSZWYgdHJhaXRzVmFsdWVzW10gPSB7IHdlaWdodE51bWJlci5nZXQoKSwgaXRhbGlj
c051bWJlci5nZXQoKSwgZGVzaWduID8gc3RhdGljX2Nhc3Q8Q0ZUeXBlUmVmPihkZXNpZ24pIDog
c3RhdGljX2Nhc3Q8Q0ZUeXBlUmVmPihrQ1RGb250VUlGb250RGVzaWduRGVmYXVsdCkgfTsKICAg
ICBhdXRvIHRyYWl0c0RpY3Rpb25hcnkgPSBhZG9wdENGKENGRGljdGlvbmFyeUNyZWF0ZShrQ0ZB
bGxvY2F0b3JEZWZhdWx0LCB0cmFpdHNLZXlzLCB0cmFpdHNWYWx1ZXMsIFdURl9BUlJBWV9MRU5H
VEgodHJhaXRzS2V5cyksICZrQ0ZUeXBlRGljdGlvbmFyeUtleUNhbGxCYWNrcywgJmtDRlR5cGVE
aWN0aW9uYXJ5VmFsdWVDYWxsQmFja3MpKTsKICAgICBhdXRvIGF0dHJpYnV0ZXMgPSBhZG9wdENG
KENGRGljdGlvbmFyeUNyZWF0ZU11dGFibGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgMCwgJmtDRlR5
cGVEaWN0aW9uYXJ5S2V5Q2FsbEJhY2tzLCAma0NGVHlwZURpY3Rpb25hcnlWYWx1ZUNhbGxCYWNr
cykpOwogICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKGF0dHJpYnV0ZXMuZ2V0KCksIGtDVEZvbnRU
cmFpdHNBdHRyaWJ1dGUsIHRyYWl0c0RpY3Rpb25hcnkuZ2V0KCkpOwogICAgIGFkZEF0dHJpYnV0
ZXNGb3JJbnN0YWxsZWRGb250cyhhdHRyaWJ1dGVzLmdldCgpLCBhbGxvd1VzZXJJbnN0YWxsZWRG
b250cyk7CiAgICAgYXV0byBtb2RpZmljYXRpb24gPSBhZG9wdENGKENURm9udERlc2NyaXB0b3JD
cmVhdGVXaXRoQXR0cmlidXRlcyhhdHRyaWJ1dGVzLmdldCgpKSk7Ci0gICAgcmV0dXJuIGFkb3B0
Q0YoQ1RGb250Q3JlYXRlQ29weVdpdGhBdHRyaWJ1dGVzKGZvbnQsIHNpemUsIG51bGxwdHIsIG1v
ZGlmaWNhdGlvbi5nZXQoKSkpOworICAgIGlmIChmb250KQorICAgICAgICByZXR1cm4gYWRvcHRD
RihDVEZvbnRDcmVhdGVDb3B5V2l0aEF0dHJpYnV0ZXMoZm9udCwgc2l6ZSwgbnVsbHB0ciwgbW9k
aWZpY2F0aW9uLmdldCgpKSk7CisgICAgcmV0dXJuIGFkb3B0Q0YoQ1RGb250Q3JlYXRlV2l0aEZv
bnREZXNjcmlwdG9yKG1vZGlmaWNhdGlvbi5nZXQoKSwgc2l6ZSwgbnVsbHB0cikpOwogfQogCiBS
ZXRhaW5QdHI8Q1RGb250RGVzY3JpcHRvclJlZj4gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6
OnJlbW92ZUNhc2NhZGVMaXN0KENURm9udERlc2NyaXB0b3JSZWYgZm9udERlc2NyaXB0b3IpCkBA
IC0xMjksMTIgKzE3MywxMyBAQCBWZWN0b3I8UmV0YWluUHRyPENURm9udERlc2NyaXB0b3JSZWY+
PiBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6Y29tcHV0ZUNhc2NhZAogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiAKLVN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpDYXNjYWRlTGlzdFBhcmFt
ZXRlcnMgU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OnN5c3RlbUZvbnRQYXJhbWV0ZXJzKGNv
bnN0IEZvbnRDYXNjYWRlRGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uLCBjb25zdCBBdG9tU3RyaW5n
JiBmYW1pbHlOYW1lLCBDbGllbnRVc2UgY2xpZW50VXNlLCBBbGxvd1VzZXJJbnN0YWxsZWRGb250
cyBhbGxvd1VzZXJJbnN0YWxsZWRGb250cykKK1N5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpD
YXNjYWRlTGlzdFBhcmFtZXRlcnMgU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OnN5c3RlbUZv
bnRQYXJhbWV0ZXJzKGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIGNvbnN0IEF0
b21TdHJpbmcmIGZhbWlseU5hbWUsIENsaWVudFVzZSBjbGllbnRVc2UsIEFsbG93VXNlckluc3Rh
bGxlZEZvbnRzIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKQogewogICAgIENhc2NhZGVMaXN0UGFy
YW1ldGVycyByZXN1bHQ7CiAgICAgcmVzdWx0LmxvY2FsZSA9IGRlc2NyaXB0aW9uLmxvY2FsZSgp
OwogICAgIHJlc3VsdC5zaXplID0gZGVzY3JpcHRpb24uY29tcHV0ZWRTaXplKCk7CiAgICAgcmVz
dWx0Lml0YWxpYyA9IGlzSXRhbGljKGRlc2NyaXB0aW9uLml0YWxpYygpKTsKKyAgICByZXN1bHQu
YWxsb3dVc2VySW5zdGFsbGVkRm9udHMgPSBhbGxvd1VzZXJJbnN0YWxsZWRGb250czsKIAogICAg
IGF1dG8gd2VpZ2h0ID0gZGVzY3JpcHRpb24ud2VpZ2h0KCk7CiAgICAgaWYgKEZvbnRDYWNoZTo6
c2luZ2xldG9uKCkuc2hvdWxkTW9ja0JvbGRTeXN0ZW1Gb250Rm9yQWNjZXNzaWJpbGl0eSgpKQpA
QCAtMTU5LDIwICsyMDQsMzYgQEAgU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNhc2NhZGVM
aXN0UGFyYW1ldGVycyBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6c3kKICAgICBlbHNlCiAg
ICAgICAgIHJlc3VsdC53ZWlnaHQgPSBrQ1RGb250V2VpZ2h0QmxhY2s7CiAKLSAgICBpZiAoY2xp
ZW50VXNlID09IENsaWVudFVzZTo6Rm9yU3lzdGVtVUkpIHsKKyAgICBzd2l0Y2ggKGNsaWVudFVz
ZSkgeworICAgIGNhc2UgQ2xpZW50VXNlOjpGb3JTeXN0ZW1VSTogewogICAgICAgICBzdGF0aWMg
TmV2ZXJEZXN0cm95ZWQ8QXRvbVN0cmluZz4gc3lzdGVtVUkgPSBBdG9tU3RyaW5nKCJzeXN0ZW0t
dWkiLCBBdG9tU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CiAgICAgICAgIHJlc3VsdC5m
b250TmFtZSA9IHN5c3RlbVVJLmdldCgpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIEFTU0VSVChj
bGllbnRVc2UgPT0gQ2xpZW50VXNlOjpGb3JUZXh0U3R5bGUpOworICAgICAgICBicmVhazsKKyAg
ICB9CisgICAgY2FzZSBDbGllbnRVc2U6OkZvclN5c3RlbVVJU2VyaWY6IHsKKyAgICAgICAgc3Rh
dGljIE5ldmVyRGVzdHJveWVkPEF0b21TdHJpbmc+IHN5c3RlbVVJID0gQXRvbVN0cmluZygic3lz
dGVtLXVpLXNlcmlmIiwgQXRvbVN0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAgICAg
ICByZXN1bHQuZm9udE5hbWUgPSBzeXN0ZW1VSS5nZXQoKTsKKyAgICAgICAgYnJlYWs7CisgICAg
fQorICAgIGNhc2UgQ2xpZW50VXNlOjpGb3JTeXN0ZW1VSU1vbm9zcGFjZWQ6IHsKKyAgICAgICAg
c3RhdGljIE5ldmVyRGVzdHJveWVkPEF0b21TdHJpbmc+IHN5c3RlbVVJID0gQXRvbVN0cmluZygi
c3lzdGVtLXVpLW1vbm9zcGFjZWQiLCBBdG9tU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7
CisgICAgICAgIHJlc3VsdC5mb250TmFtZSA9IHN5c3RlbVVJLmdldCgpOworICAgICAgICBicmVh
azsKKyAgICB9CisgICAgY2FzZSBDbGllbnRVc2U6OkZvclN5c3RlbVVJUm91bmRlZDogeworICAg
ICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8QXRvbVN0cmluZz4gc3lzdGVtVUkgPSBBdG9tU3Ry
aW5nKCJzeXN0ZW0tdWktcm91bmRlZCIsIEF0b21TdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFs
KTsKKyAgICAgICAgcmVzdWx0LmZvbnROYW1lID0gc3lzdGVtVUkuZ2V0KCk7CisgICAgICAgIGJy
ZWFrOworICAgIH0KKyAgICBjYXNlIENsaWVudFVzZTo6Rm9yVGV4dFN0eWxlOgogICAgICAgICBy
ZXN1bHQuZm9udE5hbWUgPSBmYW1pbHlOYW1lOworICAgICAgICBicmVhazsKICAgICB9CiAKLSAg
ICByZXN1bHQuYWxsb3dVc2VySW5zdGFsbGVkRm9udHMgPSBhbGxvd1VzZXJJbnN0YWxsZWRGb250
czsKLQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLVZlY3RvcjxSZXRhaW5QdHI8Q1RGb250RGVz
Y3JpcHRvclJlZj4+IFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpjYXNjYWRlTGlzdChjb25z
dCBGb250Q2FzY2FkZURlc2NyaXB0aW9uJiBkZXNjcmlwdGlvbiwgY29uc3QgQXRvbVN0cmluZyYg
Y3NzRmFtaWx5LCBDbGllbnRVc2UgY2xpZW50VXNlLCBBbGxvd1VzZXJJbnN0YWxsZWRGb250cyBh
bGxvd1VzZXJJbnN0YWxsZWRGb250cykKK1ZlY3RvcjxSZXRhaW5QdHI8Q1RGb250RGVzY3JpcHRv
clJlZj4+IFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpjYXNjYWRlTGlzdChjb25zdCBGb250
RGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uLCBjb25zdCBBdG9tU3RyaW5nJiBjc3NGYW1pbHksIENs
aWVudFVzZSBjbGllbnRVc2UsIEFsbG93VXNlckluc3RhbGxlZEZvbnRzIGFsbG93VXNlckluc3Rh
bGxlZEZvbnRzKQogewogICAgIHJldHVybiBjYXNjYWRlTGlzdChzeXN0ZW1Gb250UGFyYW1ldGVy
cyhkZXNjcmlwdGlvbiwgY3NzRmFtaWx5LCBjbGllbnRVc2UsIGFsbG93VXNlckluc3RhbGxlZEZv
bnRzKSwgY2xpZW50VXNlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL1N5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9TeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dC5o
CmluZGV4IDMyM2FiMjk4ZjA2MzJlYWE3NTVjOGZhN2MwMjg1ZjA4YjEzZmI2YjAuLjdhNjIzMTYx
YmM0MmQwNTAwOWUxOGMwMmYwMmRiMmVkOTA0N2MxN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1N5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU3lzdGVtRm9udERh
dGFiYXNlQ29yZVRleHQuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lu
Y2x1ZGUgIkZvbnRDYXNjYWRlRGVzY3JpcHRpb24uaCIKKyNpbmNsdWRlICJGb250RGVzY3JpcHRp
b24uaCIKICNpbmNsdWRlIDxwYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmg+CiAjaW5jbHVkZSA8
d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFRyYWl0cy5oPgpAQCAtOTYsOSArOTYs
MTUgQEAgcHVibGljOgogCiAgICAgc3RhdGljIFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0JiBz
aW5nbGV0b24oKTsKIAotICAgIGVudW0gY2xhc3MgQ2xpZW50VXNlIHsgRm9yU3lzdGVtVUksIEZv
clRleHRTdHlsZSB9OworICAgIGVudW0gY2xhc3MgQ2xpZW50VXNlIHsKKyAgICAgICAgRm9yU3lz
dGVtVUksCisgICAgICAgIEZvclN5c3RlbVVJU2VyaWYsCisgICAgICAgIEZvclN5c3RlbVVJTW9u
b3NwYWNlZCwKKyAgICAgICAgRm9yU3lzdGVtVUlSb3VuZGVkLAorICAgICAgICBGb3JUZXh0U3R5
bGUKKyAgICB9OwogCi0gICAgVmVjdG9yPFJldGFpblB0cjxDVEZvbnREZXNjcmlwdG9yUmVmPj4g
Y2FzY2FkZUxpc3QoY29uc3QgRm9udENhc2NhZGVEZXNjcmlwdGlvbiYsIGNvbnN0IEF0b21TdHJp
bmcmIGNzc0ZhbWlseSwgQ2xpZW50VXNlLCBBbGxvd1VzZXJJbnN0YWxsZWRGb250cyk7CisgICAg
VmVjdG9yPFJldGFpblB0cjxDVEZvbnREZXNjcmlwdG9yUmVmPj4gY2FzY2FkZUxpc3QoY29uc3Qg
Rm9udERlc2NyaXB0aW9uJiwgY29uc3QgQXRvbVN0cmluZyYgY3NzRmFtaWx5LCBDbGllbnRVc2Us
IEFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKIAogICAgIFN0cmluZyBzZXJpZkZhbWlseShjb25z
dCBTdHJpbmcmIGxvY2FsZSk7CiAgICAgU3RyaW5nIHNhbnNTZXJpZkZhbWlseShjb25zdCBTdHJp
bmcmIGxvY2FsZSk7CkBAIC0xMTMsMTAgKzExOSwxNCBAQCBwcml2YXRlOgogCiAgICAgVmVjdG9y
PFJldGFpblB0cjxDVEZvbnREZXNjcmlwdG9yUmVmPj4gY2FzY2FkZUxpc3QoY29uc3QgQ2FzY2Fk
ZUxpc3RQYXJhbWV0ZXJzJiwgQ2xpZW50VXNlKTsKIAotICAgIHN0YXRpYyBSZXRhaW5QdHI8Q1RG
b250UmVmPiBhcHBseVdlaWdodEl0YWxpY3NBbmRGYWxsYmFja0JlaGF2aW9yKENURm9udFJlZiwg
Q0dGbG9hdCB3ZWlnaHQsIGJvb2wgaXRhbGljLCBmbG9hdCBzaXplLCBBbGxvd1VzZXJJbnN0YWxs
ZWRGb250cyk7CisgICAgUmV0YWluUHRyPENURm9udFJlZj4gY3JlYXRlU3lzdGVtVUkoY29uc3Qg
Q2FzY2FkZUxpc3RQYXJhbWV0ZXJzJiwgQ0ZTdHJpbmdSZWYgbG9jYWxlKTsKKyAgICBSZXRhaW5Q
dHI8Q1RGb250UmVmPiBjcmVhdGVEZXNpZ25TeXN0ZW1VSShDbGllbnRVc2UsIGNvbnN0IENhc2Nh
ZGVMaXN0UGFyYW1ldGVycyYpOworICAgIFJldGFpblB0cjxDVEZvbnRSZWY+IGNyZWF0ZVRleHRT
dHlsZShjb25zdCBDYXNjYWRlTGlzdFBhcmFtZXRlcnMmKTsKKworICAgIHN0YXRpYyBSZXRhaW5Q
dHI8Q1RGb250UmVmPiBhcHBseVdlaWdodEl0YWxpY3NBbmRGYWxsYmFja0JlaGF2aW9yKENURm9u
dFJlZiwgQ0dGbG9hdCB3ZWlnaHQsIGJvb2wgaXRhbGljLCBmbG9hdCBzaXplLCBBbGxvd1VzZXJJ
bnN0YWxsZWRGb250cywgQ0ZTdHJpbmdSZWYgZGVzaWduID0gbnVsbHB0cik7CiAgICAgc3RhdGlj
IFJldGFpblB0cjxDVEZvbnREZXNjcmlwdG9yUmVmPiByZW1vdmVDYXNjYWRlTGlzdChDVEZvbnRE
ZXNjcmlwdG9yUmVmKTsKICAgICBzdGF0aWMgVmVjdG9yPFJldGFpblB0cjxDVEZvbnREZXNjcmlw
dG9yUmVmPj4gY29tcHV0ZUNhc2NhZGVMaXN0KENURm9udFJlZiwgQ0ZTdHJpbmdSZWYgbG9jYWxl
KTsKLSAgICBzdGF0aWMgQ2FzY2FkZUxpc3RQYXJhbWV0ZXJzIHN5c3RlbUZvbnRQYXJhbWV0ZXJz
KGNvbnN0IEZvbnRDYXNjYWRlRGVzY3JpcHRpb24mLCBjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHlO
YW1lLCBDbGllbnRVc2UsIEFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKKyAgICBzdGF0aWMgQ2Fz
Y2FkZUxpc3RQYXJhbWV0ZXJzIHN5c3RlbUZvbnRQYXJhbWV0ZXJzKGNvbnN0IEZvbnREZXNjcmlw
dGlvbiYsIGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseU5hbWUsIENsaWVudFVzZSwgQWxsb3dVc2Vy
SW5zdGFsbGVkRm9udHMpOwogCiAgICAgSGFzaE1hcDxDYXNjYWRlTGlzdFBhcmFtZXRlcnMsIFZl
Y3RvcjxSZXRhaW5QdHI8Q1RGb250RGVzY3JpcHRvclJlZj4+LCBDYXNjYWRlTGlzdFBhcmFtZXRl
cnM6OkNhc2NhZGVMaXN0UGFyYW1ldGVyc0hhc2gsIFNpbXBsZUNsYXNzSGFzaFRyYWl0czxDYXNj
YWRlTGlzdFBhcmFtZXRlcnM+PiBtX3N5c3RlbUZvbnRDYWNoZTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9zL0ZvbnRDYWNoZUlPUy5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250Q2FjaGVJT1MubW0KaW5kZXggOGJh
Mzk2MGIzODdlMzNkY2JlOTk0MmM0NGU2YWI1MmE3MGZhNzUzNy4uYzM1NzBjMWQ3ZmNkYThiOTZi
ZGI2Mjc5MjZlY2M3MmZmNTczNmVlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvaW9zL0ZvbnRDYWNoZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9pb3MvRm9udENhY2hlSU9TLm1tCkBAIC0zMyw2ICszMyw3IEBACiAKICNp
bXBvcnQgIkZvbnRDYXNjYWRlLmgiCiAjaW1wb3J0ICJSZW5kZXJUaGVtZUlPUy5oIgorI2ltcG9y
dCAiU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQuaCIKICNpbXBvcnQgPHBhbC9zcGkvY2cvQ29y
ZUdyYXBoaWNzU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmg+CiAj
aW1wb3J0IDx3dGYvSGFzaFNldC5oPgpAQCAtMTI4LDkgKzEyOSwxMSBAQCBzdGF0aWMgUmV0YWlu
UHRyPENURm9udERlc2NyaXB0b3JSZWY+IHN5c3RlbUZvbnREZXNjcmlwdG9yKEZvbnRTZWxlY3Rp
b25WYWx1ZSB3ZQogICAgIHJldHVybiBhZG9wdENGKENURm9udERlc2NyaXB0b3JDcmVhdGVDb3B5
V2l0aEF0dHJpYnV0ZXMoZm9udERlc2NyaXB0b3IuZ2V0KCksIHN0YXRpY19jYXN0PENGRGljdGlv
bmFyeVJlZj4oYXR0cmlidXRlcy5nZXQoKSkpKTsKIH0KIAotUmV0YWluUHRyPENURm9udFJlZj4g
cGxhdGZvcm1Gb250V2l0aEZhbWlseVNwZWNpYWxDYXNlKGNvbnN0IEF0b21TdHJpbmcmIGZhbWls
eSwgRm9udFNlbGVjdGlvblJlcXVlc3QgcmVxdWVzdCwgZmxvYXQgc2l6ZSwgQWxsb3dVc2VySW5z
dGFsbGVkRm9udHMgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpCitSZXRhaW5QdHI8Q1RGb250UmVm
PiBwbGF0Zm9ybUZvbnRXaXRoRmFtaWx5U3BlY2lhbENhc2UoY29uc3QgQXRvbVN0cmluZyYgZmFt
aWx5LCBjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbiwgZmxvYXQgc2l6ZSwg
QWxsb3dVc2VySW5zdGFsbGVkRm9udHMgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpCiB7CiAgICAg
Ly8gRklYTUU6IFNlZSBjb21tZW50IGluIEZvbnRDYXNjYWRlRGVzY3JpcHRpb246OmVmZmVjdGl2
ZUZhbWlseUF0KCkgaW4gRm9udERlc2NyaXB0aW9uQ29jb2EuY3BwCisgICAgY29uc3QgYXV0byYg
cmVxdWVzdCA9IGZvbnREZXNjcmlwdGlvbi5mb250U2VsZWN0aW9uUmVxdWVzdCgpOworCiAgICAg
aWYgKGZhbWlseS5zdGFydHNXaXRoKCJVSUNURm9udFRleHRTdHlsZSIpKSB7CiAgICAgICAgIENU
Rm9udFN5bWJvbGljVHJhaXRzIHRyYWl0cyA9IChpc0ZvbnRXZWlnaHRCb2xkKHJlcXVlc3Qud2Vp
Z2h0KSB8fCBGb250Q2FjaGU6OnNpbmdsZXRvbigpLnNob3VsZE1vY2tCb2xkU3lzdGVtRm9udEZv
ckFjY2Vzc2liaWxpdHkoKSA/IGtDVEZvbnRUcmFpdEJvbGQgOiAwKSB8IChpc0l0YWxpYyhyZXF1
ZXN0LnNsb3BlKSA/IGtDVEZvbnRUcmFpdEl0YWxpYyA6IDApOwogICAgICAgICBSZXRhaW5QdHI8
Q0ZTdHJpbmdSZWY+IGZhbWlseU5hbWVTdHIgPSBmYW1pbHkuc3RyaW5nKCkuY3JlYXRlQ0ZTdHJp
bmcoKTsKQEAgLTE0MCwxMSArMTQzLDMwIEBAIFJldGFpblB0cjxDVEZvbnRSZWY+IHBsYXRmb3Jt
Rm9udFdpdGhGYW1pbHlTcGVjaWFsQ2FzZShjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHksCiAgICAg
ICAgIHJldHVybiBjcmVhdGVGb250Rm9ySW5zdGFsbGVkRm9udHMoZm9udERlc2NyaXB0b3IuZ2V0
KCksIHNpemUsIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKICAgICB9CiAKKyAgICAvLyBGSVhN
RTogTWlncmF0ZSB0aGlzIHRvIHVzZSBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dCBsaWtlIHRo
ZSBkZXNpZ24gc3lzdGVtLXVpIGJsb2NrIGJlbG93LgogICAgIGlmIChlcXVhbExldHRlcnNJZ25v
cmluZ0FTQ0lJQ2FzZShmYW1pbHksICItd2Via2l0LXN5c3RlbS1mb250IikgfHwgZXF1YWxMZXR0
ZXJzSWdub3JpbmdBU0NJSUNhc2UoZmFtaWx5LCAiLWFwcGxlLXN5c3RlbSIpIHx8IGVxdWFsTGV0
dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGZhbWlseSwgIi1hcHBsZS1zeXN0ZW0tZm9udCIpIHx8IGVx
dWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGZhbWlseSwgInN5c3RlbS11aSIpKSB7CiAgICAg
ICAgIGF1dG8gZm9udERlc2NyaXB0b3IgPSBzeXN0ZW1Gb250RGVzY3JpcHRvcihyZXF1ZXN0Lndl
aWdodCwgaXNGb250V2VpZ2h0Qm9sZChyZXF1ZXN0LndlaWdodCksIGlzSXRhbGljKHJlcXVlc3Qu
c2xvcGUpLCBzaXplKTsKICAgICAgICAgcmV0dXJuIGNyZWF0ZUZvbnRGb3JJbnN0YWxsZWRGb250
cyhmb250RGVzY3JpcHRvci5nZXQoKSwgc2l6ZSwgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOwog
ICAgIH0KIAorI2lmIEhBVkUoREVTSUdOX1NZU1RFTV9VSV9GT05UUykKKyAgICBpZiAoZm9udERl
c2NyaXB0aW9uLnNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cygpKSB7CisgICAgICAgIE9w
dGlvbmFsPFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpDbGllbnRVc2U+IGRlc2lnblN5c3Rl
bVVJOworICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZmFtaWx5LCAi
LWFwcGxlLXN5c3RlbS11aS1zZXJpZiIpKQorICAgICAgICAgICAgZGVzaWduU3lzdGVtVUkgPSBT
eXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6Q2xpZW50VXNlOjpGb3JTeXN0ZW1VSVNlcmlmOwor
ICAgICAgICBlbHNlIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShmYW1pbHksICIt
YXBwbGUtc3lzdGVtLXVpLW1vbm9zcGFjZWQiKSkKKyAgICAgICAgICAgIGRlc2lnblN5c3RlbVVJ
ID0gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNsaWVudFVzZTo6Rm9yU3lzdGVtVUlNb25v
c3BhY2VkOworICAgICAgICBlbHNlIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShm
YW1pbHksICItYXBwbGUtc3lzdGVtLXVpLXJvdW5kZWQiKSkKKyAgICAgICAgICAgIGRlc2lnblN5
c3RlbVVJID0gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNsaWVudFVzZTo6Rm9yU3lzdGVt
VUlSb3VuZGVkOworCisgICAgICAgIGlmIChkZXNpZ25TeXN0ZW1VSSkgeworICAgICAgICAgICAg
YXV0byBjYXNjYWRlTGlzdCA9IFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpzaW5nbGV0b24o
KS5jYXNjYWRlTGlzdChmb250RGVzY3JpcHRpb24sIGZhbWlseSwgKmRlc2lnblN5c3RlbVVJLCBh
bGxvd1VzZXJJbnN0YWxsZWRGb250cyk7CisgICAgICAgICAgICBpZiAoIWNhc2NhZGVMaXN0Lmlz
RW1wdHkoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gY3JlYXRlRm9udEZvckluc3RhbGxlZEZv
bnRzKGNhc2NhZGVMaXN0WzBdLmdldCgpLCBzaXplLCBhbGxvd1VzZXJJbnN0YWxsZWRGb250cyk7
CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKKwogICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmlu
Z0FTQ0lJQ2FzZShmYW1pbHksICItYXBwbGUtc3lzdGVtLW1vbm9zcGFjZWQtbnVtYmVycyIpKSB7
CiAgICAgICAgIFJldGFpblB0cjxDVEZvbnREZXNjcmlwdG9yUmVmPiBzeXN0ZW1Gb250RGVzY3Jp
cHRvciA9IGFkb3B0Q0YoQ1RGb250RGVzY3JpcHRvckNyZWF0ZUZvclVJVHlwZShrQ1RGb250VUlG
b250U3lzdGVtLCBzaXplLCBudWxscHRyKSk7CiAgICAgICAgIFJldGFpblB0cjxDVEZvbnREZXNj
cmlwdG9yUmVmPiBtb25vc3BhY2VGb250RGVzY3JpcHRvciA9IGFkb3B0Q0YoQ1RGb250RGVzY3Jp
cHRvckNyZWF0ZUNvcHlXaXRoRmVhdHVyZShzeXN0ZW1Gb250RGVzY3JpcHRvci5nZXQoKSwgKENG
TnVtYmVyUmVmKUAoa051bWJlclNwYWNpbmdUeXBlKSwgKENGTnVtYmVyUmVmKUAoa01vbm9zcGFj
ZWROdW1iZXJzU2VsZWN0b3IpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvRm9udENhY2hlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWFjL0ZvbnRDYWNoZU1hYy5tbQppbmRleCBiM2RjZGNjN2ZiNTY1OGI0NjEwZmQy
MTVjMzdmZWNjZTBmZTNlMDhjLi5hMDVlNDEyN2EzYzIyNDBmNDg0NmU4ODI0NjM4ZTBmZGU5MWRm
ZDJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9u
dENhY2hlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9G
b250Q2FjaGVNYWMubW0KQEAgLTMzLDYgKzMzLDcgQEAKICNpbXBvcnQgIkZvbnQuaCIKICNpbXBv
cnQgIkZvbnRDYXNjYWRlLmgiCiAjaW1wb3J0ICJGb250UGxhdGZvcm1EYXRhLmgiCisjaW1wb3J0
ICJTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dC5oIgogI2ltcG9ydCA8cGFsL3NwaS9jZy9Db3Jl
R3JhcGhpY3NTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvY29jb2EvQ29yZVRleHRTUEkuaD4KIApA
QCAtNzMsOSArNzQsMTIgQEAgc3RhdGljIENHRmxvYXQgdG9OU0ZvbnRXZWlnaHQoRm9udFNlbGVj
dGlvblZhbHVlIGZvbnRXZWlnaHQpCiAgICAgcmV0dXJuIE5TRm9udFdlaWdodEJsYWNrOwogfQog
Ci1SZXRhaW5QdHI8Q1RGb250UmVmPiBwbGF0Zm9ybUZvbnRXaXRoRmFtaWx5U3BlY2lhbENhc2Uo
Y29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBGb250U2VsZWN0aW9uUmVxdWVzdCByZXF1ZXN0LCBm
bG9hdCBzaXplLCBBbGxvd1VzZXJJbnN0YWxsZWRGb250cyBhbGxvd1VzZXJJbnN0YWxsZWRGb250
cykKK1JldGFpblB0cjxDVEZvbnRSZWY+IHBsYXRmb3JtRm9udFdpdGhGYW1pbHlTcGVjaWFsQ2Fz
ZShjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERl
c2NyaXB0aW9uLCBmbG9hdCBzaXplLCBBbGxvd1VzZXJJbnN0YWxsZWRGb250cyBhbGxvd1VzZXJJ
bnN0YWxsZWRGb250cykKIHsKICAgICAvLyBGSVhNRTogU2VlIGNvbW1lbnQgaW4gRm9udENhc2Nh
ZGVEZXNjcmlwdGlvbjo6ZWZmZWN0aXZlRmFtaWx5QXQoKSBpbiBGb250RGVzY3JpcHRpb25Db2Nv
YS5jcHAKKyAgICBjb25zdCBhdXRvJiByZXF1ZXN0ID0gZm9udERlc2NyaXB0aW9uLmZvbnRTZWxl
Y3Rpb25SZXF1ZXN0KCk7CisKKyAgICAvLyBGSVhNRTogTWlncmF0ZSB0aGlzIHRvIHVzZSBTeXN0
ZW1Gb250RGF0YWJhc2VDb3JlVGV4dCBsaWtlIHRoZSBkZXNpZ24gc3lzdGVtLXVpIGJsb2NrIGJl
bG93LgogICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShmYW1pbHksICItd2Vi
a2l0LXN5c3RlbS1mb250IikgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZmFtaWx5
LCAiLWFwcGxlLXN5c3RlbSIpIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGZhbWls
eSwgIi1hcHBsZS1zeXN0ZW0tZm9udCIpIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNl
KGZhbWlseSwgInN5c3RlbS11aSIpKSB7CiAgICAgICAgIFJldGFpblB0cjxDVEZvbnRSZWY+IHJl
c3VsdCA9IHRvQ1RGb250KFtOU0ZvbnQgc3lzdGVtRm9udE9mU2l6ZTpzaXplIHdlaWdodDp0b05T
Rm9udFdlaWdodChyZXF1ZXN0LndlaWdodCldKTsKICAgICAgICAgaWYgKGlzSXRhbGljKHJlcXVl
c3Quc2xvcGUpKSB7CkBAIC04OCw2ICs5MiwyNCBAQCBSZXRhaW5QdHI8Q1RGb250UmVmPiBwbGF0
Zm9ybUZvbnRXaXRoRmFtaWx5U3BlY2lhbENhc2UoY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LAog
ICAgICAgICByZXR1cm4gY3JlYXRlRm9udEZvckluc3RhbGxlZEZvbnRzKHJlc3VsdC5nZXQoKSwg
YWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOwogICAgIH0KIAorI2lmIEhBVkUoREVTSUdOX1NZU1RF
TV9VSV9GT05UUykKKyAgICBpZiAoZm9udERlc2NyaXB0aW9uLnNob3VsZEFsbG93RGVzaWduU3lz
dGVtVUlGb250cygpKSB7CisgICAgICAgIE9wdGlvbmFsPFN5c3RlbUZvbnREYXRhYmFzZUNvcmVU
ZXh0OjpDbGllbnRVc2U+IGRlc2lnblN5c3RlbVVJOworICAgICAgICBpZiAoZXF1YWxMZXR0ZXJz
SWdub3JpbmdBU0NJSUNhc2UoZmFtaWx5LCAiLWFwcGxlLXN5c3RlbS11aS1zZXJpZiIpKQorICAg
ICAgICAgICAgZGVzaWduU3lzdGVtVUkgPSBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6Q2xp
ZW50VXNlOjpGb3JTeXN0ZW1VSVNlcmlmOworICAgICAgICBlbHNlIGlmIChlcXVhbExldHRlcnNJ
Z25vcmluZ0FTQ0lJQ2FzZShmYW1pbHksICItYXBwbGUtc3lzdGVtLXVpLW1vbm9zcGFjZWQiKSkK
KyAgICAgICAgICAgIGRlc2lnblN5c3RlbVVJID0gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6
OkNsaWVudFVzZTo6Rm9yU3lzdGVtVUlNb25vc3BhY2VkOworICAgICAgICBlbHNlIGlmIChlcXVh
bExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShmYW1pbHksICItYXBwbGUtc3lzdGVtLXVpLXJvdW5k
ZWQiKSkKKyAgICAgICAgICAgIGRlc2lnblN5c3RlbVVJID0gU3lzdGVtRm9udERhdGFiYXNlQ29y
ZVRleHQ6OkNsaWVudFVzZTo6Rm9yU3lzdGVtVUlSb3VuZGVkOworCisgICAgICAgIGlmIChkZXNp
Z25TeXN0ZW1VSSkgeworICAgICAgICAgICAgYXV0byBjYXNjYWRlTGlzdCA9IFN5c3RlbUZvbnRE
YXRhYmFzZUNvcmVUZXh0OjpzaW5nbGV0b24oKS5jYXNjYWRlTGlzdChmb250RGVzY3JpcHRpb24s
IGZhbWlseSwgKmRlc2lnblN5c3RlbVVJLCBhbGxvd1VzZXJJbnN0YWxsZWRGb250cyk7CisgICAg
ICAgICAgICBpZiAoIWNhc2NhZGVMaXN0LmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gY3JlYXRlRm9udEZvckluc3RhbGxlZEZvbnRzKGNhc2NhZGVMaXN0WzBdLmdldCgpLCBzaXpl
LCBhbGxvd1VzZXJJbnN0YWxsZWRGb250cyk7CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKKwog
ICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShmYW1pbHksICItYXBwbGUtc3lz
dGVtLW1vbm9zcGFjZWQtbnVtYmVycyIpKSB7CiAgICAgICAgIGludCBudW1iZXJTcGFjaW5nVHlw
ZSA9IGtOdW1iZXJTcGFjaW5nVHlwZTsKICAgICAgICAgaW50IG1vbm9zcGFjZWROdW1iZXJzU2Vs
ZWN0b3IgPSBrTW9ub3NwYWNlZE51bWJlcnNTZWxlY3RvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N0eWxlL1N0eWxlUmVzb2x2ZUZvckRvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL1N0eWxlUmVzb2x2ZUZvckRvY3VtZW50LmNwcAppbmRleCAwZTQzZDQxN2FjZWVmM2U3
YWRhNjg5NjZjM2EwN2MwNWM5MDRhMjNiLi5kZGU4ODE4MjlkMmQ2Y2NlNjVmYjQ2ZjUyYmMxMDQw
YjgwNTc0OGU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZVJlc29sdmVG
b3JEb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZlRm9y
RG9jdW1lbnQuY3BwCkBAIC0xMTAsNiArMTEwLDcgQEAgUmVuZGVyU3R5bGUgcmVzb2x2ZUZvckRv
Y3VtZW50KGNvbnN0IERvY3VtZW50JiBkb2N1bWVudCkKICAgICBmb250RGVzY3JpcHRpb24uc2V0
UmVuZGVyaW5nTW9kZShzZXR0aW5ncy5mb250UmVuZGVyaW5nTW9kZSgpKTsKICAgICBmb250RGVz
Y3JpcHRpb24uc2V0T25lRmFtaWx5KHN0YW5kYXJkRmFtaWx5KTsKICAgICBmb250RGVzY3JpcHRp
b24uc2V0U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoc2V0dGluZ3Muc2hvdWxkQWxsb3dV
c2VySW5zdGFsbGVkRm9udHMoKSA/IEFsbG93VXNlckluc3RhbGxlZEZvbnRzOjpZZXMgOiBBbGxv
d1VzZXJJbnN0YWxsZWRGb250czo6Tm8pOworICAgIGZvbnREZXNjcmlwdGlvbi5zZXRTaG91bGRB
bGxvd0Rlc2lnblN5c3RlbVVJRm9udHMoc2V0dGluZ3Muc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1V
SUZvbnRzKCkpOwogCiAgICAgZm9udERlc2NyaXB0aW9uLnNldEtleXdvcmRTaXplRnJvbUlkZW50
aWZpZXIoQ1NTVmFsdWVNZWRpdW0pOwogICAgIGludCBzaXplID0gZm9udFNpemVGb3JLZXl3b3Jk
KENTU1ZhbHVlTWVkaXVtLCBmYWxzZSwgZG9jdW1lbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFw
aGljcy9TVkdJbWFnZS5jcHAKaW5kZXggYjJkYjFhNmRiODk5NjBmOTc1NzY2MmQ4OWU1MGNhY2Jl
ZDk3NDNiMi4uYjNmMjJjYjE4MzdlODNhNWU3YjI2YzYxMGE1N2RhMzlhYmQzNWFmMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCkBAIC00NzEsNiArNDcxLDcgQEAg
RW5jb2RlZERhdGFTdGF0dXMgU1ZHSW1hZ2U6OmRhdGFDaGFuZ2VkKGJvb2wgYWxsRGF0YVJlY2Vp
dmVkKQogICAgICAgICBtX3BhZ2UtPnNldHRpbmdzKCkuc2V0UGx1Z2luc0VuYWJsZWQoZmFsc2Up
OwogICAgICAgICBtX3BhZ2UtPnNldHRpbmdzKCkuc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0Vu
YWJsZWQoZmFsc2UpOwogICAgICAgICBtX3BhZ2UtPnNldHRpbmdzKCkuc2V0U2hvdWxkQWxsb3dV
c2VySW5zdGFsbGVkRm9udHMoZmFsc2UpOworICAgICAgICBtX3BhZ2UtPnNldHRpbmdzKCkuc2V0
U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKGZhbHNlKTsKIAogICAgICAgICBGcmFtZSYg
ZnJhbWUgPSBtX3BhZ2UtPm1haW5GcmFtZSgpOwogICAgICAgICBmcmFtZS5zZXRWaWV3KEZyYW1l
Vmlldzo6Y3JlYXRlKGZyYW1lKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNl
dHRpbmdzLmNwcAppbmRleCBjMTEzMWQyNWIzODhiYmE4MzY2NTNkMjk3MDhlNmE1YmJlNGJkZmM0
Li4yZTMyZTgxMjhmZDFhNGVjMTUyZjg4MWIwOTkyMjNiNjk5NjNlN2IxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKQEAgLTg1LDYgKzg1LDcgQEAgSW50
ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXAoU2V0dGluZ3MmIHNldHRpbmdzKQogICAgICwg
bV9zaG91bGRDb252ZXJ0UG9zaXRpb25TdHlsZU9uQ29weShzZXR0aW5ncy5zaG91bGRDb252ZXJ0
UG9zaXRpb25TdHlsZU9uQ29weSgpKQogICAgICwgbV9mb250RmFsbGJhY2tQcmVmZXJzUGljdG9n
cmFwaHMoc2V0dGluZ3MuZm9udEZhbGxiYWNrUHJlZmVyc1BpY3RvZ3JhcGhzKCkpCiAgICAgLCBt
X3Nob3VsZElnbm9yZUZvbnRMb2FkQ29tcGxldGlvbnMoc2V0dGluZ3Muc2hvdWxkSWdub3JlRm9u
dExvYWRDb21wbGV0aW9ucygpKQorICAgICwgbV9zaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9u
dHMoc2V0dGluZ3Muc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKCkpCiAgICAgLCBtX2Jh
Y2tncm91bmRTaG91bGRFeHRlbmRCZXlvbmRQYWdlKHNldHRpbmdzLmJhY2tncm91bmRTaG91bGRF
eHRlbmRCZXlvbmRQYWdlKCkpCiAgICAgLCBtX3N0b3JhZ2VCbG9ja2luZ1BvbGljeShzZXR0aW5n
cy5zdG9yYWdlQmxvY2tpbmdQb2xpY3koKSkKICAgICAsIG1fc2Nyb2xsaW5nVHJlZUluY2x1ZGVz
RnJhbWVzKHNldHRpbmdzLnNjcm9sbGluZ1RyZWVJbmNsdWRlc0ZyYW1lcygpKQpAQCAtMTg0LDYg
KzE4NSw3IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8oU2V0dGlu
Z3MmIHNldHRpbmdzKQogICAgIHNldHRpbmdzLnNldFNob3VsZENvbnZlcnRQb3NpdGlvblN0eWxl
T25Db3B5KG1fc2hvdWxkQ29udmVydFBvc2l0aW9uU3R5bGVPbkNvcHkpOwogICAgIHNldHRpbmdz
LnNldEZvbnRGYWxsYmFja1ByZWZlcnNQaWN0b2dyYXBocyhtX2ZvbnRGYWxsYmFja1ByZWZlcnNQ
aWN0b2dyYXBocyk7CiAgICAgc2V0dGluZ3Muc2V0U2hvdWxkSWdub3JlRm9udExvYWRDb21wbGV0
aW9ucyhtX3Nob3VsZElnbm9yZUZvbnRMb2FkQ29tcGxldGlvbnMpOworICAgIHNldHRpbmdzLnNl
dFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyhtX3Nob3VsZEFsbG93RGVzaWduU3lzdGVt
VUlGb250cyk7CiAgICAgc2V0dGluZ3Muc2V0QmFja2dyb3VuZFNob3VsZEV4dGVuZEJleW9uZFBh
Z2UobV9iYWNrZ3JvdW5kU2hvdWxkRXh0ZW5kQmV5b25kUGFnZSk7CiAgICAgc2V0dGluZ3Muc2V0
U3RvcmFnZUJsb2NraW5nUG9saWN5KG1fc3RvcmFnZUJsb2NraW5nUG9saWN5KTsKICAgICBzZXR0
aW5ncy5zZXRTY3JvbGxpbmdUcmVlSW5jbHVkZXNGcmFtZXMobV9zY3JvbGxpbmdUcmVlSW5jbHVk
ZXNGcmFtZXMpOwpAQCAtNjkzLDYgKzY5NSwxNCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBJbnRlcm5h
bFNldHRpbmdzOjpzZXRTaG91bGRJZ25vcmVGb250TG9hZENvbXBsZXRpb25zKGJvb2wgaWdubwog
ICAgIHJldHVybiB7IH07CiB9CiAKK0V4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6
OnNldFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyhib29sIGFsbG93KQoreworICAgIGlm
ICghbV9wYWdlKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9y
IH07CisgICAgc2V0dGluZ3MoKS5zZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMoYWxs
b3cpOworICAgIHJldHVybiB7IH07Cit9CisKIEV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0
dGluZ3M6OnNldFF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxlZChib29sIGVuYWJsZWQp
CiB7CiAgICAgaWYgKCFtX3BhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0
aW5ncy5oCmluZGV4IDY2MmQ4ZmVhMjk4NmQ4ZjQ2MDJlM2VmZTRiYzViMmIwYWZmNzczNWUuLjVl
NGViYjQzZjk2MzQxZTUzOTIxN2ZlYjBhNzI3N2M0MmY5ZTU5OWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oCkBAIC04Niw2ICs4Niw3IEBAIHB1YmxpYzoKICAg
ICBlbnVtIGNsYXNzIEZvbnRMb2FkVGltaW5nT3ZlcnJpZGUgeyBCbG9jaywgU3dhcCwgRmFpbHVy
ZSB9OwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldEZvbnRMb2FkVGltaW5nT3ZlcnJpZGUoY29u
c3QgRm9udExvYWRUaW1pbmdPdmVycmlkZSYpOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFNo
b3VsZElnbm9yZUZvbnRMb2FkQ29tcGxldGlvbnMoYm9vbCk7CisgICAgRXhjZXB0aW9uT3I8dm9p
ZD4gc2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKGJvb2wpOwogICAgIEV4Y2VwdGlv
bk9yPHZvaWQ+IHNldFF1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50RW5hYmxlZChib29sKTsKICAg
ICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRZb3VUdWJlRmxhc2hQbHVnaW5SZXBsYWNlbWVudEVuYWJs
ZWQoYm9vbCk7CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0QmFja2dyb3VuZFNob3VsZEV4dGVu
ZEJleW9uZFBhZ2UoYm9vbCk7CkBAIC0xODUsNiArMTg2LDcgQEAgcHJpdmF0ZToKICAgICAgICAg
Ym9vbCBtX3Nob3VsZENvbnZlcnRQb3NpdGlvblN0eWxlT25Db3B5OwogICAgICAgICBib29sIG1f
Zm9udEZhbGxiYWNrUHJlZmVyc1BpY3RvZ3JhcGhzOwogICAgICAgICBib29sIG1fc2hvdWxkSWdu
b3JlRm9udExvYWRDb21wbGV0aW9uczsKKyAgICAgICAgYm9vbCBtX3Nob3VsZEFsbG93RGVzaWdu
U3lzdGVtVUlGb250czsKICAgICAgICAgYm9vbCBtX2JhY2tncm91bmRTaG91bGRFeHRlbmRCZXlv
bmRQYWdlOwogICAgICAgICBTZWN1cml0eU9yaWdpbjo6U3RvcmFnZUJsb2NraW5nUG9saWN5IG1f
c3RvcmFnZUJsb2NraW5nUG9saWN5OwogICAgICAgICBib29sIG1fc2Nyb2xsaW5nVHJlZUluY2x1
ZGVzRnJhbWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNl
dHRpbmdzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwK
aW5kZXggZTYzY2M1NjA2MmIzZTgxYTBiMzQ3ZDBmOWNlZWI4YmY0MmJlOThkNi4uZTM3OWY4ZTY2
ODFmNTc4NzBlMWFmOTk5N2ViMWQzOGM0MWVlMDNhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCkBAIC00Niw2ICs0Niw3IEBAIGVudW0gRm9udExvYWRU
aW1pbmdPdmVycmlkZSB7ICJCbG9jayIsICJTd2FwIiwgIkZhaWx1cmUiIH07CiAgICAgW01heVRo
cm93RXhjZXB0aW9uXSB2b2lkIHNldEZvbnRGYWxsYmFja1ByZWZlcnNQaWN0b2dyYXBocyhib29s
ZWFuIHByZWZlclBpY3RvZ3JhcGhzKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0
Rm9udExvYWRUaW1pbmdPdmVycmlkZShGb250TG9hZFRpbWluZ092ZXJyaWRlIG92ZXJyaWRlKTsK
ICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0U2hvdWxkSWdub3JlRm9udExvYWRDb21w
bGV0aW9ucyhib29sZWFuIGlnbm9yZSk7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNl
dFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyhib29sZWFuIGlnbm9yZSk7CiAKICAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0VGV4dEF1dG9zaXppbmdFbmFibGVkKGJvb2xlYW4g
ZW5hYmxlZCk7CiAgICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIHNldFRleHRBdXRvc2l6aW5n
V2luZG93U2l6ZU92ZXJyaWRlKGxvbmcgd2lkdGgsIGxvbmcgaGVpZ2h0KTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IDQxNzQ2ODFhY2U3ZGRmNWRjZmQ5NDM0
ZGVkYjIxMjY0NDMxY2VmOTguLmRmZjU1Njk4MGFmNmVlNzQ0NTA4MzdlMjMwMmNiNDJiODM4YmYw
YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwK
KysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbApAQCAtMTEyNiw2
ICsxMTI2LDEwIEBAIFNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzOgogICB0eXBlOiBib29s
CiAgIGRlZmF1bHRWYWx1ZTogdHJ1ZQogCitTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHM6
CisgIHR5cGU6IGJvb2wKKyAgZGVmYXVsdFZhbHVlOiBmYWxzZQorCiBNZWRpYUNhcGFiaWxpdGll
c0VuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiB0cnVlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCmluZGV4IGEwMzE3OThk
ZWZiZmQ4NjBmMWFhZTI4YjJiMmQ2MWNhNWUyMTU2YjAuLjQ5Yjk4ZDY4NjA3NjZiN2ExMDEzYmVi
NzZiOTI5MWY0MmI4YWU5NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
L1dLUHJlZmVyZW5jZXMuY3BwCkBAIC0yMDEwLDYgKzIwMTAsMTYgQEAgYm9vbCBXS1ByZWZlcmVu
Y2VzR2V0U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoV0tQcmVmZXJlbmNlc1JlZiBwcmVm
ZXJlbmNlc1IKICAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2hvdWxkQWxsb3dV
c2VySW5zdGFsbGVkRm9udHMoKTsKIH0KIAordm9pZCBXS1ByZWZlcmVuY2VzU2V0U2hvdWxkQWxs
b3dEZXNpZ25TeXN0ZW1VSUZvbnRzKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJv
b2wgZmxhZykKK3sKKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRTaG91bGRBbGxvd0Rl
c2lnblN5c3RlbVVJRm9udHMoZmxhZyk7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldFNob3Vs
ZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyhXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVm
KQoreworICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zaG91bGRBbGxvd0Rlc2ln
blN5c3RlbVVJRm9udHMoKTsKK30KKwogdm9pZCBXS1ByZWZlcmVuY2VzU2V0TWVkaWFDYXBhYmls
aXRpZXNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxl
ZCkKIHsKICAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRNZWRpYUNhcGFiaWxpdGllc0Vu
YWJsZWQoZW5hYmxlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAppbmRleCA1YzMzOThjYjI3NTRmY2M0YzA1ZDUz
ZjI2ZTlkNmExMzc5YmQ4NTBjLi43YjMwODM0ODA3YWU3N2JkY2ZhODYyYzIzZjAxMmE5YjE5Yzgw
MmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVu
Y2VzUmVmUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJl
ZmVyZW5jZXNSZWZQcml2YXRlLmgKQEAgLTU3MSw2ICs1NzEsMTAgQEAgV0tfRVhQT1JUIGJvb2wg
V0tQcmVmZXJlbmNlc0dldENTU09NVmlld1Njcm9sbGluZ0FQSUVuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZik7CiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0U2hvdWxkQWxsb3dVc2VySW5z
dGFsbGVkRm9udHMoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKIFdLX0VYUE9SVCBib29s
IFdLUHJlZmVyZW5jZXNHZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyhXS1ByZWZlcmVu
Y2VzUmVmKTsKIAorLy8gRGVmYXVsdHMgdG8gZmFsc2UuCitXS19FWFBPUlQgdm9pZCBXS1ByZWZl
cmVuY2VzU2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKFdLUHJlZmVyZW5jZXNSZWYs
IGJvb2wgZmxhZyk7CitXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0U2hvdWxkQWxsb3dE
ZXNpZ25TeXN0ZW1VSUZvbnRzKFdLUHJlZmVyZW5jZXNSZWYpOworCiAvLyBEZWZhdWx0cyB0byBm
YWxzZS4KIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRBbGxvd0Nyb3NzT3JpZ2luU3Vi
cmVzb3VyY2VzVG9Bc2tGb3JDcmVkZW50aWFscyhXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcp
OwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldEFsbG93Q3Jvc3NPcmlnaW5TdWJyZXNv
dXJjZXNUb0Fza0ZvckNyZWRlbnRpYWxzKFdLUHJlZmVyZW5jZXNSZWYpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlcy5tbQppbmRleCBlMDZm
NDdlNDIxZjAxN2E1YTRjN2UxZTZjNzBhODEyMDg1NTIxZGY5Li44NWMyYWI3NTBkNjUwOTljOWU2
NDNlZDA5MGM5MjdlYmY5MTExNTc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlcy5tbQpAQCAtNzEzLDYgKzcxMywxNiBAQCAtICh2b2lk
KV9zZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250czooQk9PTClfc2hvdWxkQWxsb3dVc2Vy
SW5zdGFsbGVkRm9udHMKICAgICBfcHJlZmVyZW5jZXMtPnNldFNob3VsZEFsbG93VXNlckluc3Rh
bGxlZEZvbnRzKF9zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyk7CiB9CiAKKy0gKEJPT0wp
X3Nob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cworeworICAgIHJldHVybiBfcHJlZmVyZW5j
ZXMtPnNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cygpOworfQorCistICh2b2lkKV9zZXRT
aG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHM6KEJPT0wpX3Nob3VsZEFsbG93RGVzaWduU3lz
dGVtVUlGb250cworeworICAgIF9wcmVmZXJlbmNlcy0+c2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0
ZW1VSUZvbnRzKF9zaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMpOworfQorCiBzdGF0aWMg
X1dLRWRpdGFibGVMaW5rQmVoYXZpb3IgdG9BUEkoV2ViQ29yZTo6RWRpdGFibGVMaW5rQmVoYXZp
b3IgYmVoYXZpb3IpCiB7CiAgICAgc3dpdGNoIChiZWhhdmlvcikgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXNQcml2YXRlLmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaApp
bmRleCBlZjE4MTkzNmNmMTM3ZTZlMTg2NDcxNDhmOTE3MmViOTI5MmM5ZTg2Li4zOTA3NDI4YTUy
YjY0ZDhmYWY3OTA5ZDcyMjNkMjRlYTAwOThmNGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtMTI2
LDYgKzEyNiw3IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS0VkaXRhYmxlTGlua0Jl
aGF2aW9yKSB7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRET01QYXN0ZUFsbG93
ZWQ6KSBCT09MIF9kb21QYXN0ZUFsbG93ZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMyks
IGlvcygxMS4wKSk7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFNob3VsZEFs
bG93VXNlckluc3RhbGxlZEZvbnRzOikgQk9PTCBfc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9u
dHMgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMy40KSwgaW9zKDExLjMpKTsKK0Bwcm9wZXJ0
eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250czop
IEJPT0wgX3Nob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyBXS19BUElfQVZBSUxBQkxFKG1h
Y29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCiBAcHJvcGVydHkgKG5vbmF0b21p
Yywgc2V0dGVyPV9zZXRFZGl0YWJsZUxpbmtCZWhhdmlvcjopIF9XS0VkaXRhYmxlTGlua0JlaGF2
aW9yIF9lZGl0YWJsZUxpbmtCZWhhdmlvciBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEzLjQp
LCBpb3MoMTEuMykpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggN2NiOGEyNmQwMTcyNzRmNDIyZjZlNjlkMTk2NDMxZjJj
YzFkYTdmZi4uMjY1ZjljNTZjZjYxOTk3MDRkMmIyODA2NzZlOTE4MDM0NjYwZWE4YyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDQ1IEBACisyMDE5LTA3LTExICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVs
ZEBhcHBsZS5jb20+CisKKyAgICAgICAgTmV3IFlvcmsgZXJyb25lb3VzbHkgZ2V0cyBzeW50aGV0
aWMgYm9sZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTk5NjUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBUZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVp
LTEwLWV4cGVjdGVkLW1pc21hdGNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9k
ZXNpZ24tc3lzdGVtLXVpLTEwLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9kZXNp
Z24tc3lzdGVtLXVpLTExLWV4cGVjdGVkLW1pc21hdGNoLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTExLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTEyLWV4cGVjdGVkLW1pc21hdGNoLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTEyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTEzLWV4cGVjdGVkLW1pc21hdGNo
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTEzLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTE0LWV4cGVj
dGVkLW1pc21hdGNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9kZXNpZ24tc3lz
dGVtLXVpLTE0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVt
LXVpLTE1LWV4cGVjdGVkLW1pc21hdGNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4
dC9kZXNpZ24tc3lzdGVtLXVpLTE1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9k
ZXNpZ24tc3lzdGVtLXVpLTE2LWV4cGVjdGVkLW1pc21hdGNoLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTE2Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTItZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMi5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0zLWV4cGVjdGVkLW1pc21hdGNoLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTMuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktNC1leHBlY3RlZC1taXNtYXRj
aC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS00Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTUtZXhwZWN0
ZWQtbWlzbWF0Y2guaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2Rlc2lnbi1zeXN0
ZW0tdWktNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvZGVzaWduLXN5c3RlbS11
aS02LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9kZXNpZ24tc3lz
dGVtLXVpLTYuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0t
dWktNy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvZGVzaWduLXN5
c3RlbS11aS03Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVt
LXVpLTgtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0
L2Rlc2lnbi1zeXN0ZW0tdWktOC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvZGVz
aWduLXN5c3RlbS11aS05LWV4cGVjdGVkLW1pc21hdGNoLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTkuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWkuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTktMDctMTEgIE1pZ3VlbCBHb21leiAgPG1h
Z29tZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIEdUSysgZ2FyZGVuaW5nLiBV
cGRhdGUgZXhwZWN0YXRpb25zIGFmdGVyIHIyNDczNDYuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAw
YWVjZWQ1ZTY5NmVhMDAyZDMwYjhjNTI4ODUwMzVhZjFmMjU1NjdmLi5hNDM0NjJiZTEyYjc1M2Ey
MjEwYmY4MjMyNjFjYzczNGVkNTQ3YWFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM0NDMsMyAr
MzQ0MywxMSBAQCB3ZWJraXQub3JnL2IvMTk5MDM5IGVkaXRpbmcvZGVsZXRpbmcvc21hcnQtZGVs
ZXRlLXBhcmFncmFwaC0wMDMuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzE5OTAyOCB3ZWJn
cHUvd2hsc2wtdGVzdC1oYXJuZXNzLXRlc3QuaHRtbCBbIFNsb3cgXQogCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L29mZnNldFRvcExlZnQtaW5saW5lLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KKworIyBUaGVzZSB0ZXN0cyBvbmx5IHdvcmsgb24gc3lz
dGVtcyB3aXRoIHRoZSBkZXNpZ24gc3lzdGVtIHVpIGZvbnRzIGluc3RhbGxlZC4KK2Zhc3QvdGV4
dC9kZXNpZ24tc3lzdGVtLXVpLTExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2Zhc3QvdGV4
dC9kZXNpZ24tc3lzdGVtLXVpLTEyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2Zhc3QvdGV4
dC9kZXNpZ24tc3lzdGVtLXVpLTEzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2Zhc3QvdGV4
dC9kZXNpZ24tc3lzdGVtLXVpLTE0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2Zhc3QvdGV4
dC9kZXNpZ24tc3lzdGVtLXVpLTE1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2Zhc3QvdGV4
dC9kZXNpZ24tc3lzdGVtLXVpLTE2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTEwLWV4cGVjdGVkLW1p
c21hdGNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xMC1l
eHBlY3RlZC1taXNtYXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFkNTliYWVhYzAyNzk5N2FiYTc2YTBi
ZTFjMGMxZjUyMTY0YWI0YzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvZGVzaWduLXN5c3RlbS11aS0xMC1leHBlY3RlZC1taXNtYXRjaC5odG1sCkBAIC0wLDAgKzEs
MjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2lu
ZG93LmludGVybmFscykKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFNob3VsZEFs
bG93RGVzaWduU3lzdGVtVUlGb250cyh0cnVlKTsKKzwvc2NyaXB0PgorPHN0eWxlPgorQGZvbnQt
ZmFjZSB7CisgICAgZm9udC1mYW1pbHk6ICJBcHBsZVN5c3RlbVVJUm91bmRlZCI7CisgICAgc3Jj
OiBsb2NhbCgiLWFwcGxlLXN5c3RlbS11aS1yb3VuZGVkIik7Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250
OiA3MnB4ICdBcHBsZVN5c3RlbVVJUm91bmRlZCc7IGZvbnQtc3ludGhlc2lzOiBub25lOyI+SGVK
bGxvPC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTEwLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L3RleHQvZGVzaWduLXN5c3RlbS11aS0xMC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVmNmEzZWI2ODU0YzUy
MzVhM2U3MGVkZGVkMDI0NGU2ZjBiMzRkZjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xMC5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVy
bmFscykKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFNob3VsZEFsbG93RGVzaWdu
U3lzdGVtVUlGb250cyh0cnVlKTsKKzwvc2NyaXB0PgorPHN0eWxlPgorQGZvbnQtZmFjZSB7Cisg
ICAgZm9udC1mYW1pbHk6ICJBcHBsZVN5c3RlbVVJUm91bmRlZCI7CisgICAgc3JjOiBsb2NhbCgi
LWFwcGxlLXN5c3RlbS11aS1yb3VuZGVkIik7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiBib2xkIDcy
cHggJ0FwcGxlU3lzdGVtVUlSb3VuZGVkJzsgZm9udC1zeW50aGVzaXM6IG5vbmU7Ij5IZUpsbG88
L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTEtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTExLWV4cGVjdGVkLW1pc21hdGNo
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjUzNzk0YTcxMTY0ODZkMTQ2YzI2YzViYmMyZjlkYjFmN2Q4ZTFk
OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVt
LXVpLTExLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PgorPGRpdiBzdHls
ZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDcycHg7Ij5IZUpsbG88L2Rpdj4K
KzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTEuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNp
Z24tc3lzdGVtLXVpLTExLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmNjOGJkNDQ4YjAzMzkzMDM1NGYzOGEx
NzQ1NjlkZTQ3NmUxYzNjNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC9kZXNpZ24tc3lzdGVtLXVpLTExLmh0bWwKQEAgLTAsMCArMSwxNiBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7Cisg
ICAgLy93aW5kb3cuaW50ZXJuYWxzLmludmFsaWRhdGVGb250Q2FjaGUoKTsKKyAgICB3aW5kb3cu
aW50ZXJuYWxzLnNldHRpbmdzLnNldFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyh0cnVl
KTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PgorPGRpdiBzdHlsZT0iZGlz
cGxheTogaW5saW5lLWJsb2NrOyBmb250OiA3MnB4ICctYXBwbGUtc3lzdGVtLXVpLXNlcmlmJzsi
PkhlSmxsbzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xMi1leHBlY3RlZC1taXNtYXRjaC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTItZXhwZWN0ZWQt
bWlzbWF0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNTM3OTRhNzExNjQ4NmQxNDZjMjZjNWJiYzJmOWRi
MWY3ZDhlMWQ4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2ln
bi1zeXN0ZW0tdWktMTItZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApAQCAtMCwwICsxLDEwIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+Cis8
ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogNzJweDsiPkhlSmxs
bzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xMi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYTM5NjM3OGY5MzdhYjI0
YTQyYmQ1YmU4ZWQ5MmJhYTkzNzViMGUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTIuaHRtbApAQCAtMCwwICsxLDE0IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5h
bHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTaG91bGRBbGxvd0Rlc2lnblN5
c3RlbVVJRm9udHModHJ1ZSk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj4KKzxk
aXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogNzJweCAnLWFwcGxlLXN5c3Rl
bS11aS1tb25vc3BhY2VkJzsiPkhlSmxsbzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xMy1l
eHBlY3RlZC1taXNtYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0
ZW0tdWktMTMtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNTM3OTRhNzExNjQ4
NmQxNDZjMjZjNWJiYzJmOWRiMWY3ZDhlMWQ4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTMtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApA
QCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQt
c2l6ZTogNzJweDsiPkhlSmxsbzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xMy5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jNjE0MzkxNWEwNWE3ZDE1MzNmNzA5ZWM3MmY0NTI4NGFiNjVlNmFiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTMuaHRtbApAQCAt
MCwwICsxLDE0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0Pgor
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRT
aG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHModHJ1ZSk7Cis8L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPGRpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDog
NzJweCAnLWFwcGxlLXN5c3RlbS11aS1yb3VuZGVkJzsiPkhlSmxsbzwvZGl2PgorPC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWdu
LXN5c3RlbS11aS0xNC1leHBlY3RlZC1taXNtYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTQtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yNTM3OTRhNzExNjQ4NmQxNDZjMjZjNWJiYzJmOWRiMWY3ZDhlMWQ4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTQtZXhwZWN0ZWQt
bWlzbWF0Y2guaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxp
bmUtYmxvY2s7IGZvbnQtc2l6ZTogNzJweDsiPkhlSmxsbzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3Rl
bS11aS0xNC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jNjgxNWU4ZDAyNjk1YjZkOTRjYWE2MDIyMGE0ODU2MTM3MjI0ZTgz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0t
dWktMTQuaHRtbApAQCAtMCwwICsxLDIyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICAvL3dpbmRvdy5pbnRl
cm5hbHMuaW52YWxpZGF0ZUZvbnRDYWNoZSgpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKHRydWUpOworfQorPC9zY3JpcHQ+
Cis8c3R5bGU+CitAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogIkFwcGxlU3lzdGVtVUlT
ZXJpZiI7CisgICAgc3JjOiBsb2NhbCgiLWFwcGxlLXN5c3RlbS11aS1zZXJpZiIpOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGlu
ZS1ibG9jazsgZm9udDogNzJweCAnQXBwbGVTeXN0ZW1VSVNlcmlmJzsiPkhlSmxsbzwvZGl2Pgor
PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvZGVzaWduLXN5c3RlbS11aS0xNS1leHBlY3RlZC1taXNtYXRjaC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yNTM3OTRhNzExNjQ4NmQxNDZjMjZjNWJiYzJmOWRiMWY3ZDhlMWQ4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTUt
ZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+Cis8ZGl2IHN0eWxlPSJkaXNw
bGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogNzJweDsiPkhlSmxsbzwvZGl2PgorPC9kaXY+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVz
aWduLXN5c3RlbS11aS0xNS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0
ZW0tdWktMTUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYTZmZmZhMDM0MjBkOWY1NTlhZjQ1ZjczYTNiNjU1
M2Y1Nzk0NDU4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2ln
bi1zeXN0ZW0tdWktMTUuaHRtbApAQCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHModHJ1
ZSk7Cis8L3NjcmlwdD4KKzxzdHlsZT4KK0Bmb250LWZhY2UgeworICAgIGZvbnQtZmFtaWx5OiAi
QXBwbGVTeXN0ZW1VSU1vbm9zcGFjZWQiOworICAgIHNyYzogbG9jYWwoIi1hcHBsZS1zeXN0ZW0t
dWktbW9ub3NwYWNlZCIpOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj4KKzxk
aXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogNzJweCAnQXBwbGVTeXN0ZW1V
SU1vbm9zcGFjZWQnOyI+SGVKbGxvPC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTE2LWV4cGVj
dGVkLW1pc21hdGNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11
aS0xNi1leHBlY3RlZC1taXNtYXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI1Mzc5NGE3MTE2NDg2ZDE0
NmMyNmM1YmJjMmY5ZGIxZjdkOGUxZDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xNi1leHBlY3RlZC1taXNtYXRjaC5odG1sCkBAIC0w
LDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXpl
OiA3MnB4OyI+SGVKbGxvPC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTE2Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xNi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc3
MWQzOGRjNGY2ZmQ1Yzk3YjE2ZjQ1MTc0NzFmMzlmYTA2Yjc3NzMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xNi5odG1sCkBAIC0wLDAg
KzEsMjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAo
d2luZG93LmludGVybmFscykKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFNob3Vs
ZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyh0cnVlKTsKKzwvc2NyaXB0PgorPHN0eWxlPgorQGZv
bnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6ICJBcHBsZVN5c3RlbVVJUm91bmRlZCI7CisgICAg
c3JjOiBsb2NhbCgiLWFwcGxlLXN5c3RlbS11aS1yb3VuZGVkIik7Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBm
b250OiA3MnB4ICdBcHBsZVN5c3RlbVVJUm91bmRlZCc7Ij5IZUpsbG88L2Rpdj4KKzwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2ln
bi1zeXN0ZW0tdWktMi1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2ln
bi1zeXN0ZW0tdWktMi1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhZGMzNjI1ZGI3M2ZiM2Ux
MzFiM2Q2NjNiNjZkYTNhZDU4MTQ5OTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0yLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyMSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cu
aW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U2hvdWxkQWxsb3dE
ZXNpZ25TeXN0ZW1VSUZvbnRzKHRydWUpOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KK1Ro
aXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgdGhlIGRlc2lnbiBzeXN0ZW0gVUkgZm9udHMgZG9uJ3Qg
d29yayB1bmxlc3MgdGhlIHNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyBwcmVmZXJlbmNl
IGlzIHNldC4gVGhlIHRlc3QgcGFzc2VzIGlmIGFsbCB0aGUgdGV4dCBiZWxvdyBpcyBib2xkLgor
PGRpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogYm9sZCA3MnB4
ICctYXBwbGUtc3lzdGVtLXVpLXNlcmlmJzsiPkhlSmxsbzwvZGl2PgorPGRpdiBzdHlsZT0iZGlz
cGxheTogaW5saW5lLWJsb2NrOyBmb250OiBib2xkIDcycHggJy1hcHBsZS1zeXN0ZW0tdWktbW9u
b3NwYWNlZCc7Ij5IZUpsbG88L2Rpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9j
azsgZm9udDogYm9sZCA3MnB4ICctYXBwbGUtc3lzdGVtLXVpLXJvdW5kZWQnOyI+SGVKbGxvPC9k
aXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJweCAn
LkFwcGxlU3lzdGVtVUlGb250U2VyaWYnOyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNw
bGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJweCAnLlNGIE5TIE1vbm8nOyI+SGVKbGxv
PC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJw
eCAnLlNGIFVJIE1vbm8nOyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxp
bmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJweCAnLkFwcGxlU3lzdGVtVUlGb250Um91bmRlZCc7Ij5I
ZUpsbG88L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMi5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc3ZjY2Y2RiM2VjOTA2
MWQ0Mzk5MmQyNDZjMzEzMGQ4NTZlMmMwZjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0yLmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJu
YWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U2hvdWxkQWxsb3dEZXNpZ25T
eXN0ZW1VSUZvbnRzKHRydWUpOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVz
dCBtYWtlcyBzdXJlIHRoYXQgdGhlIGRlc2lnbiBzeXN0ZW0gVUkgZm9udHMgZG9uJ3Qgd29yayB1
bmxlc3MgdGhlIHNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyBwcmVmZXJlbmNlIGlzIHNl
dC4gVGhlIHRlc3QgcGFzc2VzIGlmIGFsbCB0aGUgdGV4dCBiZWxvdyBpcyBib2xkLgorPGRpdj4K
KzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogYm9sZCA3MnB4ICctYXBw
bGUtc3lzdGVtLXVpLXNlcmlmJzsgZm9udC1zeW50aGVzaXM6IG5vbmU7Ij5IZUpsbG88L2Rpdj4K
KzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogYm9sZCA3MnB4ICctYXBw
bGUtc3lzdGVtLXVpLW1vbm9zcGFjZWQnOyBmb250LXN5bnRoZXNpczogbm9uZTsiPkhlSmxsbzwv
ZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiBib2xkIDcycHgg
Jy1hcHBsZS1zeXN0ZW0tdWktcm91bmRlZCc7IGZvbnQtc3ludGhlc2lzOiBub25lOyI+SGVKbGxv
PC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJw
eCAnLkFwcGxlU3lzdGVtVUlGb250U2VyaWYnOyBmb250LXN5bnRoZXNpczogbm9uZTsiPkhlSmxs
bzwvZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiBib2xkIDcy
cHggJy5TRiBOUyBNb25vJzsgZm9udC1zeW50aGVzaXM6IG5vbmU7Ij5IZUpsbG88L2Rpdj4KKzxk
aXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogYm9sZCA3MnB4ICcuU0YgVUkg
TW9ubyc7IGZvbnQtc3ludGhlc2lzOiBub25lOyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJk
aXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJweCAnLkFwcGxlU3lzdGVtVUlGb250
Um91bmRlZCc7IGZvbnQtc3ludGhlc2lzOiBub25lOyI+SGVKbGxvPC9kaXY+Cis8L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24t
c3lzdGVtLXVpLTMtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC9kZXNpZ24tc3lzdGVtLXVpLTMtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
MTYxMzhmNjMyM2FkNmE0NmEzNTY0N2JhODQyZGI3OGZkMDUzZWI0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMy1leHBlY3RlZC1taXNt
YXRjaC5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykKKyAgICB3aW5kb3cuaW50ZXJuYWxz
LnNldHRpbmdzLnNldFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyh0cnVlKTsKKzwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5l
LWJsb2NrOyBmb250OiA3MnB4ICctYXBwbGUtc3lzdGVtLXVpLXNlcmlmJzsgZm9udC1zeW50aGVz
aXM6IG5vbmU7Ij5IZUpsbG88L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMy5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM1
MzM0YTY5MmQxYzZkYTE3ZjRmZGIxZmIzOGY2YTE1ODI4ZjZmNDYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0zLmh0bWwKQEAgLTAsMCAr
MSwxNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3
aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U2hvdWxk
QWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKHRydWUpOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQg
NzJweCAnLWFwcGxlLXN5c3RlbS11aS1zZXJpZic7IGZvbnQtc3ludGhlc2lzOiBub25lOyI+SGVK
bGxvPC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTQtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTQtZXhwZWN0ZWQtbWlzbWF0
Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mYzJlNDhhY2YxNjBmMzQ4MDFjYTUyMGUwOTA0OWQ0NmE5NmQ0
ZTk4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0
ZW0tdWktNC1leHBlY3RlZC1taXNtYXRjaC5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykK
KyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFNob3VsZEFsbG93RGVzaWduU3lzdGVt
VUlGb250cyh0cnVlKTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PgorPGRpdiBz
dHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiA3MnB4ICctYXBwbGUtc3lzdGVtLXVp
LW1vbm9zcGFjZWQnOyBmb250LXN5bnRoZXNpczogbm9uZTsiPkhlSmxsbzwvZGl2PgorPC9kaXY+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVz
aWduLXN5c3RlbS11aS00Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3Rl
bS11aS00Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODM3ZjJiYTVkY2VkZTE4N2YxM2NjMTZjYjNkODdjM2U2
MGZhNjkyYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24t
c3lzdGVtLXVpLTQuaHRtbApAQCAtMCwwICsxLDE0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93Lmlu
dGVybmFscy5zZXR0aW5ncy5zZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHModHJ1ZSk7
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6
IGlubGluZS1ibG9jazsgZm9udDogYm9sZCA3MnB4ICctYXBwbGUtc3lzdGVtLXVpLW1vbm9zcGFj
ZWQnOyBmb250LXN5bnRoZXNpczogbm9uZTsiPkhlSmxsbzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3Rl
bS11aS01LWV4cGVjdGVkLW1pc21hdGNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVz
aWduLXN5c3RlbS11aS01LWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE4NmNl
NmE5OTAwMjhiMTc1NzUzNTcyNjFiN2JlMjhiYjIyNjBhYwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTUtZXhwZWN0ZWQtbWlzbWF0Y2gu
aHRtbApAQCAtMCwwICsxLDE0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0
aW5ncy5zZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHModHJ1ZSk7Cis8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9j
azsgZm9udDogNzJweCAnLWFwcGxlLXN5c3RlbS11aS1yb3VuZGVkJzsgZm9udC1zeW50aGVzaXM6
IG5vbmU7Ij5IZUpsbG88L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktNS5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNmYTZm
YWVmNjc1NjY1ZWFmYmEwNjUwYzVkNThkMmY5MzQxYWYxMjAKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS01Lmh0bWwKQEAgLTAsMCArMSwx
NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5k
b3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U2hvdWxkQWxs
b3dEZXNpZ25TeXN0ZW1VSUZvbnRzKHRydWUpOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJw
eCAnLWFwcGxlLXN5c3RlbS11aS1yb3VuZGVkJzsgZm9udC1zeW50aGVzaXM6IG5vbmU7Ij5IZUps
bG88L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktNi1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktNi1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmI2Y2RhZWQ3NmM4ZjBjMzQ3NjM4MzYzMjViN2VmMzRlNTcwOWZjYmIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS02LWV4cGVjdGVkLmh0
bWwKQEAgLTAsMCArMSwxNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9o
ZWFkPgorPGJvZHk+CitUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHRoZSBkZXNpZ24gc3lzdGVt
IFVJIGZvbnRzIGRvbid0IHdvcmsgdW5sZXNzIHRoZSBzaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJ
Rm9udHMgcHJlZmVyZW5jZSBpcyBzZXQuIFRoZSB0ZXN0IHBhc3NlcyBpZiBhbGwgdGhlIHRleHQg
YmVsb3cgaXMgcmVuZGVyZWQgaW4gVGltZXMuCis8ZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTog
aW5saW5lLWJsb2NrOyBmb250LXNpemU6IDcycHg7Ij5IZUpsbG88L2Rpdj4KKzxkaXYgc3R5bGU9
ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiA3MnB4OyI+SGVKbGxvPC9kaXY+Cis8
ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogNzJweDsiPkhlSmxs
bzwvZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDcy
cHg7Ij5IZUpsbG88L2Rpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9u
dC1zaXplOiA3MnB4OyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUt
YmxvY2s7IGZvbnQtc2l6ZTogNzJweDsiPkhlSmxsbzwvZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxh
eTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDcycHg7Ij5IZUpsbG88L2Rpdj4KKzwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2ln
bi1zeXN0ZW0tdWktNi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0t
dWktNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEyZGFiYjY1ZGFmNDM4ZTZlMzU4MGQwZmNmZDc0MjEwZjdh
ZDcxYmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5
c3RlbS11aS02Lmh0bWwKQEAgLTAsMCArMSw0NyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPHN0eWxlPgorQGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6ICJBcHBsZVN5
c3RlbVVJU2VyaWYiOworICAgIHNyYzogbG9jYWwoIi1hcHBsZS1zeXN0ZW0tdWktc2VyaWYiKTsK
K30KK0Bmb250LWZhY2UgeworICAgIGZvbnQtZmFtaWx5OiAiQXBwbGVTeXN0ZW1VSU1vbm9zcGFj
ZWQiOworICAgIHNyYzogbG9jYWwoIi1hcHBsZS1zeXN0ZW0tdWktbW9ub3NwYWNlZCIpOworfQor
QGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6ICJBcHBsZVN5c3RlbVVJUm91bmRlZCI7Cisg
ICAgc3JjOiBsb2NhbCgiLWFwcGxlLXN5c3RlbS11aS1yb3VuZGVkIik7Cit9CitAZm9udC1mYWNl
IHsKKyAgICBmb250LWZhbWlseTogIkRvdEFwcGxlU3lzdGVtVUlGb250U2VyaWYiOworICAgIHNy
YzogbG9jYWwoIi5BcHBsZVN5c3RlbVVJRm9udFNlcmlmIik7Cit9CitAZm9udC1mYWNlIHsKKyAg
ICBmb250LWZhbWlseTogIkRvdFNGTlNNb25vIjsKKyAgICBzcmM6IGxvY2FsKCIuU0YgTlMgTW9u
byIpOworfQorQGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6ICJEb3RTRlVJTW9ubyI7Cisg
ICAgc3JjOiBsb2NhbCgiLlNGIFVJIE1vbm8iKTsKK30KK0Bmb250LWZhY2UgeworICAgIGZvbnQt
ZmFtaWx5OiAiRG90QXBwbGVTeXN0ZW1VSUZvbnRSb3VuZGVkIjsKKyAgICBzcmM6IGxvY2FsKCIu
QXBwbGVTeXN0ZW1VSUZvbnRSb3VuZGVkIik7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
CitUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHRoZSBkZXNpZ24gc3lzdGVtIFVJIGZvbnRzIGRv
bid0IHdvcmsgdW5sZXNzIHRoZSBzaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMgcHJlZmVy
ZW5jZSBpcyBzZXQuIFRoZSB0ZXN0IHBhc3NlcyBpZiBhbGwgdGhlIHRleHQgYmVsb3cgaXMgcmVu
ZGVyZWQgaW4gVGltZXMuCis8ZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2Nr
OyBmb250OiA3MnB4ICdBcHBsZVN5c3RlbVVJU2VyaWYnOyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0
eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IDcycHggJ0FwcGxlU3lzdGVtVUlNb25v
c3BhY2VkJzsiPkhlSmxsbzwvZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2Nr
OyBmb250OiA3MnB4ICdBcHBsZVN5c3RlbVVJUm91bmRlZCc7Ij5IZUpsbG88L2Rpdj4KKzxkaXYg
c3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogNzJweCAnRG90QXBwbGVTeXN0ZW1V
SUZvbnRTZXJpZic7Ij5IZUpsbG88L2Rpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1i
bG9jazsgZm9udDogNzJweCAnRG90U0ZOU01vbm8nOyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxl
PSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IDcycHggJ0RvdFNGVUlNb25vJzsiPkhlSmxs
bzwvZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiA3MnB4ICdE
b3RBcHBsZVN5c3RlbVVJRm9udFJvdW5kZWQnOyI+SGVKbGxvPC9kaXY+Cis8L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lz
dGVtLXVpLTctZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lz
dGVtLXVpLTctZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NzUzODcwMzdjMDU1MzJkM2M5NGYx
MWFhNmYyZjkyMWViMGM4ZDQ3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktNy1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsNTEgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVy
bmFscykKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFNob3VsZEFsbG93RGVzaWdu
U3lzdGVtVUlGb250cyh0cnVlKTsKKzwvc2NyaXB0PgorPHN0eWxlPgorQGZvbnQtZmFjZSB7Cisg
ICAgZm9udC1mYW1pbHk6ICJBcHBsZVN5c3RlbVVJU2VyaWYiOworICAgIHNyYzogbG9jYWwoIi1h
cHBsZS1zeXN0ZW0tdWktc2VyaWYiKTsKK30KK0Bmb250LWZhY2UgeworICAgIGZvbnQtZmFtaWx5
OiAiQXBwbGVTeXN0ZW1VSU1vbm9zcGFjZWQiOworICAgIHNyYzogbG9jYWwoIi1hcHBsZS1zeXN0
ZW0tdWktbW9ub3NwYWNlZCIpOworfQorQGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6ICJB
cHBsZVN5c3RlbVVJUm91bmRlZCI7CisgICAgc3JjOiBsb2NhbCgiLWFwcGxlLXN5c3RlbS11aS1y
b3VuZGVkIik7Cit9CitAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogIkRvdEFwcGxlU3lz
dGVtVUlGb250U2VyaWYiOworICAgIHNyYzogbG9jYWwoIi5BcHBsZVN5c3RlbVVJRm9udFNlcmlm
Iik7Cit9CitAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogIkRvdFNGTlNNb25vIjsKKyAg
ICBzcmM6IGxvY2FsKCIuU0YgTlMgTW9ubyIpOworfQorQGZvbnQtZmFjZSB7CisgICAgZm9udC1m
YW1pbHk6ICJEb3RTRlVJTW9ubyI7CisgICAgc3JjOiBsb2NhbCgiLlNGIFVJIE1vbm8iKTsKK30K
K0Bmb250LWZhY2UgeworICAgIGZvbnQtZmFtaWx5OiAiRG90QXBwbGVTeXN0ZW1VSUZvbnRSb3Vu
ZGVkIjsKKyAgICBzcmM6IGxvY2FsKCIuQXBwbGVTeXN0ZW1VSUZvbnRSb3VuZGVkIik7Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CitUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHRoZSBk
ZXNpZ24gc3lzdGVtIFVJIGZvbnRzIGRvbid0IHdvcmsgdW5sZXNzIHRoZSBzaG91bGRBbGxvd0Rl
c2lnblN5c3RlbVVJRm9udHMgcHJlZmVyZW5jZSBpcyBzZXQuIFRoZSB0ZXN0IHBhc3NlcyBpZiBh
bGwgdGhlIHRleHQgYmVsb3cgaXMgYm9sZC4KKzxkaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBp
bmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJweCAnQXBwbGVTeXN0ZW1VSVNlcmlmJzsiPkhlSmxs
bzwvZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiBib2xkIDcy
cHggJ0FwcGxlU3lzdGVtVUlNb25vc3BhY2VkJzsiPkhlSmxsbzwvZGl2PgorPGRpdiBzdHlsZT0i
ZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiBib2xkIDcycHggJ0FwcGxlU3lzdGVtVUlSb3Vu
ZGVkJzsiPkhlSmxsbzwvZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBm
b250OiBib2xkIDcycHggJ0RvdEFwcGxlU3lzdGVtVUlGb250U2VyaWYnOyI+SGVKbGxvPC9kaXY+
Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJweCAnRG90
U0ZOU01vbm8nOyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxv
Y2s7IGZvbnQ6IGJvbGQgNzJweCAnRG90U0ZVSU1vbm8nOyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0
eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJweCAnRG90QXBwbGVTeXN0
ZW1VSUZvbnRSb3VuZGVkJzsiPkhlSmxsbzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS03Lmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS03Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjE2ZDg3ZDM5NzE1MzY2OWIyNTE5N2Q1ZDJmOWIxODhkYTU3NTA3YQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTcuaHRtbApA
QCAtMCwwICsxLDUxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5z
ZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHModHJ1ZSk7Cis8L3NjcmlwdD4KKzxzdHls
ZT4KK0Bmb250LWZhY2UgeworICAgIGZvbnQtZmFtaWx5OiAiQXBwbGVTeXN0ZW1VSVNlcmlmIjsK
KyAgICBzcmM6IGxvY2FsKCItYXBwbGUtc3lzdGVtLXVpLXNlcmlmIik7Cit9CitAZm9udC1mYWNl
IHsKKyAgICBmb250LWZhbWlseTogIkFwcGxlU3lzdGVtVUlNb25vc3BhY2VkIjsKKyAgICBzcmM6
IGxvY2FsKCItYXBwbGUtc3lzdGVtLXVpLW1vbm9zcGFjZWQiKTsKK30KK0Bmb250LWZhY2Ugewor
ICAgIGZvbnQtZmFtaWx5OiAiQXBwbGVTeXN0ZW1VSVJvdW5kZWQiOworICAgIHNyYzogbG9jYWwo
Ii1hcHBsZS1zeXN0ZW0tdWktcm91bmRlZCIpOworfQorQGZvbnQtZmFjZSB7CisgICAgZm9udC1m
YW1pbHk6ICJEb3RBcHBsZVN5c3RlbVVJRm9udFNlcmlmIjsKKyAgICBzcmM6IGxvY2FsKCIuQXBw
bGVTeXN0ZW1VSUZvbnRTZXJpZiIpOworfQorQGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6
ICJEb3RTRk5TTW9ubyI7CisgICAgc3JjOiBsb2NhbCgiLlNGIE5TIE1vbm8iKTsKK30KK0Bmb250
LWZhY2UgeworICAgIGZvbnQtZmFtaWx5OiAiRG90U0ZVSU1vbm8iOworICAgIHNyYzogbG9jYWwo
Ii5TRiBVSSBNb25vIik7Cit9CitAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogIkRvdEFw
cGxlU3lzdGVtVUlGb250Um91bmRlZCI7CisgICAgc3JjOiBsb2NhbCgiLkFwcGxlU3lzdGVtVUlG
b250Um91bmRlZCIpOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorVGhpcyB0ZXN0IG1h
a2VzIHN1cmUgdGhhdCB0aGUgZGVzaWduIHN5c3RlbSBVSSBmb250cyBkb24ndCB3b3JrIHVubGVz
cyB0aGUgc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzIHByZWZlcmVuY2UgaXMgc2V0LiBU
aGUgdGVzdCBwYXNzZXMgaWYgYWxsIHRoZSB0ZXh0IGJlbG93IGlzIGJvbGQuCis8ZGl2PgorPGRp
diBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiBib2xkIDcycHggJ0FwcGxlU3lz
dGVtVUlTZXJpZic7IGZvbnQtc3ludGhlc2lzOiBub25lOyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0
eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJweCAnQXBwbGVTeXN0ZW1V
SU1vbm9zcGFjZWQnOyBmb250LXN5bnRoZXNpczogbm9uZTsiPkhlSmxsbzwvZGl2PgorPGRpdiBz
dHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiBib2xkIDcycHggJ0FwcGxlU3lzdGVt
VUlSb3VuZGVkJzsgZm9udC1zeW50aGVzaXM6IG5vbmU7Ij5IZUpsbG88L2Rpdj4KKzxkaXYgc3R5
bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogYm9sZCA3MnB4ICdEb3RBcHBsZVN5c3Rl
bVVJRm9udFNlcmlmJzsgZm9udC1zeW50aGVzaXM6IG5vbmU7Ij5IZUpsbG88L2Rpdj4KKzxkaXYg
c3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogYm9sZCA3MnB4ICdEb3RTRk5TTW9u
byc7IGZvbnQtc3ludGhlc2lzOiBub25lOyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNw
bGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJweCAnRG90U0ZVSU1vbm8nOyBmb250LXN5
bnRoZXNpczogbm9uZTsiPkhlSmxsbzwvZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5l
LWJsb2NrOyBmb250OiBib2xkIDcycHggJ0RvdEFwcGxlU3lzdGVtVUlGb250Um91bmRlZCc7IGZv
bnQtc3ludGhlc2lzOiBub25lOyI+SGVKbGxvPC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTgt
ZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lz
dGVtLXVpLTgtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZTk4MDQ5OTIzNDA4
N2Y4NDNhN2IxNTg2NGViNjNhYWM5MTExYjRiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktOC1leHBlY3RlZC1taXNtYXRjaC5odG1sCkBA
IC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+
CitpZiAod2luZG93LmludGVybmFscykKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyh0cnVlKTsKKzwvc2NyaXB0PgorPHN0eWxl
PgorQGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6ICJBcHBsZVN5c3RlbVVJU2VyaWYiOwor
ICAgIHNyYzogbG9jYWwoIi1hcHBsZS1zeXN0ZW0tdWktc2VyaWYiKTsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxkaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7
IGZvbnQ6IDcycHggJ0FwcGxlU3lzdGVtVUlTZXJpZic7IGZvbnQtc3ludGhlc2lzOiBub25lOyI+
SGVKbGxvPC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTguaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OWExZDFkMWRmNDg0
ZjU1MmM4YTViZjI5NzQ3YjQ2NjEyOTYwYWUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktOC5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVy
bmFscykKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFNob3VsZEFsbG93RGVzaWdu
U3lzdGVtVUlGb250cyh0cnVlKTsKKzwvc2NyaXB0PgorPHN0eWxlPgorQGZvbnQtZmFjZSB7Cisg
ICAgZm9udC1mYW1pbHk6ICJBcHBsZVN5c3RlbVVJU2VyaWYiOworICAgIHNyYzogbG9jYWwoIi1h
cHBsZS1zeXN0ZW0tdWktc2VyaWYiKTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJweCAn
QXBwbGVTeXN0ZW1VSVNlcmlmJzsgZm9udC1zeW50aGVzaXM6IG5vbmU7Ij5IZUpsbG88L2Rpdj4K
KzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktOS1leHBlY3RlZC1taXNtYXRjaC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktOS1leHBlY3RlZC1taXNtYXRjaC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmUwZmJmNzgyZDU0M2RmZDcyNDlkYWEyYjg1MGUzM2RhMjQzNjI2YTIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS05LWV4
cGVjdGVkLW1pc21hdGNoLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRv
dy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKHRy
dWUpOworPC9zY3JpcHQ+Cis8c3R5bGU+CitAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTog
IkFwcGxlU3lzdGVtVUlNb25vc3BhY2VkIjsKKyAgICBzcmM6IGxvY2FsKCItYXBwbGUtc3lzdGVt
LXVpLW1vbm9zcGFjZWQiKTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+Cis8
ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IDcycHggJ0FwcGxlU3lzdGVt
VUlNb25vc3BhY2VkJzsgZm9udC1zeW50aGVzaXM6IG5vbmU7Ij5IZUpsbG88L2Rpdj4KKzwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rl
c2lnbi1zeXN0ZW0tdWktOS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0
ZW0tdWktOS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ2OWVlYjQxN2NiZjBjMTIwMmM0MDI2NzVhMTc3OTQ1
ZjdlNzc1ZDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWdu
LXN5c3RlbS11aS05Lmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5p
bnRlcm5hbHMuc2V0dGluZ3Muc2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKHRydWUp
OworPC9zY3JpcHQ+Cis8c3R5bGU+CitAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogIkFw
cGxlU3lzdGVtVUlNb25vc3BhY2VkIjsKKyAgICBzcmM6IGxvY2FsKCItYXBwbGUtc3lzdGVtLXVp
LW1vbm9zcGFjZWQiKTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+Cis8ZGl2
IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJweCAnQXBwbGVTeXN0
ZW1VSU1vbm9zcGFjZWQnOyBmb250LXN5bnRoZXNpczogbm9uZTsiPkhlSmxsbzwvZGl2PgorPC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQv
ZGVzaWduLXN5c3RlbS11aS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rl
c2lnbi1zeXN0ZW0tdWktZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNmNkYWVkNzZjOGYwYzM0
NzYzODM2MzI1YjdlZjM0ZTU3MDlmY2JiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE3IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMg
dGVzdCBtYWtlcyBzdXJlIHRoYXQgdGhlIGRlc2lnbiBzeXN0ZW0gVUkgZm9udHMgZG9uJ3Qgd29y
ayB1bmxlc3MgdGhlIHNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyBwcmVmZXJlbmNlIGlz
IHNldC4gVGhlIHRlc3QgcGFzc2VzIGlmIGFsbCB0aGUgdGV4dCBiZWxvdyBpcyByZW5kZXJlZCBp
biBUaW1lcy4KKzxkaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQt
c2l6ZTogNzJweDsiPkhlSmxsbzwvZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJs
b2NrOyBmb250LXNpemU6IDcycHg7Ij5IZUpsbG88L2Rpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6
IGlubGluZS1ibG9jazsgZm9udC1zaXplOiA3MnB4OyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxl
PSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogNzJweDsiPkhlSmxsbzwvZGl2Pgor
PGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDcycHg7Ij5IZUps
bG88L2Rpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiA3
MnB4OyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZv
bnQtc2l6ZTogNzJweDsiPkhlSmxsbzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
MDQ3MGMwNzBkYzc3MGY1MWJmZDY3YTU3ZGU3ZGQ1ZTIyY2FkNDg3Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWkuaHRtbApAQCAtMCwwICsx
LDE3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4K
K1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgdGhlIGRlc2lnbiBzeXN0ZW0gVUkgZm9udHMgZG9u
J3Qgd29yayB1bmxlc3MgdGhlIHNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyBwcmVmZXJl
bmNlIGlzIHNldC4gVGhlIHRlc3QgcGFzc2VzIGlmIGFsbCB0aGUgdGV4dCBiZWxvdyBpcyByZW5k
ZXJlZCBpbiBUaW1lcy4KKzxkaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7
IGZvbnQ6IDcycHggJy1hcHBsZS1zeXN0ZW0tdWktc2VyaWYnOyI+SGVKbGxvPC9kaXY+Cis8ZGl2
IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IDcycHggJy1hcHBsZS1zeXN0ZW0t
dWktbW9ub3NwYWNlZCc7Ij5IZUpsbG88L2Rpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGlu
ZS1ibG9jazsgZm9udDogNzJweCAnLWFwcGxlLXN5c3RlbS11aS1yb3VuZGVkJzsiPkhlSmxsbzwv
ZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiA3MnB4ICcuQXBw
bGVTeXN0ZW1VSUZvbnRTZXJpZic7Ij5IZUpsbG88L2Rpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6
IGlubGluZS1ibG9jazsgZm9udDogNzJweCAnLlNGIE5TIE1vbm8nOyI+SGVKbGxvPC9kaXY+Cis8
ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IDcycHggJy5TRiBVSSBNb25v
JzsiPkhlSmxsbzwvZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250
OiA3MnB4ICcuQXBwbGVTeXN0ZW1VSUZvbnRSb3VuZGVkJzsiPkhlSmxsbzwvZGl2PgorPC9kaXY+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
VGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRp
b25zCmluZGV4IDI4ODQxYTg2OWIwZDQzYmRmN2ViOTYzOGMzYTdlOTJjMWEwYmI1OGUuLjRhYWRi
MWU5MGRiNDRjYjA2NWU3YzViMzZjMGZiMmUyZDIzYjNlMWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xOTcyLDMgKzE5NzIsMTEgQEAgd2Via2l0Lm9y
Zy9iLzE5NTYzNSBzY3JvbGxpbmdjb29yZGluYXRvci9tYWMvbXVsdGlwbGUtZml4ZWQuaHRtbCBb
IFBhc3MgVGltZW91dAogWyBDYXRhbGluYSsgXSBodHRwL3dwdC9yZXNvdXJjZS10aW1pbmcvcnQt
aW5pdGlhdG9yVHlwZS1zY3JpcHQtbW9kdWxlLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogWyBDYXRh
bGluYSsgXSBodHRwL3dwdC9yZXNvdXJjZS10aW1pbmcvcnQtaW5pdGlhdG9yVHlwZS1lbGVtZW50
Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogWyBDYXRhbGluYSsgXSBodHRwL3dwdC9yZXNvdXJjZS10
aW1pbmcvcnQtaW5pdGlhdG9yVHlwZS14bWxodHRwcmVxdWVzdC5odG1sIFsgUGFzcyBGYWlsdXJl
IF0KKworIyBUaGVzZSB0ZXN0cyByZXF1aXJlIHRoZSBkZXNpZ24gc3lzdGVtIHVpIGZvbnRzIHRv
IGJlIGluc3RhbGxlZC4KK1sgQ2F0YWxpbmErIF0gZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWkt
MTEuaHRtbCBbIFBhc3MgXQorWyBDYXRhbGluYSsgXSBmYXN0L3RleHQvZGVzaWduLXN5c3RlbS11
aS0xMi5odG1sIFsgUGFzcyBdCitbIENhdGFsaW5hKyBdIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVt
LXVpLTEzLmh0bWwgWyBQYXNzIF0KK1sgQ2F0YWxpbmErIF0gZmFzdC90ZXh0L2Rlc2lnbi1zeXN0
ZW0tdWktMTQuaHRtbCBbIFBhc3MgXQorWyBDYXRhbGluYSsgXSBmYXN0L3RleHQvZGVzaWduLXN5
c3RlbS11aS0xNS5odG1sIFsgUGFzcyBdCitbIENhdGFsaW5hKyBdIGZhc3QvdGV4dC9kZXNpZ24t
c3lzdGVtLXVpLTE2Lmh0bWwgWyBQYXNzIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373965</attachid>
            <date>2019-07-11 15:32:09 -0700</date>
            <delta_ts>2019-07-11 16:18:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199653-20190711153208.patch</filename>
            <type>text/plain</type>
            <size>89816</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MzUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDliYjIzY2RmNWI0ODdmNTViZmYyZTU5
YTVhZTMxYTJkOWNjYTZiNDkuLmI5ZTQwZGVjM2ExYTZkZWRmMDVjN2MzNGM3ZTI2N2Q4MDJmMzY5
NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDctMTEgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBOZXcgWW9yayBlcnJvbmVvdXNseSBnZXRz
IHN5bnRoZXRpYyBib2xkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTk2NTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzUxNjkyNTkyPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL1BsYXRmb3Jt
Lmg6CisKIDIwMTktMDctMTAgIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjI0NzI4Ni4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBh
OWM4NmZjMTAxOWE0M2UyYWQ1ZjdkZDU1N2ZkZTUwZWNlNTljYzNmLi41OGQ1NWRmZWFmNWM0MzBk
NjQ4MDQ4YjI4YTlhYzRlYTMxMDRkNDI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsOTIgQEAKKzIw
MTktMDctMTEgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAg
ICAgICBOZXcgWW9yayBlcnJvbmVvdXNseSBnZXRzIHN5bnRoZXRpYyBib2xkCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTk2NTMKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzUxNjkyNTkyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyBzdXBwb3J0IGZvciAtYXBwbGUtc3lzdGVt
LXVpLXNlcmlmLCAtYXBwbGUtc3lzdGVtLXVpLW1vbm9zcGFjZWQsCisgICAgICAgIGFuZCAtYXBw
bGUtc3lzdGVtLXVpLXJvdW5kZWQsIGJlaGluZCBhbiBTUEkgdGhhdCBpcyBvZmYtYnktZGVmYXVs
dC4gV2UgZG9uJ3Qgd2FudAorICAgICAgICB0byBleHBvc2UgdGhlc2UgZm9udHMgdG8gdGhlIHdl
YiBiZWNhdXNlIHdlIGRvbid0IGEgc3RhbmRhcmRpemF0aW9uIHN0b3J5IGZvciB0aGVtCisgICAg
ICAgIHlldCwgYnV0IHdlIGRvIHdhbnQgc29tZSBhcHBzIHRvIGJlIGFibGUgdG8gdXNlIHRoZW0u
CisKKyAgICAgICAgV2ViS2l0IGNsaWVudHMgd2hvIHdhbnQgdG8gdXNlIHRoZXNlIGZvbnRzIGNh
biBjYWxsCisgICAgICAgIFdLUHJlZmVyZW5jZXNTZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJ
Rm9udHModHJ1ZSkKKyAgICAgICAgb3IgLVtXS1ByZWZlcmVuY2VzIF9zaG91bGRBbGxvd0Rlc2ln
blN5c3RlbVVJRm9udHNdID0gWUVTLgorCisgICAgICAgIFRoZSBwYXRjaCBnZW5lcmFsaXplcyBv
dXIgZXhpc3Rpbmcgc3lzdGVtLXVpIGluZnJhc3RydWN0dXJlIHRvIGhhbmRsZSB0aGVzZSB0aHJl
ZQorICAgICAgICBhZGRpdGlvbmFsIGZvbnRzLiBJdCBhbHNvIGV4cGxpY2l0bHkgZGlzYWJsZXMg
dGhlIHVuc3VwcG9ydGVkIGRvdC1wcmVmaXhlZCBuYW1lcworICAgICAgICBzbyB0aGV5IGRvbid0
IGxlYWsgb3V0IGludG8gV2ViIGNvbnRlbnQuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvdGV4dC9k
ZXNpZ24tc3lzdGVtLXVpLTEwLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC9kZXNpZ24t
c3lzdGVtLXVpLTExLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVt
LXVpLTEyLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTEz
Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTE0Lmh0bWwK
KyAgICAgICAgICAgICAgIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTE1Lmh0bWwKKyAgICAg
ICAgICAgICAgIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTE2Lmh0bWwKKyAgICAgICAgICAg
ICAgIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTIuaHRtbAorICAgICAgICAgICAgICAgZmFz
dC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMy5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQv
ZGVzaWduLXN5c3RlbS11aS00Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC9kZXNpZ24t
c3lzdGVtLXVpLTUuaHRtbAorICAgICAgICAgICAgICAgZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0t
dWktNi5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS03Lmh0
bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTguaHRtbAorICAg
ICAgICAgICAgICAgZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktOS5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS5odG1sCisKKyAgICAgICAgKiBjc3MvQ1NT
Rm9udEZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTRm9udEZhY2U6OnNob3VsZEFsbG93
RGVzaWduU3lzdGVtVUlGb250cyBjb25zdCk6CisgICAgICAgICogY3NzL0NTU0ZvbnRGYWNlLmg6
CisgICAgICAgICogY3NzL0NTU0ZvbnRGYWNlU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNTU0ZvbnRGYWNlU291cmNlOjpsb2FkKToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjppbml0aWFsaXplRm9udFN0eWxl
KToKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLnlhbWw6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udERlc2NyaXB0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1fc2hvdWxkQWxs
b3dEZXNpZ25TeXN0ZW1VSUZvbnRzKToKKyAgICAgICAgKFdlYkNvcmU6Om1fc2hvdWxkQWxsb3dV
c2VySW5zdGFsbGVkRm9udHMpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L0ZvbnREZXNjcmlwdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6Rm9udERlc2NyaXB0aW9uOjpz
aG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
Rm9udERlc2NyaXB0aW9uOjpzZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMpOgorICAg
ICAgICAoV2ViQ29yZTo6Rm9udERlc2NyaXB0aW9uOjpvcGVyYXRvcj09IGNvbnN0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpwbGF0Zm9ybUZvbnRMb29rdXBXaXRoRmFtaWx5KToKKyAgICAgICAgKFdl
YkNvcmU6OmZvbnRXaXRoRmFtaWx5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9Gb250Q2FjaGVDb3JlVGV4dC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0ZvbnREZXNjcmlwdGlvbkNvY29hLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnN5c3RlbUZvbnRV
c2UpOgorICAgICAgICAoV2ViQ29yZTo6c3lzdGVtRm9udENhc2NhZGVMaXN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkZvbnRDYXNjYWRlRGVzY3JpcHRpb246OmVmZmVjdGl2ZUZhbWlseUNvdW50IGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnRDYXNjYWRlRGVzY3JpcHRpb246OmVmZmVjdGl2
ZUZhbWlseUF0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OmlzU3lzdGVtRm9udFN0cmluZyk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjppc1VJRm9udFRleHRTdHlsZSk6IERlbGV0ZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRmb3JtRGF0YUNvY29h
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0YTo6Y3RGb250IGNvbnN0KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9TeXN0ZW1Gb250RGF0YWJhc2VDb3Jl
VGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6
Y3JlYXRlU3lzdGVtVUkpOgorICAgICAgICAoV2ViQ29yZTo6U3lzdGVtRm9udERhdGFiYXNlQ29y
ZVRleHQ6OmNyZWF0ZURlc2lnblN5c3RlbVVJKToKKyAgICAgICAgKFdlYkNvcmU6OlN5c3RlbUZv
bnREYXRhYmFzZUNvcmVUZXh0OjpjcmVhdGVUZXh0U3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6
U3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OmNhc2NhZGVMaXN0KToKKyAgICAgICAgKFdlYkNv
cmU6OlN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjphcHBseVdlaWdodEl0YWxpY3NBbmRGYWxs
YmFja0JlaGF2aW9yKToKKyAgICAgICAgKFdlYkNvcmU6OlN5c3RlbUZvbnREYXRhYmFzZUNvcmVU
ZXh0OjpzeXN0ZW1Gb250UGFyYW1ldGVycyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9pb3MvRm9udENhY2hlSU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6cGxhdGZvcm1G
b250V2l0aEZhbWlseVNwZWNpYWxDYXNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9t
YWMvRm9udENhY2hlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6cGxhdGZvcm1Gb250V2l0aEZh
bWlseVNwZWNpYWxDYXNlKToKKyAgICAgICAgKiBzdHlsZS9TdHlsZVJlc29sdmVGb3JEb2N1bWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6cmVzb2x2ZUZvckRvY3VtZW50KToKKyAg
ICAgICAgKiBzdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
SW1hZ2U6OmRhdGFDaGFuZ2VkKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3Mu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXAp
OgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8p
OgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0U2hvdWxkQWxsb3dEZXNp
Z25TeXN0ZW1VSUZvbnRzKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaDoK
KyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsOgorCiAyMDE5LTA3LTExICBa
YWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBDbGVh
bnVwIElubGluZUZvcm1hdHRpbmdDb250ZXh0OjpMaW5lTGF5b3V0IGNsYXNzLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFu
Z2VMb2cKaW5kZXggYTYyNzdmNmE1YTE1ZDAyMGJlOTQ4M2IwMzg4ZjIwODc3OWQ5NWQzMC4uZjg2
ZGZkNWJiZWZkMTE0MDI0N2JiZTkzMTc2NWZiNjE1OTllYTlhYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTMgQEAKKzIwMTktMDctMTEgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZp
ZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBOZXcgWW9yayBlcnJvbmVvdXNseSBnZXRzIHN5bnRo
ZXRpYyBib2xkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTk2NTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzUxNjkyNTkyPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGFsL3NwaS9jb2NvYS9Db3Jl
VGV4dFNQSS5oOgorCiAyMDE5LTA3LTEwICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2Vu
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWxsb3cgQ01ha2UgdG8gYnVpbGQgV2ViQ29yZSBvbiBN
YWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKaW5kZXggYTM3NmI2OWU3OTBkODNiYzJiOTQ5ODE5ZjBjNzgwMzg4ZThjNTJkZC4u
ODk1MTcwY2M3ZmNhNDFiMjkyOGQxZWM4N2Y2NTA4N2UyZTg3OWUzZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAxOS0wNy0xMSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBw
bGUuY29tPgorCisgICAgICAgIE5ldyBZb3JrIGVycm9uZW91c2x5IGdldHMgc3ludGhldGljIGJv
bGQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTY1
MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTE2OTI1OTI+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRoZSBTUEkgdG8gZW5hYmxlIHRoZSBu
ZXcgZm9udHMuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXS1ByZWZl
cmVuY2VzU2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKToKKyAgICAgICAgKFdLUHJl
ZmVyZW5jZXNHZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlcy5tbToKKyAgICAgICAgKC1bV0tQcmVmZXJlbmNl
cyBfc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzXSk6CisgICAgICAgICgtW1dLUHJlZmVy
ZW5jZXMgX3NldFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250czpdKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXNQcml2YXRlLmg6CisKIDIwMTktMDctMTEg
IFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgTW9iaWxl
U2FmYXJpIG1heSBjcmFzaCB1bmRlciAtW1VJS2V5Ym9hcmRUYXNrRXhlY3V0aW9uQ29udGV4dCB0
cmFuc2ZlckV4ZWN1dGlvblRvTWFpblRocmVhZFdpdGhUYXNrOl0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCmluZGV4IGI2
Y2Y2YmNkZDQ0Nzc4MDE0YjY1NzFiOTk1YmE3YmNkMzA5ZjYyMGUuLmRlNmE0ZmI4MzQ4YTJlMDBi
NDBkMTBiMmZiM2I1NjdmNGE2ZGYxYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApAQCAtMTU5NCwzICsxNTk0LDcg
QEAKICNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTAxNTAwCiAjZGVmaW5lIEhBVkVfU1VCVklFV1NfSVZBUl9TUEkgMQogI2VuZGlmCisKKyNp
ZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTUwMCkgfHwgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTMwMDAwKSB8fCAoUExBVEZPUk0oV0FUQ0hPUykgJiYgX19XQVRDSF9PU19WRVJTSU9O
X01JTl9SRVFVSVJFRCA+PSA2MDAwMCkgfHwgKFBMQVRGT1JNKEFQUExFVFYpICYmIF9fVFZfT1Nf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTMwMDAwKQorI2RlZmluZSBIQVZFX0RFU0lHTl9TWVNU
RU1fVUlfRk9OVFMgMQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29j
b2EvQ29yZVRleHRTUEkuaAppbmRleCBkNjJiYjI1ZDAxMzAxN2Y5Y2JlZjhkODMzNzY3MzNhYWE2
ZDEyYzM4Li4xYjExMGJmMmI4ODFjOTA2YWFlOGFhMDk4OGVmMjk1ODU4MWUxYThlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9Db3JlVGV4dFNQSS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL0NvcmVUZXh0U1BJLmgKQEAgLTExMSw2
ICsxMTEsMTEgQEAgZXh0ZXJuIGNvbnN0IENGU3RyaW5nUmVmIGtDVEZvbnRDU1NXaWR0aEF0dHJp
YnV0ZTsKIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250RGVzY3JpcHRvclRleHRTdHls
ZUF0dHJpYnV0ZTsKIGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250VUlGb250RGVzaWdu
VHJhaXQ7CiAKK2V4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250VUlGb250RGVzaWduRGVm
YXVsdDsKK2V4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGb250VUlGb250RGVzaWduU2VyaWY7
CitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NURm9udFVJRm9udERlc2lnbk1vbm9zcGFjZWQ7
CitleHRlcm4gY29uc3QgQ0ZTdHJpbmdSZWYga0NURm9udFVJRm9udERlc2lnblJvdW5kZWQ7CisK
IGV4dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RGcmFtZU1heGltdW1OdW1iZXJPZkxpbmVzQXR0
cmlidXRlTmFtZTsKIAogYm9vbCBDVEZvbnREZXNjcmlwdG9ySXNTeXN0ZW1VSUZvbnQoQ1RGb250
RGVzY3JpcHRvclJlZik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZh
Y2UuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmNwcAppbmRleCA3Mzc3YWRi
YTkyOWZlYjU3YjViMzdlOTgyNjBmMjllODUzNWNjZDViLi43NzA5YjVkZWFmYmZlOWY5YWIxMWFj
MDc3YzYxOWQ3OTRkMTY0MmYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9u
dEZhY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250RmFjZS5jcHAKQEAgLTU5
NCw2ICs1OTQsMTMgQEAgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMgQ1NTRm9udEZhY2U6OmFsbG93
VXNlckluc3RhbGxlZEZvbnRzKCkgY29uc3QKICAgICByZXR1cm4gQWxsb3dVc2VySW5zdGFsbGVk
Rm9udHM6OlllczsKIH0KIAorYm9vbCBDU1NGb250RmFjZTo6c2hvdWxkQWxsb3dEZXNpZ25TeXN0
ZW1VSUZvbnRzKCkgY29uc3QKK3sKKyAgICBpZiAobV9mb250U2VsZWN0b3IgJiYgbV9mb250U2Vs
ZWN0b3ItPmRvY3VtZW50KCkpCisgICAgICAgIHJldHVybiBtX2ZvbnRTZWxlY3Rvci0+ZG9jdW1l
bnQoKS0+c2V0dGluZ3MoKS5zaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMoKTsKKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKIHN0YXRpYyBTZXR0aW5nczo6Rm9udExvYWRUaW1pbmdPdmVycmlk
ZSBmb250TG9hZFRpbWluZ092ZXJyaWRlKENTU0ZvbnRTZWxlY3RvciogZm9udFNlbGVjdG9yKQog
ewogICAgIGF1dG8gb3ZlcnJpZGVWYWx1ZSA9IFNldHRpbmdzOjpGb250TG9hZFRpbWluZ092ZXJy
aWRlOjpOb25lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ZvbnRGYWNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuaAppbmRleCBhMzlhOTI2ZmY4YjNiNzY1
MDI4NjA1NDE5YmRkMGU4YzdkN2U1YjE4Li42NzZmYmE4NTMyZjYwYThjNWNkNGI3NTI0MGNlYjli
ZDkzNmM4YjNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2UuaApAQCAtMTYyLDYgKzE2Miw3IEBA
IHB1YmxpYzoKICAgICBib29sIHB1cmdlYWJsZSgpIGNvbnN0OwogCiAgICAgQWxsb3dVc2VySW5z
dGFsbGVkRm9udHMgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSBjb25zdDsKKyAgICBib29sIHNo
b3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cygpIGNvbnN0OwogCiAgICAgdm9pZCB1cGRhdGVT
dHlsZUlmTmVlZGVkKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NGb250
RmFjZVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTRm9udEZhY2VTb3VyY2UuY3Bw
CmluZGV4IDMwYmU3ZjQwODI4YWQ1YTYxZDJhNmNlYzRmZDI4MWU2YTE4Yzc5ZTMuLjAwZmQxNjBi
YjU3OWIyN2NjODE1YTAzY2ZlY2RjMzdiZTcyZmUyZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NGb250RmFjZVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ZvbnRGYWNlU291cmNlLmNwcApAQCAtMTgzLDYgKzE4Myw3IEBAIHZvaWQgQ1NTRm9udEZhY2VT
b3VyY2U6OmxvYWQoQ1NTRm9udFNlbGVjdG9yKiBmb250U2VsZWN0b3IpCiAgICAgICAgICAgICBm
b250RGVzY3JpcHRpb24uc2V0T25lRmFtaWx5KG1fZmFtaWx5TmFtZU9yVVJJKTsKICAgICAgICAg
ICAgIGZvbnREZXNjcmlwdGlvbi5zZXRDb21wdXRlZFNpemUoMSk7CiAgICAgICAgICAgICBmb250
RGVzY3JpcHRpb24uc2V0U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMobV9mYWNlLmFsbG93
VXNlckluc3RhbGxlZEZvbnRzKCkpOworICAgICAgICAgICAgZm9udERlc2NyaXB0aW9uLnNldFNo
b3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyhtX2ZhY2Uuc2hvdWxkQWxsb3dEZXNpZ25TeXN0
ZW1VSUZvbnRzKCkpOwogICAgICAgICAgICAgc3VjY2VzcyA9IEZvbnRDYWNoZTo6c2luZ2xldG9u
KCkuZm9udEZvckZhbWlseShmb250RGVzY3JpcHRpb24sIG1fZmFtaWx5TmFtZU9yVVJJLCBudWxs
cHRyLCBudWxscHRyLCBGb250U2VsZWN0aW9uU3BlY2lmaWVkQ2FwYWJpbGl0aWVzKCksIHRydWUp
OwogICAgICAgICAgICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkud2ViQVBJU3RhdGlzdGljc0VuYWJsZWQoKSkgewogICAgICAgICAgICAgICAgIGlmIChhdXRv
KiBkb2N1bWVudCA9IGZvbnRTZWxlY3Rvci0+ZG9jdW1lbnQoKSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJlc29sdmVyLmNwcAppbmRleCA1NmQ4NzI3MTFiYzE0MTUwZDY2MDMwZWJlM2ZmMzQxNTg5NDk4
YjRmLi44OTAxYWIwODBiZGU3YTFjOGU3MjEyMjBlZmFmN2U3N2U0N2I3ZDM4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0xOTM2LDYgKzE5MzYsNyBAQCB2b2lkIFN0eWxl
UmVzb2x2ZXI6OmluaXRpYWxpemVGb250U3R5bGUoKQogICAgIGZvbnREZXNjcmlwdGlvbi5zZXRL
ZXl3b3JkU2l6ZUZyb21JZGVudGlmaWVyKENTU1ZhbHVlTWVkaXVtKTsKICAgICBzZXRGb250U2l6
ZShmb250RGVzY3JpcHRpb24sIFN0eWxlOjpmb250U2l6ZUZvcktleXdvcmQoQ1NTVmFsdWVNZWRp
dW0sIGZhbHNlLCBkb2N1bWVudCgpKSk7CiAgICAgZm9udERlc2NyaXB0aW9uLnNldFNob3VsZEFs
bG93VXNlckluc3RhbGxlZEZvbnRzKHNldHRpbmdzKCkuc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVk
Rm9udHMoKSA/IEFsbG93VXNlckluc3RhbGxlZEZvbnRzOjpZZXMgOiBBbGxvd1VzZXJJbnN0YWxs
ZWRGb250czo6Tm8pOworICAgIGZvbnREZXNjcmlwdGlvbi5zZXRTaG91bGRBbGxvd0Rlc2lnblN5
c3RlbVVJRm9udHMoc2V0dGluZ3MoKS5zaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMoKSk7
CiAgICAgc2V0Rm9udERlc2NyaXB0aW9uKFdURk1vdmUoZm9udERlc2NyaXB0aW9uKSk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAppbmRleCBlMjJkOGQ0ZTI5MDIzZTgyYTBjYTA0N2Mx
ZDZmNTVlODRkNDJkOGEzLi44YTc0MTQ3ODdjYzMwZjMwMGIxZWI2MTQwNzU1YjEyY2EwYmFlM2Q3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCkBAIC03MzgsNiArNzM4LDEwIEBAIHNob3Vs
ZEFsbG93VXNlckluc3RhbGxlZEZvbnRzOgogICBpbml0aWFsOiB0cnVlCiAgIG9uQ2hhbmdlOiBz
ZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMKIAorc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1V
SUZvbnRzOgorICBpbml0aWFsOiBmYWxzZQorICBvbkNoYW5nZTogc2V0TmVlZHNSZWNhbGNTdHls
ZUluQWxsRnJhbWVzCisKIHJlc2l6ZU9ic2VydmVyRW5hYmxlZDoKICAgaW5pdGlhbDogZmFsc2UK
ICAgY29uZGl0aW9uYWw6IFJFU0laRV9PQlNFUlZFUgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Gb250Q2FjaGUuaAppbmRleCBmNjViZjNhYzE0YjBhZGY1ODY3NTVjYTc5OTQ5
ZDliZDI4ZGM3NmQ2Li41Y2FlOGFjNGQwZWQ3ZjI0MzIxZTdlY2ZmMTRmNjUwNjFkZjVmZDViIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FjaGUuaApAQCAtMTI4
LDcgKzEyOCw4IEBAIHN0cnVjdCBGb250RGVzY3JpcHRpb25LZXkgewogcHJpdmF0ZToKICAgICBz
dGF0aWMgc3RkOjphcnJheTx1bnNpZ25lZCwgMj4gbWFrZUZsYWdzS2V5KGNvbnN0IEZvbnREZXNj
cmlwdGlvbiYgZGVzY3JpcHRpb24pCiAgICAgewotICAgICAgICB1bnNpZ25lZCBmaXJzdCA9IHN0
YXRpY19jYXN0PHVuc2lnbmVkPihkZXNjcmlwdGlvbi5zY3JpcHQoKSkgPDwgMTQKKyAgICAgICAg
dW5zaWduZWQgZmlyc3QgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZGVzY3JpcHRpb24uc2NyaXB0
KCkpIDw8IDE1CisgICAgICAgICAgICB8IHN0YXRpY19jYXN0PHVuc2lnbmVkPihkZXNjcmlwdGlv
bi5zaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMoKSkgPDwgMTQKICAgICAgICAgICAgIHwg
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGRlc2NyaXB0aW9uLnNob3VsZEFsbG93VXNlckluc3RhbGxl
ZEZvbnRzKCkpIDw8IDEzCiAgICAgICAgICAgICB8IHN0YXRpY19jYXN0PHVuc2lnbmVkPihkZXNj
cmlwdGlvbi5mb250U3R5bGVBeGlzKCkgPT0gRm9udFN0eWxlQXhpczo6c2xudCkgPDwgMTIKICAg
ICAgICAgICAgIHwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGRlc2NyaXB0aW9uLm9wdGljYWxTaXpp
bmcoKSkgPDwgMTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnREZXNjcmlwdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250RGVzY3JpcHRpb24uY3BwCmluZGV4IDhhOTI0ZjlhNjUwYzQ0ZDdlZjA1ODc5YWQzZmU1MTc1
ZTJmZDA4OTYuLjEzMjE2MmMwNmIxYmVlNTE5NmE4ZmVlNjcwMGEyMjI0MTFjYmJjNjggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREZXNjcmlwdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERlc2NyaXB0aW9u
LmNwcApAQCAtNjIsNiArNjIsNyBAQCBGb250RGVzY3JpcHRpb246OkZvbnREZXNjcmlwdGlvbigp
CiAgICAgLCBtX29wdGljYWxTaXppbmcoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEZvbnRPcHRpY2Fs
U2l6aW5nOjpFbmFibGVkKSkKICAgICAsIG1fZm9udFN0eWxlQXhpcyhGb250Q2FzY2FkZURlc2Ny
aXB0aW9uOjppbml0aWFsRm9udFN0eWxlQXhpcygpID09IEZvbnRTdHlsZUF4aXM6Oml0YWwpCiAg
ICAgLCBtX3Nob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKHN0YXRpY19jYXN0PHVuc2lnbmVk
PihBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6Tm8pKQorICAgICwgbV9zaG91bGRBbGxvd0Rlc2ln
blN5c3RlbVVJRm9udHMoZmFsc2UpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnREZXNjcmlwdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udERlc2NyaXB0aW9uLmgKaW5kZXggMThmMWRlMTg3ZjUxZjFjYzdj
N2NhMDhmOWE4ODE5M2RiODI3NDU2Ny4uMjFkZTIzODQwZGRmOTlmYzNjNjIzNTBkYzU0MjFmNTk5
Y2U1MTYyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dERlc2NyaXB0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dERlc2NyaXB0aW9uLmgKQEAgLTk3LDYgKzk3LDcgQEAgcHVibGljOgogICAgIEZvbnRPcHRpY2Fs
U2l6aW5nIG9wdGljYWxTaXppbmcoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxGb250T3B0
aWNhbFNpemluZz4obV9vcHRpY2FsU2l6aW5nKTsgfQogICAgIEZvbnRTdHlsZUF4aXMgZm9udFN0
eWxlQXhpcygpIGNvbnN0IHsgcmV0dXJuIG1fZm9udFN0eWxlQXhpcyA/IEZvbnRTdHlsZUF4aXM6
Oml0YWwgOiBGb250U3R5bGVBeGlzOjpzbG50OyB9CiAgICAgQWxsb3dVc2VySW5zdGFsbGVkRm9u
dHMgc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoKSBjb25zdCB7IHJldHVybiBzdGF0aWNf
Y2FzdDxBbGxvd1VzZXJJbnN0YWxsZWRGb250cz4obV9zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRG
b250cyk7IH0KKyAgICBib29sIHNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cygpIGNvbnN0
IHsgcmV0dXJuIG1fc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzOyB9CiAKICAgICB2b2lk
IHNldENvbXB1dGVkU2l6ZShmbG9hdCBzKSB7IG1fY29tcHV0ZWRTaXplID0gY2xhbXBUb0Zsb2F0
KHMpOyB9CiAgICAgdm9pZCBzZXRJdGFsaWMoT3B0aW9uYWw8Rm9udFNlbGVjdGlvblZhbHVlPiBp
dGFsaWMpIHsgbV9mb250U2VsZWN0aW9uUmVxdWVzdC5zbG9wZSA9IGl0YWxpYzsgfQpAQCAtMTMy
LDYgKzEzMyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldE9wdGljYWxTaXppbmcoRm9udE9wdGlj
YWxTaXppbmcgc2l6aW5nKSB7IG1fb3B0aWNhbFNpemluZyA9IHN0YXRpY19jYXN0PHVuc2lnbmVk
PihzaXppbmcpOyB9CiAgICAgdm9pZCBzZXRGb250U3R5bGVBeGlzKEZvbnRTdHlsZUF4aXMgYXhp
cykgeyBtX2ZvbnRTdHlsZUF4aXMgPSBheGlzID09IEZvbnRTdHlsZUF4aXM6Oml0YWw7IH0KICAg
ICB2b2lkIHNldFNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKEFsbG93VXNlckluc3RhbGxl
ZEZvbnRzIHNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKSB7IG1fc2hvdWxkQWxsb3dVc2Vy
SW5zdGFsbGVkRm9udHMgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oc2hvdWxkQWxsb3dVc2VySW5z
dGFsbGVkRm9udHMpOyB9CisgICAgdm9pZCBzZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9u
dHMoYm9vbCBhbGxvdykgeyBtX3Nob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyA9IGFsbG93
OyB9CiAKICAgICBzdGF0aWMgQXRvbVN0cmluZyBwbGF0Zm9ybVJlc29sdmVHZW5lcmljRmFtaWx5
KFVTY3JpcHRDb2RlLCBjb25zdCBBdG9tU3RyaW5nJiBsb2NhbGUsIGNvbnN0IEF0b21TdHJpbmcm
IGZhbWlseU5hbWUpOwogCkBAIC0xNjgsNiArMTcwLDcgQEAgcHJpdmF0ZToKICAgICB1bnNpZ25l
ZCBtX29wdGljYWxTaXppbmcgOiAxOyAvLyBGb250T3B0aWNhbFNpemluZwogICAgIHVuc2lnbmVk
IG1fZm9udFN0eWxlQXhpcyA6IDE7IC8vIFdoZXRoZXIgImZvbnQtc3R5bGU6IGl0YWxpYyIgb3Ig
ImZvbnQtc3R5bGU6IG9ibGlxdWUgMjBkZWciIHdhcyBzcGVjaWZpZWQKICAgICB1bnNpZ25lZCBt
X3Nob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzIDogMTsgLy8gQWxsb3dVc2VySW5zdGFsbGVk
Rm9udHM6IElmIHRoaXMgZGVzY3JpcHRpb24gaXMgYWxsb3dlZCB0byBtYXRjaCBhIHVzZXItaW5z
dGFsbGVkIGZvbnQKKyAgICB1bnNpZ25lZCBtX3Nob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250
cyA6IDE7IC8vIFdoZXRoZXIgLWFwcGxlLXN5c3RlbS11aS1zZXJpZiwgLWFwcGxlLXN5c3RlbS11
aS1tb25vc3BhY2VkLCBhbmQgLWFwcGxlLXN5c3RlbS11aS1yb3VuZGVkIGFyZSBzdXBwb3J0ZWQK
IH07CiAKIGlubGluZSBib29sIEZvbnREZXNjcmlwdGlvbjo6b3BlcmF0b3I9PShjb25zdCBGb250
RGVzY3JpcHRpb24mIG90aGVyKSBjb25zdApAQCAtMjAyLDcgKzIwNSw4IEBAIGlubGluZSBib29s
IEZvbnREZXNjcmlwdGlvbjo6b3BlcmF0b3I9PShjb25zdCBGb250RGVzY3JpcHRpb24mIG90aGVy
KSBjb25zdAogICAgICAgICAmJiBtX3ZhcmlhbnRFYXN0QXNpYW5SdWJ5ID09IG90aGVyLm1fdmFy
aWFudEVhc3RBc2lhblJ1YnkKICAgICAgICAgJiYgbV9vcHRpY2FsU2l6aW5nID09IG90aGVyLm1f
b3B0aWNhbFNpemluZwogICAgICAgICAmJiBtX2ZvbnRTdHlsZUF4aXMgPT0gb3RoZXIubV9mb250
U3R5bGVBeGlzCi0gICAgICAgICYmIG1fc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMgPT0g
b3RoZXIubV9zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250czsKKyAgICAgICAgJiYgbV9zaG91
bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyA9PSBvdGhlci5tX3Nob3VsZEFsbG93VXNlckluc3Rh
bGxlZEZvbnRzCisgICAgICAgICYmIG1fc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzID09
IG90aGVyLm1fc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzOwogfQogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3Jl
VGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2Fj
aGVDb3JlVGV4dC5jcHAKaW5kZXggNDgyMTE4NmQ3YTdhYWViODdhNWZkNDc0NTA0OTY1ZjE1ZWNm
NmEyZS4uNTRkOGYzYjU0NDY5OTZmNTkzYmRkZTFiNmRjNmNkN2I1OTdlNTYzYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRl
eHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRD
YWNoZUNvcmVUZXh0LmNwcApAQCAtMTE4MSw2ICsxMTgxLDE1IEBAIHN0YXRpYyBGb250TG9va3Vw
IHBsYXRmb3JtRm9udExvb2t1cFdpdGhGYW1pbHkoY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBG
b250U2VsCiAgICAgaWYgKCFpc1N5c3RlbUZvbnQoZmFtaWx5KSAmJiB3aGl0ZWxpc3Quc2l6ZSgp
ICYmICF3aGl0ZWxpc3QuY29udGFpbnMoZmFtaWx5KSkKICAgICAgICAgcmV0dXJuIHsgbnVsbHB0
ciB9OwogCisgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGZhbWlseSwgIi5h
cHBsZXN5c3RlbXVpZm9udHNlcmlmIikKKyAgICAgICAgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdB
U0NJSUNhc2UoZmFtaWx5LCAiLnNmIG5zIG1vbm8iKQorICAgICAgICB8fCBlcXVhbExldHRlcnNJ
Z25vcmluZ0FTQ0lJQ2FzZShmYW1pbHksICIuc2YgdWkgbW9ubyIpCisgICAgICAgIHx8IGVxdWFs
TGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGZhbWlseSwgIi5hcHBsZXN5c3RlbXVpZm9udHJvdW5k
ZWQiKSkgeworICAgICAgICAvLyBJZiB5b3Ugd2FudCB0byB1c2UgdGhlc2UgZm9udHMsIHNldCB0
aGUgc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzIFNldHRpbmcgYW5kIHVzZQorICAgICAg
ICAvLyAtYXBwbGUtc3lzdGVtLXVpLXNlcmlmLCAtYXBwbGUtc3lzdGVtLXVpLW1vbm9zcGFjZWQs
IGFuZCAtYXBwbGUtc3lzdGVtLXVpLXJvdW5kZWQuCisgICAgICAgIHJldHVybiB7IG51bGxwdHIg
fTsKKyAgICB9CisKICAgICBhdXRvJiBmb250RGF0YWJhc2UgPSBhbGxvd1VzZXJJbnN0YWxsZWRG
b250cyA9PSBBbGxvd1VzZXJJbnN0YWxsZWRGb250czo6WWVzID8gRm9udERhdGFiYXNlOjpzaW5n
bGV0b25BbGxvd2luZ1VzZXJJbnN0YWxsZWRGb250cygpIDogRm9udERhdGFiYXNlOjpzaW5nbGV0
b25EaXNhbGxvd2luZ1VzZXJJbnN0YWxsZWRGb250cygpOwogICAgIGNvbnN0IGF1dG8mIGZhbWls
eUZvbnRzID0gZm9udERhdGFiYXNlLmNvbGxlY3Rpb25Gb3JGYW1pbHkoZmFtaWx5LnN0cmluZygp
KTsKICAgICBpZiAoZmFtaWx5Rm9udHMuaXNFbXB0eSgpKSB7CkBAIC0xMjQzLDExICsxMjUyLDEw
IEBAIHN0YXRpYyBSZXRhaW5QdHI8Q1RGb250UmVmPiBmb250V2l0aEZhbWlseShjb25zdCBBdG9t
U3RyaW5nJiBmYW1pbHksIGNvbnN0IEZvbnRECiAgICAgaWYgKGZhbWlseS5pc0VtcHR5KCkpCiAg
ICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgY29uc3QgYXV0byYgcmVxdWVzdCA9IGZvbnRE
ZXNjcmlwdGlvbi5mb250U2VsZWN0aW9uUmVxdWVzdCgpOwogICAgIEZvbnRMb29rdXAgZm9udExv
b2t1cDsKLSAgICBmb250TG9va3VwLnJlc3VsdCA9IHBsYXRmb3JtRm9udFdpdGhGYW1pbHlTcGVj
aWFsQ2FzZShmYW1pbHksIHJlcXVlc3QsIHNpemUsIGZvbnREZXNjcmlwdGlvbi5zaG91bGRBbGxv
d1VzZXJJbnN0YWxsZWRGb250cygpKTsKKyAgICBmb250TG9va3VwLnJlc3VsdCA9IHBsYXRmb3Jt
Rm9udFdpdGhGYW1pbHlTcGVjaWFsQ2FzZShmYW1pbHksIGZvbnREZXNjcmlwdGlvbiwgc2l6ZSwg
Zm9udERlc2NyaXB0aW9uLnNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKCkpOwogICAgIGlm
ICghZm9udExvb2t1cC5yZXN1bHQpCi0gICAgICAgIGZvbnRMb29rdXAgPSBwbGF0Zm9ybUZvbnRM
b29rdXBXaXRoRmFtaWx5KGZhbWlseSwgcmVxdWVzdCwgc2l6ZSwgZm9udERlc2NyaXB0aW9uLnNo
b3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKCkpOworICAgICAgICBmb250TG9va3VwID0gcGxh
dGZvcm1Gb250TG9va3VwV2l0aEZhbWlseShmYW1pbHksIGZvbnREZXNjcmlwdGlvbi5mb250U2Vs
ZWN0aW9uUmVxdWVzdCgpLCBzaXplLCBmb250RGVzY3JpcHRpb24uc2hvdWxkQWxsb3dVc2VySW5z
dGFsbGVkRm9udHMoKSk7CiAgICAgcmV0dXJuIHByZXBhcmVQbGF0Zm9ybUZvbnQoZm9udExvb2t1
cC5yZXN1bHQuZ2V0KCksIGZvbnREZXNjcmlwdGlvbiwgZm9udEZhY2VGZWF0dXJlcywgZm9udEZh
Y2VWYXJpYW50U2V0dGluZ3MsIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCAhZm9udExvb2t1cC5jcmVh
dGVkRnJvbVBvc3RTY3JpcHROYW1lKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRDYWNoZUNvcmVUZXh0LmgKaW5kZXggYjdh
ODA2NjExZjc3OGJkMTM2ZDhiZjBkZDhhODRlYjU4Y2QwMjM0Ni4uNGUzN2UzNzM0ZDAxYzRkZmZl
NGIxYzZkN2Q1NjY2N2Y1NDYwN2ZhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvRm9udENhY2hlQ29yZVRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250Q2FjaGVDb3JlVGV4dC5oCkBAIC01Miw3ICs1
Miw3IEBAIHN0cnVjdCBTeW50aGVzaXNQYWlyIHsKIAogUmV0YWluUHRyPENURm9udFJlZj4gcHJl
cGFyZVBsYXRmb3JtRm9udChDVEZvbnRSZWYsIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGNvbnN0
IEZvbnRGZWF0dXJlU2V0dGluZ3MqIGZvbnRGYWNlRmVhdHVyZXMsIGNvbnN0IEZvbnRWYXJpYW50
U2V0dGluZ3MqIGZvbnRGYWNlVmFyaWFudFNldHRpbmdzLCBGb250U2VsZWN0aW9uU3BlY2lmaWVk
Q2FwYWJpbGl0aWVzIGZvbnRGYWNlQ2FwYWJpbGl0aWVzLCBib29sIGFwcGx5V2VpZ2h0V2lkdGhT
bG9wZVZhcmlhdGlvbnMgPSB0cnVlKTsKIFN5bnRoZXNpc1BhaXIgY29tcHV0ZU5lY2Vzc2FyeVN5
bnRoZXNpcyhDVEZvbnRSZWYsIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYsIGJvb2wgaXNQbGF0Zm9y
bUZvbnQgPSBmYWxzZSk7Ci1SZXRhaW5QdHI8Q1RGb250UmVmPiBwbGF0Zm9ybUZvbnRXaXRoRmFt
aWx5U3BlY2lhbENhc2UoY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBGb250U2VsZWN0aW9uUmVx
dWVzdCwgZmxvYXQgc2l6ZSwgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOworUmV0YWluUHRyPENU
Rm9udFJlZj4gcGxhdGZvcm1Gb250V2l0aEZhbWlseVNwZWNpYWxDYXNlKGNvbnN0IEF0b21TdHJp
bmcmIGZhbWlseSwgY29uc3QgRm9udERlc2NyaXB0aW9uJiwgZmxvYXQgc2l6ZSwgQWxsb3dVc2Vy
SW5zdGFsbGVkRm9udHMpOwogUmV0YWluUHRyPENURm9udFJlZj4gcGxhdGZvcm1Gb250V2l0aEZh
bWlseShjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIEZvbnRTZWxlY3Rpb25SZXF1ZXN0LCBUZXh0
UmVuZGVyaW5nTW9kZSwgZmxvYXQgc2l6ZSk7CiBib29sIHJlcXVpcmVzQ3VzdG9tRmFsbGJhY2tG
b250KFVDaGFyMzIgY2hhcmFjdGVyKTsKIEZvbnRTZWxlY3Rpb25DYXBhYmlsaXRpZXMgY2FwYWJp
bGl0aWVzRm9yRm9udERlc2NyaXB0b3IoQ1RGb250RGVzY3JpcHRvclJlZik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250RGVzY3JpcHRpb25D
b2NvYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250RGVz
Y3JpcHRpb25Db2NvYS5jcHAKaW5kZXggMTljNzYzNjAxNjVhNGJiYmU4Yjk1OGU5MzZiMjczZjhh
MTE0YjViZi4uYTk2MGFhODJlZTU1NjAyZDU2MjAxMzhjN2FkYTQwMTQ5OGM0Y2I1YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udERlc2NyaXB0
aW9uQ29jb2EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29h
L0ZvbnREZXNjcmlwdGlvbkNvY29hLmNwcApAQCAtMjQsNyArMjQsNyBAQAogICovCiAKICNpbmNs
dWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJGb250RGVzY3JpcHRpb24uaCIKKyNpbmNsdWRlICJG
b250Q2FzY2FkZURlc2NyaXB0aW9uLmgiCiAKICNpbmNsdWRlICJTeXN0ZW1Gb250RGF0YWJhc2VD
b3JlVGV4dC5oIgogI2luY2x1ZGUgPG11dGV4PgpAQCAtMzQsMTQgKzM0LDYgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAjaWYgVVNFX1BMQVRGT1JNX1NZU1RFTV9GQUxMQkFDS19MSVNUCiAKLXN0
YXRpYyBpbmxpbmUgYm9vbCBpc1N5c3RlbUZvbnRTdHJpbmcoY29uc3QgQXRvbVN0cmluZyYgc3Ry
aW5nKQotewotICAgIHJldHVybiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShzdHJpbmcs
ICItd2Via2l0LXN5c3RlbS1mb250IikKLSAgICAgICAgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdB
U0NJSUNhc2Uoc3RyaW5nLCAiLWFwcGxlLXN5c3RlbSIpCi0gICAgICAgIHx8IGVxdWFsTGV0dGVy
c0lnbm9yaW5nQVNDSUlDYXNlKHN0cmluZywgIi1hcHBsZS1zeXN0ZW0tZm9udCIpCi0gICAgICAg
IHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHN0cmluZywgInN5c3RlbS11aSIpOwot
fQotCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAogdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlw
ZW5hbWUgVSwgc3RkOjpzaXplX3Qgc2l6ZSwgc3RkOjpzaXplX3QuLi4gaW5kaWNlcz4gc3RkOjph
cnJheTxULCBzaXplPiBjb252ZXJ0QXJyYXkoVSAoJmFycmF5KVtzaXplXSwgc3RkOjppbmRleF9z
ZXF1ZW5jZTxpbmRpY2VzLi4uPikKQEAgLTUzLDkgKzQ1LDI5IEBAIHRlbXBsYXRlPHR5cGVuYW1l
IFQsIHR5cGVuYW1lIFUsIHN0ZDo6c2l6ZV90IHNpemU+IGlubGluZSBzdGQ6OmFycmF5PFQsIHNp
emU+IGNvCiB7CiAgICAgcmV0dXJuIGNvbnZlcnRBcnJheTxUPihhcnJheSwgc3RkOjptYWtlX2lu
ZGV4X3NlcXVlbmNlPHNpemU+IHsgfSk7CiB9CisjZW5kaWYKIAotc3RhdGljIGlubGluZSBib29s
IGlzVUlGb250VGV4dFN0eWxlKGNvbnN0IEF0b21TdHJpbmcmIHN0cmluZykKK3N0YXRpYyBpbmxp
bmUgT3B0aW9uYWw8U3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNsaWVudFVzZT4gc3lzdGVt
Rm9udFVzZShjb25zdCBBdG9tU3RyaW5nJiBzdHJpbmcsIGJvb2wgc2hvdWxkQWxsb3dEZXNpZ25T
eXN0ZW1VSUZvbnRzKQogeworICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShz
dHJpbmcsICItd2Via2l0LXN5c3RlbS1mb250IikKKyAgICAgICAgfHwgZXF1YWxMZXR0ZXJzSWdu
b3JpbmdBU0NJSUNhc2Uoc3RyaW5nLCAiLWFwcGxlLXN5c3RlbSIpCisgICAgICAgIHx8IGVxdWFs
TGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHN0cmluZywgIi1hcHBsZS1zeXN0ZW0tZm9udCIpCisg
ICAgICAgIHx8IGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHN0cmluZywgInN5c3RlbS11
aSIpKQorICAgICAgICByZXR1cm4gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNsaWVudFVz
ZTo6Rm9yU3lzdGVtVUk7CisjaWYgSEFWRShERVNJR05fU1lTVEVNX1VJX0ZPTlRTKQorICAgIGlm
IChzaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMpIHsKKyAgICAgICAgaWYgKGVxdWFsTGV0
dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHN0cmluZywgIi1hcHBsZS1zeXN0ZW0tdWktc2VyaWYiKSkK
KyAgICAgICAgICAgIHJldHVybiBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6Q2xpZW50VXNl
OjpGb3JTeXN0ZW1VSVNlcmlmOworICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2Uoc3RyaW5nLCAiLWFwcGxlLXN5c3RlbS11aS1tb25vc3BhY2VkIikpCisgICAgICAgICAg
ICByZXR1cm4gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNsaWVudFVzZTo6Rm9yU3lzdGVt
VUlNb25vc3BhY2VkOworICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uo
c3RyaW5nLCAiLWFwcGxlLXN5c3RlbS11aS1yb3VuZGVkIikpCisgICAgICAgICAgICByZXR1cm4g
U3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNsaWVudFVzZTo6Rm9yU3lzdGVtVUlSb3VuZGVk
OworICAgIH0KKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHNob3VsZEFsbG93RGVzaWduU3lzdGVt
VUlGb250cyk7CisjZW5kaWYKKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgc3RhdGlj
IGNvbnN0IENGU3RyaW5nUmVmIHN0eWxlc1tdID0gewogICAgICAgICBrQ1RVSUZvbnRUZXh0U3R5
bGVIZWFkbGluZSwKICAgICAgICAga0NUVUlGb250VGV4dFN0eWxlQm9keSwKQEAgLTc5LDExICs5
MSwxNCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNVSUZvbnRUZXh0U3R5bGUoY29uc3QgQXRvbVN0
cmluZyYgc3RyaW5nKQogICAgIH07CiAgICAgCiAgICAgc3RhdGljIGF1dG8gc3RyaW5ncyB7IG1h
a2VOZXZlckRlc3Ryb3llZChjb252ZXJ0QXJyYXk8QXRvbVN0cmluZz4oc3R5bGVzKSkgfTsKLSAg
ICByZXR1cm4gc3RkOjpmaW5kKHN0cmluZ3MuZ2V0KCkuYmVnaW4oKSwgc3RyaW5ncy5nZXQoKS5l
bmQoKSwgc3RyaW5nKSAhPSBzdHJpbmdzLmdldCgpLmVuZCgpOwotfQorICAgIGlmIChzdGQ6OmZp
bmQoc3RyaW5ncy5nZXQoKS5iZWdpbigpLCBzdHJpbmdzLmdldCgpLmVuZCgpLCBzdHJpbmcpICE9
IHN0cmluZ3MuZ2V0KCkuZW5kKCkpCisgICAgICAgIHJldHVybiBTeXN0ZW1Gb250RGF0YWJhc2VD
b3JlVGV4dDo6Q2xpZW50VXNlOjpGb3JUZXh0U3R5bGU7CiAjZW5kaWYKIAotc3RhdGljIGlubGlu
ZSBWZWN0b3I8UmV0YWluUHRyPENURm9udERlc2NyaXB0b3JSZWY+PiBzeXN0ZW1Gb250Q2FzY2Fk
ZUxpc3QoY29uc3QgRm9udENhc2NhZGVEZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIGNvbnN0IEF0
b21TdHJpbmcmIGNzc0ZhbWlseSwgU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNsaWVudFVz
ZSBjbGllbnRVc2UsIEFsbG93VXNlckluc3RhbGxlZEZvbnRzIGFsbG93VXNlckluc3RhbGxlZEZv
bnRzKQorICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Cit9CisKK3N0YXRpYyBpbmxpbmUgVmVjdG9y
PFJldGFpblB0cjxDVEZvbnREZXNjcmlwdG9yUmVmPj4gc3lzdGVtRm9udENhc2NhZGVMaXN0KGNv
bnN0IEZvbnREZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIGNvbnN0IEF0b21TdHJpbmcmIGNzc0Zh
bWlseSwgU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNsaWVudFVzZSBjbGllbnRVc2UsIEFs
bG93VXNlckluc3RhbGxlZEZvbnRzIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKQogewogICAgIHJl
dHVybiBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6c2luZ2xldG9uKCkuY2FzY2FkZUxpc3Qo
ZGVzY3JpcHRpb24sIGNzc0ZhbWlseSwgY2xpZW50VXNlLCBhbGxvd1VzZXJJbnN0YWxsZWRGb250
cyk7CiB9CkBAIC05NCwxMiArMTA5LDggQEAgdW5zaWduZWQgRm9udENhc2NhZGVEZXNjcmlwdGlv
bjo6ZWZmZWN0aXZlRmFtaWx5Q291bnQoKSBjb25zdAogICAgIHVuc2lnbmVkIHJlc3VsdCA9IDA7
CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGZhbWlseUNvdW50KCk7ICsraSkgewogICAg
ICAgICBjb25zdCBhdXRvJiBjc3NGYW1pbHkgPSBmYW1pbHlBdChpKTsKLSAgICAgICAgaWYgKGlz
U3lzdGVtRm9udFN0cmluZyhjc3NGYW1pbHkpKQotICAgICAgICAgICAgcmVzdWx0ICs9IHN5c3Rl
bUZvbnRDYXNjYWRlTGlzdCgqdGhpcywgY3NzRmFtaWx5LCBTeXN0ZW1Gb250RGF0YWJhc2VDb3Jl
VGV4dDo6Q2xpZW50VXNlOjpGb3JTeXN0ZW1VSSwgc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9u
dHMoKSkuc2l6ZSgpOwotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgICAgIGVsc2UgaWYg
KGlzVUlGb250VGV4dFN0eWxlKGNzc0ZhbWlseSkpCi0gICAgICAgICAgICByZXN1bHQgKz0gc3lz
dGVtRm9udENhc2NhZGVMaXN0KCp0aGlzLCBjc3NGYW1pbHksIFN5c3RlbUZvbnREYXRhYmFzZUNv
cmVUZXh0OjpDbGllbnRVc2U6OkZvclRleHRTdHlsZSwgc2hvdWxkQWxsb3dVc2VySW5zdGFsbGVk
Rm9udHMoKSkuc2l6ZSgpOwotI2VuZGlmCisgICAgICAgIGlmIChhdXRvIHVzZSA9IHN5c3RlbUZv
bnRVc2UoY3NzRmFtaWx5LCBzaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMoKSkpCisgICAg
ICAgICAgICByZXN1bHQgKz0gc3lzdGVtRm9udENhc2NhZGVMaXN0KCp0aGlzLCBjc3NGYW1pbHks
ICp1c2UsIHNob3VsZEFsbG93VXNlckluc3RhbGxlZEZvbnRzKCkpLnNpemUoKTsKICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgKytyZXN1bHQ7CiAgICAgfQpAQCAtMTE3LDIwICsxMjgsMTIgQEAg
Rm9udEZhbWlseVNwZWNpZmljYXRpb24gRm9udENhc2NhZGVEZXNjcmlwdGlvbjo6ZWZmZWN0aXZl
RmFtaWx5QXQodW5zaWduZWQgaW5kZXgKICAgICAvLyBUaGVzZSB0d28gYmVoYXZpb3JzIHNob3Vs
ZCBiZSB1bmlmaWVkLCB3aGljaCB3b3VsZCBob3BlZnVsbHkgYWxsb3cgdXMgdG8gZGVsZXRlIHRo
aXMgZHVwbGljYXRlIGNvZGUuCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGZhbWlseUNv
dW50KCk7ICsraSkgewogICAgICAgICBjb25zdCBhdXRvJiBjc3NGYW1pbHkgPSBmYW1pbHlBdChp
KTsKLSAgICAgICAgaWYgKGlzU3lzdGVtRm9udFN0cmluZyhjc3NGYW1pbHkpKSB7Ci0gICAgICAg
ICAgICBhdXRvIGNhc2NhZGVMaXN0ID0gc3lzdGVtRm9udENhc2NhZGVMaXN0KCp0aGlzLCBjc3NG
YW1pbHksIFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpDbGllbnRVc2U6OkZvclN5c3RlbVVJ
LCBzaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cygpKTsKKyAgICAgICAgaWYgKGF1dG8gdXNl
ID0gc3lzdGVtRm9udFVzZShjc3NGYW1pbHksIHNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250
cygpKSkgeworICAgICAgICAgICAgYXV0byBjYXNjYWRlTGlzdCA9IHN5c3RlbUZvbnRDYXNjYWRl
TGlzdCgqdGhpcywgY3NzRmFtaWx5LCAqdXNlLCBzaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250
cygpKTsKICAgICAgICAgICAgIGlmIChpbmRleCA8IGNhc2NhZGVMaXN0LnNpemUoKSkKICAgICAg
ICAgICAgICAgICByZXR1cm4gRm9udEZhbWlseVNwZWNpZmljYXRpb24oY2FzY2FkZUxpc3RbaW5k
ZXhdLmdldCgpKTsKICAgICAgICAgICAgIGluZGV4IC09IGNhc2NhZGVMaXN0LnNpemUoKTsKICAg
ICAgICAgfQotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0gICAgICAgIGVsc2UgaWYgKGlzVUlG
b250VGV4dFN0eWxlKGNzc0ZhbWlseSkpIHsKLSAgICAgICAgICAgIGF1dG8gY2FzY2FkZUxpc3Qg
PSBzeXN0ZW1Gb250Q2FzY2FkZUxpc3QoKnRoaXMsIGNzc0ZhbWlseSwgU3lzdGVtRm9udERhdGFi
YXNlQ29yZVRleHQ6OkNsaWVudFVzZTo6Rm9yVGV4dFN0eWxlLCBzaG91bGRBbGxvd1VzZXJJbnN0
YWxsZWRGb250cygpKTsKLSAgICAgICAgICAgIGlmIChpbmRleCA8IGNhc2NhZGVMaXN0LnNpemUo
KSkKLSAgICAgICAgICAgICAgICByZXR1cm4gRm9udEZhbWlseVNwZWNpZmljYXRpb24oY2FzY2Fk
ZUxpc3RbaW5kZXhdLmdldCgpKTsKLSAgICAgICAgICAgIGluZGV4IC09IGNhc2NhZGVMaXN0LnNp
emUoKTsKLSAgICAgICAgfQotI2VuZGlmCiAgICAgICAgIGVsc2UgaWYgKCFpbmRleCkKICAgICAg
ICAgICAgIHJldHVybiBjc3NGYW1pbHk7CiAgICAgICAgIGVsc2UKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURh
dGFDb2NvYS5tbQppbmRleCA3NmUwOTI4MjJlNjdiZDdlMjc1NzU4ZTUwZTA0OGNiNDlkMzg0NTRi
Li42ZjdhYjQ2N2Q0NDM0MDU1MTY5NDRkYzk5OGMwYWVkNDQ2NmYyYzE3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29j
b2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBs
YXRmb3JtRGF0YUNvY29hLm1tCkBAIC0xNTUsNyArMTU1LDcgQEAgQ1RGb250UmVmIEZvbnRQbGF0
Zm9ybURhdGE6OmN0Rm9udCgpIGNvbnN0CiAgICAgICAgIHJldHVybiBtX2N0Rm9udC5nZXQoKTsK
IAogICAgIEFTU0VSVChtX2ZvbnQpOwotICAgIG1fY3RGb250ID0gYWRvcHRDRihDVEZvbnRDcmVh
dGVDb3B5V2l0aEF0dHJpYnV0ZXMobV9mb250LmdldCgpLCBtX3NpemUsIDAsIGNhc2NhZGVUb0xh
c3RSZXNvcnRBbmRWYXJpYXRpb25zRm9udERlc2NyaXB0b3IobV9mb250LmdldCgpKS5nZXQoKSkp
OworICAgIG1fY3RGb250ID0gYWRvcHRDRihDVEZvbnRDcmVhdGVDb3B5V2l0aEF0dHJpYnV0ZXMo
bV9mb250LmdldCgpLCBtX3NpemUsIG51bGxwdHIsIGNhc2NhZGVUb0xhc3RSZXNvcnRBbmRWYXJp
YXRpb25zRm9udERlc2NyaXB0b3IobV9mb250LmdldCgpKS5nZXQoKSkpOwogCiAgICAgaWYgKG1f
d2lkdGhWYXJpYW50ICE9IEZvbnRXaWR0aFZhcmlhbnQ6OlJlZ3VsYXJXaWR0aCkgewogICAgICAg
ICBpbnQgZmVhdHVyZVR5cGVWYWx1ZSA9IGtUZXh0U3BhY2luZ1R5cGU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9TeXN0ZW1Gb250RGF0YWJhc2VD
b3JlVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9TeXN0
ZW1Gb250RGF0YWJhc2VDb3JlVGV4dC5jcHAKaW5kZXggYjNkMDJmZjg1NWE4OWFlNDkzZGFiZTkz
ODA4NzAyNDg5MTFmZDhhYS4uNWNhMjEwYjMxNGFkMjI5MzA3ZjFkMDRlMDE0ODEwNDIxODA3ZTNj
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU3lz
dGVtRm9udERhdGFiYXNlQ29yZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL1N5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0LmNwcApAQCAtNDcsMjgg
KzQ3LDcwIEBAIFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpTeXN0ZW1Gb250RGF0YWJhc2VD
b3JlVGV4dCgpCiAKICNpZiBVU0VfUExBVEZPUk1fU1lTVEVNX0ZBTExCQUNLX0xJU1QKIAorUmV0
YWluUHRyPENURm9udFJlZj4gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OmNyZWF0ZVN5c3Rl
bVVJKGNvbnN0IENhc2NhZGVMaXN0UGFyYW1ldGVycyYgcGFyYW1ldGVycywgQ0ZTdHJpbmdSZWYg
bG9jYWxlKQoreworICAgIGF1dG8gcmVzdWx0ID0gYWRvcHRDRihDVEZvbnRDcmVhdGVVSUZvbnRG
b3JMYW5ndWFnZShrQ1RGb250VUlGb250U3lzdGVtLCBwYXJhbWV0ZXJzLnNpemUsIGxvY2FsZSkp
OworICAgIEFTU0VSVChyZXN1bHQpOworICAgIHJldHVybiBhcHBseVdlaWdodEl0YWxpY3NBbmRG
YWxsYmFja0JlaGF2aW9yKHJlc3VsdC5nZXQoKSwgcGFyYW1ldGVycy53ZWlnaHQsIHBhcmFtZXRl
cnMuaXRhbGljLCBwYXJhbWV0ZXJzLnNpemUsIHBhcmFtZXRlcnMuYWxsb3dVc2VySW5zdGFsbGVk
Rm9udHMpOworfQorCisjaWYgSEFWRShERVNJR05fU1lTVEVNX1VJX0ZPTlRTKQorUmV0YWluUHRy
PENURm9udFJlZj4gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OmNyZWF0ZURlc2lnblN5c3Rl
bVVJKENsaWVudFVzZSBjbGllbnRVc2UsIGNvbnN0IENhc2NhZGVMaXN0UGFyYW1ldGVycyYgcGFy
YW1ldGVycykKK3sKKyAgICBDRlN0cmluZ1JlZiBkZXNpZ24gPSBrQ1RGb250VUlGb250RGVzaWdu
RGVmYXVsdDsKKyAgICBzd2l0Y2ggKGNsaWVudFVzZSkgeworICAgIGNhc2UgQ2xpZW50VXNlOjpG
b3JTeXN0ZW1VSVNlcmlmOgorICAgICAgICBkZXNpZ24gPSBrQ1RGb250VUlGb250RGVzaWduU2Vy
aWY7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ2xpZW50VXNlOjpGb3JTeXN0ZW1VSU1vbm9z
cGFjZWQ6CisgICAgICAgIGRlc2lnbiA9IGtDVEZvbnRVSUZvbnREZXNpZ25Nb25vc3BhY2VkOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIENsaWVudFVzZTo6Rm9yU3lzdGVtVUlSb3VuZGVkOgor
ICAgICAgICBkZXNpZ24gPSBrQ1RGb250VUlGb250RGVzaWduUm91bmRlZDsKKyAgICAgICAgYnJl
YWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgfQor
ICAgIHJldHVybiBhcHBseVdlaWdodEl0YWxpY3NBbmRGYWxsYmFja0JlaGF2aW9yKG51bGxwdHIs
IHBhcmFtZXRlcnMud2VpZ2h0LCBwYXJhbWV0ZXJzLml0YWxpYywgcGFyYW1ldGVycy5zaXplLCBw
YXJhbWV0ZXJzLmFsbG93VXNlckluc3RhbGxlZEZvbnRzLCBkZXNpZ24pOworfQorI2VuZGlmCisK
K1JldGFpblB0cjxDVEZvbnRSZWY+IFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpjcmVhdGVU
ZXh0U3R5bGUoY29uc3QgQ2FzY2FkZUxpc3RQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQoreworI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCisgICAgYXV0byBmb250RGVzY3JpcHRvciA9IGFkb3B0Q0Yo
Q1RGb250RGVzY3JpcHRvckNyZWF0ZVdpdGhUZXh0U3R5bGUocGFyYW1ldGVycy5mb250TmFtZS5z
dHJpbmcoKS5jcmVhdGVDRlN0cmluZygpLmdldCgpLCBSZW5kZXJUaGVtZUlPUzo6Y29udGVudFNp
emVDYXRlZ29yeSgpLCBudWxscHRyKSk7CisgICAgLy8gRklYTUU6IFVzZSBhcHBseVdlaWdodEl0
YWxpY3NBbmRGYWxsYmFja0JlaGF2aW9yKCkgb25jZSA8cmRhcjovL3Byb2JsZW0vMzMwNDYwNDE+
IGlzIGZpeGVkLgorICAgIENURm9udFN5bWJvbGljVHJhaXRzIHRyYWl0cyA9IChwYXJhbWV0ZXJz
LndlaWdodCA+PSBrQ1RGb250V2VpZ2h0U2VtaWJvbGQgPyBrQ1RGb250VHJhaXRCb2xkIDogMCkg
fCAocGFyYW1ldGVycy5pdGFsaWMgPyBrQ1RGb250VHJhaXRJdGFsaWMgOiAwKTsKKyAgICBpZiAo
dHJhaXRzKQorICAgICAgICBmb250RGVzY3JpcHRvciA9IGFkb3B0Q0YoQ1RGb250RGVzY3JpcHRv
ckNyZWF0ZUNvcHlXaXRoU3ltYm9saWNUcmFpdHMoZm9udERlc2NyaXB0b3IuZ2V0KCksIHRyYWl0
cywgdHJhaXRzKSk7CisgICAgcmV0dXJuIGNyZWF0ZUZvbnRGb3JJbnN0YWxsZWRGb250cyhmb250
RGVzY3JpcHRvci5nZXQoKSwgcGFyYW1ldGVycy5zaXplLCBwYXJhbWV0ZXJzLmFsbG93VXNlcklu
c3RhbGxlZEZvbnRzKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKHBhcmFtZXRlcnMpOworICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBudWxscHRyOworI2VuZGlmCit9CisK
IFZlY3RvcjxSZXRhaW5QdHI8Q1RGb250RGVzY3JpcHRvclJlZj4+IFN5c3RlbUZvbnREYXRhYmFz
ZUNvcmVUZXh0OjpjYXNjYWRlTGlzdChjb25zdCBDYXNjYWRlTGlzdFBhcmFtZXRlcnMmIHBhcmFt
ZXRlcnMsIENsaWVudFVzZSBjbGllbnRVc2UpCiB7CiAgICAgQVNTRVJUKCFwYXJhbWV0ZXJzLmZv
bnROYW1lLmlzTnVsbCgpKTsKICAgICByZXR1cm4gbV9zeXN0ZW1Gb250Q2FjaGUuZW5zdXJlKHBh
cmFtZXRlcnMsIFsmXSB7CiAgICAgICAgIGF1dG8gbG9jYWxlU3RyaW5nID0gcGFyYW1ldGVycy5s
b2NhbGUuc3RyaW5nKCkuY3JlYXRlQ0ZTdHJpbmcoKTsKICAgICAgICAgUmV0YWluUHRyPENURm9u
dFJlZj4gc3lzdGVtRm9udDsKLSAgICAgICAgaWYgKGNsaWVudFVzZSA9PSBDbGllbnRVc2U6OkZv
clN5c3RlbVVJKSB7Ci0gICAgICAgICAgICBzeXN0ZW1Gb250ID0gYWRvcHRDRihDVEZvbnRDcmVh
dGVVSUZvbnRGb3JMYW5ndWFnZShrQ1RGb250VUlGb250U3lzdGVtLCBwYXJhbWV0ZXJzLnNpemUs
IGxvY2FsZVN0cmluZy5nZXQoKSkpOwotICAgICAgICAgICAgQVNTRVJUKHN5c3RlbUZvbnQpOwot
ICAgICAgICAgICAgLy8gRklYTUU6IFVzZSBhcHBseVdlaWdodEl0YWxpY3NBbmRGYWxsYmFja0Jl
aGF2aW9yKCkgaW4gYm90aCBjYXNlcyBvbmNlIDxyZGFyOi8vcHJvYmxlbS8zMzA0NjA0MT4gaXMg
Zml4ZWQuCi0gICAgICAgICAgICBzeXN0ZW1Gb250ID0gYXBwbHlXZWlnaHRJdGFsaWNzQW5kRmFs
bGJhY2tCZWhhdmlvcihzeXN0ZW1Gb250LmdldCgpLCBwYXJhbWV0ZXJzLndlaWdodCwgcGFyYW1l
dGVycy5pdGFsaWMsIHBhcmFtZXRlcnMuc2l6ZSwgcGFyYW1ldGVycy5hbGxvd1VzZXJJbnN0YWxs
ZWRGb250cyk7Ci0gICAgICAgIH0gZWxzZSB7Ci0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKLSAg
ICAgICAgICAgIEFTU0VSVChjbGllbnRVc2UgPT0gQ2xpZW50VXNlOjpGb3JUZXh0U3R5bGUpOwot
ICAgICAgICAgICAgYXV0byBmb250RGVzY3JpcHRvciA9IGFkb3B0Q0YoQ1RGb250RGVzY3JpcHRv
ckNyZWF0ZVdpdGhUZXh0U3R5bGUocGFyYW1ldGVycy5mb250TmFtZS5zdHJpbmcoKS5jcmVhdGVD
RlN0cmluZygpLmdldCgpLCBSZW5kZXJUaGVtZUlPUzo6Y29udGVudFNpemVDYXRlZ29yeSgpLCBu
dWxscHRyKSk7Ci0gICAgICAgICAgICBDVEZvbnRTeW1ib2xpY1RyYWl0cyB0cmFpdHMgPSAocGFy
YW1ldGVycy53ZWlnaHQgPj0ga0NURm9udFdlaWdodFNlbWlib2xkID8ga0NURm9udFRyYWl0Qm9s
ZCA6IDApIHwgKHBhcmFtZXRlcnMuaXRhbGljID8ga0NURm9udFRyYWl0SXRhbGljIDogMCk7Ci0g
ICAgICAgICAgICBpZiAodHJhaXRzKQotICAgICAgICAgICAgICAgIGZvbnREZXNjcmlwdG9yID0g
YWRvcHRDRihDVEZvbnREZXNjcmlwdG9yQ3JlYXRlQ29weVdpdGhTeW1ib2xpY1RyYWl0cyhmb250
RGVzY3JpcHRvci5nZXQoKSwgdHJhaXRzLCB0cmFpdHMpKTsKLSAgICAgICAgICAgIHN5c3RlbUZv
bnQgPSBjcmVhdGVGb250Rm9ySW5zdGFsbGVkRm9udHMoZm9udERlc2NyaXB0b3IuZ2V0KCksIHBh
cmFtZXRlcnMuc2l6ZSwgcGFyYW1ldGVycy5hbGxvd1VzZXJJbnN0YWxsZWRGb250cyk7Ci0jZWxz
ZQotICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHN3aXRjaCAoY2xp
ZW50VXNlKSB7CisgICAgICAgIGNhc2UgQ2xpZW50VXNlOjpGb3JTeXN0ZW1VSToKKyAgICAgICAg
ICAgIHN5c3RlbUZvbnQgPSBjcmVhdGVTeXN0ZW1VSShwYXJhbWV0ZXJzLCBsb2NhbGVTdHJpbmcu
Z2V0KCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ2xpZW50VXNlOjpGb3JT
eXN0ZW1VSVNlcmlmOgorICAgICAgICBjYXNlIENsaWVudFVzZTo6Rm9yU3lzdGVtVUlNb25vc3Bh
Y2VkOgorICAgICAgICBjYXNlIENsaWVudFVzZTo6Rm9yU3lzdGVtVUlSb3VuZGVkOgorI2lmIEhB
VkUoREVTSUdOX1NZU1RFTV9VSV9GT05UUykKKyAgICAgICAgICAgIHN5c3RlbUZvbnQgPSBjcmVh
dGVEZXNpZ25TeXN0ZW1VSShjbGllbnRVc2UsIHBhcmFtZXRlcnMpOwogI2VuZGlmCisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDbGllbnRVc2U6OkZvclRleHRTdHlsZToKKyAgICAg
ICAgICAgIHN5c3RlbUZvbnQgPSBjcmVhdGVUZXh0U3R5bGUocGFyYW1ldGVycyk7CisgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBBU1NFUlQoc3lzdGVtRm9udCk7CiAgICAg
ICAgIGF1dG8gcmVzdWx0ID0gY29tcHV0ZUNhc2NhZGVMaXN0KHN5c3RlbUZvbnQuZ2V0KCksIGxv
Y2FsZVN0cmluZy5nZXQoKSk7CkBAIC04NywyMCArMTI5LDIyIEBAIHZvaWQgU3lzdGVtRm9udERh
dGFiYXNlQ29yZVRleHQ6OmNsZWFyKCkKICAgICBtX21vbm9zcGFjZUZhbWlsaWVzLmNsZWFyKCk7
CiB9CiAKLVJldGFpblB0cjxDVEZvbnRSZWY+IFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0Ojph
cHBseVdlaWdodEl0YWxpY3NBbmRGYWxsYmFja0JlaGF2aW9yKENURm9udFJlZiBmb250LCBDR0Zs
b2F0IHdlaWdodCwgYm9vbCBpdGFsaWMsIGZsb2F0IHNpemUsIEFsbG93VXNlckluc3RhbGxlZEZv
bnRzIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKQorUmV0YWluUHRyPENURm9udFJlZj4gU3lzdGVt
Rm9udERhdGFiYXNlQ29yZVRleHQ6OmFwcGx5V2VpZ2h0SXRhbGljc0FuZEZhbGxiYWNrQmVoYXZp
b3IoQ1RGb250UmVmIGZvbnQsIENHRmxvYXQgd2VpZ2h0LCBib29sIGl0YWxpYywgZmxvYXQgc2l6
ZSwgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMsIENGU3Ry
aW5nUmVmIGRlc2lnbikKIHsKICAgICBhdXRvIHdlaWdodE51bWJlciA9IGFkb3B0Q0YoQ0ZOdW1i
ZXJDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwga0NGTnVtYmVyQ0dGbG9hdFR5cGUsICZ3ZWln
aHQpKTsKICAgICBjb25zdCBmbG9hdCBzeXN0ZW1Gb250SXRhbGljU2xvcGUgPSAwLjA3OwogICAg
IGZsb2F0IGl0YWxpY3NSYXdOdW1iZXIgPSBpdGFsaWMgPyBzeXN0ZW1Gb250SXRhbGljU2xvcGUg
OiAwOwogICAgIGF1dG8gaXRhbGljc051bWJlciA9IGFkb3B0Q0YoQ0ZOdW1iZXJDcmVhdGUoa0NG
QWxsb2NhdG9yRGVmYXVsdCwga0NGTnVtYmVyRmxvYXRUeXBlLCAmaXRhbGljc1Jhd051bWJlcikp
OwogICAgIENGVHlwZVJlZiB0cmFpdHNLZXlzW10gPSB7IGtDVEZvbnRXZWlnaHRUcmFpdCwga0NU
Rm9udFNsYW50VHJhaXQsIGtDVEZvbnRVSUZvbnREZXNpZ25UcmFpdCB9OwotICAgIENGVHlwZVJl
ZiB0cmFpdHNWYWx1ZXNbXSA9IHsgd2VpZ2h0TnVtYmVyLmdldCgpLCBpdGFsaWNzTnVtYmVyLmdl
dCgpLCBrQ0ZCb29sZWFuVHJ1ZSB9OworICAgIENGVHlwZVJlZiB0cmFpdHNWYWx1ZXNbXSA9IHsg
d2VpZ2h0TnVtYmVyLmdldCgpLCBpdGFsaWNzTnVtYmVyLmdldCgpLCBkZXNpZ24gPyBzdGF0aWNf
Y2FzdDxDRlR5cGVSZWY+KGRlc2lnbikgOiBzdGF0aWNfY2FzdDxDRlR5cGVSZWY+KGtDVEZvbnRV
SUZvbnREZXNpZ25EZWZhdWx0KSB9OwogICAgIGF1dG8gdHJhaXRzRGljdGlvbmFyeSA9IGFkb3B0
Q0YoQ0ZEaWN0aW9uYXJ5Q3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIHRyYWl0c0tleXMsIHRy
YWl0c1ZhbHVlcywgV1RGX0FSUkFZX0xFTkdUSCh0cmFpdHNLZXlzKSwgJmtDRlR5cGVEaWN0aW9u
YXJ5S2V5Q2FsbEJhY2tzLCAma0NGVHlwZURpY3Rpb25hcnlWYWx1ZUNhbGxCYWNrcykpOwogICAg
IGF1dG8gYXR0cmlidXRlcyA9IGFkb3B0Q0YoQ0ZEaWN0aW9uYXJ5Q3JlYXRlTXV0YWJsZShrQ0ZB
bGxvY2F0b3JEZWZhdWx0LCAwLCAma0NGVHlwZURpY3Rpb25hcnlLZXlDYWxsQmFja3MsICZrQ0ZU
eXBlRGljdGlvbmFyeVZhbHVlQ2FsbEJhY2tzKSk7CiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUo
YXR0cmlidXRlcy5nZXQoKSwga0NURm9udFRyYWl0c0F0dHJpYnV0ZSwgdHJhaXRzRGljdGlvbmFy
eS5nZXQoKSk7CiAgICAgYWRkQXR0cmlidXRlc0Zvckluc3RhbGxlZEZvbnRzKGF0dHJpYnV0ZXMu
Z2V0KCksIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKICAgICBhdXRvIG1vZGlmaWNhdGlvbiA9
IGFkb3B0Q0YoQ1RGb250RGVzY3JpcHRvckNyZWF0ZVdpdGhBdHRyaWJ1dGVzKGF0dHJpYnV0ZXMu
Z2V0KCkpKTsKLSAgICByZXR1cm4gYWRvcHRDRihDVEZvbnRDcmVhdGVDb3B5V2l0aEF0dHJpYnV0
ZXMoZm9udCwgc2l6ZSwgbnVsbHB0ciwgbW9kaWZpY2F0aW9uLmdldCgpKSk7CisgICAgaWYgKGZv
bnQpCisgICAgICAgIHJldHVybiBhZG9wdENGKENURm9udENyZWF0ZUNvcHlXaXRoQXR0cmlidXRl
cyhmb250LCBzaXplLCBudWxscHRyLCBtb2RpZmljYXRpb24uZ2V0KCkpKTsKKyAgICByZXR1cm4g
YWRvcHRDRihDVEZvbnRDcmVhdGVXaXRoRm9udERlc2NyaXB0b3IobW9kaWZpY2F0aW9uLmdldCgp
LCBzaXplLCBudWxscHRyKSk7CiB9CiAKIFJldGFpblB0cjxDVEZvbnREZXNjcmlwdG9yUmVmPiBT
eXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6cmVtb3ZlQ2FzY2FkZUxpc3QoQ1RGb250RGVzY3Jp
cHRvclJlZiBmb250RGVzY3JpcHRvcikKQEAgLTEyOSwxMiArMTczLDEzIEBAIFZlY3RvcjxSZXRh
aW5QdHI8Q1RGb250RGVzY3JpcHRvclJlZj4+IFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0Ojpj
b21wdXRlQ2FzY2FkCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotU3lzdGVtRm9udERhdGFiYXNl
Q29yZVRleHQ6OkNhc2NhZGVMaXN0UGFyYW1ldGVycyBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4
dDo6c3lzdGVtRm9udFBhcmFtZXRlcnMoY29uc3QgRm9udENhc2NhZGVEZXNjcmlwdGlvbiYgZGVz
Y3JpcHRpb24sIGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseU5hbWUsIENsaWVudFVzZSBjbGllbnRV
c2UsIEFsbG93VXNlckluc3RhbGxlZEZvbnRzIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKQorU3lz
dGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNhc2NhZGVMaXN0UGFyYW1ldGVycyBTeXN0ZW1Gb250
RGF0YWJhc2VDb3JlVGV4dDo6c3lzdGVtRm9udFBhcmFtZXRlcnMoY29uc3QgRm9udERlc2NyaXB0
aW9uJiBkZXNjcmlwdGlvbiwgY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5TmFtZSwgQ2xpZW50VXNl
IGNsaWVudFVzZSwgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMgYWxsb3dVc2VySW5zdGFsbGVkRm9u
dHMpCiB7CiAgICAgQ2FzY2FkZUxpc3RQYXJhbWV0ZXJzIHJlc3VsdDsKICAgICByZXN1bHQubG9j
YWxlID0gZGVzY3JpcHRpb24ubG9jYWxlKCk7CiAgICAgcmVzdWx0LnNpemUgPSBkZXNjcmlwdGlv
bi5jb21wdXRlZFNpemUoKTsKICAgICByZXN1bHQuaXRhbGljID0gaXNJdGFsaWMoZGVzY3JpcHRp
b24uaXRhbGljKCkpOworICAgIHJlc3VsdC5hbGxvd1VzZXJJbnN0YWxsZWRGb250cyA9IGFsbG93
VXNlckluc3RhbGxlZEZvbnRzOwogCiAgICAgYXV0byB3ZWlnaHQgPSBkZXNjcmlwdGlvbi53ZWln
aHQoKTsKICAgICBpZiAoRm9udENhY2hlOjpzaW5nbGV0b24oKS5zaG91bGRNb2NrQm9sZFN5c3Rl
bUZvbnRGb3JBY2Nlc3NpYmlsaXR5KCkpCkBAIC0xNTksMjAgKzIwNCwzNiBAQCBTeXN0ZW1Gb250
RGF0YWJhc2VDb3JlVGV4dDo6Q2FzY2FkZUxpc3RQYXJhbWV0ZXJzIFN5c3RlbUZvbnREYXRhYmFz
ZUNvcmVUZXh0OjpzeQogICAgIGVsc2UKICAgICAgICAgcmVzdWx0LndlaWdodCA9IGtDVEZvbnRX
ZWlnaHRCbGFjazsKIAotICAgIGlmIChjbGllbnRVc2UgPT0gQ2xpZW50VXNlOjpGb3JTeXN0ZW1V
SSkgeworICAgIHN3aXRjaCAoY2xpZW50VXNlKSB7CisgICAgY2FzZSBDbGllbnRVc2U6OkZvclN5
c3RlbVVJOiB7CiAgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9tU3RyaW5nPiBzeXN0
ZW1VSSA9IEF0b21TdHJpbmcoInN5c3RlbS11aSIsIEF0b21TdHJpbmc6OkNvbnN0cnVjdEZyb21M
aXRlcmFsKTsKICAgICAgICAgcmVzdWx0LmZvbnROYW1lID0gc3lzdGVtVUkuZ2V0KCk7Ci0gICAg
fSBlbHNlIHsKLSAgICAgICAgQVNTRVJUKGNsaWVudFVzZSA9PSBDbGllbnRVc2U6OkZvclRleHRT
dHlsZSk7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBjYXNlIENsaWVudFVzZTo6Rm9yU3lz
dGVtVUlTZXJpZjogeworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8QXRvbVN0cmluZz4g
c3lzdGVtVUkgPSBBdG9tU3RyaW5nKCJzeXN0ZW0tdWktc2VyaWYiLCBBdG9tU3RyaW5nOjpDb25z
dHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgICAgIHJlc3VsdC5mb250TmFtZSA9IHN5c3RlbVVJLmdl
dCgpOworICAgICAgICBicmVhazsKKyAgICB9CisgICAgY2FzZSBDbGllbnRVc2U6OkZvclN5c3Rl
bVVJTW9ub3NwYWNlZDogeworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8QXRvbVN0cmlu
Zz4gc3lzdGVtVUkgPSBBdG9tU3RyaW5nKCJzeXN0ZW0tdWktbW9ub3NwYWNlZCIsIEF0b21TdHJp
bmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKKyAgICAgICAgcmVzdWx0LmZvbnROYW1lID0gc3lz
dGVtVUkuZ2V0KCk7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBjYXNlIENsaWVudFVzZTo6
Rm9yU3lzdGVtVUlSb3VuZGVkOiB7CisgICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdG9t
U3RyaW5nPiBzeXN0ZW1VSSA9IEF0b21TdHJpbmcoInN5c3RlbS11aS1yb3VuZGVkIiwgQXRvbVN0
cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAgICAgICByZXN1bHQuZm9udE5hbWUgPSBz
eXN0ZW1VSS5nZXQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorICAgIGNhc2UgQ2xpZW50VXNl
OjpGb3JUZXh0U3R5bGU6CiAgICAgICAgIHJlc3VsdC5mb250TmFtZSA9IGZhbWlseU5hbWU7Cisg
ICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIHJlc3VsdC5hbGxvd1VzZXJJbnN0YWxsZWRGb250
cyA9IGFsbG93VXNlckluc3RhbGxlZEZvbnRzOwotCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAot
VmVjdG9yPFJldGFpblB0cjxDVEZvbnREZXNjcmlwdG9yUmVmPj4gU3lzdGVtRm9udERhdGFiYXNl
Q29yZVRleHQ6OmNhc2NhZGVMaXN0KGNvbnN0IEZvbnRDYXNjYWRlRGVzY3JpcHRpb24mIGRlc2Ny
aXB0aW9uLCBjb25zdCBBdG9tU3RyaW5nJiBjc3NGYW1pbHksIENsaWVudFVzZSBjbGllbnRVc2Us
IEFsbG93VXNlckluc3RhbGxlZEZvbnRzIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKQorVmVjdG9y
PFJldGFpblB0cjxDVEZvbnREZXNjcmlwdG9yUmVmPj4gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRl
eHQ6OmNhc2NhZGVMaXN0KGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIGNvbnN0
IEF0b21TdHJpbmcmIGNzc0ZhbWlseSwgQ2xpZW50VXNlIGNsaWVudFVzZSwgQWxsb3dVc2VySW5z
dGFsbGVkRm9udHMgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpCiB7CiAgICAgcmV0dXJuIGNhc2Nh
ZGVMaXN0KHN5c3RlbUZvbnRQYXJhbWV0ZXJzKGRlc2NyaXB0aW9uLCBjc3NGYW1pbHksIGNsaWVu
dFVzZSwgYWxsb3dVc2VySW5zdGFsbGVkRm9udHMpLCBjbGllbnRVc2UpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU3lzdGVtRm9udERhdGFi
YXNlQ29yZVRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1N5
c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0LmgKaW5kZXggMzIzYWIyOThmMDYzMmVhYTc1NWM4ZmE3
YzAyODVmMDhiMTNmYjZiMC4uN2E2MjMxNjFiYzQyZDA1MDA5ZTE4YzAyZjAyZGIyZWQ5MDQ3YzE3
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU3lz
dGVtRm9udERhdGFiYXNlQ29yZVRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jb2NvYS9TeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dC5oCkBAIC0yNSw3ICsyNSw3
IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiRm9udENhc2NhZGVEZXNjcmlwdGlvbi5o
IgorI2luY2x1ZGUgIkZvbnREZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgPHBhbC9zcGkvY29jb2Ev
Q29yZVRleHRTUEkuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9I
YXNoVHJhaXRzLmg+CkBAIC05Niw5ICs5NiwxNSBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgU3lz
dGVtRm9udERhdGFiYXNlQ29yZVRleHQmIHNpbmdsZXRvbigpOwogCi0gICAgZW51bSBjbGFzcyBD
bGllbnRVc2UgeyBGb3JTeXN0ZW1VSSwgRm9yVGV4dFN0eWxlIH07CisgICAgZW51bSBjbGFzcyBD
bGllbnRVc2UgeworICAgICAgICBGb3JTeXN0ZW1VSSwKKyAgICAgICAgRm9yU3lzdGVtVUlTZXJp
ZiwKKyAgICAgICAgRm9yU3lzdGVtVUlNb25vc3BhY2VkLAorICAgICAgICBGb3JTeXN0ZW1VSVJv
dW5kZWQsCisgICAgICAgIEZvclRleHRTdHlsZQorICAgIH07CiAKLSAgICBWZWN0b3I8UmV0YWlu
UHRyPENURm9udERlc2NyaXB0b3JSZWY+PiBjYXNjYWRlTGlzdChjb25zdCBGb250Q2FzY2FkZURl
c2NyaXB0aW9uJiwgY29uc3QgQXRvbVN0cmluZyYgY3NzRmFtaWx5LCBDbGllbnRVc2UsIEFsbG93
VXNlckluc3RhbGxlZEZvbnRzKTsKKyAgICBWZWN0b3I8UmV0YWluUHRyPENURm9udERlc2NyaXB0
b3JSZWY+PiBjYXNjYWRlTGlzdChjb25zdCBGb250RGVzY3JpcHRpb24mLCBjb25zdCBBdG9tU3Ry
aW5nJiBjc3NGYW1pbHksIENsaWVudFVzZSwgQWxsb3dVc2VySW5zdGFsbGVkRm9udHMpOwogCiAg
ICAgU3RyaW5nIHNlcmlmRmFtaWx5KGNvbnN0IFN0cmluZyYgbG9jYWxlKTsKICAgICBTdHJpbmcg
c2Fuc1NlcmlmRmFtaWx5KGNvbnN0IFN0cmluZyYgbG9jYWxlKTsKQEAgLTExMywxMCArMTE5LDE0
IEBAIHByaXZhdGU6CiAKICAgICBWZWN0b3I8UmV0YWluUHRyPENURm9udERlc2NyaXB0b3JSZWY+
PiBjYXNjYWRlTGlzdChjb25zdCBDYXNjYWRlTGlzdFBhcmFtZXRlcnMmLCBDbGllbnRVc2UpOwog
Ci0gICAgc3RhdGljIFJldGFpblB0cjxDVEZvbnRSZWY+IGFwcGx5V2VpZ2h0SXRhbGljc0FuZEZh
bGxiYWNrQmVoYXZpb3IoQ1RGb250UmVmLCBDR0Zsb2F0IHdlaWdodCwgYm9vbCBpdGFsaWMsIGZs
b2F0IHNpemUsIEFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKKyAgICBSZXRhaW5QdHI8Q1RGb250
UmVmPiBjcmVhdGVTeXN0ZW1VSShjb25zdCBDYXNjYWRlTGlzdFBhcmFtZXRlcnMmLCBDRlN0cmlu
Z1JlZiBsb2NhbGUpOworICAgIFJldGFpblB0cjxDVEZvbnRSZWY+IGNyZWF0ZURlc2lnblN5c3Rl
bVVJKENsaWVudFVzZSwgY29uc3QgQ2FzY2FkZUxpc3RQYXJhbWV0ZXJzJik7CisgICAgUmV0YWlu
UHRyPENURm9udFJlZj4gY3JlYXRlVGV4dFN0eWxlKGNvbnN0IENhc2NhZGVMaXN0UGFyYW1ldGVy
cyYpOworCisgICAgc3RhdGljIFJldGFpblB0cjxDVEZvbnRSZWY+IGFwcGx5V2VpZ2h0SXRhbGlj
c0FuZEZhbGxiYWNrQmVoYXZpb3IoQ1RGb250UmVmLCBDR0Zsb2F0IHdlaWdodCwgYm9vbCBpdGFs
aWMsIGZsb2F0IHNpemUsIEFsbG93VXNlckluc3RhbGxlZEZvbnRzLCBDRlN0cmluZ1JlZiBkZXNp
Z24gPSBudWxscHRyKTsKICAgICBzdGF0aWMgUmV0YWluUHRyPENURm9udERlc2NyaXB0b3JSZWY+
IHJlbW92ZUNhc2NhZGVMaXN0KENURm9udERlc2NyaXB0b3JSZWYpOwogICAgIHN0YXRpYyBWZWN0
b3I8UmV0YWluUHRyPENURm9udERlc2NyaXB0b3JSZWY+PiBjb21wdXRlQ2FzY2FkZUxpc3QoQ1RG
b250UmVmLCBDRlN0cmluZ1JlZiBsb2NhbGUpOwotICAgIHN0YXRpYyBDYXNjYWRlTGlzdFBhcmFt
ZXRlcnMgc3lzdGVtRm9udFBhcmFtZXRlcnMoY29uc3QgRm9udENhc2NhZGVEZXNjcmlwdGlvbiYs
IGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseU5hbWUsIENsaWVudFVzZSwgQWxsb3dVc2VySW5zdGFs
bGVkRm9udHMpOworICAgIHN0YXRpYyBDYXNjYWRlTGlzdFBhcmFtZXRlcnMgc3lzdGVtRm9udFBh
cmFtZXRlcnMoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5
TmFtZSwgQ2xpZW50VXNlLCBBbGxvd1VzZXJJbnN0YWxsZWRGb250cyk7CiAKICAgICBIYXNoTWFw
PENhc2NhZGVMaXN0UGFyYW1ldGVycywgVmVjdG9yPFJldGFpblB0cjxDVEZvbnREZXNjcmlwdG9y
UmVmPj4sIENhc2NhZGVMaXN0UGFyYW1ldGVyczo6Q2FzY2FkZUxpc3RQYXJhbWV0ZXJzSGFzaCwg
U2ltcGxlQ2xhc3NIYXNoVHJhaXRzPENhc2NhZGVMaXN0UGFyYW1ldGVycz4+IG1fc3lzdGVtRm9u
dENhY2hlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9p
b3MvRm9udENhY2hlSU9TLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaW9z
L0ZvbnRDYWNoZUlPUy5tbQppbmRleCA4YmEzOTYwYjM4N2UzM2RjYmU5OTQyYzQ0ZTZhYjUyYTcw
ZmE3NTM3Li5jMzU3MGMxZDdmY2RhOGI5NmJkYjYyNzkyNmVjYzcyZmY1NzM2ZWUzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pb3MvRm9udENhY2hlSU9TLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lvcy9Gb250Q2FjaGVJT1Mu
bW0KQEAgLTMzLDYgKzMzLDcgQEAKIAogI2ltcG9ydCAiRm9udENhc2NhZGUuaCIKICNpbXBvcnQg
IlJlbmRlclRoZW1lSU9TLmgiCisjaW1wb3J0ICJTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dC5o
IgogI2ltcG9ydCA8cGFsL3NwaS9jZy9Db3JlR3JhcGhpY3NTUEkuaD4KICNpbXBvcnQgPHBhbC9z
cGkvY29jb2EvQ29yZVRleHRTUEkuaD4KICNpbXBvcnQgPHd0Zi9IYXNoU2V0Lmg+CkBAIC0xMjgs
OSArMTI5LDExIEBAIHN0YXRpYyBSZXRhaW5QdHI8Q1RGb250RGVzY3JpcHRvclJlZj4gc3lzdGVt
Rm9udERlc2NyaXB0b3IoRm9udFNlbGVjdGlvblZhbHVlIHdlCiAgICAgcmV0dXJuIGFkb3B0Q0Yo
Q1RGb250RGVzY3JpcHRvckNyZWF0ZUNvcHlXaXRoQXR0cmlidXRlcyhmb250RGVzY3JpcHRvci5n
ZXQoKSwgc3RhdGljX2Nhc3Q8Q0ZEaWN0aW9uYXJ5UmVmPihhdHRyaWJ1dGVzLmdldCgpKSkpOwog
fQogCi1SZXRhaW5QdHI8Q1RGb250UmVmPiBwbGF0Zm9ybUZvbnRXaXRoRmFtaWx5U3BlY2lhbENh
c2UoY29uc3QgQXRvbVN0cmluZyYgZmFtaWx5LCBGb250U2VsZWN0aW9uUmVxdWVzdCByZXF1ZXN0
LCBmbG9hdCBzaXplLCBBbGxvd1VzZXJJbnN0YWxsZWRGb250cyBhbGxvd1VzZXJJbnN0YWxsZWRG
b250cykKK1JldGFpblB0cjxDVEZvbnRSZWY+IHBsYXRmb3JtRm9udFdpdGhGYW1pbHlTcGVjaWFs
Q2FzZShjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9u
dERlc2NyaXB0aW9uLCBmbG9hdCBzaXplLCBBbGxvd1VzZXJJbnN0YWxsZWRGb250cyBhbGxvd1Vz
ZXJJbnN0YWxsZWRGb250cykKIHsKICAgICAvLyBGSVhNRTogU2VlIGNvbW1lbnQgaW4gRm9udENh
c2NhZGVEZXNjcmlwdGlvbjo6ZWZmZWN0aXZlRmFtaWx5QXQoKSBpbiBGb250RGVzY3JpcHRpb25D
b2NvYS5jcHAKKyAgICBjb25zdCBhdXRvJiByZXF1ZXN0ID0gZm9udERlc2NyaXB0aW9uLmZvbnRT
ZWxlY3Rpb25SZXF1ZXN0KCk7CisKICAgICBpZiAoZmFtaWx5LnN0YXJ0c1dpdGgoIlVJQ1RGb250
VGV4dFN0eWxlIikpIHsKICAgICAgICAgQ1RGb250U3ltYm9saWNUcmFpdHMgdHJhaXRzID0gKGlz
Rm9udFdlaWdodEJvbGQocmVxdWVzdC53ZWlnaHQpIHx8IEZvbnRDYWNoZTo6c2luZ2xldG9uKCku
c2hvdWxkTW9ja0JvbGRTeXN0ZW1Gb250Rm9yQWNjZXNzaWJpbGl0eSgpID8ga0NURm9udFRyYWl0
Qm9sZCA6IDApIHwgKGlzSXRhbGljKHJlcXVlc3Quc2xvcGUpID8ga0NURm9udFRyYWl0SXRhbGlj
IDogMCk7CiAgICAgICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gZmFtaWx5TmFtZVN0ciA9IGZh
bWlseS5zdHJpbmcoKS5jcmVhdGVDRlN0cmluZygpOwpAQCAtMTQwLDExICsxNDMsMzAgQEAgUmV0
YWluUHRyPENURm9udFJlZj4gcGxhdGZvcm1Gb250V2l0aEZhbWlseVNwZWNpYWxDYXNlKGNvbnN0
IEF0b21TdHJpbmcmIGZhbWlseSwKICAgICAgICAgcmV0dXJuIGNyZWF0ZUZvbnRGb3JJbnN0YWxs
ZWRGb250cyhmb250RGVzY3JpcHRvci5nZXQoKSwgc2l6ZSwgYWxsb3dVc2VySW5zdGFsbGVkRm9u
dHMpOwogICAgIH0KIAorICAgIC8vIEZJWE1FOiBNaWdyYXRlIHRoaXMgdG8gdXNlIFN5c3RlbUZv
bnREYXRhYmFzZUNvcmVUZXh0IGxpa2UgdGhlIGRlc2lnbiBzeXN0ZW0tdWkgYmxvY2sgYmVsb3cu
CiAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGZhbWlseSwgIi13ZWJraXQt
c3lzdGVtLWZvbnQiKSB8fCBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShmYW1pbHksICIt
YXBwbGUtc3lzdGVtIikgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZmFtaWx5LCAi
LWFwcGxlLXN5c3RlbS1mb250IikgfHwgZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZmFt
aWx5LCAic3lzdGVtLXVpIikpIHsKICAgICAgICAgYXV0byBmb250RGVzY3JpcHRvciA9IHN5c3Rl
bUZvbnREZXNjcmlwdG9yKHJlcXVlc3Qud2VpZ2h0LCBpc0ZvbnRXZWlnaHRCb2xkKHJlcXVlc3Qu
d2VpZ2h0KSwgaXNJdGFsaWMocmVxdWVzdC5zbG9wZSksIHNpemUpOwogICAgICAgICByZXR1cm4g
Y3JlYXRlRm9udEZvckluc3RhbGxlZEZvbnRzKGZvbnREZXNjcmlwdG9yLmdldCgpLCBzaXplLCBh
bGxvd1VzZXJJbnN0YWxsZWRGb250cyk7CiAgICAgfQogCisjaWYgSEFWRShERVNJR05fU1lTVEVN
X1VJX0ZPTlRTKQorICAgIGlmIChmb250RGVzY3JpcHRpb24uc2hvdWxkQWxsb3dEZXNpZ25TeXN0
ZW1VSUZvbnRzKCkpIHsKKyAgICAgICAgT3B0aW9uYWw8U3lzdGVtRm9udERhdGFiYXNlQ29yZVRl
eHQ6OkNsaWVudFVzZT4gZGVzaWduU3lzdGVtVUk7CisgICAgICAgIGlmIChlcXVhbExldHRlcnNJ
Z25vcmluZ0FTQ0lJQ2FzZShmYW1pbHksICItYXBwbGUtc3lzdGVtLXVpLXNlcmlmIikpCisgICAg
ICAgICAgICBkZXNpZ25TeXN0ZW1VSSA9IFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0OjpDbGll
bnRVc2U6OkZvclN5c3RlbVVJU2VyaWY7CisgICAgICAgIGVsc2UgaWYgKGVxdWFsTGV0dGVyc0ln
bm9yaW5nQVNDSUlDYXNlKGZhbWlseSwgIi1hcHBsZS1zeXN0ZW0tdWktbW9ub3NwYWNlZCIpKQor
ICAgICAgICAgICAgZGVzaWduU3lzdGVtVUkgPSBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6
Q2xpZW50VXNlOjpGb3JTeXN0ZW1VSU1vbm9zcGFjZWQ7CisgICAgICAgIGVsc2UgaWYgKGVxdWFs
TGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGZhbWlseSwgIi1hcHBsZS1zeXN0ZW0tdWktcm91bmRl
ZCIpKQorICAgICAgICAgICAgZGVzaWduU3lzdGVtVUkgPSBTeXN0ZW1Gb250RGF0YWJhc2VDb3Jl
VGV4dDo6Q2xpZW50VXNlOjpGb3JTeXN0ZW1VSVJvdW5kZWQ7CisKKyAgICAgICAgaWYgKGRlc2ln
blN5c3RlbVVJKSB7CisgICAgICAgICAgICBhdXRvIGNhc2NhZGVMaXN0ID0gU3lzdGVtRm9udERh
dGFiYXNlQ29yZVRleHQ6OnNpbmdsZXRvbigpLmNhc2NhZGVMaXN0KGZvbnREZXNjcmlwdGlvbiwg
ZmFtaWx5LCAqZGVzaWduU3lzdGVtVUksIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKKyAgICAg
ICAgICAgIGlmICghY2FzY2FkZUxpc3QuaXNFbXB0eSgpKQorICAgICAgICAgICAgICAgIHJldHVy
biBjcmVhdGVGb250Rm9ySW5zdGFsbGVkRm9udHMoY2FzY2FkZUxpc3RbMF0uZ2V0KCksIHNpemUs
IGFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKKyAgICAgICAgfQorICAgIH0KKyNlbmRpZgorCiAg
ICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGZhbWlseSwgIi1hcHBsZS1zeXN0
ZW0tbW9ub3NwYWNlZC1udW1iZXJzIikpIHsKICAgICAgICAgUmV0YWluUHRyPENURm9udERlc2Ny
aXB0b3JSZWY+IHN5c3RlbUZvbnREZXNjcmlwdG9yID0gYWRvcHRDRihDVEZvbnREZXNjcmlwdG9y
Q3JlYXRlRm9yVUlUeXBlKGtDVEZvbnRVSUZvbnRTeXN0ZW0sIHNpemUsIG51bGxwdHIpKTsKICAg
ICAgICAgUmV0YWluUHRyPENURm9udERlc2NyaXB0b3JSZWY+IG1vbm9zcGFjZUZvbnREZXNjcmlw
dG9yID0gYWRvcHRDRihDVEZvbnREZXNjcmlwdG9yQ3JlYXRlQ29weVdpdGhGZWF0dXJlKHN5c3Rl
bUZvbnREZXNjcmlwdG9yLmdldCgpLCAoQ0ZOdW1iZXJSZWYpQChrTnVtYmVyU3BhY2luZ1R5cGUp
LCAoQ0ZOdW1iZXJSZWYpQChrTW9ub3NwYWNlZE51bWJlcnNTZWxlY3RvcikpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q2FjaGVNYWMubW0g
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udENhY2hlTWFjLm1tCmlu
ZGV4IGIzZGNkY2M3ZmI1NjU4YjQ2MTBmZDIxNWMzN2ZlY2NlMGZlM2UwOGMuLmEwNWU0MTI3YTNj
MjI0MGY0ODQ2ZTg4MjQ2MzhlMGZkZTkxZGZkMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q2FjaGVNYWMubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDYWNoZU1hYy5tbQpAQCAtMzMsNiArMzMsNyBA
QAogI2ltcG9ydCAiRm9udC5oIgogI2ltcG9ydCAiRm9udENhc2NhZGUuaCIKICNpbXBvcnQgIkZv
bnRQbGF0Zm9ybURhdGEuaCIKKyNpbXBvcnQgIlN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0Lmgi
CiAjaW1wb3J0IDxwYWwvc3BpL2NnL0NvcmVHcmFwaGljc1NQSS5oPgogI2ltcG9ydCA8cGFsL3Nw
aS9jb2NvYS9Db3JlVGV4dFNQSS5oPgogCkBAIC03Myw5ICs3NCwxMiBAQCBzdGF0aWMgQ0dGbG9h
dCB0b05TRm9udFdlaWdodChGb250U2VsZWN0aW9uVmFsdWUgZm9udFdlaWdodCkKICAgICByZXR1
cm4gTlNGb250V2VpZ2h0QmxhY2s7CiB9CiAKLVJldGFpblB0cjxDVEZvbnRSZWY+IHBsYXRmb3Jt
Rm9udFdpdGhGYW1pbHlTcGVjaWFsQ2FzZShjb25zdCBBdG9tU3RyaW5nJiBmYW1pbHksIEZvbnRT
ZWxlY3Rpb25SZXF1ZXN0IHJlcXVlc3QsIGZsb2F0IHNpemUsIEFsbG93VXNlckluc3RhbGxlZEZv
bnRzIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKQorUmV0YWluUHRyPENURm9udFJlZj4gcGxhdGZv
cm1Gb250V2l0aEZhbWlseVNwZWNpYWxDYXNlKGNvbnN0IEF0b21TdHJpbmcmIGZhbWlseSwgY29u
c3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24sIGZsb2F0IHNpemUsIEFsbG93VXNl
ckluc3RhbGxlZEZvbnRzIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKQogewogICAgIC8vIEZJWE1F
OiBTZWUgY29tbWVudCBpbiBGb250Q2FzY2FkZURlc2NyaXB0aW9uOjplZmZlY3RpdmVGYW1pbHlB
dCgpIGluIEZvbnREZXNjcmlwdGlvbkNvY29hLmNwcAorICAgIGNvbnN0IGF1dG8mIHJlcXVlc3Qg
PSBmb250RGVzY3JpcHRpb24uZm9udFNlbGVjdGlvblJlcXVlc3QoKTsKKworICAgIC8vIEZJWE1F
OiBNaWdyYXRlIHRoaXMgdG8gdXNlIFN5c3RlbUZvbnREYXRhYmFzZUNvcmVUZXh0IGxpa2UgdGhl
IGRlc2lnbiBzeXN0ZW0tdWkgYmxvY2sgYmVsb3cuCiAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKGZhbWlseSwgIi13ZWJraXQtc3lzdGVtLWZvbnQiKSB8fCBlcXVhbExldHRl
cnNJZ25vcmluZ0FTQ0lJQ2FzZShmYW1pbHksICItYXBwbGUtc3lzdGVtIikgfHwgZXF1YWxMZXR0
ZXJzSWdub3JpbmdBU0NJSUNhc2UoZmFtaWx5LCAiLWFwcGxlLXN5c3RlbS1mb250IikgfHwgZXF1
YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZmFtaWx5LCAic3lzdGVtLXVpIikpIHsKICAgICAg
ICAgUmV0YWluUHRyPENURm9udFJlZj4gcmVzdWx0ID0gdG9DVEZvbnQoW05TRm9udCBzeXN0ZW1G
b250T2ZTaXplOnNpemUgd2VpZ2h0OnRvTlNGb250V2VpZ2h0KHJlcXVlc3Qud2VpZ2h0KV0pOwog
ICAgICAgICBpZiAoaXNJdGFsaWMocmVxdWVzdC5zbG9wZSkpIHsKQEAgLTg4LDYgKzkyLDI0IEBA
IFJldGFpblB0cjxDVEZvbnRSZWY+IHBsYXRmb3JtRm9udFdpdGhGYW1pbHlTcGVjaWFsQ2FzZShj
b25zdCBBdG9tU3RyaW5nJiBmYW1pbHksCiAgICAgICAgIHJldHVybiBjcmVhdGVGb250Rm9ySW5z
dGFsbGVkRm9udHMocmVzdWx0LmdldCgpLCBhbGxvd1VzZXJJbnN0YWxsZWRGb250cyk7CiAgICAg
fQogCisjaWYgSEFWRShERVNJR05fU1lTVEVNX1VJX0ZPTlRTKQorICAgIGlmIChmb250RGVzY3Jp
cHRpb24uc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKCkpIHsKKyAgICAgICAgT3B0aW9u
YWw8U3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OkNsaWVudFVzZT4gZGVzaWduU3lzdGVtVUk7
CisgICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShmYW1pbHksICItYXBw
bGUtc3lzdGVtLXVpLXNlcmlmIikpCisgICAgICAgICAgICBkZXNpZ25TeXN0ZW1VSSA9IFN5c3Rl
bUZvbnREYXRhYmFzZUNvcmVUZXh0OjpDbGllbnRVc2U6OkZvclN5c3RlbVVJU2VyaWY7CisgICAg
ICAgIGVsc2UgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGZhbWlseSwgIi1hcHBs
ZS1zeXN0ZW0tdWktbW9ub3NwYWNlZCIpKQorICAgICAgICAgICAgZGVzaWduU3lzdGVtVUkgPSBT
eXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6Q2xpZW50VXNlOjpGb3JTeXN0ZW1VSU1vbm9zcGFj
ZWQ7CisgICAgICAgIGVsc2UgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGZhbWls
eSwgIi1hcHBsZS1zeXN0ZW0tdWktcm91bmRlZCIpKQorICAgICAgICAgICAgZGVzaWduU3lzdGVt
VUkgPSBTeXN0ZW1Gb250RGF0YWJhc2VDb3JlVGV4dDo6Q2xpZW50VXNlOjpGb3JTeXN0ZW1VSVJv
dW5kZWQ7CisKKyAgICAgICAgaWYgKGRlc2lnblN5c3RlbVVJKSB7CisgICAgICAgICAgICBhdXRv
IGNhc2NhZGVMaXN0ID0gU3lzdGVtRm9udERhdGFiYXNlQ29yZVRleHQ6OnNpbmdsZXRvbigpLmNh
c2NhZGVMaXN0KGZvbnREZXNjcmlwdGlvbiwgZmFtaWx5LCAqZGVzaWduU3lzdGVtVUksIGFsbG93
VXNlckluc3RhbGxlZEZvbnRzKTsKKyAgICAgICAgICAgIGlmICghY2FzY2FkZUxpc3QuaXNFbXB0
eSgpKQorICAgICAgICAgICAgICAgIHJldHVybiBjcmVhdGVGb250Rm9ySW5zdGFsbGVkRm9udHMo
Y2FzY2FkZUxpc3RbMF0uZ2V0KCksIHNpemUsIGFsbG93VXNlckluc3RhbGxlZEZvbnRzKTsKKyAg
ICAgICAgfQorICAgIH0KKyNlbmRpZgorCiAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVND
SUlDYXNlKGZhbWlseSwgIi1hcHBsZS1zeXN0ZW0tbW9ub3NwYWNlZC1udW1iZXJzIikpIHsKICAg
ICAgICAgaW50IG51bWJlclNwYWNpbmdUeXBlID0ga051bWJlclNwYWNpbmdUeXBlOwogICAgICAg
ICBpbnQgbW9ub3NwYWNlZE51bWJlcnNTZWxlY3RvciA9IGtNb25vc3BhY2VkTnVtYmVyc1NlbGVj
dG9yOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZlRm9yRG9j
dW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVSZXNvbHZlRm9yRG9jdW1lbnQu
Y3BwCmluZGV4IDBlNDNkNDE3YWNlZWYzZTdhZGE2ODk2NmMzYTA3YzA1YzkwNGEyM2IuLmRkZTg4
MTgyOWQyZDZjY2U2NWZiNDZmNTJiYzEwNDBiODA1NzQ4ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N0eWxlL1N0eWxlUmVzb2x2ZUZvckRvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZVJlc29sdmVGb3JEb2N1bWVudC5jcHAKQEAgLTExMCw2ICsxMTAsNyBA
QCBSZW5kZXJTdHlsZSByZXNvbHZlRm9yRG9jdW1lbnQoY29uc3QgRG9jdW1lbnQmIGRvY3VtZW50
KQogICAgIGZvbnREZXNjcmlwdGlvbi5zZXRSZW5kZXJpbmdNb2RlKHNldHRpbmdzLmZvbnRSZW5k
ZXJpbmdNb2RlKCkpOwogICAgIGZvbnREZXNjcmlwdGlvbi5zZXRPbmVGYW1pbHkoc3RhbmRhcmRG
YW1pbHkpOwogICAgIGZvbnREZXNjcmlwdGlvbi5zZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRG
b250cyhzZXR0aW5ncy5zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cygpID8gQWxsb3dVc2Vy
SW5zdGFsbGVkRm9udHM6OlllcyA6IEFsbG93VXNlckluc3RhbGxlZEZvbnRzOjpObyk7CisgICAg
Zm9udERlc2NyaXB0aW9uLnNldFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyhzZXR0aW5n
cy5zaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMoKSk7CiAKICAgICBmb250RGVzY3JpcHRp
b24uc2V0S2V5d29yZFNpemVGcm9tSWRlbnRpZmllcihDU1NWYWx1ZU1lZGl1bSk7CiAgICAgaW50
IHNpemUgPSBmb250U2l6ZUZvcktleXdvcmQoQ1NTVmFsdWVNZWRpdW0sIGZhbHNlLCBkb2N1bWVu
dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcAppbmRleCBiMmRiMWE2
ZGI4OTk2MGY5NzU3NjYyZDg5ZTUwY2FjYmVkOTc0M2IyLi5iM2YyMmNiMTgzN2U4M2E1ZTdiMjZj
NjEwYTU3ZGEzOWFiZDM1YWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhp
Y3MvU1ZHSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFn
ZS5jcHAKQEAgLTQ3MSw2ICs0NzEsNyBAQCBFbmNvZGVkRGF0YVN0YXR1cyBTVkdJbWFnZTo6ZGF0
YUNoYW5nZWQoYm9vbCBhbGxEYXRhUmVjZWl2ZWQpCiAgICAgICAgIG1fcGFnZS0+c2V0dGluZ3Mo
KS5zZXRQbHVnaW5zRW5hYmxlZChmYWxzZSk7CiAgICAgICAgIG1fcGFnZS0+c2V0dGluZ3MoKS5z
ZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZChmYWxzZSk7CiAgICAgICAgIG1fcGFnZS0+
c2V0dGluZ3MoKS5zZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyhmYWxzZSk7CisgICAg
ICAgIG1fcGFnZS0+c2V0dGluZ3MoKS5zZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMo
ZmFsc2UpOwogCiAgICAgICAgIEZyYW1lJiBmcmFtZSA9IG1fcGFnZS0+bWFpbkZyYW1lKCk7CiAg
ICAgICAgIGZyYW1lLnNldFZpZXcoRnJhbWVWaWV3OjpjcmVhdGUoZnJhbWUpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCmluZGV4IGMxMTMxZDI1YjM4OGJi
YTgzNjY1M2QyOTcwOGU2YTViYmU0YmRmYzQuLjJlMzJlODEyOGZkMWE0ZWMxNTJmODgxYjA5OTIy
M2I2OTk2M2U3YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxT
ZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmNwcApAQCAtODUsNiArODUsNyBAQCBJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1cChT
ZXR0aW5ncyYgc2V0dGluZ3MpCiAgICAgLCBtX3Nob3VsZENvbnZlcnRQb3NpdGlvblN0eWxlT25D
b3B5KHNldHRpbmdzLnNob3VsZENvbnZlcnRQb3NpdGlvblN0eWxlT25Db3B5KCkpCiAgICAgLCBt
X2ZvbnRGYWxsYmFja1ByZWZlcnNQaWN0b2dyYXBocyhzZXR0aW5ncy5mb250RmFsbGJhY2tQcmVm
ZXJzUGljdG9ncmFwaHMoKSkKICAgICAsIG1fc2hvdWxkSWdub3JlRm9udExvYWRDb21wbGV0aW9u
cyhzZXR0aW5ncy5zaG91bGRJZ25vcmVGb250TG9hZENvbXBsZXRpb25zKCkpCisgICAgLCBtX3No
b3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyhzZXR0aW5ncy5zaG91bGRBbGxvd0Rlc2lnblN5
c3RlbVVJRm9udHMoKSkKICAgICAsIG1fYmFja2dyb3VuZFNob3VsZEV4dGVuZEJleW9uZFBhZ2Uo
c2V0dGluZ3MuYmFja2dyb3VuZFNob3VsZEV4dGVuZEJleW9uZFBhZ2UoKSkKICAgICAsIG1fc3Rv
cmFnZUJsb2NraW5nUG9saWN5KHNldHRpbmdzLnN0b3JhZ2VCbG9ja2luZ1BvbGljeSgpKQogICAg
ICwgbV9zY3JvbGxpbmdUcmVlSW5jbHVkZXNGcmFtZXMoc2V0dGluZ3Muc2Nyb2xsaW5nVHJlZUlu
Y2x1ZGVzRnJhbWVzKCkpCkBAIC0xODQsNiArMTg1LDcgQEAgdm9pZCBJbnRlcm5hbFNldHRpbmdz
OjpCYWNrdXA6OnJlc3RvcmVUbyhTZXR0aW5ncyYgc2V0dGluZ3MpCiAgICAgc2V0dGluZ3Muc2V0
U2hvdWxkQ29udmVydFBvc2l0aW9uU3R5bGVPbkNvcHkobV9zaG91bGRDb252ZXJ0UG9zaXRpb25T
dHlsZU9uQ29weSk7CiAgICAgc2V0dGluZ3Muc2V0Rm9udEZhbGxiYWNrUHJlZmVyc1BpY3RvZ3Jh
cGhzKG1fZm9udEZhbGxiYWNrUHJlZmVyc1BpY3RvZ3JhcGhzKTsKICAgICBzZXR0aW5ncy5zZXRT
aG91bGRJZ25vcmVGb250TG9hZENvbXBsZXRpb25zKG1fc2hvdWxkSWdub3JlRm9udExvYWRDb21w
bGV0aW9ucyk7CisgICAgc2V0dGluZ3Muc2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRz
KG1fc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKTsKICAgICBzZXR0aW5ncy5zZXRCYWNr
Z3JvdW5kU2hvdWxkRXh0ZW5kQmV5b25kUGFnZShtX2JhY2tncm91bmRTaG91bGRFeHRlbmRCZXlv
bmRQYWdlKTsKICAgICBzZXR0aW5ncy5zZXRTdG9yYWdlQmxvY2tpbmdQb2xpY3kobV9zdG9yYWdl
QmxvY2tpbmdQb2xpY3kpOwogICAgIHNldHRpbmdzLnNldFNjcm9sbGluZ1RyZWVJbmNsdWRlc0Zy
YW1lcyhtX3Njcm9sbGluZ1RyZWVJbmNsdWRlc0ZyYW1lcyk7CkBAIC02OTMsNiArNjk1LDE0IEBA
IEV4Y2VwdGlvbk9yPHZvaWQ+IEludGVybmFsU2V0dGluZ3M6OnNldFNob3VsZElnbm9yZUZvbnRM
b2FkQ29tcGxldGlvbnMoYm9vbCBpZ25vCiAgICAgcmV0dXJuIHsgfTsKIH0KIAorRXhjZXB0aW9u
T3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZv
bnRzKGJvb2wgYWxsb3cpCit7CisgICAgaWYgKCFtX3BhZ2UpCisgICAgICAgIHJldHVybiBFeGNl
cHRpb24geyBJbnZhbGlkQWNjZXNzRXJyb3IgfTsKKyAgICBzZXR0aW5ncygpLnNldFNob3VsZEFs
bG93RGVzaWduU3lzdGVtVUlGb250cyhhbGxvdyk7CisgICAgcmV0dXJuIHsgfTsKK30KKwogRXhj
ZXB0aW9uT3I8dm9pZD4gSW50ZXJuYWxTZXR0aW5nczo6c2V0UXVpY2tUaW1lUGx1Z2luUmVwbGFj
ZW1lbnRFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKICAgICBpZiAoIW1fcGFnZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKaW5kZXggNjYyZDhmZWEyOTg2ZDhmNDYw
MmUzZWZlNGJjNWIyYjBhZmY3NzM1ZS4uNWU0ZWJiNDNmOTYzNDFlNTM5MjE3ZmViMGE3Mjc3YzQy
ZjllNTk5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRp
bmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKQEAg
LTg2LDYgKzg2LDcgQEAgcHVibGljOgogICAgIGVudW0gY2xhc3MgRm9udExvYWRUaW1pbmdPdmVy
cmlkZSB7IEJsb2NrLCBTd2FwLCBGYWlsdXJlIH07CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0
Rm9udExvYWRUaW1pbmdPdmVycmlkZShjb25zdCBGb250TG9hZFRpbWluZ092ZXJyaWRlJik7CiAg
ICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0U2hvdWxkSWdub3JlRm9udExvYWRDb21wbGV0aW9ucyhi
b29sKTsKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBzZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJ
Rm9udHMoYm9vbCk7CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2V0UXVpY2tUaW1lUGx1Z2luUmVw
bGFjZW1lbnRFbmFibGVkKGJvb2wpOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNldFlvdVR1YmVG
bGFzaFBsdWdpblJlcGxhY2VtZW50RW5hYmxlZChib29sKTsKICAgICBFeGNlcHRpb25Pcjx2b2lk
PiBzZXRCYWNrZ3JvdW5kU2hvdWxkRXh0ZW5kQmV5b25kUGFnZShib29sKTsKQEAgLTE4NSw2ICsx
ODYsNyBAQCBwcml2YXRlOgogICAgICAgICBib29sIG1fc2hvdWxkQ29udmVydFBvc2l0aW9uU3R5
bGVPbkNvcHk7CiAgICAgICAgIGJvb2wgbV9mb250RmFsbGJhY2tQcmVmZXJzUGljdG9ncmFwaHM7
CiAgICAgICAgIGJvb2wgbV9zaG91bGRJZ25vcmVGb250TG9hZENvbXBsZXRpb25zOworICAgICAg
ICBib29sIG1fc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzOwogICAgICAgICBib29sIG1f
YmFja2dyb3VuZFNob3VsZEV4dGVuZEJleW9uZFBhZ2U7CiAgICAgICAgIFNlY3VyaXR5T3JpZ2lu
OjpTdG9yYWdlQmxvY2tpbmdQb2xpY3kgbV9zdG9yYWdlQmxvY2tpbmdQb2xpY3k7CiAgICAgICAg
IGJvb2wgbV9zY3JvbGxpbmdUcmVlSW5jbHVkZXNGcmFtZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAppbmRleCBlNjNjYzU2MDYyYjNlODFhMGIzNDdkMGY5
Y2VlYjhiZjQyYmU5OGQ2Li5lMzc5ZjhlNjY4MWY1Nzg3MGUxYWY5OTk3ZWIxZDM4YzQxZWUwM2Ex
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKQEAgLTQ2
LDYgKzQ2LDcgQEAgZW51bSBGb250TG9hZFRpbWluZ092ZXJyaWRlIHsgIkJsb2NrIiwgIlN3YXAi
LCAiRmFpbHVyZSIgfTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0Rm9udEZhbGxi
YWNrUHJlZmVyc1BpY3RvZ3JhcGhzKGJvb2xlYW4gcHJlZmVyUGljdG9ncmFwaHMpOwogICAgIFtN
YXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRGb250TG9hZFRpbWluZ092ZXJyaWRlKEZvbnRMb2Fk
VGltaW5nT3ZlcnJpZGUgb3ZlcnJpZGUpOwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBz
ZXRTaG91bGRJZ25vcmVGb250TG9hZENvbXBsZXRpb25zKGJvb2xlYW4gaWdub3JlKTsKKyAgICBb
TWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgc2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRz
KGJvb2xlYW4gaWdub3JlKTsKIAogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBzZXRUZXh0
QXV0b3NpemluZ0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKICAgICBbTWF5VGhyb3dFeGNlcHRp
b25dIHZvaWQgc2V0VGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUobG9uZyB3aWR0aCwg
bG9uZyBoZWlnaHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVy
ZW5jZXMueWFtbCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKaW5k
ZXggNDE3NDY4MWFjZTdkZGY1ZGNmZDk0MzRkZWRiMjEyNjQ0MzFjZWY5OC4uZGZmNTU2OTgwYWY2
ZWU3NDQ1MDgzN2UyMzAyY2I0MmI4MzhiZjBiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQ
cmVmZXJlbmNlcy55YW1sCkBAIC0xMTI2LDYgKzExMjYsMTAgQEAgU2hvdWxkQWxsb3dVc2VySW5z
dGFsbGVkRm9udHM6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiB0cnVlCiAKK1Nob3Vs
ZEFsbG93RGVzaWduU3lzdGVtVUlGb250czoKKyAgdHlwZTogYm9vbAorICBkZWZhdWx0VmFsdWU6
IGZhbHNlCisKIE1lZGlhQ2FwYWJpbGl0aWVzRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZh
dWx0VmFsdWU6IHRydWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
L1dLUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVm
ZXJlbmNlcy5jcHAKaW5kZXggYTAzMTc5OGRlZmJmZDg2MGYxYWFlMjhiMmIyZDYxY2E1ZTIxNTZi
MC4uNDliOThkNjg2MDc2NmI3YTEwMTNiZWI3NmI5MjkxZjQyYjhhZTk1MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKQEAgLTIwMTAsNiAr
MjAxMCwxNiBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRG
b250cyhXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUgogICAgIHJldHVybiB0b0ltcGwocHJl
ZmVyZW5jZXNSZWYpLT5zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cygpOwogfQogCit2b2lk
IFdLUHJlZmVyZW5jZXNTZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMoV0tQcmVmZXJl
bmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKQoreworICAgIHRvSW1wbChwcmVmZXJl
bmNlc1JlZiktPnNldFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyhmbGFnKTsKK30KKwor
Ym9vbCBXS1ByZWZlcmVuY2VzR2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKFdLUHJl
ZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCit7CisgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJl
bmNlc1JlZiktPnNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cygpOworfQorCiB2b2lkIFdL
UHJlZmVyZW5jZXNTZXRNZWRpYUNhcGFiaWxpdGllc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBw
cmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKQogewogICAgIHRvSW1wbChwcmVmZXJlbmNlc1Jl
ZiktPnNldE1lZGlhQ2FwYWJpbGl0aWVzRW5hYmxlZChlbmFibGVkKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCmlu
ZGV4IDVjMzM5OGNiMjc1NGZjYzRjMDVkNTNmMjZlOWQ2YTEzNzliZDg1MGMuLjdiMzA4MzQ4MDdh
ZTc3YmRjZmE4NjJjMjNmMDEyYTliMTljODAyZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaApAQCAtNTcxLDYg
KzU3MSwxMCBAQCBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0Q1NTT01WaWV3U2Nyb2xs
aW5nQVBJRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVy
ZW5jZXNTZXRTaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyhXS1ByZWZlcmVuY2VzUmVmLCBi
b29sIGZsYWcpOwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFNob3VsZEFsbG93VXNl
ckluc3RhbGxlZEZvbnRzKFdLUHJlZmVyZW5jZXNSZWYpOwogCisvLyBEZWZhdWx0cyB0byBmYWxz
ZS4KK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRTaG91bGRBbGxvd0Rlc2lnblN5c3Rl
bVVJRm9udHMoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKK1dLX0VYUE9SVCBib29sIFdL
UHJlZmVyZW5jZXNHZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMoV0tQcmVmZXJlbmNl
c1JlZik7CisKIC8vIERlZmF1bHRzIHRvIGZhbHNlLgogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJl
bmNlc1NldEFsbG93Q3Jvc3NPcmlnaW5TdWJyZXNvdXJjZXNUb0Fza0ZvckNyZWRlbnRpYWxzKFdL
UHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2Vz
R2V0QWxsb3dDcm9zc09yaWdpblN1YnJlc291cmNlc1RvQXNrRm9yQ3JlZGVudGlhbHMoV0tQcmVm
ZXJlbmNlc1JlZik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1ByZWZlcmVuY2VzLm1tCmluZGV4IGUwNmY0N2U0MjFmMDE3YTVhNGM3ZTFlNmM3MGE4MTIwODU1
MjFkZjkuLjg1YzJhYjc1MGQ2NTA5OWM5ZTY0M2VkMDkwYzkyN2ViZjkxMTE1NzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzLm1tCkBA
IC03MTMsNiArNzEzLDE2IEBAIC0gKHZvaWQpX3NldFNob3VsZEFsbG93VXNlckluc3RhbGxlZEZv
bnRzOihCT09MKV9zaG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cwogICAgIF9wcmVmZXJlbmNl
cy0+c2V0U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHMoX3Nob3VsZEFsbG93VXNlckluc3Rh
bGxlZEZvbnRzKTsKIH0KIAorLSAoQk9PTClfc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRz
Cit7CisgICAgcmV0dXJuIF9wcmVmZXJlbmNlcy0+c2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZv
bnRzKCk7Cit9CisKKy0gKHZvaWQpX3NldFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250czoo
Qk9PTClfc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzCit7CisgICAgX3ByZWZlcmVuY2Vz
LT5zZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMoX3Nob3VsZEFsbG93RGVzaWduU3lz
dGVtVUlGb250cyk7Cit9CisKIHN0YXRpYyBfV0tFZGl0YWJsZUxpbmtCZWhhdmlvciB0b0FQSShX
ZWJDb3JlOjpFZGl0YWJsZUxpbmtCZWhhdmlvciBiZWhhdmlvcikKIHsKICAgICBzd2l0Y2ggKGJl
aGF2aW9yKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oCmluZGV4IGVmMTgxOTM2Y2YxMzdlNmUxODY0NzE0OGY5
MTcyZWI5MjkyYzllODYuLjM5MDc0MjhhNTJiNjRkOGZhZjc5MDlkNzIyM2QyNGVhMDA5OGY0YmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVu
Y2VzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1By
ZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC0xMjYsNiArMTI2LDcgQEAgdHlwZWRlZiBOU19FTlVNKE5T
SW50ZWdlciwgX1dLRWRpdGFibGVMaW5rQmVoYXZpb3IpIHsKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
LCBzZXR0ZXI9X3NldERPTVBhc3RlQWxsb3dlZDopIEJPT0wgX2RvbVBhc3RlQWxsb3dlZCBXS19B
UElfQVZBSUxBQkxFKG1hY29zKDEwLjEzKSwgaW9zKDExLjApKTsKIAogQHByb3BlcnR5IChub25h
dG9taWMsIHNldHRlcj1fc2V0U2hvdWxkQWxsb3dVc2VySW5zdGFsbGVkRm9udHM6KSBCT09MIF9z
aG91bGRBbGxvd1VzZXJJbnN0YWxsZWRGb250cyBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEz
LjQpLCBpb3MoMTEuMykpOworQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0U2hvdWxk
QWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzOikgQk9PTCBfc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1V
SUZvbnRzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJB
KSk7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEVkaXRhYmxlTGlua0JlaGF2
aW9yOikgX1dLRWRpdGFibGVMaW5rQmVoYXZpb3IgX2VkaXRhYmxlTGlua0JlaGF2aW9yIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3MoMTAuMTMuNCksIGlvcygxMS4zKSk7CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3Y2I4YTI2
ZDAxNzI3NGY0MjJmNmU2OWQxOTY0MzFmMmNjMWRhN2ZmLi4yYTA2NTdiMTE3MjJhNGEwYmEzOTcy
NTZkMmQzMWMxOGI1ZDBhODQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAKKzIwMTktMDctMTEgIE15
bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBOZXcgWW9y
ayBlcnJvbmVvdXNseSBnZXRzIHN5bnRoZXRpYyBib2xkCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTk2NTMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzUxNjkyNTkyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBmYXN0L3RleHQvZGVzaWduLXN5c3Rl
bS11aS0xMC1leHBlY3RlZC1taXNtYXRjaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Rl
eHQvZGVzaWduLXN5c3RlbS11aS0xMC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQv
ZGVzaWduLXN5c3RlbS11aS0xMS1leHBlY3RlZC1taXNtYXRjaC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xMS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xMi1leHBlY3RlZC1taXNtYXRjaC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xMi5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xMy1leHBlY3RlZC1taXNt
YXRjaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0x
My5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xNC1l
eHBlY3RlZC1taXNtYXRjaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvZGVzaWdu
LXN5c3RlbS11aS0xNC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvZGVzaWduLXN5
c3RlbS11aS0xNS1leHBlY3RlZC1taXNtYXRjaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L3RleHQvZGVzaWduLXN5c3RlbS11aS0xNS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3Rl
eHQvZGVzaWduLXN5c3RlbS11aS0xNi1leHBlY3RlZC1taXNtYXRjaC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xNi5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0yLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTIuaHRtbDogQWRkZWQuCisgICAg
ICAgICogZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMy1leHBlY3RlZC1taXNtYXRjaC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0zLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTQtZXhwZWN0ZWQtbWlz
bWF0Y2guaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWkt
NC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS01LWV4
cGVjdGVkLW1pc21hdGNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9kZXNpZ24t
c3lzdGVtLXVpLTUuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2Rlc2lnbi1zeXN0
ZW0tdWktNi1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvZGVzaWdu
LXN5c3RlbS11aS02Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9kZXNpZ24tc3lz
dGVtLXVpLTctZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L2Rlc2ln
bi1zeXN0ZW0tdWktNy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvZGVzaWduLXN5
c3RlbS11aS04LWV4cGVjdGVkLW1pc21hdGNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
dGV4dC9kZXNpZ24tc3lzdGVtLXVpLTguaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0
L2Rlc2lnbi1zeXN0ZW0tdWktOS1leHBlY3RlZC1taXNtYXRjaC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS05Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDE5LTA3LTExICBNaWd1ZWwgR29tZXog
IDxtYWdvbWV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBHVEsrIGdhcmRlbmlu
Zy4gVXBkYXRlIGV4cGVjdGF0aW9ucyBhZnRlciByMjQ3MzQ2LgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggMGFlY2VkNWU2OTZlYTAwMmQzMGI4YzUyODg1MDM1YWYxZjI1NTY3Zi4uYTQzNDYyYmUxMmI3
NTNhMjIxMGJmODIzMjYxY2M3MzRlZDU0N2FhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVz
dEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC0zNDQz
LDMgKzM0NDMsMTEgQEAgd2Via2l0Lm9yZy9iLzE5OTAzOSBlZGl0aW5nL2RlbGV0aW5nL3NtYXJ0
LWRlbGV0ZS1wYXJhZ3JhcGgtMDAzLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xOTkwMjgg
d2ViZ3B1L3dobHNsLXRlc3QtaGFybmVzcy10ZXN0Lmh0bWwgWyBTbG93IF0KIAogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9vZmZzZXRUb3BMZWZ0LWlubGlu
ZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisKKyMgVGhlc2UgdGVzdHMgb25seSB3b3JrIG9u
IHN5c3RlbXMgd2l0aCB0aGUgZGVzaWduIHN5c3RlbSB1aSBmb250cyBpbnN0YWxsZWQuCitmYXN0
L3RleHQvZGVzaWduLXN5c3RlbS11aS0xMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitmYXN0
L3RleHQvZGVzaWduLXN5c3RlbS11aS0xMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitmYXN0
L3RleHQvZGVzaWduLXN5c3RlbS11aS0xMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitmYXN0
L3RleHQvZGVzaWduLXN5c3RlbS11aS0xNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitmYXN0
L3RleHQvZGVzaWduLXN5c3RlbS11aS0xNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitmYXN0
L3RleHQvZGVzaWduLXN5c3RlbS11aS0xNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xMC1leHBlY3Rl
ZC1taXNtYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWkt
MTAtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZDU5YmFlYWMwMjc5OTdhYmE3
NmEwYmUxYzBjMWY1MjE2NGFiNGMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTAtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApAQCAtMCww
ICsxLDIwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYg
KHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTaG91
bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHModHJ1ZSk7Cis8L3NjcmlwdD4KKzxzdHlsZT4KK0Bm
b250LWZhY2UgeworICAgIGZvbnQtZmFtaWx5OiAiQXBwbGVTeXN0ZW1VSVJvdW5kZWQiOworICAg
IHNyYzogbG9jYWwoIi1hcHBsZS1zeXN0ZW0tdWktcm91bmRlZCIpOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsg
Zm9udDogNzJweCAnQXBwbGVTeXN0ZW1VSVJvdW5kZWQnOyBmb250LXN5bnRoZXNpczogbm9uZTsi
PkhlSmxsbzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xMC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTAuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZjZhM2ViNjg1
NGM1MjM1YTNlNzBlZGRlZDAyNDRlNmYwYjM0ZGY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTAuaHRtbApAQCAtMCwwICsxLDIwIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5p
bnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTaG91bGRBbGxvd0Rl
c2lnblN5c3RlbVVJRm9udHModHJ1ZSk7Cis8L3NjcmlwdD4KKzxzdHlsZT4KK0Bmb250LWZhY2Ug
eworICAgIGZvbnQtZmFtaWx5OiAiQXBwbGVTeXN0ZW1VSVJvdW5kZWQiOworICAgIHNyYzogbG9j
YWwoIi1hcHBsZS1zeXN0ZW0tdWktcm91bmRlZCIpOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogYm9s
ZCA3MnB4ICdBcHBsZVN5c3RlbVVJUm91bmRlZCc7IGZvbnQtc3ludGhlc2lzOiBub25lOyI+SGVK
bGxvPC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTExLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xMS1leHBlY3RlZC1taXNt
YXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI1Mzc5NGE3MTE2NDg2ZDE0NmMyNmM1YmJjMmY5ZGIxZjdk
OGUxZDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5
c3RlbS11aS0xMS1leHBlY3RlZC1taXNtYXRjaC5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj4KKzxkaXYg
c3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiA3MnB4OyI+SGVKbGxvPC9k
aXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTExLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQv
ZGVzaWduLXN5c3RlbS11aS0xMS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI0MDNhN2MwZThiZWM2YzUxOTdk
NjU3OGRhZWQ0ZDBmYjUyYzVjOTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3RleHQvZGVzaWduLXN5c3RlbS11aS0xMS5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykK
KyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFNob3VsZEFsbG93RGVzaWduU3lzdGVt
VUlGb250cyh0cnVlKTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PgorPGRpdiBz
dHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiA3MnB4ICctYXBwbGUtc3lzdGVtLXVp
LXNlcmlmJzsiPkhlSmxsbzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xMi1leHBlY3RlZC1t
aXNtYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTIt
ZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNTM3OTRhNzExNjQ4NmQxNDZjMjZj
NWJiYzJmOWRiMWY3ZDhlMWQ4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTItZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApAQCAtMCwwICsx
LDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogNzJw
eDsiPkhlSmxsbzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xMi5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYTM5NjM3
OGY5MzdhYjI0YTQyYmQ1YmU4ZWQ5MmJhYTkzNzViMGUxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTIuaHRtbApAQCAtMCwwICsxLDE0
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRv
dy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTaG91bGRBbGxv
d0Rlc2lnblN5c3RlbVVJRm9udHModHJ1ZSk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogNzJweCAnLWFw
cGxlLXN5c3RlbS11aS1tb25vc3BhY2VkJzsiPkhlSmxsbzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3Rl
bS11aS0xMy1leHBlY3RlZC1taXNtYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rl
c2lnbi1zeXN0ZW0tdWktMTMtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNTM3
OTRhNzExNjQ4NmQxNDZjMjZjNWJiYzJmOWRiMWY3ZDhlMWQ4Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTMtZXhwZWN0ZWQtbWlzbWF0
Y2guaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxv
Y2s7IGZvbnQtc2l6ZTogNzJweDsiPkhlSmxsbzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0x
My5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jNjE0MzkxNWEwNWE3ZDE1MzNmNzA5ZWM3MmY0NTI4NGFiNjVlNmFiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTMu
aHRtbApAQCAtMCwwICsxLDE0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0
aW5ncy5zZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHModHJ1ZSk7Cis8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9j
azsgZm9udDogNzJweCAnLWFwcGxlLXN5c3RlbS11aS1yb3VuZGVkJzsiPkhlSmxsbzwvZGl2Pgor
PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvZGVzaWduLXN5c3RlbS11aS0xNC1leHBlY3RlZC1taXNtYXRjaC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTQtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yNTM3OTRhNzExNjQ4NmQxNDZjMjZjNWJiYzJmOWRiMWY3ZDhlMWQ4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTQt
ZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+Cis8ZGl2IHN0eWxlPSJkaXNw
bGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogNzJweDsiPkhlSmxsbzwvZGl2PgorPC9kaXY+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVz
aWduLXN5c3RlbS11aS0xNC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0
ZW0tdWktMTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNWNhNjZiYzE5ZmI3YWFjNWRmMjkxOGFlNTY2ZTUz
YmZkOTlkMzJhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2ln
bi1zeXN0ZW0tdWktMTQuaHRtbApAQCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHModHJ1
ZSk7Cis8L3NjcmlwdD4KKzxzdHlsZT4KK0Bmb250LWZhY2UgeworICAgIGZvbnQtZmFtaWx5OiAi
QXBwbGVTeXN0ZW1VSVNlcmlmIjsKKyAgICBzcmM6IGxvY2FsKCItYXBwbGUtc3lzdGVtLXVpLXNl
cmlmIik7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PgorPGRpdiBzdHlsZT0i
ZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiA3MnB4ICdBcHBsZVN5c3RlbVVJU2VyaWYnOyI+
SGVKbGxvPC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTE1LWV4cGVjdGVkLW1pc21hdGNoLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xNS1leHBlY3RlZC1t
aXNtYXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI1Mzc5NGE3MTE2NDg2ZDE0NmMyNmM1YmJjMmY5ZGIx
ZjdkOGUxZDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWdu
LXN5c3RlbS11aS0xNS1leHBlY3RlZC1taXNtYXRjaC5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj4KKzxk
aXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiA3MnB4OyI+SGVKbGxv
PC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTE1Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvZGVzaWduLXN5c3RlbS11aS0xNS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJhNmZmZmEwMzQyMGQ5ZjU1
OWFmNDVmNzNhM2I2NTUzZjU3OTQ0NTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0xNS5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFs
cykKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFNob3VsZEFsbG93RGVzaWduU3lz
dGVtVUlGb250cyh0cnVlKTsKKzwvc2NyaXB0PgorPHN0eWxlPgorQGZvbnQtZmFjZSB7CisgICAg
Zm9udC1mYW1pbHk6ICJBcHBsZVN5c3RlbVVJTW9ub3NwYWNlZCI7CisgICAgc3JjOiBsb2NhbCgi
LWFwcGxlLXN5c3RlbS11aS1tb25vc3BhY2VkIik7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiA3MnB4
ICdBcHBsZVN5c3RlbVVJTW9ub3NwYWNlZCc7Ij5IZUpsbG88L2Rpdj4KKzwvZGl2PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0
ZW0tdWktMTYtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9k
ZXNpZ24tc3lzdGVtLXVpLTE2LWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjUz
Nzk0YTcxMTY0ODZkMTQ2YzI2YzViYmMyZjlkYjFmN2Q4ZTFkOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTE2LWV4cGVjdGVkLW1pc21h
dGNoLmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJs
b2NrOyBmb250LXNpemU6IDcycHg7Ij5IZUpsbG88L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWkt
MTYuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTE2Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNzcxZDM4ZGM0ZjZmZDVjOTdiMTZmNDUxNzQ3MWYzOWZhMDZiNzc3MwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTE2
Lmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0
dGluZ3Muc2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKHRydWUpOworPC9zY3JpcHQ+
Cis8c3R5bGU+CitAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogIkFwcGxlU3lzdGVtVUlS
b3VuZGVkIjsKKyAgICBzcmM6IGxvY2FsKCItYXBwbGUtc3lzdGVtLXVpLXJvdW5kZWQiKTsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBp
bmxpbmUtYmxvY2s7IGZvbnQ6IDcycHggJ0FwcGxlU3lzdGVtVUlSb3VuZGVkJzsiPkhlSmxsbzwv
ZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0yLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0yLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWFk
YzM2MjVkYjczZmIzZTEzMWIzZDY2M2I2NmRhM2FkNTgxNDk5OQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTItZXhwZWN0ZWQuaHRtbApA
QCAtMCwwICsxLDIxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5z
ZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHModHJ1ZSk7Cis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCB0aGUgZGVzaWduIHN5c3RlbSBV
SSBmb250cyBkb24ndCB3b3JrIHVubGVzcyB0aGUgc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZv
bnRzIHByZWZlcmVuY2UgaXMgc2V0LiBUaGUgdGVzdCBwYXNzZXMgaWYgYWxsIHRoZSB0ZXh0IGJl
bG93IGlzIGJvbGQuCis8ZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBm
b250OiBib2xkIDcycHggJy1hcHBsZS1zeXN0ZW0tdWktc2VyaWYnOyI+SGVKbGxvPC9kaXY+Cis8
ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJweCAnLWFwcGxl
LXN5c3RlbS11aS1tb25vc3BhY2VkJzsiPkhlSmxsbzwvZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxh
eTogaW5saW5lLWJsb2NrOyBmb250OiBib2xkIDcycHggJy1hcHBsZS1zeXN0ZW0tdWktcm91bmRl
ZCc7Ij5IZUpsbG88L2Rpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9u
dDogYm9sZCA3MnB4ICcuQXBwbGVTeXN0ZW1VSUZvbnRTZXJpZic7Ij5IZUpsbG88L2Rpdj4KKzxk
aXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogYm9sZCA3MnB4ICcuU0YgTlMg
TW9ubyc7Ij5IZUpsbG88L2Rpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsg
Zm9udDogYm9sZCA3MnB4ICcuU0YgVUkgTW9ubyc7Ij5IZUpsbG88L2Rpdj4KKzxkaXYgc3R5bGU9
ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogYm9sZCA3MnB4ICcuQXBwbGVTeXN0ZW1VSUZv
bnRSb3VuZGVkJzsiPkhlSmxsbzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0yLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0yLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NzdmNjZjZGIzZWM5MDYxZDQzOTkyZDI0NmMzMTMwZDg1NmUyYzBmOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTIuaHRtbApAQCAtMCww
ICsxLDIxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYg
KHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTaG91
bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHModHJ1ZSk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCB0aGUgZGVzaWduIHN5c3RlbSBVSSBmb250
cyBkb24ndCB3b3JrIHVubGVzcyB0aGUgc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzIHBy
ZWZlcmVuY2UgaXMgc2V0LiBUaGUgdGVzdCBwYXNzZXMgaWYgYWxsIHRoZSB0ZXh0IGJlbG93IGlz
IGJvbGQuCis8ZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiBi
b2xkIDcycHggJy1hcHBsZS1zeXN0ZW0tdWktc2VyaWYnOyBmb250LXN5bnRoZXNpczogbm9uZTsi
PkhlSmxsbzwvZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiBi
b2xkIDcycHggJy1hcHBsZS1zeXN0ZW0tdWktbW9ub3NwYWNlZCc7IGZvbnQtc3ludGhlc2lzOiBu
b25lOyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZv
bnQ6IGJvbGQgNzJweCAnLWFwcGxlLXN5c3RlbS11aS1yb3VuZGVkJzsgZm9udC1zeW50aGVzaXM6
IG5vbmU7Ij5IZUpsbG88L2Rpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsg
Zm9udDogYm9sZCA3MnB4ICcuQXBwbGVTeXN0ZW1VSUZvbnRTZXJpZic7IGZvbnQtc3ludGhlc2lz
OiBub25lOyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7
IGZvbnQ6IGJvbGQgNzJweCAnLlNGIE5TIE1vbm8nOyBmb250LXN5bnRoZXNpczogbm9uZTsiPkhl
SmxsbzwvZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiBib2xk
IDcycHggJy5TRiBVSSBNb25vJzsgZm9udC1zeW50aGVzaXM6IG5vbmU7Ij5IZUpsbG88L2Rpdj4K
KzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogYm9sZCA3MnB4ICcuQXBw
bGVTeXN0ZW1VSUZvbnRSb3VuZGVkJzsgZm9udC1zeW50aGVzaXM6IG5vbmU7Ij5IZUpsbG88L2Rp
dj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMy1leHBlY3RlZC1taXNtYXRjaC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMy1leHBlY3RlZC1taXNtYXRjaC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjYxNjEzOGY2MzIzYWQ2YTQ2YTM1NjQ3YmE4NDJkYjc4ZmQwNTNlYjQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0z
LWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdp
bmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRz
KHRydWUpOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXY+Cis8ZGl2IHN0eWxlPSJk
aXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IDcycHggJy1hcHBsZS1zeXN0ZW0tdWktc2VyaWYn
OyBmb250LXN5bnRoZXNpczogbm9uZTsiPkhlSmxsbzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11
aS0zLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS0zLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYzUzMzRhNjkyZDFjNmRhMTdmNGZkYjFmYjM4ZjZhMTU4MjhmNmY0NgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTMu
aHRtbApAQCAtMCwwICsxLDE0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0
aW5ncy5zZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHModHJ1ZSk7Cis8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPGRpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9j
azsgZm9udDogYm9sZCA3MnB4ICctYXBwbGUtc3lzdGVtLXVpLXNlcmlmJzsgZm9udC1zeW50aGVz
aXM6IG5vbmU7Ij5IZUpsbG88L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktNC1leHBlY3RlZC1t
aXNtYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktNC1l
eHBlY3RlZC1taXNtYXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjMmU0OGFjZjE2MGYzNDgwMWNhNTIw
ZTA5MDQ5ZDQ2YTk2ZDRlOTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvZGVzaWduLXN5c3RlbS11aS00LWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKQEAgLTAsMCArMSwx
NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5k
b3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U2hvdWxkQWxs
b3dEZXNpZ25TeXN0ZW1VSUZvbnRzKHRydWUpOworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IDcycHggJy1h
cHBsZS1zeXN0ZW0tdWktbW9ub3NwYWNlZCc7IGZvbnQtc3ludGhlc2lzOiBub25lOyI+SGVKbGxv
PC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC9kZXNpZ24tc3lzdGVtLXVpLTQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MzdmMmJhNWRjZWRlMTg3ZjEz
Y2MxNmNiM2Q4N2MzZTYwZmE2OTJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktNC5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykK
KyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFNob3VsZEFsbG93RGVzaWduU3lzdGVt
VUlGb250cyh0cnVlKTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PgorPGRpdiBz
dHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiBib2xkIDcycHggJy1hcHBsZS1zeXN0
ZW0tdWktbW9ub3NwYWNlZCc7IGZvbnQtc3ludGhlc2lzOiBub25lOyI+SGVKbGxvPC9kaXY+Cis8
L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC9kZXNpZ24tc3lzdGVtLXVpLTUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4yMTg2Y2U2YTk5MDAyOGIxNzU3NTM1NzI2MWI3YmUyOGJiMjI2MGFjCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktNS1leHBl
Y3RlZC1taXNtYXRjaC5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykKKyAgICB3aW5kb3cu
aW50ZXJuYWxzLnNldHRpbmdzLnNldFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyh0cnVl
KTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxh
eTogaW5saW5lLWJsb2NrOyBmb250OiA3MnB4ICctYXBwbGUtc3lzdGVtLXVpLXJvdW5kZWQnOyBm
b250LXN5bnRoZXNpczogbm9uZTsiPkhlSmxsbzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS01
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS01Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uY2ZhNmZhZWY2NzU2NjVlYWZiYTA2NTBjNWQ1OGQyZjkzNDFhZjEyMAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTUuaHRt
bApAQCAtMCwwICsxLDE0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5n
cy5zZXRTaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHModHJ1ZSk7Cis8L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsg
Zm9udDogYm9sZCA3MnB4ICctYXBwbGUtc3lzdGVtLXVpLXJvdW5kZWQnOyBmb250LXN5bnRoZXNp
czogbm9uZTsiPkhlSmxsbzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS02LWV4cGVjdGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS02LWV4cGVjdGVkLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYjZjZGFlZDc2YzhmMGMzNDc2MzgzNjMyNWI3ZWYzNGU1NzA5ZmNiYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVp
LTYtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgdGhl
IGRlc2lnbiBzeXN0ZW0gVUkgZm9udHMgZG9uJ3Qgd29yayB1bmxlc3MgdGhlIHNob3VsZEFsbG93
RGVzaWduU3lzdGVtVUlGb250cyBwcmVmZXJlbmNlIGlzIHNldC4gVGhlIHRlc3QgcGFzc2VzIGlm
IGFsbCB0aGUgdGV4dCBiZWxvdyBpcyByZW5kZXJlZCBpbiBUaW1lcy4KKzxkaXY+Cis8ZGl2IHN0
eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogNzJweDsiPkhlSmxsbzwvZGl2
PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDcycHg7Ij5I
ZUpsbG88L2Rpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXpl
OiA3MnB4OyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7
IGZvbnQtc2l6ZTogNzJweDsiPkhlSmxsbzwvZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5s
aW5lLWJsb2NrOyBmb250LXNpemU6IDcycHg7Ij5IZUpsbG88L2Rpdj4KKzxkaXYgc3R5bGU9ImRp
c3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiA3MnB4OyI+SGVKbGxvPC9kaXY+Cis8ZGl2
IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogNzJweDsiPkhlSmxsbzwv
ZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS02Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQv
ZGVzaWduLXN5c3RlbS11aS02Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTJkYWJiNjVkYWY0MzhlNmUzNTgw
ZDBmY2ZkNzQyMTBmN2FkNzFiZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC9kZXNpZ24tc3lzdGVtLXVpLTYuaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+CitAZm9udC1mYWNlIHsKKyAgICBmb250LWZh
bWlseTogIkFwcGxlU3lzdGVtVUlTZXJpZiI7CisgICAgc3JjOiBsb2NhbCgiLWFwcGxlLXN5c3Rl
bS11aS1zZXJpZiIpOworfQorQGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6ICJBcHBsZVN5
c3RlbVVJTW9ub3NwYWNlZCI7CisgICAgc3JjOiBsb2NhbCgiLWFwcGxlLXN5c3RlbS11aS1tb25v
c3BhY2VkIik7Cit9CitAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogIkFwcGxlU3lzdGVt
VUlSb3VuZGVkIjsKKyAgICBzcmM6IGxvY2FsKCItYXBwbGUtc3lzdGVtLXVpLXJvdW5kZWQiKTsK
K30KK0Bmb250LWZhY2UgeworICAgIGZvbnQtZmFtaWx5OiAiRG90QXBwbGVTeXN0ZW1VSUZvbnRT
ZXJpZiI7CisgICAgc3JjOiBsb2NhbCgiLkFwcGxlU3lzdGVtVUlGb250U2VyaWYiKTsKK30KK0Bm
b250LWZhY2UgeworICAgIGZvbnQtZmFtaWx5OiAiRG90U0ZOU01vbm8iOworICAgIHNyYzogbG9j
YWwoIi5TRiBOUyBNb25vIik7Cit9CitAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogIkRv
dFNGVUlNb25vIjsKKyAgICBzcmM6IGxvY2FsKCIuU0YgVUkgTW9ubyIpOworfQorQGZvbnQtZmFj
ZSB7CisgICAgZm9udC1mYW1pbHk6ICJEb3RBcHBsZVN5c3RlbVVJRm9udFJvdW5kZWQiOworICAg
IHNyYzogbG9jYWwoIi5BcHBsZVN5c3RlbVVJRm9udFJvdW5kZWQiKTsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgdGhlIGRlc2lnbiBzeXN0
ZW0gVUkgZm9udHMgZG9uJ3Qgd29yayB1bmxlc3MgdGhlIHNob3VsZEFsbG93RGVzaWduU3lzdGVt
VUlGb250cyBwcmVmZXJlbmNlIGlzIHNldC4gVGhlIHRlc3QgcGFzc2VzIGlmIGFsbCB0aGUgdGV4
dCBiZWxvdyBpcyByZW5kZXJlZCBpbiBUaW1lcy4KKzxkaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5
OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IDcycHggJ0FwcGxlU3lzdGVtVUlTZXJpZic7Ij5IZUpsbG88
L2Rpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogNzJweCAnQXBw
bGVTeXN0ZW1VSU1vbm9zcGFjZWQnOyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5
OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IDcycHggJ0FwcGxlU3lzdGVtVUlSb3VuZGVkJzsiPkhlSmxs
bzwvZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiA3MnB4ICdE
b3RBcHBsZVN5c3RlbVVJRm9udFNlcmlmJzsiPkhlSmxsbzwvZGl2PgorPGRpdiBzdHlsZT0iZGlz
cGxheTogaW5saW5lLWJsb2NrOyBmb250OiA3MnB4ICdEb3RTRk5TTW9ubyc7Ij5IZUpsbG88L2Rp
dj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogNzJweCAnRG90U0ZV
SU1vbm8nOyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7
IGZvbnQ6IDcycHggJ0RvdEFwcGxlU3lzdGVtVUlGb250Um91bmRlZCc7Ij5IZUpsbG88L2Rpdj4K
KzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktNy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktNy1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ3NTM4NzAz
N2MwNTUzMmQzYzk0ZjExYWE2ZjJmOTIxZWIwYzhkNDcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS03LWV4cGVjdGVkLmh0bWwKQEAgLTAs
MCArMSw1MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lm
ICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U2hv
dWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKHRydWUpOworPC9zY3JpcHQ+Cis8c3R5bGU+CitA
Zm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogIkFwcGxlU3lzdGVtVUlTZXJpZiI7CisgICAg
c3JjOiBsb2NhbCgiLWFwcGxlLXN5c3RlbS11aS1zZXJpZiIpOworfQorQGZvbnQtZmFjZSB7Cisg
ICAgZm9udC1mYW1pbHk6ICJBcHBsZVN5c3RlbVVJTW9ub3NwYWNlZCI7CisgICAgc3JjOiBsb2Nh
bCgiLWFwcGxlLXN5c3RlbS11aS1tb25vc3BhY2VkIik7Cit9CitAZm9udC1mYWNlIHsKKyAgICBm
b250LWZhbWlseTogIkFwcGxlU3lzdGVtVUlSb3VuZGVkIjsKKyAgICBzcmM6IGxvY2FsKCItYXBw
bGUtc3lzdGVtLXVpLXJvdW5kZWQiKTsKK30KK0Bmb250LWZhY2UgeworICAgIGZvbnQtZmFtaWx5
OiAiRG90QXBwbGVTeXN0ZW1VSUZvbnRTZXJpZiI7CisgICAgc3JjOiBsb2NhbCgiLkFwcGxlU3lz
dGVtVUlGb250U2VyaWYiKTsKK30KK0Bmb250LWZhY2UgeworICAgIGZvbnQtZmFtaWx5OiAiRG90
U0ZOU01vbm8iOworICAgIHNyYzogbG9jYWwoIi5TRiBOUyBNb25vIik7Cit9CitAZm9udC1mYWNl
IHsKKyAgICBmb250LWZhbWlseTogIkRvdFNGVUlNb25vIjsKKyAgICBzcmM6IGxvY2FsKCIuU0Yg
VUkgTW9ubyIpOworfQorQGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6ICJEb3RBcHBsZVN5
c3RlbVVJRm9udFJvdW5kZWQiOworICAgIHNyYzogbG9jYWwoIi5BcHBsZVN5c3RlbVVJRm9udFJv
dW5kZWQiKTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBtYWtlcyBz
dXJlIHRoYXQgdGhlIGRlc2lnbiBzeXN0ZW0gVUkgZm9udHMgZG9uJ3Qgd29yayB1bmxlc3MgdGhl
IHNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyBwcmVmZXJlbmNlIGlzIHNldC4gVGhlIHRl
c3QgcGFzc2VzIGlmIGFsbCB0aGUgdGV4dCBiZWxvdyBpcyBib2xkLgorPGRpdj4KKzxkaXYgc3R5
bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogYm9sZCA3MnB4ICdBcHBsZVN5c3RlbVVJ
U2VyaWYnOyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7
IGZvbnQ6IGJvbGQgNzJweCAnQXBwbGVTeXN0ZW1VSU1vbm9zcGFjZWQnOyI+SGVKbGxvPC9kaXY+
Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJweCAnQXBw
bGVTeXN0ZW1VSVJvdW5kZWQnOyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBp
bmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJweCAnRG90QXBwbGVTeXN0ZW1VSUZvbnRTZXJpZic7
Ij5IZUpsbG88L2Rpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDog
Ym9sZCA3MnB4ICdEb3RTRk5TTW9ubyc7Ij5IZUpsbG88L2Rpdj4KKzxkaXYgc3R5bGU9ImRpc3Bs
YXk6IGlubGluZS1ibG9jazsgZm9udDogYm9sZCA3MnB4ICdEb3RTRlVJTW9ubyc7Ij5IZUpsbG88
L2Rpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogYm9sZCA3MnB4
ICdEb3RBcHBsZVN5c3RlbVVJRm9udFJvdW5kZWQnOyI+SGVKbGxvPC9kaXY+Cis8L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24t
c3lzdGVtLXVpLTcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVp
LTcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42MTZkODdkMzk3MTUzNjY5YjI1MTk3ZDVkMmY5YjE4OGRhNTc1
MDdhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0
ZW0tdWktNy5odG1sCkBAIC0wLDAgKzEsNTEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykKKyAgICB3aW5kb3cuaW50ZXJu
YWxzLnNldHRpbmdzLnNldFNob3VsZEFsbG93RGVzaWduU3lzdGVtVUlGb250cyh0cnVlKTsKKzwv
c2NyaXB0PgorPHN0eWxlPgorQGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6ICJBcHBsZVN5
c3RlbVVJU2VyaWYiOworICAgIHNyYzogbG9jYWwoIi1hcHBsZS1zeXN0ZW0tdWktc2VyaWYiKTsK
K30KK0Bmb250LWZhY2UgeworICAgIGZvbnQtZmFtaWx5OiAiQXBwbGVTeXN0ZW1VSU1vbm9zcGFj
ZWQiOworICAgIHNyYzogbG9jYWwoIi1hcHBsZS1zeXN0ZW0tdWktbW9ub3NwYWNlZCIpOworfQor
QGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6ICJBcHBsZVN5c3RlbVVJUm91bmRlZCI7Cisg
ICAgc3JjOiBsb2NhbCgiLWFwcGxlLXN5c3RlbS11aS1yb3VuZGVkIik7Cit9CitAZm9udC1mYWNl
IHsKKyAgICBmb250LWZhbWlseTogIkRvdEFwcGxlU3lzdGVtVUlGb250U2VyaWYiOworICAgIHNy
YzogbG9jYWwoIi5BcHBsZVN5c3RlbVVJRm9udFNlcmlmIik7Cit9CitAZm9udC1mYWNlIHsKKyAg
ICBmb250LWZhbWlseTogIkRvdFNGTlNNb25vIjsKKyAgICBzcmM6IGxvY2FsKCIuU0YgTlMgTW9u
byIpOworfQorQGZvbnQtZmFjZSB7CisgICAgZm9udC1mYW1pbHk6ICJEb3RTRlVJTW9ubyI7Cisg
ICAgc3JjOiBsb2NhbCgiLlNGIFVJIE1vbm8iKTsKK30KK0Bmb250LWZhY2UgeworICAgIGZvbnQt
ZmFtaWx5OiAiRG90QXBwbGVTeXN0ZW1VSUZvbnRSb3VuZGVkIjsKKyAgICBzcmM6IGxvY2FsKCIu
QXBwbGVTeXN0ZW1VSUZvbnRSb3VuZGVkIik7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
CitUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHRoZSBkZXNpZ24gc3lzdGVtIFVJIGZvbnRzIGRv
bid0IHdvcmsgdW5sZXNzIHRoZSBzaG91bGRBbGxvd0Rlc2lnblN5c3RlbVVJRm9udHMgcHJlZmVy
ZW5jZSBpcyBzZXQuIFRoZSB0ZXN0IHBhc3NlcyBpZiBhbGwgdGhlIHRleHQgYmVsb3cgaXMgYm9s
ZC4KKzxkaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQg
NzJweCAnQXBwbGVTeXN0ZW1VSVNlcmlmJzsgZm9udC1zeW50aGVzaXM6IG5vbmU7Ij5IZUpsbG88
L2Rpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogYm9sZCA3MnB4
ICdBcHBsZVN5c3RlbVVJTW9ub3NwYWNlZCc7IGZvbnQtc3ludGhlc2lzOiBub25lOyI+SGVKbGxv
PC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJw
eCAnQXBwbGVTeXN0ZW1VSVJvdW5kZWQnOyBmb250LXN5bnRoZXNpczogbm9uZTsiPkhlSmxsbzwv
ZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiBib2xkIDcycHgg
J0RvdEFwcGxlU3lzdGVtVUlGb250U2VyaWYnOyBmb250LXN5bnRoZXNpczogbm9uZTsiPkhlSmxs
bzwvZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiBib2xkIDcy
cHggJ0RvdFNGTlNNb25vJzsgZm9udC1zeW50aGVzaXM6IG5vbmU7Ij5IZUpsbG88L2Rpdj4KKzxk
aXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogYm9sZCA3MnB4ICdEb3RTRlVJ
TW9ubyc7IGZvbnQtc3ludGhlc2lzOiBub25lOyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJk
aXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQ6IGJvbGQgNzJweCAnRG90QXBwbGVTeXN0ZW1VSUZv
bnRSb3VuZGVkJzsgZm9udC1zeW50aGVzaXM6IG5vbmU7Ij5IZUpsbG88L2Rpdj4KKzwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2ln
bi1zeXN0ZW0tdWktOC1leHBlY3RlZC1taXNtYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktOC1leHBlY3RlZC1taXNtYXRjaC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjllOTgwNDk5MjM0MDg3Zjg0M2E3YjE1ODY0ZWI2M2FhYzkxMTFiNGIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS04LWV4cGVjdGVkLW1p
c21hdGNoLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5h
bHMuc2V0dGluZ3Muc2V0U2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKHRydWUpOworPC9z
Y3JpcHQ+Cis8c3R5bGU+CitAZm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogIkFwcGxlU3lz
dGVtVUlTZXJpZiI7CisgICAgc3JjOiBsb2NhbCgiLWFwcGxlLXN5c3RlbS11aS1zZXJpZiIpOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6
IGlubGluZS1ibG9jazsgZm9udDogNzJweCAnQXBwbGVTeXN0ZW1VSVNlcmlmJzsgZm9udC1zeW50
aGVzaXM6IG5vbmU7Ij5IZUpsbG88L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktOC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktOC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjQ5YTFkMWQxZGY0ODRmNTUyYzhhNWJmMjk3NDdiNDY2MTI5NjBhZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS04Lmh0bWwKQEAgLTAs
MCArMSwyMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lm
ICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U2hv
dWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRzKHRydWUpOworPC9zY3JpcHQ+Cis8c3R5bGU+CitA
Zm9udC1mYWNlIHsKKyAgICBmb250LWZhbWlseTogIkFwcGxlU3lzdGVtVUlTZXJpZiI7CisgICAg
c3JjOiBsb2NhbCgiLWFwcGxlLXN5c3RlbS11aS1zZXJpZiIpOworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5PgorPGRpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9u
dDogYm9sZCA3MnB4ICdBcHBsZVN5c3RlbVVJU2VyaWYnOyBmb250LXN5bnRoZXNpczogbm9uZTsi
PkhlSmxsbzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS05LWV4cGVjdGVkLW1pc21hdGNoLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS05LWV4cGVjdGVkLW1p
c21hdGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTBmYmY3ODJkNTQzZGZkNzI0OWRhYTJiODUwZTMzZGEy
NDM2MjZhMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24t
c3lzdGVtLXVpLTktZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApAQCAtMCwwICsxLDIwIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5h
bHMpCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTaG91bGRBbGxvd0Rlc2lnblN5
c3RlbVVJRm9udHModHJ1ZSk7Cis8L3NjcmlwdD4KKzxzdHlsZT4KK0Bmb250LWZhY2UgeworICAg
IGZvbnQtZmFtaWx5OiAiQXBwbGVTeXN0ZW1VSU1vbm9zcGFjZWQiOworICAgIHNyYzogbG9jYWwo
Ii1hcHBsZS1zeXN0ZW0tdWktbW9ub3NwYWNlZCIpOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogNzJw
eCAnQXBwbGVTeXN0ZW1VSU1vbm9zcGFjZWQnOyBmb250LXN5bnRoZXNpczogbm9uZTsiPkhlSmxs
bzwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS05Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQvZGVzaWduLXN5c3RlbS11aS05Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDY5ZWViNDE3Y2JmMGMxMjAy
YzQwMjY3NWExNzc5NDVmN2U3NzVkOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLTkuaHRtbApAQCAtMCwwICsxLDIwIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMp
CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTaG91bGRBbGxvd0Rlc2lnblN5c3Rl
bVVJRm9udHModHJ1ZSk7Cis8L3NjcmlwdD4KKzxzdHlsZT4KK0Bmb250LWZhY2UgeworICAgIGZv
bnQtZmFtaWx5OiAiQXBwbGVTeXN0ZW1VSU1vbm9zcGFjZWQiOworICAgIHNyYzogbG9jYWwoIi1h
cHBsZS1zeXN0ZW0tdWktbW9ub3NwYWNlZCIpOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogYm9sZCA3
MnB4ICdBcHBsZVN5c3RlbVVJTW9ub3NwYWNlZCc7IGZvbnQtc3ludGhlc2lzOiBub25lOyI+SGVK
bGxvPC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lzdGVtLXVpLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI2
Y2RhZWQ3NmM4ZjBjMzQ3NjM4MzYzMjViN2VmMzRlNTcwOWZjYmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS1leHBlY3RlZC5odG1sCkBA
IC0wLDAgKzEsMTcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4K
Kzxib2R5PgorVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCB0aGUgZGVzaWduIHN5c3RlbSBVSSBm
b250cyBkb24ndCB3b3JrIHVubGVzcyB0aGUgc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1VSUZvbnRz
IHByZWZlcmVuY2UgaXMgc2V0LiBUaGUgdGVzdCBwYXNzZXMgaWYgYWxsIHRoZSB0ZXh0IGJlbG93
IGlzIHJlbmRlcmVkIGluIFRpbWVzLgorPGRpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGlu
ZS1ibG9jazsgZm9udC1zaXplOiA3MnB4OyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNw
bGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6ZTogNzJweDsiPkhlSmxsbzwvZGl2PgorPGRpdiBz
dHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250LXNpemU6IDcycHg7Ij5IZUpsbG88L2Rp
dj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1zaXplOiA3MnB4OyI+
SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZvbnQtc2l6
ZTogNzJweDsiPkhlSmxsbzwvZGl2PgorPGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2Nr
OyBmb250LXNpemU6IDcycHg7Ij5IZUpsbG88L2Rpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlu
bGluZS1ibG9jazsgZm9udC1zaXplOiA3MnB4OyI+SGVKbGxvPC9kaXY+Cis8L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9kZXNpZ24tc3lz
dGVtLXVpLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjQwNDcwYzA3MGRjNzcwZjUxYmZkNjdhNTdkZTdkZDVlMjJjYWQ0ODcKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvZGVzaWduLXN5c3RlbS11aS5o
dG1sCkBAIC0wLDAgKzEsMTcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwv
aGVhZD4KKzxib2R5PgorVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCB0aGUgZGVzaWduIHN5c3Rl
bSBVSSBmb250cyBkb24ndCB3b3JrIHVubGVzcyB0aGUgc2hvdWxkQWxsb3dEZXNpZ25TeXN0ZW1V
SUZvbnRzIHByZWZlcmVuY2UgaXMgc2V0LiBUaGUgdGVzdCBwYXNzZXMgaWYgYWxsIHRoZSB0ZXh0
IGJlbG93IGlzIHJlbmRlcmVkIGluIFRpbWVzLgorPGRpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6
IGlubGluZS1ibG9jazsgZm9udDogNzJweCAnLWFwcGxlLXN5c3RlbS11aS1zZXJpZic7Ij5IZUps
bG88L2Rpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogNzJweCAn
LWFwcGxlLXN5c3RlbS11aS1tb25vc3BhY2VkJzsiPkhlSmxsbzwvZGl2PgorPGRpdiBzdHlsZT0i
ZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiA3MnB4ICctYXBwbGUtc3lzdGVtLXVpLXJvdW5k
ZWQnOyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGZv
bnQ6IDcycHggJy5BcHBsZVN5c3RlbVVJRm9udFNlcmlmJzsiPkhlSmxsbzwvZGl2PgorPGRpdiBz
dHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBmb250OiA3MnB4ICcuU0YgTlMgTW9ubyc7Ij5I
ZUpsbG88L2Rpdj4KKzxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udDogNzJw
eCAnLlNGIFVJIE1vbm8nOyI+SGVKbGxvPC9kaXY+Cis8ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxp
bmUtYmxvY2s7IGZvbnQ6IDcycHggJy5BcHBsZVN5c3RlbVVJRm9udFJvdW5kZWQnOyI+SGVKbGxv
PC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMjg4NDFhODY5YjBkNDNiZGY3ZWI5NjM4YzNhN2U5MmMx
YTBiYjU4ZS4uNGFhZGIxZTkwZGI0NGNiMDY1ZTdjNWIzNmMwZmIyZTJkMjNiM2UxZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE5NzIsMyArMTk3Miwx
MSBAQCB3ZWJraXQub3JnL2IvMTk1NjM1IHNjcm9sbGluZ2Nvb3JkaW5hdG9yL21hYy9tdWx0aXBs
ZS1maXhlZC5odG1sIFsgUGFzcyBUaW1lb3V0CiBbIENhdGFsaW5hKyBdIGh0dHAvd3B0L3Jlc291
cmNlLXRpbWluZy9ydC1pbml0aWF0b3JUeXBlLXNjcmlwdC1tb2R1bGUuaHRtbCBbIFBhc3MgRmFp
bHVyZSBdCiBbIENhdGFsaW5hKyBdIGh0dHAvd3B0L3Jlc291cmNlLXRpbWluZy9ydC1pbml0aWF0
b3JUeXBlLWVsZW1lbnQuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiBbIENhdGFsaW5hKyBdIGh0dHAv
d3B0L3Jlc291cmNlLXRpbWluZy9ydC1pbml0aWF0b3JUeXBlLXhtbGh0dHByZXF1ZXN0Lmh0bWwg
WyBQYXNzIEZhaWx1cmUgXQorCisjIFRoZXNlIHRlc3RzIHJlcXVpcmUgdGhlIGRlc2lnbiBzeXN0
ZW0gdWkgZm9udHMgdG8gYmUgaW5zdGFsbGVkLgorWyBDYXRhbGluYSsgXSBmYXN0L3RleHQvZGVz
aWduLXN5c3RlbS11aS0xMS5odG1sIFsgUGFzcyBdCitbIENhdGFsaW5hKyBdIGZhc3QvdGV4dC9k
ZXNpZ24tc3lzdGVtLXVpLTEyLmh0bWwgWyBQYXNzIF0KK1sgQ2F0YWxpbmErIF0gZmFzdC90ZXh0
L2Rlc2lnbi1zeXN0ZW0tdWktMTMuaHRtbCBbIFBhc3MgXQorWyBDYXRhbGluYSsgXSBmYXN0L3Rl
eHQvZGVzaWduLXN5c3RlbS11aS0xNC5odG1sIFsgUGFzcyBdCitbIENhdGFsaW5hKyBdIGZhc3Qv
dGV4dC9kZXNpZ24tc3lzdGVtLXVpLTE1Lmh0bWwgWyBQYXNzIF0KK1sgQ2F0YWxpbmErIF0gZmFz
dC90ZXh0L2Rlc2lnbi1zeXN0ZW0tdWktMTYuaHRtbCBbIFBhc3MgXQo=
</data>
<flag name="review"
          id="389767"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>