<?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>43406</bug_id>
          
          <creation_ts>2010-08-03 02:38:07 -0700</creation_ts>
          <short_desc>WebKitTestRunner needs to be able to set the font smoothing type</short_desc>
          <delta_ts>2010-08-06 17:34:50 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>43379</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jon Honeycutt">jhoneycutt</reporter>
          <assigned_to name="Jon Honeycutt">jhoneycutt</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>aroben</cc>
    
    <cc>mjs</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>259326</commentid>
    <comment_count>0</comment_count>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2010-08-03 02:38:07 -0700</bug_when>
    <thetext>WebKitTestRunner needs to be able to set the font smoothing type to match the setting used by DRT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260226</commentid>
    <comment_count>1</comment_count>
      <attachid>63497</attachid>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2010-08-04 14:55:17 -0700</bug_when>
    <thetext>Created attachment 63497
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260326</commentid>
    <comment_count>2</comment_count>
      <attachid>63527</attachid>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2010-08-04 19:06:10 -0700</bug_when>
    <thetext>Created attachment 63527
Patch

Add FontSmoothingLevel.h to non-Windows project files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260327</commentid>
    <comment_count>3</comment_count>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2010-08-04 19:07:05 -0700</bug_when>
    <thetext>&lt;rdar://problem/8275136&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260328</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-04 19:07:18 -0700</bug_when>
    <thetext>Attachment 63527 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit2/UIProcess/API/C/WKPreferences.cpp:98:  A case label should not be indented, but line up with its switch statement.  [whitespace/indent] [4]
WebKit2/UIProcess/API/C/WKPreferences.cpp:125:  A case label should not be indented, but line up with its switch statement.  [whitespace/indent] [4]
Total errors found: 2 in 20 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>260557</commentid>
    <comment_count>5</comment_count>
      <attachid>63527</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-08-05 06:07:52 -0700</bug_when>
    <thetext>Comment on attachment 63527
Patch

&gt; +enum {
&gt; +    FontSmoothingLevelStandard = 0,
&gt; +    FontSmoothingLevelLight = 1,
&gt; +    FontSmoothingLevelMedium = 2,
&gt; +    FontSmoothingLevelStrong = 3,
&gt; +    FontSmoothingLevelWindows = 4,
&gt; +};
&gt; +typedef uint32_t FontSmoothingLevel;

Why the typedef? Why not just call the enum &quot;FontSmoothingLevel&quot;? If the typedef is only needed for WebKit2, it seems inappropriate (and undesirable) to have it in WebCore.

Should we compile out FontSmoothingLevelWindows on non-Windows platforms?

&gt; +// Defaults to kWKFontSmoothingLevelMedium.
&gt; +WK_EXPORT void WKPreferencesSetFontSmoothingLevel(WKPreferencesRef, WKFontSmoothingLevel);
&gt; +WK_EXPORT WKFontSmoothingLevel WKPreferencesGetFontSmoothingLevel(WKPreferencesRef);

kWKFontSmoothingLevelStandard doesn&apos;t seem very &quot;Standard&quot; if it isn&apos;t the default!

&gt; @@ -70,6 +70,7 @@ void TestInvocation::resetPreferencesToConsistentValues()
&gt;  {
&gt;      WKPreferencesRef preferences = WKContextGetPreferences(TestController::shared().context());
&gt;      WKPreferencesSetOfflineWebApplicationCacheEnabled(preferences, true);
&gt; +    WKPreferencesSetFontSmoothingLevel(preferences, kWKFontSmoothingLevelStandard);
&gt;  }

It seems unfortunate for &quot;Standard&quot; on Windows to trigger an arguably non-standard mode (i.e., CG font rendering).

The code looks fine, but I&apos;m concerned we don&apos;t quite have the right API yet. For instance, maybe turning on CG font rendering should be a private API on Windows. It should at least be clearer what&apos;s going on. Sam and Anders will probably be able to give some guidance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260804</commentid>
    <comment_count>6</comment_count>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2010-08-05 13:19:56 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 63527 [details])
&gt; &gt; +enum {
&gt; &gt; +    FontSmoothingLevelStandard = 0,
&gt; &gt; +    FontSmoothingLevelLight = 1,
&gt; &gt; +    FontSmoothingLevelMedium = 2,
&gt; &gt; +    FontSmoothingLevelStrong = 3,
&gt; &gt; +    FontSmoothingLevelWindows = 4,
&gt; &gt; +};
&gt; &gt; +typedef uint32_t FontSmoothingLevel;
&gt; 
&gt; Why the typedef? Why not just call the enum &quot;FontSmoothingLevel&quot;? If the typedef is only needed for WebKit2, it seems inappropriate (and undesirable) to have it in WebCore.

I did this to avoid some casts, but I&apos;ll change it. I&apos;ll also move it out of WebCore.

&gt; 
&gt; Should we compile out FontSmoothingLevelWindows on non-Windows platforms?

Yes, I&apos;ll do this.

&gt; 
&gt; &gt; +// Defaults to kWKFontSmoothingLevelMedium.
&gt; &gt; +WK_EXPORT void WKPreferencesSetFontSmoothingLevel(WKPreferencesRef, WKFontSmoothingLevel);
&gt; &gt; +WK_EXPORT WKFontSmoothingLevel WKPreferencesGetFontSmoothingLevel(WKPreferencesRef);
&gt; 
&gt; kWKFontSmoothingLevelStandard doesn&apos;t seem very &quot;Standard&quot; if it isn&apos;t the default!

Yes, the naming is strange. I copied these names from the old WebPreferences, and I don&apos;t know why they were chosen - maybe they match CG terminology. I&apos;ll look into changing it.

&gt; 
&gt; &gt; @@ -70,6 +70,7 @@ void TestInvocation::resetPreferencesToConsistentValues()
&gt; &gt;  {
&gt; &gt;      WKPreferencesRef preferences = WKContextGetPreferences(TestController::shared().context());
&gt; &gt;      WKPreferencesSetOfflineWebApplicationCacheEnabled(preferences, true);
&gt; &gt; +    WKPreferencesSetFontSmoothingLevel(preferences, kWKFontSmoothingLevelStandard);
&gt; &gt;  }
&gt; 
&gt; It seems unfortunate for &quot;Standard&quot; on Windows to trigger an arguably non-standard mode (i.e., CG font rendering).
&gt; 
&gt; The code looks fine, but I&apos;m concerned we don&apos;t quite have the right API yet. For instance, maybe turning on CG font rendering should be a private API on Windows. It should at least be clearer what&apos;s going on. Sam and Anders will probably be able to give some guidance.

Thanks for the review! I&apos;ll talk to Sam and/or Anders and post a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261080</commentid>
    <comment_count>7</comment_count>
      <attachid>63689</attachid>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2010-08-05 21:44:45 -0700</bug_when>
    <thetext>Created attachment 63689
Patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261081</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-05 21:45:29 -0700</bug_when>
    <thetext>Attachment 63689 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit2/UIProcess/API/C/WKPreferencesPrivate.cpp:26:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/UIProcess/API/C/WKPreferencesPrivate.cpp:39:  A case label should not be indented, but line up with its switch statement.  [whitespace/indent] [4]
WebKit2/UIProcess/API/C/WKPreferencesPrivate.cpp:68:  A case label should not be indented, but line up with its switch statement.  [whitespace/indent] [4]
Total errors found: 3 in 18 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>261233</commentid>
    <comment_count>9</comment_count>
      <attachid>63689</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-08-06 07:08:48 -0700</bug_when>
    <thetext>Comment on attachment 63689
Patch v2

&gt; +enum FontSmoothingLevel {
&gt; +    FontSmoothingLevelNoSubpixelAntiAliasing = 0,
&gt; +    FontSmoothingLevelLight = 1,
&gt; +    FontSmoothingLevelMedium = 2,
&gt; +    FontSmoothingLevelStrong = 3,
&gt; +#if PLATFORM(WIN)
&gt; +    FontSmoothingLevelWindows = 4,
&gt; +#endif
&gt; +};

I wonder if &quot;FontSmoothingStyle&quot; would be more appropriate. &quot;NoSubpixelAntiAliasing&quot; and &quot;Windows&quot; aren&apos;t really &quot;levels&quot;. (I&apos;m not sure &quot;Light&quot;, &quot;Medium&quot;, and &quot;Strong&quot; are, either.)

&gt; +void WKPreferencesSetFontSmoothingLevel(WKPreferencesRef preferencesRef, WKFontSmoothingLevel wkLevel)
&gt; +{
&gt; +    FontSmoothingLevel level = FontSmoothingLevelNoSubpixelAntiAliasing;

Does the compiler complain if you leave out this initialization?

&gt; +WKFontSmoothingLevel WKPreferencesGetFontSmoothingLevel(WKPreferencesRef preferencesRef)
&gt; +{
&gt; +    FontSmoothingLevel level = toWK(preferencesRef)-&gt;fontSmoothingLevel();
&gt; +    switch (level) {
&gt; +        case FontSmoothingLevelNoSubpixelAntiAliasing:
&gt; +            return kWKFontSmoothingLevelNoSubpixelAntiAliasing;
&gt; +        case FontSmoothingLevelLight:
&gt; +            return kWKFontSmoothingLevelLight;
&gt; +        case FontSmoothingLevelMedium:
&gt; +            return kWKFontSmoothingLevelMedium;
&gt; +        case FontSmoothingLevelStrong:
&gt; +            return kWKFontSmoothingLevelStrong;
&gt; +#if PLATFORM(WIN)
&gt; +        case FontSmoothingLevelWindows:
&gt; +            return kWKFontSmoothingLevelWindows;
&gt; +#endif
&gt; +    }
&gt; +
&gt; +    ASSERT_NOT_REACHED();
&gt; +    return kWKFontSmoothingLevelNoSubpixelAntiAliasing;
&gt; +}

I think you should return Medium here, to match the setter and the claimed default.

&gt; +#ifndef WKPreferencesPrivate_h
&gt; +#define WKPreferencesPrivate_h
&gt; +
&gt; +#include &lt;WebKit2/WKBase.h&gt;
&gt; +
&gt; +#ifndef __cplusplus
&gt; +#include &lt;stdbool.h&gt;
&gt; +#endif

Why is this needed?

&gt; +++ b/WebKit2/UIProcess/WebPreferences.cpp
&gt; @@ -27,6 +27,8 @@
&gt;  
&gt;  #include &quot;WebContext.h&quot;
&gt;  
&gt; +using namespace WebCore;

I don&apos;t think you need this anymore.

&gt; +        * WebKitTestRunner/TestInvocation.cpp:
&gt; +        (WTR::TestInvocation::resetPreferencesToConsistentValues):
&gt; +        Set the font smoothing level to
&gt; +        kWKFontSmoothingLevelNoSubpixelAntiAliasing.

If this is what DRT does, you should say so.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261592</commentid>
    <comment_count>10</comment_count>
    <who name="Jon Honeycutt">jhoneycutt</who>
    <bug_when>2010-08-06 17:34:50 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 63689 [details])
&gt; &gt; +enum FontSmoothingLevel {
&gt; &gt; +    FontSmoothingLevelNoSubpixelAntiAliasing = 0,
&gt; &gt; +    FontSmoothingLevelLight = 1,
&gt; &gt; +    FontSmoothingLevelMedium = 2,
&gt; &gt; +    FontSmoothingLevelStrong = 3,
&gt; &gt; +#if PLATFORM(WIN)
&gt; &gt; +    FontSmoothingLevelWindows = 4,
&gt; &gt; +#endif
&gt; &gt; +};
&gt; 
&gt; I wonder if &quot;FontSmoothingStyle&quot; would be more appropriate. &quot;NoSubpixelAntiAliasing&quot; and &quot;Windows&quot; aren&apos;t really &quot;levels&quot;. (I&apos;m not sure &quot;Light&quot;, &quot;Medium&quot;, and &quot;Strong&quot; are, either.)

I don&apos;t like the name, but I&apos;m not sure FontSmoothingStyle would be better. I was trying to match the WKSI call that does the real work here, and there&apos;s another WKSI function wkSetFontSmoothingStyle().

&gt; 
&gt; &gt; +void WKPreferencesSetFontSmoothingLevel(WKPreferencesRef preferencesRef, WKFontSmoothingLevel wkLevel)
&gt; &gt; +{
&gt; &gt; +    FontSmoothingLevel level = FontSmoothingLevelNoSubpixelAntiAliasing;
&gt; 
&gt; Does the compiler complain if you leave out this initialization?

No - removed.

&gt; 
&gt; &gt; +WKFontSmoothingLevel WKPreferencesGetFontSmoothingLevel(WKPreferencesRef preferencesRef)
&gt; &gt; +{
&gt; &gt; +    FontSmoothingLevel level = toWK(preferencesRef)-&gt;fontSmoothingLevel();
&gt; &gt; +    switch (level) {
&gt; &gt; +        case FontSmoothingLevelNoSubpixelAntiAliasing:
&gt; &gt; +            return kWKFontSmoothingLevelNoSubpixelAntiAliasing;
&gt; &gt; +        case FontSmoothingLevelLight:
&gt; &gt; +            return kWKFontSmoothingLevelLight;
&gt; &gt; +        case FontSmoothingLevelMedium:
&gt; &gt; +            return kWKFontSmoothingLevelMedium;
&gt; &gt; +        case FontSmoothingLevelStrong:
&gt; &gt; +            return kWKFontSmoothingLevelStrong;
&gt; &gt; +#if PLATFORM(WIN)
&gt; &gt; +        case FontSmoothingLevelWindows:
&gt; &gt; +            return kWKFontSmoothingLevelWindows;
&gt; &gt; +#endif
&gt; &gt; +    }
&gt; &gt; +
&gt; &gt; +    ASSERT_NOT_REACHED();
&gt; &gt; +    return kWKFontSmoothingLevelNoSubpixelAntiAliasing;
&gt; &gt; +}
&gt; 
&gt; I think you should return Medium here, to match the setter and the claimed default.

Fixed.

&gt; 
&gt; &gt; +#ifndef WKPreferencesPrivate_h
&gt; &gt; +#define WKPreferencesPrivate_h
&gt; &gt; +
&gt; &gt; +#include &lt;WebKit2/WKBase.h&gt;
&gt; &gt; +
&gt; &gt; +#ifndef __cplusplus
&gt; &gt; +#include &lt;stdbool.h&gt;
&gt; &gt; +#endif
&gt; 
&gt; Why is this needed?

It&apos;s not - removed.

&gt; 
&gt; &gt; +++ b/WebKit2/UIProcess/WebPreferences.cpp
&gt; &gt; @@ -27,6 +27,8 @@
&gt; &gt;  
&gt; &gt;  #include &quot;WebContext.h&quot;
&gt; &gt;  
&gt; &gt; +using namespace WebCore;
&gt; 
&gt; I don&apos;t think you need this anymore.

Removed.

&gt; 
&gt; &gt; +        * WebKitTestRunner/TestInvocation.cpp:
&gt; &gt; +        (WTR::TestInvocation::resetPreferencesToConsistentValues):
&gt; &gt; +        Set the font smoothing level to
&gt; &gt; +        kWKFontSmoothingLevelNoSubpixelAntiAliasing.
&gt; 
&gt; If this is what DRT does, you should say so.

Done.

&gt; 
&gt; r=me

Thanks for the review! Landed in r64888.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63497</attachid>
            <date>2010-08-04 14:55:17 -0700</date>
            <delta_ts>2010-08-04 19:06:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-WebKitTestRunner-needs-to-be-able-to-set-the-font-sm.patch</filename>
            <type>text/plain</type>
            <size>36091</size>
            <attacher name="Jon Honeycutt">jhoneycutt</attacher>
            
              <data encoding="base64">RnJvbSBhMGY1MDQ4ZTc0OGRlOWUyN2E1ZGI2NmI1MWRlOWZmMjVkMGE1YTZhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb24gSG9uZXljdXR0IDxqaG9uZXljdXR0QGFwcGxlLmNvbT4K
RGF0ZTogV2VkLCA0IEF1ZyAyMDEwIDE0OjQ3OjEwIC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gV2Vi
S2l0VGVzdFJ1bm5lciBuZWVkcyB0byBiZSBhYmxlIHRvIHNldCB0aGUgZm9udCBzbW9vdGhpbmcg
dHlwZQogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzNDA2CgpSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCldlYkNvcmU6CgoqIFdlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qOgpBZGQgRm9udFNtb290aGluZ0xldmVsLmggdG8gdGhlIHByb2plY3QuCgoqIHBs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRTbW9vdGhpbmdMZXZlbC5oOiBBZGRlZC4KKFdlYkNvcmU6Oik6
CkRlY2xhcmUgc29tZSBmb250IHNtb290aGluZyBsZXZlbCBjb25zdGFudHMuCgpXZWJLaXQyOgoK
KiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5jcHA6CihXZWJLaXQ6OldlYlByZWZlcmVuY2Vz
U3RvcmU6OldlYlByZWZlcmVuY2VzU3RvcmUpOgpJbml0aWFsaXplIGZvbnRTbW9vdGhpbmdMZXZl
bC4KKFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6c3dhcCk6CkNvcHkgZm9udFNtb290aGlu
Z0xldmVsLgoKKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oOgooV2ViS2l0OjpXZWJQcmVm
ZXJlbmNlc1N0b3JlOjplbmNvZGUpOgpFbmNvZGUgZm9udFNtb290aGluZ0xldmVsLgooV2ViS2l0
OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpkZWNvZGUpOgpEZWNvZGUgaXQuCgoqIFVJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKFdLUHJlZmVyZW5jZXNTZXRGb250U21vb3RoaW5nTGV2
ZWwpOgpHZXQgdGhlIFdlYkNvcmUgZm9udCBzbW9vdGhpbmcgbGV2ZWwgZnJvbSB0aGUgV0tGb250
U21vb3RoaW5nTGV2ZWwsIGFuZApjYWxsIFdlYlByZWZlcmVuY2VzOjpzZXRGb250U21vb3RoaW5n
TGV2ZWwoKS4KKFdLUHJlZmVyZW5jZXNHZXRGb250U21vb3RoaW5nTGV2ZWwpOgpHZXQgdGhlIGZv
bnQgc21vb3RoaW5nIGxldmVsIGZyb20gV2ViUHJlZmVyZW5jZXMsIGFuZCB0cmFuc2xhdGUgaXQg
dG8gYQpXS0ZvbnRTbW9vdGhpbmdMZXZlbC4KCiogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXMuaDoKRGVjbGFyZSB0aGUgZm9udCBzbW9vdGhpbmcgbGV2ZWxzLCBhbmQgZGVjbGFyZSBmdW5j
dGlvbnMgdG8gZ2V0IGFuZCBzZXQKdGhlIGxldmVsLgoKKiBVSVByb2Nlc3MvV2ViUHJlZmVyZW5j
ZXMuY3BwOgooV2ViS2l0OjpXZWJQcmVmZXJlbmNlczo6c2V0Rm9udFNtb290aGluZ0xldmVsKToK
U2V0IGZvbnRTbW9vdGhpbmdMZXZlbCBhbmQgY2FsbCB1cGRhdGUoKS4KKFdlYktpdDo6V2ViUHJl
ZmVyZW5jZXM6OmZvbnRTbW9vdGhpbmdMZXZlbCk6ClJldHVybiB0aGUgbGV2ZWwuCgoqIFVJUHJv
Y2Vzcy9XZWJQcmVmZXJlbmNlcy5oOgpEZWNsYXJlIGdldHRlciBhbmQgc2V0dGVyIGZvciBmb250
U21vb3RoaW5nTGV2ZWwsIGFuZCBhZGQgYSBtZW1iZXIgdG8KaG9sZCB0aGUgbGV2ZWwuCgoqIFdl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKFdlYktpdDo6V2ViUGFnZTo6cHJlZmVyZW5j
ZXNEaWRDaGFuZ2UpOgpDYWxsIHBsYXRmb3JtUHJlZmVyZW5jZXNEaWRDaGFuZ2UoKS4KCiogV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKRGVjbGFyZSBwbGF0Zm9ybVByZWZlcmVuY2VzRGlk
Q2hhbmdlKCkuCgoqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbToKKFdlYktp
dDo6V2ViUGFnZTo6cGxhdGZvcm1QcmVmZXJlbmNlc0RpZENoYW5nZSk6ClN0dWJiZWQuCgoqIFdl
YlByb2Nlc3MvV2ViUGFnZS9xdC9XZWJQYWdlUXQuY3BwOgooV2ViS2l0OjpXZWJQYWdlOjpwbGF0
Zm9ybVByZWZlcmVuY2VzRGlkQ2hhbmdlKToKU3R1YmJlZC4KCiogV2ViUHJvY2Vzcy9XZWJQYWdl
L3dpbi9XZWJQYWdlV2luLmNwcDoKKFdlYktpdDo6V2ViUGFnZTo6cGxhdGZvcm1QcmVmZXJlbmNl
c0RpZENoYW5nZSk6Ck9uIENHIHBsYXRmb3JtcywgY2FsbCB3a1NldEZvbnRTbW9vdGhpbmdMZXZl
bCgpLiBUaGlzIG1hdGNoZXMgdGhlIGNvZGUKaW4gb2xkIFdlYktpdCdzIFdlYlByZWZlcmVuY2Vz
LiBTZXQgdGhlIGZvbnQgcmVuZGVyaW5nIG1vZGUgdG8gZWl0aGVyCm5vcm1hbCAoQ0cpIG9yIGFs
dGVybmF0aXZlIChHREkpIGJhc2VkIG9uIHRoZSBmb250IHNtb290aGluZyBsZXZlbC4gVGhpcwpt
YXRjaGVzIHdoYXQgd2FzIGRvbmUgaW4gb2xkIFdlYktpdCdzIFdlYlZpZXcuCgpXZWJLaXRUb29s
czoKCiogV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHA6CihXVFI6OlRlc3RJbnZv
Y2F0aW9uOjpyZXNldFByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToKU2V0IHRoZSBmb250
IHNtb290aGluZyBsZXZlbCB0byBrV0tGb250U21vb3RoaW5nTGV2ZWxTdGFuZGFyZC4KLS0tCiBX
ZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTQgKysK
IFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogICAgICAgICAgIHwgIDE2OCAr
KysrKysrKysrKystLS0tLS0tLS0tLQogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250U21v
b3RoaW5nTGV2ZWwuaCAgfCAgIDQyICsrKysrKwogV2ViS2l0Mi9DaGFuZ2VMb2cgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgIDYzICsrKysrKysrKwogV2ViS2l0Mi9TaGFyZWQvV2Vi
UHJlZmVyZW5jZXNTdG9yZS5jcHAgICAgICAgICAgfCAgICA3ICsKIFdlYktpdDIvU2hhcmVkL1dl
YlByZWZlcmVuY2VzU3RvcmUuaCAgICAgICAgICAgIHwgICAgNSArCiBXZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcCAgICAgICB8ICAgNDkgKysrKysrKwogV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5oICAgICAgICAgfCAgIDEzICsrCiBXZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHAgICAgICAgICAgICB8ICAgMTMgKysKIFdlYktp
dDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmggICAgICAgICAgICAgIHwgICAgNCArCiBXZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCAgICAgICAgICB8ICAgIDIgKwogV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oICAgICAgICAgICAgfCAgICAxICsKIFdl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tICAgIHwgICAgNCArCiBX
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9XZWJQYWdlUXQuY3BwICAgICB8ICAgIDYgKy0K
IFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3dpbi9XZWJQYWdlV2luLmNwcCAgIHwgICAxNSAr
KwogV2ViS2l0VG9vbHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEx
ICsrCiBXZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcCB8ICAg
IDEgKwogMTcgZmlsZXMgY2hhbmdlZCwgMzM1IGluc2VydGlvbnMoKyksIDgzIGRlbGV0aW9ucygt
KQogY3JlYXRlIG1vZGUgMTAwNjQ0IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFNtb290
aGluZ0xldmVsLmgKCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDIyMWNlMzUuLjM5MWI2MjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDgtMDQg
IEpvbiBIb25leWN1dHQgIDxqaG9uZXljdXR0QGFwcGxlLmNvbT4KKworICAgICAgICBXZWJLaXRU
ZXN0UnVubmVyIG5lZWRzIHRvIGJlIGFibGUgdG8gc2V0IHRoZSBmb250IHNtb290aGluZyB0eXBl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzQwNgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgIEFkZCBGb250U21vb3RoaW5nTGV2ZWwu
aCB0byB0aGUgcHJvamVjdC4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRTbW9v
dGhpbmdMZXZlbC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Oik6CisgICAgICAgIERlY2xh
cmUgc29tZSBmb250IHNtb290aGluZyBsZXZlbCBjb25zdGFudHMuCisKIDIwMTAtMDgtMDMgIE1h
cmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggdGhlIGkzODYgYnVpbGQg
d2l0aCBhIHN0YXRpY19jYXN0IGhhbW1lci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qCmluZGV4IGU3MjM1NzIuLjU0ZDBiZDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvagpAQCAtNTQ1LDYgKzU0NSwxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZp
bGUNCisJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5h
bWUpXERlcml2ZWRTb3VyY2VzXEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmNwcCINCisJCQkJ
Pg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0
cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSW5zcGVjdG9yQmFja2Vu
ZERpc3BhdGNoZXIuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxh
dGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcV2ViQ29yZVxEZXJpdmVkU291cmNlc1xK
U0Fic3RyYWN0V29ya2VyLmNwcCINCiAJCQkJPg0KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBA
IC0yMDY4NSwxNCArMjA2OTMsNiBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0J
CQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmNwcCINCi0JCQkJPg0KLQkJ
CTwvRmlsZT4NCi0JCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGly
KVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSW5zcGVjdG9yQmFja2VuZERpc3Bh
dGNoZXIuaCINCi0JCQkJPg0KLQkJCTwvRmlsZT4NCi0JCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBh
dGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
UmVtb3RlSW5zcGVjdG9yRnJvbnRlbmQuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KQEAgLTIy
NzA1LDE1ICsyMjcwNSwxNSBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJ
UmVsYXRpdmVQYXRoPSIuLlxsb2FkZXJcRG9jdW1lbnRMb2FkVGltaW5nLmgiDQorCQkJCVJlbGF0
aXZlUGF0aD0iLi5cbG9hZGVyXERvY3VtZW50TG9hZGVyLmNwcCINCiAJCQkJPg0KIAkJCTwvRmls
ZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGxvYWRlclxEb2N1bWVudExvYWRl
ci5jcHAiDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cbG9hZGVyXERvY3VtZW50TG9hZGVyLmgiDQog
CQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxsb2Fk
ZXJcRG9jdW1lbnRMb2FkZXIuaCINCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxsb2FkZXJcRG9jdW1l
bnRMb2FkVGltaW5nLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCkBAIC0yNDE0
MCw2ICsyNDE0MCwxMCBAQAogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCisJCQkJ
CVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcRm9udFNtb290aGluZ0xldmVsLmgi
DQorCQkJCQk+DQorCQkJCTwvRmlsZT4NCisJCQkJPEZpbGUNCiAJCQkJCVJlbGF0aXZlUGF0aD0i
Li5ccGxhdGZvcm1cZ3JhcGhpY3NcRm9udFNtb290aGluZ01vZGUuaCINCiAJCQkJCT4NCiAJCQkJ
PC9GaWxlPg0KQEAgLTI0MzYwLDE1ICsyNDM2NCwxNSBAQAogCQkJCQk+DQogCQkJCTwvRmlsZT4N
CiAJCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcV09G
RkZpbGVGb3JtYXQuY3BwIg0KKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxncmFwaGlj
c1xVbml0QmV6aWVyLmgiDQogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCi0JCQkJ
CVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcV09GRkZpbGVGb3JtYXQuaCINCisJ
CQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcV09GRkZpbGVGb3JtYXQuY3Bw
Ig0KIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXFVuaXRCZXppZXIuaCINCisJCQkJCVJlbGF0aXZlUGF0aD0i
Li5ccGxhdGZvcm1cZ3JhcGhpY3NcV09GRkZpbGVGb3JtYXQuaCINCiAJCQkJCT4NCiAJCQkJPC9G
aWxlPg0KIAkJCQk8RmlsdGVyDQpAQCAtNDA4NDQsMTUgKzQwODQ4LDE1IEBACiAJCQkJUmVsYXRp
dmVQYXRoPSIuLlxiaW5kaW5nc1xTY3JpcHRDb250cm9sbGVyQmFzZS5oIg0KIAkJCQk+DQogCQkJ
PC9GaWxlPg0KLSAJCQk8RmlsdGVyDQorCQkJPEZpbHRlcg0KIAkJCQlOYW1lPSJnZW5lcmljIg0K
IAkJCQk+DQogCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGdlbmVy
aWNcQWN0aXZlRE9NQ2FsbGJhY2suaCINCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3Nc
Z2VuZXJpY1xBY3RpdmVET01DYWxsYmFjay5jcHAiDQogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJ
CQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcZ2VuZXJpY1xBY3RpdmVE
T01DYWxsYmFjay5jcHAiDQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGdlbmVyaWNc
QWN0aXZlRE9NQ2FsbGJhY2suaCINCiAJCQkJCT4NCiAJCQkJPC9GaWxlPg0KIAkJCTwvRmlsdGVy
Pg0KQEAgLTQ0NTYwLDExICs0NDU2NCw3IEBACiAJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQog
CQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRw
dXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0lEQkRhdGFiYXNlLmgi
DQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0i
JChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0lE
QkRhdGFiYXNlRXJyb3IuY3BwIg0KKwkJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERp
cilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTSURCRGF0YWJhc2UuY3BwIg0K
IAkJCQkJPg0KIAkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQogCQkJCQkJTmFtZT0iRGVidWd8V2lu
MzIiDQpAQCAtNDQ2MTYsMTEgKzQ0NjE2LDE1IEBACiAJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+
DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRP
dXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0lEQkRhdGFiYXNl
RXJyb3IuaCINCisJCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0lEQkRhdGFiYXNlLmgiDQogCQkJCQk+DQogCQkJ
CTwvRmlsZT4NCiAJCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0lEQkRhdGFiYXNlRXhjZXB0
aW9uLmNwcCINCisJCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0lEQkRhdGFiYXNlLmgiDQorCQkJCQk+DQorCQkJ
CTwvRmlsZT4NCisJCQkJPEZpbGUNCisJCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0lEQkRhdGFiYXNlRXJyb3Iu
Y3BwIg0KIAkJCQkJPg0KIAkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQogCQkJCQkJTmFtZT0iRGVi
dWd8V2luMzIiDQpAQCAtNDQ2NzIsMTEgKzQ0Njc2LDExIEBACiAJCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iJChX
ZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0lEQkRh
dGFiYXNlRXhjZXB0aW9uLmgiDQorCQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGly
KVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNJREJEYXRhYmFzZUVycm9yLmgi
DQogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0i
JChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0lE
QkRhdGFiYXNlLmNwcCINCisJCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9i
alwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0lEQkRhdGFiYXNlRXhjZXB0aW9uLmNw
cCINCiAJCQkJCT4NCiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KIAkJCQkJCU5hbWU9IkRlYnVn
fFdpbjMyIg0KQEAgLTQ0NzI4LDcgKzQ0NzMyLDcgQEAKIAkJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4NCiAJCQkJPC9GaWxlPg0KIAkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktp
dE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTSURCRGF0YWJh
c2UuaCINCisJCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0lEQkRhdGFiYXNlRXhjZXB0aW9uLmgiDQogCQkJCQk+
DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCkBAIC00NDc5Miw3ICs0NDc5Niw3IEBACiAJCQkJ
CT4NCiAJCQkJPC9GaWxlPg0KIAkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktp
dE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTSURCSW5kZXgu
Y3BwIg0KKwkJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVj
dE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTSURCRmFjdG9yeS5jcHAiDQogCQkJCQk+DQogCQkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24NCiAJCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCkBAIC00NDg0NCwx
MSArNDQ4NDgsMTEgQEAKIAkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCiAJCQkJPC9GaWxlPg0K
IAkJCQk8RmlsZQ0KLQkJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTSURCSW5kZXguaCINCisJCQkJCVJlbGF0aXZl
UGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNl
c1xKU0lEQkZhY3RvcnkuaCINCiAJCQkJCT4NCiAJCQkJPC9GaWxlPg0KIAkJCQk8RmlsZQ0KLQkJ
CQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTSURCS2V5LmNwcCINCisJCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRP
dXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0lEQkluZGV4LmNw
cCINCiAJCQkJCT4NCiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KIAkJCQkJCU5hbWU9IkRlYnVn
fFdpbjMyIg0KQEAgLTQ0OTAwLDExICs0NDkwNCwxMSBAQAogCQkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPg0KIAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2Vi
S2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNJREJLZXku
aCINCisJCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xKU0lEQkluZGV4LmgiDQogCQkJCQk+DQogCQkJCTwvRmlsZT4N
CiAJCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3NcanNcSlNJREJLZXlD
dXN0b20uY3BwIg0KKwkJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTSURCS2V5LmNwcCINCiAJCQkJCT4NCiAJCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbg0KIAkJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KQEAgLTQ0OTU2
LDcgKzQ0OTYwLDExIEBACiAJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQogCQkJCTwvRmlsZT4N
CiAJCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwk
KFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0lEQktleVJhbmdlLmNwcCINCisJCQkJCVJl
bGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU0lEQktleS5oIg0KKwkJCQkJPg0KKwkJCQk8L0ZpbGU+DQorCQkJCTxGaWxlDQor
CQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTSURCS2V5Q3VzdG9tLmNwcCINCiAJ
CQkJCT4NCiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KIAkJCQkJCU5hbWU9IkRlYnVnfFdpbjMy
Ig0KQEAgLTQ1MDA4LDExICs0NTAxNiw3IEBACiAJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQog
CQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRw
dXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0lEQktleVJhbmdlLmgi
DQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0i
JChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0lE
Qk9iamVjdFN0b3JlLmNwcCINCisJCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIp
XG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0lEQktleVJhbmdlLmNwcCINCiAJ
CQkJCT4NCiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KIAkJCQkJCU5hbWU9IkRlYnVnfFdpbjMy
Ig0KQEAgLTQ1MDY0LDYgKzQ1MDY4LDEwIEBACiAJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQog
CQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCisJCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRw
dXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0lEQktleVJhbmdlLmgi
DQorCQkJCQk+DQorCQkJCTwvRmlsZT4NCisJCQkJPEZpbGUNCiAJCQkJCVJlbGF0aXZlUGF0aD0i
JChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0lE
Qk9iamVjdFN0b3JlLmNwcCINCiAJCQkJCT4NCiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KQEAg
LTQ1MTE2LDExICs0NTEyNCw3IEBACiAJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQogCQkJCTwv
RmlsZT4NCiAJCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIp
XG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0lEQk9iamVjdFN0b3JlLmgiDQot
CQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iJChX
ZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0lEQlJl
cXVlc3QuY3BwIg0KKwkJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTSURCT2JqZWN0U3RvcmUuY3BwIg0KIAkJCQkJ
Pg0KIAkJCQkJPEZpbGVDb25maWd1cmF0aW9uDQogCQkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQpA
QCAtNDUxNzIsMTEgKzQ1MTc2LDExIEBACiAJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+DQogCQkJ
CTwvRmlsZT4NCiAJCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXRE
aXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0lEQlJlcXVlc3QuaCINCisJ
CQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxE
ZXJpdmVkU291cmNlc1xKU0lEQk9iamVjdFN0b3JlLmgiDQogCQkJCQk+DQogCQkJCTwvRmlsZT4N
CiAJCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwk
KFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0lEQlN1Y2Nlc3NFdmVudC5jcHAiDQorCQkJ
CQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVy
aXZlZFNvdXJjZXNcSlNJREJSZXF1ZXN0LmNwcCINCiAJCQkJCT4NCiAJCQkJCTxGaWxlQ29uZmln
dXJhdGlvbg0KIAkJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KQEAgLTQ1MjI4LDExICs0NTIzMiwx
MSBAQAogCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KIAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxl
DQotCQkJCQlSZWxhdGl2ZVBhdGg9IiQoV2ViS2l0T3V0cHV0RGlyKVxvYmpcJChQcm9qZWN0TmFt
ZSlcRGVyaXZlZFNvdXJjZXNcSlNJREJTdWNjZXNzRXZlbnQuaCINCisJCQkJCVJlbGF0aXZlUGF0
aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xK
U0lEQlJlcXVlc3QuaCINCiAJCQkJCT4NCiAJCQkJPC9GaWxlPg0KIAkJCQk8RmlsZQ0KLQkJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU0ltYWdlQ29uc3RydWN0b3IuY3BwIg0KKwkJ
CQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTSURCU3VjY2Vzc0V2ZW50LmNwcCINCiAJCQkJCT4NCiAJCQkJCTxGaWxl
Q29uZmlndXJhdGlvbg0KIAkJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIg0KQEAgLTQ1Mjg0LDExICs0
NTI4OCwxMSBAQAogCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPg0KIAkJCQk8L0ZpbGU+DQogCQkJ
CTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTSW1hZ2VDb25zdHJ1
Y3Rvci5oIg0KKwkJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTSURCU3VjY2Vzc0V2ZW50LmgiDQogCQkJCQk+DQog
CQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZlUGF0aD0iLi5cYmluZGluZ3Nc
anNcSlNJbWFnZURhdGFDdXN0b20uY3BwIg0KKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5n
c1xqc1xKU0ltYWdlQ29uc3RydWN0b3IuY3BwIg0KIAkJCQkJPg0KIAkJCQkJPEZpbGVDb25maWd1
cmF0aW9uDQogCQkJCQkJTmFtZT0iRGVidWd8V2luMzIiDQpAQCAtNDUzNDAsNyArNDUzNDQsMTEg
QEAKIAkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4NCiAJCQkJPC9GaWxlPg0KIAkJCQk8RmlsZQ0K
LQkJCQkJUmVsYXRpdmVQYXRoPSIkKFdlYktpdE91dHB1dERpcilcb2JqXCQoUHJvamVjdE5hbWUp
XERlcml2ZWRTb3VyY2VzXEpTSURCRmFjdG9yeS5jcHAiDQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XGJpbmRpbmdzXGpzXEpTSW1hZ2VDb25zdHJ1Y3Rvci5oIg0KKwkJCQkJPg0KKwkJCQk8L0ZpbGU+
DQorCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGJpbmRpbmdzXGpzXEpTSW1hZ2VE
YXRhQ3VzdG9tLmNwcCINCiAJCQkJCT4NCiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbg0KIAkJCQkJ
CU5hbWU9IkRlYnVnfFdpbjMyIg0KQEAgLTQ1MzkyLDEwICs0NTQwMCw2IEBACiAJCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCi0JCQkJCVJlbGF0aXZl
UGF0aD0iJChXZWJLaXRPdXRwdXREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNl
c1xKU0lEQkZhY3RvcnkuaCINCi0JCQkJCT4NCi0JCQkJPC9GaWxlPg0KLQkJCQk8RmlsZQ0KIAkJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxiaW5kaW5nc1xqc1xKU0luamVjdGVkU2NyaXB0SG9zdEN1c3Rv
bS5jcHAiDQogCQkJCQk+DQogCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24NCkBAIC01MDEzNywxOSAr
NTAxNDEsMTkgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZl
UGF0aD0iLi5cc3RvcmFnZVxJREJEYXRhYmFzZS5oIg0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN0
b3JhZ2VcSURCRGF0YWJhc2UuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQot
CQkJCVJlbGF0aXZlUGF0aD0iLi5cc3RvcmFnZVxJREJEYXRhYmFzZS5jcHAiDQorCQkJCVJlbGF0
aXZlUGF0aD0iLi5cc3RvcmFnZVxJREJEYXRhYmFzZS5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0K
IAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3RvcmFnZVxJREJEYXRhYmFzZUJhY2tl
bmRJbXBsLmgiDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3RvcmFnZVxJREJEYXRhYmFzZUJhY2tl
bmRJbXBsLmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXHN0b3JhZ2VcSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHAiDQorCQkJCVJlbGF0
aXZlUGF0aD0iLi5cc3RvcmFnZVxJREJEYXRhYmFzZUJhY2tlbmRJbXBsLmgiDQogCQkJCT4NCiAJ
CQk8L0ZpbGU+DQogCQkJPEZpbGUNCkBAIC01MDE4MSw5OSArNTAxODUsOTkgQEAKIAkJCQk+DQog
CQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3RvcmFnZVxJREJJ
bmRleC5jcHAiDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3RvcmFnZVxJREJGYWN0b3J5LmNwcCIN
CiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN0
b3JhZ2VcSURCSW5kZXguaCINCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxzdG9yYWdlXElEQkZhY3Rv
cnkuaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXHN0b3JhZ2VcSURCSW5kZXhCYWNrZW5kSW50ZXJmYWNlLmgiDQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5cc3RvcmFnZVxJREJGYWN0b3J5QmFja2VuZEltcGwuY3BwIg0KIAkJCQk+DQogCQkJPC9G
aWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3RvcmFnZVxJREJJbmRleEJh
Y2tlbmRJbXBsLmNwcCINCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxzdG9yYWdlXElEQkZhY3RvcnlC
YWNrZW5kSW1wbC5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0
aXZlUGF0aD0iLi5cc3RvcmFnZVxJREJJbmRleEJhY2tlbmRJbXBsLmgiDQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cc3RvcmFnZVxJREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5jcHAiDQogCQkJCT4N
CiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxzdG9yYWdlXElE
QktleS5jcHAiDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3RvcmFnZVxJREJGYWN0b3J5QmFja2Vu
ZEludGVyZmFjZS5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0
aXZlUGF0aD0iLi5cc3RvcmFnZVxJREJLZXkuaCINCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxzdG9y
YWdlXElEQkluZGV4LmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXHN0b3JhZ2VcSURCS2V5UmFuZ2UuY3BwIg0KKwkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXHN0b3JhZ2VcSURCSW5kZXguaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8Rmls
ZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN0b3JhZ2VcSURCS2V5UmFuZ2UuaCINCisJCQkJUmVs
YXRpdmVQYXRoPSIuLlxzdG9yYWdlXElEQkluZGV4QmFja2VuZEltcGwuY3BwIg0KIAkJCQk+DQog
CQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3RvcmFnZVxJREJP
YmplY3RTdG9yZS5jcHAiDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3RvcmFnZVxJREJJbmRleEJh
Y2tlbmRJbXBsLmgiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRp
dmVQYXRoPSIuLlxzdG9yYWdlXElEQk9iamVjdFN0b3JlLmgiDQorCQkJCVJlbGF0aXZlUGF0aD0i
Li5cc3RvcmFnZVxJREJJbmRleEJhY2tlbmRJbnRlcmZhY2UuaCINCiAJCQkJPg0KIAkJCTwvRmls
ZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN0b3JhZ2VcSURCT2JqZWN0U3Rv
cmVCYWNrZW5kSW1wbC5jcHAiDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3RvcmFnZVxJREJLZXku
Y3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0i
Li5cc3RvcmFnZVxJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmgiDQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5cc3RvcmFnZVxJREJLZXkuaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0K
LQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN0b3JhZ2VcSURCT2JqZWN0U3RvcmVCYWNrZW5kSW50ZXJm
YWNlLmgiDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3RvcmFnZVxJREJLZXlSYW5nZS5jcHAiDQog
CQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxzdG9y
YWdlXElEQlJlcXVlc3QuY3BwIg0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN0b3JhZ2VcSURCS2V5
UmFuZ2UuaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXHN0b3JhZ2VcSURCUmVxdWVzdC5oIg0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN0b3Jh
Z2VcSURCT2JqZWN0U3RvcmUuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQot
CQkJCVJlbGF0aXZlUGF0aD0iLi5cc3RvcmFnZVxJREJTdWNjZXNzRXZlbnQuY3BwIg0KKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXHN0b3JhZ2VcSURCT2JqZWN0U3RvcmUuaCINCiAJCQkJPg0KIAkJCTwv
RmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN0b3JhZ2VcSURCU3VjY2Vz
c0V2ZW50LmgiDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cc3RvcmFnZVxJREJPYmplY3RTdG9yZUJh
Y2tlbmRJbXBsLmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXHN0b3JhZ2VcSURCRmFjdG9yeS5jcHAiDQorCQkJCVJlbGF0aXZlUGF0aD0i
Li5cc3RvcmFnZVxJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmgiDQogCQkJCT4NCiAJCQk8L0Zp
bGU+DQogCQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxzdG9yYWdlXElEQkZhY3Rvcnku
aCINCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxzdG9yYWdlXElEQk9iamVjdFN0b3JlQmFja2VuZElu
dGVyZmFjZS5oIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQotCQkJCVJlbGF0aXZl
UGF0aD0iLi5cc3RvcmFnZVxJREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5jcHAiDQorCQkJCVJl
bGF0aXZlUGF0aD0iLi5cc3RvcmFnZVxJREJSZXF1ZXN0LmNwcCINCiAJCQkJPg0KIAkJCTwvRmls
ZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN0b3JhZ2VcSURCRmFjdG9yeUJh
Y2tlbmRJbnRlcmZhY2UuaCINCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxzdG9yYWdlXElEQlJlcXVl
c3QuaCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXHN0b3JhZ2VcSURCRmFjdG9yeUJhY2tlbmRJbXBsLmNwcCINCisJCQkJUmVsYXRpdmVQYXRo
PSIuLlxzdG9yYWdlXElEQlN1Y2Nlc3NFdmVudC5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQog
CQkJPEZpbGUNCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxzdG9yYWdlXElEQkZhY3RvcnlCYWNrZW5k
SW1wbC5oIg0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN0b3JhZ2VcSURCU3VjY2Vzc0V2ZW50Lmgi
DQogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRTbW9vdGhpbmdMZXZlbC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250U21vb3RoaW5nTGV2ZWwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi43ZjM0NzQxCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250U21vb3RoaW5nTGV2ZWwuaApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgRm9udFNtb290aGluZ0xl
dmVsX2gKKyNkZWZpbmUgRm9udFNtb290aGluZ0xldmVsX2gKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitlbnVtIHsKKyAgICBGb250U21vb3RoaW5nTGV2ZWxTdGFuZGFyZCA9IDAsCisgICAgRm9u
dFNtb290aGluZ0xldmVsTGlnaHQgPSAxLAorICAgIEZvbnRTbW9vdGhpbmdMZXZlbE1lZGl1bSA9
IDIsCisgICAgRm9udFNtb290aGluZ0xldmVsU3Ryb25nID0gMywKKyAgICBGb250U21vb3RoaW5n
TGV2ZWxXaW5kb3dzID0gNCwKK307Cit0eXBlZGVmIHVpbnQzMl90IEZvbnRTbW9vdGhpbmdMZXZl
bDsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRm9udFNtb290aGluZ0xl
dmVsX2gKZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cK
aW5kZXggYjViNDJkZi4uMDY5MGI2MCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2NiBAQAorMjAxMC0wOC0wNCAgSm9uIEhv
bmV5Y3V0dCAgPGpob25leWN1dHRAYXBwbGUuY29tPgorCisgICAgICAgIFdlYktpdFRlc3RSdW5u
ZXIgbmVlZHMgdG8gYmUgYWJsZSB0byBzZXQgdGhlIGZvbnQgc21vb3RoaW5nIHR5cGUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzNDA2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJl
ZmVyZW5jZXNTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6
OldlYlByZWZlcmVuY2VzU3RvcmUpOgorICAgICAgICBJbml0aWFsaXplIGZvbnRTbW9vdGhpbmdM
ZXZlbC4KKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6c3dhcCk6CisgICAg
ICAgIENvcHkgZm9udFNtb290aGluZ0xldmVsLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZl
cmVuY2VzU3RvcmUuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6ZW5j
b2RlKToKKyAgICAgICAgRW5jb2RlIGZvbnRTbW9vdGhpbmdMZXZlbC4KKyAgICAgICAgKFdlYktp
dDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6ZGVjb2RlKToKKyAgICAgICAgRGVjb2RlIGl0LgorCisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQ
cmVmZXJlbmNlc1NldEZvbnRTbW9vdGhpbmdMZXZlbCk6CisgICAgICAgIEdldCB0aGUgV2ViQ29y
ZSBmb250IHNtb290aGluZyBsZXZlbCBmcm9tIHRoZSBXS0ZvbnRTbW9vdGhpbmdMZXZlbCwgYW5k
CisgICAgICAgIGNhbGwgV2ViUHJlZmVyZW5jZXM6OnNldEZvbnRTbW9vdGhpbmdMZXZlbCgpLgor
ICAgICAgICAoV0tQcmVmZXJlbmNlc0dldEZvbnRTbW9vdGhpbmdMZXZlbCk6CisgICAgICAgIEdl
dCB0aGUgZm9udCBzbW9vdGhpbmcgbGV2ZWwgZnJvbSBXZWJQcmVmZXJlbmNlcywgYW5kIHRyYW5z
bGF0ZSBpdCB0byBhCisgICAgICAgIFdLRm9udFNtb290aGluZ0xldmVsLgorCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaDoKKyAgICAgICAgRGVjbGFyZSB0aGUgZm9u
dCBzbW9vdGhpbmcgbGV2ZWxzLCBhbmQgZGVjbGFyZSBmdW5jdGlvbnMgdG8gZ2V0IGFuZCBzZXQK
KyAgICAgICAgdGhlIGxldmVsLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlByZWZlcmVuY2Vz
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6OnNldEZvbnRTbW9vdGhpbmdM
ZXZlbCk6CisgICAgICAgIFNldCBmb250U21vb3RoaW5nTGV2ZWwgYW5kIGNhbGwgdXBkYXRlKCku
CisgICAgICAgIChXZWJLaXQ6OldlYlByZWZlcmVuY2VzOjpmb250U21vb3RoaW5nTGV2ZWwpOgor
ICAgICAgICBSZXR1cm4gdGhlIGxldmVsLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYlByZWZl
cmVuY2VzLmg6CisgICAgICAgIERlY2xhcmUgZ2V0dGVyIGFuZCBzZXR0ZXIgZm9yIGZvbnRTbW9v
dGhpbmdMZXZlbCwgYW5kIGFkZCBhIG1lbWJlciB0bworICAgICAgICBob2xkIHRoZSBsZXZlbC4K
KworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6cHJlZmVyZW5jZXNEaWRDaGFuZ2UpOgorICAgICAgICBDYWxsIHBsYXRm
b3JtUHJlZmVyZW5jZXNEaWRDaGFuZ2UoKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmg6CisgICAgICAgIERlY2xhcmUgcGxhdGZvcm1QcmVmZXJlbmNlc0RpZENoYW5n
ZSgpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwbGF0Zm9ybVByZWZlcmVuY2VzRGlkQ2hhbmdlKToK
KyAgICAgICAgU3R1YmJlZC4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9xdC9XZWJQ
YWdlUXQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwbGF0Zm9ybVByZWZlcmVuY2Vz
RGlkQ2hhbmdlKToKKyAgICAgICAgU3R1YmJlZC4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS93aW4vV2ViUGFnZVdpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBsYXRm
b3JtUHJlZmVyZW5jZXNEaWRDaGFuZ2UpOgorICAgICAgICBPbiBDRyBwbGF0Zm9ybXMsIGNhbGwg
d2tTZXRGb250U21vb3RoaW5nTGV2ZWwoKS4gVGhpcyBtYXRjaGVzIHRoZSBjb2RlCisgICAgICAg
IGluIG9sZCBXZWJLaXQncyBXZWJQcmVmZXJlbmNlcy4gU2V0IHRoZSBmb250IHJlbmRlcmluZyBt
b2RlIHRvIGVpdGhlcgorICAgICAgICBub3JtYWwgKENHKSBvciBhbHRlcm5hdGl2ZSAoR0RJKSBi
YXNlZCBvbiB0aGUgZm9udCBzbW9vdGhpbmcgbGV2ZWwuIFRoaXMKKyAgICAgICAgbWF0Y2hlcyB3
aGF0IHdhcyBkb25lIGluIG9sZCBXZWJLaXQncyBXZWJWaWV3LgorCiAyMDEwLTA4LTAzICBKb24g
SG9uZXljdXR0ICA8amhvbmV5Y3V0dEBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViS2l0VGVzdFJ1
bm5lciBuZWVkcyB0byBhY3RpdmF0ZSB0aGUgTWFjIGZvbnQgYXNjZW50IGhhY2sKZGlmZiAtLWdp
dCBhL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuY3BwIGIvV2ViS2l0Mi9TaGFy
ZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5jcHAKaW5kZXggNWViOTBlNi4uOGU5NTk4NCAxMDA2NDQK
LS0tIGEvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5jcHAKKysrIGIvV2ViS2l0
Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5jcHAKQEAgLTI1LDYgKzI1LDEwIEBACiAKICNp
bmNsdWRlICJXZWJQcmVmZXJlbmNlc1N0b3JlLmgiCiAKKyNpbmNsdWRlIDxXZWJDb3JlL0ZvbnRT
bW9vdGhpbmdMZXZlbC5oPgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKwogbmFtZXNwYWNl
IFdlYktpdCB7CiAKIFdlYlByZWZlcmVuY2VzU3RvcmU6OldlYlByZWZlcmVuY2VzU3RvcmUoKQpA
QCAtMzMsNiArMzcsNyBAQCBXZWJQcmVmZXJlbmNlc1N0b3JlOjpXZWJQcmVmZXJlbmNlc1N0b3Jl
KCkKICAgICAsIHBsdWdpbnNFbmFibGVkKHRydWUpCiAgICAgLCBvZmZsaW5lV2ViQXBwbGljYXRp
b25DYWNoZUVuYWJsZWQoZmFsc2UpCiAgICAgLCBsb2NhbFN0b3JhZ2VFbmFibGVkKHRydWUpCisg
ICAgLCBmb250U21vb3RoaW5nTGV2ZWwoRm9udFNtb290aGluZ0xldmVsTWVkaXVtKQogICAgICwg
bWluaW11bUZvbnRTaXplKDkpCiAgICAgLCBtaW5pbXVtTG9naWNhbEZvbnRTaXplKDkpCiAgICAg
LCBkZWZhdWx0Rm9udFNpemUoMTYpCkBAIC01Myw2ICs1OCw3IEBAIFdlYlByZWZlcmVuY2VzU3Rv
cmU6OldlYlByZWZlcmVuY2VzU3RvcmUoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgb3RoZXIp
CiAgICAgcGx1Z2luc0VuYWJsZWQgPSBvdGhlci5wbHVnaW5zRW5hYmxlZDsKICAgICBvZmZsaW5l
V2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQgPSBvdGhlci5vZmZsaW5lV2ViQXBwbGljYXRpb25D
YWNoZUVuYWJsZWQ7CiAgICAgbG9jYWxTdG9yYWdlRW5hYmxlZCA9IG90aGVyLmxvY2FsU3RvcmFn
ZUVuYWJsZWQ7CisgICAgZm9udFNtb290aGluZ0xldmVsID0gb3RoZXIuZm9udFNtb290aGluZ0xl
dmVsOwogICAgIG1pbmltdW1Gb250U2l6ZSA9IG90aGVyLm1pbmltdW1Gb250U2l6ZTsKICAgICBt
aW5pbXVtTG9naWNhbEZvbnRTaXplID0gb3RoZXIubWluaW11bUxvZ2ljYWxGb250U2l6ZTsKICAg
ICBkZWZhdWx0Rm9udFNpemUgPSBvdGhlci5kZWZhdWx0Rm9udFNpemU7CkBAIC04MCw2ICs4Niw3
IEBAIHZvaWQgV2ViUHJlZmVyZW5jZXNTdG9yZTo6c3dhcChXZWJQcmVmZXJlbmNlc1N0b3JlJiBv
dGhlcikKICAgICBzdGQ6OnN3YXAocGx1Z2luc0VuYWJsZWQsIG90aGVyLnBsdWdpbnNFbmFibGVk
KTsKICAgICBzdGQ6OnN3YXAob2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkLCBvdGhl
ci5vZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQpOwogICAgIHN0ZDo6c3dhcChsb2Nh
bFN0b3JhZ2VFbmFibGVkLCBvdGhlci5sb2NhbFN0b3JhZ2VFbmFibGVkKTsKKyAgICBzdGQ6OnN3
YXAoZm9udFNtb290aGluZ0xldmVsLCBvdGhlci5mb250U21vb3RoaW5nTGV2ZWwpOwogICAgIHN0
ZDo6c3dhcChtaW5pbXVtRm9udFNpemUsIG90aGVyLm1pbmltdW1Gb250U2l6ZSk7CiAgICAgc3Rk
Ojpzd2FwKG1pbmltdW1Mb2dpY2FsRm9udFNpemUsIG90aGVyLm1pbmltdW1Mb2dpY2FsRm9udFNp
emUpOwogICAgIHN0ZDo6c3dhcChkZWZhdWx0Rm9udFNpemUsIG90aGVyLmRlZmF1bHRGb250U2l6
ZSk7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmggYi9X
ZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgKaW5kZXggM2UzNzE3Mi4uYWNmMmE4
ZiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCisrKyBi
L1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaApAQCAtNDYsNiArNDYsNyBAQCBz
dHJ1Y3QgV2ViUHJlZmVyZW5jZXNTdG9yZSB7CiAgICAgICAgIGVuY29kZXIuZW5jb2RlKHBsdWdp
bnNFbmFibGVkKTsKICAgICAgICAgZW5jb2Rlci5lbmNvZGUob2ZmbGluZVdlYkFwcGxpY2F0aW9u
Q2FjaGVFbmFibGVkKTsKICAgICAgICAgZW5jb2Rlci5lbmNvZGUobG9jYWxTdG9yYWdlRW5hYmxl
ZCk7CisgICAgICAgIGVuY29kZXIuZW5jb2RlKGZvbnRTbW9vdGhpbmdMZXZlbCk7CiAgICAgICAg
IGVuY29kZXIuZW5jb2RlKG1pbmltdW1Gb250U2l6ZSk7CiAgICAgICAgIGVuY29kZXIuZW5jb2Rl
KG1pbmltdW1Mb2dpY2FsRm9udFNpemUpOwogICAgICAgICBlbmNvZGVyLmVuY29kZShkZWZhdWx0
Rm9udFNpemUpOwpAQCAtNzAsNiArNzEsOCBAQCBzdHJ1Y3QgV2ViUHJlZmVyZW5jZXNTdG9yZSB7
CiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
cy5sb2NhbFN0b3JhZ2VFbmFibGVkKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAg
ICAgaWYgKCFkZWNvZGVyLmRlY29kZShzLmZvbnRTbW9vdGhpbmdMZXZlbCkpCisgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUocy5taW5pbXVtRm9u
dFNpemUpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKHMubWluaW11bUxvZ2ljYWxGb250U2l6ZSkpCkBAIC05OSw2ICsxMDIsOCBAQCBzdHJ1
Y3QgV2ViUHJlZmVyZW5jZXNTdG9yZSB7CiAgICAgYm9vbCBvZmZsaW5lV2ViQXBwbGljYXRpb25D
YWNoZUVuYWJsZWQ7CiAgICAgYm9vbCBsb2NhbFN0b3JhZ2VFbmFibGVkOwogCisgICAgdWludDMy
X3QgZm9udFNtb290aGluZ0xldmVsOworCiAgICAgdWludDMyX3QgbWluaW11bUZvbnRTaXplOwog
ICAgIHVpbnQzMl90IG1pbmltdW1Mb2dpY2FsRm9udFNpemU7CiAgICAgdWludDMyX3QgZGVmYXVs
dEZvbnRTaXplOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJl
bmNlcy5jcHAgYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAppbmRl
eCA3YmUzMjUyLi5jNTZmYzNlIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzLmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVu
Y2VzLmNwcApAQCAtMjcsOSArMjcsMTEgQEAKIAogI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgogI2lu
Y2x1ZGUgIldlYlByZWZlcmVuY2VzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9Gb250U21vb3RoaW5n
TGV2ZWwuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KIAordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0
OwogCiBXS1R5cGVJRCBXS1ByZWZlcmVuY2VzR2V0VHlwZUlEKCkKQEAgLTg5LDYgKzkxLDUzIEBA
IGJvb2wgV0tQcmVmZXJlbmNlc0dldExvY2FsU3RvcmFnZUVuYWJsZWQoV0tQcmVmZXJlbmNlc1Jl
ZiBwcmVmZXJlbmNlc1JlZikKICAgICByZXR1cm4gdG9XSyhwcmVmZXJlbmNlc1JlZiktPmxvY2Fs
U3RvcmFnZUVuYWJsZWQoKTsKIH0KIAordm9pZCBXS1ByZWZlcmVuY2VzU2V0Rm9udFNtb290aGlu
Z0xldmVsKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIFdLRm9udFNtb290aGluZ0xl
dmVsIHdrTGV2ZWwpCit7CisgICAgRm9udFNtb290aGluZ0xldmVsIGxldmVsID0gRm9udFNtb290
aGluZ0xldmVsU3RhbmRhcmQ7CisgICAgc3dpdGNoICh3a0xldmVsKSB7CisgICAgICAgIGNhc2Ug
a1dLRm9udFNtb290aGluZ0xldmVsU3RhbmRhcmQ6CisgICAgICAgICAgICBsZXZlbCA9IEZvbnRT
bW9vdGhpbmdMZXZlbFN0YW5kYXJkOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Ug
a1dLRm9udFNtb290aGluZ0xldmVsTGlnaHQ6CisgICAgICAgICAgICBsZXZlbCA9IEZvbnRTbW9v
dGhpbmdMZXZlbExpZ2h0OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2Uga1dLRm9u
dFNtb290aGluZ0xldmVsTWVkaXVtOgorICAgICAgICAgICAgbGV2ZWwgPSBGb250U21vb3RoaW5n
TGV2ZWxNZWRpdW07CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBrV0tGb250U21v
b3RoaW5nTGV2ZWxTdHJvbmc6CisgICAgICAgICAgICBsZXZlbCA9IEZvbnRTbW9vdGhpbmdMZXZl
bFN0cm9uZzsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIGtXS0ZvbnRTbW9vdGhp
bmdMZXZlbFdpbmRvd3M6CisgICAgICAgICAgICBsZXZlbCA9IEZvbnRTbW9vdGhpbmdMZXZlbFdp
bmRvd3M7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgbGV2ZWwgPSBGb250U21vb3RoaW5n
TGV2ZWxNZWRpdW07CisgICAgICAgICAgICBicmVhazsKKyAgICB9CisgICAgdG9XSyhwcmVmZXJl
bmNlc1JlZiktPnNldEZvbnRTbW9vdGhpbmdMZXZlbChsZXZlbCk7Cit9CisKK1dLRm9udFNtb290
aGluZ0xldmVsIFdLUHJlZmVyZW5jZXNHZXRGb250U21vb3RoaW5nTGV2ZWwoV0tQcmVmZXJlbmNl
c1JlZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAgICBGb250U21vb3RoaW5nTGV2ZWwgbGV2ZWwgPSB0
b1dLKHByZWZlcmVuY2VzUmVmKS0+Zm9udFNtb290aGluZ0xldmVsKCk7CisgICAgc3dpdGNoIChs
ZXZlbCkgeworICAgICAgICBjYXNlIEZvbnRTbW9vdGhpbmdMZXZlbFN0YW5kYXJkOgorICAgICAg
ICAgICAgcmV0dXJuIGtXS0ZvbnRTbW9vdGhpbmdMZXZlbFN0YW5kYXJkOworICAgICAgICBjYXNl
IEZvbnRTbW9vdGhpbmdMZXZlbExpZ2h0OgorICAgICAgICAgICAgcmV0dXJuIGtXS0ZvbnRTbW9v
dGhpbmdMZXZlbExpZ2h0OworICAgICAgICBjYXNlIEZvbnRTbW9vdGhpbmdMZXZlbE1lZGl1bToK
KyAgICAgICAgICAgIHJldHVybiBrV0tGb250U21vb3RoaW5nTGV2ZWxNZWRpdW07CisgICAgICAg
IGNhc2UgRm9udFNtb290aGluZ0xldmVsU3Ryb25nOgorICAgICAgICAgICAgcmV0dXJuIGtXS0Zv
bnRTbW9vdGhpbmdMZXZlbFN0cm9uZzsKKyAgICAgICAgY2FzZSBGb250U21vb3RoaW5nTGV2ZWxX
aW5kb3dzOgorICAgICAgICAgICAgcmV0dXJuIGtXS0ZvbnRTbW9vdGhpbmdMZXZlbFdpbmRvd3M7
CisgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIGtXS0ZvbnRT
bW9vdGhpbmdMZXZlbFN0YW5kYXJkOworfQorCiBXS1ByZWZlcmVuY2VzUmVmIFdLUHJlZmVyZW5j
ZXNSZXRhaW4oV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKIHsKICAgICB0b1dLKHBy
ZWZlcmVuY2VzUmVmKS0+cmVmKCk7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2Vz
LmgKaW5kZXggZmJkZTkxNy4uOTllNjMxOCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tQcmVmZXJlbmNlcy5oCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJl
ZmVyZW5jZXMuaApAQCAtMzYsNiArMzYsMTUgQEAKIGV4dGVybiAiQyIgewogI2VuZGlmCiAKK2Vu
dW0gV0tGb250U21vb3RoaW5nTGV2ZWwgeworICAgIGtXS0ZvbnRTbW9vdGhpbmdMZXZlbFN0YW5k
YXJkID0gMCwKKyAgICBrV0tGb250U21vb3RoaW5nTGV2ZWxMaWdodCA9IDEsCisgICAga1dLRm9u
dFNtb290aGluZ0xldmVsTWVkaXVtID0gMiwKKyAgICBrV0tGb250U21vb3RoaW5nTGV2ZWxTdHJv
bmcgPSAzLAorICAgIGtXS0ZvbnRTbW9vdGhpbmdMZXZlbFdpbmRvd3MgPSA0LAorfTsKK3R5cGVk
ZWYgZW51bSBXS0ZvbnRTbW9vdGhpbmdMZXZlbCBXS0ZvbnRTbW9vdGhpbmdMZXZlbDsKKwogV0tf
RVhQT1JUIFdLVHlwZUlEIFdLUHJlZmVyZW5jZXNHZXRUeXBlSUQoKTsKIAogV0tfRVhQT1JUIFdL
UHJlZmVyZW5jZXNSZWYgV0tQcmVmZXJlbmNlc0NyZWF0ZSgpOwpAQCAtNTcsNiArNjYsMTAgQEAg
V0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldE9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hl
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmUKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRM
b2NhbFN0b3JhZ2VFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMsIGJvb2wgbG9j
YWxTdG9yYWdlRW5hYmxlZCk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TG9jYWxT
dG9yYWdlRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzKTsKIAorLy8gRGVmYXVs
dHMgdG8ga1dLRm9udFNtb290aGluZ0xldmVsTWVkaXVtLgorV0tfRVhQT1JUIHZvaWQgV0tQcmVm
ZXJlbmNlc1NldEZvbnRTbW9vdGhpbmdMZXZlbChXS1ByZWZlcmVuY2VzUmVmLCBXS0ZvbnRTbW9v
dGhpbmdMZXZlbCk7CitXS19FWFBPUlQgV0tGb250U21vb3RoaW5nTGV2ZWwgV0tQcmVmZXJlbmNl
c0dldEZvbnRTbW9vdGhpbmdMZXZlbChXS1ByZWZlcmVuY2VzUmVmKTsKKwogV0tfRVhQT1JUIFdL
UHJlZmVyZW5jZXNSZWYgV0tQcmVmZXJlbmNlc1JldGFpbihXS1ByZWZlcmVuY2VzUmVmIHByZWZl
cmVuY2VzKTsKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNSZWxlYXNlKFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXMpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
cmVmZXJlbmNlcy5jcHAgYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHAKaW5k
ZXggYWM0OWRmZS4uNTQ4NDNjOCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJl
ZmVyZW5jZXMuY3BwCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmNwcApA
QCAtMjcsNiArMjcsOCBAQAogCiAjaW5jbHVkZSAiV2ViQ29udGV4dC5oIgogCit1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKKwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIFdlYlByZWZlcmVuY2VzKiBX
ZWJQcmVmZXJlbmNlczo6c2hhcmVkKCkKQEAgLTEwOCw0ICsxMTAsMTUgQEAgYm9vbCBXZWJQcmVm
ZXJlbmNlczo6bG9jYWxTdG9yYWdlRW5hYmxlZCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fc3RvcmUu
bG9jYWxTdG9yYWdlRW5hYmxlZDsKIH0KIAordm9pZCBXZWJQcmVmZXJlbmNlczo6c2V0Rm9udFNt
b290aGluZ0xldmVsKEZvbnRTbW9vdGhpbmdMZXZlbCBsZXZlbCkKK3sKKyAgICBtX3N0b3JlLmZv
bnRTbW9vdGhpbmdMZXZlbCA9IGxldmVsOworICAgIHVwZGF0ZSgpOworfQorCitGb250U21vb3Ro
aW5nTGV2ZWwgV2ViUHJlZmVyZW5jZXM6OmZvbnRTbW9vdGhpbmdMZXZlbCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIG1fc3RvcmUuZm9udFNtb290aGluZ0xldmVsOworfQorCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmgg
Yi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oCmluZGV4IGE4MDcwYzYuLmY5YTkz
OWMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmgKKysrIGIv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuaApAQCAtMjgsNiArMjgsNyBAQAogCiAj
aW5jbHVkZSAiQVBJT2JqZWN0LmgiCiAjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXNTdG9yZS5oIgor
I2luY2x1ZGUgPFdlYkNvcmUvRm9udFNtb290aGluZ0xldmVsLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KQEAgLTY5LDYgKzcwLDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0TG9jYWxTdG9yYWdl
RW5hYmxlZChib29sKTsKICAgICBib29sIGxvY2FsU3RvcmFnZUVuYWJsZWQoKSBjb25zdDsKIAor
ICAgIHZvaWQgc2V0Rm9udFNtb290aGluZ0xldmVsKFdlYkNvcmU6OkZvbnRTbW9vdGhpbmdMZXZl
bCk7CisgICAgV2ViQ29yZTo6Rm9udFNtb290aGluZ0xldmVsIGZvbnRTbW9vdGhpbmdMZXZlbCgp
IGNvbnN0OworCiBwcml2YXRlOgogICAgIFdlYlByZWZlcmVuY2VzKCk7CiAgICAgV2ViUHJlZmVy
ZW5jZXMoV2ViUHJlZmVyZW5jZXMqKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAKaW5kZXggNmE2M2QwNS4uNmNhNjE0OSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKQEAgLTQ0OSw2ICs0NDksOCBAQCB2b2lkIFdlYlBhZ2U6OnByZWZlcmVuY2VzRGlk
Q2hhbmdlKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQogICAgIG1fcGFnZS0+c2V0
dGluZ3MoKS0+c2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KHN0b3JlLmxvYWRzSW1hZ2VzQXV0
b21hdGljYWxseSk7CiAgICAgbV9wYWdlLT5zZXR0aW5ncygpLT5zZXRPZmZsaW5lV2ViQXBwbGlj
YXRpb25DYWNoZUVuYWJsZWQoc3RvcmUub2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVk
KTsKICAgICBtX3BhZ2UtPnNldHRpbmdzKCktPnNldExvY2FsU3RvcmFnZUVuYWJsZWQoc3RvcmUu
bG9jYWxTdG9yYWdlRW5hYmxlZCk7CisKKyAgICBwbGF0Zm9ybVByZWZlcmVuY2VzRGlkQ2hhbmdl
KHN0b3JlKTsKIH0KIAogYm9vbCBXZWJQYWdlOjpoYW5kbGVFZGl0aW5nS2V5Ym9hcmRFdmVudChL
ZXlib2FyZEV2ZW50KiBldnQpCmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXgg
Mjk2NGE0Yy4uMDQ1NzU4ZCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAt
MTQ1LDYgKzE0NSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBydW5KYXZhU2NyaXB0SW5NYWluRnJh
bWUoY29uc3QgV2ViQ29yZTo6U3RyaW5nJiwgdWludDY0X3QgY2FsbGJhY2tJRCk7CiAgICAgdm9p
ZCBnZXRSZW5kZXJUcmVlRXh0ZXJuYWxSZXByZXNlbnRhdGlvbih1aW50NjRfdCBjYWxsYmFja0lE
KTsKICAgICB2b2lkIHByZWZlcmVuY2VzRGlkQ2hhbmdlKGNvbnN0IFdlYlByZWZlcmVuY2VzU3Rv
cmUmKTsKKyAgICB2b2lkIHBsYXRmb3JtUHJlZmVyZW5jZXNEaWRDaGFuZ2UoY29uc3QgV2ViUHJl
ZmVyZW5jZXNTdG9yZSYpOwogICAgIHZvaWQgZGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKFdlYkZy
YW1lKiwgdWludDY0X3QgbGlzdGVuZXJJRCwgV2ViQ29yZTo6UG9saWN5QWN0aW9uIHBvbGljeUFj
dGlvbik7CiAgICAgCiAgICAgV2ViQ29yZTo6UGFnZSogbV9wYWdlOwpkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0gYi9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQppbmRleCA1MmEyMTgzLi42MDkzNjY0IDEw
MDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQor
KysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQpAQCAtMTc0
LDQgKzE3NCw4IEBAIGNvbnN0IGNoYXIqIFdlYlBhZ2U6OmludGVycHJldEtleUV2ZW50KGNvbnN0
IEtleWJvYXJkRXZlbnQqIGV2dCkKICAgICByZXR1cm4gbWFwS2V5ID8ga2V5UHJlc3NDb21tYW5k
c01hcC0+Z2V0KG1hcEtleSkgOiAwOwogfQogCit2b2lkIFdlYlBhZ2U6OnBsYXRmb3JtUHJlZmVy
ZW5jZXNEaWRDaGFuZ2UoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYpCit7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
cXQvV2ViUGFnZVF0LmNwcCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L1dlYlBhZ2VR
dC5jcHAKaW5kZXggNjhlNWI2ZS4uMmFhYzU2NSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvcXQvV2ViUGFnZVF0LmNwcAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9xdC9XZWJQYWdlUXQuY3BwCkBAIC0yMDAsNSArMjAwLDkgQEAgY29uc3QgY2hhciogV2Vi
UGFnZTo6aW50ZXJwcmV0S2V5RXZlbnQoY29uc3QgS2V5Ym9hcmRFdmVudCogZXZ0KQogICAgIGlu
dCBtYXBLZXkgPSBtb2RpZmllcnMgPDwgMTYgfCBldnQtPmNoYXJDb2RlKCk7CiAgICAgcmV0dXJu
IG1hcEtleSA/IGtleVByZXNzQ29tbWFuZHNNYXAtPmdldChtYXBLZXkpIDogMDsKIH0KLSAgICAK
Kwordm9pZCBXZWJQYWdlOjpwbGF0Zm9ybVByZWZlcmVuY2VzRGlkQ2hhbmdlKGNvbnN0IFdlYlBy
ZWZlcmVuY2VzU3RvcmUmKQoreworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdp
dCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3dpbi9XZWJQYWdlV2luLmNwcCBiL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3dpbi9XZWJQYWdlV2luLmNwcAppbmRleCAxOWNiZDI3Li5h
Yjk5YzkxIDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS93aW4vV2ViUGFn
ZVdpbi5jcHAKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uvd2luL1dlYlBhZ2VXaW4u
Y3BwCkBAIC0yNSwxMSArMjUsMTQgQEAKIAogI2luY2x1ZGUgIldlYlBhZ2UuaCIKIAorI2luY2x1
ZGUgIldlYlByZWZlcmVuY2VzU3RvcmUuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0ZvbnRSZW5kZXJp
bmdNb2RlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Gb250U21vb3RoaW5nTGV2ZWwuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BhZ2UuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvU2V0dGluZ3MuaD4KKyNpbmNsdWRlIDxXZWJLaXRTeXN0ZW1JbnRlcmZhY2UvV2ViS2l0
U3lzdGVtSW50ZXJmYWNlLmg+CiAjaW5jbHVkZSA8V2luVXNlci5oPgogCiB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKQEAgLTE2MSw0ICsxNjQsMTYgQEAgY29uc3QgY2hhciogV2ViUGFnZTo6aW50
ZXJwcmV0S2V5RXZlbnQoY29uc3QgS2V5Ym9hcmRFdmVudCogZXZ0KQogICAgIHJldHVybiBtYXBL
ZXkgPyBrZXlQcmVzc0NvbW1hbmRzTWFwLT5nZXQobWFwS2V5KSA6IDA7CiB9CiAKK3ZvaWQgV2Vi
UGFnZTo6cGxhdGZvcm1QcmVmZXJlbmNlc0RpZENoYW5nZShjb25zdCBXZWJQcmVmZXJlbmNlc1N0
b3JlJiBzdG9yZSkKK3sKKyNpZiBQTEFURk9STShDRykKKyAgICBGb250U21vb3RoaW5nTGV2ZWwg
YWRqdXN0ZWRMZXZlbCA9IHN0b3JlLmZvbnRTbW9vdGhpbmdMZXZlbDsKKyAgICBpZiAoYWRqdXN0
ZWRMZXZlbCA9PSBGb250U21vb3RoaW5nTGV2ZWxXaW5kb3dzKQorICAgICAgICBhZGp1c3RlZExl
dmVsID0gRm9udFNtb290aGluZ0xldmVsTWVkaXVtOworICAgIHdrU2V0Rm9udFNtb290aGluZ0xl
dmVsKGFkanVzdGVkTGV2ZWwpOworI2VuZGlmCisKKyAgICBtX3BhZ2UtPnNldHRpbmdzKCktPnNl
dEZvbnRSZW5kZXJpbmdNb2RlKHN0b3JlLmZvbnRTbW9vdGhpbmdMZXZlbCA9PSBGb250U21vb3Ro
aW5nTGV2ZWxXaW5kb3dzID8gQWx0ZXJuYXRlUmVuZGVyaW5nTW9kZSA6IE5vcm1hbFJlbmRlcmlu
Z01vZGUpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1dlYktpdFRv
b2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCA0NzJiM2M3Li5kMDQ1
ZjBmIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMDgtMDQgIEpvbiBIb25leWN1dHQgIDxq
aG9uZXljdXR0QGFwcGxlLmNvbT4KKworICAgICAgICBXZWJLaXRUZXN0UnVubmVyIG5lZWRzIHRv
IGJlIGFibGUgdG8gc2V0IHRoZSBmb250IHNtb290aGluZyB0eXBlCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzQwNgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52
b2NhdGlvbi5jcHA6CisgICAgICAgIChXVFI6OlRlc3RJbnZvY2F0aW9uOjpyZXNldFByZWZlcmVu
Y2VzVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgU2V0IHRoZSBmb250IHNtb290aGluZyBs
ZXZlbCB0byBrV0tGb250U21vb3RoaW5nTGV2ZWxTdGFuZGFyZC4KKwogMjAxMC0wOC0wMyAgSm9u
IEhvbmV5Y3V0dCAgPGpob25leWN1dHRAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYktpdFRlc3RS
dW5uZXIgbmVlZHMgdG8gYWN0aXZhdGUgdGhlIE1hYyBmb250IGFzY2VudCBoYWNrCmRpZmYgLS1n
aXQgYS9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcCBiL1dl
YktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCmluZGV4IGU2NWNh
OGQuLjYxYTY2YzAgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dEludm9jYXRpb24uY3BwCisrKyBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdElu
dm9jYXRpb24uY3BwCkBAIC03MCw2ICs3MCw3IEBAIHZvaWQgVGVzdEludm9jYXRpb246OnJlc2V0
UHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMoKQogewogICAgIFdLUHJlZmVyZW5jZXNSZWYg
cHJlZmVyZW5jZXMgPSBXS0NvbnRleHRHZXRQcmVmZXJlbmNlcyhUZXN0Q29udHJvbGxlcjo6c2hh
cmVkKCkuY29udGV4dCgpKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0T2ZmbGluZVdlYkFwcGxpY2F0
aW9uQ2FjaGVFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKKyAgICBXS1ByZWZlcmVuY2VzU2V0
Rm9udFNtb290aGluZ0xldmVsKHByZWZlcmVuY2VzLCBrV0tGb250U21vb3RoaW5nTGV2ZWxTdGFu
ZGFyZCk7CiB9CiAKIHZvaWQgVGVzdEludm9jYXRpb246Omludm9rZSgpCi0tIAoxLjYuNS4yLjE0
My5nOGNjNjIKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63527</attachid>
            <date>2010-08-04 19:06:10 -0700</date>
            <delta_ts>2010-08-05 21:44:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-WebKitTestRunner-needs-to-be-able-to-set-the-font-sm.patch</filename>
            <type>text/plain</type>
            <size>27642</size>
            <attacher name="Jon Honeycutt">jhoneycutt</attacher>
            
              <data encoding="base64">RnJvbSA2M2I5ODBmNmJiZjNmZjY4YzBhMjFjYTliYmM1ZjVlZGZmYmY4MjgxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb24gSG9uZXljdXR0IDxqaG9uZXljdXR0QEpvbi1Ib25leWN1
dHRzLU1hY0Jvb2stUHJvLmxvY2FsPgpEYXRlOiBXZWQsIDQgQXVnIDIwMTAgMTc6NDI6MjIgLTA3
MDAKU3ViamVjdDogW1BBVENIXSBXZWJLaXRUZXN0UnVubmVyIG5lZWRzIHRvIGJlIGFibGUgdG8g
c2V0IHRoZSBmb250IHNtb290aGluZyB0eXBlCiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDM0MDYKClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKV2ViQ29yZToK
CiogR05VbWFrZWZpbGUuYW06CkFkZCBGb250U21vb3RoaW5nTGV2ZWwuaCB0byB0aGUgcHJvamVj
dC4KCiogV2ViQ29yZS5neXBpOgpEaXR0by4KCiogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgpEaXR0by4KCiogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CkRpdHRvLgoK
KiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250U21vb3RoaW5nTGV2ZWwuaDogQWRkZWQuCihXZWJDb3Jl
OjopOgpEZWNsYXJlIHNvbWUgZm9udCBzbW9vdGhpbmcgbGV2ZWwgY29uc3RhbnRzLgoKV2ViS2l0
MjoKCiogU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuY3BwOgooV2ViS2l0OjpXZWJQcmVmZXJl
bmNlc1N0b3JlOjpXZWJQcmVmZXJlbmNlc1N0b3JlKToKSW5pdGlhbGl6ZSBmb250U21vb3RoaW5n
TGV2ZWwuCihXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OnN3YXApOgpDb3B5IGZvbnRTbW9v
dGhpbmdMZXZlbC4KCiogU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaDoKKFdlYktpdDo6V2Vi
UHJlZmVyZW5jZXNTdG9yZTo6ZW5jb2RlKToKRW5jb2RlIGZvbnRTbW9vdGhpbmdMZXZlbC4KKFdl
YktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6ZGVjb2RlKToKRGVjb2RlIGl0LgoKKiBVSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHA6CihXS1ByZWZlcmVuY2VzU2V0Rm9udFNtb290aGlu
Z0xldmVsKToKR2V0IHRoZSBXZWJDb3JlIGZvbnQgc21vb3RoaW5nIGxldmVsIGZyb20gdGhlIFdL
Rm9udFNtb290aGluZ0xldmVsLCBhbmQKY2FsbCBXZWJQcmVmZXJlbmNlczo6c2V0Rm9udFNtb290
aGluZ0xldmVsKCkuCihXS1ByZWZlcmVuY2VzR2V0Rm9udFNtb290aGluZ0xldmVsKToKR2V0IHRo
ZSBmb250IHNtb290aGluZyBsZXZlbCBmcm9tIFdlYlByZWZlcmVuY2VzLCBhbmQgdHJhbnNsYXRl
IGl0IHRvIGEKV0tGb250U21vb3RoaW5nTGV2ZWwuCgoqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZl
cmVuY2VzLmg6CkRlY2xhcmUgdGhlIGZvbnQgc21vb3RoaW5nIGxldmVscywgYW5kIGRlY2xhcmUg
ZnVuY3Rpb25zIHRvIGdldCBhbmQgc2V0CnRoZSBsZXZlbC4KCiogVUlQcm9jZXNzL1dlYlByZWZl
cmVuY2VzLmNwcDoKKFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6OnNldEZvbnRTbW9vdGhpbmdMZXZl
bCk6ClNldCBmb250U21vb3RoaW5nTGV2ZWwgYW5kIGNhbGwgdXBkYXRlKCkuCihXZWJLaXQ6Oldl
YlByZWZlcmVuY2VzOjpmb250U21vb3RoaW5nTGV2ZWwpOgpSZXR1cm4gdGhlIGxldmVsLgoKKiBV
SVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuaDoKRGVjbGFyZSBnZXR0ZXIgYW5kIHNldHRlciBmb3Ig
Zm9udFNtb290aGluZ0xldmVsLCBhbmQgYWRkIGEgbWVtYmVyIHRvCmhvbGQgdGhlIGxldmVsLgoK
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CihXZWJLaXQ6OldlYlBhZ2U6OnByZWZl
cmVuY2VzRGlkQ2hhbmdlKToKQ2FsbCBwbGF0Zm9ybVByZWZlcmVuY2VzRGlkQ2hhbmdlKCkuCgoq
IFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CkRlY2xhcmUgcGxhdGZvcm1QcmVmZXJlbmNl
c0RpZENoYW5nZSgpLgoKKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW06CihX
ZWJLaXQ6OldlYlBhZ2U6OnBsYXRmb3JtUHJlZmVyZW5jZXNEaWRDaGFuZ2UpOgpTdHViYmVkLgoK
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvcXQvV2ViUGFnZVF0LmNwcDoKKFdlYktpdDo6V2ViUGFnZTo6
cGxhdGZvcm1QcmVmZXJlbmNlc0RpZENoYW5nZSk6ClN0dWJiZWQuCgoqIFdlYlByb2Nlc3MvV2Vi
UGFnZS93aW4vV2ViUGFnZVdpbi5jcHA6CihXZWJLaXQ6OldlYlBhZ2U6OnBsYXRmb3JtUHJlZmVy
ZW5jZXNEaWRDaGFuZ2UpOgpPbiBDRyBwbGF0Zm9ybXMsIGNhbGwgd2tTZXRGb250U21vb3RoaW5n
TGV2ZWwoKS4gVGhpcyBtYXRjaGVzIHRoZSBjb2RlCmluIG9sZCBXZWJLaXQncyBXZWJQcmVmZXJl
bmNlcy4gU2V0IHRoZSBmb250IHJlbmRlcmluZyBtb2RlIHRvIGVpdGhlcgpub3JtYWwgKENHKSBv
ciBhbHRlcm5hdGl2ZSAoR0RJKSBiYXNlZCBvbiB0aGUgZm9udCBzbW9vdGhpbmcgbGV2ZWwuIFRo
aXMKbWF0Y2hlcyB3aGF0IHdhcyBkb25lIGluIG9sZCBXZWJLaXQncyBXZWJWaWV3LgoKV2ViS2l0
VG9vbHM6CgoqIFdlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwOgooV1RSOjpUZXN0
SW52b2NhdGlvbjo6cmVzZXRQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6ClNldCB0aGUg
Zm9udCBzbW9vdGhpbmcgbGV2ZWwgdG8ga1dLRm9udFNtb290aGluZ0xldmVsU3RhbmRhcmQuCi0t
LQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIz
ICsrKysrKysrCiBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgICAg
ICB8ICAgIDEgKwogV2ViQ29yZS9XZWJDb3JlLmd5cGkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgICAxICsKIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogICAgICAg
ICAgIHwgICAgNCArKwogV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
ICAgICAgfCAgICA0ICsrCiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRTbW9vdGhpbmdM
ZXZlbC5oICB8ICAgNDIgKysrKysrKysrKysrKysrCiBXZWJLaXQyL0NoYW5nZUxvZyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8ICAgNjMgKysrKysrKysrKysrKysrKysrKysrKysKIFdl
YktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuY3BwICAgICAgICAgIHwgICAgNyArKysK
IFdlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaCAgICAgICAgICAgIHwgICAgNSAr
KwogV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgICAgICAgfCAgIDQ5
ICsrKysrKysrKysrKysrKysrKwogV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNl
cy5oICAgICAgICAgfCAgIDEzICsrKysrCiBXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNl
cy5jcHAgICAgICAgICAgICB8ICAgMTMgKysrKysKIFdlYktpdDIvVUlQcm9jZXNzL1dlYlByZWZl
cmVuY2VzLmggICAgICAgICAgICAgIHwgICAgNCArKwogV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAgICAgICAgICAgfCAgICAyICsKIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaCAgICAgICAgICAgIHwgICAgMSArCiBXZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9tYWMvV2ViUGFnZU1hYy5tbSAgICB8ICAgIDQgKysKIFdlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL3F0L1dlYlBhZ2VRdC5jcHAgICAgIHwgICAgNiArKy0KIFdlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL3dpbi9XZWJQYWdlV2luLmNwcCAgIHwgICAxNSArKysrKwogV2ViS2l0VG9vbHMv
Q2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDExICsrKysKIFdlYktpdFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwIHwgICAgMSArCiAyMCBmaWxl
cyBjaGFuZ2VkLCAyNjggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRTbW9vdGhpbmdMZXZlbC5oCgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAz
NjU2NjJjLi5hOTJhZjU3IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEwLTA4LTA0ICBKb24gSG9uZXljdXR0
ICA8amhvbmV5Y3V0dEBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViS2l0VGVzdFJ1bm5lciBuZWVk
cyB0byBiZSBhYmxlIHRvIHNldCB0aGUgZm9udCBzbW9vdGhpbmcgdHlwZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM0MDYKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAg
ICAgICBBZGQgRm9udFNtb290aGluZ0xldmVsLmggdG8gdGhlIHByb2plY3QuCisKKyAgICAgICAg
KiBXZWJDb3JlLmd5cGk6CisgICAgICAgIERpdHRvLgorICAgICAgICAKKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgIERpdHRvLgorCisgICAgICAg
ICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgIERpdHRvLgorCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFNtb290aGluZ0xldmVsLmg6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6KToKKyAgICAgICAgRGVjbGFyZSBzb21lIGZvbnQgc21vb3RoaW5nIGxl
dmVsIGNvbnN0YW50cy4KKwogMjAxMC0wOC0wNCAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNs
b3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmlu
ZGV4IDNmM2MwZGIuLjRkMGI2YTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0K
KysrIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtMTk4OCw2ICsxOTg4LDcgQEAgd2ViY29y
ZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYXN0UGF0aC5j
cHAgXAogCVdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFJlbmRlcmluZ01vZGUuaCBcCiAJ
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250U2VsZWN0b3IuaCBcCisJV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250U21vb3RoaW5nTGV2ZWwuaCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250U21vb3RoaW5nTW9kZS5oIFwKIAlXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRUcmFpdHNNYXNrLmggXAogCVdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VuZXJhdGVk
SW1hZ2UuY3BwIFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKaW5kZXggZDVlZDNkMi4uYTZkMTEzMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKKysrIGIvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTI0NjgsNiArMjQ2OCw3
IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhc3RQYXRoLmNwcCcsCiAg
ICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvRm9udFJlbmRlcmluZ01vZGUuaCcsCiAgICAg
ICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvRm9udFNlbGVjdG9yLmgnLAorICAgICAgICAgICAg
J3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRTbW9vdGhpbmdMZXZlbC5oJywKICAgICAgICAgICAgICdw
bGF0Zm9ybS9ncmFwaGljcy9Gb250U21vb3RoaW5nTW9kZS5oJywKICAgICAgICAgICAgICdwbGF0
Zm9ybS9ncmFwaGljcy9Gb250VHJhaXRzTWFzay5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9n
cmFwaGljcy9HZW5lcmF0ZWRJbWFnZS5jcHAnLApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2oKaW5kZXggYzBkYzNiZS4uZjczYmIzYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qCkBAIC0yNDE2MCw2ICsyNDE2MCwxMCBAQAogCQkJCQk+DQogCQkJCTwvRmlsZT4N
CiAJCQkJPEZpbGUNCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcRm9u
dFNtb290aGluZ0xldmVsLmgiDQorCQkJCQk+DQorCQkJCTwvRmlsZT4NCisJCQkJPEZpbGUNCiAJ
CQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcRm9udFNtb290aGluZ01vZGUu
aCINCiAJCQkJCT4NCiAJCQkJPC9GaWxlPg0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggZjViOTMwMy4uY2RhY2Y0YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEzNzMsNiArMTM3Myw3IEBACiAJCTc1NzkzRUQz
MEQwQ0U4NUIwMDdGQzBBQyAvKiBET01NZXNzYWdlRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc1NzkzRUQwMEQwQ0U4NUIwMDdGQzBBQyAvKiBE
T01NZXNzYWdlRXZlbnQuaCAqLzsgfTsKIAkJNzU3OTNFRDQwRDBDRTg1QjAwN0ZDMEFDIC8qIERP
TU1lc3NhZ2VFdmVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDc1NzkzRUQxMEQwQ0U4NUIwMDdGQzBBQyAvKiBET01NZXNzYWdlRXZlbnQubW0gKi87
IH07CiAJCTc1NzkzRUQ1MEQwQ0U4NUIwMDdGQzBBQyAvKiBET01NZXNzYWdlRXZlbnRJbnRlcm5h
bC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzU3OTNF
RDIwRDBDRTg1QjAwN0ZDMEFDIC8qIERPTU1lc3NhZ2VFdmVudEludGVybmFsLmggKi87IH07CisJ
CTc2MkI3MkQ4MTIwQTRGMjMwMDgxOTMzOSAvKiBGb250U21vb3RoaW5nTGV2ZWwuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2MkI3MkQ3MTIwQTRGMjMw
MDgxOTMzOSAvKiBGb250U21vb3RoaW5nTGV2ZWwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3NjM3QzU0MTExMkU3Qjc0MDAzRDZDREMgLyogV2Vi
U29ja2V0SGFuZHNoYWtlUmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3NjM3QzU0MDExMkU3Qjc0MDAzRDZDREMgLyogV2ViU29ja2V0SGFu
ZHNoYWtlUmVxdWVzdC5jcHAgKi87IH07CiAJCTc2MzdDNTQzMTEyRTdCN0UwMDNENkNEQyAvKiBX
ZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3NjM3QzU0MjExMkU3QjdFMDAzRDZDREMgLyogV2ViU29ja2V0SGFu
ZHNoYWtlUmVxdWVzdC5oICovOyB9OwogCQk3NjdGOTlCRTExQTExOTRBMDA4MEM1MUQgLyogV2Vi
U29ja2V0SGFuZHNoYWtlUmVzcG9uc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNzY3Rjk5QkQxMUExMTk0QTAwODBDNTFEIC8qIFdlYlNvY2tldEhh
bmRzaGFrZVJlc3BvbnNlLmNwcCAqLzsgfTsKQEAgLTcxNjcsNiArNzE2OCw3IEBACiAJCTc1Nzkz
RUQwMEQwQ0U4NUIwMDdGQzBBQyAvKiBET01NZXNzYWdlRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IERPTU1lc3NhZ2VFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk3NTc5M0VEMTBEMENFODVCMDA3RkMwQUMgLyogRE9NTWVzc2FnZUV2ZW50Lm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTU1lc3NhZ2VFdmVu
dC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzU3OTNFRDIwRDBDRTg1QjAwN0ZD
MEFDIC8qIERPTU1lc3NhZ2VFdmVudEludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBET01NZXNzYWdlRXZlbnRJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk3NjJCNzJENzEyMEE0RjIzMDA4MTkzMzkgLyogRm9udFNtb290aGluZ0xldmVs
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRTbW9vdGhpbmdMZXZlbC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3NjM3QzU0MDExMkU3Qjc0MDAzRDZDREMg
LyogV2ViU29ja2V0SGFuZHNoYWtlUmVxdWVzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXZWJTb2NrZXRIYW5kc2hha2VSZXF1ZXN0LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNzYzN0M1NDIxMTJFN0I3RTAwM0Q2Q0RDIC8qIFdlYlNvY2tldEhh
bmRzaGFrZVJlcXVlc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViU29j
a2V0SGFuZHNoYWtlUmVxdWVzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3NjdG
OTlCRDExQTExOTRBMDA4MEM1MUQgLyogV2ViU29ja2V0SGFuZHNoYWtlUmVzcG9uc2UuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViU29ja2V0SGFuZHNoYWtlUmVz
cG9uc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTU1NTYsNiArMTU1NTgs
NyBAQAogCQkJCTcyNjI2RTAxMEVGMDIyRkUwMEEwN0UyMCAvKiBGb250RmFzdFBhdGguY3BwICov
LAogCQkJCTM3QUNDRTQxMERBMjk4MEYwMDg5RTYwMiAvKiBGb250UmVuZGVyaW5nTW9kZS5oICov
LAogCQkJCUIyQzNEQTVBMEQwMDZDRDYwMEVGNkYyNiAvKiBGb250U2VsZWN0b3IuaCAqLywKKwkJ
CQk3NjJCNzJENzEyMEE0RjIzMDA4MTkzMzkgLyogRm9udFNtb290aGluZ0xldmVsLmggKi8sCiAJ
CQkJMzcyMDIxOTgxMDYyMTNDNjAwRjI1QzRCIC8qIEZvbnRTbW9vdGhpbmdNb2RlLmggKi8sCiAJ
CQkJMzc4NEMzNEEwRTExQUEzNDAwN0Q4RDQ4IC8qIEZvbnRUcmFpdHNNYXNrLmggKi8sCiAJCQkJ
QkNFMDRDOTMwREFGRjkwMjAwN0EwRjQxIC8qIEdlbmVyYXRlZEltYWdlLmNwcCAqLywKQEAgLTE5
OTkwLDYgKzE5OTkzLDcgQEAKIAkJCQk5N0RENEQ4NzBGREY0RDZFMDBFQ0Y5QTQgLyogWFNTQXVk
aXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0UxNzJFMDExMTM2RThDRTAwNjJBNTMzIC8qIFpv
b21Nb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzN0M2MUYwMTEyMDk1Qzg3MDA3QTNDNjcgLyog
QXRvbWljU3RyaW5nS2V5ZWRNUlVDYWNoZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzYyQjcyRDgx
MjBBNEYyMzAwODE5MzM5IC8qIEZvbnRTbW9vdGhpbmdMZXZlbC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRTbW9vdGhpbmdMZXZlbC5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250U21vb3RoaW5nTGV2ZWwuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZjM0NzQxCi0tLSAvZGV2L251bGwKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250U21vb3RoaW5nTGV2ZWwuaApAQCAtMCwwICsx
LDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNp
Zm5kZWYgRm9udFNtb290aGluZ0xldmVsX2gKKyNkZWZpbmUgRm9udFNtb290aGluZ0xldmVsX2gK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIHsKKyAgICBGb250U21vb3RoaW5nTGV2ZWxT
dGFuZGFyZCA9IDAsCisgICAgRm9udFNtb290aGluZ0xldmVsTGlnaHQgPSAxLAorICAgIEZvbnRT
bW9vdGhpbmdMZXZlbE1lZGl1bSA9IDIsCisgICAgRm9udFNtb290aGluZ0xldmVsU3Ryb25nID0g
MywKKyAgICBGb250U21vb3RoaW5nTGV2ZWxXaW5kb3dzID0gNCwKK307Cit0eXBlZGVmIHVpbnQz
Ml90IEZvbnRTbW9vdGhpbmdMZXZlbDsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gRm9udFNtb290aGluZ0xldmVsX2gKZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9n
IGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMjAxNGM2Ni4uYzYwMGU2YiAxMDA2NDQKLS0tIGEv
V2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2NiBA
QAorMjAxMC0wOC0wNCAgSm9uIEhvbmV5Y3V0dCAgPGpob25leWN1dHRAYXBwbGUuY29tPgorCisg
ICAgICAgIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgdG8gYmUgYWJsZSB0byBzZXQgdGhlIGZvbnQg
c21vb3RoaW5nIHR5cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTQzNDA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlByZWZlcmVuY2VzU3RvcmU6OldlYlByZWZlcmVuY2VzU3RvcmUpOgorICAgICAgICBJbml0
aWFsaXplIGZvbnRTbW9vdGhpbmdMZXZlbC4KKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5j
ZXNTdG9yZTo6c3dhcCk6CisgICAgICAgIENvcHkgZm9udFNtb290aGluZ0xldmVsLgorCisgICAg
ICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJlZmVyZW5jZXNTdG9yZTo6ZW5jb2RlKToKKyAgICAgICAgRW5jb2RlIGZvbnRTbW9vdGhpbmdM
ZXZlbC4KKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6ZGVjb2RlKToKKyAg
ICAgICAgRGVjb2RlIGl0LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXMuY3BwOgorICAgICAgICAoV0tQcmVmZXJlbmNlc1NldEZvbnRTbW9vdGhpbmdMZXZlbCk6Cisg
ICAgICAgIEdldCB0aGUgV2ViQ29yZSBmb250IHNtb290aGluZyBsZXZlbCBmcm9tIHRoZSBXS0Zv
bnRTbW9vdGhpbmdMZXZlbCwgYW5kCisgICAgICAgIGNhbGwgV2ViUHJlZmVyZW5jZXM6OnNldEZv
bnRTbW9vdGhpbmdMZXZlbCgpLgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldEZvbnRTbW9vdGhp
bmdMZXZlbCk6CisgICAgICAgIEdldCB0aGUgZm9udCBzbW9vdGhpbmcgbGV2ZWwgZnJvbSBXZWJQ
cmVmZXJlbmNlcywgYW5kIHRyYW5zbGF0ZSBpdCB0byBhCisgICAgICAgIFdLRm9udFNtb290aGlu
Z0xldmVsLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaDoKKyAg
ICAgICAgRGVjbGFyZSB0aGUgZm9udCBzbW9vdGhpbmcgbGV2ZWxzLCBhbmQgZGVjbGFyZSBmdW5j
dGlvbnMgdG8gZ2V0IGFuZCBzZXQKKyAgICAgICAgdGhlIGxldmVsLgorCisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5j
ZXM6OnNldEZvbnRTbW9vdGhpbmdMZXZlbCk6CisgICAgICAgIFNldCBmb250U21vb3RoaW5nTGV2
ZWwgYW5kIGNhbGwgdXBkYXRlKCkuCisgICAgICAgIChXZWJLaXQ6OldlYlByZWZlcmVuY2VzOjpm
b250U21vb3RoaW5nTGV2ZWwpOgorICAgICAgICBSZXR1cm4gdGhlIGxldmVsLgorCisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmg6CisgICAgICAgIERlY2xhcmUgZ2V0dGVyIGFu
ZCBzZXR0ZXIgZm9yIGZvbnRTbW9vdGhpbmdMZXZlbCwgYW5kIGFkZCBhIG1lbWJlciB0bworICAg
ICAgICBob2xkIHRoZSBsZXZlbC4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cHJlZmVyZW5jZXNEaWRDaGFuZ2Up
OgorICAgICAgICBDYWxsIHBsYXRmb3JtUHJlZmVyZW5jZXNEaWRDaGFuZ2UoKS4KKworICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgIERlY2xhcmUgcGxhdGZv
cm1QcmVmZXJlbmNlc0RpZENoYW5nZSgpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9XZWJQYWdlTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwbGF0Zm9ybVBy
ZWZlcmVuY2VzRGlkQ2hhbmdlKToKKyAgICAgICAgU3R1YmJlZC4KKworICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9xdC9XZWJQYWdlUXQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
OjpwbGF0Zm9ybVByZWZlcmVuY2VzRGlkQ2hhbmdlKToKKyAgICAgICAgU3R1YmJlZC4KKworICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS93aW4vV2ViUGFnZVdpbi5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6OnBsYXRmb3JtUHJlZmVyZW5jZXNEaWRDaGFuZ2UpOgorICAgICAgICBP
biBDRyBwbGF0Zm9ybXMsIGNhbGwgd2tTZXRGb250U21vb3RoaW5nTGV2ZWwoKS4gVGhpcyBtYXRj
aGVzIHRoZSBjb2RlCisgICAgICAgIGluIG9sZCBXZWJLaXQncyBXZWJQcmVmZXJlbmNlcy4gU2V0
IHRoZSBmb250IHJlbmRlcmluZyBtb2RlIHRvIGVpdGhlcgorICAgICAgICBub3JtYWwgKENHKSBv
ciBhbHRlcm5hdGl2ZSAoR0RJKSBiYXNlZCBvbiB0aGUgZm9udCBzbW9vdGhpbmcgbGV2ZWwuIFRo
aXMKKyAgICAgICAgbWF0Y2hlcyB3aGF0IHdhcyBkb25lIGluIG9sZCBXZWJLaXQncyBXZWJWaWV3
LgorCiAyMDEwLTA4LTA0ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQv
V2ViUHJlZmVyZW5jZXNTdG9yZS5jcHAgYi9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0
b3JlLmNwcAppbmRleCA3NzZlM2ZhLi41ODA3ZDA4IDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJl
ZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmNwcAorKysgYi9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJl
bmNlc1N0b3JlLmNwcApAQCAtMjUsNiArMjUsMTAgQEAKIAogI2luY2x1ZGUgIldlYlByZWZlcmVu
Y2VzU3RvcmUuaCIKIAorI2luY2x1ZGUgPFdlYkNvcmUvRm9udFNtb290aGluZ0xldmVsLmg+CisK
K3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogV2ViUHJl
ZmVyZW5jZXNTdG9yZTo6V2ViUHJlZmVyZW5jZXNTdG9yZSgpCkBAIC0zMyw2ICszNyw3IEBAIFdl
YlByZWZlcmVuY2VzU3RvcmU6OldlYlByZWZlcmVuY2VzU3RvcmUoKQogICAgICwgcGx1Z2luc0Vu
YWJsZWQodHJ1ZSkKICAgICAsIG9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZChmYWxz
ZSkKICAgICAsIGxvY2FsU3RvcmFnZUVuYWJsZWQodHJ1ZSkKKyAgICAsIGZvbnRTbW9vdGhpbmdM
ZXZlbChGb250U21vb3RoaW5nTGV2ZWxNZWRpdW0pCiAgICAgLCBtaW5pbXVtRm9udFNpemUoMSkK
ICAgICAsIG1pbmltdW1Mb2dpY2FsRm9udFNpemUoOSkKICAgICAsIGRlZmF1bHRGb250U2l6ZSgx
NikKQEAgLTUzLDYgKzU4LDcgQEAgV2ViUHJlZmVyZW5jZXNTdG9yZTo6V2ViUHJlZmVyZW5jZXNT
dG9yZShjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBvdGhlcikKICAgICBwbHVnaW5zRW5hYmxl
ZCA9IG90aGVyLnBsdWdpbnNFbmFibGVkOwogICAgIG9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hl
RW5hYmxlZCA9IG90aGVyLm9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZDsKICAgICBs
b2NhbFN0b3JhZ2VFbmFibGVkID0gb3RoZXIubG9jYWxTdG9yYWdlRW5hYmxlZDsKKyAgICBmb250
U21vb3RoaW5nTGV2ZWwgPSBvdGhlci5mb250U21vb3RoaW5nTGV2ZWw7CiAgICAgbWluaW11bUZv
bnRTaXplID0gb3RoZXIubWluaW11bUZvbnRTaXplOwogICAgIG1pbmltdW1Mb2dpY2FsRm9udFNp
emUgPSBvdGhlci5taW5pbXVtTG9naWNhbEZvbnRTaXplOwogICAgIGRlZmF1bHRGb250U2l6ZSA9
IG90aGVyLmRlZmF1bHRGb250U2l6ZTsKQEAgLTgwLDYgKzg2LDcgQEAgdm9pZCBXZWJQcmVmZXJl
bmNlc1N0b3JlOjpzd2FwKFdlYlByZWZlcmVuY2VzU3RvcmUmIG90aGVyKQogICAgIHN0ZDo6c3dh
cChwbHVnaW5zRW5hYmxlZCwgb3RoZXIucGx1Z2luc0VuYWJsZWQpOwogICAgIHN0ZDo6c3dhcChv
ZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQsIG90aGVyLm9mZmxpbmVXZWJBcHBsaWNh
dGlvbkNhY2hlRW5hYmxlZCk7CiAgICAgc3RkOjpzd2FwKGxvY2FsU3RvcmFnZUVuYWJsZWQsIG90
aGVyLmxvY2FsU3RvcmFnZUVuYWJsZWQpOworICAgIHN0ZDo6c3dhcChmb250U21vb3RoaW5nTGV2
ZWwsIG90aGVyLmZvbnRTbW9vdGhpbmdMZXZlbCk7CiAgICAgc3RkOjpzd2FwKG1pbmltdW1Gb250
U2l6ZSwgb3RoZXIubWluaW11bUZvbnRTaXplKTsKICAgICBzdGQ6OnN3YXAobWluaW11bUxvZ2lj
YWxGb250U2l6ZSwgb3RoZXIubWluaW11bUxvZ2ljYWxGb250U2l6ZSk7CiAgICAgc3RkOjpzd2Fw
KGRlZmF1bHRGb250U2l6ZSwgb3RoZXIuZGVmYXVsdEZvbnRTaXplKTsKZGlmZiAtLWdpdCBhL1dl
YktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaCBiL1dlYktpdDIvU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzU3RvcmUuaAppbmRleCAzZTM3MTcyLi5hY2YyYThmIDEwMDY0NAotLS0gYS9XZWJL
aXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgKKysrIGIvV2ViS2l0Mi9TaGFyZWQvV2Vi
UHJlZmVyZW5jZXNTdG9yZS5oCkBAIC00Niw2ICs0Niw3IEBAIHN0cnVjdCBXZWJQcmVmZXJlbmNl
c1N0b3JlIHsKICAgICAgICAgZW5jb2Rlci5lbmNvZGUocGx1Z2luc0VuYWJsZWQpOwogICAgICAg
ICBlbmNvZGVyLmVuY29kZShvZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQpOwogICAg
ICAgICBlbmNvZGVyLmVuY29kZShsb2NhbFN0b3JhZ2VFbmFibGVkKTsKKyAgICAgICAgZW5jb2Rl
ci5lbmNvZGUoZm9udFNtb290aGluZ0xldmVsKTsKICAgICAgICAgZW5jb2Rlci5lbmNvZGUobWlu
aW11bUZvbnRTaXplKTsKICAgICAgICAgZW5jb2Rlci5lbmNvZGUobWluaW11bUxvZ2ljYWxGb250
U2l6ZSk7CiAgICAgICAgIGVuY29kZXIuZW5jb2RlKGRlZmF1bHRGb250U2l6ZSk7CkBAIC03MCw2
ICs3MSw4IEBAIHN0cnVjdCBXZWJQcmVmZXJlbmNlc1N0b3JlIHsKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShzLmxvY2FsU3RvcmFnZUVuYWJs
ZWQpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKHMuZm9udFNtb290aGluZ0xldmVsKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShzLm1pbmltdW1Gb250U2l6ZSkpCiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUocy5taW5pbXVtTG9n
aWNhbEZvbnRTaXplKSkKQEAgLTk5LDYgKzEwMiw4IEBAIHN0cnVjdCBXZWJQcmVmZXJlbmNlc1N0
b3JlIHsKICAgICBib29sIG9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZDsKICAgICBi
b29sIGxvY2FsU3RvcmFnZUVuYWJsZWQ7CiAKKyAgICB1aW50MzJfdCBmb250U21vb3RoaW5nTGV2
ZWw7CisKICAgICB1aW50MzJfdCBtaW5pbXVtRm9udFNpemU7CiAgICAgdWludDMyX3QgbWluaW11
bUxvZ2ljYWxGb250U2l6ZTsKICAgICB1aW50MzJfdCBkZWZhdWx0Rm9udFNpemU7CmRpZmYgLS1n
aXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcCBiL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCmluZGV4IDdiZTMyNTIuLmM1NmZjM2Ug
MTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCisr
KyBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCkBAIC0yNyw5ICsy
NywxMSBAQAogCiAjaW5jbHVkZSAiV0tBUElDYXN0LmgiCiAjaW5jbHVkZSAiV2ViUHJlZmVyZW5j
ZXMuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0ZvbnRTbW9vdGhpbmdMZXZlbC5oPgogI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCit1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKIFdLVHlwZUlEIFdLUHJl
ZmVyZW5jZXNHZXRUeXBlSUQoKQpAQCAtODksNiArOTEsNTMgQEAgYm9vbCBXS1ByZWZlcmVuY2Vz
R2V0TG9jYWxTdG9yYWdlRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQog
ICAgIHJldHVybiB0b1dLKHByZWZlcmVuY2VzUmVmKS0+bG9jYWxTdG9yYWdlRW5hYmxlZCgpOwog
fQogCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRGb250U21vb3RoaW5nTGV2ZWwoV0tQcmVmZXJlbmNl
c1JlZiBwcmVmZXJlbmNlc1JlZiwgV0tGb250U21vb3RoaW5nTGV2ZWwgd2tMZXZlbCkKK3sKKyAg
ICBGb250U21vb3RoaW5nTGV2ZWwgbGV2ZWwgPSBGb250U21vb3RoaW5nTGV2ZWxTdGFuZGFyZDsK
KyAgICBzd2l0Y2ggKHdrTGV2ZWwpIHsKKyAgICAgICAgY2FzZSBrV0tGb250U21vb3RoaW5nTGV2
ZWxTdGFuZGFyZDoKKyAgICAgICAgICAgIGxldmVsID0gRm9udFNtb290aGluZ0xldmVsU3RhbmRh
cmQ7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBrV0tGb250U21vb3RoaW5nTGV2
ZWxMaWdodDoKKyAgICAgICAgICAgIGxldmVsID0gRm9udFNtb290aGluZ0xldmVsTGlnaHQ7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBrV0tGb250U21vb3RoaW5nTGV2ZWxNZWRp
dW06CisgICAgICAgICAgICBsZXZlbCA9IEZvbnRTbW9vdGhpbmdMZXZlbE1lZGl1bTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIGtXS0ZvbnRTbW9vdGhpbmdMZXZlbFN0cm9uZzoK
KyAgICAgICAgICAgIGxldmVsID0gRm9udFNtb290aGluZ0xldmVsU3Ryb25nOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIGNhc2Uga1dLRm9udFNtb290aGluZ0xldmVsV2luZG93czoKKyAg
ICAgICAgICAgIGxldmVsID0gRm9udFNtb290aGluZ0xldmVsV2luZG93czsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgICAgICAgICBsZXZlbCA9IEZvbnRTbW9vdGhpbmdMZXZlbE1lZGl1bTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgIH0KKyAgICB0b1dLKHByZWZlcmVuY2VzUmVmKS0+c2V0Rm9udFNt
b290aGluZ0xldmVsKGxldmVsKTsKK30KKworV0tGb250U21vb3RoaW5nTGV2ZWwgV0tQcmVmZXJl
bmNlc0dldEZvbnRTbW9vdGhpbmdMZXZlbChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVm
KQoreworICAgIEZvbnRTbW9vdGhpbmdMZXZlbCBsZXZlbCA9IHRvV0socHJlZmVyZW5jZXNSZWYp
LT5mb250U21vb3RoaW5nTGV2ZWwoKTsKKyAgICBzd2l0Y2ggKGxldmVsKSB7CisgICAgICAgIGNh
c2UgRm9udFNtb290aGluZ0xldmVsU3RhbmRhcmQ6CisgICAgICAgICAgICByZXR1cm4ga1dLRm9u
dFNtb290aGluZ0xldmVsU3RhbmRhcmQ7CisgICAgICAgIGNhc2UgRm9udFNtb290aGluZ0xldmVs
TGlnaHQ6CisgICAgICAgICAgICByZXR1cm4ga1dLRm9udFNtb290aGluZ0xldmVsTGlnaHQ7Cisg
ICAgICAgIGNhc2UgRm9udFNtb290aGluZ0xldmVsTWVkaXVtOgorICAgICAgICAgICAgcmV0dXJu
IGtXS0ZvbnRTbW9vdGhpbmdMZXZlbE1lZGl1bTsKKyAgICAgICAgY2FzZSBGb250U21vb3RoaW5n
TGV2ZWxTdHJvbmc6CisgICAgICAgICAgICByZXR1cm4ga1dLRm9udFNtb290aGluZ0xldmVsU3Ry
b25nOworICAgICAgICBjYXNlIEZvbnRTbW9vdGhpbmdMZXZlbFdpbmRvd3M6CisgICAgICAgICAg
ICByZXR1cm4ga1dLRm9udFNtb290aGluZ0xldmVsV2luZG93czsKKyAgICB9CisKKyAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4ga1dLRm9udFNtb290aGluZ0xldmVsU3RhbmRh
cmQ7Cit9CisKIFdLUHJlZmVyZW5jZXNSZWYgV0tQcmVmZXJlbmNlc1JldGFpbihXS1ByZWZlcmVu
Y2VzUmVmIHByZWZlcmVuY2VzUmVmKQogewogICAgIHRvV0socHJlZmVyZW5jZXNSZWYpLT5yZWYo
KTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaCBi
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaAppbmRleCBmYmRlOTE3Li45
OWU2MzE4IDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2Vz
LmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5oCkBAIC0zNiw2
ICszNiwxNSBAQAogZXh0ZXJuICJDIiB7CiAjZW5kaWYKIAorZW51bSBXS0ZvbnRTbW9vdGhpbmdM
ZXZlbCB7CisgICAga1dLRm9udFNtb290aGluZ0xldmVsU3RhbmRhcmQgPSAwLAorICAgIGtXS0Zv
bnRTbW9vdGhpbmdMZXZlbExpZ2h0ID0gMSwKKyAgICBrV0tGb250U21vb3RoaW5nTGV2ZWxNZWRp
dW0gPSAyLAorICAgIGtXS0ZvbnRTbW9vdGhpbmdMZXZlbFN0cm9uZyA9IDMsCisgICAga1dLRm9u
dFNtb290aGluZ0xldmVsV2luZG93cyA9IDQsCit9OwordHlwZWRlZiBlbnVtIFdLRm9udFNtb290
aGluZ0xldmVsIFdLRm9udFNtb290aGluZ0xldmVsOworCiBXS19FWFBPUlQgV0tUeXBlSUQgV0tQ
cmVmZXJlbmNlc0dldFR5cGVJRCgpOwogCiBXS19FWFBPUlQgV0tQcmVmZXJlbmNlc1JlZiBXS1By
ZWZlcmVuY2VzQ3JlYXRlKCk7CkBAIC01Nyw2ICs2NiwxMCBAQCBXS19FWFBPUlQgYm9vbCBXS1By
ZWZlcmVuY2VzR2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKFdLUHJlZmVyZW5j
ZXNSZQogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldExvY2FsU3RvcmFnZUVuYWJsZWQo
V0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcywgYm9vbCBsb2NhbFN0b3JhZ2VFbmFibGVkKTsK
IFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRMb2NhbFN0b3JhZ2VFbmFibGVkKFdLUHJl
ZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMpOwogCisvLyBEZWZhdWx0cyB0byBrV0tGb250U21vb3Ro
aW5nTGV2ZWxNZWRpdW0uCitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0Rm9udFNtb290
aGluZ0xldmVsKFdLUHJlZmVyZW5jZXNSZWYsIFdLRm9udFNtb290aGluZ0xldmVsKTsKK1dLX0VY
UE9SVCBXS0ZvbnRTbW9vdGhpbmdMZXZlbCBXS1ByZWZlcmVuY2VzR2V0Rm9udFNtb290aGluZ0xl
dmVsKFdLUHJlZmVyZW5jZXNSZWYpOworCiBXS19FWFBPUlQgV0tQcmVmZXJlbmNlc1JlZiBXS1By
ZWZlcmVuY2VzUmV0YWluKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMpOwogV0tfRVhQT1JU
IHZvaWQgV0tQcmVmZXJlbmNlc1JlbGVhc2UoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcyk7
CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmNwcCBiL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmNwcAppbmRleCBhYzQ5ZGZlLi41NDg0M2M4
IDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHAKKysrIGIv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwCkBAIC0yNyw2ICsyNyw4IEBACiAK
ICNpbmNsdWRlICJXZWJDb250ZXh0LmgiCiAKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIAogV2ViUHJlZmVyZW5jZXMqIFdlYlByZWZlcmVuY2VzOjpzaGFy
ZWQoKQpAQCAtMTA4LDQgKzExMCwxNSBAQCBib29sIFdlYlByZWZlcmVuY2VzOjpsb2NhbFN0b3Jh
Z2VFbmFibGVkKCkgY29uc3QKICAgICByZXR1cm4gbV9zdG9yZS5sb2NhbFN0b3JhZ2VFbmFibGVk
OwogfQogCit2b2lkIFdlYlByZWZlcmVuY2VzOjpzZXRGb250U21vb3RoaW5nTGV2ZWwoRm9udFNt
b290aGluZ0xldmVsIGxldmVsKQoreworICAgIG1fc3RvcmUuZm9udFNtb290aGluZ0xldmVsID0g
bGV2ZWw7CisgICAgdXBkYXRlKCk7Cit9CisKK0ZvbnRTbW9vdGhpbmdMZXZlbCBXZWJQcmVmZXJl
bmNlczo6Zm9udFNtb290aGluZ0xldmVsKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zdG9yZS5m
b250U21vb3RoaW5nTGV2ZWw7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0
IGEvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuaCBiL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlByZWZlcmVuY2VzLmgKaW5kZXggYTgwNzBjNi4uZjlhOTM5YyAxMDA2NDQKLS0tIGEvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuaAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQcmVmZXJlbmNlcy5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJBUElPYmplY3Qu
aCIKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlc1N0b3JlLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9G
b250U21vb3RoaW5nTGV2ZWwuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUg
PHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtNjksNiArNzAs
OSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRMb2NhbFN0b3JhZ2VFbmFibGVkKGJvb2wpOwogICAg
IGJvb2wgbG9jYWxTdG9yYWdlRW5hYmxlZCgpIGNvbnN0OwogCisgICAgdm9pZCBzZXRGb250U21v
b3RoaW5nTGV2ZWwoV2ViQ29yZTo6Rm9udFNtb290aGluZ0xldmVsKTsKKyAgICBXZWJDb3JlOjpG
b250U21vb3RoaW5nTGV2ZWwgZm9udFNtb290aGluZ0xldmVsKCkgY29uc3Q7CisKIHByaXZhdGU6
CiAgICAgV2ViUHJlZmVyZW5jZXMoKTsKICAgICBXZWJQcmVmZXJlbmNlcyhXZWJQcmVmZXJlbmNl
cyopOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAg
Yi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCA2YTYzZDA1Li42
Y2E2MTQ5IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNDQ5LDYg
KzQ0OSw4IEBAIHZvaWQgV2ViUGFnZTo6cHJlZmVyZW5jZXNEaWRDaGFuZ2UoY29uc3QgV2ViUHJl
ZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAgICAgbV9wYWdlLT5zZXR0aW5ncygpLT5zZXRMb2Fkc0lt
YWdlc0F1dG9tYXRpY2FsbHkoc3RvcmUubG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KTsKICAgICBt
X3BhZ2UtPnNldHRpbmdzKCktPnNldE9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZChz
dG9yZS5vZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQpOwogICAgIG1fcGFnZS0+c2V0
dGluZ3MoKS0+c2V0TG9jYWxTdG9yYWdlRW5hYmxlZChzdG9yZS5sb2NhbFN0b3JhZ2VFbmFibGVk
KTsKKworICAgIHBsYXRmb3JtUHJlZmVyZW5jZXNEaWRDaGFuZ2Uoc3RvcmUpOwogfQogCiBib29s
IFdlYlBhZ2U6OmhhbmRsZUVkaXRpbmdLZXlib2FyZEV2ZW50KEtleWJvYXJkRXZlbnQqIGV2dCkK
ZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCAyOTY0YTRjLi4wNDU3NThkIDEw
MDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0xNDUsNiArMTQ1LDcgQEAgcHJp
dmF0ZToKICAgICB2b2lkIHJ1bkphdmFTY3JpcHRJbk1haW5GcmFtZShjb25zdCBXZWJDb3JlOjpT
dHJpbmcmLCB1aW50NjRfdCBjYWxsYmFja0lEKTsKICAgICB2b2lkIGdldFJlbmRlclRyZWVFeHRl
cm5hbFJlcHJlc2VudGF0aW9uKHVpbnQ2NF90IGNhbGxiYWNrSUQpOwogICAgIHZvaWQgcHJlZmVy
ZW5jZXNEaWRDaGFuZ2UoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYpOworICAgIHZvaWQgcGxh
dGZvcm1QcmVmZXJlbmNlc0RpZENoYW5nZShjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJik7CiAg
ICAgdm9pZCBkaWRSZWNlaXZlUG9saWN5RGVjaXNpb24oV2ViRnJhbWUqLCB1aW50NjRfdCBsaXN0
ZW5lcklELCBXZWJDb3JlOjpQb2xpY3lBY3Rpb24gcG9saWN5QWN0aW9uKTsKICAgICAKICAgICBX
ZWJDb3JlOjpQYWdlKiBtX3BhZ2U7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9tYWMvV2ViUGFnZU1hYy5tbSBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9X
ZWJQYWdlTWFjLm1tCmluZGV4IDUyYTIxODMuLjYwOTM2NjQgMTAwNjQ0Ci0tLSBhL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tCisrKyBiL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tCkBAIC0xNzQsNCArMTc0LDggQEAgY29uc3Qg
Y2hhciogV2ViUGFnZTo6aW50ZXJwcmV0S2V5RXZlbnQoY29uc3QgS2V5Ym9hcmRFdmVudCogZXZ0
KQogICAgIHJldHVybiBtYXBLZXkgPyBrZXlQcmVzc0NvbW1hbmRzTWFwLT5nZXQobWFwS2V5KSA6
IDA7CiB9CiAKK3ZvaWQgV2ViUGFnZTo6cGxhdGZvcm1QcmVmZXJlbmNlc0RpZENoYW5nZShjb25z
dCBXZWJQcmVmZXJlbmNlc1N0b3JlJikKK3sKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRp
ZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9XZWJQYWdlUXQuY3BwIGIv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvcXQvV2ViUGFnZVF0LmNwcAppbmRleCA2OGU1YjZl
Li4yYWFjNTY1IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9XZWJQ
YWdlUXQuY3BwCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L1dlYlBhZ2VRdC5j
cHAKQEAgLTIwMCw1ICsyMDAsOSBAQCBjb25zdCBjaGFyKiBXZWJQYWdlOjppbnRlcnByZXRLZXlF
dmVudChjb25zdCBLZXlib2FyZEV2ZW50KiBldnQpCiAgICAgaW50IG1hcEtleSA9IG1vZGlmaWVy
cyA8PCAxNiB8IGV2dC0+Y2hhckNvZGUoKTsKICAgICByZXR1cm4gbWFwS2V5ID8ga2V5UHJlc3ND
b21tYW5kc01hcC0+Z2V0KG1hcEtleSkgOiAwOwogfQotICAgIAorCit2b2lkIFdlYlBhZ2U6OnBs
YXRmb3JtUHJlZmVyZW5jZXNEaWRDaGFuZ2UoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYpCit7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2Uvd2luL1dlYlBhZ2VXaW4uY3BwIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2Uvd2luL1dlYlBhZ2VXaW4uY3BwCmluZGV4IDE5Y2JkMjcuLmFiOTljOTEgMTAwNjQ0Ci0tLSBh
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3dpbi9XZWJQYWdlV2luLmNwcAorKysgYi9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS93aW4vV2ViUGFnZVdpbi5jcHAKQEAgLTI1LDExICsyNSwx
NCBAQAogCiAjaW5jbHVkZSAiV2ViUGFnZS5oIgogCisjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXNT
dG9yZS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRm9udFJlbmRlcmluZ01vZGUuaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL0ZvbnRTbW9vdGhpbmdMZXZlbC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvS2V5Ym9h
cmRFdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UGxhdGZvcm1LZXlib2FyZEV2ZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZXR0aW5ncy5oPgor
I2luY2x1ZGUgPFdlYktpdFN5c3RlbUludGVyZmFjZS9XZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaD4K
ICNpbmNsdWRlIDxXaW5Vc2VyLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpAQCAtMTYx
LDQgKzE2NCwxNiBAQCBjb25zdCBjaGFyKiBXZWJQYWdlOjppbnRlcnByZXRLZXlFdmVudChjb25z
dCBLZXlib2FyZEV2ZW50KiBldnQpCiAgICAgcmV0dXJuIG1hcEtleSA/IGtleVByZXNzQ29tbWFu
ZHNNYXAtPmdldChtYXBLZXkpIDogMDsKIH0KIAordm9pZCBXZWJQYWdlOjpwbGF0Zm9ybVByZWZl
cmVuY2VzRGlkQ2hhbmdlKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQoreworI2lm
IFBMQVRGT1JNKENHKQorICAgIEZvbnRTbW9vdGhpbmdMZXZlbCBhZGp1c3RlZExldmVsID0gc3Rv
cmUuZm9udFNtb290aGluZ0xldmVsOworICAgIGlmIChhZGp1c3RlZExldmVsID09IEZvbnRTbW9v
dGhpbmdMZXZlbFdpbmRvd3MpCisgICAgICAgIGFkanVzdGVkTGV2ZWwgPSBGb250U21vb3RoaW5n
TGV2ZWxNZWRpdW07CisgICAgd2tTZXRGb250U21vb3RoaW5nTGV2ZWwoYWRqdXN0ZWRMZXZlbCk7
CisjZW5kaWYKKworICAgIG1fcGFnZS0+c2V0dGluZ3MoKS0+c2V0Rm9udFJlbmRlcmluZ01vZGUo
c3RvcmUuZm9udFNtb290aGluZ0xldmVsID09IEZvbnRTbW9vdGhpbmdMZXZlbFdpbmRvd3MgPyBB
bHRlcm5hdGVSZW5kZXJpbmdNb2RlIDogTm9ybWFsUmVuZGVyaW5nTW9kZSk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2Vi
S2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IGI5Zjc1ZWYuLmIwNDYzZTMgMTAwNjQ0Ci0tLSBhL1dl
YktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNCBAQAorMjAxMC0wOC0wNCAgSm9uIEhvbmV5Y3V0dCAgPGpob25leWN1dHRAYXBwbGUuY29t
PgorCisgICAgICAgIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgdG8gYmUgYWJsZSB0byBzZXQgdGhl
IGZvbnQgc21vb3RoaW5nIHR5cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTQzNDA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcDoKKyAgICAg
ICAgKFdUUjo6VGVzdEludm9jYXRpb246OnJlc2V0UHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1
ZXMpOgorICAgICAgICBTZXQgdGhlIGZvbnQgc21vb3RoaW5nIGxldmVsIHRvIGtXS0ZvbnRTbW9v
dGhpbmdMZXZlbFN0YW5kYXJkLgorCiAyMDEwLTA4LTA0ICBWaWN0b3IgV2FuZyAgPHZpY3RvcndA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9qYW4gVmFmYWkuCmRpZmYgLS1n
aXQgYS9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcCBiL1dl
YktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCmluZGV4IGU2NWNh
OGQuLjYxYTY2YzAgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dEludm9jYXRpb24uY3BwCisrKyBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdElu
dm9jYXRpb24uY3BwCkBAIC03MCw2ICs3MCw3IEBAIHZvaWQgVGVzdEludm9jYXRpb246OnJlc2V0
UHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMoKQogewogICAgIFdLUHJlZmVyZW5jZXNSZWYg
cHJlZmVyZW5jZXMgPSBXS0NvbnRleHRHZXRQcmVmZXJlbmNlcyhUZXN0Q29udHJvbGxlcjo6c2hh
cmVkKCkuY29udGV4dCgpKTsKICAgICBXS1ByZWZlcmVuY2VzU2V0T2ZmbGluZVdlYkFwcGxpY2F0
aW9uQ2FjaGVFbmFibGVkKHByZWZlcmVuY2VzLCB0cnVlKTsKKyAgICBXS1ByZWZlcmVuY2VzU2V0
Rm9udFNtb290aGluZ0xldmVsKHByZWZlcmVuY2VzLCBrV0tGb250U21vb3RoaW5nTGV2ZWxTdGFu
ZGFyZCk7CiB9CiAKIHZvaWQgVGVzdEludm9jYXRpb246Omludm9rZSgpCi0tIAoxLjYuMgoK
</data>
<flag name="review"
          id="51904"
          type_id="1"
          status="-"
          setter="aroben"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63689</attachid>
            <date>2010-08-05 21:44:45 -0700</date>
            <delta_ts>2010-08-06 07:08:48 -0700</delta_ts>
            <desc>Patch v2</desc>
            <filename>0001-WebKitTestRunner-needs-to-be-able-to-set-the-font-sm.patch</filename>
            <type>text/plain</type>
            <size>31812</size>
            <attacher name="Jon Honeycutt">jhoneycutt</attacher>
            
              <data encoding="base64">RnJvbSA3YzQ5Y2FiYTM3YTY4YjZhYjk0ZGQzMmM5MTEyNzZiMWM0YzdiNmMwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb24gSG9uZXljdXR0IDxqaG9uZXljdXR0QEpvbi1Ib25leWN1
dHRzLU1hY0Jvb2stUHJvLmxvY2FsPgpEYXRlOiBUaHUsIDUgQXVnIDIwMTAgMjA6Mzk6NTIgLTA3
MDAKU3ViamVjdDogW1BBVENIXSBXZWJLaXRUZXN0UnVubmVyIG5lZWRzIHRvIGJlIGFibGUgdG8g
c2V0IHRoZSBmb250IHNtb290aGluZyB0eXBlCiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDM0MDYKClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKV2ViS2l0MjoK
CiogU2hhcmVkL0ZvbnRTbW9vdGhpbmdMZXZlbC5oOiBBZGRlZC4KKFdlYktpdDo6KToKCiogU2hh
cmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuY3BwOgooV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3Jl
OjpXZWJQcmVmZXJlbmNlc1N0b3JlKToKSW5pdGlhbGl6ZSBmb250U21vb3RoaW5nTGV2ZWwuCihX
ZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OnN3YXApOgpDb3B5IGZvbnRTbW9vdGhpbmdMZXZl
bC4KCiogU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaDoKKFdlYktpdDo6V2ViUHJlZmVyZW5j
ZXNTdG9yZTo6ZW5jb2RlKToKRW5jb2RlIGZvbnRTbW9vdGhpbmdMZXZlbC4KKFdlYktpdDo6V2Vi
UHJlZmVyZW5jZXNTdG9yZTo6ZGVjb2RlKToKRGVjb2RlIGl0LgoKKiBVSVByb2Nlc3MvQVBJL0Mv
V0tQcmVmZXJlbmNlc1ByaXZhdGUuY3BwOiBBZGRlZC4KKFdLUHJlZmVyZW5jZXNTZXRGb250U21v
b3RoaW5nTGV2ZWwpOgpHZXQgdGhlIGZvbnQgc21vb3RoaW5nIGxldmVsIGZyb20gdGhlIFdLRm9u
dFNtb290aGluZ0xldmVsLCBhbmQgY2FsbApXZWJQcmVmZXJlbmNlczo6c2V0Rm9udFNtb290aGlu
Z0xldmVsKCkuCihXS1ByZWZlcmVuY2VzR2V0Rm9udFNtb290aGluZ0xldmVsKToKR2V0IHRoZSBm
b250IHNtb290aGluZyBsZXZlbCBmcm9tIFdlYlByZWZlcmVuY2VzLCBhbmQgdHJhbnNsYXRlIGl0
IHRvIGEKV0tGb250U21vb3RoaW5nTGV2ZWwuCgoqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVu
Y2VzUHJpdmF0ZS5oOiBBZGRlZC4KRGVjbGFyZSB0aGUgZm9udCBzbW9vdGhpbmcgbGV2ZWxzLCBh
bmQgZGVjbGFyZSBmdW5jdGlvbnMgdG8gZ2V0IGFuZCBzZXQKdGhlIGxldmVsLgoKKiBVSVByb2Nl
c3MvV2ViUHJlZmVyZW5jZXMuY3BwOgooV2ViS2l0OjpXZWJQcmVmZXJlbmNlczo6c2V0Rm9udFNt
b290aGluZ0xldmVsKToKU2V0IGZvbnRTbW9vdGhpbmdMZXZlbCBhbmQgY2FsbCB1cGRhdGUoKS4K
KFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6OmZvbnRTbW9vdGhpbmdMZXZlbCk6ClJldHVybiB0aGUg
bGV2ZWwuCgoqIFVJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oOgpEZWNsYXJlIGdldHRlciBhbmQg
c2V0dGVyIGZvciBmb250U21vb3RoaW5nTGV2ZWwsIGFuZCBhZGQgYSBtZW1iZXIgdG8KaG9sZCB0
aGUgbGV2ZWwuCgoqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKQWRkIG5ldyBm
aWxlcyB0byBwcm9qZWN0LgoKKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CihXZWJL
aXQ6OldlYlBhZ2U6OnByZWZlcmVuY2VzRGlkQ2hhbmdlKToKQ2FsbCBwbGF0Zm9ybVByZWZlcmVu
Y2VzRGlkQ2hhbmdlKCkuCgoqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CkRlY2xhcmUg
cGxhdGZvcm1QcmVmZXJlbmNlc0RpZENoYW5nZSgpLgoKKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1dlYlBhZ2VNYWMubW06CihXZWJLaXQ6OldlYlBhZ2U6OnBsYXRmb3JtUHJlZmVyZW5jZXNEaWRD
aGFuZ2UpOgpTdHViYmVkLgoKKiBXZWJQcm9jZXNzL1dlYlBhZ2UvcXQvV2ViUGFnZVF0LmNwcDoK
KFdlYktpdDo6V2ViUGFnZTo6cGxhdGZvcm1QcmVmZXJlbmNlc0RpZENoYW5nZSk6ClN0dWJiZWQu
CgoqIFdlYlByb2Nlc3MvV2ViUGFnZS93aW4vV2ViUGFnZVdpbi5jcHA6CihXZWJLaXQ6OldlYlBh
Z2U6OnBsYXRmb3JtUHJlZmVyZW5jZXNEaWRDaGFuZ2UpOgpPbiBDRyBwbGF0Zm9ybXMsIGNhbGwg
d2tTZXRGb250U21vb3RoaW5nTGV2ZWwoKS4gVGhpcyBtYXRjaGVzIHRoZSBjb2RlCmluIG9sZCBX
ZWJLaXQncyBXZWJQcmVmZXJlbmNlcy4gU2V0IHRoZSBmb250IHJlbmRlcmluZyBtb2RlIHRvIGVp
dGhlcgpub3JtYWwgKENHKSBvciBhbHRlcm5hdGl2ZSAoR0RJKSBiYXNlZCBvbiB0aGUgZm9udCBz
bW9vdGhpbmcgbGV2ZWwuIFRoaXMKbWF0Y2hlcyB3aGF0IHdhcyBkb25lIGluIG9sZCBXZWJLaXQn
cyBXZWJWaWV3LgoKKiB3aW4vV2ViS2l0Mi52Y3Byb2o6CkFkZCBGb250U21vb3RoaW5nTGV2ZWwu
aCBhbmQgV0tQcmVmZXJlbmNlc1ByaXZhdGUue2gsY3BwfSB0byBwcm9qZWN0LgoKKiB3aW4vV2Vi
S2l0MkdlbmVyYXRlZC5tYWtlOgpDb3B5IFdLUHJlZmVyZW5jZXNQcml2YXRlLmguCgpXZWJLaXRU
b29sczoKCiogV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHA6CihXVFI6OlRlc3RJ
bnZvY2F0aW9uOjpyZXNldFByZWZlcmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToKU2V0IHRoZSBm
b250IHNtb290aGluZyBsZXZlbCB0bwprV0tGb250U21vb3RoaW5nTGV2ZWxOb1N1YnBpeGVsQW50
aUFsaWFzaW5nLgotLS0KIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
ICAgICAgICB8ICAgIDEgLQogV2ViS2l0Mi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgICA3NSArKysrKysrKysrKysrKysrKysrCiBXZWJLaXQyL1NoYXJlZC9Gb250
U21vb3RoaW5nTGV2ZWwuaCAgICAgICAgICAgICAgfCAgIDQzICsrKysrKysrKysrCiBXZWJLaXQy
L1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmNwcCAgICAgICAgICAgfCAgICA1ICsrCiBXZWJL
aXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmggICAgICAgICAgICAgfCAgICA1ICsrCiBX
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5jcHAgfCAgIDg0ICsr
KysrKysrKysrKysrKysrKysrKysKIFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXNQcml2YXRlLmggICB8ICAgNTggKysrKysrKysrKysrKysrCiBXZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQcmVmZXJlbmNlcy5jcHAgICAgICAgICAgICAgfCAgIDEzICsrKysKIFdlYktpdDIvVUlQcm9j
ZXNzL1dlYlByZWZlcmVuY2VzLmggICAgICAgICAgICAgICB8ICAgIDQgKwogV2ViS2l0Mi9XZWJL
aXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogICAgICAgIHwgICAxMCArKysKIFdlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwICAgICAgICAgICB8ICAgIDIgKwogV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oICAgICAgICAgICAgIHwgICAgMSArCiBXZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbSAgICAgfCAgICA0ICsKIFdl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L1dlYlBhZ2VRdC5jcHAgICAgICB8ICAgIDYgKyst
CiBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS93aW4vV2ViUGFnZVdpbi5jcHAgICAgfCAgIDE1
ICsrKysKIFdlYktpdDIvd2luL1dlYktpdDIudmNwcm9qICAgICAgICAgICAgICAgICAgICAgICB8
ICAgMTIgKysrCiBXZWJLaXQyL3dpbi9XZWJLaXQyR2VuZXJhdGVkLm1ha2UgICAgICAgICAgICAg
ICAgfCAgICAxICsKIFdlYktpdFRvb2xzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgMTIgKysrCiBXZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0
aW9uLmNwcCAgfCAgICAyICsKIDE5IGZpbGVzIGNoYW5nZWQsIDM1MSBpbnNlcnRpb25zKCspLCAy
IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IFdlYktpdDIvU2hhcmVkL0ZvbnRTbW9v
dGhpbmdMZXZlbC5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tQcmVmZXJlbmNlc1ByaXZhdGUuY3BwCiBjcmVhdGUgbW9kZSAxMDA2NDQgV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaAoKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOGM3MWY4Mi4uM2ZkOGI5YyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIwMDQ1LDcgKzIwMDQ1LDYgQEAK
IAkJCWlzYSA9IFBCWFByb2plY3Q7CiAJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMTQ5QzI4
NDMwODkwMkIxMTAwOEE5RUZDIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJv
amVjdCAiV2ViQ29yZSIgKi87CiAJCQljb21wYXRpYmlsaXR5VmVyc2lvbiA9ICJYY29kZSAyLjQi
OwotCQkJZGV2ZWxvcG1lbnRSZWdpb24gPSBFbmdsaXNoOwogCQkJaGFzU2Nhbm5lZEZvckVuY29k
aW5ncyA9IDE7CiAJCQlrbm93blJlZ2lvbnMgPSAoCiAJCQkJRW5nbGlzaCwKZGlmZiAtLWdpdCBh
L1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYWZmZjNlYi4uNjg0
NzQ2NiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0Mi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw3OCBAQAorMjAxMC0wOC0wNSAgSm9uIEhvbmV5Y3V0dCAgPGpob25leWN1
dHRAYXBwbGUuY29tPgorCisgICAgICAgIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgdG8gYmUgYWJs
ZSB0byBzZXQgdGhlIGZvbnQgc21vb3RoaW5nIHR5cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzNDA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvRm9udFNtb290aGluZ0xldmVsLmg6IEFk
ZGVkLgorICAgICAgICAoV2ViS2l0OjopOgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVu
Y2VzU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpXZWJQ
cmVmZXJlbmNlc1N0b3JlKToKKyAgICAgICAgSW5pdGlhbGl6ZSBmb250U21vb3RoaW5nTGV2ZWwu
CisgICAgICAgIChXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OnN3YXApOgorICAgICAgICBD
b3B5IGZvbnRTbW9vdGhpbmdMZXZlbC4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNl
c1N0b3JlLmg6CisgICAgICAgIChXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OmVuY29kZSk6
CisgICAgICAgIEVuY29kZSBmb250U21vb3RoaW5nTGV2ZWwuCisgICAgICAgIChXZWJLaXQ6Oldl
YlByZWZlcmVuY2VzU3RvcmU6OmRlY29kZSk6CisgICAgICAgIERlY29kZSBpdC4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5jcHA6IEFkZGVkLgorICAg
ICAgICAoV0tQcmVmZXJlbmNlc1NldEZvbnRTbW9vdGhpbmdMZXZlbCk6CisgICAgICAgIEdldCB0
aGUgZm9udCBzbW9vdGhpbmcgbGV2ZWwgZnJvbSB0aGUgV0tGb250U21vb3RoaW5nTGV2ZWwsIGFu
ZCBjYWxsCisgICAgICAgIFdlYlByZWZlcmVuY2VzOjpzZXRGb250U21vb3RoaW5nTGV2ZWwoKS4K
KyAgICAgICAgKFdLUHJlZmVyZW5jZXNHZXRGb250U21vb3RoaW5nTGV2ZWwpOgorICAgICAgICBH
ZXQgdGhlIGZvbnQgc21vb3RoaW5nIGxldmVsIGZyb20gV2ViUHJlZmVyZW5jZXMsIGFuZCB0cmFu
c2xhdGUgaXQgdG8gYQorICAgICAgICBXS0ZvbnRTbW9vdGhpbmdMZXZlbC4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oOiBBZGRlZC4KKyAgICAgICAg
RGVjbGFyZSB0aGUgZm9udCBzbW9vdGhpbmcgbGV2ZWxzLCBhbmQgZGVjbGFyZSBmdW5jdGlvbnMg
dG8gZ2V0IGFuZCBzZXQKKyAgICAgICAgdGhlIGxldmVsLgorCisgICAgICAgICogVUlQcm9jZXNz
L1dlYlByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6OnNl
dEZvbnRTbW9vdGhpbmdMZXZlbCk6CisgICAgICAgIFNldCBmb250U21vb3RoaW5nTGV2ZWwgYW5k
IGNhbGwgdXBkYXRlKCkuCisgICAgICAgIChXZWJLaXQ6OldlYlByZWZlcmVuY2VzOjpmb250U21v
b3RoaW5nTGV2ZWwpOgorICAgICAgICBSZXR1cm4gdGhlIGxldmVsLgorCisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlByZWZlcmVuY2VzLmg6CisgICAgICAgIERlY2xhcmUgZ2V0dGVyIGFuZCBzZXR0
ZXIgZm9yIGZvbnRTbW9vdGhpbmdMZXZlbCwgYW5kIGFkZCBhIG1lbWJlciB0bworICAgICAgICBo
b2xkIHRoZSBsZXZlbC4KKworICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgQWRkIG5ldyBmaWxlcyB0byBwcm9qZWN0LgorCisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpw
cmVmZXJlbmNlc0RpZENoYW5nZSk6CisgICAgICAgIENhbGwgcGxhdGZvcm1QcmVmZXJlbmNlc0Rp
ZENoYW5nZSgpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAg
ICAgICAgRGVjbGFyZSBwbGF0Zm9ybVByZWZlcmVuY2VzRGlkQ2hhbmdlKCkuCisKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW06CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2U6OnBsYXRmb3JtUHJlZmVyZW5jZXNEaWRDaGFuZ2UpOgorICAgICAgICBTdHViYmVk
LgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L1dlYlBhZ2VRdC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBsYXRmb3JtUHJlZmVyZW5jZXNEaWRDaGFuZ2UpOgorICAg
ICAgICBTdHViYmVkLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL3dpbi9XZWJQYWdl
V2luLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cGxhdGZvcm1QcmVmZXJlbmNlc0Rp
ZENoYW5nZSk6CisgICAgICAgIE9uIENHIHBsYXRmb3JtcywgY2FsbCB3a1NldEZvbnRTbW9vdGhp
bmdMZXZlbCgpLiBUaGlzIG1hdGNoZXMgdGhlIGNvZGUKKyAgICAgICAgaW4gb2xkIFdlYktpdCdz
IFdlYlByZWZlcmVuY2VzLiBTZXQgdGhlIGZvbnQgcmVuZGVyaW5nIG1vZGUgdG8gZWl0aGVyCisg
ICAgICAgIG5vcm1hbCAoQ0cpIG9yIGFsdGVybmF0aXZlIChHREkpIGJhc2VkIG9uIHRoZSBmb250
IHNtb290aGluZyBsZXZlbC4gVGhpcworICAgICAgICBtYXRjaGVzIHdoYXQgd2FzIGRvbmUgaW4g
b2xkIFdlYktpdCdzIFdlYlZpZXcuCisKKyAgICAgICAgKiB3aW4vV2ViS2l0Mi52Y3Byb2o6Cisg
ICAgICAgIEFkZCBGb250U21vb3RoaW5nTGV2ZWwuaCBhbmQgV0tQcmVmZXJlbmNlc1ByaXZhdGUu
e2gsY3BwfSB0byBwcm9qZWN0LgorCisgICAgICAgICogd2luL1dlYktpdDJHZW5lcmF0ZWQubWFr
ZToKKyAgICAgICAgQ29weSBXS1ByZWZlcmVuY2VzUHJpdmF0ZS5oLgorCiAyMDEwLTA4LTA1ICBT
YW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kZXJz
IENhcmxzc29uLgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvRm9udFNtb290aGluZ0xldmVs
LmggYi9XZWJLaXQyL1NoYXJlZC9Gb250U21vb3RoaW5nTGV2ZWwuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi43NWRlY2Q2Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0Mi9T
aGFyZWQvRm9udFNtb290aGluZ0xldmVsLmgKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIEZvbnRTbW9vdGhpbmdM
ZXZlbF9oCisjZGVmaW5lIEZvbnRTbW9vdGhpbmdMZXZlbF9oCisKK25hbWVzcGFjZSBXZWJLaXQg
eworCitlbnVtIEZvbnRTbW9vdGhpbmdMZXZlbCB7CisgICAgRm9udFNtb290aGluZ0xldmVsTm9T
dWJwaXhlbEFudGlBbGlhc2luZyA9IDAsCisgICAgRm9udFNtb290aGluZ0xldmVsTGlnaHQgPSAx
LAorICAgIEZvbnRTbW9vdGhpbmdMZXZlbE1lZGl1bSA9IDIsCisgICAgRm9udFNtb290aGluZ0xl
dmVsU3Ryb25nID0gMywKKyNpZiBQTEFURk9STShXSU4pCisgICAgRm9udFNtb290aGluZ0xldmVs
V2luZG93cyA9IDQsCisjZW5kaWYKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5k
aWYgLy8gRm9udFNtb290aGluZ0xldmVsX2gKZGlmZiAtLWdpdCBhL1dlYktpdDIvU2hhcmVkL1dl
YlByZWZlcmVuY2VzU3RvcmUuY3BwIGIvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9y
ZS5jcHAKaW5kZXggNzc2ZTNmYS4uZWMxOWY0YSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQv
V2ViUHJlZmVyZW5jZXNTdG9yZS5jcHAKKysrIGIvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5j
ZXNTdG9yZS5jcHAKQEAgLTI1LDYgKzI1LDggQEAKIAogI2luY2x1ZGUgIldlYlByZWZlcmVuY2Vz
U3RvcmUuaCIKIAorI2luY2x1ZGUgIkZvbnRTbW9vdGhpbmdMZXZlbC5oIgorCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAogV2ViUHJlZmVyZW5jZXNTdG9yZTo6V2ViUHJlZmVyZW5jZXNTdG9yZSgpCkBA
IC0zMyw2ICszNSw3IEBAIFdlYlByZWZlcmVuY2VzU3RvcmU6OldlYlByZWZlcmVuY2VzU3RvcmUo
KQogICAgICwgcGx1Z2luc0VuYWJsZWQodHJ1ZSkKICAgICAsIG9mZmxpbmVXZWJBcHBsaWNhdGlv
bkNhY2hlRW5hYmxlZChmYWxzZSkKICAgICAsIGxvY2FsU3RvcmFnZUVuYWJsZWQodHJ1ZSkKKyAg
ICAsIGZvbnRTbW9vdGhpbmdMZXZlbChGb250U21vb3RoaW5nTGV2ZWxNZWRpdW0pCiAgICAgLCBt
aW5pbXVtRm9udFNpemUoMSkKICAgICAsIG1pbmltdW1Mb2dpY2FsRm9udFNpemUoOSkKICAgICAs
IGRlZmF1bHRGb250U2l6ZSgxNikKQEAgLTUzLDYgKzU2LDcgQEAgV2ViUHJlZmVyZW5jZXNTdG9y
ZTo6V2ViUHJlZmVyZW5jZXNTdG9yZShjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBvdGhlcikK
ICAgICBwbHVnaW5zRW5hYmxlZCA9IG90aGVyLnBsdWdpbnNFbmFibGVkOwogICAgIG9mZmxpbmVX
ZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZCA9IG90aGVyLm9mZmxpbmVXZWJBcHBsaWNhdGlvbkNh
Y2hlRW5hYmxlZDsKICAgICBsb2NhbFN0b3JhZ2VFbmFibGVkID0gb3RoZXIubG9jYWxTdG9yYWdl
RW5hYmxlZDsKKyAgICBmb250U21vb3RoaW5nTGV2ZWwgPSBvdGhlci5mb250U21vb3RoaW5nTGV2
ZWw7CiAgICAgbWluaW11bUZvbnRTaXplID0gb3RoZXIubWluaW11bUZvbnRTaXplOwogICAgIG1p
bmltdW1Mb2dpY2FsRm9udFNpemUgPSBvdGhlci5taW5pbXVtTG9naWNhbEZvbnRTaXplOwogICAg
IGRlZmF1bHRGb250U2l6ZSA9IG90aGVyLmRlZmF1bHRGb250U2l6ZTsKQEAgLTgwLDYgKzg0LDcg
QEAgdm9pZCBXZWJQcmVmZXJlbmNlc1N0b3JlOjpzd2FwKFdlYlByZWZlcmVuY2VzU3RvcmUmIG90
aGVyKQogICAgIHN0ZDo6c3dhcChwbHVnaW5zRW5hYmxlZCwgb3RoZXIucGx1Z2luc0VuYWJsZWQp
OwogICAgIHN0ZDo6c3dhcChvZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQsIG90aGVy
Lm9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZCk7CiAgICAgc3RkOjpzd2FwKGxvY2Fs
U3RvcmFnZUVuYWJsZWQsIG90aGVyLmxvY2FsU3RvcmFnZUVuYWJsZWQpOworICAgIHN0ZDo6c3dh
cChmb250U21vb3RoaW5nTGV2ZWwsIG90aGVyLmZvbnRTbW9vdGhpbmdMZXZlbCk7CiAgICAgc3Rk
Ojpzd2FwKG1pbmltdW1Gb250U2l6ZSwgb3RoZXIubWluaW11bUZvbnRTaXplKTsKICAgICBzdGQ6
OnN3YXAobWluaW11bUxvZ2ljYWxGb250U2l6ZSwgb3RoZXIubWluaW11bUxvZ2ljYWxGb250U2l6
ZSk7CiAgICAgc3RkOjpzd2FwKGRlZmF1bHRGb250U2l6ZSwgb3RoZXIuZGVmYXVsdEZvbnRTaXpl
KTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaCBiL1dl
YktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaAppbmRleCAzZTM3MTcyLi5hY2YyYThm
IDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgKKysrIGIv
V2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCkBAIC00Niw2ICs0Niw3IEBAIHN0
cnVjdCBXZWJQcmVmZXJlbmNlc1N0b3JlIHsKICAgICAgICAgZW5jb2Rlci5lbmNvZGUocGx1Z2lu
c0VuYWJsZWQpOwogICAgICAgICBlbmNvZGVyLmVuY29kZShvZmZsaW5lV2ViQXBwbGljYXRpb25D
YWNoZUVuYWJsZWQpOwogICAgICAgICBlbmNvZGVyLmVuY29kZShsb2NhbFN0b3JhZ2VFbmFibGVk
KTsKKyAgICAgICAgZW5jb2Rlci5lbmNvZGUoZm9udFNtb290aGluZ0xldmVsKTsKICAgICAgICAg
ZW5jb2Rlci5lbmNvZGUobWluaW11bUZvbnRTaXplKTsKICAgICAgICAgZW5jb2Rlci5lbmNvZGUo
bWluaW11bUxvZ2ljYWxGb250U2l6ZSk7CiAgICAgICAgIGVuY29kZXIuZW5jb2RlKGRlZmF1bHRG
b250U2l6ZSk7CkBAIC03MCw2ICs3MSw4IEBAIHN0cnVjdCBXZWJQcmVmZXJlbmNlc1N0b3JlIHsK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShz
LmxvY2FsU3RvcmFnZUVuYWJsZWQpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKHMuZm9udFNtb290aGluZ0xldmVsKSkKKyAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShzLm1pbmltdW1Gb250
U2l6ZSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIGlmICghZGVjb2Rlci5k
ZWNvZGUocy5taW5pbXVtTG9naWNhbEZvbnRTaXplKSkKQEAgLTk5LDYgKzEwMiw4IEBAIHN0cnVj
dCBXZWJQcmVmZXJlbmNlc1N0b3JlIHsKICAgICBib29sIG9mZmxpbmVXZWJBcHBsaWNhdGlvbkNh
Y2hlRW5hYmxlZDsKICAgICBib29sIGxvY2FsU3RvcmFnZUVuYWJsZWQ7CiAKKyAgICB1aW50MzJf
dCBmb250U21vb3RoaW5nTGV2ZWw7CisKICAgICB1aW50MzJfdCBtaW5pbXVtRm9udFNpemU7CiAg
ICAgdWludDMyX3QgbWluaW11bUxvZ2ljYWxGb250U2l6ZTsKICAgICB1aW50MzJfdCBkZWZhdWx0
Rm9udFNpemU7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVu
Y2VzUHJpdmF0ZS5jcHAgYi9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJp
dmF0ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTUwZDkxYgotLS0g
L2Rldi9udWxsCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2
YXRlLmNwcApAQCAtMCwwICsxLDg0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgIldLUHJlZmVy
ZW5jZXNQcml2YXRlLmgiCisKKyNpbmNsdWRlICJGb250U21vb3RoaW5nTGV2ZWwuaCIKKyNpbmNs
dWRlICJXS0FQSUNhc3QuaCIKKyNpbmNsdWRlICJXS1ByZWZlcmVuY2VzLmgiCisjaW5jbHVkZSAi
V2ViUHJlZmVyZW5jZXMuaCIKKwordXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKKwordm9pZCBXS1By
ZWZlcmVuY2VzU2V0Rm9udFNtb290aGluZ0xldmVsKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYsIFdLRm9udFNtb290aGluZ0xldmVsIHdrTGV2ZWwpCit7CisgICAgRm9udFNtb290aGlu
Z0xldmVsIGxldmVsID0gRm9udFNtb290aGluZ0xldmVsTm9TdWJwaXhlbEFudGlBbGlhc2luZzsK
KyAgICBzd2l0Y2ggKHdrTGV2ZWwpIHsKKyAgICAgICAgY2FzZSBrV0tGb250U21vb3RoaW5nTGV2
ZWxOb1N1YnBpeGVsQW50aUFsaWFzaW5nOgorICAgICAgICAgICAgbGV2ZWwgPSBGb250U21vb3Ro
aW5nTGV2ZWxOb1N1YnBpeGVsQW50aUFsaWFzaW5nOworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIGNhc2Uga1dLRm9udFNtb290aGluZ0xldmVsTGlnaHQ6CisgICAgICAgICAgICBsZXZlbCA9
IEZvbnRTbW9vdGhpbmdMZXZlbExpZ2h0OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNh
c2Uga1dLRm9udFNtb290aGluZ0xldmVsTWVkaXVtOgorICAgICAgICAgICAgbGV2ZWwgPSBGb250
U21vb3RoaW5nTGV2ZWxNZWRpdW07CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBr
V0tGb250U21vb3RoaW5nTGV2ZWxTdHJvbmc6CisgICAgICAgICAgICBsZXZlbCA9IEZvbnRTbW9v
dGhpbmdMZXZlbFN0cm9uZzsKKyAgICAgICAgICAgIGJyZWFrOworI2lmIFBMQVRGT1JNKFdJTikK
KyAgICAgICAgY2FzZSBrV0tGb250U21vb3RoaW5nTGV2ZWxXaW5kb3dzOgorICAgICAgICAgICAg
bGV2ZWwgPSBGb250U21vb3RoaW5nTGV2ZWxXaW5kb3dzOworICAgICAgICAgICAgYnJlYWs7Cisj
ZW5kaWYKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgICAgICAgICAgbGV2ZWwgPSBGb250U21vb3RoaW5nTGV2ZWxNZWRpdW07CisgICAgICAg
ICAgICBicmVhazsKKyAgICB9CisgICAgdG9XSyhwcmVmZXJlbmNlc1JlZiktPnNldEZvbnRTbW9v
dGhpbmdMZXZlbChsZXZlbCk7Cit9CisKK1dLRm9udFNtb290aGluZ0xldmVsIFdLUHJlZmVyZW5j
ZXNHZXRGb250U21vb3RoaW5nTGV2ZWwoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikK
K3sKKyAgICBGb250U21vb3RoaW5nTGV2ZWwgbGV2ZWwgPSB0b1dLKHByZWZlcmVuY2VzUmVmKS0+
Zm9udFNtb290aGluZ0xldmVsKCk7CisgICAgc3dpdGNoIChsZXZlbCkgeworICAgICAgICBjYXNl
IEZvbnRTbW9vdGhpbmdMZXZlbE5vU3VicGl4ZWxBbnRpQWxpYXNpbmc6CisgICAgICAgICAgICBy
ZXR1cm4ga1dLRm9udFNtb290aGluZ0xldmVsTm9TdWJwaXhlbEFudGlBbGlhc2luZzsKKyAgICAg
ICAgY2FzZSBGb250U21vb3RoaW5nTGV2ZWxMaWdodDoKKyAgICAgICAgICAgIHJldHVybiBrV0tG
b250U21vb3RoaW5nTGV2ZWxMaWdodDsKKyAgICAgICAgY2FzZSBGb250U21vb3RoaW5nTGV2ZWxN
ZWRpdW06CisgICAgICAgICAgICByZXR1cm4ga1dLRm9udFNtb290aGluZ0xldmVsTWVkaXVtOwor
ICAgICAgICBjYXNlIEZvbnRTbW9vdGhpbmdMZXZlbFN0cm9uZzoKKyAgICAgICAgICAgIHJldHVy
biBrV0tGb250U21vb3RoaW5nTGV2ZWxTdHJvbmc7CisjaWYgUExBVEZPUk0oV0lOKQorICAgICAg
ICBjYXNlIEZvbnRTbW9vdGhpbmdMZXZlbFdpbmRvd3M6CisgICAgICAgICAgICByZXR1cm4ga1dL
Rm9udFNtb290aGluZ0xldmVsV2luZG93czsKKyNlbmRpZgorICAgIH0KKworICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBrV0tGb250U21vb3RoaW5nTGV2ZWxOb1N1YnBpeGVs
QW50aUFsaWFzaW5nOworfQpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlc1ByaXZhdGUuaCBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXNQcml2YXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2M2YTM4Ngot
LS0gL2Rldi9udWxsCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQ
cml2YXRlLmgKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV0tQcmVmZXJl
bmNlc1ByaXZhdGVfaAorI2RlZmluZSBXS1ByZWZlcmVuY2VzUHJpdmF0ZV9oCisKKyNpbmNsdWRl
IDxXZWJLaXQyL1dLQmFzZS5oPgorCisjaWZuZGVmIF9fY3BsdXNwbHVzCisjaW5jbHVkZSA8c3Rk
Ym9vbC5oPgorI2VuZGlmCisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5k
aWYKKworZW51bSBXS0ZvbnRTbW9vdGhpbmdMZXZlbCB7CisgICAga1dLRm9udFNtb290aGluZ0xl
dmVsTm9TdWJwaXhlbEFudGlBbGlhc2luZyA9IDAsCisgICAga1dLRm9udFNtb290aGluZ0xldmVs
TGlnaHQgPSAxLAorICAgIGtXS0ZvbnRTbW9vdGhpbmdMZXZlbE1lZGl1bSA9IDIsCisgICAga1dL
Rm9udFNtb290aGluZ0xldmVsU3Ryb25nID0gMywKKyNpZiBQTEFURk9STShXSU4pCisgICAga1dL
Rm9udFNtb290aGluZ0xldmVsV2luZG93cyA9IDQsCisjZW5kaWYKK307Cit0eXBlZGVmIGVudW0g
V0tGb250U21vb3RoaW5nTGV2ZWwgV0tGb250U21vb3RoaW5nTGV2ZWw7CisKKy8vIERlZmF1bHRz
IHRvIGtXS0ZvbnRTbW9vdGhpbmdMZXZlbE1lZGl1bS4KK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVy
ZW5jZXNTZXRGb250U21vb3RoaW5nTGV2ZWwoV0tQcmVmZXJlbmNlc1JlZiwgV0tGb250U21vb3Ro
aW5nTGV2ZWwpOworV0tfRVhQT1JUIFdLRm9udFNtb290aGluZ0xldmVsIFdLUHJlZmVyZW5jZXNH
ZXRGb250U21vb3RoaW5nTGV2ZWwoV0tQcmVmZXJlbmNlc1JlZik7CisKKyNpZmRlZiBfX2NwbHVz
cGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBXS1ByZWZlcmVuY2VzUHJpdmF0ZV9oICovCmRp
ZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHAgYi9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHAKaW5kZXggYWM0OWRmZS4uNTg1YzVmOSAxMDA2
NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwCisrKyBiL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmNwcApAQCAtMjcsNiArMjcsOCBAQAogCiAjaW5j
bHVkZSAiV2ViQ29udGV4dC5oIgogCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKwogbmFtZXNw
YWNlIFdlYktpdCB7CiAKIFdlYlByZWZlcmVuY2VzKiBXZWJQcmVmZXJlbmNlczo6c2hhcmVkKCkK
QEAgLTEwOCw0ICsxMTAsMTUgQEAgYm9vbCBXZWJQcmVmZXJlbmNlczo6bG9jYWxTdG9yYWdlRW5h
YmxlZCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fc3RvcmUubG9jYWxTdG9yYWdlRW5hYmxlZDsKIH0K
IAordm9pZCBXZWJQcmVmZXJlbmNlczo6c2V0Rm9udFNtb290aGluZ0xldmVsKEZvbnRTbW9vdGhp
bmdMZXZlbCBsZXZlbCkKK3sKKyAgICBtX3N0b3JlLmZvbnRTbW9vdGhpbmdMZXZlbCA9IGxldmVs
OworICAgIHVwZGF0ZSgpOworfQorCitGb250U21vb3RoaW5nTGV2ZWwgV2ViUHJlZmVyZW5jZXM6
OmZvbnRTbW9vdGhpbmdMZXZlbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PEZv
bnRTbW9vdGhpbmdMZXZlbD4obV9zdG9yZS5mb250U21vb3RoaW5nTGV2ZWwpOworfQorCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByZWZl
cmVuY2VzLmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oCmluZGV4IGE4MDcw
YzYuLmVjMjkxNGMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2Vz
LmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuaApAQCAtMjcsNiArMjcs
NyBAQAogI2RlZmluZSBXZWJQcmVmZXJlbmNlc19oCiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIK
KyNpbmNsdWRlICJGb250U21vb3RoaW5nTGV2ZWwuaCIKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNl
c1N0b3JlLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgpAQCAtNjksNiArNzAsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRMb2NhbFN0b3Jh
Z2VFbmFibGVkKGJvb2wpOwogICAgIGJvb2wgbG9jYWxTdG9yYWdlRW5hYmxlZCgpIGNvbnN0Owog
CisgICAgdm9pZCBzZXRGb250U21vb3RoaW5nTGV2ZWwoRm9udFNtb290aGluZ0xldmVsKTsKKyAg
ICBGb250U21vb3RoaW5nTGV2ZWwgZm9udFNtb290aGluZ0xldmVsKCkgY29uc3Q7CisKIHByaXZh
dGU6CiAgICAgV2ViUHJlZmVyZW5jZXMoKTsKICAgICBXZWJQcmVmZXJlbmNlcyhXZWJQcmVmZXJl
bmNlcyopOwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBh
YzYyODE3Li4yZjdiMTg5IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtOTksNiArOTksOCBAQAogCQk1MTZBNEE1RDEyMEEyQ0NEMDBDMDVCN0YgLyogV2Vi
RXJyb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUx
NkE0QTVCMTIwQTJDQ0QwMEMwNUI3RiAvKiBXZWJFcnJvci5oICovOyB9OwogCQk1REFENzI5QzEx
NkZGODYyMDBFRTUzOTYgLyogQXBwS2l0LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4NjdENkE1RkU4NDAzMDdDMDJBQUMwNyAvKiBB
cHBLaXQuZnJhbWV3b3JrICovOyB9OwogCQk2RDhBOTFBNjExRjBFRkQxMDBERDAxRkUgLyogY29t
LmFwcGxlLldlYlByb2Nlc3Muc2IgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDZEOEE5MUE1MTFGMEVGRDEwMEREMDFGRSAvKiBjb20uYXBwbGUuV2ViUHJv
Y2Vzcy5zYiAqLzsgfTsKKwkJNzYyQjc0OEQxMjBCQzc1QzAwODE5MzM5IC8qIFdLUHJlZmVyZW5j
ZXNQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3NjJCNzQ4NDEyMEJCQTJEMDA4MTkzMzkgLyogV0tQcmVmZXJlbmNlc1ByaXZhdGUuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk3NjJCNzRBRjEy
MEJDOTRGMDA4MTkzMzkgLyogV0tQcmVmZXJlbmNlc1ByaXZhdGUuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzYyQjc0OUQxMjBCQzhFQTAwODE5MzM5
IC8qIFdLUHJlZmVyZW5jZXNQcml2YXRlLmNwcCAqLzsgfTsKIAkJOERDMkVGNTMwNDg2QTY5NDAw
OThCMjE2IC8qIEluZm9QbGlzdC5zdHJpbmdzIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwODlDMTY2NkZFODQxMTU4QzAyQUFDMDcgLyogSW5mb1BsaXN0
LnN0cmluZ3MgKi87IH07CiAJCThEQzJFRjU3MDQ4NkE2OTQwMDk4QjIxNiAvKiBDb2NvYS5mcmFt
ZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
MDU4QzdCMUZFQTU1ODVFMTFDQTJDQkIgLyogQ29jb2EuZnJhbWV3b3JrICovOyB9OwogCQlCQzAw
OTJGNzExNTgzN0EzMDBFMEFFMkEgLyogUnVuTG9vcE1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMDA5MkY1MTE1ODM3QTMwMEUwQUUyQSAvKiBS
dW5Mb29wTWFjLm1tICovOyB9OwpAQCAtNDI0LDYgKzQyNiw5IEBACiAJCTVEQUQ3Mjk0MTE2RkY3
MEIwMEVFNTM5NiAvKiBXZWJQcm9jZXNzLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZp
ZzsgcGF0aCA9IFdlYlByb2Nlc3MueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTVEQUQ3M0YxMTE2RkY5MEMwMEVFNTM5NiAvKiBCYXNlVGFyZ2V0LnhjY29uZmlnICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IEJhc2VUYXJnZXQueGNjb25maWc7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZEOEE5MUE1MTFGMEVGRDEwMEREMDFGRSAvKiBjb20uYXBw
bGUuV2ViUHJvY2Vzcy5zYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBjb20uYXBwbGUuV2ViUHJv
Y2Vzcy5zYjsgcGF0aCA9IFdlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Muc2I7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc2MkI3NDgxMTIwQkJBMDEwMDgxOTMzOSAvKiBGb250
U21vb3RoaW5nTGV2ZWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9udFNt
b290aGluZ0xldmVsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc2MkI3NDg0MTIw
QkJBMkQwMDgxOTMzOSAvKiBXS1ByZWZlcmVuY2VzUHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXS1ByZWZlcmVuY2VzUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk3NjJCNzQ5RDEyMEJDOEVBMDA4MTkzMzkgLyogV0tQcmVmZXJlbmNlc1By
aXZhdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tQcmVmZXJl
bmNlc1ByaXZhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4REMyRUY1QTA0
ODZBNjk0MDA5OEIyMTYgLyogSW5mby5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQucGxpc3QueG1sOyBw
YXRoID0gSW5mby5wbGlzdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOERDMkVGNUIw
NDg2QTY5NDAwOThCMjE2IC8qIFdlYktpdDIuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgaW5jbHVkZUlu
SW5kZXggPSAwOyBwYXRoID0gV2ViS2l0Mi5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBCVUlMVF9Q
Uk9EVUNUU19ESVI7IH07CiAJCUJDMDA5MkY1MTE1ODM3QTMwMEUwQUUyQSAvKiBSdW5Mb29wTWFj
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUnVuTG9vcE1hYy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTgxOCw2ICs4MjMsNyBAQAogCQkJCTBG
QjY1OTIyMTIwOEI0REIwMDQ0ODE2QyAvKiBEcmF3aW5nQXJlYUJhc2UuaCAqLywKIAkJCQkwRkI2
NTlBNTEyMDhCOUVFMDA0NDgxNkMgLyogRHJhd2luZ0FyZWFCYXNlLmNwcCAqLywKIAkJCQkxQTZG
OUY4RTExRTEzRUZDMDBEQjEzNzEgLyogQ29tbWFuZExpbmUuaCAqLywKKwkJCQk3NjJCNzQ4MTEy
MEJCQTAxMDA4MTkzMzkgLyogRm9udFNtb290aGluZ0xldmVsLmggKi8sCiAJCQkJQkM2NDY5NkQx
MURCRTYwMzAwNjQ1NUIwIC8qIEltbXV0YWJsZUFycmF5LmNwcCAqLywKIAkJCQlCQzY0Njk2RTEx
REJFNjAzMDA2NDU1QjAgLyogSW1tdXRhYmxlQXJyYXkuaCAqLywKIAkJCQlCQ0M1NzE2MTExNUFE
QjQyMDAxQ0NBRjkgLyogTm90SW1wbGVtZW50ZWQuaCAqLywKQEAgLTEwNTAsNiArMTA1Niw4IEBA
CiAJCQkJQkMxNzc0NjQxMThCOUZGNDAwN0Q5RTlBIC8qIFdLUGFnZVByaXZhdGUuaCAqLywKIAkJ
CQlCQ0Q1OTdDRjExMkI1NkFDMDBFQzhDMjMgLyogV0tQcmVmZXJlbmNlcy5jcHAgKi8sCiAJCQkJ
QkNENTk3Q0UxMTJCNTZBQzAwRUM4QzIzIC8qIFdLUHJlZmVyZW5jZXMuaCAqLywKKwkJCQk3NjJC
NzQ5RDEyMEJDOEVBMDA4MTkzMzkgLyogV0tQcmVmZXJlbmNlc1ByaXZhdGUuY3BwICovLAorCQkJ
CTc2MkI3NDg0MTIwQkJBMkQwMDgxOTMzOSAvKiBXS1ByZWZlcmVuY2VzUHJpdmF0ZS5oICovLAog
CQkJCUJDMjBFQkFGMTE2RUVCMDgwMDA5NEE1MCAvKiBXS1N0cmluZy5jcHAgKi8sCiAJCQkJQkMy
MEVCQUUxMTZFRUIwODAwMDk0QTUwIC8qIFdLU3RyaW5nLmggKi8sCiAJCQkJQkNEQjg1ODExMjAw
RUM1NzAwNzI1NEJFIC8qIFdLVHlwZS5jcHAgKi8sCkBAIC0xMzkzLDYgKzE0MDEsNyBAQAogCQkJ
CUJDRUU5OENEMTEzMzE3NEMwMDZCQ0MyNCAvKiBXS1BhZ2VOYW1lc3BhY2UuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDMTc3NDY1MTE4QjlGRjQwMDdEOUU5QSAvKiBXS1BhZ2VQcml2YXRlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQ0Q1OTdEMDExMkI1NkFDMDBFQzhDMjMgLyogV0tQcmVmZXJlbmNl
cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzYyQjc0OEQxMjBCQzc1QzAwODE5MzM5IC8qIFdLUHJl
ZmVyZW5jZXNQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzhBNTAxNTExNzY1RjU2MDA3
NTc1NzMgLyogV0tSZXRhaW5QdHIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMjBFQkIwMTE2RUVC
MDgwMDA5NEE1MCAvKiBXS1N0cmluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMyMEVDMDYxMTZF
RjdGRjAwMDk0QTUwIC8qIFdLU3RyaW5nQ0YuaCBpbiBIZWFkZXJzICovLApAQCAtMTYxNCw2ICsx
NjIzLDcgQEAKIAkJCQlCQ0Q1OTdENjExMkI1NkRDMDBFQzhDMjMgLyogV0tQYWdlLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUJDRUU5OENDMTEzMzE3NEMwMDZCQ0MyNCAvKiBXS1BhZ2VOYW1lc3Bh
Y2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNENTk3RDExMTJCNTZBQzAwRUM4QzIzIC8qIFdL
UHJlZmVyZW5jZXMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNzYyQjc0QUYxMjBCQzk0RjAwODE5
MzM5IC8qIFdLUHJlZmVyZW5jZXNQcml2YXRlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMjBF
QkIxMTE2RUVCMDgwMDA5NEE1MCAvKiBXS1N0cmluZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
QzIwRUMwNzExNkVGN0ZGMDAwOTRBNTAgLyogV0tTdHJpbmdDRi5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlCQzIwRUJCNTExNkVFRjdBMDAwOTRBNTAgLyogV0tVUkwuY3BwIGluIFNvdXJjZXMgKi8s
CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDZhNjNkMDUuLjZjYTYx
NDkgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisr
KyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC00NDksNiArNDQ5
LDggQEAgdm9pZCBXZWJQYWdlOjpwcmVmZXJlbmNlc0RpZENoYW5nZShjb25zdCBXZWJQcmVmZXJl
bmNlc1N0b3JlJiBzdG9yZSkKICAgICBtX3BhZ2UtPnNldHRpbmdzKCktPnNldExvYWRzSW1hZ2Vz
QXV0b21hdGljYWxseShzdG9yZS5sb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkpOwogICAgIG1fcGFn
ZS0+c2V0dGluZ3MoKS0+c2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKHN0b3Jl
Lm9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZCk7CiAgICAgbV9wYWdlLT5zZXR0aW5n
cygpLT5zZXRMb2NhbFN0b3JhZ2VFbmFibGVkKHN0b3JlLmxvY2FsU3RvcmFnZUVuYWJsZWQpOwor
CisgICAgcGxhdGZvcm1QcmVmZXJlbmNlc0RpZENoYW5nZShzdG9yZSk7CiB9CiAKIGJvb2wgV2Vi
UGFnZTo6aGFuZGxlRWRpdGluZ0tleWJvYXJkRXZlbnQoS2V5Ym9hcmRFdmVudCogZXZ0KQpkaWZm
IC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDJhODg0OTguLmI3MjEwMTkgMTAwNjQ0
Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTE0NSw2ICsxNDUsNyBAQCBwcml2YXRl
OgogICAgIHZvaWQgcnVuSmF2YVNjcmlwdEluTWFpbkZyYW1lKGNvbnN0IFdlYkNvcmU6OlN0cmlu
ZyYsIHVpbnQ2NF90IGNhbGxiYWNrSUQpOwogICAgIHZvaWQgZ2V0UmVuZGVyVHJlZUV4dGVybmFs
UmVwcmVzZW50YXRpb24odWludDY0X3QgY2FsbGJhY2tJRCk7CiAgICAgdm9pZCBwcmVmZXJlbmNl
c0RpZENoYW5nZShjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJik7CisgICAgdm9pZCBwbGF0Zm9y
bVByZWZlcmVuY2VzRGlkQ2hhbmdlKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmKTsKICAgICB2
b2lkIGRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbihXZWJGcmFtZSosIHVpbnQ2NF90IGxpc3RlbmVy
SUQsIFdlYkNvcmU6OlBvbGljeUFjdGlvbiBwb2xpY3lBY3Rpb24pOwogICAgIAogICAgIFdlYkNv
cmU6OlBhZ2UqIG1fcGFnZTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9XZWJQYWdlTWFjLm1tIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBh
Z2VNYWMubW0KaW5kZXggNTJhMjE4My4uNjA5MzY2NCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0KKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0KQEAgLTE3NCw0ICsxNzQsOCBAQCBjb25zdCBjaGFy
KiBXZWJQYWdlOjppbnRlcnByZXRLZXlFdmVudChjb25zdCBLZXlib2FyZEV2ZW50KiBldnQpCiAg
ICAgcmV0dXJuIG1hcEtleSA/IGtleVByZXNzQ29tbWFuZHNNYXAtPmdldChtYXBLZXkpIDogMDsK
IH0KIAordm9pZCBXZWJQYWdlOjpwbGF0Zm9ybVByZWZlcmVuY2VzRGlkQ2hhbmdlKGNvbnN0IFdl
YlByZWZlcmVuY2VzU3RvcmUmKQoreworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L1dlYlBhZ2VRdC5jcHAgYi9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9xdC9XZWJQYWdlUXQuY3BwCmluZGV4IDY4ZTViNmUuLjJh
YWM1NjUgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL3F0L1dlYlBhZ2VR
dC5jcHAKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvcXQvV2ViUGFnZVF0LmNwcApA
QCAtMjAwLDUgKzIwMCw5IEBAIGNvbnN0IGNoYXIqIFdlYlBhZ2U6OmludGVycHJldEtleUV2ZW50
KGNvbnN0IEtleWJvYXJkRXZlbnQqIGV2dCkKICAgICBpbnQgbWFwS2V5ID0gbW9kaWZpZXJzIDw8
IDE2IHwgZXZ0LT5jaGFyQ29kZSgpOwogICAgIHJldHVybiBtYXBLZXkgPyBrZXlQcmVzc0NvbW1h
bmRzTWFwLT5nZXQobWFwS2V5KSA6IDA7CiB9Ci0gICAgCisKK3ZvaWQgV2ViUGFnZTo6cGxhdGZv
cm1QcmVmZXJlbmNlc0RpZENoYW5nZShjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJikKK3sKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS93aW4vV2ViUGFnZVdpbi5jcHAgYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS93
aW4vV2ViUGFnZVdpbi5jcHAKaW5kZXggMTljYmQyNy4uOTYwZTliZCAxMDA2NDQKLS0tIGEvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uvd2luL1dlYlBhZ2VXaW4uY3BwCisrKyBiL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL3dpbi9XZWJQYWdlV2luLmNwcApAQCAtMjUsMTEgKzI1LDE0IEBA
CiAKICNpbmNsdWRlICJXZWJQYWdlLmgiCiAKKyNpbmNsdWRlICJGb250U21vb3RoaW5nTGV2ZWwu
aCIKKyNpbmNsdWRlICJXZWJQcmVmZXJlbmNlc1N0b3JlLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9G
b250UmVuZGVyaW5nTW9kZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvS2V5Ym9hcmRFdmVudC5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvUGFnZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1LZXli
b2FyZEV2ZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZXR0aW5ncy5oPgorI2luY2x1ZGUgPFdl
YktpdFN5c3RlbUludGVyZmFjZS9XZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaD4KICNpbmNsdWRlIDxX
aW5Vc2VyLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpAQCAtMTYxLDQgKzE2NCwxNiBA
QCBjb25zdCBjaGFyKiBXZWJQYWdlOjppbnRlcnByZXRLZXlFdmVudChjb25zdCBLZXlib2FyZEV2
ZW50KiBldnQpCiAgICAgcmV0dXJuIG1hcEtleSA/IGtleVByZXNzQ29tbWFuZHNNYXAtPmdldCht
YXBLZXkpIDogMDsKIH0KIAordm9pZCBXZWJQYWdlOjpwbGF0Zm9ybVByZWZlcmVuY2VzRGlkQ2hh
bmdlKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQoreworI2lmIFBMQVRGT1JNKENH
KQorICAgIEZvbnRTbW9vdGhpbmdMZXZlbCBhZGp1c3RlZExldmVsID0gc3RhdGljX2Nhc3Q8Rm9u
dFNtb290aGluZ0xldmVsPihzdG9yZS5mb250U21vb3RoaW5nTGV2ZWwpOworICAgIGlmIChhZGp1
c3RlZExldmVsID09IEZvbnRTbW9vdGhpbmdMZXZlbFdpbmRvd3MpCisgICAgICAgIGFkanVzdGVk
TGV2ZWwgPSBGb250U21vb3RoaW5nTGV2ZWxNZWRpdW07CisgICAgd2tTZXRGb250U21vb3RoaW5n
TGV2ZWwoYWRqdXN0ZWRMZXZlbCk7CisjZW5kaWYKKworICAgIG1fcGFnZS0+c2V0dGluZ3MoKS0+
c2V0Rm9udFJlbmRlcmluZ01vZGUoc3RvcmUuZm9udFNtb290aGluZ0xldmVsID09IEZvbnRTbW9v
dGhpbmdMZXZlbFdpbmRvd3MgPyBBbHRlcm5hdGVSZW5kZXJpbmdNb2RlIDogTm9ybWFsUmVuZGVy
aW5nTW9kZSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvV2ViS2l0
Mi93aW4vV2ViS2l0Mi52Y3Byb2ogYi9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagppbmRleCAz
NmEzMTgyLi5iYzMwNGMwIDEwMDc1NQotLS0gYS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagor
KysgYi9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvagpAQCAtNDA1LDYgKzQwNSwxMCBAQAogCQkJ
CT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxTaGFyZWRc
Rm9udFNtb290aGluZ0xldmVsLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxTaGFyZWRcSW1tdXRhYmxlQXJyYXkuY3BwIg0KIAkJCQk+DQog
CQkJPC9GaWxlPg0KQEAgLTEyNTUsNiArMTI1OSwxNCBAQAogCQkJCQkJPg0KIAkJCQkJPC9GaWxl
Pg0KIAkJCQkJPEZpbGUNCisJCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xBUElcQ1xX
S1ByZWZlcmVuY2VzUHJpdmF0ZS5jcHAiDQorCQkJCQkJPg0KKwkJCQkJPC9GaWxlPg0KKwkJCQkJ
PEZpbGUNCisJCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJUHJvY2Vzc1xBUElcQ1xXS1ByZWZlcmVu
Y2VzUHJpdmF0ZS5oIg0KKwkJCQkJCT4NCisJCQkJCTwvRmlsZT4NCisJCQkJCTxGaWxlDQogCQkJ
CQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcQVBJXENcV0tTdHJpbmcuY3BwIg0KIAkJCQkJ
CT4NCiAJCQkJCTwvRmlsZT4NCmRpZmYgLS1naXQgYS9XZWJLaXQyL3dpbi9XZWJLaXQyR2VuZXJh
dGVkLm1ha2UgYi9XZWJLaXQyL3dpbi9XZWJLaXQyR2VuZXJhdGVkLm1ha2UKaW5kZXggOGU3MjAx
Yy4uNjZiNjZiNyAxMDA2NDQKLS0tIGEvV2ViS2l0Mi93aW4vV2ViS2l0MkdlbmVyYXRlZC5tYWtl
CisrKyBiL1dlYktpdDIvd2luL1dlYktpdDJHZW5lcmF0ZWQubWFrZQpAQCAtMTYsNiArMTYsNyBA
QCBhbGw6CiAgICAgeGNvcHkgL3kgL2QgIi4uXFVJUHJvY2Vzc1xBUElcQ1xXS1BhZ2UuaCIgIiQo
V0VCS0lUT1VUUFVURElSKVxpbmNsdWRlXFdlYktpdDIiCiAgICAgeGNvcHkgL3kgL2QgIi4uXFVJ
UHJvY2Vzc1xBUElcQ1xXS1BhZ2VOYW1lc3BhY2UuaCIgIiQoV0VCS0lUT1VUUFVURElSKVxpbmNs
dWRlXFdlYktpdDIiCiAgICAgeGNvcHkgL3kgL2QgIi4uXFVJUHJvY2Vzc1xBUElcQ1xXS1ByZWZl
cmVuY2VzLmgiICIkKFdFQktJVE9VVFBVVERJUilcaW5jbHVkZVxXZWJLaXQyIgorICAgIHhjb3B5
IC95IC9kICIuLlxVSVByb2Nlc3NcQVBJXENcV0tQcmVmZXJlbmNlc1ByaXZhdGUuaCIgIiQoV0VC
S0lUT1VUUFVURElSKVxpbmNsdWRlXFdlYktpdDIiCiAgICAgeGNvcHkgL3kgL2QgIi4uXFVJUHJv
Y2Vzc1xBUElcQ1xXS1N0cmluZy5oIiAiJChXRUJLSVRPVVRQVVRESVIpXGluY2x1ZGVcV2ViS2l0
MiIKICAgICB4Y29weSAveSAvZCAiLi5cVUlQcm9jZXNzXEFQSVxDXFdLVHlwZS5oIiAiJChXRUJL
SVRPVVRQVVRESVIpXGluY2x1ZGVcV2ViS2l0MiIKICAgICB4Y29weSAveSAvZCAiLi5cVUlQcm9j
ZXNzXEFQSVxDXFdLVVJMLmgiICIkKFdFQktJVE9VVFBVVERJUilcaW5jbHVkZVxXZWJLaXQyIgpk
aWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9n
CmluZGV4IGJhYjdhN2MuLjliYWUwMDAgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZworKysgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0wOC0w
NSAgSm9uIEhvbmV5Y3V0dCAgPGpob25leWN1dHRAYXBwbGUuY29tPgorCisgICAgICAgIFdlYktp
dFRlc3RSdW5uZXIgbmVlZHMgdG8gYmUgYWJsZSB0byBzZXQgdGhlIGZvbnQgc21vb3RoaW5nIHR5
cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzNDA2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdEludm9j
YXRpb246OnJlc2V0UHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICBTZXQg
dGhlIGZvbnQgc21vb3RoaW5nIGxldmVsIHRvCisgICAgICAgIGtXS0ZvbnRTbW9vdGhpbmdMZXZl
bE5vU3VicGl4ZWxBbnRpQWxpYXNpbmcuCisKIDIwMTAtMDUtMjMgIEVyaWMgU2VpZGVsICA8ZXJp
Y0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCmRpZmYgLS1n
aXQgYS9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcCBiL1dl
YktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCmluZGV4IGU2NWNh
OGQuLjlhMGYwYWEgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dEludm9jYXRpb24uY3BwCisrKyBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdElu
dm9jYXRpb24uY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiU3RyaW5nRnVuY3Rpb25z
LmgiCiAjaW5jbHVkZSAiVGVzdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlIDxXZWJLaXQyL1dLQ29u
dGV4dFByaXZhdGUuaD4KKyNpbmNsdWRlIDxXZWJLaXQyL1dLUHJlZmVyZW5jZXNQcml2YXRlLmg+
CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS1JldGFpblB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5Q
dHIuaD4KIApAQCAtNzAsNiArNzEsNyBAQCB2b2lkIFRlc3RJbnZvY2F0aW9uOjpyZXNldFByZWZl
cmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKCkKIHsKICAgICBXS1ByZWZlcmVuY2VzUmVmIHByZWZl
cmVuY2VzID0gV0tDb250ZXh0R2V0UHJlZmVyZW5jZXMoVGVzdENvbnRyb2xsZXI6OnNoYXJlZCgp
LmNvbnRleHQoKSk7CiAgICAgV0tQcmVmZXJlbmNlc1NldE9mZmxpbmVXZWJBcHBsaWNhdGlvbkNh
Y2hlRW5hYmxlZChwcmVmZXJlbmNlcywgdHJ1ZSk7CisgICAgV0tQcmVmZXJlbmNlc1NldEZvbnRT
bW9vdGhpbmdMZXZlbChwcmVmZXJlbmNlcywga1dLRm9udFNtb290aGluZ0xldmVsTm9TdWJwaXhl
bEFudGlBbGlhc2luZyk7CiB9CiAKIHZvaWQgVGVzdEludm9jYXRpb246Omludm9rZSgpCi0tIAox
LjYuMgoK
</data>
<flag name="review"
          id="52089"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
      

    </bug>

</bugzilla>