<?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>20797</bug_id>
          
          <creation_ts>2008-09-12 10:44:25 -0700</creation_ts>
          <short_desc>add Settings entries for per-script/lang generic family</short_desc>
          <delta_ts>2011-07-01 12:23:46 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>63316</dependson>
          <blocked>18085</blocked>
    
    <blocked>24574</blocked>
    
    <blocked>10874</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jungshik Shin">jshin</reporter>
          <assigned_to name="Jungshik Shin">jshin</assigned_to>
          <cc>abarth</cc>
    
    <cc>abecsi</cc>
    
    <cc>ap</cc>
    
    <cc>eric</cc>
    
    <cc>evan</cc>
    
    <cc>falken</cc>
    
    <cc>hausmann</cc>
    
    <cc>hyatt</cc>
    
    <cc>mitz</cc>
    
    <cc>mjs</cc>
    
    <cc>nickshanks</cc>
    
    <cc>ossy</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zherczeg</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>90937</commentid>
    <comment_count>0</comment_count>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2008-09-12 10:44:25 -0700</bug_when>
    <thetext>Spun off of bug 13139 where David wrote:

&gt; Using the parent is just a heuristic and a poor one at that.  We choose &quot;serif&quot;
&gt; on the assumption that a majority of the fonts specified on the Web are
&gt; &quot;serif&quot;, and so that maximizes the probability that we will be right.

Would you consider adding a preference to control this (and the corresponding UI to Safari)?  Firefox has a preference and UI as to which to use, serif or sans-serif. In Firefox, it&apos;s per langGroup/scripts/languages (preferences are font.default.{langGroup} whose value can be either serif or sans-serif. For CJK, it&apos;s &apos;sans-serif&apos; by default while for all others, it&apos;s serif by default). 

 In Safari (which just has &apos;across-the-languages&apos; font selection UI as of now), it&apos;d be global as well. Anyway, CJK users usually prefer &apos;sans-serif&apos; to &apos;serif&apos; (on screen) and some user control on this would be nice to have.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>112868</commentid>
    <comment_count>1</comment_count>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2009-03-09 11:16:17 -0700</bug_when>
    <thetext>I realized that the UI of a webkit embedder is not supposed to be dealt with here. This bug is actually about making Settings class in WebCore deal with per-script/lang generic families. There might be a way to fix bug 10874 without this. Anyway, tentatively, I&apos;m marking this bug as blocking bug 10874. 
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>112958</commentid>
    <comment_count>2</comment_count>
      <attachid>28428</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2009-03-09 23:24:33 -0700</bug_when>
    <thetext>Created attachment 28428
tentative patch for ports with ICU

This does not work for ports that do not use ICU, but it should be easy to make it work with them. 
It uses scripts rather than languages as keys. Embedders that do not want to have preferences (that would be translated to Settings) for per-script generic font family do not have to do anything because a new argument (script code) added to setters/getters for generic font families have the default value. The only cost for them is using a single entry hash map instead of a direct access to fontFamily.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113054</commentid>
    <comment_count>3</comment_count>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2009-03-10 14:08:16 -0700</bug_when>
    <thetext>This also (indirectly) blocks bug 18085. </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113702</commentid>
    <comment_count>4</comment_count>
      <attachid>28601</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2009-03-13 14:32:15 -0700</bug_when>
    <thetext>Created attachment 28601
patch that should build for ports not using ICU

I copied ICU&apos;s UScriptCode enum (from icu/unicode/uscript.h) to platform/text/UScriptCode.h (expecting it to be used in files other than Settings.{h,cpp} being changed in the current patch). So, this patch can be used on ports that do not use ICU as well. 

I&apos;m not sure what to do about the copyright statement/license at the beginning. I put ICU&apos;s copyright and license statements at the beginning of UScriptCode.h because it&apos;s almost a verbatim copy of the first part of uscript.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113707</commentid>
    <comment_count>5</comment_count>
      <attachid>28601</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-03-13 14:55:38 -0700</bug_when>
    <thetext>Comment on attachment 28601
patch that should build for ports not using ICU

I am not the right reviewer for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113726</commentid>
    <comment_count>6</comment_count>
      <attachid>28601</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2009-03-13 15:50:16 -0700</bug_when>
    <thetext>Comment on attachment 28601
patch that should build for ports not using ICU

Giving this to mitz per hyatt on IRC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>115431</commentid>
    <comment_count>7</comment_count>
      <attachid>28601</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2009-03-26 14:49:23 -0700</bug_when>
    <thetext>Comment on attachment 28601
patch that should build for ports not using ICU

mitz, can you take a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122565</commentid>
    <comment_count>8</comment_count>
      <attachid>28601</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-05-21 23:59:58 -0700</bug_when>
    <thetext>Comment on attachment 28601
patch that should build for ports not using ICU


I would advise against using macros here. It&apos;s true that the code was a bit boilerplate-ish, but using macros this way makes debugging more painful, and in my opinion it&apos;s not worth the amount of duplication saved here.

I don&apos;t see any other problems, but r- for this style issue. Perhaps Mitz has additional comments.

&gt; Index: WebCore/page/Settings.cpp
&gt; ===================================================================
&gt; --- WebCore/page/Settings.cpp	(revision 41628)
&gt; +++ WebCore/page/Settings.cpp	(working copy)

&gt; +#define GENERIC_FONT_GETTER_SETTER(generic, Generic) \
&gt; +const AtomicString&amp; Settings::generic##FontFamily(UScriptCode script) const\
&gt; +{\
&gt; +    if (m_##generic##FontFamilyMap.contains(static_cast&lt;int&gt;(script)))\
&gt; +        return m_##generic##FontFamilyMap.find(static_cast&lt;int&gt;(script))-&gt;second;\
&gt; +    return emptyAtom;\
&gt; +}\
&gt; +\
&gt; +void Settings::set##Generic##FontFamily(const AtomicString&amp; family, UScriptCode script)\
&gt; +{\
&gt; +    if (m_##generic##FontFamilyMap.set(static_cast&lt;int&gt;(script), family).second)\
&gt; +        setNeedsReapplyStylesInAllFrames(m_page);\
&gt; +}
&gt; +
&gt; +GENERIC_FONT_GETTER_SETTER(standard, Standard)
&gt; +GENERIC_FONT_GETTER_SETTER(fixed, Fixed)
&gt; +GENERIC_FONT_GETTER_SETTER(serif, Serif)
&gt; +GENERIC_FONT_GETTER_SETTER(sansSerif, SansSerif)
&gt; +GENERIC_FONT_GETTER_SETTER(cursive, Cursive)
&gt; +GENERIC_FONT_GETTER_SETTER(fantasy, Fantasy)
&gt;  
&gt;  void Settings::setMinimumFontSize(int minimumFontSize)
&gt;  {</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133541</commentid>
    <comment_count>9</comment_count>
      <attachid>33195</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2009-07-21 11:47:02 -0700</bug_when>
    <thetext>Created attachment 33195
patch updated (macros expanded)

Thank you for taking a look and sorry for this terrible delay. I&apos;ve always had this issue in mind, but somehow I missed the review comment. 

This patch now has font setters and getters that are expanded out of macros. UScriptCode.h for ports (not using ICU) has
the latest script code available from ICU 4.2.1 (Unicode 5.1).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>133542</commentid>
    <comment_count>10</comment_count>
      <attachid>33195</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2009-07-21 11:49:57 -0700</bug_when>
    <thetext>Comment on attachment 33195
patch updated (macros expanded)

Maciej, if you could take another look, that&apos;d be great.  Thanks for taking a look earlier and in advance and sorry again for the delay.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>136203</commentid>
    <comment_count>11</comment_count>
      <attachid>33195</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2009-07-31 11:39:31 -0700</bug_when>
    <thetext>Comment on attachment 33195
patch updated (macros expanded)

Because Maciej didn&apos;t have any issue other than macros for the previous patch and this patch removed them, I&apos;m asking mitz to take a look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137919</commentid>
    <comment_count>12</comment_count>
      <attachid>33195</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-07 09:15:15 -0700</bug_when>
    <thetext>Comment on attachment 33195
patch updated (macros expanded)

Why do two hash lookups here?
120     if (m_standardFontFamilyMap.contains(static_cast&lt;int&gt;(script)))
 121         return m_standardFontFamilyMap.find(static_cast&lt;int&gt;(script))-&gt;second;

Seems you should just store the result of find in a local and check !null

We could do this w/o templates using simple static functions, no?

setFamilyInMap(m_fixedFontFamilyMap, script, m_page);

static inline setFamilyInMap(ScriptFontFamilyMap&amp; familyMap, UScriptCode code, Page* page)
{
     if (familyMap.set(static_cast&lt;int&gt;(script), family).second)
         setNeedsReapplyStylesInAllFrames(page);
}

Same could be done for the getters.

Why do we need USCRIPT_CODE_H?  Should it be autogenerated?

Please re-post the patch using the static functions and avoiding the double-lookup in the getters.  (Unless I&quot;m missing some obvious reason why we can&apos;t use static funtions here?)

Please also explain in the ChangeLog why we&apos;re adding UScriptCode, where it came from, and why it shouldn&apos;t be autogenerated (from scriptnames.txt... whatever that is.)

I&apos;m happy to r+ it with the above changes!  Thanks for the patch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142681</commentid>
    <comment_count>13</comment_count>
      <attachid>38565</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2009-08-25 13:32:18 -0700</bug_when>
    <thetext>Created attachment 38565
patch addressing Eric&apos;s concerns

Thanks a lot for the review !!! And, sorry for the late reply.  I addressed all your concerns. 


Unlike the comment in UScriptCodes.h (which I copied from ICU), the Unicode character database doesn&apos;t have ScriptNames.txt. Instead, it has Scripts.txt listing scripts for all the characters, from which it&apos;s possible to generate the list of script codes. However, the order will not be compatible with that in ICU&apos;s common/unicode/uscript.h. The CLDR (Common Locale Data Repository) also has a file from which we can derive the list. Again, the order will be different. Apparently, ICU (in each successive version) adds new scripts to the end to keep old values remain compatible.  I added comments to this effect to ChangeLog and UScriptCodes.h. 

BTW, I&apos;m a bit worried about exposing ScriptFontMap (typedef) in WebCore namespace, which is not a big deal but I want to avoid. We can avoid that by making two static helper functions class static. However, the setter helper cannot be inline because it refers to a static helper in cpp file.  Either we can leave them as in this patch or we can make them class static (but not inline).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143233</commentid>
    <comment_count>14</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-27 16:28:09 -0700</bug_when>
    <thetext>I should not be marked as the reviewer.  In general that just slows down reviews since others are more likely to ignore it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143234</commentid>
    <comment_count>15</comment_count>
      <attachid>38565</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-27 16:29:56 -0700</bug_when>
    <thetext>Comment on attachment 38565
patch addressing Eric&apos;s concerns

style:
 171 const AtomicString&amp; Settings::cursiveFontFamily(UScriptCode script) const {

I only looked briefly, will need to look again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144260</commentid>
    <comment_count>16</comment_count>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2009-09-02 12:01:21 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (From update of attachment 38565 [details])
&gt; style:
&gt;  171 const AtomicString&amp; Settings::cursiveFontFamily(UScriptCode script) const
&gt; {

Thanks for catching it. I&apos;ve fixed it locally so that it&apos;ll be fixed when it&apos;s landed.

&gt; I only looked briefly, will need to look again.

Any other issues?  

BTW, thank you for the advice on reviewer specification. I&apos;ll not specify a reviewer unless a patch warrants specifying one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144403</commentid>
    <comment_count>17</comment_count>
      <attachid>38565</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-03 00:27:15 -0700</bug_when>
    <thetext>Comment on attachment 38565
patch addressing Eric&apos;s concerns

Style nit:
const AtomicString&amp; Settings::cursiveFontFamily(UScriptCode script) const {
 172     return getGenericFontFamilyForScript(m_cursiveFontFamilyMap, script);
 173 }

It should be possible to test this kind of change with LayoutTests using calls like: layoutTestController.overridePreference(&quot;WebKitJavaScriptEnabled&quot;, false);

Obviously since these are not yet exposed to any WebKit implementations it would not be possible to test, but I expect you&apos;ve already written a Chromium implementation.

You still probably don&apos;t want me set as the reviewer.  Bugzilla gives no notification when you do that, so it&apos;s not at all like Google reviewee&apos;s.  It functions more as a &quot;don&apos;t anyone else review this until eric happens to notice that I&apos;ve marked him&quot; instead of a &quot;review system, please email eric and tell him that i&apos;ve asked him to review this&quot;. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144957</commentid>
    <comment_count>18</comment_count>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2009-09-04 16:58:49 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 38565 [details])
&gt; Style nit:
&gt; const AtomicString&amp; Settings::cursiveFontFamily(UScriptCode script) const {
&gt;  172     return getGenericFontFamilyForScript(m_cursiveFontFamilyMap, script);
&gt;  173 }

You already pointed this out earlier and I wrote that I had fixed it locally :-). If you want, I&apos;ll upload a new patch with this fixed.


&gt; 
&gt; It should be possible to test this kind of change with LayoutTests using calls
&gt; like: layoutTestController.overridePreference(&quot;WebKitJavaScriptEnabled&quot;,
&gt; false);

Ahah, that&apos;s finally in. Thank you for the information. 

 
&gt; Obviously since these are not yet exposed to any WebKit implementations it
&gt; would not be possible to test, but I expect you&apos;ve already written a Chromium
&gt; implementation.

Actually, I haven&apos;t yet. With this in, I&apos;m planning to start with revising my patch uploaded for bug 18085 to use now more expressive Settings class followed by the Chrome-side of changes (backend first and UI later). 

 
&gt; You still probably don&apos;t want me set as the reviewer.  Bugzilla gives no
&gt; notification when you do that, so it&apos;s not at all like Google reviewee&apos;s.  It
&gt; functions more as a &quot;don&apos;t anyone else review this until eric happens to notice
&gt; that I&apos;ve marked him&quot; instead of a &quot;review system, please email eric and tell
&gt; him that i&apos;ve asked him to review this&quot;. :)

Thank you for the advice/info. 

Different projects have different conventions. In mozilla bugzilla, leaving the reviewer field blank gets you nowhere (nobody will take a look). I&apos;ve been here long enough to know that the opposite is the case in webkit buzilla :-), but in this particular case, I put your name because I thought I&apos;d get r+ quickly judging from the last sentence in your comment 12 :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152738</commentid>
    <comment_count>19</comment_count>
      <attachid>38565</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-06 08:48:03 -0700</bug_when>
    <thetext>Comment on attachment 38565
patch addressing Eric&apos;s concerns

As far as I can tell this is fine.

This can&apos;t be landed by the bot due to the style problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156059</commentid>
    <comment_count>20</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-10-19 21:36:41 -0700</bug_when>
    <thetext>Will land.

In the future, please upload revised patches instead of fixing review comments locally where they can&apos;t be checked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156060</commentid>
    <comment_count>21</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-10-19 21:37:34 -0700</bug_when>
    <thetext>Committed r49837: &lt;http://trac.webkit.org/changeset/49837&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156064</commentid>
    <comment_count>22</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-10-19 21:46:24 -0700</bug_when>
    <thetext>Committed r49839: &lt;http://trac.webkit.org/changeset/49839&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156065</commentid>
    <comment_count>23</comment_count>
      <attachid>38565</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-10-19 21:47:44 -0700</bug_when>
    <thetext>Comment on attachment 38565
patch addressing Eric&apos;s concerns

This broke the build:

Ld /Volumes/Big/WebKit-BuildSlave/leopard-intel-debug/build/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore normal i386
    cd /Volumes/Big/WebKit-BuildSlave/leopard-intel-debug/build/WebCore
    /Developer/usr/bin/g++-4.2 -arch i386 -dynamiclib -L/Volumes/Big/WebKit-BuildSlave/leopard-intel-debug/build/WebKitBuild/Debug -F/Volumes/Big/WebKit-BuildSlave/leopard-intel-debug/build/WebKitBuild/Debug -F/System/Library/Frameworks/Carbon.framework/Frameworks -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks -filelist /Volumes/Big/WebKit-BuildSlave/leopard-intel-debug/build/WebKitBuild/WebCore.build/Debug/WebCore.build/Objects-normal/i386/WebCore.LinkFileList -Wl,--no-demangle -exported_symbols_list /Volumes/Big/WebKit-BuildSlave/leopard-intel-debug/build/WebKitBuild/Debug/DerivedSources/WebCore/WebCore.exp -install_name /Volumes/Big/WebKit-BuildSlave/leopard-intel-debug/build/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore -mmacosx-version-min=10.5 -lWebCoreSQLite3 -lobjc -sub_library libobjc -umbrella WebKit -framework ApplicationServices -framework Carbon -framework Cocoa -framework JavaScriptCore -licucore -lobjc -lxml2 -framework OpenGL -framework QuartzCore -framework SystemConfiguration -Wl,-single_module -compatibility_version 1 -current_version 532.3 -o /Volumes/Big/WebKit-BuildSlave/leopard-intel-debug/build/WebKitBuild/Debug/WebCore.framework/Versions/A/WebCore
Undefined symbols:
  &quot;__ZN7WebCore8Settings20setCursiveFontFamilyERKNS_12AtomicStringE&quot;, referenced from:
     -exported_symbols_list command line option
  &quot;__ZN7WebCore8Settings18setFixedFontFamilyERKNS_12AtomicStringE&quot;, referenced from:
     -exported_symbols_list command line option
  &quot;__ZN7WebCore8Settings22setSansSerifFontFamilyERKNS_12AtomicStringE&quot;, referenced from:
     -exported_symbols_list command line option
  &quot;__ZN7WebCore8Settings18setSerifFontFamilyERKNS_12AtomicStringE&quot;, referenced from:
     -exported_symbols_list command line option
  &quot;__ZN7WebCore8Settings20setFantasyFontFamilyERKNS_12AtomicStringE&quot;, referenced from:
     -exported_symbols_list command line option
  &quot;__ZN7WebCore8Settings21setStandardFontFamilyERKNS_12AtomicStringE&quot;, referenced from:
     -exported_symbols_list command line option
ld: symbol(s) not found
collect2: ld returned 1 exit status
** BUILD FAILED **</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156069</commentid>
    <comment_count>24</comment_count>
      <attachid>38565</attachid>
    <who name="">mitz</who>
    <bug_when>2009-10-19 22:04:52 -0700</bug_when>
    <thetext>Comment on attachment 38565
patch addressing Eric&apos;s concerns

&gt; static inline void setGenericFontFamilyMap(ScriptFontFamilyMap&amp; fontMap, const AtomicString&amp; family, UScriptCode script, Page* page)
&gt; {
&gt;     if (fontMap.set(static_cast&lt;int&gt;(script), family).second)
&gt;         setNeedsReapplyStylesInAllFrames(page);

I see that script is 0 (USCRIPT_COMMON) by default. Is it okay to use 0 as
the key in a HashMap&lt;int, AtomicString&gt;? I thought 0 and -1 were special
values (the empty value and the deleted value, respectively) for the default
int key traits. How does this work?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195796</commentid>
    <comment_count>25</comment_count>
      <attachid>49957</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2010-03-03 15:40:36 -0800</bug_when>
    <thetext>Created attachment 49957
patch with WebCore.base.exp (missing in the previous patch)

Sorry that I haven&apos;t come back sooner. (it&apos;s rea....lly late).  I thought I had uploaded a patch with WebCore.base.exp, but I didn&apos;t, which led to a broken tree. 
In addition, I addressed mitz&apos;s comment about -1 and 0 being special in int hashkey traits (by adding 2 to avoid -1 and 0).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>195797</commentid>
    <comment_count>26</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-03-03 15:44:42 -0800</bug_when>
    <thetext>Attachment 49957 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/platform/text/UScriptCode.h:30:  #ifndef header guard has wrong style, please use: UScriptCode_h  [build/header_guard] [5]
WebCore/page/Settings.h:80:  Missing spaces around =  [whitespace/operators] [4]
WebCore/page/Settings.h:81:  Missing spaces around =  [whitespace/operators] [4]
WebCore/page/Settings.h:83:  Missing spaces around =  [whitespace/operators] [4]
WebCore/page/Settings.h:84:  Missing spaces around =  [whitespace/operators] [4]
WebCore/page/Settings.h:86:  Missing spaces around =  [whitespace/operators] [4]
WebCore/page/Settings.h:87:  Missing spaces around =  [whitespace/operators] [4]
WebCore/page/Settings.h:89:  Missing spaces around =  [whitespace/operators] [4]
WebCore/page/Settings.h:90:  Missing spaces around =  [whitespace/operators] [4]
WebCore/page/Settings.h:92:  Missing spaces around =  [whitespace/operators] [4]
WebCore/page/Settings.h:93:  Missing spaces around =  [whitespace/operators] [4]
WebCore/page/Settings.h:95:  Missing spaces around =  [whitespace/operators] [4]
WebCore/page/Settings.h:96:  Missing spaces around =  [whitespace/operators] [4]
WebCore/page/Settings.cpp:180:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
WebCore/page/Settings.cpp:189:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 15 in 5 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>196192</commentid>
    <comment_count>27</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-04 13:15:54 -0800</bug_when>
    <thetext>There are still style problems with this patch. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199766</commentid>
    <comment_count>28</comment_count>
      <attachid>49957</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-15 12:59:49 -0700</bug_when>
    <thetext>Comment on attachment 49957
patch with WebCore.base.exp (missing in the previous patch)

With the style bot these days there seems to be little reason to have patches up for review with style problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206372</commentid>
    <comment_count>29</comment_count>
      <attachid>52130</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2010-03-30 23:13:11 -0700</bug_when>
    <thetext>Created attachment 52130
patch with style issues addressed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206572</commentid>
    <comment_count>30</comment_count>
      <attachid>52186</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2010-03-31 10:36:26 -0700</bug_when>
    <thetext>Created attachment 52186
patch with style issues addressed (and duplicate part removed)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206620</commentid>
    <comment_count>31</comment_count>
      <attachid>52186</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2010-03-31 11:53:32 -0700</bug_when>
    <thetext>Comment on attachment 52186
patch with style issues addressed (and duplicate part removed)

asking for review. wondering if i have to ask for review to trigger bots (style, chromium, mac, etc) or bots just have too many patches to test. 

anyway, I ran locally the style check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206621</commentid>
    <comment_count>32</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-31 11:54:38 -0700</bug_when>
    <thetext>The bots only test patches marked r=?, that is correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>206832</commentid>
    <comment_count>33</comment_count>
      <attachid>52186</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-03-31 17:14:28 -0700</bug_when>
    <thetext>Comment on attachment 52186
patch with style issues addressed (and duplicate part removed)

&gt; +} UScriptCode;

Our Unicode library goes into wtf/unicode. Things for non-ICU ports should go there. You should not stick this in platform/text.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208006</commentid>
    <comment_count>34</comment_count>
      <attachid>52437</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2010-04-02 12:42:44 -0700</bug_when>
    <thetext>Created attachment 52437
a new patch with UScriptCode moved to JavascriptCore/wtf/unicode

I couldn&apos;t find a public header (in Qt) for script names. I just moved UScriptCode.h to JavascriptCore/wtf/unicode, but this may not work because enum values are ICU-specific (the previous patch has the same problem). 

Now I begin to wonder if it&apos;s better to use  string keys (of the standard 4-letter script codes like &apos;Latn&apos;, &apos;Hant&apos;, &apos;Hans&apos;, &apos;Deva&apos;, &apos;Japn&apos;, &apos;Arab&apos; or lang+script like &apos;und_Latn&apos;, &apos;und_Deva&apos;, &apos;und_Arab&apos;, &apos;fa_Arab&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>404955</commentid>
    <comment_count>35</comment_count>
      <attachid>93741</attachid>
    <who name="Matt Falkenhagen">falken</who>
    <bug_when>2011-05-16 23:29:09 -0700</bug_when>
    <thetext>Created attachment 93741
Revise Jungshik&apos;s patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406070</commentid>
    <comment_count>36</comment_count>
      <attachid>93995</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2011-05-18 15:50:59 -0700</bug_when>
    <thetext>Created attachment 93995
patch with CMakefile build file added 

Thank you, Matt, for reviving this patch. I updated yours once more with several more scripts from the latest ISO 15024 spec. I also updated CMakefile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406174</commentid>
    <comment_count>37</comment_count>
      <attachid>94023</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2011-05-18 18:31:54 -0700</bug_when>
    <thetext>Created attachment 94023
update to the trunk 

xcode project file got updated leading to a patch failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406175</commentid>
    <comment_count>38</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-05-18 18:34:03 -0700</bug_when>
    <thetext>Attachment 94023 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1

Source/WebCore/ChangeLog:23:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 1 in 12 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>406179</commentid>
    <comment_count>39</comment_count>
      <attachid>94025</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2011-05-18 18:37:18 -0700</bug_when>
    <thetext>Created attachment 94025
got rid of a tab in ChangeLog (style error)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410824</commentid>
    <comment_count>40</comment_count>
      <attachid>94025</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-26 14:22:20 -0700</bug_when>
    <thetext>Comment on attachment 94025
got rid of a tab in ChangeLog (style error)

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

I think this is great.  But I think we should use a special HashTraits instead of the +2 hack.  Where are we going to add callers to these new methods?

&gt; Source/JavaScriptCore/wtf/unicode/UScriptCode.h:2
&gt; + * Copyright (c) 1995-2011 International Business Machines Corporation and others

If we&apos;re modifying this, we need to add our copyright, no?

&gt; Source/JavaScriptCore/wtf/unicode/UScriptCode.h:33
&gt; +namespace WTF {

Do we normally modify these headers?  I didn&apos;t think we did.

&gt; Source/JavaScriptCore/wtf/unicode/UScriptCode.h:35
&gt; +enum UScriptCode {

I assume this is the right version of the enum to match the other headers?

&gt; Source/WebCore/page/Settings.cpp:59
&gt; +    // USCRIPT_INVALID_CODE is -1 and USRITP_COMMON is 0, which are special (deleted and empty) in HashMap with int keys.
&gt; +    // To avoid using -1 and 0 as a key, we add 2.
&gt; +    fontMap.set(static_cast&lt;int&gt;(script) + 2, family);

This feels fragile.  Why can&apos;t we use -2 and -3 as deleted and empty?  We have full control over our Hash values with HashTraits.  See HashTraits.h and StringTraits.h (I think that&apos;s what it&apos;s called) for examples, or search for HashTraits in the code base.

&gt; Source/WebCore/page/Settings.h:57
&gt; +    typedef HashMap&lt;int, AtomicString&gt; ScriptFontFamilyMap;

Yeah, I think we just want a special HashTraits for WTF::UScriptCode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412509</commentid>
    <comment_count>41</comment_count>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2011-05-31 02:13:41 -0700</bug_when>
    <thetext>Thank you for the review, Eric. I&apos;ll upload a new patch addressing your concern. Before that, I have a question about the following comment: 

&gt;&gt; Source/JavaScriptCore/wtf/unicode/UScriptCode.h:33
&gt;&gt; +namespace WTF {

&gt;Do we normally modify these headers?  I didn&apos;t think we did.

I&apos;m not sure what you meant by the above. I was told that UScriptCode.h has to go under wtf/unicode instead of platform/text (comment #33).  Could you clarify what you meant? Thank you again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412632</commentid>
    <comment_count>42</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-31 08:14:41 -0700</bug_when>
    <thetext>(In reply to comment #41)
&gt; Thank you for the review, Eric. I&apos;ll upload a new patch addressing your concern. Before that, I have a question about the following comment: 
&gt; 
&gt; &gt;&gt; Source/JavaScriptCore/wtf/unicode/UScriptCode.h:33
&gt; &gt;&gt; +namespace WTF {
&gt; 
&gt; &gt;Do we normally modify these headers?  I didn&apos;t think we did.
&gt; 
&gt; I&apos;m not sure what you meant by the above. I was told that UScriptCode.h has to go under wtf/unicode instead of platform/text (comment #33).  Could you clarify what you meant? Thank you again.

We have a copy of many of the ICU headers in WebCore/icu/unicode.  I had confused that with wtf/unicode  I assumed this is an ICU header which we&apos;re modifying to our needs?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412700</commentid>
    <comment_count>43</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-05-31 09:23:47 -0700</bug_when>
    <thetext>Content of this file is part of uscript.h from ICU, which we already have in WebKit repository &lt;http://trac.webkit.org/browser/trunk/Source/WebCore/icu/unicode/uscript.h&gt;. 

This is not quite the right way to add the file to WTF. Any public symbols must be put into global namespace (so you need &quot;using WTF::UScriptCode&quot; at the end of the file) - but then the names would conflict with ICU.

I think that you want to do this instead:
1. Copy uscript.h from WebCore/icu to JavaScriptCore/icu.
2. For Unicode platforms, just include it from wtf/unicode/Unicode.h.
3. Create wtf/unicode/ScriptCodesFromICU.h, and put the definitions there.
4. Include the new file from Unicode.h for non-ICU platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421576</commentid>
    <comment_count>44</comment_count>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2011-06-15 14:28:51 -0700</bug_when>
    <thetext>(In reply to comment #43)
&gt; Content of this file is part of uscript.h from ICU, which we already have in WebKit repository &lt;http://trac.webkit.org/browser/trunk/Source/WebCore/icu/unicode/uscript.h&gt;. 
&gt; 
&gt; This is not quite the right way to add the file to WTF. Any public symbols must be put into global namespace (so you need &quot;using WTF::UScriptCode&quot; at the end of the file) - but then the names would conflict with ICU.
&gt; 
&gt; I think that you want to do this instead:
&gt; 1. Copy uscript.h from WebCore/icu to JavaScriptCore/icu.
&gt; 2. For Unicode platforms, just include it from wtf/unicode/Unicode.h.
&gt; 3. Create wtf/unicode/ScriptCodesFromICU.h, and put the definitions there.
&gt; 4. Include the new file from Unicode.h for non-ICU platforms.

Thanks a lot for detailed instruction and sorry for the late reply. I&apos;m starting to do what you suggested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425677</commentid>
    <comment_count>45</comment_count>
      <attachid>98254</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2011-06-22 15:41:25 -0700</bug_when>
    <thetext>Created attachment 98254
patch updated per review comments 

The patch uses  HashTraits for UScriptCode (-3 : deleted, -2: empty value) per Eric&apos;s comment. 
For uscript.h header, does what ap suggested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425682</commentid>
    <comment_count>46</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-22 15:45:08 -0700</bug_when>
    <thetext>Attachment 98254 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1

Source/JavaScriptGlue/icu/unicode/uscript.h:16:  #ifndef header guard has wrong style, please use: WTF_uscript_h  [build/header_guard] [5]
Source/JavaScriptGlue/icu/unicode/uscript.h:244:  The parameter name &quot;err&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptGlue/icu/unicode/uscript.h:244:  Missing space after ,  [whitespace/comma] [3]
Source/JavaScriptGlue/icu/unicode/uscript.h:255:  The parameter name &quot;scriptCode&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptGlue/icu/unicode/uscript.h:266:  The parameter name &quot;scriptCode&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptGlue/icu/unicode/uscript.h:277:  The parameter name &quot;err&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebCore/page/Settings.h:61:  Should have a space between // and comment  [whitespace/comments] [4]
Source/JavaScriptCore/wtf/unicode/ScriptCodesFromICU.h:6:  #ifndef header guard has wrong style, please use: WTF_ScriptCodesFromICU_h  [build/header_guard] [5]
Source/JavaScriptCore/icu/unicode/uscript.h:16:  #ifndef header guard has wrong style, please use: WTF_uscript_h  [build/header_guard] [5]
Source/JavaScriptCore/icu/unicode/uscript.h:244:  The parameter name &quot;err&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/icu/unicode/uscript.h:244:  Missing space after ,  [whitespace/comma] [3]
Source/JavaScriptCore/icu/unicode/uscript.h:255:  The parameter name &quot;scriptCode&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/icu/unicode/uscript.h:266:  The parameter name &quot;scriptCode&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/icu/unicode/uscript.h:277:  The parameter name &quot;err&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/wtf/unicode/Unicode.h:33:  Alphabetical sorting problem.  [build/include_order] [4]
Source/JavaScriptCore/wtf/unicode/Unicode.h:36:  &quot;wtf/unicode/ScriptCodesFromICU.h&quot; already included at Source/JavaScriptCore/wtf/unicode/Unicode.h:30  [build/include] [4]
Source/JavaScriptCore/wtf/unicode/Unicode.h:39:  &quot;wtf/unicode/ScriptCodesFromICU.h&quot; already included at Source/JavaScriptCore/wtf/unicode/Unicode.h:30  [build/include] [4]
Source/JavaScriptCore/wtf/unicode/Unicode.h:42:  &quot;wtf/unicode/ScriptCodesFromICU.h&quot; already included at Source/JavaScriptCore/wtf/unicode/Unicode.h:30  [build/include] [4]
Total errors found: 18 in 13 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>425722</commentid>
    <comment_count>47</comment_count>
      <attachid>98254</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-06-22 16:29:03 -0700</bug_when>
    <thetext>Comment on attachment 98254
patch updated per review comments 

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

Thank you, this looks mostly fine.

&gt; Source/JavaScriptCore/GNUmakefile.list.am:633
&gt; +	Source/JavaScriptCore/wtf/unicode/ScriptcodesFromICU.h \

Typo (capitalization of &quot;codes&quot;).

&gt;&gt; Source/JavaScriptCore/wtf/unicode/ScriptCodesFromICU.h:6
&gt;&gt; +#ifndef ScriptCodesFromICU_H
&gt; 
&gt; #ifndef header guard has wrong style, please use: WTF_ScriptCodesFromICU_h  [build/header_guard] [5]

Unlike most style bot warnings for this patch, this one would be good to address.

&gt; Source/JavaScriptCore/wtf/unicode/Unicode.h:30
&gt;  #include &quot;qt4/UnicodeQt4.h&quot;
&gt; +#include &lt;wtf/unicode/ScriptCodesFromICU.h&gt;

I would suggest following the example of UnicodeMacrosFromICU.h and including the new file from platform specific headers (like UnicodeQt4.h). Not sure if it&apos;s actually better, but it&apos;s consistent.

&gt; Source/WebCore/ChangeLog:16
&gt; +        uscript.h has been updated to that of ICU 4.6 with two function
&gt; +        declarations new to ICU 4.6 removed.

I don&apos;t understand this. Can we just match the version of ICU in Mac OS X 10.5 (which is probably the oldest that we care about now)? Using a version of the file from 4.6 that doesn&apos;t quite match 4.6 will be confusing.

Is there anything in the new version that isn&apos;t in the old, and that we actually need in WebKit?

&gt;&gt; Source/WebCore/page/Settings.h:61
&gt;&gt; +        //static const bool needsDestruction = false;
&gt; 
&gt; Should have a space between // and comment  [whitespace/comments] [4]

Please don&apos;t land commented out code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425730</commentid>
    <comment_count>48</comment_count>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2011-06-22 16:41:50 -0700</bug_when>
    <thetext>Thank you for the review. Do you happen to know what version of ICU is included in Mac OS 10.5? It&apos;s released on Oct 2007. So, it should be something like ICU 3.4, but I&apos;m not sure. 

What happens if I used a copy from ICU newer than what&apos;s in Mac OS 10.5? 

The reason for using ICU 4.6&apos;s copy was that I wanted to use some newly added values for UScriptJapanese (added in ICU 3.8) and UScriptKorean (added in ICU 4.0)  in a subsequent CL, but I think I can use Katakana/Hiragana and Hangul in their place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425734</commentid>
    <comment_count>49</comment_count>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2011-06-22 16:46:49 -0700</bug_when>
    <thetext>(In reply to comment #48)

&gt; What happens if I used a copy from ICU newer than what&apos;s in Mac OS 10.5? 

The above question  is assuming that there&apos;s no new function is declared in the header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425749</commentid>
    <comment_count>50</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-06-22 16:58:43 -0700</bug_when>
    <thetext>Mostly developer confusion, I think - if there is something that&apos;s not available on supported OS versions, people could use that later, and get burnt. I do not know if there will be any bigger problem.

&lt;http://opensource.apple.com/release/mac-os-x-105/&gt; says that it&apos;s ICU 3.4 indeed. If you can use that without much trouble, it&apos;s probably easiest to just do that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425768</commentid>
    <comment_count>51</comment_count>
      <attachid>98269</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2011-06-22 17:23:58 -0700</bug_when>
    <thetext>Created attachment 98269
patch updated per ap&apos;s comments

Can you take another look? 

uscript.h from ICU 3.6 (it turned out that Mac OS 10.5 has ICU 3.6) is included instead of one from ICU 4.6. 

And, style issues are fixed and ScriptCodesFromICU.h is included from individual platform files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425769</commentid>
    <comment_count>52</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-22 17:28:11 -0700</bug_when>
    <thetext>Attachment 98269 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1

Source/JavaScriptGlue/icu/unicode/uscript.h:15:  #ifndef header guard has wrong style, please use: WTF_uscript_h  [build/header_guard] [5]
Source/JavaScriptGlue/icu/unicode/uscript.h:187:  The parameter name &quot;err&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptGlue/icu/unicode/uscript.h:187:  Missing space after ,  [whitespace/comma] [3]
Source/JavaScriptGlue/icu/unicode/uscript.h:198:  The parameter name &quot;scriptCode&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptGlue/icu/unicode/uscript.h:209:  The parameter name &quot;scriptCode&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptGlue/icu/unicode/uscript.h:220:  The parameter name &quot;err&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/icu/unicode/uscript.h:15:  #ifndef header guard has wrong style, please use: WTF_uscript_h  [build/header_guard] [5]
Source/JavaScriptCore/icu/unicode/uscript.h:187:  The parameter name &quot;err&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/icu/unicode/uscript.h:187:  Missing space after ,  [whitespace/comma] [3]
Source/JavaScriptCore/icu/unicode/uscript.h:198:  The parameter name &quot;scriptCode&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/icu/unicode/uscript.h:209:  The parameter name &quot;scriptCode&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/icu/unicode/uscript.h:220:  The parameter name &quot;err&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 12 in 17 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>425773</commentid>
    <comment_count>53</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-06-22 17:30:27 -0700</bug_when>
    <thetext>&gt; (it turned out that Mac OS 10.5 has ICU 3.6)

Are you saying that the plist from 10.5 is wrong? &lt;http://opensource.apple.com/source/ICU/ICU-8.11/ICU.plist&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425774</commentid>
    <comment_count>54</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-06-22 17:34:02 -0700</bug_when>
    <thetext>Looks like the plist was wrong indeed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425778</commentid>
    <comment_count>55</comment_count>
      <attachid>98269</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-06-22 17:38:06 -0700</bug_when>
    <thetext>Comment on attachment 98269
patch updated per ap&apos;s comments

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

&gt; Source/JavaScriptCore/GNUmakefile.list.am:633
&gt; +	Source/JavaScriptCore/wtf/unicode/ScriptcodesFromICU.h \

This still has the typo.

&gt; Source/JavaScriptCore/wtf/unicode/Unicode.h:31
&gt; +#include &lt;unicode/uscript.h&gt;

This should be in UnicodeIcu.h, similar to others.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425995</commentid>
    <comment_count>56</comment_count>
      <attachid>98318</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2011-06-23 00:42:56 -0700</bug_when>
    <thetext>Created attachment 98318
final patch 

Thank you for review. 

Fixed two issues in the review comment. Carrying along r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425996</commentid>
    <comment_count>57</comment_count>
      <attachid>98318</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-23 00:43:14 -0700</bug_when>
    <thetext>Comment on attachment 98318
final patch 

Rejecting attachment 98318 from review queue.

jshin@chromium.org does not have reviewer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have reviewer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have reviewer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your reviewer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425997</commentid>
    <comment_count>58</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-23 00:44:59 -0700</bug_when>
    <thetext>Attachment 98318 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1

Source/JavaScriptGlue/icu/unicode/uscript.h:15:  #ifndef header guard has wrong style, please use: WTF_uscript_h  [build/header_guard] [5]
Source/JavaScriptGlue/icu/unicode/uscript.h:187:  The parameter name &quot;err&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptGlue/icu/unicode/uscript.h:187:  Missing space after ,  [whitespace/comma] [3]
Source/JavaScriptGlue/icu/unicode/uscript.h:198:  The parameter name &quot;scriptCode&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptGlue/icu/unicode/uscript.h:209:  The parameter name &quot;scriptCode&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptGlue/icu/unicode/uscript.h:220:  The parameter name &quot;err&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/icu/unicode/uscript.h:15:  #ifndef header guard has wrong style, please use: WTF_uscript_h  [build/header_guard] [5]
Source/JavaScriptCore/icu/unicode/uscript.h:187:  The parameter name &quot;err&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/icu/unicode/uscript.h:187:  Missing space after ,  [whitespace/comma] [3]
Source/JavaScriptCore/icu/unicode/uscript.h:198:  The parameter name &quot;scriptCode&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/icu/unicode/uscript.h:209:  The parameter name &quot;scriptCode&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/icu/unicode/uscript.h:220:  The parameter name &quot;err&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 12 in 17 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>426008</commentid>
    <comment_count>59</comment_count>
      <attachid>98318</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2011-06-23 01:05:34 -0700</bug_when>
    <thetext>Comment on attachment 98318
final patch 

I&apos;ll land by hand (style errors come from uscript.h - ICU header).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>426011</commentid>
    <comment_count>60</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-06-23 01:12:02 -0700</bug_when>
    <thetext>&gt; jshin@chromium.org does not have reviewer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

To land via commit queue, you can manually put reviewer name into all ChangeLogs, and only set cq+ flag (no review flag at all)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>426012</commentid>
    <comment_count>61</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-06-23 01:13:24 -0700</bug_when>
    <thetext>webkit-patch land-safely will do that automatically for you (if there is a reviewed patch on the bug).  In this case, since the reviewed patch is already obsolete, land-safely would probably get confused, so I would just add the reviewer manually (but land-safely can upload it for you and mark it commit-queue+ if you like).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>426267</commentid>
    <comment_count>62</comment_count>
      <attachid>98366</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2011-06-23 10:26:45 -0700</bug_when>
    <thetext>Created attachment 98366
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>426318</commentid>
    <comment_count>63</comment_count>
      <attachid>98366</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-23 11:23:46 -0700</bug_when>
    <thetext>Comment on attachment 98366
Patch for landing

Clearing flags on attachment: 98366

Committed r89594: &lt;http://trac.webkit.org/changeset/89594&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>426319</commentid>
    <comment_count>64</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-23 11:23:55 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>426602</commentid>
    <comment_count>65</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-06-23 16:28:05 -0700</bug_when>
    <thetext>After this patch was landed, 4 XSL tests started to fail on Qt: http://build.webkit.org/results/Qt%20Linux%20Release/r89629%20(34562)/results.html

Maybe just some test flakiness?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>426675</commentid>
    <comment_count>66</comment_count>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2011-06-23 18:07:55 -0700</bug_when>
    <thetext>I cannot possibly think of any way this patch breaks XSL tests in Qt because this just lays down the foundation for follow-up patches and didn&apos;t actually change anything in terms of layout / rendering.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>426777</commentid>
    <comment_count>67</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-06-24 00:50:20 -0700</bug_when>
    <thetext>(In reply to comment #65)
&gt; After this patch was landed, 4 XSL tests started to fail on Qt: http://build.webkit.org/results/Qt%20Linux%20Release/r89629%20(34562)/results.html
&gt; 
&gt; Maybe just some test flakiness?

It isn&apos;t flakiness, because after this patch these tests fail continously.
I tried to reproduce these fails, but I can&apos;t when I run only one test.
It must be a sideeffect bug caused or revealed by this patch. I tried to
make tests green with adding tests to the Skipped list, but it didn&apos;t help,
because other tests started to fail. :-/

I haven&apos;t better idea than rolling out until we find what caused this bug, sorry.  ( http://trac.webkit.org/changeset/89655 )

I cc-ed Zoltan, our expert in crazy bug debugging. Zoltan, any idea? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>426859</commentid>
    <comment_count>68</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-06-24 06:02:51 -0700</bug_when>
    <thetext>I managed to reproduce a fail:

$ Tools/Scripts/run-webkit-tests fast/xsl/xslt-bad-import-uri.html fast/xsl/xslt-doc-noenc.xml

fast/xsl/xslt-doc-noenc.xml -&gt; failed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>426860</commentid>
    <comment_count>69</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-06-24 06:04:25 -0700</bug_when>
    <thetext>one more test:

$ Tools/Scripts/run-webkit-tests fast/xsl/xslt-mismatched-tags-in-xslt.xml fast/xsl/xslt-recursion.xml

fast/xsl/xslt-recursion.xml -&gt; failed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427806</commentid>
    <comment_count>70</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-06-27 02:16:41 -0700</bug_when>
    <thetext>(In reply to comment #69)
&gt; one more test:
&gt; 
&gt; $ Tools/Scripts/run-webkit-tests fast/xsl/xslt-mismatched-tags-in-xslt.xml fast/xsl/xslt-recursion.xml
&gt; 
&gt; fast/xsl/xslt-recursion.xml -&gt; failed

This is strange.

xslt-mismatched-tags-in-xslt.xml executes the following xml:

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;xsl:stylesheet xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot; version=&quot;1.0&quot;&gt;
    &lt;xsl:output method=&quot;html&quot; encoding=&quot;UTF-8&quot;/&gt;
    &lt;xsl:template match=&quot;TEST&quot;&gt;
        &lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
            &lt;body&gt;
                        &lt;p&gt;You should see error text above this&lt;/p&gt;
                        &lt;p&gt;
            &lt;/body&gt;
        &lt;/html&gt;
  &lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;

This obviously contains a parse error, and the report is correct. However, when the next test runs (fast/xsl/xslt-recursion.xml) this xml is kept somewhere, and passed to the Qt specific XSLTProcessor again, which starts reporting extra parse errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427810</commentid>
    <comment_count>71</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-06-27 02:27:07 -0700</bug_when>
    <thetext>This is the connection between the patch above, and setting this invalid xml:

processLine calls resetToConsistentStateBeforeTesting, which calls setGenericFontFamilyMap (from this patch), and that applies an XSL transform.

Perhaps to the previous test case ... ?

#0  WebCore::XSLTProcessor::setXSLStyleSheet (this=0x6edaf0, styleSheet=...)
    at ../../../Source/WebCore/xml/XSLTProcessor.h:49
#1  0x00007ffff5ab08d6 in WebCore::Document::applyXSLTransform (this=0x6fd340, pi=0x707d40)
    at ../../../Source/WebCore/dom/Document.cpp:3987
#2  0x00007ffff5aab21f in WebCore::Document::recalcStyleSelector (this=0x6fd340)
    at ../../../Source/WebCore/dom/Document.cpp:2931
#3  0x00007ffff5aaab83 in WebCore::Document::styleSelectorChanged (this=0x6fd340,
    updateFlag=WebCore::DeferRecalcStyle) at ../../../Source/WebCore/dom/Document.cpp:2819
#4  0x00007ffff5eaa419 in WebCore::Page::setNeedsRecalcStyleInAllFrames (this=0x6862f0)
    at ../../../Source/WebCore/page/Page.cpp:400
#5  0x00007ffff5eceb57 in setGenericFontFamilyMap (fontMap=..., family=..., script=USCRIPT_COMMON,
    page=0x6862f0) at ../../../Source/WebCore/page/Settings.cpp:58
#6  0x00007ffff5ecfe77 in WebCore::Settings::setStandardFontFamily (this=0x688ae0, family=...,
    script=USCRIPT_COMMON) at ../../../Source/WebCore/page/Settings.cpp:219
#7  0x00007ffff589e7af in QWebSettingsPrivate::apply (this=0x6af1f0)
    at ../../../../Source/WebKit/qt/Api/qwebsettings.cpp:126
#8  0x00007ffff58a1c63 in QWebSettings::setAttribute (this=0x6a4910, attr=QWebSettings::ZoomTextOnly,
    on=true) at ../../../../Source/WebKit/qt/Api/qwebsettings.cpp:884
#9  0x00007ffff58691a3 in QWebFrame::setTextSizeMultiplier (this=0x6b9bd0, factor=1)
    at ../../../../Source/WebKit/qt/Api/qwebframe.cpp:1318
#10 0x0000000000418da7 in WebCore::DumpRenderTree::resetToConsistentStateBeforeTesting (
    this=0x7fffffffe230, url=...) at ../../../../Tools/DumpRenderTree/qt/DumpRenderTreeQt.cpp:530
#11 0x00000000004194d9 in WebCore::DumpRenderTree::open (this=0x7fffffffe230, url=...)
    at ../../../../Tools/DumpRenderTree/qt/DumpRenderTreeQt.cpp:595
#12 0x000000000041a812 in WebCore::DumpRenderTree::processLine (this=0x7fffffffe230, input=...)

Any idea is welcome!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427821</commentid>
    <comment_count>72</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-06-27 02:52:00 -0700</bug_when>
    <thetext>Let&apos;s see how to hide bugs in WebKit way:

Original code:

void Settings::setStandardFontFamily(const AtomicString&amp; standardFontFamily)
{
    // Notice this clever, tricky &quot;if&quot; here. It does nothing if
    // the font does not changed! So absolutely no recalc business:
    if (standardFontFamily == m_standardFontFamily)
        return;

    m_standardFontFamily = standardFontFamily;
    m_page-&gt;setNeedsRecalcStyleInAllFrames();
}

New code:

static inline void setGenericFontFamilyMap(ScriptFontFamilyMap&amp; fontMap, const AtomicString&amp; family, UScriptCode script, Page* page)
{
    fontMap.set(static_cast&lt;int&gt;(script), family);
    page-&gt;setNeedsRecalcStyleInAllFrames();
}

Aha! No &quot;if&quot; here! Let&apos;s add it again to the code:

 static inline void setGenericFontFamilyMap(ScriptFontFamilyMap&amp; fontMap, const AtomicString&amp; family, UScriptCo
 {
+    ScriptFontFamilyMap::iterator it = fontMap.find(static_cast&lt;int&gt;(script));
+    if (it != fontMap.end() &amp;&amp; it-&gt;second == family)
+        return;
     fontMap.set(static_cast&lt;int&gt;(script), family);
     page-&gt;setNeedsRecalcStyleInAllFrames();
 }

Wow! No regressions! No bugs, isn&apos;t it? ]:&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427835</commentid>
    <comment_count>73</comment_count>
    <who name="Matt Falkenhagen">falken</who>
    <bug_when>2011-06-27 03:56:38 -0700</bug_when>
    <thetext>D&apos;oh, that&apos;s my fault.  Jungshik&apos;s original patch had a check:

+    if (fontMap.set(static_cast&lt;int&gt;(script) + 2, family).second)
+        setNeedsReapplyStylesInAllFrames(page);

I must have removed it when getting it to work locally and forgot to put it back in.

Thanks for debugging it :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430563</commentid>
    <comment_count>74</comment_count>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2011-06-30 11:28:13 -0700</bug_when>
    <thetext>(In reply to comment #73)
&gt; D&apos;oh, that&apos;s my fault.  Jungshik&apos;s original patch had a check:
&gt; 
&gt; +    if (fontMap.set(static_cast&lt;int&gt;(script) + 2, family).second)
&gt; +        setNeedsReapplyStylesInAllFrames(page);
&gt; 
&gt; I must have removed it when getting it to work locally and forgot to put it back in.
&gt; 
&gt; Thanks for debugging it :-)

Well, it&apos;s my fault, too because I should have caught it.  I&apos;m uploading a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430735</commentid>
    <comment_count>75</comment_count>
      <attachid>99379</attachid>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2011-06-30 15:35:51 -0700</bug_when>
    <thetext>Created attachment 99379
updated patch to fix Qt layouttest failure 

This one uses what&apos;s suggested instead of what I originally had 2 yrs ago.  This is longer than the original, but it&apos;s not clear what &apos;HashMap::set&apos; returns when a key exists and a value added is identical to the current value for that key.  If it returns false in that case (and also does the checking done suggested by comment 27), I&apos;d rather use the original as below:


+    if (fontMap.set(static_cast&lt;int&gt;(script), family).second)
+        page-&gt;setNeedsRecalcStyleInAllFrames();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430743</commentid>
    <comment_count>76</comment_count>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2011-06-30 15:45:58 -0700</bug_when>
    <thetext>(In reply to comment #75)
original, but it&apos;s not clear what &apos;HashMap::set&apos; returns when a key exists and a value added is identical to the current value for that key.  If it returns false in that case (and also does the checking done suggested by comment 27), I&apos;d rather use the original as below:
&gt; 
&gt; 
&gt; +    if (fontMap.set(static_cast&lt;int&gt;(script), family).second)
&gt; +        page-&gt;setNeedsRecalcStyleInAllFrames();

Oops. I meant comment 72 .The current patch has that:

     ScriptFontFamilyMap::iterator it = fontMap.find(static_cast&lt;int&gt;(script));
     if (it != fontMap.end() &amp;&amp; it-&gt;second == family)
        return;
     fontMap.set(static_cast&lt;int&gt;(script), family);
     page-&gt;setNeedsRecalcStyleInAllFrames();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430747</commentid>
    <comment_count>77</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-30 15:49:36 -0700</bug_when>
    <thetext>Attachment 99379 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1

Source/JavaScriptGlue/icu/unicode/uscript.h:15:  #ifndef header guard has wrong style, please use: WTF_uscript_h  [build/header_guard] [5]
Source/JavaScriptGlue/icu/unicode/uscript.h:187:  The parameter name &quot;err&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptGlue/icu/unicode/uscript.h:187:  Missing space after ,  [whitespace/comma] [3]
Source/JavaScriptGlue/icu/unicode/uscript.h:198:  The parameter name &quot;scriptCode&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptGlue/icu/unicode/uscript.h:209:  The parameter name &quot;scriptCode&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptGlue/icu/unicode/uscript.h:220:  The parameter name &quot;err&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/icu/unicode/uscript.h:15:  #ifndef header guard has wrong style, please use: WTF_uscript_h  [build/header_guard] [5]
Source/JavaScriptCore/icu/unicode/uscript.h:187:  The parameter name &quot;err&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/icu/unicode/uscript.h:187:  Missing space after ,  [whitespace/comma] [3]
Source/JavaScriptCore/icu/unicode/uscript.h:198:  The parameter name &quot;scriptCode&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/icu/unicode/uscript.h:209:  The parameter name &quot;scriptCode&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/JavaScriptCore/icu/unicode/uscript.h:220:  The parameter name &quot;err&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 12 in 17 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>430764</commentid>
    <comment_count>78</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-06-30 16:02:02 -0700</bug_when>
    <thetext>I think we should eventually fix the XML parsing behaviour on Qt (I saw some discussion about it in general on webkit-dev). Since this change helps avoiding layout errors on the bots (and probably a good speed optimization as well), I think it is ok for now, just we should not forget about it. Simon (or other Qt experts), shall I open a new bug entry for this issue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>430879</commentid>
    <comment_count>79</comment_count>
    <who name="Jungshik Shin">jshin</who>
    <bug_when>2011-06-30 17:22:36 -0700</bug_when>
    <thetext>No doubt that we should call setNeedsRecalcStyleInAllFrames only when necessary regardless of Qt. 

My question was which is better way to do that (if one is better than the other).  If two snippets in comment #76 are equivalent, I&apos;d rather use a more succinct one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431334</commentid>
    <comment_count>80</comment_count>
      <attachid>99379</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-01 12:23:35 -0700</bug_when>
    <thetext>Comment on attachment 99379
updated patch to fix Qt layouttest failure 

Clearing flags on attachment: 99379

Committed r90259: &lt;http://trac.webkit.org/changeset/90259&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431335</commentid>
    <comment_count>81</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-01 12:23:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28428</attachid>
            <date>2009-03-09 23:24:33 -0700</date>
            <delta_ts>2009-03-13 14:32:15 -0700</delta_ts>
            <desc>tentative patch for ports with ICU</desc>
            <filename>20797.patch.1a</filename>
            <type>text/plain</type>
            <size>9835</size>
            <attacher name="Jungshik Shin">jshin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MTU0NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMDktMDMtMDkgIEp1bmdzaGlrIFNoaW4gIDxqc2hpbkBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzk3CisKKyAgICAgICAg
TWFrZSBnZW5lcmljIGZvbnQgZmFtaWx5IGdldHRlcnMvc2V0dGVycyBhY2NlcHQgYW4gYWRkaXRp
b25hbAorICAgICAgICBhcmd1bWVudCAoc2NyaXB0IGNvZGUpLiBJdCBoYXMgYSBkZWZhdWx0IHZh
bHVlIHNvIHRoYXQgaWYgYW4gZW1iZWRkZXIKKyAgICAgICAgZG9lcyBub3QgaGF2ZS93YW50IGEg
cGVyLXNjcmlwdCBmb250IGZhbWlseSBzZXR0aW5nLCBjYWxsLXNpdGVzCisgICAgICAgIGRvbid0
IGhhdmUgdG8gYmUgY2hhbmdlZC4KKyAgICAgICAgVGhpcyBpcyB0byBwcmVwYXJlIGZvciBmaXhp
bmcgYnVnIDEwODc0IChmb250IHNlbGVjdGlvbiBpcyBub3QKKyAgICAgICAgbGFuZ3VhZ2UtZGVw
ZW5kZW50KSBhbmQgYnVnIDE4MDg1LgorCisgICAgICAgICogV2ViQ29yZS5iYXNlLmV4cDoKKyAg
ICAgICAgKiBwYWdlL1NldHRpbmdzLmNwcDoKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmg6CisK
IDIwMDktMDMtMDkgIFN0ZXBoYW5pZSBMZXdpcyAgPHNsZXdpc0BhcHBsZS5jb20+CiAKICAgICAg
ICAgRml4IGJ1aWxkLgpJbmRleDogV2ViQ29yZS9XZWJDb3JlLmJhc2UuZXhwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cAkocmV2aXNpb24gNDE1NDQpCisrKyBXZWJDb3Jl
L1dlYkNvcmUuYmFzZS5leHAJKHdvcmtpbmcgY29weSkKQEAgLTU4NCwxNyArNTg0LDE3IEBAIF9f
Wk43V2ViQ29yZThTZXR0aW5nczE2c2V0Wm9vbXNUZXh0T25seUUKIF9fWk43V2ViQ29yZThTZXR0
aW5nczE3c2V0UGx1Z2luc0VuYWJsZWRFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRET01Q
YXN0ZUFsbG93ZWRFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMThzZXREZWZhdWx0Rm9udFNpemVF
aQotX19aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRGaXhlZEZvbnRGYW1pbHlFUktOU18xMkF0b21p
Y1N0cmluZ0UKK19fWk43V2ViQ29yZThTZXR0aW5nczE4c2V0Rml4ZWRGb250RmFtaWx5RVJLTlNf
MTJBdG9taWNTdHJpbmdFMTFVU2NyaXB0Q29kZQogX19aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRN
aW5pbXVtRm9udFNpemVFaQotX19aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRTZXJpZkZvbnRGYW1p
bHlFUktOU18xMkF0b21pY1N0cmluZ0UKK19fWk43V2ViQ29yZThTZXR0aW5nczE4c2V0U2VyaWZG
b250RmFtaWx5RVJLTlNfMTJBdG9taWNTdHJpbmdFMTFVU2NyaXB0Q29kZQogX19aTjdXZWJDb3Jl
OFNldHRpbmdzMTlzZXREYXRhYmFzZXNFbmFibGVkRWIKLV9fWk43V2ViQ29yZThTZXR0aW5nczIw
c2V0Q3Vyc2l2ZUZvbnRGYW1pbHlFUktOU18xMkF0b21pY1N0cmluZ0UKLV9fWk43V2ViQ29yZThT
ZXR0aW5nczIwc2V0RmFudGFzeUZvbnRGYW1pbHlFUktOU18xMkF0b21pY1N0cmluZ0UKK19fWk43
V2ViQ29yZThTZXR0aW5nczIwc2V0Q3Vyc2l2ZUZvbnRGYW1pbHlFUktOU18xMkF0b21pY1N0cmlu
Z0UxMVVTY3JpcHRDb2RlCitfX1pON1dlYkNvcmU4U2V0dGluZ3MyMHNldEZhbnRhc3lGb250RmFt
aWx5RVJLTlNfMTJBdG9taWNTdHJpbmdFMTFVU2NyaXB0Q29kZQogX19aTjdXZWJDb3JlOFNldHRp
bmdzMjBzZXRKYXZhU2NyaXB0RW5hYmxlZEViCi1fX1pON1dlYkNvcmU4U2V0dGluZ3MyMXNldFN0
YW5kYXJkRm9udEZhbWlseUVSS05TXzEyQXRvbWljU3RyaW5nRQorX19aTjdXZWJDb3JlOFNldHRp
bmdzMjFzZXRTdGFuZGFyZEZvbnRGYW1pbHlFUktOU18xMkF0b21pY1N0cmluZ0UxMVVTY3JpcHRD
b2RlCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMXNldFdlYlNlY3VyaXR5RW5hYmxlZEViCiBfX1pO
N1dlYkNvcmU4U2V0dGluZ3MyMnNldExvY2FsU3RvcmFnZUVuYWJsZWRFYgotX19aTjdXZWJDb3Jl
OFNldHRpbmdzMjJzZXRTYW5zU2VyaWZGb250RmFtaWx5RVJLTlNfMTJBdG9taWNTdHJpbmdFCitf
X1pON1dlYkNvcmU4U2V0dGluZ3MyMnNldFNhbnNTZXJpZkZvbnRGYW1pbHlFUktOU18xMkF0b21p
Y1N0cmluZ0UxMVVTY3JpcHRDb2RlCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMnNldFNob3dzVVJM
c0luVG9vbFRpcHNFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMjNzZXREZWZhdWx0Rml4ZWRGb250
U2l6ZUVpCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyM3NldEVkaXRhYmxlTGlua0JlaGF2aW9yRU5T
XzIwRWRpdGFibGVMaW5rQmVoYXZpb3JFCkBAIC04OTcsNiArODk3LDEyIEBAIF9fWk5LN1dlYkNv
cmU4UG9zaXRpb24xMGRvd25zdHJlYW1FdgogX19aTks3V2ViQ29yZThQb3NpdGlvbjI1bGVhZGlu
Z1doaXRlc3BhY2VQb3NpdGlvbkVOU185RUFmZmluaXR5RWIKIF9fWk5LN1dlYkNvcmU4UG9zaXRp
b24yNnRyYWlsaW5nV2hpdGVzcGFjZVBvc2l0aW9uRU5TXzlFQWZmaW5pdHlFYgogX19aTks3V2Vi
Q29yZThQb3NpdGlvbjh1cHN0cmVhbUV2CitfX1pOSzdXZWJDb3JlOFNldHRpbmdzMTVmaXhlZEZv
bnRGYW1pbHlFMTFVU2NyaXB0Q29kZQorX19aTks3V2ViQ29yZThTZXR0aW5nczE1c2VyaWZGb250
RmFtaWx5RTExVVNjcmlwdENvZGUKK19fWk5LN1dlYkNvcmU4U2V0dGluZ3MxN2N1cnNpdmVGb250
RmFtaWx5RTExVVNjcmlwdENvZGUKK19fWk5LN1dlYkNvcmU4U2V0dGluZ3MxN2ZhbnRhc3lGb250
RmFtaWx5RTExVVNjcmlwdENvZGUKK19fWk5LN1dlYkNvcmU4U2V0dGluZ3MxOHN0YW5kYXJkRm9u
dEZhbWlseUUxMVVTY3JpcHRDb2RlCitfX1pOSzdXZWJDb3JlOFNldHRpbmdzMTlzYW5zU2VyaWZG
b250RmFtaWx5RTExVVNjcmlwdENvZGUKIF9fWk5LN1dlYkNvcmU5RmxvYXRSZWN0Y3Y3X05TUmVj
dEV2CiBfX1pOSzdXZWJDb3JlOUZyYW1lVHJlZTEydHJhdmVyc2VOZXh0RVBLTlNfNUZyYW1lRQog
X19aTks3V2ViQ29yZTlGcmFtZVRyZWUxNGlzRGVzY2VuZGFudE9mRVBLTlNfNUZyYW1lRQpJbmRl
eDogV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuY3BwCShyZXZpc2lvbiA0MTU0NCkKKysrIFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTk0LDU5ICs5NCwyNiBAQCBTZXR0aW5nczo6U2V0dGluZ3Mo
UGFnZSogcGFnZSkKICAgICBBdG9taWNTdHJpbmc6OmluaXQoKTsKIH0KIAotdm9pZCBTZXR0aW5n
czo6c2V0U3RhbmRhcmRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgc3RhbmRhcmRGb250
RmFtaWx5KQotewotICAgIGlmIChzdGFuZGFyZEZvbnRGYW1pbHkgPT0gbV9zdGFuZGFyZEZvbnRG
YW1pbHkpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fc3RhbmRhcmRGb250RmFtaWx5ID0gc3Rh
bmRhcmRGb250RmFtaWx5OwotICAgIHNldE5lZWRzUmVhcHBseVN0eWxlc0luQWxsRnJhbWVzKG1f
cGFnZSk7Ci19Ci0KLXZvaWQgU2V0dGluZ3M6OnNldEZpeGVkRm9udEZhbWlseShjb25zdCBBdG9t
aWNTdHJpbmcmIGZpeGVkRm9udEZhbWlseSkKLXsKLSAgICBpZiAobV9maXhlZEZvbnRGYW1pbHkg
PT0gZml4ZWRGb250RmFtaWx5KQotICAgICAgICByZXR1cm47Ci0gICAgICAgIAotICAgIG1fZml4
ZWRGb250RmFtaWx5ID0gZml4ZWRGb250RmFtaWx5OwotICAgIHNldE5lZWRzUmVhcHBseVN0eWxl
c0luQWxsRnJhbWVzKG1fcGFnZSk7Ci19Ci0KLXZvaWQgU2V0dGluZ3M6OnNldFNlcmlmRm9udEZh
bWlseShjb25zdCBBdG9taWNTdHJpbmcmIHNlcmlmRm9udEZhbWlseSkKLXsKLSAgICBpZiAobV9z
ZXJpZkZvbnRGYW1pbHkgPT0gc2VyaWZGb250RmFtaWx5KQotICAgICAgICByZXR1cm47Ci0gICAg
ICAgIAotICAgIG1fc2VyaWZGb250RmFtaWx5ID0gc2VyaWZGb250RmFtaWx5OwotICAgIHNldE5l
ZWRzUmVhcHBseVN0eWxlc0luQWxsRnJhbWVzKG1fcGFnZSk7Ci19Ci0KLXZvaWQgU2V0dGluZ3M6
OnNldFNhbnNTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBzYW5zU2VyaWZGb250
RmFtaWx5KQotewotICAgIGlmIChtX3NhbnNTZXJpZkZvbnRGYW1pbHkgPT0gc2Fuc1NlcmlmRm9u
dEZhbWlseSkKLSAgICAgICAgcmV0dXJuOwotICAgICAgICAKLSAgICBtX3NhbnNTZXJpZkZvbnRG
YW1pbHkgPSBzYW5zU2VyaWZGb250RmFtaWx5OyAKLSAgICBzZXROZWVkc1JlYXBwbHlTdHlsZXNJ
bkFsbEZyYW1lcyhtX3BhZ2UpOwotfQotCi12b2lkIFNldHRpbmdzOjpzZXRDdXJzaXZlRm9udEZh
bWlseShjb25zdCBBdG9taWNTdHJpbmcmIGN1cnNpdmVGb250RmFtaWx5KQotewotICAgIGlmICht
X2N1cnNpdmVGb250RmFtaWx5ID09IGN1cnNpdmVGb250RmFtaWx5KQotICAgICAgICByZXR1cm47
Ci0gICAgICAgIAotICAgIG1fY3Vyc2l2ZUZvbnRGYW1pbHkgPSBjdXJzaXZlRm9udEZhbWlseTsK
LSAgICBzZXROZWVkc1JlYXBwbHlTdHlsZXNJbkFsbEZyYW1lcyhtX3BhZ2UpOwotfQotCi12b2lk
IFNldHRpbmdzOjpzZXRGYW50YXN5Rm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZhbnRh
c3lGb250RmFtaWx5KQotewotICAgIGlmIChtX2ZhbnRhc3lGb250RmFtaWx5ID09IGZhbnRhc3lG
b250RmFtaWx5KQotICAgICAgICByZXR1cm47Ci0gICAgICAgIAotICAgIG1fZmFudGFzeUZvbnRG
YW1pbHkgPSBmYW50YXN5Rm9udEZhbWlseTsKLSAgICBzZXROZWVkc1JlYXBwbHlTdHlsZXNJbkFs
bEZyYW1lcyhtX3BhZ2UpOwotfQorI2RlZmluZSBHRU5FUklDX0ZPTlRfR0VUVEVSX1NFVFRFUihn
ZW5lcmljLCBHZW5lcmljKSBcCitjb25zdCBBdG9taWNTdHJpbmcmIFNldHRpbmdzOjpnZW5lcmlj
IyNGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3RcCit7XAorICAgIGlmIChtXyMj
Z2VuZXJpYyMjRm9udEZhbWlseU1hcC5jb250YWlucyhzdGF0aWNfY2FzdDxpbnQ+KHNjcmlwdCkp
KVwKKyAgICAgICAgcmV0dXJuIG1fIyNnZW5lcmljIyNGb250RmFtaWx5TWFwLmZpbmQoc3RhdGlj
X2Nhc3Q8aW50PihzY3JpcHQpKS0+c2Vjb25kO1wKKyAgICByZXR1cm4gZW1wdHlBdG9tO1wKK31c
CitcCit2b2lkIFNldHRpbmdzOjpzZXQjI0dlbmVyaWMjI0ZvbnRGYW1pbHkoY29uc3QgQXRvbWlj
U3RyaW5nJiBmYW1pbHksIFVTY3JpcHRDb2RlIHNjcmlwdClcCit7XAorICAgIGlmIChtXyMjZ2Vu
ZXJpYyMjRm9udEZhbWlseU1hcC5zZXQoc3RhdGljX2Nhc3Q8aW50PihzY3JpcHQpLCBmYW1pbHkp
LnNlY29uZClcCisgICAgICAgIHNldE5lZWRzUmVhcHBseVN0eWxlc0luQWxsRnJhbWVzKG1fcGFn
ZSk7XAorfQorCitHRU5FUklDX0ZPTlRfR0VUVEVSX1NFVFRFUihzdGFuZGFyZCwgU3RhbmRhcmQp
CitHRU5FUklDX0ZPTlRfR0VUVEVSX1NFVFRFUihmaXhlZCwgRml4ZWQpCitHRU5FUklDX0ZPTlRf
R0VUVEVSX1NFVFRFUihzZXJpZiwgU2VyaWYpCitHRU5FUklDX0ZPTlRfR0VUVEVSX1NFVFRFUihz
YW5zU2VyaWYsIFNhbnNTZXJpZikKK0dFTkVSSUNfRk9OVF9HRVRURVJfU0VUVEVSKGN1cnNpdmUs
IEN1cnNpdmUpCitHRU5FUklDX0ZPTlRfR0VUVEVSX1NFVFRFUihmYW50YXN5LCBGYW50YXN5KQog
CiB2b2lkIFNldHRpbmdzOjpzZXRNaW5pbXVtRm9udFNpemUoaW50IG1pbmltdW1Gb250U2l6ZSkK
IHsKSW5kZXg6IFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGFnZS9TZXR0aW5ncy5oCShyZXZpc2lvbiA0MTU0NCkKKysrIFdlYkNvcmUvcGFnZS9TZXR0aW5n
cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw4ICsyOCwxMSBAQAogI2RlZmluZSBTZXR0aW5nc19o
CiAKICNpbmNsdWRlICJBdG9taWNTdHJpbmcuaCIKKyNpbmNsdWRlICJBdG9taWNTdHJpbmdIYXNo
LmgiCiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiS1VSTC5oIgorI2lu
Y2x1ZGUgInVuaWNvZGUvdXNjcmlwdC5oIgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTMsMjMgKzU2LDIzIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICBwdWJsaWM6CiAgICAgICAgIFNldHRpbmdzKFBhZ2UqKTsKIAotICAgICAgICB2b2lk
IHNldFN0YW5kYXJkRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmKTsKLSAgICAgICAgY29u
c3QgQXRvbWljU3RyaW5nJiBzdGFuZGFyZEZvbnRGYW1pbHkoKSBjb25zdCB7IHJldHVybiBtX3N0
YW5kYXJkRm9udEZhbWlseTsgfQorICAgICAgICB2b2lkIHNldFN0YW5kYXJkRm9udEZhbWlseShj
b25zdCBBdG9taWNTdHJpbmcmLCBVU2NyaXB0Q29kZSBzY3JpcHQ9VVNDUklQVF9DT01NT04pOwor
ICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHN0YW5kYXJkRm9udEZhbWlseShVU2NyaXB0Q29k
ZSBzY3JpcHQ9VVNDUklQVF9DT01NT04pIGNvbnN0OwogCi0gICAgICAgIHZvaWQgc2V0Rml4ZWRG
b250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYpOwotICAgICAgICBjb25zdCBBdG9taWNTdHJp
bmcmIGZpeGVkRm9udEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fZml4ZWRGb250RmFtaWx5OyB9
CisgICAgICAgIHZvaWQgc2V0Rml4ZWRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYsIFVT
Y3JpcHRDb2RlIHNjcmlwdD1VU0NSSVBUX0NPTU1PTik7CisgICAgICAgIGNvbnN0IEF0b21pY1N0
cmluZyYgZml4ZWRGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdD1VU0NSSVBUX0NPTU1PTikg
Y29uc3Q7CiAKLSAgICAgICAgdm9pZCBzZXRTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3Ry
aW5nJik7Ci0gICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgc2VyaWZGb250RmFtaWx5KCkgY29u
c3QgeyByZXR1cm4gbV9zZXJpZkZvbnRGYW1pbHk7IH0KKyAgICAgICAgdm9pZCBzZXRTZXJpZkZv
bnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiwgVVNjcmlwdENvZGUgc2NyaXB0PVVTQ1JJUFRf
Q09NTU9OKTsKKyAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBzZXJpZkZvbnRGYW1pbHkoVVNj
cmlwdENvZGUgc2NyaXB0PVVTQ1JJUFRfQ09NTU9OKSBjb25zdDsKIAotICAgICAgICB2b2lkIHNl
dFNhbnNTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJik7Ci0gICAgICAgIGNvbnN0
IEF0b21pY1N0cmluZyYgc2Fuc1NlcmlmRm9udEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fc2Fu
c1NlcmlmRm9udEZhbWlseTsgfQorICAgICAgICB2b2lkIHNldFNhbnNTZXJpZkZvbnRGYW1pbHko
Y29uc3QgQXRvbWljU3RyaW5nJiwgVVNjcmlwdENvZGUgc2NyaXB0PVVTQ1JJUFRfQ09NTU9OKTsK
KyAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBzYW5zU2VyaWZGb250RmFtaWx5KFVTY3JpcHRD
b2RlIHNjcmlwdD1VU0NSSVBUX0NPTU1PTikgY29uc3Q7CiAKLSAgICAgICAgdm9pZCBzZXRDdXJz
aXZlRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmKTsKLSAgICAgICAgY29uc3QgQXRvbWlj
U3RyaW5nJiBjdXJzaXZlRm9udEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fY3Vyc2l2ZUZvbnRG
YW1pbHk7IH0KKyAgICAgICAgdm9pZCBzZXRDdXJzaXZlRm9udEZhbWlseShjb25zdCBBdG9taWNT
dHJpbmcmLCBVU2NyaXB0Q29kZSBzY3JpcHQ9VVNDUklQVF9DT01NT04pOworICAgICAgICBjb25z
dCBBdG9taWNTdHJpbmcmIGN1cnNpdmVGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdD1VU0NS
SVBUX0NPTU1PTikgY29uc3Q7CiAKLSAgICAgICAgdm9pZCBzZXRGYW50YXN5Rm9udEZhbWlseShj
b25zdCBBdG9taWNTdHJpbmcmKTsKLSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBmYW50YXN5
Rm9udEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fZmFudGFzeUZvbnRGYW1pbHk7IH0KKyAgICAg
ICAgdm9pZCBzZXRGYW50YXN5Rm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmLCBVU2NyaXB0
Q29kZSBzY3JpcHQ9VVNDUklQVF9DT01NT04pOworICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcm
IGZhbnRhc3lGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdD1VU0NSSVBUX0NPTU1PTikgY29u
c3Q7CiAKICAgICAgICAgdm9pZCBzZXRNaW5pbXVtRm9udFNpemUoaW50KTsKICAgICAgICAgaW50
IG1pbmltdW1Gb250U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWluaW11bUZvbnRTaXplOyB9CkBA
IC0xMTUsNyArMTE4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAKICAgICAgICAg
dm9pZCBzZXREZWZhdWx0VGV4dEVuY29kaW5nTmFtZShjb25zdCBTdHJpbmcmKTsKICAgICAgICAg
Y29uc3QgU3RyaW5nJiBkZWZhdWx0VGV4dEVuY29kaW5nTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1f
ZGVmYXVsdFRleHRFbmNvZGluZ05hbWU7IH0KLQorICAgICAgICAKICAgICAgICAgdm9pZCBzZXRV
c2VyU3R5bGVTaGVldExvY2F0aW9uKGNvbnN0IEtVUkwmKTsKICAgICAgICAgY29uc3QgS1VSTCYg
dXNlclN0eWxlU2hlZXRMb2NhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fdXNlclN0eWxlU2hlZXRM
b2NhdGlvbjsgfQogCkBAIC0yMTUsMTIgKzIxOCwxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIFN0cmluZyBtX2Z0cERpcmVjdG9yeVRlbXBsYXRlUGF0aDsKICAgICAgICAgU3RyaW5n
IG1fbG9jYWxTdG9yYWdlRGF0YWJhc2VQYXRoOwogICAgICAgICBLVVJMIG1fdXNlclN0eWxlU2hl
ZXRMb2NhdGlvbjsKLSAgICAgICAgQXRvbWljU3RyaW5nIG1fc3RhbmRhcmRGb250RmFtaWx5Owot
ICAgICAgICBBdG9taWNTdHJpbmcgbV9maXhlZEZvbnRGYW1pbHk7Ci0gICAgICAgIEF0b21pY1N0
cmluZyBtX3NlcmlmRm9udEZhbWlseTsKLSAgICAgICAgQXRvbWljU3RyaW5nIG1fc2Fuc1Nlcmlm
Rm9udEZhbWlseTsKLSAgICAgICAgQXRvbWljU3RyaW5nIG1fY3Vyc2l2ZUZvbnRGYW1pbHk7Ci0g
ICAgICAgIEF0b21pY1N0cmluZyBtX2ZhbnRhc3lGb250RmFtaWx5OworCisgICAgICAgIHR5cGVk
ZWYgSGFzaE1hcDxpbnQsIEF0b21pY1N0cmluZz4gU2NyaXB0Rm9udEZhbWlseU1hcDsKKyAgICAg
ICAgU2NyaXB0Rm9udEZhbWlseU1hcCBtX2ZpeGVkRm9udEZhbWlseU1hcDsKKyAgICAgICAgU2Ny
aXB0Rm9udEZhbWlseU1hcCBtX3NlcmlmRm9udEZhbWlseU1hcDsKKyAgICAgICAgU2NyaXB0Rm9u
dEZhbWlseU1hcCBtX3NhbnNTZXJpZkZvbnRGYW1pbHlNYXA7CisgICAgICAgIFNjcmlwdEZvbnRG
YW1pbHlNYXAgbV9jdXJzaXZlRm9udEZhbWlseU1hcDsKKyAgICAgICAgU2NyaXB0Rm9udEZhbWls
eU1hcCBtX2ZhbnRhc3lGb250RmFtaWx5TWFwOworICAgICAgICBTY3JpcHRGb250RmFtaWx5TWFw
IG1fc3RhbmRhcmRGb250RmFtaWx5TWFwOworCiAgICAgICAgIEVkaXRhYmxlTGlua0JlaGF2aW9y
IG1fZWRpdGFibGVMaW5rQmVoYXZpb3I7CiAgICAgICAgIFRleHREaXJlY3Rpb25TdWJtZW51SW5j
bHVzaW9uQmVoYXZpb3IgbV90ZXh0RGlyZWN0aW9uU3VibWVudUluY2x1c2lvbkJlaGF2aW9yOwog
ICAgICAgICBpbnQgbV9taW5pbXVtRm9udFNpemU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28601</attachid>
            <date>2009-03-13 14:32:15 -0700</date>
            <delta_ts>2009-07-21 11:47:02 -0700</delta_ts>
            <desc>patch that should build for ports not using ICU</desc>
            <filename>20797.patch.1b</filename>
            <type>text/plain</type>
            <size>14975</size>
            <attacher name="Jungshik Shin">jshin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MTY4MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMDktMDMtMTMgIEp1bmdzaGlrIFNoaW4gIDxqc2hpbkBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzk3CisKKyAgICAgICAg
TWFrZSBnZW5lcmljIGZvbnQgZmFtaWx5IGdldHRlcnMvc2V0dGVycyBhY2NlcHQgYW4gYWRkaXRp
b25hbAorICAgICAgICBhcmd1bWVudCAoc2NyaXB0IGNvZGUpLiBJdCBoYXMgYSBkZWZhdWx0IHZh
bHVlIHNvIHRoYXQgaWYgYW4gZW1iZWRkZXIKKyAgICAgICAgZG9lcyBub3QgaGF2ZS93YW50IGEg
cGVyLXNjcmlwdCBmb250IGZhbWlseSBzZXR0aW5nLCBjYWxsLXNpdGVzCisgICAgICAgIGRvbid0
IGhhdmUgdG8gYmUgY2hhbmdlZC4KKyAgICAgICAgVGhpcyBpcyB0byBwcmVwYXJlIGZvciBmaXhp
bmcgYnVnIDEwODc0IChmb250IHNlbGVjdGlvbiBpcyBub3QKKyAgICAgICAgbGFuZ3VhZ2UtZGVw
ZW5kZW50KSBhbmQgYnVnIDE4MDg1LgorCisgICAgICAgICogV2ViQ29yZS5iYXNlLmV4cDoKKyAg
ICAgICAgKiBwYWdlL1NldHRpbmdzLmNwcDoKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vdGV4dC9VU2NyaXB0Q29kZS5oOiBBZGRlZC4KKwogMjAwOS0wMy0x
MyAgRGF2aWQgTGV2aW4gIDxsZXZpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgRGltaXRyaSBHbGF6a292LgpJbmRleDogV2ViQ29yZS9XZWJDb3JlLmJhc2UuZXhwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cAkocmV2aXNpb24gNDE2MjgpCisrKyBX
ZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAJKHdvcmtpbmcgY29weSkKQEAgLTU4NCwxNyArNTg0LDE3
IEBAIF9fWk43V2ViQ29yZThTZXR0aW5nczE2c2V0Wm9vbXNUZXh0T25seUUKIF9fWk43V2ViQ29y
ZThTZXR0aW5nczE3c2V0UGx1Z2luc0VuYWJsZWRFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMThz
ZXRET01QYXN0ZUFsbG93ZWRFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMThzZXREZWZhdWx0Rm9u
dFNpemVFaQotX19aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRGaXhlZEZvbnRGYW1pbHlFUktOU18x
MkF0b21pY1N0cmluZ0UKK19fWk43V2ViQ29yZThTZXR0aW5nczE4c2V0Rml4ZWRGb250RmFtaWx5
RVJLTlNfMTJBdG9taWNTdHJpbmdFMTFVU2NyaXB0Q29kZQogX19aTjdXZWJDb3JlOFNldHRpbmdz
MThzZXRNaW5pbXVtRm9udFNpemVFaQotX19aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRTZXJpZkZv
bnRGYW1pbHlFUktOU18xMkF0b21pY1N0cmluZ0UKK19fWk43V2ViQ29yZThTZXR0aW5nczE4c2V0
U2VyaWZGb250RmFtaWx5RVJLTlNfMTJBdG9taWNTdHJpbmdFMTFVU2NyaXB0Q29kZQogX19aTjdX
ZWJDb3JlOFNldHRpbmdzMTlzZXREYXRhYmFzZXNFbmFibGVkRWIKLV9fWk43V2ViQ29yZThTZXR0
aW5nczIwc2V0Q3Vyc2l2ZUZvbnRGYW1pbHlFUktOU18xMkF0b21pY1N0cmluZ0UKLV9fWk43V2Vi
Q29yZThTZXR0aW5nczIwc2V0RmFudGFzeUZvbnRGYW1pbHlFUktOU18xMkF0b21pY1N0cmluZ0UK
K19fWk43V2ViQ29yZThTZXR0aW5nczIwc2V0Q3Vyc2l2ZUZvbnRGYW1pbHlFUktOU18xMkF0b21p
Y1N0cmluZ0UxMVVTY3JpcHRDb2RlCitfX1pON1dlYkNvcmU4U2V0dGluZ3MyMHNldEZhbnRhc3lG
b250RmFtaWx5RVJLTlNfMTJBdG9taWNTdHJpbmdFMTFVU2NyaXB0Q29kZQogX19aTjdXZWJDb3Jl
OFNldHRpbmdzMjBzZXRKYXZhU2NyaXB0RW5hYmxlZEViCi1fX1pON1dlYkNvcmU4U2V0dGluZ3My
MXNldFN0YW5kYXJkRm9udEZhbWlseUVSS05TXzEyQXRvbWljU3RyaW5nRQorX19aTjdXZWJDb3Jl
OFNldHRpbmdzMjFzZXRTdGFuZGFyZEZvbnRGYW1pbHlFUktOU18xMkF0b21pY1N0cmluZ0UxMVVT
Y3JpcHRDb2RlCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMXNldFdlYlNlY3VyaXR5RW5hYmxlZEVi
CiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMnNldExvY2FsU3RvcmFnZUVuYWJsZWRFYgotX19aTjdX
ZWJDb3JlOFNldHRpbmdzMjJzZXRTYW5zU2VyaWZGb250RmFtaWx5RVJLTlNfMTJBdG9taWNTdHJp
bmdFCitfX1pON1dlYkNvcmU4U2V0dGluZ3MyMnNldFNhbnNTZXJpZkZvbnRGYW1pbHlFUktOU18x
MkF0b21pY1N0cmluZ0UxMVVTY3JpcHRDb2RlCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMnNldFNo
b3dzVVJMc0luVG9vbFRpcHNFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMjNzZXREZWZhdWx0Rml4
ZWRGb250U2l6ZUVpCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyM3NldEVkaXRhYmxlTGlua0JlaGF2
aW9yRU5TXzIwRWRpdGFibGVMaW5rQmVoYXZpb3JFCkBAIC04OTcsNiArODk3LDEyIEBAIF9fWk5L
N1dlYkNvcmU4UG9zaXRpb24xMGRvd25zdHJlYW1FdgogX19aTks3V2ViQ29yZThQb3NpdGlvbjI1
bGVhZGluZ1doaXRlc3BhY2VQb3NpdGlvbkVOU185RUFmZmluaXR5RWIKIF9fWk5LN1dlYkNvcmU4
UG9zaXRpb24yNnRyYWlsaW5nV2hpdGVzcGFjZVBvc2l0aW9uRU5TXzlFQWZmaW5pdHlFYgogX19a
Tks3V2ViQ29yZThQb3NpdGlvbjh1cHN0cmVhbUV2CitfX1pOSzdXZWJDb3JlOFNldHRpbmdzMTVm
aXhlZEZvbnRGYW1pbHlFMTFVU2NyaXB0Q29kZQorX19aTks3V2ViQ29yZThTZXR0aW5nczE1c2Vy
aWZGb250RmFtaWx5RTExVVNjcmlwdENvZGUKK19fWk5LN1dlYkNvcmU4U2V0dGluZ3MxN2N1cnNp
dmVGb250RmFtaWx5RTExVVNjcmlwdENvZGUKK19fWk5LN1dlYkNvcmU4U2V0dGluZ3MxN2ZhbnRh
c3lGb250RmFtaWx5RTExVVNjcmlwdENvZGUKK19fWk5LN1dlYkNvcmU4U2V0dGluZ3MxOHN0YW5k
YXJkRm9udEZhbWlseUUxMVVTY3JpcHRDb2RlCitfX1pOSzdXZWJDb3JlOFNldHRpbmdzMTlzYW5z
U2VyaWZGb250RmFtaWx5RTExVVNjcmlwdENvZGUKIF9fWk5LN1dlYkNvcmU5RmxvYXRSZWN0Y3Y3
X05TUmVjdEV2CiBfX1pOSzdXZWJDb3JlOUZyYW1lVHJlZTEydHJhdmVyc2VOZXh0RVBLTlNfNUZy
YW1lRQogX19aTks3V2ViQ29yZTlGcmFtZVRyZWUxNGlzRGVzY2VuZGFudE9mRVBLTlNfNUZyYW1l
RQpJbmRleDogV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuY3BwCShyZXZpc2lvbiA0MTYyOCkKKysrIFdlYkNvcmUvcGFnZS9TZXR0
aW5ncy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk0LDU5ICs5NCwyNiBAQCBTZXR0aW5nczo6U2V0
dGluZ3MoUGFnZSogcGFnZSkKICAgICBBdG9taWNTdHJpbmc6OmluaXQoKTsKIH0KIAotdm9pZCBT
ZXR0aW5nczo6c2V0U3RhbmRhcmRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgc3RhbmRh
cmRGb250RmFtaWx5KQotewotICAgIGlmIChzdGFuZGFyZEZvbnRGYW1pbHkgPT0gbV9zdGFuZGFy
ZEZvbnRGYW1pbHkpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fc3RhbmRhcmRGb250RmFtaWx5
ID0gc3RhbmRhcmRGb250RmFtaWx5OwotICAgIHNldE5lZWRzUmVhcHBseVN0eWxlc0luQWxsRnJh
bWVzKG1fcGFnZSk7Ci19Ci0KLXZvaWQgU2V0dGluZ3M6OnNldEZpeGVkRm9udEZhbWlseShjb25z
dCBBdG9taWNTdHJpbmcmIGZpeGVkRm9udEZhbWlseSkKLXsKLSAgICBpZiAobV9maXhlZEZvbnRG
YW1pbHkgPT0gZml4ZWRGb250RmFtaWx5KQotICAgICAgICByZXR1cm47Ci0gICAgICAgIAotICAg
IG1fZml4ZWRGb250RmFtaWx5ID0gZml4ZWRGb250RmFtaWx5OwotICAgIHNldE5lZWRzUmVhcHBs
eVN0eWxlc0luQWxsRnJhbWVzKG1fcGFnZSk7Ci19Ci0KLXZvaWQgU2V0dGluZ3M6OnNldFNlcmlm
Rm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIHNlcmlmRm9udEZhbWlseSkKLXsKLSAgICBp
ZiAobV9zZXJpZkZvbnRGYW1pbHkgPT0gc2VyaWZGb250RmFtaWx5KQotICAgICAgICByZXR1cm47
Ci0gICAgICAgIAotICAgIG1fc2VyaWZGb250RmFtaWx5ID0gc2VyaWZGb250RmFtaWx5OwotICAg
IHNldE5lZWRzUmVhcHBseVN0eWxlc0luQWxsRnJhbWVzKG1fcGFnZSk7Ci19Ci0KLXZvaWQgU2V0
dGluZ3M6OnNldFNhbnNTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBzYW5zU2Vy
aWZGb250RmFtaWx5KQotewotICAgIGlmIChtX3NhbnNTZXJpZkZvbnRGYW1pbHkgPT0gc2Fuc1Nl
cmlmRm9udEZhbWlseSkKLSAgICAgICAgcmV0dXJuOwotICAgICAgICAKLSAgICBtX3NhbnNTZXJp
ZkZvbnRGYW1pbHkgPSBzYW5zU2VyaWZGb250RmFtaWx5OyAKLSAgICBzZXROZWVkc1JlYXBwbHlT
dHlsZXNJbkFsbEZyYW1lcyhtX3BhZ2UpOwotfQotCi12b2lkIFNldHRpbmdzOjpzZXRDdXJzaXZl
Rm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGN1cnNpdmVGb250RmFtaWx5KQotewotICAg
IGlmIChtX2N1cnNpdmVGb250RmFtaWx5ID09IGN1cnNpdmVGb250RmFtaWx5KQotICAgICAgICBy
ZXR1cm47Ci0gICAgICAgIAotICAgIG1fY3Vyc2l2ZUZvbnRGYW1pbHkgPSBjdXJzaXZlRm9udEZh
bWlseTsKLSAgICBzZXROZWVkc1JlYXBwbHlTdHlsZXNJbkFsbEZyYW1lcyhtX3BhZ2UpOwotfQot
Ci12b2lkIFNldHRpbmdzOjpzZXRGYW50YXN5Rm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcm
IGZhbnRhc3lGb250RmFtaWx5KQotewotICAgIGlmIChtX2ZhbnRhc3lGb250RmFtaWx5ID09IGZh
bnRhc3lGb250RmFtaWx5KQotICAgICAgICByZXR1cm47Ci0gICAgICAgIAotICAgIG1fZmFudGFz
eUZvbnRGYW1pbHkgPSBmYW50YXN5Rm9udEZhbWlseTsKLSAgICBzZXROZWVkc1JlYXBwbHlTdHls
ZXNJbkFsbEZyYW1lcyhtX3BhZ2UpOwotfQorI2RlZmluZSBHRU5FUklDX0ZPTlRfR0VUVEVSX1NF
VFRFUihnZW5lcmljLCBHZW5lcmljKSBcCitjb25zdCBBdG9taWNTdHJpbmcmIFNldHRpbmdzOjpn
ZW5lcmljIyNGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3RcCit7XAorICAgIGlm
IChtXyMjZ2VuZXJpYyMjRm9udEZhbWlseU1hcC5jb250YWlucyhzdGF0aWNfY2FzdDxpbnQ+KHNj
cmlwdCkpKVwKKyAgICAgICAgcmV0dXJuIG1fIyNnZW5lcmljIyNGb250RmFtaWx5TWFwLmZpbmQo
c3RhdGljX2Nhc3Q8aW50PihzY3JpcHQpKS0+c2Vjb25kO1wKKyAgICByZXR1cm4gZW1wdHlBdG9t
O1wKK31cCitcCit2b2lkIFNldHRpbmdzOjpzZXQjI0dlbmVyaWMjI0ZvbnRGYW1pbHkoY29uc3Qg
QXRvbWljU3RyaW5nJiBmYW1pbHksIFVTY3JpcHRDb2RlIHNjcmlwdClcCit7XAorICAgIGlmICht
XyMjZ2VuZXJpYyMjRm9udEZhbWlseU1hcC5zZXQoc3RhdGljX2Nhc3Q8aW50PihzY3JpcHQpLCBm
YW1pbHkpLnNlY29uZClcCisgICAgICAgIHNldE5lZWRzUmVhcHBseVN0eWxlc0luQWxsRnJhbWVz
KG1fcGFnZSk7XAorfQorCitHRU5FUklDX0ZPTlRfR0VUVEVSX1NFVFRFUihzdGFuZGFyZCwgU3Rh
bmRhcmQpCitHRU5FUklDX0ZPTlRfR0VUVEVSX1NFVFRFUihmaXhlZCwgRml4ZWQpCitHRU5FUklD
X0ZPTlRfR0VUVEVSX1NFVFRFUihzZXJpZiwgU2VyaWYpCitHRU5FUklDX0ZPTlRfR0VUVEVSX1NF
VFRFUihzYW5zU2VyaWYsIFNhbnNTZXJpZikKK0dFTkVSSUNfRk9OVF9HRVRURVJfU0VUVEVSKGN1
cnNpdmUsIEN1cnNpdmUpCitHRU5FUklDX0ZPTlRfR0VUVEVSX1NFVFRFUihmYW50YXN5LCBGYW50
YXN5KQogCiB2b2lkIFNldHRpbmdzOjpzZXRNaW5pbXVtRm9udFNpemUoaW50IG1pbmltdW1Gb250
U2l6ZSkKIHsKSW5kZXg6IFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGFnZS9TZXR0aW5ncy5oCShyZXZpc2lvbiA0MTYyOCkKKysrIFdlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw4ICsyOCwxNSBAQAogI2RlZmluZSBTZXR0
aW5nc19oCiAKICNpbmNsdWRlICJBdG9taWNTdHJpbmcuaCIKKyNpbmNsdWRlICJBdG9taWNTdHJp
bmdIYXNoLmgiCiAjaW5jbHVkZSAiRm9udERlc2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiS1VSTC5o
IgorI2lmIFVTRShJQ1VfVU5JQ09ERSkKKyNpbmNsdWRlICJ1bmljb2RlL3VzY3JpcHQuaCIKKyNl
bHNlCisjaW5jbHVkZSAiVVNjcmlwdENvZGUuaCIKKyNlbmRpZgorI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTMsMjMgKzYwLDIzIEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIFNldHRpbmdzKFBhZ2UqKTsKIAot
ICAgICAgICB2b2lkIHNldFN0YW5kYXJkRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmKTsK
LSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBzdGFuZGFyZEZvbnRGYW1pbHkoKSBjb25zdCB7
IHJldHVybiBtX3N0YW5kYXJkRm9udEZhbWlseTsgfQorICAgICAgICB2b2lkIHNldFN0YW5kYXJk
Rm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmLCBVU2NyaXB0Q29kZSBzY3JpcHQ9VVNDUklQ
VF9DT01NT04pOworICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHN0YW5kYXJkRm9udEZhbWls
eShVU2NyaXB0Q29kZSBzY3JpcHQ9VVNDUklQVF9DT01NT04pIGNvbnN0OwogCi0gICAgICAgIHZv
aWQgc2V0Rml4ZWRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYpOwotICAgICAgICBjb25z
dCBBdG9taWNTdHJpbmcmIGZpeGVkRm9udEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fZml4ZWRG
b250RmFtaWx5OyB9CisgICAgICAgIHZvaWQgc2V0Rml4ZWRGb250RmFtaWx5KGNvbnN0IEF0b21p
Y1N0cmluZyYsIFVTY3JpcHRDb2RlIHNjcmlwdD1VU0NSSVBUX0NPTU1PTik7CisgICAgICAgIGNv
bnN0IEF0b21pY1N0cmluZyYgZml4ZWRGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdD1VU0NS
SVBUX0NPTU1PTikgY29uc3Q7CiAKLSAgICAgICAgdm9pZCBzZXRTZXJpZkZvbnRGYW1pbHkoY29u
c3QgQXRvbWljU3RyaW5nJik7Ci0gICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgc2VyaWZGb250
RmFtaWx5KCkgY29uc3QgeyByZXR1cm4gbV9zZXJpZkZvbnRGYW1pbHk7IH0KKyAgICAgICAgdm9p
ZCBzZXRTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiwgVVNjcmlwdENvZGUgc2Ny
aXB0PVVTQ1JJUFRfQ09NTU9OKTsKKyAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBzZXJpZkZv
bnRGYW1pbHkoVVNjcmlwdENvZGUgc2NyaXB0PVVTQ1JJUFRfQ09NTU9OKSBjb25zdDsKIAotICAg
ICAgICB2b2lkIHNldFNhbnNTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJik7Ci0g
ICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgc2Fuc1NlcmlmRm9udEZhbWlseSgpIGNvbnN0IHsg
cmV0dXJuIG1fc2Fuc1NlcmlmRm9udEZhbWlseTsgfQorICAgICAgICB2b2lkIHNldFNhbnNTZXJp
ZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiwgVVNjcmlwdENvZGUgc2NyaXB0PVVTQ1JJ
UFRfQ09NTU9OKTsKKyAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBzYW5zU2VyaWZGb250RmFt
aWx5KFVTY3JpcHRDb2RlIHNjcmlwdD1VU0NSSVBUX0NPTU1PTikgY29uc3Q7CiAKLSAgICAgICAg
dm9pZCBzZXRDdXJzaXZlRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmKTsKLSAgICAgICAg
Y29uc3QgQXRvbWljU3RyaW5nJiBjdXJzaXZlRm9udEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1f
Y3Vyc2l2ZUZvbnRGYW1pbHk7IH0KKyAgICAgICAgdm9pZCBzZXRDdXJzaXZlRm9udEZhbWlseShj
b25zdCBBdG9taWNTdHJpbmcmLCBVU2NyaXB0Q29kZSBzY3JpcHQ9VVNDUklQVF9DT01NT04pOwor
ICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGN1cnNpdmVGb250RmFtaWx5KFVTY3JpcHRDb2Rl
IHNjcmlwdD1VU0NSSVBUX0NPTU1PTikgY29uc3Q7CiAKLSAgICAgICAgdm9pZCBzZXRGYW50YXN5
Rm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmKTsKLSAgICAgICAgY29uc3QgQXRvbWljU3Ry
aW5nJiBmYW50YXN5Rm9udEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fZmFudGFzeUZvbnRGYW1p
bHk7IH0KKyAgICAgICAgdm9pZCBzZXRGYW50YXN5Rm9udEZhbWlseShjb25zdCBBdG9taWNTdHJp
bmcmLCBVU2NyaXB0Q29kZSBzY3JpcHQ9VVNDUklQVF9DT01NT04pOworICAgICAgICBjb25zdCBB
dG9taWNTdHJpbmcmIGZhbnRhc3lGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdD1VU0NSSVBU
X0NPTU1PTikgY29uc3Q7CiAKICAgICAgICAgdm9pZCBzZXRNaW5pbXVtRm9udFNpemUoaW50KTsK
ICAgICAgICAgaW50IG1pbmltdW1Gb250U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWluaW11bUZv
bnRTaXplOyB9CkBAIC0xMTUsNyArMTIyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICAKICAgICAgICAgdm9pZCBzZXREZWZhdWx0VGV4dEVuY29kaW5nTmFtZShjb25zdCBTdHJpbmcm
KTsKICAgICAgICAgY29uc3QgU3RyaW5nJiBkZWZhdWx0VGV4dEVuY29kaW5nTmFtZSgpIGNvbnN0
IHsgcmV0dXJuIG1fZGVmYXVsdFRleHRFbmNvZGluZ05hbWU7IH0KLQorICAgICAgICAKICAgICAg
ICAgdm9pZCBzZXRVc2VyU3R5bGVTaGVldExvY2F0aW9uKGNvbnN0IEtVUkwmKTsKICAgICAgICAg
Y29uc3QgS1VSTCYgdXNlclN0eWxlU2hlZXRMb2NhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fdXNl
clN0eWxlU2hlZXRMb2NhdGlvbjsgfQogCkBAIC0yMTUsMTIgKzIyMiwxNSBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIFN0cmluZyBtX2Z0cERpcmVjdG9yeVRlbXBsYXRlUGF0aDsKICAg
ICAgICAgU3RyaW5nIG1fbG9jYWxTdG9yYWdlRGF0YWJhc2VQYXRoOwogICAgICAgICBLVVJMIG1f
dXNlclN0eWxlU2hlZXRMb2NhdGlvbjsKLSAgICAgICAgQXRvbWljU3RyaW5nIG1fc3RhbmRhcmRG
b250RmFtaWx5OwotICAgICAgICBBdG9taWNTdHJpbmcgbV9maXhlZEZvbnRGYW1pbHk7Ci0gICAg
ICAgIEF0b21pY1N0cmluZyBtX3NlcmlmRm9udEZhbWlseTsKLSAgICAgICAgQXRvbWljU3RyaW5n
IG1fc2Fuc1NlcmlmRm9udEZhbWlseTsKLSAgICAgICAgQXRvbWljU3RyaW5nIG1fY3Vyc2l2ZUZv
bnRGYW1pbHk7Ci0gICAgICAgIEF0b21pY1N0cmluZyBtX2ZhbnRhc3lGb250RmFtaWx5OworCisg
ICAgICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIEF0b21pY1N0cmluZz4gU2NyaXB0Rm9udEZhbWls
eU1hcDsKKyAgICAgICAgU2NyaXB0Rm9udEZhbWlseU1hcCBtX2ZpeGVkRm9udEZhbWlseU1hcDsK
KyAgICAgICAgU2NyaXB0Rm9udEZhbWlseU1hcCBtX3NlcmlmRm9udEZhbWlseU1hcDsKKyAgICAg
ICAgU2NyaXB0Rm9udEZhbWlseU1hcCBtX3NhbnNTZXJpZkZvbnRGYW1pbHlNYXA7CisgICAgICAg
IFNjcmlwdEZvbnRGYW1pbHlNYXAgbV9jdXJzaXZlRm9udEZhbWlseU1hcDsKKyAgICAgICAgU2Ny
aXB0Rm9udEZhbWlseU1hcCBtX2ZhbnRhc3lGb250RmFtaWx5TWFwOworICAgICAgICBTY3JpcHRG
b250RmFtaWx5TWFwIG1fc3RhbmRhcmRGb250RmFtaWx5TWFwOworCiAgICAgICAgIEVkaXRhYmxl
TGlua0JlaGF2aW9yIG1fZWRpdGFibGVMaW5rQmVoYXZpb3I7CiAgICAgICAgIFRleHREaXJlY3Rp
b25TdWJtZW51SW5jbHVzaW9uQmVoYXZpb3IgbV90ZXh0RGlyZWN0aW9uU3VibWVudUluY2x1c2lv
bkJlaGF2aW9yOwogICAgICAgICBpbnQgbV9taW5pbXVtRm9udFNpemU7CkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL3RleHQvVVNjcmlwdENvZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL3RleHQvVVNjcmlwdENvZGUuaAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0v
dGV4dC9VU2NyaXB0Q29kZS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEwNCBAQAorLyoKKyAq
ICBDb3B5cmlnaHQgKEMpIDE5OTctMjAwNCwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5l
cworICogIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoK
KyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkg
cGVyc29uIG9idGFpbmluZyBhIGNvcHkKKyAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0
ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICogdG8gZGVhbCBpbiB0
aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRh
dGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gs
IGRpc3RyaWJ1dGUsIGFuZC9vciBzZWxsCisgKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQg
dG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKKyAqIGZ1cm5pc2hlZCB0
byBkbyBzbywgcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZShzKSBhbmQg
dGhpcworICogcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyIGluIGFsbCBjb3BpZXMgb2YgdGhlIFNv
ZnR3YXJlIGFuZCB0aGF0IGJvdGggdGhlCisgKiBhYm92ZSBjb3B5cmlnaHQgbm90aWNlKHMpIGFu
ZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIGFwcGVhciBpbiBzdXBwb3J0aW5nCisgKiBkb2N1bWVu
dGF0aW9uLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VU
IFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorICogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcg
QlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCisgKiBNRVJDSEFOVEFCSUxJVFks
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQKKyAq
IE9GIFRISVJEIFBBUlRZIFJJR0hUUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBI
T0xERVIgT1IKKyAqIEhPTERFUlMgSU5DTFVERUQgSU4gVEhJUyBOT1RJQ0UgQkUgTElBQkxFIEZP
UiBBTlkgQ0xBSU0sIE9SIEFOWQorICogU1BFQ0lBTCBJTkRJUkVDVCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMsIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIKKyAqIFJFU1VMVElORyBGUk9NIExP
U1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OCisgKiBPRiBD
T05UUkFDVCwgTkVHTElHRU5DRSBPUiBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VU
IE9GCisgKiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBU
SElTIFNPRlRXQVJFLiAgCisgKiBFeGNlcHQgYXMgY29udGFpbmVkIGluIHRoaXMgbm90aWNlLCB0
aGUgbmFtZSBvZiBhIGNvcHlyaWdodAorICogaG9sZGVyIHNoYWxsIG5vdCBiZSB1c2VkIGluIGFk
dmVydGlzaW5nIG9yIG90aGVyd2lzZSB0byBwcm9tb3RlIHRoZQorICogc2FsZSwgdXNlIG9yIG90
aGVyIGRlYWxpbmdzIGluIHRoaXMgU29mdHdhcmUgd2l0aG91dCBwcmlvciB3cml0dGVuCisgKiBh
dXRob3JpemF0aW9uIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyLgorKi8KKworI2lmbmRlZiBVU0NS
SVBUX0NPREVfSAorI2RlZmluZSBVU0NSSVBUX0NPREVfSAorCisvKioKKyAqIENvbnN0YW50cyBm
b3IgVW5pY29kZSBzY3JpcHQgdmFsdWVzIGZyb20gU2NyaXB0TmFtZXMudHh0IC4KKyAqLwordHlw
ZWRlZiBlbnVtIFVTY3JpcHRDb2RlIHsKKyAgICAgIFVTQ1JJUFRfSU5WQUxJRF9DT0RFID0gLTEs
CisgICAgICBVU0NSSVBUX0NPTU1PTiAgICAgICA9ICAwICwgLyogWnl5eSAqLworICAgICAgVVND
UklQVF9JTkhFUklURUQgICAgPSAgMSwgIC8qIFFhYWkgKi8KKyAgICAgIFVTQ1JJUFRfQVJBQklD
ICAgICAgID0gIDIsICAvKiBBcmFiICovCisgICAgICBVU0NSSVBUX0FSTUVOSUFOICAgICA9ICAz
LCAgLyogQXJtbiAqLworICAgICAgVVNDUklQVF9CRU5HQUxJICAgICAgPSAgNCwgIC8qIEJlbmcg
Ki8KKyAgICAgIFVTQ1JJUFRfQk9QT01PRk8gICAgID0gIDUsICAvKiBCb3BvICovCisgICAgICBV
U0NSSVBUX0NIRVJPS0VFICAgICA9ICA2LCAgLyogQ2hlciAqLworICAgICAgVVNDUklQVF9DT1BU
SUMgICAgICAgPSAgNywgIC8qIENvcHQgKi8KKyAgICAgIFVTQ1JJUFRfQ1lSSUxMSUMgICAgID0g
IDgsICAvKiBDeXJsIChDeXJzKSAqLworICAgICAgVVNDUklQVF9ERVNFUkVUICAgICAgPSAgOSwg
IC8qIERzcnQgKi8KKyAgICAgIFVTQ1JJUFRfREVWQU5BR0FSSSAgID0gMTAsICAvKiBEZXZhICov
CisgICAgICBVU0NSSVBUX0VUSElPUElDICAgICA9IDExLCAgLyogRXRoaSAqLworICAgICAgVVND
UklQVF9HRU9SR0lBTiAgICAgPSAxMiwgIC8qIEdlb3IgKEdlb24sIEdlb2EpICovCisgICAgICBV
U0NSSVBUX0dPVEhJQyAgICAgICA9IDEzLCAgLyogR290aCAqLworICAgICAgVVNDUklQVF9HUkVF
SyAgICAgICAgPSAxNCwgIC8qIEdyZWsgKi8KKyAgICAgIFVTQ1JJUFRfR1VKQVJBVEkgICAgID0g
MTUsICAvKiBHdWpyICovCisgICAgICBVU0NSSVBUX0dVUk1VS0hJICAgICA9IDE2LCAgLyogR3Vy
dSAqLworICAgICAgVVNDUklQVF9IQU4gICAgICAgICAgPSAxNywgIC8qIEhhbmkgKi8KKyAgICAg
IFVTQ1JJUFRfSEFOR1VMICAgICAgID0gMTgsICAvKiBIYW5nICovCisgICAgICBVU0NSSVBUX0hF
QlJFVyAgICAgICA9IDE5LCAgLyogSGViciAqLworICAgICAgVVNDUklQVF9ISVJBR0FOQSAgICAg
PSAyMCwgIC8qIEhpcmEgKi8KKyAgICAgIFVTQ1JJUFRfS0FOTkFEQSAgICAgID0gMjEsICAvKiBL
bmRhICovCisgICAgICBVU0NSSVBUX0tBVEFLQU5BICAgICA9IDIyLCAgLyogS2FuYSAqLworICAg
ICAgVVNDUklQVF9LSE1FUiAgICAgICAgPSAyMywgIC8qIEtobXIgKi8KKyAgICAgIFVTQ1JJUFRf
TEFPICAgICAgICAgID0gMjQsICAvKiBMYW9vICovCisgICAgICBVU0NSSVBUX0xBVElOICAgICAg
ICA9IDI1LCAgLyogTGF0biAoTGF0ZiwgTGF0ZykgKi8KKyAgICAgIFVTQ1JJUFRfTUFMQVlBTEFN
ICAgID0gMjYsICAvKiBNbHltICovCisgICAgICBVU0NSSVBUX01PTkdPTElBTiAgICA9IDI3LCAg
LyogTW9uZyAqLworICAgICAgVVNDUklQVF9NWUFOTUFSICAgICAgPSAyOCwgIC8qIE15bXIgKi8K
KyAgICAgIFVTQ1JJUFRfT0dIQU0gICAgICAgID0gMjksICAvKiBPZ2FtICovCisgICAgICBVU0NS
SVBUX09MRF9JVEFMSUMgICA9IDMwLCAgLyogSXRhbCAqLworICAgICAgVVNDUklQVF9PUklZQSAg
ICAgICAgPSAzMSwgIC8qIE9yeWEgKi8KKyAgICAgIFVTQ1JJUFRfUlVOSUMgICAgICAgID0gMzIs
ICAvKiBSdW5yICovCisgICAgICBVU0NSSVBUX1NJTkhBTEEgICAgICA9IDMzLCAgLyogU2luaCAq
LworICAgICAgVVNDUklQVF9TWVJJQUMgICAgICAgPSAzNCwgIC8qIFN5cmMgKFN5cmosIFN5cm4s
IFN5cmUpICovCisgICAgICBVU0NSSVBUX1RBTUlMICAgICAgICA9IDM1LCAgLyogVGFtbCAqLwor
ICAgICAgVVNDUklQVF9URUxVR1UgICAgICAgPSAzNiwgIC8qIFRlbHUgKi8KKyAgICAgIFVTQ1JJ
UFRfVEhBQU5BICAgICAgID0gMzcsICAvKiBUaGFhICovCisgICAgICBVU0NSSVBUX1RIQUkgICAg
ICAgICA9IDM4LCAgLyogVGhhaSAqLworICAgICAgVVNDUklQVF9USUJFVEFOICAgICAgPSAzOSwg
IC8qIFRpYnQgKi8KKyAgICAgIC8qKiBDYW5hZGlhbl9BYm9yaWdpbmFsIHNjcmlwdC4gQHN0YWJs
ZSBJQ1UgMi42ICovCisgICAgICBVU0NSSVBUX0NBTkFESUFOX0FCT1JJR0lOQUwgPSA0MCwgIC8q
IENhbnMgKi8KKyAgICAgIC8qKiBDYW5hZGlhbl9BYm9yaWdpbmFsIHNjcmlwdCAoYWxpYXMpLiBA
c3RhYmxlIElDVSAyLjIgKi8KKyAgICAgIFVTQ1JJUFRfVUNBUyAgICAgICAgID0gVVNDUklQVF9D
QU5BRElBTl9BQk9SSUdJTkFMLAorICAgICAgVVNDUklQVF9ZSSAgICAgICAgICAgPSA0MSwgIC8q
IFlpaWkgKi8KKyAgICAgIFVTQ1JJUFRfVEFHQUxPRyAgICAgID0gNDIsICAvKiBUZ2xnICovCisg
ICAgICBVU0NSSVBUX0hBTlVOT08gICAgICA9IDQzLCAgLyogSGFubyAqLworICAgICAgVVNDUklQ
VF9CVUhJRCAgICAgICAgPSA0NCwgIC8qIEJ1aGQgKi8KKyAgICAgIFVTQ1JJUFRfVEFHQkFOV0Eg
ICAgID0gNDUsICAvKiBUYWdiICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHRzIGluIFVuaWNvZGUg
NCBAc3RhYmxlIElDVSAyLjYgKi8KKyAgICAgIFVTQ1JJUFRfQlJBSUxMRSwgICAgICAgICAgICAv
KiBCcmFpICovCisgICAgICBVU0NSSVBUX0NZUFJJT1QsICAgICAgICAgICAgLyogQ3BydCAqLwor
ICAgICAgVVNDUklQVF9MSU1CVSwgICAgICAgICAgICAgIC8qIExpbWIgKi8KKyAgICAgIFVTQ1JJ
UFRfTElORUFSX0IsICAgICAgICAgICAvKiBMaW5iICovCisgICAgICBVU0NSSVBUX09TTUFOWUEs
ICAgICAgICAgICAgLyogT3NtYSAqLworICAgICAgVVNDUklQVF9TSEFWSUFOLCAgICAgICAgICAg
IC8qIFNoYXcgKi8KKyAgICAgIFVTQ1JJUFRfVEFJX0xFLCAgICAgICAgICAgICAvKiBUYWxlICov
CisgICAgICBVU0NSSVBUX1VHQVJJVElDLCAgICAgICAgICAgLyogVWdhciAqLworCisgICAgICAv
KiogTmV3IHNjcmlwdCBjb2RlIGluIFVuaWNvZGUgNC4wLjEgQGRyYWZ0IElDVSAzLjAgKi8KKyAg
ICAgIFVTQ1JJUFRfS0FUQUtBTkFfT1JfSElSQUdBTkEsLypIcmt0ICovCisKKyAgICAgIFVTQ1JJ
UFRfQ09ERV9MSU1JVAorfSBVU2NyaXB0Q29kZTsKKworI2VuZGlmIAo=
</data>
<flag name="review"
          id="14077"
          type_id="1"
          status="-"
          setter="mjs"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33195</attachid>
            <date>2009-07-21 11:47:02 -0700</date>
            <delta_ts>2009-08-25 13:32:18 -0700</delta_ts>
            <desc>patch updated (macros expanded)</desc>
            <filename>20797.patch.2</filename>
            <type>text/plain</type>
            <size>21709</size>
            <attacher name="Jungshik Shin">jshin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NjEyNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjQgQEAKKzIwMDktMDctMjEgIEp1bmdzaGlrIFNoaW4gIDxqc2hpbkBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzk3CisKKyAgICAgICAg
TWFrZSBnZW5lcmljIGZvbnQgZmFtaWx5IGdldHRlcnMvc2V0dGVycyBhY2NlcHQgYW4gYWRkaXRp
b25hbAorICAgICAgICBhcmd1bWVudCAoc2NyaXB0IGNvZGUpLiBJdCBoYXMgYSBkZWZhdWx0IHZh
bHVlIHNvIHRoYXQgaWYgYW4gZW1iZWRkZXIKKyAgICAgICAgZG9lcyBub3QgaGF2ZS93YW50IGEg
cGVyLXNjcmlwdCBmb250IGZhbWlseSBzZXR0aW5nLCBjYWxsLXNpdGVzCisgICAgICAgIGRvbid0
IGhhdmUgdG8gYmUgY2hhbmdlZC4KKyAgICAgICAgVGhpcyBpcyB0byBwcmVwYXJlIGZvciBmaXhp
bmcgYnVnIDEwODc0IChmb250IHNlbGVjdGlvbiBpcyBub3QKKyAgICAgICAgbGFuZ3VhZ2UtZGVw
ZW5kZW50KSBhbmQgYnVnIDE4MDg1LgorCisgICAgICAgIFRoZXJlIHNob3VsZCBiZSBubyBjaGFu
Z2UgaW4gbGF5b3V0IGFuZCBubyBuZXcgbGF5b3V0IHRlc3QKKyAgICAgICAgaXMgYWRkZWQuCisK
KyAgICAgICAgKiBXZWJDb3JlLmJhc2UuZXhwOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3Bw
OgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1VT
Y3JpcHRDb2RlLmg6IEFkZGVkLgorCiAyMDA5LTA3LTIwICBEdW1pdHJ1IERhbmlsaXVjICA8ZHVt
aUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgpJ
bmRleDogV2ViQ29yZS9XZWJDb3JlLmJhc2UuZXhwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2Vi
Q29yZS5iYXNlLmV4cAkocmV2aXNpb24gNDYxMjYpCisrKyBXZWJDb3JlL1dlYkNvcmUuYmFzZS5l
eHAJKHdvcmtpbmcgY29weSkKQEAgLTYyNCwxOCArNjI0LDE4IEBAIF9fWk43V2ViQ29yZThTZXR0
aW5nczE2c2V0Wm9vbXNUZXh0T25seUUKIF9fWk43V2ViQ29yZThTZXR0aW5nczE3c2V0UGx1Z2lu
c0VuYWJsZWRFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRET01QYXN0ZUFsbG93ZWRFYgog
X19aTjdXZWJDb3JlOFNldHRpbmdzMThzZXREZWZhdWx0Rm9udFNpemVFaQotX19aTjdXZWJDb3Jl
OFNldHRpbmdzMThzZXRGaXhlZEZvbnRGYW1pbHlFUktOU18xMkF0b21pY1N0cmluZ0UKK19fWk43
V2ViQ29yZThTZXR0aW5nczE4c2V0Rml4ZWRGb250RmFtaWx5RVJLTlNfMTJBdG9taWNTdHJpbmdF
MTFVU2NyaXB0Q29kZQogX19aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRNaW5pbXVtRm9udFNpemVF
aQotX19aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRTZXJpZkZvbnRGYW1pbHlFUktOU18xMkF0b21p
Y1N0cmluZ0UKK19fWk43V2ViQ29yZThTZXR0aW5nczE4c2V0U2VyaWZGb250RmFtaWx5RVJLTlNf
MTJBdG9taWNTdHJpbmdFMTFVU2NyaXB0Q29kZQogX19aTjdXZWJDb3JlOFNldHRpbmdzMTlzZXRE
YXRhYmFzZXNFbmFibGVkRWIKLV9fWk43V2ViQ29yZThTZXR0aW5nczIwc2V0Q3Vyc2l2ZUZvbnRG
YW1pbHlFUktOU18xMkF0b21pY1N0cmluZ0UKLV9fWk43V2ViQ29yZThTZXR0aW5nczIwc2V0RmFu
dGFzeUZvbnRGYW1pbHlFUktOU18xMkF0b21pY1N0cmluZ0UKK19fWk43V2ViQ29yZThTZXR0aW5n
czIwc2V0Q3Vyc2l2ZUZvbnRGYW1pbHlFUktOU18xMkF0b21pY1N0cmluZ0UxMVVTY3JpcHRDb2Rl
CitfX1pON1dlYkNvcmU4U2V0dGluZ3MyMHNldEZhbnRhc3lGb250RmFtaWx5RVJLTlNfMTJBdG9t
aWNTdHJpbmdFMTFVU2NyaXB0Q29kZQogX19aTjdXZWJDb3JlOFNldHRpbmdzMjBzZXRKYXZhU2Ny
aXB0RW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMHNldFhTU0F1ZGl0b3JFbmFibGVk
RWIKLV9fWk43V2ViQ29yZThTZXR0aW5nczIxc2V0U3RhbmRhcmRGb250RmFtaWx5RVJLTlNfMTJB
dG9taWNTdHJpbmdFCitfX1pON1dlYkNvcmU4U2V0dGluZ3MyMXNldFN0YW5kYXJkRm9udEZhbWls
eUVSS05TXzEyQXRvbWljU3RyaW5nRTExVVNjcmlwdENvZGUKIF9fWk43V2ViQ29yZThTZXR0aW5n
czIxc2V0V2ViU2VjdXJpdHlFbmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczIyc2V0TG9j
YWxTdG9yYWdlRW5hYmxlZEViCi1fX1pON1dlYkNvcmU4U2V0dGluZ3MyMnNldFNhbnNTZXJpZkZv
bnRGYW1pbHlFUktOU18xMkF0b21pY1N0cmluZ0UKK19fWk43V2ViQ29yZThTZXR0aW5nczIyc2V0
U2Fuc1NlcmlmRm9udEZhbWlseUVSS05TXzEyQXRvbWljU3RyaW5nRTExVVNjcmlwdENvZGUKIF9f
Wk43V2ViQ29yZThTZXR0aW5nczIyc2V0U2hvd3NVUkxzSW5Ub29sVGlwc0ViCiBfX1pON1dlYkNv
cmU4U2V0dGluZ3MyM3NldERlZmF1bHRGaXhlZEZvbnRTaXplRWkKIF9fWk43V2ViQ29yZThTZXR0
aW5nczIzc2V0RWRpdGFibGVMaW5rQmVoYXZpb3JFTlNfMjBFZGl0YWJsZUxpbmtCZWhhdmlvckUK
QEAgLTk1OSw2ICs5NTksMTIgQEAgX19aTks3V2ViQ29yZThQb3NpdGlvbjEwZG93bnN0cmVhbUV2
CiBfX1pOSzdXZWJDb3JlOFBvc2l0aW9uMjVsZWFkaW5nV2hpdGVzcGFjZVBvc2l0aW9uRU5TXzlF
QWZmaW5pdHlFYgogX19aTks3V2ViQ29yZThQb3NpdGlvbjI2dHJhaWxpbmdXaGl0ZXNwYWNlUG9z
aXRpb25FTlNfOUVBZmZpbml0eUViCiBfX1pOSzdXZWJDb3JlOFBvc2l0aW9uOHVwc3RyZWFtRXYK
K19fWk5LN1dlYkNvcmU4U2V0dGluZ3MxNWZpeGVkRm9udEZhbWlseUUxMVVTY3JpcHRDb2RlCitf
X1pOSzdXZWJDb3JlOFNldHRpbmdzMTVzZXJpZkZvbnRGYW1pbHlFMTFVU2NyaXB0Q29kZQorX19a
Tks3V2ViQ29yZThTZXR0aW5nczE3Y3Vyc2l2ZUZvbnRGYW1pbHlFMTFVU2NyaXB0Q29kZQorX19a
Tks3V2ViQ29yZThTZXR0aW5nczE3ZmFudGFzeUZvbnRGYW1pbHlFMTFVU2NyaXB0Q29kZQorX19a
Tks3V2ViQ29yZThTZXR0aW5nczE4c3RhbmRhcmRGb250RmFtaWx5RTExVVNjcmlwdENvZGUKK19f
Wk5LN1dlYkNvcmU4U2V0dGluZ3MxOXNhbnNTZXJpZkZvbnRGYW1pbHlFMTFVU2NyaXB0Q29kZQog
X19aTks3V2ViQ29yZTlET01XaW5kb3cyN3BlbmRpbmdVbmxvYWRFdmVudExpc3RlbmVyc0V2CiBf
X1pOSzdXZWJDb3JlOUZsb2F0UmVjdGN2N19OU1JlY3RFdgogX19aTks3V2ViQ29yZTlGcmFtZVRy
ZWUxMnRyYXZlcnNlTmV4dEVQS05TXzVGcmFtZUUKSW5kZXg6IFdlYkNvcmUvcGFnZS9TZXR0aW5n
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkocmV2aXNpb24g
NDYxMjYpCisrKyBXZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MTUsNjAgKzExNSw4MiBAQCBTZXR0aW5nczo6U2V0dGluZ3MoUGFnZSogcGFnZSkKICAgICBBdG9t
aWNTdHJpbmc6OmluaXQoKTsKIH0KIAotdm9pZCBTZXR0aW5nczo6c2V0U3RhbmRhcmRGb250RmFt
aWx5KGNvbnN0IEF0b21pY1N0cmluZyYgc3RhbmRhcmRGb250RmFtaWx5KQorY29uc3QgQXRvbWlj
U3RyaW5nJiBTZXR0aW5nczo6c3RhbmRhcmRGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdCkg
Y29uc3QKIHsKLSAgICBpZiAoc3RhbmRhcmRGb250RmFtaWx5ID09IG1fc3RhbmRhcmRGb250RmFt
aWx5KQotICAgICAgICByZXR1cm47CisgICAgaWYgKG1fc3RhbmRhcmRGb250RmFtaWx5TWFwLmNv
bnRhaW5zKHN0YXRpY19jYXN0PGludD4oc2NyaXB0KSkpCisgICAgICAgIHJldHVybiBtX3N0YW5k
YXJkRm9udEZhbWlseU1hcC5maW5kKHN0YXRpY19jYXN0PGludD4oc2NyaXB0KSktPnNlY29uZDsK
KyAgICByZXR1cm4gZW1wdHlBdG9tOworfQogCi0gICAgbV9zdGFuZGFyZEZvbnRGYW1pbHkgPSBz
dGFuZGFyZEZvbnRGYW1pbHk7Ci0gICAgc2V0TmVlZHNSZWFwcGx5U3R5bGVzSW5BbGxGcmFtZXMo
bV9wYWdlKTsKK3ZvaWQgU2V0dGluZ3M6OnNldFN0YW5kYXJkRm9udEZhbWlseShjb25zdCBBdG9t
aWNTdHJpbmcmIGZhbWlseSwgVVNjcmlwdENvZGUgc2NyaXB0KQoreworICAgIGlmIChtX3N0YW5k
YXJkRm9udEZhbWlseU1hcC5zZXQoc3RhdGljX2Nhc3Q8aW50PihzY3JpcHQpLCBmYW1pbHkpLnNl
Y29uZCkKKyAgICAgICAgc2V0TmVlZHNSZWFwcGx5U3R5bGVzSW5BbGxGcmFtZXMobV9wYWdlKTsK
IH0KIAotdm9pZCBTZXR0aW5nczo6c2V0Rml4ZWRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmlu
ZyYgZml4ZWRGb250RmFtaWx5KQorY29uc3QgQXRvbWljU3RyaW5nJiBTZXR0aW5nczo6Zml4ZWRG
b250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKIHsKLSAgICBpZiAobV9maXhlZEZv
bnRGYW1pbHkgPT0gZml4ZWRGb250RmFtaWx5KQotICAgICAgICByZXR1cm47Ci0gICAgICAgIAot
ICAgIG1fZml4ZWRGb250RmFtaWx5ID0gZml4ZWRGb250RmFtaWx5OwotICAgIHNldE5lZWRzUmVh
cHBseVN0eWxlc0luQWxsRnJhbWVzKG1fcGFnZSk7CisgICAgaWYgKG1fZml4ZWRGb250RmFtaWx5
TWFwLmNvbnRhaW5zKHN0YXRpY19jYXN0PGludD4oc2NyaXB0KSkpCisgICAgICAgIHJldHVybiBt
X2ZpeGVkRm9udEZhbWlseU1hcC5maW5kKHN0YXRpY19jYXN0PGludD4oc2NyaXB0KSktPnNlY29u
ZDsKKyAgICByZXR1cm4gZW1wdHlBdG9tOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRTZXJpZkZv
bnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBzZXJpZkZvbnRGYW1pbHkpCit2b2lkIFNldHRp
bmdzOjpzZXRGaXhlZEZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIFVTY3Jp
cHRDb2RlIHNjcmlwdCkKIHsKLSAgICBpZiAobV9zZXJpZkZvbnRGYW1pbHkgPT0gc2VyaWZGb250
RmFtaWx5KQotICAgICAgICByZXR1cm47Ci0gICAgICAgIAotICAgIG1fc2VyaWZGb250RmFtaWx5
ID0gc2VyaWZGb250RmFtaWx5OwotICAgIHNldE5lZWRzUmVhcHBseVN0eWxlc0luQWxsRnJhbWVz
KG1fcGFnZSk7CisgICAgaWYgKG1fZml4ZWRGb250RmFtaWx5TWFwLnNldChzdGF0aWNfY2FzdDxp
bnQ+KHNjcmlwdCksIGZhbWlseSkuc2Vjb25kKQorICAgICAgICBzZXROZWVkc1JlYXBwbHlTdHls
ZXNJbkFsbEZyYW1lcyhtX3BhZ2UpOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRTYW5zU2VyaWZG
b250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgc2Fuc1NlcmlmRm9udEZhbWlseSkKK2NvbnN0
IEF0b21pY1N0cmluZyYgU2V0dGluZ3M6OnNlcmlmRm9udEZhbWlseShVU2NyaXB0Q29kZSBzY3Jp
cHQpIGNvbnN0CiB7Ci0gICAgaWYgKG1fc2Fuc1NlcmlmRm9udEZhbWlseSA9PSBzYW5zU2VyaWZG
b250RmFtaWx5KQotICAgICAgICByZXR1cm47Ci0gICAgICAgIAotICAgIG1fc2Fuc1NlcmlmRm9u
dEZhbWlseSA9IHNhbnNTZXJpZkZvbnRGYW1pbHk7IAotICAgIHNldE5lZWRzUmVhcHBseVN0eWxl
c0luQWxsRnJhbWVzKG1fcGFnZSk7CisgICAgaWYgKG1fc2VyaWZGb250RmFtaWx5TWFwLmNvbnRh
aW5zKHN0YXRpY19jYXN0PGludD4oc2NyaXB0KSkpCisgICAgICAgIHJldHVybiBtX3NlcmlmRm9u
dEZhbWlseU1hcC5maW5kKHN0YXRpY19jYXN0PGludD4oc2NyaXB0KSktPnNlY29uZDsKKyAgICBy
ZXR1cm4gZW1wdHlBdG9tOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRDdXJzaXZlRm9udEZhbWls
eShjb25zdCBBdG9taWNTdHJpbmcmIGN1cnNpdmVGb250RmFtaWx5KQordm9pZCBTZXR0aW5nczo6
c2V0U2VyaWZGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5LCBVU2NyaXB0Q29k
ZSBzY3JpcHQpCiB7Ci0gICAgaWYgKG1fY3Vyc2l2ZUZvbnRGYW1pbHkgPT0gY3Vyc2l2ZUZvbnRG
YW1pbHkpCi0gICAgICAgIHJldHVybjsKLSAgICAgICAgCi0gICAgbV9jdXJzaXZlRm9udEZhbWls
eSA9IGN1cnNpdmVGb250RmFtaWx5OwotICAgIHNldE5lZWRzUmVhcHBseVN0eWxlc0luQWxsRnJh
bWVzKG1fcGFnZSk7CisgICAgaWYgKG1fc2VyaWZGb250RmFtaWx5TWFwLnNldChzdGF0aWNfY2Fz
dDxpbnQ+KHNjcmlwdCksIGZhbWlseSkuc2Vjb25kKQorICAgICAgICBzZXROZWVkc1JlYXBwbHlT
dHlsZXNJbkFsbEZyYW1lcyhtX3BhZ2UpOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRGYW50YXN5
Rm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZhbnRhc3lGb250RmFtaWx5KQorY29uc3Qg
QXRvbWljU3RyaW5nJiBTZXR0aW5nczo6c2Fuc1NlcmlmRm9udEZhbWlseShVU2NyaXB0Q29kZSBz
Y3JpcHQpIGNvbnN0CiB7Ci0gICAgaWYgKG1fZmFudGFzeUZvbnRGYW1pbHkgPT0gZmFudGFzeUZv
bnRGYW1pbHkpCi0gICAgICAgIHJldHVybjsKLSAgICAgICAgCi0gICAgbV9mYW50YXN5Rm9udEZh
bWlseSA9IGZhbnRhc3lGb250RmFtaWx5OwotICAgIHNldE5lZWRzUmVhcHBseVN0eWxlc0luQWxs
RnJhbWVzKG1fcGFnZSk7CisgICAgaWYgKG1fc2Fuc1NlcmlmRm9udEZhbWlseU1hcC5jb250YWlu
cyhzdGF0aWNfY2FzdDxpbnQ+KHNjcmlwdCkpKQorICAgICAgICByZXR1cm4gbV9zYW5zU2VyaWZG
b250RmFtaWx5TWFwLmZpbmQoc3RhdGljX2Nhc3Q8aW50PihzY3JpcHQpKS0+c2Vjb25kOyAgICAg
cmV0dXJuIGVtcHR5QXRvbTsKK30KKwordm9pZCBTZXR0aW5nczo6c2V0U2Fuc1NlcmlmRm9udEZh
bWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSwgVVNjcmlwdENvZGUgc2NyaXB0KQorewor
ICAgIGlmIChtX3NhbnNTZXJpZkZvbnRGYW1pbHlNYXAuc2V0KHN0YXRpY19jYXN0PGludD4oc2Ny
aXB0KSwgZmFtaWx5KS5zZWNvbmQpCisgICAgICAgIHNldE5lZWRzUmVhcHBseVN0eWxlc0luQWxs
RnJhbWVzKG1fcGFnZSk7Cit9CisKK2NvbnN0IEF0b21pY1N0cmluZyYgU2V0dGluZ3M6OmN1cnNp
dmVGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKK3sKKyAgICBpZiAobV9jdXJz
aXZlRm9udEZhbWlseU1hcC5jb250YWlucyhzdGF0aWNfY2FzdDxpbnQ+KHNjcmlwdCkpKQorICAg
ICAgICByZXR1cm4gbV9jdXJzaXZlRm9udEZhbWlseU1hcC5maW5kKHN0YXRpY19jYXN0PGludD4o
c2NyaXB0KSktPnNlY29uZDsKKyAgICByZXR1cm4gZW1wdHlBdG9tOwogfQogCit2b2lkIFNldHRp
bmdzOjpzZXRDdXJzaXZlRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSwgVVNj
cmlwdENvZGUgc2NyaXB0KQoreworICAgIGlmIChtX2N1cnNpdmVGb250RmFtaWx5TWFwLnNldChz
dGF0aWNfY2FzdDxpbnQ+KHNjcmlwdCksIGZhbWlseSkuc2Vjb25kKQorICAgICAgICBzZXROZWVk
c1JlYXBwbHlTdHlsZXNJbkFsbEZyYW1lcyhtX3BhZ2UpOworfQorCitjb25zdCBBdG9taWNTdHJp
bmcmIFNldHRpbmdzOjpmYW50YXN5Rm9udEZhbWlseShVU2NyaXB0Q29kZSBzY3JpcHQpIGNvbnN0
Cit7CisgICAgaWYgKG1fZmFudGFzeUZvbnRGYW1pbHlNYXAuY29udGFpbnMoc3RhdGljX2Nhc3Q8
aW50PihzY3JpcHQpKSkKKyAgICAgICAgcmV0dXJuIG1fZmFudGFzeUZvbnRGYW1pbHlNYXAuZmlu
ZChzdGF0aWNfY2FzdDxpbnQ+KHNjcmlwdCkpLT5zZWNvbmQ7CisgICAgcmV0dXJuIGVtcHR5QXRv
bTsKK30KKwordm9pZCBTZXR0aW5nczo6c2V0RmFudGFzeUZvbnRGYW1pbHkoY29uc3QgQXRvbWlj
U3RyaW5nJiBmYW1pbHksIFVTY3JpcHRDb2RlIHNjcmlwdCkKK3sKKyAgICBpZiAobV9mYW50YXN5
Rm9udEZhbWlseU1hcC5zZXQoc3RhdGljX2Nhc3Q8aW50PihzY3JpcHQpLCBmYW1pbHkpLnNlY29u
ZCkKKyAgICAgICAgc2V0TmVlZHNSZWFwcGx5U3R5bGVzSW5BbGxGcmFtZXMobV9wYWdlKTsKK30K
IHZvaWQgU2V0dGluZ3M6OnNldE1pbmltdW1Gb250U2l6ZShpbnQgbWluaW11bUZvbnRTaXplKQog
ewogICAgIGlmIChtX21pbmltdW1Gb250U2l6ZSA9PSBtaW5pbXVtRm9udFNpemUpCkluZGV4OiBX
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MuaAkocmV2aXNpb24gNDYxMjYpCisrKyBXZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjgsOCArMjgsMTUgQEAKICNkZWZpbmUgU2V0dGluZ3NfaAogCiAjaW5jbHVk
ZSAiQXRvbWljU3RyaW5nLmgiCisjaW5jbHVkZSAiQXRvbWljU3RyaW5nSGFzaC5oIgogI2luY2x1
ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSAiS1VSTC5oIgorI2lmIFVTRShJQ1Vf
VU5JQ09ERSkKKyNpbmNsdWRlICJ1bmljb2RlL3VzY3JpcHQuaCIKKyNlbHNlCisjaW5jbHVkZSAi
VVNjcmlwdENvZGUuaCIKKyNlbmRpZgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtNjgsMjMgKzc1LDIzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBwdWJsaWM6CiAgICAgICAgIFNldHRpbmdzKFBhZ2UqKTsKIAotICAgICAgICB2b2lkIHNl
dFN0YW5kYXJkRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmKTsKLSAgICAgICAgY29uc3Qg
QXRvbWljU3RyaW5nJiBzdGFuZGFyZEZvbnRGYW1pbHkoKSBjb25zdCB7IHJldHVybiBtX3N0YW5k
YXJkRm9udEZhbWlseTsgfQorICAgICAgICB2b2lkIHNldFN0YW5kYXJkRm9udEZhbWlseShjb25z
dCBBdG9taWNTdHJpbmcmLCBVU2NyaXB0Q29kZSBzY3JpcHQ9VVNDUklQVF9DT01NT04pOworICAg
ICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHN0YW5kYXJkRm9udEZhbWlseShVU2NyaXB0Q29kZSBz
Y3JpcHQ9VVNDUklQVF9DT01NT04pIGNvbnN0OwogCi0gICAgICAgIHZvaWQgc2V0Rml4ZWRGb250
RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYpOwotICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcm
IGZpeGVkRm9udEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fZml4ZWRGb250RmFtaWx5OyB9Cisg
ICAgICAgIHZvaWQgc2V0Rml4ZWRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYsIFVTY3Jp
cHRDb2RlIHNjcmlwdD1VU0NSSVBUX0NPTU1PTik7CisgICAgICAgIGNvbnN0IEF0b21pY1N0cmlu
ZyYgZml4ZWRGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdD1VU0NSSVBUX0NPTU1PTikgY29u
c3Q7CiAKLSAgICAgICAgdm9pZCBzZXRTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5n
Jik7Ci0gICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgc2VyaWZGb250RmFtaWx5KCkgY29uc3Qg
eyByZXR1cm4gbV9zZXJpZkZvbnRGYW1pbHk7IH0KKyAgICAgICAgdm9pZCBzZXRTZXJpZkZvbnRG
YW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiwgVVNjcmlwdENvZGUgc2NyaXB0PVVTQ1JJUFRfQ09N
TU9OKTsKKyAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBzZXJpZkZvbnRGYW1pbHkoVVNjcmlw
dENvZGUgc2NyaXB0PVVTQ1JJUFRfQ09NTU9OKSBjb25zdDsKIAotICAgICAgICB2b2lkIHNldFNh
bnNTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJik7Ci0gICAgICAgIGNvbnN0IEF0
b21pY1N0cmluZyYgc2Fuc1NlcmlmRm9udEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fc2Fuc1Nl
cmlmRm9udEZhbWlseTsgfQorICAgICAgICB2b2lkIHNldFNhbnNTZXJpZkZvbnRGYW1pbHkoY29u
c3QgQXRvbWljU3RyaW5nJiwgVVNjcmlwdENvZGUgc2NyaXB0PVVTQ1JJUFRfQ09NTU9OKTsKKyAg
ICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBzYW5zU2VyaWZGb250RmFtaWx5KFVTY3JpcHRDb2Rl
IHNjcmlwdD1VU0NSSVBUX0NPTU1PTikgY29uc3Q7CiAKLSAgICAgICAgdm9pZCBzZXRDdXJzaXZl
Rm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmKTsKLSAgICAgICAgY29uc3QgQXRvbWljU3Ry
aW5nJiBjdXJzaXZlRm9udEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fY3Vyc2l2ZUZvbnRGYW1p
bHk7IH0KKyAgICAgICAgdm9pZCBzZXRDdXJzaXZlRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJp
bmcmLCBVU2NyaXB0Q29kZSBzY3JpcHQ9VVNDUklQVF9DT01NT04pOworICAgICAgICBjb25zdCBB
dG9taWNTdHJpbmcmIGN1cnNpdmVGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdD1VU0NSSVBU
X0NPTU1PTikgY29uc3Q7CiAKLSAgICAgICAgdm9pZCBzZXRGYW50YXN5Rm9udEZhbWlseShjb25z
dCBBdG9taWNTdHJpbmcmKTsKLSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBmYW50YXN5Rm9u
dEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fZmFudGFzeUZvbnRGYW1pbHk7IH0KKyAgICAgICAg
dm9pZCBzZXRGYW50YXN5Rm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmLCBVU2NyaXB0Q29k
ZSBzY3JpcHQ9VVNDUklQVF9DT01NT04pOworICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGZh
bnRhc3lGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdD1VU0NSSVBUX0NPTU1PTikgY29uc3Q7
CiAKICAgICAgICAgdm9pZCBzZXRNaW5pbXVtRm9udFNpemUoaW50KTsKICAgICAgICAgaW50IG1p
bmltdW1Gb250U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWluaW11bUZvbnRTaXplOyB9CkBAIC0y
NjAsMTIgKzI2NywxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFN0cmluZyBtX2Z0
cERpcmVjdG9yeVRlbXBsYXRlUGF0aDsKICAgICAgICAgU3RyaW5nIG1fbG9jYWxTdG9yYWdlRGF0
YWJhc2VQYXRoOwogICAgICAgICBLVVJMIG1fdXNlclN0eWxlU2hlZXRMb2NhdGlvbjsKLSAgICAg
ICAgQXRvbWljU3RyaW5nIG1fc3RhbmRhcmRGb250RmFtaWx5OwotICAgICAgICBBdG9taWNTdHJp
bmcgbV9maXhlZEZvbnRGYW1pbHk7Ci0gICAgICAgIEF0b21pY1N0cmluZyBtX3NlcmlmRm9udEZh
bWlseTsKLSAgICAgICAgQXRvbWljU3RyaW5nIG1fc2Fuc1NlcmlmRm9udEZhbWlseTsKLSAgICAg
ICAgQXRvbWljU3RyaW5nIG1fY3Vyc2l2ZUZvbnRGYW1pbHk7Ci0gICAgICAgIEF0b21pY1N0cmlu
ZyBtX2ZhbnRhc3lGb250RmFtaWx5OworCisgICAgICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIEF0
b21pY1N0cmluZz4gU2NyaXB0Rm9udEZhbWlseU1hcDsKKyAgICAgICAgU2NyaXB0Rm9udEZhbWls
eU1hcCBtX2ZpeGVkRm9udEZhbWlseU1hcDsKKyAgICAgICAgU2NyaXB0Rm9udEZhbWlseU1hcCBt
X3NlcmlmRm9udEZhbWlseU1hcDsKKyAgICAgICAgU2NyaXB0Rm9udEZhbWlseU1hcCBtX3NhbnNT
ZXJpZkZvbnRGYW1pbHlNYXA7CisgICAgICAgIFNjcmlwdEZvbnRGYW1pbHlNYXAgbV9jdXJzaXZl
Rm9udEZhbWlseU1hcDsKKyAgICAgICAgU2NyaXB0Rm9udEZhbWlseU1hcCBtX2ZhbnRhc3lGb250
RmFtaWx5TWFwOworICAgICAgICBTY3JpcHRGb250RmFtaWx5TWFwIG1fc3RhbmRhcmRGb250RmFt
aWx5TWFwOworCiAgICAgICAgIEVkaXRhYmxlTGlua0JlaGF2aW9yIG1fZWRpdGFibGVMaW5rQmVo
YXZpb3I7CiAgICAgICAgIFRleHREaXJlY3Rpb25TdWJtZW51SW5jbHVzaW9uQmVoYXZpb3IgbV90
ZXh0RGlyZWN0aW9uU3VibWVudUluY2x1c2lvbkJlaGF2aW9yOwogICAgICAgICBpbnQgbV9taW5p
bXVtRm9udFNpemU7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3RleHQvVVNjcmlwdENvZGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL3RleHQvVVNjcmlwdENvZGUuaAkocmV2aXNp
b24gMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vdGV4dC9VU2NyaXB0Q29kZS5oCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDE4OCBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDE5OTctMjAwOSwgSW50
ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcworICogIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMu
ICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50
ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKKyAqIG9m
IHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJT
b2Z0d2FyZSIpLAorICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlv
biwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNv
cHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIGFuZC9vciBzZWxsCisgKiBj
b3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUg
U29mdHdhcmUgaXMKKyAqIGZ1cm5pc2hlZCB0byBkbyBzbywgcHJvdmlkZWQgdGhhdCB0aGUgYWJv
dmUgY29weXJpZ2h0IG5vdGljZShzKSBhbmQgdGhpcworICogcGVybWlzc2lvbiBub3RpY2UgYXBw
ZWFyIGluIGFsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlIGFuZCB0aGF0IGJvdGggdGhlCisgKiBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlKHMpIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIGFwcGVh
ciBpbiBzdXBwb3J0aW5nCisgKiBkb2N1bWVudGF0aW9uLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorICogRVhQ
UkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5U
SUVTIE9GCisgKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFORCBOT05JTkZSSU5HRU1FTlQKKyAqIE9GIFRISVJEIFBBUlRZIFJJR0hUUy4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IKKyAqIEhPTERFUlMgSU5DTFVERUQg
SU4gVEhJUyBOT1RJQ0UgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIE9SIEFOWQorICogU1BFQ0lB
TCBJTkRJUkVDVCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMsIE9SIEFOWSBEQU1BR0VTIFdIQVRT
T0VWRVIKKyAqIFJFU1VMVElORyBGUk9NIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdI
RVRIRVIgSU4gQU4gQUNUSU9OCisgKiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUiBPVEhFUiBU
T1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GCisgKiBPUiBJTiBDT05ORUNUSU9OIFdJVEgg
VEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLiAgCisgKiBFeGNlcHQgYXMg
Y29udGFpbmVkIGluIHRoaXMgbm90aWNlLCB0aGUgbmFtZSBvZiBhIGNvcHlyaWdodAorICogaG9s
ZGVyIHNoYWxsIG5vdCBiZSB1c2VkIGluIGFkdmVydGlzaW5nIG9yIG90aGVyd2lzZSB0byBwcm9t
b3RlIHRoZQorICogc2FsZSwgdXNlIG9yIG90aGVyIGRlYWxpbmdzIGluIHRoaXMgU29mdHdhcmUg
d2l0aG91dCBwcmlvciB3cml0dGVuCisgKiBhdXRob3JpemF0aW9uIG9mIHRoZSBjb3B5cmlnaHQg
aG9sZGVyLgorKi8KKworI2lmbmRlZiBVU0NSSVBUX0NPREVfSAorI2RlZmluZSBVU0NSSVBUX0NP
REVfSAorCisvKioKKyAqIENvbnN0YW50cyBmb3IgVW5pY29kZSBzY3JpcHQgdmFsdWVzIGZyb20g
U2NyaXB0TmFtZXMudHh0IC4KKyAqLwordHlwZWRlZiBlbnVtIFVTY3JpcHRDb2RlIHsKKyAgICAg
IFVTQ1JJUFRfSU5WQUxJRF9DT0RFID0gLTEsCisgICAgICBVU0NSSVBUX0NPTU1PTiAgICAgICA9
ICAwICwgLyogWnl5eSAqLworICAgICAgVVNDUklQVF9JTkhFUklURUQgICAgPSAgMSwgIC8qIFFh
YWkgKi8KKyAgICAgIFVTQ1JJUFRfQVJBQklDICAgICAgID0gIDIsICAvKiBBcmFiICovCisgICAg
ICBVU0NSSVBUX0FSTUVOSUFOICAgICA9ICAzLCAgLyogQXJtbiAqLworICAgICAgVVNDUklQVF9C
RU5HQUxJICAgICAgPSAgNCwgIC8qIEJlbmcgKi8KKyAgICAgIFVTQ1JJUFRfQk9QT01PRk8gICAg
ID0gIDUsICAvKiBCb3BvICovCisgICAgICBVU0NSSVBUX0NIRVJPS0VFICAgICA9ICA2LCAgLyog
Q2hlciAqLworICAgICAgVVNDUklQVF9DT1BUSUMgICAgICAgPSAgNywgIC8qIENvcHQgKi8KKyAg
ICAgIFVTQ1JJUFRfQ1lSSUxMSUMgICAgID0gIDgsICAvKiBDeXJsIChDeXJzKSAqLworICAgICAg
VVNDUklQVF9ERVNFUkVUICAgICAgPSAgOSwgIC8qIERzcnQgKi8KKyAgICAgIFVTQ1JJUFRfREVW
QU5BR0FSSSAgID0gMTAsICAvKiBEZXZhICovCisgICAgICBVU0NSSVBUX0VUSElPUElDICAgICA9
IDExLCAgLyogRXRoaSAqLworICAgICAgVVNDUklQVF9HRU9SR0lBTiAgICAgPSAxMiwgIC8qIEdl
b3IgKEdlb24sIEdlb2EpICovCisgICAgICBVU0NSSVBUX0dPVEhJQyAgICAgICA9IDEzLCAgLyog
R290aCAqLworICAgICAgVVNDUklQVF9HUkVFSyAgICAgICAgPSAxNCwgIC8qIEdyZWsgKi8KKyAg
ICAgIFVTQ1JJUFRfR1VKQVJBVEkgICAgID0gMTUsICAvKiBHdWpyICovCisgICAgICBVU0NSSVBU
X0dVUk1VS0hJICAgICA9IDE2LCAgLyogR3VydSAqLworICAgICAgVVNDUklQVF9IQU4gICAgICAg
ICAgPSAxNywgIC8qIEhhbmkgKi8KKyAgICAgIFVTQ1JJUFRfSEFOR1VMICAgICAgID0gMTgsICAv
KiBIYW5nICovCisgICAgICBVU0NSSVBUX0hFQlJFVyAgICAgICA9IDE5LCAgLyogSGViciAqLwor
ICAgICAgVVNDUklQVF9ISVJBR0FOQSAgICAgPSAyMCwgIC8qIEhpcmEgKi8KKyAgICAgIFVTQ1JJ
UFRfS0FOTkFEQSAgICAgID0gMjEsICAvKiBLbmRhICovCisgICAgICBVU0NSSVBUX0tBVEFLQU5B
ICAgICA9IDIyLCAgLyogS2FuYSAqLworICAgICAgVVNDUklQVF9LSE1FUiAgICAgICAgPSAyMywg
IC8qIEtobXIgKi8KKyAgICAgIFVTQ1JJUFRfTEFPICAgICAgICAgID0gMjQsICAvKiBMYW9vICov
CisgICAgICBVU0NSSVBUX0xBVElOICAgICAgICA9IDI1LCAgLyogTGF0biAoTGF0ZiwgTGF0Zykg
Ki8KKyAgICAgIFVTQ1JJUFRfTUFMQVlBTEFNICAgID0gMjYsICAvKiBNbHltICovCisgICAgICBV
U0NSSVBUX01PTkdPTElBTiAgICA9IDI3LCAgLyogTW9uZyAqLworICAgICAgVVNDUklQVF9NWUFO
TUFSICAgICAgPSAyOCwgIC8qIE15bXIgKi8KKyAgICAgIFVTQ1JJUFRfT0dIQU0gICAgICAgID0g
MjksICAvKiBPZ2FtICovCisgICAgICBVU0NSSVBUX09MRF9JVEFMSUMgICA9IDMwLCAgLyogSXRh
bCAqLworICAgICAgVVNDUklQVF9PUklZQSAgICAgICAgPSAzMSwgIC8qIE9yeWEgKi8KKyAgICAg
IFVTQ1JJUFRfUlVOSUMgICAgICAgID0gMzIsICAvKiBSdW5yICovCisgICAgICBVU0NSSVBUX1NJ
TkhBTEEgICAgICA9IDMzLCAgLyogU2luaCAqLworICAgICAgVVNDUklQVF9TWVJJQUMgICAgICAg
PSAzNCwgIC8qIFN5cmMgKFN5cmosIFN5cm4sIFN5cmUpICovCisgICAgICBVU0NSSVBUX1RBTUlM
ICAgICAgICA9IDM1LCAgLyogVGFtbCAqLworICAgICAgVVNDUklQVF9URUxVR1UgICAgICAgPSAz
NiwgIC8qIFRlbHUgKi8KKyAgICAgIFVTQ1JJUFRfVEhBQU5BICAgICAgID0gMzcsICAvKiBUaGFh
ICovCisgICAgICBVU0NSSVBUX1RIQUkgICAgICAgICA9IDM4LCAgLyogVGhhaSAqLworICAgICAg
VVNDUklQVF9USUJFVEFOICAgICAgPSAzOSwgIC8qIFRpYnQgKi8KKyAgICAgIC8qKiBDYW5hZGlh
bl9BYm9yaWdpbmFsIHNjcmlwdC4gQHN0YWJsZSBJQ1UgMi42ICovCisgICAgICBVU0NSSVBUX0NB
TkFESUFOX0FCT1JJR0lOQUwgPSA0MCwgIC8qIENhbnMgKi8KKyAgICAgIC8qKiBDYW5hZGlhbl9B
Ym9yaWdpbmFsIHNjcmlwdCAoYWxpYXMpLiBAc3RhYmxlIElDVSAyLjIgKi8KKyAgICAgIFVTQ1JJ
UFRfVUNBUyAgICAgICAgID0gVVNDUklQVF9DQU5BRElBTl9BQk9SSUdJTkFMLAorICAgICAgVVND
UklQVF9ZSSAgICAgICAgICAgPSA0MSwgIC8qIFlpaWkgKi8KKyAgICAgIFVTQ1JJUFRfVEFHQUxP
RyAgICAgID0gNDIsICAvKiBUZ2xnICovCisgICAgICBVU0NSSVBUX0hBTlVOT08gICAgICA9IDQz
LCAgLyogSGFubyAqLworICAgICAgVVNDUklQVF9CVUhJRCAgICAgICAgPSA0NCwgIC8qIEJ1aGQg
Ki8KKyAgICAgIFVTQ1JJUFRfVEFHQkFOV0EgICAgID0gNDUsICAvKiBUYWdiICovCisKKyAgICAg
IC8qIE5ldyBzY3JpcHRzIGluIFVuaWNvZGUgNCBAc3RhYmxlIElDVSAyLjYgKi8KKyAgICAgIFVT
Q1JJUFRfQlJBSUxMRSAgICAgID0gNDYsICAvKiBCcmFpICovCisgICAgICBVU0NSSVBUX0NZUFJJ
T1QgICAgICA9IDQ3LCAgLyogQ3BydCAqLworICAgICAgVVNDUklQVF9MSU1CVSAgICAgICAgPSA0
OCwgIC8qIExpbWIgKi8KKyAgICAgIFVTQ1JJUFRfTElORUFSX0IgICAgID0gNDksICAvKiBMaW5i
ICovCisgICAgICBVU0NSSVBUX09TTUFOWUEgICAgICA9IDUwLCAgLyogT3NtYSAqLworICAgICAg
VVNDUklQVF9TSEFWSUFOICAgICAgPSA1MSwgIC8qIFNoYXcgKi8KKyAgICAgIFVTQ1JJUFRfVEFJ
X0xFICAgICAgID0gNTIsICAvKiBUYWxlICovCisgICAgICBVU0NSSVBUX1VHQVJJVElDICAgICA9
IDUzLCAgLyogVWdhciAqLworCisgICAgICAvKiogTmV3IHNjcmlwdCBjb2RlIGluIFVuaWNvZGUg
NC4wLjEgQHN0YWJsZSBJQ1UgMy4wICovCisgICAgICBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFH
QU5BID0gNTQsLypIcmt0ICovCisgICAgICAKKyAgICAgIC8qIE5ldyBzY3JpcHRzIGluIFVuaWNv
ZGUgNC4xIEBzdGFibGUgSUNVIDMuNCAqLworICAgICAgVVNDUklQVF9CVUdJTkVTRSAgICAgID0g
NTUsIC8qIEJ1Z2kgKi8KKyAgICAgIFVTQ1JJUFRfR0xBR09MSVRJQyAgICA9IDU2LCAvKiBHbGFn
ICovCisgICAgICBVU0NSSVBUX0tIQVJPU0hUSEkgICAgPSA1NywgLyogS2hhciAqLworICAgICAg
VVNDUklQVF9TWUxPVElfTkFHUkkgID0gNTgsIC8qIFN5bG8gKi8KKyAgICAgIFVTQ1JJUFRfTkVX
X1RBSV9MVUUgICA9IDU5LCAvKiBUYWx1ICovCisgICAgICBVU0NSSVBUX1RJRklOQUdIICAgICAg
PSA2MCwgLyogVGZuZyAqLworICAgICAgVVNDUklQVF9PTERfUEVSU0lBTiAgID0gNjEsIC8qIFhw
ZW8gKi8KKworICAgICAgLyogTmV3IHNjcmlwdCBjb2RlcyBmcm9tIElTTyAxNTkyNCBAc3RhYmxl
IElDVSAzLjYgKi8KKyAgICAgIFVTQ1JJUFRfQkFMSU5FU0UgICAgICAgICAgICAgICAgICAgICAg
PSA2MiwgLyogQmFsaSAqLworICAgICAgVVNDUklQVF9CQVRBSyAgICAgICAgICAgICAgICAgICAg
ICAgICA9IDYzLCAvKiBCYXRrICovCisgICAgICBVU0NSSVBUX0JMSVNTWU1CT0xTICAgICAgICAg
ICAgICAgICAgID0gNjQsIC8qIEJsaXMgKi8KKyAgICAgIFVTQ1JJUFRfQlJBSE1JICAgICAgICAg
ICAgICAgICAgICAgICAgPSA2NSwgLyogQnJhaCAqLworICAgICAgVVNDUklQVF9DSEFNICAgICAg
ICAgICAgICAgICAgICAgICAgICA9IDY2LCAvKiBDaGFtICovCisgICAgICBVU0NSSVBUX0NJUlRI
ICAgICAgICAgICAgICAgICAgICAgICAgID0gNjcsIC8qIENpcnQgKi8KKyAgICAgIFVTQ1JJUFRf
T0xEX0NIVVJDSF9TTEFWT05JQ19DWVJJTExJQyAgPSA2OCwgLyogQ3lycyAqLworICAgICAgVVND
UklQVF9ERU1PVElDX0VHWVBUSUFOICAgICAgICAgICAgICA9IDY5LCAvKiBFZ3lkICovCisgICAg
ICBVU0NSSVBUX0hJRVJBVElDX0VHWVBUSUFOICAgICAgICAgICAgID0gNzAsIC8qIEVneWggKi8K
KyAgICAgIFVTQ1JJUFRfRUdZUFRJQU5fSElFUk9HTFlQSFMgICAgICAgICAgPSA3MSwgLyogRWd5
cCAqLworICAgICAgVVNDUklQVF9LSFVUU1VSSSAgICAgICAgICAgICAgICAgICAgICA9IDcyLCAv
KiBHZW9rICovCisgICAgICBVU0NSSVBUX1NJTVBMSUZJRURfSEFOICAgICAgICAgICAgICAgID0g
NzMsIC8qIEhhbnMgKi8KKyAgICAgIFVTQ1JJUFRfVFJBRElUSU9OQUxfSEFOICAgICAgICAgICAg
ICAgPSA3NCwgLyogSGFudCAqLworICAgICAgVVNDUklQVF9QQUhBV0hfSE1PTkcgICAgICAgICAg
ICAgICAgICA9IDc1LCAvKiBIbW5nICovCisgICAgICBVU0NSSVBUX09MRF9IVU5HQVJJQU4gICAg
ICAgICAgICAgICAgID0gNzYsIC8qIEh1bmcgKi8KKyAgICAgIFVTQ1JJUFRfSEFSQVBQQU5fSU5E
VVMgICAgICAgICAgICAgICAgPSA3NywgLyogSW5kcyAqLworICAgICAgVVNDUklQVF9KQVZBTkVT
RSAgICAgICAgICAgICAgICAgICAgICA9IDc4LCAvKiBKYXZhICovCisgICAgICBVU0NSSVBUX0tB
WUFIX0xJICAgICAgICAgICAgICAgICAgICAgID0gNzksIC8qIEthbGkgKi8KKyAgICAgIFVTQ1JJ
UFRfTEFUSU5fRlJBS1RVUiAgICAgICAgICAgICAgICAgPSA4MCwgLyogTGF0ZiAqLworICAgICAg
VVNDUklQVF9MQVRJTl9HQUVMSUMgICAgICAgICAgICAgICAgICA9IDgxLCAvKiBMYXRnICovCisg
ICAgICBVU0NSSVBUX0xFUENIQSAgICAgICAgICAgICAgICAgICAgICAgID0gODIsIC8qIExlcGMg
Ki8KKyAgICAgIFVTQ1JJUFRfTElORUFSX0EgICAgICAgICAgICAgICAgICAgICAgPSA4MywgLyog
TGluYSAqLworICAgICAgVVNDUklQVF9NQU5EQUVBTiAgICAgICAgICAgICAgICAgICAgICA9IDg0
LCAvKiBNYW5kICovCisgICAgICBVU0NSSVBUX01BWUFOX0hJRVJPR0xZUEhTICAgICAgICAgICAg
ID0gODUsIC8qIE1heWEgKi8KKyAgICAgIFVTQ1JJUFRfTUVST0lUSUMgICAgICAgICAgICAgICAg
ICAgICAgPSA4NiwgLyogTWVybyAqLworICAgICAgVVNDUklQVF9OS08gICAgICAgICAgICAgICAg
ICAgICAgICAgICA9IDg3LCAvKiBOa29vICovCisgICAgICBVU0NSSVBUX09SS0hPTiAgICAgICAg
ICAgICAgICAgICAgICAgID0gODgsIC8qIE9ya2ggKi8KKyAgICAgIFVTQ1JJUFRfT0xEX1BFUk1J
QyAgICAgICAgICAgICAgICAgICAgPSA4OSwgLyogUGVybSAqLworICAgICAgVVNDUklQVF9QSEFH
U19QQSAgICAgICAgICAgICAgICAgICAgICA9IDkwLCAvKiBQaGFnICovCisgICAgICBVU0NSSVBU
X1BIT0VOSUNJQU4gICAgICAgICAgICAgICAgICAgID0gOTEsIC8qIFBobnggKi8KKyAgICAgIFVT
Q1JJUFRfUEhPTkVUSUNfUE9MTEFSRCAgICAgICAgICAgICAgPSA5MiwgLyogUGxyZCAqLworICAg
ICAgVVNDUklQVF9ST05HT1JPTkdPICAgICAgICAgICAgICAgICAgICA9IDkzLCAvKiBSb3JvICov
CisgICAgICBVU0NSSVBUX1NBUkFUSSAgICAgICAgICAgICAgICAgICAgICAgID0gOTQsIC8qIFNh
cmEgKi8KKyAgICAgIFVTQ1JJUFRfRVNUUkFOR0VMT19TWVJJQUMgICAgICAgICAgICAgPSA5NSwg
LyogU3lyZSAqLworICAgICAgVVNDUklQVF9XRVNURVJOX1NZUklBQyAgICAgICAgICAgICAgICA9
IDk2LCAvKiBTeXJqICovCisgICAgICBVU0NSSVBUX0VBU1RFUk5fU1lSSUFDICAgICAgICAgICAg
ICAgID0gOTcsIC8qIFN5cm4gKi8KKyAgICAgIFVTQ1JJUFRfVEVOR1dBUiAgICAgICAgICAgICAg
ICAgICAgICAgPSA5OCwgLyogVGVuZyAqLworICAgICAgVVNDUklQVF9WQUkgICAgICAgICAgICAg
ICAgICAgICAgICAgICA9IDk5LCAvKiBWYWlpICovCisgICAgICBVU0NSSVBUX1ZJU0lCTEVfU1BF
RUNIICAgICAgICAgICAgICAgID0gMTAwLCAvKiBWaXNwICovCisgICAgICBVU0NSSVBUX0NVTkVJ
Rk9STSAgICAgICAgICAgICAgICAgICAgID0gMTAxLC8qIFhzdXggKi8KKyAgICAgIFVTQ1JJUFRf
VU5XUklUVEVOX0xBTkdVQUdFUyAgICAgICAgICAgPSAxMDIsLyogWnh4eCAqLworICAgICAgVVND
UklQVF9VTktOT1dOICAgICAgICAgICAgICAgICAgICAgICA9IDEwMywvKiBaenp6ICovIC8qIFVu
a25vd249IkNvZGUgZm9yIHVuY29kZWQgc2NyaXB0IiwgZm9yIHVuYXNzaWduZWQgY29kZSBwb2lu
dHMgKi8KKworICAgICAgLyogTmV3IHNjcmlwdCBjb2RlcyBmcm9tIElTTyAxNTkyNCBAc3RhYmxl
IElDVSAzLjggKi8KKyAgICAgIFVTQ1JJUFRfQ0FSSUFOICAgICAgICAgICAgICAgICAgICAgICAg
PSAxMDQsLyogQ2FyaSAqLworICAgICAgVVNDUklQVF9KQVBBTkVTRSAgICAgICAgICAgICAgICAg
ICAgICA9IDEwNSwvKiBKcGFuICovCisgICAgICBVU0NSSVBUX0xBTk5BICAgICAgICAgICAgICAg
ICAgICAgICAgID0gMTA2LC8qIExhbmEgKi8KKyAgICAgIFVTQ1JJUFRfTFlDSUFOICAgICAgICAg
ICAgICAgICAgICAgICAgPSAxMDcsLyogTHljaSAqLworICAgICAgVVNDUklQVF9MWURJQU4gICAg
ICAgICAgICAgICAgICAgICAgICA9IDEwOCwvKiBMeWRpICovCisgICAgICBVU0NSSVBUX09MX0NI
SUtJICAgICAgICAgICAgICAgICAgICAgID0gMTA5LC8qIE9sY2sgKi8KKyAgICAgIFVTQ1JJUFRf
UkVKQU5HICAgICAgICAgICAgICAgICAgICAgICAgPSAxMTAsLyogUmpuZyAqLworICAgICAgVVND
UklQVF9TQVVSQVNIVFJBICAgICAgICAgICAgICAgICAgICA9IDExMSwvKiBTYXVyICovCisgICAg
ICBVU0NSSVBUX1NJR05fV1JJVElORyAgICAgICAgICAgICAgICAgID0gMTEyLC8qIFNnbncgKi8K
KyAgICAgIFVTQ1JJUFRfU1VOREFORVNFICAgICAgICAgICAgICAgICAgICAgPSAxMTMsLyogU3Vu
ZCAqLworICAgICAgVVNDUklQVF9NT09OICAgICAgICAgICAgICAgICAgICAgICAgICA9IDExNCwv
KiBNb29uICovCisgICAgICBVU0NSSVBUX01FSVRFSV9NQVlFSyAgICAgICAgICAgICAgICAgID0g
MTE1LC8qIE10ZWkgKi8KKworICAgICAgLyogTmV3IHNjcmlwdCBjb2RlcyBmcm9tIElTTyAxNTky
NCBAc3RhYmxlIElDVSA0LjAgKi8KKyAgICAgIFVTQ1JJUFRfSU1QRVJJQUxfQVJBTUFJQyAgICAg
ICAgICAgICAgPSAxMTYsLyogQXJtaSAqLworICAgICAgVVNDUklQVF9BVkVTVEFOICAgICAgICAg
ICAgICAgICAgICAgICA9IDExNywvKiBBdnN0ICovCisgICAgICBVU0NSSVBUX0NIQUtNQSAgICAg
ICAgICAgICAgICAgICAgICAgID0gMTE4LC8qIENha20gKi8KKyAgICAgIFVTQ1JJUFRfS09SRUFO
ICAgICAgICAgICAgICAgICAgICAgICAgPSAxMTksLyogS29yZSAqLworICAgICAgVVNDUklQVF9L
QUlUSEkgICAgICAgICAgICAgICAgICAgICAgICA9IDEyMCwvKiBLdGhpICovCisgICAgICBVU0NS
SVBUX01BTklDSEFFQU4gICAgICAgICAgICAgICAgICAgID0gMTIxLC8qIE1hbmkgKi8KKyAgICAg
IFVTQ1JJUFRfSU5TQ1JJUFRJT05BTF9QQUhMQVZJICAgICAgICAgPSAxMjIsLyogUGhsaSAqLwor
ICAgICAgVVNDUklQVF9QU0FMVEVSX1BBSExBVkkgICAgICAgICAgICAgICA9IDEyMywvKiBQaGxw
ICovCisgICAgICBVU0NSSVBUX0JPT0tfUEFITEFWSSAgICAgICAgICAgICAgICAgID0gMTI0LC8q
IFBobHYgKi8KKyAgICAgIFVTQ1JJUFRfSU5TQ1JJUFRJT05BTF9QQVJUSElBTiAgICAgICAgPSAx
MjUsLyogUHJ0aSAqLworICAgICAgVVNDUklQVF9TQU1BUklUQU4gICAgICAgICAgICAgICAgICAg
ICA9IDEyNiwvKiBTYW1yICovCisgICAgICBVU0NSSVBUX1RBSV9WSUVUICAgICAgICAgICAgICAg
ICAgICAgID0gMTI3LC8qIFRhdnQgKi8KKyAgICAgIFVTQ1JJUFRfTUFUSEVNQVRJQ0FMX05PVEFU
SU9OICAgICAgICAgPSAxMjgsLyogWm10aCAqLworICAgICAgVVNDUklQVF9TWU1CT0xTICAgICAg
ICAgICAgICAgICAgICAgICA9IDEyOSwvKiBac3ltICovCisKKyAgICAgIC8qIFByaXZhdGUgdXNl
IGNvZGVzIGZyb20gUWFhYSAtIFFhYnggYXJlIG5vdCBzdXBwb3J0ZWQqLworICAgICAgVVNDUklQ
VF9DT0RFX0xJTUlUICAgID0gMTMwCit9IFVTY3JpcHRDb2RlOworCisjZW5kaWYgCg==
</data>
<flag name="review"
          id="17510"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38565</attachid>
            <date>2009-08-25 13:32:18 -0700</date>
            <delta_ts>2010-03-03 15:40:36 -0800</delta_ts>
            <desc>patch addressing Eric&apos;s concerns</desc>
            <filename>20797.patch.4</filename>
            <type>text/plain</type>
            <size>20110</size>
            <attacher name="Jungshik Shin">jshin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NzUyNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjggQEAKKzIwMDktMDgtMjAgIEp1bmdzaGlrIFNoaW4gIDxqc2hpbkBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzk3CisKKyAgICAgICAg
TWFrZSBnZW5lcmljIGZvbnQgZmFtaWx5IGdldHRlcnMvc2V0dGVycyBhY2NlcHQgYW4gYWRkaXRp
b25hbAorICAgICAgICBhcmd1bWVudCAoc2NyaXB0IGNvZGUpLiBJdCBoYXMgYSBkZWZhdWx0IHZh
bHVlIHNvIHRoYXQgaWYgYW4gZW1iZWRkZXIKKyAgICAgICAgZG9lcyBub3QgaGF2ZS93YW50IGEg
cGVyLXNjcmlwdCBmb250IGZhbWlseSBzZXR0aW5nLCBjYWxsLXNpdGVzCisgICAgICAgIGRvbid0
IGhhdmUgdG8gYmUgY2hhbmdlZC4KKyAgICAgICAgVGhpcyBpcyB0byBwcmVwYXJlIGZvciBmaXhp
bmcgYnVnIDEwODc0IChmb250IHNlbGVjdGlvbiBpcyBub3QKKyAgICAgICAgbGFuZ3VhZ2UtZGVw
ZW5kZW50KSBhbmQgYnVnIDE4MDg1LgorCisgICAgICAgIFRoZXJlIHNob3VsZCBiZSBubyBjaGFu
Z2UgaW4gbGF5b3V0IGFuZCBubyBuZXcgbGF5b3V0IHRlc3QKKyAgICAgICAgaXMgYWRkZWQuCisK
KyAgICAgICAgKiBXZWJDb3JlLmJhc2UuZXhwOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3Bw
OgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1VT
Y3JpcHRDb2RlLmg6IEFkZGVkLiBUaGlzIGlzIGZvciBwb3J0cyB0aGF0CisgICAgICAgICAgZG8g
bm90IHVzZSBJQ1UuIHRoZSBwYXJ0IG9mIElDVSdzIGNvbW1vbi91bmljb2RlL3VzY3JpcHQuaAor
ICAgICAgICAgIHRoYXQgZGVmaW5lcyBzY3JpcHQgY29kZSBlbnVtIHdhcyBjb3BpZWQuIFRvIGtl
ZXAgZW51bXMgY29tcGF0aWJsZQorICAgICAgICAgIHdpdGggdGhvc2UgaW4gSUNVLCB3ZSBkb24n
dCBnZW5lcmF0ZSB0aGUgbGlzdCBvdXQgb2YgU2NyaXB0cy50eHQKKyAgICAgICAgICBvZiB0aGUg
VW5pY29kZSBEYXRhIGJhc2Ugb3IgQ0xEUidzIGRhdGEuCisKIDIwMDktMDgtMTkgIEp1bmdzaGlr
IFNoaW4gIDxqc2hpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBT
ZWlkZWwuCkluZGV4OiBXZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAJKHJldmlzaW9uIDQ3NTAzKQorKysgV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQsMjAgQEAgc3RhdGljIHZv
aWQgc2V0TmVlZHNSZWFwcGx5U3R5bGVzSW5BbGxGcgogICAgICAgICBmcmFtZS0+c2V0TmVlZHNS
ZWFwcGx5U3R5bGVzKCk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgdm9pZCBzZXRHZW5lcmljRm9udEZh
bWlseU1hcChTY3JpcHRGb250RmFtaWx5TWFwJiBmb250TWFwLCBjb25zdCBBdG9taWNTdHJpbmcm
IGZhbWlseSwgVVNjcmlwdENvZGUgc2NyaXB0LCBQYWdlKiBwYWdlKQoreworICAgIGlmIChmb250
TWFwLnNldChzdGF0aWNfY2FzdDxpbnQ+KHNjcmlwdCksIGZhbWlseSkuc2Vjb25kKQorICAgICAg
ICBzZXROZWVkc1JlYXBwbHlTdHlsZXNJbkFsbEZyYW1lcyhwYWdlKTsKK30KKworc3RhdGljIGlu
bGluZSBjb25zdCBBdG9taWNTdHJpbmcmIGdldEdlbmVyaWNGb250RmFtaWx5Rm9yU2NyaXB0KGNv
bnN0IFNjcmlwdEZvbnRGYW1pbHlNYXAmIGZvbnRNYXAsIFVTY3JpcHRDb2RlIHNjcmlwdCkgCit7
CisgICAgU2NyaXB0Rm9udEZhbWlseU1hcDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBmb250TWFwLmZp
bmQoc3RhdGljX2Nhc3Q8aW50PihzY3JpcHQpKTsKKyAgICBpZiAoaXQgIT0gZm9udE1hcC5lbmQo
KSkKKyAgICAgICAgcmV0dXJuIGl0LT5zZWNvbmQ7CisgICAgcmV0dXJuIGVtcHR5QXRvbTsKK30K
KwogI2lmIFVTRShTQUZBUklfVEhFTUUpCiBib29sIFNldHRpbmdzOjpnU2hvdWxkUGFpbnROYXRp
dmVDb250cm9scyA9IHRydWU7CiAjZW5kaWYKQEAgLTExNSw1OCArMTI5LDYyIEBAIFNldHRpbmdz
OjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogICAgIEF0b21pY1N0cmluZzo6aW5pdCgpOwogfQogCi12
b2lkIFNldHRpbmdzOjpzZXRTdGFuZGFyZEZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBz
dGFuZGFyZEZvbnRGYW1pbHkpCitjb25zdCBBdG9taWNTdHJpbmcmIFNldHRpbmdzOjpzdGFuZGFy
ZEZvbnRGYW1pbHkoVVNjcmlwdENvZGUgc2NyaXB0KSBjb25zdAogewotICAgIGlmIChzdGFuZGFy
ZEZvbnRGYW1pbHkgPT0gbV9zdGFuZGFyZEZvbnRGYW1pbHkpCi0gICAgICAgIHJldHVybjsKKyAg
ICByZXR1cm4gZ2V0R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQobV9zdGFuZGFyZEZvbnRGYW1p
bHlNYXAsIHNjcmlwdCk7Cit9CiAKLSAgICBtX3N0YW5kYXJkRm9udEZhbWlseSA9IHN0YW5kYXJk
Rm9udEZhbWlseTsKLSAgICBzZXROZWVkc1JlYXBwbHlTdHlsZXNJbkFsbEZyYW1lcyhtX3BhZ2Up
Owordm9pZCBTZXR0aW5nczo6c2V0U3RhbmRhcmRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmlu
ZyYgZmFtaWx5LCBVU2NyaXB0Q29kZSBzY3JpcHQpCit7CisgICAgc2V0R2VuZXJpY0ZvbnRGYW1p
bHlNYXAobV9zdGFuZGFyZEZvbnRGYW1pbHlNYXAsIGZhbWlseSwgc2NyaXB0LCBtX3BhZ2UpOwog
fQogCi12b2lkIFNldHRpbmdzOjpzZXRGaXhlZEZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5n
JiBmaXhlZEZvbnRGYW1pbHkpCitjb25zdCBBdG9taWNTdHJpbmcmIFNldHRpbmdzOjpmaXhlZEZv
bnRGYW1pbHkoVVNjcmlwdENvZGUgc2NyaXB0KSBjb25zdAogewotICAgIGlmIChtX2ZpeGVkRm9u
dEZhbWlseSA9PSBmaXhlZEZvbnRGYW1pbHkpCi0gICAgICAgIHJldHVybjsKLSAgICAgICAgCi0g
ICAgbV9maXhlZEZvbnRGYW1pbHkgPSBmaXhlZEZvbnRGYW1pbHk7Ci0gICAgc2V0TmVlZHNSZWFw
cGx5U3R5bGVzSW5BbGxGcmFtZXMobV9wYWdlKTsKKyAgICByZXR1cm4gZ2V0R2VuZXJpY0ZvbnRG
YW1pbHlGb3JTY3JpcHQobV9maXhlZEZvbnRGYW1pbHlNYXAsIHNjcmlwdCk7CiB9CiAKLXZvaWQg
U2V0dGluZ3M6OnNldFNlcmlmRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIHNlcmlmRm9u
dEZhbWlseSkKK3ZvaWQgU2V0dGluZ3M6OnNldEZpeGVkRm9udEZhbWlseShjb25zdCBBdG9taWNT
dHJpbmcmIGZhbWlseSwgVVNjcmlwdENvZGUgc2NyaXB0KQogewotICAgIGlmIChtX3NlcmlmRm9u
dEZhbWlseSA9PSBzZXJpZkZvbnRGYW1pbHkpCi0gICAgICAgIHJldHVybjsKLSAgICAgICAgCi0g
ICAgbV9zZXJpZkZvbnRGYW1pbHkgPSBzZXJpZkZvbnRGYW1pbHk7Ci0gICAgc2V0TmVlZHNSZWFw
cGx5U3R5bGVzSW5BbGxGcmFtZXMobV9wYWdlKTsKKyAgICBzZXRHZW5lcmljRm9udEZhbWlseU1h
cChtX2ZpeGVkRm9udEZhbWlseU1hcCwgZmFtaWx5LCBzY3JpcHQsIG1fcGFnZSk7CiB9CiAKLXZv
aWQgU2V0dGluZ3M6OnNldFNhbnNTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBz
YW5zU2VyaWZGb250RmFtaWx5KQorY29uc3QgQXRvbWljU3RyaW5nJiBTZXR0aW5nczo6c2VyaWZG
b250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKIHsKLSAgICBpZiAobV9zYW5zU2Vy
aWZGb250RmFtaWx5ID09IHNhbnNTZXJpZkZvbnRGYW1pbHkpCi0gICAgICAgIHJldHVybjsKLSAg
ICAgICAgCi0gICAgbV9zYW5zU2VyaWZGb250RmFtaWx5ID0gc2Fuc1NlcmlmRm9udEZhbWlseTsg
Ci0gICAgc2V0TmVlZHNSZWFwcGx5U3R5bGVzSW5BbGxGcmFtZXMobV9wYWdlKTsKKyAgICByZXR1
cm4gZ2V0R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQobV9zZXJpZkZvbnRGYW1pbHlNYXAsIHNj
cmlwdCk7CiB9CiAKLXZvaWQgU2V0dGluZ3M6OnNldEN1cnNpdmVGb250RmFtaWx5KGNvbnN0IEF0
b21pY1N0cmluZyYgY3Vyc2l2ZUZvbnRGYW1pbHkpCit2b2lkIFNldHRpbmdzOjpzZXRTZXJpZkZv
bnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIFVTY3JpcHRDb2RlIHNjcmlwdCkK
IHsKLSAgICBpZiAobV9jdXJzaXZlRm9udEZhbWlseSA9PSBjdXJzaXZlRm9udEZhbWlseSkKLSAg
ICAgICAgcmV0dXJuOwotICAgICAgICAKLSAgICBtX2N1cnNpdmVGb250RmFtaWx5ID0gY3Vyc2l2
ZUZvbnRGYW1pbHk7Ci0gICAgc2V0TmVlZHNSZWFwcGx5U3R5bGVzSW5BbGxGcmFtZXMobV9wYWdl
KTsKKyAgICBzZXRHZW5lcmljRm9udEZhbWlseU1hcChtX3NlcmlmRm9udEZhbWlseU1hcCwgZmFt
aWx5LCBzY3JpcHQsIG1fcGFnZSk7Cit9CisKK2NvbnN0IEF0b21pY1N0cmluZyYgU2V0dGluZ3M6
OnNhbnNTZXJpZkZvbnRGYW1pbHkoVVNjcmlwdENvZGUgc2NyaXB0KSBjb25zdCB7CisgICAgcmV0
dXJuIGdldEdlbmVyaWNGb250RmFtaWx5Rm9yU2NyaXB0KG1fc2Fuc1NlcmlmRm9udEZhbWlseU1h
cCwgc2NyaXB0KTsKIH0KIAotdm9pZCBTZXR0aW5nczo6c2V0RmFudGFzeUZvbnRGYW1pbHkoY29u
c3QgQXRvbWljU3RyaW5nJiBmYW50YXN5Rm9udEZhbWlseSkKK3ZvaWQgU2V0dGluZ3M6OnNldFNh
bnNTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIFVTY3JpcHRDb2Rl
IHNjcmlwdCkKIHsKLSAgICBpZiAobV9mYW50YXN5Rm9udEZhbWlseSA9PSBmYW50YXN5Rm9udEZh
bWlseSkKLSAgICAgICAgcmV0dXJuOwotICAgICAgICAKLSAgICBtX2ZhbnRhc3lGb250RmFtaWx5
ID0gZmFudGFzeUZvbnRGYW1pbHk7Ci0gICAgc2V0TmVlZHNSZWFwcGx5U3R5bGVzSW5BbGxGcmFt
ZXMobV9wYWdlKTsKKyAgICBzZXRHZW5lcmljRm9udEZhbWlseU1hcChtX3NhbnNTZXJpZkZvbnRG
YW1pbHlNYXAsIGZhbWlseSwgc2NyaXB0LCBtX3BhZ2UpOworfQorCitjb25zdCBBdG9taWNTdHJp
bmcmIFNldHRpbmdzOjpjdXJzaXZlRm9udEZhbWlseShVU2NyaXB0Q29kZSBzY3JpcHQpIGNvbnN0
IHsKKyAgICByZXR1cm4gZ2V0R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQobV9jdXJzaXZlRm9u
dEZhbWlseU1hcCwgc2NyaXB0KTsKK30KKwordm9pZCBTZXR0aW5nczo6c2V0Q3Vyc2l2ZUZvbnRG
YW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIFVTY3JpcHRDb2RlIHNjcmlwdCkKK3sK
KyAgICBzZXRHZW5lcmljRm9udEZhbWlseU1hcChtX2N1cnNpdmVGb250RmFtaWx5TWFwLCBmYW1p
bHksIHNjcmlwdCwgbV9wYWdlKTsKK30KKworY29uc3QgQXRvbWljU3RyaW5nJiBTZXR0aW5nczo6
ZmFudGFzeUZvbnRGYW1pbHkoVVNjcmlwdENvZGUgc2NyaXB0KSBjb25zdAoreworICAgIHJldHVy
biBnZXRHZW5lcmljRm9udEZhbWlseUZvclNjcmlwdChtX2ZhbnRhc3lGb250RmFtaWx5TWFwLCBz
Y3JpcHQpOworfQorCit2b2lkIFNldHRpbmdzOjpzZXRGYW50YXN5Rm9udEZhbWlseShjb25zdCBB
dG9taWNTdHJpbmcmIGZhbWlseSwgVVNjcmlwdENvZGUgc2NyaXB0KQoreworICAgIHNldEdlbmVy
aWNGb250RmFtaWx5TWFwKG1fZmFudGFzeUZvbnRGYW1pbHlNYXAsIGZhbWlseSwgc2NyaXB0LCBt
X3BhZ2UpOwogfQogCiB2b2lkIFNldHRpbmdzOjpzZXRNaW5pbXVtRm9udFNpemUoaW50IG1pbmlt
dW1Gb250U2l6ZSkKSW5kZXg6IFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCShyZXZpc2lvbiA0NzUwMykKKysrIFdlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw4ICsyOCwxNSBAQAogI2RlZmluZSBT
ZXR0aW5nc19oCiAKICNpbmNsdWRlICJBdG9taWNTdHJpbmcuaCIKKyNpbmNsdWRlICJBdG9taWNT
dHJpbmdIYXNoLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlICJL
VVJMLmgiCisjaWYgVVNFKElDVV9VTklDT0RFKQorI2luY2x1ZGUgInVuaWNvZGUvdXNjcmlwdC5o
IgorI2Vsc2UKKyNpbmNsdWRlICJVU2NyaXB0Q29kZS5oIgorI2VuZGlmCisjaW5jbHVkZSA8d3Rm
L0hhc2hNYXAuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC02NCwyNyArNzEsMjkgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIC8vIGlmIHBvc3NpYmxlIGluIHRoZSBmdXR1cmUuCiAg
ICAgZW51bSBFZGl0aW5nQmVoYXZpb3IgeyBFZGl0aW5nTWFjQmVoYXZpb3IsIEVkaXRpbmdXaW5k
b3dzQmVoYXZpb3IgfTsKIAorICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIEF0b21pY1N0cmluZz4g
U2NyaXB0Rm9udEZhbWlseU1hcDsKKwogICAgIGNsYXNzIFNldHRpbmdzIHsKICAgICBwdWJsaWM6
CiAgICAgICAgIFNldHRpbmdzKFBhZ2UqKTsKIAotICAgICAgICB2b2lkIHNldFN0YW5kYXJkRm9u
dEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmKTsKLSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5n
JiBzdGFuZGFyZEZvbnRGYW1pbHkoKSBjb25zdCB7IHJldHVybiBtX3N0YW5kYXJkRm9udEZhbWls
eTsgfQorICAgICAgICB2b2lkIHNldFN0YW5kYXJkRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJp
bmcmLCBVU2NyaXB0Q29kZSBzY3JpcHQ9VVNDUklQVF9DT01NT04pOworICAgICAgICBjb25zdCBB
dG9taWNTdHJpbmcmIHN0YW5kYXJkRm9udEZhbWlseShVU2NyaXB0Q29kZSBzY3JpcHQ9VVNDUklQ
VF9DT01NT04pIGNvbnN0OwogCi0gICAgICAgIHZvaWQgc2V0Rml4ZWRGb250RmFtaWx5KGNvbnN0
IEF0b21pY1N0cmluZyYpOwotICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGZpeGVkRm9udEZh
bWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fZml4ZWRGb250RmFtaWx5OyB9CisgICAgICAgIHZvaWQg
c2V0Rml4ZWRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYsIFVTY3JpcHRDb2RlIHNjcmlw
dD1VU0NSSVBUX0NPTU1PTik7CisgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgZml4ZWRGb250
RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdD1VU0NSSVBUX0NPTU1PTikgY29uc3Q7CiAKLSAgICAg
ICAgdm9pZCBzZXRTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJik7Ci0gICAgICAg
IGNvbnN0IEF0b21pY1N0cmluZyYgc2VyaWZGb250RmFtaWx5KCkgY29uc3QgeyByZXR1cm4gbV9z
ZXJpZkZvbnRGYW1pbHk7IH0KKyAgICAgICAgdm9pZCBzZXRTZXJpZkZvbnRGYW1pbHkoY29uc3Qg
QXRvbWljU3RyaW5nJiwgVVNjcmlwdENvZGUgc2NyaXB0PVVTQ1JJUFRfQ09NTU9OKTsKKyAgICAg
ICAgY29uc3QgQXRvbWljU3RyaW5nJiBzZXJpZkZvbnRGYW1pbHkoVVNjcmlwdENvZGUgc2NyaXB0
PVVTQ1JJUFRfQ09NTU9OKSBjb25zdDsKIAotICAgICAgICB2b2lkIHNldFNhbnNTZXJpZkZvbnRG
YW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJik7Ci0gICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYg
c2Fuc1NlcmlmRm9udEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fc2Fuc1NlcmlmRm9udEZhbWls
eTsgfQorICAgICAgICB2b2lkIHNldFNhbnNTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3Ry
aW5nJiwgVVNjcmlwdENvZGUgc2NyaXB0PVVTQ1JJUFRfQ09NTU9OKTsKKyAgICAgICAgY29uc3Qg
QXRvbWljU3RyaW5nJiBzYW5zU2VyaWZGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdD1VU0NS
SVBUX0NPTU1PTikgY29uc3Q7CiAKLSAgICAgICAgdm9pZCBzZXRDdXJzaXZlRm9udEZhbWlseShj
b25zdCBBdG9taWNTdHJpbmcmKTsKLSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBjdXJzaXZl
Rm9udEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fY3Vyc2l2ZUZvbnRGYW1pbHk7IH0KKyAgICAg
ICAgdm9pZCBzZXRDdXJzaXZlRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmLCBVU2NyaXB0
Q29kZSBzY3JpcHQ9VVNDUklQVF9DT01NT04pOworICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcm
IGN1cnNpdmVGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdD1VU0NSSVBUX0NPTU1PTikgY29u
c3Q7CiAKLSAgICAgICAgdm9pZCBzZXRGYW50YXN5Rm9udEZhbWlseShjb25zdCBBdG9taWNTdHJp
bmcmKTsKLSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBmYW50YXN5Rm9udEZhbWlseSgpIGNv
bnN0IHsgcmV0dXJuIG1fZmFudGFzeUZvbnRGYW1pbHk7IH0KKyAgICAgICAgdm9pZCBzZXRGYW50
YXN5Rm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmLCBVU2NyaXB0Q29kZSBzY3JpcHQ9VVND
UklQVF9DT01NT04pOworICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGZhbnRhc3lGb250RmFt
aWx5KFVTY3JpcHRDb2RlIHNjcmlwdD1VU0NSSVBUX0NPTU1PTikgY29uc3Q7CiAKICAgICAgICAg
dm9pZCBzZXRNaW5pbXVtRm9udFNpemUoaW50KTsKICAgICAgICAgaW50IG1pbmltdW1Gb250U2l6
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWluaW11bUZvbnRTaXplOyB9CkBAIC0yNjAsMTIgKzI2OSwx
NCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFN0cmluZyBtX2Z0cERpcmVjdG9yeVRl
bXBsYXRlUGF0aDsKICAgICAgICAgU3RyaW5nIG1fbG9jYWxTdG9yYWdlRGF0YWJhc2VQYXRoOwog
ICAgICAgICBLVVJMIG1fdXNlclN0eWxlU2hlZXRMb2NhdGlvbjsKLSAgICAgICAgQXRvbWljU3Ry
aW5nIG1fc3RhbmRhcmRGb250RmFtaWx5OwotICAgICAgICBBdG9taWNTdHJpbmcgbV9maXhlZEZv
bnRGYW1pbHk7Ci0gICAgICAgIEF0b21pY1N0cmluZyBtX3NlcmlmRm9udEZhbWlseTsKLSAgICAg
ICAgQXRvbWljU3RyaW5nIG1fc2Fuc1NlcmlmRm9udEZhbWlseTsKLSAgICAgICAgQXRvbWljU3Ry
aW5nIG1fY3Vyc2l2ZUZvbnRGYW1pbHk7Ci0gICAgICAgIEF0b21pY1N0cmluZyBtX2ZhbnRhc3lG
b250RmFtaWx5OworCisgICAgICAgIFNjcmlwdEZvbnRGYW1pbHlNYXAgbV9maXhlZEZvbnRGYW1p
bHlNYXA7CisgICAgICAgIFNjcmlwdEZvbnRGYW1pbHlNYXAgbV9zZXJpZkZvbnRGYW1pbHlNYXA7
CisgICAgICAgIFNjcmlwdEZvbnRGYW1pbHlNYXAgbV9zYW5zU2VyaWZGb250RmFtaWx5TWFwOwor
ICAgICAgICBTY3JpcHRGb250RmFtaWx5TWFwIG1fY3Vyc2l2ZUZvbnRGYW1pbHlNYXA7CisgICAg
ICAgIFNjcmlwdEZvbnRGYW1pbHlNYXAgbV9mYW50YXN5Rm9udEZhbWlseU1hcDsKKyAgICAgICAg
U2NyaXB0Rm9udEZhbWlseU1hcCBtX3N0YW5kYXJkRm9udEZhbWlseU1hcDsKKwogICAgICAgICBF
ZGl0YWJsZUxpbmtCZWhhdmlvciBtX2VkaXRhYmxlTGlua0JlaGF2aW9yOwogICAgICAgICBUZXh0
RGlyZWN0aW9uU3VibWVudUluY2x1c2lvbkJlaGF2aW9yIG1fdGV4dERpcmVjdGlvblN1Ym1lbnVJ
bmNsdXNpb25CZWhhdmlvcjsKICAgICAgICAgaW50IG1fbWluaW11bUZvbnRTaXplOwpJbmRleDog
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1VTY3JpcHRDb2RlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L1VTY3JpcHRDb2RlLmgJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL3RleHQvVVNjcmlwdENvZGUuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMDAgQEAK
Ky8qCisgKiAgQ29weXJpZ2h0IChDKSAxOTk3LTIwMDksIEludGVybmF0aW9uYWwgQnVzaW5lc3Mg
TWFjaGluZXMKKyAqICBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLiAgQWxsIFJpZ2h0cyBSZXNlcnZl
ZC4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwg
dG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CisgKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBh
c3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKKyAqIHRvIGRl
YWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0
IGxpbWl0YXRpb24KKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBw
dWJsaXNoLCBkaXN0cmlidXRlLCBhbmQvb3Igc2VsbAorICogY29waWVzIG9mIHRoZSBTb2Z0d2Fy
ZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCisgKiBmdXJu
aXNoZWQgdG8gZG8gc28sIHByb3ZpZGVkIHRoYXQgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Uo
cykgYW5kIHRoaXMKKyAqIHBlcm1pc3Npb24gbm90aWNlIGFwcGVhciBpbiBhbGwgY29waWVzIG9m
IHRoZSBTb2Z0d2FyZSBhbmQgdGhhdCBib3RoIHRoZQorICogYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZShzKSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gc3VwcG9ydGluZworICog
ZG9jdW1lbnRhdGlvbi4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwg
V0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5D
TFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorICogTUVSQ0hBTlRB
QklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VN
RU5UCisgKiBPRiBUSElSRCBQQVJUWSBSSUdIVFMuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQgSE9MREVSIE9SCisgKiBIT0xERVJTIElOQ0xVREVEIElOIFRISVMgTk9USUNFIEJFIExJ
QUJMRSBGT1IgQU5ZIENMQUlNLCBPUiBBTlkKKyAqIFNQRUNJQUwgSU5ESVJFQ1QgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTLCBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSCisgKiBSRVNVTFRJTkcg
RlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTgor
ICogT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklT
SU5HIE9VVCBPRgorICogT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFO
Q0UgT0YgVEhJUyBTT0ZUV0FSRS4gIAorICogRXhjZXB0IGFzIGNvbnRhaW5lZCBpbiB0aGlzIG5v
dGljZSwgdGhlIG5hbWUgb2YgYSBjb3B5cmlnaHQKKyAqIGhvbGRlciBzaGFsbCBub3QgYmUgdXNl
ZCBpbiBhZHZlcnRpc2luZyBvciBvdGhlcndpc2UgdG8gcHJvbW90ZSB0aGUKKyAqIHNhbGUsIHVz
ZSBvciBvdGhlciBkZWFsaW5ncyBpbiB0aGlzIFNvZnR3YXJlIHdpdGhvdXQgcHJpb3Igd3JpdHRl
bgorICogYXV0aG9yaXphdGlvbiBvZiB0aGUgY29weXJpZ2h0IGhvbGRlci4KKyovCisKKyNpZm5k
ZWYgVVNDUklQVF9DT0RFX0gKKyNkZWZpbmUgVVNDUklQVF9DT0RFX0gKKworLyoqCisgKiBDb25z
dGFudHMgZm9yIFVuaWNvZGUgc2NyaXB0IHZhbHVlcyBmcm9tIFNjcmlwdE5hbWVzLnR4dCAuCisg
Ki8KKworLyoqCisgKiBUaGUgVW5pY29kZSBzdGFuZGFyZCBkYXRhYmFzZSBkb2VzIG5vdCBoYXZl
IFNjcmlwdE5hbWVzLnR4dCBhbnkgbW9yZS4KKyAqIEluc3RlYWQsIGl0IGhhcyBTY3JpcHRzLnR4
dCwgZnJvbSB3aGljaCB0aGUgbGlzdCBvZiBzY3JpcHQgbmFtZXMgY2FuIGJlCisgKiBkZXJpdmVk
LiBUaGUgbGlzdCBjYW4gYWxzbyBiZSBkZXJpdmVkIGZyb20gdGhlIENMRFIgKENvbW1vbiBMb2Nh
bGUgRGF0YQorICogUmVwb3NpdG9yeSkuCisgKiBIb3dldmVyLCB0aGUgb3JkZXIgb2YgdGhlIGxp
c3QgZGVyaXZlZCBmcm9tIGVpdGhlciBzb3VyY2Ugd2lsbCBiZSBkaWZmZXJlbnQKKyAqIGZyb20g
dGhlIG9yZGVyIGluIHRoaXMgZmlsZSwgd2hpY2ggaXMgdGhlIHNhbWUgYXMgSUNVJ3MKKyAqIGNv
bW1vbi91bmljb2RlL3VzY3JpcHQuaC4gVG8ga2VlcCB0aGUgYmFja3dhcmQgY29tcGF0aWJpbGl0
eSwgSUNVJ3MKKyAqIHVzY3JpcHQuaCBhZGQgbmV3IHNjcmlwdCBjb2RlcyBhdCB0aGUgZW5kIG9m
IGV4aXN0aW5nIGVudHJpZXMgCisgKiBpbnN0ZWFkIG9mIHNvcnRpbmcgdGhlbSBldmVyeXRpbWUg
aXQncyB1cGRhdGVkLiAKKyAqLwordHlwZWRlZiBlbnVtIFVTY3JpcHRDb2RlIHsKKyAgICAgIFVT
Q1JJUFRfSU5WQUxJRF9DT0RFID0gLTEsCisgICAgICBVU0NSSVBUX0NPTU1PTiAgICAgICA9ICAw
ICwgLyogWnl5eSAqLworICAgICAgVVNDUklQVF9JTkhFUklURUQgICAgPSAgMSwgIC8qIFFhYWkg
Ki8KKyAgICAgIFVTQ1JJUFRfQVJBQklDICAgICAgID0gIDIsICAvKiBBcmFiICovCisgICAgICBV
U0NSSVBUX0FSTUVOSUFOICAgICA9ICAzLCAgLyogQXJtbiAqLworICAgICAgVVNDUklQVF9CRU5H
QUxJICAgICAgPSAgNCwgIC8qIEJlbmcgKi8KKyAgICAgIFVTQ1JJUFRfQk9QT01PRk8gICAgID0g
IDUsICAvKiBCb3BvICovCisgICAgICBVU0NSSVBUX0NIRVJPS0VFICAgICA9ICA2LCAgLyogQ2hl
ciAqLworICAgICAgVVNDUklQVF9DT1BUSUMgICAgICAgPSAgNywgIC8qIENvcHQgKi8KKyAgICAg
IFVTQ1JJUFRfQ1lSSUxMSUMgICAgID0gIDgsICAvKiBDeXJsIChDeXJzKSAqLworICAgICAgVVND
UklQVF9ERVNFUkVUICAgICAgPSAgOSwgIC8qIERzcnQgKi8KKyAgICAgIFVTQ1JJUFRfREVWQU5B
R0FSSSAgID0gMTAsICAvKiBEZXZhICovCisgICAgICBVU0NSSVBUX0VUSElPUElDICAgICA9IDEx
LCAgLyogRXRoaSAqLworICAgICAgVVNDUklQVF9HRU9SR0lBTiAgICAgPSAxMiwgIC8qIEdlb3Ig
KEdlb24sIEdlb2EpICovCisgICAgICBVU0NSSVBUX0dPVEhJQyAgICAgICA9IDEzLCAgLyogR290
aCAqLworICAgICAgVVNDUklQVF9HUkVFSyAgICAgICAgPSAxNCwgIC8qIEdyZWsgKi8KKyAgICAg
IFVTQ1JJUFRfR1VKQVJBVEkgICAgID0gMTUsICAvKiBHdWpyICovCisgICAgICBVU0NSSVBUX0dV
Uk1VS0hJICAgICA9IDE2LCAgLyogR3VydSAqLworICAgICAgVVNDUklQVF9IQU4gICAgICAgICAg
PSAxNywgIC8qIEhhbmkgKi8KKyAgICAgIFVTQ1JJUFRfSEFOR1VMICAgICAgID0gMTgsICAvKiBI
YW5nICovCisgICAgICBVU0NSSVBUX0hFQlJFVyAgICAgICA9IDE5LCAgLyogSGViciAqLworICAg
ICAgVVNDUklQVF9ISVJBR0FOQSAgICAgPSAyMCwgIC8qIEhpcmEgKi8KKyAgICAgIFVTQ1JJUFRf
S0FOTkFEQSAgICAgID0gMjEsICAvKiBLbmRhICovCisgICAgICBVU0NSSVBUX0tBVEFLQU5BICAg
ICA9IDIyLCAgLyogS2FuYSAqLworICAgICAgVVNDUklQVF9LSE1FUiAgICAgICAgPSAyMywgIC8q
IEtobXIgKi8KKyAgICAgIFVTQ1JJUFRfTEFPICAgICAgICAgID0gMjQsICAvKiBMYW9vICovCisg
ICAgICBVU0NSSVBUX0xBVElOICAgICAgICA9IDI1LCAgLyogTGF0biAoTGF0ZiwgTGF0ZykgKi8K
KyAgICAgIFVTQ1JJUFRfTUFMQVlBTEFNICAgID0gMjYsICAvKiBNbHltICovCisgICAgICBVU0NS
SVBUX01PTkdPTElBTiAgICA9IDI3LCAgLyogTW9uZyAqLworICAgICAgVVNDUklQVF9NWUFOTUFS
ICAgICAgPSAyOCwgIC8qIE15bXIgKi8KKyAgICAgIFVTQ1JJUFRfT0dIQU0gICAgICAgID0gMjks
ICAvKiBPZ2FtICovCisgICAgICBVU0NSSVBUX09MRF9JVEFMSUMgICA9IDMwLCAgLyogSXRhbCAq
LworICAgICAgVVNDUklQVF9PUklZQSAgICAgICAgPSAzMSwgIC8qIE9yeWEgKi8KKyAgICAgIFVT
Q1JJUFRfUlVOSUMgICAgICAgID0gMzIsICAvKiBSdW5yICovCisgICAgICBVU0NSSVBUX1NJTkhB
TEEgICAgICA9IDMzLCAgLyogU2luaCAqLworICAgICAgVVNDUklQVF9TWVJJQUMgICAgICAgPSAz
NCwgIC8qIFN5cmMgKFN5cmosIFN5cm4sIFN5cmUpICovCisgICAgICBVU0NSSVBUX1RBTUlMICAg
ICAgICA9IDM1LCAgLyogVGFtbCAqLworICAgICAgVVNDUklQVF9URUxVR1UgICAgICAgPSAzNiwg
IC8qIFRlbHUgKi8KKyAgICAgIFVTQ1JJUFRfVEhBQU5BICAgICAgID0gMzcsICAvKiBUaGFhICov
CisgICAgICBVU0NSSVBUX1RIQUkgICAgICAgICA9IDM4LCAgLyogVGhhaSAqLworICAgICAgVVND
UklQVF9USUJFVEFOICAgICAgPSAzOSwgIC8qIFRpYnQgKi8KKyAgICAgIC8qKiBDYW5hZGlhbl9B
Ym9yaWdpbmFsIHNjcmlwdC4gQHN0YWJsZSBJQ1UgMi42ICovCisgICAgICBVU0NSSVBUX0NBTkFE
SUFOX0FCT1JJR0lOQUwgPSA0MCwgIC8qIENhbnMgKi8KKyAgICAgIC8qKiBDYW5hZGlhbl9BYm9y
aWdpbmFsIHNjcmlwdCAoYWxpYXMpLiBAc3RhYmxlIElDVSAyLjIgKi8KKyAgICAgIFVTQ1JJUFRf
VUNBUyAgICAgICAgID0gVVNDUklQVF9DQU5BRElBTl9BQk9SSUdJTkFMLAorICAgICAgVVNDUklQ
VF9ZSSAgICAgICAgICAgPSA0MSwgIC8qIFlpaWkgKi8KKyAgICAgIFVTQ1JJUFRfVEFHQUxPRyAg
ICAgID0gNDIsICAvKiBUZ2xnICovCisgICAgICBVU0NSSVBUX0hBTlVOT08gICAgICA9IDQzLCAg
LyogSGFubyAqLworICAgICAgVVNDUklQVF9CVUhJRCAgICAgICAgPSA0NCwgIC8qIEJ1aGQgKi8K
KyAgICAgIFVTQ1JJUFRfVEFHQkFOV0EgICAgID0gNDUsICAvKiBUYWdiICovCisKKyAgICAgIC8q
IE5ldyBzY3JpcHRzIGluIFVuaWNvZGUgNCBAc3RhYmxlIElDVSAyLjYgKi8KKyAgICAgIFVTQ1JJ
UFRfQlJBSUxMRSAgICAgID0gNDYsICAvKiBCcmFpICovCisgICAgICBVU0NSSVBUX0NZUFJJT1Qg
ICAgICA9IDQ3LCAgLyogQ3BydCAqLworICAgICAgVVNDUklQVF9MSU1CVSAgICAgICAgPSA0OCwg
IC8qIExpbWIgKi8KKyAgICAgIFVTQ1JJUFRfTElORUFSX0IgICAgID0gNDksICAvKiBMaW5iICov
CisgICAgICBVU0NSSVBUX09TTUFOWUEgICAgICA9IDUwLCAgLyogT3NtYSAqLworICAgICAgVVND
UklQVF9TSEFWSUFOICAgICAgPSA1MSwgIC8qIFNoYXcgKi8KKyAgICAgIFVTQ1JJUFRfVEFJX0xF
ICAgICAgID0gNTIsICAvKiBUYWxlICovCisgICAgICBVU0NSSVBUX1VHQVJJVElDICAgICA9IDUz
LCAgLyogVWdhciAqLworCisgICAgICAvKiogTmV3IHNjcmlwdCBjb2RlIGluIFVuaWNvZGUgNC4w
LjEgQHN0YWJsZSBJQ1UgMy4wICovCisgICAgICBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5B
ID0gNTQsLypIcmt0ICovCisgICAgICAKKyAgICAgIC8qIE5ldyBzY3JpcHRzIGluIFVuaWNvZGUg
NC4xIEBzdGFibGUgSUNVIDMuNCAqLworICAgICAgVVNDUklQVF9CVUdJTkVTRSAgICAgID0gNTUs
IC8qIEJ1Z2kgKi8KKyAgICAgIFVTQ1JJUFRfR0xBR09MSVRJQyAgICA9IDU2LCAvKiBHbGFnICov
CisgICAgICBVU0NSSVBUX0tIQVJPU0hUSEkgICAgPSA1NywgLyogS2hhciAqLworICAgICAgVVND
UklQVF9TWUxPVElfTkFHUkkgID0gNTgsIC8qIFN5bG8gKi8KKyAgICAgIFVTQ1JJUFRfTkVXX1RB
SV9MVUUgICA9IDU5LCAvKiBUYWx1ICovCisgICAgICBVU0NSSVBUX1RJRklOQUdIICAgICAgPSA2
MCwgLyogVGZuZyAqLworICAgICAgVVNDUklQVF9PTERfUEVSU0lBTiAgID0gNjEsIC8qIFhwZW8g
Ki8KKworICAgICAgLyogTmV3IHNjcmlwdCBjb2RlcyBmcm9tIElTTyAxNTkyNCBAc3RhYmxlIElD
VSAzLjYgKi8KKyAgICAgIFVTQ1JJUFRfQkFMSU5FU0UgICAgICAgICAgICAgICAgICAgICAgPSA2
MiwgLyogQmFsaSAqLworICAgICAgVVNDUklQVF9CQVRBSyAgICAgICAgICAgICAgICAgICAgICAg
ICA9IDYzLCAvKiBCYXRrICovCisgICAgICBVU0NSSVBUX0JMSVNTWU1CT0xTICAgICAgICAgICAg
ICAgICAgID0gNjQsIC8qIEJsaXMgKi8KKyAgICAgIFVTQ1JJUFRfQlJBSE1JICAgICAgICAgICAg
ICAgICAgICAgICAgPSA2NSwgLyogQnJhaCAqLworICAgICAgVVNDUklQVF9DSEFNICAgICAgICAg
ICAgICAgICAgICAgICAgICA9IDY2LCAvKiBDaGFtICovCisgICAgICBVU0NSSVBUX0NJUlRIICAg
ICAgICAgICAgICAgICAgICAgICAgID0gNjcsIC8qIENpcnQgKi8KKyAgICAgIFVTQ1JJUFRfT0xE
X0NIVVJDSF9TTEFWT05JQ19DWVJJTExJQyAgPSA2OCwgLyogQ3lycyAqLworICAgICAgVVNDUklQ
VF9ERU1PVElDX0VHWVBUSUFOICAgICAgICAgICAgICA9IDY5LCAvKiBFZ3lkICovCisgICAgICBV
U0NSSVBUX0hJRVJBVElDX0VHWVBUSUFOICAgICAgICAgICAgID0gNzAsIC8qIEVneWggKi8KKyAg
ICAgIFVTQ1JJUFRfRUdZUFRJQU5fSElFUk9HTFlQSFMgICAgICAgICAgPSA3MSwgLyogRWd5cCAq
LworICAgICAgVVNDUklQVF9LSFVUU1VSSSAgICAgICAgICAgICAgICAgICAgICA9IDcyLCAvKiBH
ZW9rICovCisgICAgICBVU0NSSVBUX1NJTVBMSUZJRURfSEFOICAgICAgICAgICAgICAgID0gNzMs
IC8qIEhhbnMgKi8KKyAgICAgIFVTQ1JJUFRfVFJBRElUSU9OQUxfSEFOICAgICAgICAgICAgICAg
PSA3NCwgLyogSGFudCAqLworICAgICAgVVNDUklQVF9QQUhBV0hfSE1PTkcgICAgICAgICAgICAg
ICAgICA9IDc1LCAvKiBIbW5nICovCisgICAgICBVU0NSSVBUX09MRF9IVU5HQVJJQU4gICAgICAg
ICAgICAgICAgID0gNzYsIC8qIEh1bmcgKi8KKyAgICAgIFVTQ1JJUFRfSEFSQVBQQU5fSU5EVVMg
ICAgICAgICAgICAgICAgPSA3NywgLyogSW5kcyAqLworICAgICAgVVNDUklQVF9KQVZBTkVTRSAg
ICAgICAgICAgICAgICAgICAgICA9IDc4LCAvKiBKYXZhICovCisgICAgICBVU0NSSVBUX0tBWUFI
X0xJICAgICAgICAgICAgICAgICAgICAgID0gNzksIC8qIEthbGkgKi8KKyAgICAgIFVTQ1JJUFRf
TEFUSU5fRlJBS1RVUiAgICAgICAgICAgICAgICAgPSA4MCwgLyogTGF0ZiAqLworICAgICAgVVND
UklQVF9MQVRJTl9HQUVMSUMgICAgICAgICAgICAgICAgICA9IDgxLCAvKiBMYXRnICovCisgICAg
ICBVU0NSSVBUX0xFUENIQSAgICAgICAgICAgICAgICAgICAgICAgID0gODIsIC8qIExlcGMgKi8K
KyAgICAgIFVTQ1JJUFRfTElORUFSX0EgICAgICAgICAgICAgICAgICAgICAgPSA4MywgLyogTGlu
YSAqLworICAgICAgVVNDUklQVF9NQU5EQUVBTiAgICAgICAgICAgICAgICAgICAgICA9IDg0LCAv
KiBNYW5kICovCisgICAgICBVU0NSSVBUX01BWUFOX0hJRVJPR0xZUEhTICAgICAgICAgICAgID0g
ODUsIC8qIE1heWEgKi8KKyAgICAgIFVTQ1JJUFRfTUVST0lUSUMgICAgICAgICAgICAgICAgICAg
ICAgPSA4NiwgLyogTWVybyAqLworICAgICAgVVNDUklQVF9OS08gICAgICAgICAgICAgICAgICAg
ICAgICAgICA9IDg3LCAvKiBOa29vICovCisgICAgICBVU0NSSVBUX09SS0hPTiAgICAgICAgICAg
ICAgICAgICAgICAgID0gODgsIC8qIE9ya2ggKi8KKyAgICAgIFVTQ1JJUFRfT0xEX1BFUk1JQyAg
ICAgICAgICAgICAgICAgICAgPSA4OSwgLyogUGVybSAqLworICAgICAgVVNDUklQVF9QSEFHU19Q
QSAgICAgICAgICAgICAgICAgICAgICA9IDkwLCAvKiBQaGFnICovCisgICAgICBVU0NSSVBUX1BI
T0VOSUNJQU4gICAgICAgICAgICAgICAgICAgID0gOTEsIC8qIFBobnggKi8KKyAgICAgIFVTQ1JJ
UFRfUEhPTkVUSUNfUE9MTEFSRCAgICAgICAgICAgICAgPSA5MiwgLyogUGxyZCAqLworICAgICAg
VVNDUklQVF9ST05HT1JPTkdPICAgICAgICAgICAgICAgICAgICA9IDkzLCAvKiBSb3JvICovCisg
ICAgICBVU0NSSVBUX1NBUkFUSSAgICAgICAgICAgICAgICAgICAgICAgID0gOTQsIC8qIFNhcmEg
Ki8KKyAgICAgIFVTQ1JJUFRfRVNUUkFOR0VMT19TWVJJQUMgICAgICAgICAgICAgPSA5NSwgLyog
U3lyZSAqLworICAgICAgVVNDUklQVF9XRVNURVJOX1NZUklBQyAgICAgICAgICAgICAgICA9IDk2
LCAvKiBTeXJqICovCisgICAgICBVU0NSSVBUX0VBU1RFUk5fU1lSSUFDICAgICAgICAgICAgICAg
ID0gOTcsIC8qIFN5cm4gKi8KKyAgICAgIFVTQ1JJUFRfVEVOR1dBUiAgICAgICAgICAgICAgICAg
ICAgICAgPSA5OCwgLyogVGVuZyAqLworICAgICAgVVNDUklQVF9WQUkgICAgICAgICAgICAgICAg
ICAgICAgICAgICA9IDk5LCAvKiBWYWlpICovCisgICAgICBVU0NSSVBUX1ZJU0lCTEVfU1BFRUNI
ICAgICAgICAgICAgICAgID0gMTAwLCAvKiBWaXNwICovCisgICAgICBVU0NSSVBUX0NVTkVJRk9S
TSAgICAgICAgICAgICAgICAgICAgID0gMTAxLC8qIFhzdXggKi8KKyAgICAgIFVTQ1JJUFRfVU5X
UklUVEVOX0xBTkdVQUdFUyAgICAgICAgICAgPSAxMDIsLyogWnh4eCAqLworICAgICAgVVNDUklQ
VF9VTktOT1dOICAgICAgICAgICAgICAgICAgICAgICA9IDEwMywvKiBaenp6ICovIC8qIFVua25v
d249IkNvZGUgZm9yIHVuY29kZWQgc2NyaXB0IiwgZm9yIHVuYXNzaWduZWQgY29kZSBwb2ludHMg
Ki8KKworICAgICAgLyogTmV3IHNjcmlwdCBjb2RlcyBmcm9tIElTTyAxNTkyNCBAc3RhYmxlIElD
VSAzLjggKi8KKyAgICAgIFVTQ1JJUFRfQ0FSSUFOICAgICAgICAgICAgICAgICAgICAgICAgPSAx
MDQsLyogQ2FyaSAqLworICAgICAgVVNDUklQVF9KQVBBTkVTRSAgICAgICAgICAgICAgICAgICAg
ICA9IDEwNSwvKiBKcGFuICovCisgICAgICBVU0NSSVBUX0xBTk5BICAgICAgICAgICAgICAgICAg
ICAgICAgID0gMTA2LC8qIExhbmEgKi8KKyAgICAgIFVTQ1JJUFRfTFlDSUFOICAgICAgICAgICAg
ICAgICAgICAgICAgPSAxMDcsLyogTHljaSAqLworICAgICAgVVNDUklQVF9MWURJQU4gICAgICAg
ICAgICAgICAgICAgICAgICA9IDEwOCwvKiBMeWRpICovCisgICAgICBVU0NSSVBUX09MX0NISUtJ
ICAgICAgICAgICAgICAgICAgICAgID0gMTA5LC8qIE9sY2sgKi8KKyAgICAgIFVTQ1JJUFRfUkVK
QU5HICAgICAgICAgICAgICAgICAgICAgICAgPSAxMTAsLyogUmpuZyAqLworICAgICAgVVNDUklQ
VF9TQVVSQVNIVFJBICAgICAgICAgICAgICAgICAgICA9IDExMSwvKiBTYXVyICovCisgICAgICBV
U0NSSVBUX1NJR05fV1JJVElORyAgICAgICAgICAgICAgICAgID0gMTEyLC8qIFNnbncgKi8KKyAg
ICAgIFVTQ1JJUFRfU1VOREFORVNFICAgICAgICAgICAgICAgICAgICAgPSAxMTMsLyogU3VuZCAq
LworICAgICAgVVNDUklQVF9NT09OICAgICAgICAgICAgICAgICAgICAgICAgICA9IDExNCwvKiBN
b29uICovCisgICAgICBVU0NSSVBUX01FSVRFSV9NQVlFSyAgICAgICAgICAgICAgICAgID0gMTE1
LC8qIE10ZWkgKi8KKworICAgICAgLyogTmV3IHNjcmlwdCBjb2RlcyBmcm9tIElTTyAxNTkyNCBA
c3RhYmxlIElDVSA0LjAgKi8KKyAgICAgIFVTQ1JJUFRfSU1QRVJJQUxfQVJBTUFJQyAgICAgICAg
ICAgICAgPSAxMTYsLyogQXJtaSAqLworICAgICAgVVNDUklQVF9BVkVTVEFOICAgICAgICAgICAg
ICAgICAgICAgICA9IDExNywvKiBBdnN0ICovCisgICAgICBVU0NSSVBUX0NIQUtNQSAgICAgICAg
ICAgICAgICAgICAgICAgID0gMTE4LC8qIENha20gKi8KKyAgICAgIFVTQ1JJUFRfS09SRUFOICAg
ICAgICAgICAgICAgICAgICAgICAgPSAxMTksLyogS29yZSAqLworICAgICAgVVNDUklQVF9LQUlU
SEkgICAgICAgICAgICAgICAgICAgICAgICA9IDEyMCwvKiBLdGhpICovCisgICAgICBVU0NSSVBU
X01BTklDSEFFQU4gICAgICAgICAgICAgICAgICAgID0gMTIxLC8qIE1hbmkgKi8KKyAgICAgIFVT
Q1JJUFRfSU5TQ1JJUFRJT05BTF9QQUhMQVZJICAgICAgICAgPSAxMjIsLyogUGhsaSAqLworICAg
ICAgVVNDUklQVF9QU0FMVEVSX1BBSExBVkkgICAgICAgICAgICAgICA9IDEyMywvKiBQaGxwICov
CisgICAgICBVU0NSSVBUX0JPT0tfUEFITEFWSSAgICAgICAgICAgICAgICAgID0gMTI0LC8qIFBo
bHYgKi8KKyAgICAgIFVTQ1JJUFRfSU5TQ1JJUFRJT05BTF9QQVJUSElBTiAgICAgICAgPSAxMjUs
LyogUHJ0aSAqLworICAgICAgVVNDUklQVF9TQU1BUklUQU4gICAgICAgICAgICAgICAgICAgICA9
IDEyNiwvKiBTYW1yICovCisgICAgICBVU0NSSVBUX1RBSV9WSUVUICAgICAgICAgICAgICAgICAg
ICAgID0gMTI3LC8qIFRhdnQgKi8KKyAgICAgIFVTQ1JJUFRfTUFUSEVNQVRJQ0FMX05PVEFUSU9O
ICAgICAgICAgPSAxMjgsLyogWm10aCAqLworICAgICAgVVNDUklQVF9TWU1CT0xTICAgICAgICAg
ICAgICAgICAgICAgICA9IDEyOSwvKiBac3ltICovCisKKyAgICAgIC8qIFByaXZhdGUgdXNlIGNv
ZGVzIGZyb20gUWFhYSAtIFFhYnggYXJlIG5vdCBzdXBwb3J0ZWQqLworICAgICAgVVNDUklQVF9D
T0RFX0xJTUlUICAgID0gMTMwCit9IFVTY3JpcHRDb2RlOworCisjZW5kaWYgCg==
</data>
<flag name="review"
          id="19571"
          type_id="1"
          status="-"
          setter="abarth"
    />
    <flag name="commit-queue"
          id="21982"
          type_id="3"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>49957</attachid>
            <date>2010-03-03 15:40:36 -0800</date>
            <delta_ts>2010-03-30 23:13:11 -0700</delta_ts>
            <desc>patch with WebCore.base.exp (missing in the previous patch)</desc>
            <filename>20797.patch.4c</filename>
            <type>text/plain</type>
            <size>33366</size>
            <attacher name="Jungshik Shin">jshin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTQ4MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMTAtMDMtMDMgIEp1bmdzaGlrIFNoaW4gIDxqc2hpbkBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCisKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzk3CisKKyAgICAgICAgTWFr
ZSBnZW5lcmljIGZvbnQgZmFtaWx5IGdldHRlcnMvc2V0dGVycyBhY2NlcHQgYW4gYWRkaXRpb25h
bAorICAgICAgICBhcmd1bWVudCAoc2NyaXB0IGNvZGUpLiBJdCBoYXMgYSBkZWZhdWx0IHZhbHVl
IHNvIHRoYXQgaWYgYW4gZW1iZWRkZXIKKyAgICAgICAgZG9lcyBub3QgaGF2ZS93YW50IGEgcGVy
LXNjcmlwdCBmb250IGZhbWlseSBzZXR0aW5nLCBjYWxsLXNpdGVzCisgICAgICAgIGRvbid0IGhh
dmUgdG8gYmUgY2hhbmdlZC4KKyAgICAgICAgVGhpcyBpcyB0byBwcmVwYXJlIGZvciBmaXhpbmcg
YnVnIDEwODc0IChmb250IHNlbGVjdGlvbiBpcyBub3QKKyAgICAgICAgbGFuZ3VhZ2UtZGVwZW5k
ZW50KSBhbmQgYnVnIDE4MDg1LgorCisgICAgICAgIFRoZXJlIHNob3VsZCBiZSBubyBjaGFuZ2Ug
aW4gbGF5b3V0IGFuZCBubyBuZXcgbGF5b3V0IHRlc3QKKyAgICAgICAgaXMgYWRkZWQuCisKKyAg
ICAgICAgKiBXZWJDb3JlLmJhc2UuZXhwOiBDaGFuZ2UgdGhlIHN5bWJvbCBuYW1lcyBmb3IgZ2Vu
ZXJpYyBmb250IGZhbWlseSBnZXR0ZXIvc2V0dGVycy4KKyAgICAgICAgKiBwYWdlL1NldHRpbmdz
LmNwcDogQWRkIGEgcGFyYW1ldGVyIChTY3JpcHRDb2RlKSB0byBnZW5lcmljIGZvbnQgZmFtaWx5
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldHRlci9zZXR0ZXJzLiAKKyAgICAgICAg
KiBwYWdlL1NldHRpbmdzLmg6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9VU2NyaXB0Q29kZS5o
OiBBZGRlZC4gVGhpcyBpcyBmb3IgcG9ydHMgdGhhdAorICAgICAgICAgIGRvIG5vdCB1c2UgSUNV
LiB0aGUgcGFydCBvZiBJQ1UncyBjb21tb24vdW5pY29kZS91c2NyaXB0LmgKKyAgICAgICAgICB0
aGF0IGRlZmluZXMgc2NyaXB0IGNvZGUgZW51bSB3YXMgY29waWVkLiBUbyBrZWVwIGVudW1zIGNv
bXBhdGlibGUKKyAgICAgICAgICB3aXRoIHRob3NlIGluIElDVSwgd2UgZG9uJ3QgZ2VuZXJhdGUg
dGhlIGxpc3Qgb3V0IG9mIFNjcmlwdHMudHh0CisgICAgICAgICAgb2YgdGhlIFVuaWNvZGUgRGF0
YSBiYXNlIG9yIENMRFIncyBkYXRhLgorCiAyMDEwLTAzLTAzICBEdW1pdHJ1IERhbmlsaXVjICA8
ZHVtaUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgbm9ib2R5LCBidWlsZCBm
aXguCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9XZWJDb3JlLmJhc2UuZXhwCShyZXZpc2lvbiA1NTQ4MCkKKysrIFdlYkNvcmUvV2ViQ29yZS5i
YXNlLmV4cAkod29ya2luZyBjb3B5KQpAQCAtNjMyLDIwICs2MzIsMjAgQEAgX19aTjdXZWJDb3Jl
OFNldHRpbmdzMTZzZXRVc2VzUGFnZUNhY2hlRQogX19aTjdXZWJDb3JlOFNldHRpbmdzMTdzZXRQ
bHVnaW5zRW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldERPTVBhc3RlQWxsb3dl
ZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldERlZmF1bHRGb250U2l6ZUVpCi1fX1pON1dl
YkNvcmU4U2V0dGluZ3MxOHNldEZpeGVkRm9udEZhbWlseUVSS05TXzEyQXRvbWljU3RyaW5nRQor
X19aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRGaXhlZEZvbnRGYW1pbHlFUktOU18xMkF0b21pY1N0
cmluZ0UxMVVTY3JpcHRDb2RlCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldE1pbmltdW1Gb250
U2l6ZUVpCi1fX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldFNlcmlmRm9udEZhbWlseUVSS05TXzEy
QXRvbWljU3RyaW5nRQorX19aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRTZXJpZkZvbnRGYW1pbHlF
UktOU18xMkF0b21pY1N0cmluZ0UxMVVTY3JpcHRDb2RlCiBfX1pON1dlYkNvcmU4U2V0dGluZ3Mx
OXNldERhdGFiYXNlc0VuYWJsZWRFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMTlzZXRTaG93RGVi
dWdCb3JkZXJzRWIKLV9fWk43V2ViQ29yZThTZXR0aW5nczIwc2V0Q3Vyc2l2ZUZvbnRGYW1pbHlF
UktOU18xMkF0b21pY1N0cmluZ0UKLV9fWk43V2ViQ29yZThTZXR0aW5nczIwc2V0RmFudGFzeUZv
bnRGYW1pbHlFUktOU18xMkF0b21pY1N0cmluZ0UKK19fWk43V2ViQ29yZThTZXR0aW5nczIwc2V0
Q3Vyc2l2ZUZvbnRGYW1pbHlFUktOU18xMkF0b21pY1N0cmluZ0UxMVVTY3JpcHRDb2RlCitfX1pO
N1dlYkNvcmU4U2V0dGluZ3MyMHNldEZhbnRhc3lGb250RmFtaWx5RVJLTlNfMTJBdG9taWNTdHJp
bmdFMTFVU2NyaXB0Q29kZQogX19aTjdXZWJDb3JlOFNldHRpbmdzMjBzZXRKYXZhU2NyaXB0RW5h
YmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMHNldFhTU0F1ZGl0b3JFbmFibGVkRWIKIF9f
Wk43V2ViQ29yZThTZXR0aW5nczIxc2V0U2hvd1JlcGFpbnRDb3VudGVyRWIKLV9fWk43V2ViQ29y
ZThTZXR0aW5nczIxc2V0U3RhbmRhcmRGb250RmFtaWx5RVJLTlNfMTJBdG9taWNTdHJpbmdFCitf
X1pON1dlYkNvcmU4U2V0dGluZ3MyMXNldFN0YW5kYXJkRm9udEZhbWlseUVSS05TXzEyQXRvbWlj
U3RyaW5nRTExVVNjcmlwdENvZGUKIF9fWk43V2ViQ29yZThTZXR0aW5nczIxc2V0V2ViU2VjdXJp
dHlFbmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczIyc2V0TG9jYWxTdG9yYWdlRW5hYmxl
ZEViCi1fX1pON1dlYkNvcmU4U2V0dGluZ3MyMnNldFNhbnNTZXJpZkZvbnRGYW1pbHlFUktOU18x
MkF0b21pY1N0cmluZ0UKK19fWk43V2ViQ29yZThTZXR0aW5nczIyc2V0U2Fuc1NlcmlmRm9udEZh
bWlseUVSS05TXzEyQXRvbWljU3RyaW5nRTExVVNjcmlwdENvZGUKIF9fWk43V2ViQ29yZThTZXR0
aW5nczIyc2V0U2hvd3NVUkxzSW5Ub29sVGlwc0ViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyM3Nl
dERlZmF1bHRGaXhlZEZvbnRTaXplRWkKIF9fWk43V2ViQ29yZThTZXR0aW5nczIzc2V0RWRpdGFi
bGVMaW5rQmVoYXZpb3JFTlNfMjBFZGl0YWJsZUxpbmtCZWhhdmlvckUKQEAgLTk4NSw2ICs5ODUs
MTIgQEAgX19aTks3V2ViQ29yZThQb3NpdGlvbjEwZG93bnN0cmVhbUVOUzBfMgogX19aTks3V2Vi
Q29yZThQb3NpdGlvbjI1bGVhZGluZ1doaXRlc3BhY2VQb3NpdGlvbkVOU185RUFmZmluaXR5RWIK
IF9fWk5LN1dlYkNvcmU4UG9zaXRpb24yNnRyYWlsaW5nV2hpdGVzcGFjZVBvc2l0aW9uRU5TXzlF
QWZmaW5pdHlFYgogX19aTks3V2ViQ29yZThQb3NpdGlvbjh1cHN0cmVhbUVOUzBfMjdFZGl0aW5n
Qm91bmRhcnlDcm9zc2luZ1J1bGVFCitfX1pOSzdXZWJDb3JlOFNldHRpbmdzMTVmaXhlZEZvbnRG
YW1pbHlFMTFVU2NyaXB0Q29kZQorX19aTks3V2ViQ29yZThTZXR0aW5nczE1c2VyaWZGb250RmFt
aWx5RTExVVNjcmlwdENvZGUKK19fWk5LN1dlYkNvcmU4U2V0dGluZ3MxN2N1cnNpdmVGb250RmFt
aWx5RTExVVNjcmlwdENvZGUKK19fWk5LN1dlYkNvcmU4U2V0dGluZ3MxN2ZhbnRhc3lGb250RmFt
aWx5RTExVVNjcmlwdENvZGUKK19fWk5LN1dlYkNvcmU4U2V0dGluZ3MxOHN0YW5kYXJkRm9udEZh
bWlseUUxMVVTY3JpcHRDb2RlCitfX1pOSzdXZWJDb3JlOFNldHRpbmdzMTlzYW5zU2VyaWZGb250
RmFtaWx5RTExVVNjcmlwdENvZGUKIF9fWk5LN1dlYkNvcmU5RE9NV2luZG93MjdwZW5kaW5nVW5s
b2FkRXZlbnRMaXN0ZW5lcnNFdgogX19aTks3V2ViQ29yZTlGbG9hdFJlY3RjdjdfTlNSZWN0RXYK
IF9fWk5LN1dlYkNvcmU5RnJhbWVUcmVlMTJ0cmF2ZXJzZU5leHRFUEtOU181RnJhbWVFCkluZGV4
OiBXZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5jcHAJKHJldmlzaW9uIDU1NDgwKQorKysgV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDYsNiArNDYsMjIgQEAgc3RhdGljIHZvaWQgc2V0TmVlZHNS
ZWFwcGx5U3R5bGVzSW5BbGxGcgogICAgICAgICBmcmFtZS0+c2V0TmVlZHNSZWFwcGx5U3R5bGVz
KCk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgdm9pZCBzZXRHZW5lcmljRm9udEZhbWlseU1hcChTY3Jp
cHRGb250RmFtaWx5TWFwJiBmb250TWFwLCBjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSwgVVNj
cmlwdENvZGUgc2NyaXB0LCBQYWdlKiBwYWdlKQoreworICAgIC8vIFVTQ1JJUFRfSU5WQUxJRF9D
T0RFIGlzIC0xIGFuZCBVU1JJVFBfQ09NTU9OIGlzIDAsIHdoaWNoIGFyZSBzcGVjaWFsIChkZWxl
dGVkIGFuZCBlbXB0eSkgaW4gSGFzaE1hcCB3aXRoIGludCBrZXlzLgorICAgIC8vIFRvIGF2b2lk
IHVzaW5nIC0xIGFuZCAwIGFzIGEga2V5LCB3ZSBhZGQgMi4gCisgICAgaWYgKGZvbnRNYXAuc2V0
KHN0YXRpY19jYXN0PGludD4oc2NyaXB0KSArIDIsIGZhbWlseSkuc2Vjb25kKQorICAgICAgICBz
ZXROZWVkc1JlYXBwbHlTdHlsZXNJbkFsbEZyYW1lcyhwYWdlKTsKK30KKworc3RhdGljIGlubGlu
ZSBjb25zdCBBdG9taWNTdHJpbmcmIGdldEdlbmVyaWNGb250RmFtaWx5Rm9yU2NyaXB0KGNvbnN0
IFNjcmlwdEZvbnRGYW1pbHlNYXAmIGZvbnRNYXAsIFVTY3JpcHRDb2RlIHNjcmlwdCkgCit7Cisg
ICAgU2NyaXB0Rm9udEZhbWlseU1hcDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBmb250TWFwLmZpbmQo
c3RhdGljX2Nhc3Q8aW50PihzY3JpcHQpICsgMik7CisgICAgaWYgKGl0ICE9IGZvbnRNYXAuZW5k
KCkpCisgICAgICAgIHJldHVybiBpdC0+c2Vjb25kOworICAgIHJldHVybiBlbXB0eUF0b207Cit9
CisKICNpZiBVU0UoU0FGQVJJX1RIRU1FKQogYm9vbCBTZXR0aW5nczo6Z1Nob3VsZFBhaW50TmF0
aXZlQ29udHJvbHMgPSB0cnVlOwogI2VuZGlmCkBAIC0xMzEsNTggKzE0Nyw2MiBAQCBTZXR0aW5n
czo6U2V0dGluZ3MoUGFnZSogcGFnZSkKICAgICBBdG9taWNTdHJpbmc6OmluaXQoKTsKIH0KIAot
dm9pZCBTZXR0aW5nczo6c2V0U3RhbmRhcmRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYg
c3RhbmRhcmRGb250RmFtaWx5KQorY29uc3QgQXRvbWljU3RyaW5nJiBTZXR0aW5nczo6c3RhbmRh
cmRGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKIHsKLSAgICBpZiAoc3RhbmRh
cmRGb250RmFtaWx5ID09IG1fc3RhbmRhcmRGb250RmFtaWx5KQotICAgICAgICByZXR1cm47Cisg
ICAgcmV0dXJuIGdldEdlbmVyaWNGb250RmFtaWx5Rm9yU2NyaXB0KG1fc3RhbmRhcmRGb250RmFt
aWx5TWFwLCBzY3JpcHQpOworfQogCi0gICAgbV9zdGFuZGFyZEZvbnRGYW1pbHkgPSBzdGFuZGFy
ZEZvbnRGYW1pbHk7Ci0gICAgc2V0TmVlZHNSZWFwcGx5U3R5bGVzSW5BbGxGcmFtZXMobV9wYWdl
KTsKK3ZvaWQgU2V0dGluZ3M6OnNldFN0YW5kYXJkRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJp
bmcmIGZhbWlseSwgVVNjcmlwdENvZGUgc2NyaXB0KQoreworICAgIHNldEdlbmVyaWNGb250RmFt
aWx5TWFwKG1fc3RhbmRhcmRGb250RmFtaWx5TWFwLCBmYW1pbHksIHNjcmlwdCwgbV9wYWdlKTsK
IH0KIAotdm9pZCBTZXR0aW5nczo6c2V0Rml4ZWRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmlu
ZyYgZml4ZWRGb250RmFtaWx5KQorY29uc3QgQXRvbWljU3RyaW5nJiBTZXR0aW5nczo6Zml4ZWRG
b250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKIHsKLSAgICBpZiAobV9maXhlZEZv
bnRGYW1pbHkgPT0gZml4ZWRGb250RmFtaWx5KQotICAgICAgICByZXR1cm47Ci0gICAgICAgIAot
ICAgIG1fZml4ZWRGb250RmFtaWx5ID0gZml4ZWRGb250RmFtaWx5OwotICAgIHNldE5lZWRzUmVh
cHBseVN0eWxlc0luQWxsRnJhbWVzKG1fcGFnZSk7CisgICAgcmV0dXJuIGdldEdlbmVyaWNGb250
RmFtaWx5Rm9yU2NyaXB0KG1fZml4ZWRGb250RmFtaWx5TWFwLCBzY3JpcHQpOwogfQogCi12b2lk
IFNldHRpbmdzOjpzZXRTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBzZXJpZkZv
bnRGYW1pbHkpCit2b2lkIFNldHRpbmdzOjpzZXRGaXhlZEZvbnRGYW1pbHkoY29uc3QgQXRvbWlj
U3RyaW5nJiBmYW1pbHksIFVTY3JpcHRDb2RlIHNjcmlwdCkKIHsKLSAgICBpZiAobV9zZXJpZkZv
bnRGYW1pbHkgPT0gc2VyaWZGb250RmFtaWx5KQotICAgICAgICByZXR1cm47Ci0gICAgICAgIAot
ICAgIG1fc2VyaWZGb250RmFtaWx5ID0gc2VyaWZGb250RmFtaWx5OwotICAgIHNldE5lZWRzUmVh
cHBseVN0eWxlc0luQWxsRnJhbWVzKG1fcGFnZSk7CisgICAgc2V0R2VuZXJpY0ZvbnRGYW1pbHlN
YXAobV9maXhlZEZvbnRGYW1pbHlNYXAsIGZhbWlseSwgc2NyaXB0LCBtX3BhZ2UpOwogfQogCi12
b2lkIFNldHRpbmdzOjpzZXRTYW5zU2VyaWZGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYg
c2Fuc1NlcmlmRm9udEZhbWlseSkKK2NvbnN0IEF0b21pY1N0cmluZyYgU2V0dGluZ3M6OnNlcmlm
Rm9udEZhbWlseShVU2NyaXB0Q29kZSBzY3JpcHQpIGNvbnN0CiB7Ci0gICAgaWYgKG1fc2Fuc1Nl
cmlmRm9udEZhbWlseSA9PSBzYW5zU2VyaWZGb250RmFtaWx5KQotICAgICAgICByZXR1cm47Ci0g
ICAgICAgIAotICAgIG1fc2Fuc1NlcmlmRm9udEZhbWlseSA9IHNhbnNTZXJpZkZvbnRGYW1pbHk7
IAotICAgIHNldE5lZWRzUmVhcHBseVN0eWxlc0luQWxsRnJhbWVzKG1fcGFnZSk7CisgICAgcmV0
dXJuIGdldEdlbmVyaWNGb250RmFtaWx5Rm9yU2NyaXB0KG1fc2VyaWZGb250RmFtaWx5TWFwLCBz
Y3JpcHQpOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRDdXJzaXZlRm9udEZhbWlseShjb25zdCBB
dG9taWNTdHJpbmcmIGN1cnNpdmVGb250RmFtaWx5KQordm9pZCBTZXR0aW5nczo6c2V0U2VyaWZG
b250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5LCBVU2NyaXB0Q29kZSBzY3JpcHQp
CiB7Ci0gICAgaWYgKG1fY3Vyc2l2ZUZvbnRGYW1pbHkgPT0gY3Vyc2l2ZUZvbnRGYW1pbHkpCi0g
ICAgICAgIHJldHVybjsKLSAgICAgICAgCi0gICAgbV9jdXJzaXZlRm9udEZhbWlseSA9IGN1cnNp
dmVGb250RmFtaWx5OwotICAgIHNldE5lZWRzUmVhcHBseVN0eWxlc0luQWxsRnJhbWVzKG1fcGFn
ZSk7CisgICAgc2V0R2VuZXJpY0ZvbnRGYW1pbHlNYXAobV9zZXJpZkZvbnRGYW1pbHlNYXAsIGZh
bWlseSwgc2NyaXB0LCBtX3BhZ2UpOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIFNldHRpbmdz
OjpzYW5zU2VyaWZGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QgeworICAgIHJl
dHVybiBnZXRHZW5lcmljRm9udEZhbWlseUZvclNjcmlwdChtX3NhbnNTZXJpZkZvbnRGYW1pbHlN
YXAsIHNjcmlwdCk7CiB9CiAKLXZvaWQgU2V0dGluZ3M6OnNldEZhbnRhc3lGb250RmFtaWx5KGNv
bnN0IEF0b21pY1N0cmluZyYgZmFudGFzeUZvbnRGYW1pbHkpCit2b2lkIFNldHRpbmdzOjpzZXRT
YW5zU2VyaWZGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5LCBVU2NyaXB0Q29k
ZSBzY3JpcHQpCiB7Ci0gICAgaWYgKG1fZmFudGFzeUZvbnRGYW1pbHkgPT0gZmFudGFzeUZvbnRG
YW1pbHkpCi0gICAgICAgIHJldHVybjsKLSAgICAgICAgCi0gICAgbV9mYW50YXN5Rm9udEZhbWls
eSA9IGZhbnRhc3lGb250RmFtaWx5OwotICAgIHNldE5lZWRzUmVhcHBseVN0eWxlc0luQWxsRnJh
bWVzKG1fcGFnZSk7CisgICAgc2V0R2VuZXJpY0ZvbnRGYW1pbHlNYXAobV9zYW5zU2VyaWZGb250
RmFtaWx5TWFwLCBmYW1pbHksIHNjcmlwdCwgbV9wYWdlKTsKK30KKworY29uc3QgQXRvbWljU3Ry
aW5nJiBTZXR0aW5nczo6Y3Vyc2l2ZUZvbnRGYW1pbHkoVVNjcmlwdENvZGUgc2NyaXB0KSBjb25z
dCB7CisgICAgcmV0dXJuIGdldEdlbmVyaWNGb250RmFtaWx5Rm9yU2NyaXB0KG1fY3Vyc2l2ZUZv
bnRGYW1pbHlNYXAsIHNjcmlwdCk7Cit9CisKK3ZvaWQgU2V0dGluZ3M6OnNldEN1cnNpdmVGb250
RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5LCBVU2NyaXB0Q29kZSBzY3JpcHQpCit7
CisgICAgc2V0R2VuZXJpY0ZvbnRGYW1pbHlNYXAobV9jdXJzaXZlRm9udEZhbWlseU1hcCwgZmFt
aWx5LCBzY3JpcHQsIG1fcGFnZSk7Cit9CisKK2NvbnN0IEF0b21pY1N0cmluZyYgU2V0dGluZ3M6
OmZhbnRhc3lGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKK3sKKyAgICByZXR1
cm4gZ2V0R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQobV9mYW50YXN5Rm9udEZhbWlseU1hcCwg
c2NyaXB0KTsKK30KKwordm9pZCBTZXR0aW5nczo6c2V0RmFudGFzeUZvbnRGYW1pbHkoY29uc3Qg
QXRvbWljU3RyaW5nJiBmYW1pbHksIFVTY3JpcHRDb2RlIHNjcmlwdCkKK3sKKyAgICBzZXRHZW5l
cmljRm9udEZhbWlseU1hcChtX2ZhbnRhc3lGb250RmFtaWx5TWFwLCBmYW1pbHksIHNjcmlwdCwg
bV9wYWdlKTsKIH0KIAogdm9pZCBTZXR0aW5nczo6c2V0TWluaW11bUZvbnRTaXplKGludCBtaW5p
bXVtRm9udFNpemUpCkluZGV4OiBXZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAkocmV2aXNpb24gNTU0ODApCisrKyBXZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsOCArMjgsMTUgQEAKICNkZWZpbmUg
U2V0dGluZ3NfaAogCiAjaW5jbHVkZSAiQXRvbWljU3RyaW5nLmgiCisjaW5jbHVkZSAiQXRvbWlj
U3RyaW5nSGFzaC5oIgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSAi
S1VSTC5oIgorI2lmIFVTRShJQ1VfVU5JQ09ERSkKKyNpbmNsdWRlICJ1bmljb2RlL3VzY3JpcHQu
aCIKKyNlbHNlCisjaW5jbHVkZSAiVVNjcmlwdENvZGUuaCIKKyNlbmRpZgorI2luY2x1ZGUgPHd0
Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSAiWm9vbU1vZGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtNjUsMjcgKzcyLDI4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyBpZiBwb3Nz
aWJsZSBpbiB0aGUgZnV0dXJlLgogICAgIGVudW0gRWRpdGluZ0JlaGF2aW9yIHsgRWRpdGluZ01h
Y0JlaGF2aW9yLCBFZGl0aW5nV2luZG93c0JlaGF2aW9yIH07CiAKKyAgICB0eXBlZGVmIEhhc2hN
YXA8aW50LCBBdG9taWNTdHJpbmc+IFNjcmlwdEZvbnRGYW1pbHlNYXA7CisKICAgICBjbGFzcyBT
ZXR0aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICBTZXR0
aW5ncyhQYWdlKik7CisgICAgICAgIHZvaWQgc2V0U3RhbmRhcmRGb250RmFtaWx5KGNvbnN0IEF0
b21pY1N0cmluZyYsIFVTY3JpcHRDb2RlIHNjcmlwdD1VU0NSSVBUX0NPTU1PTik7CisgICAgICAg
IGNvbnN0IEF0b21pY1N0cmluZyYgc3RhbmRhcmRGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlw
dD1VU0NSSVBUX0NPTU1PTikgY29uc3Q7CiAKLSAgICAgICAgdm9pZCBzZXRTdGFuZGFyZEZvbnRG
YW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJik7Ci0gICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYg
c3RhbmRhcmRGb250RmFtaWx5KCkgY29uc3QgeyByZXR1cm4gbV9zdGFuZGFyZEZvbnRGYW1pbHk7
IH0KLQotICAgICAgICB2b2lkIHNldEZpeGVkRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcm
KTsKLSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBmaXhlZEZvbnRGYW1pbHkoKSBjb25zdCB7
IHJldHVybiBtX2ZpeGVkRm9udEZhbWlseTsgfQorICAgICAgICB2b2lkIHNldEZpeGVkRm9udEZh
bWlseShjb25zdCBBdG9taWNTdHJpbmcmLCBVU2NyaXB0Q29kZSBzY3JpcHQ9VVNDUklQVF9DT01N
T04pOworICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGZpeGVkRm9udEZhbWlseShVU2NyaXB0
Q29kZSBzY3JpcHQ9VVNDUklQVF9DT01NT04pIGNvbnN0OwogCi0gICAgICAgIHZvaWQgc2V0U2Vy
aWZGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYpOwotICAgICAgICBjb25zdCBBdG9taWNT
dHJpbmcmIHNlcmlmRm9udEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fc2VyaWZGb250RmFtaWx5
OyB9CisgICAgICAgIHZvaWQgc2V0U2VyaWZGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYs
IFVTY3JpcHRDb2RlIHNjcmlwdD1VU0NSSVBUX0NPTU1PTik7CisgICAgICAgIGNvbnN0IEF0b21p
Y1N0cmluZyYgc2VyaWZGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdD1VU0NSSVBUX0NPTU1P
TikgY29uc3Q7CiAKLSAgICAgICAgdm9pZCBzZXRTYW5zU2VyaWZGb250RmFtaWx5KGNvbnN0IEF0
b21pY1N0cmluZyYpOwotICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHNhbnNTZXJpZkZvbnRG
YW1pbHkoKSBjb25zdCB7IHJldHVybiBtX3NhbnNTZXJpZkZvbnRGYW1pbHk7IH0KKyAgICAgICAg
dm9pZCBzZXRTYW5zU2VyaWZGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYsIFVTY3JpcHRD
b2RlIHNjcmlwdD1VU0NSSVBUX0NPTU1PTik7CisgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYg
c2Fuc1NlcmlmRm9udEZhbWlseShVU2NyaXB0Q29kZSBzY3JpcHQ9VVNDUklQVF9DT01NT04pIGNv
bnN0OwogCi0gICAgICAgIHZvaWQgc2V0Q3Vyc2l2ZUZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3Ry
aW5nJik7Ci0gICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgY3Vyc2l2ZUZvbnRGYW1pbHkoKSBj
b25zdCB7IHJldHVybiBtX2N1cnNpdmVGb250RmFtaWx5OyB9CisgICAgICAgIHZvaWQgc2V0Q3Vy
c2l2ZUZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiwgVVNjcmlwdENvZGUgc2NyaXB0PVVT
Q1JJUFRfQ09NTU9OKTsKKyAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBjdXJzaXZlRm9udEZh
bWlseShVU2NyaXB0Q29kZSBzY3JpcHQ9VVNDUklQVF9DT01NT04pIGNvbnN0OwogCi0gICAgICAg
IHZvaWQgc2V0RmFudGFzeUZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJik7Ci0gICAgICAg
IGNvbnN0IEF0b21pY1N0cmluZyYgZmFudGFzeUZvbnRGYW1pbHkoKSBjb25zdCB7IHJldHVybiBt
X2ZhbnRhc3lGb250RmFtaWx5OyB9CisgICAgICAgIHZvaWQgc2V0RmFudGFzeUZvbnRGYW1pbHko
Y29uc3QgQXRvbWljU3RyaW5nJiwgVVNjcmlwdENvZGUgc2NyaXB0PVVTQ1JJUFRfQ09NTU9OKTsK
KyAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBmYW50YXN5Rm9udEZhbWlseShVU2NyaXB0Q29k
ZSBzY3JpcHQ9VVNDUklQVF9DT01NT04pIGNvbnN0OwogCiAgICAgICAgIHZvaWQgc2V0TWluaW11
bUZvbnRTaXplKGludCk7CiAgICAgICAgIGludCBtaW5pbXVtRm9udFNpemUoKSBjb25zdCB7IHJl
dHVybiBtX21pbmltdW1Gb250U2l6ZTsgfQpAQCAtMjk1LDEyICszMDMsMTQgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICBTdHJpbmcgbV9mdHBEaXJlY3RvcnlUZW1wbGF0ZVBhdGg7CiAg
ICAgICAgIFN0cmluZyBtX2xvY2FsU3RvcmFnZURhdGFiYXNlUGF0aDsKICAgICAgICAgS1VSTCBt
X3VzZXJTdHlsZVNoZWV0TG9jYXRpb247Ci0gICAgICAgIEF0b21pY1N0cmluZyBtX3N0YW5kYXJk
Rm9udEZhbWlseTsKLSAgICAgICAgQXRvbWljU3RyaW5nIG1fZml4ZWRGb250RmFtaWx5OwotICAg
ICAgICBBdG9taWNTdHJpbmcgbV9zZXJpZkZvbnRGYW1pbHk7Ci0gICAgICAgIEF0b21pY1N0cmlu
ZyBtX3NhbnNTZXJpZkZvbnRGYW1pbHk7Ci0gICAgICAgIEF0b21pY1N0cmluZyBtX2N1cnNpdmVG
b250RmFtaWx5OwotICAgICAgICBBdG9taWNTdHJpbmcgbV9mYW50YXN5Rm9udEZhbWlseTsKKwor
ICAgICAgICBTY3JpcHRGb250RmFtaWx5TWFwIG1fZml4ZWRGb250RmFtaWx5TWFwOworICAgICAg
ICBTY3JpcHRGb250RmFtaWx5TWFwIG1fc2VyaWZGb250RmFtaWx5TWFwOworICAgICAgICBTY3Jp
cHRGb250RmFtaWx5TWFwIG1fc2Fuc1NlcmlmRm9udEZhbWlseU1hcDsKKyAgICAgICAgU2NyaXB0
Rm9udEZhbWlseU1hcCBtX2N1cnNpdmVGb250RmFtaWx5TWFwOworICAgICAgICBTY3JpcHRGb250
RmFtaWx5TWFwIG1fZmFudGFzeUZvbnRGYW1pbHlNYXA7CisgICAgICAgIFNjcmlwdEZvbnRGYW1p
bHlNYXAgbV9zdGFuZGFyZEZvbnRGYW1pbHlNYXA7CisKICAgICAgICAgRWRpdGFibGVMaW5rQmVo
YXZpb3IgbV9lZGl0YWJsZUxpbmtCZWhhdmlvcjsKICAgICAgICAgVGV4dERpcmVjdGlvblN1Ym1l
bnVJbmNsdXNpb25CZWhhdmlvciBtX3RleHREaXJlY3Rpb25TdWJtZW51SW5jbHVzaW9uQmVoYXZp
b3I7CiAgICAgICAgIGludCBtX21pbmltdW1Gb250U2l6ZTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZv
cm0vdGV4dC9VU2NyaXB0Q29kZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vdGV4
dC9VU2NyaXB0Q29kZS5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1VT
Y3JpcHRDb2RlLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDAwIEBACisvKgorICogIENvcHly
aWdodCAoQykgMTk5Ny0yMDA5LCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCisgKiAg
Q29ycG9yYXRpb24gYW5kIG90aGVycy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVy
bWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24g
b2J0YWluaW5nIGEgY29weQorICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1
bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0
d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisg
KiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJp
YnV0ZSwgYW5kL29yIHNlbGwKKyAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJt
aXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcworICogZnVybmlzaGVkIHRvIGRvIHNv
LCBwcm92aWRlZCB0aGF0IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlKHMpIGFuZCB0aGlzCisg
KiBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gYWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUg
YW5kIHRoYXQgYm90aCB0aGUKKyAqIGFib3ZlIGNvcHlyaWdodCBub3RpY2UocykgYW5kIHRoaXMg
cGVybWlzc2lvbiBub3RpY2UgYXBwZWFyIGluIHN1cHBvcnRpbmcKKyAqIGRvY3VtZW50YXRpb24u
CisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFO
VFkgT0YgQU5ZIEtJTkQsCisgKiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9U
IExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YKKyAqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVAorICogT0YgVEhJ
UkQgUEFSVFkgUklHSFRTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBP
UgorICogSE9MREVSUyBJTkNMVURFRCBJTiBUSElTIE5PVElDRSBCRSBMSUFCTEUgRk9SIEFOWSBD
TEFJTSwgT1IgQU5ZCisgKiBTUEVDSUFMIElORElSRUNUIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UywgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUgorICogUkVTVUxUSU5HIEZST00gTE9TUyBPRiBV
U0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04KKyAqIE9GIENPTlRSQUNU
LCBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YKKyAq
IE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09G
VFdBUkUuICAKKyAqIEV4Y2VwdCBhcyBjb250YWluZWQgaW4gdGhpcyBub3RpY2UsIHRoZSBuYW1l
IG9mIGEgY29weXJpZ2h0CisgKiBob2xkZXIgc2hhbGwgbm90IGJlIHVzZWQgaW4gYWR2ZXJ0aXNp
bmcgb3Igb3RoZXJ3aXNlIHRvIHByb21vdGUgdGhlCisgKiBzYWxlLCB1c2Ugb3Igb3RoZXIgZGVh
bGluZ3MgaW4gdGhpcyBTb2Z0d2FyZSB3aXRob3V0IHByaW9yIHdyaXR0ZW4KKyAqIGF1dGhvcml6
YXRpb24gb2YgdGhlIGNvcHlyaWdodCBob2xkZXIuCisqLworCisjaWZuZGVmIFVTQ1JJUFRfQ09E
RV9ICisjZGVmaW5lIFVTQ1JJUFRfQ09ERV9ICisKKy8qKgorICogQ29uc3RhbnRzIGZvciBVbmlj
b2RlIHNjcmlwdCB2YWx1ZXMgZnJvbSBTY3JpcHROYW1lcy50eHQgLgorICovCisKKy8qKgorICog
VGhlIFVuaWNvZGUgc3RhbmRhcmQgZGF0YWJhc2UgZG9lcyBub3QgaGF2ZSBTY3JpcHROYW1lcy50
eHQgYW55IG1vcmUuCisgKiBJbnN0ZWFkLCBpdCBoYXMgU2NyaXB0cy50eHQsIGZyb20gd2hpY2gg
dGhlIGxpc3Qgb2Ygc2NyaXB0IG5hbWVzIGNhbiBiZQorICogZGVyaXZlZC4gVGhlIGxpc3QgY2Fu
IGFsc28gYmUgZGVyaXZlZCBmcm9tIHRoZSBDTERSIChDb21tb24gTG9jYWxlIERhdGEKKyAqIFJl
cG9zaXRvcnkpLgorICogSG93ZXZlciwgdGhlIG9yZGVyIG9mIHRoZSBsaXN0IGRlcml2ZWQgZnJv
bSBlaXRoZXIgc291cmNlIHdpbGwgYmUgZGlmZmVyZW50CisgKiBmcm9tIHRoZSBvcmRlciBpbiB0
aGlzIGZpbGUsIHdoaWNoIGlzIHRoZSBzYW1lIGFzIElDVSdzCisgKiBjb21tb24vdW5pY29kZS91
c2NyaXB0LmguIFRvIGtlZXAgdGhlIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksIElDVSdzCisgKiB1
c2NyaXB0LmggYWRkIG5ldyBzY3JpcHQgY29kZXMgYXQgdGhlIGVuZCBvZiBleGlzdGluZyBlbnRy
aWVzIAorICogaW5zdGVhZCBvZiBzb3J0aW5nIHRoZW0gZXZlcnl0aW1lIGl0J3MgdXBkYXRlZC4g
CisgKi8KK3R5cGVkZWYgZW51bSBVU2NyaXB0Q29kZSB7CisgICAgICBVU0NSSVBUX0lOVkFMSURf
Q09ERSA9IC0xLAorICAgICAgVVNDUklQVF9DT01NT04gICAgICAgPSAgMCAsIC8qIFp5eXkgKi8K
KyAgICAgIFVTQ1JJUFRfSU5IRVJJVEVEICAgID0gIDEsICAvKiBRYWFpICovCisgICAgICBVU0NS
SVBUX0FSQUJJQyAgICAgICA9ICAyLCAgLyogQXJhYiAqLworICAgICAgVVNDUklQVF9BUk1FTklB
TiAgICAgPSAgMywgIC8qIEFybW4gKi8KKyAgICAgIFVTQ1JJUFRfQkVOR0FMSSAgICAgID0gIDQs
ICAvKiBCZW5nICovCisgICAgICBVU0NSSVBUX0JPUE9NT0ZPICAgICA9ICA1LCAgLyogQm9wbyAq
LworICAgICAgVVNDUklQVF9DSEVST0tFRSAgICAgPSAgNiwgIC8qIENoZXIgKi8KKyAgICAgIFVT
Q1JJUFRfQ09QVElDICAgICAgID0gIDcsICAvKiBDb3B0ICovCisgICAgICBVU0NSSVBUX0NZUklM
TElDICAgICA9ICA4LCAgLyogQ3lybCAoQ3lycykgKi8KKyAgICAgIFVTQ1JJUFRfREVTRVJFVCAg
ICAgID0gIDksICAvKiBEc3J0ICovCisgICAgICBVU0NSSVBUX0RFVkFOQUdBUkkgICA9IDEwLCAg
LyogRGV2YSAqLworICAgICAgVVNDUklQVF9FVEhJT1BJQyAgICAgPSAxMSwgIC8qIEV0aGkgKi8K
KyAgICAgIFVTQ1JJUFRfR0VPUkdJQU4gICAgID0gMTIsICAvKiBHZW9yIChHZW9uLCBHZW9hKSAq
LworICAgICAgVVNDUklQVF9HT1RISUMgICAgICAgPSAxMywgIC8qIEdvdGggKi8KKyAgICAgIFVT
Q1JJUFRfR1JFRUsgICAgICAgID0gMTQsICAvKiBHcmVrICovCisgICAgICBVU0NSSVBUX0dVSkFS
QVRJICAgICA9IDE1LCAgLyogR3VqciAqLworICAgICAgVVNDUklQVF9HVVJNVUtISSAgICAgPSAx
NiwgIC8qIEd1cnUgKi8KKyAgICAgIFVTQ1JJUFRfSEFOICAgICAgICAgID0gMTcsICAvKiBIYW5p
ICovCisgICAgICBVU0NSSVBUX0hBTkdVTCAgICAgICA9IDE4LCAgLyogSGFuZyAqLworICAgICAg
VVNDUklQVF9IRUJSRVcgICAgICAgPSAxOSwgIC8qIEhlYnIgKi8KKyAgICAgIFVTQ1JJUFRfSElS
QUdBTkEgICAgID0gMjAsICAvKiBIaXJhICovCisgICAgICBVU0NSSVBUX0tBTk5BREEgICAgICA9
IDIxLCAgLyogS25kYSAqLworICAgICAgVVNDUklQVF9LQVRBS0FOQSAgICAgPSAyMiwgIC8qIEth
bmEgKi8KKyAgICAgIFVTQ1JJUFRfS0hNRVIgICAgICAgID0gMjMsICAvKiBLaG1yICovCisgICAg
ICBVU0NSSVBUX0xBTyAgICAgICAgICA9IDI0LCAgLyogTGFvbyAqLworICAgICAgVVNDUklQVF9M
QVRJTiAgICAgICAgPSAyNSwgIC8qIExhdG4gKExhdGYsIExhdGcpICovCisgICAgICBVU0NSSVBU
X01BTEFZQUxBTSAgICA9IDI2LCAgLyogTWx5bSAqLworICAgICAgVVNDUklQVF9NT05HT0xJQU4g
ICAgPSAyNywgIC8qIE1vbmcgKi8KKyAgICAgIFVTQ1JJUFRfTVlBTk1BUiAgICAgID0gMjgsICAv
KiBNeW1yICovCisgICAgICBVU0NSSVBUX09HSEFNICAgICAgICA9IDI5LCAgLyogT2dhbSAqLwor
ICAgICAgVVNDUklQVF9PTERfSVRBTElDICAgPSAzMCwgIC8qIEl0YWwgKi8KKyAgICAgIFVTQ1JJ
UFRfT1JJWUEgICAgICAgID0gMzEsICAvKiBPcnlhICovCisgICAgICBVU0NSSVBUX1JVTklDICAg
ICAgICA9IDMyLCAgLyogUnVuciAqLworICAgICAgVVNDUklQVF9TSU5IQUxBICAgICAgPSAzMywg
IC8qIFNpbmggKi8KKyAgICAgIFVTQ1JJUFRfU1lSSUFDICAgICAgID0gMzQsICAvKiBTeXJjIChT
eXJqLCBTeXJuLCBTeXJlKSAqLworICAgICAgVVNDUklQVF9UQU1JTCAgICAgICAgPSAzNSwgIC8q
IFRhbWwgKi8KKyAgICAgIFVTQ1JJUFRfVEVMVUdVICAgICAgID0gMzYsICAvKiBUZWx1ICovCisg
ICAgICBVU0NSSVBUX1RIQUFOQSAgICAgICA9IDM3LCAgLyogVGhhYSAqLworICAgICAgVVNDUklQ
VF9USEFJICAgICAgICAgPSAzOCwgIC8qIFRoYWkgKi8KKyAgICAgIFVTQ1JJUFRfVElCRVRBTiAg
ICAgID0gMzksICAvKiBUaWJ0ICovCisgICAgICAvKiogQ2FuYWRpYW5fQWJvcmlnaW5hbCBzY3Jp
cHQuIEBzdGFibGUgSUNVIDIuNiAqLworICAgICAgVVNDUklQVF9DQU5BRElBTl9BQk9SSUdJTkFM
ID0gNDAsICAvKiBDYW5zICovCisgICAgICAvKiogQ2FuYWRpYW5fQWJvcmlnaW5hbCBzY3JpcHQg
KGFsaWFzKS4gQHN0YWJsZSBJQ1UgMi4yICovCisgICAgICBVU0NSSVBUX1VDQVMgICAgICAgICA9
IFVTQ1JJUFRfQ0FOQURJQU5fQUJPUklHSU5BTCwKKyAgICAgIFVTQ1JJUFRfWUkgICAgICAgICAg
ID0gNDEsICAvKiBZaWlpICovCisgICAgICBVU0NSSVBUX1RBR0FMT0cgICAgICA9IDQyLCAgLyog
VGdsZyAqLworICAgICAgVVNDUklQVF9IQU5VTk9PICAgICAgPSA0MywgIC8qIEhhbm8gKi8KKyAg
ICAgIFVTQ1JJUFRfQlVISUQgICAgICAgID0gNDQsICAvKiBCdWhkICovCisgICAgICBVU0NSSVBU
X1RBR0JBTldBICAgICA9IDQ1LCAgLyogVGFnYiAqLworCisgICAgICAvKiBOZXcgc2NyaXB0cyBp
biBVbmljb2RlIDQgQHN0YWJsZSBJQ1UgMi42ICovCisgICAgICBVU0NSSVBUX0JSQUlMTEUgICAg
ICA9IDQ2LCAgLyogQnJhaSAqLworICAgICAgVVNDUklQVF9DWVBSSU9UICAgICAgPSA0NywgIC8q
IENwcnQgKi8KKyAgICAgIFVTQ1JJUFRfTElNQlUgICAgICAgID0gNDgsICAvKiBMaW1iICovCisg
ICAgICBVU0NSSVBUX0xJTkVBUl9CICAgICA9IDQ5LCAgLyogTGluYiAqLworICAgICAgVVNDUklQ
VF9PU01BTllBICAgICAgPSA1MCwgIC8qIE9zbWEgKi8KKyAgICAgIFVTQ1JJUFRfU0hBVklBTiAg
ICAgID0gNTEsICAvKiBTaGF3ICovCisgICAgICBVU0NSSVBUX1RBSV9MRSAgICAgICA9IDUyLCAg
LyogVGFsZSAqLworICAgICAgVVNDUklQVF9VR0FSSVRJQyAgICAgPSA1MywgIC8qIFVnYXIgKi8K
KworICAgICAgLyoqIE5ldyBzY3JpcHQgY29kZSBpbiBVbmljb2RlIDQuMC4xIEBzdGFibGUgSUNV
IDMuMCAqLworICAgICAgVVNDUklQVF9LQVRBS0FOQV9PUl9ISVJBR0FOQSA9IDU0LC8qSHJrdCAq
LworICAgICAgCisgICAgICAvKiBOZXcgc2NyaXB0cyBpbiBVbmljb2RlIDQuMSBAc3RhYmxlIElD
VSAzLjQgKi8KKyAgICAgIFVTQ1JJUFRfQlVHSU5FU0UgICAgICA9IDU1LCAvKiBCdWdpICovCisg
ICAgICBVU0NSSVBUX0dMQUdPTElUSUMgICAgPSA1NiwgLyogR2xhZyAqLworICAgICAgVVNDUklQ
VF9LSEFST1NIVEhJICAgID0gNTcsIC8qIEtoYXIgKi8KKyAgICAgIFVTQ1JJUFRfU1lMT1RJX05B
R1JJICA9IDU4LCAvKiBTeWxvICovCisgICAgICBVU0NSSVBUX05FV19UQUlfTFVFICAgPSA1OSwg
LyogVGFsdSAqLworICAgICAgVVNDUklQVF9USUZJTkFHSCAgICAgID0gNjAsIC8qIFRmbmcgKi8K
KyAgICAgIFVTQ1JJUFRfT0xEX1BFUlNJQU4gICA9IDYxLCAvKiBYcGVvICovCisKKyAgICAgIC8q
IE5ldyBzY3JpcHQgY29kZXMgZnJvbSBJU08gMTU5MjQgQHN0YWJsZSBJQ1UgMy42ICovCisgICAg
ICBVU0NSSVBUX0JBTElORVNFICAgICAgICAgICAgICAgICAgICAgID0gNjIsIC8qIEJhbGkgKi8K
KyAgICAgIFVTQ1JJUFRfQkFUQUsgICAgICAgICAgICAgICAgICAgICAgICAgPSA2MywgLyogQmF0
ayAqLworICAgICAgVVNDUklQVF9CTElTU1lNQk9MUyAgICAgICAgICAgICAgICAgICA9IDY0LCAv
KiBCbGlzICovCisgICAgICBVU0NSSVBUX0JSQUhNSSAgICAgICAgICAgICAgICAgICAgICAgID0g
NjUsIC8qIEJyYWggKi8KKyAgICAgIFVTQ1JJUFRfQ0hBTSAgICAgICAgICAgICAgICAgICAgICAg
ICAgPSA2NiwgLyogQ2hhbSAqLworICAgICAgVVNDUklQVF9DSVJUSCAgICAgICAgICAgICAgICAg
ICAgICAgICA9IDY3LCAvKiBDaXJ0ICovCisgICAgICBVU0NSSVBUX09MRF9DSFVSQ0hfU0xBVk9O
SUNfQ1lSSUxMSUMgID0gNjgsIC8qIEN5cnMgKi8KKyAgICAgIFVTQ1JJUFRfREVNT1RJQ19FR1lQ
VElBTiAgICAgICAgICAgICAgPSA2OSwgLyogRWd5ZCAqLworICAgICAgVVNDUklQVF9ISUVSQVRJ
Q19FR1lQVElBTiAgICAgICAgICAgICA9IDcwLCAvKiBFZ3loICovCisgICAgICBVU0NSSVBUX0VH
WVBUSUFOX0hJRVJPR0xZUEhTICAgICAgICAgID0gNzEsIC8qIEVneXAgKi8KKyAgICAgIFVTQ1JJ
UFRfS0hVVFNVUkkgICAgICAgICAgICAgICAgICAgICAgPSA3MiwgLyogR2VvayAqLworICAgICAg
VVNDUklQVF9TSU1QTElGSUVEX0hBTiAgICAgICAgICAgICAgICA9IDczLCAvKiBIYW5zICovCisg
ICAgICBVU0NSSVBUX1RSQURJVElPTkFMX0hBTiAgICAgICAgICAgICAgID0gNzQsIC8qIEhhbnQg
Ki8KKyAgICAgIFVTQ1JJUFRfUEFIQVdIX0hNT05HICAgICAgICAgICAgICAgICAgPSA3NSwgLyog
SG1uZyAqLworICAgICAgVVNDUklQVF9PTERfSFVOR0FSSUFOICAgICAgICAgICAgICAgICA9IDc2
LCAvKiBIdW5nICovCisgICAgICBVU0NSSVBUX0hBUkFQUEFOX0lORFVTICAgICAgICAgICAgICAg
ID0gNzcsIC8qIEluZHMgKi8KKyAgICAgIFVTQ1JJUFRfSkFWQU5FU0UgICAgICAgICAgICAgICAg
ICAgICAgPSA3OCwgLyogSmF2YSAqLworICAgICAgVVNDUklQVF9LQVlBSF9MSSAgICAgICAgICAg
ICAgICAgICAgICA9IDc5LCAvKiBLYWxpICovCisgICAgICBVU0NSSVBUX0xBVElOX0ZSQUtUVVIg
ICAgICAgICAgICAgICAgID0gODAsIC8qIExhdGYgKi8KKyAgICAgIFVTQ1JJUFRfTEFUSU5fR0FF
TElDICAgICAgICAgICAgICAgICAgPSA4MSwgLyogTGF0ZyAqLworICAgICAgVVNDUklQVF9MRVBD
SEEgICAgICAgICAgICAgICAgICAgICAgICA9IDgyLCAvKiBMZXBjICovCisgICAgICBVU0NSSVBU
X0xJTkVBUl9BICAgICAgICAgICAgICAgICAgICAgID0gODMsIC8qIExpbmEgKi8KKyAgICAgIFVT
Q1JJUFRfTUFOREFFQU4gICAgICAgICAgICAgICAgICAgICAgPSA4NCwgLyogTWFuZCAqLworICAg
ICAgVVNDUklQVF9NQVlBTl9ISUVST0dMWVBIUyAgICAgICAgICAgICA9IDg1LCAvKiBNYXlhICov
CisgICAgICBVU0NSSVBUX01FUk9JVElDICAgICAgICAgICAgICAgICAgICAgID0gODYsIC8qIE1l
cm8gKi8KKyAgICAgIFVTQ1JJUFRfTktPICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA4Nywg
LyogTmtvbyAqLworICAgICAgVVNDUklQVF9PUktIT04gICAgICAgICAgICAgICAgICAgICAgICA9
IDg4LCAvKiBPcmtoICovCisgICAgICBVU0NSSVBUX09MRF9QRVJNSUMgICAgICAgICAgICAgICAg
ICAgID0gODksIC8qIFBlcm0gKi8KKyAgICAgIFVTQ1JJUFRfUEhBR1NfUEEgICAgICAgICAgICAg
ICAgICAgICAgPSA5MCwgLyogUGhhZyAqLworICAgICAgVVNDUklQVF9QSE9FTklDSUFOICAgICAg
ICAgICAgICAgICAgICA9IDkxLCAvKiBQaG54ICovCisgICAgICBVU0NSSVBUX1BIT05FVElDX1BP
TExBUkQgICAgICAgICAgICAgID0gOTIsIC8qIFBscmQgKi8KKyAgICAgIFVTQ1JJUFRfUk9OR09S
T05HTyAgICAgICAgICAgICAgICAgICAgPSA5MywgLyogUm9ybyAqLworICAgICAgVVNDUklQVF9T
QVJBVEkgICAgICAgICAgICAgICAgICAgICAgICA9IDk0LCAvKiBTYXJhICovCisgICAgICBVU0NS
SVBUX0VTVFJBTkdFTE9fU1lSSUFDICAgICAgICAgICAgID0gOTUsIC8qIFN5cmUgKi8KKyAgICAg
IFVTQ1JJUFRfV0VTVEVSTl9TWVJJQUMgICAgICAgICAgICAgICAgPSA5NiwgLyogU3lyaiAqLwor
ICAgICAgVVNDUklQVF9FQVNURVJOX1NZUklBQyAgICAgICAgICAgICAgICA9IDk3LCAvKiBTeXJu
ICovCisgICAgICBVU0NSSVBUX1RFTkdXQVIgICAgICAgICAgICAgICAgICAgICAgID0gOTgsIC8q
IFRlbmcgKi8KKyAgICAgIFVTQ1JJUFRfVkFJICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA5
OSwgLyogVmFpaSAqLworICAgICAgVVNDUklQVF9WSVNJQkxFX1NQRUVDSCAgICAgICAgICAgICAg
ICA9IDEwMCwgLyogVmlzcCAqLworICAgICAgVVNDUklQVF9DVU5FSUZPUk0gICAgICAgICAgICAg
ICAgICAgICA9IDEwMSwvKiBYc3V4ICovCisgICAgICBVU0NSSVBUX1VOV1JJVFRFTl9MQU5HVUFH
RVMgICAgICAgICAgID0gMTAyLC8qIFp4eHggKi8KKyAgICAgIFVTQ1JJUFRfVU5LTk9XTiAgICAg
ICAgICAgICAgICAgICAgICAgPSAxMDMsLyogWnp6eiAqLyAvKiBVbmtub3duPSJDb2RlIGZvciB1
bmNvZGVkIHNjcmlwdCIsIGZvciB1bmFzc2lnbmVkIGNvZGUgcG9pbnRzICovCisKKyAgICAgIC8q
IE5ldyBzY3JpcHQgY29kZXMgZnJvbSBJU08gMTU5MjQgQHN0YWJsZSBJQ1UgMy44ICovCisgICAg
ICBVU0NSSVBUX0NBUklBTiAgICAgICAgICAgICAgICAgICAgICAgID0gMTA0LC8qIENhcmkgKi8K
KyAgICAgIFVTQ1JJUFRfSkFQQU5FU0UgICAgICAgICAgICAgICAgICAgICAgPSAxMDUsLyogSnBh
biAqLworICAgICAgVVNDUklQVF9MQU5OQSAgICAgICAgICAgICAgICAgICAgICAgICA9IDEwNiwv
KiBMYW5hICovCisgICAgICBVU0NSSVBUX0xZQ0lBTiAgICAgICAgICAgICAgICAgICAgICAgID0g
MTA3LC8qIEx5Y2kgKi8KKyAgICAgIFVTQ1JJUFRfTFlESUFOICAgICAgICAgICAgICAgICAgICAg
ICAgPSAxMDgsLyogTHlkaSAqLworICAgICAgVVNDUklQVF9PTF9DSElLSSAgICAgICAgICAgICAg
ICAgICAgICA9IDEwOSwvKiBPbGNrICovCisgICAgICBVU0NSSVBUX1JFSkFORyAgICAgICAgICAg
ICAgICAgICAgICAgID0gMTEwLC8qIFJqbmcgKi8KKyAgICAgIFVTQ1JJUFRfU0FVUkFTSFRSQSAg
ICAgICAgICAgICAgICAgICAgPSAxMTEsLyogU2F1ciAqLworICAgICAgVVNDUklQVF9TSUdOX1dS
SVRJTkcgICAgICAgICAgICAgICAgICA9IDExMiwvKiBTZ253ICovCisgICAgICBVU0NSSVBUX1NV
TkRBTkVTRSAgICAgICAgICAgICAgICAgICAgID0gMTEzLC8qIFN1bmQgKi8KKyAgICAgIFVTQ1JJ
UFRfTU9PTiAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxMTQsLyogTW9vbiAqLworICAgICAg
VVNDUklQVF9NRUlURUlfTUFZRUsgICAgICAgICAgICAgICAgICA9IDExNSwvKiBNdGVpICovCisK
KyAgICAgIC8qIE5ldyBzY3JpcHQgY29kZXMgZnJvbSBJU08gMTU5MjQgQHN0YWJsZSBJQ1UgNC4w
ICovCisgICAgICBVU0NSSVBUX0lNUEVSSUFMX0FSQU1BSUMgICAgICAgICAgICAgID0gMTE2LC8q
IEFybWkgKi8KKyAgICAgIFVTQ1JJUFRfQVZFU1RBTiAgICAgICAgICAgICAgICAgICAgICAgPSAx
MTcsLyogQXZzdCAqLworICAgICAgVVNDUklQVF9DSEFLTUEgICAgICAgICAgICAgICAgICAgICAg
ICA9IDExOCwvKiBDYWttICovCisgICAgICBVU0NSSVBUX0tPUkVBTiAgICAgICAgICAgICAgICAg
ICAgICAgID0gMTE5LC8qIEtvcmUgKi8KKyAgICAgIFVTQ1JJUFRfS0FJVEhJICAgICAgICAgICAg
ICAgICAgICAgICAgPSAxMjAsLyogS3RoaSAqLworICAgICAgVVNDUklQVF9NQU5JQ0hBRUFOICAg
ICAgICAgICAgICAgICAgICA9IDEyMSwvKiBNYW5pICovCisgICAgICBVU0NSSVBUX0lOU0NSSVBU
SU9OQUxfUEFITEFWSSAgICAgICAgID0gMTIyLC8qIFBobGkgKi8KKyAgICAgIFVTQ1JJUFRfUFNB
TFRFUl9QQUhMQVZJICAgICAgICAgICAgICAgPSAxMjMsLyogUGhscCAqLworICAgICAgVVNDUklQ
VF9CT09LX1BBSExBVkkgICAgICAgICAgICAgICAgICA9IDEyNCwvKiBQaGx2ICovCisgICAgICBV
U0NSSVBUX0lOU0NSSVBUSU9OQUxfUEFSVEhJQU4gICAgICAgID0gMTI1LC8qIFBydGkgKi8KKyAg
ICAgIFVTQ1JJUFRfU0FNQVJJVEFOICAgICAgICAgICAgICAgICAgICAgPSAxMjYsLyogU2FtciAq
LworICAgICAgVVNDUklQVF9UQUlfVklFVCAgICAgICAgICAgICAgICAgICAgICA9IDEyNywvKiBU
YXZ0ICovCisgICAgICBVU0NSSVBUX01BVEhFTUFUSUNBTF9OT1RBVElPTiAgICAgICAgID0gMTI4
LC8qIFptdGggKi8KKyAgICAgIFVTQ1JJUFRfU1lNQk9MUyAgICAgICAgICAgICAgICAgICAgICAg
PSAxMjksLyogWnN5bSAqLworCisgICAgICAvKiBQcml2YXRlIHVzZSBjb2RlcyBmcm9tIFFhYWEg
LSBRYWJ4IGFyZSBub3Qgc3VwcG9ydGVkKi8KKyAgICAgIFVTQ1JJUFRfQ09ERV9MSU1JVCAgICA9
IDEzMAorfSBVU2NyaXB0Q29kZTsKKworI2VuZGlmIAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDE5
OTctMjAwOSwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcworICogIENvcnBvcmF0aW9u
IGFuZCBvdGhlcnMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFBlcm1pc3Npb24gaXMg
aGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBh
IGNvcHkKKyAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBm
aWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICogdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91
dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgorICogdGhlIHJpZ2h0
cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIGFuZC9v
ciBzZWxsCisgKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMg
dG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKKyAqIGZ1cm5pc2hlZCB0byBkbyBzbywgcHJvdmlkZWQg
dGhhdCB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZShzKSBhbmQgdGhpcworICogcGVybWlzc2lv
biBub3RpY2UgYXBwZWFyIGluIGFsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlIGFuZCB0aGF0IGJv
dGggdGhlCisgKiBhYm92ZSBjb3B5cmlnaHQgbm90aWNlKHMpIGFuZCB0aGlzIHBlcm1pc3Npb24g
bm90aWNlIGFwcGVhciBpbiBzdXBwb3J0aW5nCisgKiBkb2N1bWVudGF0aW9uLgorICoKKyAqIFRI
RSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBL
SU5ELAorICogRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRP
IFRIRSBXQVJSQU5USUVTIE9GCisgKiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQKKyAqIE9GIFRISVJEIFBBUlRZIFJJ
R0hUUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IKKyAqIEhPTERF
UlMgSU5DTFVERUQgSU4gVEhJUyBOT1RJQ0UgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIE9SIEFO
WQorICogU1BFQ0lBTCBJTkRJUkVDVCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMsIE9SIEFOWSBE
QU1BR0VTIFdIQVRTT0VWRVIKKyAqIFJFU1VMVElORyBGUk9NIExPU1MgT0YgVVNFLCBEQVRBIE9S
IFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OCisgKiBPRiBDT05UUkFDVCwgTkVHTElHRU5D
RSBPUiBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GCisgKiBPUiBJTiBDT05O
RUNUSU9OIFdJVEggVEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLiAgCisg
KiBFeGNlcHQgYXMgY29udGFpbmVkIGluIHRoaXMgbm90aWNlLCB0aGUgbmFtZSBvZiBhIGNvcHly
aWdodAorICogaG9sZGVyIHNoYWxsIG5vdCBiZSB1c2VkIGluIGFkdmVydGlzaW5nIG9yIG90aGVy
d2lzZSB0byBwcm9tb3RlIHRoZQorICogc2FsZSwgdXNlIG9yIG90aGVyIGRlYWxpbmdzIGluIHRo
aXMgU29mdHdhcmUgd2l0aG91dCBwcmlvciB3cml0dGVuCisgKiBhdXRob3JpemF0aW9uIG9mIHRo
ZSBjb3B5cmlnaHQgaG9sZGVyLgorKi8KKworI2lmbmRlZiBVU0NSSVBUX0NPREVfSAorI2RlZmlu
ZSBVU0NSSVBUX0NPREVfSAorCisvKioKKyAqIENvbnN0YW50cyBmb3IgVW5pY29kZSBzY3JpcHQg
dmFsdWVzIGZyb20gU2NyaXB0TmFtZXMudHh0IC4KKyAqLworCisvKioKKyAqIFRoZSBVbmljb2Rl
IHN0YW5kYXJkIGRhdGFiYXNlIGRvZXMgbm90IGhhdmUgU2NyaXB0TmFtZXMudHh0IGFueSBtb3Jl
LgorICogSW5zdGVhZCwgaXQgaGFzIFNjcmlwdHMudHh0LCBmcm9tIHdoaWNoIHRoZSBsaXN0IG9m
IHNjcmlwdCBuYW1lcyBjYW4gYmUKKyAqIGRlcml2ZWQuIFRoZSBsaXN0IGNhbiBhbHNvIGJlIGRl
cml2ZWQgZnJvbSB0aGUgQ0xEUiAoQ29tbW9uIExvY2FsZSBEYXRhCisgKiBSZXBvc2l0b3J5KS4K
KyAqIEhvd2V2ZXIsIHRoZSBvcmRlciBvZiB0aGUgbGlzdCBkZXJpdmVkIGZyb20gZWl0aGVyIHNv
dXJjZSB3aWxsIGJlIGRpZmZlcmVudAorICogZnJvbSB0aGUgb3JkZXIgaW4gdGhpcyBmaWxlLCB3
aGljaCBpcyB0aGUgc2FtZSBhcyBJQ1UncworICogY29tbW9uL3VuaWNvZGUvdXNjcmlwdC5oLiBU
byBrZWVwIHRoZSBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCBJQ1UncworICogdXNjcmlwdC5oIGFk
ZCBuZXcgc2NyaXB0IGNvZGVzIGF0IHRoZSBlbmQgb2YgZXhpc3RpbmcgZW50cmllcyAKKyAqIGlu
c3RlYWQgb2Ygc29ydGluZyB0aGVtIGV2ZXJ5dGltZSBpdCdzIHVwZGF0ZWQuIAorICovCit0eXBl
ZGVmIGVudW0gVVNjcmlwdENvZGUgeworICAgICAgVVNDUklQVF9JTlZBTElEX0NPREUgPSAtMSwK
KyAgICAgIFVTQ1JJUFRfQ09NTU9OICAgICAgID0gIDAgLCAvKiBaeXl5ICovCisgICAgICBVU0NS
SVBUX0lOSEVSSVRFRCAgICA9ICAxLCAgLyogUWFhaSAqLworICAgICAgVVNDUklQVF9BUkFCSUMg
ICAgICAgPSAgMiwgIC8qIEFyYWIgKi8KKyAgICAgIFVTQ1JJUFRfQVJNRU5JQU4gICAgID0gIDMs
ICAvKiBBcm1uICovCisgICAgICBVU0NSSVBUX0JFTkdBTEkgICAgICA9ICA0LCAgLyogQmVuZyAq
LworICAgICAgVVNDUklQVF9CT1BPTU9GTyAgICAgPSAgNSwgIC8qIEJvcG8gKi8KKyAgICAgIFVT
Q1JJUFRfQ0hFUk9LRUUgICAgID0gIDYsICAvKiBDaGVyICovCisgICAgICBVU0NSSVBUX0NPUFRJ
QyAgICAgICA9ICA3LCAgLyogQ29wdCAqLworICAgICAgVVNDUklQVF9DWVJJTExJQyAgICAgPSAg
OCwgIC8qIEN5cmwgKEN5cnMpICovCisgICAgICBVU0NSSVBUX0RFU0VSRVQgICAgICA9ICA5LCAg
LyogRHNydCAqLworICAgICAgVVNDUklQVF9ERVZBTkFHQVJJICAgPSAxMCwgIC8qIERldmEgKi8K
KyAgICAgIFVTQ1JJUFRfRVRISU9QSUMgICAgID0gMTEsICAvKiBFdGhpICovCisgICAgICBVU0NS
SVBUX0dFT1JHSUFOICAgICA9IDEyLCAgLyogR2VvciAoR2VvbiwgR2VvYSkgKi8KKyAgICAgIFVT
Q1JJUFRfR09USElDICAgICAgID0gMTMsICAvKiBHb3RoICovCisgICAgICBVU0NSSVBUX0dSRUVL
ICAgICAgICA9IDE0LCAgLyogR3JlayAqLworICAgICAgVVNDUklQVF9HVUpBUkFUSSAgICAgPSAx
NSwgIC8qIEd1anIgKi8KKyAgICAgIFVTQ1JJUFRfR1VSTVVLSEkgICAgID0gMTYsICAvKiBHdXJ1
ICovCisgICAgICBVU0NSSVBUX0hBTiAgICAgICAgICA9IDE3LCAgLyogSGFuaSAqLworICAgICAg
VVNDUklQVF9IQU5HVUwgICAgICAgPSAxOCwgIC8qIEhhbmcgKi8KKyAgICAgIFVTQ1JJUFRfSEVC
UkVXICAgICAgID0gMTksICAvKiBIZWJyICovCisgICAgICBVU0NSSVBUX0hJUkFHQU5BICAgICA9
IDIwLCAgLyogSGlyYSAqLworICAgICAgVVNDUklQVF9LQU5OQURBICAgICAgPSAyMSwgIC8qIEtu
ZGEgKi8KKyAgICAgIFVTQ1JJUFRfS0FUQUtBTkEgICAgID0gMjIsICAvKiBLYW5hICovCisgICAg
ICBVU0NSSVBUX0tITUVSICAgICAgICA9IDIzLCAgLyogS2htciAqLworICAgICAgVVNDUklQVF9M
QU8gICAgICAgICAgPSAyNCwgIC8qIExhb28gKi8KKyAgICAgIFVTQ1JJUFRfTEFUSU4gICAgICAg
ID0gMjUsICAvKiBMYXRuIChMYXRmLCBMYXRnKSAqLworICAgICAgVVNDUklQVF9NQUxBWUFMQU0g
ICAgPSAyNiwgIC8qIE1seW0gKi8KKyAgICAgIFVTQ1JJUFRfTU9OR09MSUFOICAgID0gMjcsICAv
KiBNb25nICovCisgICAgICBVU0NSSVBUX01ZQU5NQVIgICAgICA9IDI4LCAgLyogTXltciAqLwor
ICAgICAgVVNDUklQVF9PR0hBTSAgICAgICAgPSAyOSwgIC8qIE9nYW0gKi8KKyAgICAgIFVTQ1JJ
UFRfT0xEX0lUQUxJQyAgID0gMzAsICAvKiBJdGFsICovCisgICAgICBVU0NSSVBUX09SSVlBICAg
ICAgICA9IDMxLCAgLyogT3J5YSAqLworICAgICAgVVNDUklQVF9SVU5JQyAgICAgICAgPSAzMiwg
IC8qIFJ1bnIgKi8KKyAgICAgIFVTQ1JJUFRfU0lOSEFMQSAgICAgID0gMzMsICAvKiBTaW5oICov
CisgICAgICBVU0NSSVBUX1NZUklBQyAgICAgICA9IDM0LCAgLyogU3lyYyAoU3lyaiwgU3lybiwg
U3lyZSkgKi8KKyAgICAgIFVTQ1JJUFRfVEFNSUwgICAgICAgID0gMzUsICAvKiBUYW1sICovCisg
ICAgICBVU0NSSVBUX1RFTFVHVSAgICAgICA9IDM2LCAgLyogVGVsdSAqLworICAgICAgVVNDUklQ
VF9USEFBTkEgICAgICAgPSAzNywgIC8qIFRoYWEgKi8KKyAgICAgIFVTQ1JJUFRfVEhBSSAgICAg
ICAgID0gMzgsICAvKiBUaGFpICovCisgICAgICBVU0NSSVBUX1RJQkVUQU4gICAgICA9IDM5LCAg
LyogVGlidCAqLworICAgICAgLyoqIENhbmFkaWFuX0Fib3JpZ2luYWwgc2NyaXB0LiBAc3RhYmxl
IElDVSAyLjYgKi8KKyAgICAgIFVTQ1JJUFRfQ0FOQURJQU5fQUJPUklHSU5BTCA9IDQwLCAgLyog
Q2FucyAqLworICAgICAgLyoqIENhbmFkaWFuX0Fib3JpZ2luYWwgc2NyaXB0IChhbGlhcykuIEBz
dGFibGUgSUNVIDIuMiAqLworICAgICAgVVNDUklQVF9VQ0FTICAgICAgICAgPSBVU0NSSVBUX0NB
TkFESUFOX0FCT1JJR0lOQUwsCisgICAgICBVU0NSSVBUX1lJICAgICAgICAgICA9IDQxLCAgLyog
WWlpaSAqLworICAgICAgVVNDUklQVF9UQUdBTE9HICAgICAgPSA0MiwgIC8qIFRnbGcgKi8KKyAg
ICAgIFVTQ1JJUFRfSEFOVU5PTyAgICAgID0gNDMsICAvKiBIYW5vICovCisgICAgICBVU0NSSVBU
X0JVSElEICAgICAgICA9IDQ0LCAgLyogQnVoZCAqLworICAgICAgVVNDUklQVF9UQUdCQU5XQSAg
ICAgPSA0NSwgIC8qIFRhZ2IgKi8KKworICAgICAgLyogTmV3IHNjcmlwdHMgaW4gVW5pY29kZSA0
IEBzdGFibGUgSUNVIDIuNiAqLworICAgICAgVVNDUklQVF9CUkFJTExFICAgICAgPSA0NiwgIC8q
IEJyYWkgKi8KKyAgICAgIFVTQ1JJUFRfQ1lQUklPVCAgICAgID0gNDcsICAvKiBDcHJ0ICovCisg
ICAgICBVU0NSSVBUX0xJTUJVICAgICAgICA9IDQ4LCAgLyogTGltYiAqLworICAgICAgVVNDUklQ
VF9MSU5FQVJfQiAgICAgPSA0OSwgIC8qIExpbmIgKi8KKyAgICAgIFVTQ1JJUFRfT1NNQU5ZQSAg
ICAgID0gNTAsICAvKiBPc21hICovCisgICAgICBVU0NSSVBUX1NIQVZJQU4gICAgICA9IDUxLCAg
LyogU2hhdyAqLworICAgICAgVVNDUklQVF9UQUlfTEUgICAgICAgPSA1MiwgIC8qIFRhbGUgKi8K
KyAgICAgIFVTQ1JJUFRfVUdBUklUSUMgICAgID0gNTMsICAvKiBVZ2FyICovCisKKyAgICAgIC8q
KiBOZXcgc2NyaXB0IGNvZGUgaW4gVW5pY29kZSA0LjAuMSBAc3RhYmxlIElDVSAzLjAgKi8KKyAg
ICAgIFVTQ1JJUFRfS0FUQUtBTkFfT1JfSElSQUdBTkEgPSA1NCwvKkhya3QgKi8KKyAgICAgIAor
ICAgICAgLyogTmV3IHNjcmlwdHMgaW4gVW5pY29kZSA0LjEgQHN0YWJsZSBJQ1UgMy40ICovCisg
ICAgICBVU0NSSVBUX0JVR0lORVNFICAgICAgPSA1NSwgLyogQnVnaSAqLworICAgICAgVVNDUklQ
VF9HTEFHT0xJVElDICAgID0gNTYsIC8qIEdsYWcgKi8KKyAgICAgIFVTQ1JJUFRfS0hBUk9TSFRI
SSAgICA9IDU3LCAvKiBLaGFyICovCisgICAgICBVU0NSSVBUX1NZTE9USV9OQUdSSSAgPSA1OCwg
LyogU3lsbyAqLworICAgICAgVVNDUklQVF9ORVdfVEFJX0xVRSAgID0gNTksIC8qIFRhbHUgKi8K
KyAgICAgIFVTQ1JJUFRfVElGSU5BR0ggICAgICA9IDYwLCAvKiBUZm5nICovCisgICAgICBVU0NS
SVBUX09MRF9QRVJTSUFOICAgPSA2MSwgLyogWHBlbyAqLworCisgICAgICAvKiBOZXcgc2NyaXB0
IGNvZGVzIGZyb20gSVNPIDE1OTI0IEBzdGFibGUgSUNVIDMuNiAqLworICAgICAgVVNDUklQVF9C
QUxJTkVTRSAgICAgICAgICAgICAgICAgICAgICA9IDYyLCAvKiBCYWxpICovCisgICAgICBVU0NS
SVBUX0JBVEFLICAgICAgICAgICAgICAgICAgICAgICAgID0gNjMsIC8qIEJhdGsgKi8KKyAgICAg
IFVTQ1JJUFRfQkxJU1NZTUJPTFMgICAgICAgICAgICAgICAgICAgPSA2NCwgLyogQmxpcyAqLwor
ICAgICAgVVNDUklQVF9CUkFITUkgICAgICAgICAgICAgICAgICAgICAgICA9IDY1LCAvKiBCcmFo
ICovCisgICAgICBVU0NSSVBUX0NIQU0gICAgICAgICAgICAgICAgICAgICAgICAgID0gNjYsIC8q
IENoYW0gKi8KKyAgICAgIFVTQ1JJUFRfQ0lSVEggICAgICAgICAgICAgICAgICAgICAgICAgPSA2
NywgLyogQ2lydCAqLworICAgICAgVVNDUklQVF9PTERfQ0hVUkNIX1NMQVZPTklDX0NZUklMTElD
ICA9IDY4LCAvKiBDeXJzICovCisgICAgICBVU0NSSVBUX0RFTU9USUNfRUdZUFRJQU4gICAgICAg
ICAgICAgID0gNjksIC8qIEVneWQgKi8KKyAgICAgIFVTQ1JJUFRfSElFUkFUSUNfRUdZUFRJQU4g
ICAgICAgICAgICAgPSA3MCwgLyogRWd5aCAqLworICAgICAgVVNDUklQVF9FR1lQVElBTl9ISUVS
T0dMWVBIUyAgICAgICAgICA9IDcxLCAvKiBFZ3lwICovCisgICAgICBVU0NSSVBUX0tIVVRTVVJJ
ICAgICAgICAgICAgICAgICAgICAgID0gNzIsIC8qIEdlb2sgKi8KKyAgICAgIFVTQ1JJUFRfU0lN
UExJRklFRF9IQU4gICAgICAgICAgICAgICAgPSA3MywgLyogSGFucyAqLworICAgICAgVVNDUklQ
VF9UUkFESVRJT05BTF9IQU4gICAgICAgICAgICAgICA9IDc0LCAvKiBIYW50ICovCisgICAgICBV
U0NSSVBUX1BBSEFXSF9ITU9ORyAgICAgICAgICAgICAgICAgID0gNzUsIC8qIEhtbmcgKi8KKyAg
ICAgIFVTQ1JJUFRfT0xEX0hVTkdBUklBTiAgICAgICAgICAgICAgICAgPSA3NiwgLyogSHVuZyAq
LworICAgICAgVVNDUklQVF9IQVJBUFBBTl9JTkRVUyAgICAgICAgICAgICAgICA9IDc3LCAvKiBJ
bmRzICovCisgICAgICBVU0NSSVBUX0pBVkFORVNFICAgICAgICAgICAgICAgICAgICAgID0gNzgs
IC8qIEphdmEgKi8KKyAgICAgIFVTQ1JJUFRfS0FZQUhfTEkgICAgICAgICAgICAgICAgICAgICAg
PSA3OSwgLyogS2FsaSAqLworICAgICAgVVNDUklQVF9MQVRJTl9GUkFLVFVSICAgICAgICAgICAg
ICAgICA9IDgwLCAvKiBMYXRmICovCisgICAgICBVU0NSSVBUX0xBVElOX0dBRUxJQyAgICAgICAg
ICAgICAgICAgID0gODEsIC8qIExhdGcgKi8KKyAgICAgIFVTQ1JJUFRfTEVQQ0hBICAgICAgICAg
ICAgICAgICAgICAgICAgPSA4MiwgLyogTGVwYyAqLworICAgICAgVVNDUklQVF9MSU5FQVJfQSAg
ICAgICAgICAgICAgICAgICAgICA9IDgzLCAvKiBMaW5hICovCisgICAgICBVU0NSSVBUX01BTkRB
RUFOICAgICAgICAgICAgICAgICAgICAgID0gODQsIC8qIE1hbmQgKi8KKyAgICAgIFVTQ1JJUFRf
TUFZQU5fSElFUk9HTFlQSFMgICAgICAgICAgICAgPSA4NSwgLyogTWF5YSAqLworICAgICAgVVND
UklQVF9NRVJPSVRJQyAgICAgICAgICAgICAgICAgICAgICA9IDg2LCAvKiBNZXJvICovCisgICAg
ICBVU0NSSVBUX05LTyAgICAgICAgICAgICAgICAgICAgICAgICAgID0gODcsIC8qIE5rb28gKi8K
KyAgICAgIFVTQ1JJUFRfT1JLSE9OICAgICAgICAgICAgICAgICAgICAgICAgPSA4OCwgLyogT3Jr
aCAqLworICAgICAgVVNDUklQVF9PTERfUEVSTUlDICAgICAgICAgICAgICAgICAgICA9IDg5LCAv
KiBQZXJtICovCisgICAgICBVU0NSSVBUX1BIQUdTX1BBICAgICAgICAgICAgICAgICAgICAgID0g
OTAsIC8qIFBoYWcgKi8KKyAgICAgIFVTQ1JJUFRfUEhPRU5JQ0lBTiAgICAgICAgICAgICAgICAg
ICAgPSA5MSwgLyogUGhueCAqLworICAgICAgVVNDUklQVF9QSE9ORVRJQ19QT0xMQVJEICAgICAg
ICAgICAgICA9IDkyLCAvKiBQbHJkICovCisgICAgICBVU0NSSVBUX1JPTkdPUk9OR08gICAgICAg
ICAgICAgICAgICAgID0gOTMsIC8qIFJvcm8gKi8KKyAgICAgIFVTQ1JJUFRfU0FSQVRJICAgICAg
ICAgICAgICAgICAgICAgICAgPSA5NCwgLyogU2FyYSAqLworICAgICAgVVNDUklQVF9FU1RSQU5H
RUxPX1NZUklBQyAgICAgICAgICAgICA9IDk1LCAvKiBTeXJlICovCisgICAgICBVU0NSSVBUX1dF
U1RFUk5fU1lSSUFDICAgICAgICAgICAgICAgID0gOTYsIC8qIFN5cmogKi8KKyAgICAgIFVTQ1JJ
UFRfRUFTVEVSTl9TWVJJQUMgICAgICAgICAgICAgICAgPSA5NywgLyogU3lybiAqLworICAgICAg
VVNDUklQVF9URU5HV0FSICAgICAgICAgICAgICAgICAgICAgICA9IDk4LCAvKiBUZW5nICovCisg
ICAgICBVU0NSSVBUX1ZBSSAgICAgICAgICAgICAgICAgICAgICAgICAgID0gOTksIC8qIFZhaWkg
Ki8KKyAgICAgIFVTQ1JJUFRfVklTSUJMRV9TUEVFQ0ggICAgICAgICAgICAgICAgPSAxMDAsIC8q
IFZpc3AgKi8KKyAgICAgIFVTQ1JJUFRfQ1VORUlGT1JNICAgICAgICAgICAgICAgICAgICAgPSAx
MDEsLyogWHN1eCAqLworICAgICAgVVNDUklQVF9VTldSSVRURU5fTEFOR1VBR0VTICAgICAgICAg
ICA9IDEwMiwvKiBaeHh4ICovCisgICAgICBVU0NSSVBUX1VOS05PV04gICAgICAgICAgICAgICAg
ICAgICAgID0gMTAzLC8qIFp6enogKi8gLyogVW5rbm93bj0iQ29kZSBmb3IgdW5jb2RlZCBzY3Jp
cHQiLCBmb3IgdW5hc3NpZ25lZCBjb2RlIHBvaW50cyAqLworCisgICAgICAvKiBOZXcgc2NyaXB0
IGNvZGVzIGZyb20gSVNPIDE1OTI0IEBzdGFibGUgSUNVIDMuOCAqLworICAgICAgVVNDUklQVF9D
QVJJQU4gICAgICAgICAgICAgICAgICAgICAgICA9IDEwNCwvKiBDYXJpICovCisgICAgICBVU0NS
SVBUX0pBUEFORVNFICAgICAgICAgICAgICAgICAgICAgID0gMTA1LC8qIEpwYW4gKi8KKyAgICAg
IFVTQ1JJUFRfTEFOTkEgICAgICAgICAgICAgICAgICAgICAgICAgPSAxMDYsLyogTGFuYSAqLwor
ICAgICAgVVNDUklQVF9MWUNJQU4gICAgICAgICAgICAgICAgICAgICAgICA9IDEwNywvKiBMeWNp
ICovCisgICAgICBVU0NSSVBUX0xZRElBTiAgICAgICAgICAgICAgICAgICAgICAgID0gMTA4LC8q
IEx5ZGkgKi8KKyAgICAgIFVTQ1JJUFRfT0xfQ0hJS0kgICAgICAgICAgICAgICAgICAgICAgPSAx
MDksLyogT2xjayAqLworICAgICAgVVNDUklQVF9SRUpBTkcgICAgICAgICAgICAgICAgICAgICAg
ICA9IDExMCwvKiBSam5nICovCisgICAgICBVU0NSSVBUX1NBVVJBU0hUUkEgICAgICAgICAgICAg
ICAgICAgID0gMTExLC8qIFNhdXIgKi8KKyAgICAgIFVTQ1JJUFRfU0lHTl9XUklUSU5HICAgICAg
ICAgICAgICAgICAgPSAxMTIsLyogU2dudyAqLworICAgICAgVVNDUklQVF9TVU5EQU5FU0UgICAg
ICAgICAgICAgICAgICAgICA9IDExMywvKiBTdW5kICovCisgICAgICBVU0NSSVBUX01PT04gICAg
ICAgICAgICAgICAgICAgICAgICAgID0gMTE0LC8qIE1vb24gKi8KKyAgICAgIFVTQ1JJUFRfTUVJ
VEVJX01BWUVLICAgICAgICAgICAgICAgICAgPSAxMTUsLyogTXRlaSAqLworCisgICAgICAvKiBO
ZXcgc2NyaXB0IGNvZGVzIGZyb20gSVNPIDE1OTI0IEBzdGFibGUgSUNVIDQuMCAqLworICAgICAg
VVNDUklQVF9JTVBFUklBTF9BUkFNQUlDICAgICAgICAgICAgICA9IDExNiwvKiBBcm1pICovCisg
ICAgICBVU0NSSVBUX0FWRVNUQU4gICAgICAgICAgICAgICAgICAgICAgID0gMTE3LC8qIEF2c3Qg
Ki8KKyAgICAgIFVTQ1JJUFRfQ0hBS01BICAgICAgICAgICAgICAgICAgICAgICAgPSAxMTgsLyog
Q2FrbSAqLworICAgICAgVVNDUklQVF9LT1JFQU4gICAgICAgICAgICAgICAgICAgICAgICA9IDEx
OSwvKiBLb3JlICovCisgICAgICBVU0NSSVBUX0tBSVRISSAgICAgICAgICAgICAgICAgICAgICAg
ID0gMTIwLC8qIEt0aGkgKi8KKyAgICAgIFVTQ1JJUFRfTUFOSUNIQUVBTiAgICAgICAgICAgICAg
ICAgICAgPSAxMjEsLyogTWFuaSAqLworICAgICAgVVNDUklQVF9JTlNDUklQVElPTkFMX1BBSExB
VkkgICAgICAgICA9IDEyMiwvKiBQaGxpICovCisgICAgICBVU0NSSVBUX1BTQUxURVJfUEFITEFW
SSAgICAgICAgICAgICAgID0gMTIzLC8qIFBobHAgKi8KKyAgICAgIFVTQ1JJUFRfQk9PS19QQUhM
QVZJICAgICAgICAgICAgICAgICAgPSAxMjQsLyogUGhsdiAqLworICAgICAgVVNDUklQVF9JTlND
UklQVElPTkFMX1BBUlRISUFOICAgICAgICA9IDEyNSwvKiBQcnRpICovCisgICAgICBVU0NSSVBU
X1NBTUFSSVRBTiAgICAgICAgICAgICAgICAgICAgID0gMTI2LC8qIFNhbXIgKi8KKyAgICAgIFVT
Q1JJUFRfVEFJX1ZJRVQgICAgICAgICAgICAgICAgICAgICAgPSAxMjcsLyogVGF2dCAqLworICAg
ICAgVVNDUklQVF9NQVRIRU1BVElDQUxfTk9UQVRJT04gICAgICAgICA9IDEyOCwvKiBabXRoICov
CisgICAgICBVU0NSSVBUX1NZTUJPTFMgICAgICAgICAgICAgICAgICAgICAgID0gMTI5LC8qIFpz
eW0gKi8KKworICAgICAgLyogUHJpdmF0ZSB1c2UgY29kZXMgZnJvbSBRYWFhIC0gUWFieCBhcmUg
bm90IHN1cHBvcnRlZCovCisgICAgICBVU0NSSVBUX0NPREVfTElNSVQgICAgPSAxMzAKK30gVVNj
cmlwdENvZGU7CisKKyNlbmRpZiAK
</data>
<flag name="review"
          id="32969"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52130</attachid>
            <date>2010-03-30 23:13:11 -0700</date>
            <delta_ts>2010-03-31 10:36:26 -0700</delta_ts>
            <desc>patch with style issues addressed</desc>
            <filename>20797.patch.4d</filename>
            <type>text/plain</type>
            <size>33337</size>
            <attacher name="Jungshik Shin">jshin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NjgxNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMTAtMDMtMzAgIEp1bmdzaGlrIFNoaW4gIDxqc2hpbkBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCisKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzk3CisKKyAgICAgICAgTWFr
ZSBnZW5lcmljIGZvbnQgZmFtaWx5IGdldHRlcnMvc2V0dGVycyBhY2NlcHQgYW4gYWRkaXRpb25h
bAorICAgICAgICBhcmd1bWVudCAoc2NyaXB0IGNvZGUpLiBJdCBoYXMgYSBkZWZhdWx0IHZhbHVl
IHNvIHRoYXQgaWYgYW4gZW1iZWRkZXIKKyAgICAgICAgZG9lcyBub3QgaGF2ZS93YW50IGEgcGVy
LXNjcmlwdCBmb250IGZhbWlseSBzZXR0aW5nLCBjYWxsLXNpdGVzCisgICAgICAgIGRvbid0IGhh
dmUgdG8gYmUgY2hhbmdlZC4KKyAgICAgICAgVGhpcyBpcyB0byBwcmVwYXJlIGZvciBmaXhpbmcg
YnVnIDEwODc0IChmb250IHNlbGVjdGlvbiBpcyBub3QKKyAgICAgICAgbGFuZ3VhZ2UtZGVwZW5k
ZW50KSBhbmQgYnVnIDE4MDg1LgorCisgICAgICAgIFRoZXJlIHNob3VsZCBiZSBubyBjaGFuZ2Ug
aW4gbGF5b3V0IGFuZCBubyBuZXcgbGF5b3V0IHRlc3QKKyAgICAgICAgaXMgYWRkZWQuCisKKyAg
ICAgICAgKiBXZWJDb3JlLmJhc2UuZXhwOiBDaGFuZ2UgdGhlIHN5bWJvbCBuYW1lcyBmb3IgZ2Vu
ZXJpYyBmb250IGZhbWlseSBnZXR0ZXIvc2V0dGVycy4KKyAgICAgICAgKiBwYWdlL1NldHRpbmdz
LmNwcDogQWRkIGEgcGFyYW1ldGVyIChTY3JpcHRDb2RlKSB0byBnZW5lcmljIGZvbnQgZmFtaWx5
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldHRlci9zZXR0ZXJzLiAKKyAgICAgICAg
KiBwYWdlL1NldHRpbmdzLmg6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9VU2NyaXB0Q29kZS5o
OiBBZGRlZC4gVGhpcyBpcyBmb3IgcG9ydHMgdGhhdAorICAgICAgICAgIGRvIG5vdCB1c2UgSUNV
LiB0aGUgcGFydCBvZiBJQ1UncyBjb21tb24vdW5pY29kZS91c2NyaXB0LmgKKyAgICAgICAgICB0
aGF0IGRlZmluZXMgc2NyaXB0IGNvZGUgZW51bSB3YXMgY29waWVkLiBUbyBrZWVwIGVudW1zIGNv
bXBhdGlibGUKKyAgICAgICAgICB3aXRoIHRob3NlIGluIElDVSwgd2UgZG9uJ3QgZ2VuZXJhdGUg
dGhlIGxpc3Qgb3V0IG9mIFNjcmlwdHMudHh0CisgICAgICAgICAgb2YgdGhlIFVuaWNvZGUgRGF0
YSBiYXNlIG9yIENMRFIncyBkYXRhLgorCiAyMDEwLTAzLTMwICBFbnJpY2EgQ2FzdWNjaSAgPGVu
cmljYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4
OiBXZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3Jl
LmJhc2UuZXhwCShyZXZpc2lvbiA1NjgxNCkKKysrIFdlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cAko
d29ya2luZyBjb3B5KQpAQCAtNjUxLDE5ICs2NTEsMTkgQEAgX19aTjdXZWJDb3JlOFNldHRpbmdz
MTZzZXRVc2VzUGFnZUNhY2hlRQogX19aTjdXZWJDb3JlOFNldHRpbmdzMTdzZXRQbHVnaW5zRW5h
YmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldERPTVBhc3RlQWxsb3dlZEViCiBfX1pO
N1dlYkNvcmU4U2V0dGluZ3MxOHNldERlZmF1bHRGb250U2l6ZUVpCi1fX1pON1dlYkNvcmU4U2V0
dGluZ3MxOHNldEZpeGVkRm9udEZhbWlseUVSS05TXzEyQXRvbWljU3RyaW5nRQorX19aTjdXZWJD
b3JlOFNldHRpbmdzMThzZXRGaXhlZEZvbnRGYW1pbHlFUktOU18xMkF0b21pY1N0cmluZ0UxMVVT
Y3JpcHRDb2RlCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldE1pbmltdW1Gb250U2l6ZUVpCi1f
X1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldFNlcmlmRm9udEZhbWlseUVSS05TXzEyQXRvbWljU3Ry
aW5nRQorX19aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRTZXJpZkZvbnRGYW1pbHlFUktOU18xMkF0
b21pY1N0cmluZ0UxMVVTY3JpcHRDb2RlCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOXNldFNob3dE
ZWJ1Z0JvcmRlcnNFYgotX19aTjdXZWJDb3JlOFNldHRpbmdzMjBzZXRDdXJzaXZlRm9udEZhbWls
eUVSS05TXzEyQXRvbWljU3RyaW5nRQotX19aTjdXZWJDb3JlOFNldHRpbmdzMjBzZXRGYW50YXN5
Rm9udEZhbWlseUVSS05TXzEyQXRvbWljU3RyaW5nRQorX19aTjdXZWJDb3JlOFNldHRpbmdzMjBz
ZXRDdXJzaXZlRm9udEZhbWlseUVSS05TXzEyQXRvbWljU3RyaW5nRTExVVNjcmlwdENvZGUKK19f
Wk43V2ViQ29yZThTZXR0aW5nczIwc2V0RmFudGFzeUZvbnRGYW1pbHlFUktOU18xMkF0b21pY1N0
cmluZ0UxMVVTY3JpcHRDb2RlCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMHNldEphdmFTY3JpcHRF
bmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczIwc2V0WFNTQXVkaXRvckVuYWJsZWRFYgog
X19aTjdXZWJDb3JlOFNldHRpbmdzMjFzZXRTaG93UmVwYWludENvdW50ZXJFYgotX19aTjdXZWJD
b3JlOFNldHRpbmdzMjFzZXRTdGFuZGFyZEZvbnRGYW1pbHlFUktOU18xMkF0b21pY1N0cmluZ0UK
K19fWk43V2ViQ29yZThTZXR0aW5nczIxc2V0U3RhbmRhcmRGb250RmFtaWx5RVJLTlNfMTJBdG9t
aWNTdHJpbmdFMTFVU2NyaXB0Q29kZQogX19aTjdXZWJDb3JlOFNldHRpbmdzMjFzZXRXZWJTZWN1
cml0eUVuYWJsZWRFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMjJzZXRMb2NhbFN0b3JhZ2VFbmFi
bGVkRWIKLV9fWk43V2ViQ29yZThTZXR0aW5nczIyc2V0U2Fuc1NlcmlmRm9udEZhbWlseUVSS05T
XzEyQXRvbWljU3RyaW5nRQorX19aTjdXZWJDb3JlOFNldHRpbmdzMjJzZXRTYW5zU2VyaWZGb250
RmFtaWx5RVJLTlNfMTJBdG9taWNTdHJpbmdFMTFVU2NyaXB0Q29kZQogX19aTjdXZWJDb3JlOFNl
dHRpbmdzMjJzZXRTaG93c1VSTHNJblRvb2xUaXBzRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczIz
c2V0RGVmYXVsdEZpeGVkRm9udFNpemVFaQogX19aTjdXZWJDb3JlOFNldHRpbmdzMjNzZXRFZGl0
YWJsZUxpbmtCZWhhdmlvckVOU18yMEVkaXRhYmxlTGlua0JlaGF2aW9yRQpAQCAtMTAwNSw2ICsx
MDA1LDEyIEBAIF9fWk5LN1dlYkNvcmU4UG9zaXRpb24xMGRvd25zdHJlYW1FTlMwXzIKIF9fWk5L
N1dlYkNvcmU4UG9zaXRpb24yNWxlYWRpbmdXaGl0ZXNwYWNlUG9zaXRpb25FTlNfOUVBZmZpbml0
eUViCiBfX1pOSzdXZWJDb3JlOFBvc2l0aW9uMjZ0cmFpbGluZ1doaXRlc3BhY2VQb3NpdGlvbkVO
U185RUFmZmluaXR5RWIKIF9fWk5LN1dlYkNvcmU4UG9zaXRpb244dXBzdHJlYW1FTlMwXzI3RWRp
dGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlRQorX19aTks3V2ViQ29yZThTZXR0aW5nczE1Zml4ZWRG
b250RmFtaWx5RTExVVNjcmlwdENvZGUKK19fWk5LN1dlYkNvcmU4U2V0dGluZ3MxNXNlcmlmRm9u
dEZhbWlseUUxMVVTY3JpcHRDb2RlCitfX1pOSzdXZWJDb3JlOFNldHRpbmdzMTdjdXJzaXZlRm9u
dEZhbWlseUUxMVVTY3JpcHRDb2RlCitfX1pOSzdXZWJDb3JlOFNldHRpbmdzMTdmYW50YXN5Rm9u
dEZhbWlseUUxMVVTY3JpcHRDb2RlCitfX1pOSzdXZWJDb3JlOFNldHRpbmdzMThzdGFuZGFyZEZv
bnRGYW1pbHlFMTFVU2NyaXB0Q29kZQorX19aTks3V2ViQ29yZThTZXR0aW5nczE5c2Fuc1Nlcmlm
Rm9udEZhbWlseUUxMVVTY3JpcHRDb2RlCiBfX1pOSzdXZWJDb3JlOURPTVdpbmRvdzI3cGVuZGlu
Z1VubG9hZEV2ZW50TGlzdGVuZXJzRXYKIF9fWk5LN1dlYkNvcmU5RmxvYXRSZWN0Y3Y3X05TUmVj
dEV2CiBfX1pOSzdXZWJDb3JlOUZyYW1lVHJlZTEydHJhdmVyc2VOZXh0RVBLTlNfNUZyYW1lRQpJ
bmRleDogV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuY3BwCShyZXZpc2lvbiA1NjgxNCkKKysrIFdlYkNvcmUvcGFnZS9TZXR0aW5n
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDYgKzQ2LDIyIEBAIHN0YXRpYyB2b2lkIHNldE5l
ZWRzUmVhcHBseVN0eWxlc0luQWxsRnIKICAgICAgICAgZnJhbWUtPnNldE5lZWRzUmVhcHBseVN0
eWxlcygpOwogfQogCitzdGF0aWMgaW5saW5lIHZvaWQgc2V0R2VuZXJpY0ZvbnRGYW1pbHlNYXAo
U2NyaXB0Rm9udEZhbWlseU1hcCYgZm9udE1hcCwgY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHks
IFVTY3JpcHRDb2RlIHNjcmlwdCwgUGFnZSogcGFnZSkKK3sKKyAgICAvLyBVU0NSSVBUX0lOVkFM
SURfQ09ERSBpcyAtMSBhbmQgVVNSSVRQX0NPTU1PTiBpcyAwLCB3aGljaCBhcmUgc3BlY2lhbCAo
ZGVsZXRlZCBhbmQgZW1wdHkpIGluIEhhc2hNYXAgd2l0aCBpbnQga2V5cy4KKyAgICAvLyBUbyBh
dm9pZCB1c2luZyAtMSBhbmQgMCBhcyBhIGtleSwgd2UgYWRkIDIuIAorICAgIGlmIChmb250TWFw
LnNldChzdGF0aWNfY2FzdDxpbnQ+KHNjcmlwdCkgKyAyLCBmYW1pbHkpLnNlY29uZCkKKyAgICAg
ICAgc2V0TmVlZHNSZWFwcGx5U3R5bGVzSW5BbGxGcmFtZXMocGFnZSk7Cit9CisKK3N0YXRpYyBp
bmxpbmUgY29uc3QgQXRvbWljU3RyaW5nJiBnZXRHZW5lcmljRm9udEZhbWlseUZvclNjcmlwdChj
b25zdCBTY3JpcHRGb250RmFtaWx5TWFwJiBmb250TWFwLCBVU2NyaXB0Q29kZSBzY3JpcHQpIAor
eworICAgIFNjcmlwdEZvbnRGYW1pbHlNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gZm9udE1hcC5m
aW5kKHN0YXRpY19jYXN0PGludD4oc2NyaXB0KSArIDIpOworICAgIGlmIChpdCAhPSBmb250TWFw
LmVuZCgpKQorICAgICAgICByZXR1cm4gaXQtPnNlY29uZDsKKyAgICByZXR1cm4gZW1wdHlBdG9t
OworfQorCiAjaWYgVVNFKFNBRkFSSV9USEVNRSkKIGJvb2wgU2V0dGluZ3M6OmdTaG91bGRQYWlu
dE5hdGl2ZUNvbnRyb2xzID0gdHJ1ZTsKICNlbmRpZgpAQCAtMTMyLDU4ICsxNDgsNjQgQEAgU2V0
dGluZ3M6OlNldHRpbmdzKFBhZ2UqIHBhZ2UpCiAgICAgQXRvbWljU3RyaW5nOjppbml0KCk7CiB9
CiAKLXZvaWQgU2V0dGluZ3M6OnNldFN0YW5kYXJkRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJp
bmcmIHN0YW5kYXJkRm9udEZhbWlseSkKK2NvbnN0IEF0b21pY1N0cmluZyYgU2V0dGluZ3M6OnN0
YW5kYXJkRm9udEZhbWlseShVU2NyaXB0Q29kZSBzY3JpcHQpIGNvbnN0CiB7Ci0gICAgaWYgKHN0
YW5kYXJkRm9udEZhbWlseSA9PSBtX3N0YW5kYXJkRm9udEZhbWlseSkKLSAgICAgICAgcmV0dXJu
OworICAgIHJldHVybiBnZXRHZW5lcmljRm9udEZhbWlseUZvclNjcmlwdChtX3N0YW5kYXJkRm9u
dEZhbWlseU1hcCwgc2NyaXB0KTsKK30KIAotICAgIG1fc3RhbmRhcmRGb250RmFtaWx5ID0gc3Rh
bmRhcmRGb250RmFtaWx5OwotICAgIHNldE5lZWRzUmVhcHBseVN0eWxlc0luQWxsRnJhbWVzKG1f
cGFnZSk7Cit2b2lkIFNldHRpbmdzOjpzZXRTdGFuZGFyZEZvbnRGYW1pbHkoY29uc3QgQXRvbWlj
U3RyaW5nJiBmYW1pbHksIFVTY3JpcHRDb2RlIHNjcmlwdCkKK3sKKyAgICBzZXRHZW5lcmljRm9u
dEZhbWlseU1hcChtX3N0YW5kYXJkRm9udEZhbWlseU1hcCwgZmFtaWx5LCBzY3JpcHQsIG1fcGFn
ZSk7CiB9CiAKLXZvaWQgU2V0dGluZ3M6OnNldEZpeGVkRm9udEZhbWlseShjb25zdCBBdG9taWNT
dHJpbmcmIGZpeGVkRm9udEZhbWlseSkKK2NvbnN0IEF0b21pY1N0cmluZyYgU2V0dGluZ3M6OmZp
eGVkRm9udEZhbWlseShVU2NyaXB0Q29kZSBzY3JpcHQpIGNvbnN0CiB7Ci0gICAgaWYgKG1fZml4
ZWRGb250RmFtaWx5ID09IGZpeGVkRm9udEZhbWlseSkKLSAgICAgICAgcmV0dXJuOwotICAgICAg
ICAKLSAgICBtX2ZpeGVkRm9udEZhbWlseSA9IGZpeGVkRm9udEZhbWlseTsKLSAgICBzZXROZWVk
c1JlYXBwbHlTdHlsZXNJbkFsbEZyYW1lcyhtX3BhZ2UpOworICAgIHJldHVybiBnZXRHZW5lcmlj
Rm9udEZhbWlseUZvclNjcmlwdChtX2ZpeGVkRm9udEZhbWlseU1hcCwgc2NyaXB0KTsKIH0KIAot
dm9pZCBTZXR0aW5nczo6c2V0U2VyaWZGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgc2Vy
aWZGb250RmFtaWx5KQordm9pZCBTZXR0aW5nczo6c2V0Rml4ZWRGb250RmFtaWx5KGNvbnN0IEF0
b21pY1N0cmluZyYgZmFtaWx5LCBVU2NyaXB0Q29kZSBzY3JpcHQpCiB7Ci0gICAgaWYgKG1fc2Vy
aWZGb250RmFtaWx5ID09IHNlcmlmRm9udEZhbWlseSkKLSAgICAgICAgcmV0dXJuOwotICAgICAg
ICAKLSAgICBtX3NlcmlmRm9udEZhbWlseSA9IHNlcmlmRm9udEZhbWlseTsKLSAgICBzZXROZWVk
c1JlYXBwbHlTdHlsZXNJbkFsbEZyYW1lcyhtX3BhZ2UpOworICAgIHNldEdlbmVyaWNGb250RmFt
aWx5TWFwKG1fZml4ZWRGb250RmFtaWx5TWFwLCBmYW1pbHksIHNjcmlwdCwgbV9wYWdlKTsKIH0K
IAotdm9pZCBTZXR0aW5nczo6c2V0U2Fuc1NlcmlmRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJp
bmcmIHNhbnNTZXJpZkZvbnRGYW1pbHkpCitjb25zdCBBdG9taWNTdHJpbmcmIFNldHRpbmdzOjpz
ZXJpZkZvbnRGYW1pbHkoVVNjcmlwdENvZGUgc2NyaXB0KSBjb25zdAogewotICAgIGlmIChtX3Nh
bnNTZXJpZkZvbnRGYW1pbHkgPT0gc2Fuc1NlcmlmRm9udEZhbWlseSkKLSAgICAgICAgcmV0dXJu
OwotICAgICAgICAKLSAgICBtX3NhbnNTZXJpZkZvbnRGYW1pbHkgPSBzYW5zU2VyaWZGb250RmFt
aWx5OyAKLSAgICBzZXROZWVkc1JlYXBwbHlTdHlsZXNJbkFsbEZyYW1lcyhtX3BhZ2UpOworICAg
IHJldHVybiBnZXRHZW5lcmljRm9udEZhbWlseUZvclNjcmlwdChtX3NlcmlmRm9udEZhbWlseU1h
cCwgc2NyaXB0KTsKIH0KIAotdm9pZCBTZXR0aW5nczo6c2V0Q3Vyc2l2ZUZvbnRGYW1pbHkoY29u
c3QgQXRvbWljU3RyaW5nJiBjdXJzaXZlRm9udEZhbWlseSkKK3ZvaWQgU2V0dGluZ3M6OnNldFNl
cmlmRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSwgVVNjcmlwdENvZGUgc2Ny
aXB0KQogewotICAgIGlmIChtX2N1cnNpdmVGb250RmFtaWx5ID09IGN1cnNpdmVGb250RmFtaWx5
KQotICAgICAgICByZXR1cm47Ci0gICAgICAgIAotICAgIG1fY3Vyc2l2ZUZvbnRGYW1pbHkgPSBj
dXJzaXZlRm9udEZhbWlseTsKLSAgICBzZXROZWVkc1JlYXBwbHlTdHlsZXNJbkFsbEZyYW1lcyht
X3BhZ2UpOworICAgIHNldEdlbmVyaWNGb250RmFtaWx5TWFwKG1fc2VyaWZGb250RmFtaWx5TWFw
LCBmYW1pbHksIHNjcmlwdCwgbV9wYWdlKTsKIH0KIAotdm9pZCBTZXR0aW5nczo6c2V0RmFudGFz
eUZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW50YXN5Rm9udEZhbWlseSkKK2NvbnN0
IEF0b21pY1N0cmluZyYgU2V0dGluZ3M6OnNhbnNTZXJpZkZvbnRGYW1pbHkoVVNjcmlwdENvZGUg
c2NyaXB0KSBjb25zdAogewotICAgIGlmIChtX2ZhbnRhc3lGb250RmFtaWx5ID09IGZhbnRhc3lG
b250RmFtaWx5KQotICAgICAgICByZXR1cm47Ci0gICAgICAgIAotICAgIG1fZmFudGFzeUZvbnRG
YW1pbHkgPSBmYW50YXN5Rm9udEZhbWlseTsKLSAgICBzZXROZWVkc1JlYXBwbHlTdHlsZXNJbkFs
bEZyYW1lcyhtX3BhZ2UpOworICAgIHJldHVybiBnZXRHZW5lcmljRm9udEZhbWlseUZvclNjcmlw
dChtX3NhbnNTZXJpZkZvbnRGYW1pbHlNYXAsIHNjcmlwdCk7Cit9CisKK3ZvaWQgU2V0dGluZ3M6
OnNldFNhbnNTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIFVTY3Jp
cHRDb2RlIHNjcmlwdCkKK3sKKyAgICBzZXRHZW5lcmljRm9udEZhbWlseU1hcChtX3NhbnNTZXJp
ZkZvbnRGYW1pbHlNYXAsIGZhbWlseSwgc2NyaXB0LCBtX3BhZ2UpOworfQorCitjb25zdCBBdG9t
aWNTdHJpbmcmIFNldHRpbmdzOjpjdXJzaXZlRm9udEZhbWlseShVU2NyaXB0Q29kZSBzY3JpcHQp
IGNvbnN0Cit7CisgICAgcmV0dXJuIGdldEdlbmVyaWNGb250RmFtaWx5Rm9yU2NyaXB0KG1fY3Vy
c2l2ZUZvbnRGYW1pbHlNYXAsIHNjcmlwdCk7Cit9CisKK3ZvaWQgU2V0dGluZ3M6OnNldEN1cnNp
dmVGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5LCBVU2NyaXB0Q29kZSBzY3Jp
cHQpCit7CisgICAgc2V0R2VuZXJpY0ZvbnRGYW1pbHlNYXAobV9jdXJzaXZlRm9udEZhbWlseU1h
cCwgZmFtaWx5LCBzY3JpcHQsIG1fcGFnZSk7Cit9CisKK2NvbnN0IEF0b21pY1N0cmluZyYgU2V0
dGluZ3M6OmZhbnRhc3lGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gZ2V0R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQobV9mYW50YXN5Rm9udEZhbWls
eU1hcCwgc2NyaXB0KTsKK30KKwordm9pZCBTZXR0aW5nczo6c2V0RmFudGFzeUZvbnRGYW1pbHko
Y29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIFVTY3JpcHRDb2RlIHNjcmlwdCkKK3sKKyAgICBz
ZXRHZW5lcmljRm9udEZhbWlseU1hcChtX2ZhbnRhc3lGb250RmFtaWx5TWFwLCBmYW1pbHksIHNj
cmlwdCwgbV9wYWdlKTsKIH0KIAogdm9pZCBTZXR0aW5nczo6c2V0TWluaW11bUZvbnRTaXplKGlu
dCBtaW5pbXVtRm9udFNpemUpCkluZGV4OiBXZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAkocmV2aXNpb24gNTY4MTQpCisrKyBXZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsOCArMjgsMTUgQEAKICNk
ZWZpbmUgU2V0dGluZ3NfaAogCiAjaW5jbHVkZSAiQXRvbWljU3RyaW5nLmgiCisjaW5jbHVkZSAi
QXRvbWljU3RyaW5nSGFzaC5oIgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5j
bHVkZSAiS1VSTC5oIgorI2lmIFVTRShJQ1VfVU5JQ09ERSkKKyNpbmNsdWRlICJ1bmljb2RlL3Vz
Y3JpcHQuaCIKKyNlbHNlCisjaW5jbHVkZSAiVVNjcmlwdENvZGUuaCIKKyNlbmRpZgorI2luY2x1
ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSAiWm9vbU1vZGUuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtNjUsMjcgKzcyLDI4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyBp
ZiBwb3NzaWJsZSBpbiB0aGUgZnV0dXJlLgogICAgIGVudW0gRWRpdGluZ0JlaGF2aW9yIHsgRWRp
dGluZ01hY0JlaGF2aW9yLCBFZGl0aW5nV2luZG93c0JlaGF2aW9yIH07CiAKKyAgICB0eXBlZGVm
IEhhc2hNYXA8aW50LCBBdG9taWNTdHJpbmc+IFNjcmlwdEZvbnRGYW1pbHlNYXA7CisKICAgICBj
bGFzcyBTZXR0aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAg
ICBTZXR0aW5ncyhQYWdlKik7CisgICAgICAgIHZvaWQgc2V0U3RhbmRhcmRGb250RmFtaWx5KGNv
bnN0IEF0b21pY1N0cmluZyYsIFVTY3JpcHRDb2RlIHNjcmlwdCA9IFVTQ1JJUFRfQ09NTU9OKTsK
KyAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBzdGFuZGFyZEZvbnRGYW1pbHkoVVNjcmlwdENv
ZGUgc2NyaXB0ID0gVVNDUklQVF9DT01NT04pIGNvbnN0OwogCi0gICAgICAgIHZvaWQgc2V0U3Rh
bmRhcmRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYpOwotICAgICAgICBjb25zdCBBdG9t
aWNTdHJpbmcmIHN0YW5kYXJkRm9udEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhbmRhcmRG
b250RmFtaWx5OyB9Ci0KLSAgICAgICAgdm9pZCBzZXRGaXhlZEZvbnRGYW1pbHkoY29uc3QgQXRv
bWljU3RyaW5nJik7Ci0gICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgZml4ZWRGb250RmFtaWx5
KCkgY29uc3QgeyByZXR1cm4gbV9maXhlZEZvbnRGYW1pbHk7IH0KKyAgICAgICAgdm9pZCBzZXRG
aXhlZEZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiwgVVNjcmlwdENvZGUgc2NyaXB0ID0g
VVNDUklQVF9DT01NT04pOworICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGZpeGVkRm9udEZh
bWlseShVU2NyaXB0Q29kZSBzY3JpcHQgPSBVU0NSSVBUX0NPTU1PTikgY29uc3Q7CiAKLSAgICAg
ICAgdm9pZCBzZXRTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJik7Ci0gICAgICAg
IGNvbnN0IEF0b21pY1N0cmluZyYgc2VyaWZGb250RmFtaWx5KCkgY29uc3QgeyByZXR1cm4gbV9z
ZXJpZkZvbnRGYW1pbHk7IH0KKyAgICAgICAgdm9pZCBzZXRTZXJpZkZvbnRGYW1pbHkoY29uc3Qg
QXRvbWljU3RyaW5nJiwgVVNjcmlwdENvZGUgc2NyaXB0ID0gVVNDUklQVF9DT01NT04pOworICAg
ICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHNlcmlmRm9udEZhbWlseShVU2NyaXB0Q29kZSBzY3Jp
cHQgPSBVU0NSSVBUX0NPTU1PTikgY29uc3Q7CiAKLSAgICAgICAgdm9pZCBzZXRTYW5zU2VyaWZG
b250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYpOwotICAgICAgICBjb25zdCBBdG9taWNTdHJp
bmcmIHNhbnNTZXJpZkZvbnRGYW1pbHkoKSBjb25zdCB7IHJldHVybiBtX3NhbnNTZXJpZkZvbnRG
YW1pbHk7IH0KKyAgICAgICAgdm9pZCBzZXRTYW5zU2VyaWZGb250RmFtaWx5KGNvbnN0IEF0b21p
Y1N0cmluZyYsIFVTY3JpcHRDb2RlIHNjcmlwdCA9IFVTQ1JJUFRfQ09NTU9OKTsKKyAgICAgICAg
Y29uc3QgQXRvbWljU3RyaW5nJiBzYW5zU2VyaWZGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlw
dCA9IFVTQ1JJUFRfQ09NTU9OKSBjb25zdDsKIAotICAgICAgICB2b2lkIHNldEN1cnNpdmVGb250
RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYpOwotICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcm
IGN1cnNpdmVGb250RmFtaWx5KCkgY29uc3QgeyByZXR1cm4gbV9jdXJzaXZlRm9udEZhbWlseTsg
fQorICAgICAgICB2b2lkIHNldEN1cnNpdmVGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYs
IFVTY3JpcHRDb2RlIHNjcmlwdCA9IFVTQ1JJUFRfQ09NTU9OKTsKKyAgICAgICAgY29uc3QgQXRv
bWljU3RyaW5nJiBjdXJzaXZlRm9udEZhbWlseShVU2NyaXB0Q29kZSBzY3JpcHQgPSBVU0NSSVBU
X0NPTU1PTikgY29uc3Q7CiAKLSAgICAgICAgdm9pZCBzZXRGYW50YXN5Rm9udEZhbWlseShjb25z
dCBBdG9taWNTdHJpbmcmKTsKLSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBmYW50YXN5Rm9u
dEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fZmFudGFzeUZvbnRGYW1pbHk7IH0KKyAgICAgICAg
dm9pZCBzZXRGYW50YXN5Rm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmLCBVU2NyaXB0Q29k
ZSBzY3JpcHQgPSBVU0NSSVBUX0NPTU1PTik7CisgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYg
ZmFudGFzeUZvbnRGYW1pbHkoVVNjcmlwdENvZGUgc2NyaXB0ID0gVVNDUklQVF9DT01NT04pIGNv
bnN0OwogCiAgICAgICAgIHZvaWQgc2V0TWluaW11bUZvbnRTaXplKGludCk7CiAgICAgICAgIGlu
dCBtaW5pbXVtRm9udFNpemUoKSBjb25zdCB7IHJldHVybiBtX21pbmltdW1Gb250U2l6ZTsgfQpA
QCAtMzAxLDEyICszMDksMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBTdHJpbmcg
bV9mdHBEaXJlY3RvcnlUZW1wbGF0ZVBhdGg7CiAgICAgICAgIFN0cmluZyBtX2xvY2FsU3RvcmFn
ZURhdGFiYXNlUGF0aDsKICAgICAgICAgS1VSTCBtX3VzZXJTdHlsZVNoZWV0TG9jYXRpb247Ci0g
ICAgICAgIEF0b21pY1N0cmluZyBtX3N0YW5kYXJkRm9udEZhbWlseTsKLSAgICAgICAgQXRvbWlj
U3RyaW5nIG1fZml4ZWRGb250RmFtaWx5OwotICAgICAgICBBdG9taWNTdHJpbmcgbV9zZXJpZkZv
bnRGYW1pbHk7Ci0gICAgICAgIEF0b21pY1N0cmluZyBtX3NhbnNTZXJpZkZvbnRGYW1pbHk7Ci0g
ICAgICAgIEF0b21pY1N0cmluZyBtX2N1cnNpdmVGb250RmFtaWx5OwotICAgICAgICBBdG9taWNT
dHJpbmcgbV9mYW50YXN5Rm9udEZhbWlseTsKKworICAgICAgICBTY3JpcHRGb250RmFtaWx5TWFw
IG1fZml4ZWRGb250RmFtaWx5TWFwOworICAgICAgICBTY3JpcHRGb250RmFtaWx5TWFwIG1fc2Vy
aWZGb250RmFtaWx5TWFwOworICAgICAgICBTY3JpcHRGb250RmFtaWx5TWFwIG1fc2Fuc1Nlcmlm
Rm9udEZhbWlseU1hcDsKKyAgICAgICAgU2NyaXB0Rm9udEZhbWlseU1hcCBtX2N1cnNpdmVGb250
RmFtaWx5TWFwOworICAgICAgICBTY3JpcHRGb250RmFtaWx5TWFwIG1fZmFudGFzeUZvbnRGYW1p
bHlNYXA7CisgICAgICAgIFNjcmlwdEZvbnRGYW1pbHlNYXAgbV9zdGFuZGFyZEZvbnRGYW1pbHlN
YXA7CisKICAgICAgICAgRWRpdGFibGVMaW5rQmVoYXZpb3IgbV9lZGl0YWJsZUxpbmtCZWhhdmlv
cjsKICAgICAgICAgVGV4dERpcmVjdGlvblN1Ym1lbnVJbmNsdXNpb25CZWhhdmlvciBtX3RleHRE
aXJlY3Rpb25TdWJtZW51SW5jbHVzaW9uQmVoYXZpb3I7CiAgICAgICAgIGludCBtX21pbmltdW1G
b250U2l6ZTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vdGV4dC9VU2NyaXB0Q29kZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vdGV4dC9VU2NyaXB0Q29kZS5oCShyZXZpc2lvbiAw
KQorKysgV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1VTY3JpcHRDb2RlLmgJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsNDAwIEBACisvKgorICogIENvcHlyaWdodCAoQykgMTk5Ny0yMDA5LCBJbnRlcm5h
dGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCisgKiAgQ29ycG9yYXRpb24gYW5kIG90aGVycy4gIEFs
bCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg
ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQorICogb2YgdGhp
cyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3
YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBp
bmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwg
bW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgYW5kL29yIHNlbGwKKyAqIGNvcGll
cyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0
d2FyZSBpcworICogZnVybmlzaGVkIHRvIGRvIHNvLCBwcm92aWRlZCB0aGF0IHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlKHMpIGFuZCB0aGlzCisgKiBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIg
aW4gYWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUgYW5kIHRoYXQgYm90aCB0aGUKKyAqIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UocykgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyIGlu
IHN1cHBvcnRpbmcKKyAqIGRvY3VtZW50YXRpb24uCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBS
T1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisgKiBFWFBSRVNT
IE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMg
T0YKKyAqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QU5EIE5PTklORlJJTkdFTUVOVAorICogT0YgVEhJUkQgUEFSVFkgUklHSFRTLiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUgorICogSE9MREVSUyBJTkNMVURFRCBJTiBU
SElTIE5PVElDRSBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgT1IgQU5ZCisgKiBTUEVDSUFMIElO
RElSRUNUIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUywgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZF
UgorICogUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhF
UiBJTiBBTiBBQ1RJT04KKyAqIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJ
T1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YKKyAqIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUg
VVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuICAKKyAqIEV4Y2VwdCBhcyBjb250
YWluZWQgaW4gdGhpcyBub3RpY2UsIHRoZSBuYW1lIG9mIGEgY29weXJpZ2h0CisgKiBob2xkZXIg
c2hhbGwgbm90IGJlIHVzZWQgaW4gYWR2ZXJ0aXNpbmcgb3Igb3RoZXJ3aXNlIHRvIHByb21vdGUg
dGhlCisgKiBzYWxlLCB1c2Ugb3Igb3RoZXIgZGVhbGluZ3MgaW4gdGhpcyBTb2Z0d2FyZSB3aXRo
b3V0IHByaW9yIHdyaXR0ZW4KKyAqIGF1dGhvcml6YXRpb24gb2YgdGhlIGNvcHlyaWdodCBob2xk
ZXIuCisqLworCisjaWZuZGVmIFVTY3JpcHRDb2RlX2gKKyNkZWZpbmUgVVNjcmlwdENvZGVfaAor
CisvKioKKyAqIENvbnN0YW50cyBmb3IgVW5pY29kZSBzY3JpcHQgdmFsdWVzIGZyb20gU2NyaXB0
TmFtZXMudHh0IC4KKyAqLworCisvKioKKyAqIFRoZSBVbmljb2RlIHN0YW5kYXJkIGRhdGFiYXNl
IGRvZXMgbm90IGhhdmUgU2NyaXB0TmFtZXMudHh0IGFueSBtb3JlLgorICogSW5zdGVhZCwgaXQg
aGFzIFNjcmlwdHMudHh0LCBmcm9tIHdoaWNoIHRoZSBsaXN0IG9mIHNjcmlwdCBuYW1lcyBjYW4g
YmUKKyAqIGRlcml2ZWQuIFRoZSBsaXN0IGNhbiBhbHNvIGJlIGRlcml2ZWQgZnJvbSB0aGUgQ0xE
UiAoQ29tbW9uIExvY2FsZSBEYXRhCisgKiBSZXBvc2l0b3J5KS4KKyAqIEhvd2V2ZXIsIHRoZSBv
cmRlciBvZiB0aGUgbGlzdCBkZXJpdmVkIGZyb20gZWl0aGVyIHNvdXJjZSB3aWxsIGJlIGRpZmZl
cmVudAorICogZnJvbSB0aGUgb3JkZXIgaW4gdGhpcyBmaWxlLCB3aGljaCBpcyB0aGUgc2FtZSBh
cyBJQ1UncworICogY29tbW9uL3VuaWNvZGUvdXNjcmlwdC5oLiBUbyBrZWVwIHRoZSBiYWNrd2Fy
ZCBjb21wYXRpYmlsaXR5LCBJQ1UncworICogdXNjcmlwdC5oIGFkZCBuZXcgc2NyaXB0IGNvZGVz
IGF0IHRoZSBlbmQgb2YgZXhpc3RpbmcgZW50cmllcyAKKyAqIGluc3RlYWQgb2Ygc29ydGluZyB0
aGVtIGV2ZXJ5dGltZSBpdCdzIHVwZGF0ZWQuIAorICovCit0eXBlZGVmIGVudW0gVVNjcmlwdENv
ZGUgeworICAgICAgVVNDUklQVF9JTlZBTElEX0NPREUgPSAtMSwKKyAgICAgIFVTQ1JJUFRfQ09N
TU9OICAgICAgID0gIDAgLCAvKiBaeXl5ICovCisgICAgICBVU0NSSVBUX0lOSEVSSVRFRCAgICA9
ICAxLCAgLyogUWFhaSAqLworICAgICAgVVNDUklQVF9BUkFCSUMgICAgICAgPSAgMiwgIC8qIEFy
YWIgKi8KKyAgICAgIFVTQ1JJUFRfQVJNRU5JQU4gICAgID0gIDMsICAvKiBBcm1uICovCisgICAg
ICBVU0NSSVBUX0JFTkdBTEkgICAgICA9ICA0LCAgLyogQmVuZyAqLworICAgICAgVVNDUklQVF9C
T1BPTU9GTyAgICAgPSAgNSwgIC8qIEJvcG8gKi8KKyAgICAgIFVTQ1JJUFRfQ0hFUk9LRUUgICAg
ID0gIDYsICAvKiBDaGVyICovCisgICAgICBVU0NSSVBUX0NPUFRJQyAgICAgICA9ICA3LCAgLyog
Q29wdCAqLworICAgICAgVVNDUklQVF9DWVJJTExJQyAgICAgPSAgOCwgIC8qIEN5cmwgKEN5cnMp
ICovCisgICAgICBVU0NSSVBUX0RFU0VSRVQgICAgICA9ICA5LCAgLyogRHNydCAqLworICAgICAg
VVNDUklQVF9ERVZBTkFHQVJJICAgPSAxMCwgIC8qIERldmEgKi8KKyAgICAgIFVTQ1JJUFRfRVRI
SU9QSUMgICAgID0gMTEsICAvKiBFdGhpICovCisgICAgICBVU0NSSVBUX0dFT1JHSUFOICAgICA9
IDEyLCAgLyogR2VvciAoR2VvbiwgR2VvYSkgKi8KKyAgICAgIFVTQ1JJUFRfR09USElDICAgICAg
ID0gMTMsICAvKiBHb3RoICovCisgICAgICBVU0NSSVBUX0dSRUVLICAgICAgICA9IDE0LCAgLyog
R3JlayAqLworICAgICAgVVNDUklQVF9HVUpBUkFUSSAgICAgPSAxNSwgIC8qIEd1anIgKi8KKyAg
ICAgIFVTQ1JJUFRfR1VSTVVLSEkgICAgID0gMTYsICAvKiBHdXJ1ICovCisgICAgICBVU0NSSVBU
X0hBTiAgICAgICAgICA9IDE3LCAgLyogSGFuaSAqLworICAgICAgVVNDUklQVF9IQU5HVUwgICAg
ICAgPSAxOCwgIC8qIEhhbmcgKi8KKyAgICAgIFVTQ1JJUFRfSEVCUkVXICAgICAgID0gMTksICAv
KiBIZWJyICovCisgICAgICBVU0NSSVBUX0hJUkFHQU5BICAgICA9IDIwLCAgLyogSGlyYSAqLwor
ICAgICAgVVNDUklQVF9LQU5OQURBICAgICAgPSAyMSwgIC8qIEtuZGEgKi8KKyAgICAgIFVTQ1JJ
UFRfS0FUQUtBTkEgICAgID0gMjIsICAvKiBLYW5hICovCisgICAgICBVU0NSSVBUX0tITUVSICAg
ICAgICA9IDIzLCAgLyogS2htciAqLworICAgICAgVVNDUklQVF9MQU8gICAgICAgICAgPSAyNCwg
IC8qIExhb28gKi8KKyAgICAgIFVTQ1JJUFRfTEFUSU4gICAgICAgID0gMjUsICAvKiBMYXRuIChM
YXRmLCBMYXRnKSAqLworICAgICAgVVNDUklQVF9NQUxBWUFMQU0gICAgPSAyNiwgIC8qIE1seW0g
Ki8KKyAgICAgIFVTQ1JJUFRfTU9OR09MSUFOICAgID0gMjcsICAvKiBNb25nICovCisgICAgICBV
U0NSSVBUX01ZQU5NQVIgICAgICA9IDI4LCAgLyogTXltciAqLworICAgICAgVVNDUklQVF9PR0hB
TSAgICAgICAgPSAyOSwgIC8qIE9nYW0gKi8KKyAgICAgIFVTQ1JJUFRfT0xEX0lUQUxJQyAgID0g
MzAsICAvKiBJdGFsICovCisgICAgICBVU0NSSVBUX09SSVlBICAgICAgICA9IDMxLCAgLyogT3J5
YSAqLworICAgICAgVVNDUklQVF9SVU5JQyAgICAgICAgPSAzMiwgIC8qIFJ1bnIgKi8KKyAgICAg
IFVTQ1JJUFRfU0lOSEFMQSAgICAgID0gMzMsICAvKiBTaW5oICovCisgICAgICBVU0NSSVBUX1NZ
UklBQyAgICAgICA9IDM0LCAgLyogU3lyYyAoU3lyaiwgU3lybiwgU3lyZSkgKi8KKyAgICAgIFVT
Q1JJUFRfVEFNSUwgICAgICAgID0gMzUsICAvKiBUYW1sICovCisgICAgICBVU0NSSVBUX1RFTFVH
VSAgICAgICA9IDM2LCAgLyogVGVsdSAqLworICAgICAgVVNDUklQVF9USEFBTkEgICAgICAgPSAz
NywgIC8qIFRoYWEgKi8KKyAgICAgIFVTQ1JJUFRfVEhBSSAgICAgICAgID0gMzgsICAvKiBUaGFp
ICovCisgICAgICBVU0NSSVBUX1RJQkVUQU4gICAgICA9IDM5LCAgLyogVGlidCAqLworICAgICAg
LyoqIENhbmFkaWFuX0Fib3JpZ2luYWwgc2NyaXB0LiBAc3RhYmxlIElDVSAyLjYgKi8KKyAgICAg
IFVTQ1JJUFRfQ0FOQURJQU5fQUJPUklHSU5BTCA9IDQwLCAgLyogQ2FucyAqLworICAgICAgLyoq
IENhbmFkaWFuX0Fib3JpZ2luYWwgc2NyaXB0IChhbGlhcykuIEBzdGFibGUgSUNVIDIuMiAqLwor
ICAgICAgVVNDUklQVF9VQ0FTICAgICAgICAgPSBVU0NSSVBUX0NBTkFESUFOX0FCT1JJR0lOQUws
CisgICAgICBVU0NSSVBUX1lJICAgICAgICAgICA9IDQxLCAgLyogWWlpaSAqLworICAgICAgVVND
UklQVF9UQUdBTE9HICAgICAgPSA0MiwgIC8qIFRnbGcgKi8KKyAgICAgIFVTQ1JJUFRfSEFOVU5P
TyAgICAgID0gNDMsICAvKiBIYW5vICovCisgICAgICBVU0NSSVBUX0JVSElEICAgICAgICA9IDQ0
LCAgLyogQnVoZCAqLworICAgICAgVVNDUklQVF9UQUdCQU5XQSAgICAgPSA0NSwgIC8qIFRhZ2Ig
Ki8KKworICAgICAgLyogTmV3IHNjcmlwdHMgaW4gVW5pY29kZSA0IEBzdGFibGUgSUNVIDIuNiAq
LworICAgICAgVVNDUklQVF9CUkFJTExFICAgICAgPSA0NiwgIC8qIEJyYWkgKi8KKyAgICAgIFVT
Q1JJUFRfQ1lQUklPVCAgICAgID0gNDcsICAvKiBDcHJ0ICovCisgICAgICBVU0NSSVBUX0xJTUJV
ICAgICAgICA9IDQ4LCAgLyogTGltYiAqLworICAgICAgVVNDUklQVF9MSU5FQVJfQiAgICAgPSA0
OSwgIC8qIExpbmIgKi8KKyAgICAgIFVTQ1JJUFRfT1NNQU5ZQSAgICAgID0gNTAsICAvKiBPc21h
ICovCisgICAgICBVU0NSSVBUX1NIQVZJQU4gICAgICA9IDUxLCAgLyogU2hhdyAqLworICAgICAg
VVNDUklQVF9UQUlfTEUgICAgICAgPSA1MiwgIC8qIFRhbGUgKi8KKyAgICAgIFVTQ1JJUFRfVUdB
UklUSUMgICAgID0gNTMsICAvKiBVZ2FyICovCisKKyAgICAgIC8qKiBOZXcgc2NyaXB0IGNvZGUg
aW4gVW5pY29kZSA0LjAuMSBAc3RhYmxlIElDVSAzLjAgKi8KKyAgICAgIFVTQ1JJUFRfS0FUQUtB
TkFfT1JfSElSQUdBTkEgPSA1NCwvKkhya3QgKi8KKyAgICAgIAorICAgICAgLyogTmV3IHNjcmlw
dHMgaW4gVW5pY29kZSA0LjEgQHN0YWJsZSBJQ1UgMy40ICovCisgICAgICBVU0NSSVBUX0JVR0lO
RVNFICAgICAgPSA1NSwgLyogQnVnaSAqLworICAgICAgVVNDUklQVF9HTEFHT0xJVElDICAgID0g
NTYsIC8qIEdsYWcgKi8KKyAgICAgIFVTQ1JJUFRfS0hBUk9TSFRISSAgICA9IDU3LCAvKiBLaGFy
ICovCisgICAgICBVU0NSSVBUX1NZTE9USV9OQUdSSSAgPSA1OCwgLyogU3lsbyAqLworICAgICAg
VVNDUklQVF9ORVdfVEFJX0xVRSAgID0gNTksIC8qIFRhbHUgKi8KKyAgICAgIFVTQ1JJUFRfVElG
SU5BR0ggICAgICA9IDYwLCAvKiBUZm5nICovCisgICAgICBVU0NSSVBUX09MRF9QRVJTSUFOICAg
PSA2MSwgLyogWHBlbyAqLworCisgICAgICAvKiBOZXcgc2NyaXB0IGNvZGVzIGZyb20gSVNPIDE1
OTI0IEBzdGFibGUgSUNVIDMuNiAqLworICAgICAgVVNDUklQVF9CQUxJTkVTRSAgICAgICAgICAg
ICAgICAgICAgICA9IDYyLCAvKiBCYWxpICovCisgICAgICBVU0NSSVBUX0JBVEFLICAgICAgICAg
ICAgICAgICAgICAgICAgID0gNjMsIC8qIEJhdGsgKi8KKyAgICAgIFVTQ1JJUFRfQkxJU1NZTUJP
TFMgICAgICAgICAgICAgICAgICAgPSA2NCwgLyogQmxpcyAqLworICAgICAgVVNDUklQVF9CUkFI
TUkgICAgICAgICAgICAgICAgICAgICAgICA9IDY1LCAvKiBCcmFoICovCisgICAgICBVU0NSSVBU
X0NIQU0gICAgICAgICAgICAgICAgICAgICAgICAgID0gNjYsIC8qIENoYW0gKi8KKyAgICAgIFVT
Q1JJUFRfQ0lSVEggICAgICAgICAgICAgICAgICAgICAgICAgPSA2NywgLyogQ2lydCAqLworICAg
ICAgVVNDUklQVF9PTERfQ0hVUkNIX1NMQVZPTklDX0NZUklMTElDICA9IDY4LCAvKiBDeXJzICov
CisgICAgICBVU0NSSVBUX0RFTU9USUNfRUdZUFRJQU4gICAgICAgICAgICAgID0gNjksIC8qIEVn
eWQgKi8KKyAgICAgIFVTQ1JJUFRfSElFUkFUSUNfRUdZUFRJQU4gICAgICAgICAgICAgPSA3MCwg
LyogRWd5aCAqLworICAgICAgVVNDUklQVF9FR1lQVElBTl9ISUVST0dMWVBIUyAgICAgICAgICA9
IDcxLCAvKiBFZ3lwICovCisgICAgICBVU0NSSVBUX0tIVVRTVVJJICAgICAgICAgICAgICAgICAg
ICAgID0gNzIsIC8qIEdlb2sgKi8KKyAgICAgIFVTQ1JJUFRfU0lNUExJRklFRF9IQU4gICAgICAg
ICAgICAgICAgPSA3MywgLyogSGFucyAqLworICAgICAgVVNDUklQVF9UUkFESVRJT05BTF9IQU4g
ICAgICAgICAgICAgICA9IDc0LCAvKiBIYW50ICovCisgICAgICBVU0NSSVBUX1BBSEFXSF9ITU9O
RyAgICAgICAgICAgICAgICAgID0gNzUsIC8qIEhtbmcgKi8KKyAgICAgIFVTQ1JJUFRfT0xEX0hV
TkdBUklBTiAgICAgICAgICAgICAgICAgPSA3NiwgLyogSHVuZyAqLworICAgICAgVVNDUklQVF9I
QVJBUFBBTl9JTkRVUyAgICAgICAgICAgICAgICA9IDc3LCAvKiBJbmRzICovCisgICAgICBVU0NS
SVBUX0pBVkFORVNFICAgICAgICAgICAgICAgICAgICAgID0gNzgsIC8qIEphdmEgKi8KKyAgICAg
IFVTQ1JJUFRfS0FZQUhfTEkgICAgICAgICAgICAgICAgICAgICAgPSA3OSwgLyogS2FsaSAqLwor
ICAgICAgVVNDUklQVF9MQVRJTl9GUkFLVFVSICAgICAgICAgICAgICAgICA9IDgwLCAvKiBMYXRm
ICovCisgICAgICBVU0NSSVBUX0xBVElOX0dBRUxJQyAgICAgICAgICAgICAgICAgID0gODEsIC8q
IExhdGcgKi8KKyAgICAgIFVTQ1JJUFRfTEVQQ0hBICAgICAgICAgICAgICAgICAgICAgICAgPSA4
MiwgLyogTGVwYyAqLworICAgICAgVVNDUklQVF9MSU5FQVJfQSAgICAgICAgICAgICAgICAgICAg
ICA9IDgzLCAvKiBMaW5hICovCisgICAgICBVU0NSSVBUX01BTkRBRUFOICAgICAgICAgICAgICAg
ICAgICAgID0gODQsIC8qIE1hbmQgKi8KKyAgICAgIFVTQ1JJUFRfTUFZQU5fSElFUk9HTFlQSFMg
ICAgICAgICAgICAgPSA4NSwgLyogTWF5YSAqLworICAgICAgVVNDUklQVF9NRVJPSVRJQyAgICAg
ICAgICAgICAgICAgICAgICA9IDg2LCAvKiBNZXJvICovCisgICAgICBVU0NSSVBUX05LTyAgICAg
ICAgICAgICAgICAgICAgICAgICAgID0gODcsIC8qIE5rb28gKi8KKyAgICAgIFVTQ1JJUFRfT1JL
SE9OICAgICAgICAgICAgICAgICAgICAgICAgPSA4OCwgLyogT3JraCAqLworICAgICAgVVNDUklQ
VF9PTERfUEVSTUlDICAgICAgICAgICAgICAgICAgICA9IDg5LCAvKiBQZXJtICovCisgICAgICBV
U0NSSVBUX1BIQUdTX1BBICAgICAgICAgICAgICAgICAgICAgID0gOTAsIC8qIFBoYWcgKi8KKyAg
ICAgIFVTQ1JJUFRfUEhPRU5JQ0lBTiAgICAgICAgICAgICAgICAgICAgPSA5MSwgLyogUGhueCAq
LworICAgICAgVVNDUklQVF9QSE9ORVRJQ19QT0xMQVJEICAgICAgICAgICAgICA9IDkyLCAvKiBQ
bHJkICovCisgICAgICBVU0NSSVBUX1JPTkdPUk9OR08gICAgICAgICAgICAgICAgICAgID0gOTMs
IC8qIFJvcm8gKi8KKyAgICAgIFVTQ1JJUFRfU0FSQVRJICAgICAgICAgICAgICAgICAgICAgICAg
PSA5NCwgLyogU2FyYSAqLworICAgICAgVVNDUklQVF9FU1RSQU5HRUxPX1NZUklBQyAgICAgICAg
ICAgICA9IDk1LCAvKiBTeXJlICovCisgICAgICBVU0NSSVBUX1dFU1RFUk5fU1lSSUFDICAgICAg
ICAgICAgICAgID0gOTYsIC8qIFN5cmogKi8KKyAgICAgIFVTQ1JJUFRfRUFTVEVSTl9TWVJJQUMg
ICAgICAgICAgICAgICAgPSA5NywgLyogU3lybiAqLworICAgICAgVVNDUklQVF9URU5HV0FSICAg
ICAgICAgICAgICAgICAgICAgICA9IDk4LCAvKiBUZW5nICovCisgICAgICBVU0NSSVBUX1ZBSSAg
ICAgICAgICAgICAgICAgICAgICAgICAgID0gOTksIC8qIFZhaWkgKi8KKyAgICAgIFVTQ1JJUFRf
VklTSUJMRV9TUEVFQ0ggICAgICAgICAgICAgICAgPSAxMDAsIC8qIFZpc3AgKi8KKyAgICAgIFVT
Q1JJUFRfQ1VORUlGT1JNICAgICAgICAgICAgICAgICAgICAgPSAxMDEsLyogWHN1eCAqLworICAg
ICAgVVNDUklQVF9VTldSSVRURU5fTEFOR1VBR0VTICAgICAgICAgICA9IDEwMiwvKiBaeHh4ICov
CisgICAgICBVU0NSSVBUX1VOS05PV04gICAgICAgICAgICAgICAgICAgICAgID0gMTAzLC8qIFp6
enogKi8gLyogVW5rbm93bj0iQ29kZSBmb3IgdW5jb2RlZCBzY3JpcHQiLCBmb3IgdW5hc3NpZ25l
ZCBjb2RlIHBvaW50cyAqLworCisgICAgICAvKiBOZXcgc2NyaXB0IGNvZGVzIGZyb20gSVNPIDE1
OTI0IEBzdGFibGUgSUNVIDMuOCAqLworICAgICAgVVNDUklQVF9DQVJJQU4gICAgICAgICAgICAg
ICAgICAgICAgICA9IDEwNCwvKiBDYXJpICovCisgICAgICBVU0NSSVBUX0pBUEFORVNFICAgICAg
ICAgICAgICAgICAgICAgID0gMTA1LC8qIEpwYW4gKi8KKyAgICAgIFVTQ1JJUFRfTEFOTkEgICAg
ICAgICAgICAgICAgICAgICAgICAgPSAxMDYsLyogTGFuYSAqLworICAgICAgVVNDUklQVF9MWUNJ
QU4gICAgICAgICAgICAgICAgICAgICAgICA9IDEwNywvKiBMeWNpICovCisgICAgICBVU0NSSVBU
X0xZRElBTiAgICAgICAgICAgICAgICAgICAgICAgID0gMTA4LC8qIEx5ZGkgKi8KKyAgICAgIFVT
Q1JJUFRfT0xfQ0hJS0kgICAgICAgICAgICAgICAgICAgICAgPSAxMDksLyogT2xjayAqLworICAg
ICAgVVNDUklQVF9SRUpBTkcgICAgICAgICAgICAgICAgICAgICAgICA9IDExMCwvKiBSam5nICov
CisgICAgICBVU0NSSVBUX1NBVVJBU0hUUkEgICAgICAgICAgICAgICAgICAgID0gMTExLC8qIFNh
dXIgKi8KKyAgICAgIFVTQ1JJUFRfU0lHTl9XUklUSU5HICAgICAgICAgICAgICAgICAgPSAxMTIs
LyogU2dudyAqLworICAgICAgVVNDUklQVF9TVU5EQU5FU0UgICAgICAgICAgICAgICAgICAgICA9
IDExMywvKiBTdW5kICovCisgICAgICBVU0NSSVBUX01PT04gICAgICAgICAgICAgICAgICAgICAg
ICAgID0gMTE0LC8qIE1vb24gKi8KKyAgICAgIFVTQ1JJUFRfTUVJVEVJX01BWUVLICAgICAgICAg
ICAgICAgICAgPSAxMTUsLyogTXRlaSAqLworCisgICAgICAvKiBOZXcgc2NyaXB0IGNvZGVzIGZy
b20gSVNPIDE1OTI0IEBzdGFibGUgSUNVIDQuMCAqLworICAgICAgVVNDUklQVF9JTVBFUklBTF9B
UkFNQUlDICAgICAgICAgICAgICA9IDExNiwvKiBBcm1pICovCisgICAgICBVU0NSSVBUX0FWRVNU
QU4gICAgICAgICAgICAgICAgICAgICAgID0gMTE3LC8qIEF2c3QgKi8KKyAgICAgIFVTQ1JJUFRf
Q0hBS01BICAgICAgICAgICAgICAgICAgICAgICAgPSAxMTgsLyogQ2FrbSAqLworICAgICAgVVND
UklQVF9LT1JFQU4gICAgICAgICAgICAgICAgICAgICAgICA9IDExOSwvKiBLb3JlICovCisgICAg
ICBVU0NSSVBUX0tBSVRISSAgICAgICAgICAgICAgICAgICAgICAgID0gMTIwLC8qIEt0aGkgKi8K
KyAgICAgIFVTQ1JJUFRfTUFOSUNIQUVBTiAgICAgICAgICAgICAgICAgICAgPSAxMjEsLyogTWFu
aSAqLworICAgICAgVVNDUklQVF9JTlNDUklQVElPTkFMX1BBSExBVkkgICAgICAgICA9IDEyMiwv
KiBQaGxpICovCisgICAgICBVU0NSSVBUX1BTQUxURVJfUEFITEFWSSAgICAgICAgICAgICAgID0g
MTIzLC8qIFBobHAgKi8KKyAgICAgIFVTQ1JJUFRfQk9PS19QQUhMQVZJICAgICAgICAgICAgICAg
ICAgPSAxMjQsLyogUGhsdiAqLworICAgICAgVVNDUklQVF9JTlNDUklQVElPTkFMX1BBUlRISUFO
ICAgICAgICA9IDEyNSwvKiBQcnRpICovCisgICAgICBVU0NSSVBUX1NBTUFSSVRBTiAgICAgICAg
ICAgICAgICAgICAgID0gMTI2LC8qIFNhbXIgKi8KKyAgICAgIFVTQ1JJUFRfVEFJX1ZJRVQgICAg
ICAgICAgICAgICAgICAgICAgPSAxMjcsLyogVGF2dCAqLworICAgICAgVVNDUklQVF9NQVRIRU1B
VElDQUxfTk9UQVRJT04gICAgICAgICA9IDEyOCwvKiBabXRoICovCisgICAgICBVU0NSSVBUX1NZ
TUJPTFMgICAgICAgICAgICAgICAgICAgICAgID0gMTI5LC8qIFpzeW0gKi8KKworICAgICAgLyog
UHJpdmF0ZSB1c2UgY29kZXMgZnJvbSBRYWFhIC0gUWFieCBhcmUgbm90IHN1cHBvcnRlZCovCisg
ICAgICBVU0NSSVBUX0NPREVfTElNSVQgICAgPSAxMzAKK30gVVNjcmlwdENvZGU7CisKKyNlbmRp
ZiAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAxOTk3LTIwMDksIEludGVybmF0aW9uYWwgQnVzaW5l
c3MgTWFjaGluZXMKKyAqICBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLiAgQWxsIFJpZ2h0cyBSZXNl
cnZlZC4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJn
ZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CisgKiBvZiB0aGlzIHNvZnR3YXJlIGFu
ZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKKyAqIHRv
IGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRo
b3V0IGxpbWl0YXRpb24KKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdl
LCBwdWJsaXNoLCBkaXN0cmlidXRlLCBhbmQvb3Igc2VsbAorICogY29waWVzIG9mIHRoZSBTb2Z0
d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCisgKiBm
dXJuaXNoZWQgdG8gZG8gc28sIHByb3ZpZGVkIHRoYXQgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UocykgYW5kIHRoaXMKKyAqIHBlcm1pc3Npb24gbm90aWNlIGFwcGVhciBpbiBhbGwgY29waWVz
IG9mIHRoZSBTb2Z0d2FyZSBhbmQgdGhhdCBib3RoIHRoZQorICogYWJvdmUgY29weXJpZ2h0IG5v
dGljZShzKSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gc3VwcG9ydGluZwor
ICogZG9jdW1lbnRhdGlvbi4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElT
IiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCwg
SU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgorICogTUVSQ0hB
TlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklO
R0VNRU5UCisgKiBPRiBUSElSRCBQQVJUWSBSSUdIVFMuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQgSE9MREVSIE9SCisgKiBIT0xERVJTIElOQ0xVREVEIElOIFRISVMgTk9USUNFIEJF
IExJQUJMRSBGT1IgQU5ZIENMQUlNLCBPUiBBTlkKKyAqIFNQRUNJQUwgSU5ESVJFQ1QgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTLCBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSCisgKiBSRVNVTFRJ
TkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElP
TgorICogT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBB
UklTSU5HIE9VVCBPRgorICogT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9S
TUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4gIAorICogRXhjZXB0IGFzIGNvbnRhaW5lZCBpbiB0aGlz
IG5vdGljZSwgdGhlIG5hbWUgb2YgYSBjb3B5cmlnaHQKKyAqIGhvbGRlciBzaGFsbCBub3QgYmUg
dXNlZCBpbiBhZHZlcnRpc2luZyBvciBvdGhlcndpc2UgdG8gcHJvbW90ZSB0aGUKKyAqIHNhbGUs
IHVzZSBvciBvdGhlciBkZWFsaW5ncyBpbiB0aGlzIFNvZnR3YXJlIHdpdGhvdXQgcHJpb3Igd3Jp
dHRlbgorICogYXV0aG9yaXphdGlvbiBvZiB0aGUgY29weXJpZ2h0IGhvbGRlci4KKyovCisKKyNp
Zm5kZWYgVVNDUklQVF9DT0RFX0gKKyNkZWZpbmUgVVNDUklQVF9DT0RFX0gKKworLyoqCisgKiBD
b25zdGFudHMgZm9yIFVuaWNvZGUgc2NyaXB0IHZhbHVlcyBmcm9tIFNjcmlwdE5hbWVzLnR4dCAu
CisgKi8KKworLyoqCisgKiBUaGUgVW5pY29kZSBzdGFuZGFyZCBkYXRhYmFzZSBkb2VzIG5vdCBo
YXZlIFNjcmlwdE5hbWVzLnR4dCBhbnkgbW9yZS4KKyAqIEluc3RlYWQsIGl0IGhhcyBTY3JpcHRz
LnR4dCwgZnJvbSB3aGljaCB0aGUgbGlzdCBvZiBzY3JpcHQgbmFtZXMgY2FuIGJlCisgKiBkZXJp
dmVkLiBUaGUgbGlzdCBjYW4gYWxzbyBiZSBkZXJpdmVkIGZyb20gdGhlIENMRFIgKENvbW1vbiBM
b2NhbGUgRGF0YQorICogUmVwb3NpdG9yeSkuCisgKiBIb3dldmVyLCB0aGUgb3JkZXIgb2YgdGhl
IGxpc3QgZGVyaXZlZCBmcm9tIGVpdGhlciBzb3VyY2Ugd2lsbCBiZSBkaWZmZXJlbnQKKyAqIGZy
b20gdGhlIG9yZGVyIGluIHRoaXMgZmlsZSwgd2hpY2ggaXMgdGhlIHNhbWUgYXMgSUNVJ3MKKyAq
IGNvbW1vbi91bmljb2RlL3VzY3JpcHQuaC4gVG8ga2VlcCB0aGUgYmFja3dhcmQgY29tcGF0aWJp
bGl0eSwgSUNVJ3MKKyAqIHVzY3JpcHQuaCBhZGQgbmV3IHNjcmlwdCBjb2RlcyBhdCB0aGUgZW5k
IG9mIGV4aXN0aW5nIGVudHJpZXMgCisgKiBpbnN0ZWFkIG9mIHNvcnRpbmcgdGhlbSBldmVyeXRp
bWUgaXQncyB1cGRhdGVkLiAKKyAqLwordHlwZWRlZiBlbnVtIFVTY3JpcHRDb2RlIHsKKyAgICAg
IFVTQ1JJUFRfSU5WQUxJRF9DT0RFID0gLTEsCisgICAgICBVU0NSSVBUX0NPTU1PTiAgICAgICA9
ICAwICwgLyogWnl5eSAqLworICAgICAgVVNDUklQVF9JTkhFUklURUQgICAgPSAgMSwgIC8qIFFh
YWkgKi8KKyAgICAgIFVTQ1JJUFRfQVJBQklDICAgICAgID0gIDIsICAvKiBBcmFiICovCisgICAg
ICBVU0NSSVBUX0FSTUVOSUFOICAgICA9ICAzLCAgLyogQXJtbiAqLworICAgICAgVVNDUklQVF9C
RU5HQUxJICAgICAgPSAgNCwgIC8qIEJlbmcgKi8KKyAgICAgIFVTQ1JJUFRfQk9QT01PRk8gICAg
ID0gIDUsICAvKiBCb3BvICovCisgICAgICBVU0NSSVBUX0NIRVJPS0VFICAgICA9ICA2LCAgLyog
Q2hlciAqLworICAgICAgVVNDUklQVF9DT1BUSUMgICAgICAgPSAgNywgIC8qIENvcHQgKi8KKyAg
ICAgIFVTQ1JJUFRfQ1lSSUxMSUMgICAgID0gIDgsICAvKiBDeXJsIChDeXJzKSAqLworICAgICAg
VVNDUklQVF9ERVNFUkVUICAgICAgPSAgOSwgIC8qIERzcnQgKi8KKyAgICAgIFVTQ1JJUFRfREVW
QU5BR0FSSSAgID0gMTAsICAvKiBEZXZhICovCisgICAgICBVU0NSSVBUX0VUSElPUElDICAgICA9
IDExLCAgLyogRXRoaSAqLworICAgICAgVVNDUklQVF9HRU9SR0lBTiAgICAgPSAxMiwgIC8qIEdl
b3IgKEdlb24sIEdlb2EpICovCisgICAgICBVU0NSSVBUX0dPVEhJQyAgICAgICA9IDEzLCAgLyog
R290aCAqLworICAgICAgVVNDUklQVF9HUkVFSyAgICAgICAgPSAxNCwgIC8qIEdyZWsgKi8KKyAg
ICAgIFVTQ1JJUFRfR1VKQVJBVEkgICAgID0gMTUsICAvKiBHdWpyICovCisgICAgICBVU0NSSVBU
X0dVUk1VS0hJICAgICA9IDE2LCAgLyogR3VydSAqLworICAgICAgVVNDUklQVF9IQU4gICAgICAg
ICAgPSAxNywgIC8qIEhhbmkgKi8KKyAgICAgIFVTQ1JJUFRfSEFOR1VMICAgICAgID0gMTgsICAv
KiBIYW5nICovCisgICAgICBVU0NSSVBUX0hFQlJFVyAgICAgICA9IDE5LCAgLyogSGViciAqLwor
ICAgICAgVVNDUklQVF9ISVJBR0FOQSAgICAgPSAyMCwgIC8qIEhpcmEgKi8KKyAgICAgIFVTQ1JJ
UFRfS0FOTkFEQSAgICAgID0gMjEsICAvKiBLbmRhICovCisgICAgICBVU0NSSVBUX0tBVEFLQU5B
ICAgICA9IDIyLCAgLyogS2FuYSAqLworICAgICAgVVNDUklQVF9LSE1FUiAgICAgICAgPSAyMywg
IC8qIEtobXIgKi8KKyAgICAgIFVTQ1JJUFRfTEFPICAgICAgICAgID0gMjQsICAvKiBMYW9vICov
CisgICAgICBVU0NSSVBUX0xBVElOICAgICAgICA9IDI1LCAgLyogTGF0biAoTGF0ZiwgTGF0Zykg
Ki8KKyAgICAgIFVTQ1JJUFRfTUFMQVlBTEFNICAgID0gMjYsICAvKiBNbHltICovCisgICAgICBV
U0NSSVBUX01PTkdPTElBTiAgICA9IDI3LCAgLyogTW9uZyAqLworICAgICAgVVNDUklQVF9NWUFO
TUFSICAgICAgPSAyOCwgIC8qIE15bXIgKi8KKyAgICAgIFVTQ1JJUFRfT0dIQU0gICAgICAgID0g
MjksICAvKiBPZ2FtICovCisgICAgICBVU0NSSVBUX09MRF9JVEFMSUMgICA9IDMwLCAgLyogSXRh
bCAqLworICAgICAgVVNDUklQVF9PUklZQSAgICAgICAgPSAzMSwgIC8qIE9yeWEgKi8KKyAgICAg
IFVTQ1JJUFRfUlVOSUMgICAgICAgID0gMzIsICAvKiBSdW5yICovCisgICAgICBVU0NSSVBUX1NJ
TkhBTEEgICAgICA9IDMzLCAgLyogU2luaCAqLworICAgICAgVVNDUklQVF9TWVJJQUMgICAgICAg
PSAzNCwgIC8qIFN5cmMgKFN5cmosIFN5cm4sIFN5cmUpICovCisgICAgICBVU0NSSVBUX1RBTUlM
ICAgICAgICA9IDM1LCAgLyogVGFtbCAqLworICAgICAgVVNDUklQVF9URUxVR1UgICAgICAgPSAz
NiwgIC8qIFRlbHUgKi8KKyAgICAgIFVTQ1JJUFRfVEhBQU5BICAgICAgID0gMzcsICAvKiBUaGFh
ICovCisgICAgICBVU0NSSVBUX1RIQUkgICAgICAgICA9IDM4LCAgLyogVGhhaSAqLworICAgICAg
VVNDUklQVF9USUJFVEFOICAgICAgPSAzOSwgIC8qIFRpYnQgKi8KKyAgICAgIC8qKiBDYW5hZGlh
bl9BYm9yaWdpbmFsIHNjcmlwdC4gQHN0YWJsZSBJQ1UgMi42ICovCisgICAgICBVU0NSSVBUX0NB
TkFESUFOX0FCT1JJR0lOQUwgPSA0MCwgIC8qIENhbnMgKi8KKyAgICAgIC8qKiBDYW5hZGlhbl9B
Ym9yaWdpbmFsIHNjcmlwdCAoYWxpYXMpLiBAc3RhYmxlIElDVSAyLjIgKi8KKyAgICAgIFVTQ1JJ
UFRfVUNBUyAgICAgICAgID0gVVNDUklQVF9DQU5BRElBTl9BQk9SSUdJTkFMLAorICAgICAgVVND
UklQVF9ZSSAgICAgICAgICAgPSA0MSwgIC8qIFlpaWkgKi8KKyAgICAgIFVTQ1JJUFRfVEFHQUxP
RyAgICAgID0gNDIsICAvKiBUZ2xnICovCisgICAgICBVU0NSSVBUX0hBTlVOT08gICAgICA9IDQz
LCAgLyogSGFubyAqLworICAgICAgVVNDUklQVF9CVUhJRCAgICAgICAgPSA0NCwgIC8qIEJ1aGQg
Ki8KKyAgICAgIFVTQ1JJUFRfVEFHQkFOV0EgICAgID0gNDUsICAvKiBUYWdiICovCisKKyAgICAg
IC8qIE5ldyBzY3JpcHRzIGluIFVuaWNvZGUgNCBAc3RhYmxlIElDVSAyLjYgKi8KKyAgICAgIFVT
Q1JJUFRfQlJBSUxMRSAgICAgID0gNDYsICAvKiBCcmFpICovCisgICAgICBVU0NSSVBUX0NZUFJJ
T1QgICAgICA9IDQ3LCAgLyogQ3BydCAqLworICAgICAgVVNDUklQVF9MSU1CVSAgICAgICAgPSA0
OCwgIC8qIExpbWIgKi8KKyAgICAgIFVTQ1JJUFRfTElORUFSX0IgICAgID0gNDksICAvKiBMaW5i
ICovCisgICAgICBVU0NSSVBUX09TTUFOWUEgICAgICA9IDUwLCAgLyogT3NtYSAqLworICAgICAg
VVNDUklQVF9TSEFWSUFOICAgICAgPSA1MSwgIC8qIFNoYXcgKi8KKyAgICAgIFVTQ1JJUFRfVEFJ
X0xFICAgICAgID0gNTIsICAvKiBUYWxlICovCisgICAgICBVU0NSSVBUX1VHQVJJVElDICAgICA9
IDUzLCAgLyogVWdhciAqLworCisgICAgICAvKiogTmV3IHNjcmlwdCBjb2RlIGluIFVuaWNvZGUg
NC4wLjEgQHN0YWJsZSBJQ1UgMy4wICovCisgICAgICBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFH
QU5BID0gNTQsLypIcmt0ICovCisgICAgICAKKyAgICAgIC8qIE5ldyBzY3JpcHRzIGluIFVuaWNv
ZGUgNC4xIEBzdGFibGUgSUNVIDMuNCAqLworICAgICAgVVNDUklQVF9CVUdJTkVTRSAgICAgID0g
NTUsIC8qIEJ1Z2kgKi8KKyAgICAgIFVTQ1JJUFRfR0xBR09MSVRJQyAgICA9IDU2LCAvKiBHbGFn
ICovCisgICAgICBVU0NSSVBUX0tIQVJPU0hUSEkgICAgPSA1NywgLyogS2hhciAqLworICAgICAg
VVNDUklQVF9TWUxPVElfTkFHUkkgID0gNTgsIC8qIFN5bG8gKi8KKyAgICAgIFVTQ1JJUFRfTkVX
X1RBSV9MVUUgICA9IDU5LCAvKiBUYWx1ICovCisgICAgICBVU0NSSVBUX1RJRklOQUdIICAgICAg
PSA2MCwgLyogVGZuZyAqLworICAgICAgVVNDUklQVF9PTERfUEVSU0lBTiAgID0gNjEsIC8qIFhw
ZW8gKi8KKworICAgICAgLyogTmV3IHNjcmlwdCBjb2RlcyBmcm9tIElTTyAxNTkyNCBAc3RhYmxl
IElDVSAzLjYgKi8KKyAgICAgIFVTQ1JJUFRfQkFMSU5FU0UgICAgICAgICAgICAgICAgICAgICAg
PSA2MiwgLyogQmFsaSAqLworICAgICAgVVNDUklQVF9CQVRBSyAgICAgICAgICAgICAgICAgICAg
ICAgICA9IDYzLCAvKiBCYXRrICovCisgICAgICBVU0NSSVBUX0JMSVNTWU1CT0xTICAgICAgICAg
ICAgICAgICAgID0gNjQsIC8qIEJsaXMgKi8KKyAgICAgIFVTQ1JJUFRfQlJBSE1JICAgICAgICAg
ICAgICAgICAgICAgICAgPSA2NSwgLyogQnJhaCAqLworICAgICAgVVNDUklQVF9DSEFNICAgICAg
ICAgICAgICAgICAgICAgICAgICA9IDY2LCAvKiBDaGFtICovCisgICAgICBVU0NSSVBUX0NJUlRI
ICAgICAgICAgICAgICAgICAgICAgICAgID0gNjcsIC8qIENpcnQgKi8KKyAgICAgIFVTQ1JJUFRf
T0xEX0NIVVJDSF9TTEFWT05JQ19DWVJJTExJQyAgPSA2OCwgLyogQ3lycyAqLworICAgICAgVVND
UklQVF9ERU1PVElDX0VHWVBUSUFOICAgICAgICAgICAgICA9IDY5LCAvKiBFZ3lkICovCisgICAg
ICBVU0NSSVBUX0hJRVJBVElDX0VHWVBUSUFOICAgICAgICAgICAgID0gNzAsIC8qIEVneWggKi8K
KyAgICAgIFVTQ1JJUFRfRUdZUFRJQU5fSElFUk9HTFlQSFMgICAgICAgICAgPSA3MSwgLyogRWd5
cCAqLworICAgICAgVVNDUklQVF9LSFVUU1VSSSAgICAgICAgICAgICAgICAgICAgICA9IDcyLCAv
KiBHZW9rICovCisgICAgICBVU0NSSVBUX1NJTVBMSUZJRURfSEFOICAgICAgICAgICAgICAgID0g
NzMsIC8qIEhhbnMgKi8KKyAgICAgIFVTQ1JJUFRfVFJBRElUSU9OQUxfSEFOICAgICAgICAgICAg
ICAgPSA3NCwgLyogSGFudCAqLworICAgICAgVVNDUklQVF9QQUhBV0hfSE1PTkcgICAgICAgICAg
ICAgICAgICA9IDc1LCAvKiBIbW5nICovCisgICAgICBVU0NSSVBUX09MRF9IVU5HQVJJQU4gICAg
ICAgICAgICAgICAgID0gNzYsIC8qIEh1bmcgKi8KKyAgICAgIFVTQ1JJUFRfSEFSQVBQQU5fSU5E
VVMgICAgICAgICAgICAgICAgPSA3NywgLyogSW5kcyAqLworICAgICAgVVNDUklQVF9KQVZBTkVT
RSAgICAgICAgICAgICAgICAgICAgICA9IDc4LCAvKiBKYXZhICovCisgICAgICBVU0NSSVBUX0tB
WUFIX0xJICAgICAgICAgICAgICAgICAgICAgID0gNzksIC8qIEthbGkgKi8KKyAgICAgIFVTQ1JJ
UFRfTEFUSU5fRlJBS1RVUiAgICAgICAgICAgICAgICAgPSA4MCwgLyogTGF0ZiAqLworICAgICAg
VVNDUklQVF9MQVRJTl9HQUVMSUMgICAgICAgICAgICAgICAgICA9IDgxLCAvKiBMYXRnICovCisg
ICAgICBVU0NSSVBUX0xFUENIQSAgICAgICAgICAgICAgICAgICAgICAgID0gODIsIC8qIExlcGMg
Ki8KKyAgICAgIFVTQ1JJUFRfTElORUFSX0EgICAgICAgICAgICAgICAgICAgICAgPSA4MywgLyog
TGluYSAqLworICAgICAgVVNDUklQVF9NQU5EQUVBTiAgICAgICAgICAgICAgICAgICAgICA9IDg0
LCAvKiBNYW5kICovCisgICAgICBVU0NSSVBUX01BWUFOX0hJRVJPR0xZUEhTICAgICAgICAgICAg
ID0gODUsIC8qIE1heWEgKi8KKyAgICAgIFVTQ1JJUFRfTUVST0lUSUMgICAgICAgICAgICAgICAg
ICAgICAgPSA4NiwgLyogTWVybyAqLworICAgICAgVVNDUklQVF9OS08gICAgICAgICAgICAgICAg
ICAgICAgICAgICA9IDg3LCAvKiBOa29vICovCisgICAgICBVU0NSSVBUX09SS0hPTiAgICAgICAg
ICAgICAgICAgICAgICAgID0gODgsIC8qIE9ya2ggKi8KKyAgICAgIFVTQ1JJUFRfT0xEX1BFUk1J
QyAgICAgICAgICAgICAgICAgICAgPSA4OSwgLyogUGVybSAqLworICAgICAgVVNDUklQVF9QSEFH
U19QQSAgICAgICAgICAgICAgICAgICAgICA9IDkwLCAvKiBQaGFnICovCisgICAgICBVU0NSSVBU
X1BIT0VOSUNJQU4gICAgICAgICAgICAgICAgICAgID0gOTEsIC8qIFBobnggKi8KKyAgICAgIFVT
Q1JJUFRfUEhPTkVUSUNfUE9MTEFSRCAgICAgICAgICAgICAgPSA5MiwgLyogUGxyZCAqLworICAg
ICAgVVNDUklQVF9ST05HT1JPTkdPICAgICAgICAgICAgICAgICAgICA9IDkzLCAvKiBSb3JvICov
CisgICAgICBVU0NSSVBUX1NBUkFUSSAgICAgICAgICAgICAgICAgICAgICAgID0gOTQsIC8qIFNh
cmEgKi8KKyAgICAgIFVTQ1JJUFRfRVNUUkFOR0VMT19TWVJJQUMgICAgICAgICAgICAgPSA5NSwg
LyogU3lyZSAqLworICAgICAgVVNDUklQVF9XRVNURVJOX1NZUklBQyAgICAgICAgICAgICAgICA9
IDk2LCAvKiBTeXJqICovCisgICAgICBVU0NSSVBUX0VBU1RFUk5fU1lSSUFDICAgICAgICAgICAg
ICAgID0gOTcsIC8qIFN5cm4gKi8KKyAgICAgIFVTQ1JJUFRfVEVOR1dBUiAgICAgICAgICAgICAg
ICAgICAgICAgPSA5OCwgLyogVGVuZyAqLworICAgICAgVVNDUklQVF9WQUkgICAgICAgICAgICAg
ICAgICAgICAgICAgICA9IDk5LCAvKiBWYWlpICovCisgICAgICBVU0NSSVBUX1ZJU0lCTEVfU1BF
RUNIICAgICAgICAgICAgICAgID0gMTAwLCAvKiBWaXNwICovCisgICAgICBVU0NSSVBUX0NVTkVJ
Rk9STSAgICAgICAgICAgICAgICAgICAgID0gMTAxLC8qIFhzdXggKi8KKyAgICAgIFVTQ1JJUFRf
VU5XUklUVEVOX0xBTkdVQUdFUyAgICAgICAgICAgPSAxMDIsLyogWnh4eCAqLworICAgICAgVVND
UklQVF9VTktOT1dOICAgICAgICAgICAgICAgICAgICAgICA9IDEwMywvKiBaenp6ICovIC8qIFVu
a25vd249IkNvZGUgZm9yIHVuY29kZWQgc2NyaXB0IiwgZm9yIHVuYXNzaWduZWQgY29kZSBwb2lu
dHMgKi8KKworICAgICAgLyogTmV3IHNjcmlwdCBjb2RlcyBmcm9tIElTTyAxNTkyNCBAc3RhYmxl
IElDVSAzLjggKi8KKyAgICAgIFVTQ1JJUFRfQ0FSSUFOICAgICAgICAgICAgICAgICAgICAgICAg
PSAxMDQsLyogQ2FyaSAqLworICAgICAgVVNDUklQVF9KQVBBTkVTRSAgICAgICAgICAgICAgICAg
ICAgICA9IDEwNSwvKiBKcGFuICovCisgICAgICBVU0NSSVBUX0xBTk5BICAgICAgICAgICAgICAg
ICAgICAgICAgID0gMTA2LC8qIExhbmEgKi8KKyAgICAgIFVTQ1JJUFRfTFlDSUFOICAgICAgICAg
ICAgICAgICAgICAgICAgPSAxMDcsLyogTHljaSAqLworICAgICAgVVNDUklQVF9MWURJQU4gICAg
ICAgICAgICAgICAgICAgICAgICA9IDEwOCwvKiBMeWRpICovCisgICAgICBVU0NSSVBUX09MX0NI
SUtJICAgICAgICAgICAgICAgICAgICAgID0gMTA5LC8qIE9sY2sgKi8KKyAgICAgIFVTQ1JJUFRf
UkVKQU5HICAgICAgICAgICAgICAgICAgICAgICAgPSAxMTAsLyogUmpuZyAqLworICAgICAgVVND
UklQVF9TQVVSQVNIVFJBICAgICAgICAgICAgICAgICAgICA9IDExMSwvKiBTYXVyICovCisgICAg
ICBVU0NSSVBUX1NJR05fV1JJVElORyAgICAgICAgICAgICAgICAgID0gMTEyLC8qIFNnbncgKi8K
KyAgICAgIFVTQ1JJUFRfU1VOREFORVNFICAgICAgICAgICAgICAgICAgICAgPSAxMTMsLyogU3Vu
ZCAqLworICAgICAgVVNDUklQVF9NT09OICAgICAgICAgICAgICAgICAgICAgICAgICA9IDExNCwv
KiBNb29uICovCisgICAgICBVU0NSSVBUX01FSVRFSV9NQVlFSyAgICAgICAgICAgICAgICAgID0g
MTE1LC8qIE10ZWkgKi8KKworICAgICAgLyogTmV3IHNjcmlwdCBjb2RlcyBmcm9tIElTTyAxNTky
NCBAc3RhYmxlIElDVSA0LjAgKi8KKyAgICAgIFVTQ1JJUFRfSU1QRVJJQUxfQVJBTUFJQyAgICAg
ICAgICAgICAgPSAxMTYsLyogQXJtaSAqLworICAgICAgVVNDUklQVF9BVkVTVEFOICAgICAgICAg
ICAgICAgICAgICAgICA9IDExNywvKiBBdnN0ICovCisgICAgICBVU0NSSVBUX0NIQUtNQSAgICAg
ICAgICAgICAgICAgICAgICAgID0gMTE4LC8qIENha20gKi8KKyAgICAgIFVTQ1JJUFRfS09SRUFO
ICAgICAgICAgICAgICAgICAgICAgICAgPSAxMTksLyogS29yZSAqLworICAgICAgVVNDUklQVF9L
QUlUSEkgICAgICAgICAgICAgICAgICAgICAgICA9IDEyMCwvKiBLdGhpICovCisgICAgICBVU0NS
SVBUX01BTklDSEFFQU4gICAgICAgICAgICAgICAgICAgID0gMTIxLC8qIE1hbmkgKi8KKyAgICAg
IFVTQ1JJUFRfSU5TQ1JJUFRJT05BTF9QQUhMQVZJICAgICAgICAgPSAxMjIsLyogUGhsaSAqLwor
ICAgICAgVVNDUklQVF9QU0FMVEVSX1BBSExBVkkgICAgICAgICAgICAgICA9IDEyMywvKiBQaGxw
ICovCisgICAgICBVU0NSSVBUX0JPT0tfUEFITEFWSSAgICAgICAgICAgICAgICAgID0gMTI0LC8q
IFBobHYgKi8KKyAgICAgIFVTQ1JJUFRfSU5TQ1JJUFRJT05BTF9QQVJUSElBTiAgICAgICAgPSAx
MjUsLyogUHJ0aSAqLworICAgICAgVVNDUklQVF9TQU1BUklUQU4gICAgICAgICAgICAgICAgICAg
ICA9IDEyNiwvKiBTYW1yICovCisgICAgICBVU0NSSVBUX1RBSV9WSUVUICAgICAgICAgICAgICAg
ICAgICAgID0gMTI3LC8qIFRhdnQgKi8KKyAgICAgIFVTQ1JJUFRfTUFUSEVNQVRJQ0FMX05PVEFU
SU9OICAgICAgICAgPSAxMjgsLyogWm10aCAqLworICAgICAgVVNDUklQVF9TWU1CT0xTICAgICAg
ICAgICAgICAgICAgICAgICA9IDEyOSwvKiBac3ltICovCisKKyAgICAgIC8qIFByaXZhdGUgdXNl
IGNvZGVzIGZyb20gUWFhYSAtIFFhYnggYXJlIG5vdCBzdXBwb3J0ZWQqLworICAgICAgVVNDUklQ
VF9DT0RFX0xJTUlUICAgID0gMTMwCit9IFVTY3JpcHRDb2RlOworCisjZW5kaWYgCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52186</attachid>
            <date>2010-03-31 10:36:26 -0700</date>
            <delta_ts>2010-04-02 12:42:44 -0700</delta_ts>
            <desc>patch with style issues addressed (and duplicate part removed)</desc>
            <filename>20797.patch.4e</filename>
            <type>text/plain</type>
            <size>23031</size>
            <attacher name="Jungshik Shin">jshin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NjgxNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMTAtMDMtMzAgIEp1bmdzaGlrIFNoaW4gIDxqc2hpbkBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCisKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzk3CisKKyAgICAgICAgTWFr
ZSBnZW5lcmljIGZvbnQgZmFtaWx5IGdldHRlcnMvc2V0dGVycyBhY2NlcHQgYW4gYWRkaXRpb25h
bAorICAgICAgICBhcmd1bWVudCAoc2NyaXB0IGNvZGUpLiBJdCBoYXMgYSBkZWZhdWx0IHZhbHVl
IHNvIHRoYXQgaWYgYW4gZW1iZWRkZXIKKyAgICAgICAgZG9lcyBub3QgaGF2ZS93YW50IGEgcGVy
LXNjcmlwdCBmb250IGZhbWlseSBzZXR0aW5nLCBjYWxsLXNpdGVzCisgICAgICAgIGRvbid0IGhh
dmUgdG8gYmUgY2hhbmdlZC4KKyAgICAgICAgVGhpcyBpcyB0byBwcmVwYXJlIGZvciBmaXhpbmcg
YnVnIDEwODc0IChmb250IHNlbGVjdGlvbiBpcyBub3QKKyAgICAgICAgbGFuZ3VhZ2UtZGVwZW5k
ZW50KSBhbmQgYnVnIDE4MDg1LgorCisgICAgICAgIFRoZXJlIHNob3VsZCBiZSBubyBjaGFuZ2Ug
aW4gbGF5b3V0IGFuZCBubyBuZXcgbGF5b3V0IHRlc3QKKyAgICAgICAgaXMgYWRkZWQuCisKKyAg
ICAgICAgKiBXZWJDb3JlLmJhc2UuZXhwOiBDaGFuZ2UgdGhlIHN5bWJvbCBuYW1lcyBmb3IgZ2Vu
ZXJpYyBmb250IGZhbWlseSBnZXR0ZXIvc2V0dGVycy4KKyAgICAgICAgKiBwYWdlL1NldHRpbmdz
LmNwcDogQWRkIGEgcGFyYW1ldGVyIChTY3JpcHRDb2RlKSB0byBnZW5lcmljIGZvbnQgZmFtaWx5
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldHRlci9zZXR0ZXJzLiAKKyAgICAgICAg
KiBwYWdlL1NldHRpbmdzLmg6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9VU2NyaXB0Q29kZS5o
OiBBZGRlZC4gVGhpcyBpcyBmb3IgcG9ydHMgdGhhdAorICAgICAgICAgIGRvIG5vdCB1c2UgSUNV
LiB0aGUgcGFydCBvZiBJQ1UncyBjb21tb24vdW5pY29kZS91c2NyaXB0LmgKKyAgICAgICAgICB0
aGF0IGRlZmluZXMgc2NyaXB0IGNvZGUgZW51bSB3YXMgY29waWVkLiBUbyBrZWVwIGVudW1zIGNv
bXBhdGlibGUKKyAgICAgICAgICB3aXRoIHRob3NlIGluIElDVSwgd2UgZG9uJ3QgZ2VuZXJhdGUg
dGhlIGxpc3Qgb3V0IG9mIFNjcmlwdHMudHh0CisgICAgICAgICAgb2YgdGhlIFVuaWNvZGUgRGF0
YSBiYXNlIG9yIENMRFIncyBkYXRhLgorCiAyMDEwLTAzLTMwICBFbnJpY2EgQ2FzdWNjaSAgPGVu
cmljYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4
OiBXZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3Jl
LmJhc2UuZXhwCShyZXZpc2lvbiA1NjgxNCkKKysrIFdlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cAko
d29ya2luZyBjb3B5KQpAQCAtNjUxLDE5ICs2NTEsMTkgQEAgX19aTjdXZWJDb3JlOFNldHRpbmdz
MTZzZXRVc2VzUGFnZUNhY2hlRQogX19aTjdXZWJDb3JlOFNldHRpbmdzMTdzZXRQbHVnaW5zRW5h
YmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldERPTVBhc3RlQWxsb3dlZEViCiBfX1pO
N1dlYkNvcmU4U2V0dGluZ3MxOHNldERlZmF1bHRGb250U2l6ZUVpCi1fX1pON1dlYkNvcmU4U2V0
dGluZ3MxOHNldEZpeGVkRm9udEZhbWlseUVSS05TXzEyQXRvbWljU3RyaW5nRQorX19aTjdXZWJD
b3JlOFNldHRpbmdzMThzZXRGaXhlZEZvbnRGYW1pbHlFUktOU18xMkF0b21pY1N0cmluZ0UxMVVT
Y3JpcHRDb2RlCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldE1pbmltdW1Gb250U2l6ZUVpCi1f
X1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldFNlcmlmRm9udEZhbWlseUVSS05TXzEyQXRvbWljU3Ry
aW5nRQorX19aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRTZXJpZkZvbnRGYW1pbHlFUktOU18xMkF0
b21pY1N0cmluZ0UxMVVTY3JpcHRDb2RlCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOXNldFNob3dE
ZWJ1Z0JvcmRlcnNFYgotX19aTjdXZWJDb3JlOFNldHRpbmdzMjBzZXRDdXJzaXZlRm9udEZhbWls
eUVSS05TXzEyQXRvbWljU3RyaW5nRQotX19aTjdXZWJDb3JlOFNldHRpbmdzMjBzZXRGYW50YXN5
Rm9udEZhbWlseUVSS05TXzEyQXRvbWljU3RyaW5nRQorX19aTjdXZWJDb3JlOFNldHRpbmdzMjBz
ZXRDdXJzaXZlRm9udEZhbWlseUVSS05TXzEyQXRvbWljU3RyaW5nRTExVVNjcmlwdENvZGUKK19f
Wk43V2ViQ29yZThTZXR0aW5nczIwc2V0RmFudGFzeUZvbnRGYW1pbHlFUktOU18xMkF0b21pY1N0
cmluZ0UxMVVTY3JpcHRDb2RlCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMHNldEphdmFTY3JpcHRF
bmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczIwc2V0WFNTQXVkaXRvckVuYWJsZWRFYgog
X19aTjdXZWJDb3JlOFNldHRpbmdzMjFzZXRTaG93UmVwYWludENvdW50ZXJFYgotX19aTjdXZWJD
b3JlOFNldHRpbmdzMjFzZXRTdGFuZGFyZEZvbnRGYW1pbHlFUktOU18xMkF0b21pY1N0cmluZ0UK
K19fWk43V2ViQ29yZThTZXR0aW5nczIxc2V0U3RhbmRhcmRGb250RmFtaWx5RVJLTlNfMTJBdG9t
aWNTdHJpbmdFMTFVU2NyaXB0Q29kZQogX19aTjdXZWJDb3JlOFNldHRpbmdzMjFzZXRXZWJTZWN1
cml0eUVuYWJsZWRFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMjJzZXRMb2NhbFN0b3JhZ2VFbmFi
bGVkRWIKLV9fWk43V2ViQ29yZThTZXR0aW5nczIyc2V0U2Fuc1NlcmlmRm9udEZhbWlseUVSS05T
XzEyQXRvbWljU3RyaW5nRQorX19aTjdXZWJDb3JlOFNldHRpbmdzMjJzZXRTYW5zU2VyaWZGb250
RmFtaWx5RVJLTlNfMTJBdG9taWNTdHJpbmdFMTFVU2NyaXB0Q29kZQogX19aTjdXZWJDb3JlOFNl
dHRpbmdzMjJzZXRTaG93c1VSTHNJblRvb2xUaXBzRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczIz
c2V0RGVmYXVsdEZpeGVkRm9udFNpemVFaQogX19aTjdXZWJDb3JlOFNldHRpbmdzMjNzZXRFZGl0
YWJsZUxpbmtCZWhhdmlvckVOU18yMEVkaXRhYmxlTGlua0JlaGF2aW9yRQpAQCAtMTAwNSw2ICsx
MDA1LDEyIEBAIF9fWk5LN1dlYkNvcmU4UG9zaXRpb24xMGRvd25zdHJlYW1FTlMwXzIKIF9fWk5L
N1dlYkNvcmU4UG9zaXRpb24yNWxlYWRpbmdXaGl0ZXNwYWNlUG9zaXRpb25FTlNfOUVBZmZpbml0
eUViCiBfX1pOSzdXZWJDb3JlOFBvc2l0aW9uMjZ0cmFpbGluZ1doaXRlc3BhY2VQb3NpdGlvbkVO
U185RUFmZmluaXR5RWIKIF9fWk5LN1dlYkNvcmU4UG9zaXRpb244dXBzdHJlYW1FTlMwXzI3RWRp
dGluZ0JvdW5kYXJ5Q3Jvc3NpbmdSdWxlRQorX19aTks3V2ViQ29yZThTZXR0aW5nczE1Zml4ZWRG
b250RmFtaWx5RTExVVNjcmlwdENvZGUKK19fWk5LN1dlYkNvcmU4U2V0dGluZ3MxNXNlcmlmRm9u
dEZhbWlseUUxMVVTY3JpcHRDb2RlCitfX1pOSzdXZWJDb3JlOFNldHRpbmdzMTdjdXJzaXZlRm9u
dEZhbWlseUUxMVVTY3JpcHRDb2RlCitfX1pOSzdXZWJDb3JlOFNldHRpbmdzMTdmYW50YXN5Rm9u
dEZhbWlseUUxMVVTY3JpcHRDb2RlCitfX1pOSzdXZWJDb3JlOFNldHRpbmdzMThzdGFuZGFyZEZv
bnRGYW1pbHlFMTFVU2NyaXB0Q29kZQorX19aTks3V2ViQ29yZThTZXR0aW5nczE5c2Fuc1Nlcmlm
Rm9udEZhbWlseUUxMVVTY3JpcHRDb2RlCiBfX1pOSzdXZWJDb3JlOURPTVdpbmRvdzI3cGVuZGlu
Z1VubG9hZEV2ZW50TGlzdGVuZXJzRXYKIF9fWk5LN1dlYkNvcmU5RmxvYXRSZWN0Y3Y3X05TUmVj
dEV2CiBfX1pOSzdXZWJDb3JlOUZyYW1lVHJlZTEydHJhdmVyc2VOZXh0RVBLTlNfNUZyYW1lRQpJ
bmRleDogV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuY3BwCShyZXZpc2lvbiA1NjgxNCkKKysrIFdlYkNvcmUvcGFnZS9TZXR0aW5n
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDYgKzQ2LDIyIEBAIHN0YXRpYyB2b2lkIHNldE5l
ZWRzUmVhcHBseVN0eWxlc0luQWxsRnIKICAgICAgICAgZnJhbWUtPnNldE5lZWRzUmVhcHBseVN0
eWxlcygpOwogfQogCitzdGF0aWMgaW5saW5lIHZvaWQgc2V0R2VuZXJpY0ZvbnRGYW1pbHlNYXAo
U2NyaXB0Rm9udEZhbWlseU1hcCYgZm9udE1hcCwgY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHks
IFVTY3JpcHRDb2RlIHNjcmlwdCwgUGFnZSogcGFnZSkKK3sKKyAgICAvLyBVU0NSSVBUX0lOVkFM
SURfQ09ERSBpcyAtMSBhbmQgVVNSSVRQX0NPTU1PTiBpcyAwLCB3aGljaCBhcmUgc3BlY2lhbCAo
ZGVsZXRlZCBhbmQgZW1wdHkpIGluIEhhc2hNYXAgd2l0aCBpbnQga2V5cy4KKyAgICAvLyBUbyBh
dm9pZCB1c2luZyAtMSBhbmQgMCBhcyBhIGtleSwgd2UgYWRkIDIuIAorICAgIGlmIChmb250TWFw
LnNldChzdGF0aWNfY2FzdDxpbnQ+KHNjcmlwdCkgKyAyLCBmYW1pbHkpLnNlY29uZCkKKyAgICAg
ICAgc2V0TmVlZHNSZWFwcGx5U3R5bGVzSW5BbGxGcmFtZXMocGFnZSk7Cit9CisKK3N0YXRpYyBp
bmxpbmUgY29uc3QgQXRvbWljU3RyaW5nJiBnZXRHZW5lcmljRm9udEZhbWlseUZvclNjcmlwdChj
b25zdCBTY3JpcHRGb250RmFtaWx5TWFwJiBmb250TWFwLCBVU2NyaXB0Q29kZSBzY3JpcHQpIAor
eworICAgIFNjcmlwdEZvbnRGYW1pbHlNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gZm9udE1hcC5m
aW5kKHN0YXRpY19jYXN0PGludD4oc2NyaXB0KSArIDIpOworICAgIGlmIChpdCAhPSBmb250TWFw
LmVuZCgpKQorICAgICAgICByZXR1cm4gaXQtPnNlY29uZDsKKyAgICByZXR1cm4gZW1wdHlBdG9t
OworfQorCiAjaWYgVVNFKFNBRkFSSV9USEVNRSkKIGJvb2wgU2V0dGluZ3M6OmdTaG91bGRQYWlu
dE5hdGl2ZUNvbnRyb2xzID0gdHJ1ZTsKICNlbmRpZgpAQCAtMTMyLDU4ICsxNDgsNjQgQEAgU2V0
dGluZ3M6OlNldHRpbmdzKFBhZ2UqIHBhZ2UpCiAgICAgQXRvbWljU3RyaW5nOjppbml0KCk7CiB9
CiAKLXZvaWQgU2V0dGluZ3M6OnNldFN0YW5kYXJkRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJp
bmcmIHN0YW5kYXJkRm9udEZhbWlseSkKK2NvbnN0IEF0b21pY1N0cmluZyYgU2V0dGluZ3M6OnN0
YW5kYXJkRm9udEZhbWlseShVU2NyaXB0Q29kZSBzY3JpcHQpIGNvbnN0CiB7Ci0gICAgaWYgKHN0
YW5kYXJkRm9udEZhbWlseSA9PSBtX3N0YW5kYXJkRm9udEZhbWlseSkKLSAgICAgICAgcmV0dXJu
OworICAgIHJldHVybiBnZXRHZW5lcmljRm9udEZhbWlseUZvclNjcmlwdChtX3N0YW5kYXJkRm9u
dEZhbWlseU1hcCwgc2NyaXB0KTsKK30KIAotICAgIG1fc3RhbmRhcmRGb250RmFtaWx5ID0gc3Rh
bmRhcmRGb250RmFtaWx5OwotICAgIHNldE5lZWRzUmVhcHBseVN0eWxlc0luQWxsRnJhbWVzKG1f
cGFnZSk7Cit2b2lkIFNldHRpbmdzOjpzZXRTdGFuZGFyZEZvbnRGYW1pbHkoY29uc3QgQXRvbWlj
U3RyaW5nJiBmYW1pbHksIFVTY3JpcHRDb2RlIHNjcmlwdCkKK3sKKyAgICBzZXRHZW5lcmljRm9u
dEZhbWlseU1hcChtX3N0YW5kYXJkRm9udEZhbWlseU1hcCwgZmFtaWx5LCBzY3JpcHQsIG1fcGFn
ZSk7CiB9CiAKLXZvaWQgU2V0dGluZ3M6OnNldEZpeGVkRm9udEZhbWlseShjb25zdCBBdG9taWNT
dHJpbmcmIGZpeGVkRm9udEZhbWlseSkKK2NvbnN0IEF0b21pY1N0cmluZyYgU2V0dGluZ3M6OmZp
eGVkRm9udEZhbWlseShVU2NyaXB0Q29kZSBzY3JpcHQpIGNvbnN0CiB7Ci0gICAgaWYgKG1fZml4
ZWRGb250RmFtaWx5ID09IGZpeGVkRm9udEZhbWlseSkKLSAgICAgICAgcmV0dXJuOwotICAgICAg
ICAKLSAgICBtX2ZpeGVkRm9udEZhbWlseSA9IGZpeGVkRm9udEZhbWlseTsKLSAgICBzZXROZWVk
c1JlYXBwbHlTdHlsZXNJbkFsbEZyYW1lcyhtX3BhZ2UpOworICAgIHJldHVybiBnZXRHZW5lcmlj
Rm9udEZhbWlseUZvclNjcmlwdChtX2ZpeGVkRm9udEZhbWlseU1hcCwgc2NyaXB0KTsKIH0KIAot
dm9pZCBTZXR0aW5nczo6c2V0U2VyaWZGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgc2Vy
aWZGb250RmFtaWx5KQordm9pZCBTZXR0aW5nczo6c2V0Rml4ZWRGb250RmFtaWx5KGNvbnN0IEF0
b21pY1N0cmluZyYgZmFtaWx5LCBVU2NyaXB0Q29kZSBzY3JpcHQpCiB7Ci0gICAgaWYgKG1fc2Vy
aWZGb250RmFtaWx5ID09IHNlcmlmRm9udEZhbWlseSkKLSAgICAgICAgcmV0dXJuOwotICAgICAg
ICAKLSAgICBtX3NlcmlmRm9udEZhbWlseSA9IHNlcmlmRm9udEZhbWlseTsKLSAgICBzZXROZWVk
c1JlYXBwbHlTdHlsZXNJbkFsbEZyYW1lcyhtX3BhZ2UpOworICAgIHNldEdlbmVyaWNGb250RmFt
aWx5TWFwKG1fZml4ZWRGb250RmFtaWx5TWFwLCBmYW1pbHksIHNjcmlwdCwgbV9wYWdlKTsKIH0K
IAotdm9pZCBTZXR0aW5nczo6c2V0U2Fuc1NlcmlmRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJp
bmcmIHNhbnNTZXJpZkZvbnRGYW1pbHkpCitjb25zdCBBdG9taWNTdHJpbmcmIFNldHRpbmdzOjpz
ZXJpZkZvbnRGYW1pbHkoVVNjcmlwdENvZGUgc2NyaXB0KSBjb25zdAogewotICAgIGlmIChtX3Nh
bnNTZXJpZkZvbnRGYW1pbHkgPT0gc2Fuc1NlcmlmRm9udEZhbWlseSkKLSAgICAgICAgcmV0dXJu
OwotICAgICAgICAKLSAgICBtX3NhbnNTZXJpZkZvbnRGYW1pbHkgPSBzYW5zU2VyaWZGb250RmFt
aWx5OyAKLSAgICBzZXROZWVkc1JlYXBwbHlTdHlsZXNJbkFsbEZyYW1lcyhtX3BhZ2UpOworICAg
IHJldHVybiBnZXRHZW5lcmljRm9udEZhbWlseUZvclNjcmlwdChtX3NlcmlmRm9udEZhbWlseU1h
cCwgc2NyaXB0KTsKIH0KIAotdm9pZCBTZXR0aW5nczo6c2V0Q3Vyc2l2ZUZvbnRGYW1pbHkoY29u
c3QgQXRvbWljU3RyaW5nJiBjdXJzaXZlRm9udEZhbWlseSkKK3ZvaWQgU2V0dGluZ3M6OnNldFNl
cmlmRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSwgVVNjcmlwdENvZGUgc2Ny
aXB0KQogewotICAgIGlmIChtX2N1cnNpdmVGb250RmFtaWx5ID09IGN1cnNpdmVGb250RmFtaWx5
KQotICAgICAgICByZXR1cm47Ci0gICAgICAgIAotICAgIG1fY3Vyc2l2ZUZvbnRGYW1pbHkgPSBj
dXJzaXZlRm9udEZhbWlseTsKLSAgICBzZXROZWVkc1JlYXBwbHlTdHlsZXNJbkFsbEZyYW1lcyht
X3BhZ2UpOworICAgIHNldEdlbmVyaWNGb250RmFtaWx5TWFwKG1fc2VyaWZGb250RmFtaWx5TWFw
LCBmYW1pbHksIHNjcmlwdCwgbV9wYWdlKTsKIH0KIAotdm9pZCBTZXR0aW5nczo6c2V0RmFudGFz
eUZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW50YXN5Rm9udEZhbWlseSkKK2NvbnN0
IEF0b21pY1N0cmluZyYgU2V0dGluZ3M6OnNhbnNTZXJpZkZvbnRGYW1pbHkoVVNjcmlwdENvZGUg
c2NyaXB0KSBjb25zdAogewotICAgIGlmIChtX2ZhbnRhc3lGb250RmFtaWx5ID09IGZhbnRhc3lG
b250RmFtaWx5KQotICAgICAgICByZXR1cm47Ci0gICAgICAgIAotICAgIG1fZmFudGFzeUZvbnRG
YW1pbHkgPSBmYW50YXN5Rm9udEZhbWlseTsKLSAgICBzZXROZWVkc1JlYXBwbHlTdHlsZXNJbkFs
bEZyYW1lcyhtX3BhZ2UpOworICAgIHJldHVybiBnZXRHZW5lcmljRm9udEZhbWlseUZvclNjcmlw
dChtX3NhbnNTZXJpZkZvbnRGYW1pbHlNYXAsIHNjcmlwdCk7Cit9CisKK3ZvaWQgU2V0dGluZ3M6
OnNldFNhbnNTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIFVTY3Jp
cHRDb2RlIHNjcmlwdCkKK3sKKyAgICBzZXRHZW5lcmljRm9udEZhbWlseU1hcChtX3NhbnNTZXJp
ZkZvbnRGYW1pbHlNYXAsIGZhbWlseSwgc2NyaXB0LCBtX3BhZ2UpOworfQorCitjb25zdCBBdG9t
aWNTdHJpbmcmIFNldHRpbmdzOjpjdXJzaXZlRm9udEZhbWlseShVU2NyaXB0Q29kZSBzY3JpcHQp
IGNvbnN0Cit7CisgICAgcmV0dXJuIGdldEdlbmVyaWNGb250RmFtaWx5Rm9yU2NyaXB0KG1fY3Vy
c2l2ZUZvbnRGYW1pbHlNYXAsIHNjcmlwdCk7Cit9CisKK3ZvaWQgU2V0dGluZ3M6OnNldEN1cnNp
dmVGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5LCBVU2NyaXB0Q29kZSBzY3Jp
cHQpCit7CisgICAgc2V0R2VuZXJpY0ZvbnRGYW1pbHlNYXAobV9jdXJzaXZlRm9udEZhbWlseU1h
cCwgZmFtaWx5LCBzY3JpcHQsIG1fcGFnZSk7Cit9CisKK2NvbnN0IEF0b21pY1N0cmluZyYgU2V0
dGluZ3M6OmZhbnRhc3lGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gZ2V0R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQobV9mYW50YXN5Rm9udEZhbWls
eU1hcCwgc2NyaXB0KTsKK30KKwordm9pZCBTZXR0aW5nczo6c2V0RmFudGFzeUZvbnRGYW1pbHko
Y29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIFVTY3JpcHRDb2RlIHNjcmlwdCkKK3sKKyAgICBz
ZXRHZW5lcmljRm9udEZhbWlseU1hcChtX2ZhbnRhc3lGb250RmFtaWx5TWFwLCBmYW1pbHksIHNj
cmlwdCwgbV9wYWdlKTsKIH0KIAogdm9pZCBTZXR0aW5nczo6c2V0TWluaW11bUZvbnRTaXplKGlu
dCBtaW5pbXVtRm9udFNpemUpCkluZGV4OiBXZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAkocmV2aXNpb24gNTY4MTQpCisrKyBXZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsOCArMjgsMTUgQEAKICNk
ZWZpbmUgU2V0dGluZ3NfaAogCiAjaW5jbHVkZSAiQXRvbWljU3RyaW5nLmgiCisjaW5jbHVkZSAi
QXRvbWljU3RyaW5nSGFzaC5oIgogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5j
bHVkZSAiS1VSTC5oIgorI2lmIFVTRShJQ1VfVU5JQ09ERSkKKyNpbmNsdWRlICJ1bmljb2RlL3Vz
Y3JpcHQuaCIKKyNlbHNlCisjaW5jbHVkZSAiVVNjcmlwdENvZGUuaCIKKyNlbmRpZgorI2luY2x1
ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSAiWm9vbU1vZGUuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtNjUsMjcgKzcyLDI4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAvLyBp
ZiBwb3NzaWJsZSBpbiB0aGUgZnV0dXJlLgogICAgIGVudW0gRWRpdGluZ0JlaGF2aW9yIHsgRWRp
dGluZ01hY0JlaGF2aW9yLCBFZGl0aW5nV2luZG93c0JlaGF2aW9yIH07CiAKKyAgICB0eXBlZGVm
IEhhc2hNYXA8aW50LCBBdG9taWNTdHJpbmc+IFNjcmlwdEZvbnRGYW1pbHlNYXA7CisKICAgICBj
bGFzcyBTZXR0aW5ncyA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAg
ICBTZXR0aW5ncyhQYWdlKik7CisgICAgICAgIHZvaWQgc2V0U3RhbmRhcmRGb250RmFtaWx5KGNv
bnN0IEF0b21pY1N0cmluZyYsIFVTY3JpcHRDb2RlIHNjcmlwdCA9IFVTQ1JJUFRfQ09NTU9OKTsK
KyAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBzdGFuZGFyZEZvbnRGYW1pbHkoVVNjcmlwdENv
ZGUgc2NyaXB0ID0gVVNDUklQVF9DT01NT04pIGNvbnN0OwogCi0gICAgICAgIHZvaWQgc2V0U3Rh
bmRhcmRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYpOwotICAgICAgICBjb25zdCBBdG9t
aWNTdHJpbmcmIHN0YW5kYXJkRm9udEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhbmRhcmRG
b250RmFtaWx5OyB9Ci0KLSAgICAgICAgdm9pZCBzZXRGaXhlZEZvbnRGYW1pbHkoY29uc3QgQXRv
bWljU3RyaW5nJik7Ci0gICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgZml4ZWRGb250RmFtaWx5
KCkgY29uc3QgeyByZXR1cm4gbV9maXhlZEZvbnRGYW1pbHk7IH0KKyAgICAgICAgdm9pZCBzZXRG
aXhlZEZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiwgVVNjcmlwdENvZGUgc2NyaXB0ID0g
VVNDUklQVF9DT01NT04pOworICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGZpeGVkRm9udEZh
bWlseShVU2NyaXB0Q29kZSBzY3JpcHQgPSBVU0NSSVBUX0NPTU1PTikgY29uc3Q7CiAKLSAgICAg
ICAgdm9pZCBzZXRTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJik7Ci0gICAgICAg
IGNvbnN0IEF0b21pY1N0cmluZyYgc2VyaWZGb250RmFtaWx5KCkgY29uc3QgeyByZXR1cm4gbV9z
ZXJpZkZvbnRGYW1pbHk7IH0KKyAgICAgICAgdm9pZCBzZXRTZXJpZkZvbnRGYW1pbHkoY29uc3Qg
QXRvbWljU3RyaW5nJiwgVVNjcmlwdENvZGUgc2NyaXB0ID0gVVNDUklQVF9DT01NT04pOworICAg
ICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHNlcmlmRm9udEZhbWlseShVU2NyaXB0Q29kZSBzY3Jp
cHQgPSBVU0NSSVBUX0NPTU1PTikgY29uc3Q7CiAKLSAgICAgICAgdm9pZCBzZXRTYW5zU2VyaWZG
b250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYpOwotICAgICAgICBjb25zdCBBdG9taWNTdHJp
bmcmIHNhbnNTZXJpZkZvbnRGYW1pbHkoKSBjb25zdCB7IHJldHVybiBtX3NhbnNTZXJpZkZvbnRG
YW1pbHk7IH0KKyAgICAgICAgdm9pZCBzZXRTYW5zU2VyaWZGb250RmFtaWx5KGNvbnN0IEF0b21p
Y1N0cmluZyYsIFVTY3JpcHRDb2RlIHNjcmlwdCA9IFVTQ1JJUFRfQ09NTU9OKTsKKyAgICAgICAg
Y29uc3QgQXRvbWljU3RyaW5nJiBzYW5zU2VyaWZGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlw
dCA9IFVTQ1JJUFRfQ09NTU9OKSBjb25zdDsKIAotICAgICAgICB2b2lkIHNldEN1cnNpdmVGb250
RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYpOwotICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcm
IGN1cnNpdmVGb250RmFtaWx5KCkgY29uc3QgeyByZXR1cm4gbV9jdXJzaXZlRm9udEZhbWlseTsg
fQorICAgICAgICB2b2lkIHNldEN1cnNpdmVGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYs
IFVTY3JpcHRDb2RlIHNjcmlwdCA9IFVTQ1JJUFRfQ09NTU9OKTsKKyAgICAgICAgY29uc3QgQXRv
bWljU3RyaW5nJiBjdXJzaXZlRm9udEZhbWlseShVU2NyaXB0Q29kZSBzY3JpcHQgPSBVU0NSSVBU
X0NPTU1PTikgY29uc3Q7CiAKLSAgICAgICAgdm9pZCBzZXRGYW50YXN5Rm9udEZhbWlseShjb25z
dCBBdG9taWNTdHJpbmcmKTsKLSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBmYW50YXN5Rm9u
dEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fZmFudGFzeUZvbnRGYW1pbHk7IH0KKyAgICAgICAg
dm9pZCBzZXRGYW50YXN5Rm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmLCBVU2NyaXB0Q29k
ZSBzY3JpcHQgPSBVU0NSSVBUX0NPTU1PTik7CisgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYg
ZmFudGFzeUZvbnRGYW1pbHkoVVNjcmlwdENvZGUgc2NyaXB0ID0gVVNDUklQVF9DT01NT04pIGNv
bnN0OwogCiAgICAgICAgIHZvaWQgc2V0TWluaW11bUZvbnRTaXplKGludCk7CiAgICAgICAgIGlu
dCBtaW5pbXVtRm9udFNpemUoKSBjb25zdCB7IHJldHVybiBtX21pbmltdW1Gb250U2l6ZTsgfQpA
QCAtMzAxLDEyICszMDksMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBTdHJpbmcg
bV9mdHBEaXJlY3RvcnlUZW1wbGF0ZVBhdGg7CiAgICAgICAgIFN0cmluZyBtX2xvY2FsU3RvcmFn
ZURhdGFiYXNlUGF0aDsKICAgICAgICAgS1VSTCBtX3VzZXJTdHlsZVNoZWV0TG9jYXRpb247Ci0g
ICAgICAgIEF0b21pY1N0cmluZyBtX3N0YW5kYXJkRm9udEZhbWlseTsKLSAgICAgICAgQXRvbWlj
U3RyaW5nIG1fZml4ZWRGb250RmFtaWx5OwotICAgICAgICBBdG9taWNTdHJpbmcgbV9zZXJpZkZv
bnRGYW1pbHk7Ci0gICAgICAgIEF0b21pY1N0cmluZyBtX3NhbnNTZXJpZkZvbnRGYW1pbHk7Ci0g
ICAgICAgIEF0b21pY1N0cmluZyBtX2N1cnNpdmVGb250RmFtaWx5OwotICAgICAgICBBdG9taWNT
dHJpbmcgbV9mYW50YXN5Rm9udEZhbWlseTsKKworICAgICAgICBTY3JpcHRGb250RmFtaWx5TWFw
IG1fZml4ZWRGb250RmFtaWx5TWFwOworICAgICAgICBTY3JpcHRGb250RmFtaWx5TWFwIG1fc2Vy
aWZGb250RmFtaWx5TWFwOworICAgICAgICBTY3JpcHRGb250RmFtaWx5TWFwIG1fc2Fuc1Nlcmlm
Rm9udEZhbWlseU1hcDsKKyAgICAgICAgU2NyaXB0Rm9udEZhbWlseU1hcCBtX2N1cnNpdmVGb250
RmFtaWx5TWFwOworICAgICAgICBTY3JpcHRGb250RmFtaWx5TWFwIG1fZmFudGFzeUZvbnRGYW1p
bHlNYXA7CisgICAgICAgIFNjcmlwdEZvbnRGYW1pbHlNYXAgbV9zdGFuZGFyZEZvbnRGYW1pbHlN
YXA7CisKICAgICAgICAgRWRpdGFibGVMaW5rQmVoYXZpb3IgbV9lZGl0YWJsZUxpbmtCZWhhdmlv
cjsKICAgICAgICAgVGV4dERpcmVjdGlvblN1Ym1lbnVJbmNsdXNpb25CZWhhdmlvciBtX3RleHRE
aXJlY3Rpb25TdWJtZW51SW5jbHVzaW9uQmVoYXZpb3I7CiAgICAgICAgIGludCBtX21pbmltdW1G
b250U2l6ZTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vdGV4dC9VU2NyaXB0Q29kZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vdGV4dC9VU2NyaXB0Q29kZS5oCShyZXZpc2lvbiAw
KQorKysgV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1VTY3JpcHRDb2RlLmgJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMjAwIEBACisvKgorICogIENvcHlyaWdodCAoQykgMTk5Ny0yMDA5LCBJbnRlcm5h
dGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCisgKiAgQ29ycG9yYXRpb24gYW5kIG90aGVycy4gIEFs
bCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg
ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQorICogb2YgdGhp
cyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3
YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBp
bmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwg
bW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgYW5kL29yIHNlbGwKKyAqIGNvcGll
cyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0
d2FyZSBpcworICogZnVybmlzaGVkIHRvIGRvIHNvLCBwcm92aWRlZCB0aGF0IHRoZSBhYm92ZSBj
b3B5cmlnaHQgbm90aWNlKHMpIGFuZCB0aGlzCisgKiBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIg
aW4gYWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUgYW5kIHRoYXQgYm90aCB0aGUKKyAqIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UocykgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyIGlu
IHN1cHBvcnRpbmcKKyAqIGRvY3VtZW50YXRpb24uCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBS
T1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisgKiBFWFBSRVNT
IE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMg
T0YKKyAqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QU5EIE5PTklORlJJTkdFTUVOVAorICogT0YgVEhJUkQgUEFSVFkgUklHSFRTLiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUgorICogSE9MREVSUyBJTkNMVURFRCBJTiBU
SElTIE5PVElDRSBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgT1IgQU5ZCisgKiBTUEVDSUFMIElO
RElSRUNUIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUywgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZF
UgorICogUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhF
UiBJTiBBTiBBQ1RJT04KKyAqIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJ
T1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YKKyAqIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUg
VVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuICAKKyAqIEV4Y2VwdCBhcyBjb250
YWluZWQgaW4gdGhpcyBub3RpY2UsIHRoZSBuYW1lIG9mIGEgY29weXJpZ2h0CisgKiBob2xkZXIg
c2hhbGwgbm90IGJlIHVzZWQgaW4gYWR2ZXJ0aXNpbmcgb3Igb3RoZXJ3aXNlIHRvIHByb21vdGUg
dGhlCisgKiBzYWxlLCB1c2Ugb3Igb3RoZXIgZGVhbGluZ3MgaW4gdGhpcyBTb2Z0d2FyZSB3aXRo
b3V0IHByaW9yIHdyaXR0ZW4KKyAqIGF1dGhvcml6YXRpb24gb2YgdGhlIGNvcHlyaWdodCBob2xk
ZXIuCisqLworCisjaWZuZGVmIFVTY3JpcHRDb2RlX2gKKyNkZWZpbmUgVVNjcmlwdENvZGVfaAor
CisvKioKKyAqIENvbnN0YW50cyBmb3IgVW5pY29kZSBzY3JpcHQgdmFsdWVzIGZyb20gU2NyaXB0
TmFtZXMudHh0IC4KKyAqLworCisvKioKKyAqIFRoZSBVbmljb2RlIHN0YW5kYXJkIGRhdGFiYXNl
IGRvZXMgbm90IGhhdmUgU2NyaXB0TmFtZXMudHh0IGFueSBtb3JlLgorICogSW5zdGVhZCwgaXQg
aGFzIFNjcmlwdHMudHh0LCBmcm9tIHdoaWNoIHRoZSBsaXN0IG9mIHNjcmlwdCBuYW1lcyBjYW4g
YmUKKyAqIGRlcml2ZWQuIFRoZSBsaXN0IGNhbiBhbHNvIGJlIGRlcml2ZWQgZnJvbSB0aGUgQ0xE
UiAoQ29tbW9uIExvY2FsZSBEYXRhCisgKiBSZXBvc2l0b3J5KS4KKyAqIEhvd2V2ZXIsIHRoZSBv
cmRlciBvZiB0aGUgbGlzdCBkZXJpdmVkIGZyb20gZWl0aGVyIHNvdXJjZSB3aWxsIGJlIGRpZmZl
cmVudAorICogZnJvbSB0aGUgb3JkZXIgaW4gdGhpcyBmaWxlLCB3aGljaCBpcyB0aGUgc2FtZSBh
cyBJQ1UncworICogY29tbW9uL3VuaWNvZGUvdXNjcmlwdC5oLiBUbyBrZWVwIHRoZSBiYWNrd2Fy
ZCBjb21wYXRpYmlsaXR5LCBJQ1UncworICogdXNjcmlwdC5oIGFkZCBuZXcgc2NyaXB0IGNvZGVz
IGF0IHRoZSBlbmQgb2YgZXhpc3RpbmcgZW50cmllcyAKKyAqIGluc3RlYWQgb2Ygc29ydGluZyB0
aGVtIGV2ZXJ5dGltZSBpdCdzIHVwZGF0ZWQuIAorICovCit0eXBlZGVmIGVudW0gVVNjcmlwdENv
ZGUgeworICAgICAgVVNDUklQVF9JTlZBTElEX0NPREUgPSAtMSwKKyAgICAgIFVTQ1JJUFRfQ09N
TU9OICAgICAgID0gIDAgLCAvKiBaeXl5ICovCisgICAgICBVU0NSSVBUX0lOSEVSSVRFRCAgICA9
ICAxLCAgLyogUWFhaSAqLworICAgICAgVVNDUklQVF9BUkFCSUMgICAgICAgPSAgMiwgIC8qIEFy
YWIgKi8KKyAgICAgIFVTQ1JJUFRfQVJNRU5JQU4gICAgID0gIDMsICAvKiBBcm1uICovCisgICAg
ICBVU0NSSVBUX0JFTkdBTEkgICAgICA9ICA0LCAgLyogQmVuZyAqLworICAgICAgVVNDUklQVF9C
T1BPTU9GTyAgICAgPSAgNSwgIC8qIEJvcG8gKi8KKyAgICAgIFVTQ1JJUFRfQ0hFUk9LRUUgICAg
ID0gIDYsICAvKiBDaGVyICovCisgICAgICBVU0NSSVBUX0NPUFRJQyAgICAgICA9ICA3LCAgLyog
Q29wdCAqLworICAgICAgVVNDUklQVF9DWVJJTExJQyAgICAgPSAgOCwgIC8qIEN5cmwgKEN5cnMp
ICovCisgICAgICBVU0NSSVBUX0RFU0VSRVQgICAgICA9ICA5LCAgLyogRHNydCAqLworICAgICAg
VVNDUklQVF9ERVZBTkFHQVJJICAgPSAxMCwgIC8qIERldmEgKi8KKyAgICAgIFVTQ1JJUFRfRVRI
SU9QSUMgICAgID0gMTEsICAvKiBFdGhpICovCisgICAgICBVU0NSSVBUX0dFT1JHSUFOICAgICA9
IDEyLCAgLyogR2VvciAoR2VvbiwgR2VvYSkgKi8KKyAgICAgIFVTQ1JJUFRfR09USElDICAgICAg
ID0gMTMsICAvKiBHb3RoICovCisgICAgICBVU0NSSVBUX0dSRUVLICAgICAgICA9IDE0LCAgLyog
R3JlayAqLworICAgICAgVVNDUklQVF9HVUpBUkFUSSAgICAgPSAxNSwgIC8qIEd1anIgKi8KKyAg
ICAgIFVTQ1JJUFRfR1VSTVVLSEkgICAgID0gMTYsICAvKiBHdXJ1ICovCisgICAgICBVU0NSSVBU
X0hBTiAgICAgICAgICA9IDE3LCAgLyogSGFuaSAqLworICAgICAgVVNDUklQVF9IQU5HVUwgICAg
ICAgPSAxOCwgIC8qIEhhbmcgKi8KKyAgICAgIFVTQ1JJUFRfSEVCUkVXICAgICAgID0gMTksICAv
KiBIZWJyICovCisgICAgICBVU0NSSVBUX0hJUkFHQU5BICAgICA9IDIwLCAgLyogSGlyYSAqLwor
ICAgICAgVVNDUklQVF9LQU5OQURBICAgICAgPSAyMSwgIC8qIEtuZGEgKi8KKyAgICAgIFVTQ1JJ
UFRfS0FUQUtBTkEgICAgID0gMjIsICAvKiBLYW5hICovCisgICAgICBVU0NSSVBUX0tITUVSICAg
ICAgICA9IDIzLCAgLyogS2htciAqLworICAgICAgVVNDUklQVF9MQU8gICAgICAgICAgPSAyNCwg
IC8qIExhb28gKi8KKyAgICAgIFVTQ1JJUFRfTEFUSU4gICAgICAgID0gMjUsICAvKiBMYXRuIChM
YXRmLCBMYXRnKSAqLworICAgICAgVVNDUklQVF9NQUxBWUFMQU0gICAgPSAyNiwgIC8qIE1seW0g
Ki8KKyAgICAgIFVTQ1JJUFRfTU9OR09MSUFOICAgID0gMjcsICAvKiBNb25nICovCisgICAgICBV
U0NSSVBUX01ZQU5NQVIgICAgICA9IDI4LCAgLyogTXltciAqLworICAgICAgVVNDUklQVF9PR0hB
TSAgICAgICAgPSAyOSwgIC8qIE9nYW0gKi8KKyAgICAgIFVTQ1JJUFRfT0xEX0lUQUxJQyAgID0g
MzAsICAvKiBJdGFsICovCisgICAgICBVU0NSSVBUX09SSVlBICAgICAgICA9IDMxLCAgLyogT3J5
YSAqLworICAgICAgVVNDUklQVF9SVU5JQyAgICAgICAgPSAzMiwgIC8qIFJ1bnIgKi8KKyAgICAg
IFVTQ1JJUFRfU0lOSEFMQSAgICAgID0gMzMsICAvKiBTaW5oICovCisgICAgICBVU0NSSVBUX1NZ
UklBQyAgICAgICA9IDM0LCAgLyogU3lyYyAoU3lyaiwgU3lybiwgU3lyZSkgKi8KKyAgICAgIFVT
Q1JJUFRfVEFNSUwgICAgICAgID0gMzUsICAvKiBUYW1sICovCisgICAgICBVU0NSSVBUX1RFTFVH
VSAgICAgICA9IDM2LCAgLyogVGVsdSAqLworICAgICAgVVNDUklQVF9USEFBTkEgICAgICAgPSAz
NywgIC8qIFRoYWEgKi8KKyAgICAgIFVTQ1JJUFRfVEhBSSAgICAgICAgID0gMzgsICAvKiBUaGFp
ICovCisgICAgICBVU0NSSVBUX1RJQkVUQU4gICAgICA9IDM5LCAgLyogVGlidCAqLworICAgICAg
LyoqIENhbmFkaWFuX0Fib3JpZ2luYWwgc2NyaXB0LiBAc3RhYmxlIElDVSAyLjYgKi8KKyAgICAg
IFVTQ1JJUFRfQ0FOQURJQU5fQUJPUklHSU5BTCA9IDQwLCAgLyogQ2FucyAqLworICAgICAgLyoq
IENhbmFkaWFuX0Fib3JpZ2luYWwgc2NyaXB0IChhbGlhcykuIEBzdGFibGUgSUNVIDIuMiAqLwor
ICAgICAgVVNDUklQVF9VQ0FTICAgICAgICAgPSBVU0NSSVBUX0NBTkFESUFOX0FCT1JJR0lOQUws
CisgICAgICBVU0NSSVBUX1lJICAgICAgICAgICA9IDQxLCAgLyogWWlpaSAqLworICAgICAgVVND
UklQVF9UQUdBTE9HICAgICAgPSA0MiwgIC8qIFRnbGcgKi8KKyAgICAgIFVTQ1JJUFRfSEFOVU5P
TyAgICAgID0gNDMsICAvKiBIYW5vICovCisgICAgICBVU0NSSVBUX0JVSElEICAgICAgICA9IDQ0
LCAgLyogQnVoZCAqLworICAgICAgVVNDUklQVF9UQUdCQU5XQSAgICAgPSA0NSwgIC8qIFRhZ2Ig
Ki8KKworICAgICAgLyogTmV3IHNjcmlwdHMgaW4gVW5pY29kZSA0IEBzdGFibGUgSUNVIDIuNiAq
LworICAgICAgVVNDUklQVF9CUkFJTExFICAgICAgPSA0NiwgIC8qIEJyYWkgKi8KKyAgICAgIFVT
Q1JJUFRfQ1lQUklPVCAgICAgID0gNDcsICAvKiBDcHJ0ICovCisgICAgICBVU0NSSVBUX0xJTUJV
ICAgICAgICA9IDQ4LCAgLyogTGltYiAqLworICAgICAgVVNDUklQVF9MSU5FQVJfQiAgICAgPSA0
OSwgIC8qIExpbmIgKi8KKyAgICAgIFVTQ1JJUFRfT1NNQU5ZQSAgICAgID0gNTAsICAvKiBPc21h
ICovCisgICAgICBVU0NSSVBUX1NIQVZJQU4gICAgICA9IDUxLCAgLyogU2hhdyAqLworICAgICAg
VVNDUklQVF9UQUlfTEUgICAgICAgPSA1MiwgIC8qIFRhbGUgKi8KKyAgICAgIFVTQ1JJUFRfVUdB
UklUSUMgICAgID0gNTMsICAvKiBVZ2FyICovCisKKyAgICAgIC8qKiBOZXcgc2NyaXB0IGNvZGUg
aW4gVW5pY29kZSA0LjAuMSBAc3RhYmxlIElDVSAzLjAgKi8KKyAgICAgIFVTQ1JJUFRfS0FUQUtB
TkFfT1JfSElSQUdBTkEgPSA1NCwvKkhya3QgKi8KKyAgICAgIAorICAgICAgLyogTmV3IHNjcmlw
dHMgaW4gVW5pY29kZSA0LjEgQHN0YWJsZSBJQ1UgMy40ICovCisgICAgICBVU0NSSVBUX0JVR0lO
RVNFICAgICAgPSA1NSwgLyogQnVnaSAqLworICAgICAgVVNDUklQVF9HTEFHT0xJVElDICAgID0g
NTYsIC8qIEdsYWcgKi8KKyAgICAgIFVTQ1JJUFRfS0hBUk9TSFRISSAgICA9IDU3LCAvKiBLaGFy
ICovCisgICAgICBVU0NSSVBUX1NZTE9USV9OQUdSSSAgPSA1OCwgLyogU3lsbyAqLworICAgICAg
VVNDUklQVF9ORVdfVEFJX0xVRSAgID0gNTksIC8qIFRhbHUgKi8KKyAgICAgIFVTQ1JJUFRfVElG
SU5BR0ggICAgICA9IDYwLCAvKiBUZm5nICovCisgICAgICBVU0NSSVBUX09MRF9QRVJTSUFOICAg
PSA2MSwgLyogWHBlbyAqLworCisgICAgICAvKiBOZXcgc2NyaXB0IGNvZGVzIGZyb20gSVNPIDE1
OTI0IEBzdGFibGUgSUNVIDMuNiAqLworICAgICAgVVNDUklQVF9CQUxJTkVTRSAgICAgICAgICAg
ICAgICAgICAgICA9IDYyLCAvKiBCYWxpICovCisgICAgICBVU0NSSVBUX0JBVEFLICAgICAgICAg
ICAgICAgICAgICAgICAgID0gNjMsIC8qIEJhdGsgKi8KKyAgICAgIFVTQ1JJUFRfQkxJU1NZTUJP
TFMgICAgICAgICAgICAgICAgICAgPSA2NCwgLyogQmxpcyAqLworICAgICAgVVNDUklQVF9CUkFI
TUkgICAgICAgICAgICAgICAgICAgICAgICA9IDY1LCAvKiBCcmFoICovCisgICAgICBVU0NSSVBU
X0NIQU0gICAgICAgICAgICAgICAgICAgICAgICAgID0gNjYsIC8qIENoYW0gKi8KKyAgICAgIFVT
Q1JJUFRfQ0lSVEggICAgICAgICAgICAgICAgICAgICAgICAgPSA2NywgLyogQ2lydCAqLworICAg
ICAgVVNDUklQVF9PTERfQ0hVUkNIX1NMQVZPTklDX0NZUklMTElDICA9IDY4LCAvKiBDeXJzICov
CisgICAgICBVU0NSSVBUX0RFTU9USUNfRUdZUFRJQU4gICAgICAgICAgICAgID0gNjksIC8qIEVn
eWQgKi8KKyAgICAgIFVTQ1JJUFRfSElFUkFUSUNfRUdZUFRJQU4gICAgICAgICAgICAgPSA3MCwg
LyogRWd5aCAqLworICAgICAgVVNDUklQVF9FR1lQVElBTl9ISUVST0dMWVBIUyAgICAgICAgICA9
IDcxLCAvKiBFZ3lwICovCisgICAgICBVU0NSSVBUX0tIVVRTVVJJICAgICAgICAgICAgICAgICAg
ICAgID0gNzIsIC8qIEdlb2sgKi8KKyAgICAgIFVTQ1JJUFRfU0lNUExJRklFRF9IQU4gICAgICAg
ICAgICAgICAgPSA3MywgLyogSGFucyAqLworICAgICAgVVNDUklQVF9UUkFESVRJT05BTF9IQU4g
ICAgICAgICAgICAgICA9IDc0LCAvKiBIYW50ICovCisgICAgICBVU0NSSVBUX1BBSEFXSF9ITU9O
RyAgICAgICAgICAgICAgICAgID0gNzUsIC8qIEhtbmcgKi8KKyAgICAgIFVTQ1JJUFRfT0xEX0hV
TkdBUklBTiAgICAgICAgICAgICAgICAgPSA3NiwgLyogSHVuZyAqLworICAgICAgVVNDUklQVF9I
QVJBUFBBTl9JTkRVUyAgICAgICAgICAgICAgICA9IDc3LCAvKiBJbmRzICovCisgICAgICBVU0NS
SVBUX0pBVkFORVNFICAgICAgICAgICAgICAgICAgICAgID0gNzgsIC8qIEphdmEgKi8KKyAgICAg
IFVTQ1JJUFRfS0FZQUhfTEkgICAgICAgICAgICAgICAgICAgICAgPSA3OSwgLyogS2FsaSAqLwor
ICAgICAgVVNDUklQVF9MQVRJTl9GUkFLVFVSICAgICAgICAgICAgICAgICA9IDgwLCAvKiBMYXRm
ICovCisgICAgICBVU0NSSVBUX0xBVElOX0dBRUxJQyAgICAgICAgICAgICAgICAgID0gODEsIC8q
IExhdGcgKi8KKyAgICAgIFVTQ1JJUFRfTEVQQ0hBICAgICAgICAgICAgICAgICAgICAgICAgPSA4
MiwgLyogTGVwYyAqLworICAgICAgVVNDUklQVF9MSU5FQVJfQSAgICAgICAgICAgICAgICAgICAg
ICA9IDgzLCAvKiBMaW5hICovCisgICAgICBVU0NSSVBUX01BTkRBRUFOICAgICAgICAgICAgICAg
ICAgICAgID0gODQsIC8qIE1hbmQgKi8KKyAgICAgIFVTQ1JJUFRfTUFZQU5fSElFUk9HTFlQSFMg
ICAgICAgICAgICAgPSA4NSwgLyogTWF5YSAqLworICAgICAgVVNDUklQVF9NRVJPSVRJQyAgICAg
ICAgICAgICAgICAgICAgICA9IDg2LCAvKiBNZXJvICovCisgICAgICBVU0NSSVBUX05LTyAgICAg
ICAgICAgICAgICAgICAgICAgICAgID0gODcsIC8qIE5rb28gKi8KKyAgICAgIFVTQ1JJUFRfT1JL
SE9OICAgICAgICAgICAgICAgICAgICAgICAgPSA4OCwgLyogT3JraCAqLworICAgICAgVVNDUklQ
VF9PTERfUEVSTUlDICAgICAgICAgICAgICAgICAgICA9IDg5LCAvKiBQZXJtICovCisgICAgICBV
U0NSSVBUX1BIQUdTX1BBICAgICAgICAgICAgICAgICAgICAgID0gOTAsIC8qIFBoYWcgKi8KKyAg
ICAgIFVTQ1JJUFRfUEhPRU5JQ0lBTiAgICAgICAgICAgICAgICAgICAgPSA5MSwgLyogUGhueCAq
LworICAgICAgVVNDUklQVF9QSE9ORVRJQ19QT0xMQVJEICAgICAgICAgICAgICA9IDkyLCAvKiBQ
bHJkICovCisgICAgICBVU0NSSVBUX1JPTkdPUk9OR08gICAgICAgICAgICAgICAgICAgID0gOTMs
IC8qIFJvcm8gKi8KKyAgICAgIFVTQ1JJUFRfU0FSQVRJICAgICAgICAgICAgICAgICAgICAgICAg
PSA5NCwgLyogU2FyYSAqLworICAgICAgVVNDUklQVF9FU1RSQU5HRUxPX1NZUklBQyAgICAgICAg
ICAgICA9IDk1LCAvKiBTeXJlICovCisgICAgICBVU0NSSVBUX1dFU1RFUk5fU1lSSUFDICAgICAg
ICAgICAgICAgID0gOTYsIC8qIFN5cmogKi8KKyAgICAgIFVTQ1JJUFRfRUFTVEVSTl9TWVJJQUMg
ICAgICAgICAgICAgICAgPSA5NywgLyogU3lybiAqLworICAgICAgVVNDUklQVF9URU5HV0FSICAg
ICAgICAgICAgICAgICAgICAgICA9IDk4LCAvKiBUZW5nICovCisgICAgICBVU0NSSVBUX1ZBSSAg
ICAgICAgICAgICAgICAgICAgICAgICAgID0gOTksIC8qIFZhaWkgKi8KKyAgICAgIFVTQ1JJUFRf
VklTSUJMRV9TUEVFQ0ggICAgICAgICAgICAgICAgPSAxMDAsIC8qIFZpc3AgKi8KKyAgICAgIFVT
Q1JJUFRfQ1VORUlGT1JNICAgICAgICAgICAgICAgICAgICAgPSAxMDEsLyogWHN1eCAqLworICAg
ICAgVVNDUklQVF9VTldSSVRURU5fTEFOR1VBR0VTICAgICAgICAgICA9IDEwMiwvKiBaeHh4ICov
CisgICAgICBVU0NSSVBUX1VOS05PV04gICAgICAgICAgICAgICAgICAgICAgID0gMTAzLC8qIFp6
enogKi8gLyogVW5rbm93bj0iQ29kZSBmb3IgdW5jb2RlZCBzY3JpcHQiLCBmb3IgdW5hc3NpZ25l
ZCBjb2RlIHBvaW50cyAqLworCisgICAgICAvKiBOZXcgc2NyaXB0IGNvZGVzIGZyb20gSVNPIDE1
OTI0IEBzdGFibGUgSUNVIDMuOCAqLworICAgICAgVVNDUklQVF9DQVJJQU4gICAgICAgICAgICAg
ICAgICAgICAgICA9IDEwNCwvKiBDYXJpICovCisgICAgICBVU0NSSVBUX0pBUEFORVNFICAgICAg
ICAgICAgICAgICAgICAgID0gMTA1LC8qIEpwYW4gKi8KKyAgICAgIFVTQ1JJUFRfTEFOTkEgICAg
ICAgICAgICAgICAgICAgICAgICAgPSAxMDYsLyogTGFuYSAqLworICAgICAgVVNDUklQVF9MWUNJ
QU4gICAgICAgICAgICAgICAgICAgICAgICA9IDEwNywvKiBMeWNpICovCisgICAgICBVU0NSSVBU
X0xZRElBTiAgICAgICAgICAgICAgICAgICAgICAgID0gMTA4LC8qIEx5ZGkgKi8KKyAgICAgIFVT
Q1JJUFRfT0xfQ0hJS0kgICAgICAgICAgICAgICAgICAgICAgPSAxMDksLyogT2xjayAqLworICAg
ICAgVVNDUklQVF9SRUpBTkcgICAgICAgICAgICAgICAgICAgICAgICA9IDExMCwvKiBSam5nICov
CisgICAgICBVU0NSSVBUX1NBVVJBU0hUUkEgICAgICAgICAgICAgICAgICAgID0gMTExLC8qIFNh
dXIgKi8KKyAgICAgIFVTQ1JJUFRfU0lHTl9XUklUSU5HICAgICAgICAgICAgICAgICAgPSAxMTIs
LyogU2dudyAqLworICAgICAgVVNDUklQVF9TVU5EQU5FU0UgICAgICAgICAgICAgICAgICAgICA9
IDExMywvKiBTdW5kICovCisgICAgICBVU0NSSVBUX01PT04gICAgICAgICAgICAgICAgICAgICAg
ICAgID0gMTE0LC8qIE1vb24gKi8KKyAgICAgIFVTQ1JJUFRfTUVJVEVJX01BWUVLICAgICAgICAg
ICAgICAgICAgPSAxMTUsLyogTXRlaSAqLworCisgICAgICAvKiBOZXcgc2NyaXB0IGNvZGVzIGZy
b20gSVNPIDE1OTI0IEBzdGFibGUgSUNVIDQuMCAqLworICAgICAgVVNDUklQVF9JTVBFUklBTF9B
UkFNQUlDICAgICAgICAgICAgICA9IDExNiwvKiBBcm1pICovCisgICAgICBVU0NSSVBUX0FWRVNU
QU4gICAgICAgICAgICAgICAgICAgICAgID0gMTE3LC8qIEF2c3QgKi8KKyAgICAgIFVTQ1JJUFRf
Q0hBS01BICAgICAgICAgICAgICAgICAgICAgICAgPSAxMTgsLyogQ2FrbSAqLworICAgICAgVVND
UklQVF9LT1JFQU4gICAgICAgICAgICAgICAgICAgICAgICA9IDExOSwvKiBLb3JlICovCisgICAg
ICBVU0NSSVBUX0tBSVRISSAgICAgICAgICAgICAgICAgICAgICAgID0gMTIwLC8qIEt0aGkgKi8K
KyAgICAgIFVTQ1JJUFRfTUFOSUNIQUVBTiAgICAgICAgICAgICAgICAgICAgPSAxMjEsLyogTWFu
aSAqLworICAgICAgVVNDUklQVF9JTlNDUklQVElPTkFMX1BBSExBVkkgICAgICAgICA9IDEyMiwv
KiBQaGxpICovCisgICAgICBVU0NSSVBUX1BTQUxURVJfUEFITEFWSSAgICAgICAgICAgICAgID0g
MTIzLC8qIFBobHAgKi8KKyAgICAgIFVTQ1JJUFRfQk9PS19QQUhMQVZJICAgICAgICAgICAgICAg
ICAgPSAxMjQsLyogUGhsdiAqLworICAgICAgVVNDUklQVF9JTlNDUklQVElPTkFMX1BBUlRISUFO
ICAgICAgICA9IDEyNSwvKiBQcnRpICovCisgICAgICBVU0NSSVBUX1NBTUFSSVRBTiAgICAgICAg
ICAgICAgICAgICAgID0gMTI2LC8qIFNhbXIgKi8KKyAgICAgIFVTQ1JJUFRfVEFJX1ZJRVQgICAg
ICAgICAgICAgICAgICAgICAgPSAxMjcsLyogVGF2dCAqLworICAgICAgVVNDUklQVF9NQVRIRU1B
VElDQUxfTk9UQVRJT04gICAgICAgICA9IDEyOCwvKiBabXRoICovCisgICAgICBVU0NSSVBUX1NZ
TUJPTFMgICAgICAgICAgICAgICAgICAgICAgID0gMTI5LC8qIFpzeW0gKi8KKworICAgICAgLyog
UHJpdmF0ZSB1c2UgY29kZXMgZnJvbSBRYWFhIC0gUWFieCBhcmUgbm90IHN1cHBvcnRlZCovCisg
ICAgICBVU0NSSVBUX0NPREVfTElNSVQgICAgPSAxMzAKK30gVVNjcmlwdENvZGU7CisKKyNlbmRp
ZiAK
</data>
<flag name="review"
          id="35606"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52437</attachid>
            <date>2010-04-02 12:42:44 -0700</date>
            <delta_ts>2011-05-18 15:50:59 -0700</delta_ts>
            <desc>a new patch with UScriptCode moved to JavascriptCore/wtf/unicode</desc>
            <filename>20797.patch.5b</filename>
            <type>text/plain</type>
            <size>29140</size>
            <attacher name="Jungshik Shin">jshin</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDU2OTUwKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTAtMDQtMDEgIEp1bmdzaGlr
IFNoaW4gIDxqc2hpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjA3OTcKKworICAgICAgICBBZGQgVVNjcmlwdENvZGUuaCB0byB3dGYvdW5pY29kZSBhbmQg
bWFrZSBuZWNlc3NhcnkgY2hhbmdlcyBpbiBidWlsZCBmaWxlcy4KKworICAgICAgICAqIEdOVW1h
a2VmaWxlLmFtOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJv
ajoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
ICAgICAgICAqIEphdmFTY3JpcHRDb3JlLmd5cGkKKyAgICAgICAgKiB3dGYvdW5pY29kZS9VU2Ny
aXB0Q29kZS5oOiBVU2NyaXB0Q29kZSBlbnVtIGFkZGVkLgorICAgICAgICAoV1RGOjopOgorCiAy
MDEwLTAzLTMxICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKHdpbmRvd3MgYnVpbGQgZml4IHB0IElJKS4KSW5k
ZXg6IEphdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3Jp
cHRDb3JlL0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA1NjgxNCkKKysrIEphdmFTY3JpcHRDb3Jl
L0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0yOTMsNyArMjkzLDggQEAgamF2YXNj
cmlwdGNvcmVfc291cmNlcyArPSBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0
b3JEZWZhdWx0LmNwcCBcCiAJSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvVVRGOC5jcHAgXAog
CUphdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1VURjguaCBcCi0JSmF2YVNjcmlwdENvcmUvd3Rm
L3VuaWNvZGUvVW5pY29kZS5oCisJSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvVW5pY29kZS5o
IFwKKwlKYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9VU2NyaXB0Q29kZS5oCiAKIGlmIFRBUkdF
VF9XSU4zMgogamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCkluZGV4OiBKYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLmd5cGkJKHJldmlzaW9uIDU2ODE0KQorKysgSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtNDI1LDYgKzQyNSw3IEBACiAgICAgICAg
ICAgICAnd3RmL3VuaWNvZGUvaWN1L1VuaWNvZGVJY3UuaCcsCiAgICAgICAgICAgICAnd3RmL3Vu
aWNvZGUvcXQ0L1VuaWNvZGVRdDQuaCcsCiAgICAgICAgICAgICAnd3RmL3VuaWNvZGUvVW5pY29k
ZS5oJywKKyAgICAgICAgICAgICd3dGYvdW5pY29kZS9VU2NyaXB0Q29kZS5oJywKICAgICAgICAg
ICAgICd3dGYvdW5pY29kZS9VVEY4LmNwcCcsCiAgICAgICAgICAgICAnd3RmL3VuaWNvZGUvVVRG
OC5oJywKICAgICAgICAgICAgICd3dGYvVW51c2VkUGFyYW0uaCcsCkluZGV4OiBKYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qCShyZXZp
c2lvbiA1NjgxNCkKKysrIEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYv
V1RGLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtMjc3LDYgKzI3NywxMCBAQAogCQkJPg0KIAkJ
PC9GaWxlPg0KIAkJPEZpbGUNCisJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHd0Zlx1bmljb2RlXFVT
Y3JpcHRDb2RlLmgiDQorCQkJPg0KKwkJPC9GaWxlPg0KKwkJPEZpbGUNCiAJCQlSZWxhdGl2ZVBh
dGg9Ii4uXC4uXHd0ZlxDcm9zc1RocmVhZFJlZkNvdW50ZWQuaCINCiAJCQk+DQogCQk8L0ZpbGU+
DQpJbmRleDogSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA1NjgxNCkKKysrIEphdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkK
QEAgLTQxOSwxMyArNDE5LDE0IEBACiAJCUJDMThDNDcxMEUxNkY1Q0QwMEIzNDQ2MCAvKiBUaHJl
YWRTcGVjaWZpYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTFCN0M4QkQwREEzQTMzNjAwNzRCMERDIC8qIFRocmVhZFNwZWNpZmljLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMxOEM0NzIwRTE2RjVD
RDAwQjM0NDYwIC8qIHVjcGludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5M0UyNkJGQzA4QjE1MUQ0MDBGODUyMjYgLyogdWNwaW50ZXJuYWwu
aCAqLzsgfTsKIAkJQkMxOEM0NzMwRTE2RjVDRDAwQjM0NDYwIC8qIFVuaWNvZGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxOTU2Nzk0MDlFN0NGMTIw
MEI4OUQxMyAvKiBVbmljb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKLQkJQkMxOEM0NzQwRTE2RjVDRDAwQjM0NDYwIC8qIFVuaWNvZGVJY3UuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxOTU2NzhGMDlF
N0NGMTIwMEI4OUQxMyAvKiBVbmljb2RlSWN1LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKyAgICAgICAgICAgICAgICBCQzE4QzQ3NDBFMTZGNUNEMDBC
MzQ0NjAgLyogVW5pY29kZUljdS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTE5NTY3OEYwOUU3Q0YxMjAwQjg5RDEzIC8qIFVuaWNvZGVJY3UuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzE4QzQ3NTBF
MTZGNUNEMDBCMzQ0NjAgLyogVW51c2VkUGFyYW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzNUFGNDZCMDlFOUQ5REIwMEFDRDFEOCAvKiBVbnVzZWRQ
YXJhbS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUJDMThDNDc2MEUxNkY1Q0QwMEIzNDQ2MCAvKiBVU3RyaW5nLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNjkyQTg4NjAyNTU1OTdEMDFGRjYwRjcgLyog
VVN0cmluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUJDMThDNDc3MEUxNkY1Q0QwMEIzNDQ2MCAvKiBVVEY4LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUVGNzlBOTBDRTk3QkE2MDA4OEQ1MDAgLyog
VVRGOC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUJDMThDNDc4MEUxNkY1Q0QwMEIzNDQ2MCAvKiBWZWN0b3IuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1OTJDMzE2MDk4QjdERTEwMDAzRDRGNiAvKiBW
ZWN0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlCQzE4QzQ3OTBFMTZGNUNEMDBCMzQ0NjAgLyogVmVjdG9yVHJhaXRzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTkyQzMxNzA5OEI3REUxMDAwM0Q0
RjYgLyogVmVjdG9yVHJhaXRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJQkMxOEM0N0EwRTE2RjVDRDAwQjM0NDYwIC8qIFdlYktpdEF2YWlsYWJp
bGl0eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNURF
M0QwRjQwREQ4RERGQjAwNDY4NzE0IC8qIFdlYktpdEF2YWlsYWJpbGl0eS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKKwkJQkMxOEM0N0IwRTE2RjVDRDAw
QjM0NDYwIC8qIFVTY3JpcHRDb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDMUZDRTlEMjExNjQ5NUE4MDA1NTc4MUYgLyogVVNjcmlwdENvZGUuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzE4QzUy
NDBFMTZGQzhBMDBCMzQ0NjAgLyogQXJyYXlQcm90b3R5cGUubHV0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzE4QzUyMzBFMTZGQzhBMDBCMzQ0NjAg
LyogQXJyYXlQcm90b3R5cGUubHV0LmggKi87IH07CiAJCUJDMThDNTI2MEUxNkZDQTcwMEIzNDQ2
MCAvKiBTdHJpbmdQcm90b3R5cGUubHV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQzE4QzUyNTBFMTZGQ0E3MDBCMzQ0NjAgLyogU3RyaW5nUHJvdG90
eXBlLmx1dC5oICovOyB9OwogCQlCQzE4QzUyQTBFMTZGQ0MyMDBCMzQ0NjAgLyogTWF0aE9iamVj
dC5sdXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJD
MThDNTI5MEUxNkZDQzIwMEIzNDQ2MCAvKiBNYXRoT2JqZWN0Lmx1dC5oICovOyB9OwpAQCAtOTQ4
LDYgKzk0OSw3IEBACiAJCUJDRkQ4QzkwMEVFQjJFRTcwMDI4Mzg0OCAvKiBKdW1wVGFibGUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSnVtcFRhYmxlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGRDhDOTEwRUVCMkVFNzAwMjgzODQ4IC8qIEp1
bXBUYWJsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKdW1wVGFibGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzBBMjcyM0YwRTUwOUYxRTAwRTk2RTE1IC8q
IE5vdEZvdW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5vdEZvdW5kLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUMxRkNFOUQyMTE2NDk1QTgwMDU1NzgxRiAv
KiBVU2NyaXB0Q29kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBVU2NyaXB0
Q29kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMjEyMDIyODBBRDQzMTBDMDBF
RDc5QjYgLyogRGF0ZUNvbnZlcnNpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IERhdGVDb252ZXJzaW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRDIxMjAyMjkwQUQ0MzEwQzAwRUQ3OUI2IC8qIERhdGVDb252ZXJzaW9uLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRlQ29udmVyc2lvbi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFMTFENTE3NTBCMkU3OThEMDA1NkMxODggLyogU3RyaW5nRXh0cmFz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0cmluZ0V4dHJhcy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTcxMyw2ICsxNzE1LDcgQEAKIAkJCQlFMUE4NjJB
QTBEN0VCQjdEMDAxRUM2QUEgLyogQ29sbGF0b3IuaCAqLywKIAkJCQlFMUE4NjJENTBEN0YyQjVD
MDAxRUM2QUEgLyogQ29sbGF0b3JEZWZhdWx0LmNwcCAqLywKIAkJCQlFMTk1Njc5NDA5RTdDRjEy
MDBCODlEMTMgLyogVW5pY29kZS5oICovLAorCQkJCUMxRkNFOUQyMTE2NDk1QTgwMDU1NzgxRiAv
KiBVU2NyaXB0Q29kZS5oICovLAogCQkJCUUxRUY3OUE4MENFOTdCQTYwMDg4RDUwMCAvKiBVVEY4
LmNwcCAqLywKIAkJCQlFMUVGNzlBOTBDRTk3QkE2MDA4OEQ1MDAgLyogVVRGOC5oICovLAogCQkJ
KTsKQEAgLTE5OTQsNiArMTk5Nyw3IEBACiAJCQkJQkMxOEM0NzUwRTE2RjVDRDAwQjM0NDYwIC8q
IFVudXNlZFBhcmFtLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQ3NjBFMTZGNUNEMDBCMzQ0
NjAgLyogVVN0cmluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODY5OEJCMzkxMEQ4NkJBRjAwRDhE
MDFCIC8qIFVTdHJpbmdJbXBsLmggaW4gSGVhZGVycyAqLywKKwkJICAgICAgICAgICAgICAgIEJD
MThDNDdCMEUxNkY1Q0QwMEIzNDQ2MCAvKiBVU2NyaXB0Q29kZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkMxOEM0NzcwRTE2RjVDRDAwQjM0NDYwIC8qIFVURjguaCBpbiBIZWFkZXJzICovLAogCQkJ
CUUxN0ZGNzcxMTEyMTMxRDIwMDA3NkExOSAvKiBWYWx1ZUNoZWNrLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQzE4QzQ3ODBFMTZGNUNEMDBCMzQ0NjAgLyogVmVjdG9yLmggaW4gSGVhZGVycyAqLywK
SW5kZXg6IEphdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1VTY3JpcHRDb2RlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvVVNjcmlwdENvZGUuaAkocmV2aXNpb24g
MCkKKysrIEphdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1VTY3JpcHRDb2RlLmgJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMjA0IEBACisvKgorICogIENvcHlyaWdodCAoQykgMTk5Ny0yMDA5LCBJ
bnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCisgKiAgQ29ycG9yYXRpb24gYW5kIG90aGVy
cy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3Jh
bnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQorICog
b2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUg
IlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0
aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVzZSwg
Y29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgYW5kL29yIHNlbGwKKyAq
IGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRo
ZSBTb2Z0d2FyZSBpcworICogZnVybmlzaGVkIHRvIGRvIHNvLCBwcm92aWRlZCB0aGF0IHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlKHMpIGFuZCB0aGlzCisgKiBwZXJtaXNzaW9uIG5vdGljZSBh
cHBlYXIgaW4gYWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUgYW5kIHRoYXQgYm90aCB0aGUKKyAq
IGFib3ZlIGNvcHlyaWdodCBub3RpY2UocykgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgYXBw
ZWFyIGluIHN1cHBvcnRpbmcKKyAqIGRvY3VtZW50YXRpb24uCisgKgorICogVEhFIFNPRlRXQVJF
IElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisgKiBF
WFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJB
TlRJRVMgT0YKKyAqIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVAorICogT0YgVEhJUkQgUEFSVFkgUklHSFRTLiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUgorICogSE9MREVSUyBJTkNMVURF
RCBJTiBUSElTIE5PVElDRSBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgT1IgQU5ZCisgKiBTUEVD
SUFMIElORElSRUNUIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUywgT1IgQU5ZIERBTUFHRVMgV0hB
VFNPRVZFUgorICogUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywg
V0hFVEhFUiBJTiBBTiBBQ1RJT04KKyAqIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVS
IFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YKKyAqIE9SIElOIENPTk5FQ1RJT04gV0lU
SCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuICAKKyAqIEV4Y2VwdCBh
cyBjb250YWluZWQgaW4gdGhpcyBub3RpY2UsIHRoZSBuYW1lIG9mIGEgY29weXJpZ2h0CisgKiBo
b2xkZXIgc2hhbGwgbm90IGJlIHVzZWQgaW4gYWR2ZXJ0aXNpbmcgb3Igb3RoZXJ3aXNlIHRvIHBy
b21vdGUgdGhlCisgKiBzYWxlLCB1c2Ugb3Igb3RoZXIgZGVhbGluZ3MgaW4gdGhpcyBTb2Z0d2Fy
ZSB3aXRob3V0IHByaW9yIHdyaXR0ZW4KKyAqIGF1dGhvcml6YXRpb24gb2YgdGhlIGNvcHlyaWdo
dCBob2xkZXIuCisqLworCisjaWZuZGVmIFdURl9VU2NyaXB0Q29kZV9oCisjZGVmaW5lIFdURl9V
U2NyaXB0Q29kZV9oCisKK25hbWVzcGFjZSBXVEYgeworCisvKioKKyAqIENvbnN0YW50cyBmb3Ig
VW5pY29kZSBzY3JpcHQgdmFsdWVzIGZyb20gU2NyaXB0TmFtZXMudHh0IC4KKyAqLworCisvKioK
KyAqIFRoZSBVbmljb2RlIHN0YW5kYXJkIGRhdGFiYXNlIGRvZXMgbm90IGhhdmUgU2NyaXB0TmFt
ZXMudHh0IGFueSBtb3JlLgorICogSW5zdGVhZCwgaXQgaGFzIFNjcmlwdHMudHh0LCBmcm9tIHdo
aWNoIHRoZSBsaXN0IG9mIHNjcmlwdCBuYW1lcyBjYW4gYmUKKyAqIGRlcml2ZWQuIFRoZSBsaXN0
IGNhbiBhbHNvIGJlIGRlcml2ZWQgZnJvbSB0aGUgQ0xEUiAoQ29tbW9uIExvY2FsZSBEYXRhCisg
KiBSZXBvc2l0b3J5KS4KKyAqIEhvd2V2ZXIsIHRoZSBvcmRlciBvZiB0aGUgbGlzdCBkZXJpdmVk
IGZyb20gZWl0aGVyIHNvdXJjZSB3aWxsIGJlIGRpZmZlcmVudAorICogZnJvbSB0aGUgb3JkZXIg
aW4gdGhpcyBmaWxlLCB3aGljaCBpcyB0aGUgc2FtZSBhcyBJQ1UncworICogY29tbW9uL3VuaWNv
ZGUvdXNjcmlwdC5oLiBUbyBrZWVwIHRoZSBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCBJQ1Uncwor
ICogdXNjcmlwdC5oIGFkZCBuZXcgc2NyaXB0IGNvZGVzIGF0IHRoZSBlbmQgb2YgZXhpc3Rpbmcg
ZW50cmllcyAKKyAqIGluc3RlYWQgb2Ygc29ydGluZyB0aGVtIGV2ZXJ5dGltZSBpdCdzIHVwZGF0
ZWQuIAorICovCitlbnVtIFVTY3JpcHRDb2RlIHsKKyAgICAgIFVTQ1JJUFRfSU5WQUxJRF9DT0RF
ID0gLTEsCisgICAgICBVU0NSSVBUX0NPTU1PTiAgICAgICA9ICAwICwgLyogWnl5eSAqLworICAg
ICAgVVNDUklQVF9JTkhFUklURUQgICAgPSAgMSwgIC8qIFFhYWkgKi8KKyAgICAgIFVTQ1JJUFRf
QVJBQklDICAgICAgID0gIDIsICAvKiBBcmFiICovCisgICAgICBVU0NSSVBUX0FSTUVOSUFOICAg
ICA9ICAzLCAgLyogQXJtbiAqLworICAgICAgVVNDUklQVF9CRU5HQUxJICAgICAgPSAgNCwgIC8q
IEJlbmcgKi8KKyAgICAgIFVTQ1JJUFRfQk9QT01PRk8gICAgID0gIDUsICAvKiBCb3BvICovCisg
ICAgICBVU0NSSVBUX0NIRVJPS0VFICAgICA9ICA2LCAgLyogQ2hlciAqLworICAgICAgVVNDUklQ
VF9DT1BUSUMgICAgICAgPSAgNywgIC8qIENvcHQgKi8KKyAgICAgIFVTQ1JJUFRfQ1lSSUxMSUMg
ICAgID0gIDgsICAvKiBDeXJsIChDeXJzKSAqLworICAgICAgVVNDUklQVF9ERVNFUkVUICAgICAg
PSAgOSwgIC8qIERzcnQgKi8KKyAgICAgIFVTQ1JJUFRfREVWQU5BR0FSSSAgID0gMTAsICAvKiBE
ZXZhICovCisgICAgICBVU0NSSVBUX0VUSElPUElDICAgICA9IDExLCAgLyogRXRoaSAqLworICAg
ICAgVVNDUklQVF9HRU9SR0lBTiAgICAgPSAxMiwgIC8qIEdlb3IgKEdlb24sIEdlb2EpICovCisg
ICAgICBVU0NSSVBUX0dPVEhJQyAgICAgICA9IDEzLCAgLyogR290aCAqLworICAgICAgVVNDUklQ
VF9HUkVFSyAgICAgICAgPSAxNCwgIC8qIEdyZWsgKi8KKyAgICAgIFVTQ1JJUFRfR1VKQVJBVEkg
ICAgID0gMTUsICAvKiBHdWpyICovCisgICAgICBVU0NSSVBUX0dVUk1VS0hJICAgICA9IDE2LCAg
LyogR3VydSAqLworICAgICAgVVNDUklQVF9IQU4gICAgICAgICAgPSAxNywgIC8qIEhhbmkgKi8K
KyAgICAgIFVTQ1JJUFRfSEFOR1VMICAgICAgID0gMTgsICAvKiBIYW5nICovCisgICAgICBVU0NS
SVBUX0hFQlJFVyAgICAgICA9IDE5LCAgLyogSGViciAqLworICAgICAgVVNDUklQVF9ISVJBR0FO
QSAgICAgPSAyMCwgIC8qIEhpcmEgKi8KKyAgICAgIFVTQ1JJUFRfS0FOTkFEQSAgICAgID0gMjEs
ICAvKiBLbmRhICovCisgICAgICBVU0NSSVBUX0tBVEFLQU5BICAgICA9IDIyLCAgLyogS2FuYSAq
LworICAgICAgVVNDUklQVF9LSE1FUiAgICAgICAgPSAyMywgIC8qIEtobXIgKi8KKyAgICAgIFVT
Q1JJUFRfTEFPICAgICAgICAgID0gMjQsICAvKiBMYW9vICovCisgICAgICBVU0NSSVBUX0xBVElO
ICAgICAgICA9IDI1LCAgLyogTGF0biAoTGF0ZiwgTGF0ZykgKi8KKyAgICAgIFVTQ1JJUFRfTUFM
QVlBTEFNICAgID0gMjYsICAvKiBNbHltICovCisgICAgICBVU0NSSVBUX01PTkdPTElBTiAgICA9
IDI3LCAgLyogTW9uZyAqLworICAgICAgVVNDUklQVF9NWUFOTUFSICAgICAgPSAyOCwgIC8qIE15
bXIgKi8KKyAgICAgIFVTQ1JJUFRfT0dIQU0gICAgICAgID0gMjksICAvKiBPZ2FtICovCisgICAg
ICBVU0NSSVBUX09MRF9JVEFMSUMgICA9IDMwLCAgLyogSXRhbCAqLworICAgICAgVVNDUklQVF9P
UklZQSAgICAgICAgPSAzMSwgIC8qIE9yeWEgKi8KKyAgICAgIFVTQ1JJUFRfUlVOSUMgICAgICAg
ID0gMzIsICAvKiBSdW5yICovCisgICAgICBVU0NSSVBUX1NJTkhBTEEgICAgICA9IDMzLCAgLyog
U2luaCAqLworICAgICAgVVNDUklQVF9TWVJJQUMgICAgICAgPSAzNCwgIC8qIFN5cmMgKFN5cmos
IFN5cm4sIFN5cmUpICovCisgICAgICBVU0NSSVBUX1RBTUlMICAgICAgICA9IDM1LCAgLyogVGFt
bCAqLworICAgICAgVVNDUklQVF9URUxVR1UgICAgICAgPSAzNiwgIC8qIFRlbHUgKi8KKyAgICAg
IFVTQ1JJUFRfVEhBQU5BICAgICAgID0gMzcsICAvKiBUaGFhICovCisgICAgICBVU0NSSVBUX1RI
QUkgICAgICAgICA9IDM4LCAgLyogVGhhaSAqLworICAgICAgVVNDUklQVF9USUJFVEFOICAgICAg
PSAzOSwgIC8qIFRpYnQgKi8KKyAgICAgIC8qKiBDYW5hZGlhbl9BYm9yaWdpbmFsIHNjcmlwdC4g
QHN0YWJsZSBJQ1UgMi42ICovCisgICAgICBVU0NSSVBUX0NBTkFESUFOX0FCT1JJR0lOQUwgPSA0
MCwgIC8qIENhbnMgKi8KKyAgICAgIC8qKiBDYW5hZGlhbl9BYm9yaWdpbmFsIHNjcmlwdCAoYWxp
YXMpLiBAc3RhYmxlIElDVSAyLjIgKi8KKyAgICAgIFVTQ1JJUFRfVUNBUyAgICAgICAgID0gVVND
UklQVF9DQU5BRElBTl9BQk9SSUdJTkFMLAorICAgICAgVVNDUklQVF9ZSSAgICAgICAgICAgPSA0
MSwgIC8qIFlpaWkgKi8KKyAgICAgIFVTQ1JJUFRfVEFHQUxPRyAgICAgID0gNDIsICAvKiBUZ2xn
ICovCisgICAgICBVU0NSSVBUX0hBTlVOT08gICAgICA9IDQzLCAgLyogSGFubyAqLworICAgICAg
VVNDUklQVF9CVUhJRCAgICAgICAgPSA0NCwgIC8qIEJ1aGQgKi8KKyAgICAgIFVTQ1JJUFRfVEFH
QkFOV0EgICAgID0gNDUsICAvKiBUYWdiICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHRzIGluIFVu
aWNvZGUgNCBAc3RhYmxlIElDVSAyLjYgKi8KKyAgICAgIFVTQ1JJUFRfQlJBSUxMRSAgICAgID0g
NDYsICAvKiBCcmFpICovCisgICAgICBVU0NSSVBUX0NZUFJJT1QgICAgICA9IDQ3LCAgLyogQ3By
dCAqLworICAgICAgVVNDUklQVF9MSU1CVSAgICAgICAgPSA0OCwgIC8qIExpbWIgKi8KKyAgICAg
IFVTQ1JJUFRfTElORUFSX0IgICAgID0gNDksICAvKiBMaW5iICovCisgICAgICBVU0NSSVBUX09T
TUFOWUEgICAgICA9IDUwLCAgLyogT3NtYSAqLworICAgICAgVVNDUklQVF9TSEFWSUFOICAgICAg
PSA1MSwgIC8qIFNoYXcgKi8KKyAgICAgIFVTQ1JJUFRfVEFJX0xFICAgICAgID0gNTIsICAvKiBU
YWxlICovCisgICAgICBVU0NSSVBUX1VHQVJJVElDICAgICA9IDUzLCAgLyogVWdhciAqLworCisg
ICAgICAvKiogTmV3IHNjcmlwdCBjb2RlIGluIFVuaWNvZGUgNC4wLjEgQHN0YWJsZSBJQ1UgMy4w
ICovCisgICAgICBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BID0gNTQsLypIcmt0ICovCisg
ICAgICAKKyAgICAgIC8qIE5ldyBzY3JpcHRzIGluIFVuaWNvZGUgNC4xIEBzdGFibGUgSUNVIDMu
NCAqLworICAgICAgVVNDUklQVF9CVUdJTkVTRSAgICAgID0gNTUsIC8qIEJ1Z2kgKi8KKyAgICAg
IFVTQ1JJUFRfR0xBR09MSVRJQyAgICA9IDU2LCAvKiBHbGFnICovCisgICAgICBVU0NSSVBUX0tI
QVJPU0hUSEkgICAgPSA1NywgLyogS2hhciAqLworICAgICAgVVNDUklQVF9TWUxPVElfTkFHUkkg
ID0gNTgsIC8qIFN5bG8gKi8KKyAgICAgIFVTQ1JJUFRfTkVXX1RBSV9MVUUgICA9IDU5LCAvKiBU
YWx1ICovCisgICAgICBVU0NSSVBUX1RJRklOQUdIICAgICAgPSA2MCwgLyogVGZuZyAqLworICAg
ICAgVVNDUklQVF9PTERfUEVSU0lBTiAgID0gNjEsIC8qIFhwZW8gKi8KKworICAgICAgLyogTmV3
IHNjcmlwdCBjb2RlcyBmcm9tIElTTyAxNTkyNCBAc3RhYmxlIElDVSAzLjYgKi8KKyAgICAgIFVT
Q1JJUFRfQkFMSU5FU0UgICAgICAgICAgICAgICAgICAgICAgPSA2MiwgLyogQmFsaSAqLworICAg
ICAgVVNDUklQVF9CQVRBSyAgICAgICAgICAgICAgICAgICAgICAgICA9IDYzLCAvKiBCYXRrICov
CisgICAgICBVU0NSSVBUX0JMSVNTWU1CT0xTICAgICAgICAgICAgICAgICAgID0gNjQsIC8qIEJs
aXMgKi8KKyAgICAgIFVTQ1JJUFRfQlJBSE1JICAgICAgICAgICAgICAgICAgICAgICAgPSA2NSwg
LyogQnJhaCAqLworICAgICAgVVNDUklQVF9DSEFNICAgICAgICAgICAgICAgICAgICAgICAgICA9
IDY2LCAvKiBDaGFtICovCisgICAgICBVU0NSSVBUX0NJUlRIICAgICAgICAgICAgICAgICAgICAg
ICAgID0gNjcsIC8qIENpcnQgKi8KKyAgICAgIFVTQ1JJUFRfT0xEX0NIVVJDSF9TTEFWT05JQ19D
WVJJTExJQyAgPSA2OCwgLyogQ3lycyAqLworICAgICAgVVNDUklQVF9ERU1PVElDX0VHWVBUSUFO
ICAgICAgICAgICAgICA9IDY5LCAvKiBFZ3lkICovCisgICAgICBVU0NSSVBUX0hJRVJBVElDX0VH
WVBUSUFOICAgICAgICAgICAgID0gNzAsIC8qIEVneWggKi8KKyAgICAgIFVTQ1JJUFRfRUdZUFRJ
QU5fSElFUk9HTFlQSFMgICAgICAgICAgPSA3MSwgLyogRWd5cCAqLworICAgICAgVVNDUklQVF9L
SFVUU1VSSSAgICAgICAgICAgICAgICAgICAgICA9IDcyLCAvKiBHZW9rICovCisgICAgICBVU0NS
SVBUX1NJTVBMSUZJRURfSEFOICAgICAgICAgICAgICAgID0gNzMsIC8qIEhhbnMgKi8KKyAgICAg
IFVTQ1JJUFRfVFJBRElUSU9OQUxfSEFOICAgICAgICAgICAgICAgPSA3NCwgLyogSGFudCAqLwor
ICAgICAgVVNDUklQVF9QQUhBV0hfSE1PTkcgICAgICAgICAgICAgICAgICA9IDc1LCAvKiBIbW5n
ICovCisgICAgICBVU0NSSVBUX09MRF9IVU5HQVJJQU4gICAgICAgICAgICAgICAgID0gNzYsIC8q
IEh1bmcgKi8KKyAgICAgIFVTQ1JJUFRfSEFSQVBQQU5fSU5EVVMgICAgICAgICAgICAgICAgPSA3
NywgLyogSW5kcyAqLworICAgICAgVVNDUklQVF9KQVZBTkVTRSAgICAgICAgICAgICAgICAgICAg
ICA9IDc4LCAvKiBKYXZhICovCisgICAgICBVU0NSSVBUX0tBWUFIX0xJICAgICAgICAgICAgICAg
ICAgICAgID0gNzksIC8qIEthbGkgKi8KKyAgICAgIFVTQ1JJUFRfTEFUSU5fRlJBS1RVUiAgICAg
ICAgICAgICAgICAgPSA4MCwgLyogTGF0ZiAqLworICAgICAgVVNDUklQVF9MQVRJTl9HQUVMSUMg
ICAgICAgICAgICAgICAgICA9IDgxLCAvKiBMYXRnICovCisgICAgICBVU0NSSVBUX0xFUENIQSAg
ICAgICAgICAgICAgICAgICAgICAgID0gODIsIC8qIExlcGMgKi8KKyAgICAgIFVTQ1JJUFRfTElO
RUFSX0EgICAgICAgICAgICAgICAgICAgICAgPSA4MywgLyogTGluYSAqLworICAgICAgVVNDUklQ
VF9NQU5EQUVBTiAgICAgICAgICAgICAgICAgICAgICA9IDg0LCAvKiBNYW5kICovCisgICAgICBV
U0NSSVBUX01BWUFOX0hJRVJPR0xZUEhTICAgICAgICAgICAgID0gODUsIC8qIE1heWEgKi8KKyAg
ICAgIFVTQ1JJUFRfTUVST0lUSUMgICAgICAgICAgICAgICAgICAgICAgPSA4NiwgLyogTWVybyAq
LworICAgICAgVVNDUklQVF9OS08gICAgICAgICAgICAgICAgICAgICAgICAgICA9IDg3LCAvKiBO
a29vICovCisgICAgICBVU0NSSVBUX09SS0hPTiAgICAgICAgICAgICAgICAgICAgICAgID0gODgs
IC8qIE9ya2ggKi8KKyAgICAgIFVTQ1JJUFRfT0xEX1BFUk1JQyAgICAgICAgICAgICAgICAgICAg
PSA4OSwgLyogUGVybSAqLworICAgICAgVVNDUklQVF9QSEFHU19QQSAgICAgICAgICAgICAgICAg
ICAgICA9IDkwLCAvKiBQaGFnICovCisgICAgICBVU0NSSVBUX1BIT0VOSUNJQU4gICAgICAgICAg
ICAgICAgICAgID0gOTEsIC8qIFBobnggKi8KKyAgICAgIFVTQ1JJUFRfUEhPTkVUSUNfUE9MTEFS
RCAgICAgICAgICAgICAgPSA5MiwgLyogUGxyZCAqLworICAgICAgVVNDUklQVF9ST05HT1JPTkdP
ICAgICAgICAgICAgICAgICAgICA9IDkzLCAvKiBSb3JvICovCisgICAgICBVU0NSSVBUX1NBUkFU
SSAgICAgICAgICAgICAgICAgICAgICAgID0gOTQsIC8qIFNhcmEgKi8KKyAgICAgIFVTQ1JJUFRf
RVNUUkFOR0VMT19TWVJJQUMgICAgICAgICAgICAgPSA5NSwgLyogU3lyZSAqLworICAgICAgVVND
UklQVF9XRVNURVJOX1NZUklBQyAgICAgICAgICAgICAgICA9IDk2LCAvKiBTeXJqICovCisgICAg
ICBVU0NSSVBUX0VBU1RFUk5fU1lSSUFDICAgICAgICAgICAgICAgID0gOTcsIC8qIFN5cm4gKi8K
KyAgICAgIFVTQ1JJUFRfVEVOR1dBUiAgICAgICAgICAgICAgICAgICAgICAgPSA5OCwgLyogVGVu
ZyAqLworICAgICAgVVNDUklQVF9WQUkgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDk5LCAv
KiBWYWlpICovCisgICAgICBVU0NSSVBUX1ZJU0lCTEVfU1BFRUNIICAgICAgICAgICAgICAgID0g
MTAwLCAvKiBWaXNwICovCisgICAgICBVU0NSSVBUX0NVTkVJRk9STSAgICAgICAgICAgICAgICAg
ICAgID0gMTAxLC8qIFhzdXggKi8KKyAgICAgIFVTQ1JJUFRfVU5XUklUVEVOX0xBTkdVQUdFUyAg
ICAgICAgICAgPSAxMDIsLyogWnh4eCAqLworICAgICAgVVNDUklQVF9VTktOT1dOICAgICAgICAg
ICAgICAgICAgICAgICA9IDEwMywvKiBaenp6ICovIC8qIFVua25vd249IkNvZGUgZm9yIHVuY29k
ZWQgc2NyaXB0IiwgZm9yIHVuYXNzaWduZWQgY29kZSBwb2ludHMgKi8KKworICAgICAgLyogTmV3
IHNjcmlwdCBjb2RlcyBmcm9tIElTTyAxNTkyNCBAc3RhYmxlIElDVSAzLjggKi8KKyAgICAgIFVT
Q1JJUFRfQ0FSSUFOICAgICAgICAgICAgICAgICAgICAgICAgPSAxMDQsLyogQ2FyaSAqLworICAg
ICAgVVNDUklQVF9KQVBBTkVTRSAgICAgICAgICAgICAgICAgICAgICA9IDEwNSwvKiBKcGFuICov
CisgICAgICBVU0NSSVBUX0xBTk5BICAgICAgICAgICAgICAgICAgICAgICAgID0gMTA2LC8qIExh
bmEgKi8KKyAgICAgIFVTQ1JJUFRfTFlDSUFOICAgICAgICAgICAgICAgICAgICAgICAgPSAxMDcs
LyogTHljaSAqLworICAgICAgVVNDUklQVF9MWURJQU4gICAgICAgICAgICAgICAgICAgICAgICA9
IDEwOCwvKiBMeWRpICovCisgICAgICBVU0NSSVBUX09MX0NISUtJICAgICAgICAgICAgICAgICAg
ICAgID0gMTA5LC8qIE9sY2sgKi8KKyAgICAgIFVTQ1JJUFRfUkVKQU5HICAgICAgICAgICAgICAg
ICAgICAgICAgPSAxMTAsLyogUmpuZyAqLworICAgICAgVVNDUklQVF9TQVVSQVNIVFJBICAgICAg
ICAgICAgICAgICAgICA9IDExMSwvKiBTYXVyICovCisgICAgICBVU0NSSVBUX1NJR05fV1JJVElO
RyAgICAgICAgICAgICAgICAgID0gMTEyLC8qIFNnbncgKi8KKyAgICAgIFVTQ1JJUFRfU1VOREFO
RVNFICAgICAgICAgICAgICAgICAgICAgPSAxMTMsLyogU3VuZCAqLworICAgICAgVVNDUklQVF9N
T09OICAgICAgICAgICAgICAgICAgICAgICAgICA9IDExNCwvKiBNb29uICovCisgICAgICBVU0NS
SVBUX01FSVRFSV9NQVlFSyAgICAgICAgICAgICAgICAgID0gMTE1LC8qIE10ZWkgKi8KKworICAg
ICAgLyogTmV3IHNjcmlwdCBjb2RlcyBmcm9tIElTTyAxNTkyNCBAc3RhYmxlIElDVSA0LjAgKi8K
KyAgICAgIFVTQ1JJUFRfSU1QRVJJQUxfQVJBTUFJQyAgICAgICAgICAgICAgPSAxMTYsLyogQXJt
aSAqLworICAgICAgVVNDUklQVF9BVkVTVEFOICAgICAgICAgICAgICAgICAgICAgICA9IDExNywv
KiBBdnN0ICovCisgICAgICBVU0NSSVBUX0NIQUtNQSAgICAgICAgICAgICAgICAgICAgICAgID0g
MTE4LC8qIENha20gKi8KKyAgICAgIFVTQ1JJUFRfS09SRUFOICAgICAgICAgICAgICAgICAgICAg
ICAgPSAxMTksLyogS29yZSAqLworICAgICAgVVNDUklQVF9LQUlUSEkgICAgICAgICAgICAgICAg
ICAgICAgICA9IDEyMCwvKiBLdGhpICovCisgICAgICBVU0NSSVBUX01BTklDSEFFQU4gICAgICAg
ICAgICAgICAgICAgID0gMTIxLC8qIE1hbmkgKi8KKyAgICAgIFVTQ1JJUFRfSU5TQ1JJUFRJT05B
TF9QQUhMQVZJICAgICAgICAgPSAxMjIsLyogUGhsaSAqLworICAgICAgVVNDUklQVF9QU0FMVEVS
X1BBSExBVkkgICAgICAgICAgICAgICA9IDEyMywvKiBQaGxwICovCisgICAgICBVU0NSSVBUX0JP
T0tfUEFITEFWSSAgICAgICAgICAgICAgICAgID0gMTI0LC8qIFBobHYgKi8KKyAgICAgIFVTQ1JJ
UFRfSU5TQ1JJUFRJT05BTF9QQVJUSElBTiAgICAgICAgPSAxMjUsLyogUHJ0aSAqLworICAgICAg
VVNDUklQVF9TQU1BUklUQU4gICAgICAgICAgICAgICAgICAgICA9IDEyNiwvKiBTYW1yICovCisg
ICAgICBVU0NSSVBUX1RBSV9WSUVUICAgICAgICAgICAgICAgICAgICAgID0gMTI3LC8qIFRhdnQg
Ki8KKyAgICAgIFVTQ1JJUFRfTUFUSEVNQVRJQ0FMX05PVEFUSU9OICAgICAgICAgPSAxMjgsLyog
Wm10aCAqLworICAgICAgVVNDUklQVF9TWU1CT0xTICAgICAgICAgICAgICAgICAgICAgICA9IDEy
OSwvKiBac3ltICovCisKKyAgICAgIC8qIFByaXZhdGUgdXNlIGNvZGVzIGZyb20gUWFhYSAtIFFh
YnggYXJlIG5vdCBzdXBwb3J0ZWQqLworICAgICAgVVNDUklQVF9DT0RFX0xJTUlUICAgID0gMTMw
Cit9OworCit9CisKKyNlbmRpZiAKClByb3BlcnR5IGNoYW5nZXMgb246IEphdmFTY3JpcHRDb3Jl
L3d0Zi91bmljb2RlL1VTY3JpcHRDb2RlLmgKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHls
ZQogICArIExGCgpJbmRleDogV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDU2OTUwKQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwzOSBAQAorMjAxMC0wNC0wMSAgSnVuZ3NoaWsgU2hpbiAgPGpz
aGluQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA3OTcK
KworICAgICAgICBNYWtlIGdlbmVyaWMgZm9udCBmYW1pbHkgZ2V0dGVycy9zZXR0ZXJzIGFjY2Vw
dCBhbiBhZGRpdGlvbmFsCisgICAgICAgIGFyZ3VtZW50IChzY3JpcHQgY29kZSkuIEl0IGhhcyBh
IGRlZmF1bHQgdmFsdWUgc28gdGhhdCBpZiBhbiBlbWJlZGRlcgorICAgICAgICBkb2VzIG5vdCBo
YXZlL3dhbnQgYSBwZXItc2NyaXB0IGZvbnQgZmFtaWx5IHNldHRpbmcsIGNhbGwtc2l0ZXMKKyAg
ICAgICAgZG9uJ3QgaGF2ZSB0byBiZSBjaGFuZ2VkLgorICAgICAgICBUaGlzIGlzIHRvIHByZXBh
cmUgZm9yIGZpeGluZyBidWcgMTA4NzQgKGZvbnQgc2VsZWN0aW9uIGlzIG5vdAorICAgICAgICBs
YW5ndWFnZS1kZXBlbmRlbnQpIGFuZCBidWcgMTgwODUuCisKKyAgICAgICAgVGhlcmUgc2hvdWxk
IGJlIG5vIGNoYW5nZSBpbiBsYXlvdXQgYW5kIG5vIG5ldyBsYXlvdXQgdGVzdAorICAgICAgICBp
cyBhZGRlZC4KKworICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi91bmljb2RlL1VTY3Jp
cHRDb2RlLmg6IEFkZGVkLgorICAgICAgICAqIFdlYkNvcmUuYmFzZS5leHA6IENoYW5nZSB0aGUg
c3ltYm9sIG5hbWVzIGZvciBnZW5lcmljIGZvbnQgZmFtaWx5IGdldHRlci9zZXR0ZXJzLgorICAg
ICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOiBBZGQgYSBwYXJhbWV0ZXIgKFdURjo6VVNjcmlwdENv
ZGUpIHRvIGdlbmVyaWMgZm9udCBmYW1pbHkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Z2V0dGVyL3NldHRlcnMuIAorICAgICAgICAoV2ViQ29yZTo6c2V0R2VuZXJpY0ZvbnRGYW1pbHlN
YXApOgorICAgICAgICAoV2ViQ29yZTo6Z2V0R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQpOgor
ICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnN0YW5kYXJkRm9udEZhbWlseSk6CisgICAgICAg
IChXZWJDb3JlOjpTZXR0aW5nczo6c2V0U3RhbmRhcmRGb250RmFtaWx5KToKKyAgICAgICAgKFdl
YkNvcmU6OlNldHRpbmdzOjpmaXhlZEZvbnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0
dGluZ3M6OnNldEZpeGVkRm9udEZhbWlseSk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6
c2VyaWZGb250RmFtaWx5KToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRTZXJpZkZv
bnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNhbnNTZXJpZkZvbnRGYW1p
bHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldFNhbnNTZXJpZkZvbnRGYW1pbHkp
OgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OmN1cnNpdmVGb250RmFtaWx5KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRDdXJzaXZlRm9udEZhbWlseSk6CisgICAgICAgIChX
ZWJDb3JlOjpTZXR0aW5nczo6ZmFudGFzeUZvbnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6
U2V0dGluZ3M6OnNldEZhbnRhc3lGb250RmFtaWx5KToKKyAgICAgICAgKiBwYWdlL1NldHRpbmdz
Lmg6CisKIDIwMTAtMDQtMDEgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4OiBXZWJDb3JlL0Zvcndh
cmRpbmdIZWFkZXJzL3d0Zi91bmljb2RlL1VTY3JpcHRDb2RlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvdW5pY29kZS9VU2NyaXB0Q29kZS5oCShyZXZpc2lv
biAwKQorKysgV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvdW5pY29kZS9VU2NyaXB0Q29k
ZS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQgQEAKKyNpZm5kZWYgV2ViQ29yZV9GV0RfVVNj
cmlwdENvZGVfaAorI2RlZmluZSBXZWJDb3JlX0ZXRF9VU2NyaXB0Q29kZV9oCisjaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvVVNjcmlwdENvZGUuaD4KKyNlbmRpZgoKUHJvcGVydHkgY2hhbmdlcyBv
bjogV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvdW5pY29kZS9VU2NyaXB0Q29kZS5oCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKICAgKyBMRgoKSW5kZXg6IFdlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAko
cmV2aXNpb24gNTY4MTQpCisrKyBXZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00Niw2ICs0NiwyMiBAQCBzdGF0aWMgdm9pZCBzZXROZWVkc1JlYXBwbHlTdHlsZXNJ
bkFsbEZyCiAgICAgICAgIGZyYW1lLT5zZXROZWVkc1JlYXBwbHlTdHlsZXMoKTsKIH0KIAorc3Rh
dGljIGlubGluZSB2b2lkIHNldEdlbmVyaWNGb250RmFtaWx5TWFwKFNjcmlwdEZvbnRGYW1pbHlN
YXAmIGZvbnRNYXAsIGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5LCBXVEY6OlVTY3JpcHRDb2Rl
IHNjcmlwdCwgUGFnZSogcGFnZSkKK3sKKyAgICAvLyBVU0NSSVBUX0lOVkFMSURfQ09ERSBpcyAt
MSBhbmQgVVNSSVRQX0NPTU1PTiBpcyAwLCB3aGljaCBhcmUgc3BlY2lhbCAoZGVsZXRlZCBhbmQg
ZW1wdHkpIGluIEhhc2hNYXAgd2l0aCBpbnQga2V5cy4KKyAgICAvLyBUbyBhdm9pZCB1c2luZyAt
MSBhbmQgMCBhcyBhIGtleSwgd2UgYWRkIDIuIAorICAgIGlmIChmb250TWFwLnNldChzdGF0aWNf
Y2FzdDxpbnQ+KHNjcmlwdCkgKyAyLCBmYW1pbHkpLnNlY29uZCkKKyAgICAgICAgc2V0TmVlZHNS
ZWFwcGx5U3R5bGVzSW5BbGxGcmFtZXMocGFnZSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgY29uc3Qg
QXRvbWljU3RyaW5nJiBnZXRHZW5lcmljRm9udEZhbWlseUZvclNjcmlwdChjb25zdCBTY3JpcHRG
b250RmFtaWx5TWFwJiBmb250TWFwLCBXVEY6OlVTY3JpcHRDb2RlIHNjcmlwdCkgCit7CisgICAg
U2NyaXB0Rm9udEZhbWlseU1hcDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBmb250TWFwLmZpbmQoc3Rh
dGljX2Nhc3Q8aW50PihzY3JpcHQpICsgMik7CisgICAgaWYgKGl0ICE9IGZvbnRNYXAuZW5kKCkp
CisgICAgICAgIHJldHVybiBpdC0+c2Vjb25kOworICAgIHJldHVybiBlbXB0eUF0b207Cit9CisK
ICNpZiBVU0UoU0FGQVJJX1RIRU1FKQogYm9vbCBTZXR0aW5nczo6Z1Nob3VsZFBhaW50TmF0aXZl
Q29udHJvbHMgPSB0cnVlOwogI2VuZGlmCkBAIC0xMzIsNTggKzE0OCw2NCBAQCBTZXR0aW5nczo6
U2V0dGluZ3MoUGFnZSogcGFnZSkKICAgICBBdG9taWNTdHJpbmc6OmluaXQoKTsKIH0KIAotdm9p
ZCBTZXR0aW5nczo6c2V0U3RhbmRhcmRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgc3Rh
bmRhcmRGb250RmFtaWx5KQorY29uc3QgQXRvbWljU3RyaW5nJiBTZXR0aW5nczo6c3RhbmRhcmRG
b250RmFtaWx5KFdURjo6VVNjcmlwdENvZGUgc2NyaXB0KSBjb25zdAogewotICAgIGlmIChzdGFu
ZGFyZEZvbnRGYW1pbHkgPT0gbV9zdGFuZGFyZEZvbnRGYW1pbHkpCi0gICAgICAgIHJldHVybjsK
KyAgICByZXR1cm4gZ2V0R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQobV9zdGFuZGFyZEZvbnRG
YW1pbHlNYXAsIHNjcmlwdCk7Cit9CiAKLSAgICBtX3N0YW5kYXJkRm9udEZhbWlseSA9IHN0YW5k
YXJkRm9udEZhbWlseTsKLSAgICBzZXROZWVkc1JlYXBwbHlTdHlsZXNJbkFsbEZyYW1lcyhtX3Bh
Z2UpOwordm9pZCBTZXR0aW5nczo6c2V0U3RhbmRhcmRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0
cmluZyYgZmFtaWx5LCBXVEY6OlVTY3JpcHRDb2RlIHNjcmlwdCkKK3sKKyAgICBzZXRHZW5lcmlj
Rm9udEZhbWlseU1hcChtX3N0YW5kYXJkRm9udEZhbWlseU1hcCwgZmFtaWx5LCBzY3JpcHQsIG1f
cGFnZSk7CiB9CiAKLXZvaWQgU2V0dGluZ3M6OnNldEZpeGVkRm9udEZhbWlseShjb25zdCBBdG9t
aWNTdHJpbmcmIGZpeGVkRm9udEZhbWlseSkKK2NvbnN0IEF0b21pY1N0cmluZyYgU2V0dGluZ3M6
OmZpeGVkRm9udEZhbWlseShXVEY6OlVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKIHsKLSAgICBp
ZiAobV9maXhlZEZvbnRGYW1pbHkgPT0gZml4ZWRGb250RmFtaWx5KQotICAgICAgICByZXR1cm47
Ci0gICAgICAgIAotICAgIG1fZml4ZWRGb250RmFtaWx5ID0gZml4ZWRGb250RmFtaWx5OwotICAg
IHNldE5lZWRzUmVhcHBseVN0eWxlc0luQWxsRnJhbWVzKG1fcGFnZSk7CisgICAgcmV0dXJuIGdl
dEdlbmVyaWNGb250RmFtaWx5Rm9yU2NyaXB0KG1fZml4ZWRGb250RmFtaWx5TWFwLCBzY3JpcHQp
OwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3Ry
aW5nJiBzZXJpZkZvbnRGYW1pbHkpCit2b2lkIFNldHRpbmdzOjpzZXRGaXhlZEZvbnRGYW1pbHko
Y29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIFdURjo6VVNjcmlwdENvZGUgc2NyaXB0KQogewot
ICAgIGlmIChtX3NlcmlmRm9udEZhbWlseSA9PSBzZXJpZkZvbnRGYW1pbHkpCi0gICAgICAgIHJl
dHVybjsKLSAgICAgICAgCi0gICAgbV9zZXJpZkZvbnRGYW1pbHkgPSBzZXJpZkZvbnRGYW1pbHk7
Ci0gICAgc2V0TmVlZHNSZWFwcGx5U3R5bGVzSW5BbGxGcmFtZXMobV9wYWdlKTsKKyAgICBzZXRH
ZW5lcmljRm9udEZhbWlseU1hcChtX2ZpeGVkRm9udEZhbWlseU1hcCwgZmFtaWx5LCBzY3JpcHQs
IG1fcGFnZSk7CiB9CiAKLXZvaWQgU2V0dGluZ3M6OnNldFNhbnNTZXJpZkZvbnRGYW1pbHkoY29u
c3QgQXRvbWljU3RyaW5nJiBzYW5zU2VyaWZGb250RmFtaWx5KQorY29uc3QgQXRvbWljU3RyaW5n
JiBTZXR0aW5nczo6c2VyaWZGb250RmFtaWx5KFdURjo6VVNjcmlwdENvZGUgc2NyaXB0KSBjb25z
dAogewotICAgIGlmIChtX3NhbnNTZXJpZkZvbnRGYW1pbHkgPT0gc2Fuc1NlcmlmRm9udEZhbWls
eSkKLSAgICAgICAgcmV0dXJuOwotICAgICAgICAKLSAgICBtX3NhbnNTZXJpZkZvbnRGYW1pbHkg
PSBzYW5zU2VyaWZGb250RmFtaWx5OyAKLSAgICBzZXROZWVkc1JlYXBwbHlTdHlsZXNJbkFsbEZy
YW1lcyhtX3BhZ2UpOworICAgIHJldHVybiBnZXRHZW5lcmljRm9udEZhbWlseUZvclNjcmlwdCht
X3NlcmlmRm9udEZhbWlseU1hcCwgc2NyaXB0KTsKIH0KIAotdm9pZCBTZXR0aW5nczo6c2V0Q3Vy
c2l2ZUZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBjdXJzaXZlRm9udEZhbWlseSkKK3Zv
aWQgU2V0dGluZ3M6OnNldFNlcmlmRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZhbWls
eSwgV1RGOjpVU2NyaXB0Q29kZSBzY3JpcHQpCiB7Ci0gICAgaWYgKG1fY3Vyc2l2ZUZvbnRGYW1p
bHkgPT0gY3Vyc2l2ZUZvbnRGYW1pbHkpCi0gICAgICAgIHJldHVybjsKLSAgICAgICAgCi0gICAg
bV9jdXJzaXZlRm9udEZhbWlseSA9IGN1cnNpdmVGb250RmFtaWx5OwotICAgIHNldE5lZWRzUmVh
cHBseVN0eWxlc0luQWxsRnJhbWVzKG1fcGFnZSk7CisgICAgc2V0R2VuZXJpY0ZvbnRGYW1pbHlN
YXAobV9zZXJpZkZvbnRGYW1pbHlNYXAsIGZhbWlseSwgc2NyaXB0LCBtX3BhZ2UpOwogfQogCi12
b2lkIFNldHRpbmdzOjpzZXRGYW50YXN5Rm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZh
bnRhc3lGb250RmFtaWx5KQorY29uc3QgQXRvbWljU3RyaW5nJiBTZXR0aW5nczo6c2Fuc1Nlcmlm
Rm9udEZhbWlseShXVEY6OlVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKIHsKLSAgICBpZiAobV9m
YW50YXN5Rm9udEZhbWlseSA9PSBmYW50YXN5Rm9udEZhbWlseSkKLSAgICAgICAgcmV0dXJuOwot
ICAgICAgICAKLSAgICBtX2ZhbnRhc3lGb250RmFtaWx5ID0gZmFudGFzeUZvbnRGYW1pbHk7Ci0g
ICAgc2V0TmVlZHNSZWFwcGx5U3R5bGVzSW5BbGxGcmFtZXMobV9wYWdlKTsKKyAgICByZXR1cm4g
Z2V0R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQobV9zYW5zU2VyaWZGb250RmFtaWx5TWFwLCBz
Y3JpcHQpOworfQorCit2b2lkIFNldHRpbmdzOjpzZXRTYW5zU2VyaWZGb250RmFtaWx5KGNvbnN0
IEF0b21pY1N0cmluZyYgZmFtaWx5LCBXVEY6OlVTY3JpcHRDb2RlIHNjcmlwdCkKK3sKKyAgICBz
ZXRHZW5lcmljRm9udEZhbWlseU1hcChtX3NhbnNTZXJpZkZvbnRGYW1pbHlNYXAsIGZhbWlseSwg
c2NyaXB0LCBtX3BhZ2UpOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIFNldHRpbmdzOjpjdXJz
aXZlRm9udEZhbWlseShXVEY6OlVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKK3sKKyAgICByZXR1
cm4gZ2V0R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQobV9jdXJzaXZlRm9udEZhbWlseU1hcCwg
c2NyaXB0KTsKK30KKwordm9pZCBTZXR0aW5nczo6c2V0Q3Vyc2l2ZUZvbnRGYW1pbHkoY29uc3Qg
QXRvbWljU3RyaW5nJiBmYW1pbHksIFdURjo6VVNjcmlwdENvZGUgc2NyaXB0KQoreworICAgIHNl
dEdlbmVyaWNGb250RmFtaWx5TWFwKG1fY3Vyc2l2ZUZvbnRGYW1pbHlNYXAsIGZhbWlseSwgc2Ny
aXB0LCBtX3BhZ2UpOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIFNldHRpbmdzOjpmYW50YXN5
Rm9udEZhbWlseShXVEY6OlVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKK3sKKyAgICByZXR1cm4g
Z2V0R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQobV9mYW50YXN5Rm9udEZhbWlseU1hcCwgc2Ny
aXB0KTsKK30KKwordm9pZCBTZXR0aW5nczo6c2V0RmFudGFzeUZvbnRGYW1pbHkoY29uc3QgQXRv
bWljU3RyaW5nJiBmYW1pbHksIFdURjo6VVNjcmlwdENvZGUgc2NyaXB0KQoreworICAgIHNldEdl
bmVyaWNGb250RmFtaWx5TWFwKG1fZmFudGFzeUZvbnRGYW1pbHlNYXAsIGZhbWlseSwgc2NyaXB0
LCBtX3BhZ2UpOwogfQogCiB2b2lkIFNldHRpbmdzOjpzZXRNaW5pbXVtRm9udFNpemUoaW50IG1p
bmltdW1Gb250U2l6ZSkKSW5kZXg6IFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCShyZXZpc2lvbiA1NjgxNCkKKysrIFdlYkNvcmUv
cGFnZS9TZXR0aW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw4ICsyOCwxMSBAQAogI2RlZmlu
ZSBTZXR0aW5nc19oCiAKICNpbmNsdWRlICJBdG9taWNTdHJpbmcuaCIKKyNpbmNsdWRlICJBdG9t
aWNTdHJpbmdIYXNoLmgiCiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRl
ICJLVVJMLmgiCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvdW5pY29k
ZS9VU2NyaXB0Q29kZS5oPgogI2luY2x1ZGUgIlpvb21Nb2RlLmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTY1LDI3ICs2OCwyOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgLy8gaWYg
cG9zc2libGUgaW4gdGhlIGZ1dHVyZS4KICAgICBlbnVtIEVkaXRpbmdCZWhhdmlvciB7IEVkaXRp
bmdNYWNCZWhhdmlvciwgRWRpdGluZ1dpbmRvd3NCZWhhdmlvciB9OwogCisgICAgdHlwZWRlZiBI
YXNoTWFwPGludCwgQXRvbWljU3RyaW5nPiBTY3JpcHRGb250RmFtaWx5TWFwOworCiAgICAgY2xh
c3MgU2V0dGluZ3MgOiBwdWJsaWMgTm9uY29weWFibGUgewogICAgIHB1YmxpYzoKICAgICAgICAg
U2V0dGluZ3MoUGFnZSopOworICAgICAgICB2b2lkIHNldFN0YW5kYXJkRm9udEZhbWlseShjb25z
dCBBdG9taWNTdHJpbmcmLCBXVEY6OlVTY3JpcHRDb2RlIHNjcmlwdCA9IFdURjo6VVNDUklQVF9D
T01NT04pOworICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHN0YW5kYXJkRm9udEZhbWlseShX
VEY6OlVTY3JpcHRDb2RlIHNjcmlwdCA9IFdURjo6VVNDUklQVF9DT01NT04pIGNvbnN0OwogCi0g
ICAgICAgIHZvaWQgc2V0U3RhbmRhcmRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYpOwot
ICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHN0YW5kYXJkRm9udEZhbWlseSgpIGNvbnN0IHsg
cmV0dXJuIG1fc3RhbmRhcmRGb250RmFtaWx5OyB9Ci0KLSAgICAgICAgdm9pZCBzZXRGaXhlZEZv
bnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJik7Ci0gICAgICAgIGNvbnN0IEF0b21pY1N0cmlu
ZyYgZml4ZWRGb250RmFtaWx5KCkgY29uc3QgeyByZXR1cm4gbV9maXhlZEZvbnRGYW1pbHk7IH0K
KyAgICAgICAgdm9pZCBzZXRGaXhlZEZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiwgV1RG
OjpVU2NyaXB0Q29kZSBzY3JpcHQgPSBXVEY6OlVTQ1JJUFRfQ09NTU9OKTsKKyAgICAgICAgY29u
c3QgQXRvbWljU3RyaW5nJiBmaXhlZEZvbnRGYW1pbHkoV1RGOjpVU2NyaXB0Q29kZSBzY3JpcHQg
PSBXVEY6OlVTQ1JJUFRfQ09NTU9OKSBjb25zdDsKIAotICAgICAgICB2b2lkIHNldFNlcmlmRm9u
dEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmKTsKLSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5n
JiBzZXJpZkZvbnRGYW1pbHkoKSBjb25zdCB7IHJldHVybiBtX3NlcmlmRm9udEZhbWlseTsgfQor
ICAgICAgICB2b2lkIHNldFNlcmlmRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmLCBXVEY6
OlVTY3JpcHRDb2RlIHNjcmlwdCA9IFdURjo6VVNDUklQVF9DT01NT04pOworICAgICAgICBjb25z
dCBBdG9taWNTdHJpbmcmIHNlcmlmRm9udEZhbWlseShXVEY6OlVTY3JpcHRDb2RlIHNjcmlwdCA9
IFdURjo6VVNDUklQVF9DT01NT04pIGNvbnN0OwogCi0gICAgICAgIHZvaWQgc2V0U2Fuc1Nlcmlm
Rm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmKTsKLSAgICAgICAgY29uc3QgQXRvbWljU3Ry
aW5nJiBzYW5zU2VyaWZGb250RmFtaWx5KCkgY29uc3QgeyByZXR1cm4gbV9zYW5zU2VyaWZGb250
RmFtaWx5OyB9CisgICAgICAgIHZvaWQgc2V0U2Fuc1NlcmlmRm9udEZhbWlseShjb25zdCBBdG9t
aWNTdHJpbmcmLCBXVEY6OlVTY3JpcHRDb2RlIHNjcmlwdCA9IFdURjo6VVNDUklQVF9DT01NT04p
OworICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHNhbnNTZXJpZkZvbnRGYW1pbHkoV1RGOjpV
U2NyaXB0Q29kZSBzY3JpcHQgPSBXVEY6OlVTQ1JJUFRfQ09NTU9OKSBjb25zdDsKIAotICAgICAg
ICB2b2lkIHNldEN1cnNpdmVGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYpOwotICAgICAg
ICBjb25zdCBBdG9taWNTdHJpbmcmIGN1cnNpdmVGb250RmFtaWx5KCkgY29uc3QgeyByZXR1cm4g
bV9jdXJzaXZlRm9udEZhbWlseTsgfQorICAgICAgICB2b2lkIHNldEN1cnNpdmVGb250RmFtaWx5
KGNvbnN0IEF0b21pY1N0cmluZyYsIFdURjo6VVNjcmlwdENvZGUgc2NyaXB0ID0gV1RGOjpVU0NS
SVBUX0NPTU1PTik7CisgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgY3Vyc2l2ZUZvbnRGYW1p
bHkoV1RGOjpVU2NyaXB0Q29kZSBzY3JpcHQgPSBXVEY6OlVTQ1JJUFRfQ09NTU9OKSBjb25zdDsK
IAotICAgICAgICB2b2lkIHNldEZhbnRhc3lGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYp
OwotICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGZhbnRhc3lGb250RmFtaWx5KCkgY29uc3Qg
eyByZXR1cm4gbV9mYW50YXN5Rm9udEZhbWlseTsgfQorICAgICAgICB2b2lkIHNldEZhbnRhc3lG
b250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYsIFdURjo6VVNjcmlwdENvZGUgc2NyaXB0ID0g
V1RGOjpVU0NSSVBUX0NPTU1PTik7CisgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgZmFudGFz
eUZvbnRGYW1pbHkoV1RGOjpVU2NyaXB0Q29kZSBzY3JpcHQgPSBXVEY6OlVTQ1JJUFRfQ09NTU9O
KSBjb25zdDsKIAogICAgICAgICB2b2lkIHNldE1pbmltdW1Gb250U2l6ZShpbnQpOwogICAgICAg
ICBpbnQgbWluaW11bUZvbnRTaXplKCkgY29uc3QgeyByZXR1cm4gbV9taW5pbXVtRm9udFNpemU7
IH0KQEAgLTMwMSwxMiArMzA1LDE0IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgU3Ry
aW5nIG1fZnRwRGlyZWN0b3J5VGVtcGxhdGVQYXRoOwogICAgICAgICBTdHJpbmcgbV9sb2NhbFN0
b3JhZ2VEYXRhYmFzZVBhdGg7CiAgICAgICAgIEtVUkwgbV91c2VyU3R5bGVTaGVldExvY2F0aW9u
OwotICAgICAgICBBdG9taWNTdHJpbmcgbV9zdGFuZGFyZEZvbnRGYW1pbHk7Ci0gICAgICAgIEF0
b21pY1N0cmluZyBtX2ZpeGVkRm9udEZhbWlseTsKLSAgICAgICAgQXRvbWljU3RyaW5nIG1fc2Vy
aWZGb250RmFtaWx5OwotICAgICAgICBBdG9taWNTdHJpbmcgbV9zYW5zU2VyaWZGb250RmFtaWx5
OwotICAgICAgICBBdG9taWNTdHJpbmcgbV9jdXJzaXZlRm9udEZhbWlseTsKLSAgICAgICAgQXRv
bWljU3RyaW5nIG1fZmFudGFzeUZvbnRGYW1pbHk7CisKKyAgICAgICAgU2NyaXB0Rm9udEZhbWls
eU1hcCBtX2ZpeGVkRm9udEZhbWlseU1hcDsKKyAgICAgICAgU2NyaXB0Rm9udEZhbWlseU1hcCBt
X3NlcmlmRm9udEZhbWlseU1hcDsKKyAgICAgICAgU2NyaXB0Rm9udEZhbWlseU1hcCBtX3NhbnNT
ZXJpZkZvbnRGYW1pbHlNYXA7CisgICAgICAgIFNjcmlwdEZvbnRGYW1pbHlNYXAgbV9jdXJzaXZl
Rm9udEZhbWlseU1hcDsKKyAgICAgICAgU2NyaXB0Rm9udEZhbWlseU1hcCBtX2ZhbnRhc3lGb250
RmFtaWx5TWFwOworICAgICAgICBTY3JpcHRGb250RmFtaWx5TWFwIG1fc3RhbmRhcmRGb250RmFt
aWx5TWFwOworCiAgICAgICAgIEVkaXRhYmxlTGlua0JlaGF2aW9yIG1fZWRpdGFibGVMaW5rQmVo
YXZpb3I7CiAgICAgICAgIFRleHREaXJlY3Rpb25TdWJtZW51SW5jbHVzaW9uQmVoYXZpb3IgbV90
ZXh0RGlyZWN0aW9uU3VibWVudUluY2x1c2lvbkJlaGF2aW9yOwogICAgICAgICBpbnQgbV9taW5p
bXVtRm9udFNpemU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93741</attachid>
            <date>2011-05-16 23:29:09 -0700</date>
            <delta_ts>2011-05-18 19:57:58 -0700</delta_ts>
            <desc>Revise Jungshik&apos;s patch.</desc>
            <filename>bug-20797-20110517152907.patch</filename>
            <type>text/plain</type>
            <size>31005</size>
            <attacher name="Matt Falkenhagen">falken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY2NDgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGRj
YzZkNmZhNTcyMzdjMjcxMDJiMzU0Mzc3YjFhMzIzYjIyY2ZmMWEuLjk4NjI1MDY4M2ViOTFmNzRk
MWI1MTA1NjljY2I3OWE4MjAyYjFhNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE4IEBACisyMDExLTA1LTE2ICBNYXR0IEZhbGtlbmhhZ2VuICA8ZmFsa2VuQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgVVNjcmlwdENvZGUuaCB0byB3dGYvdW5pY29kZSBhbmQgbWFrZSBuZWNlc3NhcnkgY2hhbmdl
cyBpbiBidWlsZCBmaWxlcy4KKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjA3OTcKKworICAgICAgICBQYXRjaCBpcyBvcmlnaW5hbGx5IGZyb20gSnVuZ3No
aWsgU2hpbiAoanNoaW5AY2hyb21pdW0ub3JnKS4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxp
c3QuYW06CisgICAgICAgICogSmF2YVNjcmlwdENvcmUuZ3lwaToKKyAgICAgICAgKiBKYXZhU2Ny
aXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2o6CisgICAgICAgICogSmF2YVNjcmlwdENvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYvdW5pY29kZS9VU2NyaXB0
Q29kZS5oOiBVU2NyaXB0Q29kZSBlbnVtIGFkZGVkLgorCiAyMDExLTA1LTE2ICBEYXZpZCBLaWx6
ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgPGh0dHA6Ly93ZWJraXQub3JnL2Iv
NjA5MTM+IEMrKyBleGNlcHRpb25zIHNob3VsZCBub3QgYmUgZW5hYmxlZCB3aGVuIGJ1aWxkaW5n
IHdpdGggbGx2bS1nY2MtNC4yCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvR05V
bWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCmluZGV4IGEyMGE1MGY3ZWViNWQyNTc4ZWQ0M2IyNDY5MDI1MjE5YTljNjZkNDUuLmQzYTVl
ZmQ0NDk2YWIyN2I1ODM5Y2RhYTQ2ODE0NjJjM2UwODdiMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC01NDUsNiArNTQ1LDcgQEAgamF2YXNjcmlwdGNv
cmVfc291cmNlcyArPSBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0NvbGxh
dG9yRGVmYXVsdC5jcHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xs
YXRvci5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvVW5pY29kZS5oIFwK
KwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvVVNjcmlwdENvZGUuaCBcCiAJU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1VURjguY3BwIFwKIAlTb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL3VuaWNvZGUvVVRGOC5oIFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L1VudXNlZFBhcmFtLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLmd5cGkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lw
aQppbmRleCAxZjBhMTg0ZWUwMDY0OGNkODQ3ZDYwM2U3MGQ4OGNiMzA5ZmM5ZTY4Li5lZWFkYTFk
NTNhNWIyOTY1ZGU0NjQzNjM4MDU2MzRkYjdlZWZkYTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUuZ3lwaQpAQCAtMjMwLDYgKzIzMCw3IEBACiAgICAgICAgICAgICAn
d3RmL3RleHQvV1RGU3RyaW5nLmgnLAogICAgICAgICAgICAgJ3d0Zi91bmljb2RlL0NoYXJhY3Rl
ck5hbWVzLmgnLAogICAgICAgICAgICAgJ3d0Zi91bmljb2RlL0NvbGxhdG9yLmgnLAorICAgICAg
ICAgICAgJ3d0Zi91bmljb2RlL1VTY3JpcHRDb2RlLmgnLAogICAgICAgICAgICAgJ3d0Zi91bmlj
b2RlL1VURjguaCcsCiAgICAgICAgICAgICAnd3RmL3VuaWNvZGUvVW5pY29kZS5oJywKICAgICAg
ICAgICAgICd3dGYvdW5pY29kZS9pY3UvVW5pY29kZUljdS5oJywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2ogYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9q
CmluZGV4IGU1NzJiMTY0NTk0OGFmMmE0MDY5YmI1MTRkODY1ZmY3OTg4MzY4OGUuLjRiYjI2NWJj
OTRhM2VmZWZiNzNhNmM4YTRjMTEzYmZhY2M5ZjdkZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvagpA
QCAtNDE2LDYgKzQxNiwxMCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVs
YXRpdmVQYXRoPSIuLlwuLlx3dGZcdW5pY29kZVxVU2NyaXB0Q29kZS5oIgorCQkJCT4KKwkJCTwv
RmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlwuLlx3dGZcdW5pY29kZVxVVEY4
LmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGFiMTE0YTQ1NzZkMDM4NWM4NmU2NjZjY2NlYWQ2ZGJiYWNkNWM2OWMuLmZlNjkzMzQ1MDYwMzEx
NTdlYTkwODQ5YTA2ZmRiYjU3NzJmOWJkNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC0yMjQsNiArMjI0LDcgQEAKIAkJNjVFMUEzREYxMjJCODk0NTAwQjI2MDk3IC8qIE5vbkNv
cHlpbmdTb3J0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA2NUUxQTJGNDEyMkI4ODBEMDBCMjYwOTcgLyogTm9uQ29weWluZ1NvcnQuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2NUZERTQ5QzBCREQxRDRB
MDBFODAxMTEgLyogQXNzZXJ0aW9ucy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA2NUUyMTdCODA4RTdFRUNDMDAyM0U1RjYgLyogQXNzZXJ0aW9ucy5j
cHAgKi87IH07CiAJCTcxODZBNkVDMTMxMDBCQTUwMDQ0NzlFMSAvKiBIZXhOdW1iZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxODZBNkU4MTMxMDBC
NTcwMDQ0NzlFMSAvKiBIZXhOdW1iZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQk3NjA2QUI0QjEzN0NERTg0MDA2MkQxOUYgLyogVVNjcmlwdENv
ZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2MDZB
QjFFMTM3Q0NBQUIwMDYyRDE5RiAvKiBVU2NyaXB0Q29kZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTcxREE5RDgyMTM0RjNGM0QwMEI3NjdFNyAv
KiBTdHJpbmdPcGVyYXRvcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDcxOEE4NDgyMTM0RjNBMTIwMEI4NzUyOSAvKiBTdHJpbmdPcGVyYXRvcnMuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3NkZCOUYw
RjEyRTg1MTg2MDA1MUEyRUIgLyogU0hBMS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNzZGQjlGMEUxMkU4NTE4NjAwNTFBMkVCIC8qIFNIQTEuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3NkZCOUYxMTEy
RTg1MTk2MDA1MUEyRUIgLyogU0hBMS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3NkZCOUYxMDEyRTg1MTk2MDA1MUEyRUIgLyogU0hBMS5jcHAgKi87
IH07CkBAIC05MTIsNiArOTEzLDcgQEAKIAkJNjVFQTczNjMwQkFFMzVEMTAwMUJCNTYwIC8qIENv
bW1vbklkZW50aWZpZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb21t
b25JZGVudGlmaWVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MDRGRDM1MzA1
Njk3RTZEMDAzREJFRDkgLyogQm9vbGVhbk9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBCb29sZWFuT2JqZWN0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKIAkJNzE4NkE2RTgxMzEwMEI1NzAwNDQ3OUUx
IC8qIEhleE51bWJlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIZXhOdW1i
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzYwNkFCMUUxMzdDQ0FBQjAwNjJE
MTlGIC8qIFVTY3JpcHRDb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFVT
Y3JpcHRDb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxOEE4NDgyMTM0RjNB
MTIwMEI4NzUyOSAvKiBTdHJpbmdPcGVyYXRvcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gU3RyaW5nT3BlcmF0b3JzLmg7IHBhdGggPSB0ZXh0L1N0cmluZ09wZXJhdG9ycy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3NkZCOUYwRTEyRTg1MTg2MDA1MUEyRUIg
LyogU0hBMS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTSEExLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc2RkI5RjEwMTJFODUxOTYwMDUxQTJFQiAvKiBTSEEx
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNIQTEuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjIxNSw2ICsyMjE3LDcgQEAKIAkJCQlFMUE4NjJB
QTBEN0VCQjdEMDAxRUM2QUEgLyogQ29sbGF0b3IuaCAqLywKIAkJCQlFMUE4NjJENTBEN0YyQjVD
MDAxRUM2QUEgLyogQ29sbGF0b3JEZWZhdWx0LmNwcCAqLywKIAkJCQlFMTk1Njc5NDA5RTdDRjEy
MDBCODlEMTMgLyogVW5pY29kZS5oICovLAorCQkJCTc2MDZBQjFFMTM3Q0NBQUIwMDYyRDE5RiAv
KiBVU2NyaXB0Q29kZS5oICovLAogCQkJCUUxRUY3OUE4MENFOTdCQTYwMDg4RDUwMCAvKiBVVEY4
LmNwcCAqLywKIAkJCQlFMUVGNzlBOTBDRTk3QkE2MDA4OEQ1MDAgLyogVVRGOC5oICovLAogCQkJ
KTsKQEAgLTI1NzAsNiArMjU3Myw3IEBACiAJCQkJOTcxNEFGNEUxMjJGMjg5QTAwOTJEOUY1IC8q
IFVSTFBhcnNlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTcxNEFGNEYxMjJGMjg5QTAwOTJEOUY1
IC8qIFVSTFNlZ21lbnRzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzE0QUY2MDEyMkYzMjA3MDA5
MkQ5RjUgLyogVVJMU3RyaW5nLmggaW4gSGVhZGVycyAqLywKKwkJCQk3NjA2QUI0QjEzN0NERTg0
MDA2MkQxOUYgLyogVVNjcmlwdENvZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMThDNDc2MEUx
NkY1Q0QwMEIzNDQ2MCAvKiBVU3RyaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQkwOEREQTVDMTEy
NjQ2MzE3MDA3NTE3MzIgLyogVVN0cmluZ0J1aWxkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJD
MThDNDc3MEUxNkY1Q0QwMEIzNDQ2MCAvKiBVVEY4LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9VU2NyaXB0Q29kZS5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1VTY3JpcHRDb2RlLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OTY5ZjNjZDJjMGQ1M2JjNDk1NjBlZTQ5Zjc1YjY4NWQ1ZjUxZmRhZAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9VU2NyaXB0Q29kZS5oCkBAIC0w
LDAgKzEsMjE2IEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTk1LTIwMTEgSW50ZXJuYXRpb25h
bCBCdXNpbmVzcyBNYWNoaW5lcyBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzCisgKgorICogQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVl
IG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CisgKiBvZiB0aGlzIHNv
ZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUi
KSwKKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1
ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2Rp
ZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBhbmQvb3Igc2VsbAorICogY29waWVzIG9m
IHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zCisgKiB0byB3aG9tIHRoZSBTb2Z0
d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHByb3ZpZGVkIHRoYXQgdGhlIGFib3ZlCisgKiBj
b3B5cmlnaHQgbm90aWNlKHMpIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIGFwcGVhciBpbiBh
bGwgY29waWVzCisgKiBvZiB0aGUgU29mdHdhcmUgYW5kIHRoYXQgYm90aCB0aGUgYWJvdmUgY29w
eXJpZ2h0IG5vdGljZShzKSBhbmQgdGhpcworICogcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyIGlu
IHN1cHBvcnRpbmcgZG9jdW1lbnRhdGlvbi4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklE
RUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUiBJTVBM
SUVELCAKKyAqIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBCisgKiBQQVJUSUNVTEFSIFBVUlBPU0UgQU5E
IE5PTklORlJJTkdFTUVOVCBPRiBUSElSRCBQQVJUWSBSSUdIVFMuIElOIE5PIEVWRU5UIFNIQUxM
CisgKiBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBIT0xERVJTIElOQ0xVREVEIElOIFRISVMgTk9U
SUNFIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLAorICogT1IgQU5ZIFNQRUNJQUwgSU5ESVJFQ1Qg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTLCBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSCisgKiBS
RVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFO
IEFDVElPTiBPRiBDT05UUkFDVCwKKyAqIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNU
SU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFCisgKiBVU0UgT1Ig
UEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KKyAqCisgKiBFeGNlcHQgYXMgY29udGFpbmVk
IGluIHRoaXMgbm90aWNlLCB0aGUgbmFtZSBvZiBhIGNvcHlyaWdodCBob2xkZXIgc2hhbGwgbm90
IGJlCisgKiB1c2VkIGluIGFkdmVydGlzaW5nIG9yIG90aGVyd2lzZSB0byBwcm9tb3RlIHRoZSBz
YWxlLCB1c2Ugb3Igb3RoZXIgZGVhbGluZ3MgaW4KKyAqIHRoaXMgU29mdHdhcmUgd2l0aG91dCBw
cmlvciB3cml0dGVuIGF1dGhvcml6YXRpb24gb2YgdGhlIGNvcHlyaWdodCBob2xkZXIuCisgKi8K
KworI2lmbmRlZiBXVEZfVVNjcmlwdENvZGVfaAorI2RlZmluZSBXVEZfVVNjcmlwdENvZGVfaAor
CituYW1lc3BhY2UgV1RGIHsKKworZW51bSBVU2NyaXB0Q29kZSB7CisgICAgICBVU0NSSVBUX0lO
VkFMSURfQ09ERSA9IC0xLAorICAgICAgVVNDUklQVF9DT01NT04gICAgICAgPSAgMCwgIC8qIFp5
eXkgKi8KKyAgICAgIFVTQ1JJUFRfSU5IRVJJVEVEICAgID0gIDEsICAvKiBaaW5oICovIC8qICJD
b2RlIGZvciBpbmhlcml0ZWQgc2NyaXB0IiwgZm9yIG5vbi1zcGFjaW5nIGNvbWJpbmluZyBtYXJr
czsgYWxzbyBRYWFpICovCisgICAgICBVU0NSSVBUX0FSQUJJQyAgICAgICA9ICAyLCAgLyogQXJh
YiAqLworICAgICAgVVNDUklQVF9BUk1FTklBTiAgICAgPSAgMywgIC8qIEFybW4gKi8KKyAgICAg
IFVTQ1JJUFRfQkVOR0FMSSAgICAgID0gIDQsICAvKiBCZW5nICovCisgICAgICBVU0NSSVBUX0JP
UE9NT0ZPICAgICA9ICA1LCAgLyogQm9wbyAqLworICAgICAgVVNDUklQVF9DSEVST0tFRSAgICAg
PSAgNiwgIC8qIENoZXIgKi8KKyAgICAgIFVTQ1JJUFRfQ09QVElDICAgICAgID0gIDcsICAvKiBD
b3B0ICovCisgICAgICBVU0NSSVBUX0NZUklMTElDICAgICA9ICA4LCAgLyogQ3lybCAqLworICAg
ICAgVVNDUklQVF9ERVNFUkVUICAgICAgPSAgOSwgIC8qIERzcnQgKi8KKyAgICAgIFVTQ1JJUFRf
REVWQU5BR0FSSSAgID0gMTAsICAvKiBEZXZhICovCisgICAgICBVU0NSSVBUX0VUSElPUElDICAg
ICA9IDExLCAgLyogRXRoaSAqLworICAgICAgVVNDUklQVF9HRU9SR0lBTiAgICAgPSAxMiwgIC8q
IEdlb3IgKi8KKyAgICAgIFVTQ1JJUFRfR09USElDICAgICAgID0gMTMsICAvKiBHb3RoICovCisg
ICAgICBVU0NSSVBUX0dSRUVLICAgICAgICA9IDE0LCAgLyogR3JlayAqLworICAgICAgVVNDUklQ
VF9HVUpBUkFUSSAgICAgPSAxNSwgIC8qIEd1anIgKi8KKyAgICAgIFVTQ1JJUFRfR1VSTVVLSEkg
ICAgID0gMTYsICAvKiBHdXJ1ICovCisgICAgICBVU0NSSVBUX0hBTiAgICAgICAgICA9IDE3LCAg
LyogSGFuaSAqLworICAgICAgVVNDUklQVF9IQU5HVUwgICAgICAgPSAxOCwgIC8qIEhhbmcgKi8K
KyAgICAgIFVTQ1JJUFRfSEVCUkVXICAgICAgID0gMTksICAvKiBIZWJyICovCisgICAgICBVU0NS
SVBUX0hJUkFHQU5BICAgICA9IDIwLCAgLyogSGlyYSAqLworICAgICAgVVNDUklQVF9LQU5OQURB
ICAgICAgPSAyMSwgIC8qIEtuZGEgKi8KKyAgICAgIFVTQ1JJUFRfS0FUQUtBTkEgICAgID0gMjIs
ICAvKiBLYW5hICovCisgICAgICBVU0NSSVBUX0tITUVSICAgICAgICA9IDIzLCAgLyogS2htciAq
LworICAgICAgVVNDUklQVF9MQU8gICAgICAgICAgPSAyNCwgIC8qIExhb28gKi8KKyAgICAgIFVT
Q1JJUFRfTEFUSU4gICAgICAgID0gMjUsICAvKiBMYXRuICovCisgICAgICBVU0NSSVBUX01BTEFZ
QUxBTSAgICA9IDI2LCAgLyogTWx5bSAqLworICAgICAgVVNDUklQVF9NT05HT0xJQU4gICAgPSAy
NywgIC8qIE1vbmcgKi8KKyAgICAgIFVTQ1JJUFRfTVlBTk1BUiAgICAgID0gMjgsICAvKiBNeW1y
ICovCisgICAgICBVU0NSSVBUX09HSEFNICAgICAgICA9IDI5LCAgLyogT2dhbSAqLworICAgICAg
VVNDUklQVF9PTERfSVRBTElDICAgPSAzMCwgIC8qIEl0YWwgKi8KKyAgICAgIFVTQ1JJUFRfT1JJ
WUEgICAgICAgID0gMzEsICAvKiBPcnlhICovCisgICAgICBVU0NSSVBUX1JVTklDICAgICAgICA9
IDMyLCAgLyogUnVuciAqLworICAgICAgVVNDUklQVF9TSU5IQUxBICAgICAgPSAzMywgIC8qIFNp
bmggKi8KKyAgICAgIFVTQ1JJUFRfU1lSSUFDICAgICAgID0gMzQsICAvKiBTeXJjICovCisgICAg
ICBVU0NSSVBUX1RBTUlMICAgICAgICA9IDM1LCAgLyogVGFtbCAqLworICAgICAgVVNDUklQVF9U
RUxVR1UgICAgICAgPSAzNiwgIC8qIFRlbHUgKi8KKyAgICAgIFVTQ1JJUFRfVEhBQU5BICAgICAg
ID0gMzcsICAvKiBUaGFhICovCisgICAgICBVU0NSSVBUX1RIQUkgICAgICAgICA9IDM4LCAgLyog
VGhhaSAqLworICAgICAgVVNDUklQVF9USUJFVEFOICAgICAgPSAzOSwgIC8qIFRpYnQgKi8KKyAg
ICAgIC8qKiBDYW5hZGlhbl9BYm9yaWdpbmFsIHNjcmlwdC4gQHN0YWJsZSBJQ1UgMi42ICovCisg
ICAgICBVU0NSSVBUX0NBTkFESUFOX0FCT1JJR0lOQUwgPSA0MCwgIC8qIENhbnMgKi8KKyAgICAg
IC8qKiBDYW5hZGlhbl9BYm9yaWdpbmFsIHNjcmlwdCAoYWxpYXMpLiBAc3RhYmxlIElDVSAyLjIg
Ki8KKyAgICAgIFVTQ1JJUFRfVUNBUyAgICAgICAgID0gVVNDUklQVF9DQU5BRElBTl9BQk9SSUdJ
TkFMLAorICAgICAgVVNDUklQVF9ZSSAgICAgICAgICAgPSA0MSwgIC8qIFlpaWkgKi8KKyAgICAg
IFVTQ1JJUFRfVEFHQUxPRyAgICAgID0gNDIsICAvKiBUZ2xnICovCisgICAgICBVU0NSSVBUX0hB
TlVOT08gICAgICA9IDQzLCAgLyogSGFubyAqLworICAgICAgVVNDUklQVF9CVUhJRCAgICAgICAg
PSA0NCwgIC8qIEJ1aGQgKi8KKyAgICAgIFVTQ1JJUFRfVEFHQkFOV0EgICAgID0gNDUsICAvKiBU
YWdiICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHRzIGluIFVuaWNvZGUgNCBAc3RhYmxlIElDVSAy
LjYgKi8KKyAgICAgIFVTQ1JJUFRfQlJBSUxMRSAgICAgID0gNDYsICAvKiBCcmFpICovCisgICAg
ICBVU0NSSVBUX0NZUFJJT1QgICAgICA9IDQ3LCAgLyogQ3BydCAqLworICAgICAgVVNDUklQVF9M
SU1CVSAgICAgICAgPSA0OCwgIC8qIExpbWIgKi8KKyAgICAgIFVTQ1JJUFRfTElORUFSX0IgICAg
ID0gNDksICAvKiBMaW5iICovCisgICAgICBVU0NSSVBUX09TTUFOWUEgICAgICA9IDUwLCAgLyog
T3NtYSAqLworICAgICAgVVNDUklQVF9TSEFWSUFOICAgICAgPSA1MSwgIC8qIFNoYXcgKi8KKyAg
ICAgIFVTQ1JJUFRfVEFJX0xFICAgICAgID0gNTIsICAvKiBUYWxlICovCisgICAgICBVU0NSSVBU
X1VHQVJJVElDICAgICA9IDUzLCAgLyogVWdhciAqLworCisgICAgICAvKiogTmV3IHNjcmlwdCBj
b2RlIGluIFVuaWNvZGUgNC4wLjEgQHN0YWJsZSBJQ1UgMy4wICovCisgICAgICBVU0NSSVBUX0tB
VEFLQU5BX09SX0hJUkFHQU5BID0gNTQsLypIcmt0ICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHRz
IGluIFVuaWNvZGUgNC4xIEBzdGFibGUgSUNVIDMuNCAqLworICAgICAgVVNDUklQVF9CVUdJTkVT
RSAgICAgID0gNTUsIC8qIEJ1Z2kgKi8KKyAgICAgIFVTQ1JJUFRfR0xBR09MSVRJQyAgICA9IDU2
LCAvKiBHbGFnICovCisgICAgICBVU0NSSVBUX0tIQVJPU0hUSEkgICAgPSA1NywgLyogS2hhciAq
LworICAgICAgVVNDUklQVF9TWUxPVElfTkFHUkkgID0gNTgsIC8qIFN5bG8gKi8KKyAgICAgIFVT
Q1JJUFRfTkVXX1RBSV9MVUUgICA9IDU5LCAvKiBUYWx1ICovCisgICAgICBVU0NSSVBUX1RJRklO
QUdIICAgICAgPSA2MCwgLyogVGZuZyAqLworICAgICAgVVNDUklQVF9PTERfUEVSU0lBTiAgID0g
NjEsIC8qIFhwZW8gKi8KKworICAgICAgLyogTmV3IHNjcmlwdCBjb2RlcyBmcm9tIElTTyAxNTky
NCBAc3RhYmxlIElDVSAzLjYgKi8KKyAgICAgIFVTQ1JJUFRfQkFMSU5FU0UgICAgICAgICAgICAg
ICAgICAgICAgPSA2MiwgLyogQmFsaSAqLworICAgICAgVVNDUklQVF9CQVRBSyAgICAgICAgICAg
ICAgICAgICAgICAgICA9IDYzLCAvKiBCYXRrICovCisgICAgICBVU0NSSVBUX0JMSVNTWU1CT0xT
ICAgICAgICAgICAgICAgICAgID0gNjQsIC8qIEJsaXMgKi8KKyAgICAgIFVTQ1JJUFRfQlJBSE1J
ICAgICAgICAgICAgICAgICAgICAgICAgPSA2NSwgLyogQnJhaCAqLworICAgICAgVVNDUklQVF9D
SEFNICAgICAgICAgICAgICAgICAgICAgICAgICA9IDY2LCAvKiBDaGFtICovCisgICAgICBVU0NS
SVBUX0NJUlRIICAgICAgICAgICAgICAgICAgICAgICAgID0gNjcsIC8qIENpcnQgKi8KKyAgICAg
IFVTQ1JJUFRfT0xEX0NIVVJDSF9TTEFWT05JQ19DWVJJTExJQyAgPSA2OCwgLyogQ3lycyAqLwor
ICAgICAgVVNDUklQVF9ERU1PVElDX0VHWVBUSUFOICAgICAgICAgICAgICA9IDY5LCAvKiBFZ3lk
ICovCisgICAgICBVU0NSSVBUX0hJRVJBVElDX0VHWVBUSUFOICAgICAgICAgICAgID0gNzAsIC8q
IEVneWggKi8KKyAgICAgIFVTQ1JJUFRfRUdZUFRJQU5fSElFUk9HTFlQSFMgICAgICAgICAgPSA3
MSwgLyogRWd5cCAqLworICAgICAgVVNDUklQVF9LSFVUU1VSSSAgICAgICAgICAgICAgICAgICAg
ICA9IDcyLCAvKiBHZW9rICovCisgICAgICBVU0NSSVBUX1NJTVBMSUZJRURfSEFOICAgICAgICAg
ICAgICAgID0gNzMsIC8qIEhhbnMgKi8KKyAgICAgIFVTQ1JJUFRfVFJBRElUSU9OQUxfSEFOICAg
ICAgICAgICAgICAgPSA3NCwgLyogSGFudCAqLworICAgICAgVVNDUklQVF9QQUhBV0hfSE1PTkcg
ICAgICAgICAgICAgICAgICA9IDc1LCAvKiBIbW5nICovCisgICAgICBVU0NSSVBUX09MRF9IVU5H
QVJJQU4gICAgICAgICAgICAgICAgID0gNzYsIC8qIEh1bmcgKi8KKyAgICAgIFVTQ1JJUFRfSEFS
QVBQQU5fSU5EVVMgICAgICAgICAgICAgICAgPSA3NywgLyogSW5kcyAqLworICAgICAgVVNDUklQ
VF9KQVZBTkVTRSAgICAgICAgICAgICAgICAgICAgICA9IDc4LCAvKiBKYXZhICovCisgICAgICBV
U0NSSVBUX0tBWUFIX0xJICAgICAgICAgICAgICAgICAgICAgID0gNzksIC8qIEthbGkgKi8KKyAg
ICAgIFVTQ1JJUFRfTEFUSU5fRlJBS1RVUiAgICAgICAgICAgICAgICAgPSA4MCwgLyogTGF0ZiAq
LworICAgICAgVVNDUklQVF9MQVRJTl9HQUVMSUMgICAgICAgICAgICAgICAgICA9IDgxLCAvKiBM
YXRnICovCisgICAgICBVU0NSSVBUX0xFUENIQSAgICAgICAgICAgICAgICAgICAgICAgID0gODIs
IC8qIExlcGMgKi8KKyAgICAgIFVTQ1JJUFRfTElORUFSX0EgICAgICAgICAgICAgICAgICAgICAg
PSA4MywgLyogTGluYSAqLworICAgICAgLyoqIEBzdGFibGUgSUNVIDQuNiAqLworICAgICAgVVND
UklQVF9NQU5EQUlDICAgICAgICAgICAgICAgICAgICAgICA9IDg0LCAvKiBNYW5kICovCisgICAg
ICAvKiogQHN0YWJsZSBJQ1UgMy42ICovCisgICAgICBVU0NSSVBUX01BTkRBRUFOICAgICAgICAg
ICAgICAgICAgICAgID0gVVNDUklQVF9NQU5EQUlDLAorICAgICAgVVNDUklQVF9NQVlBTl9ISUVS
T0dMWVBIUyAgICAgICAgICAgICA9IDg1LCAvKiBNYXlhICovCisgICAgICAvKiogQHN0YWJsZSBJ
Q1UgNC42ICovCisgICAgICBVU0NSSVBUX01FUk9JVElDX0hJRVJPR0xZUEhTICAgICAgICAgID0g
ODYsIC8qIE1lcm8gKi8KKyAgICAgIC8qKiBAc3RhYmxlIElDVSAzLjYgKi8KKyAgICAgIFVTQ1JJ
UFRfTUVST0lUSUMgICAgICAgICAgICAgICAgICAgICAgPSBVU0NSSVBUX01FUk9JVElDX0hJRVJP
R0xZUEhTLAorICAgICAgVVNDUklQVF9OS08gICAgICAgICAgICAgICAgICAgICAgICAgICA9IDg3
LCAvKiBOa29vICovCisgICAgICBVU0NSSVBUX09SS0hPTiAgICAgICAgICAgICAgICAgICAgICAg
ID0gODgsIC8qIE9ya2ggKi8KKyAgICAgIFVTQ1JJUFRfT0xEX1BFUk1JQyAgICAgICAgICAgICAg
ICAgICAgPSA4OSwgLyogUGVybSAqLworICAgICAgVVNDUklQVF9QSEFHU19QQSAgICAgICAgICAg
ICAgICAgICAgICA9IDkwLCAvKiBQaGFnICovCisgICAgICBVU0NSSVBUX1BIT0VOSUNJQU4gICAg
ICAgICAgICAgICAgICAgID0gOTEsIC8qIFBobnggKi8KKyAgICAgIFVTQ1JJUFRfUEhPTkVUSUNf
UE9MTEFSRCAgICAgICAgICAgICAgPSA5MiwgLyogUGxyZCAqLworICAgICAgVVNDUklQVF9ST05H
T1JPTkdPICAgICAgICAgICAgICAgICAgICA9IDkzLCAvKiBSb3JvICovCisgICAgICBVU0NSSVBU
X1NBUkFUSSAgICAgICAgICAgICAgICAgICAgICAgID0gOTQsIC8qIFNhcmEgKi8KKyAgICAgIFVT
Q1JJUFRfRVNUUkFOR0VMT19TWVJJQUMgICAgICAgICAgICAgPSA5NSwgLyogU3lyZSAqLworICAg
ICAgVVNDUklQVF9XRVNURVJOX1NZUklBQyAgICAgICAgICAgICAgICA9IDk2LCAvKiBTeXJqICov
CisgICAgICBVU0NSSVBUX0VBU1RFUk5fU1lSSUFDICAgICAgICAgICAgICAgID0gOTcsIC8qIFN5
cm4gKi8KKyAgICAgIFVTQ1JJUFRfVEVOR1dBUiAgICAgICAgICAgICAgICAgICAgICAgPSA5OCwg
LyogVGVuZyAqLworICAgICAgVVNDUklQVF9WQUkgICAgICAgICAgICAgICAgICAgICAgICAgICA9
IDk5LCAvKiBWYWlpICovCisgICAgICBVU0NSSVBUX1ZJU0lCTEVfU1BFRUNIICAgICAgICAgICAg
ICAgID0gMTAwLC8qIFZpc3AgKi8KKyAgICAgIFVTQ1JJUFRfQ1VORUlGT1JNICAgICAgICAgICAg
ICAgICAgICAgPSAxMDEsLyogWHN1eCAqLworICAgICAgVVNDUklQVF9VTldSSVRURU5fTEFOR1VB
R0VTICAgICAgICAgICA9IDEwMiwvKiBaeHh4ICovCisgICAgICBVU0NSSVBUX1VOS05PV04gICAg
ICAgICAgICAgICAgICAgICAgID0gMTAzLC8qIFp6enogKi8gLyogVW5rbm93bj0iQ29kZSBmb3Ig
dW5jb2RlZCBzY3JpcHQiLCBmb3IgdW5hc3NpZ25lZCBjb2RlIHBvaW50cyAqLworCisgICAgICAv
KiBOZXcgc2NyaXB0IGNvZGVzIGZyb20gSVNPIDE1OTI0IEBzdGFibGUgSUNVIDMuOCAqLworICAg
ICAgVVNDUklQVF9DQVJJQU4gICAgICAgICAgICAgICAgICAgICAgICA9IDEwNCwvKiBDYXJpICov
CisgICAgICBVU0NSSVBUX0pBUEFORVNFICAgICAgICAgICAgICAgICAgICAgID0gMTA1LC8qIEpw
YW4gKi8KKyAgICAgIFVTQ1JJUFRfTEFOTkEgICAgICAgICAgICAgICAgICAgICAgICAgPSAxMDYs
LyogTGFuYSAqLworICAgICAgVVNDUklQVF9MWUNJQU4gICAgICAgICAgICAgICAgICAgICAgICA9
IDEwNywvKiBMeWNpICovCisgICAgICBVU0NSSVBUX0xZRElBTiAgICAgICAgICAgICAgICAgICAg
ICAgID0gMTA4LC8qIEx5ZGkgKi8KKyAgICAgIFVTQ1JJUFRfT0xfQ0hJS0kgICAgICAgICAgICAg
ICAgICAgICAgPSAxMDksLyogT2xjayAqLworICAgICAgVVNDUklQVF9SRUpBTkcgICAgICAgICAg
ICAgICAgICAgICAgICA9IDExMCwvKiBSam5nICovCisgICAgICBVU0NSSVBUX1NBVVJBU0hUUkEg
ICAgICAgICAgICAgICAgICAgID0gMTExLC8qIFNhdXIgKi8KKyAgICAgIFVTQ1JJUFRfU0lHTl9X
UklUSU5HICAgICAgICAgICAgICAgICAgPSAxMTIsLyogU2dudyAqLworICAgICAgVVNDUklQVF9T
VU5EQU5FU0UgICAgICAgICAgICAgICAgICAgICA9IDExMywvKiBTdW5kICovCisgICAgICBVU0NS
SVBUX01PT04gICAgICAgICAgICAgICAgICAgICAgICAgID0gMTE0LC8qIE1vb24gKi8KKyAgICAg
IFVTQ1JJUFRfTUVJVEVJX01BWUVLICAgICAgICAgICAgICAgICAgPSAxMTUsLyogTXRlaSAqLwor
CisgICAgICAvKiBOZXcgc2NyaXB0IGNvZGVzIGZyb20gSVNPIDE1OTI0IEBzdGFibGUgSUNVIDQu
MCAqLworICAgICAgVVNDUklQVF9JTVBFUklBTF9BUkFNQUlDICAgICAgICAgICAgICA9IDExNiwv
KiBBcm1pICovCisgICAgICBVU0NSSVBUX0FWRVNUQU4gICAgICAgICAgICAgICAgICAgICAgID0g
MTE3LC8qIEF2c3QgKi8KKyAgICAgIFVTQ1JJUFRfQ0hBS01BICAgICAgICAgICAgICAgICAgICAg
ICAgPSAxMTgsLyogQ2FrbSAqLworICAgICAgVVNDUklQVF9LT1JFQU4gICAgICAgICAgICAgICAg
ICAgICAgICA9IDExOSwvKiBLb3JlICovCisgICAgICBVU0NSSVBUX0tBSVRISSAgICAgICAgICAg
ICAgICAgICAgICAgID0gMTIwLC8qIEt0aGkgKi8KKyAgICAgIFVTQ1JJUFRfTUFOSUNIQUVBTiAg
ICAgICAgICAgICAgICAgICAgPSAxMjEsLyogTWFuaSAqLworICAgICAgVVNDUklQVF9JTlNDUklQ
VElPTkFMX1BBSExBVkkgICAgICAgICA9IDEyMiwvKiBQaGxpICovCisgICAgICBVU0NSSVBUX1BT
QUxURVJfUEFITEFWSSAgICAgICAgICAgICAgID0gMTIzLC8qIFBobHAgKi8KKyAgICAgIFVTQ1JJ
UFRfQk9PS19QQUhMQVZJICAgICAgICAgICAgICAgICAgPSAxMjQsLyogUGhsdiAqLworICAgICAg
VVNDUklQVF9JTlNDUklQVElPTkFMX1BBUlRISUFOICAgICAgICA9IDEyNSwvKiBQcnRpICovCisg
ICAgICBVU0NSSVBUX1NBTUFSSVRBTiAgICAgICAgICAgICAgICAgICAgID0gMTI2LC8qIFNhbXIg
Ki8KKyAgICAgIFVTQ1JJUFRfVEFJX1ZJRVQgICAgICAgICAgICAgICAgICAgICAgPSAxMjcsLyog
VGF2dCAqLworICAgICAgVVNDUklQVF9NQVRIRU1BVElDQUxfTk9UQVRJT04gICAgICAgICA9IDEy
OCwvKiBabXRoICovCisgICAgICBVU0NSSVBUX1NZTUJPTFMgICAgICAgICAgICAgICAgICAgICAg
ID0gMTI5LC8qIFpzeW0gKi8KKworICAgICAgLyogTmV3IHNjcmlwdCBjb2RlcyBmcm9tIElTTyAx
NTkyNCBAc3RhYmxlIElDVSA0LjQgKi8KKyAgICAgIFVTQ1JJUFRfQkFNVU0gICAgICAgICAgICAg
ICAgICAgICAgICAgPSAxMzAsLyogQmFtdSAqLworICAgICAgVVNDUklQVF9MSVNVICAgICAgICAg
ICAgICAgICAgICAgICAgICA9IDEzMSwvKiBMaXN1ICovCisgICAgICBVU0NSSVBUX05BS0hJX0dF
QkEgICAgICAgICAgICAgICAgICAgID0gMTMyLC8qIE5rZ2IgKi8KKyAgICAgIFVTQ1JJUFRfT0xE
X1NPVVRIX0FSQUJJQU4gICAgICAgICAgICAgPSAxMzMsLyogU2FyYiAqLworCisgICAgICAvKiBO
ZXcgc2NyaXB0IGNvZGVzIGZyb20gSVNPIDE1OTI0IEBzdGFibGUgSUNVIDQuNiAqLworICAgICAg
VVNDUklQVF9CQVNTQV9WQUggICAgICAgICAgICAgICAgICAgICA9IDEzNCwvKiBCYXNzICovCisg
ICAgICBVU0NSSVBUX0RVUExPWUFOX1NIT1JUQU5EICAgICAgICAgICAgID0gMTM1LC8qIER1cGwg
Ki8KKyAgICAgIFVTQ1JJUFRfRUxCQVNBTiAgICAgICAgICAgICAgICAgICAgICAgPSAxMzYsLyog
RWxiYSAqLworICAgICAgVVNDUklQVF9HUkFOVEhBICAgICAgICAgICAgICAgICAgICAgICA9IDEz
NywvKiBHcmFuICovCisgICAgICBVU0NSSVBUX0tQRUxMRSAgICAgICAgICAgICAgICAgICAgICAg
ID0gMTM4LC8qIEtwZWwgKi8KKyAgICAgIFVTQ1JJUFRfTE9NQSAgICAgICAgICAgICAgICAgICAg
ICAgICAgPSAxMzksLyogTG9tYSAqLworICAgICAgVVNDUklQVF9NRU5ERSAgICAgICAgICAgICAg
ICAgICAgICAgICA9IDE0MCwvKiBNZW5kICovCisgICAgICBVU0NSSVBUX01FUk9JVElDX0NVUlNJ
VkUgICAgICAgICAgICAgID0gMTQxLC8qIE1lcmMgKi8KKyAgICAgIFVTQ1JJUFRfT0xEX05PUlRI
X0FSQUJJQU4gICAgICAgICAgICAgPSAxNDIsLyogTmFyYiAqLworICAgICAgVVNDUklQVF9OQUJB
VEFFQU4gICAgICAgICAgICAgICAgICAgICA9IDE0MywvKiBOYmF0ICovCisgICAgICBVU0NSSVBU
X1BBTE1ZUkVORSAgICAgICAgICAgICAgICAgICAgID0gMTQ0LC8qIFBhbG0gKi8KKyAgICAgIFVT
Q1JJUFRfU0lOREhJICAgICAgICAgICAgICAgICAgICAgICAgPSAxNDUsLyogU2luZCAqLworICAg
ICAgVVNDUklQVF9XQVJBTkdfQ0lUSSAgICAgICAgICAgICAgICAgICA9IDE0NiwvKiBXYXJhICov
CisKKyAgICAgIC8qIFByaXZhdGUgdXNlIGNvZGVzIGZyb20gUWFhYSAtIFFhYnggYXJlIG5vdCBz
dXBwb3J0ZWQgKi8KKyAgICAgIFVTQ1JJUFRfQ09ERV9MSU1JVCAgICA9IDE0NworfTsKKworfQor
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmNmY1NjUwNGZiMDQ2NmI0ZDMzYTkzODIxODc0Y2ExOTNm
YjA5M2I5Li43ZGM4ZWJjOGNlOWFlMzJlYzYxMTQ2YzA5OTljODc1NGU5NmY5ZjY5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTEtMDUtMTYgIE1hdHQgRmFsa2VuaGFnZW4gIDxmYWxr
ZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFsbG93IGdlbmVyaWMgZm9udCBmYW1pbHkgc2V0dGluZ3MgcGVyIHNjcmlwdCBj
b2RlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA3
OTcKKworICAgICAgICBNYWtlIGdlbmVyaWMgZm9udCBmYW1pbHkgZ2V0dGVycy9zZXR0ZXJzIGFj
Y2VwdCBhbiBhZGRpdGlvbmFsCisgICAgICAgIGFyZ3VtZW50IChzY3JpcHQgY29kZSkuIEl0IGhh
cyBhIGRlZmF1bHQgdmFsdWUgc28gdGhhdCBpZiBhbiBlbWJlZGRlcgorICAgICAgICBkb2VzIG5v
dCBoYXZlL3dhbnQgYSBwZXItc2NyaXB0IGZvbnQgZmFtaWx5IHNldHRpbmcsIGNhbGwtc2l0ZXMK
KyAgICAgICAgZG9uJ3QgaGF2ZSB0byBiZSBjaGFuZ2VkLgorICAgICAgICBUaGlzIGlzIHRvIHBy
ZXBhcmUgZm9yIGZpeGluZyBidWcgMTA4NzQgKGZvbnQgc2VsZWN0aW9uIGlzIG5vdAorICAgICAg
ICBsYW5ndWFnZS1kZXBlbmRlbnQpIGFuZCBidWcgMTgwODUuCisKKyAgICAgICAgVGhlcmUgc2hv
dWxkIGJlIG5vIGNoYW5nZSBpbiBsYXlvdXQgYW5kIG5vIG5ldyBsYXlvdXQgdGVzdAorICAgICAg
ICBpcyBhZGRlZC4KKworICAgICAgICBQYXRjaCBpcyBvcmlnaW5hbGx5IGZyb20gSnVuZ3NoaWsg
U2hpbiAoanNoaW5AY2hyb21pdW0ub3JnKS4KKworICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJz
L3d0Zi91bmljb2RlL1VTY3JpcHRDb2RlLmg6IEFkZGVkLgorICAgICAgICAqIFdlYkNvcmUuZXhw
LmluOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2V0
R2VuZXJpY0ZvbnRGYW1pbHlNYXApOgorICAgICAgICAoV2ViQ29yZTo6Z2V0R2VuZXJpY0ZvbnRG
YW1pbHlGb3JTY3JpcHQpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnN0YW5kYXJkRm9u
dEZhbWlseSk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0U3RhbmRhcmRGb250RmFt
aWx5KToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpmaXhlZEZvbnRGYW1pbHkpOgorICAg
ICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldEZpeGVkRm9udEZhbWlseSk6CisgICAgICAgIChX
ZWJDb3JlOjpTZXR0aW5nczo6c2VyaWZGb250RmFtaWx5KToKKyAgICAgICAgKFdlYkNvcmU6OlNl
dHRpbmdzOjpzZXRTZXJpZkZvbnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6
OnNhbnNTZXJpZkZvbnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldFNh
bnNTZXJpZkZvbnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OmN1cnNpdmVG
b250RmFtaWx5KToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRDdXJzaXZlRm9udEZh
bWlseSk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6ZmFudGFzeUZvbnRGYW1pbHkpOgor
ICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldEZhbnRhc3lGb250RmFtaWx5KToKKyAgICAg
ICAgKiBwYWdlL1NldHRpbmdzLmg6CisKIDIwMTEtMDUtMTYgIE1PUklUQSBIYWppbWUgIDxtb3Jy
aXRhQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBDaGFuZy4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi91bmljb2RlL1VTY3Jp
cHRDb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvdW5pY29kZS9V
U2NyaXB0Q29kZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBkODQ4YzQyYjg1MWVjNjA3Yzk4MmE3YWJkZjdjZWM0
ZGVlOTc5NTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVh
ZGVycy93dGYvdW5pY29kZS9VU2NyaXB0Q29kZS5oCkBAIC0wLDAgKzEsNCBAQAorI2lmbmRlZiBX
ZWJDb3JlX0ZXRF9VU2NyaXB0Q29kZV9oCisjZGVmaW5lIFdlYkNvcmVfRldEX1VTY3JpcHRDb2Rl
X2gKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9VU2NyaXB0Q29kZS5oPgorI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCmluZGV4IGJiYTJlYTBjMmI0YThkZWVlMDllMTgwYzViNzZhYTk5Nzg0Y2Mz
ZDMuLmFiYzY3NjJhZTJjYzc3Y2Y1OTNiYmM5Y2U3NjhmMDAwZTE3NTQwMTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZXhwLmluCkBAIC04NDQsMjIgKzg0NCwyMiBAQCBfX1pON1dlYkNvcmU4U2V0dGluZ3MxNnNl
dFVzZXNQYWdlQ2FjaGVFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMTdzZXRQbHVnaW5zRW5hYmxl
ZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldERPTVBhc3RlQWxsb3dlZEViCiBfX1pON1dl
YkNvcmU4U2V0dGluZ3MxOHNldERlZmF1bHRGb250U2l6ZUVpCi1fX1pON1dlYkNvcmU4U2V0dGlu
Z3MxOHNldEZpeGVkRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFCitfX1pON1dlYkNv
cmU4U2V0dGluZ3MxOHNldEZpeGVkRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFTlMx
XzExVVNjcmlwdENvZGVFCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldE1pbmltdW1Gb250U2l6
ZUVpCi1fX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldFNlcmlmRm9udEZhbWlseUVSS04zV1RGMTJB
dG9taWNTdHJpbmdFCitfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldFNlcmlmRm9udEZhbWlseUVS
S04zV1RGMTJBdG9taWNTdHJpbmdFTlMxXzExVVNjcmlwdENvZGVFCiBfX1pON1dlYkNvcmU4U2V0
dGluZ3MxOHNldFdlYkF1ZGlvRW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOW1pbkRP
TVRpbWVySW50ZXJ2YWxFdgogX19aTjdXZWJDb3JlOFNldHRpbmdzMTlzZXRTaG93RGVidWdCb3Jk
ZXJzRWIKLV9fWk43V2ViQ29yZThTZXR0aW5nczIwc2V0Q3Vyc2l2ZUZvbnRGYW1pbHlFUktOM1dU
RjEyQXRvbWljU3RyaW5nRQotX19aTjdXZWJDb3JlOFNldHRpbmdzMjBzZXRGYW50YXN5Rm9udEZh
bWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFCitfX1pON1dlYkNvcmU4U2V0dGluZ3MyMHNldEN1
cnNpdmVGb250RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0VOUzFfMTFVU2NyaXB0Q29kZUUK
K19fWk43V2ViQ29yZThTZXR0aW5nczIwc2V0RmFudGFzeUZvbnRGYW1pbHlFUktOM1dURjEyQXRv
bWljU3RyaW5nRU5TMV8xMVVTY3JpcHRDb2RlRQogX19aTjdXZWJDb3JlOFNldHRpbmdzMjBzZXRK
YXZhU2NyaXB0RW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMHNldFhTU0F1ZGl0b3JF
bmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczIxc2V0U2hvd1JlcGFpbnRDb3VudGVyRWIK
LV9fWk43V2ViQ29yZThTZXR0aW5nczIxc2V0U3RhbmRhcmRGb250RmFtaWx5RVJLTjNXVEYxMkF0
b21pY1N0cmluZ0UKK19fWk43V2ViQ29yZThTZXR0aW5nczIxc2V0U3RhbmRhcmRGb250RmFtaWx5
RVJLTjNXVEYxMkF0b21pY1N0cmluZ0VOUzFfMTFVU2NyaXB0Q29kZUUKIF9fWk43V2ViQ29yZThT
ZXR0aW5nczIxc2V0V2ViU2VjdXJpdHlFbmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczIy
c2V0TG9jYWxTdG9yYWdlRW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMnNldE1pbkRP
TVRpbWVySW50ZXJ2YWxFZAotX19aTjdXZWJDb3JlOFNldHRpbmdzMjJzZXRTYW5zU2VyaWZGb250
RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0UKK19fWk43V2ViQ29yZThTZXR0aW5nczIyc2V0
U2Fuc1NlcmlmRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFTlMxXzExVVNjcmlwdENv
ZGVFCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMnNldFNlc3Npb25TdG9yYWdlUXVvdGFFagogX19a
TjdXZWJDb3JlOFNldHRpbmdzMjJzZXRTaG93c1VSTHNJblRvb2xUaXBzRWIKIF9fWk43V2ViQ29y
ZThTZXR0aW5nczIzc2V0RGVmYXVsdEZpeGVkRm9udFNpemVFaQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmNwcAppbmRleCAzZDNjNjIxOWUxMjMzN2U1MDBlODBiNDM3ZmEwZjJiMWRkZjRiMTMxLi4zYTJk
MzY3YzJhOWY3M2ZhYjc2NTMzZDQyM2JhNmJjNGM1ZGVjNjE2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRp
bmdzLmNwcApAQCAtNTIsNiArNTIsMjIgQEAgc3RhdGljIHZvaWQgc2V0TG9hZHNJbWFnZXNBdXRv
bWF0aWNhbGx5SW5BbGxGcmFtZXMoUGFnZSogcGFnZSkKICAgICAgICAgZnJhbWUtPmRvY3VtZW50
KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnNldEF1dG9Mb2FkSW1hZ2VzKHBhZ2UtPnNldHRp
bmdzKCktPmxvYWRzSW1hZ2VzQXV0b21hdGljYWxseSgpKTsKIH0KIAorc3RhdGljIGlubGluZSB2
b2lkIHNldEdlbmVyaWNGb250RmFtaWx5TWFwKFNjcmlwdEZvbnRGYW1pbHlNYXAmIGZvbnRNYXAs
IGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5LCBXVEY6OlVTY3JpcHRDb2RlIHNjcmlwdCwgUGFn
ZSogcGFnZSkKK3sKKyAgICAvLyBVU0NSSVBUX0lOVkFMSURfQ09ERSBpcyAtMSBhbmQgVVNSSVRQ
X0NPTU1PTiBpcyAwLCB3aGljaCBhcmUgc3BlY2lhbCAoZGVsZXRlZCBhbmQgZW1wdHkpIGluIEhh
c2hNYXAgd2l0aCBpbnQga2V5cy4KKyAgICAvLyBUbyBhdm9pZCB1c2luZyAtMSBhbmQgMCBhcyBh
IGtleSwgd2UgYWRkIDIuCisgICAgZm9udE1hcC5zZXQoc3RhdGljX2Nhc3Q8aW50PihzY3JpcHQp
ICsgMiwgZmFtaWx5KTsKKyAgICBwYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMo
KTsKK30KKworc3RhdGljIGlubGluZSBjb25zdCBBdG9taWNTdHJpbmcmIGdldEdlbmVyaWNGb250
RmFtaWx5Rm9yU2NyaXB0KGNvbnN0IFNjcmlwdEZvbnRGYW1pbHlNYXAmIGZvbnRNYXAsIFdURjo6
VVNjcmlwdENvZGUgc2NyaXB0KQoreworICAgIFNjcmlwdEZvbnRGYW1pbHlNYXA6OmNvbnN0X2l0
ZXJhdG9yIGl0ID0gZm9udE1hcC5maW5kKHN0YXRpY19jYXN0PGludD4oc2NyaXB0KSArIDIpOwor
ICAgIGlmIChpdCAhPSBmb250TWFwLmVuZCgpKQorICAgICAgICByZXR1cm4gaXQtPnNlY29uZDsK
KyAgICByZXR1cm4gZW1wdHlBdG9tOworfQorCiAjaWYgVVNFKFNBRkFSSV9USEVNRSkKIGJvb2wg
U2V0dGluZ3M6OmdTaG91bGRQYWludE5hdGl2ZUNvbnRyb2xzID0gdHJ1ZTsKICNlbmRpZgpAQCAt
MTg5LDU4ICsyMDUsNjQgQEAgU2V0dGluZ3M6OlNldHRpbmdzKFBhZ2UqIHBhZ2UpCiAgICAgQXRv
bWljU3RyaW5nOjppbml0KCk7CiB9CiAKLXZvaWQgU2V0dGluZ3M6OnNldFN0YW5kYXJkRm9udEZh
bWlseShjb25zdCBBdG9taWNTdHJpbmcmIHN0YW5kYXJkRm9udEZhbWlseSkKK2NvbnN0IEF0b21p
Y1N0cmluZyYgU2V0dGluZ3M6OnN0YW5kYXJkRm9udEZhbWlseShXVEY6OlVTY3JpcHRDb2RlIHNj
cmlwdCkgY29uc3QKIHsKLSAgICBpZiAoc3RhbmRhcmRGb250RmFtaWx5ID09IG1fc3RhbmRhcmRG
b250RmFtaWx5KQotICAgICAgICByZXR1cm47CisgICAgcmV0dXJuIGdldEdlbmVyaWNGb250RmFt
aWx5Rm9yU2NyaXB0KG1fc3RhbmRhcmRGb250RmFtaWx5TWFwLCBzY3JpcHQpOworfQogCi0gICAg
bV9zdGFuZGFyZEZvbnRGYW1pbHkgPSBzdGFuZGFyZEZvbnRGYW1pbHk7Ci0gICAgbV9wYWdlLT5z
ZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKK3ZvaWQgU2V0dGluZ3M6OnNldFN0YW5k
YXJkRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSwgV1RGOjpVU2NyaXB0Q29k
ZSBzY3JpcHQpCit7CisgICAgc2V0R2VuZXJpY0ZvbnRGYW1pbHlNYXAobV9zdGFuZGFyZEZvbnRG
YW1pbHlNYXAsIGZhbWlseSwgc2NyaXB0LCBtX3BhZ2UpOwogfQogCi12b2lkIFNldHRpbmdzOjpz
ZXRGaXhlZEZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBmaXhlZEZvbnRGYW1pbHkpCitj
b25zdCBBdG9taWNTdHJpbmcmIFNldHRpbmdzOjpmaXhlZEZvbnRGYW1pbHkoV1RGOjpVU2NyaXB0
Q29kZSBzY3JpcHQpIGNvbnN0CiB7Ci0gICAgaWYgKG1fZml4ZWRGb250RmFtaWx5ID09IGZpeGVk
Rm9udEZhbWlseSkKLSAgICAgICAgcmV0dXJuOwotICAgICAgICAKLSAgICBtX2ZpeGVkRm9udEZh
bWlseSA9IGZpeGVkRm9udEZhbWlseTsKLSAgICBtX3BhZ2UtPnNldE5lZWRzUmVjYWxjU3R5bGVJ
bkFsbEZyYW1lcygpOworICAgIHJldHVybiBnZXRHZW5lcmljRm9udEZhbWlseUZvclNjcmlwdCht
X2ZpeGVkRm9udEZhbWlseU1hcCwgc2NyaXB0KTsKIH0KIAotdm9pZCBTZXR0aW5nczo6c2V0U2Vy
aWZGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgc2VyaWZGb250RmFtaWx5KQordm9pZCBT
ZXR0aW5nczo6c2V0Rml4ZWRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5LCBX
VEY6OlVTY3JpcHRDb2RlIHNjcmlwdCkKIHsKLSAgICBpZiAobV9zZXJpZkZvbnRGYW1pbHkgPT0g
c2VyaWZGb250RmFtaWx5KQotICAgICAgICByZXR1cm47Ci0gICAgICAgIAotICAgIG1fc2VyaWZG
b250RmFtaWx5ID0gc2VyaWZGb250RmFtaWx5OwotICAgIG1fcGFnZS0+c2V0TmVlZHNSZWNhbGNT
dHlsZUluQWxsRnJhbWVzKCk7CisgICAgc2V0R2VuZXJpY0ZvbnRGYW1pbHlNYXAobV9maXhlZEZv
bnRGYW1pbHlNYXAsIGZhbWlseSwgc2NyaXB0LCBtX3BhZ2UpOwogfQogCi12b2lkIFNldHRpbmdz
OjpzZXRTYW5zU2VyaWZGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgc2Fuc1NlcmlmRm9u
dEZhbWlseSkKK2NvbnN0IEF0b21pY1N0cmluZyYgU2V0dGluZ3M6OnNlcmlmRm9udEZhbWlseShX
VEY6OlVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKIHsKLSAgICBpZiAobV9zYW5zU2VyaWZGb250
RmFtaWx5ID09IHNhbnNTZXJpZkZvbnRGYW1pbHkpCi0gICAgICAgIHJldHVybjsKLSAgICAgICAg
Ci0gICAgbV9zYW5zU2VyaWZGb250RmFtaWx5ID0gc2Fuc1NlcmlmRm9udEZhbWlseTsgCi0gICAg
bV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKKyAgICByZXR1cm4gZ2V0
R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQobV9zZXJpZkZvbnRGYW1pbHlNYXAsIHNjcmlwdCk7
CiB9CiAKLXZvaWQgU2V0dGluZ3M6OnNldEN1cnNpdmVGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0
cmluZyYgY3Vyc2l2ZUZvbnRGYW1pbHkpCit2b2lkIFNldHRpbmdzOjpzZXRTZXJpZkZvbnRGYW1p
bHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIFdURjo6VVNjcmlwdENvZGUgc2NyaXB0KQog
ewotICAgIGlmIChtX2N1cnNpdmVGb250RmFtaWx5ID09IGN1cnNpdmVGb250RmFtaWx5KQotICAg
ICAgICByZXR1cm47Ci0gICAgICAgIAotICAgIG1fY3Vyc2l2ZUZvbnRGYW1pbHkgPSBjdXJzaXZl
Rm9udEZhbWlseTsKLSAgICBtX3BhZ2UtPnNldE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcygp
OworICAgICBzZXRHZW5lcmljRm9udEZhbWlseU1hcChtX3NlcmlmRm9udEZhbWlseU1hcCwgZmFt
aWx5LCBzY3JpcHQsIG1fcGFnZSk7CiB9CiAKLXZvaWQgU2V0dGluZ3M6OnNldEZhbnRhc3lGb250
RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgZmFudGFzeUZvbnRGYW1pbHkpCitjb25zdCBBdG9t
aWNTdHJpbmcmIFNldHRpbmdzOjpzYW5zU2VyaWZGb250RmFtaWx5KFdURjo6VVNjcmlwdENvZGUg
c2NyaXB0KSBjb25zdAogewotICAgIGlmIChtX2ZhbnRhc3lGb250RmFtaWx5ID09IGZhbnRhc3lG
b250RmFtaWx5KQotICAgICAgICByZXR1cm47Ci0gICAgICAgIAotICAgIG1fZmFudGFzeUZvbnRG
YW1pbHkgPSBmYW50YXN5Rm9udEZhbWlseTsKLSAgICBtX3BhZ2UtPnNldE5lZWRzUmVjYWxjU3R5
bGVJbkFsbEZyYW1lcygpOworICAgIHJldHVybiBnZXRHZW5lcmljRm9udEZhbWlseUZvclNjcmlw
dChtX3NhbnNTZXJpZkZvbnRGYW1pbHlNYXAsIHNjcmlwdCk7Cit9CisKK3ZvaWQgU2V0dGluZ3M6
OnNldFNhbnNTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIFdURjo6
VVNjcmlwdENvZGUgc2NyaXB0KQoreworICAgIHNldEdlbmVyaWNGb250RmFtaWx5TWFwKG1fc2Fu
c1NlcmlmRm9udEZhbWlseU1hcCwgZmFtaWx5LCBzY3JpcHQsIG1fcGFnZSk7Cit9CisKK2NvbnN0
IEF0b21pY1N0cmluZyYgU2V0dGluZ3M6OmN1cnNpdmVGb250RmFtaWx5KFdURjo6VVNjcmlwdENv
ZGUgc2NyaXB0KSBjb25zdAoreworICAgIHJldHVybiBnZXRHZW5lcmljRm9udEZhbWlseUZvclNj
cmlwdChtX2N1cnNpdmVGb250RmFtaWx5TWFwLCBzY3JpcHQpOworfQorCit2b2lkIFNldHRpbmdz
OjpzZXRDdXJzaXZlRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSwgV1RGOjpV
U2NyaXB0Q29kZSBzY3JpcHQpCit7CisgICAgc2V0R2VuZXJpY0ZvbnRGYW1pbHlNYXAobV9jdXJz
aXZlRm9udEZhbWlseU1hcCwgZmFtaWx5LCBzY3JpcHQsIG1fcGFnZSk7Cit9CisKK2NvbnN0IEF0
b21pY1N0cmluZyYgU2V0dGluZ3M6OmZhbnRhc3lGb250RmFtaWx5KFdURjo6VVNjcmlwdENvZGUg
c2NyaXB0KSBjb25zdAoreworICAgIHJldHVybiBnZXRHZW5lcmljRm9udEZhbWlseUZvclNjcmlw
dChtX2ZhbnRhc3lGb250RmFtaWx5TWFwLCBzY3JpcHQpOworfQorCit2b2lkIFNldHRpbmdzOjpz
ZXRGYW50YXN5Rm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSwgV1RGOjpVU2Ny
aXB0Q29kZSBzY3JpcHQpCit7CisgICAgc2V0R2VuZXJpY0ZvbnRGYW1pbHlNYXAobV9mYW50YXN5
Rm9udEZhbWlseU1hcCwgZmFtaWx5LCBzY3JpcHQsIG1fcGFnZSk7CiB9CiAKIHZvaWQgU2V0dGlu
Z3M6OnNldE1pbmltdW1Gb250U2l6ZShpbnQgbWluaW11bUZvbnRTaXplKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy5oCmluZGV4IGJlMzM1ZDM2ZjZlNmYyZDI2ZTBkYzdlODIwOTc5YzE1NWZhZGY2MjcuLmIy
ODg3OTQxMmJmYjUyNzMzZmFlOWY2YTk1ZmU3ZDMyZTEwZWJhY2IgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRp
bmdzLmgKQEAgLTMxLDcgKzMxLDEwIEBACiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIK
ICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKKyNpbmNsdWRlIDx3dGYvSGFz
aE1hcC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgorI2luY2x1ZGUgPHd0
Zi90ZXh0L0F0b21pY1N0cmluZ0hhc2guaD4KKyNpbmNsdWRlIDx3dGYvdW5pY29kZS9VU2NyaXB0
Q29kZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTUxLDI4ICs1NCwzMCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFRleHREaXJlY3Rpb25TdWJtZW51QWx3YXlzSW5jbHVk
ZWQKICAgICB9OwogCisgICAgdHlwZWRlZiBIYXNoTWFwPGludCwgQXRvbWljU3RyaW5nPiBTY3Jp
cHRGb250RmFtaWx5TWFwOworCiAgICAgY2xhc3MgU2V0dGluZ3MgewogICAgICAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShTZXR0aW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1
YmxpYzoKICAgICAgICAgU2V0dGluZ3MoUGFnZSopOwogCi0gICAgICAgIHZvaWQgc2V0U3RhbmRh
cmRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYpOwotICAgICAgICBjb25zdCBBdG9taWNT
dHJpbmcmIHN0YW5kYXJkRm9udEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhbmRhcmRGb250
RmFtaWx5OyB9CisgICAgICAgIHZvaWQgc2V0U3RhbmRhcmRGb250RmFtaWx5KGNvbnN0IEF0b21p
Y1N0cmluZyYsIFdURjo6VVNjcmlwdENvZGUgPSBXVEY6OlVTQ1JJUFRfQ09NTU9OKTsKKyAgICAg
ICAgY29uc3QgQXRvbWljU3RyaW5nJiBzdGFuZGFyZEZvbnRGYW1pbHkoV1RGOjpVU2NyaXB0Q29k
ZSA9IFdURjo6VVNDUklQVF9DT01NT04pIGNvbnN0OwogCi0gICAgICAgIHZvaWQgc2V0Rml4ZWRG
b250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYpOwotICAgICAgICBjb25zdCBBdG9taWNTdHJp
bmcmIGZpeGVkRm9udEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fZml4ZWRGb250RmFtaWx5OyB9
CisgICAgICAgIHZvaWQgc2V0Rml4ZWRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYsIFdU
Rjo6VVNjcmlwdENvZGUgPSBXVEY6OlVTQ1JJUFRfQ09NTU9OKTsKKyAgICAgICAgY29uc3QgQXRv
bWljU3RyaW5nJiBmaXhlZEZvbnRGYW1pbHkoV1RGOjpVU2NyaXB0Q29kZSA9IFdURjo6VVNDUklQ
VF9DT01NT04pIGNvbnN0OwogCi0gICAgICAgIHZvaWQgc2V0U2VyaWZGb250RmFtaWx5KGNvbnN0
IEF0b21pY1N0cmluZyYpOwotICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHNlcmlmRm9udEZh
bWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fc2VyaWZGb250RmFtaWx5OyB9CisgICAgICAgIHZvaWQg
c2V0U2VyaWZGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYsIFdURjo6VVNjcmlwdENvZGUg
PSBXVEY6OlVTQ1JJUFRfQ09NTU9OKTsKKyAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBzZXJp
ZkZvbnRGYW1pbHkoV1RGOjpVU2NyaXB0Q29kZSA9IFdURjo6VVNDUklQVF9DT01NT04pIGNvbnN0
OwogCi0gICAgICAgIHZvaWQgc2V0U2Fuc1NlcmlmRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJp
bmcmKTsKLSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBzYW5zU2VyaWZGb250RmFtaWx5KCkg
Y29uc3QgeyByZXR1cm4gbV9zYW5zU2VyaWZGb250RmFtaWx5OyB9CisgICAgICAgIHZvaWQgc2V0
U2Fuc1NlcmlmRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmLCBXVEY6OlVTY3JpcHRDb2Rl
ID0gV1RGOjpVU0NSSVBUX0NPTU1PTik7CisgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgc2Fu
c1NlcmlmRm9udEZhbWlseShXVEY6OlVTY3JpcHRDb2RlID0gV1RGOjpVU0NSSVBUX0NPTU1PTikg
Y29uc3Q7CiAKLSAgICAgICAgdm9pZCBzZXRDdXJzaXZlRm9udEZhbWlseShjb25zdCBBdG9taWNT
dHJpbmcmKTsKLSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBjdXJzaXZlRm9udEZhbWlseSgp
IGNvbnN0IHsgcmV0dXJuIG1fY3Vyc2l2ZUZvbnRGYW1pbHk7IH0KKyAgICAgICAgdm9pZCBzZXRD
dXJzaXZlRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmLCBXVEY6OlVTY3JpcHRDb2RlID0g
V1RGOjpVU0NSSVBUX0NPTU1PTik7CisgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgY3Vyc2l2
ZUZvbnRGYW1pbHkoV1RGOjpVU2NyaXB0Q29kZSA9IFdURjo6VVNDUklQVF9DT01NT04pIGNvbnN0
OwogCi0gICAgICAgIHZvaWQgc2V0RmFudGFzeUZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5n
Jik7Ci0gICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgZmFudGFzeUZvbnRGYW1pbHkoKSBjb25z
dCB7IHJldHVybiBtX2ZhbnRhc3lGb250RmFtaWx5OyB9CisgICAgICAgIHZvaWQgc2V0RmFudGFz
eUZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiwgV1RGOjpVU2NyaXB0Q29kZSA9IFdURjo6
VVNDUklQVF9DT01NT04pOworICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGZhbnRhc3lGb250
RmFtaWx5KFdURjo6VVNjcmlwdENvZGUgPSBXVEY6OlVTQ1JJUFRfQ09NTU9OKSBjb25zdDsKIAog
ICAgICAgICB2b2lkIHNldE1pbmltdW1Gb250U2l6ZShpbnQpOwogICAgICAgICBpbnQgbWluaW11
bUZvbnRTaXplKCkgY29uc3QgeyByZXR1cm4gbV9taW5pbXVtRm9udFNpemU7IH0KQEAgLTQxNSwx
MiArNDIwLDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgU3RyaW5nIG1fZnRwRGly
ZWN0b3J5VGVtcGxhdGVQYXRoOwogICAgICAgICBTdHJpbmcgbV9sb2NhbFN0b3JhZ2VEYXRhYmFz
ZVBhdGg7CiAgICAgICAgIEtVUkwgbV91c2VyU3R5bGVTaGVldExvY2F0aW9uOwotICAgICAgICBB
dG9taWNTdHJpbmcgbV9zdGFuZGFyZEZvbnRGYW1pbHk7Ci0gICAgICAgIEF0b21pY1N0cmluZyBt
X2ZpeGVkRm9udEZhbWlseTsKLSAgICAgICAgQXRvbWljU3RyaW5nIG1fc2VyaWZGb250RmFtaWx5
OwotICAgICAgICBBdG9taWNTdHJpbmcgbV9zYW5zU2VyaWZGb250RmFtaWx5OwotICAgICAgICBB
dG9taWNTdHJpbmcgbV9jdXJzaXZlRm9udEZhbWlseTsKLSAgICAgICAgQXRvbWljU3RyaW5nIG1f
ZmFudGFzeUZvbnRGYW1pbHk7CisgICAgICAgIFNjcmlwdEZvbnRGYW1pbHlNYXAgbV9zdGFuZGFy
ZEZvbnRGYW1pbHlNYXA7CisgICAgICAgIFNjcmlwdEZvbnRGYW1pbHlNYXAgbV9zZXJpZkZvbnRG
YW1pbHlNYXA7CisgICAgICAgIFNjcmlwdEZvbnRGYW1pbHlNYXAgbV9maXhlZEZvbnRGYW1pbHlN
YXA7CisgICAgICAgIFNjcmlwdEZvbnRGYW1pbHlNYXAgbV9zYW5zU2VyaWZGb250RmFtaWx5TWFw
OworICAgICAgICBTY3JpcHRGb250RmFtaWx5TWFwIG1fY3Vyc2l2ZUZvbnRGYW1pbHlNYXA7Cisg
ICAgICAgIFNjcmlwdEZvbnRGYW1pbHlNYXAgbV9mYW50YXN5Rm9udEZhbWlseU1hcDsKICAgICAg
ICAgRWRpdGFibGVMaW5rQmVoYXZpb3IgbV9lZGl0YWJsZUxpbmtCZWhhdmlvcjsKICAgICAgICAg
VGV4dERpcmVjdGlvblN1Ym1lbnVJbmNsdXNpb25CZWhhdmlvciBtX3RleHREaXJlY3Rpb25TdWJt
ZW51SW5jbHVzaW9uQmVoYXZpb3I7CiAgICAgICAgIGludCBtX21pbmltdW1Gb250U2l6ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93995</attachid>
            <date>2011-05-18 15:50:59 -0700</date>
            <delta_ts>2011-05-18 18:31:54 -0700</delta_ts>
            <desc>patch with CMakefile build file added </desc>
            <filename>20797.patch.6</filename>
            <type>text/plain</type>
            <size>31501</size>
            <attacher name="Jungshik Shin">jshin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODY3OTgpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTEtMDUtMTggIEp1bmdzaGlrIFNoaW4gIDxqc2hpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFVTY3JpcHRDb2Rl
LmggdG8gd3RmL3VuaWNvZGUgYW5kIG1ha2UgbmVjZXNzYXJ5IGNoYW5nZXMgaW4gYnVpbGQgZmls
ZXMuCisgICAgICAgIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzk3
CisKKyAgICAgICAgWGNvZGUgYnVpbGQgZmlsZSBjaGFuZ2UgaXMgZml4ZWQgYnkgTWF0dCBGYWxr
ZW5oYWdlbiA8ZmFsa2VuQGNocm9taXVtLm9yZz4KKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0
LmFtOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLmd5cGk6CisgICAgICAgICogSmF2YVNjcmlw
dENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogd3RmL3VuaWNvZGUvVVNjcmlwdENv
ZGUuaDogVVNjcmlwdENvZGUgZW51bSBhZGRlZC4KKwogMjAxMS0wNS0xOCAgQWRhbSBCYXJ0aCAg
PGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUubGlzdC5hbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkocmV2aXNpb24g
ODY3ODMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkod29y
a2luZyBjb3B5KQpAQCAtNTU0LDYgKzU1NCw3IEBAIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0g
XAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Db2xsYXRvckRlZmF1bHQuY3Bw
IFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3IuaCBcCiAJU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1VuaWNvZGUuaCBcCisJU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi91bmljb2RlL1VTY3JpcHRDb2RlLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvdW5pY29kZS9VVEY4LmNwcCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91
bmljb2RlL1VURjguaCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9VbnVzZWRQYXJhbS5o
IFwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCShyZXZp
c2lvbiA4Njc4MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBp
CSh3b3JraW5nIGNvcHkpCkBAIC0yMzAsNiArMjMwLDcgQEAKICAgICAgICAgICAgICd3dGYvdGV4
dC9XVEZTdHJpbmcuaCcsCiAgICAgICAgICAgICAnd3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMu
aCcsCiAgICAgICAgICAgICAnd3RmL3VuaWNvZGUvQ29sbGF0b3IuaCcsCisgICAgICAgICAgICAn
d3RmL3VuaWNvZGUvVVNjcmlwdENvZGUuaCcsCiAgICAgICAgICAgICAnd3RmL3VuaWNvZGUvVVRG
OC5oJywKICAgICAgICAgICAgICd3dGYvdW5pY29kZS9Vbmljb2RlLmgnLAogICAgICAgICAgICAg
J3d0Zi91bmljb2RlL2ljdS9Vbmljb2RlSWN1LmgnLApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RGLnZjcHJvago9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9q
CShyZXZpc2lvbiA4Njc4MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTQxNiw2ICs0MTYsMTAg
QEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5c
d3RmXHVuaWNvZGVcVVNjcmlwdENvZGUuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQog
CQkJCVJlbGF0aXZlUGF0aD0iLi5cLi5cd3RmXHVuaWNvZGVcVVRGOC5jcHAiCiAJCQkJPgogCQkJ
PC9GaWxlPgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDg2Nzgz
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTIyNCw2ICsyMjQsNyBAQAogCQk2NUUxQTNE
RjEyMkI4OTQ1MDBCMjYwOTcgLyogTm9uQ29weWluZ1NvcnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1RTFBMkY0MTIyQjg4MEQwMEIyNjA5NyAvKiBO
b25Db3B5aW5nU29ydC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTY1RkRFNDlDMEJERDFENEEwMEU4MDExMSAvKiBBc3NlcnRpb25zLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1RTIxN0I4MDhFN0VF
Q0MwMDIzRTVGNiAvKiBBc3NlcnRpb25zLmNwcCAqLzsgfTsKIAkJNzE4NkE2RUMxMzEwMEJBNTAw
NDQ3OUUxIC8qIEhleE51bWJlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNzE4NkE2RTgxMzEwMEI1NzAwNDQ3OUUxIC8qIEhleE51bWJlci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTc2MDZBQjRCMTM3
Q0RFODQwMDYyRDE5RiAvKiBVU2NyaXB0Q29kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzYwNkFCMUUxMzdDQ0FBQjAwNjJEMTlGIC8qIFVTY3JpcHRD
b2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NzFEQTlEODIxMzRGM0YzRDAwQjc2N0U3IC8qIFN0cmluZ09wZXJhdG9ycy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzE4QTg0ODIxMzRGM0ExMjAwQjg3
NTI5IC8qIFN0cmluZ09wZXJhdG9ycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTc2RkI5RjBGMTJFODUxODYwMDUxQTJFQiAvKiBTSEExLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NkZCOUYwRTEyRTg1
MTg2MDA1MUEyRUIgLyogU0hBMS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTc2RkI5RjExMTJFODUxOTYwMDUxQTJFQiAvKiBTSEExLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2RkI5RjEwMTJFODUx
OTYwMDUxQTJFQiAvKiBTSEExLmNwcCAqLzsgfTsKQEAgLTkxMiw2ICs5MTMsNyBAQAogCQk2NUVB
NzM2MzBCQUUzNUQxMDAxQkI1NjAgLyogQ29tbW9uSWRlbnRpZmllcnMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbW1vbklkZW50aWZpZXJzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTcwNEZEMzUzMDU2OTdFNkQwMDNEQkVEOSAvKiBCb29sZWFuT2JqZWN0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVu
dFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJv
b2xlYW5PYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9Owog
CQk3MTg2QTZFODEzMTAwQjU3MDA0NDc5RTEgLyogSGV4TnVtYmVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEhleE51bWJlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk3NjA2QUIxRTEzN0NDQUFCMDA2MkQxOUYgLyogVVNjcmlwdENvZGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVVNjcmlwdENvZGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNzE4QTg0ODIxMzRGM0ExMjAwQjg3NTI5IC8qIFN0cmluZ09wZXJhdG9ycy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBTdHJpbmdPcGVyYXRvcnMuaDsgcGF0
aCA9IHRleHQvU3RyaW5nT3BlcmF0b3JzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTc2RkI5RjBFMTJFODUxODYwMDUxQTJFQiAvKiBTSEExLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFNIQTEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzZGQjlG
MTAxMkU4NTE5NjAwNTFBMkVCIC8qIFNIQTEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gU0hBMS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjE1
LDYgKzIyMTcsNyBAQAogCQkJCUUxQTg2MkFBMEQ3RUJCN0QwMDFFQzZBQSAvKiBDb2xsYXRvci5o
ICovLAogCQkJCUUxQTg2MkQ1MEQ3RjJCNUMwMDFFQzZBQSAvKiBDb2xsYXRvckRlZmF1bHQuY3Bw
ICovLAogCQkJCUUxOTU2Nzk0MDlFN0NGMTIwMEI4OUQxMyAvKiBVbmljb2RlLmggKi8sCisJCQkJ
NzYwNkFCMUUxMzdDQ0FBQjAwNjJEMTlGIC8qIFVTY3JpcHRDb2RlLmggKi8sCiAJCQkJRTFFRjc5
QTgwQ0U5N0JBNjAwODhENTAwIC8qIFVURjguY3BwICovLAogCQkJCUUxRUY3OUE5MENFOTdCQTYw
MDg4RDUwMCAvKiBVVEY4LmggKi8sCiAJCQkpOwpAQCAtMjU3MCw2ICsyNTczLDcgQEAKIAkJCQk5
NzE0QUY0RTEyMkYyODlBMDA5MkQ5RjUgLyogVVJMUGFyc2VyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5NzE0QUY0RjEyMkYyODlBMDA5MkQ5RjUgLyogVVJMU2VnbWVudHMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTk3MTRBRjYwMTIyRjMyMDcwMDkyRDlGNSAvKiBVUkxTdHJpbmcuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTc2MDZBQjRCMTM3Q0RFODQwMDYyRDE5RiAvKiBVU2NyaXB0Q29kZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQkMxOEM0NzYwRTE2RjVDRDAwQjM0NDYwIC8qIFVTdHJpbmcuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTA4RERBNUMxMTI2NDYzMTcwMDc1MTczMiAvKiBVU3RyaW5nQnVpbGRl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0NzcwRTE2RjVDRDAwQjM0NDYwIC8qIFVURjgu
aCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9DTWFrZUxp
c3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0NNYWtlTGlz
dHMudHh0CShyZXZpc2lvbiA4Njc4MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvQ01h
a2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTExMCw2ICsxMTAsNyBAQCBTRVQoV1RGX0hF
QURFUlMKICAgICB1bmljb2RlL0NvbGxhdG9yLmgKICAgICB1bmljb2RlL1VURjguaAogICAgIHVu
aWNvZGUvVW5pY29kZS5oCisgICAgdW5pY29kZS9VU2NyaXB0Q29kZS5oCiApCiAKIFNFVChXVEZf
U09VUkNFUwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1VTY3JpcHRD
b2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1VT
Y3JpcHRDb2RlLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3Vu
aWNvZGUvVVNjcmlwdENvZGUuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMjcgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKGMpIDE5OTUtMjAxMSBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVz
IENvcnBvcmF0aW9uIGFuZCBvdGhlcnMKKyAqCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkg
cGVyc29uIG9idGFpbmluZyBhIGNvcHkKKyAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0
ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICogdG8gZGVhbCBpbiB0
aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRh
dGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gs
IGRpc3RyaWJ1dGUsIGFuZC9vciBzZWxsCisgKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQg
dG8gcGVybWl0IHBlcnNvbnMKKyAqIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0
byBkbyBzbywgcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2Uocykg
YW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyIGluIGFsbCBjb3BpZXMKKyAqIG9mIHRo
ZSBTb2Z0d2FyZSBhbmQgdGhhdCBib3RoIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlKHMpIGFu
ZCB0aGlzCisgKiBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gc3VwcG9ydGluZyBkb2N1bWVu
dGF0aW9uLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VU
IFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SIElNUExJRUQsIAorICogSU5DTFVESU5H
IEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJ
VE5FU1MgRk9SIEEKKyAqIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5UIE9G
IFRISVJEIFBBUlRZIFJJR0hUUy4gSU4gTk8gRVZFTlQgU0hBTEwKKyAqIFRIRSBDT1BZUklHSFQg
SE9MREVSIE9SIEhPTERFUlMgSU5DTFVERUQgSU4gVEhJUyBOT1RJQ0UgQkUgTElBQkxFIEZPUiBB
TlkgQ0xBSU0sCisgKiBPUiBBTlkgU1BFQ0lBTCBJTkRJUkVDVCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMsIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIKKyAqIFJFU1VMVElORyBGUk9NIExPU1Mg
T0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNU
LAorICogTkVHTElHRU5DRSBPUiBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9G
IE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyAqIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBUSElT
IFNPRlRXQVJFLgorICoKKyAqIEV4Y2VwdCBhcyBjb250YWluZWQgaW4gdGhpcyBub3RpY2UsIHRo
ZSBuYW1lIG9mIGEgY29weXJpZ2h0IGhvbGRlciBzaGFsbCBub3QgYmUKKyAqIHVzZWQgaW4gYWR2
ZXJ0aXNpbmcgb3Igb3RoZXJ3aXNlIHRvIHByb21vdGUgdGhlIHNhbGUsIHVzZSBvciBvdGhlciBk
ZWFsaW5ncyBpbgorICogdGhpcyBTb2Z0d2FyZSB3aXRob3V0IHByaW9yIHdyaXR0ZW4gYXV0aG9y
aXphdGlvbiBvZiB0aGUgY29weXJpZ2h0IGhvbGRlci4KKyAqLworCisjaWZuZGVmIFdURl9VU2Ny
aXB0Q29kZV9oCisjZGVmaW5lIFdURl9VU2NyaXB0Q29kZV9oCisKK25hbWVzcGFjZSBXVEYgewor
CitlbnVtIFVTY3JpcHRDb2RlIHsKKyAgICAgIFVTQ1JJUFRfSU5WQUxJRF9DT0RFID0gLTEsCisg
ICAgICBVU0NSSVBUX0NPTU1PTiAgICAgICA9ICAwLCAgLyogWnl5eSAqLworICAgICAgVVNDUklQ
VF9JTkhFUklURUQgICAgPSAgMSwgIC8qIFppbmggKi8gLyogIkNvZGUgZm9yIGluaGVyaXRlZCBz
Y3JpcHQiLCBmb3Igbm9uLXNwYWNpbmcgY29tYmluaW5nIG1hcmtzOyBhbHNvIFFhYWkgKi8KKyAg
ICAgIFVTQ1JJUFRfQVJBQklDICAgICAgID0gIDIsICAvKiBBcmFiICovCisgICAgICBVU0NSSVBU
X0FSTUVOSUFOICAgICA9ICAzLCAgLyogQXJtbiAqLworICAgICAgVVNDUklQVF9CRU5HQUxJICAg
ICAgPSAgNCwgIC8qIEJlbmcgKi8KKyAgICAgIFVTQ1JJUFRfQk9QT01PRk8gICAgID0gIDUsICAv
KiBCb3BvICovCisgICAgICBVU0NSSVBUX0NIRVJPS0VFICAgICA9ICA2LCAgLyogQ2hlciAqLwor
ICAgICAgVVNDUklQVF9DT1BUSUMgICAgICAgPSAgNywgIC8qIENvcHQgKi8KKyAgICAgIFVTQ1JJ
UFRfQ1lSSUxMSUMgICAgID0gIDgsICAvKiBDeXJsICovCisgICAgICBVU0NSSVBUX0RFU0VSRVQg
ICAgICA9ICA5LCAgLyogRHNydCAqLworICAgICAgVVNDUklQVF9ERVZBTkFHQVJJICAgPSAxMCwg
IC8qIERldmEgKi8KKyAgICAgIFVTQ1JJUFRfRVRISU9QSUMgICAgID0gMTEsICAvKiBFdGhpICov
CisgICAgICBVU0NSSVBUX0dFT1JHSUFOICAgICA9IDEyLCAgLyogR2VvciAqLworICAgICAgVVND
UklQVF9HT1RISUMgICAgICAgPSAxMywgIC8qIEdvdGggKi8KKyAgICAgIFVTQ1JJUFRfR1JFRUsg
ICAgICAgID0gMTQsICAvKiBHcmVrICovCisgICAgICBVU0NSSVBUX0dVSkFSQVRJICAgICA9IDE1
LCAgLyogR3VqciAqLworICAgICAgVVNDUklQVF9HVVJNVUtISSAgICAgPSAxNiwgIC8qIEd1cnUg
Ki8KKyAgICAgIFVTQ1JJUFRfSEFOICAgICAgICAgID0gMTcsICAvKiBIYW5pICovCisgICAgICBV
U0NSSVBUX0hBTkdVTCAgICAgICA9IDE4LCAgLyogSGFuZyAqLworICAgICAgVVNDUklQVF9IRUJS
RVcgICAgICAgPSAxOSwgIC8qIEhlYnIgKi8KKyAgICAgIFVTQ1JJUFRfSElSQUdBTkEgICAgID0g
MjAsICAvKiBIaXJhICovCisgICAgICBVU0NSSVBUX0tBTk5BREEgICAgICA9IDIxLCAgLyogS25k
YSAqLworICAgICAgVVNDUklQVF9LQVRBS0FOQSAgICAgPSAyMiwgIC8qIEthbmEgKi8KKyAgICAg
IFVTQ1JJUFRfS0hNRVIgICAgICAgID0gMjMsICAvKiBLaG1yICovCisgICAgICBVU0NSSVBUX0xB
TyAgICAgICAgICA9IDI0LCAgLyogTGFvbyAqLworICAgICAgVVNDUklQVF9MQVRJTiAgICAgICAg
PSAyNSwgIC8qIExhdG4gKi8KKyAgICAgIFVTQ1JJUFRfTUFMQVlBTEFNICAgID0gMjYsICAvKiBN
bHltICovCisgICAgICBVU0NSSVBUX01PTkdPTElBTiAgICA9IDI3LCAgLyogTW9uZyAqLworICAg
ICAgVVNDUklQVF9NWUFOTUFSICAgICAgPSAyOCwgIC8qIE15bXIgKi8KKyAgICAgIFVTQ1JJUFRf
T0dIQU0gICAgICAgID0gMjksICAvKiBPZ2FtICovCisgICAgICBVU0NSSVBUX09MRF9JVEFMSUMg
ICA9IDMwLCAgLyogSXRhbCAqLworICAgICAgVVNDUklQVF9PUklZQSAgICAgICAgPSAzMSwgIC8q
IE9yeWEgKi8KKyAgICAgIFVTQ1JJUFRfUlVOSUMgICAgICAgID0gMzIsICAvKiBSdW5yICovCisg
ICAgICBVU0NSSVBUX1NJTkhBTEEgICAgICA9IDMzLCAgLyogU2luaCAqLworICAgICAgVVNDUklQ
VF9TWVJJQUMgICAgICAgPSAzNCwgIC8qIFN5cmMgKi8KKyAgICAgIFVTQ1JJUFRfVEFNSUwgICAg
ICAgID0gMzUsICAvKiBUYW1sICovCisgICAgICBVU0NSSVBUX1RFTFVHVSAgICAgICA9IDM2LCAg
LyogVGVsdSAqLworICAgICAgVVNDUklQVF9USEFBTkEgICAgICAgPSAzNywgIC8qIFRoYWEgKi8K
KyAgICAgIFVTQ1JJUFRfVEhBSSAgICAgICAgID0gMzgsICAvKiBUaGFpICovCisgICAgICBVU0NS
SVBUX1RJQkVUQU4gICAgICA9IDM5LCAgLyogVGlidCAqLworICAgICAgLyoqIENhbmFkaWFuX0Fi
b3JpZ2luYWwgc2NyaXB0LiBAc3RhYmxlIElDVSAyLjYgKi8KKyAgICAgIFVTQ1JJUFRfQ0FOQURJ
QU5fQUJPUklHSU5BTCA9IDQwLCAgLyogQ2FucyAqLworICAgICAgLyoqIENhbmFkaWFuX0Fib3Jp
Z2luYWwgc2NyaXB0IChhbGlhcykuIEBzdGFibGUgSUNVIDIuMiAqLworICAgICAgVVNDUklQVF9V
Q0FTICAgICAgICAgPSBVU0NSSVBUX0NBTkFESUFOX0FCT1JJR0lOQUwsCisgICAgICBVU0NSSVBU
X1lJICAgICAgICAgICA9IDQxLCAgLyogWWlpaSAqLworICAgICAgVVNDUklQVF9UQUdBTE9HICAg
ICAgPSA0MiwgIC8qIFRnbGcgKi8KKyAgICAgIFVTQ1JJUFRfSEFOVU5PTyAgICAgID0gNDMsICAv
KiBIYW5vICovCisgICAgICBVU0NSSVBUX0JVSElEICAgICAgICA9IDQ0LCAgLyogQnVoZCAqLwor
ICAgICAgVVNDUklQVF9UQUdCQU5XQSAgICAgPSA0NSwgIC8qIFRhZ2IgKi8KKworICAgICAgLyog
TmV3IHNjcmlwdHMgaW4gVW5pY29kZSA0IEBzdGFibGUgSUNVIDIuNiAqLworICAgICAgVVNDUklQ
VF9CUkFJTExFICAgICAgPSA0NiwgIC8qIEJyYWkgKi8KKyAgICAgIFVTQ1JJUFRfQ1lQUklPVCAg
ICAgID0gNDcsICAvKiBDcHJ0ICovCisgICAgICBVU0NSSVBUX0xJTUJVICAgICAgICA9IDQ4LCAg
LyogTGltYiAqLworICAgICAgVVNDUklQVF9MSU5FQVJfQiAgICAgPSA0OSwgIC8qIExpbmIgKi8K
KyAgICAgIFVTQ1JJUFRfT1NNQU5ZQSAgICAgID0gNTAsICAvKiBPc21hICovCisgICAgICBVU0NS
SVBUX1NIQVZJQU4gICAgICA9IDUxLCAgLyogU2hhdyAqLworICAgICAgVVNDUklQVF9UQUlfTEUg
ICAgICAgPSA1MiwgIC8qIFRhbGUgKi8KKyAgICAgIFVTQ1JJUFRfVUdBUklUSUMgICAgID0gNTMs
ICAvKiBVZ2FyICovCisKKyAgICAgIC8qKiBOZXcgc2NyaXB0IGNvZGUgaW4gVW5pY29kZSA0LjAu
MSBAc3RhYmxlIElDVSAzLjAgKi8KKyAgICAgIFVTQ1JJUFRfS0FUQUtBTkFfT1JfSElSQUdBTkEg
PSA1NCwvKkhya3QgKi8KKworICAgICAgLyogTmV3IHNjcmlwdHMgaW4gVW5pY29kZSA0LjEgQHN0
YWJsZSBJQ1UgMy40ICovCisgICAgICBVU0NSSVBUX0JVR0lORVNFICAgICAgPSA1NSwgLyogQnVn
aSAqLworICAgICAgVVNDUklQVF9HTEFHT0xJVElDICAgID0gNTYsIC8qIEdsYWcgKi8KKyAgICAg
IFVTQ1JJUFRfS0hBUk9TSFRISSAgICA9IDU3LCAvKiBLaGFyICovCisgICAgICBVU0NSSVBUX1NZ
TE9USV9OQUdSSSAgPSA1OCwgLyogU3lsbyAqLworICAgICAgVVNDUklQVF9ORVdfVEFJX0xVRSAg
ID0gNTksIC8qIFRhbHUgKi8KKyAgICAgIFVTQ1JJUFRfVElGSU5BR0ggICAgICA9IDYwLCAvKiBU
Zm5nICovCisgICAgICBVU0NSSVBUX09MRF9QRVJTSUFOICAgPSA2MSwgLyogWHBlbyAqLworCisg
ICAgICAvKiBOZXcgc2NyaXB0IGNvZGVzIGZyb20gSVNPIDE1OTI0IEBzdGFibGUgSUNVIDMuNiAq
LworICAgICAgVVNDUklQVF9CQUxJTkVTRSAgICAgICAgICAgICAgICAgICAgICA9IDYyLCAvKiBC
YWxpICovCisgICAgICBVU0NSSVBUX0JBVEFLICAgICAgICAgICAgICAgICAgICAgICAgID0gNjMs
IC8qIEJhdGsgKi8KKyAgICAgIFVTQ1JJUFRfQkxJU1NZTUJPTFMgICAgICAgICAgICAgICAgICAg
PSA2NCwgLyogQmxpcyAqLworICAgICAgVVNDUklQVF9CUkFITUkgICAgICAgICAgICAgICAgICAg
ICAgICA9IDY1LCAvKiBCcmFoICovCisgICAgICBVU0NSSVBUX0NIQU0gICAgICAgICAgICAgICAg
ICAgICAgICAgID0gNjYsIC8qIENoYW0gKi8KKyAgICAgIFVTQ1JJUFRfQ0lSVEggICAgICAgICAg
ICAgICAgICAgICAgICAgPSA2NywgLyogQ2lydCAqLworICAgICAgVVNDUklQVF9PTERfQ0hVUkNI
X1NMQVZPTklDX0NZUklMTElDICA9IDY4LCAvKiBDeXJzICovCisgICAgICBVU0NSSVBUX0RFTU9U
SUNfRUdZUFRJQU4gICAgICAgICAgICAgID0gNjksIC8qIEVneWQgKi8KKyAgICAgIFVTQ1JJUFRf
SElFUkFUSUNfRUdZUFRJQU4gICAgICAgICAgICAgPSA3MCwgLyogRWd5aCAqLworICAgICAgVVND
UklQVF9FR1lQVElBTl9ISUVST0dMWVBIUyAgICAgICAgICA9IDcxLCAvKiBFZ3lwICovCisgICAg
ICBVU0NSSVBUX0tIVVRTVVJJICAgICAgICAgICAgICAgICAgICAgID0gNzIsIC8qIEdlb2sgKi8K
KyAgICAgIFVTQ1JJUFRfU0lNUExJRklFRF9IQU4gICAgICAgICAgICAgICAgPSA3MywgLyogSGFu
cyAqLworICAgICAgVVNDUklQVF9UUkFESVRJT05BTF9IQU4gICAgICAgICAgICAgICA9IDc0LCAv
KiBIYW50ICovCisgICAgICBVU0NSSVBUX1BBSEFXSF9ITU9ORyAgICAgICAgICAgICAgICAgID0g
NzUsIC8qIEhtbmcgKi8KKyAgICAgIFVTQ1JJUFRfT0xEX0hVTkdBUklBTiAgICAgICAgICAgICAg
ICAgPSA3NiwgLyogSHVuZyAqLworICAgICAgVVNDUklQVF9IQVJBUFBBTl9JTkRVUyAgICAgICAg
ICAgICAgICA9IDc3LCAvKiBJbmRzICovCisgICAgICBVU0NSSVBUX0pBVkFORVNFICAgICAgICAg
ICAgICAgICAgICAgID0gNzgsIC8qIEphdmEgKi8KKyAgICAgIFVTQ1JJUFRfS0FZQUhfTEkgICAg
ICAgICAgICAgICAgICAgICAgPSA3OSwgLyogS2FsaSAqLworICAgICAgVVNDUklQVF9MQVRJTl9G
UkFLVFVSICAgICAgICAgICAgICAgICA9IDgwLCAvKiBMYXRmICovCisgICAgICBVU0NSSVBUX0xB
VElOX0dBRUxJQyAgICAgICAgICAgICAgICAgID0gODEsIC8qIExhdGcgKi8KKyAgICAgIFVTQ1JJ
UFRfTEVQQ0hBICAgICAgICAgICAgICAgICAgICAgICAgPSA4MiwgLyogTGVwYyAqLworICAgICAg
VVNDUklQVF9MSU5FQVJfQSAgICAgICAgICAgICAgICAgICAgICA9IDgzLCAvKiBMaW5hICovCisg
ICAgICAvKiogQHN0YWJsZSBJQ1UgNC42ICovCisgICAgICBVU0NSSVBUX01BTkRBSUMgICAgICAg
ICAgICAgICAgICAgICAgID0gODQsIC8qIE1hbmQgKi8KKyAgICAgIC8qKiBAc3RhYmxlIElDVSAz
LjYgKi8KKyAgICAgIFVTQ1JJUFRfTUFOREFFQU4gICAgICAgICAgICAgICAgICAgICAgPSBVU0NS
SVBUX01BTkRBSUMsCisgICAgICBVU0NSSVBUX01BWUFOX0hJRVJPR0xZUEhTICAgICAgICAgICAg
ID0gODUsIC8qIE1heWEgKi8KKyAgICAgIC8qKiBAc3RhYmxlIElDVSA0LjYgKi8KKyAgICAgIFVT
Q1JJUFRfTUVST0lUSUNfSElFUk9HTFlQSFMgICAgICAgICAgPSA4NiwgLyogTWVybyAqLworICAg
ICAgLyoqIEBzdGFibGUgSUNVIDMuNiAqLworICAgICAgVVNDUklQVF9NRVJPSVRJQyAgICAgICAg
ICAgICAgICAgICAgICA9IFVTQ1JJUFRfTUVST0lUSUNfSElFUk9HTFlQSFMsCisgICAgICBVU0NS
SVBUX05LTyAgICAgICAgICAgICAgICAgICAgICAgICAgID0gODcsIC8qIE5rb28gKi8KKyAgICAg
IFVTQ1JJUFRfT1JLSE9OICAgICAgICAgICAgICAgICAgICAgICAgPSA4OCwgLyogT3JraCAqLwor
ICAgICAgVVNDUklQVF9PTERfUEVSTUlDICAgICAgICAgICAgICAgICAgICA9IDg5LCAvKiBQZXJt
ICovCisgICAgICBVU0NSSVBUX1BIQUdTX1BBICAgICAgICAgICAgICAgICAgICAgID0gOTAsIC8q
IFBoYWcgKi8KKyAgICAgIFVTQ1JJUFRfUEhPRU5JQ0lBTiAgICAgICAgICAgICAgICAgICAgPSA5
MSwgLyogUGhueCAqLworICAgICAgVVNDUklQVF9QSE9ORVRJQ19QT0xMQVJEICAgICAgICAgICAg
ICA9IDkyLCAvKiBQbHJkICovCisgICAgICBVU0NSSVBUX1JPTkdPUk9OR08gICAgICAgICAgICAg
ICAgICAgID0gOTMsIC8qIFJvcm8gKi8KKyAgICAgIFVTQ1JJUFRfU0FSQVRJICAgICAgICAgICAg
ICAgICAgICAgICAgPSA5NCwgLyogU2FyYSAqLworICAgICAgVVNDUklQVF9FU1RSQU5HRUxPX1NZ
UklBQyAgICAgICAgICAgICA9IDk1LCAvKiBTeXJlICovCisgICAgICBVU0NSSVBUX1dFU1RFUk5f
U1lSSUFDICAgICAgICAgICAgICAgID0gOTYsIC8qIFN5cmogKi8KKyAgICAgIFVTQ1JJUFRfRUFT
VEVSTl9TWVJJQUMgICAgICAgICAgICAgICAgPSA5NywgLyogU3lybiAqLworICAgICAgVVNDUklQ
VF9URU5HV0FSICAgICAgICAgICAgICAgICAgICAgICA9IDk4LCAvKiBUZW5nICovCisgICAgICBV
U0NSSVBUX1ZBSSAgICAgICAgICAgICAgICAgICAgICAgICAgID0gOTksIC8qIFZhaWkgKi8KKyAg
ICAgIFVTQ1JJUFRfVklTSUJMRV9TUEVFQ0ggICAgICAgICAgICAgICAgPSAxMDAsLyogVmlzcCAq
LworICAgICAgVVNDUklQVF9DVU5FSUZPUk0gICAgICAgICAgICAgICAgICAgICA9IDEwMSwvKiBY
c3V4ICovCisgICAgICBVU0NSSVBUX1VOV1JJVFRFTl9MQU5HVUFHRVMgICAgICAgICAgID0gMTAy
LC8qIFp4eHggKi8KKyAgICAgIFVTQ1JJUFRfVU5LTk9XTiAgICAgICAgICAgICAgICAgICAgICAg
PSAxMDMsLyogWnp6eiAqLyAvKiBVbmtub3duPSJDb2RlIGZvciB1bmNvZGVkIHNjcmlwdCIsIGZv
ciB1bmFzc2lnbmVkIGNvZGUgcG9pbnRzICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHQgY29kZXMg
ZnJvbSBJU08gMTU5MjQgQHN0YWJsZSBJQ1UgMy44ICovCisgICAgICBVU0NSSVBUX0NBUklBTiAg
ICAgICAgICAgICAgICAgICAgICAgID0gMTA0LC8qIENhcmkgKi8KKyAgICAgIFVTQ1JJUFRfSkFQ
QU5FU0UgICAgICAgICAgICAgICAgICAgICAgPSAxMDUsLyogSnBhbiAqLworICAgICAgVVNDUklQ
VF9MQU5OQSAgICAgICAgICAgICAgICAgICAgICAgICA9IDEwNiwvKiBMYW5hICovCisgICAgICBV
U0NSSVBUX0xZQ0lBTiAgICAgICAgICAgICAgICAgICAgICAgID0gMTA3LC8qIEx5Y2kgKi8KKyAg
ICAgIFVTQ1JJUFRfTFlESUFOICAgICAgICAgICAgICAgICAgICAgICAgPSAxMDgsLyogTHlkaSAq
LworICAgICAgVVNDUklQVF9PTF9DSElLSSAgICAgICAgICAgICAgICAgICAgICA9IDEwOSwvKiBP
bGNrICovCisgICAgICBVU0NSSVBUX1JFSkFORyAgICAgICAgICAgICAgICAgICAgICAgID0gMTEw
LC8qIFJqbmcgKi8KKyAgICAgIFVTQ1JJUFRfU0FVUkFTSFRSQSAgICAgICAgICAgICAgICAgICAg
PSAxMTEsLyogU2F1ciAqLworICAgICAgVVNDUklQVF9TSUdOX1dSSVRJTkcgICAgICAgICAgICAg
ICAgICA9IDExMiwvKiBTZ253ICovCisgICAgICBVU0NSSVBUX1NVTkRBTkVTRSAgICAgICAgICAg
ICAgICAgICAgID0gMTEzLC8qIFN1bmQgKi8KKyAgICAgIFVTQ1JJUFRfTU9PTiAgICAgICAgICAg
ICAgICAgICAgICAgICAgPSAxMTQsLyogTW9vbiAqLworICAgICAgVVNDUklQVF9NRUlURUlfTUFZ
RUsgICAgICAgICAgICAgICAgICA9IDExNSwvKiBNdGVpICovCisKKyAgICAgIC8qIE5ldyBzY3Jp
cHQgY29kZXMgZnJvbSBJU08gMTU5MjQgQHN0YWJsZSBJQ1UgNC4wICovCisgICAgICBVU0NSSVBU
X0lNUEVSSUFMX0FSQU1BSUMgICAgICAgICAgICAgID0gMTE2LC8qIEFybWkgKi8KKyAgICAgIFVT
Q1JJUFRfQVZFU1RBTiAgICAgICAgICAgICAgICAgICAgICAgPSAxMTcsLyogQXZzdCAqLworICAg
ICAgVVNDUklQVF9DSEFLTUEgICAgICAgICAgICAgICAgICAgICAgICA9IDExOCwvKiBDYWttICov
CisgICAgICBVU0NSSVBUX0tPUkVBTiAgICAgICAgICAgICAgICAgICAgICAgID0gMTE5LC8qIEtv
cmUgKi8KKyAgICAgIFVTQ1JJUFRfS0FJVEhJICAgICAgICAgICAgICAgICAgICAgICAgPSAxMjAs
LyogS3RoaSAqLworICAgICAgVVNDUklQVF9NQU5JQ0hBRUFOICAgICAgICAgICAgICAgICAgICA9
IDEyMSwvKiBNYW5pICovCisgICAgICBVU0NSSVBUX0lOU0NSSVBUSU9OQUxfUEFITEFWSSAgICAg
ICAgID0gMTIyLC8qIFBobGkgKi8KKyAgICAgIFVTQ1JJUFRfUFNBTFRFUl9QQUhMQVZJICAgICAg
ICAgICAgICAgPSAxMjMsLyogUGhscCAqLworICAgICAgVVNDUklQVF9CT09LX1BBSExBVkkgICAg
ICAgICAgICAgICAgICA9IDEyNCwvKiBQaGx2ICovCisgICAgICBVU0NSSVBUX0lOU0NSSVBUSU9O
QUxfUEFSVEhJQU4gICAgICAgID0gMTI1LC8qIFBydGkgKi8KKyAgICAgIFVTQ1JJUFRfU0FNQVJJ
VEFOICAgICAgICAgICAgICAgICAgICAgPSAxMjYsLyogU2FtciAqLworICAgICAgVVNDUklQVF9U
QUlfVklFVCAgICAgICAgICAgICAgICAgICAgICA9IDEyNywvKiBUYXZ0ICovCisgICAgICBVU0NS
SVBUX01BVEhFTUFUSUNBTF9OT1RBVElPTiAgICAgICAgID0gMTI4LC8qIFptdGggKi8KKyAgICAg
IFVTQ1JJUFRfU1lNQk9MUyAgICAgICAgICAgICAgICAgICAgICAgPSAxMjksLyogWnN5bSAqLwor
CisgICAgICAvKiBOZXcgc2NyaXB0IGNvZGVzIGZyb20gSVNPIDE1OTI0IEBzdGFibGUgSUNVIDQu
NCAqLworICAgICAgVVNDUklQVF9CQU1VTSAgICAgICAgICAgICAgICAgICAgICAgICA9IDEzMCwv
KiBCYW11ICovCisgICAgICBVU0NSSVBUX0xJU1UgICAgICAgICAgICAgICAgICAgICAgICAgID0g
MTMxLC8qIExpc3UgKi8KKyAgICAgIFVTQ1JJUFRfTkFLSElfR0VCQSAgICAgICAgICAgICAgICAg
ICAgPSAxMzIsLyogTmtnYiAqLworICAgICAgVVNDUklQVF9PTERfU09VVEhfQVJBQklBTiAgICAg
ICAgICAgICA9IDEzMywvKiBTYXJiICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHQgY29kZXMgZnJv
bSBJU08gMTU5MjQgQHN0YWJsZSBJQ1UgNC42ICovCisgICAgICBVU0NSSVBUX0JBU1NBX1ZBSCAg
ICAgICAgICAgICAgICAgICAgID0gMTM0LC8qIEJhc3MgKi8KKyAgICAgIFVTQ1JJUFRfRFVQTE9Z
QU5fU0hPUlRBTkQgICAgICAgICAgICAgPSAxMzUsLyogRHVwbCAqLworICAgICAgVVNDUklQVF9F
TEJBU0FOICAgICAgICAgICAgICAgICAgICAgICA9IDEzNiwvKiBFbGJhICovCisgICAgICBVU0NS
SVBUX0dSQU5USEEgICAgICAgICAgICAgICAgICAgICAgID0gMTM3LC8qIEdyYW4gKi8KKyAgICAg
IFVTQ1JJUFRfS1BFTExFICAgICAgICAgICAgICAgICAgICAgICAgPSAxMzgsLyogS3BlbCAqLwor
ICAgICAgVVNDUklQVF9MT01BICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEzOSwvKiBMb21h
ICovCisgICAgICBVU0NSSVBUX01FTkRFICAgICAgICAgICAgICAgICAgICAgICAgID0gMTQwLC8q
IE1lbmQgKi8KKyAgICAgIFVTQ1JJUFRfTUVST0lUSUNfQ1VSU0lWRSAgICAgICAgICAgICAgPSAx
NDEsLyogTWVyYyAqLworICAgICAgVVNDUklQVF9PTERfTk9SVEhfQVJBQklBTiAgICAgICAgICAg
ICA9IDE0MiwvKiBOYXJiICovCisgICAgICBVU0NSSVBUX05BQkFUQUVBTiAgICAgICAgICAgICAg
ICAgICAgID0gMTQzLC8qIE5iYXQgKi8KKyAgICAgIFVTQ1JJUFRfUEFMTVlSRU5FICAgICAgICAg
ICAgICAgICAgICAgPSAxNDQsLyogUGFsbSAqLworICAgICAgVVNDUklQVF9TSU5ESEkgICAgICAg
ICAgICAgICAgICAgICAgICA9IDE0NSwvKiBTaW5kICovCisgICAgICBVU0NSSVBUX1dBUkFOR19D
SVRJICAgICAgICAgICAgICAgICAgID0gMTQ2LC8qIFdhcmEgKi8KKworICAgICAgLyogTmV3IHNj
cmlwdCBjb2RlcyBmcm9tIElTTyAxNTkyNCBAc3RhYmxlIElDVSA0LjggKi8KKyAgICAgIFVTQ1JJ
UFRfQUZBS0EgICAgICAgICAgICAgICAgICAgICAgICAgPSAxNDcsLyogQWZhayAqLworICAgICAg
VVNDUklQVF9KVVJDSEVOICAgICAgICAgICAgICAgICAgICAgICA9IDE0OCwvKiBKdXJjICovCisg
ICAgICBVU0NSSVBUX01STyAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTQ5LC8qIE1yb28g
Ki8KKyAgICAgIFVTQ1JJUFRfTlVTSFUgICAgICAgICAgICAgICAgICAgICAgICAgPSAxNTAsLyog
TnNodSAqLworICAgICAgVVNDUklQVF9TSEFSQURBICAgICAgICAgICAgICAgICAgICAgICA9IDE1
MSwvKiBTaHJkICovCisgICAgICBVU0NSSVBUX1NPUkFfU09NUEVORyAgICAgICAgICAgICAgICAg
ID0gMTUyLC8qIFNvcmEgKi8KKyAgICAgIFVTQ1JJUFRfVEFLUkkgICAgICAgICAgICAgICAgICAg
ICAgICAgPSAxNTMsLyogVGFrciAqLworICAgICAgVVNDUklQVF9UQU5HVVQgICAgICAgICAgICAg
ICAgICAgICAgICA9IDE1NCwvKiBUYW5nICovCisgICAgICBVU0NSSVBUX1dPTEVBSSAgICAgICAg
ICAgICAgICAgICAgICAgID0gMTU1LC8qIFdvbGUgKi8KKworICAgICAgLyogUHJpdmF0ZSB1c2Ug
Y29kZXMgZnJvbSBRYWFhIC0gUWFieCBhcmUgbm90IHN1cHBvcnRlZCAqLworICAgICAgVVNDUklQ
VF9DT0RFX0xJTUlUICAgID0gMTQ3Cit9OworCit9CisKKyNlbmRpZgpJbmRleDogU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwko
cmV2aXNpb24gODY3OTgpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSw0MiBAQAorMjAxMS0wNS0xOCAgSnVuZ3NoaWsgU2hpbiAgPGpzaGluQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBbGxvdyBnZW5lcmljIGZvbnQgZmFtaWx5IHNldHRpbmdzIHBlciBzY3JpcHQgY29kZS4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzk3CisK
KyAgICAgICAgTWFrZSBnZW5lcmljIGZvbnQgZmFtaWx5IGdldHRlcnMvc2V0dGVycyBhY2NlcHQg
YW4gYWRkaXRpb25hbAorICAgICAgICBhcmd1bWVudCAoc2NyaXB0IGNvZGUpLiBJdCBoYXMgYSBk
ZWZhdWx0IHZhbHVlIHNvIHRoYXQgaWYgYW4gZW1iZWRkZXIKKyAgICAgICAgZG9lcyBub3QgaGF2
ZS93YW50IGEgcGVyLXNjcmlwdCBmb250IGZhbWlseSBzZXR0aW5nLCBjYWxsLXNpdGVzCisgICAg
ICAgIGRvbid0IGhhdmUgdG8gYmUgY2hhbmdlZC4KKyAgICAgICAgVGhpcyBpcyB0byBwcmVwYXJl
IGZvciBmaXhpbmcgYnVnIDEwODc0IChmb250IHNlbGVjdGlvbiBpcyBub3QKKyAgICAgICAgbGFu
Z3VhZ2UtZGVwZW5kZW50KSBhbmQgYnVnIDE4MDg1LgorCisgICAgICAgIFRoZXJlIHNob3VsZCBi
ZSBubyBjaGFuZ2UgaW4gbGF5b3V0IGFuZCBubyBuZXcgbGF5b3V0IHRlc3QKKyAgICAgICAgaXMg
YWRkZWQuCisKKworICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi91bmljb2RlL1VTY3Jp
cHRDb2RlLmg6IEFkZGVkLgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIHBh
Z2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2V0R2VuZXJpY0ZvbnRGYW1pbHlN
YXApOiBoZWxwZXIgdG8gc2V0IGdlbmVyaWMgZmFtaWx5IHBlcgorCXNjcmlwdAorICAgICAgICAo
V2ViQ29yZTo6Z2V0R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQpOiBoZWxwZXIgZnVuY3Rpb24g
dXNlZCBieSBnZXR0ZXJzIGZvciBmb29Gb250RmFtaWx5LgorICAgICAgICAoV2ViQ29yZTo6U2V0
dGluZ3M6OnN0YW5kYXJkRm9udEZhbWlseSk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6
c2V0U3RhbmRhcmRGb250RmFtaWx5KToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpmaXhl
ZEZvbnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldEZpeGVkRm9udEZh
bWlseSk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2VyaWZGb250RmFtaWx5KToKKyAg
ICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRTZXJpZkZvbnRGYW1pbHkpOgorICAgICAgICAo
V2ViQ29yZTo6U2V0dGluZ3M6OnNhbnNTZXJpZkZvbnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29y
ZTo6U2V0dGluZ3M6OnNldFNhbnNTZXJpZkZvbnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6
U2V0dGluZ3M6OmN1cnNpdmVGb250RmFtaWx5KToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdz
OjpzZXRDdXJzaXZlRm9udEZhbWlseSk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6ZmFu
dGFzeUZvbnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldEZhbnRhc3lG
b250RmFtaWx5KToKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmg6IHNldHRlciBhbmQgZ2V0dGVy
IGZvciBGb29Gb250RmFtaWx5IGhhdmUgYSBuZXcgb3B0aW9uYWwgYXJndW1lbnQsIHNjcmlwdENv
ZGUuCisKKz09PT09PT0KIDIwMTEtMDUtMTggIFlpIFNoZW4gIDx5aS40LnNoZW5Abm9raWEuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgkocmV2aXNpb24gODY3ODMpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgkod29ya2luZyBjb3B5KQpAQCAtODQ0LDIyICs4NDQsMjIgQEAgX19aTjdXZWJDb3JlOFNldHRp
bmdzMTZzZXRVc2VzUGFnZUNhY2hlRQogX19aTjdXZWJDb3JlOFNldHRpbmdzMTdzZXRQbHVnaW5z
RW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldERPTVBhc3RlQWxsb3dlZEViCiBf
X1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldERlZmF1bHRGb250U2l6ZUVpCi1fX1pON1dlYkNvcmU4
U2V0dGluZ3MxOHNldEZpeGVkRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFCitfX1pO
N1dlYkNvcmU4U2V0dGluZ3MxOHNldEZpeGVkRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJp
bmdFTlMxXzExVVNjcmlwdENvZGVFCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldE1pbmltdW1G
b250U2l6ZUVpCi1fX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldFNlcmlmRm9udEZhbWlseUVSS04z
V1RGMTJBdG9taWNTdHJpbmdFCitfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldFNlcmlmRm9udEZh
bWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFTlMxXzExVVNjcmlwdENvZGVFCiBfX1pON1dlYkNv
cmU4U2V0dGluZ3MxOHNldFdlYkF1ZGlvRW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3Mx
OW1pbkRPTVRpbWVySW50ZXJ2YWxFdgogX19aTjdXZWJDb3JlOFNldHRpbmdzMTlzZXRTaG93RGVi
dWdCb3JkZXJzRWIKLV9fWk43V2ViQ29yZThTZXR0aW5nczIwc2V0Q3Vyc2l2ZUZvbnRGYW1pbHlF
UktOM1dURjEyQXRvbWljU3RyaW5nRQotX19aTjdXZWJDb3JlOFNldHRpbmdzMjBzZXRGYW50YXN5
Rm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFCitfX1pON1dlYkNvcmU4U2V0dGluZ3My
MHNldEN1cnNpdmVGb250RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0VOUzFfMTFVU2NyaXB0
Q29kZUUKK19fWk43V2ViQ29yZThTZXR0aW5nczIwc2V0RmFudGFzeUZvbnRGYW1pbHlFUktOM1dU
RjEyQXRvbWljU3RyaW5nRU5TMV8xMVVTY3JpcHRDb2RlRQogX19aTjdXZWJDb3JlOFNldHRpbmdz
MjBzZXRKYXZhU2NyaXB0RW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMHNldFhTU0F1
ZGl0b3JFbmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczIxc2V0U2hvd1JlcGFpbnRDb3Vu
dGVyRWIKLV9fWk43V2ViQ29yZThTZXR0aW5nczIxc2V0U3RhbmRhcmRGb250RmFtaWx5RVJLTjNX
VEYxMkF0b21pY1N0cmluZ0UKK19fWk43V2ViQ29yZThTZXR0aW5nczIxc2V0U3RhbmRhcmRGb250
RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0VOUzFfMTFVU2NyaXB0Q29kZUUKIF9fWk43V2Vi
Q29yZThTZXR0aW5nczIxc2V0V2ViU2VjdXJpdHlFbmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0
aW5nczIyc2V0TG9jYWxTdG9yYWdlRW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMnNl
dE1pbkRPTVRpbWVySW50ZXJ2YWxFZAotX19aTjdXZWJDb3JlOFNldHRpbmdzMjJzZXRTYW5zU2Vy
aWZGb250RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0UKK19fWk43V2ViQ29yZThTZXR0aW5n
czIyc2V0U2Fuc1NlcmlmRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFTlMxXzExVVNj
cmlwdENvZGVFCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMnNldFNlc3Npb25TdG9yYWdlUXVvdGFF
agogX19aTjdXZWJDb3JlOFNldHRpbmdzMjJzZXRTaG93c1VSTHNJblRvb2xUaXBzRWIKIF9fWk43
V2ViQ29yZThTZXR0aW5nczIzc2V0RGVmYXVsdEZpeGVkRm9udFNpemVFaQpJbmRleDogU291cmNl
L1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL3VuaWNvZGUvVVNjcmlwdENvZGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvdW5pY29kZS9V
U2NyaXB0Q29kZS5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hl
YWRlcnMvd3RmL3VuaWNvZGUvVVNjcmlwdENvZGUuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0
IEBACisjaWZuZGVmIFdlYkNvcmVfRldEX1VTY3JpcHRDb2RlX2gKKyNkZWZpbmUgV2ViQ29yZV9G
V0RfVVNjcmlwdENvZGVfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1VTY3JpcHRDb2RlLmg+
CisjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCShyZXZpc2lvbiA4Njc4MykK
KysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
Miw2ICs1MiwyMiBAQCBzdGF0aWMgdm9pZCBzZXRMb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHlJCiAg
ICAgICAgIGZyYW1lLT5kb2N1bWVudCgpLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5zZXRBdXRv
TG9hZEltYWdlcyhwYWdlLT5zZXR0aW5ncygpLT5sb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkoKSk7
CiB9CiAKK3N0YXRpYyBpbmxpbmUgdm9pZCBzZXRHZW5lcmljRm9udEZhbWlseU1hcChTY3JpcHRG
b250RmFtaWx5TWFwJiBmb250TWFwLCBjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSwgV1RGOjpV
U2NyaXB0Q29kZSBzY3JpcHQsIFBhZ2UqIHBhZ2UpCit7CisgICAgLy8gVVNDUklQVF9JTlZBTElE
X0NPREUgaXMgLTEgYW5kIFVTUklUUF9DT01NT04gaXMgMCwgd2hpY2ggYXJlIHNwZWNpYWwgKGRl
bGV0ZWQgYW5kIGVtcHR5KSBpbiBIYXNoTWFwIHdpdGggaW50IGtleXMuCisgICAgLy8gVG8gYXZv
aWQgdXNpbmcgLTEgYW5kIDAgYXMgYSBrZXksIHdlIGFkZCAyLgorICAgIGZvbnRNYXAuc2V0KHN0
YXRpY19jYXN0PGludD4oc2NyaXB0KSArIDIsIGZhbWlseSk7CisgICAgcGFnZS0+c2V0TmVlZHNS
ZWNhbGNTdHlsZUluQWxsRnJhbWVzKCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgY29uc3QgQXRvbWlj
U3RyaW5nJiBnZXRHZW5lcmljRm9udEZhbWlseUZvclNjcmlwdChjb25zdCBTY3JpcHRGb250RmFt
aWx5TWFwJiBmb250TWFwLCBXVEY6OlVTY3JpcHRDb2RlIHNjcmlwdCkKK3sKKyAgICBTY3JpcHRG
b250RmFtaWx5TWFwOjpjb25zdF9pdGVyYXRvciBpdCA9IGZvbnRNYXAuZmluZChzdGF0aWNfY2Fz
dDxpbnQ+KHNjcmlwdCkgKyAyKTsKKyAgICBpZiAoaXQgIT0gZm9udE1hcC5lbmQoKSkKKyAgICAg
ICAgcmV0dXJuIGl0LT5zZWNvbmQ7CisgICAgcmV0dXJuIGVtcHR5QXRvbTsKK30KKwogI2lmIFVT
RShTQUZBUklfVEhFTUUpCiBib29sIFNldHRpbmdzOjpnU2hvdWxkUGFpbnROYXRpdmVDb250cm9s
cyA9IHRydWU7CiAjZW5kaWYKQEAgLTE4OSw1OCArMjA1LDY0IEBAIFNldHRpbmdzOjpTZXR0aW5n
cyhQYWdlKiBwYWdlKQogICAgIEF0b21pY1N0cmluZzo6aW5pdCgpOwogfQogCi12b2lkIFNldHRp
bmdzOjpzZXRTdGFuZGFyZEZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBzdGFuZGFyZEZv
bnRGYW1pbHkpCitjb25zdCBBdG9taWNTdHJpbmcmIFNldHRpbmdzOjpzdGFuZGFyZEZvbnRGYW1p
bHkoV1RGOjpVU2NyaXB0Q29kZSBzY3JpcHQpIGNvbnN0CiB7Ci0gICAgaWYgKHN0YW5kYXJkRm9u
dEZhbWlseSA9PSBtX3N0YW5kYXJkRm9udEZhbWlseSkKLSAgICAgICAgcmV0dXJuOworICAgIHJl
dHVybiBnZXRHZW5lcmljRm9udEZhbWlseUZvclNjcmlwdChtX3N0YW5kYXJkRm9udEZhbWlseU1h
cCwgc2NyaXB0KTsKK30KIAotICAgIG1fc3RhbmRhcmRGb250RmFtaWx5ID0gc3RhbmRhcmRGb250
RmFtaWx5OwotICAgIG1fcGFnZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzKCk7Cit2
b2lkIFNldHRpbmdzOjpzZXRTdGFuZGFyZEZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBm
YW1pbHksIFdURjo6VVNjcmlwdENvZGUgc2NyaXB0KQoreworICAgIHNldEdlbmVyaWNGb250RmFt
aWx5TWFwKG1fc3RhbmRhcmRGb250RmFtaWx5TWFwLCBmYW1pbHksIHNjcmlwdCwgbV9wYWdlKTsK
IH0KIAotdm9pZCBTZXR0aW5nczo6c2V0Rml4ZWRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmlu
ZyYgZml4ZWRGb250RmFtaWx5KQorY29uc3QgQXRvbWljU3RyaW5nJiBTZXR0aW5nczo6Zml4ZWRG
b250RmFtaWx5KFdURjo6VVNjcmlwdENvZGUgc2NyaXB0KSBjb25zdAogewotICAgIGlmIChtX2Zp
eGVkRm9udEZhbWlseSA9PSBmaXhlZEZvbnRGYW1pbHkpCi0gICAgICAgIHJldHVybjsKLSAgICAg
ICAgCi0gICAgbV9maXhlZEZvbnRGYW1pbHkgPSBmaXhlZEZvbnRGYW1pbHk7Ci0gICAgbV9wYWdl
LT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKKyAgICByZXR1cm4gZ2V0R2VuZXJp
Y0ZvbnRGYW1pbHlGb3JTY3JpcHQobV9maXhlZEZvbnRGYW1pbHlNYXAsIHNjcmlwdCk7CiB9CiAK
LXZvaWQgU2V0dGluZ3M6OnNldFNlcmlmRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIHNl
cmlmRm9udEZhbWlseSkKK3ZvaWQgU2V0dGluZ3M6OnNldEZpeGVkRm9udEZhbWlseShjb25zdCBB
dG9taWNTdHJpbmcmIGZhbWlseSwgV1RGOjpVU2NyaXB0Q29kZSBzY3JpcHQpCiB7Ci0gICAgaWYg
KG1fc2VyaWZGb250RmFtaWx5ID09IHNlcmlmRm9udEZhbWlseSkKLSAgICAgICAgcmV0dXJuOwot
ICAgICAgICAKLSAgICBtX3NlcmlmRm9udEZhbWlseSA9IHNlcmlmRm9udEZhbWlseTsKLSAgICBt
X3BhZ2UtPnNldE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcygpOworICAgIHNldEdlbmVyaWNG
b250RmFtaWx5TWFwKG1fZml4ZWRGb250RmFtaWx5TWFwLCBmYW1pbHksIHNjcmlwdCwgbV9wYWdl
KTsKIH0KIAotdm9pZCBTZXR0aW5nczo6c2V0U2Fuc1NlcmlmRm9udEZhbWlseShjb25zdCBBdG9t
aWNTdHJpbmcmIHNhbnNTZXJpZkZvbnRGYW1pbHkpCitjb25zdCBBdG9taWNTdHJpbmcmIFNldHRp
bmdzOjpzZXJpZkZvbnRGYW1pbHkoV1RGOjpVU2NyaXB0Q29kZSBzY3JpcHQpIGNvbnN0CiB7Ci0g
ICAgaWYgKG1fc2Fuc1NlcmlmRm9udEZhbWlseSA9PSBzYW5zU2VyaWZGb250RmFtaWx5KQotICAg
ICAgICByZXR1cm47Ci0gICAgICAgIAotICAgIG1fc2Fuc1NlcmlmRm9udEZhbWlseSA9IHNhbnNT
ZXJpZkZvbnRGYW1pbHk7IAotICAgIG1fcGFnZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJh
bWVzKCk7CisgICAgcmV0dXJuIGdldEdlbmVyaWNGb250RmFtaWx5Rm9yU2NyaXB0KG1fc2VyaWZG
b250RmFtaWx5TWFwLCBzY3JpcHQpOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRDdXJzaXZlRm9u
dEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGN1cnNpdmVGb250RmFtaWx5KQordm9pZCBTZXR0
aW5nczo6c2V0U2VyaWZGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5LCBXVEY6
OlVTY3JpcHRDb2RlIHNjcmlwdCkKIHsKLSAgICBpZiAobV9jdXJzaXZlRm9udEZhbWlseSA9PSBj
dXJzaXZlRm9udEZhbWlseSkKLSAgICAgICAgcmV0dXJuOwotICAgICAgICAKLSAgICBtX2N1cnNp
dmVGb250RmFtaWx5ID0gY3Vyc2l2ZUZvbnRGYW1pbHk7Ci0gICAgbV9wYWdlLT5zZXROZWVkc1Jl
Y2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKKyAgICAgc2V0R2VuZXJpY0ZvbnRGYW1pbHlNYXAobV9z
ZXJpZkZvbnRGYW1pbHlNYXAsIGZhbWlseSwgc2NyaXB0LCBtX3BhZ2UpOwogfQogCi12b2lkIFNl
dHRpbmdzOjpzZXRGYW50YXN5Rm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZhbnRhc3lG
b250RmFtaWx5KQorY29uc3QgQXRvbWljU3RyaW5nJiBTZXR0aW5nczo6c2Fuc1NlcmlmRm9udEZh
bWlseShXVEY6OlVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKIHsKLSAgICBpZiAobV9mYW50YXN5
Rm9udEZhbWlseSA9PSBmYW50YXN5Rm9udEZhbWlseSkKLSAgICAgICAgcmV0dXJuOwotICAgICAg
ICAKLSAgICBtX2ZhbnRhc3lGb250RmFtaWx5ID0gZmFudGFzeUZvbnRGYW1pbHk7Ci0gICAgbV9w
YWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKKyAgICByZXR1cm4gZ2V0R2Vu
ZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQobV9zYW5zU2VyaWZGb250RmFtaWx5TWFwLCBzY3JpcHQp
OworfQorCit2b2lkIFNldHRpbmdzOjpzZXRTYW5zU2VyaWZGb250RmFtaWx5KGNvbnN0IEF0b21p
Y1N0cmluZyYgZmFtaWx5LCBXVEY6OlVTY3JpcHRDb2RlIHNjcmlwdCkKK3sKKyAgICBzZXRHZW5l
cmljRm9udEZhbWlseU1hcChtX3NhbnNTZXJpZkZvbnRGYW1pbHlNYXAsIGZhbWlseSwgc2NyaXB0
LCBtX3BhZ2UpOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIFNldHRpbmdzOjpjdXJzaXZlRm9u
dEZhbWlseShXVEY6OlVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKK3sKKyAgICByZXR1cm4gZ2V0
R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQobV9jdXJzaXZlRm9udEZhbWlseU1hcCwgc2NyaXB0
KTsKK30KKwordm9pZCBTZXR0aW5nczo6c2V0Q3Vyc2l2ZUZvbnRGYW1pbHkoY29uc3QgQXRvbWlj
U3RyaW5nJiBmYW1pbHksIFdURjo6VVNjcmlwdENvZGUgc2NyaXB0KQoreworICAgIHNldEdlbmVy
aWNGb250RmFtaWx5TWFwKG1fY3Vyc2l2ZUZvbnRGYW1pbHlNYXAsIGZhbWlseSwgc2NyaXB0LCBt
X3BhZ2UpOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIFNldHRpbmdzOjpmYW50YXN5Rm9udEZh
bWlseShXVEY6OlVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKK3sKKyAgICByZXR1cm4gZ2V0R2Vu
ZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQobV9mYW50YXN5Rm9udEZhbWlseU1hcCwgc2NyaXB0KTsK
K30KKwordm9pZCBTZXR0aW5nczo6c2V0RmFudGFzeUZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3Ry
aW5nJiBmYW1pbHksIFdURjo6VVNjcmlwdENvZGUgc2NyaXB0KQoreworICAgIHNldEdlbmVyaWNG
b250RmFtaWx5TWFwKG1fZmFudGFzeUZvbnRGYW1pbHlNYXAsIGZhbWlseSwgc2NyaXB0LCBtX3Bh
Z2UpOwogfQogCiB2b2lkIFNldHRpbmdzOjpzZXRNaW5pbXVtRm9udFNpemUoaW50IG1pbmltdW1G
b250U2l6ZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgJKHJldmlzaW9uIDg2NzgzKQorKysg
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICsz
MSwxMCBAQAogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSAiS1VSTC5o
IgogI2luY2x1ZGUgIlRpbWVyLmgiCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJp
bmdIYXNoLmg+CisjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVVNjcmlwdENvZGUuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCkBAIC01MSwyOCArNTQsMzAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICBUZXh0RGlyZWN0aW9uU3VibWVudUFsd2F5c0luY2x1ZGVkCiAgICAgfTsKIAorICAg
IHR5cGVkZWYgSGFzaE1hcDxpbnQsIEF0b21pY1N0cmluZz4gU2NyaXB0Rm9udEZhbWlseU1hcDsK
KwogICAgIGNsYXNzIFNldHRpbmdzIHsKICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2V0
dGluZ3MpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFNl
dHRpbmdzKFBhZ2UqKTsKIAotICAgICAgICB2b2lkIHNldFN0YW5kYXJkRm9udEZhbWlseShjb25z
dCBBdG9taWNTdHJpbmcmKTsKLSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBzdGFuZGFyZEZv
bnRGYW1pbHkoKSBjb25zdCB7IHJldHVybiBtX3N0YW5kYXJkRm9udEZhbWlseTsgfQorICAgICAg
ICB2b2lkIHNldFN0YW5kYXJkRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmLCBXVEY6OlVT
Y3JpcHRDb2RlID0gV1RGOjpVU0NSSVBUX0NPTU1PTik7CisgICAgICAgIGNvbnN0IEF0b21pY1N0
cmluZyYgc3RhbmRhcmRGb250RmFtaWx5KFdURjo6VVNjcmlwdENvZGUgPSBXVEY6OlVTQ1JJUFRf
Q09NTU9OKSBjb25zdDsKIAotICAgICAgICB2b2lkIHNldEZpeGVkRm9udEZhbWlseShjb25zdCBB
dG9taWNTdHJpbmcmKTsKLSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBmaXhlZEZvbnRGYW1p
bHkoKSBjb25zdCB7IHJldHVybiBtX2ZpeGVkRm9udEZhbWlseTsgfQorICAgICAgICB2b2lkIHNl
dEZpeGVkRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmLCBXVEY6OlVTY3JpcHRDb2RlID0g
V1RGOjpVU0NSSVBUX0NPTU1PTik7CisgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgZml4ZWRG
b250RmFtaWx5KFdURjo6VVNjcmlwdENvZGUgPSBXVEY6OlVTQ1JJUFRfQ09NTU9OKSBjb25zdDsK
IAotICAgICAgICB2b2lkIHNldFNlcmlmRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmKTsK
LSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBzZXJpZkZvbnRGYW1pbHkoKSBjb25zdCB7IHJl
dHVybiBtX3NlcmlmRm9udEZhbWlseTsgfQorICAgICAgICB2b2lkIHNldFNlcmlmRm9udEZhbWls
eShjb25zdCBBdG9taWNTdHJpbmcmLCBXVEY6OlVTY3JpcHRDb2RlID0gV1RGOjpVU0NSSVBUX0NP
TU1PTik7CisgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgc2VyaWZGb250RmFtaWx5KFdURjo6
VVNjcmlwdENvZGUgPSBXVEY6OlVTQ1JJUFRfQ09NTU9OKSBjb25zdDsKIAotICAgICAgICB2b2lk
IHNldFNhbnNTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJik7Ci0gICAgICAgIGNv
bnN0IEF0b21pY1N0cmluZyYgc2Fuc1NlcmlmRm9udEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1f
c2Fuc1NlcmlmRm9udEZhbWlseTsgfQorICAgICAgICB2b2lkIHNldFNhbnNTZXJpZkZvbnRGYW1p
bHkoY29uc3QgQXRvbWljU3RyaW5nJiwgV1RGOjpVU2NyaXB0Q29kZSA9IFdURjo6VVNDUklQVF9D
T01NT04pOworICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHNhbnNTZXJpZkZvbnRGYW1pbHko
V1RGOjpVU2NyaXB0Q29kZSA9IFdURjo6VVNDUklQVF9DT01NT04pIGNvbnN0OwogCi0gICAgICAg
IHZvaWQgc2V0Q3Vyc2l2ZUZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJik7Ci0gICAgICAg
IGNvbnN0IEF0b21pY1N0cmluZyYgY3Vyc2l2ZUZvbnRGYW1pbHkoKSBjb25zdCB7IHJldHVybiBt
X2N1cnNpdmVGb250RmFtaWx5OyB9CisgICAgICAgIHZvaWQgc2V0Q3Vyc2l2ZUZvbnRGYW1pbHko
Y29uc3QgQXRvbWljU3RyaW5nJiwgV1RGOjpVU2NyaXB0Q29kZSA9IFdURjo6VVNDUklQVF9DT01N
T04pOworICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGN1cnNpdmVGb250RmFtaWx5KFdURjo6
VVNjcmlwdENvZGUgPSBXVEY6OlVTQ1JJUFRfQ09NTU9OKSBjb25zdDsKIAotICAgICAgICB2b2lk
IHNldEZhbnRhc3lGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYpOwotICAgICAgICBjb25z
dCBBdG9taWNTdHJpbmcmIGZhbnRhc3lGb250RmFtaWx5KCkgY29uc3QgeyByZXR1cm4gbV9mYW50
YXN5Rm9udEZhbWlseTsgfQorICAgICAgICB2b2lkIHNldEZhbnRhc3lGb250RmFtaWx5KGNvbnN0
IEF0b21pY1N0cmluZyYsIFdURjo6VVNjcmlwdENvZGUgPSBXVEY6OlVTQ1JJUFRfQ09NTU9OKTsK
KyAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBmYW50YXN5Rm9udEZhbWlseShXVEY6OlVTY3Jp
cHRDb2RlID0gV1RGOjpVU0NSSVBUX0NPTU1PTikgY29uc3Q7CiAKICAgICAgICAgdm9pZCBzZXRN
aW5pbXVtRm9udFNpemUoaW50KTsKICAgICAgICAgaW50IG1pbmltdW1Gb250U2l6ZSgpIGNvbnN0
IHsgcmV0dXJuIG1fbWluaW11bUZvbnRTaXplOyB9CkBAIC00MTUsMTIgKzQyMCwxMiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFN0cmluZyBtX2Z0cERpcmVjdG9yeVRlbXBsYXRlUGF0
aDsKICAgICAgICAgU3RyaW5nIG1fbG9jYWxTdG9yYWdlRGF0YWJhc2VQYXRoOwogICAgICAgICBL
VVJMIG1fdXNlclN0eWxlU2hlZXRMb2NhdGlvbjsKLSAgICAgICAgQXRvbWljU3RyaW5nIG1fc3Rh
bmRhcmRGb250RmFtaWx5OwotICAgICAgICBBdG9taWNTdHJpbmcgbV9maXhlZEZvbnRGYW1pbHk7
Ci0gICAgICAgIEF0b21pY1N0cmluZyBtX3NlcmlmRm9udEZhbWlseTsKLSAgICAgICAgQXRvbWlj
U3RyaW5nIG1fc2Fuc1NlcmlmRm9udEZhbWlseTsKLSAgICAgICAgQXRvbWljU3RyaW5nIG1fY3Vy
c2l2ZUZvbnRGYW1pbHk7Ci0gICAgICAgIEF0b21pY1N0cmluZyBtX2ZhbnRhc3lGb250RmFtaWx5
OworICAgICAgICBTY3JpcHRGb250RmFtaWx5TWFwIG1fc3RhbmRhcmRGb250RmFtaWx5TWFwOwor
ICAgICAgICBTY3JpcHRGb250RmFtaWx5TWFwIG1fc2VyaWZGb250RmFtaWx5TWFwOworICAgICAg
ICBTY3JpcHRGb250RmFtaWx5TWFwIG1fZml4ZWRGb250RmFtaWx5TWFwOworICAgICAgICBTY3Jp
cHRGb250RmFtaWx5TWFwIG1fc2Fuc1NlcmlmRm9udEZhbWlseU1hcDsKKyAgICAgICAgU2NyaXB0
Rm9udEZhbWlseU1hcCBtX2N1cnNpdmVGb250RmFtaWx5TWFwOworICAgICAgICBTY3JpcHRGb250
RmFtaWx5TWFwIG1fZmFudGFzeUZvbnRGYW1pbHlNYXA7CiAgICAgICAgIEVkaXRhYmxlTGlua0Jl
aGF2aW9yIG1fZWRpdGFibGVMaW5rQmVoYXZpb3I7CiAgICAgICAgIFRleHREaXJlY3Rpb25TdWJt
ZW51SW5jbHVzaW9uQmVoYXZpb3IgbV90ZXh0RGlyZWN0aW9uU3VibWVudUluY2x1c2lvbkJlaGF2
aW9yOwogICAgICAgICBpbnQgbV9taW5pbXVtRm9udFNpemU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94023</attachid>
            <date>2011-05-18 18:31:54 -0700</date>
            <delta_ts>2011-05-18 18:37:18 -0700</delta_ts>
            <desc>update to the trunk </desc>
            <filename>20797.patch.6a</filename>
            <type>text/plain</type>
            <size>31500</size>
            <attacher name="Jungshik Shin">jshin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODY4MTApCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTEtMDUtMTggIEp1bmdzaGlrIFNoaW4gIDxqc2hpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFVTY3JpcHRDb2Rl
LmggdG8gd3RmL3VuaWNvZGUgYW5kIG1ha2UgbmVjZXNzYXJ5IGNoYW5nZXMgaW4gYnVpbGQgZmls
ZXMuCisgICAgICAgIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzk3
CisKKyAgICAgICAgWGNvZGUgYnVpbGQgZmlsZSBjaGFuZ2UgaXMgZml4ZWQgYnkgTWF0dCBGYWxr
ZW5oYWdlbiA8ZmFsa2VuQGNocm9taXVtLm9yZz4KKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0
LmFtOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLmd5cGk6CisgICAgICAgICogSmF2YVNjcmlw
dENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogd3RmL3VuaWNvZGUvVVNjcmlwdENv
ZGUuaDogVVNjcmlwdENvZGUgZW51bSBhZGRlZC4KKwogMjAxMS0wNS0xOCAgT2xpdmVyIEh1bnQg
IDxvbGl2ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEdhdmluIEJhcnJhY2xv
dWdoLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHJl
dmlzaW9uIDg2ODEwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0JKHdvcmtpbmcgY29weSkKQEAgLTU1NCw2ICs1NTQsNyBAQCBqYXZhc2NyaXB0Y29yZV9zb3Vy
Y2VzICs9IFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3JEZWZh
dWx0LmNwcCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0NvbGxhdG9yLmgg
XAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Vbmljb2RlLmggXAorCVNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9VU2NyaXB0Q29kZS5oIFwKIAlTb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvVVRGOC5jcHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvdW5pY29kZS9VVEY4LmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVW51c2Vk
UGFyYW0uaCBcCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lw
aQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lw
aQkocmV2aXNpb24gODY4MTApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMjMwLDYgKzIzMCw3IEBACiAgICAgICAgICAgICAn
d3RmL3RleHQvV1RGU3RyaW5nLmgnLAogICAgICAgICAgICAgJ3d0Zi91bmljb2RlL0NoYXJhY3Rl
ck5hbWVzLmgnLAogICAgICAgICAgICAgJ3d0Zi91bmljb2RlL0NvbGxhdG9yLmgnLAorICAgICAg
ICAgICAgJ3d0Zi91bmljb2RlL1VTY3JpcHRDb2RlLmgnLAogICAgICAgICAgICAgJ3d0Zi91bmlj
b2RlL1VURjguaCcsCiAgICAgICAgICAgICAnd3RmL3VuaWNvZGUvVW5pY29kZS5oJywKICAgICAg
ICAgICAgICd3dGYvdW5pY29kZS9pY3UvVW5pY29kZUljdS5oJywKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RG
LnZjcHJvagkocmV2aXNpb24gODY4MTApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00MTYsNiAr
NDE2LDEwIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXC4uXHd0Zlx1bmljb2RlXFVTY3JpcHRDb2RlLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJ
PEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHd0Zlx1bmljb2RlXFVURjguY3BwIgogCQkJ
CT4KIAkJCTwvRmlsZT4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lv
biA4NjgxMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yMjQsNiArMjI0LDcgQEAKIAkJ
NjVFMUEzREYxMjJCODk0NTAwQjI2MDk3IC8qIE5vbkNvcHlpbmdTb3J0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NUUxQTJGNDEyMkI4ODBEMDBCMjYw
OTcgLyogTm9uQ29weWluZ1NvcnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk2NUZERTQ5QzBCREQxRDRBMDBFODAxMTEgLyogQXNzZXJ0aW9ucy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NUUyMTdC
ODA4RTdFRUNDMDAyM0U1RjYgLyogQXNzZXJ0aW9ucy5jcHAgKi87IH07CiAJCTcxODZBNkVDMTMx
MDBCQTUwMDQ0NzlFMSAvKiBIZXhOdW1iZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDcxODZBNkU4MTMxMDBCNTcwMDQ0NzlFMSAvKiBIZXhOdW1iZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk3NjA2
QUI0QjEzN0NERTg0MDA2MkQxOUYgLyogVVNjcmlwdENvZGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2MDZBQjFFMTM3Q0NBQUIwMDYyRDE5RiAvKiBV
U2NyaXB0Q29kZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTcxREE5RDgyMTM0RjNGM0QwMEI3NjdFNyAvKiBTdHJpbmdPcGVyYXRvcnMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxOEE4NDgyMTM0RjNB
MTIwMEI4NzUyOSAvKiBTdHJpbmdPcGVyYXRvcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3NkZCOUYwRjEyRTg1MTg2MDA1MUEyRUIgLyogU0hB
MS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzZGQjlG
MEUxMkU4NTE4NjAwNTFBMkVCIC8qIFNIQTEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk3NkZCOUYxMTEyRTg1MTk2MDA1MUEyRUIgLyogU0hBMS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NkZCOUYx
MDEyRTg1MTk2MDA1MUEyRUIgLyogU0hBMS5jcHAgKi87IH07CkBAIC05MDMsNiArOTA0LDcgQEAK
IAkJNjVFQTczNjMwQkFFMzVEMTAwMUJCNTYwIC8qIENvbW1vbklkZW50aWZpZXJzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb21tb25JZGVudGlmaWVycy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk3MDRGRDM1MzA1Njk3RTZEMDAzREJFRDkgLyogQm9vbGVh
bk9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBCb29sZWFuT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0g
ODsgfTsKIAkJNzE4NkE2RTgxMzEwMEI1NzAwNDQ3OUUxIC8qIEhleE51bWJlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIZXhOdW1iZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNzYwNkFCMUUxMzdDQ0FBQjAwNjJEMTlGIC8qIFVTY3JpcHRDb2RlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFVTY3JpcHRDb2RlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTcxOEE4NDgyMTM0RjNBMTIwMEI4NzUyOSAvKiBTdHJpbmdPcGVy
YXRvcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gU3RyaW5nT3BlcmF0b3Jz
Lmg7IHBhdGggPSB0ZXh0L1N0cmluZ09wZXJhdG9ycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3NkZCOUYwRTEyRTg1MTg2MDA1MUEyRUIgLyogU0hBMS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTSEExLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTc2RkI5RjEwMTJFODUxOTYwMDUxQTJFQiAvKiBTSEExLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFNIQTEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMjE1NCw2ICsyMTU2LDcgQEAKIAkJCQlFMUE4NjJBQTBEN0VCQjdEMDAxRUM2QUEgLyogQ29s
bGF0b3IuaCAqLywKIAkJCQlFMUE4NjJENTBEN0YyQjVDMDAxRUM2QUEgLyogQ29sbGF0b3JEZWZh
dWx0LmNwcCAqLywKIAkJCQlFMTk1Njc5NDA5RTdDRjEyMDBCODlEMTMgLyogVW5pY29kZS5oICov
LAorCQkJCTc2MDZBQjFFMTM3Q0NBQUIwMDYyRDE5RiAvKiBVU2NyaXB0Q29kZS5oICovLAogCQkJ
CUUxRUY3OUE4MENFOTdCQTYwMDg4RDUwMCAvKiBVVEY4LmNwcCAqLywKIAkJCQlFMUVGNzlBOTBD
RTk3QkE2MDA4OEQ1MDAgLyogVVRGOC5oICovLAogCQkJKTsKQEAgLTI1MDIsNiArMjUwNSw3IEBA
CiAJCQkJQkMxOEM0NzMwRTE2RjVDRDAwQjM0NDYwIC8qIFVuaWNvZGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDMThDNDc0MEUxNkY1Q0QwMEIzNDQ2MCAvKiBVbmljb2RlSWN1LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzE4QzQ3NTBFMTZGNUNEMDBCMzQ0NjAgLyogVW51c2VkUGFyYW0uaCBpbiBI
ZWFkZXJzICovLAorCQkJCTc2MDZBQjRCMTM3Q0RFODQwMDYyRDE5RiAvKiBVU2NyaXB0Q29kZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0NzYwRTE2RjVDRDAwQjM0NDYwIC8qIFVTdHJpbmcu
aCBpbiBIZWFkZXJzICovLAogCQkJCTA4RERBNUMxMTI2NDYzMTcwMDc1MTczMiAvKiBVU3RyaW5n
QnVpbGRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0NzcwRTE2RjVDRDAwQjM0NDYwIC8q
IFVURjguaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9D
TWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0NN
YWtlTGlzdHMudHh0CShyZXZpc2lvbiA4NjgxMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTExMCw2ICsxMTAsNyBAQCBTRVQo
V1RGX0hFQURFUlMKICAgICB1bmljb2RlL0NvbGxhdG9yLmgKICAgICB1bmljb2RlL1VURjguaAog
ICAgIHVuaWNvZGUvVW5pY29kZS5oCisgICAgdW5pY29kZS9VU2NyaXB0Q29kZS5oCiApCiAKIFNF
VChXVEZfU09VUkNFUwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1VT
Y3JpcHRDb2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmlj
b2RlL1VTY3JpcHRDb2RlLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL3VuaWNvZGUvVVNjcmlwdENvZGUuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMjcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKGMpIDE5OTUtMjAxMSBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1h
Y2hpbmVzIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMKKyAqCisgKiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0
byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKKyAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFz
c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICogdG8gZGVh
bCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQg
bGltaXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1
Ymxpc2gsIGRpc3RyaWJ1dGUsIGFuZC9vciBzZWxsCisgKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJl
LCBhbmQgdG8gcGVybWl0IHBlcnNvbnMKKyAqIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5p
c2hlZCB0byBkbyBzbywgcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UocykgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyIGluIGFsbCBjb3BpZXMKKyAq
IG9mIHRoZSBTb2Z0d2FyZSBhbmQgdGhhdCBib3RoIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
KHMpIGFuZCB0aGlzCisgKiBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gc3VwcG9ydGluZyBk
b2N1bWVudGF0aW9uLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBX
SVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SIElNUExJRUQsIAorICogSU5D
TFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFksIEZJVE5FU1MgRk9SIEEKKyAqIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VN
RU5UIE9GIFRISVJEIFBBUlRZIFJJR0hUUy4gSU4gTk8gRVZFTlQgU0hBTEwKKyAqIFRIRSBDT1BZ
UklHSFQgSE9MREVSIE9SIEhPTERFUlMgSU5DTFVERUQgSU4gVEhJUyBOT1RJQ0UgQkUgTElBQkxF
IEZPUiBBTlkgQ0xBSU0sCisgKiBPUiBBTlkgU1BFQ0lBTCBJTkRJUkVDVCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMsIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIKKyAqIFJFU1VMVElORyBGUk9N
IExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENP
TlRSQUNULAorICogTkVHTElHRU5DRSBPUiBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcg
T1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyAqIFVTRSBPUiBQRVJGT1JNQU5DRSBP
RiBUSElTIFNPRlRXQVJFLgorICoKKyAqIEV4Y2VwdCBhcyBjb250YWluZWQgaW4gdGhpcyBub3Rp
Y2UsIHRoZSBuYW1lIG9mIGEgY29weXJpZ2h0IGhvbGRlciBzaGFsbCBub3QgYmUKKyAqIHVzZWQg
aW4gYWR2ZXJ0aXNpbmcgb3Igb3RoZXJ3aXNlIHRvIHByb21vdGUgdGhlIHNhbGUsIHVzZSBvciBv
dGhlciBkZWFsaW5ncyBpbgorICogdGhpcyBTb2Z0d2FyZSB3aXRob3V0IHByaW9yIHdyaXR0ZW4g
YXV0aG9yaXphdGlvbiBvZiB0aGUgY29weXJpZ2h0IGhvbGRlci4KKyAqLworCisjaWZuZGVmIFdU
Rl9VU2NyaXB0Q29kZV9oCisjZGVmaW5lIFdURl9VU2NyaXB0Q29kZV9oCisKK25hbWVzcGFjZSBX
VEYgeworCitlbnVtIFVTY3JpcHRDb2RlIHsKKyAgICAgIFVTQ1JJUFRfSU5WQUxJRF9DT0RFID0g
LTEsCisgICAgICBVU0NSSVBUX0NPTU1PTiAgICAgICA9ICAwLCAgLyogWnl5eSAqLworICAgICAg
VVNDUklQVF9JTkhFUklURUQgICAgPSAgMSwgIC8qIFppbmggKi8gLyogIkNvZGUgZm9yIGluaGVy
aXRlZCBzY3JpcHQiLCBmb3Igbm9uLXNwYWNpbmcgY29tYmluaW5nIG1hcmtzOyBhbHNvIFFhYWkg
Ki8KKyAgICAgIFVTQ1JJUFRfQVJBQklDICAgICAgID0gIDIsICAvKiBBcmFiICovCisgICAgICBV
U0NSSVBUX0FSTUVOSUFOICAgICA9ICAzLCAgLyogQXJtbiAqLworICAgICAgVVNDUklQVF9CRU5H
QUxJICAgICAgPSAgNCwgIC8qIEJlbmcgKi8KKyAgICAgIFVTQ1JJUFRfQk9QT01PRk8gICAgID0g
IDUsICAvKiBCb3BvICovCisgICAgICBVU0NSSVBUX0NIRVJPS0VFICAgICA9ICA2LCAgLyogQ2hl
ciAqLworICAgICAgVVNDUklQVF9DT1BUSUMgICAgICAgPSAgNywgIC8qIENvcHQgKi8KKyAgICAg
IFVTQ1JJUFRfQ1lSSUxMSUMgICAgID0gIDgsICAvKiBDeXJsICovCisgICAgICBVU0NSSVBUX0RF
U0VSRVQgICAgICA9ICA5LCAgLyogRHNydCAqLworICAgICAgVVNDUklQVF9ERVZBTkFHQVJJICAg
PSAxMCwgIC8qIERldmEgKi8KKyAgICAgIFVTQ1JJUFRfRVRISU9QSUMgICAgID0gMTEsICAvKiBF
dGhpICovCisgICAgICBVU0NSSVBUX0dFT1JHSUFOICAgICA9IDEyLCAgLyogR2VvciAqLworICAg
ICAgVVNDUklQVF9HT1RISUMgICAgICAgPSAxMywgIC8qIEdvdGggKi8KKyAgICAgIFVTQ1JJUFRf
R1JFRUsgICAgICAgID0gMTQsICAvKiBHcmVrICovCisgICAgICBVU0NSSVBUX0dVSkFSQVRJICAg
ICA9IDE1LCAgLyogR3VqciAqLworICAgICAgVVNDUklQVF9HVVJNVUtISSAgICAgPSAxNiwgIC8q
IEd1cnUgKi8KKyAgICAgIFVTQ1JJUFRfSEFOICAgICAgICAgID0gMTcsICAvKiBIYW5pICovCisg
ICAgICBVU0NSSVBUX0hBTkdVTCAgICAgICA9IDE4LCAgLyogSGFuZyAqLworICAgICAgVVNDUklQ
VF9IRUJSRVcgICAgICAgPSAxOSwgIC8qIEhlYnIgKi8KKyAgICAgIFVTQ1JJUFRfSElSQUdBTkEg
ICAgID0gMjAsICAvKiBIaXJhICovCisgICAgICBVU0NSSVBUX0tBTk5BREEgICAgICA9IDIxLCAg
LyogS25kYSAqLworICAgICAgVVNDUklQVF9LQVRBS0FOQSAgICAgPSAyMiwgIC8qIEthbmEgKi8K
KyAgICAgIFVTQ1JJUFRfS0hNRVIgICAgICAgID0gMjMsICAvKiBLaG1yICovCisgICAgICBVU0NS
SVBUX0xBTyAgICAgICAgICA9IDI0LCAgLyogTGFvbyAqLworICAgICAgVVNDUklQVF9MQVRJTiAg
ICAgICAgPSAyNSwgIC8qIExhdG4gKi8KKyAgICAgIFVTQ1JJUFRfTUFMQVlBTEFNICAgID0gMjYs
ICAvKiBNbHltICovCisgICAgICBVU0NSSVBUX01PTkdPTElBTiAgICA9IDI3LCAgLyogTW9uZyAq
LworICAgICAgVVNDUklQVF9NWUFOTUFSICAgICAgPSAyOCwgIC8qIE15bXIgKi8KKyAgICAgIFVT
Q1JJUFRfT0dIQU0gICAgICAgID0gMjksICAvKiBPZ2FtICovCisgICAgICBVU0NSSVBUX09MRF9J
VEFMSUMgICA9IDMwLCAgLyogSXRhbCAqLworICAgICAgVVNDUklQVF9PUklZQSAgICAgICAgPSAz
MSwgIC8qIE9yeWEgKi8KKyAgICAgIFVTQ1JJUFRfUlVOSUMgICAgICAgID0gMzIsICAvKiBSdW5y
ICovCisgICAgICBVU0NSSVBUX1NJTkhBTEEgICAgICA9IDMzLCAgLyogU2luaCAqLworICAgICAg
VVNDUklQVF9TWVJJQUMgICAgICAgPSAzNCwgIC8qIFN5cmMgKi8KKyAgICAgIFVTQ1JJUFRfVEFN
SUwgICAgICAgID0gMzUsICAvKiBUYW1sICovCisgICAgICBVU0NSSVBUX1RFTFVHVSAgICAgICA9
IDM2LCAgLyogVGVsdSAqLworICAgICAgVVNDUklQVF9USEFBTkEgICAgICAgPSAzNywgIC8qIFRo
YWEgKi8KKyAgICAgIFVTQ1JJUFRfVEhBSSAgICAgICAgID0gMzgsICAvKiBUaGFpICovCisgICAg
ICBVU0NSSVBUX1RJQkVUQU4gICAgICA9IDM5LCAgLyogVGlidCAqLworICAgICAgLyoqIENhbmFk
aWFuX0Fib3JpZ2luYWwgc2NyaXB0LiBAc3RhYmxlIElDVSAyLjYgKi8KKyAgICAgIFVTQ1JJUFRf
Q0FOQURJQU5fQUJPUklHSU5BTCA9IDQwLCAgLyogQ2FucyAqLworICAgICAgLyoqIENhbmFkaWFu
X0Fib3JpZ2luYWwgc2NyaXB0IChhbGlhcykuIEBzdGFibGUgSUNVIDIuMiAqLworICAgICAgVVND
UklQVF9VQ0FTICAgICAgICAgPSBVU0NSSVBUX0NBTkFESUFOX0FCT1JJR0lOQUwsCisgICAgICBV
U0NSSVBUX1lJICAgICAgICAgICA9IDQxLCAgLyogWWlpaSAqLworICAgICAgVVNDUklQVF9UQUdB
TE9HICAgICAgPSA0MiwgIC8qIFRnbGcgKi8KKyAgICAgIFVTQ1JJUFRfSEFOVU5PTyAgICAgID0g
NDMsICAvKiBIYW5vICovCisgICAgICBVU0NSSVBUX0JVSElEICAgICAgICA9IDQ0LCAgLyogQnVo
ZCAqLworICAgICAgVVNDUklQVF9UQUdCQU5XQSAgICAgPSA0NSwgIC8qIFRhZ2IgKi8KKworICAg
ICAgLyogTmV3IHNjcmlwdHMgaW4gVW5pY29kZSA0IEBzdGFibGUgSUNVIDIuNiAqLworICAgICAg
VVNDUklQVF9CUkFJTExFICAgICAgPSA0NiwgIC8qIEJyYWkgKi8KKyAgICAgIFVTQ1JJUFRfQ1lQ
UklPVCAgICAgID0gNDcsICAvKiBDcHJ0ICovCisgICAgICBVU0NSSVBUX0xJTUJVICAgICAgICA9
IDQ4LCAgLyogTGltYiAqLworICAgICAgVVNDUklQVF9MSU5FQVJfQiAgICAgPSA0OSwgIC8qIExp
bmIgKi8KKyAgICAgIFVTQ1JJUFRfT1NNQU5ZQSAgICAgID0gNTAsICAvKiBPc21hICovCisgICAg
ICBVU0NSSVBUX1NIQVZJQU4gICAgICA9IDUxLCAgLyogU2hhdyAqLworICAgICAgVVNDUklQVF9U
QUlfTEUgICAgICAgPSA1MiwgIC8qIFRhbGUgKi8KKyAgICAgIFVTQ1JJUFRfVUdBUklUSUMgICAg
ID0gNTMsICAvKiBVZ2FyICovCisKKyAgICAgIC8qKiBOZXcgc2NyaXB0IGNvZGUgaW4gVW5pY29k
ZSA0LjAuMSBAc3RhYmxlIElDVSAzLjAgKi8KKyAgICAgIFVTQ1JJUFRfS0FUQUtBTkFfT1JfSElS
QUdBTkEgPSA1NCwvKkhya3QgKi8KKworICAgICAgLyogTmV3IHNjcmlwdHMgaW4gVW5pY29kZSA0
LjEgQHN0YWJsZSBJQ1UgMy40ICovCisgICAgICBVU0NSSVBUX0JVR0lORVNFICAgICAgPSA1NSwg
LyogQnVnaSAqLworICAgICAgVVNDUklQVF9HTEFHT0xJVElDICAgID0gNTYsIC8qIEdsYWcgKi8K
KyAgICAgIFVTQ1JJUFRfS0hBUk9TSFRISSAgICA9IDU3LCAvKiBLaGFyICovCisgICAgICBVU0NS
SVBUX1NZTE9USV9OQUdSSSAgPSA1OCwgLyogU3lsbyAqLworICAgICAgVVNDUklQVF9ORVdfVEFJ
X0xVRSAgID0gNTksIC8qIFRhbHUgKi8KKyAgICAgIFVTQ1JJUFRfVElGSU5BR0ggICAgICA9IDYw
LCAvKiBUZm5nICovCisgICAgICBVU0NSSVBUX09MRF9QRVJTSUFOICAgPSA2MSwgLyogWHBlbyAq
LworCisgICAgICAvKiBOZXcgc2NyaXB0IGNvZGVzIGZyb20gSVNPIDE1OTI0IEBzdGFibGUgSUNV
IDMuNiAqLworICAgICAgVVNDUklQVF9CQUxJTkVTRSAgICAgICAgICAgICAgICAgICAgICA9IDYy
LCAvKiBCYWxpICovCisgICAgICBVU0NSSVBUX0JBVEFLICAgICAgICAgICAgICAgICAgICAgICAg
ID0gNjMsIC8qIEJhdGsgKi8KKyAgICAgIFVTQ1JJUFRfQkxJU1NZTUJPTFMgICAgICAgICAgICAg
ICAgICAgPSA2NCwgLyogQmxpcyAqLworICAgICAgVVNDUklQVF9CUkFITUkgICAgICAgICAgICAg
ICAgICAgICAgICA9IDY1LCAvKiBCcmFoICovCisgICAgICBVU0NSSVBUX0NIQU0gICAgICAgICAg
ICAgICAgICAgICAgICAgID0gNjYsIC8qIENoYW0gKi8KKyAgICAgIFVTQ1JJUFRfQ0lSVEggICAg
ICAgICAgICAgICAgICAgICAgICAgPSA2NywgLyogQ2lydCAqLworICAgICAgVVNDUklQVF9PTERf
Q0hVUkNIX1NMQVZPTklDX0NZUklMTElDICA9IDY4LCAvKiBDeXJzICovCisgICAgICBVU0NSSVBU
X0RFTU9USUNfRUdZUFRJQU4gICAgICAgICAgICAgID0gNjksIC8qIEVneWQgKi8KKyAgICAgIFVT
Q1JJUFRfSElFUkFUSUNfRUdZUFRJQU4gICAgICAgICAgICAgPSA3MCwgLyogRWd5aCAqLworICAg
ICAgVVNDUklQVF9FR1lQVElBTl9ISUVST0dMWVBIUyAgICAgICAgICA9IDcxLCAvKiBFZ3lwICov
CisgICAgICBVU0NSSVBUX0tIVVRTVVJJICAgICAgICAgICAgICAgICAgICAgID0gNzIsIC8qIEdl
b2sgKi8KKyAgICAgIFVTQ1JJUFRfU0lNUExJRklFRF9IQU4gICAgICAgICAgICAgICAgPSA3Mywg
LyogSGFucyAqLworICAgICAgVVNDUklQVF9UUkFESVRJT05BTF9IQU4gICAgICAgICAgICAgICA9
IDc0LCAvKiBIYW50ICovCisgICAgICBVU0NSSVBUX1BBSEFXSF9ITU9ORyAgICAgICAgICAgICAg
ICAgID0gNzUsIC8qIEhtbmcgKi8KKyAgICAgIFVTQ1JJUFRfT0xEX0hVTkdBUklBTiAgICAgICAg
ICAgICAgICAgPSA3NiwgLyogSHVuZyAqLworICAgICAgVVNDUklQVF9IQVJBUFBBTl9JTkRVUyAg
ICAgICAgICAgICAgICA9IDc3LCAvKiBJbmRzICovCisgICAgICBVU0NSSVBUX0pBVkFORVNFICAg
ICAgICAgICAgICAgICAgICAgID0gNzgsIC8qIEphdmEgKi8KKyAgICAgIFVTQ1JJUFRfS0FZQUhf
TEkgICAgICAgICAgICAgICAgICAgICAgPSA3OSwgLyogS2FsaSAqLworICAgICAgVVNDUklQVF9M
QVRJTl9GUkFLVFVSICAgICAgICAgICAgICAgICA9IDgwLCAvKiBMYXRmICovCisgICAgICBVU0NS
SVBUX0xBVElOX0dBRUxJQyAgICAgICAgICAgICAgICAgID0gODEsIC8qIExhdGcgKi8KKyAgICAg
IFVTQ1JJUFRfTEVQQ0hBICAgICAgICAgICAgICAgICAgICAgICAgPSA4MiwgLyogTGVwYyAqLwor
ICAgICAgVVNDUklQVF9MSU5FQVJfQSAgICAgICAgICAgICAgICAgICAgICA9IDgzLCAvKiBMaW5h
ICovCisgICAgICAvKiogQHN0YWJsZSBJQ1UgNC42ICovCisgICAgICBVU0NSSVBUX01BTkRBSUMg
ICAgICAgICAgICAgICAgICAgICAgID0gODQsIC8qIE1hbmQgKi8KKyAgICAgIC8qKiBAc3RhYmxl
IElDVSAzLjYgKi8KKyAgICAgIFVTQ1JJUFRfTUFOREFFQU4gICAgICAgICAgICAgICAgICAgICAg
PSBVU0NSSVBUX01BTkRBSUMsCisgICAgICBVU0NSSVBUX01BWUFOX0hJRVJPR0xZUEhTICAgICAg
ICAgICAgID0gODUsIC8qIE1heWEgKi8KKyAgICAgIC8qKiBAc3RhYmxlIElDVSA0LjYgKi8KKyAg
ICAgIFVTQ1JJUFRfTUVST0lUSUNfSElFUk9HTFlQSFMgICAgICAgICAgPSA4NiwgLyogTWVybyAq
LworICAgICAgLyoqIEBzdGFibGUgSUNVIDMuNiAqLworICAgICAgVVNDUklQVF9NRVJPSVRJQyAg
ICAgICAgICAgICAgICAgICAgICA9IFVTQ1JJUFRfTUVST0lUSUNfSElFUk9HTFlQSFMsCisgICAg
ICBVU0NSSVBUX05LTyAgICAgICAgICAgICAgICAgICAgICAgICAgID0gODcsIC8qIE5rb28gKi8K
KyAgICAgIFVTQ1JJUFRfT1JLSE9OICAgICAgICAgICAgICAgICAgICAgICAgPSA4OCwgLyogT3Jr
aCAqLworICAgICAgVVNDUklQVF9PTERfUEVSTUlDICAgICAgICAgICAgICAgICAgICA9IDg5LCAv
KiBQZXJtICovCisgICAgICBVU0NSSVBUX1BIQUdTX1BBICAgICAgICAgICAgICAgICAgICAgID0g
OTAsIC8qIFBoYWcgKi8KKyAgICAgIFVTQ1JJUFRfUEhPRU5JQ0lBTiAgICAgICAgICAgICAgICAg
ICAgPSA5MSwgLyogUGhueCAqLworICAgICAgVVNDUklQVF9QSE9ORVRJQ19QT0xMQVJEICAgICAg
ICAgICAgICA9IDkyLCAvKiBQbHJkICovCisgICAgICBVU0NSSVBUX1JPTkdPUk9OR08gICAgICAg
ICAgICAgICAgICAgID0gOTMsIC8qIFJvcm8gKi8KKyAgICAgIFVTQ1JJUFRfU0FSQVRJICAgICAg
ICAgICAgICAgICAgICAgICAgPSA5NCwgLyogU2FyYSAqLworICAgICAgVVNDUklQVF9FU1RSQU5H
RUxPX1NZUklBQyAgICAgICAgICAgICA9IDk1LCAvKiBTeXJlICovCisgICAgICBVU0NSSVBUX1dF
U1RFUk5fU1lSSUFDICAgICAgICAgICAgICAgID0gOTYsIC8qIFN5cmogKi8KKyAgICAgIFVTQ1JJ
UFRfRUFTVEVSTl9TWVJJQUMgICAgICAgICAgICAgICAgPSA5NywgLyogU3lybiAqLworICAgICAg
VVNDUklQVF9URU5HV0FSICAgICAgICAgICAgICAgICAgICAgICA9IDk4LCAvKiBUZW5nICovCisg
ICAgICBVU0NSSVBUX1ZBSSAgICAgICAgICAgICAgICAgICAgICAgICAgID0gOTksIC8qIFZhaWkg
Ki8KKyAgICAgIFVTQ1JJUFRfVklTSUJMRV9TUEVFQ0ggICAgICAgICAgICAgICAgPSAxMDAsLyog
VmlzcCAqLworICAgICAgVVNDUklQVF9DVU5FSUZPUk0gICAgICAgICAgICAgICAgICAgICA9IDEw
MSwvKiBYc3V4ICovCisgICAgICBVU0NSSVBUX1VOV1JJVFRFTl9MQU5HVUFHRVMgICAgICAgICAg
ID0gMTAyLC8qIFp4eHggKi8KKyAgICAgIFVTQ1JJUFRfVU5LTk9XTiAgICAgICAgICAgICAgICAg
ICAgICAgPSAxMDMsLyogWnp6eiAqLyAvKiBVbmtub3duPSJDb2RlIGZvciB1bmNvZGVkIHNjcmlw
dCIsIGZvciB1bmFzc2lnbmVkIGNvZGUgcG9pbnRzICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHQg
Y29kZXMgZnJvbSBJU08gMTU5MjQgQHN0YWJsZSBJQ1UgMy44ICovCisgICAgICBVU0NSSVBUX0NB
UklBTiAgICAgICAgICAgICAgICAgICAgICAgID0gMTA0LC8qIENhcmkgKi8KKyAgICAgIFVTQ1JJ
UFRfSkFQQU5FU0UgICAgICAgICAgICAgICAgICAgICAgPSAxMDUsLyogSnBhbiAqLworICAgICAg
VVNDUklQVF9MQU5OQSAgICAgICAgICAgICAgICAgICAgICAgICA9IDEwNiwvKiBMYW5hICovCisg
ICAgICBVU0NSSVBUX0xZQ0lBTiAgICAgICAgICAgICAgICAgICAgICAgID0gMTA3LC8qIEx5Y2kg
Ki8KKyAgICAgIFVTQ1JJUFRfTFlESUFOICAgICAgICAgICAgICAgICAgICAgICAgPSAxMDgsLyog
THlkaSAqLworICAgICAgVVNDUklQVF9PTF9DSElLSSAgICAgICAgICAgICAgICAgICAgICA9IDEw
OSwvKiBPbGNrICovCisgICAgICBVU0NSSVBUX1JFSkFORyAgICAgICAgICAgICAgICAgICAgICAg
ID0gMTEwLC8qIFJqbmcgKi8KKyAgICAgIFVTQ1JJUFRfU0FVUkFTSFRSQSAgICAgICAgICAgICAg
ICAgICAgPSAxMTEsLyogU2F1ciAqLworICAgICAgVVNDUklQVF9TSUdOX1dSSVRJTkcgICAgICAg
ICAgICAgICAgICA9IDExMiwvKiBTZ253ICovCisgICAgICBVU0NSSVBUX1NVTkRBTkVTRSAgICAg
ICAgICAgICAgICAgICAgID0gMTEzLC8qIFN1bmQgKi8KKyAgICAgIFVTQ1JJUFRfTU9PTiAgICAg
ICAgICAgICAgICAgICAgICAgICAgPSAxMTQsLyogTW9vbiAqLworICAgICAgVVNDUklQVF9NRUlU
RUlfTUFZRUsgICAgICAgICAgICAgICAgICA9IDExNSwvKiBNdGVpICovCisKKyAgICAgIC8qIE5l
dyBzY3JpcHQgY29kZXMgZnJvbSBJU08gMTU5MjQgQHN0YWJsZSBJQ1UgNC4wICovCisgICAgICBV
U0NSSVBUX0lNUEVSSUFMX0FSQU1BSUMgICAgICAgICAgICAgID0gMTE2LC8qIEFybWkgKi8KKyAg
ICAgIFVTQ1JJUFRfQVZFU1RBTiAgICAgICAgICAgICAgICAgICAgICAgPSAxMTcsLyogQXZzdCAq
LworICAgICAgVVNDUklQVF9DSEFLTUEgICAgICAgICAgICAgICAgICAgICAgICA9IDExOCwvKiBD
YWttICovCisgICAgICBVU0NSSVBUX0tPUkVBTiAgICAgICAgICAgICAgICAgICAgICAgID0gMTE5
LC8qIEtvcmUgKi8KKyAgICAgIFVTQ1JJUFRfS0FJVEhJICAgICAgICAgICAgICAgICAgICAgICAg
PSAxMjAsLyogS3RoaSAqLworICAgICAgVVNDUklQVF9NQU5JQ0hBRUFOICAgICAgICAgICAgICAg
ICAgICA9IDEyMSwvKiBNYW5pICovCisgICAgICBVU0NSSVBUX0lOU0NSSVBUSU9OQUxfUEFITEFW
SSAgICAgICAgID0gMTIyLC8qIFBobGkgKi8KKyAgICAgIFVTQ1JJUFRfUFNBTFRFUl9QQUhMQVZJ
ICAgICAgICAgICAgICAgPSAxMjMsLyogUGhscCAqLworICAgICAgVVNDUklQVF9CT09LX1BBSExB
VkkgICAgICAgICAgICAgICAgICA9IDEyNCwvKiBQaGx2ICovCisgICAgICBVU0NSSVBUX0lOU0NS
SVBUSU9OQUxfUEFSVEhJQU4gICAgICAgID0gMTI1LC8qIFBydGkgKi8KKyAgICAgIFVTQ1JJUFRf
U0FNQVJJVEFOICAgICAgICAgICAgICAgICAgICAgPSAxMjYsLyogU2FtciAqLworICAgICAgVVND
UklQVF9UQUlfVklFVCAgICAgICAgICAgICAgICAgICAgICA9IDEyNywvKiBUYXZ0ICovCisgICAg
ICBVU0NSSVBUX01BVEhFTUFUSUNBTF9OT1RBVElPTiAgICAgICAgID0gMTI4LC8qIFptdGggKi8K
KyAgICAgIFVTQ1JJUFRfU1lNQk9MUyAgICAgICAgICAgICAgICAgICAgICAgPSAxMjksLyogWnN5
bSAqLworCisgICAgICAvKiBOZXcgc2NyaXB0IGNvZGVzIGZyb20gSVNPIDE1OTI0IEBzdGFibGUg
SUNVIDQuNCAqLworICAgICAgVVNDUklQVF9CQU1VTSAgICAgICAgICAgICAgICAgICAgICAgICA9
IDEzMCwvKiBCYW11ICovCisgICAgICBVU0NSSVBUX0xJU1UgICAgICAgICAgICAgICAgICAgICAg
ICAgID0gMTMxLC8qIExpc3UgKi8KKyAgICAgIFVTQ1JJUFRfTkFLSElfR0VCQSAgICAgICAgICAg
ICAgICAgICAgPSAxMzIsLyogTmtnYiAqLworICAgICAgVVNDUklQVF9PTERfU09VVEhfQVJBQklB
TiAgICAgICAgICAgICA9IDEzMywvKiBTYXJiICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHQgY29k
ZXMgZnJvbSBJU08gMTU5MjQgQHN0YWJsZSBJQ1UgNC42ICovCisgICAgICBVU0NSSVBUX0JBU1NB
X1ZBSCAgICAgICAgICAgICAgICAgICAgID0gMTM0LC8qIEJhc3MgKi8KKyAgICAgIFVTQ1JJUFRf
RFVQTE9ZQU5fU0hPUlRBTkQgICAgICAgICAgICAgPSAxMzUsLyogRHVwbCAqLworICAgICAgVVND
UklQVF9FTEJBU0FOICAgICAgICAgICAgICAgICAgICAgICA9IDEzNiwvKiBFbGJhICovCisgICAg
ICBVU0NSSVBUX0dSQU5USEEgICAgICAgICAgICAgICAgICAgICAgID0gMTM3LC8qIEdyYW4gKi8K
KyAgICAgIFVTQ1JJUFRfS1BFTExFICAgICAgICAgICAgICAgICAgICAgICAgPSAxMzgsLyogS3Bl
bCAqLworICAgICAgVVNDUklQVF9MT01BICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEzOSwv
KiBMb21hICovCisgICAgICBVU0NSSVBUX01FTkRFICAgICAgICAgICAgICAgICAgICAgICAgID0g
MTQwLC8qIE1lbmQgKi8KKyAgICAgIFVTQ1JJUFRfTUVST0lUSUNfQ1VSU0lWRSAgICAgICAgICAg
ICAgPSAxNDEsLyogTWVyYyAqLworICAgICAgVVNDUklQVF9PTERfTk9SVEhfQVJBQklBTiAgICAg
ICAgICAgICA9IDE0MiwvKiBOYXJiICovCisgICAgICBVU0NSSVBUX05BQkFUQUVBTiAgICAgICAg
ICAgICAgICAgICAgID0gMTQzLC8qIE5iYXQgKi8KKyAgICAgIFVTQ1JJUFRfUEFMTVlSRU5FICAg
ICAgICAgICAgICAgICAgICAgPSAxNDQsLyogUGFsbSAqLworICAgICAgVVNDUklQVF9TSU5ESEkg
ICAgICAgICAgICAgICAgICAgICAgICA9IDE0NSwvKiBTaW5kICovCisgICAgICBVU0NSSVBUX1dB
UkFOR19DSVRJICAgICAgICAgICAgICAgICAgID0gMTQ2LC8qIFdhcmEgKi8KKworICAgICAgLyog
TmV3IHNjcmlwdCBjb2RlcyBmcm9tIElTTyAxNTkyNCBAc3RhYmxlIElDVSA0LjggKi8KKyAgICAg
IFVTQ1JJUFRfQUZBS0EgICAgICAgICAgICAgICAgICAgICAgICAgPSAxNDcsLyogQWZhayAqLwor
ICAgICAgVVNDUklQVF9KVVJDSEVOICAgICAgICAgICAgICAgICAgICAgICA9IDE0OCwvKiBKdXJj
ICovCisgICAgICBVU0NSSVBUX01STyAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTQ5LC8q
IE1yb28gKi8KKyAgICAgIFVTQ1JJUFRfTlVTSFUgICAgICAgICAgICAgICAgICAgICAgICAgPSAx
NTAsLyogTnNodSAqLworICAgICAgVVNDUklQVF9TSEFSQURBICAgICAgICAgICAgICAgICAgICAg
ICA9IDE1MSwvKiBTaHJkICovCisgICAgICBVU0NSSVBUX1NPUkFfU09NUEVORyAgICAgICAgICAg
ICAgICAgID0gMTUyLC8qIFNvcmEgKi8KKyAgICAgIFVTQ1JJUFRfVEFLUkkgICAgICAgICAgICAg
ICAgICAgICAgICAgPSAxNTMsLyogVGFrciAqLworICAgICAgVVNDUklQVF9UQU5HVVQgICAgICAg
ICAgICAgICAgICAgICAgICA9IDE1NCwvKiBUYW5nICovCisgICAgICBVU0NSSVBUX1dPTEVBSSAg
ICAgICAgICAgICAgICAgICAgICAgID0gMTU1LC8qIFdvbGUgKi8KKworICAgICAgLyogUHJpdmF0
ZSB1c2UgY29kZXMgZnJvbSBRYWFhIC0gUWFieCBhcmUgbm90IHN1cHBvcnRlZCAqLworICAgICAg
VVNDUklQVF9DT0RFX0xJTUlUICAgID0gMTQ3Cit9OworCit9CisKKyNlbmRpZgpJbmRleDogU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkocmV2aXNpb24gODY4MTApCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSw0MSBAQAorMjAxMS0wNS0xOCAgSnVuZ3NoaWsgU2hpbiAgPGpz
aGluQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBbGxvdyBnZW5lcmljIGZvbnQgZmFtaWx5IHNldHRpbmdzIHBlciBzY3JpcHQg
Y29kZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
Nzk3CisKKyAgICAgICAgTWFrZSBnZW5lcmljIGZvbnQgZmFtaWx5IGdldHRlcnMvc2V0dGVycyBh
Y2NlcHQgYW4gYWRkaXRpb25hbAorICAgICAgICBhcmd1bWVudCAoc2NyaXB0IGNvZGUpLiBJdCBo
YXMgYSBkZWZhdWx0IHZhbHVlIHNvIHRoYXQgaWYgYW4gZW1iZWRkZXIKKyAgICAgICAgZG9lcyBu
b3QgaGF2ZS93YW50IGEgcGVyLXNjcmlwdCBmb250IGZhbWlseSBzZXR0aW5nLCBjYWxsLXNpdGVz
CisgICAgICAgIGRvbid0IGhhdmUgdG8gYmUgY2hhbmdlZC4KKyAgICAgICAgVGhpcyBpcyB0byBw
cmVwYXJlIGZvciBmaXhpbmcgYnVnIDEwODc0IChmb250IHNlbGVjdGlvbiBpcyBub3QKKyAgICAg
ICAgbGFuZ3VhZ2UtZGVwZW5kZW50KSBhbmQgYnVnIDE4MDg1LgorCisgICAgICAgIFRoZXJlIHNo
b3VsZCBiZSBubyBjaGFuZ2UgaW4gbGF5b3V0IGFuZCBubyBuZXcgbGF5b3V0IHRlc3QKKyAgICAg
ICAgaXMgYWRkZWQuCisKKworICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi91bmljb2Rl
L1VTY3JpcHRDb2RlLmg6IEFkZGVkLgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAg
ICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2V0R2VuZXJpY0ZvbnRG
YW1pbHlNYXApOiBoZWxwZXIgdG8gc2V0IGdlbmVyaWMgZmFtaWx5IHBlcgorCXNjcmlwdAorICAg
ICAgICAoV2ViQ29yZTo6Z2V0R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQpOiBoZWxwZXIgZnVu
Y3Rpb24gdXNlZCBieSBnZXR0ZXJzIGZvciBmb29Gb250RmFtaWx5LgorICAgICAgICAoV2ViQ29y
ZTo6U2V0dGluZ3M6OnN0YW5kYXJkRm9udEZhbWlseSk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0
aW5nczo6c2V0U3RhbmRhcmRGb250RmFtaWx5KToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdz
OjpmaXhlZEZvbnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldEZpeGVk
Rm9udEZhbWlseSk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2VyaWZGb250RmFtaWx5
KToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRTZXJpZkZvbnRGYW1pbHkpOgorICAg
ICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNhbnNTZXJpZkZvbnRGYW1pbHkpOgorICAgICAgICAo
V2ViQ29yZTo6U2V0dGluZ3M6OnNldFNhbnNTZXJpZkZvbnRGYW1pbHkpOgorICAgICAgICAoV2Vi
Q29yZTo6U2V0dGluZ3M6OmN1cnNpdmVGb250RmFtaWx5KToKKyAgICAgICAgKFdlYkNvcmU6OlNl
dHRpbmdzOjpzZXRDdXJzaXZlRm9udEZhbWlseSk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5n
czo6ZmFudGFzeUZvbnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldEZh
bnRhc3lGb250RmFtaWx5KToKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmg6IHNldHRlciBhbmQg
Z2V0dGVyIGZvciBGb29Gb250RmFtaWx5IGhhdmUgYSBuZXcgb3B0aW9uYWwgYXJndW1lbnQsIHNj
cmlwdENvZGUuCisKIDIwMTEtMDUtMTggIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZXZpZXdlZCBieSBHZW9mZnJleSBHYXJlbi4KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluCShyZXZpc2lvbiA4NjgxMCkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
CSh3b3JraW5nIGNvcHkpCkBAIC04NDQsMjIgKzg0NCwyMiBAQCBfX1pON1dlYkNvcmU4U2V0dGlu
Z3MxNnNldFVzZXNQYWdlQ2FjaGVFCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxN3NldFBsdWdpbnNF
bmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczE4c2V0RE9NUGFzdGVBbGxvd2VkRWIKIF9f
Wk43V2ViQ29yZThTZXR0aW5nczE4c2V0RGVmYXVsdEZvbnRTaXplRWkKLV9fWk43V2ViQ29yZThT
ZXR0aW5nczE4c2V0Rml4ZWRGb250RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0UKK19fWk43
V2ViQ29yZThTZXR0aW5nczE4c2V0Rml4ZWRGb250RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0cmlu
Z0VOUzFfMTFVU2NyaXB0Q29kZUUKIF9fWk43V2ViQ29yZThTZXR0aW5nczE4c2V0TWluaW11bUZv
bnRTaXplRWkKLV9fWk43V2ViQ29yZThTZXR0aW5nczE4c2V0U2VyaWZGb250RmFtaWx5RVJLTjNX
VEYxMkF0b21pY1N0cmluZ0UKK19fWk43V2ViQ29yZThTZXR0aW5nczE4c2V0U2VyaWZGb250RmFt
aWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0VOUzFfMTFVU2NyaXB0Q29kZUUKIF9fWk43V2ViQ29y
ZThTZXR0aW5nczE4c2V0V2ViQXVkaW9FbmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczE5
bWluRE9NVGltZXJJbnRlcnZhbEV2CiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOXNldFNob3dEZWJ1
Z0JvcmRlcnNFYgotX19aTjdXZWJDb3JlOFNldHRpbmdzMjBzZXRDdXJzaXZlRm9udEZhbWlseUVS
S04zV1RGMTJBdG9taWNTdHJpbmdFCi1fX1pON1dlYkNvcmU4U2V0dGluZ3MyMHNldEZhbnRhc3lG
b250RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0UKK19fWk43V2ViQ29yZThTZXR0aW5nczIw
c2V0Q3Vyc2l2ZUZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5nRU5TMV8xMVVTY3JpcHRD
b2RlRQorX19aTjdXZWJDb3JlOFNldHRpbmdzMjBzZXRGYW50YXN5Rm9udEZhbWlseUVSS04zV1RG
MTJBdG9taWNTdHJpbmdFTlMxXzExVVNjcmlwdENvZGVFCiBfX1pON1dlYkNvcmU4U2V0dGluZ3My
MHNldEphdmFTY3JpcHRFbmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczIwc2V0WFNTQXVk
aXRvckVuYWJsZWRFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMjFzZXRTaG93UmVwYWludENvdW50
ZXJFYgotX19aTjdXZWJDb3JlOFNldHRpbmdzMjFzZXRTdGFuZGFyZEZvbnRGYW1pbHlFUktOM1dU
RjEyQXRvbWljU3RyaW5nRQorX19aTjdXZWJDb3JlOFNldHRpbmdzMjFzZXRTdGFuZGFyZEZvbnRG
YW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5nRU5TMV8xMVVTY3JpcHRDb2RlRQogX19aTjdXZWJD
b3JlOFNldHRpbmdzMjFzZXRXZWJTZWN1cml0eUVuYWJsZWRFYgogX19aTjdXZWJDb3JlOFNldHRp
bmdzMjJzZXRMb2NhbFN0b3JhZ2VFbmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczIyc2V0
TWluRE9NVGltZXJJbnRlcnZhbEVkCi1fX1pON1dlYkNvcmU4U2V0dGluZ3MyMnNldFNhbnNTZXJp
ZkZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5nRQorX19aTjdXZWJDb3JlOFNldHRpbmdz
MjJzZXRTYW5zU2VyaWZGb250RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0VOUzFfMTFVU2Ny
aXB0Q29kZUUKIF9fWk43V2ViQ29yZThTZXR0aW5nczIyc2V0U2Vzc2lvblN0b3JhZ2VRdW90YUVq
CiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMnNldFNob3dzVVJMc0luVG9vbFRpcHNFYgogX19aTjdX
ZWJDb3JlOFNldHRpbmdzMjNzZXREZWZhdWx0Rml4ZWRGb250U2l6ZUVpCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvdW5pY29kZS9VU2NyaXB0Q29kZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0ZvcndhcmRpbmdIZWFkZXJzL3d0Zi91bmljb2RlL1VT
Y3JpcHRDb2RlLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVh
ZGVycy93dGYvdW5pY29kZS9VU2NyaXB0Q29kZS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQg
QEAKKyNpZm5kZWYgV2ViQ29yZV9GV0RfVVNjcmlwdENvZGVfaAorI2RlZmluZSBXZWJDb3JlX0ZX
RF9VU2NyaXB0Q29kZV9oCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvVVNjcmlwdENvZGUuaD4K
KyNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAJKHJldmlzaW9uIDg2ODEwKQor
KysgU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUy
LDYgKzUyLDIyIEBAIHN0YXRpYyB2b2lkIHNldExvYWRzSW1hZ2VzQXV0b21hdGljYWxseUkKICAg
ICAgICAgZnJhbWUtPmRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPnNldEF1dG9M
b2FkSW1hZ2VzKHBhZ2UtPnNldHRpbmdzKCktPmxvYWRzSW1hZ2VzQXV0b21hdGljYWxseSgpKTsK
IH0KIAorc3RhdGljIGlubGluZSB2b2lkIHNldEdlbmVyaWNGb250RmFtaWx5TWFwKFNjcmlwdEZv
bnRGYW1pbHlNYXAmIGZvbnRNYXAsIGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5LCBXVEY6OlVT
Y3JpcHRDb2RlIHNjcmlwdCwgUGFnZSogcGFnZSkKK3sKKyAgICAvLyBVU0NSSVBUX0lOVkFMSURf
Q09ERSBpcyAtMSBhbmQgVVNSSVRQX0NPTU1PTiBpcyAwLCB3aGljaCBhcmUgc3BlY2lhbCAoZGVs
ZXRlZCBhbmQgZW1wdHkpIGluIEhhc2hNYXAgd2l0aCBpbnQga2V5cy4KKyAgICAvLyBUbyBhdm9p
ZCB1c2luZyAtMSBhbmQgMCBhcyBhIGtleSwgd2UgYWRkIDIuCisgICAgZm9udE1hcC5zZXQoc3Rh
dGljX2Nhc3Q8aW50PihzY3JpcHQpICsgMiwgZmFtaWx5KTsKKyAgICBwYWdlLT5zZXROZWVkc1Jl
Y2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKK30KKworc3RhdGljIGlubGluZSBjb25zdCBBdG9taWNT
dHJpbmcmIGdldEdlbmVyaWNGb250RmFtaWx5Rm9yU2NyaXB0KGNvbnN0IFNjcmlwdEZvbnRGYW1p
bHlNYXAmIGZvbnRNYXAsIFdURjo6VVNjcmlwdENvZGUgc2NyaXB0KQoreworICAgIFNjcmlwdEZv
bnRGYW1pbHlNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gZm9udE1hcC5maW5kKHN0YXRpY19jYXN0
PGludD4oc2NyaXB0KSArIDIpOworICAgIGlmIChpdCAhPSBmb250TWFwLmVuZCgpKQorICAgICAg
ICByZXR1cm4gaXQtPnNlY29uZDsKKyAgICByZXR1cm4gZW1wdHlBdG9tOworfQorCiAjaWYgVVNF
KFNBRkFSSV9USEVNRSkKIGJvb2wgU2V0dGluZ3M6OmdTaG91bGRQYWludE5hdGl2ZUNvbnRyb2xz
ID0gdHJ1ZTsKICNlbmRpZgpAQCAtMTg5LDU4ICsyMDUsNjQgQEAgU2V0dGluZ3M6OlNldHRpbmdz
KFBhZ2UqIHBhZ2UpCiAgICAgQXRvbWljU3RyaW5nOjppbml0KCk7CiB9CiAKLXZvaWQgU2V0dGlu
Z3M6OnNldFN0YW5kYXJkRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIHN0YW5kYXJkRm9u
dEZhbWlseSkKK2NvbnN0IEF0b21pY1N0cmluZyYgU2V0dGluZ3M6OnN0YW5kYXJkRm9udEZhbWls
eShXVEY6OlVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKIHsKLSAgICBpZiAoc3RhbmRhcmRGb250
RmFtaWx5ID09IG1fc3RhbmRhcmRGb250RmFtaWx5KQotICAgICAgICByZXR1cm47CisgICAgcmV0
dXJuIGdldEdlbmVyaWNGb250RmFtaWx5Rm9yU2NyaXB0KG1fc3RhbmRhcmRGb250RmFtaWx5TWFw
LCBzY3JpcHQpOworfQogCi0gICAgbV9zdGFuZGFyZEZvbnRGYW1pbHkgPSBzdGFuZGFyZEZvbnRG
YW1pbHk7Ci0gICAgbV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKK3Zv
aWQgU2V0dGluZ3M6OnNldFN0YW5kYXJkRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZh
bWlseSwgV1RGOjpVU2NyaXB0Q29kZSBzY3JpcHQpCit7CisgICAgc2V0R2VuZXJpY0ZvbnRGYW1p
bHlNYXAobV9zdGFuZGFyZEZvbnRGYW1pbHlNYXAsIGZhbWlseSwgc2NyaXB0LCBtX3BhZ2UpOwog
fQogCi12b2lkIFNldHRpbmdzOjpzZXRGaXhlZEZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5n
JiBmaXhlZEZvbnRGYW1pbHkpCitjb25zdCBBdG9taWNTdHJpbmcmIFNldHRpbmdzOjpmaXhlZEZv
bnRGYW1pbHkoV1RGOjpVU2NyaXB0Q29kZSBzY3JpcHQpIGNvbnN0CiB7Ci0gICAgaWYgKG1fZml4
ZWRGb250RmFtaWx5ID09IGZpeGVkRm9udEZhbWlseSkKLSAgICAgICAgcmV0dXJuOwotICAgICAg
ICAKLSAgICBtX2ZpeGVkRm9udEZhbWlseSA9IGZpeGVkRm9udEZhbWlseTsKLSAgICBtX3BhZ2Ut
PnNldE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcygpOworICAgIHJldHVybiBnZXRHZW5lcmlj
Rm9udEZhbWlseUZvclNjcmlwdChtX2ZpeGVkRm9udEZhbWlseU1hcCwgc2NyaXB0KTsKIH0KIAot
dm9pZCBTZXR0aW5nczo6c2V0U2VyaWZGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgc2Vy
aWZGb250RmFtaWx5KQordm9pZCBTZXR0aW5nczo6c2V0Rml4ZWRGb250RmFtaWx5KGNvbnN0IEF0
b21pY1N0cmluZyYgZmFtaWx5LCBXVEY6OlVTY3JpcHRDb2RlIHNjcmlwdCkKIHsKLSAgICBpZiAo
bV9zZXJpZkZvbnRGYW1pbHkgPT0gc2VyaWZGb250RmFtaWx5KQotICAgICAgICByZXR1cm47Ci0g
ICAgICAgIAotICAgIG1fc2VyaWZGb250RmFtaWx5ID0gc2VyaWZGb250RmFtaWx5OwotICAgIG1f
cGFnZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzKCk7CisgICAgc2V0R2VuZXJpY0Zv
bnRGYW1pbHlNYXAobV9maXhlZEZvbnRGYW1pbHlNYXAsIGZhbWlseSwgc2NyaXB0LCBtX3BhZ2Up
OwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRTYW5zU2VyaWZGb250RmFtaWx5KGNvbnN0IEF0b21p
Y1N0cmluZyYgc2Fuc1NlcmlmRm9udEZhbWlseSkKK2NvbnN0IEF0b21pY1N0cmluZyYgU2V0dGlu
Z3M6OnNlcmlmRm9udEZhbWlseShXVEY6OlVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKIHsKLSAg
ICBpZiAobV9zYW5zU2VyaWZGb250RmFtaWx5ID09IHNhbnNTZXJpZkZvbnRGYW1pbHkpCi0gICAg
ICAgIHJldHVybjsKLSAgICAgICAgCi0gICAgbV9zYW5zU2VyaWZGb250RmFtaWx5ID0gc2Fuc1Nl
cmlmRm9udEZhbWlseTsgCi0gICAgbV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFt
ZXMoKTsKKyAgICByZXR1cm4gZ2V0R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQobV9zZXJpZkZv
bnRGYW1pbHlNYXAsIHNjcmlwdCk7CiB9CiAKLXZvaWQgU2V0dGluZ3M6OnNldEN1cnNpdmVGb250
RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgY3Vyc2l2ZUZvbnRGYW1pbHkpCit2b2lkIFNldHRp
bmdzOjpzZXRTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIFdURjo6
VVNjcmlwdENvZGUgc2NyaXB0KQogewotICAgIGlmIChtX2N1cnNpdmVGb250RmFtaWx5ID09IGN1
cnNpdmVGb250RmFtaWx5KQotICAgICAgICByZXR1cm47Ci0gICAgICAgIAotICAgIG1fY3Vyc2l2
ZUZvbnRGYW1pbHkgPSBjdXJzaXZlRm9udEZhbWlseTsKLSAgICBtX3BhZ2UtPnNldE5lZWRzUmVj
YWxjU3R5bGVJbkFsbEZyYW1lcygpOworICAgICBzZXRHZW5lcmljRm9udEZhbWlseU1hcChtX3Nl
cmlmRm9udEZhbWlseU1hcCwgZmFtaWx5LCBzY3JpcHQsIG1fcGFnZSk7CiB9CiAKLXZvaWQgU2V0
dGluZ3M6OnNldEZhbnRhc3lGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgZmFudGFzeUZv
bnRGYW1pbHkpCitjb25zdCBBdG9taWNTdHJpbmcmIFNldHRpbmdzOjpzYW5zU2VyaWZGb250RmFt
aWx5KFdURjo6VVNjcmlwdENvZGUgc2NyaXB0KSBjb25zdAogewotICAgIGlmIChtX2ZhbnRhc3lG
b250RmFtaWx5ID09IGZhbnRhc3lGb250RmFtaWx5KQotICAgICAgICByZXR1cm47Ci0gICAgICAg
IAotICAgIG1fZmFudGFzeUZvbnRGYW1pbHkgPSBmYW50YXN5Rm9udEZhbWlseTsKLSAgICBtX3Bh
Z2UtPnNldE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcygpOworICAgIHJldHVybiBnZXRHZW5l
cmljRm9udEZhbWlseUZvclNjcmlwdChtX3NhbnNTZXJpZkZvbnRGYW1pbHlNYXAsIHNjcmlwdCk7
Cit9CisKK3ZvaWQgU2V0dGluZ3M6OnNldFNhbnNTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWlj
U3RyaW5nJiBmYW1pbHksIFdURjo6VVNjcmlwdENvZGUgc2NyaXB0KQoreworICAgIHNldEdlbmVy
aWNGb250RmFtaWx5TWFwKG1fc2Fuc1NlcmlmRm9udEZhbWlseU1hcCwgZmFtaWx5LCBzY3JpcHQs
IG1fcGFnZSk7Cit9CisKK2NvbnN0IEF0b21pY1N0cmluZyYgU2V0dGluZ3M6OmN1cnNpdmVGb250
RmFtaWx5KFdURjo6VVNjcmlwdENvZGUgc2NyaXB0KSBjb25zdAoreworICAgIHJldHVybiBnZXRH
ZW5lcmljRm9udEZhbWlseUZvclNjcmlwdChtX2N1cnNpdmVGb250RmFtaWx5TWFwLCBzY3JpcHQp
OworfQorCit2b2lkIFNldHRpbmdzOjpzZXRDdXJzaXZlRm9udEZhbWlseShjb25zdCBBdG9taWNT
dHJpbmcmIGZhbWlseSwgV1RGOjpVU2NyaXB0Q29kZSBzY3JpcHQpCit7CisgICAgc2V0R2VuZXJp
Y0ZvbnRGYW1pbHlNYXAobV9jdXJzaXZlRm9udEZhbWlseU1hcCwgZmFtaWx5LCBzY3JpcHQsIG1f
cGFnZSk7Cit9CisKK2NvbnN0IEF0b21pY1N0cmluZyYgU2V0dGluZ3M6OmZhbnRhc3lGb250RmFt
aWx5KFdURjo6VVNjcmlwdENvZGUgc2NyaXB0KSBjb25zdAoreworICAgIHJldHVybiBnZXRHZW5l
cmljRm9udEZhbWlseUZvclNjcmlwdChtX2ZhbnRhc3lGb250RmFtaWx5TWFwLCBzY3JpcHQpOwor
fQorCit2b2lkIFNldHRpbmdzOjpzZXRGYW50YXN5Rm9udEZhbWlseShjb25zdCBBdG9taWNTdHJp
bmcmIGZhbWlseSwgV1RGOjpVU2NyaXB0Q29kZSBzY3JpcHQpCit7CisgICAgc2V0R2VuZXJpY0Zv
bnRGYW1pbHlNYXAobV9mYW50YXN5Rm9udEZhbWlseU1hcCwgZmFtaWx5LCBzY3JpcHQsIG1fcGFn
ZSk7CiB9CiAKIHZvaWQgU2V0dGluZ3M6OnNldE1pbmltdW1Gb250U2l6ZShpbnQgbWluaW11bUZv
bnRTaXplKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAkocmV2aXNpb24gODY4MTApCisrKyBT
b3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMx
LDEwIEBACiAjaW5jbHVkZSAiRm9udFJlbmRlcmluZ01vZGUuaCIKICNpbmNsdWRlICJLVVJMLmgi
CiAjaW5jbHVkZSAiVGltZXIuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L0F0b21pY1N0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21pY1N0cmlu
Z0hhc2guaD4KKyNpbmNsdWRlIDx3dGYvdW5pY29kZS9VU2NyaXB0Q29kZS5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKQEAgLTUxLDI4ICs1NCwzMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIFRleHREaXJlY3Rpb25TdWJtZW51QWx3YXlzSW5jbHVkZWQKICAgICB9OwogCisgICAg
dHlwZWRlZiBIYXNoTWFwPGludCwgQXRvbWljU3RyaW5nPiBTY3JpcHRGb250RmFtaWx5TWFwOwor
CiAgICAgY2xhc3MgU2V0dGluZ3MgewogICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZXR0
aW5ncyk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgU2V0
dGluZ3MoUGFnZSopOwogCi0gICAgICAgIHZvaWQgc2V0U3RhbmRhcmRGb250RmFtaWx5KGNvbnN0
IEF0b21pY1N0cmluZyYpOwotICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHN0YW5kYXJkRm9u
dEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhbmRhcmRGb250RmFtaWx5OyB9CisgICAgICAg
IHZvaWQgc2V0U3RhbmRhcmRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYsIFdURjo6VVNj
cmlwdENvZGUgPSBXVEY6OlVTQ1JJUFRfQ09NTU9OKTsKKyAgICAgICAgY29uc3QgQXRvbWljU3Ry
aW5nJiBzdGFuZGFyZEZvbnRGYW1pbHkoV1RGOjpVU2NyaXB0Q29kZSA9IFdURjo6VVNDUklQVF9D
T01NT04pIGNvbnN0OwogCi0gICAgICAgIHZvaWQgc2V0Rml4ZWRGb250RmFtaWx5KGNvbnN0IEF0
b21pY1N0cmluZyYpOwotICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGZpeGVkRm9udEZhbWls
eSgpIGNvbnN0IHsgcmV0dXJuIG1fZml4ZWRGb250RmFtaWx5OyB9CisgICAgICAgIHZvaWQgc2V0
Rml4ZWRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYsIFdURjo6VVNjcmlwdENvZGUgPSBX
VEY6OlVTQ1JJUFRfQ09NTU9OKTsKKyAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBmaXhlZEZv
bnRGYW1pbHkoV1RGOjpVU2NyaXB0Q29kZSA9IFdURjo6VVNDUklQVF9DT01NT04pIGNvbnN0Owog
Ci0gICAgICAgIHZvaWQgc2V0U2VyaWZGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYpOwot
ICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHNlcmlmRm9udEZhbWlseSgpIGNvbnN0IHsgcmV0
dXJuIG1fc2VyaWZGb250RmFtaWx5OyB9CisgICAgICAgIHZvaWQgc2V0U2VyaWZGb250RmFtaWx5
KGNvbnN0IEF0b21pY1N0cmluZyYsIFdURjo6VVNjcmlwdENvZGUgPSBXVEY6OlVTQ1JJUFRfQ09N
TU9OKTsKKyAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBzZXJpZkZvbnRGYW1pbHkoV1RGOjpV
U2NyaXB0Q29kZSA9IFdURjo6VVNDUklQVF9DT01NT04pIGNvbnN0OwogCi0gICAgICAgIHZvaWQg
c2V0U2Fuc1NlcmlmRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmKTsKLSAgICAgICAgY29u
c3QgQXRvbWljU3RyaW5nJiBzYW5zU2VyaWZGb250RmFtaWx5KCkgY29uc3QgeyByZXR1cm4gbV9z
YW5zU2VyaWZGb250RmFtaWx5OyB9CisgICAgICAgIHZvaWQgc2V0U2Fuc1NlcmlmRm9udEZhbWls
eShjb25zdCBBdG9taWNTdHJpbmcmLCBXVEY6OlVTY3JpcHRDb2RlID0gV1RGOjpVU0NSSVBUX0NP
TU1PTik7CisgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgc2Fuc1NlcmlmRm9udEZhbWlseShX
VEY6OlVTY3JpcHRDb2RlID0gV1RGOjpVU0NSSVBUX0NPTU1PTikgY29uc3Q7CiAKLSAgICAgICAg
dm9pZCBzZXRDdXJzaXZlRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmKTsKLSAgICAgICAg
Y29uc3QgQXRvbWljU3RyaW5nJiBjdXJzaXZlRm9udEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1f
Y3Vyc2l2ZUZvbnRGYW1pbHk7IH0KKyAgICAgICAgdm9pZCBzZXRDdXJzaXZlRm9udEZhbWlseShj
b25zdCBBdG9taWNTdHJpbmcmLCBXVEY6OlVTY3JpcHRDb2RlID0gV1RGOjpVU0NSSVBUX0NPTU1P
Tik7CisgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgY3Vyc2l2ZUZvbnRGYW1pbHkoV1RGOjpV
U2NyaXB0Q29kZSA9IFdURjo6VVNDUklQVF9DT01NT04pIGNvbnN0OwogCi0gICAgICAgIHZvaWQg
c2V0RmFudGFzeUZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJik7Ci0gICAgICAgIGNvbnN0
IEF0b21pY1N0cmluZyYgZmFudGFzeUZvbnRGYW1pbHkoKSBjb25zdCB7IHJldHVybiBtX2ZhbnRh
c3lGb250RmFtaWx5OyB9CisgICAgICAgIHZvaWQgc2V0RmFudGFzeUZvbnRGYW1pbHkoY29uc3Qg
QXRvbWljU3RyaW5nJiwgV1RGOjpVU2NyaXB0Q29kZSA9IFdURjo6VVNDUklQVF9DT01NT04pOwor
ICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGZhbnRhc3lGb250RmFtaWx5KFdURjo6VVNjcmlw
dENvZGUgPSBXVEY6OlVTQ1JJUFRfQ09NTU9OKSBjb25zdDsKIAogICAgICAgICB2b2lkIHNldE1p
bmltdW1Gb250U2l6ZShpbnQpOwogICAgICAgICBpbnQgbWluaW11bUZvbnRTaXplKCkgY29uc3Qg
eyByZXR1cm4gbV9taW5pbXVtRm9udFNpemU7IH0KQEAgLTQxNSwxMiArNDIwLDEyIEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgU3RyaW5nIG1fZnRwRGlyZWN0b3J5VGVtcGxhdGVQYXRo
OwogICAgICAgICBTdHJpbmcgbV9sb2NhbFN0b3JhZ2VEYXRhYmFzZVBhdGg7CiAgICAgICAgIEtV
UkwgbV91c2VyU3R5bGVTaGVldExvY2F0aW9uOwotICAgICAgICBBdG9taWNTdHJpbmcgbV9zdGFu
ZGFyZEZvbnRGYW1pbHk7Ci0gICAgICAgIEF0b21pY1N0cmluZyBtX2ZpeGVkRm9udEZhbWlseTsK
LSAgICAgICAgQXRvbWljU3RyaW5nIG1fc2VyaWZGb250RmFtaWx5OwotICAgICAgICBBdG9taWNT
dHJpbmcgbV9zYW5zU2VyaWZGb250RmFtaWx5OwotICAgICAgICBBdG9taWNTdHJpbmcgbV9jdXJz
aXZlRm9udEZhbWlseTsKLSAgICAgICAgQXRvbWljU3RyaW5nIG1fZmFudGFzeUZvbnRGYW1pbHk7
CisgICAgICAgIFNjcmlwdEZvbnRGYW1pbHlNYXAgbV9zdGFuZGFyZEZvbnRGYW1pbHlNYXA7Cisg
ICAgICAgIFNjcmlwdEZvbnRGYW1pbHlNYXAgbV9zZXJpZkZvbnRGYW1pbHlNYXA7CisgICAgICAg
IFNjcmlwdEZvbnRGYW1pbHlNYXAgbV9maXhlZEZvbnRGYW1pbHlNYXA7CisgICAgICAgIFNjcmlw
dEZvbnRGYW1pbHlNYXAgbV9zYW5zU2VyaWZGb250RmFtaWx5TWFwOworICAgICAgICBTY3JpcHRG
b250RmFtaWx5TWFwIG1fY3Vyc2l2ZUZvbnRGYW1pbHlNYXA7CisgICAgICAgIFNjcmlwdEZvbnRG
YW1pbHlNYXAgbV9mYW50YXN5Rm9udEZhbWlseU1hcDsKICAgICAgICAgRWRpdGFibGVMaW5rQmVo
YXZpb3IgbV9lZGl0YWJsZUxpbmtCZWhhdmlvcjsKICAgICAgICAgVGV4dERpcmVjdGlvblN1Ym1l
bnVJbmNsdXNpb25CZWhhdmlvciBtX3RleHREaXJlY3Rpb25TdWJtZW51SW5jbHVzaW9uQmVoYXZp
b3I7CiAgICAgICAgIGludCBtX21pbmltdW1Gb250U2l6ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94025</attachid>
            <date>2011-05-18 18:37:18 -0700</date>
            <delta_ts>2011-06-22 15:41:25 -0700</delta_ts>
            <desc>got rid of a tab in ChangeLog (style error)</desc>
            <filename>20797.patch.6b</filename>
            <type>text/plain</type>
            <size>31498</size>
            <attacher name="Jungshik Shin">jshin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODY4MTApCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTEtMDUtMTggIEp1bmdzaGlrIFNoaW4gIDxqc2hpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFVTY3JpcHRDb2Rl
LmggdG8gd3RmL3VuaWNvZGUgYW5kIG1ha2UgbmVjZXNzYXJ5IGNoYW5nZXMgaW4gYnVpbGQgZmls
ZXMuCisgICAgICAgIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzk3
CisKKyAgICAgICAgWGNvZGUgYnVpbGQgZmlsZSBjaGFuZ2UgaXMgZml4ZWQgYnkgTWF0dCBGYWxr
ZW5oYWdlbiA8ZmFsa2VuQGNocm9taXVtLm9yZz4KKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0
LmFtOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLmd5cGk6CisgICAgICAgICogSmF2YVNjcmlw
dENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogd3RmL3VuaWNvZGUvVVNjcmlwdENv
ZGUuaDogVVNjcmlwdENvZGUgZW51bSBhZGRlZC4KKwogMjAxMS0wNS0xOCAgT2xpdmVyIEh1bnQg
IDxvbGl2ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEdhdmluIEJhcnJhY2xv
dWdoLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHJl
dmlzaW9uIDg2ODEwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3Qu
YW0JKHdvcmtpbmcgY29weSkKQEAgLTU1NCw2ICs1NTQsNyBAQCBqYXZhc2NyaXB0Y29yZV9zb3Vy
Y2VzICs9IFwKIAlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvQ29sbGF0b3JEZWZh
dWx0LmNwcCBcCiAJU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL0NvbGxhdG9yLmgg
XAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Vbmljb2RlLmggXAorCVNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9VU2NyaXB0Q29kZS5oIFwKIAlTb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvVVRGOC5jcHAgXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvdW5pY29kZS9VVEY4LmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvVW51c2Vk
UGFyYW0uaCBcCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lw
aQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lw
aQkocmV2aXNpb24gODY4MTApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMjMwLDYgKzIzMCw3IEBACiAgICAgICAgICAgICAn
d3RmL3RleHQvV1RGU3RyaW5nLmgnLAogICAgICAgICAgICAgJ3d0Zi91bmljb2RlL0NoYXJhY3Rl
ck5hbWVzLmgnLAogICAgICAgICAgICAgJ3d0Zi91bmljb2RlL0NvbGxhdG9yLmgnLAorICAgICAg
ICAgICAgJ3d0Zi91bmljb2RlL1VTY3JpcHRDb2RlLmgnLAogICAgICAgICAgICAgJ3d0Zi91bmlj
b2RlL1VURjguaCcsCiAgICAgICAgICAgICAnd3RmL3VuaWNvZGUvVW5pY29kZS5oJywKICAgICAg
ICAgICAgICd3dGYvdW5pY29kZS9pY3UvVW5pY29kZUljdS5oJywKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovV1RGL1dURi52Y3Byb2oKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvai9XVEYvV1RG
LnZjcHJvagkocmV2aXNpb24gODY4MTApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmNwcm9qL1dURi9XVEYudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00MTYsNiAr
NDE2LDEwIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXC4uXHd0Zlx1bmljb2RlXFVTY3JpcHRDb2RlLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJ
PEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXC4uXHd0Zlx1bmljb2RlXFVURjguY3BwIgogCQkJ
CT4KIAkJCTwvRmlsZT4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lv
biA4NjgxMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yMjQsNiArMjI0LDcgQEAKIAkJ
NjVFMUEzREYxMjJCODk0NTAwQjI2MDk3IC8qIE5vbkNvcHlpbmdTb3J0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NUUxQTJGNDEyMkI4ODBEMDBCMjYw
OTcgLyogTm9uQ29weWluZ1NvcnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk2NUZERTQ5QzBCREQxRDRBMDBFODAxMTEgLyogQXNzZXJ0aW9ucy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NUUyMTdC
ODA4RTdFRUNDMDAyM0U1RjYgLyogQXNzZXJ0aW9ucy5jcHAgKi87IH07CiAJCTcxODZBNkVDMTMx
MDBCQTUwMDQ0NzlFMSAvKiBIZXhOdW1iZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDcxODZBNkU4MTMxMDBCNTcwMDQ0NzlFMSAvKiBIZXhOdW1iZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk3NjA2
QUI0QjEzN0NERTg0MDA2MkQxOUYgLyogVVNjcmlwdENvZGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc2MDZBQjFFMTM3Q0NBQUIwMDYyRDE5RiAvKiBV
U2NyaXB0Q29kZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTcxREE5RDgyMTM0RjNGM0QwMEI3NjdFNyAvKiBTdHJpbmdPcGVyYXRvcnMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxOEE4NDgyMTM0RjNB
MTIwMEI4NzUyOSAvKiBTdHJpbmdPcGVyYXRvcnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3NkZCOUYwRjEyRTg1MTg2MDA1MUEyRUIgLyogU0hB
MS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzZGQjlG
MEUxMkU4NTE4NjAwNTFBMkVCIC8qIFNIQTEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk3NkZCOUYxMTEyRTg1MTk2MDA1MUEyRUIgLyogU0hBMS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NkZCOUYx
MDEyRTg1MTk2MDA1MUEyRUIgLyogU0hBMS5jcHAgKi87IH07CkBAIC05MDMsNiArOTA0LDcgQEAK
IAkJNjVFQTczNjMwQkFFMzVEMTAwMUJCNTYwIC8qIENvbW1vbklkZW50aWZpZXJzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb21tb25JZGVudGlmaWVycy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk3MDRGRDM1MzA1Njk3RTZEMDAzREJFRDkgLyogQm9vbGVh
bk9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBCb29sZWFuT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0g
ODsgfTsKIAkJNzE4NkE2RTgxMzEwMEI1NzAwNDQ3OUUxIC8qIEhleE51bWJlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIZXhOdW1iZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNzYwNkFCMUUxMzdDQ0FBQjAwNjJEMTlGIC8qIFVTY3JpcHRDb2RlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFVTY3JpcHRDb2RlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTcxOEE4NDgyMTM0RjNBMTIwMEI4NzUyOSAvKiBTdHJpbmdPcGVy
YXRvcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gU3RyaW5nT3BlcmF0b3Jz
Lmg7IHBhdGggPSB0ZXh0L1N0cmluZ09wZXJhdG9ycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3NkZCOUYwRTEyRTg1MTg2MDA1MUEyRUIgLyogU0hBMS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTSEExLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTc2RkI5RjEwMTJFODUxOTYwMDUxQTJFQiAvKiBTSEExLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFNIQTEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMjE1NCw2ICsyMTU2LDcgQEAKIAkJCQlFMUE4NjJBQTBEN0VCQjdEMDAxRUM2QUEgLyogQ29s
bGF0b3IuaCAqLywKIAkJCQlFMUE4NjJENTBEN0YyQjVDMDAxRUM2QUEgLyogQ29sbGF0b3JEZWZh
dWx0LmNwcCAqLywKIAkJCQlFMTk1Njc5NDA5RTdDRjEyMDBCODlEMTMgLyogVW5pY29kZS5oICov
LAorCQkJCTc2MDZBQjFFMTM3Q0NBQUIwMDYyRDE5RiAvKiBVU2NyaXB0Q29kZS5oICovLAogCQkJ
CUUxRUY3OUE4MENFOTdCQTYwMDg4RDUwMCAvKiBVVEY4LmNwcCAqLywKIAkJCQlFMUVGNzlBOTBD
RTk3QkE2MDA4OEQ1MDAgLyogVVRGOC5oICovLAogCQkJKTsKQEAgLTI1MDIsNiArMjUwNSw3IEBA
CiAJCQkJQkMxOEM0NzMwRTE2RjVDRDAwQjM0NDYwIC8qIFVuaWNvZGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDMThDNDc0MEUxNkY1Q0QwMEIzNDQ2MCAvKiBVbmljb2RlSWN1LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzE4QzQ3NTBFMTZGNUNEMDBCMzQ0NjAgLyogVW51c2VkUGFyYW0uaCBpbiBI
ZWFkZXJzICovLAorCQkJCTc2MDZBQjRCMTM3Q0RFODQwMDYyRDE5RiAvKiBVU2NyaXB0Q29kZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0NzYwRTE2RjVDRDAwQjM0NDYwIC8qIFVTdHJpbmcu
aCBpbiBIZWFkZXJzICovLAogCQkJCTA4RERBNUMxMTI2NDYzMTcwMDc1MTczMiAvKiBVU3RyaW5n
QnVpbGRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxOEM0NzcwRTE2RjVDRDAwQjM0NDYwIC8q
IFVURjguaCBpbiBIZWFkZXJzICovLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9D
TWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL0NN
YWtlTGlzdHMudHh0CShyZXZpc2lvbiA4NjgxMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93
dGYvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTExMCw2ICsxMTAsNyBAQCBTRVQo
V1RGX0hFQURFUlMKICAgICB1bmljb2RlL0NvbGxhdG9yLmgKICAgICB1bmljb2RlL1VURjguaAog
ICAgIHVuaWNvZGUvVW5pY29kZS5oCisgICAgdW5pY29kZS9VU2NyaXB0Q29kZS5oCiApCiAKIFNF
VChXVEZfU09VUkNFUwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1VT
Y3JpcHRDb2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmlj
b2RlL1VTY3JpcHRDb2RlLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL3VuaWNvZGUvVVNjcmlwdENvZGUuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMjcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKGMpIDE5OTUtMjAxMSBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1h
Y2hpbmVzIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMKKyAqCisgKiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0
byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKKyAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFz
c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAorICogdG8gZGVh
bCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQg
bGltaXRhdGlvbgorICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1
Ymxpc2gsIGRpc3RyaWJ1dGUsIGFuZC9vciBzZWxsCisgKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJl
LCBhbmQgdG8gcGVybWl0IHBlcnNvbnMKKyAqIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5p
c2hlZCB0byBkbyBzbywgcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3Rp
Y2UocykgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyIGluIGFsbCBjb3BpZXMKKyAq
IG9mIHRoZSBTb2Z0d2FyZSBhbmQgdGhhdCBib3RoIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl
KHMpIGFuZCB0aGlzCisgKiBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gc3VwcG9ydGluZyBk
b2N1bWVudGF0aW9uLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBX
SVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SIElNUExJRUQsIAorICogSU5D
TFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFksIEZJVE5FU1MgRk9SIEEKKyAqIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VN
RU5UIE9GIFRISVJEIFBBUlRZIFJJR0hUUy4gSU4gTk8gRVZFTlQgU0hBTEwKKyAqIFRIRSBDT1BZ
UklHSFQgSE9MREVSIE9SIEhPTERFUlMgSU5DTFVERUQgSU4gVEhJUyBOT1RJQ0UgQkUgTElBQkxF
IEZPUiBBTlkgQ0xBSU0sCisgKiBPUiBBTlkgU1BFQ0lBTCBJTkRJUkVDVCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMsIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIKKyAqIFJFU1VMVElORyBGUk9N
IExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENP
TlRSQUNULAorICogTkVHTElHRU5DRSBPUiBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcg
T1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUKKyAqIFVTRSBPUiBQRVJGT1JNQU5DRSBP
RiBUSElTIFNPRlRXQVJFLgorICoKKyAqIEV4Y2VwdCBhcyBjb250YWluZWQgaW4gdGhpcyBub3Rp
Y2UsIHRoZSBuYW1lIG9mIGEgY29weXJpZ2h0IGhvbGRlciBzaGFsbCBub3QgYmUKKyAqIHVzZWQg
aW4gYWR2ZXJ0aXNpbmcgb3Igb3RoZXJ3aXNlIHRvIHByb21vdGUgdGhlIHNhbGUsIHVzZSBvciBv
dGhlciBkZWFsaW5ncyBpbgorICogdGhpcyBTb2Z0d2FyZSB3aXRob3V0IHByaW9yIHdyaXR0ZW4g
YXV0aG9yaXphdGlvbiBvZiB0aGUgY29weXJpZ2h0IGhvbGRlci4KKyAqLworCisjaWZuZGVmIFdU
Rl9VU2NyaXB0Q29kZV9oCisjZGVmaW5lIFdURl9VU2NyaXB0Q29kZV9oCisKK25hbWVzcGFjZSBX
VEYgeworCitlbnVtIFVTY3JpcHRDb2RlIHsKKyAgICAgIFVTQ1JJUFRfSU5WQUxJRF9DT0RFID0g
LTEsCisgICAgICBVU0NSSVBUX0NPTU1PTiAgICAgICA9ICAwLCAgLyogWnl5eSAqLworICAgICAg
VVNDUklQVF9JTkhFUklURUQgICAgPSAgMSwgIC8qIFppbmggKi8gLyogIkNvZGUgZm9yIGluaGVy
aXRlZCBzY3JpcHQiLCBmb3Igbm9uLXNwYWNpbmcgY29tYmluaW5nIG1hcmtzOyBhbHNvIFFhYWkg
Ki8KKyAgICAgIFVTQ1JJUFRfQVJBQklDICAgICAgID0gIDIsICAvKiBBcmFiICovCisgICAgICBV
U0NSSVBUX0FSTUVOSUFOICAgICA9ICAzLCAgLyogQXJtbiAqLworICAgICAgVVNDUklQVF9CRU5H
QUxJICAgICAgPSAgNCwgIC8qIEJlbmcgKi8KKyAgICAgIFVTQ1JJUFRfQk9QT01PRk8gICAgID0g
IDUsICAvKiBCb3BvICovCisgICAgICBVU0NSSVBUX0NIRVJPS0VFICAgICA9ICA2LCAgLyogQ2hl
ciAqLworICAgICAgVVNDUklQVF9DT1BUSUMgICAgICAgPSAgNywgIC8qIENvcHQgKi8KKyAgICAg
IFVTQ1JJUFRfQ1lSSUxMSUMgICAgID0gIDgsICAvKiBDeXJsICovCisgICAgICBVU0NSSVBUX0RF
U0VSRVQgICAgICA9ICA5LCAgLyogRHNydCAqLworICAgICAgVVNDUklQVF9ERVZBTkFHQVJJICAg
PSAxMCwgIC8qIERldmEgKi8KKyAgICAgIFVTQ1JJUFRfRVRISU9QSUMgICAgID0gMTEsICAvKiBF
dGhpICovCisgICAgICBVU0NSSVBUX0dFT1JHSUFOICAgICA9IDEyLCAgLyogR2VvciAqLworICAg
ICAgVVNDUklQVF9HT1RISUMgICAgICAgPSAxMywgIC8qIEdvdGggKi8KKyAgICAgIFVTQ1JJUFRf
R1JFRUsgICAgICAgID0gMTQsICAvKiBHcmVrICovCisgICAgICBVU0NSSVBUX0dVSkFSQVRJICAg
ICA9IDE1LCAgLyogR3VqciAqLworICAgICAgVVNDUklQVF9HVVJNVUtISSAgICAgPSAxNiwgIC8q
IEd1cnUgKi8KKyAgICAgIFVTQ1JJUFRfSEFOICAgICAgICAgID0gMTcsICAvKiBIYW5pICovCisg
ICAgICBVU0NSSVBUX0hBTkdVTCAgICAgICA9IDE4LCAgLyogSGFuZyAqLworICAgICAgVVNDUklQ
VF9IRUJSRVcgICAgICAgPSAxOSwgIC8qIEhlYnIgKi8KKyAgICAgIFVTQ1JJUFRfSElSQUdBTkEg
ICAgID0gMjAsICAvKiBIaXJhICovCisgICAgICBVU0NSSVBUX0tBTk5BREEgICAgICA9IDIxLCAg
LyogS25kYSAqLworICAgICAgVVNDUklQVF9LQVRBS0FOQSAgICAgPSAyMiwgIC8qIEthbmEgKi8K
KyAgICAgIFVTQ1JJUFRfS0hNRVIgICAgICAgID0gMjMsICAvKiBLaG1yICovCisgICAgICBVU0NS
SVBUX0xBTyAgICAgICAgICA9IDI0LCAgLyogTGFvbyAqLworICAgICAgVVNDUklQVF9MQVRJTiAg
ICAgICAgPSAyNSwgIC8qIExhdG4gKi8KKyAgICAgIFVTQ1JJUFRfTUFMQVlBTEFNICAgID0gMjYs
ICAvKiBNbHltICovCisgICAgICBVU0NSSVBUX01PTkdPTElBTiAgICA9IDI3LCAgLyogTW9uZyAq
LworICAgICAgVVNDUklQVF9NWUFOTUFSICAgICAgPSAyOCwgIC8qIE15bXIgKi8KKyAgICAgIFVT
Q1JJUFRfT0dIQU0gICAgICAgID0gMjksICAvKiBPZ2FtICovCisgICAgICBVU0NSSVBUX09MRF9J
VEFMSUMgICA9IDMwLCAgLyogSXRhbCAqLworICAgICAgVVNDUklQVF9PUklZQSAgICAgICAgPSAz
MSwgIC8qIE9yeWEgKi8KKyAgICAgIFVTQ1JJUFRfUlVOSUMgICAgICAgID0gMzIsICAvKiBSdW5y
ICovCisgICAgICBVU0NSSVBUX1NJTkhBTEEgICAgICA9IDMzLCAgLyogU2luaCAqLworICAgICAg
VVNDUklQVF9TWVJJQUMgICAgICAgPSAzNCwgIC8qIFN5cmMgKi8KKyAgICAgIFVTQ1JJUFRfVEFN
SUwgICAgICAgID0gMzUsICAvKiBUYW1sICovCisgICAgICBVU0NSSVBUX1RFTFVHVSAgICAgICA9
IDM2LCAgLyogVGVsdSAqLworICAgICAgVVNDUklQVF9USEFBTkEgICAgICAgPSAzNywgIC8qIFRo
YWEgKi8KKyAgICAgIFVTQ1JJUFRfVEhBSSAgICAgICAgID0gMzgsICAvKiBUaGFpICovCisgICAg
ICBVU0NSSVBUX1RJQkVUQU4gICAgICA9IDM5LCAgLyogVGlidCAqLworICAgICAgLyoqIENhbmFk
aWFuX0Fib3JpZ2luYWwgc2NyaXB0LiBAc3RhYmxlIElDVSAyLjYgKi8KKyAgICAgIFVTQ1JJUFRf
Q0FOQURJQU5fQUJPUklHSU5BTCA9IDQwLCAgLyogQ2FucyAqLworICAgICAgLyoqIENhbmFkaWFu
X0Fib3JpZ2luYWwgc2NyaXB0IChhbGlhcykuIEBzdGFibGUgSUNVIDIuMiAqLworICAgICAgVVND
UklQVF9VQ0FTICAgICAgICAgPSBVU0NSSVBUX0NBTkFESUFOX0FCT1JJR0lOQUwsCisgICAgICBV
U0NSSVBUX1lJICAgICAgICAgICA9IDQxLCAgLyogWWlpaSAqLworICAgICAgVVNDUklQVF9UQUdB
TE9HICAgICAgPSA0MiwgIC8qIFRnbGcgKi8KKyAgICAgIFVTQ1JJUFRfSEFOVU5PTyAgICAgID0g
NDMsICAvKiBIYW5vICovCisgICAgICBVU0NSSVBUX0JVSElEICAgICAgICA9IDQ0LCAgLyogQnVo
ZCAqLworICAgICAgVVNDUklQVF9UQUdCQU5XQSAgICAgPSA0NSwgIC8qIFRhZ2IgKi8KKworICAg
ICAgLyogTmV3IHNjcmlwdHMgaW4gVW5pY29kZSA0IEBzdGFibGUgSUNVIDIuNiAqLworICAgICAg
VVNDUklQVF9CUkFJTExFICAgICAgPSA0NiwgIC8qIEJyYWkgKi8KKyAgICAgIFVTQ1JJUFRfQ1lQ
UklPVCAgICAgID0gNDcsICAvKiBDcHJ0ICovCisgICAgICBVU0NSSVBUX0xJTUJVICAgICAgICA9
IDQ4LCAgLyogTGltYiAqLworICAgICAgVVNDUklQVF9MSU5FQVJfQiAgICAgPSA0OSwgIC8qIExp
bmIgKi8KKyAgICAgIFVTQ1JJUFRfT1NNQU5ZQSAgICAgID0gNTAsICAvKiBPc21hICovCisgICAg
ICBVU0NSSVBUX1NIQVZJQU4gICAgICA9IDUxLCAgLyogU2hhdyAqLworICAgICAgVVNDUklQVF9U
QUlfTEUgICAgICAgPSA1MiwgIC8qIFRhbGUgKi8KKyAgICAgIFVTQ1JJUFRfVUdBUklUSUMgICAg
ID0gNTMsICAvKiBVZ2FyICovCisKKyAgICAgIC8qKiBOZXcgc2NyaXB0IGNvZGUgaW4gVW5pY29k
ZSA0LjAuMSBAc3RhYmxlIElDVSAzLjAgKi8KKyAgICAgIFVTQ1JJUFRfS0FUQUtBTkFfT1JfSElS
QUdBTkEgPSA1NCwvKkhya3QgKi8KKworICAgICAgLyogTmV3IHNjcmlwdHMgaW4gVW5pY29kZSA0
LjEgQHN0YWJsZSBJQ1UgMy40ICovCisgICAgICBVU0NSSVBUX0JVR0lORVNFICAgICAgPSA1NSwg
LyogQnVnaSAqLworICAgICAgVVNDUklQVF9HTEFHT0xJVElDICAgID0gNTYsIC8qIEdsYWcgKi8K
KyAgICAgIFVTQ1JJUFRfS0hBUk9TSFRISSAgICA9IDU3LCAvKiBLaGFyICovCisgICAgICBVU0NS
SVBUX1NZTE9USV9OQUdSSSAgPSA1OCwgLyogU3lsbyAqLworICAgICAgVVNDUklQVF9ORVdfVEFJ
X0xVRSAgID0gNTksIC8qIFRhbHUgKi8KKyAgICAgIFVTQ1JJUFRfVElGSU5BR0ggICAgICA9IDYw
LCAvKiBUZm5nICovCisgICAgICBVU0NSSVBUX09MRF9QRVJTSUFOICAgPSA2MSwgLyogWHBlbyAq
LworCisgICAgICAvKiBOZXcgc2NyaXB0IGNvZGVzIGZyb20gSVNPIDE1OTI0IEBzdGFibGUgSUNV
IDMuNiAqLworICAgICAgVVNDUklQVF9CQUxJTkVTRSAgICAgICAgICAgICAgICAgICAgICA9IDYy
LCAvKiBCYWxpICovCisgICAgICBVU0NSSVBUX0JBVEFLICAgICAgICAgICAgICAgICAgICAgICAg
ID0gNjMsIC8qIEJhdGsgKi8KKyAgICAgIFVTQ1JJUFRfQkxJU1NZTUJPTFMgICAgICAgICAgICAg
ICAgICAgPSA2NCwgLyogQmxpcyAqLworICAgICAgVVNDUklQVF9CUkFITUkgICAgICAgICAgICAg
ICAgICAgICAgICA9IDY1LCAvKiBCcmFoICovCisgICAgICBVU0NSSVBUX0NIQU0gICAgICAgICAg
ICAgICAgICAgICAgICAgID0gNjYsIC8qIENoYW0gKi8KKyAgICAgIFVTQ1JJUFRfQ0lSVEggICAg
ICAgICAgICAgICAgICAgICAgICAgPSA2NywgLyogQ2lydCAqLworICAgICAgVVNDUklQVF9PTERf
Q0hVUkNIX1NMQVZPTklDX0NZUklMTElDICA9IDY4LCAvKiBDeXJzICovCisgICAgICBVU0NSSVBU
X0RFTU9USUNfRUdZUFRJQU4gICAgICAgICAgICAgID0gNjksIC8qIEVneWQgKi8KKyAgICAgIFVT
Q1JJUFRfSElFUkFUSUNfRUdZUFRJQU4gICAgICAgICAgICAgPSA3MCwgLyogRWd5aCAqLworICAg
ICAgVVNDUklQVF9FR1lQVElBTl9ISUVST0dMWVBIUyAgICAgICAgICA9IDcxLCAvKiBFZ3lwICov
CisgICAgICBVU0NSSVBUX0tIVVRTVVJJICAgICAgICAgICAgICAgICAgICAgID0gNzIsIC8qIEdl
b2sgKi8KKyAgICAgIFVTQ1JJUFRfU0lNUExJRklFRF9IQU4gICAgICAgICAgICAgICAgPSA3Mywg
LyogSGFucyAqLworICAgICAgVVNDUklQVF9UUkFESVRJT05BTF9IQU4gICAgICAgICAgICAgICA9
IDc0LCAvKiBIYW50ICovCisgICAgICBVU0NSSVBUX1BBSEFXSF9ITU9ORyAgICAgICAgICAgICAg
ICAgID0gNzUsIC8qIEhtbmcgKi8KKyAgICAgIFVTQ1JJUFRfT0xEX0hVTkdBUklBTiAgICAgICAg
ICAgICAgICAgPSA3NiwgLyogSHVuZyAqLworICAgICAgVVNDUklQVF9IQVJBUFBBTl9JTkRVUyAg
ICAgICAgICAgICAgICA9IDc3LCAvKiBJbmRzICovCisgICAgICBVU0NSSVBUX0pBVkFORVNFICAg
ICAgICAgICAgICAgICAgICAgID0gNzgsIC8qIEphdmEgKi8KKyAgICAgIFVTQ1JJUFRfS0FZQUhf
TEkgICAgICAgICAgICAgICAgICAgICAgPSA3OSwgLyogS2FsaSAqLworICAgICAgVVNDUklQVF9M
QVRJTl9GUkFLVFVSICAgICAgICAgICAgICAgICA9IDgwLCAvKiBMYXRmICovCisgICAgICBVU0NS
SVBUX0xBVElOX0dBRUxJQyAgICAgICAgICAgICAgICAgID0gODEsIC8qIExhdGcgKi8KKyAgICAg
IFVTQ1JJUFRfTEVQQ0hBICAgICAgICAgICAgICAgICAgICAgICAgPSA4MiwgLyogTGVwYyAqLwor
ICAgICAgVVNDUklQVF9MSU5FQVJfQSAgICAgICAgICAgICAgICAgICAgICA9IDgzLCAvKiBMaW5h
ICovCisgICAgICAvKiogQHN0YWJsZSBJQ1UgNC42ICovCisgICAgICBVU0NSSVBUX01BTkRBSUMg
ICAgICAgICAgICAgICAgICAgICAgID0gODQsIC8qIE1hbmQgKi8KKyAgICAgIC8qKiBAc3RhYmxl
IElDVSAzLjYgKi8KKyAgICAgIFVTQ1JJUFRfTUFOREFFQU4gICAgICAgICAgICAgICAgICAgICAg
PSBVU0NSSVBUX01BTkRBSUMsCisgICAgICBVU0NSSVBUX01BWUFOX0hJRVJPR0xZUEhTICAgICAg
ICAgICAgID0gODUsIC8qIE1heWEgKi8KKyAgICAgIC8qKiBAc3RhYmxlIElDVSA0LjYgKi8KKyAg
ICAgIFVTQ1JJUFRfTUVST0lUSUNfSElFUk9HTFlQSFMgICAgICAgICAgPSA4NiwgLyogTWVybyAq
LworICAgICAgLyoqIEBzdGFibGUgSUNVIDMuNiAqLworICAgICAgVVNDUklQVF9NRVJPSVRJQyAg
ICAgICAgICAgICAgICAgICAgICA9IFVTQ1JJUFRfTUVST0lUSUNfSElFUk9HTFlQSFMsCisgICAg
ICBVU0NSSVBUX05LTyAgICAgICAgICAgICAgICAgICAgICAgICAgID0gODcsIC8qIE5rb28gKi8K
KyAgICAgIFVTQ1JJUFRfT1JLSE9OICAgICAgICAgICAgICAgICAgICAgICAgPSA4OCwgLyogT3Jr
aCAqLworICAgICAgVVNDUklQVF9PTERfUEVSTUlDICAgICAgICAgICAgICAgICAgICA9IDg5LCAv
KiBQZXJtICovCisgICAgICBVU0NSSVBUX1BIQUdTX1BBICAgICAgICAgICAgICAgICAgICAgID0g
OTAsIC8qIFBoYWcgKi8KKyAgICAgIFVTQ1JJUFRfUEhPRU5JQ0lBTiAgICAgICAgICAgICAgICAg
ICAgPSA5MSwgLyogUGhueCAqLworICAgICAgVVNDUklQVF9QSE9ORVRJQ19QT0xMQVJEICAgICAg
ICAgICAgICA9IDkyLCAvKiBQbHJkICovCisgICAgICBVU0NSSVBUX1JPTkdPUk9OR08gICAgICAg
ICAgICAgICAgICAgID0gOTMsIC8qIFJvcm8gKi8KKyAgICAgIFVTQ1JJUFRfU0FSQVRJICAgICAg
ICAgICAgICAgICAgICAgICAgPSA5NCwgLyogU2FyYSAqLworICAgICAgVVNDUklQVF9FU1RSQU5H
RUxPX1NZUklBQyAgICAgICAgICAgICA9IDk1LCAvKiBTeXJlICovCisgICAgICBVU0NSSVBUX1dF
U1RFUk5fU1lSSUFDICAgICAgICAgICAgICAgID0gOTYsIC8qIFN5cmogKi8KKyAgICAgIFVTQ1JJ
UFRfRUFTVEVSTl9TWVJJQUMgICAgICAgICAgICAgICAgPSA5NywgLyogU3lybiAqLworICAgICAg
VVNDUklQVF9URU5HV0FSICAgICAgICAgICAgICAgICAgICAgICA9IDk4LCAvKiBUZW5nICovCisg
ICAgICBVU0NSSVBUX1ZBSSAgICAgICAgICAgICAgICAgICAgICAgICAgID0gOTksIC8qIFZhaWkg
Ki8KKyAgICAgIFVTQ1JJUFRfVklTSUJMRV9TUEVFQ0ggICAgICAgICAgICAgICAgPSAxMDAsLyog
VmlzcCAqLworICAgICAgVVNDUklQVF9DVU5FSUZPUk0gICAgICAgICAgICAgICAgICAgICA9IDEw
MSwvKiBYc3V4ICovCisgICAgICBVU0NSSVBUX1VOV1JJVFRFTl9MQU5HVUFHRVMgICAgICAgICAg
ID0gMTAyLC8qIFp4eHggKi8KKyAgICAgIFVTQ1JJUFRfVU5LTk9XTiAgICAgICAgICAgICAgICAg
ICAgICAgPSAxMDMsLyogWnp6eiAqLyAvKiBVbmtub3duPSJDb2RlIGZvciB1bmNvZGVkIHNjcmlw
dCIsIGZvciB1bmFzc2lnbmVkIGNvZGUgcG9pbnRzICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHQg
Y29kZXMgZnJvbSBJU08gMTU5MjQgQHN0YWJsZSBJQ1UgMy44ICovCisgICAgICBVU0NSSVBUX0NB
UklBTiAgICAgICAgICAgICAgICAgICAgICAgID0gMTA0LC8qIENhcmkgKi8KKyAgICAgIFVTQ1JJ
UFRfSkFQQU5FU0UgICAgICAgICAgICAgICAgICAgICAgPSAxMDUsLyogSnBhbiAqLworICAgICAg
VVNDUklQVF9MQU5OQSAgICAgICAgICAgICAgICAgICAgICAgICA9IDEwNiwvKiBMYW5hICovCisg
ICAgICBVU0NSSVBUX0xZQ0lBTiAgICAgICAgICAgICAgICAgICAgICAgID0gMTA3LC8qIEx5Y2kg
Ki8KKyAgICAgIFVTQ1JJUFRfTFlESUFOICAgICAgICAgICAgICAgICAgICAgICAgPSAxMDgsLyog
THlkaSAqLworICAgICAgVVNDUklQVF9PTF9DSElLSSAgICAgICAgICAgICAgICAgICAgICA9IDEw
OSwvKiBPbGNrICovCisgICAgICBVU0NSSVBUX1JFSkFORyAgICAgICAgICAgICAgICAgICAgICAg
ID0gMTEwLC8qIFJqbmcgKi8KKyAgICAgIFVTQ1JJUFRfU0FVUkFTSFRSQSAgICAgICAgICAgICAg
ICAgICAgPSAxMTEsLyogU2F1ciAqLworICAgICAgVVNDUklQVF9TSUdOX1dSSVRJTkcgICAgICAg
ICAgICAgICAgICA9IDExMiwvKiBTZ253ICovCisgICAgICBVU0NSSVBUX1NVTkRBTkVTRSAgICAg
ICAgICAgICAgICAgICAgID0gMTEzLC8qIFN1bmQgKi8KKyAgICAgIFVTQ1JJUFRfTU9PTiAgICAg
ICAgICAgICAgICAgICAgICAgICAgPSAxMTQsLyogTW9vbiAqLworICAgICAgVVNDUklQVF9NRUlU
RUlfTUFZRUsgICAgICAgICAgICAgICAgICA9IDExNSwvKiBNdGVpICovCisKKyAgICAgIC8qIE5l
dyBzY3JpcHQgY29kZXMgZnJvbSBJU08gMTU5MjQgQHN0YWJsZSBJQ1UgNC4wICovCisgICAgICBV
U0NSSVBUX0lNUEVSSUFMX0FSQU1BSUMgICAgICAgICAgICAgID0gMTE2LC8qIEFybWkgKi8KKyAg
ICAgIFVTQ1JJUFRfQVZFU1RBTiAgICAgICAgICAgICAgICAgICAgICAgPSAxMTcsLyogQXZzdCAq
LworICAgICAgVVNDUklQVF9DSEFLTUEgICAgICAgICAgICAgICAgICAgICAgICA9IDExOCwvKiBD
YWttICovCisgICAgICBVU0NSSVBUX0tPUkVBTiAgICAgICAgICAgICAgICAgICAgICAgID0gMTE5
LC8qIEtvcmUgKi8KKyAgICAgIFVTQ1JJUFRfS0FJVEhJICAgICAgICAgICAgICAgICAgICAgICAg
PSAxMjAsLyogS3RoaSAqLworICAgICAgVVNDUklQVF9NQU5JQ0hBRUFOICAgICAgICAgICAgICAg
ICAgICA9IDEyMSwvKiBNYW5pICovCisgICAgICBVU0NSSVBUX0lOU0NSSVBUSU9OQUxfUEFITEFW
SSAgICAgICAgID0gMTIyLC8qIFBobGkgKi8KKyAgICAgIFVTQ1JJUFRfUFNBTFRFUl9QQUhMQVZJ
ICAgICAgICAgICAgICAgPSAxMjMsLyogUGhscCAqLworICAgICAgVVNDUklQVF9CT09LX1BBSExB
VkkgICAgICAgICAgICAgICAgICA9IDEyNCwvKiBQaGx2ICovCisgICAgICBVU0NSSVBUX0lOU0NS
SVBUSU9OQUxfUEFSVEhJQU4gICAgICAgID0gMTI1LC8qIFBydGkgKi8KKyAgICAgIFVTQ1JJUFRf
U0FNQVJJVEFOICAgICAgICAgICAgICAgICAgICAgPSAxMjYsLyogU2FtciAqLworICAgICAgVVND
UklQVF9UQUlfVklFVCAgICAgICAgICAgICAgICAgICAgICA9IDEyNywvKiBUYXZ0ICovCisgICAg
ICBVU0NSSVBUX01BVEhFTUFUSUNBTF9OT1RBVElPTiAgICAgICAgID0gMTI4LC8qIFptdGggKi8K
KyAgICAgIFVTQ1JJUFRfU1lNQk9MUyAgICAgICAgICAgICAgICAgICAgICAgPSAxMjksLyogWnN5
bSAqLworCisgICAgICAvKiBOZXcgc2NyaXB0IGNvZGVzIGZyb20gSVNPIDE1OTI0IEBzdGFibGUg
SUNVIDQuNCAqLworICAgICAgVVNDUklQVF9CQU1VTSAgICAgICAgICAgICAgICAgICAgICAgICA9
IDEzMCwvKiBCYW11ICovCisgICAgICBVU0NSSVBUX0xJU1UgICAgICAgICAgICAgICAgICAgICAg
ICAgID0gMTMxLC8qIExpc3UgKi8KKyAgICAgIFVTQ1JJUFRfTkFLSElfR0VCQSAgICAgICAgICAg
ICAgICAgICAgPSAxMzIsLyogTmtnYiAqLworICAgICAgVVNDUklQVF9PTERfU09VVEhfQVJBQklB
TiAgICAgICAgICAgICA9IDEzMywvKiBTYXJiICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHQgY29k
ZXMgZnJvbSBJU08gMTU5MjQgQHN0YWJsZSBJQ1UgNC42ICovCisgICAgICBVU0NSSVBUX0JBU1NB
X1ZBSCAgICAgICAgICAgICAgICAgICAgID0gMTM0LC8qIEJhc3MgKi8KKyAgICAgIFVTQ1JJUFRf
RFVQTE9ZQU5fU0hPUlRBTkQgICAgICAgICAgICAgPSAxMzUsLyogRHVwbCAqLworICAgICAgVVND
UklQVF9FTEJBU0FOICAgICAgICAgICAgICAgICAgICAgICA9IDEzNiwvKiBFbGJhICovCisgICAg
ICBVU0NSSVBUX0dSQU5USEEgICAgICAgICAgICAgICAgICAgICAgID0gMTM3LC8qIEdyYW4gKi8K
KyAgICAgIFVTQ1JJUFRfS1BFTExFICAgICAgICAgICAgICAgICAgICAgICAgPSAxMzgsLyogS3Bl
bCAqLworICAgICAgVVNDUklQVF9MT01BICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEzOSwv
KiBMb21hICovCisgICAgICBVU0NSSVBUX01FTkRFICAgICAgICAgICAgICAgICAgICAgICAgID0g
MTQwLC8qIE1lbmQgKi8KKyAgICAgIFVTQ1JJUFRfTUVST0lUSUNfQ1VSU0lWRSAgICAgICAgICAg
ICAgPSAxNDEsLyogTWVyYyAqLworICAgICAgVVNDUklQVF9PTERfTk9SVEhfQVJBQklBTiAgICAg
ICAgICAgICA9IDE0MiwvKiBOYXJiICovCisgICAgICBVU0NSSVBUX05BQkFUQUVBTiAgICAgICAg
ICAgICAgICAgICAgID0gMTQzLC8qIE5iYXQgKi8KKyAgICAgIFVTQ1JJUFRfUEFMTVlSRU5FICAg
ICAgICAgICAgICAgICAgICAgPSAxNDQsLyogUGFsbSAqLworICAgICAgVVNDUklQVF9TSU5ESEkg
ICAgICAgICAgICAgICAgICAgICAgICA9IDE0NSwvKiBTaW5kICovCisgICAgICBVU0NSSVBUX1dB
UkFOR19DSVRJICAgICAgICAgICAgICAgICAgID0gMTQ2LC8qIFdhcmEgKi8KKworICAgICAgLyog
TmV3IHNjcmlwdCBjb2RlcyBmcm9tIElTTyAxNTkyNCBAc3RhYmxlIElDVSA0LjggKi8KKyAgICAg
IFVTQ1JJUFRfQUZBS0EgICAgICAgICAgICAgICAgICAgICAgICAgPSAxNDcsLyogQWZhayAqLwor
ICAgICAgVVNDUklQVF9KVVJDSEVOICAgICAgICAgICAgICAgICAgICAgICA9IDE0OCwvKiBKdXJj
ICovCisgICAgICBVU0NSSVBUX01STyAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTQ5LC8q
IE1yb28gKi8KKyAgICAgIFVTQ1JJUFRfTlVTSFUgICAgICAgICAgICAgICAgICAgICAgICAgPSAx
NTAsLyogTnNodSAqLworICAgICAgVVNDUklQVF9TSEFSQURBICAgICAgICAgICAgICAgICAgICAg
ICA9IDE1MSwvKiBTaHJkICovCisgICAgICBVU0NSSVBUX1NPUkFfU09NUEVORyAgICAgICAgICAg
ICAgICAgID0gMTUyLC8qIFNvcmEgKi8KKyAgICAgIFVTQ1JJUFRfVEFLUkkgICAgICAgICAgICAg
ICAgICAgICAgICAgPSAxNTMsLyogVGFrciAqLworICAgICAgVVNDUklQVF9UQU5HVVQgICAgICAg
ICAgICAgICAgICAgICAgICA9IDE1NCwvKiBUYW5nICovCisgICAgICBVU0NSSVBUX1dPTEVBSSAg
ICAgICAgICAgICAgICAgICAgICAgID0gMTU1LC8qIFdvbGUgKi8KKworICAgICAgLyogUHJpdmF0
ZSB1c2UgY29kZXMgZnJvbSBRYWFhIC0gUWFieCBhcmUgbm90IHN1cHBvcnRlZCAqLworICAgICAg
VVNDUklQVF9DT0RFX0xJTUlUICAgID0gMTQ3Cit9OworCit9CisKKyNlbmRpZgpJbmRleDogU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkocmV2aXNpb24gODY4MTApCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSw0MCBAQAorMjAxMS0wNS0xOCAgSnVuZ3NoaWsgU2hpbiAgPGpz
aGluQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBbGxvdyBnZW5lcmljIGZvbnQgZmFtaWx5IHNldHRpbmdzIHBlciBzY3JpcHQg
Y29kZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
Nzk3CisKKyAgICAgICAgTWFrZSBnZW5lcmljIGZvbnQgZmFtaWx5IGdldHRlcnMvc2V0dGVycyBh
Y2NlcHQgYW4gYWRkaXRpb25hbAorICAgICAgICBhcmd1bWVudCAoc2NyaXB0IGNvZGUpLiBJdCBo
YXMgYSBkZWZhdWx0IHZhbHVlIHNvIHRoYXQgaWYgYW4gZW1iZWRkZXIKKyAgICAgICAgZG9lcyBu
b3QgaGF2ZS93YW50IGEgcGVyLXNjcmlwdCBmb250IGZhbWlseSBzZXR0aW5nLCBjYWxsLXNpdGVz
CisgICAgICAgIGRvbid0IGhhdmUgdG8gYmUgY2hhbmdlZC4KKyAgICAgICAgVGhpcyBpcyB0byBw
cmVwYXJlIGZvciBmaXhpbmcgYnVnIDEwODc0IChmb250IHNlbGVjdGlvbiBpcyBub3QKKyAgICAg
ICAgbGFuZ3VhZ2UtZGVwZW5kZW50KSBhbmQgYnVnIDE4MDg1LgorCisgICAgICAgIFRoZXJlIHNo
b3VsZCBiZSBubyBjaGFuZ2UgaW4gbGF5b3V0IGFuZCBubyBuZXcgbGF5b3V0IHRlc3QKKyAgICAg
ICAgaXMgYWRkZWQuCisKKworICAgICAgICAqIEZvcndhcmRpbmdIZWFkZXJzL3d0Zi91bmljb2Rl
L1VTY3JpcHRDb2RlLmg6IEFkZGVkLgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAg
ICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c2V0R2VuZXJpY0ZvbnRG
YW1pbHlNYXApOiBoZWxwZXIgdG8gc2V0IGdlbmVyaWMgZmFtaWx5IHBlciBzY3JpcHQKKyAgICAg
ICAgKFdlYkNvcmU6OmdldEdlbmVyaWNGb250RmFtaWx5Rm9yU2NyaXB0KTogaGVscGVyIGZ1bmN0
aW9uIHVzZWQgYnkgZ2V0dGVycyBmb3IgZm9vRm9udEZhbWlseS4KKyAgICAgICAgKFdlYkNvcmU6
OlNldHRpbmdzOjpzdGFuZGFyZEZvbnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGlu
Z3M6OnNldFN0YW5kYXJkRm9udEZhbWlseSk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6
Zml4ZWRGb250RmFtaWx5KToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRGaXhlZEZv
bnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNlcmlmRm9udEZhbWlseSk6
CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0U2VyaWZGb250RmFtaWx5KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzYW5zU2VyaWZGb250RmFtaWx5KToKKyAgICAgICAgKFdl
YkNvcmU6OlNldHRpbmdzOjpzZXRTYW5zU2VyaWZGb250RmFtaWx5KToKKyAgICAgICAgKFdlYkNv
cmU6OlNldHRpbmdzOjpjdXJzaXZlRm9udEZhbWlseSk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0
aW5nczo6c2V0Q3Vyc2l2ZUZvbnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6
OmZhbnRhc3lGb250RmFtaWx5KToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRGYW50
YXN5Rm9udEZhbWlseSk6CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOiBzZXR0ZXIgYW5kIGdl
dHRlciBmb3IgRm9vRm9udEZhbWlseSBoYXZlIGEgbmV3IG9wdGlvbmFsIGFyZ3VtZW50LCBzY3Jp
cHRDb2RlLgorCiAyMDExLTA1LTE4ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmZyZXkgR2FyZW4uCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgkocmV2aXNpb24gODY4MTApCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgko
d29ya2luZyBjb3B5KQpAQCAtODQ0LDIyICs4NDQsMjIgQEAgX19aTjdXZWJDb3JlOFNldHRpbmdz
MTZzZXRVc2VzUGFnZUNhY2hlRQogX19aTjdXZWJDb3JlOFNldHRpbmdzMTdzZXRQbHVnaW5zRW5h
YmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldERPTVBhc3RlQWxsb3dlZEViCiBfX1pO
N1dlYkNvcmU4U2V0dGluZ3MxOHNldERlZmF1bHRGb250U2l6ZUVpCi1fX1pON1dlYkNvcmU4U2V0
dGluZ3MxOHNldEZpeGVkRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFCitfX1pON1dl
YkNvcmU4U2V0dGluZ3MxOHNldEZpeGVkRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdF
TlMxXzExVVNjcmlwdENvZGVFCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldE1pbmltdW1Gb250
U2l6ZUVpCi1fX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldFNlcmlmRm9udEZhbWlseUVSS04zV1RG
MTJBdG9taWNTdHJpbmdFCitfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldFNlcmlmRm9udEZhbWls
eUVSS04zV1RGMTJBdG9taWNTdHJpbmdFTlMxXzExVVNjcmlwdENvZGVFCiBfX1pON1dlYkNvcmU4
U2V0dGluZ3MxOHNldFdlYkF1ZGlvRW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOW1p
bkRPTVRpbWVySW50ZXJ2YWxFdgogX19aTjdXZWJDb3JlOFNldHRpbmdzMTlzZXRTaG93RGVidWdC
b3JkZXJzRWIKLV9fWk43V2ViQ29yZThTZXR0aW5nczIwc2V0Q3Vyc2l2ZUZvbnRGYW1pbHlFUktO
M1dURjEyQXRvbWljU3RyaW5nRQotX19aTjdXZWJDb3JlOFNldHRpbmdzMjBzZXRGYW50YXN5Rm9u
dEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFCitfX1pON1dlYkNvcmU4U2V0dGluZ3MyMHNl
dEN1cnNpdmVGb250RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0VOUzFfMTFVU2NyaXB0Q29k
ZUUKK19fWk43V2ViQ29yZThTZXR0aW5nczIwc2V0RmFudGFzeUZvbnRGYW1pbHlFUktOM1dURjEy
QXRvbWljU3RyaW5nRU5TMV8xMVVTY3JpcHRDb2RlRQogX19aTjdXZWJDb3JlOFNldHRpbmdzMjBz
ZXRKYXZhU2NyaXB0RW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMHNldFhTU0F1ZGl0
b3JFbmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczIxc2V0U2hvd1JlcGFpbnRDb3VudGVy
RWIKLV9fWk43V2ViQ29yZThTZXR0aW5nczIxc2V0U3RhbmRhcmRGb250RmFtaWx5RVJLTjNXVEYx
MkF0b21pY1N0cmluZ0UKK19fWk43V2ViQ29yZThTZXR0aW5nczIxc2V0U3RhbmRhcmRGb250RmFt
aWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0VOUzFfMTFVU2NyaXB0Q29kZUUKIF9fWk43V2ViQ29y
ZThTZXR0aW5nczIxc2V0V2ViU2VjdXJpdHlFbmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5n
czIyc2V0TG9jYWxTdG9yYWdlRW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMnNldE1p
bkRPTVRpbWVySW50ZXJ2YWxFZAotX19aTjdXZWJDb3JlOFNldHRpbmdzMjJzZXRTYW5zU2VyaWZG
b250RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0UKK19fWk43V2ViQ29yZThTZXR0aW5nczIy
c2V0U2Fuc1NlcmlmRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFTlMxXzExVVNjcmlw
dENvZGVFCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMnNldFNlc3Npb25TdG9yYWdlUXVvdGFFagog
X19aTjdXZWJDb3JlOFNldHRpbmdzMjJzZXRTaG93c1VSTHNJblRvb2xUaXBzRWIKIF9fWk43V2Vi
Q29yZThTZXR0aW5nczIzc2V0RGVmYXVsdEZpeGVkRm9udFNpemVFaQpJbmRleDogU291cmNlL1dl
YkNvcmUvRm9yd2FyZGluZ0hlYWRlcnMvd3RmL3VuaWNvZGUvVVNjcmlwdENvZGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Gb3J3YXJkaW5nSGVhZGVycy93dGYvdW5pY29kZS9VU2Ny
aXB0Q29kZS5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvRm9yd2FyZGluZ0hlYWRl
cnMvd3RmL3VuaWNvZGUvVVNjcmlwdENvZGUuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0IEBA
CisjaWZuZGVmIFdlYkNvcmVfRldEX1VTY3JpcHRDb2RlX2gKKyNkZWZpbmUgV2ViQ29yZV9GV0Rf
VVNjcmlwdENvZGVfaAorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1VTY3JpcHRDb2RlLmg+Cisj
ZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCShyZXZpc2lvbiA4NjgxMCkKKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Miw2
ICs1MiwyMiBAQCBzdGF0aWMgdm9pZCBzZXRMb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHlJCiAgICAg
ICAgIGZyYW1lLT5kb2N1bWVudCgpLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigpLT5zZXRBdXRvTG9h
ZEltYWdlcyhwYWdlLT5zZXR0aW5ncygpLT5sb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkoKSk7CiB9
CiAKK3N0YXRpYyBpbmxpbmUgdm9pZCBzZXRHZW5lcmljRm9udEZhbWlseU1hcChTY3JpcHRGb250
RmFtaWx5TWFwJiBmb250TWFwLCBjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSwgV1RGOjpVU2Ny
aXB0Q29kZSBzY3JpcHQsIFBhZ2UqIHBhZ2UpCit7CisgICAgLy8gVVNDUklQVF9JTlZBTElEX0NP
REUgaXMgLTEgYW5kIFVTUklUUF9DT01NT04gaXMgMCwgd2hpY2ggYXJlIHNwZWNpYWwgKGRlbGV0
ZWQgYW5kIGVtcHR5KSBpbiBIYXNoTWFwIHdpdGggaW50IGtleXMuCisgICAgLy8gVG8gYXZvaWQg
dXNpbmcgLTEgYW5kIDAgYXMgYSBrZXksIHdlIGFkZCAyLgorICAgIGZvbnRNYXAuc2V0KHN0YXRp
Y19jYXN0PGludD4oc2NyaXB0KSArIDIsIGZhbWlseSk7CisgICAgcGFnZS0+c2V0TmVlZHNSZWNh
bGNTdHlsZUluQWxsRnJhbWVzKCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgY29uc3QgQXRvbWljU3Ry
aW5nJiBnZXRHZW5lcmljRm9udEZhbWlseUZvclNjcmlwdChjb25zdCBTY3JpcHRGb250RmFtaWx5
TWFwJiBmb250TWFwLCBXVEY6OlVTY3JpcHRDb2RlIHNjcmlwdCkKK3sKKyAgICBTY3JpcHRGb250
RmFtaWx5TWFwOjpjb25zdF9pdGVyYXRvciBpdCA9IGZvbnRNYXAuZmluZChzdGF0aWNfY2FzdDxp
bnQ+KHNjcmlwdCkgKyAyKTsKKyAgICBpZiAoaXQgIT0gZm9udE1hcC5lbmQoKSkKKyAgICAgICAg
cmV0dXJuIGl0LT5zZWNvbmQ7CisgICAgcmV0dXJuIGVtcHR5QXRvbTsKK30KKwogI2lmIFVTRShT
QUZBUklfVEhFTUUpCiBib29sIFNldHRpbmdzOjpnU2hvdWxkUGFpbnROYXRpdmVDb250cm9scyA9
IHRydWU7CiAjZW5kaWYKQEAgLTE4OSw1OCArMjA1LDY0IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQ
YWdlKiBwYWdlKQogICAgIEF0b21pY1N0cmluZzo6aW5pdCgpOwogfQogCi12b2lkIFNldHRpbmdz
OjpzZXRTdGFuZGFyZEZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBzdGFuZGFyZEZvbnRG
YW1pbHkpCitjb25zdCBBdG9taWNTdHJpbmcmIFNldHRpbmdzOjpzdGFuZGFyZEZvbnRGYW1pbHko
V1RGOjpVU2NyaXB0Q29kZSBzY3JpcHQpIGNvbnN0CiB7Ci0gICAgaWYgKHN0YW5kYXJkRm9udEZh
bWlseSA9PSBtX3N0YW5kYXJkRm9udEZhbWlseSkKLSAgICAgICAgcmV0dXJuOworICAgIHJldHVy
biBnZXRHZW5lcmljRm9udEZhbWlseUZvclNjcmlwdChtX3N0YW5kYXJkRm9udEZhbWlseU1hcCwg
c2NyaXB0KTsKK30KIAotICAgIG1fc3RhbmRhcmRGb250RmFtaWx5ID0gc3RhbmRhcmRGb250RmFt
aWx5OwotICAgIG1fcGFnZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzKCk7Cit2b2lk
IFNldHRpbmdzOjpzZXRTdGFuZGFyZEZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1p
bHksIFdURjo6VVNjcmlwdENvZGUgc2NyaXB0KQoreworICAgIHNldEdlbmVyaWNGb250RmFtaWx5
TWFwKG1fc3RhbmRhcmRGb250RmFtaWx5TWFwLCBmYW1pbHksIHNjcmlwdCwgbV9wYWdlKTsKIH0K
IAotdm9pZCBTZXR0aW5nczo6c2V0Rml4ZWRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYg
Zml4ZWRGb250RmFtaWx5KQorY29uc3QgQXRvbWljU3RyaW5nJiBTZXR0aW5nczo6Zml4ZWRGb250
RmFtaWx5KFdURjo6VVNjcmlwdENvZGUgc2NyaXB0KSBjb25zdAogewotICAgIGlmIChtX2ZpeGVk
Rm9udEZhbWlseSA9PSBmaXhlZEZvbnRGYW1pbHkpCi0gICAgICAgIHJldHVybjsKLSAgICAgICAg
Ci0gICAgbV9maXhlZEZvbnRGYW1pbHkgPSBmaXhlZEZvbnRGYW1pbHk7Ci0gICAgbV9wYWdlLT5z
ZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKKyAgICByZXR1cm4gZ2V0R2VuZXJpY0Zv
bnRGYW1pbHlGb3JTY3JpcHQobV9maXhlZEZvbnRGYW1pbHlNYXAsIHNjcmlwdCk7CiB9CiAKLXZv
aWQgU2V0dGluZ3M6OnNldFNlcmlmRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIHNlcmlm
Rm9udEZhbWlseSkKK3ZvaWQgU2V0dGluZ3M6OnNldEZpeGVkRm9udEZhbWlseShjb25zdCBBdG9t
aWNTdHJpbmcmIGZhbWlseSwgV1RGOjpVU2NyaXB0Q29kZSBzY3JpcHQpCiB7Ci0gICAgaWYgKG1f
c2VyaWZGb250RmFtaWx5ID09IHNlcmlmRm9udEZhbWlseSkKLSAgICAgICAgcmV0dXJuOwotICAg
ICAgICAKLSAgICBtX3NlcmlmRm9udEZhbWlseSA9IHNlcmlmRm9udEZhbWlseTsKLSAgICBtX3Bh
Z2UtPnNldE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcygpOworICAgIHNldEdlbmVyaWNGb250
RmFtaWx5TWFwKG1fZml4ZWRGb250RmFtaWx5TWFwLCBmYW1pbHksIHNjcmlwdCwgbV9wYWdlKTsK
IH0KIAotdm9pZCBTZXR0aW5nczo6c2V0U2Fuc1NlcmlmRm9udEZhbWlseShjb25zdCBBdG9taWNT
dHJpbmcmIHNhbnNTZXJpZkZvbnRGYW1pbHkpCitjb25zdCBBdG9taWNTdHJpbmcmIFNldHRpbmdz
OjpzZXJpZkZvbnRGYW1pbHkoV1RGOjpVU2NyaXB0Q29kZSBzY3JpcHQpIGNvbnN0CiB7Ci0gICAg
aWYgKG1fc2Fuc1NlcmlmRm9udEZhbWlseSA9PSBzYW5zU2VyaWZGb250RmFtaWx5KQotICAgICAg
ICByZXR1cm47Ci0gICAgICAgIAotICAgIG1fc2Fuc1NlcmlmRm9udEZhbWlseSA9IHNhbnNTZXJp
ZkZvbnRGYW1pbHk7IAotICAgIG1fcGFnZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVz
KCk7CisgICAgcmV0dXJuIGdldEdlbmVyaWNGb250RmFtaWx5Rm9yU2NyaXB0KG1fc2VyaWZGb250
RmFtaWx5TWFwLCBzY3JpcHQpOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRDdXJzaXZlRm9udEZh
bWlseShjb25zdCBBdG9taWNTdHJpbmcmIGN1cnNpdmVGb250RmFtaWx5KQordm9pZCBTZXR0aW5n
czo6c2V0U2VyaWZGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5LCBXVEY6OlVT
Y3JpcHRDb2RlIHNjcmlwdCkKIHsKLSAgICBpZiAobV9jdXJzaXZlRm9udEZhbWlseSA9PSBjdXJz
aXZlRm9udEZhbWlseSkKLSAgICAgICAgcmV0dXJuOwotICAgICAgICAKLSAgICBtX2N1cnNpdmVG
b250RmFtaWx5ID0gY3Vyc2l2ZUZvbnRGYW1pbHk7Ci0gICAgbV9wYWdlLT5zZXROZWVkc1JlY2Fs
Y1N0eWxlSW5BbGxGcmFtZXMoKTsKKyAgICAgc2V0R2VuZXJpY0ZvbnRGYW1pbHlNYXAobV9zZXJp
ZkZvbnRGYW1pbHlNYXAsIGZhbWlseSwgc2NyaXB0LCBtX3BhZ2UpOwogfQogCi12b2lkIFNldHRp
bmdzOjpzZXRGYW50YXN5Rm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZhbnRhc3lGb250
RmFtaWx5KQorY29uc3QgQXRvbWljU3RyaW5nJiBTZXR0aW5nczo6c2Fuc1NlcmlmRm9udEZhbWls
eShXVEY6OlVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKIHsKLSAgICBpZiAobV9mYW50YXN5Rm9u
dEZhbWlseSA9PSBmYW50YXN5Rm9udEZhbWlseSkKLSAgICAgICAgcmV0dXJuOwotICAgICAgICAK
LSAgICBtX2ZhbnRhc3lGb250RmFtaWx5ID0gZmFudGFzeUZvbnRGYW1pbHk7Ci0gICAgbV9wYWdl
LT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKKyAgICByZXR1cm4gZ2V0R2VuZXJp
Y0ZvbnRGYW1pbHlGb3JTY3JpcHQobV9zYW5zU2VyaWZGb250RmFtaWx5TWFwLCBzY3JpcHQpOwor
fQorCit2b2lkIFNldHRpbmdzOjpzZXRTYW5zU2VyaWZGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0
cmluZyYgZmFtaWx5LCBXVEY6OlVTY3JpcHRDb2RlIHNjcmlwdCkKK3sKKyAgICBzZXRHZW5lcmlj
Rm9udEZhbWlseU1hcChtX3NhbnNTZXJpZkZvbnRGYW1pbHlNYXAsIGZhbWlseSwgc2NyaXB0LCBt
X3BhZ2UpOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIFNldHRpbmdzOjpjdXJzaXZlRm9udEZh
bWlseShXVEY6OlVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKK3sKKyAgICByZXR1cm4gZ2V0R2Vu
ZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQobV9jdXJzaXZlRm9udEZhbWlseU1hcCwgc2NyaXB0KTsK
K30KKwordm9pZCBTZXR0aW5nczo6c2V0Q3Vyc2l2ZUZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3Ry
aW5nJiBmYW1pbHksIFdURjo6VVNjcmlwdENvZGUgc2NyaXB0KQoreworICAgIHNldEdlbmVyaWNG
b250RmFtaWx5TWFwKG1fY3Vyc2l2ZUZvbnRGYW1pbHlNYXAsIGZhbWlseSwgc2NyaXB0LCBtX3Bh
Z2UpOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIFNldHRpbmdzOjpmYW50YXN5Rm9udEZhbWls
eShXVEY6OlVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKK3sKKyAgICByZXR1cm4gZ2V0R2VuZXJp
Y0ZvbnRGYW1pbHlGb3JTY3JpcHQobV9mYW50YXN5Rm9udEZhbWlseU1hcCwgc2NyaXB0KTsKK30K
Kwordm9pZCBTZXR0aW5nczo6c2V0RmFudGFzeUZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5n
JiBmYW1pbHksIFdURjo6VVNjcmlwdENvZGUgc2NyaXB0KQoreworICAgIHNldEdlbmVyaWNGb250
RmFtaWx5TWFwKG1fZmFudGFzeUZvbnRGYW1pbHlNYXAsIGZhbWlseSwgc2NyaXB0LCBtX3BhZ2Up
OwogfQogCiB2b2lkIFNldHRpbmdzOjpzZXRNaW5pbXVtRm9udFNpemUoaW50IG1pbmltdW1Gb250
U2l6ZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgJKHJldmlzaW9uIDg2ODEwKQorKysgU291
cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSwx
MCBAQAogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSAiS1VSTC5oIgog
I2luY2x1ZGUgIlRpbWVyLmgiCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmdI
YXNoLmg+CisjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVVNjcmlwdENvZGUuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCkBAIC01MSwyOCArNTQsMzAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICBUZXh0RGlyZWN0aW9uU3VibWVudUFsd2F5c0luY2x1ZGVkCiAgICAgfTsKIAorICAgIHR5
cGVkZWYgSGFzaE1hcDxpbnQsIEF0b21pY1N0cmluZz4gU2NyaXB0Rm9udEZhbWlseU1hcDsKKwog
ICAgIGNsYXNzIFNldHRpbmdzIHsKICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2V0dGlu
Z3MpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFNldHRp
bmdzKFBhZ2UqKTsKIAotICAgICAgICB2b2lkIHNldFN0YW5kYXJkRm9udEZhbWlseShjb25zdCBB
dG9taWNTdHJpbmcmKTsKLSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBzdGFuZGFyZEZvbnRG
YW1pbHkoKSBjb25zdCB7IHJldHVybiBtX3N0YW5kYXJkRm9udEZhbWlseTsgfQorICAgICAgICB2
b2lkIHNldFN0YW5kYXJkRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmLCBXVEY6OlVTY3Jp
cHRDb2RlID0gV1RGOjpVU0NSSVBUX0NPTU1PTik7CisgICAgICAgIGNvbnN0IEF0b21pY1N0cmlu
ZyYgc3RhbmRhcmRGb250RmFtaWx5KFdURjo6VVNjcmlwdENvZGUgPSBXVEY6OlVTQ1JJUFRfQ09N
TU9OKSBjb25zdDsKIAotICAgICAgICB2b2lkIHNldEZpeGVkRm9udEZhbWlseShjb25zdCBBdG9t
aWNTdHJpbmcmKTsKLSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBmaXhlZEZvbnRGYW1pbHko
KSBjb25zdCB7IHJldHVybiBtX2ZpeGVkRm9udEZhbWlseTsgfQorICAgICAgICB2b2lkIHNldEZp
eGVkRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmLCBXVEY6OlVTY3JpcHRDb2RlID0gV1RG
OjpVU0NSSVBUX0NPTU1PTik7CisgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgZml4ZWRGb250
RmFtaWx5KFdURjo6VVNjcmlwdENvZGUgPSBXVEY6OlVTQ1JJUFRfQ09NTU9OKSBjb25zdDsKIAot
ICAgICAgICB2b2lkIHNldFNlcmlmRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmKTsKLSAg
ICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBzZXJpZkZvbnRGYW1pbHkoKSBjb25zdCB7IHJldHVy
biBtX3NlcmlmRm9udEZhbWlseTsgfQorICAgICAgICB2b2lkIHNldFNlcmlmRm9udEZhbWlseShj
b25zdCBBdG9taWNTdHJpbmcmLCBXVEY6OlVTY3JpcHRDb2RlID0gV1RGOjpVU0NSSVBUX0NPTU1P
Tik7CisgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgc2VyaWZGb250RmFtaWx5KFdURjo6VVNj
cmlwdENvZGUgPSBXVEY6OlVTQ1JJUFRfQ09NTU9OKSBjb25zdDsKIAotICAgICAgICB2b2lkIHNl
dFNhbnNTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJik7Ci0gICAgICAgIGNvbnN0
IEF0b21pY1N0cmluZyYgc2Fuc1NlcmlmRm9udEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fc2Fu
c1NlcmlmRm9udEZhbWlseTsgfQorICAgICAgICB2b2lkIHNldFNhbnNTZXJpZkZvbnRGYW1pbHko
Y29uc3QgQXRvbWljU3RyaW5nJiwgV1RGOjpVU2NyaXB0Q29kZSA9IFdURjo6VVNDUklQVF9DT01N
T04pOworICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHNhbnNTZXJpZkZvbnRGYW1pbHkoV1RG
OjpVU2NyaXB0Q29kZSA9IFdURjo6VVNDUklQVF9DT01NT04pIGNvbnN0OwogCi0gICAgICAgIHZv
aWQgc2V0Q3Vyc2l2ZUZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJik7Ci0gICAgICAgIGNv
bnN0IEF0b21pY1N0cmluZyYgY3Vyc2l2ZUZvbnRGYW1pbHkoKSBjb25zdCB7IHJldHVybiBtX2N1
cnNpdmVGb250RmFtaWx5OyB9CisgICAgICAgIHZvaWQgc2V0Q3Vyc2l2ZUZvbnRGYW1pbHkoY29u
c3QgQXRvbWljU3RyaW5nJiwgV1RGOjpVU2NyaXB0Q29kZSA9IFdURjo6VVNDUklQVF9DT01NT04p
OworICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGN1cnNpdmVGb250RmFtaWx5KFdURjo6VVNj
cmlwdENvZGUgPSBXVEY6OlVTQ1JJUFRfQ09NTU9OKSBjb25zdDsKIAotICAgICAgICB2b2lkIHNl
dEZhbnRhc3lGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYpOwotICAgICAgICBjb25zdCBB
dG9taWNTdHJpbmcmIGZhbnRhc3lGb250RmFtaWx5KCkgY29uc3QgeyByZXR1cm4gbV9mYW50YXN5
Rm9udEZhbWlseTsgfQorICAgICAgICB2b2lkIHNldEZhbnRhc3lGb250RmFtaWx5KGNvbnN0IEF0
b21pY1N0cmluZyYsIFdURjo6VVNjcmlwdENvZGUgPSBXVEY6OlVTQ1JJUFRfQ09NTU9OKTsKKyAg
ICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBmYW50YXN5Rm9udEZhbWlseShXVEY6OlVTY3JpcHRD
b2RlID0gV1RGOjpVU0NSSVBUX0NPTU1PTikgY29uc3Q7CiAKICAgICAgICAgdm9pZCBzZXRNaW5p
bXVtRm9udFNpemUoaW50KTsKICAgICAgICAgaW50IG1pbmltdW1Gb250U2l6ZSgpIGNvbnN0IHsg
cmV0dXJuIG1fbWluaW11bUZvbnRTaXplOyB9CkBAIC00MTUsMTIgKzQyMCwxMiBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIFN0cmluZyBtX2Z0cERpcmVjdG9yeVRlbXBsYXRlUGF0aDsK
ICAgICAgICAgU3RyaW5nIG1fbG9jYWxTdG9yYWdlRGF0YWJhc2VQYXRoOwogICAgICAgICBLVVJM
IG1fdXNlclN0eWxlU2hlZXRMb2NhdGlvbjsKLSAgICAgICAgQXRvbWljU3RyaW5nIG1fc3RhbmRh
cmRGb250RmFtaWx5OwotICAgICAgICBBdG9taWNTdHJpbmcgbV9maXhlZEZvbnRGYW1pbHk7Ci0g
ICAgICAgIEF0b21pY1N0cmluZyBtX3NlcmlmRm9udEZhbWlseTsKLSAgICAgICAgQXRvbWljU3Ry
aW5nIG1fc2Fuc1NlcmlmRm9udEZhbWlseTsKLSAgICAgICAgQXRvbWljU3RyaW5nIG1fY3Vyc2l2
ZUZvbnRGYW1pbHk7Ci0gICAgICAgIEF0b21pY1N0cmluZyBtX2ZhbnRhc3lGb250RmFtaWx5Owor
ICAgICAgICBTY3JpcHRGb250RmFtaWx5TWFwIG1fc3RhbmRhcmRGb250RmFtaWx5TWFwOworICAg
ICAgICBTY3JpcHRGb250RmFtaWx5TWFwIG1fc2VyaWZGb250RmFtaWx5TWFwOworICAgICAgICBT
Y3JpcHRGb250RmFtaWx5TWFwIG1fZml4ZWRGb250RmFtaWx5TWFwOworICAgICAgICBTY3JpcHRG
b250RmFtaWx5TWFwIG1fc2Fuc1NlcmlmRm9udEZhbWlseU1hcDsKKyAgICAgICAgU2NyaXB0Rm9u
dEZhbWlseU1hcCBtX2N1cnNpdmVGb250RmFtaWx5TWFwOworICAgICAgICBTY3JpcHRGb250RmFt
aWx5TWFwIG1fZmFudGFzeUZvbnRGYW1pbHlNYXA7CiAgICAgICAgIEVkaXRhYmxlTGlua0JlaGF2
aW9yIG1fZWRpdGFibGVMaW5rQmVoYXZpb3I7CiAgICAgICAgIFRleHREaXJlY3Rpb25TdWJtZW51
SW5jbHVzaW9uQmVoYXZpb3IgbV90ZXh0RGlyZWN0aW9uU3VibWVudUluY2x1c2lvbkJlaGF2aW9y
OwogICAgICAgICBpbnQgbV9taW5pbXVtRm9udFNpemU7Cg==
</data>
<flag name="review"
          id="87271"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98254</attachid>
            <date>2011-06-22 15:41:25 -0700</date>
            <delta_ts>2011-06-22 17:23:58 -0700</delta_ts>
            <desc>patch updated per review comments </desc>
            <filename>20797.patch.7b</filename>
            <type>text/plain</type>
            <size>67098</size>
            <attacher name="Jungshik Shin">jshin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODk0ODUpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAK
KzIwMTEtMDYtMjIgIEp1bmdzaGlrIFNoaW4gIDxqc2hpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFNjcmlwdENvZGVz
RnJvbUlDVS5oIHRvIHd0Zi91bmljb2RlIGFuZCBtYWtlIG5lY2Vzc2FyeSBjaGFuZ2VzIGluCisg
ICAgICAgIGJ1aWxkIGZpbGVzIGZvciBwb3J0cyBub3QgdXNpbmcgSUNVLgorICAgICAgICBBZGQg
aWN1L3VuaWNvZGUvdXNjcmlwdC5oIGZvciBwb3J0cyB1c2luZyBJQ1UuIFR3byBBUElzIG5ldwor
ICAgICAgICBpbiBJQ1UgNC42IGFyZSByZW1vdmVkIHdoaWxlIFVTY3JpcHRDb2RlIGVudW0gaXMg
dXAgdG8gZGF0ZQorICAgICAgICBhcyBvZiBJQ1UgNC42LgorCisgICAgICAgIGh0dHA6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzk3CisKKyAgICAgICAgKiBHTlVtYWtlZmls
ZS5saXN0LmFtOgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLmd5cGk6CisgICAgICAgICogaWN1
L3VuaWNvZGUvdXNjcmlwdC5oOiBBZGRlZCBmb3IgVVNjcmlwdENvZGUgZW51bS4KKyAgICAgICAg
KiB3dGYvdW5pY29kZS9TY3JpcHRDb2Rlc0Zyb21JQ1UuaDogVVNjcmlwdENvZGUgZW51bSBhZGRl
ZC4KKyAgICAgICAgKiB3dGYvdW5pY29kZS9Vbmljb2RlLmg6CisKIDIwMTEtMDYtMjIgIEdlb2Zm
cmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBPbGl2
ZXIgSHVudC4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CShyZXZpc2lvbiA4OTQ4NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCSh3b3JraW5nIGNvcHkpCkBAIC02MzAsNiArNjMwLDcgQEAgZW5kaWYgIyBVU0VfSUNV
X1VOSUNPREUKIGlmIFVTRV9HTElCX1VOSUNPREUKIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0g
XAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Vbmljb2RlTWFjcm9zRnJvbUlD
VS5oIFwKKwlTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvU2NyaXB0Y29kZXNGcm9t
SUNVLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9nbGliL1VuaWNvZGVH
TGliLmggXAogCVNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9nbGliL1VuaWNvZGVH
TGliLmNwcAogZW5kaWYgIyBVU0VfR0xJQl9VTklDT0RFCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQkocmV2aXNpb24gODk0ODUpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMzY1LDYg
KzM2NSw3IEBACiAgICAgICAgICAgICAnaWN1L3VuaWNvZGUvdW1hY2hpbmUuaCcsCiAgICAgICAg
ICAgICAnaWN1L3VuaWNvZGUvdW5vcm0uaCcsCiAgICAgICAgICAgICAnaWN1L3VuaWNvZGUvdXJl
bmFtZS5oJywKKyAgICAgICAgICAgICdpY3UvdW5pY29kZS91c2NyaXB0LmgnLAogICAgICAgICAg
ICAgJ2ljdS91bmljb2RlL3VzZXQuaCcsCiAgICAgICAgICAgICAnaWN1L3VuaWNvZGUvdXN0cmlu
Zy5oJywKICAgICAgICAgICAgICdpY3UvdW5pY29kZS91dGYuaCcsCkBAIC02NTUsNiArNjU2LDcg
QEAKICAgICAgICAgICAgICd3dGYvdGV4dC9TdHJpbmdTdGF0aWNzLmNwcCcsCiAgICAgICAgICAg
ICAnd3RmL3RleHQvV1RGU3RyaW5nLmNwcCcsCiAgICAgICAgICAgICAnd3RmL3VuaWNvZGUvQ29s
bGF0b3JEZWZhdWx0LmNwcCcsCisgICAgICAgICAgICAnd3RmL3VuaWNvZGUvU2NyaXB0Q29kZXNG
cm9tSUNVLmgnLAogICAgICAgICAgICAgJ3d0Zi91bmljb2RlL1VURjguY3BwJywKICAgICAgICAg
ICAgICd3dGYvdW5pY29kZS9Vbmljb2RlTWFjcm9zRnJvbUlDVS5oJywKICAgICAgICAgICAgICd3
dGYvdW5pY29kZS9icmV3L1VuaWNvZGVCcmV3LmNwcCcsCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaWN1L3VuaWNvZGUvdXNjcmlwdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pY3UvdW5pY29kZS91c2NyaXB0LmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaWN1L3VuaWNvZGUvdXNjcmlwdC5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDI3OSBAQAorLyoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAgIENvcHlyaWdodCAoQykgMTk5Ny0yMDEw
LCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCisgKiAgIENvcnBvcmF0aW9uIGFuZCBv
dGhlcnMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKiBGaWxl
IFVTQ1JJUFQuSAorICoKKyAqIE1vZGlmaWNhdGlvbiBIaXN0b3J5OgorICoKKyAqICAgRGF0ZSAg
ICAgICAgTmFtZSAgICAgICAgRGVzY3JpcHRpb24KKyAqICAgMDcvMDYvMjAwMSAgICBSYW0gICAg
ICAgICBDcmVhdGlvbi4KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqLworCisjaWZuZGVmIFVT
Q1JJUFRfSAorI2RlZmluZSBVU0NSSVBUX0gKKyNpbmNsdWRlICJ1bmljb2RlL3V0eXBlcy5oIgor
CisvKioKKyAqIFxmaWxlCisgKiBcYnJpZWYgQyBBUEk6IFVuaWNvZGUgU2NyaXB0IEluZm9ybWF0
aW9uCisgKi8KKyAKKy8qKgorICogQ29uc3RhbnRzIGZvciBJU08gMTU5MjQgc2NyaXB0IGNvZGVz
LgorICoKKyAqIE1hbnkgb2YgdGhlc2Ugc2NyaXB0IGNvZGVzIC0gdGhvc2UgZnJvbSBVbmljb2Rl
J3MgU2NyaXB0TmFtZXMudHh0IC0KKyAqIGFyZSBjaGFyYWN0ZXIgcHJvcGVydHkgdmFsdWVzIGZv
ciBVbmljb2RlJ3MgU2NyaXB0IHByb3BlcnR5LgorICogU2VlIFVBWCAjMjQgU2NyaXB0IE5hbWVz
IChodHRwOi8vd3d3LnVuaWNvZGUub3JnL3JlcG9ydHMvdHIyNC8pLgorICoKKyAqIFN0YXJ0aW5n
IHdpdGggSUNVIDMuNiwgY29uc3RhbnRzIGZvciBtb3N0IElTTyAxNTkyNCBzY3JpcHQgY29kZXMK
KyAqIGFyZSBpbmNsdWRlZCAoY3VycmVudGx5IGV4Y2x1ZGluZyBwcml2YXRlLXVzZSBjb2RlcyBR
YWFhLi5RYWJ4KS4KKyAqIEZvciBzY3JpcHRzIGZvciB3aGljaCB0aGVyZSBhcmUgY29kZXMgaW4g
SVNPIDE1OTI0IGJ1dCB3aGljaCBhcmUgbm90CisgKiB1c2VkIGluIHRoZSBVbmljb2RlIENoYXJh
Y3RlciBEYXRhYmFzZSAoVUNEKSwgdGhlcmUgYXJlIG5vIFVuaWNvZGUgY2hhcmFjdGVycworICog
YXNzb2NpYXRlZCB3aXRoIHRob3NlIHNjcmlwdHMuCisgKgorICogRm9yIGV4YW1wbGUsIHRoZXJl
IGFyZSBubyBjaGFyYWN0ZXJzIHRoYXQgaGF2ZSBhIFVDRCBzY3JpcHQgY29kZSBvZgorICogSGFu
cyBvciBIYW50LiBBbGwgSGFuIGlkZW9ncmFwaHMgaGF2ZSB0aGUgSGFuaSBzY3JpcHQgY29kZS4K
KyAqIFRoZSBIYW5zIGFuZCBIYW50IHNjcmlwdCBjb2RlcyBhcmUgdXNlZCB3aXRoIENMRFIgZGF0
YS4KKyAqCisgKiBJU08gMTU5MjQgc2NyaXB0IGNvZGVzIGFyZSBpbmNsdWRlZCBmb3IgdXNlIHdp
dGggQ0xEUiBhbmQgc2ltaWxhci4KKyAqCisgKiBAc3RhYmxlIElDVSAyLjIKKyAqLwordHlwZWRl
ZiBlbnVtIFVTY3JpcHRDb2RlIHsKKyAgICAgIFVTQ1JJUFRfSU5WQUxJRF9DT0RFID0gLTEsCisg
ICAgICBVU0NSSVBUX0NPTU1PTiAgICAgICA9ICAwLCAgLyogWnl5eSAqLworICAgICAgVVNDUklQ
VF9JTkhFUklURUQgICAgPSAgMSwgIC8qIFppbmggKi8gLyogIkNvZGUgZm9yIGluaGVyaXRlZCBz
Y3JpcHQiLCBmb3Igbm9uLXNwYWNpbmcgY29tYmluaW5nIG1hcmtzOyBhbHNvIFFhYWkgKi8KKyAg
ICAgIFVTQ1JJUFRfQVJBQklDICAgICAgID0gIDIsICAvKiBBcmFiICovCisgICAgICBVU0NSSVBU
X0FSTUVOSUFOICAgICA9ICAzLCAgLyogQXJtbiAqLworICAgICAgVVNDUklQVF9CRU5HQUxJICAg
ICAgPSAgNCwgIC8qIEJlbmcgKi8KKyAgICAgIFVTQ1JJUFRfQk9QT01PRk8gICAgID0gIDUsICAv
KiBCb3BvICovCisgICAgICBVU0NSSVBUX0NIRVJPS0VFICAgICA9ICA2LCAgLyogQ2hlciAqLwor
ICAgICAgVVNDUklQVF9DT1BUSUMgICAgICAgPSAgNywgIC8qIENvcHQgKi8KKyAgICAgIFVTQ1JJ
UFRfQ1lSSUxMSUMgICAgID0gIDgsICAvKiBDeXJsICovCisgICAgICBVU0NSSVBUX0RFU0VSRVQg
ICAgICA9ICA5LCAgLyogRHNydCAqLworICAgICAgVVNDUklQVF9ERVZBTkFHQVJJICAgPSAxMCwg
IC8qIERldmEgKi8KKyAgICAgIFVTQ1JJUFRfRVRISU9QSUMgICAgID0gMTEsICAvKiBFdGhpICov
CisgICAgICBVU0NSSVBUX0dFT1JHSUFOICAgICA9IDEyLCAgLyogR2VvciAqLworICAgICAgVVND
UklQVF9HT1RISUMgICAgICAgPSAxMywgIC8qIEdvdGggKi8KKyAgICAgIFVTQ1JJUFRfR1JFRUsg
ICAgICAgID0gMTQsICAvKiBHcmVrICovCisgICAgICBVU0NSSVBUX0dVSkFSQVRJICAgICA9IDE1
LCAgLyogR3VqciAqLworICAgICAgVVNDUklQVF9HVVJNVUtISSAgICAgPSAxNiwgIC8qIEd1cnUg
Ki8KKyAgICAgIFVTQ1JJUFRfSEFOICAgICAgICAgID0gMTcsICAvKiBIYW5pICovCisgICAgICBV
U0NSSVBUX0hBTkdVTCAgICAgICA9IDE4LCAgLyogSGFuZyAqLworICAgICAgVVNDUklQVF9IRUJS
RVcgICAgICAgPSAxOSwgIC8qIEhlYnIgKi8KKyAgICAgIFVTQ1JJUFRfSElSQUdBTkEgICAgID0g
MjAsICAvKiBIaXJhICovCisgICAgICBVU0NSSVBUX0tBTk5BREEgICAgICA9IDIxLCAgLyogS25k
YSAqLworICAgICAgVVNDUklQVF9LQVRBS0FOQSAgICAgPSAyMiwgIC8qIEthbmEgKi8KKyAgICAg
IFVTQ1JJUFRfS0hNRVIgICAgICAgID0gMjMsICAvKiBLaG1yICovCisgICAgICBVU0NSSVBUX0xB
TyAgICAgICAgICA9IDI0LCAgLyogTGFvbyAqLworICAgICAgVVNDUklQVF9MQVRJTiAgICAgICAg
PSAyNSwgIC8qIExhdG4gKi8KKyAgICAgIFVTQ1JJUFRfTUFMQVlBTEFNICAgID0gMjYsICAvKiBN
bHltICovCisgICAgICBVU0NSSVBUX01PTkdPTElBTiAgICA9IDI3LCAgLyogTW9uZyAqLworICAg
ICAgVVNDUklQVF9NWUFOTUFSICAgICAgPSAyOCwgIC8qIE15bXIgKi8KKyAgICAgIFVTQ1JJUFRf
T0dIQU0gICAgICAgID0gMjksICAvKiBPZ2FtICovCisgICAgICBVU0NSSVBUX09MRF9JVEFMSUMg
ICA9IDMwLCAgLyogSXRhbCAqLworICAgICAgVVNDUklQVF9PUklZQSAgICAgICAgPSAzMSwgIC8q
IE9yeWEgKi8KKyAgICAgIFVTQ1JJUFRfUlVOSUMgICAgICAgID0gMzIsICAvKiBSdW5yICovCisg
ICAgICBVU0NSSVBUX1NJTkhBTEEgICAgICA9IDMzLCAgLyogU2luaCAqLworICAgICAgVVNDUklQ
VF9TWVJJQUMgICAgICAgPSAzNCwgIC8qIFN5cmMgKi8KKyAgICAgIFVTQ1JJUFRfVEFNSUwgICAg
ICAgID0gMzUsICAvKiBUYW1sICovCisgICAgICBVU0NSSVBUX1RFTFVHVSAgICAgICA9IDM2LCAg
LyogVGVsdSAqLworICAgICAgVVNDUklQVF9USEFBTkEgICAgICAgPSAzNywgIC8qIFRoYWEgKi8K
KyAgICAgIFVTQ1JJUFRfVEhBSSAgICAgICAgID0gMzgsICAvKiBUaGFpICovCisgICAgICBVU0NS
SVBUX1RJQkVUQU4gICAgICA9IDM5LCAgLyogVGlidCAqLworICAgICAgLyoqIENhbmFkaWFuX0Fi
b3JpZ2luYWwgc2NyaXB0LiBAc3RhYmxlIElDVSAyLjYgKi8KKyAgICAgIFVTQ1JJUFRfQ0FOQURJ
QU5fQUJPUklHSU5BTCA9IDQwLCAgLyogQ2FucyAqLworICAgICAgLyoqIENhbmFkaWFuX0Fib3Jp
Z2luYWwgc2NyaXB0IChhbGlhcykuIEBzdGFibGUgSUNVIDIuMiAqLworICAgICAgVVNDUklQVF9V
Q0FTICAgICAgICAgPSBVU0NSSVBUX0NBTkFESUFOX0FCT1JJR0lOQUwsCisgICAgICBVU0NSSVBU
X1lJICAgICAgICAgICA9IDQxLCAgLyogWWlpaSAqLworICAgICAgVVNDUklQVF9UQUdBTE9HICAg
ICAgPSA0MiwgIC8qIFRnbGcgKi8KKyAgICAgIFVTQ1JJUFRfSEFOVU5PTyAgICAgID0gNDMsICAv
KiBIYW5vICovCisgICAgICBVU0NSSVBUX0JVSElEICAgICAgICA9IDQ0LCAgLyogQnVoZCAqLwor
ICAgICAgVVNDUklQVF9UQUdCQU5XQSAgICAgPSA0NSwgIC8qIFRhZ2IgKi8KKworICAgICAgLyog
TmV3IHNjcmlwdHMgaW4gVW5pY29kZSA0IEBzdGFibGUgSUNVIDIuNiAqLworICAgICAgVVNDUklQ
VF9CUkFJTExFICAgICAgPSA0NiwgIC8qIEJyYWkgKi8KKyAgICAgIFVTQ1JJUFRfQ1lQUklPVCAg
ICAgID0gNDcsICAvKiBDcHJ0ICovCisgICAgICBVU0NSSVBUX0xJTUJVICAgICAgICA9IDQ4LCAg
LyogTGltYiAqLworICAgICAgVVNDUklQVF9MSU5FQVJfQiAgICAgPSA0OSwgIC8qIExpbmIgKi8K
KyAgICAgIFVTQ1JJUFRfT1NNQU5ZQSAgICAgID0gNTAsICAvKiBPc21hICovCisgICAgICBVU0NS
SVBUX1NIQVZJQU4gICAgICA9IDUxLCAgLyogU2hhdyAqLworICAgICAgVVNDUklQVF9UQUlfTEUg
ICAgICAgPSA1MiwgIC8qIFRhbGUgKi8KKyAgICAgIFVTQ1JJUFRfVUdBUklUSUMgICAgID0gNTMs
ICAvKiBVZ2FyICovCisKKyAgICAgIC8qKiBOZXcgc2NyaXB0IGNvZGUgaW4gVW5pY29kZSA0LjAu
MSBAc3RhYmxlIElDVSAzLjAgKi8KKyAgICAgIFVTQ1JJUFRfS0FUQUtBTkFfT1JfSElSQUdBTkEg
PSA1NCwvKkhya3QgKi8KKworICAgICAgLyogTmV3IHNjcmlwdHMgaW4gVW5pY29kZSA0LjEgQHN0
YWJsZSBJQ1UgMy40ICovCisgICAgICBVU0NSSVBUX0JVR0lORVNFICAgICAgPSA1NSwgLyogQnVn
aSAqLworICAgICAgVVNDUklQVF9HTEFHT0xJVElDICAgID0gNTYsIC8qIEdsYWcgKi8KKyAgICAg
IFVTQ1JJUFRfS0hBUk9TSFRISSAgICA9IDU3LCAvKiBLaGFyICovCisgICAgICBVU0NSSVBUX1NZ
TE9USV9OQUdSSSAgPSA1OCwgLyogU3lsbyAqLworICAgICAgVVNDUklQVF9ORVdfVEFJX0xVRSAg
ID0gNTksIC8qIFRhbHUgKi8KKyAgICAgIFVTQ1JJUFRfVElGSU5BR0ggICAgICA9IDYwLCAvKiBU
Zm5nICovCisgICAgICBVU0NSSVBUX09MRF9QRVJTSUFOICAgPSA2MSwgLyogWHBlbyAqLworCisg
ICAgICAvKiBOZXcgc2NyaXB0IGNvZGVzIGZyb20gSVNPIDE1OTI0IEBzdGFibGUgSUNVIDMuNiAq
LworICAgICAgVVNDUklQVF9CQUxJTkVTRSAgICAgICAgICAgICAgICAgICAgICA9IDYyLCAvKiBC
YWxpICovCisgICAgICBVU0NSSVBUX0JBVEFLICAgICAgICAgICAgICAgICAgICAgICAgID0gNjMs
IC8qIEJhdGsgKi8KKyAgICAgIFVTQ1JJUFRfQkxJU1NZTUJPTFMgICAgICAgICAgICAgICAgICAg
PSA2NCwgLyogQmxpcyAqLworICAgICAgVVNDUklQVF9CUkFITUkgICAgICAgICAgICAgICAgICAg
ICAgICA9IDY1LCAvKiBCcmFoICovCisgICAgICBVU0NSSVBUX0NIQU0gICAgICAgICAgICAgICAg
ICAgICAgICAgID0gNjYsIC8qIENoYW0gKi8KKyAgICAgIFVTQ1JJUFRfQ0lSVEggICAgICAgICAg
ICAgICAgICAgICAgICAgPSA2NywgLyogQ2lydCAqLworICAgICAgVVNDUklQVF9PTERfQ0hVUkNI
X1NMQVZPTklDX0NZUklMTElDICA9IDY4LCAvKiBDeXJzICovCisgICAgICBVU0NSSVBUX0RFTU9U
SUNfRUdZUFRJQU4gICAgICAgICAgICAgID0gNjksIC8qIEVneWQgKi8KKyAgICAgIFVTQ1JJUFRf
SElFUkFUSUNfRUdZUFRJQU4gICAgICAgICAgICAgPSA3MCwgLyogRWd5aCAqLworICAgICAgVVND
UklQVF9FR1lQVElBTl9ISUVST0dMWVBIUyAgICAgICAgICA9IDcxLCAvKiBFZ3lwICovCisgICAg
ICBVU0NSSVBUX0tIVVRTVVJJICAgICAgICAgICAgICAgICAgICAgID0gNzIsIC8qIEdlb2sgKi8K
KyAgICAgIFVTQ1JJUFRfU0lNUExJRklFRF9IQU4gICAgICAgICAgICAgICAgPSA3MywgLyogSGFu
cyAqLworICAgICAgVVNDUklQVF9UUkFESVRJT05BTF9IQU4gICAgICAgICAgICAgICA9IDc0LCAv
KiBIYW50ICovCisgICAgICBVU0NSSVBUX1BBSEFXSF9ITU9ORyAgICAgICAgICAgICAgICAgID0g
NzUsIC8qIEhtbmcgKi8KKyAgICAgIFVTQ1JJUFRfT0xEX0hVTkdBUklBTiAgICAgICAgICAgICAg
ICAgPSA3NiwgLyogSHVuZyAqLworICAgICAgVVNDUklQVF9IQVJBUFBBTl9JTkRVUyAgICAgICAg
ICAgICAgICA9IDc3LCAvKiBJbmRzICovCisgICAgICBVU0NSSVBUX0pBVkFORVNFICAgICAgICAg
ICAgICAgICAgICAgID0gNzgsIC8qIEphdmEgKi8KKyAgICAgIFVTQ1JJUFRfS0FZQUhfTEkgICAg
ICAgICAgICAgICAgICAgICAgPSA3OSwgLyogS2FsaSAqLworICAgICAgVVNDUklQVF9MQVRJTl9G
UkFLVFVSICAgICAgICAgICAgICAgICA9IDgwLCAvKiBMYXRmICovCisgICAgICBVU0NSSVBUX0xB
VElOX0dBRUxJQyAgICAgICAgICAgICAgICAgID0gODEsIC8qIExhdGcgKi8KKyAgICAgIFVTQ1JJ
UFRfTEVQQ0hBICAgICAgICAgICAgICAgICAgICAgICAgPSA4MiwgLyogTGVwYyAqLworICAgICAg
VVNDUklQVF9MSU5FQVJfQSAgICAgICAgICAgICAgICAgICAgICA9IDgzLCAvKiBMaW5hICovCisg
ICAgICAvKiogQHN0YWJsZSBJQ1UgNC42ICovCisgICAgICBVU0NSSVBUX01BTkRBSUMgICAgICAg
ICAgICAgICAgICAgICAgID0gODQsIC8qIE1hbmQgKi8KKyAgICAgIC8qKiBAc3RhYmxlIElDVSAz
LjYgKi8KKyAgICAgIFVTQ1JJUFRfTUFOREFFQU4gICAgICAgICAgICAgICAgICAgICAgPSBVU0NS
SVBUX01BTkRBSUMsCisgICAgICBVU0NSSVBUX01BWUFOX0hJRVJPR0xZUEhTICAgICAgICAgICAg
ID0gODUsIC8qIE1heWEgKi8KKyAgICAgIC8qKiBAc3RhYmxlIElDVSA0LjYgKi8KKyAgICAgIFVT
Q1JJUFRfTUVST0lUSUNfSElFUk9HTFlQSFMgICAgICAgICAgPSA4NiwgLyogTWVybyAqLworICAg
ICAgLyoqIEBzdGFibGUgSUNVIDMuNiAqLworICAgICAgVVNDUklQVF9NRVJPSVRJQyAgICAgICAg
ICAgICAgICAgICAgICA9IFVTQ1JJUFRfTUVST0lUSUNfSElFUk9HTFlQSFMsCisgICAgICBVU0NS
SVBUX05LTyAgICAgICAgICAgICAgICAgICAgICAgICAgID0gODcsIC8qIE5rb28gKi8KKyAgICAg
IFVTQ1JJUFRfT1JLSE9OICAgICAgICAgICAgICAgICAgICAgICAgPSA4OCwgLyogT3JraCAqLwor
ICAgICAgVVNDUklQVF9PTERfUEVSTUlDICAgICAgICAgICAgICAgICAgICA9IDg5LCAvKiBQZXJt
ICovCisgICAgICBVU0NSSVBUX1BIQUdTX1BBICAgICAgICAgICAgICAgICAgICAgID0gOTAsIC8q
IFBoYWcgKi8KKyAgICAgIFVTQ1JJUFRfUEhPRU5JQ0lBTiAgICAgICAgICAgICAgICAgICAgPSA5
MSwgLyogUGhueCAqLworICAgICAgVVNDUklQVF9QSE9ORVRJQ19QT0xMQVJEICAgICAgICAgICAg
ICA9IDkyLCAvKiBQbHJkICovCisgICAgICBVU0NSSVBUX1JPTkdPUk9OR08gICAgICAgICAgICAg
ICAgICAgID0gOTMsIC8qIFJvcm8gKi8KKyAgICAgIFVTQ1JJUFRfU0FSQVRJICAgICAgICAgICAg
ICAgICAgICAgICAgPSA5NCwgLyogU2FyYSAqLworICAgICAgVVNDUklQVF9FU1RSQU5HRUxPX1NZ
UklBQyAgICAgICAgICAgICA9IDk1LCAvKiBTeXJlICovCisgICAgICBVU0NSSVBUX1dFU1RFUk5f
U1lSSUFDICAgICAgICAgICAgICAgID0gOTYsIC8qIFN5cmogKi8KKyAgICAgIFVTQ1JJUFRfRUFT
VEVSTl9TWVJJQUMgICAgICAgICAgICAgICAgPSA5NywgLyogU3lybiAqLworICAgICAgVVNDUklQ
VF9URU5HV0FSICAgICAgICAgICAgICAgICAgICAgICA9IDk4LCAvKiBUZW5nICovCisgICAgICBV
U0NSSVBUX1ZBSSAgICAgICAgICAgICAgICAgICAgICAgICAgID0gOTksIC8qIFZhaWkgKi8KKyAg
ICAgIFVTQ1JJUFRfVklTSUJMRV9TUEVFQ0ggICAgICAgICAgICAgICAgPSAxMDAsLyogVmlzcCAq
LworICAgICAgVVNDUklQVF9DVU5FSUZPUk0gICAgICAgICAgICAgICAgICAgICA9IDEwMSwvKiBY
c3V4ICovCisgICAgICBVU0NSSVBUX1VOV1JJVFRFTl9MQU5HVUFHRVMgICAgICAgICAgID0gMTAy
LC8qIFp4eHggKi8KKyAgICAgIFVTQ1JJUFRfVU5LTk9XTiAgICAgICAgICAgICAgICAgICAgICAg
PSAxMDMsLyogWnp6eiAqLyAvKiBVbmtub3duPSJDb2RlIGZvciB1bmNvZGVkIHNjcmlwdCIsIGZv
ciB1bmFzc2lnbmVkIGNvZGUgcG9pbnRzICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHQgY29kZXMg
ZnJvbSBJU08gMTU5MjQgQHN0YWJsZSBJQ1UgMy44ICovCisgICAgICBVU0NSSVBUX0NBUklBTiAg
ICAgICAgICAgICAgICAgICAgICAgID0gMTA0LC8qIENhcmkgKi8KKyAgICAgIFVTQ1JJUFRfSkFQ
QU5FU0UgICAgICAgICAgICAgICAgICAgICAgPSAxMDUsLyogSnBhbiAqLworICAgICAgVVNDUklQ
VF9MQU5OQSAgICAgICAgICAgICAgICAgICAgICAgICA9IDEwNiwvKiBMYW5hICovCisgICAgICBV
U0NSSVBUX0xZQ0lBTiAgICAgICAgICAgICAgICAgICAgICAgID0gMTA3LC8qIEx5Y2kgKi8KKyAg
ICAgIFVTQ1JJUFRfTFlESUFOICAgICAgICAgICAgICAgICAgICAgICAgPSAxMDgsLyogTHlkaSAq
LworICAgICAgVVNDUklQVF9PTF9DSElLSSAgICAgICAgICAgICAgICAgICAgICA9IDEwOSwvKiBP
bGNrICovCisgICAgICBVU0NSSVBUX1JFSkFORyAgICAgICAgICAgICAgICAgICAgICAgID0gMTEw
LC8qIFJqbmcgKi8KKyAgICAgIFVTQ1JJUFRfU0FVUkFTSFRSQSAgICAgICAgICAgICAgICAgICAg
PSAxMTEsLyogU2F1ciAqLworICAgICAgVVNDUklQVF9TSUdOX1dSSVRJTkcgICAgICAgICAgICAg
ICAgICA9IDExMiwvKiBTZ253ICovCisgICAgICBVU0NSSVBUX1NVTkRBTkVTRSAgICAgICAgICAg
ICAgICAgICAgID0gMTEzLC8qIFN1bmQgKi8KKyAgICAgIFVTQ1JJUFRfTU9PTiAgICAgICAgICAg
ICAgICAgICAgICAgICAgPSAxMTQsLyogTW9vbiAqLworICAgICAgVVNDUklQVF9NRUlURUlfTUFZ
RUsgICAgICAgICAgICAgICAgICA9IDExNSwvKiBNdGVpICovCisKKyAgICAgIC8qIE5ldyBzY3Jp
cHQgY29kZXMgZnJvbSBJU08gMTU5MjQgQHN0YWJsZSBJQ1UgNC4wICovCisgICAgICBVU0NSSVBU
X0lNUEVSSUFMX0FSQU1BSUMgICAgICAgICAgICAgID0gMTE2LC8qIEFybWkgKi8KKyAgICAgIFVT
Q1JJUFRfQVZFU1RBTiAgICAgICAgICAgICAgICAgICAgICAgPSAxMTcsLyogQXZzdCAqLworICAg
ICAgVVNDUklQVF9DSEFLTUEgICAgICAgICAgICAgICAgICAgICAgICA9IDExOCwvKiBDYWttICov
CisgICAgICBVU0NSSVBUX0tPUkVBTiAgICAgICAgICAgICAgICAgICAgICAgID0gMTE5LC8qIEtv
cmUgKi8KKyAgICAgIFVTQ1JJUFRfS0FJVEhJICAgICAgICAgICAgICAgICAgICAgICAgPSAxMjAs
LyogS3RoaSAqLworICAgICAgVVNDUklQVF9NQU5JQ0hBRUFOICAgICAgICAgICAgICAgICAgICA9
IDEyMSwvKiBNYW5pICovCisgICAgICBVU0NSSVBUX0lOU0NSSVBUSU9OQUxfUEFITEFWSSAgICAg
ICAgID0gMTIyLC8qIFBobGkgKi8KKyAgICAgIFVTQ1JJUFRfUFNBTFRFUl9QQUhMQVZJICAgICAg
ICAgICAgICAgPSAxMjMsLyogUGhscCAqLworICAgICAgVVNDUklQVF9CT09LX1BBSExBVkkgICAg
ICAgICAgICAgICAgICA9IDEyNCwvKiBQaGx2ICovCisgICAgICBVU0NSSVBUX0lOU0NSSVBUSU9O
QUxfUEFSVEhJQU4gICAgICAgID0gMTI1LC8qIFBydGkgKi8KKyAgICAgIFVTQ1JJUFRfU0FNQVJJ
VEFOICAgICAgICAgICAgICAgICAgICAgPSAxMjYsLyogU2FtciAqLworICAgICAgVVNDUklQVF9U
QUlfVklFVCAgICAgICAgICAgICAgICAgICAgICA9IDEyNywvKiBUYXZ0ICovCisgICAgICBVU0NS
SVBUX01BVEhFTUFUSUNBTF9OT1RBVElPTiAgICAgICAgID0gMTI4LC8qIFptdGggKi8KKyAgICAg
IFVTQ1JJUFRfU1lNQk9MUyAgICAgICAgICAgICAgICAgICAgICAgPSAxMjksLyogWnN5bSAqLwor
CisgICAgICAvKiBOZXcgc2NyaXB0IGNvZGVzIGZyb20gSVNPIDE1OTI0IEBzdGFibGUgSUNVIDQu
NCAqLworICAgICAgVVNDUklQVF9CQU1VTSAgICAgICAgICAgICAgICAgICAgICAgICA9IDEzMCwv
KiBCYW11ICovCisgICAgICBVU0NSSVBUX0xJU1UgICAgICAgICAgICAgICAgICAgICAgICAgID0g
MTMxLC8qIExpc3UgKi8KKyAgICAgIFVTQ1JJUFRfTkFLSElfR0VCQSAgICAgICAgICAgICAgICAg
ICAgPSAxMzIsLyogTmtnYiAqLworICAgICAgVVNDUklQVF9PTERfU09VVEhfQVJBQklBTiAgICAg
ICAgICAgICA9IDEzMywvKiBTYXJiICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHQgY29kZXMgZnJv
bSBJU08gMTU5MjQgQHN0YWJsZSBJQ1UgNC42ICovCisgICAgICBVU0NSSVBUX0JBU1NBX1ZBSCAg
ICAgICAgICAgICAgICAgICAgID0gMTM0LC8qIEJhc3MgKi8KKyAgICAgIFVTQ1JJUFRfRFVQTE9Z
QU5fU0hPUlRBTkQgICAgICAgICAgICAgPSAxMzUsLyogRHVwbCAqLworICAgICAgVVNDUklQVF9F
TEJBU0FOICAgICAgICAgICAgICAgICAgICAgICA9IDEzNiwvKiBFbGJhICovCisgICAgICBVU0NS
SVBUX0dSQU5USEEgICAgICAgICAgICAgICAgICAgICAgID0gMTM3LC8qIEdyYW4gKi8KKyAgICAg
IFVTQ1JJUFRfS1BFTExFICAgICAgICAgICAgICAgICAgICAgICAgPSAxMzgsLyogS3BlbCAqLwor
ICAgICAgVVNDUklQVF9MT01BICAgICAgICAgICAgICAgICAgICAgICAgICA9IDEzOSwvKiBMb21h
ICovCisgICAgICBVU0NSSVBUX01FTkRFICAgICAgICAgICAgICAgICAgICAgICAgID0gMTQwLC8q
IE1lbmQgKi8KKyAgICAgIFVTQ1JJUFRfTUVST0lUSUNfQ1VSU0lWRSAgICAgICAgICAgICAgPSAx
NDEsLyogTWVyYyAqLworICAgICAgVVNDUklQVF9PTERfTk9SVEhfQVJBQklBTiAgICAgICAgICAg
ICA9IDE0MiwvKiBOYXJiICovCisgICAgICBVU0NSSVBUX05BQkFUQUVBTiAgICAgICAgICAgICAg
ICAgICAgID0gMTQzLC8qIE5iYXQgKi8KKyAgICAgIFVTQ1JJUFRfUEFMTVlSRU5FICAgICAgICAg
ICAgICAgICAgICAgPSAxNDQsLyogUGFsbSAqLworICAgICAgVVNDUklQVF9TSU5ESEkgICAgICAg
ICAgICAgICAgICAgICAgICA9IDE0NSwvKiBTaW5kICovCisgICAgICBVU0NSSVBUX1dBUkFOR19D
SVRJICAgICAgICAgICAgICAgICAgID0gMTQ2LC8qIFdhcmEgKi8KKworICAgICAgLyogUHJpdmF0
ZSB1c2UgY29kZXMgZnJvbSBRYWFhIC0gUWFieCBhcmUgbm90IHN1cHBvcnRlZCAqLworICAgICAg
VVNDUklQVF9DT0RFX0xJTUlUICAgID0gMTQ3Cit9IFVTY3JpcHRDb2RlOworCisvKioKKyAqIEdl
dHMgc2NyaXB0IGNvZGVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4gbG9jYWxlIG9yIElTTyAx
NTkyNCBhYmJyZXZpYXRpb24gb3IgbmFtZS4gCisgKiBGaWxscyBpbiBVU0NSSVBUX01BTEFZQUxB
TSBnaXZlbiAiTWFsYXlhbSIgT1IgIk1seW0iLgorICogRmlsbHMgaW4gVVNDUklQVF9MQVRJTiBn
aXZlbiAiZW4iIE9SICJlbl9VUyIgCisgKiBJZiByZXF1aXJlZCBjYXBhY2l0eSBpcyBncmVhdGVy
IHRoYW4gY2FwYWNpdHkgb2YgdGhlIGRlc3RpbmF0aW9uIGJ1ZmZlciB0aGVuIHRoZSBlcnJvciBj
b2RlCisgKiBpcyBzZXQgdG8gVV9CVUZGRVJfT1ZFUkZMT1dfRVJST1IgYW5kIHRoZSByZXF1aXJl
ZCBjYXBhY2l0eSBpcyByZXR1cm5lZAorICoKKyAqIDxwPk5vdGU6IFRvIHNlYXJjaCBieSBzaG9y
dCBvciBsb25nIHNjcmlwdCBhbGlhcyBvbmx5LCB1c2UKKyAqIHVfZ2V0UHJvcGVydHlWYWx1ZUVu
dW0oVUNIQVJfU0NSSVBULCBhbGlhcykgaW5zdGVhZC4gIFRoaXMgZG9lcworICogYSBmYXN0IGxv
b2t1cCB3aXRoIG5vIGFjY2VzcyBvZiB0aGUgbG9jYWxlIGRhdGEuCisgKiBAcGFyYW0gbmFtZU9y
QWJick9yTG9jYWxlIG5hbWUgb2YgdGhlIHNjcmlwdCwgYXMgZ2l2ZW4gaW4KKyAqIFByb3BlcnR5
VmFsdWVBbGlhc2VzLnR4dCwgb3IgSVNPIDE1OTI0IGNvZGUgb3IgbG9jYWxlCisgKiBAcGFyYW0g
ZmlsbEluIHRoZSBVU2NyaXB0Q29kZSBidWZmZXIgdG8gZmlsbCBpbiB0aGUgc2NyaXB0IGNvZGUK
KyAqIEBwYXJhbSBjYXBhY2l0eSB0aGUgY2FwYWNpdHkgKHNpemUpIGZvIFVTY3JpcHRDb2RlIGJ1
ZmZlciBwYXNzZWQgaW4uCisgKiBAcGFyYW0gZXJyIHRoZSBlcnJvciBzdGF0dXMgY29kZS4KKyAq
IEByZXR1cm4gVGhlIG51bWJlciBvZiBzY3JpcHQgY29kZXMgZmlsbGVkIGluIHRoZSBidWZmZXIg
cGFzc2VkIGluIAorICogQHN0YWJsZSBJQ1UgMi40CisgKi8KK1VfU1RBQkxFIGludDMyX3QgIFVf
RVhQT1JUMiAKK3VzY3JpcHRfZ2V0Q29kZShjb25zdCBjaGFyKiBuYW1lT3JBYmJyT3JMb2NhbGUs
VVNjcmlwdENvZGUqIGZpbGxJbixpbnQzMl90IGNhcGFjaXR5LFVFcnJvckNvZGUgKmVycik7CisK
Ky8qKgorICogR2V0cyBhIHNjcmlwdCBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4gc2Ny
aXB0IGNvZGUuIAorICogUmV0dXJucyAgIk1hbGF5YW0iIGdpdmVuIFVTQ1JJUFRfTUFMQVlBTEFN
CisgKiBAcGFyYW0gc2NyaXB0Q29kZSBVU2NyaXB0Q29kZSBlbnVtCisgKiBAcmV0dXJuIHNjcmlw
dCBsb25nIG5hbWUgYXMgZ2l2ZW4gaW4KKyAqIFByb3BlcnR5VmFsdWVBbGlhc2VzLnR4dCwgb3Ig
TlVMTCBpZiBzY3JpcHRDb2RlIGlzIGludmFsaWQKKyAqIEBzdGFibGUgSUNVIDIuNAorICovCitV
X1NUQUJMRSBjb25zdCBjaGFyKiAgVV9FWFBPUlQyIAordXNjcmlwdF9nZXROYW1lKFVTY3JpcHRD
b2RlIHNjcmlwdENvZGUpOworCisvKioKKyAqIEdldHMgYSBzY3JpcHQgbmFtZSBhc3NvY2lhdGVk
IHdpdGggdGhlIGdpdmVuIHNjcmlwdCBjb2RlLiAKKyAqIFJldHVybnMgICJNbHltIiBnaXZlbiBV
U0NSSVBUX01BTEFZQUxBTQorICogQHBhcmFtIHNjcmlwdENvZGUgVVNjcmlwdENvZGUgZW51bQor
ICogQHJldHVybiBzY3JpcHQgYWJicmV2aWF0ZWQgbmFtZSBhcyBnaXZlbiBpbgorICogUHJvcGVy
dHlWYWx1ZUFsaWFzZXMudHh0LCBvciBOVUxMIGlmIHNjcmlwdENvZGUgaXMgaW52YWxpZAorICog
QHN0YWJsZSBJQ1UgMi40CisgKi8KK1VfU1RBQkxFIGNvbnN0IGNoYXIqICBVX0VYUE9SVDIgCit1
c2NyaXB0X2dldFNob3J0TmFtZShVU2NyaXB0Q29kZSBzY3JpcHRDb2RlKTsKKworLyoqCisgKiBH
ZXRzIHRoZSBzY3JpcHQgY29kZSBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIGNvZGVwb2ludC4K
KyAqIFJldHVybnMgVVNDUklQVF9NQUxBWUFMQU0gZ2l2ZW4gMHgwRDAyIAorICogQHBhcmFtIGNv
ZGVwb2ludCBVQ2hhcjMyIGNvZGVwb2ludAorICogQHBhcmFtIGVyciB0aGUgZXJyb3Igc3RhdHVz
IGNvZGUuCisgKiBAcmV0dXJuIFRoZSBVU2NyaXB0Q29kZSwgb3IgMCBpZiBjb2RlcG9pbnQgaXMg
aW52YWxpZCAKKyAqIEBzdGFibGUgSUNVIDIuNAorICovCitVX1NUQUJMRSBVU2NyaXB0Q29kZSAg
VV9FWFBPUlQyIAordXNjcmlwdF9nZXRTY3JpcHQoVUNoYXIzMiBjb2RlcG9pbnQsIFVFcnJvckNv
ZGUgKmVycik7CisKKyNlbmRpZgoKUHJvcGVydHkgY2hhbmdlcyBvbjogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ljdS91bmljb2RlL3VzY3JpcHQuaApfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0
eWxlCiAgICsgTEYKCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvU2Ny
aXB0Q29kZXNGcm9tSUNVLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi91bmljb2RlL1NjcmlwdENvZGVzRnJvbUlDVS5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1NjcmlwdENvZGVzRnJvbUlDVS5oCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDIwOSBAQAorLyoKKyAqICAgQ29weXJpZ2h0IChDKSAxOTk3LTIwMTAsIElu
dGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKKyAqICAgQ29ycG9yYXRpb24gYW5kIG90aGVy
cy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKi8KKworI2lmbmRlZiBTY3JpcHRDb2Rlc0Zyb21J
Q1VfSAorI2RlZmluZSBTY3JpcHRDb2Rlc0Zyb21JQ1VfSAorCisvKioKKyAqIENvbnN0YW50cyBm
b3IgSVNPIDE1OTI0IHNjcmlwdCBjb2Rlcy4KKyAqCisgKiBNYW55IG9mIHRoZXNlIHNjcmlwdCBj
b2RlcyAtIHRob3NlIGZyb20gVW5pY29kZSdzIFNjcmlwdE5hbWVzLnR4dCAtCisgKiBhcmUgY2hh
cmFjdGVyIHByb3BlcnR5IHZhbHVlcyBmb3IgVW5pY29kZSdzIFNjcmlwdCBwcm9wZXJ0eS4KKyAq
IFNlZSBVQVggIzI0IFNjcmlwdCBOYW1lcyAoaHR0cDovL3d3dy51bmljb2RlLm9yZy9yZXBvcnRz
L3RyMjQvKS4KKyAqCisgKiBTdGFydGluZyB3aXRoIElDVSAzLjYsIGNvbnN0YW50cyBmb3IgbW9z
dCBJU08gMTU5MjQgc2NyaXB0IGNvZGVzCisgKiBhcmUgaW5jbHVkZWQgKGN1cnJlbnRseSBleGNs
dWRpbmcgcHJpdmF0ZS11c2UgY29kZXMgUWFhYS4uUWFieCkuCisgKiBGb3Igc2NyaXB0cyBmb3Ig
d2hpY2ggdGhlcmUgYXJlIGNvZGVzIGluIElTTyAxNTkyNCBidXQgd2hpY2ggYXJlIG5vdAorICog
dXNlZCBpbiB0aGUgVW5pY29kZSBDaGFyYWN0ZXIgRGF0YWJhc2UgKFVDRCksIHRoZXJlIGFyZSBu
byBVbmljb2RlIGNoYXJhY3RlcnMKKyAqIGFzc29jaWF0ZWQgd2l0aCB0aG9zZSBzY3JpcHRzLgor
ICoKKyAqIEZvciBleGFtcGxlLCB0aGVyZSBhcmUgbm8gY2hhcmFjdGVycyB0aGF0IGhhdmUgYSBV
Q0Qgc2NyaXB0IGNvZGUgb2YKKyAqIEhhbnMgb3IgSGFudC4gQWxsIEhhbiBpZGVvZ3JhcGhzIGhh
dmUgdGhlIEhhbmkgc2NyaXB0IGNvZGUuCisgKiBUaGUgSGFucyBhbmQgSGFudCBzY3JpcHQgY29k
ZXMgYXJlIHVzZWQgd2l0aCBDTERSIGRhdGEuCisgKgorICogSVNPIDE1OTI0IHNjcmlwdCBjb2Rl
cyBhcmUgaW5jbHVkZWQgZm9yIHVzZSB3aXRoIENMRFIgYW5kIHNpbWlsYXIuCisgKgorICogQHN0
YWJsZSBJQ1UgMi4yCisgKi8KK3R5cGVkZWYgZW51bSBVU2NyaXB0Q29kZSB7CisgICAgICBVU0NS
SVBUX0lOVkFMSURfQ09ERSA9IC0xLAorICAgICAgVVNDUklQVF9DT01NT04gICAgICAgPSAgMCwg
IC8qIFp5eXkgKi8KKyAgICAgIFVTQ1JJUFRfSU5IRVJJVEVEICAgID0gIDEsICAvKiBaaW5oICov
IC8qICJDb2RlIGZvciBpbmhlcml0ZWQgc2NyaXB0IiwgZm9yIG5vbi1zcGFjaW5nIGNvbWJpbmlu
ZyBtYXJrczsgYWxzbyBRYWFpICovCisgICAgICBVU0NSSVBUX0FSQUJJQyAgICAgICA9ICAyLCAg
LyogQXJhYiAqLworICAgICAgVVNDUklQVF9BUk1FTklBTiAgICAgPSAgMywgIC8qIEFybW4gKi8K
KyAgICAgIFVTQ1JJUFRfQkVOR0FMSSAgICAgID0gIDQsICAvKiBCZW5nICovCisgICAgICBVU0NS
SVBUX0JPUE9NT0ZPICAgICA9ICA1LCAgLyogQm9wbyAqLworICAgICAgVVNDUklQVF9DSEVST0tF
RSAgICAgPSAgNiwgIC8qIENoZXIgKi8KKyAgICAgIFVTQ1JJUFRfQ09QVElDICAgICAgID0gIDcs
ICAvKiBDb3B0ICovCisgICAgICBVU0NSSVBUX0NZUklMTElDICAgICA9ICA4LCAgLyogQ3lybCAq
LworICAgICAgVVNDUklQVF9ERVNFUkVUICAgICAgPSAgOSwgIC8qIERzcnQgKi8KKyAgICAgIFVT
Q1JJUFRfREVWQU5BR0FSSSAgID0gMTAsICAvKiBEZXZhICovCisgICAgICBVU0NSSVBUX0VUSElP
UElDICAgICA9IDExLCAgLyogRXRoaSAqLworICAgICAgVVNDUklQVF9HRU9SR0lBTiAgICAgPSAx
MiwgIC8qIEdlb3IgKi8KKyAgICAgIFVTQ1JJUFRfR09USElDICAgICAgID0gMTMsICAvKiBHb3Ro
ICovCisgICAgICBVU0NSSVBUX0dSRUVLICAgICAgICA9IDE0LCAgLyogR3JlayAqLworICAgICAg
VVNDUklQVF9HVUpBUkFUSSAgICAgPSAxNSwgIC8qIEd1anIgKi8KKyAgICAgIFVTQ1JJUFRfR1VS
TVVLSEkgICAgID0gMTYsICAvKiBHdXJ1ICovCisgICAgICBVU0NSSVBUX0hBTiAgICAgICAgICA9
IDE3LCAgLyogSGFuaSAqLworICAgICAgVVNDUklQVF9IQU5HVUwgICAgICAgPSAxOCwgIC8qIEhh
bmcgKi8KKyAgICAgIFVTQ1JJUFRfSEVCUkVXICAgICAgID0gMTksICAvKiBIZWJyICovCisgICAg
ICBVU0NSSVBUX0hJUkFHQU5BICAgICA9IDIwLCAgLyogSGlyYSAqLworICAgICAgVVNDUklQVF9L
QU5OQURBICAgICAgPSAyMSwgIC8qIEtuZGEgKi8KKyAgICAgIFVTQ1JJUFRfS0FUQUtBTkEgICAg
ID0gMjIsICAvKiBLYW5hICovCisgICAgICBVU0NSSVBUX0tITUVSICAgICAgICA9IDIzLCAgLyog
S2htciAqLworICAgICAgVVNDUklQVF9MQU8gICAgICAgICAgPSAyNCwgIC8qIExhb28gKi8KKyAg
ICAgIFVTQ1JJUFRfTEFUSU4gICAgICAgID0gMjUsICAvKiBMYXRuICovCisgICAgICBVU0NSSVBU
X01BTEFZQUxBTSAgICA9IDI2LCAgLyogTWx5bSAqLworICAgICAgVVNDUklQVF9NT05HT0xJQU4g
ICAgPSAyNywgIC8qIE1vbmcgKi8KKyAgICAgIFVTQ1JJUFRfTVlBTk1BUiAgICAgID0gMjgsICAv
KiBNeW1yICovCisgICAgICBVU0NSSVBUX09HSEFNICAgICAgICA9IDI5LCAgLyogT2dhbSAqLwor
ICAgICAgVVNDUklQVF9PTERfSVRBTElDICAgPSAzMCwgIC8qIEl0YWwgKi8KKyAgICAgIFVTQ1JJ
UFRfT1JJWUEgICAgICAgID0gMzEsICAvKiBPcnlhICovCisgICAgICBVU0NSSVBUX1JVTklDICAg
ICAgICA9IDMyLCAgLyogUnVuciAqLworICAgICAgVVNDUklQVF9TSU5IQUxBICAgICAgPSAzMywg
IC8qIFNpbmggKi8KKyAgICAgIFVTQ1JJUFRfU1lSSUFDICAgICAgID0gMzQsICAvKiBTeXJjICov
CisgICAgICBVU0NSSVBUX1RBTUlMICAgICAgICA9IDM1LCAgLyogVGFtbCAqLworICAgICAgVVND
UklQVF9URUxVR1UgICAgICAgPSAzNiwgIC8qIFRlbHUgKi8KKyAgICAgIFVTQ1JJUFRfVEhBQU5B
ICAgICAgID0gMzcsICAvKiBUaGFhICovCisgICAgICBVU0NSSVBUX1RIQUkgICAgICAgICA9IDM4
LCAgLyogVGhhaSAqLworICAgICAgVVNDUklQVF9USUJFVEFOICAgICAgPSAzOSwgIC8qIFRpYnQg
Ki8KKyAgICAgIC8qKiBDYW5hZGlhbl9BYm9yaWdpbmFsIHNjcmlwdC4gQHN0YWJsZSBJQ1UgMi42
ICovCisgICAgICBVU0NSSVBUX0NBTkFESUFOX0FCT1JJR0lOQUwgPSA0MCwgIC8qIENhbnMgKi8K
KyAgICAgIC8qKiBDYW5hZGlhbl9BYm9yaWdpbmFsIHNjcmlwdCAoYWxpYXMpLiBAc3RhYmxlIElD
VSAyLjIgKi8KKyAgICAgIFVTQ1JJUFRfVUNBUyAgICAgICAgID0gVVNDUklQVF9DQU5BRElBTl9B
Qk9SSUdJTkFMLAorICAgICAgVVNDUklQVF9ZSSAgICAgICAgICAgPSA0MSwgIC8qIFlpaWkgKi8K
KyAgICAgIFVTQ1JJUFRfVEFHQUxPRyAgICAgID0gNDIsICAvKiBUZ2xnICovCisgICAgICBVU0NS
SVBUX0hBTlVOT08gICAgICA9IDQzLCAgLyogSGFubyAqLworICAgICAgVVNDUklQVF9CVUhJRCAg
ICAgICAgPSA0NCwgIC8qIEJ1aGQgKi8KKyAgICAgIFVTQ1JJUFRfVEFHQkFOV0EgICAgID0gNDUs
ICAvKiBUYWdiICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHRzIGluIFVuaWNvZGUgNCBAc3RhYmxl
IElDVSAyLjYgKi8KKyAgICAgIFVTQ1JJUFRfQlJBSUxMRSAgICAgID0gNDYsICAvKiBCcmFpICov
CisgICAgICBVU0NSSVBUX0NZUFJJT1QgICAgICA9IDQ3LCAgLyogQ3BydCAqLworICAgICAgVVND
UklQVF9MSU1CVSAgICAgICAgPSA0OCwgIC8qIExpbWIgKi8KKyAgICAgIFVTQ1JJUFRfTElORUFS
X0IgICAgID0gNDksICAvKiBMaW5iICovCisgICAgICBVU0NSSVBUX09TTUFOWUEgICAgICA9IDUw
LCAgLyogT3NtYSAqLworICAgICAgVVNDUklQVF9TSEFWSUFOICAgICAgPSA1MSwgIC8qIFNoYXcg
Ki8KKyAgICAgIFVTQ1JJUFRfVEFJX0xFICAgICAgID0gNTIsICAvKiBUYWxlICovCisgICAgICBV
U0NSSVBUX1VHQVJJVElDICAgICA9IDUzLCAgLyogVWdhciAqLworCisgICAgICAvKiogTmV3IHNj
cmlwdCBjb2RlIGluIFVuaWNvZGUgNC4wLjEgQHN0YWJsZSBJQ1UgMy4wICovCisgICAgICBVU0NS
SVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BID0gNTQsLypIcmt0ICovCisKKyAgICAgIC8qIE5ldyBz
Y3JpcHRzIGluIFVuaWNvZGUgNC4xIEBzdGFibGUgSUNVIDMuNCAqLworICAgICAgVVNDUklQVF9C
VUdJTkVTRSAgICAgID0gNTUsIC8qIEJ1Z2kgKi8KKyAgICAgIFVTQ1JJUFRfR0xBR09MSVRJQyAg
ICA9IDU2LCAvKiBHbGFnICovCisgICAgICBVU0NSSVBUX0tIQVJPU0hUSEkgICAgPSA1NywgLyog
S2hhciAqLworICAgICAgVVNDUklQVF9TWUxPVElfTkFHUkkgID0gNTgsIC8qIFN5bG8gKi8KKyAg
ICAgIFVTQ1JJUFRfTkVXX1RBSV9MVUUgICA9IDU5LCAvKiBUYWx1ICovCisgICAgICBVU0NSSVBU
X1RJRklOQUdIICAgICAgPSA2MCwgLyogVGZuZyAqLworICAgICAgVVNDUklQVF9PTERfUEVSU0lB
TiAgID0gNjEsIC8qIFhwZW8gKi8KKworICAgICAgLyogTmV3IHNjcmlwdCBjb2RlcyBmcm9tIElT
TyAxNTkyNCBAc3RhYmxlIElDVSAzLjYgKi8KKyAgICAgIFVTQ1JJUFRfQkFMSU5FU0UgICAgICAg
ICAgICAgICAgICAgICAgPSA2MiwgLyogQmFsaSAqLworICAgICAgVVNDUklQVF9CQVRBSyAgICAg
ICAgICAgICAgICAgICAgICAgICA9IDYzLCAvKiBCYXRrICovCisgICAgICBVU0NSSVBUX0JMSVNT
WU1CT0xTICAgICAgICAgICAgICAgICAgID0gNjQsIC8qIEJsaXMgKi8KKyAgICAgIFVTQ1JJUFRf
QlJBSE1JICAgICAgICAgICAgICAgICAgICAgICAgPSA2NSwgLyogQnJhaCAqLworICAgICAgVVND
UklQVF9DSEFNICAgICAgICAgICAgICAgICAgICAgICAgICA9IDY2LCAvKiBDaGFtICovCisgICAg
ICBVU0NSSVBUX0NJUlRIICAgICAgICAgICAgICAgICAgICAgICAgID0gNjcsIC8qIENpcnQgKi8K
KyAgICAgIFVTQ1JJUFRfT0xEX0NIVVJDSF9TTEFWT05JQ19DWVJJTExJQyAgPSA2OCwgLyogQ3ly
cyAqLworICAgICAgVVNDUklQVF9ERU1PVElDX0VHWVBUSUFOICAgICAgICAgICAgICA9IDY5LCAv
KiBFZ3lkICovCisgICAgICBVU0NSSVBUX0hJRVJBVElDX0VHWVBUSUFOICAgICAgICAgICAgID0g
NzAsIC8qIEVneWggKi8KKyAgICAgIFVTQ1JJUFRfRUdZUFRJQU5fSElFUk9HTFlQSFMgICAgICAg
ICAgPSA3MSwgLyogRWd5cCAqLworICAgICAgVVNDUklQVF9LSFVUU1VSSSAgICAgICAgICAgICAg
ICAgICAgICA9IDcyLCAvKiBHZW9rICovCisgICAgICBVU0NSSVBUX1NJTVBMSUZJRURfSEFOICAg
ICAgICAgICAgICAgID0gNzMsIC8qIEhhbnMgKi8KKyAgICAgIFVTQ1JJUFRfVFJBRElUSU9OQUxf
SEFOICAgICAgICAgICAgICAgPSA3NCwgLyogSGFudCAqLworICAgICAgVVNDUklQVF9QQUhBV0hf
SE1PTkcgICAgICAgICAgICAgICAgICA9IDc1LCAvKiBIbW5nICovCisgICAgICBVU0NSSVBUX09M
RF9IVU5HQVJJQU4gICAgICAgICAgICAgICAgID0gNzYsIC8qIEh1bmcgKi8KKyAgICAgIFVTQ1JJ
UFRfSEFSQVBQQU5fSU5EVVMgICAgICAgICAgICAgICAgPSA3NywgLyogSW5kcyAqLworICAgICAg
VVNDUklQVF9KQVZBTkVTRSAgICAgICAgICAgICAgICAgICAgICA9IDc4LCAvKiBKYXZhICovCisg
ICAgICBVU0NSSVBUX0tBWUFIX0xJICAgICAgICAgICAgICAgICAgICAgID0gNzksIC8qIEthbGkg
Ki8KKyAgICAgIFVTQ1JJUFRfTEFUSU5fRlJBS1RVUiAgICAgICAgICAgICAgICAgPSA4MCwgLyog
TGF0ZiAqLworICAgICAgVVNDUklQVF9MQVRJTl9HQUVMSUMgICAgICAgICAgICAgICAgICA9IDgx
LCAvKiBMYXRnICovCisgICAgICBVU0NSSVBUX0xFUENIQSAgICAgICAgICAgICAgICAgICAgICAg
ID0gODIsIC8qIExlcGMgKi8KKyAgICAgIFVTQ1JJUFRfTElORUFSX0EgICAgICAgICAgICAgICAg
ICAgICAgPSA4MywgLyogTGluYSAqLworICAgICAgLyoqIEBzdGFibGUgSUNVIDQuNiAqLworICAg
ICAgVVNDUklQVF9NQU5EQUlDICAgICAgICAgICAgICAgICAgICAgICA9IDg0LCAvKiBNYW5kICov
CisgICAgICAvKiogQHN0YWJsZSBJQ1UgMy42ICovCisgICAgICBVU0NSSVBUX01BTkRBRUFOICAg
ICAgICAgICAgICAgICAgICAgID0gVVNDUklQVF9NQU5EQUlDLAorICAgICAgVVNDUklQVF9NQVlB
Tl9ISUVST0dMWVBIUyAgICAgICAgICAgICA9IDg1LCAvKiBNYXlhICovCisgICAgICAvKiogQHN0
YWJsZSBJQ1UgNC42ICovCisgICAgICBVU0NSSVBUX01FUk9JVElDX0hJRVJPR0xZUEhTICAgICAg
ICAgID0gODYsIC8qIE1lcm8gKi8KKyAgICAgIC8qKiBAc3RhYmxlIElDVSAzLjYgKi8KKyAgICAg
IFVTQ1JJUFRfTUVST0lUSUMgICAgICAgICAgICAgICAgICAgICAgPSBVU0NSSVBUX01FUk9JVElD
X0hJRVJPR0xZUEhTLAorICAgICAgVVNDUklQVF9OS08gICAgICAgICAgICAgICAgICAgICAgICAg
ICA9IDg3LCAvKiBOa29vICovCisgICAgICBVU0NSSVBUX09SS0hPTiAgICAgICAgICAgICAgICAg
ICAgICAgID0gODgsIC8qIE9ya2ggKi8KKyAgICAgIFVTQ1JJUFRfT0xEX1BFUk1JQyAgICAgICAg
ICAgICAgICAgICAgPSA4OSwgLyogUGVybSAqLworICAgICAgVVNDUklQVF9QSEFHU19QQSAgICAg
ICAgICAgICAgICAgICAgICA9IDkwLCAvKiBQaGFnICovCisgICAgICBVU0NSSVBUX1BIT0VOSUNJ
QU4gICAgICAgICAgICAgICAgICAgID0gOTEsIC8qIFBobnggKi8KKyAgICAgIFVTQ1JJUFRfUEhP
TkVUSUNfUE9MTEFSRCAgICAgICAgICAgICAgPSA5MiwgLyogUGxyZCAqLworICAgICAgVVNDUklQ
VF9ST05HT1JPTkdPICAgICAgICAgICAgICAgICAgICA9IDkzLCAvKiBSb3JvICovCisgICAgICBV
U0NSSVBUX1NBUkFUSSAgICAgICAgICAgICAgICAgICAgICAgID0gOTQsIC8qIFNhcmEgKi8KKyAg
ICAgIFVTQ1JJUFRfRVNUUkFOR0VMT19TWVJJQUMgICAgICAgICAgICAgPSA5NSwgLyogU3lyZSAq
LworICAgICAgVVNDUklQVF9XRVNURVJOX1NZUklBQyAgICAgICAgICAgICAgICA9IDk2LCAvKiBT
eXJqICovCisgICAgICBVU0NSSVBUX0VBU1RFUk5fU1lSSUFDICAgICAgICAgICAgICAgID0gOTcs
IC8qIFN5cm4gKi8KKyAgICAgIFVTQ1JJUFRfVEVOR1dBUiAgICAgICAgICAgICAgICAgICAgICAg
PSA5OCwgLyogVGVuZyAqLworICAgICAgVVNDUklQVF9WQUkgICAgICAgICAgICAgICAgICAgICAg
ICAgICA9IDk5LCAvKiBWYWlpICovCisgICAgICBVU0NSSVBUX1ZJU0lCTEVfU1BFRUNIICAgICAg
ICAgICAgICAgID0gMTAwLC8qIFZpc3AgKi8KKyAgICAgIFVTQ1JJUFRfQ1VORUlGT1JNICAgICAg
ICAgICAgICAgICAgICAgPSAxMDEsLyogWHN1eCAqLworICAgICAgVVNDUklQVF9VTldSSVRURU5f
TEFOR1VBR0VTICAgICAgICAgICA9IDEwMiwvKiBaeHh4ICovCisgICAgICBVU0NSSVBUX1VOS05P
V04gICAgICAgICAgICAgICAgICAgICAgID0gMTAzLC8qIFp6enogKi8gLyogVW5rbm93bj0iQ29k
ZSBmb3IgdW5jb2RlZCBzY3JpcHQiLCBmb3IgdW5hc3NpZ25lZCBjb2RlIHBvaW50cyAqLworCisg
ICAgICAvKiBOZXcgc2NyaXB0IGNvZGVzIGZyb20gSVNPIDE1OTI0IEBzdGFibGUgSUNVIDMuOCAq
LworICAgICAgVVNDUklQVF9DQVJJQU4gICAgICAgICAgICAgICAgICAgICAgICA9IDEwNCwvKiBD
YXJpICovCisgICAgICBVU0NSSVBUX0pBUEFORVNFICAgICAgICAgICAgICAgICAgICAgID0gMTA1
LC8qIEpwYW4gKi8KKyAgICAgIFVTQ1JJUFRfTEFOTkEgICAgICAgICAgICAgICAgICAgICAgICAg
PSAxMDYsLyogTGFuYSAqLworICAgICAgVVNDUklQVF9MWUNJQU4gICAgICAgICAgICAgICAgICAg
ICAgICA9IDEwNywvKiBMeWNpICovCisgICAgICBVU0NSSVBUX0xZRElBTiAgICAgICAgICAgICAg
ICAgICAgICAgID0gMTA4LC8qIEx5ZGkgKi8KKyAgICAgIFVTQ1JJUFRfT0xfQ0hJS0kgICAgICAg
ICAgICAgICAgICAgICAgPSAxMDksLyogT2xjayAqLworICAgICAgVVNDUklQVF9SRUpBTkcgICAg
ICAgICAgICAgICAgICAgICAgICA9IDExMCwvKiBSam5nICovCisgICAgICBVU0NSSVBUX1NBVVJB
U0hUUkEgICAgICAgICAgICAgICAgICAgID0gMTExLC8qIFNhdXIgKi8KKyAgICAgIFVTQ1JJUFRf
U0lHTl9XUklUSU5HICAgICAgICAgICAgICAgICAgPSAxMTIsLyogU2dudyAqLworICAgICAgVVND
UklQVF9TVU5EQU5FU0UgICAgICAgICAgICAgICAgICAgICA9IDExMywvKiBTdW5kICovCisgICAg
ICBVU0NSSVBUX01PT04gICAgICAgICAgICAgICAgICAgICAgICAgID0gMTE0LC8qIE1vb24gKi8K
KyAgICAgIFVTQ1JJUFRfTUVJVEVJX01BWUVLICAgICAgICAgICAgICAgICAgPSAxMTUsLyogTXRl
aSAqLworCisgICAgICAvKiBOZXcgc2NyaXB0IGNvZGVzIGZyb20gSVNPIDE1OTI0IEBzdGFibGUg
SUNVIDQuMCAqLworICAgICAgVVNDUklQVF9JTVBFUklBTF9BUkFNQUlDICAgICAgICAgICAgICA9
IDExNiwvKiBBcm1pICovCisgICAgICBVU0NSSVBUX0FWRVNUQU4gICAgICAgICAgICAgICAgICAg
ICAgID0gMTE3LC8qIEF2c3QgKi8KKyAgICAgIFVTQ1JJUFRfQ0hBS01BICAgICAgICAgICAgICAg
ICAgICAgICAgPSAxMTgsLyogQ2FrbSAqLworICAgICAgVVNDUklQVF9LT1JFQU4gICAgICAgICAg
ICAgICAgICAgICAgICA9IDExOSwvKiBLb3JlICovCisgICAgICBVU0NSSVBUX0tBSVRISSAgICAg
ICAgICAgICAgICAgICAgICAgID0gMTIwLC8qIEt0aGkgKi8KKyAgICAgIFVTQ1JJUFRfTUFOSUNI
QUVBTiAgICAgICAgICAgICAgICAgICAgPSAxMjEsLyogTWFuaSAqLworICAgICAgVVNDUklQVF9J
TlNDUklQVElPTkFMX1BBSExBVkkgICAgICAgICA9IDEyMiwvKiBQaGxpICovCisgICAgICBVU0NS
SVBUX1BTQUxURVJfUEFITEFWSSAgICAgICAgICAgICAgID0gMTIzLC8qIFBobHAgKi8KKyAgICAg
IFVTQ1JJUFRfQk9PS19QQUhMQVZJICAgICAgICAgICAgICAgICAgPSAxMjQsLyogUGhsdiAqLwor
ICAgICAgVVNDUklQVF9JTlNDUklQVElPTkFMX1BBUlRISUFOICAgICAgICA9IDEyNSwvKiBQcnRp
ICovCisgICAgICBVU0NSSVBUX1NBTUFSSVRBTiAgICAgICAgICAgICAgICAgICAgID0gMTI2LC8q
IFNhbXIgKi8KKyAgICAgIFVTQ1JJUFRfVEFJX1ZJRVQgICAgICAgICAgICAgICAgICAgICAgPSAx
MjcsLyogVGF2dCAqLworICAgICAgVVNDUklQVF9NQVRIRU1BVElDQUxfTk9UQVRJT04gICAgICAg
ICA9IDEyOCwvKiBabXRoICovCisgICAgICBVU0NSSVBUX1NZTUJPTFMgICAgICAgICAgICAgICAg
ICAgICAgID0gMTI5LC8qIFpzeW0gKi8KKworICAgICAgLyogTmV3IHNjcmlwdCBjb2RlcyBmcm9t
IElTTyAxNTkyNCBAc3RhYmxlIElDVSA0LjQgKi8KKyAgICAgIFVTQ1JJUFRfQkFNVU0gICAgICAg
ICAgICAgICAgICAgICAgICAgPSAxMzAsLyogQmFtdSAqLworICAgICAgVVNDUklQVF9MSVNVICAg
ICAgICAgICAgICAgICAgICAgICAgICA9IDEzMSwvKiBMaXN1ICovCisgICAgICBVU0NSSVBUX05B
S0hJX0dFQkEgICAgICAgICAgICAgICAgICAgID0gMTMyLC8qIE5rZ2IgKi8KKyAgICAgIFVTQ1JJ
UFRfT0xEX1NPVVRIX0FSQUJJQU4gICAgICAgICAgICAgPSAxMzMsLyogU2FyYiAqLworCisgICAg
ICAvKiBOZXcgc2NyaXB0IGNvZGVzIGZyb20gSVNPIDE1OTI0IEBzdGFibGUgSUNVIDQuNiAqLwor
ICAgICAgVVNDUklQVF9CQVNTQV9WQUggICAgICAgICAgICAgICAgICAgICA9IDEzNCwvKiBCYXNz
ICovCisgICAgICBVU0NSSVBUX0RVUExPWUFOX1NIT1JUQU5EICAgICAgICAgICAgID0gMTM1LC8q
IER1cGwgKi8KKyAgICAgIFVTQ1JJUFRfRUxCQVNBTiAgICAgICAgICAgICAgICAgICAgICAgPSAx
MzYsLyogRWxiYSAqLworICAgICAgVVNDUklQVF9HUkFOVEhBICAgICAgICAgICAgICAgICAgICAg
ICA9IDEzNywvKiBHcmFuICovCisgICAgICBVU0NSSVBUX0tQRUxMRSAgICAgICAgICAgICAgICAg
ICAgICAgID0gMTM4LC8qIEtwZWwgKi8KKyAgICAgIFVTQ1JJUFRfTE9NQSAgICAgICAgICAgICAg
ICAgICAgICAgICAgPSAxMzksLyogTG9tYSAqLworICAgICAgVVNDUklQVF9NRU5ERSAgICAgICAg
ICAgICAgICAgICAgICAgICA9IDE0MCwvKiBNZW5kICovCisgICAgICBVU0NSSVBUX01FUk9JVElD
X0NVUlNJVkUgICAgICAgICAgICAgID0gMTQxLC8qIE1lcmMgKi8KKyAgICAgIFVTQ1JJUFRfT0xE
X05PUlRIX0FSQUJJQU4gICAgICAgICAgICAgPSAxNDIsLyogTmFyYiAqLworICAgICAgVVNDUklQ
VF9OQUJBVEFFQU4gICAgICAgICAgICAgICAgICAgICA9IDE0MywvKiBOYmF0ICovCisgICAgICBV
U0NSSVBUX1BBTE1ZUkVORSAgICAgICAgICAgICAgICAgICAgID0gMTQ0LC8qIFBhbG0gKi8KKyAg
ICAgIFVTQ1JJUFRfU0lOREhJICAgICAgICAgICAgICAgICAgICAgICAgPSAxNDUsLyogU2luZCAq
LworICAgICAgVVNDUklQVF9XQVJBTkdfQ0lUSSAgICAgICAgICAgICAgICAgICA9IDE0NiwvKiBX
YXJhICovCisKKyAgICAgIC8qIFByaXZhdGUgdXNlIGNvZGVzIGZyb20gUWFhYSAtIFFhYnggYXJl
IG5vdCBzdXBwb3J0ZWQgKi8KKyAgICAgIFVTQ1JJUFRfQ09ERV9MSU1JVCAgICA9IDE0NworfSBV
U2NyaXB0Q29kZTsKKworI2VuZGlmCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL3VuaWNvZGUvU2NyaXB0Q29kZXNGcm9tSUNVLmgKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRl
ZDogc3ZuOmVvbC1zdHlsZQogICArIExGCgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi91bmljb2RlL1VuaWNvZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL3VuaWNvZGUvVW5pY29kZS5oCShyZXZpc2lvbiA4OTQ4NSkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvdW5pY29kZS9Vbmljb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDE0ICsy
NywxOSBAQAogCiAjaWYgVVNFKFFUNF9VTklDT0RFKQogI2luY2x1ZGUgInF0NC9Vbmljb2RlUXQ0
LmgiCisjaW5jbHVkZSA8d3RmL3VuaWNvZGUvU2NyaXB0Q29kZXNGcm9tSUNVLmg+CiAjZWxpZiBV
U0UoSUNVX1VOSUNPREUpCiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvaWN1L1VuaWNvZGVJY3UuaD4K
KyNpbmNsdWRlIDx1bmljb2RlL3VzY3JpcHQuaD4KICNlbGlmIFVTRShHTElCX1VOSUNPREUpCiAj
aW5jbHVkZSA8d3RmL3VuaWNvZGUvZ2xpYi9Vbmljb2RlR0xpYi5oPgorI2luY2x1ZGUgPHd0Zi91
bmljb2RlL1NjcmlwdENvZGVzRnJvbUlDVS5oPgogI2VsaWYgVVNFKFdJTkNFX1VOSUNPREUpCiAj
aW5jbHVkZSA8d3RmL3VuaWNvZGUvd2luY2UvVW5pY29kZVdpbkNFLmg+CisjaW5jbHVkZSA8d3Rm
L3VuaWNvZGUvU2NyaXB0Q29kZXNGcm9tSUNVLmg+CiAjZWxpZiBVU0UoQlJFV01QX1VOSUNPREUp
CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvYnJldy9Vbmljb2RlQnJldy5oPgorI2luY2x1ZGUgPHd0
Zi91bmljb2RlL1NjcmlwdENvZGVzRnJvbUlDVS5oPgogI2Vsc2UKICNlcnJvciAiVW5rbm93biBV
bmljb2RlIGltcGxlbWVudGF0aW9uIgogI2VuZGlmCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdEds
dWUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VM
b2cJKHJldmlzaW9uIDg5NDg1KQorKysgU291cmNlL0phdmFTY3JpcHRHbHVlL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDExLTA2LTIxICBKdW5nc2hpayBTaGlu
ICA8anNoaW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCB1c2NyaXB0LmggdG8gaWN1L3VuaWNvZGUgdG8gZ2V0IEphdmFT
Y3JpcHRHbHVlIGdldCBidWlsdC4gVGhlIHNhbWUKKyAgICAgICAgZmlsZSB3YXMgYWRkZWQgdG8g
SmF2YVNjcmlwdENvcmUvaWN1L3VuaWNvZGUuCisKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA3OTcKKworICAgICAgICAqIGljdS91bmljb2RlL3VzY3Jp
cHQuaDogQWRkZWQuCisKIDIwMTEtMDUtMTYgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxl
LmNvbT4KIAogICAgICAgICA8aHR0cDovL3dlYmtpdC5vcmcvYi82MDkxMz4gQysrIGV4Y2VwdGlv
bnMgc2hvdWxkIG5vdCBiZSBlbmFibGVkIHdoZW4gYnVpbGRpbmcgd2l0aCBsbHZtLWdjYy00LjIK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0R2x1ZS9pY3UvdW5pY29kZS91c2NyaXB0LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRHbHVlL2ljdS91bmljb2RlL3VzY3JpcHQuaAkocmV2
aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0R2x1ZS9pY3UvdW5pY29kZS91c2NyaXB0LmgJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjc5IEBACisvKgorICoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqICAg
Q29weXJpZ2h0IChDKSAxOTk3LTIwMTAsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMK
KyAqICAgQ29ycG9yYXRpb24gYW5kIG90aGVycy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgorICoKKyAqIEZpbGUgVVNDUklQVC5ICisgKgorICogTW9kaWZpY2F0aW9uIEhp
c3Rvcnk6CisgKgorICogICBEYXRlICAgICAgICBOYW1lICAgICAgICBEZXNjcmlwdGlvbgorICog
ICAwNy8wNi8yMDAxICAgIFJhbSAgICAgICAgIENyZWF0aW9uLgorICoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgorICovCisKKyNpZm5kZWYgVVNDUklQVF9ICisjZGVmaW5lIFVTQ1JJUFRfSAorI2luY2x1
ZGUgInVuaWNvZGUvdXR5cGVzLmgiCisKKy8qKgorICogXGZpbGUKKyAqIFxicmllZiBDIEFQSTog
VW5pY29kZSBTY3JpcHQgSW5mb3JtYXRpb24KKyAqLworIAorLyoqCisgKiBDb25zdGFudHMgZm9y
IElTTyAxNTkyNCBzY3JpcHQgY29kZXMuCisgKgorICogTWFueSBvZiB0aGVzZSBzY3JpcHQgY29k
ZXMgLSB0aG9zZSBmcm9tIFVuaWNvZGUncyBTY3JpcHROYW1lcy50eHQgLQorICogYXJlIGNoYXJh
Y3RlciBwcm9wZXJ0eSB2YWx1ZXMgZm9yIFVuaWNvZGUncyBTY3JpcHQgcHJvcGVydHkuCisgKiBT
ZWUgVUFYICMyNCBTY3JpcHQgTmFtZXMgKGh0dHA6Ly93d3cudW5pY29kZS5vcmcvcmVwb3J0cy90
cjI0LykuCisgKgorICogU3RhcnRpbmcgd2l0aCBJQ1UgMy42LCBjb25zdGFudHMgZm9yIG1vc3Qg
SVNPIDE1OTI0IHNjcmlwdCBjb2RlcworICogYXJlIGluY2x1ZGVkIChjdXJyZW50bHkgZXhjbHVk
aW5nIHByaXZhdGUtdXNlIGNvZGVzIFFhYWEuLlFhYngpLgorICogRm9yIHNjcmlwdHMgZm9yIHdo
aWNoIHRoZXJlIGFyZSBjb2RlcyBpbiBJU08gMTU5MjQgYnV0IHdoaWNoIGFyZSBub3QKKyAqIHVz
ZWQgaW4gdGhlIFVuaWNvZGUgQ2hhcmFjdGVyIERhdGFiYXNlIChVQ0QpLCB0aGVyZSBhcmUgbm8g
VW5pY29kZSBjaGFyYWN0ZXJzCisgKiBhc3NvY2lhdGVkIHdpdGggdGhvc2Ugc2NyaXB0cy4KKyAq
CisgKiBGb3IgZXhhbXBsZSwgdGhlcmUgYXJlIG5vIGNoYXJhY3RlcnMgdGhhdCBoYXZlIGEgVUNE
IHNjcmlwdCBjb2RlIG9mCisgKiBIYW5zIG9yIEhhbnQuIEFsbCBIYW4gaWRlb2dyYXBocyBoYXZl
IHRoZSBIYW5pIHNjcmlwdCBjb2RlLgorICogVGhlIEhhbnMgYW5kIEhhbnQgc2NyaXB0IGNvZGVz
IGFyZSB1c2VkIHdpdGggQ0xEUiBkYXRhLgorICoKKyAqIElTTyAxNTkyNCBzY3JpcHQgY29kZXMg
YXJlIGluY2x1ZGVkIGZvciB1c2Ugd2l0aCBDTERSIGFuZCBzaW1pbGFyLgorICoKKyAqIEBzdGFi
bGUgSUNVIDIuMgorICovCit0eXBlZGVmIGVudW0gVVNjcmlwdENvZGUgeworICAgICAgVVNDUklQ
VF9JTlZBTElEX0NPREUgPSAtMSwKKyAgICAgIFVTQ1JJUFRfQ09NTU9OICAgICAgID0gIDAsICAv
KiBaeXl5ICovCisgICAgICBVU0NSSVBUX0lOSEVSSVRFRCAgICA9ICAxLCAgLyogWmluaCAqLyAv
KiAiQ29kZSBmb3IgaW5oZXJpdGVkIHNjcmlwdCIsIGZvciBub24tc3BhY2luZyBjb21iaW5pbmcg
bWFya3M7IGFsc28gUWFhaSAqLworICAgICAgVVNDUklQVF9BUkFCSUMgICAgICAgPSAgMiwgIC8q
IEFyYWIgKi8KKyAgICAgIFVTQ1JJUFRfQVJNRU5JQU4gICAgID0gIDMsICAvKiBBcm1uICovCisg
ICAgICBVU0NSSVBUX0JFTkdBTEkgICAgICA9ICA0LCAgLyogQmVuZyAqLworICAgICAgVVNDUklQ
VF9CT1BPTU9GTyAgICAgPSAgNSwgIC8qIEJvcG8gKi8KKyAgICAgIFVTQ1JJUFRfQ0hFUk9LRUUg
ICAgID0gIDYsICAvKiBDaGVyICovCisgICAgICBVU0NSSVBUX0NPUFRJQyAgICAgICA9ICA3LCAg
LyogQ29wdCAqLworICAgICAgVVNDUklQVF9DWVJJTExJQyAgICAgPSAgOCwgIC8qIEN5cmwgKi8K
KyAgICAgIFVTQ1JJUFRfREVTRVJFVCAgICAgID0gIDksICAvKiBEc3J0ICovCisgICAgICBVU0NS
SVBUX0RFVkFOQUdBUkkgICA9IDEwLCAgLyogRGV2YSAqLworICAgICAgVVNDUklQVF9FVEhJT1BJ
QyAgICAgPSAxMSwgIC8qIEV0aGkgKi8KKyAgICAgIFVTQ1JJUFRfR0VPUkdJQU4gICAgID0gMTIs
ICAvKiBHZW9yICovCisgICAgICBVU0NSSVBUX0dPVEhJQyAgICAgICA9IDEzLCAgLyogR290aCAq
LworICAgICAgVVNDUklQVF9HUkVFSyAgICAgICAgPSAxNCwgIC8qIEdyZWsgKi8KKyAgICAgIFVT
Q1JJUFRfR1VKQVJBVEkgICAgID0gMTUsICAvKiBHdWpyICovCisgICAgICBVU0NSSVBUX0dVUk1V
S0hJICAgICA9IDE2LCAgLyogR3VydSAqLworICAgICAgVVNDUklQVF9IQU4gICAgICAgICAgPSAx
NywgIC8qIEhhbmkgKi8KKyAgICAgIFVTQ1JJUFRfSEFOR1VMICAgICAgID0gMTgsICAvKiBIYW5n
ICovCisgICAgICBVU0NSSVBUX0hFQlJFVyAgICAgICA9IDE5LCAgLyogSGViciAqLworICAgICAg
VVNDUklQVF9ISVJBR0FOQSAgICAgPSAyMCwgIC8qIEhpcmEgKi8KKyAgICAgIFVTQ1JJUFRfS0FO
TkFEQSAgICAgID0gMjEsICAvKiBLbmRhICovCisgICAgICBVU0NSSVBUX0tBVEFLQU5BICAgICA9
IDIyLCAgLyogS2FuYSAqLworICAgICAgVVNDUklQVF9LSE1FUiAgICAgICAgPSAyMywgIC8qIEto
bXIgKi8KKyAgICAgIFVTQ1JJUFRfTEFPICAgICAgICAgID0gMjQsICAvKiBMYW9vICovCisgICAg
ICBVU0NSSVBUX0xBVElOICAgICAgICA9IDI1LCAgLyogTGF0biAqLworICAgICAgVVNDUklQVF9N
QUxBWUFMQU0gICAgPSAyNiwgIC8qIE1seW0gKi8KKyAgICAgIFVTQ1JJUFRfTU9OR09MSUFOICAg
ID0gMjcsICAvKiBNb25nICovCisgICAgICBVU0NSSVBUX01ZQU5NQVIgICAgICA9IDI4LCAgLyog
TXltciAqLworICAgICAgVVNDUklQVF9PR0hBTSAgICAgICAgPSAyOSwgIC8qIE9nYW0gKi8KKyAg
ICAgIFVTQ1JJUFRfT0xEX0lUQUxJQyAgID0gMzAsICAvKiBJdGFsICovCisgICAgICBVU0NSSVBU
X09SSVlBICAgICAgICA9IDMxLCAgLyogT3J5YSAqLworICAgICAgVVNDUklQVF9SVU5JQyAgICAg
ICAgPSAzMiwgIC8qIFJ1bnIgKi8KKyAgICAgIFVTQ1JJUFRfU0lOSEFMQSAgICAgID0gMzMsICAv
KiBTaW5oICovCisgICAgICBVU0NSSVBUX1NZUklBQyAgICAgICA9IDM0LCAgLyogU3lyYyAqLwor
ICAgICAgVVNDUklQVF9UQU1JTCAgICAgICAgPSAzNSwgIC8qIFRhbWwgKi8KKyAgICAgIFVTQ1JJ
UFRfVEVMVUdVICAgICAgID0gMzYsICAvKiBUZWx1ICovCisgICAgICBVU0NSSVBUX1RIQUFOQSAg
ICAgICA9IDM3LCAgLyogVGhhYSAqLworICAgICAgVVNDUklQVF9USEFJICAgICAgICAgPSAzOCwg
IC8qIFRoYWkgKi8KKyAgICAgIFVTQ1JJUFRfVElCRVRBTiAgICAgID0gMzksICAvKiBUaWJ0ICov
CisgICAgICAvKiogQ2FuYWRpYW5fQWJvcmlnaW5hbCBzY3JpcHQuIEBzdGFibGUgSUNVIDIuNiAq
LworICAgICAgVVNDUklQVF9DQU5BRElBTl9BQk9SSUdJTkFMID0gNDAsICAvKiBDYW5zICovCisg
ICAgICAvKiogQ2FuYWRpYW5fQWJvcmlnaW5hbCBzY3JpcHQgKGFsaWFzKS4gQHN0YWJsZSBJQ1Ug
Mi4yICovCisgICAgICBVU0NSSVBUX1VDQVMgICAgICAgICA9IFVTQ1JJUFRfQ0FOQURJQU5fQUJP
UklHSU5BTCwKKyAgICAgIFVTQ1JJUFRfWUkgICAgICAgICAgID0gNDEsICAvKiBZaWlpICovCisg
ICAgICBVU0NSSVBUX1RBR0FMT0cgICAgICA9IDQyLCAgLyogVGdsZyAqLworICAgICAgVVNDUklQ
VF9IQU5VTk9PICAgICAgPSA0MywgIC8qIEhhbm8gKi8KKyAgICAgIFVTQ1JJUFRfQlVISUQgICAg
ICAgID0gNDQsICAvKiBCdWhkICovCisgICAgICBVU0NSSVBUX1RBR0JBTldBICAgICA9IDQ1LCAg
LyogVGFnYiAqLworCisgICAgICAvKiBOZXcgc2NyaXB0cyBpbiBVbmljb2RlIDQgQHN0YWJsZSBJ
Q1UgMi42ICovCisgICAgICBVU0NSSVBUX0JSQUlMTEUgICAgICA9IDQ2LCAgLyogQnJhaSAqLwor
ICAgICAgVVNDUklQVF9DWVBSSU9UICAgICAgPSA0NywgIC8qIENwcnQgKi8KKyAgICAgIFVTQ1JJ
UFRfTElNQlUgICAgICAgID0gNDgsICAvKiBMaW1iICovCisgICAgICBVU0NSSVBUX0xJTkVBUl9C
ICAgICA9IDQ5LCAgLyogTGluYiAqLworICAgICAgVVNDUklQVF9PU01BTllBICAgICAgPSA1MCwg
IC8qIE9zbWEgKi8KKyAgICAgIFVTQ1JJUFRfU0hBVklBTiAgICAgID0gNTEsICAvKiBTaGF3ICov
CisgICAgICBVU0NSSVBUX1RBSV9MRSAgICAgICA9IDUyLCAgLyogVGFsZSAqLworICAgICAgVVND
UklQVF9VR0FSSVRJQyAgICAgPSA1MywgIC8qIFVnYXIgKi8KKworICAgICAgLyoqIE5ldyBzY3Jp
cHQgY29kZSBpbiBVbmljb2RlIDQuMC4xIEBzdGFibGUgSUNVIDMuMCAqLworICAgICAgVVNDUklQ
VF9LQVRBS0FOQV9PUl9ISVJBR0FOQSA9IDU0LC8qSHJrdCAqLworCisgICAgICAvKiBOZXcgc2Ny
aXB0cyBpbiBVbmljb2RlIDQuMSBAc3RhYmxlIElDVSAzLjQgKi8KKyAgICAgIFVTQ1JJUFRfQlVH
SU5FU0UgICAgICA9IDU1LCAvKiBCdWdpICovCisgICAgICBVU0NSSVBUX0dMQUdPTElUSUMgICAg
PSA1NiwgLyogR2xhZyAqLworICAgICAgVVNDUklQVF9LSEFST1NIVEhJICAgID0gNTcsIC8qIEto
YXIgKi8KKyAgICAgIFVTQ1JJUFRfU1lMT1RJX05BR1JJICA9IDU4LCAvKiBTeWxvICovCisgICAg
ICBVU0NSSVBUX05FV19UQUlfTFVFICAgPSA1OSwgLyogVGFsdSAqLworICAgICAgVVNDUklQVF9U
SUZJTkFHSCAgICAgID0gNjAsIC8qIFRmbmcgKi8KKyAgICAgIFVTQ1JJUFRfT0xEX1BFUlNJQU4g
ICA9IDYxLCAvKiBYcGVvICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHQgY29kZXMgZnJvbSBJU08g
MTU5MjQgQHN0YWJsZSBJQ1UgMy42ICovCisgICAgICBVU0NSSVBUX0JBTElORVNFICAgICAgICAg
ICAgICAgICAgICAgID0gNjIsIC8qIEJhbGkgKi8KKyAgICAgIFVTQ1JJUFRfQkFUQUsgICAgICAg
ICAgICAgICAgICAgICAgICAgPSA2MywgLyogQmF0ayAqLworICAgICAgVVNDUklQVF9CTElTU1lN
Qk9MUyAgICAgICAgICAgICAgICAgICA9IDY0LCAvKiBCbGlzICovCisgICAgICBVU0NSSVBUX0JS
QUhNSSAgICAgICAgICAgICAgICAgICAgICAgID0gNjUsIC8qIEJyYWggKi8KKyAgICAgIFVTQ1JJ
UFRfQ0hBTSAgICAgICAgICAgICAgICAgICAgICAgICAgPSA2NiwgLyogQ2hhbSAqLworICAgICAg
VVNDUklQVF9DSVJUSCAgICAgICAgICAgICAgICAgICAgICAgICA9IDY3LCAvKiBDaXJ0ICovCisg
ICAgICBVU0NSSVBUX09MRF9DSFVSQ0hfU0xBVk9OSUNfQ1lSSUxMSUMgID0gNjgsIC8qIEN5cnMg
Ki8KKyAgICAgIFVTQ1JJUFRfREVNT1RJQ19FR1lQVElBTiAgICAgICAgICAgICAgPSA2OSwgLyog
RWd5ZCAqLworICAgICAgVVNDUklQVF9ISUVSQVRJQ19FR1lQVElBTiAgICAgICAgICAgICA9IDcw
LCAvKiBFZ3loICovCisgICAgICBVU0NSSVBUX0VHWVBUSUFOX0hJRVJPR0xZUEhTICAgICAgICAg
ID0gNzEsIC8qIEVneXAgKi8KKyAgICAgIFVTQ1JJUFRfS0hVVFNVUkkgICAgICAgICAgICAgICAg
ICAgICAgPSA3MiwgLyogR2VvayAqLworICAgICAgVVNDUklQVF9TSU1QTElGSUVEX0hBTiAgICAg
ICAgICAgICAgICA9IDczLCAvKiBIYW5zICovCisgICAgICBVU0NSSVBUX1RSQURJVElPTkFMX0hB
TiAgICAgICAgICAgICAgID0gNzQsIC8qIEhhbnQgKi8KKyAgICAgIFVTQ1JJUFRfUEFIQVdIX0hN
T05HICAgICAgICAgICAgICAgICAgPSA3NSwgLyogSG1uZyAqLworICAgICAgVVNDUklQVF9PTERf
SFVOR0FSSUFOICAgICAgICAgICAgICAgICA9IDc2LCAvKiBIdW5nICovCisgICAgICBVU0NSSVBU
X0hBUkFQUEFOX0lORFVTICAgICAgICAgICAgICAgID0gNzcsIC8qIEluZHMgKi8KKyAgICAgIFVT
Q1JJUFRfSkFWQU5FU0UgICAgICAgICAgICAgICAgICAgICAgPSA3OCwgLyogSmF2YSAqLworICAg
ICAgVVNDUklQVF9LQVlBSF9MSSAgICAgICAgICAgICAgICAgICAgICA9IDc5LCAvKiBLYWxpICov
CisgICAgICBVU0NSSVBUX0xBVElOX0ZSQUtUVVIgICAgICAgICAgICAgICAgID0gODAsIC8qIExh
dGYgKi8KKyAgICAgIFVTQ1JJUFRfTEFUSU5fR0FFTElDICAgICAgICAgICAgICAgICAgPSA4MSwg
LyogTGF0ZyAqLworICAgICAgVVNDUklQVF9MRVBDSEEgICAgICAgICAgICAgICAgICAgICAgICA9
IDgyLCAvKiBMZXBjICovCisgICAgICBVU0NSSVBUX0xJTkVBUl9BICAgICAgICAgICAgICAgICAg
ICAgID0gODMsIC8qIExpbmEgKi8KKyAgICAgIC8qKiBAc3RhYmxlIElDVSA0LjYgKi8KKyAgICAg
IFVTQ1JJUFRfTUFOREFJQyAgICAgICAgICAgICAgICAgICAgICAgPSA4NCwgLyogTWFuZCAqLwor
ICAgICAgLyoqIEBzdGFibGUgSUNVIDMuNiAqLworICAgICAgVVNDUklQVF9NQU5EQUVBTiAgICAg
ICAgICAgICAgICAgICAgICA9IFVTQ1JJUFRfTUFOREFJQywKKyAgICAgIFVTQ1JJUFRfTUFZQU5f
SElFUk9HTFlQSFMgICAgICAgICAgICAgPSA4NSwgLyogTWF5YSAqLworICAgICAgLyoqIEBzdGFi
bGUgSUNVIDQuNiAqLworICAgICAgVVNDUklQVF9NRVJPSVRJQ19ISUVST0dMWVBIUyAgICAgICAg
ICA9IDg2LCAvKiBNZXJvICovCisgICAgICAvKiogQHN0YWJsZSBJQ1UgMy42ICovCisgICAgICBV
U0NSSVBUX01FUk9JVElDICAgICAgICAgICAgICAgICAgICAgID0gVVNDUklQVF9NRVJPSVRJQ19I
SUVST0dMWVBIUywKKyAgICAgIFVTQ1JJUFRfTktPICAgICAgICAgICAgICAgICAgICAgICAgICAg
PSA4NywgLyogTmtvbyAqLworICAgICAgVVNDUklQVF9PUktIT04gICAgICAgICAgICAgICAgICAg
ICAgICA9IDg4LCAvKiBPcmtoICovCisgICAgICBVU0NSSVBUX09MRF9QRVJNSUMgICAgICAgICAg
ICAgICAgICAgID0gODksIC8qIFBlcm0gKi8KKyAgICAgIFVTQ1JJUFRfUEhBR1NfUEEgICAgICAg
ICAgICAgICAgICAgICAgPSA5MCwgLyogUGhhZyAqLworICAgICAgVVNDUklQVF9QSE9FTklDSUFO
ICAgICAgICAgICAgICAgICAgICA9IDkxLCAvKiBQaG54ICovCisgICAgICBVU0NSSVBUX1BIT05F
VElDX1BPTExBUkQgICAgICAgICAgICAgID0gOTIsIC8qIFBscmQgKi8KKyAgICAgIFVTQ1JJUFRf
Uk9OR09ST05HTyAgICAgICAgICAgICAgICAgICAgPSA5MywgLyogUm9ybyAqLworICAgICAgVVND
UklQVF9TQVJBVEkgICAgICAgICAgICAgICAgICAgICAgICA9IDk0LCAvKiBTYXJhICovCisgICAg
ICBVU0NSSVBUX0VTVFJBTkdFTE9fU1lSSUFDICAgICAgICAgICAgID0gOTUsIC8qIFN5cmUgKi8K
KyAgICAgIFVTQ1JJUFRfV0VTVEVSTl9TWVJJQUMgICAgICAgICAgICAgICAgPSA5NiwgLyogU3ly
aiAqLworICAgICAgVVNDUklQVF9FQVNURVJOX1NZUklBQyAgICAgICAgICAgICAgICA9IDk3LCAv
KiBTeXJuICovCisgICAgICBVU0NSSVBUX1RFTkdXQVIgICAgICAgICAgICAgICAgICAgICAgID0g
OTgsIC8qIFRlbmcgKi8KKyAgICAgIFVTQ1JJUFRfVkFJICAgICAgICAgICAgICAgICAgICAgICAg
ICAgPSA5OSwgLyogVmFpaSAqLworICAgICAgVVNDUklQVF9WSVNJQkxFX1NQRUVDSCAgICAgICAg
ICAgICAgICA9IDEwMCwvKiBWaXNwICovCisgICAgICBVU0NSSVBUX0NVTkVJRk9STSAgICAgICAg
ICAgICAgICAgICAgID0gMTAxLC8qIFhzdXggKi8KKyAgICAgIFVTQ1JJUFRfVU5XUklUVEVOX0xB
TkdVQUdFUyAgICAgICAgICAgPSAxMDIsLyogWnh4eCAqLworICAgICAgVVNDUklQVF9VTktOT1dO
ICAgICAgICAgICAgICAgICAgICAgICA9IDEwMywvKiBaenp6ICovIC8qIFVua25vd249IkNvZGUg
Zm9yIHVuY29kZWQgc2NyaXB0IiwgZm9yIHVuYXNzaWduZWQgY29kZSBwb2ludHMgKi8KKworICAg
ICAgLyogTmV3IHNjcmlwdCBjb2RlcyBmcm9tIElTTyAxNTkyNCBAc3RhYmxlIElDVSAzLjggKi8K
KyAgICAgIFVTQ1JJUFRfQ0FSSUFOICAgICAgICAgICAgICAgICAgICAgICAgPSAxMDQsLyogQ2Fy
aSAqLworICAgICAgVVNDUklQVF9KQVBBTkVTRSAgICAgICAgICAgICAgICAgICAgICA9IDEwNSwv
KiBKcGFuICovCisgICAgICBVU0NSSVBUX0xBTk5BICAgICAgICAgICAgICAgICAgICAgICAgID0g
MTA2LC8qIExhbmEgKi8KKyAgICAgIFVTQ1JJUFRfTFlDSUFOICAgICAgICAgICAgICAgICAgICAg
ICAgPSAxMDcsLyogTHljaSAqLworICAgICAgVVNDUklQVF9MWURJQU4gICAgICAgICAgICAgICAg
ICAgICAgICA9IDEwOCwvKiBMeWRpICovCisgICAgICBVU0NSSVBUX09MX0NISUtJICAgICAgICAg
ICAgICAgICAgICAgID0gMTA5LC8qIE9sY2sgKi8KKyAgICAgIFVTQ1JJUFRfUkVKQU5HICAgICAg
ICAgICAgICAgICAgICAgICAgPSAxMTAsLyogUmpuZyAqLworICAgICAgVVNDUklQVF9TQVVSQVNI
VFJBICAgICAgICAgICAgICAgICAgICA9IDExMSwvKiBTYXVyICovCisgICAgICBVU0NSSVBUX1NJ
R05fV1JJVElORyAgICAgICAgICAgICAgICAgID0gMTEyLC8qIFNnbncgKi8KKyAgICAgIFVTQ1JJ
UFRfU1VOREFORVNFICAgICAgICAgICAgICAgICAgICAgPSAxMTMsLyogU3VuZCAqLworICAgICAg
VVNDUklQVF9NT09OICAgICAgICAgICAgICAgICAgICAgICAgICA9IDExNCwvKiBNb29uICovCisg
ICAgICBVU0NSSVBUX01FSVRFSV9NQVlFSyAgICAgICAgICAgICAgICAgID0gMTE1LC8qIE10ZWkg
Ki8KKworICAgICAgLyogTmV3IHNjcmlwdCBjb2RlcyBmcm9tIElTTyAxNTkyNCBAc3RhYmxlIElD
VSA0LjAgKi8KKyAgICAgIFVTQ1JJUFRfSU1QRVJJQUxfQVJBTUFJQyAgICAgICAgICAgICAgPSAx
MTYsLyogQXJtaSAqLworICAgICAgVVNDUklQVF9BVkVTVEFOICAgICAgICAgICAgICAgICAgICAg
ICA9IDExNywvKiBBdnN0ICovCisgICAgICBVU0NSSVBUX0NIQUtNQSAgICAgICAgICAgICAgICAg
ICAgICAgID0gMTE4LC8qIENha20gKi8KKyAgICAgIFVTQ1JJUFRfS09SRUFOICAgICAgICAgICAg
ICAgICAgICAgICAgPSAxMTksLyogS29yZSAqLworICAgICAgVVNDUklQVF9LQUlUSEkgICAgICAg
ICAgICAgICAgICAgICAgICA9IDEyMCwvKiBLdGhpICovCisgICAgICBVU0NSSVBUX01BTklDSEFF
QU4gICAgICAgICAgICAgICAgICAgID0gMTIxLC8qIE1hbmkgKi8KKyAgICAgIFVTQ1JJUFRfSU5T
Q1JJUFRJT05BTF9QQUhMQVZJICAgICAgICAgPSAxMjIsLyogUGhsaSAqLworICAgICAgVVNDUklQ
VF9QU0FMVEVSX1BBSExBVkkgICAgICAgICAgICAgICA9IDEyMywvKiBQaGxwICovCisgICAgICBV
U0NSSVBUX0JPT0tfUEFITEFWSSAgICAgICAgICAgICAgICAgID0gMTI0LC8qIFBobHYgKi8KKyAg
ICAgIFVTQ1JJUFRfSU5TQ1JJUFRJT05BTF9QQVJUSElBTiAgICAgICAgPSAxMjUsLyogUHJ0aSAq
LworICAgICAgVVNDUklQVF9TQU1BUklUQU4gICAgICAgICAgICAgICAgICAgICA9IDEyNiwvKiBT
YW1yICovCisgICAgICBVU0NSSVBUX1RBSV9WSUVUICAgICAgICAgICAgICAgICAgICAgID0gMTI3
LC8qIFRhdnQgKi8KKyAgICAgIFVTQ1JJUFRfTUFUSEVNQVRJQ0FMX05PVEFUSU9OICAgICAgICAg
PSAxMjgsLyogWm10aCAqLworICAgICAgVVNDUklQVF9TWU1CT0xTICAgICAgICAgICAgICAgICAg
ICAgICA9IDEyOSwvKiBac3ltICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHQgY29kZXMgZnJvbSBJ
U08gMTU5MjQgQHN0YWJsZSBJQ1UgNC40ICovCisgICAgICBVU0NSSVBUX0JBTVVNICAgICAgICAg
ICAgICAgICAgICAgICAgID0gMTMwLC8qIEJhbXUgKi8KKyAgICAgIFVTQ1JJUFRfTElTVSAgICAg
ICAgICAgICAgICAgICAgICAgICAgPSAxMzEsLyogTGlzdSAqLworICAgICAgVVNDUklQVF9OQUtI
SV9HRUJBICAgICAgICAgICAgICAgICAgICA9IDEzMiwvKiBOa2diICovCisgICAgICBVU0NSSVBU
X09MRF9TT1VUSF9BUkFCSUFOICAgICAgICAgICAgID0gMTMzLC8qIFNhcmIgKi8KKworICAgICAg
LyogTmV3IHNjcmlwdCBjb2RlcyBmcm9tIElTTyAxNTkyNCBAc3RhYmxlIElDVSA0LjYgKi8KKyAg
ICAgIFVTQ1JJUFRfQkFTU0FfVkFIICAgICAgICAgICAgICAgICAgICAgPSAxMzQsLyogQmFzcyAq
LworICAgICAgVVNDUklQVF9EVVBMT1lBTl9TSE9SVEFORCAgICAgICAgICAgICA9IDEzNSwvKiBE
dXBsICovCisgICAgICBVU0NSSVBUX0VMQkFTQU4gICAgICAgICAgICAgICAgICAgICAgID0gMTM2
LC8qIEVsYmEgKi8KKyAgICAgIFVTQ1JJUFRfR1JBTlRIQSAgICAgICAgICAgICAgICAgICAgICAg
PSAxMzcsLyogR3JhbiAqLworICAgICAgVVNDUklQVF9LUEVMTEUgICAgICAgICAgICAgICAgICAg
ICAgICA9IDEzOCwvKiBLcGVsICovCisgICAgICBVU0NSSVBUX0xPTUEgICAgICAgICAgICAgICAg
ICAgICAgICAgID0gMTM5LC8qIExvbWEgKi8KKyAgICAgIFVTQ1JJUFRfTUVOREUgICAgICAgICAg
ICAgICAgICAgICAgICAgPSAxNDAsLyogTWVuZCAqLworICAgICAgVVNDUklQVF9NRVJPSVRJQ19D
VVJTSVZFICAgICAgICAgICAgICA9IDE0MSwvKiBNZXJjICovCisgICAgICBVU0NSSVBUX09MRF9O
T1JUSF9BUkFCSUFOICAgICAgICAgICAgID0gMTQyLC8qIE5hcmIgKi8KKyAgICAgIFVTQ1JJUFRf
TkFCQVRBRUFOICAgICAgICAgICAgICAgICAgICAgPSAxNDMsLyogTmJhdCAqLworICAgICAgVVND
UklQVF9QQUxNWVJFTkUgICAgICAgICAgICAgICAgICAgICA9IDE0NCwvKiBQYWxtICovCisgICAg
ICBVU0NSSVBUX1NJTkRISSAgICAgICAgICAgICAgICAgICAgICAgID0gMTQ1LC8qIFNpbmQgKi8K
KyAgICAgIFVTQ1JJUFRfV0FSQU5HX0NJVEkgICAgICAgICAgICAgICAgICAgPSAxNDYsLyogV2Fy
YSAqLworCisgICAgICAvKiBQcml2YXRlIHVzZSBjb2RlcyBmcm9tIFFhYWEgLSBRYWJ4IGFyZSBu
b3Qgc3VwcG9ydGVkICovCisgICAgICBVU0NSSVBUX0NPREVfTElNSVQgICAgPSAxNDcKK30gVVNj
cmlwdENvZGU7CisKKy8qKgorICogR2V0cyBzY3JpcHQgY29kZXMgYXNzb2NpYXRlZCB3aXRoIHRo
ZSBnaXZlbiBsb2NhbGUgb3IgSVNPIDE1OTI0IGFiYnJldmlhdGlvbiBvciBuYW1lLiAKKyAqIEZp
bGxzIGluIFVTQ1JJUFRfTUFMQVlBTEFNIGdpdmVuICJNYWxheWFtIiBPUiAiTWx5bSIuCisgKiBG
aWxscyBpbiBVU0NSSVBUX0xBVElOIGdpdmVuICJlbiIgT1IgImVuX1VTIiAKKyAqIElmIHJlcXVp
cmVkIGNhcGFjaXR5IGlzIGdyZWF0ZXIgdGhhbiBjYXBhY2l0eSBvZiB0aGUgZGVzdGluYXRpb24g
YnVmZmVyIHRoZW4gdGhlIGVycm9yIGNvZGUKKyAqIGlzIHNldCB0byBVX0JVRkZFUl9PVkVSRkxP
V19FUlJPUiBhbmQgdGhlIHJlcXVpcmVkIGNhcGFjaXR5IGlzIHJldHVybmVkCisgKgorICogPHA+
Tm90ZTogVG8gc2VhcmNoIGJ5IHNob3J0IG9yIGxvbmcgc2NyaXB0IGFsaWFzIG9ubHksIHVzZQor
ICogdV9nZXRQcm9wZXJ0eVZhbHVlRW51bShVQ0hBUl9TQ1JJUFQsIGFsaWFzKSBpbnN0ZWFkLiAg
VGhpcyBkb2VzCisgKiBhIGZhc3QgbG9va3VwIHdpdGggbm8gYWNjZXNzIG9mIHRoZSBsb2NhbGUg
ZGF0YS4KKyAqIEBwYXJhbSBuYW1lT3JBYmJyT3JMb2NhbGUgbmFtZSBvZiB0aGUgc2NyaXB0LCBh
cyBnaXZlbiBpbgorICogUHJvcGVydHlWYWx1ZUFsaWFzZXMudHh0LCBvciBJU08gMTU5MjQgY29k
ZSBvciBsb2NhbGUKKyAqIEBwYXJhbSBmaWxsSW4gdGhlIFVTY3JpcHRDb2RlIGJ1ZmZlciB0byBm
aWxsIGluIHRoZSBzY3JpcHQgY29kZQorICogQHBhcmFtIGNhcGFjaXR5IHRoZSBjYXBhY2l0eSAo
c2l6ZSkgZm8gVVNjcmlwdENvZGUgYnVmZmVyIHBhc3NlZCBpbi4KKyAqIEBwYXJhbSBlcnIgdGhl
IGVycm9yIHN0YXR1cyBjb2RlLgorICogQHJldHVybiBUaGUgbnVtYmVyIG9mIHNjcmlwdCBjb2Rl
cyBmaWxsZWQgaW4gdGhlIGJ1ZmZlciBwYXNzZWQgaW4gCisgKiBAc3RhYmxlIElDVSAyLjQKKyAq
LworVV9TVEFCTEUgaW50MzJfdCAgVV9FWFBPUlQyIAordXNjcmlwdF9nZXRDb2RlKGNvbnN0IGNo
YXIqIG5hbWVPckFiYnJPckxvY2FsZSxVU2NyaXB0Q29kZSogZmlsbEluLGludDMyX3QgY2FwYWNp
dHksVUVycm9yQ29kZSAqZXJyKTsKKworLyoqCisgKiBHZXRzIGEgc2NyaXB0IG5hbWUgYXNzb2Np
YXRlZCB3aXRoIHRoZSBnaXZlbiBzY3JpcHQgY29kZS4gCisgKiBSZXR1cm5zICAiTWFsYXlhbSIg
Z2l2ZW4gVVNDUklQVF9NQUxBWUFMQU0KKyAqIEBwYXJhbSBzY3JpcHRDb2RlIFVTY3JpcHRDb2Rl
IGVudW0KKyAqIEByZXR1cm4gc2NyaXB0IGxvbmcgbmFtZSBhcyBnaXZlbiBpbgorICogUHJvcGVy
dHlWYWx1ZUFsaWFzZXMudHh0LCBvciBOVUxMIGlmIHNjcmlwdENvZGUgaXMgaW52YWxpZAorICog
QHN0YWJsZSBJQ1UgMi40CisgKi8KK1VfU1RBQkxFIGNvbnN0IGNoYXIqICBVX0VYUE9SVDIgCit1
c2NyaXB0X2dldE5hbWUoVVNjcmlwdENvZGUgc2NyaXB0Q29kZSk7CisKKy8qKgorICogR2V0cyBh
IHNjcmlwdCBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4gc2NyaXB0IGNvZGUuIAorICog
UmV0dXJucyAgIk1seW0iIGdpdmVuIFVTQ1JJUFRfTUFMQVlBTEFNCisgKiBAcGFyYW0gc2NyaXB0
Q29kZSBVU2NyaXB0Q29kZSBlbnVtCisgKiBAcmV0dXJuIHNjcmlwdCBhYmJyZXZpYXRlZCBuYW1l
IGFzIGdpdmVuIGluCisgKiBQcm9wZXJ0eVZhbHVlQWxpYXNlcy50eHQsIG9yIE5VTEwgaWYgc2Ny
aXB0Q29kZSBpcyBpbnZhbGlkCisgKiBAc3RhYmxlIElDVSAyLjQKKyAqLworVV9TVEFCTEUgY29u
c3QgY2hhciogIFVfRVhQT1JUMiAKK3VzY3JpcHRfZ2V0U2hvcnROYW1lKFVTY3JpcHRDb2RlIHNj
cmlwdENvZGUpOworCisvKioKKyAqIEdldHMgdGhlIHNjcmlwdCBjb2RlIGFzc29jaWF0ZWQgd2l0
aCB0aGUgZ2l2ZW4gY29kZXBvaW50LgorICogUmV0dXJucyBVU0NSSVBUX01BTEFZQUxBTSBnaXZl
biAweDBEMDIgCisgKiBAcGFyYW0gY29kZXBvaW50IFVDaGFyMzIgY29kZXBvaW50CisgKiBAcGFy
YW0gZXJyIHRoZSBlcnJvciBzdGF0dXMgY29kZS4KKyAqIEByZXR1cm4gVGhlIFVTY3JpcHRDb2Rl
LCBvciAwIGlmIGNvZGVwb2ludCBpcyBpbnZhbGlkIAorICogQHN0YWJsZSBJQ1UgMi40CisgKi8K
K1VfU1RBQkxFIFVTY3JpcHRDb2RlICBVX0VYUE9SVDIgCit1c2NyaXB0X2dldFNjcmlwdChVQ2hh
cjMyIGNvZGVwb2ludCwgVUVycm9yQ29kZSAqZXJyKTsKKworI2VuZGlmCgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBTb3VyY2UvSmF2YVNjcmlwdEdsdWUvaWN1L3VuaWNvZGUvdXNjcmlwdC5oCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKICAgKyBMRgoKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlz
aW9uIDg5NDg1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDIgQEAKKzIwMTEtMDYtMjIgIEp1bmdzaGlrIFNoaW4gIDxqc2hpbkBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWxsb3cgZ2VuZXJpYyBmb250IGZhbWlseSBzZXR0aW5ncyBwZXIgc2NyaXB0IGNvZGUuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDc5NworCisgICAg
ICAgIE1ha2UgZ2VuZXJpYyBmb250IGZhbWlseSBnZXR0ZXJzL3NldHRlcnMgYWNjZXB0IGFuIGFk
ZGl0aW9uYWwKKyAgICAgICAgYXJndW1lbnQgKHNjcmlwdCBjb2RlKS4gSXQgaGFzIGEgZGVmYXVs
dCB2YWx1ZSBzbyB0aGF0IGlmIGFuIGVtYmVkZGVyCisgICAgICAgIGRvZXMgbm90IGhhdmUvd2Fu
dCBhIHBlci1zY3JpcHQgZm9udCBmYW1pbHkgc2V0dGluZywgY2FsbC1zaXRlcworICAgICAgICBk
b24ndCBoYXZlIHRvIGJlIGNoYW5nZWQuCisgICAgICAgIFRoaXMgaXMgdG8gcHJlcGFyZSBmb3Ig
Zml4aW5nIGJ1ZyAxMDg3NCAoZm9udCBzZWxlY3Rpb24gaXMgbm90CisgICAgICAgIGxhbmd1YWdl
LWRlcGVuZGVudCkgYW5kIGJ1ZyAxODA4NS4KKworICAgICAgICB1c2NyaXB0LmggaGFzIGJlZW4g
dXBkYXRlZCB0byB0aGF0IG9mIElDVSA0LjYgd2l0aCB0d28gZnVuY3Rpb24KKyAgICAgICAgZGVj
bGFyYXRpb25zIG5ldyB0byBJQ1UgNC42IHJlbW92ZWQuCisKKyAgICAgICAgVGhlcmUgc2hvdWxk
IGJlIG5vIGNoYW5nZSBpbiBsYXlvdXQgYW5kIG5vIG5ldyBsYXlvdXQgdGVzdAorICAgICAgICBp
cyBhZGRlZC4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIGljdS91bmlj
b2RlL3VzY3JpcHQuaDogdXBkYXRlZCB0byBJQ1UgNC42CisgICAgICAgICogcGFnZS9TZXR0aW5n
cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzZXRHZW5lcmljRm9udEZhbWlseU1hcCk6IGhlbHBl
ciB0byBzZXQgZ2VuZXJpYyBmYW1pbHkgcGVyIHNjcmlwdAorICAgICAgICAoV2ViQ29yZTo6Z2V0
R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQpOiBoZWxwZXIgZnVuY3Rpb24gdXNlZCBieSBnZXR0
ZXJzIGZvciBmb29Gb250RmFtaWx5LgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnN0YW5k
YXJkRm9udEZhbWlseSk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0U3RhbmRhcmRG
b250RmFtaWx5KToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpmaXhlZEZvbnRGYW1pbHkp
OgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldEZpeGVkRm9udEZhbWlseSk6CisgICAg
ICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2VyaWZGb250RmFtaWx5KToKKyAgICAgICAgKFdlYkNv
cmU6OlNldHRpbmdzOjpzZXRTZXJpZkZvbnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0
dGluZ3M6OnNhbnNTZXJpZkZvbnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6
OnNldFNhbnNTZXJpZkZvbnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OmN1
cnNpdmVGb250RmFtaWx5KToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRDdXJzaXZl
Rm9udEZhbWlseSk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6ZmFudGFzeUZvbnRGYW1p
bHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldEZhbnRhc3lGb250RmFtaWx5KToK
KyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmg6IHNldHRlciBhbmQgZ2V0dGVyIGZvciBGb29Gb250
RmFtaWx5IGhhdmUgYSBuZXcgb3B0aW9uYWwgYXJndW1lbnQsIHNjcmlwdENvZGUuCisKIDIwMTEt
MDYtMjIgIE1hcmsgUGlsZ3JpbSAgPHBpbGdyaW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEFkYW0gQmFydGguCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkocmV2aXNpb24g
ODk0ODUpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkod29ya2luZyBjb3B5KQpA
QCAtODU2LDIyICs4NTYsMjIgQEAgX19aTjdXZWJDb3JlOFNldHRpbmdzMTZzZXRVc2VzUGFnZUNh
Y2hlRQogX19aTjdXZWJDb3JlOFNldHRpbmdzMTdzZXRQbHVnaW5zRW5hYmxlZEViCiBfX1pON1dl
YkNvcmU4U2V0dGluZ3MxOHNldERPTVBhc3RlQWxsb3dlZEViCiBfX1pON1dlYkNvcmU4U2V0dGlu
Z3MxOHNldERlZmF1bHRGb250U2l6ZUVpCi1fX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldEZpeGVk
Rm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFCitfX1pON1dlYkNvcmU4U2V0dGluZ3Mx
OHNldEZpeGVkRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFMTFVU2NyaXB0Q29kZQog
X19aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRNaW5pbXVtRm9udFNpemVFaQotX19aTjdXZWJDb3Jl
OFNldHRpbmdzMThzZXRTZXJpZkZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5nRQorX19a
TjdXZWJDb3JlOFNldHRpbmdzMThzZXRTZXJpZkZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWljU3Ry
aW5nRTExVVNjcmlwdENvZGUKIF9fWk43V2ViQ29yZThTZXR0aW5nczE4c2V0V2ViQXVkaW9FbmFi
bGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczE5bWluRE9NVGltZXJJbnRlcnZhbEV2CiBfX1pO
N1dlYkNvcmU4U2V0dGluZ3MxOXNldFNob3dEZWJ1Z0JvcmRlcnNFYgotX19aTjdXZWJDb3JlOFNl
dHRpbmdzMjBzZXRDdXJzaXZlRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFCi1fX1pO
N1dlYkNvcmU4U2V0dGluZ3MyMHNldEZhbnRhc3lGb250RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0
cmluZ0UKK19fWk43V2ViQ29yZThTZXR0aW5nczIwc2V0Q3Vyc2l2ZUZvbnRGYW1pbHlFUktOM1dU
RjEyQXRvbWljU3RyaW5nRTExVVNjcmlwdENvZGUKK19fWk43V2ViQ29yZThTZXR0aW5nczIwc2V0
RmFudGFzeUZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5nRTExVVNjcmlwdENvZGUKIF9f
Wk43V2ViQ29yZThTZXR0aW5nczIwc2V0SmF2YVNjcmlwdEVuYWJsZWRFYgogX19aTjdXZWJDb3Jl
OFNldHRpbmdzMjBzZXRYU1NBdWRpdG9yRW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3My
MXNldFNob3dSZXBhaW50Q291bnRlckViCi1fX1pON1dlYkNvcmU4U2V0dGluZ3MyMXNldFN0YW5k
YXJkRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFCitfX1pON1dlYkNvcmU4U2V0dGlu
Z3MyMXNldFN0YW5kYXJkRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFMTFVU2NyaXB0
Q29kZQogX19aTjdXZWJDb3JlOFNldHRpbmdzMjFzZXRXZWJTZWN1cml0eUVuYWJsZWRFYgogX19a
TjdXZWJDb3JlOFNldHRpbmdzMjJzZXRMb2NhbFN0b3JhZ2VFbmFibGVkRWIKIF9fWk43V2ViQ29y
ZThTZXR0aW5nczIyc2V0TWluRE9NVGltZXJJbnRlcnZhbEVkCi1fX1pON1dlYkNvcmU4U2V0dGlu
Z3MyMnNldFNhbnNTZXJpZkZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5nRQorX19aTjdX
ZWJDb3JlOFNldHRpbmdzMjJzZXRTYW5zU2VyaWZGb250RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0
cmluZ0UxMVVTY3JpcHRDb2RlCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMnNldFNlc3Npb25TdG9y
YWdlUXVvdGFFagogX19aTjdXZWJDb3JlOFNldHRpbmdzMjJzZXRTaG93c1VSTHNJblRvb2xUaXBz
RWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczIzc2V0RGVmYXVsdEZpeGVkRm9udFNpemVFaQpJbmRl
eDogU291cmNlL1dlYkNvcmUvaWN1L3VuaWNvZGUvdXNjcmlwdC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2ljdS91bmljb2RlL3VzY3JpcHQuaAkocmV2aXNpb24gODk0ODUpCisrKyBT
b3VyY2UvV2ViQ29yZS9pY3UvdW5pY29kZS91c2NyaXB0LmgJKHdvcmtpbmcgY29weSkKQEAgLTEs
NDEgKzEsNjMgQEAKIC8qCi0qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0qICAgQ29weXJpZ2h0IChDKSAxOTk3LTIw
MDQsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKLSogICBDb3Jwb3JhdGlvbiBhbmQg
b3RoZXJzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSoqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKLSoKLSogRmlsZSBV
U0NSSVBULkgKLSoKLSogTW9kaWZpY2F0aW9uIEhpc3Rvcnk6Ci0qCi0qICAgRGF0ZSAgICAgICAg
TmFtZSAgICAgICAgRGVzY3JpcHRpb24KLSogICAwNy8wNi8yMDAxICAgIFJhbSAgICAgICAgIENy
ZWF0aW9uLgotKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0qLworICoqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqICAg
Q29weXJpZ2h0IChDKSAxOTk3LTIwMTAsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMK
KyAqICAgQ29ycG9yYXRpb24gYW5kIG90aGVycy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgorICoKKyAqIEZpbGUgVVNDUklQVC5ICisgKgorICogTW9kaWZpY2F0aW9uIEhp
c3Rvcnk6CisgKgorICogICBEYXRlICAgICAgICBOYW1lICAgICAgICBEZXNjcmlwdGlvbgorICog
ICAwNy8wNi8yMDAxICAgIFJhbSAgICAgICAgIENyZWF0aW9uLgorICoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgorICovCisKICNpZm5kZWYgVVNDUklQVF9ICiAjZGVmaW5lIFVTQ1JJUFRfSAogI2luY2x1
ZGUgInVuaWNvZGUvdXR5cGVzLmgiCiAKIC8qKgotICogQ29uc3RhbnRzIGZvciBVbmljb2RlIHNj
cmlwdCB2YWx1ZXMgZnJvbSBTY3JpcHROYW1lcy50eHQgLgorICogXGZpbGUKKyAqIFxicmllZiBD
IEFQSTogVW5pY29kZSBTY3JpcHQgSW5mb3JtYXRpb24KKyAqLworIAorLyoqCisgKiBDb25zdGFu
dHMgZm9yIElTTyAxNTkyNCBzY3JpcHQgY29kZXMuCisgKgorICogTWFueSBvZiB0aGVzZSBzY3Jp
cHQgY29kZXMgLSB0aG9zZSBmcm9tIFVuaWNvZGUncyBTY3JpcHROYW1lcy50eHQgLQorICogYXJl
IGNoYXJhY3RlciBwcm9wZXJ0eSB2YWx1ZXMgZm9yIFVuaWNvZGUncyBTY3JpcHQgcHJvcGVydHku
CisgKiBTZWUgVUFYICMyNCBTY3JpcHQgTmFtZXMgKGh0dHA6Ly93d3cudW5pY29kZS5vcmcvcmVw
b3J0cy90cjI0LykuCisgKgorICogU3RhcnRpbmcgd2l0aCBJQ1UgMy42LCBjb25zdGFudHMgZm9y
IG1vc3QgSVNPIDE1OTI0IHNjcmlwdCBjb2RlcworICogYXJlIGluY2x1ZGVkIChjdXJyZW50bHkg
ZXhjbHVkaW5nIHByaXZhdGUtdXNlIGNvZGVzIFFhYWEuLlFhYngpLgorICogRm9yIHNjcmlwdHMg
Zm9yIHdoaWNoIHRoZXJlIGFyZSBjb2RlcyBpbiBJU08gMTU5MjQgYnV0IHdoaWNoIGFyZSBub3QK
KyAqIHVzZWQgaW4gdGhlIFVuaWNvZGUgQ2hhcmFjdGVyIERhdGFiYXNlIChVQ0QpLCB0aGVyZSBh
cmUgbm8gVW5pY29kZSBjaGFyYWN0ZXJzCisgKiBhc3NvY2lhdGVkIHdpdGggdGhvc2Ugc2NyaXB0
cy4KKyAqCisgKiBGb3IgZXhhbXBsZSwgdGhlcmUgYXJlIG5vIGNoYXJhY3RlcnMgdGhhdCBoYXZl
IGEgVUNEIHNjcmlwdCBjb2RlIG9mCisgKiBIYW5zIG9yIEhhbnQuIEFsbCBIYW4gaWRlb2dyYXBo
cyBoYXZlIHRoZSBIYW5pIHNjcmlwdCBjb2RlLgorICogVGhlIEhhbnMgYW5kIEhhbnQgc2NyaXB0
IGNvZGVzIGFyZSB1c2VkIHdpdGggQ0xEUiBkYXRhLgorICoKKyAqIElTTyAxNTkyNCBzY3JpcHQg
Y29kZXMgYXJlIGluY2x1ZGVkIGZvciB1c2Ugd2l0aCBDTERSIGFuZCBzaW1pbGFyLgogICoKICAq
IEBzdGFibGUgSUNVIDIuMgogICovCiB0eXBlZGVmIGVudW0gVVNjcmlwdENvZGUgewogICAgICAg
VVNDUklQVF9JTlZBTElEX0NPREUgPSAtMSwKLSAgICAgIFVTQ1JJUFRfQ09NTU9OICAgICAgID0g
IDAgLCAvKiBaeXl5ICovCi0gICAgICBVU0NSSVBUX0lOSEVSSVRFRCAgICA9ICAxLCAgLyogUWFh
aSAqLworICAgICAgVVNDUklQVF9DT01NT04gICAgICAgPSAgMCwgIC8qIFp5eXkgKi8KKyAgICAg
IFVTQ1JJUFRfSU5IRVJJVEVEICAgID0gIDEsICAvKiBaaW5oICovIC8qICJDb2RlIGZvciBpbmhl
cml0ZWQgc2NyaXB0IiwgZm9yIG5vbi1zcGFjaW5nIGNvbWJpbmluZyBtYXJrczsgYWxzbyBRYWFp
ICovCiAgICAgICBVU0NSSVBUX0FSQUJJQyAgICAgICA9ICAyLCAgLyogQXJhYiAqLwogICAgICAg
VVNDUklQVF9BUk1FTklBTiAgICAgPSAgMywgIC8qIEFybW4gKi8KICAgICAgIFVTQ1JJUFRfQkVO
R0FMSSAgICAgID0gIDQsICAvKiBCZW5nICovCiAgICAgICBVU0NSSVBUX0JPUE9NT0ZPICAgICA9
ICA1LCAgLyogQm9wbyAqLwogICAgICAgVVNDUklQVF9DSEVST0tFRSAgICAgPSAgNiwgIC8qIENo
ZXIgKi8KICAgICAgIFVTQ1JJUFRfQ09QVElDICAgICAgID0gIDcsICAvKiBDb3B0ICovCi0gICAg
ICBVU0NSSVBUX0NZUklMTElDICAgICA9ICA4LCAgLyogQ3lybCAoQ3lycykgKi8KKyAgICAgIFVT
Q1JJUFRfQ1lSSUxMSUMgICAgID0gIDgsICAvKiBDeXJsICovCiAgICAgICBVU0NSSVBUX0RFU0VS
RVQgICAgICA9ICA5LCAgLyogRHNydCAqLwogICAgICAgVVNDUklQVF9ERVZBTkFHQVJJICAgPSAx
MCwgIC8qIERldmEgKi8KICAgICAgIFVTQ1JJUFRfRVRISU9QSUMgICAgID0gMTEsICAvKiBFdGhp
ICovCi0gICAgICBVU0NSSVBUX0dFT1JHSUFOICAgICA9IDEyLCAgLyogR2VvciAoR2VvbiwgR2Vv
YSkgKi8KKyAgICAgIFVTQ1JJUFRfR0VPUkdJQU4gICAgID0gMTIsICAvKiBHZW9yICovCiAgICAg
ICBVU0NSSVBUX0dPVEhJQyAgICAgICA9IDEzLCAgLyogR290aCAqLwogICAgICAgVVNDUklQVF9H
UkVFSyAgICAgICAgPSAxNCwgIC8qIEdyZWsgKi8KICAgICAgIFVTQ1JJUFRfR1VKQVJBVEkgICAg
ID0gMTUsICAvKiBHdWpyICovCkBAIC00OCw3ICs3MCw3IEBAIHR5cGVkZWYgZW51bSBVU2NyaXB0
Q29kZSB7CiAgICAgICBVU0NSSVBUX0tBVEFLQU5BICAgICA9IDIyLCAgLyogS2FuYSAqLwogICAg
ICAgVVNDUklQVF9LSE1FUiAgICAgICAgPSAyMywgIC8qIEtobXIgKi8KICAgICAgIFVTQ1JJUFRf
TEFPICAgICAgICAgID0gMjQsICAvKiBMYW9vICovCi0gICAgICBVU0NSSVBUX0xBVElOICAgICAg
ICA9IDI1LCAgLyogTGF0biAoTGF0ZiwgTGF0ZykgKi8KKyAgICAgIFVTQ1JJUFRfTEFUSU4gICAg
ICAgID0gMjUsICAvKiBMYXRuICovCiAgICAgICBVU0NSSVBUX01BTEFZQUxBTSAgICA9IDI2LCAg
LyogTWx5bSAqLwogICAgICAgVVNDUklQVF9NT05HT0xJQU4gICAgPSAyNywgIC8qIE1vbmcgKi8K
ICAgICAgIFVTQ1JJUFRfTVlBTk1BUiAgICAgID0gMjgsICAvKiBNeW1yICovCkBAIC01Nyw3ICs3
OSw3IEBAIHR5cGVkZWYgZW51bSBVU2NyaXB0Q29kZSB7CiAgICAgICBVU0NSSVBUX09SSVlBICAg
ICAgICA9IDMxLCAgLyogT3J5YSAqLwogICAgICAgVVNDUklQVF9SVU5JQyAgICAgICAgPSAzMiwg
IC8qIFJ1bnIgKi8KICAgICAgIFVTQ1JJUFRfU0lOSEFMQSAgICAgID0gMzMsICAvKiBTaW5oICov
Ci0gICAgICBVU0NSSVBUX1NZUklBQyAgICAgICA9IDM0LCAgLyogU3lyYyAoU3lyaiwgU3lybiwg
U3lyZSkgKi8KKyAgICAgIFVTQ1JJUFRfU1lSSUFDICAgICAgID0gMzQsICAvKiBTeXJjICovCiAg
ICAgICBVU0NSSVBUX1RBTUlMICAgICAgICA9IDM1LCAgLyogVGFtbCAqLwogICAgICAgVVNDUklQ
VF9URUxVR1UgICAgICAgPSAzNiwgIC8qIFRlbHUgKi8KICAgICAgIFVTQ1JJUFRfVEhBQU5BICAg
ICAgID0gMzcsICAvKiBUaGFhICovCkBAIC03NCwxOSArOTYsMTMwIEBAIHR5cGVkZWYgZW51bSBV
U2NyaXB0Q29kZSB7CiAgICAgICBVU0NSSVBUX1RBR0JBTldBICAgICA9IDQ1LCAgLyogVGFnYiAq
LwogCiAgICAgICAvKiBOZXcgc2NyaXB0cyBpbiBVbmljb2RlIDQgQHN0YWJsZSBJQ1UgMi42ICov
Ci0gICAgICBVU0NSSVBUX0JSQUlMTEUsICAgICAgICAgICAgLyogQnJhaSAqLwotICAgICAgVVND
UklQVF9DWVBSSU9ULCAgICAgICAgICAgIC8qIENwcnQgKi8KLSAgICAgIFVTQ1JJUFRfTElNQlUs
ICAgICAgICAgICAgICAvKiBMaW1iICovCi0gICAgICBVU0NSSVBUX0xJTkVBUl9CLCAgICAgICAg
ICAgLyogTGluYiAqLwotICAgICAgVVNDUklQVF9PU01BTllBLCAgICAgICAgICAgIC8qIE9zbWEg
Ki8KLSAgICAgIFVTQ1JJUFRfU0hBVklBTiwgICAgICAgICAgICAvKiBTaGF3ICovCi0gICAgICBV
U0NSSVBUX1RBSV9MRSwgICAgICAgICAgICAgLyogVGFsZSAqLwotICAgICAgVVNDUklQVF9VR0FS
SVRJQywgICAgICAgICAgIC8qIFVnYXIgKi8KLQotICAgICAgLyoqIE5ldyBzY3JpcHQgY29kZSBp
biBVbmljb2RlIDQuMC4xIEBkcmFmdCBJQ1UgMy4wICovCi0gICAgICBVU0NSSVBUX0tBVEFLQU5B
X09SX0hJUkFHQU5BLC8qSHJrdCAqLworICAgICAgVVNDUklQVF9CUkFJTExFICAgICAgPSA0Niwg
IC8qIEJyYWkgKi8KKyAgICAgIFVTQ1JJUFRfQ1lQUklPVCAgICAgID0gNDcsICAvKiBDcHJ0ICov
CisgICAgICBVU0NSSVBUX0xJTUJVICAgICAgICA9IDQ4LCAgLyogTGltYiAqLworICAgICAgVVND
UklQVF9MSU5FQVJfQiAgICAgPSA0OSwgIC8qIExpbmIgKi8KKyAgICAgIFVTQ1JJUFRfT1NNQU5Z
QSAgICAgID0gNTAsICAvKiBPc21hICovCisgICAgICBVU0NSSVBUX1NIQVZJQU4gICAgICA9IDUx
LCAgLyogU2hhdyAqLworICAgICAgVVNDUklQVF9UQUlfTEUgICAgICAgPSA1MiwgIC8qIFRhbGUg
Ki8KKyAgICAgIFVTQ1JJUFRfVUdBUklUSUMgICAgID0gNTMsICAvKiBVZ2FyICovCisKKyAgICAg
IC8qKiBOZXcgc2NyaXB0IGNvZGUgaW4gVW5pY29kZSA0LjAuMSBAc3RhYmxlIElDVSAzLjAgKi8K
KyAgICAgIFVTQ1JJUFRfS0FUQUtBTkFfT1JfSElSQUdBTkEgPSA1NCwvKkhya3QgKi8KKworICAg
ICAgLyogTmV3IHNjcmlwdHMgaW4gVW5pY29kZSA0LjEgQHN0YWJsZSBJQ1UgMy40ICovCisgICAg
ICBVU0NSSVBUX0JVR0lORVNFICAgICAgPSA1NSwgLyogQnVnaSAqLworICAgICAgVVNDUklQVF9H
TEFHT0xJVElDICAgID0gNTYsIC8qIEdsYWcgKi8KKyAgICAgIFVTQ1JJUFRfS0hBUk9TSFRISSAg
ICA9IDU3LCAvKiBLaGFyICovCisgICAgICBVU0NSSVBUX1NZTE9USV9OQUdSSSAgPSA1OCwgLyog
U3lsbyAqLworICAgICAgVVNDUklQVF9ORVdfVEFJX0xVRSAgID0gNTksIC8qIFRhbHUgKi8KKyAg
ICAgIFVTQ1JJUFRfVElGSU5BR0ggICAgICA9IDYwLCAvKiBUZm5nICovCisgICAgICBVU0NSSVBU
X09MRF9QRVJTSUFOICAgPSA2MSwgLyogWHBlbyAqLworCisgICAgICAvKiBOZXcgc2NyaXB0IGNv
ZGVzIGZyb20gSVNPIDE1OTI0IEBzdGFibGUgSUNVIDMuNiAqLworICAgICAgVVNDUklQVF9CQUxJ
TkVTRSAgICAgICAgICAgICAgICAgICAgICA9IDYyLCAvKiBCYWxpICovCisgICAgICBVU0NSSVBU
X0JBVEFLICAgICAgICAgICAgICAgICAgICAgICAgID0gNjMsIC8qIEJhdGsgKi8KKyAgICAgIFVT
Q1JJUFRfQkxJU1NZTUJPTFMgICAgICAgICAgICAgICAgICAgPSA2NCwgLyogQmxpcyAqLworICAg
ICAgVVNDUklQVF9CUkFITUkgICAgICAgICAgICAgICAgICAgICAgICA9IDY1LCAvKiBCcmFoICov
CisgICAgICBVU0NSSVBUX0NIQU0gICAgICAgICAgICAgICAgICAgICAgICAgID0gNjYsIC8qIENo
YW0gKi8KKyAgICAgIFVTQ1JJUFRfQ0lSVEggICAgICAgICAgICAgICAgICAgICAgICAgPSA2Nywg
LyogQ2lydCAqLworICAgICAgVVNDUklQVF9PTERfQ0hVUkNIX1NMQVZPTklDX0NZUklMTElDICA9
IDY4LCAvKiBDeXJzICovCisgICAgICBVU0NSSVBUX0RFTU9USUNfRUdZUFRJQU4gICAgICAgICAg
ICAgID0gNjksIC8qIEVneWQgKi8KKyAgICAgIFVTQ1JJUFRfSElFUkFUSUNfRUdZUFRJQU4gICAg
ICAgICAgICAgPSA3MCwgLyogRWd5aCAqLworICAgICAgVVNDUklQVF9FR1lQVElBTl9ISUVST0dM
WVBIUyAgICAgICAgICA9IDcxLCAvKiBFZ3lwICovCisgICAgICBVU0NSSVBUX0tIVVRTVVJJICAg
ICAgICAgICAgICAgICAgICAgID0gNzIsIC8qIEdlb2sgKi8KKyAgICAgIFVTQ1JJUFRfU0lNUExJ
RklFRF9IQU4gICAgICAgICAgICAgICAgPSA3MywgLyogSGFucyAqLworICAgICAgVVNDUklQVF9U
UkFESVRJT05BTF9IQU4gICAgICAgICAgICAgICA9IDc0LCAvKiBIYW50ICovCisgICAgICBVU0NS
SVBUX1BBSEFXSF9ITU9ORyAgICAgICAgICAgICAgICAgID0gNzUsIC8qIEhtbmcgKi8KKyAgICAg
IFVTQ1JJUFRfT0xEX0hVTkdBUklBTiAgICAgICAgICAgICAgICAgPSA3NiwgLyogSHVuZyAqLwor
ICAgICAgVVNDUklQVF9IQVJBUFBBTl9JTkRVUyAgICAgICAgICAgICAgICA9IDc3LCAvKiBJbmRz
ICovCisgICAgICBVU0NSSVBUX0pBVkFORVNFICAgICAgICAgICAgICAgICAgICAgID0gNzgsIC8q
IEphdmEgKi8KKyAgICAgIFVTQ1JJUFRfS0FZQUhfTEkgICAgICAgICAgICAgICAgICAgICAgPSA3
OSwgLyogS2FsaSAqLworICAgICAgVVNDUklQVF9MQVRJTl9GUkFLVFVSICAgICAgICAgICAgICAg
ICA9IDgwLCAvKiBMYXRmICovCisgICAgICBVU0NSSVBUX0xBVElOX0dBRUxJQyAgICAgICAgICAg
ICAgICAgID0gODEsIC8qIExhdGcgKi8KKyAgICAgIFVTQ1JJUFRfTEVQQ0hBICAgICAgICAgICAg
ICAgICAgICAgICAgPSA4MiwgLyogTGVwYyAqLworICAgICAgVVNDUklQVF9MSU5FQVJfQSAgICAg
ICAgICAgICAgICAgICAgICA9IDgzLCAvKiBMaW5hICovCisgICAgICAvKiogQHN0YWJsZSBJQ1Ug
NC42ICovCisgICAgICBVU0NSSVBUX01BTkRBSUMgICAgICAgICAgICAgICAgICAgICAgID0gODQs
IC8qIE1hbmQgKi8KKyAgICAgIC8qKiBAc3RhYmxlIElDVSAzLjYgKi8KKyAgICAgIFVTQ1JJUFRf
TUFOREFFQU4gICAgICAgICAgICAgICAgICAgICAgPSBVU0NSSVBUX01BTkRBSUMsCisgICAgICBV
U0NSSVBUX01BWUFOX0hJRVJPR0xZUEhTICAgICAgICAgICAgID0gODUsIC8qIE1heWEgKi8KKyAg
ICAgIC8qKiBAc3RhYmxlIElDVSA0LjYgKi8KKyAgICAgIFVTQ1JJUFRfTUVST0lUSUNfSElFUk9H
TFlQSFMgICAgICAgICAgPSA4NiwgLyogTWVybyAqLworICAgICAgLyoqIEBzdGFibGUgSUNVIDMu
NiAqLworICAgICAgVVNDUklQVF9NRVJPSVRJQyAgICAgICAgICAgICAgICAgICAgICA9IFVTQ1JJ
UFRfTUVST0lUSUNfSElFUk9HTFlQSFMsCisgICAgICBVU0NSSVBUX05LTyAgICAgICAgICAgICAg
ICAgICAgICAgICAgID0gODcsIC8qIE5rb28gKi8KKyAgICAgIFVTQ1JJUFRfT1JLSE9OICAgICAg
ICAgICAgICAgICAgICAgICAgPSA4OCwgLyogT3JraCAqLworICAgICAgVVNDUklQVF9PTERfUEVS
TUlDICAgICAgICAgICAgICAgICAgICA9IDg5LCAvKiBQZXJtICovCisgICAgICBVU0NSSVBUX1BI
QUdTX1BBICAgICAgICAgICAgICAgICAgICAgID0gOTAsIC8qIFBoYWcgKi8KKyAgICAgIFVTQ1JJ
UFRfUEhPRU5JQ0lBTiAgICAgICAgICAgICAgICAgICAgPSA5MSwgLyogUGhueCAqLworICAgICAg
VVNDUklQVF9QSE9ORVRJQ19QT0xMQVJEICAgICAgICAgICAgICA9IDkyLCAvKiBQbHJkICovCisg
ICAgICBVU0NSSVBUX1JPTkdPUk9OR08gICAgICAgICAgICAgICAgICAgID0gOTMsIC8qIFJvcm8g
Ki8KKyAgICAgIFVTQ1JJUFRfU0FSQVRJICAgICAgICAgICAgICAgICAgICAgICAgPSA5NCwgLyog
U2FyYSAqLworICAgICAgVVNDUklQVF9FU1RSQU5HRUxPX1NZUklBQyAgICAgICAgICAgICA9IDk1
LCAvKiBTeXJlICovCisgICAgICBVU0NSSVBUX1dFU1RFUk5fU1lSSUFDICAgICAgICAgICAgICAg
ID0gOTYsIC8qIFN5cmogKi8KKyAgICAgIFVTQ1JJUFRfRUFTVEVSTl9TWVJJQUMgICAgICAgICAg
ICAgICAgPSA5NywgLyogU3lybiAqLworICAgICAgVVNDUklQVF9URU5HV0FSICAgICAgICAgICAg
ICAgICAgICAgICA9IDk4LCAvKiBUZW5nICovCisgICAgICBVU0NSSVBUX1ZBSSAgICAgICAgICAg
ICAgICAgICAgICAgICAgID0gOTksIC8qIFZhaWkgKi8KKyAgICAgIFVTQ1JJUFRfVklTSUJMRV9T
UEVFQ0ggICAgICAgICAgICAgICAgPSAxMDAsLyogVmlzcCAqLworICAgICAgVVNDUklQVF9DVU5F
SUZPUk0gICAgICAgICAgICAgICAgICAgICA9IDEwMSwvKiBYc3V4ICovCisgICAgICBVU0NSSVBU
X1VOV1JJVFRFTl9MQU5HVUFHRVMgICAgICAgICAgID0gMTAyLC8qIFp4eHggKi8KKyAgICAgIFVT
Q1JJUFRfVU5LTk9XTiAgICAgICAgICAgICAgICAgICAgICAgPSAxMDMsLyogWnp6eiAqLyAvKiBV
bmtub3duPSJDb2RlIGZvciB1bmNvZGVkIHNjcmlwdCIsIGZvciB1bmFzc2lnbmVkIGNvZGUgcG9p
bnRzICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHQgY29kZXMgZnJvbSBJU08gMTU5MjQgQHN0YWJs
ZSBJQ1UgMy44ICovCisgICAgICBVU0NSSVBUX0NBUklBTiAgICAgICAgICAgICAgICAgICAgICAg
ID0gMTA0LC8qIENhcmkgKi8KKyAgICAgIFVTQ1JJUFRfSkFQQU5FU0UgICAgICAgICAgICAgICAg
ICAgICAgPSAxMDUsLyogSnBhbiAqLworICAgICAgVVNDUklQVF9MQU5OQSAgICAgICAgICAgICAg
ICAgICAgICAgICA9IDEwNiwvKiBMYW5hICovCisgICAgICBVU0NSSVBUX0xZQ0lBTiAgICAgICAg
ICAgICAgICAgICAgICAgID0gMTA3LC8qIEx5Y2kgKi8KKyAgICAgIFVTQ1JJUFRfTFlESUFOICAg
ICAgICAgICAgICAgICAgICAgICAgPSAxMDgsLyogTHlkaSAqLworICAgICAgVVNDUklQVF9PTF9D
SElLSSAgICAgICAgICAgICAgICAgICAgICA9IDEwOSwvKiBPbGNrICovCisgICAgICBVU0NSSVBU
X1JFSkFORyAgICAgICAgICAgICAgICAgICAgICAgID0gMTEwLC8qIFJqbmcgKi8KKyAgICAgIFVT
Q1JJUFRfU0FVUkFTSFRSQSAgICAgICAgICAgICAgICAgICAgPSAxMTEsLyogU2F1ciAqLworICAg
ICAgVVNDUklQVF9TSUdOX1dSSVRJTkcgICAgICAgICAgICAgICAgICA9IDExMiwvKiBTZ253ICov
CisgICAgICBVU0NSSVBUX1NVTkRBTkVTRSAgICAgICAgICAgICAgICAgICAgID0gMTEzLC8qIFN1
bmQgKi8KKyAgICAgIFVTQ1JJUFRfTU9PTiAgICAgICAgICAgICAgICAgICAgICAgICAgPSAxMTQs
LyogTW9vbiAqLworICAgICAgVVNDUklQVF9NRUlURUlfTUFZRUsgICAgICAgICAgICAgICAgICA9
IDExNSwvKiBNdGVpICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHQgY29kZXMgZnJvbSBJU08gMTU5
MjQgQHN0YWJsZSBJQ1UgNC4wICovCisgICAgICBVU0NSSVBUX0lNUEVSSUFMX0FSQU1BSUMgICAg
ICAgICAgICAgID0gMTE2LC8qIEFybWkgKi8KKyAgICAgIFVTQ1JJUFRfQVZFU1RBTiAgICAgICAg
ICAgICAgICAgICAgICAgPSAxMTcsLyogQXZzdCAqLworICAgICAgVVNDUklQVF9DSEFLTUEgICAg
ICAgICAgICAgICAgICAgICAgICA9IDExOCwvKiBDYWttICovCisgICAgICBVU0NSSVBUX0tPUkVB
TiAgICAgICAgICAgICAgICAgICAgICAgID0gMTE5LC8qIEtvcmUgKi8KKyAgICAgIFVTQ1JJUFRf
S0FJVEhJICAgICAgICAgICAgICAgICAgICAgICAgPSAxMjAsLyogS3RoaSAqLworICAgICAgVVND
UklQVF9NQU5JQ0hBRUFOICAgICAgICAgICAgICAgICAgICA9IDEyMSwvKiBNYW5pICovCisgICAg
ICBVU0NSSVBUX0lOU0NSSVBUSU9OQUxfUEFITEFWSSAgICAgICAgID0gMTIyLC8qIFBobGkgKi8K
KyAgICAgIFVTQ1JJUFRfUFNBTFRFUl9QQUhMQVZJICAgICAgICAgICAgICAgPSAxMjMsLyogUGhs
cCAqLworICAgICAgVVNDUklQVF9CT09LX1BBSExBVkkgICAgICAgICAgICAgICAgICA9IDEyNCwv
KiBQaGx2ICovCisgICAgICBVU0NSSVBUX0lOU0NSSVBUSU9OQUxfUEFSVEhJQU4gICAgICAgID0g
MTI1LC8qIFBydGkgKi8KKyAgICAgIFVTQ1JJUFRfU0FNQVJJVEFOICAgICAgICAgICAgICAgICAg
ICAgPSAxMjYsLyogU2FtciAqLworICAgICAgVVNDUklQVF9UQUlfVklFVCAgICAgICAgICAgICAg
ICAgICAgICA9IDEyNywvKiBUYXZ0ICovCisgICAgICBVU0NSSVBUX01BVEhFTUFUSUNBTF9OT1RB
VElPTiAgICAgICAgID0gMTI4LC8qIFptdGggKi8KKyAgICAgIFVTQ1JJUFRfU1lNQk9MUyAgICAg
ICAgICAgICAgICAgICAgICAgPSAxMjksLyogWnN5bSAqLworCisgICAgICAvKiBOZXcgc2NyaXB0
IGNvZGVzIGZyb20gSVNPIDE1OTI0IEBzdGFibGUgSUNVIDQuNCAqLworICAgICAgVVNDUklQVF9C
QU1VTSAgICAgICAgICAgICAgICAgICAgICAgICA9IDEzMCwvKiBCYW11ICovCisgICAgICBVU0NS
SVBUX0xJU1UgICAgICAgICAgICAgICAgICAgICAgICAgID0gMTMxLC8qIExpc3UgKi8KKyAgICAg
IFVTQ1JJUFRfTkFLSElfR0VCQSAgICAgICAgICAgICAgICAgICAgPSAxMzIsLyogTmtnYiAqLwor
ICAgICAgVVNDUklQVF9PTERfU09VVEhfQVJBQklBTiAgICAgICAgICAgICA9IDEzMywvKiBTYXJi
ICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHQgY29kZXMgZnJvbSBJU08gMTU5MjQgQHN0YWJsZSBJ
Q1UgNC42ICovCisgICAgICBVU0NSSVBUX0JBU1NBX1ZBSCAgICAgICAgICAgICAgICAgICAgID0g
MTM0LC8qIEJhc3MgKi8KKyAgICAgIFVTQ1JJUFRfRFVQTE9ZQU5fU0hPUlRBTkQgICAgICAgICAg
ICAgPSAxMzUsLyogRHVwbCAqLworICAgICAgVVNDUklQVF9FTEJBU0FOICAgICAgICAgICAgICAg
ICAgICAgICA9IDEzNiwvKiBFbGJhICovCisgICAgICBVU0NSSVBUX0dSQU5USEEgICAgICAgICAg
ICAgICAgICAgICAgID0gMTM3LC8qIEdyYW4gKi8KKyAgICAgIFVTQ1JJUFRfS1BFTExFICAgICAg
ICAgICAgICAgICAgICAgICAgPSAxMzgsLyogS3BlbCAqLworICAgICAgVVNDUklQVF9MT01BICAg
ICAgICAgICAgICAgICAgICAgICAgICA9IDEzOSwvKiBMb21hICovCisgICAgICBVU0NSSVBUX01F
TkRFICAgICAgICAgICAgICAgICAgICAgICAgID0gMTQwLC8qIE1lbmQgKi8KKyAgICAgIFVTQ1JJ
UFRfTUVST0lUSUNfQ1VSU0lWRSAgICAgICAgICAgICAgPSAxNDEsLyogTWVyYyAqLworICAgICAg
VVNDUklQVF9PTERfTk9SVEhfQVJBQklBTiAgICAgICAgICAgICA9IDE0MiwvKiBOYXJiICovCisg
ICAgICBVU0NSSVBUX05BQkFUQUVBTiAgICAgICAgICAgICAgICAgICAgID0gMTQzLC8qIE5iYXQg
Ki8KKyAgICAgIFVTQ1JJUFRfUEFMTVlSRU5FICAgICAgICAgICAgICAgICAgICAgPSAxNDQsLyog
UGFsbSAqLworICAgICAgVVNDUklQVF9TSU5ESEkgICAgICAgICAgICAgICAgICAgICAgICA9IDE0
NSwvKiBTaW5kICovCisgICAgICBVU0NSSVBUX1dBUkFOR19DSVRJICAgICAgICAgICAgICAgICAg
ID0gMTQ2LC8qIFdhcmEgKi8KIAotICAgICAgVVNDUklQVF9DT0RFX0xJTUlUCisgICAgICAvKiBQ
cml2YXRlIHVzZSBjb2RlcyBmcm9tIFFhYWEgLSBRYWJ4IGFyZSBub3Qgc3VwcG9ydGVkICovCisg
ICAgICBVU0NSSVBUX0NPREVfTElNSVQgICAgPSAxNDcKIH0gVVNjcmlwdENvZGU7CiAKIC8qKgpA
QCAtMTMyLDcgKzI2NSw3IEBAIHVzY3JpcHRfZ2V0TmFtZShVU2NyaXB0Q29kZSBzY3JpcHRDb2Rl
KTsKIFVfU1RBQkxFIGNvbnN0IGNoYXIqICBVX0VYUE9SVDIgCiB1c2NyaXB0X2dldFNob3J0TmFt
ZShVU2NyaXB0Q29kZSBzY3JpcHRDb2RlKTsKIAotLyoqIAorLyoqCiAgKiBHZXRzIHRoZSBzY3Jp
cHQgY29kZSBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIGNvZGVwb2ludC4KICAqIFJldHVybnMg
VVNDUklQVF9NQUxBWUFMQU0gZ2l2ZW4gMHgwRDAyIAogICogQHBhcmFtIGNvZGVwb2ludCBVQ2hh
cjMyIGNvZGVwb2ludApAQCAtMTQ0LDUgKzI3NywzIEBAIFVfU1RBQkxFIFVTY3JpcHRDb2RlICBV
X0VYUE9SVDIgCiB1c2NyaXB0X2dldFNjcmlwdChVQ2hhcjMyIGNvZGVwb2ludCwgVUVycm9yQ29k
ZSAqZXJyKTsKIAogI2VuZGlmCi0KLQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAJKHJl
dmlzaW9uIDg5NDg1KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTUyLDYgKzUyLDIwIEBAIHN0YXRpYyB2b2lkIHNldExvYWRzSW1hZ2VzQXV0
b21hdGljYWxseUkKICAgICAgICAgZnJhbWUtPmRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9h
ZGVyKCktPnNldEF1dG9Mb2FkSW1hZ2VzKHBhZ2UtPnNldHRpbmdzKCktPmxvYWRzSW1hZ2VzQXV0
b21hdGljYWxseSgpKTsKIH0KIAorc3RhdGljIGlubGluZSB2b2lkIHNldEdlbmVyaWNGb250RmFt
aWx5TWFwKFNjcmlwdEZvbnRGYW1pbHlNYXAmIGZvbnRNYXAsIGNvbnN0IEF0b21pY1N0cmluZyYg
ZmFtaWx5LCBVU2NyaXB0Q29kZSBzY3JpcHQsIFBhZ2UqIHBhZ2UpCit7CisgICAgZm9udE1hcC5z
ZXQoc3RhdGljX2Nhc3Q8aW50PihzY3JpcHQpLCBmYW1pbHkpOworICAgIHBhZ2UtPnNldE5lZWRz
UmVjYWxjU3R5bGVJbkFsbEZyYW1lcygpOworfQorCitzdGF0aWMgaW5saW5lIGNvbnN0IEF0b21p
Y1N0cmluZyYgZ2V0R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQoY29uc3QgU2NyaXB0Rm9udEZh
bWlseU1hcCYgZm9udE1hcCwgVVNjcmlwdENvZGUgc2NyaXB0KQoreworICAgIFNjcmlwdEZvbnRG
YW1pbHlNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gZm9udE1hcC5maW5kKHN0YXRpY19jYXN0PGlu
dD4oc2NyaXB0KSk7CisgICAgaWYgKGl0ICE9IGZvbnRNYXAuZW5kKCkpCisgICAgICAgIHJldHVy
biBpdC0+c2Vjb25kOworICAgIHJldHVybiBlbXB0eUF0b207Cit9CisKICNpZiBVU0UoU0FGQVJJ
X1RIRU1FKQogYm9vbCBTZXR0aW5nczo6Z1Nob3VsZFBhaW50TmF0aXZlQ29udHJvbHMgPSB0cnVl
OwogI2VuZGlmCkBAIC0xOTIsNTggKzIwNiw2NCBAQCBTZXR0aW5nczo6U2V0dGluZ3MoUGFnZSog
cGFnZSkKICAgICBBdG9taWNTdHJpbmc6OmluaXQoKTsKIH0KIAotdm9pZCBTZXR0aW5nczo6c2V0
U3RhbmRhcmRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgc3RhbmRhcmRGb250RmFtaWx5
KQorY29uc3QgQXRvbWljU3RyaW5nJiBTZXR0aW5nczo6c3RhbmRhcmRGb250RmFtaWx5KFVTY3Jp
cHRDb2RlIHNjcmlwdCkgY29uc3QKIHsKLSAgICBpZiAoc3RhbmRhcmRGb250RmFtaWx5ID09IG1f
c3RhbmRhcmRGb250RmFtaWx5KQotICAgICAgICByZXR1cm47CisgICAgcmV0dXJuIGdldEdlbmVy
aWNGb250RmFtaWx5Rm9yU2NyaXB0KG1fc3RhbmRhcmRGb250RmFtaWx5TWFwLCBzY3JpcHQpOwor
fQogCi0gICAgbV9zdGFuZGFyZEZvbnRGYW1pbHkgPSBzdGFuZGFyZEZvbnRGYW1pbHk7Ci0gICAg
bV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKK3ZvaWQgU2V0dGluZ3M6
OnNldFN0YW5kYXJkRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSwgVVNjcmlw
dENvZGUgc2NyaXB0KQoreworICAgIHNldEdlbmVyaWNGb250RmFtaWx5TWFwKG1fc3RhbmRhcmRG
b250RmFtaWx5TWFwLCBmYW1pbHksIHNjcmlwdCwgbV9wYWdlKTsKIH0KIAotdm9pZCBTZXR0aW5n
czo6c2V0Rml4ZWRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgZml4ZWRGb250RmFtaWx5
KQorY29uc3QgQXRvbWljU3RyaW5nJiBTZXR0aW5nczo6Zml4ZWRGb250RmFtaWx5KFVTY3JpcHRD
b2RlIHNjcmlwdCkgY29uc3QKIHsKLSAgICBpZiAobV9maXhlZEZvbnRGYW1pbHkgPT0gZml4ZWRG
b250RmFtaWx5KQotICAgICAgICByZXR1cm47Ci0gICAgICAgIAotICAgIG1fZml4ZWRGb250RmFt
aWx5ID0gZml4ZWRGb250RmFtaWx5OwotICAgIG1fcGFnZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUlu
QWxsRnJhbWVzKCk7CisgICAgcmV0dXJuIGdldEdlbmVyaWNGb250RmFtaWx5Rm9yU2NyaXB0KG1f
Zml4ZWRGb250RmFtaWx5TWFwLCBzY3JpcHQpOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRTZXJp
ZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBzZXJpZkZvbnRGYW1pbHkpCit2b2lkIFNl
dHRpbmdzOjpzZXRGaXhlZEZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIFVT
Y3JpcHRDb2RlIHNjcmlwdCkKIHsKLSAgICBpZiAobV9zZXJpZkZvbnRGYW1pbHkgPT0gc2VyaWZG
b250RmFtaWx5KQotICAgICAgICByZXR1cm47Ci0gICAgICAgIAotICAgIG1fc2VyaWZGb250RmFt
aWx5ID0gc2VyaWZGb250RmFtaWx5OwotICAgIG1fcGFnZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUlu
QWxsRnJhbWVzKCk7CisgICAgc2V0R2VuZXJpY0ZvbnRGYW1pbHlNYXAobV9maXhlZEZvbnRGYW1p
bHlNYXAsIGZhbWlseSwgc2NyaXB0LCBtX3BhZ2UpOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRT
YW5zU2VyaWZGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgc2Fuc1NlcmlmRm9udEZhbWls
eSkKK2NvbnN0IEF0b21pY1N0cmluZyYgU2V0dGluZ3M6OnNlcmlmRm9udEZhbWlseShVU2NyaXB0
Q29kZSBzY3JpcHQpIGNvbnN0CiB7Ci0gICAgaWYgKG1fc2Fuc1NlcmlmRm9udEZhbWlseSA9PSBz
YW5zU2VyaWZGb250RmFtaWx5KQotICAgICAgICByZXR1cm47Ci0gICAgICAgIAotICAgIG1fc2Fu
c1NlcmlmRm9udEZhbWlseSA9IHNhbnNTZXJpZkZvbnRGYW1pbHk7IAotICAgIG1fcGFnZS0+c2V0
TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzKCk7CisgICAgcmV0dXJuIGdldEdlbmVyaWNGb250
RmFtaWx5Rm9yU2NyaXB0KG1fc2VyaWZGb250RmFtaWx5TWFwLCBzY3JpcHQpOwogfQogCi12b2lk
IFNldHRpbmdzOjpzZXRDdXJzaXZlRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGN1cnNp
dmVGb250RmFtaWx5KQordm9pZCBTZXR0aW5nczo6c2V0U2VyaWZGb250RmFtaWx5KGNvbnN0IEF0
b21pY1N0cmluZyYgZmFtaWx5LCBVU2NyaXB0Q29kZSBzY3JpcHQpCiB7Ci0gICAgaWYgKG1fY3Vy
c2l2ZUZvbnRGYW1pbHkgPT0gY3Vyc2l2ZUZvbnRGYW1pbHkpCi0gICAgICAgIHJldHVybjsKLSAg
ICAgICAgCi0gICAgbV9jdXJzaXZlRm9udEZhbWlseSA9IGN1cnNpdmVGb250RmFtaWx5OwotICAg
IG1fcGFnZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzKCk7CisgICAgIHNldEdlbmVy
aWNGb250RmFtaWx5TWFwKG1fc2VyaWZGb250RmFtaWx5TWFwLCBmYW1pbHksIHNjcmlwdCwgbV9w
YWdlKTsKIH0KIAotdm9pZCBTZXR0aW5nczo6c2V0RmFudGFzeUZvbnRGYW1pbHkoY29uc3QgQXRv
bWljU3RyaW5nJiBmYW50YXN5Rm9udEZhbWlseSkKK2NvbnN0IEF0b21pY1N0cmluZyYgU2V0dGlu
Z3M6OnNhbnNTZXJpZkZvbnRGYW1pbHkoVVNjcmlwdENvZGUgc2NyaXB0KSBjb25zdAogewotICAg
IGlmIChtX2ZhbnRhc3lGb250RmFtaWx5ID09IGZhbnRhc3lGb250RmFtaWx5KQotICAgICAgICBy
ZXR1cm47Ci0gICAgICAgIAotICAgIG1fZmFudGFzeUZvbnRGYW1pbHkgPSBmYW50YXN5Rm9udEZh
bWlseTsKLSAgICBtX3BhZ2UtPnNldE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcygpOworICAg
IHJldHVybiBnZXRHZW5lcmljRm9udEZhbWlseUZvclNjcmlwdChtX3NhbnNTZXJpZkZvbnRGYW1p
bHlNYXAsIHNjcmlwdCk7Cit9CisKK3ZvaWQgU2V0dGluZ3M6OnNldFNhbnNTZXJpZkZvbnRGYW1p
bHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIFVTY3JpcHRDb2RlIHNjcmlwdCkKK3sKKyAg
ICBzZXRHZW5lcmljRm9udEZhbWlseU1hcChtX3NhbnNTZXJpZkZvbnRGYW1pbHlNYXAsIGZhbWls
eSwgc2NyaXB0LCBtX3BhZ2UpOworfQorCitjb25zdCBBdG9taWNTdHJpbmcmIFNldHRpbmdzOjpj
dXJzaXZlRm9udEZhbWlseShVU2NyaXB0Q29kZSBzY3JpcHQpIGNvbnN0Cit7CisgICAgcmV0dXJu
IGdldEdlbmVyaWNGb250RmFtaWx5Rm9yU2NyaXB0KG1fY3Vyc2l2ZUZvbnRGYW1pbHlNYXAsIHNj
cmlwdCk7Cit9CisKK3ZvaWQgU2V0dGluZ3M6OnNldEN1cnNpdmVGb250RmFtaWx5KGNvbnN0IEF0
b21pY1N0cmluZyYgZmFtaWx5LCBVU2NyaXB0Q29kZSBzY3JpcHQpCit7CisgICAgc2V0R2VuZXJp
Y0ZvbnRGYW1pbHlNYXAobV9jdXJzaXZlRm9udEZhbWlseU1hcCwgZmFtaWx5LCBzY3JpcHQsIG1f
cGFnZSk7Cit9CisKK2NvbnN0IEF0b21pY1N0cmluZyYgU2V0dGluZ3M6OmZhbnRhc3lGb250RmFt
aWx5KFVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKK3sKKyAgICByZXR1cm4gZ2V0R2VuZXJpY0Zv
bnRGYW1pbHlGb3JTY3JpcHQobV9mYW50YXN5Rm9udEZhbWlseU1hcCwgc2NyaXB0KTsKK30KKwor
dm9pZCBTZXR0aW5nczo6c2V0RmFudGFzeUZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBm
YW1pbHksIFVTY3JpcHRDb2RlIHNjcmlwdCkKK3sKKyAgICBzZXRHZW5lcmljRm9udEZhbWlseU1h
cChtX2ZhbnRhc3lGb250RmFtaWx5TWFwLCBmYW1pbHksIHNjcmlwdCwgbV9wYWdlKTsKIH0KIAog
dm9pZCBTZXR0aW5nczo6c2V0TWluaW11bUZvbnRTaXplKGludCBtaW5pbXVtRm9udFNpemUpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCShyZXZpc2lvbiA4OTQ4NSkKKysrIFNvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsMTAgQEAKICNp
bmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2luY2x1ZGUgIktVUkwuaCIKICNpbmNsdWRl
ICJUaW1lci5oIgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
QXRvbWljU3RyaW5nLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nSGFzaC5oPgor
I2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CkBAIC01MSwyOCArNTQsNDAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBUZXh0RGly
ZWN0aW9uU3VibWVudUFsd2F5c0luY2x1ZGVkCiAgICAgfTsKIAorICAgIC8vIFVTY3JpcHRDb2Rl
IHVzZXMgLTEgYW5kIDAgZm9yIFVTY3JpcHRJbnZhbGlkQ29kZSBhbmQgVVNjcmlwdENvbW1vbi4K
KyAgICAvLyBXZSBuZWVkIHRvIHVzZSAtMiBhbmQgLTMgZm9yIGVtcHR5IHZhbHVlIGFuZCBkZWxl
dGVkIHZhbHVlLgorICAgIHN0cnVjdCBVU2NyaXB0Q29kZUhhc2hUcmFpdHMgOiBXVEY6OkdlbmVy
aWNIYXNoVHJhaXRzPGludD4geworICAgICAgICBzdGF0aWMgY29uc3QgYm9vbCBlbXB0eVZhbHVl
SXNaZXJvID0gZmFsc2U7CisgICAgICAgIC8vc3RhdGljIGNvbnN0IGJvb2wgbmVlZHNEZXN0cnVj
dGlvbiA9IGZhbHNlOworICAgICAgICBzdGF0aWMgaW50IGVtcHR5VmFsdWUoKSB7IHJldHVybiAt
MjsgfQorICAgICAgICBzdGF0aWMgdm9pZCBjb25zdHJ1Y3REZWxldGVkVmFsdWUoaW50JiBzbG90
KSB7IHNsb3QgPSAtMzsgfQorICAgICAgICBzdGF0aWMgYm9vbCBpc0RlbGV0ZWRWYWx1ZShpbnQg
dmFsdWUpIHsgcmV0dXJuIHZhbHVlID09IC0zOyB9CisgICAgfTsKKworICAgIHR5cGVkZWYgSGFz
aE1hcDxpbnQsIEF0b21pY1N0cmluZywgRGVmYXVsdEhhc2g8aW50Pjo6SGFzaCwgVVNjcmlwdENv
ZGVIYXNoVHJhaXRzPiBTY3JpcHRGb250RmFtaWx5TWFwOworCiAgICAgY2xhc3MgU2V0dGluZ3Mg
ewogICAgICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTZXR0aW5ncyk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogICAgIHB1YmxpYzoKICAgICAgICAgU2V0dGluZ3MoUGFnZSopOwogCi0gICAg
ICAgIHZvaWQgc2V0U3RhbmRhcmRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYpOwotICAg
ICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHN0YW5kYXJkRm9udEZhbWlseSgpIGNvbnN0IHsgcmV0
dXJuIG1fc3RhbmRhcmRGb250RmFtaWx5OyB9CisgICAgICAgIHZvaWQgc2V0U3RhbmRhcmRGb250
RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYsIFVTY3JpcHRDb2RlID0gVVNDUklQVF9DT01NT04p
OworICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHN0YW5kYXJkRm9udEZhbWlseShVU2NyaXB0
Q29kZSA9IFVTQ1JJUFRfQ09NTU9OKSBjb25zdDsKIAotICAgICAgICB2b2lkIHNldEZpeGVkRm9u
dEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmKTsKLSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5n
JiBmaXhlZEZvbnRGYW1pbHkoKSBjb25zdCB7IHJldHVybiBtX2ZpeGVkRm9udEZhbWlseTsgfQor
ICAgICAgICB2b2lkIHNldEZpeGVkRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmLCBVU2Ny
aXB0Q29kZSA9IFVTQ1JJUFRfQ09NTU9OKTsKKyAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBm
aXhlZEZvbnRGYW1pbHkoVVNjcmlwdENvZGUgPSBVU0NSSVBUX0NPTU1PTikgY29uc3Q7CiAKLSAg
ICAgICAgdm9pZCBzZXRTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJik7Ci0gICAg
ICAgIGNvbnN0IEF0b21pY1N0cmluZyYgc2VyaWZGb250RmFtaWx5KCkgY29uc3QgeyByZXR1cm4g
bV9zZXJpZkZvbnRGYW1pbHk7IH0KKyAgICAgICAgdm9pZCBzZXRTZXJpZkZvbnRGYW1pbHkoY29u
c3QgQXRvbWljU3RyaW5nJiwgVVNjcmlwdENvZGUgPSBVU0NSSVBUX0NPTU1PTik7CisgICAgICAg
IGNvbnN0IEF0b21pY1N0cmluZyYgc2VyaWZGb250RmFtaWx5KFVTY3JpcHRDb2RlID0gVVNDUklQ
VF9DT01NT04pIGNvbnN0OwogCi0gICAgICAgIHZvaWQgc2V0U2Fuc1NlcmlmRm9udEZhbWlseShj
b25zdCBBdG9taWNTdHJpbmcmKTsKLSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBzYW5zU2Vy
aWZGb250RmFtaWx5KCkgY29uc3QgeyByZXR1cm4gbV9zYW5zU2VyaWZGb250RmFtaWx5OyB9Cisg
ICAgICAgIHZvaWQgc2V0U2Fuc1NlcmlmRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmLCBV
U2NyaXB0Q29kZSA9IFVTQ1JJUFRfQ09NTU9OKTsKKyAgICAgICAgY29uc3QgQXRvbWljU3RyaW5n
JiBzYW5zU2VyaWZGb250RmFtaWx5KFVTY3JpcHRDb2RlID0gVVNDUklQVF9DT01NT04pIGNvbnN0
OwogCi0gICAgICAgIHZvaWQgc2V0Q3Vyc2l2ZUZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5n
Jik7Ci0gICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgY3Vyc2l2ZUZvbnRGYW1pbHkoKSBjb25z
dCB7IHJldHVybiBtX2N1cnNpdmVGb250RmFtaWx5OyB9CisgICAgICAgIHZvaWQgc2V0Q3Vyc2l2
ZUZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiwgVVNjcmlwdENvZGUgPSBVU0NSSVBUX0NP
TU1PTik7CisgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgY3Vyc2l2ZUZvbnRGYW1pbHkoVVNj
cmlwdENvZGUgPSBVU0NSSVBUX0NPTU1PTikgY29uc3Q7CiAKLSAgICAgICAgdm9pZCBzZXRGYW50
YXN5Rm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmKTsKLSAgICAgICAgY29uc3QgQXRvbWlj
U3RyaW5nJiBmYW50YXN5Rm9udEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fZmFudGFzeUZvbnRG
YW1pbHk7IH0KKyAgICAgICAgdm9pZCBzZXRGYW50YXN5Rm9udEZhbWlseShjb25zdCBBdG9taWNT
dHJpbmcmLCBVU2NyaXB0Q29kZSA9IFVTQ1JJUFRfQ09NTU9OKTsKKyAgICAgICAgY29uc3QgQXRv
bWljU3RyaW5nJiBmYW50YXN5Rm9udEZhbWlseShVU2NyaXB0Q29kZSA9IFVTQ1JJUFRfQ09NTU9O
KSBjb25zdDsKIAogICAgICAgICB2b2lkIHNldE1pbmltdW1Gb250U2l6ZShpbnQpOwogICAgICAg
ICBpbnQgbWluaW11bUZvbnRTaXplKCkgY29uc3QgeyByZXR1cm4gbV9taW5pbXVtRm9udFNpemU7
IH0KQEAgLTQyMSwxMiArNDM2LDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgU3Ry
aW5nIG1fZnRwRGlyZWN0b3J5VGVtcGxhdGVQYXRoOwogICAgICAgICBTdHJpbmcgbV9sb2NhbFN0
b3JhZ2VEYXRhYmFzZVBhdGg7CiAgICAgICAgIEtVUkwgbV91c2VyU3R5bGVTaGVldExvY2F0aW9u
OwotICAgICAgICBBdG9taWNTdHJpbmcgbV9zdGFuZGFyZEZvbnRGYW1pbHk7Ci0gICAgICAgIEF0
b21pY1N0cmluZyBtX2ZpeGVkRm9udEZhbWlseTsKLSAgICAgICAgQXRvbWljU3RyaW5nIG1fc2Vy
aWZGb250RmFtaWx5OwotICAgICAgICBBdG9taWNTdHJpbmcgbV9zYW5zU2VyaWZGb250RmFtaWx5
OwotICAgICAgICBBdG9taWNTdHJpbmcgbV9jdXJzaXZlRm9udEZhbWlseTsKLSAgICAgICAgQXRv
bWljU3RyaW5nIG1fZmFudGFzeUZvbnRGYW1pbHk7CisgICAgICAgIFNjcmlwdEZvbnRGYW1pbHlN
YXAgbV9zdGFuZGFyZEZvbnRGYW1pbHlNYXA7CisgICAgICAgIFNjcmlwdEZvbnRGYW1pbHlNYXAg
bV9zZXJpZkZvbnRGYW1pbHlNYXA7CisgICAgICAgIFNjcmlwdEZvbnRGYW1pbHlNYXAgbV9maXhl
ZEZvbnRGYW1pbHlNYXA7CisgICAgICAgIFNjcmlwdEZvbnRGYW1pbHlNYXAgbV9zYW5zU2VyaWZG
b250RmFtaWx5TWFwOworICAgICAgICBTY3JpcHRGb250RmFtaWx5TWFwIG1fY3Vyc2l2ZUZvbnRG
YW1pbHlNYXA7CisgICAgICAgIFNjcmlwdEZvbnRGYW1pbHlNYXAgbV9mYW50YXN5Rm9udEZhbWls
eU1hcDsKICAgICAgICAgRWRpdGFibGVMaW5rQmVoYXZpb3IgbV9lZGl0YWJsZUxpbmtCZWhhdmlv
cjsKICAgICAgICAgVGV4dERpcmVjdGlvblN1Ym1lbnVJbmNsdXNpb25CZWhhdmlvciBtX3RleHRE
aXJlY3Rpb25TdWJtZW51SW5jbHVzaW9uQmVoYXZpb3I7CiAgICAgICAgIGludCBtX21pbmltdW1G
b250U2l6ZTsK
</data>
<flag name="review"
          id="92421"
          type_id="1"
          status="-"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98269</attachid>
            <date>2011-06-22 17:23:58 -0700</date>
            <delta_ts>2011-06-23 00:42:56 -0700</delta_ts>
            <desc>patch updated per ap&apos;s comments</desc>
            <filename>20797.patch.7e</filename>
            <type>text/plain</type>
            <size>54397</size>
            <attacher name="Jungshik Shin">jshin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODk0OTkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAK
KzIwMTEtMDYtMjIgIEp1bmdzaGlrIFNoaW4gIDxqc2hpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFNjcmlwdENvZGVz
RnJvbUlDVS5oIHRvIHd0Zi91bmljb2RlIGFuZCBtYWtlIG5lY2Vzc2FyeSBjaGFuZ2VzIGluCisg
ICAgICAgIGJ1aWxkIGZpbGVzIGZvciBwb3J0cyBub3QgdXNpbmcgSUNVLgorICAgICAgICBBZGQg
aWN1L3VuaWNvZGUvdXNjcmlwdC5oIGZvciBwb3J0cyB1c2luZyBJQ1UuIEl0J3MgdGFrZW4gZnJv
bSAKKyAgICAgICAgSUNVIDMuNiAodGhlIHZlcnNpb24gdXNlZCBvbiBNYWMgT1MgMTAuNSkKKwor
ICAgICAgICBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDc5NworCisg
ICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5n
eXBpOgorICAgICAgICAqIGljdS91bmljb2RlL3VzY3JpcHQuaDogQWRkZWQgZm9yIFVTY3JpcHRD
b2RlIGVudW0uCisgICAgICAgICogd3RmL3VuaWNvZGUvU2NyaXB0Q29kZXNGcm9tSUNVLmg6IFVT
Y3JpcHRDb2RlIGVudW0gYWRkZWQuCisgICAgICAgICogd3RmL3VuaWNvZGUvVW5pY29kZS5oOgor
ICAgICAgICAqIHd0Zi91bmljb2RlL2JyZXcvVW5pY29kZUJyZXcuaDoKKyAgICAgICAgKiB3dGYv
dW5pY29kZS9nbGliL1VuaWNvZGVHTGliLmg6CisgICAgICAgICogd3RmL3VuaWNvZGUvcXQ0L1Vu
aWNvZGVRdDQuaDoKKyAgICAgICAgKiB3dGYvdW5pY29kZS93aW5jZS9Vbmljb2RlV2luQ0UuaDoK
KwogMjAxMS0wNi0yMiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjg5NDg5LgpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHJldmlzaW9uIDg5NDg1KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHdvcmtpbmcgY29weSkK
QEAgLTYzMCw2ICs2MzAsNyBAQCBlbmRpZiAjIFVTRV9JQ1VfVU5JQ09ERQogaWYgVVNFX0dMSUJf
VU5JQ09ERQogamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi91bmljb2RlL1VuaWNvZGVNYWNyb3NGcm9tSUNVLmggXAorCVNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvdW5pY29kZS9TY3JpcHRjb2Rlc0Zyb21JQ1UuaCBcCiAJU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi91bmljb2RlL2dsaWIvVW5pY29kZUdMaWIuaCBcCiAJU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi91bmljb2RlL2dsaWIvVW5pY29kZUdMaWIuY3BwCiBlbmRpZiAjIFVTRV9H
TElCX1VOSUNPREUKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5n
eXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5n
eXBpCShyZXZpc2lvbiA4OTQ4NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0zNjUsNiArMzY1LDcgQEAKICAgICAgICAgICAg
ICdpY3UvdW5pY29kZS91bWFjaGluZS5oJywKICAgICAgICAgICAgICdpY3UvdW5pY29kZS91bm9y
bS5oJywKICAgICAgICAgICAgICdpY3UvdW5pY29kZS91cmVuYW1lLmgnLAorICAgICAgICAgICAg
J2ljdS91bmljb2RlL3VzY3JpcHQuaCcsCiAgICAgICAgICAgICAnaWN1L3VuaWNvZGUvdXNldC5o
JywKICAgICAgICAgICAgICdpY3UvdW5pY29kZS91c3RyaW5nLmgnLAogICAgICAgICAgICAgJ2lj
dS91bmljb2RlL3V0Zi5oJywKQEAgLTY1NSw2ICs2NTYsNyBAQAogICAgICAgICAgICAgJ3d0Zi90
ZXh0L1N0cmluZ1N0YXRpY3MuY3BwJywKICAgICAgICAgICAgICd3dGYvdGV4dC9XVEZTdHJpbmcu
Y3BwJywKICAgICAgICAgICAgICd3dGYvdW5pY29kZS9Db2xsYXRvckRlZmF1bHQuY3BwJywKKyAg
ICAgICAgICAgICd3dGYvdW5pY29kZS9TY3JpcHRDb2Rlc0Zyb21JQ1UuaCcsCiAgICAgICAgICAg
ICAnd3RmL3VuaWNvZGUvVVRGOC5jcHAnLAogICAgICAgICAgICAgJ3d0Zi91bmljb2RlL1VuaWNv
ZGVNYWNyb3NGcm9tSUNVLmgnLAogICAgICAgICAgICAgJ3d0Zi91bmljb2RlL2JyZXcvVW5pY29k
ZUJyZXcuY3BwJywKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91c2Ny
aXB0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ljdS91bmljb2RlL3Vz
Y3JpcHQuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29k
ZS91c2NyaXB0LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjI0IEBACisvKgorKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgorKiAgIENvcHlyaWdodCAoQykgMTk5Ny0yMDA2LCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNz
IE1hY2hpbmVzCisqICAgQ29ycG9yYXRpb24gYW5kIG90aGVycy4gIEFsbCBSaWdodHMgUmVzZXJ2
ZWQuCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqCisqCisqIEZpbGUgVVNDUklQVC5ICisqCisqIE1vZGlmaWNhdGlv
biBIaXN0b3J5OgorKgorKiAgIERhdGUgICAgICAgIE5hbWUgICAgICAgIERlc2NyaXB0aW9uCisq
ICAgMDcvMDYvMjAwMSAgICBSYW0gICAgICAgICBDcmVhdGlvbi4KKyoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgorKi8KKyNpZm5kZWYgVVNDUklQVF9ICisjZGVmaW5lIFVTQ1JJUFRfSAorI2luY2x1ZGUg
InVuaWNvZGUvdXR5cGVzLmgiCisKKy8qKgorICogXGZpbGUKKyAqIFxicmllZiBDIEFQSTogVW5p
Y29kZSBTY3JpcHQgSW5mb3JtYXRpb24KKyAqLworIAorLyoqCisgKiBDb25zdGFudHMgZm9yIElT
TyAxNTkyNCBzY3JpcHQgY29kZXMuCisgKgorICogTWFueSBvZiB0aGVzZSBzY3JpcHQgY29kZXMg
LSB0aG9zZSBmcm9tIFVuaWNvZGUncyBTY3JpcHROYW1lcy50eHQgLQorICogYXJlIGNoYXJhY3Rl
ciBwcm9wZXJ0eSB2YWx1ZXMgZm9yIFVuaWNvZGUncyBTY3JpcHQgcHJvcGVydHkuCisgKiBTZWUg
VUFYICMyNCBTY3JpcHQgTmFtZXMgKGh0dHA6Ly93d3cudW5pY29kZS5vcmcvcmVwb3J0cy90cjI0
LykuCisgKgorICogU3RhcnRpbmcgd2l0aCBJQ1UgMy42LCBjb25zdGFudHMgZm9yIG1vc3QgSVNP
IDE1OTI0IHNjcmlwdCBjb2RlcworICogYXJlIGluY2x1ZGVkIChjdXJyZW50bHkgZXhjbHVkaW5n
IHByaXZhdGUtdXNlIGNvZGVzIFFhYWEuLlFhYngpLgorICogRm9yIHNjcmlwdHMgZm9yIHdoaWNo
IHRoZXJlIGFyZSBjb2RlcyBpbiBJU08gMTU5MjQgYnV0IHdoaWNoIGFyZSBub3QKKyAqIHVzZWQg
aW4gdGhlIFVuaWNvZGUgQ2hhcmFjdGVyIERhdGFiYXNlIChVQ0QpLCB0aGVyZSBhcmUgbm8gVW5p
Y29kZSBjaGFyYWN0ZXJzCisgKiBhc3NvY2lhdGVkIHdpdGggdGhvc2Ugc2NyaXB0cy4KKyAqCisg
KiBGb3IgZXhhbXBsZSwgdGhlcmUgYXJlIG5vIGNoYXJhY3RlcnMgdGhhdCBoYXZlIGEgVUNEIHNj
cmlwdCBjb2RlIG9mCisgKiBIYW5zIG9yIEhhbnQuIEFsbCBIYW4gaWRlb2dyYXBocyBoYXZlIHRo
ZSBIYW5pIHNjcmlwdCBjb2RlLgorICogVGhlIEhhbnMgYW5kIEhhbnQgc2NyaXB0IGNvZGVzIGFy
ZSB1c2VkIHdpdGggQ0xEUiBkYXRhLgorICoKKyAqIElTTyAxNTkyNCBzY3JpcHQgY29kZXMgYXJl
IGluY2x1ZGVkIGZvciB1c2Ugd2l0aCBDTERSIGFuZCBzaW1pbGFyLgorICoKKyAqIEBzdGFibGUg
SUNVIDIuMgorICovCit0eXBlZGVmIGVudW0gVVNjcmlwdENvZGUgeworICAgICAgVVNDUklQVF9J
TlZBTElEX0NPREUgPSAtMSwKKyAgICAgIFVTQ1JJUFRfQ09NTU9OICAgICAgID0gIDAgLCAvKiBa
eXl5ICovCisgICAgICBVU0NSSVBUX0lOSEVSSVRFRCAgICA9ICAxLCAgLyogUWFhaSAqLworICAg
ICAgVVNDUklQVF9BUkFCSUMgICAgICAgPSAgMiwgIC8qIEFyYWIgKi8KKyAgICAgIFVTQ1JJUFRf
QVJNRU5JQU4gICAgID0gIDMsICAvKiBBcm1uICovCisgICAgICBVU0NSSVBUX0JFTkdBTEkgICAg
ICA9ICA0LCAgLyogQmVuZyAqLworICAgICAgVVNDUklQVF9CT1BPTU9GTyAgICAgPSAgNSwgIC8q
IEJvcG8gKi8KKyAgICAgIFVTQ1JJUFRfQ0hFUk9LRUUgICAgID0gIDYsICAvKiBDaGVyICovCisg
ICAgICBVU0NSSVBUX0NPUFRJQyAgICAgICA9ICA3LCAgLyogQ29wdCAqLworICAgICAgVVNDUklQ
VF9DWVJJTExJQyAgICAgPSAgOCwgIC8qIEN5cmwgKi8KKyAgICAgIFVTQ1JJUFRfREVTRVJFVCAg
ICAgID0gIDksICAvKiBEc3J0ICovCisgICAgICBVU0NSSVBUX0RFVkFOQUdBUkkgICA9IDEwLCAg
LyogRGV2YSAqLworICAgICAgVVNDUklQVF9FVEhJT1BJQyAgICAgPSAxMSwgIC8qIEV0aGkgKi8K
KyAgICAgIFVTQ1JJUFRfR0VPUkdJQU4gICAgID0gMTIsICAvKiBHZW9yICovCisgICAgICBVU0NS
SVBUX0dPVEhJQyAgICAgICA9IDEzLCAgLyogR290aCAqLworICAgICAgVVNDUklQVF9HUkVFSyAg
ICAgICAgPSAxNCwgIC8qIEdyZWsgKi8KKyAgICAgIFVTQ1JJUFRfR1VKQVJBVEkgICAgID0gMTUs
ICAvKiBHdWpyICovCisgICAgICBVU0NSSVBUX0dVUk1VS0hJICAgICA9IDE2LCAgLyogR3VydSAq
LworICAgICAgVVNDUklQVF9IQU4gICAgICAgICAgPSAxNywgIC8qIEhhbmkgKi8KKyAgICAgIFVT
Q1JJUFRfSEFOR1VMICAgICAgID0gMTgsICAvKiBIYW5nICovCisgICAgICBVU0NSSVBUX0hFQlJF
VyAgICAgICA9IDE5LCAgLyogSGViciAqLworICAgICAgVVNDUklQVF9ISVJBR0FOQSAgICAgPSAy
MCwgIC8qIEhpcmEgKi8KKyAgICAgIFVTQ1JJUFRfS0FOTkFEQSAgICAgID0gMjEsICAvKiBLbmRh
ICovCisgICAgICBVU0NSSVBUX0tBVEFLQU5BICAgICA9IDIyLCAgLyogS2FuYSAqLworICAgICAg
VVNDUklQVF9LSE1FUiAgICAgICAgPSAyMywgIC8qIEtobXIgKi8KKyAgICAgIFVTQ1JJUFRfTEFP
ICAgICAgICAgID0gMjQsICAvKiBMYW9vICovCisgICAgICBVU0NSSVBUX0xBVElOICAgICAgICA9
IDI1LCAgLyogTGF0biAqLworICAgICAgVVNDUklQVF9NQUxBWUFMQU0gICAgPSAyNiwgIC8qIE1s
eW0gKi8KKyAgICAgIFVTQ1JJUFRfTU9OR09MSUFOICAgID0gMjcsICAvKiBNb25nICovCisgICAg
ICBVU0NSSVBUX01ZQU5NQVIgICAgICA9IDI4LCAgLyogTXltciAqLworICAgICAgVVNDUklQVF9P
R0hBTSAgICAgICAgPSAyOSwgIC8qIE9nYW0gKi8KKyAgICAgIFVTQ1JJUFRfT0xEX0lUQUxJQyAg
ID0gMzAsICAvKiBJdGFsICovCisgICAgICBVU0NSSVBUX09SSVlBICAgICAgICA9IDMxLCAgLyog
T3J5YSAqLworICAgICAgVVNDUklQVF9SVU5JQyAgICAgICAgPSAzMiwgIC8qIFJ1bnIgKi8KKyAg
ICAgIFVTQ1JJUFRfU0lOSEFMQSAgICAgID0gMzMsICAvKiBTaW5oICovCisgICAgICBVU0NSSVBU
X1NZUklBQyAgICAgICA9IDM0LCAgLyogU3lyYyAqLworICAgICAgVVNDUklQVF9UQU1JTCAgICAg
ICAgPSAzNSwgIC8qIFRhbWwgKi8KKyAgICAgIFVTQ1JJUFRfVEVMVUdVICAgICAgID0gMzYsICAv
KiBUZWx1ICovCisgICAgICBVU0NSSVBUX1RIQUFOQSAgICAgICA9IDM3LCAgLyogVGhhYSAqLwor
ICAgICAgVVNDUklQVF9USEFJICAgICAgICAgPSAzOCwgIC8qIFRoYWkgKi8KKyAgICAgIFVTQ1JJ
UFRfVElCRVRBTiAgICAgID0gMzksICAvKiBUaWJ0ICovCisgICAgICAvKiogQ2FuYWRpYW5fQWJv
cmlnaW5hbCBzY3JpcHQuIEBzdGFibGUgSUNVIDIuNiAqLworICAgICAgVVNDUklQVF9DQU5BRElB
Tl9BQk9SSUdJTkFMID0gNDAsICAvKiBDYW5zICovCisgICAgICAvKiogQ2FuYWRpYW5fQWJvcmln
aW5hbCBzY3JpcHQgKGFsaWFzKS4gQHN0YWJsZSBJQ1UgMi4yICovCisgICAgICBVU0NSSVBUX1VD
QVMgICAgICAgICA9IFVTQ1JJUFRfQ0FOQURJQU5fQUJPUklHSU5BTCwKKyAgICAgIFVTQ1JJUFRf
WUkgICAgICAgICAgID0gNDEsICAvKiBZaWlpICovCisgICAgICBVU0NSSVBUX1RBR0FMT0cgICAg
ICA9IDQyLCAgLyogVGdsZyAqLworICAgICAgVVNDUklQVF9IQU5VTk9PICAgICAgPSA0MywgIC8q
IEhhbm8gKi8KKyAgICAgIFVTQ1JJUFRfQlVISUQgICAgICAgID0gNDQsICAvKiBCdWhkICovCisg
ICAgICBVU0NSSVBUX1RBR0JBTldBICAgICA9IDQ1LCAgLyogVGFnYiAqLworCisgICAgICAvKiBO
ZXcgc2NyaXB0cyBpbiBVbmljb2RlIDQgQHN0YWJsZSBJQ1UgMi42ICovCisgICAgICBVU0NSSVBU
X0JSQUlMTEUgICAgICA9IDQ2LCAgLyogQnJhaSAqLworICAgICAgVVNDUklQVF9DWVBSSU9UICAg
ICAgPSA0NywgIC8qIENwcnQgKi8KKyAgICAgIFVTQ1JJUFRfTElNQlUgICAgICAgID0gNDgsICAv
KiBMaW1iICovCisgICAgICBVU0NSSVBUX0xJTkVBUl9CICAgICA9IDQ5LCAgLyogTGluYiAqLwor
ICAgICAgVVNDUklQVF9PU01BTllBICAgICAgPSA1MCwgIC8qIE9zbWEgKi8KKyAgICAgIFVTQ1JJ
UFRfU0hBVklBTiAgICAgID0gNTEsICAvKiBTaGF3ICovCisgICAgICBVU0NSSVBUX1RBSV9MRSAg
ICAgICA9IDUyLCAgLyogVGFsZSAqLworICAgICAgVVNDUklQVF9VR0FSSVRJQyAgICAgPSA1Mywg
IC8qIFVnYXIgKi8KKworICAgICAgLyoqIE5ldyBzY3JpcHQgY29kZSBpbiBVbmljb2RlIDQuMC4x
IEBzdGFibGUgSUNVIDMuMCAqLworICAgICAgVVNDUklQVF9LQVRBS0FOQV9PUl9ISVJBR0FOQSA9
IDU0LC8qSHJrdCAqLworICAgICAgCisjaWZuZGVmIFVfSElERV9EUkFGVF9BUEkKKyAgICAgIC8q
IE5ldyBzY3JpcHRzIGluIFVuaWNvZGUgNC4xIEBkcmFmdCBJQ1UgMy40ICovCisgICAgICBVU0NS
SVBUX0JVR0lORVNFICAgICAgPSA1NSwgLyogQnVnaSAqLworICAgICAgVVNDUklQVF9HTEFHT0xJ
VElDICAgID0gNTYsIC8qIEdsYWcgKi8KKyAgICAgIFVTQ1JJUFRfS0hBUk9TSFRISSAgICA9IDU3
LCAvKiBLaGFyICovCisgICAgICBVU0NSSVBUX1NZTE9USV9OQUdSSSAgPSA1OCwgLyogU3lsbyAq
LworICAgICAgVVNDUklQVF9ORVdfVEFJX0xVRSAgID0gNTksIC8qIFRhbHUgKi8KKyAgICAgIFVT
Q1JJUFRfVElGSU5BR0ggICAgICA9IDYwLCAvKiBUZm5nICovCisgICAgICBVU0NSSVBUX09MRF9Q
RVJTSUFOICAgPSA2MSwgLyogWHBlbyAqLworCisgICAgICAvKiBOZXcgc2NyaXB0IGNvZGVzIGZy
b20gSVNPIDE1OTI0IEBkcmFmdCBJQ1UgMy42ICovCisgICAgICBVU0NSSVBUX0JBTElORVNFICAg
ICAgICAgICAgICAgICAgICAgID0gNjIsIC8qIEJhbGkgKi8KKyAgICAgIFVTQ1JJUFRfQkFUQUsg
ICAgICAgICAgICAgICAgICAgICAgICAgPSA2MywgLyogQmF0ayAqLworICAgICAgVVNDUklQVF9C
TElTU1lNQk9MUyAgICAgICAgICAgICAgICAgICA9IDY0LCAvKiBCbGlzICovCisgICAgICBVU0NS
SVBUX0JSQUhNSSAgICAgICAgICAgICAgICAgICAgICAgID0gNjUsIC8qIEJyYWggKi8KKyAgICAg
IFVTQ1JJUFRfQ0hBTSAgICAgICAgICAgICAgICAgICAgICAgICAgPSA2NiwgLyogQ2hhbSAqLwor
ICAgICAgVVNDUklQVF9DSVJUSCAgICAgICAgICAgICAgICAgICAgICAgICA9IDY3LCAvKiBDaXJ0
ICovCisgICAgICBVU0NSSVBUX09MRF9DSFVSQ0hfU0xBVk9OSUNfQ1lSSUxMSUMgID0gNjgsIC8q
IEN5cnMgKi8KKyAgICAgIFVTQ1JJUFRfREVNT1RJQ19FR1lQVElBTiAgICAgICAgICAgICAgPSA2
OSwgLyogRWd5ZCAqLworICAgICAgVVNDUklQVF9ISUVSQVRJQ19FR1lQVElBTiAgICAgICAgICAg
ICA9IDcwLCAvKiBFZ3loICovCisgICAgICBVU0NSSVBUX0VHWVBUSUFOX0hJRVJPR0xZUEhTICAg
ICAgICAgID0gNzEsIC8qIEVneXAgKi8KKyAgICAgIFVTQ1JJUFRfS0hVVFNVUkkgICAgICAgICAg
ICAgICAgICAgICAgPSA3MiwgLyogR2VvayAqLworICAgICAgVVNDUklQVF9TSU1QTElGSUVEX0hB
TiAgICAgICAgICAgICAgICA9IDczLCAvKiBIYW5zICovCisgICAgICBVU0NSSVBUX1RSQURJVElP
TkFMX0hBTiAgICAgICAgICAgICAgID0gNzQsIC8qIEhhbnQgKi8KKyAgICAgIFVTQ1JJUFRfUEFI
QVdIX0hNT05HICAgICAgICAgICAgICAgICAgPSA3NSwgLyogSG1uZyAqLworICAgICAgVVNDUklQ
VF9PTERfSFVOR0FSSUFOICAgICAgICAgICAgICAgICA9IDc2LCAvKiBIdW5nICovCisgICAgICBV
U0NSSVBUX0hBUkFQUEFOX0lORFVTICAgICAgICAgICAgICAgID0gNzcsIC8qIEluZHMgKi8KKyAg
ICAgIFVTQ1JJUFRfSkFWQU5FU0UgICAgICAgICAgICAgICAgICAgICAgPSA3OCwgLyogSmF2YSAq
LworICAgICAgVVNDUklQVF9LQVlBSF9MSSAgICAgICAgICAgICAgICAgICAgICA9IDc5LCAvKiBL
YWxpICovCisgICAgICBVU0NSSVBUX0xBVElOX0ZSQUtUVVIgICAgICAgICAgICAgICAgID0gODAs
IC8qIExhdGYgKi8KKyAgICAgIFVTQ1JJUFRfTEFUSU5fR0FFTElDICAgICAgICAgICAgICAgICAg
PSA4MSwgLyogTGF0ZyAqLworICAgICAgVVNDUklQVF9MRVBDSEEgICAgICAgICAgICAgICAgICAg
ICAgICA9IDgyLCAvKiBMZXBjICovCisgICAgICBVU0NSSVBUX0xJTkVBUl9BICAgICAgICAgICAg
ICAgICAgICAgID0gODMsIC8qIExpbmEgKi8KKyAgICAgIFVTQ1JJUFRfTUFOREFFQU4gICAgICAg
ICAgICAgICAgICAgICAgPSA4NCwgLyogTWFuZCAqLworICAgICAgVVNDUklQVF9NQVlBTl9ISUVS
T0dMWVBIUyAgICAgICAgICAgICA9IDg1LCAvKiBNYXlhICovCisgICAgICBVU0NSSVBUX01FUk9J
VElDICAgICAgICAgICAgICAgICAgICAgID0gODYsIC8qIE1lcm8gKi8KKyAgICAgIFVTQ1JJUFRf
TktPICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA4NywgLyogTmtvbyAqLworICAgICAgVVND
UklQVF9PUktIT04gICAgICAgICAgICAgICAgICAgICAgICA9IDg4LCAvKiBPcmtoICovCisgICAg
ICBVU0NSSVBUX09MRF9QRVJNSUMgICAgICAgICAgICAgICAgICAgID0gODksIC8qIFBlcm0gKi8K
KyAgICAgIFVTQ1JJUFRfUEhBR1NfUEEgICAgICAgICAgICAgICAgICAgICAgPSA5MCwgLyogUGhh
ZyAqLworICAgICAgVVNDUklQVF9QSE9FTklDSUFOICAgICAgICAgICAgICAgICAgICA9IDkxLCAv
KiBQaG54ICovCisgICAgICBVU0NSSVBUX1BIT05FVElDX1BPTExBUkQgICAgICAgICAgICAgID0g
OTIsIC8qIFBscmQgKi8KKyAgICAgIFVTQ1JJUFRfUk9OR09ST05HTyAgICAgICAgICAgICAgICAg
ICAgPSA5MywgLyogUm9ybyAqLworICAgICAgVVNDUklQVF9TQVJBVEkgICAgICAgICAgICAgICAg
ICAgICAgICA9IDk0LCAvKiBTYXJhICovCisgICAgICBVU0NSSVBUX0VTVFJBTkdFTE9fU1lSSUFD
ICAgICAgICAgICAgID0gOTUsIC8qIFN5cmUgKi8KKyAgICAgIFVTQ1JJUFRfV0VTVEVSTl9TWVJJ
QUMgICAgICAgICAgICAgICAgPSA5NiwgLyogU3lyaiAqLworICAgICAgVVNDUklQVF9FQVNURVJO
X1NZUklBQyAgICAgICAgICAgICAgICA9IDk3LCAvKiBTeXJuICovCisgICAgICBVU0NSSVBUX1RF
TkdXQVIgICAgICAgICAgICAgICAgICAgICAgID0gOTgsIC8qIFRlbmcgKi8KKyAgICAgIFVTQ1JJ
UFRfVkFJICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA5OSwgLyogVmFpaSAqLworICAgICAg
VVNDUklQVF9WSVNJQkxFX1NQRUVDSCAgICAgICAgICAgICAgICA9IDEwMCwgLyogVmlzcCAqLwor
ICAgICAgVVNDUklQVF9DVU5FSUZPUk0gICAgICAgICAgICAgICAgICAgICA9IDEwMSwvKiBYc3V4
ICovCisgICAgICBVU0NSSVBUX1VOV1JJVFRFTl9MQU5HVUFHRVMgICAgICAgICAgID0gMTAyLC8q
IFp4eHggKi8KKyAgICAgIFVTQ1JJUFRfVU5LTk9XTiAgICAgICAgICAgICAgICAgICAgICAgPSAx
MDMsLyogWnp6eiAqLyAvKiBVbmtub3duPSJDb2RlIGZvciB1bmNvZGVkIHNjcmlwdCIsIGZvciB1
bmFzc2lnbmVkIGNvZGUgcG9pbnRzICovCisgICAgICAvKiBQcml2YXRlIHVzZSBjb2RlcyBmcm9t
IFFhYWEgLSBRYWJ4IGFyZSBub3Qgc3VwcG9ydGVkKi8KKyNlbmRpZiAvKiBVX0hJREVfRFJBRlRf
QVBJICovCisgICAgICBVU0NSSVBUX0NPREVfTElNSVQgICAgPSAxMDQKK30gVVNjcmlwdENvZGU7
CisKKy8qKgorICogR2V0cyBzY3JpcHQgY29kZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBs
b2NhbGUgb3IgSVNPIDE1OTI0IGFiYnJldmlhdGlvbiBvciBuYW1lLiAKKyAqIEZpbGxzIGluIFVT
Q1JJUFRfTUFMQVlBTEFNIGdpdmVuICJNYWxheWFtIiBPUiAiTWx5bSIuCisgKiBGaWxscyBpbiBV
U0NSSVBUX0xBVElOIGdpdmVuICJlbiIgT1IgImVuX1VTIiAKKyAqIElmIHJlcXVpcmVkIGNhcGFj
aXR5IGlzIGdyZWF0ZXIgdGhhbiBjYXBhY2l0eSBvZiB0aGUgZGVzdGluYXRpb24gYnVmZmVyIHRo
ZW4gdGhlIGVycm9yIGNvZGUKKyAqIGlzIHNldCB0byBVX0JVRkZFUl9PVkVSRkxPV19FUlJPUiBh
bmQgdGhlIHJlcXVpcmVkIGNhcGFjaXR5IGlzIHJldHVybmVkCisgKgorICogPHA+Tm90ZTogVG8g
c2VhcmNoIGJ5IHNob3J0IG9yIGxvbmcgc2NyaXB0IGFsaWFzIG9ubHksIHVzZQorICogdV9nZXRQ
cm9wZXJ0eVZhbHVlRW51bShVQ0hBUl9TQ1JJUFQsIGFsaWFzKSBpbnN0ZWFkLiAgVGhpcyBkb2Vz
CisgKiBhIGZhc3QgbG9va3VwIHdpdGggbm8gYWNjZXNzIG9mIHRoZSBsb2NhbGUgZGF0YS4KKyAq
IEBwYXJhbSBuYW1lT3JBYmJyT3JMb2NhbGUgbmFtZSBvZiB0aGUgc2NyaXB0LCBhcyBnaXZlbiBp
bgorICogUHJvcGVydHlWYWx1ZUFsaWFzZXMudHh0LCBvciBJU08gMTU5MjQgY29kZSBvciBsb2Nh
bGUKKyAqIEBwYXJhbSBmaWxsSW4gdGhlIFVTY3JpcHRDb2RlIGJ1ZmZlciB0byBmaWxsIGluIHRo
ZSBzY3JpcHQgY29kZQorICogQHBhcmFtIGNhcGFjaXR5IHRoZSBjYXBhY2l0eSAoc2l6ZSkgZm8g
VVNjcmlwdENvZGUgYnVmZmVyIHBhc3NlZCBpbi4KKyAqIEBwYXJhbSBlcnIgdGhlIGVycm9yIHN0
YXR1cyBjb2RlLgorICogQHJldHVybiBUaGUgbnVtYmVyIG9mIHNjcmlwdCBjb2RlcyBmaWxsZWQg
aW4gdGhlIGJ1ZmZlciBwYXNzZWQgaW4gCisgKiBAc3RhYmxlIElDVSAyLjQKKyAqLworVV9TVEFC
TEUgaW50MzJfdCAgVV9FWFBPUlQyIAordXNjcmlwdF9nZXRDb2RlKGNvbnN0IGNoYXIqIG5hbWVP
ckFiYnJPckxvY2FsZSxVU2NyaXB0Q29kZSogZmlsbEluLGludDMyX3QgY2FwYWNpdHksVUVycm9y
Q29kZSAqZXJyKTsKKworLyoqCisgKiBHZXRzIGEgc2NyaXB0IG5hbWUgYXNzb2NpYXRlZCB3aXRo
IHRoZSBnaXZlbiBzY3JpcHQgY29kZS4gCisgKiBSZXR1cm5zICAiTWFsYXlhbSIgZ2l2ZW4gVVND
UklQVF9NQUxBWUFMQU0KKyAqIEBwYXJhbSBzY3JpcHRDb2RlIFVTY3JpcHRDb2RlIGVudW0KKyAq
IEByZXR1cm4gc2NyaXB0IGxvbmcgbmFtZSBhcyBnaXZlbiBpbgorICogUHJvcGVydHlWYWx1ZUFs
aWFzZXMudHh0LCBvciBOVUxMIGlmIHNjcmlwdENvZGUgaXMgaW52YWxpZAorICogQHN0YWJsZSBJ
Q1UgMi40CisgKi8KK1VfU1RBQkxFIGNvbnN0IGNoYXIqICBVX0VYUE9SVDIgCit1c2NyaXB0X2dl
dE5hbWUoVVNjcmlwdENvZGUgc2NyaXB0Q29kZSk7CisKKy8qKgorICogR2V0cyBhIHNjcmlwdCBu
YW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4gc2NyaXB0IGNvZGUuIAorICogUmV0dXJucyAg
Ik1seW0iIGdpdmVuIFVTQ1JJUFRfTUFMQVlBTEFNCisgKiBAcGFyYW0gc2NyaXB0Q29kZSBVU2Ny
aXB0Q29kZSBlbnVtCisgKiBAcmV0dXJuIHNjcmlwdCBhYmJyZXZpYXRlZCBuYW1lIGFzIGdpdmVu
IGluCisgKiBQcm9wZXJ0eVZhbHVlQWxpYXNlcy50eHQsIG9yIE5VTEwgaWYgc2NyaXB0Q29kZSBp
cyBpbnZhbGlkCisgKiBAc3RhYmxlIElDVSAyLjQKKyAqLworVV9TVEFCTEUgY29uc3QgY2hhciog
IFVfRVhQT1JUMiAKK3VzY3JpcHRfZ2V0U2hvcnROYW1lKFVTY3JpcHRDb2RlIHNjcmlwdENvZGUp
OworCisvKiogCisgKiBHZXRzIHRoZSBzY3JpcHQgY29kZSBhc3NvY2lhdGVkIHdpdGggdGhlIGdp
dmVuIGNvZGVwb2ludC4KKyAqIFJldHVybnMgVVNDUklQVF9NQUxBWUFMQU0gZ2l2ZW4gMHgwRDAy
IAorICogQHBhcmFtIGNvZGVwb2ludCBVQ2hhcjMyIGNvZGVwb2ludAorICogQHBhcmFtIGVyciB0
aGUgZXJyb3Igc3RhdHVzIGNvZGUuCisgKiBAcmV0dXJuIFRoZSBVU2NyaXB0Q29kZSwgb3IgMCBp
ZiBjb2RlcG9pbnQgaXMgaW52YWxpZCAKKyAqIEBzdGFibGUgSUNVIDIuNAorICovCitVX1NUQUJM
RSBVU2NyaXB0Q29kZSAgVV9FWFBPUlQyIAordXNjcmlwdF9nZXRTY3JpcHQoVUNoYXIzMiBjb2Rl
cG9pbnQsIFVFcnJvckNvZGUgKmVycik7CisKKyNlbmRpZgorCisKClByb3BlcnR5IGNoYW5nZXMg
b246IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91c2NyaXB0LmgKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmVvbC1zdHlsZQogICArIExGCgpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi91bmljb2RlL1NjcmlwdENvZGVzRnJvbUlDVS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9TY3JpcHRDb2Rlc0Zyb21JQ1UuaAkocmV2aXNp
b24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9TY3JpcHRDb2Rlc0Zy
b21JQ1UuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNTMgQEAKKy8qCisgKiAgIENvcHlyaWdo
dCAoQykgMTk5Ny0yMDEwLCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCisgKiAgIENv
cnBvcmF0aW9uIGFuZCBvdGhlcnMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorICovCisKKyNpZm5k
ZWYgV1RGX1NjcmlwdENvZGVzRnJvbUlDVV9oCisjZGVmaW5lIFdURl9TY3JpcHRDb2Rlc0Zyb21J
Q1VfaAorCisvKioKKyAqIENvbnN0YW50cyBmb3IgSVNPIDE1OTI0IHNjcmlwdCBjb2Rlcy4KKyAq
CisgKiBNYW55IG9mIHRoZXNlIHNjcmlwdCBjb2RlcyAtIHRob3NlIGZyb20gVW5pY29kZSdzIFNj
cmlwdE5hbWVzLnR4dCAtCisgKiBhcmUgY2hhcmFjdGVyIHByb3BlcnR5IHZhbHVlcyBmb3IgVW5p
Y29kZSdzIFNjcmlwdCBwcm9wZXJ0eS4KKyAqIFNlZSBVQVggIzI0IFNjcmlwdCBOYW1lcyAoaHR0
cDovL3d3dy51bmljb2RlLm9yZy9yZXBvcnRzL3RyMjQvKS4KKyAqCisgKiBTdGFydGluZyB3aXRo
IElDVSAzLjYsIGNvbnN0YW50cyBmb3IgbW9zdCBJU08gMTU5MjQgc2NyaXB0IGNvZGVzCisgKiBh
cmUgaW5jbHVkZWQgKGN1cnJlbnRseSBleGNsdWRpbmcgcHJpdmF0ZS11c2UgY29kZXMgUWFhYS4u
UWFieCkuCisgKiBGb3Igc2NyaXB0cyBmb3Igd2hpY2ggdGhlcmUgYXJlIGNvZGVzIGluIElTTyAx
NTkyNCBidXQgd2hpY2ggYXJlIG5vdAorICogdXNlZCBpbiB0aGUgVW5pY29kZSBDaGFyYWN0ZXIg
RGF0YWJhc2UgKFVDRCksIHRoZXJlIGFyZSBubyBVbmljb2RlIGNoYXJhY3RlcnMKKyAqIGFzc29j
aWF0ZWQgd2l0aCB0aG9zZSBzY3JpcHRzLgorICoKKyAqIEZvciBleGFtcGxlLCB0aGVyZSBhcmUg
bm8gY2hhcmFjdGVycyB0aGF0IGhhdmUgYSBVQ0Qgc2NyaXB0IGNvZGUgb2YKKyAqIEhhbnMgb3Ig
SGFudC4gQWxsIEhhbiBpZGVvZ3JhcGhzIGhhdmUgdGhlIEhhbmkgc2NyaXB0IGNvZGUuCisgKiBU
aGUgSGFucyBhbmQgSGFudCBzY3JpcHQgY29kZXMgYXJlIHVzZWQgd2l0aCBDTERSIGRhdGEuCisg
KgorICogSVNPIDE1OTI0IHNjcmlwdCBjb2RlcyBhcmUgaW5jbHVkZWQgZm9yIHVzZSB3aXRoIENM
RFIgYW5kIHNpbWlsYXIuCisgKgorICogQHN0YWJsZSBJQ1UgMi4yCisgKi8KK3R5cGVkZWYgZW51
bSBVU2NyaXB0Q29kZSB7CisgICAgICBVU0NSSVBUX0lOVkFMSURfQ09ERSA9IC0xLAorICAgICAg
VVNDUklQVF9DT01NT04gICAgICAgPSAgMCAsIC8qIFp5eXkgKi8KKyAgICAgIFVTQ1JJUFRfSU5I
RVJJVEVEICAgID0gIDEsICAvKiBRYWFpICovCisgICAgICBVU0NSSVBUX0FSQUJJQyAgICAgICA9
ICAyLCAgLyogQXJhYiAqLworICAgICAgVVNDUklQVF9BUk1FTklBTiAgICAgPSAgMywgIC8qIEFy
bW4gKi8KKyAgICAgIFVTQ1JJUFRfQkVOR0FMSSAgICAgID0gIDQsICAvKiBCZW5nICovCisgICAg
ICBVU0NSSVBUX0JPUE9NT0ZPICAgICA9ICA1LCAgLyogQm9wbyAqLworICAgICAgVVNDUklQVF9D
SEVST0tFRSAgICAgPSAgNiwgIC8qIENoZXIgKi8KKyAgICAgIFVTQ1JJUFRfQ09QVElDICAgICAg
ID0gIDcsICAvKiBDb3B0ICovCisgICAgICBVU0NSSVBUX0NZUklMTElDICAgICA9ICA4LCAgLyog
Q3lybCAqLworICAgICAgVVNDUklQVF9ERVNFUkVUICAgICAgPSAgOSwgIC8qIERzcnQgKi8KKyAg
ICAgIFVTQ1JJUFRfREVWQU5BR0FSSSAgID0gMTAsICAvKiBEZXZhICovCisgICAgICBVU0NSSVBU
X0VUSElPUElDICAgICA9IDExLCAgLyogRXRoaSAqLworICAgICAgVVNDUklQVF9HRU9SR0lBTiAg
ICAgPSAxMiwgIC8qIEdlb3IgKi8KKyAgICAgIFVTQ1JJUFRfR09USElDICAgICAgID0gMTMsICAv
KiBHb3RoICovCisgICAgICBVU0NSSVBUX0dSRUVLICAgICAgICA9IDE0LCAgLyogR3JlayAqLwor
ICAgICAgVVNDUklQVF9HVUpBUkFUSSAgICAgPSAxNSwgIC8qIEd1anIgKi8KKyAgICAgIFVTQ1JJ
UFRfR1VSTVVLSEkgICAgID0gMTYsICAvKiBHdXJ1ICovCisgICAgICBVU0NSSVBUX0hBTiAgICAg
ICAgICA9IDE3LCAgLyogSGFuaSAqLworICAgICAgVVNDUklQVF9IQU5HVUwgICAgICAgPSAxOCwg
IC8qIEhhbmcgKi8KKyAgICAgIFVTQ1JJUFRfSEVCUkVXICAgICAgID0gMTksICAvKiBIZWJyICov
CisgICAgICBVU0NSSVBUX0hJUkFHQU5BICAgICA9IDIwLCAgLyogSGlyYSAqLworICAgICAgVVND
UklQVF9LQU5OQURBICAgICAgPSAyMSwgIC8qIEtuZGEgKi8KKyAgICAgIFVTQ1JJUFRfS0FUQUtB
TkEgICAgID0gMjIsICAvKiBLYW5hICovCisgICAgICBVU0NSSVBUX0tITUVSICAgICAgICA9IDIz
LCAgLyogS2htciAqLworICAgICAgVVNDUklQVF9MQU8gICAgICAgICAgPSAyNCwgIC8qIExhb28g
Ki8KKyAgICAgIFVTQ1JJUFRfTEFUSU4gICAgICAgID0gMjUsICAvKiBMYXRuICovCisgICAgICBV
U0NSSVBUX01BTEFZQUxBTSAgICA9IDI2LCAgLyogTWx5bSAqLworICAgICAgVVNDUklQVF9NT05H
T0xJQU4gICAgPSAyNywgIC8qIE1vbmcgKi8KKyAgICAgIFVTQ1JJUFRfTVlBTk1BUiAgICAgID0g
MjgsICAvKiBNeW1yICovCisgICAgICBVU0NSSVBUX09HSEFNICAgICAgICA9IDI5LCAgLyogT2dh
bSAqLworICAgICAgVVNDUklQVF9PTERfSVRBTElDICAgPSAzMCwgIC8qIEl0YWwgKi8KKyAgICAg
IFVTQ1JJUFRfT1JJWUEgICAgICAgID0gMzEsICAvKiBPcnlhICovCisgICAgICBVU0NSSVBUX1JV
TklDICAgICAgICA9IDMyLCAgLyogUnVuciAqLworICAgICAgVVNDUklQVF9TSU5IQUxBICAgICAg
PSAzMywgIC8qIFNpbmggKi8KKyAgICAgIFVTQ1JJUFRfU1lSSUFDICAgICAgID0gMzQsICAvKiBT
eXJjICovCisgICAgICBVU0NSSVBUX1RBTUlMICAgICAgICA9IDM1LCAgLyogVGFtbCAqLworICAg
ICAgVVNDUklQVF9URUxVR1UgICAgICAgPSAzNiwgIC8qIFRlbHUgKi8KKyAgICAgIFVTQ1JJUFRf
VEhBQU5BICAgICAgID0gMzcsICAvKiBUaGFhICovCisgICAgICBVU0NSSVBUX1RIQUkgICAgICAg
ICA9IDM4LCAgLyogVGhhaSAqLworICAgICAgVVNDUklQVF9USUJFVEFOICAgICAgPSAzOSwgIC8q
IFRpYnQgKi8KKyAgICAgIC8qKiBDYW5hZGlhbl9BYm9yaWdpbmFsIHNjcmlwdC4gQHN0YWJsZSBJ
Q1UgMi42ICovCisgICAgICBVU0NSSVBUX0NBTkFESUFOX0FCT1JJR0lOQUwgPSA0MCwgIC8qIENh
bnMgKi8KKyAgICAgIC8qKiBDYW5hZGlhbl9BYm9yaWdpbmFsIHNjcmlwdCAoYWxpYXMpLiBAc3Rh
YmxlIElDVSAyLjIgKi8KKyAgICAgIFVTQ1JJUFRfVUNBUyAgICAgICAgID0gVVNDUklQVF9DQU5B
RElBTl9BQk9SSUdJTkFMLAorICAgICAgVVNDUklQVF9ZSSAgICAgICAgICAgPSA0MSwgIC8qIFlp
aWkgKi8KKyAgICAgIFVTQ1JJUFRfVEFHQUxPRyAgICAgID0gNDIsICAvKiBUZ2xnICovCisgICAg
ICBVU0NSSVBUX0hBTlVOT08gICAgICA9IDQzLCAgLyogSGFubyAqLworICAgICAgVVNDUklQVF9C
VUhJRCAgICAgICAgPSA0NCwgIC8qIEJ1aGQgKi8KKyAgICAgIFVTQ1JJUFRfVEFHQkFOV0EgICAg
ID0gNDUsICAvKiBUYWdiICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHRzIGluIFVuaWNvZGUgNCBA
c3RhYmxlIElDVSAyLjYgKi8KKyAgICAgIFVTQ1JJUFRfQlJBSUxMRSAgICAgID0gNDYsICAvKiBC
cmFpICovCisgICAgICBVU0NSSVBUX0NZUFJJT1QgICAgICA9IDQ3LCAgLyogQ3BydCAqLworICAg
ICAgVVNDUklQVF9MSU1CVSAgICAgICAgPSA0OCwgIC8qIExpbWIgKi8KKyAgICAgIFVTQ1JJUFRf
TElORUFSX0IgICAgID0gNDksICAvKiBMaW5iICovCisgICAgICBVU0NSSVBUX09TTUFOWUEgICAg
ICA9IDUwLCAgLyogT3NtYSAqLworICAgICAgVVNDUklQVF9TSEFWSUFOICAgICAgPSA1MSwgIC8q
IFNoYXcgKi8KKyAgICAgIFVTQ1JJUFRfVEFJX0xFICAgICAgID0gNTIsICAvKiBUYWxlICovCisg
ICAgICBVU0NSSVBUX1VHQVJJVElDICAgICA9IDUzLCAgLyogVWdhciAqLworCisgICAgICAvKiog
TmV3IHNjcmlwdCBjb2RlIGluIFVuaWNvZGUgNC4wLjEgQHN0YWJsZSBJQ1UgMy4wICovCisgICAg
ICBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BID0gNTQsLypIcmt0ICovCisgICAgICAKKyNp
Zm5kZWYgVV9ISURFX0RSQUZUX0FQSQorICAgICAgLyogTmV3IHNjcmlwdHMgaW4gVW5pY29kZSA0
LjEgQGRyYWZ0IElDVSAzLjQgKi8KKyAgICAgIFVTQ1JJUFRfQlVHSU5FU0UgICAgICA9IDU1LCAv
KiBCdWdpICovCisgICAgICBVU0NSSVBUX0dMQUdPTElUSUMgICAgPSA1NiwgLyogR2xhZyAqLwor
ICAgICAgVVNDUklQVF9LSEFST1NIVEhJICAgID0gNTcsIC8qIEtoYXIgKi8KKyAgICAgIFVTQ1JJ
UFRfU1lMT1RJX05BR1JJICA9IDU4LCAvKiBTeWxvICovCisgICAgICBVU0NSSVBUX05FV19UQUlf
TFVFICAgPSA1OSwgLyogVGFsdSAqLworICAgICAgVVNDUklQVF9USUZJTkFHSCAgICAgID0gNjAs
IC8qIFRmbmcgKi8KKyAgICAgIFVTQ1JJUFRfT0xEX1BFUlNJQU4gICA9IDYxLCAvKiBYcGVvICov
CisKKyAgICAgIC8qIE5ldyBzY3JpcHQgY29kZXMgZnJvbSBJU08gMTU5MjQgQGRyYWZ0IElDVSAz
LjYgKi8KKyAgICAgIFVTQ1JJUFRfQkFMSU5FU0UgICAgICAgICAgICAgICAgICAgICAgPSA2Miwg
LyogQmFsaSAqLworICAgICAgVVNDUklQVF9CQVRBSyAgICAgICAgICAgICAgICAgICAgICAgICA9
IDYzLCAvKiBCYXRrICovCisgICAgICBVU0NSSVBUX0JMSVNTWU1CT0xTICAgICAgICAgICAgICAg
ICAgID0gNjQsIC8qIEJsaXMgKi8KKyAgICAgIFVTQ1JJUFRfQlJBSE1JICAgICAgICAgICAgICAg
ICAgICAgICAgPSA2NSwgLyogQnJhaCAqLworICAgICAgVVNDUklQVF9DSEFNICAgICAgICAgICAg
ICAgICAgICAgICAgICA9IDY2LCAvKiBDaGFtICovCisgICAgICBVU0NSSVBUX0NJUlRIICAgICAg
ICAgICAgICAgICAgICAgICAgID0gNjcsIC8qIENpcnQgKi8KKyAgICAgIFVTQ1JJUFRfT0xEX0NI
VVJDSF9TTEFWT05JQ19DWVJJTExJQyAgPSA2OCwgLyogQ3lycyAqLworICAgICAgVVNDUklQVF9E
RU1PVElDX0VHWVBUSUFOICAgICAgICAgICAgICA9IDY5LCAvKiBFZ3lkICovCisgICAgICBVU0NS
SVBUX0hJRVJBVElDX0VHWVBUSUFOICAgICAgICAgICAgID0gNzAsIC8qIEVneWggKi8KKyAgICAg
IFVTQ1JJUFRfRUdZUFRJQU5fSElFUk9HTFlQSFMgICAgICAgICAgPSA3MSwgLyogRWd5cCAqLwor
ICAgICAgVVNDUklQVF9LSFVUU1VSSSAgICAgICAgICAgICAgICAgICAgICA9IDcyLCAvKiBHZW9r
ICovCisgICAgICBVU0NSSVBUX1NJTVBMSUZJRURfSEFOICAgICAgICAgICAgICAgID0gNzMsIC8q
IEhhbnMgKi8KKyAgICAgIFVTQ1JJUFRfVFJBRElUSU9OQUxfSEFOICAgICAgICAgICAgICAgPSA3
NCwgLyogSGFudCAqLworICAgICAgVVNDUklQVF9QQUhBV0hfSE1PTkcgICAgICAgICAgICAgICAg
ICA9IDc1LCAvKiBIbW5nICovCisgICAgICBVU0NSSVBUX09MRF9IVU5HQVJJQU4gICAgICAgICAg
ICAgICAgID0gNzYsIC8qIEh1bmcgKi8KKyAgICAgIFVTQ1JJUFRfSEFSQVBQQU5fSU5EVVMgICAg
ICAgICAgICAgICAgPSA3NywgLyogSW5kcyAqLworICAgICAgVVNDUklQVF9KQVZBTkVTRSAgICAg
ICAgICAgICAgICAgICAgICA9IDc4LCAvKiBKYXZhICovCisgICAgICBVU0NSSVBUX0tBWUFIX0xJ
ICAgICAgICAgICAgICAgICAgICAgID0gNzksIC8qIEthbGkgKi8KKyAgICAgIFVTQ1JJUFRfTEFU
SU5fRlJBS1RVUiAgICAgICAgICAgICAgICAgPSA4MCwgLyogTGF0ZiAqLworICAgICAgVVNDUklQ
VF9MQVRJTl9HQUVMSUMgICAgICAgICAgICAgICAgICA9IDgxLCAvKiBMYXRnICovCisgICAgICBV
U0NSSVBUX0xFUENIQSAgICAgICAgICAgICAgICAgICAgICAgID0gODIsIC8qIExlcGMgKi8KKyAg
ICAgIFVTQ1JJUFRfTElORUFSX0EgICAgICAgICAgICAgICAgICAgICAgPSA4MywgLyogTGluYSAq
LworICAgICAgVVNDUklQVF9NQU5EQUVBTiAgICAgICAgICAgICAgICAgICAgICA9IDg0LCAvKiBN
YW5kICovCisgICAgICBVU0NSSVBUX01BWUFOX0hJRVJPR0xZUEhTICAgICAgICAgICAgID0gODUs
IC8qIE1heWEgKi8KKyAgICAgIFVTQ1JJUFRfTUVST0lUSUMgICAgICAgICAgICAgICAgICAgICAg
PSA4NiwgLyogTWVybyAqLworICAgICAgVVNDUklQVF9OS08gICAgICAgICAgICAgICAgICAgICAg
ICAgICA9IDg3LCAvKiBOa29vICovCisgICAgICBVU0NSSVBUX09SS0hPTiAgICAgICAgICAgICAg
ICAgICAgICAgID0gODgsIC8qIE9ya2ggKi8KKyAgICAgIFVTQ1JJUFRfT0xEX1BFUk1JQyAgICAg
ICAgICAgICAgICAgICAgPSA4OSwgLyogUGVybSAqLworICAgICAgVVNDUklQVF9QSEFHU19QQSAg
ICAgICAgICAgICAgICAgICAgICA9IDkwLCAvKiBQaGFnICovCisgICAgICBVU0NSSVBUX1BIT0VO
SUNJQU4gICAgICAgICAgICAgICAgICAgID0gOTEsIC8qIFBobnggKi8KKyAgICAgIFVTQ1JJUFRf
UEhPTkVUSUNfUE9MTEFSRCAgICAgICAgICAgICAgPSA5MiwgLyogUGxyZCAqLworICAgICAgVVND
UklQVF9ST05HT1JPTkdPICAgICAgICAgICAgICAgICAgICA9IDkzLCAvKiBSb3JvICovCisgICAg
ICBVU0NSSVBUX1NBUkFUSSAgICAgICAgICAgICAgICAgICAgICAgID0gOTQsIC8qIFNhcmEgKi8K
KyAgICAgIFVTQ1JJUFRfRVNUUkFOR0VMT19TWVJJQUMgICAgICAgICAgICAgPSA5NSwgLyogU3ly
ZSAqLworICAgICAgVVNDUklQVF9XRVNURVJOX1NZUklBQyAgICAgICAgICAgICAgICA9IDk2LCAv
KiBTeXJqICovCisgICAgICBVU0NSSVBUX0VBU1RFUk5fU1lSSUFDICAgICAgICAgICAgICAgID0g
OTcsIC8qIFN5cm4gKi8KKyAgICAgIFVTQ1JJUFRfVEVOR1dBUiAgICAgICAgICAgICAgICAgICAg
ICAgPSA5OCwgLyogVGVuZyAqLworICAgICAgVVNDUklQVF9WQUkgICAgICAgICAgICAgICAgICAg
ICAgICAgICA9IDk5LCAvKiBWYWlpICovCisgICAgICBVU0NSSVBUX1ZJU0lCTEVfU1BFRUNIICAg
ICAgICAgICAgICAgID0gMTAwLCAvKiBWaXNwICovCisgICAgICBVU0NSSVBUX0NVTkVJRk9STSAg
ICAgICAgICAgICAgICAgICAgID0gMTAxLC8qIFhzdXggKi8KKyAgICAgIFVTQ1JJUFRfVU5XUklU
VEVOX0xBTkdVQUdFUyAgICAgICAgICAgPSAxMDIsLyogWnh4eCAqLworICAgICAgVVNDUklQVF9V
TktOT1dOICAgICAgICAgICAgICAgICAgICAgICA9IDEwMywvKiBaenp6ICovIC8qIFVua25vd249
IkNvZGUgZm9yIHVuY29kZWQgc2NyaXB0IiwgZm9yIHVuYXNzaWduZWQgY29kZSBwb2ludHMgKi8K
KyAgICAgIC8qIFByaXZhdGUgdXNlIGNvZGVzIGZyb20gUWFhYSAtIFFhYnggYXJlIG5vdCBzdXBw
b3J0ZWQqLworI2VuZGlmIC8qIFVfSElERV9EUkFGVF9BUEkgKi8KKyAgICAgIFVTQ1JJUFRfQ09E
RV9MSU1JVCAgICA9IDEwNAorfSBVU2NyaXB0Q29kZTsKKworI2VuZGlmCgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvU2NyaXB0Q29kZXNGcm9t
SUNVLmgKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQogICArIExGCgpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1VuaWNvZGUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvVW5pY29kZS5oCShyZXZpc2lvbiA4OTQ4
NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9Vbmljb2RlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAKICNpZiBVU0UoUVQ0X1VOSUNPREUpCiAjaW5jbHVk
ZSAicXQ0L1VuaWNvZGVRdDQuaCIKICNlbGlmIFVTRShJQ1VfVU5JQ09ERSkKKyNpbmNsdWRlIDx1
bmljb2RlL3VzY3JpcHQuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9pY3UvVW5pY29kZUljdS5o
PgogI2VsaWYgVVNFKEdMSUJfVU5JQ09ERSkKICNpbmNsdWRlIDx3dGYvdW5pY29kZS9nbGliL1Vu
aWNvZGVHTGliLmg+CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvYnJl
dy9Vbmljb2RlQnJldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
dW5pY29kZS9icmV3L1VuaWNvZGVCcmV3LmgJKHJldmlzaW9uIDg5NDg1KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL2JyZXcvVW5pY29kZUJyZXcuaAkod29ya2luZyBjb3B5
KQpAQCAtMjUsNiArMjUsNyBAQAogI2lmbmRlZiBVbmljb2RlQnJld19oCiAjZGVmaW5lIFVuaWNv
ZGVCcmV3X2gKIAorI2luY2x1ZGUgIlNjcmlwdENvZGVzRnJvbUlDVS5oIgogI2luY2x1ZGUgIlVu
aWNvZGVGcm9tSUNVLmgiCiAjaW5jbHVkZSAiVW5pY29kZU1hY3Jvc0Zyb21JQ1UuaCIKIApJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL2dsaWIvVW5pY29kZUdMaWIuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvZ2xpYi9Vbmlj
b2RlR0xpYi5oCShyZXZpc2lvbiA4OTQ4NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
dW5pY29kZS9nbGliL1VuaWNvZGVHTGliLmgJKHdvcmtpbmcgY29weSkKQEAgLTI1LDggKzI1LDkg
QEAKICNpZm5kZWYgVW5pY29kZUdMaWJfaAogI2RlZmluZSBVbmljb2RlR0xpYl9oCiAKLSNpbmNs
dWRlICJVbmljb2RlTWFjcm9zRnJvbUlDVS5oIgogI2luY2x1ZGUgIkdPd25QdHIuaCIKKyNpbmNs
dWRlICJTY3JpcHRDb2Rlc0Zyb21JQ1UuaCIKKyNpbmNsdWRlICJVbmljb2RlTWFjcm9zRnJvbUlD
VS5oIgogCiAjaW5jbHVkZSA8Z2xpYi5oPgogI2luY2x1ZGUgPHBhbmdvL3BhbmdvLmg+CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvcXQ0L1VuaWNvZGVRdDQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvcXQ0L1VuaWNvZGVR
dDQuaAkocmV2aXNpb24gODk0ODUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNv
ZGUvcXQ0L1VuaWNvZGVRdDQuaAkod29ya2luZyBjb3B5KQpAQCAtMjMsNiArMjMsNyBAQAogI2lm
bmRlZiBXVEZfVU5JQ09ERV9RVDRfSAogI2RlZmluZSBXVEZfVU5JQ09ERV9RVDRfSAogCisjaW5j
bHVkZSAiU2NyaXB0Q29kZXNGcm9tSUNVLmgiCiAjaW5jbHVkZSAiVW5pY29kZU1hY3Jvc0Zyb21J
Q1UuaCIKIAogI2luY2x1ZGUgPFFDaGFyPgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi91bmljb2RlL3dpbmNlL1VuaWNvZGVXaW5DRS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvdW5pY29kZS93aW5jZS9Vbmljb2RlV2luQ0UuaAkocmV2aXNpb24gODk0
ODUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvd2luY2UvVW5pY29kZVdp
bkNFLmgJKHdvcmtpbmcgY29weSkKQEAgLTI0LDYgKzI0LDcgQEAKICNpZm5kZWYgV1RGX1VuaWNv
ZGVXaW5DRV9oCiAjZGVmaW5lIFdURl9Vbmljb2RlV2luQ0VfaAogCisjaW5jbHVkZSAiU2NyaXB0
Q29kZXNGcm9tSUNVLmgiCiAjaW5jbHVkZSAiVW5pY29kZU1hY3Jvc0Zyb21JQ1UuaCIKIAogI2lu
Y2x1ZGUgImNlX3VuaWNvZGUuaCIKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0R2x1ZS9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRHbHVlL0NoYW5nZUxvZwkocmV2aXNp
b24gODk0ODUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDYtMjEgIEp1bmdzaGlrIFNoaW4gIDxqc2hpbkBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIHVzY3JpcHQuaCB0byBpY3UvdW5pY29kZSB0byBnZXQgSmF2YVNjcmlwdEdsdWUg
Z2V0IGJ1aWx0LiBUaGUgc2FtZQorICAgICAgICBmaWxlIHdhcyBhZGRlZCB0byBKYXZhU2NyaXB0
Q29yZS9pY3UvdW5pY29kZS4KKworICAgICAgICBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMDc5NworCisgICAgICAgICogaWN1L3VuaWNvZGUvdXNjcmlwdC5oOiBBZGRl
ZC4KKwogMjAxMS0wNS0xNiAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAg
ICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzYwOTEzPiBDKysgZXhjZXB0aW9ucyBzaG91bGQg
bm90IGJlIGVuYWJsZWQgd2hlbiBidWlsZGluZyB3aXRoIGxsdm0tZ2NjLTQuMgpJbmRleDogU291
cmNlL0phdmFTY3JpcHRHbHVlL2ljdS91bmljb2RlL3VzY3JpcHQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdEdsdWUvaWN1L3VuaWNvZGUvdXNjcmlwdC5oCShyZXZpc2lvbiAwKQor
KysgU291cmNlL0phdmFTY3JpcHRHbHVlL2ljdS91bmljb2RlL3VzY3JpcHQuaAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwyMjQgQEAKKy8qCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICAgQ29weXJpZ2h0IChD
KSAxOTk3LTIwMDYsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKKyogICBDb3Jwb3Jh
dGlvbiBhbmQgb3RoZXJzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyoK
KyogRmlsZSBVU0NSSVBULkgKKyoKKyogTW9kaWZpY2F0aW9uIEhpc3Rvcnk6CisqCisqICAgRGF0
ZSAgICAgICAgTmFtZSAgICAgICAgRGVzY3JpcHRpb24KKyogICAwNy8wNi8yMDAxICAgIFJhbSAg
ICAgICAgIENyZWF0aW9uLgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqLworI2lmbmRlZiBVU0NS
SVBUX0gKKyNkZWZpbmUgVVNDUklQVF9ICisjaW5jbHVkZSAidW5pY29kZS91dHlwZXMuaCIKKwor
LyoqCisgKiBcZmlsZQorICogXGJyaWVmIEMgQVBJOiBVbmljb2RlIFNjcmlwdCBJbmZvcm1hdGlv
bgorICovCisgCisvKioKKyAqIENvbnN0YW50cyBmb3IgSVNPIDE1OTI0IHNjcmlwdCBjb2Rlcy4K
KyAqCisgKiBNYW55IG9mIHRoZXNlIHNjcmlwdCBjb2RlcyAtIHRob3NlIGZyb20gVW5pY29kZSdz
IFNjcmlwdE5hbWVzLnR4dCAtCisgKiBhcmUgY2hhcmFjdGVyIHByb3BlcnR5IHZhbHVlcyBmb3Ig
VW5pY29kZSdzIFNjcmlwdCBwcm9wZXJ0eS4KKyAqIFNlZSBVQVggIzI0IFNjcmlwdCBOYW1lcyAo
aHR0cDovL3d3dy51bmljb2RlLm9yZy9yZXBvcnRzL3RyMjQvKS4KKyAqCisgKiBTdGFydGluZyB3
aXRoIElDVSAzLjYsIGNvbnN0YW50cyBmb3IgbW9zdCBJU08gMTU5MjQgc2NyaXB0IGNvZGVzCisg
KiBhcmUgaW5jbHVkZWQgKGN1cnJlbnRseSBleGNsdWRpbmcgcHJpdmF0ZS11c2UgY29kZXMgUWFh
YS4uUWFieCkuCisgKiBGb3Igc2NyaXB0cyBmb3Igd2hpY2ggdGhlcmUgYXJlIGNvZGVzIGluIElT
TyAxNTkyNCBidXQgd2hpY2ggYXJlIG5vdAorICogdXNlZCBpbiB0aGUgVW5pY29kZSBDaGFyYWN0
ZXIgRGF0YWJhc2UgKFVDRCksIHRoZXJlIGFyZSBubyBVbmljb2RlIGNoYXJhY3RlcnMKKyAqIGFz
c29jaWF0ZWQgd2l0aCB0aG9zZSBzY3JpcHRzLgorICoKKyAqIEZvciBleGFtcGxlLCB0aGVyZSBh
cmUgbm8gY2hhcmFjdGVycyB0aGF0IGhhdmUgYSBVQ0Qgc2NyaXB0IGNvZGUgb2YKKyAqIEhhbnMg
b3IgSGFudC4gQWxsIEhhbiBpZGVvZ3JhcGhzIGhhdmUgdGhlIEhhbmkgc2NyaXB0IGNvZGUuCisg
KiBUaGUgSGFucyBhbmQgSGFudCBzY3JpcHQgY29kZXMgYXJlIHVzZWQgd2l0aCBDTERSIGRhdGEu
CisgKgorICogSVNPIDE1OTI0IHNjcmlwdCBjb2RlcyBhcmUgaW5jbHVkZWQgZm9yIHVzZSB3aXRo
IENMRFIgYW5kIHNpbWlsYXIuCisgKgorICogQHN0YWJsZSBJQ1UgMi4yCisgKi8KK3R5cGVkZWYg
ZW51bSBVU2NyaXB0Q29kZSB7CisgICAgICBVU0NSSVBUX0lOVkFMSURfQ09ERSA9IC0xLAorICAg
ICAgVVNDUklQVF9DT01NT04gICAgICAgPSAgMCAsIC8qIFp5eXkgKi8KKyAgICAgIFVTQ1JJUFRf
SU5IRVJJVEVEICAgID0gIDEsICAvKiBRYWFpICovCisgICAgICBVU0NSSVBUX0FSQUJJQyAgICAg
ICA9ICAyLCAgLyogQXJhYiAqLworICAgICAgVVNDUklQVF9BUk1FTklBTiAgICAgPSAgMywgIC8q
IEFybW4gKi8KKyAgICAgIFVTQ1JJUFRfQkVOR0FMSSAgICAgID0gIDQsICAvKiBCZW5nICovCisg
ICAgICBVU0NSSVBUX0JPUE9NT0ZPICAgICA9ICA1LCAgLyogQm9wbyAqLworICAgICAgVVNDUklQ
VF9DSEVST0tFRSAgICAgPSAgNiwgIC8qIENoZXIgKi8KKyAgICAgIFVTQ1JJUFRfQ09QVElDICAg
ICAgID0gIDcsICAvKiBDb3B0ICovCisgICAgICBVU0NSSVBUX0NZUklMTElDICAgICA9ICA4LCAg
LyogQ3lybCAqLworICAgICAgVVNDUklQVF9ERVNFUkVUICAgICAgPSAgOSwgIC8qIERzcnQgKi8K
KyAgICAgIFVTQ1JJUFRfREVWQU5BR0FSSSAgID0gMTAsICAvKiBEZXZhICovCisgICAgICBVU0NS
SVBUX0VUSElPUElDICAgICA9IDExLCAgLyogRXRoaSAqLworICAgICAgVVNDUklQVF9HRU9SR0lB
TiAgICAgPSAxMiwgIC8qIEdlb3IgKi8KKyAgICAgIFVTQ1JJUFRfR09USElDICAgICAgID0gMTMs
ICAvKiBHb3RoICovCisgICAgICBVU0NSSVBUX0dSRUVLICAgICAgICA9IDE0LCAgLyogR3JlayAq
LworICAgICAgVVNDUklQVF9HVUpBUkFUSSAgICAgPSAxNSwgIC8qIEd1anIgKi8KKyAgICAgIFVT
Q1JJUFRfR1VSTVVLSEkgICAgID0gMTYsICAvKiBHdXJ1ICovCisgICAgICBVU0NSSVBUX0hBTiAg
ICAgICAgICA9IDE3LCAgLyogSGFuaSAqLworICAgICAgVVNDUklQVF9IQU5HVUwgICAgICAgPSAx
OCwgIC8qIEhhbmcgKi8KKyAgICAgIFVTQ1JJUFRfSEVCUkVXICAgICAgID0gMTksICAvKiBIZWJy
ICovCisgICAgICBVU0NSSVBUX0hJUkFHQU5BICAgICA9IDIwLCAgLyogSGlyYSAqLworICAgICAg
VVNDUklQVF9LQU5OQURBICAgICAgPSAyMSwgIC8qIEtuZGEgKi8KKyAgICAgIFVTQ1JJUFRfS0FU
QUtBTkEgICAgID0gMjIsICAvKiBLYW5hICovCisgICAgICBVU0NSSVBUX0tITUVSICAgICAgICA9
IDIzLCAgLyogS2htciAqLworICAgICAgVVNDUklQVF9MQU8gICAgICAgICAgPSAyNCwgIC8qIExh
b28gKi8KKyAgICAgIFVTQ1JJUFRfTEFUSU4gICAgICAgID0gMjUsICAvKiBMYXRuICovCisgICAg
ICBVU0NSSVBUX01BTEFZQUxBTSAgICA9IDI2LCAgLyogTWx5bSAqLworICAgICAgVVNDUklQVF9N
T05HT0xJQU4gICAgPSAyNywgIC8qIE1vbmcgKi8KKyAgICAgIFVTQ1JJUFRfTVlBTk1BUiAgICAg
ID0gMjgsICAvKiBNeW1yICovCisgICAgICBVU0NSSVBUX09HSEFNICAgICAgICA9IDI5LCAgLyog
T2dhbSAqLworICAgICAgVVNDUklQVF9PTERfSVRBTElDICAgPSAzMCwgIC8qIEl0YWwgKi8KKyAg
ICAgIFVTQ1JJUFRfT1JJWUEgICAgICAgID0gMzEsICAvKiBPcnlhICovCisgICAgICBVU0NSSVBU
X1JVTklDICAgICAgICA9IDMyLCAgLyogUnVuciAqLworICAgICAgVVNDUklQVF9TSU5IQUxBICAg
ICAgPSAzMywgIC8qIFNpbmggKi8KKyAgICAgIFVTQ1JJUFRfU1lSSUFDICAgICAgID0gMzQsICAv
KiBTeXJjICovCisgICAgICBVU0NSSVBUX1RBTUlMICAgICAgICA9IDM1LCAgLyogVGFtbCAqLwor
ICAgICAgVVNDUklQVF9URUxVR1UgICAgICAgPSAzNiwgIC8qIFRlbHUgKi8KKyAgICAgIFVTQ1JJ
UFRfVEhBQU5BICAgICAgID0gMzcsICAvKiBUaGFhICovCisgICAgICBVU0NSSVBUX1RIQUkgICAg
ICAgICA9IDM4LCAgLyogVGhhaSAqLworICAgICAgVVNDUklQVF9USUJFVEFOICAgICAgPSAzOSwg
IC8qIFRpYnQgKi8KKyAgICAgIC8qKiBDYW5hZGlhbl9BYm9yaWdpbmFsIHNjcmlwdC4gQHN0YWJs
ZSBJQ1UgMi42ICovCisgICAgICBVU0NSSVBUX0NBTkFESUFOX0FCT1JJR0lOQUwgPSA0MCwgIC8q
IENhbnMgKi8KKyAgICAgIC8qKiBDYW5hZGlhbl9BYm9yaWdpbmFsIHNjcmlwdCAoYWxpYXMpLiBA
c3RhYmxlIElDVSAyLjIgKi8KKyAgICAgIFVTQ1JJUFRfVUNBUyAgICAgICAgID0gVVNDUklQVF9D
QU5BRElBTl9BQk9SSUdJTkFMLAorICAgICAgVVNDUklQVF9ZSSAgICAgICAgICAgPSA0MSwgIC8q
IFlpaWkgKi8KKyAgICAgIFVTQ1JJUFRfVEFHQUxPRyAgICAgID0gNDIsICAvKiBUZ2xnICovCisg
ICAgICBVU0NSSVBUX0hBTlVOT08gICAgICA9IDQzLCAgLyogSGFubyAqLworICAgICAgVVNDUklQ
VF9CVUhJRCAgICAgICAgPSA0NCwgIC8qIEJ1aGQgKi8KKyAgICAgIFVTQ1JJUFRfVEFHQkFOV0Eg
ICAgID0gNDUsICAvKiBUYWdiICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHRzIGluIFVuaWNvZGUg
NCBAc3RhYmxlIElDVSAyLjYgKi8KKyAgICAgIFVTQ1JJUFRfQlJBSUxMRSAgICAgID0gNDYsICAv
KiBCcmFpICovCisgICAgICBVU0NSSVBUX0NZUFJJT1QgICAgICA9IDQ3LCAgLyogQ3BydCAqLwor
ICAgICAgVVNDUklQVF9MSU1CVSAgICAgICAgPSA0OCwgIC8qIExpbWIgKi8KKyAgICAgIFVTQ1JJ
UFRfTElORUFSX0IgICAgID0gNDksICAvKiBMaW5iICovCisgICAgICBVU0NSSVBUX09TTUFOWUEg
ICAgICA9IDUwLCAgLyogT3NtYSAqLworICAgICAgVVNDUklQVF9TSEFWSUFOICAgICAgPSA1MSwg
IC8qIFNoYXcgKi8KKyAgICAgIFVTQ1JJUFRfVEFJX0xFICAgICAgID0gNTIsICAvKiBUYWxlICov
CisgICAgICBVU0NSSVBUX1VHQVJJVElDICAgICA9IDUzLCAgLyogVWdhciAqLworCisgICAgICAv
KiogTmV3IHNjcmlwdCBjb2RlIGluIFVuaWNvZGUgNC4wLjEgQHN0YWJsZSBJQ1UgMy4wICovCisg
ICAgICBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BID0gNTQsLypIcmt0ICovCisgICAgICAK
KyNpZm5kZWYgVV9ISURFX0RSQUZUX0FQSQorICAgICAgLyogTmV3IHNjcmlwdHMgaW4gVW5pY29k
ZSA0LjEgQGRyYWZ0IElDVSAzLjQgKi8KKyAgICAgIFVTQ1JJUFRfQlVHSU5FU0UgICAgICA9IDU1
LCAvKiBCdWdpICovCisgICAgICBVU0NSSVBUX0dMQUdPTElUSUMgICAgPSA1NiwgLyogR2xhZyAq
LworICAgICAgVVNDUklQVF9LSEFST1NIVEhJICAgID0gNTcsIC8qIEtoYXIgKi8KKyAgICAgIFVT
Q1JJUFRfU1lMT1RJX05BR1JJICA9IDU4LCAvKiBTeWxvICovCisgICAgICBVU0NSSVBUX05FV19U
QUlfTFVFICAgPSA1OSwgLyogVGFsdSAqLworICAgICAgVVNDUklQVF9USUZJTkFHSCAgICAgID0g
NjAsIC8qIFRmbmcgKi8KKyAgICAgIFVTQ1JJUFRfT0xEX1BFUlNJQU4gICA9IDYxLCAvKiBYcGVv
ICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHQgY29kZXMgZnJvbSBJU08gMTU5MjQgQGRyYWZ0IElD
VSAzLjYgKi8KKyAgICAgIFVTQ1JJUFRfQkFMSU5FU0UgICAgICAgICAgICAgICAgICAgICAgPSA2
MiwgLyogQmFsaSAqLworICAgICAgVVNDUklQVF9CQVRBSyAgICAgICAgICAgICAgICAgICAgICAg
ICA9IDYzLCAvKiBCYXRrICovCisgICAgICBVU0NSSVBUX0JMSVNTWU1CT0xTICAgICAgICAgICAg
ICAgICAgID0gNjQsIC8qIEJsaXMgKi8KKyAgICAgIFVTQ1JJUFRfQlJBSE1JICAgICAgICAgICAg
ICAgICAgICAgICAgPSA2NSwgLyogQnJhaCAqLworICAgICAgVVNDUklQVF9DSEFNICAgICAgICAg
ICAgICAgICAgICAgICAgICA9IDY2LCAvKiBDaGFtICovCisgICAgICBVU0NSSVBUX0NJUlRIICAg
ICAgICAgICAgICAgICAgICAgICAgID0gNjcsIC8qIENpcnQgKi8KKyAgICAgIFVTQ1JJUFRfT0xE
X0NIVVJDSF9TTEFWT05JQ19DWVJJTExJQyAgPSA2OCwgLyogQ3lycyAqLworICAgICAgVVNDUklQ
VF9ERU1PVElDX0VHWVBUSUFOICAgICAgICAgICAgICA9IDY5LCAvKiBFZ3lkICovCisgICAgICBV
U0NSSVBUX0hJRVJBVElDX0VHWVBUSUFOICAgICAgICAgICAgID0gNzAsIC8qIEVneWggKi8KKyAg
ICAgIFVTQ1JJUFRfRUdZUFRJQU5fSElFUk9HTFlQSFMgICAgICAgICAgPSA3MSwgLyogRWd5cCAq
LworICAgICAgVVNDUklQVF9LSFVUU1VSSSAgICAgICAgICAgICAgICAgICAgICA9IDcyLCAvKiBH
ZW9rICovCisgICAgICBVU0NSSVBUX1NJTVBMSUZJRURfSEFOICAgICAgICAgICAgICAgID0gNzMs
IC8qIEhhbnMgKi8KKyAgICAgIFVTQ1JJUFRfVFJBRElUSU9OQUxfSEFOICAgICAgICAgICAgICAg
PSA3NCwgLyogSGFudCAqLworICAgICAgVVNDUklQVF9QQUhBV0hfSE1PTkcgICAgICAgICAgICAg
ICAgICA9IDc1LCAvKiBIbW5nICovCisgICAgICBVU0NSSVBUX09MRF9IVU5HQVJJQU4gICAgICAg
ICAgICAgICAgID0gNzYsIC8qIEh1bmcgKi8KKyAgICAgIFVTQ1JJUFRfSEFSQVBQQU5fSU5EVVMg
ICAgICAgICAgICAgICAgPSA3NywgLyogSW5kcyAqLworICAgICAgVVNDUklQVF9KQVZBTkVTRSAg
ICAgICAgICAgICAgICAgICAgICA9IDc4LCAvKiBKYXZhICovCisgICAgICBVU0NSSVBUX0tBWUFI
X0xJICAgICAgICAgICAgICAgICAgICAgID0gNzksIC8qIEthbGkgKi8KKyAgICAgIFVTQ1JJUFRf
TEFUSU5fRlJBS1RVUiAgICAgICAgICAgICAgICAgPSA4MCwgLyogTGF0ZiAqLworICAgICAgVVND
UklQVF9MQVRJTl9HQUVMSUMgICAgICAgICAgICAgICAgICA9IDgxLCAvKiBMYXRnICovCisgICAg
ICBVU0NSSVBUX0xFUENIQSAgICAgICAgICAgICAgICAgICAgICAgID0gODIsIC8qIExlcGMgKi8K
KyAgICAgIFVTQ1JJUFRfTElORUFSX0EgICAgICAgICAgICAgICAgICAgICAgPSA4MywgLyogTGlu
YSAqLworICAgICAgVVNDUklQVF9NQU5EQUVBTiAgICAgICAgICAgICAgICAgICAgICA9IDg0LCAv
KiBNYW5kICovCisgICAgICBVU0NSSVBUX01BWUFOX0hJRVJPR0xZUEhTICAgICAgICAgICAgID0g
ODUsIC8qIE1heWEgKi8KKyAgICAgIFVTQ1JJUFRfTUVST0lUSUMgICAgICAgICAgICAgICAgICAg
ICAgPSA4NiwgLyogTWVybyAqLworICAgICAgVVNDUklQVF9OS08gICAgICAgICAgICAgICAgICAg
ICAgICAgICA9IDg3LCAvKiBOa29vICovCisgICAgICBVU0NSSVBUX09SS0hPTiAgICAgICAgICAg
ICAgICAgICAgICAgID0gODgsIC8qIE9ya2ggKi8KKyAgICAgIFVTQ1JJUFRfT0xEX1BFUk1JQyAg
ICAgICAgICAgICAgICAgICAgPSA4OSwgLyogUGVybSAqLworICAgICAgVVNDUklQVF9QSEFHU19Q
QSAgICAgICAgICAgICAgICAgICAgICA9IDkwLCAvKiBQaGFnICovCisgICAgICBVU0NSSVBUX1BI
T0VOSUNJQU4gICAgICAgICAgICAgICAgICAgID0gOTEsIC8qIFBobnggKi8KKyAgICAgIFVTQ1JJ
UFRfUEhPTkVUSUNfUE9MTEFSRCAgICAgICAgICAgICAgPSA5MiwgLyogUGxyZCAqLworICAgICAg
VVNDUklQVF9ST05HT1JPTkdPICAgICAgICAgICAgICAgICAgICA9IDkzLCAvKiBSb3JvICovCisg
ICAgICBVU0NSSVBUX1NBUkFUSSAgICAgICAgICAgICAgICAgICAgICAgID0gOTQsIC8qIFNhcmEg
Ki8KKyAgICAgIFVTQ1JJUFRfRVNUUkFOR0VMT19TWVJJQUMgICAgICAgICAgICAgPSA5NSwgLyog
U3lyZSAqLworICAgICAgVVNDUklQVF9XRVNURVJOX1NZUklBQyAgICAgICAgICAgICAgICA9IDk2
LCAvKiBTeXJqICovCisgICAgICBVU0NSSVBUX0VBU1RFUk5fU1lSSUFDICAgICAgICAgICAgICAg
ID0gOTcsIC8qIFN5cm4gKi8KKyAgICAgIFVTQ1JJUFRfVEVOR1dBUiAgICAgICAgICAgICAgICAg
ICAgICAgPSA5OCwgLyogVGVuZyAqLworICAgICAgVVNDUklQVF9WQUkgICAgICAgICAgICAgICAg
ICAgICAgICAgICA9IDk5LCAvKiBWYWlpICovCisgICAgICBVU0NSSVBUX1ZJU0lCTEVfU1BFRUNI
ICAgICAgICAgICAgICAgID0gMTAwLCAvKiBWaXNwICovCisgICAgICBVU0NSSVBUX0NVTkVJRk9S
TSAgICAgICAgICAgICAgICAgICAgID0gMTAxLC8qIFhzdXggKi8KKyAgICAgIFVTQ1JJUFRfVU5X
UklUVEVOX0xBTkdVQUdFUyAgICAgICAgICAgPSAxMDIsLyogWnh4eCAqLworICAgICAgVVNDUklQ
VF9VTktOT1dOICAgICAgICAgICAgICAgICAgICAgICA9IDEwMywvKiBaenp6ICovIC8qIFVua25v
d249IkNvZGUgZm9yIHVuY29kZWQgc2NyaXB0IiwgZm9yIHVuYXNzaWduZWQgY29kZSBwb2ludHMg
Ki8KKyAgICAgIC8qIFByaXZhdGUgdXNlIGNvZGVzIGZyb20gUWFhYSAtIFFhYnggYXJlIG5vdCBz
dXBwb3J0ZWQqLworI2VuZGlmIC8qIFVfSElERV9EUkFGVF9BUEkgKi8KKyAgICAgIFVTQ1JJUFRf
Q09ERV9MSU1JVCAgICA9IDEwNAorfSBVU2NyaXB0Q29kZTsKKworLyoqCisgKiBHZXRzIHNjcmlw
dCBjb2RlcyBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIGxvY2FsZSBvciBJU08gMTU5MjQgYWJi
cmV2aWF0aW9uIG9yIG5hbWUuIAorICogRmlsbHMgaW4gVVNDUklQVF9NQUxBWUFMQU0gZ2l2ZW4g
Ik1hbGF5YW0iIE9SICJNbHltIi4KKyAqIEZpbGxzIGluIFVTQ1JJUFRfTEFUSU4gZ2l2ZW4gImVu
IiBPUiAiZW5fVVMiIAorICogSWYgcmVxdWlyZWQgY2FwYWNpdHkgaXMgZ3JlYXRlciB0aGFuIGNh
cGFjaXR5IG9mIHRoZSBkZXN0aW5hdGlvbiBidWZmZXIgdGhlbiB0aGUgZXJyb3IgY29kZQorICog
aXMgc2V0IHRvIFVfQlVGRkVSX09WRVJGTE9XX0VSUk9SIGFuZCB0aGUgcmVxdWlyZWQgY2FwYWNp
dHkgaXMgcmV0dXJuZWQKKyAqCisgKiA8cD5Ob3RlOiBUbyBzZWFyY2ggYnkgc2hvcnQgb3IgbG9u
ZyBzY3JpcHQgYWxpYXMgb25seSwgdXNlCisgKiB1X2dldFByb3BlcnR5VmFsdWVFbnVtKFVDSEFS
X1NDUklQVCwgYWxpYXMpIGluc3RlYWQuICBUaGlzIGRvZXMKKyAqIGEgZmFzdCBsb29rdXAgd2l0
aCBubyBhY2Nlc3Mgb2YgdGhlIGxvY2FsZSBkYXRhLgorICogQHBhcmFtIG5hbWVPckFiYnJPckxv
Y2FsZSBuYW1lIG9mIHRoZSBzY3JpcHQsIGFzIGdpdmVuIGluCisgKiBQcm9wZXJ0eVZhbHVlQWxp
YXNlcy50eHQsIG9yIElTTyAxNTkyNCBjb2RlIG9yIGxvY2FsZQorICogQHBhcmFtIGZpbGxJbiB0
aGUgVVNjcmlwdENvZGUgYnVmZmVyIHRvIGZpbGwgaW4gdGhlIHNjcmlwdCBjb2RlCisgKiBAcGFy
YW0gY2FwYWNpdHkgdGhlIGNhcGFjaXR5IChzaXplKSBmbyBVU2NyaXB0Q29kZSBidWZmZXIgcGFz
c2VkIGluLgorICogQHBhcmFtIGVyciB0aGUgZXJyb3Igc3RhdHVzIGNvZGUuCisgKiBAcmV0dXJu
IFRoZSBudW1iZXIgb2Ygc2NyaXB0IGNvZGVzIGZpbGxlZCBpbiB0aGUgYnVmZmVyIHBhc3NlZCBp
biAKKyAqIEBzdGFibGUgSUNVIDIuNAorICovCitVX1NUQUJMRSBpbnQzMl90ICBVX0VYUE9SVDIg
Cit1c2NyaXB0X2dldENvZGUoY29uc3QgY2hhciogbmFtZU9yQWJick9yTG9jYWxlLFVTY3JpcHRD
b2RlKiBmaWxsSW4saW50MzJfdCBjYXBhY2l0eSxVRXJyb3JDb2RlICplcnIpOworCisvKioKKyAq
IEdldHMgYSBzY3JpcHQgbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIHNjcmlwdCBjb2Rl
LiAKKyAqIFJldHVybnMgICJNYWxheWFtIiBnaXZlbiBVU0NSSVBUX01BTEFZQUxBTQorICogQHBh
cmFtIHNjcmlwdENvZGUgVVNjcmlwdENvZGUgZW51bQorICogQHJldHVybiBzY3JpcHQgbG9uZyBu
YW1lIGFzIGdpdmVuIGluCisgKiBQcm9wZXJ0eVZhbHVlQWxpYXNlcy50eHQsIG9yIE5VTEwgaWYg
c2NyaXB0Q29kZSBpcyBpbnZhbGlkCisgKiBAc3RhYmxlIElDVSAyLjQKKyAqLworVV9TVEFCTEUg
Y29uc3QgY2hhciogIFVfRVhQT1JUMiAKK3VzY3JpcHRfZ2V0TmFtZShVU2NyaXB0Q29kZSBzY3Jp
cHRDb2RlKTsKKworLyoqCisgKiBHZXRzIGEgc2NyaXB0IG5hbWUgYXNzb2NpYXRlZCB3aXRoIHRo
ZSBnaXZlbiBzY3JpcHQgY29kZS4gCisgKiBSZXR1cm5zICAiTWx5bSIgZ2l2ZW4gVVNDUklQVF9N
QUxBWUFMQU0KKyAqIEBwYXJhbSBzY3JpcHRDb2RlIFVTY3JpcHRDb2RlIGVudW0KKyAqIEByZXR1
cm4gc2NyaXB0IGFiYnJldmlhdGVkIG5hbWUgYXMgZ2l2ZW4gaW4KKyAqIFByb3BlcnR5VmFsdWVB
bGlhc2VzLnR4dCwgb3IgTlVMTCBpZiBzY3JpcHRDb2RlIGlzIGludmFsaWQKKyAqIEBzdGFibGUg
SUNVIDIuNAorICovCitVX1NUQUJMRSBjb25zdCBjaGFyKiAgVV9FWFBPUlQyIAordXNjcmlwdF9n
ZXRTaG9ydE5hbWUoVVNjcmlwdENvZGUgc2NyaXB0Q29kZSk7CisKKy8qKiAKKyAqIEdldHMgdGhl
IHNjcmlwdCBjb2RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4gY29kZXBvaW50LgorICogUmV0
dXJucyBVU0NSSVBUX01BTEFZQUxBTSBnaXZlbiAweDBEMDIgCisgKiBAcGFyYW0gY29kZXBvaW50
IFVDaGFyMzIgY29kZXBvaW50CisgKiBAcGFyYW0gZXJyIHRoZSBlcnJvciBzdGF0dXMgY29kZS4K
KyAqIEByZXR1cm4gVGhlIFVTY3JpcHRDb2RlLCBvciAwIGlmIGNvZGVwb2ludCBpcyBpbnZhbGlk
IAorICogQHN0YWJsZSBJQ1UgMi40CisgKi8KK1VfU1RBQkxFIFVTY3JpcHRDb2RlICBVX0VYUE9S
VDIgCit1c2NyaXB0X2dldFNjcmlwdChVQ2hhcjMyIGNvZGVwb2ludCwgVUVycm9yQ29kZSAqZXJy
KTsKKworI2VuZGlmCisKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogU291cmNlL0phdmFTY3JpcHRH
bHVlL2ljdS91bmljb2RlL3VzY3JpcHQuaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxl
CiAgICsgTEYKCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiA4OTQ4NSkKKysrIFNvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBACisyMDExLTA2LTIy
ICBKdW5nc2hpayBTaGluICA8anNoaW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFsbG93IGdlbmVyaWMgZm9udCBmYW1pbHkg
c2V0dGluZ3MgcGVyIHNjcmlwdCBjb2RlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA3OTcKKworICAgICAgICBNYWtlIGdlbmVyaWMgZm9udCBmYW1p
bHkgZ2V0dGVycy9zZXR0ZXJzIGFjY2VwdCBhbiBhZGRpdGlvbmFsCisgICAgICAgIGFyZ3VtZW50
IChzY3JpcHQgY29kZSkuIEl0IGhhcyBhIGRlZmF1bHQgdmFsdWUgc28gdGhhdCBpZiBhbiBlbWJl
ZGRlcgorICAgICAgICBkb2VzIG5vdCBoYXZlL3dhbnQgYSBwZXItc2NyaXB0IGZvbnQgZmFtaWx5
IHNldHRpbmcsIGNhbGwtc2l0ZXMKKyAgICAgICAgZG9uJ3QgaGF2ZSB0byBiZSBjaGFuZ2VkLgor
ICAgICAgICBUaGlzIGlzIHRvIHByZXBhcmUgZm9yIGZpeGluZyBidWcgMTA4NzQgKGZvbnQgc2Vs
ZWN0aW9uIGlzIG5vdAorICAgICAgICBsYW5ndWFnZS1kZXBlbmRlbnQpIGFuZCBidWcgMTgwODUu
CisKKyAgICAgICAgdXNjcmlwdC5oIGhhcyBiZWVuIHVwZGF0ZWQgdG8gdGhhdCBvZiBJQ1UgMy42
ICh0aGUgdmVyc2lvbiBvZiBJQ1Ugb24KKyAgICAgICAgTWFjIE9TIDEwLjUpCisKKyAgICAgICAg
VGhlcmUgc2hvdWxkIGJlIG5vIGNoYW5nZSBpbiBsYXlvdXQgYW5kIG5vIG5ldyBsYXlvdXQgdGVz
dAorICAgICAgICBpcyBhZGRlZC4KKworICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAg
ICAqIGljdS91bmljb2RlL3VzY3JpcHQuaDogdXBkYXRlZCB0byBJQ1UgNC42CisgICAgICAgICog
cGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzZXRHZW5lcmljRm9udEZhbWls
eU1hcCk6IGhlbHBlciB0byBzZXQgZ2VuZXJpYyBmYW1pbHkgcGVyIHNjcmlwdAorICAgICAgICAo
V2ViQ29yZTo6Z2V0R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQpOiBoZWxwZXIgZnVuY3Rpb24g
dXNlZCBieSBnZXR0ZXJzIGZvciBmb29Gb250RmFtaWx5LgorICAgICAgICAoV2ViQ29yZTo6U2V0
dGluZ3M6OnN0YW5kYXJkRm9udEZhbWlseSk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6
c2V0U3RhbmRhcmRGb250RmFtaWx5KToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpmaXhl
ZEZvbnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldEZpeGVkRm9udEZh
bWlseSk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2VyaWZGb250RmFtaWx5KToKKyAg
ICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRTZXJpZkZvbnRGYW1pbHkpOgorICAgICAgICAo
V2ViQ29yZTo6U2V0dGluZ3M6OnNhbnNTZXJpZkZvbnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29y
ZTo6U2V0dGluZ3M6OnNldFNhbnNTZXJpZkZvbnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6
U2V0dGluZ3M6OmN1cnNpdmVGb250RmFtaWx5KToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdz
OjpzZXRDdXJzaXZlRm9udEZhbWlseSk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6ZmFu
dGFzeUZvbnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldEZhbnRhc3lG
b250RmFtaWx5KToKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmg6IHNldHRlciBhbmQgZ2V0dGVy
IGZvciBGb29Gb250RmFtaWx5IGhhdmUgYSBuZXcgb3B0aW9uYWwgYXJndW1lbnQsIHNjcmlwdENv
ZGUuCisKIDIwMTEtMDYtMjIgIE1hcmsgUGlsZ3JpbSAgPHBpbGdyaW1AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgkocmV2aXNpb24gODk0ODUpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkod29y
a2luZyBjb3B5KQpAQCAtODU2LDIyICs4NTYsMjIgQEAgX19aTjdXZWJDb3JlOFNldHRpbmdzMTZz
ZXRVc2VzUGFnZUNhY2hlRQogX19aTjdXZWJDb3JlOFNldHRpbmdzMTdzZXRQbHVnaW5zRW5hYmxl
ZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldERPTVBhc3RlQWxsb3dlZEViCiBfX1pON1dl
YkNvcmU4U2V0dGluZ3MxOHNldERlZmF1bHRGb250U2l6ZUVpCi1fX1pON1dlYkNvcmU4U2V0dGlu
Z3MxOHNldEZpeGVkRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFCitfX1pON1dlYkNv
cmU4U2V0dGluZ3MxOHNldEZpeGVkRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFMTFV
U2NyaXB0Q29kZQogX19aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRNaW5pbXVtRm9udFNpemVFaQot
X19aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRTZXJpZkZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWlj
U3RyaW5nRQorX19aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRTZXJpZkZvbnRGYW1pbHlFUktOM1dU
RjEyQXRvbWljU3RyaW5nRTExVVNjcmlwdENvZGUKIF9fWk43V2ViQ29yZThTZXR0aW5nczE4c2V0
V2ViQXVkaW9FbmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczE5bWluRE9NVGltZXJJbnRl
cnZhbEV2CiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOXNldFNob3dEZWJ1Z0JvcmRlcnNFYgotX19a
TjdXZWJDb3JlOFNldHRpbmdzMjBzZXRDdXJzaXZlRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNT
dHJpbmdFCi1fX1pON1dlYkNvcmU4U2V0dGluZ3MyMHNldEZhbnRhc3lGb250RmFtaWx5RVJLTjNX
VEYxMkF0b21pY1N0cmluZ0UKK19fWk43V2ViQ29yZThTZXR0aW5nczIwc2V0Q3Vyc2l2ZUZvbnRG
YW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5nRTExVVNjcmlwdENvZGUKK19fWk43V2ViQ29yZThT
ZXR0aW5nczIwc2V0RmFudGFzeUZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5nRTExVVNj
cmlwdENvZGUKIF9fWk43V2ViQ29yZThTZXR0aW5nczIwc2V0SmF2YVNjcmlwdEVuYWJsZWRFYgog
X19aTjdXZWJDb3JlOFNldHRpbmdzMjBzZXRYU1NBdWRpdG9yRW5hYmxlZEViCiBfX1pON1dlYkNv
cmU4U2V0dGluZ3MyMXNldFNob3dSZXBhaW50Q291bnRlckViCi1fX1pON1dlYkNvcmU4U2V0dGlu
Z3MyMXNldFN0YW5kYXJkRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFCitfX1pON1dl
YkNvcmU4U2V0dGluZ3MyMXNldFN0YW5kYXJkRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJp
bmdFMTFVU2NyaXB0Q29kZQogX19aTjdXZWJDb3JlOFNldHRpbmdzMjFzZXRXZWJTZWN1cml0eUVu
YWJsZWRFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMjJzZXRMb2NhbFN0b3JhZ2VFbmFibGVkRWIK
IF9fWk43V2ViQ29yZThTZXR0aW5nczIyc2V0TWluRE9NVGltZXJJbnRlcnZhbEVkCi1fX1pON1dl
YkNvcmU4U2V0dGluZ3MyMnNldFNhbnNTZXJpZkZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWljU3Ry
aW5nRQorX19aTjdXZWJDb3JlOFNldHRpbmdzMjJzZXRTYW5zU2VyaWZGb250RmFtaWx5RVJLTjNX
VEYxMkF0b21pY1N0cmluZ0UxMVVTY3JpcHRDb2RlCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMnNl
dFNlc3Npb25TdG9yYWdlUXVvdGFFagogX19aTjdXZWJDb3JlOFNldHRpbmdzMjJzZXRTaG93c1VS
THNJblRvb2xUaXBzRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczIzc2V0RGVmYXVsdEZpeGVkRm9u
dFNpemVFaQpJbmRleDogU291cmNlL1dlYkNvcmUvaWN1L3VuaWNvZGUvdXNjcmlwdC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2ljdS91bmljb2RlL3VzY3JpcHQuaAkocmV2aXNpb24g
ODk0ODUpCisrKyBTb3VyY2UvV2ViQ29yZS9pY3UvdW5pY29kZS91c2NyaXB0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNiArMSw2IEBACiAvKgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotKiAgIENvcHlyaWdodCAo
QykgMTk5Ny0yMDA0LCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCisqICAgQ29weXJp
Z2h0IChDKSAxOTk3LTIwMDYsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKICogICBD
b3Jwb3JhdGlvbiBhbmQgb3RoZXJzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioKICoKQEAgLTE3LDcgKzE3LDI4IEBACiAjaW5jbHVkZSAidW5pY29kZS91dHlwZXMuaCIKIAog
LyoqCi0gKiBDb25zdGFudHMgZm9yIFVuaWNvZGUgc2NyaXB0IHZhbHVlcyBmcm9tIFNjcmlwdE5h
bWVzLnR4dCAuCisgKiBcZmlsZQorICogXGJyaWVmIEMgQVBJOiBVbmljb2RlIFNjcmlwdCBJbmZv
cm1hdGlvbgorICovCisgCisvKioKKyAqIENvbnN0YW50cyBmb3IgSVNPIDE1OTI0IHNjcmlwdCBj
b2Rlcy4KKyAqCisgKiBNYW55IG9mIHRoZXNlIHNjcmlwdCBjb2RlcyAtIHRob3NlIGZyb20gVW5p
Y29kZSdzIFNjcmlwdE5hbWVzLnR4dCAtCisgKiBhcmUgY2hhcmFjdGVyIHByb3BlcnR5IHZhbHVl
cyBmb3IgVW5pY29kZSdzIFNjcmlwdCBwcm9wZXJ0eS4KKyAqIFNlZSBVQVggIzI0IFNjcmlwdCBO
YW1lcyAoaHR0cDovL3d3dy51bmljb2RlLm9yZy9yZXBvcnRzL3RyMjQvKS4KKyAqCisgKiBTdGFy
dGluZyB3aXRoIElDVSAzLjYsIGNvbnN0YW50cyBmb3IgbW9zdCBJU08gMTU5MjQgc2NyaXB0IGNv
ZGVzCisgKiBhcmUgaW5jbHVkZWQgKGN1cnJlbnRseSBleGNsdWRpbmcgcHJpdmF0ZS11c2UgY29k
ZXMgUWFhYS4uUWFieCkuCisgKiBGb3Igc2NyaXB0cyBmb3Igd2hpY2ggdGhlcmUgYXJlIGNvZGVz
IGluIElTTyAxNTkyNCBidXQgd2hpY2ggYXJlIG5vdAorICogdXNlZCBpbiB0aGUgVW5pY29kZSBD
aGFyYWN0ZXIgRGF0YWJhc2UgKFVDRCksIHRoZXJlIGFyZSBubyBVbmljb2RlIGNoYXJhY3RlcnMK
KyAqIGFzc29jaWF0ZWQgd2l0aCB0aG9zZSBzY3JpcHRzLgorICoKKyAqIEZvciBleGFtcGxlLCB0
aGVyZSBhcmUgbm8gY2hhcmFjdGVycyB0aGF0IGhhdmUgYSBVQ0Qgc2NyaXB0IGNvZGUgb2YKKyAq
IEhhbnMgb3IgSGFudC4gQWxsIEhhbiBpZGVvZ3JhcGhzIGhhdmUgdGhlIEhhbmkgc2NyaXB0IGNv
ZGUuCisgKiBUaGUgSGFucyBhbmQgSGFudCBzY3JpcHQgY29kZXMgYXJlIHVzZWQgd2l0aCBDTERS
IGRhdGEuCisgKgorICogSVNPIDE1OTI0IHNjcmlwdCBjb2RlcyBhcmUgaW5jbHVkZWQgZm9yIHVz
ZSB3aXRoIENMRFIgYW5kIHNpbWlsYXIuCiAgKgogICogQHN0YWJsZSBJQ1UgMi4yCiAgKi8KQEAg
LTMxLDExICs1MiwxMSBAQCB0eXBlZGVmIGVudW0gVVNjcmlwdENvZGUgewogICAgICAgVVNDUklQ
VF9CT1BPTU9GTyAgICAgPSAgNSwgIC8qIEJvcG8gKi8KICAgICAgIFVTQ1JJUFRfQ0hFUk9LRUUg
ICAgID0gIDYsICAvKiBDaGVyICovCiAgICAgICBVU0NSSVBUX0NPUFRJQyAgICAgICA9ICA3LCAg
LyogQ29wdCAqLwotICAgICAgVVNDUklQVF9DWVJJTExJQyAgICAgPSAgOCwgIC8qIEN5cmwgKEN5
cnMpICovCisgICAgICBVU0NSSVBUX0NZUklMTElDICAgICA9ICA4LCAgLyogQ3lybCAqLwogICAg
ICAgVVNDUklQVF9ERVNFUkVUICAgICAgPSAgOSwgIC8qIERzcnQgKi8KICAgICAgIFVTQ1JJUFRf
REVWQU5BR0FSSSAgID0gMTAsICAvKiBEZXZhICovCiAgICAgICBVU0NSSVBUX0VUSElPUElDICAg
ICA9IDExLCAgLyogRXRoaSAqLwotICAgICAgVVNDUklQVF9HRU9SR0lBTiAgICAgPSAxMiwgIC8q
IEdlb3IgKEdlb24sIEdlb2EpICovCisgICAgICBVU0NSSVBUX0dFT1JHSUFOICAgICA9IDEyLCAg
LyogR2VvciAqLwogICAgICAgVVNDUklQVF9HT1RISUMgICAgICAgPSAxMywgIC8qIEdvdGggKi8K
ICAgICAgIFVTQ1JJUFRfR1JFRUsgICAgICAgID0gMTQsICAvKiBHcmVrICovCiAgICAgICBVU0NS
SVBUX0dVSkFSQVRJICAgICA9IDE1LCAgLyogR3VqciAqLwpAQCAtNDgsNyArNjksNyBAQCB0eXBl
ZGVmIGVudW0gVVNjcmlwdENvZGUgewogICAgICAgVVNDUklQVF9LQVRBS0FOQSAgICAgPSAyMiwg
IC8qIEthbmEgKi8KICAgICAgIFVTQ1JJUFRfS0hNRVIgICAgICAgID0gMjMsICAvKiBLaG1yICov
CiAgICAgICBVU0NSSVBUX0xBTyAgICAgICAgICA9IDI0LCAgLyogTGFvbyAqLwotICAgICAgVVND
UklQVF9MQVRJTiAgICAgICAgPSAyNSwgIC8qIExhdG4gKExhdGYsIExhdGcpICovCisgICAgICBV
U0NSSVBUX0xBVElOICAgICAgICA9IDI1LCAgLyogTGF0biAqLwogICAgICAgVVNDUklQVF9NQUxB
WUFMQU0gICAgPSAyNiwgIC8qIE1seW0gKi8KICAgICAgIFVTQ1JJUFRfTU9OR09MSUFOICAgID0g
MjcsICAvKiBNb25nICovCiAgICAgICBVU0NSSVBUX01ZQU5NQVIgICAgICA9IDI4LCAgLyogTXlt
ciAqLwpAQCAtNTcsNyArNzgsNyBAQCB0eXBlZGVmIGVudW0gVVNjcmlwdENvZGUgewogICAgICAg
VVNDUklQVF9PUklZQSAgICAgICAgPSAzMSwgIC8qIE9yeWEgKi8KICAgICAgIFVTQ1JJUFRfUlVO
SUMgICAgICAgID0gMzIsICAvKiBSdW5yICovCiAgICAgICBVU0NSSVBUX1NJTkhBTEEgICAgICA9
IDMzLCAgLyogU2luaCAqLwotICAgICAgVVNDUklQVF9TWVJJQUMgICAgICAgPSAzNCwgIC8qIFN5
cmMgKFN5cmosIFN5cm4sIFN5cmUpICovCisgICAgICBVU0NSSVBUX1NZUklBQyAgICAgICA9IDM0
LCAgLyogU3lyYyAqLwogICAgICAgVVNDUklQVF9UQU1JTCAgICAgICAgPSAzNSwgIC8qIFRhbWwg
Ki8KICAgICAgIFVTQ1JJUFRfVEVMVUdVICAgICAgID0gMzYsICAvKiBUZWx1ICovCiAgICAgICBV
U0NSSVBUX1RIQUFOQSAgICAgICA9IDM3LCAgLyogVGhhYSAqLwpAQCAtNzQsMTkgKzk1LDc0IEBA
IHR5cGVkZWYgZW51bSBVU2NyaXB0Q29kZSB7CiAgICAgICBVU0NSSVBUX1RBR0JBTldBICAgICA9
IDQ1LCAgLyogVGFnYiAqLwogCiAgICAgICAvKiBOZXcgc2NyaXB0cyBpbiBVbmljb2RlIDQgQHN0
YWJsZSBJQ1UgMi42ICovCi0gICAgICBVU0NSSVBUX0JSQUlMTEUsICAgICAgICAgICAgLyogQnJh
aSAqLwotICAgICAgVVNDUklQVF9DWVBSSU9ULCAgICAgICAgICAgIC8qIENwcnQgKi8KLSAgICAg
IFVTQ1JJUFRfTElNQlUsICAgICAgICAgICAgICAvKiBMaW1iICovCi0gICAgICBVU0NSSVBUX0xJ
TkVBUl9CLCAgICAgICAgICAgLyogTGluYiAqLwotICAgICAgVVNDUklQVF9PU01BTllBLCAgICAg
ICAgICAgIC8qIE9zbWEgKi8KLSAgICAgIFVTQ1JJUFRfU0hBVklBTiwgICAgICAgICAgICAvKiBT
aGF3ICovCi0gICAgICBVU0NSSVBUX1RBSV9MRSwgICAgICAgICAgICAgLyogVGFsZSAqLwotICAg
ICAgVVNDUklQVF9VR0FSSVRJQywgICAgICAgICAgIC8qIFVnYXIgKi8KLQotICAgICAgLyoqIE5l
dyBzY3JpcHQgY29kZSBpbiBVbmljb2RlIDQuMC4xIEBkcmFmdCBJQ1UgMy4wICovCi0gICAgICBV
U0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BLC8qSHJrdCAqLwotCi0gICAgICBVU0NSSVBUX0NP
REVfTElNSVQKKyAgICAgIFVTQ1JJUFRfQlJBSUxMRSAgICAgID0gNDYsICAvKiBCcmFpICovCisg
ICAgICBVU0NSSVBUX0NZUFJJT1QgICAgICA9IDQ3LCAgLyogQ3BydCAqLworICAgICAgVVNDUklQ
VF9MSU1CVSAgICAgICAgPSA0OCwgIC8qIExpbWIgKi8KKyAgICAgIFVTQ1JJUFRfTElORUFSX0Ig
ICAgID0gNDksICAvKiBMaW5iICovCisgICAgICBVU0NSSVBUX09TTUFOWUEgICAgICA9IDUwLCAg
LyogT3NtYSAqLworICAgICAgVVNDUklQVF9TSEFWSUFOICAgICAgPSA1MSwgIC8qIFNoYXcgKi8K
KyAgICAgIFVTQ1JJUFRfVEFJX0xFICAgICAgID0gNTIsICAvKiBUYWxlICovCisgICAgICBVU0NS
SVBUX1VHQVJJVElDICAgICA9IDUzLCAgLyogVWdhciAqLworCisgICAgICAvKiogTmV3IHNjcmlw
dCBjb2RlIGluIFVuaWNvZGUgNC4wLjEgQHN0YWJsZSBJQ1UgMy4wICovCisgICAgICBVU0NSSVBU
X0tBVEFLQU5BX09SX0hJUkFHQU5BID0gNTQsLypIcmt0ICovCisgICAgICAKKyNpZm5kZWYgVV9I
SURFX0RSQUZUX0FQSQorICAgICAgLyogTmV3IHNjcmlwdHMgaW4gVW5pY29kZSA0LjEgQGRyYWZ0
IElDVSAzLjQgKi8KKyAgICAgIFVTQ1JJUFRfQlVHSU5FU0UgICAgICA9IDU1LCAvKiBCdWdpICov
CisgICAgICBVU0NSSVBUX0dMQUdPTElUSUMgICAgPSA1NiwgLyogR2xhZyAqLworICAgICAgVVND
UklQVF9LSEFST1NIVEhJICAgID0gNTcsIC8qIEtoYXIgKi8KKyAgICAgIFVTQ1JJUFRfU1lMT1RJ
X05BR1JJICA9IDU4LCAvKiBTeWxvICovCisgICAgICBVU0NSSVBUX05FV19UQUlfTFVFICAgPSA1
OSwgLyogVGFsdSAqLworICAgICAgVVNDUklQVF9USUZJTkFHSCAgICAgID0gNjAsIC8qIFRmbmcg
Ki8KKyAgICAgIFVTQ1JJUFRfT0xEX1BFUlNJQU4gICA9IDYxLCAvKiBYcGVvICovCisKKyAgICAg
IC8qIE5ldyBzY3JpcHQgY29kZXMgZnJvbSBJU08gMTU5MjQgQGRyYWZ0IElDVSAzLjYgKi8KKyAg
ICAgIFVTQ1JJUFRfQkFMSU5FU0UgICAgICAgICAgICAgICAgICAgICAgPSA2MiwgLyogQmFsaSAq
LworICAgICAgVVNDUklQVF9CQVRBSyAgICAgICAgICAgICAgICAgICAgICAgICA9IDYzLCAvKiBC
YXRrICovCisgICAgICBVU0NSSVBUX0JMSVNTWU1CT0xTICAgICAgICAgICAgICAgICAgID0gNjQs
IC8qIEJsaXMgKi8KKyAgICAgIFVTQ1JJUFRfQlJBSE1JICAgICAgICAgICAgICAgICAgICAgICAg
PSA2NSwgLyogQnJhaCAqLworICAgICAgVVNDUklQVF9DSEFNICAgICAgICAgICAgICAgICAgICAg
ICAgICA9IDY2LCAvKiBDaGFtICovCisgICAgICBVU0NSSVBUX0NJUlRIICAgICAgICAgICAgICAg
ICAgICAgICAgID0gNjcsIC8qIENpcnQgKi8KKyAgICAgIFVTQ1JJUFRfT0xEX0NIVVJDSF9TTEFW
T05JQ19DWVJJTExJQyAgPSA2OCwgLyogQ3lycyAqLworICAgICAgVVNDUklQVF9ERU1PVElDX0VH
WVBUSUFOICAgICAgICAgICAgICA9IDY5LCAvKiBFZ3lkICovCisgICAgICBVU0NSSVBUX0hJRVJB
VElDX0VHWVBUSUFOICAgICAgICAgICAgID0gNzAsIC8qIEVneWggKi8KKyAgICAgIFVTQ1JJUFRf
RUdZUFRJQU5fSElFUk9HTFlQSFMgICAgICAgICAgPSA3MSwgLyogRWd5cCAqLworICAgICAgVVND
UklQVF9LSFVUU1VSSSAgICAgICAgICAgICAgICAgICAgICA9IDcyLCAvKiBHZW9rICovCisgICAg
ICBVU0NSSVBUX1NJTVBMSUZJRURfSEFOICAgICAgICAgICAgICAgID0gNzMsIC8qIEhhbnMgKi8K
KyAgICAgIFVTQ1JJUFRfVFJBRElUSU9OQUxfSEFOICAgICAgICAgICAgICAgPSA3NCwgLyogSGFu
dCAqLworICAgICAgVVNDUklQVF9QQUhBV0hfSE1PTkcgICAgICAgICAgICAgICAgICA9IDc1LCAv
KiBIbW5nICovCisgICAgICBVU0NSSVBUX09MRF9IVU5HQVJJQU4gICAgICAgICAgICAgICAgID0g
NzYsIC8qIEh1bmcgKi8KKyAgICAgIFVTQ1JJUFRfSEFSQVBQQU5fSU5EVVMgICAgICAgICAgICAg
ICAgPSA3NywgLyogSW5kcyAqLworICAgICAgVVNDUklQVF9KQVZBTkVTRSAgICAgICAgICAgICAg
ICAgICAgICA9IDc4LCAvKiBKYXZhICovCisgICAgICBVU0NSSVBUX0tBWUFIX0xJICAgICAgICAg
ICAgICAgICAgICAgID0gNzksIC8qIEthbGkgKi8KKyAgICAgIFVTQ1JJUFRfTEFUSU5fRlJBS1RV
UiAgICAgICAgICAgICAgICAgPSA4MCwgLyogTGF0ZiAqLworICAgICAgVVNDUklQVF9MQVRJTl9H
QUVMSUMgICAgICAgICAgICAgICAgICA9IDgxLCAvKiBMYXRnICovCisgICAgICBVU0NSSVBUX0xF
UENIQSAgICAgICAgICAgICAgICAgICAgICAgID0gODIsIC8qIExlcGMgKi8KKyAgICAgIFVTQ1JJ
UFRfTElORUFSX0EgICAgICAgICAgICAgICAgICAgICAgPSA4MywgLyogTGluYSAqLworICAgICAg
VVNDUklQVF9NQU5EQUVBTiAgICAgICAgICAgICAgICAgICAgICA9IDg0LCAvKiBNYW5kICovCisg
ICAgICBVU0NSSVBUX01BWUFOX0hJRVJPR0xZUEhTICAgICAgICAgICAgID0gODUsIC8qIE1heWEg
Ki8KKyAgICAgIFVTQ1JJUFRfTUVST0lUSUMgICAgICAgICAgICAgICAgICAgICAgPSA4NiwgLyog
TWVybyAqLworICAgICAgVVNDUklQVF9OS08gICAgICAgICAgICAgICAgICAgICAgICAgICA9IDg3
LCAvKiBOa29vICovCisgICAgICBVU0NSSVBUX09SS0hPTiAgICAgICAgICAgICAgICAgICAgICAg
ID0gODgsIC8qIE9ya2ggKi8KKyAgICAgIFVTQ1JJUFRfT0xEX1BFUk1JQyAgICAgICAgICAgICAg
ICAgICAgPSA4OSwgLyogUGVybSAqLworICAgICAgVVNDUklQVF9QSEFHU19QQSAgICAgICAgICAg
ICAgICAgICAgICA9IDkwLCAvKiBQaGFnICovCisgICAgICBVU0NSSVBUX1BIT0VOSUNJQU4gICAg
ICAgICAgICAgICAgICAgID0gOTEsIC8qIFBobnggKi8KKyAgICAgIFVTQ1JJUFRfUEhPTkVUSUNf
UE9MTEFSRCAgICAgICAgICAgICAgPSA5MiwgLyogUGxyZCAqLworICAgICAgVVNDUklQVF9ST05H
T1JPTkdPICAgICAgICAgICAgICAgICAgICA9IDkzLCAvKiBSb3JvICovCisgICAgICBVU0NSSVBU
X1NBUkFUSSAgICAgICAgICAgICAgICAgICAgICAgID0gOTQsIC8qIFNhcmEgKi8KKyAgICAgIFVT
Q1JJUFRfRVNUUkFOR0VMT19TWVJJQUMgICAgICAgICAgICAgPSA5NSwgLyogU3lyZSAqLworICAg
ICAgVVNDUklQVF9XRVNURVJOX1NZUklBQyAgICAgICAgICAgICAgICA9IDk2LCAvKiBTeXJqICov
CisgICAgICBVU0NSSVBUX0VBU1RFUk5fU1lSSUFDICAgICAgICAgICAgICAgID0gOTcsIC8qIFN5
cm4gKi8KKyAgICAgIFVTQ1JJUFRfVEVOR1dBUiAgICAgICAgICAgICAgICAgICAgICAgPSA5OCwg
LyogVGVuZyAqLworICAgICAgVVNDUklQVF9WQUkgICAgICAgICAgICAgICAgICAgICAgICAgICA9
IDk5LCAvKiBWYWlpICovCisgICAgICBVU0NSSVBUX1ZJU0lCTEVfU1BFRUNIICAgICAgICAgICAg
ICAgID0gMTAwLCAvKiBWaXNwICovCisgICAgICBVU0NSSVBUX0NVTkVJRk9STSAgICAgICAgICAg
ICAgICAgICAgID0gMTAxLC8qIFhzdXggKi8KKyAgICAgIFVTQ1JJUFRfVU5XUklUVEVOX0xBTkdV
QUdFUyAgICAgICAgICAgPSAxMDIsLyogWnh4eCAqLworICAgICAgVVNDUklQVF9VTktOT1dOICAg
ICAgICAgICAgICAgICAgICAgICA9IDEwMywvKiBaenp6ICovIC8qIFVua25vd249IkNvZGUgZm9y
IHVuY29kZWQgc2NyaXB0IiwgZm9yIHVuYXNzaWduZWQgY29kZSBwb2ludHMgKi8KKyAgICAgIC8q
IFByaXZhdGUgdXNlIGNvZGVzIGZyb20gUWFhYSAtIFFhYnggYXJlIG5vdCBzdXBwb3J0ZWQqLwor
I2VuZGlmIC8qIFVfSElERV9EUkFGVF9BUEkgKi8KKyAgICAgIFVTQ1JJUFRfQ09ERV9MSU1JVCAg
ICA9IDEwNAogfSBVU2NyaXB0Q29kZTsKIAogLyoqCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmNwcAkocmV2aXNpb24gODk0ODUpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNTIsNiArNTIsMjAgQEAgc3RhdGljIHZvaWQgc2V0TG9hZHNJ
bWFnZXNBdXRvbWF0aWNhbGx5SQogICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+Y2FjaGVkUmVz
b3VyY2VMb2FkZXIoKS0+c2V0QXV0b0xvYWRJbWFnZXMocGFnZS0+c2V0dGluZ3MoKS0+bG9hZHNJ
bWFnZXNBdXRvbWF0aWNhbGx5KCkpOwogfQogCitzdGF0aWMgaW5saW5lIHZvaWQgc2V0R2VuZXJp
Y0ZvbnRGYW1pbHlNYXAoU2NyaXB0Rm9udEZhbWlseU1hcCYgZm9udE1hcCwgY29uc3QgQXRvbWlj
U3RyaW5nJiBmYW1pbHksIFVTY3JpcHRDb2RlIHNjcmlwdCwgUGFnZSogcGFnZSkKK3sKKyAgICBm
b250TWFwLnNldChzdGF0aWNfY2FzdDxpbnQ+KHNjcmlwdCksIGZhbWlseSk7CisgICAgcGFnZS0+
c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzKCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgY29u
c3QgQXRvbWljU3RyaW5nJiBnZXRHZW5lcmljRm9udEZhbWlseUZvclNjcmlwdChjb25zdCBTY3Jp
cHRGb250RmFtaWx5TWFwJiBmb250TWFwLCBVU2NyaXB0Q29kZSBzY3JpcHQpCit7CisgICAgU2Ny
aXB0Rm9udEZhbWlseU1hcDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBmb250TWFwLmZpbmQoc3RhdGlj
X2Nhc3Q8aW50PihzY3JpcHQpKTsKKyAgICBpZiAoaXQgIT0gZm9udE1hcC5lbmQoKSkKKyAgICAg
ICAgcmV0dXJuIGl0LT5zZWNvbmQ7CisgICAgcmV0dXJuIGVtcHR5QXRvbTsKK30KKwogI2lmIFVT
RShTQUZBUklfVEhFTUUpCiBib29sIFNldHRpbmdzOjpnU2hvdWxkUGFpbnROYXRpdmVDb250cm9s
cyA9IHRydWU7CiAjZW5kaWYKQEAgLTE5Miw1OCArMjA2LDY0IEBAIFNldHRpbmdzOjpTZXR0aW5n
cyhQYWdlKiBwYWdlKQogICAgIEF0b21pY1N0cmluZzo6aW5pdCgpOwogfQogCi12b2lkIFNldHRp
bmdzOjpzZXRTdGFuZGFyZEZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBzdGFuZGFyZEZv
bnRGYW1pbHkpCitjb25zdCBBdG9taWNTdHJpbmcmIFNldHRpbmdzOjpzdGFuZGFyZEZvbnRGYW1p
bHkoVVNjcmlwdENvZGUgc2NyaXB0KSBjb25zdAogewotICAgIGlmIChzdGFuZGFyZEZvbnRGYW1p
bHkgPT0gbV9zdGFuZGFyZEZvbnRGYW1pbHkpCi0gICAgICAgIHJldHVybjsKKyAgICByZXR1cm4g
Z2V0R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQobV9zdGFuZGFyZEZvbnRGYW1pbHlNYXAsIHNj
cmlwdCk7Cit9CiAKLSAgICBtX3N0YW5kYXJkRm9udEZhbWlseSA9IHN0YW5kYXJkRm9udEZhbWls
eTsKLSAgICBtX3BhZ2UtPnNldE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcygpOwordm9pZCBT
ZXR0aW5nczo6c2V0U3RhbmRhcmRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5
LCBVU2NyaXB0Q29kZSBzY3JpcHQpCit7CisgICAgc2V0R2VuZXJpY0ZvbnRGYW1pbHlNYXAobV9z
dGFuZGFyZEZvbnRGYW1pbHlNYXAsIGZhbWlseSwgc2NyaXB0LCBtX3BhZ2UpOwogfQogCi12b2lk
IFNldHRpbmdzOjpzZXRGaXhlZEZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBmaXhlZEZv
bnRGYW1pbHkpCitjb25zdCBBdG9taWNTdHJpbmcmIFNldHRpbmdzOjpmaXhlZEZvbnRGYW1pbHko
VVNjcmlwdENvZGUgc2NyaXB0KSBjb25zdAogewotICAgIGlmIChtX2ZpeGVkRm9udEZhbWlseSA9
PSBmaXhlZEZvbnRGYW1pbHkpCi0gICAgICAgIHJldHVybjsKLSAgICAgICAgCi0gICAgbV9maXhl
ZEZvbnRGYW1pbHkgPSBmaXhlZEZvbnRGYW1pbHk7Ci0gICAgbV9wYWdlLT5zZXROZWVkc1JlY2Fs
Y1N0eWxlSW5BbGxGcmFtZXMoKTsKKyAgICByZXR1cm4gZ2V0R2VuZXJpY0ZvbnRGYW1pbHlGb3JT
Y3JpcHQobV9maXhlZEZvbnRGYW1pbHlNYXAsIHNjcmlwdCk7CiB9CiAKLXZvaWQgU2V0dGluZ3M6
OnNldFNlcmlmRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIHNlcmlmRm9udEZhbWlseSkK
K3ZvaWQgU2V0dGluZ3M6OnNldEZpeGVkRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZh
bWlseSwgVVNjcmlwdENvZGUgc2NyaXB0KQogewotICAgIGlmIChtX3NlcmlmRm9udEZhbWlseSA9
PSBzZXJpZkZvbnRGYW1pbHkpCi0gICAgICAgIHJldHVybjsKLSAgICAgICAgCi0gICAgbV9zZXJp
ZkZvbnRGYW1pbHkgPSBzZXJpZkZvbnRGYW1pbHk7Ci0gICAgbV9wYWdlLT5zZXROZWVkc1JlY2Fs
Y1N0eWxlSW5BbGxGcmFtZXMoKTsKKyAgICBzZXRHZW5lcmljRm9udEZhbWlseU1hcChtX2ZpeGVk
Rm9udEZhbWlseU1hcCwgZmFtaWx5LCBzY3JpcHQsIG1fcGFnZSk7CiB9CiAKLXZvaWQgU2V0dGlu
Z3M6OnNldFNhbnNTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBzYW5zU2VyaWZG
b250RmFtaWx5KQorY29uc3QgQXRvbWljU3RyaW5nJiBTZXR0aW5nczo6c2VyaWZGb250RmFtaWx5
KFVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKIHsKLSAgICBpZiAobV9zYW5zU2VyaWZGb250RmFt
aWx5ID09IHNhbnNTZXJpZkZvbnRGYW1pbHkpCi0gICAgICAgIHJldHVybjsKLSAgICAgICAgCi0g
ICAgbV9zYW5zU2VyaWZGb250RmFtaWx5ID0gc2Fuc1NlcmlmRm9udEZhbWlseTsgCi0gICAgbV9w
YWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKKyAgICByZXR1cm4gZ2V0R2Vu
ZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQobV9zZXJpZkZvbnRGYW1pbHlNYXAsIHNjcmlwdCk7CiB9
CiAKLXZvaWQgU2V0dGluZ3M6OnNldEN1cnNpdmVGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmlu
ZyYgY3Vyc2l2ZUZvbnRGYW1pbHkpCit2b2lkIFNldHRpbmdzOjpzZXRTZXJpZkZvbnRGYW1pbHko
Y29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIFVTY3JpcHRDb2RlIHNjcmlwdCkKIHsKLSAgICBp
ZiAobV9jdXJzaXZlRm9udEZhbWlseSA9PSBjdXJzaXZlRm9udEZhbWlseSkKLSAgICAgICAgcmV0
dXJuOwotICAgICAgICAKLSAgICBtX2N1cnNpdmVGb250RmFtaWx5ID0gY3Vyc2l2ZUZvbnRGYW1p
bHk7Ci0gICAgbV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKKyAgICAg
c2V0R2VuZXJpY0ZvbnRGYW1pbHlNYXAobV9zZXJpZkZvbnRGYW1pbHlNYXAsIGZhbWlseSwgc2Ny
aXB0LCBtX3BhZ2UpOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRGYW50YXN5Rm9udEZhbWlseShj
b25zdCBBdG9taWNTdHJpbmcmIGZhbnRhc3lGb250RmFtaWx5KQorY29uc3QgQXRvbWljU3RyaW5n
JiBTZXR0aW5nczo6c2Fuc1NlcmlmRm9udEZhbWlseShVU2NyaXB0Q29kZSBzY3JpcHQpIGNvbnN0
CiB7Ci0gICAgaWYgKG1fZmFudGFzeUZvbnRGYW1pbHkgPT0gZmFudGFzeUZvbnRGYW1pbHkpCi0g
ICAgICAgIHJldHVybjsKLSAgICAgICAgCi0gICAgbV9mYW50YXN5Rm9udEZhbWlseSA9IGZhbnRh
c3lGb250RmFtaWx5OwotICAgIG1fcGFnZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVz
KCk7CisgICAgcmV0dXJuIGdldEdlbmVyaWNGb250RmFtaWx5Rm9yU2NyaXB0KG1fc2Fuc1Nlcmlm
Rm9udEZhbWlseU1hcCwgc2NyaXB0KTsKK30KKwordm9pZCBTZXR0aW5nczo6c2V0U2Fuc1Nlcmlm
Rm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSwgVVNjcmlwdENvZGUgc2NyaXB0
KQoreworICAgIHNldEdlbmVyaWNGb250RmFtaWx5TWFwKG1fc2Fuc1NlcmlmRm9udEZhbWlseU1h
cCwgZmFtaWx5LCBzY3JpcHQsIG1fcGFnZSk7Cit9CisKK2NvbnN0IEF0b21pY1N0cmluZyYgU2V0
dGluZ3M6OmN1cnNpdmVGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gZ2V0R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQobV9jdXJzaXZlRm9udEZhbWls
eU1hcCwgc2NyaXB0KTsKK30KKwordm9pZCBTZXR0aW5nczo6c2V0Q3Vyc2l2ZUZvbnRGYW1pbHko
Y29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIFVTY3JpcHRDb2RlIHNjcmlwdCkKK3sKKyAgICBz
ZXRHZW5lcmljRm9udEZhbWlseU1hcChtX2N1cnNpdmVGb250RmFtaWx5TWFwLCBmYW1pbHksIHNj
cmlwdCwgbV9wYWdlKTsKK30KKworY29uc3QgQXRvbWljU3RyaW5nJiBTZXR0aW5nczo6ZmFudGFz
eUZvbnRGYW1pbHkoVVNjcmlwdENvZGUgc2NyaXB0KSBjb25zdAoreworICAgIHJldHVybiBnZXRH
ZW5lcmljRm9udEZhbWlseUZvclNjcmlwdChtX2ZhbnRhc3lGb250RmFtaWx5TWFwLCBzY3JpcHQp
OworfQorCit2b2lkIFNldHRpbmdzOjpzZXRGYW50YXN5Rm9udEZhbWlseShjb25zdCBBdG9taWNT
dHJpbmcmIGZhbWlseSwgVVNjcmlwdENvZGUgc2NyaXB0KQoreworICAgIHNldEdlbmVyaWNGb250
RmFtaWx5TWFwKG1fZmFudGFzeUZvbnRGYW1pbHlNYXAsIGZhbWlseSwgc2NyaXB0LCBtX3BhZ2Up
OwogfQogCiB2b2lkIFNldHRpbmdzOjpzZXRNaW5pbXVtRm9udFNpemUoaW50IG1pbmltdW1Gb250
U2l6ZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgJKHJldmlzaW9uIDg5NDg1KQorKysgU291
cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSwx
MCBAQAogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVkZSAiS1VSTC5oIgog
I2luY2x1ZGUgIlRpbWVyLmgiCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmdI
YXNoLmg+CisjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTUxLDI4ICs1NCwzOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IFRleHREaXJlY3Rpb25TdWJtZW51QWx3YXlzSW5jbHVkZWQKICAgICB9OwogCisgICAgLy8gVVNj
cmlwdENvZGUgdXNlcyAtMSBhbmQgMCBmb3IgVVNjcmlwdEludmFsaWRDb2RlIGFuZCBVU2NyaXB0
Q29tbW9uLgorICAgIC8vIFdlIG5lZWQgdG8gdXNlIC0yIGFuZCAtMyBmb3IgZW1wdHkgdmFsdWUg
YW5kIGRlbGV0ZWQgdmFsdWUuCisgICAgc3RydWN0IFVTY3JpcHRDb2RlSGFzaFRyYWl0cyA6IFdU
Rjo6R2VuZXJpY0hhc2hUcmFpdHM8aW50PiB7CisgICAgICAgIHN0YXRpYyBjb25zdCBib29sIGVt
cHR5VmFsdWVJc1plcm8gPSBmYWxzZTsKKyAgICAgICAgc3RhdGljIGludCBlbXB0eVZhbHVlKCkg
eyByZXR1cm4gLTI7IH0KKyAgICAgICAgc3RhdGljIHZvaWQgY29uc3RydWN0RGVsZXRlZFZhbHVl
KGludCYgc2xvdCkgeyBzbG90ID0gLTM7IH0KKyAgICAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVk
VmFsdWUoaW50IHZhbHVlKSB7IHJldHVybiB2YWx1ZSA9PSAtMzsgfQorICAgIH07CisKKyAgICB0
eXBlZGVmIEhhc2hNYXA8aW50LCBBdG9taWNTdHJpbmcsIERlZmF1bHRIYXNoPGludD46Okhhc2gs
IFVTY3JpcHRDb2RlSGFzaFRyYWl0cz4gU2NyaXB0Rm9udEZhbWlseU1hcDsKKwogICAgIGNsYXNz
IFNldHRpbmdzIHsKICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2V0dGluZ3MpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFNldHRpbmdzKFBhZ2Uq
KTsKIAotICAgICAgICB2b2lkIHNldFN0YW5kYXJkRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJp
bmcmKTsKLSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBzdGFuZGFyZEZvbnRGYW1pbHkoKSBj
b25zdCB7IHJldHVybiBtX3N0YW5kYXJkRm9udEZhbWlseTsgfQorICAgICAgICB2b2lkIHNldFN0
YW5kYXJkRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmLCBVU2NyaXB0Q29kZSA9IFVTQ1JJ
UFRfQ09NTU9OKTsKKyAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBzdGFuZGFyZEZvbnRGYW1p
bHkoVVNjcmlwdENvZGUgPSBVU0NSSVBUX0NPTU1PTikgY29uc3Q7CiAKLSAgICAgICAgdm9pZCBz
ZXRGaXhlZEZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJik7Ci0gICAgICAgIGNvbnN0IEF0
b21pY1N0cmluZyYgZml4ZWRGb250RmFtaWx5KCkgY29uc3QgeyByZXR1cm4gbV9maXhlZEZvbnRG
YW1pbHk7IH0KKyAgICAgICAgdm9pZCBzZXRGaXhlZEZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3Ry
aW5nJiwgVVNjcmlwdENvZGUgPSBVU0NSSVBUX0NPTU1PTik7CisgICAgICAgIGNvbnN0IEF0b21p
Y1N0cmluZyYgZml4ZWRGb250RmFtaWx5KFVTY3JpcHRDb2RlID0gVVNDUklQVF9DT01NT04pIGNv
bnN0OwogCi0gICAgICAgIHZvaWQgc2V0U2VyaWZGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmlu
ZyYpOwotICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHNlcmlmRm9udEZhbWlseSgpIGNvbnN0
IHsgcmV0dXJuIG1fc2VyaWZGb250RmFtaWx5OyB9CisgICAgICAgIHZvaWQgc2V0U2VyaWZGb250
RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYsIFVTY3JpcHRDb2RlID0gVVNDUklQVF9DT01NT04p
OworICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHNlcmlmRm9udEZhbWlseShVU2NyaXB0Q29k
ZSA9IFVTQ1JJUFRfQ09NTU9OKSBjb25zdDsKIAotICAgICAgICB2b2lkIHNldFNhbnNTZXJpZkZv
bnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJik7Ci0gICAgICAgIGNvbnN0IEF0b21pY1N0cmlu
ZyYgc2Fuc1NlcmlmRm9udEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fc2Fuc1NlcmlmRm9udEZh
bWlseTsgfQorICAgICAgICB2b2lkIHNldFNhbnNTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWlj
U3RyaW5nJiwgVVNjcmlwdENvZGUgPSBVU0NSSVBUX0NPTU1PTik7CisgICAgICAgIGNvbnN0IEF0
b21pY1N0cmluZyYgc2Fuc1NlcmlmRm9udEZhbWlseShVU2NyaXB0Q29kZSA9IFVTQ1JJUFRfQ09N
TU9OKSBjb25zdDsKIAotICAgICAgICB2b2lkIHNldEN1cnNpdmVGb250RmFtaWx5KGNvbnN0IEF0
b21pY1N0cmluZyYpOwotICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGN1cnNpdmVGb250RmFt
aWx5KCkgY29uc3QgeyByZXR1cm4gbV9jdXJzaXZlRm9udEZhbWlseTsgfQorICAgICAgICB2b2lk
IHNldEN1cnNpdmVGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYsIFVTY3JpcHRDb2RlID0g
VVNDUklQVF9DT01NT04pOworICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGN1cnNpdmVGb250
RmFtaWx5KFVTY3JpcHRDb2RlID0gVVNDUklQVF9DT01NT04pIGNvbnN0OwogCi0gICAgICAgIHZv
aWQgc2V0RmFudGFzeUZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJik7Ci0gICAgICAgIGNv
bnN0IEF0b21pY1N0cmluZyYgZmFudGFzeUZvbnRGYW1pbHkoKSBjb25zdCB7IHJldHVybiBtX2Zh
bnRhc3lGb250RmFtaWx5OyB9CisgICAgICAgIHZvaWQgc2V0RmFudGFzeUZvbnRGYW1pbHkoY29u
c3QgQXRvbWljU3RyaW5nJiwgVVNjcmlwdENvZGUgPSBVU0NSSVBUX0NPTU1PTik7CisgICAgICAg
IGNvbnN0IEF0b21pY1N0cmluZyYgZmFudGFzeUZvbnRGYW1pbHkoVVNjcmlwdENvZGUgPSBVU0NS
SVBUX0NPTU1PTikgY29uc3Q7CiAKICAgICAgICAgdm9pZCBzZXRNaW5pbXVtRm9udFNpemUoaW50
KTsKICAgICAgICAgaW50IG1pbmltdW1Gb250U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWluaW11
bUZvbnRTaXplOyB9CkBAIC00MjEsMTIgKzQzNSwxMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIFN0cmluZyBtX2Z0cERpcmVjdG9yeVRlbXBsYXRlUGF0aDsKICAgICAgICAgU3RyaW5n
IG1fbG9jYWxTdG9yYWdlRGF0YWJhc2VQYXRoOwogICAgICAgICBLVVJMIG1fdXNlclN0eWxlU2hl
ZXRMb2NhdGlvbjsKLSAgICAgICAgQXRvbWljU3RyaW5nIG1fc3RhbmRhcmRGb250RmFtaWx5Owot
ICAgICAgICBBdG9taWNTdHJpbmcgbV9maXhlZEZvbnRGYW1pbHk7Ci0gICAgICAgIEF0b21pY1N0
cmluZyBtX3NlcmlmRm9udEZhbWlseTsKLSAgICAgICAgQXRvbWljU3RyaW5nIG1fc2Fuc1Nlcmlm
Rm9udEZhbWlseTsKLSAgICAgICAgQXRvbWljU3RyaW5nIG1fY3Vyc2l2ZUZvbnRGYW1pbHk7Ci0g
ICAgICAgIEF0b21pY1N0cmluZyBtX2ZhbnRhc3lGb250RmFtaWx5OworICAgICAgICBTY3JpcHRG
b250RmFtaWx5TWFwIG1fc3RhbmRhcmRGb250RmFtaWx5TWFwOworICAgICAgICBTY3JpcHRGb250
RmFtaWx5TWFwIG1fc2VyaWZGb250RmFtaWx5TWFwOworICAgICAgICBTY3JpcHRGb250RmFtaWx5
TWFwIG1fZml4ZWRGb250RmFtaWx5TWFwOworICAgICAgICBTY3JpcHRGb250RmFtaWx5TWFwIG1f
c2Fuc1NlcmlmRm9udEZhbWlseU1hcDsKKyAgICAgICAgU2NyaXB0Rm9udEZhbWlseU1hcCBtX2N1
cnNpdmVGb250RmFtaWx5TWFwOworICAgICAgICBTY3JpcHRGb250RmFtaWx5TWFwIG1fZmFudGFz
eUZvbnRGYW1pbHlNYXA7CiAgICAgICAgIEVkaXRhYmxlTGlua0JlaGF2aW9yIG1fZWRpdGFibGVM
aW5rQmVoYXZpb3I7CiAgICAgICAgIFRleHREaXJlY3Rpb25TdWJtZW51SW5jbHVzaW9uQmVoYXZp
b3IgbV90ZXh0RGlyZWN0aW9uU3VibWVudUluY2x1c2lvbkJlaGF2aW9yOwogICAgICAgICBpbnQg
bV9taW5pbXVtRm9udFNpemU7Cg==
</data>
<flag name="review"
          id="92438"
          type_id="1"
          status="+"
          setter="ap"
    />
    <flag name="commit-queue"
          id="92439"
          type_id="3"
          status="-"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98318</attachid>
            <date>2011-06-23 00:42:56 -0700</date>
            <delta_ts>2011-06-23 10:26:40 -0700</delta_ts>
            <desc>final patch </desc>
            <filename>20797.patch.7f</filename>
            <type>text/plain</type>
            <size>54352</size>
            <attacher name="Jungshik Shin">jshin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODk0OTkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAK
KzIwMTEtMDYtMjIgIEp1bmdzaGlrIFNoaW4gIDxqc2hpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIFNjcmlwdENvZGVz
RnJvbUlDVS5oIHRvIHd0Zi91bmljb2RlIGFuZCBtYWtlIG5lY2Vzc2FyeSBjaGFuZ2VzIGluCisg
ICAgICAgIGJ1aWxkIGZpbGVzIGZvciBwb3J0cyBub3QgdXNpbmcgSUNVLgorICAgICAgICBBZGQg
aWN1L3VuaWNvZGUvdXNjcmlwdC5oIGZvciBwb3J0cyB1c2luZyBJQ1UuIEl0J3MgdGFrZW4gZnJv
bSAKKyAgICAgICAgSUNVIDMuNiAodGhlIHZlcnNpb24gdXNlZCBvbiBNYWMgT1MgMTAuNSkKKwor
ICAgICAgICBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDc5NworCisg
ICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS5n
eXBpOgorICAgICAgICAqIGljdS91bmljb2RlL3VzY3JpcHQuaDogQWRkZWQgZm9yIFVTY3JpcHRD
b2RlIGVudW0uCisgICAgICAgICogd3RmL3VuaWNvZGUvU2NyaXB0Q29kZXNGcm9tSUNVLmg6IFVT
Y3JpcHRDb2RlIGVudW0gYWRkZWQuCisgICAgICAgICogd3RmL3VuaWNvZGUvaWN1L1VuaWNvZGVJ
Y3UuaDoKKyAgICAgICAgKiB3dGYvdW5pY29kZS9icmV3L1VuaWNvZGVCcmV3Lmg6CisgICAgICAg
ICogd3RmL3VuaWNvZGUvZ2xpYi9Vbmljb2RlR0xpYi5oOgorICAgICAgICAqIHd0Zi91bmljb2Rl
L3F0NC9Vbmljb2RlUXQ0Lmg6CisgICAgICAgICogd3RmL3VuaWNvZGUvd2luY2UvVW5pY29kZVdp
bkNFLmg6CisKIDIwMTEtMDYtMjIgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21h
aWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI4OTQ4OS4KSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCShyZXZpc2lvbiA4OTQ4
NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCSh3b3JraW5n
IGNvcHkpCkBAIC02MzAsNiArNjMwLDcgQEAgZW5kaWYgIyBVU0VfSUNVX1VOSUNPREUKIGlmIFVT
RV9HTElCX1VOSUNPREUKIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvdW5pY29kZS9Vbmljb2RlTWFjcm9zRnJvbUlDVS5oIFwKKwlTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvU2NyaXB0Q29kZXNGcm9tSUNVLmggXAogCVNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9nbGliL1VuaWNvZGVHTGliLmggXAogCVNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9nbGliL1VuaWNvZGVHTGliLmNwcAogZW5kaWYg
IyBVU0VfR0xJQl9VTklDT0RFCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUuZ3lwaQkocmV2aXNpb24gODk0ODUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMzY1LDYgKzM2NSw3IEBACiAgICAg
ICAgICAgICAnaWN1L3VuaWNvZGUvdW1hY2hpbmUuaCcsCiAgICAgICAgICAgICAnaWN1L3VuaWNv
ZGUvdW5vcm0uaCcsCiAgICAgICAgICAgICAnaWN1L3VuaWNvZGUvdXJlbmFtZS5oJywKKyAgICAg
ICAgICAgICdpY3UvdW5pY29kZS91c2NyaXB0LmgnLAogICAgICAgICAgICAgJ2ljdS91bmljb2Rl
L3VzZXQuaCcsCiAgICAgICAgICAgICAnaWN1L3VuaWNvZGUvdXN0cmluZy5oJywKICAgICAgICAg
ICAgICdpY3UvdW5pY29kZS91dGYuaCcsCkBAIC02NTUsNiArNjU2LDcgQEAKICAgICAgICAgICAg
ICd3dGYvdGV4dC9TdHJpbmdTdGF0aWNzLmNwcCcsCiAgICAgICAgICAgICAnd3RmL3RleHQvV1RG
U3RyaW5nLmNwcCcsCiAgICAgICAgICAgICAnd3RmL3VuaWNvZGUvQ29sbGF0b3JEZWZhdWx0LmNw
cCcsCisgICAgICAgICAgICAnd3RmL3VuaWNvZGUvU2NyaXB0Q29kZXNGcm9tSUNVLmgnLAogICAg
ICAgICAgICAgJ3d0Zi91bmljb2RlL1VURjguY3BwJywKICAgICAgICAgICAgICd3dGYvdW5pY29k
ZS9Vbmljb2RlTWFjcm9zRnJvbUlDVS5oJywKICAgICAgICAgICAgICd3dGYvdW5pY29kZS9icmV3
L1VuaWNvZGVCcmV3LmNwcCcsCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1L3VuaWNv
ZGUvdXNjcmlwdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5p
Y29kZS91c2NyaXB0LmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1
L3VuaWNvZGUvdXNjcmlwdC5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIyNCBAQAorLyoKKyoq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioKKyogICBDb3B5cmlnaHQgKEMpIDE5OTctMjAwNiwgSW50ZXJuYXRpb25hbCBC
dXNpbmVzcyBNYWNoaW5lcworKiAgIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuICBBbGwgUmlnaHRz
IFJlc2VydmVkLgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKgorKgorKiBGaWxlIFVTQ1JJUFQuSAorKgorKiBNb2Rp
ZmljYXRpb24gSGlzdG9yeToKKyoKKyogICBEYXRlICAgICAgICBOYW1lICAgICAgICBEZXNjcmlw
dGlvbgorKiAgIDA3LzA2LzIwMDEgICAgUmFtICAgICAgICAgQ3JlYXRpb24uCisqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioKKyovCisjaWZuZGVmIFVTQ1JJUFRfSAorI2RlZmluZSBVU0NSSVBUX0gKKyNp
bmNsdWRlICJ1bmljb2RlL3V0eXBlcy5oIgorCisvKioKKyAqIFxmaWxlCisgKiBcYnJpZWYgQyBB
UEk6IFVuaWNvZGUgU2NyaXB0IEluZm9ybWF0aW9uCisgKi8KKyAKKy8qKgorICogQ29uc3RhbnRz
IGZvciBJU08gMTU5MjQgc2NyaXB0IGNvZGVzLgorICoKKyAqIE1hbnkgb2YgdGhlc2Ugc2NyaXB0
IGNvZGVzIC0gdGhvc2UgZnJvbSBVbmljb2RlJ3MgU2NyaXB0TmFtZXMudHh0IC0KKyAqIGFyZSBj
aGFyYWN0ZXIgcHJvcGVydHkgdmFsdWVzIGZvciBVbmljb2RlJ3MgU2NyaXB0IHByb3BlcnR5Lgor
ICogU2VlIFVBWCAjMjQgU2NyaXB0IE5hbWVzIChodHRwOi8vd3d3LnVuaWNvZGUub3JnL3JlcG9y
dHMvdHIyNC8pLgorICoKKyAqIFN0YXJ0aW5nIHdpdGggSUNVIDMuNiwgY29uc3RhbnRzIGZvciBt
b3N0IElTTyAxNTkyNCBzY3JpcHQgY29kZXMKKyAqIGFyZSBpbmNsdWRlZCAoY3VycmVudGx5IGV4
Y2x1ZGluZyBwcml2YXRlLXVzZSBjb2RlcyBRYWFhLi5RYWJ4KS4KKyAqIEZvciBzY3JpcHRzIGZv
ciB3aGljaCB0aGVyZSBhcmUgY29kZXMgaW4gSVNPIDE1OTI0IGJ1dCB3aGljaCBhcmUgbm90Cisg
KiB1c2VkIGluIHRoZSBVbmljb2RlIENoYXJhY3RlciBEYXRhYmFzZSAoVUNEKSwgdGhlcmUgYXJl
IG5vIFVuaWNvZGUgY2hhcmFjdGVycworICogYXNzb2NpYXRlZCB3aXRoIHRob3NlIHNjcmlwdHMu
CisgKgorICogRm9yIGV4YW1wbGUsIHRoZXJlIGFyZSBubyBjaGFyYWN0ZXJzIHRoYXQgaGF2ZSBh
IFVDRCBzY3JpcHQgY29kZSBvZgorICogSGFucyBvciBIYW50LiBBbGwgSGFuIGlkZW9ncmFwaHMg
aGF2ZSB0aGUgSGFuaSBzY3JpcHQgY29kZS4KKyAqIFRoZSBIYW5zIGFuZCBIYW50IHNjcmlwdCBj
b2RlcyBhcmUgdXNlZCB3aXRoIENMRFIgZGF0YS4KKyAqCisgKiBJU08gMTU5MjQgc2NyaXB0IGNv
ZGVzIGFyZSBpbmNsdWRlZCBmb3IgdXNlIHdpdGggQ0xEUiBhbmQgc2ltaWxhci4KKyAqCisgKiBA
c3RhYmxlIElDVSAyLjIKKyAqLwordHlwZWRlZiBlbnVtIFVTY3JpcHRDb2RlIHsKKyAgICAgIFVT
Q1JJUFRfSU5WQUxJRF9DT0RFID0gLTEsCisgICAgICBVU0NSSVBUX0NPTU1PTiAgICAgICA9ICAw
ICwgLyogWnl5eSAqLworICAgICAgVVNDUklQVF9JTkhFUklURUQgICAgPSAgMSwgIC8qIFFhYWkg
Ki8KKyAgICAgIFVTQ1JJUFRfQVJBQklDICAgICAgID0gIDIsICAvKiBBcmFiICovCisgICAgICBV
U0NSSVBUX0FSTUVOSUFOICAgICA9ICAzLCAgLyogQXJtbiAqLworICAgICAgVVNDUklQVF9CRU5H
QUxJICAgICAgPSAgNCwgIC8qIEJlbmcgKi8KKyAgICAgIFVTQ1JJUFRfQk9QT01PRk8gICAgID0g
IDUsICAvKiBCb3BvICovCisgICAgICBVU0NSSVBUX0NIRVJPS0VFICAgICA9ICA2LCAgLyogQ2hl
ciAqLworICAgICAgVVNDUklQVF9DT1BUSUMgICAgICAgPSAgNywgIC8qIENvcHQgKi8KKyAgICAg
IFVTQ1JJUFRfQ1lSSUxMSUMgICAgID0gIDgsICAvKiBDeXJsICovCisgICAgICBVU0NSSVBUX0RF
U0VSRVQgICAgICA9ICA5LCAgLyogRHNydCAqLworICAgICAgVVNDUklQVF9ERVZBTkFHQVJJICAg
PSAxMCwgIC8qIERldmEgKi8KKyAgICAgIFVTQ1JJUFRfRVRISU9QSUMgICAgID0gMTEsICAvKiBF
dGhpICovCisgICAgICBVU0NSSVBUX0dFT1JHSUFOICAgICA9IDEyLCAgLyogR2VvciAqLworICAg
ICAgVVNDUklQVF9HT1RISUMgICAgICAgPSAxMywgIC8qIEdvdGggKi8KKyAgICAgIFVTQ1JJUFRf
R1JFRUsgICAgICAgID0gMTQsICAvKiBHcmVrICovCisgICAgICBVU0NSSVBUX0dVSkFSQVRJICAg
ICA9IDE1LCAgLyogR3VqciAqLworICAgICAgVVNDUklQVF9HVVJNVUtISSAgICAgPSAxNiwgIC8q
IEd1cnUgKi8KKyAgICAgIFVTQ1JJUFRfSEFOICAgICAgICAgID0gMTcsICAvKiBIYW5pICovCisg
ICAgICBVU0NSSVBUX0hBTkdVTCAgICAgICA9IDE4LCAgLyogSGFuZyAqLworICAgICAgVVNDUklQ
VF9IRUJSRVcgICAgICAgPSAxOSwgIC8qIEhlYnIgKi8KKyAgICAgIFVTQ1JJUFRfSElSQUdBTkEg
ICAgID0gMjAsICAvKiBIaXJhICovCisgICAgICBVU0NSSVBUX0tBTk5BREEgICAgICA9IDIxLCAg
LyogS25kYSAqLworICAgICAgVVNDUklQVF9LQVRBS0FOQSAgICAgPSAyMiwgIC8qIEthbmEgKi8K
KyAgICAgIFVTQ1JJUFRfS0hNRVIgICAgICAgID0gMjMsICAvKiBLaG1yICovCisgICAgICBVU0NS
SVBUX0xBTyAgICAgICAgICA9IDI0LCAgLyogTGFvbyAqLworICAgICAgVVNDUklQVF9MQVRJTiAg
ICAgICAgPSAyNSwgIC8qIExhdG4gKi8KKyAgICAgIFVTQ1JJUFRfTUFMQVlBTEFNICAgID0gMjYs
ICAvKiBNbHltICovCisgICAgICBVU0NSSVBUX01PTkdPTElBTiAgICA9IDI3LCAgLyogTW9uZyAq
LworICAgICAgVVNDUklQVF9NWUFOTUFSICAgICAgPSAyOCwgIC8qIE15bXIgKi8KKyAgICAgIFVT
Q1JJUFRfT0dIQU0gICAgICAgID0gMjksICAvKiBPZ2FtICovCisgICAgICBVU0NSSVBUX09MRF9J
VEFMSUMgICA9IDMwLCAgLyogSXRhbCAqLworICAgICAgVVNDUklQVF9PUklZQSAgICAgICAgPSAz
MSwgIC8qIE9yeWEgKi8KKyAgICAgIFVTQ1JJUFRfUlVOSUMgICAgICAgID0gMzIsICAvKiBSdW5y
ICovCisgICAgICBVU0NSSVBUX1NJTkhBTEEgICAgICA9IDMzLCAgLyogU2luaCAqLworICAgICAg
VVNDUklQVF9TWVJJQUMgICAgICAgPSAzNCwgIC8qIFN5cmMgKi8KKyAgICAgIFVTQ1JJUFRfVEFN
SUwgICAgICAgID0gMzUsICAvKiBUYW1sICovCisgICAgICBVU0NSSVBUX1RFTFVHVSAgICAgICA9
IDM2LCAgLyogVGVsdSAqLworICAgICAgVVNDUklQVF9USEFBTkEgICAgICAgPSAzNywgIC8qIFRo
YWEgKi8KKyAgICAgIFVTQ1JJUFRfVEhBSSAgICAgICAgID0gMzgsICAvKiBUaGFpICovCisgICAg
ICBVU0NSSVBUX1RJQkVUQU4gICAgICA9IDM5LCAgLyogVGlidCAqLworICAgICAgLyoqIENhbmFk
aWFuX0Fib3JpZ2luYWwgc2NyaXB0LiBAc3RhYmxlIElDVSAyLjYgKi8KKyAgICAgIFVTQ1JJUFRf
Q0FOQURJQU5fQUJPUklHSU5BTCA9IDQwLCAgLyogQ2FucyAqLworICAgICAgLyoqIENhbmFkaWFu
X0Fib3JpZ2luYWwgc2NyaXB0IChhbGlhcykuIEBzdGFibGUgSUNVIDIuMiAqLworICAgICAgVVND
UklQVF9VQ0FTICAgICAgICAgPSBVU0NSSVBUX0NBTkFESUFOX0FCT1JJR0lOQUwsCisgICAgICBV
U0NSSVBUX1lJICAgICAgICAgICA9IDQxLCAgLyogWWlpaSAqLworICAgICAgVVNDUklQVF9UQUdB
TE9HICAgICAgPSA0MiwgIC8qIFRnbGcgKi8KKyAgICAgIFVTQ1JJUFRfSEFOVU5PTyAgICAgID0g
NDMsICAvKiBIYW5vICovCisgICAgICBVU0NSSVBUX0JVSElEICAgICAgICA9IDQ0LCAgLyogQnVo
ZCAqLworICAgICAgVVNDUklQVF9UQUdCQU5XQSAgICAgPSA0NSwgIC8qIFRhZ2IgKi8KKworICAg
ICAgLyogTmV3IHNjcmlwdHMgaW4gVW5pY29kZSA0IEBzdGFibGUgSUNVIDIuNiAqLworICAgICAg
VVNDUklQVF9CUkFJTExFICAgICAgPSA0NiwgIC8qIEJyYWkgKi8KKyAgICAgIFVTQ1JJUFRfQ1lQ
UklPVCAgICAgID0gNDcsICAvKiBDcHJ0ICovCisgICAgICBVU0NSSVBUX0xJTUJVICAgICAgICA9
IDQ4LCAgLyogTGltYiAqLworICAgICAgVVNDUklQVF9MSU5FQVJfQiAgICAgPSA0OSwgIC8qIExp
bmIgKi8KKyAgICAgIFVTQ1JJUFRfT1NNQU5ZQSAgICAgID0gNTAsICAvKiBPc21hICovCisgICAg
ICBVU0NSSVBUX1NIQVZJQU4gICAgICA9IDUxLCAgLyogU2hhdyAqLworICAgICAgVVNDUklQVF9U
QUlfTEUgICAgICAgPSA1MiwgIC8qIFRhbGUgKi8KKyAgICAgIFVTQ1JJUFRfVUdBUklUSUMgICAg
ID0gNTMsICAvKiBVZ2FyICovCisKKyAgICAgIC8qKiBOZXcgc2NyaXB0IGNvZGUgaW4gVW5pY29k
ZSA0LjAuMSBAc3RhYmxlIElDVSAzLjAgKi8KKyAgICAgIFVTQ1JJUFRfS0FUQUtBTkFfT1JfSElS
QUdBTkEgPSA1NCwvKkhya3QgKi8KKyAgICAgIAorI2lmbmRlZiBVX0hJREVfRFJBRlRfQVBJCisg
ICAgICAvKiBOZXcgc2NyaXB0cyBpbiBVbmljb2RlIDQuMSBAZHJhZnQgSUNVIDMuNCAqLworICAg
ICAgVVNDUklQVF9CVUdJTkVTRSAgICAgID0gNTUsIC8qIEJ1Z2kgKi8KKyAgICAgIFVTQ1JJUFRf
R0xBR09MSVRJQyAgICA9IDU2LCAvKiBHbGFnICovCisgICAgICBVU0NSSVBUX0tIQVJPU0hUSEkg
ICAgPSA1NywgLyogS2hhciAqLworICAgICAgVVNDUklQVF9TWUxPVElfTkFHUkkgID0gNTgsIC8q
IFN5bG8gKi8KKyAgICAgIFVTQ1JJUFRfTkVXX1RBSV9MVUUgICA9IDU5LCAvKiBUYWx1ICovCisg
ICAgICBVU0NSSVBUX1RJRklOQUdIICAgICAgPSA2MCwgLyogVGZuZyAqLworICAgICAgVVNDUklQ
VF9PTERfUEVSU0lBTiAgID0gNjEsIC8qIFhwZW8gKi8KKworICAgICAgLyogTmV3IHNjcmlwdCBj
b2RlcyBmcm9tIElTTyAxNTkyNCBAZHJhZnQgSUNVIDMuNiAqLworICAgICAgVVNDUklQVF9CQUxJ
TkVTRSAgICAgICAgICAgICAgICAgICAgICA9IDYyLCAvKiBCYWxpICovCisgICAgICBVU0NSSVBU
X0JBVEFLICAgICAgICAgICAgICAgICAgICAgICAgID0gNjMsIC8qIEJhdGsgKi8KKyAgICAgIFVT
Q1JJUFRfQkxJU1NZTUJPTFMgICAgICAgICAgICAgICAgICAgPSA2NCwgLyogQmxpcyAqLworICAg
ICAgVVNDUklQVF9CUkFITUkgICAgICAgICAgICAgICAgICAgICAgICA9IDY1LCAvKiBCcmFoICov
CisgICAgICBVU0NSSVBUX0NIQU0gICAgICAgICAgICAgICAgICAgICAgICAgID0gNjYsIC8qIENo
YW0gKi8KKyAgICAgIFVTQ1JJUFRfQ0lSVEggICAgICAgICAgICAgICAgICAgICAgICAgPSA2Nywg
LyogQ2lydCAqLworICAgICAgVVNDUklQVF9PTERfQ0hVUkNIX1NMQVZPTklDX0NZUklMTElDICA9
IDY4LCAvKiBDeXJzICovCisgICAgICBVU0NSSVBUX0RFTU9USUNfRUdZUFRJQU4gICAgICAgICAg
ICAgID0gNjksIC8qIEVneWQgKi8KKyAgICAgIFVTQ1JJUFRfSElFUkFUSUNfRUdZUFRJQU4gICAg
ICAgICAgICAgPSA3MCwgLyogRWd5aCAqLworICAgICAgVVNDUklQVF9FR1lQVElBTl9ISUVST0dM
WVBIUyAgICAgICAgICA9IDcxLCAvKiBFZ3lwICovCisgICAgICBVU0NSSVBUX0tIVVRTVVJJICAg
ICAgICAgICAgICAgICAgICAgID0gNzIsIC8qIEdlb2sgKi8KKyAgICAgIFVTQ1JJUFRfU0lNUExJ
RklFRF9IQU4gICAgICAgICAgICAgICAgPSA3MywgLyogSGFucyAqLworICAgICAgVVNDUklQVF9U
UkFESVRJT05BTF9IQU4gICAgICAgICAgICAgICA9IDc0LCAvKiBIYW50ICovCisgICAgICBVU0NS
SVBUX1BBSEFXSF9ITU9ORyAgICAgICAgICAgICAgICAgID0gNzUsIC8qIEhtbmcgKi8KKyAgICAg
IFVTQ1JJUFRfT0xEX0hVTkdBUklBTiAgICAgICAgICAgICAgICAgPSA3NiwgLyogSHVuZyAqLwor
ICAgICAgVVNDUklQVF9IQVJBUFBBTl9JTkRVUyAgICAgICAgICAgICAgICA9IDc3LCAvKiBJbmRz
ICovCisgICAgICBVU0NSSVBUX0pBVkFORVNFICAgICAgICAgICAgICAgICAgICAgID0gNzgsIC8q
IEphdmEgKi8KKyAgICAgIFVTQ1JJUFRfS0FZQUhfTEkgICAgICAgICAgICAgICAgICAgICAgPSA3
OSwgLyogS2FsaSAqLworICAgICAgVVNDUklQVF9MQVRJTl9GUkFLVFVSICAgICAgICAgICAgICAg
ICA9IDgwLCAvKiBMYXRmICovCisgICAgICBVU0NSSVBUX0xBVElOX0dBRUxJQyAgICAgICAgICAg
ICAgICAgID0gODEsIC8qIExhdGcgKi8KKyAgICAgIFVTQ1JJUFRfTEVQQ0hBICAgICAgICAgICAg
ICAgICAgICAgICAgPSA4MiwgLyogTGVwYyAqLworICAgICAgVVNDUklQVF9MSU5FQVJfQSAgICAg
ICAgICAgICAgICAgICAgICA9IDgzLCAvKiBMaW5hICovCisgICAgICBVU0NSSVBUX01BTkRBRUFO
ICAgICAgICAgICAgICAgICAgICAgID0gODQsIC8qIE1hbmQgKi8KKyAgICAgIFVTQ1JJUFRfTUFZ
QU5fSElFUk9HTFlQSFMgICAgICAgICAgICAgPSA4NSwgLyogTWF5YSAqLworICAgICAgVVNDUklQ
VF9NRVJPSVRJQyAgICAgICAgICAgICAgICAgICAgICA9IDg2LCAvKiBNZXJvICovCisgICAgICBV
U0NSSVBUX05LTyAgICAgICAgICAgICAgICAgICAgICAgICAgID0gODcsIC8qIE5rb28gKi8KKyAg
ICAgIFVTQ1JJUFRfT1JLSE9OICAgICAgICAgICAgICAgICAgICAgICAgPSA4OCwgLyogT3JraCAq
LworICAgICAgVVNDUklQVF9PTERfUEVSTUlDICAgICAgICAgICAgICAgICAgICA9IDg5LCAvKiBQ
ZXJtICovCisgICAgICBVU0NSSVBUX1BIQUdTX1BBICAgICAgICAgICAgICAgICAgICAgID0gOTAs
IC8qIFBoYWcgKi8KKyAgICAgIFVTQ1JJUFRfUEhPRU5JQ0lBTiAgICAgICAgICAgICAgICAgICAg
PSA5MSwgLyogUGhueCAqLworICAgICAgVVNDUklQVF9QSE9ORVRJQ19QT0xMQVJEICAgICAgICAg
ICAgICA9IDkyLCAvKiBQbHJkICovCisgICAgICBVU0NSSVBUX1JPTkdPUk9OR08gICAgICAgICAg
ICAgICAgICAgID0gOTMsIC8qIFJvcm8gKi8KKyAgICAgIFVTQ1JJUFRfU0FSQVRJICAgICAgICAg
ICAgICAgICAgICAgICAgPSA5NCwgLyogU2FyYSAqLworICAgICAgVVNDUklQVF9FU1RSQU5HRUxP
X1NZUklBQyAgICAgICAgICAgICA9IDk1LCAvKiBTeXJlICovCisgICAgICBVU0NSSVBUX1dFU1RF
Uk5fU1lSSUFDICAgICAgICAgICAgICAgID0gOTYsIC8qIFN5cmogKi8KKyAgICAgIFVTQ1JJUFRf
RUFTVEVSTl9TWVJJQUMgICAgICAgICAgICAgICAgPSA5NywgLyogU3lybiAqLworICAgICAgVVND
UklQVF9URU5HV0FSICAgICAgICAgICAgICAgICAgICAgICA9IDk4LCAvKiBUZW5nICovCisgICAg
ICBVU0NSSVBUX1ZBSSAgICAgICAgICAgICAgICAgICAgICAgICAgID0gOTksIC8qIFZhaWkgKi8K
KyAgICAgIFVTQ1JJUFRfVklTSUJMRV9TUEVFQ0ggICAgICAgICAgICAgICAgPSAxMDAsIC8qIFZp
c3AgKi8KKyAgICAgIFVTQ1JJUFRfQ1VORUlGT1JNICAgICAgICAgICAgICAgICAgICAgPSAxMDEs
LyogWHN1eCAqLworICAgICAgVVNDUklQVF9VTldSSVRURU5fTEFOR1VBR0VTICAgICAgICAgICA9
IDEwMiwvKiBaeHh4ICovCisgICAgICBVU0NSSVBUX1VOS05PV04gICAgICAgICAgICAgICAgICAg
ICAgID0gMTAzLC8qIFp6enogKi8gLyogVW5rbm93bj0iQ29kZSBmb3IgdW5jb2RlZCBzY3JpcHQi
LCBmb3IgdW5hc3NpZ25lZCBjb2RlIHBvaW50cyAqLworICAgICAgLyogUHJpdmF0ZSB1c2UgY29k
ZXMgZnJvbSBRYWFhIC0gUWFieCBhcmUgbm90IHN1cHBvcnRlZCovCisjZW5kaWYgLyogVV9ISURF
X0RSQUZUX0FQSSAqLworICAgICAgVVNDUklQVF9DT0RFX0xJTUlUICAgID0gMTA0Cit9IFVTY3Jp
cHRDb2RlOworCisvKioKKyAqIEdldHMgc2NyaXB0IGNvZGVzIGFzc29jaWF0ZWQgd2l0aCB0aGUg
Z2l2ZW4gbG9jYWxlIG9yIElTTyAxNTkyNCBhYmJyZXZpYXRpb24gb3IgbmFtZS4gCisgKiBGaWxs
cyBpbiBVU0NSSVBUX01BTEFZQUxBTSBnaXZlbiAiTWFsYXlhbSIgT1IgIk1seW0iLgorICogRmls
bHMgaW4gVVNDUklQVF9MQVRJTiBnaXZlbiAiZW4iIE9SICJlbl9VUyIgCisgKiBJZiByZXF1aXJl
ZCBjYXBhY2l0eSBpcyBncmVhdGVyIHRoYW4gY2FwYWNpdHkgb2YgdGhlIGRlc3RpbmF0aW9uIGJ1
ZmZlciB0aGVuIHRoZSBlcnJvciBjb2RlCisgKiBpcyBzZXQgdG8gVV9CVUZGRVJfT1ZFUkZMT1df
RVJST1IgYW5kIHRoZSByZXF1aXJlZCBjYXBhY2l0eSBpcyByZXR1cm5lZAorICoKKyAqIDxwPk5v
dGU6IFRvIHNlYXJjaCBieSBzaG9ydCBvciBsb25nIHNjcmlwdCBhbGlhcyBvbmx5LCB1c2UKKyAq
IHVfZ2V0UHJvcGVydHlWYWx1ZUVudW0oVUNIQVJfU0NSSVBULCBhbGlhcykgaW5zdGVhZC4gIFRo
aXMgZG9lcworICogYSBmYXN0IGxvb2t1cCB3aXRoIG5vIGFjY2VzcyBvZiB0aGUgbG9jYWxlIGRh
dGEuCisgKiBAcGFyYW0gbmFtZU9yQWJick9yTG9jYWxlIG5hbWUgb2YgdGhlIHNjcmlwdCwgYXMg
Z2l2ZW4gaW4KKyAqIFByb3BlcnR5VmFsdWVBbGlhc2VzLnR4dCwgb3IgSVNPIDE1OTI0IGNvZGUg
b3IgbG9jYWxlCisgKiBAcGFyYW0gZmlsbEluIHRoZSBVU2NyaXB0Q29kZSBidWZmZXIgdG8gZmls
bCBpbiB0aGUgc2NyaXB0IGNvZGUKKyAqIEBwYXJhbSBjYXBhY2l0eSB0aGUgY2FwYWNpdHkgKHNp
emUpIGZvIFVTY3JpcHRDb2RlIGJ1ZmZlciBwYXNzZWQgaW4uCisgKiBAcGFyYW0gZXJyIHRoZSBl
cnJvciBzdGF0dXMgY29kZS4KKyAqIEByZXR1cm4gVGhlIG51bWJlciBvZiBzY3JpcHQgY29kZXMg
ZmlsbGVkIGluIHRoZSBidWZmZXIgcGFzc2VkIGluIAorICogQHN0YWJsZSBJQ1UgMi40CisgKi8K
K1VfU1RBQkxFIGludDMyX3QgIFVfRVhQT1JUMiAKK3VzY3JpcHRfZ2V0Q29kZShjb25zdCBjaGFy
KiBuYW1lT3JBYmJyT3JMb2NhbGUsVVNjcmlwdENvZGUqIGZpbGxJbixpbnQzMl90IGNhcGFjaXR5
LFVFcnJvckNvZGUgKmVycik7CisKKy8qKgorICogR2V0cyBhIHNjcmlwdCBuYW1lIGFzc29jaWF0
ZWQgd2l0aCB0aGUgZ2l2ZW4gc2NyaXB0IGNvZGUuIAorICogUmV0dXJucyAgIk1hbGF5YW0iIGdp
dmVuIFVTQ1JJUFRfTUFMQVlBTEFNCisgKiBAcGFyYW0gc2NyaXB0Q29kZSBVU2NyaXB0Q29kZSBl
bnVtCisgKiBAcmV0dXJuIHNjcmlwdCBsb25nIG5hbWUgYXMgZ2l2ZW4gaW4KKyAqIFByb3BlcnR5
VmFsdWVBbGlhc2VzLnR4dCwgb3IgTlVMTCBpZiBzY3JpcHRDb2RlIGlzIGludmFsaWQKKyAqIEBz
dGFibGUgSUNVIDIuNAorICovCitVX1NUQUJMRSBjb25zdCBjaGFyKiAgVV9FWFBPUlQyIAordXNj
cmlwdF9nZXROYW1lKFVTY3JpcHRDb2RlIHNjcmlwdENvZGUpOworCisvKioKKyAqIEdldHMgYSBz
Y3JpcHQgbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIHNjcmlwdCBjb2RlLiAKKyAqIFJl
dHVybnMgICJNbHltIiBnaXZlbiBVU0NSSVBUX01BTEFZQUxBTQorICogQHBhcmFtIHNjcmlwdENv
ZGUgVVNjcmlwdENvZGUgZW51bQorICogQHJldHVybiBzY3JpcHQgYWJicmV2aWF0ZWQgbmFtZSBh
cyBnaXZlbiBpbgorICogUHJvcGVydHlWYWx1ZUFsaWFzZXMudHh0LCBvciBOVUxMIGlmIHNjcmlw
dENvZGUgaXMgaW52YWxpZAorICogQHN0YWJsZSBJQ1UgMi40CisgKi8KK1VfU1RBQkxFIGNvbnN0
IGNoYXIqICBVX0VYUE9SVDIgCit1c2NyaXB0X2dldFNob3J0TmFtZShVU2NyaXB0Q29kZSBzY3Jp
cHRDb2RlKTsKKworLyoqIAorICogR2V0cyB0aGUgc2NyaXB0IGNvZGUgYXNzb2NpYXRlZCB3aXRo
IHRoZSBnaXZlbiBjb2RlcG9pbnQuCisgKiBSZXR1cm5zIFVTQ1JJUFRfTUFMQVlBTEFNIGdpdmVu
IDB4MEQwMiAKKyAqIEBwYXJhbSBjb2RlcG9pbnQgVUNoYXIzMiBjb2RlcG9pbnQKKyAqIEBwYXJh
bSBlcnIgdGhlIGVycm9yIHN0YXR1cyBjb2RlLgorICogQHJldHVybiBUaGUgVVNjcmlwdENvZGUs
IG9yIDAgaWYgY29kZXBvaW50IGlzIGludmFsaWQgCisgKiBAc3RhYmxlIElDVSAyLjQKKyAqLwor
VV9TVEFCTEUgVVNjcmlwdENvZGUgIFVfRVhQT1JUMiAKK3VzY3JpcHRfZ2V0U2NyaXB0KFVDaGFy
MzIgY29kZXBvaW50LCBVRXJyb3JDb2RlICplcnIpOworCisjZW5kaWYKKworCgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1L3VuaWNvZGUvdXNjcmlwdC5oCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKICAgKyBMRgoKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvdW5pY29kZS9TY3JpcHRDb2Rlc0Zyb21JQ1UuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvU2NyaXB0Q29kZXNGcm9tSUNVLmgJ
KHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvU2NyaXB0
Q29kZXNGcm9tSUNVLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTUzIEBACisvKgorICogICBD
b3B5cmlnaHQgKEMpIDE5OTctMjAxMCwgSW50ZXJuYXRpb25hbCBCdXNpbmVzcyBNYWNoaW5lcwor
ICogICBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqLwor
CisjaWZuZGVmIFdURl9TY3JpcHRDb2Rlc0Zyb21JQ1VfaAorI2RlZmluZSBXVEZfU2NyaXB0Q29k
ZXNGcm9tSUNVX2gKKworLyoqCisgKiBDb25zdGFudHMgZm9yIElTTyAxNTkyNCBzY3JpcHQgY29k
ZXMuCisgKgorICogTWFueSBvZiB0aGVzZSBzY3JpcHQgY29kZXMgLSB0aG9zZSBmcm9tIFVuaWNv
ZGUncyBTY3JpcHROYW1lcy50eHQgLQorICogYXJlIGNoYXJhY3RlciBwcm9wZXJ0eSB2YWx1ZXMg
Zm9yIFVuaWNvZGUncyBTY3JpcHQgcHJvcGVydHkuCisgKiBTZWUgVUFYICMyNCBTY3JpcHQgTmFt
ZXMgKGh0dHA6Ly93d3cudW5pY29kZS5vcmcvcmVwb3J0cy90cjI0LykuCisgKgorICogU3RhcnRp
bmcgd2l0aCBJQ1UgMy42LCBjb25zdGFudHMgZm9yIG1vc3QgSVNPIDE1OTI0IHNjcmlwdCBjb2Rl
cworICogYXJlIGluY2x1ZGVkIChjdXJyZW50bHkgZXhjbHVkaW5nIHByaXZhdGUtdXNlIGNvZGVz
IFFhYWEuLlFhYngpLgorICogRm9yIHNjcmlwdHMgZm9yIHdoaWNoIHRoZXJlIGFyZSBjb2RlcyBp
biBJU08gMTU5MjQgYnV0IHdoaWNoIGFyZSBub3QKKyAqIHVzZWQgaW4gdGhlIFVuaWNvZGUgQ2hh
cmFjdGVyIERhdGFiYXNlIChVQ0QpLCB0aGVyZSBhcmUgbm8gVW5pY29kZSBjaGFyYWN0ZXJzCisg
KiBhc3NvY2lhdGVkIHdpdGggdGhvc2Ugc2NyaXB0cy4KKyAqCisgKiBGb3IgZXhhbXBsZSwgdGhl
cmUgYXJlIG5vIGNoYXJhY3RlcnMgdGhhdCBoYXZlIGEgVUNEIHNjcmlwdCBjb2RlIG9mCisgKiBI
YW5zIG9yIEhhbnQuIEFsbCBIYW4gaWRlb2dyYXBocyBoYXZlIHRoZSBIYW5pIHNjcmlwdCBjb2Rl
LgorICogVGhlIEhhbnMgYW5kIEhhbnQgc2NyaXB0IGNvZGVzIGFyZSB1c2VkIHdpdGggQ0xEUiBk
YXRhLgorICoKKyAqIElTTyAxNTkyNCBzY3JpcHQgY29kZXMgYXJlIGluY2x1ZGVkIGZvciB1c2Ug
d2l0aCBDTERSIGFuZCBzaW1pbGFyLgorICoKKyAqIEBzdGFibGUgSUNVIDIuMgorICovCit0eXBl
ZGVmIGVudW0gVVNjcmlwdENvZGUgeworICAgICAgVVNDUklQVF9JTlZBTElEX0NPREUgPSAtMSwK
KyAgICAgIFVTQ1JJUFRfQ09NTU9OICAgICAgID0gIDAgLCAvKiBaeXl5ICovCisgICAgICBVU0NS
SVBUX0lOSEVSSVRFRCAgICA9ICAxLCAgLyogUWFhaSAqLworICAgICAgVVNDUklQVF9BUkFCSUMg
ICAgICAgPSAgMiwgIC8qIEFyYWIgKi8KKyAgICAgIFVTQ1JJUFRfQVJNRU5JQU4gICAgID0gIDMs
ICAvKiBBcm1uICovCisgICAgICBVU0NSSVBUX0JFTkdBTEkgICAgICA9ICA0LCAgLyogQmVuZyAq
LworICAgICAgVVNDUklQVF9CT1BPTU9GTyAgICAgPSAgNSwgIC8qIEJvcG8gKi8KKyAgICAgIFVT
Q1JJUFRfQ0hFUk9LRUUgICAgID0gIDYsICAvKiBDaGVyICovCisgICAgICBVU0NSSVBUX0NPUFRJ
QyAgICAgICA9ICA3LCAgLyogQ29wdCAqLworICAgICAgVVNDUklQVF9DWVJJTExJQyAgICAgPSAg
OCwgIC8qIEN5cmwgKi8KKyAgICAgIFVTQ1JJUFRfREVTRVJFVCAgICAgID0gIDksICAvKiBEc3J0
ICovCisgICAgICBVU0NSSVBUX0RFVkFOQUdBUkkgICA9IDEwLCAgLyogRGV2YSAqLworICAgICAg
VVNDUklQVF9FVEhJT1BJQyAgICAgPSAxMSwgIC8qIEV0aGkgKi8KKyAgICAgIFVTQ1JJUFRfR0VP
UkdJQU4gICAgID0gMTIsICAvKiBHZW9yICovCisgICAgICBVU0NSSVBUX0dPVEhJQyAgICAgICA9
IDEzLCAgLyogR290aCAqLworICAgICAgVVNDUklQVF9HUkVFSyAgICAgICAgPSAxNCwgIC8qIEdy
ZWsgKi8KKyAgICAgIFVTQ1JJUFRfR1VKQVJBVEkgICAgID0gMTUsICAvKiBHdWpyICovCisgICAg
ICBVU0NSSVBUX0dVUk1VS0hJICAgICA9IDE2LCAgLyogR3VydSAqLworICAgICAgVVNDUklQVF9I
QU4gICAgICAgICAgPSAxNywgIC8qIEhhbmkgKi8KKyAgICAgIFVTQ1JJUFRfSEFOR1VMICAgICAg
ID0gMTgsICAvKiBIYW5nICovCisgICAgICBVU0NSSVBUX0hFQlJFVyAgICAgICA9IDE5LCAgLyog
SGViciAqLworICAgICAgVVNDUklQVF9ISVJBR0FOQSAgICAgPSAyMCwgIC8qIEhpcmEgKi8KKyAg
ICAgIFVTQ1JJUFRfS0FOTkFEQSAgICAgID0gMjEsICAvKiBLbmRhICovCisgICAgICBVU0NSSVBU
X0tBVEFLQU5BICAgICA9IDIyLCAgLyogS2FuYSAqLworICAgICAgVVNDUklQVF9LSE1FUiAgICAg
ICAgPSAyMywgIC8qIEtobXIgKi8KKyAgICAgIFVTQ1JJUFRfTEFPICAgICAgICAgID0gMjQsICAv
KiBMYW9vICovCisgICAgICBVU0NSSVBUX0xBVElOICAgICAgICA9IDI1LCAgLyogTGF0biAqLwor
ICAgICAgVVNDUklQVF9NQUxBWUFMQU0gICAgPSAyNiwgIC8qIE1seW0gKi8KKyAgICAgIFVTQ1JJ
UFRfTU9OR09MSUFOICAgID0gMjcsICAvKiBNb25nICovCisgICAgICBVU0NSSVBUX01ZQU5NQVIg
ICAgICA9IDI4LCAgLyogTXltciAqLworICAgICAgVVNDUklQVF9PR0hBTSAgICAgICAgPSAyOSwg
IC8qIE9nYW0gKi8KKyAgICAgIFVTQ1JJUFRfT0xEX0lUQUxJQyAgID0gMzAsICAvKiBJdGFsICov
CisgICAgICBVU0NSSVBUX09SSVlBICAgICAgICA9IDMxLCAgLyogT3J5YSAqLworICAgICAgVVND
UklQVF9SVU5JQyAgICAgICAgPSAzMiwgIC8qIFJ1bnIgKi8KKyAgICAgIFVTQ1JJUFRfU0lOSEFM
QSAgICAgID0gMzMsICAvKiBTaW5oICovCisgICAgICBVU0NSSVBUX1NZUklBQyAgICAgICA9IDM0
LCAgLyogU3lyYyAqLworICAgICAgVVNDUklQVF9UQU1JTCAgICAgICAgPSAzNSwgIC8qIFRhbWwg
Ki8KKyAgICAgIFVTQ1JJUFRfVEVMVUdVICAgICAgID0gMzYsICAvKiBUZWx1ICovCisgICAgICBV
U0NSSVBUX1RIQUFOQSAgICAgICA9IDM3LCAgLyogVGhhYSAqLworICAgICAgVVNDUklQVF9USEFJ
ICAgICAgICAgPSAzOCwgIC8qIFRoYWkgKi8KKyAgICAgIFVTQ1JJUFRfVElCRVRBTiAgICAgID0g
MzksICAvKiBUaWJ0ICovCisgICAgICAvKiogQ2FuYWRpYW5fQWJvcmlnaW5hbCBzY3JpcHQuIEBz
dGFibGUgSUNVIDIuNiAqLworICAgICAgVVNDUklQVF9DQU5BRElBTl9BQk9SSUdJTkFMID0gNDAs
ICAvKiBDYW5zICovCisgICAgICAvKiogQ2FuYWRpYW5fQWJvcmlnaW5hbCBzY3JpcHQgKGFsaWFz
KS4gQHN0YWJsZSBJQ1UgMi4yICovCisgICAgICBVU0NSSVBUX1VDQVMgICAgICAgICA9IFVTQ1JJ
UFRfQ0FOQURJQU5fQUJPUklHSU5BTCwKKyAgICAgIFVTQ1JJUFRfWUkgICAgICAgICAgID0gNDEs
ICAvKiBZaWlpICovCisgICAgICBVU0NSSVBUX1RBR0FMT0cgICAgICA9IDQyLCAgLyogVGdsZyAq
LworICAgICAgVVNDUklQVF9IQU5VTk9PICAgICAgPSA0MywgIC8qIEhhbm8gKi8KKyAgICAgIFVT
Q1JJUFRfQlVISUQgICAgICAgID0gNDQsICAvKiBCdWhkICovCisgICAgICBVU0NSSVBUX1RBR0JB
TldBICAgICA9IDQ1LCAgLyogVGFnYiAqLworCisgICAgICAvKiBOZXcgc2NyaXB0cyBpbiBVbmlj
b2RlIDQgQHN0YWJsZSBJQ1UgMi42ICovCisgICAgICBVU0NSSVBUX0JSQUlMTEUgICAgICA9IDQ2
LCAgLyogQnJhaSAqLworICAgICAgVVNDUklQVF9DWVBSSU9UICAgICAgPSA0NywgIC8qIENwcnQg
Ki8KKyAgICAgIFVTQ1JJUFRfTElNQlUgICAgICAgID0gNDgsICAvKiBMaW1iICovCisgICAgICBV
U0NSSVBUX0xJTkVBUl9CICAgICA9IDQ5LCAgLyogTGluYiAqLworICAgICAgVVNDUklQVF9PU01B
TllBICAgICAgPSA1MCwgIC8qIE9zbWEgKi8KKyAgICAgIFVTQ1JJUFRfU0hBVklBTiAgICAgID0g
NTEsICAvKiBTaGF3ICovCisgICAgICBVU0NSSVBUX1RBSV9MRSAgICAgICA9IDUyLCAgLyogVGFs
ZSAqLworICAgICAgVVNDUklQVF9VR0FSSVRJQyAgICAgPSA1MywgIC8qIFVnYXIgKi8KKworICAg
ICAgLyoqIE5ldyBzY3JpcHQgY29kZSBpbiBVbmljb2RlIDQuMC4xIEBzdGFibGUgSUNVIDMuMCAq
LworICAgICAgVVNDUklQVF9LQVRBS0FOQV9PUl9ISVJBR0FOQSA9IDU0LC8qSHJrdCAqLworICAg
ICAgCisjaWZuZGVmIFVfSElERV9EUkFGVF9BUEkKKyAgICAgIC8qIE5ldyBzY3JpcHRzIGluIFVu
aWNvZGUgNC4xIEBkcmFmdCBJQ1UgMy40ICovCisgICAgICBVU0NSSVBUX0JVR0lORVNFICAgICAg
PSA1NSwgLyogQnVnaSAqLworICAgICAgVVNDUklQVF9HTEFHT0xJVElDICAgID0gNTYsIC8qIEds
YWcgKi8KKyAgICAgIFVTQ1JJUFRfS0hBUk9TSFRISSAgICA9IDU3LCAvKiBLaGFyICovCisgICAg
ICBVU0NSSVBUX1NZTE9USV9OQUdSSSAgPSA1OCwgLyogU3lsbyAqLworICAgICAgVVNDUklQVF9O
RVdfVEFJX0xVRSAgID0gNTksIC8qIFRhbHUgKi8KKyAgICAgIFVTQ1JJUFRfVElGSU5BR0ggICAg
ICA9IDYwLCAvKiBUZm5nICovCisgICAgICBVU0NSSVBUX09MRF9QRVJTSUFOICAgPSA2MSwgLyog
WHBlbyAqLworCisgICAgICAvKiBOZXcgc2NyaXB0IGNvZGVzIGZyb20gSVNPIDE1OTI0IEBkcmFm
dCBJQ1UgMy42ICovCisgICAgICBVU0NSSVBUX0JBTElORVNFICAgICAgICAgICAgICAgICAgICAg
ID0gNjIsIC8qIEJhbGkgKi8KKyAgICAgIFVTQ1JJUFRfQkFUQUsgICAgICAgICAgICAgICAgICAg
ICAgICAgPSA2MywgLyogQmF0ayAqLworICAgICAgVVNDUklQVF9CTElTU1lNQk9MUyAgICAgICAg
ICAgICAgICAgICA9IDY0LCAvKiBCbGlzICovCisgICAgICBVU0NSSVBUX0JSQUhNSSAgICAgICAg
ICAgICAgICAgICAgICAgID0gNjUsIC8qIEJyYWggKi8KKyAgICAgIFVTQ1JJUFRfQ0hBTSAgICAg
ICAgICAgICAgICAgICAgICAgICAgPSA2NiwgLyogQ2hhbSAqLworICAgICAgVVNDUklQVF9DSVJU
SCAgICAgICAgICAgICAgICAgICAgICAgICA9IDY3LCAvKiBDaXJ0ICovCisgICAgICBVU0NSSVBU
X09MRF9DSFVSQ0hfU0xBVk9OSUNfQ1lSSUxMSUMgID0gNjgsIC8qIEN5cnMgKi8KKyAgICAgIFVT
Q1JJUFRfREVNT1RJQ19FR1lQVElBTiAgICAgICAgICAgICAgPSA2OSwgLyogRWd5ZCAqLworICAg
ICAgVVNDUklQVF9ISUVSQVRJQ19FR1lQVElBTiAgICAgICAgICAgICA9IDcwLCAvKiBFZ3loICov
CisgICAgICBVU0NSSVBUX0VHWVBUSUFOX0hJRVJPR0xZUEhTICAgICAgICAgID0gNzEsIC8qIEVn
eXAgKi8KKyAgICAgIFVTQ1JJUFRfS0hVVFNVUkkgICAgICAgICAgICAgICAgICAgICAgPSA3Miwg
LyogR2VvayAqLworICAgICAgVVNDUklQVF9TSU1QTElGSUVEX0hBTiAgICAgICAgICAgICAgICA9
IDczLCAvKiBIYW5zICovCisgICAgICBVU0NSSVBUX1RSQURJVElPTkFMX0hBTiAgICAgICAgICAg
ICAgID0gNzQsIC8qIEhhbnQgKi8KKyAgICAgIFVTQ1JJUFRfUEFIQVdIX0hNT05HICAgICAgICAg
ICAgICAgICAgPSA3NSwgLyogSG1uZyAqLworICAgICAgVVNDUklQVF9PTERfSFVOR0FSSUFOICAg
ICAgICAgICAgICAgICA9IDc2LCAvKiBIdW5nICovCisgICAgICBVU0NSSVBUX0hBUkFQUEFOX0lO
RFVTICAgICAgICAgICAgICAgID0gNzcsIC8qIEluZHMgKi8KKyAgICAgIFVTQ1JJUFRfSkFWQU5F
U0UgICAgICAgICAgICAgICAgICAgICAgPSA3OCwgLyogSmF2YSAqLworICAgICAgVVNDUklQVF9L
QVlBSF9MSSAgICAgICAgICAgICAgICAgICAgICA9IDc5LCAvKiBLYWxpICovCisgICAgICBVU0NS
SVBUX0xBVElOX0ZSQUtUVVIgICAgICAgICAgICAgICAgID0gODAsIC8qIExhdGYgKi8KKyAgICAg
IFVTQ1JJUFRfTEFUSU5fR0FFTElDICAgICAgICAgICAgICAgICAgPSA4MSwgLyogTGF0ZyAqLwor
ICAgICAgVVNDUklQVF9MRVBDSEEgICAgICAgICAgICAgICAgICAgICAgICA9IDgyLCAvKiBMZXBj
ICovCisgICAgICBVU0NSSVBUX0xJTkVBUl9BICAgICAgICAgICAgICAgICAgICAgID0gODMsIC8q
IExpbmEgKi8KKyAgICAgIFVTQ1JJUFRfTUFOREFFQU4gICAgICAgICAgICAgICAgICAgICAgPSA4
NCwgLyogTWFuZCAqLworICAgICAgVVNDUklQVF9NQVlBTl9ISUVST0dMWVBIUyAgICAgICAgICAg
ICA9IDg1LCAvKiBNYXlhICovCisgICAgICBVU0NSSVBUX01FUk9JVElDICAgICAgICAgICAgICAg
ICAgICAgID0gODYsIC8qIE1lcm8gKi8KKyAgICAgIFVTQ1JJUFRfTktPICAgICAgICAgICAgICAg
ICAgICAgICAgICAgPSA4NywgLyogTmtvbyAqLworICAgICAgVVNDUklQVF9PUktIT04gICAgICAg
ICAgICAgICAgICAgICAgICA9IDg4LCAvKiBPcmtoICovCisgICAgICBVU0NSSVBUX09MRF9QRVJN
SUMgICAgICAgICAgICAgICAgICAgID0gODksIC8qIFBlcm0gKi8KKyAgICAgIFVTQ1JJUFRfUEhB
R1NfUEEgICAgICAgICAgICAgICAgICAgICAgPSA5MCwgLyogUGhhZyAqLworICAgICAgVVNDUklQ
VF9QSE9FTklDSUFOICAgICAgICAgICAgICAgICAgICA9IDkxLCAvKiBQaG54ICovCisgICAgICBV
U0NSSVBUX1BIT05FVElDX1BPTExBUkQgICAgICAgICAgICAgID0gOTIsIC8qIFBscmQgKi8KKyAg
ICAgIFVTQ1JJUFRfUk9OR09ST05HTyAgICAgICAgICAgICAgICAgICAgPSA5MywgLyogUm9ybyAq
LworICAgICAgVVNDUklQVF9TQVJBVEkgICAgICAgICAgICAgICAgICAgICAgICA9IDk0LCAvKiBT
YXJhICovCisgICAgICBVU0NSSVBUX0VTVFJBTkdFTE9fU1lSSUFDICAgICAgICAgICAgID0gOTUs
IC8qIFN5cmUgKi8KKyAgICAgIFVTQ1JJUFRfV0VTVEVSTl9TWVJJQUMgICAgICAgICAgICAgICAg
PSA5NiwgLyogU3lyaiAqLworICAgICAgVVNDUklQVF9FQVNURVJOX1NZUklBQyAgICAgICAgICAg
ICAgICA9IDk3LCAvKiBTeXJuICovCisgICAgICBVU0NSSVBUX1RFTkdXQVIgICAgICAgICAgICAg
ICAgICAgICAgID0gOTgsIC8qIFRlbmcgKi8KKyAgICAgIFVTQ1JJUFRfVkFJICAgICAgICAgICAg
ICAgICAgICAgICAgICAgPSA5OSwgLyogVmFpaSAqLworICAgICAgVVNDUklQVF9WSVNJQkxFX1NQ
RUVDSCAgICAgICAgICAgICAgICA9IDEwMCwgLyogVmlzcCAqLworICAgICAgVVNDUklQVF9DVU5F
SUZPUk0gICAgICAgICAgICAgICAgICAgICA9IDEwMSwvKiBYc3V4ICovCisgICAgICBVU0NSSVBU
X1VOV1JJVFRFTl9MQU5HVUFHRVMgICAgICAgICAgID0gMTAyLC8qIFp4eHggKi8KKyAgICAgIFVT
Q1JJUFRfVU5LTk9XTiAgICAgICAgICAgICAgICAgICAgICAgPSAxMDMsLyogWnp6eiAqLyAvKiBV
bmtub3duPSJDb2RlIGZvciB1bmNvZGVkIHNjcmlwdCIsIGZvciB1bmFzc2lnbmVkIGNvZGUgcG9p
bnRzICovCisgICAgICAvKiBQcml2YXRlIHVzZSBjb2RlcyBmcm9tIFFhYWEgLSBRYWJ4IGFyZSBu
b3Qgc3VwcG9ydGVkKi8KKyNlbmRpZiAvKiBVX0hJREVfRFJBRlRfQVBJICovCisgICAgICBVU0NS
SVBUX0NPREVfTElNSVQgICAgPSAxMDQKK30gVVNjcmlwdENvZGU7CisKKyNlbmRpZgoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1NjcmlwdENv
ZGVzRnJvbUlDVS5oCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKICAgKyBMRgoKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9icmV3L1VuaWNvZGVCcmV3LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL2JyZXcvVW5p
Y29kZUJyZXcuaAkocmV2aXNpb24gODk0ODUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3Rm
L3VuaWNvZGUvYnJldy9Vbmljb2RlQnJldy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw2ICsyNSw3
IEBACiAjaWZuZGVmIFVuaWNvZGVCcmV3X2gKICNkZWZpbmUgVW5pY29kZUJyZXdfaAogCisjaW5j
bHVkZSAiU2NyaXB0Q29kZXNGcm9tSUNVLmgiCiAjaW5jbHVkZSAiVW5pY29kZUZyb21JQ1UuaCIK
ICNpbmNsdWRlICJVbmljb2RlTWFjcm9zRnJvbUlDVS5oIgogCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL3VuaWNvZGUvZ2xpYi9Vbmljb2RlR0xpYi5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9nbGliL1VuaWNvZGVHTGliLmgJKHJldmlz
aW9uIDg5NDg1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL2dsaWIvVW5p
Y29kZUdMaWIuaAkod29ya2luZyBjb3B5KQpAQCAtMjUsOCArMjUsOSBAQAogI2lmbmRlZiBVbmlj
b2RlR0xpYl9oCiAjZGVmaW5lIFVuaWNvZGVHTGliX2gKIAotI2luY2x1ZGUgIlVuaWNvZGVNYWNy
b3NGcm9tSUNVLmgiCiAjaW5jbHVkZSAiR093blB0ci5oIgorI2luY2x1ZGUgIlNjcmlwdENvZGVz
RnJvbUlDVS5oIgorI2luY2x1ZGUgIlVuaWNvZGVNYWNyb3NGcm9tSUNVLmgiCiAKICNpbmNsdWRl
IDxnbGliLmg+CiAjaW5jbHVkZSA8cGFuZ28vcGFuZ28uaD4KSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvdW5pY29kZS9pY3UvVW5pY29kZUljdS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9pY3UvVW5pY29kZUljdS5oCShyZXZpc2lvbiA4
OTQ4NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9pY3UvVW5pY29kZUlj
dS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw2ICsyNSw3IEBACiAKICNpbmNsdWRlIDxzdGRsaWIu
aD4KICNpbmNsdWRlIDx1bmljb2RlL3VjaGFyLmg+CisjaW5jbHVkZSA8dW5pY29kZS91c2NyaXB0
Lmg+CiAjaW5jbHVkZSA8dW5pY29kZS91c3RyaW5nLmg+CiAjaW5jbHVkZSA8dW5pY29kZS91dGYx
Ni5oPgogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvcXQ0L1VuaWNv
ZGVRdDQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUv
cXQ0L1VuaWNvZGVRdDQuaAkocmV2aXNpb24gODk0ODUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL3VuaWNvZGUvcXQ0L1VuaWNvZGVRdDQuaAkod29ya2luZyBjb3B5KQpAQCAtMjMsNiAr
MjMsNyBAQAogI2lmbmRlZiBXVEZfVU5JQ09ERV9RVDRfSAogI2RlZmluZSBXVEZfVU5JQ09ERV9R
VDRfSAogCisjaW5jbHVkZSAiU2NyaXB0Q29kZXNGcm9tSUNVLmgiCiAjaW5jbHVkZSAiVW5pY29k
ZU1hY3Jvc0Zyb21JQ1UuaCIKIAogI2luY2x1ZGUgPFFDaGFyPgpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi91bmljb2RlL3dpbmNlL1VuaWNvZGVXaW5DRS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS93aW5jZS9Vbmljb2RlV2luQ0UuaAko
cmV2aXNpb24gODk0ODUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvd2lu
Y2UvVW5pY29kZVdpbkNFLmgJKHdvcmtpbmcgY29weSkKQEAgLTI0LDYgKzI0LDcgQEAKICNpZm5k
ZWYgV1RGX1VuaWNvZGVXaW5DRV9oCiAjZGVmaW5lIFdURl9Vbmljb2RlV2luQ0VfaAogCisjaW5j
bHVkZSAiU2NyaXB0Q29kZXNGcm9tSUNVLmgiCiAjaW5jbHVkZSAiVW5pY29kZU1hY3Jvc0Zyb21J
Q1UuaCIKIAogI2luY2x1ZGUgImNlX3VuaWNvZGUuaCIKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
R2x1ZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRHbHVlL0NoYW5n
ZUxvZwkocmV2aXNpb24gODk0ODUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdEdsdWUvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDYtMjEgIEp1bmdzaGlrIFNo
aW4gIDxqc2hpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIHVzY3JpcHQuaCB0byBpY3UvdW5pY29kZSB0byBnZXQgSmF2
YVNjcmlwdEdsdWUgZ2V0IGJ1aWx0LiBUaGUgc2FtZQorICAgICAgICBmaWxlIHdhcyBhZGRlZCB0
byBKYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS4KKworICAgICAgICBodHRwOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDc5NworCisgICAgICAgICogaWN1L3VuaWNvZGUvdXNj
cmlwdC5oOiBBZGRlZC4KKwogMjAxMS0wNS0xNiAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBw
bGUuY29tPgogCiAgICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzYwOTEzPiBDKysgZXhjZXB0
aW9ucyBzaG91bGQgbm90IGJlIGVuYWJsZWQgd2hlbiBidWlsZGluZyB3aXRoIGxsdm0tZ2NjLTQu
MgpJbmRleDogU291cmNlL0phdmFTY3JpcHRHbHVlL2ljdS91bmljb2RlL3VzY3JpcHQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdEdsdWUvaWN1L3VuaWNvZGUvdXNjcmlwdC5oCShy
ZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRHbHVlL2ljdS91bmljb2RlL3VzY3JpcHQu
aAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMjQgQEAKKy8qCisqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqICAg
Q29weXJpZ2h0IChDKSAxOTk3LTIwMDYsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMK
KyogICBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioKKyoKKyogRmlsZSBVU0NSSVBULkgKKyoKKyogTW9kaWZpY2F0aW9uIEhpc3Rvcnk6
CisqCisqICAgRGF0ZSAgICAgICAgTmFtZSAgICAgICAgRGVzY3JpcHRpb24KKyogICAwNy8wNi8y
MDAxICAgIFJhbSAgICAgICAgIENyZWF0aW9uLgorKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqLwor
I2lmbmRlZiBVU0NSSVBUX0gKKyNkZWZpbmUgVVNDUklQVF9ICisjaW5jbHVkZSAidW5pY29kZS91
dHlwZXMuaCIKKworLyoqCisgKiBcZmlsZQorICogXGJyaWVmIEMgQVBJOiBVbmljb2RlIFNjcmlw
dCBJbmZvcm1hdGlvbgorICovCisgCisvKioKKyAqIENvbnN0YW50cyBmb3IgSVNPIDE1OTI0IHNj
cmlwdCBjb2Rlcy4KKyAqCisgKiBNYW55IG9mIHRoZXNlIHNjcmlwdCBjb2RlcyAtIHRob3NlIGZy
b20gVW5pY29kZSdzIFNjcmlwdE5hbWVzLnR4dCAtCisgKiBhcmUgY2hhcmFjdGVyIHByb3BlcnR5
IHZhbHVlcyBmb3IgVW5pY29kZSdzIFNjcmlwdCBwcm9wZXJ0eS4KKyAqIFNlZSBVQVggIzI0IFNj
cmlwdCBOYW1lcyAoaHR0cDovL3d3dy51bmljb2RlLm9yZy9yZXBvcnRzL3RyMjQvKS4KKyAqCisg
KiBTdGFydGluZyB3aXRoIElDVSAzLjYsIGNvbnN0YW50cyBmb3IgbW9zdCBJU08gMTU5MjQgc2Ny
aXB0IGNvZGVzCisgKiBhcmUgaW5jbHVkZWQgKGN1cnJlbnRseSBleGNsdWRpbmcgcHJpdmF0ZS11
c2UgY29kZXMgUWFhYS4uUWFieCkuCisgKiBGb3Igc2NyaXB0cyBmb3Igd2hpY2ggdGhlcmUgYXJl
IGNvZGVzIGluIElTTyAxNTkyNCBidXQgd2hpY2ggYXJlIG5vdAorICogdXNlZCBpbiB0aGUgVW5p
Y29kZSBDaGFyYWN0ZXIgRGF0YWJhc2UgKFVDRCksIHRoZXJlIGFyZSBubyBVbmljb2RlIGNoYXJh
Y3RlcnMKKyAqIGFzc29jaWF0ZWQgd2l0aCB0aG9zZSBzY3JpcHRzLgorICoKKyAqIEZvciBleGFt
cGxlLCB0aGVyZSBhcmUgbm8gY2hhcmFjdGVycyB0aGF0IGhhdmUgYSBVQ0Qgc2NyaXB0IGNvZGUg
b2YKKyAqIEhhbnMgb3IgSGFudC4gQWxsIEhhbiBpZGVvZ3JhcGhzIGhhdmUgdGhlIEhhbmkgc2Ny
aXB0IGNvZGUuCisgKiBUaGUgSGFucyBhbmQgSGFudCBzY3JpcHQgY29kZXMgYXJlIHVzZWQgd2l0
aCBDTERSIGRhdGEuCisgKgorICogSVNPIDE1OTI0IHNjcmlwdCBjb2RlcyBhcmUgaW5jbHVkZWQg
Zm9yIHVzZSB3aXRoIENMRFIgYW5kIHNpbWlsYXIuCisgKgorICogQHN0YWJsZSBJQ1UgMi4yCisg
Ki8KK3R5cGVkZWYgZW51bSBVU2NyaXB0Q29kZSB7CisgICAgICBVU0NSSVBUX0lOVkFMSURfQ09E
RSA9IC0xLAorICAgICAgVVNDUklQVF9DT01NT04gICAgICAgPSAgMCAsIC8qIFp5eXkgKi8KKyAg
ICAgIFVTQ1JJUFRfSU5IRVJJVEVEICAgID0gIDEsICAvKiBRYWFpICovCisgICAgICBVU0NSSVBU
X0FSQUJJQyAgICAgICA9ICAyLCAgLyogQXJhYiAqLworICAgICAgVVNDUklQVF9BUk1FTklBTiAg
ICAgPSAgMywgIC8qIEFybW4gKi8KKyAgICAgIFVTQ1JJUFRfQkVOR0FMSSAgICAgID0gIDQsICAv
KiBCZW5nICovCisgICAgICBVU0NSSVBUX0JPUE9NT0ZPICAgICA9ICA1LCAgLyogQm9wbyAqLwor
ICAgICAgVVNDUklQVF9DSEVST0tFRSAgICAgPSAgNiwgIC8qIENoZXIgKi8KKyAgICAgIFVTQ1JJ
UFRfQ09QVElDICAgICAgID0gIDcsICAvKiBDb3B0ICovCisgICAgICBVU0NSSVBUX0NZUklMTElD
ICAgICA9ICA4LCAgLyogQ3lybCAqLworICAgICAgVVNDUklQVF9ERVNFUkVUICAgICAgPSAgOSwg
IC8qIERzcnQgKi8KKyAgICAgIFVTQ1JJUFRfREVWQU5BR0FSSSAgID0gMTAsICAvKiBEZXZhICov
CisgICAgICBVU0NSSVBUX0VUSElPUElDICAgICA9IDExLCAgLyogRXRoaSAqLworICAgICAgVVND
UklQVF9HRU9SR0lBTiAgICAgPSAxMiwgIC8qIEdlb3IgKi8KKyAgICAgIFVTQ1JJUFRfR09USElD
ICAgICAgID0gMTMsICAvKiBHb3RoICovCisgICAgICBVU0NSSVBUX0dSRUVLICAgICAgICA9IDE0
LCAgLyogR3JlayAqLworICAgICAgVVNDUklQVF9HVUpBUkFUSSAgICAgPSAxNSwgIC8qIEd1anIg
Ki8KKyAgICAgIFVTQ1JJUFRfR1VSTVVLSEkgICAgID0gMTYsICAvKiBHdXJ1ICovCisgICAgICBV
U0NSSVBUX0hBTiAgICAgICAgICA9IDE3LCAgLyogSGFuaSAqLworICAgICAgVVNDUklQVF9IQU5H
VUwgICAgICAgPSAxOCwgIC8qIEhhbmcgKi8KKyAgICAgIFVTQ1JJUFRfSEVCUkVXICAgICAgID0g
MTksICAvKiBIZWJyICovCisgICAgICBVU0NSSVBUX0hJUkFHQU5BICAgICA9IDIwLCAgLyogSGly
YSAqLworICAgICAgVVNDUklQVF9LQU5OQURBICAgICAgPSAyMSwgIC8qIEtuZGEgKi8KKyAgICAg
IFVTQ1JJUFRfS0FUQUtBTkEgICAgID0gMjIsICAvKiBLYW5hICovCisgICAgICBVU0NSSVBUX0tI
TUVSICAgICAgICA9IDIzLCAgLyogS2htciAqLworICAgICAgVVNDUklQVF9MQU8gICAgICAgICAg
PSAyNCwgIC8qIExhb28gKi8KKyAgICAgIFVTQ1JJUFRfTEFUSU4gICAgICAgID0gMjUsICAvKiBM
YXRuICovCisgICAgICBVU0NSSVBUX01BTEFZQUxBTSAgICA9IDI2LCAgLyogTWx5bSAqLworICAg
ICAgVVNDUklQVF9NT05HT0xJQU4gICAgPSAyNywgIC8qIE1vbmcgKi8KKyAgICAgIFVTQ1JJUFRf
TVlBTk1BUiAgICAgID0gMjgsICAvKiBNeW1yICovCisgICAgICBVU0NSSVBUX09HSEFNICAgICAg
ICA9IDI5LCAgLyogT2dhbSAqLworICAgICAgVVNDUklQVF9PTERfSVRBTElDICAgPSAzMCwgIC8q
IEl0YWwgKi8KKyAgICAgIFVTQ1JJUFRfT1JJWUEgICAgICAgID0gMzEsICAvKiBPcnlhICovCisg
ICAgICBVU0NSSVBUX1JVTklDICAgICAgICA9IDMyLCAgLyogUnVuciAqLworICAgICAgVVNDUklQ
VF9TSU5IQUxBICAgICAgPSAzMywgIC8qIFNpbmggKi8KKyAgICAgIFVTQ1JJUFRfU1lSSUFDICAg
ICAgID0gMzQsICAvKiBTeXJjICovCisgICAgICBVU0NSSVBUX1RBTUlMICAgICAgICA9IDM1LCAg
LyogVGFtbCAqLworICAgICAgVVNDUklQVF9URUxVR1UgICAgICAgPSAzNiwgIC8qIFRlbHUgKi8K
KyAgICAgIFVTQ1JJUFRfVEhBQU5BICAgICAgID0gMzcsICAvKiBUaGFhICovCisgICAgICBVU0NS
SVBUX1RIQUkgICAgICAgICA9IDM4LCAgLyogVGhhaSAqLworICAgICAgVVNDUklQVF9USUJFVEFO
ICAgICAgPSAzOSwgIC8qIFRpYnQgKi8KKyAgICAgIC8qKiBDYW5hZGlhbl9BYm9yaWdpbmFsIHNj
cmlwdC4gQHN0YWJsZSBJQ1UgMi42ICovCisgICAgICBVU0NSSVBUX0NBTkFESUFOX0FCT1JJR0lO
QUwgPSA0MCwgIC8qIENhbnMgKi8KKyAgICAgIC8qKiBDYW5hZGlhbl9BYm9yaWdpbmFsIHNjcmlw
dCAoYWxpYXMpLiBAc3RhYmxlIElDVSAyLjIgKi8KKyAgICAgIFVTQ1JJUFRfVUNBUyAgICAgICAg
ID0gVVNDUklQVF9DQU5BRElBTl9BQk9SSUdJTkFMLAorICAgICAgVVNDUklQVF9ZSSAgICAgICAg
ICAgPSA0MSwgIC8qIFlpaWkgKi8KKyAgICAgIFVTQ1JJUFRfVEFHQUxPRyAgICAgID0gNDIsICAv
KiBUZ2xnICovCisgICAgICBVU0NSSVBUX0hBTlVOT08gICAgICA9IDQzLCAgLyogSGFubyAqLwor
ICAgICAgVVNDUklQVF9CVUhJRCAgICAgICAgPSA0NCwgIC8qIEJ1aGQgKi8KKyAgICAgIFVTQ1JJ
UFRfVEFHQkFOV0EgICAgID0gNDUsICAvKiBUYWdiICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHRz
IGluIFVuaWNvZGUgNCBAc3RhYmxlIElDVSAyLjYgKi8KKyAgICAgIFVTQ1JJUFRfQlJBSUxMRSAg
ICAgID0gNDYsICAvKiBCcmFpICovCisgICAgICBVU0NSSVBUX0NZUFJJT1QgICAgICA9IDQ3LCAg
LyogQ3BydCAqLworICAgICAgVVNDUklQVF9MSU1CVSAgICAgICAgPSA0OCwgIC8qIExpbWIgKi8K
KyAgICAgIFVTQ1JJUFRfTElORUFSX0IgICAgID0gNDksICAvKiBMaW5iICovCisgICAgICBVU0NS
SVBUX09TTUFOWUEgICAgICA9IDUwLCAgLyogT3NtYSAqLworICAgICAgVVNDUklQVF9TSEFWSUFO
ICAgICAgPSA1MSwgIC8qIFNoYXcgKi8KKyAgICAgIFVTQ1JJUFRfVEFJX0xFICAgICAgID0gNTIs
ICAvKiBUYWxlICovCisgICAgICBVU0NSSVBUX1VHQVJJVElDICAgICA9IDUzLCAgLyogVWdhciAq
LworCisgICAgICAvKiogTmV3IHNjcmlwdCBjb2RlIGluIFVuaWNvZGUgNC4wLjEgQHN0YWJsZSBJ
Q1UgMy4wICovCisgICAgICBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BID0gNTQsLypIcmt0
ICovCisgICAgICAKKyNpZm5kZWYgVV9ISURFX0RSQUZUX0FQSQorICAgICAgLyogTmV3IHNjcmlw
dHMgaW4gVW5pY29kZSA0LjEgQGRyYWZ0IElDVSAzLjQgKi8KKyAgICAgIFVTQ1JJUFRfQlVHSU5F
U0UgICAgICA9IDU1LCAvKiBCdWdpICovCisgICAgICBVU0NSSVBUX0dMQUdPTElUSUMgICAgPSA1
NiwgLyogR2xhZyAqLworICAgICAgVVNDUklQVF9LSEFST1NIVEhJICAgID0gNTcsIC8qIEtoYXIg
Ki8KKyAgICAgIFVTQ1JJUFRfU1lMT1RJX05BR1JJICA9IDU4LCAvKiBTeWxvICovCisgICAgICBV
U0NSSVBUX05FV19UQUlfTFVFICAgPSA1OSwgLyogVGFsdSAqLworICAgICAgVVNDUklQVF9USUZJ
TkFHSCAgICAgID0gNjAsIC8qIFRmbmcgKi8KKyAgICAgIFVTQ1JJUFRfT0xEX1BFUlNJQU4gICA9
IDYxLCAvKiBYcGVvICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHQgY29kZXMgZnJvbSBJU08gMTU5
MjQgQGRyYWZ0IElDVSAzLjYgKi8KKyAgICAgIFVTQ1JJUFRfQkFMSU5FU0UgICAgICAgICAgICAg
ICAgICAgICAgPSA2MiwgLyogQmFsaSAqLworICAgICAgVVNDUklQVF9CQVRBSyAgICAgICAgICAg
ICAgICAgICAgICAgICA9IDYzLCAvKiBCYXRrICovCisgICAgICBVU0NSSVBUX0JMSVNTWU1CT0xT
ICAgICAgICAgICAgICAgICAgID0gNjQsIC8qIEJsaXMgKi8KKyAgICAgIFVTQ1JJUFRfQlJBSE1J
ICAgICAgICAgICAgICAgICAgICAgICAgPSA2NSwgLyogQnJhaCAqLworICAgICAgVVNDUklQVF9D
SEFNICAgICAgICAgICAgICAgICAgICAgICAgICA9IDY2LCAvKiBDaGFtICovCisgICAgICBVU0NS
SVBUX0NJUlRIICAgICAgICAgICAgICAgICAgICAgICAgID0gNjcsIC8qIENpcnQgKi8KKyAgICAg
IFVTQ1JJUFRfT0xEX0NIVVJDSF9TTEFWT05JQ19DWVJJTExJQyAgPSA2OCwgLyogQ3lycyAqLwor
ICAgICAgVVNDUklQVF9ERU1PVElDX0VHWVBUSUFOICAgICAgICAgICAgICA9IDY5LCAvKiBFZ3lk
ICovCisgICAgICBVU0NSSVBUX0hJRVJBVElDX0VHWVBUSUFOICAgICAgICAgICAgID0gNzAsIC8q
IEVneWggKi8KKyAgICAgIFVTQ1JJUFRfRUdZUFRJQU5fSElFUk9HTFlQSFMgICAgICAgICAgPSA3
MSwgLyogRWd5cCAqLworICAgICAgVVNDUklQVF9LSFVUU1VSSSAgICAgICAgICAgICAgICAgICAg
ICA9IDcyLCAvKiBHZW9rICovCisgICAgICBVU0NSSVBUX1NJTVBMSUZJRURfSEFOICAgICAgICAg
ICAgICAgID0gNzMsIC8qIEhhbnMgKi8KKyAgICAgIFVTQ1JJUFRfVFJBRElUSU9OQUxfSEFOICAg
ICAgICAgICAgICAgPSA3NCwgLyogSGFudCAqLworICAgICAgVVNDUklQVF9QQUhBV0hfSE1PTkcg
ICAgICAgICAgICAgICAgICA9IDc1LCAvKiBIbW5nICovCisgICAgICBVU0NSSVBUX09MRF9IVU5H
QVJJQU4gICAgICAgICAgICAgICAgID0gNzYsIC8qIEh1bmcgKi8KKyAgICAgIFVTQ1JJUFRfSEFS
QVBQQU5fSU5EVVMgICAgICAgICAgICAgICAgPSA3NywgLyogSW5kcyAqLworICAgICAgVVNDUklQ
VF9KQVZBTkVTRSAgICAgICAgICAgICAgICAgICAgICA9IDc4LCAvKiBKYXZhICovCisgICAgICBV
U0NSSVBUX0tBWUFIX0xJICAgICAgICAgICAgICAgICAgICAgID0gNzksIC8qIEthbGkgKi8KKyAg
ICAgIFVTQ1JJUFRfTEFUSU5fRlJBS1RVUiAgICAgICAgICAgICAgICAgPSA4MCwgLyogTGF0ZiAq
LworICAgICAgVVNDUklQVF9MQVRJTl9HQUVMSUMgICAgICAgICAgICAgICAgICA9IDgxLCAvKiBM
YXRnICovCisgICAgICBVU0NSSVBUX0xFUENIQSAgICAgICAgICAgICAgICAgICAgICAgID0gODIs
IC8qIExlcGMgKi8KKyAgICAgIFVTQ1JJUFRfTElORUFSX0EgICAgICAgICAgICAgICAgICAgICAg
PSA4MywgLyogTGluYSAqLworICAgICAgVVNDUklQVF9NQU5EQUVBTiAgICAgICAgICAgICAgICAg
ICAgICA9IDg0LCAvKiBNYW5kICovCisgICAgICBVU0NSSVBUX01BWUFOX0hJRVJPR0xZUEhTICAg
ICAgICAgICAgID0gODUsIC8qIE1heWEgKi8KKyAgICAgIFVTQ1JJUFRfTUVST0lUSUMgICAgICAg
ICAgICAgICAgICAgICAgPSA4NiwgLyogTWVybyAqLworICAgICAgVVNDUklQVF9OS08gICAgICAg
ICAgICAgICAgICAgICAgICAgICA9IDg3LCAvKiBOa29vICovCisgICAgICBVU0NSSVBUX09SS0hP
TiAgICAgICAgICAgICAgICAgICAgICAgID0gODgsIC8qIE9ya2ggKi8KKyAgICAgIFVTQ1JJUFRf
T0xEX1BFUk1JQyAgICAgICAgICAgICAgICAgICAgPSA4OSwgLyogUGVybSAqLworICAgICAgVVND
UklQVF9QSEFHU19QQSAgICAgICAgICAgICAgICAgICAgICA9IDkwLCAvKiBQaGFnICovCisgICAg
ICBVU0NSSVBUX1BIT0VOSUNJQU4gICAgICAgICAgICAgICAgICAgID0gOTEsIC8qIFBobnggKi8K
KyAgICAgIFVTQ1JJUFRfUEhPTkVUSUNfUE9MTEFSRCAgICAgICAgICAgICAgPSA5MiwgLyogUGxy
ZCAqLworICAgICAgVVNDUklQVF9ST05HT1JPTkdPICAgICAgICAgICAgICAgICAgICA9IDkzLCAv
KiBSb3JvICovCisgICAgICBVU0NSSVBUX1NBUkFUSSAgICAgICAgICAgICAgICAgICAgICAgID0g
OTQsIC8qIFNhcmEgKi8KKyAgICAgIFVTQ1JJUFRfRVNUUkFOR0VMT19TWVJJQUMgICAgICAgICAg
ICAgPSA5NSwgLyogU3lyZSAqLworICAgICAgVVNDUklQVF9XRVNURVJOX1NZUklBQyAgICAgICAg
ICAgICAgICA9IDk2LCAvKiBTeXJqICovCisgICAgICBVU0NSSVBUX0VBU1RFUk5fU1lSSUFDICAg
ICAgICAgICAgICAgID0gOTcsIC8qIFN5cm4gKi8KKyAgICAgIFVTQ1JJUFRfVEVOR1dBUiAgICAg
ICAgICAgICAgICAgICAgICAgPSA5OCwgLyogVGVuZyAqLworICAgICAgVVNDUklQVF9WQUkgICAg
ICAgICAgICAgICAgICAgICAgICAgICA9IDk5LCAvKiBWYWlpICovCisgICAgICBVU0NSSVBUX1ZJ
U0lCTEVfU1BFRUNIICAgICAgICAgICAgICAgID0gMTAwLCAvKiBWaXNwICovCisgICAgICBVU0NS
SVBUX0NVTkVJRk9STSAgICAgICAgICAgICAgICAgICAgID0gMTAxLC8qIFhzdXggKi8KKyAgICAg
IFVTQ1JJUFRfVU5XUklUVEVOX0xBTkdVQUdFUyAgICAgICAgICAgPSAxMDIsLyogWnh4eCAqLwor
ICAgICAgVVNDUklQVF9VTktOT1dOICAgICAgICAgICAgICAgICAgICAgICA9IDEwMywvKiBaenp6
ICovIC8qIFVua25vd249IkNvZGUgZm9yIHVuY29kZWQgc2NyaXB0IiwgZm9yIHVuYXNzaWduZWQg
Y29kZSBwb2ludHMgKi8KKyAgICAgIC8qIFByaXZhdGUgdXNlIGNvZGVzIGZyb20gUWFhYSAtIFFh
YnggYXJlIG5vdCBzdXBwb3J0ZWQqLworI2VuZGlmIC8qIFVfSElERV9EUkFGVF9BUEkgKi8KKyAg
ICAgIFVTQ1JJUFRfQ09ERV9MSU1JVCAgICA9IDEwNAorfSBVU2NyaXB0Q29kZTsKKworLyoqCisg
KiBHZXRzIHNjcmlwdCBjb2RlcyBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIGxvY2FsZSBvciBJ
U08gMTU5MjQgYWJicmV2aWF0aW9uIG9yIG5hbWUuIAorICogRmlsbHMgaW4gVVNDUklQVF9NQUxB
WUFMQU0gZ2l2ZW4gIk1hbGF5YW0iIE9SICJNbHltIi4KKyAqIEZpbGxzIGluIFVTQ1JJUFRfTEFU
SU4gZ2l2ZW4gImVuIiBPUiAiZW5fVVMiIAorICogSWYgcmVxdWlyZWQgY2FwYWNpdHkgaXMgZ3Jl
YXRlciB0aGFuIGNhcGFjaXR5IG9mIHRoZSBkZXN0aW5hdGlvbiBidWZmZXIgdGhlbiB0aGUgZXJy
b3IgY29kZQorICogaXMgc2V0IHRvIFVfQlVGRkVSX09WRVJGTE9XX0VSUk9SIGFuZCB0aGUgcmVx
dWlyZWQgY2FwYWNpdHkgaXMgcmV0dXJuZWQKKyAqCisgKiA8cD5Ob3RlOiBUbyBzZWFyY2ggYnkg
c2hvcnQgb3IgbG9uZyBzY3JpcHQgYWxpYXMgb25seSwgdXNlCisgKiB1X2dldFByb3BlcnR5VmFs
dWVFbnVtKFVDSEFSX1NDUklQVCwgYWxpYXMpIGluc3RlYWQuICBUaGlzIGRvZXMKKyAqIGEgZmFz
dCBsb29rdXAgd2l0aCBubyBhY2Nlc3Mgb2YgdGhlIGxvY2FsZSBkYXRhLgorICogQHBhcmFtIG5h
bWVPckFiYnJPckxvY2FsZSBuYW1lIG9mIHRoZSBzY3JpcHQsIGFzIGdpdmVuIGluCisgKiBQcm9w
ZXJ0eVZhbHVlQWxpYXNlcy50eHQsIG9yIElTTyAxNTkyNCBjb2RlIG9yIGxvY2FsZQorICogQHBh
cmFtIGZpbGxJbiB0aGUgVVNjcmlwdENvZGUgYnVmZmVyIHRvIGZpbGwgaW4gdGhlIHNjcmlwdCBj
b2RlCisgKiBAcGFyYW0gY2FwYWNpdHkgdGhlIGNhcGFjaXR5IChzaXplKSBmbyBVU2NyaXB0Q29k
ZSBidWZmZXIgcGFzc2VkIGluLgorICogQHBhcmFtIGVyciB0aGUgZXJyb3Igc3RhdHVzIGNvZGUu
CisgKiBAcmV0dXJuIFRoZSBudW1iZXIgb2Ygc2NyaXB0IGNvZGVzIGZpbGxlZCBpbiB0aGUgYnVm
ZmVyIHBhc3NlZCBpbiAKKyAqIEBzdGFibGUgSUNVIDIuNAorICovCitVX1NUQUJMRSBpbnQzMl90
ICBVX0VYUE9SVDIgCit1c2NyaXB0X2dldENvZGUoY29uc3QgY2hhciogbmFtZU9yQWJick9yTG9j
YWxlLFVTY3JpcHRDb2RlKiBmaWxsSW4saW50MzJfdCBjYXBhY2l0eSxVRXJyb3JDb2RlICplcnIp
OworCisvKioKKyAqIEdldHMgYSBzY3JpcHQgbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVu
IHNjcmlwdCBjb2RlLiAKKyAqIFJldHVybnMgICJNYWxheWFtIiBnaXZlbiBVU0NSSVBUX01BTEFZ
QUxBTQorICogQHBhcmFtIHNjcmlwdENvZGUgVVNjcmlwdENvZGUgZW51bQorICogQHJldHVybiBz
Y3JpcHQgbG9uZyBuYW1lIGFzIGdpdmVuIGluCisgKiBQcm9wZXJ0eVZhbHVlQWxpYXNlcy50eHQs
IG9yIE5VTEwgaWYgc2NyaXB0Q29kZSBpcyBpbnZhbGlkCisgKiBAc3RhYmxlIElDVSAyLjQKKyAq
LworVV9TVEFCTEUgY29uc3QgY2hhciogIFVfRVhQT1JUMiAKK3VzY3JpcHRfZ2V0TmFtZShVU2Ny
aXB0Q29kZSBzY3JpcHRDb2RlKTsKKworLyoqCisgKiBHZXRzIGEgc2NyaXB0IG5hbWUgYXNzb2Np
YXRlZCB3aXRoIHRoZSBnaXZlbiBzY3JpcHQgY29kZS4gCisgKiBSZXR1cm5zICAiTWx5bSIgZ2l2
ZW4gVVNDUklQVF9NQUxBWUFMQU0KKyAqIEBwYXJhbSBzY3JpcHRDb2RlIFVTY3JpcHRDb2RlIGVu
dW0KKyAqIEByZXR1cm4gc2NyaXB0IGFiYnJldmlhdGVkIG5hbWUgYXMgZ2l2ZW4gaW4KKyAqIFBy
b3BlcnR5VmFsdWVBbGlhc2VzLnR4dCwgb3IgTlVMTCBpZiBzY3JpcHRDb2RlIGlzIGludmFsaWQK
KyAqIEBzdGFibGUgSUNVIDIuNAorICovCitVX1NUQUJMRSBjb25zdCBjaGFyKiAgVV9FWFBPUlQy
IAordXNjcmlwdF9nZXRTaG9ydE5hbWUoVVNjcmlwdENvZGUgc2NyaXB0Q29kZSk7CisKKy8qKiAK
KyAqIEdldHMgdGhlIHNjcmlwdCBjb2RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4gY29kZXBv
aW50LgorICogUmV0dXJucyBVU0NSSVBUX01BTEFZQUxBTSBnaXZlbiAweDBEMDIgCisgKiBAcGFy
YW0gY29kZXBvaW50IFVDaGFyMzIgY29kZXBvaW50CisgKiBAcGFyYW0gZXJyIHRoZSBlcnJvciBz
dGF0dXMgY29kZS4KKyAqIEByZXR1cm4gVGhlIFVTY3JpcHRDb2RlLCBvciAwIGlmIGNvZGVwb2lu
dCBpcyBpbnZhbGlkIAorICogQHN0YWJsZSBJQ1UgMi40CisgKi8KK1VfU1RBQkxFIFVTY3JpcHRD
b2RlICBVX0VYUE9SVDIgCit1c2NyaXB0X2dldFNjcmlwdChVQ2hhcjMyIGNvZGVwb2ludCwgVUVy
cm9yQ29kZSAqZXJyKTsKKworI2VuZGlmCisKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjogU291cmNl
L0phdmFTY3JpcHRHbHVlL2ljdS91bmljb2RlL3VzY3JpcHQuaApfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz
dm46ZW9sLXN0eWxlCiAgICsgTEYKCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiA4OTQ4NSkKKysr
IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBA
CisyMDExLTA2LTIyICBKdW5nc2hpayBTaGluICA8anNoaW5AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFsbG93IGdlbmVyaWMg
Zm9udCBmYW1pbHkgc2V0dGluZ3MgcGVyIHNjcmlwdCBjb2RlLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA3OTcKKworICAgICAgICBNYWtlIGdlbmVy
aWMgZm9udCBmYW1pbHkgZ2V0dGVycy9zZXR0ZXJzIGFjY2VwdCBhbiBhZGRpdGlvbmFsCisgICAg
ICAgIGFyZ3VtZW50IChzY3JpcHQgY29kZSkuIEl0IGhhcyBhIGRlZmF1bHQgdmFsdWUgc28gdGhh
dCBpZiBhbiBlbWJlZGRlcgorICAgICAgICBkb2VzIG5vdCBoYXZlL3dhbnQgYSBwZXItc2NyaXB0
IGZvbnQgZmFtaWx5IHNldHRpbmcsIGNhbGwtc2l0ZXMKKyAgICAgICAgZG9uJ3QgaGF2ZSB0byBi
ZSBjaGFuZ2VkLgorICAgICAgICBUaGlzIGlzIHRvIHByZXBhcmUgZm9yIGZpeGluZyBidWcgMTA4
NzQgKGZvbnQgc2VsZWN0aW9uIGlzIG5vdAorICAgICAgICBsYW5ndWFnZS1kZXBlbmRlbnQpIGFu
ZCBidWcgMTgwODUuCisKKyAgICAgICAgdXNjcmlwdC5oIGhhcyBiZWVuIHVwZGF0ZWQgdG8gdGhh
dCBvZiBJQ1UgMy42ICh0aGUgdmVyc2lvbiBvZiBJQ1Ugb24KKyAgICAgICAgTWFjIE9TIDEwLjUp
CisKKyAgICAgICAgVGhlcmUgc2hvdWxkIGJlIG5vIGNoYW5nZSBpbiBsYXlvdXQgYW5kIG5vIG5l
dyBsYXlvdXQgdGVzdAorICAgICAgICBpcyBhZGRlZC4KKworICAgICAgICAqIFdlYkNvcmUuZXhw
LmluOgorICAgICAgICAqIGljdS91bmljb2RlL3VzY3JpcHQuaDogdXBkYXRlZCB0byBJQ1UgNC42
CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzZXRHZW5l
cmljRm9udEZhbWlseU1hcCk6IGhlbHBlciB0byBzZXQgZ2VuZXJpYyBmYW1pbHkgcGVyIHNjcmlw
dAorICAgICAgICAoV2ViQ29yZTo6Z2V0R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQpOiBoZWxw
ZXIgZnVuY3Rpb24gdXNlZCBieSBnZXR0ZXJzIGZvciBmb29Gb250RmFtaWx5LgorICAgICAgICAo
V2ViQ29yZTo6U2V0dGluZ3M6OnN0YW5kYXJkRm9udEZhbWlseSk6CisgICAgICAgIChXZWJDb3Jl
OjpTZXR0aW5nczo6c2V0U3RhbmRhcmRGb250RmFtaWx5KToKKyAgICAgICAgKFdlYkNvcmU6OlNl
dHRpbmdzOjpmaXhlZEZvbnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNl
dEZpeGVkRm9udEZhbWlseSk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2VyaWZGb250
RmFtaWx5KToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRTZXJpZkZvbnRGYW1pbHkp
OgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNhbnNTZXJpZkZvbnRGYW1pbHkpOgorICAg
ICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldFNhbnNTZXJpZkZvbnRGYW1pbHkpOgorICAgICAg
ICAoV2ViQ29yZTo6U2V0dGluZ3M6OmN1cnNpdmVGb250RmFtaWx5KToKKyAgICAgICAgKFdlYkNv
cmU6OlNldHRpbmdzOjpzZXRDdXJzaXZlRm9udEZhbWlseSk6CisgICAgICAgIChXZWJDb3JlOjpT
ZXR0aW5nczo6ZmFudGFzeUZvbnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6
OnNldEZhbnRhc3lGb250RmFtaWx5KToKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmg6IHNldHRl
ciBhbmQgZ2V0dGVyIGZvciBGb29Gb250RmFtaWx5IGhhdmUgYSBuZXcgb3B0aW9uYWwgYXJndW1l
bnQsIHNjcmlwdENvZGUuCisKIDIwMTEtMDYtMjIgIE1hcmsgUGlsZ3JpbSAgPHBpbGdyaW1AY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgkocmV2aXNpb24gODk0ODUpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgkod29ya2luZyBjb3B5KQpAQCAtODU2LDIyICs4NTYsMjIgQEAgX19aTjdXZWJDb3Jl
OFNldHRpbmdzMTZzZXRVc2VzUGFnZUNhY2hlRQogX19aTjdXZWJDb3JlOFNldHRpbmdzMTdzZXRQ
bHVnaW5zRW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldERPTVBhc3RlQWxsb3dl
ZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldERlZmF1bHRGb250U2l6ZUVpCi1fX1pON1dl
YkNvcmU4U2V0dGluZ3MxOHNldEZpeGVkRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdF
CitfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldEZpeGVkRm9udEZhbWlseUVSS04zV1RGMTJBdG9t
aWNTdHJpbmdFMTFVU2NyaXB0Q29kZQogX19aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRNaW5pbXVt
Rm9udFNpemVFaQotX19aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRTZXJpZkZvbnRGYW1pbHlFUktO
M1dURjEyQXRvbWljU3RyaW5nRQorX19aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRTZXJpZkZvbnRG
YW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5nRTExVVNjcmlwdENvZGUKIF9fWk43V2ViQ29yZThT
ZXR0aW5nczE4c2V0V2ViQXVkaW9FbmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczE5bWlu
RE9NVGltZXJJbnRlcnZhbEV2CiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOXNldFNob3dEZWJ1Z0Jv
cmRlcnNFYgotX19aTjdXZWJDb3JlOFNldHRpbmdzMjBzZXRDdXJzaXZlRm9udEZhbWlseUVSS04z
V1RGMTJBdG9taWNTdHJpbmdFCi1fX1pON1dlYkNvcmU4U2V0dGluZ3MyMHNldEZhbnRhc3lGb250
RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0UKK19fWk43V2ViQ29yZThTZXR0aW5nczIwc2V0
Q3Vyc2l2ZUZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5nRTExVVNjcmlwdENvZGUKK19f
Wk43V2ViQ29yZThTZXR0aW5nczIwc2V0RmFudGFzeUZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWlj
U3RyaW5nRTExVVNjcmlwdENvZGUKIF9fWk43V2ViQ29yZThTZXR0aW5nczIwc2V0SmF2YVNjcmlw
dEVuYWJsZWRFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMjBzZXRYU1NBdWRpdG9yRW5hYmxlZEVi
CiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMXNldFNob3dSZXBhaW50Q291bnRlckViCi1fX1pON1dl
YkNvcmU4U2V0dGluZ3MyMXNldFN0YW5kYXJkRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJp
bmdFCitfX1pON1dlYkNvcmU4U2V0dGluZ3MyMXNldFN0YW5kYXJkRm9udEZhbWlseUVSS04zV1RG
MTJBdG9taWNTdHJpbmdFMTFVU2NyaXB0Q29kZQogX19aTjdXZWJDb3JlOFNldHRpbmdzMjFzZXRX
ZWJTZWN1cml0eUVuYWJsZWRFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMjJzZXRMb2NhbFN0b3Jh
Z2VFbmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczIyc2V0TWluRE9NVGltZXJJbnRlcnZh
bEVkCi1fX1pON1dlYkNvcmU4U2V0dGluZ3MyMnNldFNhbnNTZXJpZkZvbnRGYW1pbHlFUktOM1dU
RjEyQXRvbWljU3RyaW5nRQorX19aTjdXZWJDb3JlOFNldHRpbmdzMjJzZXRTYW5zU2VyaWZGb250
RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0UxMVVTY3JpcHRDb2RlCiBfX1pON1dlYkNvcmU4
U2V0dGluZ3MyMnNldFNlc3Npb25TdG9yYWdlUXVvdGFFagogX19aTjdXZWJDb3JlOFNldHRpbmdz
MjJzZXRTaG93c1VSTHNJblRvb2xUaXBzRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczIzc2V0RGVm
YXVsdEZpeGVkRm9udFNpemVFaQpJbmRleDogU291cmNlL1dlYkNvcmUvaWN1L3VuaWNvZGUvdXNj
cmlwdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2ljdS91bmljb2RlL3VzY3JpcHQu
aAkocmV2aXNpb24gODk0ODUpCisrKyBTb3VyY2UvV2ViQ29yZS9pY3UvdW5pY29kZS91c2NyaXB0
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiAvKgogKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotKiAg
IENvcHlyaWdodCAoQykgMTk5Ny0yMDA0LCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVz
CisqICAgQ29weXJpZ2h0IChDKSAxOTk3LTIwMDYsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFj
aGluZXMKICogICBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4K
ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKICoKQEAgLTE3LDcgKzE3LDI4IEBACiAjaW5jbHVkZSAidW5pY29kZS91
dHlwZXMuaCIKIAogLyoqCi0gKiBDb25zdGFudHMgZm9yIFVuaWNvZGUgc2NyaXB0IHZhbHVlcyBm
cm9tIFNjcmlwdE5hbWVzLnR4dCAuCisgKiBcZmlsZQorICogXGJyaWVmIEMgQVBJOiBVbmljb2Rl
IFNjcmlwdCBJbmZvcm1hdGlvbgorICovCisgCisvKioKKyAqIENvbnN0YW50cyBmb3IgSVNPIDE1
OTI0IHNjcmlwdCBjb2Rlcy4KKyAqCisgKiBNYW55IG9mIHRoZXNlIHNjcmlwdCBjb2RlcyAtIHRo
b3NlIGZyb20gVW5pY29kZSdzIFNjcmlwdE5hbWVzLnR4dCAtCisgKiBhcmUgY2hhcmFjdGVyIHBy
b3BlcnR5IHZhbHVlcyBmb3IgVW5pY29kZSdzIFNjcmlwdCBwcm9wZXJ0eS4KKyAqIFNlZSBVQVgg
IzI0IFNjcmlwdCBOYW1lcyAoaHR0cDovL3d3dy51bmljb2RlLm9yZy9yZXBvcnRzL3RyMjQvKS4K
KyAqCisgKiBTdGFydGluZyB3aXRoIElDVSAzLjYsIGNvbnN0YW50cyBmb3IgbW9zdCBJU08gMTU5
MjQgc2NyaXB0IGNvZGVzCisgKiBhcmUgaW5jbHVkZWQgKGN1cnJlbnRseSBleGNsdWRpbmcgcHJp
dmF0ZS11c2UgY29kZXMgUWFhYS4uUWFieCkuCisgKiBGb3Igc2NyaXB0cyBmb3Igd2hpY2ggdGhl
cmUgYXJlIGNvZGVzIGluIElTTyAxNTkyNCBidXQgd2hpY2ggYXJlIG5vdAorICogdXNlZCBpbiB0
aGUgVW5pY29kZSBDaGFyYWN0ZXIgRGF0YWJhc2UgKFVDRCksIHRoZXJlIGFyZSBubyBVbmljb2Rl
IGNoYXJhY3RlcnMKKyAqIGFzc29jaWF0ZWQgd2l0aCB0aG9zZSBzY3JpcHRzLgorICoKKyAqIEZv
ciBleGFtcGxlLCB0aGVyZSBhcmUgbm8gY2hhcmFjdGVycyB0aGF0IGhhdmUgYSBVQ0Qgc2NyaXB0
IGNvZGUgb2YKKyAqIEhhbnMgb3IgSGFudC4gQWxsIEhhbiBpZGVvZ3JhcGhzIGhhdmUgdGhlIEhh
bmkgc2NyaXB0IGNvZGUuCisgKiBUaGUgSGFucyBhbmQgSGFudCBzY3JpcHQgY29kZXMgYXJlIHVz
ZWQgd2l0aCBDTERSIGRhdGEuCisgKgorICogSVNPIDE1OTI0IHNjcmlwdCBjb2RlcyBhcmUgaW5j
bHVkZWQgZm9yIHVzZSB3aXRoIENMRFIgYW5kIHNpbWlsYXIuCiAgKgogICogQHN0YWJsZSBJQ1Ug
Mi4yCiAgKi8KQEAgLTMxLDExICs1MiwxMSBAQCB0eXBlZGVmIGVudW0gVVNjcmlwdENvZGUgewog
ICAgICAgVVNDUklQVF9CT1BPTU9GTyAgICAgPSAgNSwgIC8qIEJvcG8gKi8KICAgICAgIFVTQ1JJ
UFRfQ0hFUk9LRUUgICAgID0gIDYsICAvKiBDaGVyICovCiAgICAgICBVU0NSSVBUX0NPUFRJQyAg
ICAgICA9ICA3LCAgLyogQ29wdCAqLwotICAgICAgVVNDUklQVF9DWVJJTExJQyAgICAgPSAgOCwg
IC8qIEN5cmwgKEN5cnMpICovCisgICAgICBVU0NSSVBUX0NZUklMTElDICAgICA9ICA4LCAgLyog
Q3lybCAqLwogICAgICAgVVNDUklQVF9ERVNFUkVUICAgICAgPSAgOSwgIC8qIERzcnQgKi8KICAg
ICAgIFVTQ1JJUFRfREVWQU5BR0FSSSAgID0gMTAsICAvKiBEZXZhICovCiAgICAgICBVU0NSSVBU
X0VUSElPUElDICAgICA9IDExLCAgLyogRXRoaSAqLwotICAgICAgVVNDUklQVF9HRU9SR0lBTiAg
ICAgPSAxMiwgIC8qIEdlb3IgKEdlb24sIEdlb2EpICovCisgICAgICBVU0NSSVBUX0dFT1JHSUFO
ICAgICA9IDEyLCAgLyogR2VvciAqLwogICAgICAgVVNDUklQVF9HT1RISUMgICAgICAgPSAxMywg
IC8qIEdvdGggKi8KICAgICAgIFVTQ1JJUFRfR1JFRUsgICAgICAgID0gMTQsICAvKiBHcmVrICov
CiAgICAgICBVU0NSSVBUX0dVSkFSQVRJICAgICA9IDE1LCAgLyogR3VqciAqLwpAQCAtNDgsNyAr
NjksNyBAQCB0eXBlZGVmIGVudW0gVVNjcmlwdENvZGUgewogICAgICAgVVNDUklQVF9LQVRBS0FO
QSAgICAgPSAyMiwgIC8qIEthbmEgKi8KICAgICAgIFVTQ1JJUFRfS0hNRVIgICAgICAgID0gMjMs
ICAvKiBLaG1yICovCiAgICAgICBVU0NSSVBUX0xBTyAgICAgICAgICA9IDI0LCAgLyogTGFvbyAq
LwotICAgICAgVVNDUklQVF9MQVRJTiAgICAgICAgPSAyNSwgIC8qIExhdG4gKExhdGYsIExhdGcp
ICovCisgICAgICBVU0NSSVBUX0xBVElOICAgICAgICA9IDI1LCAgLyogTGF0biAqLwogICAgICAg
VVNDUklQVF9NQUxBWUFMQU0gICAgPSAyNiwgIC8qIE1seW0gKi8KICAgICAgIFVTQ1JJUFRfTU9O
R09MSUFOICAgID0gMjcsICAvKiBNb25nICovCiAgICAgICBVU0NSSVBUX01ZQU5NQVIgICAgICA9
IDI4LCAgLyogTXltciAqLwpAQCAtNTcsNyArNzgsNyBAQCB0eXBlZGVmIGVudW0gVVNjcmlwdENv
ZGUgewogICAgICAgVVNDUklQVF9PUklZQSAgICAgICAgPSAzMSwgIC8qIE9yeWEgKi8KICAgICAg
IFVTQ1JJUFRfUlVOSUMgICAgICAgID0gMzIsICAvKiBSdW5yICovCiAgICAgICBVU0NSSVBUX1NJ
TkhBTEEgICAgICA9IDMzLCAgLyogU2luaCAqLwotICAgICAgVVNDUklQVF9TWVJJQUMgICAgICAg
PSAzNCwgIC8qIFN5cmMgKFN5cmosIFN5cm4sIFN5cmUpICovCisgICAgICBVU0NSSVBUX1NZUklB
QyAgICAgICA9IDM0LCAgLyogU3lyYyAqLwogICAgICAgVVNDUklQVF9UQU1JTCAgICAgICAgPSAz
NSwgIC8qIFRhbWwgKi8KICAgICAgIFVTQ1JJUFRfVEVMVUdVICAgICAgID0gMzYsICAvKiBUZWx1
ICovCiAgICAgICBVU0NSSVBUX1RIQUFOQSAgICAgICA9IDM3LCAgLyogVGhhYSAqLwpAQCAtNzQs
MTkgKzk1LDc0IEBAIHR5cGVkZWYgZW51bSBVU2NyaXB0Q29kZSB7CiAgICAgICBVU0NSSVBUX1RB
R0JBTldBICAgICA9IDQ1LCAgLyogVGFnYiAqLwogCiAgICAgICAvKiBOZXcgc2NyaXB0cyBpbiBV
bmljb2RlIDQgQHN0YWJsZSBJQ1UgMi42ICovCi0gICAgICBVU0NSSVBUX0JSQUlMTEUsICAgICAg
ICAgICAgLyogQnJhaSAqLwotICAgICAgVVNDUklQVF9DWVBSSU9ULCAgICAgICAgICAgIC8qIENw
cnQgKi8KLSAgICAgIFVTQ1JJUFRfTElNQlUsICAgICAgICAgICAgICAvKiBMaW1iICovCi0gICAg
ICBVU0NSSVBUX0xJTkVBUl9CLCAgICAgICAgICAgLyogTGluYiAqLwotICAgICAgVVNDUklQVF9P
U01BTllBLCAgICAgICAgICAgIC8qIE9zbWEgKi8KLSAgICAgIFVTQ1JJUFRfU0hBVklBTiwgICAg
ICAgICAgICAvKiBTaGF3ICovCi0gICAgICBVU0NSSVBUX1RBSV9MRSwgICAgICAgICAgICAgLyog
VGFsZSAqLwotICAgICAgVVNDUklQVF9VR0FSSVRJQywgICAgICAgICAgIC8qIFVnYXIgKi8KLQot
ICAgICAgLyoqIE5ldyBzY3JpcHQgY29kZSBpbiBVbmljb2RlIDQuMC4xIEBkcmFmdCBJQ1UgMy4w
ICovCi0gICAgICBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BLC8qSHJrdCAqLwotCi0gICAg
ICBVU0NSSVBUX0NPREVfTElNSVQKKyAgICAgIFVTQ1JJUFRfQlJBSUxMRSAgICAgID0gNDYsICAv
KiBCcmFpICovCisgICAgICBVU0NSSVBUX0NZUFJJT1QgICAgICA9IDQ3LCAgLyogQ3BydCAqLwor
ICAgICAgVVNDUklQVF9MSU1CVSAgICAgICAgPSA0OCwgIC8qIExpbWIgKi8KKyAgICAgIFVTQ1JJ
UFRfTElORUFSX0IgICAgID0gNDksICAvKiBMaW5iICovCisgICAgICBVU0NSSVBUX09TTUFOWUEg
ICAgICA9IDUwLCAgLyogT3NtYSAqLworICAgICAgVVNDUklQVF9TSEFWSUFOICAgICAgPSA1MSwg
IC8qIFNoYXcgKi8KKyAgICAgIFVTQ1JJUFRfVEFJX0xFICAgICAgID0gNTIsICAvKiBUYWxlICov
CisgICAgICBVU0NSSVBUX1VHQVJJVElDICAgICA9IDUzLCAgLyogVWdhciAqLworCisgICAgICAv
KiogTmV3IHNjcmlwdCBjb2RlIGluIFVuaWNvZGUgNC4wLjEgQHN0YWJsZSBJQ1UgMy4wICovCisg
ICAgICBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BID0gNTQsLypIcmt0ICovCisgICAgICAK
KyNpZm5kZWYgVV9ISURFX0RSQUZUX0FQSQorICAgICAgLyogTmV3IHNjcmlwdHMgaW4gVW5pY29k
ZSA0LjEgQGRyYWZ0IElDVSAzLjQgKi8KKyAgICAgIFVTQ1JJUFRfQlVHSU5FU0UgICAgICA9IDU1
LCAvKiBCdWdpICovCisgICAgICBVU0NSSVBUX0dMQUdPTElUSUMgICAgPSA1NiwgLyogR2xhZyAq
LworICAgICAgVVNDUklQVF9LSEFST1NIVEhJICAgID0gNTcsIC8qIEtoYXIgKi8KKyAgICAgIFVT
Q1JJUFRfU1lMT1RJX05BR1JJICA9IDU4LCAvKiBTeWxvICovCisgICAgICBVU0NSSVBUX05FV19U
QUlfTFVFICAgPSA1OSwgLyogVGFsdSAqLworICAgICAgVVNDUklQVF9USUZJTkFHSCAgICAgID0g
NjAsIC8qIFRmbmcgKi8KKyAgICAgIFVTQ1JJUFRfT0xEX1BFUlNJQU4gICA9IDYxLCAvKiBYcGVv
ICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHQgY29kZXMgZnJvbSBJU08gMTU5MjQgQGRyYWZ0IElD
VSAzLjYgKi8KKyAgICAgIFVTQ1JJUFRfQkFMSU5FU0UgICAgICAgICAgICAgICAgICAgICAgPSA2
MiwgLyogQmFsaSAqLworICAgICAgVVNDUklQVF9CQVRBSyAgICAgICAgICAgICAgICAgICAgICAg
ICA9IDYzLCAvKiBCYXRrICovCisgICAgICBVU0NSSVBUX0JMSVNTWU1CT0xTICAgICAgICAgICAg
ICAgICAgID0gNjQsIC8qIEJsaXMgKi8KKyAgICAgIFVTQ1JJUFRfQlJBSE1JICAgICAgICAgICAg
ICAgICAgICAgICAgPSA2NSwgLyogQnJhaCAqLworICAgICAgVVNDUklQVF9DSEFNICAgICAgICAg
ICAgICAgICAgICAgICAgICA9IDY2LCAvKiBDaGFtICovCisgICAgICBVU0NSSVBUX0NJUlRIICAg
ICAgICAgICAgICAgICAgICAgICAgID0gNjcsIC8qIENpcnQgKi8KKyAgICAgIFVTQ1JJUFRfT0xE
X0NIVVJDSF9TTEFWT05JQ19DWVJJTExJQyAgPSA2OCwgLyogQ3lycyAqLworICAgICAgVVNDUklQ
VF9ERU1PVElDX0VHWVBUSUFOICAgICAgICAgICAgICA9IDY5LCAvKiBFZ3lkICovCisgICAgICBV
U0NSSVBUX0hJRVJBVElDX0VHWVBUSUFOICAgICAgICAgICAgID0gNzAsIC8qIEVneWggKi8KKyAg
ICAgIFVTQ1JJUFRfRUdZUFRJQU5fSElFUk9HTFlQSFMgICAgICAgICAgPSA3MSwgLyogRWd5cCAq
LworICAgICAgVVNDUklQVF9LSFVUU1VSSSAgICAgICAgICAgICAgICAgICAgICA9IDcyLCAvKiBH
ZW9rICovCisgICAgICBVU0NSSVBUX1NJTVBMSUZJRURfSEFOICAgICAgICAgICAgICAgID0gNzMs
IC8qIEhhbnMgKi8KKyAgICAgIFVTQ1JJUFRfVFJBRElUSU9OQUxfSEFOICAgICAgICAgICAgICAg
PSA3NCwgLyogSGFudCAqLworICAgICAgVVNDUklQVF9QQUhBV0hfSE1PTkcgICAgICAgICAgICAg
ICAgICA9IDc1LCAvKiBIbW5nICovCisgICAgICBVU0NSSVBUX09MRF9IVU5HQVJJQU4gICAgICAg
ICAgICAgICAgID0gNzYsIC8qIEh1bmcgKi8KKyAgICAgIFVTQ1JJUFRfSEFSQVBQQU5fSU5EVVMg
ICAgICAgICAgICAgICAgPSA3NywgLyogSW5kcyAqLworICAgICAgVVNDUklQVF9KQVZBTkVTRSAg
ICAgICAgICAgICAgICAgICAgICA9IDc4LCAvKiBKYXZhICovCisgICAgICBVU0NSSVBUX0tBWUFI
X0xJICAgICAgICAgICAgICAgICAgICAgID0gNzksIC8qIEthbGkgKi8KKyAgICAgIFVTQ1JJUFRf
TEFUSU5fRlJBS1RVUiAgICAgICAgICAgICAgICAgPSA4MCwgLyogTGF0ZiAqLworICAgICAgVVND
UklQVF9MQVRJTl9HQUVMSUMgICAgICAgICAgICAgICAgICA9IDgxLCAvKiBMYXRnICovCisgICAg
ICBVU0NSSVBUX0xFUENIQSAgICAgICAgICAgICAgICAgICAgICAgID0gODIsIC8qIExlcGMgKi8K
KyAgICAgIFVTQ1JJUFRfTElORUFSX0EgICAgICAgICAgICAgICAgICAgICAgPSA4MywgLyogTGlu
YSAqLworICAgICAgVVNDUklQVF9NQU5EQUVBTiAgICAgICAgICAgICAgICAgICAgICA9IDg0LCAv
KiBNYW5kICovCisgICAgICBVU0NSSVBUX01BWUFOX0hJRVJPR0xZUEhTICAgICAgICAgICAgID0g
ODUsIC8qIE1heWEgKi8KKyAgICAgIFVTQ1JJUFRfTUVST0lUSUMgICAgICAgICAgICAgICAgICAg
ICAgPSA4NiwgLyogTWVybyAqLworICAgICAgVVNDUklQVF9OS08gICAgICAgICAgICAgICAgICAg
ICAgICAgICA9IDg3LCAvKiBOa29vICovCisgICAgICBVU0NSSVBUX09SS0hPTiAgICAgICAgICAg
ICAgICAgICAgICAgID0gODgsIC8qIE9ya2ggKi8KKyAgICAgIFVTQ1JJUFRfT0xEX1BFUk1JQyAg
ICAgICAgICAgICAgICAgICAgPSA4OSwgLyogUGVybSAqLworICAgICAgVVNDUklQVF9QSEFHU19Q
QSAgICAgICAgICAgICAgICAgICAgICA9IDkwLCAvKiBQaGFnICovCisgICAgICBVU0NSSVBUX1BI
T0VOSUNJQU4gICAgICAgICAgICAgICAgICAgID0gOTEsIC8qIFBobnggKi8KKyAgICAgIFVTQ1JJ
UFRfUEhPTkVUSUNfUE9MTEFSRCAgICAgICAgICAgICAgPSA5MiwgLyogUGxyZCAqLworICAgICAg
VVNDUklQVF9ST05HT1JPTkdPICAgICAgICAgICAgICAgICAgICA9IDkzLCAvKiBSb3JvICovCisg
ICAgICBVU0NSSVBUX1NBUkFUSSAgICAgICAgICAgICAgICAgICAgICAgID0gOTQsIC8qIFNhcmEg
Ki8KKyAgICAgIFVTQ1JJUFRfRVNUUkFOR0VMT19TWVJJQUMgICAgICAgICAgICAgPSA5NSwgLyog
U3lyZSAqLworICAgICAgVVNDUklQVF9XRVNURVJOX1NZUklBQyAgICAgICAgICAgICAgICA9IDk2
LCAvKiBTeXJqICovCisgICAgICBVU0NSSVBUX0VBU1RFUk5fU1lSSUFDICAgICAgICAgICAgICAg
ID0gOTcsIC8qIFN5cm4gKi8KKyAgICAgIFVTQ1JJUFRfVEVOR1dBUiAgICAgICAgICAgICAgICAg
ICAgICAgPSA5OCwgLyogVGVuZyAqLworICAgICAgVVNDUklQVF9WQUkgICAgICAgICAgICAgICAg
ICAgICAgICAgICA9IDk5LCAvKiBWYWlpICovCisgICAgICBVU0NSSVBUX1ZJU0lCTEVfU1BFRUNI
ICAgICAgICAgICAgICAgID0gMTAwLCAvKiBWaXNwICovCisgICAgICBVU0NSSVBUX0NVTkVJRk9S
TSAgICAgICAgICAgICAgICAgICAgID0gMTAxLC8qIFhzdXggKi8KKyAgICAgIFVTQ1JJUFRfVU5X
UklUVEVOX0xBTkdVQUdFUyAgICAgICAgICAgPSAxMDIsLyogWnh4eCAqLworICAgICAgVVNDUklQ
VF9VTktOT1dOICAgICAgICAgICAgICAgICAgICAgICA9IDEwMywvKiBaenp6ICovIC8qIFVua25v
d249IkNvZGUgZm9yIHVuY29kZWQgc2NyaXB0IiwgZm9yIHVuYXNzaWduZWQgY29kZSBwb2ludHMg
Ki8KKyAgICAgIC8qIFByaXZhdGUgdXNlIGNvZGVzIGZyb20gUWFhYSAtIFFhYnggYXJlIG5vdCBz
dXBwb3J0ZWQqLworI2VuZGlmIC8qIFVfSElERV9EUkFGVF9BUEkgKi8KKyAgICAgIFVTQ1JJUFRf
Q09ERV9MSU1JVCAgICA9IDEwNAogfSBVU2NyaXB0Q29kZTsKIAogLyoqCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLmNwcAkocmV2aXNpb24gODk0ODUpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIsNiArNTIsMjAgQEAgc3RhdGljIHZv
aWQgc2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5SQogICAgICAgICBmcmFtZS0+ZG9jdW1lbnQo
KS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+c2V0QXV0b0xvYWRJbWFnZXMocGFnZS0+c2V0dGlu
Z3MoKS0+bG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KCkpOwogfQogCitzdGF0aWMgaW5saW5lIHZv
aWQgc2V0R2VuZXJpY0ZvbnRGYW1pbHlNYXAoU2NyaXB0Rm9udEZhbWlseU1hcCYgZm9udE1hcCwg
Y29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIFVTY3JpcHRDb2RlIHNjcmlwdCwgUGFnZSogcGFn
ZSkKK3sKKyAgICBmb250TWFwLnNldChzdGF0aWNfY2FzdDxpbnQ+KHNjcmlwdCksIGZhbWlseSk7
CisgICAgcGFnZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzKCk7Cit9CisKK3N0YXRp
YyBpbmxpbmUgY29uc3QgQXRvbWljU3RyaW5nJiBnZXRHZW5lcmljRm9udEZhbWlseUZvclNjcmlw
dChjb25zdCBTY3JpcHRGb250RmFtaWx5TWFwJiBmb250TWFwLCBVU2NyaXB0Q29kZSBzY3JpcHQp
Cit7CisgICAgU2NyaXB0Rm9udEZhbWlseU1hcDo6Y29uc3RfaXRlcmF0b3IgaXQgPSBmb250TWFw
LmZpbmQoc3RhdGljX2Nhc3Q8aW50PihzY3JpcHQpKTsKKyAgICBpZiAoaXQgIT0gZm9udE1hcC5l
bmQoKSkKKyAgICAgICAgcmV0dXJuIGl0LT5zZWNvbmQ7CisgICAgcmV0dXJuIGVtcHR5QXRvbTsK
K30KKwogI2lmIFVTRShTQUZBUklfVEhFTUUpCiBib29sIFNldHRpbmdzOjpnU2hvdWxkUGFpbnRO
YXRpdmVDb250cm9scyA9IHRydWU7CiAjZW5kaWYKQEAgLTE5Miw1OCArMjA2LDY0IEBAIFNldHRp
bmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogICAgIEF0b21pY1N0cmluZzo6aW5pdCgpOwogfQog
Ci12b2lkIFNldHRpbmdzOjpzZXRTdGFuZGFyZEZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5n
JiBzdGFuZGFyZEZvbnRGYW1pbHkpCitjb25zdCBBdG9taWNTdHJpbmcmIFNldHRpbmdzOjpzdGFu
ZGFyZEZvbnRGYW1pbHkoVVNjcmlwdENvZGUgc2NyaXB0KSBjb25zdAogewotICAgIGlmIChzdGFu
ZGFyZEZvbnRGYW1pbHkgPT0gbV9zdGFuZGFyZEZvbnRGYW1pbHkpCi0gICAgICAgIHJldHVybjsK
KyAgICByZXR1cm4gZ2V0R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQobV9zdGFuZGFyZEZvbnRG
YW1pbHlNYXAsIHNjcmlwdCk7Cit9CiAKLSAgICBtX3N0YW5kYXJkRm9udEZhbWlseSA9IHN0YW5k
YXJkRm9udEZhbWlseTsKLSAgICBtX3BhZ2UtPnNldE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1l
cygpOwordm9pZCBTZXR0aW5nczo6c2V0U3RhbmRhcmRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0
cmluZyYgZmFtaWx5LCBVU2NyaXB0Q29kZSBzY3JpcHQpCit7CisgICAgc2V0R2VuZXJpY0ZvbnRG
YW1pbHlNYXAobV9zdGFuZGFyZEZvbnRGYW1pbHlNYXAsIGZhbWlseSwgc2NyaXB0LCBtX3BhZ2Up
OwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRGaXhlZEZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3Ry
aW5nJiBmaXhlZEZvbnRGYW1pbHkpCitjb25zdCBBdG9taWNTdHJpbmcmIFNldHRpbmdzOjpmaXhl
ZEZvbnRGYW1pbHkoVVNjcmlwdENvZGUgc2NyaXB0KSBjb25zdAogewotICAgIGlmIChtX2ZpeGVk
Rm9udEZhbWlseSA9PSBmaXhlZEZvbnRGYW1pbHkpCi0gICAgICAgIHJldHVybjsKLSAgICAgICAg
Ci0gICAgbV9maXhlZEZvbnRGYW1pbHkgPSBmaXhlZEZvbnRGYW1pbHk7Ci0gICAgbV9wYWdlLT5z
ZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKKyAgICByZXR1cm4gZ2V0R2VuZXJpY0Zv
bnRGYW1pbHlGb3JTY3JpcHQobV9maXhlZEZvbnRGYW1pbHlNYXAsIHNjcmlwdCk7CiB9CiAKLXZv
aWQgU2V0dGluZ3M6OnNldFNlcmlmRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIHNlcmlm
Rm9udEZhbWlseSkKK3ZvaWQgU2V0dGluZ3M6OnNldEZpeGVkRm9udEZhbWlseShjb25zdCBBdG9t
aWNTdHJpbmcmIGZhbWlseSwgVVNjcmlwdENvZGUgc2NyaXB0KQogewotICAgIGlmIChtX3Nlcmlm
Rm9udEZhbWlseSA9PSBzZXJpZkZvbnRGYW1pbHkpCi0gICAgICAgIHJldHVybjsKLSAgICAgICAg
Ci0gICAgbV9zZXJpZkZvbnRGYW1pbHkgPSBzZXJpZkZvbnRGYW1pbHk7Ci0gICAgbV9wYWdlLT5z
ZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKKyAgICBzZXRHZW5lcmljRm9udEZhbWls
eU1hcChtX2ZpeGVkRm9udEZhbWlseU1hcCwgZmFtaWx5LCBzY3JpcHQsIG1fcGFnZSk7CiB9CiAK
LXZvaWQgU2V0dGluZ3M6OnNldFNhbnNTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5n
JiBzYW5zU2VyaWZGb250RmFtaWx5KQorY29uc3QgQXRvbWljU3RyaW5nJiBTZXR0aW5nczo6c2Vy
aWZGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKIHsKLSAgICBpZiAobV9zYW5z
U2VyaWZGb250RmFtaWx5ID09IHNhbnNTZXJpZkZvbnRGYW1pbHkpCi0gICAgICAgIHJldHVybjsK
LSAgICAgICAgCi0gICAgbV9zYW5zU2VyaWZGb250RmFtaWx5ID0gc2Fuc1NlcmlmRm9udEZhbWls
eTsgCi0gICAgbV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKKyAgICBy
ZXR1cm4gZ2V0R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQobV9zZXJpZkZvbnRGYW1pbHlNYXAs
IHNjcmlwdCk7CiB9CiAKLXZvaWQgU2V0dGluZ3M6OnNldEN1cnNpdmVGb250RmFtaWx5KGNvbnN0
IEF0b21pY1N0cmluZyYgY3Vyc2l2ZUZvbnRGYW1pbHkpCit2b2lkIFNldHRpbmdzOjpzZXRTZXJp
ZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIFVTY3JpcHRDb2RlIHNjcmlw
dCkKIHsKLSAgICBpZiAobV9jdXJzaXZlRm9udEZhbWlseSA9PSBjdXJzaXZlRm9udEZhbWlseSkK
LSAgICAgICAgcmV0dXJuOwotICAgICAgICAKLSAgICBtX2N1cnNpdmVGb250RmFtaWx5ID0gY3Vy
c2l2ZUZvbnRGYW1pbHk7Ci0gICAgbV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFt
ZXMoKTsKKyAgICAgc2V0R2VuZXJpY0ZvbnRGYW1pbHlNYXAobV9zZXJpZkZvbnRGYW1pbHlNYXAs
IGZhbWlseSwgc2NyaXB0LCBtX3BhZ2UpOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRGYW50YXN5
Rm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZhbnRhc3lGb250RmFtaWx5KQorY29uc3Qg
QXRvbWljU3RyaW5nJiBTZXR0aW5nczo6c2Fuc1NlcmlmRm9udEZhbWlseShVU2NyaXB0Q29kZSBz
Y3JpcHQpIGNvbnN0CiB7Ci0gICAgaWYgKG1fZmFudGFzeUZvbnRGYW1pbHkgPT0gZmFudGFzeUZv
bnRGYW1pbHkpCi0gICAgICAgIHJldHVybjsKLSAgICAgICAgCi0gICAgbV9mYW50YXN5Rm9udEZh
bWlseSA9IGZhbnRhc3lGb250RmFtaWx5OwotICAgIG1fcGFnZS0+c2V0TmVlZHNSZWNhbGNTdHls
ZUluQWxsRnJhbWVzKCk7CisgICAgcmV0dXJuIGdldEdlbmVyaWNGb250RmFtaWx5Rm9yU2NyaXB0
KG1fc2Fuc1NlcmlmRm9udEZhbWlseU1hcCwgc2NyaXB0KTsKK30KKwordm9pZCBTZXR0aW5nczo6
c2V0U2Fuc1NlcmlmRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSwgVVNjcmlw
dENvZGUgc2NyaXB0KQoreworICAgIHNldEdlbmVyaWNGb250RmFtaWx5TWFwKG1fc2Fuc1Nlcmlm
Rm9udEZhbWlseU1hcCwgZmFtaWx5LCBzY3JpcHQsIG1fcGFnZSk7Cit9CisKK2NvbnN0IEF0b21p
Y1N0cmluZyYgU2V0dGluZ3M6OmN1cnNpdmVGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gZ2V0R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQobV9jdXJz
aXZlRm9udEZhbWlseU1hcCwgc2NyaXB0KTsKK30KKwordm9pZCBTZXR0aW5nczo6c2V0Q3Vyc2l2
ZUZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIFVTY3JpcHRDb2RlIHNjcmlw
dCkKK3sKKyAgICBzZXRHZW5lcmljRm9udEZhbWlseU1hcChtX2N1cnNpdmVGb250RmFtaWx5TWFw
LCBmYW1pbHksIHNjcmlwdCwgbV9wYWdlKTsKK30KKworY29uc3QgQXRvbWljU3RyaW5nJiBTZXR0
aW5nczo6ZmFudGFzeUZvbnRGYW1pbHkoVVNjcmlwdENvZGUgc2NyaXB0KSBjb25zdAoreworICAg
IHJldHVybiBnZXRHZW5lcmljRm9udEZhbWlseUZvclNjcmlwdChtX2ZhbnRhc3lGb250RmFtaWx5
TWFwLCBzY3JpcHQpOworfQorCit2b2lkIFNldHRpbmdzOjpzZXRGYW50YXN5Rm9udEZhbWlseShj
b25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSwgVVNjcmlwdENvZGUgc2NyaXB0KQoreworICAgIHNl
dEdlbmVyaWNGb250RmFtaWx5TWFwKG1fZmFudGFzeUZvbnRGYW1pbHlNYXAsIGZhbWlseSwgc2Ny
aXB0LCBtX3BhZ2UpOwogfQogCiB2b2lkIFNldHRpbmdzOjpzZXRNaW5pbXVtRm9udFNpemUoaW50
IG1pbmltdW1Gb250U2l6ZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgJKHJldmlzaW9uIDg5
NDg1KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zMSw3ICszMSwxMCBAQAogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdNb2RlLmgiCiAjaW5jbHVk
ZSAiS1VSTC5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9B
dG9taWNTdHJpbmdIYXNoLmg+CisjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTUxLDI4ICs1NCwzOSBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIFRleHREaXJlY3Rpb25TdWJtZW51QWx3YXlzSW5jbHVkZWQKICAgICB9Owog
CisgICAgLy8gVVNjcmlwdENvZGUgdXNlcyAtMSBhbmQgMCBmb3IgVVNjcmlwdEludmFsaWRDb2Rl
IGFuZCBVU2NyaXB0Q29tbW9uLgorICAgIC8vIFdlIG5lZWQgdG8gdXNlIC0yIGFuZCAtMyBmb3Ig
ZW1wdHkgdmFsdWUgYW5kIGRlbGV0ZWQgdmFsdWUuCisgICAgc3RydWN0IFVTY3JpcHRDb2RlSGFz
aFRyYWl0cyA6IFdURjo6R2VuZXJpY0hhc2hUcmFpdHM8aW50PiB7CisgICAgICAgIHN0YXRpYyBj
b25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8gPSBmYWxzZTsKKyAgICAgICAgc3RhdGljIGludCBl
bXB0eVZhbHVlKCkgeyByZXR1cm4gLTI7IH0KKyAgICAgICAgc3RhdGljIHZvaWQgY29uc3RydWN0
RGVsZXRlZFZhbHVlKGludCYgc2xvdCkgeyBzbG90ID0gLTM7IH0KKyAgICAgICAgc3RhdGljIGJv
b2wgaXNEZWxldGVkVmFsdWUoaW50IHZhbHVlKSB7IHJldHVybiB2YWx1ZSA9PSAtMzsgfQorICAg
IH07CisKKyAgICB0eXBlZGVmIEhhc2hNYXA8aW50LCBBdG9taWNTdHJpbmcsIERlZmF1bHRIYXNo
PGludD46Okhhc2gsIFVTY3JpcHRDb2RlSGFzaFRyYWl0cz4gU2NyaXB0Rm9udEZhbWlseU1hcDsK
KwogICAgIGNsYXNzIFNldHRpbmdzIHsKICAgICAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2V0
dGluZ3MpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJsaWM6CiAgICAgICAgIFNl
dHRpbmdzKFBhZ2UqKTsKIAotICAgICAgICB2b2lkIHNldFN0YW5kYXJkRm9udEZhbWlseShjb25z
dCBBdG9taWNTdHJpbmcmKTsKLSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBzdGFuZGFyZEZv
bnRGYW1pbHkoKSBjb25zdCB7IHJldHVybiBtX3N0YW5kYXJkRm9udEZhbWlseTsgfQorICAgICAg
ICB2b2lkIHNldFN0YW5kYXJkRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmLCBVU2NyaXB0
Q29kZSA9IFVTQ1JJUFRfQ09NTU9OKTsKKyAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBzdGFu
ZGFyZEZvbnRGYW1pbHkoVVNjcmlwdENvZGUgPSBVU0NSSVBUX0NPTU1PTikgY29uc3Q7CiAKLSAg
ICAgICAgdm9pZCBzZXRGaXhlZEZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJik7Ci0gICAg
ICAgIGNvbnN0IEF0b21pY1N0cmluZyYgZml4ZWRGb250RmFtaWx5KCkgY29uc3QgeyByZXR1cm4g
bV9maXhlZEZvbnRGYW1pbHk7IH0KKyAgICAgICAgdm9pZCBzZXRGaXhlZEZvbnRGYW1pbHkoY29u
c3QgQXRvbWljU3RyaW5nJiwgVVNjcmlwdENvZGUgPSBVU0NSSVBUX0NPTU1PTik7CisgICAgICAg
IGNvbnN0IEF0b21pY1N0cmluZyYgZml4ZWRGb250RmFtaWx5KFVTY3JpcHRDb2RlID0gVVNDUklQ
VF9DT01NT04pIGNvbnN0OwogCi0gICAgICAgIHZvaWQgc2V0U2VyaWZGb250RmFtaWx5KGNvbnN0
IEF0b21pY1N0cmluZyYpOwotICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHNlcmlmRm9udEZh
bWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fc2VyaWZGb250RmFtaWx5OyB9CisgICAgICAgIHZvaWQg
c2V0U2VyaWZGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYsIFVTY3JpcHRDb2RlID0gVVND
UklQVF9DT01NT04pOworICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHNlcmlmRm9udEZhbWls
eShVU2NyaXB0Q29kZSA9IFVTQ1JJUFRfQ09NTU9OKSBjb25zdDsKIAotICAgICAgICB2b2lkIHNl
dFNhbnNTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJik7Ci0gICAgICAgIGNvbnN0
IEF0b21pY1N0cmluZyYgc2Fuc1NlcmlmRm9udEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fc2Fu
c1NlcmlmRm9udEZhbWlseTsgfQorICAgICAgICB2b2lkIHNldFNhbnNTZXJpZkZvbnRGYW1pbHko
Y29uc3QgQXRvbWljU3RyaW5nJiwgVVNjcmlwdENvZGUgPSBVU0NSSVBUX0NPTU1PTik7CisgICAg
ICAgIGNvbnN0IEF0b21pY1N0cmluZyYgc2Fuc1NlcmlmRm9udEZhbWlseShVU2NyaXB0Q29kZSA9
IFVTQ1JJUFRfQ09NTU9OKSBjb25zdDsKIAotICAgICAgICB2b2lkIHNldEN1cnNpdmVGb250RmFt
aWx5KGNvbnN0IEF0b21pY1N0cmluZyYpOwotICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGN1
cnNpdmVGb250RmFtaWx5KCkgY29uc3QgeyByZXR1cm4gbV9jdXJzaXZlRm9udEZhbWlseTsgfQor
ICAgICAgICB2b2lkIHNldEN1cnNpdmVGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYsIFVT
Y3JpcHRDb2RlID0gVVNDUklQVF9DT01NT04pOworICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcm
IGN1cnNpdmVGb250RmFtaWx5KFVTY3JpcHRDb2RlID0gVVNDUklQVF9DT01NT04pIGNvbnN0Owog
Ci0gICAgICAgIHZvaWQgc2V0RmFudGFzeUZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJik7
Ci0gICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgZmFudGFzeUZvbnRGYW1pbHkoKSBjb25zdCB7
IHJldHVybiBtX2ZhbnRhc3lGb250RmFtaWx5OyB9CisgICAgICAgIHZvaWQgc2V0RmFudGFzeUZv
bnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiwgVVNjcmlwdENvZGUgPSBVU0NSSVBUX0NPTU1P
Tik7CisgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgZmFudGFzeUZvbnRGYW1pbHkoVVNjcmlw
dENvZGUgPSBVU0NSSVBUX0NPTU1PTikgY29uc3Q7CiAKICAgICAgICAgdm9pZCBzZXRNaW5pbXVt
Rm9udFNpemUoaW50KTsKICAgICAgICAgaW50IG1pbmltdW1Gb250U2l6ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fbWluaW11bUZvbnRTaXplOyB9CkBAIC00MjEsMTIgKzQzNSwxMiBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIFN0cmluZyBtX2Z0cERpcmVjdG9yeVRlbXBsYXRlUGF0aDsKICAg
ICAgICAgU3RyaW5nIG1fbG9jYWxTdG9yYWdlRGF0YWJhc2VQYXRoOwogICAgICAgICBLVVJMIG1f
dXNlclN0eWxlU2hlZXRMb2NhdGlvbjsKLSAgICAgICAgQXRvbWljU3RyaW5nIG1fc3RhbmRhcmRG
b250RmFtaWx5OwotICAgICAgICBBdG9taWNTdHJpbmcgbV9maXhlZEZvbnRGYW1pbHk7Ci0gICAg
ICAgIEF0b21pY1N0cmluZyBtX3NlcmlmRm9udEZhbWlseTsKLSAgICAgICAgQXRvbWljU3RyaW5n
IG1fc2Fuc1NlcmlmRm9udEZhbWlseTsKLSAgICAgICAgQXRvbWljU3RyaW5nIG1fY3Vyc2l2ZUZv
bnRGYW1pbHk7Ci0gICAgICAgIEF0b21pY1N0cmluZyBtX2ZhbnRhc3lGb250RmFtaWx5OworICAg
ICAgICBTY3JpcHRGb250RmFtaWx5TWFwIG1fc3RhbmRhcmRGb250RmFtaWx5TWFwOworICAgICAg
ICBTY3JpcHRGb250RmFtaWx5TWFwIG1fc2VyaWZGb250RmFtaWx5TWFwOworICAgICAgICBTY3Jp
cHRGb250RmFtaWx5TWFwIG1fZml4ZWRGb250RmFtaWx5TWFwOworICAgICAgICBTY3JpcHRGb250
RmFtaWx5TWFwIG1fc2Fuc1NlcmlmRm9udEZhbWlseU1hcDsKKyAgICAgICAgU2NyaXB0Rm9udEZh
bWlseU1hcCBtX2N1cnNpdmVGb250RmFtaWx5TWFwOworICAgICAgICBTY3JpcHRGb250RmFtaWx5
TWFwIG1fZmFudGFzeUZvbnRGYW1pbHlNYXA7CiAgICAgICAgIEVkaXRhYmxlTGlua0JlaGF2aW9y
IG1fZWRpdGFibGVMaW5rQmVoYXZpb3I7CiAgICAgICAgIFRleHREaXJlY3Rpb25TdWJtZW51SW5j
bHVzaW9uQmVoYXZpb3IgbV90ZXh0RGlyZWN0aW9uU3VibWVudUluY2x1c2lvbkJlaGF2aW9yOwog
ICAgICAgICBpbnQgbV9taW5pbXVtRm9udFNpemU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98366</attachid>
            <date>2011-06-23 10:26:45 -0700</date>
            <delta_ts>2011-06-30 15:35:51 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-20797-20110623102644.patch</filename>
            <type>text/plain</type>
            <size>54367</size>
            <attacher name="Jungshik Shin">jshin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODk0OTkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAK
KzIwMTEtMDYtMjIgIEp1bmdzaGlrIFNoaW4gIDxqc2hpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KKworICAgICAgICBBZGQgU2NyaXB0
Q29kZXNGcm9tSUNVLmggdG8gd3RmL3VuaWNvZGUgYW5kIG1ha2UgbmVjZXNzYXJ5IGNoYW5nZXMg
aW4KKyAgICAgICAgYnVpbGQgZmlsZXMgZm9yIHBvcnRzIG5vdCB1c2luZyBJQ1UuCisgICAgICAg
IEFkZCBpY3UvdW5pY29kZS91c2NyaXB0LmggZm9yIHBvcnRzIHVzaW5nIElDVS4gSXQncyB0YWtl
biBmcm9tIAorICAgICAgICBJQ1UgMy42ICh0aGUgdmVyc2lvbiB1c2VkIG9uIE1hYyBPUyAxMC41
KQorCisgICAgICAgIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzk3
CisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIEphdmFTY3JpcHRD
b3JlLmd5cGk6CisgICAgICAgICogaWN1L3VuaWNvZGUvdXNjcmlwdC5oOiBBZGRlZCBmb3IgVVNj
cmlwdENvZGUgZW51bS4KKyAgICAgICAgKiB3dGYvdW5pY29kZS9TY3JpcHRDb2Rlc0Zyb21JQ1Uu
aDogVVNjcmlwdENvZGUgZW51bSBhZGRlZC4KKyAgICAgICAgKiB3dGYvdW5pY29kZS9pY3UvVW5p
Y29kZUljdS5oOgorICAgICAgICAqIHd0Zi91bmljb2RlL2JyZXcvVW5pY29kZUJyZXcuaDoKKyAg
ICAgICAgKiB3dGYvdW5pY29kZS9nbGliL1VuaWNvZGVHTGliLmg6CisgICAgICAgICogd3RmL3Vu
aWNvZGUvcXQ0L1VuaWNvZGVRdDQuaDoKKyAgICAgICAgKiB3dGYvdW5pY29kZS93aW5jZS9Vbmlj
b2RlV2luQ0UuaDoKKwogMjAxMS0wNi0yMiAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJv
dEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjg5NDg5LgpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHJldmlzaW9u
IDg5NDg1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHdv
cmtpbmcgY29weSkKQEAgLTYzMCw2ICs2MzAsNyBAQCBlbmRpZiAjIFVTRV9JQ1VfVU5JQ09ERQog
aWYgVVNFX0dMSUJfVU5JQ09ERQogamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1VuaWNvZGVNYWNyb3NGcm9tSUNVLmggXAorCVNv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9TY3JpcHRDb2Rlc0Zyb21JQ1UuaCBcCiAJ
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL2dsaWIvVW5pY29kZUdMaWIuaCBcCiAJ
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL2dsaWIvVW5pY29kZUdMaWIuY3BwCiBl
bmRpZiAjIFVTRV9HTElCX1VOSUNPREUKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5neXBpCShyZXZpc2lvbiA4OTQ4NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0zNjUsNiArMzY1LDcgQEAK
ICAgICAgICAgICAgICdpY3UvdW5pY29kZS91bWFjaGluZS5oJywKICAgICAgICAgICAgICdpY3Uv
dW5pY29kZS91bm9ybS5oJywKICAgICAgICAgICAgICdpY3UvdW5pY29kZS91cmVuYW1lLmgnLAor
ICAgICAgICAgICAgJ2ljdS91bmljb2RlL3VzY3JpcHQuaCcsCiAgICAgICAgICAgICAnaWN1L3Vu
aWNvZGUvdXNldC5oJywKICAgICAgICAgICAgICdpY3UvdW5pY29kZS91c3RyaW5nLmgnLAogICAg
ICAgICAgICAgJ2ljdS91bmljb2RlL3V0Zi5oJywKQEAgLTY1NSw2ICs2NTYsNyBAQAogICAgICAg
ICAgICAgJ3d0Zi90ZXh0L1N0cmluZ1N0YXRpY3MuY3BwJywKICAgICAgICAgICAgICd3dGYvdGV4
dC9XVEZTdHJpbmcuY3BwJywKICAgICAgICAgICAgICd3dGYvdW5pY29kZS9Db2xsYXRvckRlZmF1
bHQuY3BwJywKKyAgICAgICAgICAgICd3dGYvdW5pY29kZS9TY3JpcHRDb2Rlc0Zyb21JQ1UuaCcs
CiAgICAgICAgICAgICAnd3RmL3VuaWNvZGUvVVRGOC5jcHAnLAogICAgICAgICAgICAgJ3d0Zi91
bmljb2RlL1VuaWNvZGVNYWNyb3NGcm9tSUNVLmgnLAogICAgICAgICAgICAgJ3d0Zi91bmljb2Rl
L2JyZXcvVW5pY29kZUJyZXcuY3BwJywKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3Uv
dW5pY29kZS91c2NyaXB0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2lj
dS91bmljb2RlL3VzY3JpcHQuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pY3UvdW5pY29kZS91c2NyaXB0LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjI0IEBACisv
KgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKgorKiAgIENvcHlyaWdodCAoQykgMTk5Ny0yMDA2LCBJbnRlcm5hdGlv
bmFsIEJ1c2luZXNzIE1hY2hpbmVzCisqICAgQ29ycG9yYXRpb24gYW5kIG90aGVycy4gIEFsbCBS
aWdodHMgUmVzZXJ2ZWQuCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqCisqIEZpbGUgVVNDUklQVC5ICisqCisq
IE1vZGlmaWNhdGlvbiBIaXN0b3J5OgorKgorKiAgIERhdGUgICAgICAgIE5hbWUgICAgICAgIERl
c2NyaXB0aW9uCisqICAgMDcvMDYvMjAwMSAgICBSYW0gICAgICAgICBDcmVhdGlvbi4KKyoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKgorKi8KKyNpZm5kZWYgVVNDUklQVF9ICisjZGVmaW5lIFVTQ1JJUFRf
SAorI2luY2x1ZGUgInVuaWNvZGUvdXR5cGVzLmgiCisKKy8qKgorICogXGZpbGUKKyAqIFxicmll
ZiBDIEFQSTogVW5pY29kZSBTY3JpcHQgSW5mb3JtYXRpb24KKyAqLworIAorLyoqCisgKiBDb25z
dGFudHMgZm9yIElTTyAxNTkyNCBzY3JpcHQgY29kZXMuCisgKgorICogTWFueSBvZiB0aGVzZSBz
Y3JpcHQgY29kZXMgLSB0aG9zZSBmcm9tIFVuaWNvZGUncyBTY3JpcHROYW1lcy50eHQgLQorICog
YXJlIGNoYXJhY3RlciBwcm9wZXJ0eSB2YWx1ZXMgZm9yIFVuaWNvZGUncyBTY3JpcHQgcHJvcGVy
dHkuCisgKiBTZWUgVUFYICMyNCBTY3JpcHQgTmFtZXMgKGh0dHA6Ly93d3cudW5pY29kZS5vcmcv
cmVwb3J0cy90cjI0LykuCisgKgorICogU3RhcnRpbmcgd2l0aCBJQ1UgMy42LCBjb25zdGFudHMg
Zm9yIG1vc3QgSVNPIDE1OTI0IHNjcmlwdCBjb2RlcworICogYXJlIGluY2x1ZGVkIChjdXJyZW50
bHkgZXhjbHVkaW5nIHByaXZhdGUtdXNlIGNvZGVzIFFhYWEuLlFhYngpLgorICogRm9yIHNjcmlw
dHMgZm9yIHdoaWNoIHRoZXJlIGFyZSBjb2RlcyBpbiBJU08gMTU5MjQgYnV0IHdoaWNoIGFyZSBu
b3QKKyAqIHVzZWQgaW4gdGhlIFVuaWNvZGUgQ2hhcmFjdGVyIERhdGFiYXNlIChVQ0QpLCB0aGVy
ZSBhcmUgbm8gVW5pY29kZSBjaGFyYWN0ZXJzCisgKiBhc3NvY2lhdGVkIHdpdGggdGhvc2Ugc2Ny
aXB0cy4KKyAqCisgKiBGb3IgZXhhbXBsZSwgdGhlcmUgYXJlIG5vIGNoYXJhY3RlcnMgdGhhdCBo
YXZlIGEgVUNEIHNjcmlwdCBjb2RlIG9mCisgKiBIYW5zIG9yIEhhbnQuIEFsbCBIYW4gaWRlb2dy
YXBocyBoYXZlIHRoZSBIYW5pIHNjcmlwdCBjb2RlLgorICogVGhlIEhhbnMgYW5kIEhhbnQgc2Ny
aXB0IGNvZGVzIGFyZSB1c2VkIHdpdGggQ0xEUiBkYXRhLgorICoKKyAqIElTTyAxNTkyNCBzY3Jp
cHQgY29kZXMgYXJlIGluY2x1ZGVkIGZvciB1c2Ugd2l0aCBDTERSIGFuZCBzaW1pbGFyLgorICoK
KyAqIEBzdGFibGUgSUNVIDIuMgorICovCit0eXBlZGVmIGVudW0gVVNjcmlwdENvZGUgeworICAg
ICAgVVNDUklQVF9JTlZBTElEX0NPREUgPSAtMSwKKyAgICAgIFVTQ1JJUFRfQ09NTU9OICAgICAg
ID0gIDAgLCAvKiBaeXl5ICovCisgICAgICBVU0NSSVBUX0lOSEVSSVRFRCAgICA9ICAxLCAgLyog
UWFhaSAqLworICAgICAgVVNDUklQVF9BUkFCSUMgICAgICAgPSAgMiwgIC8qIEFyYWIgKi8KKyAg
ICAgIFVTQ1JJUFRfQVJNRU5JQU4gICAgID0gIDMsICAvKiBBcm1uICovCisgICAgICBVU0NSSVBU
X0JFTkdBTEkgICAgICA9ICA0LCAgLyogQmVuZyAqLworICAgICAgVVNDUklQVF9CT1BPTU9GTyAg
ICAgPSAgNSwgIC8qIEJvcG8gKi8KKyAgICAgIFVTQ1JJUFRfQ0hFUk9LRUUgICAgID0gIDYsICAv
KiBDaGVyICovCisgICAgICBVU0NSSVBUX0NPUFRJQyAgICAgICA9ICA3LCAgLyogQ29wdCAqLwor
ICAgICAgVVNDUklQVF9DWVJJTExJQyAgICAgPSAgOCwgIC8qIEN5cmwgKi8KKyAgICAgIFVTQ1JJ
UFRfREVTRVJFVCAgICAgID0gIDksICAvKiBEc3J0ICovCisgICAgICBVU0NSSVBUX0RFVkFOQUdB
UkkgICA9IDEwLCAgLyogRGV2YSAqLworICAgICAgVVNDUklQVF9FVEhJT1BJQyAgICAgPSAxMSwg
IC8qIEV0aGkgKi8KKyAgICAgIFVTQ1JJUFRfR0VPUkdJQU4gICAgID0gMTIsICAvKiBHZW9yICov
CisgICAgICBVU0NSSVBUX0dPVEhJQyAgICAgICA9IDEzLCAgLyogR290aCAqLworICAgICAgVVND
UklQVF9HUkVFSyAgICAgICAgPSAxNCwgIC8qIEdyZWsgKi8KKyAgICAgIFVTQ1JJUFRfR1VKQVJB
VEkgICAgID0gMTUsICAvKiBHdWpyICovCisgICAgICBVU0NSSVBUX0dVUk1VS0hJICAgICA9IDE2
LCAgLyogR3VydSAqLworICAgICAgVVNDUklQVF9IQU4gICAgICAgICAgPSAxNywgIC8qIEhhbmkg
Ki8KKyAgICAgIFVTQ1JJUFRfSEFOR1VMICAgICAgID0gMTgsICAvKiBIYW5nICovCisgICAgICBV
U0NSSVBUX0hFQlJFVyAgICAgICA9IDE5LCAgLyogSGViciAqLworICAgICAgVVNDUklQVF9ISVJB
R0FOQSAgICAgPSAyMCwgIC8qIEhpcmEgKi8KKyAgICAgIFVTQ1JJUFRfS0FOTkFEQSAgICAgID0g
MjEsICAvKiBLbmRhICovCisgICAgICBVU0NSSVBUX0tBVEFLQU5BICAgICA9IDIyLCAgLyogS2Fu
YSAqLworICAgICAgVVNDUklQVF9LSE1FUiAgICAgICAgPSAyMywgIC8qIEtobXIgKi8KKyAgICAg
IFVTQ1JJUFRfTEFPICAgICAgICAgID0gMjQsICAvKiBMYW9vICovCisgICAgICBVU0NSSVBUX0xB
VElOICAgICAgICA9IDI1LCAgLyogTGF0biAqLworICAgICAgVVNDUklQVF9NQUxBWUFMQU0gICAg
PSAyNiwgIC8qIE1seW0gKi8KKyAgICAgIFVTQ1JJUFRfTU9OR09MSUFOICAgID0gMjcsICAvKiBN
b25nICovCisgICAgICBVU0NSSVBUX01ZQU5NQVIgICAgICA9IDI4LCAgLyogTXltciAqLworICAg
ICAgVVNDUklQVF9PR0hBTSAgICAgICAgPSAyOSwgIC8qIE9nYW0gKi8KKyAgICAgIFVTQ1JJUFRf
T0xEX0lUQUxJQyAgID0gMzAsICAvKiBJdGFsICovCisgICAgICBVU0NSSVBUX09SSVlBICAgICAg
ICA9IDMxLCAgLyogT3J5YSAqLworICAgICAgVVNDUklQVF9SVU5JQyAgICAgICAgPSAzMiwgIC8q
IFJ1bnIgKi8KKyAgICAgIFVTQ1JJUFRfU0lOSEFMQSAgICAgID0gMzMsICAvKiBTaW5oICovCisg
ICAgICBVU0NSSVBUX1NZUklBQyAgICAgICA9IDM0LCAgLyogU3lyYyAqLworICAgICAgVVNDUklQ
VF9UQU1JTCAgICAgICAgPSAzNSwgIC8qIFRhbWwgKi8KKyAgICAgIFVTQ1JJUFRfVEVMVUdVICAg
ICAgID0gMzYsICAvKiBUZWx1ICovCisgICAgICBVU0NSSVBUX1RIQUFOQSAgICAgICA9IDM3LCAg
LyogVGhhYSAqLworICAgICAgVVNDUklQVF9USEFJICAgICAgICAgPSAzOCwgIC8qIFRoYWkgKi8K
KyAgICAgIFVTQ1JJUFRfVElCRVRBTiAgICAgID0gMzksICAvKiBUaWJ0ICovCisgICAgICAvKiog
Q2FuYWRpYW5fQWJvcmlnaW5hbCBzY3JpcHQuIEBzdGFibGUgSUNVIDIuNiAqLworICAgICAgVVND
UklQVF9DQU5BRElBTl9BQk9SSUdJTkFMID0gNDAsICAvKiBDYW5zICovCisgICAgICAvKiogQ2Fu
YWRpYW5fQWJvcmlnaW5hbCBzY3JpcHQgKGFsaWFzKS4gQHN0YWJsZSBJQ1UgMi4yICovCisgICAg
ICBVU0NSSVBUX1VDQVMgICAgICAgICA9IFVTQ1JJUFRfQ0FOQURJQU5fQUJPUklHSU5BTCwKKyAg
ICAgIFVTQ1JJUFRfWUkgICAgICAgICAgID0gNDEsICAvKiBZaWlpICovCisgICAgICBVU0NSSVBU
X1RBR0FMT0cgICAgICA9IDQyLCAgLyogVGdsZyAqLworICAgICAgVVNDUklQVF9IQU5VTk9PICAg
ICAgPSA0MywgIC8qIEhhbm8gKi8KKyAgICAgIFVTQ1JJUFRfQlVISUQgICAgICAgID0gNDQsICAv
KiBCdWhkICovCisgICAgICBVU0NSSVBUX1RBR0JBTldBICAgICA9IDQ1LCAgLyogVGFnYiAqLwor
CisgICAgICAvKiBOZXcgc2NyaXB0cyBpbiBVbmljb2RlIDQgQHN0YWJsZSBJQ1UgMi42ICovCisg
ICAgICBVU0NSSVBUX0JSQUlMTEUgICAgICA9IDQ2LCAgLyogQnJhaSAqLworICAgICAgVVNDUklQ
VF9DWVBSSU9UICAgICAgPSA0NywgIC8qIENwcnQgKi8KKyAgICAgIFVTQ1JJUFRfTElNQlUgICAg
ICAgID0gNDgsICAvKiBMaW1iICovCisgICAgICBVU0NSSVBUX0xJTkVBUl9CICAgICA9IDQ5LCAg
LyogTGluYiAqLworICAgICAgVVNDUklQVF9PU01BTllBICAgICAgPSA1MCwgIC8qIE9zbWEgKi8K
KyAgICAgIFVTQ1JJUFRfU0hBVklBTiAgICAgID0gNTEsICAvKiBTaGF3ICovCisgICAgICBVU0NS
SVBUX1RBSV9MRSAgICAgICA9IDUyLCAgLyogVGFsZSAqLworICAgICAgVVNDUklQVF9VR0FSSVRJ
QyAgICAgPSA1MywgIC8qIFVnYXIgKi8KKworICAgICAgLyoqIE5ldyBzY3JpcHQgY29kZSBpbiBV
bmljb2RlIDQuMC4xIEBzdGFibGUgSUNVIDMuMCAqLworICAgICAgVVNDUklQVF9LQVRBS0FOQV9P
Ul9ISVJBR0FOQSA9IDU0LC8qSHJrdCAqLworICAgICAgCisjaWZuZGVmIFVfSElERV9EUkFGVF9B
UEkKKyAgICAgIC8qIE5ldyBzY3JpcHRzIGluIFVuaWNvZGUgNC4xIEBkcmFmdCBJQ1UgMy40ICov
CisgICAgICBVU0NSSVBUX0JVR0lORVNFICAgICAgPSA1NSwgLyogQnVnaSAqLworICAgICAgVVND
UklQVF9HTEFHT0xJVElDICAgID0gNTYsIC8qIEdsYWcgKi8KKyAgICAgIFVTQ1JJUFRfS0hBUk9T
SFRISSAgICA9IDU3LCAvKiBLaGFyICovCisgICAgICBVU0NSSVBUX1NZTE9USV9OQUdSSSAgPSA1
OCwgLyogU3lsbyAqLworICAgICAgVVNDUklQVF9ORVdfVEFJX0xVRSAgID0gNTksIC8qIFRhbHUg
Ki8KKyAgICAgIFVTQ1JJUFRfVElGSU5BR0ggICAgICA9IDYwLCAvKiBUZm5nICovCisgICAgICBV
U0NSSVBUX09MRF9QRVJTSUFOICAgPSA2MSwgLyogWHBlbyAqLworCisgICAgICAvKiBOZXcgc2Ny
aXB0IGNvZGVzIGZyb20gSVNPIDE1OTI0IEBkcmFmdCBJQ1UgMy42ICovCisgICAgICBVU0NSSVBU
X0JBTElORVNFICAgICAgICAgICAgICAgICAgICAgID0gNjIsIC8qIEJhbGkgKi8KKyAgICAgIFVT
Q1JJUFRfQkFUQUsgICAgICAgICAgICAgICAgICAgICAgICAgPSA2MywgLyogQmF0ayAqLworICAg
ICAgVVNDUklQVF9CTElTU1lNQk9MUyAgICAgICAgICAgICAgICAgICA9IDY0LCAvKiBCbGlzICov
CisgICAgICBVU0NSSVBUX0JSQUhNSSAgICAgICAgICAgICAgICAgICAgICAgID0gNjUsIC8qIEJy
YWggKi8KKyAgICAgIFVTQ1JJUFRfQ0hBTSAgICAgICAgICAgICAgICAgICAgICAgICAgPSA2Niwg
LyogQ2hhbSAqLworICAgICAgVVNDUklQVF9DSVJUSCAgICAgICAgICAgICAgICAgICAgICAgICA9
IDY3LCAvKiBDaXJ0ICovCisgICAgICBVU0NSSVBUX09MRF9DSFVSQ0hfU0xBVk9OSUNfQ1lSSUxM
SUMgID0gNjgsIC8qIEN5cnMgKi8KKyAgICAgIFVTQ1JJUFRfREVNT1RJQ19FR1lQVElBTiAgICAg
ICAgICAgICAgPSA2OSwgLyogRWd5ZCAqLworICAgICAgVVNDUklQVF9ISUVSQVRJQ19FR1lQVElB
TiAgICAgICAgICAgICA9IDcwLCAvKiBFZ3loICovCisgICAgICBVU0NSSVBUX0VHWVBUSUFOX0hJ
RVJPR0xZUEhTICAgICAgICAgID0gNzEsIC8qIEVneXAgKi8KKyAgICAgIFVTQ1JJUFRfS0hVVFNV
UkkgICAgICAgICAgICAgICAgICAgICAgPSA3MiwgLyogR2VvayAqLworICAgICAgVVNDUklQVF9T
SU1QTElGSUVEX0hBTiAgICAgICAgICAgICAgICA9IDczLCAvKiBIYW5zICovCisgICAgICBVU0NS
SVBUX1RSQURJVElPTkFMX0hBTiAgICAgICAgICAgICAgID0gNzQsIC8qIEhhbnQgKi8KKyAgICAg
IFVTQ1JJUFRfUEFIQVdIX0hNT05HICAgICAgICAgICAgICAgICAgPSA3NSwgLyogSG1uZyAqLwor
ICAgICAgVVNDUklQVF9PTERfSFVOR0FSSUFOICAgICAgICAgICAgICAgICA9IDc2LCAvKiBIdW5n
ICovCisgICAgICBVU0NSSVBUX0hBUkFQUEFOX0lORFVTICAgICAgICAgICAgICAgID0gNzcsIC8q
IEluZHMgKi8KKyAgICAgIFVTQ1JJUFRfSkFWQU5FU0UgICAgICAgICAgICAgICAgICAgICAgPSA3
OCwgLyogSmF2YSAqLworICAgICAgVVNDUklQVF9LQVlBSF9MSSAgICAgICAgICAgICAgICAgICAg
ICA9IDc5LCAvKiBLYWxpICovCisgICAgICBVU0NSSVBUX0xBVElOX0ZSQUtUVVIgICAgICAgICAg
ICAgICAgID0gODAsIC8qIExhdGYgKi8KKyAgICAgIFVTQ1JJUFRfTEFUSU5fR0FFTElDICAgICAg
ICAgICAgICAgICAgPSA4MSwgLyogTGF0ZyAqLworICAgICAgVVNDUklQVF9MRVBDSEEgICAgICAg
ICAgICAgICAgICAgICAgICA9IDgyLCAvKiBMZXBjICovCisgICAgICBVU0NSSVBUX0xJTkVBUl9B
ICAgICAgICAgICAgICAgICAgICAgID0gODMsIC8qIExpbmEgKi8KKyAgICAgIFVTQ1JJUFRfTUFO
REFFQU4gICAgICAgICAgICAgICAgICAgICAgPSA4NCwgLyogTWFuZCAqLworICAgICAgVVNDUklQ
VF9NQVlBTl9ISUVST0dMWVBIUyAgICAgICAgICAgICA9IDg1LCAvKiBNYXlhICovCisgICAgICBV
U0NSSVBUX01FUk9JVElDICAgICAgICAgICAgICAgICAgICAgID0gODYsIC8qIE1lcm8gKi8KKyAg
ICAgIFVTQ1JJUFRfTktPICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA4NywgLyogTmtvbyAq
LworICAgICAgVVNDUklQVF9PUktIT04gICAgICAgICAgICAgICAgICAgICAgICA9IDg4LCAvKiBP
cmtoICovCisgICAgICBVU0NSSVBUX09MRF9QRVJNSUMgICAgICAgICAgICAgICAgICAgID0gODks
IC8qIFBlcm0gKi8KKyAgICAgIFVTQ1JJUFRfUEhBR1NfUEEgICAgICAgICAgICAgICAgICAgICAg
PSA5MCwgLyogUGhhZyAqLworICAgICAgVVNDUklQVF9QSE9FTklDSUFOICAgICAgICAgICAgICAg
ICAgICA9IDkxLCAvKiBQaG54ICovCisgICAgICBVU0NSSVBUX1BIT05FVElDX1BPTExBUkQgICAg
ICAgICAgICAgID0gOTIsIC8qIFBscmQgKi8KKyAgICAgIFVTQ1JJUFRfUk9OR09ST05HTyAgICAg
ICAgICAgICAgICAgICAgPSA5MywgLyogUm9ybyAqLworICAgICAgVVNDUklQVF9TQVJBVEkgICAg
ICAgICAgICAgICAgICAgICAgICA9IDk0LCAvKiBTYXJhICovCisgICAgICBVU0NSSVBUX0VTVFJB
TkdFTE9fU1lSSUFDICAgICAgICAgICAgID0gOTUsIC8qIFN5cmUgKi8KKyAgICAgIFVTQ1JJUFRf
V0VTVEVSTl9TWVJJQUMgICAgICAgICAgICAgICAgPSA5NiwgLyogU3lyaiAqLworICAgICAgVVND
UklQVF9FQVNURVJOX1NZUklBQyAgICAgICAgICAgICAgICA9IDk3LCAvKiBTeXJuICovCisgICAg
ICBVU0NSSVBUX1RFTkdXQVIgICAgICAgICAgICAgICAgICAgICAgID0gOTgsIC8qIFRlbmcgKi8K
KyAgICAgIFVTQ1JJUFRfVkFJICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA5OSwgLyogVmFp
aSAqLworICAgICAgVVNDUklQVF9WSVNJQkxFX1NQRUVDSCAgICAgICAgICAgICAgICA9IDEwMCwg
LyogVmlzcCAqLworICAgICAgVVNDUklQVF9DVU5FSUZPUk0gICAgICAgICAgICAgICAgICAgICA9
IDEwMSwvKiBYc3V4ICovCisgICAgICBVU0NSSVBUX1VOV1JJVFRFTl9MQU5HVUFHRVMgICAgICAg
ICAgID0gMTAyLC8qIFp4eHggKi8KKyAgICAgIFVTQ1JJUFRfVU5LTk9XTiAgICAgICAgICAgICAg
ICAgICAgICAgPSAxMDMsLyogWnp6eiAqLyAvKiBVbmtub3duPSJDb2RlIGZvciB1bmNvZGVkIHNj
cmlwdCIsIGZvciB1bmFzc2lnbmVkIGNvZGUgcG9pbnRzICovCisgICAgICAvKiBQcml2YXRlIHVz
ZSBjb2RlcyBmcm9tIFFhYWEgLSBRYWJ4IGFyZSBub3Qgc3VwcG9ydGVkKi8KKyNlbmRpZiAvKiBV
X0hJREVfRFJBRlRfQVBJICovCisgICAgICBVU0NSSVBUX0NPREVfTElNSVQgICAgPSAxMDQKK30g
VVNjcmlwdENvZGU7CisKKy8qKgorICogR2V0cyBzY3JpcHQgY29kZXMgYXNzb2NpYXRlZCB3aXRo
IHRoZSBnaXZlbiBsb2NhbGUgb3IgSVNPIDE1OTI0IGFiYnJldmlhdGlvbiBvciBuYW1lLiAKKyAq
IEZpbGxzIGluIFVTQ1JJUFRfTUFMQVlBTEFNIGdpdmVuICJNYWxheWFtIiBPUiAiTWx5bSIuCisg
KiBGaWxscyBpbiBVU0NSSVBUX0xBVElOIGdpdmVuICJlbiIgT1IgImVuX1VTIiAKKyAqIElmIHJl
cXVpcmVkIGNhcGFjaXR5IGlzIGdyZWF0ZXIgdGhhbiBjYXBhY2l0eSBvZiB0aGUgZGVzdGluYXRp
b24gYnVmZmVyIHRoZW4gdGhlIGVycm9yIGNvZGUKKyAqIGlzIHNldCB0byBVX0JVRkZFUl9PVkVS
RkxPV19FUlJPUiBhbmQgdGhlIHJlcXVpcmVkIGNhcGFjaXR5IGlzIHJldHVybmVkCisgKgorICog
PHA+Tm90ZTogVG8gc2VhcmNoIGJ5IHNob3J0IG9yIGxvbmcgc2NyaXB0IGFsaWFzIG9ubHksIHVz
ZQorICogdV9nZXRQcm9wZXJ0eVZhbHVlRW51bShVQ0hBUl9TQ1JJUFQsIGFsaWFzKSBpbnN0ZWFk
LiAgVGhpcyBkb2VzCisgKiBhIGZhc3QgbG9va3VwIHdpdGggbm8gYWNjZXNzIG9mIHRoZSBsb2Nh
bGUgZGF0YS4KKyAqIEBwYXJhbSBuYW1lT3JBYmJyT3JMb2NhbGUgbmFtZSBvZiB0aGUgc2NyaXB0
LCBhcyBnaXZlbiBpbgorICogUHJvcGVydHlWYWx1ZUFsaWFzZXMudHh0LCBvciBJU08gMTU5MjQg
Y29kZSBvciBsb2NhbGUKKyAqIEBwYXJhbSBmaWxsSW4gdGhlIFVTY3JpcHRDb2RlIGJ1ZmZlciB0
byBmaWxsIGluIHRoZSBzY3JpcHQgY29kZQorICogQHBhcmFtIGNhcGFjaXR5IHRoZSBjYXBhY2l0
eSAoc2l6ZSkgZm8gVVNjcmlwdENvZGUgYnVmZmVyIHBhc3NlZCBpbi4KKyAqIEBwYXJhbSBlcnIg
dGhlIGVycm9yIHN0YXR1cyBjb2RlLgorICogQHJldHVybiBUaGUgbnVtYmVyIG9mIHNjcmlwdCBj
b2RlcyBmaWxsZWQgaW4gdGhlIGJ1ZmZlciBwYXNzZWQgaW4gCisgKiBAc3RhYmxlIElDVSAyLjQK
KyAqLworVV9TVEFCTEUgaW50MzJfdCAgVV9FWFBPUlQyIAordXNjcmlwdF9nZXRDb2RlKGNvbnN0
IGNoYXIqIG5hbWVPckFiYnJPckxvY2FsZSxVU2NyaXB0Q29kZSogZmlsbEluLGludDMyX3QgY2Fw
YWNpdHksVUVycm9yQ29kZSAqZXJyKTsKKworLyoqCisgKiBHZXRzIGEgc2NyaXB0IG5hbWUgYXNz
b2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBzY3JpcHQgY29kZS4gCisgKiBSZXR1cm5zICAiTWFsYXlh
bSIgZ2l2ZW4gVVNDUklQVF9NQUxBWUFMQU0KKyAqIEBwYXJhbSBzY3JpcHRDb2RlIFVTY3JpcHRD
b2RlIGVudW0KKyAqIEByZXR1cm4gc2NyaXB0IGxvbmcgbmFtZSBhcyBnaXZlbiBpbgorICogUHJv
cGVydHlWYWx1ZUFsaWFzZXMudHh0LCBvciBOVUxMIGlmIHNjcmlwdENvZGUgaXMgaW52YWxpZAor
ICogQHN0YWJsZSBJQ1UgMi40CisgKi8KK1VfU1RBQkxFIGNvbnN0IGNoYXIqICBVX0VYUE9SVDIg
Cit1c2NyaXB0X2dldE5hbWUoVVNjcmlwdENvZGUgc2NyaXB0Q29kZSk7CisKKy8qKgorICogR2V0
cyBhIHNjcmlwdCBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4gc2NyaXB0IGNvZGUuIAor
ICogUmV0dXJucyAgIk1seW0iIGdpdmVuIFVTQ1JJUFRfTUFMQVlBTEFNCisgKiBAcGFyYW0gc2Ny
aXB0Q29kZSBVU2NyaXB0Q29kZSBlbnVtCisgKiBAcmV0dXJuIHNjcmlwdCBhYmJyZXZpYXRlZCBu
YW1lIGFzIGdpdmVuIGluCisgKiBQcm9wZXJ0eVZhbHVlQWxpYXNlcy50eHQsIG9yIE5VTEwgaWYg
c2NyaXB0Q29kZSBpcyBpbnZhbGlkCisgKiBAc3RhYmxlIElDVSAyLjQKKyAqLworVV9TVEFCTEUg
Y29uc3QgY2hhciogIFVfRVhQT1JUMiAKK3VzY3JpcHRfZ2V0U2hvcnROYW1lKFVTY3JpcHRDb2Rl
IHNjcmlwdENvZGUpOworCisvKiogCisgKiBHZXRzIHRoZSBzY3JpcHQgY29kZSBhc3NvY2lhdGVk
IHdpdGggdGhlIGdpdmVuIGNvZGVwb2ludC4KKyAqIFJldHVybnMgVVNDUklQVF9NQUxBWUFMQU0g
Z2l2ZW4gMHgwRDAyIAorICogQHBhcmFtIGNvZGVwb2ludCBVQ2hhcjMyIGNvZGVwb2ludAorICog
QHBhcmFtIGVyciB0aGUgZXJyb3Igc3RhdHVzIGNvZGUuCisgKiBAcmV0dXJuIFRoZSBVU2NyaXB0
Q29kZSwgb3IgMCBpZiBjb2RlcG9pbnQgaXMgaW52YWxpZCAKKyAqIEBzdGFibGUgSUNVIDIuNAor
ICovCitVX1NUQUJMRSBVU2NyaXB0Q29kZSAgVV9FWFBPUlQyIAordXNjcmlwdF9nZXRTY3JpcHQo
VUNoYXIzMiBjb2RlcG9pbnQsIFVFcnJvckNvZGUgKmVycik7CisKKyNlbmRpZgorCisKClByb3Bl
cnR5IGNoYW5nZXMgb246IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS91c2NyaXB0
LmgKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQogICArIExGCgpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1NjcmlwdENvZGVzRnJvbUlDVS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9TY3JpcHRDb2Rlc0Zyb21J
Q1UuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9T
Y3JpcHRDb2Rlc0Zyb21JQ1UuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNTMgQEAKKy8qCisg
KiAgIENvcHlyaWdodCAoQykgMTk5Ny0yMDEwLCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNzIE1hY2hp
bmVzCisgKiAgIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuICBBbGwgUmlnaHRzIFJlc2VydmVkLgor
ICovCisKKyNpZm5kZWYgV1RGX1NjcmlwdENvZGVzRnJvbUlDVV9oCisjZGVmaW5lIFdURl9TY3Jp
cHRDb2Rlc0Zyb21JQ1VfaAorCisvKioKKyAqIENvbnN0YW50cyBmb3IgSVNPIDE1OTI0IHNjcmlw
dCBjb2Rlcy4KKyAqCisgKiBNYW55IG9mIHRoZXNlIHNjcmlwdCBjb2RlcyAtIHRob3NlIGZyb20g
VW5pY29kZSdzIFNjcmlwdE5hbWVzLnR4dCAtCisgKiBhcmUgY2hhcmFjdGVyIHByb3BlcnR5IHZh
bHVlcyBmb3IgVW5pY29kZSdzIFNjcmlwdCBwcm9wZXJ0eS4KKyAqIFNlZSBVQVggIzI0IFNjcmlw
dCBOYW1lcyAoaHR0cDovL3d3dy51bmljb2RlLm9yZy9yZXBvcnRzL3RyMjQvKS4KKyAqCisgKiBT
dGFydGluZyB3aXRoIElDVSAzLjYsIGNvbnN0YW50cyBmb3IgbW9zdCBJU08gMTU5MjQgc2NyaXB0
IGNvZGVzCisgKiBhcmUgaW5jbHVkZWQgKGN1cnJlbnRseSBleGNsdWRpbmcgcHJpdmF0ZS11c2Ug
Y29kZXMgUWFhYS4uUWFieCkuCisgKiBGb3Igc2NyaXB0cyBmb3Igd2hpY2ggdGhlcmUgYXJlIGNv
ZGVzIGluIElTTyAxNTkyNCBidXQgd2hpY2ggYXJlIG5vdAorICogdXNlZCBpbiB0aGUgVW5pY29k
ZSBDaGFyYWN0ZXIgRGF0YWJhc2UgKFVDRCksIHRoZXJlIGFyZSBubyBVbmljb2RlIGNoYXJhY3Rl
cnMKKyAqIGFzc29jaWF0ZWQgd2l0aCB0aG9zZSBzY3JpcHRzLgorICoKKyAqIEZvciBleGFtcGxl
LCB0aGVyZSBhcmUgbm8gY2hhcmFjdGVycyB0aGF0IGhhdmUgYSBVQ0Qgc2NyaXB0IGNvZGUgb2YK
KyAqIEhhbnMgb3IgSGFudC4gQWxsIEhhbiBpZGVvZ3JhcGhzIGhhdmUgdGhlIEhhbmkgc2NyaXB0
IGNvZGUuCisgKiBUaGUgSGFucyBhbmQgSGFudCBzY3JpcHQgY29kZXMgYXJlIHVzZWQgd2l0aCBD
TERSIGRhdGEuCisgKgorICogSVNPIDE1OTI0IHNjcmlwdCBjb2RlcyBhcmUgaW5jbHVkZWQgZm9y
IHVzZSB3aXRoIENMRFIgYW5kIHNpbWlsYXIuCisgKgorICogQHN0YWJsZSBJQ1UgMi4yCisgKi8K
K3R5cGVkZWYgZW51bSBVU2NyaXB0Q29kZSB7CisgICAgICBVU0NSSVBUX0lOVkFMSURfQ09ERSA9
IC0xLAorICAgICAgVVNDUklQVF9DT01NT04gICAgICAgPSAgMCAsIC8qIFp5eXkgKi8KKyAgICAg
IFVTQ1JJUFRfSU5IRVJJVEVEICAgID0gIDEsICAvKiBRYWFpICovCisgICAgICBVU0NSSVBUX0FS
QUJJQyAgICAgICA9ICAyLCAgLyogQXJhYiAqLworICAgICAgVVNDUklQVF9BUk1FTklBTiAgICAg
PSAgMywgIC8qIEFybW4gKi8KKyAgICAgIFVTQ1JJUFRfQkVOR0FMSSAgICAgID0gIDQsICAvKiBC
ZW5nICovCisgICAgICBVU0NSSVBUX0JPUE9NT0ZPICAgICA9ICA1LCAgLyogQm9wbyAqLworICAg
ICAgVVNDUklQVF9DSEVST0tFRSAgICAgPSAgNiwgIC8qIENoZXIgKi8KKyAgICAgIFVTQ1JJUFRf
Q09QVElDICAgICAgID0gIDcsICAvKiBDb3B0ICovCisgICAgICBVU0NSSVBUX0NZUklMTElDICAg
ICA9ICA4LCAgLyogQ3lybCAqLworICAgICAgVVNDUklQVF9ERVNFUkVUICAgICAgPSAgOSwgIC8q
IERzcnQgKi8KKyAgICAgIFVTQ1JJUFRfREVWQU5BR0FSSSAgID0gMTAsICAvKiBEZXZhICovCisg
ICAgICBVU0NSSVBUX0VUSElPUElDICAgICA9IDExLCAgLyogRXRoaSAqLworICAgICAgVVNDUklQ
VF9HRU9SR0lBTiAgICAgPSAxMiwgIC8qIEdlb3IgKi8KKyAgICAgIFVTQ1JJUFRfR09USElDICAg
ICAgID0gMTMsICAvKiBHb3RoICovCisgICAgICBVU0NSSVBUX0dSRUVLICAgICAgICA9IDE0LCAg
LyogR3JlayAqLworICAgICAgVVNDUklQVF9HVUpBUkFUSSAgICAgPSAxNSwgIC8qIEd1anIgKi8K
KyAgICAgIFVTQ1JJUFRfR1VSTVVLSEkgICAgID0gMTYsICAvKiBHdXJ1ICovCisgICAgICBVU0NS
SVBUX0hBTiAgICAgICAgICA9IDE3LCAgLyogSGFuaSAqLworICAgICAgVVNDUklQVF9IQU5HVUwg
ICAgICAgPSAxOCwgIC8qIEhhbmcgKi8KKyAgICAgIFVTQ1JJUFRfSEVCUkVXICAgICAgID0gMTks
ICAvKiBIZWJyICovCisgICAgICBVU0NSSVBUX0hJUkFHQU5BICAgICA9IDIwLCAgLyogSGlyYSAq
LworICAgICAgVVNDUklQVF9LQU5OQURBICAgICAgPSAyMSwgIC8qIEtuZGEgKi8KKyAgICAgIFVT
Q1JJUFRfS0FUQUtBTkEgICAgID0gMjIsICAvKiBLYW5hICovCisgICAgICBVU0NSSVBUX0tITUVS
ICAgICAgICA9IDIzLCAgLyogS2htciAqLworICAgICAgVVNDUklQVF9MQU8gICAgICAgICAgPSAy
NCwgIC8qIExhb28gKi8KKyAgICAgIFVTQ1JJUFRfTEFUSU4gICAgICAgID0gMjUsICAvKiBMYXRu
ICovCisgICAgICBVU0NSSVBUX01BTEFZQUxBTSAgICA9IDI2LCAgLyogTWx5bSAqLworICAgICAg
VVNDUklQVF9NT05HT0xJQU4gICAgPSAyNywgIC8qIE1vbmcgKi8KKyAgICAgIFVTQ1JJUFRfTVlB
Tk1BUiAgICAgID0gMjgsICAvKiBNeW1yICovCisgICAgICBVU0NSSVBUX09HSEFNICAgICAgICA9
IDI5LCAgLyogT2dhbSAqLworICAgICAgVVNDUklQVF9PTERfSVRBTElDICAgPSAzMCwgIC8qIEl0
YWwgKi8KKyAgICAgIFVTQ1JJUFRfT1JJWUEgICAgICAgID0gMzEsICAvKiBPcnlhICovCisgICAg
ICBVU0NSSVBUX1JVTklDICAgICAgICA9IDMyLCAgLyogUnVuciAqLworICAgICAgVVNDUklQVF9T
SU5IQUxBICAgICAgPSAzMywgIC8qIFNpbmggKi8KKyAgICAgIFVTQ1JJUFRfU1lSSUFDICAgICAg
ID0gMzQsICAvKiBTeXJjICovCisgICAgICBVU0NSSVBUX1RBTUlMICAgICAgICA9IDM1LCAgLyog
VGFtbCAqLworICAgICAgVVNDUklQVF9URUxVR1UgICAgICAgPSAzNiwgIC8qIFRlbHUgKi8KKyAg
ICAgIFVTQ1JJUFRfVEhBQU5BICAgICAgID0gMzcsICAvKiBUaGFhICovCisgICAgICBVU0NSSVBU
X1RIQUkgICAgICAgICA9IDM4LCAgLyogVGhhaSAqLworICAgICAgVVNDUklQVF9USUJFVEFOICAg
ICAgPSAzOSwgIC8qIFRpYnQgKi8KKyAgICAgIC8qKiBDYW5hZGlhbl9BYm9yaWdpbmFsIHNjcmlw
dC4gQHN0YWJsZSBJQ1UgMi42ICovCisgICAgICBVU0NSSVBUX0NBTkFESUFOX0FCT1JJR0lOQUwg
PSA0MCwgIC8qIENhbnMgKi8KKyAgICAgIC8qKiBDYW5hZGlhbl9BYm9yaWdpbmFsIHNjcmlwdCAo
YWxpYXMpLiBAc3RhYmxlIElDVSAyLjIgKi8KKyAgICAgIFVTQ1JJUFRfVUNBUyAgICAgICAgID0g
VVNDUklQVF9DQU5BRElBTl9BQk9SSUdJTkFMLAorICAgICAgVVNDUklQVF9ZSSAgICAgICAgICAg
PSA0MSwgIC8qIFlpaWkgKi8KKyAgICAgIFVTQ1JJUFRfVEFHQUxPRyAgICAgID0gNDIsICAvKiBU
Z2xnICovCisgICAgICBVU0NSSVBUX0hBTlVOT08gICAgICA9IDQzLCAgLyogSGFubyAqLworICAg
ICAgVVNDUklQVF9CVUhJRCAgICAgICAgPSA0NCwgIC8qIEJ1aGQgKi8KKyAgICAgIFVTQ1JJUFRf
VEFHQkFOV0EgICAgID0gNDUsICAvKiBUYWdiICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHRzIGlu
IFVuaWNvZGUgNCBAc3RhYmxlIElDVSAyLjYgKi8KKyAgICAgIFVTQ1JJUFRfQlJBSUxMRSAgICAg
ID0gNDYsICAvKiBCcmFpICovCisgICAgICBVU0NSSVBUX0NZUFJJT1QgICAgICA9IDQ3LCAgLyog
Q3BydCAqLworICAgICAgVVNDUklQVF9MSU1CVSAgICAgICAgPSA0OCwgIC8qIExpbWIgKi8KKyAg
ICAgIFVTQ1JJUFRfTElORUFSX0IgICAgID0gNDksICAvKiBMaW5iICovCisgICAgICBVU0NSSVBU
X09TTUFOWUEgICAgICA9IDUwLCAgLyogT3NtYSAqLworICAgICAgVVNDUklQVF9TSEFWSUFOICAg
ICAgPSA1MSwgIC8qIFNoYXcgKi8KKyAgICAgIFVTQ1JJUFRfVEFJX0xFICAgICAgID0gNTIsICAv
KiBUYWxlICovCisgICAgICBVU0NSSVBUX1VHQVJJVElDICAgICA9IDUzLCAgLyogVWdhciAqLwor
CisgICAgICAvKiogTmV3IHNjcmlwdCBjb2RlIGluIFVuaWNvZGUgNC4wLjEgQHN0YWJsZSBJQ1Ug
My4wICovCisgICAgICBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BID0gNTQsLypIcmt0ICov
CisgICAgICAKKyNpZm5kZWYgVV9ISURFX0RSQUZUX0FQSQorICAgICAgLyogTmV3IHNjcmlwdHMg
aW4gVW5pY29kZSA0LjEgQGRyYWZ0IElDVSAzLjQgKi8KKyAgICAgIFVTQ1JJUFRfQlVHSU5FU0Ug
ICAgICA9IDU1LCAvKiBCdWdpICovCisgICAgICBVU0NSSVBUX0dMQUdPTElUSUMgICAgPSA1Niwg
LyogR2xhZyAqLworICAgICAgVVNDUklQVF9LSEFST1NIVEhJICAgID0gNTcsIC8qIEtoYXIgKi8K
KyAgICAgIFVTQ1JJUFRfU1lMT1RJX05BR1JJICA9IDU4LCAvKiBTeWxvICovCisgICAgICBVU0NS
SVBUX05FV19UQUlfTFVFICAgPSA1OSwgLyogVGFsdSAqLworICAgICAgVVNDUklQVF9USUZJTkFH
SCAgICAgID0gNjAsIC8qIFRmbmcgKi8KKyAgICAgIFVTQ1JJUFRfT0xEX1BFUlNJQU4gICA9IDYx
LCAvKiBYcGVvICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHQgY29kZXMgZnJvbSBJU08gMTU5MjQg
QGRyYWZ0IElDVSAzLjYgKi8KKyAgICAgIFVTQ1JJUFRfQkFMSU5FU0UgICAgICAgICAgICAgICAg
ICAgICAgPSA2MiwgLyogQmFsaSAqLworICAgICAgVVNDUklQVF9CQVRBSyAgICAgICAgICAgICAg
ICAgICAgICAgICA9IDYzLCAvKiBCYXRrICovCisgICAgICBVU0NSSVBUX0JMSVNTWU1CT0xTICAg
ICAgICAgICAgICAgICAgID0gNjQsIC8qIEJsaXMgKi8KKyAgICAgIFVTQ1JJUFRfQlJBSE1JICAg
ICAgICAgICAgICAgICAgICAgICAgPSA2NSwgLyogQnJhaCAqLworICAgICAgVVNDUklQVF9DSEFN
ICAgICAgICAgICAgICAgICAgICAgICAgICA9IDY2LCAvKiBDaGFtICovCisgICAgICBVU0NSSVBU
X0NJUlRIICAgICAgICAgICAgICAgICAgICAgICAgID0gNjcsIC8qIENpcnQgKi8KKyAgICAgIFVT
Q1JJUFRfT0xEX0NIVVJDSF9TTEFWT05JQ19DWVJJTExJQyAgPSA2OCwgLyogQ3lycyAqLworICAg
ICAgVVNDUklQVF9ERU1PVElDX0VHWVBUSUFOICAgICAgICAgICAgICA9IDY5LCAvKiBFZ3lkICov
CisgICAgICBVU0NSSVBUX0hJRVJBVElDX0VHWVBUSUFOICAgICAgICAgICAgID0gNzAsIC8qIEVn
eWggKi8KKyAgICAgIFVTQ1JJUFRfRUdZUFRJQU5fSElFUk9HTFlQSFMgICAgICAgICAgPSA3MSwg
LyogRWd5cCAqLworICAgICAgVVNDUklQVF9LSFVUU1VSSSAgICAgICAgICAgICAgICAgICAgICA9
IDcyLCAvKiBHZW9rICovCisgICAgICBVU0NSSVBUX1NJTVBMSUZJRURfSEFOICAgICAgICAgICAg
ICAgID0gNzMsIC8qIEhhbnMgKi8KKyAgICAgIFVTQ1JJUFRfVFJBRElUSU9OQUxfSEFOICAgICAg
ICAgICAgICAgPSA3NCwgLyogSGFudCAqLworICAgICAgVVNDUklQVF9QQUhBV0hfSE1PTkcgICAg
ICAgICAgICAgICAgICA9IDc1LCAvKiBIbW5nICovCisgICAgICBVU0NSSVBUX09MRF9IVU5HQVJJ
QU4gICAgICAgICAgICAgICAgID0gNzYsIC8qIEh1bmcgKi8KKyAgICAgIFVTQ1JJUFRfSEFSQVBQ
QU5fSU5EVVMgICAgICAgICAgICAgICAgPSA3NywgLyogSW5kcyAqLworICAgICAgVVNDUklQVF9K
QVZBTkVTRSAgICAgICAgICAgICAgICAgICAgICA9IDc4LCAvKiBKYXZhICovCisgICAgICBVU0NS
SVBUX0tBWUFIX0xJICAgICAgICAgICAgICAgICAgICAgID0gNzksIC8qIEthbGkgKi8KKyAgICAg
IFVTQ1JJUFRfTEFUSU5fRlJBS1RVUiAgICAgICAgICAgICAgICAgPSA4MCwgLyogTGF0ZiAqLwor
ICAgICAgVVNDUklQVF9MQVRJTl9HQUVMSUMgICAgICAgICAgICAgICAgICA9IDgxLCAvKiBMYXRn
ICovCisgICAgICBVU0NSSVBUX0xFUENIQSAgICAgICAgICAgICAgICAgICAgICAgID0gODIsIC8q
IExlcGMgKi8KKyAgICAgIFVTQ1JJUFRfTElORUFSX0EgICAgICAgICAgICAgICAgICAgICAgPSA4
MywgLyogTGluYSAqLworICAgICAgVVNDUklQVF9NQU5EQUVBTiAgICAgICAgICAgICAgICAgICAg
ICA9IDg0LCAvKiBNYW5kICovCisgICAgICBVU0NSSVBUX01BWUFOX0hJRVJPR0xZUEhTICAgICAg
ICAgICAgID0gODUsIC8qIE1heWEgKi8KKyAgICAgIFVTQ1JJUFRfTUVST0lUSUMgICAgICAgICAg
ICAgICAgICAgICAgPSA4NiwgLyogTWVybyAqLworICAgICAgVVNDUklQVF9OS08gICAgICAgICAg
ICAgICAgICAgICAgICAgICA9IDg3LCAvKiBOa29vICovCisgICAgICBVU0NSSVBUX09SS0hPTiAg
ICAgICAgICAgICAgICAgICAgICAgID0gODgsIC8qIE9ya2ggKi8KKyAgICAgIFVTQ1JJUFRfT0xE
X1BFUk1JQyAgICAgICAgICAgICAgICAgICAgPSA4OSwgLyogUGVybSAqLworICAgICAgVVNDUklQ
VF9QSEFHU19QQSAgICAgICAgICAgICAgICAgICAgICA9IDkwLCAvKiBQaGFnICovCisgICAgICBV
U0NSSVBUX1BIT0VOSUNJQU4gICAgICAgICAgICAgICAgICAgID0gOTEsIC8qIFBobnggKi8KKyAg
ICAgIFVTQ1JJUFRfUEhPTkVUSUNfUE9MTEFSRCAgICAgICAgICAgICAgPSA5MiwgLyogUGxyZCAq
LworICAgICAgVVNDUklQVF9ST05HT1JPTkdPICAgICAgICAgICAgICAgICAgICA9IDkzLCAvKiBS
b3JvICovCisgICAgICBVU0NSSVBUX1NBUkFUSSAgICAgICAgICAgICAgICAgICAgICAgID0gOTQs
IC8qIFNhcmEgKi8KKyAgICAgIFVTQ1JJUFRfRVNUUkFOR0VMT19TWVJJQUMgICAgICAgICAgICAg
PSA5NSwgLyogU3lyZSAqLworICAgICAgVVNDUklQVF9XRVNURVJOX1NZUklBQyAgICAgICAgICAg
ICAgICA9IDk2LCAvKiBTeXJqICovCisgICAgICBVU0NSSVBUX0VBU1RFUk5fU1lSSUFDICAgICAg
ICAgICAgICAgID0gOTcsIC8qIFN5cm4gKi8KKyAgICAgIFVTQ1JJUFRfVEVOR1dBUiAgICAgICAg
ICAgICAgICAgICAgICAgPSA5OCwgLyogVGVuZyAqLworICAgICAgVVNDUklQVF9WQUkgICAgICAg
ICAgICAgICAgICAgICAgICAgICA9IDk5LCAvKiBWYWlpICovCisgICAgICBVU0NSSVBUX1ZJU0lC
TEVfU1BFRUNIICAgICAgICAgICAgICAgID0gMTAwLCAvKiBWaXNwICovCisgICAgICBVU0NSSVBU
X0NVTkVJRk9STSAgICAgICAgICAgICAgICAgICAgID0gMTAxLC8qIFhzdXggKi8KKyAgICAgIFVT
Q1JJUFRfVU5XUklUVEVOX0xBTkdVQUdFUyAgICAgICAgICAgPSAxMDIsLyogWnh4eCAqLworICAg
ICAgVVNDUklQVF9VTktOT1dOICAgICAgICAgICAgICAgICAgICAgICA9IDEwMywvKiBaenp6ICov
IC8qIFVua25vd249IkNvZGUgZm9yIHVuY29kZWQgc2NyaXB0IiwgZm9yIHVuYXNzaWduZWQgY29k
ZSBwb2ludHMgKi8KKyAgICAgIC8qIFByaXZhdGUgdXNlIGNvZGVzIGZyb20gUWFhYSAtIFFhYngg
YXJlIG5vdCBzdXBwb3J0ZWQqLworI2VuZGlmIC8qIFVfSElERV9EUkFGVF9BUEkgKi8KKyAgICAg
IFVTQ1JJUFRfQ09ERV9MSU1JVCAgICA9IDEwNAorfSBVU2NyaXB0Q29kZTsKKworI2VuZGlmCgpQ
cm9wZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvU2Ny
aXB0Q29kZXNGcm9tSUNVLmgKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQogICArIExG
CgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL2JyZXcvVW5pY29kZUJy
ZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvYnJl
dy9Vbmljb2RlQnJldy5oCShyZXZpc2lvbiA4OTQ4NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvdW5pY29kZS9icmV3L1VuaWNvZGVCcmV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTI1LDYg
KzI1LDcgQEAKICNpZm5kZWYgVW5pY29kZUJyZXdfaAogI2RlZmluZSBVbmljb2RlQnJld19oCiAK
KyNpbmNsdWRlICJTY3JpcHRDb2Rlc0Zyb21JQ1UuaCIKICNpbmNsdWRlICJVbmljb2RlRnJvbUlD
VS5oIgogI2luY2x1ZGUgIlVuaWNvZGVNYWNyb3NGcm9tSUNVLmgiCiAKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9nbGliL1VuaWNvZGVHTGliLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL2dsaWIvVW5pY29kZUdMaWIuaAko
cmV2aXNpb24gODk0ODUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvZ2xp
Yi9Vbmljb2RlR0xpYi5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw4ICsyNSw5IEBACiAjaWZuZGVm
IFVuaWNvZGVHTGliX2gKICNkZWZpbmUgVW5pY29kZUdMaWJfaAogCi0jaW5jbHVkZSAiVW5pY29k
ZU1hY3Jvc0Zyb21JQ1UuaCIKICNpbmNsdWRlICJHT3duUHRyLmgiCisjaW5jbHVkZSAiU2NyaXB0
Q29kZXNGcm9tSUNVLmgiCisjaW5jbHVkZSAiVW5pY29kZU1hY3Jvc0Zyb21JQ1UuaCIKIAogI2lu
Y2x1ZGUgPGdsaWIuaD4KICNpbmNsdWRlIDxwYW5nby9wYW5nby5oPgpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL2ljdS9Vbmljb2RlSWN1LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL2ljdS9Vbmljb2RlSWN1LmgJKHJldmlz
aW9uIDg5NDg1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL2ljdS9Vbmlj
b2RlSWN1LmgJKHdvcmtpbmcgY29weSkKQEAgLTI1LDYgKzI1LDcgQEAKIAogI2luY2x1ZGUgPHN0
ZGxpYi5oPgogI2luY2x1ZGUgPHVuaWNvZGUvdWNoYXIuaD4KKyNpbmNsdWRlIDx1bmljb2RlL3Vz
Y3JpcHQuaD4KICNpbmNsdWRlIDx1bmljb2RlL3VzdHJpbmcuaD4KICNpbmNsdWRlIDx1bmljb2Rl
L3V0ZjE2Lmg+CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9xdDQv
VW5pY29kZVF0NC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5p
Y29kZS9xdDQvVW5pY29kZVF0NC5oCShyZXZpc2lvbiA4OTQ4NSkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93dGYvdW5pY29kZS9xdDQvVW5pY29kZVF0NC5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
Myw2ICsyMyw3IEBACiAjaWZuZGVmIFdURl9VTklDT0RFX1FUNF9ICiAjZGVmaW5lIFdURl9VTklD
T0RFX1FUNF9ICiAKKyNpbmNsdWRlICJTY3JpcHRDb2Rlc0Zyb21JQ1UuaCIKICNpbmNsdWRlICJV
bmljb2RlTWFjcm9zRnJvbUlDVS5oIgogCiAjaW5jbHVkZSA8UUNoYXI+CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvd2luY2UvVW5pY29kZVdpbkNFLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL3dpbmNlL1VuaWNvZGVXaW5D
RS5oCShyZXZpc2lvbiA4OTQ4NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29k
ZS93aW5jZS9Vbmljb2RlV2luQ0UuaAkod29ya2luZyBjb3B5KQpAQCAtMjQsNiArMjQsNyBAQAog
I2lmbmRlZiBXVEZfVW5pY29kZVdpbkNFX2gKICNkZWZpbmUgV1RGX1VuaWNvZGVXaW5DRV9oCiAK
KyNpbmNsdWRlICJTY3JpcHRDb2Rlc0Zyb21JQ1UuaCIKICNpbmNsdWRlICJVbmljb2RlTWFjcm9z
RnJvbUlDVS5oIgogCiAjaW5jbHVkZSAiY2VfdW5pY29kZS5oIgpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRHbHVlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdEdsdWUv
Q2hhbmdlTG9nCShyZXZpc2lvbiA4OTQ4NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0R2x1ZS9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0wNi0yMSAgSnVuZ3No
aWsgU2hpbiAgPGpzaGluQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4
ZXkgUHJvc2t1cnlha292LgorCisgICAgICAgIEFkZCB1c2NyaXB0LmggdG8gaWN1L3VuaWNvZGUg
dG8gZ2V0IEphdmFTY3JpcHRHbHVlIGdldCBidWlsdC4gVGhlIHNhbWUKKyAgICAgICAgZmlsZSB3
YXMgYWRkZWQgdG8gSmF2YVNjcmlwdENvcmUvaWN1L3VuaWNvZGUuCisKKyAgICAgICAgaHR0cDov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA3OTcKKworICAgICAgICAqIGljdS91
bmljb2RlL3VzY3JpcHQuaDogQWRkZWQuCisKIDIwMTEtMDUtMTYgIERhdmlkIEtpbHplciAgPGRk
a2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICA8aHR0cDovL3dlYmtpdC5vcmcvYi82MDkxMz4g
QysrIGV4Y2VwdGlvbnMgc2hvdWxkIG5vdCBiZSBlbmFibGVkIHdoZW4gYnVpbGRpbmcgd2l0aCBs
bHZtLWdjYy00LjIKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0R2x1ZS9pY3UvdW5pY29kZS91c2Ny
aXB0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRHbHVlL2ljdS91bmljb2RlL3Vz
Y3JpcHQuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0R2x1ZS9pY3UvdW5pY29k
ZS91c2NyaXB0LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjI0IEBACisvKgorKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgorKiAgIENvcHlyaWdodCAoQykgMTk5Ny0yMDA2LCBJbnRlcm5hdGlvbmFsIEJ1c2luZXNz
IE1hY2hpbmVzCisqICAgQ29ycG9yYXRpb24gYW5kIG90aGVycy4gIEFsbCBSaWdodHMgUmVzZXJ2
ZWQuCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqCisqCisqIEZpbGUgVVNDUklQVC5ICisqCisqIE1vZGlmaWNhdGlv
biBIaXN0b3J5OgorKgorKiAgIERhdGUgICAgICAgIE5hbWUgICAgICAgIERlc2NyaXB0aW9uCisq
ICAgMDcvMDYvMjAwMSAgICBSYW0gICAgICAgICBDcmVhdGlvbi4KKyoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgorKi8KKyNpZm5kZWYgVVNDUklQVF9ICisjZGVmaW5lIFVTQ1JJUFRfSAorI2luY2x1ZGUg
InVuaWNvZGUvdXR5cGVzLmgiCisKKy8qKgorICogXGZpbGUKKyAqIFxicmllZiBDIEFQSTogVW5p
Y29kZSBTY3JpcHQgSW5mb3JtYXRpb24KKyAqLworIAorLyoqCisgKiBDb25zdGFudHMgZm9yIElT
TyAxNTkyNCBzY3JpcHQgY29kZXMuCisgKgorICogTWFueSBvZiB0aGVzZSBzY3JpcHQgY29kZXMg
LSB0aG9zZSBmcm9tIFVuaWNvZGUncyBTY3JpcHROYW1lcy50eHQgLQorICogYXJlIGNoYXJhY3Rl
ciBwcm9wZXJ0eSB2YWx1ZXMgZm9yIFVuaWNvZGUncyBTY3JpcHQgcHJvcGVydHkuCisgKiBTZWUg
VUFYICMyNCBTY3JpcHQgTmFtZXMgKGh0dHA6Ly93d3cudW5pY29kZS5vcmcvcmVwb3J0cy90cjI0
LykuCisgKgorICogU3RhcnRpbmcgd2l0aCBJQ1UgMy42LCBjb25zdGFudHMgZm9yIG1vc3QgSVNP
IDE1OTI0IHNjcmlwdCBjb2RlcworICogYXJlIGluY2x1ZGVkIChjdXJyZW50bHkgZXhjbHVkaW5n
IHByaXZhdGUtdXNlIGNvZGVzIFFhYWEuLlFhYngpLgorICogRm9yIHNjcmlwdHMgZm9yIHdoaWNo
IHRoZXJlIGFyZSBjb2RlcyBpbiBJU08gMTU5MjQgYnV0IHdoaWNoIGFyZSBub3QKKyAqIHVzZWQg
aW4gdGhlIFVuaWNvZGUgQ2hhcmFjdGVyIERhdGFiYXNlIChVQ0QpLCB0aGVyZSBhcmUgbm8gVW5p
Y29kZSBjaGFyYWN0ZXJzCisgKiBhc3NvY2lhdGVkIHdpdGggdGhvc2Ugc2NyaXB0cy4KKyAqCisg
KiBGb3IgZXhhbXBsZSwgdGhlcmUgYXJlIG5vIGNoYXJhY3RlcnMgdGhhdCBoYXZlIGEgVUNEIHNj
cmlwdCBjb2RlIG9mCisgKiBIYW5zIG9yIEhhbnQuIEFsbCBIYW4gaWRlb2dyYXBocyBoYXZlIHRo
ZSBIYW5pIHNjcmlwdCBjb2RlLgorICogVGhlIEhhbnMgYW5kIEhhbnQgc2NyaXB0IGNvZGVzIGFy
ZSB1c2VkIHdpdGggQ0xEUiBkYXRhLgorICoKKyAqIElTTyAxNTkyNCBzY3JpcHQgY29kZXMgYXJl
IGluY2x1ZGVkIGZvciB1c2Ugd2l0aCBDTERSIGFuZCBzaW1pbGFyLgorICoKKyAqIEBzdGFibGUg
SUNVIDIuMgorICovCit0eXBlZGVmIGVudW0gVVNjcmlwdENvZGUgeworICAgICAgVVNDUklQVF9J
TlZBTElEX0NPREUgPSAtMSwKKyAgICAgIFVTQ1JJUFRfQ09NTU9OICAgICAgID0gIDAgLCAvKiBa
eXl5ICovCisgICAgICBVU0NSSVBUX0lOSEVSSVRFRCAgICA9ICAxLCAgLyogUWFhaSAqLworICAg
ICAgVVNDUklQVF9BUkFCSUMgICAgICAgPSAgMiwgIC8qIEFyYWIgKi8KKyAgICAgIFVTQ1JJUFRf
QVJNRU5JQU4gICAgID0gIDMsICAvKiBBcm1uICovCisgICAgICBVU0NSSVBUX0JFTkdBTEkgICAg
ICA9ICA0LCAgLyogQmVuZyAqLworICAgICAgVVNDUklQVF9CT1BPTU9GTyAgICAgPSAgNSwgIC8q
IEJvcG8gKi8KKyAgICAgIFVTQ1JJUFRfQ0hFUk9LRUUgICAgID0gIDYsICAvKiBDaGVyICovCisg
ICAgICBVU0NSSVBUX0NPUFRJQyAgICAgICA9ICA3LCAgLyogQ29wdCAqLworICAgICAgVVNDUklQ
VF9DWVJJTExJQyAgICAgPSAgOCwgIC8qIEN5cmwgKi8KKyAgICAgIFVTQ1JJUFRfREVTRVJFVCAg
ICAgID0gIDksICAvKiBEc3J0ICovCisgICAgICBVU0NSSVBUX0RFVkFOQUdBUkkgICA9IDEwLCAg
LyogRGV2YSAqLworICAgICAgVVNDUklQVF9FVEhJT1BJQyAgICAgPSAxMSwgIC8qIEV0aGkgKi8K
KyAgICAgIFVTQ1JJUFRfR0VPUkdJQU4gICAgID0gMTIsICAvKiBHZW9yICovCisgICAgICBVU0NS
SVBUX0dPVEhJQyAgICAgICA9IDEzLCAgLyogR290aCAqLworICAgICAgVVNDUklQVF9HUkVFSyAg
ICAgICAgPSAxNCwgIC8qIEdyZWsgKi8KKyAgICAgIFVTQ1JJUFRfR1VKQVJBVEkgICAgID0gMTUs
ICAvKiBHdWpyICovCisgICAgICBVU0NSSVBUX0dVUk1VS0hJICAgICA9IDE2LCAgLyogR3VydSAq
LworICAgICAgVVNDUklQVF9IQU4gICAgICAgICAgPSAxNywgIC8qIEhhbmkgKi8KKyAgICAgIFVT
Q1JJUFRfSEFOR1VMICAgICAgID0gMTgsICAvKiBIYW5nICovCisgICAgICBVU0NSSVBUX0hFQlJF
VyAgICAgICA9IDE5LCAgLyogSGViciAqLworICAgICAgVVNDUklQVF9ISVJBR0FOQSAgICAgPSAy
MCwgIC8qIEhpcmEgKi8KKyAgICAgIFVTQ1JJUFRfS0FOTkFEQSAgICAgID0gMjEsICAvKiBLbmRh
ICovCisgICAgICBVU0NSSVBUX0tBVEFLQU5BICAgICA9IDIyLCAgLyogS2FuYSAqLworICAgICAg
VVNDUklQVF9LSE1FUiAgICAgICAgPSAyMywgIC8qIEtobXIgKi8KKyAgICAgIFVTQ1JJUFRfTEFP
ICAgICAgICAgID0gMjQsICAvKiBMYW9vICovCisgICAgICBVU0NSSVBUX0xBVElOICAgICAgICA9
IDI1LCAgLyogTGF0biAqLworICAgICAgVVNDUklQVF9NQUxBWUFMQU0gICAgPSAyNiwgIC8qIE1s
eW0gKi8KKyAgICAgIFVTQ1JJUFRfTU9OR09MSUFOICAgID0gMjcsICAvKiBNb25nICovCisgICAg
ICBVU0NSSVBUX01ZQU5NQVIgICAgICA9IDI4LCAgLyogTXltciAqLworICAgICAgVVNDUklQVF9P
R0hBTSAgICAgICAgPSAyOSwgIC8qIE9nYW0gKi8KKyAgICAgIFVTQ1JJUFRfT0xEX0lUQUxJQyAg
ID0gMzAsICAvKiBJdGFsICovCisgICAgICBVU0NSSVBUX09SSVlBICAgICAgICA9IDMxLCAgLyog
T3J5YSAqLworICAgICAgVVNDUklQVF9SVU5JQyAgICAgICAgPSAzMiwgIC8qIFJ1bnIgKi8KKyAg
ICAgIFVTQ1JJUFRfU0lOSEFMQSAgICAgID0gMzMsICAvKiBTaW5oICovCisgICAgICBVU0NSSVBU
X1NZUklBQyAgICAgICA9IDM0LCAgLyogU3lyYyAqLworICAgICAgVVNDUklQVF9UQU1JTCAgICAg
ICAgPSAzNSwgIC8qIFRhbWwgKi8KKyAgICAgIFVTQ1JJUFRfVEVMVUdVICAgICAgID0gMzYsICAv
KiBUZWx1ICovCisgICAgICBVU0NSSVBUX1RIQUFOQSAgICAgICA9IDM3LCAgLyogVGhhYSAqLwor
ICAgICAgVVNDUklQVF9USEFJICAgICAgICAgPSAzOCwgIC8qIFRoYWkgKi8KKyAgICAgIFVTQ1JJ
UFRfVElCRVRBTiAgICAgID0gMzksICAvKiBUaWJ0ICovCisgICAgICAvKiogQ2FuYWRpYW5fQWJv
cmlnaW5hbCBzY3JpcHQuIEBzdGFibGUgSUNVIDIuNiAqLworICAgICAgVVNDUklQVF9DQU5BRElB
Tl9BQk9SSUdJTkFMID0gNDAsICAvKiBDYW5zICovCisgICAgICAvKiogQ2FuYWRpYW5fQWJvcmln
aW5hbCBzY3JpcHQgKGFsaWFzKS4gQHN0YWJsZSBJQ1UgMi4yICovCisgICAgICBVU0NSSVBUX1VD
QVMgICAgICAgICA9IFVTQ1JJUFRfQ0FOQURJQU5fQUJPUklHSU5BTCwKKyAgICAgIFVTQ1JJUFRf
WUkgICAgICAgICAgID0gNDEsICAvKiBZaWlpICovCisgICAgICBVU0NSSVBUX1RBR0FMT0cgICAg
ICA9IDQyLCAgLyogVGdsZyAqLworICAgICAgVVNDUklQVF9IQU5VTk9PICAgICAgPSA0MywgIC8q
IEhhbm8gKi8KKyAgICAgIFVTQ1JJUFRfQlVISUQgICAgICAgID0gNDQsICAvKiBCdWhkICovCisg
ICAgICBVU0NSSVBUX1RBR0JBTldBICAgICA9IDQ1LCAgLyogVGFnYiAqLworCisgICAgICAvKiBO
ZXcgc2NyaXB0cyBpbiBVbmljb2RlIDQgQHN0YWJsZSBJQ1UgMi42ICovCisgICAgICBVU0NSSVBU
X0JSQUlMTEUgICAgICA9IDQ2LCAgLyogQnJhaSAqLworICAgICAgVVNDUklQVF9DWVBSSU9UICAg
ICAgPSA0NywgIC8qIENwcnQgKi8KKyAgICAgIFVTQ1JJUFRfTElNQlUgICAgICAgID0gNDgsICAv
KiBMaW1iICovCisgICAgICBVU0NSSVBUX0xJTkVBUl9CICAgICA9IDQ5LCAgLyogTGluYiAqLwor
ICAgICAgVVNDUklQVF9PU01BTllBICAgICAgPSA1MCwgIC8qIE9zbWEgKi8KKyAgICAgIFVTQ1JJ
UFRfU0hBVklBTiAgICAgID0gNTEsICAvKiBTaGF3ICovCisgICAgICBVU0NSSVBUX1RBSV9MRSAg
ICAgICA9IDUyLCAgLyogVGFsZSAqLworICAgICAgVVNDUklQVF9VR0FSSVRJQyAgICAgPSA1Mywg
IC8qIFVnYXIgKi8KKworICAgICAgLyoqIE5ldyBzY3JpcHQgY29kZSBpbiBVbmljb2RlIDQuMC4x
IEBzdGFibGUgSUNVIDMuMCAqLworICAgICAgVVNDUklQVF9LQVRBS0FOQV9PUl9ISVJBR0FOQSA9
IDU0LC8qSHJrdCAqLworICAgICAgCisjaWZuZGVmIFVfSElERV9EUkFGVF9BUEkKKyAgICAgIC8q
IE5ldyBzY3JpcHRzIGluIFVuaWNvZGUgNC4xIEBkcmFmdCBJQ1UgMy40ICovCisgICAgICBVU0NS
SVBUX0JVR0lORVNFICAgICAgPSA1NSwgLyogQnVnaSAqLworICAgICAgVVNDUklQVF9HTEFHT0xJ
VElDICAgID0gNTYsIC8qIEdsYWcgKi8KKyAgICAgIFVTQ1JJUFRfS0hBUk9TSFRISSAgICA9IDU3
LCAvKiBLaGFyICovCisgICAgICBVU0NSSVBUX1NZTE9USV9OQUdSSSAgPSA1OCwgLyogU3lsbyAq
LworICAgICAgVVNDUklQVF9ORVdfVEFJX0xVRSAgID0gNTksIC8qIFRhbHUgKi8KKyAgICAgIFVT
Q1JJUFRfVElGSU5BR0ggICAgICA9IDYwLCAvKiBUZm5nICovCisgICAgICBVU0NSSVBUX09MRF9Q
RVJTSUFOICAgPSA2MSwgLyogWHBlbyAqLworCisgICAgICAvKiBOZXcgc2NyaXB0IGNvZGVzIGZy
b20gSVNPIDE1OTI0IEBkcmFmdCBJQ1UgMy42ICovCisgICAgICBVU0NSSVBUX0JBTElORVNFICAg
ICAgICAgICAgICAgICAgICAgID0gNjIsIC8qIEJhbGkgKi8KKyAgICAgIFVTQ1JJUFRfQkFUQUsg
ICAgICAgICAgICAgICAgICAgICAgICAgPSA2MywgLyogQmF0ayAqLworICAgICAgVVNDUklQVF9C
TElTU1lNQk9MUyAgICAgICAgICAgICAgICAgICA9IDY0LCAvKiBCbGlzICovCisgICAgICBVU0NS
SVBUX0JSQUhNSSAgICAgICAgICAgICAgICAgICAgICAgID0gNjUsIC8qIEJyYWggKi8KKyAgICAg
IFVTQ1JJUFRfQ0hBTSAgICAgICAgICAgICAgICAgICAgICAgICAgPSA2NiwgLyogQ2hhbSAqLwor
ICAgICAgVVNDUklQVF9DSVJUSCAgICAgICAgICAgICAgICAgICAgICAgICA9IDY3LCAvKiBDaXJ0
ICovCisgICAgICBVU0NSSVBUX09MRF9DSFVSQ0hfU0xBVk9OSUNfQ1lSSUxMSUMgID0gNjgsIC8q
IEN5cnMgKi8KKyAgICAgIFVTQ1JJUFRfREVNT1RJQ19FR1lQVElBTiAgICAgICAgICAgICAgPSA2
OSwgLyogRWd5ZCAqLworICAgICAgVVNDUklQVF9ISUVSQVRJQ19FR1lQVElBTiAgICAgICAgICAg
ICA9IDcwLCAvKiBFZ3loICovCisgICAgICBVU0NSSVBUX0VHWVBUSUFOX0hJRVJPR0xZUEhTICAg
ICAgICAgID0gNzEsIC8qIEVneXAgKi8KKyAgICAgIFVTQ1JJUFRfS0hVVFNVUkkgICAgICAgICAg
ICAgICAgICAgICAgPSA3MiwgLyogR2VvayAqLworICAgICAgVVNDUklQVF9TSU1QTElGSUVEX0hB
TiAgICAgICAgICAgICAgICA9IDczLCAvKiBIYW5zICovCisgICAgICBVU0NSSVBUX1RSQURJVElP
TkFMX0hBTiAgICAgICAgICAgICAgID0gNzQsIC8qIEhhbnQgKi8KKyAgICAgIFVTQ1JJUFRfUEFI
QVdIX0hNT05HICAgICAgICAgICAgICAgICAgPSA3NSwgLyogSG1uZyAqLworICAgICAgVVNDUklQ
VF9PTERfSFVOR0FSSUFOICAgICAgICAgICAgICAgICA9IDc2LCAvKiBIdW5nICovCisgICAgICBV
U0NSSVBUX0hBUkFQUEFOX0lORFVTICAgICAgICAgICAgICAgID0gNzcsIC8qIEluZHMgKi8KKyAg
ICAgIFVTQ1JJUFRfSkFWQU5FU0UgICAgICAgICAgICAgICAgICAgICAgPSA3OCwgLyogSmF2YSAq
LworICAgICAgVVNDUklQVF9LQVlBSF9MSSAgICAgICAgICAgICAgICAgICAgICA9IDc5LCAvKiBL
YWxpICovCisgICAgICBVU0NSSVBUX0xBVElOX0ZSQUtUVVIgICAgICAgICAgICAgICAgID0gODAs
IC8qIExhdGYgKi8KKyAgICAgIFVTQ1JJUFRfTEFUSU5fR0FFTElDICAgICAgICAgICAgICAgICAg
PSA4MSwgLyogTGF0ZyAqLworICAgICAgVVNDUklQVF9MRVBDSEEgICAgICAgICAgICAgICAgICAg
ICAgICA9IDgyLCAvKiBMZXBjICovCisgICAgICBVU0NSSVBUX0xJTkVBUl9BICAgICAgICAgICAg
ICAgICAgICAgID0gODMsIC8qIExpbmEgKi8KKyAgICAgIFVTQ1JJUFRfTUFOREFFQU4gICAgICAg
ICAgICAgICAgICAgICAgPSA4NCwgLyogTWFuZCAqLworICAgICAgVVNDUklQVF9NQVlBTl9ISUVS
T0dMWVBIUyAgICAgICAgICAgICA9IDg1LCAvKiBNYXlhICovCisgICAgICBVU0NSSVBUX01FUk9J
VElDICAgICAgICAgICAgICAgICAgICAgID0gODYsIC8qIE1lcm8gKi8KKyAgICAgIFVTQ1JJUFRf
TktPICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA4NywgLyogTmtvbyAqLworICAgICAgVVND
UklQVF9PUktIT04gICAgICAgICAgICAgICAgICAgICAgICA9IDg4LCAvKiBPcmtoICovCisgICAg
ICBVU0NSSVBUX09MRF9QRVJNSUMgICAgICAgICAgICAgICAgICAgID0gODksIC8qIFBlcm0gKi8K
KyAgICAgIFVTQ1JJUFRfUEhBR1NfUEEgICAgICAgICAgICAgICAgICAgICAgPSA5MCwgLyogUGhh
ZyAqLworICAgICAgVVNDUklQVF9QSE9FTklDSUFOICAgICAgICAgICAgICAgICAgICA9IDkxLCAv
KiBQaG54ICovCisgICAgICBVU0NSSVBUX1BIT05FVElDX1BPTExBUkQgICAgICAgICAgICAgID0g
OTIsIC8qIFBscmQgKi8KKyAgICAgIFVTQ1JJUFRfUk9OR09ST05HTyAgICAgICAgICAgICAgICAg
ICAgPSA5MywgLyogUm9ybyAqLworICAgICAgVVNDUklQVF9TQVJBVEkgICAgICAgICAgICAgICAg
ICAgICAgICA9IDk0LCAvKiBTYXJhICovCisgICAgICBVU0NSSVBUX0VTVFJBTkdFTE9fU1lSSUFD
ICAgICAgICAgICAgID0gOTUsIC8qIFN5cmUgKi8KKyAgICAgIFVTQ1JJUFRfV0VTVEVSTl9TWVJJ
QUMgICAgICAgICAgICAgICAgPSA5NiwgLyogU3lyaiAqLworICAgICAgVVNDUklQVF9FQVNURVJO
X1NZUklBQyAgICAgICAgICAgICAgICA9IDk3LCAvKiBTeXJuICovCisgICAgICBVU0NSSVBUX1RF
TkdXQVIgICAgICAgICAgICAgICAgICAgICAgID0gOTgsIC8qIFRlbmcgKi8KKyAgICAgIFVTQ1JJ
UFRfVkFJICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA5OSwgLyogVmFpaSAqLworICAgICAg
VVNDUklQVF9WSVNJQkxFX1NQRUVDSCAgICAgICAgICAgICAgICA9IDEwMCwgLyogVmlzcCAqLwor
ICAgICAgVVNDUklQVF9DVU5FSUZPUk0gICAgICAgICAgICAgICAgICAgICA9IDEwMSwvKiBYc3V4
ICovCisgICAgICBVU0NSSVBUX1VOV1JJVFRFTl9MQU5HVUFHRVMgICAgICAgICAgID0gMTAyLC8q
IFp4eHggKi8KKyAgICAgIFVTQ1JJUFRfVU5LTk9XTiAgICAgICAgICAgICAgICAgICAgICAgPSAx
MDMsLyogWnp6eiAqLyAvKiBVbmtub3duPSJDb2RlIGZvciB1bmNvZGVkIHNjcmlwdCIsIGZvciB1
bmFzc2lnbmVkIGNvZGUgcG9pbnRzICovCisgICAgICAvKiBQcml2YXRlIHVzZSBjb2RlcyBmcm9t
IFFhYWEgLSBRYWJ4IGFyZSBub3Qgc3VwcG9ydGVkKi8KKyNlbmRpZiAvKiBVX0hJREVfRFJBRlRf
QVBJICovCisgICAgICBVU0NSSVBUX0NPREVfTElNSVQgICAgPSAxMDQKK30gVVNjcmlwdENvZGU7
CisKKy8qKgorICogR2V0cyBzY3JpcHQgY29kZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBs
b2NhbGUgb3IgSVNPIDE1OTI0IGFiYnJldmlhdGlvbiBvciBuYW1lLiAKKyAqIEZpbGxzIGluIFVT
Q1JJUFRfTUFMQVlBTEFNIGdpdmVuICJNYWxheWFtIiBPUiAiTWx5bSIuCisgKiBGaWxscyBpbiBV
U0NSSVBUX0xBVElOIGdpdmVuICJlbiIgT1IgImVuX1VTIiAKKyAqIElmIHJlcXVpcmVkIGNhcGFj
aXR5IGlzIGdyZWF0ZXIgdGhhbiBjYXBhY2l0eSBvZiB0aGUgZGVzdGluYXRpb24gYnVmZmVyIHRo
ZW4gdGhlIGVycm9yIGNvZGUKKyAqIGlzIHNldCB0byBVX0JVRkZFUl9PVkVSRkxPV19FUlJPUiBh
bmQgdGhlIHJlcXVpcmVkIGNhcGFjaXR5IGlzIHJldHVybmVkCisgKgorICogPHA+Tm90ZTogVG8g
c2VhcmNoIGJ5IHNob3J0IG9yIGxvbmcgc2NyaXB0IGFsaWFzIG9ubHksIHVzZQorICogdV9nZXRQ
cm9wZXJ0eVZhbHVlRW51bShVQ0hBUl9TQ1JJUFQsIGFsaWFzKSBpbnN0ZWFkLiAgVGhpcyBkb2Vz
CisgKiBhIGZhc3QgbG9va3VwIHdpdGggbm8gYWNjZXNzIG9mIHRoZSBsb2NhbGUgZGF0YS4KKyAq
IEBwYXJhbSBuYW1lT3JBYmJyT3JMb2NhbGUgbmFtZSBvZiB0aGUgc2NyaXB0LCBhcyBnaXZlbiBp
bgorICogUHJvcGVydHlWYWx1ZUFsaWFzZXMudHh0LCBvciBJU08gMTU5MjQgY29kZSBvciBsb2Nh
bGUKKyAqIEBwYXJhbSBmaWxsSW4gdGhlIFVTY3JpcHRDb2RlIGJ1ZmZlciB0byBmaWxsIGluIHRo
ZSBzY3JpcHQgY29kZQorICogQHBhcmFtIGNhcGFjaXR5IHRoZSBjYXBhY2l0eSAoc2l6ZSkgZm8g
VVNjcmlwdENvZGUgYnVmZmVyIHBhc3NlZCBpbi4KKyAqIEBwYXJhbSBlcnIgdGhlIGVycm9yIHN0
YXR1cyBjb2RlLgorICogQHJldHVybiBUaGUgbnVtYmVyIG9mIHNjcmlwdCBjb2RlcyBmaWxsZWQg
aW4gdGhlIGJ1ZmZlciBwYXNzZWQgaW4gCisgKiBAc3RhYmxlIElDVSAyLjQKKyAqLworVV9TVEFC
TEUgaW50MzJfdCAgVV9FWFBPUlQyIAordXNjcmlwdF9nZXRDb2RlKGNvbnN0IGNoYXIqIG5hbWVP
ckFiYnJPckxvY2FsZSxVU2NyaXB0Q29kZSogZmlsbEluLGludDMyX3QgY2FwYWNpdHksVUVycm9y
Q29kZSAqZXJyKTsKKworLyoqCisgKiBHZXRzIGEgc2NyaXB0IG5hbWUgYXNzb2NpYXRlZCB3aXRo
IHRoZSBnaXZlbiBzY3JpcHQgY29kZS4gCisgKiBSZXR1cm5zICAiTWFsYXlhbSIgZ2l2ZW4gVVND
UklQVF9NQUxBWUFMQU0KKyAqIEBwYXJhbSBzY3JpcHRDb2RlIFVTY3JpcHRDb2RlIGVudW0KKyAq
IEByZXR1cm4gc2NyaXB0IGxvbmcgbmFtZSBhcyBnaXZlbiBpbgorICogUHJvcGVydHlWYWx1ZUFs
aWFzZXMudHh0LCBvciBOVUxMIGlmIHNjcmlwdENvZGUgaXMgaW52YWxpZAorICogQHN0YWJsZSBJ
Q1UgMi40CisgKi8KK1VfU1RBQkxFIGNvbnN0IGNoYXIqICBVX0VYUE9SVDIgCit1c2NyaXB0X2dl
dE5hbWUoVVNjcmlwdENvZGUgc2NyaXB0Q29kZSk7CisKKy8qKgorICogR2V0cyBhIHNjcmlwdCBu
YW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4gc2NyaXB0IGNvZGUuIAorICogUmV0dXJucyAg
Ik1seW0iIGdpdmVuIFVTQ1JJUFRfTUFMQVlBTEFNCisgKiBAcGFyYW0gc2NyaXB0Q29kZSBVU2Ny
aXB0Q29kZSBlbnVtCisgKiBAcmV0dXJuIHNjcmlwdCBhYmJyZXZpYXRlZCBuYW1lIGFzIGdpdmVu
IGluCisgKiBQcm9wZXJ0eVZhbHVlQWxpYXNlcy50eHQsIG9yIE5VTEwgaWYgc2NyaXB0Q29kZSBp
cyBpbnZhbGlkCisgKiBAc3RhYmxlIElDVSAyLjQKKyAqLworVV9TVEFCTEUgY29uc3QgY2hhciog
IFVfRVhQT1JUMiAKK3VzY3JpcHRfZ2V0U2hvcnROYW1lKFVTY3JpcHRDb2RlIHNjcmlwdENvZGUp
OworCisvKiogCisgKiBHZXRzIHRoZSBzY3JpcHQgY29kZSBhc3NvY2lhdGVkIHdpdGggdGhlIGdp
dmVuIGNvZGVwb2ludC4KKyAqIFJldHVybnMgVVNDUklQVF9NQUxBWUFMQU0gZ2l2ZW4gMHgwRDAy
IAorICogQHBhcmFtIGNvZGVwb2ludCBVQ2hhcjMyIGNvZGVwb2ludAorICogQHBhcmFtIGVyciB0
aGUgZXJyb3Igc3RhdHVzIGNvZGUuCisgKiBAcmV0dXJuIFRoZSBVU2NyaXB0Q29kZSwgb3IgMCBp
ZiBjb2RlcG9pbnQgaXMgaW52YWxpZCAKKyAqIEBzdGFibGUgSUNVIDIuNAorICovCitVX1NUQUJM
RSBVU2NyaXB0Q29kZSAgVV9FWFBPUlQyIAordXNjcmlwdF9nZXRTY3JpcHQoVUNoYXIzMiBjb2Rl
cG9pbnQsIFVFcnJvckNvZGUgKmVycik7CisKKyNlbmRpZgorCisKClByb3BlcnR5IGNoYW5nZXMg
b246IFNvdXJjZS9KYXZhU2NyaXB0R2x1ZS9pY3UvdW5pY29kZS91c2NyaXB0LmgKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpBZGRlZDogc3ZuOmVvbC1zdHlsZQogICArIExGCgpJbmRleDogU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24g
ODk0ODUpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSw0MiBAQAorMjAxMS0wNi0yMiAgSnVuZ3NoaWsgU2hpbiAgPGpzaGluQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292LgorCisgICAgICAg
IEFsbG93IGdlbmVyaWMgZm9udCBmYW1pbHkgc2V0dGluZ3MgcGVyIHNjcmlwdCBjb2RlLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA3OTcKKworICAg
ICAgICBNYWtlIGdlbmVyaWMgZm9udCBmYW1pbHkgZ2V0dGVycy9zZXR0ZXJzIGFjY2VwdCBhbiBh
ZGRpdGlvbmFsCisgICAgICAgIGFyZ3VtZW50IChzY3JpcHQgY29kZSkuIEl0IGhhcyBhIGRlZmF1
bHQgdmFsdWUgc28gdGhhdCBpZiBhbiBlbWJlZGRlcgorICAgICAgICBkb2VzIG5vdCBoYXZlL3dh
bnQgYSBwZXItc2NyaXB0IGZvbnQgZmFtaWx5IHNldHRpbmcsIGNhbGwtc2l0ZXMKKyAgICAgICAg
ZG9uJ3QgaGF2ZSB0byBiZSBjaGFuZ2VkLgorICAgICAgICBUaGlzIGlzIHRvIHByZXBhcmUgZm9y
IGZpeGluZyBidWcgMTA4NzQgKGZvbnQgc2VsZWN0aW9uIGlzIG5vdAorICAgICAgICBsYW5ndWFn
ZS1kZXBlbmRlbnQpIGFuZCBidWcgMTgwODUuCisKKyAgICAgICAgdXNjcmlwdC5oIGhhcyBiZWVu
IHVwZGF0ZWQgdG8gdGhhdCBvZiBJQ1UgMy42ICh0aGUgdmVyc2lvbiBvZiBJQ1Ugb24KKyAgICAg
ICAgTWFjIE9TIDEwLjUpCisKKyAgICAgICAgVGhlcmUgc2hvdWxkIGJlIG5vIGNoYW5nZSBpbiBs
YXlvdXQgYW5kIG5vIG5ldyBsYXlvdXQgdGVzdAorICAgICAgICBpcyBhZGRlZC4KKworICAgICAg
ICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIGljdS91bmljb2RlL3VzY3JpcHQuaDogdXBk
YXRlZCB0byBJQ1UgNC42CisgICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpzZXRHZW5lcmljRm9udEZhbWlseU1hcCk6IGhlbHBlciB0byBzZXQgZ2VuZXJpYyBm
YW1pbHkgcGVyIHNjcmlwdAorICAgICAgICAoV2ViQ29yZTo6Z2V0R2VuZXJpY0ZvbnRGYW1pbHlG
b3JTY3JpcHQpOiBoZWxwZXIgZnVuY3Rpb24gdXNlZCBieSBnZXR0ZXJzIGZvciBmb29Gb250RmFt
aWx5LgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnN0YW5kYXJkRm9udEZhbWlseSk6Cisg
ICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0U3RhbmRhcmRGb250RmFtaWx5KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNldHRpbmdzOjpmaXhlZEZvbnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29y
ZTo6U2V0dGluZ3M6OnNldEZpeGVkRm9udEZhbWlseSk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0
aW5nczo6c2VyaWZGb250RmFtaWx5KToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRT
ZXJpZkZvbnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNhbnNTZXJpZkZv
bnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldFNhbnNTZXJpZkZvbnRG
YW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OmN1cnNpdmVGb250RmFtaWx5KToK
KyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRDdXJzaXZlRm9udEZhbWlseSk6CisgICAg
ICAgIChXZWJDb3JlOjpTZXR0aW5nczo6ZmFudGFzeUZvbnRGYW1pbHkpOgorICAgICAgICAoV2Vi
Q29yZTo6U2V0dGluZ3M6OnNldEZhbnRhc3lGb250RmFtaWx5KToKKyAgICAgICAgKiBwYWdlL1Nl
dHRpbmdzLmg6IHNldHRlciBhbmQgZ2V0dGVyIGZvciBGb29Gb250RmFtaWx5IGhhdmUgYSBuZXcg
b3B0aW9uYWwgYXJndW1lbnQsIHNjcmlwdENvZGUuCisKIDIwMTEtMDYtMjIgIE1hcmsgUGlsZ3Jp
bSAgPHBpbGdyaW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFy
dGguCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkocmV2aXNpb24gODk0ODUpCisrKyBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkod29ya2luZyBjb3B5KQpAQCAtODU2LDIyICs4NTYsMjIg
QEAgX19aTjdXZWJDb3JlOFNldHRpbmdzMTZzZXRVc2VzUGFnZUNhY2hlRQogX19aTjdXZWJDb3Jl
OFNldHRpbmdzMTdzZXRQbHVnaW5zRW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNl
dERPTVBhc3RlQWxsb3dlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldERlZmF1bHRGb250
U2l6ZUVpCi1fX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldEZpeGVkRm9udEZhbWlseUVSS04zV1RG
MTJBdG9taWNTdHJpbmdFCitfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldEZpeGVkRm9udEZhbWls
eUVSS04zV1RGMTJBdG9taWNTdHJpbmdFMTFVU2NyaXB0Q29kZQogX19aTjdXZWJDb3JlOFNldHRp
bmdzMThzZXRNaW5pbXVtRm9udFNpemVFaQotX19aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRTZXJp
ZkZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5nRQorX19aTjdXZWJDb3JlOFNldHRpbmdz
MThzZXRTZXJpZkZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5nRTExVVNjcmlwdENvZGUK
IF9fWk43V2ViQ29yZThTZXR0aW5nczE4c2V0V2ViQXVkaW9FbmFibGVkRWIKIF9fWk43V2ViQ29y
ZThTZXR0aW5nczE5bWluRE9NVGltZXJJbnRlcnZhbEV2CiBfX1pON1dlYkNvcmU4U2V0dGluZ3Mx
OXNldFNob3dEZWJ1Z0JvcmRlcnNFYgotX19aTjdXZWJDb3JlOFNldHRpbmdzMjBzZXRDdXJzaXZl
Rm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFCi1fX1pON1dlYkNvcmU4U2V0dGluZ3My
MHNldEZhbnRhc3lGb250RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0UKK19fWk43V2ViQ29y
ZThTZXR0aW5nczIwc2V0Q3Vyc2l2ZUZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5nRTEx
VVNjcmlwdENvZGUKK19fWk43V2ViQ29yZThTZXR0aW5nczIwc2V0RmFudGFzeUZvbnRGYW1pbHlF
UktOM1dURjEyQXRvbWljU3RyaW5nRTExVVNjcmlwdENvZGUKIF9fWk43V2ViQ29yZThTZXR0aW5n
czIwc2V0SmF2YVNjcmlwdEVuYWJsZWRFYgogX19aTjdXZWJDb3JlOFNldHRpbmdzMjBzZXRYU1NB
dWRpdG9yRW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMXNldFNob3dSZXBhaW50Q291
bnRlckViCi1fX1pON1dlYkNvcmU4U2V0dGluZ3MyMXNldFN0YW5kYXJkRm9udEZhbWlseUVSS04z
V1RGMTJBdG9taWNTdHJpbmdFCitfX1pON1dlYkNvcmU4U2V0dGluZ3MyMXNldFN0YW5kYXJkRm9u
dEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFMTFVU2NyaXB0Q29kZQogX19aTjdXZWJDb3Jl
OFNldHRpbmdzMjFzZXRXZWJTZWN1cml0eUVuYWJsZWRFYgogX19aTjdXZWJDb3JlOFNldHRpbmdz
MjJzZXRMb2NhbFN0b3JhZ2VFbmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5nczIyc2V0TWlu
RE9NVGltZXJJbnRlcnZhbEVkCi1fX1pON1dlYkNvcmU4U2V0dGluZ3MyMnNldFNhbnNTZXJpZkZv
bnRGYW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5nRQorX19aTjdXZWJDb3JlOFNldHRpbmdzMjJz
ZXRTYW5zU2VyaWZGb250RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0UxMVVTY3JpcHRDb2Rl
CiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMnNldFNlc3Npb25TdG9yYWdlUXVvdGFFagogX19aTjdX
ZWJDb3JlOFNldHRpbmdzMjJzZXRTaG93c1VSTHNJblRvb2xUaXBzRWIKIF9fWk43V2ViQ29yZThT
ZXR0aW5nczIzc2V0RGVmYXVsdEZpeGVkRm9udFNpemVFaQpJbmRleDogU291cmNlL1dlYkNvcmUv
aWN1L3VuaWNvZGUvdXNjcmlwdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2ljdS91
bmljb2RlL3VzY3JpcHQuaAkocmV2aXNpb24gODk0ODUpCisrKyBTb3VyY2UvV2ViQ29yZS9pY3Uv
dW5pY29kZS91c2NyaXB0LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBACiAvKgogKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKgotKiAgIENvcHlyaWdodCAoQykgMTk5Ny0yMDA0LCBJbnRlcm5hdGlvbmFsIEJ1
c2luZXNzIE1hY2hpbmVzCisqICAgQ29weXJpZ2h0IChDKSAxOTk3LTIwMDYsIEludGVybmF0aW9u
YWwgQnVzaW5lc3MgTWFjaGluZXMKICogICBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLiAgQWxsIFJp
Z2h0cyBSZXNlcnZlZC4KICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICoKQEAgLTE3LDcgKzE3LDI4IEBACiAjaW5j
bHVkZSAidW5pY29kZS91dHlwZXMuaCIKIAogLyoqCi0gKiBDb25zdGFudHMgZm9yIFVuaWNvZGUg
c2NyaXB0IHZhbHVlcyBmcm9tIFNjcmlwdE5hbWVzLnR4dCAuCisgKiBcZmlsZQorICogXGJyaWVm
IEMgQVBJOiBVbmljb2RlIFNjcmlwdCBJbmZvcm1hdGlvbgorICovCisgCisvKioKKyAqIENvbnN0
YW50cyBmb3IgSVNPIDE1OTI0IHNjcmlwdCBjb2Rlcy4KKyAqCisgKiBNYW55IG9mIHRoZXNlIHNj
cmlwdCBjb2RlcyAtIHRob3NlIGZyb20gVW5pY29kZSdzIFNjcmlwdE5hbWVzLnR4dCAtCisgKiBh
cmUgY2hhcmFjdGVyIHByb3BlcnR5IHZhbHVlcyBmb3IgVW5pY29kZSdzIFNjcmlwdCBwcm9wZXJ0
eS4KKyAqIFNlZSBVQVggIzI0IFNjcmlwdCBOYW1lcyAoaHR0cDovL3d3dy51bmljb2RlLm9yZy9y
ZXBvcnRzL3RyMjQvKS4KKyAqCisgKiBTdGFydGluZyB3aXRoIElDVSAzLjYsIGNvbnN0YW50cyBm
b3IgbW9zdCBJU08gMTU5MjQgc2NyaXB0IGNvZGVzCisgKiBhcmUgaW5jbHVkZWQgKGN1cnJlbnRs
eSBleGNsdWRpbmcgcHJpdmF0ZS11c2UgY29kZXMgUWFhYS4uUWFieCkuCisgKiBGb3Igc2NyaXB0
cyBmb3Igd2hpY2ggdGhlcmUgYXJlIGNvZGVzIGluIElTTyAxNTkyNCBidXQgd2hpY2ggYXJlIG5v
dAorICogdXNlZCBpbiB0aGUgVW5pY29kZSBDaGFyYWN0ZXIgRGF0YWJhc2UgKFVDRCksIHRoZXJl
IGFyZSBubyBVbmljb2RlIGNoYXJhY3RlcnMKKyAqIGFzc29jaWF0ZWQgd2l0aCB0aG9zZSBzY3Jp
cHRzLgorICoKKyAqIEZvciBleGFtcGxlLCB0aGVyZSBhcmUgbm8gY2hhcmFjdGVycyB0aGF0IGhh
dmUgYSBVQ0Qgc2NyaXB0IGNvZGUgb2YKKyAqIEhhbnMgb3IgSGFudC4gQWxsIEhhbiBpZGVvZ3Jh
cGhzIGhhdmUgdGhlIEhhbmkgc2NyaXB0IGNvZGUuCisgKiBUaGUgSGFucyBhbmQgSGFudCBzY3Jp
cHQgY29kZXMgYXJlIHVzZWQgd2l0aCBDTERSIGRhdGEuCisgKgorICogSVNPIDE1OTI0IHNjcmlw
dCBjb2RlcyBhcmUgaW5jbHVkZWQgZm9yIHVzZSB3aXRoIENMRFIgYW5kIHNpbWlsYXIuCiAgKgog
ICogQHN0YWJsZSBJQ1UgMi4yCiAgKi8KQEAgLTMxLDExICs1MiwxMSBAQCB0eXBlZGVmIGVudW0g
VVNjcmlwdENvZGUgewogICAgICAgVVNDUklQVF9CT1BPTU9GTyAgICAgPSAgNSwgIC8qIEJvcG8g
Ki8KICAgICAgIFVTQ1JJUFRfQ0hFUk9LRUUgICAgID0gIDYsICAvKiBDaGVyICovCiAgICAgICBV
U0NSSVBUX0NPUFRJQyAgICAgICA9ICA3LCAgLyogQ29wdCAqLwotICAgICAgVVNDUklQVF9DWVJJ
TExJQyAgICAgPSAgOCwgIC8qIEN5cmwgKEN5cnMpICovCisgICAgICBVU0NSSVBUX0NZUklMTElD
ICAgICA9ICA4LCAgLyogQ3lybCAqLwogICAgICAgVVNDUklQVF9ERVNFUkVUICAgICAgPSAgOSwg
IC8qIERzcnQgKi8KICAgICAgIFVTQ1JJUFRfREVWQU5BR0FSSSAgID0gMTAsICAvKiBEZXZhICov
CiAgICAgICBVU0NSSVBUX0VUSElPUElDICAgICA9IDExLCAgLyogRXRoaSAqLwotICAgICAgVVND
UklQVF9HRU9SR0lBTiAgICAgPSAxMiwgIC8qIEdlb3IgKEdlb24sIEdlb2EpICovCisgICAgICBV
U0NSSVBUX0dFT1JHSUFOICAgICA9IDEyLCAgLyogR2VvciAqLwogICAgICAgVVNDUklQVF9HT1RI
SUMgICAgICAgPSAxMywgIC8qIEdvdGggKi8KICAgICAgIFVTQ1JJUFRfR1JFRUsgICAgICAgID0g
MTQsICAvKiBHcmVrICovCiAgICAgICBVU0NSSVBUX0dVSkFSQVRJICAgICA9IDE1LCAgLyogR3Vq
ciAqLwpAQCAtNDgsNyArNjksNyBAQCB0eXBlZGVmIGVudW0gVVNjcmlwdENvZGUgewogICAgICAg
VVNDUklQVF9LQVRBS0FOQSAgICAgPSAyMiwgIC8qIEthbmEgKi8KICAgICAgIFVTQ1JJUFRfS0hN
RVIgICAgICAgID0gMjMsICAvKiBLaG1yICovCiAgICAgICBVU0NSSVBUX0xBTyAgICAgICAgICA9
IDI0LCAgLyogTGFvbyAqLwotICAgICAgVVNDUklQVF9MQVRJTiAgICAgICAgPSAyNSwgIC8qIExh
dG4gKExhdGYsIExhdGcpICovCisgICAgICBVU0NSSVBUX0xBVElOICAgICAgICA9IDI1LCAgLyog
TGF0biAqLwogICAgICAgVVNDUklQVF9NQUxBWUFMQU0gICAgPSAyNiwgIC8qIE1seW0gKi8KICAg
ICAgIFVTQ1JJUFRfTU9OR09MSUFOICAgID0gMjcsICAvKiBNb25nICovCiAgICAgICBVU0NSSVBU
X01ZQU5NQVIgICAgICA9IDI4LCAgLyogTXltciAqLwpAQCAtNTcsNyArNzgsNyBAQCB0eXBlZGVm
IGVudW0gVVNjcmlwdENvZGUgewogICAgICAgVVNDUklQVF9PUklZQSAgICAgICAgPSAzMSwgIC8q
IE9yeWEgKi8KICAgICAgIFVTQ1JJUFRfUlVOSUMgICAgICAgID0gMzIsICAvKiBSdW5yICovCiAg
ICAgICBVU0NSSVBUX1NJTkhBTEEgICAgICA9IDMzLCAgLyogU2luaCAqLwotICAgICAgVVNDUklQ
VF9TWVJJQUMgICAgICAgPSAzNCwgIC8qIFN5cmMgKFN5cmosIFN5cm4sIFN5cmUpICovCisgICAg
ICBVU0NSSVBUX1NZUklBQyAgICAgICA9IDM0LCAgLyogU3lyYyAqLwogICAgICAgVVNDUklQVF9U
QU1JTCAgICAgICAgPSAzNSwgIC8qIFRhbWwgKi8KICAgICAgIFVTQ1JJUFRfVEVMVUdVICAgICAg
ID0gMzYsICAvKiBUZWx1ICovCiAgICAgICBVU0NSSVBUX1RIQUFOQSAgICAgICA9IDM3LCAgLyog
VGhhYSAqLwpAQCAtNzQsMTkgKzk1LDc0IEBAIHR5cGVkZWYgZW51bSBVU2NyaXB0Q29kZSB7CiAg
ICAgICBVU0NSSVBUX1RBR0JBTldBICAgICA9IDQ1LCAgLyogVGFnYiAqLwogCiAgICAgICAvKiBO
ZXcgc2NyaXB0cyBpbiBVbmljb2RlIDQgQHN0YWJsZSBJQ1UgMi42ICovCi0gICAgICBVU0NSSVBU
X0JSQUlMTEUsICAgICAgICAgICAgLyogQnJhaSAqLwotICAgICAgVVNDUklQVF9DWVBSSU9ULCAg
ICAgICAgICAgIC8qIENwcnQgKi8KLSAgICAgIFVTQ1JJUFRfTElNQlUsICAgICAgICAgICAgICAv
KiBMaW1iICovCi0gICAgICBVU0NSSVBUX0xJTkVBUl9CLCAgICAgICAgICAgLyogTGluYiAqLwot
ICAgICAgVVNDUklQVF9PU01BTllBLCAgICAgICAgICAgIC8qIE9zbWEgKi8KLSAgICAgIFVTQ1JJ
UFRfU0hBVklBTiwgICAgICAgICAgICAvKiBTaGF3ICovCi0gICAgICBVU0NSSVBUX1RBSV9MRSwg
ICAgICAgICAgICAgLyogVGFsZSAqLwotICAgICAgVVNDUklQVF9VR0FSSVRJQywgICAgICAgICAg
IC8qIFVnYXIgKi8KLQotICAgICAgLyoqIE5ldyBzY3JpcHQgY29kZSBpbiBVbmljb2RlIDQuMC4x
IEBkcmFmdCBJQ1UgMy4wICovCi0gICAgICBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BLC8q
SHJrdCAqLwotCi0gICAgICBVU0NSSVBUX0NPREVfTElNSVQKKyAgICAgIFVTQ1JJUFRfQlJBSUxM
RSAgICAgID0gNDYsICAvKiBCcmFpICovCisgICAgICBVU0NSSVBUX0NZUFJJT1QgICAgICA9IDQ3
LCAgLyogQ3BydCAqLworICAgICAgVVNDUklQVF9MSU1CVSAgICAgICAgPSA0OCwgIC8qIExpbWIg
Ki8KKyAgICAgIFVTQ1JJUFRfTElORUFSX0IgICAgID0gNDksICAvKiBMaW5iICovCisgICAgICBV
U0NSSVBUX09TTUFOWUEgICAgICA9IDUwLCAgLyogT3NtYSAqLworICAgICAgVVNDUklQVF9TSEFW
SUFOICAgICAgPSA1MSwgIC8qIFNoYXcgKi8KKyAgICAgIFVTQ1JJUFRfVEFJX0xFICAgICAgID0g
NTIsICAvKiBUYWxlICovCisgICAgICBVU0NSSVBUX1VHQVJJVElDICAgICA9IDUzLCAgLyogVWdh
ciAqLworCisgICAgICAvKiogTmV3IHNjcmlwdCBjb2RlIGluIFVuaWNvZGUgNC4wLjEgQHN0YWJs
ZSBJQ1UgMy4wICovCisgICAgICBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BID0gNTQsLypI
cmt0ICovCisgICAgICAKKyNpZm5kZWYgVV9ISURFX0RSQUZUX0FQSQorICAgICAgLyogTmV3IHNj
cmlwdHMgaW4gVW5pY29kZSA0LjEgQGRyYWZ0IElDVSAzLjQgKi8KKyAgICAgIFVTQ1JJUFRfQlVH
SU5FU0UgICAgICA9IDU1LCAvKiBCdWdpICovCisgICAgICBVU0NSSVBUX0dMQUdPTElUSUMgICAg
PSA1NiwgLyogR2xhZyAqLworICAgICAgVVNDUklQVF9LSEFST1NIVEhJICAgID0gNTcsIC8qIEto
YXIgKi8KKyAgICAgIFVTQ1JJUFRfU1lMT1RJX05BR1JJICA9IDU4LCAvKiBTeWxvICovCisgICAg
ICBVU0NSSVBUX05FV19UQUlfTFVFICAgPSA1OSwgLyogVGFsdSAqLworICAgICAgVVNDUklQVF9U
SUZJTkFHSCAgICAgID0gNjAsIC8qIFRmbmcgKi8KKyAgICAgIFVTQ1JJUFRfT0xEX1BFUlNJQU4g
ICA9IDYxLCAvKiBYcGVvICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHQgY29kZXMgZnJvbSBJU08g
MTU5MjQgQGRyYWZ0IElDVSAzLjYgKi8KKyAgICAgIFVTQ1JJUFRfQkFMSU5FU0UgICAgICAgICAg
ICAgICAgICAgICAgPSA2MiwgLyogQmFsaSAqLworICAgICAgVVNDUklQVF9CQVRBSyAgICAgICAg
ICAgICAgICAgICAgICAgICA9IDYzLCAvKiBCYXRrICovCisgICAgICBVU0NSSVBUX0JMSVNTWU1C
T0xTICAgICAgICAgICAgICAgICAgID0gNjQsIC8qIEJsaXMgKi8KKyAgICAgIFVTQ1JJUFRfQlJB
SE1JICAgICAgICAgICAgICAgICAgICAgICAgPSA2NSwgLyogQnJhaCAqLworICAgICAgVVNDUklQ
VF9DSEFNICAgICAgICAgICAgICAgICAgICAgICAgICA9IDY2LCAvKiBDaGFtICovCisgICAgICBV
U0NSSVBUX0NJUlRIICAgICAgICAgICAgICAgICAgICAgICAgID0gNjcsIC8qIENpcnQgKi8KKyAg
ICAgIFVTQ1JJUFRfT0xEX0NIVVJDSF9TTEFWT05JQ19DWVJJTExJQyAgPSA2OCwgLyogQ3lycyAq
LworICAgICAgVVNDUklQVF9ERU1PVElDX0VHWVBUSUFOICAgICAgICAgICAgICA9IDY5LCAvKiBF
Z3lkICovCisgICAgICBVU0NSSVBUX0hJRVJBVElDX0VHWVBUSUFOICAgICAgICAgICAgID0gNzAs
IC8qIEVneWggKi8KKyAgICAgIFVTQ1JJUFRfRUdZUFRJQU5fSElFUk9HTFlQSFMgICAgICAgICAg
PSA3MSwgLyogRWd5cCAqLworICAgICAgVVNDUklQVF9LSFVUU1VSSSAgICAgICAgICAgICAgICAg
ICAgICA9IDcyLCAvKiBHZW9rICovCisgICAgICBVU0NSSVBUX1NJTVBMSUZJRURfSEFOICAgICAg
ICAgICAgICAgID0gNzMsIC8qIEhhbnMgKi8KKyAgICAgIFVTQ1JJUFRfVFJBRElUSU9OQUxfSEFO
ICAgICAgICAgICAgICAgPSA3NCwgLyogSGFudCAqLworICAgICAgVVNDUklQVF9QQUhBV0hfSE1P
TkcgICAgICAgICAgICAgICAgICA9IDc1LCAvKiBIbW5nICovCisgICAgICBVU0NSSVBUX09MRF9I
VU5HQVJJQU4gICAgICAgICAgICAgICAgID0gNzYsIC8qIEh1bmcgKi8KKyAgICAgIFVTQ1JJUFRf
SEFSQVBQQU5fSU5EVVMgICAgICAgICAgICAgICAgPSA3NywgLyogSW5kcyAqLworICAgICAgVVND
UklQVF9KQVZBTkVTRSAgICAgICAgICAgICAgICAgICAgICA9IDc4LCAvKiBKYXZhICovCisgICAg
ICBVU0NSSVBUX0tBWUFIX0xJICAgICAgICAgICAgICAgICAgICAgID0gNzksIC8qIEthbGkgKi8K
KyAgICAgIFVTQ1JJUFRfTEFUSU5fRlJBS1RVUiAgICAgICAgICAgICAgICAgPSA4MCwgLyogTGF0
ZiAqLworICAgICAgVVNDUklQVF9MQVRJTl9HQUVMSUMgICAgICAgICAgICAgICAgICA9IDgxLCAv
KiBMYXRnICovCisgICAgICBVU0NSSVBUX0xFUENIQSAgICAgICAgICAgICAgICAgICAgICAgID0g
ODIsIC8qIExlcGMgKi8KKyAgICAgIFVTQ1JJUFRfTElORUFSX0EgICAgICAgICAgICAgICAgICAg
ICAgPSA4MywgLyogTGluYSAqLworICAgICAgVVNDUklQVF9NQU5EQUVBTiAgICAgICAgICAgICAg
ICAgICAgICA9IDg0LCAvKiBNYW5kICovCisgICAgICBVU0NSSVBUX01BWUFOX0hJRVJPR0xZUEhT
ICAgICAgICAgICAgID0gODUsIC8qIE1heWEgKi8KKyAgICAgIFVTQ1JJUFRfTUVST0lUSUMgICAg
ICAgICAgICAgICAgICAgICAgPSA4NiwgLyogTWVybyAqLworICAgICAgVVNDUklQVF9OS08gICAg
ICAgICAgICAgICAgICAgICAgICAgICA9IDg3LCAvKiBOa29vICovCisgICAgICBVU0NSSVBUX09S
S0hPTiAgICAgICAgICAgICAgICAgICAgICAgID0gODgsIC8qIE9ya2ggKi8KKyAgICAgIFVTQ1JJ
UFRfT0xEX1BFUk1JQyAgICAgICAgICAgICAgICAgICAgPSA4OSwgLyogUGVybSAqLworICAgICAg
VVNDUklQVF9QSEFHU19QQSAgICAgICAgICAgICAgICAgICAgICA9IDkwLCAvKiBQaGFnICovCisg
ICAgICBVU0NSSVBUX1BIT0VOSUNJQU4gICAgICAgICAgICAgICAgICAgID0gOTEsIC8qIFBobngg
Ki8KKyAgICAgIFVTQ1JJUFRfUEhPTkVUSUNfUE9MTEFSRCAgICAgICAgICAgICAgPSA5MiwgLyog
UGxyZCAqLworICAgICAgVVNDUklQVF9ST05HT1JPTkdPICAgICAgICAgICAgICAgICAgICA9IDkz
LCAvKiBSb3JvICovCisgICAgICBVU0NSSVBUX1NBUkFUSSAgICAgICAgICAgICAgICAgICAgICAg
ID0gOTQsIC8qIFNhcmEgKi8KKyAgICAgIFVTQ1JJUFRfRVNUUkFOR0VMT19TWVJJQUMgICAgICAg
ICAgICAgPSA5NSwgLyogU3lyZSAqLworICAgICAgVVNDUklQVF9XRVNURVJOX1NZUklBQyAgICAg
ICAgICAgICAgICA9IDk2LCAvKiBTeXJqICovCisgICAgICBVU0NSSVBUX0VBU1RFUk5fU1lSSUFD
ICAgICAgICAgICAgICAgID0gOTcsIC8qIFN5cm4gKi8KKyAgICAgIFVTQ1JJUFRfVEVOR1dBUiAg
ICAgICAgICAgICAgICAgICAgICAgPSA5OCwgLyogVGVuZyAqLworICAgICAgVVNDUklQVF9WQUkg
ICAgICAgICAgICAgICAgICAgICAgICAgICA9IDk5LCAvKiBWYWlpICovCisgICAgICBVU0NSSVBU
X1ZJU0lCTEVfU1BFRUNIICAgICAgICAgICAgICAgID0gMTAwLCAvKiBWaXNwICovCisgICAgICBV
U0NSSVBUX0NVTkVJRk9STSAgICAgICAgICAgICAgICAgICAgID0gMTAxLC8qIFhzdXggKi8KKyAg
ICAgIFVTQ1JJUFRfVU5XUklUVEVOX0xBTkdVQUdFUyAgICAgICAgICAgPSAxMDIsLyogWnh4eCAq
LworICAgICAgVVNDUklQVF9VTktOT1dOICAgICAgICAgICAgICAgICAgICAgICA9IDEwMywvKiBa
enp6ICovIC8qIFVua25vd249IkNvZGUgZm9yIHVuY29kZWQgc2NyaXB0IiwgZm9yIHVuYXNzaWdu
ZWQgY29kZSBwb2ludHMgKi8KKyAgICAgIC8qIFByaXZhdGUgdXNlIGNvZGVzIGZyb20gUWFhYSAt
IFFhYnggYXJlIG5vdCBzdXBwb3J0ZWQqLworI2VuZGlmIC8qIFVfSElERV9EUkFGVF9BUEkgKi8K
KyAgICAgIFVTQ1JJUFRfQ09ERV9MSU1JVCAgICA9IDEwNAogfSBVU2NyaXB0Q29kZTsKIAogLyoq
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkocmV2aXNpb24gODk0ODUpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIsNiArNTIs
MjAgQEAgc3RhdGljIHZvaWQgc2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5SQogICAgICAgICBm
cmFtZS0+ZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+c2V0QXV0b0xvYWRJbWFn
ZXMocGFnZS0+c2V0dGluZ3MoKS0+bG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KCkpOwogfQogCitz
dGF0aWMgaW5saW5lIHZvaWQgc2V0R2VuZXJpY0ZvbnRGYW1pbHlNYXAoU2NyaXB0Rm9udEZhbWls
eU1hcCYgZm9udE1hcCwgY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIFVTY3JpcHRDb2RlIHNj
cmlwdCwgUGFnZSogcGFnZSkKK3sKKyAgICBmb250TWFwLnNldChzdGF0aWNfY2FzdDxpbnQ+KHNj
cmlwdCksIGZhbWlseSk7CisgICAgcGFnZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVz
KCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgY29uc3QgQXRvbWljU3RyaW5nJiBnZXRHZW5lcmljRm9u
dEZhbWlseUZvclNjcmlwdChjb25zdCBTY3JpcHRGb250RmFtaWx5TWFwJiBmb250TWFwLCBVU2Ny
aXB0Q29kZSBzY3JpcHQpCit7CisgICAgU2NyaXB0Rm9udEZhbWlseU1hcDo6Y29uc3RfaXRlcmF0
b3IgaXQgPSBmb250TWFwLmZpbmQoc3RhdGljX2Nhc3Q8aW50PihzY3JpcHQpKTsKKyAgICBpZiAo
aXQgIT0gZm9udE1hcC5lbmQoKSkKKyAgICAgICAgcmV0dXJuIGl0LT5zZWNvbmQ7CisgICAgcmV0
dXJuIGVtcHR5QXRvbTsKK30KKwogI2lmIFVTRShTQUZBUklfVEhFTUUpCiBib29sIFNldHRpbmdz
OjpnU2hvdWxkUGFpbnROYXRpdmVDb250cm9scyA9IHRydWU7CiAjZW5kaWYKQEAgLTE5Miw1OCAr
MjA2LDY0IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogICAgIEF0b21pY1N0cmlu
Zzo6aW5pdCgpOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRTdGFuZGFyZEZvbnRGYW1pbHkoY29u
c3QgQXRvbWljU3RyaW5nJiBzdGFuZGFyZEZvbnRGYW1pbHkpCitjb25zdCBBdG9taWNTdHJpbmcm
IFNldHRpbmdzOjpzdGFuZGFyZEZvbnRGYW1pbHkoVVNjcmlwdENvZGUgc2NyaXB0KSBjb25zdAog
ewotICAgIGlmIChzdGFuZGFyZEZvbnRGYW1pbHkgPT0gbV9zdGFuZGFyZEZvbnRGYW1pbHkpCi0g
ICAgICAgIHJldHVybjsKKyAgICByZXR1cm4gZ2V0R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQo
bV9zdGFuZGFyZEZvbnRGYW1pbHlNYXAsIHNjcmlwdCk7Cit9CiAKLSAgICBtX3N0YW5kYXJkRm9u
dEZhbWlseSA9IHN0YW5kYXJkRm9udEZhbWlseTsKLSAgICBtX3BhZ2UtPnNldE5lZWRzUmVjYWxj
U3R5bGVJbkFsbEZyYW1lcygpOwordm9pZCBTZXR0aW5nczo6c2V0U3RhbmRhcmRGb250RmFtaWx5
KGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5LCBVU2NyaXB0Q29kZSBzY3JpcHQpCit7CisgICAg
c2V0R2VuZXJpY0ZvbnRGYW1pbHlNYXAobV9zdGFuZGFyZEZvbnRGYW1pbHlNYXAsIGZhbWlseSwg
c2NyaXB0LCBtX3BhZ2UpOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRGaXhlZEZvbnRGYW1pbHko
Y29uc3QgQXRvbWljU3RyaW5nJiBmaXhlZEZvbnRGYW1pbHkpCitjb25zdCBBdG9taWNTdHJpbmcm
IFNldHRpbmdzOjpmaXhlZEZvbnRGYW1pbHkoVVNjcmlwdENvZGUgc2NyaXB0KSBjb25zdAogewot
ICAgIGlmIChtX2ZpeGVkRm9udEZhbWlseSA9PSBmaXhlZEZvbnRGYW1pbHkpCi0gICAgICAgIHJl
dHVybjsKLSAgICAgICAgCi0gICAgbV9maXhlZEZvbnRGYW1pbHkgPSBmaXhlZEZvbnRGYW1pbHk7
Ci0gICAgbV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKKyAgICByZXR1
cm4gZ2V0R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQobV9maXhlZEZvbnRGYW1pbHlNYXAsIHNj
cmlwdCk7CiB9CiAKLXZvaWQgU2V0dGluZ3M6OnNldFNlcmlmRm9udEZhbWlseShjb25zdCBBdG9t
aWNTdHJpbmcmIHNlcmlmRm9udEZhbWlseSkKK3ZvaWQgU2V0dGluZ3M6OnNldEZpeGVkRm9udEZh
bWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSwgVVNjcmlwdENvZGUgc2NyaXB0KQogewot
ICAgIGlmIChtX3NlcmlmRm9udEZhbWlseSA9PSBzZXJpZkZvbnRGYW1pbHkpCi0gICAgICAgIHJl
dHVybjsKLSAgICAgICAgCi0gICAgbV9zZXJpZkZvbnRGYW1pbHkgPSBzZXJpZkZvbnRGYW1pbHk7
Ci0gICAgbV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKKyAgICBzZXRH
ZW5lcmljRm9udEZhbWlseU1hcChtX2ZpeGVkRm9udEZhbWlseU1hcCwgZmFtaWx5LCBzY3JpcHQs
IG1fcGFnZSk7CiB9CiAKLXZvaWQgU2V0dGluZ3M6OnNldFNhbnNTZXJpZkZvbnRGYW1pbHkoY29u
c3QgQXRvbWljU3RyaW5nJiBzYW5zU2VyaWZGb250RmFtaWx5KQorY29uc3QgQXRvbWljU3RyaW5n
JiBTZXR0aW5nczo6c2VyaWZGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKIHsK
LSAgICBpZiAobV9zYW5zU2VyaWZGb250RmFtaWx5ID09IHNhbnNTZXJpZkZvbnRGYW1pbHkpCi0g
ICAgICAgIHJldHVybjsKLSAgICAgICAgCi0gICAgbV9zYW5zU2VyaWZGb250RmFtaWx5ID0gc2Fu
c1NlcmlmRm9udEZhbWlseTsgCi0gICAgbV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxG
cmFtZXMoKTsKKyAgICByZXR1cm4gZ2V0R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQobV9zZXJp
ZkZvbnRGYW1pbHlNYXAsIHNjcmlwdCk7CiB9CiAKLXZvaWQgU2V0dGluZ3M6OnNldEN1cnNpdmVG
b250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgY3Vyc2l2ZUZvbnRGYW1pbHkpCit2b2lkIFNl
dHRpbmdzOjpzZXRTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIFVT
Y3JpcHRDb2RlIHNjcmlwdCkKIHsKLSAgICBpZiAobV9jdXJzaXZlRm9udEZhbWlseSA9PSBjdXJz
aXZlRm9udEZhbWlseSkKLSAgICAgICAgcmV0dXJuOwotICAgICAgICAKLSAgICBtX2N1cnNpdmVG
b250RmFtaWx5ID0gY3Vyc2l2ZUZvbnRGYW1pbHk7Ci0gICAgbV9wYWdlLT5zZXROZWVkc1JlY2Fs
Y1N0eWxlSW5BbGxGcmFtZXMoKTsKKyAgICAgc2V0R2VuZXJpY0ZvbnRGYW1pbHlNYXAobV9zZXJp
ZkZvbnRGYW1pbHlNYXAsIGZhbWlseSwgc2NyaXB0LCBtX3BhZ2UpOwogfQogCi12b2lkIFNldHRp
bmdzOjpzZXRGYW50YXN5Rm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZhbnRhc3lGb250
RmFtaWx5KQorY29uc3QgQXRvbWljU3RyaW5nJiBTZXR0aW5nczo6c2Fuc1NlcmlmRm9udEZhbWls
eShVU2NyaXB0Q29kZSBzY3JpcHQpIGNvbnN0CiB7Ci0gICAgaWYgKG1fZmFudGFzeUZvbnRGYW1p
bHkgPT0gZmFudGFzeUZvbnRGYW1pbHkpCi0gICAgICAgIHJldHVybjsKLSAgICAgICAgCi0gICAg
bV9mYW50YXN5Rm9udEZhbWlseSA9IGZhbnRhc3lGb250RmFtaWx5OwotICAgIG1fcGFnZS0+c2V0
TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzKCk7CisgICAgcmV0dXJuIGdldEdlbmVyaWNGb250
RmFtaWx5Rm9yU2NyaXB0KG1fc2Fuc1NlcmlmRm9udEZhbWlseU1hcCwgc2NyaXB0KTsKK30KKwor
dm9pZCBTZXR0aW5nczo6c2V0U2Fuc1NlcmlmRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcm
IGZhbWlseSwgVVNjcmlwdENvZGUgc2NyaXB0KQoreworICAgIHNldEdlbmVyaWNGb250RmFtaWx5
TWFwKG1fc2Fuc1NlcmlmRm9udEZhbWlseU1hcCwgZmFtaWx5LCBzY3JpcHQsIG1fcGFnZSk7Cit9
CisKK2NvbnN0IEF0b21pY1N0cmluZyYgU2V0dGluZ3M6OmN1cnNpdmVGb250RmFtaWx5KFVTY3Jp
cHRDb2RlIHNjcmlwdCkgY29uc3QKK3sKKyAgICByZXR1cm4gZ2V0R2VuZXJpY0ZvbnRGYW1pbHlG
b3JTY3JpcHQobV9jdXJzaXZlRm9udEZhbWlseU1hcCwgc2NyaXB0KTsKK30KKwordm9pZCBTZXR0
aW5nczo6c2V0Q3Vyc2l2ZUZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIFVT
Y3JpcHRDb2RlIHNjcmlwdCkKK3sKKyAgICBzZXRHZW5lcmljRm9udEZhbWlseU1hcChtX2N1cnNp
dmVGb250RmFtaWx5TWFwLCBmYW1pbHksIHNjcmlwdCwgbV9wYWdlKTsKK30KKworY29uc3QgQXRv
bWljU3RyaW5nJiBTZXR0aW5nczo6ZmFudGFzeUZvbnRGYW1pbHkoVVNjcmlwdENvZGUgc2NyaXB0
KSBjb25zdAoreworICAgIHJldHVybiBnZXRHZW5lcmljRm9udEZhbWlseUZvclNjcmlwdChtX2Zh
bnRhc3lGb250RmFtaWx5TWFwLCBzY3JpcHQpOworfQorCit2b2lkIFNldHRpbmdzOjpzZXRGYW50
YXN5Rm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmIGZhbWlseSwgVVNjcmlwdENvZGUgc2Ny
aXB0KQoreworICAgIHNldEdlbmVyaWNGb250RmFtaWx5TWFwKG1fZmFudGFzeUZvbnRGYW1pbHlN
YXAsIGZhbWlseSwgc2NyaXB0LCBtX3BhZ2UpOwogfQogCiB2b2lkIFNldHRpbmdzOjpzZXRNaW5p
bXVtRm9udFNpemUoaW50IG1pbmltdW1Gb250U2l6ZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmgJKHJldmlzaW9uIDg5NDg1KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSwxMCBAQAogI2luY2x1ZGUgIkZvbnRSZW5kZXJpbmdN
b2RlLmgiCiAjaW5jbHVkZSAiS1VSTC5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCisjaW5jbHVkZSA8
d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmcuaD4KKyNpbmNs
dWRlIDx3dGYvdGV4dC9BdG9taWNTdHJpbmdIYXNoLmg+CisjaW5jbHVkZSA8d3RmL3VuaWNvZGUv
VW5pY29kZS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTUxLDI4ICs1NCwzOSBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFRleHREaXJlY3Rpb25TdWJtZW51QWx3YXlzSW5j
bHVkZWQKICAgICB9OwogCisgICAgLy8gVVNjcmlwdENvZGUgdXNlcyAtMSBhbmQgMCBmb3IgVVNj
cmlwdEludmFsaWRDb2RlIGFuZCBVU2NyaXB0Q29tbW9uLgorICAgIC8vIFdlIG5lZWQgdG8gdXNl
IC0yIGFuZCAtMyBmb3IgZW1wdHkgdmFsdWUgYW5kIGRlbGV0ZWQgdmFsdWUuCisgICAgc3RydWN0
IFVTY3JpcHRDb2RlSGFzaFRyYWl0cyA6IFdURjo6R2VuZXJpY0hhc2hUcmFpdHM8aW50PiB7Cisg
ICAgICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8gPSBmYWxzZTsKKyAgICAg
ICAgc3RhdGljIGludCBlbXB0eVZhbHVlKCkgeyByZXR1cm4gLTI7IH0KKyAgICAgICAgc3RhdGlj
IHZvaWQgY29uc3RydWN0RGVsZXRlZFZhbHVlKGludCYgc2xvdCkgeyBzbG90ID0gLTM7IH0KKyAg
ICAgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoaW50IHZhbHVlKSB7IHJldHVybiB2YWx1
ZSA9PSAtMzsgfQorICAgIH07CisKKyAgICB0eXBlZGVmIEhhc2hNYXA8aW50LCBBdG9taWNTdHJp
bmcsIERlZmF1bHRIYXNoPGludD46Okhhc2gsIFVTY3JpcHRDb2RlSGFzaFRyYWl0cz4gU2NyaXB0
Rm9udEZhbWlseU1hcDsKKwogICAgIGNsYXNzIFNldHRpbmdzIHsKICAgICAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoU2V0dGluZ3MpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwdWJs
aWM6CiAgICAgICAgIFNldHRpbmdzKFBhZ2UqKTsKIAotICAgICAgICB2b2lkIHNldFN0YW5kYXJk
Rm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmKTsKLSAgICAgICAgY29uc3QgQXRvbWljU3Ry
aW5nJiBzdGFuZGFyZEZvbnRGYW1pbHkoKSBjb25zdCB7IHJldHVybiBtX3N0YW5kYXJkRm9udEZh
bWlseTsgfQorICAgICAgICB2b2lkIHNldFN0YW5kYXJkRm9udEZhbWlseShjb25zdCBBdG9taWNT
dHJpbmcmLCBVU2NyaXB0Q29kZSA9IFVTQ1JJUFRfQ09NTU9OKTsKKyAgICAgICAgY29uc3QgQXRv
bWljU3RyaW5nJiBzdGFuZGFyZEZvbnRGYW1pbHkoVVNjcmlwdENvZGUgPSBVU0NSSVBUX0NPTU1P
TikgY29uc3Q7CiAKLSAgICAgICAgdm9pZCBzZXRGaXhlZEZvbnRGYW1pbHkoY29uc3QgQXRvbWlj
U3RyaW5nJik7Ci0gICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgZml4ZWRGb250RmFtaWx5KCkg
Y29uc3QgeyByZXR1cm4gbV9maXhlZEZvbnRGYW1pbHk7IH0KKyAgICAgICAgdm9pZCBzZXRGaXhl
ZEZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiwgVVNjcmlwdENvZGUgPSBVU0NSSVBUX0NP
TU1PTik7CisgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgZml4ZWRGb250RmFtaWx5KFVTY3Jp
cHRDb2RlID0gVVNDUklQVF9DT01NT04pIGNvbnN0OwogCi0gICAgICAgIHZvaWQgc2V0U2VyaWZG
b250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYpOwotICAgICAgICBjb25zdCBBdG9taWNTdHJp
bmcmIHNlcmlmRm9udEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fc2VyaWZGb250RmFtaWx5OyB9
CisgICAgICAgIHZvaWQgc2V0U2VyaWZGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYsIFVT
Y3JpcHRDb2RlID0gVVNDUklQVF9DT01NT04pOworICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcm
IHNlcmlmRm9udEZhbWlseShVU2NyaXB0Q29kZSA9IFVTQ1JJUFRfQ09NTU9OKSBjb25zdDsKIAot
ICAgICAgICB2b2lkIHNldFNhbnNTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJik7
Ci0gICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgc2Fuc1NlcmlmRm9udEZhbWlseSgpIGNvbnN0
IHsgcmV0dXJuIG1fc2Fuc1NlcmlmRm9udEZhbWlseTsgfQorICAgICAgICB2b2lkIHNldFNhbnNT
ZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiwgVVNjcmlwdENvZGUgPSBVU0NSSVBU
X0NPTU1PTik7CisgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgc2Fuc1NlcmlmRm9udEZhbWls
eShVU2NyaXB0Q29kZSA9IFVTQ1JJUFRfQ09NTU9OKSBjb25zdDsKIAotICAgICAgICB2b2lkIHNl
dEN1cnNpdmVGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYpOwotICAgICAgICBjb25zdCBB
dG9taWNTdHJpbmcmIGN1cnNpdmVGb250RmFtaWx5KCkgY29uc3QgeyByZXR1cm4gbV9jdXJzaXZl
Rm9udEZhbWlseTsgfQorICAgICAgICB2b2lkIHNldEN1cnNpdmVGb250RmFtaWx5KGNvbnN0IEF0
b21pY1N0cmluZyYsIFVTY3JpcHRDb2RlID0gVVNDUklQVF9DT01NT04pOworICAgICAgICBjb25z
dCBBdG9taWNTdHJpbmcmIGN1cnNpdmVGb250RmFtaWx5KFVTY3JpcHRDb2RlID0gVVNDUklQVF9D
T01NT04pIGNvbnN0OwogCi0gICAgICAgIHZvaWQgc2V0RmFudGFzeUZvbnRGYW1pbHkoY29uc3Qg
QXRvbWljU3RyaW5nJik7Ci0gICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgZmFudGFzeUZvbnRG
YW1pbHkoKSBjb25zdCB7IHJldHVybiBtX2ZhbnRhc3lGb250RmFtaWx5OyB9CisgICAgICAgIHZv
aWQgc2V0RmFudGFzeUZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiwgVVNjcmlwdENvZGUg
PSBVU0NSSVBUX0NPTU1PTik7CisgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgZmFudGFzeUZv
bnRGYW1pbHkoVVNjcmlwdENvZGUgPSBVU0NSSVBUX0NPTU1PTikgY29uc3Q7CiAKICAgICAgICAg
dm9pZCBzZXRNaW5pbXVtRm9udFNpemUoaW50KTsKICAgICAgICAgaW50IG1pbmltdW1Gb250U2l6
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWluaW11bUZvbnRTaXplOyB9CkBAIC00MjEsMTIgKzQzNSwx
MiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFN0cmluZyBtX2Z0cERpcmVjdG9yeVRl
bXBsYXRlUGF0aDsKICAgICAgICAgU3RyaW5nIG1fbG9jYWxTdG9yYWdlRGF0YWJhc2VQYXRoOwog
ICAgICAgICBLVVJMIG1fdXNlclN0eWxlU2hlZXRMb2NhdGlvbjsKLSAgICAgICAgQXRvbWljU3Ry
aW5nIG1fc3RhbmRhcmRGb250RmFtaWx5OwotICAgICAgICBBdG9taWNTdHJpbmcgbV9maXhlZEZv
bnRGYW1pbHk7Ci0gICAgICAgIEF0b21pY1N0cmluZyBtX3NlcmlmRm9udEZhbWlseTsKLSAgICAg
ICAgQXRvbWljU3RyaW5nIG1fc2Fuc1NlcmlmRm9udEZhbWlseTsKLSAgICAgICAgQXRvbWljU3Ry
aW5nIG1fY3Vyc2l2ZUZvbnRGYW1pbHk7Ci0gICAgICAgIEF0b21pY1N0cmluZyBtX2ZhbnRhc3lG
b250RmFtaWx5OworICAgICAgICBTY3JpcHRGb250RmFtaWx5TWFwIG1fc3RhbmRhcmRGb250RmFt
aWx5TWFwOworICAgICAgICBTY3JpcHRGb250RmFtaWx5TWFwIG1fc2VyaWZGb250RmFtaWx5TWFw
OworICAgICAgICBTY3JpcHRGb250RmFtaWx5TWFwIG1fZml4ZWRGb250RmFtaWx5TWFwOworICAg
ICAgICBTY3JpcHRGb250RmFtaWx5TWFwIG1fc2Fuc1NlcmlmRm9udEZhbWlseU1hcDsKKyAgICAg
ICAgU2NyaXB0Rm9udEZhbWlseU1hcCBtX2N1cnNpdmVGb250RmFtaWx5TWFwOworICAgICAgICBT
Y3JpcHRGb250RmFtaWx5TWFwIG1fZmFudGFzeUZvbnRGYW1pbHlNYXA7CiAgICAgICAgIEVkaXRh
YmxlTGlua0JlaGF2aW9yIG1fZWRpdGFibGVMaW5rQmVoYXZpb3I7CiAgICAgICAgIFRleHREaXJl
Y3Rpb25TdWJtZW51SW5jbHVzaW9uQmVoYXZpb3IgbV90ZXh0RGlyZWN0aW9uU3VibWVudUluY2x1
c2lvbkJlaGF2aW9yOwogICAgICAgICBpbnQgbV9taW5pbXVtRm9udFNpemU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99379</attachid>
            <date>2011-06-30 15:35:51 -0700</date>
            <delta_ts>2011-07-01 12:23:35 -0700</delta_ts>
            <desc>updated patch to fix Qt layouttest failure </desc>
            <filename>20797.patch.8b</filename>
            <type>text/plain</type>
            <size>54470</size>
            <attacher name="Jungshik Shin">jshin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTAxNTYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAK
KzIwMTEtMDYtMzAgIEp1bmdzaGlrIFNoaW4gIDxqc2hpbkBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KKworICAgICAgICBBZGQgU2NyaXB0
Q29kZXNGcm9tSUNVLmggdG8gd3RmL3VuaWNvZGUgYW5kIG1ha2UgbmVjZXNzYXJ5IGNoYW5nZXMg
aW4KKyAgICAgICAgYnVpbGQgZmlsZXMgZm9yIHBvcnRzIG5vdCB1c2luZyBJQ1UuCisgICAgICAg
IEFkZCBpY3UvdW5pY29kZS91c2NyaXB0LmggZm9yIHBvcnRzIHVzaW5nIElDVS4gSXQncyB0YWtl
biBmcm9tIAorICAgICAgICBJQ1UgMy42ICh0aGUgdmVyc2lvbiB1c2VkIG9uIE1hYyBPUyAxMC41
KQorCisgICAgICAgIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzk3
CisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIEphdmFTY3JpcHRD
b3JlLmd5cGk6CisgICAgICAgICogaWN1L3VuaWNvZGUvdXNjcmlwdC5oOiBBZGRlZCBmb3IgVVNj
cmlwdENvZGUgZW51bS4KKyAgICAgICAgKiB3dGYvdW5pY29kZS9TY3JpcHRDb2Rlc0Zyb21JQ1Uu
aDogVVNjcmlwdENvZGUgZW51bSBhZGRlZC4KKyAgICAgICAgKiB3dGYvdW5pY29kZS9pY3UvVW5p
Y29kZUljdS5oOgorICAgICAgICAqIHd0Zi91bmljb2RlL2JyZXcvVW5pY29kZUJyZXcuaDoKKyAg
ICAgICAgKiB3dGYvdW5pY29kZS9nbGliL1VuaWNvZGVHTGliLmg6CisgICAgICAgICogd3RmL3Vu
aWNvZGUvcXQ0L1VuaWNvZGVRdDQuaDoKKyAgICAgICAgKiB3dGYvdW5pY29kZS93aW5jZS9Vbmlj
b2RlV2luQ0UuaDoKKwogMjAxMS0wNi0zMCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJv
dEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjkwMTAyLgpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHJldmlzaW9u
IDkwMTU2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHdv
cmtpbmcgY29weSkKQEAgLTYzMSw2ICs2MzEsNyBAQCBlbmRpZiAjIFVTRV9JQ1VfVU5JQ09ERQog
aWYgVVNFX0dMSUJfVU5JQ09ERQogamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJU291cmNl
L0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1VuaWNvZGVNYWNyb3NGcm9tSUNVLmggXAorCVNv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9TY3JpcHRDb2Rlc0Zyb21JQ1UuaCBcCiAJ
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL2dsaWIvVW5pY29kZUdMaWIuaCBcCiAJ
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL2dsaWIvVW5pY29kZUdMaWIuY3BwCiBl
bmRpZiAjIFVTRV9HTElCX1VOSUNPREUKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5neXBpCShyZXZpc2lvbiA5MDE1NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0zNjUsNiArMzY1LDcgQEAK
ICAgICAgICAgICAgICdpY3UvdW5pY29kZS91bWFjaGluZS5oJywKICAgICAgICAgICAgICdpY3Uv
dW5pY29kZS91bm9ybS5oJywKICAgICAgICAgICAgICdpY3UvdW5pY29kZS91cmVuYW1lLmgnLAor
ICAgICAgICAgICAgJ2ljdS91bmljb2RlL3VzY3JpcHQuaCcsCiAgICAgICAgICAgICAnaWN1L3Vu
aWNvZGUvdXNldC5oJywKICAgICAgICAgICAgICdpY3UvdW5pY29kZS91c3RyaW5nLmgnLAogICAg
ICAgICAgICAgJ2ljdS91bmljb2RlL3V0Zi5oJywKQEAgLTY1NSw2ICs2NTYsNyBAQAogICAgICAg
ICAgICAgJ3d0Zi90ZXh0L1N0cmluZ1N0YXRpY3MuY3BwJywKICAgICAgICAgICAgICd3dGYvdGV4
dC9XVEZTdHJpbmcuY3BwJywKICAgICAgICAgICAgICd3dGYvdW5pY29kZS9Db2xsYXRvckRlZmF1
bHQuY3BwJywKKyAgICAgICAgICAgICd3dGYvdW5pY29kZS9TY3JpcHRDb2Rlc0Zyb21JQ1UuaCcs
CiAgICAgICAgICAgICAnd3RmL3VuaWNvZGUvVVRGOC5jcHAnLAogICAgICAgICAgICAgJ3d0Zi91
bmljb2RlL1VuaWNvZGVNYWNyb3NGcm9tSUNVLmgnLAogICAgICAgICAgICAgJ3d0Zi91bmljb2Rl
L2JyZXcvVW5pY29kZUJyZXcuY3BwJywKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pY3Uv
dW5pY29kZS91c2NyaXB0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2lj
dS91bmljb2RlL3VzY3JpcHQuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pY3UvdW5pY29kZS91c2NyaXB0LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjIyIEBACisv
KgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKgorKiAgIENvcHlyaWdodCAoQykgMTk5Ny0yMDA2LCBJbnRlcm5hdGlv
bmFsIEJ1c2luZXNzIE1hY2hpbmVzCisqICAgQ29ycG9yYXRpb24gYW5kIG90aGVycy4gIEFsbCBS
aWdodHMgUmVzZXJ2ZWQuCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqCisqIEZpbGUgVVNDUklQVC5ICisqCisq
IE1vZGlmaWNhdGlvbiBIaXN0b3J5OgorKgorKiAgIERhdGUgICAgICAgIE5hbWUgICAgICAgIERl
c2NyaXB0aW9uCisqICAgMDcvMDYvMjAwMSAgICBSYW0gICAgICAgICBDcmVhdGlvbi4KKyoqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKgorKi8KKyNpZm5kZWYgVVNDUklQVF9ICisjZGVmaW5lIFVTQ1JJUFRf
SAorI2luY2x1ZGUgInVuaWNvZGUvdXR5cGVzLmgiCisKKy8qKgorICogXGZpbGUKKyAqIFxicmll
ZiBDIEFQSTogVW5pY29kZSBTY3JpcHQgSW5mb3JtYXRpb24KKyAqLworIAorLyoqCisgKiBDb25z
dGFudHMgZm9yIElTTyAxNTkyNCBzY3JpcHQgY29kZXMuCisgKgorICogTWFueSBvZiB0aGVzZSBz
Y3JpcHQgY29kZXMgLSB0aG9zZSBmcm9tIFVuaWNvZGUncyBTY3JpcHROYW1lcy50eHQgLQorICog
YXJlIGNoYXJhY3RlciBwcm9wZXJ0eSB2YWx1ZXMgZm9yIFVuaWNvZGUncyBTY3JpcHQgcHJvcGVy
dHkuCisgKiBTZWUgVUFYICMyNCBTY3JpcHQgTmFtZXMgKGh0dHA6Ly93d3cudW5pY29kZS5vcmcv
cmVwb3J0cy90cjI0LykuCisgKgorICogU3RhcnRpbmcgd2l0aCBJQ1UgMy42LCBjb25zdGFudHMg
Zm9yIG1vc3QgSVNPIDE1OTI0IHNjcmlwdCBjb2RlcworICogYXJlIGluY2x1ZGVkIChjdXJyZW50
bHkgZXhjbHVkaW5nIHByaXZhdGUtdXNlIGNvZGVzIFFhYWEuLlFhYngpLgorICogRm9yIHNjcmlw
dHMgZm9yIHdoaWNoIHRoZXJlIGFyZSBjb2RlcyBpbiBJU08gMTU5MjQgYnV0IHdoaWNoIGFyZSBu
b3QKKyAqIHVzZWQgaW4gdGhlIFVuaWNvZGUgQ2hhcmFjdGVyIERhdGFiYXNlIChVQ0QpLCB0aGVy
ZSBhcmUgbm8gVW5pY29kZSBjaGFyYWN0ZXJzCisgKiBhc3NvY2lhdGVkIHdpdGggdGhvc2Ugc2Ny
aXB0cy4KKyAqCisgKiBGb3IgZXhhbXBsZSwgdGhlcmUgYXJlIG5vIGNoYXJhY3RlcnMgdGhhdCBo
YXZlIGEgVUNEIHNjcmlwdCBjb2RlIG9mCisgKiBIYW5zIG9yIEhhbnQuIEFsbCBIYW4gaWRlb2dy
YXBocyBoYXZlIHRoZSBIYW5pIHNjcmlwdCBjb2RlLgorICogVGhlIEhhbnMgYW5kIEhhbnQgc2Ny
aXB0IGNvZGVzIGFyZSB1c2VkIHdpdGggQ0xEUiBkYXRhLgorICoKKyAqIElTTyAxNTkyNCBzY3Jp
cHQgY29kZXMgYXJlIGluY2x1ZGVkIGZvciB1c2Ugd2l0aCBDTERSIGFuZCBzaW1pbGFyLgorICoK
KyAqIEBzdGFibGUgSUNVIDIuMgorICovCit0eXBlZGVmIGVudW0gVVNjcmlwdENvZGUgeworICAg
ICAgVVNDUklQVF9JTlZBTElEX0NPREUgPSAtMSwKKyAgICAgIFVTQ1JJUFRfQ09NTU9OICAgICAg
ID0gIDAgLCAvKiBaeXl5ICovCisgICAgICBVU0NSSVBUX0lOSEVSSVRFRCAgICA9ICAxLCAgLyog
UWFhaSAqLworICAgICAgVVNDUklQVF9BUkFCSUMgICAgICAgPSAgMiwgIC8qIEFyYWIgKi8KKyAg
ICAgIFVTQ1JJUFRfQVJNRU5JQU4gICAgID0gIDMsICAvKiBBcm1uICovCisgICAgICBVU0NSSVBU
X0JFTkdBTEkgICAgICA9ICA0LCAgLyogQmVuZyAqLworICAgICAgVVNDUklQVF9CT1BPTU9GTyAg
ICAgPSAgNSwgIC8qIEJvcG8gKi8KKyAgICAgIFVTQ1JJUFRfQ0hFUk9LRUUgICAgID0gIDYsICAv
KiBDaGVyICovCisgICAgICBVU0NSSVBUX0NPUFRJQyAgICAgICA9ICA3LCAgLyogQ29wdCAqLwor
ICAgICAgVVNDUklQVF9DWVJJTExJQyAgICAgPSAgOCwgIC8qIEN5cmwgKi8KKyAgICAgIFVTQ1JJ
UFRfREVTRVJFVCAgICAgID0gIDksICAvKiBEc3J0ICovCisgICAgICBVU0NSSVBUX0RFVkFOQUdB
UkkgICA9IDEwLCAgLyogRGV2YSAqLworICAgICAgVVNDUklQVF9FVEhJT1BJQyAgICAgPSAxMSwg
IC8qIEV0aGkgKi8KKyAgICAgIFVTQ1JJUFRfR0VPUkdJQU4gICAgID0gMTIsICAvKiBHZW9yICov
CisgICAgICBVU0NSSVBUX0dPVEhJQyAgICAgICA9IDEzLCAgLyogR290aCAqLworICAgICAgVVND
UklQVF9HUkVFSyAgICAgICAgPSAxNCwgIC8qIEdyZWsgKi8KKyAgICAgIFVTQ1JJUFRfR1VKQVJB
VEkgICAgID0gMTUsICAvKiBHdWpyICovCisgICAgICBVU0NSSVBUX0dVUk1VS0hJICAgICA9IDE2
LCAgLyogR3VydSAqLworICAgICAgVVNDUklQVF9IQU4gICAgICAgICAgPSAxNywgIC8qIEhhbmkg
Ki8KKyAgICAgIFVTQ1JJUFRfSEFOR1VMICAgICAgID0gMTgsICAvKiBIYW5nICovCisgICAgICBV
U0NSSVBUX0hFQlJFVyAgICAgICA9IDE5LCAgLyogSGViciAqLworICAgICAgVVNDUklQVF9ISVJB
R0FOQSAgICAgPSAyMCwgIC8qIEhpcmEgKi8KKyAgICAgIFVTQ1JJUFRfS0FOTkFEQSAgICAgID0g
MjEsICAvKiBLbmRhICovCisgICAgICBVU0NSSVBUX0tBVEFLQU5BICAgICA9IDIyLCAgLyogS2Fu
YSAqLworICAgICAgVVNDUklQVF9LSE1FUiAgICAgICAgPSAyMywgIC8qIEtobXIgKi8KKyAgICAg
IFVTQ1JJUFRfTEFPICAgICAgICAgID0gMjQsICAvKiBMYW9vICovCisgICAgICBVU0NSSVBUX0xB
VElOICAgICAgICA9IDI1LCAgLyogTGF0biAqLworICAgICAgVVNDUklQVF9NQUxBWUFMQU0gICAg
PSAyNiwgIC8qIE1seW0gKi8KKyAgICAgIFVTQ1JJUFRfTU9OR09MSUFOICAgID0gMjcsICAvKiBN
b25nICovCisgICAgICBVU0NSSVBUX01ZQU5NQVIgICAgICA9IDI4LCAgLyogTXltciAqLworICAg
ICAgVVNDUklQVF9PR0hBTSAgICAgICAgPSAyOSwgIC8qIE9nYW0gKi8KKyAgICAgIFVTQ1JJUFRf
T0xEX0lUQUxJQyAgID0gMzAsICAvKiBJdGFsICovCisgICAgICBVU0NSSVBUX09SSVlBICAgICAg
ICA9IDMxLCAgLyogT3J5YSAqLworICAgICAgVVNDUklQVF9SVU5JQyAgICAgICAgPSAzMiwgIC8q
IFJ1bnIgKi8KKyAgICAgIFVTQ1JJUFRfU0lOSEFMQSAgICAgID0gMzMsICAvKiBTaW5oICovCisg
ICAgICBVU0NSSVBUX1NZUklBQyAgICAgICA9IDM0LCAgLyogU3lyYyAqLworICAgICAgVVNDUklQ
VF9UQU1JTCAgICAgICAgPSAzNSwgIC8qIFRhbWwgKi8KKyAgICAgIFVTQ1JJUFRfVEVMVUdVICAg
ICAgID0gMzYsICAvKiBUZWx1ICovCisgICAgICBVU0NSSVBUX1RIQUFOQSAgICAgICA9IDM3LCAg
LyogVGhhYSAqLworICAgICAgVVNDUklQVF9USEFJICAgICAgICAgPSAzOCwgIC8qIFRoYWkgKi8K
KyAgICAgIFVTQ1JJUFRfVElCRVRBTiAgICAgID0gMzksICAvKiBUaWJ0ICovCisgICAgICAvKiog
Q2FuYWRpYW5fQWJvcmlnaW5hbCBzY3JpcHQuIEBzdGFibGUgSUNVIDIuNiAqLworICAgICAgVVND
UklQVF9DQU5BRElBTl9BQk9SSUdJTkFMID0gNDAsICAvKiBDYW5zICovCisgICAgICAvKiogQ2Fu
YWRpYW5fQWJvcmlnaW5hbCBzY3JpcHQgKGFsaWFzKS4gQHN0YWJsZSBJQ1UgMi4yICovCisgICAg
ICBVU0NSSVBUX1VDQVMgICAgICAgICA9IFVTQ1JJUFRfQ0FOQURJQU5fQUJPUklHSU5BTCwKKyAg
ICAgIFVTQ1JJUFRfWUkgICAgICAgICAgID0gNDEsICAvKiBZaWlpICovCisgICAgICBVU0NSSVBU
X1RBR0FMT0cgICAgICA9IDQyLCAgLyogVGdsZyAqLworICAgICAgVVNDUklQVF9IQU5VTk9PICAg
ICAgPSA0MywgIC8qIEhhbm8gKi8KKyAgICAgIFVTQ1JJUFRfQlVISUQgICAgICAgID0gNDQsICAv
KiBCdWhkICovCisgICAgICBVU0NSSVBUX1RBR0JBTldBICAgICA9IDQ1LCAgLyogVGFnYiAqLwor
CisgICAgICAvKiBOZXcgc2NyaXB0cyBpbiBVbmljb2RlIDQgQHN0YWJsZSBJQ1UgMi42ICovCisg
ICAgICBVU0NSSVBUX0JSQUlMTEUgICAgICA9IDQ2LCAgLyogQnJhaSAqLworICAgICAgVVNDUklQ
VF9DWVBSSU9UICAgICAgPSA0NywgIC8qIENwcnQgKi8KKyAgICAgIFVTQ1JJUFRfTElNQlUgICAg
ICAgID0gNDgsICAvKiBMaW1iICovCisgICAgICBVU0NSSVBUX0xJTkVBUl9CICAgICA9IDQ5LCAg
LyogTGluYiAqLworICAgICAgVVNDUklQVF9PU01BTllBICAgICAgPSA1MCwgIC8qIE9zbWEgKi8K
KyAgICAgIFVTQ1JJUFRfU0hBVklBTiAgICAgID0gNTEsICAvKiBTaGF3ICovCisgICAgICBVU0NS
SVBUX1RBSV9MRSAgICAgICA9IDUyLCAgLyogVGFsZSAqLworICAgICAgVVNDUklQVF9VR0FSSVRJ
QyAgICAgPSA1MywgIC8qIFVnYXIgKi8KKworICAgICAgLyoqIE5ldyBzY3JpcHQgY29kZSBpbiBV
bmljb2RlIDQuMC4xIEBzdGFibGUgSUNVIDMuMCAqLworICAgICAgVVNDUklQVF9LQVRBS0FOQV9P
Ul9ISVJBR0FOQSA9IDU0LC8qSHJrdCAqLworICAgICAgCisjaWZuZGVmIFVfSElERV9EUkFGVF9B
UEkKKyAgICAgIC8qIE5ldyBzY3JpcHRzIGluIFVuaWNvZGUgNC4xIEBkcmFmdCBJQ1UgMy40ICov
CisgICAgICBVU0NSSVBUX0JVR0lORVNFICAgICAgPSA1NSwgLyogQnVnaSAqLworICAgICAgVVND
UklQVF9HTEFHT0xJVElDICAgID0gNTYsIC8qIEdsYWcgKi8KKyAgICAgIFVTQ1JJUFRfS0hBUk9T
SFRISSAgICA9IDU3LCAvKiBLaGFyICovCisgICAgICBVU0NSSVBUX1NZTE9USV9OQUdSSSAgPSA1
OCwgLyogU3lsbyAqLworICAgICAgVVNDUklQVF9ORVdfVEFJX0xVRSAgID0gNTksIC8qIFRhbHUg
Ki8KKyAgICAgIFVTQ1JJUFRfVElGSU5BR0ggICAgICA9IDYwLCAvKiBUZm5nICovCisgICAgICBV
U0NSSVBUX09MRF9QRVJTSUFOICAgPSA2MSwgLyogWHBlbyAqLworCisgICAgICAvKiBOZXcgc2Ny
aXB0IGNvZGVzIGZyb20gSVNPIDE1OTI0IEBkcmFmdCBJQ1UgMy42ICovCisgICAgICBVU0NSSVBU
X0JBTElORVNFICAgICAgICAgICAgICAgICAgICAgID0gNjIsIC8qIEJhbGkgKi8KKyAgICAgIFVT
Q1JJUFRfQkFUQUsgICAgICAgICAgICAgICAgICAgICAgICAgPSA2MywgLyogQmF0ayAqLworICAg
ICAgVVNDUklQVF9CTElTU1lNQk9MUyAgICAgICAgICAgICAgICAgICA9IDY0LCAvKiBCbGlzICov
CisgICAgICBVU0NSSVBUX0JSQUhNSSAgICAgICAgICAgICAgICAgICAgICAgID0gNjUsIC8qIEJy
YWggKi8KKyAgICAgIFVTQ1JJUFRfQ0hBTSAgICAgICAgICAgICAgICAgICAgICAgICAgPSA2Niwg
LyogQ2hhbSAqLworICAgICAgVVNDUklQVF9DSVJUSCAgICAgICAgICAgICAgICAgICAgICAgICA9
IDY3LCAvKiBDaXJ0ICovCisgICAgICBVU0NSSVBUX09MRF9DSFVSQ0hfU0xBVk9OSUNfQ1lSSUxM
SUMgID0gNjgsIC8qIEN5cnMgKi8KKyAgICAgIFVTQ1JJUFRfREVNT1RJQ19FR1lQVElBTiAgICAg
ICAgICAgICAgPSA2OSwgLyogRWd5ZCAqLworICAgICAgVVNDUklQVF9ISUVSQVRJQ19FR1lQVElB
TiAgICAgICAgICAgICA9IDcwLCAvKiBFZ3loICovCisgICAgICBVU0NSSVBUX0VHWVBUSUFOX0hJ
RVJPR0xZUEhTICAgICAgICAgID0gNzEsIC8qIEVneXAgKi8KKyAgICAgIFVTQ1JJUFRfS0hVVFNV
UkkgICAgICAgICAgICAgICAgICAgICAgPSA3MiwgLyogR2VvayAqLworICAgICAgVVNDUklQVF9T
SU1QTElGSUVEX0hBTiAgICAgICAgICAgICAgICA9IDczLCAvKiBIYW5zICovCisgICAgICBVU0NS
SVBUX1RSQURJVElPTkFMX0hBTiAgICAgICAgICAgICAgID0gNzQsIC8qIEhhbnQgKi8KKyAgICAg
IFVTQ1JJUFRfUEFIQVdIX0hNT05HICAgICAgICAgICAgICAgICAgPSA3NSwgLyogSG1uZyAqLwor
ICAgICAgVVNDUklQVF9PTERfSFVOR0FSSUFOICAgICAgICAgICAgICAgICA9IDc2LCAvKiBIdW5n
ICovCisgICAgICBVU0NSSVBUX0hBUkFQUEFOX0lORFVTICAgICAgICAgICAgICAgID0gNzcsIC8q
IEluZHMgKi8KKyAgICAgIFVTQ1JJUFRfSkFWQU5FU0UgICAgICAgICAgICAgICAgICAgICAgPSA3
OCwgLyogSmF2YSAqLworICAgICAgVVNDUklQVF9LQVlBSF9MSSAgICAgICAgICAgICAgICAgICAg
ICA9IDc5LCAvKiBLYWxpICovCisgICAgICBVU0NSSVBUX0xBVElOX0ZSQUtUVVIgICAgICAgICAg
ICAgICAgID0gODAsIC8qIExhdGYgKi8KKyAgICAgIFVTQ1JJUFRfTEFUSU5fR0FFTElDICAgICAg
ICAgICAgICAgICAgPSA4MSwgLyogTGF0ZyAqLworICAgICAgVVNDUklQVF9MRVBDSEEgICAgICAg
ICAgICAgICAgICAgICAgICA9IDgyLCAvKiBMZXBjICovCisgICAgICBVU0NSSVBUX0xJTkVBUl9B
ICAgICAgICAgICAgICAgICAgICAgID0gODMsIC8qIExpbmEgKi8KKyAgICAgIFVTQ1JJUFRfTUFO
REFFQU4gICAgICAgICAgICAgICAgICAgICAgPSA4NCwgLyogTWFuZCAqLworICAgICAgVVNDUklQ
VF9NQVlBTl9ISUVST0dMWVBIUyAgICAgICAgICAgICA9IDg1LCAvKiBNYXlhICovCisgICAgICBV
U0NSSVBUX01FUk9JVElDICAgICAgICAgICAgICAgICAgICAgID0gODYsIC8qIE1lcm8gKi8KKyAg
ICAgIFVTQ1JJUFRfTktPICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA4NywgLyogTmtvbyAq
LworICAgICAgVVNDUklQVF9PUktIT04gICAgICAgICAgICAgICAgICAgICAgICA9IDg4LCAvKiBP
cmtoICovCisgICAgICBVU0NSSVBUX09MRF9QRVJNSUMgICAgICAgICAgICAgICAgICAgID0gODks
IC8qIFBlcm0gKi8KKyAgICAgIFVTQ1JJUFRfUEhBR1NfUEEgICAgICAgICAgICAgICAgICAgICAg
PSA5MCwgLyogUGhhZyAqLworICAgICAgVVNDUklQVF9QSE9FTklDSUFOICAgICAgICAgICAgICAg
ICAgICA9IDkxLCAvKiBQaG54ICovCisgICAgICBVU0NSSVBUX1BIT05FVElDX1BPTExBUkQgICAg
ICAgICAgICAgID0gOTIsIC8qIFBscmQgKi8KKyAgICAgIFVTQ1JJUFRfUk9OR09ST05HTyAgICAg
ICAgICAgICAgICAgICAgPSA5MywgLyogUm9ybyAqLworICAgICAgVVNDUklQVF9TQVJBVEkgICAg
ICAgICAgICAgICAgICAgICAgICA9IDk0LCAvKiBTYXJhICovCisgICAgICBVU0NSSVBUX0VTVFJB
TkdFTE9fU1lSSUFDICAgICAgICAgICAgID0gOTUsIC8qIFN5cmUgKi8KKyAgICAgIFVTQ1JJUFRf
V0VTVEVSTl9TWVJJQUMgICAgICAgICAgICAgICAgPSA5NiwgLyogU3lyaiAqLworICAgICAgVVND
UklQVF9FQVNURVJOX1NZUklBQyAgICAgICAgICAgICAgICA9IDk3LCAvKiBTeXJuICovCisgICAg
ICBVU0NSSVBUX1RFTkdXQVIgICAgICAgICAgICAgICAgICAgICAgID0gOTgsIC8qIFRlbmcgKi8K
KyAgICAgIFVTQ1JJUFRfVkFJICAgICAgICAgICAgICAgICAgICAgICAgICAgPSA5OSwgLyogVmFp
aSAqLworICAgICAgVVNDUklQVF9WSVNJQkxFX1NQRUVDSCAgICAgICAgICAgICAgICA9IDEwMCwg
LyogVmlzcCAqLworICAgICAgVVNDUklQVF9DVU5FSUZPUk0gICAgICAgICAgICAgICAgICAgICA9
IDEwMSwvKiBYc3V4ICovCisgICAgICBVU0NSSVBUX1VOV1JJVFRFTl9MQU5HVUFHRVMgICAgICAg
ICAgID0gMTAyLC8qIFp4eHggKi8KKyAgICAgIFVTQ1JJUFRfVU5LTk9XTiAgICAgICAgICAgICAg
ICAgICAgICAgPSAxMDMsLyogWnp6eiAqLyAvKiBVbmtub3duPSJDb2RlIGZvciB1bmNvZGVkIHNj
cmlwdCIsIGZvciB1bmFzc2lnbmVkIGNvZGUgcG9pbnRzICovCisgICAgICAvKiBQcml2YXRlIHVz
ZSBjb2RlcyBmcm9tIFFhYWEgLSBRYWJ4IGFyZSBub3Qgc3VwcG9ydGVkKi8KKyNlbmRpZiAvKiBV
X0hJREVfRFJBRlRfQVBJICovCisgICAgICBVU0NSSVBUX0NPREVfTElNSVQgICAgPSAxMDQKK30g
VVNjcmlwdENvZGU7CisKKy8qKgorICogR2V0cyBzY3JpcHQgY29kZXMgYXNzb2NpYXRlZCB3aXRo
IHRoZSBnaXZlbiBsb2NhbGUgb3IgSVNPIDE1OTI0IGFiYnJldmlhdGlvbiBvciBuYW1lLiAKKyAq
IEZpbGxzIGluIFVTQ1JJUFRfTUFMQVlBTEFNIGdpdmVuICJNYWxheWFtIiBPUiAiTWx5bSIuCisg
KiBGaWxscyBpbiBVU0NSSVBUX0xBVElOIGdpdmVuICJlbiIgT1IgImVuX1VTIiAKKyAqIElmIHJl
cXVpcmVkIGNhcGFjaXR5IGlzIGdyZWF0ZXIgdGhhbiBjYXBhY2l0eSBvZiB0aGUgZGVzdGluYXRp
b24gYnVmZmVyIHRoZW4gdGhlIGVycm9yIGNvZGUKKyAqIGlzIHNldCB0byBVX0JVRkZFUl9PVkVS
RkxPV19FUlJPUiBhbmQgdGhlIHJlcXVpcmVkIGNhcGFjaXR5IGlzIHJldHVybmVkCisgKgorICog
PHA+Tm90ZTogVG8gc2VhcmNoIGJ5IHNob3J0IG9yIGxvbmcgc2NyaXB0IGFsaWFzIG9ubHksIHVz
ZQorICogdV9nZXRQcm9wZXJ0eVZhbHVlRW51bShVQ0hBUl9TQ1JJUFQsIGFsaWFzKSBpbnN0ZWFk
LiAgVGhpcyBkb2VzCisgKiBhIGZhc3QgbG9va3VwIHdpdGggbm8gYWNjZXNzIG9mIHRoZSBsb2Nh
bGUgZGF0YS4KKyAqIEBwYXJhbSBuYW1lT3JBYmJyT3JMb2NhbGUgbmFtZSBvZiB0aGUgc2NyaXB0
LCBhcyBnaXZlbiBpbgorICogUHJvcGVydHlWYWx1ZUFsaWFzZXMudHh0LCBvciBJU08gMTU5MjQg
Y29kZSBvciBsb2NhbGUKKyAqIEBwYXJhbSBmaWxsSW4gdGhlIFVTY3JpcHRDb2RlIGJ1ZmZlciB0
byBmaWxsIGluIHRoZSBzY3JpcHQgY29kZQorICogQHBhcmFtIGNhcGFjaXR5IHRoZSBjYXBhY2l0
eSAoc2l6ZSkgZm8gVVNjcmlwdENvZGUgYnVmZmVyIHBhc3NlZCBpbi4KKyAqIEBwYXJhbSBlcnIg
dGhlIGVycm9yIHN0YXR1cyBjb2RlLgorICogQHJldHVybiBUaGUgbnVtYmVyIG9mIHNjcmlwdCBj
b2RlcyBmaWxsZWQgaW4gdGhlIGJ1ZmZlciBwYXNzZWQgaW4gCisgKiBAc3RhYmxlIElDVSAyLjQK
KyAqLworVV9TVEFCTEUgaW50MzJfdCAgVV9FWFBPUlQyIAordXNjcmlwdF9nZXRDb2RlKGNvbnN0
IGNoYXIqIG5hbWVPckFiYnJPckxvY2FsZSxVU2NyaXB0Q29kZSogZmlsbEluLGludDMyX3QgY2Fw
YWNpdHksVUVycm9yQ29kZSAqZXJyKTsKKworLyoqCisgKiBHZXRzIGEgc2NyaXB0IG5hbWUgYXNz
b2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBzY3JpcHQgY29kZS4gCisgKiBSZXR1cm5zICAiTWFsYXlh
bSIgZ2l2ZW4gVVNDUklQVF9NQUxBWUFMQU0KKyAqIEBwYXJhbSBzY3JpcHRDb2RlIFVTY3JpcHRD
b2RlIGVudW0KKyAqIEByZXR1cm4gc2NyaXB0IGxvbmcgbmFtZSBhcyBnaXZlbiBpbgorICogUHJv
cGVydHlWYWx1ZUFsaWFzZXMudHh0LCBvciBOVUxMIGlmIHNjcmlwdENvZGUgaXMgaW52YWxpZAor
ICogQHN0YWJsZSBJQ1UgMi40CisgKi8KK1VfU1RBQkxFIGNvbnN0IGNoYXIqICBVX0VYUE9SVDIg
Cit1c2NyaXB0X2dldE5hbWUoVVNjcmlwdENvZGUgc2NyaXB0Q29kZSk7CisKKy8qKgorICogR2V0
cyBhIHNjcmlwdCBuYW1lIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4gc2NyaXB0IGNvZGUuIAor
ICogUmV0dXJucyAgIk1seW0iIGdpdmVuIFVTQ1JJUFRfTUFMQVlBTEFNCisgKiBAcGFyYW0gc2Ny
aXB0Q29kZSBVU2NyaXB0Q29kZSBlbnVtCisgKiBAcmV0dXJuIHNjcmlwdCBhYmJyZXZpYXRlZCBu
YW1lIGFzIGdpdmVuIGluCisgKiBQcm9wZXJ0eVZhbHVlQWxpYXNlcy50eHQsIG9yIE5VTEwgaWYg
c2NyaXB0Q29kZSBpcyBpbnZhbGlkCisgKiBAc3RhYmxlIElDVSAyLjQKKyAqLworVV9TVEFCTEUg
Y29uc3QgY2hhciogIFVfRVhQT1JUMiAKK3VzY3JpcHRfZ2V0U2hvcnROYW1lKFVTY3JpcHRDb2Rl
IHNjcmlwdENvZGUpOworCisvKiogCisgKiBHZXRzIHRoZSBzY3JpcHQgY29kZSBhc3NvY2lhdGVk
IHdpdGggdGhlIGdpdmVuIGNvZGVwb2ludC4KKyAqIFJldHVybnMgVVNDUklQVF9NQUxBWUFMQU0g
Z2l2ZW4gMHgwRDAyIAorICogQHBhcmFtIGNvZGVwb2ludCBVQ2hhcjMyIGNvZGVwb2ludAorICog
QHBhcmFtIGVyciB0aGUgZXJyb3Igc3RhdHVzIGNvZGUuCisgKiBAcmV0dXJuIFRoZSBVU2NyaXB0
Q29kZSwgb3IgMCBpZiBjb2RlcG9pbnQgaXMgaW52YWxpZCAKKyAqIEBzdGFibGUgSUNVIDIuNAor
ICovCitVX1NUQUJMRSBVU2NyaXB0Q29kZSAgVV9FWFBPUlQyIAordXNjcmlwdF9nZXRTY3JpcHQo
VUNoYXIzMiBjb2RlcG9pbnQsIFVFcnJvckNvZGUgKmVycik7CisKKyNlbmRpZgoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogU291cmNlL0phdmFTY3JpcHRDb3JlL2ljdS91bmljb2RlL3VzY3JpcHQuaApf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiAgICsgTEYKCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvU2NyaXB0Q29kZXNGcm9tSUNVLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1NjcmlwdENvZGVzRnJvbUlDVS5o
CShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL1Njcmlw
dENvZGVzRnJvbUlDVS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE1MyBAQAorLyoKKyAqICAg
Q29weXJpZ2h0IChDKSAxOTk3LTIwMDYsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMK
KyAqICAgQ29ycG9yYXRpb24gYW5kIG90aGVycy4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKi8K
KworI2lmbmRlZiBXVEZfU2NyaXB0Q29kZXNGcm9tSUNVX2gKKyNkZWZpbmUgV1RGX1NjcmlwdENv
ZGVzRnJvbUlDVV9oCisKKy8qKgorICogQ29uc3RhbnRzIGZvciBJU08gMTU5MjQgc2NyaXB0IGNv
ZGVzLgorICoKKyAqIE1hbnkgb2YgdGhlc2Ugc2NyaXB0IGNvZGVzIC0gdGhvc2UgZnJvbSBVbmlj
b2RlJ3MgU2NyaXB0TmFtZXMudHh0IC0KKyAqIGFyZSBjaGFyYWN0ZXIgcHJvcGVydHkgdmFsdWVz
IGZvciBVbmljb2RlJ3MgU2NyaXB0IHByb3BlcnR5LgorICogU2VlIFVBWCAjMjQgU2NyaXB0IE5h
bWVzIChodHRwOi8vd3d3LnVuaWNvZGUub3JnL3JlcG9ydHMvdHIyNC8pLgorICoKKyAqIFN0YXJ0
aW5nIHdpdGggSUNVIDMuNiwgY29uc3RhbnRzIGZvciBtb3N0IElTTyAxNTkyNCBzY3JpcHQgY29k
ZXMKKyAqIGFyZSBpbmNsdWRlZCAoY3VycmVudGx5IGV4Y2x1ZGluZyBwcml2YXRlLXVzZSBjb2Rl
cyBRYWFhLi5RYWJ4KS4KKyAqIEZvciBzY3JpcHRzIGZvciB3aGljaCB0aGVyZSBhcmUgY29kZXMg
aW4gSVNPIDE1OTI0IGJ1dCB3aGljaCBhcmUgbm90CisgKiB1c2VkIGluIHRoZSBVbmljb2RlIENo
YXJhY3RlciBEYXRhYmFzZSAoVUNEKSwgdGhlcmUgYXJlIG5vIFVuaWNvZGUgY2hhcmFjdGVycwor
ICogYXNzb2NpYXRlZCB3aXRoIHRob3NlIHNjcmlwdHMuCisgKgorICogRm9yIGV4YW1wbGUsIHRo
ZXJlIGFyZSBubyBjaGFyYWN0ZXJzIHRoYXQgaGF2ZSBhIFVDRCBzY3JpcHQgY29kZSBvZgorICog
SGFucyBvciBIYW50LiBBbGwgSGFuIGlkZW9ncmFwaHMgaGF2ZSB0aGUgSGFuaSBzY3JpcHQgY29k
ZS4KKyAqIFRoZSBIYW5zIGFuZCBIYW50IHNjcmlwdCBjb2RlcyBhcmUgdXNlZCB3aXRoIENMRFIg
ZGF0YS4KKyAqCisgKiBJU08gMTU5MjQgc2NyaXB0IGNvZGVzIGFyZSBpbmNsdWRlZCBmb3IgdXNl
IHdpdGggQ0xEUiBhbmQgc2ltaWxhci4KKyAqCisgKiBAc3RhYmxlIElDVSAyLjIKKyAqLwordHlw
ZWRlZiBlbnVtIFVTY3JpcHRDb2RlIHsKKyAgICAgIFVTQ1JJUFRfSU5WQUxJRF9DT0RFID0gLTEs
CisgICAgICBVU0NSSVBUX0NPTU1PTiAgICAgICA9ICAwICwgLyogWnl5eSAqLworICAgICAgVVND
UklQVF9JTkhFUklURUQgICAgPSAgMSwgIC8qIFFhYWkgKi8KKyAgICAgIFVTQ1JJUFRfQVJBQklD
ICAgICAgID0gIDIsICAvKiBBcmFiICovCisgICAgICBVU0NSSVBUX0FSTUVOSUFOICAgICA9ICAz
LCAgLyogQXJtbiAqLworICAgICAgVVNDUklQVF9CRU5HQUxJICAgICAgPSAgNCwgIC8qIEJlbmcg
Ki8KKyAgICAgIFVTQ1JJUFRfQk9QT01PRk8gICAgID0gIDUsICAvKiBCb3BvICovCisgICAgICBV
U0NSSVBUX0NIRVJPS0VFICAgICA9ICA2LCAgLyogQ2hlciAqLworICAgICAgVVNDUklQVF9DT1BU
SUMgICAgICAgPSAgNywgIC8qIENvcHQgKi8KKyAgICAgIFVTQ1JJUFRfQ1lSSUxMSUMgICAgID0g
IDgsICAvKiBDeXJsICovCisgICAgICBVU0NSSVBUX0RFU0VSRVQgICAgICA9ICA5LCAgLyogRHNy
dCAqLworICAgICAgVVNDUklQVF9ERVZBTkFHQVJJICAgPSAxMCwgIC8qIERldmEgKi8KKyAgICAg
IFVTQ1JJUFRfRVRISU9QSUMgICAgID0gMTEsICAvKiBFdGhpICovCisgICAgICBVU0NSSVBUX0dF
T1JHSUFOICAgICA9IDEyLCAgLyogR2VvciAqLworICAgICAgVVNDUklQVF9HT1RISUMgICAgICAg
PSAxMywgIC8qIEdvdGggKi8KKyAgICAgIFVTQ1JJUFRfR1JFRUsgICAgICAgID0gMTQsICAvKiBH
cmVrICovCisgICAgICBVU0NSSVBUX0dVSkFSQVRJICAgICA9IDE1LCAgLyogR3VqciAqLworICAg
ICAgVVNDUklQVF9HVVJNVUtISSAgICAgPSAxNiwgIC8qIEd1cnUgKi8KKyAgICAgIFVTQ1JJUFRf
SEFOICAgICAgICAgID0gMTcsICAvKiBIYW5pICovCisgICAgICBVU0NSSVBUX0hBTkdVTCAgICAg
ICA9IDE4LCAgLyogSGFuZyAqLworICAgICAgVVNDUklQVF9IRUJSRVcgICAgICAgPSAxOSwgIC8q
IEhlYnIgKi8KKyAgICAgIFVTQ1JJUFRfSElSQUdBTkEgICAgID0gMjAsICAvKiBIaXJhICovCisg
ICAgICBVU0NSSVBUX0tBTk5BREEgICAgICA9IDIxLCAgLyogS25kYSAqLworICAgICAgVVNDUklQ
VF9LQVRBS0FOQSAgICAgPSAyMiwgIC8qIEthbmEgKi8KKyAgICAgIFVTQ1JJUFRfS0hNRVIgICAg
ICAgID0gMjMsICAvKiBLaG1yICovCisgICAgICBVU0NSSVBUX0xBTyAgICAgICAgICA9IDI0LCAg
LyogTGFvbyAqLworICAgICAgVVNDUklQVF9MQVRJTiAgICAgICAgPSAyNSwgIC8qIExhdG4gKi8K
KyAgICAgIFVTQ1JJUFRfTUFMQVlBTEFNICAgID0gMjYsICAvKiBNbHltICovCisgICAgICBVU0NS
SVBUX01PTkdPTElBTiAgICA9IDI3LCAgLyogTW9uZyAqLworICAgICAgVVNDUklQVF9NWUFOTUFS
ICAgICAgPSAyOCwgIC8qIE15bXIgKi8KKyAgICAgIFVTQ1JJUFRfT0dIQU0gICAgICAgID0gMjks
ICAvKiBPZ2FtICovCisgICAgICBVU0NSSVBUX09MRF9JVEFMSUMgICA9IDMwLCAgLyogSXRhbCAq
LworICAgICAgVVNDUklQVF9PUklZQSAgICAgICAgPSAzMSwgIC8qIE9yeWEgKi8KKyAgICAgIFVT
Q1JJUFRfUlVOSUMgICAgICAgID0gMzIsICAvKiBSdW5yICovCisgICAgICBVU0NSSVBUX1NJTkhB
TEEgICAgICA9IDMzLCAgLyogU2luaCAqLworICAgICAgVVNDUklQVF9TWVJJQUMgICAgICAgPSAz
NCwgIC8qIFN5cmMgKi8KKyAgICAgIFVTQ1JJUFRfVEFNSUwgICAgICAgID0gMzUsICAvKiBUYW1s
ICovCisgICAgICBVU0NSSVBUX1RFTFVHVSAgICAgICA9IDM2LCAgLyogVGVsdSAqLworICAgICAg
VVNDUklQVF9USEFBTkEgICAgICAgPSAzNywgIC8qIFRoYWEgKi8KKyAgICAgIFVTQ1JJUFRfVEhB
SSAgICAgICAgID0gMzgsICAvKiBUaGFpICovCisgICAgICBVU0NSSVBUX1RJQkVUQU4gICAgICA9
IDM5LCAgLyogVGlidCAqLworICAgICAgLyoqIENhbmFkaWFuX0Fib3JpZ2luYWwgc2NyaXB0LiBA
c3RhYmxlIElDVSAyLjYgKi8KKyAgICAgIFVTQ1JJUFRfQ0FOQURJQU5fQUJPUklHSU5BTCA9IDQw
LCAgLyogQ2FucyAqLworICAgICAgLyoqIENhbmFkaWFuX0Fib3JpZ2luYWwgc2NyaXB0IChhbGlh
cykuIEBzdGFibGUgSUNVIDIuMiAqLworICAgICAgVVNDUklQVF9VQ0FTICAgICAgICAgPSBVU0NS
SVBUX0NBTkFESUFOX0FCT1JJR0lOQUwsCisgICAgICBVU0NSSVBUX1lJICAgICAgICAgICA9IDQx
LCAgLyogWWlpaSAqLworICAgICAgVVNDUklQVF9UQUdBTE9HICAgICAgPSA0MiwgIC8qIFRnbGcg
Ki8KKyAgICAgIFVTQ1JJUFRfSEFOVU5PTyAgICAgID0gNDMsICAvKiBIYW5vICovCisgICAgICBV
U0NSSVBUX0JVSElEICAgICAgICA9IDQ0LCAgLyogQnVoZCAqLworICAgICAgVVNDUklQVF9UQUdC
QU5XQSAgICAgPSA0NSwgIC8qIFRhZ2IgKi8KKworICAgICAgLyogTmV3IHNjcmlwdHMgaW4gVW5p
Y29kZSA0IEBzdGFibGUgSUNVIDIuNiAqLworICAgICAgVVNDUklQVF9CUkFJTExFICAgICAgPSA0
NiwgIC8qIEJyYWkgKi8KKyAgICAgIFVTQ1JJUFRfQ1lQUklPVCAgICAgID0gNDcsICAvKiBDcHJ0
ICovCisgICAgICBVU0NSSVBUX0xJTUJVICAgICAgICA9IDQ4LCAgLyogTGltYiAqLworICAgICAg
VVNDUklQVF9MSU5FQVJfQiAgICAgPSA0OSwgIC8qIExpbmIgKi8KKyAgICAgIFVTQ1JJUFRfT1NN
QU5ZQSAgICAgID0gNTAsICAvKiBPc21hICovCisgICAgICBVU0NSSVBUX1NIQVZJQU4gICAgICA9
IDUxLCAgLyogU2hhdyAqLworICAgICAgVVNDUklQVF9UQUlfTEUgICAgICAgPSA1MiwgIC8qIFRh
bGUgKi8KKyAgICAgIFVTQ1JJUFRfVUdBUklUSUMgICAgID0gNTMsICAvKiBVZ2FyICovCisKKyAg
ICAgIC8qKiBOZXcgc2NyaXB0IGNvZGUgaW4gVW5pY29kZSA0LjAuMSBAc3RhYmxlIElDVSAzLjAg
Ki8KKyAgICAgIFVTQ1JJUFRfS0FUQUtBTkFfT1JfSElSQUdBTkEgPSA1NCwvKkhya3QgKi8KKyAg
ICAgIAorI2lmbmRlZiBVX0hJREVfRFJBRlRfQVBJCisgICAgICAvKiBOZXcgc2NyaXB0cyBpbiBV
bmljb2RlIDQuMSBAZHJhZnQgSUNVIDMuNCAqLworICAgICAgVVNDUklQVF9CVUdJTkVTRSAgICAg
ID0gNTUsIC8qIEJ1Z2kgKi8KKyAgICAgIFVTQ1JJUFRfR0xBR09MSVRJQyAgICA9IDU2LCAvKiBH
bGFnICovCisgICAgICBVU0NSSVBUX0tIQVJPU0hUSEkgICAgPSA1NywgLyogS2hhciAqLworICAg
ICAgVVNDUklQVF9TWUxPVElfTkFHUkkgID0gNTgsIC8qIFN5bG8gKi8KKyAgICAgIFVTQ1JJUFRf
TkVXX1RBSV9MVUUgICA9IDU5LCAvKiBUYWx1ICovCisgICAgICBVU0NSSVBUX1RJRklOQUdIICAg
ICAgPSA2MCwgLyogVGZuZyAqLworICAgICAgVVNDUklQVF9PTERfUEVSU0lBTiAgID0gNjEsIC8q
IFhwZW8gKi8KKworICAgICAgLyogTmV3IHNjcmlwdCBjb2RlcyBmcm9tIElTTyAxNTkyNCBAZHJh
ZnQgSUNVIDMuNiAqLworICAgICAgVVNDUklQVF9CQUxJTkVTRSAgICAgICAgICAgICAgICAgICAg
ICA9IDYyLCAvKiBCYWxpICovCisgICAgICBVU0NSSVBUX0JBVEFLICAgICAgICAgICAgICAgICAg
ICAgICAgID0gNjMsIC8qIEJhdGsgKi8KKyAgICAgIFVTQ1JJUFRfQkxJU1NZTUJPTFMgICAgICAg
ICAgICAgICAgICAgPSA2NCwgLyogQmxpcyAqLworICAgICAgVVNDUklQVF9CUkFITUkgICAgICAg
ICAgICAgICAgICAgICAgICA9IDY1LCAvKiBCcmFoICovCisgICAgICBVU0NSSVBUX0NIQU0gICAg
ICAgICAgICAgICAgICAgICAgICAgID0gNjYsIC8qIENoYW0gKi8KKyAgICAgIFVTQ1JJUFRfQ0lS
VEggICAgICAgICAgICAgICAgICAgICAgICAgPSA2NywgLyogQ2lydCAqLworICAgICAgVVNDUklQ
VF9PTERfQ0hVUkNIX1NMQVZPTklDX0NZUklMTElDICA9IDY4LCAvKiBDeXJzICovCisgICAgICBV
U0NSSVBUX0RFTU9USUNfRUdZUFRJQU4gICAgICAgICAgICAgID0gNjksIC8qIEVneWQgKi8KKyAg
ICAgIFVTQ1JJUFRfSElFUkFUSUNfRUdZUFRJQU4gICAgICAgICAgICAgPSA3MCwgLyogRWd5aCAq
LworICAgICAgVVNDUklQVF9FR1lQVElBTl9ISUVST0dMWVBIUyAgICAgICAgICA9IDcxLCAvKiBF
Z3lwICovCisgICAgICBVU0NSSVBUX0tIVVRTVVJJICAgICAgICAgICAgICAgICAgICAgID0gNzIs
IC8qIEdlb2sgKi8KKyAgICAgIFVTQ1JJUFRfU0lNUExJRklFRF9IQU4gICAgICAgICAgICAgICAg
PSA3MywgLyogSGFucyAqLworICAgICAgVVNDUklQVF9UUkFESVRJT05BTF9IQU4gICAgICAgICAg
ICAgICA9IDc0LCAvKiBIYW50ICovCisgICAgICBVU0NSSVBUX1BBSEFXSF9ITU9ORyAgICAgICAg
ICAgICAgICAgID0gNzUsIC8qIEhtbmcgKi8KKyAgICAgIFVTQ1JJUFRfT0xEX0hVTkdBUklBTiAg
ICAgICAgICAgICAgICAgPSA3NiwgLyogSHVuZyAqLworICAgICAgVVNDUklQVF9IQVJBUFBBTl9J
TkRVUyAgICAgICAgICAgICAgICA9IDc3LCAvKiBJbmRzICovCisgICAgICBVU0NSSVBUX0pBVkFO
RVNFICAgICAgICAgICAgICAgICAgICAgID0gNzgsIC8qIEphdmEgKi8KKyAgICAgIFVTQ1JJUFRf
S0FZQUhfTEkgICAgICAgICAgICAgICAgICAgICAgPSA3OSwgLyogS2FsaSAqLworICAgICAgVVND
UklQVF9MQVRJTl9GUkFLVFVSICAgICAgICAgICAgICAgICA9IDgwLCAvKiBMYXRmICovCisgICAg
ICBVU0NSSVBUX0xBVElOX0dBRUxJQyAgICAgICAgICAgICAgICAgID0gODEsIC8qIExhdGcgKi8K
KyAgICAgIFVTQ1JJUFRfTEVQQ0hBICAgICAgICAgICAgICAgICAgICAgICAgPSA4MiwgLyogTGVw
YyAqLworICAgICAgVVNDUklQVF9MSU5FQVJfQSAgICAgICAgICAgICAgICAgICAgICA9IDgzLCAv
KiBMaW5hICovCisgICAgICBVU0NSSVBUX01BTkRBRUFOICAgICAgICAgICAgICAgICAgICAgID0g
ODQsIC8qIE1hbmQgKi8KKyAgICAgIFVTQ1JJUFRfTUFZQU5fSElFUk9HTFlQSFMgICAgICAgICAg
ICAgPSA4NSwgLyogTWF5YSAqLworICAgICAgVVNDUklQVF9NRVJPSVRJQyAgICAgICAgICAgICAg
ICAgICAgICA9IDg2LCAvKiBNZXJvICovCisgICAgICBVU0NSSVBUX05LTyAgICAgICAgICAgICAg
ICAgICAgICAgICAgID0gODcsIC8qIE5rb28gKi8KKyAgICAgIFVTQ1JJUFRfT1JLSE9OICAgICAg
ICAgICAgICAgICAgICAgICAgPSA4OCwgLyogT3JraCAqLworICAgICAgVVNDUklQVF9PTERfUEVS
TUlDICAgICAgICAgICAgICAgICAgICA9IDg5LCAvKiBQZXJtICovCisgICAgICBVU0NSSVBUX1BI
QUdTX1BBICAgICAgICAgICAgICAgICAgICAgID0gOTAsIC8qIFBoYWcgKi8KKyAgICAgIFVTQ1JJ
UFRfUEhPRU5JQ0lBTiAgICAgICAgICAgICAgICAgICAgPSA5MSwgLyogUGhueCAqLworICAgICAg
VVNDUklQVF9QSE9ORVRJQ19QT0xMQVJEICAgICAgICAgICAgICA9IDkyLCAvKiBQbHJkICovCisg
ICAgICBVU0NSSVBUX1JPTkdPUk9OR08gICAgICAgICAgICAgICAgICAgID0gOTMsIC8qIFJvcm8g
Ki8KKyAgICAgIFVTQ1JJUFRfU0FSQVRJICAgICAgICAgICAgICAgICAgICAgICAgPSA5NCwgLyog
U2FyYSAqLworICAgICAgVVNDUklQVF9FU1RSQU5HRUxPX1NZUklBQyAgICAgICAgICAgICA9IDk1
LCAvKiBTeXJlICovCisgICAgICBVU0NSSVBUX1dFU1RFUk5fU1lSSUFDICAgICAgICAgICAgICAg
ID0gOTYsIC8qIFN5cmogKi8KKyAgICAgIFVTQ1JJUFRfRUFTVEVSTl9TWVJJQUMgICAgICAgICAg
ICAgICAgPSA5NywgLyogU3lybiAqLworICAgICAgVVNDUklQVF9URU5HV0FSICAgICAgICAgICAg
ICAgICAgICAgICA9IDk4LCAvKiBUZW5nICovCisgICAgICBVU0NSSVBUX1ZBSSAgICAgICAgICAg
ICAgICAgICAgICAgICAgID0gOTksIC8qIFZhaWkgKi8KKyAgICAgIFVTQ1JJUFRfVklTSUJMRV9T
UEVFQ0ggICAgICAgICAgICAgICAgPSAxMDAsIC8qIFZpc3AgKi8KKyAgICAgIFVTQ1JJUFRfQ1VO
RUlGT1JNICAgICAgICAgICAgICAgICAgICAgPSAxMDEsLyogWHN1eCAqLworICAgICAgVVNDUklQ
VF9VTldSSVRURU5fTEFOR1VBR0VTICAgICAgICAgICA9IDEwMiwvKiBaeHh4ICovCisgICAgICBV
U0NSSVBUX1VOS05PV04gICAgICAgICAgICAgICAgICAgICAgID0gMTAzLC8qIFp6enogKi8gLyog
VW5rbm93bj0iQ29kZSBmb3IgdW5jb2RlZCBzY3JpcHQiLCBmb3IgdW5hc3NpZ25lZCBjb2RlIHBv
aW50cyAqLworICAgICAgLyogUHJpdmF0ZSB1c2UgY29kZXMgZnJvbSBRYWFhIC0gUWFieCBhcmUg
bm90IHN1cHBvcnRlZCovCisjZW5kaWYgLyogVV9ISURFX0RSQUZUX0FQSSAqLworICAgICAgVVND
UklQVF9DT0RFX0xJTUlUICAgID0gMTA0Cit9IFVTY3JpcHRDb2RlOworCisjZW5kaWYKClByb3Bl
cnR5IGNoYW5nZXMgb246IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9TY3JpcHRD
b2Rlc0Zyb21JQ1UuaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiAgICsgTEYKCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvYnJldy9Vbmljb2RlQnJldy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9icmV3L1Vu
aWNvZGVCcmV3LmgJKHJldmlzaW9uIDkwMTU2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi91bmljb2RlL2JyZXcvVW5pY29kZUJyZXcuaAkod29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUs
NyBAQAogI2lmbmRlZiBVbmljb2RlQnJld19oCiAjZGVmaW5lIFVuaWNvZGVCcmV3X2gKIAorI2lu
Y2x1ZGUgIlNjcmlwdENvZGVzRnJvbUlDVS5oIgogI2luY2x1ZGUgIlVuaWNvZGVGcm9tSUNVLmgi
CiAjaW5jbHVkZSAiVW5pY29kZU1hY3Jvc0Zyb21JQ1UuaCIKIApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi91bmljb2RlL2dsaWIvVW5pY29kZUdMaWIuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvZ2xpYi9Vbmljb2RlR0xpYi5oCShyZXZp
c2lvbiA5MDE1NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvdW5pY29kZS9nbGliL1Vu
aWNvZGVHTGliLmgJKHdvcmtpbmcgY29weSkKQEAgLTI1LDggKzI1LDkgQEAKICNpZm5kZWYgVW5p
Y29kZUdMaWJfaAogI2RlZmluZSBVbmljb2RlR0xpYl9oCiAKLSNpbmNsdWRlICJVbmljb2RlTWFj
cm9zRnJvbUlDVS5oIgogI2luY2x1ZGUgIkdPd25QdHIuaCIKKyNpbmNsdWRlICJTY3JpcHRDb2Rl
c0Zyb21JQ1UuaCIKKyNpbmNsdWRlICJVbmljb2RlTWFjcm9zRnJvbUlDVS5oIgogCiAjaW5jbHVk
ZSA8Z2xpYi5oPgogI2luY2x1ZGUgPHBhbmdvL3BhbmdvLmg+CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL3VuaWNvZGUvaWN1L1VuaWNvZGVJY3UuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvaWN1L1VuaWNvZGVJY3UuaAkocmV2aXNpb24g
OTAxNTYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvaWN1L1VuaWNvZGVJ
Y3UuaAkod29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUsNyBAQAogCiAjaW5jbHVkZSA8c3RkbGli
Lmg+CiAjaW5jbHVkZSA8dW5pY29kZS91Y2hhci5oPgorI2luY2x1ZGUgPHVuaWNvZGUvdXNjcmlw
dC5oPgogI2luY2x1ZGUgPHVuaWNvZGUvdXN0cmluZy5oPgogI2luY2x1ZGUgPHVuaWNvZGUvdXRm
MTYuaD4KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL3F0NC9Vbmlj
b2RlUXQ0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2Rl
L3F0NC9Vbmljb2RlUXQ0LmgJKHJldmlzaW9uIDkwMTU2KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3d0Zi91bmljb2RlL3F0NC9Vbmljb2RlUXQ0LmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDYg
KzIzLDcgQEAKICNpZm5kZWYgV1RGX1VOSUNPREVfUVQ0X0gKICNkZWZpbmUgV1RGX1VOSUNPREVf
UVQ0X0gKIAorI2luY2x1ZGUgIlNjcmlwdENvZGVzRnJvbUlDVS5oIgogI2luY2x1ZGUgIlVuaWNv
ZGVNYWNyb3NGcm9tSUNVLmgiCiAKICNpbmNsdWRlIDxRQ2hhcj4KSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvdW5pY29kZS93aW5jZS9Vbmljb2RlV2luQ0UuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL3VuaWNvZGUvd2luY2UvVW5pY29kZVdpbkNFLmgJ
KHJldmlzaW9uIDkwMTU2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi91bmljb2RlL3dp
bmNlL1VuaWNvZGVXaW5DRS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw2ICsyNCw3IEBACiAjaWZu
ZGVmIFdURl9Vbmljb2RlV2luQ0VfaAogI2RlZmluZSBXVEZfVW5pY29kZVdpbkNFX2gKIAorI2lu
Y2x1ZGUgIlNjcmlwdENvZGVzRnJvbUlDVS5oIgogI2luY2x1ZGUgIlVuaWNvZGVNYWNyb3NGcm9t
SUNVLmgiCiAKICNpbmNsdWRlICJjZV91bmljb2RlLmgiCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dEdsdWUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0R2x1ZS9DaGFu
Z2VMb2cJKHJldmlzaW9uIDkwMTU2KQorKysgU291cmNlL0phdmFTY3JpcHRHbHVlL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDExLTA2LTMwICBKdW5nc2hpayBT
aGluICA8anNoaW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQ
cm9za3VyeWFrb3YuCisKKyAgICAgICAgQWRkIHVzY3JpcHQuaCB0byBpY3UvdW5pY29kZSB0byBn
ZXQgSmF2YVNjcmlwdEdsdWUgZ2V0IGJ1aWx0LiBUaGUgc2FtZQorICAgICAgICBmaWxlIHdhcyBh
ZGRlZCB0byBKYXZhU2NyaXB0Q29yZS9pY3UvdW5pY29kZS4KKworICAgICAgICBodHRwOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDc5NworCisgICAgICAgICogaWN1L3VuaWNv
ZGUvdXNjcmlwdC5oOiBBZGRlZC4KKwogMjAxMS0wNi0yNCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQu
cmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjg5NTk0LgpJbmRleDogU291cmNlL0phdmFTY3JpcHRHbHVlL2ljdS91bmljb2RlL3VzY3JpcHQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdEdsdWUvaWN1L3VuaWNvZGUvdXNjcmlw
dC5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRHbHVlL2ljdS91bmljb2RlL3Vz
Y3JpcHQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMjQgQEAKKy8qCisqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
CisqICAgQ29weXJpZ2h0IChDKSAxOTk3LTIwMDYsIEludGVybmF0aW9uYWwgQnVzaW5lc3MgTWFj
aGluZXMKKyogICBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJzLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4K
KyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioKKyoKKyogRmlsZSBVU0NSSVBULkgKKyoKKyogTW9kaWZpY2F0aW9uIEhp
c3Rvcnk6CisqCisqICAgRGF0ZSAgICAgICAgTmFtZSAgICAgICAgRGVzY3JpcHRpb24KKyogICAw
Ny8wNi8yMDAxICAgIFJhbSAgICAgICAgIENyZWF0aW9uLgorKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
CisqLworI2lmbmRlZiBVU0NSSVBUX0gKKyNkZWZpbmUgVVNDUklQVF9ICisjaW5jbHVkZSAidW5p
Y29kZS91dHlwZXMuaCIKKworLyoqCisgKiBcZmlsZQorICogXGJyaWVmIEMgQVBJOiBVbmljb2Rl
IFNjcmlwdCBJbmZvcm1hdGlvbgorICovCisgCisvKioKKyAqIENvbnN0YW50cyBmb3IgSVNPIDE1
OTI0IHNjcmlwdCBjb2Rlcy4KKyAqCisgKiBNYW55IG9mIHRoZXNlIHNjcmlwdCBjb2RlcyAtIHRo
b3NlIGZyb20gVW5pY29kZSdzIFNjcmlwdE5hbWVzLnR4dCAtCisgKiBhcmUgY2hhcmFjdGVyIHBy
b3BlcnR5IHZhbHVlcyBmb3IgVW5pY29kZSdzIFNjcmlwdCBwcm9wZXJ0eS4KKyAqIFNlZSBVQVgg
IzI0IFNjcmlwdCBOYW1lcyAoaHR0cDovL3d3dy51bmljb2RlLm9yZy9yZXBvcnRzL3RyMjQvKS4K
KyAqCisgKiBTdGFydGluZyB3aXRoIElDVSAzLjYsIGNvbnN0YW50cyBmb3IgbW9zdCBJU08gMTU5
MjQgc2NyaXB0IGNvZGVzCisgKiBhcmUgaW5jbHVkZWQgKGN1cnJlbnRseSBleGNsdWRpbmcgcHJp
dmF0ZS11c2UgY29kZXMgUWFhYS4uUWFieCkuCisgKiBGb3Igc2NyaXB0cyBmb3Igd2hpY2ggdGhl
cmUgYXJlIGNvZGVzIGluIElTTyAxNTkyNCBidXQgd2hpY2ggYXJlIG5vdAorICogdXNlZCBpbiB0
aGUgVW5pY29kZSBDaGFyYWN0ZXIgRGF0YWJhc2UgKFVDRCksIHRoZXJlIGFyZSBubyBVbmljb2Rl
IGNoYXJhY3RlcnMKKyAqIGFzc29jaWF0ZWQgd2l0aCB0aG9zZSBzY3JpcHRzLgorICoKKyAqIEZv
ciBleGFtcGxlLCB0aGVyZSBhcmUgbm8gY2hhcmFjdGVycyB0aGF0IGhhdmUgYSBVQ0Qgc2NyaXB0
IGNvZGUgb2YKKyAqIEhhbnMgb3IgSGFudC4gQWxsIEhhbiBpZGVvZ3JhcGhzIGhhdmUgdGhlIEhh
bmkgc2NyaXB0IGNvZGUuCisgKiBUaGUgSGFucyBhbmQgSGFudCBzY3JpcHQgY29kZXMgYXJlIHVz
ZWQgd2l0aCBDTERSIGRhdGEuCisgKgorICogSVNPIDE1OTI0IHNjcmlwdCBjb2RlcyBhcmUgaW5j
bHVkZWQgZm9yIHVzZSB3aXRoIENMRFIgYW5kIHNpbWlsYXIuCisgKgorICogQHN0YWJsZSBJQ1Ug
Mi4yCisgKi8KK3R5cGVkZWYgZW51bSBVU2NyaXB0Q29kZSB7CisgICAgICBVU0NSSVBUX0lOVkFM
SURfQ09ERSA9IC0xLAorICAgICAgVVNDUklQVF9DT01NT04gICAgICAgPSAgMCAsIC8qIFp5eXkg
Ki8KKyAgICAgIFVTQ1JJUFRfSU5IRVJJVEVEICAgID0gIDEsICAvKiBRYWFpICovCisgICAgICBV
U0NSSVBUX0FSQUJJQyAgICAgICA9ICAyLCAgLyogQXJhYiAqLworICAgICAgVVNDUklQVF9BUk1F
TklBTiAgICAgPSAgMywgIC8qIEFybW4gKi8KKyAgICAgIFVTQ1JJUFRfQkVOR0FMSSAgICAgID0g
IDQsICAvKiBCZW5nICovCisgICAgICBVU0NSSVBUX0JPUE9NT0ZPICAgICA9ICA1LCAgLyogQm9w
byAqLworICAgICAgVVNDUklQVF9DSEVST0tFRSAgICAgPSAgNiwgIC8qIENoZXIgKi8KKyAgICAg
IFVTQ1JJUFRfQ09QVElDICAgICAgID0gIDcsICAvKiBDb3B0ICovCisgICAgICBVU0NSSVBUX0NZ
UklMTElDICAgICA9ICA4LCAgLyogQ3lybCAqLworICAgICAgVVNDUklQVF9ERVNFUkVUICAgICAg
PSAgOSwgIC8qIERzcnQgKi8KKyAgICAgIFVTQ1JJUFRfREVWQU5BR0FSSSAgID0gMTAsICAvKiBE
ZXZhICovCisgICAgICBVU0NSSVBUX0VUSElPUElDICAgICA9IDExLCAgLyogRXRoaSAqLworICAg
ICAgVVNDUklQVF9HRU9SR0lBTiAgICAgPSAxMiwgIC8qIEdlb3IgKi8KKyAgICAgIFVTQ1JJUFRf
R09USElDICAgICAgID0gMTMsICAvKiBHb3RoICovCisgICAgICBVU0NSSVBUX0dSRUVLICAgICAg
ICA9IDE0LCAgLyogR3JlayAqLworICAgICAgVVNDUklQVF9HVUpBUkFUSSAgICAgPSAxNSwgIC8q
IEd1anIgKi8KKyAgICAgIFVTQ1JJUFRfR1VSTVVLSEkgICAgID0gMTYsICAvKiBHdXJ1ICovCisg
ICAgICBVU0NSSVBUX0hBTiAgICAgICAgICA9IDE3LCAgLyogSGFuaSAqLworICAgICAgVVNDUklQ
VF9IQU5HVUwgICAgICAgPSAxOCwgIC8qIEhhbmcgKi8KKyAgICAgIFVTQ1JJUFRfSEVCUkVXICAg
ICAgID0gMTksICAvKiBIZWJyICovCisgICAgICBVU0NSSVBUX0hJUkFHQU5BICAgICA9IDIwLCAg
LyogSGlyYSAqLworICAgICAgVVNDUklQVF9LQU5OQURBICAgICAgPSAyMSwgIC8qIEtuZGEgKi8K
KyAgICAgIFVTQ1JJUFRfS0FUQUtBTkEgICAgID0gMjIsICAvKiBLYW5hICovCisgICAgICBVU0NS
SVBUX0tITUVSICAgICAgICA9IDIzLCAgLyogS2htciAqLworICAgICAgVVNDUklQVF9MQU8gICAg
ICAgICAgPSAyNCwgIC8qIExhb28gKi8KKyAgICAgIFVTQ1JJUFRfTEFUSU4gICAgICAgID0gMjUs
ICAvKiBMYXRuICovCisgICAgICBVU0NSSVBUX01BTEFZQUxBTSAgICA9IDI2LCAgLyogTWx5bSAq
LworICAgICAgVVNDUklQVF9NT05HT0xJQU4gICAgPSAyNywgIC8qIE1vbmcgKi8KKyAgICAgIFVT
Q1JJUFRfTVlBTk1BUiAgICAgID0gMjgsICAvKiBNeW1yICovCisgICAgICBVU0NSSVBUX09HSEFN
ICAgICAgICA9IDI5LCAgLyogT2dhbSAqLworICAgICAgVVNDUklQVF9PTERfSVRBTElDICAgPSAz
MCwgIC8qIEl0YWwgKi8KKyAgICAgIFVTQ1JJUFRfT1JJWUEgICAgICAgID0gMzEsICAvKiBPcnlh
ICovCisgICAgICBVU0NSSVBUX1JVTklDICAgICAgICA9IDMyLCAgLyogUnVuciAqLworICAgICAg
VVNDUklQVF9TSU5IQUxBICAgICAgPSAzMywgIC8qIFNpbmggKi8KKyAgICAgIFVTQ1JJUFRfU1lS
SUFDICAgICAgID0gMzQsICAvKiBTeXJjICovCisgICAgICBVU0NSSVBUX1RBTUlMICAgICAgICA9
IDM1LCAgLyogVGFtbCAqLworICAgICAgVVNDUklQVF9URUxVR1UgICAgICAgPSAzNiwgIC8qIFRl
bHUgKi8KKyAgICAgIFVTQ1JJUFRfVEhBQU5BICAgICAgID0gMzcsICAvKiBUaGFhICovCisgICAg
ICBVU0NSSVBUX1RIQUkgICAgICAgICA9IDM4LCAgLyogVGhhaSAqLworICAgICAgVVNDUklQVF9U
SUJFVEFOICAgICAgPSAzOSwgIC8qIFRpYnQgKi8KKyAgICAgIC8qKiBDYW5hZGlhbl9BYm9yaWdp
bmFsIHNjcmlwdC4gQHN0YWJsZSBJQ1UgMi42ICovCisgICAgICBVU0NSSVBUX0NBTkFESUFOX0FC
T1JJR0lOQUwgPSA0MCwgIC8qIENhbnMgKi8KKyAgICAgIC8qKiBDYW5hZGlhbl9BYm9yaWdpbmFs
IHNjcmlwdCAoYWxpYXMpLiBAc3RhYmxlIElDVSAyLjIgKi8KKyAgICAgIFVTQ1JJUFRfVUNBUyAg
ICAgICAgID0gVVNDUklQVF9DQU5BRElBTl9BQk9SSUdJTkFMLAorICAgICAgVVNDUklQVF9ZSSAg
ICAgICAgICAgPSA0MSwgIC8qIFlpaWkgKi8KKyAgICAgIFVTQ1JJUFRfVEFHQUxPRyAgICAgID0g
NDIsICAvKiBUZ2xnICovCisgICAgICBVU0NSSVBUX0hBTlVOT08gICAgICA9IDQzLCAgLyogSGFu
byAqLworICAgICAgVVNDUklQVF9CVUhJRCAgICAgICAgPSA0NCwgIC8qIEJ1aGQgKi8KKyAgICAg
IFVTQ1JJUFRfVEFHQkFOV0EgICAgID0gNDUsICAvKiBUYWdiICovCisKKyAgICAgIC8qIE5ldyBz
Y3JpcHRzIGluIFVuaWNvZGUgNCBAc3RhYmxlIElDVSAyLjYgKi8KKyAgICAgIFVTQ1JJUFRfQlJB
SUxMRSAgICAgID0gNDYsICAvKiBCcmFpICovCisgICAgICBVU0NSSVBUX0NZUFJJT1QgICAgICA9
IDQ3LCAgLyogQ3BydCAqLworICAgICAgVVNDUklQVF9MSU1CVSAgICAgICAgPSA0OCwgIC8qIExp
bWIgKi8KKyAgICAgIFVTQ1JJUFRfTElORUFSX0IgICAgID0gNDksICAvKiBMaW5iICovCisgICAg
ICBVU0NSSVBUX09TTUFOWUEgICAgICA9IDUwLCAgLyogT3NtYSAqLworICAgICAgVVNDUklQVF9T
SEFWSUFOICAgICAgPSA1MSwgIC8qIFNoYXcgKi8KKyAgICAgIFVTQ1JJUFRfVEFJX0xFICAgICAg
ID0gNTIsICAvKiBUYWxlICovCisgICAgICBVU0NSSVBUX1VHQVJJVElDICAgICA9IDUzLCAgLyog
VWdhciAqLworCisgICAgICAvKiogTmV3IHNjcmlwdCBjb2RlIGluIFVuaWNvZGUgNC4wLjEgQHN0
YWJsZSBJQ1UgMy4wICovCisgICAgICBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5BID0gNTQs
LypIcmt0ICovCisgICAgICAKKyNpZm5kZWYgVV9ISURFX0RSQUZUX0FQSQorICAgICAgLyogTmV3
IHNjcmlwdHMgaW4gVW5pY29kZSA0LjEgQGRyYWZ0IElDVSAzLjQgKi8KKyAgICAgIFVTQ1JJUFRf
QlVHSU5FU0UgICAgICA9IDU1LCAvKiBCdWdpICovCisgICAgICBVU0NSSVBUX0dMQUdPTElUSUMg
ICAgPSA1NiwgLyogR2xhZyAqLworICAgICAgVVNDUklQVF9LSEFST1NIVEhJICAgID0gNTcsIC8q
IEtoYXIgKi8KKyAgICAgIFVTQ1JJUFRfU1lMT1RJX05BR1JJICA9IDU4LCAvKiBTeWxvICovCisg
ICAgICBVU0NSSVBUX05FV19UQUlfTFVFICAgPSA1OSwgLyogVGFsdSAqLworICAgICAgVVNDUklQ
VF9USUZJTkFHSCAgICAgID0gNjAsIC8qIFRmbmcgKi8KKyAgICAgIFVTQ1JJUFRfT0xEX1BFUlNJ
QU4gICA9IDYxLCAvKiBYcGVvICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHQgY29kZXMgZnJvbSBJ
U08gMTU5MjQgQGRyYWZ0IElDVSAzLjYgKi8KKyAgICAgIFVTQ1JJUFRfQkFMSU5FU0UgICAgICAg
ICAgICAgICAgICAgICAgPSA2MiwgLyogQmFsaSAqLworICAgICAgVVNDUklQVF9CQVRBSyAgICAg
ICAgICAgICAgICAgICAgICAgICA9IDYzLCAvKiBCYXRrICovCisgICAgICBVU0NSSVBUX0JMSVNT
WU1CT0xTICAgICAgICAgICAgICAgICAgID0gNjQsIC8qIEJsaXMgKi8KKyAgICAgIFVTQ1JJUFRf
QlJBSE1JICAgICAgICAgICAgICAgICAgICAgICAgPSA2NSwgLyogQnJhaCAqLworICAgICAgVVND
UklQVF9DSEFNICAgICAgICAgICAgICAgICAgICAgICAgICA9IDY2LCAvKiBDaGFtICovCisgICAg
ICBVU0NSSVBUX0NJUlRIICAgICAgICAgICAgICAgICAgICAgICAgID0gNjcsIC8qIENpcnQgKi8K
KyAgICAgIFVTQ1JJUFRfT0xEX0NIVVJDSF9TTEFWT05JQ19DWVJJTExJQyAgPSA2OCwgLyogQ3ly
cyAqLworICAgICAgVVNDUklQVF9ERU1PVElDX0VHWVBUSUFOICAgICAgICAgICAgICA9IDY5LCAv
KiBFZ3lkICovCisgICAgICBVU0NSSVBUX0hJRVJBVElDX0VHWVBUSUFOICAgICAgICAgICAgID0g
NzAsIC8qIEVneWggKi8KKyAgICAgIFVTQ1JJUFRfRUdZUFRJQU5fSElFUk9HTFlQSFMgICAgICAg
ICAgPSA3MSwgLyogRWd5cCAqLworICAgICAgVVNDUklQVF9LSFVUU1VSSSAgICAgICAgICAgICAg
ICAgICAgICA9IDcyLCAvKiBHZW9rICovCisgICAgICBVU0NSSVBUX1NJTVBMSUZJRURfSEFOICAg
ICAgICAgICAgICAgID0gNzMsIC8qIEhhbnMgKi8KKyAgICAgIFVTQ1JJUFRfVFJBRElUSU9OQUxf
SEFOICAgICAgICAgICAgICAgPSA3NCwgLyogSGFudCAqLworICAgICAgVVNDUklQVF9QQUhBV0hf
SE1PTkcgICAgICAgICAgICAgICAgICA9IDc1LCAvKiBIbW5nICovCisgICAgICBVU0NSSVBUX09M
RF9IVU5HQVJJQU4gICAgICAgICAgICAgICAgID0gNzYsIC8qIEh1bmcgKi8KKyAgICAgIFVTQ1JJ
UFRfSEFSQVBQQU5fSU5EVVMgICAgICAgICAgICAgICAgPSA3NywgLyogSW5kcyAqLworICAgICAg
VVNDUklQVF9KQVZBTkVTRSAgICAgICAgICAgICAgICAgICAgICA9IDc4LCAvKiBKYXZhICovCisg
ICAgICBVU0NSSVBUX0tBWUFIX0xJICAgICAgICAgICAgICAgICAgICAgID0gNzksIC8qIEthbGkg
Ki8KKyAgICAgIFVTQ1JJUFRfTEFUSU5fRlJBS1RVUiAgICAgICAgICAgICAgICAgPSA4MCwgLyog
TGF0ZiAqLworICAgICAgVVNDUklQVF9MQVRJTl9HQUVMSUMgICAgICAgICAgICAgICAgICA9IDgx
LCAvKiBMYXRnICovCisgICAgICBVU0NSSVBUX0xFUENIQSAgICAgICAgICAgICAgICAgICAgICAg
ID0gODIsIC8qIExlcGMgKi8KKyAgICAgIFVTQ1JJUFRfTElORUFSX0EgICAgICAgICAgICAgICAg
ICAgICAgPSA4MywgLyogTGluYSAqLworICAgICAgVVNDUklQVF9NQU5EQUVBTiAgICAgICAgICAg
ICAgICAgICAgICA9IDg0LCAvKiBNYW5kICovCisgICAgICBVU0NSSVBUX01BWUFOX0hJRVJPR0xZ
UEhTICAgICAgICAgICAgID0gODUsIC8qIE1heWEgKi8KKyAgICAgIFVTQ1JJUFRfTUVST0lUSUMg
ICAgICAgICAgICAgICAgICAgICAgPSA4NiwgLyogTWVybyAqLworICAgICAgVVNDUklQVF9OS08g
ICAgICAgICAgICAgICAgICAgICAgICAgICA9IDg3LCAvKiBOa29vICovCisgICAgICBVU0NSSVBU
X09SS0hPTiAgICAgICAgICAgICAgICAgICAgICAgID0gODgsIC8qIE9ya2ggKi8KKyAgICAgIFVT
Q1JJUFRfT0xEX1BFUk1JQyAgICAgICAgICAgICAgICAgICAgPSA4OSwgLyogUGVybSAqLworICAg
ICAgVVNDUklQVF9QSEFHU19QQSAgICAgICAgICAgICAgICAgICAgICA9IDkwLCAvKiBQaGFnICov
CisgICAgICBVU0NSSVBUX1BIT0VOSUNJQU4gICAgICAgICAgICAgICAgICAgID0gOTEsIC8qIFBo
bnggKi8KKyAgICAgIFVTQ1JJUFRfUEhPTkVUSUNfUE9MTEFSRCAgICAgICAgICAgICAgPSA5Miwg
LyogUGxyZCAqLworICAgICAgVVNDUklQVF9ST05HT1JPTkdPICAgICAgICAgICAgICAgICAgICA9
IDkzLCAvKiBSb3JvICovCisgICAgICBVU0NSSVBUX1NBUkFUSSAgICAgICAgICAgICAgICAgICAg
ICAgID0gOTQsIC8qIFNhcmEgKi8KKyAgICAgIFVTQ1JJUFRfRVNUUkFOR0VMT19TWVJJQUMgICAg
ICAgICAgICAgPSA5NSwgLyogU3lyZSAqLworICAgICAgVVNDUklQVF9XRVNURVJOX1NZUklBQyAg
ICAgICAgICAgICAgICA9IDk2LCAvKiBTeXJqICovCisgICAgICBVU0NSSVBUX0VBU1RFUk5fU1lS
SUFDICAgICAgICAgICAgICAgID0gOTcsIC8qIFN5cm4gKi8KKyAgICAgIFVTQ1JJUFRfVEVOR1dB
UiAgICAgICAgICAgICAgICAgICAgICAgPSA5OCwgLyogVGVuZyAqLworICAgICAgVVNDUklQVF9W
QUkgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDk5LCAvKiBWYWlpICovCisgICAgICBVU0NS
SVBUX1ZJU0lCTEVfU1BFRUNIICAgICAgICAgICAgICAgID0gMTAwLCAvKiBWaXNwICovCisgICAg
ICBVU0NSSVBUX0NVTkVJRk9STSAgICAgICAgICAgICAgICAgICAgID0gMTAxLC8qIFhzdXggKi8K
KyAgICAgIFVTQ1JJUFRfVU5XUklUVEVOX0xBTkdVQUdFUyAgICAgICAgICAgPSAxMDIsLyogWnh4
eCAqLworICAgICAgVVNDUklQVF9VTktOT1dOICAgICAgICAgICAgICAgICAgICAgICA9IDEwMywv
KiBaenp6ICovIC8qIFVua25vd249IkNvZGUgZm9yIHVuY29kZWQgc2NyaXB0IiwgZm9yIHVuYXNz
aWduZWQgY29kZSBwb2ludHMgKi8KKyAgICAgIC8qIFByaXZhdGUgdXNlIGNvZGVzIGZyb20gUWFh
YSAtIFFhYnggYXJlIG5vdCBzdXBwb3J0ZWQqLworI2VuZGlmIC8qIFVfSElERV9EUkFGVF9BUEkg
Ki8KKyAgICAgIFVTQ1JJUFRfQ09ERV9MSU1JVCAgICA9IDEwNAorfSBVU2NyaXB0Q29kZTsKKwor
LyoqCisgKiBHZXRzIHNjcmlwdCBjb2RlcyBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIGxvY2Fs
ZSBvciBJU08gMTU5MjQgYWJicmV2aWF0aW9uIG9yIG5hbWUuIAorICogRmlsbHMgaW4gVVNDUklQ
VF9NQUxBWUFMQU0gZ2l2ZW4gIk1hbGF5YW0iIE9SICJNbHltIi4KKyAqIEZpbGxzIGluIFVTQ1JJ
UFRfTEFUSU4gZ2l2ZW4gImVuIiBPUiAiZW5fVVMiIAorICogSWYgcmVxdWlyZWQgY2FwYWNpdHkg
aXMgZ3JlYXRlciB0aGFuIGNhcGFjaXR5IG9mIHRoZSBkZXN0aW5hdGlvbiBidWZmZXIgdGhlbiB0
aGUgZXJyb3IgY29kZQorICogaXMgc2V0IHRvIFVfQlVGRkVSX09WRVJGTE9XX0VSUk9SIGFuZCB0
aGUgcmVxdWlyZWQgY2FwYWNpdHkgaXMgcmV0dXJuZWQKKyAqCisgKiA8cD5Ob3RlOiBUbyBzZWFy
Y2ggYnkgc2hvcnQgb3IgbG9uZyBzY3JpcHQgYWxpYXMgb25seSwgdXNlCisgKiB1X2dldFByb3Bl
cnR5VmFsdWVFbnVtKFVDSEFSX1NDUklQVCwgYWxpYXMpIGluc3RlYWQuICBUaGlzIGRvZXMKKyAq
IGEgZmFzdCBsb29rdXAgd2l0aCBubyBhY2Nlc3Mgb2YgdGhlIGxvY2FsZSBkYXRhLgorICogQHBh
cmFtIG5hbWVPckFiYnJPckxvY2FsZSBuYW1lIG9mIHRoZSBzY3JpcHQsIGFzIGdpdmVuIGluCisg
KiBQcm9wZXJ0eVZhbHVlQWxpYXNlcy50eHQsIG9yIElTTyAxNTkyNCBjb2RlIG9yIGxvY2FsZQor
ICogQHBhcmFtIGZpbGxJbiB0aGUgVVNjcmlwdENvZGUgYnVmZmVyIHRvIGZpbGwgaW4gdGhlIHNj
cmlwdCBjb2RlCisgKiBAcGFyYW0gY2FwYWNpdHkgdGhlIGNhcGFjaXR5IChzaXplKSBmbyBVU2Ny
aXB0Q29kZSBidWZmZXIgcGFzc2VkIGluLgorICogQHBhcmFtIGVyciB0aGUgZXJyb3Igc3RhdHVz
IGNvZGUuCisgKiBAcmV0dXJuIFRoZSBudW1iZXIgb2Ygc2NyaXB0IGNvZGVzIGZpbGxlZCBpbiB0
aGUgYnVmZmVyIHBhc3NlZCBpbiAKKyAqIEBzdGFibGUgSUNVIDIuNAorICovCitVX1NUQUJMRSBp
bnQzMl90ICBVX0VYUE9SVDIgCit1c2NyaXB0X2dldENvZGUoY29uc3QgY2hhciogbmFtZU9yQWJi
ck9yTG9jYWxlLFVTY3JpcHRDb2RlKiBmaWxsSW4saW50MzJfdCBjYXBhY2l0eSxVRXJyb3JDb2Rl
ICplcnIpOworCisvKioKKyAqIEdldHMgYSBzY3JpcHQgbmFtZSBhc3NvY2lhdGVkIHdpdGggdGhl
IGdpdmVuIHNjcmlwdCBjb2RlLiAKKyAqIFJldHVybnMgICJNYWxheWFtIiBnaXZlbiBVU0NSSVBU
X01BTEFZQUxBTQorICogQHBhcmFtIHNjcmlwdENvZGUgVVNjcmlwdENvZGUgZW51bQorICogQHJl
dHVybiBzY3JpcHQgbG9uZyBuYW1lIGFzIGdpdmVuIGluCisgKiBQcm9wZXJ0eVZhbHVlQWxpYXNl
cy50eHQsIG9yIE5VTEwgaWYgc2NyaXB0Q29kZSBpcyBpbnZhbGlkCisgKiBAc3RhYmxlIElDVSAy
LjQKKyAqLworVV9TVEFCTEUgY29uc3QgY2hhciogIFVfRVhQT1JUMiAKK3VzY3JpcHRfZ2V0TmFt
ZShVU2NyaXB0Q29kZSBzY3JpcHRDb2RlKTsKKworLyoqCisgKiBHZXRzIGEgc2NyaXB0IG5hbWUg
YXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBzY3JpcHQgY29kZS4gCisgKiBSZXR1cm5zICAiTWx5
bSIgZ2l2ZW4gVVNDUklQVF9NQUxBWUFMQU0KKyAqIEBwYXJhbSBzY3JpcHRDb2RlIFVTY3JpcHRD
b2RlIGVudW0KKyAqIEByZXR1cm4gc2NyaXB0IGFiYnJldmlhdGVkIG5hbWUgYXMgZ2l2ZW4gaW4K
KyAqIFByb3BlcnR5VmFsdWVBbGlhc2VzLnR4dCwgb3IgTlVMTCBpZiBzY3JpcHRDb2RlIGlzIGlu
dmFsaWQKKyAqIEBzdGFibGUgSUNVIDIuNAorICovCitVX1NUQUJMRSBjb25zdCBjaGFyKiAgVV9F
WFBPUlQyIAordXNjcmlwdF9nZXRTaG9ydE5hbWUoVVNjcmlwdENvZGUgc2NyaXB0Q29kZSk7CisK
Ky8qKiAKKyAqIEdldHMgdGhlIHNjcmlwdCBjb2RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4g
Y29kZXBvaW50LgorICogUmV0dXJucyBVU0NSSVBUX01BTEFZQUxBTSBnaXZlbiAweDBEMDIgCisg
KiBAcGFyYW0gY29kZXBvaW50IFVDaGFyMzIgY29kZXBvaW50CisgKiBAcGFyYW0gZXJyIHRoZSBl
cnJvciBzdGF0dXMgY29kZS4KKyAqIEByZXR1cm4gVGhlIFVTY3JpcHRDb2RlLCBvciAwIGlmIGNv
ZGVwb2ludCBpcyBpbnZhbGlkIAorICogQHN0YWJsZSBJQ1UgMi40CisgKi8KK1VfU1RBQkxFIFVT
Y3JpcHRDb2RlICBVX0VYUE9SVDIgCit1c2NyaXB0X2dldFNjcmlwdChVQ2hhcjMyIGNvZGVwb2lu
dCwgVUVycm9yQ29kZSAqZXJyKTsKKworI2VuZGlmCisKKwoKUHJvcGVydHkgY2hhbmdlcyBvbjog
U291cmNlL0phdmFTY3JpcHRHbHVlL2ljdS91bmljb2RlL3VzY3JpcHQuaApfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFk
ZGVkOiBzdm46ZW9sLXN0eWxlCiAgICsgTEYKCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiA5MDE1
NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDQyIEBACisyMDExLTA2LTMwICBKdW5nc2hpayBTaGluICA8anNoaW5AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCisKKyAgICAgICAgQWxs
b3cgZ2VuZXJpYyBmb250IGZhbWlseSBzZXR0aW5ncyBwZXIgc2NyaXB0IGNvZGUuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDc5NworCisgICAgICAg
IE1ha2UgZ2VuZXJpYyBmb250IGZhbWlseSBnZXR0ZXJzL3NldHRlcnMgYWNjZXB0IGFuIGFkZGl0
aW9uYWwKKyAgICAgICAgYXJndW1lbnQgKHNjcmlwdCBjb2RlKS4gSXQgaGFzIGEgZGVmYXVsdCB2
YWx1ZSBzbyB0aGF0IGlmIGFuIGVtYmVkZGVyCisgICAgICAgIGRvZXMgbm90IGhhdmUvd2FudCBh
IHBlci1zY3JpcHQgZm9udCBmYW1pbHkgc2V0dGluZywgY2FsbC1zaXRlcworICAgICAgICBkb24n
dCBoYXZlIHRvIGJlIGNoYW5nZWQuCisgICAgICAgIFRoaXMgaXMgdG8gcHJlcGFyZSBmb3IgZml4
aW5nIGJ1ZyAxMDg3NCAoZm9udCBzZWxlY3Rpb24gaXMgbm90CisgICAgICAgIGxhbmd1YWdlLWRl
cGVuZGVudCkgYW5kIGJ1ZyAxODA4NS4KKworICAgICAgICB1c2NyaXB0LmggaGFzIGJlZW4gdXBk
YXRlZCB0byB0aGF0IG9mIElDVSAzLjYgKHRoZSB2ZXJzaW9uIG9mIElDVSBvbgorICAgICAgICBN
YWMgT1MgMTAuNSkKKworICAgICAgICBUaGVyZSBzaG91bGQgYmUgbm8gY2hhbmdlIGluIGxheW91
dCBhbmQgbm8gbmV3IGxheW91dCB0ZXN0CisgICAgICAgIGlzIGFkZGVkLgorCisgICAgICAgICog
V2ViQ29yZS5leHAuaW46CisgICAgICAgICogaWN1L3VuaWNvZGUvdXNjcmlwdC5oOiB1cGRhdGVk
IHRvIElDVSA0LjYKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnNldEdlbmVyaWNGb250RmFtaWx5TWFwKTogaGVscGVyIHRvIHNldCBnZW5lcmljIGZhbWls
eSBwZXIgc2NyaXB0CisgICAgICAgIChXZWJDb3JlOjpnZXRHZW5lcmljRm9udEZhbWlseUZvclNj
cmlwdCk6IGhlbHBlciBmdW5jdGlvbiB1c2VkIGJ5IGdldHRlcnMgZm9yIGZvb0ZvbnRGYW1pbHku
CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c3RhbmRhcmRGb250RmFtaWx5KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNldHRpbmdzOjpzZXRTdGFuZGFyZEZvbnRGYW1pbHkpOgorICAgICAgICAo
V2ViQ29yZTo6U2V0dGluZ3M6OmZpeGVkRm9udEZhbWlseSk6CisgICAgICAgIChXZWJDb3JlOjpT
ZXR0aW5nczo6c2V0Rml4ZWRGb250RmFtaWx5KToKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdz
OjpzZXJpZkZvbnRGYW1pbHkpOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldFNlcmlm
Rm9udEZhbWlseSk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2Fuc1NlcmlmRm9udEZh
bWlseSk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0U2Fuc1NlcmlmRm9udEZhbWls
eSk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6Y3Vyc2l2ZUZvbnRGYW1pbHkpOgorICAg
ICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OnNldEN1cnNpdmVGb250RmFtaWx5KToKKyAgICAgICAg
KFdlYkNvcmU6OlNldHRpbmdzOjpmYW50YXN5Rm9udEZhbWlseSk6CisgICAgICAgIChXZWJDb3Jl
OjpTZXR0aW5nczo6c2V0RmFudGFzeUZvbnRGYW1pbHkpOgorICAgICAgICAqIHBhZ2UvU2V0dGlu
Z3MuaDogc2V0dGVyIGFuZCBnZXR0ZXIgZm9yIEZvb0ZvbnRGYW1pbHkgaGF2ZSBhIG5ldyBvcHRp
b25hbCBhcmd1bWVudCwgc2NyaXB0Q29kZS4KKwogMjAxMS0wNi0zMCAgSnVsaWVuIENoYWZmcmFp
eCAgPGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBOaWtvbGFz
IFppbW1lcm1hbm4uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkocmV2aXNpb24gOTAxNTYpCisr
KyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgkod29ya2luZyBjb3B5KQpAQCAtODU5LDIy
ICs4NTksMjIgQEAgX19aTjdXZWJDb3JlOFNldHRpbmdzMTZzZXRVc2VzUGFnZUNhY2hlRQogX19a
TjdXZWJDb3JlOFNldHRpbmdzMTdzZXRQbHVnaW5zRW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0
dGluZ3MxOHNldERPTVBhc3RlQWxsb3dlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldERl
ZmF1bHRGb250U2l6ZUVpCi1fX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldEZpeGVkRm9udEZhbWls
eUVSS04zV1RGMTJBdG9taWNTdHJpbmdFCitfX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldEZpeGVk
Rm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFMTFVU2NyaXB0Q29kZQogX19aTjdXZWJD
b3JlOFNldHRpbmdzMThzZXRNaW5pbXVtRm9udFNpemVFaQotX19aTjdXZWJDb3JlOFNldHRpbmdz
MThzZXRTZXJpZkZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5nRQorX19aTjdXZWJDb3Jl
OFNldHRpbmdzMThzZXRTZXJpZkZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5nRTExVVNj
cmlwdENvZGUKIF9fWk43V2ViQ29yZThTZXR0aW5nczE4c2V0V2ViQXVkaW9FbmFibGVkRWIKIF9f
Wk43V2ViQ29yZThTZXR0aW5nczE5bWluRE9NVGltZXJJbnRlcnZhbEV2CiBfX1pON1dlYkNvcmU4
U2V0dGluZ3MxOXNldFNob3dEZWJ1Z0JvcmRlcnNFYgotX19aTjdXZWJDb3JlOFNldHRpbmdzMjBz
ZXRDdXJzaXZlRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFCi1fX1pON1dlYkNvcmU4
U2V0dGluZ3MyMHNldEZhbnRhc3lGb250RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0UKK19f
Wk43V2ViQ29yZThTZXR0aW5nczIwc2V0Q3Vyc2l2ZUZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWlj
U3RyaW5nRTExVVNjcmlwdENvZGUKK19fWk43V2ViQ29yZThTZXR0aW5nczIwc2V0RmFudGFzeUZv
bnRGYW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5nRTExVVNjcmlwdENvZGUKIF9fWk43V2ViQ29y
ZThTZXR0aW5nczIwc2V0SmF2YVNjcmlwdEVuYWJsZWRFYgogX19aTjdXZWJDb3JlOFNldHRpbmdz
MjBzZXRYU1NBdWRpdG9yRW5hYmxlZEViCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMXNldFNob3dS
ZXBhaW50Q291bnRlckViCi1fX1pON1dlYkNvcmU4U2V0dGluZ3MyMXNldFN0YW5kYXJkRm9udEZh
bWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFCitfX1pON1dlYkNvcmU4U2V0dGluZ3MyMXNldFN0
YW5kYXJkRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFMTFVU2NyaXB0Q29kZQogX19a
TjdXZWJDb3JlOFNldHRpbmdzMjFzZXRXZWJTZWN1cml0eUVuYWJsZWRFYgogX19aTjdXZWJDb3Jl
OFNldHRpbmdzMjJzZXRMb2NhbFN0b3JhZ2VFbmFibGVkRWIKIF9fWk43V2ViQ29yZThTZXR0aW5n
czIyc2V0TWluRE9NVGltZXJJbnRlcnZhbEVkCi1fX1pON1dlYkNvcmU4U2V0dGluZ3MyMnNldFNh
bnNTZXJpZkZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5nRQorX19aTjdXZWJDb3JlOFNl
dHRpbmdzMjJzZXRTYW5zU2VyaWZGb250RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0UxMVVT
Y3JpcHRDb2RlCiBfX1pON1dlYkNvcmU4U2V0dGluZ3MyMnNldFNlc3Npb25TdG9yYWdlUXVvdGFF
agogX19aTjdXZWJDb3JlOFNldHRpbmdzMjJzZXRTaG93c1VSTHNJblRvb2xUaXBzRWIKIF9fWk43
V2ViQ29yZThTZXR0aW5nczIzc2V0RGVmYXVsdEZpeGVkRm9udFNpemVFaQpJbmRleDogU291cmNl
L1dlYkNvcmUvaWN1L3VuaWNvZGUvdXNjcmlwdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2ljdS91bmljb2RlL3VzY3JpcHQuaAkocmV2aXNpb24gOTAxNTYpCisrKyBTb3VyY2UvV2Vi
Q29yZS9pY3UvdW5pY29kZS91c2NyaXB0LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw2IEBA
CiAvKgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKgotKiAgIENvcHlyaWdodCAoQykgMTk5Ny0yMDA0LCBJbnRlcm5h
dGlvbmFsIEJ1c2luZXNzIE1hY2hpbmVzCisqICAgQ29weXJpZ2h0IChDKSAxOTk3LTIwMDYsIElu
dGVybmF0aW9uYWwgQnVzaW5lc3MgTWFjaGluZXMKICogICBDb3Jwb3JhdGlvbiBhbmQgb3RoZXJz
LiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICoKQEAgLTE3LDcgKzE3LDI4
IEBACiAjaW5jbHVkZSAidW5pY29kZS91dHlwZXMuaCIKIAogLyoqCi0gKiBDb25zdGFudHMgZm9y
IFVuaWNvZGUgc2NyaXB0IHZhbHVlcyBmcm9tIFNjcmlwdE5hbWVzLnR4dCAuCisgKiBcZmlsZQor
ICogXGJyaWVmIEMgQVBJOiBVbmljb2RlIFNjcmlwdCBJbmZvcm1hdGlvbgorICovCisgCisvKioK
KyAqIENvbnN0YW50cyBmb3IgSVNPIDE1OTI0IHNjcmlwdCBjb2Rlcy4KKyAqCisgKiBNYW55IG9m
IHRoZXNlIHNjcmlwdCBjb2RlcyAtIHRob3NlIGZyb20gVW5pY29kZSdzIFNjcmlwdE5hbWVzLnR4
dCAtCisgKiBhcmUgY2hhcmFjdGVyIHByb3BlcnR5IHZhbHVlcyBmb3IgVW5pY29kZSdzIFNjcmlw
dCBwcm9wZXJ0eS4KKyAqIFNlZSBVQVggIzI0IFNjcmlwdCBOYW1lcyAoaHR0cDovL3d3dy51bmlj
b2RlLm9yZy9yZXBvcnRzL3RyMjQvKS4KKyAqCisgKiBTdGFydGluZyB3aXRoIElDVSAzLjYsIGNv
bnN0YW50cyBmb3IgbW9zdCBJU08gMTU5MjQgc2NyaXB0IGNvZGVzCisgKiBhcmUgaW5jbHVkZWQg
KGN1cnJlbnRseSBleGNsdWRpbmcgcHJpdmF0ZS11c2UgY29kZXMgUWFhYS4uUWFieCkuCisgKiBG
b3Igc2NyaXB0cyBmb3Igd2hpY2ggdGhlcmUgYXJlIGNvZGVzIGluIElTTyAxNTkyNCBidXQgd2hp
Y2ggYXJlIG5vdAorICogdXNlZCBpbiB0aGUgVW5pY29kZSBDaGFyYWN0ZXIgRGF0YWJhc2UgKFVD
RCksIHRoZXJlIGFyZSBubyBVbmljb2RlIGNoYXJhY3RlcnMKKyAqIGFzc29jaWF0ZWQgd2l0aCB0
aG9zZSBzY3JpcHRzLgorICoKKyAqIEZvciBleGFtcGxlLCB0aGVyZSBhcmUgbm8gY2hhcmFjdGVy
cyB0aGF0IGhhdmUgYSBVQ0Qgc2NyaXB0IGNvZGUgb2YKKyAqIEhhbnMgb3IgSGFudC4gQWxsIEhh
biBpZGVvZ3JhcGhzIGhhdmUgdGhlIEhhbmkgc2NyaXB0IGNvZGUuCisgKiBUaGUgSGFucyBhbmQg
SGFudCBzY3JpcHQgY29kZXMgYXJlIHVzZWQgd2l0aCBDTERSIGRhdGEuCisgKgorICogSVNPIDE1
OTI0IHNjcmlwdCBjb2RlcyBhcmUgaW5jbHVkZWQgZm9yIHVzZSB3aXRoIENMRFIgYW5kIHNpbWls
YXIuCiAgKgogICogQHN0YWJsZSBJQ1UgMi4yCiAgKi8KQEAgLTMxLDExICs1MiwxMSBAQCB0eXBl
ZGVmIGVudW0gVVNjcmlwdENvZGUgewogICAgICAgVVNDUklQVF9CT1BPTU9GTyAgICAgPSAgNSwg
IC8qIEJvcG8gKi8KICAgICAgIFVTQ1JJUFRfQ0hFUk9LRUUgICAgID0gIDYsICAvKiBDaGVyICov
CiAgICAgICBVU0NSSVBUX0NPUFRJQyAgICAgICA9ICA3LCAgLyogQ29wdCAqLwotICAgICAgVVND
UklQVF9DWVJJTExJQyAgICAgPSAgOCwgIC8qIEN5cmwgKEN5cnMpICovCisgICAgICBVU0NSSVBU
X0NZUklMTElDICAgICA9ICA4LCAgLyogQ3lybCAqLwogICAgICAgVVNDUklQVF9ERVNFUkVUICAg
ICAgPSAgOSwgIC8qIERzcnQgKi8KICAgICAgIFVTQ1JJUFRfREVWQU5BR0FSSSAgID0gMTAsICAv
KiBEZXZhICovCiAgICAgICBVU0NSSVBUX0VUSElPUElDICAgICA9IDExLCAgLyogRXRoaSAqLwot
ICAgICAgVVNDUklQVF9HRU9SR0lBTiAgICAgPSAxMiwgIC8qIEdlb3IgKEdlb24sIEdlb2EpICov
CisgICAgICBVU0NSSVBUX0dFT1JHSUFOICAgICA9IDEyLCAgLyogR2VvciAqLwogICAgICAgVVND
UklQVF9HT1RISUMgICAgICAgPSAxMywgIC8qIEdvdGggKi8KICAgICAgIFVTQ1JJUFRfR1JFRUsg
ICAgICAgID0gMTQsICAvKiBHcmVrICovCiAgICAgICBVU0NSSVBUX0dVSkFSQVRJICAgICA9IDE1
LCAgLyogR3VqciAqLwpAQCAtNDgsNyArNjksNyBAQCB0eXBlZGVmIGVudW0gVVNjcmlwdENvZGUg
ewogICAgICAgVVNDUklQVF9LQVRBS0FOQSAgICAgPSAyMiwgIC8qIEthbmEgKi8KICAgICAgIFVT
Q1JJUFRfS0hNRVIgICAgICAgID0gMjMsICAvKiBLaG1yICovCiAgICAgICBVU0NSSVBUX0xBTyAg
ICAgICAgICA9IDI0LCAgLyogTGFvbyAqLwotICAgICAgVVNDUklQVF9MQVRJTiAgICAgICAgPSAy
NSwgIC8qIExhdG4gKExhdGYsIExhdGcpICovCisgICAgICBVU0NSSVBUX0xBVElOICAgICAgICA9
IDI1LCAgLyogTGF0biAqLwogICAgICAgVVNDUklQVF9NQUxBWUFMQU0gICAgPSAyNiwgIC8qIE1s
eW0gKi8KICAgICAgIFVTQ1JJUFRfTU9OR09MSUFOICAgID0gMjcsICAvKiBNb25nICovCiAgICAg
ICBVU0NSSVBUX01ZQU5NQVIgICAgICA9IDI4LCAgLyogTXltciAqLwpAQCAtNTcsNyArNzgsNyBA
QCB0eXBlZGVmIGVudW0gVVNjcmlwdENvZGUgewogICAgICAgVVNDUklQVF9PUklZQSAgICAgICAg
PSAzMSwgIC8qIE9yeWEgKi8KICAgICAgIFVTQ1JJUFRfUlVOSUMgICAgICAgID0gMzIsICAvKiBS
dW5yICovCiAgICAgICBVU0NSSVBUX1NJTkhBTEEgICAgICA9IDMzLCAgLyogU2luaCAqLwotICAg
ICAgVVNDUklQVF9TWVJJQUMgICAgICAgPSAzNCwgIC8qIFN5cmMgKFN5cmosIFN5cm4sIFN5cmUp
ICovCisgICAgICBVU0NSSVBUX1NZUklBQyAgICAgICA9IDM0LCAgLyogU3lyYyAqLwogICAgICAg
VVNDUklQVF9UQU1JTCAgICAgICAgPSAzNSwgIC8qIFRhbWwgKi8KICAgICAgIFVTQ1JJUFRfVEVM
VUdVICAgICAgID0gMzYsICAvKiBUZWx1ICovCiAgICAgICBVU0NSSVBUX1RIQUFOQSAgICAgICA9
IDM3LCAgLyogVGhhYSAqLwpAQCAtNzQsMTkgKzk1LDc0IEBAIHR5cGVkZWYgZW51bSBVU2NyaXB0
Q29kZSB7CiAgICAgICBVU0NSSVBUX1RBR0JBTldBICAgICA9IDQ1LCAgLyogVGFnYiAqLwogCiAg
ICAgICAvKiBOZXcgc2NyaXB0cyBpbiBVbmljb2RlIDQgQHN0YWJsZSBJQ1UgMi42ICovCi0gICAg
ICBVU0NSSVBUX0JSQUlMTEUsICAgICAgICAgICAgLyogQnJhaSAqLwotICAgICAgVVNDUklQVF9D
WVBSSU9ULCAgICAgICAgICAgIC8qIENwcnQgKi8KLSAgICAgIFVTQ1JJUFRfTElNQlUsICAgICAg
ICAgICAgICAvKiBMaW1iICovCi0gICAgICBVU0NSSVBUX0xJTkVBUl9CLCAgICAgICAgICAgLyog
TGluYiAqLwotICAgICAgVVNDUklQVF9PU01BTllBLCAgICAgICAgICAgIC8qIE9zbWEgKi8KLSAg
ICAgIFVTQ1JJUFRfU0hBVklBTiwgICAgICAgICAgICAvKiBTaGF3ICovCi0gICAgICBVU0NSSVBU
X1RBSV9MRSwgICAgICAgICAgICAgLyogVGFsZSAqLwotICAgICAgVVNDUklQVF9VR0FSSVRJQywg
ICAgICAgICAgIC8qIFVnYXIgKi8KLQotICAgICAgLyoqIE5ldyBzY3JpcHQgY29kZSBpbiBVbmlj
b2RlIDQuMC4xIEBkcmFmdCBJQ1UgMy4wICovCi0gICAgICBVU0NSSVBUX0tBVEFLQU5BX09SX0hJ
UkFHQU5BLC8qSHJrdCAqLwotCi0gICAgICBVU0NSSVBUX0NPREVfTElNSVQKKyAgICAgIFVTQ1JJ
UFRfQlJBSUxMRSAgICAgID0gNDYsICAvKiBCcmFpICovCisgICAgICBVU0NSSVBUX0NZUFJJT1Qg
ICAgICA9IDQ3LCAgLyogQ3BydCAqLworICAgICAgVVNDUklQVF9MSU1CVSAgICAgICAgPSA0OCwg
IC8qIExpbWIgKi8KKyAgICAgIFVTQ1JJUFRfTElORUFSX0IgICAgID0gNDksICAvKiBMaW5iICov
CisgICAgICBVU0NSSVBUX09TTUFOWUEgICAgICA9IDUwLCAgLyogT3NtYSAqLworICAgICAgVVND
UklQVF9TSEFWSUFOICAgICAgPSA1MSwgIC8qIFNoYXcgKi8KKyAgICAgIFVTQ1JJUFRfVEFJX0xF
ICAgICAgID0gNTIsICAvKiBUYWxlICovCisgICAgICBVU0NSSVBUX1VHQVJJVElDICAgICA9IDUz
LCAgLyogVWdhciAqLworCisgICAgICAvKiogTmV3IHNjcmlwdCBjb2RlIGluIFVuaWNvZGUgNC4w
LjEgQHN0YWJsZSBJQ1UgMy4wICovCisgICAgICBVU0NSSVBUX0tBVEFLQU5BX09SX0hJUkFHQU5B
ID0gNTQsLypIcmt0ICovCisgICAgICAKKyNpZm5kZWYgVV9ISURFX0RSQUZUX0FQSQorICAgICAg
LyogTmV3IHNjcmlwdHMgaW4gVW5pY29kZSA0LjEgQGRyYWZ0IElDVSAzLjQgKi8KKyAgICAgIFVT
Q1JJUFRfQlVHSU5FU0UgICAgICA9IDU1LCAvKiBCdWdpICovCisgICAgICBVU0NSSVBUX0dMQUdP
TElUSUMgICAgPSA1NiwgLyogR2xhZyAqLworICAgICAgVVNDUklQVF9LSEFST1NIVEhJICAgID0g
NTcsIC8qIEtoYXIgKi8KKyAgICAgIFVTQ1JJUFRfU1lMT1RJX05BR1JJICA9IDU4LCAvKiBTeWxv
ICovCisgICAgICBVU0NSSVBUX05FV19UQUlfTFVFICAgPSA1OSwgLyogVGFsdSAqLworICAgICAg
VVNDUklQVF9USUZJTkFHSCAgICAgID0gNjAsIC8qIFRmbmcgKi8KKyAgICAgIFVTQ1JJUFRfT0xE
X1BFUlNJQU4gICA9IDYxLCAvKiBYcGVvICovCisKKyAgICAgIC8qIE5ldyBzY3JpcHQgY29kZXMg
ZnJvbSBJU08gMTU5MjQgQGRyYWZ0IElDVSAzLjYgKi8KKyAgICAgIFVTQ1JJUFRfQkFMSU5FU0Ug
ICAgICAgICAgICAgICAgICAgICAgPSA2MiwgLyogQmFsaSAqLworICAgICAgVVNDUklQVF9CQVRB
SyAgICAgICAgICAgICAgICAgICAgICAgICA9IDYzLCAvKiBCYXRrICovCisgICAgICBVU0NSSVBU
X0JMSVNTWU1CT0xTICAgICAgICAgICAgICAgICAgID0gNjQsIC8qIEJsaXMgKi8KKyAgICAgIFVT
Q1JJUFRfQlJBSE1JICAgICAgICAgICAgICAgICAgICAgICAgPSA2NSwgLyogQnJhaCAqLworICAg
ICAgVVNDUklQVF9DSEFNICAgICAgICAgICAgICAgICAgICAgICAgICA9IDY2LCAvKiBDaGFtICov
CisgICAgICBVU0NSSVBUX0NJUlRIICAgICAgICAgICAgICAgICAgICAgICAgID0gNjcsIC8qIENp
cnQgKi8KKyAgICAgIFVTQ1JJUFRfT0xEX0NIVVJDSF9TTEFWT05JQ19DWVJJTExJQyAgPSA2OCwg
LyogQ3lycyAqLworICAgICAgVVNDUklQVF9ERU1PVElDX0VHWVBUSUFOICAgICAgICAgICAgICA9
IDY5LCAvKiBFZ3lkICovCisgICAgICBVU0NSSVBUX0hJRVJBVElDX0VHWVBUSUFOICAgICAgICAg
ICAgID0gNzAsIC8qIEVneWggKi8KKyAgICAgIFVTQ1JJUFRfRUdZUFRJQU5fSElFUk9HTFlQSFMg
ICAgICAgICAgPSA3MSwgLyogRWd5cCAqLworICAgICAgVVNDUklQVF9LSFVUU1VSSSAgICAgICAg
ICAgICAgICAgICAgICA9IDcyLCAvKiBHZW9rICovCisgICAgICBVU0NSSVBUX1NJTVBMSUZJRURf
SEFOICAgICAgICAgICAgICAgID0gNzMsIC8qIEhhbnMgKi8KKyAgICAgIFVTQ1JJUFRfVFJBRElU
SU9OQUxfSEFOICAgICAgICAgICAgICAgPSA3NCwgLyogSGFudCAqLworICAgICAgVVNDUklQVF9Q
QUhBV0hfSE1PTkcgICAgICAgICAgICAgICAgICA9IDc1LCAvKiBIbW5nICovCisgICAgICBVU0NS
SVBUX09MRF9IVU5HQVJJQU4gICAgICAgICAgICAgICAgID0gNzYsIC8qIEh1bmcgKi8KKyAgICAg
IFVTQ1JJUFRfSEFSQVBQQU5fSU5EVVMgICAgICAgICAgICAgICAgPSA3NywgLyogSW5kcyAqLwor
ICAgICAgVVNDUklQVF9KQVZBTkVTRSAgICAgICAgICAgICAgICAgICAgICA9IDc4LCAvKiBKYXZh
ICovCisgICAgICBVU0NSSVBUX0tBWUFIX0xJICAgICAgICAgICAgICAgICAgICAgID0gNzksIC8q
IEthbGkgKi8KKyAgICAgIFVTQ1JJUFRfTEFUSU5fRlJBS1RVUiAgICAgICAgICAgICAgICAgPSA4
MCwgLyogTGF0ZiAqLworICAgICAgVVNDUklQVF9MQVRJTl9HQUVMSUMgICAgICAgICAgICAgICAg
ICA9IDgxLCAvKiBMYXRnICovCisgICAgICBVU0NSSVBUX0xFUENIQSAgICAgICAgICAgICAgICAg
ICAgICAgID0gODIsIC8qIExlcGMgKi8KKyAgICAgIFVTQ1JJUFRfTElORUFSX0EgICAgICAgICAg
ICAgICAgICAgICAgPSA4MywgLyogTGluYSAqLworICAgICAgVVNDUklQVF9NQU5EQUVBTiAgICAg
ICAgICAgICAgICAgICAgICA9IDg0LCAvKiBNYW5kICovCisgICAgICBVU0NSSVBUX01BWUFOX0hJ
RVJPR0xZUEhTICAgICAgICAgICAgID0gODUsIC8qIE1heWEgKi8KKyAgICAgIFVTQ1JJUFRfTUVS
T0lUSUMgICAgICAgICAgICAgICAgICAgICAgPSA4NiwgLyogTWVybyAqLworICAgICAgVVNDUklQ
VF9OS08gICAgICAgICAgICAgICAgICAgICAgICAgICA9IDg3LCAvKiBOa29vICovCisgICAgICBV
U0NSSVBUX09SS0hPTiAgICAgICAgICAgICAgICAgICAgICAgID0gODgsIC8qIE9ya2ggKi8KKyAg
ICAgIFVTQ1JJUFRfT0xEX1BFUk1JQyAgICAgICAgICAgICAgICAgICAgPSA4OSwgLyogUGVybSAq
LworICAgICAgVVNDUklQVF9QSEFHU19QQSAgICAgICAgICAgICAgICAgICAgICA9IDkwLCAvKiBQ
aGFnICovCisgICAgICBVU0NSSVBUX1BIT0VOSUNJQU4gICAgICAgICAgICAgICAgICAgID0gOTEs
IC8qIFBobnggKi8KKyAgICAgIFVTQ1JJUFRfUEhPTkVUSUNfUE9MTEFSRCAgICAgICAgICAgICAg
PSA5MiwgLyogUGxyZCAqLworICAgICAgVVNDUklQVF9ST05HT1JPTkdPICAgICAgICAgICAgICAg
ICAgICA9IDkzLCAvKiBSb3JvICovCisgICAgICBVU0NSSVBUX1NBUkFUSSAgICAgICAgICAgICAg
ICAgICAgICAgID0gOTQsIC8qIFNhcmEgKi8KKyAgICAgIFVTQ1JJUFRfRVNUUkFOR0VMT19TWVJJ
QUMgICAgICAgICAgICAgPSA5NSwgLyogU3lyZSAqLworICAgICAgVVNDUklQVF9XRVNURVJOX1NZ
UklBQyAgICAgICAgICAgICAgICA9IDk2LCAvKiBTeXJqICovCisgICAgICBVU0NSSVBUX0VBU1RF
Uk5fU1lSSUFDICAgICAgICAgICAgICAgID0gOTcsIC8qIFN5cm4gKi8KKyAgICAgIFVTQ1JJUFRf
VEVOR1dBUiAgICAgICAgICAgICAgICAgICAgICAgPSA5OCwgLyogVGVuZyAqLworICAgICAgVVND
UklQVF9WQUkgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDk5LCAvKiBWYWlpICovCisgICAg
ICBVU0NSSVBUX1ZJU0lCTEVfU1BFRUNIICAgICAgICAgICAgICAgID0gMTAwLCAvKiBWaXNwICov
CisgICAgICBVU0NSSVBUX0NVTkVJRk9STSAgICAgICAgICAgICAgICAgICAgID0gMTAxLC8qIFhz
dXggKi8KKyAgICAgIFVTQ1JJUFRfVU5XUklUVEVOX0xBTkdVQUdFUyAgICAgICAgICAgPSAxMDIs
LyogWnh4eCAqLworICAgICAgVVNDUklQVF9VTktOT1dOICAgICAgICAgICAgICAgICAgICAgICA9
IDEwMywvKiBaenp6ICovIC8qIFVua25vd249IkNvZGUgZm9yIHVuY29kZWQgc2NyaXB0IiwgZm9y
IHVuYXNzaWduZWQgY29kZSBwb2ludHMgKi8KKyAgICAgIC8qIFByaXZhdGUgdXNlIGNvZGVzIGZy
b20gUWFhYSAtIFFhYnggYXJlIG5vdCBzdXBwb3J0ZWQqLworI2VuZGlmIC8qIFVfSElERV9EUkFG
VF9BUEkgKi8KKyAgICAgIFVTQ1JJUFRfQ09ERV9MSU1JVCAgICA9IDEwNAogfSBVU2NyaXB0Q29k
ZTsKIAogLyoqCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkocmV2aXNpb24gOTAxNTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NTIsNiArNTIsMjMgQEAgc3RhdGljIHZvaWQgc2V0TG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5SQog
ICAgICAgICBmcmFtZS0+ZG9jdW1lbnQoKS0+Y2FjaGVkUmVzb3VyY2VMb2FkZXIoKS0+c2V0QXV0
b0xvYWRJbWFnZXMocGFnZS0+c2V0dGluZ3MoKS0+bG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5KCkp
OwogfQogCitzdGF0aWMgaW5saW5lIHZvaWQgc2V0R2VuZXJpY0ZvbnRGYW1pbHlNYXAoU2NyaXB0
Rm9udEZhbWlseU1hcCYgZm9udE1hcCwgY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIFVTY3Jp
cHRDb2RlIHNjcmlwdCwgUGFnZSogcGFnZSkKK3sKKyAgICBTY3JpcHRGb250RmFtaWx5TWFwOjpp
dGVyYXRvciBpdCA9IGZvbnRNYXAuZmluZChzdGF0aWNfY2FzdDxpbnQ+KHNjcmlwdCkpOworICAg
IGlmIChpdCAhPSBmb250TWFwLmVuZCgpICYmIGl0LT5zZWNvbmQgPT0gZmFtaWx5KQorICAgICAg
ICByZXR1cm47CisgICAgZm9udE1hcC5zZXQoc3RhdGljX2Nhc3Q8aW50PihzY3JpcHQpLCBmYW1p
bHkpOworICAgIHBhZ2UtPnNldE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcygpOworfQorCitz
dGF0aWMgaW5saW5lIGNvbnN0IEF0b21pY1N0cmluZyYgZ2V0R2VuZXJpY0ZvbnRGYW1pbHlGb3JT
Y3JpcHQoY29uc3QgU2NyaXB0Rm9udEZhbWlseU1hcCYgZm9udE1hcCwgVVNjcmlwdENvZGUgc2Ny
aXB0KQoreworICAgIFNjcmlwdEZvbnRGYW1pbHlNYXA6OmNvbnN0X2l0ZXJhdG9yIGl0ID0gZm9u
dE1hcC5maW5kKHN0YXRpY19jYXN0PGludD4oc2NyaXB0KSk7CisgICAgaWYgKGl0ICE9IGZvbnRN
YXAuZW5kKCkpCisgICAgICAgIHJldHVybiBpdC0+c2Vjb25kOworICAgIHJldHVybiBlbXB0eUF0
b207Cit9CisKICNpZiBVU0UoU0FGQVJJX1RIRU1FKQogYm9vbCBTZXR0aW5nczo6Z1Nob3VsZFBh
aW50TmF0aXZlQ29udHJvbHMgPSB0cnVlOwogI2VuZGlmCkBAIC0xOTUsNTggKzIxMiw2NCBAQCBT
ZXR0aW5nczo6U2V0dGluZ3MoUGFnZSogcGFnZSkKICAgICBBdG9taWNTdHJpbmc6OmluaXQoKTsK
IH0KIAotdm9pZCBTZXR0aW5nczo6c2V0U3RhbmRhcmRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0
cmluZyYgc3RhbmRhcmRGb250RmFtaWx5KQorY29uc3QgQXRvbWljU3RyaW5nJiBTZXR0aW5nczo6
c3RhbmRhcmRGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKIHsKLSAgICBpZiAo
c3RhbmRhcmRGb250RmFtaWx5ID09IG1fc3RhbmRhcmRGb250RmFtaWx5KQotICAgICAgICByZXR1
cm47CisgICAgcmV0dXJuIGdldEdlbmVyaWNGb250RmFtaWx5Rm9yU2NyaXB0KG1fc3RhbmRhcmRG
b250RmFtaWx5TWFwLCBzY3JpcHQpOworfQogCi0gICAgbV9zdGFuZGFyZEZvbnRGYW1pbHkgPSBz
dGFuZGFyZEZvbnRGYW1pbHk7Ci0gICAgbV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxG
cmFtZXMoKTsKK3ZvaWQgU2V0dGluZ3M6OnNldFN0YW5kYXJkRm9udEZhbWlseShjb25zdCBBdG9t
aWNTdHJpbmcmIGZhbWlseSwgVVNjcmlwdENvZGUgc2NyaXB0KQoreworICAgIHNldEdlbmVyaWNG
b250RmFtaWx5TWFwKG1fc3RhbmRhcmRGb250RmFtaWx5TWFwLCBmYW1pbHksIHNjcmlwdCwgbV9w
YWdlKTsKIH0KIAotdm9pZCBTZXR0aW5nczo6c2V0Rml4ZWRGb250RmFtaWx5KGNvbnN0IEF0b21p
Y1N0cmluZyYgZml4ZWRGb250RmFtaWx5KQorY29uc3QgQXRvbWljU3RyaW5nJiBTZXR0aW5nczo6
Zml4ZWRGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKIHsKLSAgICBpZiAobV9m
aXhlZEZvbnRGYW1pbHkgPT0gZml4ZWRGb250RmFtaWx5KQotICAgICAgICByZXR1cm47Ci0gICAg
ICAgIAotICAgIG1fZml4ZWRGb250RmFtaWx5ID0gZml4ZWRGb250RmFtaWx5OwotICAgIG1fcGFn
ZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzKCk7CisgICAgcmV0dXJuIGdldEdlbmVy
aWNGb250RmFtaWx5Rm9yU2NyaXB0KG1fZml4ZWRGb250RmFtaWx5TWFwLCBzY3JpcHQpOwogfQog
Ci12b2lkIFNldHRpbmdzOjpzZXRTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBz
ZXJpZkZvbnRGYW1pbHkpCit2b2lkIFNldHRpbmdzOjpzZXRGaXhlZEZvbnRGYW1pbHkoY29uc3Qg
QXRvbWljU3RyaW5nJiBmYW1pbHksIFVTY3JpcHRDb2RlIHNjcmlwdCkKIHsKLSAgICBpZiAobV9z
ZXJpZkZvbnRGYW1pbHkgPT0gc2VyaWZGb250RmFtaWx5KQotICAgICAgICByZXR1cm47Ci0gICAg
ICAgIAotICAgIG1fc2VyaWZGb250RmFtaWx5ID0gc2VyaWZGb250RmFtaWx5OwotICAgIG1fcGFn
ZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzKCk7CisgICAgc2V0R2VuZXJpY0ZvbnRG
YW1pbHlNYXAobV9maXhlZEZvbnRGYW1pbHlNYXAsIGZhbWlseSwgc2NyaXB0LCBtX3BhZ2UpOwog
fQogCi12b2lkIFNldHRpbmdzOjpzZXRTYW5zU2VyaWZGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0
cmluZyYgc2Fuc1NlcmlmRm9udEZhbWlseSkKK2NvbnN0IEF0b21pY1N0cmluZyYgU2V0dGluZ3M6
OnNlcmlmRm9udEZhbWlseShVU2NyaXB0Q29kZSBzY3JpcHQpIGNvbnN0CiB7Ci0gICAgaWYgKG1f
c2Fuc1NlcmlmRm9udEZhbWlseSA9PSBzYW5zU2VyaWZGb250RmFtaWx5KQotICAgICAgICByZXR1
cm47Ci0gICAgICAgIAotICAgIG1fc2Fuc1NlcmlmRm9udEZhbWlseSA9IHNhbnNTZXJpZkZvbnRG
YW1pbHk7IAotICAgIG1fcGFnZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzKCk7Cisg
ICAgcmV0dXJuIGdldEdlbmVyaWNGb250RmFtaWx5Rm9yU2NyaXB0KG1fc2VyaWZGb250RmFtaWx5
TWFwLCBzY3JpcHQpOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRDdXJzaXZlRm9udEZhbWlseShj
b25zdCBBdG9taWNTdHJpbmcmIGN1cnNpdmVGb250RmFtaWx5KQordm9pZCBTZXR0aW5nczo6c2V0
U2VyaWZGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5LCBVU2NyaXB0Q29kZSBz
Y3JpcHQpCiB7Ci0gICAgaWYgKG1fY3Vyc2l2ZUZvbnRGYW1pbHkgPT0gY3Vyc2l2ZUZvbnRGYW1p
bHkpCi0gICAgICAgIHJldHVybjsKLSAgICAgICAgCi0gICAgbV9jdXJzaXZlRm9udEZhbWlseSA9
IGN1cnNpdmVGb250RmFtaWx5OwotICAgIG1fcGFnZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxs
RnJhbWVzKCk7CisgICAgIHNldEdlbmVyaWNGb250RmFtaWx5TWFwKG1fc2VyaWZGb250RmFtaWx5
TWFwLCBmYW1pbHksIHNjcmlwdCwgbV9wYWdlKTsKIH0KIAotdm9pZCBTZXR0aW5nczo6c2V0RmFu
dGFzeUZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW50YXN5Rm9udEZhbWlseSkKK2Nv
bnN0IEF0b21pY1N0cmluZyYgU2V0dGluZ3M6OnNhbnNTZXJpZkZvbnRGYW1pbHkoVVNjcmlwdENv
ZGUgc2NyaXB0KSBjb25zdAogewotICAgIGlmIChtX2ZhbnRhc3lGb250RmFtaWx5ID09IGZhbnRh
c3lGb250RmFtaWx5KQotICAgICAgICByZXR1cm47Ci0gICAgICAgIAotICAgIG1fZmFudGFzeUZv
bnRGYW1pbHkgPSBmYW50YXN5Rm9udEZhbWlseTsKLSAgICBtX3BhZ2UtPnNldE5lZWRzUmVjYWxj
U3R5bGVJbkFsbEZyYW1lcygpOworICAgIHJldHVybiBnZXRHZW5lcmljRm9udEZhbWlseUZvclNj
cmlwdChtX3NhbnNTZXJpZkZvbnRGYW1pbHlNYXAsIHNjcmlwdCk7Cit9CisKK3ZvaWQgU2V0dGlu
Z3M6OnNldFNhbnNTZXJpZkZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIFVT
Y3JpcHRDb2RlIHNjcmlwdCkKK3sKKyAgICBzZXRHZW5lcmljRm9udEZhbWlseU1hcChtX3NhbnNT
ZXJpZkZvbnRGYW1pbHlNYXAsIGZhbWlseSwgc2NyaXB0LCBtX3BhZ2UpOworfQorCitjb25zdCBB
dG9taWNTdHJpbmcmIFNldHRpbmdzOjpjdXJzaXZlRm9udEZhbWlseShVU2NyaXB0Q29kZSBzY3Jp
cHQpIGNvbnN0Cit7CisgICAgcmV0dXJuIGdldEdlbmVyaWNGb250RmFtaWx5Rm9yU2NyaXB0KG1f
Y3Vyc2l2ZUZvbnRGYW1pbHlNYXAsIHNjcmlwdCk7Cit9CisKK3ZvaWQgU2V0dGluZ3M6OnNldEN1
cnNpdmVGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgZmFtaWx5LCBVU2NyaXB0Q29kZSBz
Y3JpcHQpCit7CisgICAgc2V0R2VuZXJpY0ZvbnRGYW1pbHlNYXAobV9jdXJzaXZlRm9udEZhbWls
eU1hcCwgZmFtaWx5LCBzY3JpcHQsIG1fcGFnZSk7Cit9CisKK2NvbnN0IEF0b21pY1N0cmluZyYg
U2V0dGluZ3M6OmZhbnRhc3lGb250RmFtaWx5KFVTY3JpcHRDb2RlIHNjcmlwdCkgY29uc3QKK3sK
KyAgICByZXR1cm4gZ2V0R2VuZXJpY0ZvbnRGYW1pbHlGb3JTY3JpcHQobV9mYW50YXN5Rm9udEZh
bWlseU1hcCwgc2NyaXB0KTsKK30KKwordm9pZCBTZXR0aW5nczo6c2V0RmFudGFzeUZvbnRGYW1p
bHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIFVTY3JpcHRDb2RlIHNjcmlwdCkKK3sKKyAg
ICBzZXRHZW5lcmljRm9udEZhbWlseU1hcChtX2ZhbnRhc3lGb250RmFtaWx5TWFwLCBmYW1pbHks
IHNjcmlwdCwgbV9wYWdlKTsKIH0KIAogdm9pZCBTZXR0aW5nczo6c2V0TWluaW11bUZvbnRTaXpl
KGludCBtaW5pbXVtRm9udFNpemUpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCShyZXZpc2lv
biA5MDE1NikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAkod29ya2luZyBjb3B5
KQpAQCAtMzEsNyArMzEsMTAgQEAKICNpbmNsdWRlICJGb250UmVuZGVyaW5nTW9kZS5oIgogI2lu
Y2x1ZGUgIktVUkwuaCIKICNpbmNsdWRlICJUaW1lci5oIgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3RyaW5nLmg+CisjaW5jbHVkZSA8d3RmL3Rl
eHQvQXRvbWljU3RyaW5nSGFzaC5oPgorI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01MSwyOCArNTQsMzkgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBUZXh0RGlyZWN0aW9uU3VibWVudUFsd2F5c0luY2x1ZGVkCiAgICAg
fTsKIAorICAgIC8vIFVTY3JpcHRDb2RlIHVzZXMgLTEgYW5kIDAgZm9yIFVTY3JpcHRJbnZhbGlk
Q29kZSBhbmQgVVNjcmlwdENvbW1vbi4KKyAgICAvLyBXZSBuZWVkIHRvIHVzZSAtMiBhbmQgLTMg
Zm9yIGVtcHR5IHZhbHVlIGFuZCBkZWxldGVkIHZhbHVlLgorICAgIHN0cnVjdCBVU2NyaXB0Q29k
ZUhhc2hUcmFpdHMgOiBXVEY6OkdlbmVyaWNIYXNoVHJhaXRzPGludD4geworICAgICAgICBzdGF0
aWMgY29uc3QgYm9vbCBlbXB0eVZhbHVlSXNaZXJvID0gZmFsc2U7CisgICAgICAgIHN0YXRpYyBp
bnQgZW1wdHlWYWx1ZSgpIHsgcmV0dXJuIC0yOyB9CisgICAgICAgIHN0YXRpYyB2b2lkIGNvbnN0
cnVjdERlbGV0ZWRWYWx1ZShpbnQmIHNsb3QpIHsgc2xvdCA9IC0zOyB9CisgICAgICAgIHN0YXRp
YyBib29sIGlzRGVsZXRlZFZhbHVlKGludCB2YWx1ZSkgeyByZXR1cm4gdmFsdWUgPT0gLTM7IH0K
KyAgICB9OworCisgICAgdHlwZWRlZiBIYXNoTWFwPGludCwgQXRvbWljU3RyaW5nLCBEZWZhdWx0
SGFzaDxpbnQ+OjpIYXNoLCBVU2NyaXB0Q29kZUhhc2hUcmFpdHM+IFNjcmlwdEZvbnRGYW1pbHlN
YXA7CisKICAgICBjbGFzcyBTZXR0aW5ncyB7CiAgICAgICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFNldHRpbmdzKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHVibGljOgogICAgICAg
ICBTZXR0aW5ncyhQYWdlKik7CiAKLSAgICAgICAgdm9pZCBzZXRTdGFuZGFyZEZvbnRGYW1pbHko
Y29uc3QgQXRvbWljU3RyaW5nJik7Ci0gICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgc3RhbmRh
cmRGb250RmFtaWx5KCkgY29uc3QgeyByZXR1cm4gbV9zdGFuZGFyZEZvbnRGYW1pbHk7IH0KKyAg
ICAgICAgdm9pZCBzZXRTdGFuZGFyZEZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiwgVVNj
cmlwdENvZGUgPSBVU0NSSVBUX0NPTU1PTik7CisgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYg
c3RhbmRhcmRGb250RmFtaWx5KFVTY3JpcHRDb2RlID0gVVNDUklQVF9DT01NT04pIGNvbnN0Owog
Ci0gICAgICAgIHZvaWQgc2V0Rml4ZWRGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYpOwot
ICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGZpeGVkRm9udEZhbWlseSgpIGNvbnN0IHsgcmV0
dXJuIG1fZml4ZWRGb250RmFtaWx5OyB9CisgICAgICAgIHZvaWQgc2V0Rml4ZWRGb250RmFtaWx5
KGNvbnN0IEF0b21pY1N0cmluZyYsIFVTY3JpcHRDb2RlID0gVVNDUklQVF9DT01NT04pOworICAg
ICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGZpeGVkRm9udEZhbWlseShVU2NyaXB0Q29kZSA9IFVT
Q1JJUFRfQ09NTU9OKSBjb25zdDsKIAotICAgICAgICB2b2lkIHNldFNlcmlmRm9udEZhbWlseShj
b25zdCBBdG9taWNTdHJpbmcmKTsKLSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBzZXJpZkZv
bnRGYW1pbHkoKSBjb25zdCB7IHJldHVybiBtX3NlcmlmRm9udEZhbWlseTsgfQorICAgICAgICB2
b2lkIHNldFNlcmlmRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmLCBVU2NyaXB0Q29kZSA9
IFVTQ1JJUFRfQ09NTU9OKTsKKyAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBzZXJpZkZvbnRG
YW1pbHkoVVNjcmlwdENvZGUgPSBVU0NSSVBUX0NPTU1PTikgY29uc3Q7CiAKLSAgICAgICAgdm9p
ZCBzZXRTYW5zU2VyaWZGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYpOwotICAgICAgICBj
b25zdCBBdG9taWNTdHJpbmcmIHNhbnNTZXJpZkZvbnRGYW1pbHkoKSBjb25zdCB7IHJldHVybiBt
X3NhbnNTZXJpZkZvbnRGYW1pbHk7IH0KKyAgICAgICAgdm9pZCBzZXRTYW5zU2VyaWZGb250RmFt
aWx5KGNvbnN0IEF0b21pY1N0cmluZyYsIFVTY3JpcHRDb2RlID0gVVNDUklQVF9DT01NT04pOwor
ICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHNhbnNTZXJpZkZvbnRGYW1pbHkoVVNjcmlwdENv
ZGUgPSBVU0NSSVBUX0NPTU1PTikgY29uc3Q7CiAKLSAgICAgICAgdm9pZCBzZXRDdXJzaXZlRm9u
dEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcmKTsKLSAgICAgICAgY29uc3QgQXRvbWljU3RyaW5n
JiBjdXJzaXZlRm9udEZhbWlseSgpIGNvbnN0IHsgcmV0dXJuIG1fY3Vyc2l2ZUZvbnRGYW1pbHk7
IH0KKyAgICAgICAgdm9pZCBzZXRDdXJzaXZlRm9udEZhbWlseShjb25zdCBBdG9taWNTdHJpbmcm
LCBVU2NyaXB0Q29kZSA9IFVTQ1JJUFRfQ09NTU9OKTsKKyAgICAgICAgY29uc3QgQXRvbWljU3Ry
aW5nJiBjdXJzaXZlRm9udEZhbWlseShVU2NyaXB0Q29kZSA9IFVTQ1JJUFRfQ09NTU9OKSBjb25z
dDsKIAotICAgICAgICB2b2lkIHNldEZhbnRhc3lGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmlu
ZyYpOwotICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGZhbnRhc3lGb250RmFtaWx5KCkgY29u
c3QgeyByZXR1cm4gbV9mYW50YXN5Rm9udEZhbWlseTsgfQorICAgICAgICB2b2lkIHNldEZhbnRh
c3lGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYsIFVTY3JpcHRDb2RlID0gVVNDUklQVF9D
T01NT04pOworICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGZhbnRhc3lGb250RmFtaWx5KFVT
Y3JpcHRDb2RlID0gVVNDUklQVF9DT01NT04pIGNvbnN0OwogCiAgICAgICAgIHZvaWQgc2V0TWlu
aW11bUZvbnRTaXplKGludCk7CiAgICAgICAgIGludCBtaW5pbXVtRm9udFNpemUoKSBjb25zdCB7
IHJldHVybiBtX21pbmltdW1Gb250U2l6ZTsgfQpAQCAtNDI1LDEyICs0MzksMTIgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICBTdHJpbmcgbV9mdHBEaXJlY3RvcnlUZW1wbGF0ZVBhdGg7
CiAgICAgICAgIFN0cmluZyBtX2xvY2FsU3RvcmFnZURhdGFiYXNlUGF0aDsKICAgICAgICAgS1VS
TCBtX3VzZXJTdHlsZVNoZWV0TG9jYXRpb247Ci0gICAgICAgIEF0b21pY1N0cmluZyBtX3N0YW5k
YXJkRm9udEZhbWlseTsKLSAgICAgICAgQXRvbWljU3RyaW5nIG1fZml4ZWRGb250RmFtaWx5Owot
ICAgICAgICBBdG9taWNTdHJpbmcgbV9zZXJpZkZvbnRGYW1pbHk7Ci0gICAgICAgIEF0b21pY1N0
cmluZyBtX3NhbnNTZXJpZkZvbnRGYW1pbHk7Ci0gICAgICAgIEF0b21pY1N0cmluZyBtX2N1cnNp
dmVGb250RmFtaWx5OwotICAgICAgICBBdG9taWNTdHJpbmcgbV9mYW50YXN5Rm9udEZhbWlseTsK
KyAgICAgICAgU2NyaXB0Rm9udEZhbWlseU1hcCBtX3N0YW5kYXJkRm9udEZhbWlseU1hcDsKKyAg
ICAgICAgU2NyaXB0Rm9udEZhbWlseU1hcCBtX3NlcmlmRm9udEZhbWlseU1hcDsKKyAgICAgICAg
U2NyaXB0Rm9udEZhbWlseU1hcCBtX2ZpeGVkRm9udEZhbWlseU1hcDsKKyAgICAgICAgU2NyaXB0
Rm9udEZhbWlseU1hcCBtX3NhbnNTZXJpZkZvbnRGYW1pbHlNYXA7CisgICAgICAgIFNjcmlwdEZv
bnRGYW1pbHlNYXAgbV9jdXJzaXZlRm9udEZhbWlseU1hcDsKKyAgICAgICAgU2NyaXB0Rm9udEZh
bWlseU1hcCBtX2ZhbnRhc3lGb250RmFtaWx5TWFwOwogICAgICAgICBFZGl0YWJsZUxpbmtCZWhh
dmlvciBtX2VkaXRhYmxlTGlua0JlaGF2aW9yOwogICAgICAgICBUZXh0RGlyZWN0aW9uU3VibWVu
dUluY2x1c2lvbkJlaGF2aW9yIG1fdGV4dERpcmVjdGlvblN1Ym1lbnVJbmNsdXNpb25CZWhhdmlv
cjsKICAgICAgICAgaW50IG1fbWluaW11bUZvbnRTaXplOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>