<?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>29158</bug_id>
          
          <creation_ts>2009-09-10 15:45:58 -0700</creation_ts>
          <short_desc>Basic MathML CSS and DOM Support for Rendering</short_desc>
          <delta_ts>2009-09-19 11:09:23 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.5</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>29143</dependson>
    
    <dependson>29349</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Alex Milowski">alex</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>hyatt</cc>
    
    <cc>krit</cc>
    
    <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>146375</commentid>
    <comment_count>0</comment_count>
      <attachid>39389</attachid>
    <who name="Alex Milowski">alex</who>
    <bug_when>2009-09-10 15:45:58 -0700</bug_when>
    <thetext>Created attachment 39389
Patch to add CSS and MathML DOM support

This patch adds basic support for MathML by adding the CSS stylesheet based on the element being identified as a MathML element.  A simple set of DOM classes has been added that provide the isMathMLElement() method returning &apos;true&apos;.

The CSS stylesheet is simple and setup to work with the coming rendering code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146378</commentid>
    <comment_count>1</comment_count>
      <attachid>39390</attachid>
    <who name="Alex Milowski">alex</who>
    <bug_when>2009-09-10 15:53:12 -0700</bug_when>
    <thetext>Created attachment 39390
Updated patch with change to the ordering in WebCore/Configuration/FeatureDefines.xconfig</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146427</commentid>
    <comment_count>2</comment_count>
      <attachid>39402</attachid>
    <who name="Alex Milowski">alex</who>
    <bug_when>2009-09-10 18:09:15 -0700</bug_when>
    <thetext>Created attachment 39402
Updated patch with synchronized FeatureDefines.xcconfig

This patch also contains style conformance tweaks to the code.  It also affects the FeatureDefines.xcconfig in JavaScriptCore and WebKit/mac/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146461</commentid>
    <comment_count>3</comment_count>
      <attachid>39402</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-09-10 22:34:49 -0700</bug_when>
    <thetext>Comment on attachment 39402
Updated patch with synchronized FeatureDefines.xcconfig

&gt; Index: JavaScriptCore/Configurations/FeatureDefines.xcconfig
&gt; ===================================================================
&gt; --- JavaScriptCore/Configurations/FeatureDefines.xcconfig	(revision 48273)
&gt; +++ JavaScriptCore/Configurations/FeatureDefines.xcconfig	(working copy)
&gt; @@ -44,6 +44,7 @@ ENABLE_FILTERS = ;
&gt;  ENABLE_GEOLOCATION = ;
&gt;  ENABLE_ICONDATABASE = ENABLE_ICONDATABASE;
&gt;  ENABLE_JAVASCRIPT_DEBUGGER = ENABLE_JAVASCRIPT_DEBUGGER;
&gt; +ENABLE_MATHML = ENABLE_MATHML;

I think it is best for MathML to be disabled by default until the implementation is more complete and tested.


&gt; Index: WebCore/WebCore.xcodeproj/project.pbxproj
&gt; ===================================================================
&gt; --- WebCore/WebCore.xcodeproj/project.pbxproj	(revision 48273)
&gt; +++ WebCore/WebCore.xcodeproj/project.pbxproj	(working copy)
&gt; @@ -17900,6 +17938,7 @@
&gt;  				85136CA80AED665900F90A3D /* westResizeCursor.png in Resources */,
&gt;  				1AB1AE7A0C051FDE00139F4F /* zoomInCursor.png in Resources */,
&gt;  				1AB1AE7B0C051FDE00139F4F /* zoomOutCursor.png in Resources */,
&gt; +				FABE72FA1059C1EB00D999DD /* mathtags.in in Resources */,
&gt;  			);
&gt;  			runOnlyForDeploymentPostprocessing = 0;
&gt;  		};

mathtags.in shouldn&apos;t be in the Copy Bundle Resources build phase.  That would result in mathtags.in being placed inside WebCore.framework which wouldn&apos;t serve any useful purpose.

&gt; Index: WebCore/css/CSSStyleSelector.cpp
&gt; ===================================================================
&gt; --- WebCore/css/CSSStyleSelector.cpp	(revision 48273)
&gt; +++ WebCore/css/CSSStyleSelector.cpp	(working copy)
&gt; @@ -1139,6 +1139,17 @@ PassRefPtr&lt;RenderStyle&gt; CSSStyleSelector
&gt;      }
&gt;  #endif
&gt;  
&gt; +#if ENABLE(MATHML)
&gt; +    static bool loadedMathMLUserAgentSheet;
&gt; +    if (e-&gt;isMathMLElement() &amp;&amp; !loadedMathMLUserAgentSheet) {
&gt; +        // MathML rules.
&gt; +        loadedMathMLUserAgentSheet = true;
&gt; +        CSSStyleSheet* mathmlSheet = parseUASheet(mathmlUserAgentStyleSheet, sizeof(mathmlUserAgentStyleSheet));
&gt; +        defaultStyle-&gt;addRulesFromSheet(mathmlSheet, screenEval());
&gt; +        defaultPrintStyle-&gt;addRulesFromSheet(mathmlSheet, printEval());
&gt; +    }
&gt; +#endif

There&apos;s a bit of inconsistency in naming style here, and in other places.  In some places the ML is uppercase and in others it is lowercase.  It seems to me that it should be consistently uppercase.


&gt; Index: WebCore/mathml/MathMLElement.cpp
&gt; ===================================================================
&gt; --- WebCore/mathml/MathMLElement.cpp	(revision 0)
&gt; +++ WebCore/mathml/MathMLElement.cpp	(revision 0)
&gt; @@ -0,0 +1,59 @@
&gt; +/*
&gt; + *  MathMLElement.cpp
&gt; + *  WebCore
&gt; + *
&gt; + *  Copyright (C) 2009 Alex Milowski (alex@milowski.com).
&gt; + *
&gt; + 
&gt; + 
&gt; + This file is part of the WebKit project
&gt; + 
&gt; + This library is free software; you can redistribute it and/or
&gt; + modify it under the terms of the GNU Library General Public
&gt; + License as published by the Free Software Foundation; either
&gt; + version 2 of the License, or (at your option) any later version.
&gt; + 
&gt; + This library is distributed in the hope that it will be useful,
&gt; + but WITHOUT ANY WARRANTY; without even the implied warranty of
&gt; + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
&gt; + Library General Public License for more details.
&gt; + 
&gt; + You should have received a copy of the GNU Library General Public License
&gt; + along with this library; see the file COPYING.LIB.  If not, write to
&gt; + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
&gt; + Boston, MA 02110-1301, USA.
&gt; + 
&gt; + 
&gt; + */

This license header block is formatted a little strangely.  Can we format it consistently with other files, here and in other places?

&gt; +
&gt; +#include &quot;config.h&quot;
&gt; +
&gt; +#if ENABLE(MATHML)
&gt; +
&gt; +#include &quot;RenderObject.h&quot;
&gt; +#include &quot;MathMLElement.h&quot;
&gt; +#include &quot;MathMLNames.h&quot;

Our style is to include the header corresponding to the .cpp file first, followed by a blank line, then the remaining includes in alphabetical order.  We love alphabetical order!


Sorry for the nit-picky comments focused on style.  I&apos;m not going to mark the patch r- so as to not deter any reviewers that want to focus on the substance of the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146546</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Milowski">alex</who>
    <bug_when>2009-09-11 07:12:59 -0700</bug_when>
    <thetext>In terms of consistency of the term &quot;MathML&quot; translated into variable names, MathML is not all uppercase as an acronym.  Thus, when I translate it to a class name it becomes:

   MathMLElement

When I use it as a variable name and it starts at the beginning, the first &apos;M&apos; is lowercased, so we
get:

   mathMLSomething

I realized the style guide says acronyms like &quot;HTML&quot; or &quot;XML&quot; should be all upper case but
they are also upper case to begin with.

MATHML  looks strange to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146548</commentid>
    <comment_count>5</comment_count>
    <who name="Alex Milowski">alex</who>
    <bug_when>2009-09-11 07:20:36 -0700</bug_when>
    <thetext>It is really odd that mathtags.in ended up being referenced in the &quot;Copy Bundled Resources&quot; task.  I certainly don&apos;t remember adding it there at all.  Is there something I should be aware of in XCode projects that might put it there automatically?

...easy to fix but I like to avoid that kind of thing in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146567</commentid>
    <comment_count>6</comment_count>
    <who name="Alex Milowski">alex</who>
    <bug_when>2009-09-11 08:18:03 -0700</bug_when>
    <thetext>From the list:

&apos;MathML is a word &quot;math&quot; plus an acronym ML (markup language), so MathML seems like an appropriate casing.&apos;

I would still need to adjust the code a bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146928</commentid>
    <comment_count>7</comment_count>
      <attachid>39515</attachid>
    <who name="Alex Milowski">alex</who>
    <bug_when>2009-09-12 08:07:14 -0700</bug_when>
    <thetext>Created attachment 39515
Updated patch with fixes from previous review

In checking with the style guide and the list, MathML is a &quot;word + acronym&quot; and should be &quot;MathML&quot; or &quot;mathML&quot; where used.  The stylesheet variable generated for user agent stylesheets is automatically named &quot;mathmlUserAgentStyleSheet&quot; and does not follow the style properly (i.e. mathMLUserAgentStyleSheet) but I can&apos;t really change that as it would affect SVG and other user agent style related code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147051</commentid>
    <comment_count>8</comment_count>
    <who name="Alex Milowski">alex</who>
    <bug_when>2009-09-14 07:24:00 -0700</bug_when>
    <thetext>You really need the build script toggle to be able to build the code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147442</commentid>
    <comment_count>9</comment_count>
      <attachid>39627</attachid>
    <who name="Alex Milowski">alex</who>
    <bug_when>2009-09-15 18:18:06 -0700</bug_when>
    <thetext>Created attachment 39627
Updated patch excluding build script changes already applied in 29143</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147935</commentid>
    <comment_count>10</comment_count>
      <attachid>39627</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-09-17 14:00:46 -0700</bug_when>
    <thetext>Comment on attachment 39627
Updated patch excluding build script changes already applied in 29143

I think the places that mention &quot;New Times Roman&quot; should be &quot;Times New Roman&quot; instead. Also, this patch is lacking test cases. It should include some basic LayoutTests (even if future patches will update the results). Those are the only problems I see. Please revise and resubmit. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147949</commentid>
    <comment_count>11</comment_count>
      <attachid>39728</attachid>
    <who name="Alex Milowski">alex</who>
    <bug_when>2009-09-17 14:54:44 -0700</bug_when>
    <thetext>Created attachment 39728
Fix for CSS font name and added layout tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147955</commentid>
    <comment_count>12</comment_count>
    <who name="Alex Milowski">alex</who>
    <bug_when>2009-09-17 15:28:53 -0700</bug_when>
    <thetext>This patch now requires a test for mathml support in the run-webkit-tests script found in 29349</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148002</commentid>
    <comment_count>13</comment_count>
      <attachid>39728</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-09-17 18:43:16 -0700</bug_when>
    <thetext>Comment on attachment 39728
Fix for CSS font name and added layout tests

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148331</commentid>
    <comment_count>14</comment_count>
      <attachid>39728</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-09-18 13:07:01 -0700</bug_when>
    <thetext>Comment on attachment 39728
Fix for CSS font name and added layout tests

Rejecting patch 39728 from commit-queue.

Patch https://bugs.webkit.org/attachment.cgi?id=39728 from bug 29158 failed to download and apply.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148335</commentid>
    <comment_count>15</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-18 13:08:28 -0700</bug_when>
    <thetext>3 out of 7 hunks FAILED -- saving rejects to file WebCore/WebCore.xcodeproj/project.pbxproj.rej

Looks like the project file is out of date.  We&apos;ll need a new patch if you want this committed via the commit-queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148434</commentid>
    <comment_count>16</comment_count>
      <attachid>39802</attachid>
    <who name="Alex Milowski">alex</who>
    <bug_when>2009-09-18 15:58:31 -0700</bug_when>
    <thetext>Created attachment 39802
Updated patch to fix conflicts</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148435</commentid>
    <comment_count>17</comment_count>
      <attachid>39802</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-09-18 15:59:47 -0700</bug_when>
    <thetext>Comment on attachment 39802
Updated patch to fix conflicts

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148511</commentid>
    <comment_count>18</comment_count>
      <attachid>39802</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-09-19 11:02:43 -0700</bug_when>
    <thetext>Comment on attachment 39802
Updated patch to fix conflicts

Clearing flags on attachment: 39802

Committed r48559: &lt;http://trac.webkit.org/changeset/48559&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148512</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-09-19 11:02:49 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>148515</commentid>
    <comment_count>20</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-19 11:09:23 -0700</bug_when>
    <thetext>The bots have been red for the last 17 hours, which is why this was so slow to land:
http://webkit-commit-queue.appspot.com/</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39389</attachid>
            <date>2009-09-10 15:45:58 -0700</date>
            <delta_ts>2009-09-10 15:53:12 -0700</delta_ts>
            <desc>Patch to add CSS and MathML DOM support</desc>
            <filename>WebKit-mathml-css.patch</filename>
            <type>text/plain</type>
            <size>33232</size>
            <attacher name="Alex Milowski">alex</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODI2OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsODAgQEAKKzIwMDktMDktMTAgIEFsZXggTWlsb3dza2kgIDxhbGV4QG1pbG93c2tp
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRzIENTUyBzdHlsaW5nIGFuZCBiYXNpYyBET00gZWxlbWVudCBzdXBwb3J0IGZvciBNYXRoTUwK
KworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCisg
ICAgICAgICAgQWRkZWQgRU5BQkxFX01BVEhNTCB0byBmZWF0dXJlcworICAgICAgICAgIAorICAg
ICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisKKyAgICAgICAgICBBZGRlZCB1c2VyIHN0eWxl
c2hlZXQgYW5kIHRhZyBmYWN0b3J5IGdlbmVyYXRpb24KKworICAgICAgICAqIFdlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKworICAgICAgICAgIEFkZGVkIG5ldyBET00gZWxlbWVu
dCBjb2RlCisKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1BhcnNlcjo6cGFyc2VBdHRyKToKKworICAgICAgICAgIEFkZGVkIGNoZWNrIGZvciBkb2N1
bWVudCBzaW5jZSBzdHlsZXNoZWV0IGNhbiBiZSBhZGRlZCBiZWZvcmUgdGhlcmUgaXMgYSBkb2N1
bWVudAorCisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6c3R5bGVGb3JFbGVtZW50KToKKworICAgICAgICAgIEFk
ZGVkIGNoZWNrIHRvIGFkZCBNYXRoTUwgdXNlciBhZ2VudCBzdHlsZXNoZWV0CisKKyAgICAgICAg
KiBjc3MvbWF0aG1sLmNzczogQWRkZWQuCisKKyAgICAgICAgICBNYXRoTUwgdXNlciBhZ2VudCBz
dHlsZXNoZWV0CisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnQ6OmNyZWF0ZUVsZW1lbnQpOgorCisgICAgICAgICAgQWRkZWQgc3VwcG9ydCBm
b3IgY3JlYXRpb24gb2YgTWF0aE1MIERPTSBvYmplY3RzCisKKyAgICAgICAgKiBkb20vTm9kZS5o
OgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6aXNNYXRoTUxFbGVtZW50KToKKworICAgICAgICAg
IEFkZGVkIGNoZWNrIG1ldGhvZCBmb3Igd2hldGhlciB0aGUgbm9kZSBpcyBhIE1hdGhNTCBub2Rl
CisKKyAgICAgICAgKiBtYXRobWw6IEFkZGVkLgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxFbGVt
ZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxFbGVtZW50OjpNYXRoTUxF
bGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTEVsZW1lbnQ6OmNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpNYXRoTUxFbGVtZW50OjpjcmVhdGVSZW5kZXJlcik6CisgICAgICAgICog
bWF0aG1sL01hdGhNTEVsZW1lbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxF
bGVtZW50Ojppc01hdGhNTEVsZW1lbnQpOgorCisgICAgICAgICAgTWF0aE1MIERPTSBiYXNlIGNs
YXNzCisKKworICAgICAgICAqIG1hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50
OjpNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhN
TElubGluZUNvbnRhaW5lckVsZW1lbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNYXRo
TUxJbmxpbmVDb250YWluZXJFbGVtZW50OjpjcmVhdGVSZW5kZXJlcik6CisgICAgICAgICogbWF0
aG1sL01hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaDogQWRkZWQuCisKKyAgICAgICAgICBC
YXNlIGNsYXNzIGZvciBub24tdGV4dCBjb250YWluZXJzCisKKyAgICAgICAgKiBtYXRobWwvTWF0
aE1MTWF0aEVsZW1lbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTE1hdGhF
bGVtZW50OjpNYXRoTUxNYXRoRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxNYXRo
RWxlbWVudDo6Y3JlYXRlKToKKyAgICAgICAgKiBtYXRobWwvTWF0aE1MTWF0aEVsZW1lbnQuaDog
QWRkZWQuCisgCisgICAgICAgICAgUm9vdCBNYXRoIGVsZW1lbnQKKyAgICAgICAgIAorICAgICAg
ICAqIG1hdGhtbC9tYXRodGFncy5pbjogQWRkZWQuCisKKyAgICAgICAgICBFbGVtZW50IGxpc3Qg
bWFwcGluZ3MKKworICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWU6OkZyYW1lKToKKworICAgICAgICAgIEFkZGVkIE1hdGhNTCBuYW1lIGluaXRpYWxpemF0
aW9uCisKIDIwMDktMDktMTAgIEFsYmVydCBKLiBXb25nICA8YWp3b25nQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBObyByZXZpZXcsIHdpbmRvd3MgYnVpbGQgZml4IG9ubHkuCkluZGV4OiBXZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlCShyZXZpc2lvbiA0ODI2OSkKKysrIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQkod29ya2luZyBjb3B5KQpAQCAtNDQyLDYgKzQ0Miw4IEBAIGFsbCA6IFwKICAgICBVc2VyQWdl
bnRTdHlsZVNoZWV0cy5oIFwKICAgICBYTGlua05hbWVzLmNwcCBcCiAgICAgWE1MTmFtZXMuY3Bw
IFwKKyAgICBNYXRoTUxFbGVtZW50RmFjdG9yeS5jcHAgXAorICAgIE1hdGhNTE5hbWVzLmNwcCBc
CiAgICAgWFBhdGhHcmFtbWFyLmNwcCBcCiAgICAgdG9rZW5pemVyLmNwcCBcCiAjCkBAIC01NjUs
NiArNTY3LDEwIEBAIGlmZXEgKCQoZmluZHN0cmluZyBFTkFCTEVfV01MLCQoRkVBVFVSRV8KICAg
ICBVU0VSX0FHRU5UX1NUWUxFX1NIRUVUUyA6PSAkKFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTKSAk
KFdlYkNvcmUpL2Nzcy93bWwuY3NzCiBlbmRpZgogCitpZmVxICgkKGZpbmRzdHJpbmcgRU5BQkxF
X01BVEhNTCwkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfTUFUSE1MKQorICAgIFVTRVJfQUdF
TlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMpICQoV2ViQ29yZSkv
Y3NzL21hdGhtbC5jc3MKK2VuZGlmCisKIGlmZXEgKCQoZmluZHN0cmluZyBFTkFCTEVfVklERU8s
JChGRUFUVVJFX0RFRklORVMpKSwgRU5BQkxFX1ZJREVPKQogICAgIFVTRVJfQUdFTlRfU1RZTEVf
U0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMpICQoV2ViQ29yZSkvY3NzL21lZGlh
Q29udHJvbHMuY3NzCiBpZmVxICgkKE9TKSxNQUNPUykKQEAgLTcwNiw2ICs3MTIsMjYgQEAgV01M
TmFtZXMuY3BwIDoKIAogZW5kaWYKIAorIyAtLS0tLS0tLQorIAorIyBNYXRoTUwgdGFnIGFuZCBh
dHRyaWJ1dGUgbmFtZXMsIGFuZCBlbGVtZW50IGZhY3RvcnkKKworaWZlcSAoJChmaW5kc3RyaW5n
IEVOQUJMRV9NQVRITUwsJChGRUFUVVJFX0RFRklORVMpKSwgRU5BQkxFX01BVEhNTCkKKworTWF0
aE1MRWxlbWVudEZhY3RvcnkuY3BwIE1hdGhNTE5hbWVzLmNwcCA6IGRvbS9tYWtlX25hbWVzLnBs
IG1hdGhtbC9tYXRodGFncy5pbgorCXBlcmwgLUkgJChXZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRz
ICQ8IC0tdGFncyAkKFdlYkNvcmUpL21hdGhtbC9tYXRodGFncy5pbiAtLWZhY3RvcnkgLS13cmFw
cGVyRmFjdG9yeQorCitlbHNlCisKK01hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCA6CisJZWNobyA+
ICRACisKK01hdGhNTE5hbWVzLmNwcCA6CisJZWNobyA+ICRACisKK2VuZGlmCisKKwogCiAjIC0t
LS0tLS0tCiAKSW5kZXg6IFdlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwkocmV2aXNpb24gNDgyNjkpCisrKyBXZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC01OCw4ICs1OCw5IEBAIEVO
QUJMRV9TVkdfVVNFID0gRU5BQkxFX1NWR19VU0U7CiBFTkFCTEVfVklERU8gPSBFTkFCTEVfVklE
RU87CiBFTkFCTEVfV0VCX1NPQ0tFVFMgPSBFTkFCTEVfV0VCX1NPQ0tFVFM7CiBFTkFCTEVfV01M
ID0gOworRU5BQkxFX01BVEhNTCA9IEVOQUJMRV9NQVRITUw7CiBFTkFCTEVfV09SS0VSUyA9IEVO
QUJMRV9XT1JLRVJTOwogRU5BQkxFX1hQQVRIID0gRU5BQkxFX1hQQVRIOwogRU5BQkxFX1hTTFQg
PSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfQ0FOVkFTKSAk
KEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9EQVRBQkFTRSkgJChFTkFCTEVfREFUQUdSSUQpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJM
RV9ET01fU1RPUkFHRSkgJChFTkFCTEVfRVZFTlRTT1VSQ0UpICQoRU5BQkxFX0ZJTFRFUlMpICQo
RU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0pBVkFT
Q1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRkxJTkVf
V0VCX0FQUExJQ0FUSU9OUykgJChFTkFCTEVfUlVCWSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMp
ICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0FOSU1BVElPTikgJChFTkFCTEVfU1ZHX0FTX0lN
QUdFKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKSAkKEVOQUJMRV9TVkdfVVNFKSAkKEVOQUJMRV9W
SURFTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dNTCkgJChFTkFCTEVfV09SS0VS
UykgJChFTkFCTEVfWFBBVEgpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChF
TkFCTEVfM0RfQ0FOVkFTKSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0NIQU5ORUxf
TUVTU0FHSU5HKSAkKEVOQUJMRV9EQVRBQkFTRSkgJChFTkFCTEVfREFUQUdSSUQpICQoRU5BQkxF
X0RBVEFMSVNUKSAkKEVOQUJMRV9ET01fU1RPUkFHRSkgJChFTkFCTEVfRVZFTlRTT1VSQ0UpICQo
RU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJB
U0UpICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX05PVElGSUNBVElPTlMp
ICQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJChFTkFCTEVfUlVCWSkgJChFTkFC
TEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0FOSU1BVElPTikg
JChFTkFCTEVfU1ZHX0FTX0lNQUdFKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQo
RU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKSAkKEVOQUJMRV9T
VkdfVVNFKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dN
TCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YUEFUSCkgJChF
TkFCTEVfWFNMVCk7CkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkocmV2aXNpb24gNDgyNjkpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNDY4MSw2ICs0NjgxLDE1IEBACiAJCUY5MTZD
NDhEMERCNTEwRjgwMDc2Q0Q4MyAvKiBKU1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGOTE2QzQ4QjBE
QjUxMEY4MDA3NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuY3BwICovOyB9
OwogCQlGOTE2QzQ4RTBEQjUxMEY4MDA3NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNz
RXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY5
MTZDNDhDMERCNTEwRjgwMDc2Q0Q4MyAvKiBKU1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5o
ICovOyB9OwogCQlGOUYwRUQ3QTBEQjUwQ0EyMDBEMTZEQjkgLyogWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGOUYwRUQ3NzBEQjUwQ0EyMDBEMTZEQjkgLyogWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50
LmggKi87IH07CisJCUZBQTY2Nzg4MTA1OUI1MDkwMDAyRjZCMiAvKiBNYXRoTUxNYXRoRWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQUE2
Njc4NjEwNTlCNTA5MDAwMkY2QjIgLyogTWF0aE1MTWF0aEVsZW1lbnQuY3BwICovOyB9OworCQlG
QUE2Njc4OTEwNTlCNTA5MDAwMkY2QjIgLyogTWF0aE1MTWF0aEVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZBQTY2Nzg3MTA1OUI1MDkwMDAy
RjZCMiAvKiBNYXRoTUxNYXRoRWxlbWVudC5oICovOyB9OworCQlGQUE4RThEOTEwNTlCMzRDMDA1
NkRDOUYgLyogTWF0aE1MRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGQUE4RThENDEwNTlCMzRDMDA1NkRDOUYgLyogTWF0aE1MRWxlbWVu
dC5jcHAgKi87IH07CisJCUZBQThFOERBMTA1OUIzNEMwMDU2REM5RiAvKiBNYXRoTUxFbGVtZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQUE4RThE
NTEwNTlCMzRDMDA1NkRDOUYgLyogTWF0aE1MRWxlbWVudC5oICovOyB9OworCQlGQUE4RThEQjEw
NTlCMzRDMDA1NkRDOUYgLyogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQUE4RThENjEwNTlCMzRD
MDA1NkRDOUYgLyogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAgKi87IH07CisJCUZB
QThFOERDMTA1OUIzNEMwMDU2REM5RiAvKiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQUE4RThENzEw
NTlCMzRDMDA1NkRDOUYgLyogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5oICovOyB9Owor
CQlGQUE4RThERDEwNTlCMzRDMDA1NkRDOUYgLyogbWF0aHRhZ3MuaW4gaW4gUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZBQThFOEQ4MTA1OUIzNEMwMDU2REM5
RiAvKiBtYXRodGFncy5pbiAqLzsgfTsKKwkJRkFBOEU4RTkxMDU5QjQxNjAwNTZEQzlGIC8qIE1h
dGhNTEVsZW1lbnRGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEZBQThFOEU3MTA1OUI0MTYwMDU2REM5RiAvKiBNYXRoTUxFbGVtZW50RmFj
dG9yeS5jcHAgKi87IH07CisJCUZBQThFOEVBMTA1OUI0MTYwMDU2REM5RiAvKiBNYXRoTUxOYW1l
cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQUE4
RThFODEwNTlCNDE2MDA1NkRDOUYgLyogTWF0aE1MTmFtZXMuY3BwICovOyB9OwogCQlGRTZGRDQ4
ODBGNjc2RTU3MDAwOTI4NzMgLyogQ29vcmRpbmF0ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFNkZENDg1MEY2NzZFNTcwMDA5Mjg3MyAvKiBDb29y
ZGluYXRlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUZFNkZENDhEMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZFNkZENDhCMEY2NzZFOTMw
MDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVzLmNwcCAqLzsgfTsKIAkJRkU2RkQ0OEUwRjY3NkU5MzAw
MDkyODczIC8qIEpTQ29vcmRpbmF0ZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEZFNkZENDhDMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nvb3JkaW5hdGVz
LmggKi87IH07CkBAIC05ODA4LDYgKzk4MTcsMTUgQEAKIAkJRjkxNkM0OEMwREI1MTBGODAwNzZD
RDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlGOUYwRUQ3NzBEQjUwQ0EyMDBEMTZEQjkgLyogWE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRjlGMEVENzgwREI1MENBMjAwRDE2REI5IC8qIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NF
dmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZBQTY2Nzg2MTA1OUI1MDkw
MDAyRjZCMiAvKiBNYXRoTUxNYXRoRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBNYXRoTUxNYXRoRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUZBQTY2Nzg3MTA1OUI1MDkwMDAyRjZCMiAvKiBNYXRoTUxNYXRoRWxlbWVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYXRoTUxNYXRoRWxlbWVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQUE4RThENDEwNTlCMzRDMDA1NkRDOUYgLyog
TWF0aE1MRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBN
YXRoTUxFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkFBOEU4RDUx
MDU5QjM0QzAwNTZEQzlGIC8qIE1hdGhNTEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTWF0aE1MRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlGQUE4RThENjEwNTlCMzRDMDA1NkRDOUYgLyogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVu
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXRoTUxJbmxpbmVD
b250YWluZXJFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkFBOEU4
RDcxMDU5QjM0QzAwNTZEQzlGIC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQUE4RThEODEwNTlCMzRDMDA1NkRD
OUYgLyogbWF0aHRhZ3MuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gbWF0aHRhZ3MuaW47IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZBQThFOEU3MTA1OUI0MTYwMDU2REM5RiAvKiBN
YXRoTUxFbGVtZW50RmFjdG9yeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBNYXRoTUxFbGVtZW50RmFjdG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUZBQThFOEU4MTA1OUI0MTYwMDU2REM5RiAvKiBNYXRoTUxOYW1lcy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXRoTUxOYW1lcy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUZFNDlFRjk3MERDNTE0NjIwMDQyNjZFMSAvKiBEYXNoYm9hcmRT
dXBwb3J0Q1NTUHJvcGVydHlOYW1lcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBEYXNoYm9h
cmRTdXBwb3J0Q1NTUHJvcGVydHlOYW1lcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRkU2RkQ0ODUwRjY3NkU1NzAwMDkyODczIC8qIENvb3JkaW5hdGVzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvb3JkaW5hdGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUZFNkZENDg2MEY2NzZFNTcwMDA5Mjg3MyAvKiBDb29yZGluYXRlcy5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gQ29vcmRpbmF0ZXMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtOTg4Nyw2ICs5OTA1LDcgQEAKIAkJCQk5M0VFQzFFQzA5QzI4Nzc3MDBDNTE1
RDEgLyogaHRtbCAqLywKIAkJCQkxQzgxQjk0RDBFOTczMkQ5MDAyNjZFMDcgLyogaW5zcGVjdG9y
ICovLAogCQkJCUJDQjE2QkZCMDk3OUMzODcwMDQ2Nzc0MSAvKiBsb2FkZXIgKi8sCisJCQkJRkFB
OEU4RDMxMDU5QjM0QzAwNTZEQzlGIC8qIG1hdGhtbCAqLywKIAkJCQkzMzNGNzAzRDBGQjQ5QzE2
MDA4RTEyQTYgLyogbm90aWZpY2F0aW9ucyAqLywKIAkJCQk2NUJGMDIxODA5NzQ4MDYzMDBDNDMx
OTYgLyogcGFnZSAqLywKIAkJCQlCQ0YxQTVCQTA5NzgzMjA5MDA2MUExMjMgLyogcGxhdGZvcm0g
Ki8sCkBAIC0xMDgwMSw2ICsxMDgyMCw4IEBACiAJCQkJOTM4RTY1RjAwOUYwOTg0MDAwOEE0OEVD
IC8qIEpTSFRNTEVsZW1lbnRXcmFwcGVyRmFjdG9yeS5oICovLAogCQkJCTg1NzREMUYxMEFERTYx
MjIwMDRDQkExMSAvKiBKU1NWR0VsZW1lbnRXcmFwcGVyRmFjdG9yeS5jcHAgKi8sCiAJCQkJODU3
NEQxRjIwQURFNjEyMjAwNENCQTExIC8qIEpTU1ZHRWxlbWVudFdyYXBwZXJGYWN0b3J5LmggKi8s
CisJCQkJRkFBOEU4RTcxMDU5QjQxNjAwNTZEQzlGIC8qIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNw
cCAqLywKKwkJCQlGQUE4RThFODEwNTlCNDE2MDA1NkRDOUYgLyogTWF0aE1MTmFtZXMuY3BwICov
LAogCQkJCTY1NjU4MUU2MDlEMTUwOEQwMDBFNjFENyAvKiBTVkdFbGVtZW50RmFjdG9yeS5jcHAg
Ki8sCiAJCQkJNjU2NTgxRTcwOUQxNTA4RDAwMEU2MUQ3IC8qIFNWR0VsZW1lbnRGYWN0b3J5Lmgg
Ki8sCiAJCQkJNjU2NTgxRTgwOUQxNTA4RDAwMEU2MUQ3IC8qIFNWR05hbWVzLmNwcCAqLywKQEAg
LTE1NDE3LDYgKzE1NDM4LDIwIEBACiAJCQl0YWJXaWR0aCA9IDQ7CiAJCQl1c2VzVGFicyA9IDA7
CiAJCX07CisJCUZBQThFOEQzMTA1OUIzNEMwMDU2REM5RiAvKiBtYXRobWwgKi8gPSB7CisJCQlp
c2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUZBQThFOEQ0MTA1OUIzNEMwMDU2
REM5RiAvKiBNYXRoTUxFbGVtZW50LmNwcCAqLywKKwkJCQlGQUE4RThENTEwNTlCMzRDMDA1NkRD
OUYgLyogTWF0aE1MRWxlbWVudC5oICovLAorCQkJCUZBQThFOEQ2MTA1OUIzNEMwMDU2REM5RiAv
KiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNwcCAqLywKKwkJCQlGQUE4RThENzEwNTlC
MzRDMDA1NkRDOUYgLyogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5oICovLAorCQkJCUZB
QTY2Nzg2MTA1OUI1MDkwMDAyRjZCMiAvKiBNYXRoTUxNYXRoRWxlbWVudC5jcHAgKi8sCisJCQkJ
RkFBNjY3ODcxMDU5QjUwOTAwMDJGNkIyIC8qIE1hdGhNTE1hdGhFbGVtZW50LmggKi8sCisJCQkJ
RkFBOEU4RDgxMDU5QjM0QzAwNTZEQzlGIC8qIG1hdGh0YWdzLmluICovLAorCQkJKTsKKwkJCXBh
dGggPSBtYXRobWw7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogLyogRW5kIFBC
WEdyb3VwIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYSGVhZGVyc0J1aWxkUGhhc2Ugc2VjdGlv
biAqLwpAQCAtMTc3OTAsNiArMTc4MjUsOSBAQAogCQkJCTU5Qzc3RjJCMTA1NDVCM0IwMDUwNjEw
NCAvKiBHZW9sb2NhdGlvblNlcnZpY2VNb2NrLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzhCRjE1
MTEwNTgxM0JGMDBBNDBBMDcgLyogVXNlclN0eWxlU2hlZXQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDOEJGMTVBMTA1ODE0MTgwMEE0MEEwNyAvKiBVc2VyU3R5bGVTaGVldFR5cGVzLmggaW4gSGVh
ZGVycyAqLywKKwkJCQlGQUE4RThEQTEwNTlCMzRDMDA1NkRDOUYgLyogTWF0aE1MRWxlbWVudC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJRkFBOEU4REMxMDU5QjM0QzAwNTZEQzlGIC8qIE1hdGhNTElu
bGluZUNvbnRhaW5lckVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUZBQTY2Nzg5MTA1OUI1
MDkwMDAyRjZCMiAvKiBNYXRoTUxNYXRoRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwog
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0xNzkw
MCw2ICsxNzkzOCw3IEBACiAJCQkJNDlFRUNERjAxMDUwM0MyNDAwMDk5RkFCIC8qIENhbnZhc1Vu
c2lnbmVkQnl0ZUFycmF5LmlkbCBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJNDlFRUNERjMxMDUwM0My
NDAwMDk5RkFCIC8qIENhbnZhc1Vuc2lnbmVkSW50QXJyYXkuaWRsIGluIFJlc291cmNlcyAqLywK
IAkJCQk0OUVFQ0RGNjEwNTAzQzI0MDAwOTlGQUIgLyogQ2FudmFzVW5zaWduZWRTaG9ydEFycmF5
LmlkbCBpbiBSZXNvdXJjZXMgKi8sCisJCQkJRkFBOEU4REQxMDU5QjM0QzAwNTZEQzlGIC8qIG1h
dGh0YWdzLmluIGluIFJlc291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVu
dFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTE5OTIzLDYgKzE5OTYyLDExIEBACiAJCQkJ
NDlFRUQxNEYxMDUxOTcxQTAwMDk5RkFCIC8qIEpTQ2FudmFzUmVuZGVyaW5nQ29udGV4dDNEQ3Vz
dG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5RUVEMTUwMTA1MTk3MUEwMDA5OUZBQiAvKiBK
U0NhbnZhc1JlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTlD
NzdGMkExMDU0NUIzQjAwNTA2MTA0IC8qIEdlb2xvY2F0aW9uU2VydmljZU1vY2suY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJRkFBOEU4RDkxMDU5QjM0QzAwNTZEQzlGIC8qIE1hdGhNTEVsZW1lbnQu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkFBOEU4REIxMDU5QjM0QzAwNTZEQzlGIC8qIE1hdGhN
TElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkFBOEU4RTkx
MDU5QjQxNjAwNTZEQzlGIC8qIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCUZBQThFOEVBMTA1OUI0MTYwMDU2REM5RiAvKiBNYXRoTUxOYW1lcy5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQlGQUE2Njc4ODEwNTlCNTA5MDAwMkY2QjIgLyogTWF0aE1MTWF0aEVsZW1l
bnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAJKHJldmlzaW9uIDQ4MjY5KQor
KysgV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE0Myw3ICsy
MTQzLDcgQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTUGFyc2VyOjpwYXJzZUF0dAogICAgIGlm
IChhdHRyTmFtZVswXSA9PSAnLScpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgaWYgKGRvY3Vt
ZW50KCktPmlzSFRNTERvY3VtZW50KCkpCisgICAgaWYgKGRvY3VtZW50KCkgJiYgZG9jdW1lbnQo
KS0+aXNIVE1MRG9jdW1lbnQoKSkKICAgICAgICAgYXR0ck5hbWUgPSBhdHRyTmFtZS5sb3dlcigp
OwogICAgIAogICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKGF0dHJOYW1lLCBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0FUVFIpOwpJbmRleDogV2ViQ29yZS9jc3MvQ1NTU3R5bGVT
ZWxlY3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5j
cHAJKHJldmlzaW9uIDQ4MjY5KQorKysgV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTExMzksNiArMTEzOSwxNyBAQCBQYXNzUmVmUHRyPFJlbmRlclN0
eWxlPiBDU1NTdHlsZVNlbGVjdG9yCiAgICAgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUFUSE1M
KQorICAgIHN0YXRpYyBib29sIGxvYWRlZE1hdGhNTFVzZXJBZ2VudFNoZWV0OworICAgIGlmIChl
LT5pc01hdGhNTEVsZW1lbnQoKSAmJiAhbG9hZGVkTWF0aE1MVXNlckFnZW50U2hlZXQpIHsKKyAg
ICAgICAgLy8gTWF0aE1MIHJ1bGVzLgorICAgICAgICBsb2FkZWRNYXRoTUxVc2VyQWdlbnRTaGVl
dCA9IHRydWU7CisgICAgICAgIENTU1N0eWxlU2hlZXQqIG1hdGhtbFNoZWV0ID0gcGFyc2VVQVNo
ZWV0KG1hdGhtbFVzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVvZihtYXRobWxVc2VyQWdlbnRTdHls
ZVNoZWV0KSk7CisgICAgICAgIGRlZmF1bHRTdHlsZS0+YWRkUnVsZXNGcm9tU2hlZXQobWF0aG1s
U2hlZXQsIHNjcmVlbkV2YWwoKSk7CisgICAgICAgIGRlZmF1bHRQcmludFN0eWxlLT5hZGRSdWxl
c0Zyb21TaGVldChtYXRobWxTaGVldCwgcHJpbnRFdmFsKCkpOworICAgIH0KKyNlbmRpZgorCiAj
aWYgRU5BQkxFKFdNTCkKICAgICBzdGF0aWMgYm9vbCBsb2FkZWRXTUxVc2VyQWdlbnRTaGVldDsK
ICAgICBpZiAoZS0+aXNXTUxFbGVtZW50KCkgJiYgIWxvYWRlZFdNTFVzZXJBZ2VudFNoZWV0KSB7
CkluZGV4OiBXZWJDb3JlL2Nzcy9tYXRobWwuY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3Nz
L21hdGhtbC5jc3MJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2Nzcy9tYXRobWwuY3NzCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDE3MCBAQAorQG5hbWVzcGFjZSAiaHR0cDovL3d3dy53My5vcmcv
MTk5OC9NYXRoL01hdGhNTCI7CisKKy8qIGFwcHJvdmVkICovCittYXRoIHsKKyAgICBmb250LWZh
bWlseTogU3ltYm9sLCBTVElYR2VuZXJhbCwgIk5ldyBUaW1lcyBSb21hbiI7CisgICAgZGlzcGxh
eTogaW5saW5lLWJsb2NrOworICAgIHBhZGRpbmc6IDBweDsKKyAgICBtYXJnaW46IDBweDsKKyAg
ICB0ZXh0LWluZGVudDowOworICAgIGZvbnQtc2l6ZTogMS4xZW07CisgICAgdmVydGljYWwtYWxp
Z246IGJhc2VsaW5lOworfQorbWF0aFtkaXNwbGF5PSJibG9jayJdIHsKKyAgICBmb250LWZhbWls
eTogIk5ldyBUaW1lcyBSb21hbiIKKyAgICBkaXNwbGF5OiBibG9jazsKKwl0ZXh0LWFsaWduOiBj
ZW50ZXI7CisJcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOworfQorCittZnJhYyB7CisgICAgdmVy
dGljYWwtYWxpZ246IG1pZGRsZTsKK30KKworbXN1YiwgbXN1cCB7CisgICBkaXNwbGF5OiBpbmxp
bmUtYmxvY2s7Cit9CisKK21zdWIgPiAqICsgKiB7CisgICB2ZXJ0aWNhbC1hbGlnbjogc3ViOwor
ICAgZm9udC1zaXplOiAwLjc1ZW07CisgICBsaW5lLWhlaWdodDogMC43NWVtOworfQorCittc3Vw
ID4gKiArICogeworICAgdmVydGljYWwtYWxpZ246IHN1cGVyOworICAgZm9udC1zaXplOiAwLjc1
ZW07CisgICBsaW5lLWhlaWdodDogMC43NWVtOworfQorCittc3Vic3VwID4gKiB7CisgICAgbWFy
Z2luOiAwcHg7CisgICAgcGFkZGluZzogMHB4OworICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7
Cit9CisKK21zdWJzdXAgPiAqICsgKiB7CisgICBmb250LXNpemU6IDAuNzVlbTsKKyAgIGxpbmUt
aGVpZ2h0OiAwLjc1ZW07Cit9CisKK211bmRlcm92ZXIgeworICAgIHZlcnRpY2FsLWFsaWduOiBt
aWRkbGU7Cit9CisKK211bmRlcm92ZXIgPiAqICsgKiwgbW92ZXIgPiAqICsgKiwgbXVuZGVyID4g
KiArICogeworICAgZm9udC1zaXplOiAwLjc1ZW07CisgICBsaW5lLWhlaWdodDogMC41NjI1ZW07
Cit9CisKK21yb3cgeworICAgIGxpbmUtaGVpZ2h0OiAxZW07CisgICAgd2hpdGUtc3BhY2U6IG5v
d3JhcDsKKyAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOworfQorCittZmVuY2VkID4gKiB7Cisg
ICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKK30KKworbW8sIG1uLCBtaSB7CisgICBsaW5lLWhl
aWdodDogMC43NWVtOworICAgcGFkZGluZzogMHB4OworICAgbWFyZ2luOiAwcHg7Cit9CisKK21v
W21hdGhzaXplPSJzbWFsbCJdLCBtblttYXRoc2l6ZT0ic21hbGwiXSwgbWlbbWF0aHNpemU9InNt
YWxsIl0geworICAgZm9udC1zaXplOiAwLjc1ZW07CisgICBsaW5lLWhlaWdodDogMC41NjI1ZW07
Cit9CisKK21vW21hdGhzaXplPSJub3JtYWwiXSxtblttYXRoc2l6ZT0ibm9ybWFsIl0sbWlbbWF0
aHNpemU9Im5vcm1hbCJdIHsKKyAgIGZvbnQtc2l6ZTogMWVtOworICAgbGluZS1oZWlnaHQ6IDAu
NzVlbTsKK30KKworbW9bbWF0aHNpemU9ImJpZyJdLCBtblttYXRoc2l6ZT0iYmlnIl0sIG1pW21h
dGhzaXplPSJiaWciXSB7CisgICBsaW5lLWhlaWdodDogMS4yZW07CisgICBmb250LXNpemU6IDEu
NWVtOworfQorIAorYW5ub3RhdGlvbiwgYW5ub3RhdGlvbi14bWwgeworICAgIGRpc3BsYXk6bm9u
ZTsKK30KKworbXBoYW50b20geworICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKK30KK21lcnJvciB7
CisgICAgb3V0bGluZTogc29saWQgdGhpbiByZWQ7Cit9CisKK21zcXJ0IHsKKyAgICBwYWRkaW5n
LXRvcDogMC4yZW07CisgICAgcGFkZGluZy1sZWZ0OiAwLjc1ZW07Cit9CisKK21yb290IHsKKyAg
ICBwYWRkaW5nLXRvcDogMC4yZW07CisgICAgcGFkZGluZy1sZWZ0OiAwLjJlbTsKK30KKworbXJv
b3QgPiAqICsgKiB7CisgICAgZm9udC1zaXplOiAwLjc1ZW07CisgICAgbGluZS1oZWlnaHQ6IDAu
NzVlbTsKKyAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOworICAgIHBhZGRpbmctcmlnaHQ6IDAuM2Vt
OworfQorCittdGFibGUgeworICAgIGRpc3BsYXk6aW5saW5lLXRhYmxlOworICAgIGxpbmUtaGVp
Z2h0OjEuNWVtOworICAgIHRleHQtYWxpZ246Y2VudGVyOworICAgIHZlcnRpY2FsLWFsaWduOm1p
ZGRsZTsKK30KK210ciB7CisgICAgZGlzcGxheTp0YWJsZS1yb3c7Cit9CittdGQgeworICAgIGRp
c3BsYXk6dGFibGUtY2VsbDsKKwlwYWRkaW5nOjAgMC41ZXg7Cit9CisKK210YWJsZVtjb2x1bW5h
bGlnbj0ibGVmdCJdLCBtdHJbY29sdW1uYWxpZ249ImxlZnQiXSwgbXRkW2NvbHVtbmFsaWduPSJs
ZWZ0Il0geworICAgIHRleHQtYWxpZ246IGxlZnQ7Cit9CisKK210YWJsZVtjb2x1bW5hbGlnbj0i
cmlnaHQiXSwgbXRyW2NvbHVtbmFsaWduPSJyaWdodCJdLCBtdGRbY29sdW1uYWxpZ249InJpZ2h0
Il0geworICAgIHRleHQtYWxpZ246IHJpZ2h0OworfQorbXRhYmxlW3Jvd2FsaWduPSJ0b3AiXSBt
dGQsIG10YWJsZSBtdHJbcm93YWxpZ249InRvcCJdIG10ZCwgbXRhYmxlIG10ciBtdGRbcm93YWxp
Z249InRvcCJdIHsKKyAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOworfQorbXRhYmxlW3Jvd2FsaWdu
PSJib3R0b20iXSBtdGQsIG10YWJsZSBtdHJbcm93YWxpZ249ImJvdHRvbSJdIG10ZCwgbXRhYmxl
IG10ciBtdGRbcm93YWxpZ249ImJvdHRvbSJdIHsKKyAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9t
OworfQorbXRhYmxlW3Jvd2FsaWduPSJjZW50ZXIiXSBtdGQsIG10YWJsZSBtdHJbcm93YWxpZ249
ImNlbnRlciJdIG10ZCwgbXRhYmxlIG10ciBtdGRbcm93YWxpZ249ImNlbnRlciJdIHsKKyAgICB2
ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOworfQorbXRhYmxlW2ZyYW1lPSJzb2xpZCJdIHsKKyAgICBi
b3JkZXI6IHNvbGlkIHRoaW47Cit9CittdGFibGVbZnJhbWU9ImRhc2hlZCJdIHsKKyAgICBib3Jk
ZXI6IGRhc2hlZCB0aGluOworfQorbXRhYmxlW3Jvd2xpbmVzPSJzb2xpZCJdLCBtdGFibGVbcm93
bGluZXM9ImRhc2hlZCJdLCBtdGFibGVbY29sdW1ubGluZXM9InNvbGlkIl0sIG10YWJsZVtjb2x1
bW5saW5lcz0iZGFzaGVkIl0geworICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7Cit9Citt
dGFibGVbcm93bGluZXM9InNvbGlkIl0gPiBtdHIgKyBtdHIgeworICAgIGJvcmRlci10b3A6c29s
aWQgdGhpbjsKK30KK210YWJsZVtyb3dsaW5lcz0iZGFzaGVkIl0gPiBtdHIgKyBtdHIgeworICAg
IGJvcmRlci10b3A6ZGFzaGVkIHRoaW47Cit9CittdGFibGVbY29sdW1ubGluZXM9InNvbGlkIl0g
PiBtdHIgPiBtdGQgKyBtdGQgeworICAgIGJvcmRlci1sZWZ0OnNvbGlkIHRoaW47Cit9CittdGFi
bGVbY29sdW1ubGluZXM9ImRhc2hlZCJdID4gbXRyID4gbXRkICsgbXRkIHsKKyAgICBib3JkZXIt
bGVmdDpkYXNoZWQgdGhpbjsKK30KKwpJbmRleDogV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gNDgyNjkpCisr
KyBXZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3NCw2ICsxNzQs
MTIgQEAKICNpbmNsdWRlICJXTUxOYW1lcy5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUFUSE1M
KQorI2luY2x1ZGUgIk1hdGhNTEVsZW1lbnQuaCIKKyNpbmNsdWRlICJNYXRoTUxFbGVtZW50RmFj
dG9yeS5oIgorI2luY2x1ZGUgIk1hdGhNTE5hbWVzLmgiCisjZW5kaWYKKwogI2lmIEVOQUJMRShY
SFRNTE1QKQogI2luY2x1ZGUgIkhUTUxOb1NjcmlwdEVsZW1lbnQuaCIKICNlbmRpZgpAQCAtODAz
LDYgKzgwOSwxMCBAQCBQYXNzUmVmUHRyPEVsZW1lbnQ+IERvY3VtZW50OjpjcmVhdGVFbGVtCiAg
ICAgZWxzZSBpZiAoaXNXTUxEb2N1bWVudCgpKQogICAgICAgICBlID0gV01MRWxlbWVudEZhY3Rv
cnk6OmNyZWF0ZVdNTEVsZW1lbnQoUXVhbGlmaWVkTmFtZShudWxsQXRvbSwgcU5hbWUubG9jYWxO
YW1lKCksIFdNTE5hbWVzOjp3bWxOYW1lc3BhY2VVUkkpLCB0aGlzLCBjcmVhdGVkQnlQYXJzZXIp
OwogI2VuZGlmCisjaWYgRU5BQkxFKE1BVEhNTCkKKyAgICBlbHNlIGlmIChxTmFtZS5uYW1lc3Bh
Y2VVUkkoKSA9PSBNYXRoTUxOYW1lczo6bWF0aG1sTmFtZXNwYWNlVVJJKQorICAgICAgICBlID0g
TWF0aE1MRWxlbWVudEZhY3Rvcnk6OmNyZWF0ZU1hdGhNTEVsZW1lbnQocU5hbWUsIHRoaXMsIGNy
ZWF0ZWRCeVBhcnNlcik7CisjZW5kaWYKICAgICAKICAgICBpZiAoIWUpCiAgICAgICAgIGUgPSBF
bGVtZW50OjpjcmVhdGUocU5hbWUsIGRvY3VtZW50KCkpOwpJbmRleDogV2ViQ29yZS9kb20vTm9k
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL05vZGUuaAkocmV2aXNpb24gNDgyNjkpCisr
KyBXZWJDb3JlL2RvbS9Ob2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE4Myw2ICsxODMsMTMgQEAg
cHVibGljOgogICAgIHN0YXRpYyBib29sIGlzV01MRWxlbWVudCgpIHsgcmV0dXJuIGZhbHNlOyB9
CiAjZW5kaWYKIAorI2lmIEVOQUJMRShNQVRITUwpCisgICAgdmlydHVhbCBib29sIGlzTWF0aE1M
RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjZWxzZQorICAgIHN0YXRpYyBib29s
IGlzTWF0aE1MRWxlbWVudCgpIHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYKKworCiAgICAgdmly
dHVhbCBib29sIGlzTWVkaWFDb250cm9sRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CiAgICAgdmlydHVhbCBib29sIGlzU3R5bGVkRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9CiAgICAgdmlydHVhbCBib29sIGlzRnJhbWVPd25lckVsZW1lbnQoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQpJbmRleDogV2ViQ29yZS9tYXRobWwvTWF0aE1MRWxlbWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9tYXRobWwvTWF0aE1MRWxlbWVudC5jcHAJKHJldmlzaW9uIDApCisr
KyBXZWJDb3JlL21hdGhtbC9NYXRoTUxFbGVtZW50LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSw1OSBAQAorLyoKKyAqICBNYXRoTUxFbGVtZW50LmNwcAorICogIFdlYkNvcmUKKyAqCisgKiAg
Q29weXJpZ2h0IChDKSAyMDA5IEFsZXggTWlsb3dza2kgKGFsZXhAbWlsb3dza2kuY29tKS4KKyAq
CisgCisgCisgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdlYktpdCBwcm9qZWN0CisgCisgVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgorIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCisgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbjsgZWl0aGVyCisgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorIAorIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAKKyBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCisgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorIEJvc3RvbiwgTUEgMDIx
MTAtMTMwMSwgVVNBLgorIAorIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVO
QUJMRShNQVRITUwpCisKKyNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKKyNpbmNsdWRlICJNYXRo
TUxFbGVtZW50LmgiCisjaW5jbHVkZSAiTWF0aE1MTmFtZXMuaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworICAgIAordXNpbmcgbmFtZXNwYWNlIE1hdGhNTE5hbWVzOworICAgIAorTWF0aE1MRWxl
bWVudDo6TWF0aE1MRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVu
dCogZG9jdW1lbnQpCisgICAgOiBTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50LCBDcmVh
dGVFbGVtZW50WmVyb1JlZkNvdW50KQoreworfQorICAgIAorUGFzc1JlZlB0cjxNYXRoTUxFbGVt
ZW50PiBNYXRoTUxFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQqIGRvY3VtZW50KQoreworICAgIHJldHVybiBuZXcgTWF0aE1MRWxlbWVudCh0YWdO
YW1lLCBkb2N1bWVudCk7Cit9CisKK1JlbmRlck9iamVjdCogTWF0aE1MRWxlbWVudDo6Y3JlYXRl
UmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSogc3R5bGUpCit7CisgICAgcmV0dXJu
IFJlbmRlck9iamVjdDo6Y3JlYXRlT2JqZWN0KHRoaXMsIHN0eWxlKTsKK30KKyAgICAKKyAgICAK
K30KKworI2VuZGlmCkluZGV4OiBXZWJDb3JlL21hdGhtbC9NYXRoTUxFbGVtZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9tYXRobWwvTWF0aE1MRWxlbWVudC5oCShyZXZpc2lvbiAwKQorKysg
V2ViQ29yZS9tYXRobWwvTWF0aE1MRWxlbWVudC5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUx
IEBACisvKgorICogIE1hdGhNTEVsZW1lbnQuaAorICogIFdlYkNvcmUKKyAqCisgKiAgQ29weXJp
Z2h0IChDKSAyMDA5IEFsZXggTWlsb3dza2kgKGFsZXhAbWlsb3dza2kuY29tKS4KKyAqCisgCisg
VGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdlYktpdCBwcm9qZWN0CisgCisgVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisg
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgorIAorIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAKKyBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlCisgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4g
IElmIG5vdCwgd3JpdGUgdG8KKyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwg
VVNBLgorIAorICovCisKKyNpZm5kZWYgTWF0aE1MRWxlbWVudF9oCisjZGVmaW5lIE1hdGhNTEVs
ZW1lbnRfaAorCisjaWYgRU5BQkxFKE1BVEhNTCkKKyNpbmNsdWRlICJTdHlsZWRFbGVtZW50Lmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICAKKyAgICBjbGFzcyBNYXRoTUxFbGVtZW50IDog
cHVibGljIFN0eWxlZEVsZW1lbnQgeworICAgIHB1YmxpYzoKKyAgICAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8TWF0aE1MRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUs
IERvY3VtZW50Kik7CisgICAgICAgIAorICAgICAgICB2aXJ0dWFsIGJvb2wgaXNNYXRoTUxFbGVt
ZW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQorICAgICAgICAKKyAgICAgICAgdmlydHVhbCBS
ZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsK
KyAgICAgICAgCisgICAgcHJvdGVjdGVkOgorICAgICAgICBNYXRoTUxFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Kik7CisgICAgICAgIAorICAgIH07CisgICAg
Cit9CisKKyNlbmRpZgorI2VuZGlmCkluZGV4OiBXZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxpbmVD
b250YWluZXJFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL21hdGhtbC9NYXRoTUxJ
bmxpbmVDb250YWluZXJFbGVtZW50LmNwcAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvbWF0aG1s
L01hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDU5IEBACisvKgorICogIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwCisgKiAgV2Vi
Q29yZQorICoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDkgQWxleCBNaWxvd3NraSAoYWxleEBtaWxv
d3NraS5jb20pLgorICoKKyAKKyBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IHByb2pl
Y3QKKyAKKyBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCisgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKKyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgCisgVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVQorIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgorIAorIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
CisjaWYgRU5BQkxFKE1BVEhNTCkKKworI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgorI2luY2x1
ZGUgIk1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCIKKyNpbmNsdWRlICJNYXRoTUxOYW1l
cy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisgICAgCit1c2luZyBuYW1lc3BhY2UgTWF0aE1M
TmFtZXM7CisKK01hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQ6Ok1hdGhNTElubGluZUNvbnRh
aW5lckVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3Vt
ZW50KQorICAgIDogTWF0aE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKK3sKK30KKworUGFz
c1JlZlB0cjxNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50PiBNYXRoTUxJbmxpbmVDb250YWlu
ZXJFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQq
IGRvY3VtZW50KQoreworICAgIHJldHVybiBuZXcgTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVu
dCh0YWdOYW1lLCBkb2N1bWVudCk7Cit9CisKK1JlbmRlck9iamVjdCogTWF0aE1MSW5saW5lQ29u
dGFpbmVyRWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEgKiwgUmVuZGVyU3R5bGUq
IHN0eWxlKQoreworICAgIC8vIEZJWE1FOiBUaGlzIG1ldGhvZCB3aWxsIGNvbnRhaW4gdGhlIHNw
ZWNpYWxpemVkIHJlbmRlcmVycyBiYXNlZCBvbiBlbGVtZW50IG5hbWUKKyAgICByZXR1cm4gUmVu
ZGVyT2JqZWN0OjpjcmVhdGVPYmplY3QodGhpcywgc3R5bGUpOworfQorICAgIAorICAgIAorfQor
CisjZW5kaWYKKwpJbmRleDogV2ViQ29yZS9tYXRobWwvTWF0aE1MSW5saW5lQ29udGFpbmVyRWxl
bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbWF0aG1sL01hdGhNTElubGluZUNvbnRhaW5l
ckVsZW1lbnQuaAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvbWF0aG1sL01hdGhNTElubGluZUNv
bnRhaW5lckVsZW1lbnQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqICBN
YXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmgKKyAqICBXZWJDb3JlCisgKgorICogIENvcHly
aWdodCAoQykgMjAwOSBBbGV4IE1pbG93c2tpIChhbGV4QG1pbG93c2tpLmNvbSkuCisgKgorIAor
IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgcHJvamVjdAorIAorIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwor
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgorIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KKyAKKyBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgCisgWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQorIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCisgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwg
NTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyBCb3N0b24sIE1BIDAyMTEwLTEzMDEs
IFVTQS4KKyAKKyAqLworCisjaWZuZGVmIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnRfaAor
I2RlZmluZSBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50X2gKKworI2lmIEVOQUJMRShNQVRI
TUwpCisjaW5jbHVkZSAiTWF0aE1MRWxlbWVudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7Cisg
ICAgCisgICAgY2xhc3MgTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudCA6IHB1YmxpYyBNYXRo
TUxFbGVtZW50IHsKKyAgICBwdWJsaWM6CisgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1hdGhN
TElubGluZUNvbnRhaW5lckVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdO
YW1lLCBEb2N1bWVudCopOworICAgIAorICAgICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3Jl
YXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopOworICAgIAorICAgIHByb3Rl
Y3RlZDoKKyAgICAgICAgTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudChjb25zdCBRdWFsaWZp
ZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCopOworICAgIAorICAgIH07CisgICAgCit9CisKKyNl
bmRpZgorI2VuZGlmCkluZGV4OiBXZWJDb3JlL21hdGhtbC9NYXRoTUxNYXRoRWxlbWVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9tYXRobWwvTWF0aE1MTWF0aEVsZW1lbnQuY3BwCShyZXZp
c2lvbiAwKQorKysgV2ViQ29yZS9tYXRobWwvTWF0aE1MTWF0aEVsZW1lbnQuY3BwCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDUxIEBACisvKgorICogIE1hdGhNYXRoTUxFbGVtZW50LmNwcAorICog
IFdlYkNvcmUKKyAqCisgKiAgQ29weXJpZ2h0IChDKSAyMDA5IEFsZXggTWlsb3dza2kgKGFsZXhA
bWlsb3dza2kuY29tKS4KKyAqCisgCisgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdlYktpdCBw
cm9qZWN0CisgCisgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgorIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCisgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIAorIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CisgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKKyBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAKKyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNl
ZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAor
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorIAorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKworI2lmIEVOQUJMRShNQVRITUwpCisKKyNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKKyNp
bmNsdWRlICJNYXRoTUxNYXRoRWxlbWVudC5oIgorI2luY2x1ZGUgIk1hdGhNTE5hbWVzLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICAKK3VzaW5nIG5hbWVzcGFjZSBNYXRoTUxOYW1lczsK
KworTWF0aE1MTWF0aEVsZW1lbnQ6Ok1hdGhNTE1hdGhFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5h
bWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKKyAgICA6IE1hdGhNTElubGluZUNvbnRh
aW5lckVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCit7Cit9CisKK1Bhc3NSZWZQdHI8TWF0aE1M
TWF0aEVsZW1lbnQ+IE1hdGhNTE1hdGhFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQoreworICAgIHJldHVybiBuZXcgTWF0aE1M
TWF0aEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpOworfQorCit9CisKKyNlbmRpZgpJbmRleDog
V2ViQ29yZS9tYXRobWwvTWF0aE1MTWF0aEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L21hdGhtbC9NYXRoTUxNYXRoRWxlbWVudC5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9tYXRo
bWwvTWF0aE1MTWF0aEVsZW1lbnQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0NyBAQAorLyoK
KyAqICBNYXRoTWF0aE1MRWxlbWVudC5oCisgKiAgV2ViQ29yZQorICoKKyAqICBDb3B5cmlnaHQg
KEMpIDIwMDkgQWxleCBNaWxvd3NraSAoYWxleEBtaWxvd3NraS5jb20pLgorICoKKyAKKyBUaGlz
IGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IHByb2plY3QKKyAKKyBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
KyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCisgCisgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIAorIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UK
KyBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYg
bm90LCB3cml0ZSB0bworIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0Eu
CisgCisgKi8KKworI2lmbmRlZiBNYXRoTUxNYXRoRWxlbWVudF9oCisjZGVmaW5lIE1hdGhNTE1h
dGhFbGVtZW50X2gKKworI2lmIEVOQUJMRShNQVRITUwpCisjaW5jbHVkZSAiTWF0aE1MSW5saW5l
Q29udGFpbmVyRWxlbWVudC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisgICAgCisgICAgY2xh
c3MgTWF0aE1MTWF0aEVsZW1lbnQgOiBwdWJsaWMgTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVu
dCB7CisgICAgcHVibGljOgorICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxNYXRoTUxNYXRoRWxl
bWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Kik7Cisg
ICAgICAgIAorICAgIHByb3RlY3RlZDoKKyAgICAgICAgTWF0aE1MTWF0aEVsZW1lbnQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKKyAgICAgICAgCisgICAgfTsKKyAg
ICAKK30KKworI2VuZGlmCisjZW5kaWYKSW5kZXg6IFdlYkNvcmUvbWF0aG1sL21hdGh0YWdzLmlu
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbWF0aG1sL21hdGh0YWdzLmluCShyZXZpc2lvbiAwKQor
KysgV2ViQ29yZS9tYXRobWwvbWF0aHRhZ3MuaW4JKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjEg
QEAKK25hbWVzcGFjZT0iTWF0aE1MIgorbmFtZXNwYWNlVVJJPSJodHRwOi8vd3d3LnczLm9yZy8x
OTk4L01hdGgvTWF0aE1MIgorZ3VhcmRGYWN0b3J5V2l0aD0iRU5BQkxFKE1BVEhNTCkiCitleHBv
cnRTdHJpbmdzCisKK21hdGgKK21mcmFjIGludGVyZmFjZU5hbWU9TWF0aE1MSW5saW5lQ29udGFp
bmVyRWxlbWVudAorbWZlbmNlZCBpbnRlcmZhY2VOYW1lPU1hdGhNTElubGluZUNvbnRhaW5lckVs
ZW1lbnQKK21zdWJzdXAgaW50ZXJmYWNlTmFtZT1NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50
Cittcm93IGludGVyZmFjZU5hbWU9TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudAorbW92ZXIg
aW50ZXJmYWNlTmFtZT1NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50CittdW5kZXIgaW50ZXJm
YWNlTmFtZT1NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50CittdW5kZXJvdmVyIGludGVyZmFj
ZU5hbWU9TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudAorbXNxcnQgaW50ZXJmYWNlTmFtZT1N
YXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50Cittcm9vdCBpbnRlcmZhY2VOYW1lPU1hdGhNTElu
bGluZUNvbnRhaW5lckVsZW1lbnQKK21pIGludGVyZmFjZU5hbWU9TWF0aE1MRWxlbWVudCwgY3Jl
YXRlV2l0aE5ldworbW4gaW50ZXJmYWNlTmFtZT1NYXRoTUxFbGVtZW50LCBjcmVhdGVXaXRoTmV3
CittbyBpbnRlcmZhY2VOYW1lPU1hdGhNTEVsZW1lbnQsIGNyZWF0ZVdpdGhOZXcKK21zdWIgaW50
ZXJmYWNlTmFtZT1NYXRoTUxFbGVtZW50LCBjcmVhdGVXaXRoTmV3Cittc3VwIGludGVyZmFjZU5h
bWU9TWF0aE1MRWxlbWVudCwgY3JlYXRlV2l0aE5ldworCkluZGV4OiBXZWJDb3JlL3BhZ2UvRnJh
bWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9GcmFtZS5jcHAJKHJldmlzaW9uIDQ4
MjY5KQorKysgV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTcsNiAr
OTcsMTAgQEAKICNpbmNsdWRlICJXTUxOYW1lcy5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUFU
SE1MKQorI2luY2x1ZGUgIk1hdGhNTE5hbWVzLmgiCisjZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNl
IHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTUyLDYgKzE1NiwxMCBAQCBGcmFtZTo6
RnJhbWUoUGFnZSogcGFnZSwgSFRNTEZyYW1lT3duZXJFCiAgICAgV01MTmFtZXM6OmluaXQoKTsK
ICNlbmRpZgogCisjaWYgRU5BQkxFKE1BVEhNTCkKKyAgICBNYXRoTUxOYW1lczo6aW5pdCgpOwor
I2VuZGlmCisKICAgICBYTUxOYW1lczo6aW5pdCgpOwogCiAgICAgaWYgKCFvd25lckVsZW1lbnQp
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39390</attachid>
            <date>2009-09-10 15:53:12 -0700</date>
            <delta_ts>2009-09-10 18:09:15 -0700</delta_ts>
            <desc>Updated patch with change to the ordering in WebCore/Configuration/FeatureDefines.xconfig</desc>
            <filename>WebKit-mathml-css.patch</filename>
            <type>text/plain</type>
            <size>33395</size>
            <attacher name="Alex Milowski">alex</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODI2OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsODAgQEAKKzIwMDktMDktMTAgIEFsZXggTWlsb3dza2kgIDxhbGV4QG1pbG93c2tp
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRzIENTUyBzdHlsaW5nIGFuZCBiYXNpYyBET00gZWxlbWVudCBzdXBwb3J0IGZvciBNYXRoTUwK
KworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCisg
ICAgICAgICAgQWRkZWQgRU5BQkxFX01BVEhNTCB0byBmZWF0dXJlcworICAgICAgICAgIAorICAg
ICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisKKyAgICAgICAgICBBZGRlZCB1c2VyIHN0eWxl
c2hlZXQgYW5kIHRhZyBmYWN0b3J5IGdlbmVyYXRpb24KKworICAgICAgICAqIFdlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKworICAgICAgICAgIEFkZGVkIG5ldyBET00gZWxlbWVu
dCBjb2RlCisKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1BhcnNlcjo6cGFyc2VBdHRyKToKKworICAgICAgICAgIEFkZGVkIGNoZWNrIGZvciBkb2N1
bWVudCBzaW5jZSBzdHlsZXNoZWV0IGNhbiBiZSBhZGRlZCBiZWZvcmUgdGhlcmUgaXMgYSBkb2N1
bWVudAorCisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6c3R5bGVGb3JFbGVtZW50KToKKworICAgICAgICAgIEFk
ZGVkIGNoZWNrIHRvIGFkZCBNYXRoTUwgdXNlciBhZ2VudCBzdHlsZXNoZWV0CisKKyAgICAgICAg
KiBjc3MvbWF0aG1sLmNzczogQWRkZWQuCisKKyAgICAgICAgICBNYXRoTUwgdXNlciBhZ2VudCBz
dHlsZXNoZWV0CisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnQ6OmNyZWF0ZUVsZW1lbnQpOgorCisgICAgICAgICAgQWRkZWQgc3VwcG9ydCBm
b3IgY3JlYXRpb24gb2YgTWF0aE1MIERPTSBvYmplY3RzCisKKyAgICAgICAgKiBkb20vTm9kZS5o
OgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6aXNNYXRoTUxFbGVtZW50KToKKworICAgICAgICAg
IEFkZGVkIGNoZWNrIG1ldGhvZCBmb3Igd2hldGhlciB0aGUgbm9kZSBpcyBhIE1hdGhNTCBub2Rl
CisKKyAgICAgICAgKiBtYXRobWw6IEFkZGVkLgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxFbGVt
ZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxFbGVtZW50OjpNYXRoTUxF
bGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTEVsZW1lbnQ6OmNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpNYXRoTUxFbGVtZW50OjpjcmVhdGVSZW5kZXJlcik6CisgICAgICAgICog
bWF0aG1sL01hdGhNTEVsZW1lbnQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxF
bGVtZW50Ojppc01hdGhNTEVsZW1lbnQpOgorCisgICAgICAgICAgTWF0aE1MIERPTSBiYXNlIGNs
YXNzCisKKworICAgICAgICAqIG1hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50
OjpNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhN
TElubGluZUNvbnRhaW5lckVsZW1lbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNYXRo
TUxJbmxpbmVDb250YWluZXJFbGVtZW50OjpjcmVhdGVSZW5kZXJlcik6CisgICAgICAgICogbWF0
aG1sL01hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaDogQWRkZWQuCisKKyAgICAgICAgICBC
YXNlIGNsYXNzIGZvciBub24tdGV4dCBjb250YWluZXJzCisKKyAgICAgICAgKiBtYXRobWwvTWF0
aE1MTWF0aEVsZW1lbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTE1hdGhF
bGVtZW50OjpNYXRoTUxNYXRoRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxNYXRo
RWxlbWVudDo6Y3JlYXRlKToKKyAgICAgICAgKiBtYXRobWwvTWF0aE1MTWF0aEVsZW1lbnQuaDog
QWRkZWQuCisgCisgICAgICAgICAgUm9vdCBNYXRoIGVsZW1lbnQKKyAgICAgICAgIAorICAgICAg
ICAqIG1hdGhtbC9tYXRodGFncy5pbjogQWRkZWQuCisKKyAgICAgICAgICBFbGVtZW50IGxpc3Qg
bWFwcGluZ3MKKworICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWU6OkZyYW1lKToKKworICAgICAgICAgIEFkZGVkIE1hdGhNTCBuYW1lIGluaXRpYWxpemF0
aW9uCisKIDIwMDktMDktMTAgIEFsYmVydCBKLiBXb25nICA8YWp3b25nQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBObyByZXZpZXcsIHdpbmRvd3MgYnVpbGQgZml4IG9ubHkuCkluZGV4OiBXZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlCShyZXZpc2lvbiA0ODI2OSkKKysrIFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQkod29ya2luZyBjb3B5KQpAQCAtNDQyLDYgKzQ0Miw4IEBAIGFsbCA6IFwKICAgICBVc2VyQWdl
bnRTdHlsZVNoZWV0cy5oIFwKICAgICBYTGlua05hbWVzLmNwcCBcCiAgICAgWE1MTmFtZXMuY3Bw
IFwKKyAgICBNYXRoTUxFbGVtZW50RmFjdG9yeS5jcHAgXAorICAgIE1hdGhNTE5hbWVzLmNwcCBc
CiAgICAgWFBhdGhHcmFtbWFyLmNwcCBcCiAgICAgdG9rZW5pemVyLmNwcCBcCiAjCkBAIC01NjUs
NiArNTY3LDEwIEBAIGlmZXEgKCQoZmluZHN0cmluZyBFTkFCTEVfV01MLCQoRkVBVFVSRV8KICAg
ICBVU0VSX0FHRU5UX1NUWUxFX1NIRUVUUyA6PSAkKFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTKSAk
KFdlYkNvcmUpL2Nzcy93bWwuY3NzCiBlbmRpZgogCitpZmVxICgkKGZpbmRzdHJpbmcgRU5BQkxF
X01BVEhNTCwkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfTUFUSE1MKQorICAgIFVTRVJfQUdF
TlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMpICQoV2ViQ29yZSkv
Y3NzL21hdGhtbC5jc3MKK2VuZGlmCisKIGlmZXEgKCQoZmluZHN0cmluZyBFTkFCTEVfVklERU8s
JChGRUFUVVJFX0RFRklORVMpKSwgRU5BQkxFX1ZJREVPKQogICAgIFVTRVJfQUdFTlRfU1RZTEVf
U0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMpICQoV2ViQ29yZSkvY3NzL21lZGlh
Q29udHJvbHMuY3NzCiBpZmVxICgkKE9TKSxNQUNPUykKQEAgLTcwNiw2ICs3MTIsMjYgQEAgV01M
TmFtZXMuY3BwIDoKIAogZW5kaWYKIAorIyAtLS0tLS0tLQorIAorIyBNYXRoTUwgdGFnIGFuZCBh
dHRyaWJ1dGUgbmFtZXMsIGFuZCBlbGVtZW50IGZhY3RvcnkKKworaWZlcSAoJChmaW5kc3RyaW5n
IEVOQUJMRV9NQVRITUwsJChGRUFUVVJFX0RFRklORVMpKSwgRU5BQkxFX01BVEhNTCkKKworTWF0
aE1MRWxlbWVudEZhY3RvcnkuY3BwIE1hdGhNTE5hbWVzLmNwcCA6IGRvbS9tYWtlX25hbWVzLnBs
IG1hdGhtbC9tYXRodGFncy5pbgorCXBlcmwgLUkgJChXZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRz
ICQ8IC0tdGFncyAkKFdlYkNvcmUpL21hdGhtbC9tYXRodGFncy5pbiAtLWZhY3RvcnkgLS13cmFw
cGVyRmFjdG9yeQorCitlbHNlCisKK01hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCA6CisJZWNobyA+
ICRACisKK01hdGhNTE5hbWVzLmNwcCA6CisJZWNobyA+ICRACisKK2VuZGlmCisKKwogCiAjIC0t
LS0tLS0tCiAKSW5kZXg6IFdlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwkocmV2aXNpb24gNDgyNjkpCisrKyBXZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00NCw2ICs0NCw3IEBAIEVO
QUJMRV9GSUxURVJTID0gOwogRU5BQkxFX0dFT0xPQ0FUSU9OID0gOwogRU5BQkxFX0lDT05EQVRB
QkFTRSA9IEVOQUJMRV9JQ09OREFUQUJBU0U7CiBFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUiA9
IEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSOworRU5BQkxFX01BVEhNTCA9IEVOQUJMRV9NQVRI
TUw7CiBFTkFCTEVfTk9USUZJQ0FUSU9OUyA9IDsKIEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNB
VElPTlMgPSBFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TOwogRU5BQkxFX1JVQlkgPSBF
TkFCTEVfUlVCWTsKQEAgLTYyLDQgKzYzLDQgQEAgRU5BQkxFX1dPUktFUlMgPSBFTkFCTEVfV09S
S0VSUzsKIEVOQUJMRV9YUEFUSCA9IEVOQUJMRV9YUEFUSDsKIEVOQUJMRV9YU0xUID0gRU5BQkxF
X1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX0NBTlZBUykgJChFTkFCTEVf
M0RfUkVOREVSSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfREFUQUJB
U0UpICQoRU5BQkxFX0RBVEFHUklEKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVfRE9NX1NU
T1JBR0UpICQoRU5BQkxFX0VWRU5UU09VUkNFKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RF
QlVHR0VSKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBM
SUNBVElPTlMpICQoRU5BQkxFX1JVQlkpICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJM
RV9TVkcpICQoRU5BQkxFX1NWR19BTklNQVRJT04pICQoRU5BQkxFX1NWR19BU19JTUFHRSkgJChF
TkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxF
X1NWR19GT1JFSUdOX09CSkVDVCkgJChFTkFCTEVfU1ZHX1VTRSkgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XTUwpICQoRU5BQkxFX1dPUktFUlMpICQoRU5B
QkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNE
X0NBTlZBUykgJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RykgJChFTkFCTEVfREFUQUJBU0UpICQoRU5BQkxFX0RBVEFHUklEKSAkKEVOQUJMRV9EQVRBTElT
VCkgJChFTkFCTEVfRE9NX1NUT1JBR0UpICQoRU5BQkxFX0VWRU5UU09VUkNFKSAkKEVOQUJMRV9G
SUxURVJTKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVO
QUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJM
RV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpICQoRU5BQkxFX1JVQlkpICQoRU5BQkxFX1NIQVJF
RF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19BTklNQVRJT04pICQoRU5BQkxF
X1NWR19BU19JTUFHRSkgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9T
VkdfRk9OVFMpICQoRU5BQkxFX1NWR19GT1JFSUdOX09CSkVDVCkgJChFTkFCTEVfU1ZHX1VTRSkg
JChFTkFCTEVfVklERU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XTUwpICQoRU5B
QkxFX01BVEhNTCkgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWFBBVEgpICQoRU5BQkxFX1hT
TFQpOwpJbmRleDogV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJl
dmlzaW9uIDQ4MjY5KQorKysgV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oJKHdvcmtpbmcgY29weSkKQEAgLTQ2ODEsNiArNDY4MSwxNSBAQAogCQlGOTE2QzQ4RDBEQjUx
MEY4MDA3NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjkxNkM0OEIwREI1MTBGODAw
NzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmNwcCAqLzsgfTsKIAkJRjkx
NkM0OEUwREI1MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGOTE2QzQ4QzBE
QjUxMEY4MDA3NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaCAqLzsgfTsK
IAkJRjlGMEVEN0EwREI1MENBMjAwRDE2REI5IC8qIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjlGMEVE
NzcwREI1MENBMjAwRDE2REI5IC8qIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oICovOyB9
OworCQlGQUE2Njc4ODEwNTlCNTA5MDAwMkY2QjIgLyogTWF0aE1MTWF0aEVsZW1lbnQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFBNjY3ODYxMDU5
QjUwOTAwMDJGNkIyIC8qIE1hdGhNTE1hdGhFbGVtZW50LmNwcCAqLzsgfTsKKwkJRkFBNjY3ODkx
MDU5QjUwOTAwMDJGNkIyIC8qIE1hdGhNTE1hdGhFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQUE2Njc4NzEwNTlCNTA5MDAwMkY2QjIgLyog
TWF0aE1MTWF0aEVsZW1lbnQuaCAqLzsgfTsKKwkJRkFBOEU4RDkxMDU5QjM0QzAwNTZEQzlGIC8q
IE1hdGhNTEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRkFBOEU4RDQxMDU5QjM0QzAwNTZEQzlGIC8qIE1hdGhNTEVsZW1lbnQuY3BwICov
OyB9OworCQlGQUE4RThEQTEwNTlCMzRDMDA1NkRDOUYgLyogTWF0aE1MRWxlbWVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFBOEU4RDUxMDU5QjM0
QzAwNTZEQzlGIC8qIE1hdGhNTEVsZW1lbnQuaCAqLzsgfTsKKwkJRkFBOEU4REIxMDU5QjM0QzAw
NTZEQzlGIC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFBOEU4RDYxMDU5QjM0QzAwNTZEQzlG
IC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwICovOyB9OworCQlGQUE4RThEQzEw
NTlCMzRDMDA1NkRDOUYgLyogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFBOEU4RDcxMDU5QjM0QzAw
NTZEQzlGIC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCAqLzsgfTsKKwkJRkFBOEU4
REQxMDU5QjM0QzAwNTZEQzlGIC8qIG1hdGh0YWdzLmluIGluIFJlc291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQUE4RThEODEwNTlCMzRDMDA1NkRDOUYgLyogbWF0
aHRhZ3MuaW4gKi87IH07CisJCUZBQThFOEU5MTA1OUI0MTYwMDU2REM5RiAvKiBNYXRoTUxFbGVt
ZW50RmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGQUE4RThFNzEwNTlCNDE2MDA1NkRDOUYgLyogTWF0aE1MRWxlbWVudEZhY3RvcnkuY3Bw
ICovOyB9OworCQlGQUE4RThFQTEwNTlCNDE2MDA1NkRDOUYgLyogTWF0aE1MTmFtZXMuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFBOEU4RTgxMDU5
QjQxNjAwNTZEQzlGIC8qIE1hdGhNTE5hbWVzLmNwcCAqLzsgfTsKIAkJRkU2RkQ0ODgwRjY3NkU1
NzAwMDkyODczIC8qIENvb3JkaW5hdGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGRTZGRDQ4NTBGNjc2RTU3MDAwOTI4NzMgLyogQ29vcmRpbmF0ZXMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGRTZG
RDQ4RDBGNjc2RTkzMDAwOTI4NzMgLyogSlNDb29yZGluYXRlcy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTZGRDQ4QjBGNjc2RTkzMDAwOTI4NzMg
LyogSlNDb29yZGluYXRlcy5jcHAgKi87IH07CiAJCUZFNkZENDhFMEY2NzZFOTMwMDA5Mjg3MyAv
KiBKU0Nvb3JkaW5hdGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGRTZGRDQ4QzBGNjc2RTkzMDAwOTI4NzMgLyogSlNDb29yZGluYXRlcy5oICovOyB9
OwpAQCAtOTgwOCw2ICs5ODE3LDE1IEBACiAJCUY5MTZDNDhDMERCNTEwRjgwMDc2Q0Q4MyAvKiBK
U1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRjlGMEVENzcwREI1MENBMjAwRDE2REI5IC8qIFhNTEh0dHBSZXF1ZXN0
UHJvZ3Jlc3NFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gWE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY5
RjBFRDc4MERCNTBDQTIwMEQxNkRCOSAvKiBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQUE2Njc4NjEwNTlCNTA5MDAwMkY2QjIg
LyogTWF0aE1MTWF0aEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTWF0aE1MTWF0aEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlGQUE2Njc4NzEwNTlCNTA5MDAwMkY2QjIgLyogTWF0aE1MTWF0aEVsZW1lbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWF0aE1MTWF0aEVsZW1lbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkFBOEU4RDQxMDU5QjM0QzAwNTZEQzlGIC8qIE1hdGhNTEVs
ZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWF0aE1MRWxl
bWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZBQThFOEQ1MTA1OUIzNEMw
MDU2REM5RiAvKiBNYXRoTUxFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE1hdGhNTEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkFBOEU4
RDYxMDU5QjM0QzAwNTZEQzlGIC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWF0aE1MSW5saW5lQ29udGFpbmVy
RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZBQThFOEQ3MTA1OUIz
NEMwMDU2REM5RiAvKiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkFBOEU4RDgxMDU5QjM0QzAwNTZEQzlGIC8qIG1h
dGh0YWdzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IG1hdGh0YWdzLmluOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlGQUE4RThFNzEwNTlCNDE2MDA1NkRDOUYgLyogTWF0aE1MRWxl
bWVudEZhY3RvcnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWF0
aE1MRWxlbWVudEZhY3RvcnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQUE4
RThFODEwNTlCNDE2MDA1NkRDOUYgLyogTWF0aE1MTmFtZXMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTWF0aE1MTmFtZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGRTQ5RUY5NzBEQzUxNDYyMDA0MjY2RTEgLyogRGFzaGJvYXJkU3VwcG9ydENT
U1Byb3BlcnR5TmFtZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRGFzaGJvYXJkU3VwcG9y
dENTU1Byb3BlcnR5TmFtZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFNkZE
NDg1MEY2NzZFNTcwMDA5Mjg3MyAvKiBDb29yZGluYXRlcy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDb29yZGluYXRlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlGRTZGRDQ4NjBGNjc2RTU3MDAwOTI4NzMgLyogQ29vcmRpbmF0ZXMuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IENvb3JkaW5hdGVzLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTk4ODcsNiArOTkwNSw3IEBACiAJCQkJOTNFRUMxRUMwOUMyODc3NzAwQzUxNUQxIC8qIGh0
bWwgKi8sCiAJCQkJMUM4MUI5NEQwRTk3MzJEOTAwMjY2RTA3IC8qIGluc3BlY3RvciAqLywKIAkJ
CQlCQ0IxNkJGQjA5NzlDMzg3MDA0Njc3NDEgLyogbG9hZGVyICovLAorCQkJCUZBQThFOEQzMTA1
OUIzNEMwMDU2REM5RiAvKiBtYXRobWwgKi8sCiAJCQkJMzMzRjcwM0QwRkI0OUMxNjAwOEUxMkE2
IC8qIG5vdGlmaWNhdGlvbnMgKi8sCiAJCQkJNjVCRjAyMTgwOTc0ODA2MzAwQzQzMTk2IC8qIHBh
Z2UgKi8sCiAJCQkJQkNGMUE1QkEwOTc4MzIwOTAwNjFBMTIzIC8qIHBsYXRmb3JtICovLApAQCAt
MTA4MDEsNiArMTA4MjAsOCBAQAogCQkJCTkzOEU2NUYwMDlGMDk4NDAwMDhBNDhFQyAvKiBKU0hU
TUxFbGVtZW50V3JhcHBlckZhY3RvcnkuaCAqLywKIAkJCQk4NTc0RDFGMTBBREU2MTIyMDA0Q0JB
MTEgLyogSlNTVkdFbGVtZW50V3JhcHBlckZhY3RvcnkuY3BwICovLAogCQkJCTg1NzREMUYyMEFE
RTYxMjIwMDRDQkExMSAvKiBKU1NWR0VsZW1lbnRXcmFwcGVyRmFjdG9yeS5oICovLAorCQkJCUZB
QThFOEU3MTA1OUI0MTYwMDU2REM5RiAvKiBNYXRoTUxFbGVtZW50RmFjdG9yeS5jcHAgKi8sCisJ
CQkJRkFBOEU4RTgxMDU5QjQxNjAwNTZEQzlGIC8qIE1hdGhNTE5hbWVzLmNwcCAqLywKIAkJCQk2
NTY1ODFFNjA5RDE1MDhEMDAwRTYxRDcgLyogU1ZHRWxlbWVudEZhY3RvcnkuY3BwICovLAogCQkJ
CTY1NjU4MUU3MDlEMTUwOEQwMDBFNjFENyAvKiBTVkdFbGVtZW50RmFjdG9yeS5oICovLAogCQkJ
CTY1NjU4MUU4MDlEMTUwOEQwMDBFNjFENyAvKiBTVkdOYW1lcy5jcHAgKi8sCkBAIC0xNTQxNyw2
ICsxNTQzOCwyMCBAQAogCQkJdGFiV2lkdGggPSA0OwogCQkJdXNlc1RhYnMgPSAwOwogCQl9Owor
CQlGQUE4RThEMzEwNTlCMzRDMDA1NkRDOUYgLyogbWF0aG1sICovID0geworCQkJaXNhID0gUEJY
R3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlGQUE4RThENDEwNTlCMzRDMDA1NkRDOUYgLyog
TWF0aE1MRWxlbWVudC5jcHAgKi8sCisJCQkJRkFBOEU4RDUxMDU5QjM0QzAwNTZEQzlGIC8qIE1h
dGhNTEVsZW1lbnQuaCAqLywKKwkJCQlGQUE4RThENjEwNTlCMzRDMDA1NkRDOUYgLyogTWF0aE1M
SW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAgKi8sCisJCQkJRkFBOEU4RDcxMDU5QjM0QzAwNTZE
QzlGIC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCAqLywKKwkJCQlGQUE2Njc4NjEw
NTlCNTA5MDAwMkY2QjIgLyogTWF0aE1MTWF0aEVsZW1lbnQuY3BwICovLAorCQkJCUZBQTY2Nzg3
MTA1OUI1MDkwMDAyRjZCMiAvKiBNYXRoTUxNYXRoRWxlbWVudC5oICovLAorCQkJCUZBQThFOEQ4
MTA1OUIzNEMwMDU2REM5RiAvKiBtYXRodGFncy5pbiAqLywKKwkJCSk7CisJCQlwYXRoID0gbWF0
aG1sOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIC8qIEVuZCBQQlhHcm91cCBz
ZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEhlYWRlcnNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KQEAg
LTE3NzkwLDYgKzE3ODI1LDkgQEAKIAkJCQk1OUM3N0YyQjEwNTQ1QjNCMDA1MDYxMDQgLyogR2Vv
bG9jYXRpb25TZXJ2aWNlTW9jay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM4QkYxNTExMDU4MTNC
RjAwQTQwQTA3IC8qIFVzZXJTdHlsZVNoZWV0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzhCRjE1
QTEwNTgxNDE4MDBBNDBBMDcgLyogVXNlclN0eWxlU2hlZXRUeXBlcy5oIGluIEhlYWRlcnMgKi8s
CisJCQkJRkFBOEU4REExMDU5QjM0QzAwNTZEQzlGIC8qIE1hdGhNTEVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUZBQThFOERDMTA1OUIzNEMwMDU2REM5RiAvKiBNYXRoTUxJbmxpbmVDb250
YWluZXJFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlGQUE2Njc4OTEwNTlCNTA5MDAwMkY2
QjIgLyogTWF0aE1MTWF0aEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMTc5MDAsNiArMTc5
MzgsNyBAQAogCQkJCTQ5RUVDREYwMTA1MDNDMjQwMDA5OUZBQiAvKiBDYW52YXNVbnNpZ25lZEJ5
dGVBcnJheS5pZGwgaW4gUmVzb3VyY2VzICovLAogCQkJCTQ5RUVDREYzMTA1MDNDMjQwMDA5OUZB
QiAvKiBDYW52YXNVbnNpZ25lZEludEFycmF5LmlkbCBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJNDlF
RUNERjYxMDUwM0MyNDAwMDk5RkFCIC8qIENhbnZhc1Vuc2lnbmVkU2hvcnRBcnJheS5pZGwgaW4g
UmVzb3VyY2VzICovLAorCQkJCUZBQThFOEREMTA1OUIzNEMwMDU2REM5RiAvKiBtYXRodGFncy5p
biBpbiBSZXNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJv
Y2Vzc2luZyA9IDA7CiAJCX07CkBAIC0xOTkyMyw2ICsxOTk2MiwxMSBAQAogCQkJCTQ5RUVEMTRG
MTA1MTk3MUEwMDA5OUZBQiAvKiBKU0NhbnZhc1JlbmRlcmluZ0NvbnRleHQzREN1c3RvbS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk0OUVFRDE1MDEwNTE5NzFBMDAwOTlGQUIgLyogSlNDYW52YXNS
ZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU5Qzc3RjJBMTA1
NDVCM0IwMDUwNjEwNCAvKiBHZW9sb2NhdGlvblNlcnZpY2VNb2NrLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCUZBQThFOEQ5MTA1OUIzNEMwMDU2REM5RiAvKiBNYXRoTUxFbGVtZW50LmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCUZBQThFOERCMTA1OUIzNEMwMDU2REM5RiAvKiBNYXRoTUxJbmxpbmVD
b250YWluZXJFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZBQThFOEU5MTA1OUI0MTYw
MDU2REM5RiAvKiBNYXRoTUxFbGVtZW50RmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlG
QUE4RThFQTEwNTlCNDE2MDA1NkRDOUYgLyogTWF0aE1MTmFtZXMuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJRkFBNjY3ODgxMDU5QjUwOTAwMDJGNkIyIC8qIE1hdGhNTE1hdGhFbGVtZW50LmNwcCBp
biBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwogCQl9OwpJbmRleDogV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCShyZXZpc2lvbiA0ODI2OSkKKysrIFdlYkNv
cmUvY3NzL0NTU1BhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxNDMsNyArMjE0Myw3IEBA
IFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU1BhcnNlcjo6cGFyc2VBdHQKICAgICBpZiAoYXR0ck5h
bWVbMF0gPT0gJy0nKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIGlmIChkb2N1bWVudCgpLT5p
c0hUTUxEb2N1bWVudCgpKQorICAgIGlmIChkb2N1bWVudCgpICYmIGRvY3VtZW50KCktPmlzSFRN
TERvY3VtZW50KCkpCiAgICAgICAgIGF0dHJOYW1lID0gYXR0ck5hbWUubG93ZXIoKTsKICAgICAK
ICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShhdHRyTmFtZSwgQ1NTUHJpbWl0
aXZlVmFsdWU6OkNTU19BVFRSKTsKSW5kZXg6IFdlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3Iu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCShyZXZp
c2lvbiA0ODI2OSkKKysrIFdlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xMTM5LDYgKzExMzksMTcgQEAgUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gQ1NT
U3R5bGVTZWxlY3RvcgogICAgIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKE1BVEhNTCkKKyAgICBz
dGF0aWMgYm9vbCBsb2FkZWRNYXRoTUxVc2VyQWdlbnRTaGVldDsKKyAgICBpZiAoZS0+aXNNYXRo
TUxFbGVtZW50KCkgJiYgIWxvYWRlZE1hdGhNTFVzZXJBZ2VudFNoZWV0KSB7CisgICAgICAgIC8v
IE1hdGhNTCBydWxlcy4KKyAgICAgICAgbG9hZGVkTWF0aE1MVXNlckFnZW50U2hlZXQgPSB0cnVl
OworICAgICAgICBDU1NTdHlsZVNoZWV0KiBtYXRobWxTaGVldCA9IHBhcnNlVUFTaGVldChtYXRo
bWxVc2VyQWdlbnRTdHlsZVNoZWV0LCBzaXplb2YobWF0aG1sVXNlckFnZW50U3R5bGVTaGVldCkp
OworICAgICAgICBkZWZhdWx0U3R5bGUtPmFkZFJ1bGVzRnJvbVNoZWV0KG1hdGhtbFNoZWV0LCBz
Y3JlZW5FdmFsKCkpOworICAgICAgICBkZWZhdWx0UHJpbnRTdHlsZS0+YWRkUnVsZXNGcm9tU2hl
ZXQobWF0aG1sU2hlZXQsIHByaW50RXZhbCgpKTsKKyAgICB9CisjZW5kaWYKKwogI2lmIEVOQUJM
RShXTUwpCiAgICAgc3RhdGljIGJvb2wgbG9hZGVkV01MVXNlckFnZW50U2hlZXQ7CiAgICAgaWYg
KGUtPmlzV01MRWxlbWVudCgpICYmICFsb2FkZWRXTUxVc2VyQWdlbnRTaGVldCkgewpJbmRleDog
V2ViQ29yZS9jc3MvbWF0aG1sLmNzcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9tYXRobWwu
Y3NzCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9jc3MvbWF0aG1sLmNzcwkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSwxNzAgQEAKK0BuYW1lc3BhY2UgImh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0
aC9NYXRoTUwiOworCisvKiBhcHByb3ZlZCAqLworbWF0aCB7CisgICAgZm9udC1mYW1pbHk6IFN5
bWJvbCwgU1RJWEdlbmVyYWwsICJOZXcgVGltZXMgUm9tYW4iOworICAgIGRpc3BsYXk6IGlubGlu
ZS1ibG9jazsKKyAgICBwYWRkaW5nOiAwcHg7CisgICAgbWFyZ2luOiAwcHg7CisgICAgdGV4dC1p
bmRlbnQ6MDsKKyAgICBmb250LXNpemU6IDEuMWVtOworICAgIHZlcnRpY2FsLWFsaWduOiBiYXNl
bGluZTsKK30KK21hdGhbZGlzcGxheT0iYmxvY2siXSB7CisgICAgZm9udC1mYW1pbHk6ICJOZXcg
VGltZXMgUm9tYW4iCisgICAgZGlzcGxheTogYmxvY2s7CisJdGV4dC1hbGlnbjogY2VudGVyOwor
CXBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsKK30KKworbWZyYWMgeworICAgIHZlcnRpY2FsLWFs
aWduOiBtaWRkbGU7Cit9CisKK21zdWIsIG1zdXAgeworICAgZGlzcGxheTogaW5saW5lLWJsb2Nr
OworfQorCittc3ViID4gKiArICogeworICAgdmVydGljYWwtYWxpZ246IHN1YjsKKyAgIGZvbnQt
c2l6ZTogMC43NWVtOworICAgbGluZS1oZWlnaHQ6IDAuNzVlbTsKK30KKworbXN1cCA+ICogKyAq
IHsKKyAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjsKKyAgIGZvbnQtc2l6ZTogMC43NWVtOworICAg
bGluZS1oZWlnaHQ6IDAuNzVlbTsKK30KKworbXN1YnN1cCA+ICogeworICAgIG1hcmdpbjogMHB4
OworICAgIHBhZGRpbmc6IDBweDsKKyAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOworfQorCitt
c3Vic3VwID4gKiArICogeworICAgZm9udC1zaXplOiAwLjc1ZW07CisgICBsaW5lLWhlaWdodDog
MC43NWVtOworfQorCittdW5kZXJvdmVyIHsKKyAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwor
fQorCittdW5kZXJvdmVyID4gKiArICosIG1vdmVyID4gKiArICosIG11bmRlciA+ICogKyAqIHsK
KyAgIGZvbnQtc2l6ZTogMC43NWVtOworICAgbGluZS1oZWlnaHQ6IDAuNTYyNWVtOworfQorCitt
cm93IHsKKyAgICBsaW5lLWhlaWdodDogMWVtOworICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7Cisg
ICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKK30KKworbWZlbmNlZCA+ICogeworICAgIHZlcnRp
Y2FsLWFsaWduOiBtaWRkbGU7Cit9CisKK21vLCBtbiwgbWkgeworICAgbGluZS1oZWlnaHQ6IDAu
NzVlbTsKKyAgIHBhZGRpbmc6IDBweDsKKyAgIG1hcmdpbjogMHB4OworfQorCittb1ttYXRoc2l6
ZT0ic21hbGwiXSwgbW5bbWF0aHNpemU9InNtYWxsIl0sIG1pW21hdGhzaXplPSJzbWFsbCJdIHsK
KyAgIGZvbnQtc2l6ZTogMC43NWVtOworICAgbGluZS1oZWlnaHQ6IDAuNTYyNWVtOworfQorCitt
b1ttYXRoc2l6ZT0ibm9ybWFsIl0sbW5bbWF0aHNpemU9Im5vcm1hbCJdLG1pW21hdGhzaXplPSJu
b3JtYWwiXSB7CisgICBmb250LXNpemU6IDFlbTsKKyAgIGxpbmUtaGVpZ2h0OiAwLjc1ZW07Cit9
CisKK21vW21hdGhzaXplPSJiaWciXSwgbW5bbWF0aHNpemU9ImJpZyJdLCBtaVttYXRoc2l6ZT0i
YmlnIl0geworICAgbGluZS1oZWlnaHQ6IDEuMmVtOworICAgZm9udC1zaXplOiAxLjVlbTsKK30K
KyAKK2Fubm90YXRpb24sIGFubm90YXRpb24teG1sIHsKKyAgICBkaXNwbGF5Om5vbmU7Cit9CisK
K21waGFudG9tIHsKKyAgICB2aXNpYmlsaXR5OiBoaWRkZW47Cit9CittZXJyb3IgeworICAgIG91
dGxpbmU6IHNvbGlkIHRoaW4gcmVkOworfQorCittc3FydCB7CisgICAgcGFkZGluZy10b3A6IDAu
MmVtOworICAgIHBhZGRpbmctbGVmdDogMC43NWVtOworfQorCittcm9vdCB7CisgICAgcGFkZGlu
Zy10b3A6IDAuMmVtOworICAgIHBhZGRpbmctbGVmdDogMC4yZW07Cit9CisKK21yb290ID4gKiAr
ICogeworICAgIGZvbnQtc2l6ZTogMC43NWVtOworICAgIGxpbmUtaGVpZ2h0OiAwLjc1ZW07Cisg
ICAgdmVydGljYWwtYWxpZ246IHRvcDsKKyAgICBwYWRkaW5nLXJpZ2h0OiAwLjNlbTsKK30KKwor
bXRhYmxlIHsKKyAgICBkaXNwbGF5OmlubGluZS10YWJsZTsKKyAgICBsaW5lLWhlaWdodDoxLjVl
bTsKKyAgICB0ZXh0LWFsaWduOmNlbnRlcjsKKyAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Cit9
CittdHIgeworICAgIGRpc3BsYXk6dGFibGUtcm93OworfQorbXRkIHsKKyAgICBkaXNwbGF5OnRh
YmxlLWNlbGw7CisJcGFkZGluZzowIDAuNWV4OworfQorCittdGFibGVbY29sdW1uYWxpZ249Imxl
ZnQiXSwgbXRyW2NvbHVtbmFsaWduPSJsZWZ0Il0sIG10ZFtjb2x1bW5hbGlnbj0ibGVmdCJdIHsK
KyAgICB0ZXh0LWFsaWduOiBsZWZ0OworfQorCittdGFibGVbY29sdW1uYWxpZ249InJpZ2h0Il0s
IG10cltjb2x1bW5hbGlnbj0icmlnaHQiXSwgbXRkW2NvbHVtbmFsaWduPSJyaWdodCJdIHsKKyAg
ICB0ZXh0LWFsaWduOiByaWdodDsKK30KK210YWJsZVtyb3dhbGlnbj0idG9wIl0gbXRkLCBtdGFi
bGUgbXRyW3Jvd2FsaWduPSJ0b3AiXSBtdGQsIG10YWJsZSBtdHIgbXRkW3Jvd2FsaWduPSJ0b3Ai
XSB7CisgICAgdmVydGljYWwtYWxpZ246IHRvcDsKK30KK210YWJsZVtyb3dhbGlnbj0iYm90dG9t
Il0gbXRkLCBtdGFibGUgbXRyW3Jvd2FsaWduPSJib3R0b20iXSBtdGQsIG10YWJsZSBtdHIgbXRk
W3Jvd2FsaWduPSJib3R0b20iXSB7CisgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsKK30KK210
YWJsZVtyb3dhbGlnbj0iY2VudGVyIl0gbXRkLCBtdGFibGUgbXRyW3Jvd2FsaWduPSJjZW50ZXIi
XSBtdGQsIG10YWJsZSBtdHIgbXRkW3Jvd2FsaWduPSJjZW50ZXIiXSB7CisgICAgdmVydGljYWwt
YWxpZ246IG1pZGRsZTsKK30KK210YWJsZVtmcmFtZT0ic29saWQiXSB7CisgICAgYm9yZGVyOiBz
b2xpZCB0aGluOworfQorbXRhYmxlW2ZyYW1lPSJkYXNoZWQiXSB7CisgICAgYm9yZGVyOiBkYXNo
ZWQgdGhpbjsKK30KK210YWJsZVtyb3dsaW5lcz0ic29saWQiXSwgbXRhYmxlW3Jvd2xpbmVzPSJk
YXNoZWQiXSwgbXRhYmxlW2NvbHVtbmxpbmVzPSJzb2xpZCJdLCBtdGFibGVbY29sdW1ubGluZXM9
ImRhc2hlZCJdIHsKKyAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOworfQorbXRhYmxlW3Jv
d2xpbmVzPSJzb2xpZCJdID4gbXRyICsgbXRyIHsKKyAgICBib3JkZXItdG9wOnNvbGlkIHRoaW47
Cit9CittdGFibGVbcm93bGluZXM9ImRhc2hlZCJdID4gbXRyICsgbXRyIHsKKyAgICBib3JkZXIt
dG9wOmRhc2hlZCB0aGluOworfQorbXRhYmxlW2NvbHVtbmxpbmVzPSJzb2xpZCJdID4gbXRyID4g
bXRkICsgbXRkIHsKKyAgICBib3JkZXItbGVmdDpzb2xpZCB0aGluOworfQorbXRhYmxlW2NvbHVt
bmxpbmVzPSJkYXNoZWQiXSA+IG10ciA+IG10ZCArIG10ZCB7CisgICAgYm9yZGVyLWxlZnQ6ZGFz
aGVkIHRoaW47Cit9CisKSW5kZXg6IFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDQ4MjY5KQorKysgV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzQsNiArMTc0LDEyIEBACiAj
aW5jbHVkZSAiV01MTmFtZXMuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKE1BVEhNTCkKKyNpbmNs
dWRlICJNYXRoTUxFbGVtZW50LmgiCisjaW5jbHVkZSAiTWF0aE1MRWxlbWVudEZhY3RvcnkuaCIK
KyNpbmNsdWRlICJNYXRoTUxOYW1lcy5oIgorI2VuZGlmCisKICNpZiBFTkFCTEUoWEhUTUxNUCkK
ICNpbmNsdWRlICJIVE1MTm9TY3JpcHRFbGVtZW50LmgiCiAjZW5kaWYKQEAgLTgwMyw2ICs4MDks
MTAgQEAgUGFzc1JlZlB0cjxFbGVtZW50PiBEb2N1bWVudDo6Y3JlYXRlRWxlbQogICAgIGVsc2Ug
aWYgKGlzV01MRG9jdW1lbnQoKSkKICAgICAgICAgZSA9IFdNTEVsZW1lbnRGYWN0b3J5OjpjcmVh
dGVXTUxFbGVtZW50KFF1YWxpZmllZE5hbWUobnVsbEF0b20sIHFOYW1lLmxvY2FsTmFtZSgpLCBX
TUxOYW1lczo6d21sTmFtZXNwYWNlVVJJKSwgdGhpcywgY3JlYXRlZEJ5UGFyc2VyKTsKICNlbmRp
ZgorI2lmIEVOQUJMRShNQVRITUwpCisgICAgZWxzZSBpZiAocU5hbWUubmFtZXNwYWNlVVJJKCkg
PT0gTWF0aE1MTmFtZXM6Om1hdGhtbE5hbWVzcGFjZVVSSSkKKyAgICAgICAgZSA9IE1hdGhNTEVs
ZW1lbnRGYWN0b3J5OjpjcmVhdGVNYXRoTUxFbGVtZW50KHFOYW1lLCB0aGlzLCBjcmVhdGVkQnlQ
YXJzZXIpOworI2VuZGlmCiAgICAgCiAgICAgaWYgKCFlKQogICAgICAgICBlID0gRWxlbWVudDo6
Y3JlYXRlKHFOYW1lLCBkb2N1bWVudCgpKTsKSW5kZXg6IFdlYkNvcmUvZG9tL05vZGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9Ob2RlLmgJKHJldmlzaW9uIDQ4MjY5KQorKysgV2ViQ29y
ZS9kb20vTm9kZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xODMsNiArMTgzLDEzIEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgYm9vbCBpc1dNTEVsZW1lbnQoKSB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlm
CiAKKyNpZiBFTkFCTEUoTUFUSE1MKQorICAgIHZpcnR1YWwgYm9vbCBpc01hdGhNTEVsZW1lbnQo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2Vsc2UKKyAgICBzdGF0aWMgYm9vbCBpc01hdGhN
TEVsZW1lbnQoKSB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCisKKwogICAgIHZpcnR1YWwgYm9v
bCBpc01lZGlhQ29udHJvbEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZp
cnR1YWwgYm9vbCBpc1N0eWxlZEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAg
IHZpcnR1YWwgYm9vbCBpc0ZyYW1lT3duZXJFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KSW5kZXg6IFdlYkNvcmUvbWF0aG1sL01hdGhNTEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvbWF0aG1sL01hdGhNTEVsZW1lbnQuY3BwCShyZXZpc2lvbiAwKQorKysgV2ViQ29y
ZS9tYXRobWwvTWF0aE1MRWxlbWVudC5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTkgQEAK
Ky8qCisgKiAgTWF0aE1MRWxlbWVudC5jcHAKKyAqICBXZWJDb3JlCisgKgorICogIENvcHlyaWdo
dCAoQykgMjAwOSBBbGV4IE1pbG93c2tpIChhbGV4QG1pbG93c2tpLmNvbSkuCisgKgorIAorIAor
IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgcHJvamVjdAorIAorIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwor
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgorIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KKyAKKyBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgCisgWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQorIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCisgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwg
NTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyBCb3N0b24sIE1BIDAyMTEwLTEzMDEs
IFVTQS4KKyAKKyAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoTUFU
SE1MKQorCisjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCisjaW5jbHVkZSAiTWF0aE1MRWxlbWVu
dC5oIgorI2luY2x1ZGUgIk1hdGhNTE5hbWVzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAg
ICAKK3VzaW5nIG5hbWVzcGFjZSBNYXRoTUxOYW1lczsKKyAgICAKK01hdGhNTEVsZW1lbnQ6Ok1h
dGhNTEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3Vt
ZW50KQorICAgIDogU3R5bGVkRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCwgQ3JlYXRlRWxlbWVu
dFplcm9SZWZDb3VudCkKK3sKK30KKyAgICAKK1Bhc3NSZWZQdHI8TWF0aE1MRWxlbWVudD4gTWF0
aE1MRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50
KiBkb2N1bWVudCkKK3sKKyAgICByZXR1cm4gbmV3IE1hdGhNTEVsZW1lbnQodGFnTmFtZSwgZG9j
dW1lbnQpOworfQorCitSZW5kZXJPYmplY3QqIE1hdGhNTEVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVy
KFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqIHN0eWxlKQoreworICAgIHJldHVybiBSZW5kZXJP
YmplY3Q6OmNyZWF0ZU9iamVjdCh0aGlzLCBzdHlsZSk7Cit9CisgICAgCisgICAgCit9CisKKyNl
bmRpZgpJbmRleDogV2ViQ29yZS9tYXRobWwvTWF0aE1MRWxlbWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvbWF0aG1sL01hdGhNTEVsZW1lbnQuaAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUv
bWF0aG1sL01hdGhNTEVsZW1lbnQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MSBAQAorLyoK
KyAqICBNYXRoTUxFbGVtZW50LmgKKyAqICBXZWJDb3JlCisgKgorICogIENvcHlyaWdodCAoQykg
MjAwOSBBbGV4IE1pbG93c2tpIChhbGV4QG1pbG93c2tpLmNvbSkuCisgKgorIAorIFRoaXMgZmls
ZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgcHJvamVjdAorIAorIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KKyAKKyBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKKyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgCisgWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3Qs
IHdyaXRlIHRvCisgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAK
KyAqLworCisjaWZuZGVmIE1hdGhNTEVsZW1lbnRfaAorI2RlZmluZSBNYXRoTUxFbGVtZW50X2gK
KworI2lmIEVOQUJMRShNQVRITUwpCisjaW5jbHVkZSAiU3R5bGVkRWxlbWVudC5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisgICAgCisgICAgY2xhc3MgTWF0aE1MRWxlbWVudCA6IHB1YmxpYyBT
dHlsZWRFbGVtZW50IHsKKyAgICBwdWJsaWM6CisgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1h
dGhNTEVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVu
dCopOworICAgICAgICAKKyAgICAgICAgdmlydHVhbCBib29sIGlzTWF0aE1MRWxlbWVudCgpIGNv
bnN0IHsgcmV0dXJuIHRydWU7IH0KKyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgUmVuZGVyT2Jq
ZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CisgICAgICAg
IAorICAgIHByb3RlY3RlZDoKKyAgICAgICAgTWF0aE1MRWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiB0YWdOYW1lLCBEb2N1bWVudCopOworICAgICAgICAKKyAgICB9OworICAgIAorfQorCisj
ZW5kaWYKKyNlbmRpZgpJbmRleDogV2ViQ29yZS9tYXRobWwvTWF0aE1MSW5saW5lQ29udGFpbmVy
RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9tYXRobWwvTWF0aE1MSW5saW5lQ29u
dGFpbmVyRWxlbWVudC5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL21hdGhtbC9NYXRoTUxJ
bmxpbmVDb250YWluZXJFbGVtZW50LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1OSBAQAor
LyoKKyAqICBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNwcAorICogIFdlYkNvcmUKKyAq
CisgKiAgQ29weXJpZ2h0IChDKSAyMDA5IEFsZXggTWlsb3dza2kgKGFsZXhAbWlsb3dza2kuY29t
KS4KKyAqCisgCisgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdlYktpdCBwcm9qZWN0CisgCisg
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgorIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCisgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCisgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIAorIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
KyBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAKKyBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCisgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBD
T1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorIEJvc3RvbiwgTUEg
MDIxMTAtMTMwMSwgVVNBLgorIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVO
QUJMRShNQVRITUwpCisKKyNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKKyNpbmNsdWRlICJNYXRo
TUxJbmxpbmVDb250YWluZXJFbGVtZW50LmgiCisjaW5jbHVkZSAiTWF0aE1MTmFtZXMuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworICAgIAordXNpbmcgbmFtZXNwYWNlIE1hdGhNTE5hbWVzOwor
CitNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50OjpNYXRoTUxJbmxpbmVDb250YWluZXJFbGVt
ZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKKyAg
ICA6IE1hdGhNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCit7Cit9CisKK1Bhc3NSZWZQdHI8
TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudD4gTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVu
dDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVu
dCkKK3sKKyAgICByZXR1cm4gbmV3IE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQodGFnTmFt
ZSwgZG9jdW1lbnQpOworfQorCitSZW5kZXJPYmplY3QqIE1hdGhNTElubGluZUNvbnRhaW5lckVs
ZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hICosIFJlbmRlclN0eWxlKiBzdHlsZSkK
K3sKKyAgICAvLyBGSVhNRTogVGhpcyBtZXRob2Qgd2lsbCBjb250YWluIHRoZSBzcGVjaWFsaXpl
ZCByZW5kZXJlcnMgYmFzZWQgb24gZWxlbWVudCBuYW1lCisgICAgcmV0dXJuIFJlbmRlck9iamVj
dDo6Y3JlYXRlT2JqZWN0KHRoaXMsIHN0eWxlKTsKK30KKyAgICAKKyAgICAKK30KKworI2VuZGlm
CisKSW5kZXg6IFdlYkNvcmUvbWF0aG1sL01hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50
LmgJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJF
bGVtZW50LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiAgTWF0aE1MSW5s
aW5lQ29udGFpbmVyRWxlbWVudC5oCisgKiAgV2ViQ29yZQorICoKKyAqICBDb3B5cmlnaHQgKEMp
IDIwMDkgQWxleCBNaWxvd3NraSAoYWxleEBtaWxvd3NraS5jb20pLgorICoKKyAKKyBUaGlzIGZp
bGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IHByb2plY3QKKyAKKyBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisgCisgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCisgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIAorIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bworIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisg
CisgKi8KKworI2lmbmRlZiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50X2gKKyNkZWZpbmUg
TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudF9oCisKKyNpZiBFTkFCTEUoTUFUSE1MKQorI2lu
Y2x1ZGUgIk1hdGhNTEVsZW1lbnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworICAgIAorICAg
IGNsYXNzIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQgOiBwdWJsaWMgTWF0aE1MRWxlbWVu
dCB7CisgICAgcHVibGljOgorICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxNYXRoTUxJbmxpbmVD
b250YWluZXJFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9j
dW1lbnQqKTsKKyAgICAKKyAgICAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRl
cmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKKyAgICAKKyAgICBwcm90ZWN0ZWQ6Cisg
ICAgICAgIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYg
dGFnTmFtZSwgRG9jdW1lbnQqKTsKKyAgICAKKyAgICB9OworICAgIAorfQorCisjZW5kaWYKKyNl
bmRpZgpJbmRleDogV2ViQ29yZS9tYXRobWwvTWF0aE1MTWF0aEVsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvbWF0aG1sL01hdGhNTE1hdGhFbGVtZW50LmNwcAkocmV2aXNpb24gMCkK
KysrIFdlYkNvcmUvbWF0aG1sL01hdGhNTE1hdGhFbGVtZW50LmNwcAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSw1MSBAQAorLyoKKyAqICBNYXRoTWF0aE1MRWxlbWVudC5jcHAKKyAqICBXZWJDb3Jl
CisgKgorICogIENvcHlyaWdodCAoQykgMjAwOSBBbGV4IE1pbG93c2tpIChhbGV4QG1pbG93c2tp
LmNvbSkuCisgKgorIAorIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgcHJvamVjdAor
IAorIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKKyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYworIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb247IGVpdGhlcgorIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAKKyBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCisgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisg
CisgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQorIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyBCb3N0b24s
IE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNp
ZiBFTkFCTEUoTUFUSE1MKQorCisjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCisjaW5jbHVkZSAi
TWF0aE1MTWF0aEVsZW1lbnQuaCIKKyNpbmNsdWRlICJNYXRoTUxOYW1lcy5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisgICAgCit1c2luZyBuYW1lc3BhY2UgTWF0aE1MTmFtZXM7CisKK01hdGhN
TE1hdGhFbGVtZW50OjpNYXRoTUxNYXRoRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdO
YW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCisgICAgOiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVt
ZW50KHRhZ05hbWUsIGRvY3VtZW50KQoreworfQorCitQYXNzUmVmUHRyPE1hdGhNTE1hdGhFbGVt
ZW50PiBNYXRoTUxNYXRoRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05h
bWUsIERvY3VtZW50KiBkb2N1bWVudCkKK3sKKyAgICByZXR1cm4gbmV3IE1hdGhNTE1hdGhFbGVt
ZW50KHRhZ05hbWUsIGRvY3VtZW50KTsKK30KKworfQorCisjZW5kaWYKSW5kZXg6IFdlYkNvcmUv
bWF0aG1sL01hdGhNTE1hdGhFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9tYXRobWwv
TWF0aE1MTWF0aEVsZW1lbnQuaAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvbWF0aG1sL01hdGhN
TE1hdGhFbGVtZW50LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiAgTWF0
aE1hdGhNTEVsZW1lbnQuaAorICogIFdlYkNvcmUKKyAqCisgKiAgQ29weXJpZ2h0IChDKSAyMDA5
IEFsZXggTWlsb3dza2kgKGFsZXhAbWlsb3dza2kuY29tKS4KKyAqCisgCisgVGhpcyBmaWxlIGlz
IHBhcnQgb2YgdGhlIFdlYktpdCBwcm9qZWN0CisgCisgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgdmVyc2lv
biAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgorIAorIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAorIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAKKyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KKyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT
dHJlZXQsIEZpZnRoIEZsb29yLAorIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorIAorICov
CisKKyNpZm5kZWYgTWF0aE1MTWF0aEVsZW1lbnRfaAorI2RlZmluZSBNYXRoTUxNYXRoRWxlbWVu
dF9oCisKKyNpZiBFTkFCTEUoTUFUSE1MKQorI2luY2x1ZGUgIk1hdGhNTElubGluZUNvbnRhaW5l
ckVsZW1lbnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworICAgIAorICAgIGNsYXNzIE1hdGhN
TE1hdGhFbGVtZW50IDogcHVibGljIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQgeworICAg
IHB1YmxpYzoKKyAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8TWF0aE1MTWF0aEVsZW1lbnQ+IGNy
ZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCopOworICAgICAgICAK
KyAgICBwcm90ZWN0ZWQ6CisgICAgICAgIE1hdGhNTE1hdGhFbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Kik7CisgICAgICAgIAorICAgIH07CisgICAgCit9CisK
KyNlbmRpZgorI2VuZGlmCkluZGV4OiBXZWJDb3JlL21hdGhtbC9tYXRodGFncy5pbgo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL21hdGhtbC9tYXRodGFncy5pbgkocmV2aXNpb24gMCkKKysrIFdlYkNv
cmUvbWF0aG1sL21hdGh0YWdzLmluCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIxIEBACituYW1l
c3BhY2U9Ik1hdGhNTCIKK25hbWVzcGFjZVVSST0iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRo
L01hdGhNTCIKK2d1YXJkRmFjdG9yeVdpdGg9IkVOQUJMRShNQVRITUwpIgorZXhwb3J0U3RyaW5n
cworCittYXRoCittZnJhYyBpbnRlcmZhY2VOYW1lPU1hdGhNTElubGluZUNvbnRhaW5lckVsZW1l
bnQKK21mZW5jZWQgaW50ZXJmYWNlTmFtZT1NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50Citt
c3Vic3VwIGludGVyZmFjZU5hbWU9TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudAorbXJvdyBp
bnRlcmZhY2VOYW1lPU1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQKK21vdmVyIGludGVyZmFj
ZU5hbWU9TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudAorbXVuZGVyIGludGVyZmFjZU5hbWU9
TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudAorbXVuZGVyb3ZlciBpbnRlcmZhY2VOYW1lPU1h
dGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQKK21zcXJ0IGludGVyZmFjZU5hbWU9TWF0aE1MSW5s
aW5lQ29udGFpbmVyRWxlbWVudAorbXJvb3QgaW50ZXJmYWNlTmFtZT1NYXRoTUxJbmxpbmVDb250
YWluZXJFbGVtZW50CittaSBpbnRlcmZhY2VOYW1lPU1hdGhNTEVsZW1lbnQsIGNyZWF0ZVdpdGhO
ZXcKK21uIGludGVyZmFjZU5hbWU9TWF0aE1MRWxlbWVudCwgY3JlYXRlV2l0aE5ldworbW8gaW50
ZXJmYWNlTmFtZT1NYXRoTUxFbGVtZW50LCBjcmVhdGVXaXRoTmV3Cittc3ViIGludGVyZmFjZU5h
bWU9TWF0aE1MRWxlbWVudCwgY3JlYXRlV2l0aE5ldworbXN1cCBpbnRlcmZhY2VOYW1lPU1hdGhN
TEVsZW1lbnQsIGNyZWF0ZVdpdGhOZXcKKwpJbmRleDogV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCShyZXZpc2lvbiA0ODI2OSkKKysr
IFdlYkNvcmUvcGFnZS9GcmFtZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk3LDYgKzk3LDEwIEBA
CiAjaW5jbHVkZSAiV01MTmFtZXMuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKE1BVEhNTCkKKyNp
bmNsdWRlICJNYXRoTUxOYW1lcy5oIgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTE1Miw2ICsxNTYsMTAgQEAgRnJhbWU6OkZyYW1lKFBh
Z2UqIHBhZ2UsIEhUTUxGcmFtZU93bmVyRQogICAgIFdNTE5hbWVzOjppbml0KCk7CiAjZW5kaWYK
IAorI2lmIEVOQUJMRShNQVRITUwpCisgICAgTWF0aE1MTmFtZXM6OmluaXQoKTsKKyNlbmRpZgor
CiAgICAgWE1MTmFtZXM6OmluaXQoKTsKIAogICAgIGlmICghb3duZXJFbGVtZW50KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39402</attachid>
            <date>2009-09-10 18:09:15 -0700</date>
            <delta_ts>2009-09-12 08:07:14 -0700</delta_ts>
            <desc>Updated patch with synchronized FeatureDefines.xcconfig</desc>
            <filename>WebKit-mathml-css.patch</filename>
            <type>text/plain</type>
            <size>38372</size>
            <attacher name="Alex Milowski">alex</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ4MjczKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTEgQEAKKzIwMDktMDktMTAgIEFsZXggTWls
b3dza2kgIDxhbGV4QG1pbG93c2tpLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0aGUgRU5BQkxFX01BVEhNTCBkZWZpbmUgdG8gdGhl
IGZlYXR1cmVzCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZzoKKwogMjAwOS0wOS0xMCAgTWFyayBSb3dlICA8bXJvd2VAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJ1YmJlci1zdGFtcGVkIGJ5IFNhbSBXZWluaWcuCkluZGV4OiBKYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZh
U2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNp
b24gNDgyNzMpCisrKyBKYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQCBFTkFCTEVfRklMVEVS
UyA9IDsKIEVOQUJMRV9HRU9MT0NBVElPTiA9IDsKIEVOQUJMRV9JQ09OREFUQUJBU0UgPSBFTkFC
TEVfSUNPTkRBVEFCQVNFOwogRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIgPSBFTkFCTEVfSkFW
QVNDUklQVF9ERUJVR0dFUjsKK0VOQUJMRV9NQVRITUwgPSBFTkFCTEVfTUFUSE1MOwogRU5BQkxF
X05PVElGSUNBVElPTlMgPSA7CiBFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TID0gRU5B
QkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUzsKIEVOQUJMRV9SVUJZID0gRU5BQkxFX1JVQlk7
CkBAIC02Miw0ICs2Myw0IEBAIEVOQUJMRV9XT1JLRVJTID0gRU5BQkxFX1dPUktFUlM7CiBFTkFC
TEVfWFBBVEggPSBFTkFCTEVfWFBBVEg7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1G
RUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9DQU5WQVMpICQoRU5BQkxFXzNEX1JFTkRFUklO
RykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJM
RV9EQVRBR1JJRCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RPTV9TVE9SQUdFKSAkKEVO
QUJMRV9FVkVOVFNPVVJDRSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChF
TkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKSAk
KEVOQUJMRV9SVUJZKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1ZHKSAkKEVO
QUJMRV9TVkdfQU5JTUFUSU9OKSAkKEVOQUJMRV9TVkdfQVNfSU1BR0UpICQoRU5BQkxFX1NWR19E
T01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfRk9SRUlH
Tl9PQkpFQ1QpICQoRU5BQkxFX1NWR19VU0UpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9XRUJf
U09DS0VUUykgJChFTkFCTEVfV01MKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YUEFUSCkg
JChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9DQU5WQVMpICQo
RU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxF
X0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRBR1JJRCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxF
X0RPTV9TVE9SQUdFKSAkKEVOQUJMRV9FVkVOVFNPVVJDRSkgJChFTkFCTEVfRklMVEVSUykgJChF
TkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSkFWQVND
UklQVF9ERUJVR0dFUikgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAk
KEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpICQoRU5BQkxFX1JVQlkpICQoRU5BQkxF
X1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19BTklNQVRJT04pICQo
RU5BQkxFX1NWR19BU19JTUFHRSkgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19GT1JFSUdOX09CSkVDVCkgJChFTkFCTEVfU1ZH
X1VTRSkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XTUwp
ICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6
IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9nCShyZXZp
c2lvbiA0ODI3MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsODEgQEAKKzIwMDktMDktMTAgIEFsZXggTWlsb3dza2kgIDxhbGV4QG1pbG93c2tpLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRzIENT
UyBzdHlsaW5nIGFuZCBiYXNpYyBET00gZWxlbWVudCBzdXBwb3J0IGZvciBNYXRoTUwKKworICAg
ICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCisgICAgICAg
ICAgQWRkZWQgRU5BQkxFX01BVEhNTCB0byBmZWF0dXJlcworCisgICAgICAgICogRGVyaXZlZFNv
dXJjZXMubWFrZToKKworICAgICAgICAgIEFkZGVkIHVzZXIgc3R5bGVzaGVldCBhbmQgdGFnIGZh
Y3RvcnkgZ2VuZXJhdGlvbgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorCisgICAgICAgICAgQWRkZWQgbmV3IERPTSBlbGVtZW50IGNvZGUKKworICAgICAg
ICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJz
ZUF0dHIpOgorCisgICAgICAgICAgQWRkZWQgY2hlY2sgZm9yIGRvY3VtZW50IHNpbmNlIHN0eWxl
c2hlZXQgY2FuIGJlIGFkZGVkIGJlZm9yZSB0aGVyZSBpcyBhIGRvY3VtZW50CisKKyAgICAgICAg
KiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNl
bGVjdG9yOjpzdHlsZUZvckVsZW1lbnQpOgorCisgICAgICAgICAgQWRkZWQgY2hlY2sgdG8gYWRk
IE1hdGhNTCB1c2VyIGFnZW50IHN0eWxlc2hlZXQKKworICAgICAgICAqIGNzcy9tYXRobWwuY3Nz
OiBBZGRlZC4KKworICAgICAgICAgIE1hdGhNTCB1c2VyIGFnZW50IHN0eWxlc2hlZXQKKworICAg
ICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Y3Jl
YXRlRWxlbWVudCk6CisKKyAgICAgICAgICBBZGRlZCBzdXBwb3J0IGZvciBjcmVhdGlvbiBvZiBN
YXRoTUwgRE9NIG9iamVjdHMKKworICAgICAgICAqIGRvbS9Ob2RlLmg6CisgICAgICAgIChXZWJD
b3JlOjpOb2RlOjppc01hdGhNTEVsZW1lbnQpOgorCisgICAgICAgICAgQWRkZWQgY2hlY2sgbWV0
aG9kIGZvciB3aGV0aGVyIHRoZSBub2RlIGlzIGEgTWF0aE1MIG5vZGUKKworICAgICAgICAqIG1h
dGhtbDogQWRkZWQuCisgICAgICAgICogbWF0aG1sL01hdGhNTEVsZW1lbnQuY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTEVsZW1lbnQ6Ok1hdGhNTEVsZW1lbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6TWF0aE1MRWxlbWVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1h
dGhNTEVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKiBtYXRobWwvTWF0aE1MRWxl
bWVudC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTEVsZW1lbnQ6OmlzTWF0aE1M
RWxlbWVudCk6CisKKyAgICAgICAgICBNYXRoTUwgRE9NIGJhc2UgY2xhc3MKKworCisgICAgICAg
ICogbWF0aG1sL01hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6Ok1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQ6Ok1hdGhNTElubGluZUNv
bnRhaW5lckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MSW5saW5lQ29udGFpbmVy
RWxlbWVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTElubGluZUNvbnRhaW5l
ckVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKiBtYXRobWwvTWF0aE1MSW5saW5l
Q29udGFpbmVyRWxlbWVudC5oOiBBZGRlZC4KKworICAgICAgICAgIEJhc2UgY2xhc3MgZm9yIG5v
bi10ZXh0IGNvbnRhaW5lcnMKKworICAgICAgICAqIG1hdGhtbC9NYXRoTUxNYXRoRWxlbWVudC5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MTWF0aEVsZW1lbnQ6Ok1hdGhNTE1h
dGhFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTE1hdGhFbGVtZW50OjpjcmVhdGUp
OgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxNYXRoRWxlbWVudC5oOiBBZGRlZC4KKworICAgICAg
ICAgIFJvb3QgTWF0aCBlbGVtZW50CisKKyAgICAgICAgKiBtYXRobWwvbWF0aHRhZ3MuaW46IEFk
ZGVkLgorCisgICAgICAgICAgRWxlbWVudCBsaXN0IG1hcHBpbmdzCisKKyAgICAgICAgKiBwYWdl
L0ZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpGcmFtZSk6CisKKyAgICAgICAg
ICBBZGRlZCBNYXRoTUwgbmFtZSBpbml0aWFsaXphdGlvbgorCisKIDIwMDktMDktMTAgIE1hcmsg
Um93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KIAogICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBTYW0g
V2VpbmlnLgpJbmRleDogV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQkocmV2aXNpb24gNDgyNzMpCisrKyBXZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHdvcmtpbmcgY29weSkKQEAgLTQ0Miw2ICs0NDIsOCBAQCBh
bGwgOiBcCiAgICAgVXNlckFnZW50U3R5bGVTaGVldHMuaCBcCiAgICAgWExpbmtOYW1lcy5jcHAg
XAogICAgIFhNTE5hbWVzLmNwcCBcCisgICAgTWF0aE1MRWxlbWVudEZhY3RvcnkuY3BwIFwKKyAg
ICBNYXRoTUxOYW1lcy5jcHAgXAogICAgIFhQYXRoR3JhbW1hci5jcHAgXAogICAgIHRva2VuaXpl
ci5jcHAgXAogIwpAQCAtNTY1LDYgKzU2NywxMCBAQCBpZmVxICgkKGZpbmRzdHJpbmcgRU5BQkxF
X1dNTCwkKEZFQVRVUkVfCiAgICAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgOj0gJChVU0VSX0FH
RU5UX1NUWUxFX1NIRUVUUykgJChXZWJDb3JlKS9jc3Mvd21sLmNzcwogZW5kaWYKIAoraWZlcSAo
JChmaW5kc3RyaW5nIEVOQUJMRV9NQVRITUwsJChGRUFUVVJFX0RFRklORVMpKSwgRU5BQkxFX01B
VEhNTCkKKyAgICBVU0VSX0FHRU5UX1NUWUxFX1NIRUVUUyA6PSAkKFVTRVJfQUdFTlRfU1RZTEVf
U0hFRVRTKSAkKFdlYkNvcmUpL2Nzcy9tYXRobWwuY3NzCitlbmRpZgorCiBpZmVxICgkKGZpbmRz
dHJpbmcgRU5BQkxFX1ZJREVPLCQoRkVBVFVSRV9ERUZJTkVTKSksIEVOQUJMRV9WSURFTykKICAg
ICBVU0VSX0FHRU5UX1NUWUxFX1NIRUVUUyA6PSAkKFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTKSAk
KFdlYkNvcmUpL2Nzcy9tZWRpYUNvbnRyb2xzLmNzcwogaWZlcSAoJChPUyksTUFDT1MpCkBAIC03
MDYsNiArNzEyLDI2IEBAIFdNTE5hbWVzLmNwcCA6CiAKIGVuZGlmCiAKKyMgLS0tLS0tLS0KKyAK
KyMgTWF0aE1MIHRhZyBhbmQgYXR0cmlidXRlIG5hbWVzLCBhbmQgZWxlbWVudCBmYWN0b3J5CisK
K2lmZXEgKCQoZmluZHN0cmluZyBFTkFCTEVfTUFUSE1MLCQoRkVBVFVSRV9ERUZJTkVTKSksIEVO
QUJMRV9NQVRITUwpCisKK01hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCBNYXRoTUxOYW1lcy5jcHAg
OiBkb20vbWFrZV9uYW1lcy5wbCBtYXRobWwvbWF0aHRhZ3MuaW4KKwlwZXJsIC1JICQoV2ViQ29y
ZSkvYmluZGluZ3Mvc2NyaXB0cyAkPCAtLXRhZ3MgJChXZWJDb3JlKS9tYXRobWwvbWF0aHRhZ3Mu
aW4gLS1mYWN0b3J5IC0td3JhcHBlckZhY3RvcnkKKworZWxzZQorCitNYXRoTUxFbGVtZW50RmFj
dG9yeS5jcHAgOgorCWVjaG8gPiAkQAorCitNYXRoTUxOYW1lcy5jcHAgOgorCWVjaG8gPiAkQAor
CitlbmRpZgorCisKIAogIyAtLS0tLS0tLQogCkluZGV4OiBXZWJDb3JlL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcJKHJldmlzaW9uIDQ4MjczKQorKysgV2ViQ29y
ZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpA
QCAtNDQsNiArNDQsNyBAQCBFTkFCTEVfRklMVEVSUyA9IDsKIEVOQUJMRV9HRU9MT0NBVElPTiA9
IDsKIEVOQUJMRV9JQ09OREFUQUJBU0UgPSBFTkFCTEVfSUNPTkRBVEFCQVNFOwogRU5BQkxFX0pB
VkFTQ1JJUFRfREVCVUdHRVIgPSBFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUjsKK0VOQUJMRV9N
QVRITUwgPSBFTkFCTEVfTUFUSE1MOwogRU5BQkxFX05PVElGSUNBVElPTlMgPSA7CiBFTkFCTEVf
T0ZGTElORV9XRUJfQVBQTElDQVRJT05TID0gRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9O
UzsKIEVOQUJMRV9SVUJZID0gRU5BQkxFX1JVQlk7CkBAIC02Miw0ICs2Myw0IEBAIEVOQUJMRV9X
T1JLRVJTID0gRU5BQkxFX1dPUktFUlM7CiBFTkFCTEVfWFBBVEggPSBFTkFCTEVfWFBBVEg7CiBF
TkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8z
RF9DQU5WQVMpICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJ
TkcpICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRBR1JJRCkgJChFTkFCTEVfREFUQUxJ
U1QpICQoRU5BQkxFX0RPTV9TVE9SQUdFKSAkKEVOQUJMRV9FVkVOVFNPVVJDRSkgJChFTkFCTEVf
RklMVEVSUykgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChF
TkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKSAkKEVOQUJMRV9SVUJZKSAkKEVOQUJMRV9TSEFS
RURfV09SS0VSUykgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfQU5JTUFUSU9OKSAkKEVOQUJM
RV9TVkdfQVNfSU1BR0UpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykgJChFTkFCTEVf
U1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfRk9SRUlHTl9PQkpFQ1QpICQoRU5BQkxFX1NWR19VU0Up
ICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV01MKSAkKEVO
QUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YUEFUSCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RF
RklORVMgPSAkKEVOQUJMRV8zRF9DQU5WQVMpICQoRU5BQkxFXzNEX1JFTkRFUklORykgJChFTkFC
TEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRBR1JJ
RCkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RPTV9TVE9SQUdFKSAkKEVOQUJMRV9FVkVO
VFNPVVJDRSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxF
X0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikgJChFTkFCTEVfTUFU
SE1MKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNB
VElPTlMpICQoRU5BQkxFX1JVQlkpICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9T
VkcpICQoRU5BQkxFX1NWR19BTklNQVRJT04pICQoRU5BQkxFX1NWR19BU19JTUFHRSkgJChFTkFC
TEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NW
R19GT1JFSUdOX09CSkVDVCkgJChFTkFCTEVfU1ZHX1VTRSkgJChFTkFCTEVfVklERU8pICQoRU5B
QkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XTUwpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxF
X1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA0ODI3MykKKysrIFdlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00Njc3LDYgKzQ2NzcsMTUg
QEAKIAkJRjkxNkM0OEQwREI1MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVz
c0V2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEY5MTZDNDhCMERCNTEwRjgwMDc2Q0Q4MyAvKiBKU1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dC5jcHAgKi87IH07CiAJCUY5MTZDNDhFMERCNTEwRjgwMDc2Q0Q4MyAvKiBKU1hNTEh0dHBSZXF1
ZXN0UHJvZ3Jlc3NFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjkxNkM0OEMwREI1MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50LmggKi87IH07CiAJCUY5RjBFRDdBMERCNTBDQTIwMEQxNkRCOSAvKiBYTUxIdHRw
UmVxdWVzdFByb2dyZXNzRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEY5RjBFRDc3MERCNTBDQTIwMEQxNkRCOSAvKiBYTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnQuaCAqLzsgfTsKKwkJRkFCRTcyRjQxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhN
TEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRkFCRTcyRUQxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnQuY3BwICovOyB9Owor
CQlGQUJFNzJGNTEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MRWxlbWVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRUUxMDU5QzFFQjAwRDk5
OUREIC8qIE1hdGhNTEVsZW1lbnQuaCAqLzsgfTsKKwkJRkFCRTcyRjYxMDU5QzFFQjAwRDk5OURE
IC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRUYxMDU5QzFFQjAwRDk5OUREIC8qIE1h
dGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwICovOyB9OworCQlGQUJFNzJGNzEwNTlDMUVC
MDBEOTk5REQgLyogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRjAxMDU5QzFFQjAwRDk5OURE
IC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCAqLzsgfTsKKwkJRkFCRTcyRjgxMDU5
QzFFQjAwRDk5OUREIC8qIE1hdGhNTE1hdGhFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZBQkU3MkYxMTA1OUMxRUIwMEQ5OTlERCAvKiBN
YXRoTUxNYXRoRWxlbWVudC5jcHAgKi87IH07CisJCUZBQkU3MkY5MTA1OUMxRUIwMEQ5OTlERCAv
KiBNYXRoTUxNYXRoRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRkFCRTcyRjIxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTE1hdGhFbGVtZW50
LmggKi87IH07CisJCUZBQkU3MkZBMTA1OUMxRUIwMEQ5OTlERCAvKiBtYXRodGFncy5pbiBpbiBS
ZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRjMxMDU5
QzFFQjAwRDk5OUREIC8qIG1hdGh0YWdzLmluICovOyB9OworCQlGQUJFNzJGRDEwNTlDMjExMDBE
OTk5REQgLyogTWF0aE1MRWxlbWVudEZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRkIxMDU5QzIxMTAwRDk5OUREIC8qIE1hdGhN
TEVsZW1lbnRGYWN0b3J5LmNwcCAqLzsgfTsKKwkJRkFCRTcyRkUxMDU5QzIxMTAwRDk5OUREIC8q
IE1hdGhNTE5hbWVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEZBQkU3MkZDMTA1OUMyMTEwMEQ5OTlERCAvKiBNYXRoTUxOYW1lcy5jcHAgKi87IH07
CiAJCUZFNkZENDg4MEY2NzZFNTcwMDA5Mjg3MyAvKiBDb29yZGluYXRlcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU2RkQ0ODUwRjY3NkU1NzAwMDky
ODczIC8qIENvb3JkaW5hdGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJRkU2RkQ0OEQwRjY3NkU5MzAwMDkyODczIC8qIEpTQ29vcmRpbmF0ZXMu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU2RkQ0
OEIwRjY3NkU5MzAwMDkyODczIC8qIEpTQ29vcmRpbmF0ZXMuY3BwICovOyB9OwogCQlGRTZGRDQ4
RTBGNjc2RTkzMDAwOTI4NzMgLyogSlNDb29yZGluYXRlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU2RkQ0OEMwRjY3NkU5MzAwMDkyODczIC8qIEpT
Q29vcmRpbmF0ZXMuaCAqLzsgfTsKQEAgLTk4MDksNiArOTgxOCwxNSBAQAogCQlGOTE2QzQ4QzBE
QjUxMEY4MDA3NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY5RjBFRDc3MERCNTBDQTIwMEQxNkRC
OSAvKiBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlGOUYwRUQ3ODBEQjUwQ0EyMDBEMTZEQjkgLyogWE1MSHR0cFJlcXVl
c3RQcm9ncmVzc0V2ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gWE1MSHR0cFJlcXVl
c3RQcm9ncmVzc0V2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkFCRTcy
RUQxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTWF0aE1MRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUZBQkU3MkVFMTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hdGhNTEVsZW1lbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkFCRTcyRUYxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhN
TElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUZBQkU3MkYwMTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxJbmxpbmVD
b250YWluZXJFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hdGhN
TElubGluZUNvbnRhaW5lckVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
RkFCRTcyRjExMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTE1hdGhFbGVtZW50LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1hdGhNTE1hdGhFbGVtZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkFCRTcyRjIxMDU5QzFFQjAwRDk5OUREIC8qIE1h
dGhNTE1hdGhFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hdGhN
TE1hdGhFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZBQkU3MkYzMTA1
OUMxRUIwMEQ5OTlERCAvKiBtYXRodGFncy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBtYXRo
dGFncy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkFCRTcyRkIxMDU5QzIxMTAw
RDk5OUREIC8qIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJRkFCRTcyRkMxMDU5QzIxMTAwRDk5OUREIC8qIE1hdGhNTE5hbWVzLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1hdGhNTE5hbWVzLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkU0OUVGOTcwREM1MTQ2MjAwNDI2NkUxIC8q
IERhc2hib2FyZFN1cHBvcnRDU1NQcm9wZXJ0eU5hbWVzLmluICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IERhc2hib2FyZFN1cHBvcnRDU1NQcm9wZXJ0eU5hbWVzLmluOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlGRTZGRDQ4NTBGNjc2RTU3MDAwOTI4NzMgLyogQ29vcmRpbmF0ZXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29vcmRpbmF0ZXMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkU2RkQ0ODYwRjY3NkU1NzAwMDkyODczIC8qIENvb3JkaW5h
dGVzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDb29yZGluYXRlcy5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05ODg4LDYgKzk5MDYsNyBAQAogCQkJCTkzRUVDMUVDMDlD
Mjg3NzcwMEM1MTVEMSAvKiBodG1sICovLAogCQkJCTFDODFCOTREMEU5NzMyRDkwMDI2NkUwNyAv
KiBpbnNwZWN0b3IgKi8sCiAJCQkJQkNCMTZCRkIwOTc5QzM4NzAwNDY3NzQxIC8qIGxvYWRlciAq
LywKKwkJCQlGQUJFNzJFQzEwNTlDMUVCMDBEOTk5REQgLyogbWF0aG1sICovLAogCQkJCTMzM0Y3
MDNEMEZCNDlDMTYwMDhFMTJBNiAvKiBub3RpZmljYXRpb25zICovLAogCQkJCTY1QkYwMjE4MDk3
NDgwNjMwMEM0MzE5NiAvKiBwYWdlICovLAogCQkJCUJDRjFBNUJBMDk3ODMyMDkwMDYxQTEyMyAv
KiBwbGF0Zm9ybSAqLywKQEAgLTEwODA3LDYgKzEwODI2LDggQEAKIAkJCQk5MzhFNjVGMDA5RjA5
ODQwMDA4QTQ4RUMgLyogSlNIVE1MRWxlbWVudFdyYXBwZXJGYWN0b3J5LmggKi8sCiAJCQkJODU3
NEQxRjEwQURFNjEyMjAwNENCQTExIC8qIEpTU1ZHRWxlbWVudFdyYXBwZXJGYWN0b3J5LmNwcCAq
LywKIAkJCQk4NTc0RDFGMjBBREU2MTIyMDA0Q0JBMTEgLyogSlNTVkdFbGVtZW50V3JhcHBlckZh
Y3RvcnkuaCAqLywKKwkJCQlGQUJFNzJGQjEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MRWxlbWVu
dEZhY3RvcnkuY3BwICovLAorCQkJCUZBQkU3MkZDMTA1OUMyMTEwMEQ5OTlERCAvKiBNYXRoTUxO
YW1lcy5jcHAgKi8sCiAJCQkJNjU2NTgxRTYwOUQxNTA4RDAwMEU2MUQ3IC8qIFNWR0VsZW1lbnRG
YWN0b3J5LmNwcCAqLywKIAkJCQk2NTY1ODFFNzA5RDE1MDhEMDAwRTYxRDcgLyogU1ZHRWxlbWVu
dEZhY3RvcnkuaCAqLywKIAkJCQk2NTY1ODFFODA5RDE1MDhEMDAwRTYxRDcgLyogU1ZHTmFtZXMu
Y3BwICovLApAQCAtMTU0MjMsNiArMTU0NDQsMjAgQEAKIAkJCXRhYldpZHRoID0gNDsKIAkJCXVz
ZXNUYWJzID0gMDsKIAkJfTsKKwkJRkFCRTcyRUMxMDU5QzFFQjAwRDk5OUREIC8qIG1hdGhtbCAq
LyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJRkFCRTcyRUQx
MDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnQuY3BwICovLAorCQkJCUZBQkU3MkVFMTA1
OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50LmggKi8sCisJCQkJRkFCRTcyRUYxMDU5QzFF
QjAwRDk5OUREIC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwICovLAorCQkJCUZB
QkU3MkYwMTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50Lmgg
Ki8sCisJCQkJRkFCRTcyRjExMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTE1hdGhFbGVtZW50LmNw
cCAqLywKKwkJCQlGQUJFNzJGMjEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MTWF0aEVsZW1lbnQu
aCAqLywKKwkJCQlGQUJFNzJGMzEwNTlDMUVCMDBEOTk5REQgLyogbWF0aHRhZ3MuaW4gKi8sCisJ
CQkpOworCQkJcGF0aCA9IG1hdGhtbDsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07
CiAvKiBFbmQgUEJYR3JvdXAgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhIZWFkZXJzQnVpbGRQ
aGFzZSBzZWN0aW9uICovCkBAIC0xNzc5OSw2ICsxNzgzNCw5IEBACiAJCQkJNTEwRDRBNEYxMDMx
NzdBMjAwNDlFQTU0IC8qIFdlYlNvY2tldENoYW5uZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
MEQ0QTUwMTAzMTc3QTIwMDQ5RUE1NCAvKiBXZWJTb2NrZXRDaGFubmVsQ2xpZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1MUFCQUU0NTEwNDNBQjRBMDA4QzUyNjAgLyogV2ViU29ja2V0SGFuZHNo
YWtlLmggaW4gSGVhZGVycyAqLywKKwkJCQlGQUJFNzJGNTEwNTlDMUVCMDBEOTk5REQgLyogTWF0
aE1MRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRkFCRTcyRjcxMDU5QzFFQjAwRDk5OURE
IC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUZB
QkU3MkY5MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxNYXRoRWxlbWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJ
CX07CkBAIC0xNzkwMCw2ICsxNzkzOCw3IEBACiAJCQkJODUxMzZDQTgwQUVENjY1OTAwRjkwQTNE
IC8qIHdlc3RSZXNpemVDdXJzb3IucG5nIGluIFJlc291cmNlcyAqLywKIAkJCQkxQUIxQUU3QTBD
MDUxRkRFMDAxMzlGNEYgLyogem9vbUluQ3Vyc29yLnBuZyBpbiBSZXNvdXJjZXMgKi8sCiAJCQkJ
MUFCMUFFN0IwQzA1MUZERTAwMTM5RjRGIC8qIHpvb21PdXRDdXJzb3IucG5nIGluIFJlc291cmNl
cyAqLywKKwkJCQlGQUJFNzJGQTEwNTlDMUVCMDBEOTk5REQgLyogbWF0aHRhZ3MuaW4gaW4gUmVz
b3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Npbmcg
PSAwOwogCQl9OwpAQCAtMTk5MjUsNiArMTk5NjQsMTEgQEAKIAkJCQk1OUM3N0YyQTEwNTQ1QjNC
MDA1MDYxMDQgLyogR2VvbG9jYXRpb25TZXJ2aWNlTW9jay5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk1MTBENEE0RTEwMzE3N0EyMDA0OUVBNTQgLyogV2ViU29ja2V0Q2hhbm5lbC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk1MUFCQUU0NDEwNDNBQjRBMDA4QzUyNjAgLyogV2ViU29ja2V0SGFuZHNo
YWtlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZBQkU3MkY0MTA1OUMxRUIwMEQ5OTlERCAvKiBN
YXRoTUxFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZBQkU3MkY2MTA1OUMxRUIwMEQ5
OTlERCAvKiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUZBQkU3MkY4MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxNYXRoRWxlbWVudC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQlGQUJFNzJGRDEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MRWxlbWVu
dEZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkFCRTcyRkUxMDU5QzIxMTAwRDk5OURE
IC8qIE1hdGhNTE5hbWVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRleDogV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCShyZXZp
c2lvbiA0ODI3MykKKysrIFdlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTIxNDMsNyArMjE0Myw3IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU1BhcnNlcjo6cGFy
c2VBdHQKICAgICBpZiAoYXR0ck5hbWVbMF0gPT0gJy0nKQogICAgICAgICByZXR1cm4gMDsKIAot
ICAgIGlmIChkb2N1bWVudCgpLT5pc0hUTUxEb2N1bWVudCgpKQorICAgIGlmIChkb2N1bWVudCgp
ICYmIGRvY3VtZW50KCktPmlzSFRNTERvY3VtZW50KCkpCiAgICAgICAgIGF0dHJOYW1lID0gYXR0
ck5hbWUubG93ZXIoKTsKICAgICAKICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0
ZShhdHRyTmFtZSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19BVFRSKTsKSW5kZXg6IFdlYkNvcmUv
Y3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1N0
eWxlU2VsZWN0b3IuY3BwCShyZXZpc2lvbiA0ODI3MykKKysrIFdlYkNvcmUvY3NzL0NTU1N0eWxl
U2VsZWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTM5LDYgKzExMzksMTcgQEAgUGFzc1Jl
ZlB0cjxSZW5kZXJTdHlsZT4gQ1NTU3R5bGVTZWxlY3RvcgogICAgIH0KICNlbmRpZgogCisjaWYg
RU5BQkxFKE1BVEhNTCkKKyAgICBzdGF0aWMgYm9vbCBsb2FkZWRNYXRoTUxVc2VyQWdlbnRTaGVl
dDsKKyAgICBpZiAoZS0+aXNNYXRoTUxFbGVtZW50KCkgJiYgIWxvYWRlZE1hdGhNTFVzZXJBZ2Vu
dFNoZWV0KSB7CisgICAgICAgIC8vIE1hdGhNTCBydWxlcy4KKyAgICAgICAgbG9hZGVkTWF0aE1M
VXNlckFnZW50U2hlZXQgPSB0cnVlOworICAgICAgICBDU1NTdHlsZVNoZWV0KiBtYXRobWxTaGVl
dCA9IHBhcnNlVUFTaGVldChtYXRobWxVc2VyQWdlbnRTdHlsZVNoZWV0LCBzaXplb2YobWF0aG1s
VXNlckFnZW50U3R5bGVTaGVldCkpOworICAgICAgICBkZWZhdWx0U3R5bGUtPmFkZFJ1bGVzRnJv
bVNoZWV0KG1hdGhtbFNoZWV0LCBzY3JlZW5FdmFsKCkpOworICAgICAgICBkZWZhdWx0UHJpbnRT
dHlsZS0+YWRkUnVsZXNGcm9tU2hlZXQobWF0aG1sU2hlZXQsIHByaW50RXZhbCgpKTsKKyAgICB9
CisjZW5kaWYKKwogI2lmIEVOQUJMRShXTUwpCiAgICAgc3RhdGljIGJvb2wgbG9hZGVkV01MVXNl
ckFnZW50U2hlZXQ7CiAgICAgaWYgKGUtPmlzV01MRWxlbWVudCgpICYmICFsb2FkZWRXTUxVc2Vy
QWdlbnRTaGVldCkgewpJbmRleDogV2ViQ29yZS9jc3MvbWF0aG1sLmNzcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2Nzcy9tYXRobWwuY3NzCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9jc3MvbWF0
aG1sLmNzcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNzAgQEAKK0BuYW1lc3BhY2UgImh0dHA6
Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwiOworCisvKiBhcHByb3ZlZCAqLworbWF0aCB7
CisgICAgZm9udC1mYW1pbHk6IFN5bWJvbCwgU1RJWEdlbmVyYWwsICJOZXcgVGltZXMgUm9tYW4i
OworICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICBwYWRkaW5nOiAwcHg7CisgICAgbWFy
Z2luOiAwcHg7CisgICAgdGV4dC1pbmRlbnQ6IDA7CisgICAgZm9udC1zaXplOiAxLjFlbTsKKyAg
ICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7Cit9CittYXRoW2Rpc3BsYXk9ImJsb2NrIl0gewor
ICAgIGZvbnQtZmFtaWx5OiAiTmV3IFRpbWVzIFJvbWFuIgorICAgIGRpc3BsYXk6IGJsb2NrOwor
ICAgIHRleHQtYWxpZ246IGNlbnRlcjsKKyAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7Cit9
CisKK21mcmFjIHsKKyAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOworfQorCittc3ViLCBtc3Vw
IHsKKyAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKK30KKworbXN1YiA+ICogKyAqIHsKKyAgIHZl
cnRpY2FsLWFsaWduOiBzdWI7CisgICBmb250LXNpemU6IDAuNzVlbTsKKyAgIGxpbmUtaGVpZ2h0
OiAwLjc1ZW07Cit9CisKK21zdXAgPiAqICsgKiB7CisgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7
CisgICBmb250LXNpemU6IDAuNzVlbTsKKyAgIGxpbmUtaGVpZ2h0OiAwLjc1ZW07Cit9CisKK21z
dWJzdXAgPiAqIHsKKyAgICBtYXJnaW46IDBweDsKKyAgICBwYWRkaW5nOiAwcHg7CisgICAgdmVy
dGljYWwtYWxpZ246IG1pZGRsZTsKK30KKworbXN1YnN1cCA+ICogKyAqIHsKKyAgIGZvbnQtc2l6
ZTogMC43NWVtOworICAgbGluZS1oZWlnaHQ6IDAuNzVlbTsKK30KKworbXVuZGVyb3ZlciB7Cisg
ICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKK30KKworbXVuZGVyb3ZlciA+ICogKyAqLCBtb3Zl
ciA+ICogKyAqLCBtdW5kZXIgPiAqICsgKiB7CisgICBmb250LXNpemU6IDAuNzVlbTsKKyAgIGxp
bmUtaGVpZ2h0OiAwLjU2MjVlbTsKK30KKworbXJvdyB7CisgICAgbGluZS1oZWlnaHQ6IDFlbTsK
KyAgICB3aGl0ZS1zcGFjZTogbm93cmFwOworICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cit9
CisKK21mZW5jZWQgPiAqIHsKKyAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOworfQorCittbywg
bW4sIG1pIHsKKyAgIGxpbmUtaGVpZ2h0OiAwLjc1ZW07CisgICBwYWRkaW5nOiAwcHg7CisgICBt
YXJnaW46IDBweDsKK30KKworbW9bbWF0aHNpemU9InNtYWxsIl0sIG1uW21hdGhzaXplPSJzbWFs
bCJdLCBtaVttYXRoc2l6ZT0ic21hbGwiXSB7CisgICBmb250LXNpemU6IDAuNzVlbTsKKyAgIGxp
bmUtaGVpZ2h0OiAwLjU2MjVlbTsKK30KKworbW9bbWF0aHNpemU9Im5vcm1hbCJdLG1uW21hdGhz
aXplPSJub3JtYWwiXSxtaVttYXRoc2l6ZT0ibm9ybWFsIl0geworICAgZm9udC1zaXplOiAxZW07
CisgICBsaW5lLWhlaWdodDogMC43NWVtOworfQorCittb1ttYXRoc2l6ZT0iYmlnIl0sIG1uW21h
dGhzaXplPSJiaWciXSwgbWlbbWF0aHNpemU9ImJpZyJdIHsKKyAgIGxpbmUtaGVpZ2h0OiAxLjJl
bTsKKyAgIGZvbnQtc2l6ZTogMS41ZW07Cit9CisgCithbm5vdGF0aW9uLCBhbm5vdGF0aW9uLXht
bCB7CisgICAgZGlzcGxheTpub25lOworfQorCittcGhhbnRvbSB7CisgICAgdmlzaWJpbGl0eTog
aGlkZGVuOworfQorbWVycm9yIHsKKyAgICBvdXRsaW5lOiBzb2xpZCB0aGluIHJlZDsKK30KKwor
bXNxcnQgeworICAgIHBhZGRpbmctdG9wOiAwLjJlbTsKKyAgICBwYWRkaW5nLWxlZnQ6IDAuNzVl
bTsKK30KKworbXJvb3QgeworICAgIHBhZGRpbmctdG9wOiAwLjJlbTsKKyAgICBwYWRkaW5nLWxl
ZnQ6IDAuMmVtOworfQorCittcm9vdCA+ICogKyAqIHsKKyAgICBmb250LXNpemU6IDAuNzVlbTsK
KyAgICBsaW5lLWhlaWdodDogMC43NWVtOworICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7CisgICAg
cGFkZGluZy1yaWdodDogMC4zZW07Cit9CisKK210YWJsZSB7CisgICAgZGlzcGxheTogaW5saW5l
LXRhYmxlOworICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTsKKyAgICB0ZXh0LWFsaWduOiBjZW50ZXI7
CisgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKK30KK210ciB7CisgICAgZGlzcGxheTogdGFi
bGUtcm93OworfQorbXRkIHsKKyAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOworICAgIHBhZGRpbmc6
IDAgMC41ZXg7Cit9CisKK210YWJsZVtjb2x1bW5hbGlnbj0ibGVmdCJdLCBtdHJbY29sdW1uYWxp
Z249ImxlZnQiXSwgbXRkW2NvbHVtbmFsaWduPSJsZWZ0Il0geworICAgIHRleHQtYWxpZ246IGxl
ZnQ7Cit9CisKK210YWJsZVtjb2x1bW5hbGlnbj0icmlnaHQiXSwgbXRyW2NvbHVtbmFsaWduPSJy
aWdodCJdLCBtdGRbY29sdW1uYWxpZ249InJpZ2h0Il0geworICAgIHRleHQtYWxpZ246IHJpZ2h0
OworfQorbXRhYmxlW3Jvd2FsaWduPSJ0b3AiXSBtdGQsIG10YWJsZSBtdHJbcm93YWxpZ249InRv
cCJdIG10ZCwgbXRhYmxlIG10ciBtdGRbcm93YWxpZ249InRvcCJdIHsKKyAgICB2ZXJ0aWNhbC1h
bGlnbjogdG9wOworfQorbXRhYmxlW3Jvd2FsaWduPSJib3R0b20iXSBtdGQsIG10YWJsZSBtdHJb
cm93YWxpZ249ImJvdHRvbSJdIG10ZCwgbXRhYmxlIG10ciBtdGRbcm93YWxpZ249ImJvdHRvbSJd
IHsKKyAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOworfQorbXRhYmxlW3Jvd2FsaWduPSJjZW50
ZXIiXSBtdGQsIG10YWJsZSBtdHJbcm93YWxpZ249ImNlbnRlciJdIG10ZCwgbXRhYmxlIG10ciBt
dGRbcm93YWxpZ249ImNlbnRlciJdIHsKKyAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOworfQor
bXRhYmxlW2ZyYW1lPSJzb2xpZCJdIHsKKyAgICBib3JkZXI6IHNvbGlkIHRoaW47Cit9CittdGFi
bGVbZnJhbWU9ImRhc2hlZCJdIHsKKyAgICBib3JkZXI6IGRhc2hlZCB0aGluOworfQorbXRhYmxl
W3Jvd2xpbmVzPSJzb2xpZCJdLCBtdGFibGVbcm93bGluZXM9ImRhc2hlZCJdLCBtdGFibGVbY29s
dW1ubGluZXM9InNvbGlkIl0sIG10YWJsZVtjb2x1bW5saW5lcz0iZGFzaGVkIl0geworICAgIGJv
cmRlci1jb2xsYXBzZTogY29sbGFwc2U7Cit9CittdGFibGVbcm93bGluZXM9InNvbGlkIl0gPiBt
dHIgKyBtdHIgeworICAgIGJvcmRlci10b3A6IHNvbGlkIHRoaW47Cit9CittdGFibGVbcm93bGlu
ZXM9ImRhc2hlZCJdID4gbXRyICsgbXRyIHsKKyAgICBib3JkZXItdG9wOiBkYXNoZWQgdGhpbjsK
K30KK210YWJsZVtjb2x1bW5saW5lcz0ic29saWQiXSA+IG10ciA+IG10ZCArIG10ZCB7CisgICAg
Ym9yZGVyLWxlZnQ6IHNvbGlkIHRoaW47Cit9CittdGFibGVbY29sdW1ubGluZXM9ImRhc2hlZCJd
ID4gbXRyID4gbXRkICsgbXRkIHsKKyAgICBib3JkZXItbGVmdDogZGFzaGVkIHRoaW47Cit9CisK
SW5kZXg6IFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDQ4MjczKQorKysgV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzQsNiArMTc0LDEyIEBACiAjaW5jbHVkZSAiV01MTmFt
ZXMuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKE1BVEhNTCkKKyNpbmNsdWRlICJNYXRoTUxFbGVt
ZW50LmgiCisjaW5jbHVkZSAiTWF0aE1MRWxlbWVudEZhY3RvcnkuaCIKKyNpbmNsdWRlICJNYXRo
TUxOYW1lcy5oIgorI2VuZGlmCisKICNpZiBFTkFCTEUoWEhUTUxNUCkKICNpbmNsdWRlICJIVE1M
Tm9TY3JpcHRFbGVtZW50LmgiCiAjZW5kaWYKQEAgLTgwMyw2ICs4MDksMTAgQEAgUGFzc1JlZlB0
cjxFbGVtZW50PiBEb2N1bWVudDo6Y3JlYXRlRWxlbQogICAgIGVsc2UgaWYgKGlzV01MRG9jdW1l
bnQoKSkKICAgICAgICAgZSA9IFdNTEVsZW1lbnRGYWN0b3J5OjpjcmVhdGVXTUxFbGVtZW50KFF1
YWxpZmllZE5hbWUobnVsbEF0b20sIHFOYW1lLmxvY2FsTmFtZSgpLCBXTUxOYW1lczo6d21sTmFt
ZXNwYWNlVVJJKSwgdGhpcywgY3JlYXRlZEJ5UGFyc2VyKTsKICNlbmRpZgorI2lmIEVOQUJMRShN
QVRITUwpCisgICAgZWxzZSBpZiAocU5hbWUubmFtZXNwYWNlVVJJKCkgPT0gTWF0aE1MTmFtZXM6
Om1hdGhtbE5hbWVzcGFjZVVSSSkKKyAgICAgICAgZSA9IE1hdGhNTEVsZW1lbnRGYWN0b3J5Ojpj
cmVhdGVNYXRoTUxFbGVtZW50KHFOYW1lLCB0aGlzLCBjcmVhdGVkQnlQYXJzZXIpOworI2VuZGlm
CiAgICAgCiAgICAgaWYgKCFlKQogICAgICAgICBlID0gRWxlbWVudDo6Y3JlYXRlKHFOYW1lLCBk
b2N1bWVudCgpKTsKSW5kZXg6IFdlYkNvcmUvZG9tL05vZGUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2RvbS9Ob2RlLmgJKHJldmlzaW9uIDQ4MjczKQorKysgV2ViQ29yZS9kb20vTm9kZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xODMsNiArMTgzLDEzIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9v
bCBpc1dNTEVsZW1lbnQoKSB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUo
TUFUSE1MKQorICAgIHZpcnR1YWwgYm9vbCBpc01hdGhNTEVsZW1lbnQoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQorI2Vsc2UKKyAgICBzdGF0aWMgYm9vbCBpc01hdGhNTEVsZW1lbnQoKSB7IHJl
dHVybiBmYWxzZTsgfQorI2VuZGlmCisKKwogICAgIHZpcnR1YWwgYm9vbCBpc01lZGlhQ29udHJv
bEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1N0
eWxlZEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBp
c0ZyYW1lT3duZXJFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KSW5kZXg6IFdlYkNv
cmUvbWF0aG1sL01hdGhNTEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbWF0aG1s
L01hdGhNTEVsZW1lbnQuY3BwCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9tYXRobWwvTWF0aE1M
RWxlbWVudC5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiAgTWF0aE1M
RWxlbWVudC5jcHAKKyAqICBXZWJDb3JlCisgKgorICogIENvcHlyaWdodCAoQykgMjAwOSBBbGV4
IE1pbG93c2tpIChhbGV4QG1pbG93c2tpLmNvbSkuCisgKgorIAorIAorIFRoaXMgZmlsZSBpcyBw
YXJ0IG9mIHRoZSBXZWJLaXQgcHJvamVjdAorIAorIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
KyAKKyBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwKKyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgorIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgCisgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRl
IHRvCisgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3Ry
ZWV0LCBGaWZ0aCBGbG9vciwKKyBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAKKyAKKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoTUFUSE1MKQorCisjaW5jbHVk
ZSAiUmVuZGVyT2JqZWN0LmgiCisjaW5jbHVkZSAiTWF0aE1MRWxlbWVudC5oIgorI2luY2x1ZGUg
Ik1hdGhNTE5hbWVzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICAKK3VzaW5nIG5hbWVz
cGFjZSBNYXRoTUxOYW1lczsKKyAgICAKK01hdGhNTEVsZW1lbnQ6Ok1hdGhNTEVsZW1lbnQoY29u
c3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQorICAgIDogU3R5
bGVkRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCwgQ3JlYXRlRWxlbWVudFplcm9SZWZDb3VudCkK
K3sKK30KKyAgICAKK1Bhc3NSZWZQdHI8TWF0aE1MRWxlbWVudD4gTWF0aE1MRWxlbWVudDo6Y3Jl
YXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKK3sK
KyAgICByZXR1cm4gbmV3IE1hdGhNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpOworfQorCitS
ZW5kZXJPYmplY3QqIE1hdGhNTEVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwg
UmVuZGVyU3R5bGUqIHN0eWxlKQoreworICAgIHJldHVybiBSZW5kZXJPYmplY3Q6OmNyZWF0ZU9i
amVjdCh0aGlzLCBzdHlsZSk7Cit9CisgICAgCisgICAgCit9CisKKyNlbmRpZiAvLyBFTkFCTEUo
TUFUSE1MKQpJbmRleDogV2ViQ29yZS9tYXRobWwvTWF0aE1MRWxlbWVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvbWF0aG1sL01hdGhNTEVsZW1lbnQuaAkocmV2aXNpb24gMCkKKysrIFdlYkNv
cmUvbWF0aG1sL01hdGhNTEVsZW1lbnQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MSBAQAor
LyoKKyAqICBNYXRoTUxFbGVtZW50LmgKKyAqICBXZWJDb3JlCisgKgorICogIENvcHlyaWdodCAo
QykgMjAwOSBBbGV4IE1pbG93c2tpIChhbGV4QG1pbG93c2tpLmNvbSkuCisgKgorIAorIFRoaXMg
ZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgcHJvamVjdAorIAorIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKyAKKyBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgCisgWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQor
IGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBu
b3QsIHdyaXRlIHRvCisgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4K
KyAKKyAqLworCisjaWZuZGVmIE1hdGhNTEVsZW1lbnRfaAorI2RlZmluZSBNYXRoTUxFbGVtZW50
X2gKKworI2lmIEVOQUJMRShNQVRITUwpCisjaW5jbHVkZSAiU3R5bGVkRWxlbWVudC5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisgICAgCitjbGFzcyBNYXRoTUxFbGVtZW50IDogcHVibGljIFN0
eWxlZEVsZW1lbnQgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1hdGhNTEVsZW1l
bnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCopOworICAg
IAorICAgIHZpcnR1YWwgYm9vbCBpc01hdGhNTEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0cnVl
OyB9CisgICAgCisgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRl
ckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKKyAgICAKK3Byb3RlY3RlZDoKKyAgICBNYXRoTUxFbGVt
ZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Kik7CisgICAgCit9Owor
ICAgIAorfQorCisjZW5kaWYgLy8gRU5BQkxFKE1BVEhNTCkKKyNlbmRpZiAvLyBNYXRoTUxFbGVt
ZW50X2gKSW5kZXg6IFdlYkNvcmUvbWF0aG1sL01hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbWF0aG1sL01hdGhNTElubGluZUNvbnRhaW5lckVs
ZW1lbnQuY3BwCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9tYXRobWwvTWF0aE1MSW5saW5lQ29u
dGFpbmVyRWxlbWVudC5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiAg
TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAKKyAqICBXZWJDb3JlCisgKgorICogIENv
cHlyaWdodCAoQykgMjAwOSBBbGV4IE1pbG93c2tpIChhbGV4QG1pbG93c2tpLmNvbSkuCisgKgor
IAorIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgcHJvamVjdAorIAorIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YworIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgorIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKyAKKyBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgCisgWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQorIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCisgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyBCb3N0b24sIE1BIDAyMTEwLTEz
MDEsIFVTQS4KKyAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoTUFU
SE1MKQorCisjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCisjaW5jbHVkZSAiTWF0aE1MSW5saW5l
Q29udGFpbmVyRWxlbWVudC5oIgorI2luY2x1ZGUgIk1hdGhNTE5hbWVzLmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKyAgICAKK3VzaW5nIG5hbWVzcGFjZSBNYXRoTUxOYW1lczsKKworTWF0aE1M
SW5saW5lQ29udGFpbmVyRWxlbWVudDo6TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudChjb25z
dCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCisgICAgOiBNYXRo
TUxFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQoreworfQorCitQYXNzUmVmUHRyPE1hdGhNTElu
bGluZUNvbnRhaW5lckVsZW1lbnQ+IE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQ6OmNyZWF0
ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCit7Cisg
ICAgcmV0dXJuIG5ldyBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50KHRhZ05hbWUsIGRvY3Vt
ZW50KTsKK30KKworUmVuZGVyT2JqZWN0KiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50Ojpj
cmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSAqLCBSZW5kZXJTdHlsZSogc3R5bGUpCit7CisgICAg
Ly8gRklYTUU6IFRoaXMgbWV0aG9kIHdpbGwgY29udGFpbiB0aGUgc3BlY2lhbGl6ZWQgcmVuZGVy
ZXJzIGJhc2VkIG9uIGVsZW1lbnQgbmFtZQorICAgIHJldHVybiBSZW5kZXJPYmplY3Q6OmNyZWF0
ZU9iamVjdCh0aGlzLCBzdHlsZSk7Cit9CisgICAgCisgICAgCit9CisKKyNlbmRpZiAvLyBFTkFC
TEUoTUFUSE1MKQorCkluZGV4OiBXZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJF
bGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9tYXRobWwvTWF0aE1MSW5saW5lQ29udGFp
bmVyRWxlbWVudC5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9tYXRobWwvTWF0aE1MSW5saW5l
Q29udGFpbmVyRWxlbWVudC5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ5IEBACisvKgorICog
IE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaAorICogIFdlYkNvcmUKKyAqCisgKiAgQ29w
eXJpZ2h0IChDKSAyMDA5IEFsZXggTWlsb3dza2kgKGFsZXhAbWlsb3dza2kuY29tKS4KKyAqCisg
CisgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdlYktpdCBwcm9qZWN0CisgCisgVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
CisgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCisgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgorIAorIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAKKyBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCisgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJ
Qi4gIElmIG5vdCwgd3JpdGUgdG8KKyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorIEJvc3RvbiwgTUEgMDIxMTAtMTMw
MSwgVVNBLgorIAorICovCisKKyNpZm5kZWYgTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudF9o
CisjZGVmaW5lIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnRfaAorCisjaWYgRU5BQkxFKE1B
VEhNTCkKKyNpbmNsdWRlICJNYXRoTUxFbGVtZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KyAgICAKK2NsYXNzIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQgOiBwdWJsaWMgTWF0aE1M
RWxlbWVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8TWF0aE1MSW5saW5lQ29u
dGFpbmVyRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3Vt
ZW50Kik7CisKKyAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVy
QXJlbmEqLCBSZW5kZXJTdHlsZSopOworCitwcm90ZWN0ZWQ6CisgICAgTWF0aE1MSW5saW5lQ29u
dGFpbmVyRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCopOwor
Cit9OworICAgIAorfQorCisjZW5kaWYgLy8gRU5BQkxFKE1BVEhNTCkKKyNlbmRpZiAvLyBNYXRo
TUxJbmxpbmVDb250YWluZXJFbGVtZW50X2gKSW5kZXg6IFdlYkNvcmUvbWF0aG1sL01hdGhNTE1h
dGhFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL21hdGhtbC9NYXRoTUxNYXRoRWxl
bWVudC5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL21hdGhtbC9NYXRoTUxNYXRoRWxlbWVu
dC5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiAgTWF0aE1hdGhNTEVs
ZW1lbnQuY3BwCisgKiAgV2ViQ29yZQorICoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDkgQWxleCBN
aWxvd3NraSAoYWxleEBtaWxvd3NraS5jb20pLgorICoKKyAKKyBUaGlzIGZpbGUgaXMgcGFydCBv
ZiB0aGUgV2ViS2l0IHByb2plY3QKKyAKKyBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyB2ZXJzaW9uIDIgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgCisg
VGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCisgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKKyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgorIAorIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwor
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsCisgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKE1BVEhNTCkKKworI2luY2x1ZGUgIlJlbmRl
ck9iamVjdC5oIgorI2luY2x1ZGUgIk1hdGhNTE1hdGhFbGVtZW50LmgiCisjaW5jbHVkZSAiTWF0
aE1MTmFtZXMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworICAgIAordXNpbmcgbmFtZXNwYWNl
IE1hdGhNTE5hbWVzOworCitNYXRoTUxNYXRoRWxlbWVudDo6TWF0aE1MTWF0aEVsZW1lbnQoY29u
c3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQorICAgIDogTWF0
aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkKK3sKK30KKworUGFz
c1JlZlB0cjxNYXRoTUxNYXRoRWxlbWVudD4gTWF0aE1MTWF0aEVsZW1lbnQ6OmNyZWF0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCit7CisgICAgcmV0
dXJuIG5ldyBNYXRoTUxNYXRoRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCk7Cit9CisKK30KKwor
I2VuZGlmIC8vIEVOQUJMRShNQVRITUwpCkluZGV4OiBXZWJDb3JlL21hdGhtbC9NYXRoTUxNYXRo
RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbWF0aG1sL01hdGhNTE1hdGhFbGVtZW50
LmgJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL21hdGhtbC9NYXRoTUxNYXRoRWxlbWVudC5oCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ3IEBACisvKgorICogIE1hdGhNYXRoTUxFbGVtZW50LmgK
KyAqICBXZWJDb3JlCisgKgorICogIENvcHlyaWdodCAoQykgMjAwOSBBbGV4IE1pbG93c2tpIChh
bGV4QG1pbG93c2tpLmNvbSkuCisgKgorIAorIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJL
aXQgcHJvamVjdAorIAorIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAKKyBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgorIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCisgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgCisgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9v
ciwKKyBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAKKyAqLworCisjaWZuZGVmIE1hdGhN
TE1hdGhFbGVtZW50X2gKKyNkZWZpbmUgTWF0aE1MTWF0aEVsZW1lbnRfaAorCisjaWYgRU5BQkxF
KE1BVEhNTCkKKyNpbmNsdWRlICJNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKyAgICAKK2NsYXNzIE1hdGhNTE1hdGhFbGVtZW50IDogcHVibGlj
IE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNz
UmVmUHRyPE1hdGhNTE1hdGhFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFn
TmFtZSwgRG9jdW1lbnQqKTsKKyAgICAKK3Byb3RlY3RlZDoKKyAgICBNYXRoTUxNYXRoRWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCopOworICAgIAorfTsKKyAg
ICAKK30KKworI2VuZGlmIC8vIEVOQUJMRShNQVRITUwpCisjZW5kaWYgLy8gTWF0aE1MTWF0aEVs
ZW1lbnRfaApJbmRleDogV2ViQ29yZS9tYXRobWwvbWF0aHRhZ3MuaW4KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9tYXRobWwvbWF0aHRhZ3MuaW4JKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL21hdGht
bC9tYXRodGFncy5pbgkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMSBAQAorbmFtZXNwYWNlPSJN
YXRoTUwiCituYW1lc3BhY2VVUkk9Imh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwi
CitndWFyZEZhY3RvcnlXaXRoPSJFTkFCTEUoTUFUSE1MKSIKK2V4cG9ydFN0cmluZ3MKKworbWF0
aAorbWZyYWMgaW50ZXJmYWNlTmFtZT1NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50CittZmVu
Y2VkIGludGVyZmFjZU5hbWU9TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudAorbXN1YnN1cCBp
bnRlcmZhY2VOYW1lPU1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQKK21yb3cgaW50ZXJmYWNl
TmFtZT1NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50Cittb3ZlciBpbnRlcmZhY2VOYW1lPU1h
dGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQKK211bmRlciBpbnRlcmZhY2VOYW1lPU1hdGhNTElu
bGluZUNvbnRhaW5lckVsZW1lbnQKK211bmRlcm92ZXIgaW50ZXJmYWNlTmFtZT1NYXRoTUxJbmxp
bmVDb250YWluZXJFbGVtZW50Cittc3FydCBpbnRlcmZhY2VOYW1lPU1hdGhNTElubGluZUNvbnRh
aW5lckVsZW1lbnQKK21yb290IGludGVyZmFjZU5hbWU9TWF0aE1MSW5saW5lQ29udGFpbmVyRWxl
bWVudAorbWkgaW50ZXJmYWNlTmFtZT1NYXRoTUxFbGVtZW50LCBjcmVhdGVXaXRoTmV3CittbiBp
bnRlcmZhY2VOYW1lPU1hdGhNTEVsZW1lbnQsIGNyZWF0ZVdpdGhOZXcKK21vIGludGVyZmFjZU5h
bWU9TWF0aE1MRWxlbWVudCwgY3JlYXRlV2l0aE5ldworbXN1YiBpbnRlcmZhY2VOYW1lPU1hdGhN
TEVsZW1lbnQsIGNyZWF0ZVdpdGhOZXcKK21zdXAgaW50ZXJmYWNlTmFtZT1NYXRoTUxFbGVtZW50
LCBjcmVhdGVXaXRoTmV3CisKSW5kZXg6IFdlYkNvcmUvcGFnZS9GcmFtZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAkocmV2aXNpb24gNDgyNzMpCisrKyBXZWJDb3Jl
L3BhZ2UvRnJhbWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05Nyw2ICs5NywxMCBAQAogI2luY2x1
ZGUgIldNTE5hbWVzLmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShNQVRITUwpCisjaW5jbHVkZSAi
TWF0aE1MTmFtZXMuaCIKKyNlbmRpZgorCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC0xNTIsNiArMTU2LDEwIEBAIEZyYW1lOjpGcmFtZShQYWdlKiBwYWdl
LCBIVE1MRnJhbWVPd25lckUKICAgICBXTUxOYW1lczo6aW5pdCgpOwogI2VuZGlmCiAKKyNpZiBF
TkFCTEUoTUFUSE1MKQorICAgIE1hdGhNTE5hbWVzOjppbml0KCk7CisjZW5kaWYKKwogICAgIFhN
TE5hbWVzOjppbml0KCk7CiAKICAgICBpZiAoIW93bmVyRWxlbWVudCkKSW5kZXg6IFdlYktpdC9t
YWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lv
biA0ODI3MykKKysrIFdlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTEgQEAKKzIwMDktMDktMTAgIEFsZXggTWlsb3dza2kgIDxhbGV4QG1pbG93c2tpLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0
aGUgRU5BQkxFX01BVEhNTCB0byB0aGUgZmVhdXJlIGRlZmluZXMKKworICAgICAgICAqIENvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDA5LTA5LTEwICBNYXJrIFJv
d2UgIDxtcm93ZUBhcHBsZS5jb20+CiAKICAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkgU2FtIFdl
aW5pZy4KSW5kZXg6IFdlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNj
b25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwkocmV2aXNpb24gNDgyNzMpCisrKyBXZWJLaXQvbWFjL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00NCw2ICs0NCw3
IEBAIEVOQUJMRV9GSUxURVJTID0gOwogRU5BQkxFX0dFT0xPQ0FUSU9OID0gOwogRU5BQkxFX0lD
T05EQVRBQkFTRSA9IEVOQUJMRV9JQ09OREFUQUJBU0U7CiBFTkFCTEVfSkFWQVNDUklQVF9ERUJV
R0dFUiA9IEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSOworRU5BQkxFX01BVEhNTCA9IEVOQUJM
RV9NQVRITUw7CiBFTkFCTEVfTk9USUZJQ0FUSU9OUyA9IDsKIEVOQUJMRV9PRkZMSU5FX1dFQl9B
UFBMSUNBVElPTlMgPSBFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TOwogRU5BQkxFX1JV
QlkgPSBFTkFCTEVfUlVCWTsKQEAgLTYyLDQgKzYzLDQgQEAgRU5BQkxFX1dPUktFUlMgPSBFTkFC
TEVfV09SS0VSUzsKIEVOQUJMRV9YUEFUSCA9IEVOQUJMRV9YUEFUSDsKIEVOQUJMRV9YU0xUID0g
RU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX0NBTlZBUykgJChF
TkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
REFUQUJBU0UpICQoRU5BQkxFX0RBVEFHUklEKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVf
RE9NX1NUT1JBR0UpICQoRU5BQkxFX0VWRU5UU09VUkNFKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVO
QUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9KQVZBU0NS
SVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZMSU5FX1dF
Ql9BUFBMSUNBVElPTlMpICQoRU5BQkxFX1JVQlkpICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAk
KEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19BTklNQVRJT04pICQoRU5BQkxFX1NWR19BU19JTUFH
RSkgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1NWR19GT1JFSUdOX09CSkVDVCkgJChFTkFCTEVfU1ZHX1VTRSkgJChFTkFCTEVfVklE
RU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XTUwpICQoRU5BQkxFX1dPUktFUlMp
ICQoRU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5B
QkxFXzNEX0NBTlZBUykgJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORykgJChFTkFCTEVfREFUQUJBU0UpICQoRU5BQkxFX0RBVEFHUklEKSAkKEVOQUJMRV9E
QVRBTElTVCkgJChFTkFCTEVfRE9NX1NUT1JBR0UpICQoRU5BQkxFX0VWRU5UU09VUkNFKSAkKEVO
QUJMRV9GSUxURVJTKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJChFTkFC
TEVfUlVCWSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NWRykgJChFTkFCTEVf
U1ZHX0FOSU1BVElPTikgJChFTkFCTEVfU1ZHX0FTX0lNQUdFKSAkKEVOQUJMRV9TVkdfRE9NX09C
SkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX0ZPUkVJR05fT0JK
RUNUKSAkKEVOQUJMRV9TVkdfVVNFKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfV0VCX1NPQ0tF
VFMpICQoRU5BQkxFX1dNTCkgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWFBBVEgpICQoRU5B
QkxFX1hTTFQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39515</attachid>
            <date>2009-09-12 08:07:14 -0700</date>
            <delta_ts>2009-09-15 18:18:06 -0700</delta_ts>
            <desc>Updated patch with fixes from previous review</desc>
            <filename>WebKit-mathml-css.patch</filename>
            <type>text/plain</type>
            <size>37513</size>
            <attacher name="Alex Milowski">alex</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ4MjczKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTEgQEAKKzIwMDktMDktMTAgIEFsZXggTWls
b3dza2kgIDxhbGV4QG1pbG93c2tpLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0aGUgRU5BQkxFX01BVEhNTCBkZWZpbmUgdG8gdGhl
IGZlYXR1cmVzCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZzoKKwogMjAwOS0wOS0xMCAgTWFyayBSb3dlICA8bXJvd2VAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJ1YmJlci1zdGFtcGVkIGJ5IFNhbSBXZWluaWcuCkluZGV4OiBKYXZhU2NyaXB0Q29yZS9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZh
U2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNp
b24gNDgyNzMpCisrKyBKYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwkod29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBAQCBFTkFCTEVfRklMVEVS
UyA9IDsKIEVOQUJMRV9HRU9MT0NBVElPTiA9IDsKIEVOQUJMRV9JQ09OREFUQUJBU0UgPSBFTkFC
TEVfSUNPTkRBVEFCQVNFOwogRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIgPSBFTkFCTEVfSkFW
QVNDUklQVF9ERUJVR0dFUjsKK0VOQUJMRV9NQVRITUwgPSA7CiBFTkFCTEVfTk9USUZJQ0FUSU9O
UyA9IDsKIEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMgPSBFTkFCTEVfT0ZGTElORV9X
RUJfQVBQTElDQVRJT05TOwogRU5BQkxFX1JVQlkgPSBFTkFCTEVfUlVCWTsKQEAgLTYyLDQgKzYz
LDQgQEAgRU5BQkxFX1dPUktFUlMgPSBFTkFCTEVfV09SS0VSUzsKIEVOQUJMRV9YUEFUSCA9IEVO
QUJMRV9YUEFUSDsKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5F
UyA9ICQoRU5BQkxFXzNEX0NBTlZBUykgJChFTkFCTEVfM0RfUkVOREVSSU5HKSAkKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfREFUQUJBU0UpICQoRU5BQkxFX0RBVEFHUklEKSAk
KEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVfRE9NX1NUT1JBR0UpICQoRU5BQkxFX0VWRU5UU09V
UkNFKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNP
TkRBVEFCQVNFKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpICQoRU5BQkxFX1JVQlkp
ICQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKSAkKEVOQUJMRV9TVkcpICQoRU5BQkxFX1NWR19BTklN
QVRJT04pICQoRU5BQkxFX1NWR19BU19JTUFHRSkgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJ
TkdTKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1NWR19GT1JFSUdOX09CSkVDVCkgJChF
TkFCTEVfU1ZHX1VTRSkgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVO
QUJMRV9XTUwpICQoRU5BQkxFX1dPUktFUlMpICQoRU5BQkxFX1hQQVRIKSAkKEVOQUJMRV9YU0xU
KTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX0NBTlZBUykgJChFTkFCTEVfM0RfUkVO
REVSSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfREFUQUJBU0UpICQo
RU5BQkxFX0RBVEFHUklEKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVfRE9NX1NUT1JBR0Up
ICQoRU5BQkxFX0VWRU5UU09VUkNFKSAkKEVOQUJMRV9GSUxURVJTKSAkKEVOQUJMRV9HRU9MT0NB
VElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VS
KSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRkxJ
TkVfV0VCX0FQUExJQ0FUSU9OUykgJChFTkFCTEVfUlVCWSkgJChFTkFCTEVfU0hBUkVEX1dPUktF
UlMpICQoRU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0FOSU1BVElPTikgJChFTkFCTEVfU1ZHX0FT
X0lNQUdFKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05U
UykgJChFTkFCTEVfU1ZHX0ZPUkVJR05fT0JKRUNUKSAkKEVOQUJMRV9TVkdfVVNFKSAkKEVOQUJM
RV9WSURFTykgJChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dNTCkgJChFTkFCTEVfV09S
S0VSUykgJChFTkFCTEVfWFBBVEgpICQoRU5BQkxFX1hTTFQpOwpJbmRleDogV2ViQ29yZS9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ4MjczKQor
KysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw4MSBAQAorMjAw
OS0wOS0xMCAgQWxleCBNaWxvd3NraSAgPGFsZXhAbWlsb3dza2kuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZHMgQ1NTIHN0eWxpbmcgYW5k
IGJhc2ljIERPTSBlbGVtZW50IHN1cHBvcnQgZm9yIE1hdGhNTAorCisgICAgICAgICogQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKKyAgICAgICAgICBBZGRlZCBFTkFC
TEVfTUFUSE1MIHRvIGZlYXR1cmVzCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgor
CisgICAgICAgICAgQWRkZWQgdXNlciBzdHlsZXNoZWV0IGFuZCB0YWcgZmFjdG9yeSBnZW5lcmF0
aW9uCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKKyAg
ICAgICAgICBBZGRlZCBuZXcgRE9NIGVsZW1lbnQgY29kZQorCisgICAgICAgICogY3NzL0NTU1Bh
cnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlQXR0cik6CisKKyAg
ICAgICAgICBBZGRlZCBjaGVjayBmb3IgZG9jdW1lbnQgc2luY2Ugc3R5bGVzaGVldCBjYW4gYmUg
YWRkZWQgYmVmb3JlIHRoZXJlIGlzIGEgZG9jdW1lbnQKKworICAgICAgICAqIGNzcy9DU1NTdHls
ZVNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OnN0eWxl
Rm9yRWxlbWVudCk6CisKKyAgICAgICAgICBBZGRlZCBjaGVjayB0byBhZGQgTWF0aE1MIHVzZXIg
YWdlbnQgc3R5bGVzaGVldAorCisgICAgICAgICogY3NzL21hdGhtbC5jc3M6IEFkZGVkLgorCisg
ICAgICAgICAgTWF0aE1MIHVzZXIgYWdlbnQgc3R5bGVzaGVldAorCisgICAgICAgICogZG9tL0Rv
Y3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpjcmVhdGVFbGVtZW50KToK
KworICAgICAgICAgIEFkZGVkIHN1cHBvcnQgZm9yIGNyZWF0aW9uIG9mIE1hdGhNTCBET00gb2Jq
ZWN0cworCisgICAgICAgICogZG9tL05vZGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6Omlz
TWF0aE1MRWxlbWVudCk6CisKKyAgICAgICAgICBBZGRlZCBjaGVjayBtZXRob2QgZm9yIHdoZXRo
ZXIgdGhlIG5vZGUgaXMgYSBNYXRoTUwgbm9kZQorCisgICAgICAgICogbWF0aG1sOiBBZGRlZC4K
KyAgICAgICAgKiBtYXRobWwvTWF0aE1MRWxlbWVudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZTo6TWF0aE1MRWxlbWVudDo6TWF0aE1MRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpN
YXRoTUxFbGVtZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MRWxlbWVudDo6
Y3JlYXRlUmVuZGVyZXIpOgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxFbGVtZW50Lmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MRWxlbWVudDo6aXNNYXRoTUxFbGVtZW50KToKKwor
ICAgICAgICAgIE1hdGhNTCBET00gYmFzZSBjbGFzcworCisKKyAgICAgICAgKiBtYXRobWwvTWF0
aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudDo6TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50OjpjcmVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudDo6Y3Jl
YXRlUmVuZGVyZXIpOgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVt
ZW50Lmg6IEFkZGVkLgorCisgICAgICAgICAgQmFzZSBjbGFzcyBmb3Igbm9uLXRleHQgY29udGFp
bmVycworCisgICAgICAgICogbWF0aG1sL01hdGhNTE1hdGhFbGVtZW50LmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpNYXRoTUxNYXRoRWxlbWVudDo6TWF0aE1MTWF0aEVsZW1lbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6TWF0aE1MTWF0aEVsZW1lbnQ6OmNyZWF0ZSk6CisgICAgICAgICog
bWF0aG1sL01hdGhNTE1hdGhFbGVtZW50Lmg6IEFkZGVkLgorCisgICAgICAgICAgUm9vdCBNYXRo
IGVsZW1lbnQKKworICAgICAgICAqIG1hdGhtbC9tYXRodGFncy5pbjogQWRkZWQuCisKKyAgICAg
ICAgICBFbGVtZW50IGxpc3QgbWFwcGluZ3MKKworICAgICAgICAqIHBhZ2UvRnJhbWUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RnJhbWU6OkZyYW1lKToKKworICAgICAgICAgIEFkZGVkIE1hdGhN
TCBuYW1lIGluaXRpYWxpemF0aW9uCisKKwogMjAwOS0wOS0xMCAgTWFyayBSb3dlICA8bXJvd2VA
YXBwbGUuY29tPgogCiAgICAgICAgIFJ1YmJlci1zdGFtcGVkIGJ5IFNhbSBXZWluaWcuCkluZGV4
OiBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCShyZXZpc2lvbiA0ODI3MykKKysrIFdlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtNDQyLDYgKzQ0Miw4IEBAIGFsbCA6IFwKICAgICBV
c2VyQWdlbnRTdHlsZVNoZWV0cy5oIFwKICAgICBYTGlua05hbWVzLmNwcCBcCiAgICAgWE1MTmFt
ZXMuY3BwIFwKKyAgICBNYXRoTUxFbGVtZW50RmFjdG9yeS5jcHAgXAorICAgIE1hdGhNTE5hbWVz
LmNwcCBcCiAgICAgWFBhdGhHcmFtbWFyLmNwcCBcCiAgICAgdG9rZW5pemVyLmNwcCBcCiAjCkBA
IC01NjUsNiArNTY3LDEwIEBAIGlmZXEgKCQoZmluZHN0cmluZyBFTkFCTEVfV01MLCQoRkVBVFVS
RV8KICAgICBVU0VSX0FHRU5UX1NUWUxFX1NIRUVUUyA6PSAkKFVTRVJfQUdFTlRfU1RZTEVfU0hF
RVRTKSAkKFdlYkNvcmUpL2Nzcy93bWwuY3NzCiBlbmRpZgogCitpZmVxICgkKGZpbmRzdHJpbmcg
RU5BQkxFX01BVEhNTCwkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfTUFUSE1MKQorICAgIFVT
RVJfQUdFTlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMpICQoV2Vi
Q29yZSkvY3NzL21hdGhtbC5jc3MKK2VuZGlmCisKIGlmZXEgKCQoZmluZHN0cmluZyBFTkFCTEVf
VklERU8sJChGRUFUVVJFX0RFRklORVMpKSwgRU5BQkxFX1ZJREVPKQogICAgIFVTRVJfQUdFTlRf
U1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMpICQoV2ViQ29yZSkvY3Nz
L21lZGlhQ29udHJvbHMuY3NzCiBpZmVxICgkKE9TKSxNQUNPUykKQEAgLTcwNiw2ICs3MTIsMjYg
QEAgV01MTmFtZXMuY3BwIDoKIAogZW5kaWYKIAorIyAtLS0tLS0tLQorIAorIyBNYXRoTUwgdGFn
IGFuZCBhdHRyaWJ1dGUgbmFtZXMsIGFuZCBlbGVtZW50IGZhY3RvcnkKKworaWZlcSAoJChmaW5k
c3RyaW5nIEVOQUJMRV9NQVRITUwsJChGRUFUVVJFX0RFRklORVMpKSwgRU5BQkxFX01BVEhNTCkK
KworTWF0aE1MRWxlbWVudEZhY3RvcnkuY3BwIE1hdGhNTE5hbWVzLmNwcCA6IGRvbS9tYWtlX25h
bWVzLnBsIG1hdGhtbC9tYXRodGFncy5pbgorCXBlcmwgLUkgJChXZWJDb3JlKS9iaW5kaW5ncy9z
Y3JpcHRzICQ8IC0tdGFncyAkKFdlYkNvcmUpL21hdGhtbC9tYXRodGFncy5pbiAtLWZhY3Rvcnkg
LS13cmFwcGVyRmFjdG9yeQorCitlbHNlCisKK01hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCA6CisJ
ZWNobyA+ICRACisKK01hdGhNTE5hbWVzLmNwcCA6CisJZWNobyA+ICRACisKK2VuZGlmCisKKwog
CiAjIC0tLS0tLS0tCiAKSW5kZXg6IFdlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gNDgyNzMpCisrKyBXZWJDb3JlL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00NCw2ICs0NCw3
IEBAIEVOQUJMRV9GSUxURVJTID0gOwogRU5BQkxFX0dFT0xPQ0FUSU9OID0gOwogRU5BQkxFX0lD
T05EQVRBQkFTRSA9IEVOQUJMRV9JQ09OREFUQUJBU0U7CiBFTkFCTEVfSkFWQVNDUklQVF9ERUJV
R0dFUiA9IEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSOworRU5BQkxFX01BVEhNTCA9IDsKIEVO
QUJMRV9OT1RJRklDQVRJT05TID0gOwogRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUyA9
IEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlM7CiBFTkFCTEVfUlVCWSA9IEVOQUJMRV9S
VUJZOwpAQCAtNjIsNCArNjMsNCBAQCBFTkFCTEVfV09SS0VSUyA9IEVOQUJMRV9XT1JLRVJTOwog
RU5BQkxFX1hQQVRIID0gRU5BQkxFX1hQQVRIOwogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsK
IAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfQ0FOVkFTKSAkKEVOQUJMRV8zRF9SRU5E
RVJJTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9EQVRBQkFTRSkgJChF
TkFCTEVfREFUQUdSSUQpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9ET01fU1RPUkFHRSkg
JChFTkFCTEVfRVZFTlRTT1VSQ0UpICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0dFT0xPQ0FU
SU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIp
ICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9O
UykgJChFTkFCTEVfUlVCWSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5BQkxFX1NWRykg
JChFTkFCTEVfU1ZHX0FOSU1BVElPTikgJChFTkFCTEVfU1ZHX0FTX0lNQUdFKSAkKEVOQUJMRV9T
VkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfU1ZHX0ZP
UkVJR05fT0JKRUNUKSAkKEVOQUJMRV9TVkdfVVNFKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVf
V0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dNTCkgJChFTkFCTEVfV09SS0VSUykgJChFTkFCTEVfWFBB
VEgpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfQ0FOVkFT
KSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVO
QUJMRV9EQVRBQkFTRSkgJChFTkFCTEVfREFUQUdSSUQpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVO
QUJMRV9ET01fU1RPUkFHRSkgJChFTkFCTEVfRVZFTlRTT1VSQ0UpICQoRU5BQkxFX0ZJTFRFUlMp
ICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0pB
VkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTk9USUZJQ0FUSU9O
UykgJChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKSAkKEVOQUJMRV9SVUJZKSAkKEVO
QUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfQU5JTUFUSU9O
KSAkKEVOQUJMRV9TVkdfQVNfSU1BR0UpICQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUykg
JChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfRk9SRUlHTl9PQkpFQ1QpICQoRU5BQkxF
X1NWR19VU0UpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVf
V01MKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YUEFUSCkgJChFTkFCTEVfWFNMVCk7Cklu
ZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24g
NDgyNzMpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29y
a2luZyBjb3B5KQpAQCAtNDY3Nyw2ICs0Njc3LDE0IEBACiAJCUY5MTZDNDhEMERCNTEwRjgwMDc2
Q0Q4MyAvKiBKU1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGOTE2QzQ4QjBEQjUxMEY4MDA3NkNEODMg
LyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuY3BwICovOyB9OwogCQlGOTE2QzQ4RTBE
QjUxMEY4MDA3NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY5MTZDNDhDMERCNTEwRjgw
MDc2Q0Q4MyAvKiBKU1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oICovOyB9OwogCQlGOUYw
RUQ3QTBEQjUwQ0EyMDBEMTZEQjkgLyogWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGOUYwRUQ3NzBEQjUw
Q0EyMDBEMTZEQjkgLyogWE1MSHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmggKi87IH07CisJCUZB
QkU3MkY0MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZBQkU3MkVEMTA1OUMxRUIwMEQ5OTlE
RCAvKiBNYXRoTUxFbGVtZW50LmNwcCAqLzsgfTsKKwkJRkFCRTcyRjUxMDU5QzFFQjAwRDk5OURE
IC8qIE1hdGhNTEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEZBQkU3MkVFMTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50LmggKi87
IH07CisJCUZBQkU3MkY2MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxJbmxpbmVDb250YWluZXJF
bGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEZBQkU3MkVGMTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50
LmNwcCAqLzsgfTsKKwkJRkFCRTcyRjcxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTElubGluZUNv
bnRhaW5lckVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEZBQkU3MkYwMTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxJbmxpbmVDb250YWluZXJF
bGVtZW50LmggKi87IH07CisJCUZBQkU3MkY4MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxNYXRo
RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGQUJFNzJGMTEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MTWF0aEVsZW1lbnQuY3BwICovOyB9
OworCQlGQUJFNzJGOTEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MTWF0aEVsZW1lbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZBQkU3MkYyMTA1OUMx
RUIwMEQ5OTlERCAvKiBNYXRoTUxNYXRoRWxlbWVudC5oICovOyB9OworCQlGQUJFNzJGRDEwNTlD
MjExMDBEOTk5REQgLyogTWF0aE1MRWxlbWVudEZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRkIxMDU5QzIxMTAwRDk5OUREIC8q
IE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCAqLzsgfTsKKwkJRkFCRTcyRkUxMDU5QzIxMTAwRDk5
OUREIC8qIE1hdGhNTE5hbWVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEZBQkU3MkZDMTA1OUMyMTEwMEQ5OTlERCAvKiBNYXRoTUxOYW1lcy5jcHAg
Ki87IH07CiAJCUZFNkZENDg4MEY2NzZFNTcwMDA5Mjg3MyAvKiBDb29yZGluYXRlcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU2RkQ0ODUwRjY3NkU1
NzAwMDkyODczIC8qIENvb3JkaW5hdGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJRkU2RkQ0OEQwRjY3NkU5MzAwMDkyODczIC8qIEpTQ29vcmRp
bmF0ZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RkU2RkQ0OEIwRjY3NkU5MzAwMDkyODczIC8qIEpTQ29vcmRpbmF0ZXMuY3BwICovOyB9OwogCQlG
RTZGRDQ4RTBGNjc2RTkzMDAwOTI4NzMgLyogSlNDb29yZGluYXRlcy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkU2RkQ0OEMwRjY3NkU5MzAwMDkyODcz
IC8qIEpTQ29vcmRpbmF0ZXMuaCAqLzsgfTsKQEAgLTk4MDksNiArOTgxNywxNSBAQAogCQlGOTE2
QzQ4QzBEQjUxMEY4MDA3NkNEODMgLyogSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVz
c0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY5RjBFRDc3MERCNTBDQTIw
MEQxNkRCOSAvKiBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlGOUYwRUQ3ODBEQjUwQ0EyMDBEMTZEQjkgLyogWE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gWE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
RkFCRTcyRUQxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWF0aE1MRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUZBQkU3MkVFMTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxFbGVt
ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1hdGhNTEVsZW1lbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkFCRTcyRUYxMDU5QzFFQjAwRDk5OUREIC8q
IE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUZBQkU3MkYwMTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxJ
bmxpbmVDb250YWluZXJFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRkFCRTcyRjExMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTE1hdGhFbGVtZW50LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1hdGhNTE1hdGhFbGVtZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkFCRTcyRjIxMDU5QzFFQjAwRDk5OURE
IC8qIE1hdGhNTE1hdGhFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IE1hdGhNTE1hdGhFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZBQkU3
MkYzMTA1OUMxRUIwMEQ5OTlERCAvKiBtYXRodGFncy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBtYXRodGFncy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkFCRTcyRkIxMDU5
QzIxMTAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkFCRTcyRkMxMDU5QzIxMTAwRDk5OUREIC8qIE1hdGhNTE5h
bWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1hdGhNTE5hbWVz
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkU0OUVGOTcwREM1MTQ2MjAwNDI2
NkUxIC8qIERhc2hib2FyZFN1cHBvcnRDU1NQcm9wZXJ0eU5hbWVzLmluICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IERhc2hib2FyZFN1cHBvcnRDU1NQcm9wZXJ0eU5hbWVzLmluOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlGRTZGRDQ4NTBGNjc2RTU3MDAwOTI4NzMgLyogQ29vcmRpbmF0
ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29vcmRpbmF0ZXMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkU2RkQ0ODYwRjY3NkU1NzAwMDkyODczIC8qIENv
b3JkaW5hdGVzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDb29yZGluYXRlcy5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05ODg4LDYgKzk5MDUsNyBAQAogCQkJCTkzRUVD
MUVDMDlDMjg3NzcwMEM1MTVEMSAvKiBodG1sICovLAogCQkJCTFDODFCOTREMEU5NzMyRDkwMDI2
NkUwNyAvKiBpbnNwZWN0b3IgKi8sCiAJCQkJQkNCMTZCRkIwOTc5QzM4NzAwNDY3NzQxIC8qIGxv
YWRlciAqLywKKwkJCQlGQUJFNzJFQzEwNTlDMUVCMDBEOTk5REQgLyogbWF0aG1sICovLAogCQkJ
CTMzM0Y3MDNEMEZCNDlDMTYwMDhFMTJBNiAvKiBub3RpZmljYXRpb25zICovLAogCQkJCTY1QkYw
MjE4MDk3NDgwNjMwMEM0MzE5NiAvKiBwYWdlICovLAogCQkJCUJDRjFBNUJBMDk3ODMyMDkwMDYx
QTEyMyAvKiBwbGF0Zm9ybSAqLywKQEAgLTEwODA3LDYgKzEwODI1LDggQEAKIAkJCQk5MzhFNjVG
MDA5RjA5ODQwMDA4QTQ4RUMgLyogSlNIVE1MRWxlbWVudFdyYXBwZXJGYWN0b3J5LmggKi8sCiAJ
CQkJODU3NEQxRjEwQURFNjEyMjAwNENCQTExIC8qIEpTU1ZHRWxlbWVudFdyYXBwZXJGYWN0b3J5
LmNwcCAqLywKIAkJCQk4NTc0RDFGMjBBREU2MTIyMDA0Q0JBMTEgLyogSlNTVkdFbGVtZW50V3Jh
cHBlckZhY3RvcnkuaCAqLywKKwkJCQlGQUJFNzJGQjEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1M
RWxlbWVudEZhY3RvcnkuY3BwICovLAorCQkJCUZBQkU3MkZDMTA1OUMyMTEwMEQ5OTlERCAvKiBN
YXRoTUxOYW1lcy5jcHAgKi8sCiAJCQkJNjU2NTgxRTYwOUQxNTA4RDAwMEU2MUQ3IC8qIFNWR0Vs
ZW1lbnRGYWN0b3J5LmNwcCAqLywKIAkJCQk2NTY1ODFFNzA5RDE1MDhEMDAwRTYxRDcgLyogU1ZH
RWxlbWVudEZhY3RvcnkuaCAqLywKIAkJCQk2NTY1ODFFODA5RDE1MDhEMDAwRTYxRDcgLyogU1ZH
TmFtZXMuY3BwICovLApAQCAtMTU0MjMsNiArMTU0NDMsMjAgQEAKIAkJCXRhYldpZHRoID0gNDsK
IAkJCXVzZXNUYWJzID0gMDsKIAkJfTsKKwkJRkFCRTcyRUMxMDU5QzFFQjAwRDk5OUREIC8qIG1h
dGhtbCAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJRkFC
RTcyRUQxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnQuY3BwICovLAorCQkJCUZBQkU3
MkVFMTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50LmggKi8sCisJCQkJRkFCRTcyRUYx
MDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwICovLAor
CQkJCUZBQkU3MkYwMTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVt
ZW50LmggKi8sCisJCQkJRkFCRTcyRjExMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTE1hdGhFbGVt
ZW50LmNwcCAqLywKKwkJCQlGQUJFNzJGMjEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MTWF0aEVs
ZW1lbnQuaCAqLywKKwkJCQlGQUJFNzJGMzEwNTlDMUVCMDBEOTk5REQgLyogbWF0aHRhZ3MuaW4g
Ki8sCisJCQkpOworCQkJcGF0aCA9IG1hdGhtbDsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
CisJCX07CiAvKiBFbmQgUEJYR3JvdXAgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhIZWFkZXJz
QnVpbGRQaGFzZSBzZWN0aW9uICovCkBAIC0xNzc5OSw2ICsxNzgzMyw5IEBACiAJCQkJNTEwRDRB
NEYxMDMxNzdBMjAwNDlFQTU0IC8qIFdlYlNvY2tldENoYW5uZWwuaCBpbiBIZWFkZXJzICovLAog
CQkJCTUxMEQ0QTUwMTAzMTc3QTIwMDQ5RUE1NCAvKiBXZWJTb2NrZXRDaGFubmVsQ2xpZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1MUFCQUU0NTEwNDNBQjRBMDA4QzUyNjAgLyogV2ViU29ja2V0
SGFuZHNoYWtlLmggaW4gSGVhZGVycyAqLywKKwkJCQlGQUJFNzJGNTEwNTlDMUVCMDBEOTk5REQg
LyogTWF0aE1MRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRkFCRTcyRjcxMDU5QzFFQjAw
RDk5OUREIC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAor
CQkJCUZBQkU3MkY5MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxNYXRoRWxlbWVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9
IDA7CiAJCX07CkBAIC0xOTkyNSw2ICsxOTk2MiwxMSBAQAogCQkJCTU5Qzc3RjJBMTA1NDVCM0Iw
MDUwNjEwNCAvKiBHZW9sb2NhdGlvblNlcnZpY2VNb2NrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTUxMEQ0QTRFMTAzMTc3QTIwMDQ5RUE1NCAvKiBXZWJTb2NrZXRDaGFubmVsLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTUxQUJBRTQ0MTA0M0FCNEEwMDhDNTI2MCAvKiBXZWJTb2NrZXRIYW5kc2hh
a2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkFCRTcyRjQxMDU5QzFFQjAwRDk5OUREIC8qIE1h
dGhNTEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkFCRTcyRjYxMDU5QzFFQjAwRDk5
OUREIC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJRkFCRTcyRjgxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTE1hdGhFbGVtZW50LmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCUZBQkU3MkZEMTA1OUMyMTEwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50
RmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlGQUJFNzJGRTEwNTlDMjExMDBEOTk5REQg
LyogTWF0aE1MTmFtZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRl
cGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NQ
YXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAJKHJldmlz
aW9uIDQ4MjczKQorKysgV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjE0Myw3ICsyMTQzLDcgQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTUGFyc2VyOjpwYXJz
ZUF0dAogICAgIGlmIChhdHRyTmFtZVswXSA9PSAnLScpCiAgICAgICAgIHJldHVybiAwOwogCi0g
ICAgaWYgKGRvY3VtZW50KCktPmlzSFRNTERvY3VtZW50KCkpCisgICAgaWYgKGRvY3VtZW50KCkg
JiYgZG9jdW1lbnQoKS0+aXNIVE1MRG9jdW1lbnQoKSkKICAgICAgICAgYXR0ck5hbWUgPSBhdHRy
TmFtZS5sb3dlcigpOwogICAgIAogICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRl
KGF0dHJOYW1lLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0FUVFIpOwpJbmRleDogV2ViQ29yZS9j
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTU3R5
bGVTZWxlY3Rvci5jcHAJKHJldmlzaW9uIDQ4MjczKQorKysgV2ViQ29yZS9jc3MvQ1NTU3R5bGVT
ZWxlY3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMzksNiArMTEzOSwxNyBAQCBQYXNzUmVm
UHRyPFJlbmRlclN0eWxlPiBDU1NTdHlsZVNlbGVjdG9yCiAgICAgfQogI2VuZGlmCiAKKyNpZiBF
TkFCTEUoTUFUSE1MKQorICAgIHN0YXRpYyBib29sIGxvYWRlZE1hdGhNTFVzZXJBZ2VudFNoZWV0
OworICAgIGlmIChlLT5pc01hdGhNTEVsZW1lbnQoKSAmJiAhbG9hZGVkTWF0aE1MVXNlckFnZW50
U2hlZXQpIHsKKyAgICAgICAgLy8gTWF0aE1MIHJ1bGVzLgorICAgICAgICBsb2FkZWRNYXRoTUxV
c2VyQWdlbnRTaGVldCA9IHRydWU7CisgICAgICAgIENTU1N0eWxlU2hlZXQqIG1hdGhNTFNoZWV0
ID0gcGFyc2VVQVNoZWV0KG1hdGhtbFVzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVvZihtYXRobWxV
c2VyQWdlbnRTdHlsZVNoZWV0KSk7CisgICAgICAgIGRlZmF1bHRTdHlsZS0+YWRkUnVsZXNGcm9t
U2hlZXQobWF0aE1MU2hlZXQsIHNjcmVlbkV2YWwoKSk7CisgICAgICAgIGRlZmF1bHRQcmludFN0
eWxlLT5hZGRSdWxlc0Zyb21TaGVldChtYXRoTUxTaGVldCwgcHJpbnRFdmFsKCkpOworICAgIH0K
KyNlbmRpZgorCiAjaWYgRU5BQkxFKFdNTCkKICAgICBzdGF0aWMgYm9vbCBsb2FkZWRXTUxVc2Vy
QWdlbnRTaGVldDsKICAgICBpZiAoZS0+aXNXTUxFbGVtZW50KCkgJiYgIWxvYWRlZFdNTFVzZXJB
Z2VudFNoZWV0KSB7CkluZGV4OiBXZWJDb3JlL2Nzcy9tYXRobWwuY3NzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvY3NzL21hdGhtbC5jc3MJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2Nzcy9tYXRo
bWwuY3NzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE3MCBAQAorQG5hbWVzcGFjZSAiaHR0cDov
L3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCI7CisKKy8qIGFwcHJvdmVkICovCittYXRoIHsK
KyAgICBmb250LWZhbWlseTogU3ltYm9sLCBTVElYR2VuZXJhbCwgIk5ldyBUaW1lcyBSb21hbiI7
CisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgIHBhZGRpbmc6IDBweDsKKyAgICBtYXJn
aW46IDBweDsKKyAgICB0ZXh0LWluZGVudDogMDsKKyAgICBmb250LXNpemU6IDEuMWVtOworICAg
IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsKK30KK21hdGhbZGlzcGxheT0iYmxvY2siXSB7Cisg
ICAgZm9udC1mYW1pbHk6ICJOZXcgVGltZXMgUm9tYW4iCisgICAgZGlzcGxheTogYmxvY2s7Cisg
ICAgdGV4dC1hbGlnbjogY2VudGVyOworICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsKK30K
KworbWZyYWMgeworICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cit9CisKK21zdWIsIG1zdXAg
eworICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworfQorCittc3ViID4gKiArICogeworICAgdmVy
dGljYWwtYWxpZ246IHN1YjsKKyAgIGZvbnQtc2l6ZTogMC43NWVtOworICAgbGluZS1oZWlnaHQ6
IDAuNzVlbTsKK30KKworbXN1cCA+ICogKyAqIHsKKyAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjsK
KyAgIGZvbnQtc2l6ZTogMC43NWVtOworICAgbGluZS1oZWlnaHQ6IDAuNzVlbTsKK30KKworbXN1
YnN1cCA+ICogeworICAgIG1hcmdpbjogMHB4OworICAgIHBhZGRpbmc6IDBweDsKKyAgICB2ZXJ0
aWNhbC1hbGlnbjogbWlkZGxlOworfQorCittc3Vic3VwID4gKiArICogeworICAgZm9udC1zaXpl
OiAwLjc1ZW07CisgICBsaW5lLWhlaWdodDogMC43NWVtOworfQorCittdW5kZXJvdmVyIHsKKyAg
ICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOworfQorCittdW5kZXJvdmVyID4gKiArICosIG1vdmVy
ID4gKiArICosIG11bmRlciA+ICogKyAqIHsKKyAgIGZvbnQtc2l6ZTogMC43NWVtOworICAgbGlu
ZS1oZWlnaHQ6IDAuNTYyNWVtOworfQorCittcm93IHsKKyAgICBsaW5lLWhlaWdodDogMWVtOwor
ICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CisgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKK30K
KworbWZlbmNlZCA+ICogeworICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cit9CisKK21vLCBt
biwgbWkgeworICAgbGluZS1oZWlnaHQ6IDAuNzVlbTsKKyAgIHBhZGRpbmc6IDBweDsKKyAgIG1h
cmdpbjogMHB4OworfQorCittb1ttYXRoc2l6ZT0ic21hbGwiXSwgbW5bbWF0aHNpemU9InNtYWxs
Il0sIG1pW21hdGhzaXplPSJzbWFsbCJdIHsKKyAgIGZvbnQtc2l6ZTogMC43NWVtOworICAgbGlu
ZS1oZWlnaHQ6IDAuNTYyNWVtOworfQorCittb1ttYXRoc2l6ZT0ibm9ybWFsIl0sbW5bbWF0aHNp
emU9Im5vcm1hbCJdLG1pW21hdGhzaXplPSJub3JtYWwiXSB7CisgICBmb250LXNpemU6IDFlbTsK
KyAgIGxpbmUtaGVpZ2h0OiAwLjc1ZW07Cit9CisKK21vW21hdGhzaXplPSJiaWciXSwgbW5bbWF0
aHNpemU9ImJpZyJdLCBtaVttYXRoc2l6ZT0iYmlnIl0geworICAgbGluZS1oZWlnaHQ6IDEuMmVt
OworICAgZm9udC1zaXplOiAxLjVlbTsKK30KKyAKK2Fubm90YXRpb24sIGFubm90YXRpb24teG1s
IHsKKyAgICBkaXNwbGF5Om5vbmU7Cit9CisKK21waGFudG9tIHsKKyAgICB2aXNpYmlsaXR5OiBo
aWRkZW47Cit9CittZXJyb3IgeworICAgIG91dGxpbmU6IHNvbGlkIHRoaW4gcmVkOworfQorCitt
c3FydCB7CisgICAgcGFkZGluZy10b3A6IDAuMmVtOworICAgIHBhZGRpbmctbGVmdDogMC43NWVt
OworfQorCittcm9vdCB7CisgICAgcGFkZGluZy10b3A6IDAuMmVtOworICAgIHBhZGRpbmctbGVm
dDogMC4yZW07Cit9CisKK21yb290ID4gKiArICogeworICAgIGZvbnQtc2l6ZTogMC43NWVtOwor
ICAgIGxpbmUtaGVpZ2h0OiAwLjc1ZW07CisgICAgdmVydGljYWwtYWxpZ246IHRvcDsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAwLjNlbTsKK30KKworbXRhYmxlIHsKKyAgICBkaXNwbGF5OiBpbmxpbmUt
dGFibGU7CisgICAgbGluZS1oZWlnaHQ6IDEuNWVtOworICAgIHRleHQtYWxpZ246IGNlbnRlcjsK
KyAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOworfQorbXRyIHsKKyAgICBkaXNwbGF5OiB0YWJs
ZS1yb3c7Cit9CittdGQgeworICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7CisgICAgcGFkZGluZzog
MCAwLjVleDsKK30KKworbXRhYmxlW2NvbHVtbmFsaWduPSJsZWZ0Il0sIG10cltjb2x1bW5hbGln
bj0ibGVmdCJdLCBtdGRbY29sdW1uYWxpZ249ImxlZnQiXSB7CisgICAgdGV4dC1hbGlnbjogbGVm
dDsKK30KKworbXRhYmxlW2NvbHVtbmFsaWduPSJyaWdodCJdLCBtdHJbY29sdW1uYWxpZ249InJp
Z2h0Il0sIG10ZFtjb2x1bW5hbGlnbj0icmlnaHQiXSB7CisgICAgdGV4dC1hbGlnbjogcmlnaHQ7
Cit9CittdGFibGVbcm93YWxpZ249InRvcCJdIG10ZCwgbXRhYmxlIG10cltyb3dhbGlnbj0idG9w
Il0gbXRkLCBtdGFibGUgbXRyIG10ZFtyb3dhbGlnbj0idG9wIl0geworICAgIHZlcnRpY2FsLWFs
aWduOiB0b3A7Cit9CittdGFibGVbcm93YWxpZ249ImJvdHRvbSJdIG10ZCwgbXRhYmxlIG10clty
b3dhbGlnbj0iYm90dG9tIl0gbXRkLCBtdGFibGUgbXRyIG10ZFtyb3dhbGlnbj0iYm90dG9tIl0g
eworICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207Cit9CittdGFibGVbcm93YWxpZ249ImNlbnRl
ciJdIG10ZCwgbXRhYmxlIG10cltyb3dhbGlnbj0iY2VudGVyIl0gbXRkLCBtdGFibGUgbXRyIG10
ZFtyb3dhbGlnbj0iY2VudGVyIl0geworICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cit9Citt
dGFibGVbZnJhbWU9InNvbGlkIl0geworICAgIGJvcmRlcjogc29saWQgdGhpbjsKK30KK210YWJs
ZVtmcmFtZT0iZGFzaGVkIl0geworICAgIGJvcmRlcjogZGFzaGVkIHRoaW47Cit9CittdGFibGVb
cm93bGluZXM9InNvbGlkIl0sIG10YWJsZVtyb3dsaW5lcz0iZGFzaGVkIl0sIG10YWJsZVtjb2x1
bW5saW5lcz0ic29saWQiXSwgbXRhYmxlW2NvbHVtbmxpbmVzPSJkYXNoZWQiXSB7CisgICAgYm9y
ZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKK30KK210YWJsZVtyb3dsaW5lcz0ic29saWQiXSA+IG10
ciArIG10ciB7CisgICAgYm9yZGVyLXRvcDogc29saWQgdGhpbjsKK30KK210YWJsZVtyb3dsaW5l
cz0iZGFzaGVkIl0gPiBtdHIgKyBtdHIgeworICAgIGJvcmRlci10b3A6IGRhc2hlZCB0aGluOwor
fQorbXRhYmxlW2NvbHVtbmxpbmVzPSJzb2xpZCJdID4gbXRyID4gbXRkICsgbXRkIHsKKyAgICBi
b3JkZXItbGVmdDogc29saWQgdGhpbjsKK30KK210YWJsZVtjb2x1bW5saW5lcz0iZGFzaGVkIl0g
PiBtdHIgPiBtdGQgKyBtdGQgeworICAgIGJvcmRlci1sZWZ0OiBkYXNoZWQgdGhpbjsKK30KKwpJ
bmRleDogV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcAkocmV2aXNpb24gNDgyNzMpCisrKyBXZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE3NCw2ICsxNzQsMTIgQEAKICNpbmNsdWRlICJXTUxOYW1l
cy5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUFUSE1MKQorI2luY2x1ZGUgIk1hdGhNTEVsZW1l
bnQuaCIKKyNpbmNsdWRlICJNYXRoTUxFbGVtZW50RmFjdG9yeS5oIgorI2luY2x1ZGUgIk1hdGhN
TE5hbWVzLmgiCisjZW5kaWYKKwogI2lmIEVOQUJMRShYSFRNTE1QKQogI2luY2x1ZGUgIkhUTUxO
b1NjcmlwdEVsZW1lbnQuaCIKICNlbmRpZgpAQCAtODAzLDYgKzgwOSwxMCBAQCBQYXNzUmVmUHRy
PEVsZW1lbnQ+IERvY3VtZW50OjpjcmVhdGVFbGVtCiAgICAgZWxzZSBpZiAoaXNXTUxEb2N1bWVu
dCgpKQogICAgICAgICBlID0gV01MRWxlbWVudEZhY3Rvcnk6OmNyZWF0ZVdNTEVsZW1lbnQoUXVh
bGlmaWVkTmFtZShudWxsQXRvbSwgcU5hbWUubG9jYWxOYW1lKCksIFdNTE5hbWVzOjp3bWxOYW1l
c3BhY2VVUkkpLCB0aGlzLCBjcmVhdGVkQnlQYXJzZXIpOwogI2VuZGlmCisjaWYgRU5BQkxFKE1B
VEhNTCkKKyAgICBlbHNlIGlmIChxTmFtZS5uYW1lc3BhY2VVUkkoKSA9PSBNYXRoTUxOYW1lczo6
bWF0aG1sTmFtZXNwYWNlVVJJKQorICAgICAgICBlID0gTWF0aE1MRWxlbWVudEZhY3Rvcnk6OmNy
ZWF0ZU1hdGhNTEVsZW1lbnQocU5hbWUsIHRoaXMsIGNyZWF0ZWRCeVBhcnNlcik7CisjZW5kaWYK
ICAgICAKICAgICBpZiAoIWUpCiAgICAgICAgIGUgPSBFbGVtZW50OjpjcmVhdGUocU5hbWUsIGRv
Y3VtZW50KCkpOwpJbmRleDogV2ViQ29yZS9kb20vTm9kZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvZG9tL05vZGUuaAkocmV2aXNpb24gNDgyNzMpCisrKyBXZWJDb3JlL2RvbS9Ob2RlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTE4Myw2ICsxODMsMTMgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29s
IGlzV01MRWxlbWVudCgpIHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShN
QVRITUwpCisgICAgdmlydHVhbCBib29sIGlzTWF0aE1MRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CisjZWxzZQorICAgIHN0YXRpYyBib29sIGlzTWF0aE1MRWxlbWVudCgpIHsgcmV0
dXJuIGZhbHNlOyB9CisjZW5kaWYKKworCiAgICAgdmlydHVhbCBib29sIGlzTWVkaWFDb250cm9s
RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzU3R5
bGVkRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlz
RnJhbWVPd25lckVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpJbmRleDogV2ViQ29y
ZS9tYXRobWwvTWF0aE1MRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9tYXRobWwv
TWF0aE1MRWxlbWVudC5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL21hdGhtbC9NYXRoTUxF
bGVtZW50LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAqICBDb3B5cmln
aHQgKEMpIDIwMDkgQWxleCBNaWxvd3NraSAoYWxleEBtaWxvd3NraS5jb20pLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAy
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor
ICogIAorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqICAKKyAqICBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8g
dGhlCisgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwg
RmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwgVVNBLiAKKyAqICAKKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoTUFUSE1MKQorCisjaW5jbHVk
ZSAiTWF0aE1MRWxlbWVudC5oIgorCisjaW5jbHVkZSAiTWF0aE1MTmFtZXMuaCIKKyNpbmNsdWRl
ICJSZW5kZXJPYmplY3QuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworICAgIAordXNpbmcgbmFt
ZXNwYWNlIE1hdGhNTE5hbWVzOworICAgIAorTWF0aE1MRWxlbWVudDo6TWF0aE1MRWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCisgICAgOiBT
dHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50LCBDcmVhdGVFbGVtZW50WmVyb1JlZkNvdW50
KQoreworfQorICAgIAorUGFzc1JlZlB0cjxNYXRoTUxFbGVtZW50PiBNYXRoTUxFbGVtZW50Ojpj
cmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQor
eworICAgIHJldHVybiBuZXcgTWF0aE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCk7Cit9CisK
K1JlbmRlck9iamVjdCogTWF0aE1MRWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEq
LCBSZW5kZXJTdHlsZSogc3R5bGUpCit7CisgICAgcmV0dXJuIFJlbmRlck9iamVjdDo6Y3JlYXRl
T2JqZWN0KHRoaXMsIHN0eWxlKTsKK30KKyAgICAKKyAgICAKK30KKworI2VuZGlmIC8vIEVOQUJM
RShNQVRITUwpCkluZGV4OiBXZWJDb3JlL21hdGhtbC9NYXRoTUxFbGVtZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9tYXRobWwvTWF0aE1MRWxlbWVudC5oCShyZXZpc2lvbiAwKQorKysgV2Vi
Q29yZS9tYXRobWwvTWF0aE1MRWxlbWVudC5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ1IEBA
CisvKgorICogIENvcHlyaWdodCAoQykgMjAwOSBBbGV4IE1pbG93c2tpIChhbGV4QG1pbG93c2tp
LmNvbSkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqICBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo
ZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisgKiAgCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQorICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor
ICogIAorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsg
aWYgbm90LCB3cml0ZSB0byB0aGUKKyAqICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24sIE1BICAwMjExMC0xMzAx
LCBVU0EuIAorICogIAorICovCisKKyNpZm5kZWYgTWF0aE1MRWxlbWVudF9oCisjZGVmaW5lIE1h
dGhNTEVsZW1lbnRfaAorCisjaWYgRU5BQkxFKE1BVEhNTCkKKyNpbmNsdWRlICJTdHlsZWRFbGVt
ZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICAKK2NsYXNzIE1hdGhNTEVsZW1lbnQg
OiBwdWJsaWMgU3R5bGVkRWxlbWVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8
TWF0aE1MRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3Vt
ZW50Kik7CisgICAgCisgICAgdmlydHVhbCBib29sIGlzTWF0aE1MRWxlbWVudCgpIGNvbnN0IHsg
cmV0dXJuIHRydWU7IH0KKyAgICAKKyAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVu
ZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopOworICAgIAorcHJvdGVjdGVkOgorICAg
IE1hdGhNTEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsK
KyAgICAKK307CisgICAgCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQorI2VuZGlmIC8v
IE1hdGhNTEVsZW1lbnRfaApJbmRleDogV2ViQ29yZS9tYXRobWwvTWF0aE1MSW5saW5lQ29udGFp
bmVyRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9tYXRobWwvTWF0aE1MSW5saW5l
Q29udGFpbmVyRWxlbWVudC5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL21hdGhtbC9NYXRo
TUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1NCBA
QAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDkgQWxleCBNaWxvd3NraSAoYWxleEBtaWxvd3Nr
aS5jb20pLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiAg
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgorICogIAorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKKyAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KyAqICAKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IGlmIG5vdCwgd3JpdGUgdG8gdGhlCisgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAgMDIxMTAtMTMw
MSwgVVNBLiAKKyAqICAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUo
TUFUSE1MKQorCisjaW5jbHVkZSAiTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5oIgorCisj
aW5jbHVkZSAiTWF0aE1MTmFtZXMuaCIKKyNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworICAgIAordXNpbmcgbmFtZXNwYWNlIE1hdGhNTE5hbWVzOworCitN
YXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50OjpNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50
KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKKyAgICA6
IE1hdGhNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCit7Cit9CisKK1Bhc3NSZWZQdHI8TWF0
aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudD4gTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudDo6
Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkK
K3sKKyAgICByZXR1cm4gbmV3IE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQodGFnTmFtZSwg
ZG9jdW1lbnQpOworfQorCitSZW5kZXJPYmplY3QqIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1l
bnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hICosIFJlbmRlclN0eWxlKiBzdHlsZSkKK3sK
KyAgICAvLyBGSVhNRTogVGhpcyBtZXRob2Qgd2lsbCBjb250YWluIHRoZSBzcGVjaWFsaXplZCBy
ZW5kZXJlcnMgYmFzZWQgb24gZWxlbWVudCBuYW1lCisgICAgcmV0dXJuIFJlbmRlck9iamVjdDo6
Y3JlYXRlT2JqZWN0KHRoaXMsIHN0eWxlKTsKK30KKyAgICAKKyAgICAKK30KKworI2VuZGlmIC8v
IEVOQUJMRShNQVRITUwpCisKSW5kZXg6IFdlYkNvcmUvbWF0aG1sL01hdGhNTElubGluZUNvbnRh
aW5lckVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxpbmVD
b250YWluZXJFbGVtZW50LmgJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL21hdGhtbC9NYXRoTUxJ
bmxpbmVDb250YWluZXJFbGVtZW50LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDMgQEAKKy8q
CisgKiAgQ29weXJpZ2h0IChDKSAyMDA5IEFsZXggTWlsb3dza2kgKGFsZXhAbWlsb3dza2kuY29t
KS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIAorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor
ICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KKyAqICAKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisg
KiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKiAg
CisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBu
b3QsIHdyaXRlIHRvIHRoZQorICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEg
RnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVT
QS4gCisgKiAgCisgKi8KKworI2lmbmRlZiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50X2gK
KyNkZWZpbmUgTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudF9oCisKKyNpZiBFTkFCTEUoTUFU
SE1MKQorI2luY2x1ZGUgIk1hdGhNTEVsZW1lbnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
ICAgIAorY2xhc3MgTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudCA6IHB1YmxpYyBNYXRoTUxF
bGVtZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNYXRoTUxJbmxpbmVDb250
YWluZXJFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1l
bnQqKTsKKworICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJB
cmVuYSosIFJlbmRlclN0eWxlKik7CisKK3Byb3RlY3RlZDoKKyAgICBNYXRoTUxJbmxpbmVDb250
YWluZXJFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Kik7CisK
K307CisgICAgCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQorI2VuZGlmIC8vIE1hdGhN
TElubGluZUNvbnRhaW5lckVsZW1lbnRfaApJbmRleDogV2ViQ29yZS9tYXRobWwvTWF0aE1MTWF0
aEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbWF0aG1sL01hdGhNTE1hdGhFbGVt
ZW50LmNwcAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvbWF0aG1sL01hdGhNTE1hdGhFbGVtZW50
LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMp
IDIwMDkgQWxleCBNaWxvd3NraSAoYWxleEBtaWxvd3NraS5jb20pLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogIAor
ICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg
YmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqICAKKyAqICBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICog
IExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlCisg
KiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGgg
Rmxvb3IsCisgKiAgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwgVVNBLiAKKyAqICAKKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoTUFUSE1MKQorCisjaW5jbHVkZSAiTWF0
aE1MTWF0aEVsZW1lbnQuaCIKKworI2luY2x1ZGUgIk1hdGhNTE5hbWVzLmgiCisjaW5jbHVkZSAi
UmVuZGVyT2JqZWN0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICAKK3VzaW5nIG5hbWVz
cGFjZSBNYXRoTUxOYW1lczsKKworTWF0aE1MTWF0aEVsZW1lbnQ6Ok1hdGhNTE1hdGhFbGVtZW50
KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKKyAgICA6
IE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpCit7Cit9CisK
K1Bhc3NSZWZQdHI8TWF0aE1MTWF0aEVsZW1lbnQ+IE1hdGhNTE1hdGhFbGVtZW50OjpjcmVhdGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQoreworICAg
IHJldHVybiBuZXcgTWF0aE1MTWF0aEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpOworfQorCit9
CisKKyNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQpJbmRleDogV2ViQ29yZS9tYXRobWwvTWF0aE1M
TWF0aEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL21hdGhtbC9NYXRoTUxNYXRoRWxl
bWVudC5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9tYXRobWwvTWF0aE1MTWF0aEVsZW1lbnQu
aAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIw
MDkgQWxleCBNaWxvd3NraSAoYWxleEBtaWxvd3NraS5jb20pLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogIAorICog
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqICAKKyAqICBZb3Ugc2hvdWxkIGhhdmUg
cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogIExp
Y2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlCisgKiAg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxv
b3IsCisgKiAgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwgVVNBLiAKKyAqICAKKyAqLworCisjaWZu
ZGVmIE1hdGhNTE1hdGhFbGVtZW50X2gKKyNkZWZpbmUgTWF0aE1MTWF0aEVsZW1lbnRfaAorCisj
aWYgRU5BQkxFKE1BVEhNTCkKKyNpbmNsdWRlICJNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICAKK2NsYXNzIE1hdGhNTE1hdGhFbGVtZW50
IDogcHVibGljIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQgeworcHVibGljOgorICAgIHN0
YXRpYyBQYXNzUmVmUHRyPE1hdGhNTE1hdGhFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKKyAgICAKK3Byb3RlY3RlZDoKKyAgICBNYXRoTUxN
YXRoRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCopOworICAg
IAorfTsKKyAgICAKK30KKworI2VuZGlmIC8vIEVOQUJMRShNQVRITUwpCisjZW5kaWYgLy8gTWF0
aE1MTWF0aEVsZW1lbnRfaApJbmRleDogV2ViQ29yZS9tYXRobWwvbWF0aHRhZ3MuaW4KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9tYXRobWwvbWF0aHRhZ3MuaW4JKHJldmlzaW9uIDApCisrKyBXZWJD
b3JlL21hdGhtbC9tYXRodGFncy5pbgkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMSBAQAorbmFt
ZXNwYWNlPSJNYXRoTUwiCituYW1lc3BhY2VVUkk9Imh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0
aC9NYXRoTUwiCitndWFyZEZhY3RvcnlXaXRoPSJFTkFCTEUoTUFUSE1MKSIKK2V4cG9ydFN0cmlu
Z3MKKworbWF0aAorbWZyYWMgaW50ZXJmYWNlTmFtZT1NYXRoTUxJbmxpbmVDb250YWluZXJFbGVt
ZW50CittZmVuY2VkIGludGVyZmFjZU5hbWU9TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudAor
bXN1YnN1cCBpbnRlcmZhY2VOYW1lPU1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQKK21yb3cg
aW50ZXJmYWNlTmFtZT1NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50Cittb3ZlciBpbnRlcmZh
Y2VOYW1lPU1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQKK211bmRlciBpbnRlcmZhY2VOYW1l
PU1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQKK211bmRlcm92ZXIgaW50ZXJmYWNlTmFtZT1N
YXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50Cittc3FydCBpbnRlcmZhY2VOYW1lPU1hdGhNTElu
bGluZUNvbnRhaW5lckVsZW1lbnQKK21yb290IGludGVyZmFjZU5hbWU9TWF0aE1MSW5saW5lQ29u
dGFpbmVyRWxlbWVudAorbWkgaW50ZXJmYWNlTmFtZT1NYXRoTUxFbGVtZW50LCBjcmVhdGVXaXRo
TmV3CittbiBpbnRlcmZhY2VOYW1lPU1hdGhNTEVsZW1lbnQsIGNyZWF0ZVdpdGhOZXcKK21vIGlu
dGVyZmFjZU5hbWU9TWF0aE1MRWxlbWVudCwgY3JlYXRlV2l0aE5ldworbXN1YiBpbnRlcmZhY2VO
YW1lPU1hdGhNTEVsZW1lbnQsIGNyZWF0ZVdpdGhOZXcKK21zdXAgaW50ZXJmYWNlTmFtZT1NYXRo
TUxFbGVtZW50LCBjcmVhdGVXaXRoTmV3CisKSW5kZXg6IFdlYkNvcmUvcGFnZS9GcmFtZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAkocmV2aXNpb24gNDgyNzMpCisr
KyBXZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05Nyw2ICs5NywxMCBA
QAogI2luY2x1ZGUgIldNTE5hbWVzLmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShNQVRITUwpCisj
aW5jbHVkZSAiTWF0aE1MTmFtZXMuaCIKKyNlbmRpZgorCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0xNTIsNiArMTU2LDEwIEBAIEZyYW1lOjpGcmFtZShQ
YWdlKiBwYWdlLCBIVE1MRnJhbWVPd25lckUKICAgICBXTUxOYW1lczo6aW5pdCgpOwogI2VuZGlm
CiAKKyNpZiBFTkFCTEUoTUFUSE1MKQorICAgIE1hdGhNTE5hbWVzOjppbml0KCk7CisjZW5kaWYK
KwogICAgIFhNTE5hbWVzOjppbml0KCk7CiAKICAgICBpZiAoIW93bmVyRWxlbWVudCkKSW5kZXg6
IFdlYktpdC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODI3MykKKysrIFdlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTEgQEAKKzIwMDktMDktMTAgIEFsZXggTWlsb3dza2kgIDxhbGV4QG1pbG93
c2tpLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGRlZCB0aGUgRU5BQkxFX01BVEhNTCB0byB0aGUgZmVhdXJlIGRlZmluZXMKKworICAgICAg
ICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorCiAyMDA5LTA5LTEw
ICBNYXJrIFJvd2UgIDxtcm93ZUBhcHBsZS5jb20+CiAKICAgICAgICAgUnViYmVyLXN0YW1wZWQg
YnkgU2FtIFdlaW5pZy4KSW5kZXg6IFdlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwkocmV2aXNpb24gNDgyNzMpCisrKyBXZWJLaXQvbWFjL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC00
NCw2ICs0NCw3IEBAIEVOQUJMRV9GSUxURVJTID0gOwogRU5BQkxFX0dFT0xPQ0FUSU9OID0gOwog
RU5BQkxFX0lDT05EQVRBQkFTRSA9IEVOQUJMRV9JQ09OREFUQUJBU0U7CiBFTkFCTEVfSkFWQVND
UklQVF9ERUJVR0dFUiA9IEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSOworRU5BQkxFX01BVEhN
TCA9IDsKIEVOQUJMRV9OT1RJRklDQVRJT05TID0gOwogRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJ
Q0FUSU9OUyA9IEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlM7CiBFTkFCTEVfUlVCWSA9
IEVOQUJMRV9SVUJZOwpAQCAtNjIsNCArNjMsNCBAQCBFTkFCTEVfV09SS0VSUyA9IEVOQUJMRV9X
T1JLRVJTOwogRU5BQkxFX1hQQVRIID0gRU5BQkxFX1hQQVRIOwogRU5BQkxFX1hTTFQgPSBFTkFC
TEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfQ0FOVkFTKSAkKEVOQUJM
RV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9EQVRB
QkFTRSkgJChFTkFCTEVfREFUQUdSSUQpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9ET01f
U1RPUkFHRSkgJChFTkFCTEVfRVZFTlRTT1VSQ0UpICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0pBVkFTQ1JJUFRf
REVCVUdHRVIpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX09GRkxJTkVfV0VCX0FQ
UExJQ0FUSU9OUykgJChFTkFCTEVfUlVCWSkgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQoRU5B
QkxFX1NWRykgJChFTkFCTEVfU1ZHX0FOSU1BVElPTikgJChFTkFCTEVfU1ZHX0FTX0lNQUdFKSAk
KEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfU1ZHX0ZPUkVJR05fT0JKRUNUKSAkKEVOQUJMRV9TVkdfVVNFKSAkKEVOQUJMRV9WSURFTykg
JChFTkFCTEVfV0VCX1NPQ0tFVFMpICQoRU5BQkxFX1dNTCkgJChFTkFCTEVfV09SS0VSUykgJChF
TkFCTEVfWFBBVEgpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfQ0FOVkFTKSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKSAkKEVOQUJMRV9EQVRBQkFTRSkgJChFTkFCTEVfREFUQUdSSUQpICQoRU5BQkxFX0RBVEFM
SVNUKSAkKEVOQUJMRV9ET01fU1RPUkFHRSkgJChFTkFCTEVfRVZFTlRTT1VSQ0UpICQoRU5BQkxF
X0ZJTFRFUlMpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQo
RU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTk9U
SUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKSAkKEVOQUJMRV9S
VUJZKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdf
QU5JTUFUSU9OKSAkKEVOQUJMRV9TVkdfQVNfSU1BR0UpICQoRU5BQkxFX1NWR19ET01fT0JKQ19C
SU5ESU5HUykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9TVkdfRk9SRUlHTl9PQkpFQ1Qp
ICQoRU5BQkxFX1NWR19VU0UpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9XRUJfU09DS0VUUykg
JChFTkFCTEVfV01MKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YUEFUSCkgJChFTkFCTEVf
WFNMVCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39627</attachid>
            <date>2009-09-15 18:18:06 -0700</date>
            <delta_ts>2009-09-17 14:54:44 -0700</delta_ts>
            <desc>Updated patch excluding build script changes already applied in 29143</desc>
            <filename>WebKit-mathml-css.patch</filename>
            <type>text/plain</type>
            <size>30459</size>
            <attacher name="Alex Milowski">alex</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODQwMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNjQgQEAKKzIwMDktMDktMTUgIEFsZXggTWlsb3dza2kgIDxhbGV4QG1pbG93c2tp
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRzIENTUyBzdHlsaW5nIGFuZCBiYXNpYyBET00gZWxlbWVudCBzdXBwb3J0IGZvciBNYXRoTUwK
KworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICAgQWRkZWQgdXNlciBz
dHlsZXNoZWV0IGFuZCB0YWcgZmFjdG9yeSBnZW5lcmF0aW9uCisKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICAgQWRkZWQgbmV3IERPTSBlbGVt
ZW50IGNvZGUKKworICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUGFyc2VyOjpwYXJzZUF0dHIpOgorICAgICAgICAgIEFkZGVkIGNoZWNrIGZvciBkb2N1
bWVudCBzaW5jZSBzdHlsZXNoZWV0IGNhbiBiZSBhZGRlZCBiZWZvcmUgdGhlcmUgaXMgYSBkb2N1
bWVudAorCisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6c3R5bGVGb3JFbGVtZW50KToKKyAgICAgICAgICBBZGRl
ZCBjaGVjayB0byBhZGQgTWF0aE1MIHVzZXIgYWdlbnQgc3R5bGVzaGVldAorCisgICAgICAgICog
Y3NzL21hdGhtbC5jc3M6IEFkZGVkLgorICAgICAgICAgIE1hdGhNTCB1c2VyIGFnZW50IHN0eWxl
c2hlZXQKKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6Y3JlYXRlRWxlbWVudCk6CisgICAgICAgICAgQWRkZWQgc3VwcG9ydCBmb3IgY3Jl
YXRpb24gb2YgTWF0aE1MIERPTSBvYmplY3RzCisKKyAgICAgICAgKiBkb20vTm9kZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6Tm9kZTo6aXNNYXRoTUxFbGVtZW50KToKKyAgICAgICAgICBBZGRlZCBj
aGVjayBtZXRob2QgZm9yIHdoZXRoZXIgdGhlIG5vZGUgaXMgYSBNYXRoTUwgbm9kZQorCisgICAg
ICAgICogbWF0aG1sOiBBZGRlZC4KKyAgICAgICAgKiBtYXRobWwvTWF0aE1MRWxlbWVudC5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MRWxlbWVudDo6TWF0aE1MRWxlbWVudCk6
CisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxFbGVtZW50OjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6TWF0aE1MRWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIpOgorICAgICAgICAqIG1hdGhtbC9N
YXRoTUxFbGVtZW50Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MRWxlbWVudDo6
aXNNYXRoTUxFbGVtZW50KToKKyAgICAgICAgICBNYXRoTUwgRE9NIGJhc2UgY2xhc3MKKworCisg
ICAgICAgICogbWF0aG1sL01hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQ6Ok1hdGhNTElu
bGluZUNvbnRhaW5lckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MSW5saW5lQ29u
dGFpbmVyRWxlbWVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTElubGluZUNv
bnRhaW5lckVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKiBtYXRobWwvTWF0aE1M
SW5saW5lQ29udGFpbmVyRWxlbWVudC5oOiBBZGRlZC4KKyAgICAgICAgICBCYXNlIGNsYXNzIGZv
ciBub24tdGV4dCBjb250YWluZXJzCisKKyAgICAgICAgKiBtYXRobWwvTWF0aE1MTWF0aEVsZW1l
bnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTE1hdGhFbGVtZW50OjpNYXRo
TUxNYXRoRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxNYXRoRWxlbWVudDo6Y3Jl
YXRlKToKKyAgICAgICAgKiBtYXRobWwvTWF0aE1MTWF0aEVsZW1lbnQuaDogQWRkZWQuCisgICAg
ICAgICAgUm9vdCBNYXRoIGVsZW1lbnQKKworICAgICAgICAqIG1hdGhtbC9tYXRodGFncy5pbjog
QWRkZWQuCisgICAgICAgICAgRWxlbWVudCBsaXN0IG1hcHBpbmdzCisKKyAgICAgICAgKiBwYWdl
L0ZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpGcmFtZSk6CisgICAgICAgICAg
QWRkZWQgTWF0aE1MIG5hbWUgaW5pdGlhbGl6YXRpb24KKwogMjAwOS0wOS0xNSAgQWxleCBNaWxv
d3NraSAgPGFsZXhAbWlsb3dza2kuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRvciBBcm5l
IFZlc3Riw7guCkluZGV4OiBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZpc2lvbiA0ODQwMCkKKysrIFdlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtNDQyLDYgKzQ0Miw4IEBA
IGFsbCA6IFwKICAgICBVc2VyQWdlbnRTdHlsZVNoZWV0cy5oIFwKICAgICBYTGlua05hbWVzLmNw
cCBcCiAgICAgWE1MTmFtZXMuY3BwIFwKKyAgICBNYXRoTUxFbGVtZW50RmFjdG9yeS5jcHAgXAor
ICAgIE1hdGhNTE5hbWVzLmNwcCBcCiAgICAgWFBhdGhHcmFtbWFyLmNwcCBcCiAgICAgdG9rZW5p
emVyLmNwcCBcCiAjCkBAIC01NjUsNiArNTY3LDEwIEBAIGlmZXEgKCQoZmluZHN0cmluZyBFTkFC
TEVfV01MLCQoRkVBVFVSRV8KICAgICBVU0VSX0FHRU5UX1NUWUxFX1NIRUVUUyA6PSAkKFVTRVJf
QUdFTlRfU1RZTEVfU0hFRVRTKSAkKFdlYkNvcmUpL2Nzcy93bWwuY3NzCiBlbmRpZgogCitpZmVx
ICgkKGZpbmRzdHJpbmcgRU5BQkxFX01BVEhNTCwkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVf
TUFUSE1MKQorICAgIFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlM
RV9TSEVFVFMpICQoV2ViQ29yZSkvY3NzL21hdGhtbC5jc3MKK2VuZGlmCisKIGlmZXEgKCQoZmlu
ZHN0cmluZyBFTkFCTEVfVklERU8sJChGRUFUVVJFX0RFRklORVMpKSwgRU5BQkxFX1ZJREVPKQog
ICAgIFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMp
ICQoV2ViQ29yZSkvY3NzL21lZGlhQ29udHJvbHMuY3NzCiBpZmVxICgkKE9TKSxNQUNPUykKQEAg
LTcwNiw2ICs3MTIsMjYgQEAgV01MTmFtZXMuY3BwIDoKIAogZW5kaWYKIAorIyAtLS0tLS0tLQor
IAorIyBNYXRoTUwgdGFnIGFuZCBhdHRyaWJ1dGUgbmFtZXMsIGFuZCBlbGVtZW50IGZhY3RvcnkK
KworaWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9NQVRITUwsJChGRUFUVVJFX0RFRklORVMpKSwg
RU5BQkxFX01BVEhNTCkKKworTWF0aE1MRWxlbWVudEZhY3RvcnkuY3BwIE1hdGhNTE5hbWVzLmNw
cCA6IGRvbS9tYWtlX25hbWVzLnBsIG1hdGhtbC9tYXRodGFncy5pbgorCXBlcmwgLUkgJChXZWJD
b3JlKS9iaW5kaW5ncy9zY3JpcHRzICQ8IC0tdGFncyAkKFdlYkNvcmUpL21hdGhtbC9tYXRodGFn
cy5pbiAtLWZhY3RvcnkgLS13cmFwcGVyRmFjdG9yeQorCitlbHNlCisKK01hdGhNTEVsZW1lbnRG
YWN0b3J5LmNwcCA6CisJZWNobyA+ICRACisKK01hdGhNTE5hbWVzLmNwcCA6CisJZWNobyA+ICRA
CisKK2VuZGlmCisKKwogCiAjIC0tLS0tLS0tCiAKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA0ODQwMCkKKysrIFdlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00NjgwLDYgKzQ2
ODAsMTQgQEAKIAkJRjkxNkM0OEQwREI1MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQ
cm9ncmVzc0V2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEY5MTZDNDhCMERCNTEwRjgwMDc2Q0Q4MyAvKiBKU1hNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudC5jcHAgKi87IH07CiAJCUY5MTZDNDhFMERCNTEwRjgwMDc2Q0Q4MyAvKiBKU1hNTEh0
dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjkxNkM0OEMwREI1MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVl
c3RQcm9ncmVzc0V2ZW50LmggKi87IH07CiAJCUY5RjBFRDdBMERCNTBDQTIwMEQxNkRCOSAvKiBY
TUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEY5RjBFRDc3MERCNTBDQTIwMEQxNkRCOSAvKiBYTUxIdHRwUmVx
dWVzdFByb2dyZXNzRXZlbnQuaCAqLzsgfTsKKwkJRkFCRTcyRjQxMDU5QzFFQjAwRDk5OUREIC8q
IE1hdGhNTEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRkFCRTcyRUQxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnQuY3BwICov
OyB9OworCQlGQUJFNzJGNTEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MRWxlbWVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRUUxMDU5QzFF
QjAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnQuaCAqLzsgfTsKKwkJRkFCRTcyRjYxMDU5QzFFQjAw
RDk5OUREIC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRUYxMDU5QzFFQjAwRDk5OURE
IC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwICovOyB9OworCQlGQUJFNzJGNzEw
NTlDMUVCMDBEOTk5REQgLyogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRjAxMDU5QzFFQjAw
RDk5OUREIC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCAqLzsgfTsKKwkJRkFCRTcy
RjgxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTE1hdGhFbGVtZW50LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZBQkU3MkYxMTA1OUMxRUIwMEQ5OTlE
RCAvKiBNYXRoTUxNYXRoRWxlbWVudC5jcHAgKi87IH07CisJCUZBQkU3MkY5MTA1OUMxRUIwMEQ5
OTlERCAvKiBNYXRoTUxNYXRoRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRjIxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTE1hdGhF
bGVtZW50LmggKi87IH07CisJCUZBQkU3MkZEMTA1OUMyMTEwMEQ5OTlERCAvKiBNYXRoTUxFbGVt
ZW50RmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGQUJFNzJGQjEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MRWxlbWVudEZhY3RvcnkuY3Bw
ICovOyB9OworCQlGQUJFNzJGRTEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MTmFtZXMuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRkMxMDU5
QzIxMTAwRDk5OUREIC8qIE1hdGhNTE5hbWVzLmNwcCAqLzsgfTsKIAkJRkU2RkQ0ODgwRjY3NkU1
NzAwMDkyODczIC8qIENvb3JkaW5hdGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGRTZGRDQ4NTBGNjc2RTU3MDAwOTI4NzMgLyogQ29vcmRpbmF0ZXMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGRTZG
RDQ4RDBGNjc2RTkzMDAwOTI4NzMgLyogSlNDb29yZGluYXRlcy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTZGRDQ4QjBGNjc2RTkzMDAwOTI4NzMg
LyogSlNDb29yZGluYXRlcy5jcHAgKi87IH07CiAJCUZFNkZENDhFMEY2NzZFOTMwMDA5Mjg3MyAv
KiBKU0Nvb3JkaW5hdGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGRTZGRDQ4QzBGNjc2RTkzMDAwOTI4NzMgLyogSlNDb29yZGluYXRlcy5oICovOyB9
OwpAQCAtOTgxNSw2ICs5ODIzLDE1IEBACiAJCUY5MTZDNDhDMERCNTEwRjgwMDc2Q0Q4MyAvKiBK
U1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRjlGMEVENzcwREI1MENBMjAwRDE2REI5IC8qIFhNTEh0dHBSZXF1ZXN0
UHJvZ3Jlc3NFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gWE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY5
RjBFRDc4MERCNTBDQTIwMEQxNkRCOSAvKiBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQUJFNzJFRDEwNTlDMUVCMDBEOTk5REQg
LyogTWF0aE1MRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBNYXRoTUxFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkFCRTcy
RUUxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gTWF0aE1MRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlGQUJFNzJFRjEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxl
bWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXRoTUxJbmxp
bmVDb250YWluZXJFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkFC
RTcyRjAxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWF0aE1MSW5saW5lQ29udGFpbmVyRWxl
bWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQUJFNzJGMTEwNTlDMUVCMDBE
OTk5REQgLyogTWF0aE1MTWF0aEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gTWF0aE1MTWF0aEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlGQUJFNzJGMjEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MTWF0aEVsZW1lbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWF0aE1MTWF0aEVsZW1lbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkFCRTcyRjMxMDU5QzFFQjAwRDk5OUREIC8qIG1h
dGh0YWdzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IG1hdGh0YWdzLmluOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlGQUJFNzJGQjEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MRWxl
bWVudEZhY3RvcnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWF0
aE1MRWxlbWVudEZhY3RvcnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQUJF
NzJGQzEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MTmFtZXMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTWF0aE1MTmFtZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGRTQ5RUY5NzBEQzUxNDYyMDA0MjY2RTEgLyogRGFzaGJvYXJkU3VwcG9ydENT
U1Byb3BlcnR5TmFtZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRGFzaGJvYXJkU3VwcG9y
dENTU1Byb3BlcnR5TmFtZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFNkZE
NDg1MEY2NzZFNTcwMDA5Mjg3MyAvKiBDb29yZGluYXRlcy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDb29yZGluYXRlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlGRTZGRDQ4NjBGNjc2RTU3MDAwOTI4NzMgLyogQ29vcmRpbmF0ZXMuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IENvb3JkaW5hdGVzLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTk4OTQsNiArOTkxMSw3IEBACiAJCQkJOTNFRUMxRUMwOUMyODc3NzAwQzUxNUQxIC8qIGh0
bWwgKi8sCiAJCQkJMUM4MUI5NEQwRTk3MzJEOTAwMjY2RTA3IC8qIGluc3BlY3RvciAqLywKIAkJ
CQlCQ0IxNkJGQjA5NzlDMzg3MDA0Njc3NDEgLyogbG9hZGVyICovLAorCQkJCUZBQkU3MkVDMTA1
OUMxRUIwMEQ5OTlERCAvKiBtYXRobWwgKi8sCiAJCQkJMzMzRjcwM0QwRkI0OUMxNjAwOEUxMkE2
IC8qIG5vdGlmaWNhdGlvbnMgKi8sCiAJCQkJNjVCRjAyMTgwOTc0ODA2MzAwQzQzMTk2IC8qIHBh
Z2UgKi8sCiAJCQkJQkNGMUE1QkEwOTc4MzIwOTAwNjFBMTIzIC8qIHBsYXRmb3JtICovLApAQCAt
MTA4MTMsNiArMTA4MzEsOCBAQAogCQkJCTkzOEU2NUYwMDlGMDk4NDAwMDhBNDhFQyAvKiBKU0hU
TUxFbGVtZW50V3JhcHBlckZhY3RvcnkuaCAqLywKIAkJCQk4NTc0RDFGMTBBREU2MTIyMDA0Q0JB
MTEgLyogSlNTVkdFbGVtZW50V3JhcHBlckZhY3RvcnkuY3BwICovLAogCQkJCTg1NzREMUYyMEFE
RTYxMjIwMDRDQkExMSAvKiBKU1NWR0VsZW1lbnRXcmFwcGVyRmFjdG9yeS5oICovLAorCQkJCUZB
QkU3MkZCMTA1OUMyMTEwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50RmFjdG9yeS5jcHAgKi8sCisJ
CQkJRkFCRTcyRkMxMDU5QzIxMTAwRDk5OUREIC8qIE1hdGhNTE5hbWVzLmNwcCAqLywKIAkJCQk2
NTY1ODFFNjA5RDE1MDhEMDAwRTYxRDcgLyogU1ZHRWxlbWVudEZhY3RvcnkuY3BwICovLAogCQkJ
CTY1NjU4MUU3MDlEMTUwOEQwMDBFNjFENyAvKiBTVkdFbGVtZW50RmFjdG9yeS5oICovLAogCQkJ
CTY1NjU4MUU4MDlEMTUwOEQwMDBFNjFENyAvKiBTVkdOYW1lcy5jcHAgKi8sCkBAIC0xNTQzMiw2
ICsxNTQ1MiwyMCBAQAogCQkJdGFiV2lkdGggPSA0OwogCQkJdXNlc1RhYnMgPSAwOwogCQl9Owor
CQlGQUJFNzJFQzEwNTlDMUVCMDBEOTk5REQgLyogbWF0aG1sICovID0geworCQkJaXNhID0gUEJY
R3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlGQUJFNzJFRDEwNTlDMUVCMDBEOTk5REQgLyog
TWF0aE1MRWxlbWVudC5jcHAgKi8sCisJCQkJRkFCRTcyRUUxMDU5QzFFQjAwRDk5OUREIC8qIE1h
dGhNTEVsZW1lbnQuaCAqLywKKwkJCQlGQUJFNzJFRjEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1M
SW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAgKi8sCisJCQkJRkFCRTcyRjAxMDU5QzFFQjAwRDk5
OUREIC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCAqLywKKwkJCQlGQUJFNzJGMTEw
NTlDMUVCMDBEOTk5REQgLyogTWF0aE1MTWF0aEVsZW1lbnQuY3BwICovLAorCQkJCUZBQkU3MkYy
MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxNYXRoRWxlbWVudC5oICovLAorCQkJCUZBQkU3MkYz
MTA1OUMxRUIwMEQ5OTlERCAvKiBtYXRodGFncy5pbiAqLywKKwkJCSk7CisJCQlwYXRoID0gbWF0
aG1sOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIC8qIEVuZCBQQlhHcm91cCBz
ZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEhlYWRlcnNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KQEAg
LTE3ODEwLDYgKzE3ODQ0LDkgQEAKIAkJCQk1MTBENEE0RjEwMzE3N0EyMDA0OUVBNTQgLyogV2Vi
U29ja2V0Q2hhbm5lbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwRDRBNTAxMDMxNzdBMjAwNDlF
QTU0IC8qIFdlYlNvY2tldENoYW5uZWxDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxQUJB
RTQ1MTA0M0FCNEEwMDhDNTI2MCAvKiBXZWJTb2NrZXRIYW5kc2hha2UuaCBpbiBIZWFkZXJzICov
LAorCQkJCUZBQkU3MkY1MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50LmggaW4gSGVh
ZGVycyAqLywKKwkJCQlGQUJFNzJGNzEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MSW5saW5lQ29u
dGFpbmVyRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRkFCRTcyRjkxMDU5QzFFQjAwRDk5
OUREIC8qIE1hdGhNTE1hdGhFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTE5OTM3LDYgKzE5
OTc0LDExIEBACiAJCQkJNTFBMDUyMzQxMDU4Nzc0RjAwQ0M5RTk1IC8qIENyZWRlbnRpYWxTdG9y
YWdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxMEQ0QTRFMTAzMTc3QTIwMDQ5RUE1NCAvKiBX
ZWJTb2NrZXRDaGFubmVsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxQUJBRTQ0MTA0M0FCNEEw
MDhDNTI2MCAvKiBXZWJTb2NrZXRIYW5kc2hha2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkFC
RTcyRjQxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJRkFCRTcyRjYxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVs
ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkFCRTcyRjgxMDU5QzFFQjAwRDk5OUREIC8q
IE1hdGhNTE1hdGhFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZBQkU3MkZEMTA1OUMy
MTEwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50RmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQlGQUJFNzJGRTEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MTmFtZXMuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJ
CX07CkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvY3NzL0NTU1BhcnNlci5jcHAJKHJldmlzaW9uIDQ4NDAwKQorKysgV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE0Myw3ICsyMTQzLDcgQEAgUGFzc1JlZlB0
cjxDU1NWYWx1ZT4gQ1NTUGFyc2VyOjpwYXJzZUF0dAogICAgIGlmIChhdHRyTmFtZVswXSA9PSAn
LScpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgaWYgKGRvY3VtZW50KCktPmlzSFRNTERvY3Vt
ZW50KCkpCisgICAgaWYgKGRvY3VtZW50KCkgJiYgZG9jdW1lbnQoKS0+aXNIVE1MRG9jdW1lbnQo
KSkKICAgICAgICAgYXR0ck5hbWUgPSBhdHRyTmFtZS5sb3dlcigpOwogICAgIAogICAgIHJldHVy
biBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKGF0dHJOYW1lLCBDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTX0FUVFIpOwpJbmRleDogV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAJKHJldmlzaW9uIDQ4NDAw
KQorKysgV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTExMzksNiArMTEzOSwxNyBAQCBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBDU1NTdHlsZVNlbGVj
dG9yCiAgICAgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUFUSE1MKQorICAgIHN0YXRpYyBib29s
IGxvYWRlZE1hdGhNTFVzZXJBZ2VudFNoZWV0OworICAgIGlmIChlLT5pc01hdGhNTEVsZW1lbnQo
KSAmJiAhbG9hZGVkTWF0aE1MVXNlckFnZW50U2hlZXQpIHsKKyAgICAgICAgLy8gTWF0aE1MIHJ1
bGVzLgorICAgICAgICBsb2FkZWRNYXRoTUxVc2VyQWdlbnRTaGVldCA9IHRydWU7CisgICAgICAg
IENTU1N0eWxlU2hlZXQqIG1hdGhNTFNoZWV0ID0gcGFyc2VVQVNoZWV0KG1hdGhtbFVzZXJBZ2Vu
dFN0eWxlU2hlZXQsIHNpemVvZihtYXRobWxVc2VyQWdlbnRTdHlsZVNoZWV0KSk7CisgICAgICAg
IGRlZmF1bHRTdHlsZS0+YWRkUnVsZXNGcm9tU2hlZXQobWF0aE1MU2hlZXQsIHNjcmVlbkV2YWwo
KSk7CisgICAgICAgIGRlZmF1bHRQcmludFN0eWxlLT5hZGRSdWxlc0Zyb21TaGVldChtYXRoTUxT
aGVldCwgcHJpbnRFdmFsKCkpOworICAgIH0KKyNlbmRpZgorCiAjaWYgRU5BQkxFKFdNTCkKICAg
ICBzdGF0aWMgYm9vbCBsb2FkZWRXTUxVc2VyQWdlbnRTaGVldDsKICAgICBpZiAoZS0+aXNXTUxF
bGVtZW50KCkgJiYgIWxvYWRlZFdNTFVzZXJBZ2VudFNoZWV0KSB7CkluZGV4OiBXZWJDb3JlL2Nz
cy9tYXRobWwuY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL21hdGhtbC5jc3MJKHJldmlz
aW9uIDApCisrKyBXZWJDb3JlL2Nzcy9tYXRobWwuY3NzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDE3MCBAQAorQG5hbWVzcGFjZSAiaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCI7
CisKKy8qIGFwcHJvdmVkICovCittYXRoIHsKKyAgICBmb250LWZhbWlseTogU3ltYm9sLCBTVElY
R2VuZXJhbCwgIk5ldyBUaW1lcyBSb21hbiI7CisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwor
ICAgIHBhZGRpbmc6IDBweDsKKyAgICBtYXJnaW46IDBweDsKKyAgICB0ZXh0LWluZGVudDogMDsK
KyAgICBmb250LXNpemU6IDEuMWVtOworICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsKK30K
K21hdGhbZGlzcGxheT0iYmxvY2siXSB7CisgICAgZm9udC1mYW1pbHk6ICJOZXcgVGltZXMgUm9t
YW4iCisgICAgZGlzcGxheTogYmxvY2s7CisgICAgdGV4dC1hbGlnbjogY2VudGVyOworICAgIHBh
Z2UtYnJlYWstaW5zaWRlOiBhdm9pZDsKK30KKworbWZyYWMgeworICAgIHZlcnRpY2FsLWFsaWdu
OiBtaWRkbGU7Cit9CisKK21zdWIsIG1zdXAgeworICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwor
fQorCittc3ViID4gKiArICogeworICAgdmVydGljYWwtYWxpZ246IHN1YjsKKyAgIGZvbnQtc2l6
ZTogMC43NWVtOworICAgbGluZS1oZWlnaHQ6IDAuNzVlbTsKK30KKworbXN1cCA+ICogKyAqIHsK
KyAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjsKKyAgIGZvbnQtc2l6ZTogMC43NWVtOworICAgbGlu
ZS1oZWlnaHQ6IDAuNzVlbTsKK30KKworbXN1YnN1cCA+ICogeworICAgIG1hcmdpbjogMHB4Owor
ICAgIHBhZGRpbmc6IDBweDsKKyAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOworfQorCittc3Vi
c3VwID4gKiArICogeworICAgZm9udC1zaXplOiAwLjc1ZW07CisgICBsaW5lLWhlaWdodDogMC43
NWVtOworfQorCittdW5kZXJvdmVyIHsKKyAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOworfQor
CittdW5kZXJvdmVyID4gKiArICosIG1vdmVyID4gKiArICosIG11bmRlciA+ICogKyAqIHsKKyAg
IGZvbnQtc2l6ZTogMC43NWVtOworICAgbGluZS1oZWlnaHQ6IDAuNTYyNWVtOworfQorCittcm93
IHsKKyAgICBsaW5lLWhlaWdodDogMWVtOworICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CisgICAg
dmVydGljYWwtYWxpZ246IG1pZGRsZTsKK30KKworbWZlbmNlZCA+ICogeworICAgIHZlcnRpY2Fs
LWFsaWduOiBtaWRkbGU7Cit9CisKK21vLCBtbiwgbWkgeworICAgbGluZS1oZWlnaHQ6IDAuNzVl
bTsKKyAgIHBhZGRpbmc6IDBweDsKKyAgIG1hcmdpbjogMHB4OworfQorCittb1ttYXRoc2l6ZT0i
c21hbGwiXSwgbW5bbWF0aHNpemU9InNtYWxsIl0sIG1pW21hdGhzaXplPSJzbWFsbCJdIHsKKyAg
IGZvbnQtc2l6ZTogMC43NWVtOworICAgbGluZS1oZWlnaHQ6IDAuNTYyNWVtOworfQorCittb1tt
YXRoc2l6ZT0ibm9ybWFsIl0sbW5bbWF0aHNpemU9Im5vcm1hbCJdLG1pW21hdGhzaXplPSJub3Jt
YWwiXSB7CisgICBmb250LXNpemU6IDFlbTsKKyAgIGxpbmUtaGVpZ2h0OiAwLjc1ZW07Cit9CisK
K21vW21hdGhzaXplPSJiaWciXSwgbW5bbWF0aHNpemU9ImJpZyJdLCBtaVttYXRoc2l6ZT0iYmln
Il0geworICAgbGluZS1oZWlnaHQ6IDEuMmVtOworICAgZm9udC1zaXplOiAxLjVlbTsKK30KKyAK
K2Fubm90YXRpb24sIGFubm90YXRpb24teG1sIHsKKyAgICBkaXNwbGF5Om5vbmU7Cit9CisKK21w
aGFudG9tIHsKKyAgICB2aXNpYmlsaXR5OiBoaWRkZW47Cit9CittZXJyb3IgeworICAgIG91dGxp
bmU6IHNvbGlkIHRoaW4gcmVkOworfQorCittc3FydCB7CisgICAgcGFkZGluZy10b3A6IDAuMmVt
OworICAgIHBhZGRpbmctbGVmdDogMC43NWVtOworfQorCittcm9vdCB7CisgICAgcGFkZGluZy10
b3A6IDAuMmVtOworICAgIHBhZGRpbmctbGVmdDogMC4yZW07Cit9CisKK21yb290ID4gKiArICog
eworICAgIGZvbnQtc2l6ZTogMC43NWVtOworICAgIGxpbmUtaGVpZ2h0OiAwLjc1ZW07CisgICAg
dmVydGljYWwtYWxpZ246IHRvcDsKKyAgICBwYWRkaW5nLXJpZ2h0OiAwLjNlbTsKK30KKworbXRh
YmxlIHsKKyAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7CisgICAgbGluZS1oZWlnaHQ6IDEuNWVt
OworICAgIHRleHQtYWxpZ246IGNlbnRlcjsKKyAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwor
fQorbXRyIHsKKyAgICBkaXNwbGF5OiB0YWJsZS1yb3c7Cit9CittdGQgeworICAgIGRpc3BsYXk6
IHRhYmxlLWNlbGw7CisgICAgcGFkZGluZzogMCAwLjVleDsKK30KKworbXRhYmxlW2NvbHVtbmFs
aWduPSJsZWZ0Il0sIG10cltjb2x1bW5hbGlnbj0ibGVmdCJdLCBtdGRbY29sdW1uYWxpZ249Imxl
ZnQiXSB7CisgICAgdGV4dC1hbGlnbjogbGVmdDsKK30KKworbXRhYmxlW2NvbHVtbmFsaWduPSJy
aWdodCJdLCBtdHJbY29sdW1uYWxpZ249InJpZ2h0Il0sIG10ZFtjb2x1bW5hbGlnbj0icmlnaHQi
XSB7CisgICAgdGV4dC1hbGlnbjogcmlnaHQ7Cit9CittdGFibGVbcm93YWxpZ249InRvcCJdIG10
ZCwgbXRhYmxlIG10cltyb3dhbGlnbj0idG9wIl0gbXRkLCBtdGFibGUgbXRyIG10ZFtyb3dhbGln
bj0idG9wIl0geworICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7Cit9CittdGFibGVbcm93YWxpZ249
ImJvdHRvbSJdIG10ZCwgbXRhYmxlIG10cltyb3dhbGlnbj0iYm90dG9tIl0gbXRkLCBtdGFibGUg
bXRyIG10ZFtyb3dhbGlnbj0iYm90dG9tIl0geworICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207
Cit9CittdGFibGVbcm93YWxpZ249ImNlbnRlciJdIG10ZCwgbXRhYmxlIG10cltyb3dhbGlnbj0i
Y2VudGVyIl0gbXRkLCBtdGFibGUgbXRyIG10ZFtyb3dhbGlnbj0iY2VudGVyIl0geworICAgIHZl
cnRpY2FsLWFsaWduOiBtaWRkbGU7Cit9CittdGFibGVbZnJhbWU9InNvbGlkIl0geworICAgIGJv
cmRlcjogc29saWQgdGhpbjsKK30KK210YWJsZVtmcmFtZT0iZGFzaGVkIl0geworICAgIGJvcmRl
cjogZGFzaGVkIHRoaW47Cit9CittdGFibGVbcm93bGluZXM9InNvbGlkIl0sIG10YWJsZVtyb3ds
aW5lcz0iZGFzaGVkIl0sIG10YWJsZVtjb2x1bW5saW5lcz0ic29saWQiXSwgbXRhYmxlW2NvbHVt
bmxpbmVzPSJkYXNoZWQiXSB7CisgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKK30KK210
YWJsZVtyb3dsaW5lcz0ic29saWQiXSA+IG10ciArIG10ciB7CisgICAgYm9yZGVyLXRvcDogc29s
aWQgdGhpbjsKK30KK210YWJsZVtyb3dsaW5lcz0iZGFzaGVkIl0gPiBtdHIgKyBtdHIgeworICAg
IGJvcmRlci10b3A6IGRhc2hlZCB0aGluOworfQorbXRhYmxlW2NvbHVtbmxpbmVzPSJzb2xpZCJd
ID4gbXRyID4gbXRkICsgbXRkIHsKKyAgICBib3JkZXItbGVmdDogc29saWQgdGhpbjsKK30KK210
YWJsZVtjb2x1bW5saW5lcz0iZGFzaGVkIl0gPiBtdHIgPiBtdGQgKyBtdGQgeworICAgIGJvcmRl
ci1sZWZ0OiBkYXNoZWQgdGhpbjsKK30KKwpJbmRleDogV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gNDg0MDAp
CisrKyBXZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3NCw2ICsx
NzQsMTIgQEAKICNpbmNsdWRlICJXTUxOYW1lcy5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUFU
SE1MKQorI2luY2x1ZGUgIk1hdGhNTEVsZW1lbnQuaCIKKyNpbmNsdWRlICJNYXRoTUxFbGVtZW50
RmFjdG9yeS5oIgorI2luY2x1ZGUgIk1hdGhNTE5hbWVzLmgiCisjZW5kaWYKKwogI2lmIEVOQUJM
RShYSFRNTE1QKQogI2luY2x1ZGUgIkhUTUxOb1NjcmlwdEVsZW1lbnQuaCIKICNlbmRpZgpAQCAt
ODAzLDYgKzgwOSwxMCBAQCBQYXNzUmVmUHRyPEVsZW1lbnQ+IERvY3VtZW50OjpjcmVhdGVFbGVt
CiAgICAgZWxzZSBpZiAoaXNXTUxEb2N1bWVudCgpKQogICAgICAgICBlID0gV01MRWxlbWVudEZh
Y3Rvcnk6OmNyZWF0ZVdNTEVsZW1lbnQoUXVhbGlmaWVkTmFtZShudWxsQXRvbSwgcU5hbWUubG9j
YWxOYW1lKCksIFdNTE5hbWVzOjp3bWxOYW1lc3BhY2VVUkkpLCB0aGlzLCBjcmVhdGVkQnlQYXJz
ZXIpOwogI2VuZGlmCisjaWYgRU5BQkxFKE1BVEhNTCkKKyAgICBlbHNlIGlmIChxTmFtZS5uYW1l
c3BhY2VVUkkoKSA9PSBNYXRoTUxOYW1lczo6bWF0aG1sTmFtZXNwYWNlVVJJKQorICAgICAgICBl
ID0gTWF0aE1MRWxlbWVudEZhY3Rvcnk6OmNyZWF0ZU1hdGhNTEVsZW1lbnQocU5hbWUsIHRoaXMs
IGNyZWF0ZWRCeVBhcnNlcik7CisjZW5kaWYKICAgICAKICAgICBpZiAoIWUpCiAgICAgICAgIGUg
PSBFbGVtZW50OjpjcmVhdGUocU5hbWUsIGRvY3VtZW50KCkpOwpJbmRleDogV2ViQ29yZS9kb20v
Tm9kZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL05vZGUuaAkocmV2aXNpb24gNDg0MDAp
CisrKyBXZWJDb3JlL2RvbS9Ob2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE4Myw2ICsxODMsMTMg
QEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGlzV01MRWxlbWVudCgpIHsgcmV0dXJuIGZhbHNl
OyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShNQVRITUwpCisgICAgdmlydHVhbCBib29sIGlzTWF0
aE1MRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjZWxzZQorICAgIHN0YXRpYyBi
b29sIGlzTWF0aE1MRWxlbWVudCgpIHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYKKworCiAgICAg
dmlydHVhbCBib29sIGlzTWVkaWFDb250cm9sRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9CiAgICAgdmlydHVhbCBib29sIGlzU3R5bGVkRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzRnJhbWVPd25lckVsZW1lbnQoKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQpJbmRleDogV2ViQ29yZS9tYXRobWwvTWF0aE1MRWxlbWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9tYXRobWwvTWF0aE1MRWxlbWVudC5jcHAJKHJldmlzaW9uIDAp
CisrKyBXZWJDb3JlL21hdGhtbC9NYXRoTUxFbGVtZW50LmNwcAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw1MiBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDkgQWxleCBNaWxvd3NraSAoYWxl
eEBtaWxvd3NraS5jb20pLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogCisgKiAgVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICog
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogIAorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg
KiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKKyAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg
ZGV0YWlscy4KKyAqICAKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlz
IGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlCisgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAg
MDIxMTAtMTMwMSwgVVNBLiAKKyAqICAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNp
ZiBFTkFCTEUoTUFUSE1MKQorCisjaW5jbHVkZSAiTWF0aE1MRWxlbWVudC5oIgorCisjaW5jbHVk
ZSAiTWF0aE1MTmFtZXMuaCIKKyNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworICAgIAordXNpbmcgbmFtZXNwYWNlIE1hdGhNTE5hbWVzOworICAgIAorTWF0
aE1MRWxlbWVudDo6TWF0aE1MRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBE
b2N1bWVudCogZG9jdW1lbnQpCisgICAgOiBTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50
LCBDcmVhdGVFbGVtZW50WmVyb1JlZkNvdW50KQoreworfQorICAgIAorUGFzc1JlZlB0cjxNYXRo
TUxFbGVtZW50PiBNYXRoTUxFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFn
TmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQoreworICAgIHJldHVybiBuZXcgTWF0aE1MRWxlbWVu
dCh0YWdOYW1lLCBkb2N1bWVudCk7Cit9CisKK1JlbmRlck9iamVjdCogTWF0aE1MRWxlbWVudDo6
Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSogc3R5bGUpCit7CisgICAg
cmV0dXJuIFJlbmRlck9iamVjdDo6Y3JlYXRlT2JqZWN0KHRoaXMsIHN0eWxlKTsKK30KKyAgICAK
KyAgICAKK30KKworI2VuZGlmIC8vIEVOQUJMRShNQVRITUwpCkluZGV4OiBXZWJDb3JlL21hdGht
bC9NYXRoTUxFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9tYXRobWwvTWF0aE1MRWxl
bWVudC5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9tYXRobWwvTWF0aE1MRWxlbWVudC5oCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ1IEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAwOSBB
bGV4IE1pbG93c2tpIChhbGV4QG1pbG93c2tpLmNvbSkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiAKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiAgCisgKiAgVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICogIAorICogIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5z
ZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUKKyAqICBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwK
KyAqICBCb3N0b24sIE1BICAwMjExMC0xMzAxLCBVU0EuIAorICogIAorICovCisKKyNpZm5kZWYg
TWF0aE1MRWxlbWVudF9oCisjZGVmaW5lIE1hdGhNTEVsZW1lbnRfaAorCisjaWYgRU5BQkxFKE1B
VEhNTCkKKyNpbmNsdWRlICJTdHlsZWRFbGVtZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KyAgICAKK2NsYXNzIE1hdGhNTEVsZW1lbnQgOiBwdWJsaWMgU3R5bGVkRWxlbWVudCB7CitwdWJs
aWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8TWF0aE1MRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Kik7CisgICAgCisgICAgdmlydHVhbCBib29s
IGlzTWF0aE1MRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyAgICAKKyAgICB2aXJ0
dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHls
ZSopOworICAgIAorcHJvdGVjdGVkOgorICAgIE1hdGhNTEVsZW1lbnQoY29uc3QgUXVhbGlmaWVk
TmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKKyAgICAKK307CisgICAgCit9CisKKyNlbmRpZiAv
LyBFTkFCTEUoTUFUSE1MKQorI2VuZGlmIC8vIE1hdGhNTEVsZW1lbnRfaApJbmRleDogV2ViQ29y
ZS9tYXRobWwvTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9tYXRobWwvTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAJKHJldmlzaW9u
IDApCisrKyBXZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNwcAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDkg
QWxleCBNaWxvd3NraSAoYWxleEBtaWxvd3NraS5jb20pLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogIAorICogIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqICAKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVj
ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vu
c2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlCisgKiAgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3Is
CisgKiAgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwgVVNBLiAKKyAqICAKKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoTUFUSE1MKQorCisjaW5jbHVkZSAiTWF0aE1MSW5s
aW5lQ29udGFpbmVyRWxlbWVudC5oIgorCisjaW5jbHVkZSAiTWF0aE1MTmFtZXMuaCIKKyNpbmNs
dWRlICJSZW5kZXJPYmplY3QuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworICAgIAordXNpbmcg
bmFtZXNwYWNlIE1hdGhNTE5hbWVzOworCitNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50OjpN
YXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUs
IERvY3VtZW50KiBkb2N1bWVudCkKKyAgICA6IE1hdGhNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1l
bnQpCit7Cit9CisKK1Bhc3NSZWZQdHI8TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudD4gTWF0
aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRh
Z05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKK3sKKyAgICByZXR1cm4gbmV3IE1hdGhNTElubGlu
ZUNvbnRhaW5lckVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpOworfQorCitSZW5kZXJPYmplY3Qq
IE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5h
ICosIFJlbmRlclN0eWxlKiBzdHlsZSkKK3sKKyAgICAvLyBGSVhNRTogVGhpcyBtZXRob2Qgd2ls
bCBjb250YWluIHRoZSBzcGVjaWFsaXplZCByZW5kZXJlcnMgYmFzZWQgb24gZWxlbWVudCBuYW1l
CisgICAgcmV0dXJuIFJlbmRlck9iamVjdDo6Y3JlYXRlT2JqZWN0KHRoaXMsIHN0eWxlKTsKK30K
KyAgICAKKyAgICAKK30KKworI2VuZGlmIC8vIEVOQUJMRShNQVRITUwpCisKSW5kZXg6IFdlYkNv
cmUvbWF0aG1sL01hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmgJKHJldmlzaW9uIDAp
CisrKyBXZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmgJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDA5IEFsZXgg
TWlsb3dza2kgKGFsZXhAbWlsb3dza2kuY29tKS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIAor
ICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqICAKKyAqICBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
KyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCisgKiAgCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk
IGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZQorICogIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLAorICog
IEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4gCisgKiAgCisgKi8KKworI2lmbmRlZiBNYXRo
TUxJbmxpbmVDb250YWluZXJFbGVtZW50X2gKKyNkZWZpbmUgTWF0aE1MSW5saW5lQ29udGFpbmVy
RWxlbWVudF9oCisKKyNpZiBFTkFCTEUoTUFUSE1MKQorI2luY2x1ZGUgIk1hdGhNTEVsZW1lbnQu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworICAgIAorY2xhc3MgTWF0aE1MSW5saW5lQ29udGFp
bmVyRWxlbWVudCA6IHB1YmxpYyBNYXRoTUxFbGVtZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKKworICAgIHZpcnR1YWwgUmVuZGVyT2Jq
ZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CisKK3Byb3Rl
Y3RlZDoKKyAgICBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5h
bWUmIHRhZ05hbWUsIERvY3VtZW50Kik7CisKK307CisgICAgCit9CisKKyNlbmRpZiAvLyBFTkFC
TEUoTUFUSE1MKQorI2VuZGlmIC8vIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnRfaApJbmRl
eDogV2ViQ29yZS9tYXRobWwvTWF0aE1MTWF0aEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvbWF0aG1sL01hdGhNTE1hdGhFbGVtZW50LmNwcAkocmV2aXNpb24gMCkKKysrIFdlYkNv
cmUvbWF0aG1sL01hdGhNTE1hdGhFbGVtZW50LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0
NiBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDkgQWxleCBNaWxvd3NraSAoYWxleEBtaWxv
d3NraS5jb20pLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogCisgKiAgVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisg
KiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgorICogIAorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKKyAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKyAqICAKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlCisgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAgMDIxMTAt
MTMwMSwgVVNBLiAKKyAqICAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFC
TEUoTUFUSE1MKQorCisjaW5jbHVkZSAiTWF0aE1MTWF0aEVsZW1lbnQuaCIKKworI2luY2x1ZGUg
Ik1hdGhNTE5hbWVzLmgiCisjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKyAgICAKK3VzaW5nIG5hbWVzcGFjZSBNYXRoTUxOYW1lczsKKworTWF0aE1MTWF0
aEVsZW1lbnQ6Ok1hdGhNTE1hdGhFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUs
IERvY3VtZW50KiBkb2N1bWVudCkKKyAgICA6IE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQo
dGFnTmFtZSwgZG9jdW1lbnQpCit7Cit9CisKK1Bhc3NSZWZQdHI8TWF0aE1MTWF0aEVsZW1lbnQ+
IE1hdGhNTE1hdGhFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQqIGRvY3VtZW50KQoreworICAgIHJldHVybiBuZXcgTWF0aE1MTWF0aEVsZW1lbnQo
dGFnTmFtZSwgZG9jdW1lbnQpOworfQorCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQpJ
bmRleDogV2ViQ29yZS9tYXRobWwvTWF0aE1MTWF0aEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL21hdGhtbC9NYXRoTUxNYXRoRWxlbWVudC5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29y
ZS9tYXRobWwvTWF0aE1MTWF0aEVsZW1lbnQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MSBA
QAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDkgQWxleCBNaWxvd3NraSAoYWxleEBtaWxvd3Nr
aS5jb20pLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiAg
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgorICogIAorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKKyAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KyAqICAKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IGlmIG5vdCwgd3JpdGUgdG8gdGhlCisgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAgMDIxMTAtMTMw
MSwgVVNBLiAKKyAqICAKKyAqLworCisjaWZuZGVmIE1hdGhNTE1hdGhFbGVtZW50X2gKKyNkZWZp
bmUgTWF0aE1MTWF0aEVsZW1lbnRfaAorCisjaWYgRU5BQkxFKE1BVEhNTCkKKyNpbmNsdWRlICJN
YXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAg
ICAKK2NsYXNzIE1hdGhNTE1hdGhFbGVtZW50IDogcHVibGljIE1hdGhNTElubGluZUNvbnRhaW5l
ckVsZW1lbnQgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1hdGhNTE1hdGhFbGVt
ZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKKyAg
ICAKK3Byb3RlY3RlZDoKKyAgICBNYXRoTUxNYXRoRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1l
JiB0YWdOYW1lLCBEb2N1bWVudCopOworICAgIAorfTsKKyAgICAKK30KKworI2VuZGlmIC8vIEVO
QUJMRShNQVRITUwpCisjZW5kaWYgLy8gTWF0aE1MTWF0aEVsZW1lbnRfaApJbmRleDogV2ViQ29y
ZS9tYXRobWwvbWF0aHRhZ3MuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9tYXRobWwvbWF0aHRh
Z3MuaW4JKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL21hdGhtbC9tYXRodGFncy5pbgkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwyMSBAQAorbmFtZXNwYWNlPSJNYXRoTUwiCituYW1lc3BhY2VVUkk9
Imh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwiCitndWFyZEZhY3RvcnlXaXRoPSJF
TkFCTEUoTUFUSE1MKSIKK2V4cG9ydFN0cmluZ3MKKworbWF0aAorbWZyYWMgaW50ZXJmYWNlTmFt
ZT1NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50CittZmVuY2VkIGludGVyZmFjZU5hbWU9TWF0
aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudAorbXN1YnN1cCBpbnRlcmZhY2VOYW1lPU1hdGhNTElu
bGluZUNvbnRhaW5lckVsZW1lbnQKK21yb3cgaW50ZXJmYWNlTmFtZT1NYXRoTUxJbmxpbmVDb250
YWluZXJFbGVtZW50Cittb3ZlciBpbnRlcmZhY2VOYW1lPU1hdGhNTElubGluZUNvbnRhaW5lckVs
ZW1lbnQKK211bmRlciBpbnRlcmZhY2VOYW1lPU1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQK
K211bmRlcm92ZXIgaW50ZXJmYWNlTmFtZT1NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50Citt
c3FydCBpbnRlcmZhY2VOYW1lPU1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQKK21yb290IGlu
dGVyZmFjZU5hbWU9TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudAorbWkgaW50ZXJmYWNlTmFt
ZT1NYXRoTUxFbGVtZW50LCBjcmVhdGVXaXRoTmV3CittbiBpbnRlcmZhY2VOYW1lPU1hdGhNTEVs
ZW1lbnQsIGNyZWF0ZVdpdGhOZXcKK21vIGludGVyZmFjZU5hbWU9TWF0aE1MRWxlbWVudCwgY3Jl
YXRlV2l0aE5ldworbXN1YiBpbnRlcmZhY2VOYW1lPU1hdGhNTEVsZW1lbnQsIGNyZWF0ZVdpdGhO
ZXcKK21zdXAgaW50ZXJmYWNlTmFtZT1NYXRoTUxFbGVtZW50LCBjcmVhdGVXaXRoTmV3CisKSW5k
ZXg6IFdlYkNvcmUvcGFnZS9GcmFtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0Zy
YW1lLmNwcAkocmV2aXNpb24gNDg0MDApCisrKyBXZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC05Nyw2ICs5NywxMCBAQAogI2luY2x1ZGUgIldNTE5hbWVzLmgiCiAjZW5k
aWYKIAorI2lmIEVOQUJMRShNQVRITUwpCisjaW5jbHVkZSAiTWF0aE1MTmFtZXMuaCIKKyNlbmRp
ZgorCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0xNTIs
NiArMTU2LDEwIEBAIEZyYW1lOjpGcmFtZShQYWdlKiBwYWdlLCBIVE1MRnJhbWVPd25lckUKICAg
ICBXTUxOYW1lczo6aW5pdCgpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUFUSE1MKQorICAgIE1h
dGhNTE5hbWVzOjppbml0KCk7CisjZW5kaWYKKwogICAgIFhNTE5hbWVzOjppbml0KCk7CiAKICAg
ICBpZiAoIW93bmVyRWxlbWVudCkK
</data>
<flag name="review"
          id="20733"
          type_id="1"
          status="-"
          setter="mjs"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39728</attachid>
            <date>2009-09-17 14:54:44 -0700</date>
            <delta_ts>2009-09-18 15:58:31 -0700</delta_ts>
            <desc>Fix for CSS font name and added layout tests</desc>
            <filename>WebKit-mathml-css.patch</filename>
            <type>text/plain</type>
            <size>41141</size>
            <attacher name="Alex Milowski">alex</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODQwMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNjQgQEAKKzIwMDktMDktMTUgIEFsZXggTWlsb3dza2kgIDxhbGV4QG1pbG93c2tp
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRzIENTUyBzdHlsaW5nIGFuZCBiYXNpYyBET00gZWxlbWVudCBzdXBwb3J0IGZvciBNYXRoTUwK
KworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICAgQWRkZWQgdXNlciBz
dHlsZXNoZWV0IGFuZCB0YWcgZmFjdG9yeSBnZW5lcmF0aW9uCisKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICAgQWRkZWQgbmV3IERPTSBlbGVt
ZW50IGNvZGUKKworICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUGFyc2VyOjpwYXJzZUF0dHIpOgorICAgICAgICAgIEFkZGVkIGNoZWNrIGZvciBkb2N1
bWVudCBzaW5jZSBzdHlsZXNoZWV0IGNhbiBiZSBhZGRlZCBiZWZvcmUgdGhlcmUgaXMgYSBkb2N1
bWVudAorCisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6c3R5bGVGb3JFbGVtZW50KToKKyAgICAgICAgICBBZGRl
ZCBjaGVjayB0byBhZGQgTWF0aE1MIHVzZXIgYWdlbnQgc3R5bGVzaGVldAorCisgICAgICAgICog
Y3NzL21hdGhtbC5jc3M6IEFkZGVkLgorICAgICAgICAgIE1hdGhNTCB1c2VyIGFnZW50IHN0eWxl
c2hlZXQKKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6Y3JlYXRlRWxlbWVudCk6CisgICAgICAgICAgQWRkZWQgc3VwcG9ydCBmb3IgY3Jl
YXRpb24gb2YgTWF0aE1MIERPTSBvYmplY3RzCisKKyAgICAgICAgKiBkb20vTm9kZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6Tm9kZTo6aXNNYXRoTUxFbGVtZW50KToKKyAgICAgICAgICBBZGRlZCBj
aGVjayBtZXRob2QgZm9yIHdoZXRoZXIgdGhlIG5vZGUgaXMgYSBNYXRoTUwgbm9kZQorCisgICAg
ICAgICogbWF0aG1sOiBBZGRlZC4KKyAgICAgICAgKiBtYXRobWwvTWF0aE1MRWxlbWVudC5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MRWxlbWVudDo6TWF0aE1MRWxlbWVudCk6
CisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxFbGVtZW50OjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6TWF0aE1MRWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIpOgorICAgICAgICAqIG1hdGhtbC9N
YXRoTUxFbGVtZW50Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MRWxlbWVudDo6
aXNNYXRoTUxFbGVtZW50KToKKyAgICAgICAgICBNYXRoTUwgRE9NIGJhc2UgY2xhc3MKKworCisg
ICAgICAgICogbWF0aG1sL01hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQ6Ok1hdGhNTElu
bGluZUNvbnRhaW5lckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MSW5saW5lQ29u
dGFpbmVyRWxlbWVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTElubGluZUNv
bnRhaW5lckVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKiBtYXRobWwvTWF0aE1M
SW5saW5lQ29udGFpbmVyRWxlbWVudC5oOiBBZGRlZC4KKyAgICAgICAgICBCYXNlIGNsYXNzIGZv
ciBub24tdGV4dCBjb250YWluZXJzCisKKyAgICAgICAgKiBtYXRobWwvTWF0aE1MTWF0aEVsZW1l
bnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTE1hdGhFbGVtZW50OjpNYXRo
TUxNYXRoRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxNYXRoRWxlbWVudDo6Y3Jl
YXRlKToKKyAgICAgICAgKiBtYXRobWwvTWF0aE1MTWF0aEVsZW1lbnQuaDogQWRkZWQuCisgICAg
ICAgICAgUm9vdCBNYXRoIGVsZW1lbnQKKworICAgICAgICAqIG1hdGhtbC9tYXRodGFncy5pbjog
QWRkZWQuCisgICAgICAgICAgRWxlbWVudCBsaXN0IG1hcHBpbmdzCisKKyAgICAgICAgKiBwYWdl
L0ZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpGcmFtZSk6CisgICAgICAgICAg
QWRkZWQgTWF0aE1MIG5hbWUgaW5pdGlhbGl6YXRpb24KKwogMjAwOS0wOS0xNSAgQWxleCBNaWxv
d3NraSAgPGFsZXhAbWlsb3dza2kuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRvciBBcm5l
IFZlc3Riw7guCkluZGV4OiBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZpc2lvbiA0ODQwMCkKKysrIFdlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtNDQyLDYgKzQ0Miw4IEBA
IGFsbCA6IFwKICAgICBVc2VyQWdlbnRTdHlsZVNoZWV0cy5oIFwKICAgICBYTGlua05hbWVzLmNw
cCBcCiAgICAgWE1MTmFtZXMuY3BwIFwKKyAgICBNYXRoTUxFbGVtZW50RmFjdG9yeS5jcHAgXAor
ICAgIE1hdGhNTE5hbWVzLmNwcCBcCiAgICAgWFBhdGhHcmFtbWFyLmNwcCBcCiAgICAgdG9rZW5p
emVyLmNwcCBcCiAjCkBAIC01NjUsNiArNTY3LDEwIEBAIGlmZXEgKCQoZmluZHN0cmluZyBFTkFC
TEVfV01MLCQoRkVBVFVSRV8KICAgICBVU0VSX0FHRU5UX1NUWUxFX1NIRUVUUyA6PSAkKFVTRVJf
QUdFTlRfU1RZTEVfU0hFRVRTKSAkKFdlYkNvcmUpL2Nzcy93bWwuY3NzCiBlbmRpZgogCitpZmVx
ICgkKGZpbmRzdHJpbmcgRU5BQkxFX01BVEhNTCwkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVf
TUFUSE1MKQorICAgIFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlM
RV9TSEVFVFMpICQoV2ViQ29yZSkvY3NzL21hdGhtbC5jc3MKK2VuZGlmCisKIGlmZXEgKCQoZmlu
ZHN0cmluZyBFTkFCTEVfVklERU8sJChGRUFUVVJFX0RFRklORVMpKSwgRU5BQkxFX1ZJREVPKQog
ICAgIFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMp
ICQoV2ViQ29yZSkvY3NzL21lZGlhQ29udHJvbHMuY3NzCiBpZmVxICgkKE9TKSxNQUNPUykKQEAg
LTcwNiw2ICs3MTIsMjYgQEAgV01MTmFtZXMuY3BwIDoKIAogZW5kaWYKIAorIyAtLS0tLS0tLQor
IAorIyBNYXRoTUwgdGFnIGFuZCBhdHRyaWJ1dGUgbmFtZXMsIGFuZCBlbGVtZW50IGZhY3RvcnkK
KworaWZlcSAoJChmaW5kc3RyaW5nIEVOQUJMRV9NQVRITUwsJChGRUFUVVJFX0RFRklORVMpKSwg
RU5BQkxFX01BVEhNTCkKKworTWF0aE1MRWxlbWVudEZhY3RvcnkuY3BwIE1hdGhNTE5hbWVzLmNw
cCA6IGRvbS9tYWtlX25hbWVzLnBsIG1hdGhtbC9tYXRodGFncy5pbgorCXBlcmwgLUkgJChXZWJD
b3JlKS9iaW5kaW5ncy9zY3JpcHRzICQ8IC0tdGFncyAkKFdlYkNvcmUpL21hdGhtbC9tYXRodGFn
cy5pbiAtLWZhY3RvcnkgLS13cmFwcGVyRmFjdG9yeQorCitlbHNlCisKK01hdGhNTEVsZW1lbnRG
YWN0b3J5LmNwcCA6CisJZWNobyA+ICRACisKK01hdGhNTE5hbWVzLmNwcCA6CisJZWNobyA+ICRA
CisKK2VuZGlmCisKKwogCiAjIC0tLS0tLS0tCiAKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA0ODQwMCkKKysrIFdlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00NjgwLDYgKzQ2
ODAsMTQgQEAKIAkJRjkxNkM0OEQwREI1MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQ
cm9ncmVzc0V2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEY5MTZDNDhCMERCNTEwRjgwMDc2Q0Q4MyAvKiBKU1hNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudC5jcHAgKi87IH07CiAJCUY5MTZDNDhFMERCNTEwRjgwMDc2Q0Q4MyAvKiBKU1hNTEh0
dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRjkxNkM0OEMwREI1MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVl
c3RQcm9ncmVzc0V2ZW50LmggKi87IH07CiAJCUY5RjBFRDdBMERCNTBDQTIwMEQxNkRCOSAvKiBY
TUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEY5RjBFRDc3MERCNTBDQTIwMEQxNkRCOSAvKiBYTUxIdHRwUmVx
dWVzdFByb2dyZXNzRXZlbnQuaCAqLzsgfTsKKwkJRkFCRTcyRjQxMDU5QzFFQjAwRDk5OUREIC8q
IE1hdGhNTEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRkFCRTcyRUQxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnQuY3BwICov
OyB9OworCQlGQUJFNzJGNTEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MRWxlbWVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRUUxMDU5QzFF
QjAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnQuaCAqLzsgfTsKKwkJRkFCRTcyRjYxMDU5QzFFQjAw
RDk5OUREIC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRUYxMDU5QzFFQjAwRDk5OURE
IC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwICovOyB9OworCQlGQUJFNzJGNzEw
NTlDMUVCMDBEOTk5REQgLyogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRjAxMDU5QzFFQjAw
RDk5OUREIC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCAqLzsgfTsKKwkJRkFCRTcy
RjgxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTE1hdGhFbGVtZW50LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZBQkU3MkYxMTA1OUMxRUIwMEQ5OTlE
RCAvKiBNYXRoTUxNYXRoRWxlbWVudC5jcHAgKi87IH07CisJCUZBQkU3MkY5MTA1OUMxRUIwMEQ5
OTlERCAvKiBNYXRoTUxNYXRoRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRjIxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTE1hdGhF
bGVtZW50LmggKi87IH07CisJCUZBQkU3MkZEMTA1OUMyMTEwMEQ5OTlERCAvKiBNYXRoTUxFbGVt
ZW50RmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGQUJFNzJGQjEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MRWxlbWVudEZhY3RvcnkuY3Bw
ICovOyB9OworCQlGQUJFNzJGRTEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MTmFtZXMuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRkMxMDU5
QzIxMTAwRDk5OUREIC8qIE1hdGhNTE5hbWVzLmNwcCAqLzsgfTsKIAkJRkU2RkQ0ODgwRjY3NkU1
NzAwMDkyODczIC8qIENvb3JkaW5hdGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGRTZGRDQ4NTBGNjc2RTU3MDAwOTI4NzMgLyogQ29vcmRpbmF0ZXMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGRTZG
RDQ4RDBGNjc2RTkzMDAwOTI4NzMgLyogSlNDb29yZGluYXRlcy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTZGRDQ4QjBGNjc2RTkzMDAwOTI4NzMg
LyogSlNDb29yZGluYXRlcy5jcHAgKi87IH07CiAJCUZFNkZENDhFMEY2NzZFOTMwMDA5Mjg3MyAv
KiBKU0Nvb3JkaW5hdGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGRTZGRDQ4QzBGNjc2RTkzMDAwOTI4NzMgLyogSlNDb29yZGluYXRlcy5oICovOyB9
OwpAQCAtOTgxNSw2ICs5ODIzLDE1IEBACiAJCUY5MTZDNDhDMERCNTEwRjgwMDc2Q0Q4MyAvKiBK
U1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRjlGMEVENzcwREI1MENBMjAwRDE2REI5IC8qIFhNTEh0dHBSZXF1ZXN0
UHJvZ3Jlc3NFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gWE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY5
RjBFRDc4MERCNTBDQTIwMEQxNkRCOSAvKiBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQUJFNzJFRDEwNTlDMUVCMDBEOTk5REQg
LyogTWF0aE1MRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBNYXRoTUxFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkFCRTcy
RUUxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gTWF0aE1MRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlGQUJFNzJFRjEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxl
bWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXRoTUxJbmxp
bmVDb250YWluZXJFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkFC
RTcyRjAxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWF0aE1MSW5saW5lQ29udGFpbmVyRWxl
bWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQUJFNzJGMTEwNTlDMUVCMDBE
OTk5REQgLyogTWF0aE1MTWF0aEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gTWF0aE1MTWF0aEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlGQUJFNzJGMjEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MTWF0aEVsZW1lbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWF0aE1MTWF0aEVsZW1lbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkFCRTcyRjMxMDU5QzFFQjAwRDk5OUREIC8qIG1h
dGh0YWdzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IG1hdGh0YWdzLmluOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlGQUJFNzJGQjEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MRWxl
bWVudEZhY3RvcnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWF0
aE1MRWxlbWVudEZhY3RvcnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQUJF
NzJGQzEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MTmFtZXMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTWF0aE1MTmFtZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGRTQ5RUY5NzBEQzUxNDYyMDA0MjY2RTEgLyogRGFzaGJvYXJkU3VwcG9ydENT
U1Byb3BlcnR5TmFtZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gRGFzaGJvYXJkU3VwcG9y
dENTU1Byb3BlcnR5TmFtZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZFNkZE
NDg1MEY2NzZFNTcwMDA5Mjg3MyAvKiBDb29yZGluYXRlcy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDb29yZGluYXRlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlGRTZGRDQ4NjBGNjc2RTU3MDAwOTI4NzMgLyogQ29vcmRpbmF0ZXMuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IENvb3JkaW5hdGVzLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTk4OTQsNiArOTkxMSw3IEBACiAJCQkJOTNFRUMxRUMwOUMyODc3NzAwQzUxNUQxIC8qIGh0
bWwgKi8sCiAJCQkJMUM4MUI5NEQwRTk3MzJEOTAwMjY2RTA3IC8qIGluc3BlY3RvciAqLywKIAkJ
CQlCQ0IxNkJGQjA5NzlDMzg3MDA0Njc3NDEgLyogbG9hZGVyICovLAorCQkJCUZBQkU3MkVDMTA1
OUMxRUIwMEQ5OTlERCAvKiBtYXRobWwgKi8sCiAJCQkJMzMzRjcwM0QwRkI0OUMxNjAwOEUxMkE2
IC8qIG5vdGlmaWNhdGlvbnMgKi8sCiAJCQkJNjVCRjAyMTgwOTc0ODA2MzAwQzQzMTk2IC8qIHBh
Z2UgKi8sCiAJCQkJQkNGMUE1QkEwOTc4MzIwOTAwNjFBMTIzIC8qIHBsYXRmb3JtICovLApAQCAt
MTA4MTMsNiArMTA4MzEsOCBAQAogCQkJCTkzOEU2NUYwMDlGMDk4NDAwMDhBNDhFQyAvKiBKU0hU
TUxFbGVtZW50V3JhcHBlckZhY3RvcnkuaCAqLywKIAkJCQk4NTc0RDFGMTBBREU2MTIyMDA0Q0JB
MTEgLyogSlNTVkdFbGVtZW50V3JhcHBlckZhY3RvcnkuY3BwICovLAogCQkJCTg1NzREMUYyMEFE
RTYxMjIwMDRDQkExMSAvKiBKU1NWR0VsZW1lbnRXcmFwcGVyRmFjdG9yeS5oICovLAorCQkJCUZB
QkU3MkZCMTA1OUMyMTEwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50RmFjdG9yeS5jcHAgKi8sCisJ
CQkJRkFCRTcyRkMxMDU5QzIxMTAwRDk5OUREIC8qIE1hdGhNTE5hbWVzLmNwcCAqLywKIAkJCQk2
NTY1ODFFNjA5RDE1MDhEMDAwRTYxRDcgLyogU1ZHRWxlbWVudEZhY3RvcnkuY3BwICovLAogCQkJ
CTY1NjU4MUU3MDlEMTUwOEQwMDBFNjFENyAvKiBTVkdFbGVtZW50RmFjdG9yeS5oICovLAogCQkJ
CTY1NjU4MUU4MDlEMTUwOEQwMDBFNjFENyAvKiBTVkdOYW1lcy5jcHAgKi8sCkBAIC0xNTQzMiw2
ICsxNTQ1MiwyMCBAQAogCQkJdGFiV2lkdGggPSA0OwogCQkJdXNlc1RhYnMgPSAwOwogCQl9Owor
CQlGQUJFNzJFQzEwNTlDMUVCMDBEOTk5REQgLyogbWF0aG1sICovID0geworCQkJaXNhID0gUEJY
R3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQlGQUJFNzJFRDEwNTlDMUVCMDBEOTk5REQgLyog
TWF0aE1MRWxlbWVudC5jcHAgKi8sCisJCQkJRkFCRTcyRUUxMDU5QzFFQjAwRDk5OUREIC8qIE1h
dGhNTEVsZW1lbnQuaCAqLywKKwkJCQlGQUJFNzJFRjEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1M
SW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAgKi8sCisJCQkJRkFCRTcyRjAxMDU5QzFFQjAwRDk5
OUREIC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCAqLywKKwkJCQlGQUJFNzJGMTEw
NTlDMUVCMDBEOTk5REQgLyogTWF0aE1MTWF0aEVsZW1lbnQuY3BwICovLAorCQkJCUZBQkU3MkYy
MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxNYXRoRWxlbWVudC5oICovLAorCQkJCUZBQkU3MkYz
MTA1OUMxRUIwMEQ5OTlERCAvKiBtYXRodGFncy5pbiAqLywKKwkJCSk7CisJCQlwYXRoID0gbWF0
aG1sOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIC8qIEVuZCBQQlhHcm91cCBz
ZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEhlYWRlcnNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KQEAg
LTE3ODEwLDYgKzE3ODQ0LDkgQEAKIAkJCQk1MTBENEE0RjEwMzE3N0EyMDA0OUVBNTQgLyogV2Vi
U29ja2V0Q2hhbm5lbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwRDRBNTAxMDMxNzdBMjAwNDlF
QTU0IC8qIFdlYlNvY2tldENoYW5uZWxDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxQUJB
RTQ1MTA0M0FCNEEwMDhDNTI2MCAvKiBXZWJTb2NrZXRIYW5kc2hha2UuaCBpbiBIZWFkZXJzICov
LAorCQkJCUZBQkU3MkY1MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50LmggaW4gSGVh
ZGVycyAqLywKKwkJCQlGQUJFNzJGNzEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MSW5saW5lQ29u
dGFpbmVyRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRkFCRTcyRjkxMDU5QzFFQjAwRDk5
OUREIC8qIE1hdGhNTE1hdGhFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTE5OTM3LDYgKzE5
OTc0LDExIEBACiAJCQkJNTFBMDUyMzQxMDU4Nzc0RjAwQ0M5RTk1IC8qIENyZWRlbnRpYWxTdG9y
YWdlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxMEQ0QTRFMTAzMTc3QTIwMDQ5RUE1NCAvKiBX
ZWJTb2NrZXRDaGFubmVsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxQUJBRTQ0MTA0M0FCNEEw
MDhDNTI2MCAvKiBXZWJTb2NrZXRIYW5kc2hha2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkFC
RTcyRjQxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJRkFCRTcyRjYxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVs
ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkFCRTcyRjgxMDU5QzFFQjAwRDk5OUREIC8q
IE1hdGhNTE1hdGhFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZBQkU3MkZEMTA1OUMy
MTEwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50RmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQlGQUJFNzJGRTEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MTmFtZXMuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJ
CX07CkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvY3NzL0NTU1BhcnNlci5jcHAJKHJldmlzaW9uIDQ4NDAwKQorKysgV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE0Myw3ICsyMTQzLDcgQEAgUGFzc1JlZlB0
cjxDU1NWYWx1ZT4gQ1NTUGFyc2VyOjpwYXJzZUF0dAogICAgIGlmIChhdHRyTmFtZVswXSA9PSAn
LScpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgaWYgKGRvY3VtZW50KCktPmlzSFRNTERvY3Vt
ZW50KCkpCisgICAgaWYgKGRvY3VtZW50KCkgJiYgZG9jdW1lbnQoKS0+aXNIVE1MRG9jdW1lbnQo
KSkKICAgICAgICAgYXR0ck5hbWUgPSBhdHRyTmFtZS5sb3dlcigpOwogICAgIAogICAgIHJldHVy
biBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKGF0dHJOYW1lLCBDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTX0FUVFIpOwpJbmRleDogV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAJKHJldmlzaW9uIDQ4NDAw
KQorKysgV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTExMzksNiArMTEzOSwxNyBAQCBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBDU1NTdHlsZVNlbGVj
dG9yCiAgICAgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUFUSE1MKQorICAgIHN0YXRpYyBib29s
IGxvYWRlZE1hdGhNTFVzZXJBZ2VudFNoZWV0OworICAgIGlmIChlLT5pc01hdGhNTEVsZW1lbnQo
KSAmJiAhbG9hZGVkTWF0aE1MVXNlckFnZW50U2hlZXQpIHsKKyAgICAgICAgLy8gTWF0aE1MIHJ1
bGVzLgorICAgICAgICBsb2FkZWRNYXRoTUxVc2VyQWdlbnRTaGVldCA9IHRydWU7CisgICAgICAg
IENTU1N0eWxlU2hlZXQqIG1hdGhNTFNoZWV0ID0gcGFyc2VVQVNoZWV0KG1hdGhtbFVzZXJBZ2Vu
dFN0eWxlU2hlZXQsIHNpemVvZihtYXRobWxVc2VyQWdlbnRTdHlsZVNoZWV0KSk7CisgICAgICAg
IGRlZmF1bHRTdHlsZS0+YWRkUnVsZXNGcm9tU2hlZXQobWF0aE1MU2hlZXQsIHNjcmVlbkV2YWwo
KSk7CisgICAgICAgIGRlZmF1bHRQcmludFN0eWxlLT5hZGRSdWxlc0Zyb21TaGVldChtYXRoTUxT
aGVldCwgcHJpbnRFdmFsKCkpOworICAgIH0KKyNlbmRpZgorCiAjaWYgRU5BQkxFKFdNTCkKICAg
ICBzdGF0aWMgYm9vbCBsb2FkZWRXTUxVc2VyQWdlbnRTaGVldDsKICAgICBpZiAoZS0+aXNXTUxF
bGVtZW50KCkgJiYgIWxvYWRlZFdNTFVzZXJBZ2VudFNoZWV0KSB7CkluZGV4OiBXZWJDb3JlL2Nz
cy9tYXRobWwuY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL21hdGhtbC5jc3MJKHJldmlz
aW9uIDApCisrKyBXZWJDb3JlL2Nzcy9tYXRobWwuY3NzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDE3MCBAQAorQG5hbWVzcGFjZSAiaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCI7
CisKKy8qIGFwcHJvdmVkICovCittYXRoIHsKKyAgICBmb250LWZhbWlseTogU3ltYm9sLCBTVElY
R2VuZXJhbCwgIlRpbWVzIE5ldyBSb21hbiI7CisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwor
ICAgIHBhZGRpbmc6IDBweDsKKyAgICBtYXJnaW46IDBweDsKKyAgICB0ZXh0LWluZGVudDogMDsK
KyAgICBmb250LXNpemU6IDEuMWVtOworICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsKK30K
K21hdGhbZGlzcGxheT0iYmxvY2siXSB7CisgICAgZm9udC1mYW1pbHk6ICJOZXcgVGltZXMgUm9t
YW4iCisgICAgZGlzcGxheTogYmxvY2s7CisgICAgdGV4dC1hbGlnbjogY2VudGVyOworICAgIHBh
Z2UtYnJlYWstaW5zaWRlOiBhdm9pZDsKK30KKworbWZyYWMgeworICAgIHZlcnRpY2FsLWFsaWdu
OiBtaWRkbGU7Cit9CisKK21zdWIsIG1zdXAgeworICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwor
fQorCittc3ViID4gKiArICogeworICAgdmVydGljYWwtYWxpZ246IHN1YjsKKyAgIGZvbnQtc2l6
ZTogMC43NWVtOworICAgbGluZS1oZWlnaHQ6IDAuNzVlbTsKK30KKworbXN1cCA+ICogKyAqIHsK
KyAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjsKKyAgIGZvbnQtc2l6ZTogMC43NWVtOworICAgbGlu
ZS1oZWlnaHQ6IDAuNzVlbTsKK30KKworbXN1YnN1cCA+ICogeworICAgIG1hcmdpbjogMHB4Owor
ICAgIHBhZGRpbmc6IDBweDsKKyAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOworfQorCittc3Vi
c3VwID4gKiArICogeworICAgZm9udC1zaXplOiAwLjc1ZW07CisgICBsaW5lLWhlaWdodDogMC43
NWVtOworfQorCittdW5kZXJvdmVyIHsKKyAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOworfQor
CittdW5kZXJvdmVyID4gKiArICosIG1vdmVyID4gKiArICosIG11bmRlciA+ICogKyAqIHsKKyAg
IGZvbnQtc2l6ZTogMC43NWVtOworICAgbGluZS1oZWlnaHQ6IDAuNTYyNWVtOworfQorCittcm93
IHsKKyAgICBsaW5lLWhlaWdodDogMWVtOworICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CisgICAg
dmVydGljYWwtYWxpZ246IG1pZGRsZTsKK30KKworbWZlbmNlZCA+ICogeworICAgIHZlcnRpY2Fs
LWFsaWduOiBtaWRkbGU7Cit9CisKK21vLCBtbiwgbWkgeworICAgbGluZS1oZWlnaHQ6IDAuNzVl
bTsKKyAgIHBhZGRpbmc6IDBweDsKKyAgIG1hcmdpbjogMHB4OworfQorCittb1ttYXRoc2l6ZT0i
c21hbGwiXSwgbW5bbWF0aHNpemU9InNtYWxsIl0sIG1pW21hdGhzaXplPSJzbWFsbCJdIHsKKyAg
IGZvbnQtc2l6ZTogMC43NWVtOworICAgbGluZS1oZWlnaHQ6IDAuNTYyNWVtOworfQorCittb1tt
YXRoc2l6ZT0ibm9ybWFsIl0sbW5bbWF0aHNpemU9Im5vcm1hbCJdLG1pW21hdGhzaXplPSJub3Jt
YWwiXSB7CisgICBmb250LXNpemU6IDFlbTsKKyAgIGxpbmUtaGVpZ2h0OiAwLjc1ZW07Cit9CisK
K21vW21hdGhzaXplPSJiaWciXSwgbW5bbWF0aHNpemU9ImJpZyJdLCBtaVttYXRoc2l6ZT0iYmln
Il0geworICAgbGluZS1oZWlnaHQ6IDEuMmVtOworICAgZm9udC1zaXplOiAxLjVlbTsKK30KKyAK
K2Fubm90YXRpb24sIGFubm90YXRpb24teG1sIHsKKyAgICBkaXNwbGF5Om5vbmU7Cit9CisKK21w
aGFudG9tIHsKKyAgICB2aXNpYmlsaXR5OiBoaWRkZW47Cit9CittZXJyb3IgeworICAgIG91dGxp
bmU6IHNvbGlkIHRoaW4gcmVkOworfQorCittc3FydCB7CisgICAgcGFkZGluZy10b3A6IDAuMmVt
OworICAgIHBhZGRpbmctbGVmdDogMC43NWVtOworfQorCittcm9vdCB7CisgICAgcGFkZGluZy10
b3A6IDAuMmVtOworICAgIHBhZGRpbmctbGVmdDogMC4yZW07Cit9CisKK21yb290ID4gKiArICog
eworICAgIGZvbnQtc2l6ZTogMC43NWVtOworICAgIGxpbmUtaGVpZ2h0OiAwLjc1ZW07CisgICAg
dmVydGljYWwtYWxpZ246IHRvcDsKKyAgICBwYWRkaW5nLXJpZ2h0OiAwLjNlbTsKK30KKworbXRh
YmxlIHsKKyAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7CisgICAgbGluZS1oZWlnaHQ6IDEuNWVt
OworICAgIHRleHQtYWxpZ246IGNlbnRlcjsKKyAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwor
fQorbXRyIHsKKyAgICBkaXNwbGF5OiB0YWJsZS1yb3c7Cit9CittdGQgeworICAgIGRpc3BsYXk6
IHRhYmxlLWNlbGw7CisgICAgcGFkZGluZzogMCAwLjVleDsKK30KKworbXRhYmxlW2NvbHVtbmFs
aWduPSJsZWZ0Il0sIG10cltjb2x1bW5hbGlnbj0ibGVmdCJdLCBtdGRbY29sdW1uYWxpZ249Imxl
ZnQiXSB7CisgICAgdGV4dC1hbGlnbjogbGVmdDsKK30KKworbXRhYmxlW2NvbHVtbmFsaWduPSJy
aWdodCJdLCBtdHJbY29sdW1uYWxpZ249InJpZ2h0Il0sIG10ZFtjb2x1bW5hbGlnbj0icmlnaHQi
XSB7CisgICAgdGV4dC1hbGlnbjogcmlnaHQ7Cit9CittdGFibGVbcm93YWxpZ249InRvcCJdIG10
ZCwgbXRhYmxlIG10cltyb3dhbGlnbj0idG9wIl0gbXRkLCBtdGFibGUgbXRyIG10ZFtyb3dhbGln
bj0idG9wIl0geworICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7Cit9CittdGFibGVbcm93YWxpZ249
ImJvdHRvbSJdIG10ZCwgbXRhYmxlIG10cltyb3dhbGlnbj0iYm90dG9tIl0gbXRkLCBtdGFibGUg
bXRyIG10ZFtyb3dhbGlnbj0iYm90dG9tIl0geworICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207
Cit9CittdGFibGVbcm93YWxpZ249ImNlbnRlciJdIG10ZCwgbXRhYmxlIG10cltyb3dhbGlnbj0i
Y2VudGVyIl0gbXRkLCBtdGFibGUgbXRyIG10ZFtyb3dhbGlnbj0iY2VudGVyIl0geworICAgIHZl
cnRpY2FsLWFsaWduOiBtaWRkbGU7Cit9CittdGFibGVbZnJhbWU9InNvbGlkIl0geworICAgIGJv
cmRlcjogc29saWQgdGhpbjsKK30KK210YWJsZVtmcmFtZT0iZGFzaGVkIl0geworICAgIGJvcmRl
cjogZGFzaGVkIHRoaW47Cit9CittdGFibGVbcm93bGluZXM9InNvbGlkIl0sIG10YWJsZVtyb3ds
aW5lcz0iZGFzaGVkIl0sIG10YWJsZVtjb2x1bW5saW5lcz0ic29saWQiXSwgbXRhYmxlW2NvbHVt
bmxpbmVzPSJkYXNoZWQiXSB7CisgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKK30KK210
YWJsZVtyb3dsaW5lcz0ic29saWQiXSA+IG10ciArIG10ciB7CisgICAgYm9yZGVyLXRvcDogc29s
aWQgdGhpbjsKK30KK210YWJsZVtyb3dsaW5lcz0iZGFzaGVkIl0gPiBtdHIgKyBtdHIgeworICAg
IGJvcmRlci10b3A6IGRhc2hlZCB0aGluOworfQorbXRhYmxlW2NvbHVtbmxpbmVzPSJzb2xpZCJd
ID4gbXRyID4gbXRkICsgbXRkIHsKKyAgICBib3JkZXItbGVmdDogc29saWQgdGhpbjsKK30KK210
YWJsZVtjb2x1bW5saW5lcz0iZGFzaGVkIl0gPiBtdHIgPiBtdGQgKyBtdGQgeworICAgIGJvcmRl
ci1sZWZ0OiBkYXNoZWQgdGhpbjsKK30KKwpJbmRleDogV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkocmV2aXNpb24gNDg0MDAp
CisrKyBXZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3NCw2ICsx
NzQsMTIgQEAKICNpbmNsdWRlICJXTUxOYW1lcy5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUFU
SE1MKQorI2luY2x1ZGUgIk1hdGhNTEVsZW1lbnQuaCIKKyNpbmNsdWRlICJNYXRoTUxFbGVtZW50
RmFjdG9yeS5oIgorI2luY2x1ZGUgIk1hdGhNTE5hbWVzLmgiCisjZW5kaWYKKwogI2lmIEVOQUJM
RShYSFRNTE1QKQogI2luY2x1ZGUgIkhUTUxOb1NjcmlwdEVsZW1lbnQuaCIKICNlbmRpZgpAQCAt
ODAzLDYgKzgwOSwxMCBAQCBQYXNzUmVmUHRyPEVsZW1lbnQ+IERvY3VtZW50OjpjcmVhdGVFbGVt
CiAgICAgZWxzZSBpZiAoaXNXTUxEb2N1bWVudCgpKQogICAgICAgICBlID0gV01MRWxlbWVudEZh
Y3Rvcnk6OmNyZWF0ZVdNTEVsZW1lbnQoUXVhbGlmaWVkTmFtZShudWxsQXRvbSwgcU5hbWUubG9j
YWxOYW1lKCksIFdNTE5hbWVzOjp3bWxOYW1lc3BhY2VVUkkpLCB0aGlzLCBjcmVhdGVkQnlQYXJz
ZXIpOwogI2VuZGlmCisjaWYgRU5BQkxFKE1BVEhNTCkKKyAgICBlbHNlIGlmIChxTmFtZS5uYW1l
c3BhY2VVUkkoKSA9PSBNYXRoTUxOYW1lczo6bWF0aG1sTmFtZXNwYWNlVVJJKQorICAgICAgICBl
ID0gTWF0aE1MRWxlbWVudEZhY3Rvcnk6OmNyZWF0ZU1hdGhNTEVsZW1lbnQocU5hbWUsIHRoaXMs
IGNyZWF0ZWRCeVBhcnNlcik7CisjZW5kaWYKICAgICAKICAgICBpZiAoIWUpCiAgICAgICAgIGUg
PSBFbGVtZW50OjpjcmVhdGUocU5hbWUsIGRvY3VtZW50KCkpOwpJbmRleDogV2ViQ29yZS9kb20v
Tm9kZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL05vZGUuaAkocmV2aXNpb24gNDg0MDAp
CisrKyBXZWJDb3JlL2RvbS9Ob2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE4Myw2ICsxODMsMTMg
QEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGlzV01MRWxlbWVudCgpIHsgcmV0dXJuIGZhbHNl
OyB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShNQVRITUwpCisgICAgdmlydHVhbCBib29sIGlzTWF0
aE1MRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjZWxzZQorICAgIHN0YXRpYyBi
b29sIGlzTWF0aE1MRWxlbWVudCgpIHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYKKworCiAgICAg
dmlydHVhbCBib29sIGlzTWVkaWFDb250cm9sRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9CiAgICAgdmlydHVhbCBib29sIGlzU3R5bGVkRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzRnJhbWVPd25lckVsZW1lbnQoKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQpJbmRleDogV2ViQ29yZS9tYXRobWwvTWF0aE1MRWxlbWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9tYXRobWwvTWF0aE1MRWxlbWVudC5jcHAJKHJldmlzaW9uIDAp
CisrKyBXZWJDb3JlL21hdGhtbC9NYXRoTUxFbGVtZW50LmNwcAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw1MiBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDkgQWxleCBNaWxvd3NraSAoYWxl
eEBtaWxvd3NraS5jb20pLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogCisgKiAgVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICog
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogIAorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg
KiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKKyAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg
ZGV0YWlscy4KKyAqICAKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlz
IGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlCisgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAg
MDIxMTAtMTMwMSwgVVNBLiAKKyAqICAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNp
ZiBFTkFCTEUoTUFUSE1MKQorCisjaW5jbHVkZSAiTWF0aE1MRWxlbWVudC5oIgorCisjaW5jbHVk
ZSAiTWF0aE1MTmFtZXMuaCIKKyNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworICAgIAordXNpbmcgbmFtZXNwYWNlIE1hdGhNTE5hbWVzOworICAgIAorTWF0
aE1MRWxlbWVudDo6TWF0aE1MRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBE
b2N1bWVudCogZG9jdW1lbnQpCisgICAgOiBTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50
LCBDcmVhdGVFbGVtZW50WmVyb1JlZkNvdW50KQoreworfQorICAgIAorUGFzc1JlZlB0cjxNYXRo
TUxFbGVtZW50PiBNYXRoTUxFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFn
TmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQoreworICAgIHJldHVybiBuZXcgTWF0aE1MRWxlbWVu
dCh0YWdOYW1lLCBkb2N1bWVudCk7Cit9CisKK1JlbmRlck9iamVjdCogTWF0aE1MRWxlbWVudDo6
Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSogc3R5bGUpCit7CisgICAg
cmV0dXJuIFJlbmRlck9iamVjdDo6Y3JlYXRlT2JqZWN0KHRoaXMsIHN0eWxlKTsKK30KKyAgICAK
KyAgICAKK30KKworI2VuZGlmIC8vIEVOQUJMRShNQVRITUwpCkluZGV4OiBXZWJDb3JlL21hdGht
bC9NYXRoTUxFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9tYXRobWwvTWF0aE1MRWxl
bWVudC5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9tYXRobWwvTWF0aE1MRWxlbWVudC5oCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ1IEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAwOSBB
bGV4IE1pbG93c2tpIChhbGV4QG1pbG93c2tpLmNvbSkuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiAKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiAgCisgKiAgVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICogIAorICogIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5z
ZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUKKyAqICBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwK
KyAqICBCb3N0b24sIE1BICAwMjExMC0xMzAxLCBVU0EuIAorICogIAorICovCisKKyNpZm5kZWYg
TWF0aE1MRWxlbWVudF9oCisjZGVmaW5lIE1hdGhNTEVsZW1lbnRfaAorCisjaWYgRU5BQkxFKE1B
VEhNTCkKKyNpbmNsdWRlICJTdHlsZWRFbGVtZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KyAgICAKK2NsYXNzIE1hdGhNTEVsZW1lbnQgOiBwdWJsaWMgU3R5bGVkRWxlbWVudCB7CitwdWJs
aWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8TWF0aE1MRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Kik7CisgICAgCisgICAgdmlydHVhbCBib29s
IGlzTWF0aE1MRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyAgICAKKyAgICB2aXJ0
dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHls
ZSopOworICAgIAorcHJvdGVjdGVkOgorICAgIE1hdGhNTEVsZW1lbnQoY29uc3QgUXVhbGlmaWVk
TmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKKyAgICAKK307CisgICAgCit9CisKKyNlbmRpZiAv
LyBFTkFCTEUoTUFUSE1MKQorI2VuZGlmIC8vIE1hdGhNTEVsZW1lbnRfaApJbmRleDogV2ViQ29y
ZS9tYXRobWwvTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9tYXRobWwvTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAJKHJldmlzaW9u
IDApCisrKyBXZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNwcAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDkg
QWxleCBNaWxvd3NraSAoYWxleEBtaWxvd3NraS5jb20pLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogIAorICogIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqICAKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVj
ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vu
c2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlCisgKiAgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3Is
CisgKiAgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwgVVNBLiAKKyAqICAKKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoTUFUSE1MKQorCisjaW5jbHVkZSAiTWF0aE1MSW5s
aW5lQ29udGFpbmVyRWxlbWVudC5oIgorCisjaW5jbHVkZSAiTWF0aE1MTmFtZXMuaCIKKyNpbmNs
dWRlICJSZW5kZXJPYmplY3QuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworICAgIAordXNpbmcg
bmFtZXNwYWNlIE1hdGhNTE5hbWVzOworCitNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50OjpN
YXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUs
IERvY3VtZW50KiBkb2N1bWVudCkKKyAgICA6IE1hdGhNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1l
bnQpCit7Cit9CisKK1Bhc3NSZWZQdHI8TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudD4gTWF0
aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRh
Z05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKK3sKKyAgICByZXR1cm4gbmV3IE1hdGhNTElubGlu
ZUNvbnRhaW5lckVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpOworfQorCitSZW5kZXJPYmplY3Qq
IE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5h
ICosIFJlbmRlclN0eWxlKiBzdHlsZSkKK3sKKyAgICAvLyBGSVhNRTogVGhpcyBtZXRob2Qgd2ls
bCBjb250YWluIHRoZSBzcGVjaWFsaXplZCByZW5kZXJlcnMgYmFzZWQgb24gZWxlbWVudCBuYW1l
CisgICAgcmV0dXJuIFJlbmRlck9iamVjdDo6Y3JlYXRlT2JqZWN0KHRoaXMsIHN0eWxlKTsKK30K
KyAgICAKKyAgICAKK30KKworI2VuZGlmIC8vIEVOQUJMRShNQVRITUwpCisKSW5kZXg6IFdlYkNv
cmUvbWF0aG1sL01hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmgJKHJldmlzaW9uIDAp
CisrKyBXZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmgJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDA5IEFsZXgg
TWlsb3dza2kgKGFsZXhAbWlsb3dza2kuY29tKS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIAor
ICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqICAKKyAqICBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
KyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCisgKiAgCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk
IGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZQorICogIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLAorICog
IEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4gCisgKiAgCisgKi8KKworI2lmbmRlZiBNYXRo
TUxJbmxpbmVDb250YWluZXJFbGVtZW50X2gKKyNkZWZpbmUgTWF0aE1MSW5saW5lQ29udGFpbmVy
RWxlbWVudF9oCisKKyNpZiBFTkFCTEUoTUFUSE1MKQorI2luY2x1ZGUgIk1hdGhNTEVsZW1lbnQu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworICAgIAorY2xhc3MgTWF0aE1MSW5saW5lQ29udGFp
bmVyRWxlbWVudCA6IHB1YmxpYyBNYXRoTUxFbGVtZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50PiBjcmVhdGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKKworICAgIHZpcnR1YWwgUmVuZGVyT2Jq
ZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CisKK3Byb3Rl
Y3RlZDoKKyAgICBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5h
bWUmIHRhZ05hbWUsIERvY3VtZW50Kik7CisKK307CisgICAgCit9CisKKyNlbmRpZiAvLyBFTkFC
TEUoTUFUSE1MKQorI2VuZGlmIC8vIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnRfaApJbmRl
eDogV2ViQ29yZS9tYXRobWwvTWF0aE1MTWF0aEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvbWF0aG1sL01hdGhNTE1hdGhFbGVtZW50LmNwcAkocmV2aXNpb24gMCkKKysrIFdlYkNv
cmUvbWF0aG1sL01hdGhNTE1hdGhFbGVtZW50LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0
NiBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDkgQWxleCBNaWxvd3NraSAoYWxleEBtaWxv
d3NraS5jb20pLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogCisgKiAgVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisg
KiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgorICogIAorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKKyAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKyAqICAKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlCisgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAgMDIxMTAt
MTMwMSwgVVNBLiAKKyAqICAKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFC
TEUoTUFUSE1MKQorCisjaW5jbHVkZSAiTWF0aE1MTWF0aEVsZW1lbnQuaCIKKworI2luY2x1ZGUg
Ik1hdGhNTE5hbWVzLmgiCisjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKyAgICAKK3VzaW5nIG5hbWVzcGFjZSBNYXRoTUxOYW1lczsKKworTWF0aE1MTWF0
aEVsZW1lbnQ6Ok1hdGhNTE1hdGhFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUs
IERvY3VtZW50KiBkb2N1bWVudCkKKyAgICA6IE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQo
dGFnTmFtZSwgZG9jdW1lbnQpCit7Cit9CisKK1Bhc3NSZWZQdHI8TWF0aE1MTWF0aEVsZW1lbnQ+
IE1hdGhNTE1hdGhFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQqIGRvY3VtZW50KQoreworICAgIHJldHVybiBuZXcgTWF0aE1MTWF0aEVsZW1lbnQo
dGFnTmFtZSwgZG9jdW1lbnQpOworfQorCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQpJ
bmRleDogV2ViQ29yZS9tYXRobWwvTWF0aE1MTWF0aEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL21hdGhtbC9NYXRoTUxNYXRoRWxlbWVudC5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29y
ZS9tYXRobWwvTWF0aE1MTWF0aEVsZW1lbnQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MSBA
QAorLyoKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDkgQWxleCBNaWxvd3NraSAoYWxleEBtaWxvd3Nr
aS5jb20pLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiAg
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgorICogIAorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKKyAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KyAqICAKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IGlmIG5vdCwgd3JpdGUgdG8gdGhlCisgKiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAgMDIxMTAtMTMw
MSwgVVNBLiAKKyAqICAKKyAqLworCisjaWZuZGVmIE1hdGhNTE1hdGhFbGVtZW50X2gKKyNkZWZp
bmUgTWF0aE1MTWF0aEVsZW1lbnRfaAorCisjaWYgRU5BQkxFKE1BVEhNTCkKKyNpbmNsdWRlICJN
YXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAg
ICAKK2NsYXNzIE1hdGhNTE1hdGhFbGVtZW50IDogcHVibGljIE1hdGhNTElubGluZUNvbnRhaW5l
ckVsZW1lbnQgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1hdGhNTE1hdGhFbGVt
ZW50PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKKyAg
ICAKK3Byb3RlY3RlZDoKKyAgICBNYXRoTUxNYXRoRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1l
JiB0YWdOYW1lLCBEb2N1bWVudCopOworICAgIAorfTsKKyAgICAKK30KKworI2VuZGlmIC8vIEVO
QUJMRShNQVRITUwpCisjZW5kaWYgLy8gTWF0aE1MTWF0aEVsZW1lbnRfaApJbmRleDogV2ViQ29y
ZS9tYXRobWwvbWF0aHRhZ3MuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9tYXRobWwvbWF0aHRh
Z3MuaW4JKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL21hdGhtbC9tYXRodGFncy5pbgkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwyMSBAQAorbmFtZXNwYWNlPSJNYXRoTUwiCituYW1lc3BhY2VVUkk9
Imh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwiCitndWFyZEZhY3RvcnlXaXRoPSJF
TkFCTEUoTUFUSE1MKSIKK2V4cG9ydFN0cmluZ3MKKworbWF0aAorbWZyYWMgaW50ZXJmYWNlTmFt
ZT1NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50CittZmVuY2VkIGludGVyZmFjZU5hbWU9TWF0
aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudAorbXN1YnN1cCBpbnRlcmZhY2VOYW1lPU1hdGhNTElu
bGluZUNvbnRhaW5lckVsZW1lbnQKK21yb3cgaW50ZXJmYWNlTmFtZT1NYXRoTUxJbmxpbmVDb250
YWluZXJFbGVtZW50Cittb3ZlciBpbnRlcmZhY2VOYW1lPU1hdGhNTElubGluZUNvbnRhaW5lckVs
ZW1lbnQKK211bmRlciBpbnRlcmZhY2VOYW1lPU1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQK
K211bmRlcm92ZXIgaW50ZXJmYWNlTmFtZT1NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50Citt
c3FydCBpbnRlcmZhY2VOYW1lPU1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQKK21yb290IGlu
dGVyZmFjZU5hbWU9TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudAorbWkgaW50ZXJmYWNlTmFt
ZT1NYXRoTUxFbGVtZW50LCBjcmVhdGVXaXRoTmV3CittbiBpbnRlcmZhY2VOYW1lPU1hdGhNTEVs
ZW1lbnQsIGNyZWF0ZVdpdGhOZXcKK21vIGludGVyZmFjZU5hbWU9TWF0aE1MRWxlbWVudCwgY3Jl
YXRlV2l0aE5ldworbXN1YiBpbnRlcmZhY2VOYW1lPU1hdGhNTEVsZW1lbnQsIGNyZWF0ZVdpdGhO
ZXcKK21zdXAgaW50ZXJmYWNlTmFtZT1NYXRoTUxFbGVtZW50LCBjcmVhdGVXaXRoTmV3CisKSW5k
ZXg6IFdlYkNvcmUvcGFnZS9GcmFtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wYWdlL0Zy
YW1lLmNwcAkocmV2aXNpb24gNDg0MDApCisrKyBXZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC05Nyw2ICs5NywxMCBAQAogI2luY2x1ZGUgIldNTE5hbWVzLmgiCiAjZW5k
aWYKIAorI2lmIEVOQUJMRShNQVRITUwpCisjaW5jbHVkZSAiTWF0aE1MTmFtZXMuaCIKKyNlbmRp
ZgorCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0xNTIs
NiArMTU2LDEwIEBAIEZyYW1lOjpGcmFtZShQYWdlKiBwYWdlLCBIVE1MRnJhbWVPd25lckUKICAg
ICBXTUxOYW1lczo6aW5pdCgpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUFUSE1MKQorICAgIE1h
dGhNTE5hbWVzOjppbml0KCk7CisjZW5kaWYKKwogICAgIFhNTE5hbWVzOjppbml0KCk7CiAKICAg
ICBpZiAoIW93bmVyRWxlbWVudCkKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ4NDkxKQorKysgTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMDktMDkt
MTcgIEFsZXggTWlsb3dza2kgIDxhbGV4QG1pbG93c2tpLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBCYXNpYyB0ZXN0cyBmb3IgbXN1YiwgbXN1
cCwgYW5kIG10YWJsZS9tdHIvbXRkCisKKyAgICAgICAgKiBtYXRobWw6IEFkZGVkLgorICAgICAg
ICAqIG1hdGhtbC9wcmVzZW50YXRpb246IEFkZGVkLgorICAgICAgICAqIG1hdGhtbC9wcmVzZW50
YXRpb24vc3ViLnhodG1sOiBBZGRlZC4KKyAgICAgICAgKiBtYXRobWwvcHJlc2VudGF0aW9uL3N1
cC54aHRtbDogQWRkZWQuCisgICAgICAgICogbWF0aG1sL3ByZXNlbnRhdGlvbi90YWJsZXMueGh0
bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9tYXRobWw6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9tYXRobWwvcHJlc2VudGF0aW9uOiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvbWF0aG1sL3ByZXNlbnRhdGlvbi9zdWItZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvbWF0aG1sL3ByZXNlbnRhdGlvbi9zdXAtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvbWF0aG1sL3ByZXNlbnRhdGlvbi90
YWJsZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAwOS0wOS0xNyAgU2ltb24gRnJhc2VyICA8
c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZlIEh5YXR0
LgpJbmRleDogTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi9zdWIueGh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi9zdWIueGh0bWwJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL3N1Yi54aHRtbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwxMiBAQAorPGh0bWwgeG1sbnM9J2h0dHA6Ly93d3cudzMub3Jn
LzE5OTkveGh0bWwnPgorPGhlYWQ+Cis8dGl0bGU+U3Vic2NyaXB0czwvdGl0bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSd0MSc+c3Vic2NyaXB0OiAKKzxtYXRoIHhtbG5zPSdodHRwOi8vd3d3
LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MJz4KKzxtc3ViPjxtaT54PC9taT48bW4+MTwvbW4+PC9t
c3ViPgorPC9tYXRoPgorPC9wPgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMv
bWF0aG1sL3ByZXNlbnRhdGlvbi9zdXAueGh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
bWF0aG1sL3ByZXNlbnRhdGlvbi9zdXAueGh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9tYXRobWwvcHJlc2VudGF0aW9uL3N1cC54aHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
MiBAQAorPGh0bWwgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnPgorPGhlYWQ+
Cis8dGl0bGU+U3VwZXJzY3JpcHRzPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9J3Qx
Jz5zdXBlcnNjcmlwdDogCis8bWF0aCB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRo
L01hdGhNTCc+Cis8bXN1cD48bWk+eDwvbWk+PG1uPjI8L21uPjwvbXN1cD4KKzwvbWF0aD4KKzwv
cD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRp
b24vdGFibGVzLnhodG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL21hdGhtbC9wcmVzZW50
YXRpb24vdGFibGVzLnhodG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvbWF0aG1sL3By
ZXNlbnRhdGlvbi90YWJsZXMueGh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjggQEAKKzxo
dG1sIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJz4KKzxoZWFkPgorPHRpdGxl
PnRhYmxlczwvdGl0bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSd0MSc+c2ltcGxlOiAKKzxt
YXRoIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MJz4KKzxtdGFibGU+
Cis8bXRyPgorPG10ZD48bXN1Yj48bWk+YTwvbWk+PG1uPjExPC9tbj48L21zdWI+PC9tdGQ+Cis8
bXRkPjxtc3ViPjxtaT5hPC9taT48bW4+MTI8L21uPjwvbXN1Yj48L210ZD4KKzxtdGQ+PG1zdWI+
PG1pPmE8L21pPjxtbj4xMzwvbW4+PC9tc3ViPjwvbXRkPgorPC9tdHI+Cis8bXRyPgorPG10ZD48
bXN1Yj48bWk+YjwvbWk+PG1uPjIxPC9tbj48L21zdWI+PC9tdGQ+Cis8bXRkPjxtc3ViPjxtaT5i
PC9taT48bW4+MjI8L21uPjwvbXN1Yj48L210ZD4KKzxtdGQ+PG1zdWI+PG1pPmI8L21pPjxtbj4y
MzwvbW4+PC9tc3ViPjwvbXRkPgorPC9tdHI+Cis8bXRyPgorPG10ZD48bXN1Yj48bWk+YzwvbWk+
PG1uPjMxPC9tbj48L21zdWI+PC9tdGQ+Cis8bXRkPjxtc3ViPjxtaT5jPC9taT48bW4+MzI8L21u
PjwvbXN1Yj48L210ZD4KKzxtdGQ+PG1zdWI+PG1pPmM8L21pPjxtbj4zMzwvbW4+PC9tc3ViPjwv
bXRkPgorPC9tdHI+Cis8L210YWJsZT4KKzwvbWF0aD4KKzwvcD4KKzwvYm9keT4KKzwvaHRtbD4K
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9tYXRobWwvcHJlc2VudGF0aW9uL3N1Yi1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL21hdGht
bC9wcmVzZW50YXRpb24vc3ViLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9tYXRobWwvcHJlc2VudGF0aW9uL3N1Yi1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMTggQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAor
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NTIKKyAgUmVuZGVyQmxvY2sge2h0bWx9IGF0ICgwLDApIHNpemUgODAweDUyCisgICAgUmVu
ZGVyQm9keSB7Ym9keX0gYXQgKDgsMTYpIHNpemUgNzg0eDIwCisgICAgICBSZW5kZXJCbG9jayB7
cH0gYXQgKDAsMCkgc2l6ZSA3ODR4MjAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgNjR4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA2NDogInN1
YnNjcmlwdDogIgorICAgICAgICBSZW5kZXJCbG9jayB7bWF0aH0gYXQgKDY0LDEpIHNpemUgMTZ4
MTkKKyAgICAgICAgICBSZW5kZXJCbG9jayB7bXN1Yn0gYXQgKDAsMCkgc2l6ZSAxNngxOQorICAg
ICAgICAgICAgUmVuZGVySW5saW5lIHttaX0gYXQgKDAsMCkgc2l6ZSA5eDE4CisgICAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDl4MTgKKyAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA5OiAieCIKKyAgICAgICAgICAgIFJlbmRlcklubGlu
ZSB7bW59IGF0ICgwLDApIHNpemUgN3gxMworICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDksOCkgc2l6ZSA3eDEzCisgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDksOCkg
d2lkdGggNzogIjEiCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL21hdGhtbC9wcmVzZW50YXRpb24vc3VwLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWF0aG1sL3ByZXNl
bnRhdGlvbi9zdXAtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL21hdGhtbC9wcmVzZW50YXRpb24vc3VwLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwxOCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRl
clZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg1MQor
ICBSZW5kZXJCbG9jayB7aHRtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4NTEKKyAgICBSZW5kZXJCb2R5
IHtib2R5fSBhdCAoOCwxNikgc2l6ZSA3ODR4MTkKKyAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAo
MCwwKSBzaXplIDc4NHgxOQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSA3NngxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDc2OiAic3VwZXJzY3Jp
cHQ6ICIKKyAgICAgICAgUmVuZGVyQmxvY2sge21hdGh9IGF0ICg3NiwwKSBzaXplIDE2eDE5Cisg
ICAgICAgICAgUmVuZGVyQmxvY2sge21zdXB9IGF0ICgwLDApIHNpemUgMTZ4MTkKKyAgICAgICAg
ICAgIFJlbmRlcklubGluZSB7bWl9IGF0ICgwLDApIHNpemUgOXgxOAorICAgICAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSA5eDE4CisgICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMSkgd2lkdGggOTogIngiCisgICAgICAgICAgICBSZW5kZXJJbmxpbmUge21u
fSBhdCAoMCwwKSBzaXplIDd4MTMKKyAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICg5LC0yKSBzaXplIDd4MTMKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOSwtMikgd2lk
dGggNzogIjIiCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgw
CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL21hdGhtbC9wcmVzZW50YXRpb24vdGFibGVzLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWF0aG1sL3ByZXNl
bnRhdGlvbi90YWJsZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL21hdGhtbC9wcmVzZW50YXRpb24vdGFibGVzLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw4OCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHgxMTAKKyAgUmVuZGVyQmxvY2sge2h0bWx9IGF0ICgwLDApIHNpemUgODAweDExMAorICAgIFJl
bmRlckJvZHkge2JvZHl9IGF0ICg4LDE2KSBzaXplIDc4NHg3OAorICAgICAgUmVuZGVyQmxvY2sg
e3B9IGF0ICgwLDApIHNpemUgNzg0eDc4CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwyOSkgc2l6ZSA0OXgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDI5KSB3aWR0aCA0OTog
InNpbXBsZTogIgorICAgICAgICBSZW5kZXJCbG9jayB7bWF0aH0gYXQgKDQ5LDApIHNpemUgOTN4
NzgKKyAgICAgICAgICBSZW5kZXJUYWJsZSB7bXRhYmxlfSBhdCAoMCwwKSBzaXplIDkzeDc4Cisg
ICAgICAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24gKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA5
M3g3OAorICAgICAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7bXRyfSBhdCAoMCwwKSBzaXplIDkz
eDI2CisgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHttdGR9IGF0ICgwLDApIHNpemUg
MzF4MjYgW3I9MCBjPTAgcnM9MSBjcz0xXQorICAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sg
e21zdWJ9IGF0ICg0LDApIHNpemUgMjJ4MjYKKyAgICAgICAgICAgICAgICAgICAgUmVuZGVySW5s
aW5lIHttaX0gYXQgKDAsMCkgc2l6ZSA4eDE4CisgICAgICAgICAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDQpIHNpemUgOHgxOAorICAgICAgICAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsNCkgd2lkdGggODogImEiCisgICAgICAgICAgICAgICAgICAgIFJlbmRl
cklubGluZSB7bW59IGF0ICgwLDApIHNpemUgMTR4MTMKKyAgICAgICAgICAgICAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDgsMTIpIHNpemUgMTR4MTMKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICg4LDEyKSB3aWR0aCAxNDogIjExIgorICAgICAgICAgICAgICAg
IFJlbmRlclRhYmxlQ2VsbCB7bXRkfSBhdCAoMzEsMCkgc2l6ZSAzMXgyNiBbcj0wIGM9MSBycz0x
IGNzPTFdCisgICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7bXN1Yn0gYXQgKDQsMCkgc2l6
ZSAyMngyNgorICAgICAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge21pfSBhdCAoMCwwKSBz
aXplIDh4MTgKKyAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
NCkgc2l6ZSA4eDE4CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw0KSB3
aWR0aCA4OiAiYSIKKyAgICAgICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHttbn0gYXQgKDAs
MCkgc2l6ZSAxNHgxMworICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoOCwxMikgc2l6ZSAxNHgxMworICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDgsMTIpIHdpZHRoIDE0OiAiMTIiCisgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtt
dGR9IGF0ICg2MiwwKSBzaXplIDMxeDI2IFtyPTAgYz0yIHJzPTEgY3M9MV0KKyAgICAgICAgICAg
ICAgICAgIFJlbmRlckJsb2NrIHttc3VifSBhdCAoNCwwKSBzaXplIDIyeDI2CisgICAgICAgICAg
ICAgICAgICAgIFJlbmRlcklubGluZSB7bWl9IGF0ICgwLDApIHNpemUgOHgxOAorICAgICAgICAg
ICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw0KSBzaXplIDh4MTgKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDQpIHdpZHRoIDg6ICJhIgorICAgICAg
ICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge21ufSBhdCAoMCwwKSBzaXplIDE0eDEzCisgICAg
ICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg4LDEyKSBzaXplIDE0eDEz
CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOCwxMikgd2lkdGggMTQ6ICIx
MyIKKyAgICAgICAgICAgICAgUmVuZGVyVGFibGVSb3cge210cn0gYXQgKDAsMjYpIHNpemUgOTN4
MjYKKyAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge210ZH0gYXQgKDAsMjYpIHNpemUg
MzF4MjYgW3I9MSBjPTAgcnM9MSBjcz0xXQorICAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sg
e21zdWJ9IGF0ICg0LDApIHNpemUgMjN4MjYKKyAgICAgICAgICAgICAgICAgICAgUmVuZGVySW5s
aW5lIHttaX0gYXQgKDAsMCkgc2l6ZSA5eDE4CisgICAgICAgICAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDQpIHNpemUgOXgxOAorICAgICAgICAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsNCkgd2lkdGggOTogImIiCisgICAgICAgICAgICAgICAgICAgIFJlbmRl
cklubGluZSB7bW59IGF0ICgwLDApIHNpemUgMTR4MTMKKyAgICAgICAgICAgICAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDksMTIpIHNpemUgMTR4MTMKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICg5LDEyKSB3aWR0aCAxNDogIjIxIgorICAgICAgICAgICAgICAg
IFJlbmRlclRhYmxlQ2VsbCB7bXRkfSBhdCAoMzEsMjYpIHNpemUgMzF4MjYgW3I9MSBjPTEgcnM9
MSBjcz0xXQorICAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge21zdWJ9IGF0ICg0LDApIHNp
emUgMjN4MjYKKyAgICAgICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHttaX0gYXQgKDAsMCkg
c2l6ZSA5eDE4CisgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDQpIHNpemUgOXgxOAorICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNCkg
d2lkdGggOTogImIiCisgICAgICAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7bW59IGF0ICgw
LDApIHNpemUgMTR4MTMKKyAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDksMTIpIHNpemUgMTR4MTMKKyAgICAgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICg5LDEyKSB3aWR0aCAxNDogIjIyIgorICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7
bXRkfSBhdCAoNjIsMjYpIHNpemUgMzF4MjYgW3I9MSBjPTIgcnM9MSBjcz0xXQorICAgICAgICAg
ICAgICAgICAgUmVuZGVyQmxvY2sge21zdWJ9IGF0ICg0LDApIHNpemUgMjN4MjYKKyAgICAgICAg
ICAgICAgICAgICAgUmVuZGVySW5saW5lIHttaX0gYXQgKDAsMCkgc2l6ZSA5eDE4CisgICAgICAg
ICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDQpIHNpemUgOXgxOAorICAg
ICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNCkgd2lkdGggOTogImIiCisgICAg
ICAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7bW59IGF0ICgwLDApIHNpemUgMTR4MTMKKyAg
ICAgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDksMTIpIHNpemUgMTR4
MTMKKyAgICAgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg5LDEyKSB3aWR0aCAxNDog
IjIzIgorICAgICAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7bXRyfSBhdCAoMCw1Mikgc2l6ZSA5
M3gyNgorICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7bXRkfSBhdCAoMCw1Mikgc2l6
ZSAzMXgyNiBbcj0yIGM9MCBycz0xIGNzPTFdCisgICAgICAgICAgICAgICAgICBSZW5kZXJCbG9j
ayB7bXN1Yn0gYXQgKDQsMCkgc2l6ZSAyMngyNgorICAgICAgICAgICAgICAgICAgICBSZW5kZXJJ
bmxpbmUge21pfSBhdCAoMCwwKSBzaXplIDh4MTgKKyAgICAgICAgICAgICAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsNCkgc2l6ZSA4eDE4CisgICAgICAgICAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMCw0KSB3aWR0aCA4OiAiYyIKKyAgICAgICAgICAgICAgICAgICAgUmVu
ZGVySW5saW5lIHttbn0gYXQgKDAsMCkgc2l6ZSAxNHgxMworICAgICAgICAgICAgICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoOCwxMikgc2l6ZSAxNHgxMworICAgICAgICAgICAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDgsMTIpIHdpZHRoIDE0OiAiMzEiCisgICAgICAgICAgICAg
ICAgUmVuZGVyVGFibGVDZWxsIHttdGR9IGF0ICgzMSw1Mikgc2l6ZSAzMXgyNiBbcj0yIGM9MSBy
cz0xIGNzPTFdCisgICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7bXN1Yn0gYXQgKDQsMCkg
c2l6ZSAyMngyNgorICAgICAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge21pfSBhdCAoMCww
KSBzaXplIDh4MTgKKyAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsNCkgc2l6ZSA4eDE4CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw0
KSB3aWR0aCA4OiAiYyIKKyAgICAgICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHttbn0gYXQg
KDAsMCkgc2l6ZSAxNHgxMworICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoOCwxMikgc2l6ZSAxNHgxMworICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDgsMTIpIHdpZHRoIDE0OiAiMzIiCisgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxs
IHttdGR9IGF0ICg2Miw1Mikgc2l6ZSAzMXgyNiBbcj0yIGM9MiBycz0xIGNzPTFdCisgICAgICAg
ICAgICAgICAgICBSZW5kZXJCbG9jayB7bXN1Yn0gYXQgKDQsMCkgc2l6ZSAyMngyNgorICAgICAg
ICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge21pfSBhdCAoMCwwKSBzaXplIDh4MTgKKyAgICAg
ICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNCkgc2l6ZSA4eDE4Cisg
ICAgICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw0KSB3aWR0aCA4OiAiYyIKKyAg
ICAgICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHttbn0gYXQgKDAsMCkgc2l6ZSAxNHgxMwor
ICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoOCwxMikgc2l6ZSAx
NHgxMworICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDgsMTIpIHdpZHRoIDE0
OiAiMzMiCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAo=
</data>
<flag name="review"
          id="20849"
          type_id="1"
          status="+"
          setter="mjs"
    />
    <flag name="commit-queue"
          id="20909"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39802</attachid>
            <date>2009-09-18 15:58:31 -0700</date>
            <delta_ts>2009-09-19 11:02:42 -0700</delta_ts>
            <desc>Updated patch to fix conflicts</desc>
            <filename>WebKit-mathml-css.patch</filename>
            <type>text/plain</type>
            <size>41323</size>
            <attacher name="Alex Milowski">alex</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODU0MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNjMgQEAKKzIwMDktMDktMTggIEFsZXggTWlsb3dza2kgIDxhbGV4QG1pbG93c2tp
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRzIENTUyBzdHlsaW5nIGFuZCBiYXNpYyBET00gZWxlbWVudCBzdXBwb3J0IGZvciBNYXRoTUwK
KworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICAgQWRkZWQgdXNlciBz
dHlsZXNoZWV0IGFuZCB0YWcgZmFjdG9yeSBnZW5lcmF0aW9uCisKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICAgQWRkZWQgbmV3IERPTSBlbGVt
ZW50IGNvZGUKKworICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUGFyc2VyOjpwYXJzZUF0dHIpOgorICAgICAgICAgIEFkZGVkIGNoZWNrIGZvciBkb2N1
bWVudCBzaW5jZSBzdHlsZXNoZWV0IGNhbiBiZSBhZGRlZCBiZWZvcmUgdGhlcmUgaXMgYSBkb2N1
bWVudAorCisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6c3R5bGVGb3JFbGVtZW50KToKKyAgICAgICAgICBBZGRl
ZCBjaGVjayB0byBhZGQgTWF0aE1MIHVzZXIgYWdlbnQgc3R5bGVzaGVldAorCisgICAgICAgICog
Y3NzL21hdGhtbC5jc3M6IEFkZGVkLgorICAgICAgICAgIE1hdGhNTCB1c2VyIGFnZW50IHN0eWxl
c2hlZXQKKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6Y3JlYXRlRWxlbWVudCk6CisgICAgICAgICAgQWRkZWQgc3VwcG9ydCBmb3IgY3Jl
YXRpb24gb2YgTWF0aE1MIERPTSBvYmplY3RzCisKKyAgICAgICAgKiBkb20vTm9kZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6Tm9kZTo6aXNNYXRoTUxFbGVtZW50KToKKyAgICAgICAgICBBZGRlZCBj
aGVjayBtZXRob2QgZm9yIHdoZXRoZXIgdGhlIG5vZGUgaXMgYSBNYXRoTUwgbm9kZQorCisgICAg
ICAgICogbWF0aG1sOiBBZGRlZC4KKyAgICAgICAgKiBtYXRobWwvTWF0aE1MRWxlbWVudC5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MRWxlbWVudDo6TWF0aE1MRWxlbWVudCk6
CisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxFbGVtZW50OjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6TWF0aE1MRWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIpOgorICAgICAgICAqIG1hdGhtbC9N
YXRoTUxFbGVtZW50Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MRWxlbWVudDo6
aXNNYXRoTUxFbGVtZW50KToKKyAgICAgICAgICBNYXRoTUwgRE9NIGJhc2UgY2xhc3MKKworCisg
ICAgICAgICogbWF0aG1sL01hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQ6Ok1hdGhNTElu
bGluZUNvbnRhaW5lckVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MSW5saW5lQ29u
dGFpbmVyRWxlbWVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTElubGluZUNv
bnRhaW5lckVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKiBtYXRobWwvTWF0aE1M
SW5saW5lQ29udGFpbmVyRWxlbWVudC5oOiBBZGRlZC4KKyAgICAgICAgICBCYXNlIGNsYXNzIGZv
ciBub24tdGV4dCBjb250YWluZXJzCisKKyAgICAgICAgKiBtYXRobWwvTWF0aE1MTWF0aEVsZW1l
bnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTE1hdGhFbGVtZW50OjpNYXRo
TUxNYXRoRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxNYXRoRWxlbWVudDo6Y3Jl
YXRlKToKKyAgICAgICAgKiBtYXRobWwvTWF0aE1MTWF0aEVsZW1lbnQuaDogQWRkZWQuCisgICAg
ICAgICAgUm9vdCBNYXRoIGVsZW1lbnQKKworICAgICAgICAqIG1hdGhtbC9tYXRodGFncy5pbjog
QWRkZWQuCisgICAgICAgICAgRWxlbWVudCBsaXN0IG1hcHBpbmdzCisKKyAgICAgICAgKiBwYWdl
L0ZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpGcmFtZSk6CisgICAgICAgICAg
QWRkZWQgTWF0aE1MIG5hbWUgaW5pdGlhbGl6YXRpb24KIDIwMDktMDktMTggIEFsZXhleSBQcm9z
a3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRs
ZXIuCkluZGV4OiBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZpc2lvbiA0ODU0MSkKKysrIFdlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtNDQxLDYgKzQ0MSw4IEBAIGFsbCA6
IFwKICAgICBVc2VyQWdlbnRTdHlsZVNoZWV0cy5oIFwKICAgICBYTGlua05hbWVzLmNwcCBcCiAg
ICAgWE1MTmFtZXMuY3BwIFwKKyAgICBNYXRoTUxFbGVtZW50RmFjdG9yeS5jcHAgXAorICAgIE1h
dGhNTE5hbWVzLmNwcCBcCiAgICAgWFBhdGhHcmFtbWFyLmNwcCBcCiAgICAgdG9rZW5pemVyLmNw
cCBcCiAjCkBAIC01ODIsNiArNTg0LDEwIEBAIGlmZXEgKCQoZmluZHN0cmluZyBFTkFCTEVfV01M
LCQoRkVBVFVSRV8KICAgICBVU0VSX0FHRU5UX1NUWUxFX1NIRUVUUyA6PSAkKFVTRVJfQUdFTlRf
U1RZTEVfU0hFRVRTKSAkKFdlYkNvcmUpL2Nzcy93bWwuY3NzCiBlbmRpZgogCitpZmVxICgkKGZp
bmRzdHJpbmcgRU5BQkxFX01BVEhNTCwkKEZFQVRVUkVfREVGSU5FUykpLCBFTkFCTEVfTUFUSE1M
KQorICAgIFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVF
VFMpICQoV2ViQ29yZSkvY3NzL21hdGhtbC5jc3MKK2VuZGlmCisKIGlmZXEgKCQoZmluZHN0cmlu
ZyBFTkFCTEVfVklERU8sJChGRUFUVVJFX0RFRklORVMpKSwgRU5BQkxFX1ZJREVPKQogICAgIFVT
RVJfQUdFTlRfU1RZTEVfU0hFRVRTIDo9ICQoVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMpICQoV2Vi
Q29yZSkvY3NzL21lZGlhQ29udHJvbHMuY3NzCiBpZmVxICgkKE9TKSxNQUNPUykKQEAgLTcyMyw2
ICs3MjksMjYgQEAgV01MTmFtZXMuY3BwIDoKIAogZW5kaWYKIAorIyAtLS0tLS0tLQorIAorIyBN
YXRoTUwgdGFnIGFuZCBhdHRyaWJ1dGUgbmFtZXMsIGFuZCBlbGVtZW50IGZhY3RvcnkKKworaWZl
cSAoJChmaW5kc3RyaW5nIEVOQUJMRV9NQVRITUwsJChGRUFUVVJFX0RFRklORVMpKSwgRU5BQkxF
X01BVEhNTCkKKworTWF0aE1MRWxlbWVudEZhY3RvcnkuY3BwIE1hdGhNTE5hbWVzLmNwcCA6IGRv
bS9tYWtlX25hbWVzLnBsIG1hdGhtbC9tYXRodGFncy5pbgorCXBlcmwgLUkgJChXZWJDb3JlKS9i
aW5kaW5ncy9zY3JpcHRzICQ8IC0tdGFncyAkKFdlYkNvcmUpL21hdGhtbC9tYXRodGFncy5pbiAt
LWZhY3RvcnkgLS13cmFwcGVyRmFjdG9yeQorCitlbHNlCisKK01hdGhNTEVsZW1lbnRGYWN0b3J5
LmNwcCA6CisJZWNobyA+ICRACisKK01hdGhNTE5hbWVzLmNwcCA6CisJZWNobyA+ICRACisKK2Vu
ZGlmCisKKwogCiAjIC0tLS0tLS0tCiAKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA0ODU0MSkKKysrIFdlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00Njc5LDYgKzQ2NzksMTQg
QEAKIAkJRjkxNkM0OEQwREI1MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9ncmVz
c0V2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEY5MTZDNDhCMERCNTEwRjgwMDc2Q0Q4MyAvKiBKU1hNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVu
dC5jcHAgKi87IH07CiAJCUY5MTZDNDhFMERCNTEwRjgwMDc2Q0Q4MyAvKiBKU1hNTEh0dHBSZXF1
ZXN0UHJvZ3Jlc3NFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjkxNkM0OEMwREI1MTBGODAwNzZDRDgzIC8qIEpTWE1MSHR0cFJlcXVlc3RQcm9n
cmVzc0V2ZW50LmggKi87IH07CiAJCUY5RjBFRDdBMERCNTBDQTIwMEQxNkRCOSAvKiBYTUxIdHRw
UmVxdWVzdFByb2dyZXNzRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEY5RjBFRDc3MERCNTBDQTIwMEQxNkRCOSAvKiBYTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnQuaCAqLzsgfTsKKwkJRkFCRTcyRjQxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhN
TEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRkFCRTcyRUQxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnQuY3BwICovOyB9Owor
CQlGQUJFNzJGNTEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MRWxlbWVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRUUxMDU5QzFFQjAwRDk5
OUREIC8qIE1hdGhNTEVsZW1lbnQuaCAqLzsgfTsKKwkJRkFCRTcyRjYxMDU5QzFFQjAwRDk5OURE
IC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRUYxMDU5QzFFQjAwRDk5OUREIC8qIE1h
dGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwICovOyB9OworCQlGQUJFNzJGNzEwNTlDMUVC
MDBEOTk5REQgLyogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRjAxMDU5QzFFQjAwRDk5OURE
IC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCAqLzsgfTsKKwkJRkFCRTcyRjgxMDU5
QzFFQjAwRDk5OUREIC8qIE1hdGhNTE1hdGhFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZBQkU3MkYxMTA1OUMxRUIwMEQ5OTlERCAvKiBN
YXRoTUxNYXRoRWxlbWVudC5jcHAgKi87IH07CisJCUZBQkU3MkY5MTA1OUMxRUIwMEQ5OTlERCAv
KiBNYXRoTUxNYXRoRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRkFCRTcyRjIxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTE1hdGhFbGVtZW50
LmggKi87IH07CisJCUZBQkU3MkZEMTA1OUMyMTEwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50RmFj
dG9yeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
QUJFNzJGQjEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MRWxlbWVudEZhY3RvcnkuY3BwICovOyB9
OworCQlGQUJFNzJGRTEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MTmFtZXMuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRkMxMDU5QzIxMTAw
RDk5OUREIC8qIE1hdGhNTE5hbWVzLmNwcCAqLzsgfTsKIAkJRkU2RkQ0ODgwRjY3NkU1NzAwMDky
ODczIC8qIENvb3JkaW5hdGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGRTZGRDQ4NTBGNjc2RTU3MDAwOTI4NzMgLyogQ29vcmRpbmF0ZXMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGRTZGRDQ4RDBG
Njc2RTkzMDAwOTI4NzMgLyogSlNDb29yZGluYXRlcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRTZGRDQ4QjBGNjc2RTkzMDAwOTI4NzMgLyogSlND
b29yZGluYXRlcy5jcHAgKi87IH07CiAJCUZFNkZENDhFMEY2NzZFOTMwMDA5Mjg3MyAvKiBKU0Nv
b3JkaW5hdGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGRTZGRDQ4QzBGNjc2RTkzMDAwOTI4NzMgLyogSlNDb29yZGluYXRlcy5oICovOyB9OwpAQCAt
OTgxMyw2ICs5ODIxLDE1IEBACiAJCUY5MTZDNDhDMERCNTEwRjgwMDc2Q0Q4MyAvKiBKU1hNTEh0
dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRjlGMEVENzcwREI1MENBMjAwRDE2REI5IC8qIFhNTEh0dHBSZXF1ZXN0UHJvZ3Jl
c3NFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gWE1MSHR0cFJlcXVl
c3RQcm9ncmVzc0V2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY5RjBFRDc4
MERCNTBDQTIwMEQxNkRCOSAvKiBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBYTUxIdHRwUmVxdWVzdFByb2dyZXNzRXZlbnQuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQUJFNzJFRDEwNTlDMUVCMDBEOTk5REQgLyogTWF0
aE1MRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXRo
TUxFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkFCRTcyRUUxMDU5
QzFFQjAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTWF0aE1MRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlG
QUJFNzJFRjEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXRoTUxJbmxpbmVDb250
YWluZXJFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkFCRTcyRjAx
MDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQUJFNzJGMTEwNTlDMUVCMDBEOTk5REQg
LyogTWF0aE1MTWF0aEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTWF0aE1MTWF0aEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlGQUJFNzJGMjEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MTWF0aEVsZW1lbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWF0aE1MTWF0aEVsZW1lbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkFCRTcyRjMxMDU5QzFFQjAwRDk5OUREIC8qIG1hdGh0YWdz
LmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IG1hdGh0YWdzLmluOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlGQUJFNzJGQjEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MRWxlbWVudEZh
Y3RvcnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWF0aE1MRWxl
bWVudEZhY3RvcnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQUJFNzJGQzEw
NTlDMjExMDBEOTk5REQgLyogTWF0aE1MTmFtZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gTWF0aE1MTmFtZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlGRTQ5QkQzMDEwNjE3MTkxMDBEMEUxQUUgLyogV2ViQ29yZS5JbnNwZWN0b3IuZXhwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5leHBvcnRzOyBwYXRoID0gV2ViQ29yZS5JbnNwZWN0b3IuZXhw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGRTQ5RUY5NzBEQzUxNDYyMDA0MjY2RTEg
LyogRGFzaGJvYXJkU3VwcG9ydENTU1Byb3BlcnR5TmFtZXMuaW4gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gRGFzaGJvYXJkU3VwcG9ydENTU1Byb3BlcnR5TmFtZXMuaW47IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUZFNkZENDg1MEY2NzZFNTcwMDA5Mjg3MyAvKiBDb29yZGluYXRlcy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb29yZGluYXRlcy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTg5NSw2ICs5OTEyLDcgQEAKIAkJCQk5M0VFQzFFQzA5
QzI4Nzc3MDBDNTE1RDEgLyogaHRtbCAqLywKIAkJCQkxQzgxQjk0RDBFOTczMkQ5MDAyNjZFMDcg
LyogaW5zcGVjdG9yICovLAogCQkJCUJDQjE2QkZCMDk3OUMzODcwMDQ2Nzc0MSAvKiBsb2FkZXIg
Ki8sCisJCQkJRkFCRTcyRUMxMDU5QzFFQjAwRDk5OUREIC8qIG1hdGhtbCAqLywKIAkJCQkzMzNG
NzAzRDBGQjQ5QzE2MDA4RTEyQTYgLyogbm90aWZpY2F0aW9ucyAqLywKIAkJCQk2NUJGMDIxODA5
NzQ4MDYzMDBDNDMxOTYgLyogcGFnZSAqLywKIAkJCQlCQ0YxQTVCQTA5NzgzMjA5MDA2MUExMjMg
LyogcGxhdGZvcm0gKi8sCkBAIC0xMDgxNyw2ICsxMDgzNSw4IEBACiAJCQkJOTM4RTY1RjAwOUYw
OTg0MDAwOEE0OEVDIC8qIEpTSFRNTEVsZW1lbnRXcmFwcGVyRmFjdG9yeS5oICovLAogCQkJCTg1
NzREMUYxMEFERTYxMjIwMDRDQkExMSAvKiBKU1NWR0VsZW1lbnRXcmFwcGVyRmFjdG9yeS5jcHAg
Ki8sCiAJCQkJODU3NEQxRjIwQURFNjEyMjAwNENCQTExIC8qIEpTU1ZHRWxlbWVudFdyYXBwZXJG
YWN0b3J5LmggKi8sCisJCQkJRkFCRTcyRkIxMDU5QzIxMTAwRDk5OUREIC8qIE1hdGhNTEVsZW1l
bnRGYWN0b3J5LmNwcCAqLywKKwkJCQlGQUJFNzJGQzEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1M
TmFtZXMuY3BwICovLAogCQkJCTY1NjU4MUU2MDlEMTUwOEQwMDBFNjFENyAvKiBTVkdFbGVtZW50
RmFjdG9yeS5jcHAgKi8sCiAJCQkJNjU2NTgxRTcwOUQxNTA4RDAwMEU2MUQ3IC8qIFNWR0VsZW1l
bnRGYWN0b3J5LmggKi8sCiAJCQkJNjU2NTgxRTgwOUQxNTA4RDAwMEU2MUQ3IC8qIFNWR05hbWVz
LmNwcCAqLywKQEAgLTE1NDQ5LDYgKzE1NDY5LDIwIEBACiAJCQl0YWJXaWR0aCA9IDQ7CiAJCQl1
c2VzVGFicyA9IDA7CiAJCX07CisJCUZBQkU3MkVDMTA1OUMxRUIwMEQ5OTlERCAvKiBtYXRobWwg
Ki8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUZBQkU3MkVE
MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50LmNwcCAqLywKKwkJCQlGQUJFNzJFRTEw
NTlDMUVCMDBEOTk5REQgLyogTWF0aE1MRWxlbWVudC5oICovLAorCQkJCUZBQkU3MkVGMTA1OUMx
RUIwMEQ5OTlERCAvKiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNwcCAqLywKKwkJCQlG
QUJFNzJGMDEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5o
ICovLAorCQkJCUZBQkU3MkYxMTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxNYXRoRWxlbWVudC5j
cHAgKi8sCisJCQkJRkFCRTcyRjIxMDU5QzFFQjAwRDk5OUREIC8qIE1hdGhNTE1hdGhFbGVtZW50
LmggKi8sCisJCQkJRkFCRTcyRjMxMDU5QzFFQjAwRDk5OUREIC8qIG1hdGh0YWdzLmluICovLAor
CQkJKTsKKwkJCXBhdGggPSBtYXRobWw7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9
OwogLyogRW5kIFBCWEdyb3VwIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYSGVhZGVyc0J1aWxk
UGhhc2Ugc2VjdGlvbiAqLwpAQCAtMTc4MjYsNiArMTc4NjAsOSBAQAogCQkJCTUxMEQ0QTRGMTAz
MTc3QTIwMDQ5RUE1NCAvKiBXZWJTb2NrZXRDaGFubmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
MTBENEE1MDEwMzE3N0EyMDA0OUVBNTQgLyogV2ViU29ja2V0Q2hhbm5lbENsaWVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTFBQkFFNDUxMDQzQUI0QTAwOEM1MjYwIC8qIFdlYlNvY2tldEhhbmRz
aGFrZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRkFCRTcyRjUxMDU5QzFFQjAwRDk5OUREIC8qIE1h
dGhNTEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUZBQkU3MkY3MTA1OUMxRUIwMEQ5OTlE
RCAvKiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlG
QUJFNzJGOTEwNTlDMUVCMDBEOTk5REQgLyogTWF0aE1MTWF0aEVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTM3MjAyMTk5MTA2MjEzQzYwMEYyNUM0QiAvKiBGb250U21vb3RoaW5nTW9kZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CkBAIC0xOTk1MSw2ICsxOTk4OCwxMSBAQAogCQkJCTUxQTA1MjM0MTA1ODc3NEYw
MENDOUU5NSAvKiBDcmVkZW50aWFsU3RvcmFnZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTBE
NEE0RTEwMzE3N0EyMDA0OUVBNTQgLyogV2ViU29ja2V0Q2hhbm5lbC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk1MUFCQUU0NDEwNDNBQjRBMDA4QzUyNjAgLyogV2ViU29ja2V0SGFuZHNoYWtlLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCUZBQkU3MkY0MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxF
bGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZBQkU3MkY2MTA1OUMxRUIwMEQ5OTlERCAv
KiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZB
QkU3MkY4MTA1OUMxRUIwMEQ5OTlERCAvKiBNYXRoTUxNYXRoRWxlbWVudC5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQlGQUJFNzJGRDEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MRWxlbWVudEZhY3Rv
cnkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkFCRTcyRkUxMDU5QzIxMTAwRDk5OUREIC8qIE1h
dGhNTE5hbWVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQ0U1OEFDMTA2MUU4Q0YwMDhGQjM1
QSAvKiBKU0RhdGFiYXNlQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQ0U1OEFGMTA2
MUU5MEMwMDhGQjM1QSAvKiBKU0RvY3VtZW50RnJhZ21lbnRDdXN0b20uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkpOwpJbmRleDogV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCShyZXZpc2lvbiA0ODU0MSkKKysrIFdlYkNvcmUv
Y3NzL0NTU1BhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxNTAsNyArMjE1MCw3IEBAIFBh
c3NSZWZQdHI8Q1NTVmFsdWU+IENTU1BhcnNlcjo6cGFyc2VBdHQKICAgICBpZiAoYXR0ck5hbWVb
MF0gPT0gJy0nKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIGlmIChkb2N1bWVudCgpLT5pc0hU
TUxEb2N1bWVudCgpKQorICAgIGlmIChkb2N1bWVudCgpICYmIGRvY3VtZW50KCktPmlzSFRNTERv
Y3VtZW50KCkpCiAgICAgICAgIGF0dHJOYW1lID0gYXR0ck5hbWUubG93ZXIoKTsKICAgICAKICAg
ICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShhdHRyTmFtZSwgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19BVFRSKTsKSW5kZXg6IFdlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCShyZXZpc2lv
biA0ODU0MSkKKysrIFdlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMTM5LDYgKzExMzksMTcgQEAgUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gQ1NTU3R5
bGVTZWxlY3RvcgogICAgIH0KICNlbmRpZgogCisjaWYgRU5BQkxFKE1BVEhNTCkKKyAgICBzdGF0
aWMgYm9vbCBsb2FkZWRNYXRoTUxVc2VyQWdlbnRTaGVldDsKKyAgICBpZiAoZS0+aXNNYXRoTUxF
bGVtZW50KCkgJiYgIWxvYWRlZE1hdGhNTFVzZXJBZ2VudFNoZWV0KSB7CisgICAgICAgIC8vIE1h
dGhNTCBydWxlcy4KKyAgICAgICAgbG9hZGVkTWF0aE1MVXNlckFnZW50U2hlZXQgPSB0cnVlOwor
ICAgICAgICBDU1NTdHlsZVNoZWV0KiBtYXRoTUxTaGVldCA9IHBhcnNlVUFTaGVldChtYXRobWxV
c2VyQWdlbnRTdHlsZVNoZWV0LCBzaXplb2YobWF0aG1sVXNlckFnZW50U3R5bGVTaGVldCkpOwor
ICAgICAgICBkZWZhdWx0U3R5bGUtPmFkZFJ1bGVzRnJvbVNoZWV0KG1hdGhNTFNoZWV0LCBzY3Jl
ZW5FdmFsKCkpOworICAgICAgICBkZWZhdWx0UHJpbnRTdHlsZS0+YWRkUnVsZXNGcm9tU2hlZXQo
bWF0aE1MU2hlZXQsIHByaW50RXZhbCgpKTsKKyAgICB9CisjZW5kaWYKKwogI2lmIEVOQUJMRShX
TUwpCiAgICAgc3RhdGljIGJvb2wgbG9hZGVkV01MVXNlckFnZW50U2hlZXQ7CiAgICAgaWYgKGUt
PmlzV01MRWxlbWVudCgpICYmICFsb2FkZWRXTUxVc2VyQWdlbnRTaGVldCkgewpJbmRleDogV2Vi
Q29yZS9jc3MvbWF0aG1sLmNzcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Nzcy9tYXRobWwuY3Nz
CShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9jc3MvbWF0aG1sLmNzcwkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwxNzAgQEAKK0BuYW1lc3BhY2UgImh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9N
YXRoTUwiOworCisvKiBhcHByb3ZlZCAqLworbWF0aCB7CisgICAgZm9udC1mYW1pbHk6IFN5bWJv
bCwgU1RJWEdlbmVyYWwsICJUaW1lcyBOZXcgUm9tYW4iOworICAgIGRpc3BsYXk6IGlubGluZS1i
bG9jazsKKyAgICBwYWRkaW5nOiAwcHg7CisgICAgbWFyZ2luOiAwcHg7CisgICAgdGV4dC1pbmRl
bnQ6IDA7CisgICAgZm9udC1zaXplOiAxLjFlbTsKKyAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxp
bmU7Cit9CittYXRoW2Rpc3BsYXk9ImJsb2NrIl0geworICAgIGZvbnQtZmFtaWx5OiAiTmV3IFRp
bWVzIFJvbWFuIgorICAgIGRpc3BsYXk6IGJsb2NrOworICAgIHRleHQtYWxpZ246IGNlbnRlcjsK
KyAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7Cit9CisKK21mcmFjIHsKKyAgICB2ZXJ0aWNh
bC1hbGlnbjogbWlkZGxlOworfQorCittc3ViLCBtc3VwIHsKKyAgIGRpc3BsYXk6IGlubGluZS1i
bG9jazsKK30KKworbXN1YiA+ICogKyAqIHsKKyAgIHZlcnRpY2FsLWFsaWduOiBzdWI7CisgICBm
b250LXNpemU6IDAuNzVlbTsKKyAgIGxpbmUtaGVpZ2h0OiAwLjc1ZW07Cit9CisKK21zdXAgPiAq
ICsgKiB7CisgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7CisgICBmb250LXNpemU6IDAuNzVlbTsK
KyAgIGxpbmUtaGVpZ2h0OiAwLjc1ZW07Cit9CisKK21zdWJzdXAgPiAqIHsKKyAgICBtYXJnaW46
IDBweDsKKyAgICBwYWRkaW5nOiAwcHg7CisgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKK30K
KworbXN1YnN1cCA+ICogKyAqIHsKKyAgIGZvbnQtc2l6ZTogMC43NWVtOworICAgbGluZS1oZWln
aHQ6IDAuNzVlbTsKK30KKworbXVuZGVyb3ZlciB7CisgICAgdmVydGljYWwtYWxpZ246IG1pZGRs
ZTsKK30KKworbXVuZGVyb3ZlciA+ICogKyAqLCBtb3ZlciA+ICogKyAqLCBtdW5kZXIgPiAqICsg
KiB7CisgICBmb250LXNpemU6IDAuNzVlbTsKKyAgIGxpbmUtaGVpZ2h0OiAwLjU2MjVlbTsKK30K
KworbXJvdyB7CisgICAgbGluZS1oZWlnaHQ6IDFlbTsKKyAgICB3aGl0ZS1zcGFjZTogbm93cmFw
OworICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cit9CisKK21mZW5jZWQgPiAqIHsKKyAgICB2
ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOworfQorCittbywgbW4sIG1pIHsKKyAgIGxpbmUtaGVpZ2h0
OiAwLjc1ZW07CisgICBwYWRkaW5nOiAwcHg7CisgICBtYXJnaW46IDBweDsKK30KKworbW9bbWF0
aHNpemU9InNtYWxsIl0sIG1uW21hdGhzaXplPSJzbWFsbCJdLCBtaVttYXRoc2l6ZT0ic21hbGwi
XSB7CisgICBmb250LXNpemU6IDAuNzVlbTsKKyAgIGxpbmUtaGVpZ2h0OiAwLjU2MjVlbTsKK30K
KworbW9bbWF0aHNpemU9Im5vcm1hbCJdLG1uW21hdGhzaXplPSJub3JtYWwiXSxtaVttYXRoc2l6
ZT0ibm9ybWFsIl0geworICAgZm9udC1zaXplOiAxZW07CisgICBsaW5lLWhlaWdodDogMC43NWVt
OworfQorCittb1ttYXRoc2l6ZT0iYmlnIl0sIG1uW21hdGhzaXplPSJiaWciXSwgbWlbbWF0aHNp
emU9ImJpZyJdIHsKKyAgIGxpbmUtaGVpZ2h0OiAxLjJlbTsKKyAgIGZvbnQtc2l6ZTogMS41ZW07
Cit9CisgCithbm5vdGF0aW9uLCBhbm5vdGF0aW9uLXhtbCB7CisgICAgZGlzcGxheTpub25lOwor
fQorCittcGhhbnRvbSB7CisgICAgdmlzaWJpbGl0eTogaGlkZGVuOworfQorbWVycm9yIHsKKyAg
ICBvdXRsaW5lOiBzb2xpZCB0aGluIHJlZDsKK30KKworbXNxcnQgeworICAgIHBhZGRpbmctdG9w
OiAwLjJlbTsKKyAgICBwYWRkaW5nLWxlZnQ6IDAuNzVlbTsKK30KKworbXJvb3QgeworICAgIHBh
ZGRpbmctdG9wOiAwLjJlbTsKKyAgICBwYWRkaW5nLWxlZnQ6IDAuMmVtOworfQorCittcm9vdCA+
ICogKyAqIHsKKyAgICBmb250LXNpemU6IDAuNzVlbTsKKyAgICBsaW5lLWhlaWdodDogMC43NWVt
OworICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7CisgICAgcGFkZGluZy1yaWdodDogMC4zZW07Cit9
CisKK210YWJsZSB7CisgICAgZGlzcGxheTogaW5saW5lLXRhYmxlOworICAgIGxpbmUtaGVpZ2h0
OiAxLjVlbTsKKyAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CisgICAgdmVydGljYWwtYWxpZ246IG1p
ZGRsZTsKK30KK210ciB7CisgICAgZGlzcGxheTogdGFibGUtcm93OworfQorbXRkIHsKKyAgICBk
aXNwbGF5OiB0YWJsZS1jZWxsOworICAgIHBhZGRpbmc6IDAgMC41ZXg7Cit9CisKK210YWJsZVtj
b2x1bW5hbGlnbj0ibGVmdCJdLCBtdHJbY29sdW1uYWxpZ249ImxlZnQiXSwgbXRkW2NvbHVtbmFs
aWduPSJsZWZ0Il0geworICAgIHRleHQtYWxpZ246IGxlZnQ7Cit9CisKK210YWJsZVtjb2x1bW5h
bGlnbj0icmlnaHQiXSwgbXRyW2NvbHVtbmFsaWduPSJyaWdodCJdLCBtdGRbY29sdW1uYWxpZ249
InJpZ2h0Il0geworICAgIHRleHQtYWxpZ246IHJpZ2h0OworfQorbXRhYmxlW3Jvd2FsaWduPSJ0
b3AiXSBtdGQsIG10YWJsZSBtdHJbcm93YWxpZ249InRvcCJdIG10ZCwgbXRhYmxlIG10ciBtdGRb
cm93YWxpZ249InRvcCJdIHsKKyAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOworfQorbXRhYmxlW3Jv
d2FsaWduPSJib3R0b20iXSBtdGQsIG10YWJsZSBtdHJbcm93YWxpZ249ImJvdHRvbSJdIG10ZCwg
bXRhYmxlIG10ciBtdGRbcm93YWxpZ249ImJvdHRvbSJdIHsKKyAgICB2ZXJ0aWNhbC1hbGlnbjog
Ym90dG9tOworfQorbXRhYmxlW3Jvd2FsaWduPSJjZW50ZXIiXSBtdGQsIG10YWJsZSBtdHJbcm93
YWxpZ249ImNlbnRlciJdIG10ZCwgbXRhYmxlIG10ciBtdGRbcm93YWxpZ249ImNlbnRlciJdIHsK
KyAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOworfQorbXRhYmxlW2ZyYW1lPSJzb2xpZCJdIHsK
KyAgICBib3JkZXI6IHNvbGlkIHRoaW47Cit9CittdGFibGVbZnJhbWU9ImRhc2hlZCJdIHsKKyAg
ICBib3JkZXI6IGRhc2hlZCB0aGluOworfQorbXRhYmxlW3Jvd2xpbmVzPSJzb2xpZCJdLCBtdGFi
bGVbcm93bGluZXM9ImRhc2hlZCJdLCBtdGFibGVbY29sdW1ubGluZXM9InNvbGlkIl0sIG10YWJs
ZVtjb2x1bW5saW5lcz0iZGFzaGVkIl0geworICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7
Cit9CittdGFibGVbcm93bGluZXM9InNvbGlkIl0gPiBtdHIgKyBtdHIgeworICAgIGJvcmRlci10
b3A6IHNvbGlkIHRoaW47Cit9CittdGFibGVbcm93bGluZXM9ImRhc2hlZCJdID4gbXRyICsgbXRy
IHsKKyAgICBib3JkZXItdG9wOiBkYXNoZWQgdGhpbjsKK30KK210YWJsZVtjb2x1bW5saW5lcz0i
c29saWQiXSA+IG10ciA+IG10ZCArIG10ZCB7CisgICAgYm9yZGVyLWxlZnQ6IHNvbGlkIHRoaW47
Cit9CittdGFibGVbY29sdW1ubGluZXM9ImRhc2hlZCJdID4gbXRyID4gbXRkICsgbXRkIHsKKyAg
ICBib3JkZXItbGVmdDogZGFzaGVkIHRoaW47Cit9CisKSW5kZXg6IFdlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9u
IDQ4NTQxKQorKysgV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
NzQsNiArMTc0LDEyIEBACiAjaW5jbHVkZSAiV01MTmFtZXMuaCIKICNlbmRpZgogCisjaWYgRU5B
QkxFKE1BVEhNTCkKKyNpbmNsdWRlICJNYXRoTUxFbGVtZW50LmgiCisjaW5jbHVkZSAiTWF0aE1M
RWxlbWVudEZhY3RvcnkuaCIKKyNpbmNsdWRlICJNYXRoTUxOYW1lcy5oIgorI2VuZGlmCisKICNp
ZiBFTkFCTEUoWEhUTUxNUCkKICNpbmNsdWRlICJIVE1MTm9TY3JpcHRFbGVtZW50LmgiCiAjZW5k
aWYKQEAgLTgwMyw2ICs4MDksMTAgQEAgUGFzc1JlZlB0cjxFbGVtZW50PiBEb2N1bWVudDo6Y3Jl
YXRlRWxlbQogICAgIGVsc2UgaWYgKGlzV01MRG9jdW1lbnQoKSkKICAgICAgICAgZSA9IFdNTEVs
ZW1lbnRGYWN0b3J5OjpjcmVhdGVXTUxFbGVtZW50KFF1YWxpZmllZE5hbWUobnVsbEF0b20sIHFO
YW1lLmxvY2FsTmFtZSgpLCBXTUxOYW1lczo6d21sTmFtZXNwYWNlVVJJKSwgdGhpcywgY3JlYXRl
ZEJ5UGFyc2VyKTsKICNlbmRpZgorI2lmIEVOQUJMRShNQVRITUwpCisgICAgZWxzZSBpZiAocU5h
bWUubmFtZXNwYWNlVVJJKCkgPT0gTWF0aE1MTmFtZXM6Om1hdGhtbE5hbWVzcGFjZVVSSSkKKyAg
ICAgICAgZSA9IE1hdGhNTEVsZW1lbnRGYWN0b3J5OjpjcmVhdGVNYXRoTUxFbGVtZW50KHFOYW1l
LCB0aGlzLCBjcmVhdGVkQnlQYXJzZXIpOworI2VuZGlmCiAgICAgCiAgICAgaWYgKCFlKQogICAg
ICAgICBlID0gRWxlbWVudDo6Y3JlYXRlKHFOYW1lLCBkb2N1bWVudCgpKTsKSW5kZXg6IFdlYkNv
cmUvZG9tL05vZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9Ob2RlLmgJKHJldmlzaW9u
IDQ4NTQxKQorKysgV2ViQ29yZS9kb20vTm9kZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xODMsNiAr
MTgzLDEzIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBpc1dNTEVsZW1lbnQoKSB7IHJldHVy
biBmYWxzZTsgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUFUSE1MKQorICAgIHZpcnR1YWwgYm9v
bCBpc01hdGhNTEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2Vsc2UKKyAgICBz
dGF0aWMgYm9vbCBpc01hdGhNTEVsZW1lbnQoKSB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCisK
KwogICAgIHZpcnR1YWwgYm9vbCBpc01lZGlhQ29udHJvbEVsZW1lbnQoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1N0eWxlZEVsZW1lbnQoKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0ZyYW1lT3duZXJFbGVtZW50KCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KSW5kZXg6IFdlYkNvcmUvbWF0aG1sL01hdGhNTEVsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbWF0aG1sL01hdGhNTEVsZW1lbnQuY3BwCShyZXZp
c2lvbiAwKQorKysgV2ViQ29yZS9tYXRobWwvTWF0aE1MRWxlbWVudC5jcHAJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDA5IEFsZXggTWlsb3dz
a2kgKGFsZXhAbWlsb3dza2kuY29tKS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIAorICogIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqICAKKyAqICBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCisgKiAgCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZQorICogIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLAorICogIEJvc3Rv
biwgTUEgIDAyMTEwLTEzMDEsIFVTQS4gCisgKiAgCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorCisjaWYgRU5BQkxFKE1BVEhNTCkKKworI2luY2x1ZGUgIk1hdGhNTEVsZW1lbnQuaCIKKwor
I2luY2x1ZGUgIk1hdGhNTE5hbWVzLmgiCisjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKyAgICAKK3VzaW5nIG5hbWVzcGFjZSBNYXRoTUxOYW1lczsKKyAg
ICAKK01hdGhNTEVsZW1lbnQ6Ok1hdGhNTEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFn
TmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQorICAgIDogU3R5bGVkRWxlbWVudCh0YWdOYW1lLCBk
b2N1bWVudCwgQ3JlYXRlRWxlbWVudFplcm9SZWZDb3VudCkKK3sKK30KKyAgICAKK1Bhc3NSZWZQ
dHI8TWF0aE1MRWxlbWVudD4gTWF0aE1MRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKK3sKKyAgICByZXR1cm4gbmV3IE1hdGhN
TEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQpOworfQorCitSZW5kZXJPYmplY3QqIE1hdGhNTEVs
ZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqIHN0eWxlKQor
eworICAgIHJldHVybiBSZW5kZXJPYmplY3Q6OmNyZWF0ZU9iamVjdCh0aGlzLCBzdHlsZSk7Cit9
CisgICAgCisgICAgCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQpJbmRleDogV2ViQ29y
ZS9tYXRobWwvTWF0aE1MRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbWF0aG1sL01h
dGhNTEVsZW1lbnQuaAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvbWF0aG1sL01hdGhNTEVsZW1l
bnQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqICBDb3B5cmlnaHQgKEMp
IDIwMDkgQWxleCBNaWxvd3NraSAoYWxleEBtaWxvd3NraS5jb20pLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICogIAor
ICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg
YmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqICAKKyAqICBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICog
IExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlCisg
KiAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGgg
Rmxvb3IsCisgKiAgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwgVVNBLiAKKyAqICAKKyAqLworCisj
aWZuZGVmIE1hdGhNTEVsZW1lbnRfaAorI2RlZmluZSBNYXRoTUxFbGVtZW50X2gKKworI2lmIEVO
QUJMRShNQVRITUwpCisjaW5jbHVkZSAiU3R5bGVkRWxlbWVudC5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisgICAgCitjbGFzcyBNYXRoTUxFbGVtZW50IDogcHVibGljIFN0eWxlZEVsZW1lbnQg
eworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1hdGhNTEVsZW1lbnQ+IGNyZWF0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCopOworICAgIAorICAgIHZpcnR1
YWwgYm9vbCBpc01hdGhNTEVsZW1lbnQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisgICAgCisg
ICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVu
ZGVyU3R5bGUqKTsKKyAgICAKK3Byb3RlY3RlZDoKKyAgICBNYXRoTUxFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Kik7CisgICAgCit9OworICAgIAorfQorCisj
ZW5kaWYgLy8gRU5BQkxFKE1BVEhNTCkKKyNlbmRpZiAvLyBNYXRoTUxFbGVtZW50X2gKSW5kZXg6
IFdlYkNvcmUvbWF0aG1sL01hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvbWF0aG1sL01hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuY3BwCShy
ZXZpc2lvbiAwKQorKysgV2ViQ29yZS9tYXRobWwvTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVu
dC5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChD
KSAyMDA5IEFsZXggTWlsb3dza2kgKGFsZXhAbWlsb3dza2kuY29tKS4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIAorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqICAK
KyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0
aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKiAgCisgKiAgWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAq
ICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZQor
ICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRo
IEZsb29yLAorICogIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4gCisgKiAgCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKE1BVEhNTCkKKworI2luY2x1ZGUgIk1h
dGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCIKKworI2luY2x1ZGUgIk1hdGhNTE5hbWVzLmgi
CisjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICAK
K3VzaW5nIG5hbWVzcGFjZSBNYXRoTUxOYW1lczsKKworTWF0aE1MSW5saW5lQ29udGFpbmVyRWxl
bWVudDo6TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0
YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCisgICAgOiBNYXRoTUxFbGVtZW50KHRhZ05hbWUs
IGRvY3VtZW50KQoreworfQorCitQYXNzUmVmUHRyPE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1l
bnQ+IE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCit7CisgICAgcmV0dXJuIG5ldyBNYXRo
TUxJbmxpbmVDb250YWluZXJFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KTsKK30KKworUmVuZGVy
T2JqZWN0KiBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50OjpjcmVhdGVSZW5kZXJlcihSZW5k
ZXJBcmVuYSAqLCBSZW5kZXJTdHlsZSogc3R5bGUpCit7CisgICAgLy8gRklYTUU6IFRoaXMgbWV0
aG9kIHdpbGwgY29udGFpbiB0aGUgc3BlY2lhbGl6ZWQgcmVuZGVyZXJzIGJhc2VkIG9uIGVsZW1l
bnQgbmFtZQorICAgIHJldHVybiBSZW5kZXJPYmplY3Q6OmNyZWF0ZU9iamVjdCh0aGlzLCBzdHls
ZSk7Cit9CisgICAgCisgICAgCit9CisKKyNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQorCkluZGV4
OiBXZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9tYXRobWwvTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5oCShyZXZp
c2lvbiAwKQorKysgV2ViQ29yZS9tYXRobWwvTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5o
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQzIEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAw
OSBBbGV4IE1pbG93c2tpIChhbGV4QG1pbG93c2tpLmNvbSkuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiAKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiAgCisgKiAg
VGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICogIAorICogIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiAgTGlj
ZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUKKyAqICBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9v
ciwKKyAqICBCb3N0b24sIE1BICAwMjExMC0xMzAxLCBVU0EuIAorICogIAorICovCisKKyNpZm5k
ZWYgTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudF9oCisjZGVmaW5lIE1hdGhNTElubGluZUNv
bnRhaW5lckVsZW1lbnRfaAorCisjaWYgRU5BQkxFKE1BVEhNTCkKKyNpbmNsdWRlICJNYXRoTUxF
bGVtZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICAKK2NsYXNzIE1hdGhNTElubGlu
ZUNvbnRhaW5lckVsZW1lbnQgOiBwdWJsaWMgTWF0aE1MRWxlbWVudCB7CitwdWJsaWM6CisgICAg
c3RhdGljIFBhc3NSZWZQdHI8TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudD4gY3JlYXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Kik7CisKKyAgICB2aXJ0dWFsIFJl
bmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopOwor
Citwcm90ZWN0ZWQ6CisgICAgTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCopOworCit9OworICAgIAorfQorCisjZW5kaWYg
Ly8gRU5BQkxFKE1BVEhNTCkKKyNlbmRpZiAvLyBNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50
X2gKSW5kZXg6IFdlYkNvcmUvbWF0aG1sL01hdGhNTE1hdGhFbGVtZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL21hdGhtbC9NYXRoTUxNYXRoRWxlbWVudC5jcHAJKHJldmlzaW9uIDApCisr
KyBXZWJDb3JlL21hdGhtbC9NYXRoTUxNYXRoRWxlbWVudC5jcHAJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsNDYgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDA5IEFsZXggTWlsb3dza2kgKGFs
ZXhAbWlsb3dza2kuY29tKS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIAorICogIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAq
ICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqICAKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor
ICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCisgKiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKiAgCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhp
cyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZQorICogIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEg
IDAyMTEwLTEzMDEsIFVTQS4gCisgKiAgCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisj
aWYgRU5BQkxFKE1BVEhNTCkKKworI2luY2x1ZGUgIk1hdGhNTE1hdGhFbGVtZW50LmgiCisKKyNp
bmNsdWRlICJNYXRoTUxOYW1lcy5oIgorI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisgICAgCit1c2luZyBuYW1lc3BhY2UgTWF0aE1MTmFtZXM7CisKK01h
dGhNTE1hdGhFbGVtZW50OjpNYXRoTUxNYXRoRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0
YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCisgICAgOiBNYXRoTUxJbmxpbmVDb250YWluZXJF
bGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KQoreworfQorCitQYXNzUmVmUHRyPE1hdGhNTE1hdGhF
bGVtZW50PiBNYXRoTUxNYXRoRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRh
Z05hbWUsIERvY3VtZW50KiBkb2N1bWVudCkKK3sKKyAgICByZXR1cm4gbmV3IE1hdGhNTE1hdGhF
bGVtZW50KHRhZ05hbWUsIGRvY3VtZW50KTsKK30KKworfQorCisjZW5kaWYgLy8gRU5BQkxFKE1B
VEhNTCkKSW5kZXg6IFdlYkNvcmUvbWF0aG1sL01hdGhNTE1hdGhFbGVtZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9tYXRobWwvTWF0aE1MTWF0aEVsZW1lbnQuaAkocmV2aXNpb24gMCkKKysr
IFdlYkNvcmUvbWF0aG1sL01hdGhNTE1hdGhFbGVtZW50LmgJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsNDEgQEAKKy8qCisgKiAgQ29weXJpZ2h0IChDKSAyMDA5IEFsZXggTWlsb3dza2kgKGFsZXhA
bWlsb3dza2kuY29tKS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIAorICogIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqICAKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICog
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCisgKiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCisgKiAgCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZQorICogIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgIDAy
MTEwLTEzMDEsIFVTQS4gCisgKiAgCisgKi8KKworI2lmbmRlZiBNYXRoTUxNYXRoRWxlbWVudF9o
CisjZGVmaW5lIE1hdGhNTE1hdGhFbGVtZW50X2gKKworI2lmIEVOQUJMRShNQVRITUwpCisjaW5j
bHVkZSAiTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisgICAgCitjbGFzcyBNYXRoTUxNYXRoRWxlbWVudCA6IHB1YmxpYyBNYXRoTUxJbmxpbmVD
b250YWluZXJFbGVtZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNYXRoTUxN
YXRoRWxlbWVudD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50
Kik7CisgICAgCitwcm90ZWN0ZWQ6CisgICAgTWF0aE1MTWF0aEVsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKKyAgICAKK307CisgICAgCit9CisKKyNlbmRp
ZiAvLyBFTkFCTEUoTUFUSE1MKQorI2VuZGlmIC8vIE1hdGhNTE1hdGhFbGVtZW50X2gKSW5kZXg6
IFdlYkNvcmUvbWF0aG1sL21hdGh0YWdzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbWF0aG1s
L21hdGh0YWdzLmluCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9tYXRobWwvbWF0aHRhZ3MuaW4J
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjEgQEAKK25hbWVzcGFjZT0iTWF0aE1MIgorbmFtZXNw
YWNlVVJJPSJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIgorZ3VhcmRGYWN0b3J5
V2l0aD0iRU5BQkxFKE1BVEhNTCkiCitleHBvcnRTdHJpbmdzCisKK21hdGgKK21mcmFjIGludGVy
ZmFjZU5hbWU9TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudAorbWZlbmNlZCBpbnRlcmZhY2VO
YW1lPU1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQKK21zdWJzdXAgaW50ZXJmYWNlTmFtZT1N
YXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50Cittcm93IGludGVyZmFjZU5hbWU9TWF0aE1MSW5s
aW5lQ29udGFpbmVyRWxlbWVudAorbW92ZXIgaW50ZXJmYWNlTmFtZT1NYXRoTUxJbmxpbmVDb250
YWluZXJFbGVtZW50CittdW5kZXIgaW50ZXJmYWNlTmFtZT1NYXRoTUxJbmxpbmVDb250YWluZXJF
bGVtZW50CittdW5kZXJvdmVyIGludGVyZmFjZU5hbWU9TWF0aE1MSW5saW5lQ29udGFpbmVyRWxl
bWVudAorbXNxcnQgaW50ZXJmYWNlTmFtZT1NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50Citt
cm9vdCBpbnRlcmZhY2VOYW1lPU1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQKK21pIGludGVy
ZmFjZU5hbWU9TWF0aE1MRWxlbWVudCwgY3JlYXRlV2l0aE5ldworbW4gaW50ZXJmYWNlTmFtZT1N
YXRoTUxFbGVtZW50LCBjcmVhdGVXaXRoTmV3CittbyBpbnRlcmZhY2VOYW1lPU1hdGhNTEVsZW1l
bnQsIGNyZWF0ZVdpdGhOZXcKK21zdWIgaW50ZXJmYWNlTmFtZT1NYXRoTUxFbGVtZW50LCBjcmVh
dGVXaXRoTmV3Cittc3VwIGludGVyZmFjZU5hbWU9TWF0aE1MRWxlbWVudCwgY3JlYXRlV2l0aE5l
dworCkluZGV4OiBXZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGFnZS9GcmFtZS5jcHAJKHJldmlzaW9uIDQ4NTQxKQorKysgV2ViQ29yZS9wYWdlL0ZyYW1lLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtOTcsNiArOTcsMTAgQEAKICNpbmNsdWRlICJXTUxOYW1lcy5o
IgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoTUFUSE1MKQorI2luY2x1ZGUgIk1hdGhNTE5hbWVzLmgi
CisjZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpA
QCAtMTUyLDYgKzE1NiwxMCBAQCBGcmFtZTo6RnJhbWUoUGFnZSogcGFnZSwgSFRNTEZyYW1lT3du
ZXJFCiAgICAgV01MTmFtZXM6OmluaXQoKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKE1BVEhNTCkK
KyAgICBNYXRoTUxOYW1lczo6aW5pdCgpOworI2VuZGlmCisKICAgICBYTUxOYW1lczo6aW5pdCgp
OwogCiAgICAgaWYgKCFvd25lckVsZW1lbnQpCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA0ODU0MSkKKysr
IExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisy
MDA5LTA5LTE4ICBBbGV4IE1pbG93c2tpICA8YWxleEBtaWxvd3NraS5jb20+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQmFzaWMgdGVzdHMgZm9yIG1z
dWIsIG1zdXAsIGFuZCBtdGFibGUvbXRyL210ZAorCisgICAgICAgICogbWF0aG1sOiBBZGRlZC4K
KyAgICAgICAgKiBtYXRobWwvcHJlc2VudGF0aW9uOiBBZGRlZC4KKyAgICAgICAgKiBtYXRobWwv
cHJlc2VudGF0aW9uL3N1Yi54aHRtbDogQWRkZWQuCisgICAgICAgICogbWF0aG1sL3ByZXNlbnRh
dGlvbi9zdXAueGh0bWw6IEFkZGVkLgorICAgICAgICAqIG1hdGhtbC9wcmVzZW50YXRpb24vdGFi
bGVzLnhodG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvbWF0aG1sOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvbWF0aG1sL3ByZXNlbnRhdGlvbjogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vbWFjL21hdGhtbC9wcmVzZW50YXRpb24vc3ViLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL21hdGhtbC9wcmVzZW50YXRpb24vc3VwLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL21hdGhtbC9wcmVzZW50
YXRpb24vdGFibGVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMDktMDktMTggIEJyYWR5IEVp
ZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQ
cm9za3VyeWFrb3YuCkluZGV4OiBMYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL3N1Yi54
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL3N1Yi54
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vc3Vi
LnhodG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEyIEBACis8aHRtbCB4bWxucz0naHR0cDov
L3d3dy53My5vcmcvMTk5OS94aHRtbCc+Cis8aGVhZD4KKzx0aXRsZT5TdWJzY3JpcHRzPC90aXRs
ZT4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9J3QxJz5zdWJzY3JpcHQ6IAorPG1hdGggeG1sbnM9
J2h0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwnPgorPG1zdWI+PG1pPng8L21pPjxt
bj4xPC9tbj48L21zdWI+Cis8L21hdGg+Cis8L3A+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBM
YXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL3N1cC54aHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL3N1cC54aHRtbAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vc3VwLnhodG1sCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDEyIEBACis8aHRtbCB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRt
bCc+Cis8aGVhZD4KKzx0aXRsZT5TdXBlcnNjcmlwdHM8L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0ndDEnPnN1cGVyc2NyaXB0OiAKKzxtYXRoIHhtbG5zPSdodHRwOi8vd3d3LnczLm9y
Zy8xOTk4L01hdGgvTWF0aE1MJz4KKzxtc3VwPjxtaT54PC9taT48bW4+MjwvbW4+PC9tc3VwPgor
PC9tYXRoPgorPC9wPgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvbWF0aG1s
L3ByZXNlbnRhdGlvbi90YWJsZXMueGh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvbWF0
aG1sL3ByZXNlbnRhdGlvbi90YWJsZXMueGh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9tYXRobWwvcHJlc2VudGF0aW9uL3RhYmxlcy54aHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwyOCBAQAorPGh0bWwgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnPgorPGhl
YWQ+Cis8dGl0bGU+dGFibGVzPC90aXRsZT4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9J3QxJz5z
aW1wbGU6IAorPG1hdGggeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwn
PgorPG10YWJsZT4KKzxtdHI+Cis8bXRkPjxtc3ViPjxtaT5hPC9taT48bW4+MTE8L21uPjwvbXN1
Yj48L210ZD4KKzxtdGQ+PG1zdWI+PG1pPmE8L21pPjxtbj4xMjwvbW4+PC9tc3ViPjwvbXRkPgor
PG10ZD48bXN1Yj48bWk+YTwvbWk+PG1uPjEzPC9tbj48L21zdWI+PC9tdGQ+Cis8L210cj4KKzxt
dHI+Cis8bXRkPjxtc3ViPjxtaT5iPC9taT48bW4+MjE8L21uPjwvbXN1Yj48L210ZD4KKzxtdGQ+
PG1zdWI+PG1pPmI8L21pPjxtbj4yMjwvbW4+PC9tc3ViPjwvbXRkPgorPG10ZD48bXN1Yj48bWk+
YjwvbWk+PG1uPjIzPC9tbj48L21zdWI+PC9tdGQ+Cis8L210cj4KKzxtdHI+Cis8bXRkPjxtc3Vi
PjxtaT5jPC9taT48bW4+MzE8L21uPjwvbXN1Yj48L210ZD4KKzxtdGQ+PG1zdWI+PG1pPmM8L21p
Pjxtbj4zMjwvbW4+PC9tc3ViPjwvbXRkPgorPG10ZD48bXN1Yj48bWk+YzwvbWk+PG1uPjMzPC9t
bj48L21zdWI+PC9tdGQ+Cis8L210cj4KKzwvbXRhYmxlPgorPC9tYXRoPgorPC9wPgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL21hdGhtbC9wcmVzZW50
YXRpb24vc3ViLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvbWF0aG1sL3ByZXNlbnRhdGlvbi9zdWItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL21hdGhtbC9wcmVzZW50YXRpb24vc3ViLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxOCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg1MgorICBSZW5kZXJCbG9jayB7aHRtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4
NTIKKyAgICBSZW5kZXJCb2R5IHtib2R5fSBhdCAoOCwxNikgc2l6ZSA3ODR4MjAKKyAgICAgIFJl
bmRlckJsb2NrIHtwfSBhdCAoMCwwKSBzaXplIDc4NHgyMAorICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSA2NHgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDY0OiAic3Vic2NyaXB0OiAiCisgICAgICAgIFJlbmRlckJsb2NrIHttYXRofSBhdCAoNjQs
MSkgc2l6ZSAxNngxOQorICAgICAgICAgIFJlbmRlckJsb2NrIHttc3VifSBhdCAoMCwwKSBzaXpl
IDE2eDE5CisgICAgICAgICAgICBSZW5kZXJJbmxpbmUge21pfSBhdCAoMCwwKSBzaXplIDl4MTgK
KyAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgOXgxOAorICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDk6ICJ4IgorICAgICAgICAgICAg
UmVuZGVySW5saW5lIHttbn0gYXQgKDAsMCkgc2l6ZSA3eDEzCisgICAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoOSw4KSBzaXplIDd4MTMKKyAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoOSw4KSB3aWR0aCA3OiAiMSIKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAweDAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWF0aG1sL3ByZXNlbnRhdGlvbi9z
dXAtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9t
YXRobWwvcHJlc2VudGF0aW9uL3N1cC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWF0aG1sL3ByZXNlbnRhdGlvbi9zdXAtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE4IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDUxCisgIFJlbmRlckJsb2NrIHtodG1sfSBhdCAoMCwwKSBzaXplIDgwMHg1MQorICAg
IFJlbmRlckJvZHkge2JvZHl9IGF0ICg4LDE2KSBzaXplIDc4NHgxOQorICAgICAgUmVuZGVyQmxv
Y2sge3B9IGF0ICgwLDApIHNpemUgNzg0eDE5CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDc2eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNzY6
ICJzdXBlcnNjcmlwdDogIgorICAgICAgICBSZW5kZXJCbG9jayB7bWF0aH0gYXQgKDc2LDApIHNp
emUgMTZ4MTkKKyAgICAgICAgICBSZW5kZXJCbG9jayB7bXN1cH0gYXQgKDAsMCkgc2l6ZSAxNngx
OQorICAgICAgICAgICAgUmVuZGVySW5saW5lIHttaX0gYXQgKDAsMCkgc2l6ZSA5eDE4CisgICAg
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDl4MTgKKyAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0aCA5OiAieCIKKyAgICAgICAgICAgIFJlbmRl
cklubGluZSB7bW59IGF0ICgwLDApIHNpemUgN3gxMworICAgICAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDksLTIpIHNpemUgN3gxMworICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICg5LC0yKSB3aWR0aCA3OiAiMiIKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAweDAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgw
CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWF0aG1sL3ByZXNlbnRhdGlvbi90YWJs
ZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9t
YXRobWwvcHJlc2VudGF0aW9uL3RhYmxlcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvbWF0aG1sL3ByZXNlbnRhdGlvbi90YWJsZXMtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDg4IEBACitsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgw
LDApIHNpemUgODAweDExMAorICBSZW5kZXJCbG9jayB7aHRtbH0gYXQgKDAsMCkgc2l6ZSA4MDB4
MTEwCisgICAgUmVuZGVyQm9keSB7Ym9keX0gYXQgKDgsMTYpIHNpemUgNzg0eDc4CisgICAgICBS
ZW5kZXJCbG9jayB7cH0gYXQgKDAsMCkgc2l6ZSA3ODR4NzgKKyAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDI5KSBzaXplIDQ5eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMjkp
IHdpZHRoIDQ5OiAic2ltcGxlOiAiCisgICAgICAgIFJlbmRlckJsb2NrIHttYXRofSBhdCAoNDks
MCkgc2l6ZSA5M3g3OAorICAgICAgICAgIFJlbmRlclRhYmxlIHttdGFibGV9IGF0ICgwLDApIHNp
emUgOTN4NzgKKyAgICAgICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbiAoYW5vbnltb3VzKSBhdCAo
MCwwKSBzaXplIDkzeDc4CisgICAgICAgICAgICAgIFJlbmRlclRhYmxlUm93IHttdHJ9IGF0ICgw
LDApIHNpemUgOTN4MjYKKyAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge210ZH0gYXQg
KDAsMCkgc2l6ZSAzMXgyNiBbcj0wIGM9MCBycz0xIGNzPTFdCisgICAgICAgICAgICAgICAgICBS
ZW5kZXJCbG9jayB7bXN1Yn0gYXQgKDQsMCkgc2l6ZSAyMngyNgorICAgICAgICAgICAgICAgICAg
ICBSZW5kZXJJbmxpbmUge21pfSBhdCAoMCwwKSBzaXplIDh4MTgKKyAgICAgICAgICAgICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNCkgc2l6ZSA4eDE4CisgICAgICAgICAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw0KSB3aWR0aCA4OiAiYSIKKyAgICAgICAgICAgICAg
ICAgICAgUmVuZGVySW5saW5lIHttbn0gYXQgKDAsMCkgc2l6ZSAxNHgxMworICAgICAgICAgICAg
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoOCwxMikgc2l6ZSAxNHgxMworICAgICAg
ICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDgsMTIpIHdpZHRoIDE0OiAiMTEiCisgICAg
ICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHttdGR9IGF0ICgzMSwwKSBzaXplIDMxeDI2IFty
PTAgYz0xIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHttc3VifSBh
dCAoNCwwKSBzaXplIDIyeDI2CisgICAgICAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7bWl9
IGF0ICgwLDApIHNpemUgOHgxOAorICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCw0KSBzaXplIDh4MTgKKyAgICAgICAgICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDQpIHdpZHRoIDg6ICJhIgorICAgICAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUg
e21ufSBhdCAoMCwwKSBzaXplIDE0eDEzCisgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICg4LDEyKSBzaXplIDE0eDEzCisgICAgICAgICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoOCwxMikgd2lkdGggMTQ6ICIxMiIKKyAgICAgICAgICAgICAgICBSZW5kZXJU
YWJsZUNlbGwge210ZH0gYXQgKDYyLDApIHNpemUgMzF4MjYgW3I9MCBjPTIgcnM9MSBjcz0xXQor
ICAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge21zdWJ9IGF0ICg0LDApIHNpemUgMjJ4MjYK
KyAgICAgICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHttaX0gYXQgKDAsMCkgc2l6ZSA4eDE4
CisgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDQpIHNpemUg
OHgxOAorICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNCkgd2lkdGggODog
ImEiCisgICAgICAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7bW59IGF0ICgwLDApIHNpemUg
MTR4MTMKKyAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDgsMTIp
IHNpemUgMTR4MTMKKyAgICAgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg4LDEyKSB3
aWR0aCAxNDogIjEzIgorICAgICAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7bXRyfSBhdCAoMCwy
Nikgc2l6ZSA5M3gyNgorICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7bXRkfSBhdCAo
MCwyNikgc2l6ZSAzMXgyNiBbcj0xIGM9MCBycz0xIGNzPTFdCisgICAgICAgICAgICAgICAgICBS
ZW5kZXJCbG9jayB7bXN1Yn0gYXQgKDQsMCkgc2l6ZSAyM3gyNgorICAgICAgICAgICAgICAgICAg
ICBSZW5kZXJJbmxpbmUge21pfSBhdCAoMCwwKSBzaXplIDl4MTgKKyAgICAgICAgICAgICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNCkgc2l6ZSA5eDE4CisgICAgICAgICAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw0KSB3aWR0aCA5OiAiYiIKKyAgICAgICAgICAgICAg
ICAgICAgUmVuZGVySW5saW5lIHttbn0gYXQgKDAsMCkgc2l6ZSAxNHgxMworICAgICAgICAgICAg
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoOSwxMikgc2l6ZSAxNHgxMworICAgICAg
ICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDksMTIpIHdpZHRoIDE0OiAiMjEiCisgICAg
ICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHttdGR9IGF0ICgzMSwyNikgc2l6ZSAzMXgyNiBb
cj0xIGM9MSBycz0xIGNzPTFdCisgICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7bXN1Yn0g
YXQgKDQsMCkgc2l6ZSAyM3gyNgorICAgICAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge21p
fSBhdCAoMCwwKSBzaXplIDl4MTgKKyAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsNCkgc2l6ZSA5eDE4CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCw0KSB3aWR0aCA5OiAiYiIKKyAgICAgICAgICAgICAgICAgICAgUmVuZGVySW5saW5l
IHttbn0gYXQgKDAsMCkgc2l6ZSAxNHgxMworICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoOSwxMikgc2l6ZSAxNHgxMworICAgICAgICAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDksMTIpIHdpZHRoIDE0OiAiMjIiCisgICAgICAgICAgICAgICAgUmVuZGVy
VGFibGVDZWxsIHttdGR9IGF0ICg2MiwyNikgc2l6ZSAzMXgyNiBbcj0xIGM9MiBycz0xIGNzPTFd
CisgICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7bXN1Yn0gYXQgKDQsMCkgc2l6ZSAyM3gy
NgorICAgICAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge21pfSBhdCAoMCwwKSBzaXplIDl4
MTgKKyAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNCkgc2l6
ZSA5eDE4CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw0KSB3aWR0aCA5
OiAiYiIKKyAgICAgICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHttbn0gYXQgKDAsMCkgc2l6
ZSAxNHgxMworICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoOSwx
Mikgc2l6ZSAxNHgxMworICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDksMTIp
IHdpZHRoIDE0OiAiMjMiCisgICAgICAgICAgICAgIFJlbmRlclRhYmxlUm93IHttdHJ9IGF0ICgw
LDUyKSBzaXplIDkzeDI2CisgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHttdGR9IGF0
ICgwLDUyKSBzaXplIDMxeDI2IFtyPTIgYz0wIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgICAg
IFJlbmRlckJsb2NrIHttc3VifSBhdCAoNCwwKSBzaXplIDIyeDI2CisgICAgICAgICAgICAgICAg
ICAgIFJlbmRlcklubGluZSB7bWl9IGF0ICgwLDApIHNpemUgOHgxOAorICAgICAgICAgICAgICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw0KSBzaXplIDh4MTgKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDQpIHdpZHRoIDg6ICJjIgorICAgICAgICAgICAg
ICAgICAgICBSZW5kZXJJbmxpbmUge21ufSBhdCAoMCwwKSBzaXplIDE0eDEzCisgICAgICAgICAg
ICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg4LDEyKSBzaXplIDE0eDEzCisgICAg
ICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOCwxMikgd2lkdGggMTQ6ICIzMSIKKyAg
ICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge210ZH0gYXQgKDMxLDUyKSBzaXplIDMxeDI2
IFtyPTIgYz0xIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHttc3Vi
fSBhdCAoNCwwKSBzaXplIDIyeDI2CisgICAgICAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7
bWl9IGF0ICgwLDApIHNpemUgOHgxOAorICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCw0KSBzaXplIDh4MTgKKyAgICAgICAgICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDQpIHdpZHRoIDg6ICJjIgorICAgICAgICAgICAgICAgICAgICBSZW5kZXJJbmxp
bmUge21ufSBhdCAoMCwwKSBzaXplIDE0eDEzCisgICAgICAgICAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICg4LDEyKSBzaXplIDE0eDEzCisgICAgICAgICAgICAgICAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoOCwxMikgd2lkdGggMTQ6ICIzMiIKKyAgICAgICAgICAgICAgICBSZW5k
ZXJUYWJsZUNlbGwge210ZH0gYXQgKDYyLDUyKSBzaXplIDMxeDI2IFtyPTIgYz0yIHJzPTEgY3M9
MV0KKyAgICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHttc3VifSBhdCAoNCwwKSBzaXplIDIy
eDI2CisgICAgICAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7bWl9IGF0ICgwLDApIHNpemUg
OHgxOAorICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw0KSBz
aXplIDh4MTgKKyAgICAgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDQpIHdpZHRo
IDg6ICJjIgorICAgICAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge21ufSBhdCAoMCwwKSBz
aXplIDE0eDEzCisgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg4
LDEyKSBzaXplIDE0eDEzCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOCwx
Mikgd2lkdGggMTQ6ICIzMyIKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAweDAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>